unicorn/qemu
Paolo Bonzini 96e0535c76
target-i386: add ABM to Haswell* and Broadwell* CPU models
ABM is only implemented as a single instruction set by AMD; all AMD
processors support both instructions or neither. Intel considers POPCNT
as part of SSE4.2, and LZCNT as part of BMI1, but Intel also uses AMD's
ABM flag to indicate support for both POPCNT and LZCNT. It has to be
added to Haswell and Broadwell because Haswell, by adding LZCNT, has
completed the ABM.

Tested with "qemu-kvm -cpu Haswell-noTSX,enforce" (and also with older
machine types) on an Haswell-EP machine.

Backports commit becb66673ec30cb604926d247ab9449a60ad8b11 from qemu
2018-02-17 15:23:55 -05:00
..
crypto crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
default-configs arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
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 osdep.h: Move some compiler-specific things to compiler.h 2018-02-17 15:23:28 -05:00
include qom/cpu: Add throttle_thread_scheduled member 2018-02-17 15:23:55 -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 cpu: initialize cpu->exception_index on reset 2018-02-17 15:23:51 -05:00
scripts Save copies of generated qapi files. 2017-01-21 00:30:50 +11:00
target-arm arm: Remove ELF_MACHINE from cpu.h 2018-02-17 15:23:54 -05:00
target-i386 target-i386: add ABM to Haswell* and Broadwell* CPU models 2018-02-17 15:23:55 -05:00
target-m68k m68k: Remove ELF_MACHINE from cpu.h 2018-02-17 15:23:54 -05:00
target-mips mips: Remove ELF_MACHINE from cpu.h 2018-02-17 15:23:55 -05:00
target-sparc sparc: Remove ELF_MACHINE from cpu.h 2018-02-17 15:23:55 -05:00
tcg tcg/mips: pass oi to tcg_out_tlb_load 2018-02-17 15:23:54 -05:00
util error: Copy location information in error_copy() 2018-02-17 15:23:53 -05:00
aarch64.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
aarch64eb.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
accel.c Automated leading tab to spaces conversion. 2017-01-21 12:28:22 +11:00
arm.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
armeb.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
CODING_STYLE
configure tcg: Drop ia64 host support 2018-02-04 18:33:02 -05:00
COPYING
COPYING.LIB
cpu-exec-common.c cpu-exec: Migrate some generic fns to cpu-exec-common 2018-02-17 15:23:51 -05:00
cpu-exec.c cpu-exec: Migrate some generic fns to cpu-exec-common 2018-02-17 15:23:51 -05:00
cpus.c cpu-exec: Purge all uses of ENV_GET_CPU() 2018-02-17 15:23:18 -05:00
cputlb.c cputlb: Change tlb_set_dirty() arg to cpu 2018-02-17 15:23:52 -05:00
exec.c cputlb: Change tlb_set_dirty() arg to cpu 2018-02-17 15:23:52 -05:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c crypto: introduce new module for computing hash digests 2018-02-17 15:23:17 -05:00
HACKING
header_gen.py target-mips: improve exception handling 2018-02-17 15:23:53 -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 cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
Makefile crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
Makefile.objs crypto: move crypto objects out of libqemuutil.la 2018-02-17 15:23:50 -05:00
Makefile.target tcg: split tcg_op_defs to -common 2018-02-17 15:23:51 -05:00
memory_mapping.c memory_mapping: Rework cpu related includes 2018-02-17 15:23:15 -05:00
memory.c osdep.h: Move some compiler-specific things to compiler.h 2018-02-17 15:23:28 -05:00
mips64.h target-mips: improve exception handling 2018-02-17 15:23:53 -05:00
mips64el.h target-mips: improve exception handling 2018-02-17 15:23:53 -05:00
mips.h target-mips: improve exception handling 2018-02-17 15:23:53 -05:00
mipsel.h target-mips: improve exception handling 2018-02-17 15:23:53 -05:00
powerpc.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
qapi-schema.json
qemu-log.c
qemu-timer.c timer is redundant 2017-01-20 16:46:58 +08:00
rules.mak
softmmu_template.h softmmu: remove now unused functions 2018-02-17 15:23:38 -05:00
sparc64.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
sparc.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00
tcg-runtime.c platform.h move #3 2017-01-21 00:13:21 +11:00
translate-all.c translate-all: Move tcg_handle_interrupt() to -common 2018-02-17 15:23:51 -05:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2018-02-13 09:04:51 -05:00
translate-common.c translate-all: Move tcg_handle_interrupt() to -common 2018-02-17 15:23:51 -05:00
unicorn_common.h This code should now build the x86_x64-softmmu part 2. 2017-01-19 22:50:28 +11:00
VERSION
vl.c exec: Add semihosting stubs 2018-02-17 15:23:33 -05:00
vl.h
x86_64.h cpu-exec: introduce loop exit with restore function 2018-02-17 15:23:38 -05:00