32 lines
1.0 KiB
Plaintext
32 lines
1.0 KiB
Plaintext
|
Correctness issues:
|
||
|
|
||
|
- some eflags manipulation incorrectly reset the bit 0x2.
|
||
|
- SVM: test, cpu save/restore, SMM save/restore.
|
||
|
- x86_64: lcall/ljmp intel/amd differences ?
|
||
|
- 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 ?)
|
||
|
- DRx register support
|
||
|
- CR0.AC emulation
|
||
|
- SSE alignment checks
|
||
|
|
||
|
Optimizations/Features:
|
||
|
|
||
|
- add SVM nested paging support
|
||
|
- add VMX support
|
||
|
- add AVX support
|
||
|
- add SSE5 support
|
||
|
- fxsave/fxrstor AMD extensions
|
||
|
- improve monitor/mwait support
|
||
|
- faster EFLAGS update: consider SZAP, C, O can be updated separately
|
||
|
with a bit field in CC_OP and more state variables.
|
||
|
- evaluate x87 stack pointer statically
|
||
|
- find a way to avoid translating several time the same TB if CR0.TS
|
||
|
is set or not.
|