VirtualBox

Ignore:
Timestamp:
May 23, 2019 10:44:35 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130765
Message:

VMM/IEM: Nested VMX: bugref:9180 Use CPUMGetGuestVmxMasked[Cr0|Cr4], remove iemVmxGetMaskedCr0Cr4.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAllCImpl.cpp.h

    r78681 r78689  
    54415441        switch (iCrReg)
    54425442        {
    5443             case 0:
    5444             case 4:
    5445             {
    5446                 /* CR0/CR4 reads are subject to masking when in VMX non-root mode. */
    5447                 crX = iemVmxGetMaskedCr0Cr4(pVCpu, iCrReg, crX);
    5448                 break;
    5449             }
     5443            /* CR0/CR4 reads are subject to masking when in VMX non-root mode. */
     5444            case 0: crX = CPUMGetGuestVmxMaskedCr0(pVCpu, &pVCpu->cpum.GstCtx); break;
     5445            case 4: crX = CPUMGetGuestVmxMaskedCr4(pVCpu, &pVCpu->cpum.GstCtx); break;
    54505446
    54515447            case 3:
     
    54815477    IEM_SVM_CHECK_READ_CR0_INTERCEPT(pVCpu, 0 /* uExitInfo1 */, 0 /* uExitInfo2 */);
    54825478
    5483     uint64_t u64GuestCr0 = pVCpu->cpum.GstCtx.cr0;
    54845479#ifdef VBOX_WITH_NESTED_HWVIRT_VMX
    5485     if (IEM_VMX_IS_NON_ROOT_MODE(pVCpu))
    5486         u64GuestCr0 = iemVmxGetMaskedCr0Cr4(pVCpu, 0 /* iCrReg */, u64GuestCr0);
     5480    uint64_t const u64GuestCr0 = !IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
     5481                               ? pVCpu->cpum.GstCtx.cr0
     5482                               : CPUMGetGuestVmxMaskedCr0(pVCpu, &pVCpu->cpum.GstCtx);
     5483#else
     5484    uint64_t const u64GuestCr0 = pVCpu->cpum.GstCtx.cr0;
    54875485#endif
    54885486
     
    55255523    IEM_SVM_CHECK_READ_CR0_INTERCEPT(pVCpu, 0 /* uExitInfo1 */, 0 /* uExitInfo2 */);
    55265524
    5527     uint64_t u64GuestCr0 = pVCpu->cpum.GstCtx.cr0;
    55285525#ifdef VBOX_WITH_NESTED_HWVIRT_VMX
    5529     if (IEM_VMX_IS_NON_ROOT_MODE(pVCpu))
    5530         u64GuestCr0 = iemVmxGetMaskedCr0Cr4(pVCpu, 0 /* iCrReg */, u64GuestCr0);
     5526    uint64_t const u64GuestCr0 = !IEM_VMX_IS_NON_ROOT_MODE(pVCpu)
     5527                               ? pVCpu->cpum.GstCtx.cr0
     5528                               : CPUMGetGuestVmxMaskedCr0(pVCpu, &pVCpu->cpum.GstCtx);
     5529#else
     5530    uint64_t const u64GuestCr0 = pVCpu->cpum.GstCtx.cr0;
    55315531#endif
    55325532
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette