- Timestamp:
- May 24, 2017 5:44:32 AM (7 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
-
VMMAll/APICAll.cpp (modified) (1 diff)
-
VMMR0/HMVMXR0.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/APICAll.cpp
r65919 r67050 3308 3308 AssertReturn(pR0Ptr, VERR_INVALID_PARAMETER); 3309 3309 3310 PCAPICCPU pApicCpu = VMCPU_TO_APICCPU(pVCpu); 3311 *pHCPhys = pApicCpu->HCPhysApicPage; 3312 *pR0Ptr = pApicCpu->pvApicPageR0; 3310 if (PDMHasApic(pVCpu->CTX_SUFF(pVM))) 3311 { 3312 PCAPICCPU pApicCpu = VMCPU_TO_APICCPU(pVCpu); 3313 *pHCPhys = pApicCpu->HCPhysApicPage; 3314 *pR0Ptr = pApicCpu->pvApicPageR0; 3315 if (pR3Ptr) 3316 *pR3Ptr = pApicCpu->pvApicPageR3; 3317 if (pRCPtr) 3318 *pRCPtr = pApicCpu->pvApicPageRC; 3319 return VINF_SUCCESS; 3320 } 3321 3322 *pHCPhys = 0; 3323 *pR0Ptr = NIL_RTR0PTR; 3313 3324 if (pR3Ptr) 3314 *pR3Ptr = pApicCpu->pvApicPageR3;3325 *pR3Ptr = NIL_RTR3PTR; 3315 3326 if (pRCPtr) 3316 *pRCPtr = pApicCpu->pvApicPageRC;3317 return V INF_SUCCESS;3318 } 3319 3327 *pRCPtr = NIL_RTRCPTR; 3328 return VERR_PDM_NO_APIC_INSTANCE; 3329 } 3330 -
trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp
r67026 r67050 1008 1008 1009 1009 /* Get the allocated virtual-APIC page from the APIC device for transparent TPR accesses. */ 1010 if (pVM->hm.s.vmx.Msrs.VmxProcCtls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_USE_TPR_SHADOW) 1010 if ( PDMHasApic(pVM) 1011 && (pVM->hm.s.vmx.Msrs.VmxProcCtls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_USE_TPR_SHADOW)) 1011 1012 { 1012 1013 rc = APICGetApicPageForCpu(pVCpu, &pVCpu->hm.s.vmx.HCPhysVirtApic, (PRTR0PTR)&pVCpu->hm.s.vmx.pbVirtApic, … … 2408 2409 2409 2410 /* Use TPR shadowing if supported by the CPU. */ 2410 if (pVM->hm.s.vmx.Msrs.VmxProcCtls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_USE_TPR_SHADOW) 2411 if ( PDMHasApic(pVM) 2412 && pVM->hm.s.vmx.Msrs.VmxProcCtls.n.allowed1 & VMX_VMCS_CTRL_PROC_EXEC_USE_TPR_SHADOW) 2411 2413 { 2412 2414 Assert(pVCpu->hm.s.vmx.HCPhysVirtApic);
Note:
See TracChangeset
for help on using the changeset viewer.

