VirtualBox

Changeset 56628 in vbox for trunk/src/VBox/VMM/VMMRC


Ignore:
Timestamp:
Jun 24, 2015 7:44:56 PM (10 years ago)
Author:
vboxsync
Message:

IEM: Postpone INS memory writes to ring-3 if we hit an access handler. We cannot redo the read, that will only mess things us. This introduces a new per-cpu forced flag, VMCPU_FF_IEM, that must cause immediate return to ring-3 where it will be serviced ASAP. IEM will try return VINF_EM_RAW_TO_R3 as well to help make sure we get back to ring-3.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMRC/TRPMRCHandlers.cpp

    r56287 r56628  
    213213                                          | VMCPU_FF_REQUEST | VMCPU_FF_PGM_SYNC_CR3 | VMCPU_FF_PGM_SYNC_CR3_NON_GLOBAL
    214214                                          | VMCPU_FF_PDM_CRITSECT
     215                                          | VMCPU_FF_IEM
    215216                                          | VMCPU_FF_SELM_SYNC_GDT | VMCPU_FF_SELM_SYNC_LDT
    216217                                          | VMCPU_FF_SELM_SYNC_TSS | VMCPU_FF_TRPM_SYNC_IDT
     
    223224            rc = VINF_EM_NO_MEMORY;
    224225        /* Pending Ring-3 action. */
    225         else if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TO_R3 | VMCPU_FF_PDM_CRITSECT))
     226        else if (VMCPU_FF_IS_PENDING(pVCpu, VMCPU_FF_TO_R3 | VMCPU_FF_PDM_CRITSECT | VMCPU_FF_IEM))
    226227        {
    227228            VMCPU_FF_CLEAR(pVCpu, VMCPU_FF_TO_R3);
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