Changeset 87504 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Feb 1, 2021 3:12:21 PM (4 years ago)
- svn:sync-xref-src-repo-rev:
- 142528
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r87503 r87504 2107 2107 every #VMEXIT if we should update the TPR. */ 2108 2108 Assert(pVmcb->ctrl.IntCtrl.n.u1VIntrMasking); 2109 pVCpu->hm .s.svm.fSyncVTpr = false;2109 pVCpu->hmr0.s.svm.fSyncVTpr = false; 2110 2110 2111 2111 if (!pVM->hm.s.fTPRPatchingActive) … … 2121 2121 { 2122 2122 pVmcb->ctrl.u16InterceptWrCRx &= ~RT_BIT(8); 2123 pVCpu->hm .s.svm.fSyncVTpr = true;2123 pVCpu->hmr0.s.svm.fSyncVTpr = true; 2124 2124 } 2125 2125 … … 2138 2138 { 2139 2139 hmR0SvmSetMsrPermission(pVCpu, pbMsrBitmap, MSR_K8_LSTAR, SVMMSREXIT_PASSTHRU_READ, SVMMSREXIT_PASSTHRU_WRITE); 2140 pVCpu->hm .s.svm.fSyncVTpr = true;2140 pVCpu->hmr0.s.svm.fSyncVTpr = true; 2141 2141 } 2142 2142 pVmcb->ctrl.u32VmcbCleanBits &= ~HMSVM_VMCB_CLEAN_IOPM_MSRPM; … … 2571 2571 * to the nested-guest intercepts and we always run with V_INTR_MASKING. 2572 2572 */ 2573 pVCpu->hm .s.svm.fSyncVTpr = false;2573 pVCpu->hmr0.s.svm.fSyncVTpr = false; 2574 2574 2575 2575 #ifdef DEBUG_ramshankar … … 2602 2602 else 2603 2603 { 2604 Assert(!pVCpu->hm .s.svm.fSyncVTpr);2604 Assert(!pVCpu->hmr0.s.svm.fSyncVTpr); 2605 2605 Assert(pVmcbNstGstCtrl->u64IOPMPhysAddr == g_HCPhysIOBitmap); 2606 2606 Assert(RT_BOOL(pVmcbNstGstCtrl->NestedPagingCtrl.n.u1NestedPaging) == pVCpu->CTX_SUFF(pVM)->hm.s.fNestedPaging); … … 4129 4129 * world-switch so we can update it on the way back if the guest changed the TPR. 4130 4130 */ 4131 if (pVCpu->hm .s.svm.fSyncVTpr)4131 if (pVCpu->hmr0.s.svm.fSyncVTpr) 4132 4132 { 4133 4133 Assert(!pSvmTransient->fIsNestedGuest); … … 4285 4285 { 4286 4286 uint64_t const uGuestTscAux = CPUMGetGuestTscAux(pVCpu); 4287 pVCpu->hm .s.svm.u64HostTscAux= ASMRdMsr(MSR_K8_TSC_AUX);4288 if (uGuestTscAux != pVCpu->hm .s.svm.u64HostTscAux)4287 pVCpu->hmr0.s.svm.u64HostTscAux = ASMRdMsr(MSR_K8_TSC_AUX); 4288 if (uGuestTscAux != pVCpu->hmr0.s.svm.u64HostTscAux) 4289 4289 ASMWrMsr(MSR_K8_TSC_AUX, uGuestTscAux); 4290 4290 hmR0SvmSetMsrPermission(pVCpu, pbMsrBitmap, MSR_K8_TSC_AUX, SVMMSREXIT_PASSTHRU_READ, SVMMSREXIT_PASSTHRU_WRITE); … … 4368 4368 uint64_t u64GuestTscAuxMsr = ASMRdMsr(MSR_K8_TSC_AUX); 4369 4369 CPUMSetGuestTscAux(pVCpu, u64GuestTscAuxMsr); 4370 if (u64GuestTscAuxMsr != pVCpu->hm .s.svm.u64HostTscAux)4371 ASMWrMsr(MSR_K8_TSC_AUX, pVCpu->hm .s.svm.u64HostTscAux);4370 if (u64GuestTscAuxMsr != pVCpu->hmr0.s.svm.u64HostTscAux) 4371 ASMWrMsr(MSR_K8_TSC_AUX, pVCpu->hmr0.s.svm.u64HostTscAux); 4372 4372 } 4373 4373 … … 4421 4421 4422 4422 if ( pSvmTransient->u64ExitCode != SVM_EXIT_INVALID 4423 && pVCpu->hm .s.svm.fSyncVTpr)4423 && pVCpu->hmr0.s.svm.fSyncVTpr) 4424 4424 { 4425 4425 Assert(!pSvmTransient->fIsNestedGuest);
Note:
See TracChangeset
for help on using the changeset viewer.