VirtualBox

Changeset 18835 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Apr 7, 2009 4:24:55 PM (16 years ago)
Author:
vboxsync
Message:

PGMAllBth.h: Fix for CR3 mismatch assertion in strict builds when nipping back to ring-3 to grab the PGM lock. Grab the lock before entering dangerous waters...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/PGMAllBth.h

    r18790 r18835  
    42544254    /* NOTE: We can't deal with jumps to ring 3 here as we're now in an inconsistent state! */
    42554255    bool fLog = VMMGCLogDisable(pVM);
     4256    pgmLock(pVM);
    42564257#  endif
    42574258
     
    42884289
    42894290#  ifdef IN_RC
     4291    pgmUnlock(pVM);
    42904292    VMMGCLogRestore(pVM, fLog);
    42914293#  endif
     
    43224324    int rc = VINF_SUCCESS;
    43234325
    4324     /* Update guest paging info. */
     4326    /*
     4327     * Update guest paging info.
     4328     */
    43254329#if PGM_GST_TYPE == PGM_TYPE_32BIT
    43264330    pVM->pgm.s.pGst32BitPdR3 = 0;
    4327 #ifndef VBOX_WITH_2X_4GB_ADDR_SPACE
     4331# ifndef VBOX_WITH_2X_4GB_ADDR_SPACE
    43284332    pVM->pgm.s.pGst32BitPdR0 = 0;
    4329 #endif
     4333# endif
    43304334    pVM->pgm.s.pGst32BitPdRC = 0;
    43314335
     
    43574361
    43584362#if !defined(IN_RC) /* In RC we rely on MapCR3 to do the shadow part for us at a safe time */
    4359     /* Update shadow paging info. */
     4363    /*
     4364     * Update shadow paging info.
     4365     */
    43604366# if  (   (   PGM_SHW_TYPE == PGM_TYPE_32BIT  \
    43614367           || PGM_SHW_TYPE == PGM_TYPE_PAE    \
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