diff options
author | Mike Larkin <mlarkin@cvs.openbsd.org> | 2019-04-01 12:02:44 +0000 |
---|---|---|
committer | Mike Larkin <mlarkin@cvs.openbsd.org> | 2019-04-01 12:02:44 +0000 |
commit | ece1a968bf762d1b26ead9006c4a1757bf5392cc (patch) | |
tree | af8f1cf7ccf38fbe5e318534c71fda39806bb3be /sys/arch/amd64/include | |
parent | 1032588fe3241eacef068375712d2a02ae349360 (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.h | 7 |
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: |