qemu/target/i386
Eduardo Habkost 9ab2237f19 i386: Add new versions of Skylake/Cascadelake/Icelake without TSX
One of the mitigation methods for TAA[1] is to disable TSX
support on the host system.  Linux added a mechanism to disable
TSX globally through the kernel command line, and many Linux
distributions now default to tsx=off.  This makes existing CPU
models that have HLE and RTM enabled not usable anymore.

Add new versions of all CPU models that have the HLE and RTM
features enabled, that can be used when TSX is disabled in the
host system.

References:

[1] TAA, TSX asynchronous Abort:
    https://software.intel.com/security-software-guidance/insights/deep-dive-intel-transactional-synchronization-extensions-intel-tsx-asynchronous-abort
    https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/tsx_async_abort.html

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2019-11-21 16:35:05 +01:00
..
hvf target/i386: drop the duplicated definition of cpuid AVX512_VBMI macro 2019-10-15 18:34:44 -03:00
arch_dump.c dump: add kernel_gs_base to QEMU CPU state 2018-07-16 16:13:34 +02:00
arch_memory_mapping.c exec,dump,i386,ppc,s390x: don't include exec/cpu-all.h explicitly 2017-09-19 18:21:33 +02:00
bpt_helper.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
cc_helper_template.h
cc_helper.c target-i386: Use ctpop helper 2017-01-10 08:49:59 -08:00
cpu-param.h tcg: Split out target/arch/cpu-param.h 2019-06-10 07:03:34 -07:00
cpu-qom.h hw/core: Move cpu.c, cpu.h from qom/ to hw/core/ 2019-08-21 13:24:01 +02:00
cpu.c i386: Add new versions of Skylake/Cascadelake/Icelake without TSX 2019-11-21 16:35:05 +01:00
cpu.h target/i386: add support for MSR_IA32_TSX_CTRL 2019-11-21 16:35:05 +01:00
excp_helper.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
fpu_helper.c i386: implement IGNNE 2019-10-26 15:38:07 +02:00
gdbstub.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
hax-all.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
hax-i386.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
hax-interface.h Clean up ill-advised or unusual header guards 2019-05-13 08:58:55 +02:00
hax-mem.c qemu/queue.h: leave head structs anonymous unless necessary 2019-01-11 15:46:55 +01:00
hax-posix.c hax: Support for Linux hosts 2019-01-11 13:57:24 +01:00
hax-posix.h Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
hax-windows.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
hax-windows.h hax: Support guest RAM sizes of 4GB or more 2018-02-13 11:44:13 +01:00
helper.c Fix wrong behavior of cpu_memory_rw_debug() function in SMM 2019-10-04 18:49:18 +02:00
helper.h target/i386: Implement CPUID_EXT_RDRAND 2019-05-22 12:38:54 -04:00
hyperv-proto.h i386/kvm: add NoNonArchitecturalCoreSharing Hyper-V enlightenment 2019-10-22 09:38:42 +02:00
hyperv-stub.c target/i386: fix feature check in hyperv-stub.c 2019-07-05 22:16:46 +02:00
hyperv.c i386/kvm: convert hyperv enlightenments properties from bools to bits 2019-06-21 02:29:38 +02:00
hyperv.h hyperv: qom-ify SynIC 2018-10-19 13:44:14 +02:00
int_helper.c target/i386: Implement CPUID_EXT_RDRAND 2019-05-22 12:38:54 -04:00
kvm_i386.h target/i386: kvm: Demand nested migration kernel capabilities only when vCPU may have enabled VMX 2019-07-19 18:01:47 +02:00
kvm-stub.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
kvm.c target/i386: add support for MSR_IA32_TSX_CTRL 2019-11-21 16:35:05 +01:00
machine.c target/i386: add support for MSR_IA32_TSX_CTRL 2019-11-21 16:35:05 +01:00
Makefile.objs target-i386: add kvm stubs to user-mode emulators 2019-03-11 16:33:49 +01:00
mem_helper.c cpu: Replace ENV_GET_CPU with env_cpu 2019-06-10 07:03:34 -07:00
misc_helper.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
monitor.c Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
mpx_helper.c target/i386: move cpu_sync_bndcs_hflags() function 2017-07-05 09:12:44 +02:00
ops_sse_header.h target-i386: Use ctpop helper 2017-01-10 08:49:59 -08:00
ops_sse.h target/i386: Return 'indefinite integer value' for invalid SSE fp->int conversions 2019-08-20 17:26:20 +02:00
seg_helper.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
sev_i386.h Include generated QAPI headers less 2019-08-16 13:31:51 +02:00
sev-stub.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sev.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
shift_helper_template.h
smm_helper.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
svm_helper.c target/i386: Use env_cpu, env_archcpu 2019-06-10 07:03:42 -07:00
svm.h target-i386: Add NPT support 2018-07-02 15:41:18 +02:00
TODO
trace-events trace-events: Shorten file names in comments 2019-03-22 16:18:07 +00:00
translate.c target/i386: fetch code with translator_ld 2019-10-28 15:12:38 +00:00
whp-dispatch.h Normalize position of header guard 2019-06-12 13:20:20 +02:00
whpx-all.c target/i386: Fix broken build with WHPX enabled 2019-09-26 19:00:53 +01:00
xsave_helper.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00