Changeset 67943 in vbox
- Timestamp:
- Jul 12, 2017 5:12:51 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r67938 r67943 1326 1326 DECLINLINE(bool) CPUMIsGuestSvmCtrlInterceptSet(PCCPUMCTX pCtx, uint64_t fIntercept) 1327 1327 { 1328 PCSVMVMCB CTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;1329 return RT_BOOL(pVmcbCtrl->u64InterceptCtrl & fIntercept);1328 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1329 return pVmcb && (pVmcb->ctrl.u64InterceptCtrl & fIntercept); 1330 1330 } 1331 1331 … … 1340 1340 DECLINLINE(bool) CPUMIsGuestSvmReadCRxInterceptSet(PCCPUMCTX pCtx, uint8_t uCr) 1341 1341 { 1342 PCSVMVMCB CTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;1343 return RT_BOOL(pVmcbCtrl->u16InterceptRdCRx & (1 << uCr));1342 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1343 return pVmcb && (pVmcb->ctrl.u16InterceptRdCRx & (1 << uCr)); 1344 1344 } 1345 1345 … … 1354 1354 DECLINLINE(bool) CPUMIsGuestSvmWriteCRxInterceptSet(PCCPUMCTX pCtx, uint8_t uCr) 1355 1355 { 1356 PCSVMVMCB CTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;1357 return RT_BOOL(pVmcbCtrl->u16InterceptWrCRx & (1 << uCr));1356 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1357 return pVmcb && (pVmcb->ctrl.u16InterceptWrCRx & (1 << uCr)); 1358 1358 } 1359 1359 … … 1368 1368 DECLINLINE(bool) CPUMIsGuestSvmReadDRxInterceptSet(PCCPUMCTX pCtx, uint8_t uDr) 1369 1369 { 1370 PCSVMVMCB CTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;1371 return RT_BOOL(pVmcbCtrl->u16InterceptRdDRx & (1 << uDr));1370 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1371 return pVmcb && (pVmcb->ctrl.u16InterceptRdDRx & (1 << uDr)); 1372 1372 } 1373 1373 … … 1382 1382 DECLINLINE(bool) CPUMIsGuestSvmWriteDRxInterceptSet(PCCPUMCTX pCtx, uint8_t uDr) 1383 1383 { 1384 PCSVMVMCB CTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;1385 return RT_BOOL(pVmcbCtrl->u16InterceptWrDRx & (1 << uDr));1384 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1385 return pVmcb && (pVmcb->ctrl.u16InterceptWrDRx & (1 << uDr)); 1386 1386 } 1387 1387 … … 1397 1397 { 1398 1398 Assert(uVector < 32); 1399 PCSVMVMCB CTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;1400 return RT_BOOL(pVmcbCtrl->u32InterceptXcpt & (UINT32_C(1) << uVector));1399 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1400 return pVmcb && (pVmcb->ctrl.u32InterceptXcpt & (UINT32_C(1) << uVector)); 1401 1401 } 1402 1402 #endif /* !IN_RC */ … … 1415 1415 */ 1416 1416 #ifndef IN_RC 1417 PCSVMVMCB CTRL pVmcbCtrl = &pCtx->hwvirt.svm.CTX_SUFF(pVmcb)->ctrl;1418 return RT_BOOL(pVmcbCtrl && (pVmcbCtrl->u64InterceptCtrl & SVM_CTRL_INTERCEPT_VMRUN));1417 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1418 return pVmcb && (pVmcb->ctrl.u64InterceptCtrl & SVM_CTRL_INTERCEPT_VMRUN); 1419 1419 #else 1420 1420 RT_NOREF(pCtx);
Note:
See TracChangeset
for help on using the changeset viewer.