Ticket #406: DSDT_DX5.DSL

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