| Correctness issues: |
| |
| - some eflags manipulation incorrectly reset the bit 0x2. |
| - 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, |
| cpu save/restore, SMM save/restore. |
| - x86_64: fxsave/fxrestore intel/amd differences |
| - x86_64: lcall/ljmp intel/amd differences ? |
| - x86_64: cmpxchgl intel/amd differences ? |
| - x86_64: cmovl intel/amd differences ? |
| - cmpxchg16b + cmpxchg8b cpuid test |
| - 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 ?) |
| - DRx register support |
| - CR0.AC emulation |
| - SSE alignment checks |
| - fix SSE min/max with nans |
| |
| Optimizations/Features: |
| |
| - finish TCG port |
| - add SVM nested paging support |
| - add VMX support |
| - add AVX support |
| - add SSE5 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. |
| - move kqemu support outside target-i386. |