Merge branch 'master' of /home/nchip/public_html/qemu into garage-push
[qemu] / TODO
diff --git a/TODO b/TODO
index 56229df..1d4c638 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,26 +1,37 @@
-- optimize FPU operations (evaluate x87 stack pointer statically) and
-  fix cr0.TS emulation
-- fix CCOP optimisation
+General:
+-------
+- cycle counter for all archs
+- cpu_interrupt() win32/SMP fix
+- merge PIC spurious interrupt patch
+- warning for OS/2: must not use 128 MB memory (merge bochs cmos patch ?)
+- config file (at least for windows/Mac OS X)
+- update doc: PCI infos.
+- basic VGA optimizations
+- better code fetch
+- do not resize vga if invalid size.
+- TLB code protection support for PPC
+- disable SMC handling for ARM/SPARC/PPC (not finished)
+- see undefined flags for BTx insn
+- keyboard output buffer filling timing emulation
+- tests for each target CPU
 - fix all remaining thread lock issues (must put TBs in a specific invalid
   state, find a solution for tb_flush()).
-- cpu loop optimisation (optimise ret case as the cpu state does not change)
-- fix arm fpu rounding (at least for float->integer conversions)
-- add IPC syscalls
+
+ppc specific:
+------------
+- TLB invalidate not needed if msr_pr changes
+- enable shift optimizations ?
+
+linux-user specific:
+-------------------
+- remove threading support as it cannot work at this point
+- improve IPC syscalls
+- more syscalls (in particular all 64 bit ones, IPCs, fix 64 bit
+  issues, fix 16 bit uid issues)
+- use kernel traps for unaligned accesses on ARM ?
+
 
 lower priority:
 --------------
-- sysenter/sysexit emulation
-- SMP support
-- finish segment ops (call far, ret far, load_seg suppressed)
+- int15 ah=86: use better timing
 - use -msoft-float on ARM
-- use kernel traps for unaligned accesses on ARM ?
-- 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)
-- more syscalls (in particular all 64 bit ones, IPCs, fix 64 bit
-  issues, fix 16 bit uid issues)
-- 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