Changeset 69764 in vbox for trunk/include/VBox/vmm
- Timestamp:
- Nov 20, 2017 9:14:10 AM (7 years ago)
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpum.h
r69686 r69764 1333 1333 DECLINLINE(bool) CPUMIsGuestSvmCtrlInterceptSet(PCCPUMCTX pCtx, uint64_t fIntercept) 1334 1334 { 1335 Assert(!pCtx->hwvirt.svm.fHMCachedVmcb); 1335 1336 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1336 1337 return pVmcb && (pVmcb->ctrl.u64InterceptCtrl & fIntercept); … … 1347 1348 DECLINLINE(bool) CPUMIsGuestSvmReadCRxInterceptSet(PCCPUMCTX pCtx, uint8_t uCr) 1348 1349 { 1350 Assert(!pCtx->hwvirt.svm.fHMCachedVmcb); 1349 1351 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1350 1352 return pVmcb && (pVmcb->ctrl.u16InterceptRdCRx & (1 << uCr)); … … 1361 1363 DECLINLINE(bool) CPUMIsGuestSvmWriteCRxInterceptSet(PCCPUMCTX pCtx, uint8_t uCr) 1362 1364 { 1365 Assert(!pCtx->hwvirt.svm.fHMCachedVmcb); 1363 1366 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1364 1367 return pVmcb && (pVmcb->ctrl.u16InterceptWrCRx & (1 << uCr)); … … 1375 1378 DECLINLINE(bool) CPUMIsGuestSvmReadDRxInterceptSet(PCCPUMCTX pCtx, uint8_t uDr) 1376 1379 { 1380 Assert(!pCtx->hwvirt.svm.fHMCachedVmcb); 1377 1381 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1378 1382 return pVmcb && (pVmcb->ctrl.u16InterceptRdDRx & (1 << uDr)); … … 1389 1393 DECLINLINE(bool) CPUMIsGuestSvmWriteDRxInterceptSet(PCCPUMCTX pCtx, uint8_t uDr) 1390 1394 { 1395 Assert(!pCtx->hwvirt.svm.fHMCachedVmcb); 1391 1396 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); 1392 1397 return pVmcb && (pVmcb->ctrl.u16InterceptWrDRx & (1 << uDr)); … … 1403 1408 DECLINLINE(bool) CPUMIsGuestSvmXcptInterceptSet(PCCPUMCTX pCtx, uint8_t uVector) 1404 1409 { 1410 Assert(!pCtx->hwvirt.svm.fHMCachedVmcb); 1405 1411 Assert(uVector < 32); 1406 1412 PCSVMVMCB pVmcb = pCtx->hwvirt.svm.CTX_SUFF(pVmcb); -
trunk/include/VBox/vmm/cpum.mac
r69107 r69764 271 271 .hwvirt.svm.cPauseFilterThreshold resw 1 272 272 .hwvirt.svm.fInterceptEvents resb 1 273 .hwvirt.svm. u8Padding1resb 1273 .hwvirt.svm.fHMCachedVmcb resb 1 274 274 .hwvirt.svm.pvMsrBitmapR0 RTR0PTR_RES 1 275 275 .hwvirt.svm.pvMsrBitmapR3 RTR3PTR_RES 1 -
trunk/include/VBox/vmm/cpumctx.h
r69686 r69764 499 499 /** 950 - Whether the injected event is subject to event intercepts. */ 500 500 bool fInterceptEvents; 501 /** 951 - Padding. */502 uint8_t u8Padding1;501 /** 951 - Whether parts of the VMCB are cached (and potentially modified) by HM. */ 502 bool fHMCachedVmcb; 503 503 /** 952 - MSR permission bitmap - R0 ptr. */ 504 504 R0PTRTYPE(void *) pvMsrBitmapR0; -
trunk/include/VBox/vmm/hm.h
r69107 r69764 167 167 */ 168 168 #ifdef VBOX_WITH_NESTED_HWVIRT 169 VMM_INT_DECL(void) HMSvmNstGstVmExitNotify(PVMCPU pVCpu, P SVMVMCB pVmcbNstGst);169 VMM_INT_DECL(void) HMSvmNstGstVmExitNotify(PVMCPU pVCpu, PCPUMCTX pCtx); 170 170 #endif 171 171 /** @} */ -
trunk/include/VBox/vmm/hm_svm.h
r69715 r69764 1012 1012 /** @name Other miscellaneous state. 1013 1013 * @{ */ 1014 /** Whether the VMCB exit code and info fields are updated during \#VMEXIT1015 * processing. */1016 bool fExitCodeAndInfoUpdated;1017 1014 /** Cache of V_INTR_MASKING bit. */ 1018 1015 bool fVIntrMasking; 1019 /** Whether the fields above are updated or not. */1020 bool fValid;1021 1016 /** Alignment. */ 1022 bool afPadding0[ 5];1017 bool afPadding0[7]; 1023 1018 /** @} */ 1024 1019 } SVMNESTEDVMCBCACHE;
Note:
See TracChangeset
for help on using the changeset viewer.