Index: /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 55755)
+++ /trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp	(revision 55756)
@@ -781,8 +781,13 @@
 
     /* Enter VMX root mode. */
-    int rc = VMXEnable(HCPhysCpuPage);
-    if (   RT_FAILURE(rc)
-        && !(uOldCr4 & X86_CR4_VMXE))
-        SUPR0ChangeCR4(0, ~X86_CR4_VMXE);
+    int rc = VMXEnable(HCPhysCpuPage+5);
+    if (RT_FAILURE(rc))
+    {
+        if (!(uOldCr4 & X86_CR4_VMXE))
+            SUPR0ChangeCR4(0, ~X86_CR4_VMXE);
+
+        if (pVM)
+            pVM->hm.s.vmx.HCPhysVmxEnableError = HCPhysCpuPage+5;
+    }
 
     /* Restore interrupts. */
@@ -5285,4 +5290,5 @@
         SUPR0ChangeCR4(0, ~X86_CR4_VMXE);
         ASMSetFlags(uOldEflags);
+        pVM->hm.s.vmx.HCPhysVmxEnableError = HCPhysCpuPage;
         return rc2;
     }
Index: /trunk/src/VBox/VMM/VMMR3/HM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 55755)
+++ /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 55756)
@@ -974,5 +974,6 @@
     if (RT_FAILURE(rc))
     {
-        LogRel(("HM: HMR3InitFinalize: SUPR3CallVMMR0Ex VMMR0_DO_HM_ENABLE failed with %Rrc\n", rc));
+        LogRel(("HM: Failed to enable, error %Rrc\n", rc));
+        HMR3CheckError(pVM, rc);
         return rc;
     }
@@ -1299,4 +1300,5 @@
             LogRel(("HM: CPU[%u] HM error                %#x (%u)\n", i, pVCpu->hm.s.u32HMError, pVCpu->hm.s.u32HMError));
         }
+        HMR3CheckError(pVM, rc);
         return VMSetError(pVM, rc, RT_SRC_POS, "VT-x setup failed: %Rrc", rc);
     }
@@ -3002,4 +3004,6 @@
         LogRel(("HM: VERR_VMX_UNABLE_TO_START_VM: VM-entry disallowed %#RX32\n", pVM->hm.s.vmx.Msrs.VmxEntry.n.disallowed0));
     }
+    else if (iStatusCode == VERR_VMX_INVALID_VMXON_PTR)
+        LogRel(("HM: HCPhysVmxEnableError         = %#RHp\n", pVM->hm.s.vmx.HCPhysVmxEnableError));
 }
 
Index: /trunk/src/VBox/VMM/include/HMInternal.h
===================================================================
--- /trunk/src/VBox/VMM/include/HMInternal.h	(revision 55755)
+++ /trunk/src/VBox/VMM/include/HMInternal.h	(revision 55756)
@@ -426,4 +426,7 @@
         VMXFLUSHEPT                 enmFlushEpt;
         VMXFLUSHVPID                enmFlushVpid;
+
+        /** Host-physical address for a failing VMXON instruction. */
+        RTHCPHYS                    HCPhysVmxEnableError;
     } vmx;
 
