blob: fcf8baa770762f40ed5aace0ed8eabd89e804ecf [file] [log] [blame]
bellard728c9fd2004-01-05 00:08:14 +00001short term:
2----------
bellard56abbcf2008-02-01 10:03:18 +00003- x86_64: fxsave/fxrestore bugs
4- x86_64: lcall/ljmp intel/amd differences
5- x86_64: cmpxchgl
6- x86_64: cmovl bug
7- x86: monitor invalid
bellard47378eb2006-07-04 16:33:33 +00008- cycle counter for all archs
bellard2023a2c2005-11-23 21:03:04 +00009- cpu_interrupt() win32/SMP fix
bellard47378eb2006-07-04 16:33:33 +000010- support variable tsc freq
bellard2023a2c2005-11-23 21:03:04 +000011- USB host async
12- IDE async
bellard8f468202004-11-07 17:44:42 +000013- debug option in 'configure' script + disable -fomit-frame-pointer
bellard53360e02004-11-14 18:58:40 +000014- Precise VGA timings for old games/demos (malc patch)
15- merge PIC spurious interrupt patch
bellard6df700c2005-02-22 19:43:42 +000016- warning for OS/2: must not use 128 MB memory (merge bochs cmos patch ?)
bellard8f468202004-11-07 17:44:42 +000017- config file (at least for windows/Mac OS X)
bellard8f468202004-11-07 17:44:42 +000018- update doc: PCI infos.
bellard8f468202004-11-07 17:44:42 +000019- basic VGA optimizations
bellard52c00a52004-04-25 21:27:03 +000020- better code fetch (different exception handling + CS.limit support)
21- do not resize vga if invalid size.
22- avoid looping if only exceptions
bellard2be3bc02004-01-18 23:14:25 +000023- TLB code protection support for PPC
ths5fafdf22007-09-16 21:08:06 +000024- see openMosix Doc
bellard52c00a52004-04-25 21:27:03 +000025- disable SMC handling for ARM/SPARC/PPC (not finished)
bellard2be3bc02004-01-18 23:14:25 +000026- see undefined flags for BTx insn
bellard82c7e2a2004-01-04 16:10:33 +000027- user/kernel PUSHL/POPL in helper.c
28- keyboard output buffer filling timing emulation
bellard3d4b4c02004-01-25 15:22:15 +000029- return UD exception if LOCK prefix incorrectly used
bellard82c7e2a2004-01-04 16:10:33 +000030- test ldt limit < 7 ?
bellard285dc332003-10-27 23:58:04 +000031- tests for each target CPU
bellard411bffc2003-06-09 15:38:23 +000032- fix CCOP optimisation
bellarddf0f11a2003-05-28 00:27:57 +000033- fix all remaining thread lock issues (must put TBs in a specific invalid
34 state, find a solution for tb_flush()).
bellarddf0f11a2003-05-28 00:27:57 +000035
bellard8f468202004-11-07 17:44:42 +000036ppc specific:
37------------
38- TLB invalidate not needed if msr_pr changes
bellard8f468202004-11-07 17:44:42 +000039- enable shift optimizations ?
40
bellard2023a2c2005-11-23 21:03:04 +000041linux-user specific:
42-------------------
bellard285dc332003-10-27 23:58:04 +000043- add IPC syscalls
bellard8f468202004-11-07 17:44:42 +000044- handle rare page fault cases (in particular if page fault in helpers or
bellarddf0f11a2003-05-28 00:27:57 +000045 in syscall emulation code).
bellardb03c60f2003-03-23 17:19:56 +000046- more syscalls (in particular all 64 bit ones, IPCs, fix 64 bit
47 issues, fix 16 bit uid issues)
bellarddf0f11a2003-05-28 00:27:57 +000048- use page_unprotect_range in every suitable syscall to handle all
49 cases of self modifying code.
bellard2023a2c2005-11-23 21:03:04 +000050- fix thread stack freeing (use kernel 2.5.x CLONE_CHILD_CLEARTID)
51- use kernel traps for unaligned accesses on ARM ?
52
53
54lower priority:
55--------------
56- int15 ah=86: use better timing
57- suppress shift_mem ops
58- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret)
59- optimize FPU operations (evaluate x87 stack pointer statically)
60- use -msoft-float on ARM