kvm: bios: fix copy&paste bug in ACPI IRQ routing tables
[qemu-kvm/fedora.git] / kvm / bios / acpi-dsdt.dsl
blobc145c4b3758892313e3f16ac5cbc0afa3cf1060e
1 /*
2  * Bochs/QEMU ACPI DSDT ASL definition
3  *
4  * Copyright (c) 2006 Fabrice Bellard
5  *
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.
9  *
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.
14  *
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
18  */
19 DefinitionBlock (
20     "acpi-dsdt.aml",    // Output Filename
21     "DSDT",             // Signature
22     0x01,               // DSDT Compliance Revision
23     "BXPC",             // OEMID
24     "BXDSDT",           // TABLE ID
25     0x1                 // OEM Revision
26     )
28    Scope (\_PR)
29    {
30         OperationRegion( PRST, SystemIO, 0xaf00, 0x02)
31         Field (PRST, ByteAcc, NoLock, WriteAsZeros)
32         {
33                 PRU, 8,
34                 PRD, 8,
35         }
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})
40             Method(_MAT, 0) {
41                 If (And(\_PR.PRU, 0x2)) { Return(TMP) }
42                 Else { Return(0x0) }
43             }
44             Method (_STA) {
45                 Return(0xF)
46             }
47         }
48         Processor (CPU2, 0x02, 0x0000b010, 0x06) {
49             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x02, 0x02, 0x1, 0x0, 0x0, 0x0})
50             Method(_MAT, 0) {
51                 If (And(\_PR.PRU, 0x4)) { Return(TMP) }
52                 Else { Return(0x0) }
53             }
54             Method (_STA) {
55                 Return(0xF)
56             }
57         }
58         Processor (CPU3, 0x03, 0x0000b010, 0x06) {
59             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x03, 0x03, 0x1, 0x0, 0x0, 0x0})
60             Method(_MAT, 0) {
61                 If (And(\_PR.PRU, 0x8)) { Return(TMP) }
62                 Else { Return(0x0) }
63             }
64             Method (_STA) {
65                 Return(0xF)
66             }
67         }
68         Processor (CPU4, 0x04, 0x0000b010, 0x06) {
69             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x04, 0x04, 0x1, 0x0, 0x0, 0x0})
70             Method(_MAT, 0) {
71                 If (And(\_PR.PRU, 0x10)) { Return(TMP) }
72                 Else { Return(0x0) }
73             }
74             Method (_STA) {
75                 Return(0xF)
76             }
77         }
78         Processor (CPU5, 0x05, 0x0000b010, 0x06) {
79             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x05, 0x05, 0x1, 0x0, 0x0, 0x0})
80             Method(_MAT, 0) {
81                 If (And(\_PR.PRU, 0x20)) { Return(TMP) }
82                 Else { Return(0x0) }
83             }
84             Method (_STA) {
85                 Return(0xF)
86             }
87         }
88         Processor (CPU6, 0x06, 0x0000b010, 0x06) {
89             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x06, 0x06, 0x1, 0x0, 0x0, 0x0})
90             Method(_MAT, 0) {
91                 If (And(\_PR.PRU, 0x40)) { Return(TMP) }
92                 Else { Return(0x0) }
93             }
94             Method (_STA) {
95                 Return(0xF)
96             }
97         }
98         Processor (CPU7, 0x07, 0x0000b010, 0x06) {
99             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x07, 0x07, 0x1, 0x0, 0x0, 0x0})
100             Method(_MAT, 0) {
101                 If (And(\_PR.PRU, 0x80)) { Return(TMP) }
102                 Else { Return(0x0) }
103             }
104             Method (_STA) {
105                 Return(0xF)
106             }
107         }
108         Processor (CPU8, 0x08, 0x0000b010, 0x06) {
109             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x08, 0x08, 0x1, 0x0, 0x0, 0x0})
110             Method(_MAT, 0) {
111                 If (And(\_PR.PRU, 0x100)) { Return(TMP) }
112                 Else { Return(0x0) }
113             }
114             Method (_STA) {
115                 Return(0xF)
116             }
117         }
118         Processor (CPU9, 0x09, 0x0000b010, 0x06) {
119             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x09, 0x09, 0x1, 0x0, 0x0, 0x0})
120             Method(_MAT, 0) {
121                 If (And(\_PR.PRU, 0x200)) { Return(TMP) }
122                 Else { Return(0x0) }
123             }
124             Method (_STA) {
125                 Return(0xF)
126             }
127         }
128         Processor (CPUA, 0x0a, 0x0000b010, 0x06) {
129             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0A, 0x0A, 0x1, 0x0, 0x0, 0x0})
130             Method(_MAT, 0) {
131                 If (And(\_PR.PRU, 0x400)) { Return(TMP) }
132                 Else { Return(0x0) }
133             }
134             Method (_STA) {
135                 Return(0xF)
136             }
137         }
138         Processor (CPUB, 0x0b, 0x0000b010, 0x06) {
139             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0B, 0x0B, 0x1, 0x0, 0x0, 0x0})
140             Method(_MAT, 0) {
141                 If (And(\_PR.PRU, 0x800)) { Return(TMP) }
142                 Else { Return(0x0) }
143             }
144             Method (_STA) {
145                 Return(0xF)
146             }
147         }
148         Processor (CPUC, 0x0c, 0x0000b010, 0x06) {
149             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0C, 0x0C, 0x1, 0x0, 0x0, 0x0})
150             Method(_MAT, 0) {
151                 If (And(\_PR.PRU, 0x1000)) { Return(TMP) }
152                 Else { Return(0x0) }
153             }
154             Method (_STA) {
155                 Return(0xF)
156             }
157         }
158         Processor (CPUD, 0x0d, 0x0000b010, 0x06) {
159             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0D, 0x0D, 0x1, 0x0, 0x0, 0x0})
160             Method(_MAT, 0) {
161                 If (And(\_PR.PRU, 0x2000)) { Return(TMP) }
162                 Else { Return(0x0) }
163             }
164             Method (_STA) {
165                 Return(0xF)
166             }
167         }
168         Processor (CPUE, 0x0e, 0x0000b010, 0x06) {
169             Name (TMP, Buffer(0x8) {0x0, 0x8, 0x0E, 0x0E, 0x1, 0x0, 0x0, 0x0})
170             Method(_MAT, 0) {
171                 If (And(\_PR.PRU, 0x4000)) { Return(TMP) }
172                 Else { Return(0x0) }
173             }
174             Method (_STA) {
175                 Return(0xF)
176             }
177         }
178     }
180     Scope (\)
181     {
182         /* CMOS memory access */
183         OperationRegion (CMS, SystemIO, 0x70, 0x02)
184         Field (CMS, ByteAcc, NoLock, Preserve)
185         {
186             CMSI,   8,
187             CMSD,   8
188         }
189         Method (CMRD, 1, NotSerialized)
190         {
191             Store (Arg0, CMSI)
192             Store (CMSD, Local0)
193             Return (Local0)
194         }
196         /* Debug Output */
197         OperationRegion (DBG, SystemIO, 0xb044, 0x04)
198         Field (DBG, DWordAcc, NoLock, Preserve)
199         {
200             DBGL,   32,
201         }
202     }
205     /* PCI Bus definition */
206     Scope(\_SB) {
207         Device(PCI0) {
208             Name (_HID, EisaId ("PNP0A03"))
209             Name (_ADR, 0x00)
210             Name (_UID, 1)
211             Name(_PRT, Package() {
212                 /* PCI IRQ routing table, example from ACPI 2.0a specification,
213                    section 6.2.8.1 */
214                 /* Note: we provide the same info as the PCI routing
215                    table of the Bochs BIOS */
217                 // PCI Slot 0
218                 Package() {0x0000ffff, 0, LNKD, 0},
219                 Package() {0x0000ffff, 1, LNKA, 0},
220                 Package() {0x0000ffff, 2, LNKB, 0},
221                 Package() {0x0000ffff, 3, LNKC, 0},
223                 // PCI Slot 1
224                 Package() {0x0001ffff, 0, LNKA, 0},
225                 Package() {0x0001ffff, 1, LNKB, 0},
226                 Package() {0x0001ffff, 2, LNKC, 0},
227                 Package() {0x0001ffff, 3, LNKD, 0},
229                 // PCI Slot 2
230                 Package() {0x0002ffff, 0, LNKB, 0},
231                 Package() {0x0002ffff, 1, LNKC, 0},
232                 Package() {0x0002ffff, 2, LNKD, 0},
233                 Package() {0x0002ffff, 3, LNKA, 0},
235                 // PCI Slot 3
236                 Package() {0x0003ffff, 0, LNKC, 0},
237                 Package() {0x0003ffff, 1, LNKD, 0},
238                 Package() {0x0003ffff, 2, LNKA, 0},
239                 Package() {0x0003ffff, 3, LNKB, 0},
241                 // PCI Slot 4
242                 Package() {0x0004ffff, 0, LNKD, 0},
243                 Package() {0x0004ffff, 1, LNKA, 0},
244                 Package() {0x0004ffff, 2, LNKB, 0},
245                 Package() {0x0004ffff, 3, LNKC, 0},
247                 // PCI Slot 5
248                 Package() {0x0005ffff, 0, LNKA, 0},
249                 Package() {0x0005ffff, 1, LNKB, 0},
250                 Package() {0x0005ffff, 2, LNKC, 0},
251                 Package() {0x0005ffff, 3, LNKD, 0},
253                 // PCI Slot 6
254                 Package() {0x0006ffff, 0, LNKB, 0},
255                 Package() {0x0006ffff, 1, LNKC, 0},
256                 Package() {0x0006ffff, 2, LNKD, 0},
257                 Package() {0x0006ffff, 3, LNKA, 0},
259                 // PCI Slot 7
260                 Package() {0x0007ffff, 0, LNKC, 0},
261                 Package() {0x0007ffff, 1, LNKD, 0},
262                 Package() {0x0007ffff, 2, LNKA, 0},
263                 Package() {0x0007ffff, 3, LNKB, 0},
265                 // PCI Slot 8
266                 Package() {0x0008ffff, 0, LNKD, 0},
267                 Package() {0x0008ffff, 1, LNKA, 0},
268                 Package() {0x0008ffff, 2, LNKB, 0},
269                 Package() {0x0008ffff, 3, LNKC, 0},
271                 // PCI Slot 9
272                 Package() {0x0009ffff, 0, LNKA, 0},
273                 Package() {0x0009ffff, 1, LNKB, 0},
274                 Package() {0x0009ffff, 2, LNKC, 0},
275                 Package() {0x0009ffff, 3, LNKD, 0},
277                 // PCI Slot 10
278                 Package() {0x000affff, 0, LNKB, 0},
279                 Package() {0x000affff, 1, LNKC, 0},
280                 Package() {0x000affff, 2, LNKD, 0},
281                 Package() {0x000affff, 3, LNKA, 0},
283                 // PCI Slot 11
284                 Package() {0x000bffff, 0, LNKC, 0},
285                 Package() {0x000bffff, 1, LNKD, 0},
286                 Package() {0x000bffff, 2, LNKA, 0},
287                 Package() {0x000bffff, 3, LNKB, 0},
289                 // PCI Slot 12
290                 Package() {0x000cffff, 0, LNKD, 0},
291                 Package() {0x000cffff, 1, LNKA, 0},
292                 Package() {0x000cffff, 2, LNKB, 0},
293                 Package() {0x000cffff, 3, LNKC, 0},
295                 // PCI Slot 13
296                 Package() {0x000dffff, 0, LNKA, 0},
297                 Package() {0x000dffff, 1, LNKB, 0},
298                 Package() {0x000dffff, 2, LNKC, 0},
299                 Package() {0x000dffff, 3, LNKD, 0},
301                 // PCI Slot 14
302                 Package() {0x000effff, 0, LNKB, 0},
303                 Package() {0x000effff, 1, LNKC, 0},
304                 Package() {0x000effff, 2, LNKD, 0},
305                 Package() {0x000effff, 3, LNKA, 0},
307                 // PCI Slot 15
308                 Package() {0x000fffff, 0, LNKC, 0},
309                 Package() {0x000fffff, 1, LNKD, 0},
310                 Package() {0x000fffff, 2, LNKA, 0},
311                 Package() {0x000fffff, 3, LNKB, 0},
313                 // PCI Slot 16
314                 Package() {0x0010ffff, 0, LNKD, 0},
315                 Package() {0x0010ffff, 1, LNKA, 0},
316                 Package() {0x0010ffff, 2, LNKB, 0},
317                 Package() {0x0010ffff, 3, LNKC, 0},
319                 // PCI Slot 17
320                 Package() {0x0011ffff, 0, LNKA, 0},
321                 Package() {0x0011ffff, 1, LNKB, 0},
322                 Package() {0x0011ffff, 2, LNKC, 0},
323                 Package() {0x0011ffff, 3, LNKD, 0},
325                 // PCI Slot 18
326                 Package() {0x0012ffff, 0, LNKB, 0},
327                 Package() {0x0012ffff, 1, LNKC, 0},
328                 Package() {0x0012ffff, 2, LNKD, 0},
329                 Package() {0x0012ffff, 3, LNKA, 0},
331                 // PCI Slot 19
332                 Package() {0x0013ffff, 0, LNKC, 0},
333                 Package() {0x0013ffff, 1, LNKD, 0},
334                 Package() {0x0013ffff, 2, LNKA, 0},
335                 Package() {0x0013ffff, 3, LNKB, 0},
337                 // PCI Slot 20
338                 Package() {0x0014ffff, 0, LNKD, 0},
339                 Package() {0x0014ffff, 1, LNKA, 0},
340                 Package() {0x0014ffff, 2, LNKB, 0},
341                 Package() {0x0014ffff, 3, LNKC, 0},
343                 // PCI Slot 21
344                 Package() {0x0015ffff, 0, LNKA, 0},
345                 Package() {0x0015ffff, 1, LNKB, 0},
346                 Package() {0x0015ffff, 2, LNKC, 0},
347                 Package() {0x0015ffff, 3, LNKD, 0},
349                 // PCI Slot 22
350                 Package() {0x0016ffff, 0, LNKB, 0},
351                 Package() {0x0016ffff, 1, LNKC, 0},
352                 Package() {0x0016ffff, 2, LNKD, 0},
353                 Package() {0x0016ffff, 3, LNKA, 0},
355                 // PCI Slot 23
356                 Package() {0x0017ffff, 0, LNKC, 0},
357                 Package() {0x0017ffff, 1, LNKD, 0},
358                 Package() {0x0017ffff, 2, LNKA, 0},
359                 Package() {0x0017ffff, 3, LNKB, 0},
361                 // PCI Slot 24
362                 Package() {0x0018ffff, 0, LNKD, 0},
363                 Package() {0x0018ffff, 1, LNKA, 0},
364                 Package() {0x0018ffff, 2, LNKB, 0},
365                 Package() {0x0018ffff, 3, LNKC, 0},
367                 // PCI Slot 25
368                 Package() {0x0019ffff, 0, LNKA, 0},
369                 Package() {0x0019ffff, 1, LNKB, 0},
370                 Package() {0x0019ffff, 2, LNKC, 0},
371                 Package() {0x0019ffff, 3, LNKD, 0},
373                 // PCI Slot 26
374                 Package() {0x001affff, 0, LNKB, 0},
375                 Package() {0x001affff, 1, LNKC, 0},
376                 Package() {0x001affff, 2, LNKD, 0},
377                 Package() {0x001affff, 3, LNKA, 0},
379                 // PCI Slot 27
380                 Package() {0x001bffff, 0, LNKC, 0},
381                 Package() {0x001bffff, 1, LNKD, 0},
382                 Package() {0x001bffff, 2, LNKA, 0},
383                 Package() {0x001bffff, 3, LNKB, 0},
385                 // PCI Slot 28
386                 Package() {0x001cffff, 0, LNKD, 0},
387                 Package() {0x001cffff, 1, LNKA, 0},
388                 Package() {0x001cffff, 2, LNKB, 0},
389                 Package() {0x001cffff, 3, LNKC, 0},
391                 // PCI Slot 29
392                 Package() {0x001dffff, 0, LNKA, 0},
393                 Package() {0x001dffff, 1, LNKB, 0},
394                 Package() {0x001dffff, 2, LNKC, 0},
395                 Package() {0x001dffff, 3, LNKD, 0},
397                 // PCI Slot 30
398                 Package() {0x001effff, 0, LNKB, 0},
399                 Package() {0x001effff, 1, LNKC, 0},
400                 Package() {0x001effff, 2, LNKD, 0},
401                 Package() {0x001effff, 3, LNKA, 0},
403                 // PCI Slot 31
404                 Package() {0x001fffff, 0, LNKC, 0},
405                 Package() {0x001fffff, 1, LNKD, 0},
406                 Package() {0x001fffff, 2, LNKA, 0},
407                 Package() {0x001fffff, 3, LNKB, 0},
408             })
410             OperationRegion(PCST, SystemIO, 0xae00, 0x08)
411             Field (PCST, DWordAcc, NoLock, WriteAsZeros)
412             {
413                 PCIU, 32,
414                 PCID, 32,
415             }
417             OperationRegion(SEJ, SystemIO, 0xae08, 0x04)
418             Field (SEJ, DWordAcc, NoLock, WriteAsZeros)
419             {
420                 B0EJ, 32,
421             }
423             Device (S1) {              // Slot 1
424                Name (_ADR, 0x00010000)
425                Method (_EJ0,1) {
426                     Store(0x2, B0EJ)
427                     Return (0x0)
428                }
429             }
431             Device (S2) {              // Slot 2
432                Name (_ADR, 0x00020000)
433                Method (_EJ0,1) {
434                     Store(0x4, B0EJ)
435                     Return (0x0)
436                }
437             }
439             Device (S3) {              // Slot 3
440                Name (_ADR, 0x00030000)
441                Method (_EJ0,1) {
442                     Store (0x8, B0EJ)
443                     Return (0x0)
444                }
445             }
447             Device (S4) {              // Slot 4
448                Name (_ADR, 0x00040000)
449                Method (_EJ0,1) {
450                     Store(0x10, B0EJ)
451                     Return (0x0)
452                }
453             }
455             Device (S5) {              // Slot 5
456                Name (_ADR, 0x00050000)
457                Method (_EJ0,1) {
458                     Store(0x20, B0EJ)
459                     Return (0x0)
460                }
461             }
463             Device (S6) {              // Slot 6
464                Name (_ADR, 0x00060000)
465                Method (_EJ0,1) {
466                     Store(0x40, B0EJ)
467                     Return (0x0)
468                }
469             }
471             Device (S7) {              // Slot 7
472                Name (_ADR, 0x00070000)
473                Method (_EJ0,1) {
474                     Store(0x80, B0EJ)
475                     Return (0x0)
476                }
477             }
479             Device (S8) {              // Slot 8
480                Name (_ADR, 0x00080000)
481                Method (_EJ0,1) {
482                     Store(0x100, B0EJ)
483                     Return (0x0)
484                }
485             }
487             Device (S9) {              // Slot 9
488                Name (_ADR, 0x00090000)
489                Method (_EJ0,1) {
490                     Store(0x200, B0EJ)
491                     Return (0x0)
492                }
493             }
495             Device (S10) {              // Slot 10
496                Name (_ADR, 0x000A0000)
497                Method (_EJ0,1) {
498                     Store(0x400, B0EJ)
499                     Return (0x0)
500                }
501             }
503             Device (S11) {              // Slot 11
504                Name (_ADR, 0x000B0000)
505                Method (_EJ0,1) {
506                     Store(0x800, B0EJ)
507                     Return (0x0)
508                }
509             }
511             Device (S12) {              // Slot 12
512                Name (_ADR, 0x000C0000)
513                Method (_EJ0,1) {
514                     Store(0x1000, B0EJ)
515                     Return (0x0)
516                }
517             }
519             Device (S13) {              // Slot 13
520                Name (_ADR, 0x000D0000)
521                Method (_EJ0,1) {
522                     Store(0x2000, B0EJ)
523                     Return (0x0)
524                }
525             }
527             Device (S14) {              // Slot 14
528                Name (_ADR, 0x000E0000)
529                Method (_EJ0,1) {
530                     Store(0x4000, B0EJ)
531                     Return (0x0)
532                }
533             }
535             Device (S15) {              // Slot 15
536                Name (_ADR, 0x000F0000)
537                Method (_EJ0,1) {
538                     Store(0x8000, B0EJ)
539                     Return (0x0)
540                }
541             }
543             Device (S16) {              // Slot 16
544                Name (_ADR, 0x00100000)
545                Method (_EJ0,1) {
546                     Store(0x10000, B0EJ)
547                     Return (0x0)
548                }
549             }
551             Device (S17) {              // Slot 17
552                Name (_ADR, 0x00110000)
553                Method (_EJ0,1) {
554                     Store(0x20000, B0EJ)
555                     Return (0x0)
556                }
557             }
559             Device (S18) {              // Slot 18
560                Name (_ADR, 0x00120000)
561                Method (_EJ0,1) {
562                     Store(0x40000, B0EJ)
563                     Return (0x0)
564                }
565             }
567             Device (S19) {              // Slot 19
568                Name (_ADR, 0x00130000)
569                Method (_EJ0,1) {
570                     Store(0x80000, B0EJ)
571                     Return (0x0)
572                }
573             }
575             Device (S20) {              // Slot 20
576                Name (_ADR, 0x00140000)
577                Method (_EJ0,1) {
578                     Store(0x100000, B0EJ)
579                     Return (0x0)
580                }
581             }
583             Device (S21) {              // Slot 21
584                Name (_ADR, 0x00150000)
585                Method (_EJ0,1) {
586                     Store(0x200000, B0EJ)
587                     Return (0x0)
588                }
589             }
591             Device (S22) {              // Slot 22
592                Name (_ADR, 0x00160000)
593                Method (_EJ0,1) {
594                     Store(0x400000, B0EJ)
595                     Return (0x0)
596                }
597             }
599             Device (S23) {              // Slot 23
600                Name (_ADR, 0x00170000)
601                Method (_EJ0,1) {
602                     Store(0x800000, B0EJ)
603                     Return (0x0)
604                }
605             }
607             Device (S24) {              // Slot 24
608                Name (_ADR, 0x00180000)
609                Method (_EJ0,1) {
610                     Store(0x1000000, B0EJ)
611                     Return (0x0)
612                }
613             }
615             Device (S25) {              // Slot 25
616                Name (_ADR, 0x00190000)
617                Method (_EJ0,1) {
618                     Store(0x2000000, B0EJ)
619                     Return (0x0)
620                }
621             }
623             Device (S26) {              // Slot 26
624                Name (_ADR, 0x001A0000)
625                Method (_EJ0,1) {
626                     Store(0x4000000, B0EJ)
627                     Return (0x0)
628                }
629             }
631             Device (S27) {              // Slot 27
632                Name (_ADR, 0x001B0000)
633                Method (_EJ0,1) {
634                     Store(0x8000000, B0EJ)
635                     Return (0x0)
636                }
637             }
639             Device (S28) {              // Slot 28
640                Name (_ADR, 0x001C0000)
641                Method (_EJ0,1) {
642                     Store(0x10000000, B0EJ)
643                     Return (0x0)
644                }
645             }
647             Device (S29) {              // Slot 29
648                Name (_ADR, 0x001D0000)
649                Method (_EJ0,1) {
650                     Store(0x20000000, B0EJ)
651                     Return (0x0)
652                }
653             }
655             Device (S30) {              // Slot 30
656                Name (_ADR, 0x001E0000)
657                Method (_EJ0,1) {
658                     Store(0x40000000, B0EJ)
659                     Return (0x0)
660                }
661             }
663             Device (S31) {              // Slot 31
664                Name (_ADR, 0x001F0000)
665                Method (_EJ0,1) {
666                     Store(0x80000000, B0EJ)
667                     Return (0x0)
668                }
669             }
671             Method (_CRS, 0, NotSerialized)
672             {
673             Name (MEMP, ResourceTemplate ()
674             {
675                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
676                     0x0000,             // Address Space Granularity
677                     0x0000,             // Address Range Minimum
678                     0x00FF,             // Address Range Maximum
679                     0x0000,             // Address Translation Offset
680                     0x0100,             // Address Length
681                     ,, )
682                 IO (Decode16,
683                     0x0CF8,             // Address Range Minimum
684                     0x0CF8,             // Address Range Maximum
685                     0x01,               // Address Alignment
686                     0x08,               // Address Length
687                     )
688                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
689                     0x0000,             // Address Space Granularity
690                     0x0000,             // Address Range Minimum
691                     0x0CF7,             // Address Range Maximum
692                     0x0000,             // Address Translation Offset
693                     0x0CF8,             // Address Length
694                     ,, , TypeStatic)
695                 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
696                     0x0000,             // Address Space Granularity
697                     0x0D00,             // Address Range Minimum
698                     0xFFFF,             // Address Range Maximum
699                     0x0000,             // Address Translation Offset
700                     0xF300,             // Address Length
701                     ,, , TypeStatic)
702                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
703                     0x00000000,         // Address Space Granularity
704                     0x000A0000,         // Address Range Minimum
705                     0x000BFFFF,         // Address Range Maximum
706                     0x00000000,         // Address Translation Offset
707                     0x00020000,         // Address Length
708                     ,, , AddressRangeMemory, TypeStatic)
709                 DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
710                     0x00000000,         // Address Space Granularity
711                     0x00000000,         // Address Range Minimum
712                     0xFEBFFFFF,         // Address Range Maximum
713                     0x00000000,         // Address Translation Offset
714                     0x00000000,         // Address Length
715                     ,, MEMF, AddressRangeMemory, TypeStatic)
716             })
717                 CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MIN, PMIN)
718                 CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._MAX, PMAX)
719                 CreateDWordField (MEMP, \_SB.PCI0._CRS.MEMF._LEN, PLEN)
720                 /* compute available RAM */
721                 Add(CMRD(0x34), ShiftLeft(CMRD(0x35), 8), Local0)
722                 ShiftLeft(Local0, 16, Local0)
723                 Add(Local0, 0x1000000, Local0)
724                 /* update field of last region */
725                 Store(Local0, PMIN)
726                 Subtract (PMAX, PMIN, PLEN)
727                 Increment (PLEN)
728                 Return (MEMP)
729             }
730         }
731     }
733     Scope(\_SB.PCI0) {
735         /* PIIX3 ISA bridge */
736         Device (ISA) {
737             Name (_ADR, 0x00010000)
739             /* PIIX PCI to ISA irq remapping */
740             OperationRegion (P40C, PCI_Config, 0x60, 0x04)
742             /* Real-time clock */
743             Device (RTC)
744             {
745                 Name (_HID, EisaId ("PNP0B00"))
746                 Name (_CRS, ResourceTemplate ()
747                 {
748                     IO (Decode16, 0x0070, 0x0070, 0x10, 0x02)
749                     IRQNoFlags () {8}
750                     IO (Decode16, 0x0072, 0x0072, 0x02, 0x06)
751                 })
752             }
754             /* Keyboard seems to be important for WinXP install */
755             Device (KBD)
756             {
757                 Name (_HID, EisaId ("PNP0303"))
758                 Method (_STA, 0, NotSerialized)
759                 {
760                     Return (0x0f)
761                 }
763                 Method (_CRS, 0, NotSerialized)
764                 {
765                      Name (TMP, ResourceTemplate ()
766                      {
767                     IO (Decode16,
768                         0x0060,             // Address Range Minimum
769                         0x0060,             // Address Range Maximum
770                         0x01,               // Address Alignment
771                         0x01,               // Address Length
772                         )
773                     IO (Decode16,
774                         0x0064,             // Address Range Minimum
775                         0x0064,             // Address Range Maximum
776                         0x01,               // Address Alignment
777                         0x01,               // Address Length
778                         )
779                     IRQNoFlags ()
780                         {1}
781                     })
782                     Return (TMP)
783                 }
784             }
786             /* PS/2 mouse */
787             Device (MOU)
788             {
789                 Name (_HID, EisaId ("PNP0F13"))
790                 Method (_STA, 0, NotSerialized)
791                 {
792                     Return (0x0f)
793                 }
795                 Method (_CRS, 0, NotSerialized)
796                 {
797                     Name (TMP, ResourceTemplate ()
798                     {
799                          IRQNoFlags () {12}
800                     })
801                     Return (TMP)
802                 }
803             }
805             /* PS/2 floppy controller */
806             Device (FDC0)
807             {
808                 Name (_HID, EisaId ("PNP0700"))
809                 Method (_STA, 0, NotSerialized)
810                 {
811                     Return (0x0F)
812                 }
813                 Method (_CRS, 0, NotSerialized)
814                 {
815                     Name (BUF0, ResourceTemplate ()
816                     {
817                         IO (Decode16, 0x03F2, 0x03F2, 0x00, 0x04)
818                         IO (Decode16, 0x03F7, 0x03F7, 0x00, 0x01)
819                         IRQNoFlags () {6}
820                         DMA (Compatibility, NotBusMaster, Transfer8) {2}
821                     })
822                     Return (BUF0)
823                 }
824             }
826             /* Parallel port */
827             Device (LPT)
828             {
829                 Name (_HID, EisaId ("PNP0400"))
830                 Method (_STA, 0, NotSerialized)
831                 {
832                     Store (\_SB.PCI0.PX13.DRSA, Local0)
833                     And (Local0, 0x80000000, Local0)
834                     If (LEqual (Local0, 0))
835                     {
836                         Return (0x00)
837                     }
838                     Else
839                     {
840                         Return (0x0F)
841                     }
842                 }
843                 Method (_CRS, 0, NotSerialized)
844                 {
845                     Name (BUF0, ResourceTemplate ()
846                     {
847                         IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
848                         IRQNoFlags () {7}
849                     })
850                     Return (BUF0)
851                 }
852             }
854             /* Serial Ports */
855             Device (COM1)
856             {
857                 Name (_HID, EisaId ("PNP0501"))
858                 Name (_UID, 0x01)
859                 Method (_STA, 0, NotSerialized)
860                 {
861                     Store (\_SB.PCI0.PX13.DRSC, Local0)
862                     And (Local0, 0x08000000, Local0)
863                     If (LEqual (Local0, 0))
864                     {
865                         Return (0x00)
866                     }
867                     Else
868                     {
869                         Return (0x0F)
870                     }
871                 }
872                 Method (_CRS, 0, NotSerialized)
873                 {
874                     Name (BUF0, ResourceTemplate ()
875                     {
876                         IO (Decode16, 0x03F8, 0x03F8, 0x00, 0x08)
877                         IRQNoFlags () {4}
878                     })
879                     Return (BUF0)
880                 }
881             }
883             Device (COM2)
884             {
885                 Name (_HID, EisaId ("PNP0501"))
886                 Name (_UID, 0x02)
887                 Method (_STA, 0, NotSerialized)
888                 {
889                     Store (\_SB.PCI0.PX13.DRSC, Local0)
890                     And (Local0, 0x80000000, Local0)
891                     If (LEqual (Local0, 0))
892                     {
893                         Return (0x00)
894                     }
895                     Else
896                     {
897                         Return (0x0F)
898                     }
899                 }
900                 Method (_CRS, 0, NotSerialized)
901                 {
902                     Name (BUF0, ResourceTemplate ()
903                     {
904                         IO (Decode16, 0x02F8, 0x02F8, 0x00, 0x08)
905                         IRQNoFlags () {3}
906                     })
907                     Return (BUF0)
908                 }
909             }
910         }
912         /* PIIX4 PM */
913         Device (PX13) {
914             Name (_ADR, 0x00010003)
916             OperationRegion (P13C, PCI_Config, 0x5c, 0x24)
917             Field (P13C, DWordAcc, NoLock, Preserve)
918             {
919                 DRSA, 32,
920                 DRSB, 32,
921                 DRSC, 32,
922                 DRSE, 32,
923                 DRSF, 32,
924                 DRSG, 32,
925                 DRSH, 32,
926                 DRSI, 32,
927                 DRSJ, 32
928             }
929         }
930     }
932     /* PCI IRQs */
933     Scope(\_SB) {
934          Field (\_SB.PCI0.ISA.P40C, ByteAcc, NoLock, Preserve)
935          {
936              PRQ0,   8,
937              PRQ1,   8,
938              PRQ2,   8,
939              PRQ3,   8
940          }
942         Device(LNKA){
943                 Name(_HID, EISAID("PNP0C0F"))     // PCI interrupt link
944                 Name(_UID, 1)
945                 Name(_PRS, ResourceTemplate(){
946                     Interrupt (, Level, ActiveHigh, Shared)
947                         { 5, 10, 11 }
948                 })
949                 Method (_STA, 0, NotSerialized)
950                 {
951                     Store (0x0B, Local0)
952                     If (And (0x80, PRQ0, Local1))
953                     {
954                          Store (0x09, Local0)
955                     }
956                     Return (Local0)
957                 }
958                 Method (_DIS, 0, NotSerialized)
959                 {
960                     Or (PRQ0, 0x80, PRQ0)
961                 }
962                 Method (_CRS, 0, NotSerialized)
963                 {
964                     Name (PRR0, ResourceTemplate ()
965                     {
966                         Interrupt (, Level, ActiveHigh, Shared)
967                             {1}
968                     })
969                     CreateDWordField (PRR0, 0x05, TMP)
970                     Store (PRQ0, Local0)
971                     If (LLess (Local0, 0x80))
972                     {
973                         Store (Local0, TMP)
974                     }
975                     Else
976                     {
977                         Store (Zero, TMP)
978                     }
979                     Return (PRR0)
980                 }
981                 Method (_SRS, 1, NotSerialized)
982                 {
983                     CreateDWordField (Arg0, 0x05, TMP)
984                     Store (TMP, PRQ0)
985                 }
986         }
987         Device(LNKB){
988                 Name(_HID, EISAID("PNP0C0F"))     // PCI interrupt link
989                 Name(_UID, 2)
990                 Name(_PRS, ResourceTemplate(){
991                     Interrupt (, Level, ActiveHigh, Shared)
992                         { 5, 10, 11 }
993                 })
994                 Method (_STA, 0, NotSerialized)
995                 {
996                     Store (0x0B, Local0)
997                     If (And (0x80, PRQ1, Local1))
998                     {
999                          Store (0x09, Local0)
1000                     }
1001                     Return (Local0)
1002                 }
1003                 Method (_DIS, 0, NotSerialized)
1004                 {
1005                     Or (PRQ1, 0x80, PRQ1)
1006                 }
1007                 Method (_CRS, 0, NotSerialized)
1008                 {
1009                     Name (PRR0, ResourceTemplate ()
1010                     {
1011                         Interrupt (, Level, ActiveHigh, Shared)
1012                             {1}
1013                     })
1014                     CreateDWordField (PRR0, 0x05, TMP)
1015                     Store (PRQ1, Local0)
1016                     If (LLess (Local0, 0x80))
1017                     {
1018                         Store (Local0, TMP)
1019                     }
1020                     Else
1021                     {
1022                         Store (Zero, TMP)
1023                     }
1024                     Return (PRR0)
1025                 }
1026                 Method (_SRS, 1, NotSerialized)
1027                 {
1028                     CreateDWordField (Arg0, 0x05, TMP)
1029                     Store (TMP, PRQ1)
1030                 }
1031         }
1032         Device(LNKC){
1033                 Name(_HID, EISAID("PNP0C0F"))     // PCI interrupt link
1034                 Name(_UID, 3)
1035                 Name(_PRS, ResourceTemplate(){
1036                     Interrupt (, Level, ActiveHigh, Shared)
1037                         { 5, 10, 11 }
1038                 })
1039                 Method (_STA, 0, NotSerialized)
1040                 {
1041                     Store (0x0B, Local0)
1042                     If (And (0x80, PRQ2, Local1))
1043                     {
1044                          Store (0x09, Local0)
1045                     }
1046                     Return (Local0)
1047                 }
1048                 Method (_DIS, 0, NotSerialized)
1049                 {
1050                     Or (PRQ2, 0x80, PRQ2)
1051                 }
1052                 Method (_CRS, 0, NotSerialized)
1053                 {
1054                     Name (PRR0, ResourceTemplate ()
1055                     {
1056                         Interrupt (, Level, ActiveHigh, Shared)
1057                             {1}
1058                     })
1059                     CreateDWordField (PRR0, 0x05, TMP)
1060                     Store (PRQ2, Local0)
1061                     If (LLess (Local0, 0x80))
1062                     {
1063                         Store (Local0, TMP)
1064                     }
1065                     Else
1066                     {
1067                         Store (Zero, TMP)
1068                     }
1069                     Return (PRR0)
1070                 }
1071                 Method (_SRS, 1, NotSerialized)
1072                 {
1073                     CreateDWordField (Arg0, 0x05, TMP)
1074                     Store (TMP, PRQ2)
1075                 }
1076         }
1077         Device(LNKD){
1078                 Name(_HID, EISAID("PNP0C0F"))     // PCI interrupt link
1079                 Name(_UID, 4)
1080                 Name(_PRS, ResourceTemplate(){
1081                     Interrupt (, Level, ActiveHigh, Shared)
1082                         { 5, 10, 11 }
1083                 })
1084                 Method (_STA, 0, NotSerialized)
1085                 {
1086                     Store (0x0B, Local0)
1087                     If (And (0x80, PRQ3, Local1))
1088                     {
1089                          Store (0x09, Local0)
1090                     }
1091                     Return (Local0)
1092                 }
1093                 Method (_DIS, 0, NotSerialized)
1094                 {
1095                     Or (PRQ3, 0x80, PRQ3)
1096                 }
1097                 Method (_CRS, 0, NotSerialized)
1098                 {
1099                     Name (PRR0, ResourceTemplate ()
1100                     {
1101                         Interrupt (, Level, ActiveHigh, Shared)
1102                             {1}
1103                     })
1104                     CreateDWordField (PRR0, 0x05, TMP)
1105                     Store (PRQ3, Local0)
1106                     If (LLess (Local0, 0x80))
1107                     {
1108                         Store (Local0, TMP)
1109                     }
1110                     Else
1111                     {
1112                         Store (Zero, TMP)
1113                     }
1114                     Return (PRR0)
1115                 }
1116                 Method (_SRS, 1, NotSerialized)
1117                 {
1118                     CreateDWordField (Arg0, 0x05, TMP)
1119                     Store (TMP, PRQ3)
1120                 }
1121         }
1122     }
1124     /* S5 = power off state */
1125     Name (_S5, Package (4) {
1126         0x00, // PM1a_CNT.SLP_TYP
1127         0x00, // PM2a_CNT.SLP_TYP
1128         0x00, // reserved
1129         0x00, // reserved
1130     })
1131     Scope (\_GPE)
1132     {
1133         Method(_L00) {
1134             /* Up status */
1135             If (And(\_PR.PRU, 0x2)) {
1136                 Notify(\_PR.CPU1,1)
1137             }
1139             If (And(\_PR.PRU, 0x4)) {
1140                 Notify(\_PR.CPU2,1)
1141             }
1143             If (And(\_PR.PRU, 0x8)) {
1144                 Notify(\_PR.CPU3,1)
1145             }
1147             If (And(\_PR.PRU, 0x10)) {
1148                 Notify(\_PR.CPU4,1)
1149             }
1151             If (And(\_PR.PRU, 0x20)) {
1152                 Notify(\_PR.CPU5,1)
1153             }
1155             If (And(\_PR.PRU, 0x40)) {
1156                 Notify(\_PR.CPU6,1)
1157             }
1159             If (And(\_PR.PRU, 0x80)) {
1160                 Notify(\_PR.CPU7,1)
1161             }
1163             If (And(\_PR.PRU, 0x100)) {
1164                 Notify(\_PR.CPU8,1)
1165             }
1167             If (And(\_PR.PRU, 0x200)) {
1168                 Notify(\_PR.CPU9,1)
1169             }
1171             If (And(\_PR.PRU, 0x400)) {
1172                 Notify(\_PR.CPUA,1)
1173             }
1175             If (And(\_PR.PRU, 0x800)) {
1176                 Notify(\_PR.CPUB,1)
1177             }
1179             If (And(\_PR.PRU, 0x1000)) {
1180                 Notify(\_PR.CPUC,1)
1181             }
1183             If (And(\_PR.PRU, 0x2000)) {
1184                 Notify(\_PR.CPUD,1)
1185             }
1187             If (And(\_PR.PRU, 0x4000)) {
1188                 Notify(\_PR.CPUE,1)
1189             }
1191             /* Down status */
1192             If (And(\_PR.PRD, 0x2)) {
1193                 Notify(\_PR.CPU1,3)
1194             }
1196             If (And(\_PR.PRD, 0x4)) {
1197                 Notify(\_PR.CPU2,3)
1198             }
1200             If (And(\_PR.PRD, 0x8)) {
1201                 Notify(\_PR.CPU3,3)
1202             }
1204             If (And(\_PR.PRD, 0x10)) {
1205                 Notify(\_PR.CPU4,3)
1206             }
1208             If (And(\_PR.PRD, 0x20)) {
1209                 Notify(\_PR.CPU5,3)
1210             }
1212             If (And(\_PR.PRD, 0x40)) {
1213                 Notify(\_PR.CPU6,3)
1214             }
1216             If (And(\_PR.PRD, 0x80)) {
1217                 Notify(\_PR.CPU7,3)
1218             }
1220             If (And(\_PR.PRD, 0x100)) {
1221                 Notify(\_PR.CPU8,3)
1222             }
1224             If (And(\_PR.PRD, 0x200)) {
1225                 Notify(\_PR.CPU9,3)
1226             }
1228             If (And(\_PR.PRD, 0x400)) {
1229                 Notify(\_PR.CPUA,3)
1230             }
1232             If (And(\_PR.PRD, 0x800)) {
1233                 Notify(\_PR.CPUB,3)
1234             }
1236             If (And(\_PR.PRD, 0x1000)) {
1237                 Notify(\_PR.CPUC,3)
1238             }
1240             If (And(\_PR.PRD, 0x2000)) {
1241                 Notify(\_PR.CPUD,3)
1242             }
1244             If (And(\_PR.PRD, 0x4000)) {
1245                 Notify(\_PR.CPUE,3)
1246             }
1248             Return(0x01)
1249         }
1250         Method(_L01) {
1251             /* Up status */
1252             If (And(\_SB.PCI0.PCIU, 0x2)) {
1253                 Notify(\_SB.PCI0.S1, 0x1)
1254             }
1256             If (And(\_SB.PCI0.PCIU, 0x4)) {
1257                 Notify(\_SB.PCI0.S2, 0x1)
1258             }
1260             If (And(\_SB.PCI0.PCIU, 0x8)) {
1261                 Notify(\_SB.PCI0.S3, 0x1)
1262             }
1264             If (And(\_SB.PCI0.PCIU, 0x10)) {
1265                 Notify(\_SB.PCI0.S4, 0x1)
1266             }
1268             If (And(\_SB.PCI0.PCIU, 0x20)) {
1269                 Notify(\_SB.PCI0.S5, 0x1)
1270             }
1272             If (And(\_SB.PCI0.PCIU, 0x40)) {
1273                 Notify(\_SB.PCI0.S6, 0x1)
1274             }
1276             If (And(\_SB.PCI0.PCIU, 0x80)) {
1277                 Notify(\_SB.PCI0.S7, 0x1)
1278             }
1280             If (And(\_SB.PCI0.PCIU, 0x0100)) {
1281                 Notify(\_SB.PCI0.S8, 0x1)
1282             }
1284             If (And(\_SB.PCI0.PCIU, 0x0200)) {
1285                 Notify(\_SB.PCI0.S9, 0x1)
1286             }
1288             If (And(\_SB.PCI0.PCIU, 0x0400)) {
1289                 Notify(\_SB.PCI0.S10, 0x1)
1290             }
1292             If (And(\_SB.PCI0.PCIU, 0x0800)) {
1293                 Notify(\_SB.PCI0.S11, 0x1)
1294             }
1296             If (And(\_SB.PCI0.PCIU, 0x1000)) {
1297                 Notify(\_SB.PCI0.S12, 0x1)
1298             }
1300             If (And(\_SB.PCI0.PCIU, 0x2000)) {
1301                 Notify(\_SB.PCI0.S13, 0x1)
1302             }
1304             If (And(\_SB.PCI0.PCIU, 0x4000)) {
1305                 Notify(\_SB.PCI0.S14, 0x1)
1306             }
1308             If (And(\_SB.PCI0.PCIU, 0x8000)) {
1309                 Notify(\_SB.PCI0.S15, 0x1)
1310             }
1312             If (And(\_SB.PCI0.PCIU, 0x10000)) {
1313                 Notify(\_SB.PCI0.S16, 0x1)
1314             }
1316             If (And(\_SB.PCI0.PCIU, 0x20000)) {
1317                 Notify(\_SB.PCI0.S17, 0x1)
1318             }
1320             If (And(\_SB.PCI0.PCIU, 0x40000)) {
1321                 Notify(\_SB.PCI0.S18, 0x1)
1322             }
1324             If (And(\_SB.PCI0.PCIU, 0x80000)) {
1325                 Notify(\_SB.PCI0.S19, 0x1)
1326             }
1328             If (And(\_SB.PCI0.PCIU, 0x100000)) {
1329                 Notify(\_SB.PCI0.S20, 0x1)
1330             }
1332             If (And(\_SB.PCI0.PCIU, 0x200000)) {
1333                 Notify(\_SB.PCI0.S21, 0x1)
1334             }
1336             If (And(\_SB.PCI0.PCIU, 0x400000)) {
1337                 Notify(\_SB.PCI0.S22, 0x1)
1338             }
1340             If (And(\_SB.PCI0.PCIU, 0x800000)) {
1341                 Notify(\_SB.PCI0.S23, 0x1)
1342             }
1344             If (And(\_SB.PCI0.PCIU, 0x1000000)) {
1345                 Notify(\_SB.PCI0.S24, 0x1)
1346             }
1348             If (And(\_SB.PCI0.PCIU, 0x2000000)) {
1349                 Notify(\_SB.PCI0.S25, 0x1)
1350             }
1352             If (And(\_SB.PCI0.PCIU, 0x4000000)) {
1353                 Notify(\_SB.PCI0.S26, 0x1)
1354             }
1356             If (And(\_SB.PCI0.PCIU, 0x8000000)) {
1357                 Notify(\_SB.PCI0.S27, 0x1)
1358             }
1360             If (And(\_SB.PCI0.PCIU, 0x10000000)) {
1361                 Notify(\_SB.PCI0.S28, 0x1)
1362             }
1364             If (And(\_SB.PCI0.PCIU, 0x20000000)) {
1365                 Notify(\_SB.PCI0.S29, 0x1)
1366             }
1368             If (And(\_SB.PCI0.PCIU, 0x40000000)) {
1369                 Notify(\_SB.PCI0.S30, 0x1)
1370             }
1372             If (And(\_SB.PCI0.PCIU, 0x80000000)) {
1373                 Notify(\_SB.PCI0.S31, 0x1)
1374             }
1376             /* Down status */
1377             If (And(\_SB.PCI0.PCID, 0x2)) {
1378                 Notify(\_SB.PCI0.S1, 0x3)
1379             }
1381             If (And(\_SB.PCI0.PCID, 0x4)) {
1382                 Notify(\_SB.PCI0.S2, 0x3)
1383             }
1385             If (And(\_SB.PCI0.PCID, 0x8)) {
1386                 Notify(\_SB.PCI0.S3, 0x3)
1387             }
1389             If (And(\_SB.PCI0.PCID, 0x10)) {
1390                 Notify(\_SB.PCI0.S4, 0x3)
1391             }
1393             If (And(\_SB.PCI0.PCID, 0x20)) {
1394                 Notify(\_SB.PCI0.S5, 0x3)
1395             }
1397             If (And(\_SB.PCI0.PCID, 0x40)) {
1398                 Notify(\_SB.PCI0.S6, 0x3)
1399             }
1401             If (And(\_SB.PCI0.PCID, 0x80)) {
1402                 Notify(\_SB.PCI0.S7, 0x3)
1403             }
1405             If (And(\_SB.PCI0.PCID, 0x0100)) {
1406                 Notify(\_SB.PCI0.S8, 0x3)
1407             }
1409             If (And(\_SB.PCI0.PCID, 0x0200)) {
1410                 Notify(\_SB.PCI0.S9, 0x3)
1411             }
1413             If (And(\_SB.PCI0.PCID, 0x0400)) {
1414                 Notify(\_SB.PCI0.S10, 0x3)
1415             }
1417             If (And(\_SB.PCI0.PCID, 0x0800)) {
1418                 Notify(\_SB.PCI0.S11, 0x3)
1419             }
1421             If (And(\_SB.PCI0.PCID, 0x1000)) {
1422                 Notify(\_SB.PCI0.S12, 0x3)
1423             }
1425             If (And(\_SB.PCI0.PCID, 0x2000)) {
1426                 Notify(\_SB.PCI0.S13, 0x3)
1427             }
1429             If (And(\_SB.PCI0.PCID, 0x4000)) {
1430                 Notify(\_SB.PCI0.S14, 0x3)
1431             }
1433             If (And(\_SB.PCI0.PCID, 0x8000)) {
1434                 Notify(\_SB.PCI0.S15, 0x3)
1435             }
1437             If (And(\_SB.PCI0.PCID, 0x10000)) {
1438                 Notify(\_SB.PCI0.S16, 0x3)
1439             }
1441             If (And(\_SB.PCI0.PCID, 0x20000)) {
1442                 Notify(\_SB.PCI0.S17, 0x3)
1443             }
1445             If (And(\_SB.PCI0.PCID, 0x40000)) {
1446                 Notify(\_SB.PCI0.S18, 0x3)
1447             }
1449             If (And(\_SB.PCI0.PCID, 0x80000)) {
1450                 Notify(\_SB.PCI0.S19, 0x3)
1451             }
1453             If (And(\_SB.PCI0.PCID, 0x100000)) {
1454                 Notify(\_SB.PCI0.S20, 0x3)
1455             }
1457             If (And(\_SB.PCI0.PCID, 0x200000)) {
1458                 Notify(\_SB.PCI0.S21, 0x3)
1459             }
1461             If (And(\_SB.PCI0.PCID, 0x400000)) {
1462                 Notify(\_SB.PCI0.S22, 0x3)
1463             }
1465             If (And(\_SB.PCI0.PCID, 0x800000)) {
1466                 Notify(\_SB.PCI0.S23, 0x3)
1467             }
1469             If (And(\_SB.PCI0.PCID, 0x1000000)) {
1470                 Notify(\_SB.PCI0.S24, 0x3)
1471             }
1473             If (And(\_SB.PCI0.PCID, 0x2000000)) {
1474                 Notify(\_SB.PCI0.S25, 0x3)
1475             }
1477             If (And(\_SB.PCI0.PCID, 0x4000000)) {
1478                 Notify(\_SB.PCI0.S26, 0x3)
1479             }
1481             If (And(\_SB.PCI0.PCID, 0x8000000)) {
1482                 Notify(\_SB.PCI0.S27, 0x3)
1483             }
1485             If (And(\_SB.PCI0.PCID, 0x10000000)) {
1486                 Notify(\_SB.PCI0.S28, 0x3)
1487             }
1489             If (And(\_SB.PCI0.PCID, 0x20000000)) {
1490                 Notify(\_SB.PCI0.S29, 0x3)
1491             }
1493             If (And(\_SB.PCI0.PCID, 0x40000000)) {
1494                 Notify(\_SB.PCI0.S30, 0x3)
1495             }
1497             If (And(\_SB.PCI0.PCID, 0x80000000)) {
1498                 Notify(\_SB.PCI0.S31, 0x3)
1499             }
1501             Return(0x01)
1502         }
1503         Method(_L02) {
1504             Return(0x01)
1505         }
1506         Method(_L03) {
1507             Return(0x01)
1508         }
1509         Method(_L04) {
1510             Return(0x01)
1511         }
1512         Method(_L05) {
1513             Return(0x01)
1514         }
1515         Method(_L06) {
1516             Return(0x01)
1517         }
1518         Method(_L07) {
1519             Return(0x01)
1520         }
1521         Method(_L08) {
1522             Return(0x01)
1523         }
1524         Method(_L09) {
1525             Return(0x01)
1526         }
1527         Method(_L0A) {
1528             Return(0x01)
1529         }
1530         Method(_L0B) {
1531             Return(0x01)
1532         }
1533         Method(_L0C) {
1534             Return(0x01)
1535         }
1536         Method(_L0D) {
1537             Return(0x01)
1538         }
1539         Method(_L0E) {
1540             Return(0x01)
1541         }
1542         Method(_L0F) {
1543             Return(0x01)
1544         }
1545     }