VirtualBox

Ignore:
Timestamp:
Oct 15, 2016 4:46:29 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
111296
Message:

IPRT,SUP: Major vboxdrv and GIP version change; more flexible processor group handling on Windows.

Location:
trunk/src/VBox/Runtime/common/time
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/time/timesupref.cpp

    r64255 r64281  
    3737#include <iprt/asm-math.h>
    3838#include <iprt/asm-amd64-x86.h>
     39#include <iprt/param.h>
    3940#include <VBox/sup.h>
    4041#ifdef IN_RC
  • trunk/src/VBox/Runtime/common/time/timesupref.h

    r64255 r64281  
    101101            uint16_t const  iCpuSet  = uAux & (RTCPUSET_MAX_CPUS - 1);
    102102#  else
    103             uint16_t const  iCpuSet  = pGip->aiFirstCpuSetIdxFromCpuGroup[(uAux >> 8) & UINT8_MAX] + (uAux & UINT8_MAX);
     103            uint16_t        iCpuSet = 0;
     104            uint16_t        offGipCpuGroup = pGip->aoffCpuGroup[(uAux >> 8) & UINT8_MAX];
     105            if (offGipCpuGroup < pGip->cPages * PAGE_SIZE)
     106            {
     107                PSUPGIPCPUGROUP pGipCpuGroup = (PSUPGIPCPUGROUP)((uintptr_t)pGip + offGipCpuGroup);
     108                if (   (uAux & UINT8_MAX) < pGipCpuGroup->cMaxMembers
     109                    && pGipCpuGroup->aiCpuSetIdxs[uAux & UINT8_MAX] != -1)
     110                    iCpuSet = pGipCpuGroup->aiCpuSetIdxs[uAux & UINT8_MAX];
     111            }
    104112#  endif
    105113            uint16_t const  iGipCpu  = pGip->aiCpuFromCpuSetIdx[iCpuSet];
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