Changeset 21652 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Jul 16, 2009 2:09:40 PM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 50187
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/HWACCM.cpp
r21649 r21652 1380 1380 #endif 1381 1381 } 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)); 1382 1389 } 1383 1390 … … 1398 1405 return VERR_NOT_SUPPORTED; 1399 1406 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; 1402 1410 return VINF_SUCCESS; 1403 1411 } … … 1413 1421 VMMR3DECL(int) HWACMMR3DisablePatching(PVM pVM, RTGCPTR pPatchMem, unsigned cbPatchMem) 1414 1422 { 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; 1417 1429 return VINF_SUCCESS; 1418 1430 } … … 1833 1845 AssertRCReturn(rc, rc); 1834 1846 1847 rc = SSMR3PutMem(pSSM, pPatch->aOpcode, sizeof(pPatch->aOpcode)); 1848 AssertRCReturn(rc, rc); 1849 1835 1850 rc = SSMR3PutU32(pSSM, pPatch->cbOp); 1836 1851 AssertRCReturn(rc, rc); 1837 1852 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); 1839 1860 rc = SSMR3PutU32(pSSM, (uint32_t)&pPatch->enmType); 1840 1861 AssertRCReturn(rc, rc); … … 1927 1948 AssertRCReturn(rc, rc); 1928 1949 1950 rc = SSMR3GetMem(pSSM, pPatch->aOpcode, sizeof(pPatch->aOpcode)); 1951 AssertRCReturn(rc, rc); 1952 1929 1953 rc = SSMR3GetU32(pSSM, &pPatch->cbOp); 1930 1954 AssertRCReturn(rc, rc); 1931 1955 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 1933 1962 rc = SSMR3GetU32(pSSM, (uint32_t *)&pPatch->enmType); 1934 1963 AssertRCReturn(rc, rc); -
trunk/src/VBox/VMM/HWACCMInternal.h
r21649 r21652 210 210 /** Instruction size. */ 211 211 uint32_t cbOp; 212 /** Replacement opcode. */ 213 uint8_t aNewOpcode[16]; 214 /** Replacement instruction size. */ 215 uint32_t cbNewOp; 212 216 /** Instruction type. */ 213 217 HWACCMTPRINSTR enmType;
Note:
See TracChangeset
for help on using the changeset viewer.