2 * Bochs/QEMU ACPI DSDT ASL definition
4 * Copyright (c) 2006 Fabrice Bellard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License version 2 as published by the Free Software Foundation.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 "acpi-dsdt.aml", // Output Filename
22 0x01, // DSDT Compliance Revision
30 OperationRegion( PRST, SystemIO, 0xaf00, 0x02)
31 Field (PRST, ByteAcc, NoLock, WriteAsZeros)
37 Processor (CPU0, 0x00, 0x0000b010, 0x06) {Method (_STA) { Return(0xF)}}
38 Processor (CPU1, 0x01, 0x0000b010, 0x06) {
39 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x01, 0x01, 0x1, 0x0, 0x0, 0x0})
41 If (And(\_PR.PRU, 0x2)) { Return(TMP) }
48 Processor (CPU2, 0x02, 0x0000b010, 0x06) {
49 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x02, 0x02, 0x1, 0x0, 0x0, 0x0})
51 If (And(\_PR.PRU, 0x4)) { Return(TMP) }
58 Processor (CPU3, 0x03, 0x0000b010, 0x06) {
59 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x03, 0x03, 0x1, 0x0, 0x0, 0x0})
61 If (And(\_PR.PRU, 0x8)) { Return(TMP) }
68 Processor (CPU4, 0x04, 0x0000b010, 0x06) {
69 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x04, 0x04, 0x1, 0x0, 0x0, 0x0})
71 If (And(\_PR.PRU, 0x10)) { Return(TMP) }
78 Processor (CPU5, 0x05, 0x0000b010, 0x06) {
79 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x05, 0x05, 0x1, 0x0, 0x0, 0x0})
81 If (And(\_PR.PRU, 0x20)) { Return(TMP) }
88 Processor (CPU6, 0x06, 0x0000b010, 0x06) {
89 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x06, 0x06, 0x1, 0x0, 0x0, 0x0})
91 If (And(\_PR.PRU, 0x40)) { Return(TMP) }
98 Processor (CPU7, 0x07, 0x0000b010, 0x06) {
99 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x07, 0x07, 0x1, 0x0, 0x0, 0x0})
101 If (And(\_PR.PRU, 0x80)) { Return(TMP) }
108 Processor (CPU8, 0x08, 0x0000b010, 0x06) {
109 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x08, 0x08, 0x1, 0x0, 0x0, 0x0})
111 If (And(\_PR.PRU, 0x100)) { Return(TMP) }
118 Processor (CPU9, 0x09, 0x0000b010, 0x06) {
119 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x09, 0x09, 0x1, 0x0, 0x0, 0x0})
121 If (And(\_PR.PRU, 0x200)) { Return(TMP) }
128 Processor (CPUA, 0x0a, 0x0000b010, 0x06) {
129 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0A, 0x0A, 0x1, 0x0, 0x0, 0x0})
131 If (And(\_PR.PRU, 0x400)) { Return(TMP) }
138 Processor (CPUB, 0x0b, 0x0000b010, 0x06) {
139 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0B, 0x0B, 0x1, 0x0, 0x0, 0x0})
141 If (And(\_PR.PRU, 0x800)) { Return(TMP) }
148 Processor (CPUC, 0x0c, 0x0000b010, 0x06) {
149 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0C, 0x0C, 0x1, 0x0, 0x0, 0x0})
151 If (And(\_PR.PRU, 0x1000)) { Return(TMP) }
158 Processor (CPUD, 0x0d, 0x0000b010, 0x06) {
159 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0D, 0x0D, 0x1, 0x0, 0x0, 0x0})
161 If (And(\_PR.PRU, 0x2000)) { Return(TMP) }
168 Processor (CPUE, 0x0e, 0x0000b010, 0x06) {
169 Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0E, 0x0E, 0x1, 0x0, 0x0, 0x0})
171 If (And(\_PR.PRU, 0x4000)) { Return(TMP) }
182 /* CMOS memory access */
183 OperationRegion (CMS, SystemIO, 0x70, 0x02)
184 Field (CMS, ByteAcc, NoLock, Preserve)
189 Method (CMRD, 1, NotSerialized)
197 OperationRegion (DBG, SystemIO, 0xb044, 0x04)
198 Field (DBG, DWordAcc, NoLock, Preserve)
205 /* PCI Bus definition */
208 Name (_HID, EisaId ("PNP0A03"))
211 Name(_PRT, Package() {
212 /* PCI IRQ routing table, example from ACPI 2.0a specification,
214 /* Note: we provide the same info as the PCI routing
215 table of the Bochs BIOS */
218 Package() {0x0000ffff, 0, LNKD, 0},
219 Package() {0x0000ffff, 1, LNKA, 0},
220 Package() {0x0000ffff, 2, LNKB, 0},
221 Package() {0x0000ffff, 3, LNKC, 0},
224 Package() {0x0001ffff, 0, LNKA, 0},
225 Package() {0x0001ffff, 1, LNKB, 0},
226 Package() {0x0001ffff, 2, LNKC, 0},
227 Package() {0x0001ffff, 3, LNKD, 0},
230 Package() {0x0002ffff, 0, LNKB, 0},
231 Package() {0x0002ffff, 1, LNKC, 0},
232 Package() {0x0002ffff, 2, LNKD, 0},
233 Package() {0x0002ffff, 3, LNKA, 0},
236 Package() {0x0003ffff, 0, LNKC, 0},
237 Package() {0x0003ffff, 1, LNKD, 0},
238 Package() {0x0003ffff, 2, LNKA, 0},
239 Package() {0x0003ffff, 3, LNKB, 0},
242 Package() {0x0004ffff, 0, LNKD, 0},
243 Package() {0x0004ffff, 1, LNKA, 0},
244 Package() {0x0004ffff, 2, LNKB, 0},
245 Package() {0x0004ffff, 3, LNKC, 0},
248 Package() {0x0005ffff, 0, LNKA, 0},
249 Package() {0x0005ffff, 1, LNKB, 0},
250 Package() {0x0005ffff, 2, LNKC, 0},
251 Package() {0x0005ffff, 3, LNKD, 0},
254 Package() {0x0006ffff, 0, LNKB, 0},
255 Package() {0x0006ffff, 1, LNKC, 0},
256 Package() {0x0006ffff, 2, LNKD, 0},
257 Package() {0x0006ffff, 3, LNKA, 0},
260 Package() {0x0007ffff, 0, LNKC, 0},
261 Package() {0x0007ffff, 1, LNKD, 0},
262 Package() {0x0007ffff, 2, LNKA, 0},
263 Package() {0x0007ffff, 3, LNKB, 0},
266 Package() {0x0008ffff, 0, LNKD, 0},
267 Package() {0x0008ffff, 1, LNKA, 0},
268 Package() {0x0008ffff, 2, LNKB, 0},
269 Package() {0x0008ffff, 3, LNKC, 0},
272 Package() {0x0008ffff, 0, LNKA, 0},
273 Package() {0x0008ffff, 1, LNKB, 0},
274 Package() {0x0008ffff, 2, LNKC, 0},
275 Package() {0x0008ffff, 3, LNKD, 0},
278 Package() {0x000affff, 0, LNKB, 0},
279 Package() {0x000affff, 1, LNKC, 0},
280 Package() {0x000affff, 2, LNKD, 0},
281 Package() {0x000affff, 3, LNKA, 0},
284 Package() {0x000bffff, 0, LNKC, 0},
285 Package() {0x000bffff, 1, LNKD, 0},
286 Package() {0x000bffff, 2, LNKA, 0},
287 Package() {0x000bffff, 3, LNKB, 0},
290 Package() {0x000cffff, 0, LNKD, 0},
291 Package() {0x000cffff, 1, LNKA, 0},
292 Package() {0x000cffff, 2, LNKB, 0},
293 Package() {0x000cffff, 3, LNKC, 0},
296 Package() {0x000dffff, 0, LNKA, 0},
297 Package() {0x000dffff, 1, LNKB, 0},
298 Package() {0x000dffff, 2, LNKC, 0},
299 Package() {0x000dffff, 3, LNKD, 0},
302 Package() {0x000effff, 0, LNKB, 0},
303 Package() {0x000effff, 1, LNKC, 0},
304 Package() {0x000effff, 2, LNKD, 0},
305 Package() {0x000effff, 3, LNKA, 0},
308 Package() {0x000fffff, 0, LNKC, 0},
309 Package() {0x000fffff, 1, LNKD, 0},
310 Package() {0x000fffff, 2, LNKA, 0},
311 Package() {0x000fffff, 3, LNKB, 0},
314 Package() {0x0010ffff, 0, LNKD, 0},
315 Package() {0x0010ffff, 1, LNKA, 0},
316 Package() {0x0010ffff, 2, LNKB, 0},
317 Package() {0x0010ffff, 3, LNKC, 0},
320 Package() {0x0011ffff, 0, LNKA, 0},
321 Package() {0x0011ffff, 1, LNKB, 0},
322 Package() {0x0011ffff, 2, LNKC, 0},
323 Package() {0x0011ffff, 3, LNKD, 0},
326 Package() {0x0012ffff, 0, LNKB, 0},
327 Package() {0x0012ffff, 1, LNKC, 0},
328 Package() {0x0012ffff, 2, LNKD, 0},
329 Package() {0x0012ffff, 3, LNKA, 0},
332 Package() {0x0013ffff, 0, LNKC, 0},
333 Package() {0x0013ffff, 1, LNKD, 0},
334 Package() {0x0013ffff, 2, LNKA, 0},
335 Package() {0x0013ffff, 3, LNKB, 0},
338 Package() {0x0014ffff, 0, LNKD, 0},
339 Package() {0x0014ffff, 1, LNKA, 0},
340 Package() {0x0014ffff, 2, LNKB, 0},
341 Package() {0x0014ffff, 3, LNKC, 0},
344 Package() {0x0015ffff, 0, LNKA, 0},
345 Package() {0x0015ffff, 1, LNKB, 0},
346 Package() {0x0015ffff, 2, LNKC, 0},
347 Package() {0x0015ffff, 3, LNKD, 0},
350 Package() {0x0016ffff, 0, LNKB, 0},
351 Package() {0x0016ffff, 1, LNKC, 0},
352 Package() {0x0016ffff, 2, LNKD, 0},
353 Package() {0x0016ffff, 3, LNKA, 0},
356 Package() {0x0017ffff, 0, LNKC, 0},
357 Package() {0x0017ffff, 1, LNKD, 0},
358 Package() {0x0017ffff, 2, LNKA, 0},
359 Package() {0x0017ffff, 3, LNKB, 0},
362 Package() {0x0018ffff, 0, LNKD, 0},
363 Package() {0x0018ffff, 1, LNKA, 0},
364 Package() {0x0018ffff, 2, LNKB, 0},
365 Package() {0x0018ffff, 3, LNKC, 0},
368 Package() {0x0018ffff, 0, LNKA, 0},
369 Package() {0x0018ffff, 1, LNKB, 0},
370 Package() {0x0018ffff, 2, LNKC, 0},
371 Package() {0x0018ffff, 3, LNKD, 0},
374 Package() {0x001affff, 0, LNKB, 0},
375 Package() {0x001affff, 1, LNKC, 0},
376 Package() {0x001affff, 2, LNKD, 0},
377 Package() {0x001affff, 3, LNKA, 0},
380 Package() {0x001bffff, 0, LNKC, 0},
381 Package() {0x001bffff, 1, LNKD, 0},
382 Package() {0x001bffff, 2, LNKA, 0},
383 Package() {0x001bffff, 3, LNKB, 0},
386 Package() {0x001cffff, 0, LNKD, 0},
387 Package() {0x001cffff, 1, LNKA, 0},
388 Package() {0x001cffff, 2, LNKB, 0},
389 Package() {0x001cffff, 3, LNKC, 0},
392 Package() {0x001dffff, 0, LNKA, 0},
393 Package() {0x001dffff, 1, LNKB, 0},
394 Package() {0x001dffff, 2, LNKC, 0},
395 Package() {0x001dffff, 3, LNKD, 0},
398 Package() {0x001effff, 0, LNKB, 0},
399 Package() {0x001effff, 1, LNKC, 0},
400 Package() {0x001effff, 2, LNKD, 0},
401 Package() {0x001effff, 3, LNKA, 0},
404 Package() {0x001fffff, 0, LNKC, 0},
405 Package() {0x001fffff, 1, LNKD, 0},
406 Package() {0x001fffff, 2, LNKA, 0},
407 Package() {0x001fffff, 3, LNKB, 0},
410 OperationRegion(PCST, SystemIO, 0xae00, 0x08)
411 Field (PCST, DWordAcc, NoLock, WriteAsZeros)
417 Device (S1) { // Slot 1
418 Name (_ADR, 0x00010000)
419 Method (_EJ0,1) { Return (0x0) }
422 Device (S2) { // Slot 2
423 Name (_ADR, 0x00020000)
424 Method (_EJ0,1) { Return (0x0) }
427 Device (S3) { // Slot 3
428 Name (_ADR, 0x00030000)
429 Method (_EJ0,1) { Return (0x0) }
432 Device (S4) { // Slot 4
433 Name (_ADR, 0x00040000)
434 Method (_EJ0,1) { Return (0x0) }
437 Device (S5) { // Slot 5
438 Name (_ADR, 0x00050000)
439 Method (_EJ0,1) { Return (0x0) }
442 Device (S6) { // Slot 6
443 Name (_ADR, 0x00060000)
444 Method (_EJ0,1) { Return (0x0) }
447 Device (S7) { // Slot 7
448 Name (_ADR, 0x00070000)
449 Method (_EJ0,1) { Return (0x0) }
452 Device (S8) { // Slot 8
453 Name (_ADR, 0x00080000)
454 Method (_EJ0,1) { Return (0x0) }
457 Device (S9) { // Slot 9
458 Name (_ADR, 0x00090000)
459 Method (_EJ0,1) { Return (0x0) }
462 Device (S10) { // Slot 10
463 Name (_ADR, 0x000A0000)
464 Method (_EJ0,1) { Return (0x0) }
467 Device (S11) { // Slot 11
468 Name (_ADR, 0x000B0000)
469 Method (_EJ0,1) { Return (0x0) }
472 Device (S12) { // Slot 12
473 Name (_ADR, 0x000C0000)
474 Method (_EJ0,1) { Return (0x0) }
477 Device (S13) { // Slot 13
478 Name (_ADR, 0x000D0000)
479 Method (_EJ0,1) { Return (0x0) }
482 Device (S14) { // Slot 14
483 Name (_ADR, 0x000E0000)
484 Method (_EJ0,1) { Return (0x0) }
487 Device (S15) { // Slot 15
488 Name (_ADR, 0x000F0000)
489 Method (_EJ0,1) { Return (0x0) }
492 Device (S16) { // Slot 16
493 Name (_ADR, 0x00100000)
494 Method (_EJ0,1) { Return (0x0) }
497 Device (S17) { // Slot 17
498 Name (_ADR, 0x00110000)
499 Method (_EJ0,1) { Return (0x0) }
502 Device (S18) { // Slot 18
503 Name (_ADR, 0x00120000)
504 Method (_EJ0,1) { Return (0x0) }
507 Device (S19) { // Slot 19
508 Name (_ADR, 0x00130000)
509 Method (_EJ0,1) { Return (0x0) }
512 Device (S20) { // Slot 20
513 Name (_ADR, 0x00140000)
514 Method (_EJ0,1) { Return (0x0) }
517 Device (S21) { // Slot 21
518 Name (_ADR, 0x00150000)
519 Method (_EJ0,1) { Return (0x0) }
522 Device (S22) { // Slot 22
523 Name (_ADR, 0x00160000)
524 Method (_EJ0,1) { Return (0x0) }
527 Device (S23) { // Slot 23
528 Name (_ADR, 0x00170000)
529 Method (_EJ0,1) { Return (0x0) }
532 Device (S24) { // Slot 24
533 Name (_ADR, 0x00180000)
534 Method (_EJ0,1) { Return (0x0) }
537 Device (S25) { // Slot 25
538 Name (_ADR, 0x00190000)
539 Method (_EJ0,1) { Return (0x0) }
542 Device (S26) { // Slot 26
543 Name (_ADR, 0x001A0000)
544 Method (_EJ0,1) { Return (0x0) }
547 Device (S27) { // Slot 27
548 Name (_ADR, 0x001B0000)
549 Method (_EJ0,1) { Return (0x0) }
552 Device (S28) { // Slot 28
553 Name (_ADR, 0x001C0000)
554 Method (_EJ0,1) { Return (0x0) }
557 Device (S29) { // Slot 29
558 Name (_ADR, 0x001D0000)
559 Method (_EJ0,1) { Return (0x0) }
562 Device (S30) { // Slot 30
563 Name (_ADR, 0x001E0000)
564 Method (_EJ0,1) { Return (0x0) }
567 Device (S31) { // Slot 31
568 Name (_ADR, 0x001F0000)
569 Method (_EJ0,1) { Return (0x0) }
572 Method (_CRS, 0, NotSerialized)
574 Name (MEMP, ResourceTemplate ()
576 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
577 0x0000, // Address Space Granularity
578 0x0000, // Address Range Minimum
579 0x00FF, // Address Range Maximum
580 0x0000, // Address Translation Offset
581 0x0100, // Address Length
584 0x0CF8, // Address Range Minimum
585 0x0CF8, // Address Range Maximum
586 0x01, // Address Alignment
587 0x08, // Address Length
589 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
590 0x0000, // Address Space Granularity
591 0x0000, // Address Range Minimum
592 0x0CF7, // Address Range Maximum
593 0x0000, // Address Translation Offset
594 0x0CF8, // Address Length
596 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
597 0x0000, // Address Space Granularity
598 0x0D00, // Address Range Minimum
599 0xFFFF, // Address Range Maximum
600 0x0000, // Address Translation Offset
601 0xF300, // Address Length
603 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
604 0x00000000, // Address Space Granularity
605 0x000A0000, // Address Range Minimum
606 0x000BFFFF, // Address Range Maximum
607 0x00000000, // Address Translation Offset
608 0x00020000, // Address Length
609 ,, , AddressRangeMemory, TypeStatic)
610 DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
611 0x00000000, // Address Space Granularity
612 0x00000000, // Address Range Minimum
613 0xFEBFFFFF, // Address Range Maximum
614 0x00000000, // Address Translation Offset
615 0x00000000, // Address Length
616 ,, MEMF, AddressRangeMemory, TypeStatic)
618 CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MIN, PMIN)
619 CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MAX, PMAX)
620 CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._LEN, PLEN)
621 /* compute available RAM */
622 Add(CMRD(0x34), ShiftLeft(CMRD(0x35), 8), Local0)
623 ShiftLeft(Local0, 16, Local0)
624 Add(Local0, 0x1000000, Local0)
625 /* update field of last region */
627 Subtract (PMAX, PMIN, PLEN)
636 /* PIIX3 ISA bridge */
638 Name (_ADR, 0x00010000)
640 /* PIIX PCI to ISA irq remapping */
641 OperationRegion (P40C, PCI_Config, 0x60, 0x04)
643 /* Real-time clock */
646 Name (_HID, EisaId ("PNP0B00"))
647 Name (_CRS, ResourceTemplate ()
649 IO (Decode16, 0x0070, 0x0070, 0x10, 0x02)
651 IO (Decode16, 0x0072, 0x0072, 0x02, 0x06)
655 /* Keyboard seems to be important for WinXP install */
658 Name (_HID, EisaId ("PNP0303"))
659 Method (_STA, 0, NotSerialized)
664 Method (_CRS, 0, NotSerialized)
666 Name (TMP, ResourceTemplate ()
669 0x0060, // Address Range Minimum
670 0x0060, // Address Range Maximum
671 0x01, // Address Alignment
672 0x01, // Address Length
675 0x0064, // Address Range Minimum
676 0x0064, // Address Range Maximum
677 0x01, // Address Alignment
678 0x01, // Address Length
690 Name (_HID, EisaId ("PNP0F13"))
691 Method (_STA, 0, NotSerialized)
696 Method (_CRS, 0, NotSerialized)
698 Name (TMP, ResourceTemplate ()
706 /* PS/2 floppy controller */
709 Name (_HID, EisaId ("PNP0700"))
710 Method (_STA, 0, NotSerialized)
714 Method (_CRS, 0, NotSerialized)
716 Name (BUF0, ResourceTemplate ()
718 IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
719 IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
721 DMA (Compatibility, NotBusMaster, Transfer8) {2}
730 Name (_HID, EisaId ("PNP0400"))
731 Method (_STA, 0, NotSerialized)
733 Store (\_SB.PCI0.PX13.DRSA, Local0)
734 And (Local0, 0x80000000, Local0)
735 If (LEqual (Local0, 0))
744 Method (_CRS, 0, NotSerialized)
746 Name (BUF0, ResourceTemplate ()
748 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
758 Name (_HID, EisaId ("PNP0501"))
760 Method (_STA, 0, NotSerialized)
762 Store (\_SB.PCI0.PX13.DRSC, Local0)
763 And (Local0, 0x08000000, Local0)
764 If (LEqual (Local0, 0))
773 Method (_CRS, 0, NotSerialized)
775 Name (BUF0, ResourceTemplate ()
777 IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
786 Name (_HID, EisaId ("PNP0501"))
788 Method (_STA, 0, NotSerialized)
790 Store (\_SB.PCI0.PX13.DRSC, Local0)
791 And (Local0, 0x80000000, Local0)
792 If (LEqual (Local0, 0))
801 Method (_CRS, 0, NotSerialized)
803 Name (BUF0, ResourceTemplate ()
805 IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
815 Name (_ADR, 0x00010003)
817 OperationRegion (P13C, PCI_Config, 0x5c, 0x24)
818 Field (P13C, DWordAcc, NoLock, Preserve)
835 Field (\_SB.PCI0.ISA.P40C, ByteAcc, NoLock, Preserve)
844 Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
846 Name(_PRS, ResourceTemplate(){
847 Interrupt (, Level, ActiveHigh, Shared)
850 Method (_STA, 0, NotSerialized)
853 If (And (0x80, PRQ0, Local1))
859 Method (_DIS, 0, NotSerialized)
861 Or (PRQ0, 0x80, PRQ0)
863 Method (_CRS, 0, NotSerialized)
865 Name (PRR0, ResourceTemplate ()
867 Interrupt (, Level, ActiveHigh, Shared)
870 CreateDWordField (PRR0, 0x05, TMP)
872 If (LLess (Local0, 0x80))
882 Method (_SRS, 1, NotSerialized)
884 CreateDWordField (Arg0, 0x05, TMP)
889 Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
891 Name(_PRS, ResourceTemplate(){
892 Interrupt (, Level, ActiveHigh, Shared)
895 Method (_STA, 0, NotSerialized)
898 If (And (0x80, PRQ1, Local1))
904 Method (_DIS, 0, NotSerialized)
906 Or (PRQ1, 0x80, PRQ1)
908 Method (_CRS, 0, NotSerialized)
910 Name (PRR0, ResourceTemplate ()
912 Interrupt (, Level, ActiveHigh, Shared)
915 CreateDWordField (PRR0, 0x05, TMP)
917 If (LLess (Local0, 0x80))
927 Method (_SRS, 1, NotSerialized)
929 CreateDWordField (Arg0, 0x05, TMP)
934 Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
936 Name(_PRS, ResourceTemplate(){
937 Interrupt (, Level, ActiveHigh, Shared)
940 Method (_STA, 0, NotSerialized)
943 If (And (0x80, PRQ2, Local1))
949 Method (_DIS, 0, NotSerialized)
951 Or (PRQ2, 0x80, PRQ2)
953 Method (_CRS, 0, NotSerialized)
955 Name (PRR0, ResourceTemplate ()
957 Interrupt (, Level, ActiveHigh, Shared)
960 CreateDWordField (PRR0, 0x05, TMP)
962 If (LLess (Local0, 0x80))
972 Method (_SRS, 1, NotSerialized)
974 CreateDWordField (Arg0, 0x05, TMP)
979 Name(_HID, EISAID("PNP0C0F")) // PCI interrupt link
981 Name(_PRS, ResourceTemplate(){
982 Interrupt (, Level, ActiveHigh, Shared)
985 Method (_STA, 0, NotSerialized)
988 If (And (0x80, PRQ3, Local1))
994 Method (_DIS, 0, NotSerialized)
996 Or (PRQ3, 0x80, PRQ3)
998 Method (_CRS, 0, NotSerialized)
1000 Name (PRR0, ResourceTemplate ()
1002 Interrupt (, Level, ActiveHigh, Shared)
1005 CreateDWordField (PRR0, 0x05, TMP)
1006 Store (PRQ3, Local0)
1007 If (LLess (Local0, 0x80))
1017 Method (_SRS, 1, NotSerialized)
1019 CreateDWordField (Arg0, 0x05, TMP)
1025 /* S5 = power off state */
1026 Name (_S5, Package (4) {
1027 0x00, // PM1a_CNT.SLP_TYP
1028 0x00, // PM2a_CNT.SLP_TYP
1036 If (And(\_PR.PRU, 0x2)) {
1040 If (And(\_PR.PRU, 0x4)) {
1044 If (And(\_PR.PRU, 0x8)) {
1048 If (And(\_PR.PRU, 0x10)) {
1052 If (And(\_PR.PRU, 0x20)) {
1056 If (And(\_PR.PRU, 0x40)) {
1060 If (And(\_PR.PRU, 0x80)) {
1064 If (And(\_PR.PRU, 0x100)) {
1068 If (And(\_PR.PRU, 0x200)) {
1072 If (And(\_PR.PRU, 0x400)) {
1076 If (And(\_PR.PRU, 0x800)) {
1080 If (And(\_PR.PRU, 0x1000)) {
1084 If (And(\_PR.PRU, 0x2000)) {
1088 If (And(\_PR.PRU, 0x4000)) {
1093 If (And(\_PR.PRD, 0x2)) {
1097 If (And(\_PR.PRD, 0x4)) {
1101 If (And(\_PR.PRD, 0x8)) {
1105 If (And(\_PR.PRD, 0x10)) {
1109 If (And(\_PR.PRD, 0x20)) {
1113 If (And(\_PR.PRD, 0x40)) {
1117 If (And(\_PR.PRD, 0x80)) {
1121 If (And(\_PR.PRD, 0x100)) {
1125 If (And(\_PR.PRD, 0x200)) {
1129 If (And(\_PR.PRD, 0x400)) {
1133 If (And(\_PR.PRD, 0x800)) {
1137 If (And(\_PR.PRD, 0x1000)) {
1141 If (And(\_PR.PRD, 0x2000)) {
1145 If (And(\_PR.PRD, 0x4000)) {
1153 If (And(\_SB.PCI0.PCIU, 0x2)) {
1154 Notify(\_SB.PCI0.S1, 0x1)
1157 If (And(\_SB.PCI0.PCIU, 0x4)) {
1158 Notify(\_SB.PCI0.S2, 0x1)
1161 If (And(\_SB.PCI0.PCIU, 0x8)) {
1162 Notify(\_SB.PCI0.S3, 0x1)
1165 If (And(\_SB.PCI0.PCIU, 0x10)) {
1166 Notify(\_SB.PCI0.S4, 0x1)
1169 If (And(\_SB.PCI0.PCIU, 0x20)) {
1170 Notify(\_SB.PCI0.S5, 0x1)
1173 If (And(\_SB.PCI0.PCIU, 0x40)) {
1174 Notify(\_SB.PCI0.S6, 0x1)
1177 If (And(\_SB.PCI0.PCIU, 0x80)) {
1178 Notify(\_SB.PCI0.S7, 0x1)
1181 If (And(\_SB.PCI0.PCIU, 0x0100)) {
1182 Notify(\_SB.PCI0.S8, 0x1)
1185 If (And(\_SB.PCI0.PCIU, 0x0200)) {
1186 Notify(\_SB.PCI0.S9, 0x1)
1189 If (And(\_SB.PCI0.PCIU, 0x0400)) {
1190 Notify(\_SB.PCI0.S10, 0x1)
1193 If (And(\_SB.PCI0.PCIU, 0x0800)) {
1194 Notify(\_SB.PCI0.S11, 0x1)
1197 If (And(\_SB.PCI0.PCIU, 0x1000)) {
1198 Notify(\_SB.PCI0.S12, 0x1)
1201 If (And(\_SB.PCI0.PCIU, 0x2000)) {
1202 Notify(\_SB.PCI0.S13, 0x1)
1205 If (And(\_SB.PCI0.PCIU, 0x4000)) {
1206 Notify(\_SB.PCI0.S14, 0x1)
1209 If (And(\_SB.PCI0.PCIU, 0x8000)) {
1210 Notify(\_SB.PCI0.S15, 0x1)
1213 If (And(\_SB.PCI0.PCIU, 0x10000)) {
1214 Notify(\_SB.PCI0.S16, 0x1)
1217 If (And(\_SB.PCI0.PCIU, 0x20000)) {
1218 Notify(\_SB.PCI0.S17, 0x1)
1221 If (And(\_SB.PCI0.PCIU, 0x40000)) {
1222 Notify(\_SB.PCI0.S18, 0x1)
1225 If (And(\_SB.PCI0.PCIU, 0x80000)) {
1226 Notify(\_SB.PCI0.S19, 0x1)
1229 If (And(\_SB.PCI0.PCIU, 0x100000)) {
1230 Notify(\_SB.PCI0.S20, 0x1)
1233 If (And(\_SB.PCI0.PCIU, 0x200000)) {
1234 Notify(\_SB.PCI0.S21, 0x1)
1237 If (And(\_SB.PCI0.PCIU, 0x400000)) {
1238 Notify(\_SB.PCI0.S22, 0x1)
1241 If (And(\_SB.PCI0.PCIU, 0x800000)) {
1242 Notify(\_SB.PCI0.S23, 0x1)
1245 If (And(\_SB.PCI0.PCIU, 0x1000000)) {
1246 Notify(\_SB.PCI0.S24, 0x1)
1249 If (And(\_SB.PCI0.PCIU, 0x2000000)) {
1250 Notify(\_SB.PCI0.S25, 0x1)
1253 If (And(\_SB.PCI0.PCIU, 0x4000000)) {
1254 Notify(\_SB.PCI0.S26, 0x1)
1257 If (And(\_SB.PCI0.PCIU, 0x8000000)) {
1258 Notify(\_SB.PCI0.S27, 0x1)
1261 If (And(\_SB.PCI0.PCIU, 0x10000000)) {
1262 Notify(\_SB.PCI0.S28, 0x1)
1265 If (And(\_SB.PCI0.PCIU, 0x20000000)) {
1266 Notify(\_SB.PCI0.S29, 0x1)
1269 If (And(\_SB.PCI0.PCIU, 0x40000000)) {
1270 Notify(\_SB.PCI0.S30, 0x1)
1273 If (And(\_SB.PCI0.PCIU, 0x80000000)) {
1274 Notify(\_SB.PCI0.S31, 0x1)
1278 If (And(\_SB.PCI0.PCID, 0x2)) {
1279 Notify(\_SB.PCI0.S1, 0x3)
1282 If (And(\_SB.PCI0.PCID, 0x4)) {
1283 Notify(\_SB.PCI0.S2, 0x3)
1286 If (And(\_SB.PCI0.PCID, 0x8)) {
1287 Notify(\_SB.PCI0.S3, 0x3)
1290 If (And(\_SB.PCI0.PCID, 0x10)) {
1291 Notify(\_SB.PCI0.S4, 0x3)
1294 If (And(\_SB.PCI0.PCID, 0x20)) {
1295 Notify(\_SB.PCI0.S5, 0x3)
1298 If (And(\_SB.PCI0.PCID, 0x40)) {
1299 Notify(\_SB.PCI0.S6, 0x3)
1302 If (And(\_SB.PCI0.PCID, 0x80)) {
1303 Notify(\_SB.PCI0.S7, 0x3)
1306 If (And(\_SB.PCI0.PCID, 0x0100)) {
1307 Notify(\_SB.PCI0.S8, 0x3)
1310 If (And(\_SB.PCI0.PCID, 0x0200)) {
1311 Notify(\_SB.PCI0.S9, 0x3)
1314 If (And(\_SB.PCI0.PCID, 0x0400)) {
1315 Notify(\_SB.PCI0.S10, 0x3)
1318 If (And(\_SB.PCI0.PCID, 0x0800)) {
1319 Notify(\_SB.PCI0.S11, 0x3)
1322 If (And(\_SB.PCI0.PCID, 0x1000)) {
1323 Notify(\_SB.PCI0.S12, 0x3)
1326 If (And(\_SB.PCI0.PCID, 0x2000)) {
1327 Notify(\_SB.PCI0.S13, 0x3)
1330 If (And(\_SB.PCI0.PCID, 0x4000)) {
1331 Notify(\_SB.PCI0.S14, 0x3)
1334 If (And(\_SB.PCI0.PCID, 0x8000)) {
1335 Notify(\_SB.PCI0.S15, 0x3)
1338 If (And(\_SB.PCI0.PCID, 0x10000)) {
1339 Notify(\_SB.PCI0.S16, 0x3)
1342 If (And(\_SB.PCI0.PCID, 0x20000)) {
1343 Notify(\_SB.PCI0.S17, 0x3)
1346 If (And(\_SB.PCI0.PCID, 0x40000)) {
1347 Notify(\_SB.PCI0.S18, 0x3)
1350 If (And(\_SB.PCI0.PCID, 0x80000)) {
1351 Notify(\_SB.PCI0.S19, 0x3)
1354 If (And(\_SB.PCI0.PCID, 0x100000)) {
1355 Notify(\_SB.PCI0.S20, 0x3)
1358 If (And(\_SB.PCI0.PCID, 0x200000)) {
1359 Notify(\_SB.PCI0.S21, 0x3)
1362 If (And(\_SB.PCI0.PCID, 0x400000)) {
1363 Notify(\_SB.PCI0.S22, 0x3)
1366 If (And(\_SB.PCI0.PCID, 0x800000)) {
1367 Notify(\_SB.PCI0.S23, 0x3)
1370 If (And(\_SB.PCI0.PCID, 0x1000000)) {
1371 Notify(\_SB.PCI0.S24, 0x3)
1374 If (And(\_SB.PCI0.PCID, 0x2000000)) {
1375 Notify(\_SB.PCI0.S25, 0x3)
1378 If (And(\_SB.PCI0.PCID, 0x4000000)) {
1379 Notify(\_SB.PCI0.S26, 0x3)
1382 If (And(\_SB.PCI0.PCID, 0x8000000)) {
1383 Notify(\_SB.PCI0.S27, 0x3)
1386 If (And(\_SB.PCI0.PCID, 0x10000000)) {
1387 Notify(\_SB.PCI0.S28, 0x3)
1390 If (And(\_SB.PCI0.PCID, 0x20000000)) {
1391 Notify(\_SB.PCI0.S29, 0x3)
1394 If (And(\_SB.PCI0.PCID, 0x40000000)) {
1395 Notify(\_SB.PCI0.S30, 0x3)
1398 If (And(\_SB.PCI0.PCID, 0x80000000)) {
1399 Notify(\_SB.PCI0.S31, 0x3)