VirtualBox

Changeset 54467 in vbox


Ignore:
Timestamp:
Feb 24, 2015 6:23:18 PM (10 years ago)
Author:
vboxsync
Message:

IPRT,VMM,SUPDrv: Use the new RTMpCurSetIndex* APIs - require driver reload.

Location:
trunk/src/VBox
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrv.cpp

    r54375 r54467  
    245245    { "RTMpCpuIdFromSetIndex",                  (void *)RTMpCpuIdFromSetIndex },
    246246    { "RTMpCpuIdToSetIndex",                    (void *)RTMpCpuIdToSetIndex },
     247    { "RTMpCurSetIndex",                        (void *)RTMpCurSetIndex },
     248    { "RTMpCurSetIndexAndId",                   (void *)RTMpCurSetIndexAndId },
    247249    { "RTMpGetArraySize",                       (void *)RTMpGetArraySize },
    248250    { "RTMpGetCount",                           (void *)RTMpGetCount },
  • trunk/src/VBox/HostDrivers/Support/SUPDrvIOC.h

    r54373 r54467  
    215215 *          - (nothing)
    216216 */
    217 #define SUPDRV_IOC_VERSION                              0x001f0002
     217#define SUPDRV_IOC_VERSION                              0x001f0003
    218218
    219219/** SUP_IOCTL_COOKIE. */
  • trunk/src/VBox/HostDrivers/Support/SUPLib.cpp

    r54339 r54467  
    280280        CookieReq.u.In.u32ReqVersion = SUPDRV_IOC_VERSION;
    281281        const uint32_t uMinVersion = (SUPDRV_IOC_VERSION & 0xffff0000) == 0x001f0000
    282                                    ? 0x001f0002
     282                                   ? 0x001f0003
    283283                                   : SUPDRV_IOC_VERSION & 0xffff0000;
    284284        CookieReq.u.In.u32MinVersion = uMinVersion;
  • trunk/src/VBox/Runtime/common/time/timesupref.h

    r54279 r54467  
    7878#if TMPL_MODE == TMPL_MODE_ASYNC || TMPL_MODE == TMPL_MODE_SYNC_INVAR_WITH_DELTA
    7979# if   defined(IN_RING0)
    80             uint32_t const  iCpuSet  = RTMpCpuIdToSetIndex(RTMpCpuId());
     80            uint32_t const  iCpuSet  = RTMpCurSetIndex();
    8181            uint16_t const  iGipCpu  = iCpuSet < RT_ELEMENTS(pGip->aiCpuFromCpuSetIdx)
    8282                                     ? pGip->aiCpuFromCpuSetIdx[iCpuSet] : UINT16_MAX;
  • trunk/src/VBox/VMM/VMMAll/VMMAll.cpp

    r49486 r54467  
    284284    RTNATIVETHREAD hThread = RTThreadNativeSelf();
    285285
    286     /** @todo optimize for large number of VCPUs when that becomes more common. */
     286    /** @todo optimize for large number of VCPUs when that becomes more common.
     287     * Use a map like GIP does that's indexed by the host CPU index.  */
    287288    for (VMCPUID idCpu = 0; idCpu < pVM->cCpus; idCpu++)
    288289    {
  • trunk/src/VBox/VMM/VMMR0/VMMR0.cpp

    r54339 r54467  
    566566
    567567            /* We need to update the VCPU <-> host CPU mapping. */
    568             RTCPUID idHostCpu    = RTMpCpuId();
    569             uint32_t iHostCpuSet = RTMpCpuIdToSetIndex(idHostCpu);
     568            RTCPUID idHostCpu;
     569            uint32_t iHostCpuSet = RTMpCurSetIndexAndId(&idHostCpu);
    570570            pVCpu->iHostCpuSet   = iHostCpuSet;
    571571            ASMAtomicWriteU32(&pVCpu->idHostCpu, idHostCpu);
     
    879879             * we've got a TSC delta for the CPU.
    880880             */
    881             RTCPUID  idHostCpu   = RTMpCpuId();
    882             uint32_t iHostCpuSet = RTMpCpuIdToSetIndex(idHostCpu);
     881            RTCPUID  idHostCpu;
     882            uint32_t iHostCpuSet = RTMpCurSetIndexAndId(&idHostCpu);
    883883            if (RT_LIKELY(   iHostCpuSet < RTCPUSET_MAX_CPUS
    884884                          && SUPIsTscDeltaAvailableForCpuSetIndex(iHostCpuSet)))
     
    993993             * we've got a TSC delta for the CPU.
    994994             */
    995             RTCPUID  idHostCpu   = RTMpCpuId();
    996             uint32_t iHostCpuSet = RTMpCpuIdToSetIndex(idHostCpu);
     995            RTCPUID  idHostCpu;
     996            uint32_t iHostCpuSet = RTMpCurSetIndexAndId(&idHostCpu);
    997997            if (RT_LIKELY(   iHostCpuSet < RTCPUSET_MAX_CPUS
    998998                          && SUPIsTscDeltaAvailableForCpuSetIndex(iHostCpuSet)))
     
    13271327             * we've got a TSC delta for the CPU.
    13281328             */
    1329             RTCPUID  idHostCpu   = RTMpCpuId();
    1330             uint32_t iHostCpuSet = RTMpCpuIdToSetIndex(idHostCpu);
     1329            RTCPUID  idHostCpu;
     1330            uint32_t iHostCpuSet = RTMpCurSetIndexAndId(&idHostCpu);
    13311331            if (RT_UNLIKELY(iHostCpuSet >= RTCPUSET_MAX_CPUS))
    13321332            {
  • trunk/src/VBox/VMM/VMMRZ/PGMRZDynMap.cpp

    r54367 r54467  
    130130# define PGMRZDYNMAP_CUR_CPU()              (0)
    131131#else
    132 # define PGMRZDYNMAP_CUR_CPU()              RTMpCpuIdToSetIndex(RTMpCpuId())
     132# define PGMRZDYNMAP_CUR_CPU()              RTMpCurSetIndex()
    133133#endif
    134134
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