root / TODO @ c4dfa5b7
History | View | Annotate | Download (1.8 kB)
1 |
short term: |
---|---|
2 |
---------- |
3 |
- physical memory cache (reduce qemu-fast address space size to about 32 MB) |
4 |
- better code fetch (different exception handling + CS.limit support) |
5 |
- do not resize vga if invalid size. |
6 |
- avoid looping if only exceptions |
7 |
- handle fast timers + add explicit clocks |
8 |
- cycle counter for all archs |
9 |
- TLB code protection support for PPC |
10 |
- add sysenter/sysexit and fxsr for L4 pistachio 686 |
11 |
- basic VGA optimizations |
12 |
- disable SMC handling for ARM/SPARC/PPC (not finished) |
13 |
- see undefined flags for BTx insn |
14 |
- user/kernel PUSHL/POPL in helper.c |
15 |
- keyboard output buffer filling timing emulation |
16 |
- return UD exception if LOCK prefix incorrectly used |
17 |
- test ldt limit < 7 ? |
18 |
- tests for each target CPU |
19 |
- fix CCOP optimisation |
20 |
- fix all remaining thread lock issues (must put TBs in a specific invalid |
21 |
state, find a solution for tb_flush()). |
22 |
- fix arm fpu rounding (at least for float->integer conversions) |
23 |
- SMP support |
24 |
|
25 |
lower priority: |
26 |
-------------- |
27 |
- HDD geometry in CMOS (not used except for very old DOS programs) |
28 |
- suppress shift_mem ops |
29 |
- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret) |
30 |
- sysenter/sysexit emulation |
31 |
- optimize FPU operations (evaluate x87 stack pointer statically) |
32 |
- add IPC syscalls |
33 |
- use -msoft-float on ARM |
34 |
- use kernel traps for unaligned accesses on ARM ? |
35 |
- handle rare page fault cases (in particular if page fault in heplers or |
36 |
in syscall emulation code). |
37 |
- fix thread stack freeing (use kernel 2.5.x CLONE_CHILD_CLEARTID) |
38 |
- more syscalls (in particular all 64 bit ones, IPCs, fix 64 bit |
39 |
issues, fix 16 bit uid issues) |
40 |
- use page_unprotect_range in every suitable syscall to handle all |
41 |
cases of self modifying code. |
42 |
- use gcc as a backend to generate better code (easy to do by using |
43 |
op-i386.c operations as local inline functions). |
44 |
- add SSE2/MMX operations |