- Timestamp:
- Oct 6, 2018 3:14:32 AM (6 years ago)
- Location:
- trunk/src/VBox/VMM/VMMAll
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r74631 r74632 4632 4632 Assert(!pVCpu->cpum.GstCtx.eflags.Bits.u1VM); 4633 4633 4634 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4634 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 4635 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4635 4636 { 4636 4637 Log(("lgdt: Guest intercept -> VM-exit\n")); … … 4683 4684 * you really must know. 4684 4685 */ 4685 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4686 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 4687 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4686 4688 { 4687 4689 Log(("sgdt: Guest intercept -> VM-exit\n")); … … 4797 4799 } 4798 4800 /* Nested-guest VMX intercept. */ 4799 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4801 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 4802 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4800 4803 { 4801 4804 Log(("lldt: Guest intercept -> VM-exit\n")); … … 4921 4924 IEM_CIMPL_DEF_2(iemCImpl_sldt_reg, uint8_t, iGReg, uint8_t, enmEffOpSize) 4922 4925 { 4923 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4926 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 4927 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4924 4928 { 4925 4929 Log(("sldt: Guest intercept -> VM-exit\n")); … … 4981 4985 return iemRaiseGeneralProtectionFault0(pVCpu); 4982 4986 } 4983 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4987 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 4988 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 4984 4989 { 4985 4990 Log(("ltr: Guest intercept -> VM-exit\n")); … … 5097 5102 IEM_CIMPL_DEF_2(iemCImpl_str_reg, uint8_t, iGReg, uint8_t, enmEffOpSize) 5098 5103 { 5099 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 5104 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 5105 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 5100 5106 { 5101 5107 Log(("str_reg: Guest intercept -> VM-exit\n")); … … 5127 5133 IEM_CIMPL_DEF_2(iemCImpl_str_mem, uint8_t, iEffSeg, RTGCPTR, GCPtrEffDst) 5128 5134 { 5129 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 5135 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 5136 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_DESC_TABLE_EXIT)) 5130 5137 { 5131 5138 Log(("str_mem: Guest intercept -> VM-exit\n")); … … 6085 6092 6086 6093 #ifdef VBOX_WITH_NESTED_HWVIRT_VMX 6087 if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT)) 6094 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 6095 && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT)) 6088 6096 { 6089 6097 Log(("invlpg: Guest intercept (%RGp) -> VM-exit\n", GCPtrPage)); … … 6162 6170 * higher or lower priority than a VM-exit, we assume higher for the time 6163 6171 * being. */ 6164 if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT)) 6172 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 6173 && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_INVLPG_EXIT)) 6165 6174 { 6166 6175 Log(("invpcid: Guest intercept -> #VM-exit\n")); … … 6316 6325 } 6317 6326 6318 if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDTSC_EXIT)) 6327 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 6328 && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDTSC_EXIT)) 6319 6329 { 6320 6330 Log(("rdtsc: Guest intercept -> VM-exit\n")); … … 6365 6375 } 6366 6376 6367 if (IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_RDTSCP)) 6377 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 6378 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_RDTSCP)) 6368 6379 { 6369 6380 Log(("rdtscp: Guest intercept -> VM-exit\n")); … … 6412 6423 return iemRaiseGeneralProtectionFault0(pVCpu); 6413 6424 6414 if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDPMC_EXIT)) 6425 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 6426 && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_RDPMC_EXIT)) 6415 6427 { 6416 6428 Log(("rdpmc: Guest intercept -> VM-exit\n")); … … 6871 6883 return iemRaiseGeneralProtectionFault0(pVCpu); 6872 6884 6873 if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_HLT_EXIT)) 6885 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 6886 && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_HLT_EXIT)) 6874 6887 { 6875 6888 Log2(("hlt: Guest intercept -> VM-exit\n")); … … 6913 6926 * See Intel spec. 25.1.1 "Relative Priority of Faults and VM Exits". 6914 6927 */ 6915 if (IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_MONITOR_EXIT)) 6928 if ( IEM_VMX_IS_NON_ROOT_MODE(pVCpu) 6929 && IEM_VMX_IS_PROCCTLS_SET(pVCpu, VMX_PROC_CTLS_MONITOR_EXIT)) 6916 6930 { 6917 6931 Log2(("monitor: Guest intercept -> #VMEXIT\n")); -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r74630 r74632 456 456 return VERR_VMX_VMEXIT_FAILED; \ 457 457 } while (0) 458 459 458 460 459
Note:
See TracChangeset
for help on using the changeset viewer.