VirtualBox

Changeset 18267 in vbox for trunk/src/VBox/VMM/PATM


Ignore:
Timestamp:
Mar 25, 2009 5:50:29 PM (16 years ago)
Author:
vboxsync
Message:

PATM: XP restore frequently crashes here, added todo for now.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PATM/PATMSSM.cpp

    r14887 r18267  
    583583        pPatchRec->patch.pPrivInstrHC   = 0;
    584584        /* The GC virtual ptr is fixed, but we must convert it manually again to HC. */
    585         rc = PGMPhysGCPtr2R3Ptr(pVM, pPatchRec->patch.pPrivInstrGC, (PRTR3PTR)&pPatchRec->patch.pPrivInstrHC);
     585        int rc2 = rc = PGMPhysGCPtr2R3Ptr(pVM, pPatchRec->patch.pPrivInstrGC, (PRTR3PTR)&pPatchRec->patch.pPrivInstrHC);
    586586        /* Can fail due to page or page table not present. */
    587587
     
    614614                    unsigned offset = (pPatchRec->patch.cbPatchJump == SIZEOF_NEARJUMP32) ? 1 : 2;
    615615
    616                     Assert(pPatchRec->patch.pPrivInstrHC);
     616                    /** @todo This will fail & crash in patmCorrectFixup if the page isn't present
     617                     *        when we restore. Happens with my XP image here
     618                     *        (pPrivInstrGC=0x8069e051). */
     619                    AssertLogRelMsg(pPatchRec->patch.pPrivInstrHC, ("%RRv rc=%Rrc\n", pPatchRec->patch.pPrivInstrGC, rc2));
    617620                    rec.pRelocPos = pPatchRec->patch.pPrivInstrHC + offset;
    618621                    pFixup        = (RTRCPTR *)rec.pRelocPos;
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