VirtualBox

Changeset 26613 in vbox for trunk/src/VBox/Devices


Ignore:
Timestamp:
Feb 17, 2010 3:01:47 PM (15 years ago)
Author:
vboxsync
Message:

CPU hotplug: The container has to be there always (you can't remove a CPU socket, only the CPU) and the OSPM needs to check the CPU object not the container during a hot-plug event. Fixes Linux guests not detecting the new CPU after insertion if it was removed before

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/vbox-cpuhotplug.dsl

    r26594 r26613  
    4141        Name (_UID, sckuid)                                                \
    4242                                                                           \
    43         Method (_STA, 0, NotSerialized)                                    \
    44         {                                                                  \
    45             IF (CPCK(id))                                                  \
    46             {                                                              \
    47                 Return (0xF)                                               \
    48             }                                                              \
    49             Else                                                           \
    50             {                                                              \
    51                 Return (0x0)                                               \
    52             }                                                              \
    53         }                                                                  \
    5443                                                                           \
    5544        Processor (cpu, /* Name */                                         \
     
    133122    {
    134123
    135 #define CHECK_CPU(cpu, sck)          \
    136     IF (LEqual(Local0, cpu))      \
    137     {                                \
    138         Notify (\_SB.sck, Local1) \
    139     }                                \
     124#define CHECK_CPU(cpu, sck, cpuname)      \
     125    IF (LEqual(Local0, cpu))              \
     126    {                                     \
     127        Notify (\_SB.sck.cpuname, Local1) \
     128    }                                     \
    140129
    141130        // GPE bit 1 handler
     
    148137            Store(\_SB.CPET, Local1)
    149138
    150             CHECK_CPU(0x01, SCK1)
    151             CHECK_CPU(0x02, SCK2)
    152             CHECK_CPU(0x03, SCK3)
    153             CHECK_CPU(0x04, SCK4)
    154             CHECK_CPU(0x05, SCK5)
    155             CHECK_CPU(0x06, SCK6)
    156             CHECK_CPU(0x07, SCK7)
    157             CHECK_CPU(0x08, SCK8)
    158             CHECK_CPU(0x09, SCK9)
    159             CHECK_CPU(0x0a, SCKA)
    160             CHECK_CPU(0x0b, SCKB)
    161             CHECK_CPU(0x0c, SCKC)
    162             CHECK_CPU(0x0d, SCKD)
    163             CHECK_CPU(0x0e, SCKE)
    164             CHECK_CPU(0x0f, SCKF)
    165             CHECK_CPU(0x10, SCKG)
    166             CHECK_CPU(0x11, SCKH)
    167             CHECK_CPU(0x12, SCKI)
    168             CHECK_CPU(0x13, SCKJ)
    169             CHECK_CPU(0x14, SCKK)
    170             CHECK_CPU(0x15, SCKL)
    171             CHECK_CPU(0x16, SCKM)
    172             CHECK_CPU(0x17, SCKN)
    173             CHECK_CPU(0x18, SCKO)
    174             CHECK_CPU(0x19, SCKP)
    175             CHECK_CPU(0x1a, SCKQ)
    176             CHECK_CPU(0x1b, SCKR)
    177             CHECK_CPU(0x1c, SCKS)
    178             CHECK_CPU(0x1d, SCKT)
    179             CHECK_CPU(0x1e, SCKU)
    180             CHECK_CPU(0x1f, SCKV)
     139            CHECK_CPU(0x01, SCK1, CPU1)
     140            CHECK_CPU(0x02, SCK2, CPU2)
     141            CHECK_CPU(0x03, SCK3, CPU3)
     142            CHECK_CPU(0x04, SCK4, CPU4)
     143            CHECK_CPU(0x05, SCK5, CPU5)
     144            CHECK_CPU(0x06, SCK6, CPU6)
     145            CHECK_CPU(0x07, SCK7, CPU7)
     146            CHECK_CPU(0x08, SCK8, CPU8)
     147            CHECK_CPU(0x09, SCK9, CPU9)
     148            CHECK_CPU(0x0a, SCKA, CPUA)
     149            CHECK_CPU(0x0b, SCKB, CPUB)
     150            CHECK_CPU(0x0c, SCKC, CPUC)
     151            CHECK_CPU(0x0d, SCKD, CPUD)
     152            CHECK_CPU(0x0e, SCKE, CPUE)
     153            CHECK_CPU(0x0f, SCKF, CPUF)
     154            CHECK_CPU(0x10, SCKG, CPUG)
     155            CHECK_CPU(0x11, SCKH, CPUH)
     156            CHECK_CPU(0x12, SCKI, CPUI)
     157            CHECK_CPU(0x13, SCKJ, CPUJ)
     158            CHECK_CPU(0x14, SCKK, CPUK)
     159            CHECK_CPU(0x15, SCKL, CPUL)
     160            CHECK_CPU(0x16, SCKM, CPUM)
     161            CHECK_CPU(0x17, SCKN, CPUN)
     162            CHECK_CPU(0x18, SCKO, CPUO)
     163            CHECK_CPU(0x19, SCKP, CPUP)
     164            CHECK_CPU(0x1a, SCKQ, CPUQ)
     165            CHECK_CPU(0x1b, SCKR, CPUR)
     166            CHECK_CPU(0x1c, SCKS, CPUS)
     167            CHECK_CPU(0x1d, SCKT, CPUT)
     168            CHECK_CPU(0x1e, SCKU, CPUU)
     169            CHECK_CPU(0x1f, SCKV, CPUV)
    181170        }
    182171
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