]> xenbits.xensource.com Git - xen.git/commitdiff
x86: drop NO_XPTI synthetic feature
authorJan Beulich <jbeulich@suse.com>
Wed, 29 Aug 2018 14:29:42 +0000 (16:29 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 29 Aug 2018 14:29:42 +0000 (16:29 +0200)
With there not being any patching done based on it, we don't need this.
Non-patching conditionals can use opt_xpti instead.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/flushtlb.c
xen/arch/x86/smpboot.c
xen/arch/x86/spec_ctrl.c
xen/include/asm-x86/cpufeature.h
xen/include/asm-x86/cpufeatures.h

index 0d550f9e933dfa4308bc572f348ce1385b52b2d9..8f04fc08d5ea861c7738fa095bf28c0df4cb5d79 100644 (file)
@@ -14,6 +14,7 @@
 #include <asm/invpcid.h>
 #include <asm/page.h>
 #include <asm/pv/domain.h>
+#include <asm/spec_ctrl.h>
 
 /* Debug builds: Wrap frequently to stress-test the wrap logic. */
 #ifdef NDEBUG
@@ -180,7 +181,7 @@ unsigned int flush_area_local(const void *va, unsigned int flags)
                  */
                 invpcid_flush_one(PCID_PV_PRIV, addr);
                 invpcid_flush_one(PCID_PV_USER, addr);
-                if ( !cpu_has_no_xpti )
+                if ( opt_xpti )
                 {
                     invpcid_flush_one(PCID_PV_PRIV | PCID_PV_XPTI, addr);
                     invpcid_flush_one(PCID_PV_USER | PCID_PV_XPTI, addr);
index 7e76cc3d68b60e88eb84410cf51e7b6ac031fbda..e4e12aad788dfefaf5f4fa6003a26555d73c3696 100644 (file)
@@ -789,7 +789,7 @@ static int setup_cpu_root_pgt(unsigned int cpu)
     unsigned int off;
     int rc;
 
-    if ( cpu_has_no_xpti )
+    if ( !opt_xpti )
         return 0;
 
     rpt = alloc_xen_pagetable();
index 1ec0f728a62792d12e8082703fd752a20b7f1b59..f28a98b2f53228c5abce35a462f937e5c75633a5 100644 (file)
@@ -873,11 +873,6 @@ void __init init_speculation_mitigations(void)
     if ( opt_xpti == -1 )
         xpti_init_default(caps);
 
-    if ( opt_xpti == 0 )
-        setup_force_cpu_cap(X86_FEATURE_NO_XPTI);
-    else
-        setup_clear_cpu_cap(X86_FEATURE_NO_XPTI);
-
     l1tf_calculations(caps);
 
     /*
index 4bc6c91ecd0038434d8af9d248515af0a9238032..5343ddc3c32e473cd897efa62e2c11d4411d75d2 100644 (file)
 #define cpu_has_cpuid_faulting  boot_cpu_has(X86_FEATURE_CPUID_FAULTING)
 #define cpu_has_aperfmperf      boot_cpu_has(X86_FEATURE_APERFMPERF)
 #define cpu_has_lfence_dispatch boot_cpu_has(X86_FEATURE_LFENCE_DISPATCH)
-#define cpu_has_no_xpti         boot_cpu_has(X86_FEATURE_NO_XPTI)
 #define cpu_has_xen_lbr         boot_cpu_has(X86_FEATURE_XEN_LBR)
 
 enum _cache_type {
index 249fa6e5312f75aa299bde23bf217e7272e226ac..f2a1fa1eb33ef6d8c7ad780641ab032ec4bb962e 100644 (file)
@@ -30,6 +30,5 @@ XEN_CPUFEATURE(SC_MSR_PV,       (FSCAPINTS+0)*32+16) /* MSR_SPEC_CTRL used by Xe
 XEN_CPUFEATURE(SC_MSR_HVM,      (FSCAPINTS+0)*32+17) /* MSR_SPEC_CTRL used by Xen for HVM */
 XEN_CPUFEATURE(SC_RSB_PV,       (FSCAPINTS+0)*32+18) /* RSB overwrite needed for PV */
 XEN_CPUFEATURE(SC_RSB_HVM,      (FSCAPINTS+0)*32+19) /* RSB overwrite needed for HVM */
-XEN_CPUFEATURE(NO_XPTI,         (FSCAPINTS+0)*32+20) /* XPTI mitigation not in use */
 XEN_CPUFEATURE(SC_MSR_IDLE,     (FSCAPINTS+0)*32+21) /* (SC_MSR_PV || SC_MSR_HVM) && default_xen_spec_ctrl */
 XEN_CPUFEATURE(XEN_LBR,         (FSCAPINTS+0)*32+22) /* Xen uses MSR_DEBUGCTL.LBR */