Lines Matching defs:pModule

59     PPDMMOD     pModule;
125 PPDMMOD pModule = pUVM->pdm.s.pModules;
127 while (pModule)
130 if (pModule->hLdrMod != NIL_RTLDRMOD)
132 int rc2 = RTLdrClose(pModule->hLdrMod);
134 pModule->hLdrMod = NIL_RTLDRMOD;
138 switch (pModule->eType)
142 Assert(pModule->ImageBase);
143 int rc2 = SUPR3FreeModule((void *)(uintptr_t)pModule->ImageBase);
145 pModule->ImageBase = 0;
157 AssertMsgFailed(("eType=%d\n", pModule->eType));
160 pModule->pvBits = NULL;
162 void *pvFree = pModule;
163 pModule = pModule->pNext;
214 Args.pModule = pCur;
285 PPDMMOD pModule = (PPDMMOD)RTMemAllocZ(RT_OFFSETOF(PDMMOD, szFilename[cchFilename + cchSuff + 1]));
286 if (pModule)
288 pModule->eType = PDMMOD_TYPE_R3;
289 memcpy(pModule->szName, pszName, cchName); /* memory is zero'd, no need to copy terminator :-) */
290 memcpy(pModule->szFilename, pszFilename, cchFilename);
291 memcpy(&pModule->szFilename[cchFilename], pszSuff, cchSuff);
298 rc = SUPR3HardenedLdrLoadPlugIn(pModule->szFilename, &pModule->hLdrMod, &ErrInfo.Core);
301 pModule->pNext = pUVM->pdm.s.pModules;
302 pUVM->pdm.s.pModules = pModule;
308 N_("Unable to load R3 module %s (%s): %s"), pModule->szFilename, pszName, ErrInfo.Core.pszMsg);
309 RTMemFree(pModule);
336 PPDMMOD pModule = ((PPDMGETIMPORTARGS)pvUser)->pModule;
383 AssertMsg(!pszModule, ("Unknown builtin symbol '%s' for module '%s'!\n", pszSymbol, pModule->szName)); NOREF(pModule);
478 PPDMMOD pModule = (PPDMMOD)RTMemAllocZ(sizeof(*pModule) + strlen(pszFilename));
479 if (!pModule)
485 AssertMsg(strlen(pszName) + 1 < sizeof(pModule->szName),
486 ("pazName is too long (%d chars) max is %d chars.\n", strlen(pszName), sizeof(pModule->szName) - 1));
487 strcpy(pModule->szName, pszName);
488 pModule->eType = PDMMOD_TYPE_RC;
489 strcpy(pModule->szFilename, pszFilename);
501 rc = RTLdrOpen(pszFilename, 0, RTLDRARCH_X86_32, &pModule->hLdrMod);
508 size_t cb = RTLdrSize(pModule->hLdrMod);
516 rc = SUPR3PageAllocEx(cPages, 0 /*fFlags*/, &pModule->pvBits, NULL /*pR0Ptr*/, paPages);
520 rc = MMR3HyperMapPages(pVM, pModule->pvBits, NIL_RTR0PTR,
521 cPages, paPages, pModule->szName, &GCPtr);
529 Assert(MMHyperR3ToRC(pVM, pModule->pvBits) == GCPtr);
530 pModule->ImageBase = GCPtr;
533 Args.pModule = pModule;
534 rc = RTLdrGetBits(pModule->hLdrMod, pModule->pvBits, pModule->ImageBase, pdmR3GetImportRC, &Args);
542 rc = RTLdrGetSymbolEx(pModule->hLdrMod, pModule->pvBits, pModule->ImageBase, UINT32_MAX,
549 rc = SUPR3TracerRegisterModule(~(uintptr_t)0, pModule->szName, pVtgHdr, uValue,
554 LogRel(("PDM: Failed to register tracepoints for '%s': %Rrc\n", pModule->szName, rc));
567 pCur->pNext = pModule;
570 pUVM->pdm.s.pModules = pModule; /* (pNext is zeroed by alloc) */
571 Log(("PDM: RC Module at %RRv %s (%s)\n", (RTRCPTR)pModule->ImageBase, pszName, pszFilename));
583 SUPR3PageFreeEx(pModule->pvBits, cPages);
595 int rc2 = RTLdrClose(pModule->hLdrMod);
606 RTMemFree(pModule);
653 PPDMMOD pModule = (PPDMMOD)RTMemAllocZ(sizeof(*pModule) + strlen(pszFilename));
654 if (!pModule)
660 AssertMsg(strlen(pszName) + 1 < sizeof(pModule->szName),
661 ("pazName is too long (%d chars) max is %d chars.\n", strlen(pszName), sizeof(pModule->szName) - 1));
662 strcpy(pModule->szName, pszName);
663 pModule->eType = PDMMOD_TYPE_R0;
664 strcpy(pModule->szFilename, pszFilename);
675 pModule->hLdrMod = NIL_RTLDRMOD;
676 pModule->ImageBase = (uintptr_t)pvImageBase;
687 pCur->pNext = pModule;
690 pUVM->pdm.s.pModules = pModule; /* (pNext is zeroed by alloc) */
691 Log(("PDM: R0 Module at %RHv %s (%s)\n", (RTR0PTR)pModule->ImageBase, pszName, pszFilename));
698 RTMemFree(pModule);
736 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
738 if ( pModule->eType == PDMMOD_TYPE_R3
739 && !strcmp(pModule->szName, pszModule))
742 int rc = RTLdrGetSymbolEx(pModule->hLdrMod, pModule->pvBits, pModule->ImageBase, UINT32_MAX, pszSymbol, &Value);
798 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
800 if ( pModule->eType == PDMMOD_TYPE_R0
801 && !strcmp(pModule->szName, pszModule))
803 int rc = SUPR3GetSymbolR0((void *)(uintptr_t)pModule->ImageBase, pszSymbol, (void **)ppvValue);
854 PPDMMOD pModule;
856 for (pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
857 if ( pModule->eType == PDMMOD_TYPE_R0
858 && !strcmp(pModule->szName, pszModule))
861 if (!pModule)
906 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
908 if ( pModule->eType == PDMMOD_TYPE_RC
909 && !strcmp(pModule->szName, pszModule))
912 int rc = RTLdrGetSymbolEx(pModule->hLdrMod, pModule->pvBits, pModule->ImageBase, UINT32_MAX, pszSymbol, &Value);
971 PPDMMOD pModule;
973 for (pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
974 if ( pModule->eType == PDMMOD_TYPE_RC
975 && !strcmp(pModule->szName, pszModule))
978 if (!pModule)
1478 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
1479 if ( pModule->eType == enmType
1480 && !strcmp(pModule->szName, pszModule))
1483 return pModule;
1569 PPDMMOD pModule = NULL;
1571 pModule = pdmR3LdrFindModule(pVM->pUVM,
1575 if (pModule || fNullRun)
1658 rc = SUPR3GetSymbolR0((void *)(RTR0PTR)pModule->ImageBase, szSymbol, &pvValue);
1659 AssertMsgRCBreak(rc, ("Couldn't find symbol '%s' in module '%s'\n", szSymbol, pModule->szName));
1675 rc = RTLdrGetSymbolEx(pModule->hLdrMod, pModule->pvBits, pModule->ImageBase, UINT32_MAX, szSymbol, &Value);
1676 AssertMsgRCBreak(rc, ("Couldn't find symbol '%s' in module '%s'\n", szSymbol, pModule->szName));