summaryrefslogtreecommitdiff
path: root/sys/arch/amd64/include
diff options
context:
space:
mode:
authorMike Larkin <mlarkin@cvs.openbsd.org>2019-04-01 12:02:44 +0000
committerMike Larkin <mlarkin@cvs.openbsd.org>2019-04-01 12:02:44 +0000
commitece1a968bf762d1b26ead9006c4a1757bf5392cc (patch)
treeaf8f1cf7ccf38fbe5e318534c71fda39806bb3be /sys/arch/amd64/include
parent1032588fe3241eacef068375712d2a02ae349360 (diff)
vmm(4): Don't advertise support for SSBD and related speculative exec
control features on AMD. Linux tries to use them and since these are not fully implemented yet, it results in an OOPS during boot on recent hardware. When these are properly passed through, we can restore advertising support for this feature. ok deraadt@
Diffstat (limited to 'sys/arch/amd64/include')
-rw-r--r--sys/arch/amd64/include/vmmvar.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/arch/amd64/include/vmmvar.h b/sys/arch/amd64/include/vmmvar.h
index 33bccc2cf9b..a6d7d4ad22e 100644
--- a/sys/arch/amd64/include/vmmvar.h
+++ b/sys/arch/amd64/include/vmmvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmmvar.h,v 1.62 2019/04/01 08:21:04 mlarkin Exp $ */
+/* $OpenBSD: vmmvar.h,v 1.63 2019/04/01 12:02:43 mlarkin Exp $ */
/*
* Copyright (c) 2014 Mike Larkin <mlarkin@openbsd.org>
*
@@ -578,6 +578,7 @@ struct vm_rwregs_params {
* hyperthreading (CPUID_HTT)
* pending break enabled (CPUID_PBE)
* MTRR (CPUID_MTRR)
+ * Speculative execution control features (AMD)
*/
#define VMM_CPUIDECX_MASK ~(CPUIDECX_EST | CPUIDECX_TM2 | CPUIDECX_MWAIT | \
CPUIDECX_PDCM | CPUIDECX_VMX | CPUIDECX_DTES64 | \
@@ -589,6 +590,10 @@ struct vm_rwregs_params {
CPUID_HTT | CPUID_DS | CPUID_APIC | \
CPUID_PSN | CPUID_SS | CPUID_PBE | \
CPUID_MTRR | CPUID_MCE | CPUID_MCA)
+#define VMM_AMDSPEC_EBX_MASK ~(CPUIDEBX_IBPB | CPUIDEBX_IBRS | \
+ CPUIDEBX_STIBP | CPUIDEBX_IBRS_ALWAYSON | CPUIDEBX_STIBP_ALWAYSON | \
+ CPUIDEBX_IBRS_PREF | CPUIDEBX_SSBD | CPUIDEBX_VIRT_SSBD | \
+ CPUIDEBX_SSBD_NOTREQ)
/*
* SEFF flags - copy from host minus: