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
..
Makefile.objs target-i386: Use correct memory attributes for ioport accesses 2015-06-05 17:10:00 +02:00
TODO target-i386: fix {min,max}{pd,ps,sd,ss} SSE2 instructions 2012-01-11 09:55:28 +01: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.c tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
cc_helper_template.h target-i386: Implement BLSR, BLSMSK, BLSI 2013-02-18 15:52:05 -08:00
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 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07:00
fpu_helper.c crypto: move built-in AES implementation into crypto/ 2015-07-07 12:04:13 +02:00
gdbstub.c target-i386: update fp status fix 2014-09-18 17:06:12 +02:00
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 tcg: Invert the inclusion of helper.h 2014-05-28 09:33:54 -07: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
kvm_i386.h pc: add SMM property 2015-07-06 18:39:59 +02:00
machine.c migration: Use normal VMStateDescriptions for Subsections 2015-06-12 06:53:57 +02:00
mem_helper.c softmmu: introduce cpu_ldst.h 2014-06-05 16:10:33 +02:00
misc_helper.c target-i386: Use correct memory attributes for ioport accesses 2015-06-05 17:10:00 +02:00
ops_sse.h crypto: move built-in AES implementation into crypto/ 2015-07-07 12:04:13 +02:00
ops_sse_header.h target-i386: add AES-NI instructions 2013-04-13 13:51:57 +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 target-i386: compute eflags outside rcl/rcr helper 2013-02-18 15:03:56 -08:00
smm_helper.c target-i386: use memory API to implement SMRAM 2015-06-05 17:36:39 +02:00
svm.h Use new macro QEMU_PACKED for packed structures 2011-09-03 10:45:59 +00:00
svm_helper.c target-i386: Use correct memory attributes for memory accesses 2015-06-05 17:10:00 +02:00
translate.c translate-all: Change tb_flush() env argument to cpu 2015-07-09 15:20:40 +02:00