VirtualBox

Changeset 78874 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
May 30, 2019 11:32:08 AM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
130986
Message:

VMM/HMVMXR0: Nested VMX: bugref:9180 Host-NMI VM-exit helper.

File:
1 edited

Legend:

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

    r78873 r78874  
    478478static VBOXSTRICTRC hmR0VmxExitMovFromCrX(PVMCPU pVCpu, PCVMXVMCSINFO pVmcsInfo, uint8_t cbInstr, uint8_t iGReg, uint8_t iCrReg);
    479479static VBOXSTRICTRC hmR0VmxExitMovToCrX(PVMCPU pVCpu, PCVMXVMCSINFO pVmcsInfo, uint8_t cbInstr, uint8_t iGReg, uint8_t iCrReg);
     480static VBOXSTRICTRC hmR0VmxExitHostNmi(PVMCPU pVCpu);
    480481/** @} */
    481482
     
    1200912010        int rc2 = hmR0VmxReadExitIntInfoVmcs(pVmxTransient);
    1201012011        AssertRCReturn(rc2, rc2);
    12011         uint32_t uIntType = VMX_EXIT_INT_INFO_TYPE(pVmxTransient->uExitIntInfo);
     12012        uint32_t const uIntType = VMX_EXIT_INT_INFO_TYPE(pVmxTransient->uExitIntInfo);
    1201212013        if (uIntType == VMX_EXIT_INT_INFO_TYPE_NMI)
    12013             return hmR0VmxExitXcptOrNmi(pVCpu, pVmxTransient);
     12014            return hmR0VmxExitHostNmi(pVCpu);
    1201412015    }
    1201512016
     
    1307713078         * [2] -- See Intel spec. 27.5.5 "Updating Non-Register State".
    1307813079         */
    13079         VMXDispatchHostNmi();
    13080         STAM_REL_COUNTER_INC(&pVCpu->hm.s.StatExitHostNmiInGC);
    13081         STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExitXcptNmi, y3);
    13082         return VINF_SUCCESS;
     13080        return hmR0VmxExitHostNmi(pVCpu);
    1308313081    }
    1308413082
     
    1541915417
    1542015418
     15419/**
     15420 * VM-exit helper for handling host NMIs.
     15421 */
     15422static VBOXSTRICTRC hmR0VmxExitHostNmi(PVMCPU pVCpu)
     15423{
     15424    VMXDispatchHostNmi();
     15425
     15426    STAM_REL_COUNTER_INC(&pVCpu->hm.s.StatExitHostNmiInGC);
     15427    STAM_PROFILE_ADV_STOP(&pVCpu->hm.s.StatExitXcptNmi, y3);
     15428    return VINF_SUCCESS;
     15429}
     15430
     15431
    1542115432#ifdef VBOX_WITH_NESTED_HWVIRT_VMX
    1542215433/** @name VMX instruction handlers.
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