VirtualBox

Ignore:
Timestamp:
May 27, 2009 12:07:38 PM (16 years ago)
Author:
vboxsync
Message:

Bit more REM locking

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/recompiler/VBoxRecompiler.c

    r20002 r20071  
    28392839    Assert(RT_ALIGN_Z(cb, PAGE_SIZE) == cb);
    28402840    AssertMsg(fFlags == REM_NOTIFY_PHYS_RAM_FLAGS_RAM || fFlags == REM_NOTIFY_PHYS_RAM_FLAGS_MMIO2, ("#x\n", fFlags));
     2841    Assert(!PGMIsLockOwner(pVM));
     2842
     2843    EMR3RemLock(pVM);
    28412844
    28422845    /*
     
    28612864    Assert(pVM->rem.s.fIgnoreAll);
    28622865    pVM->rem.s.fIgnoreAll = false;
     2866    EMR3RemUnlock(pVM);
    28632867}
    28642868
     
    28862890    Assert(cb);
    28872891    Assert(RT_ALIGN_Z(cb, PAGE_SIZE) == cb);
    2888 
     2892    Assert(!PGMIsLockOwner(pVM));
     2893
     2894    EMR3RemLock(pVM);
    28892895    /*
    28902896     * Register the rom.
     
    28972903    Assert(pVM->rem.s.fIgnoreAll);
    28982904    pVM->rem.s.fIgnoreAll = false;
     2905    EMR3RemUnlock(pVM);
    28992906}
    29002907
     
    29182925    Assert(cb);
    29192926    Assert(RT_ALIGN_Z(cb, PAGE_SIZE) == cb);
     2927    Assert(!PGMIsLockOwner(pVM));
     2928
     2929    EMR3RemLock(pVM);
    29202930
    29212931    /*
     
    29292939    Assert(pVM->rem.s.fIgnoreAll);
    29302940    pVM->rem.s.fIgnoreAll = false;
     2941    EMR3RemUnlock(pVM);
    29312942}
    29322943
     
    29512962    Assert(RT_ALIGN_T(GCPhys, PAGE_SIZE, RTGCPHYS) == GCPhys);
    29522963    Assert(RT_ALIGN_T(cb, PAGE_SIZE, RTGCPHYS) == cb);
    2953 
     2964    Assert(!PGMIsLockOwner(pVM));
     2965
     2966    EMR3RemLock(pVM);
    29542967    if (pVM->rem.s.cHandlerNotifications)
    29552968        REMR3ReplayHandlerNotifications(pVM);
     
    29652978    Assert(pVM->rem.s.fIgnoreAll);
    29662979    pVM->rem.s.fIgnoreAll = false;
     2980    EMR3RemUnlock(pVM);
    29672981}
    29682982
     
    29832997          enmType, GCPhys, cb, fHasHCHandler, fRestoreAsRAM, MMR3PhysGetRamSize(pVM)));
    29842998    VM_ASSERT_EMT(pVM);
     2999    Assert(!PGMIsLockOwner(pVM));
     3000
     3001    EMR3RemLock(pVM);
    29853002
    29863003    if (pVM->rem.s.cHandlerNotifications)
     
    30103027    Assert(pVM->rem.s.fIgnoreAll);
    30113028    pVM->rem.s.fIgnoreAll = false;
     3029    EMR3RemUnlock(pVM);
    30123030}
    30133031
     
    30303048    VM_ASSERT_EMT(pVM);
    30313049    AssertReleaseMsg(enmType != PGMPHYSHANDLERTYPE_MMIO, ("enmType=%d\n", enmType));
     3050    Assert(!PGMIsLockOwner(pVM));
     3051
     3052    EMR3RemLock(pVM);
    30323053
    30333054    if (pVM->rem.s.cHandlerNotifications)
     
    30623083        pVM->rem.s.fIgnoreAll = false;
    30633084    }
     3085    EMR3RemUnlock(pVM);
    30643086}
    30653087
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