Index: /trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp	(revision 51300)
+++ /trunk/src/VBox/VMM/VMMAll/CPUMAllMsrs.cpp	(revision 51301)
@@ -5593,2 +5593,3 @@
 
 #endif /* IN_RING0 */
+
Index: /trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp	(revision 51300)
+++ /trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp	(revision 51301)
@@ -1934,7 +1934,22 @@
     else if (iLeaf - UINT32_C(0x80000000) < RT_ELEMENTS(pVM->cpum.s.aGuestCpuIdExt))
         pCpuId = &pVM->cpum.s.aGuestCpuIdExt[iLeaf - UINT32_C(0x80000000)];
-    else if (   iLeaf - UINT32_C(0x40000000) < RT_ELEMENTS(pVM->cpum.s.aGuestCpuIdHyper)
-             && (pVCpu->CTX_SUFF(pVM)->cpum.s.aGuestCpuIdStd[1].ecx & X86_CPUID_FEATURE_ECX_HVP))
-        pCpuId = &pVM->cpum.s.aGuestCpuIdHyper[iLeaf - UINT32_C(0x40000000)];   /* Only report if HVP bit set. */
+    else if (   iLeaf - UINT32_C(0x40000000) < 0x100   /** @todo Fix this later: Hyper-V says 0x400000FF is the last valid leaf. */
+             && (pVCpu->CTX_SUFF(pVM)->cpum.s.aGuestCpuIdStd[1].ecx & X86_CPUID_FEATURE_ECX_HVP)) /* Only report if HVP bit set. */
+    {
+        PCPUMCPUIDLEAF pHyperLeaf = cpumCpuIdGetLeaf(pVM, iLeaf, 0 /* uSubLeaf */);
+        if (RT_LIKELY(pHyperLeaf))
+        {
+            *pEax = pHyperLeaf->uEax;
+            *pEbx = pHyperLeaf->uEbx;
+            *pEcx = pHyperLeaf->uEcx;
+            *pEdx = pHyperLeaf->uEdx;
+        }
+        else
+        {
+            *pEax = *pEbx = *pEcx = *pEdx = 0;
+            LogRel(("CPUM: CPUMGetGuestCpuId: failed to get CPUID leaf for iLeaf=%#RX32\n", iLeaf));
+        }
+        return;
+    }
     else if (iLeaf - UINT32_C(0xc0000000) < RT_ELEMENTS(pVM->cpum.s.aGuestCpuIdCentaur))
         pCpuId = &pVM->cpum.s.aGuestCpuIdCentaur[iLeaf - UINT32_C(0xc0000000)];
Index: /trunk/src/VBox/VMM/VMMR3/CPUM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/CPUM.cpp	(revision 51300)
+++ /trunk/src/VBox/VMM/VMMR3/CPUM.cpp	(revision 51301)
@@ -1009,5 +1009,4 @@
         { pCPUM->aGuestCpuIdExt,        RT_ELEMENTS(pCPUM->aGuestCpuIdExt),     0x80000000 },
         { pCPUM->aGuestCpuIdCentaur,    RT_ELEMENTS(pCPUM->aGuestCpuIdCentaur), 0xc0000000 },
-        { pCPUM->aGuestCpuIdHyper,      RT_ELEMENTS(pCPUM->aGuestCpuIdHyper),   0x40000000 },
     };
     for (uint32_t i = 0; i < RT_ELEMENTS(aOldRanges); i++)
@@ -1021,5 +1020,6 @@
             pLegacyLeaf--;
 
-            PCCPUMCPUIDLEAF pLeaf = cpumR3CpuIdGetLeaf(pCPUM->GuestInfo.paCpuIdLeavesR3, pCPUM->GuestInfo.cCpuIdLeaves, uLeaf, 0);
+            PCCPUMCPUIDLEAF pLeaf = cpumR3CpuIdGetLeaf(pCPUM->GuestInfo.paCpuIdLeavesR3, pCPUM->GuestInfo.cCpuIdLeaves, uLeaf,
+                                                       0 /* uSubLeaf */);
             if (pLeaf)
             {
Index: /trunk/src/VBox/VMM/include/CPUMInternal.h
===================================================================
--- /trunk/src/VBox/VMM/include/CPUMInternal.h	(revision 51300)
+++ /trunk/src/VBox/VMM/include/CPUMInternal.h	(revision 51301)
@@ -451,6 +451,4 @@
     /** The centaur set of CpuId leaves. */
     CPUMCPUID               aGuestCpuIdCentaur[4];
-    /** The hypervisor specific set of CpuId leaves. */
-    CPUMCPUID               aGuestCpuIdHyper[4];
     /** The default set of CpuId leaves. */
     CPUMCPUID               GuestCpuIdDef;
Index: /trunk/src/VBox/VMM/include/CPUMInternal.mac
===================================================================
--- /trunk/src/VBox/VMM/include/CPUMInternal.mac	(revision 51300)
+++ /trunk/src/VBox/VMM/include/CPUMInternal.mac	(revision 51301)
@@ -83,5 +83,4 @@
     .aGuestCpuIdExt       resb    16*10
     .aGuestCpuIdCentaur   resb    16*4
-    .aGuestCpuIdHyper     resb    16*4
     .GuestCpuIdDef        resb    16
 
Index: /trunk/src/VBox/VMM/testcase/tstVMStruct.h
===================================================================
--- /trunk/src/VBox/VMM/testcase/tstVMStruct.h	(revision 51300)
+++ /trunk/src/VBox/VMM/testcase/tstVMStruct.h	(revision 51301)
@@ -40,5 +40,4 @@
     GEN_CHECK_OFF(CPUM, aGuestCpuIdExt);
     GEN_CHECK_OFF(CPUM, aGuestCpuIdCentaur);
-    GEN_CHECK_OFF(CPUM, aGuestCpuIdHyper);
     GEN_CHECK_OFF(CPUM, GuestCpuIdDef);
 
