VirtualBox

Changeset 72229 in vbox


Ignore:
Timestamp:
May 17, 2018 9:07:22 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
122672
Message:

NEM/win: Always set HvX64RegisterDeliverabilityNotifications on exit if we're waiting to deliver an interrupt or NMI. This fixes the NT OS loader up/down hang.

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

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/NEMAllNativeTemplate-win.cpp.h

    r72221 r72229  
    19611961        /*
    19621962         * Ensure that hyper-V has the whole state.
     1963         * (We always update the interrupt windows settings when active as hyper-V seems
     1964         * to forget about it after an exit.)
    19631965         */
    19641966        if (      (pCtx->fExtrn & (CPUMCTX_EXTRN_ALL | CPUMCTX_EXTRN_NEM_WIN_MASK))
    19651967               !=                 (CPUMCTX_EXTRN_ALL | CPUMCTX_EXTRN_NEM_WIN_MASK)
     1968            || pVCpu->nem.s.fDesiredInterruptWindows
    19661969            || pVCpu->nem.s.fCurrentInterruptWindows != pVCpu->nem.s.fDesiredInterruptWindows)
    19671970        {
  • trunk/src/VBox/VMM/VMMR0/NEMR0Native-win.cpp

    r72221 r72229  
    10591059        Assert(!(fWhat & CPUMCTX_EXTRN_NEM_WIN_INHIBIT_NMI));
    10601060
    1061     /* Interrupt windows. */
     1061    /* Interrupt windows. Always set if active as Hyper-V seems to be forgetful. */
    10621062    uint8_t const fDesiredIntWin = pVCpu->nem.s.fDesiredInterruptWindows;
    1063     if (pVCpu->nem.s.fCurrentInterruptWindows != fDesiredIntWin)
     1063    if (   fDesiredIntWin
     1064        || pVCpu->nem.s.fCurrentInterruptWindows != fDesiredIntWin)
    10641065    {
    10651066        pVCpu->nem.s.fCurrentInterruptWindows = pVCpu->nem.s.fDesiredInterruptWindows;
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