Skip to contentSkip to conversation

svm: use msr safe for erratum 383

PATCH New Christoph Egger 1 participant 1 message Jun 11, 2010

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 svm: use msr safe for erratum 383

Hi!

Attached patch makes erratum 383 use msr safe variants to work on top of KVM.

P.S.: Keir: Please apply this patch to Xen-4.0-testing, too.

Signature · 6 lines
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Andrew Bowd, Thomas M. McCoy, Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
xen/arch/x86/hvm/svm/svm.c +8 -4
diff -r 125b3493dac9 xen/arch/x86/hvm/svm/svm.c
@@ -849,10 +849,14 @@ static void svm_init_erratum_383(struct 
     if ( c->x86 != 0x10 )
         return;
 
-    rdmsrl(MSR_AMD64_DC_CFG, msr_content);
-    wrmsrl(MSR_AMD64_DC_CFG, msr_content | (1ULL << 47));
-
-    amd_erratum383_found = 1;
+    /* use safe methods to be compatible with nested virtualization */
+    if (rdmsr_safe(MSR_AMD64_DC_CFG, msr_content) == 0 &&
+        wrmsr_safe(MSR_AMD64_DC_CFG, msr_content | (1ULL << 47)) == 0)
+    {
+        amd_erratum383_found = 1;
+    } else {
+        printk("Failed to enable erratum 383\n");
+    }
 }
 
 static int svm_cpu_up(void)

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel