unicorn/qemu
Jingqi Liu 9c93f3f530
x86/cpu: Enable CLDEMOTE(Demote Cache Line) cpu feature
The CLDEMOTE instruction hints to hardware that the cache line that
contains the linear address should be moved("demoted") from
the cache(s) closest to the processor core to a level more distant
from the processor core. This may accelerate subsequent accesses
to the line by other cores in the same coherence domain,
especially if the line was written by the core that demotes the line.

Intel Snow Ridge has added new cpu feature, CLDEMOTE.
The new cpu feature needs to be exposed to guest VM.

The bit definition:
CPUID.(EAX=7,ECX=0):ECX[bit 25] CLDEMOTE

The release document ref below link:
https://software.intel.com/sites/default/files/managed/c5/15/\
architecture-instruction-set-extensions-programming-reference.pdf

Backports commit 0da0fb062841d0dcd8ba47e4a989d2e952cdf0ff from qemu
2018-05-17 18:37:17 -04:00
..
accel tcg: Use GEN_ATOMIC_HELPER_FN for opposite endian atomic add 2018-05-14 08:07:49 -04:00
crypto crypto: Clean up includes 2018-02-19 00:47:40 -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 fpu/softfloat: Don't set Invalid for float-to-int(MAXINT) 2018-05-15 21:50:41 -04:00
hw Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
include tcg: Optionally log FPU state in TCG -d cpu logging 2018-05-15 22:31:08 -04:00
qapi qobject: Modify qobject_ref() to return obj 2018-05-04 10:24:10 -04:00
qobject qobject: Modify qobject_ref() to return obj 2018-05-04 10:24:10 -04:00
qom qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF 2018-05-04 10:16:07 -04:00
scripts qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF 2018-05-04 10:16:07 -04:00
target x86/cpu: Enable CLDEMOTE(Demote Cache Line) cpu feature 2018-05-17 18:37:17 -04:00
tcg tcg: Introduce atomic helpers for integer min/max 2018-05-14 08:06:42 -04:00
util qemu-thread-win32: Prevent null pointer dereference in win32_start_routine 2018-03-21 12:42:44 -04:00
aarch64.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
aarch64eb.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
accel.c clean-up: removed duplicate #includes 2018-02-28 08:51:56 -05:00
arm.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
armeb.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
CODING_STYLE import 2015-08-21 15:04:50 +08:00
configure tcg: fix 16-byte vector operations detection 2018-04-07 23:03:11 -04:00
COPYING import 2015-08-21 15:04:50 +08:00
COPYING.LIB import 2015-08-21 15:04:50 +08:00
cpus.c Include qapi/error.h exactly where needed 2018-03-07 12:26:38 -05:00
exec.c cpu: Convert cpu_index into a bitmap 2018-03-21 08:06:07 -04:00
gen_all_header.sh arm64eb: add support for ARM64 big endian. 2017-04-24 23:30:01 +08:00
glib_compat.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
HACKING import 2015-08-21 15:04:50 +08:00
header_gen.py target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
ioport.c hw: remove pio_addr_t 2018-02-24 02:43:16 -05:00
LICENSE import 2015-08-21 15:04:50 +08:00
m68k.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
Makefile qapi: Don't create useless directory qapi-generated 2018-03-09 11:36:49 -05:00
Makefile.objs qapi: Move qapi-schema.json to qapi/, rename generated files 2018-03-09 11:35:11 -05:00
Makefile.target tcg: move tcg backend files into accel/tcg/ 2018-03-13 11:48:15 -04:00
memory.c memory: Protect against use-after-free 2018-03-21 09:40:33 -04:00
memory_ldst.inc.c exec: Drop unnecessary code for unicorn 2018-03-12 10:11:46 -04:00
memory_mapping.c include/qemu/osdep.h: Don't include qapi/error.h 2018-02-21 23:08:18 -05:00
mips.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
mips64.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
mips64el.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
mipsel.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
powerpc.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
qemu-timer.c timer/cpus: fix some typos and update some comments 2018-02-25 23:21:57 -05:00
rules.mak build-sys: silence make by default or V=0 2018-03-06 08:58:03 -05:00
sparc.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
sparc64.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00
unicorn_common.h cpu: Convert cpu_index into a bitmap 2018-03-21 08:06:07 -04:00
VERSION import 2015-08-21 15:04:50 +08:00
vl.c Use cpu_create(type) instead of cpu_init(cpu_model) 2018-03-20 14:20:30 -04:00
vl.h import 2015-08-21 15:04:50 +08:00
x86_64.h target/arm: Implement FCMP for fp16 2018-05-15 22:24:39 -04:00