Changeset 93470 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Jan 27, 2022 11:51:28 PM (3 years ago)
- Location:
- trunk/src/VBox/VMM/VMMR3
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/CFGM.cpp
r93444 r93470 60 60 #include <VBox/vmm/dbgf.h> 61 61 #include <VBox/vmm/mm.h> 62 #include <VBox/vmm/vmm.h> 62 63 #include "CFGMInternal.h" 63 64 #include <VBox/vmm/vm.h> 64 65 #include <VBox/vmm/uvm.h> 65 #include <VBox/vmm/vmmr3vtable.h>66 66 #include <VBox/err.h> 67 67 -
trunk/src/VBox/VMM/VMMR3/DBGFOS.cpp
r93115 r93470 23 23 #include <VBox/vmm/dbgf.h> 24 24 #include <VBox/vmm/mm.h> 25 #include <VBox/vmm/vmm.h> 25 26 #include "DBGFInternal.h" 26 27 #include <VBox/vmm/uvm.h> … … 116 117 if (pUVM->dbgf.s.pCurOS) 117 118 { 118 pUVM->dbgf.s.pCurOS->pReg->pfnTerm(pUVM, pUVM->dbgf.s.pCurOS->abData);119 pUVM->dbgf.s.pCurOS->pReg->pfnTerm(pUVM, VMMR3GetVTable(), pUVM->dbgf.s.pCurOS->abData); 119 120 pUVM->dbgf.s.pCurOS = NULL; 120 121 } … … 144 145 pUVM->dbgf.s.pOSHead = pOS->pNext; 145 146 if (pOS->pReg->pfnDestruct) 146 pOS->pReg->pfnDestruct(pUVM, pOS->abData);147 pOS->pReg->pfnDestruct(pUVM, VMMR3GetVTable(), pOS->abData); 147 148 148 149 PDBGFOSEMTWRAPPER pFree = pOS->pWrapperHead; … … 189 190 pOS->pReg = pReg; 190 191 191 int rc = pOS->pReg->pfnConstruct(pUVM, pOS->abData);192 int rc = pOS->pReg->pfnConstruct(pUVM, VMMR3GetVTable(), pOS->abData); 192 193 if (RT_SUCCESS(rc)) 193 194 { … … 200 201 { 201 202 if (pOS->pReg->pfnDestruct) 202 pOS->pReg->pfnDestruct(pUVM, pOS->abData);203 pOS->pReg->pfnDestruct(pUVM, VMMR3GetVTable(), pOS->abData); 203 204 MMR3HeapFree(pOS); 204 205 } … … 291 292 */ 292 293 if (fWasCurOS) 293 pOS->pReg->pfnTerm(pUVM, pOS->abData);294 pOS->pReg->pfnTerm(pUVM, VMMR3GetVTable(), pOS->abData); 294 295 if (pOS->pReg->pfnDestruct) 295 pOS->pReg->pfnDestruct(pUVM, pOS->abData);296 pOS->pReg->pfnDestruct(pUVM, VMMR3GetVTable(), pOS->abData); 296 297 297 298 PDBGFOSEMTWRAPPER pFree = pOS->pWrapperHead; … … 371 372 372 373 for (PDBGFOS pNewOS = pUVM->dbgf.s.pOSHead; pNewOS; pNewOS = pNewOS->pNext) 373 if (pNewOS->pReg->pfnProbe(pUVM, pNewOS->abData))374 if (pNewOS->pReg->pfnProbe(pUVM, VMMR3GetVTable(), pNewOS->abData)) 374 375 { 375 376 int rc; 376 377 pUVM->dbgf.s.pCurOS = pNewOS; 377 378 if (pOldOS == pNewOS) 378 rc = pNewOS->pReg->pfnRefresh(pUVM, pNewOS->abData);379 rc = pNewOS->pReg->pfnRefresh(pUVM, VMMR3GetVTable(), pNewOS->abData); 379 380 else 380 381 { 381 382 if (pOldOS) 382 pOldOS->pReg->pfnTerm(pUVM, pNewOS->abData);383 rc = pNewOS->pReg->pfnInit(pUVM, pNewOS->abData);383 pOldOS->pReg->pfnTerm(pUVM, VMMR3GetVTable(), pNewOS->abData); 384 rc = pNewOS->pReg->pfnInit(pUVM, VMMR3GetVTable(), pNewOS->abData); 384 385 } 385 386 if (pszName && cchName) … … 392 393 /* not found */ 393 394 if (pOldOS) 394 pOldOS->pReg->pfnTerm(pUVM, pOldOS->abData);395 pOldOS->pReg->pfnTerm(pUVM, VMMR3GetVTable(), pOldOS->abData); 395 396 396 397 DBGF_OS_WRITE_UNLOCK(pUVM); … … 463 464 if (pszVersion && cchVersion) 464 465 { 465 int rc2 = pUVM->dbgf.s.pCurOS->pReg->pfnQueryVersion(pUVM, pUVM->dbgf.s.pCurOS->abData, pszVersion, cchVersion); 466 int rc2 = pUVM->dbgf.s.pCurOS->pReg->pfnQueryVersion(pUVM, VMMR3GetVTable(), pUVM->dbgf.s.pCurOS->abData, 467 pszVersion, cchVersion); 466 468 if (RT_FAILURE(rc2) || rc == VINF_SUCCESS) 467 469 rc = rc2; … … 516 518 * @interface_method_impl{DBGFOSIDMESG,pfnQueryKernelLog, Generic EMT wrapper.} 517 519 */ 518 static DECLCALLBACK(int) dbgfR3OSEmtIDmesg_QueryKernelLog(PDBGFOSIDMESG pThis, PUVM pUVM, uint32_t fFlags, uint32_t cMessages,519 char *pszBuf, size_t cbBuf, size_t *pcbActual)520 static DECLCALLBACK(int) dbgfR3OSEmtIDmesg_QueryKernelLog(PDBGFOSIDMESG pThis, PUVM pUVM, PCVMMR3VTABLE pVMM, uint32_t fFlags, 521 uint32_t cMessages, char *pszBuf, size_t cbBuf, size_t *pcbActual) 520 522 { 521 523 PDBGFOSEMTWRAPPER pWrapper = RT_FROM_MEMBER(pThis, DBGFOSEMTWRAPPER, uWrapper.Dmesg); … … 529 531 530 532 return VMR3ReqPriorityCallWaitU(pWrapper->pUVM, 0 /*idDstCpu*/, 531 (PFNRT)pWrapper->uDigger.pDmesg->pfnQueryKernelLog, 7,532 pWrapper->uDigger.pDmesg, pUVM, fFlags, cMessages, pszBuf, cbBuf, pcbActual);533 (PFNRT)pWrapper->uDigger.pDmesg->pfnQueryKernelLog, 8, 534 pWrapper->uDigger.pDmesg, pUVM, pVMM, fFlags, cMessages, pszBuf, cbBuf, pcbActual); 533 535 534 536 } … … 538 540 * @interface_method_impl{DBGFOSIWINNT,pfnQueryVersion, Generic EMT wrapper.} 539 541 */ 540 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryVersion(PDBGFOSIWINNT pThis, PUVM pUVM, uint32_t *puVersMajor, uint32_t *puVersMinor,541 uint32_t *pu BuildNumber, bool *pf32Bit)542 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryVersion(PDBGFOSIWINNT pThis, PUVM pUVM, PCVMMR3VTABLE pVMM, uint32_t *puVersMajor, 543 uint32_t *puVersMinor, uint32_t *puBuildNumber, bool *pf32Bit) 542 544 { 543 545 PDBGFOSEMTWRAPPER pWrapper = RT_FROM_MEMBER(pThis, DBGFOSEMTWRAPPER, uWrapper.WinNt); … … 546 548 547 549 return VMR3ReqPriorityCallWaitU(pWrapper->pUVM, 0 /*idDstCpu*/, 548 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryVersion, 6,549 pWrapper->uDigger.pWinNt, pUVM, p uVersMajor, puVersMinor,550 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryVersion, 7, 551 pWrapper->uDigger.pWinNt, pUVM, pVMM, puVersMajor, puVersMinor, 550 552 puBuildNumber, pf32Bit); 551 553 } … … 555 557 * @interface_method_impl{DBGFOSIWINNT,pfnQueryKernelPtrs, Generic EMT wrapper.} 556 558 */ 557 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryKernelPtrs(PDBGFOSIWINNT pThis, PUVM pUVM, 559 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryKernelPtrs(PDBGFOSIWINNT pThis, PUVM pUVM, PCVMMR3VTABLE pVMM, 558 560 PRTGCUINTPTR pGCPtrKernBase, PRTGCUINTPTR pGCPtrPsLoadedModuleList) 559 561 { … … 563 565 564 566 return VMR3ReqPriorityCallWaitU(pWrapper->pUVM, 0 /*idDstCpu*/, 565 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryKernelPtrs, 4,566 pWrapper->uDigger.pWinNt, pUVM, p GCPtrKernBase, pGCPtrPsLoadedModuleList);567 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryKernelPtrs, 5, 568 pWrapper->uDigger.pWinNt, pUVM, pVMM, pGCPtrKernBase, pGCPtrPsLoadedModuleList); 567 569 } 568 570 … … 571 573 * @interface_method_impl{DBGFOSIWINNT,pfnQueryKpcrForVCpu, Generic EMT wrapper.} 572 574 */ 573 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryKpcrForVCpu(struct DBGFOSIWINNT *pThis, PUVM pUVM, VMCPUID idCpu,574 PRTGCUINTPTR pKpcr, PRTGCUINTPTR pKpcrb)575 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryKpcrForVCpu(struct DBGFOSIWINNT *pThis, PUVM pUVM, PCVMMR3VTABLE pVMM, 576 VMCPUID idCpu, PRTGCUINTPTR pKpcr, PRTGCUINTPTR pKpcrb) 575 577 { 576 578 PDBGFOSEMTWRAPPER pWrapper = RT_FROM_MEMBER(pThis, DBGFOSEMTWRAPPER, uWrapper.WinNt); … … 579 581 580 582 return VMR3ReqPriorityCallWaitU(pWrapper->pUVM, 0 /*idDstCpu*/, 581 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryKpcrForVCpu, 5,582 pWrapper->uDigger.pWinNt, pUVM, idCpu, pKpcr, pKpcrb);583 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryKpcrForVCpu, 6, 584 pWrapper->uDigger.pWinNt, pUVM, pVMM, idCpu, pKpcr, pKpcrb); 583 585 } 584 586 … … 587 589 * @interface_method_impl{DBGFOSIWINNT,pfnQueryCurThrdForVCpu, Generic EMT wrapper.} 588 590 */ 589 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryCurThrdForVCpu(struct DBGFOSIWINNT *pThis, PUVM pUVM, VMCPUID idCpu,590 PRTGCUINTPTR pCurThrd)591 static DECLCALLBACK(int) dbgfR3OSEmtIWinNt_QueryCurThrdForVCpu(struct DBGFOSIWINNT *pThis, PUVM pUVM, PCVMMR3VTABLE pVMM, 592 VMCPUID idCpu, PRTGCUINTPTR pCurThrd) 591 593 { 592 594 PDBGFOSEMTWRAPPER pWrapper = RT_FROM_MEMBER(pThis, DBGFOSEMTWRAPPER, uWrapper.WinNt); … … 595 597 596 598 return VMR3ReqPriorityCallWaitU(pWrapper->pUVM, 0 /*idDstCpu*/, 597 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryCurThrdForVCpu, 4,598 pWrapper->uDigger.pWinNt, pUVM, idCpu, pCurThrd);599 (PFNRT)pWrapper->uDigger.pWinNt->pfnQueryCurThrdForVCpu, 5, 600 pWrapper->uDigger.pWinNt, pUVM, pVMM, idCpu, pCurThrd); 599 601 } 600 602 … … 622 624 { 623 625 void *pvDiggerIf; 624 pvDiggerIf = pOS->pReg->pfnQueryInterface(pUVM, pUVM->dbgf.s.pCurOS->abData, enmIf);626 pvDiggerIf = pOS->pReg->pfnQueryInterface(pUVM, VMMR3GetVTable(), pUVM->dbgf.s.pCurOS->abData, enmIf); 625 627 if (pvDiggerIf) 626 628 { … … 730 732 PDBGFOS pOS = pUVM->dbgf.s.pCurOS; 731 733 if (pOS) 732 rc = pOS->pReg->pfnStackUnwindAssist(pUVM, pUVM->dbgf.s.pCurOS->abData, idCpu, pFrame,734 rc = pOS->pReg->pfnStackUnwindAssist(pUVM, VMMR3GetVTable(), pUVM->dbgf.s.pCurOS->abData, idCpu, pFrame, 733 735 pState, pInitialCtx, hAs, puScratch); 734 736 DBGF_OS_READ_UNLOCK(pUVM); -
trunk/src/VBox/VMM/VMMR3/DBGFR3PlugIn.cpp
r93115 r93470 23 23 #include <VBox/vmm/dbgf.h> 24 24 #include <VBox/vmm/mm.h> 25 #include <VBox/vmm/vmm.h> 25 26 #include "DBGFInternal.h" 26 27 #include <VBox/vmm/uvm.h> … … 367 368 * Try initialize it. 368 369 */ 369 rc = pPlugIn->pfnEntry(DBGFPLUGINOP_INIT, pUVM, V BOX_VERSION);370 rc = pPlugIn->pfnEntry(DBGFPLUGINOP_INIT, pUVM, VMMR3GetVTable(), VBOX_VERSION); 370 371 if (RT_SUCCESS(rc)) 371 372 { … … 538 539 pUVM->dbgf.s.pPlugInHead = pPlugIn->pNext; 539 540 540 pPlugIn->pfnEntry(DBGFPLUGINOP_TERM, pUVM, 0);541 pPlugIn->pfnEntry(DBGFPLUGINOP_TERM, pUVM, VMMR3GetVTable(), 0); 541 542 RTLdrClose(pPlugIn->hLdrMod); 542 543 … … 568 569 pUVM->dbgf.s.pPlugInHead = pPlugin->pNext; 569 570 570 pPlugin->pfnEntry(DBGFPLUGINOP_TERM, pUVM, 0);571 pPlugin->pfnEntry(DBGFPLUGINOP_TERM, pUVM, VMMR3GetVTable(), 0); 571 572 572 573 int rc2 = RTLdrClose(pPlugin->hLdrMod); -
trunk/src/VBox/VMM/VMMR3/SSM.cpp
r93444 r93470 150 150 #include <VBox/vmm/pdmcritsect.h> 151 151 #include <VBox/vmm/mm.h> 152 #include <VBox/vmm/vmm.h> 152 153 #include "SSMInternal.h" 153 154 #include <VBox/vmm/vm.h> 154 155 #include <VBox/vmm/uvm.h> 155 #include <VBox/vmm/vmmr3vtable.h>156 156 #include <VBox/err.h> 157 157 #include <VBox/log.h> -
trunk/src/VBox/VMM/VMMR3/VM.cpp
r93444 r93470 68 68 #include "VMInternal.h" 69 69 #include <VBox/vmm/vmcc.h> 70 #include <VBox/vmm/vmmr3vtable.h>71 70 72 71 #include <VBox/sup.h>
Note:
See TracChangeset
for help on using the changeset viewer.