mirror of
https://github.com/qemu/qemu.git
synced 2024-11-30 07:13:38 +08:00
a4d1f14254
minpd, minps, minsd, minss and maxpd, maxps, maxsd, maxss SSE2 instructions have been broken when switching target-i386 to softfloat. It's not possible to use comparison instructions on float types anymore to softfloat, so use the floatXX_lt function instead, as the float_XX_min and float_XX_max functions can't be used due to the Intel specific behaviour. As it implements the correct NaNs behaviour, let's remove the corresponding entry from the TODO. It fixes GDM screen display on Debian Lenny. Thanks to Peter Maydell and Jason Wessel for their analysis of the problem. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
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.
|