VirtualBox

Changeset 70300 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Dec 22, 2017 5:31:45 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
119897
Message:

VMM/CPUM: SVM info dump adjustments.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/CPUM.cpp

    r70299 r70300  
    22912291 * @param   pszPrefix   Caller specified string prefix.
    22922292 */
    2293 DECLINLINE(void) cpumR3InfoSvmVmcbStateSaveSelReg(PCDBGFINFOHLP pHlp, PCSVMSELREG pSel, const char *pszName, const char *pszPrefix)
     2293DECLINLINE(void) cpumR3InfoSvmVmcbSelReg(PCDBGFINFOHLP pHlp, PCSVMSELREG pSel, const char *pszName, const char *pszPrefix)
    22942294{
    22952295    /* The string width of 4 used below is to handle 'LDTR'. Change later if longer register names are used. */
     
    23072307 * @param   pszPrefix   Caller specified string prefix.
    23082308 */
    2309 DECLINLINE(void) cpumR3InfoSvmVmcbStateXdtr(PCDBGFINFOHLP pHlp, PCSVMXDTR pXdtr, const char *pszName, const char *pszPrefix)
     2309DECLINLINE(void) cpumR3InfoSvmVmcbXdtr(PCDBGFINFOHLP pHlp, PCSVMXDTR pXdtr, const char *pszName, const char *pszPrefix)
    23102310{
    23112311    /* The string width of 4 used below is to cover 'GDTR', 'IDTR'. Change later if longer register names are used. */
     
    23262326    AssertReturnVoid(pVmcbStateSave);
    23272327
    2328     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->CS,   "CS",   pszPrefix);
    2329     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->SS,   "SS",   pszPrefix);
    2330     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->ES,   "ES",   pszPrefix);
    2331     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->DS,   "DS",   pszPrefix);
    2332     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->FS,   "FS",   pszPrefix);
    2333     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->GS,   "GS",   pszPrefix);
    2334     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->LDTR, "LDTR", pszPrefix);
    2335     cpumR3InfoSvmVmcbStateSaveSelReg(pHlp, &pVmcbStateSave->TR,   "TR",   pszPrefix);
    2336     cpumR3InfoSvmVmcbStateXdtr(pHlp, &pVmcbStateSave->GDTR,       "GDTR", pszPrefix);
    2337     cpumR3InfoSvmVmcbStateXdtr(pHlp, &pVmcbStateSave->IDTR,       "IDTR", pszPrefix);
    2338     pHlp->pfnPrintf(pHlp, "%su8CPL                      = %u\n",          pszPrefix, pVmcbStateSave->u8CPL);
    2339     pHlp->pfnPrintf(pHlp, "%su64EFER                    = %#RX64\n",      pszPrefix, pVmcbStateSave->u64EFER);
    2340     pHlp->pfnPrintf(pHlp, "%su64CR4                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64CR4);
    2341     pHlp->pfnPrintf(pHlp, "%su64CR3                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64CR3);
    2342     pHlp->pfnPrintf(pHlp, "%su64CR0                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64CR0);
    2343     pHlp->pfnPrintf(pHlp, "%su64DR7                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64DR7);
    2344     pHlp->pfnPrintf(pHlp, "%su64DR6                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64DR6);
    2345     pHlp->pfnPrintf(pHlp, "%su64RFlags                  = %#RX64\n",      pszPrefix, pVmcbStateSave->u64RFlags);
    2346     pHlp->pfnPrintf(pHlp, "%su64RIP                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64RIP);
    2347     pHlp->pfnPrintf(pHlp, "%su64RSP                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64RSP);
    2348     pHlp->pfnPrintf(pHlp, "%su64RAX                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64RAX);
    2349     pHlp->pfnPrintf(pHlp, "%su64STAR                    = %#RX64\n",      pszPrefix, pVmcbStateSave->u64STAR);
    2350     pHlp->pfnPrintf(pHlp, "%su64LSTAR                   = %#RX64\n",      pszPrefix, pVmcbStateSave->u64LSTAR);
    2351     pHlp->pfnPrintf(pHlp, "%su64CSTAR                   = %#RX64\n",      pszPrefix, pVmcbStateSave->u64CSTAR);
    2352     pHlp->pfnPrintf(pHlp, "%su64SFMASK                  = %#RX64\n",      pszPrefix, pVmcbStateSave->u64SFMASK);
    2353     pHlp->pfnPrintf(pHlp, "%su64KernelGSBase            = %#RX64\n",      pszPrefix, pVmcbStateSave->u64KernelGSBase);
    2354     pHlp->pfnPrintf(pHlp, "%su64SysEnterCS              = %#RX64\n",      pszPrefix, pVmcbStateSave->u64SysEnterCS);
    2355     pHlp->pfnPrintf(pHlp, "%su64SysEnterEIP             = %#RX64\n",      pszPrefix, pVmcbStateSave->u64SysEnterEIP);
    2356     pHlp->pfnPrintf(pHlp, "%su64SysEnterESP             = %#RX64\n",      pszPrefix, pVmcbStateSave->u64SysEnterESP);
    2357     pHlp->pfnPrintf(pHlp, "%su64CR2                     = %#RX64\n",      pszPrefix, pVmcbStateSave->u64CR2);
    2358     pHlp->pfnPrintf(pHlp, "%su64GPAT                    = %#RX64\n",      pszPrefix, pVmcbStateSave->u64GPAT);
    2359     pHlp->pfnPrintf(pHlp, "%su64DBGCTL                  = %#RX64\n",      pszPrefix, pVmcbStateSave->u64DBGCTL);
    2360     pHlp->pfnPrintf(pHlp, "%su64BR_FROM                 = %#RX64\n",      pszPrefix, pVmcbStateSave->u64BR_FROM);
    2361     pHlp->pfnPrintf(pHlp, "%su64BR_TO                   = %#RX64\n",      pszPrefix, pVmcbStateSave->u64BR_TO);
    2362     pHlp->pfnPrintf(pHlp, "%su64LASTEXCPFROM            = %#RX64\n",      pszPrefix, pVmcbStateSave->u64LASTEXCPFROM);
    2363     pHlp->pfnPrintf(pHlp, "%su64LASTEXCPTO              = %#RX64\n",      pszPrefix, pVmcbStateSave->u64LASTEXCPTO);
     2328    char szEFlags[80];
     2329    cpumR3InfoFormatFlags(&szEFlags[0], pVmcbStateSave->u64RFlags);
     2330
     2331    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->CS,   "CS",   pszPrefix);
     2332    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->SS,   "SS",   pszPrefix);
     2333    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->ES,   "ES",   pszPrefix);
     2334    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->DS,   "DS",   pszPrefix);
     2335    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->FS,   "FS",   pszPrefix);
     2336    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->GS,   "GS",   pszPrefix);
     2337    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->LDTR, "LDTR", pszPrefix);
     2338    cpumR3InfoSvmVmcbSelReg(pHlp, &pVmcbStateSave->TR,   "TR",   pszPrefix);
     2339    cpumR3InfoSvmVmcbXdtr(pHlp, &pVmcbStateSave->GDTR,   "GDTR", pszPrefix);
     2340    cpumR3InfoSvmVmcbXdtr(pHlp, &pVmcbStateSave->IDTR,   "IDTR", pszPrefix);
     2341    pHlp->pfnPrintf(pHlp, "%su8CPL                      = %u\n",     pszPrefix, pVmcbStateSave->u8CPL);
     2342    pHlp->pfnPrintf(pHlp, "%su64EFER                    = %#RX64\n", pszPrefix, pVmcbStateSave->u64EFER);
     2343    pHlp->pfnPrintf(pHlp, "%su64CR4                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64CR4);
     2344    pHlp->pfnPrintf(pHlp, "%su64CR3                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64CR3);
     2345    pHlp->pfnPrintf(pHlp, "%su64CR0                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64CR0);
     2346    pHlp->pfnPrintf(pHlp, "%su64DR7                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64DR7);
     2347    pHlp->pfnPrintf(pHlp, "%su64DR6                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64DR6);
     2348    pHlp->pfnPrintf(pHlp, "%su64RFlags                  = %#RX64 %31s\n", pszPrefix, pVmcbStateSave->u64RFlags, szEFlags);
     2349    pHlp->pfnPrintf(pHlp, "%su64RIP                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64RIP);
     2350    pHlp->pfnPrintf(pHlp, "%su64RSP                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64RSP);
     2351    pHlp->pfnPrintf(pHlp, "%su64RAX                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64RAX);
     2352    pHlp->pfnPrintf(pHlp, "%su64STAR                    = %#RX64\n", pszPrefix, pVmcbStateSave->u64STAR);
     2353    pHlp->pfnPrintf(pHlp, "%su64LSTAR                   = %#RX64\n", pszPrefix, pVmcbStateSave->u64LSTAR);
     2354    pHlp->pfnPrintf(pHlp, "%su64CSTAR                   = %#RX64\n", pszPrefix, pVmcbStateSave->u64CSTAR);
     2355    pHlp->pfnPrintf(pHlp, "%su64SFMASK                  = %#RX64\n", pszPrefix, pVmcbStateSave->u64SFMASK);
     2356    pHlp->pfnPrintf(pHlp, "%su64KernelGSBase            = %#RX64\n", pszPrefix, pVmcbStateSave->u64KernelGSBase);
     2357    pHlp->pfnPrintf(pHlp, "%su64SysEnterCS              = %#RX64\n", pszPrefix, pVmcbStateSave->u64SysEnterCS);
     2358    pHlp->pfnPrintf(pHlp, "%su64SysEnterEIP             = %#RX64\n", pszPrefix, pVmcbStateSave->u64SysEnterEIP);
     2359    pHlp->pfnPrintf(pHlp, "%su64SysEnterESP             = %#RX64\n", pszPrefix, pVmcbStateSave->u64SysEnterESP);
     2360    pHlp->pfnPrintf(pHlp, "%su64CR2                     = %#RX64\n", pszPrefix, pVmcbStateSave->u64CR2);
     2361    pHlp->pfnPrintf(pHlp, "%su64GPAT                    = %#RX64\n", pszPrefix, pVmcbStateSave->u64GPAT);
     2362    pHlp->pfnPrintf(pHlp, "%su64DBGCTL                  = %#RX64\n", pszPrefix, pVmcbStateSave->u64DBGCTL);
     2363    pHlp->pfnPrintf(pHlp, "%su64BR_FROM                 = %#RX64\n", pszPrefix, pVmcbStateSave->u64BR_FROM);
     2364    pHlp->pfnPrintf(pHlp, "%su64BR_TO                   = %#RX64\n", pszPrefix, pVmcbStateSave->u64BR_TO);
     2365    pHlp->pfnPrintf(pHlp, "%su64LASTEXCPFROM            = %#RX64\n", pszPrefix, pVmcbStateSave->u64LASTEXCPFROM);
     2366    pHlp->pfnPrintf(pHlp, "%su64LASTEXCPTO              = %#RX64\n", pszPrefix, pVmcbStateSave->u64LASTEXCPTO);
    23642367}
    23652368
     
    24152418    if (fDumpState & CPUMHWVIRTDUMP_SVM)
    24162419    {
     2420        char szEFlags[80];
     2421        cpumR3InfoFormatFlags(&szEFlags[0], pCtx->hwvirt.svm.HostState.rflags.u);
     2422
    24172423        pHlp->pfnPrintf(pHlp, "  uMsrHSavePa                = %#RX64\n",    pCtx->hwvirt.svm.uMsrHSavePa);
    24182424        pHlp->pfnPrintf(pHlp, "  GCPhysVmcb                 = %#RGp\n",     pCtx->hwvirt.svm.GCPhysVmcb);
     
    24292435        pHlp->pfnPrintf(pHlp, "    uRsp                       = %#RX64\n",  pCtx->hwvirt.svm.HostState.uRsp);
    24302436        pHlp->pfnPrintf(pHlp, "    uRax                       = %#RX64\n",  pCtx->hwvirt.svm.HostState.uRax);
    2431         pHlp->pfnPrintf(pHlp, "    rflags                     = %#RX64\n",  pCtx->hwvirt.svm.HostState.rflags.u64);
     2437        pHlp->pfnPrintf(pHlp, "    rflags                     = %#RX64 %31s\n", pCtx->hwvirt.svm.HostState.rflags.u64, szEFlags);
    24322438        PCPUMSELREG pSel = &pCtx->hwvirt.svm.HostState.es;
    24332439        pHlp->pfnPrintf(pHlp, "    es                         = {%04x base=%016RX64 limit=%08x flags=%08x}\n",
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette