Lines Matching refs:pUVM

67 static int      pdmR3LoadR0U(PUVM pUVM, const char *pszFilename, const char *pszName, const char *pszSearchPath);
78 * @param pUVM Pointer to the user mode VM structure.
80 VMMR3_INT_DECL(int) PDMR3LdrLoadVMMR0U(PUVM pUVM)
82 return pdmR3LoadR0U(pUVM, NULL, VMMR0_MAIN_MODULE_NAME, NULL);
93 * @param pUVM Pointer to the user mode VM structure.
96 int pdmR3LdrInitU(PUVM pUVM)
102 PVM pVM = pUVM->pVM; AssertPtr(pVM);
119 void pdmR3LdrTermU(PUVM pUVM)
124 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
125 PPDMMOD pModule = pUVM->pdm.s.pModules;
126 pUVM->pdm.s.pModules = NULL;
166 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
176 * @param pUVM Pointer to the user mode VM structure.
179 VMMR3_INT_DECL(void) PDMR3LdrRelocateU(PUVM pUVM, RTGCINTPTR offDelta)
187 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
188 if (pUVM->pdm.s.pModules)
198 for (pCur = pUVM->pdm.s.pModules; pCur; pCur = pCur->pNext)
203 pCur->ImageBase = MMHyperR3ToRC(pUVM->pVM, pCur->pvBits);
208 for (pCur = pUVM->pdm.s.pModules; pCur; pCur = pCur->pNext)
213 Args.pVM = pUVM->pVM;
221 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
239 * @param pUVM Pointer to the user mode VM structure.
243 int pdmR3LoadR3U(PUVM pUVM, const char *pszFilename, const char *pszName)
248 AssertMsg(PDMCritSectIsInitialized(&pUVM->pVM->pdm.s.CritSect), ("bad init order!\n"));
264 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
265 for (pCur = pUVM->pdm.s.pModules; pCur; pCur = pCur->pNext)
273 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
301 pModule->pNext = pUVM->pdm.s.pModules;
302 pUVM->pdm.s.pModules = pModule;
307 rc = VMSetError(pUVM->pVM, rc, RT_SRC_POS,
315 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
397 PUVM pUVM = pVM->pUVM;
398 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
399 PPDMMOD pCur = pUVM->pdm.s.pModules;
415 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
420 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
430 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
453 PUVM pUVM = pVM->pUVM;
454 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
455 PPDMMOD pCur = pUVM->pdm.s.pModules;
460 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
481 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
561 if (pUVM->pdm.s.pModules)
564 pCur = pUVM->pdm.s.pModules;
570 pUVM->pdm.s.pModules = pModule; /* (pNext is zeroed by alloc) */
573 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
598 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
617 * @param pUVM Pointer to the user mode VM structure.
624 static int pdmR3LoadR0U(PUVM pUVM, const char *pszFilename, const char *pszName, const char *pszSearchPath)
629 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
630 PPDMMOD pCur = pUVM->pdm.s.pModules;
635 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
656 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
681 if (pUVM->pdm.s.pModules)
684 pCur = pUVM->pdm.s.pModules;
690 pUVM->pdm.s.pModules = pModule; /* (pNext is zeroed by alloc) */
692 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
697 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
702 if (RT_FAILURE(rc) && pUVM->pVM) /** @todo VMR3SetErrorU. */
703 rc = VMSetError(pUVM->pVM, rc, RT_SRC_POS, N_("Cannot load R0 module %s: %s"), pszFilename, ErrInfo.Core.pszMsg);
734 PUVM pUVM = pVM->pUVM;
735 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
736 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
743 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
759 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
796 PUVM pUVM = pVM->pUVM;
797 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
798 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
804 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
813 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
853 PUVM pUVM = pVM->pUVM;
855 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
856 for (pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
860 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
863 int rc = pdmR3LoadR0U(pUVM, NULL, pszModule, pszSearchPath);
904 PUVM pUVM = pVM->pUVM;
905 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
906 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
913 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
929 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
970 PUVM pUVM = pVM->pUVM;
972 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
973 for (pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
977 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
1278 PUVM pUVM = pVM->pUVM;
1280 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
1281 for (PPDMMOD pCur= pUVM->pdm.s.pModules; pCur; pCur = pCur->pNext)
1338 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
1441 PUVM pUVM = pVM->pUVM;
1443 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
1444 for (PPDMMOD pCur = pUVM->pdm.s.pModules; pCur; pCur = pCur->pNext)
1459 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
1468 * @param pUVM Pointer to the user mode VM structure.
1474 static PPDMMOD pdmR3LdrFindModule(PUVM pUVM, const char *pszModule, PDMMODTYPE enmType,
1477 RTCritSectEnter(&pUVM->pdm.s.ListCritSect);
1478 for (PPDMMOD pModule = pUVM->pdm.s.pModules; pModule; pModule = pModule->pNext)
1482 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
1485 RTCritSectLeave(&pUVM->pdm.s.ListCritSect);
1496 int rc = PDMR3LdrLoadRC(pUVM->pVM, pszFilename, pszModule);
1499 return pdmR3LdrFindModule(pUVM, pszModule, enmType, false, NULL);
1507 int rc = pdmR3LoadR0U(pUVM, NULL, pszModule, pszSearchPath);
1509 return pdmR3LdrFindModule(pUVM, pszModule, enmType, false, NULL);
1571 pModule = pdmR3LdrFindModule(pVM->pUVM,