Changeset 79992 in vbox for trunk/src/VBox/VMM/VMMR0
- Timestamp:
- Jul 26, 2019 5:53:34 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r79971 r79992 11645 11645 /* 11646 11646 * Sync the TPR shadow with our APIC state. 11647 *11648 * With nested-guests, mark the virtual-APIC page as dirty so it can be synced11649 * when performing the nested-guest VM-exit.11650 11647 */ 11651 if (pVmcsInfo->u32ProcCtls & VMX_PROC_CTLS_USE_TPR_SHADOW) 11648 if ( !pVmxTransient->fIsNestedGuest 11649 && (pVmcsInfo->u32ProcCtls & VMX_PROC_CTLS_USE_TPR_SHADOW)) 11652 11650 { 11653 if (!pVmxTransient->fIsNestedGuest) 11651 Assert(pVmcsInfo->pbVirtApic); 11652 if (pVmxTransient->u8GuestTpr != pVmcsInfo->pbVirtApic[XAPIC_OFF_TPR]) 11654 11653 { 11655 Assert(pVmcsInfo->pbVirtApic); 11656 if (pVmxTransient->u8GuestTpr != pVmcsInfo->pbVirtApic[XAPIC_OFF_TPR]) 11657 { 11658 rc = APICSetTpr(pVCpu, pVmcsInfo->pbVirtApic[XAPIC_OFF_TPR]); 11659 AssertRC(rc); 11660 ASMAtomicOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_APIC_TPR); 11661 } 11654 rc = APICSetTpr(pVCpu, pVmcsInfo->pbVirtApic[XAPIC_OFF_TPR]); 11655 AssertRC(rc); 11656 ASMAtomicOrU64(&pVCpu->hm.s.fCtxChanged, HM_CHANGED_GUEST_APIC_TPR); 11662 11657 } 11663 else11664 pVCpu->cpum.GstCtx.hwvirt.vmx.fVirtApicPageDirty = true;11665 11658 } 11666 11659
Note:
See TracChangeset
for help on using the changeset viewer.