2008-05-13 20:27:16 +02:00
|
|
|
Correctness issues:
|
|
|
|
|
|
|
|
- rework eflags optimization (will be a consequence of TCG port)
|
|
|
|
- SVM: rework the implementation: simplify code, move most intercept
|
|
|
|
tests as dynamic, correct segment access, verify exception safety,
|
2008-05-15 18:46:30 +02:00
|
|
|
cpu save/restore, SMM save/restore.
|
2008-05-13 20:27:16 +02:00
|
|
|
- x86_64: fxsave/fxrestore intel/amd differences
|
|
|
|
- x86_64: lcall/ljmp intel/amd differences ?
|
|
|
|
- x86_64: cmpxchgl intel/amd differences ?
|
2008-05-15 18:46:30 +02:00
|
|
|
- x86_64: cmovl intel/amd differences ?
|
|
|
|
- cmpxchg16b + cmpxchg8b cpuid test
|
2008-05-13 20:27:16 +02:00
|
|
|
- x86: monitor invalid
|
|
|
|
- better code fetch (different exception handling + CS.limit support)
|
|
|
|
- user/kernel PUSHL/POPL in helper.c
|
|
|
|
- add missing cpuid tests
|
|
|
|
- return UD exception if LOCK prefix incorrectly used
|
|
|
|
- test ldt limit < 7 ?
|
|
|
|
- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret)
|
|
|
|
- full support of segment limit/rights
|
|
|
|
- full x87 exception support
|
|
|
|
- improve x87 bit exactness (use bochs code ?)
|
2008-05-15 18:46:30 +02:00
|
|
|
- DRx register support
|
|
|
|
- CR0.AC emulation
|
|
|
|
- SSE alignment checks
|
|
|
|
- fix SSE min/max with nans
|
2008-05-13 20:27:16 +02:00
|
|
|
|
|
|
|
Optimizations/Features:
|
|
|
|
|
|
|
|
- finish TCG port
|
2008-05-15 18:46:30 +02:00
|
|
|
- add SVM nested paging support
|
|
|
|
- add VMX support
|
|
|
|
- add AVX support
|
|
|
|
- add SSE5 support
|
2008-05-21 18:34:06 +02:00
|
|
|
- faster EFLAGS update: consider SZAP, C, O can be updated separately
|
|
|
|
with a bit field in CC_OP and more state variables.
|
2008-05-13 20:27:16 +02:00
|
|
|
- evaluate x87 stack pointer statically
|
|
|
|
- find a way to avoid translating several time the same TB if CR0.TS
|
|
|
|
is set or not.
|
|
|
|
- move kqemu support outside target-i386.
|