VirtualBox

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


Ignore:
Timestamp:
May 1, 2013 12:05:16 PM (12 years ago)
Author:
vboxsync
Message:

VMM/HMVMXR0: Assertion and clarified todo comment.

File:
1 edited

Legend:

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

    r45861 r45865  
    57735773           && !(uIntrState & VMX_VMCS_GUEST_INTERRUPTIBILITY_STATE_BLOCK_SMI));
    57745774    Assert(!fBlockSti || pMixedCtx->eflags.Bits.u1IF);       /* Cannot set block-by-STI when interrupts are disabled. */
     5775    Assert(!TRPMHasTrap(pVCpu));
    57755776
    57765777    int rc = VINF_SUCCESS;
     
    64726473
    64736474    /*
    6474      * This clears force-flags, TRPM traps & pending HM events. We cannot safely restore the state if we exit to ring-3
    6475      * (before running guest code) after calling this function (e.g. how do we reverse the effects of calling PDMGetInterrupt()?)
    6476      * This is why this is done after all possible exits-to-ring-3 paths in this code.
     6475     * Evaluates and injects any pending events, toggling force-flags and updating the guest-interruptibility
     6476     * state (interrupt shadow) in the VMCS. This -can- potentially be reworked to be done before disabling
     6477     * interrupts and handle returning to ring-3 afterwards, but requires very careful state restoration.
    64776478     */
    6478     /** @todo r=bird: You reverse the effect of calling PDMGetInterrupt by
    6479      *        handing it over to TPRM like we do in REMR3StateBack using
    6480      *        TRPMAssertTrap and the other setters. */
     6479    /** @todo Rework event evaluation and injection to be complete separate. */
    64816480    rc = hmR0VmxInjectPendingEvent(pVCpu, pMixedCtx);
    64826481    AssertRCReturn(rc, rc);
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