- Timestamp:
- Jun 4, 2007 12:01:53 PM (18 years ago)
- Location:
- trunk/src/VBox/VMM/PATM
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/PATM/CSAM.cpp
r2981 r3020 552 552 * 553 553 */ 554 static HCPTRTYPE(void *) CSAMGCVirtToHCVirt(PVM pVM, PCSAMP2GLOOKUPREC pCacheRec, GCPTRTYPE(uint8_t *) pGCPtr)554 static HCPTRTYPE(void *) CSAMGCVirtToHCVirt(PVM pVM, PCSAMP2GLOOKUPREC pCacheRec, GCPTRTYPE(uint8_t *) pGCPtr) 555 555 { 556 556 int rc; 557 HCPTRTYPE(void *) pHCPtr;557 HCPTRTYPE(void *) pHCPtr; 558 558 559 559 STAM_PROFILE_START(&pVM->csam.s.StatTimeAddrConv, a); … … 1076 1076 int rc = VWRN_CONTINUE_ANALYSIS; 1077 1077 uint32_t opsize; 1078 HCPTRTYPE(uint8_t *) pCurInstrHC = 0;1078 HCPTRTYPE(uint8_t *) pCurInstrHC = 0; 1079 1079 bool disret; 1080 1080 -
trunk/src/VBox/VMM/PATM/PATM.cpp
r2981 r3020 977 977 * 978 978 */ 979 HCPTRTYPE(uint8_t *) PATMGCVirtToHCVirt(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pGCPtr)979 HCPTRTYPE(uint8_t *) PATMGCVirtToHCVirt(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pGCPtr) 980 980 { 981 981 int rc; 982 HCPTRTYPE(uint8_t *) pHCPtr;982 HCPTRTYPE(uint8_t *) pHCPtr; 983 983 uint32_t offset; 984 984 … … 1028 1028 while (true) 1029 1029 { 1030 GCPTRTYPE(uint8_t *) pInstrGC;1031 GCPTRTYPE(uint8_t *) pBranchTargetGC = 0;1030 GCPTRTYPE(uint8_t *) pInstrGC; 1031 GCPTRTYPE(uint8_t *) pBranchTargetGC = 0; 1032 1032 1033 1033 pRec = (PJUMPREC)RTAvlPVRemoveBestFit(&pPatch->JumpTree, 0, true); … … 1605 1605 && (OP_PARM_VTYPE(pCpu->pCurInstr->param1) == OP_PARM_J)) 1606 1606 { 1607 GCPTRTYPE(uint8_t *) pTargetGC = PATMResolveBranch(pCpu, pCurInstrGC);1607 GCPTRTYPE(uint8_t *) pTargetGC = PATMResolveBranch(pCpu, pCurInstrGC); 1608 1608 if (pTargetGC == 0) 1609 1609 { … … 2085 2085 int rc = VWRN_CONTINUE_ANALYSIS; 2086 2086 uint32_t opsize, delta; 2087 HCPTRTYPE(uint8_t *) pCurInstrHC = 0;2087 HCPTRTYPE(uint8_t *) pCurInstrHC = 0; 2088 2088 bool disret; 2089 2089 char szOutput[256]; … … 2256 2256 int rc = VWRN_CONTINUE_ANALYSIS; 2257 2257 uint32_t opsize; 2258 HCPTRTYPE(uint8_t *) pCurInstrHC = 0;2258 HCPTRTYPE(uint8_t *) pCurInstrHC = 0; 2259 2259 bool disret; 2260 2260 #ifdef LOG_ENABLED … … 2368 2368 ) 2369 2369 { 2370 GCPTRTYPE(uint8_t *) addr = PATMResolveBranch(&cpu, pCurInstrGC);2370 GCPTRTYPE(uint8_t *) addr = PATMResolveBranch(&cpu, pCurInstrGC); 2371 2371 if (addr == 0) 2372 2372 { … … 5627 5627 * 5628 5628 */ 5629 PATMR3DECL(RTGCPTR) PATMR3GuestGCPtrToPatchGCPtr(PVM pVM, GCPTRTYPE(uint8_t*) pInstrGC)5629 PATMR3DECL(RTGCPTR) PATMR3GuestGCPtrToPatchGCPtr(PVM pVM, GCPTRTYPE(uint8_t*) pInstrGC) 5630 5630 { 5631 5631 PPATMPATCHREC pPatchRec = (PPATMPATCHREC)RTAvloGCPtrGetBestFit(&pVM->patm.s.PatchLookupTreeHC->PatchTree, pInstrGC, false); -
trunk/src/VBox/VMM/PATM/PATMInternal.h
r2981 r3020 135 135 136 136 uint32_t uType; 137 HCPTRTYPE(uint8_t *) pRelocPos;137 HCPTRTYPE(uint8_t *) pRelocPos; 138 138 RTGCPTR pSource; 139 139 RTGCPTR pDest; … … 153 153 AVLPVNODECORE Core; 154 154 155 HCPTRTYPE(uint8_t *) pJumpHC;156 GCPTRTYPE(uint8_t *) pTargetGC;155 HCPTRTYPE(uint8_t *) pJumpHC; 156 GCPTRTYPE(uint8_t *) pTargetGC; 157 157 uint32_t offDispl; 158 158 uint32_t opcode; … … 327 327 uint32_t cMaxPatches; 328 328 /** Array of patch pointers for this page. */ 329 HCPTRTYPE(PPATCHINFO *) aPatch;329 HCPTRTYPE(PPATCHINFO *) aPatch; 330 330 } PATMPATCHPAGE, *PPATMPATCHPAGE; 331 331 … … 527 527 #ifdef IN_RING3 528 528 RTGCPTR patmPatchGCPtr2GuestGCPtr(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pPatchGC); 529 RTGCPTR patmGuestGCPtrToPatchGCPtr(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t*) pInstrGC);529 RTGCPTR patmGuestGCPtrToPatchGCPtr(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t*) pInstrGC); 530 530 #endif 531 531 … … 616 616 * 617 617 */ 618 HCPTRTYPE(uint8_t *) PATMGCVirtToHCVirt(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pGCPtr);618 HCPTRTYPE(uint8_t *) PATMGCVirtToHCVirt(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pGCPtr); 619 619 620 620 … … 656 656 * @param fPatchFlags Patch flags 657 657 */ 658 PATMDECL(const char *) patmGetInstructionString(uint32_t opcode, uint32_t fPatchFlags);658 PATMDECL(const char *) patmGetInstructionString(uint32_t opcode, uint32_t fPatchFlags); 659 659 660 660 -
trunk/src/VBox/VMM/PATM/PATMPatch.cpp
r2981 r3020 128 128 129 129 130 static uint32_t patmPatchGenCode(PVM pVM, PPATCHINFO pPatch, uint8_t *pPB, PPATCHASMRECORD pAsmRecord, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fGenJump,130 static uint32_t patmPatchGenCode(PVM pVM, PPATCHINFO pPatch, uint8_t *pPB, PPATCHASMRECORD pAsmRecord, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fGenJump, 131 131 PPATMCALLINFO pCallInfo = 0) 132 132 { … … 147 147 if (*(uint32_t*)&pPB[j] == pAsmRecord->uReloc[i]) 148 148 { 149 GCPTRTYPE(uint32_t *) dest;149 GCPTRTYPE(uint32_t *) dest; 150 150 151 151 #ifdef VBOX_STRICT … … 464 464 465 465 466 int patmPatchGenPopf(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fSizeOverride, bool fGenJumpBack)466 int patmPatchGenPopf(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fSizeOverride, bool fGenJumpBack) 467 467 { 468 468 uint32_t size; … … 519 519 } 520 520 521 int patmPatchGenLoop(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride)521 int patmPatchGenLoop(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride) 522 522 { 523 523 uint32_t size = 0; … … 564 564 } 565 565 566 int patmPatchGenRelJump(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride)566 int patmPatchGenRelJump(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride) 567 567 { 568 568 uint32_t offset = 0; … … 1547 1547 * @param fClearInhibitIRQs Clear inhibit irq flag 1548 1548 */ 1549 int patmPatchGenJumpToGuest(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fClearInhibitIRQs)1549 int patmPatchGenJumpToGuest(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fClearInhibitIRQs) 1550 1550 { 1551 1551 int rc = VINF_SUCCESS; … … 1575 1575 * Relative jump from patch code to patch code (no fixup required) 1576 1576 */ 1577 int patmPatchGenPatchJump(PVM pVM, PPATCHINFO pPatch, RTGCPTR pCurInstrGC, GCPTRTYPE(uint8_t *) pPatchAddrGC, bool fAddLookupRecord)1577 int patmPatchGenPatchJump(PVM pVM, PPATCHINFO pPatch, RTGCPTR pCurInstrGC, GCPTRTYPE(uint8_t *) pPatchAddrGC, bool fAddLookupRecord) 1578 1578 { 1579 1579 int32_t displ; -
trunk/src/VBox/VMM/PATM/PATMPatch.h
r2981 r3020 31 31 int patmPatchGenMovDebug(PVM pVM, PPATCHINFO pPatch, DISCPUSTATE *pCpu); 32 32 int patmPatchGenMovFromSS(PVM pVM, PPATCHINFO pPatch, DISCPUSTATE *pCpu, RTGCPTR pCurInstrGC); 33 int patmPatchGenRelJump(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride);34 int patmPatchGenLoop(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride);33 int patmPatchGenRelJump(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride); 34 int patmPatchGenLoop(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pTargetGC, uint32_t opcode, bool fSizeOverride); 35 35 int patmPatchGenPushf(PVM pVM, PPATCHINFO pPatch, bool fSizeOverride); 36 int patmPatchGenPopf(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fSizeOverride, bool fGenJumpBack);36 int patmPatchGenPopf(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fSizeOverride, bool fGenJumpBack); 37 37 int patmPatchGenSti(PVM pVM, PPATCHINFO pPatch, RTGCPTR pCurInstrGC, RTGCPTR pNextInstrGC); 38 38 … … 47 47 int patmPatchGenRet(PVM pVM, PPATCHINFO pPatch, DISCPUSTATE *pCpu, GCPTRTYPE(uint8_t *) pCurInstrGC); 48 48 49 int patmPatchGenPatchJump(PVM pVM, PPATCHINFO pPatch, RTGCPTR pCurInstrGC, GCPTRTYPE(uint8_t *) pPatchAddrGC, bool fAddLookupRecord = true);49 int patmPatchGenPatchJump(PVM pVM, PPATCHINFO pPatch, RTGCPTR pCurInstrGC, GCPTRTYPE(uint8_t *) pPatchAddrGC, bool fAddLookupRecord = true); 50 50 51 51 /** … … 89 89 * @param fClearInhibitIRQs Clear inhibit irq flag 90 90 */ 91 int patmPatchGenJumpToGuest(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fClearInhibitIRQs = false);91 int patmPatchGenJumpToGuest(PVM pVM, PPATCHINFO pPatch, GCPTRTYPE(uint8_t *) pReturnAddrGC, bool fClearInhibitIRQs = false); 92 92 93 93 /** -
trunk/src/VBox/VMM/PATM/VMMAll/PATMAll.cpp
r2981 r3020 530 530 * @param fPatchFlags Patch flags 531 531 */ 532 PATMDECL(const char *) patmGetInstructionString(uint32_t opcode, uint32_t fPatchFlags)532 PATMDECL(const char *) patmGetInstructionString(uint32_t opcode, uint32_t fPatchFlags) 533 533 { 534 534 const char *pszInstr = NULL;
Note:
See TracChangeset
for help on using the changeset viewer.