Ticket #406: dsdt_DX58SO.dsl

File dsdt_DX58SO.dsl, 202.8 KB (added by Daniel Ventura, 15 years ago)

\SMP \R \MCPU:6

Line 
1/*
2 * Intel ACPI Component Architecture
3 * AML Disassembler version 20060912
4 *
5 * Disassembly of (null), Tue May 19 21:48:33 2009
6 *
7 *
8 * Original Table Header:
9 *     Signature        "DSDT"
10 *     Length           0x000045D9 (17881)
11 *     Revision         0x02
12 *     OEM ID           "INTEL "
13 *     OEM Table ID     "DX58SO  "
14 *     OEM Revision     0x00000EF4 (3828)
15 *     Creator ID       "MSFT"
16 *     Creator Revision 0x0100000D (16777229)
17 */
18DefinitionBlock ("DSDT.aml", "DSDT", 2, "INTEL ", "DX58SO  ", 0x00000EF4)
19{
20    Scope (_PR)
21    {
22        Processor (CPU0, 0x00, 0x00000410, 0x06) {}
23        Processor (CPU1, 0x01, 0x00000410, 0x06) {}
24        Processor (CPU2, 0x02, 0x00000410, 0x06) {}
25        Processor (CPU3, 0x03, 0x00000410, 0x06) {}
26        Processor (CPU4, 0x04, 0x00000410, 0x06) {}
27        Processor (CPU5, 0x05, 0x00000410, 0x06) {}
28        Processor (CPU6, 0x06, 0x00000410, 0x06) {}
29        Processor (CPU7, 0x07, 0x00000410, 0x06) {}
30    }
31
32    Name (_S0, Package (0x04)
33    {
34        Zero,
35        Zero,
36        Zero,
37        Zero
38    })
39    Name (_S1, Package (0x04)
40    {
41        One,
42        Zero,
43        Zero,
44        Zero
45    })
46    Name (_S3, Package (0x04)
47    {
48        0x05,
49        Zero,
50        Zero,
51        Zero
52    })
53    Name (_S4, Package (0x04)
54    {
55        0x06,
56        Zero,
57        Zero,
58        Zero
59    })
60    Name (_S5, Package (0x04)
61    {
62        0x07,
63        Zero,
64        Zero,
65        Zero
66    })
67    Scope (_GPE)
68    {
69        Method (_L03, 0, NotSerialized)
70        {
71            Notify (\_SB.PCI0.UHC1, 0x02)
72            Notify (\_SB.SLPB, 0x02)
73        }
74
75        Method (_L04, 0, NotSerialized)
76        {
77            Notify (\_SB.PCI0.UHC2, 0x02)
78            Notify (\_SB.SLPB, 0x02)
79        }
80
81        Method (_L05, 0, NotSerialized)
82        {
83            Notify (\_SB.PCI0.UHC5, 0x02)
84            Notify (\_SB.SLPB, 0x02)
85        }
86
87        Method (_L07, 0, Serialized)
88        {
89        }
90
91        Method (_L09, 0, NotSerialized)
92        {
93            If (\_SB.PCI0.PEX0.XPM1 (Zero))
94            {
95                Notify (\_SB.PCI0.PEX0, 0x02)
96            }
97
98            If (\_SB.PCI0.PEX1.XPM1 (One))
99            {
100                Notify (\_SB.PCI0.PEX1, 0x02)
101            }
102
103            If (\_SB.PCI0.PEX2.XPM1 (0x02))
104            {
105                Notify (\_SB.PCI0.PEX2, 0x02)
106            }
107
108            If (\_SB.PCI0.PEX3.XPM1 (0x03))
109            {
110                Notify (\_SB.PCI0.PEX3, 0x02)
111            }
112
113            If (\_SB.PCI0.PEX4.XPM1 (0x04))
114            {
115                Notify (\_SB.PCI0.PEX4, 0x02)
116            }
117
118            If (\_SB.PCI0.PEX5.XPM1 (0x05))
119            {
120                Notify (\_SB.PCI0.PEX5, 0x02)
121            }
122
123            If (\_SB.PCI0.PEG1.XPM1 (0x08))
124            {
125                Notify (\_SB.PCI0.PEG1, 0x02)
126            }
127
128            If (\_SB.PCI0.PEG3.XPM1 (0x0A))
129            {
130                Notify (\_SB.PCI0.PEG3, 0x02)
131            }
132
133            If (\_SB.PCI0.PEG7.XPM1 (0x0E))
134            {
135                Notify (\_SB.PCI0.PEG7, 0x02)
136            }
137
138            Notify (\_SB.SLPB, 0x02)
139        }
140
141        Method (_L0A, 0, NotSerialized)
142        {
143            Notify (\_SB.PCI0.LPC.IELK, 0x81)
144            Store (One, \_SB.PCI0.LPC.IELK.ELPB)
145        }
146
147        Method (_L0B, 0, NotSerialized)
148        {
149            Notify (\_SB.PCI0.P32, 0x02)
150            Notify (\_SB.SLPB, 0x02)
151        }
152
153        Method (_L0C, 0, NotSerialized)
154        {
155            Notify (\_SB.PCI0.UHC3, 0x02)
156            Notify (\_SB.SLPB, 0x02)
157        }
158
159        Method (_L0D, 0, NotSerialized)
160        {
161            Notify (\_SB.PCI0.EHCI, 0x02)
162            Notify (\_SB.PCI0.EHC2, 0x02)
163            Notify (\_SB.PCI0.AZAL, 0x02)
164            Notify (\_SB.PCI0.ILAN, 0x02)
165        }
166
167        Method (_L0E, 0, NotSerialized)
168        {
169            Notify (\_SB.PCI0.UHC4, 0x02)
170            Notify (\_SB.PCI0.UH42, 0x02)
171            Notify (\_SB.SLPB, 0x02)
172        }
173
174        Method (_L1D, 0, NotSerialized)
175        {
176            Store (0x02, ILED)
177            \_SB.PCI0.LPC.WAKE ()
178            Notify (\_SB.SLPB, 0x02)
179        }
180
181        Method (_L20, 0, NotSerialized)
182        {
183            Notify (\_SB.PCI0.UHC6, 0x02)
184            Notify (\_SB.SLPB, 0x02)
185        }
186    }
187
188    Device (_SB.SLPB)
189    {
190        Name (_HID, EisaId ("PNP0C0E"))
191        Method (_PRW, 0, NotSerialized)
192        {
193            Return (Package (0x02)
194            {
195                0x1D,
196                0x04
197            })
198        }
199    }
200
201    Name (PSTE, Zero)
202    Name (TSTE, Zero)
203    Method (_WAK, 1, Serialized)
204    {
205        \_SB.PCI0.LPC.WAK (Arg0)
206        If (CondRefOf (_OSI, Local0))
207        {
208            Store (0x21, OSTY)
209        }
210
211        Notify (\_SB.PCI0.UHC1, Zero)
212        Notify (\_SB.PCI0.UHC2, Zero)
213        Notify (\_SB.PCI0.UHC3, Zero)
214        Notify (\_SB.PCI0.UHC4, Zero)
215        Notify (\_SB.PCI0.UH42, Zero)
216        Notify (\_SB.PCI0.UHC5, Zero)
217        Notify (\_SB.PCI0.UHC6, Zero)
218        Notify (\_SB.PCI0.EHCI, Zero)
219        Notify (\_SB.PCI0.EHC2, Zero)
220        If (LEqual (Arg0, 0x04))
221        {
222            If (LEqual (WAS4, One))
223            {
224                Notify (\_SB.SLPB, 0x02)
225            }
226        }
227
228        Return (Zero)
229    }
230
231    Method (_PTS, 1, NotSerialized)
232    {
233        \_SB.PCI0.PEX0.XPM1 (Zero)
234        \_SB.PCI0.PEX1.XPM1 (Zero)
235        \_SB.PCI0.PEX2.XPM1 (Zero)
236        \_SB.PCI0.PEX3.XPM1 (Zero)
237        \_SB.PCI0.PEX4.XPM1 (Zero)
238        \_SB.PCI0.PEX5.XPM1 (Zero)
239        \_SB.PCI0.PEG1.XPM1 (0x08)
240        \_SB.PCI0.PEG3.XPM1 (0x0A)
241        \_SB.PCI0.PEG7.XPM1 (0x0E)
242        While (PXGS)
243        {
244            Store (One, PXGS)
245        }
246
247        Store (One, ILED)
248        \_SB.PCI0.LPC.PTS (Arg0)
249    }
250
251    Name (GPIC, Zero)
252    Method (_PIC, 1, NotSerialized)
253    {
254        Store (Arg0, GPIC)
255    }
256
257    OperationRegion (DBG0, SystemIO, 0x80, One)
258    Field (DBG0, ByteAcc, NoLock, Preserve)
259    {
260        IO80,   8
261    }
262
263    OperationRegion (ACMS, SystemIO, 0x72, 0x02)
264    Field (ACMS, ByteAcc, NoLock, Preserve)
265    {
266        CMSI,   8,
267        CMSD,   8
268    }
269
270    IndexField (CMSI, CMSD, ByteAcc, NoLock, Preserve)
271    {
272                Offset (0x6E),
273        WAS4,   8,
274        OSTY,   8,
275                Offset (0x7D),
276        HPEE,   1,
277        VOFF,   1,
278                Offset (0x7E),
279            ,   2,
280        MSEP,   1,
281            ,   1,
282        TPME,   1,
283        SPND,   1,
284        KBEP,   1,
285        MSAR,   1
286    }
287
288    OperationRegion (GPE0, SystemIO, 0x0420, 0x02)
289    Field (GPE0, ByteAcc, NoLock, WriteAsZeros)
290    {
291            ,   9,
292        PXGS,   1,
293                Offset (0x02)
294    }
295
296    OperationRegion (IGPO, SystemIO, 0x050C, 0x04)
297    Field (IGPO, ByteAcc, NoLock, Preserve)
298    {
299                Offset (0x03),
300            ,   3,
301        ILED,   2
302    }
303
304    OperationRegion (PSYS, SystemMemory, 0x7F7BEE18, 0x0100)
305    Field (PSYS, ByteAcc, NoLock, Preserve)
306    {
307        PLAT,   32,
308        APC0,   1,
309        APC1,   1,
310        APC2,   1,
311        APC3,   1,
312        APCA,   1,
313                Offset (0x05),
314        NMEN,   8,
315        TPMX,   1,
316        CSEN,   1,
317        C2OS,   1,
318        C6EN,   1,
319        C7EN,   1,
320        MWOS,   1,
321        PSEN,   1,
322                Offset (0x07),
323        PSDT,   2,
324        SBS1,   1,
325        KPRS,   1,
326        MPRS,   1,
327        DIOH,   1
328    }
329
330    Scope (_SB)
331    {
332        Device (PCI0)
333        {
334            Name (_HID, EisaId ("PNP0A08"))
335            Name (_CID, 0x030AD041)
336            Name (_ADR, Zero)
337            Method (_INI, 0, NotSerialized)
338            {
339                If (CondRefOf (_OSI, Local0))
340                {
341                    Store (0x21, OSTY)
342                }
343            }
344
345            Name (SUPP, Zero)
346            Name (CTRL, Zero)
347            Method (_OSC, 4, NotSerialized)
348            {
349                If (LEqual (Arg0, Buffer (0x10)
350                        {
351                            /* 0000 */    0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
352                            /* 0008 */    0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
353                        }))
354                {
355                    CreateDWordField (Arg3, Zero, CDW1)
356                    CreateDWordField (Arg3, 0x04, CDW2)
357                    CreateDWordField (Arg3, 0x08, CDW3)
358                    Store (CDW2, SUPP)
359                    Store (CDW3, CTRL)
360                    If (LNotEqual (And (SUPP, 0x16), 0x16))
361                    {
362                        And (CTRL, 0x1E, CTRL)
363                    }
364
365                    And (CTRL, 0x1D, CTRL)
366                    If (Not (And (CDW1, One)))
367                    {
368                        If (And (CTRL, One)) {}
369                        If (And (CTRL, 0x04)) {}
370                        If (And (CTRL, 0x10)) {}
371                    }
372
373                    If (LNotEqual (Arg1, One))
374                    {
375                        Or (CDW1, 0x08, CDW1)
376                    }
377
378                    If (LNotEqual (CDW3, CTRL))
379                    {
380                        Or (CDW1, 0x10, CDW1)
381                    }
382
383                    Store (CTRL, CDW3)
384                    Return (Arg3)
385                }
386                Else
387                {
388                    Or (CDW1, 0x04, CDW1)
389                    Return (Arg3)
390                }
391            }
392
393            Name (PBRS, ResourceTemplate ()
394            {
395                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
396                    0x0000,             // Granularity
397                    0x0000,             // Range Minimum
398                    0x003D,             // Range Maximum
399                    0x0000,             // Translation Offset
400                    0x003E,             // Length
401                    ,, )
402                IO (Decode16,
403                    0x0CF8,             // Range Minimum
404                    0x0CF8,             // Range Maximum
405                    0x01,               // Alignment
406                    0x08,               // Length
407                    )
408                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
409                    0x0000,             // Granularity
410                    0x0000,             // Range Minimum
411                    0x0CF7,             // Range Maximum
412                    0x0000,             // Translation Offset
413                    0x0CF8,             // Length
414                    ,, , TypeStatic)
415                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
416                    0x0000,             // Granularity
417                    0x0D00,             // Range Minimum
418                    0xFFFF,             // Range Maximum
419                    0x0000,             // Translation Offset
420                    0xF300,             // Length
421                    ,, , TypeStatic)
422                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
423                    0x00000000,         // Granularity
424                    0x000A0000,         // Range Minimum
425                    0x000BFFFF,         // Range Maximum
426                    0x00000000,         // Translation Offset
427                    0x00020000,         // Length
428                    ,, , AddressRangeMemory, TypeStatic)
429                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
430                    0x00000000,         // Granularity
431                    0x00000000,         // Range Minimum
432                    0x00000000,         // Range Maximum
433                    0x00000000,         // Translation Offset
434                    0x00000000,         // Length
435                    ,, _Y00, AddressRangeMemory, TypeStatic)
436                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
437                    0x00000000,         // Granularity
438                    0xFED40000,         // Range Minimum
439                    0xFEDFFFFF,         // Range Maximum
440                    0x00000000,         // Translation Offset
441                    0x000C0000,         // Length
442                    ,, , AddressRangeMemory, TypeStatic)
443                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
444                    0x00000000,         // Granularity
445                    0xD0000000,         // Range Minimum
446                    0xF7FFFFFF,         // Range Maximum
447                    0x00000000,         // Translation Offset
448                    0x28000000,         // Length
449                    ,, , AddressRangeMemory, TypeStatic)
450                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
451                    0x0000000000000000, // Granularity
452                    0x0000000000000000, // Range Minimum
453                    0x0000000000000000, // Range Maximum
454                    0x0000000000000000, // Translation Offset
455                    0x0000000000000000, // Length
456                    ,, , AddressRangeMemory, TypeStatic)
457            })
458            Method (_CRS, 0, NotSerialized)
459            {
460                EROM ()
461                Return (PBRS)
462            }
463
464            OperationRegion (TMEM, PCI_Config, 0x52, 0x03)
465            Field (TMEM, ByteAcc, NoLock, Preserve)
466            {
467                DIM0,   4,
468                DIM1,   4,
469                        Offset (0x02),
470                DIM2,   4
471            }
472
473            Name (MTBL, Package (0x10)
474            {
475                Zero,
476                0x20,
477                0x20,
478                0x30,
479                0x40,
480                0x40,
481                0x60,
482                0x80,
483                0x80,
484                0x80,
485                0x80,
486                0xC0,
487                0x0100,
488                0x0100,
489                0x0100,
490                0x0200
491            })
492            OperationRegion (PAMX, PCI_Config, 0x90, 0x07)
493            Field (PAMX, ByteAcc, NoLock, Preserve)
494            {
495                    ,   4,
496                BSEG,   4,
497                PAMS,   48
498            }
499
500            Name (ERNG, Package (0x0D)
501            {
502                0x000C0000,
503                0x000C4000,
504                0x000C8000,
505                0x000CC000,
506                0x000D0000,
507                0x000D4000,
508                0x000D8000,
509                0x000DC000,
510                0x000E0000,
511                0x000E4000,
512                0x000E8000,
513                0x000EC000,
514                0x000F0000
515            })
516            Name (PAMB, Buffer (0x07) {})
517            Method (EROM, 0, NotSerialized)
518            {
519                CreateDWordField (PBRS, \_SB.PCI0._Y00._MIN, RMIN)
520                CreateDWordField (PBRS, \_SB.PCI0._Y00._MAX, RMAX)
521                CreateDWordField (PBRS, \_SB.PCI0._Y00._LEN, RLEN)
522                CreateByteField (PAMB, 0x06, BREG)
523                Store (PAMS, PAMB)
524                Store (BSEG, BREG)
525                Store (Zero, RMIN)
526                Store (Zero, RMAX)
527                Store (Zero, RLEN)
528                Store (Zero, Local0)
529                While (LLess (Local0, 0x0D))
530                {
531                    ShiftRight (Local0, One, Local1)
532                    Store (DerefOf (Index (PAMB, Local1)), Local2)
533                    If (And (Local0, One))
534                    {
535                        ShiftRight (Local2, 0x04, Local2)
536                    }
537
538                    And (Local2, 0x03, Local2)
539                    If (RMIN)
540                    {
541                        If (Local2)
542                        {
543                            Add (DerefOf (Index (ERNG, Local0)), 0x3FFF, RMAX)
544                            If (LEqual (RMAX, 0x000F3FFF))
545                            {
546                                Store (0x000FFFFF, RMAX)
547                            }
548
549                            Subtract (RMAX, RMIN, RLEN)
550                            Increment (RLEN)
551                        }
552                        Else
553                        {
554                            Store (0x0C, Local0)
555                        }
556                    }
557                    Else
558                    {
559                        If (Local2)
560                        {
561                            Store (DerefOf (Index (ERNG, Local0)), RMIN)
562                            Add (DerefOf (Index (ERNG, Local0)), 0x3FFF, RMAX)
563                            If (LEqual (RMAX, 0x000F3FFF))
564                            {
565                                Store (0x000FFFFF, RMAX)
566                            }
567
568                            Subtract (RMAX, RMIN, RLEN)
569                            Increment (RLEN)
570                        }
571                        Else
572                        {
573                        }
574                    }
575
576                    Increment (Local0)
577                }
578            }
579
580            Method (_PRT, 0, NotSerialized)
581            {
582                If (LEqual (GPIC, Zero))
583                {
584                    Return (Package (0x47)
585                    {
586                        Package (0x04)
587                        {
588                            0xFFFF,
589                            Zero,
590                            ^LPC.LNKA,
591                            Zero
592                        },
593
594                        Package (0x04)
595                        {
596                            0xFFFF,
597                            One,
598                            ^LPC.LNKB,
599                            Zero
600                        },
601
602                        Package (0x04)
603                        {
604                            0xFFFF,
605                            0x02,
606                            ^LPC.LNKC,
607                            Zero
608                        },
609
610                        Package (0x04)
611                        {
612                            0xFFFF,
613                            0x03,
614                            ^LPC.LNKD,
615                            Zero
616                        },
617
618                        Package (0x04)
619                        {
620                            0x0001FFFF,
621                            Zero,
622                            ^LPC.LNKA,
623                            Zero
624                        },
625
626                        Package (0x04)
627                        {
628                            0x0001FFFF,
629                            One,
630                            ^LPC.LNKB,
631                            Zero
632                        },
633
634                        Package (0x04)
635                        {
636                            0x0001FFFF,
637                            0x02,
638                            ^LPC.LNKC,
639                            Zero
640                        },
641
642                        Package (0x04)
643                        {
644                            0x0001FFFF,
645                            0x03,
646                            ^LPC.LNKD,
647                            Zero
648                        },
649
650                        Package (0x04)
651                        {
652                            0x0002FFFF,
653                            Zero,
654                            ^LPC.LNKA,
655                            Zero
656                        },
657
658                        Package (0x04)
659                        {
660                            0x0002FFFF,
661                            One,
662                            ^LPC.LNKB,
663                            Zero
664                        },
665
666                        Package (0x04)
667                        {
668                            0x0002FFFF,
669                            0x02,
670                            ^LPC.LNKC,
671                            Zero
672                        },
673
674                        Package (0x04)
675                        {
676                            0x0002FFFF,
677                            0x03,
678                            ^LPC.LNKD,
679                            Zero
680                        },
681
682                        Package (0x04)
683                        {
684                            0x0003FFFF,
685                            Zero,
686                            ^LPC.LNKA,
687                            Zero
688                        },
689
690                        Package (0x04)
691                        {
692                            0x0003FFFF,
693                            One,
694                            ^LPC.LNKB,
695                            Zero
696                        },
697
698                        Package (0x04)
699                        {
700                            0x0003FFFF,
701                            0x02,
702                            ^LPC.LNKC,
703                            Zero
704                        },
705
706                        Package (0x04)
707                        {
708                            0x0003FFFF,
709                            0x03,
710                            ^LPC.LNKD,
711                            Zero
712                        },
713
714                        Package (0x04)
715                        {
716                            0x0004FFFF,
717                            Zero,
718                            ^LPC.LNKA,
719                            Zero
720                        },
721
722                        Package (0x04)
723                        {
724                            0x0004FFFF,
725                            One,
726                            ^LPC.LNKB,
727                            Zero
728                        },
729
730                        Package (0x04)
731                        {
732                            0x0004FFFF,
733                            0x02,
734                            ^LPC.LNKC,
735                            Zero
736                        },
737
738                        Package (0x04)
739                        {
740                            0x0004FFFF,
741                            0x03,
742                            ^LPC.LNKD,
743                            Zero
744                        },
745
746                        Package (0x04)
747                        {
748                            0x0005FFFF,
749                            Zero,
750                            ^LPC.LNKA,
751                            Zero
752                        },
753
754                        Package (0x04)
755                        {
756                            0x0005FFFF,
757                            One,
758                            ^LPC.LNKB,
759                            Zero
760                        },
761
762                        Package (0x04)
763                        {
764                            0x0005FFFF,
765                            0x02,
766                            ^LPC.LNKC,
767                            Zero
768                        },
769
770                        Package (0x04)
771                        {
772                            0x0005FFFF,
773                            0x03,
774                            ^LPC.LNKD,
775                            Zero
776                        },
777
778                        Package (0x04)
779                        {
780                            0x0006FFFF,
781                            Zero,
782                            ^LPC.LNKA,
783                            Zero
784                        },
785
786                        Package (0x04)
787                        {
788                            0x0006FFFF,
789                            One,
790                            ^LPC.LNKB,
791                            Zero
792                        },
793
794                        Package (0x04)
795                        {
796                            0x0006FFFF,
797                            0x02,
798                            ^LPC.LNKC,
799                            Zero
800                        },
801
802                        Package (0x04)
803                        {
804                            0x0006FFFF,
805                            0x03,
806                            ^LPC.LNKD,
807                            Zero
808                        },
809
810                        Package (0x04)
811                        {
812                            0x0007FFFF,
813                            Zero,
814                            ^LPC.LNKA,
815                            Zero
816                        },
817
818                        Package (0x04)
819                        {
820                            0x0007FFFF,
821                            One,
822                            ^LPC.LNKB,
823                            Zero
824                        },
825
826                        Package (0x04)
827                        {
828                            0x0007FFFF,
829                            0x02,
830                            ^LPC.LNKC,
831                            Zero
832                        },
833
834                        Package (0x04)
835                        {
836                            0x0007FFFF,
837                            0x03,
838                            ^LPC.LNKD,
839                            Zero
840                        },
841
842                        Package (0x04)
843                        {
844                            0x0008FFFF,
845                            Zero,
846                            ^LPC.LNKA,
847                            Zero
848                        },
849
850                        Package (0x04)
851                        {
852                            0x0008FFFF,
853                            One,
854                            ^LPC.LNKB,
855                            Zero
856                        },
857
858                        Package (0x04)
859                        {
860                            0x0008FFFF,
861                            0x02,
862                            ^LPC.LNKC,
863                            Zero
864                        },
865
866                        Package (0x04)
867                        {
868                            0x0008FFFF,
869                            0x03,
870                            ^LPC.LNKD,
871                            Zero
872                        },
873
874                        Package (0x04)
875                        {
876                            0x0009FFFF,
877                            Zero,
878                            ^LPC.LNKA,
879                            Zero
880                        },
881
882                        Package (0x04)
883                        {
884                            0x0009FFFF,
885                            One,
886                            ^LPC.LNKB,
887                            Zero
888                        },
889
890                        Package (0x04)
891                        {
892                            0x0009FFFF,
893                            0x02,
894                            ^LPC.LNKC,
895                            Zero
896                        },
897
898                        Package (0x04)
899                        {
900                            0x0009FFFF,
901                            0x03,
902                            ^LPC.LNKD,
903                            Zero
904                        },
905
906                        Package (0x04)
907                        {
908                            0x000AFFFF,
909                            Zero,
910                            ^LPC.LNKA,
911                            Zero
912                        },
913
914                        Package (0x04)
915                        {
916                            0x000AFFFF,
917                            One,
918                            ^LPC.LNKB,
919                            Zero
920                        },
921
922                        Package (0x04)
923                        {
924                            0x000AFFFF,
925                            0x02,
926                            ^LPC.LNKC,
927                            Zero
928                        },
929
930                        Package (0x04)
931                        {
932                            0x000AFFFF,
933                            0x03,
934                            ^LPC.LNKD,
935                            Zero
936                        },
937
938                        Package (0x04)
939                        {
940                            0x0012FFFF,
941                            Zero,
942                            ^LPC.LNKA,
943                            Zero
944                        },
945
946                        Package (0x04)
947                        {
948                            0x0012FFFF,
949                            0x03,
950                            ^LPC.LNKD,
951                            Zero
952                        },
953
954                        Package (0x04)
955                        {
956                            0x0012FFFF,
957                            0x02,
958                            ^LPC.LNKC,
959                            Zero
960                        },
961
962                        Package (0x04)
963                        {
964                            0x0012FFFF,
965                            One,
966                            ^LPC.LNKB,
967                            Zero
968                        },
969
970                        Package (0x04)
971                        {
972                            0x0016FFFF,
973                            Zero,
974                            ^LPC.LNKA,
975                            Zero
976                        },
977
978                        Package (0x04)
979                        {
980                            0x0016FFFF,
981                            One,
982                            ^LPC.LNKB,
983                            Zero
984                        },
985
986                        Package (0x04)
987                        {
988                            0x0016FFFF,
989                            0x02,
990                            ^LPC.LNKC,
991                            Zero
992                        },
993
994                        Package (0x04)
995                        {
996                            0x0016FFFF,
997                            0x03,
998                            ^LPC.LNKD,
999                            Zero
1000                        },
1001
1002                        Package (0x04)
1003                        {
1004                            0x0019FFFF,
1005                            Zero,
1006                            ^LPC.LNKE,
1007                            Zero
1008                        },
1009
1010                        Package (0x04)
1011                        {
1012                            0x001AFFFF,
1013                            Zero,
1014                            ^LPC.LNKA,
1015                            Zero
1016                        },
1017
1018                        Package (0x04)
1019                        {
1020                            0x001AFFFF,
1021                            One,
1022                            ^LPC.LNKF,
1023                            Zero
1024                        },
1025
1026                        Package (0x04)
1027                        {
1028                            0x001AFFFF,
1029                            0x03,
1030                            ^LPC.LNKD,
1031                            Zero
1032                        },
1033
1034                        Package (0x04)
1035                        {
1036                            0x001AFFFF,
1037                            0x02,
1038                            ^LPC.LNKC,
1039                            Zero
1040                        },
1041
1042                        Package (0x04)
1043                        {
1044                            0x001BFFFF,
1045                            Zero,
1046                            ^LPC.LNKG,
1047                            Zero
1048                        },
1049
1050                        Package (0x04)
1051                        {
1052                            0x001CFFFF,
1053                            Zero,
1054                            ^LPC.LNKB,
1055                            Zero
1056                        },
1057
1058                        Package (0x04)
1059                        {
1060                            0x001CFFFF,
1061                            One,
1062                            ^LPC.LNKA,
1063                            Zero
1064                        },
1065
1066                        Package (0x04)
1067                        {
1068                            0x001CFFFF,
1069                            0x02,
1070                            ^LPC.LNKC,
1071                            Zero
1072                        },
1073
1074                        Package (0x04)
1075                        {
1076                            0x001CFFFF,
1077                            0x03,
1078                            ^LPC.LNKD,
1079                            Zero
1080                        },
1081
1082                        Package (0x04)
1083                        {
1084                            0x001DFFFF,
1085                            Zero,
1086                            ^LPC.LNKH,
1087                            Zero
1088                        },
1089
1090                        Package (0x04)
1091                        {
1092                            0x001DFFFF,
1093                            One,
1094                            ^LPC.LNKD,
1095                            Zero
1096                        },
1097
1098                        Package (0x04)
1099                        {
1100                            0x001DFFFF,
1101                            0x02,
1102                            ^LPC.LNKC,
1103                            Zero
1104                        },
1105
1106                        Package (0x04)
1107                        {
1108                            0x001DFFFF,
1109                            0x03,
1110                            ^LPC.LNKA,
1111                            Zero
1112                        },
1113
1114                        Package (0x04)
1115                        {
1116                            0x001FFFFF,
1117                            Zero,
1118                            ^LPC.LNKD,
1119                            Zero
1120                        },
1121
1122                        Package (0x04)
1123                        {
1124                            0x001FFFFF,
1125                            0x02,
1126                            ^LPC.LNKA,
1127                            Zero
1128                        },
1129
1130                        Package (0x04)
1131                        {
1132                            0x001FFFFF,
1133                            0x03,
1134                            ^LPC.LNKF,
1135                            Zero
1136                        },
1137
1138                        Package (0x04)
1139                        {
1140                            0x001FFFFF,
1141                            One,
1142                            ^LPC.LNKC,
1143                            Zero
1144                        },
1145
1146                        Package (0x04)
1147                        {
1148                            0x0019FFFF,
1149                            Zero,
1150                            ^LPC.LNKE,
1151                            Zero
1152                        }
1153                    })
1154                }
1155                Else
1156                {
1157                    Return (Package (0x47)
1158                    {
1159                        Package (0x04)
1160                        {
1161                            0xFFFF,
1162                            Zero,
1163                            Zero,
1164                            0x10
1165                        },
1166
1167                        Package (0x04)
1168                        {
1169                            0xFFFF,
1170                            One,
1171                            Zero,
1172                            0x11
1173                        },
1174
1175                        Package (0x04)
1176                        {
1177                            0xFFFF,
1178                            0x02,
1179                            Zero,
1180                            0x12
1181                        },
1182
1183                        Package (0x04)
1184                        {
1185                            0xFFFF,
1186                            0x03,
1187                            Zero,
1188                            0x13
1189                        },
1190
1191                        Package (0x04)
1192                        {
1193                            0x0001FFFF,
1194                            Zero,
1195                            Zero,
1196                            0x10
1197                        },
1198
1199                        Package (0x04)
1200                        {
1201                            0x0001FFFF,
1202                            One,
1203                            Zero,
1204                            0x11
1205                        },
1206
1207                        Package (0x04)
1208                        {
1209                            0x0001FFFF,
1210                            0x02,
1211                            Zero,
1212                            0x12
1213                        },
1214
1215                        Package (0x04)
1216                        {
1217                            0x0001FFFF,
1218                            0x03,
1219                            Zero,
1220                            0x13
1221                        },
1222
1223                        Package (0x04)
1224                        {
1225                            0x0002FFFF,
1226                            Zero,
1227                            Zero,
1228                            0x10
1229                        },
1230
1231                        Package (0x04)
1232                        {
1233                            0x0002FFFF,
1234                            One,
1235                            Zero,
1236                            0x11
1237                        },
1238
1239                        Package (0x04)
1240                        {
1241                            0x0002FFFF,
1242                            0x02,
1243                            Zero,
1244                            0x12
1245                        },
1246
1247                        Package (0x04)
1248                        {
1249                            0x0002FFFF,
1250                            0x03,
1251                            Zero,
1252                            0x13
1253                        },
1254
1255                        Package (0x04)
1256                        {
1257                            0x0003FFFF,
1258                            Zero,
1259                            Zero,
1260                            0x10
1261                        },
1262
1263                        Package (0x04)
1264                        {
1265                            0x0003FFFF,
1266                            One,
1267                            Zero,
1268                            0x11
1269                        },
1270
1271                        Package (0x04)
1272                        {
1273                            0x0003FFFF,
1274                            0x02,
1275                            Zero,
1276                            0x12
1277                        },
1278
1279                        Package (0x04)
1280                        {
1281                            0x0003FFFF,
1282                            0x03,
1283                            Zero,
1284                            0x13
1285                        },
1286
1287                        Package (0x04)
1288                        {
1289                            0x0004FFFF,
1290                            Zero,
1291                            Zero,
1292                            0x10
1293                        },
1294
1295                        Package (0x04)
1296                        {
1297                            0x0004FFFF,
1298                            One,
1299                            Zero,
1300                            0x11
1301                        },
1302
1303                        Package (0x04)
1304                        {
1305                            0x0004FFFF,
1306                            0x02,
1307                            Zero,
1308                            0x12
1309                        },
1310
1311                        Package (0x04)
1312                        {
1313                            0x0004FFFF,
1314                            0x03,
1315                            Zero,
1316                            0x13
1317                        },
1318
1319                        Package (0x04)
1320                        {
1321                            0x0005FFFF,
1322                            Zero,
1323                            Zero,
1324                            0x10
1325                        },
1326
1327                        Package (0x04)
1328                        {
1329                            0x0005FFFF,
1330                            One,
1331                            Zero,
1332                            0x11
1333                        },
1334
1335                        Package (0x04)
1336                        {
1337                            0x0005FFFF,
1338                            0x02,
1339                            Zero,
1340                            0x12
1341                        },
1342
1343                        Package (0x04)
1344                        {
1345                            0x0005FFFF,
1346                            0x03,
1347                            Zero,
1348                            0x13
1349                        },
1350
1351                        Package (0x04)
1352                        {
1353                            0x0006FFFF,
1354                            Zero,
1355                            Zero,
1356                            0x10
1357                        },
1358
1359                        Package (0x04)
1360                        {
1361                            0x0006FFFF,
1362                            One,
1363                            Zero,
1364                            0x11
1365                        },
1366
1367                        Package (0x04)
1368                        {
1369                            0x0006FFFF,
1370                            0x02,
1371                            Zero,
1372                            0x12
1373                        },
1374
1375                        Package (0x04)
1376                        {
1377                            0x0006FFFF,
1378                            0x03,
1379                            Zero,
1380                            0x13
1381                        },
1382
1383                        Package (0x04)
1384                        {
1385                            0x0007FFFF,
1386                            Zero,
1387                            Zero,
1388                            0x10
1389                        },
1390
1391                        Package (0x04)
1392                        {
1393                            0x0007FFFF,
1394                            One,
1395                            Zero,
1396                            0x11
1397                        },
1398
1399                        Package (0x04)
1400                        {
1401                            0x0007FFFF,
1402                            0x02,
1403                            Zero,
1404                            0x12
1405                        },
1406
1407                        Package (0x04)
1408                        {
1409                            0x0007FFFF,
1410                            0x03,
1411                            Zero,
1412                            0x13
1413                        },
1414
1415                        Package (0x04)
1416                        {
1417                            0x0008FFFF,
1418                            Zero,
1419                            Zero,
1420                            0x10
1421                        },
1422
1423                        Package (0x04)
1424                        {
1425                            0x0008FFFF,
1426                            One,
1427                            Zero,
1428                            0x11
1429                        },
1430
1431                        Package (0x04)
1432                        {
1433                            0x0008FFFF,
1434                            0x02,
1435                            Zero,
1436                            0x12
1437                        },
1438
1439                        Package (0x04)
1440                        {
1441                            0x0008FFFF,
1442                            0x03,
1443                            Zero,
1444                            0x13
1445                        },
1446
1447                        Package (0x04)
1448                        {
1449                            0x0009FFFF,
1450                            Zero,
1451                            Zero,
1452                            0x10
1453                        },
1454
1455                        Package (0x04)
1456                        {
1457                            0x0009FFFF,
1458                            One,
1459                            Zero,
1460                            0x11
1461                        },
1462
1463                        Package (0x04)
1464                        {
1465                            0x0009FFFF,
1466                            0x02,
1467                            Zero,
1468                            0x12
1469                        },
1470
1471                        Package (0x04)
1472                        {
1473                            0x0009FFFF,
1474                            0x03,
1475                            Zero,
1476                            0x13
1477                        },
1478
1479                        Package (0x04)
1480                        {
1481                            0x000AFFFF,
1482                            Zero,
1483                            Zero,
1484                            0x10
1485                        },
1486
1487                        Package (0x04)
1488                        {
1489                            0x000AFFFF,
1490                            One,
1491                            Zero,
1492                            0x11
1493                        },
1494
1495                        Package (0x04)
1496                        {
1497                            0x000AFFFF,
1498                            0x02,
1499                            Zero,
1500                            0x12
1501                        },
1502
1503                        Package (0x04)
1504                        {
1505                            0x000AFFFF,
1506                            0x03,
1507                            Zero,
1508                            0x13
1509                        },
1510
1511                        Package (0x04)
1512                        {
1513                            0x0012FFFF,
1514                            Zero,
1515                            Zero,
1516                            0x10
1517                        },
1518
1519                        Package (0x04)
1520                        {
1521                            0x0012FFFF,
1522                            0x03,
1523                            Zero,
1524                            0x13
1525                        },
1526
1527                        Package (0x04)
1528                        {
1529                            0x0012FFFF,
1530                            0x02,
1531                            Zero,
1532                            0x12
1533                        },
1534
1535                        Package (0x04)
1536                        {
1537                            0x0012FFFF,
1538                            One,
1539                            Zero,
1540                            0x11
1541                        },
1542
1543                        Package (0x04)
1544                        {
1545                            0x0016FFFF,
1546                            Zero,
1547                            Zero,
1548                            0x10
1549                        },
1550
1551                        Package (0x04)
1552                        {
1553                            0x0016FFFF,
1554                            One,
1555                            Zero,
1556                            0x11
1557                        },
1558
1559                        Package (0x04)
1560                        {
1561                            0x0016FFFF,
1562                            0x02,
1563                            Zero,
1564                            0x12
1565                        },
1566
1567                        Package (0x04)
1568                        {
1569                            0x0016FFFF,
1570                            0x03,
1571                            Zero,
1572                            0x13
1573                        },
1574
1575                        Package (0x04)
1576                        {
1577                            0x0019FFFF,
1578                            Zero,
1579                            Zero,
1580                            0x14
1581                        },
1582
1583                        Package (0x04)
1584                        {
1585                            0x001AFFFF,
1586                            Zero,
1587                            Zero,
1588                            0x10
1589                        },
1590
1591                        Package (0x04)
1592                        {
1593                            0x001AFFFF,
1594                            One,
1595                            Zero,
1596                            0x15
1597                        },
1598
1599                        Package (0x04)
1600                        {
1601                            0x001AFFFF,
1602                            0x03,
1603                            Zero,
1604                            0x13
1605                        },
1606
1607                        Package (0x04)
1608                        {
1609                            0x001AFFFF,
1610                            0x02,
1611                            Zero,
1612                            0x12
1613                        },
1614
1615                        Package (0x04)
1616                        {
1617                            0x001BFFFF,
1618                            Zero,
1619                            Zero,
1620                            0x16
1621                        },
1622
1623                        Package (0x04)
1624                        {
1625                            0x001CFFFF,
1626                            Zero,
1627                            Zero,
1628                            0x11
1629                        },
1630
1631                        Package (0x04)
1632                        {
1633                            0x001CFFFF,
1634                            One,
1635                            Zero,
1636                            0x10
1637                        },
1638
1639                        Package (0x04)
1640                        {
1641                            0x001CFFFF,
1642                            0x02,
1643                            Zero,
1644                            0x12
1645                        },
1646
1647                        Package (0x04)
1648                        {
1649                            0x001CFFFF,
1650                            0x03,
1651                            Zero,
1652                            0x13
1653                        },
1654
1655                        Package (0x04)
1656                        {
1657                            0x001DFFFF,
1658                            Zero,
1659                            Zero,
1660                            0x17
1661                        },
1662
1663                        Package (0x04)
1664                        {
1665                            0x001DFFFF,
1666                            One,
1667                            Zero,
1668                            0x13
1669                        },
1670
1671                        Package (0x04)
1672                        {
1673                            0x001DFFFF,
1674                            0x02,
1675                            Zero,
1676                            0x12
1677                        },
1678
1679                        Package (0x04)
1680                        {
1681                            0x001DFFFF,
1682                            0x03,
1683                            Zero,
1684                            0x10
1685                        },
1686
1687                        Package (0x04)
1688                        {
1689                            0x001FFFFF,
1690                            Zero,
1691                            Zero,
1692                            0x13
1693                        },
1694
1695                        Package (0x04)
1696                        {
1697                            0x001FFFFF,
1698                            0x02,
1699                            Zero,
1700                            0x10
1701                        },
1702
1703                        Package (0x04)
1704                        {
1705                            0x001FFFFF,
1706                            0x03,
1707                            Zero,
1708                            0x15
1709                        },
1710
1711                        Package (0x04)
1712                        {
1713                            0x001FFFFF,
1714                            One,
1715                            Zero,
1716                            0x12
1717                        },
1718
1719                        Package (0x04)
1720                        {
1721                            0x0019FFFF,
1722                            Zero,
1723                            Zero,
1724                            0x14
1725                        }
1726                    })
1727                }
1728            }
1729
1730            Device (DMI0)
1731            {
1732                Name (_ADR, Zero)
1733            }
1734
1735            Device (HECI)
1736            {
1737                Name (_ADR, 0x00120000)
1738            }
1739
1740            Device (HEC2)
1741            {
1742                Name (_ADR, 0x00120001)
1743            }
1744
1745            Device (MEID)
1746            {
1747                Name (_ADR, 0x00120002)
1748            }
1749
1750            Device (MEKT)
1751            {
1752                Name (_ADR, 0x00120003)
1753            }
1754
1755            Device (CB3)
1756            {
1757                Name (_ADR, 0x00160000)
1758            }
1759
1760            Device (P32)
1761            {
1762                Name (_ADR, 0x001E0000)
1763                Name (UPS1, Package (0x02)
1764                {
1765                    0x0B,
1766                    0x04
1767                })
1768                Method (_PRW, 0, NotSerialized)
1769                {
1770                    Return (UPS1)
1771                }
1772
1773                Method (_PRT, 0, NotSerialized)
1774                {
1775                    If (LEqual (GPIC, Zero))
1776                    {
1777                        Return (Package (0x10)
1778                        {
1779                            Package (0x04)
1780                            {
1781                                0xFFFF,
1782                                Zero,
1783                                ^^LPC.LNKF,
1784                                Zero
1785                            },
1786
1787                            Package (0x04)
1788                            {
1789                                0xFFFF,
1790                                One,
1791                                ^^LPC.LNKG,
1792                                Zero
1793                            },
1794
1795                            Package (0x04)
1796                            {
1797                                0xFFFF,
1798                                0x02,
1799                                ^^LPC.LNKH,
1800                                Zero
1801                            },
1802
1803                            Package (0x04)
1804                            {
1805                                0xFFFF,
1806                                0x03,
1807                                ^^LPC.LNKE,
1808                                Zero
1809                            },
1810
1811                            Package (0x04)
1812                            {
1813                                0x0001FFFF,
1814                                Zero,
1815                                ^^LPC.LNKG,
1816                                Zero
1817                            },
1818
1819                            Package (0x04)
1820                            {
1821                                0x0001FFFF,
1822                                One,
1823                                ^^LPC.LNKF,
1824                                Zero
1825                            },
1826
1827                            Package (0x04)
1828                            {
1829                                0x0001FFFF,
1830                                0x02,
1831                                ^^LPC.LNKE,
1832                                Zero
1833                            },
1834
1835                            Package (0x04)
1836                            {
1837                                0x0001FFFF,
1838                                0x03,
1839                                ^^LPC.LNKH,
1840                                Zero
1841                            },
1842
1843                            Package (0x04)
1844                            {
1845                                0x0002FFFF,
1846                                Zero,
1847                                ^^LPC.LNKC,
1848                                Zero
1849                            },
1850
1851                            Package (0x04)
1852                            {
1853                                0x0002FFFF,
1854                                One,
1855                                ^^LPC.LNKD,
1856                                Zero
1857                            },
1858
1859                            Package (0x04)
1860                            {
1861                                0x0002FFFF,
1862                                0x02,
1863                                ^^LPC.LNKB,
1864                                Zero
1865                            },
1866
1867                            Package (0x04)
1868                            {
1869                                0x0002FFFF,
1870                                0x03,
1871                                ^^LPC.LNKA,
1872                                Zero
1873                            },
1874
1875                            Package (0x04)
1876                            {
1877                                0x0003FFFF,
1878                                Zero,
1879                                ^^LPC.LNKD,
1880                                Zero
1881                            },
1882
1883                            Package (0x04)
1884                            {
1885                                0x0003FFFF,
1886                                One,
1887                                ^^LPC.LNKC,
1888                                Zero
1889                            },
1890
1891                            Package (0x04)
1892                            {
1893                                0x0003FFFF,
1894                                0x02,
1895                                ^^LPC.LNKF,
1896                                Zero
1897                            },
1898
1899                            Package (0x04)
1900                            {
1901                                0x0003FFFF,
1902                                0x03,
1903                                ^^LPC.LNKG,
1904                                Zero
1905                            }
1906                        })
1907                    }
1908                    Else
1909                    {
1910                        Return (Package (0x10)
1911                        {
1912                            Package (0x04)
1913                            {
1914                                0xFFFF,
1915                                Zero,
1916                                Zero,
1917                                0x15
1918                            },
1919
1920                            Package (0x04)
1921                            {
1922                                0xFFFF,
1923                                One,
1924                                Zero,
1925                                0x16
1926                            },
1927
1928                            Package (0x04)
1929                            {
1930                                0xFFFF,
1931                                0x02,
1932                                Zero,
1933                                0x17
1934                            },
1935
1936                            Package (0x04)
1937                            {
1938                                0xFFFF,
1939                                0x03,
1940                                Zero,
1941                                0x14
1942                            },
1943
1944                            Package (0x04)
1945                            {
1946                                0x0001FFFF,
1947                                Zero,
1948                                Zero,
1949                                0x16
1950                            },
1951
1952                            Package (0x04)
1953                            {
1954                                0x0001FFFF,
1955                                One,
1956                                Zero,
1957                                0x15
1958                            },
1959
1960                            Package (0x04)
1961                            {
1962                                0x0001FFFF,
1963                                0x02,
1964                                Zero,
1965                                0x14
1966                            },
1967
1968                            Package (0x04)
1969                            {
1970                                0x0001FFFF,
1971                                0x03,
1972                                Zero,
1973                                0x17
1974                            },
1975
1976                            Package (0x04)
1977                            {
1978                                0x0002FFFF,
1979                                Zero,
1980                                Zero,
1981                                0x12
1982                            },
1983
1984                            Package (0x04)
1985                            {
1986                                0x0002FFFF,
1987                                One,
1988                                Zero,
1989                                0x13
1990                            },
1991
1992                            Package (0x04)
1993                            {
1994                                0x0002FFFF,
1995                                0x02,
1996                                Zero,
1997                                0x11
1998                            },
1999
2000                            Package (0x04)
2001                            {
2002                                0x0002FFFF,
2003                                0x03,
2004                                Zero,
2005                                0x10
2006                            },
2007
2008                            Package (0x04)
2009                            {
2010                                0x0003FFFF,
2011                                Zero,
2012                                Zero,
2013                                0x13
2014                            },
2015
2016                            Package (0x04)
2017                            {
2018                                0x0003FFFF,
2019                                One,
2020                                Zero,
2021                                0x12
2022                            },
2023
2024                            Package (0x04)
2025                            {
2026                                0x0003FFFF,
2027                                0x02,
2028                                Zero,
2029                                0x15
2030                            },
2031
2032                            Package (0x04)
2033                            {
2034                                0x0003FFFF,
2035                                0x03,
2036                                Zero,
2037                                0x16
2038                            }
2039                        })
2040                    }
2041                }
2042            }
2043
2044            Device (LPC)
2045            {
2046                Name (_ADR, 0x001F0000)
2047                OperationRegion (PRR0, PCI_Config, 0x60, 0x04)
2048                Field (PRR0, AnyAcc, NoLock, Preserve)
2049                {
2050                    PIRA,   8,
2051                    PIRB,   8,
2052                    PIRC,   8,
2053                    PIRD,   8
2054                }
2055
2056                OperationRegion (PRR1, PCI_Config, 0x68, 0x04)
2057                Field (PRR1, AnyAcc, NoLock, Preserve)
2058                {
2059                    PIRE,   8,
2060                    PIRF,   8,
2061                    PIRG,   8,
2062                    PIRH,   8
2063                }
2064
2065                Device (LNKA)
2066                {
2067                    Name (_HID, EisaId ("PNP0C0F"))
2068                    Name (_UID, One)
2069                    Method (_STA, 0, NotSerialized)
2070                    {
2071                        If (And (PIRA, 0x80))
2072                        {
2073                            Return (0x09)
2074                        }
2075                        Else
2076                        {
2077                            Return (0x0B)
2078                        }
2079                    }
2080
2081                    Method (_DIS, 0, NotSerialized)
2082                    {
2083                        Or (PIRA, 0x80, PIRA)
2084                    }
2085
2086                    Method (_CRS, 0, NotSerialized)
2087                    {
2088                        Name (BUF0, ResourceTemplate ()
2089                        {
2090                            IRQ (Level, ActiveLow, Shared, )
2091                                {0}
2092                        })
2093                        CreateWordField (BUF0, One, IRQW)
2094                        If (And (PIRA, 0x80))
2095                        {
2096                            Store (Zero, Local0)
2097                        }
2098                        Else
2099                        {
2100                            Store (One, Local0)
2101                        }
2102
2103                        ShiftLeft (Local0, And (PIRA, 0x0F), IRQW)
2104                        Return (BUF0)
2105                    }
2106
2107                    Name (_PRS, ResourceTemplate ()
2108                    {
2109                        IRQ (Level, ActiveLow, Shared, )
2110                            {3,4,5,6,7,9,10,11,12,14,15}
2111                    })
2112                    Method (_SRS, 1, NotSerialized)
2113                    {
2114                        CreateWordField (Arg0, One, IRQW)
2115                        FindSetRightBit (IRQW, Local0)
2116                        If (LNotEqual (IRQW, Zero))
2117                        {
2118                            And (Local0, 0x7F, Local0)
2119                            Decrement (Local0)
2120                        }
2121                        Else
2122                        {
2123                            Or (Local0, 0x80, Local0)
2124                        }
2125
2126                        Store (Local0, PIRA)
2127                    }
2128                }
2129
2130                Device (LNKB)
2131                {
2132                    Name (_HID, EisaId ("PNP0C0F"))
2133                    Name (_UID, 0x02)
2134                    Method (_STA, 0, NotSerialized)
2135                    {
2136                        If (And (PIRB, 0x80))
2137                        {
2138                            Return (0x09)
2139                        }
2140                        Else
2141                        {
2142                            Return (0x0B)
2143                        }
2144                    }
2145
2146                    Method (_DIS, 0, NotSerialized)
2147                    {
2148                        Or (PIRB, 0x80, PIRB)
2149                    }
2150
2151                    Method (_CRS, 0, NotSerialized)
2152                    {
2153                        Name (BUF0, ResourceTemplate ()
2154                        {
2155                            IRQ (Level, ActiveLow, Shared, )
2156                                {0}
2157                        })
2158                        CreateWordField (BUF0, One, IRQW)
2159                        If (And (PIRB, 0x80))
2160                        {
2161                            Store (Zero, Local0)
2162                        }
2163                        Else
2164                        {
2165                            Store (One, Local0)
2166                        }
2167
2168                        ShiftLeft (Local0, And (PIRB, 0x0F), IRQW)
2169                        Return (BUF0)
2170                    }
2171
2172                    Name (_PRS, ResourceTemplate ()
2173                    {
2174                        IRQ (Level, ActiveLow, Shared, )
2175                            {3,4,5,6,7,9,10,11,12,14,15}
2176                    })
2177                    Method (_SRS, 1, NotSerialized)
2178                    {
2179                        CreateWordField (Arg0, One, IRQW)
2180                        FindSetRightBit (IRQW, Local0)
2181                        If (LNotEqual (IRQW, Zero))
2182                        {
2183                            And (Local0, 0x7F, Local0)
2184                            Decrement (Local0)
2185                        }
2186                        Else
2187                        {
2188                            Or (Local0, 0x80, Local0)
2189                        }
2190
2191                        Store (Local0, PIRB)
2192                    }
2193                }
2194
2195                Device (LNKC)
2196                {
2197                    Name (_HID, EisaId ("PNP0C0F"))
2198                    Name (_UID, 0x03)
2199                    Method (_STA, 0, NotSerialized)
2200                    {
2201                        If (And (PIRC, 0x80))
2202                        {
2203                            Return (0x09)
2204                        }
2205                        Else
2206                        {
2207                            Return (0x0B)
2208                        }
2209                    }
2210
2211                    Method (_DIS, 0, NotSerialized)
2212                    {
2213                        Or (PIRC, 0x80, PIRC)
2214                    }
2215
2216                    Method (_CRS, 0, NotSerialized)
2217                    {
2218                        Name (BUF0, ResourceTemplate ()
2219                        {
2220                            IRQ (Level, ActiveLow, Shared, )
2221                                {0}
2222                        })
2223                        CreateWordField (BUF0, One, IRQW)
2224                        If (And (PIRC, 0x80))
2225                        {
2226                            Store (Zero, Local0)
2227                        }
2228                        Else
2229                        {
2230                            Store (One, Local0)
2231                        }
2232
2233                        ShiftLeft (Local0, And (PIRC, 0x0F), IRQW)
2234                        Return (BUF0)
2235                    }
2236
2237                    Name (_PRS, ResourceTemplate ()
2238                    {
2239                        IRQ (Level, ActiveLow, Shared, )
2240                            {3,4,5,6,7,9,10,11,12,14,15}
2241                    })
2242                    Method (_SRS, 1, NotSerialized)
2243                    {
2244                        CreateWordField (Arg0, One, IRQW)
2245                        FindSetRightBit (IRQW, Local0)
2246                        If (LNotEqual (IRQW, Zero))
2247                        {
2248                            And (Local0, 0x7F, Local0)
2249                            Decrement (Local0)
2250                        }
2251                        Else
2252                        {
2253                            Or (Local0, 0x80, Local0)
2254                        }
2255
2256                        Store (Local0, PIRC)
2257                    }
2258                }
2259
2260                Device (LNKD)
2261                {
2262                    Name (_HID, EisaId ("PNP0C0F"))
2263                    Name (_UID, 0x04)
2264                    Method (_STA, 0, NotSerialized)
2265                    {
2266                        If (And (PIRD, 0x80))
2267                        {
2268                            Return (0x09)
2269                        }
2270                        Else
2271                        {
2272                            Return (0x0B)
2273                        }
2274                    }
2275
2276                    Method (_DIS, 0, NotSerialized)
2277                    {
2278                        Or (PIRD, 0x80, PIRD)
2279                    }
2280
2281                    Method (_CRS, 0, NotSerialized)
2282                    {
2283                        Name (BUF0, ResourceTemplate ()
2284                        {
2285                            IRQ (Level, ActiveLow, Shared, )
2286                                {0}
2287                        })
2288                        CreateWordField (BUF0, One, IRQW)
2289                        If (And (PIRD, 0x80))
2290                        {
2291                            Store (Zero, Local0)
2292                        }
2293                        Else
2294                        {
2295                            Store (One, Local0)
2296                        }
2297
2298                        ShiftLeft (Local0, And (PIRD, 0x0F), IRQW)
2299                        Return (BUF0)
2300                    }
2301
2302                    Name (_PRS, ResourceTemplate ()
2303                    {
2304                        IRQ (Level, ActiveLow, Shared, )
2305                            {3,4,5,6,7,9,10,11,12,14,15}
2306                    })
2307                    Method (_SRS, 1, NotSerialized)
2308                    {
2309                        CreateWordField (Arg0, One, IRQW)
2310                        FindSetRightBit (IRQW, Local0)
2311                        If (LNotEqual (IRQW, Zero))
2312                        {
2313                            And (Local0, 0x7F, Local0)
2314                            Decrement (Local0)
2315                        }
2316                        Else
2317                        {
2318                            Or (Local0, 0x80, Local0)
2319                        }
2320
2321                        Store (Local0, PIRD)
2322                    }
2323                }
2324
2325                Device (LNKE)
2326                {
2327                    Name (_HID, EisaId ("PNP0C0F"))
2328                    Name (_UID, 0x05)
2329                    Method (_STA, 0, NotSerialized)
2330                    {
2331                        If (And (PIRE, 0x80))
2332                        {
2333                            Return (0x09)
2334                        }
2335                        Else
2336                        {
2337                            Return (0x0B)
2338                        }
2339                    }
2340
2341                    Method (_DIS, 0, NotSerialized)
2342                    {
2343                        Or (PIRE, 0x80, PIRE)
2344                    }
2345
2346                    Method (_CRS, 0, NotSerialized)
2347                    {
2348                        Name (BUF0, ResourceTemplate ()
2349                        {
2350                            IRQ (Level, ActiveLow, Shared, )
2351                                {0}
2352                        })
2353                        CreateWordField (BUF0, One, IRQW)
2354                        If (And (PIRE, 0x80))
2355                        {
2356                            Store (Zero, Local0)
2357                        }
2358                        Else
2359                        {
2360                            Store (One, Local0)
2361                        }
2362
2363                        ShiftLeft (Local0, And (PIRE, 0x0F), IRQW)
2364                        Return (BUF0)
2365                    }
2366
2367                    Name (_PRS, ResourceTemplate ()
2368                    {
2369                        IRQ (Level, ActiveLow, Shared, )
2370                            {3,4,5,6,7,9,10,11,12,14,15}
2371                    })
2372                    Method (_SRS, 1, NotSerialized)
2373                    {
2374                        CreateWordField (Arg0, One, IRQW)
2375                        FindSetRightBit (IRQW, Local0)
2376                        If (LNotEqual (IRQW, Zero))
2377                        {
2378                            And (Local0, 0x7F, Local0)
2379                            Decrement (Local0)
2380                        }
2381                        Else
2382                        {
2383                            Or (Local0, 0x80, Local0)
2384                        }
2385
2386                        Store (Local0, PIRE)
2387                    }
2388                }
2389
2390                Device (LNKF)
2391                {
2392                    Name (_HID, EisaId ("PNP0C0F"))
2393                    Name (_UID, 0x06)
2394                    Method (_STA, 0, NotSerialized)
2395                    {
2396                        If (And (PIRF, 0x80))
2397                        {
2398                            Return (0x09)
2399                        }
2400                        Else
2401                        {
2402                            Return (0x0B)
2403                        }
2404                    }
2405
2406                    Method (_DIS, 0, NotSerialized)
2407                    {
2408                        Or (PIRB, 0x80, PIRF)
2409                    }
2410
2411                    Method (_CRS, 0, NotSerialized)
2412                    {
2413                        Name (BUF0, ResourceTemplate ()
2414                        {
2415                            IRQ (Level, ActiveLow, Shared, )
2416                                {0}
2417                        })
2418                        CreateWordField (BUF0, One, IRQW)
2419                        If (And (PIRF, 0x80))
2420                        {
2421                            Store (Zero, Local0)
2422                        }
2423                        Else
2424                        {
2425                            Store (One, Local0)
2426                        }
2427
2428                        ShiftLeft (Local0, And (PIRF, 0x0F), IRQW)
2429                        Return (BUF0)
2430                    }
2431
2432                    Name (_PRS, ResourceTemplate ()
2433                    {
2434                        IRQ (Level, ActiveLow, Shared, )
2435                            {3,4,5,6,7,9,10,11,12,14,15}
2436                    })
2437                    Method (_SRS, 1, NotSerialized)
2438                    {
2439                        CreateWordField (Arg0, One, IRQW)
2440                        FindSetRightBit (IRQW, Local0)
2441                        If (LNotEqual (IRQW, Zero))
2442                        {
2443                            And (Local0, 0x7F, Local0)
2444                            Decrement (Local0)
2445                        }
2446                        Else
2447                        {
2448                            Or (Local0, 0x80, Local0)
2449                        }
2450
2451                        Store (Local0, PIRF)
2452                    }
2453                }
2454
2455                Device (LNKG)
2456                {
2457                    Name (_HID, EisaId ("PNP0C0F"))
2458                    Name (_UID, 0x07)
2459                    Method (_STA, 0, NotSerialized)
2460                    {
2461                        If (And (PIRG, 0x80))
2462                        {
2463                            Return (0x09)
2464                        }
2465                        Else
2466                        {
2467                            Return (0x0B)
2468                        }
2469                    }
2470
2471                    Method (_DIS, 0, NotSerialized)
2472                    {
2473                        Or (PIRG, 0x80, PIRG)
2474                    }
2475
2476                    Method (_CRS, 0, NotSerialized)
2477                    {
2478                        Name (BUF0, ResourceTemplate ()
2479                        {
2480                            IRQ (Level, ActiveLow, Shared, )
2481                                {0}
2482                        })
2483                        CreateWordField (BUF0, One, IRQW)
2484                        If (And (PIRG, 0x80))
2485                        {
2486                            Store (Zero, Local0)
2487                        }
2488                        Else
2489                        {
2490                            Store (One, Local0)
2491                        }
2492
2493                        ShiftLeft (Local0, And (PIRG, 0x0F), IRQW)
2494                        Return (BUF0)
2495                    }
2496
2497                    Name (_PRS, ResourceTemplate ()
2498                    {
2499                        IRQ (Level, ActiveLow, Shared, )
2500                            {3,4,5,6,7,9,10,11,12,14,15}
2501                    })
2502                    Method (_SRS, 1, NotSerialized)
2503                    {
2504                        CreateWordField (Arg0, One, IRQW)
2505                        FindSetRightBit (IRQW, Local0)
2506                        If (LNotEqual (IRQW, Zero))
2507                        {
2508                            And (Local0, 0x7F, Local0)
2509                            Decrement (Local0)
2510                        }
2511                        Else
2512                        {
2513                            Or (Local0, 0x80, Local0)
2514                        }
2515
2516                        Store (Local0, PIRG)
2517                    }
2518                }
2519
2520                Device (LNKH)
2521                {
2522                    Name (_HID, EisaId ("PNP0C0F"))
2523                    Name (_UID, 0x08)
2524                    Method (_STA, 0, NotSerialized)
2525                    {
2526                        If (And (PIRH, 0x80))
2527                        {
2528                            Return (0x09)
2529                        }
2530                        Else
2531                        {
2532                            Return (0x0B)
2533                        }
2534                    }
2535
2536                    Method (_DIS, 0, NotSerialized)
2537                    {
2538                        Or (PIRH, 0x80, PIRH)
2539                    }
2540
2541                    Method (_CRS, 0, NotSerialized)
2542                    {
2543                        Name (BUF0, ResourceTemplate ()
2544                        {
2545                            IRQ (Level, ActiveLow, Shared, )
2546                                {0}
2547                        })
2548                        CreateWordField (BUF0, One, IRQW)
2549                        If (And (PIRH, 0x80))
2550                        {
2551                            Store (Zero, Local0)
2552                        }
2553                        Else
2554                        {
2555                            Store (One, Local0)
2556                        }
2557
2558                        ShiftLeft (Local0, And (PIRH, 0x0F), IRQW)
2559                        Return (BUF0)
2560                    }
2561
2562                    Name (_PRS, ResourceTemplate ()
2563                    {
2564                        IRQ (Level, ActiveLow, Shared, )
2565                            {3,4,5,6,7,9,10,11,12,14,15}
2566                    })
2567                    Method (_SRS, 1, NotSerialized)
2568                    {
2569                        CreateWordField (Arg0, One, IRQW)
2570                        FindSetRightBit (IRQW, Local0)
2571                        If (LNotEqual (IRQW, Zero))
2572                        {
2573                            And (Local0, 0x7F, Local0)
2574                            Decrement (Local0)
2575                        }
2576                        Else
2577                        {
2578                            Or (Local0, 0x80, Local0)
2579                        }
2580
2581                        Store (Local0, PIRH)
2582                    }
2583                }
2584
2585                Device (DMAC)
2586                {
2587                    Name (_HID, EisaId ("PNP0200"))
2588                    Name (_CRS, ResourceTemplate ()
2589                    {
2590                        IO (Decode16,
2591                            0x0000,             // Range Minimum
2592                            0x0000,             // Range Maximum
2593                            0x00,               // Alignment
2594                            0x10,               // Length
2595                            )
2596                        IO (Decode16,
2597                            0x0081,             // Range Minimum
2598                            0x0081,             // Range Maximum
2599                            0x00,               // Alignment
2600                            0x03,               // Length
2601                            )
2602                        IO (Decode16,
2603                            0x0087,             // Range Minimum
2604                            0x0087,             // Range Maximum
2605                            0x00,               // Alignment
2606                            0x01,               // Length
2607                            )
2608                        IO (Decode16,
2609                            0x0089,             // Range Minimum
2610                            0x0089,             // Range Maximum
2611                            0x00,               // Alignment
2612                            0x03,               // Length
2613                            )
2614                        IO (Decode16,
2615                            0x008F,             // Range Minimum
2616                            0x008F,             // Range Maximum
2617                            0x00,               // Alignment
2618                            0x01,               // Length
2619                            )
2620                        IO (Decode16,
2621                            0x00C0,             // Range Minimum
2622                            0x00C0,             // Range Maximum
2623                            0x00,               // Alignment
2624                            0x20,               // Length
2625                            )
2626                        DMA (Compatibility, NotBusMaster, Transfer8, )
2627                            {4}
2628                    })
2629                }
2630
2631                Device (RTC)
2632                {
2633                    Name (_HID, EisaId ("PNP0B00"))
2634                    Name (_CRS, ResourceTemplate ()
2635                    {
2636                        IO (Decode16,
2637                            0x0070,             // Range Minimum
2638                            0x0070,             // Range Maximum
2639                            0x01,               // Alignment
2640                            0x02,               // Length
2641                            )
2642                        IO (Decode16,
2643                            0x0074,             // Range Minimum
2644                            0x0074,             // Range Maximum
2645                            0x01,               // Alignment
2646                            0x04,               // Length
2647                            )
2648                        IRQNoFlags ()
2649                            {8}
2650                    })
2651                }
2652
2653                Device (PIC)
2654                {
2655                    Name (_HID, EisaId ("PNP0000"))
2656                    Name (_CRS, ResourceTemplate ()
2657                    {
2658                        IO (Decode16,
2659                            0x0020,             // Range Minimum
2660                            0x0020,             // Range Maximum
2661                            0x01,               // Alignment
2662                            0x1E,               // Length
2663                            )
2664                        IO (Decode16,
2665                            0x00A0,             // Range Minimum
2666                            0x00A0,             // Range Maximum
2667                            0x01,               // Alignment
2668                            0x1E,               // Length
2669                            )
2670                        IO (Decode16,
2671                            0x04D0,             // Range Minimum
2672                            0x04D0,             // Range Maximum
2673                            0x01,               // Alignment
2674                            0x02,               // Length
2675                            )
2676                    })
2677                }
2678
2679                Device (FPU)
2680                {
2681                    Name (_HID, EisaId ("PNP0C04"))
2682                    Name (_CRS, ResourceTemplate ()
2683                    {
2684                        IO (Decode16,
2685                            0x00F0,             // Range Minimum
2686                            0x00F0,             // Range Maximum
2687                            0x01,               // Alignment
2688                            0x01,               // Length
2689                            )
2690                        IRQNoFlags ()
2691                            {13}
2692                    })
2693                }
2694
2695                Device (TMR)
2696                {
2697                    Name (_HID, EisaId ("PNP0100"))
2698                    Name (_CRS, ResourceTemplate ()
2699                    {
2700                        IO (Decode16,
2701                            0x0040,             // Range Minimum
2702                            0x0040,             // Range Maximum
2703                            0x01,               // Alignment
2704                            0x04,               // Length
2705                            )
2706                        IO (Decode16,
2707                            0x0050,             // Range Minimum
2708                            0x0050,             // Range Maximum
2709                            0x01,               // Alignment
2710                            0x04,               // Length
2711                            )
2712                        IRQNoFlags ()
2713                            {0}
2714                    })
2715                }
2716
2717                Device (SPKR)
2718                {
2719                    Name (_HID, EisaId ("PNP0800"))
2720                    Name (_CRS, ResourceTemplate ()
2721                    {
2722                        IO (Decode16,
2723                            0x0061,             // Range Minimum
2724                            0x0061,             // Range Maximum
2725                            0x01,               // Alignment
2726                            0x01,               // Length
2727                            )
2728                    })
2729                }
2730
2731                Device (XTRA)
2732                {
2733                    Name (_HID, EisaId ("PNP0C02"))
2734                    Name (_UID, One)
2735                    Name (_CRS, ResourceTemplate ()
2736                    {
2737                        IO (Decode16,
2738                            0x0500,             // Range Minimum
2739                            0x0500,             // Range Maximum
2740                            0x01,               // Alignment
2741                            0x40,               // Length
2742                            )
2743                        IO (Decode16,
2744                            0x0400,             // Range Minimum
2745                            0x0400,             // Range Maximum
2746                            0x01,               // Alignment
2747                            0x80,               // Length
2748                            )
2749                        IO (Decode16,
2750                            0x0092,             // Range Minimum
2751                            0x0092,             // Range Maximum
2752                            0x01,               // Alignment
2753                            0x01,               // Length
2754                            )
2755                        IO (Decode16,
2756                            0x0680,             // Range Minimum
2757                            0x0680,             // Range Maximum
2758                            0x01,               // Alignment
2759                            0x80,               // Length
2760                            )
2761                        IO (Decode16,
2762                            0x0010,             // Range Minimum
2763                            0x0010,             // Range Maximum
2764                            0x01,               // Alignment
2765                            0x10,               // Length
2766                            )
2767                        IO (Decode16,
2768                            0x0072,             // Range Minimum
2769                            0x0072,             // Range Maximum
2770                            0x01,               // Alignment
2771                            0x02,               // Length
2772                            )
2773                        IO (Decode16,
2774                            0x0080,             // Range Minimum
2775                            0x0080,             // Range Maximum
2776                            0x01,               // Alignment
2777                            0x01,               // Length
2778                            )
2779                        IO (Decode16,
2780                            0x0084,             // Range Minimum
2781                            0x0084,             // Range Maximum
2782                            0x01,               // Alignment
2783                            0x03,               // Length
2784                            )
2785                        IO (Decode16,
2786                            0x0088,             // Range Minimum
2787                            0x0088,             // Range Maximum
2788                            0x01,               // Alignment
2789                            0x01,               // Length
2790                            )
2791                        IO (Decode16,
2792                            0x008C,             // Range Minimum
2793                            0x008C,             // Range Maximum
2794                            0x01,               // Alignment
2795                            0x03,               // Length
2796                            )
2797                        IO (Decode16,
2798                            0x0090,             // Range Minimum
2799                            0x0090,             // Range Maximum
2800                            0x01,               // Alignment
2801                            0x10,               // Length
2802                            )
2803                    })
2804                }
2805
2806                OperationRegion (TPMM, SystemMemory, 0xFED40000, One)
2807                Field (TPMM, AnyAcc, NoLock, Preserve)
2808                {
2809                    TPMA,   8
2810                }
2811
2812                Scope (\_SB.PCI0.LPC)
2813                {
2814                    Device (TPM)
2815                    {
2816                        Name (_HID, EisaId ("PNP0C31"))
2817                        Name (_CID, 0x020CD041)
2818                        Name (_UID, One)
2819                        Name (_CRS, ResourceTemplate ()
2820                        {
2821                            Memory32Fixed (ReadOnly,
2822                                0xFED40000,         // Address Base
2823                                0x00005000,         // Address Length
2824                                )
2825                        })
2826                        Method (_STA, 0, NotSerialized)
2827                        {
2828                            If (LEqual (TPMA, 0xFF))
2829                            {
2830                                Return (Zero)
2831                            }
2832                            Else
2833                            {
2834                                If (TPME)
2835                                {
2836                                    Return (0x0F)
2837                                }
2838                                Else
2839                                {
2840                                    Return (0x0B)
2841                                }
2842                            }
2843                        }
2844                    }
2845                }
2846
2847                Device (XTR2)
2848                {
2849                    Name (_HID, EisaId ("PNP0C02"))
2850                    Name (_UID, 0x02)
2851                    Method (_STA, 0, NotSerialized)
2852                    {
2853                        If (LOr (KBEP, MSEP))
2854                        {
2855                            Return (Zero)
2856                        }
2857                        Else
2858                        {
2859                            Return (0x0F)
2860                        }
2861                    }
2862
2863                    Name (_CRS, ResourceTemplate ()
2864                    {
2865                        IO (Decode16,
2866                            0x0060,             // Range Minimum
2867                            0x0060,             // Range Maximum
2868                            0x01,               // Alignment
2869                            0x01,               // Length
2870                            )
2871                        IO (Decode16,
2872                            0x0064,             // Range Minimum
2873                            0x0064,             // Range Maximum
2874                            0x01,               // Alignment
2875                            0x01,               // Length
2876                            )
2877                    })
2878                }
2879
2880                OperationRegion (SMC1, SystemIO, 0x2E, 0x02)
2881                Field (SMC1, ByteAcc, NoLock, Preserve)
2882                {
2883                    INDX,   8,
2884                    DATA,   8
2885                }
2886
2887                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
2888                {
2889                            Offset (0x07),
2890                    LDN,    8,
2891                            Offset (0x20),
2892                    DIDR,   8,
2893                            Offset (0x30),
2894                    ACTR,   8,
2895                            Offset (0x60),
2896                    IOAH,   8,
2897                    IOAL,   8,
2898                            Offset (0x70),
2899                    INTR,   8,
2900                            Offset (0x72),
2901                    INT1,   8,
2902                            Offset (0x74),
2903                    DMCH,   8,
2904                            Offset (0xF0),
2905                    OPT0,   8,
2906                    OPT1,   8,
2907                            Offset (0xF8),
2908                    OPT8,   8
2909                }
2910
2911                Mutex (MUT0, 0x00)
2912                Method (ENFG, 0, NotSerialized)
2913                {
2914                    Acquire (MUT0, 0x0FFF)
2915                    Store (0x55, INDX)
2916                }
2917
2918                Method (EXFG, 0, NotSerialized)
2919                {
2920                    Store (0xAA, INDX)
2921                    Release (MUT0)
2922                }
2923
2924                OperationRegion (RTIO, SystemIO, 0x06C0, 0x20)
2925                Field (RTIO, ByteAcc, NoLock, Preserve)
2926                {
2927                    PSTS,   8,
2928                            Offset (0x04),
2929                    PMEN,   8,
2930                            Offset (0x0A),
2931                    PST1,   8,
2932                            Offset (0x0E),
2933                    PEN1,   8,
2934                            Offset (0x10),
2935                    LED,    8
2936                }
2937
2938                OperationRegion (IRIO, SystemIO, 0x0800, 0x10)
2939                Field (IRIO, ByteAcc, NoLock, Preserve)
2940                {
2941                            Offset (0x04),
2942                    EVST,   8,
2943                    EVEN,   8
2944                }
2945
2946                Device (ECIR)
2947                {
2948                    Name (_HID, EisaId ("WEC1022"))
2949                    Name (_UID, One)
2950                    Method (_STA, 0, NotSerialized)
2951                    {
2952                        Store (0x15, LDN)
2953                        If (LEqual (ACTR, 0xFF))
2954                        {
2955                            Return (Zero)
2956                        }
2957
2958                        If (ACTR)
2959                        {
2960                            Return (0x0F)
2961                        }
2962                        Else
2963                        {
2964                            If (LOr (IOAH, IOAL))
2965                            {
2966                                Return (0x0D)
2967                            }
2968                            Else
2969                            {
2970                                Return (Zero)
2971                            }
2972                        }
2973
2974                        Store (0x16, LDN)
2975                        If (LEqual (ACTR, 0xFF))
2976                        {
2977                            Return (Zero)
2978                        }
2979
2980                        If (ACTR)
2981                        {
2982                            Return (0x0F)
2983                        }
2984                        Else
2985                        {
2986                            If (LOr (IOAH, IOAL))
2987                            {
2988                                Return (0x0D)
2989                            }
2990                            Else
2991                            {
2992                                Return (Zero)
2993                            }
2994                        }
2995                    }
2996
2997                    Method (_DIS, 0, NotSerialized)
2998                    {
2999                        Store (0x15, LDN)
3000                        Store (Zero, ACTR)
3001                        Store (0x16, LDN)
3002                        Store (Zero, ACTR)
3003                    }
3004
3005                    Name (_CRS, ResourceTemplate ()
3006                    {
3007                        IO (Decode16,
3008                            0x0810,             // Range Minimum
3009                            0x0810,             // Range Maximum
3010                            0x01,               // Alignment
3011                            0x10,               // Length
3012                            )
3013                        IO (Decode16,
3014                            0x0800,             // Range Minimum
3015                            0x0800,             // Range Maximum
3016                            0x01,               // Alignment
3017                            0x10,               // Length
3018                            )
3019                        IO (Decode16,
3020                            0x02F8,             // Range Minimum
3021                            0x02F8,             // Range Maximum
3022                            0x08,               // Alignment
3023                            0x08,               // Length
3024                            )
3025                        IRQNoFlags ()
3026                            {3}
3027                    })
3028                    Method (_PRS, 0, NotSerialized)
3029                    {
3030                        Name (BUF0, ResourceTemplate ()
3031                        {
3032                            StartDependentFn (0x00, 0x02)
3033                            {
3034                                IO (Decode16,
3035                                    0x0810,             // Range Minimum
3036                                    0x0810,             // Range Maximum
3037                                    0x01,               // Alignment
3038                                    0x10,               // Length
3039                                    )
3040                                IO (Decode16,
3041                                    0x0800,             // Range Minimum
3042                                    0x0800,             // Range Maximum
3043                                    0x01,               // Alignment
3044                                    0x10,               // Length
3045                                    )
3046                                IO (Decode16,
3047                                    0x02F8,             // Range Minimum
3048                                    0x02F8,             // Range Maximum
3049                                    0x08,               // Alignment
3050                                    0x08,               // Length
3051                                    )
3052                                IRQNoFlags ()
3053                                    {3}
3054                            }
3055                            EndDependentFn ()
3056                        })
3057                        Return (BUF0)
3058                    }
3059
3060                    Method (_SRS, 1, NotSerialized)
3061                    {
3062                        Store (0x15, LDN)
3063                        Store (One, ACTR)
3064                        Store (0x16, LDN)
3065                        Store (0x82, OPT0)
3066                        Store (One, ACTR)
3067                    }
3068
3069                    Method (_S3D, 0, NotSerialized)
3070                    {
3071                        Return (0x02)
3072                    }
3073
3074                    Method (_S4D, 0, NotSerialized)
3075                    {
3076                        Return (0x02)
3077                    }
3078
3079                    Method (_S3W, 0, NotSerialized)
3080                    {
3081                        Return (0x02)
3082                    }
3083
3084                    Method (_S4W, 0, NotSerialized)
3085                    {
3086                        Return (0x02)
3087                    }
3088
3089                    Name (CPS4, Package (0x02)
3090                    {
3091                        0x1D,
3092                        0x04
3093                    })
3094                    Method (_PRW, 0, NotSerialized)
3095                    {
3096                        Return (CPS4)
3097                    }
3098
3099                    Method (_PSW, 1, NotSerialized)
3100                    {
3101                        If (LEqual (Arg0, Zero))
3102                        {
3103                            Store (Zero, EVEN)
3104                        }
3105
3106                        If (LEqual (Arg0, One))
3107                        {
3108                            Or (0x02, PEN1, PEN1)
3109                            Store (One, PMEN)
3110                        }
3111                    }
3112                }
3113
3114                Device (FDC0)
3115                {
3116                    Name (_HID, EisaId ("PNP0700"))
3117                    Method (_STA, 0, NotSerialized)
3118                    {
3119                        Store (0x55, INDX)
3120                        Store (Zero, LDN)
3121                        If (LEqual (ACTR, 0xFF))
3122                        {
3123                            Store (0xAA, INDX)
3124                            Return (Zero)
3125                        }
3126
3127                        If (ACTR)
3128                        {
3129                            Store (0xAA, INDX)
3130                            Return (0x0F)
3131                        }
3132                        Else
3133                        {
3134                            If (LOr (IOAH, IOAL))
3135                            {
3136                                Store (0xAA, INDX)
3137                                Return (0x0D)
3138                            }
3139                            Else
3140                            {
3141                                Store (0xAA, INDX)
3142                                Return (Zero)
3143                            }
3144                        }
3145                    }
3146
3147                    Method (_DIS, 0, NotSerialized)
3148                    {
3149                        Store (0x55, INDX)
3150                        Store (Zero, LDN)
3151                        Store (Zero, ACTR)
3152                        Store (0xAA, INDX)
3153                    }
3154
3155                    Method (_CRS, 0, NotSerialized)
3156                    {
3157                        Name (BUF0, ResourceTemplate ()
3158                        {
3159                            IO (Decode16,
3160                                0x03F0,             // Range Minimum
3161                                0x03F0,             // Range Maximum
3162                                0x01,               // Alignment
3163                                0x06,               // Length
3164                                _Y01)
3165                            IO (Decode16,
3166                                0x03F7,             // Range Minimum
3167                                0x03F7,             // Range Maximum
3168                                0x01,               // Alignment
3169                                0x01,               // Length
3170                                _Y02)
3171                            IRQNoFlags (_Y03)
3172                                {6}
3173                            DMA (Compatibility, NotBusMaster, Transfer8, _Y04)
3174                                {2}
3175                        })
3176                        CreateByteField (BUF0, \_SB.PCI0.LPC.FDC0._CRS._Y01._MIN, IOLO)
3177                        CreateByteField (BUF0, 0x03, IOHI)
3178                        CreateByteField (BUF0, \_SB.PCI0.LPC.FDC0._CRS._Y01._MAX, IORL)
3179                        CreateByteField (BUF0, 0x05, IORH)
3180                        CreateByteField (BUF0, \_SB.PCI0.LPC.FDC0._CRS._Y02._MIN, I2LO)
3181                        CreateByteField (BUF0, 0x0B, I2HI)
3182                        CreateByteField (BUF0, \_SB.PCI0.LPC.FDC0._CRS._Y02._MAX, I2RL)
3183                        CreateByteField (BUF0, 0x0D, I2RH)
3184                        CreateByteField (BUF0, \_SB.PCI0.LPC.FDC0._CRS._Y03._INT, IRQL)
3185                        CreateByteField (BUF0, \_SB.PCI0.LPC.FDC0._CRS._Y04._DMA, DMAV)
3186                        Store (0x55, INDX)
3187                        Store (Zero, LDN)
3188                        Store (IOAL, IOLO)
3189                        Store (IOAL, IORL)
3190                        Store (IOAL, I2LO)
3191                        Store (IOAL, I2RL)
3192                        Store (IOAH, IOHI)
3193                        Store (IOAH, IORH)
3194                        Store (IOAH, I2HI)
3195                        Store (IOAH, I2RH)
3196                        ShiftLeft (One, INTR, IRQL)
3197                        ShiftLeft (One, DMCH, DMAV)
3198                        Store (0xAA, INDX)
3199                        Return (BUF0)
3200                    }
3201
3202                    Method (_PRS, 0, NotSerialized)
3203                    {
3204                        Name (BUF0, ResourceTemplate ()
3205                        {
3206                            StartDependentFn (0x00, 0x00)
3207                            {
3208                                IO (Decode16,
3209                                    0x03F0,             // Range Minimum
3210                                    0x03F0,             // Range Maximum
3211                                    0x01,               // Alignment
3212                                    0x06,               // Length
3213                                    )
3214                                IO (Decode16,
3215                                    0x03F7,             // Range Minimum
3216                                    0x03F7,             // Range Maximum
3217                                    0x01,               // Alignment
3218                                    0x01,               // Length
3219                                    )
3220                                IRQNoFlags ()
3221                                    {6}
3222                                DMA (Compatibility, NotBusMaster, Transfer8, )
3223                                    {2}
3224                            }
3225                            EndDependentFn ()
3226                        })
3227                        Return (BUF0)
3228                    }
3229
3230                    Method (_SRS, 1, NotSerialized)
3231                    {
3232                        CreateByteField (Arg0, 0x02, IOLO)
3233                        CreateByteField (Arg0, 0x03, IOHI)
3234                        CreateByteField (Arg0, 0x11, IRQL)
3235                        CreateByteField (Arg0, 0x14, DMAV)
3236                        Store (0x55, INDX)
3237                        Store (Zero, LDN)
3238                        And (IOLO, 0xF8, Local0)
3239                        Store (Local0, IOAL)
3240                        Store (IOHI, IOAH)
3241                        FindSetRightBit (IRQL, INTR)
3242                        If (LNotEqual (IRQL, Zero))
3243                        {
3244                            Decrement (INTR)
3245                        }
3246
3247                        If (LEqual (DMAV, Zero))
3248                        {
3249                            Store (0x04, DMCH)
3250                        }
3251                        Else
3252                        {
3253                            FindSetRightBit (DMAV, DMCH)
3254                            Decrement (DMCH)
3255                        }
3256
3257                        Store (One, ACTR)
3258                        Store (0xAA, INDX)
3259                    }
3260                }
3261
3262                Device (LPT)
3263                {
3264                    Name (_HID, EisaId ("PNP0400"))
3265                    Method (_STA, 0, NotSerialized)
3266                    {
3267                        Store (0x55, INDX)
3268                        Store (One, LDN)
3269                        And (OPT8, 0x0F, Local0)
3270                        If (LNotEqual (Local0, 0x04))
3271                        {
3272                            If (LEqual (ACTR, 0xFF))
3273                            {
3274                                Store (0xAA, INDX)
3275                                Return (Zero)
3276                            }
3277
3278                            If (ACTR)
3279                            {
3280                                Store (0xAA, INDX)
3281                                Return (0x0F)
3282                            }
3283                            Else
3284                            {
3285                                If (LOr (IOAH, IOAL))
3286                                {
3287                                    Store (0xAA, INDX)
3288                                    Return (0x0D)
3289                                }
3290                                Else
3291                                {
3292                                    Store (0xAA, INDX)
3293                                    Return (Zero)
3294                                }
3295                            }
3296                        }
3297                        Else
3298                        {
3299                            Store (0xAA, INDX)
3300                            Return (Zero)
3301                        }
3302                    }
3303
3304                    Method (_DIS, 0, NotSerialized)
3305                    {
3306                        Store (0x55, INDX)
3307                        Store (One, LDN)
3308                        Store (Zero, ACTR)
3309                        Store (0xAA, INDX)
3310                    }
3311
3312                    Method (_CRS, 0, NotSerialized)
3313                    {
3314                        Name (BUF0, ResourceTemplate ()
3315                        {
3316                            IO (Decode16,
3317                                0x0378,             // Range Minimum
3318                                0x0378,             // Range Maximum
3319                                0x08,               // Alignment
3320                                0x08,               // Length
3321                                _Y05)
3322                            IRQNoFlags (_Y06)
3323                                {7}
3324                        })
3325                        CreateByteField (BUF0, \_SB.PCI0.LPC.LPT._CRS._Y05._MIN, IOLO)
3326                        CreateByteField (BUF0, 0x03, IOHI)
3327                        CreateByteField (BUF0, \_SB.PCI0.LPC.LPT._CRS._Y05._MAX, IORL)
3328                        CreateByteField (BUF0, 0x05, IORH)
3329                        CreateByteField (BUF0, \_SB.PCI0.LPC.LPT._CRS._Y06._INT, IRQL)
3330                        Store (0x55, INDX)
3331                        Store (One, LDN)
3332                        Store (IOAL, IOLO)
3333                        Store (IOAL, IORL)
3334                        Store (IOAH, IOHI)
3335                        Store (IOAH, IORH)
3336                        ShiftLeft (One, INTR, IRQL)
3337                        Store (0xAA, INDX)
3338                        Return (BUF0)
3339                    }
3340
3341                    Method (_PRS, 0, NotSerialized)
3342                    {
3343                        Name (BUF0, ResourceTemplate ()
3344                        {
3345                            StartDependentFn (0x00, 0x02)
3346                            {
3347                                IO (Decode16,
3348                                    0x0378,             // Range Minimum
3349                                    0x0378,             // Range Maximum
3350                                    0x01,               // Alignment
3351                                    0x08,               // Length
3352                                    )
3353                                IRQNoFlags ()
3354                                    {5,7}
3355                            }
3356                            StartDependentFn (0x00, 0x02)
3357                            {
3358                                IO (Decode16,
3359                                    0x0278,             // Range Minimum
3360                                    0x0278,             // Range Maximum
3361                                    0x01,               // Alignment
3362                                    0x08,               // Length
3363                                    )
3364                                IRQNoFlags ()
3365                                    {5,7}
3366                            }
3367                            StartDependentFn (0x00, 0x02)
3368                            {
3369                                IO (Decode16,
3370                                    0x03BC,             // Range Minimum
3371                                    0x03BC,             // Range Maximum
3372                                    0x01,               // Alignment
3373                                    0x04,               // Length
3374                                    )
3375                                IRQNoFlags ()
3376                                    {5,7}
3377                            }
3378                            StartDependentFn (0x02, 0x00)
3379                            {
3380                                IO (Decode16,
3381                                    0x0100,             // Range Minimum
3382                                    0x03FC,             // Range Maximum
3383                                    0x04,               // Alignment
3384                                    0x04,               // Length
3385                                    )
3386                                IRQNoFlags ()
3387                                    {1,3,4,5,6,7,8,10,11,12,13,14,15}
3388                            }
3389                            EndDependentFn ()
3390                        })
3391                        Return (BUF0)
3392                    }
3393
3394                    Method (_SRS, 1, NotSerialized)
3395                    {
3396                        CreateByteField (Arg0, 0x02, IOLO)
3397                        CreateByteField (Arg0, 0x03, IOHI)
3398                        CreateByteField (Arg0, 0x09, IRQL)
3399                        Store (0x55, INDX)
3400                        Store (One, LDN)
3401                        Store (IOLO, IOAL)
3402                        Store (IOHI, IOAH)
3403                        FindSetRightBit (IRQL, INTR)
3404                        If (LNotEqual (IRQL, Zero))
3405                        {
3406                            Decrement (INTR)
3407                        }
3408
3409                        Store (One, ACTR)
3410                        Store (0xAA, INDX)
3411                    }
3412                }
3413
3414                Device (ECP)
3415                {
3416                    Name (_HID, EisaId ("PNP0401"))
3417                    Method (_STA, 0, NotSerialized)
3418                    {
3419                        Store (0x55, INDX)
3420                        Store (One, LDN)
3421                        And (OPT8, 0x0F, Local0)
3422                        If (LEqual (Local0, 0x04))
3423                        {
3424                            If (LEqual (ACTR, 0xFF))
3425                            {
3426                                Store (0xAA, INDX)
3427                                Return (Zero)
3428                            }
3429
3430                            If (ACTR)
3431                            {
3432                                Store (0xAA, INDX)
3433                                Return (0x0F)
3434                            }
3435                            Else
3436                            {
3437                                If (LOr (IOAH, IOAL))
3438                                {
3439                                    Store (0xAA, INDX)
3440                                    Return (0x0D)
3441                                }
3442                                Else
3443                                {
3444                                    Store (0xAA, INDX)
3445                                    Return (Zero)
3446                                }
3447                            }
3448                        }
3449                        Else
3450                        {
3451                            Store (0xAA, INDX)
3452                            Return (Zero)
3453                        }
3454                    }
3455
3456                    Method (_DIS, 0, NotSerialized)
3457                    {
3458                        Store (0x55, INDX)
3459                        Store (One, LDN)
3460                        Store (Zero, ACTR)
3461                        Store (0xAA, INDX)
3462                    }
3463
3464                    Method (_CRS, 0, NotSerialized)
3465                    {
3466                        Name (BUF0, ResourceTemplate ()
3467                        {
3468                            IO (Decode16,
3469                                0x0378,             // Range Minimum
3470                                0x0378,             // Range Maximum
3471                                0x08,               // Alignment
3472                                0x08,               // Length
3473                                _Y07)
3474                            IO (Decode16,
3475                                0x0778,             // Range Minimum
3476                                0x0778,             // Range Maximum
3477                                0x08,               // Alignment
3478                                0x08,               // Length
3479                                _Y08)
3480                            IRQNoFlags (_Y09)
3481                                {7}
3482                            DMA (Compatibility, NotBusMaster, Transfer8, _Y0A)
3483                                {3}
3484                        })
3485                        CreateByteField (BUF0, \_SB.PCI0.LPC.ECP._CRS._Y07._MIN, IOLO)
3486                        CreateByteField (BUF0, 0x03, IOHI)
3487                        CreateByteField (BUF0, \_SB.PCI0.LPC.ECP._CRS._Y07._MAX, IORL)
3488                        CreateByteField (BUF0, 0x05, IORH)
3489                        CreateByteField (BUF0, \_SB.PCI0.LPC.ECP._CRS._Y08._MIN, IULO)
3490                        CreateByteField (BUF0, 0x0B, IUHI)
3491                        CreateByteField (BUF0, \_SB.PCI0.LPC.ECP._CRS._Y08._MAX, IURL)
3492                        CreateByteField (BUF0, 0x0D, IURH)
3493                        CreateByteField (BUF0, \_SB.PCI0.LPC.ECP._CRS._Y09._INT, IRQL)
3494                        CreateByteField (BUF0, \_SB.PCI0.LPC.ECP._CRS._Y0A._DMA, DMAV)
3495                        Store (0x55, INDX)
3496                        Store (One, LDN)
3497                        Store (IOAL, IOLO)
3498                        Store (IOAL, IORL)
3499                        Store (IOAH, IOHI)
3500                        Store (IOAH, IORH)
3501                        Store (IOAL, IULO)
3502                        Store (IOAL, IURL)
3503                        Add (IOAH, 0x04, IUHI)
3504                        Add (IOAH, 0x04, IURH)
3505                        Store (One, Local0)
3506                        ShiftLeft (Local0, INTR, IRQL)
3507                        If (LEqual (DMCH, 0x04))
3508                        {
3509                            Store (Zero, Local0)
3510                        }
3511                        Else
3512                        {
3513                            Store (One, Local0)
3514                        }
3515
3516                        ShiftLeft (Local0, DMCH, DMAV)
3517                        Store (0xAA, INDX)
3518                        Return (BUF0)
3519                    }
3520
3521                    Method (_PRS, 0, NotSerialized)
3522                    {
3523                        Name (BUF0, ResourceTemplate ()
3524                        {
3525                            StartDependentFn (0x00, 0x00)
3526                            {
3527                                IO (Decode16,
3528                                    0x0378,             // Range Minimum
3529                                    0x0378,             // Range Maximum
3530                                    0x01,               // Alignment
3531                                    0x08,               // Length
3532                                    )
3533                                IO (Decode16,
3534                                    0x0778,             // Range Minimum
3535                                    0x0778,             // Range Maximum
3536                                    0x01,               // Alignment
3537                                    0x08,               // Length
3538                                    )
3539                                IRQNoFlags ()
3540                                    {5,7}
3541                                DMA (Compatibility, NotBusMaster, Transfer8, )
3542                                    {1,3}
3543                            }
3544                            StartDependentFn (0x00, 0x00)
3545                            {
3546                                IO (Decode16,
3547                                    0x0278,             // Range Minimum
3548                                    0x0278,             // Range Maximum
3549                                    0x01,               // Alignment
3550                                    0x08,               // Length
3551                                    )
3552                                IO (Decode16,
3553                                    0x0678,             // Range Minimum
3554                                    0x0678,             // Range Maximum
3555                                    0x01,               // Alignment
3556                                    0x08,               // Length
3557                                    )
3558                                IRQNoFlags ()
3559                                    {5,7}
3560                                DMA (Compatibility, NotBusMaster, Transfer8, )
3561                                    {1,3}
3562                            }
3563                            StartDependentFn (0x00, 0x00)
3564                            {
3565                                IO (Decode16,
3566                                    0x03BC,             // Range Minimum
3567                                    0x03BC,             // Range Maximum
3568                                    0x01,               // Alignment
3569                                    0x04,               // Length
3570                                    )
3571                                IO (Decode16,
3572                                    0x07BC,             // Range Minimum
3573                                    0x07BC,             // Range Maximum
3574                                    0x01,               // Alignment
3575                                    0x04,               // Length
3576                                    )
3577                                IRQNoFlags ()
3578                                    {5,7}
3579                                DMA (Compatibility, NotBusMaster, Transfer8, )
3580                                    {1,3}
3581                            }
3582                            EndDependentFn ()
3583                        })
3584                        Return (BUF0)
3585                    }
3586
3587                    Method (_SRS, 1, NotSerialized)
3588                    {
3589                        CreateByteField (Arg0, 0x02, IOLO)
3590                        CreateByteField (Arg0, 0x03, IOHI)
3591                        CreateByteField (Arg0, 0x11, IRQL)
3592                        CreateByteField (Arg0, 0x14, DMAV)
3593                        Store (0x55, INDX)
3594                        Store (One, LDN)
3595                        Store (IOLO, IOAL)
3596                        Store (IOHI, IOAH)
3597                        FindSetRightBit (IRQL, INTR)
3598                        If (LNotEqual (IRQL, Zero))
3599                        {
3600                            Decrement (INTR)
3601                        }
3602
3603                        If (LEqual (DMAV, Zero))
3604                        {
3605                            Store (0x04, DMCH)
3606                        }
3607                        Else
3608                        {
3609                            FindSetRightBit (DMAV, DMCH)
3610                            Decrement (DMCH)
3611                        }
3612
3613                        Store (One, ACTR)
3614                        Store (0xAA, INDX)
3615                    }
3616                }
3617
3618                Device (PS2M)
3619                {
3620                    Name (_HID, EisaId ("PNP0F03"))
3621                    Name (_CID, 0x130FD041)
3622                    Method (_STA, 0, NotSerialized)
3623                    {
3624                        If (MSEP)
3625                        {
3626                            Return (0x0F)
3627                        }
3628                        Else
3629                        {
3630                            Return (Zero)
3631                        }
3632                    }
3633
3634                    Name (CRS1, ResourceTemplate ()
3635                    {
3636                        IRQNoFlags ()
3637                            {12}
3638                    })
3639                    Name (CRS2, ResourceTemplate ()
3640                    {
3641                        IO (Decode16,
3642                            0x0060,             // Range Minimum
3643                            0x0060,             // Range Maximum
3644                            0x01,               // Alignment
3645                            0x01,               // Length
3646                            )
3647                        IO (Decode16,
3648                            0x0064,             // Range Minimum
3649                            0x0064,             // Range Maximum
3650                            0x01,               // Alignment
3651                            0x01,               // Length
3652                            )
3653                        IRQNoFlags ()
3654                            {12}
3655                    })
3656                    Method (_CRS, 0, NotSerialized)
3657                    {
3658                        If (KBEP)
3659                        {
3660                            Return (CRS1)
3661                        }
3662                        Else
3663                        {
3664                            Return (CRS2)
3665                        }
3666                    }
3667                }
3668
3669                Device (PS2K)
3670                {
3671                    Name (_HID, EisaId ("PNP0303"))
3672                    Name (_CID, 0x0B03D041)
3673                    Method (_STA, 0, NotSerialized)
3674                    {
3675                        If (KBEP)
3676                        {
3677                            Return (0x0F)
3678                        }
3679                        Else
3680                        {
3681                            Return (Zero)
3682                        }
3683                    }
3684
3685                    Name (_CRS, ResourceTemplate ()
3686                    {
3687                        IO (Decode16,
3688                            0x0060,             // Range Minimum
3689                            0x0060,             // Range Maximum
3690                            0x01,               // Alignment
3691                            0x01,               // Length
3692                            )
3693                        IO (Decode16,
3694                            0x0064,             // Range Minimum
3695                            0x0064,             // Range Maximum
3696                            0x01,               // Alignment
3697                            0x01,               // Length
3698                            )
3699                        IRQNoFlags ()
3700                            {1}
3701                    })
3702                }
3703
3704                Device (UAR1)
3705                {
3706                    Name (_HID, EisaId ("PNP0501"))
3707                    Name (_UID, One)
3708                    Method (_STA, 0, NotSerialized)
3709                    {
3710                        Store (0x55, INDX)
3711                        Store (0x03, LDN)
3712                        If (LEqual (ACTR, 0xFF))
3713                        {
3714                            Store (0xAA, INDX)
3715                            Return (Zero)
3716                        }
3717
3718                        If (ACTR)
3719                        {
3720                            Store (0xAA, INDX)
3721                            Return (0x0F)
3722                        }
3723                        Else
3724                        {
3725                            If (LOr (IOAH, IOAL))
3726                            {
3727                                Store (0xAA, INDX)
3728                                Return (0x0D)
3729                            }
3730                            Else
3731                            {
3732                                Store (0xAA, INDX)
3733                                Return (Zero)
3734                            }
3735                        }
3736                    }
3737
3738                    Method (_DIS, 0, NotSerialized)
3739                    {
3740                        Store (0x55, INDX)
3741                        Store (0x03, LDN)
3742                        Store (Zero, ACTR)
3743                        Store (0xAA, INDX)
3744                    }
3745
3746                    Method (_CRS, 0, NotSerialized)
3747                    {
3748                        Name (BUF0, ResourceTemplate ()
3749                        {
3750                            IO (Decode16,
3751                                0x03F8,             // Range Minimum
3752                                0x03F8,             // Range Maximum
3753                                0x08,               // Alignment
3754                                0x08,               // Length
3755                                _Y0B)
3756                            IRQNoFlags (_Y0C)
3757                                {4}
3758                        })
3759                        CreateByteField (BUF0, \_SB.PCI0.LPC.UAR1._CRS._Y0B._MIN, IOLO)
3760                        CreateByteField (BUF0, 0x03, IOHI)
3761                        CreateByteField (BUF0, \_SB.PCI0.LPC.UAR1._CRS._Y0B._MAX, IORL)
3762                        CreateByteField (BUF0, 0x05, IORH)
3763                        CreateWordField (BUF0, \_SB.PCI0.LPC.UAR1._CRS._Y0C._INT, IRQL)
3764                        Store (0x55, INDX)
3765                        Store (0x03, LDN)
3766                        Store (IOAL, IOLO)
3767                        Store (IOAL, IORL)
3768                        Store (IOAH, IOHI)
3769                        Store (IOAH, IORH)
3770                        Store (One, Local0)
3771                        ShiftLeft (Local0, INTR, IRQL)
3772                        Store (0xAA, INDX)
3773                        Return (BUF0)
3774                    }
3775
3776                    Method (_PRS, 0, NotSerialized)
3777                    {
3778                        Name (BUF0, ResourceTemplate ()
3779                        {
3780                            StartDependentFn (0x00, 0x02)
3781                            {
3782                                IO (Decode16,
3783                                    0x03F8,             // Range Minimum
3784                                    0x03F8,             // Range Maximum
3785                                    0x01,               // Alignment
3786                                    0x08,               // Length
3787                                    )
3788                                IRQNoFlags ()
3789                                    {4}
3790                            }
3791                            StartDependentFn (0x00, 0x02)
3792                            {
3793                                IO (Decode16,
3794                                    0x03E8,             // Range Minimum
3795                                    0x03E8,             // Range Maximum
3796                                    0x01,               // Alignment
3797                                    0x08,               // Length
3798                                    )
3799                                IRQNoFlags ()
3800                                    {4}
3801                            }
3802                            StartDependentFn (0x00, 0x02)
3803                            {
3804                                IO (Decode16,
3805                                    0x02F8,             // Range Minimum
3806                                    0x02F8,             // Range Maximum
3807                                    0x01,               // Alignment
3808                                    0x08,               // Length
3809                                    )
3810                                IRQNoFlags ()
3811                                    {3}
3812                            }
3813                            StartDependentFn (0x00, 0x02)
3814                            {
3815                                IO (Decode16,
3816                                    0x02E8,             // Range Minimum
3817                                    0x02E8,             // Range Maximum
3818                                    0x01,               // Alignment
3819                                    0x08,               // Length
3820                                    )
3821                                IRQNoFlags ()
3822                                    {3}
3823                            }
3824                            StartDependentFn (0x02, 0x00)
3825                            {
3826                                IO (Decode16,
3827                                    0x0100,             // Range Minimum
3828                                    0x03F8,             // Range Maximum
3829                                    0x08,               // Alignment
3830                                    0x08,               // Length
3831                                    )
3832                                IRQNoFlags ()
3833                                    {1,3,4,5,6,7,8,10,11,12,13,14,15}
3834                            }
3835                            EndDependentFn ()
3836                        })
3837                        Return (BUF0)
3838                    }
3839
3840                    Method (_SRS, 1, NotSerialized)
3841                    {
3842                        CreateByteField (Arg0, 0x02, IOLO)
3843                        CreateByteField (Arg0, 0x03, IOHI)
3844                        CreateWordField (Arg0, 0x09, IRQL)
3845                        Store (0x55, INDX)
3846                        Store (0x03, LDN)
3847                        Store (IOLO, IOAL)
3848                        Store (IOHI, IOAH)
3849                        FindSetRightBit (IRQL, INTR)
3850                        If (LNotEqual (IRQL, Zero))
3851                        {
3852                            Decrement (INTR)
3853                        }
3854
3855                        Store (One, ACTR)
3856                        Store (0xAA, INDX)
3857                    }
3858
3859                    Name (CPS4, Package (0x02)
3860                    {
3861                        0x1D,
3862                        0x04
3863                    })
3864                    Method (_PRW, 0, NotSerialized)
3865                    {
3866                        Return (CPS4)
3867                    }
3868
3869                    Method (_PSW, 1, NotSerialized)
3870                    {
3871                        If (LEqual (Arg0, Zero))
3872                        {
3873                            And (PEN1, 0xFB, PEN1)
3874                        }
3875
3876                        If (LEqual (Arg0, One))
3877                        {
3878                            Store (PST1, PST1)
3879                            Store (PSTS, PSTS)
3880                            Or (PEN1, 0x04, PEN1)
3881                        }
3882                    }
3883                }
3884
3885                Method (WAK, 1, Serialized)
3886                {
3887                    If (LOr (LEqual (Arg0, One), LEqual (Arg0, 0x03)))
3888                    {
3889                        ENFG ()
3890                        And (DIDR, 0xFC, Local0)
3891                        If (LEqual (Local0, 0xF0))
3892                        {
3893                            Store (0x06, LDN)
3894                            Store (One, ACTR)
3895                            Store (0x05, LDN)
3896                            Store (One, ACTR)
3897                        }
3898                        Else
3899                        {
3900                            Store (0x06, LDN)
3901                            Store (Zero, OPT0)
3902                        }
3903
3904                        EXFG ()
3905                    }
3906
3907                    ShiftLeft (Arg0, 0x04, IO80)
3908                    Store (PST1, PST1)
3909                    Store (PSTS, PSTS)
3910                    Store (Zero, PEN1)
3911                    Store (Zero, PMEN)
3912                    Store (Zero, EVEN)
3913                    Store (EVST, EVST)
3914                    Store (0x0F, LED)
3915                    Store (Zero, VOFF)
3916                }
3917
3918                Method (PTS, 1, NotSerialized)
3919                {
3920                    Store (Arg0, IO80)
3921                    Store (PST1, PST1)
3922                    Store (PSTS, PSTS)
3923                    If (LOr (LEqual (Arg0, One), LEqual (Arg0, 0x03)))
3924                    {
3925                        Or (0x18, PEN1, PEN1)
3926                    }
3927
3928                    Or (0x02, PEN1, PEN1)
3929                    Store (EVST, EVST)
3930                    Store (One, PMEN)
3931                    If (LOr (LEqual (Arg0, One), LEqual (Arg0, 0x03)))
3932                    {
3933                        ENFG ()
3934                        And (DIDR, 0xFC, Local0)
3935                        If (LEqual (Local0, 0xF0))
3936                        {
3937                            Store (0x05, LDN)
3938                            Store (Zero, ACTR)
3939                            Store (0x06, LDN)
3940                            Store (Zero, ACTR)
3941                        }
3942                        Else
3943                        {
3944                            Store (0x06, LDN)
3945                            Store (0x60, OPT0)
3946                        }
3947
3948                        EXFG ()
3949                        Store (0x02, LED)
3950                    }
3951                }
3952
3953                Method (WAKE, 0, NotSerialized)
3954                {
3955                    If (And (PSTS, One))
3956                    {
3957                        If (LAnd (And (PST1, 0x04, Local0), And (PEN1, 0x04, Local1)))
3958                        {
3959                            Store (Local0, PST1)
3960                            Notify (UAR1, 0x02)
3961                        }
3962
3963                        Store (PST1, PST1)
3964                        Store (PSTS, PSTS)
3965                    }
3966                }
3967
3968                Device (IELK)
3969                {
3970                    Name (_HID, "AWY0001")
3971                    OperationRegion (ELR0, PCI_Config, Zero, 0x0100)
3972                    Field (ELR0, AnyAcc, NoLock, Preserve)
3973                    {
3974                                Offset (0xA0),
3975                            ,   9,
3976                        PBLV,   1,
3977                                Offset (0xA2),
3978                                Offset (0xB0),
3979                            ,   3,
3980                        ELPB,   1,
3981                                Offset (0xB1),
3982                            ,   2,
3983                        ELGN,   2,
3984                        ELYL,   2,
3985                        PVEV,   1,
3986                        PBEN,   1,
3987                                Offset (0xB3),
3988                        ELEN,   1,
3989                                Offset (0xB4)
3990                    }
3991
3992                    Method (_STA, 0, NotSerialized)
3993                    {
3994                        If (ELEN)
3995                        {
3996                            Return (0x0F)
3997                        }
3998                        Else
3999                        {
4000                            Return (Zero)
4001                        }
4002                    }
4003
4004                    Method (SMOD, 1, NotSerialized)
4005                    {
4006                        Name (LDON, 0x03)
4007                        Name (LDOF, 0x02)
4008                        If (LNot (Arg0))
4009                        {
4010                            Store (LDOF, LED)
4011                            Store (Zero, ELGN)
4012                            Store (One, ELYL)
4013                            Store (One, VOFF)
4014                        }
4015                        Else
4016                        {
4017                            Store (LDON, LED)
4018                            Store (One, ELGN)
4019                            Store (Zero, ELYL)
4020                            Store (Zero, VOFF)
4021                        }
4022
4023                        Return (Zero)
4024                    }
4025
4026                    Method (GPBS, 0, NotSerialized)
4027                    {
4028                        Return (XOr (PBLV, One))
4029                    }
4030
4031                    Method (ARPB, 0, NotSerialized)
4032                    {
4033                        Return (Zero)
4034                    }
4035
4036                    Method (DAPB, 0, NotSerialized)
4037                    {
4038                        Return (Zero)
4039                    }
4040                }
4041            }
4042
4043            OperationRegion (SRCR, SystemMemory, 0xFED1C000, 0x4000)
4044            Field (SRCR, AnyAcc, NoLock, Preserve)
4045            {
4046                        Offset (0x3418),
4047                CHPD,   1,
4048                    ,   1,
4049                SATD,   1,
4050                SMBD,   1,
4051                AZLD,   1,
4052                    ,   2,
4053                UH5D,   1,
4054                UH0D,   1,
4055                UH1D,   1,
4056                UH2D,   1,
4057                UH3D,   1,
4058                UH4D,   1,
4059                    ,   1,
4060                LPCD,   1,
4061                EHCD,   1,
4062                RP1D,   1,
4063                RP2D,   1,
4064                RP3D,   1,
4065                RP4D,   1,
4066                RP5D,   1,
4067                RP6D,   1,
4068                    ,   3,
4069                SAD2,   1,
4070                        Offset (0x341C)
4071            }
4072
4073            Device (ILAN)
4074            {
4075                Name (_ADR, 0x00190000)
4076                Name (PPS1, Package (0x02)
4077                {
4078                    0x0D,
4079                    0x04
4080                })
4081                Method (_PRW, 0, NotSerialized)
4082                {
4083                    Return (PPS1)
4084                }
4085            }
4086
4087            Device (PEG1)
4088            {
4089                Name (_ADR, 0x00010000)
4090                Name (PPS1, Package (0x02)
4091                {
4092                    0x09,
4093                    0x04
4094                })
4095                Method (_PRW, 0, NotSerialized)
4096                {
4097                    Return (PPS1)
4098                }
4099
4100                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
4101                Field (ORP0, AnyAcc, NoLock, Preserve)
4102                {
4103                    RPID,   32,
4104                            Offset (0x34),
4105                    CPLT,   8,
4106                            Offset (0x58),
4107                    SSLC,   10,
4108                            Offset (0x5A),
4109                    SSLS,   7,
4110                            Offset (0x5C),
4111                            Offset (0x60),
4112                    SQID,   16,
4113                    SPME,   1,
4114                    SPMP,   1,
4115                            Offset (0x64),
4116                            Offset (0xA8),
4117                    NSLC,   13,
4118                            Offset (0xAA),
4119                    NSLS,   10,
4120                            Offset (0xAC),
4121                            Offset (0xB0),
4122                    NQID,   16,
4123                    NPME,   1,
4124                    NPMP,   1,
4125                            Offset (0xB4),
4126                            Offset (0xDC),
4127                        ,   31,
4128                    RPSC,   1
4129                }
4130
4131                OperationRegion (PCEW, SystemIO, 0x0401, One)
4132                Field (PCEW, ByteAcc, NoLock, Preserve)
4133                {
4134                        ,   6,
4135                    PCWS,   1
4136                }
4137
4138                Method (XPM1, 1, NotSerialized)
4139                {
4140                    Store (Zero, Local0)
4141                    If (LEqual (RPID, 0xFFFFFFFF))
4142                    {
4143                        Return (Zero)
4144                    }
4145
4146                    If (LGreaterEqual (Arg0, 0x08))
4147                    {
4148                        Store (NPME, Local0)
4149                        While (NPME)
4150                        {
4151                            Store (One, NPME)
4152                        }
4153                    }
4154                    Else
4155                    {
4156                        Store (SPME, Local0)
4157                        While (SPME)
4158                        {
4159                            Store (One, SPME)
4160                        }
4161
4162                        While (RPSC)
4163                        {
4164                            Store (One, RPSC)
4165                        }
4166                    }
4167
4168                    Store (One, PCWS)
4169                    Return (Local0)
4170                }
4171
4172                Method (XRPW, 1, NotSerialized)
4173                {
4174                    Store (Zero, Local0)
4175                    If (LEqual (RPID, 0xFFFFFFFF))
4176                    {
4177                        Return (Zero)
4178                    }
4179
4180                    If (LGreaterEqual (Arg0, 0x08))
4181                    {
4182                        Store (NPME, Local0)
4183                    }
4184                    Else
4185                    {
4186                        Store (SPME, Local0)
4187                    }
4188
4189                    Return (Local0)
4190                }
4191
4192                Method (_PRT, 0, NotSerialized)
4193                {
4194                    If (LEqual (GPIC, Zero))
4195                    {
4196                        Return (Package (0x04)
4197                        {
4198                            Package (0x04)
4199                            {
4200                                0xFFFF,
4201                                Zero,
4202                                ^^LPC.LNKA,
4203                                Zero
4204                            },
4205
4206                            Package (0x04)
4207                            {
4208                                0xFFFF,
4209                                One,
4210                                ^^LPC.LNKB,
4211                                Zero
4212                            },
4213
4214                            Package (0x04)
4215                            {
4216                                0xFFFF,
4217                                0x02,
4218                                ^^LPC.LNKC,
4219                                Zero
4220                            },
4221
4222                            Package (0x04)
4223                            {
4224                                0xFFFF,
4225                                0x03,
4226                                ^^LPC.LNKD,
4227                                Zero
4228                            }
4229                        })
4230                    }
4231                    Else
4232                    {
4233                        Return (Package (0x04)
4234                        {
4235                            Package (0x04)
4236                            {
4237                                0xFFFF,
4238                                Zero,
4239                                Zero,
4240                                0x10
4241                            },
4242
4243                            Package (0x04)
4244                            {
4245                                0xFFFF,
4246                                One,
4247                                Zero,
4248                                0x11
4249                            },
4250
4251                            Package (0x04)
4252                            {
4253                                0xFFFF,
4254                                0x02,
4255                                Zero,
4256                                0x12
4257                            },
4258
4259                            Package (0x04)
4260                            {
4261                                0xFFFF,
4262                                0x03,
4263                                Zero,
4264                                0x13
4265                            }
4266                        })
4267                    }
4268                }
4269            }
4270
4271            Device (PEG3)
4272            {
4273                Name (_ADR, 0x00030000)
4274                Name (PPS1, Package (0x02)
4275                {
4276                    0x09,
4277                    0x04
4278                })
4279                Method (_PRW, 0, NotSerialized)
4280                {
4281                    Return (PPS1)
4282                }
4283
4284                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
4285                Field (ORP0, AnyAcc, NoLock, Preserve)
4286                {
4287                    RPID,   32,
4288                            Offset (0x34),
4289                    CPLT,   8,
4290                            Offset (0x58),
4291                    SSLC,   10,
4292                            Offset (0x5A),
4293                    SSLS,   7,
4294                            Offset (0x5C),
4295                            Offset (0x60),
4296                    SQID,   16,
4297                    SPME,   1,
4298                    SPMP,   1,
4299                            Offset (0x64),
4300                            Offset (0xA8),
4301                    NSLC,   13,
4302                            Offset (0xAA),
4303                    NSLS,   10,
4304                            Offset (0xAC),
4305                            Offset (0xB0),
4306                    NQID,   16,
4307                    NPME,   1,
4308                    NPMP,   1,
4309                            Offset (0xB4),
4310                            Offset (0xDC),
4311                        ,   31,
4312                    RPSC,   1
4313                }
4314
4315                OperationRegion (PCEW, SystemIO, 0x0401, One)
4316                Field (PCEW, ByteAcc, NoLock, Preserve)
4317                {
4318                        ,   6,
4319                    PCWS,   1
4320                }
4321
4322                Method (XPM1, 1, NotSerialized)
4323                {
4324                    Store (Zero, Local0)
4325                    If (LEqual (RPID, 0xFFFFFFFF))
4326                    {
4327                        Return (Zero)
4328                    }
4329
4330                    If (LGreaterEqual (Arg0, 0x08))
4331                    {
4332                        Store (NPME, Local0)
4333                        While (NPME)
4334                        {
4335                            Store (One, NPME)
4336                        }
4337                    }
4338                    Else
4339                    {
4340                        Store (SPME, Local0)
4341                        While (SPME)
4342                        {
4343                            Store (One, SPME)
4344                        }
4345
4346                        While (RPSC)
4347                        {
4348                            Store (One, RPSC)
4349                        }
4350                    }
4351
4352                    Store (One, PCWS)
4353                    Return (Local0)
4354                }
4355
4356                Method (XRPW, 1, NotSerialized)
4357                {
4358                    Store (Zero, Local0)
4359                    If (LEqual (RPID, 0xFFFFFFFF))
4360                    {
4361                        Return (Zero)
4362                    }
4363
4364                    If (LGreaterEqual (Arg0, 0x08))
4365                    {
4366                        Store (NPME, Local0)
4367                    }
4368                    Else
4369                    {
4370                        Store (SPME, Local0)
4371                    }
4372
4373                    Return (Local0)
4374                }
4375
4376                Method (_PRT, 0, NotSerialized)
4377                {
4378                    If (LEqual (GPIC, Zero))
4379                    {
4380                        Return (Package (0x04)
4381                        {
4382                            Package (0x04)
4383                            {
4384                                0xFFFF,
4385                                Zero,
4386                                ^^LPC.LNKA,
4387                                Zero
4388                            },
4389
4390                            Package (0x04)
4391                            {
4392                                0xFFFF,
4393                                One,
4394                                ^^LPC.LNKB,
4395                                Zero
4396                            },
4397
4398                            Package (0x04)
4399                            {
4400                                0xFFFF,
4401                                0x02,
4402                                ^^LPC.LNKC,
4403                                Zero
4404                            },
4405
4406                            Package (0x04)
4407                            {
4408                                0xFFFF,
4409                                0x03,
4410                                ^^LPC.LNKD,
4411                                Zero
4412                            }
4413                        })
4414                    }
4415                    Else
4416                    {
4417                        Return (Package (0x04)
4418                        {
4419                            Package (0x04)
4420                            {
4421                                0xFFFF,
4422                                Zero,
4423                                Zero,
4424                                0x10
4425                            },
4426
4427                            Package (0x04)
4428                            {
4429                                0xFFFF,
4430                                One,
4431                                Zero,
4432                                0x11
4433                            },
4434
4435                            Package (0x04)
4436                            {
4437                                0xFFFF,
4438                                0x02,
4439                                Zero,
4440                                0x12
4441                            },
4442
4443                            Package (0x04)
4444                            {
4445                                0xFFFF,
4446                                0x03,
4447                                Zero,
4448                                0x13
4449                            }
4450                        })
4451                    }
4452                }
4453            }
4454
4455            Device (PEG7)
4456            {
4457                Name (_ADR, 0x00070000)
4458                Name (PPS1, Package (0x02)
4459                {
4460                    0x09,
4461                    0x04
4462                })
4463                Method (_PRW, 0, NotSerialized)
4464                {
4465                    Return (PPS1)
4466                }
4467
4468                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
4469                Field (ORP0, AnyAcc, NoLock, Preserve)
4470                {
4471                    RPID,   32,
4472                            Offset (0x34),
4473                    CPLT,   8,
4474                            Offset (0x58),
4475                    SSLC,   10,
4476                            Offset (0x5A),
4477                    SSLS,   7,
4478                            Offset (0x5C),
4479                            Offset (0x60),
4480                    SQID,   16,
4481                    SPME,   1,
4482                    SPMP,   1,
4483                            Offset (0x64),
4484                            Offset (0xA8),
4485                    NSLC,   13,
4486                            Offset (0xAA),
4487                    NSLS,   10,
4488                            Offset (0xAC),
4489                            Offset (0xB0),
4490                    NQID,   16,
4491                    NPME,   1,
4492                    NPMP,   1,
4493                            Offset (0xB4),
4494                            Offset (0xDC),
4495                        ,   31,
4496                    RPSC,   1
4497                }
4498
4499                OperationRegion (PCEW, SystemIO, 0x0401, One)
4500                Field (PCEW, ByteAcc, NoLock, Preserve)
4501                {
4502                        ,   6,
4503                    PCWS,   1
4504                }
4505
4506                Method (XPM1, 1, NotSerialized)
4507                {
4508                    Store (Zero, Local0)
4509                    If (LEqual (RPID, 0xFFFFFFFF))
4510                    {
4511                        Return (Zero)
4512                    }
4513
4514                    If (LGreaterEqual (Arg0, 0x08))
4515                    {
4516                        Store (NPME, Local0)
4517                        While (NPME)
4518                        {
4519                            Store (One, NPME)
4520                        }
4521                    }
4522                    Else
4523                    {
4524                        Store (SPME, Local0)
4525                        While (SPME)
4526                        {
4527                            Store (One, SPME)
4528                        }
4529
4530                        While (RPSC)
4531                        {
4532                            Store (One, RPSC)
4533                        }
4534                    }
4535
4536                    Store (One, PCWS)
4537                    Return (Local0)
4538                }
4539
4540                Method (XRPW, 1, NotSerialized)
4541                {
4542                    Store (Zero, Local0)
4543                    If (LEqual (RPID, 0xFFFFFFFF))
4544                    {
4545                        Return (Zero)
4546                    }
4547
4548                    If (LGreaterEqual (Arg0, 0x08))
4549                    {
4550                        Store (NPME, Local0)
4551                    }
4552                    Else
4553                    {
4554                        Store (SPME, Local0)
4555                    }
4556
4557                    Return (Local0)
4558                }
4559
4560                Method (_PRT, 0, NotSerialized)
4561                {
4562                    If (LEqual (GPIC, Zero))
4563                    {
4564                        Return (Package (0x04)
4565                        {
4566                            Package (0x04)
4567                            {
4568                                0xFFFF,
4569                                Zero,
4570                                ^^LPC.LNKA,
4571                                Zero
4572                            },
4573
4574                            Package (0x04)
4575                            {
4576                                0xFFFF,
4577                                One,
4578                                ^^LPC.LNKB,
4579                                Zero
4580                            },
4581
4582                            Package (0x04)
4583                            {
4584                                0xFFFF,
4585                                0x02,
4586                                ^^LPC.LNKC,
4587                                Zero
4588                            },
4589
4590                            Package (0x04)
4591                            {
4592                                0xFFFF,
4593                                0x03,
4594                                ^^LPC.LNKD,
4595                                Zero
4596                            }
4597                        })
4598                    }
4599                    Else
4600                    {
4601                        Return (Package (0x04)
4602                        {
4603                            Package (0x04)
4604                            {
4605                                0xFFFF,
4606                                Zero,
4607                                Zero,
4608                                0x10
4609                            },
4610
4611                            Package (0x04)
4612                            {
4613                                0xFFFF,
4614                                One,
4615                                Zero,
4616                                0x11
4617                            },
4618
4619                            Package (0x04)
4620                            {
4621                                0xFFFF,
4622                                0x02,
4623                                Zero,
4624                                0x12
4625                            },
4626
4627                            Package (0x04)
4628                            {
4629                                0xFFFF,
4630                                0x03,
4631                                Zero,
4632                                0x13
4633                            }
4634                        })
4635                    }
4636                }
4637            }
4638
4639            Device (PEX0)
4640            {
4641                Name (_ADR, 0x001C0000)
4642                Name (PPS1, Package (0x02)
4643                {
4644                    0x09,
4645                    0x05
4646                })
4647                Method (_PRW, 0, NotSerialized)
4648                {
4649                    Return (PPS1)
4650                }
4651
4652                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
4653                Field (ORP0, AnyAcc, NoLock, Preserve)
4654                {
4655                    RPID,   32,
4656                            Offset (0x34),
4657                    CPLT,   8,
4658                            Offset (0x58),
4659                    SSLC,   10,
4660                            Offset (0x5A),
4661                    SSLS,   7,
4662                            Offset (0x5C),
4663                            Offset (0x60),
4664                    SQID,   16,
4665                    SPME,   1,
4666                    SPMP,   1,
4667                            Offset (0x64),
4668                            Offset (0xA8),
4669                    NSLC,   13,
4670                            Offset (0xAA),
4671                    NSLS,   10,
4672                            Offset (0xAC),
4673                            Offset (0xB0),
4674                    NQID,   16,
4675                    NPME,   1,
4676                    NPMP,   1,
4677                            Offset (0xB4),
4678                            Offset (0xDC),
4679                        ,   31,
4680                    RPSC,   1
4681                }
4682
4683                OperationRegion (PCEW, SystemIO, 0x0401, One)
4684                Field (PCEW, ByteAcc, NoLock, Preserve)
4685                {
4686                        ,   6,
4687                    PCWS,   1
4688                }
4689
4690                Method (XPM1, 1, NotSerialized)
4691                {
4692                    Store (Zero, Local0)
4693                    If (LEqual (RPID, 0xFFFFFFFF))
4694                    {
4695                        Return (Zero)
4696                    }
4697
4698                    If (LGreaterEqual (Arg0, 0x08))
4699                    {
4700                        Store (NPME, Local0)
4701                        While (NPME)
4702                        {
4703                            Store (One, NPME)
4704                        }
4705                    }
4706                    Else
4707                    {
4708                        Store (SPME, Local0)
4709                        While (SPME)
4710                        {
4711                            Store (One, SPME)
4712                        }
4713
4714                        While (RPSC)
4715                        {
4716                            Store (One, RPSC)
4717                        }
4718                    }
4719
4720                    Store (One, PCWS)
4721                    Return (Local0)
4722                }
4723
4724                Method (XRPW, 1, NotSerialized)
4725                {
4726                    Store (Zero, Local0)
4727                    If (LEqual (RPID, 0xFFFFFFFF))
4728                    {
4729                        Return (Zero)
4730                    }
4731
4732                    If (LGreaterEqual (Arg0, 0x08))
4733                    {
4734                        Store (NPME, Local0)
4735                    }
4736                    Else
4737                    {
4738                        Store (SPME, Local0)
4739                    }
4740
4741                    Return (Local0)
4742                }
4743
4744                Method (_PRT, 0, NotSerialized)
4745                {
4746                    If (LEqual (GPIC, Zero))
4747                    {
4748                        Return (Package (0x04)
4749                        {
4750                            Package (0x04)
4751                            {
4752                                0xFFFF,
4753                                Zero,
4754                                ^^LPC.LNKA,
4755                                Zero
4756                            },
4757
4758                            Package (0x04)
4759                            {
4760                                0xFFFF,
4761                                One,
4762                                ^^LPC.LNKB,
4763                                Zero
4764                            },
4765
4766                            Package (0x04)
4767                            {
4768                                0xFFFF,
4769                                0x02,
4770                                ^^LPC.LNKC,
4771                                Zero
4772                            },
4773
4774                            Package (0x04)
4775                            {
4776                                0xFFFF,
4777                                0x03,
4778                                ^^LPC.LNKD,
4779                                Zero
4780                            }
4781                        })
4782                    }
4783                    Else
4784                    {
4785                        Return (Package (0x04)
4786                        {
4787                            Package (0x04)
4788                            {
4789                                0xFFFF,
4790                                Zero,
4791                                Zero,
4792                                0x10
4793                            },
4794
4795                            Package (0x04)
4796                            {
4797                                0xFFFF,
4798                                One,
4799                                Zero,
4800                                0x11
4801                            },
4802
4803                            Package (0x04)
4804                            {
4805                                0xFFFF,
4806                                0x02,
4807                                Zero,
4808                                0x12
4809                            },
4810
4811                            Package (0x04)
4812                            {
4813                                0xFFFF,
4814                                0x03,
4815                                Zero,
4816                                0x13
4817                            }
4818                        })
4819                    }
4820                }
4821            }
4822
4823            Device (PEX1)
4824            {
4825                Name (_ADR, 0x001C0001)
4826                Name (PPS1, Package (0x02)
4827                {
4828                    0x09,
4829                    0x05
4830                })
4831                Method (_PRW, 0, NotSerialized)
4832                {
4833                    Return (PPS1)
4834                }
4835
4836                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
4837                Field (ORP0, AnyAcc, NoLock, Preserve)
4838                {
4839                    RPID,   32,
4840                            Offset (0x34),
4841                    CPLT,   8,
4842                            Offset (0x58),
4843                    SSLC,   10,
4844                            Offset (0x5A),
4845                    SSLS,   7,
4846                            Offset (0x5C),
4847                            Offset (0x60),
4848                    SQID,   16,
4849                    SPME,   1,
4850                    SPMP,   1,
4851                            Offset (0x64),
4852                            Offset (0xA8),
4853                    NSLC,   13,
4854                            Offset (0xAA),
4855                    NSLS,   10,
4856                            Offset (0xAC),
4857                            Offset (0xB0),
4858                    NQID,   16,
4859                    NPME,   1,
4860                    NPMP,   1,
4861                            Offset (0xB4),
4862                            Offset (0xDC),
4863                        ,   31,
4864                    RPSC,   1
4865                }
4866
4867                OperationRegion (PCEW, SystemIO, 0x0401, One)
4868                Field (PCEW, ByteAcc, NoLock, Preserve)
4869                {
4870                        ,   6,
4871                    PCWS,   1
4872                }
4873
4874                Method (XPM1, 1, NotSerialized)
4875                {
4876                    Store (Zero, Local0)
4877                    If (LEqual (RPID, 0xFFFFFFFF))
4878                    {
4879                        Return (Zero)
4880                    }
4881
4882                    If (LGreaterEqual (Arg0, 0x08))
4883                    {
4884                        Store (NPME, Local0)
4885                        While (NPME)
4886                        {
4887                            Store (One, NPME)
4888                        }
4889                    }
4890                    Else
4891                    {
4892                        Store (SPME, Local0)
4893                        While (SPME)
4894                        {
4895                            Store (One, SPME)
4896                        }
4897
4898                        While (RPSC)
4899                        {
4900                            Store (One, RPSC)
4901                        }
4902                    }
4903
4904                    Store (One, PCWS)
4905                    Return (Local0)
4906                }
4907
4908                Method (XRPW, 1, NotSerialized)
4909                {
4910                    Store (Zero, Local0)
4911                    If (LEqual (RPID, 0xFFFFFFFF))
4912                    {
4913                        Return (Zero)
4914                    }
4915
4916                    If (LGreaterEqual (Arg0, 0x08))
4917                    {
4918                        Store (NPME, Local0)
4919                    }
4920                    Else
4921                    {
4922                        Store (SPME, Local0)
4923                    }
4924
4925                    Return (Local0)
4926                }
4927
4928                Method (_PRT, 0, NotSerialized)
4929                {
4930                    If (LEqual (GPIC, Zero))
4931                    {
4932                        Return (Package (0x04)
4933                        {
4934                            Package (0x04)
4935                            {
4936                                0xFFFF,
4937                                Zero,
4938                                ^^LPC.LNKB,
4939                                Zero
4940                            },
4941
4942                            Package (0x04)
4943                            {
4944                                0xFFFF,
4945                                One,
4946                                ^^LPC.LNKC,
4947                                Zero
4948                            },
4949
4950                            Package (0x04)
4951                            {
4952                                0xFFFF,
4953                                0x02,
4954                                ^^LPC.LNKD,
4955                                Zero
4956                            },
4957
4958                            Package (0x04)
4959                            {
4960                                0xFFFF,
4961                                0x03,
4962                                ^^LPC.LNKA,
4963                                Zero
4964                            }
4965                        })
4966                    }
4967                    Else
4968                    {
4969                        Return (Package (0x04)
4970                        {
4971                            Package (0x04)
4972                            {
4973                                0xFFFF,
4974                                Zero,
4975                                Zero,
4976                                0x11
4977                            },
4978
4979                            Package (0x04)
4980                            {
4981                                0xFFFF,
4982                                One,
4983                                Zero,
4984                                0x12
4985                            },
4986
4987                            Package (0x04)
4988                            {
4989                                0xFFFF,
4990                                0x02,
4991                                Zero,
4992                                0x13
4993                            },
4994
4995                            Package (0x04)
4996                            {
4997                                0xFFFF,
4998                                0x03,
4999                                Zero,
5000                                0x10
5001                            }
5002                        })
5003                    }
5004                }
5005            }
5006
5007            Device (PEX2)
5008            {
5009                Name (_ADR, 0x001C0002)
5010                Name (PPS1, Package (0x02)
5011                {
5012                    0x09,
5013                    0x05
5014                })
5015                Method (_PRW, 0, NotSerialized)
5016                {
5017                    Return (PPS1)
5018                }
5019
5020                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
5021                Field (ORP0, AnyAcc, NoLock, Preserve)
5022                {
5023                    RPID,   32,
5024                            Offset (0x34),
5025                    CPLT,   8,
5026                            Offset (0x58),
5027                    SSLC,   10,
5028                            Offset (0x5A),
5029                    SSLS,   7,
5030                            Offset (0x5C),
5031                            Offset (0x60),
5032                    SQID,   16,
5033                    SPME,   1,
5034                    SPMP,   1,
5035                            Offset (0x64),
5036                            Offset (0xA8),
5037                    NSLC,   13,
5038                            Offset (0xAA),
5039                    NSLS,   10,
5040                            Offset (0xAC),
5041                            Offset (0xB0),
5042                    NQID,   16,
5043                    NPME,   1,
5044                    NPMP,   1,
5045                            Offset (0xB4),
5046                            Offset (0xDC),
5047                        ,   31,
5048                    RPSC,   1
5049                }
5050
5051                OperationRegion (PCEW, SystemIO, 0x0401, One)
5052                Field (PCEW, ByteAcc, NoLock, Preserve)
5053                {
5054                        ,   6,
5055                    PCWS,   1
5056                }
5057
5058                Method (XPM1, 1, NotSerialized)
5059                {
5060                    Store (Zero, Local0)
5061                    If (LEqual (RPID, 0xFFFFFFFF))
5062                    {
5063                        Return (Zero)
5064                    }
5065
5066                    If (LGreaterEqual (Arg0, 0x08))
5067                    {
5068                        Store (NPME, Local0)
5069                        While (NPME)
5070                        {
5071                            Store (One, NPME)
5072                        }
5073                    }
5074                    Else
5075                    {
5076                        Store (SPME, Local0)
5077                        While (SPME)
5078                        {
5079                            Store (One, SPME)
5080                        }
5081
5082                        While (RPSC)
5083                        {
5084                            Store (One, RPSC)
5085                        }
5086                    }
5087
5088                    Store (One, PCWS)
5089                    Return (Local0)
5090                }
5091
5092                Method (XRPW, 1, NotSerialized)
5093                {
5094                    Store (Zero, Local0)
5095                    If (LEqual (RPID, 0xFFFFFFFF))
5096                    {
5097                        Return (Zero)
5098                    }
5099
5100                    If (LGreaterEqual (Arg0, 0x08))
5101                    {
5102                        Store (NPME, Local0)
5103                    }
5104                    Else
5105                    {
5106                        Store (SPME, Local0)
5107                    }
5108
5109                    Return (Local0)
5110                }
5111            }
5112
5113            Device (PEX3)
5114            {
5115                Name (_ADR, 0x001C0003)
5116                Name (PPS1, Package (0x02)
5117                {
5118                    0x09,
5119                    0x05
5120                })
5121                Method (_PRW, 0, NotSerialized)
5122                {
5123                    Return (PPS1)
5124                }
5125
5126                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
5127                Field (ORP0, AnyAcc, NoLock, Preserve)
5128                {
5129                    RPID,   32,
5130                            Offset (0x34),
5131                    CPLT,   8,
5132                            Offset (0x58),
5133                    SSLC,   10,
5134                            Offset (0x5A),
5135                    SSLS,   7,
5136                            Offset (0x5C),
5137                            Offset (0x60),
5138                    SQID,   16,
5139                    SPME,   1,
5140                    SPMP,   1,
5141                            Offset (0x64),
5142                            Offset (0xA8),
5143                    NSLC,   13,
5144                            Offset (0xAA),
5145                    NSLS,   10,
5146                            Offset (0xAC),
5147                            Offset (0xB0),
5148                    NQID,   16,
5149                    NPME,   1,
5150                    NPMP,   1,
5151                            Offset (0xB4),
5152                            Offset (0xDC),
5153                        ,   31,
5154                    RPSC,   1
5155                }
5156
5157                OperationRegion (PCEW, SystemIO, 0x0401, One)
5158                Field (PCEW, ByteAcc, NoLock, Preserve)
5159                {
5160                        ,   6,
5161                    PCWS,   1
5162                }
5163
5164                Method (XPM1, 1, NotSerialized)
5165                {
5166                    Store (Zero, Local0)
5167                    If (LEqual (RPID, 0xFFFFFFFF))
5168                    {
5169                        Return (Zero)
5170                    }
5171
5172                    If (LGreaterEqual (Arg0, 0x08))
5173                    {
5174                        Store (NPME, Local0)
5175                        While (NPME)
5176                        {
5177                            Store (One, NPME)
5178                        }
5179                    }
5180                    Else
5181                    {
5182                        Store (SPME, Local0)
5183                        While (SPME)
5184                        {
5185                            Store (One, SPME)
5186                        }
5187
5188                        While (RPSC)
5189                        {
5190                            Store (One, RPSC)
5191                        }
5192                    }
5193
5194                    Store (One, PCWS)
5195                    Return (Local0)
5196                }
5197
5198                Method (XRPW, 1, NotSerialized)
5199                {
5200                    Store (Zero, Local0)
5201                    If (LEqual (RPID, 0xFFFFFFFF))
5202                    {
5203                        Return (Zero)
5204                    }
5205
5206                    If (LGreaterEqual (Arg0, 0x08))
5207                    {
5208                        Store (NPME, Local0)
5209                    }
5210                    Else
5211                    {
5212                        Store (SPME, Local0)
5213                    }
5214
5215                    Return (Local0)
5216                }
5217
5218                Method (_PRT, 0, NotSerialized)
5219                {
5220                    If (LEqual (GPIC, Zero))
5221                    {
5222                        Return (Package (0x04)
5223                        {
5224                            Package (0x04)
5225                            {
5226                                0xFFFF,
5227                                Zero,
5228                                ^^LPC.LNKD,
5229                                Zero
5230                            },
5231
5232                            Package (0x04)
5233                            {
5234                                0xFFFF,
5235                                One,
5236                                ^^LPC.LNKA,
5237                                Zero
5238                            },
5239
5240                            Package (0x04)
5241                            {
5242                                0xFFFF,
5243                                0x02,
5244                                ^^LPC.LNKB,
5245                                Zero
5246                            },
5247
5248                            Package (0x04)
5249                            {
5250                                0xFFFF,
5251                                0x03,
5252                                ^^LPC.LNKC,
5253                                Zero
5254                            }
5255                        })
5256                    }
5257                    Else
5258                    {
5259                        Return (Package (0x04)
5260                        {
5261                            Package (0x04)
5262                            {
5263                                0xFFFF,
5264                                Zero,
5265                                Zero,
5266                                0x13
5267                            },
5268
5269                            Package (0x04)
5270                            {
5271                                0xFFFF,
5272                                One,
5273                                Zero,
5274                                0x10
5275                            },
5276
5277                            Package (0x04)
5278                            {
5279                                0xFFFF,
5280                                0x02,
5281                                Zero,
5282                                0x11
5283                            },
5284
5285                            Package (0x04)
5286                            {
5287                                0xFFFF,
5288                                0x03,
5289                                Zero,
5290                                0x12
5291                            }
5292                        })
5293                    }
5294                }
5295            }
5296
5297            Device (PEX4)
5298            {
5299                Name (_ADR, 0x001C0004)
5300                Name (PPS1, Package (0x02)
5301                {
5302                    0x09,
5303                    0x05
5304                })
5305                Method (_PRW, 0, NotSerialized)
5306                {
5307                    Return (PPS1)
5308                }
5309
5310                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
5311                Field (ORP0, AnyAcc, NoLock, Preserve)
5312                {
5313                    RPID,   32,
5314                            Offset (0x34),
5315                    CPLT,   8,
5316                            Offset (0x58),
5317                    SSLC,   10,
5318                            Offset (0x5A),
5319                    SSLS,   7,
5320                            Offset (0x5C),
5321                            Offset (0x60),
5322                    SQID,   16,
5323                    SPME,   1,
5324                    SPMP,   1,
5325                            Offset (0x64),
5326                            Offset (0xA8),
5327                    NSLC,   13,
5328                            Offset (0xAA),
5329                    NSLS,   10,
5330                            Offset (0xAC),
5331                            Offset (0xB0),
5332                    NQID,   16,
5333                    NPME,   1,
5334                    NPMP,   1,
5335                            Offset (0xB4),
5336                            Offset (0xDC),
5337                        ,   31,
5338                    RPSC,   1
5339                }
5340
5341                OperationRegion (PCEW, SystemIO, 0x0401, One)
5342                Field (PCEW, ByteAcc, NoLock, Preserve)
5343                {
5344                        ,   6,
5345                    PCWS,   1
5346                }
5347
5348                Method (XPM1, 1, NotSerialized)
5349                {
5350                    Store (Zero, Local0)
5351                    If (LEqual (RPID, 0xFFFFFFFF))
5352                    {
5353                        Return (Zero)
5354                    }
5355
5356                    If (LGreaterEqual (Arg0, 0x08))
5357                    {
5358                        Store (NPME, Local0)
5359                        While (NPME)
5360                        {
5361                            Store (One, NPME)
5362                        }
5363                    }
5364                    Else
5365                    {
5366                        Store (SPME, Local0)
5367                        While (SPME)
5368                        {
5369                            Store (One, SPME)
5370                        }
5371
5372                        While (RPSC)
5373                        {
5374                            Store (One, RPSC)
5375                        }
5376                    }
5377
5378                    Store (One, PCWS)
5379                    Return (Local0)
5380                }
5381
5382                Method (XRPW, 1, NotSerialized)
5383                {
5384                    Store (Zero, Local0)
5385                    If (LEqual (RPID, 0xFFFFFFFF))
5386                    {
5387                        Return (Zero)
5388                    }
5389
5390                    If (LGreaterEqual (Arg0, 0x08))
5391                    {
5392                        Store (NPME, Local0)
5393                    }
5394                    Else
5395                    {
5396                        Store (SPME, Local0)
5397                    }
5398
5399                    Return (Local0)
5400                }
5401
5402                Method (_PRT, 0, NotSerialized)
5403                {
5404                    If (LEqual (GPIC, Zero))
5405                    {
5406                        Return (Package (0x04)
5407                        {
5408                            Package (0x04)
5409                            {
5410                                0xFFFF,
5411                                Zero,
5412                                ^^LPC.LNKA,
5413                                Zero
5414                            },
5415
5416                            Package (0x04)
5417                            {
5418                                0xFFFF,
5419                                One,
5420                                ^^LPC.LNKB,
5421                                Zero
5422                            },
5423
5424                            Package (0x04)
5425                            {
5426                                0xFFFF,
5427                                0x02,
5428                                ^^LPC.LNKC,
5429                                Zero
5430                            },
5431
5432                            Package (0x04)
5433                            {
5434                                0xFFFF,
5435                                0x03,
5436                                ^^LPC.LNKD,
5437                                Zero
5438                            }
5439                        })
5440                    }
5441                    Else
5442                    {
5443                        Return (Package (0x04)
5444                        {
5445                            Package (0x04)
5446                            {
5447                                0xFFFF,
5448                                Zero,
5449                                Zero,
5450                                0x10
5451                            },
5452
5453                            Package (0x04)
5454                            {
5455                                0xFFFF,
5456                                One,
5457                                Zero,
5458                                0x11
5459                            },
5460
5461                            Package (0x04)
5462                            {
5463                                0xFFFF,
5464                                0x02,
5465                                Zero,
5466                                0x12
5467                            },
5468
5469                            Package (0x04)
5470                            {
5471                                0xFFFF,
5472                                0x03,
5473                                Zero,
5474                                0x13
5475                            }
5476                        })
5477                    }
5478                }
5479            }
5480
5481            Device (PEX5)
5482            {
5483                Name (_ADR, 0x001C0005)
5484                Name (PPS1, Package (0x02)
5485                {
5486                    0x09,
5487                    0x05
5488                })
5489                Method (_PRW, 0, NotSerialized)
5490                {
5491                    Return (PPS1)
5492                }
5493
5494                OperationRegion (ORP0, PCI_Config, Zero, 0xFF)
5495                Field (ORP0, AnyAcc, NoLock, Preserve)
5496                {
5497                    RPID,   32,
5498                            Offset (0x34),
5499                    CPLT,   8,
5500                            Offset (0x58),
5501                    SSLC,   10,
5502                            Offset (0x5A),
5503                    SSLS,   7,
5504                            Offset (0x5C),
5505                            Offset (0x60),
5506                    SQID,   16,
5507                    SPME,   1,
5508                    SPMP,   1,
5509                            Offset (0x64),
5510                            Offset (0xA8),
5511                    NSLC,   13,
5512                            Offset (0xAA),
5513                    NSLS,   10,
5514                            Offset (0xAC),
5515                            Offset (0xB0),
5516                    NQID,   16,
5517                    NPME,   1,
5518                    NPMP,   1,
5519                            Offset (0xB4),
5520                            Offset (0xDC),
5521                        ,   31,
5522                    RPSC,   1
5523                }
5524
5525                OperationRegion (PCEW, SystemIO, 0x0401, One)
5526                Field (PCEW, ByteAcc, NoLock, Preserve)
5527                {
5528                        ,   6,
5529                    PCWS,   1
5530                }
5531
5532                Method (XPM1, 1, NotSerialized)
5533                {
5534                    Store (Zero, Local0)
5535                    If (LEqual (RPID, 0xFFFFFFFF))
5536                    {
5537                        Return (Zero)
5538                    }
5539
5540                    If (LGreaterEqual (Arg0, 0x08))
5541                    {
5542                        Store (NPME, Local0)
5543                        While (NPME)
5544                        {
5545                            Store (One, NPME)
5546                        }
5547                    }
5548                    Else
5549                    {
5550                        Store (SPME, Local0)
5551                        While (SPME)
5552                        {
5553                            Store (One, SPME)
5554                        }
5555
5556                        While (RPSC)
5557                        {
5558                            Store (One, RPSC)
5559                        }
5560                    }
5561
5562                    Store (One, PCWS)
5563                    Return (Local0)
5564                }
5565
5566                Method (XRPW, 1, NotSerialized)
5567                {
5568                    Store (Zero, Local0)
5569                    If (LEqual (RPID, 0xFFFFFFFF))
5570                    {
5571                        Return (Zero)
5572                    }
5573
5574                    If (LGreaterEqual (Arg0, 0x08))
5575                    {
5576                        Store (NPME, Local0)
5577                    }
5578                    Else
5579                    {
5580                        Store (SPME, Local0)
5581                    }
5582
5583                    Return (Local0)
5584                }
5585            }
5586
5587            Device (APIC)
5588            {
5589                Name (_HID, EisaId ("PNP0003"))
5590                Name (_CRS, ResourceTemplate ()
5591                {
5592                    Memory32Fixed (ReadOnly,
5593                        0xFEC00000,         // Address Base
5594                        0x00000100,         // Address Length
5595                        )
5596                })
5597            }
5598
5599            Device (UHC1)
5600            {
5601                Name (_ADR, 0x001D0000)
5602                Name (UPS1, Package (0x02)
5603                {
5604                    0x03,
5605                    0x03
5606                })
5607                Method (_PRW, 0, NotSerialized)
5608                {
5609                    Return (UPS1)
5610                }
5611
5612                OperationRegion (USBR, PCI_Config, 0xC4, One)
5613                Field (USBR, AnyAcc, NoLock, Preserve)
5614                {
5615                    URES,   8
5616                }
5617
5618                Method (_PSW, 1, NotSerialized)
5619                {
5620                    If (LEqual (Arg0, Zero))
5621                    {
5622                        Store (Zero, URES)
5623                    }
5624
5625                    If (LEqual (Arg0, One))
5626                    {
5627                        Store (0x03, URES)
5628                    }
5629                }
5630            }
5631
5632            Device (UHC2)
5633            {
5634                Name (_ADR, 0x001D0001)
5635                Name (UPS1, Package (0x02)
5636                {
5637                    0x04,
5638                    0x03
5639                })
5640                Method (_PRW, 0, NotSerialized)
5641                {
5642                    Return (UPS1)
5643                }
5644
5645                OperationRegion (USBR, PCI_Config, 0xC4, One)
5646                Field (USBR, AnyAcc, NoLock, Preserve)
5647                {
5648                    URES,   8
5649                }
5650
5651                Method (_PSW, 1, NotSerialized)
5652                {
5653                    If (LEqual (Arg0, Zero))
5654                    {
5655                        Store (Zero, URES)
5656                    }
5657
5658                    If (LEqual (Arg0, One))
5659                    {
5660                        Store (0x03, URES)
5661                    }
5662                }
5663            }
5664
5665            Device (UHC3)
5666            {
5667                Name (_ADR, 0x001D0002)
5668                Name (UPS1, Package (0x02)
5669                {
5670                    0x0C,
5671                    0x03
5672                })
5673                Method (_PRW, 0, NotSerialized)
5674                {
5675                    Return (UPS1)
5676                }
5677
5678                OperationRegion (USBR, PCI_Config, 0xC4, One)
5679                Field (USBR, AnyAcc, NoLock, Preserve)
5680                {
5681                    URES,   8
5682                }
5683
5684                Method (_PSW, 1, NotSerialized)
5685                {
5686                    If (LEqual (Arg0, Zero))
5687                    {
5688                        Store (Zero, URES)
5689                    }
5690
5691                    If (LEqual (Arg0, One))
5692                    {
5693                        Store (0x03, URES)
5694                    }
5695                }
5696            }
5697
5698            Device (UHC4)
5699            {
5700                Name (_ADR, 0x001D0003)
5701                Name (UPS1, Package (0x02)
5702                {
5703                    0x0E,
5704                    0x03
5705                })
5706                Method (_PRW, 0, NotSerialized)
5707                {
5708                    Return (UPS1)
5709                }
5710
5711                OperationRegion (USBR, PCI_Config, 0xC4, One)
5712                Field (USBR, AnyAcc, NoLock, Preserve)
5713                {
5714                    URES,   8
5715                }
5716
5717                Method (_PSW, 1, NotSerialized)
5718                {
5719                    If (LEqual (Arg0, Zero))
5720                    {
5721                        Store (Zero, URES)
5722                    }
5723
5724                    If (LEqual (Arg0, One))
5725                    {
5726                        Store (0x03, URES)
5727                    }
5728                }
5729            }
5730
5731            Device (EHCI)
5732            {
5733                Name (_ADR, 0x001D0007)
5734                Name (UPS1, Package (0x02)
5735                {
5736                    0x0D,
5737                    0x03
5738                })
5739                Method (_PRW, 0, NotSerialized)
5740                {
5741                    Return (UPS1)
5742                }
5743
5744                OperationRegion (USBR, PCI_Config, 0x62, 0x02)
5745                Field (USBR, AnyAcc, NoLock, Preserve)
5746                {
5747                    URE2,   9
5748                }
5749
5750                Method (_PSW, 1, NotSerialized)
5751                {
5752                    If (LEqual (Arg0, Zero))
5753                    {
5754                        Store (Zero, URE2)
5755                    }
5756
5757                    If (LEqual (Arg0, One))
5758                    {
5759                        Store (0x01FF, URE2)
5760                    }
5761                }
5762            }
5763
5764            Device (EHC2)
5765            {
5766                Name (_ADR, 0x001A0007)
5767                Name (UPS1, Package (0x02)
5768                {
5769                    0x0D,
5770                    0x03
5771                })
5772                Method (_PRW, 0, NotSerialized)
5773                {
5774                    Return (UPS1)
5775                }
5776
5777                OperationRegion (USBR, PCI_Config, 0x62, 0x02)
5778                Field (USBR, AnyAcc, NoLock, Preserve)
5779                {
5780                    URE2,   9
5781                }
5782
5783                Method (_PSW, 1, NotSerialized)
5784                {
5785                    If (LEqual (Arg0, Zero))
5786                    {
5787                        Store (Zero, URE2)
5788                    }
5789
5790                    If (LEqual (Arg0, One))
5791                    {
5792                        Store (0x01FF, URE2)
5793                    }
5794                }
5795            }
5796
5797            Device (UH42)
5798            {
5799                Name (_ADR, 0x001A0000)
5800                Name (UPS1, Package (0x02)
5801                {
5802                    0x0E,
5803                    0x03
5804                })
5805                Method (_PRW, 0, NotSerialized)
5806                {
5807                    Return (UPS1)
5808                }
5809
5810                OperationRegion (USBR, PCI_Config, 0xC4, One)
5811                Field (USBR, AnyAcc, NoLock, Preserve)
5812                {
5813                    URES,   8
5814                }
5815
5816                Method (_PSW, 1, NotSerialized)
5817                {
5818                    If (LEqual (Arg0, Zero))
5819                    {
5820                        Store (Zero, URES)
5821                    }
5822
5823                    If (LEqual (Arg0, One))
5824                    {
5825                        Store (0x03, URES)
5826                    }
5827                }
5828            }
5829
5830            Device (UHC5)
5831            {
5832                Name (_ADR, 0x001A0001)
5833                Name (UPS1, Package (0x02)
5834                {
5835                    0x05,
5836                    0x03
5837                })
5838                Method (_PRW, 0, NotSerialized)
5839                {
5840                    Return (UPS1)
5841                }
5842
5843                OperationRegion (USBR, PCI_Config, 0xC4, One)
5844                Field (USBR, AnyAcc, NoLock, Preserve)
5845                {
5846                    URES,   8
5847                }
5848
5849                Method (_PSW, 1, NotSerialized)
5850                {
5851                    If (LEqual (Arg0, Zero))
5852                    {
5853                        Store (Zero, URES)
5854                    }
5855
5856                    If (LEqual (Arg0, One))
5857                    {
5858                        Store (0x03, URES)
5859                    }
5860                }
5861            }
5862
5863            Device (UHC6)
5864            {
5865                Name (_ADR, 0x001A0002)
5866                Name (UPS1, Package (0x02)
5867                {
5868                    0x20,
5869                    0x03
5870                })
5871                Method (_PRW, 0, NotSerialized)
5872                {
5873                    Return (UPS1)
5874                }
5875
5876                OperationRegion (USBR, PCI_Config, 0xC4, One)
5877                Field (USBR, AnyAcc, NoLock, Preserve)
5878                {
5879                    URES,   8
5880                }
5881
5882                Method (_PSW, 1, NotSerialized)
5883                {
5884                    If (LEqual (Arg0, Zero))
5885                    {
5886                        Store (Zero, URES)
5887                    }
5888
5889                    If (LEqual (Arg0, One))
5890                    {
5891                        Store (0x03, URES)
5892                    }
5893                }
5894            }
5895
5896            Device (AZAL)
5897            {
5898                Name (_ADR, 0x001B0000)
5899                Name (UPS1, Package (0x02)
5900                {
5901                    0x0D,
5902                    0x03
5903                })
5904                Method (_PRW, 0, NotSerialized)
5905                {
5906                    Return (UPS1)
5907                }
5908
5909                OperationRegion (AZPM, PCI_Config, 0x55, One)
5910                Field (AZPM, ByteAcc, NoLock, Preserve)
5911                {
5912                    AZWE,   1
5913                }
5914
5915                Method (_PSW, 1, NotSerialized)
5916                {
5917                    If (LEqual (Arg0, Zero))
5918                    {
5919                        Store (Zero, AZWE)
5920                    }
5921
5922                    If (LEqual (Arg0, One))
5923                    {
5924                        Store (One, AZWE)
5925                    }
5926                }
5927            }
5928
5929            Device (SAT1)
5930            {
5931                Name (_ADR, 0x001F0002)
5932                Device (PRID)
5933                {
5934                    Name (_ADR, Zero)
5935                    Device (P_D0)
5936                    {
5937                        Name (_ADR, Zero)
5938                        Method (_GTF, 0, NotSerialized)
5939                        {
5940                            Name (PIB0, Buffer (0x07)
5941                            {
5942                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
5943                            })
5944                            Return (PIB0)
5945                        }
5946                    }
5947
5948                    Device (P_D1)
5949                    {
5950                        Name (_ADR, One)
5951                        Method (_GTF, 0, NotSerialized)
5952                        {
5953                            Name (PIB1, Buffer (0x07)
5954                            {
5955                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
5956                            })
5957                            Return (PIB1)
5958                        }
5959                    }
5960                }
5961
5962                Device (SECD)
5963                {
5964                    Name (_ADR, One)
5965                    Device (S_D0)
5966                    {
5967                        Name (_ADR, Zero)
5968                        Method (_GTF, 0, NotSerialized)
5969                        {
5970                            Name (PIB0, Buffer (0x07)
5971                            {
5972                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
5973                            })
5974                            Return (PIB0)
5975                        }
5976                    }
5977
5978                    Device (S_D1)
5979                    {
5980                        Name (_ADR, One)
5981                        Method (_GTF, 0, NotSerialized)
5982                        {
5983                            Name (PIB1, Buffer (0x07)
5984                            {
5985                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
5986                            })
5987                            Return (PIB1)
5988                        }
5989                    }
5990                }
5991            }
5992
5993            Device (SAT2)
5994            {
5995                Name (_ADR, 0x001F0005)
5996                Device (PRID)
5997                {
5998                    Name (_ADR, Zero)
5999                    Device (P_D0)
6000                    {
6001                        Name (_ADR, Zero)
6002                        Method (_GTF, 0, NotSerialized)
6003                        {
6004                            Name (PIB0, Buffer (0x07)
6005                            {
6006                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
6007                            })
6008                            Return (PIB0)
6009                        }
6010                    }
6011                }
6012
6013                Device (SECD)
6014                {
6015                    Name (_ADR, One)
6016                    Device (S_D0)
6017                    {
6018                        Name (_ADR, Zero)
6019                        Method (_GTF, 0, NotSerialized)
6020                        {
6021                            Name (PIB0, Buffer (0x07)
6022                            {
6023                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
6024                            })
6025                            Return (PIB0)
6026                        }
6027                    }
6028                }
6029            }
6030
6031            Device (HPET)
6032            {
6033                Name (_HID, EisaId ("PNP0103"))
6034                Name (_CRS, ResourceTemplate ()
6035                {
6036                    Memory32Fixed (ReadOnly,
6037                        0xFED00000,         // Address Base
6038                        0x00004000,         // Address Length
6039                        )
6040                })
6041                Method (_STA, 0, NotSerialized)
6042                {
6043                    If (HPEE)
6044                    {
6045                        Return (0x0F)
6046                    }
6047                    Else
6048                    {
6049                        Return (Zero)
6050                    }
6051                }
6052            }
6053        }
6054    }
6055
6056    Scope (_SB.PCI0)
6057    {
6058        Name (SLIC, Buffer (0x9E)
6059        {
6060            "987134512781Genuine NVIDIA Certified SLI Ready Motherboard for Intel Smackover     0101-Copyright 2008 NVIDIA Corporation All Rights Reserved-765289891023(R)"
6061        })
6062    }
6063
6064    Device (_SB.PCI0.WMI1)
6065    {
6066        Name (_HID, "pnp0c14")
6067        Name (_UID, "MXM2")
6068        Name (_WDG, Buffer (0x14)
6069        {
6070            /* 0000 */    0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E,
6071            /* 0008 */    0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0,
6072            /* 0010 */    0x4D, 0x58, 0x01, 0x02
6073        })
6074        Method (WMMX, 3, NotSerialized)
6075        {
6076            CreateDWordField (Arg2, Zero, FUNC)
6077            If (LEqual (FUNC, 0x41494C53))
6078            {
6079                Return (SLIC)
6080            }
6081
6082            Return (Zero)
6083        }
6084    }
6085}
6086