summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2015-02-24 05:15:40 +0000
committerneel <neel@FreeBSD.org>2015-02-24 05:15:40 +0000
commit16ee311597eea5a4e6c57c4fcab81bbce813ce82 (patch)
treeff27049a4534d345302fee370a18de0c3e575584
parentb341fa888c7a3b71ef8fb36ed40f08b7ceb8c486 (diff)
downloadFreeBSD-src-16ee311597eea5a4e6c57c4fcab81bbce813ce82.zip
FreeBSD-src-16ee311597eea5a4e6c57c4fcab81bbce813ce82.tar.gz
Emulate MSR 0xC0011024 when running on AMD processors.
OpenBSD guests test bit 0 of this MSR to detect whether the workaround for erratum 721 has been applied. Reported by: Jason Tubnor (jason@tubnor.net) MFC after: 1 week
-rw-r--r--usr.sbin/bhyve/xmsr.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/usr.sbin/bhyve/xmsr.c b/usr.sbin/bhyve/xmsr.c
index d50a939..5b7bfbb 100644
--- a/usr.sbin/bhyve/xmsr.c
+++ b/usr.sbin/bhyve/xmsr.c
@@ -185,6 +185,15 @@ emulate_rdmsr(struct vmctx *ctx, int vcpu, uint32_t num, uint64_t *val)
*val = 0;
break;
+ /*
+ * OpenBSD guests test bit 0 of this MSR to detect if the
+ * workaround for erratum 721 is already applied.
+ * http://support.amd.com/TechDocs/41322_10h_Rev_Gd.pdf
+ */
+ case 0xC0011029:
+ *val = 1;
+ break;
+
default:
error = -1;
break;
OpenPOWER on IntegriCloud