VirtualBox

Changeset 30231 in vbox


Ignore:
Timestamp:
Jun 16, 2010 9:32:13 AM (15 years ago)
Author:
vboxsync
Message:

Chunk mapping calls can arrive from any thread now because of page fusion (shared page already mapped into the address space, but ring-3
data not updated yet)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PGMPhys.cpp

    r29646 r30231  
    33853385    if (pVM->pgm.s.ChunkR3Map.c >= pVM->pgm.s.ChunkR3Map.cMax)
    33863386        Req.idChunkUnmap = pgmR3PhysChunkFindUnmapCandidate(pVM);
    3387 /** @todo This is wrong. Any thread in the VM process should be able to do this,
    3388  *        there are depenenecies on this.  What currently saves the day is that
    3389  *        we don't unmap anything and that all non-zero memory will therefore
    3390  *        be present when non-EMTs tries to access it.  */
    3391     rc = VMMR3CallR0(pVM, VMMR0_DO_GMM_MAP_UNMAP_CHUNK, 0, &Req.Hdr);
     3387
     3388    /* Must be callable from any thread, so can't use VMMR3CallR0. */
     3389    rc = SUPR3CallVMMR0Ex(pVM->pVMR0, pVCpu->idCpu, VMMR0_DO_GMM_MAP_UNMAP_CHUNK, 0, &Req.Hdr);
    33923390    if (RT_SUCCESS(rc))
    33933391    {
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