--- trunk/TODO 2007/10/08 16:18:38 12 +++ trunk/TODO 2007/10/08 16:19:11 18 @@ -1,50 +1,35 @@ -$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 $ =============================================================================== High priority stuff: -MIPS bintrans: - x) call/return address cache? +Old MIPS bintrans: -dyntrans: - x) memory write protection for ARM, but NOT for Alpha (because - it has the IMB instruction... hm) + x) call/return address cache? - x) call/return address cache + x) Turn the MIPS cpu family stuff into dyntrans. - x) instr_call sequence analysis support? (Useful for - handtuning combinations.) - x) opcode statistics support? - TODO: is instr_call statistics enough? +Dyntrans: - x) support for archs that allow transparent unaligned load/stores + x) Separate data and instruction translations? - x) SMP: detect when an instruction such as ll/sc or cas is used, - and "synchronize" approximately the number of executed instructions - (or cycles) across all CPUs. + x) Generalize the inline quick_pc_to_pointers? - 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! + x) Call/return hints... - x) support for THUMB or MIPS16 (arm, mips) + x) More 64-bit stuff. - x) support for Delay slots! (mips, sparc, hppa) + x) Lots of other stuff: see src/cpus/README_DYNTRANS - x) Alpha: hahaha, zapnot and inserts/extracts don't - compile into very nice code :-| fix this - x) 64-bit virtual memory translation tables (PPC, etc) +Userland emulation: - x) x86: convert to dyntrans. LOTS of stuff to consider. + x) Lots of stuff. + x) Dynamic linking? Hm. =============================================================================== @@ -131,13 +116,11 @@ Debugger: o) Read function argument count and types from binaries? (ELF?) o) Demangle C++ names. + o) see src/debugger.c for more stuff Userland ABI emulation: o) see src/useremul.c - Terminal based interactive debugger: - o) see src/debugger.c - Terminal/console stuff: o) allow emulated serial ports to be connected to the outside world in a more generic way, or even to other emulated