Changeset 74649 in vbox for trunk/src/VBox
- Timestamp:
- Oct 7, 2018 7:05:18 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h
r74648 r74649 6486 6486 if (iemVmxIsRdmsrWrmsrInterceptSet(pVCpu, VMX_EXIT_RDMSR, pVCpu->cpum.GstCtx.ecx)) 6487 6487 IEM_VMX_VMEXIT_INSTR_RET(pVCpu, VMX_EXIT_RDMSR, cbInstr); 6488 6489 /** @todo NSTVMX: Handle other x2APIC MSRs in VMX non-root mode. Perhaps having a 6490 * dedicated virtual-APIC device might be better... */ 6491 if ( pVCpu->cpum.GstCtx.ecx == MSR_IA32_X2APIC_TPR 6492 && IEM_VMX_IS_PROCCTLS2_SET(pVCpu, VMX_PROC_CTLS2_VIRT_X2APIC_MODE)) 6493 { 6494 uint32_t const uVTpr = iemVmxVirtApicReadRaw32(pVCpu, XAPIC_OFF_TPR); 6495 pVCpu->cpum.GstCtx.rax = uVTpr; 6496 pVCpu->cpum.GstCtx.rdx = 0; 6497 iemRegAddToRipAndClearRF(pVCpu, cbInstr); 6498 return VINF_SUCCESS; 6499 } 6488 6500 } 6489 6501 #endif … … 6582 6594 && !(uValue.s.Lo & UINT32_C(0xffffff00))) 6583 6595 { 6584 uint32_t const uVTpr = (uValue.s.Lo & 0xf) << 4;6596 uint32_t const uVTpr = uValue.s.Lo; 6585 6597 iemVmxVirtApicWriteRaw32(pVCpu, uVTpr, XAPIC_OFF_TPR); 6586 6598 VBOXSTRICTRC rcStrict = iemVmxVmexitTprVirtualization(pVCpu, cbInstr);
Note:
See TracChangeset
for help on using the changeset viewer.