Changeset 75397 in vbox
- Timestamp:
- Nov 12, 2018 2:11:00 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 126535
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImplVmxInstr.cpp.h
r75388 r75397 4428 4428 4429 4429 /** 4430 * VMX VM-exit handler for PPR virtualization. 4431 * 4432 * @returns VBox strict status code. 4433 * @param pVCpu The cross context virtual CPU structure. 4434 */ 4435 IEM_STATIC VBOXSTRICTRC iemVmxVmexitPprVirtualization(PVMCPU pVCpu) 4436 { 4437 PCVMXVVMCS pVmcs = pVCpu->cpum.GstCtx.hwvirt.vmx.CTX_SUFF(pVmcs); 4438 Assert(pVmcs); 4439 4440 Assert(pVmcs->u32ProcCtls & VMX_PROC_CTLS_USE_TPR_SHADOW); 4441 Assert(pVmcs->u32ProcCtls2 & VMX_PROC_CTLS2_VIRT_INT_DELIVERY); 4442 4443 uint32_t const uVTpr = iemVmxVirtApicReadRaw32(pVCpu, XAPIC_OFF_TPR); 4444 uint32_t const uSvi = pVmcs->u16GuestIntStatus >> 8; 4445 4446 uint32_t uVPpr; 4447 if (((uVTpr >> 4) & 0xf) >= (uSvi >> 4) & 0xf) 4448 uVPpr = uVTpr & 0xff; 4449 else 4450 uVPpr = uSvi & 0xf0; 4451 4452 iemVmxVirtApicWriteRaw32(pVCpu, XAPIC_OFF_PPR, uVPpr); 4453 Log2(("ppr_virt: uVTpr=%u uSvi=%u -> VM-exit\n", uVTpr, uSvi)); 4454 } 4455 4456 4457 /** 4430 4458 * VMX VM-exit handler for TPR virtualization. 4431 4459 *
Note:
See TracChangeset
for help on using the changeset viewer.