unicorn/qemu
Radim Krčmář f2d3607831
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).

Backports commit 3046bb5debc8153a542acb1df93b2a1a85527a15 from qemu.
2018-02-17 15:23:21 -05:00
..
crypto crypto: move built-in AES implementation into crypto/ 2018-02-17 15:23:17 -05:00
default-configs
docs docs: clarify memory region lifecycle 2018-02-12 15:11:21 -05:00
fpu softfloat: expand out STATUS macro 2018-02-12 13:43:13 -05:00
hw qerror: Clean up QERR_ macros to expand into a single string 2018-02-17 15:23:09 -05:00
include cpu: Add wrapper for the set_pc() hook 2018-02-17 15:23:19 -05:00
qapi qerror: Clean up QERR_ macros to expand into a single string 2018-02-17 15:23:09 -05:00
qobject qerror: Finally unused, clean up 2018-02-17 15:23:10 -05:00
qom qom: strdup() target property name on object_property_add_alias() 2018-02-17 15:23:19 -05:00
scripts
target-arm target-arm: Fix broken SCTLR_EL3 reset 2018-02-17 15:23:19 -05:00
target-i386 target-i386: emulate CPUID level of real hardware 2018-02-17 15:23:21 -05:00
target-m68k cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
target-mips cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
target-sparc cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
tcg tcg/s390: fix branch target change during code retranslation 2018-02-17 15:23:17 -05:00
util crypto: move built-in AES implementation into crypto/ 2018-02-17 15:23:17 -05:00
aarch64.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
aarch64eb.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
accel.c
arm.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
armeb.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
CODING_STYLE
configure
COPYING
COPYING.LIB
cpu-exec.c cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
cpus.c cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
cputlb.c memory: replace cpu_physical_memory_reset_dirty() with test-and-clear 2018-02-13 11:25:45 -05:00
exec.c cpu: Change cpu_exec_init() arg to cpu, not env 2018-02-17 15:23:18 -05:00
gen_all_header.sh
glib_compat.c crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
HACKING
header_gen.py crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
ioport.c memory: Define API for MemoryRegionOps to take attrs and return status 2018-02-12 17:17:27 -05:00
LICENSE
m68k.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
Makefile
Makefile.objs crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
Makefile.target
memory_mapping.c memory_mapping: Rework cpu related includes 2018-02-17 15:23:15 -05:00
memory.c memory: Add global-locking property to memory regions 2018-02-17 15:23:16 -05:00
mips64.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
mips64el.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
mips.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
mipsel.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
powerpc.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
qapi-schema.json
qemu-log.c
qemu-timer.c
rules.mak
softmmu_template.h Add MemTxAttrs to the IOTLB 2018-02-12 18:38:38 -05:00
sparc64.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
sparc.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
tcg-runtime.c
translate-all.c translate-all: Change tb_flush() env argument to cpu 2018-02-17 15:23:18 -05:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2018-02-13 09:04:51 -05:00
unicorn_common.h
VERSION
vl.c crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
vl.h
x86_64.h crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00