Index: /trunk/include/VBox/vmm/hm_vmx.h
===================================================================
--- /trunk/include/VBox/vmm/hm_vmx.h	(revision 44145)
+++ /trunk/include/VBox/vmm/hm_vmx.h	(revision 44146)
@@ -455,7 +455,7 @@
 #define VMX_EXIT_INVALID            -1
 /** 0 Exception or non-maskable interrupt (NMI). */
-#define VMX_EXIT_EXCEPTION_NMI      0
+#define VMX_EXIT_XCPT_NMI           0
 /** 1 External interrupt. */
-#define VMX_EXIT_EXTERNAL_IRQ       1
+#define VMX_EXIT_EXT_INT            1
 /** 2 Triple fault. */
 #define VMX_EXIT_TRIPLE_FAULT       2
@@ -468,6 +468,6 @@
 /** 6 Other SMI. */
 #define VMX_EXIT_SMI_IRQ            6
-/** 7 Interrupt window. */
-#define VMX_EXIT_IRQ_WINDOW         7
+/** 7 Interrupt window exiting. */
+#define VMX_EXIT_INT_WINDOW         7
 /** 9 Task switch. */
 #define VMX_EXIT_TASK_SWITCH        9
@@ -843,5 +843,5 @@
 #define VMX_VMCS32_CTRL_ENTRY_CONTROLS                          0x4012
 #define VMX_VMCS32_CTRL_ENTRY_MSR_LOAD_COUNT                    0x4014
-#define VMX_VMCS32_CTRL_ENTRY_IRQ_INFO                          0x4016
+#define VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO                 0x4016
 #define VMX_VMCS32_CTRL_ENTRY_EXCEPTION_ERRCODE                 0x4018
 #define VMX_VMCS32_CTRL_ENTRY_INSTR_LENGTH                      0x401A
@@ -869,5 +869,5 @@
  */
 /** VM Exit as soon as RFLAGS.IF=1 and no blocking is active. */
-#define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT        RT_BIT(2)
+#define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT        RT_BIT(2)
 /** Use timestamp counter offset. */
 #define VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET             RT_BIT(3)
@@ -972,5 +972,5 @@
 #define VMX_VMCS_CTRL_EXIT_CONTROLS_LOAD_PERF_MSR               RT_BIT(12)
 /** Acknowledge external interrupts with the irq controller if one caused a VM-exit. */
-#define VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ            RT_BIT(15)
+#define VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT_INT                 RT_BIT(15)
 /** This control determines whether the guest IA32_PAT MSR is saved on VM exit. */
 #define VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_GUEST_PAT_MSR          RT_BIT(18)
@@ -998,17 +998,24 @@
 /** @} */
 
-/** @name VMX_VMCS_RO_EXIT_INTERRUPTION_INFO
- * @{
- */
-#define VMX_EXIT_INTERRUPTION_INFO_VECTOR(a)            (a & 0xff)
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT           8
-#define VMX_EXIT_INTERRUPTION_INFO_TYPE(a)              ((a >> VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
-#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID       RT_BIT(11)
-#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(a) (a & VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID)
-#define VMX_EXIT_INTERRUPTION_INFO_NMI_UNBLOCK(a)       (a & RT_BIT(12))
-#define VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT          31
-#define VMX_EXIT_INTERRUPTION_INFO_VALID(a)             (a & RT_BIT(31))
+/** @name VMX_VMCS32_RO_EXIT_REASON
+ * @{
+ */
+#define VMX_EXIT_REASON_BASIC(a)                                  (a & 0xffff)
+#define VMX_EXIT_REASON_VMENTRY_FAILED(a)                         (a & RT_BIT(31))
+/** @} */
+
+/** @name VMX_VMCS32_RO_EXIT_INTERRUPTION_INFO
+ * @{
+ */
+#define VMX_EXIT_INTERRUPTION_INFO_VECTOR(a)                      (a & 0xff)
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT                     8
+#define VMX_EXIT_INTERRUPTION_INFO_TYPE(a)                        ((a >> VMX_EXIT_INTERRUPTION_INFO_TYPE_SHIFT) & 7)
+#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID               RT_BIT(11)
+#define VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_IS_VALID(a)         (a & VMX_EXIT_INTERRUPTION_INFO_ERROR_CODE_VALID)
+#define VMX_EXIT_INTERRUPTION_INFO_NMI_UNBLOCK(a)                 (a & RT_BIT(12))
+#define VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT                    31
+#define VMX_EXIT_INTERRUPTION_INFO_VALID(a)                       (a & RT_BIT(31))
 /** Construct an irq event injection value from the exit interruption info value (same except that bit 12 is reserved). */
-#define VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(a)      (a & ~RT_BIT(12))
+#define VMX_VMCS_CTRL_ENTRY_IRQ_INFO_FROM_EXIT_INT_INFO(a)        (a & ~RT_BIT(12))
 /** @} */
 
Index: /trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp	(revision 44145)
+++ /trunk/src/VBox/VMM/VMMR0/HWVMXR0.cpp	(revision 44146)
@@ -974,5 +974,5 @@
      * Set event injection state.
      */
-    rc  = VMXWriteVmcs(VMX_VMCS32_CTRL_ENTRY_IRQ_INFO, intInfo | (1 << VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT));
+    rc  = VMXWriteVmcs(VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO, intInfo | (1 << VMX_EXIT_INTERRUPTION_INFO_VALID_SHIFT));
     rc |= VMXWriteVmcs(VMX_VMCS32_CTRL_ENTRY_INSTR_LENGTH, cbInstr);
     rc |= VMXWriteVmcs(VMX_VMCS32_CTRL_ENTRY_EXCEPTION_ERRCODE, errCode);
@@ -1040,8 +1040,8 @@
             if (!(pCtx->eflags.u32 & X86_EFL_IF))
             {
-                if (!(pVCpu->hm.s.vmx.u32ProcCtls & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT))
+                if (!(pVCpu->hm.s.vmx.u32ProcCtls & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT))
                 {
                     LogFlow(("Enable irq window exit!\n"));
-                    pVCpu->hm.s.vmx.u32ProcCtls |= VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT;
+                    pVCpu->hm.s.vmx.u32ProcCtls |= VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT;
                     rc = VMXWriteVmcs(VMX_VMCS32_CTRL_PROC_EXEC_CONTROLS, pVCpu->hm.s.vmx.u32ProcCtls);
                     AssertRC(rc);
@@ -2831,5 +2831,5 @@
      * originated before a VM reset *after* the VM has been reset. See @bugref{6220}.
      */
-    VMXWriteVmcs(VMX_VMCS32_CTRL_ENTRY_IRQ_INFO, 0);
+    VMXWriteVmcs(VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO, 0);
 
 #ifdef VBOX_STRICT
@@ -3396,6 +3396,6 @@
     switch (exitReason)
     {
-    case VMX_EXIT_EXCEPTION_NMI:        /* 0 Exception or non-maskable interrupt (NMI). */
-    case VMX_EXIT_EXTERNAL_IRQ:         /* 1 External interrupt. */
+    case VMX_EXIT_XCPT_NMI:             /* 0 Exception or non-maskable interrupt (NMI). */
+    case VMX_EXIT_EXT_INT:              /* 1 External interrupt. */
     {
         uint32_t vector = VMX_EXIT_INTERRUPTION_INFO_VECTOR(intInfo);
@@ -3403,5 +3403,5 @@
         if (!VMX_EXIT_INTERRUPTION_INFO_VALID(intInfo))
         {
-            Assert(exitReason == VMX_EXIT_EXTERNAL_IRQ);
+            Assert(exitReason == VMX_EXIT_EXT_INT);
             /* External interrupt; leave to allow it to be dispatched again. */
             rc = VINF_EM_RAW_INTERRUPT;
@@ -4133,12 +4133,12 @@
     }
 
-    case VMX_EXIT_IRQ_WINDOW:           /* 7 Interrupt window. */
+    case VMX_EXIT_INT_WINDOW:           /* 7 Interrupt window exiting. */
         /* Clear VM-exit on IF=1 change. */
-        LogFlow(("VMX_EXIT_IRQ_WINDOW %RGv pending=%d IF=%d\n", (RTGCPTR)pCtx->rip,
+        LogFlow(("VMX_EXIT_INT_WINDOW %RGv pending=%d IF=%d\n", (RTGCPTR)pCtx->rip,
                  VMCPU_FF_ISPENDING(pVCpu, (VMCPU_FF_INTERRUPT_APIC|VMCPU_FF_INTERRUPT_PIC)), pCtx->eflags.Bits.u1IF));
-        pVCpu->hm.s.vmx.u32ProcCtls &= ~VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT;
+        pVCpu->hm.s.vmx.u32ProcCtls &= ~VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT;
         rc2 = VMXWriteVmcs(VMX_VMCS32_CTRL_PROC_EXEC_CONTROLS, pVCpu->hm.s.vmx.u32ProcCtls);
         AssertRC(rc2);
-        STAM_COUNTER_INC(&pVCpu->hm.s.StatExitIrqWindow);
+        STAM_COUNTER_INC(&pVCpu->hm.s.StatExitIntWindow);
         goto ResumeExecution;   /* we check for pending guest interrupts there */
 
@@ -4680,6 +4680,6 @@
     switch (exitReason)
     {
-    case VMX_EXIT_EXCEPTION_NMI:        /* 0 Exception or non-maskable interrupt (NMI). */
-    case VMX_EXIT_EXTERNAL_IRQ:         /* 1 External interrupt. */
+    case VMX_EXIT_XCPT_NMI:             /* 0 Exception or non-maskable interrupt (NMI). */
+    case VMX_EXIT_EXT_INT:              /* 1 External interrupt. */
     case VMX_EXIT_EPT_VIOLATION:
     case VMX_EXIT_EPT_MISCONFIG:        /* 49 EPT misconfig is used by the PGM/MMIO optimizations. */
@@ -4820,5 +4820,5 @@
     }
 
-    case VMX_EXIT_IRQ_WINDOW:           /* 7 Interrupt window. */
+    case VMX_EXIT_INT_WINDOW:           /* 7 Interrupt window. */
         Assert(rc == VINF_EM_RAW_INTERRUPT);
         break;
@@ -4891,5 +4891,5 @@
      * If we executed vmlaunch/vmresume and an external IRQ was pending, then we don't have to do a full sync the next time.
      */
-    if (    exitReason == VMX_EXIT_EXTERNAL_IRQ
+    if (    exitReason == VMX_EXIT_EXT_INT
         &&  !VMX_EXIT_INTERRUPTION_INFO_VALID(intInfo))
     {
Index: /trunk/src/VBox/VMM/VMMR3/HM.cpp
===================================================================
--- /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 44145)
+++ /trunk/src/VBox/VMM/VMMR3/HM.cpp	(revision 44146)
@@ -59,6 +59,6 @@
 static const char * const g_apszVTxExitReasons[MAX_EXITREASON_STAT] =
 {
-    EXIT_REASON(VMX_EXIT_EXCEPTION          ,  0, "Exception or non-maskable interrupt (NMI)."),
-    EXIT_REASON(VMX_EXIT_EXTERNAL_IRQ       ,  1, "External interrupt."),
+    EXIT_REASON(VMX_EXIT_XCPT_NMI           ,  0, "Exception or non-maskable interrupt (NMI)."),
+    EXIT_REASON(VMX_EXIT_EXT_INT            ,  1, "External interrupt."),
     EXIT_REASON(VMX_EXIT_TRIPLE_FAULT       ,  2, "Triple fault."),
     EXIT_REASON(VMX_EXIT_INIT_SIGNAL        ,  3, "INIT signal."),
@@ -545,5 +545,5 @@
         HM_REG_COUNTER(&pVCpu->hm.s.StatExitIOStringWrite,      "/HM/CPU%d/Exit/IO/WriteString");
         HM_REG_COUNTER(&pVCpu->hm.s.StatExitIOStringRead,       "/HM/CPU%d/Exit/IO/ReadString");
-        HM_REG_COUNTER(&pVCpu->hm.s.StatExitIrqWindow,          "/HM/CPU%d/Exit/IrqWindow");
+        HM_REG_COUNTER(&pVCpu->hm.s.StatExitIntWindow,          "/HM/CPU%d/Exit/IntWindow");
         HM_REG_COUNTER(&pVCpu->hm.s.StatExitMaxResume,          "/HM/CPU%d/Exit/MaxResume");
         HM_REG_COUNTER(&pVCpu->hm.s.StatExitPreemptPending,     "/HM/CPU%d/Exit/PreemptPending");
@@ -850,6 +850,6 @@
             LogRel(("HM: MSR_IA32_VMX_PROCBASED_CTLS   = %RX64\n", pVM->hm.s.vmx.msr.vmx_proc_ctls.u));
             val = pVM->hm.s.vmx.msr.vmx_proc_ctls.n.allowed1;
-            if (val & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT)
-                LogRel(("HM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT\n"));
+            if (val & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT)
+                LogRel(("HM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT\n"));
             if (val & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET)
                 LogRel(("HM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET\n"));
@@ -894,6 +894,6 @@
 
             val = pVM->hm.s.vmx.msr.vmx_proc_ctls.n.disallowed0;
-            if (val & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT)
-                LogRel(("HM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_IRQ_WINDOW_EXIT *must* be set\n"));
+            if (val & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT)
+                LogRel(("HM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_INT_WINDOW_EXIT *must* be set\n"));
             if (val & VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET)
                 LogRel(("HM:    VMX_VMCS_CTRL_PROC_EXEC_CONTROLS_TSC_OFFSET *must* be set\n"));
@@ -1019,6 +1019,6 @@
             if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_ADDR_SPACE_SIZE)
                 LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_ADDR_SPACE_SIZE\n"));
-            if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ)
-                LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ\n"));
+            if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT_INT)
+                LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT_INT\n"));
             if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_GUEST_PAT_MSR)
                 LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_GUEST_PAT_MSR\n"));
@@ -1036,6 +1036,6 @@
             if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_ADDR_SPACE_SIZE)
                 LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_HOST_ADDR_SPACE_SIZE *must* be set\n"));
-            if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ)
-                LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXTERNAL_IRQ *must* be set\n"));
+            if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT_INT)
+                LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_ACK_EXT_INT *must* be set\n"));
             if (val & VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_GUEST_PAT_MSR)
                 LogRel(("HM:    VMX_VMCS_CTRL_EXIT_CONTROLS_SAVE_GUEST_PAT_MSR *must* be set\n"));
Index: /trunk/src/VBox/VMM/include/HMInternal.h
===================================================================
--- /trunk/src/VBox/VMM/include/HMInternal.h	(revision 44145)
+++ /trunk/src/VBox/VMM/include/HMInternal.h	(revision 44146)
@@ -774,5 +774,5 @@
     STAMCOUNTER             StatExitIOStringWrite;
     STAMCOUNTER             StatExitIOStringRead;
-    STAMCOUNTER             StatExitIrqWindow;
+    STAMCOUNTER             StatExitIntWindow;
     STAMCOUNTER             StatExitMaxResume;
     STAMCOUNTER             StatExitPreemptPending;
