summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2019-05-18 18:11:47 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2019-05-18 18:11:47 +0000
commit6b99de2a01f10e8ca1de7101f370a7a0563aeed0 (patch)
treedf3c194b8336f595fd9f029dd58b05a2d437ca31
parent8deba4de36f85af63dd5ad4fd0893e41ba73f1ed (diff)
Both FreeBSD and I appear to have been confused by intel's deep-dive doc:
the RDCL_NO bit of the ARCH_CAPA msr only indicates one of the MDS subissues is mitigated; only the MDS_NO bit indicates they're all mitigated. ok jsg@ mlarkin@
-rw-r--r--sys/arch/amd64/amd64/cpu.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/arch/amd64/amd64/cpu.c b/sys/arch/amd64/amd64/cpu.c
index 9e6c7b854b7..e14c8eaa9b0 100644
--- a/sys/arch/amd64/amd64/cpu.c
+++ b/sys/arch/amd64/amd64/cpu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.c,v 1.135 2019/05/17 19:07:15 guenther Exp $ */
+/* $OpenBSD: cpu.c,v 1.136 2019/05/18 18:11:46 guenther Exp $ */
/* $NetBSD: cpu.c,v 1.1 2003/04/26 18:39:26 fvdl Exp $ */
/*-
@@ -214,8 +214,7 @@ replacemds(void)
if (strcmp(cpu_vendor, "GenuineIntel") != 0 ||
((ci->ci_feature_sefflags_edx & SEFF0EDX_ARCH_CAP) &&
- (rdmsr(MSR_ARCH_CAPABILITIES) &
- (ARCH_CAPABILITIES_RDCL_NO | ARCH_CAPABILITIES_MDS_NO)))) {
+ (rdmsr(MSR_ARCH_CAPABILITIES) & ARCH_CAPABILITIES_MDS_NO))) {
/* Unaffected, nop out the handling code */
has_verw = 0;
} else if (ci->ci_feature_sefflags_edx & SEFF0EDX_MD_CLEAR) {