- Timestamp:
- Jul 29, 2019 7:44:29 AM (5 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp
r79649 r80036 4626 4626 { 4627 4627 uint64_t const uGuestTscAux = CPUMGetGuestTscAux(pVCpu); 4628 pVCpu->hm.s. u64HostTscAux = ASMRdMsr(MSR_K8_TSC_AUX);4629 if (uGuestTscAux != pVCpu->hm.s. u64HostTscAux)4628 pVCpu->hm.s.svm.u64HostTscAux = ASMRdMsr(MSR_K8_TSC_AUX); 4629 if (uGuestTscAux != pVCpu->hm.s.svm.u64HostTscAux) 4630 4630 ASMWrMsr(MSR_K8_TSC_AUX, uGuestTscAux); 4631 4631 hmR0SvmSetMsrPermission(pVCpu, pbMsrBitmap, MSR_K8_TSC_AUX, SVMMSREXIT_PASSTHRU_READ, SVMMSREXIT_PASSTHRU_WRITE); … … 4723 4723 uint64_t u64GuestTscAuxMsr = ASMRdMsr(MSR_K8_TSC_AUX); 4724 4724 CPUMSetGuestTscAux(pVCpu, u64GuestTscAuxMsr); 4725 if (u64GuestTscAuxMsr != pVCpu->hm.s. u64HostTscAux)4726 ASMWrMsr(MSR_K8_TSC_AUX, pVCpu->hm.s. u64HostTscAux);4725 if (u64GuestTscAuxMsr != pVCpu->hm.s.svm.u64HostTscAux) 4726 ASMWrMsr(MSR_K8_TSC_AUX, pVCpu->hm.s.svm.u64HostTscAux); 4727 4727 } 4728 4728 -
trunk/src/VBox/VMM/include/HMInternal.h
r79971 r80036 973 973 /** CPU-context changed flags (see HM_CHANGED_xxx). */ 974 974 uint64_t fCtxChanged; 975 /** Host's TSC_AUX MSR (used when RDTSCP doesn't cause VM-exits). */976 uint64_t u64HostTscAux; /** @todo r=ramshankar: Can be removed and put in SVMTRANSIENT instead! */977 975 978 976 union /* no tag! */ … … 1082 1080 bool fSyncVTpr; 1083 1081 uint8_t au8Alignment0[7]; 1082 1083 /** Host's TSC_AUX MSR (used when RDTSCP doesn't cause VM-exits). */ 1084 uint64_t u64HostTscAux; 1084 1085 1085 1086 /** Cache of the nested-guest's VMCB fields that we modify in order to run the -
trunk/src/VBox/VMM/include/HMInternal.mac
r78220 r80036 87 87 alignb 8 88 88 .fCtxChanged resq 1 89 .u64HostTscAux resq 190 89 91 90 ; incomplete to save unnecessary pain...
Note:
See TracChangeset
for help on using the changeset viewer.