/[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 14 by dpavlin, Mon Oct 8 16:18:51 2007 UTC
# Line 1  Line 1 
1  $Id: TODO,v 1.166 2005/08/16 05:44:33 debug Exp $  $Id: TODO,v 1.173 2005/09/17 17:14:25 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?  
   
 dyntrans:  
         x)  memory write protection for ARM, but NOT for Alpha (because  
                 it has the IMB instruction... hm)  
   
         x)  call/return address cache  
   
         x)  instr_call sequence analysis support? (Useful for  
                 handtuning combinations.)  
9    
10          x)  opcode statistics support?          x)  call/return address cache?
                 TODO: is instr_call statistics enough?  
   
         x)  support for archs that allow transparent unaligned load/stores  
11    
12          x)  SMP: detect when an instruction such as ll/sc or cas is used,          x)  Turn the MIPS cpu family stuff into dyntrans.
             and "synchronize" approximately the number of executed instructions  
             (or cycles) across all CPUs.  
13    
         x)  support for variable-length instructions (x86, m68k, ...)  
                 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!  
14    
15          x)  support for THUMB or MIPS16  (arm, mips)  Dyntrans:
16    
17          x)  support for Delay slots!  (mips, sparc, hppa)          x)  Lots of stuff: see src/cpus/README_DYNTRANS
18    
         x)  Alpha: hahaha, zapnot and inserts/extracts don't  
             compile into very nice code :-|  fix this  
19    
20          x)  64-bit virtual memory translation tables (PPC, etc)  Userland emulation:
21    
22          x)  x86: convert to dyntrans. LOTS of stuff to consider.          x)  Lots of stuff.
23    
24            x)  Dynamic linking? Hm.
25    
26  ===============================================================================  ===============================================================================
27    
# Line 131  Lower priority, but still important: Line 108  Lower priority, but still important:
108          Debugger:          Debugger:
109                  o)  Read function argument count and types from binaries? (ELF?)                  o)  Read function argument count and types from binaries? (ELF?)
110                  o)  Demangle C++ names.                  o)  Demangle C++ names.
111                    o)  see src/debugger.c for more stuff
112    
113          Userland ABI emulation:          Userland ABI emulation:
114                  o)  see src/useremul.c                  o)  see src/useremul.c
115    
         Terminal based interactive debugger:  
                 o)  see src/debugger.c  
   
116          Terminal/console stuff:          Terminal/console stuff:
117                  o)  allow emulated serial ports to be connected to the outside                  o)  allow emulated serial ports to be connected to the outside
118                      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.14

  ViewVC Help
Powered by ViewVC 1.1.26