diff options
Diffstat (limited to 'src/VBox/Debugger/DBGPlugInSolaris.cpp')
-rw-r--r-- | src/VBox/Debugger/DBGPlugInSolaris.cpp | 140 |
1 files changed, 70 insertions, 70 deletions
diff --git a/src/VBox/Debugger/DBGPlugInSolaris.cpp b/src/VBox/Debugger/DBGPlugInSolaris.cpp index 6f717252..4c7f017b 100644 --- a/src/VBox/Debugger/DBGPlugInSolaris.cpp +++ b/src/VBox/Debugger/DBGPlugInSolaris.cpp @@ -4,7 +4,7 @@ */ /* - * Copyright (C) 2008-2010 Oracle Corporation + * Copyright (C) 2008-2013 Oracle Corporation * * This file is part of VirtualBox Open Source Edition (OSE), as * available from http://www.virtualbox.org. This file is free software; @@ -321,7 +321,7 @@ typedef DBGDIGGERSOLARIS *PDBGDIGGERSOLARIS; #define SOL32_MAX_KRNL_ADDR UINT32_C(0xfffff000) /** Min kernel address. */ -#define SOL64_MIN_KRNL_ADDR UINT64_C(0xFFFFFD8000000000) +#define SOL64_MIN_KRNL_ADDR UINT64_C(0xFFFFC00000000000) /** Max kernel address. */ #define SOL64_MAX_KRNL_ADDR UINT64_C(0xFFFFFFFFFFF00000) @@ -349,14 +349,14 @@ typedef DBGDIGGERSOLARIS *PDBGDIGGERSOLARIS; /******************************************************************************* * Internal Functions * *******************************************************************************/ -static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData); +static DECLCALLBACK(int) dbgDiggerSolarisInit(PUVM pUVM, void *pvData); /** * @copydoc DBGFOSREG::pfnQueryInterface */ -static DECLCALLBACK(void *) dbgDiggerSolarisQueryInterface(PVM pVM, void *pvData, DBGFOSINTERFACE enmIf) +static DECLCALLBACK(void *) dbgDiggerSolarisQueryInterface(PUVM pUVM, void *pvData, DBGFOSINTERFACE enmIf) { return NULL; } @@ -365,7 +365,7 @@ static DECLCALLBACK(void *) dbgDiggerSolarisQueryInterface(PVM pVM, void *pvData /** * @copydoc DBGFOSREG::pfnQueryVersion */ -static DECLCALLBACK(int) dbgDiggerSolarisQueryVersion(PVM pVM, void *pvData, char *pszVersion, size_t cchVersion) +static DECLCALLBACK(int) dbgDiggerSolarisQueryVersion(PUVM pUVM, void *pvData, char *pszVersion, size_t cchVersion) { PDBGDIGGERSOLARIS pThis = (PDBGDIGGERSOLARIS)pvData; Assert(pThis->fValid); @@ -376,9 +376,9 @@ static DECLCALLBACK(int) dbgDiggerSolarisQueryVersion(PVM pVM, void *pvData, ch DBGFADDRESS Addr; SOL_utsname_t UtsName; RTDBGSYMBOL SymUtsName; - int rc = DBGFR3AsSymbolByName(pVM, DBGF_AS_KERNEL, "utsname", &SymUtsName, NULL); + int rc = DBGFR3AsSymbolByName(pUVM, DBGF_AS_KERNEL, "utsname", &SymUtsName, NULL); if (RT_SUCCESS(rc)) - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, SymUtsName.Value), &UtsName, sizeof(UtsName)); + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, SymUtsName.Value), &UtsName, sizeof(UtsName)); if (RT_FAILURE(rc)) { /* @@ -386,10 +386,10 @@ static DECLCALLBACK(int) dbgDiggerSolarisQueryVersion(PVM pVM, void *pvData, ch */ memset(&UtsName, '\0', sizeof(UtsName)); strcpy(&UtsName.sysname[0], "SunOS"); - rc = DBGFR3MemScan(pVM, 0, &pThis->AddrUnixData, SOL_UNIX_MAX_DATA_SEG_SIZE, 1, + rc = DBGFR3MemScan(pUVM, 0, &pThis->AddrUnixData, SOL_UNIX_MAX_DATA_SEG_SIZE, 1, &UtsName.sysname[0], sizeof(UtsName.sysname), &Addr); if (RT_SUCCESS(rc)) - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, Addr.FlatPtr - RT_OFFSETOF(SOL_utsname_t, sysname)), + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, Addr.FlatPtr - RT_OFFSETOF(SOL_utsname_t, sysname)), &UtsName, sizeof(UtsName)); } @@ -422,11 +422,11 @@ static DECLCALLBACK(int) dbgDiggerSolarisQueryVersion(PVM pVM, void *pvData, ch /** * Processes a modctl_t. * - * @param pVM The VM handle. + * @param pUVM The user mode VM handle. * @param pThis Our instance data. * @param pModCtl Pointer to the modctl structure. */ -static void dbgDiggerSolarisProcessModCtl32(PVM pVM, PDBGDIGGERSOLARIS pThis, SOL_modctl_t const *pModCtl) +static void dbgDiggerSolarisProcessModCtl32(PUVM pUVM, PDBGDIGGERSOLARIS pThis, SOL_modctl_t const *pModCtl) { /* skip it if it's not loaded and installed */ AssertCompile2MemberOffsets(SOL_modctl_t, v11_32.mod_loaded, v9_32.mod_loaded); @@ -443,7 +443,7 @@ static void dbgDiggerSolarisProcessModCtl32(PVM pVM, PDBGDIGGERSOLARIS pThis, SO AssertCompile2MemberOffsets(SOL_modctl_t, v11_32.mod_modname, v9_32.mod_modname); char szModName[64]; DBGFADDRESS Addr; - int rc = DBGFR3MemReadString(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, pModCtl->v9_32.mod_modname), szModName, sizeof(szModName)); + int rc = DBGFR3MemReadString(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, pModCtl->v9_32.mod_modname), szModName, sizeof(szModName)); if (RT_FAILURE(rc)) return; if (!RTStrEnd(szModName, sizeof(szModName))) @@ -451,7 +451,7 @@ static void dbgDiggerSolarisProcessModCtl32(PVM pVM, PDBGDIGGERSOLARIS pThis, SO AssertCompile2MemberOffsets(SOL_modctl_t, v11_32.mod_filename, v9_32.mod_filename); char szFilename[256]; - rc = DBGFR3MemReadString(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, pModCtl->v9_32.mod_filename), szFilename, sizeof(szFilename)); + rc = DBGFR3MemReadString(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, pModCtl->v9_32.mod_filename), szFilename, sizeof(szFilename)); if (RT_FAILURE(rc)) strcpy(szFilename, szModName); else if (!RTStrEnd(szFilename, sizeof(szFilename))) @@ -462,7 +462,7 @@ static void dbgDiggerSolarisProcessModCtl32(PVM pVM, PDBGDIGGERSOLARIS pThis, SO */ AssertCompile2MemberOffsets(SOL_modctl_t, v11_32.mod_mp, v9_32.mod_mp); struct SOL32_module Module; - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, pModCtl->v9_32.mod_mp), &Module, sizeof(Module)); + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, pModCtl->v9_32.mod_mp), &Module, sizeof(Module)); if (RT_FAILURE(rc)) return; @@ -532,13 +532,13 @@ static void dbgDiggerSolarisProcessModCtl32(PVM pVM, PDBGDIGGERSOLARIS pThis, SO Elf32_Shdr *paShdrs = (Elf32_Shdr *)RTMemTmpAlloc(cb); if (!paShdrs) return; - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, Module.shdrs), paShdrs, cb); + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, Module.shdrs), paShdrs, cb); if (RT_SUCCESS(rc)) { void *pvSymSpace = RTMemTmpAlloc(Module.symsize + 1); if (pvSymSpace) { - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, Module.symspace), pvSymSpace, Module.symsize); + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, Module.symspace), pvSymSpace, Module.symsize); if (RT_SUCCESS(rc)) { ((uint8_t *)pvSymSpace)[Module.symsize] = 0; @@ -553,7 +553,7 @@ static void dbgDiggerSolarisProcessModCtl32(PVM pVM, PDBGDIGGERSOLARIS pThis, SO size_t cMaxSyms = (Module.symsize - (Module.symtbl - Module.symspace)) / sizeof(Elf32_Sym); cMaxSyms = RT_MIN(cMaxSyms, Module.nsyms); - DBGDiggerCommonParseElf32Mod(pVM, szModName, szFilename, DBG_DIGGER_ELF_FUNNY_SHDRS, + DBGDiggerCommonParseElf32Mod(pUVM, szModName, szFilename, DBG_DIGGER_ELF_FUNNY_SHDRS, &Module.hdr, paShdrs, paSyms, cMaxSyms, pbStrings, cbMaxStrings, SOL32_MIN_KRNL_ADDR, SOL32_MAX_KRNL_ADDR - 1, DIG_SOL_MOD_TAG); } @@ -569,11 +569,11 @@ static void dbgDiggerSolarisProcessModCtl32(PVM pVM, PDBGDIGGERSOLARIS pThis, SO /** * Processes a modctl_t. * - * @param pVM The VM handle. + * @param pUVM The user mode VM handle. * @param pThis Our instance data. * @param pModCtl Pointer to the modctl structure. */ -static void dbgDiggerSolarisProcessModCtl64(PVM pVM, PDBGDIGGERSOLARIS pThis, SOL_modctl_t const *pModCtl) +static void dbgDiggerSolarisProcessModCtl64(PUVM pUVM, PDBGDIGGERSOLARIS pThis, SOL_modctl_t const *pModCtl) { /* skip it if it's not loaded and installed */ AssertCompile2MemberOffsets(SOL_modctl_t, v11_64.mod_loaded, v9_64.mod_loaded); @@ -590,7 +590,7 @@ static void dbgDiggerSolarisProcessModCtl64(PVM pVM, PDBGDIGGERSOLARIS pThis, SO AssertCompile2MemberOffsets(SOL_modctl_t, v11_64.mod_modname, v9_64.mod_modname); char szModName[64]; DBGFADDRESS Addr; - int rc = DBGFR3MemReadString(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, pModCtl->v9_64.mod_modname), szModName, sizeof(szModName)); + int rc = DBGFR3MemReadString(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, pModCtl->v9_64.mod_modname), szModName, sizeof(szModName)); if (RT_FAILURE(rc)) return; if (!RTStrEnd(szModName, sizeof(szModName))) @@ -598,7 +598,7 @@ static void dbgDiggerSolarisProcessModCtl64(PVM pVM, PDBGDIGGERSOLARIS pThis, SO AssertCompile2MemberOffsets(SOL_modctl_t, v11_64.mod_filename, v9_64.mod_filename); char szFilename[256]; - rc = DBGFR3MemReadString(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, pModCtl->v9_64.mod_filename), szFilename, sizeof(szFilename)); + rc = DBGFR3MemReadString(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, pModCtl->v9_64.mod_filename), szFilename, sizeof(szFilename)); if (RT_FAILURE(rc)) strcpy(szFilename, szModName); else if (!RTStrEnd(szFilename, sizeof(szFilename))) @@ -609,7 +609,7 @@ static void dbgDiggerSolarisProcessModCtl64(PVM pVM, PDBGDIGGERSOLARIS pThis, SO */ AssertCompile2MemberOffsets(SOL_modctl_t, v11_64.mod_mp, v9_64.mod_mp); struct SOL64_module Module; - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, pModCtl->v9_64.mod_mp), &Module, sizeof(Module)); + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, pModCtl->v9_64.mod_mp), &Module, sizeof(Module)); if (RT_FAILURE(rc)) return; @@ -678,13 +678,13 @@ static void dbgDiggerSolarisProcessModCtl64(PVM pVM, PDBGDIGGERSOLARIS pThis, SO Elf64_Shdr *paShdrs = (Elf64_Shdr *)RTMemTmpAlloc(cb); if (!paShdrs) return; - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, Module.shdrs), paShdrs, cb); + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, Module.shdrs), paShdrs, cb); if (RT_SUCCESS(rc)) { void *pvSymSpace = RTMemTmpAlloc(Module.symsize + 1); if (pvSymSpace) { - rc = DBGFR3MemRead(pVM, 0, DBGFR3AddrFromFlat(pVM, &Addr, Module.symspace), pvSymSpace, Module.symsize); + rc = DBGFR3MemRead(pUVM, 0, DBGFR3AddrFromFlat(pUVM, &Addr, Module.symspace), pvSymSpace, Module.symsize); if (RT_SUCCESS(rc)) { ((uint8_t *)pvSymSpace)[Module.symsize] = 0; @@ -699,7 +699,7 @@ static void dbgDiggerSolarisProcessModCtl64(PVM pVM, PDBGDIGGERSOLARIS pThis, SO size_t cMaxSyms = (Module.symsize - (Module.symtbl - Module.symspace)) / sizeof(Elf32_Sym); cMaxSyms = RT_MIN(cMaxSyms, Module.nsyms); - DBGDiggerCommonParseElf64Mod(pVM, szModName, szFilename, DBG_DIGGER_ELF_FUNNY_SHDRS, + DBGDiggerCommonParseElf64Mod(pUVM, szModName, szFilename, DBG_DIGGER_ELF_FUNNY_SHDRS, &Module.hdr, paShdrs, paSyms, cMaxSyms, pbStrings, cbMaxStrings, SOL64_MIN_KRNL_ADDR, SOL64_MAX_KRNL_ADDR - 1, DIG_SOL_MOD_TAG); } @@ -715,7 +715,7 @@ static void dbgDiggerSolarisProcessModCtl64(PVM pVM, PDBGDIGGERSOLARIS pThis, SO /** * @copydoc DBGFOSREG::pfnTerm */ -static DECLCALLBACK(void) dbgDiggerSolarisTerm(PVM pVM, void *pvData) +static DECLCALLBACK(void) dbgDiggerSolarisTerm(PUVM pUVM, void *pvData) { PDBGDIGGERSOLARIS pThis = (PDBGDIGGERSOLARIS)pvData; Assert(pThis->fValid); @@ -727,7 +727,7 @@ static DECLCALLBACK(void) dbgDiggerSolarisTerm(PVM pVM, void *pvData) /** * @copydoc DBGFOSREG::pfnRefresh */ -static DECLCALLBACK(int) dbgDiggerSolarisRefresh(PVM pVM, void *pvData) +static DECLCALLBACK(int) dbgDiggerSolarisRefresh(PUVM pUVM, void *pvData) { PDBGDIGGERSOLARIS pThis = (PDBGDIGGERSOLARIS)pvData; NOREF(pThis); @@ -736,7 +736,7 @@ static DECLCALLBACK(int) dbgDiggerSolarisRefresh(PVM pVM, void *pvData) /* * For now we'll flush and reload everything. */ - RTDBGAS hDbgAs = DBGFR3AsResolveAndRetain(pVM, DBGF_AS_KERNEL); + RTDBGAS hDbgAs = DBGFR3AsResolveAndRetain(pUVM, DBGF_AS_KERNEL); if (hDbgAs != NIL_RTDBGAS) { uint32_t iMod = RTDbgAsModuleCount(hDbgAs); @@ -756,15 +756,15 @@ static DECLCALLBACK(int) dbgDiggerSolarisRefresh(PVM pVM, void *pvData) RTDbgAsRelease(hDbgAs); } - dbgDiggerSolarisTerm(pVM, pvData); - return dbgDiggerSolarisInit(pVM, pvData); + dbgDiggerSolarisTerm(pUVM, pvData); + return dbgDiggerSolarisInit(pUVM, pvData); } /** * @copydoc DBGFOSREG::pfnInit */ -static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) +static DECLCALLBACK(int) dbgDiggerSolarisInit(PUVM pUVM, void *pvData) { PDBGDIGGERSOLARIS pThis = (PDBGDIGGERSOLARIS)pvData; Assert(!pThis->fValid); @@ -774,7 +774,7 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) /* * On Solaris the kernel and is the global address space. */ - DBGFR3AsSetAlias(pVM, DBGF_AS_KERNEL, DBGF_AS_GLOBAL); + DBGFR3AsSetAlias(pUVM, DBGF_AS_KERNEL, DBGF_AS_GLOBAL); /** @todo Use debug_info, build 7x / S10U6. */ @@ -782,18 +782,18 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) * Find the 'unix' modctl_t structure (aka modules). * We know it resides in the unix data segment. */ - DBGFR3AddrFromFlat(pVM, &pThis->AddrUnixModCtl, 0); + DBGFR3AddrFromFlat(pUVM, &pThis->AddrUnixModCtl, 0); DBGFADDRESS CurAddr = pThis->AddrUnixData; DBGFADDRESS MaxAddr; - DBGFR3AddrFromFlat(pVM, &MaxAddr, CurAddr.FlatPtr + SOL_UNIX_MAX_DATA_SEG_SIZE); + DBGFR3AddrFromFlat(pUVM, &MaxAddr, CurAddr.FlatPtr + SOL_UNIX_MAX_DATA_SEG_SIZE); const uint8_t *pbExpr = (const uint8_t *)&pThis->AddrUnixText.FlatPtr; const uint32_t cbExpr = pThis->f64Bit ? sizeof(uint64_t) : sizeof(uint32_t); while ( CurAddr.FlatPtr < MaxAddr.FlatPtr && CurAddr.FlatPtr >= pThis->AddrUnixData.FlatPtr) { DBGFADDRESS HitAddr; - rc = DBGFR3MemScan(pVM, 0, &CurAddr, MaxAddr.FlatPtr - CurAddr.FlatPtr, 1, pbExpr, cbExpr, &HitAddr); + rc = DBGFR3MemScan(pUVM, 0, &CurAddr, MaxAddr.FlatPtr - CurAddr.FlatPtr, 1, pbExpr, cbExpr, &HitAddr); if (RT_FAILURE(rc)) break; @@ -805,9 +805,9 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) /* v11 */ if (pThis->f64Bit) { - DBGFR3AddrFromFlat(pVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL32v11_modctl_t, mod_text)); + DBGFR3AddrFromFlat(pUVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL32v11_modctl_t, mod_text)); SOL64v11_modctl_t ModCtlv11; - rc = DBGFR3MemRead(pVM, 0, &ModCtlAddr, &ModCtlv11, sizeof(ModCtlv11)); + rc = DBGFR3MemRead(pUVM, 0, &ModCtlAddr, &ModCtlv11, sizeof(ModCtlv11)); if (RT_SUCCESS(rc)) { if ( SOL64_VALID_ADDRESS(ModCtlv11.mod_next) @@ -827,8 +827,8 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) { char szUnix[5]; DBGFADDRESS NameAddr; - DBGFR3AddrFromFlat(pVM, &NameAddr, ModCtlv11.mod_modname); - rc = DBGFR3MemRead(pVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); + DBGFR3AddrFromFlat(pUVM, &NameAddr, ModCtlv11.mod_modname); + rc = DBGFR3MemRead(pUVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); if (RT_SUCCESS(rc)) { if (!strcmp(szUnix, "unix")) @@ -845,9 +845,9 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) } else { - DBGFR3AddrFromFlat(pVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL32v11_modctl_t, mod_text)); + DBGFR3AddrFromFlat(pUVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL32v11_modctl_t, mod_text)); SOL32v11_modctl_t ModCtlv11; - rc = DBGFR3MemRead(pVM, 0, &ModCtlAddr, &ModCtlv11, sizeof(ModCtlv11)); + rc = DBGFR3MemRead(pUVM, 0, &ModCtlAddr, &ModCtlv11, sizeof(ModCtlv11)); if (RT_SUCCESS(rc)) { if ( SOL32_VALID_ADDRESS(ModCtlv11.mod_next) @@ -867,8 +867,8 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) { char szUnix[5]; DBGFADDRESS NameAddr; - DBGFR3AddrFromFlat(pVM, &NameAddr, ModCtlv11.mod_modname); - rc = DBGFR3MemRead(pVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); + DBGFR3AddrFromFlat(pUVM, &NameAddr, ModCtlv11.mod_modname); + rc = DBGFR3MemRead(pUVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); if (RT_SUCCESS(rc)) { if (!strcmp(szUnix, "unix")) @@ -887,9 +887,9 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) /* v9 */ if (pThis->f64Bit) { - DBGFR3AddrFromFlat(pVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL64v9_modctl_t, mod_text)); + DBGFR3AddrFromFlat(pUVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL64v9_modctl_t, mod_text)); SOL64v9_modctl_t ModCtlv9; - rc = DBGFR3MemRead(pVM, 0, &ModCtlAddr, &ModCtlv9, sizeof(ModCtlv9)); + rc = DBGFR3MemRead(pUVM, 0, &ModCtlAddr, &ModCtlv9, sizeof(ModCtlv9)); if (RT_SUCCESS(rc)) { if ( SOL64_VALID_ADDRESS(ModCtlv9.mod_next) @@ -907,8 +907,8 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) { char szUnix[5]; DBGFADDRESS NameAddr; - DBGFR3AddrFromFlat(pVM, &NameAddr, ModCtlv9.mod_modname); - rc = DBGFR3MemRead(pVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); + DBGFR3AddrFromFlat(pUVM, &NameAddr, ModCtlv9.mod_modname); + rc = DBGFR3MemRead(pUVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); if (RT_SUCCESS(rc)) { if (!strcmp(szUnix, "unix")) @@ -925,9 +925,9 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) } else { - DBGFR3AddrFromFlat(pVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL32v9_modctl_t, mod_text)); + DBGFR3AddrFromFlat(pUVM, &ModCtlAddr, HitAddr.FlatPtr - RT_OFFSETOF(SOL32v9_modctl_t, mod_text)); SOL32v9_modctl_t ModCtlv9; - rc = DBGFR3MemRead(pVM, 0, &ModCtlAddr, &ModCtlv9, sizeof(ModCtlv9)); + rc = DBGFR3MemRead(pUVM, 0, &ModCtlAddr, &ModCtlv9, sizeof(ModCtlv9)); if (RT_SUCCESS(rc)) { if ( SOL32_VALID_ADDRESS(ModCtlv9.mod_next) @@ -945,8 +945,8 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) { char szUnix[5]; DBGFADDRESS NameAddr; - DBGFR3AddrFromFlat(pVM, &NameAddr, ModCtlv9.mod_modname); - rc = DBGFR3MemRead(pVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); + DBGFR3AddrFromFlat(pUVM, &NameAddr, ModCtlv9.mod_modname); + rc = DBGFR3MemRead(pUVM, 0, &NameAddr, &szUnix, sizeof(szUnix)); if (RT_SUCCESS(rc)) { if (!strcmp(szUnix, "unix")) @@ -963,7 +963,7 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) } /* next */ - DBGFR3AddrFromFlat(pVM, &CurAddr, HitAddr.FlatPtr + cbExpr); + DBGFR3AddrFromFlat(pUVM, &CurAddr, HitAddr.FlatPtr + cbExpr); } /* @@ -977,18 +977,18 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) { /* read it */ SOL_modctl_t ModCtl; - rc = DBGFR3MemRead(pVM, 0, &CurAddr, &ModCtl, cbModCtl); + rc = DBGFR3MemRead(pUVM, 0, &CurAddr, &ModCtl, cbModCtl); if (RT_FAILURE(rc)) { - LogRel(("sol: bad modctl_t chain: %RGv - %Rrc\n", iMod, CurAddr.FlatPtr, rc)); + LogRel(("sol: bad modctl_t chain for module %d: %RGv - %Rrc\n", iMod, CurAddr.FlatPtr, rc)); break; } /* process it. */ if (pThis->f64Bit) - dbgDiggerSolarisProcessModCtl64(pVM, pThis, &ModCtl); + dbgDiggerSolarisProcessModCtl64(pUVM, pThis, &ModCtl); else - dbgDiggerSolarisProcessModCtl32(pVM, pThis, &ModCtl); + dbgDiggerSolarisProcessModCtl32(pUVM, pThis, &ModCtl); /* next */ if (pThis->f64Bit) @@ -996,20 +996,20 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) AssertCompile2MemberOffsets(SOL_modctl_t, v11_64.mod_next, v9_64.mod_next); if (!SOL64_VALID_ADDRESS(ModCtl.v9_64.mod_next)) { - LogRel(("sol64: bad modctl_t chain at %RGv: %RGv\n", iMod, CurAddr.FlatPtr, (RTGCUINTPTR)ModCtl.v9_64.mod_next)); + LogRel(("sol64: bad modctl_t chain for module %d at %RGv: %RGv\n", iMod, CurAddr.FlatPtr, (RTGCUINTPTR)ModCtl.v9_64.mod_next)); break; } - DBGFR3AddrFromFlat(pVM, &CurAddr, ModCtl.v9_64.mod_next); + DBGFR3AddrFromFlat(pUVM, &CurAddr, ModCtl.v9_64.mod_next); } else { AssertCompile2MemberOffsets(SOL_modctl_t, v11_32.mod_next, v9_32.mod_next); if (!SOL32_VALID_ADDRESS(ModCtl.v9_32.mod_next)) { - LogRel(("sol32: bad modctl_t chain at %RGv: %RGv\n", iMod, CurAddr.FlatPtr, (RTGCUINTPTR)ModCtl.v9_32.mod_next)); + LogRel(("sol32: bad modctl_t chain for module %d at %RGv: %RGv\n", iMod, CurAddr.FlatPtr, (RTGCUINTPTR)ModCtl.v9_32.mod_next)); break; } - DBGFR3AddrFromFlat(pVM, &CurAddr, ModCtl.v9_32.mod_next); + DBGFR3AddrFromFlat(pUVM, &CurAddr, ModCtl.v9_32.mod_next); } if (++iMod >= 1024) { @@ -1027,7 +1027,7 @@ static DECLCALLBACK(int) dbgDiggerSolarisInit(PVM pVM, void *pvData) /** * @copydoc DBGFOSREG::pfnProbe */ -static DECLCALLBACK(bool) dbgDiggerSolarisProbe(PVM pVM, void *pvData) +static DECLCALLBACK(bool) dbgDiggerSolarisProbe(PUVM pUVM, void *pvData) { PDBGDIGGERSOLARIS pThis = (PDBGDIGGERSOLARIS)pvData; @@ -1038,18 +1038,18 @@ static DECLCALLBACK(bool) dbgDiggerSolarisProbe(PVM pVM, void *pvData) bool f64Bit = false; /* 32-bit search range. */ - DBGFR3AddrFromFlat(pVM, &Addr, 0xfe800000); + DBGFR3AddrFromFlat(pUVM, &Addr, 0xfe800000); RTGCUINTPTR cbRange = 0xfec00000 - 0xfe800000; DBGFADDRESS HitAddr; static const uint8_t s_abSunRelease[] = "SunOS Release "; - int rc = DBGFR3MemScan(pVM, 0, &Addr, cbRange, 1, s_abSunRelease, sizeof(s_abSunRelease) - 1, &HitAddr); + int rc = DBGFR3MemScan(pUVM, 0, &Addr, cbRange, 1, s_abSunRelease, sizeof(s_abSunRelease) - 1, &HitAddr); if (RT_FAILURE(rc)) { /* 64-bit.... */ - DBGFR3AddrFromFlat(pVM, &Addr, UINT64_C(0xfffffffffb800000)); - cbRange = UINT64_C(0xfffffffffbc00000) - UINT64_C(0xfffffffffb800000); - rc = DBGFR3MemScan(pVM, 0, &Addr, cbRange, 1, s_abSunRelease, sizeof(s_abSunRelease) - 1, &HitAddr); + DBGFR3AddrFromFlat(pUVM, &Addr, UINT64_C(0xfffffffffb800000)); + cbRange = UINT64_C(0xfffffffffbd00000) - UINT64_C(0xfffffffffb800000); + rc = DBGFR3MemScan(pUVM, 0, &Addr, cbRange, 1, s_abSunRelease, sizeof(s_abSunRelease) - 1, &HitAddr); if (RT_FAILURE(rc)) return false; f64Bit = true; @@ -1060,11 +1060,11 @@ static DECLCALLBACK(bool) dbgDiggerSolarisProbe(PVM pVM, void *pvData) */ static const uint8_t s_abSMI[] = "Sun Microsystems, Inc."; static const uint8_t s_abORCL[] = "Oracle and/or its affiliates."; - rc = DBGFR3MemScan(pVM, 0, &Addr, cbRange, 1, s_abSMI, sizeof(s_abSMI) - 1, &HitAddr); + rc = DBGFR3MemScan(pUVM, 0, &Addr, cbRange, 1, s_abSMI, sizeof(s_abSMI) - 1, &HitAddr); if (RT_FAILURE(rc)) { /* Try the alternate copyright string. */ - rc = DBGFR3MemScan(pVM, 0, &Addr, cbRange, 1, s_abORCL, sizeof(s_abORCL) - 1, &HitAddr); + rc = DBGFR3MemScan(pUVM, 0, &Addr, cbRange, 1, s_abORCL, sizeof(s_abORCL) - 1, &HitAddr); if (RT_FAILURE(rc)) return false; } @@ -1084,7 +1084,7 @@ static DECLCALLBACK(bool) dbgDiggerSolarisProbe(PVM pVM, void *pvData) /** * @copydoc DBGFOSREG::pfnDestruct */ -static DECLCALLBACK(void) dbgDiggerSolarisDestruct(PVM pVM, void *pvData) +static DECLCALLBACK(void) dbgDiggerSolarisDestruct(PUVM pUVM, void *pvData) { } @@ -1093,7 +1093,7 @@ static DECLCALLBACK(void) dbgDiggerSolarisDestruct(PVM pVM, void *pvData) /** * @copydoc DBGFOSREG::pfnConstruct */ -static DECLCALLBACK(int) dbgDiggerSolarisConstruct(PVM pVM, void *pvData) +static DECLCALLBACK(int) dbgDiggerSolarisConstruct(PUVM pUVM, void *pvData) { return VINF_SUCCESS; } |