[vbox-dev] [PATCH] Add additional MSRs for ESXi

Christopher Egert cme3000 at gmail.com
Thu Oct 17 17:00:47 UTC 2013


Hi, this patch adds some additional MSRs to make ESXi happy.

This patch is licensed under MIT:

Index: include/iprt/x86.h
===================================================================
--- include/iprt/x86.h (Revision 49118)
+++ include/iprt/x86.h (Arbeitskopie)
@@ -1232,6 +1232,9 @@
 /** SVM - VM_HSAVE_PA - Physical address for saving and restoring
  *                      host state during world switch. */
 #define MSR_K8_VM_HSAVE_PA                  UINT32_C(0xc0010117)
+#define MSR_AMD64_BU_CFG2                   UINT32_C(0xc001102a)
+#define MSR_AMD64_CPU_ID_FEATURES_MSR       UINT32_C(0xc0011004)
+#define MSR_AMD64_CPU_ID_EXT_FEATURES_MSR   UINT32_C(0xC0011005)

 /** @} */

Index: src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
===================================================================
--- src/VBox/VMM/VMMAll/CPUMAllRegs.cpp (Revision 49118)
+++ src/VBox/VMM/VMMAll/CPUMAllRegs.cpp (Arbeitskopie)
@@ -1202,11 +1202,22 @@
         /*
          * AMD specific MSRs:
          */
+        case MSR_K7_EVNTSEL0:           /* ESXi needs them */
+        case MSR_K7_EVNTSEL1:
+        case MSR_K7_EVNTSEL2:
+        case MSR_K7_EVNTSEL3:
+        case MSR_K7_PERFCTR0:
+        case MSR_K7_PERFCTR1:
+        case MSR_K7_PERFCTR2:
+        case MSR_K7_PERFCTR3:
         case MSR_K8_SYSCFG:
         case MSR_K8_INT_PENDING:
         case MSR_K8_NB_CFG:             /* (All known values are 0 on
reset.) */
         case MSR_K8_HWCR:               /* Very interesting bits here. :) */
         case MSR_K8_VM_CR:              /* Windows 8 */
+        case MSR_AMD64_BU_CFG2:         /* ESXi, too */
+        case MSR_AMD64_CPU_ID_FEATURES_MSR:
+        case MSR_AMD64_CPU_ID_EXT_FEATURES_MSR:
             *puValue = 0;
             if (CPUMGetGuestCpuVendor(pVCpu->CTX_SUFF(pVM)) !=
CPUMCPUVENDOR_AMD)
             {





More information about the vbox-dev mailing list