/[gxemul]/trunk/TODO
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/TODO

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 12 by dpavlin, Mon Oct 8 16:18:38 2007 UTC revision 18 by dpavlin, Mon Oct 8 16:19:11 2007 UTC
# Line 1  Line 1 
1  $Id: TODO,v 1.166 2005/08/16 05:44:33 debug Exp $  $Id: TODO,v 1.175 2005/10/23 14:24:09 debug Exp $
2    
3  ===============================================================================  ===============================================================================
4    
5  High priority stuff:  High priority stuff:
6    
7    
8  MIPS bintrans:  Old MIPS bintrans:
         x)  call/return address cache?  
9    
10  dyntrans:          x)  call/return address cache?
         x)  memory write protection for ARM, but NOT for Alpha (because  
                 it has the IMB instruction... hm)  
11    
12          x)  call/return address cache          x)  Turn the MIPS cpu family stuff into dyntrans.
13    
         x)  instr_call sequence analysis support? (Useful for  
                 handtuning combinations.)  
14    
15          x)  opcode statistics support?  Dyntrans:
                 TODO: is instr_call statistics enough?  
16    
17          x)  support for archs that allow transparent unaligned load/stores          x)  Separate data and instruction translations?
18    
19          x)  SMP: detect when an instruction such as ll/sc or cas is used,          x)  Generalize the inline quick_pc_to_pointers?
             and "synchronize" approximately the number of executed instructions  
             (or cycles) across all CPUs.  
20    
21          x)  support for variable-length instructions (x86, m68k, ...)          x)  Call/return hints...
                 Perhaps:  don't increase the next_ic between every  
                 instruction, but let each instruction's handler do  
                 that for itself.  
                 Problem: what about instructions crossing a (virtual)  
                         page boundary? They cannot be translated once  
                         and for all :( and must be interpreted slowly!  
22    
23          x)  support for THUMB or MIPS16  (arm, mips)          x)  More 64-bit stuff.
24    
25          x)  support for Delay slots!  (mips, sparc, hppa)          x)  Lots of other stuff: see src/cpus/README_DYNTRANS
26    
         x)  Alpha: hahaha, zapnot and inserts/extracts don't  
             compile into very nice code :-|  fix this  
27    
28          x)  64-bit virtual memory translation tables (PPC, etc)  Userland emulation:
29    
30          x)  x86: convert to dyntrans. LOTS of stuff to consider.          x)  Lots of stuff.
31    
32            x)  Dynamic linking? Hm.
33    
34  ===============================================================================  ===============================================================================
35    
# Line 131  Lower priority, but still important: Line 116  Lower priority, but still important:
116          Debugger:          Debugger:
117                  o)  Read function argument count and types from binaries? (ELF?)                  o)  Read function argument count and types from binaries? (ELF?)
118                  o)  Demangle C++ names.                  o)  Demangle C++ names.
119                    o)  see src/debugger.c for more stuff
120    
121          Userland ABI emulation:          Userland ABI emulation:
122                  o)  see src/useremul.c                  o)  see src/useremul.c
123    
         Terminal based interactive debugger:  
                 o)  see src/debugger.c  
   
124          Terminal/console stuff:          Terminal/console stuff:
125                  o)  allow emulated serial ports to be connected to the outside                  o)  allow emulated serial ports to be connected to the outside
126                      world in a more generic way, or even to other emulated                      world in a more generic way, or even to other emulated

Legend:
Removed from v.12  
changed lines
  Added in v.18

  ViewVC Help
Powered by ViewVC 1.1.26