Index: /trunk/include/VBox/vmm/cpumctx.h
===================================================================
--- /trunk/include/VBox/vmm/cpumctx.h	(revision 76149)
+++ /trunk/include/VBox/vmm/cpumctx.h	(revision 76150)
@@ -669,26 +669,6 @@
                 /** 0x3a2 - Padding. */
                 uint8_t                 abPadding0[6];
-                /** 0x3a8 - VMX MSRs. */
-                uint64_t                uMsrFeatCtrl;
-                uint64_t                uMsrBasic;
-                uint64_t                uMsrPinCtls;
-                uint64_t                uMsrProcCtls;
-                uint64_t                uMsrProcCtls2;
-                uint64_t                uMsrExitCtls;
-                uint64_t                uMsrEntryCtls;
-                uint64_t                uMsrTruePinCtls;
-                uint64_t                uMsrTrueProcCtls;
-                uint64_t                uMsrTrueEntryCtls;
-                uint64_t                uMsrTrueExitCtls;
-                uint64_t                uMsrMisc;
-                uint64_t                uMsrCr0Fixed0;
-                uint64_t                uMsrCr0Fixed1;
-                uint64_t                uMsrCr4Fixed0;
-                uint64_t                uMsrCr4Fixed1;
-                uint64_t                uMsrVmcsEnum;
-                uint64_t                uMsrVmFunc;
-                uint64_t                uMsrEptVpidCaps;
-                /** 0x440 - MSRs reserved for future expansion. */
-                uint64_t                uMsrRsvd[5];
+                /** 0x3a8 - Guest VMX MSRs. */
+                VMXMSRS                 Msrs;
             } vmx;
         } CPUM_UNION_NM(s);
@@ -805,23 +785,5 @@
 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uVmentryTick,           0x398);
 AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.offVirtApicWrite,       0x3a0);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrFeatCtrl,           0x3a8);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrBasic,              0x3b0);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrPinCtls,            0x3b8);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrProcCtls,           0x3c0);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrProcCtls2,          0x3c8);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrExitCtls,           0x3d0);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrEntryCtls,          0x3d8);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTruePinCtls,        0x3e0);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTrueProcCtls,       0x3e8);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTrueEntryCtls,      0x3f0);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrTrueExitCtls,       0x3f8);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrMisc,               0x400);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr0Fixed0,          0x408);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr0Fixed1,          0x410);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr4Fixed0,          0x418);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrCr4Fixed1,          0x420);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrVmcsEnum,           0x428);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrVmFunc,             0x430);
-AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrEptVpidCaps,        0x438);
+AssertCompileMemberOffset(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.Msrs,                   0x3a8);
 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pVmcsR0,           8);
 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pShadowVmcsR0,     8);
@@ -832,5 +794,5 @@
 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvMsrBitmapR0,     8);
 AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.pvIoBitmapR0,      8);
-AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.uMsrFeatCtrl,      8);
+AssertCompileMemberAlignment(CPUMCTX, hwvirt.CPUM_UNION_NM(s.) vmx.Msrs,              8);
 AssertCompileMemberOffset(CPUMCTX, hwvirt.enmHwvirt,           0x468);
 AssertCompileMemberOffset(CPUMCTX, hwvirt.fGif,                0x46c);
Index: /trunk/src/VBox/VMM/testcase/tstVMStruct.h
===================================================================
--- /trunk/src/VBox/VMM/testcase/tstVMStruct.h	(revision 76149)
+++ /trunk/src/VBox/VMM/testcase/tstVMStruct.h	(revision 76150)
@@ -175,23 +175,5 @@
     GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uVmentryTick);
     GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.offVirtApicWrite);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrFeatCtrl);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrBasic);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrPinCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrProcCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrProcCtls2);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrExitCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrEntryCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrTruePinCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrTrueProcCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrTrueEntryCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrTrueExitCtls);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrMisc);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrCr0Fixed0);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrCr0Fixed1);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrCr4Fixed0);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrCr4Fixed1);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrVmcsEnum);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrVmFunc);
-    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.uMsrEptVpidCaps);
+    GEN_CHECK_OFF(CPUMCTX, hwvirt.vmx.Msrs);
     GEN_CHECK_OFF(CPUMCTX, hwvirt.enmHwvirt);
     GEN_CHECK_OFF(CPUMCTX, hwvirt.fGif);
