- Timestamp:
- Aug 23, 2013 7:46:02 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 88374
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r48038 r48039 9078 9078 HMVMX_EXIT_DECL hmR0VmxExitErrInvalidGuestState(PVMCPU pVCpu, PCPUMCTX pMixedCtx, PVMXTRANSIENT pVmxTransient) 9079 9079 { 9080 int rc = hmR0VmxSaveGuestState(pVCpu, pMixedCtx); 9081 AssertRCReturn(rc, rc); 9082 9083 uint32_t uInvalidReason = hmR0VmxCheckGuestState(pVCpu->CTX_SUFF(pVM), pVCpu, pMixedCtx); 9084 NOREF(uInvalidReason); 9085 9086 #ifdef VBOX_STRICT 9080 9087 uint32_t uIntrState; 9081 9088 HMVMXHCUINTREG uHCReg; … … 9083 9090 uint32_t u32Val; 9084 9091 9085 int rc = hmR0VmxReadEntryIntrInfoVmcs(pVmxTransient); 9086 rc |= hmR0VmxReadEntryXcptErrorCodeVmcs(pVmxTransient); 9087 rc |= hmR0VmxReadEntryInstrLenVmcs(pVCpu, pVmxTransient); 9088 rc |= VMXReadVmcs32(VMX_VMCS32_GUEST_INTERRUPTIBILITY_STATE, &uIntrState); 9089 rc |= hmR0VmxSaveGuestState(pVCpu, pMixedCtx); 9092 rc = hmR0VmxReadEntryIntrInfoVmcs(pVmxTransient); 9093 rc |= hmR0VmxReadEntryXcptErrorCodeVmcs(pVmxTransient); 9094 rc |= hmR0VmxReadEntryInstrLenVmcs(pVCpu, pVmxTransient); 9095 rc |= VMXReadVmcs32(VMX_VMCS32_GUEST_INTERRUPTIBILITY_STATE, &uIntrState); 9090 9096 AssertRCReturn(rc, rc); 9091 9097 9092 uint32_t uInvalidReason = hmR0VmxCheckGuestState(pVCpu->CTX_SUFF(pVM), pVCpu, pMixedCtx); 9093 NOREF(uInvalidReason); 9094 9095 #ifdef VBOX_STRICT 9098 Log4(("uInvalidReason %u\n", uInvalidReason)); 9096 9099 Log4(("VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO %#RX32\n", pVmxTransient->uEntryIntrInfo)); 9097 9100 Log4(("VMX_VMCS32_CTRL_ENTRY_EXCEPTION_ERRCODE %#RX32\n", pVmxTransient->uEntryXcptErrorCode));
Note:
See TracChangeset
for help on using the changeset viewer.