Pablo Greco e6a3ae
From defbb3b33db7fcbc9da20c1350ce90a6b5e279bb Mon Sep 17 00:00:00 2001
Pablo Greco e6a3ae
From: "plai@redhat.com" <plai@redhat.com>
Pablo Greco e6a3ae
Date: Mon, 1 Jul 2019 16:17:32 +0100
Pablo Greco e6a3ae
Subject: [PATCH 03/39] target/i386: Disable MPX support on named CPU models
Pablo Greco e6a3ae
MIME-Version: 1.0
Pablo Greco e6a3ae
Content-Type: text/plain; charset=UTF-8
Pablo Greco e6a3ae
Content-Transfer-Encoding: 8bit
Pablo Greco e6a3ae
Pablo Greco e6a3ae
RH-Author: plai@redhat.com
Pablo Greco e6a3ae
Message-id: <1561997854-9646-4-git-send-email-plai@redhat.com>
Pablo Greco e6a3ae
Patchwork-id: 89333
Pablo Greco e6a3ae
O-Subject: [RHEL8.1 qemu-kvm PATCH v6 3/5] target/i386: Disable MPX support on named CPU models
Pablo Greco e6a3ae
Bugzilla: 1629906
Pablo Greco e6a3ae
RH-Acked-by: Eduardo Habkost <ehabkost@redhat.com>
Pablo Greco e6a3ae
RH-Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Pablo Greco e6a3ae
RH-Acked-by: Bandan Das <bsd@redhat.com>
Pablo Greco e6a3ae
Pablo Greco e6a3ae
From: Paolo Bonzini <pbonzini@redhat.com>
Pablo Greco e6a3ae
Pablo Greco e6a3ae
MPX support is being phased out by Intel; GCC has dropped it, Linux
Pablo Greco e6a3ae
is also going to do that.  Even though KVM will have special code
Pablo Greco e6a3ae
to support MPX after the kernel proper stops enabling it in XCR0,
Pablo Greco e6a3ae
we probably also want to deprecate that in a few years.  As a start,
Pablo Greco e6a3ae
do not enable it by default for any named CPU model starting with
Pablo Greco e6a3ae
the 4.0 machine types; this include Skylake, Icelake and Cascadelake.
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Pablo Greco e6a3ae
Message-Id: <20181220121100.21554-1-pbonzini@redhat.com>
Pablo Greco e6a3ae
Reviewed-by:   Wainer dos Santos Moschetta <wainersm@redhat.com>
Pablo Greco e6a3ae
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Pablo Greco e6a3ae
(cherry picked from commit ecb85fe48cacb2f8740186e81f2f38a2e02bd963)
Pablo Greco e6a3ae
Signed-off-by: Paul Lai <plai@redhat.com>
Pablo Greco e6a3ae
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Conflicts:
Pablo Greco e6a3ae
	hw/i386/pc.c changes to include/hw/i386/pc.h
Pablo Greco e6a3ae
	target/i386/cpu.c
Pablo Greco e6a3ae
Pablo Greco e6a3ae
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
Pablo Greco e6a3ae
---
Pablo Greco e6a3ae
 target/i386/cpu.c | 2 +-
Pablo Greco e6a3ae
 1 file changed, 1 insertion(+), 1 deletion(-)
Pablo Greco e6a3ae
Pablo Greco e6a3ae
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
Pablo Greco e6a3ae
index c4b31eb..094f8a1 100644
Pablo Greco e6a3ae
--- a/target/i386/cpu.c
Pablo Greco e6a3ae
+++ b/target/i386/cpu.c
Pablo Greco e6a3ae
@@ -2512,7 +2512,7 @@ static X86CPUDefinition builtin_x86_defs[] = {
Pablo Greco e6a3ae
             CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_AVX2 | CPUID_7_0_EBX_SMEP |
Pablo Greco e6a3ae
             CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_ERMS | CPUID_7_0_EBX_INVPCID |
Pablo Greco e6a3ae
             CPUID_7_0_EBX_RTM | CPUID_7_0_EBX_RDSEED | CPUID_7_0_EBX_ADX |
Pablo Greco e6a3ae
-            CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_MPX | CPUID_7_0_EBX_CLWB |
Pablo Greco e6a3ae
+            CPUID_7_0_EBX_SMAP | CPUID_7_0_EBX_CLWB |
Pablo Greco e6a3ae
             CPUID_7_0_EBX_AVX512F | CPUID_7_0_EBX_AVX512DQ |
Pablo Greco e6a3ae
             CPUID_7_0_EBX_AVX512BW | CPUID_7_0_EBX_AVX512CD |
Pablo Greco e6a3ae
             CPUID_7_0_EBX_AVX512VL | CPUID_7_0_EBX_CLFLUSHOPT |
Pablo Greco e6a3ae
-- 
Pablo Greco e6a3ae
1.8.3.1
Pablo Greco e6a3ae