Changeset 81002 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Sep 25, 2019 9:12:34 AM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 133599
- Location:
- trunk/src/VBox/VMM/VMMR0
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r80911 r81002 3383 3383 uint8_t uVector; 3384 3384 TRPMEVENT enmTrpmEvent; 3385 RTGCUINTuErrCode;3385 uint32_t uErrCode; 3386 3386 RTGCUINTPTR GCPtrFaultAddress; 3387 3387 uint8_t cbInstr; 3388 3388 3389 int rc = TRPMQueryTrapAll(pVCpu, &uVector, &enmTrpmEvent, &uErrCode, &GCPtrFaultAddress, &cbInstr );3389 int rc = TRPMQueryTrapAll(pVCpu, &uVector, &enmTrpmEvent, &uErrCode, &GCPtrFaultAddress, &cbInstr, NULL /* pfIcebp */); 3390 3390 AssertRC(rc); 3391 3391 -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r80911 r81002 7828 7828 uint8_t uVector; 7829 7829 TRPMEVENT enmTrpmEvent; 7830 RTGCUINTuErrCode;7830 uint32_t uErrCode; 7831 7831 RTGCUINTPTR GCPtrFaultAddress; 7832 7832 uint8_t cbInstr; 7833 7834 int rc = TRPMQueryTrapAll(pVCpu, &uVector, &enmTrpmEvent, &uErrCode, &GCPtrFaultAddress, &cbInstr); 7833 bool fIcebp; 7834 7835 int rc = TRPMQueryTrapAll(pVCpu, &uVector, &enmTrpmEvent, &uErrCode, &GCPtrFaultAddress, &cbInstr, &fIcebp); 7835 7836 AssertRC(rc); 7836 7837 7837 7838 uint32_t u32IntInfo; 7838 7839 u32IntInfo = uVector | VMX_IDT_VECTORING_INFO_VALID; 7839 u32IntInfo |= HMTrpmEventTypeToVmxEventType(uVector, enmTrpmEvent );7840 u32IntInfo |= HMTrpmEventTypeToVmxEventType(uVector, enmTrpmEvent, fIcebp); 7840 7841 7841 7842 rc = TRPMResetTrap(pVCpu); … … 7876 7877 else if (VMX_IDT_VECTORING_INFO_TYPE(u32IntInfo) == VMX_IDT_VECTORING_INFO_TYPE_SW_INT) 7877 7878 TRPMSetInstrLength(pVCpu, pVCpu->hm.s.Event.cbInstr); 7879 7880 if (VMX_IDT_VECTORING_INFO_TYPE(u32IntInfo) == VMX_IDT_VECTORING_INFO_TYPE_PRIV_SW_XCPT) 7881 TRPMSetTrapDueToIcebp(pVCpu); 7878 7882 7879 7883 /* We're now done converting the pending event. */ … … 13619 13623 { 13620 13624 /* It's a guest page fault and needs to be reflected to the guest. */ 13621 uint32_t uGstErrorCode = TRPMGetErrorCode(pVCpu);13625 uint32_t const uGstErrorCode = TRPMGetErrorCode(pVCpu); 13622 13626 TRPMResetTrap(pVCpu); 13623 13627 pVCpu->hm.s.Event.fPending = false; /* In case it's a contributory #PF. */
Note:
See TracChangeset
for help on using the changeset viewer.