VirtualBox

Changeset 81114 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Oct 4, 2019 10:01:35 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133739
Message:

IPRT/mp-win.cpp: A couple of fixes wrt lots of processors and groups. bugref:9501

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/VBox/Runtime/r3/win/mp-win.cpp

    r81106 r81114  
    419419
    420420        unsigned const cbGip = pGip->cPages * PAGE_SIZE;
    421         for (uint32_t idxGroup = 0; idxGroup < g_cRtMpWinMaxCpus; idxGroup++)
     421        for (uint32_t idxGroup = 0; idxGroup < g_cRtMpWinMaxCpuGroups; idxGroup++)
    422422        {
    423423            uint32_t idxMember;
     
    427427                PSUPGIPCPUGROUP pGipCpuGrp  = (PSUPGIPCPUGROUP)((uintptr_t)pGip + offCpuGroup);
    428428                uint32_t        cMaxMembers = pGipCpuGrp->cMaxMembers;
    429                 AssertStmt(cMaxMembers < RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers),
    430                            cMaxMembers = RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers));
     429                AssertStmt(cMaxMembers <= RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers),
     430                           cMaxMembers  = RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers));
    431431                g_aRtMpWinCpuGroups[idxGroup].cMaxCpus     = cMaxMembers;
    432432                g_aRtMpWinCpuGroups[idxGroup].cActiveCpus  = RT_MIN(pGipCpuGrp->cMembers, cMaxMembers);
     
    478478            ASMCompilerBarrier();
    479479
    480             for (uint32_t idxGroup = 0; idxGroup < g_cRtMpWinMaxCpus; idxGroup++)
     480            for (uint32_t idxGroup = 0; idxGroup < g_cRtMpWinMaxCpuGroups; idxGroup++)
    481481            {
    482482                uint32_t offCpuGroup = pGip->aoffCpuGroup[idxGroup];
     
    485485                    PSUPGIPCPUGROUP pGipCpuGrp  = (PSUPGIPCPUGROUP)((uintptr_t)pGip + offCpuGroup);
    486486                    uint32_t        cMaxMembers = pGipCpuGrp->cMaxMembers;
    487                     AssertStmt(cMaxMembers < RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers),
    488                                cMaxMembers = RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers));
     487                    AssertStmt(cMaxMembers <= RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers),
     488                               cMaxMembers  = RT_ELEMENTS(g_aRtMpWinCpuGroups[0].aidxCpuSetMembers));
    489489                    for (uint32_t idxMember = g_aRtMpWinCpuGroups[idxGroup].cActiveCpus; idxMember < cMaxMembers; idxMember++)
    490490                    {
Note: See TracChangeset for help on using the changeset viewer.

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