Changeset 78483 in vbox
- Timestamp:
- May 13, 2019 10:52:16 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r78454 r78483 1475 1475 VMM_INT_DECL(bool) CPUMGetVmxIoBitmapPermission(void const *pvIoBitmapA, void const *pvIoBitmapB, uint16_t uPort, 1476 1476 uint8_t cbAccess); 1477 VMM_INT_DECL(bool) CPUMIsSvmIoIntercept Active(void *pvIoBitmap, uint16_t u16Port, SVMIOIOTYPE enmIoType, uint8_t cbReg,1478 1479 1477 VMM_INT_DECL(bool) CPUMIsSvmIoInterceptSet(void *pvIoBitmap, uint16_t u16Port, SVMIOIOTYPE enmIoType, uint8_t cbReg, 1478 uint8_t cAddrSizeBits, uint8_t iEffSeg, bool fRep, bool fStrIo, 1479 PSVMIOIOEXITINFO pIoExitInfo); 1480 1480 VMM_INT_DECL(int) CPUMGetSvmMsrpmOffsetAndBit(uint32_t idMsr, uint16_t *pbOffMsrpm, uint8_t *puMsrpmBit); 1481 1481 /** @} */ -
trunk/src/VBox/VMM/VMMAll/CPUMAllRegs.cpp
r78454 r78483 3304 3304 3305 3305 /** 3306 * Determines whether an IOIO intercept is active for the nested-guest or not.3306 * Determines whether the given I/O access should cause a nested-guest \#VMEXIT. 3307 3307 * 3308 3308 * @param pvIoBitmap Pointer to the nested-guest IO bitmap. … … 3317 3317 * Optional, can be NULL. 3318 3318 */ 3319 VMM_INT_DECL(bool) CPUMIsSvmIoIntercept Active(void *pvIoBitmap, uint16_t u16Port, SVMIOIOTYPE enmIoType, uint8_t cbReg,3320 3321 3319 VMM_INT_DECL(bool) CPUMIsSvmIoInterceptSet(void *pvIoBitmap, uint16_t u16Port, SVMIOIOTYPE enmIoType, uint8_t cbReg, 3320 uint8_t cAddrSizeBits, uint8_t iEffSeg, bool fRep, bool fStrIo, 3321 PSVMIOIOEXITINFO pIoExitInfo) 3322 3322 { 3323 3323 Assert(cAddrSizeBits == 16 || cAddrSizeBits == 32 || cAddrSizeBits == 64); -
trunk/src/VBox/VMM/VMMAll/IEMAllCImplSvmInstr.cpp.h
r78371 r78483 990 990 SVMIOIOEXITINFO IoExitInfo; 991 991 void *pvIoBitmap = pVCpu->cpum.GstCtx.hwvirt.svm.CTX_SUFF(pvIoBitmap); 992 bool const fIntercept = CPUMIsSvmIoIntercept Active(pvIoBitmap, u16Port, enmIoType, cbReg, cAddrSizeBits, iEffSeg, fRep,993 992 bool const fIntercept = CPUMIsSvmIoInterceptSet(pvIoBitmap, u16Port, enmIoType, cbReg, cAddrSizeBits, iEffSeg, fRep, 993 fStrIo, &IoExitInfo); 994 994 if (fIntercept) 995 995 { -
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r78371 r78483 5130 5130 #ifdef VBOX_WITH_NESTED_HWVIRT_SVM 5131 5131 /** 5132 * Determines whether an IOIO intercept is active for the nested-guest or not.5132 * Determines whether the given I/O access should cause a nested-guest \#VMEXIT. 5133 5133 * 5134 5134 * @param pvIoBitmap Pointer to the nested-guest IO bitmap. 5135 5135 * @param pIoExitInfo Pointer to the SVMIOIOEXITINFO. 5136 5136 */ 5137 static bool hmR0SvmIsIoIntercept Active(void *pvIoBitmap, PSVMIOIOEXITINFO pIoExitInfo)5137 static bool hmR0SvmIsIoInterceptSet(void *pvIoBitmap, PSVMIOIOEXITINFO pIoExitInfo) 5138 5138 { 5139 5139 const uint16_t u16Port = pIoExitInfo->n.u16Port; … … 5145 5145 const bool fStrIo = pIoExitInfo->n.u1Str; 5146 5146 5147 return CPUMIsSvmIoIntercept Active(pvIoBitmap, u16Port, enmIoType, cbReg, cAddrSizeBits, iEffSeg, fRep, fStrIo,5148 5147 return CPUMIsSvmIoInterceptSet(pvIoBitmap, u16Port, enmIoType, cbReg, cAddrSizeBits, iEffSeg, fRep, fStrIo, 5148 NULL /* pIoExitInfo */); 5149 5149 } 5150 5150 … … 5274 5274 SVMIOIOEXITINFO IoExitInfo; 5275 5275 IoExitInfo.u = pVmcbNstGst->ctrl.u64ExitInfo1; 5276 bool const fIntercept = hmR0SvmIsIoIntercept Active(pvIoBitmap, &IoExitInfo);5276 bool const fIntercept = hmR0SvmIsIoInterceptSet(pvIoBitmap, &IoExitInfo); 5277 5277 if (fIntercept) 5278 5278 NST_GST_VMEXIT_CALL_RET(pVCpu, uExitCode, uExitInfo1, uExitInfo2);
Note:
See TracChangeset
for help on using the changeset viewer.