VirtualBox

Changeset 48421 in vbox


Ignore:
Timestamp:
Sep 11, 2013 9:23:32 AM (11 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Clear interrupt-window exiting control on premature returns to ring-3 before injecting an event.

File:
1 edited

Legend:

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

    r48407 r48421  
    69126912
    69136913/**
    6914  * Clears the current event in the VMCS.
     6914 * Clears the interrupt-window exiting control in the VMCS and if necessary
     6915 * clears the current event in the VMCS as well.
    69156916 *
    69166917 * @returns VBox status code.
     
    69236924static void hmR0VmxClearEventVmcs(PVMCPU pVCpu)
    69246925{
     6926    int rc;
     6927
     6928    /* Clear interrupt-window exiting control. */
     6929    if (pVCpu->hm.s.vmx.u32ProcCtls & VMX_VMCS_CTRL_PROC_EXEC_INT_WINDOW_EXIT)
     6930    {
     6931        pVCpu->hm.s.vmx.u32ProcCtls &= ~VMX_VMCS_CTRL_PROC_EXEC_INT_WINDOW_EXIT;
     6932        rc = VMXWriteVmcs32(VMX_VMCS32_CTRL_PROC_EXEC, pVCpu->hm.s.vmx.u32ProcCtls);
     6933        AssertRC(rc);
     6934    }
     6935
    69256936    if (!pVCpu->hm.s.Event.fPending)
    69266937        return;
     
    69286939#ifdef VBOX_STRICT
    69296940    uint32_t u32EntryInfo;
    6930     int rc2 = VMXReadVmcs32(VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO, &u32EntryInfo);
    6931     AssertRC(rc2);
     6941    rc = VMXReadVmcs32(VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO, &u32EntryInfo);
     6942    AssertRC(rc);
    69326943    Assert(VMX_ENTRY_INTERRUPTION_INFO_VALID(u32EntryInfo));
    69336944#endif
    69346945
    69356946    /* Clear the entry-interruption field (including the valid bit). */
    6936     int rc = VMXWriteVmcs32(VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO, 0);
     6947    rc = VMXWriteVmcs32(VMX_VMCS32_CTRL_ENTRY_INTERRUPTION_INFO, 0);
    69376948    AssertRC(rc);
    69386949
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