diff options
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -1,15 +1,22 @@ -- fix gcc 2.96 compile bug -- fix thread locks -- optimize translated cache chaining (DLL PLT-like system) + +- fix iret/lret/fpush not before mem load restarting +- fix all remaining thread lock issues (must put TBs in a specific invalid + state, find a solution for tb_flush()). +- handle fp87 state in signals +- add gcc 2.96 test configure (some gcc3 flags are needed) +- optimize FPU operations (evaluate x87 stack pointer statically) +- add IPC syscalls +- submit a patch to fix DOSEMU coopthreads + +lower priority: +-------------- +- handle rare page fault cases (in particular if page fault in heplers or + in syscall emulation code). - fix thread stack freeing (use kernel 2.5.x CLONE_CHILD_CLEARTID) -- fix x86 stack allocation -- fix iret/lret restarting - more syscalls (in particular all 64 bit ones, IPCs, fix 64 bit issues, fix 16 bit uid issues) -- finish signal handing (fp87 state, more siginfo conversions) -- fix FPU exceptions (in particular: gen_op_fpush not before mem load) -- handle self-modifying code (track mmap and mark all pages containing - translated code as readonly. use a custom signal handler to flush - parts of the translation cache if write access to a readonly page - containing translated code). -- use gcc to compile to static code +- use page_unprotect_range in every suitable syscall to handle all + cases of self modifying code. +- use gcc as a backend to generate better code (easy to do by using + op-i386.c operations as local inline functions). +- add SSE2/MMX operations |