VirtualBox

Changeset 75440 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Nov 14, 2018 6:23:13 AM (6 years ago)
Author:
vboxsync
Message:

VMM: Nested VMX: bugref:9180 Separate the VMX/SVM CPU spec. functions into CPUM as they can be called from IEM/REM/CPUM as well as HM.

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r75146 r75440  
    872872    uint16_t    offMsrpm;
    873873    uint8_t     uMsrpmBit;
    874     int rc = HMSvmGetMsrpmOffsetAndBit(idMsr, &offMsrpm, &uMsrpmBit);
     874    int rc = CPUMSvmGetMsrpmOffsetAndBit(idMsr, &offMsrpm, &uMsrpmBit);
    875875    AssertRC(rc);
    876876
     
    51565156    const bool        fStrIo        = pIoExitInfo->n.u1Str;
    51575157
    5158     return HMSvmIsIOInterceptActive(pvIoBitmap, u16Port, enmIoType, cbReg, cAddrSizeBits, iEffSeg, fRep, fStrIo,
    5159                                     NULL /* pIoExitInfo */);
     5158    return CPUMSvmIsIOInterceptActive(pvIoBitmap, u16Port, enmIoType, cbReg, cAddrSizeBits, iEffSeg, fRep, fStrIo,
     5159                                      NULL /* pIoExitInfo */);
    51605160}
    51615161
     
    52485248                uint16_t offMsrpm;
    52495249                uint8_t  uMsrpmBit;
    5250                 int rc = HMSvmGetMsrpmOffsetAndBit(idMsr, &offMsrpm, &uMsrpmBit);
     5250                int rc = CPUMSvmGetMsrpmOffsetAndBit(idMsr, &offMsrpm, &uMsrpmBit);
    52515251                if (RT_SUCCESS(rc))
    52525252                {
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r75265 r75440  
    17381738            VMXMSREXITREAD  enmRead;
    17391739            VMXMSREXITWRITE enmWrite;
    1740             rc = HMVmxGetMsrPermission(pVCpu->hm.s.vmx.pvMsrBitmap, pGuestMsr->u32Msr, &enmRead, &enmWrite);
     1740            rc = CPUMVmxGetMsrPermission(pVCpu->hm.s.vmx.pvMsrBitmap, pGuestMsr->u32Msr, &enmRead, &enmWrite);
    17411741            AssertMsgReturnVoid(rc == VINF_SUCCESS, ("HMVmxGetMsrPermission! failed. rc=%Rrc\n", rc));
    17421742            if (pGuestMsr->u32Msr == MSR_K6_EFER)
     
    1196311963            VMXMSREXITREAD  enmRead;
    1196411964            VMXMSREXITWRITE enmWrite;
    11965             int rc2 = HMVmxGetMsrPermission(pVCpu->hm.s.vmx.pvMsrBitmap, idMsr, &enmRead, &enmWrite);
     11965            int rc2 = CPUMVmxGetMsrPermission(pVCpu->hm.s.vmx.pvMsrBitmap, idMsr, &enmRead, &enmWrite);
    1196611966            AssertRCReturn(rc2, rc2);
    1196711967            if (enmRead == VMXMSREXIT_PASSTHRU_READ)
     
    1210812108                        VMXMSREXITREAD  enmRead;
    1210912109                        VMXMSREXITWRITE enmWrite;
    12110                         int rc2 = HMVmxGetMsrPermission(pVCpu->hm.s.vmx.pvMsrBitmap, idMsr, &enmRead, &enmWrite);
     12110                        int rc2 = CPUMVmxGetMsrPermission(pVCpu->hm.s.vmx.pvMsrBitmap, idMsr, &enmRead, &enmWrite);
    1211112111                        AssertRCReturn(rc2, rc2);
    1211212112                        if (enmWrite == VMXMSREXIT_PASSTHRU_WRITE)
Note: See TracChangeset for help on using the changeset viewer.

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