1 | Correctness issues:
|
---|
2 |
|
---|
3 | - some eflags manipulation incorrectly reset the bit 0x2.
|
---|
4 | - SVM: test, cpu save/restore, SMM save/restore.
|
---|
5 | - x86_64: lcall/ljmp intel/amd differences ?
|
---|
6 | - better code fetch (different exception handling + CS.limit support)
|
---|
7 | - user/kernel PUSHL/POPL in helper.c
|
---|
8 | - add missing cpuid tests
|
---|
9 | - return UD exception if LOCK prefix incorrectly used
|
---|
10 | - test ldt limit < 7 ?
|
---|
11 | - fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret)
|
---|
12 | - full support of segment limit/rights
|
---|
13 | - full x87 exception support
|
---|
14 | - improve x87 bit exactness (use bochs code ?)
|
---|
15 | - DRx register support
|
---|
16 | - CR0.AC emulation
|
---|
17 | - SSE alignment checks
|
---|
18 | - fix SSE min/max with nans
|
---|
19 |
|
---|
20 | Optimizations/Features:
|
---|
21 |
|
---|
22 | - add SVM nested paging support
|
---|
23 | - add VMX support
|
---|
24 | - add AVX support
|
---|
25 | - add SSE5 support
|
---|
26 | - fxsave/fxrstor AMD extensions
|
---|
27 | - improve monitor/mwait support
|
---|
28 | - faster EFLAGS update: consider SZAP, C, O can be updated separately
|
---|
29 | with a bit field in CC_OP and more state variables.
|
---|
30 | - evaluate x87 stack pointer statically
|
---|
31 | - find a way to avoid translating several time the same TB if CR0.TS
|
---|
32 | is set or not.
|
---|