VirtualBox

Changeset 46142 in vbox for trunk/src/VBox


Ignore:
Timestamp:
May 17, 2013 1:06:57 PM (12 years ago)
Author:
vboxsync
Message:

VMM/CPUM: show all CPUID leaves in the log, not only the leaves we privode to the guest

File:
1 edited

Legend:

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

    r45824 r46142  
    32873287    unsigned    cStdMax = pVM->cpum.s.aGuestCpuIdStd[0].eax;
    32883288
     3289    uint32_t    cStdHstMax;
     3290    uint32_t    dummy;
     3291    ASMCpuId_Idx_ECX(0, 0, &cStdHstMax, &dummy, &dummy, &dummy);
     3292
     3293    unsigned    cStdLstMax = RT_MAX(RT_ELEMENTS(pVM->cpum.s.aGuestCpuIdStd), cStdHstMax);
     3294
    32893295    pHlp->pfnPrintf(pHlp,
    32903296                    "         RAW Standard CPUIDs\n"
    32913297                    "     Function  eax      ebx      ecx      edx\n");
    3292     for (unsigned i = 0; i < RT_ELEMENTS(pVM->cpum.s.aGuestCpuIdStd); i++)
    3293     {
    3294         Guest = pVM->cpum.s.aGuestCpuIdStd[i];
    3295         ASMCpuId_Idx_ECX(i, 0, &Host.eax, &Host.ebx, &Host.ecx, &Host.edx);
    3296 
    3297         pHlp->pfnPrintf(pHlp,
    3298                         "Gst: %08x  %08x %08x %08x %08x%s\n"
    3299                         "Hst:           %08x %08x %08x %08x\n",
    3300                         i, Guest.eax, Guest.ebx, Guest.ecx, Guest.edx,
    3301                         i <= cStdMax ? "" : "*",
    3302                         Host.eax, Host.ebx, Host.ecx, Host.edx);
     3298    for (unsigned i = 0; i <= cStdLstMax ; i++)
     3299    {
     3300        if (i < RT_ELEMENTS(pVM->cpum.s.aGuestCpuIdStd))
     3301        {
     3302            Guest = pVM->cpum.s.aGuestCpuIdStd[i];
     3303            ASMCpuId_Idx_ECX(i, 0, &Host.eax, &Host.ebx, &Host.ecx, &Host.edx);
     3304
     3305            pHlp->pfnPrintf(pHlp,
     3306                            "Gst: %08x  %08x %08x %08x %08x%s\n"
     3307                            "Hst:           %08x %08x %08x %08x\n",
     3308                            i, Guest.eax, Guest.ebx, Guest.ecx, Guest.edx,
     3309                            i <= cStdMax ? "" : "*",
     3310                            Host.eax, Host.ebx, Host.ecx, Host.edx);
     3311        }
     3312        else
     3313        {
     3314            ASMCpuId_Idx_ECX(i, 0, &Host.eax, &Host.ebx, &Host.ecx, &Host.edx);
     3315
     3316            pHlp->pfnPrintf(pHlp,
     3317                            "Hst: %08x  %08x %08x %08x %08x\n",
     3318                            i, Host.eax, Host.ebx, Host.ecx, Host.edx);
     3319        }
    33033320    }
    33043321
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