qemu-e2k/target-i386
Radim Krčmář 3046bb5deb target-i386: emulate CPUID level of real hardware
W10 insider has a bug where it ignores CPUID level and interprets
CPUID.(EAX=07H, ECX=0H) incorrectly, because CPUID in fact returned
CPUID.(EAX=04H, ECX=0H);  this resulted in execution of unsupported
instructions.

While it's a Windows bug, there is no reason to emulate incorrect level.

I used http://instlatx64.atw.hu/ as a source of CPUID and checked that
it matches Penryn Xeon X5472, Westmere Xeon W3520, SandyBridge i5-2540M,
and Haswell i5-4670T.

kvm64 and qemu64 were bumped to 0xD to allow all available features for
them (and to avoid the same Windows bug).

Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2015-07-15 17:05:59 -03:00
..
arch_dump.c x86: Fuse g_malloc(); memset() into g_malloc0() 2014-12-15 12:21:02 +01:00
arch_memory_mapping.c Switch non-CPU callers from ld/st*_phys to address_space_ld/st* 2015-04-26 16:49:24 +01:00
cc_helper_template.h
cc_helper.c
cpu-qom.h target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
cpu.c target-i386: emulate CPUID level of real hardware 2015-07-15 17:05:59 -03:00
cpu.h cpu-exec: Purge all uses of ENV_GET_CPU() 2015-07-09 15:20:40 +02:00
excp_helper.c
fpu_helper.c crypto: move built-in AES implementation into crypto/ 2015-07-07 12:04:13 +02:00
gdbstub.c
helper.c target-i386: Use correct memory attributes for memory accesses 2015-06-05 17:10:00 +02:00
helper.h target-i386: Use correct memory attributes for ioport accesses 2015-06-05 17:10:00 +02:00
int_helper.c
kvm_i386.h pc: add SMM property 2015-07-06 18:39:59 +02:00
kvm-stub.c pc: add SMM property 2015-07-06 18:39:59 +02:00
kvm.c i386: Introduce ARAT CPU feature 2015-07-07 10:47:16 -03:00
machine.c migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
Makefile.objs target-i386: Use correct memory attributes for ioport accesses 2015-06-05 17:10:00 +02:00
mem_helper.c
misc_helper.c target-i386: Use correct memory attributes for ioport accesses 2015-06-05 17:10:00 +02:00
ops_sse_header.h
ops_sse.h crypto: move built-in AES implementation into crypto/ 2015-07-07 12:04:13 +02:00
seg_helper.c target-i386: Use correct memory attributes for memory accesses 2015-06-05 17:10:00 +02:00
shift_helper_template.h
smm_helper.c target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
svm_helper.c target-i386: Use correct memory attributes for memory accesses 2015-06-05 17:10:00 +02:00
svm.h
TODO
translate.c translate-all: Change tb_flush() env argument to cpu 2015-07-09 15:20:40 +02:00