VirtualBox

Changeset 21652 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Jul 16, 2009 2:09:40 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
50187
Message:

Updates + compile fixes

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

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

    r21649 r21652  
    13801380#endif
    13811381    }
     1382
     1383    /* Clear all patch information. */
     1384    pVM->hwaccm.s.pGuestPatchMem      = 0;
     1385    pVM->hwaccm.s.pFreeGuestPatchMem  = 0;
     1386    pVM->hwaccm.s.cbGuestPatchMem     = 0;
     1387    pVM->hwaccm.s.svm.cPatches        = 0;
     1388    ASMMemZero32(pVM->hwaccm.s.svm.aPatches, sizeof(pVM->hwaccm.s.svm.aPatches));
    13821389}
    13831390
     
    13981405        return VERR_NOT_SUPPORTED;
    13991406
    1400     pVM->hwaccm.s.pGuestPatchMem  = pPatchMem;
    1401     pVM->hwaccm.s.cbGuestPatchMem = cbPatchMem;
     1407    pVM->hwaccm.s.pGuestPatchMem      = pPatchMem;
     1408    pVM->hwaccm.s.pFreeGuestPatchMem  = pPatchMem;
     1409    pVM->hwaccm.s.cbGuestPatchMem     = cbPatchMem;
    14021410    return VINF_SUCCESS;
    14031411}
     
    14131421VMMR3DECL(int)  HWACMMR3DisablePatching(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem)
    14141422{
    1415     pVM->hwaccm.s.pGuestPatchMem  = 0;
    1416     pVM->hwaccm.s.cbGuestPatchMem = 0;
     1423    Assert(pVM->hwaccm.s.pGuestPatchMem == pPatchMem);
     1424    Assert(pVM->hwaccm.s.cbGuestPatchMem == cbPatchMem);
     1425
     1426    pVM->hwaccm.s.pGuestPatchMem      = 0;
     1427    pVM->hwaccm.s.pFreeGuestPatchMem  = 0;
     1428    pVM->hwaccm.s.cbGuestPatchMem     = 0;
    14171429    return VINF_SUCCESS;
    14181430}
     
    18331845        AssertRCReturn(rc, rc);
    18341846
     1847        rc = SSMR3PutMem(pSSM, pPatch->aOpcode, sizeof(pPatch->aOpcode));
     1848        AssertRCReturn(rc, rc);
     1849
    18351850        rc = SSMR3PutU32(pSSM, pPatch->cbOp);
    18361851        AssertRCReturn(rc, rc);
    18371852
    1838         AssertCompile(sizeof(HWACCMTPRINSTR) == sizeof(uint32_t));
     1853        rc = SSMR3PutMem(pSSM, pPatch->aNewOpcode, sizeof(pPatch->aNewOpcode));
     1854        AssertRCReturn(rc, rc);
     1855
     1856        rc = SSMR3PutU32(pSSM, pPatch->cbNewOp);
     1857        AssertRCReturn(rc, rc);
     1858
     1859        AssertCompileSize(HWACCMTPRINSTR == 4);
    18391860        rc = SSMR3PutU32(pSSM, (uint32_t)&pPatch->enmType);
    18401861        AssertRCReturn(rc, rc);
     
    19271948            AssertRCReturn(rc, rc);
    19281949
     1950            rc = SSMR3GetMem(pSSM, pPatch->aOpcode, sizeof(pPatch->aOpcode));
     1951            AssertRCReturn(rc, rc);
     1952
    19291953            rc = SSMR3GetU32(pSSM, &pPatch->cbOp);
    19301954            AssertRCReturn(rc, rc);
    19311955
    1932             AssertCompile(sizeof(HWACCMTPRINSTR) == sizeof(uint32_t));
     1956            rc = SSMR3GetMem(pSSM, pPatch->aNewOpcode, sizeof(pPatch->aNewOpcode));
     1957            AssertRCReturn(rc, rc);
     1958
     1959            rc = SSMR3GetU32(pSSM, &pPatch->cbNewOp);
     1960            AssertRCReturn(rc, rc);
     1961
    19331962            rc = SSMR3GetU32(pSSM, (uint32_t *)&pPatch->enmType);
    19341963            AssertRCReturn(rc, rc);
  • trunk/src/VBox/VMM/HWACCMInternal.h

    r21649 r21652  
    210210    /** Instruction size. */
    211211    uint32_t                cbOp;
     212    /** Replacement opcode. */
     213    uint8_t                 aNewOpcode[16];
     214    /** Replacement instruction size. */
     215    uint32_t                cbNewOp;
    212216    /** Instruction type. */
    213217    HWACCMTPRINSTR          enmType;
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