Changeset 68363 in vbox
- Timestamp:
- Aug 10, 2017 9:44:42 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/HMSVMAll.cpp
r68361 r68363 342 342 VMM_INT_DECL(void) HMSvmNstGstVmExitNotify(PVMCPU pVCpu, PSVMVMCB pVmcbNstGst) 343 343 { 344 PSVMVMCBCTRL pVmcbCtrl = &pVmcbNstGst->ctrl;345 PSVMNESTEDVMCBCACHE pNstGstVmcbCache = &pVCpu->hm.s.svm.NstGstVmcbCache;346 347 344 /* 348 345 * Restore the nested-guest VMCB fields which have been modified for executing 349 346 * the nested-guest under SVM R0. 350 347 */ 348 PSVMNESTEDVMCBCACHE pNstGstVmcbCache = &pVCpu->hm.s.svm.NstGstVmcbCache; 351 349 if (pNstGstVmcbCache->fValid) 352 350 { 353 pVmcbCtrl->u16InterceptRdCRx = pNstGstVmcbCache->u16InterceptRdCRx; 354 pVmcbCtrl->u16InterceptWrCRx = pNstGstVmcbCache->u16InterceptWrCRx; 355 pVmcbCtrl->u16InterceptRdCRx = pNstGstVmcbCache->u16InterceptRdCRx; 356 pVmcbCtrl->u16InterceptWrDRx = pNstGstVmcbCache->u16InterceptWrDRx; 357 pVmcbCtrl->u32InterceptXcpt = pNstGstVmcbCache->u32InterceptXcpt; 358 pVmcbCtrl->u64InterceptCtrl = pNstGstVmcbCache->u64InterceptCtrl; 359 pVmcbCtrl->u64VmcbCleanBits = pNstGstVmcbCache->u64VmcbCleanBits; 360 pVmcbCtrl->u64IOPMPhysAddr = pNstGstVmcbCache->u64IOPMPhysAddr; 361 pVmcbCtrl->u64MSRPMPhysAddr = pNstGstVmcbCache->u64MSRPMPhysAddr; 362 pVmcbCtrl->IntCtrl.n.u1VIntrMasking = pNstGstVmcbCache->fVIntrMasking; 363 pVmcbCtrl->TLBCtrl = pNstGstVmcbCache->TLBCtrl; 351 PSVMVMCBCTRL pVmcbNstGstCtrl = &pVmcbNstGst->ctrl; 352 pVmcbNstGstCtrl->u16InterceptRdCRx = pNstGstVmcbCache->u16InterceptRdCRx; 353 pVmcbNstGstCtrl->u16InterceptWrCRx = pNstGstVmcbCache->u16InterceptWrCRx; 354 pVmcbNstGstCtrl->u16InterceptRdCRx = pNstGstVmcbCache->u16InterceptRdCRx; 355 pVmcbNstGstCtrl->u16InterceptWrDRx = pNstGstVmcbCache->u16InterceptWrDRx; 356 pVmcbNstGstCtrl->u32InterceptXcpt = pNstGstVmcbCache->u32InterceptXcpt; 357 pVmcbNstGstCtrl->u64InterceptCtrl = pNstGstVmcbCache->u64InterceptCtrl; 358 pVmcbNstGstCtrl->u64VmcbCleanBits = pNstGstVmcbCache->u64VmcbCleanBits; 359 pVmcbNstGstCtrl->u64IOPMPhysAddr = pNstGstVmcbCache->u64IOPMPhysAddr; 360 pVmcbNstGstCtrl->u64MSRPMPhysAddr = pNstGstVmcbCache->u64MSRPMPhysAddr; 361 pVmcbNstGstCtrl->IntCtrl.n.u1VIntrMasking = pNstGstVmcbCache->fVIntrMasking; 362 pVmcbNstGstCtrl->TLBCtrl = pNstGstVmcbCache->TLBCtrl; 364 363 pNstGstVmcbCache->fValid = false; 365 364 }
Note:
See TracChangeset
for help on using the changeset viewer.