VirtualBox

Changeset 26183 in vbox for trunk/src/VBox/Devices/PC


Ignore:
Timestamp:
Feb 3, 2010 12:46:34 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
57202
Message:

Commit CPU hotplug patches again

Location:
trunk/src/VBox/Devices/PC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/ACPI/VBoxAcpi.cpp

    r26172 r26183  
    4242/* Statically compiled AML */
    4343# include <vboxaml.hex>
     44# include <vboxssdt-standard.hex>
     45# include <vboxssdt-cpuhotplug.hex>
    4446#endif
    4547
     
    178180                     */
    179181                    if (   RT_FAILURE(rc)
    180                         || strncmp((const char *)pbAmlCode, "DSDT", 4))
     182                        || strncmp((const char *)pbAmlCode, pcszSignature, 4))
    181183                    {
    182184                        RTMemFree(pbAmlCode);
     
    186188                        if (RT_SUCCESS(rc))
    187189                            rc = VERR_PARSE_ERROR;
     190                    }
     191                    else
     192                    {
     193                        *ppbAmlCode = pbAmlCode;
     194                        *pcbAmlCode = cbAmlCode;
     195                        rc = VINF_SUCCESS;
    188196                    }
    189197                }
     
    196204        MMR3HeapFree(pszAmlFilePath);
    197205    }
    198     else if (rc == VERR_CFGM_VALUE_NOT_FOUND)
     206
     207    return rc;
     208}
     209
     210/* Two only public functions */
     211int acpiPrepareDsdt(PPDMDEVINS pDevIns,  void * *ppPtr, size_t *puDsdtLen)
     212{
     213#ifdef VBOX_WITH_DYNAMIC_DSDT
     214    return prepareDynamicDsdt(pDevIns, ppPtr, puDsdtLen);
     215#else
     216    uint8_t *pbAmlCodeDsdt = NULL;
     217    size_t cbAmlCodeDsdt = 0;
     218    int rc = acpiAmlLoadExternal(pDevIns, "DsdtFilePath", "DSDT", &pbAmlCodeDsdt, &cbAmlCodeDsdt);
     219
     220    if (rc == VERR_CFGM_VALUE_NOT_FOUND)
    199221    {
    200222        rc = VINF_SUCCESS;
    201223
    202224        /* Use the compiled in AML code */
    203         cbAmlCode = sizeof(AmlCode);
    204         pbAmlCode = (uint8_t *)RTMemAllocZ(cbAmlCode);
    205         if (pbAmlCode)
    206             memcpy(pbAmlCode, AmlCode, cbAmlCode);
     225        cbAmlCodeDsdt = sizeof(AmlCode);
     226        pbAmlCodeDsdt = (uint8_t *)RTMemAllocZ(cbAmlCodeDsdt);
     227        if (pbAmlCodeDsdt)
     228            memcpy(pbAmlCodeDsdt, AmlCode, cbAmlCodeDsdt);
    207229        else
    208230            rc = VERR_NO_MEMORY;
     
    210232    else if (RT_FAILURE(rc))
    211233        return PDMDEV_SET_ERROR(pDevIns, rc,
    212                                 N_("Configuration error: Failed to read \"AmlFilePath\""));
     234                                N_("Configuration error: Failed to read \"DsdtFilePath\""));
    213235
    214236    if (RT_SUCCESS(rc))
    215237    {
    216         patchAml(pDevIns, pbAmlCode, cbAmlCode);
    217         *ppPtr = pbAmlCode;
    218         *puDsdtLen = cbAmlCode;
     238        patchAml(pDevIns, pbAmlCodeDsdt, cbAmlCodeDsdt);
     239        *ppPtr = pbAmlCodeDsdt;
     240        *puDsdtLen = cbAmlCodeDsdt;
    219241    }
    220242    return rc;
     
    233255}
    234256
     257int acpiPrepareSsdt(PPDMDEVINS pDevIns, void* *ppPtr, size_t *puSsdtLen)
     258{
     259    uint8_t *pbAmlCodeSsdt = NULL;
     260    size_t   cbAmlCodeSsdt = 0;
     261    int rc = acpiAmlLoadExternal(pDevIns, "SsdtFilePath", "SSDT", &pbAmlCodeSsdt, &cbAmlCodeSsdt);
     262
     263    if (rc == VERR_CFGM_VALUE_NOT_FOUND)
     264    {
     265        bool fCpuHotPlug = false;
     266        uint8_t *pbAmlCode = NULL;
     267        rc = CFGMR3QueryBoolDef(pDevIns->pCfgHandle, "CpuHotPlug", &fCpuHotPlug, false);
     268
     269        if (RT_FAILURE(rc))
     270            return rc;
     271
     272        if (fCpuHotPlug)
     273        {
     274            pbAmlCode     = AmlCodeSsdtCpuHotPlug;
     275            cbAmlCodeSsdt = sizeof(AmlCodeSsdtCpuHotPlug);
     276        }
     277        else
     278        {
     279            pbAmlCode     = AmlCodeSsdtStandard;
     280            cbAmlCodeSsdt = sizeof(AmlCodeSsdtStandard);
     281        }
     282
     283        pbAmlCodeSsdt = (uint8_t *)RTMemAllocZ(cbAmlCodeSsdt);
     284        if (pbAmlCodeSsdt)
     285            memcpy(pbAmlCodeSsdt, pbAmlCode, cbAmlCodeSsdt);
     286        else
     287            rc = VERR_NO_MEMORY;
     288    }
     289    else if (RT_FAILURE(rc))
     290        return PDMDEV_SET_ERROR(pDevIns, rc,
     291                                N_("Configuration error: Failed to read \"SsdtFilePath\""));
     292
     293    if (RT_SUCCESS(rc))
     294    {
     295        patchAml(pDevIns, pbAmlCodeSsdt, cbAmlCodeSsdt);
     296        *ppPtr = pbAmlCodeSsdt;
     297        *puSsdtLen = cbAmlCodeSsdt;
     298    }
     299
     300    return VINF_SUCCESS;
     301}
     302
     303int acpiCleanupSsdt(PPDMDEVINS pDevIns, void* pPtr)
     304{
     305    if (pPtr)
     306        RTMemFree(pPtr);
     307    return VINF_SUCCESS;
     308}
     309
  • trunk/src/VBox/Devices/PC/DevACPI.cpp

    r26173 r26183  
    4545int acpiPrepareDsdt(PPDMDEVINS pDevIns, void* *ppPtr, size_t *puDsdtLen);
    4646int acpiCleanupDsdt(PPDMDEVINS pDevIns, void* pPtr);
     47
     48int acpiPrepareSsdt(PPDMDEVINS pDevIns, void* *ppPtr, size_t *puSsdtLen);
     49int acpiCleanupSsdt(PPDMDEVINS pDevIns, void* pPtr);
    4750#endif /* !IN_RING3 */
    4851
     
    682685}
    683686
     687/** Secondary System Description Table (SSDT) */
     688
     689static void acpiSetupSSDT(ACPIState *s, RTGCPHYS32 addr,
     690                            void* pPtr, size_t uSsdtLen)
     691{
     692    acpiPhyscpy(s, addr, pPtr, uSsdtLen);
     693}
     694
    684695/** Firmware ACPI Control Structure (FACS) */
    685696static void acpiSetupFACS(ACPIState *s, RTGCPHYS32 addr)
     
    19401951    int        rc;
    19411952    RTGCPHYS32 GCPhysCur, GCPhysRsdt, GCPhysXsdt, GCPhysFadtAcpi1, GCPhysFadtAcpi2, GCPhysFacs, GCPhysDsdt;
    1942     RTGCPHYS32 GCPhysHpet = 0, GCPhysApic = 0;
     1953    RTGCPHYS32 GCPhysHpet = 0, GCPhysApic = 0, GCPhysSsdt = 0;
    19431954    uint32_t   addend = 0;
    19441955    RTGCPHYS32 aGCPhysRsdt[4];
    19451956    RTGCPHYS32 aGCPhysXsdt[4];
    1946     uint32_t   cAddr, iMadt = 0, iHpet = 0;
     1957    uint32_t   cAddr, iMadt = 0, iHpet = 0, iSsdt = 0;
    19471958    size_t     cbRsdt = sizeof(ACPITBLHEADER);
    19481959    size_t     cbXsdt = sizeof(ACPITBLHEADER);
     
    19541965    if (s->fUseHpet)
    19551966        iHpet = cAddr++;        /* HPET */
     1967
     1968    iSsdt = cAddr++;            /* SSDT */
    19561969
    19571970    cbRsdt += cAddr*sizeof(uint32_t);  /* each entry: 32 bits phys. address. */
     
    20092022        GCPhysCur = RT_ALIGN_32(GCPhysCur + sizeof(ACPITBLHPET), 16);
    20102023    }
     2024
     2025    void*  pSsdtCode = NULL;
     2026    size_t cbSsdtSize = 0;
     2027    rc = acpiPrepareSsdt(s->pDevIns, &pSsdtCode, &cbSsdtSize);
     2028    if (RT_FAILURE(rc))
     2029        return rc;
     2030
     2031    GCPhysSsdt = GCPhysCur;
     2032    GCPhysCur = RT_ALIGN_32(GCPhysCur + cbSsdtSize, 16);
     2033
    20112034    GCPhysDsdt = GCPhysCur;
    20122035
     
    20182041
    20192042    GCPhysCur = RT_ALIGN_32(GCPhysCur + cbDsdtSize, 16);
     2043
    20202044    if (GCPhysCur > 0x10000)
    20212045        return PDMDEV_SET_ERROR(s->pDevIns, VERR_TOO_MUCH_DATA,
     
    20312055    if (s->fUseHpet)
    20322056        Log((" HPET 0x%08X", GCPhysHpet + addend));
     2057    Log((" SSDT 0x%08X", GCPhysSsdt + addend));
    20332058    Log(("\n"));
    20342059
     
    20532078        aGCPhysXsdt[iHpet] = GCPhysHpet + addend;
    20542079    }
     2080    acpiSetupSSDT(s, GCPhysSsdt + addend, pSsdtCode, cbSsdtSize);
     2081    acpiCleanupSsdt(s->pDevIns, pSsdtCode);
     2082    aGCPhysRsdt[iSsdt] = GCPhysSsdt + addend;
     2083    aGCPhysXsdt[iSsdt] = GCPhysSsdt + addend;
    20552084
    20562085    rc = acpiSetupRSDT(s, GCPhysRsdt + addend, cAddr, aGCPhysRsdt);
  • trunk/src/VBox/Devices/PC/vbox-standard.dsl

    r26095 r26183  
    263263 * End:
    264264 */
     265// $Id$
     266/// @file
     267//
     268// VirtualBox ACPI
     269//
     270// Copyright (C) 2006-2007 Sun Microsystems, Inc.
     271//
     272// This file is part of VirtualBox Open Source Edition (OSE), as
     273// available from http://www.virtualbox.org. This file is free software;
     274// you can redistribute it and/or modify it under the terms of the GNU
     275// General Public License (GPL) as published by the Free Software
     276// Foundation, in version 2 as it comes in the "COPYING" file of the
     277// VirtualBox OSE distribution. VirtualBox OSE is distributed in the
     278// hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
     279//
     280// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
     281// Clara, CA 95054 USA or visit http://www.sun.com if you need
     282// additional information or have any questions.
     283
     284DefinitionBlock ("SSDT.aml", "SSDT", 1, "VBOX  ", "VBOXCPUT", 2)
     285{
     286    // Processor object
     287    // #1463: Showing the CPU can make the guest do bad things on it like SpeedStep.
     288    // In this case, XP SP2 contains this buggy Intelppm.sys driver which wants to mess
     289    // with SpeedStep if it finds a CPU object and when it finds out that it can't, it
     290    // tries to unload and crashes (MS probably never tested this code path).
     291    // So we enable this ACPI object only for certain guests, which do need it,
     292    // if by accident Windows guest seen enabled CPU object, just boot from latest
     293    // known good configuration, as it remembers state, even if ACPI object gets disabled.
     294    Scope (\_PR)
     295    {
     296        Processor (CPU0, /* Name */
     297                    0x00, /* Id */
     298                    0x0,  /* Processor IO ports range start */
     299                    0x0   /* Processor IO ports range length */
     300                    )
     301        {
     302        }
     303
     304        Processor (CPU1, /* Name */
     305                    0x01, /* Id */
     306                    0x0,  /* Processor IO ports range start */
     307                    0x0   /* Processor IO ports range length */
     308                    )
     309        {
     310        }
     311        Processor (CPU2, /* Name */
     312                    0x02, /* Id */
     313                    0x0,  /* Processor IO ports range start */
     314                    0x0   /* Processor IO ports range length */
     315                    )
     316        {
     317        }
     318        Processor (CPU3, /* Name */
     319                    0x03, /* Id */
     320                    0x0,  /* Processor IO ports range start */
     321                    0x0   /* Processor IO ports range length */
     322                    )
     323        {
     324        }
     325        Processor (CPU4, /* Name */
     326                    0x04, /* Id */
     327                    0x0,  /* Processor IO ports range start */
     328                    0x0   /* Processor IO ports range length */
     329                    )
     330        {
     331        }
     332        Processor (CPU5, /* Name */
     333                    0x05, /* Id */
     334                    0x0,  /* Processor IO ports range start */
     335                    0x0   /* Processor IO ports range length */
     336                    )
     337        {
     338        }
     339        Processor (CPU6, /* Name */
     340                    0x06, /* Id */
     341                    0x0,  /* Processor IO ports range start */
     342                    0x0   /* Processor IO ports range length */
     343                    )
     344        {
     345        }
     346        Processor (CPU7, /* Name */
     347                    0x07, /* Id */
     348                    0x0,  /* Processor IO ports range start */
     349                    0x0   /* Processor IO ports range length */
     350                    )
     351        {
     352        }
     353        Processor (CPU8, /* Name */
     354                    0x08, /* Id */
     355                    0x0,  /* Processor IO ports range start */
     356                    0x0   /* Processor IO ports range length */
     357                    )
     358        {
     359        }
     360        Processor (CPU9, /* Name */
     361                    0x09, /* Id */
     362                    0x0,  /* Processor IO ports range start */
     363                    0x0   /* Processor IO ports range length */
     364                    )
     365        {
     366        }
     367        Processor (CPUA, /* Name */
     368                    0x0a, /* Id */
     369                    0x0,  /* Processor IO ports range start */
     370                    0x0   /* Processor IO ports range length */
     371                    )
     372        {
     373        }
     374        Processor (CPUB, /* Name */
     375                    0x0b, /* Id */
     376                    0x0,  /* Processor IO ports range start */
     377                    0x0   /* Processor IO ports range length */
     378                    )
     379        {
     380        }
     381        Processor (CPUC, /* Name */
     382                    0x0c, /* Id */
     383                    0x0,  /* Processor IO ports range start */
     384                    0x0   /* Processor IO ports range length */
     385                    )
     386        {
     387        }
     388        Processor (CPUD, /* Name */
     389                    0x0d, /* Id */
     390                    0x0,  /* Processor IO ports range start */
     391                    0x0   /* Processor IO ports range length */
     392                    )
     393        {
     394        }
     395        Processor (CPUE, /* Name */
     396                    0x0e, /* Id */
     397                    0x0,  /* Processor IO ports range start */
     398                    0x0   /* Processor IO ports range length */
     399                    )
     400        {
     401        }
     402        Processor (CPUF, /* Name */
     403                    0x0f, /* Id */
     404                    0x0,  /* Processor IO ports range start */
     405                    0x0   /* Processor IO ports range length */
     406                    )
     407        {
     408        }
     409        Processor (CPUG, /* Name */
     410                    0x10, /* Id */
     411                    0x0,  /* Processor IO ports range start */
     412                    0x0   /* Processor IO ports range length */
     413                    )
     414        {
     415        }
     416        Processor (CPUH, /* Name */
     417                    0x11, /* Id */
     418                    0x0,  /* Processor IO ports range start */
     419                    0x0   /* Processor IO ports range length */
     420                    )
     421        {
     422        }
     423        Processor (CPUI, /* Name */
     424                    0x12, /* Id */
     425                    0x0,  /* Processor IO ports range start */
     426                    0x0   /* Processor IO ports range length */
     427                    )
     428        {
     429        }
     430        Processor (CPUJ, /* Name */
     431                    0x13, /* Id */
     432                    0x0,  /* Processor IO ports range start */
     433                    0x0   /* Processor IO ports range length */
     434                    )
     435        {
     436        }
     437        Processor (CPUK, /* Name */
     438                    0x14, /* Id */
     439                    0x0,  /* Processor IO ports range start */
     440                    0x0   /* Processor IO ports range length */
     441                    )
     442        {
     443        }
     444        Processor (CPUL, /* Name */
     445                    0x15, /* Id */
     446                    0x0,  /* Processor IO ports range start */
     447                    0x0   /* Processor IO ports range length */
     448                    )
     449        {
     450        }
     451        Processor (CPUM, /* Name */
     452                    0x16, /* Id */
     453                    0x0,  /* Processor IO ports range start */
     454                    0x0   /* Processor IO ports range length */
     455                    )
     456        {
     457        }
     458        Processor (CPUN, /* Name */
     459                    0x17, /* Id */
     460                    0x0,  /* Processor IO ports range start */
     461                    0x0   /* Processor IO ports range length */
     462                    )
     463        {
     464        }
     465        Processor (CPUO, /* Name */
     466                    0x18, /* Id */
     467                    0x0,  /* Processor IO ports range start */
     468                    0x0   /* Processor IO ports range length */
     469                    )
     470        {
     471        }
     472        Processor (CPUP, /* Name */
     473                    0x19, /* Id */
     474                    0x0,  /* Processor IO ports range start */
     475                    0x0   /* Processor IO ports range length */
     476                    )
     477        {
     478        }
     479        Processor (CPUQ, /* Name */
     480                    0x1a, /* Id */
     481                    0x0,  /* Processor IO ports range start */
     482                    0x0   /* Processor IO ports range length */
     483                    )
     484        {
     485        }
     486        Processor (CPUR, /* Name */
     487                    0x1b, /* Id */
     488                    0x0,  /* Processor IO ports range start */
     489                    0x0   /* Processor IO ports range length */
     490                    )
     491        {
     492        }
     493        Processor (CPUS, /* Name */
     494                    0x1c, /* Id */
     495                    0x0,  /* Processor IO ports range start */
     496                    0x0   /* Processor IO ports range length */
     497                    )
     498        {
     499        }
     500        Processor (CPUT, /* Name */
     501                    0x1d, /* Id */
     502                    0x0,  /* Processor IO ports range start */
     503                    0x0   /* Processor IO ports range length */
     504                    )
     505        {
     506        }
     507        Processor (CPUU, /* Name */
     508                    0x1e, /* Id */
     509                    0x0,  /* Processor IO ports range start */
     510                    0x0   /* Processor IO ports range length */
     511                    )
     512        {
     513        }
     514        Processor (CPUV, /* Name */
     515                    0x1f, /* Id */
     516                    0x0,  /* Processor IO ports range start */
     517                    0x0   /* Processor IO ports range length */
     518                    )
     519        {
     520        }
     521    }
     522}
     523
     524/*
     525 * Local Variables:
     526 * comment-start: "//"
     527 * End:
     528 */
  • trunk/src/VBox/Devices/PC/vbox.dsl

    r26115 r26183  
    121121    }
    122122
    123     // Processor object
    124     // #1463: Showing the CPU can make the guest do bad things on it like SpeedStep.
    125     // In this case, XP SP2 contains this buggy Intelppm.sys driver which wants to mess
    126     // with SpeedStep if it finds a CPU object and when it finds out that it can't, it
    127     // tries to unload and crashes (MS probably never tested this code path).
    128     // So we enable this ACPI object only for certain guests, which do need it,
    129     // if by accident Windows guest seen enabled CPU object, just boot from latest
    130     // known good configuration, as it remembers state, even if ACPI object gets disabled.
    131     Scope (\_PR)
    132     {
    133         Processor (CPU0, /* Name */
    134                    0x00, /* Id */
    135                    0x0,  /* Processor IO ports range start */
    136                    0x0   /* Processor IO ports range length */
    137                    )
    138         {
    139         }
    140         Processor (CPU1, /* Name */
    141                    0x01, /* Id */
    142                    0x0,  /* Processor IO ports range start */
    143                    0x0   /* Processor IO ports range length */
    144                    )
    145         {
    146         }
    147         Processor (CPU2, /* Name */
    148                    0x02, /* Id */
    149                    0x0,  /* Processor IO ports range start */
    150                    0x0   /* Processor IO ports range length */
    151                    )
    152         {
    153         }
    154         Processor (CPU3, /* Name */
    155                    0x03, /* Id */
    156                    0x0,  /* Processor IO ports range start */
    157                    0x0   /* Processor IO ports range length */
    158                    )
    159         {
    160         }
    161         Processor (CPU4, /* Name */
    162                    0x04, /* Id */
    163                    0x0,  /* Processor IO ports range start */
    164                    0x0   /* Processor IO ports range length */
    165                    )
    166         {
    167         }
    168         Processor (CPU5, /* Name */
    169                    0x05, /* Id */
    170                    0x0,  /* Processor IO ports range start */
    171                    0x0   /* Processor IO ports range length */
    172                    )
    173         {
    174         }
    175         Processor (CPU6, /* Name */
    176                    0x06, /* Id */
    177                    0x0,  /* Processor IO ports range start */
    178                    0x0   /* Processor IO ports range length */
    179                    )
    180         {
    181         }
    182         Processor (CPU7, /* Name */
    183                    0x07, /* Id */
    184                    0x0,  /* Processor IO ports range start */
    185                    0x0   /* Processor IO ports range length */
    186                    )
    187         {
    188         }
    189         Processor (CPU8, /* Name */
    190                    0x08, /* Id */
    191                    0x0,  /* Processor IO ports range start */
    192                    0x0   /* Processor IO ports range length */
    193                    )
    194         {
    195         }
    196         Processor (CPU9, /* Name */
    197                    0x09, /* Id */
    198                    0x0,  /* Processor IO ports range start */
    199                    0x0   /* Processor IO ports range length */
    200                    )
    201         {
    202         }
    203         Processor (CPUA, /* Name */
    204                    0x0a, /* Id */
    205                    0x0,  /* Processor IO ports range start */
    206                    0x0   /* Processor IO ports range length */
    207                    )
    208         {
    209         }
    210         Processor (CPUB, /* Name */
    211                    0x0b, /* Id */
    212                    0x0,  /* Processor IO ports range start */
    213                    0x0   /* Processor IO ports range length */
    214                    )
    215         {
    216         }
    217         Processor (CPUC, /* Name */
    218                    0x0c, /* Id */
    219                    0x0,  /* Processor IO ports range start */
    220                    0x0   /* Processor IO ports range length */
    221                    )
    222         {
    223         }
    224         Processor (CPUD, /* Name */
    225                    0x0d, /* Id */
    226                    0x0,  /* Processor IO ports range start */
    227                    0x0   /* Processor IO ports range length */
    228                    )
    229         {
    230         }
    231         Processor (CPUE, /* Name */
    232                    0x0e, /* Id */
    233                    0x0,  /* Processor IO ports range start */
    234                    0x0   /* Processor IO ports range length */
    235                    )
    236         {
    237         }
    238         Processor (CPUF, /* Name */
    239                    0x0f, /* Id */
    240                    0x0,  /* Processor IO ports range start */
    241                    0x0   /* Processor IO ports range length */
    242                    )
    243         {
    244         }
    245         Processor (CPUG, /* Name */
    246                    0x10, /* Id */
    247                    0x0,  /* Processor IO ports range start */
    248                    0x0   /* Processor IO ports range length */
    249                    )
    250         {
    251         }
    252         Processor (CPUH, /* Name */
    253                    0x11, /* Id */
    254                    0x0,  /* Processor IO ports range start */
    255                    0x0   /* Processor IO ports range length */
    256                    )
    257         {
    258         }
    259         Processor (CPUI, /* Name */
    260                    0x12, /* Id */
    261                    0x0,  /* Processor IO ports range start */
    262                    0x0   /* Processor IO ports range length */
    263                    )
    264         {
    265         }
    266         Processor (CPUJ, /* Name */
    267                    0x13, /* Id */
    268                    0x0,  /* Processor IO ports range start */
    269                    0x0   /* Processor IO ports range length */
    270                    )
    271         {
    272         }
    273         Processor (CPUK, /* Name */
    274                    0x14, /* Id */
    275                    0x0,  /* Processor IO ports range start */
    276                    0x0   /* Processor IO ports range length */
    277                    )
    278         {
    279         }
    280         Processor (CPUL, /* Name */
    281                    0x15, /* Id */
    282                    0x0,  /* Processor IO ports range start */
    283                    0x0   /* Processor IO ports range length */
    284                    )
    285         {
    286         }
    287         Processor (CPUM, /* Name */
    288                    0x16, /* Id */
    289                    0x0,  /* Processor IO ports range start */
    290                    0x0   /* Processor IO ports range length */
    291                    )
    292         {
    293         }
    294         Processor (CPUN, /* Name */
    295                    0x17, /* Id */
    296                    0x0,  /* Processor IO ports range start */
    297                    0x0   /* Processor IO ports range length */
    298                    )
    299         {
    300         }
    301         Processor (CPUO, /* Name */
    302                    0x18, /* Id */
    303                    0x0,  /* Processor IO ports range start */
    304                    0x0   /* Processor IO ports range length */
    305                    )
    306         {
    307         }
    308         Processor (CPUP, /* Name */
    309                    0x19, /* Id */
    310                    0x0,  /* Processor IO ports range start */
    311                    0x0   /* Processor IO ports range length */
    312                    )
    313         {
    314         }
    315         Processor (CPUQ, /* Name */
    316                    0x1a, /* Id */
    317                    0x0,  /* Processor IO ports range start */
    318                    0x0   /* Processor IO ports range length */
    319                    )
    320         {
    321         }
    322         Processor (CPUR, /* Name */
    323                    0x1b, /* Id */
    324                    0x0,  /* Processor IO ports range start */
    325                    0x0   /* Processor IO ports range length */
    326                    )
    327         {
    328         }
    329         Processor (CPUS, /* Name */
    330                    0x1c, /* Id */
    331                    0x0,  /* Processor IO ports range start */
    332                    0x0   /* Processor IO ports range length */
    333                    )
    334         {
    335         }
    336         Processor (CPUT, /* Name */
    337                    0x1d, /* Id */
    338                    0x0,  /* Processor IO ports range start */
    339                    0x0   /* Processor IO ports range length */
    340                    )
    341         {
    342         }
    343         Processor (CPUU, /* Name */
    344                    0x1e, /* Id */
    345                    0x0,  /* Processor IO ports range start */
    346                    0x0   /* Processor IO ports range length */
    347                    )
    348         {
    349         }
    350         Processor (CPUV, /* Name */
    351                    0x1f, /* Id */
    352                    0x0,  /* Processor IO ports range start */
    353                    0x0   /* Processor IO ports range length */
    354                    )
    355         {
    356         }
    357        
    358     }
    359 
    360123    Scope (\_SB)
    361124    {
     
    376139            // @todo: maybe make it bitmask instead?
    377140            UCP0,  32,
    378             UCP1,  32, 
    379             UCP2,  32, 
    380             UCP3,  32, 
     141            UCP1,  32,
     142            UCP2,  32,
     143            UCP3,  32,
    381144            MEMH,  32,
    382145            URTC,  32,
     146            CPUL,  32,
     147            CPUC,  32,
    383148            Offset (0x80),
    384149            ININ, 32,
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