update
[qemu] / TODO
1 short term:
2 ----------
3 - XP install bug fix
4 - handle Self Modifying Code even if modifying current TB (BE OS 5 install)
5 - L4 Pistachio kernel boot fix
6 - TLB code protection support for PPC
7 - add sysenter/sysexit and fxsr for L4 pistachio 686
8 - basic VGA optimizations
9 - disable SMC handling for ARM/SPARC/PPC
10 - see undefined flags for BTx insn
11 - user/kernel PUSHL/POPL in helper.c
12 - keyboard output buffer filling timing emulation
13 - verify tb_flush() with a20 and TLBs
14 - return UD exception if LOCK prefix incorrectly used
15 - cmos clock update and timers
16 - test ldt limit < 7 ?
17 - tests for each target CPU
18 - fix CCOP optimisation
19 - fix all remaining thread lock issues (must put TBs in a specific invalid
20   state, find a solution for tb_flush()).
21 - fix arm fpu rounding (at least for float->integer conversions)
22 - SMP support
23
24 lower priority:
25 --------------
26 - suppress shift_mem ops
27 - fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret)
28 - sysenter/sysexit emulation
29 - optimize FPU operations (evaluate x87 stack pointer statically) and
30   fix cr0.TS emulation
31 - add IPC syscalls
32 - use -msoft-float on ARM
33 - use kernel traps for unaligned accesses on ARM ?
34 - handle rare page fault cases (in particular if page fault in heplers or
35   in syscall emulation code).
36 - fix thread stack freeing (use kernel 2.5.x CLONE_CHILD_CLEARTID)
37 - more syscalls (in particular all 64 bit ones, IPCs, fix 64 bit
38   issues, fix 16 bit uid issues)
39 - use page_unprotect_range in every suitable syscall to handle all
40   cases of self modifying code.
41 - use gcc as a backend to generate better code (easy to do by using
42   op-i386.c operations as local inline functions).
43 - add SSE2/MMX operations