Ticket #383: dsdt_1ADKN018.dsl

File dsdt_1ADKN018.dsl, 159.2 KB (added by rforster, 15 years ago)
Line 
1/*
2 * Intel ACPI Component Architecture
3 * AML Disassembler version 20060912
4 *
5 * Disassembly of (null), Thu Feb 19 15:09:11 2009
6 *
7 *
8 * Original Table Header:
9 *     Signature        "DSDT"
10 *     Length           0x00004106 (16646)
11 *     Revision         0x01
12 *     OEM ID           "1ADKN"
13 *     OEM Table ID     "1ADKN018"
14 *     OEM Revision     0x00000018 (24)
15 *     Creator ID       "INTL"
16 *     Creator Revision 0x20051117 (537202967)
17 */
18DefinitionBlock ("DSDT.aml", "DSDT", 1, "1ADKN", "1ADKN018", 0x00000018)
19{
20    Scope (_PR)
21    {
22        Processor (CPU1, 0x01, 0x00000810, 0x06)
23        {
24            OperationRegion (STBL, SystemMemory, 0x37FC45E0, 0x02E3)
25            Name (NCPU, 0x02)
26            Name (CFGD, 0x09)
27            Name (TYPE, 0x80000000)
28            Name (HNDL, 0x80000000)
29            Name (TBLD, Zero)
30            Method (_PDC, 1, NotSerialized)
31            {
32                CreateDWordField (Arg0, 0x08, DAT0)
33                Store (DAT0, TYPE)
34                OperationRegion (PMRG, SystemIO, PMBS, 0x50)
35                Field (PMRG, ByteAcc, NoLock, Preserve)
36                {
37                            Offset (0x41),
38                    DEV4,   1,
39                    DEV5,   1,
40                    DEV6,   1,
41                    DEV7,   1,
42                    STS4,   1,
43                    STS5,   1,
44                    STS6,   1,
45                    STS7,   1
46                }
47
48                Store (One, STS7)
49                Store (One, DEV7)
50                If (LEqual (TBLD, Zero))
51                {
52                    Load (STBL, HNDL)
53                    Store (One, TBLD)
54                }
55            }
56        }
57    }
58
59    Scope (_PR)
60    {
61        Processor (CPU2, 0x02, 0x00000810, 0x06)
62        {
63            OperationRegion (STBL, SystemMemory, 0x37FC48D0, 0x02DA)
64            Name (NCPU, 0x02)
65            Name (CFGD, 0x09)
66            Name (TYPE, 0x80000000)
67            Name (HNDL, 0x80000000)
68            Name (TBLD, Zero)
69            Method (_PDC, 1, NotSerialized)
70            {
71                CreateDWordField (Arg0, 0x08, DAT0)
72                Store (DAT0, TYPE)
73                If (LEqual (TBLD, Zero))
74                {
75                    Load (STBL, HNDL)
76                    Store (One, TBLD)
77                }
78            }
79        }
80    }
81
82    Scope (_PR)
83    {
84        Processor (CPU3, 0x03, 0x00000810, 0x06)
85        {
86            OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF)
87            Name (NCPU, 0x80)
88            Name (CFGD, 0x80)
89            Name (TYPE, 0x80000000)
90            Name (HNDL, 0x80000000)
91            Name (TBLD, Zero)
92            Method (_PDC, 1, NotSerialized)
93            {
94                CreateDWordField (Arg0, 0x08, DAT0)
95                Store (DAT0, TYPE)
96                If (LEqual (TBLD, Zero))
97                {
98                    If (LAnd (LEqual (And (TYPE, One), One), LLessEqual (
99                        NCPU, 0x08)))
100                    {
101                        Load (STBL, HNDL)
102                        Store (One, TBLD)
103                    }
104                }
105            }
106        }
107    }
108
109    Scope (_PR)
110    {
111        Processor (CPU4, 0x04, 0x00000810, 0x06)
112        {
113            OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF)
114            Name (NCPU, 0x80)
115            Name (CFGD, 0x80)
116            Name (TYPE, 0x80000000)
117            Name (HNDL, 0x80000000)
118            Name (TBLD, Zero)
119            Method (_PDC, 1, NotSerialized)
120            {
121                CreateDWordField (Arg0, 0x08, DAT0)
122                Store (DAT0, TYPE)
123                OperationRegion (PMRG, SystemIO, PMBS, 0x50)
124                Field (PMRG, ByteAcc, NoLock, Preserve)
125                {
126                            Offset (0x41),
127                    DEV4,   1,
128                    DEV5,   1,
129                    DEV6,   1,
130                    DEV7,   1,
131                    STS4,   1,
132                    STS5,   1,
133                    STS6,   1,
134                    STS7,   1
135                }
136
137                If (LEqual (TBLD, Zero))
138                {
139                    If (LAnd (LEqual (And (TYPE, One), One), LLessEqual (
140                        NCPU, 0x08)))
141                    {
142                        Store (One, STS6)
143                        Store (One, DEV6)
144                        Load (STBL, HNDL)
145                        Store (One, TBLD)
146                    }
147                }
148            }
149        }
150    }
151
152    OperationRegion (ACMS, SystemIO, 0x72, 0x02)
153    Field (ACMS, ByteAcc, NoLock, Preserve)
154    {
155        ICMS,   8,
156        DCMS,   8
157    }
158
159    IndexField (ICMS, DCMS, ByteAcc, NoLock, Preserve)
160    {
161                Offset (0x01),
162                Offset (0x04),
163                Offset (0x08),
164        BS_A,   32,
165                Offset (0x1C),
166        REV0,   8,
167        REV1,   8
168    }
169
170    OperationRegion (ACAF, SystemMemory, BS_A, 0x20)
171    Field (ACAF, AnyAcc, NoLock, Preserve)
172    {
173        OCC0,   1,
174        OCC1,   1,
175        OCC2,   1,
176        OCC3,   1,
177        OCC4,   1,
178        OCC5,   1,
179        OCC6,   1,
180        OCC7,   1,
181        OCC8,   1,
182        OCC9,   1,
183                Offset (0x02),
184        TPMF,   1,
185        STHP,   1,
186        SHPG,   1,
187            ,   1,
188                Offset (0x04),
189        PCIE,   32,
190        HPBS,   32,
191        OCM0,   4,
192        OCM1,   4,
193        OCM2,   4,
194        OCM3,   4,
195        OCM4,   4,
196        OCM5,   4,
197        OCM6,   4,
198        OCM7,   4,
199        OCM8,   4,
200        OCM9,   4
201    }
202
203    OperationRegion (CMPT, SystemIO, 0x0C50, 0x03)
204    Field (CMPT, ByteAcc, NoLock, Preserve)
205    {
206        CMIN,   8,
207            ,   6,
208        GPCT,   2,
209        GP0I,   1,
210        GP1I,   1,
211        GP2I,   1,
212        GP3I,   1,
213        GP4I,   1,
214        GP5I,   1,
215        GP6I,   1,
216        GP7I,   1
217    }
218
219    OperationRegion (PCFG, SystemMemory, PCIE, 0x02000000)
220    Field (PCFG, AnyAcc, NoLock, Preserve)
221    {
222                Offset (0x90024),
223        STB5,   32,
224                Offset (0x98042),
225        PT0D,   1,
226        PT1D,   1,
227        PT2D,   1,
228        PT3D,   1,
229        PT4D,   1,
230        PT5D,   1,
231        PT6D,   1,
232        PT7D,   1,
233        PT8D,   1,
234        PT9D,   1,
235                Offset (0xA0004),
236        SMIE,   1,
237        SMME,   1,
238                Offset (0xA0014),
239        SMB1,   32
240    }
241
242    OperationRegion (BAR, SystemMemory, STB5, 0x1000)
243    Field (BAR, AnyAcc, NoLock, Preserve)
244    {
245                Offset (0x120),
246            ,   7,
247        PMBY,   1,
248                Offset (0x128),
249        PMS0,   4,
250                Offset (0x129),
251        PMS1,   4,
252                Offset (0x12C),
253        DET0,   4,
254                Offset (0x130),
255                Offset (0x132),
256        PRC0,   1,
257                Offset (0x1A0),
258            ,   7,
259        SMBY,   1,
260                Offset (0x1A8),
261        SMS0,   4,
262                Offset (0x1A9),
263        SMS1,   4,
264                Offset (0x1AC),
265        DET1,   4,
266                Offset (0x1B0),
267                Offset (0x1B2),
268        PRC1,   1,
269                Offset (0x220),
270            ,   7,
271        PSBY,   1,
272                Offset (0x228),
273        PSS0,   4,
274                Offset (0x229),
275        PSS1,   4,
276                Offset (0x22C),
277        DET2,   4,
278                Offset (0x230),
279                Offset (0x232),
280        PRC2,   1,
281                Offset (0x2A0),
282            ,   7,
283        SSBY,   1,
284                Offset (0x2A8),
285        SSS0,   4,
286                Offset (0x2A9),
287        SSS1,   4,
288                Offset (0x2AC),
289        DET3,   4,
290                Offset (0x2B0),
291                Offset (0x2B2),
292        PRC3,   1
293    }
294
295    OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02)
296    Field (PMIO, ByteAcc, NoLock, Preserve)
297    {
298        INPM,   8,
299        DAPM,   8
300    }
301
302    IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve)
303    {
304            ,   1,
305        TM1E,   1,
306        TM2E,   1,
307                Offset (0x01),
308            ,   1,
309        TM1S,   1,
310        TM2S,   1,
311                Offset (0x04),
312            ,   7,
313        SLPS,   1,
314                Offset (0x07),
315            ,   7,
316        CLPS,   1,
317                Offset (0x10),
318            ,   6,
319        PWDE,   1,
320                Offset (0x1C),
321            ,   3,
322        MKME,   1,
323        PI3E,   1,
324        PI2E,   1,
325        PI1E,   1,
326        PI0E,   1,
327            ,   3,
328        MKMS,   1,
329        PI3S,   1,
330        PI2S,   1,
331        PI1S,   1,
332        PI0S,   1,
333                Offset (0x20),
334        P1EB,   16,
335                Offset (0x36),
336            ,   6,
337        GV6P,   1,
338        GV7P,   1,
339            ,   3,
340        GM0P,   1,
341        GM1P,   1,
342        GM2P,   1,
343        GM3P,   1,
344        GM8P,   1,
345            ,   1,
346        GM4P,   1,
347        GM5P,   1,
348            ,   1,
349        GM6P,   1,
350        GM7P,   1,
351                Offset (0x3B),
352        GPX0,   1,
353        GPX4,   1,
354        GPX5,   1,
355        GPX1,   1,
356        GPX6,   1,
357        GPX7,   1,
358        GPX2,   1,
359        GPX3,   1,
360                Offset (0x55),
361        SPRE,   1,
362                Offset (0x65),
363            ,   4,
364        RSTU,   1,
365                Offset (0x68),
366            ,   3,
367        TPDE,   1,
368            ,   1,
369                Offset (0x92),
370            ,   7,
371        GV7S,   1,
372                Offset (0x96),
373        GP8I,   1,
374        GP9I,   1,
375                Offset (0x9A),
376            ,   7,
377        HECO,   1,
378                Offset (0xA8),
379        TPE0,   1,
380        TPE1,   1,
381        TPE2,   1,
382        TPE3,   1
383    }
384
385    OperationRegion (P1E0, SystemIO, P1EB, 0x04)
386    Field (P1E0, ByteAcc, NoLock, Preserve)
387    {
388            ,   14,
389        PEWS,   1,
390        WSTA,   1,
391            ,   14,
392        PEWD,   1
393    }
394
395    Method (C_OC, 0, NotSerialized)
396    {
397        Sleep (0x14)
398        Store (0x13, CMIN)
399        Store (Zero, GPCT)
400    }
401
402    Method (U_OC, 2, NotSerialized)
403    {
404        If (LEqual (OCM0, Arg0))
405        {
406            Store (Arg1, PT0D)
407        }
408
409        If (LEqual (OCM1, Arg0))
410        {
411            Store (Arg1, PT1D)
412        }
413
414        If (LEqual (OCM2, Arg0))
415        {
416            Store (Arg1, PT2D)
417        }
418
419        If (LEqual (OCM3, Arg0))
420        {
421            Store (Arg1, PT3D)
422        }
423
424        If (LEqual (OCM4, Arg0))
425        {
426            Store (Arg1, PT4D)
427        }
428
429        If (LEqual (OCM5, Arg0))
430        {
431            Store (Arg1, PT5D)
432        }
433
434        If (LEqual (OCM6, Arg0))
435        {
436            Store (Arg1, PT6D)
437        }
438
439        If (LEqual (OCM7, Arg0))
440        {
441            Store (Arg1, PT7D)
442        }
443
444        If (LEqual (OCM8, Arg0))
445        {
446            Store (Arg1, PT8D)
447        }
448
449        If (LEqual (OCM9, Arg0))
450        {
451            Store (Arg1, PT9D)
452        }
453    }
454
455    Method (SPTS, 1, NotSerialized)
456    {
457        If (LEqual (Arg0, 0x03))
458        {
459            Store (Zero, RSTU)
460        }
461
462        Store (One, CLPS)
463        Store (One, SLPS)
464        Store (Zero, PWDE)
465    }
466
467    Method (SWAK, 1, NotSerialized)
468    {
469        Store (One, HECO)
470        If (LEqual (Arg0, 0x03))
471        {
472            Store (One, RSTU)
473        }
474
475        Store (PEWS, PEWS)
476    }
477
478    Method (TRMD, 1, NotSerialized)
479    {
480        Store (Arg0, SPRE)
481        Store (Arg0, TPDE)
482    }
483
484    If (OCC0)
485    {
486        Scope (_GPE)
487        {
488            Method (_L13, 0, NotSerialized)
489            {
490                C_OC ()
491                If (LEqual (GP0I, GM0P))
492                {
493                    Not (GM0P, GM0P)
494                    U_OC (Zero, GM0P)
495                }
496            }
497        }
498    }
499
500    If (OCC1)
501    {
502        Scope (_GPE)
503        {
504            Method (_L14, 0, NotSerialized)
505            {
506                C_OC ()
507                If (LEqual (GP1I, GM1P))
508                {
509                    Not (GM1P, GM1P)
510                    U_OC (One, GM1P)
511                }
512            }
513        }
514    }
515
516    If (OCC2)
517    {
518        Scope (_GPE)
519        {
520            Method (_L15, 0, NotSerialized)
521            {
522                C_OC ()
523                If (LEqual (GP2I, GM2P))
524                {
525                    Not (GM2P, GM2P)
526                    U_OC (0x02, GM2P)
527                }
528            }
529        }
530    }
531
532    If (OCC3)
533    {
534        Scope (_GPE)
535        {
536            Method (_L16, 0, NotSerialized)
537            {
538                C_OC ()
539                If (LEqual (GP3I, GM3P))
540                {
541                    Not (GM3P, GM3P)
542                    U_OC (0x03, GM3P)
543                }
544            }
545        }
546    }
547
548    If (OCC4)
549    {
550        Scope (_GPE)
551        {
552            Method (_L19, 0, NotSerialized)
553            {
554                C_OC ()
555                If (LEqual (GP4I, GM4P))
556                {
557                    Not (GM4P, GM4P)
558                    U_OC (0x04, GM4P)
559                }
560            }
561        }
562    }
563
564    If (OCC5)
565    {
566        Scope (_GPE)
567        {
568            Method (_L1A, 0, NotSerialized)
569            {
570                C_OC ()
571                If (LEqual (GP5I, GM5P))
572                {
573                    Not (GM5P, GM5P)
574                    U_OC (0x05, GM5P)
575                }
576            }
577        }
578    }
579
580    If (OCC6)
581    {
582        Scope (_GPE)
583        {
584            Method (_L1C, 0, NotSerialized)
585            {
586                C_OC ()
587                If (LEqual (GP6I, GM6P))
588                {
589                    Not (GV6P, GV6P)
590                    U_OC (0x06, GV6P)
591                }
592            }
593        }
594    }
595
596    If (OCC7)
597    {
598        Scope (_GPE)
599        {
600            Method (_L1D, 0, NotSerialized)
601            {
602                C_OC ()
603                If (LEqual (GP7I, GM7P))
604                {
605                    Not (GV7P, GV7P)
606                    U_OC (0x07, GV7P)
607                }
608            }
609        }
610    }
611
612    If (OCC8)
613    {
614        Scope (_GPE)
615        {
616            Method (_L17, 0, NotSerialized)
617            {
618                C_OC ()
619                If (LEqual (GP8I, GM8P))
620                {
621                    Not (GM8P, GM8P)
622                    U_OC (0x08, GM8P)
623                }
624            }
625        }
626    }
627
628    If (OCC9)
629    {
630        Scope (_GPE)
631        {
632            Method (_L0E, 0, NotSerialized)
633            {
634                C_OC ()
635                If (LEqual (GP9I, Zero))
636                {
637                    U_OC (0x09, One)
638                }
639            }
640        }
641    }
642
643    Method (NPTS, 1, NotSerialized)
644    {
645    }
646
647    Method (NWAK, 1, NotSerialized)
648    {
649    }
650
651    Name (DP80, 0x80)
652    Name (DP90, 0x90)
653    Name (SPIO, 0x2E)
654    Name (IO1P, 0x0A00)
655    Name (IO1L, 0x80)
656    Name (HTTC, One)
657    Name (PMBS, 0x0800)
658    Name (PMLN, 0xA0)
659    Name (GPBS, Zero)
660    Name (GPLN, Zero)
661    Name (SMBB, 0x0B00)
662    Name (SMBL, 0x10)
663    Name (APIC, One)
664    Name (PCIB, 0xE0000000)
665    Name (PCIL, 0x10000000)
666    Name (SHR0, Zero)
667    OperationRegion (BIOS, SystemMemory, 0x37FCE064, 0xFF)
668    Field (BIOS, ByteAcc, NoLock, Preserve)
669    {
670        SS1,    1,
671        SS2,    1,
672        SS3,    1,
673        SS4,    1,
674                Offset (0x01),
675        IOST,   16,
676        TOPM,   32,
677        ROMS,   32,
678        MG1B,   32,
679        MG1L,   32,
680        MG2B,   32,
681        MG2L,   32,
682                Offset (0x1C),
683        DMAX,   8,
684        HPTA,   32,
685        CPB0,   32,
686        CPB1,   32,
687        CPB2,   32,
688        CPB3,   32,
689        ASSB,   8,
690        AOTB,   8,
691        AAXB,   32,
692        SMIF,   8,
693        DTSE,   8,
694        DTS1,   8,
695        DTS2,   8,
696        MPEN,   8
697    }
698
699    Method (RRIO, 4, NotSerialized)
700    {
701        Store ("RRIO", Debug)
702    }
703
704    Method (RDMA, 3, NotSerialized)
705    {
706        Store ("rDMA", Debug)
707    }
708
709    Name (PICM, Zero)
710    Method (_PIC, 1, NotSerialized)
711    {
712        If (Arg0)
713        {
714            Store (0xAA, DBG8)
715            \_SB.IRQC ()
716        }
717        Else
718        {
719            Store (0xAC, DBG8)
720        }
721
722        Store (Arg0, PICM)
723    }
724
725    Name (OSVR, Ones)
726    Method (OSFL, 0, NotSerialized)
727    {
728        If (LNotEqual (OSVR, Ones))
729        {
730            Return (OSVR)
731        }
732
733        If (LEqual (PICM, Zero))
734        {
735            Store (0xAC, DBG8)
736        }
737
738        Store (One, OSVR)
739        If (CondRefOf (_OSI, Local1))
740        {
741            If (_OSI ("Windows 2001"))
742            {
743                Store (Zero, OSVR)
744            }
745        }
746        Else
747        {
748            If (MCTH (_OS, "Microsoft Windows NT"))
749            {
750                Store (0x04, OSVR)
751            }
752            Else
753            {
754                If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
755                {
756                    Store (0x02, OSVR)
757                }
758
759                If (MCTH (_OS, "Linux"))
760                {
761                    Store (0x03, OSVR)
762                }
763            }
764        }
765
766        Return (OSVR)
767    }
768
769    Method (MCTH, 2, NotSerialized)
770    {
771        If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
772        {
773            Return (Zero)
774        }
775
776        Add (SizeOf (Arg0), One, Local0)
777        Name (BUF0, Buffer (Local0) {})
778        Name (BUF1, Buffer (Local0) {})
779        Store (Arg0, BUF0)
780        Store (Arg1, BUF1)
781        While (Local0)
782        {
783            Decrement (Local0)
784            If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
785                BUF1, Local0))))
786            {
787                Return (Zero)
788            }
789        }
790
791        Return (One)
792    }
793
794    Name (PRWP, Package (0x02)
795    {
796        Zero,
797        Zero
798    })
799    Method (GPRW, 2, NotSerialized)
800    {
801        Store (Arg0, Index (PRWP, Zero))
802        Store (ShiftLeft (SS1, One), Local0)
803        Or (Local0, ShiftLeft (SS2, 0x02), Local0)
804        Or (Local0, ShiftLeft (SS3, 0x03), Local0)
805        Or (Local0, ShiftLeft (SS4, 0x04), Local0)
806        If (And (ShiftLeft (One, Arg1), Local0))
807        {
808            Store (Arg1, Index (PRWP, One))
809        }
810        Else
811        {
812            ShiftRight (Local0, One, Local0)
813            If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
814            {
815                FindSetLeftBit (Local0, Index (PRWP, One))
816            }
817            Else
818            {
819                FindSetRightBit (Local0, Index (PRWP, One))
820            }
821        }
822
823        Return (PRWP)
824    }
825
826    Name (WAKP, Package (0x02)
827    {
828        Zero,
829        Zero
830    })
831    OperationRegion (DEB0, SystemIO, DP80, One)
832    Field (DEB0, ByteAcc, NoLock, Preserve)
833    {
834        DBG8,   8
835    }
836
837    OperationRegion (DEB1, SystemIO, DP90, 0x02)
838    Field (DEB1, WordAcc, NoLock, Preserve)
839    {
840        DBG9,   16
841    }
842
843    Scope (_SB)
844    {
845        Name (PR00, Package (0x09)
846        {
847            Package (0x04)
848            {
849                0x0014FFFF,
850                Zero,
851                LNKA,
852                Zero
853            },
854
855            Package (0x04)
856            {
857                0x0014FFFF,
858                One,
859                LNKB,
860                Zero
861            },
862
863            Package (0x04)
864            {
865                0x0014FFFF,
866                0x02,
867                LNKC,
868                Zero
869            },
870
871            Package (0x04)
872            {
873                0x0014FFFF,
874                0x03,
875                LNKD,
876                Zero
877            },
878
879            Package (0x04)
880            {
881                0x0013FFFF,
882                Zero,
883                LNKA,
884                Zero
885            },
886
887            Package (0x04)
888            {
889                0x0013FFFF,
890                One,
891                LNKB,
892                Zero
893            },
894
895            Package (0x04)
896            {
897                0x0013FFFF,
898                0x02,
899                LNKC,
900                Zero
901            },
902
903            Package (0x04)
904            {
905                0x0013FFFF,
906                0x03,
907                LNKD,
908                Zero
909            },
910
911            Package (0x04)
912            {
913                0x0012FFFF,
914                Zero,
915                LNKG,
916                Zero
917            }
918        })
919        Name (AR00, Package (0x09)
920        {
921            Package (0x04)
922            {
923                0x0014FFFF,
924                Zero,
925                Zero,
926                0x10
927            },
928
929            Package (0x04)
930            {
931                0x0014FFFF,
932                One,
933                Zero,
934                0x11
935            },
936
937            Package (0x04)
938            {
939                0x0014FFFF,
940                0x02,
941                Zero,
942                0x12
943            },
944
945            Package (0x04)
946            {
947                0x0014FFFF,
948                0x03,
949                Zero,
950                0x13
951            },
952
953            Package (0x04)
954            {
955                0x0013FFFF,
956                Zero,
957                Zero,
958                0x10
959            },
960
961            Package (0x04)
962            {
963                0x0013FFFF,
964                One,
965                Zero,
966                0x11
967            },
968
969            Package (0x04)
970            {
971                0x0013FFFF,
972                0x02,
973                Zero,
974                0x12
975            },
976
977            Package (0x04)
978            {
979                0x0013FFFF,
980                0x03,
981                Zero,
982                0x13
983            },
984
985            Package (0x04)
986            {
987                0x0012FFFF,
988                Zero,
989                Zero,
990                0x16
991            }
992        })
993        Name (PR02, Package (0x04)
994        {
995            Package (0x04)
996            {
997                0xFFFF,
998                Zero,
999                LNKC,
1000                Zero
1001            },
1002
1003            Package (0x04)
1004            {
1005                0xFFFF,
1006                One,
1007                LNKD,
1008                Zero
1009            },
1010
1011            Package (0x04)
1012            {
1013                0xFFFF,
1014                0x02,
1015                LNKA,
1016                Zero
1017            },
1018
1019            Package (0x04)
1020            {
1021                0xFFFF,
1022                0x03,
1023                LNKB,
1024                Zero
1025            }
1026        })
1027        Name (AR02, Package (0x04)
1028        {
1029            Package (0x04)
1030            {
1031                0xFFFF,
1032                Zero,
1033                Zero,
1034                0x12
1035            },
1036
1037            Package (0x04)
1038            {
1039                0xFFFF,
1040                One,
1041                Zero,
1042                0x13
1043            },
1044
1045            Package (0x04)
1046            {
1047                0xFFFF,
1048                0x02,
1049                Zero,
1050                0x10
1051            },
1052
1053            Package (0x04)
1054            {
1055                0xFFFF,
1056                0x03,
1057                Zero,
1058                0x11
1059            }
1060        })
1061        Name (PR03, Package (0x04)
1062        {
1063            Package (0x04)
1064            {
1065                0xFFFF,
1066                Zero,
1067                LNKD,
1068                Zero
1069            },
1070
1071            Package (0x04)
1072            {
1073                0xFFFF,
1074                One,
1075                LNKA,
1076                Zero
1077            },
1078
1079            Package (0x04)
1080            {
1081                0xFFFF,
1082                0x02,
1083                LNKB,
1084                Zero
1085            },
1086
1087            Package (0x04)
1088            {
1089                0xFFFF,
1090                0x03,
1091                LNKC,
1092                Zero
1093            }
1094        })
1095        Name (AR03, Package (0x04)
1096        {
1097            Package (0x04)
1098            {
1099                0xFFFF,
1100                Zero,
1101                Zero,
1102                0x13
1103            },
1104
1105            Package (0x04)
1106            {
1107                0xFFFF,
1108                One,
1109                Zero,
1110                0x10
1111            },
1112
1113            Package (0x04)
1114            {
1115                0xFFFF,
1116                0x02,
1117                Zero,
1118                0x11
1119            },
1120
1121            Package (0x04)
1122            {
1123                0xFFFF,
1124                0x03,
1125                Zero,
1126                0x12
1127            }
1128        })
1129        Name (PR04, Package (0x04)
1130        {
1131            Package (0x04)
1132            {
1133                0xFFFF,
1134                Zero,
1135                LNKA,
1136                Zero
1137            },
1138
1139            Package (0x04)
1140            {
1141                0xFFFF,
1142                One,
1143                LNKB,
1144                Zero
1145            },
1146
1147            Package (0x04)
1148            {
1149                0xFFFF,
1150                0x02,
1151                LNKC,
1152                Zero
1153            },
1154
1155            Package (0x04)
1156            {
1157                0xFFFF,
1158                0x03,
1159                LNKD,
1160                Zero
1161            }
1162        })
1163        Name (AR04, Package (0x04)
1164        {
1165            Package (0x04)
1166            {
1167                0xFFFF,
1168                Zero,
1169                Zero,
1170                0x10
1171            },
1172
1173            Package (0x04)
1174            {
1175                0xFFFF,
1176                One,
1177                Zero,
1178                0x11
1179            },
1180
1181            Package (0x04)
1182            {
1183                0xFFFF,
1184                0x02,
1185                Zero,
1186                0x12
1187            },
1188
1189            Package (0x04)
1190            {
1191                0xFFFF,
1192                0x03,
1193                Zero,
1194                0x13
1195            }
1196        })
1197        Name (PR05, Package (0x04)
1198        {
1199            Package (0x04)
1200            {
1201                0xFFFF,
1202                Zero,
1203                LNKB,
1204                Zero
1205            },
1206
1207            Package (0x04)
1208            {
1209                0xFFFF,
1210                One,
1211                LNKC,
1212                Zero
1213            },
1214
1215            Package (0x04)
1216            {
1217                0xFFFF,
1218                0x02,
1219                LNKD,
1220                Zero
1221            },
1222
1223            Package (0x04)
1224            {
1225                0xFFFF,
1226                0x03,
1227                LNKA,
1228                Zero
1229            }
1230        })
1231        Name (AR05, Package (0x04)
1232        {
1233            Package (0x04)
1234            {
1235                0xFFFF,
1236                Zero,
1237                Zero,
1238                0x11
1239            },
1240
1241            Package (0x04)
1242            {
1243                0xFFFF,
1244                One,
1245                Zero,
1246                0x12
1247            },
1248
1249            Package (0x04)
1250            {
1251                0xFFFF,
1252                0x02,
1253                Zero,
1254                0x13
1255            },
1256
1257            Package (0x04)
1258            {
1259                0xFFFF,
1260                0x03,
1261                Zero,
1262                0x10
1263            }
1264        })
1265        Name (PR06, Package (0x04)
1266        {
1267            Package (0x04)
1268            {
1269                0xFFFF,
1270                Zero,
1271                LNKC,
1272                Zero
1273            },
1274
1275            Package (0x04)
1276            {
1277                0xFFFF,
1278                One,
1279                LNKD,
1280                Zero
1281            },
1282
1283            Package (0x04)
1284            {
1285                0xFFFF,
1286                0x02,
1287                LNKA,
1288                Zero
1289            },
1290
1291            Package (0x04)
1292            {
1293                0xFFFF,
1294                0x03,
1295                LNKB,
1296                Zero
1297            }
1298        })
1299        Name (AR06, Package (0x04)
1300        {
1301            Package (0x04)
1302            {
1303                0xFFFF,
1304                Zero,
1305                Zero,
1306                0x12
1307            },
1308
1309            Package (0x04)
1310            {
1311                0xFFFF,
1312                One,
1313                Zero,
1314                0x13
1315            },
1316
1317            Package (0x04)
1318            {
1319                0xFFFF,
1320                0x02,
1321                Zero,
1322                0x10
1323            },
1324
1325            Package (0x04)
1326            {
1327                0xFFFF,
1328                0x03,
1329                Zero,
1330                0x11
1331            }
1332        })
1333        Name (PR07, Package (0x04)
1334        {
1335            Package (0x04)
1336            {
1337                0xFFFF,
1338                Zero,
1339                LNKD,
1340                Zero
1341            },
1342
1343            Package (0x04)
1344            {
1345                0xFFFF,
1346                One,
1347                LNKA,
1348                Zero
1349            },
1350
1351            Package (0x04)
1352            {
1353                0xFFFF,
1354                0x02,
1355                LNKB,
1356                Zero
1357            },
1358
1359            Package (0x04)
1360            {
1361                0xFFFF,
1362                0x03,
1363                LNKC,
1364                Zero
1365            }
1366        })
1367        Name (AR07, Package (0x04)
1368        {
1369            Package (0x04)
1370            {
1371                0xFFFF,
1372                Zero,
1373                Zero,
1374                0x13
1375            },
1376
1377            Package (0x04)
1378            {
1379                0xFFFF,
1380                One,
1381                Zero,
1382                0x10
1383            },
1384
1385            Package (0x04)
1386            {
1387                0xFFFF,
1388                0x02,
1389                Zero,
1390                0x11
1391            },
1392
1393            Package (0x04)
1394            {
1395                0xFFFF,
1396                0x03,
1397                Zero,
1398                0x12
1399            }
1400        })
1401        Name (PR01, Package (0x04)
1402        {
1403            Package (0x04)
1404            {
1405                0x0005FFFF,
1406                Zero,
1407                LNKB,
1408                Zero
1409            },
1410
1411            Package (0x04)
1412            {
1413                0x0005FFFF,
1414                One,
1415                LNKC,
1416                Zero
1417            },
1418
1419            Package (0x04)
1420            {
1421                0x0005FFFF,
1422                0x02,
1423                LNKD,
1424                Zero
1425            },
1426
1427            Package (0x04)
1428            {
1429                0x0005FFFF,
1430                0x03,
1431                LNKA,
1432                Zero
1433            }
1434        })
1435        Name (AR01, Package (0x04)
1436        {
1437            Package (0x04)
1438            {
1439                0x0005FFFF,
1440                Zero,
1441                Zero,
1442                0x11
1443            },
1444
1445            Package (0x04)
1446            {
1447                0x0005FFFF,
1448                One,
1449                Zero,
1450                0x12
1451            },
1452
1453            Package (0x04)
1454            {
1455                0x0005FFFF,
1456                0x02,
1457                Zero,
1458                0x13
1459            },
1460
1461            Package (0x04)
1462            {
1463                0x0005FFFF,
1464                0x03,
1465                Zero,
1466                0x10
1467            }
1468        })
1469        Name (PR0C, Package (0x0A)
1470        {
1471            Package (0x04)
1472            {
1473                0x0003FFFF,
1474                Zero,
1475                LNKH,
1476                Zero
1477            },
1478
1479            Package (0x04)
1480            {
1481                0x0004FFFF,
1482                Zero,
1483                LNKE,
1484                Zero
1485            },
1486
1487            Package (0x04)
1488            {
1489                0xFFFF,
1490                Zero,
1491                LNKE,
1492                Zero
1493            },
1494
1495            Package (0x04)
1496            {
1497                0xFFFF,
1498                One,
1499                LNKF,
1500                Zero
1501            },
1502
1503            Package (0x04)
1504            {
1505                0xFFFF,
1506                0x02,
1507                LNKG,
1508                Zero
1509            },
1510
1511            Package (0x04)
1512            {
1513                0xFFFF,
1514                0x03,
1515                LNKH,
1516                Zero
1517            },
1518
1519            Package (0x04)
1520            {
1521                0x0001FFFF,
1522                Zero,
1523                LNKF,
1524                Zero
1525            },
1526
1527            Package (0x04)
1528            {
1529                0x0001FFFF,
1530                One,
1531                LNKG,
1532                Zero
1533            },
1534
1535            Package (0x04)
1536            {
1537                0x0001FFFF,
1538                0x02,
1539                LNKH,
1540                Zero
1541            },
1542
1543            Package (0x04)
1544            {
1545                0x0001FFFF,
1546                0x03,
1547                LNKE,
1548                Zero
1549            }
1550        })
1551        Name (AR0C, Package (0x0A)
1552        {
1553            Package (0x04)
1554            {
1555                0x0003FFFF,
1556                Zero,
1557                Zero,
1558                0x17
1559            },
1560
1561            Package (0x04)
1562            {
1563                0x0004FFFF,
1564                Zero,
1565                Zero,
1566                0x14
1567            },
1568
1569            Package (0x04)
1570            {
1571                0xFFFF,
1572                Zero,
1573                Zero,
1574                0x14
1575            },
1576
1577            Package (0x04)
1578            {
1579                0xFFFF,
1580                One,
1581                Zero,
1582                0x15
1583            },
1584
1585            Package (0x04)
1586            {
1587                0xFFFF,
1588                0x02,
1589                Zero,
1590                0x16
1591            },
1592
1593            Package (0x04)
1594            {
1595                0xFFFF,
1596                0x03,
1597                Zero,
1598                0x17
1599            },
1600
1601            Package (0x04)
1602            {
1603                0x0001FFFF,
1604                Zero,
1605                Zero,
1606                0x15
1607            },
1608
1609            Package (0x04)
1610            {
1611                0x0001FFFF,
1612                One,
1613                Zero,
1614                0x16
1615            },
1616
1617            Package (0x04)
1618            {
1619                0x0001FFFF,
1620                0x02,
1621                Zero,
1622                0x17
1623            },
1624
1625            Package (0x04)
1626            {
1627                0x0001FFFF,
1628                0x03,
1629                Zero,
1630                0x14
1631            }
1632        })
1633        Name (PRSA, ResourceTemplate ()
1634        {
1635            IRQ (Level, ActiveLow, Shared, )
1636                {3,4,5,7,10,11,12,14,15}
1637        })
1638        Alias (PRSA, PRSB)
1639        Alias (PRSA, PRSC)
1640        Alias (PRSA, PRSD)
1641        Alias (PRSA, PRSE)
1642        Name (PRSF, ResourceTemplate ()
1643        {
1644            IRQ (Level, ActiveLow, Shared, )
1645                {9}
1646        })
1647        Alias (PRSA, PRSG)
1648        Alias (PRSA, PRSH)
1649        Device (PCI0)
1650        {
1651            Name (_HID, EisaId ("PNP0A03"))
1652            Name (_ADR, Zero)
1653            Method (^BN00, 0, NotSerialized)
1654            {
1655                Return (Zero)
1656            }
1657
1658            Method (_BBN, 0, NotSerialized)
1659            {
1660                Return (BN00 ())
1661            }
1662
1663            Name (_UID, Zero)
1664            Method (_PRT, 0, NotSerialized)
1665            {
1666                If (PICM)
1667                {
1668                    Return (AR00)
1669                }
1670
1671                Return (PR00)
1672            }
1673
1674            Device (P0P1)
1675            {
1676                Name (_ADR, 0x00010000)
1677                Method (_PRT, 0, NotSerialized)
1678                {
1679                    If (PICM)
1680                    {
1681                        Return (AR01)
1682                    }
1683
1684                    Return (PR01)
1685                }
1686            }
1687
1688            Device (SMBS)
1689            {
1690                Name (_ADR, 0x00140000)
1691                OperationRegion (SMBS, PCI_Config, Zero, 0x0100)
1692                Field (SMBS, AnyAcc, NoLock, Preserve)
1693                {
1694                            Offset (0x08),
1695                    REV,    8
1696                }
1697            }
1698
1699            Device (IDEC)
1700            {
1701                Name (_ADR, 0x00140001)
1702                Name (UDMT, Package (0x08)
1703                {
1704                    0x78,
1705                    0x5A,
1706                    0x3C,
1707                    0x2D,
1708                    0x1E,
1709                    0x14,
1710                    0x0F,
1711                    Zero
1712                })
1713                Name (PIOT, Package (0x06)
1714                {
1715                    0x0258,
1716                    0x0186,
1717                    0x010E,
1718                    0xB4,
1719                    0x78,
1720                    Zero
1721                })
1722                Name (PITR, Package (0x06)
1723                {
1724                    0x99,
1725                    0x47,
1726                    0x34,
1727                    0x22,
1728                    0x20,
1729                    0x99
1730                })
1731                Name (MDMT, Package (0x04)
1732                {
1733                    0x01E0,
1734                    0x96,
1735                    0x78,
1736                    Zero
1737                })
1738                Name (MDTR, Package (0x04)
1739                {
1740                    0x77,
1741                    0x21,
1742                    0x20,
1743                    0xFF
1744                })
1745                OperationRegion (IDE, PCI_Config, 0x40, 0x20)
1746                Field (IDE, AnyAcc, NoLock, Preserve)
1747                {
1748                    PPIT,   16,
1749                    SPIT,   16,
1750                    PMDT,   16,
1751                    SMDT,   16,
1752                    PPIC,   8,
1753                    SPIC,   8,
1754                    PPIM,   8,
1755                    SPIM,   8,
1756                            Offset (0x14),
1757                    PUDC,   2,
1758                    SUDC,   2,
1759                            Offset (0x16),
1760                    PUDM,   8,
1761                    SUDM,   8
1762                }
1763
1764                Method (GETT, 1, NotSerialized)
1765                {
1766                    Store (And (Arg0, 0x0F), Local0)
1767                    Store (ShiftRight (Arg0, 0x04), Local1)
1768                    Return (Multiply (0x1E, Add (Add (Local0, One), Add (Local1,
1769                        One))))
1770                }
1771
1772                Method (GTM, 1, NotSerialized)
1773                {
1774                    CreateByteField (Arg0, Zero, PIT1)
1775                    CreateByteField (Arg0, One, PIT0)
1776                    CreateByteField (Arg0, 0x02, MDT1)
1777                    CreateByteField (Arg0, 0x03, MDT0)
1778                    CreateByteField (Arg0, 0x04, PICX)
1779                    CreateByteField (Arg0, 0x05, UDCX)
1780                    CreateByteField (Arg0, 0x06, UDMX)
1781                    Name (BUF, Buffer (0x14)
1782                    {
1783                        /* 0000 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1784                        /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1785                        /* 0010 */    0x00, 0x00, 0x00, 0x00
1786                    })
1787                    CreateDWordField (BUF, Zero, PIO0)
1788                    CreateDWordField (BUF, 0x04, DMA0)
1789                    CreateDWordField (BUF, 0x08, PIO1)
1790                    CreateDWordField (BUF, 0x0C, DMA1)
1791                    CreateDWordField (BUF, 0x10, FLAG)
1792                    If (And (PICX, One))
1793                    {
1794                        Return (BUF)
1795                    }
1796
1797                    Store (GETT (PIT0), PIO0)
1798                    Store (GETT (PIT1), PIO1)
1799                    If (And (UDCX, One))
1800                    {
1801                        Or (FLAG, One, FLAG)
1802                        Store (DerefOf (Index (UDMT, And (UDMX, 0x0F))), DMA0)
1803                    }
1804                    Else
1805                    {
1806                        Store (GETT (MDT0), DMA0)
1807                    }
1808
1809                    If (And (UDCX, 0x02))
1810                    {
1811                        Or (FLAG, 0x04, FLAG)
1812                        Store (DerefOf (Index (UDMT, ShiftRight (UDMX, 0x04))), DMA1)
1813                    }
1814                    Else
1815                    {
1816                        Store (GETT (MDT1), DMA1)
1817                    }
1818
1819                    Or (FLAG, 0x1A, FLAG)
1820                    Return (BUF)
1821                }
1822
1823                Method (STM, 3, NotSerialized)
1824                {
1825                    CreateDWordField (Arg0, Zero, PIO0)
1826                    CreateDWordField (Arg0, 0x04, DMA0)
1827                    CreateDWordField (Arg0, 0x08, PIO1)
1828                    CreateDWordField (Arg0, 0x0C, DMA1)
1829                    CreateDWordField (Arg0, 0x10, FLAG)
1830                    Name (BUF, Buffer (0x07)
1831                    {
1832                        /* 0000 */    0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
1833                    })
1834                    CreateByteField (BUF, Zero, PIT1)
1835                    CreateByteField (BUF, One, PIT0)
1836                    CreateByteField (BUF, 0x02, MDT1)
1837                    CreateByteField (BUF, 0x03, MDT0)
1838                    CreateByteField (BUF, 0x04, PIMX)
1839                    CreateByteField (BUF, 0x05, UDCX)
1840                    CreateByteField (BUF, 0x06, UDMX)
1841                    Store (Match (PIOT, MLE, PIO0, MTR, Zero, Zero), Local0)
1842                    Divide (Local0, 0x05, Local0)
1843                    Store (Match (PIOT, MLE, PIO1, MTR, Zero, Zero), Local1)
1844                    Divide (Local1, 0x05, Local1)
1845                    Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX)
1846                    Store (DerefOf (Index (PITR, Local0)), PIT0)
1847                    Store (DerefOf (Index (PITR, Local1)), PIT1)
1848                    If (And (FLAG, One))
1849                    {
1850                        Store (Match (UDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
1851                        Divide (Local0, 0x07, Local0)
1852                        Or (UDMX, Local0, UDMX)
1853                        Or (UDCX, One, UDCX)
1854                    }
1855                    Else
1856                    {
1857                        If (LNotEqual (DMA0, Ones))
1858                        {
1859                            Store (Match (MDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
1860                            Store (DerefOf (Index (MDTR, Local0)), MDT0)
1861                        }
1862                    }
1863
1864                    If (And (FLAG, 0x04))
1865                    {
1866                        Store (Match (UDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
1867                        Divide (Local0, 0x07, Local0)
1868                        Or (UDMX, ShiftLeft (Local0, 0x04), UDMX)
1869                        Or (UDCX, 0x02, UDCX)
1870                    }
1871                    Else
1872                    {
1873                        If (LNotEqual (DMA1, Ones))
1874                        {
1875                            Store (Match (MDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
1876                            Store (DerefOf (Index (MDTR, Local0)), MDT1)
1877                        }
1878                    }
1879
1880                    Return (BUF)
1881                }
1882
1883                Method (GTF, 2, NotSerialized)
1884                {
1885                    CreateByteField (Arg1, Zero, MDT1)
1886                    CreateByteField (Arg1, One, MDT0)
1887                    CreateByteField (Arg1, 0x02, PIMX)
1888                    CreateByteField (Arg1, 0x03, UDCX)
1889                    CreateByteField (Arg1, 0x04, UDMX)
1890                    If (LEqual (Arg0, 0xA0))
1891                    {
1892                        Store (And (PIMX, 0x0F), Local0)
1893                        Store (MDT0, Local1)
1894                        And (UDCX, One, Local2)
1895                        Store (And (UDMX, 0x0F), Local3)
1896                    }
1897                    Else
1898                    {
1899                        Store (ShiftRight (PIMX, 0x04), Local0)
1900                        Store (MDT1, Local1)
1901                        And (UDCX, 0x02, Local2)
1902                        Store (ShiftRight (UDMX, 0x04), Local3)
1903                    }
1904
1905                    Name (BUF, Buffer (0x0E)
1906                    {
1907                        /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03,
1908                        /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF
1909                    })
1910                    CreateByteField (BUF, One, PMOD)
1911                    CreateByteField (BUF, 0x08, DMOD)
1912                    CreateByteField (BUF, 0x05, CMDA)
1913                    CreateByteField (BUF, 0x0C, CMDB)
1914                    Store (Arg0, CMDA)
1915                    Store (Arg0, CMDB)
1916                    Or (Local0, 0x08, PMOD)
1917                    If (Local2)
1918                    {
1919                        Or (Local3, 0x40, DMOD)
1920                    }
1921                    Else
1922                    {
1923                        Store (Match (MDMT, MLE, GETT (Local1), MTR, Zero, Zero), Local4)
1924                        If (LLess (Local4, 0x03))
1925                        {
1926                            Or (0x20, Local4, DMOD)
1927                        }
1928                    }
1929
1930                    Return (BUF)
1931                }
1932
1933                Device (PRID)
1934                {
1935                    Name (_ADR, Zero)
1936                    Method (_GTM, 0, NotSerialized)
1937                    {
1938                        Name (BUF, Buffer (0x07)
1939                        {
1940                            /* 0000 */    0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
1941                        })
1942                        CreateWordField (BUF, Zero, VPIT)
1943                        CreateWordField (BUF, 0x02, VMDT)
1944                        CreateByteField (BUF, 0x04, VPIC)
1945                        CreateByteField (BUF, 0x05, VUDC)
1946                        CreateByteField (BUF, 0x06, VUDM)
1947                        Store (PPIT, VPIT)
1948                        Store (PMDT, VMDT)
1949                        Store (PPIC, VPIC)
1950                        Store (PUDC, VUDC)
1951                        Store (PUDM, VUDM)
1952                        Return (GTM (BUF))
1953                    }
1954
1955                    Method (_STM, 3, NotSerialized)
1956                    {
1957                        Name (BUF, Buffer (0x07)
1958                        {
1959                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1960                        })
1961                        CreateWordField (BUF, Zero, VPIT)
1962                        CreateWordField (BUF, 0x02, VMDT)
1963                        CreateByteField (BUF, 0x04, VPIM)
1964                        CreateByteField (BUF, 0x05, VUDC)
1965                        CreateByteField (BUF, 0x06, VUDM)
1966                        Store (STM (Arg0, Arg1, Arg2), BUF)
1967                        Store (VPIT, PPIT)
1968                        Store (VMDT, PMDT)
1969                        Store (VPIM, PPIM)
1970                        Store (VUDC, PUDC)
1971                        Store (VUDM, PUDM)
1972                    }
1973
1974                    Device (P_D0)
1975                    {
1976                        Name (_ADR, Zero)
1977                        Method (_GTF, 0, NotSerialized)
1978                        {
1979                            Name (BUF, Buffer (0x05)
1980                            {
1981                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00
1982                            })
1983                            CreateWordField (BUF, Zero, VMDT)
1984                            CreateByteField (BUF, 0x02, VPIM)
1985                            CreateByteField (BUF, 0x03, VUDC)
1986                            CreateByteField (BUF, 0x04, VUDM)
1987                            Store (PMDT, VMDT)
1988                            Store (PPIM, VPIM)
1989                            Store (PUDC, VUDC)
1990                            Store (PUDM, VUDM)
1991                            Return (GTF (0xA0, BUF))
1992                        }
1993                    }
1994
1995                    Device (P_D1)
1996                    {
1997                        Name (_ADR, One)
1998                        Method (_GTF, 0, NotSerialized)
1999                        {
2000                            Name (BUF, Buffer (0x05)
2001                            {
2002                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00
2003                            })
2004                            CreateWordField (BUF, Zero, VMDT)
2005                            CreateByteField (BUF, 0x02, VPIM)
2006                            CreateByteField (BUF, 0x03, VUDC)
2007                            CreateByteField (BUF, 0x04, VUDM)
2008                            Store (PMDT, VMDT)
2009                            Store (PPIM, VPIM)
2010                            Store (PUDC, VUDC)
2011                            Store (PUDM, VUDM)
2012                            Return (GTF (0xB0, BUF))
2013                        }
2014                    }
2015                }
2016
2017                Device (SECD)
2018                {
2019                    Name (_ADR, One)
2020                    Method (_GTM, 0, NotSerialized)
2021                    {
2022                        Name (BUF, Buffer (0x07)
2023                        {
2024                            /* 0000 */    0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
2025                        })
2026                        CreateWordField (BUF, Zero, VPIT)
2027                        CreateWordField (BUF, 0x02, VMDT)
2028                        CreateByteField (BUF, 0x04, VPIC)
2029                        CreateByteField (BUF, 0x05, VUDC)
2030                        CreateByteField (BUF, 0x06, VUDM)
2031                        Store (SPIT, VPIT)
2032                        Store (SMDT, VMDT)
2033                        Store (SPIC, VPIC)
2034                        Store (SUDC, VUDC)
2035                        Store (SUDM, VUDM)
2036                        Return (GTM (BUF))
2037                    }
2038
2039                    Method (_STM, 3, NotSerialized)
2040                    {
2041                        Name (BUF, Buffer (0x07)
2042                        {
2043                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
2044                        })
2045                        CreateWordField (BUF, Zero, VPIT)
2046                        CreateWordField (BUF, 0x02, VMDT)
2047                        CreateByteField (BUF, 0x04, VPIM)
2048                        CreateByteField (BUF, 0x05, VUDC)
2049                        CreateByteField (BUF, 0x06, VUDM)
2050                        Store (STM (Arg0, Arg1, Arg2), BUF)
2051                        Store (VPIT, SPIT)
2052                        Store (VMDT, SMDT)
2053                        Store (VPIM, SPIM)
2054                        Store (VUDC, SUDC)
2055                        Store (VUDM, SUDM)
2056                    }
2057
2058                    Device (S_D0)
2059                    {
2060                        Name (_ADR, Zero)
2061                        Method (_GTF, 0, NotSerialized)
2062                        {
2063                            Name (BUF, Buffer (0x05)
2064                            {
2065                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00
2066                            })
2067                            CreateWordField (BUF, Zero, VMDT)
2068                            CreateByteField (BUF, 0x02, VPIM)
2069                            CreateByteField (BUF, 0x03, VUDC)
2070                            CreateByteField (BUF, 0x04, VUDM)
2071                            Store (SMDT, VMDT)
2072                            Store (SPIM, VPIM)
2073                            Store (SUDC, VUDC)
2074                            Store (SUDM, VUDM)
2075                            Return (GTF (0xA0, BUF))
2076                        }
2077                    }
2078
2079                    Device (S_D1)
2080                    {
2081                        Name (_ADR, One)
2082                        Method (_GTF, 0, NotSerialized)
2083                        {
2084                            Name (BUF, Buffer (0x05)
2085                            {
2086                                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00
2087                            })
2088                            CreateWordField (BUF, Zero, VMDT)
2089                            CreateByteField (BUF, 0x02, VPIM)
2090                            CreateByteField (BUF, 0x03, VUDC)
2091                            CreateByteField (BUF, 0x04, VUDM)
2092                            Store (SMDT, VMDT)
2093                            Store (SPIM, VPIM)
2094                            Store (SUDC, VUDC)
2095                            Store (SUDM, VUDM)
2096                            Return (GTF (0xB0, BUF))
2097                        }
2098                    }
2099                }
2100
2101                Method (RATA, 1, NotSerialized)
2102                {
2103                    CreateByteField (Arg0, Zero, CMDN)
2104                    Multiply (CMDN, 0x38, Local0)
2105                    CreateField (Arg0, 0x08, Local0, RETB)
2106                    Store (RETB, Debug)
2107                    Return (RETB)
2108                }
2109            }
2110
2111            Device (SBAZ)
2112            {
2113                Name (_ADR, 0x00140002)
2114                OperationRegion (PCI, PCI_Config, Zero, 0x0100)
2115                Field (PCI, AnyAcc, NoLock, Preserve)
2116                {
2117                            Offset (0x42),
2118                    DNSP,   1,
2119                    DNSO,   1,
2120                    ENSR,   1
2121                }
2122
2123                Method (_INI, 0, NotSerialized)
2124                {
2125                    If (MCTH (_OS, "Linux"))
2126                    {
2127                        Store (Zero, ENSR)
2128                        Store (One, DNSO)
2129                        Store (One, DNSP)
2130                    }
2131                }
2132
2133                Method (_PRW, 0, NotSerialized)
2134                {
2135                    Return (GPRW (0x1B, 0x04))
2136                }
2137            }
2138
2139            Device (SBRG)
2140            {
2141                Name (_ADR, 0x00140003)
2142                Device (PIC)
2143                {
2144                    Name (_HID, EisaId ("PNP0000"))
2145                    Name (_CRS, ResourceTemplate ()
2146                    {
2147                        IO (Decode16,
2148                            0x0020,             // Range Minimum
2149                            0x0020,             // Range Maximum
2150                            0x00,               // Alignment
2151                            0x02,               // Length
2152                            )
2153                        IO (Decode16,
2154                            0x00A0,             // Range Minimum
2155                            0x00A0,             // Range Maximum
2156                            0x00,               // Alignment
2157                            0x02,               // Length
2158                            )
2159                        IRQNoFlags ()
2160                            {2}
2161                    })
2162                }
2163
2164                Device (DMAD)
2165                {
2166                    Name (_HID, EisaId ("PNP0200"))
2167                    Name (_CRS, ResourceTemplate ()
2168                    {
2169                        DMA (Compatibility, BusMaster, Transfer8, )
2170                            {4}
2171                        IO (Decode16,
2172                            0x0000,             // Range Minimum
2173                            0x0000,             // Range Maximum
2174                            0x00,               // Alignment
2175                            0x10,               // Length
2176                            )
2177                        IO (Decode16,
2178                            0x0081,             // Range Minimum
2179                            0x0081,             // Range Maximum
2180                            0x00,               // Alignment
2181                            0x03,               // Length
2182                            )
2183                        IO (Decode16,
2184                            0x0087,             // Range Minimum
2185                            0x0087,             // Range Maximum
2186                            0x00,               // Alignment
2187                            0x01,               // Length
2188                            )
2189                        IO (Decode16,
2190                            0x0089,             // Range Minimum
2191                            0x0089,             // Range Maximum
2192                            0x00,               // Alignment
2193                            0x03,               // Length
2194                            )
2195                        IO (Decode16,
2196                            0x008F,             // Range Minimum
2197                            0x008F,             // Range Maximum
2198                            0x00,               // Alignment
2199                            0x01,               // Length
2200                            )
2201                        IO (Decode16,
2202                            0x00C0,             // Range Minimum
2203                            0x00C0,             // Range Maximum
2204                            0x00,               // Alignment
2205                            0x20,               // Length
2206                            )
2207                    })
2208                }
2209
2210                Device (TMR)
2211                {
2212                    Name (_HID, EisaId ("PNP0100"))
2213                    Name (_CRS, ResourceTemplate ()
2214                    {
2215                        IO (Decode16,
2216                            0x0040,             // Range Minimum
2217                            0x0040,             // Range Maximum
2218                            0x00,               // Alignment
2219                            0x04,               // Length
2220                            )
2221                        IRQNoFlags ()
2222                            {0}
2223                    })
2224                }
2225
2226                Device (RTC0)
2227                {
2228                    Name (_HID, EisaId ("PNP0B00"))
2229                    Name (_CRS, ResourceTemplate ()
2230                    {
2231                        IO (Decode16,
2232                            0x0070,             // Range Minimum
2233                            0x0070,             // Range Maximum
2234                            0x00,               // Alignment
2235                            0x02,               // Length
2236                            )
2237                        IRQNoFlags ()
2238                            {8}
2239                    })
2240                }
2241
2242                Device (SPKR)
2243                {
2244                    Name (_HID, EisaId ("PNP0800"))
2245                    Name (_CRS, ResourceTemplate ()
2246                    {
2247                        IO (Decode16,
2248                            0x0061,             // Range Minimum
2249                            0x0061,             // Range Maximum
2250                            0x00,               // Alignment
2251                            0x01,               // Length
2252                            )
2253                    })
2254                }
2255
2256                Device (COPR)
2257                {
2258                    Name (_HID, EisaId ("PNP0C04"))
2259                    Name (_CRS, ResourceTemplate ()
2260                    {
2261                        IO (Decode16,
2262                            0x00F0,             // Range Minimum
2263                            0x00F0,             // Range Maximum
2264                            0x00,               // Alignment
2265                            0x10,               // Length
2266                            )
2267                        IRQNoFlags ()
2268                            {13}
2269                    })
2270                }
2271
2272                Device (FDC)
2273                {
2274                    Name (_HID, EisaId ("PNP0700"))
2275                    Method (_FDE, 0, NotSerialized)
2276                    {
2277                        Name (FDEP, Package (0x05)
2278                        {
2279                            Zero,
2280                            Zero,
2281                            0x02,
2282                            0x02,
2283                            0x02
2284                        })
2285                        If (_STA ())
2286                        {
2287                            Store (One, Index (FDEP, Zero))
2288                        }
2289
2290                        Return (FDEP)
2291                    }
2292
2293                    Method (_STA, 0, NotSerialized)
2294                    {
2295                        Return (DSTA (0x03))
2296                    }
2297
2298                    Method (_DIS, 0, NotSerialized)
2299                    {
2300                        DCNT (0x03, Zero)
2301                    }
2302
2303                    Method (_CRS, 0, NotSerialized)
2304                    {
2305                        DCRS (0x03, One)
2306                        Store (IRQM, IRQE)
2307                        Store (DMAM, DMAE)
2308                        Store (IO11, IO21)
2309                        Store (IO12, IO22)
2310                        Store (0x06, LEN2)
2311                        Add (IO21, 0x07, IO31)
2312                        Store (IO31, IO32)
2313                        Store (One, LEN3)
2314                        Return (CRS2)
2315                    }
2316
2317                    Method (_SRS, 1, NotSerialized)
2318                    {
2319                        DSRS (Arg0, 0x03)
2320                        CreateWordField (Arg0, 0x11, IRQE)
2321                        CreateByteField (Arg0, 0x14, DMAE)
2322                        ENFG (CGLD (0x03))
2323                        If (IRQE)
2324                        {
2325                            FindSetRightBit (IRQE, Local0)
2326                            Subtract (Local0, One, INTR)
2327                        }
2328                        Else
2329                        {
2330                            Store (Zero, INTR)
2331                        }
2332
2333                        If (DMAE)
2334                        {
2335                            FindSetRightBit (DMAE, Local0)
2336                            Subtract (Local0, One, DMCH)
2337                        }
2338                        Else
2339                        {
2340                            Store (0x04, DMCH)
2341                        }
2342
2343                        EXFG ()
2344                    }
2345
2346                    Name (_PRS, ResourceTemplate ()
2347                    {
2348                        StartDependentFn (0x00, 0x00)
2349                        {
2350                            IO (Decode16,
2351                                0x03F0,             // Range Minimum
2352                                0x03F0,             // Range Maximum
2353                                0x01,               // Alignment
2354                                0x06,               // Length
2355                                )
2356                            IO (Decode16,
2357                                0x03F7,             // Range Minimum
2358                                0x03F7,             // Range Maximum
2359                                0x01,               // Alignment
2360                                0x01,               // Length
2361                                )
2362                            IRQNoFlags ()
2363                                {6}
2364                            DMA (Compatibility, NotBusMaster, Transfer8, )
2365                                {2}
2366                        }
2367                        StartDependentFnNoPri ()
2368                        {
2369                            IO (Decode16,
2370                                0x03F0,             // Range Minimum
2371                                0x03F0,             // Range Maximum
2372                                0x01,               // Alignment
2373                                0x06,               // Length
2374                                )
2375                            IO (Decode16,
2376                                0x03F7,             // Range Minimum
2377                                0x03F7,             // Range Maximum
2378                                0x01,               // Alignment
2379                                0x01,               // Length
2380                                )
2381                            IRQNoFlags ()
2382                                {3,4,5,6,7,10,11,12}
2383                            DMA (Compatibility, NotBusMaster, Transfer8, )
2384                                {0,1,2,3}
2385                        }
2386                        StartDependentFnNoPri ()
2387                        {
2388                            IO (Decode16,
2389                                0x0370,             // Range Minimum
2390                                0x0370,             // Range Maximum
2391                                0x01,               // Alignment
2392                                0x06,               // Length
2393                                )
2394                            IO (Decode16,
2395                                0x0377,             // Range Minimum
2396                                0x0377,             // Range Maximum
2397                                0x01,               // Alignment
2398                                0x01,               // Length
2399                                )
2400                            IRQNoFlags ()
2401                                {3,4,5,6,7,10,11,12}
2402                            DMA (Compatibility, NotBusMaster, Transfer8, )
2403                                {0,1,2,3}
2404                        }
2405                        EndDependentFn ()
2406                    })
2407                }
2408
2409                Device (UAR1)
2410                {
2411                    Name (_UID, One)
2412                    Name (_HID, EisaId ("PNP0501"))
2413                    Method (_STA, 0, NotSerialized)
2414                    {
2415                        Return (DSTA (Zero))
2416                    }
2417
2418                    Method (_DIS, 0, NotSerialized)
2419                    {
2420                        DCNT (Zero, Zero)
2421                    }
2422
2423                    Method (_CRS, 0, NotSerialized)
2424                    {
2425                        Return (DCRS (Zero, Zero))
2426                    }
2427
2428                    Method (_SRS, 1, NotSerialized)
2429                    {
2430                        DSRS (Arg0, Zero)
2431                    }
2432
2433                    Method (_PRS, 0, NotSerialized)
2434                    {
2435                        Return (CMPR)
2436                    }
2437
2438                    Name (CMPR, ResourceTemplate ()
2439                    {
2440                        StartDependentFn (0x00, 0x00)
2441                        {
2442                            IO (Decode16,
2443                                0x03F8,             // Range Minimum
2444                                0x03F8,             // Range Maximum
2445                                0x01,               // Alignment
2446                                0x08,               // Length
2447                                )
2448                            IRQNoFlags ()
2449                                {4}
2450                            DMA (Compatibility, NotBusMaster, Transfer8, )
2451                                {}
2452                        }
2453                        StartDependentFnNoPri ()
2454                        {
2455                            IO (Decode16,
2456                                0x03F8,             // Range Minimum
2457                                0x03F8,             // Range Maximum
2458                                0x01,               // Alignment
2459                                0x08,               // Length
2460                                )
2461                            IRQNoFlags ()
2462                                {3,4,5,6,7,10,11,12}
2463                            DMA (Compatibility, NotBusMaster, Transfer8, )
2464                                {}
2465                        }
2466                        StartDependentFnNoPri ()
2467                        {
2468                            IO (Decode16,
2469                                0x02F8,             // Range Minimum
2470                                0x02F8,             // Range Maximum
2471                                0x01,               // Alignment
2472                                0x08,               // Length
2473                                )
2474                            IRQNoFlags ()
2475                                {3,4,5,6,7,10,11,12}
2476                            DMA (Compatibility, NotBusMaster, Transfer8, )
2477                                {}
2478                        }
2479                        StartDependentFnNoPri ()
2480                        {
2481                            IO (Decode16,
2482                                0x03E8,             // Range Minimum
2483                                0x03E8,             // Range Maximum
2484                                0x01,               // Alignment
2485                                0x08,               // Length
2486                                )
2487                            IRQNoFlags ()
2488                                {3,4,5,6,7,10,11,12}
2489                            DMA (Compatibility, NotBusMaster, Transfer8, )
2490                                {}
2491                        }
2492                        StartDependentFnNoPri ()
2493                        {
2494                            IO (Decode16,
2495                                0x02E8,             // Range Minimum
2496                                0x02E8,             // Range Maximum
2497                                0x01,               // Alignment
2498                                0x08,               // Length
2499                                )
2500                            IRQNoFlags ()
2501                                {3,4,5,6,7,10,11,12}
2502                            DMA (Compatibility, NotBusMaster, Transfer8, )
2503                                {}
2504                        }
2505                        EndDependentFn ()
2506                    })
2507                }
2508
2509                Device (UAR2)
2510                {
2511                    Name (_UID, 0x02)
2512                    Method (_HID, 0, NotSerialized)
2513                    {
2514                        Return (UHID (One))
2515                    }
2516
2517                    Method (_STA, 0, NotSerialized)
2518                    {
2519                        Return (DSTA (One))
2520                    }
2521
2522                    Method (_DIS, 0, NotSerialized)
2523                    {
2524                        DCNT (One, Zero)
2525                    }
2526
2527                    Method (_CRS, 0, NotSerialized)
2528                    {
2529                        Return (DCRS (One, One))
2530                    }
2531
2532                    Method (_SRS, 1, NotSerialized)
2533                    {
2534                        DSRS (Arg0, One)
2535                    }
2536
2537                    Method (_PRS, 0, NotSerialized)
2538                    {
2539                        Return (CMPR)
2540                    }
2541
2542                    Name (CMPR, ResourceTemplate ()
2543                    {
2544                        StartDependentFn (0x00, 0x00)
2545                        {
2546                            IO (Decode16,
2547                                0x02F8,             // Range Minimum
2548                                0x02F8,             // Range Maximum
2549                                0x01,               // Alignment
2550                                0x08,               // Length
2551                                )
2552                            IRQNoFlags ()
2553                                {3}
2554                            DMA (Compatibility, NotBusMaster, Transfer8, )
2555                                {}
2556                        }
2557                        StartDependentFnNoPri ()
2558                        {
2559                            IO (Decode16,
2560                                0x03F8,             // Range Minimum
2561                                0x03F8,             // Range Maximum
2562                                0x01,               // Alignment
2563                                0x08,               // Length
2564                                )
2565                            IRQNoFlags ()
2566                                {3,4,5,6,7,10,11,12}
2567                            DMA (Compatibility, NotBusMaster, Transfer8, )
2568                                {}
2569                        }
2570                        StartDependentFnNoPri ()
2571                        {
2572                            IO (Decode16,
2573                                0x02F8,             // Range Minimum
2574                                0x02F8,             // Range Maximum
2575                                0x01,               // Alignment
2576                                0x08,               // Length
2577                                )
2578                            IRQNoFlags ()
2579                                {3,4,5,6,7,10,11,12}
2580                            DMA (Compatibility, NotBusMaster, Transfer8, )
2581                                {}
2582                        }
2583                        StartDependentFnNoPri ()
2584                        {
2585                            IO (Decode16,
2586                                0x03E8,             // Range Minimum
2587                                0x03E8,             // Range Maximum
2588                                0x01,               // Alignment
2589                                0x08,               // Length
2590                                )
2591                            IRQNoFlags ()
2592                                {3,4,5,6,7,10,11,12}
2593                            DMA (Compatibility, NotBusMaster, Transfer8, )
2594                                {}
2595                        }
2596                        StartDependentFnNoPri ()
2597                        {
2598                            IO (Decode16,
2599                                0x02E8,             // Range Minimum
2600                                0x02E8,             // Range Maximum
2601                                0x01,               // Alignment
2602                                0x08,               // Length
2603                                )
2604                            IRQNoFlags ()
2605                                {3,4,5,6,7,10,11,12}
2606                            DMA (Compatibility, NotBusMaster, Transfer8, )
2607                                {}
2608                        }
2609                        StartDependentFnNoPri ()
2610                        {
2611                            IO (Decode16,
2612                                0x03F8,             // Range Minimum
2613                                0x03F8,             // Range Maximum
2614                                0x01,               // Alignment
2615                                0x08,               // Length
2616                                )
2617                            IRQNoFlags ()
2618                                {3,4,5,6,7,10,11,12}
2619                            DMA (Compatibility, NotBusMaster, Transfer8, )
2620                                {0,1,2,3}
2621                        }
2622                        StartDependentFnNoPri ()
2623                        {
2624                            IO (Decode16,
2625                                0x02F8,             // Range Minimum
2626                                0x02F8,             // Range Maximum
2627                                0x01,               // Alignment
2628                                0x08,               // Length
2629                                )
2630                            IRQNoFlags ()
2631                                {3,4,5,6,7,10,11,12}
2632                            DMA (Compatibility, NotBusMaster, Transfer8, )
2633                                {0,1,2,3}
2634                        }
2635                        StartDependentFnNoPri ()
2636                        {
2637                            IO (Decode16,
2638                                0x03E8,             // Range Minimum
2639                                0x03E8,             // Range Maximum
2640                                0x01,               // Alignment
2641                                0x08,               // Length
2642                                )
2643                            IRQNoFlags ()
2644                                {3,4,5,6,7,10,11,12}
2645                            DMA (Compatibility, NotBusMaster, Transfer8, )
2646                                {0,1,2,3}
2647                        }
2648                        StartDependentFnNoPri ()
2649                        {
2650                            IO (Decode16,
2651                                0x02E8,             // Range Minimum
2652                                0x02E8,             // Range Maximum
2653                                0x01,               // Alignment
2654                                0x08,               // Length
2655                                )
2656                            IRQNoFlags ()
2657                                {3,4,5,6,7,10,11,12}
2658                            DMA (Compatibility, NotBusMaster, Transfer8, )
2659                                {0,1,2,3}
2660                        }
2661                        EndDependentFn ()
2662                    })
2663                }
2664
2665                Device (LPTE)
2666                {
2667                    Method (_HID, 0, NotSerialized)
2668                    {
2669                        If (LPTM (0x02))
2670                        {
2671                            Return (0x0104D041)
2672                        }
2673                        Else
2674                        {
2675                            Return (0x0004D041)
2676                        }
2677                    }
2678
2679                    Method (_STA, 0, NotSerialized)
2680                    {
2681                        Return (DSTA (0x02))
2682                    }
2683
2684                    Method (_DIS, 0, NotSerialized)
2685                    {
2686                        DCNT (0x02, Zero)
2687                    }
2688
2689                    Method (_CRS, 0, NotSerialized)
2690                    {
2691                        DCRS (0x02, One)
2692                        If (LPTM (0x02))
2693                        {
2694                            Store (IRQM, IRQE)
2695                            Store (DMAM, DMAE)
2696                            Store (IO11, IO21)
2697                            Store (IO12, IO22)
2698                            Store (LEN1, LEN2)
2699                            Add (IO21, 0x0400, IO31)
2700                            Store (IO31, IO32)
2701                            Store (LEN2, LEN3)
2702                            Return (CRS2)
2703                        }
2704                        Else
2705                        {
2706                            Return (CRS1)
2707                        }
2708                    }
2709
2710                    Method (_SRS, 1, NotSerialized)
2711                    {
2712                        DSRS (Arg0, 0x02)
2713                    }
2714
2715                    Method (_PRS, 0, NotSerialized)
2716                    {
2717                        If (LPTM (0x02))
2718                        {
2719                            Return (EPPR)
2720                        }
2721                        Else
2722                        {
2723                            Return (LPPR)
2724                        }
2725                    }
2726
2727                    Name (LPPR, ResourceTemplate ()
2728                    {
2729                        StartDependentFnNoPri ()
2730                        {
2731                            IO (Decode16,
2732                                0x0378,             // Range Minimum
2733                                0x0378,             // Range Maximum
2734                                0x01,               // Alignment
2735                                0x08,               // Length
2736                                )
2737                            IRQNoFlags ()
2738                                {3,4,5,6,7,10,11,12}
2739                            DMA (Compatibility, NotBusMaster, Transfer8, )
2740                                {}
2741                        }
2742                        StartDependentFnNoPri ()
2743                        {
2744                            IO (Decode16,
2745                                0x0278,             // Range Minimum
2746                                0x0278,             // Range Maximum
2747                                0x01,               // Alignment
2748                                0x08,               // Length
2749                                )
2750                            IRQNoFlags ()
2751                                {3,4,5,6,7,10,11,12}
2752                            DMA (Compatibility, NotBusMaster, Transfer8, )
2753                                {}
2754                        }
2755                        StartDependentFnNoPri ()
2756                        {
2757                            IO (Decode16,
2758                                0x03BC,             // Range Minimum
2759                                0x03BC,             // Range Maximum
2760                                0x01,               // Alignment
2761                                0x04,               // Length
2762                                )
2763                            IRQNoFlags ()
2764                                {3,4,5,6,7,10,11,12}
2765                            DMA (Compatibility, NotBusMaster, Transfer8, )
2766                                {}
2767                        }
2768                        EndDependentFn ()
2769                    })
2770                    Name (EPPR, ResourceTemplate ()
2771                    {
2772                        StartDependentFn (0x00, 0x00)
2773                        {
2774                            IO (Decode16,
2775                                0x0378,             // Range Minimum
2776                                0x0378,             // Range Maximum
2777                                0x01,               // Alignment
2778                                0x08,               // Length
2779                                )
2780                            IO (Decode16,
2781                                0x0778,             // Range Minimum
2782                                0x0778,             // Range Maximum
2783                                0x01,               // Alignment
2784                                0x08,               // Length
2785                                )
2786                            IRQNoFlags ()
2787                                {7}
2788                            DMA (Compatibility, NotBusMaster, Transfer8, )
2789                                {3}
2790                        }
2791                        StartDependentFnNoPri ()
2792                        {
2793                            IO (Decode16,
2794                                0x0378,             // Range Minimum
2795                                0x0378,             // Range Maximum
2796                                0x01,               // Alignment
2797                                0x08,               // Length
2798                                )
2799                            IO (Decode16,
2800                                0x0778,             // Range Minimum
2801                                0x0778,             // Range Maximum
2802                                0x01,               // Alignment
2803                                0x08,               // Length
2804                                )
2805                            IRQNoFlags ()
2806                                {3,4,5,6,7,10,11,12}
2807                            DMA (Compatibility, NotBusMaster, Transfer8, )
2808                                {0,1,2,3}
2809                        }
2810                        StartDependentFnNoPri ()
2811                        {
2812                            IO (Decode16,
2813                                0x0278,             // Range Minimum
2814                                0x0278,             // Range Maximum
2815                                0x01,               // Alignment
2816                                0x08,               // Length
2817                                )
2818                            IO (Decode16,
2819                                0x0678,             // Range Minimum
2820                                0x0678,             // Range Maximum
2821                                0x01,               // Alignment
2822                                0x08,               // Length
2823                                )
2824                            IRQNoFlags ()
2825                                {3,4,5,6,7,10,11,12}
2826                            DMA (Compatibility, NotBusMaster, Transfer8, )
2827                                {0,1,2,3}
2828                        }
2829                        StartDependentFnNoPri ()
2830                        {
2831                            IO (Decode16,
2832                                0x03BC,             // Range Minimum
2833                                0x03BC,             // Range Maximum
2834                                0x01,               // Alignment
2835                                0x04,               // Length
2836                                )
2837                            IO (Decode16,
2838                                0x07BC,             // Range Minimum
2839                                0x07BC,             // Range Maximum
2840                                0x01,               // Alignment
2841                                0x04,               // Length
2842                                )
2843                            IRQNoFlags ()
2844                                {3,4,5,6,7,10,11,12}
2845                            DMA (Compatibility, NotBusMaster, Transfer8, )
2846                                {0,1,2,3}
2847                        }
2848                        EndDependentFn ()
2849                    })
2850                }
2851
2852                Device (RMSC)
2853                {
2854                    Name (_HID, EisaId ("PNP0C02"))
2855                    Name (_UID, 0x10)
2856                    Name (CRS, ResourceTemplate ()
2857                    {
2858                        IO (Decode16,
2859                            0x0010,             // Range Minimum
2860                            0x0010,             // Range Maximum
2861                            0x00,               // Alignment
2862                            0x10,               // Length
2863                            )
2864                        IO (Decode16,
2865                            0x0022,             // Range Minimum
2866                            0x0022,             // Range Maximum
2867                            0x00,               // Alignment
2868                            0x1E,               // Length
2869                            )
2870                        IO (Decode16,
2871                            0x0062,             // Range Minimum
2872                            0x0062,             // Range Maximum
2873                            0x00,               // Alignment
2874                            0x02,               // Length
2875                            )
2876                        IO (Decode16,
2877                            0x0065,             // Range Minimum
2878                            0x0065,             // Range Maximum
2879                            0x00,               // Alignment
2880                            0x0B,               // Length
2881                            )
2882                        IO (Decode16,
2883                            0x0072,             // Range Minimum
2884                            0x0072,             // Range Maximum
2885                            0x00,               // Alignment
2886                            0x0E,               // Length
2887                            )
2888                        IO (Decode16,
2889                            0x0080,             // Range Minimum
2890                            0x0080,             // Range Maximum
2891                            0x00,               // Alignment
2892                            0x01,               // Length
2893                            )
2894                        IO (Decode16,
2895                            0x0084,             // Range Minimum
2896                            0x0084,             // Range Maximum
2897                            0x00,               // Alignment
2898                            0x03,               // Length
2899                            )
2900                        IO (Decode16,
2901                            0x0088,             // Range Minimum
2902                            0x0088,             // Range Maximum
2903                            0x00,               // Alignment
2904                            0x01,               // Length
2905                            )
2906                        IO (Decode16,
2907                            0x008C,             // Range Minimum
2908                            0x008C,             // Range Maximum
2909                            0x00,               // Alignment
2910                            0x03,               // Length
2911                            )
2912                        IO (Decode16,
2913                            0x0090,             // Range Minimum
2914                            0x0090,             // Range Maximum
2915                            0x00,               // Alignment
2916                            0x10,               // Length
2917                            )
2918                        IO (Decode16,
2919                            0x00A2,             // Range Minimum
2920                            0x00A2,             // Range Maximum
2921                            0x00,               // Alignment
2922                            0x1E,               // Length
2923                            )
2924                        IO (Decode16,
2925                            0x00B1,             // Range Minimum
2926                            0x00B1,             // Range Maximum
2927                            0x00,               // Alignment
2928                            0x01,               // Length
2929                            )
2930                        IO (Decode16,
2931                            0x00E0,             // Range Minimum
2932                            0x00E0,             // Range Maximum
2933                            0x00,               // Alignment
2934                            0x10,               // Length
2935                            )
2936                        IO (Decode16,
2937                            0x0320,             // Range Minimum
2938                            0x0320,             // Range Maximum
2939                            0x00,               // Alignment
2940                            0x0F,               // Length
2941                            )
2942                        IO (Decode16,
2943                            0x032F,             // Range Minimum
2944                            0x032F,             // Range Maximum
2945                            0x00,               // Alignment
2946                            0x01,               // Length
2947                            )
2948                        IO (Decode16,
2949                            0x04D0,             // Range Minimum
2950                            0x04D0,             // Range Maximum
2951                            0x00,               // Alignment
2952                            0x02,               // Length
2953                            )
2954                        IO (Decode16,
2955                            0x040B,             // Range Minimum
2956                            0x040B,             // Range Maximum
2957                            0x00,               // Alignment
2958                            0x01,               // Length
2959                            )
2960                        IO (Decode16,
2961                            0x04D6,             // Range Minimum
2962                            0x04D6,             // Range Maximum
2963                            0x00,               // Alignment
2964                            0x01,               // Length
2965                            )
2966                        IO (Decode16,
2967                            0x0B10,             // Range Minimum
2968                            0x0B10,             // Range Maximum
2969                            0x00,               // Alignment
2970                            0x0F,               // Length
2971                            )
2972                        IO (Decode16,
2973                            0x0B1F,             // Range Minimum
2974                            0x0B1F,             // Range Maximum
2975                            0x00,               // Alignment
2976                            0x01,               // Length
2977                            )
2978                        IO (Decode16,
2979                            0x0C00,             // Range Minimum
2980                            0x0C00,             // Range Maximum
2981                            0x00,               // Alignment
2982                            0x02,               // Length
2983                            )
2984                        IO (Decode16,
2985                            0x0C14,             // Range Minimum
2986                            0x0C14,             // Range Maximum
2987                            0x00,               // Alignment
2988                            0x01,               // Length
2989                            )
2990                        IO (Decode16,
2991                            0x0C50,             // Range Minimum
2992                            0x0C50,             // Range Maximum
2993                            0x00,               // Alignment
2994                            0x02,               // Length
2995                            )
2996                        IO (Decode16,
2997                            0x0C52,             // Range Minimum
2998                            0x0C52,             // Range Maximum
2999                            0x00,               // Alignment
3000                            0x01,               // Length
3001                            )
3002                        IO (Decode16,
3003                            0x0C6C,             // Range Minimum
3004                            0x0C6C,             // Range Maximum
3005                            0x00,               // Alignment
3006                            0x01,               // Length
3007                            )
3008                        IO (Decode16,
3009                            0x0C6F,             // Range Minimum
3010                            0x0C6F,             // Range Maximum
3011                            0x00,               // Alignment
3012                            0x01,               // Length
3013                            )
3014                        IO (Decode16,
3015                            0x0CD0,             // Range Minimum
3016                            0x0CD0,             // Range Maximum
3017                            0x00,               // Alignment
3018                            0x02,               // Length
3019                            )
3020                        IO (Decode16,
3021                            0x0CD2,             // Range Minimum
3022                            0x0CD2,             // Range Maximum
3023                            0x00,               // Alignment
3024                            0x02,               // Length
3025                            )
3026                        IO (Decode16,
3027                            0x0CD4,             // Range Minimum
3028                            0x0CD4,             // Range Maximum
3029                            0x00,               // Alignment
3030                            0x02,               // Length
3031                            )
3032                        IO (Decode16,
3033                            0x0CD6,             // Range Minimum
3034                            0x0CD6,             // Range Maximum
3035                            0x00,               // Alignment
3036                            0x02,               // Length
3037                            )
3038                        IO (Decode16,
3039                            0x0CD8,             // Range Minimum
3040                            0x0CD8,             // Range Maximum
3041                            0x00,               // Alignment
3042                            0x08,               // Length
3043                            )
3044                        IO (Decode16,
3045                            0x0000,             // Range Minimum
3046                            0x0000,             // Range Maximum
3047                            0x00,               // Alignment
3048                            0x00,               // Length
3049                            _Y00)
3050                        IO (Decode16,
3051                            0x0000,             // Range Minimum
3052                            0x0000,             // Range Maximum
3053                            0x00,               // Alignment
3054                            0x00,               // Length
3055                            _Y01)
3056                        IO (Decode16,
3057                            0x0000,             // Range Minimum
3058                            0x0000,             // Range Maximum
3059                            0x00,               // Alignment
3060                            0x00,               // Length
3061                            _Y02)
3062                        IO (Decode16,
3063                            0x0900,             // Range Minimum
3064                            0x0900,             // Range Maximum
3065                            0x00,               // Alignment
3066                            0x10,               // Length
3067                            )
3068                        IO (Decode16,
3069                            0x0910,             // Range Minimum
3070                            0x0910,             // Range Maximum
3071                            0x00,               // Alignment
3072                            0x10,               // Length
3073                            )
3074                        IO (Decode16,
3075                            0xFE00,             // Range Minimum
3076                            0xFE00,             // Range Maximum
3077                            0x00,               // Alignment
3078                            0xFF,               // Length
3079                            )
3080                        Memory32Fixed (ReadOnly,
3081                            0xFFB80000,         // Address Base
3082                            0x00080000,         // Address Length
3083                            )
3084                        Memory32 (ReadOnly,
3085                            0xFED00000,         // Range Minimum
3086                            0xFED00400,         // Range Maximum
3087                            0x00000000,         // Alignment
3088                            0x00000400,         // Length
3089                            )
3090                        Memory32 (ReadOnly,
3091                            0xFF6FF000,         // Range Minimum
3092                            0xFF6FF800,         // Range Maximum
3093                            0x00000000,         // Alignment
3094                            0x00000800,         // Length
3095                            )
3096                        Memory32Fixed (ReadWrite,
3097                            0x00000000,         // Address Base
3098                            0x00000000,         // Address Length
3099                            _Y03)
3100                    })
3101                    Method (_CRS, 0, NotSerialized)
3102                    {
3103                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y00._MIN, GP00)
3104                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y00._MAX, GP01)
3105                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y00._LEN, GP0L)
3106                        Store (PMBS, GP00)
3107                        Store (PMBS, GP01)
3108                        Store (PMLN, GP0L)
3109                        If (SMBB)
3110                        {
3111                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y01._MIN, GP10)
3112                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y01._MAX, GP11)
3113                            CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y01._LEN, GP1L)
3114                            Store (SMBB, GP10)
3115                            Store (SMBB, GP11)
3116                            Store (SMBL, GP1L)
3117                        }
3118
3119                        If (GPBS)
3120                        {
3121                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y02._MIN, GP20)
3122                            CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y02._MAX, GP21)
3123                            CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y02._LEN, GP2L)
3124                            Store (GPBS, GP20)
3125                            Store (GPBS, GP21)
3126                            Store (GPLN, GP2L)
3127                        }
3128
3129                        CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y03._BAS, ROMB)
3130                        CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y03._LEN, ROML)
3131                        Store (ROMS, ROMB)
3132                        Subtract (Zero, ROMS, ROML)
3133                        Return (CRS)
3134                    }
3135                }
3136
3137                Device (PS2K)
3138                {
3139                    Name (_HID, EisaId ("PNP0303"))
3140                    Name (_CID, 0x0B03D041)
3141                    Method (_STA, 0, NotSerialized)
3142                    {
3143                        ShiftLeft (One, 0x0A, Local0)
3144                        If (And (IOST, Local0))
3145                        {
3146                            Return (0x0F)
3147                        }
3148
3149                        Return (Zero)
3150                    }
3151
3152                    Name (_CRS, ResourceTemplate ()
3153                    {
3154                        IO (Decode16,
3155                            0x0060,             // Range Minimum
3156                            0x0060,             // Range Maximum
3157                            0x00,               // Alignment
3158                            0x01,               // Length
3159                            )
3160                        IO (Decode16,
3161                            0x0064,             // Range Minimum
3162                            0x0064,             // Range Maximum
3163                            0x00,               // Alignment
3164                            0x01,               // Length
3165                            )
3166                        IRQNoFlags ()
3167                            {1}
3168                    })
3169                }
3170
3171                Method (PS2K._PRW, 0, NotSerialized)
3172                {
3173                    Return (GPRW (0x03, 0x03))
3174                }
3175
3176                Device (PS2M)
3177                {
3178                    Name (_HID, EisaId ("PNP0F03"))
3179                    Name (_CID, 0x130FD041)
3180                    Method (_STA, 0, NotSerialized)
3181                    {
3182                        ShiftLeft (One, 0x0C, Local0)
3183                        If (And (IOST, Local0))
3184                        {
3185                            Return (0x0F)
3186                        }
3187
3188                        Return (Zero)
3189                    }
3190
3191                    Name (_CRS, ResourceTemplate ()
3192                    {
3193                        IRQNoFlags ()
3194                            {12}
3195                    })
3196                }
3197
3198                Method (PS2M._PRW, 0, NotSerialized)
3199                {
3200                    Return (GPRW (0x03, 0x03))
3201                }
3202
3203                Device (SIOR)
3204                {
3205                    Name (_HID, EisaId ("PNP0C02"))
3206                    Method (_UID, 0, NotSerialized)
3207                    {
3208                        Return (SPIO)
3209                    }
3210
3211                    Name (CRS, ResourceTemplate ()
3212                    {
3213                        IO (Decode16,
3214                            0x0000,             // Range Minimum
3215                            0x0000,             // Range Maximum
3216                            0x00,               // Alignment
3217                            0x00,               // Length
3218                            _Y04)
3219                        IO (Decode16,
3220                            0x0000,             // Range Minimum
3221                            0x0000,             // Range Maximum
3222                            0x00,               // Alignment
3223                            0x00,               // Length
3224                            _Y05)
3225                    })
3226                    Method (_CRS, 0, NotSerialized)
3227                    {
3228                        If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater (SPIO, 0xF0)))
3229                        {
3230                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y04._MIN, GP10)
3231                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y04._MAX, GP11)
3232                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y04._LEN, GPL1)
3233                            Store (SPIO, GP10)
3234                            Store (SPIO, GP11)
3235                            Store (0x02, GPL1)
3236                        }
3237
3238                        If (IO1P)
3239                        {
3240                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y05._MIN, GP20)
3241                            CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y05._MAX, GP21)
3242                            CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y05._LEN, GPL2)
3243                            Store (IO1P, GP20)
3244                            Store (IO1P, GP21)
3245                            Store (IO1L, GPL2)
3246                        }
3247
3248                        Return (CRS)
3249                    }
3250                }
3251
3252                Name (DCAT, Package (0x15)
3253                {
3254                    0x04,
3255                    0x05,
3256                    0x03,
3257                    Zero,
3258                    0xFF,
3259                    0x0B,
3260                    0xFF,
3261                    0xFF,
3262                    0x09,
3263                    0xFF,
3264                    0xFF,
3265                    0xFF,
3266                    0xFF,
3267                    0xFF,
3268                    0xFF,
3269                    0xFF,
3270                    0xFF,
3271                    0xFF,
3272                    0xFF,
3273                    0xFF,
3274                    0xFF
3275                })
3276                Mutex (MUT0, 0x00)
3277                Method (ENFG, 1, NotSerialized)
3278                {
3279                    Acquire (MUT0, 0x0FFF)
3280                    Store (0x55, INDX)
3281                    Store (Arg0, LDN)
3282                }
3283
3284                Method (EXFG, 0, NotSerialized)
3285                {
3286                    Store (0xAA, INDX)
3287                    Release (MUT0)
3288                }
3289
3290                Method (LPTM, 1, NotSerialized)
3291                {
3292                    ENFG (CGLD (Arg0))
3293                    And (OPT0, 0x02, Local0)
3294                    EXFG ()
3295                    Return (Local0)
3296                }
3297
3298                Method (UHID, 1, NotSerialized)
3299                {
3300                    If (LEqual (Arg0, One))
3301                    {
3302                        ENFG (CGLD (Arg0))
3303                        And (OPT1, 0x38, Local0)
3304                        EXFG ()
3305                        If (Local0)
3306                        {
3307                            Return (0x1005D041)
3308                        }
3309                    }
3310
3311                    Return (0x0105D041)
3312                }
3313
3314                Name (PMFG, Zero)
3315                Name (KBFG, One)
3316                Name (MSFG, One)
3317                OperationRegion (RNTR, SystemIO, IO1P, 0x80)
3318                Field (RNTR, ByteAcc, NoLock, Preserve)
3319                {
3320                    PMES,   8,
3321                            Offset (0x02),
3322                    PMEE,   1,
3323                            Offset (0x03),
3324                            Offset (0x04),
3325                    PMS1,   8,
3326                    PMS2,   8,
3327                    PMS3,   8,
3328                    PMS4,   8,
3329                    PMS5,   8,
3330                            Offset (0x0A),
3331                    PME1,   8,
3332                    PME2,   8,
3333                    PME3,   8,
3334                    PME4,   8,
3335                    PME5,   8,
3336                            Offset (0x10),
3337                        ,   1,
3338                    SS1P,   1,
3339                    SS1U,   2,
3340                    SS1F,   1,
3341                    SS1M,   1,
3342                            Offset (0x11),
3343                    SST2,   8,
3344                    SST3,   8,
3345                    SST4,   8,
3346                    SST5,   8,
3347                            Offset (0x16),
3348                    SEN1,   8,
3349                    SEN2,   8,
3350                    SEN3,   8,
3351                    SEN4,   8,
3352                    SEN5,   8,
3353                            Offset (0x35),
3354                    FN2S,   8,
3355                    FN1S,   8,
3356                            Offset (0x47),
3357                    LD1S,   8,
3358                    LD2S,   8,
3359                            Offset (0x56),
3360                    FN1C,   8,
3361                    FN2C,   8,
3362                            Offset (0x5D),
3363                    LD1C,   8,
3364                    LD2C,   8
3365                }
3366
3367                Method (PS2K._PSW, 1, NotSerialized)
3368                {
3369                    If (LNot (OSFL ()))
3370                    {
3371                        Store (Arg0, KBFG)
3372                    }
3373                }
3374
3375                Method (PS2M._PSW, 1, NotSerialized)
3376                {
3377                    If (LNot (OSFL ()))
3378                    {
3379                        Store (Arg0, MSFG)
3380                    }
3381                }
3382
3383                Method (SIOS, 1, NotSerialized)
3384                {
3385                    Store ("SIOS", Debug)
3386                    If (LNotEqual (Arg0, 0x05))
3387                    {
3388                        ENFG (0x07)
3389                        Or (OPT0, 0x60, OPT0)
3390                        EXFG ()
3391                        Store (0xFF, PMS1)
3392                        Store (0xFF, PMS3)
3393                        Store (0xFF, PMES)
3394                        Store (Zero, PME1)
3395                        If (KBFG)
3396                        {
3397                            Or (PME1, 0x08, PME1)
3398                        }
3399
3400                        If (MSFG)
3401                        {
3402                            Or (PME1, 0x10, PME1)
3403                        }
3404
3405                        Store (One, PMEE)
3406                    }
3407                }
3408
3409                Method (SIOW, 1, NotSerialized)
3410                {
3411                    Store ("SIOW", Debug)
3412                    Store (PMS1, PMFG)
3413                    Store (Zero, PMEE)
3414                    Store (0xFF, PMS1)
3415                    Store (Zero, PME1)
3416                    ENFG (0x07)
3417                    And (OPT0, 0x9F, OPT0)
3418                    EXFG ()
3419                    Store (0xFF, PMES)
3420                }
3421
3422                Method (SIOH, 0, NotSerialized)
3423                {
3424                    If (And (PMFG, 0x08))
3425                    {
3426                        Notify (PS2K, 0x02)
3427                    }
3428
3429                    If (And (PMFG, 0x10))
3430                    {
3431                        Notify (PS2M, 0x02)
3432                    }
3433                }
3434
3435                OperationRegion (IOID, SystemIO, SPIO, 0x02)
3436                Field (IOID, ByteAcc, NoLock, Preserve)
3437                {
3438                    INDX,   8,
3439                    DATA,   8
3440                }
3441
3442                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
3443                {
3444                            Offset (0x07),
3445                    LDN,    8,
3446                            Offset (0x30),
3447                    ACTR,   8,
3448                            Offset (0x60),
3449                    IOAH,   8,
3450                    IOAL,   8,
3451                    IOH2,   8,
3452                    IOL2,   8,
3453                            Offset (0x70),
3454                    INTR,   8,
3455                            Offset (0x72),
3456                    INT1,   8,
3457                            Offset (0x74),
3458                    DMCH,   8,
3459                            Offset (0xF0),
3460                    OPT0,   8,
3461                    OPT1,   8,
3462                    OPT2,   8
3463                }
3464
3465                Method (CGLD, 1, NotSerialized)
3466                {
3467                    Return (DerefOf (Index (DCAT, Arg0)))
3468                }
3469
3470                Method (DSTA, 1, NotSerialized)
3471                {
3472                    ENFG (CGLD (Arg0))
3473                    Store (ACTR, Local0)
3474                    EXFG ()
3475                    If (LEqual (Local0, 0xFF))
3476                    {
3477                        Return (Zero)
3478                    }
3479
3480                    And (Local0, One, Local0)
3481                    Or (IOST, ShiftLeft (Local0, Arg0), IOST)
3482                    If (Local0)
3483                    {
3484                        Return (0x0F)
3485                    }
3486                    Else
3487                    {
3488                        If (And (ShiftLeft (One, Arg0), IOST))
3489                        {
3490                            Return (0x0D)
3491                        }
3492                        Else
3493                        {
3494                            Return (Zero)
3495                        }
3496                    }
3497                }
3498
3499                Method (DCNT, 2, NotSerialized)
3500                {
3501                    ENFG (CGLD (Arg0))
3502                    ShiftLeft (IOAH, 0x08, Local1)
3503                    Or (IOAL, Local1, Local1)
3504                    If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03,
3505                        Local1), Zero)))
3506                    {
3507                        RDMA (Arg0, Arg1, Increment (Local1))
3508                    }
3509
3510                    Store (Arg1, ACTR)
3511                    RRIO (Arg0, Arg1, Local1, 0x08)
3512                    EXFG ()
3513                }
3514
3515                Name (CRS1, ResourceTemplate ()
3516                {
3517                    IO (Decode16,
3518                        0x0000,             // Range Minimum
3519                        0x0000,             // Range Maximum
3520                        0x01,               // Alignment
3521                        0x00,               // Length
3522                        _Y08)
3523                    IRQNoFlags (_Y06)
3524                        {}
3525                    DMA (Compatibility, NotBusMaster, Transfer8, _Y07)
3526                        {}
3527                })
3528                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y06._INT, IRQM)
3529                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y07._DMA, DMAM)
3530                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y08._MIN, IO11)
3531                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y08._MAX, IO12)
3532                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y08._LEN, LEN1)
3533                Name (CRS2, ResourceTemplate ()
3534                {
3535                    IO (Decode16,
3536                        0x0000,             // Range Minimum
3537                        0x0000,             // Range Maximum
3538                        0x01,               // Alignment
3539                        0x00,               // Length
3540                        _Y0B)
3541                    IO (Decode16,
3542                        0x0000,             // Range Minimum
3543                        0x0000,             // Range Maximum
3544                        0x01,               // Alignment
3545                        0x00,               // Length
3546                        _Y0C)
3547                    IRQNoFlags (_Y09)
3548                        {6}
3549                    DMA (Compatibility, NotBusMaster, Transfer8, _Y0A)
3550                        {2}
3551                })
3552                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y09._INT, IRQE)
3553                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y0A._DMA, DMAE)
3554                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0B._MIN, IO21)
3555                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0B._MAX, IO22)
3556                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y0B._LEN, LEN2)
3557                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0C._MIN, IO31)
3558                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y0C._MAX, IO32)
3559                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y0C._LEN, LEN3)
3560                Method (DCRS, 2, NotSerialized)
3561                {
3562                    ENFG (CGLD (Arg0))
3563                    ShiftLeft (IOAH, 0x08, IO11)
3564                    Or (IOAL, IO11, IO11)
3565                    Store (IO11, IO12)
3566                    Subtract (FindSetRightBit (IO11), One, Local0)
3567                    ShiftLeft (One, Local0, LEN1)
3568                    If (INTR)
3569                    {
3570                        ShiftLeft (One, INTR, IRQM)
3571                    }
3572                    Else
3573                    {
3574                        Store (Zero, IRQM)
3575                    }
3576
3577                    If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
3578                    {
3579                        Store (Zero, DMAM)
3580                    }
3581                    Else
3582                    {
3583                        And (DMCH, 0x03, Local1)
3584                        ShiftLeft (One, Local1, DMAM)
3585                    }
3586
3587                    EXFG ()
3588                    Return (CRS1)
3589                }
3590
3591                Method (DSRS, 2, NotSerialized)
3592                {
3593                    CreateWordField (Arg0, 0x09, IRQM)
3594                    CreateByteField (Arg0, 0x0C, DMAM)
3595                    CreateWordField (Arg0, 0x02, IO11)
3596                    ENFG (CGLD (Arg1))
3597                    ShiftLeft (IOAH, 0x08, Local1)
3598                    Or (IOAL, Local1, Local1)
3599                    RRIO (Arg1, Zero, Local1, 0x08)
3600                    RRIO (Arg1, One, IO11, 0x08)
3601                    And (IO11, 0xFF, IOAL)
3602                    ShiftRight (IO11, 0x08, IOAH)
3603                    If (IRQM)
3604                    {
3605                        FindSetRightBit (IRQM, Local0)
3606                        Subtract (Local0, One, INTR)
3607                    }
3608                    Else
3609                    {
3610                        Store (Zero, INTR)
3611                    }
3612
3613                    If (DMAM)
3614                    {
3615                        FindSetRightBit (DMAM, Local0)
3616                        Subtract (Local0, One, DMCH)
3617                    }
3618                    Else
3619                    {
3620                        Store (0x04, DMCH)
3621                    }
3622
3623                    EXFG ()
3624                    DCNT (Arg1, One)
3625                }
3626
3627                Device (HPET)
3628                {
3629                    Name (_HID, EisaId ("PNP0103"))
3630                    Name (CRS, ResourceTemplate ()
3631                    {
3632                        Memory32Fixed (ReadOnly,
3633                            0xFED00000,         // Address Base
3634                            0x00000400,         // Address Length
3635                            _Y0D)
3636                    })
3637                    Method (_STA, 0, NotSerialized)
3638                    {
3639                        If (HPBS)
3640                        {
3641                            Return (0x0F)
3642                        }
3643                        Else
3644                        {
3645                            Return (Zero)
3646                        }
3647                    }
3648
3649                    Method (_CRS, 0, NotSerialized)
3650                    {
3651                        CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0D._BAS, HPT)
3652                        Store (HPBS, HPT)
3653                        Return (CRS)
3654                    }
3655                }
3656
3657                Device (^PCIE)
3658                {
3659                    Name (_HID, EisaId ("PNP0C02"))
3660                    Name (_UID, 0x11)
3661                    Name (CRS, ResourceTemplate ()
3662                    {
3663                        Memory32Fixed (ReadOnly,
3664                            0xE0000000,         // Address Base
3665                            0x10000000,         // Address Length
3666                            _Y0E)
3667                    })
3668                    Method (_CRS, 0, NotSerialized)
3669                    {
3670                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y0E._BAS, BAS1)
3671                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y0E._LEN, LEN1)
3672                        Store (PCIB, BAS1)
3673                        Store (PCIL, LEN1)
3674                        Return (CRS)
3675                    }
3676                }
3677
3678                Device (OMSC)
3679                {
3680                    Name (_HID, EisaId ("PNP0C02"))
3681                    Name (_UID, Zero)
3682                    Name (CRS, ResourceTemplate ()
3683                    {
3684                        Memory32Fixed (ReadOnly,
3685                            0x00000000,         // Address Base
3686                            0x00000000,         // Address Length
3687                            _Y0F)
3688                        Memory32Fixed (ReadOnly,
3689                            0x00000000,         // Address Base
3690                            0x00000000,         // Address Length
3691                            _Y10)
3692                    })
3693                    Method (_CRS, 0, NotSerialized)
3694                    {
3695                        If (APIC)
3696                        {
3697                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0F._LEN, ML01)
3698                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0F._BAS, MB01)
3699                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y10._LEN, ML02)
3700                            CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y10._BAS, MB02)
3701                            Store (0xFEC00000, MB01)
3702                            Store (0x1000, ML01)
3703                            Store (0xFEE00000, MB02)
3704                            Store (0x1000, ML02)
3705                        }
3706
3707                        Return (CRS)
3708                    }
3709                }
3710
3711                Device (^^RMEM)
3712                {
3713                    Name (_HID, EisaId ("PNP0C01"))
3714                    Name (_UID, One)
3715                    Name (CRS, ResourceTemplate ()
3716                    {
3717                        Memory32Fixed (ReadWrite,
3718                            0x00000000,         // Address Base
3719                            0x000A0000,         // Address Length
3720                            )
3721                        Memory32Fixed (ReadOnly,
3722                            0x00000000,         // Address Base
3723                            0x00000000,         // Address Length
3724                            _Y11)
3725                        Memory32Fixed (ReadOnly,
3726                            0x000E0000,         // Address Base
3727                            0x00020000,         // Address Length
3728                            _Y12)
3729                        Memory32Fixed (ReadWrite,
3730                            0x00100000,         // Address Base
3731                            0x00000000,         // Address Length
3732                            _Y13)
3733                        Memory32Fixed (ReadOnly,
3734                            0x00000000,         // Address Base
3735                            0x00000000,         // Address Length
3736                            _Y14)
3737                    })
3738                    Method (_CRS, 0, NotSerialized)
3739                    {
3740                        CreateDWordField (CRS, \_SB.RMEM._Y11._BAS, BAS1)
3741                        CreateDWordField (CRS, \_SB.RMEM._Y11._LEN, LEN1)
3742                        CreateDWordField (CRS, \_SB.RMEM._Y12._BAS, BAS2)
3743                        CreateDWordField (CRS, \_SB.RMEM._Y12._LEN, LEN2)
3744                        CreateDWordField (CRS, \_SB.RMEM._Y13._LEN, LEN3)
3745                        CreateDWordField (CRS, \_SB.RMEM._Y14._BAS, BAS4)
3746                        CreateDWordField (CRS, \_SB.RMEM._Y14._LEN, LEN4)
3747                        If (OSFL ()) {}
3748                        Else
3749                        {
3750                            If (MG1B)
3751                            {
3752                                If (LGreater (MG1B, 0x000C0000))
3753                                {
3754                                    Store (0x000C0000, BAS1)
3755                                    Subtract (MG1B, BAS1, LEN1)
3756                                }
3757                            }
3758                            Else
3759                            {
3760                                Store (0x000C0000, BAS1)
3761                                Store (0x00020000, LEN1)
3762                            }
3763
3764                            If (Add (MG1B, MG1L, Local0))
3765                            {
3766                                Store (Local0, BAS2)
3767                                Subtract (0x00100000, BAS2, LEN2)
3768                            }
3769                        }
3770
3771                        Subtract (MG2B, 0x00100000, LEN3)
3772                        Add (MG2B, MG2L, BAS4)
3773                        Subtract (Zero, BAS4, LEN4)
3774                        Return (CRS)
3775                    }
3776                }
3777            }
3778
3779            Device (P0PC)
3780            {
3781                Name (_ADR, 0x00140004)
3782                Method (_PRW, 0, NotSerialized)
3783                {
3784                    Return (GPRW (0x04, 0x04))
3785                }
3786
3787                Method (_PRT, 0, NotSerialized)
3788                {
3789                    If (PICM)
3790                    {
3791                        Return (AR0C)
3792                    }
3793
3794                    Return (PR0C)
3795                }
3796            }
3797
3798            Device (USB1)
3799            {
3800                Name (_ADR, 0x00130000)
3801                Method (_S3D, 0, NotSerialized)
3802                {
3803                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
3804                    {
3805                        Return (0x02)
3806                    }
3807                    Else
3808                    {
3809                        Return (0x03)
3810                    }
3811                }
3812
3813                Method (_PRW, 0, NotSerialized)
3814                {
3815                    Return (GPRW (0x0B, 0x04))
3816                }
3817            }
3818
3819            Device (USB2)
3820            {
3821                Name (_ADR, 0x00130001)
3822                Method (_S3D, 0, NotSerialized)
3823                {
3824                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
3825                    {
3826                        Return (0x02)
3827                    }
3828                    Else
3829                    {
3830                        Return (0x03)
3831                    }
3832                }
3833
3834                Method (_PRW, 0, NotSerialized)
3835                {
3836                    Return (GPRW (0x0B, 0x04))
3837                }
3838            }
3839
3840            Device (USB3)
3841            {
3842                Name (_ADR, 0x00130002)
3843                Method (_S3D, 0, NotSerialized)
3844                {
3845                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
3846                    {
3847                        Return (0x02)
3848                    }
3849                    Else
3850                    {
3851                        Return (0x03)
3852                    }
3853                }
3854
3855                Method (_PRW, 0, NotSerialized)
3856                {
3857                    Return (GPRW (0x0B, 0x04))
3858                }
3859            }
3860
3861            Device (USB4)
3862            {
3863                Name (_ADR, 0x00130003)
3864                Method (_S3D, 0, NotSerialized)
3865                {
3866                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
3867                    {
3868                        Return (0x02)
3869                    }
3870                    Else
3871                    {
3872                        Return (0x03)
3873                    }
3874                }
3875
3876                Method (_PRW, 0, NotSerialized)
3877                {
3878                    Return (GPRW (0x0B, 0x04))
3879                }
3880            }
3881
3882            Device (USB5)
3883            {
3884                Name (_ADR, 0x00130004)
3885                Method (_S3D, 0, NotSerialized)
3886                {
3887                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
3888                    {
3889                        Return (0x02)
3890                    }
3891                    Else
3892                    {
3893                        Return (0x03)
3894                    }
3895                }
3896
3897                Method (_PRW, 0, NotSerialized)
3898                {
3899                    Return (GPRW (0x0B, 0x04))
3900                }
3901            }
3902
3903            Device (EUSB)
3904            {
3905                Name (_ADR, 0x00130005)
3906                Method (_S3D, 0, NotSerialized)
3907                {
3908                    If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
3909                    {
3910                        Return (0x02)
3911                    }
3912                    Else
3913                    {
3914                        Return (0x03)
3915                    }
3916                }
3917
3918                Method (_PRW, 0, NotSerialized)
3919                {
3920                    Return (GPRW (0x0B, 0x04))
3921                }
3922            }
3923
3924            Device (SATA)
3925            {
3926                Name (_ADR, 0x00120000)
3927                If (STHP)
3928                {
3929                    Method (_INI, 0, NotSerialized)
3930                    {
3931                        \_GPE._L1F ()
3932                    }
3933                }
3934
3935                Name (SPTM, Buffer (0x14)
3936                {
3937                    /* 0000 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
3938                    /* 0008 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
3939                    /* 0010 */    0x1F, 0x00, 0x00, 0x00
3940                })
3941                Device (PRID)
3942                {
3943                    Name (_ADR, Zero)
3944                    Method (_GTM, 0, NotSerialized)
3945                    {
3946                        Return (SPTM)
3947                    }
3948
3949                    Method (_STM, 3, NotSerialized)
3950                    {
3951                    }
3952
3953                    Device (P_D0)
3954                    {
3955                        Name (_ADR, Zero)
3956                        Method (_STA, 0, NotSerialized)
3957                        {
3958                            If (Not (LEqual (PMS1, Zero)))
3959                            {
3960                                Return (0x0F)
3961                            }
3962                            Else
3963                            {
3964                                Return (Zero)
3965                            }
3966                        }
3967
3968                        Name (S12P, Zero)
3969                        Method (_PS0, 0, NotSerialized)
3970                        {
3971                            Store (0x32, Local0)
3972                            While (LAnd (LEqual (PMBY, One), Local0))
3973                            {
3974                                Sleep (0xFA)
3975                                Decrement (Local0)
3976                            }
3977
3978                            Store (Zero, S12P)
3979                        }
3980
3981                        Method (_PS3, 0, NotSerialized)
3982                        {
3983                            Store (0x03, S12P)
3984                        }
3985
3986                        Method (_PSC, 0, NotSerialized)
3987                        {
3988                            Return (S12P)
3989                        }
3990                    }
3991
3992                    Device (P_D1)
3993                    {
3994                        Name (_ADR, One)
3995                        Method (_STA, 0, NotSerialized)
3996                        {
3997                            If (Not (LEqual (PSS1, Zero)))
3998                            {
3999                                Return (0x0F)
4000                            }
4001                            Else
4002                            {
4003                                Return (Zero)
4004                            }
4005                        }
4006
4007                        Name (S12P, Zero)
4008                        Method (_PS0, 0, NotSerialized)
4009                        {
4010                            Store (0x32, Local0)
4011                            While (LAnd (LEqual (PSBY, One), Local0))
4012                            {
4013                                Sleep (0xFA)
4014                                Decrement (Local0)
4015                            }
4016
4017                            Store (Zero, S12P)
4018                        }
4019
4020                        Method (_PS3, 0, NotSerialized)
4021                        {
4022                            Store (0x03, S12P)
4023                        }
4024
4025                        Method (_PSC, 0, NotSerialized)
4026                        {
4027                            Return (S12P)
4028                        }
4029                    }
4030                }
4031
4032                Device (SECD)
4033                {
4034                    Name (_ADR, One)
4035                    Method (_GTM, 0, NotSerialized)
4036                    {
4037                        Return (SPTM)
4038                    }
4039
4040                    Method (_STM, 3, NotSerialized)
4041                    {
4042                    }
4043
4044                    Device (S_D0)
4045                    {
4046                        Name (_ADR, Zero)
4047                        Method (_STA, 0, NotSerialized)
4048                        {
4049                            If (Not (LEqual (SMS1, Zero)))
4050                            {
4051                                Return (0x0F)
4052                            }
4053                            Else
4054                            {
4055                                Return (Zero)
4056                            }
4057                        }
4058
4059                        Name (S12P, Zero)
4060                        Method (_PS0, 0, NotSerialized)
4061                        {
4062                            Store (0x32, Local0)
4063                            While (LAnd (LEqual (SMBY, One), Local0))
4064                            {
4065                                Sleep (0xFA)
4066                                Decrement (Local0)
4067                            }
4068
4069                            Store (Zero, S12P)
4070                        }
4071
4072                        Method (_PS3, 0, NotSerialized)
4073                        {
4074                            Store (0x03, S12P)
4075                        }
4076
4077                        Method (_PSC, 0, NotSerialized)
4078                        {
4079                            Return (S12P)
4080                        }
4081                    }
4082
4083                    Device (S_D1)
4084                    {
4085                        Name (_ADR, One)
4086                        Method (_STA, 0, NotSerialized)
4087                        {
4088                            If (Not (LEqual (SSS1, Zero)))
4089                            {
4090                                Return (0x0F)
4091                            }
4092                            Else
4093                            {
4094                                Return (Zero)
4095                            }
4096                        }
4097
4098                        Name (S12P, Zero)
4099                        Method (_PS0, 0, NotSerialized)
4100                        {
4101                            Store (0x32, Local0)
4102                            While (LAnd (LEqual (SSBY, One), Local0))
4103                            {
4104                                Sleep (0xFA)
4105                                Decrement (Local0)
4106                            }
4107
4108                            Store (Zero, S12P)
4109                        }
4110
4111                        Method (_PS3, 0, NotSerialized)
4112                        {
4113                            Store (0x03, S12P)
4114                        }
4115
4116                        Method (_PSC, 0, NotSerialized)
4117                        {
4118                            Return (S12P)
4119                        }
4120                    }
4121                }
4122
4123                If (STHP)
4124                {
4125                    Scope (_GPE)
4126                    {
4127                        Method (_L1F, 0, NotSerialized)
4128                        {
4129                            If (PRC0)
4130                            {
4131                                If (Not (LEqual (PMS1, Zero)))
4132                                {
4133                                    Sleep (0x1E)
4134                                }
4135
4136                                Notify (\_SB.PCI0.SATA.PRID.P_D0, One)
4137                                Store (One, PRC0)
4138                            }
4139
4140                            If (PRC1)
4141                            {
4142                                If (Not (LEqual (SMS1, Zero)))
4143                                {
4144                                    Sleep (0x1E)
4145                                }
4146
4147                                Notify (\_SB.PCI0.SATA.SECD.S_D0, One)
4148                                Store (One, PRC1)
4149                            }
4150
4151                            If (PRC2)
4152                            {
4153                                If (Not (LEqual (PSS1, Zero)))
4154                                {
4155                                    Sleep (0x1E)
4156                                }
4157
4158                                Notify (\_SB.PCI0.SATA.PRID.P_D1, One)
4159                                Store (One, PRC2)
4160                            }
4161
4162                            If (PRC3)
4163                            {
4164                                If (Not (LEqual (SSS1, Zero)))
4165                                {
4166                                    Sleep (0x1E)
4167                                }
4168
4169                                Notify (\_SB.PCI0.SATA.SECD.S_D1, One)
4170                                Store (One, PRC3)
4171                            }
4172                        }
4173                    }
4174                }
4175            }
4176
4177            Device (PCE2)
4178            {
4179                Name (_ADR, 0x00020000)
4180                Method (_PRW, 0, NotSerialized)
4181                {
4182                    Return (GPRW (0x18, 0x04))
4183                }
4184
4185                Method (_PRT, 0, NotSerialized)
4186                {
4187                    If (PICM)
4188                    {
4189                        Return (AR02)
4190                    }
4191
4192                    Return (PR02)
4193                }
4194            }
4195
4196            Device (PCE3)
4197            {
4198                Name (_ADR, 0x00030000)
4199                Method (_PRW, 0, NotSerialized)
4200                {
4201                    Return (GPRW (0x18, 0x04))
4202                }
4203
4204                Method (_PRT, 0, NotSerialized)
4205                {
4206                    If (PICM)
4207                    {
4208                        Return (AR03)
4209                    }
4210
4211                    Return (PR03)
4212                }
4213            }
4214
4215            Device (PCE4)
4216            {
4217                Name (_ADR, 0x00040000)
4218                Method (_PRW, 0, NotSerialized)
4219                {
4220                    Return (GPRW (0x18, 0x04))
4221                }
4222
4223                Method (_PRT, 0, NotSerialized)
4224                {
4225                    If (PICM)
4226                    {
4227                        Return (AR04)
4228                    }
4229
4230                    Return (PR04)
4231                }
4232            }
4233
4234            Device (PCE5)
4235            {
4236                Name (_ADR, 0x00050000)
4237                Method (_PRW, 0, NotSerialized)
4238                {
4239                    Return (GPRW (0x18, 0x04))
4240                }
4241
4242                Method (_PRT, 0, NotSerialized)
4243                {
4244                    If (PICM)
4245                    {
4246                        Return (AR05)
4247                    }
4248
4249                    Return (PR05)
4250                }
4251            }
4252
4253            Device (PCE6)
4254            {
4255                Name (_ADR, 0x00060000)
4256                Method (_PRW, 0, NotSerialized)
4257                {
4258                    Return (GPRW (0x18, 0x04))
4259                }
4260
4261                Method (_PRT, 0, NotSerialized)
4262                {
4263                    If (PICM)
4264                    {
4265                        Return (AR06)
4266                    }
4267
4268                    Return (PR06)
4269                }
4270            }
4271
4272            Device (PCE7)
4273            {
4274                Name (_ADR, 0x00070000)
4275                Method (_PRW, 0, NotSerialized)
4276                {
4277                    Return (GPRW (0x18, 0x04))
4278                }
4279
4280                Method (_PRT, 0, NotSerialized)
4281                {
4282                    If (PICM)
4283                    {
4284                        Return (AR07)
4285                    }
4286
4287                    Return (PR07)
4288                }
4289            }
4290        }
4291
4292        Scope (\_GPE)
4293        {
4294            Method (_L1B, 0, NotSerialized)
4295            {
4296                Notify (\_SB.PCI0.SBAZ, 0x02)
4297                Notify (\_SB.PWRB, 0x02)
4298            }
4299
4300            Method (_L03, 0, NotSerialized)
4301            {
4302                \_SB.PCI0.SBRG.SIOH ()
4303                Notify (\_SB.PWRB, 0x02)
4304            }
4305
4306            Method (_L04, 0, NotSerialized)
4307            {
4308                Notify (\_SB.PCI0.P0PC, 0x02)
4309                Notify (\_SB.PWRB, 0x02)
4310            }
4311
4312            Method (_L0B, 0, NotSerialized)
4313            {
4314                Notify (\_SB.PCI0.USB1, 0x02)
4315                Notify (\_SB.PCI0.USB2, 0x02)
4316                Notify (\_SB.PCI0.USB3, 0x02)
4317                Notify (\_SB.PCI0.USB4, 0x02)
4318                Notify (\_SB.PCI0.USB5, 0x02)
4319                Notify (\_SB.PCI0.EUSB, 0x02)
4320                Notify (\_SB.PWRB, 0x02)
4321            }
4322
4323            Method (_L18, 0, NotSerialized)
4324            {
4325                Notify (\_SB.PCI0.PCE2, 0x02)
4326                Notify (\_SB.PCI0.PCE3, 0x02)
4327                Notify (\_SB.PCI0.PCE4, 0x02)
4328                Notify (\_SB.PCI0.PCE5, 0x02)
4329                Notify (\_SB.PCI0.PCE6, 0x02)
4330                Notify (\_SB.PCI0.PCE7, 0x02)
4331                Notify (\_SB.PWRB, 0x02)
4332            }
4333        }
4334
4335        Device (PWRB)
4336        {
4337            Name (_HID, EisaId ("PNP0C0C"))
4338            Name (_UID, 0xAA)
4339            Name (_STA, 0x0B)
4340            Method (_PRW, 0, NotSerialized)
4341            {
4342                Return (GPRW (0x03, 0x03))
4343            }
4344        }
4345    }
4346
4347    Scope (_SB)
4348    {
4349        OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
4350        Field (PIRQ, ByteAcc, NoLock, Preserve)
4351        {
4352            PIDX,   8,
4353            PDAT,   8
4354        }
4355
4356        IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
4357        {
4358            PIRA,   8,
4359            PIRB,   8,
4360            PIRC,   8,
4361            PIRD,   8,
4362            PIRS,   8,
4363                    Offset (0x09),
4364            PIRE,   8,
4365            PIRF,   8,
4366            PIRG,   8,
4367            PIRH,   8
4368        }
4369
4370        Method (IRQC, 0, NotSerialized)
4371        {
4372            Store (Zero, PIRA)
4373            Store (Zero, PIRB)
4374            Store (Zero, PIRC)
4375            Store (Zero, PIRD)
4376            Store (Zero, PIRE)
4377            Store (Zero, PIRF)
4378            Store (Zero, PIRG)
4379            Store (Zero, PIRH)
4380        }
4381
4382        Name (BUFA, ResourceTemplate ()
4383        {
4384            IRQ (Level, ActiveLow, Shared, )
4385                {15}
4386        })
4387        Name (IPRA, ResourceTemplate ()
4388        {
4389            IRQ (Level, ActiveLow, Shared, )
4390                {5,10,11}
4391        })
4392        Name (IPRB, ResourceTemplate ()
4393        {
4394            IRQ (Level, ActiveLow, Shared, )
4395                {5,10,11}
4396        })
4397        Name (IPRC, ResourceTemplate ()
4398        {
4399            IRQ (Level, ActiveLow, Shared, )
4400                {5,10,11}
4401        })
4402        Name (IPRD, ResourceTemplate ()
4403        {
4404            IRQ (Level, ActiveLow, Shared, )
4405                {5,10,11}
4406        })
4407        Device (LNKA)
4408        {
4409            Name (_HID, EisaId ("PNP0C0F"))
4410            Name (_UID, One)
4411            Method (_STA, 0, NotSerialized)
4412            {
4413                If (PIRA)
4414                {
4415                    Return (0x0B)
4416                }
4417                Else
4418                {
4419                    Return (0x09)
4420                }
4421            }
4422
4423            Method (_PRS, 0, NotSerialized)
4424            {
4425                Return (PRSA)
4426            }
4427
4428            Method (_DIS, 0, NotSerialized)
4429            {
4430                Store (Zero, PIRA)
4431            }
4432
4433            Method (_CRS, 0, NotSerialized)
4434            {
4435                CreateWordField (BUFA, One, IRQX)
4436                ShiftLeft (One, PIRA, IRQX)
4437                Return (BUFA)
4438            }
4439
4440            Method (_SRS, 1, NotSerialized)
4441            {
4442                CreateWordField (Arg0, One, IRA)
4443                FindSetRightBit (IRA, Local0)
4444                Decrement (Local0)
4445                Store (Local0, PIRA)
4446            }
4447        }
4448
4449        Device (LNKB)
4450        {
4451            Name (_HID, EisaId ("PNP0C0F"))
4452            Name (_UID, 0x02)
4453            Method (_STA, 0, NotSerialized)
4454            {
4455                If (PIRB)
4456                {
4457                    Return (0x0B)
4458                }
4459                Else
4460                {
4461                    Return (0x09)
4462                }
4463            }
4464
4465            Method (_PRS, 0, NotSerialized)
4466            {
4467                Return (PRSB)
4468            }
4469
4470            Method (_DIS, 0, NotSerialized)
4471            {
4472                Store (Zero, PIRB)
4473            }
4474
4475            Method (_CRS, 0, NotSerialized)
4476            {
4477                CreateWordField (BUFA, One, IRQX)
4478                ShiftLeft (One, PIRB, IRQX)
4479                Return (BUFA)
4480            }
4481
4482            Method (_SRS, 1, NotSerialized)
4483            {
4484                CreateWordField (Arg0, One, IRA)
4485                FindSetRightBit (IRA, Local0)
4486                Decrement (Local0)
4487                Store (Local0, PIRB)
4488            }
4489        }
4490
4491        Device (LNKC)
4492        {
4493            Name (_HID, EisaId ("PNP0C0F"))
4494            Name (_UID, 0x03)
4495            Method (_STA, 0, NotSerialized)
4496            {
4497                If (PIRC)
4498                {
4499                    Return (0x0B)
4500                }
4501                Else
4502                {
4503                    Return (0x09)
4504                }
4505            }
4506
4507            Method (_PRS, 0, NotSerialized)
4508            {
4509                Return (PRSC)
4510            }
4511
4512            Method (_DIS, 0, NotSerialized)
4513            {
4514                Store (Zero, PIRC)
4515            }
4516
4517            Method (_CRS, 0, NotSerialized)
4518            {
4519                CreateWordField (BUFA, One, IRQX)
4520                ShiftLeft (One, PIRC, IRQX)
4521                Return (BUFA)
4522            }
4523
4524            Method (_SRS, 1, NotSerialized)
4525            {
4526                CreateWordField (Arg0, One, IRA)
4527                FindSetRightBit (IRA, Local0)
4528                Decrement (Local0)
4529                Store (Local0, PIRC)
4530            }
4531        }
4532
4533        Device (LNKD)
4534        {
4535            Name (_HID, EisaId ("PNP0C0F"))
4536            Name (_UID, 0x04)
4537            Method (_STA, 0, NotSerialized)
4538            {
4539                If (PIRD)
4540                {
4541                    Return (0x0B)
4542                }
4543                Else
4544                {
4545                    Return (0x09)
4546                }
4547            }
4548
4549            Method (_PRS, 0, NotSerialized)
4550            {
4551                Return (PRSD)
4552            }
4553
4554            Method (_DIS, 0, NotSerialized)
4555            {
4556                Store (Zero, PIRD)
4557            }
4558
4559            Method (_CRS, 0, NotSerialized)
4560            {
4561                CreateWordField (BUFA, One, IRQX)
4562                ShiftLeft (One, PIRD, IRQX)
4563                Return (BUFA)
4564            }
4565
4566            Method (_SRS, 1, NotSerialized)
4567            {
4568                CreateWordField (Arg0, One, IRA)
4569                FindSetRightBit (IRA, Local0)
4570                Decrement (Local0)
4571                Store (Local0, PIRD)
4572            }
4573        }
4574
4575        Device (LNKE)
4576        {
4577            Name (_HID, EisaId ("PNP0C0F"))
4578            Name (_UID, 0x05)
4579            Method (_STA, 0, NotSerialized)
4580            {
4581                If (PIRE)
4582                {
4583                    Return (0x0B)
4584                }
4585                Else
4586                {
4587                    Return (0x09)
4588                }
4589            }
4590
4591            Method (_PRS, 0, NotSerialized)
4592            {
4593                Return (PRSE)
4594            }
4595
4596            Method (_DIS, 0, NotSerialized)
4597            {
4598                Store (Zero, PIRE)
4599            }
4600
4601            Method (_CRS, 0, NotSerialized)
4602            {
4603                CreateWordField (BUFA, One, IRQX)
4604                ShiftLeft (One, PIRE, IRQX)
4605                Return (BUFA)
4606            }
4607
4608            Method (_SRS, 1, NotSerialized)
4609            {
4610                CreateWordField (Arg0, One, IRA)
4611                FindSetRightBit (PIRE, Local0)
4612                Decrement (Local0)
4613                Store (Local0, PIRE)
4614            }
4615        }
4616
4617        Device (LNKF)
4618        {
4619            Name (_HID, EisaId ("PNP0C0F"))
4620            Name (_UID, 0x02)
4621            Method (_STA, 0, NotSerialized)
4622            {
4623                If (PIRF)
4624                {
4625                    Return (0x0B)
4626                }
4627                Else
4628                {
4629                    Return (0x09)
4630                }
4631            }
4632
4633            Method (_PRS, 0, NotSerialized)
4634            {
4635                Return (PRSF)
4636            }
4637
4638            Method (_DIS, 0, NotSerialized)
4639            {
4640                Store (Zero, PIRF)
4641            }
4642
4643            Method (_CRS, 0, NotSerialized)
4644            {
4645                CreateWordField (BUFA, One, IRQX)
4646                ShiftLeft (One, PIRF, IRQX)
4647                Return (BUFA)
4648            }
4649
4650            Method (_SRS, 1, NotSerialized)
4651            {
4652                CreateWordField (Arg0, One, IRA)
4653                FindSetRightBit (IRA, Local0)
4654                Decrement (Local0)
4655                Store (Local0, PIRF)
4656            }
4657        }
4658
4659        Device (LNKG)
4660        {
4661            Name (_HID, EisaId ("PNP0C0F"))
4662            Name (_UID, 0x03)
4663            Method (_STA, 0, NotSerialized)
4664            {
4665                If (PIRG)
4666                {
4667                    Return (0x0B)
4668                }
4669                Else
4670                {
4671                    Return (0x09)
4672                }
4673            }
4674
4675            Method (_PRS, 0, NotSerialized)
4676            {
4677                Return (PRSG)
4678            }
4679
4680            Method (_DIS, 0, NotSerialized)
4681            {
4682                Store (Zero, PIRG)
4683            }
4684
4685            Method (_CRS, 0, NotSerialized)
4686            {
4687                CreateWordField (BUFA, One, IRQX)
4688                ShiftLeft (One, PIRG, IRQX)
4689                Return (BUFA)
4690            }
4691
4692            Method (_SRS, 1, NotSerialized)
4693            {
4694                CreateWordField (Arg0, One, IRA)
4695                FindSetRightBit (IRA, Local0)
4696                Decrement (Local0)
4697                Store (Local0, PIRG)
4698            }
4699        }
4700
4701        Device (LNKH)
4702        {
4703            Name (_HID, EisaId ("PNP0C0F"))
4704            Name (_UID, 0x04)
4705            Method (_STA, 0, NotSerialized)
4706            {
4707                If (PIRH)
4708                {
4709                    Return (0x0B)
4710                }
4711                Else
4712                {
4713                    Return (0x09)
4714                }
4715            }
4716
4717            Method (_PRS, 0, NotSerialized)
4718            {
4719                Return (PRSH)
4720            }
4721
4722            Method (_DIS, 0, NotSerialized)
4723            {
4724                Store (Zero, PIRH)
4725            }
4726
4727            Method (_CRS, 0, NotSerialized)
4728            {
4729                CreateWordField (BUFA, One, IRQX)
4730                ShiftLeft (One, PIRH, IRQX)
4731                Return (BUFA)
4732            }
4733
4734            Method (_SRS, 1, NotSerialized)
4735            {
4736                CreateWordField (Arg0, One, IRA)
4737                FindSetRightBit (IRA, Local0)
4738                Decrement (Local0)
4739                Store (Local0, PIRH)
4740            }
4741        }
4742    }
4743
4744    Scope (_SB)
4745    {
4746        Name (XCPD, Zero)
4747        Name (XNPT, One)
4748        Name (XCAP, 0x02)
4749        Name (XDCP, 0x04)
4750        Name (XDCT, 0x08)
4751        Name (XDST, 0x0A)
4752        Name (XLCP, 0x0C)
4753        Name (XLCT, 0x10)
4754        Name (XLST, 0x12)
4755        Name (XSCP, 0x14)
4756        Name (XSCT, 0x18)
4757        Name (XSST, 0x1A)
4758        Name (XRCT, 0x1C)
4759        Mutex (MUTE, 0x00)
4760        Method (RBPE, 1, NotSerialized)
4761        {
4762            Acquire (MUTE, 0x03E8)
4763            Add (Arg0, PCIB, Local0)
4764            OperationRegion (PCFG, SystemMemory, Local0, One)
4765            Field (PCFG, ByteAcc, NoLock, Preserve)
4766            {
4767                XCFG,   8
4768            }
4769
4770            Release (MUTE)
4771            Return (XCFG)
4772        }
4773
4774        Method (RWPE, 1, NotSerialized)
4775        {
4776            Acquire (MUTE, 0x03E8)
4777            And (Arg0, 0xFFFFFFFE, Arg0)
4778            Add (Arg0, PCIB, Local0)
4779            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
4780            Field (PCFG, WordAcc, NoLock, Preserve)
4781            {
4782                XCFG,   16
4783            }
4784
4785            Release (MUTE)
4786            Return (XCFG)
4787        }
4788
4789        Method (RDPE, 1, NotSerialized)
4790        {
4791            Acquire (MUTE, 0x03E8)
4792            And (Arg0, 0xFFFFFFFC, Arg0)
4793            Add (Arg0, PCIB, Local0)
4794            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
4795            Field (PCFG, DWordAcc, NoLock, Preserve)
4796            {
4797                XCFG,   32
4798            }
4799
4800            Release (MUTE)
4801            Return (XCFG)
4802        }
4803
4804        Method (WBPE, 2, NotSerialized)
4805        {
4806            Acquire (MUTE, 0x0FFF)
4807            Add (Arg0, PCIB, Local0)
4808            OperationRegion (PCFG, SystemMemory, Local0, One)
4809            Field (PCFG, ByteAcc, NoLock, Preserve)
4810            {
4811                XCFG,   8
4812            }
4813
4814            Store (Arg1, XCFG)
4815            Release (MUTE)
4816        }
4817
4818        Method (WWPE, 2, NotSerialized)
4819        {
4820            Acquire (MUTE, 0x03E8)
4821            And (Arg0, 0xFFFFFFFE, Arg0)
4822            Add (Arg0, PCIB, Local0)
4823            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
4824            Field (PCFG, WordAcc, NoLock, Preserve)
4825            {
4826                XCFG,   16
4827            }
4828
4829            Store (Arg1, XCFG)
4830            Release (MUTE)
4831        }
4832
4833        Method (WDPE, 2, NotSerialized)
4834        {
4835            Acquire (MUTE, 0x03E8)
4836            And (Arg0, 0xFFFFFFFC, Arg0)
4837            Add (Arg0, PCIB, Local0)
4838            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
4839            Field (PCFG, DWordAcc, NoLock, Preserve)
4840            {
4841                XCFG,   32
4842            }
4843
4844            Store (Arg1, XCFG)
4845            Release (MUTE)
4846        }
4847
4848        Method (RWDP, 3, NotSerialized)
4849        {
4850            Acquire (MUTE, 0x03E8)
4851            And (Arg0, 0xFFFFFFFC, Arg0)
4852            Add (Arg0, PCIB, Local0)
4853            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
4854            Field (PCFG, DWordAcc, NoLock, Preserve)
4855            {
4856                XCFG,   32
4857            }
4858
4859            And (XCFG, Arg2, Local1)
4860            Or (Local1, Arg1, XCFG)
4861            Release (MUTE)
4862        }
4863
4864        Method (RPME, 1, NotSerialized)
4865        {
4866            Add (Arg0, 0x84, Local0)
4867            Store (RDPE (Local0), Local1)
4868            If (LEqual (Local1, Ones))
4869            {
4870                Return (Zero)
4871            }
4872            Else
4873            {
4874                If (LAnd (Local1, 0x00010000))
4875                {
4876                    WDPE (Local0, And (Local1, 0x00010000))
4877                    Return (One)
4878                }
4879
4880                Return (Zero)
4881            }
4882        }
4883    }
4884
4885    Scope (_SB)
4886    {
4887        Scope (PCI0)
4888        {
4889            Name (CRS, ResourceTemplate ()
4890            {
4891                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
4892                    0x0000,             // Granularity
4893                    0x0000,             // Range Minimum
4894                    0x00FF,             // Range Maximum
4895                    0x0000,             // Translation Offset
4896                    0x0100,             // Length
4897                    ,, )
4898                IO (Decode16,
4899                    0x0CF8,             // Range Minimum
4900                    0x0CF8,             // Range Maximum
4901                    0x01,               // Alignment
4902                    0x08,               // Length
4903                    )
4904                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
4905                    0x0000,             // Granularity
4906                    0x0000,             // Range Minimum
4907                    0x0CF7,             // Range Maximum
4908                    0x0000,             // Translation Offset
4909                    0x0CF8,             // Length
4910                    ,, , TypeStatic)
4911                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
4912                    0x0000,             // Granularity
4913                    0x0D00,             // Range Minimum
4914                    0xFFFF,             // Range Maximum
4915                    0x0000,             // Translation Offset
4916                    0xF300,             // Length
4917                    ,, , TypeStatic)
4918                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
4919                    0x00000000,         // Granularity
4920                    0x000A0000,         // Range Minimum
4921                    0x000BFFFF,         // Range Maximum
4922                    0x00000000,         // Translation Offset
4923                    0x00020000,         // Length
4924                    ,, , AddressRangeMemory, TypeStatic)
4925                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
4926                    0x00000000,         // Granularity
4927                    0x000C0000,         // Range Minimum
4928                    0x000DFFFF,         // Range Maximum
4929                    0x00000000,         // Translation Offset
4930                    0x00020000,         // Length
4931                    ,, _Y15, AddressRangeMemory, TypeStatic)
4932                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
4933                    0x00000000,         // Granularity
4934                    0x00000000,         // Range Minimum
4935                    0x00000000,         // Range Maximum
4936                    0x00000000,         // Translation Offset
4937                    0x00000000,         // Length
4938                    ,, _Y16, AddressRangeMemory, TypeStatic)
4939            })
4940            CreateDWordField (CRS, \_SB.PCI0._Y15._MIN, MIN5)
4941            CreateDWordField (CRS, \_SB.PCI0._Y15._MAX, MAX5)
4942            CreateDWordField (CRS, \_SB.PCI0._Y15._LEN, LEN5)
4943            CreateDWordField (CRS, \_SB.PCI0._Y16._MIN, MIN6)
4944            CreateDWordField (CRS, \_SB.PCI0._Y16._MAX, MAX6)
4945            CreateDWordField (CRS, \_SB.PCI0._Y16._LEN, LEN6)
4946            Method (_CRS, 0, NotSerialized)
4947            {
4948                Store (MG1L, Local0)
4949                If (Local0)
4950                {
4951                    Store (MG1B, MIN5)
4952                    Store (MG1L, LEN5)
4953                    Add (MIN5, Decrement (Local0), MAX5)
4954                }
4955
4956                Store (MG2B, MIN6)
4957                Store (MG2L, LEN6)
4958                Store (MG2L, Local0)
4959                Add (MIN6, Decrement (Local0), MAX6)
4960                Return (CRS)
4961            }
4962        }
4963    }
4964
4965    Name (WOTB, Zero)
4966    Name (WSSB, Zero)
4967    Name (WAXB, Zero)
4968    Method (_PTS, 1, NotSerialized)
4969    {
4970        Store (Arg0, DBG8)
4971        PTS (Arg0)
4972        Store (Zero, Index (WAKP, Zero))
4973        Store (Zero, Index (WAKP, One))
4974        If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
4975        {
4976            Sleep (0x0BB8)
4977        }
4978
4979        Store (ASSB, WSSB)
4980        Store (AOTB, WOTB)
4981        Store (AAXB, WAXB)
4982        Store (Arg0, ASSB)
4983        Store (OSFL (), AOTB)
4984        Store (Zero, AAXB)
4985    }
4986
4987    Method (_WAK, 1, NotSerialized)
4988    {
4989        ShiftLeft (Arg0, 0x04, DBG8)
4990        If (LOr (LEqual (Arg0, One), LEqual (Arg0, 0x03)))
4991        {
4992            Store (0xFF, SHST)
4993            Store (0x04, SHCM)
4994            Store (0x07, SMD0)
4995            Store (0x5E, SMSV)
4996            Store (0x48, SHCR)
4997            Store (0xFF, SHST)
4998        }
4999
5000        WAK (Arg0)
5001        If (ASSB)
5002        {
5003            Store (WSSB, ASSB)
5004            Store (WOTB, AOTB)
5005            Store (WAXB, AAXB)
5006        }
5007
5008        If (DerefOf (Index (WAKP, Zero)))
5009        {
5010            Store (Zero, Index (WAKP, One))
5011        }
5012        Else
5013        {
5014            Store (Arg0, Index (WAKP, One))
5015        }
5016
5017        Return (WAKP)
5018    }
5019
5020    OperationRegion (SMOV, SystemIO, 0x0B00, 0x07)
5021    Field (SMOV, ByteAcc, NoLock, Preserve)
5022    {
5023        SHST,   8,
5024                Offset (0x02),
5025        SHCR,   8,
5026        SHCM,   8,
5027        SMSV,   8,
5028        SMD0,   8,
5029        SMD1,   8
5030    }
5031
5032    Name (_S0, Package (0x04)
5033    {
5034        Zero,
5035        Zero,
5036        Zero,
5037        Zero
5038    })
5039    If (SS1)
5040    {
5041        Name (_S1, Package (0x04)
5042        {
5043            One,
5044            Zero,
5045            Zero,
5046            Zero
5047        })
5048    }
5049
5050    If (SS3)
5051    {
5052        Name (_S3, Package (0x04)
5053        {
5054            0x03,
5055            Zero,
5056            Zero,
5057            Zero
5058        })
5059    }
5060
5061    If (SS4)
5062    {
5063        Name (_S4, Package (0x04)
5064        {
5065            0x04,
5066            Zero,
5067            Zero,
5068            Zero
5069        })
5070    }
5071
5072    Name (_S5, Package (0x04)
5073    {
5074        0x05,
5075        Zero,
5076        Zero,
5077        Zero
5078    })
5079    Method (PTS, 1, NotSerialized)
5080    {
5081        If (Arg0)
5082        {
5083            \_SB.PCI0.SBRG.SIOS (Arg0)
5084            NPTS (Arg0)
5085            SPTS (Arg0)
5086        }
5087    }
5088
5089    Method (WAK, 1, NotSerialized)
5090    {
5091        \_SB.PCI0.SBRG.SIOW (Arg0)
5092        NWAK (Arg0)
5093        SWAK (Arg0)
5094    }
5095}
5096