VirtualBox

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


Ignore:
Timestamp:
Mar 5, 2020 1:43:54 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
136347
Message:

VMM/HMSVMR0: If the #NPF exit handler requested emulation of the current instruction and an event caused the #NPF
in the first place, don't lose the original event. Rather than emulate, re-inject the original event through IEM.

File:
1 edited

Legend:

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

    r83066 r83209  
    68806880     */
    68816881    if (pVCpu->hm.s.Event.fPending)
     6882    {
    68826883        STAM_COUNTER_INC(&pVCpu->hm.s.StatInjectReflectNPF);
     6884
     6885        /*
     6886         * If the #NPF handler requested emulation of the instruction, ignore it.
     6887         * We need to re-inject the original event so as to not lose it.
     6888         * Reproducible when booting ReactOS 0.4.12 with BTRFS (installed using BootCD,
     6889         * LiveCD is broken for other reasons).
     6890         */
     6891        if (rc == VINF_EM_RAW_EMULATE_INSTR)
     6892            rc = VINF_EM_RAW_INJECT_TRPM_EVENT;
     6893    }
    68836894
    68846895    return rc;
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