Changeset 76876 in vbox
- Timestamp:
- Jan 18, 2019 8:35:13 AM (6 years ago)
- File:
-
- 1 edited
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r76872 r76876 234 234 } while (0) 235 235 236 # ifdef VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM 237 /** Macro that executes a VMX instruction in IEM. */ 238 # define HMVMX_IEM_EXEC_VMX_INSTR_RET(a_pVCpu) \ 239 do { \ 240 int rc = HMVMX_CPUMCTX_IMPORT_STATE((a_pVCpu), HMVMX_CPUMCTX_EXTRN_ALL); \ 241 AssertRCReturn(rc, rc); \ 242 VBOXSTRICTRC rcStrict = IEMExecOne((a_pVCpu)); \ 243 if (rcStrict == VINF_SUCCESS) \ 244 ASMAtomicUoOrU64(&(a_pVCpu)->hm.s.fCtxChanged, HM_CHANGED_ALL_GUEST); \ 245 else if (rcStrict == VINF_IEM_RAISED_XCPT) \ 246 { \ 247 rcStrict = VINF_SUCCESS; \ 248 ASMAtomicUoOrU64(&(a_pVCpu)->hm.s.fCtxChanged, HM_CHANGED_RAISED_XCPT_MASK); \ 249 } \ 250 return VBOXSTRICTRC_VAL(rcStrict); \ 251 } while (0) 252 253 # endif /* VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM */ 236 254 #endif /* VBOX_WITH_NESTED_HWVIRT_VMX */ 237 255 … … 13475 13493 return rcStrict; 13476 13494 #else 13477 return VERR_EM_INTERPRETER;13495 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13478 13496 #endif 13479 13497 } … … 13499 13517 return rcStrict; 13500 13518 #else 13501 return VERR_EM_INTERPRETER;13519 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13502 13520 #endif 13503 13521 } … … 13538 13556 return rcStrict; 13539 13557 #else 13540 return VERR_EM_INTERPRETER;13558 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13541 13559 #endif 13542 13560 } … … 13577 13595 return rcStrict; 13578 13596 #else 13579 return VERR_EM_INTERPRETER;13597 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13580 13598 #endif 13581 13599 } … … 13617 13635 return rcStrict; 13618 13636 #else 13619 return VERR_EM_INTERPRETER;13637 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13620 13638 #endif 13621 13639 } … … 13641 13659 return rcStrict; 13642 13660 #else 13643 return VERR_EM_INTERPRETER;13661 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13644 13662 #endif 13645 13663 } … … 13681 13699 return rcStrict; 13682 13700 #else 13683 return VERR_EM_INTERPRETER;13701 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13684 13702 #endif 13685 13703 } … … 13712 13730 return rcStrict; 13713 13731 #else 13714 return VERR_EM_INTERPRETER;13732 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13715 13733 #endif 13716 13734 } … … 13751 13769 return rcStrict; 13752 13770 #else 13753 return VERR_EM_INTERPRETER;13771 HMVMX_IEM_EXEC_VMX_INSTR_RET(pVCpu); 13754 13772 #endif 13755 13773 }
Note:
See TracChangeset
for help on using the changeset viewer.

