Changeset 26594 in vbox for trunk/src/VBox/Devices/PC
- Timestamp:
- Feb 17, 2010 1:48:11 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 57786
- Location:
- trunk/src/VBox/Devices/PC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/DevACPI.cpp
r26592 r26594 142 142 enum 143 143 { 144 CPU_EVENT_TYPE_ADD = 0x01, /**< Event type add */ 145 CPU_EVENT_TYPE_REMOVE = 0x03 /**< Event type remove */ 146 }; 147 148 enum 149 { 144 150 SYSTEM_INFO_INDEX_LOW_MEMORY_LENGTH = 0, 145 151 SYSTEM_INFO_INDEX_USE_IOAPIC = 1, … … 155 161 SYSTEM_INFO_INDEX_CPU_LOCKED = 11, /**< Contains a flag indicating whether the CPU is locked or not */ 156 162 SYSTEM_INFO_INDEX_CPU_LOCK_CHECK = 12, /**< For which CPU the lock status should be checked */ 163 SYSTEM_INFO_INDEX_CPU_EVENT_TYPE = 13, /**< Type of the CPU hot-plug event */ 164 SYSTEM_INFO_INDEX_CPU_EVENT = 14, /**< The CPU id the event is for */ 157 165 SYSTEM_INFO_INDEX_END = 15, 158 166 SYSTEM_INFO_INDEX_INVALID = 0x80, … … 242 250 /** Mask of locked CPUs (used by the guest) */ 243 251 VMCPUSET CpuSetLocked; 252 /** The CPU event type */ 253 uint32_t u32CpuEventType; 254 /** The CPU id affected */ 255 uint32_t u32CpuEvent; 244 256 /** Flag whether CPU hot plugging is enabled */ 245 257 bool fCpuHotPlug; … … 1491 1503 } 1492 1504 1505 case SYSTEM_INFO_INDEX_CPU_EVENT_TYPE: 1506 { 1507 *pu32 = s->u32CpuEventType; 1508 break; 1509 } 1510 1511 case SYSTEM_INFO_INDEX_CPU_EVENT: 1512 { 1513 *pu32 = s->u32CpuEvent; 1514 break; 1515 } 1516 1493 1517 /* Solaris 9 tries to read from this index */ 1494 1518 case SYSTEM_INFO_INDEX_INVALID: … … 2187 2211 */ 2188 2212 VMCPUSET_ADD(&s->CpuSetLocked, iLUN); 2213 s->u32CpuEventType = CPU_EVENT_TYPE_ADD; 2214 s->u32CpuEvent = iLUN; 2189 2215 /* Notify the guest */ 2190 2216 update_gpe0(s, s->gpe0_sts | 0x2, s->gpe0_en); … … 2356 2382 VMCPUSET_EMPTY(&s->CpuSetLocked); 2357 2383 s->idCpuLockCheck = UINT32_C(0xffffffff); 2384 s->u32CpuEventType = 0; 2385 s->u32CpuEvent = UINT32_C(0xffffffff); 2358 2386 2359 2387 /* The first CPU can't be attached/detached */ -
trunk/src/VBox/Devices/PC/vbox-cpuhotplug.dsl
r26593 r26594 22 22 External(\_SB.CPUC) 23 23 External(\_SB.CPUL) 24 External(\_SB.CPEV) 25 External(\_SB.CPET) 24 26 25 27 // Method to check for the CPU status … … 131 133 { 132 134 133 #define CHECK_CPU(cpu, sck) \134 IF ( CPCK(cpu))\135 { \136 Notify (\_SB.sck, 0x1) \137 } \135 #define CHECK_CPU(cpu, sck) \ 136 IF (LEqual(Local0, cpu)) \ 137 { \ 138 Notify (\_SB.sck, Local1) \ 139 } \ 138 140 139 141 // GPE bit 1 handler … … 143 145 Method (_L01, 0, NotSerialized) 144 146 { 145 /*Store(\_SB.CPET, Local0)*/146 /*Store(\_SB.CPEV, Local1)*/147 Store(\_SB.CPEV, Local0) 148 Store(\_SB.CPET, Local1) 147 149 148 150 CHECK_CPU(0x01, SCK1) -
trunk/src/VBox/Devices/PC/vbox.dsl
r26183 r26594 146 146 CPUL, 32, 147 147 CPUC, 32, 148 CPET, 32, 149 CPEV, 32, 148 150 Offset (0x80), 149 151 ININ, 32,
Note:
See TracChangeset
for help on using the changeset viewer.