Index: /trunk/include/VBox/vmm/cpum.h
===================================================================
--- /trunk/include/VBox/vmm/cpum.h	(revision 74631)
+++ /trunk/include/VBox/vmm/cpum.h	(revision 74632)
@@ -1889,8 +1889,6 @@
 {
     RT_NOREF(pVCpu);
-    if (pCtx->hwvirt.enmHwvirt != CPUMHWVIRT_VMX)
-        return false;
-    if (!pCtx->hwvirt.vmx.fInVmxNonRootMode)
-        return false;
+    Assert(pCtx->hwvirt.enmHwvirt == CPUMHWVIRT_VMX);
+    Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode);
     Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs));
     return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32PinCtls & uPinCtl);
@@ -1912,8 +1910,6 @@
 {
     RT_NOREF(pVCpu);
-    if (pCtx->hwvirt.enmHwvirt != CPUMHWVIRT_VMX)
-        return false;
-    if (!pCtx->hwvirt.vmx.fInVmxNonRootMode)
-        return false;
+    Assert(pCtx->hwvirt.enmHwvirt == CPUMHWVIRT_VMX);
+    Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode);
     Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs));
     return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls & uProcCtl);
@@ -1937,8 +1933,6 @@
 {
     RT_NOREF(pVCpu);
-    if (pCtx->hwvirt.enmHwvirt != CPUMHWVIRT_VMX)
-        return false;
-    if (!pCtx->hwvirt.vmx.fInVmxNonRootMode)
-        return false;
+    Assert(pCtx->hwvirt.enmHwvirt == CPUMHWVIRT_VMX);
+    Assert(pCtx->hwvirt.vmx.fInVmxNonRootMode);
     Assert(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs));
     return RT_BOOL(pCtx->hwvirt.vmx.CTX_SUFF(pVmcs)->u32ProcCtls2 & uProcCtl2);
Index: /trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h	(revision 74631)
+++ /trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h	(revision 74632)
@@ -4632,5 +4632,6 @@
     Assert(!pVCpu->cpum.GstCtx.eflags.Bits.u1VM);
 
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
     {
         Log(("lgdt: Guest intercept -> VM-exit\n"));
@@ -4683,5 +4684,6 @@
      *       you really must know.
      */
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
     {
         Log(("sgdt: Guest intercept -> VM-exit\n"));
@@ -4797,5 +4799,6 @@
     }
     /* Nested-guest VMX intercept. */
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
     {
         Log(("lldt: Guest intercept -> VM-exit\n"));
@@ -4921,5 +4924,6 @@
 IEM_CIMPL_DEF_2(iemCImpl_sldt_reg, uint8_t, iGReg, uint8_t, enmEffOpSize)
 {
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
     {
         Log(("sldt: Guest intercept -> VM-exit\n"));
@@ -4981,5 +4985,6 @@
         return iemRaiseGeneralProtectionFault0(pVCpu);
     }
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
     {
         Log(("ltr: Guest intercept -> VM-exit\n"));
@@ -5097,5 +5102,6 @@
 IEM_CIMPL_DEF_2(iemCImpl_str_reg, uint8_t, iGReg, uint8_t, enmEffOpSize)
 {
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
     {
         Log(("str_reg: Guest intercept -> VM-exit\n"));
@@ -5127,5 +5133,6 @@
 IEM_CIMPL_DEF_2(iemCImpl_str_mem, uint8_t, iEffSeg, RTGCPTR, GCPtrEffDst)
 {
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT))
     {
         Log(("str_mem: Guest intercept -> VM-exit\n"));
@@ -6085,5 +6092,6 @@
 
 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX
-    if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT))
     {
         Log(("invlpg: Guest intercept (%RGp) -> VM-exit\n", GCPtrPage));
@@ -6162,5 +6170,6 @@
      *        higher or lower priority than a VM-exit, we assume higher for the time
      *        being. */
-    if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT))
     {
         Log(("invpcid: Guest intercept -> #VM-exit\n"));
@@ -6316,5 +6325,6 @@
     }
 
-    if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDTSC_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDTSC_EXIT))
     {
         Log(("rdtsc: Guest intercept -> VM-exit\n"));
@@ -6365,5 +6375,6 @@
     }
 
-    if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_RDTSCP))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_RDTSCP))
     {
         Log(("rdtscp: Guest intercept -> VM-exit\n"));
@@ -6412,5 +6423,6 @@
         return iemRaiseGeneralProtectionFault0(pVCpu);
 
-    if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDPMC_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDPMC_EXIT))
     {
         Log(("rdpmc: Guest intercept -> VM-exit\n"));
@@ -6871,5 +6883,6 @@
         return iemRaiseGeneralProtectionFault0(pVCpu);
 
-    if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_HLT_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_HLT_EXIT))
     {
         Log2(("hlt: Guest intercept -> VM-exit\n"));
@@ -6913,5 +6926,6 @@
      * See Intel spec. 25.1.1 "Relative Priority of Faults and VM Exits".
      */
-    if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_MONITOR_EXIT))
+    if (   IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
+        && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_MONITOR_EXIT))
     {
         Log2(("monitor: Guest intercept -> #VMEXIT\n"));
Index: /trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
===================================================================
--- /trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h	(revision 74631)
+++ /trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h	(revision 74632)
@@ -456,5 +456,4 @@
         return VERR_VMX_VMEXIT_FAILED; \
     } while (0)
-
 
 
