Ticket #168: dsdt_Athlon64X2_ASUS-Pundit_P1-AH2.dsl

File dsdt_Athlon64X2_ASUS-Pundit_P1-AH2.dsl, 243.4 KB (added by Chuck McKinnis, 16 years ago)
Line 
1/*
2 * Intel ACPI Component Architecture
3 * AML Disassembler version 20060912
4 *
5 * Disassembly of (null), Tue Jan  1 17:31:07 2008
6 *
7 *
8 * Original Table Header:
9 *     Signature        "DSDT"
10 *     Length           0x00007055 (28757)
11 *     Revision         0x01
12 *     OEM ID           "_ASUS_"
13 *     OEM Table ID     "Notebook"
14 *     OEM Revision     0x00001000 (4096)
15 *     Creator ID       "MSFT"
16 *     Creator Revision 0x03000000 (50331648)
17 */
18DefinitionBlock ("DSDT.aml", "DSDT", 1, "_ASUS_", "Notebook", 0x00001000)
19{
20    Scope (\_PR)
21    {
22        Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) {}
23        Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00) {}
24    }
25
26    Name (\_S0, Package (0x04)
27    {
28        0x00,
29        0x00,
30        0x00,
31        0x00
32    })
33    Name (\_S1, Package (0x04)
34    {
35        0x01,
36        0x00,
37        0x00,
38        0x00
39    })
40    Name (\_S3, Package (0x04)
41    {
42        0x05,
43        0x00,
44        0x00,
45        0x00
46    })
47    Name (\_S4, Package (0x04)
48    {
49        0x06,
50        0x00,
51        0x00,
52        0x00
53    })
54    Name (\_S5, Package (0x04)
55    {
56        0x07,
57        0x00,
58        0x00,
59        0x00
60    })
61    OperationRegion (\DEBG, SystemIO, 0x1080, 0x01)
62    Field (\DEBG, ByteAcc, NoLock, Preserve)
63    {
64        DBG1,   8
65    }
66
67    OperationRegion (KBC, SystemIO, 0x64, 0x01)
68    Field (KBC, ByteAcc, NoLock, Preserve)
69    {
70        KCMD,   8
71    }
72
73    OperationRegion (KBCD, SystemIO, 0x60, 0x01)
74    Field (KBCD, ByteAcc, NoLock, Preserve)
75    {
76        KDAT,   8
77    }
78
79    OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10)
80    Field (EXTM, WordAcc, NoLock, Preserve)
81    {
82        ROM1,   16,
83        RMS1,   16,
84        ROM2,   16,
85        RMS2,   16,
86        ROM3,   16,
87        RMS3,   16,
88        AMEM,   32
89    }
90
91    OperationRegion (\PM1S, SystemIO, 0x4000, 0x02)
92    Field (\PM1S, ByteAcc, NoLock, Preserve)
93    {
94                Offset (0x01),
95        PBTS,   1,
96            ,   1,
97        RTCS,   1,
98            ,   4,
99        WAKS,   1
100    }
101
102    OperationRegion (ELCR, SystemIO, 0x04D0, 0x02)
103    Field (ELCR, ByteAcc, NoLock, Preserve)
104    {
105        ELC1,   8,
106        ELC2,   8
107    }
108
109    OperationRegion (\STUS, SystemIO, 0x4400, 0x04)
110    Field (\STUS, ByteAcc, NoLock, Preserve)
111    {
112        G_ST,   32
113    }
114
115    OperationRegion (\GPS0, SystemIO, 0x4020, 0x04)
116    Field (\GPS0, ByteAcc, NoLock, Preserve)
117    {
118        GS00,   8,
119        GS01,   8,
120        GS02,   8,
121        GS03,   8
122    }
123
124    OperationRegion (\P20S, SystemIO, 0x4020, 0x04)
125    Field (\P20S, ByteAcc, NoLock, Preserve)
126    {
127        P_20,   32
128    }
129
130    OperationRegion (\SMIC, SystemIO, 0x442E, 0x01)
131    Field (\SMIC, ByteAcc, NoLock, Preserve)
132    {
133        SCP,    8
134    }
135
136    OperationRegion (\GP1, SystemIO, 0x44C0, 0x40)
137    Field (\GP1, ByteAcc, NoLock, Preserve)
138    {
139        GP00,   8,
140        GP01,   8,
141        GP02,   8,
142        GP03,   8,
143        GP04,   8,
144        GP05,   8,
145        GP06,   8,
146        GP07,   8,
147        GP08,   8,
148        GP09,   8,
149        GP10,   8,
150        GP11,   8,
151        GP12,   8,
152        GP13,   8,
153        GP14,   8,
154        GP15,   8,
155        GP16,   8,
156        GP17,   8,
157        GP18,   8,
158        GP19,   8,
159        GP20,   8,
160        GP21,   8,
161        GP22,   8,
162                Offset (0x18),
163        GP24,   8,
164        GP25,   8,
165        GP26,   8,
166        GP27,   8,
167        GP28,   8,
168        GP29,   8,
169        GP30,   8,
170        GP31,   8,
171        GP32,   8,
172        GP33,   8,
173        GP34,   8,
174        GP35,   8,
175        GP36,   8,
176        GP37,   8,
177        GP38,   8,
178        GP39,   8,
179        GP40,   8,
180        GP41,   8,
181        GP42,   8,
182        GP43,   8,
183        GP44,   8,
184        GP45,   8,
185        GP46,   8,
186        GP47,   8,
187        GP48,   8,
188        GP49,   8,
189        GP50,   8,
190        GP51,   8,
191        GP52,   8,
192        GP53,   8,
193        GP54,   8,
194        GP55,   8,
195        GP56,   8,
196        GP57,   8,
197        GP58,   8,
198        GP59,   8,
199        GP60,   8,
200        GP61,   8,
201        GP62,   8,
202        GP63,   8
203    }
204
205    Name (VSTA, 0x01)
206    Name (OSFX, 0x01)
207    Name (OSFL, 0x01)
208    Method (STRC, 2, NotSerialized)
209    {
210        If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1)))
211        {
212            Return (0x00)
213        }
214
215        Add (SizeOf (Arg0), 0x01, Local0)
216        Name (BUF0, Buffer (Local0) {})
217        Name (BUF1, Buffer (Local0) {})
218        Store (Arg0, BUF0)
219        Store (Arg1, BUF1)
220        While (Local0)
221        {
222            Decrement (Local0)
223            If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
224                BUF1, Local0))))
225            {
226                Return (Zero)
227            }
228        }
229
230        Return (One)
231    }
232
233    OperationRegion (RTCM, SystemIO, 0x70, 0x02)
234    Field (RTCM, ByteAcc, NoLock, Preserve)
235    {
236        CMIN,   8,
237        CMDA,   8
238    }
239
240    IndexField (CMIN, CMDA, ByteAcc, NoLock, Preserve)
241    {
242                Offset (0x0F),
243        SHUT,   8
244    }
245
246    OperationRegion (INFO, SystemMemory, 0x000FF840, 0x01)
247    Field (INFO, ByteAcc, NoLock, Preserve)
248    {
249        KBDI,   1,
250        RTCW,   1,
251        PS2F,   1,
252        IRFL,   2,
253        DISE,   1,
254        SSHU,   1
255    }
256
257    OperationRegion (BEEP, SystemIO, 0x61, 0x01)
258    Field (BEEP, ByteAcc, NoLock, Preserve)
259    {
260        S1B,    8
261    }
262
263    OperationRegion (CONT, SystemIO, 0x40, 0x04)
264    Field (CONT, ByteAcc, NoLock, Preserve)
265    {
266        CNT0,   8,
267        CNT1,   8,
268        CNT2,   8,
269        CTRL,   8
270    }
271
272    Method (SPKR, 1, NotSerialized)
273    {
274        Store (S1B, Local0)
275        Store (0xB6, CTRL)
276        Store (0x55, CNT2)
277        Store (0x03, CNT2)
278        Store (Arg0, Local2)
279        While (LGreater (Local2, 0x00))
280        {
281            Or (S1B, 0x03, S1B)
282            Store (0x5FFF, Local3)
283            While (LGreater (Local3, 0x00))
284            {
285                Decrement (Local3)
286            }
287
288            And (S1B, 0xFC, S1B)
289            Store (0x0EFF, Local3)
290            While (LGreater (Local3, 0x00))
291            {
292                Decrement (Local3)
293            }
294
295            Decrement (Local2)
296        }
297
298        Store (Local0, S1B)
299    }
300
301    OperationRegion (AMDL, SystemMemory, 0x000FFFEA, 0x01)
302    Field (AMDL, ByteAcc, NoLock, Preserve)
303    {
304            ,   1,
305        AWEN,   1,
306            ,   1,
307            ,   1,
308            ,   1,
309            ,   1,
310            ,   1,
311                Offset (0x01)
312    }
313
314    Scope (\_SB)
315    {
316        Device (\AWY)
317        {
318            Name (_HID, "AWY0001")
319            Method (SMOD, 1, NotSerialized)
320            {
321            }
322
323            Method (_STA, 0, NotSerialized)
324            {
325                If (LEqual (AWEN, 0x00))
326                {
327                    Return (0x00)
328                }
329
330                Return (0x0F)
331            }
332        }
333    }
334
335    Scope (\)
336    {
337        Name (PICF, 0x00)
338        Method (_PIC, 1, NotSerialized)
339        {
340            Store (Arg0, PICF)
341        }
342    }
343
344    Name (SID4, 0x00)
345    Name (SLG0, 0x00)
346    Name (SLG1, 0x00)
347    Name (SLG2, 0x00)
348    Name (SLG3, 0x00)
349    Name (SLG4, 0x00)
350    Name (SLG5, 0x00)
351    Name (SLG6, 0x00)
352    Name (SLG7, 0x00)
353    Name (SLG8, 0x00)
354    Name (SLG9, 0x00)
355    Name (SLGA, 0x00)
356    Name (SID5, 0x00)
357    Name (SSM0, 0x00)
358    Name (SSM1, 0x00)
359    Name (SSM2, 0x00)
360    Name (SSM3, 0x00)
361    Name (SSM4, 0x00)
362    Name (SUA0, 0x00)
363    Name (SUB0, 0x00)
364    Name (SX, 0x00)
365    Name (SFLG, 0x00)
366    Name (SID0, 0x00)
367    Name (SID1, 0x00)
368    Name (SID2, 0x00)
369    Name (SID3, 0x00)
370    Method (\_PTS, 1, NotSerialized)
371    {
372        Store (Arg0, Local0)
373        SALD (Local0)
374        Store (Arg0, Local0)
375        Store (Local0, SX)
376        Or (Arg0, 0xF0, Local0)
377        Store (Local0, DBG1)
378        OSTP ()
379        Store (\_SB.PCI0.IDE0.ID20, SID0)
380        Store (\_SB.PCI0.IDE0.IDTS, SID1)
381        Store (\_SB.PCI0.IDE0.IDTP, SID2)
382        Store (\_SB.PCI0.IDE0.ID22, SID3)
383        Store (\_SB.PCI0.IDE0.UMSS, SID4)
384        Store (\_SB.PCI0.IDE0.UMSP, SID5)
385        If (LEqual (Arg0, 0x01)) {}
386        If (LEqual (Arg0, 0x03)) {}
387        If (LEqual (Arg0, 0x04)) {}
388        If (LEqual (Arg0, 0x05))
389        {
390            If (LNotEqual (OSFL, 0x00))
391            {
392                Sleep (0x01F4)
393            }
394        }
395    }
396
397    Method (\_WAK, 1, NotSerialized)
398    {
399        SALD (0x00)
400        Store (0xFF, DBG1)
401        Store (0x00, SFLG)
402        If (LEqual (RTCW, 0x00))
403        {
404            Notify (\_SB.PWRB, 0x02)
405        }
406
407        Notify (\_SB.PCI0.USB0, 0x00)
408        If (LGreaterEqual (OSFL, 0x01))
409        {
410            Store (0x00, \_SB.PCI0.SMB0.SMPM)
411        }
412    }
413
414    Scope (\_SI)
415    {
416        Method (_MSG, 1, NotSerialized)
417        {
418            Store ("==== MSG Working ====", Debug)
419        }
420
421        Method (_SST, 1, NotSerialized)
422        {
423            Store ("==== SST Working ====", Debug)
424        }
425    }
426
427    Scope (\_GPE)
428    {
429        Method (_L11, 0, NotSerialized)
430        {
431            Store (0x02, GS02)
432        }
433
434        Method (_L00, 0, NotSerialized)
435        {
436            Notify (\_SB.PCI0.HUB0, 0x02)
437        }
438
439        Method (_L03, 0, NotSerialized)
440        {
441            Notify (\_SB.PCI0.VT86.UAR1, 0x02)
442        }
443
444        Method (_L0B, 0, NotSerialized)
445        {
446            Notify (\_SB.PCI0.MMAC, 0x02)
447        }
448
449        Method (_L0D, 0, NotSerialized)
450        {
451            Notify (\_SB.PCI0.USB0, 0x02)
452        }
453
454        Method (_L05, 0, NotSerialized)
455        {
456            Notify (\_SB.PCI0.USB2, 0x02)
457        }
458
459        Method (_L10, 0, NotSerialized)
460        {
461            \_SB.PCI0.VT86.PS2W ()
462        }
463
464        Method (_L15, 0, NotSerialized)
465        {
466            Notify (\_SB.PCI0.AZAD, 0x02)
467        }
468    }
469
470    Scope (\_SB)
471    {
472        OperationRegion (\CTCR, SystemIO, 0x4010, 0x04)
473        Field (\CTCR, DWordAcc, NoLock, Preserve)
474        {
475            CTCR,   32
476        }
477
478        Method (SCTC, 1, NotSerialized)
479        {
480            If (LEqual (Arg0, 0x00))
481            {
482                And (CTCR, 0xFFFFFFEF, CTCR)
483            }
484            Else
485            {
486                Store (Arg0, Local0)
487                If (LLessEqual (Local0, 0x07))
488                {
489                    If (LGreaterEqual (Local0, 0x01))
490                    {
491                        And (CTCR, 0xFFFFFFF1, CTCR)
492                        Decrement (Local0)
493                        Not (Local0, Local0)
494                        And (Local0, 0x07, Local0)
495                        Or (Local0, 0x08, Local0)
496                        ShiftLeft (Local0, 0x01, Local0)
497                        Or (CTCR, Local0, CTCR)
498                    }
499                }
500            }
501        }
502
503        Device (PWRB)
504        {
505            Name (_HID, EisaId ("PNP0C0C"))
506            Method (_STA, 0, NotSerialized)
507            {
508                Return (0x0B)
509            }
510        }
511
512        Device (PCI0)
513        {
514            Name (_HID, EisaId ("PNP0A08"))
515            Name (_CID, 0x030AD041)
516            Name (_ADR, 0x00)
517            Name (_UID, 0x01)
518            Name (_BBN, 0x00)
519            Name (PCIA, 0x00)
520            Method (_REG, 2, NotSerialized)
521            {
522                If (LEqual (Arg0, 0x02))
523                {
524                    Store (Arg1, PCIA)
525                }
526            }
527
528            Device (MBIO)
529            {
530                Name (_HID, EisaId ("PNP0C02"))
531                Name (_UID, 0x05)
532                Method (_CRS, 0, NotSerialized)
533                {
534                    Name (BUF0, ResourceTemplate ()
535                    {
536                        IO (Decode16,
537                            0x4000,             // Range Minimum
538                            0x4000,             // Range Maximum
539                            0x01,               // Alignment
540                            0x80,               // Length
541                            )
542                        IO (Decode16,
543                            0x4080,             // Range Minimum
544                            0x4080,             // Range Maximum
545                            0x01,               // Alignment
546                            0x80,               // Length
547                            )
548                        IO (Decode16,
549                            0x4400,             // Range Minimum
550                            0x4400,             // Range Maximum
551                            0x01,               // Alignment
552                            0x80,               // Length
553                            )
554                        IO (Decode16,
555                            0x4480,             // Range Minimum
556                            0x4480,             // Range Maximum
557                            0x01,               // Alignment
558                            0x80,               // Length
559                            )
560                        IO (Decode16,
561                            0x4800,             // Range Minimum
562                            0x4800,             // Range Maximum
563                            0x01,               // Alignment
564                            0x80,               // Length
565                            )
566                        IO (Decode16,
567                            0x4880,             // Range Minimum
568                            0x4880,             // Range Maximum
569                            0x01,               // Alignment
570                            0x80,               // Length
571                            )
572                        Memory32Fixed (ReadWrite,
573                            0x00000000,         // Address Base
574                            0x00000000,         // Address Length
575                            _Y00)
576                        IO (Decode16,
577                            0x2000,             // Range Minimum
578                            0x2000,             // Range Maximum
579                            0x01,               // Alignment
580                            0x80,               // Length
581                            )
582                        IO (Decode16,
583                            0x2080,             // Range Minimum
584                            0x2080,             // Range Maximum
585                            0x01,               // Alignment
586                            0x80,               // Length
587                            )
588                    })
589                    CreateDWordField (BUF0, \_SB.PCI0.MBIO._CRS._Y00._BAS, GUBA)
590                    CreateDWordField (BUF0, \_SB.PCI0.MBIO._CRS._Y00._LEN, GUBL)
591                    If (LNotEqual (IGUB, 0xFFFFFFFF))
592                    {
593                        If (IGUB)
594                        {
595                            Store (IGUB, Local0)
596                            ShiftLeft (Local0, 0x07, Local0)
597                            Store (Local0, GUBA)
598                            Store (IGUL, GUBL)
599                        }
600                    }
601
602                    Return (BUF0)
603                }
604            }
605
606            Name (NATA, Package (0x01)
607            {
608                0x000D0000
609            })
610            Method (_S3D, 0, NotSerialized)
611            {
612                If (LEqual (OSFL, 0x02))
613                {
614                    Return (0x02)
615                }
616                Else
617                {
618                    Return (0x03)
619                }
620            }
621
622            Method (_STA, 0, NotSerialized)
623            {
624                Return (0x0F)
625            }
626
627            OperationRegion (LDT3, PCI_Config, 0x6C, 0x04)
628            Field (LDT3, DWordAcc, NoLock, Preserve)
629            {
630                UCFG,   32
631            }
632
633            Method (_CRS, 0, NotSerialized)
634            {
635                Name (BUF0, ResourceTemplate ()
636                {
637                    WordBusNumber (ResourceProducer, MinNotFixed, MaxNotFixed, PosDecode,
638                        0x0000,             // Granularity
639                        0x0000,             // Range Minimum
640                        0x0000,             // Range Maximum
641                        0x0000,             // Translation Offset
642                        0x0000,             // Length
643                        ,, _Y01)
644                    IO (Decode16,
645                        0x0CF8,             // Range Minimum
646                        0x0CF8,             // Range Maximum
647                        0x01,               // Alignment
648                        0x08,               // Length
649                        )
650                    WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
651                        0x0000,             // Granularity
652                        0x0000,             // Range Minimum
653                        0x03AF,             // Range Maximum
654                        0x0000,             // Translation Offset
655                        0x03B0,             // Length
656                        ,, , TypeStatic)
657                    WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
658                        0x0000,             // Granularity
659                        0x03E0,             // Range Minimum
660                        0x0CF7,             // Range Maximum
661                        0x0000,             // Translation Offset
662                        0x0918,             // Length
663                        ,, , TypeStatic)
664                    WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
665                        0x0000,             // Granularity
666                        0x4C00,             // Range Minimum
667                        0x4C7F,             // Range Maximum
668                        0x0000,             // Translation Offset
669                        0x0080,             // Length
670                        ,, , TypeStatic)
671                    WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
672                        0x0000,             // Granularity
673                        0x0000,             // Range Minimum
674                        0x0000,             // Range Maximum
675                        0x0000,             // Translation Offset
676                        0x0000,             // Length
677                        ,, _Y02, TypeStatic)
678                    WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
679                        0x0000,             // Granularity
680                        0x0000,             // Range Minimum
681                        0x0000,             // Range Maximum
682                        0x0000,             // Translation Offset
683                        0x0000,             // Length
684                        ,, _Y03, TypeStatic)
685                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
686                        0x0000000000000000, // Granularity
687                        0x0000000000000000, // Range Minimum
688                        0x0000000000000000, // Range Maximum
689                        0x0000000000000000, // Translation Offset
690                        0x0000000000000000, // Length
691                        ,, _Y04, AddressRangeMemory, TypeStatic)
692                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
693                        0x0000000000000000, // Granularity
694                        0x0000000000000000, // Range Minimum
695                        0x0000000000000000, // Range Maximum
696                        0x0000000000000000, // Translation Offset
697                        0x0000000000000000, // Length
698                        ,, _Y05, AddressRangeMemory, TypeStatic)
699                    QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
700                        0x0000000000000000, // Granularity
701                        0x0000000000000000, // Range Minimum
702                        0x0000000000000000, // Range Maximum
703                        0x0000000000000000, // Translation Offset
704                        0x0000000000000000, // Length
705                        ,, _Y06, AddressRangeMemory, TypeStatic)
706                })
707                CreateWordField (BUF0, \_SB.PCI0._CRS._Y01._MIN, B1MN)
708                CreateWordField (BUF0, \_SB.PCI0._CRS._Y01._MAX, B1MX)
709                CreateWordField (BUF0, \_SB.PCI0._CRS._Y01._LEN, B1LN)
710                And (\_SB.PCI0.K801.L0EN, 0x03, Local0)
711                If (LEqual (Local0, 0x03))
712                {
713                    And (\_SB.PCI0.K801.DL00, 0x03, Local0)
714                    If (LEqual (Local0, 0x00))
715                    {
716                        Store (\_SB.PCI0.K801.BNB0, B1MN)
717                        Store (\_SB.PCI0.K801.BNL0, B1MX)
718                        Subtract (B1MX, B1MN, Local1)
719                        Add (0x01, Local1, B1LN)
720                    }
721                }
722
723                And (\_SB.PCI0.K801.L1EN, 0x03, Local0)
724                If (LEqual (Local0, 0x03))
725                {
726                    And (\_SB.PCI0.K801.DL01, 0x03, Local0)
727                    If (LEqual (Local0, 0x00))
728                    {
729                        Store (\_SB.PCI0.K801.BNB1, B1MN)
730                        Store (\_SB.PCI0.K801.BNL1, B1MX)
731                        Subtract (B1MX, B1MN, Local1)
732                        Add (0x01, Local1, B1LN)
733                    }
734                }
735
736                And (\_SB.PCI0.K801.L2EN, 0x03, Local0)
737                If (LEqual (Local0, 0x03))
738                {
739                    And (\_SB.PCI0.K801.DL02, 0x03, Local0)
740                    If (LEqual (Local0, 0x00))
741                    {
742                        Store (\_SB.PCI0.K801.BNB2, B1MN)
743                        Store (\_SB.PCI0.K801.BNL2, B1MX)
744                        Subtract (B1MX, B1MN, Local1)
745                        Add (0x01, Local1, B1LN)
746                    }
747                }
748
749                And (\_SB.PCI0.K801.L3EN, 0x03, Local0)
750                If (LEqual (Local0, 0x03))
751                {
752                    And (\_SB.PCI0.K801.DL03, 0x03, Local0)
753                    If (LEqual (Local0, 0x00))
754                    {
755                        Store (\_SB.PCI0.K801.BNB3, B1MN)
756                        Store (\_SB.PCI0.K801.BNL3, B1MX)
757                        Subtract (B1MX, B1MN, Local1)
758                        Add (0x01, Local1, B1LN)
759                    }
760                }
761
762                CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._MIN, IOMN)
763                CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._MAX, IOMX)
764                CreateWordField (BUF0, \_SB.PCI0._CRS._Y02._LEN, IOLN)
765                CreateWordField (BUF0, \_SB.PCI0._CRS._Y03._MIN, VIMN)
766                CreateWordField (BUF0, \_SB.PCI0._CRS._Y03._MAX, VIMX)
767                CreateWordField (BUF0, \_SB.PCI0._CRS._Y03._LEN, VILN)
768                And (\_SB.PCI0.K801.IB00, 0x03, Local0)
769                And (\_SB.PCI0.K801.IL00, 0x30, Local1)
770                ShiftRight (Local1, 0x04, Local1)
771                If (LEqual (Local0, 0x03))
772                {
773                    If (LEqual (Local1, 0x00))
774                    {
775                        And (\_SB.PCI0.K801.IB00, 0x10, Local1)
776                        ShiftLeft (\_SB.PCI0.K801.IBV0, 0x0C, IOMN)
777                        ShiftLeft (\_SB.PCI0.K801.ILV0, 0x0C, IOMX)
778                        Or (IOMX, 0x0FFF, IOMX)
779                        Subtract (IOMX, IOMN, IOLN)
780                        Increment (IOLN)
781                        If (LEqual (Local1, 0x10))
782                        {
783                            Store (0x03B0, VIMN)
784                            Store (0x03DF, VIMX)
785                            Store (0x30, VILN)
786                        }
787                    }
788                }
789
790                And (\_SB.PCI0.K801.IB01, 0x03, Local0)
791                And (\_SB.PCI0.K801.IL01, 0x30, Local1)
792                ShiftRight (Local1, 0x04, Local1)
793                If (LEqual (Local0, 0x03))
794                {
795                    If (LEqual (Local1, 0x00))
796                    {
797                        And (\_SB.PCI0.K801.IB01, 0x10, Local1)
798                        ShiftLeft (\_SB.PCI0.K801.IBV1, 0x0C, IOMN)
799                        ShiftLeft (\_SB.PCI0.K801.ILV1, 0x0C, IOMX)
800                        Or (IOMX, 0x0FFF, IOMX)
801                        Subtract (IOMX, IOMN, IOLN)
802                        Increment (IOLN)
803                        If (LEqual (Local1, 0x10))
804                        {
805                            Store (0x03B0, VIMN)
806                            Store (0x03DF, VIMX)
807                            Store (0x30, VILN)
808                        }
809                    }
810                }
811
812                And (\_SB.PCI0.K801.IB02, 0x03, Local0)
813                And (\_SB.PCI0.K801.IL02, 0x30, Local1)
814                ShiftRight (Local1, 0x04, Local1)
815                If (LEqual (Local0, 0x03))
816                {
817                    If (LEqual (Local1, 0x00))
818                    {
819                        And (\_SB.PCI0.K801.IB02, 0x10, Local1)
820                        ShiftLeft (\_SB.PCI0.K801.IBV2, 0x0C, IOMN)
821                        ShiftLeft (\_SB.PCI0.K801.ILV2, 0x0C, IOMX)
822                        Or (IOMX, 0x0FFF, IOMX)
823                        Subtract (IOMX, IOMN, IOLN)
824                        Increment (IOLN)
825                        If (LEqual (Local1, 0x10))
826                        {
827                            Store (0x03B0, VIMN)
828                            Store (0x03DF, VIMX)
829                            Store (0x30, VILN)
830                        }
831                    }
832                }
833
834                And (\_SB.PCI0.K801.IB03, 0x03, Local0)
835                And (\_SB.PCI0.K801.IL03, 0x30, Local1)
836                ShiftRight (Local1, 0x04, Local1)
837                If (LEqual (Local0, 0x03))
838                {
839                    If (LEqual (Local1, 0x00))
840                    {
841                        And (\_SB.PCI0.K801.IB03, 0x10, Local1)
842                        ShiftLeft (\_SB.PCI0.K801.IBV3, 0x0C, IOMN)
843                        ShiftLeft (\_SB.PCI0.K801.ILV3, 0x0C, IOMX)
844                        Or (IOMX, 0x0FFF, IOMX)
845                        Subtract (IOMX, IOMN, IOLN)
846                        Increment (IOLN)
847                        If (LEqual (Local1, 0x10))
848                        {
849                            Store (0x03B0, VIMN)
850                            Store (0x03DF, VIMX)
851                            Store (0x30, VILN)
852                        }
853                    }
854                }
855
856                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y04._MIN, M0MN)
857                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y04._MAX, M0MX)
858                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y04._LEN, M0LN)
859                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y05._MIN, M1MN)
860                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y05._MAX, M1MX)
861                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y05._LEN, M1LN)
862                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y06._MIN, M2MN)
863                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y06._MAX, M2MX)
864                CreateDWordField (BUF0, \_SB.PCI0._CRS._Y06._LEN, M2LN)
865                And (\_SB.PCI0.K801.MB00, 0x03, Local0)
866                And (\_SB.PCI0.K801.ML00, 0x30, Local1)
867                ShiftRight (Local1, 0x04, Local1)
868                If (LEqual (Local0, 0x03))
869                {
870                    And (\_SB.PCI0.K801.ML00, 0x80, Local0)
871                    If (LEqual (Local0, 0x00))
872                    {
873                        If (LEqual (Local1, 0x00))
874                        {
875                            If (LEqual (M0LN, 0x00))
876                            {
877                                ShiftLeft (\_SB.PCI0.K801.MBV0, 0x10, M0MN)
878                                ShiftLeft (\_SB.PCI0.K801.MLV0, 0x10, M0MX)
879                                Or (M0MX, 0xFFFF, M0MX)
880                                Subtract (M0MX, M0MN, M0LN)
881                                Increment (M0LN)
882                            }
883                            Else
884                            {
885                                If (LEqual (M1LN, 0x00))
886                                {
887                                    ShiftLeft (\_SB.PCI0.K801.MBV0, 0x10, M1MN)
888                                    ShiftLeft (\_SB.PCI0.K801.MLV0, 0x10, M1MX)
889                                    Or (M1MX, 0xFFFF, M1MX)
890                                    Subtract (M1MX, M1MN, M1LN)
891                                    Increment (M1LN)
892                                }
893                                Else
894                                {
895                                    ShiftLeft (\_SB.PCI0.K801.MBV0, 0x10, M2MN)
896                                    ShiftLeft (\_SB.PCI0.K801.MLV0, 0x10, M2MX)
897                                    Or (M2MX, 0xFFFF, M2MX)
898                                    Subtract (M2MX, M2MN, M2LN)
899                                    Increment (M2LN)
900                                }
901                            }
902                        }
903                    }
904                }
905
906                And (\_SB.PCI0.K801.MB01, 0x03, Local0)
907                And (\_SB.PCI0.K801.ML01, 0x30, Local1)
908                ShiftRight (Local1, 0x04, Local1)
909                If (LEqual (Local0, 0x03))
910                {
911                    And (\_SB.PCI0.K801.ML01, 0x80, Local0)
912                    If (LEqual (Local0, 0x00))
913                    {
914                        If (LEqual (Local1, 0x00))
915                        {
916                            If (LEqual (M0LN, 0x00))
917                            {
918                                ShiftLeft (\_SB.PCI0.K801.MBV1, 0x10, M0MN)
919                                ShiftLeft (\_SB.PCI0.K801.MLV1, 0x10, M0MX)
920                                Or (M0MX, 0xFFFF, M0MX)
921                                Subtract (M0MX, M0MN, M0LN)
922                                Increment (M0LN)
923                            }
924                            Else
925                            {
926                                If (LEqual (M1LN, 0x00))
927                                {
928                                    ShiftLeft (\_SB.PCI0.K801.MBV1, 0x10, M1MN)
929                                    ShiftLeft (\_SB.PCI0.K801.MLV1, 0x10, M1MX)
930                                    Or (M1MX, 0xFFFF, M1MX)
931                                    Subtract (M1MX, M1MN, M1LN)
932                                    Increment (M1LN)
933                                }
934                                Else
935                                {
936                                    ShiftLeft (\_SB.PCI0.K801.MBV1, 0x10, M2MN)
937                                    ShiftLeft (\_SB.PCI0.K801.MLV1, 0x10, M2MX)
938                                    Or (M2MX, 0xFFFF, M2MX)
939                                    Subtract (M2MX, M2MN, M2LN)
940                                    Increment (M2LN)
941                                }
942                            }
943                        }
944                    }
945                }
946
947                And (\_SB.PCI0.K801.MB02, 0x03, Local0)
948                And (\_SB.PCI0.K801.ML02, 0x30, Local1)
949                ShiftRight (Local1, 0x04, Local1)
950                If (LEqual (Local0, 0x03))
951                {
952                    And (\_SB.PCI0.K801.ML02, 0x80, Local0)
953                    If (LEqual (Local0, 0x00))
954                    {
955                        If (LEqual (Local1, 0x00))
956                        {
957                            If (LEqual (M0LN, 0x00))
958                            {
959                                ShiftLeft (\_SB.PCI0.K801.MBV2, 0x10, M0MN)
960                                ShiftLeft (\_SB.PCI0.K801.MLV2, 0x10, M0MX)
961                                Or (M0MX, 0xFFFF, M0MX)
962                                Subtract (M0MX, M0MN, M0LN)
963                                Increment (M0LN)
964                            }
965                            Else
966                            {
967                                If (LEqual (M1LN, 0x00))
968                                {
969                                    ShiftLeft (\_SB.PCI0.K801.MBV2, 0x10, M1MN)
970                                    ShiftLeft (\_SB.PCI0.K801.MLV2, 0x10, M1MX)
971                                    Or (M1MX, 0xFFFF, M1MX)
972                                    Subtract (M1MX, M1MN, M1LN)
973                                    Increment (M1LN)
974                                }
975                                Else
976                                {
977                                    ShiftLeft (\_SB.PCI0.K801.MBV2, 0x10, M2MN)
978                                    ShiftLeft (\_SB.PCI0.K801.MLV2, 0x10, M2MX)
979                                    Or (M2MX, 0xFFFF, M2MX)
980                                    Subtract (M2MX, M2MN, M2LN)
981                                    Increment (M2LN)
982                                }
983                            }
984                        }
985                    }
986                }
987
988                And (\_SB.PCI0.K801.MB03, 0x03, Local0)
989                And (\_SB.PCI0.K801.ML03, 0x30, Local1)
990                ShiftRight (Local1, 0x04, Local1)
991                If (LEqual (Local0, 0x03))
992                {
993                    And (\_SB.PCI0.K801.ML03, 0x80, Local0)
994                    If (LEqual (Local0, 0x00))
995                    {
996                        If (LEqual (Local1, 0x00))
997                        {
998                            If (LEqual (M0LN, 0x00))
999                            {
1000                                ShiftLeft (\_SB.PCI0.K801.MBV3, 0x10, M0MN)
1001                                ShiftLeft (\_SB.PCI0.K801.MLV3, 0x10, M0MX)
1002                                Or (M0MX, 0xFFFF, M0MX)
1003                                Subtract (M0MX, M0MN, M0LN)
1004                                Increment (M0LN)
1005                            }
1006                            Else
1007                            {
1008                                If (LEqual (M1LN, 0x00))
1009                                {
1010                                    ShiftLeft (\_SB.PCI0.K801.MBV3, 0x10, M1MN)
1011                                    ShiftLeft (\_SB.PCI0.K801.MLV3, 0x10, M1MX)
1012                                    Or (M1MX, 0xFFFF, M1MX)
1013                                    Subtract (M1MX, M1MN, M1LN)
1014                                    Increment (M1LN)
1015                                }
1016                                Else
1017                                {
1018                                    ShiftLeft (\_SB.PCI0.K801.MBV3, 0x10, M2MN)
1019                                    ShiftLeft (\_SB.PCI0.K801.MLV3, 0x10, M2MX)
1020                                    Or (M2MX, 0xFFFF, M2MX)
1021                                    Subtract (M2MX, M2MN, M2LN)
1022                                    Increment (M2LN)
1023                                }
1024                            }
1025                        }
1026                    }
1027                }
1028
1029                And (\_SB.PCI0.K801.MB04, 0x03, Local0)
1030                And (\_SB.PCI0.K801.ML04, 0x30, Local1)
1031                ShiftRight (Local1, 0x04, Local1)
1032                If (LEqual (Local0, 0x03))
1033                {
1034                    And (\_SB.PCI0.K801.ML04, 0x80, Local0)
1035                    If (LEqual (Local0, 0x00))
1036                    {
1037                        If (LEqual (Local1, 0x00))
1038                        {
1039                            If (LEqual (M0LN, 0x00))
1040                            {
1041                                ShiftLeft (\_SB.PCI0.K801.MBV4, 0x10, M0MN)
1042                                ShiftLeft (\_SB.PCI0.K801.MLV4, 0x10, M0MX)
1043                                Or (M0MX, 0xFFFF, M0MX)
1044                                Subtract (M0MX, M0MN, M0LN)
1045                                Increment (M0LN)
1046                            }
1047                            Else
1048                            {
1049                                If (LEqual (M1LN, 0x00))
1050                                {
1051                                    ShiftLeft (\_SB.PCI0.K801.MBV4, 0x10, M1MN)
1052                                    ShiftLeft (\_SB.PCI0.K801.MLV4, 0x10, M1MX)
1053                                    Or (M1MX, 0xFFFF, M1MX)
1054                                    Subtract (M1MX, M1MN, M1LN)
1055                                    Increment (M1LN)
1056                                }
1057                                Else
1058                                {
1059                                    ShiftLeft (\_SB.PCI0.K801.MBV4, 0x10, M2MN)
1060                                    ShiftLeft (\_SB.PCI0.K801.MLV4, 0x10, M2MX)
1061                                    Or (M2MX, 0xFFFF, M2MX)
1062                                    Subtract (M2MX, M2MN, M2LN)
1063                                    Increment (M2LN)
1064                                }
1065                            }
1066                        }
1067                    }
1068                }
1069
1070                And (\_SB.PCI0.K801.MB05, 0x03, Local0)
1071                And (\_SB.PCI0.K801.ML05, 0x30, Local1)
1072                ShiftRight (Local1, 0x04, Local1)
1073                If (LEqual (Local0, 0x03))
1074                {
1075                    And (\_SB.PCI0.K801.ML05, 0x80, Local0)
1076                    If (LEqual (Local0, 0x00))
1077                    {
1078                        If (LEqual (Local1, 0x00))
1079                        {
1080                            If (LEqual (M0LN, 0x00))
1081                            {
1082                                ShiftLeft (\_SB.PCI0.K801.MBV5, 0x10, M0MN)
1083                                ShiftLeft (\_SB.PCI0.K801.MLV5, 0x10, M0MX)
1084                                Or (M0MX, 0xFFFF, M0MX)
1085                                Subtract (M0MX, M0MN, M0LN)
1086                                Increment (M0LN)
1087                            }
1088                            Else
1089                            {
1090                                If (LEqual (M1LN, 0x00))
1091                                {
1092                                    ShiftLeft (\_SB.PCI0.K801.MBV5, 0x10, M1MN)
1093                                    ShiftLeft (\_SB.PCI0.K801.MLV5, 0x10, M1MX)
1094                                    Or (M1MX, 0xFFFF, M1MX)
1095                                    Subtract (M1MX, M1MN, M1LN)
1096                                    Increment (M1LN)
1097                                }
1098                                Else
1099                                {
1100                                    ShiftLeft (\_SB.PCI0.K801.MBV5, 0x10, M2MN)
1101                                    ShiftLeft (\_SB.PCI0.K801.MLV5, 0x10, M2MX)
1102                                    Or (M2MX, 0xFFFF, M2MX)
1103                                    Subtract (M2MX, M2MN, M2LN)
1104                                    Increment (M2LN)
1105                                }
1106                            }
1107                        }
1108                    }
1109                }
1110
1111                And (\_SB.PCI0.K801.MB06, 0x03, Local0)
1112                And (\_SB.PCI0.K801.ML06, 0x30, Local1)
1113                ShiftRight (Local1, 0x04, Local1)
1114                If (LEqual (Local0, 0x03))
1115                {
1116                    And (\_SB.PCI0.K801.ML06, 0x80, Local0)
1117                    If (LEqual (Local0, 0x00))
1118                    {
1119                        If (LEqual (Local1, 0x00))
1120                        {
1121                            If (LEqual (M0LN, 0x00))
1122                            {
1123                                ShiftLeft (\_SB.PCI0.K801.MBV6, 0x10, M0MN)
1124                                ShiftLeft (\_SB.PCI0.K801.MLV6, 0x10, M0MX)
1125                                Or (M0MX, 0xFFFF, M0MX)
1126                                Subtract (M0MX, M0MN, M0LN)
1127                                Increment (M0LN)
1128                            }
1129                            Else
1130                            {
1131                                If (LEqual (M1LN, 0x00))
1132                                {
1133                                    ShiftLeft (\_SB.PCI0.K801.MBV6, 0x10, M1MN)
1134                                    ShiftLeft (\_SB.PCI0.K801.MLV6, 0x10, M1MX)
1135                                    Or (M1MX, 0xFFFF, M1MX)
1136                                    Subtract (M1MX, M1MN, M1LN)
1137                                    Increment (M1LN)
1138                                }
1139                                Else
1140                                {
1141                                    ShiftLeft (\_SB.PCI0.K801.MBV6, 0x10, M2MN)
1142                                    ShiftLeft (\_SB.PCI0.K801.MLV6, 0x10, M2MX)
1143                                    Or (M2MX, 0xFFFF, M2MX)
1144                                    Subtract (M2MX, M2MN, M2LN)
1145                                    Increment (M2LN)
1146                                }
1147                            }
1148                        }
1149                    }
1150                }
1151
1152                And (\_SB.PCI0.K801.MB07, 0x03, Local0)
1153                And (\_SB.PCI0.K801.ML07, 0x30, Local1)
1154                ShiftRight (Local1, 0x04, Local1)
1155                If (LEqual (Local0, 0x03))
1156                {
1157                    And (\_SB.PCI0.K801.ML07, 0x80, Local0)
1158                    If (LEqual (Local0, 0x00))
1159                    {
1160                        If (LEqual (Local1, 0x00))
1161                        {
1162                            If (LEqual (M0LN, 0x00))
1163                            {
1164                                ShiftLeft (\_SB.PCI0.K801.MBV7, 0x10, M0MN)
1165                                ShiftLeft (\_SB.PCI0.K801.MLV7, 0x10, M0MX)
1166                                Or (M0MX, 0xFFFF, M0MX)
1167                                Subtract (M0MX, M0MN, M0LN)
1168                                Increment (M0LN)
1169                            }
1170                            Else
1171                            {
1172                                If (LEqual (M1LN, 0x00))
1173                                {
1174                                    ShiftLeft (\_SB.PCI0.K801.MBV7, 0x10, M1MN)
1175                                    ShiftLeft (\_SB.PCI0.K801.MLV7, 0x10, M1MX)
1176                                    Or (M1MX, 0xFFFF, M1MX)
1177                                    Subtract (M1MX, M1MN, M1LN)
1178                                    Increment (M1LN)
1179                                }
1180                                Else
1181                                {
1182                                    ShiftLeft (\_SB.PCI0.K801.MBV7, 0x10, M2MN)
1183                                    ShiftLeft (\_SB.PCI0.K801.MLV7, 0x10, M2MX)
1184                                    Or (M2MX, 0xFFFF, M2MX)
1185                                    Subtract (M2MX, M2MN, M2LN)
1186                                    Increment (M2LN)
1187                                }
1188                            }
1189                        }
1190                    }
1191                }
1192
1193                Return (BUF0)
1194            }
1195
1196            Name (PICM, Package (0x10)
1197            {
1198                Package (0x04)
1199                {
1200                    0x000AFFFF,
1201                    0x00,
1202                    \_SB.PCI0.LSMB,
1203                    0x00
1204                },
1205
1206                Package (0x04)
1207                {
1208                    0x000AFFFF,
1209                    0x01,
1210                    \_SB.PCI0.LPMU,
1211                    0x00
1212                },
1213
1214                Package (0x04)
1215                {
1216                    0x000BFFFF,
1217                    0x00,
1218                    \_SB.PCI0.LUBA,
1219                    0x00
1220                },
1221
1222                Package (0x04)
1223                {
1224                    0x000BFFFF,
1225                    0x01,
1226                    \_SB.PCI0.LUB2,
1227                    0x00
1228                },
1229
1230                Package (0x04)
1231                {
1232                    0x0014FFFF,
1233                    0x00,
1234                    \_SB.PCI0.LMAC,
1235                    0x00
1236                },
1237
1238                Package (0x04)
1239                {
1240                    0x0010FFFF,
1241                    0x00,
1242                    \_SB.PCI0.LACI,
1243                    0x00
1244                },
1245
1246                Package (0x04)
1247                {
1248                    0x0010FFFF,
1249                    0x01,
1250                    \_SB.PCI0.LAZA,
1251                    0x00
1252                },
1253
1254                Package (0x04)
1255                {
1256                    0x0010FFFF,
1257                    0x02,
1258                    \_SB.PCI0.LACI,
1259                    0x00
1260                },
1261
1262                Package (0x04)
1263                {
1264                    0x0010FFFF,
1265                    0x03,
1266                    \_SB.PCI0.LMCI,
1267                    0x00
1268                },
1269
1270                Package (0x04)
1271                {
1272                    0x000DFFFF,
1273                    0x00,
1274                    \_SB.PCI0.LIDE,
1275                    0x00
1276                },
1277
1278                Package (0x04)
1279                {
1280                    0x000EFFFF,
1281                    0x00,
1282                    \_SB.PCI0.LSID,
1283                    0x00
1284                },
1285
1286                Package (0x04)
1287                {
1288                    0x000FFFFF,
1289                    0x00,
1290                    \_SB.PCI0.LFID,
1291                    0x00
1292                },
1293
1294                Package (0x04)
1295                {
1296                    0x0005FFFF,
1297                    0x00,
1298                    \_SB.PCI0.LNK7,
1299                    0x00
1300                },
1301
1302                Package (0x04)
1303                {
1304                    0x0005FFFF,
1305                    0x01,
1306                    \_SB.PCI0.LNK8,
1307                    0x00
1308                },
1309
1310                Package (0x04)
1311                {
1312                    0x0005FFFF,
1313                    0x02,
1314                    \_SB.PCI0.LNK5,
1315                    0x00
1316                },
1317
1318                Package (0x04)
1319                {
1320                    0x0005FFFF,
1321                    0x03,
1322                    \_SB.PCI0.LNK6,
1323                    0x00
1324                }
1325            })
1326            Name (APIC, Package (0x10)
1327            {
1328                Package (0x04)
1329                {
1330                    0x000AFFFF,
1331                    0x00,
1332                    \_SB.PCI0.APCS,
1333                    0x00
1334                },
1335
1336                Package (0x04)
1337                {
1338                    0x000AFFFF,
1339                    0x01,
1340                    \_SB.PCI0.APMU,
1341                    0x00
1342                },
1343
1344                Package (0x04)
1345                {
1346                    0x000BFFFF,
1347                    0x00,
1348                    \_SB.PCI0.APCF,
1349                    0x00
1350                },
1351
1352                Package (0x04)
1353                {
1354                    0x000BFFFF,
1355                    0x01,
1356                    \_SB.PCI0.APCL,
1357                    0x00
1358                },
1359
1360                Package (0x04)
1361                {
1362                    0x0014FFFF,
1363                    0x00,
1364                    \_SB.PCI0.APCH,
1365                    0x00
1366                },
1367
1368                Package (0x04)
1369                {
1370                    0x0010FFFF,
1371                    0x00,
1372                    \_SB.PCI0.APCJ,
1373                    0x00
1374                },
1375
1376                Package (0x04)
1377                {
1378                    0x0010FFFF,
1379                    0x01,
1380                    \_SB.PCI0.AAZA,
1381                    0x00
1382                },
1383
1384                Package (0x04)
1385                {
1386                    0x0010FFFF,
1387                    0x02,
1388                    \_SB.PCI0.APCJ,
1389                    0x00
1390                },
1391
1392                Package (0x04)
1393                {
1394                    0x0010FFFF,
1395                    0x03,
1396                    \_SB.PCI0.APCK,
1397                    0x00
1398                },
1399
1400                Package (0x04)
1401                {
1402                    0x000DFFFF,
1403                    0x00,
1404                    \_SB.PCI0.APCZ,
1405                    0x00
1406                },
1407
1408                Package (0x04)
1409                {
1410                    0x000EFFFF,
1411                    0x00,
1412                    \_SB.PCI0.APSI,
1413                    0x00
1414                },
1415
1416                Package (0x04)
1417                {
1418                    0x000FFFFF,
1419                    0x00,
1420                    \_SB.PCI0.APSJ,
1421                    0x00
1422                },
1423
1424                Package (0x04)
1425                {
1426                    0x0005FFFF,
1427                    0x00,
1428                    \_SB.PCI0.APC7,
1429                    0x00
1430                },
1431
1432                Package (0x04)
1433                {
1434                    0x0005FFFF,
1435                    0x01,
1436                    \_SB.PCI0.APC8,
1437                    0x00
1438                },
1439
1440                Package (0x04)
1441                {
1442                    0x0005FFFF,
1443                    0x02,
1444                    \_SB.PCI0.APC5,
1445                    0x00
1446                },
1447
1448                Package (0x04)
1449                {
1450                    0x0005FFFF,
1451                    0x03,
1452                    \_SB.PCI0.APC6,
1453                    0x00
1454                }
1455            })
1456            Method (_PRT, 0, NotSerialized)
1457            {
1458                If (LNot (PICF))
1459                {
1460                    Return (PICM)
1461                }
1462                Else
1463                {
1464                    Return (APIC)
1465                }
1466            }
1467
1468            Device (HUB0)
1469            {
1470                Name (_ADR, 0x00100000)
1471                Method (_STA, 0, NotSerialized)
1472                {
1473                    Return (0x0F)
1474                }
1475
1476                Name (PICM, Package (0x0C)
1477                {
1478                    Package (0x04)
1479                    {
1480                        0x0009FFFF,
1481                        0x00,
1482                        \_SB.PCI0.LNK1,
1483                        0x00
1484                    },
1485
1486                    Package (0x04)
1487                    {
1488                        0x0009FFFF,
1489                        0x01,
1490                        \_SB.PCI0.LNK2,
1491                        0x00
1492                    },
1493
1494                    Package (0x04)
1495                    {
1496                        0x0009FFFF,
1497                        0x02,
1498                        \_SB.PCI0.LNK3,
1499                        0x00
1500                    },
1501
1502                    Package (0x04)
1503                    {
1504                        0x0009FFFF,
1505                        0x03,
1506                        \_SB.PCI0.LNK4,
1507                        0x00
1508                    },
1509
1510                    Package (0x04)
1511                    {
1512                        0x000EFFFF,
1513                        0x00,
1514                        \_SB.PCI0.LNK2,
1515                        0x00
1516                    },
1517
1518                    Package (0x04)
1519                    {
1520                        0x000EFFFF,
1521                        0x01,
1522                        \_SB.PCI0.LNK1,
1523                        0x00
1524                    },
1525
1526                    Package (0x04)
1527                    {
1528                        0x000EFFFF,
1529                        0x02,
1530                        \_SB.PCI0.LNK4,
1531                        0x00
1532                    },
1533
1534                    Package (0x04)
1535                    {
1536                        0x000EFFFF,
1537                        0x03,
1538                        \_SB.PCI0.LNK3,
1539                        0x00
1540                    },
1541
1542                    Package (0x04)
1543                    {
1544                        0x0003FFFF,
1545                        0x00,
1546                        \_SB.PCI0.LNK4,
1547                        0x00
1548                    },
1549
1550                    Package (0x04)
1551                    {
1552                        0x0003FFFF,
1553                        0x01,
1554                        \_SB.PCI0.LNK4,
1555                        0x00
1556                    },
1557
1558                    Package (0x04)
1559                    {
1560                        0x0003FFFF,
1561                        0x02,
1562                        \_SB.PCI0.LNK4,
1563                        0x00
1564                    },
1565
1566                    Package (0x04)
1567                    {
1568                        0x0003FFFF,
1569                        0x03,
1570                        \_SB.PCI0.LNK4,
1571                        0x00
1572                    }
1573                })
1574                Name (APIC, Package (0x0C)
1575                {
1576                    Package (0x04)
1577                    {
1578                        0x0009FFFF,
1579                        0x00,
1580                        \_SB.PCI0.APC1,
1581                        0x00
1582                    },
1583
1584                    Package (0x04)
1585                    {
1586                        0x0009FFFF,
1587                        0x01,
1588                        \_SB.PCI0.APC2,
1589                        0x00
1590                    },
1591
1592                    Package (0x04)
1593                    {
1594                        0x0009FFFF,
1595                        0x02,
1596                        \_SB.PCI0.APC3,
1597                        0x00
1598                    },
1599
1600                    Package (0x04)
1601                    {
1602                        0x0009FFFF,
1603                        0x03,
1604                        \_SB.PCI0.APC4,
1605                        0x00
1606                    },
1607
1608                    Package (0x04)
1609                    {
1610                        0x000EFFFF,
1611                        0x00,
1612                        \_SB.PCI0.APC2,
1613                        0x00
1614                    },
1615
1616                    Package (0x04)
1617                    {
1618                        0x000EFFFF,
1619                        0x01,
1620                        \_SB.PCI0.APC1,
1621                        0x00
1622                    },
1623
1624                    Package (0x04)
1625                    {
1626                        0x000EFFFF,
1627                        0x02,
1628                        \_SB.PCI0.APC4,
1629                        0x00
1630                    },
1631
1632                    Package (0x04)
1633                    {
1634                        0x000EFFFF,
1635                        0x03,
1636                        \_SB.PCI0.APC3,
1637                        0x00
1638                    },
1639
1640                    Package (0x04)
1641                    {
1642                        0x0003FFFF,
1643                        0x00,
1644                        \_SB.PCI0.APC4,
1645                        0x00
1646                    },
1647
1648                    Package (0x04)
1649                    {
1650                        0x0003FFFF,
1651                        0x01,
1652                        \_SB.PCI0.APC4,
1653                        0x00
1654                    },
1655
1656                    Package (0x04)
1657                    {
1658                        0x0003FFFF,
1659                        0x02,
1660                        \_SB.PCI0.APC4,
1661                        0x00
1662                    },
1663
1664                    Package (0x04)
1665                    {
1666                        0x0003FFFF,
1667                        0x03,
1668                        \_SB.PCI0.APC4,
1669                        0x00
1670                    }
1671                })
1672                Method (_PRT, 0, NotSerialized)
1673                {
1674                    If (LNot (PICF))
1675                    {
1676                        Return (PICM)
1677                    }
1678                    Else
1679                    {
1680                        Return (APIC)
1681                    }
1682                }
1683
1684                Name (_PRW, Package (0x02)
1685                {
1686                    0x00,
1687                    0x05
1688                })
1689            }
1690
1691            Device (SAT1)
1692            {
1693                Name (_ADR, 0x000E0000)
1694                Device (PRI0)
1695                {
1696                    Name (_ADR, 0x00)
1697                    Name (PCS0, 0x00)
1698                    Name (PSS0, 0x00)
1699                    Name (SPTM, Buffer (0x14)
1700                    {
1701                        /* 0000 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
1702                        /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1703                        /* 0010 */    0x13, 0x00, 0x00, 0x00
1704                    })
1705                    Method (_GTM, 0, NotSerialized)
1706                    {
1707                        Return (SPTM)
1708                    }
1709
1710                    Method (_STM, 3, NotSerialized)
1711                    {
1712                        Store (Arg0, SPTM)
1713                        CreateWordField (Arg1, 0xA4, ICM0)
1714                        CreateWordField (Arg1, 0x0100, ISE0)
1715                        Store (ICM0, PCS0)
1716                        Store (ISE0, PSS0)
1717                    }
1718
1719                    Device (MAST)
1720                    {
1721                        Name (_ADR, 0x00)
1722                        Method (_GTF, 0, NotSerialized)
1723                        {
1724                            Store (0xB1, SMIP)
1725                            Store (Buffer (0x07)
1726                                {
1727                                    /* 0000 */    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
1728                                }, Local0)
1729                            If (LAnd (PCS0, 0x02))
1730                            {
1731                                If (LAnd (PSS0, 0x01))
1732                                {
1733                                    Store (Buffer (0x07)
1734                                        {
1735                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
1736                                        }, Local1)
1737                                    Concatenate (Local0, Local1, Local0)
1738                                }
1739                            }
1740
1741                            Return (Local0)
1742                        }
1743                    }
1744                }
1745
1746                Device (SEC0)
1747                {
1748                    Name (_ADR, 0x01)
1749                    Name (PCS1, 0x00)
1750                    Name (PSS1, 0x00)
1751                    Name (SSTM, Buffer (0x14)
1752                    {
1753                        /* 0000 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
1754                        /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1755                        /* 0010 */    0x13, 0x00, 0x00, 0x00
1756                    })
1757                    Method (_GTM, 0, NotSerialized)
1758                    {
1759                        Return (SSTM)
1760                    }
1761
1762                    Method (_STM, 3, NotSerialized)
1763                    {
1764                        Store (Arg0, SSTM)
1765                        CreateWordField (Arg1, 0xA4, ICM1)
1766                        CreateWordField (Arg1, 0x0100, ISE1)
1767                        Store (ICM1, PCS1)
1768                        Store (ISE1, PSS1)
1769                    }
1770
1771                    Device (MAST)
1772                    {
1773                        Name (_ADR, 0x00)
1774                        Method (_GTF, 0, NotSerialized)
1775                        {
1776                            Store (0xB1, SMIP)
1777                            Store (Buffer (0x07)
1778                                {
1779                                    /* 0000 */    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
1780                                }, Local0)
1781                            If (LAnd (PCS1, 0x02))
1782                            {
1783                                If (LAnd (PSS1, 0x01))
1784                                {
1785                                    Store (Buffer (0x07)
1786                                        {
1787                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
1788                                        }, Local1)
1789                                    Concatenate (Local0, Local1, Local0)
1790                                }
1791                            }
1792
1793                            Return (Local0)
1794                        }
1795                    }
1796                }
1797            }
1798
1799            Device (SAT2)
1800            {
1801                Name (_ADR, 0x000F0000)
1802                Device (PRI0)
1803                {
1804                    Name (_ADR, 0x00)
1805                    Name (PCS0, 0x00)
1806                    Name (PSS0, 0x00)
1807                    Name (SPTM, Buffer (0x14)
1808                    {
1809                        /* 0000 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
1810                        /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1811                        /* 0010 */    0x13, 0x00, 0x00, 0x00
1812                    })
1813                    Method (_GTM, 0, NotSerialized)
1814                    {
1815                        Return (SPTM)
1816                    }
1817
1818                    Method (_STM, 3, NotSerialized)
1819                    {
1820                        Store (Arg0, SPTM)
1821                        CreateWordField (Arg1, 0xA4, ICM0)
1822                        CreateWordField (Arg1, 0x0100, ISE0)
1823                        Store (ICM0, PCS0)
1824                        Store (ISE0, PSS0)
1825                    }
1826
1827                    Device (MAST)
1828                    {
1829                        Name (_ADR, 0x00)
1830                        Method (_GTF, 0, NotSerialized)
1831                        {
1832                            Store (0xB1, SMIP)
1833                            Store (Buffer (0x07)
1834                                {
1835                                    /* 0000 */    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
1836                                }, Local0)
1837                            If (LAnd (PCS0, 0x02))
1838                            {
1839                                If (LAnd (PSS0, 0x01))
1840                                {
1841                                    Store (Buffer (0x07)
1842                                        {
1843                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
1844                                        }, Local1)
1845                                    Concatenate (Local0, Local1, Local0)
1846                                }
1847                            }
1848
1849                            Return (Local0)
1850                        }
1851                    }
1852                }
1853
1854                Device (SEC0)
1855                {
1856                    Name (_ADR, 0x01)
1857                    Name (PCS1, 0x00)
1858                    Name (PSS1, 0x00)
1859                    Name (SSTM, Buffer (0x14)
1860                    {
1861                        /* 0000 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
1862                        /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
1863                        /* 0010 */    0x13, 0x00, 0x00, 0x00
1864                    })
1865                    Method (_GTM, 0, NotSerialized)
1866                    {
1867                        Return (SSTM)
1868                    }
1869
1870                    Method (_STM, 3, NotSerialized)
1871                    {
1872                        Store (Arg0, SSTM)
1873                        CreateWordField (Arg1, 0xA4, ICM1)
1874                        CreateWordField (Arg1, 0x0100, ISE1)
1875                        Store (ICM1, PCS1)
1876                        Store (ISE1, PSS1)
1877                    }
1878
1879                    Device (MAST)
1880                    {
1881                        Name (_ADR, 0x00)
1882                        Method (_GTF, 0, NotSerialized)
1883                        {
1884                            Store (0xB1, SMIP)
1885                            Store (Buffer (0x07)
1886                                {
1887                                    /* 0000 */    0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
1888                                }, Local0)
1889                            If (LAnd (PCS1, 0x02))
1890                            {
1891                                If (LAnd (PSS1, 0x01))
1892                                {
1893                                    Store (Buffer (0x07)
1894                                        {
1895                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
1896                                        }, Local1)
1897                                    Concatenate (Local0, Local1, Local0)
1898                                }
1899                            }
1900
1901                            Return (Local0)
1902                        }
1903                    }
1904                }
1905            }
1906
1907            Device (IDE0)
1908            {
1909                Name (_ADR, 0x000D0000)
1910                OperationRegion (A090, PCI_Config, 0x50, 0x18)
1911                Field (A090, DWordAcc, NoLock, Preserve)
1912                {
1913                    ID20,   16,
1914                            Offset (0x08),
1915                    IDTS,   16,
1916                    IDTP,   16,
1917                    ID22,   32,
1918                    UMSS,   16,
1919                    UMSP,   16
1920                }
1921
1922                Name (IDEP, Buffer (0x14) {})
1923                Name (IDES, Buffer (0x14) {})
1924                Method (GTM, 1, NotSerialized)
1925                {
1926                    If (LEqual (Arg0, 0x00))
1927                    {
1928                        Store (IDTP, Local0)
1929                        Store (UMSP, Local1)
1930                        Store (IDEP, Local2)
1931                    }
1932                    Else
1933                    {
1934                        Store (IDTS, Local0)
1935                        Store (UMSS, Local1)
1936                        Store (IDES, Local2)
1937                    }
1938
1939                    CreateDWordField (Local2, 0x00, PIO0)
1940                    CreateDWordField (Local2, 0x04, DMA0)
1941                    CreateDWordField (Local2, 0x08, PIO1)
1942                    CreateDWordField (Local2, 0x0C, DMA1)
1943                    CreateDWordField (Local2, 0x10, FLAG)
1944                    Store (0x10, FLAG)
1945                    And (Local0, 0x0F00, Local3)
1946                    And (Local0, 0xF000, Local4)
1947                    ShiftRight (Local3, 0x08, Local3)
1948                    ShiftRight (Local4, 0x0C, Local4)
1949                    Add (Local3, Local4, Local3)
1950                    Multiply (Add (Local3, 0x02), 0x1E, PIO0)
1951                    If (LLessEqual (PIO0, 0xB4))
1952                    {
1953                        Or (FLAG, 0x02, FLAG)
1954                    }
1955
1956                    If (And (Local1, 0x4000))
1957                    {
1958                        Or (FLAG, 0x01, FLAG)
1959                        And (Local1, 0x0700, Local3)
1960                        ShiftRight (Local3, 0x08, Local3)
1961                        Store (U2T (Local3), DMA0)
1962                    }
1963                    Else
1964                    {
1965                        Store (PIO0, DMA0)
1966                    }
1967
1968                    And (Local0, 0x0F, Local3)
1969                    And (Local0, 0xF0, Local4)
1970                    ShiftRight (Local4, 0x04, Local4)
1971                    Add (Local3, Local4, Local3)
1972                    Multiply (Add (Local3, 0x02), 0x1E, PIO1)
1973                    If (LLessEqual (PIO1, 0xB4))
1974                    {
1975                        Or (FLAG, 0x08, FLAG)
1976                    }
1977
1978                    If (And (Local1, 0x40))
1979                    {
1980                        Or (FLAG, 0x04, FLAG)
1981                        And (Local1, 0x07, Local3)
1982                        Store (U2T (Local3), DMA1)
1983                    }
1984                    Else
1985                    {
1986                        Store (PIO1, DMA1)
1987                    }
1988
1989                    If (LEqual (Arg0, 0x00))
1990                    {
1991                        Store (Local2, IDEP)
1992                        Return (IDEP)
1993                    }
1994                    Else
1995                    {
1996                        Store (Local2, IDES)
1997                        Return (IDES)
1998                    }
1999                }
2000
2001                Method (U2T, 1, NotSerialized)
2002                {
2003                    If (LEqual (Arg0, 0x00))
2004                    {
2005                        Return (0x3C)
2006                    }
2007
2008                    If (LEqual (Arg0, 0x01))
2009                    {
2010                        Return (0x5A)
2011                    }
2012
2013                    If (LEqual (Arg0, 0x02))
2014                    {
2015                        Return (0x78)
2016                    }
2017
2018                    If (LEqual (Arg0, 0x03))
2019                    {
2020                        Return (0x96)
2021                    }
2022
2023                    If (LEqual (Arg0, 0x04))
2024                    {
2025                        Return (0x2D)
2026                    }
2027
2028                    If (LEqual (Arg0, 0x05))
2029                    {
2030                        Return (0x1E)
2031                    }
2032
2033                    If (LEqual (Arg0, 0x06))
2034                    {
2035                        Return (0x14)
2036                    }
2037
2038                    Return (0x0F)
2039                }
2040
2041                Method (T2U, 1, NotSerialized)
2042                {
2043                    If (LGreater (Arg0, 0x78))
2044                    {
2045                        Return (0x03)
2046                    }
2047
2048                    If (LGreater (Arg0, 0x5A))
2049                    {
2050                        Return (0x02)
2051                    }
2052
2053                    If (LGreater (Arg0, 0x3C))
2054                    {
2055                        Return (0x01)
2056                    }
2057
2058                    If (LGreater (Arg0, 0x2D))
2059                    {
2060                        Return (0x00)
2061                    }
2062
2063                    If (LGreater (Arg0, 0x1E))
2064                    {
2065                        Return (0x04)
2066                    }
2067
2068                    If (LGreater (Arg0, 0x14))
2069                    {
2070                        Return (0x05)
2071                    }
2072
2073                    If (LGreater (Arg0, 0x0F))
2074                    {
2075                        Return (0x06)
2076                    }
2077
2078                    Return (0x07)
2079                }
2080
2081                Method (T2D, 1, NotSerialized)
2082                {
2083                    If (LGreater (Arg0, 0x01E0))
2084                    {
2085                        Return (0xA8)
2086                    }
2087
2088                    If (LGreater (Arg0, 0x0186))
2089                    {
2090                        Return (0x77)
2091                    }
2092
2093                    If (LGreater (Arg0, 0xF0))
2094                    {
2095                        Return (0x47)
2096                    }
2097
2098                    If (LGreater (Arg0, 0xB4))
2099                    {
2100                        Return (0x33)
2101                    }
2102
2103                    If (LGreater (Arg0, 0x96))
2104                    {
2105                        Return (0x22)
2106                    }
2107
2108                    If (LGreater (Arg0, 0x78))
2109                    {
2110                        Return (0x21)
2111                    }
2112
2113                    Return (0x20)
2114                }
2115
2116                Method (STM, 4, NotSerialized)
2117                {
2118                    If (SX)
2119                    {
2120                        Store (SID0, ID20)
2121                        Store (SID1, IDTS)
2122                        Store (SID2, IDTP)
2123                        Store (SID3, ID22)
2124                        Store (SID4, UMSS)
2125                        Store (SID5, UMSP)
2126                    }
2127                    Else
2128                    {
2129                        Store (ID20, SID0)
2130                        Store (IDTS, SID1)
2131                        Store (IDTP, SID2)
2132                        Store (ID22, SID3)
2133                        Store (UMSS, SID4)
2134                        Store (UMSP, SID5)
2135                    }
2136
2137                    Store (0x00, SX)
2138                    CreateDWordField (Arg0, 0x00, PIO0)
2139                    CreateDWordField (Arg0, 0x04, DMA0)
2140                    CreateDWordField (Arg0, 0x08, PIO1)
2141                    CreateDWordField (Arg0, 0x0C, DMA1)
2142                    CreateDWordField (Arg0, 0x10, FLAG)
2143                    If (LEqual (Arg3, 0x00))
2144                    {
2145                        Store (SID2, Local0)
2146                        Store (SID5, Local1)
2147                    }
2148                    Else
2149                    {
2150                        Store (SID1, Local0)
2151                        Store (SID4, Local1)
2152                    }
2153
2154                    If (LNotEqual (PIO0, 0xFFFFFFFF))
2155                    {
2156                        And (Local0, 0xFF, Local0)
2157                        ShiftLeft (T2D (PIO0), 0x08, Local2)
2158                        Or (Local0, Local2, Local0)
2159                    }
2160
2161                    If (LNotEqual (PIO1, 0xFFFFFFFF))
2162                    {
2163                        And (Local0, 0xFF00, Local0)
2164                        Or (Local0, T2D (PIO1), Local0)
2165                    }
2166
2167                    If (And (FLAG, 0x01))
2168                    {
2169                        And (Local1, 0xFF, Local1)
2170                        ShiftLeft (T2U (DMA0), 0x08, Local2)
2171                        Or (0xC000, Local2, Local2)
2172                        Or (Local2, Local1, Local1)
2173                    }
2174                    Else
2175                    {
2176                        If (LNotEqual (DMA0, 0xFFFFFFFF))
2177                        {
2178                            And (Local0, 0xFF, Local0)
2179                            ShiftLeft (T2D (DMA0), 0x08, Local2)
2180                            Or (Local0, Local2, Local0)
2181                        }
2182                    }
2183
2184                    If (And (FLAG, 0x04))
2185                    {
2186                        And (Local1, 0xFF00, Local1)
2187                        Or (0xC0, T2U (DMA1), Local2)
2188                        Or (Local2, Local1, Local1)
2189                    }
2190                    Else
2191                    {
2192                        If (LNotEqual (DMA1, 0xFFFFFFFF))
2193                        {
2194                            And (Local0, 0xFF00, Local0)
2195                            Or (Local0, T2D (DMA1), Local0)
2196                        }
2197                    }
2198
2199                    If (LEqual (Arg3, 0x00))
2200                    {
2201                        Store (Local0, IDTP)
2202                        Store (Local1, UMSP)
2203                    }
2204                    Else
2205                    {
2206                        Store (Local0, IDTS)
2207                        Store (Local1, UMSS)
2208                    }
2209                }
2210
2211                Method (GTF, 2, NotSerialized)
2212                {
2213                    Store (Buffer (0x07)
2214                        {
2215                            /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
2216                        }, Local0)
2217                    CreateByteField (Local0, 0x01, MODE)
2218                    CreateByteField (Local0, 0x05, DRIV)
2219                    Store (Arg1, DRIV)
2220                    If (LEqual (Arg0, 0x00))
2221                    {
2222                        Store (IDEP, Local1)
2223                    }
2224                    Else
2225                    {
2226                        Store (IDES, Local1)
2227                    }
2228
2229                    CreateDWordField (Local1, 0x00, PIO0)
2230                    CreateDWordField (Local1, 0x04, DMA0)
2231                    CreateDWordField (Local1, 0x08, PIO1)
2232                    CreateDWordField (Local1, 0x0C, DMA1)
2233                    CreateDWordField (Local1, 0x10, FLGX)
2234                    If (LEqual (Arg1, 0xA0))
2235                    {
2236                        Store (PIO0, Local2)
2237                        Store (DMA0, Local3)
2238                        And (FLGX, 0x01, FLGX)
2239                    }
2240                    Else
2241                    {
2242                        Store (PIO1, Local2)
2243                        Store (DMA1, Local3)
2244                        And (FLGX, 0x04, FLGX)
2245                    }
2246
2247                    Store (FLGX, Local1)
2248                    If (LGreater (Local2, 0x0186))
2249                    {
2250                        Store (0x00, Local2)
2251                    }
2252                    Else
2253                    {
2254                        If (LGreater (Local2, 0xF0))
2255                        {
2256                            Store (0x01, Local2)
2257                        }
2258                        Else
2259                        {
2260                            If (LGreater (Local2, 0xB4))
2261                            {
2262                                Store (0x02, Local2)
2263                            }
2264                            Else
2265                            {
2266                                If (LGreater (Local2, 0x78))
2267                                {
2268                                    Store (0x03, Local2)
2269                                }
2270                                Else
2271                                {
2272                                    Store (0x04, Local2)
2273                                }
2274                            }
2275                        }
2276                    }
2277
2278                    Or (0x08, Local2, MODE)
2279                    Store (Local0, Local2)
2280                    If (FLGX)
2281                    {
2282                        If (LGreater (Local3, 0x5A))
2283                        {
2284                            Store (0x00, Local3)
2285                        }
2286                        Else
2287                        {
2288                            If (LGreater (Local3, 0x3C))
2289                            {
2290                                Store (0x01, Local3)
2291                            }
2292                            Else
2293                            {
2294                                If (LGreater (Local3, 0x2D))
2295                                {
2296                                    Store (0x02, Local3)
2297                                }
2298                                Else
2299                                {
2300                                    If (LGreater (Local3, 0x1E))
2301                                    {
2302                                        Store (0x03, Local3)
2303                                    }
2304                                    Else
2305                                    {
2306                                        If (LGreater (Local3, 0x14))
2307                                        {
2308                                            Store (0x04, Local3)
2309                                        }
2310                                        Else
2311                                        {
2312                                            If (LGreater (Local3, 0x0F))
2313                                            {
2314                                                Store (0x05, Local3)
2315                                            }
2316                                            Else
2317                                            {
2318                                                Store (0x06, Local3)
2319                                            }
2320                                        }
2321                                    }
2322                                }
2323                            }
2324                        }
2325
2326                        Or (0x40, Local3, MODE)
2327                    }
2328                    Else
2329                    {
2330                        If (LEqual (Local3, 0xFFFFFFFF))
2331                        {
2332                            Return (Local0)
2333                        }
2334                        Else
2335                        {
2336                            If (LGreater (Local3, 0x96))
2337                            {
2338                                Store (0x00, Local3)
2339                            }
2340                            Else
2341                            {
2342                                If (LGreater (Local3, 0x78))
2343                                {
2344                                    Store (0x01, Local3)
2345                                }
2346                                Else
2347                                {
2348                                    Store (0x02, Local3)
2349                                }
2350                            }
2351
2352                            Or (0x20, Local3, MODE)
2353                        }
2354                    }
2355
2356                    Concatenate (Local0, Local2, Local1)
2357                    Return (Local1)
2358                }
2359
2360                Device (PRI0)
2361                {
2362                    Name (_ADR, 0x00)
2363                    Name (PCS0, 0x00)
2364                    Name (PSS0, 0x00)
2365                    Name (PCS1, 0x00)
2366                    Name (PSS1, 0x00)
2367                    Method (_GTM, 0, NotSerialized)
2368                    {
2369                        Return (GTM (0x00))
2370                    }
2371
2372                    Method (_STM, 3, NotSerialized)
2373                    {
2374                        STM (Arg0, Arg1, Arg2, 0x00)
2375                        CreateWordField (Arg1, 0xA4, ICM0)
2376                        CreateWordField (Arg1, 0x0100, ISE0)
2377                        CreateWordField (Arg2, 0xA4, ICM1)
2378                        CreateWordField (Arg2, 0x0100, ISE1)
2379                        Store (ICM0, PCS0)
2380                        Store (ISE0, PSS0)
2381                        Store (ICM1, PCS1)
2382                        Store (ISE1, PSS1)
2383                    }
2384
2385                    Device (MAST)
2386                    {
2387                        Name (_ADR, 0x00)
2388                        Method (_GTF, 0, NotSerialized)
2389                        {
2390                            Store (GTF (0x00, 0xA0), Local0)
2391                            If (LAnd (PCS0, 0x02))
2392                            {
2393                                If (LAnd (PSS0, 0x01))
2394                                {
2395                                    Store (Buffer (0x07)
2396                                        {
2397                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
2398                                        }, Local1)
2399                                    Concatenate (Local0, Local1, Local0)
2400                                }
2401                            }
2402
2403                            Return (Local0)
2404                        }
2405                    }
2406
2407                    Device (SLAV)
2408                    {
2409                        Name (_ADR, 0x01)
2410                        Method (_GTF, 0, NotSerialized)
2411                        {
2412                            Store (GTF (0x00, 0xB0), Local0)
2413                            If (LAnd (PCS1, 0x02))
2414                            {
2415                                If (LAnd (PSS1, 0x01))
2416                                {
2417                                    Store (Buffer (0x07)
2418                                        {
2419                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
2420                                        }, Local1)
2421                                    Concatenate (Local0, Local1, Local0)
2422                                }
2423                            }
2424
2425                            Return (Local0)
2426                        }
2427                    }
2428                }
2429
2430                Device (SEC0)
2431                {
2432                    Name (_ADR, 0x01)
2433                    Name (PCS0, 0x00)
2434                    Name (PSS0, 0x00)
2435                    Name (PCS1, 0x00)
2436                    Name (PSS1, 0x00)
2437                    Method (_GTM, 0, NotSerialized)
2438                    {
2439                        Return (GTM (0x01))
2440                    }
2441
2442                    Method (_STM, 3, NotSerialized)
2443                    {
2444                        STM (Arg0, Arg1, Arg2, 0x01)
2445                        CreateWordField (Arg1, 0xA4, ICM0)
2446                        CreateWordField (Arg1, 0x0100, ISE0)
2447                        CreateWordField (Arg2, 0xA4, ICM1)
2448                        CreateWordField (Arg2, 0x0100, ISE1)
2449                        Store (ICM0, PCS0)
2450                        Store (ISE0, PSS0)
2451                        Store (ICM1, PCS1)
2452                        Store (ISE1, PSS1)
2453                    }
2454
2455                    Device (MAST)
2456                    {
2457                        Name (_ADR, 0x00)
2458                        Method (_GTF, 0, NotSerialized)
2459                        {
2460                            Store (GTF (0x01, 0xA0), Local0)
2461                            If (LAnd (PCS0, 0x02))
2462                            {
2463                                If (LAnd (PSS0, 0x01))
2464                                {
2465                                    Store (Buffer (0x07)
2466                                        {
2467                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
2468                                        }, Local1)
2469                                    Concatenate (Local0, Local1, Local0)
2470                                }
2471                            }
2472
2473                            Return (Local0)
2474                        }
2475                    }
2476
2477                    Device (SLAV)
2478                    {
2479                        Name (_ADR, 0x01)
2480                        Method (_GTF, 0, NotSerialized)
2481                        {
2482                            Store (GTF (0x01, 0xB0), Local0)
2483                            If (LAnd (PCS1, 0x02))
2484                            {
2485                                If (LAnd (PSS1, 0x01))
2486                                {
2487                                    Store (Buffer (0x07)
2488                                        {
2489                                            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
2490                                        }, Local1)
2491                                    Concatenate (Local0, Local1, Local0)
2492                                }
2493                            }
2494
2495                            Return (Local0)
2496                        }
2497                    }
2498                }
2499            }
2500
2501            Device (K800)
2502            {
2503                Name (_BBN, 0x00)
2504                Name (_ADR, 0x00180000)
2505            }
2506
2507            Device (K801)
2508            {
2509                Name (_BBN, 0x00)
2510                Name (_ADR, 0x00180001)
2511                OperationRegion (K181, PCI_Config, 0x00, 0xFF)
2512                Field (K181, AnyAcc, NoLock, Preserve)
2513                {
2514                            Offset (0x80),
2515                    MB00,   8,
2516                    MBV0,   24,
2517                    ML00,   8,
2518                    MLV0,   24,
2519                    MB01,   8,
2520                    MBV1,   24,
2521                    ML01,   8,
2522                    MLV1,   24,
2523                    MB02,   8,
2524                    MBV2,   24,
2525                    ML02,   8,
2526                    MLV2,   24,
2527                    MB03,   8,
2528                    MBV3,   24,
2529                    ML03,   8,
2530                    MLV3,   24,
2531                    MB04,   8,
2532                    MBV4,   24,
2533                    ML04,   8,
2534                    MLV4,   24,
2535                    MB05,   8,
2536                    MBV5,   24,
2537                    ML05,   8,
2538                    MLV5,   24,
2539                    MB06,   8,
2540                    MBV6,   24,
2541                    ML06,   8,
2542                    MLV6,   24,
2543                    MB07,   8,
2544                    MBV7,   24,
2545                    ML07,   8,
2546                    MLV7,   24,
2547                    IB00,   6,
2548                        ,   6,
2549                    IBV0,   13,
2550                            Offset (0xC4),
2551                    IL00,   6,
2552                        ,   6,
2553                    ILV0,   13,
2554                            Offset (0xC8),
2555                    IB01,   6,
2556                        ,   6,
2557                    IBV1,   13,
2558                            Offset (0xCC),
2559                    IL01,   6,
2560                        ,   6,
2561                    ILV1,   13,
2562                            Offset (0xD0),
2563                    IB02,   6,
2564                        ,   6,
2565                    IBV2,   13,
2566                            Offset (0xD4),
2567                    IL02,   6,
2568                        ,   6,
2569                    ILV2,   13,
2570                            Offset (0xD8),
2571                    IB03,   6,
2572                        ,   6,
2573                    IBV3,   13,
2574                            Offset (0xDC),
2575                    IL03,   6,
2576                        ,   6,
2577                    ILV3,   13,
2578                            Offset (0xE0),
2579                    L0EN,   8,
2580                    DL00,   8,
2581                    BNB0,   8,
2582                    BNL0,   8,
2583                    L1EN,   8,
2584                    DL01,   8,
2585                    BNB1,   8,
2586                    BNL1,   8,
2587                    L2EN,   8,
2588                    DL02,   8,
2589                    BNB2,   8,
2590                    BNL2,   8,
2591                    L3EN,   8,
2592                    DL03,   8,
2593                    BNB3,   8,
2594                    BNL3,   8
2595                }
2596            }
2597
2598            Device (K802)
2599            {
2600                Name (_BBN, 0x00)
2601                Name (_ADR, 0x00180002)
2602            }
2603
2604            Device (K810)
2605            {
2606                Name (_BBN, 0x00)
2607                Name (_ADR, 0x00190000)
2608            }
2609
2610            Device (K811)
2611            {
2612                Name (_BBN, 0x00)
2613                Name (_ADR, 0x00190001)
2614                OperationRegion (K281, PCI_Config, 0x00, 0xFF)
2615                Field (K281, AnyAcc, NoLock, Preserve)
2616                {
2617                            Offset (0x80),
2618                    MB00,   8,
2619                    MBV0,   24,
2620                    ML00,   8,
2621                    MLV0,   24,
2622                    MB01,   8,
2623                    MBV1,   24,
2624                    ML01,   8,
2625                    MLV1,   24,
2626                    MB02,   8,
2627                    MBV2,   24,
2628                    ML02,   8,
2629                    MLV2,   24,
2630                    MB03,   8,
2631                    MBV3,   24,
2632                    ML03,   8,
2633                    MLV3,   24,
2634                    MB04,   8,
2635                    MBV4,   24,
2636                    ML04,   8,
2637                    MLV4,   24,
2638                    MB05,   8,
2639                    MBV5,   24,
2640                    ML05,   8,
2641                    MLV5,   24,
2642                    MB06,   8,
2643                    MBV6,   24,
2644                    ML06,   8,
2645                    MLV6,   24,
2646                    MB07,   8,
2647                    MBV7,   24,
2648                    ML07,   8,
2649                    MLV7,   24,
2650                    IB00,   6,
2651                        ,   6,
2652                    IBV0,   13,
2653                            Offset (0xC4),
2654                    IL00,   6,
2655                        ,   6,
2656                    ILV0,   13,
2657                            Offset (0xC8),
2658                    IB01,   6,
2659                        ,   6,
2660                    IBV1,   13,
2661                            Offset (0xCC),
2662                    IL01,   6,
2663                        ,   6,
2664                    ILV1,   13,
2665                            Offset (0xD0),
2666                    IB02,   6,
2667                        ,   6,
2668                    IBV2,   13,
2669                            Offset (0xD4),
2670                    IL02,   6,
2671                        ,   6,
2672                    ILV2,   13,
2673                            Offset (0xD8),
2674                    IB03,   6,
2675                        ,   6,
2676                    IBV3,   13,
2677                            Offset (0xDC),
2678                    IL03,   6,
2679                        ,   6,
2680                    ILV3,   13,
2681                            Offset (0xE0),
2682                    L0EN,   8,
2683                    DL00,   8,
2684                    BNB0,   8,
2685                    BNL0,   8,
2686                    L1EN,   8,
2687                    DL01,   8,
2688                    BNB1,   8,
2689                    BNL1,   8,
2690                    L2EN,   8,
2691                    DL02,   8,
2692                    BNB2,   8,
2693                    BNL2,   8,
2694                    L3EN,   8,
2695                    DL03,   8,
2696                    BNB3,   8,
2697                    BNL3,   8
2698                }
2699            }
2700
2701            Device (K812)
2702            {
2703                Name (_BBN, 0x00)
2704                Name (_ADR, 0x00190002)
2705            }
2706
2707            Device (K820)
2708            {
2709                Name (_BBN, 0x00)
2710                Name (_ADR, 0x001A0000)
2711            }
2712
2713            Device (K821)
2714            {
2715                Name (_BBN, 0x00)
2716                Name (_ADR, 0x001A0001)
2717                OperationRegion (K381, PCI_Config, 0x00, 0xFF)
2718                Field (K381, AnyAcc, NoLock, Preserve)
2719                {
2720                            Offset (0x80),
2721                    MB00,   8,
2722                    MBV0,   24,
2723                    ML00,   8,
2724                    MLV0,   24,
2725                    MB01,   8,
2726                    MBV1,   24,
2727                    ML01,   8,
2728                    MLV1,   24,
2729                    MB02,   8,
2730                    MBV2,   24,
2731                    ML02,   8,
2732                    MLV2,   24,
2733                    MB03,   8,
2734                    MBV3,   24,
2735                    ML03,   8,
2736                    MLV3,   24,
2737                    MB04,   8,
2738                    MBV4,   24,
2739                    ML04,   8,
2740                    MLV4,   24,
2741                    MB05,   8,
2742                    MBV5,   24,
2743                    ML05,   8,
2744                    MLV5,   24,
2745                    MB06,   8,
2746                    MBV6,   24,
2747                    ML06,   8,
2748                    MLV6,   24,
2749                    MB07,   8,
2750                    MBV7,   24,
2751                    ML07,   8,
2752                    MLV7,   24,
2753                    IB00,   6,
2754                        ,   5,
2755                    IBV0,   13,
2756                            Offset (0xC4),
2757                    IL00,   6,
2758                        ,   5,
2759                    ILV0,   13,
2760                            Offset (0xC8),
2761                    IB01,   6,
2762                        ,   5,
2763                    IBV1,   13,
2764                            Offset (0xCC),
2765                    IL01,   6,
2766                        ,   5,
2767                    ILV1,   13,
2768                            Offset (0xD0),
2769                    IB02,   6,
2770                        ,   5,
2771                    IBV2,   13,
2772                            Offset (0xD4),
2773                    IL02,   6,
2774                        ,   5,
2775                    ILV2,   13,
2776                            Offset (0xD8),
2777                    IB03,   6,
2778                        ,   5,
2779                    IBV3,   13,
2780                            Offset (0xDC),
2781                    IL03,   6,
2782                        ,   5,
2783                    ILV3,   13,
2784                            Offset (0xE0),
2785                    L0EN,   8,
2786                    DL00,   8,
2787                    BNB0,   8,
2788                    BNL0,   8,
2789                    L1EN,   8,
2790                    DL01,   8,
2791                    BNB1,   8,
2792                    BNL1,   8,
2793                    L2EN,   8,
2794                    DL02,   8,
2795                    BNB2,   8,
2796                    BNL2,   8,
2797                    L3EN,   8,
2798                    DL03,   8,
2799                    BNB3,   8,
2800                    BNL3,   8
2801                }
2802            }
2803
2804            Device (K822)
2805            {
2806                Name (_BBN, 0x00)
2807                Name (_ADR, 0x001A0002)
2808            }
2809
2810            Device (K830)
2811            {
2812                Name (_BBN, 0x00)
2813                Name (_ADR, 0x001B0000)
2814            }
2815
2816            Device (K831)
2817            {
2818                Name (_BBN, 0x00)
2819                Name (_ADR, 0x001B0001)
2820                OperationRegion (K381, PCI_Config, 0x00, 0xFF)
2821                Field (K381, AnyAcc, NoLock, Preserve)
2822                {
2823                            Offset (0x80),
2824                    MB00,   8,
2825                    MBV0,   24,
2826                    ML00,   8,
2827                    MLV0,   24,
2828                    MB01,   8,
2829                    MBV1,   24,
2830                    ML01,   8,
2831                    MLV1,   24,
2832                    MB02,   8,
2833                    MBV2,   24,
2834                    ML02,   8,
2835                    MLV2,   24,
2836                    MB03,   8,
2837                    MBV3,   24,
2838                    ML03,   8,
2839                    MLV3,   24,
2840                    MB04,   8,
2841                    MBV4,   24,
2842                    ML04,   8,
2843                    MLV4,   24,
2844                    MB05,   8,
2845                    MBV5,   24,
2846                    ML05,   8,
2847                    MLV5,   24,
2848                    MB06,   8,
2849                    MBV6,   24,
2850                    ML06,   8,
2851                    MLV6,   24,
2852                    MB07,   8,
2853                    MBV7,   24,
2854                    ML07,   8,
2855                    MLV7,   24,
2856                    IB00,   6,
2857                        ,   5,
2858                    IBV0,   13,
2859                            Offset (0xC4),
2860                    IL00,   6,
2861                        ,   5,
2862                    ILV0,   13,
2863                            Offset (0xC8),
2864                    IB01,   6,
2865                        ,   5,
2866                    IBV1,   13,
2867                            Offset (0xCC),
2868                    IL01,   6,
2869                        ,   5,
2870                    ILV1,   13,
2871                            Offset (0xD0),
2872                    IB02,   6,
2873                        ,   5,
2874                    IBV2,   13,
2875                            Offset (0xD4),
2876                    IL02,   6,
2877                        ,   5,
2878                    ILV2,   13,
2879                            Offset (0xD8),
2880                    IB03,   6,
2881                        ,   5,
2882                    IBV3,   13,
2883                            Offset (0xDC),
2884                    IL03,   6,
2885                        ,   5,
2886                    ILV3,   13,
2887                            Offset (0xE0),
2888                    L0EN,   8,
2889                    DL00,   8,
2890                    BNB0,   8,
2891                    BNL0,   8,
2892                    L1EN,   8,
2893                    DL01,   8,
2894                    BNB1,   8,
2895                    BNL1,   8,
2896                    L2EN,   8,
2897                    DL02,   8,
2898                    BNB2,   8,
2899                    BNL2,   8,
2900                    L3EN,   8,
2901                    DL03,   8,
2902                    BNB3,   8,
2903                    BNL3,   8
2904                }
2905            }
2906
2907            Device (K832)
2908            {
2909                Name (_BBN, 0x00)
2910                Name (_ADR, 0x001B0002)
2911            }
2912
2913            Device (IGPU)
2914            {
2915                Name (_ADR, 0x00050000)
2916                OperationRegion (GPUR, PCI_Config, 0xA0, 0x08)
2917                Scope (\)
2918                {
2919                    Field (\_SB.PCI0.IGPU.GPUR, ByteAcc, NoLock, Preserve)
2920                    {
2921                        IGUB,   32,
2922                        IGUL,   32
2923                    }
2924                }
2925            }
2926
2927            Device (SMB0)
2928            {
2929                Name (_ADR, 0x000A0001)
2930                OperationRegion (SMCF, PCI_Config, 0x48, 0x10)
2931                Field (SMCF, DWordAcc, NoLock, Preserve)
2932                {
2933                    SMPM,   4,
2934                    SMT1,   28,
2935                    SMT2,   32
2936                }
2937
2938                OperationRegion (SMCA, PCI_Config, 0x20, 0x08)
2939                Field (SMCA, DWordAcc, NoLock, Preserve)
2940                {
2941                    SB1,    32,
2942                    SB2,    32
2943                }
2944
2945                OperationRegion (PDEV, PCI_Config, 0xE8, 0x04)
2946                Scope (\)
2947                {
2948                    Field (\_SB.PCI0.SMB0.PDEV, AnyAcc, NoLock, Preserve)
2949                    {
2950                            ,   12,
2951                        ACIE,   1
2952                    }
2953                }
2954
2955                Method (SMBB, 0, NotSerialized)
2956                {
2957                    If (PCIA)
2958                    {
2959                        And (SB1, 0xFFFE, Local0)
2960                    }
2961                    Else
2962                    {
2963                        Store (0x4C00, Local0)
2964                    }
2965
2966                    Return (Local0)
2967                }
2968            }
2969
2970            Device (VT86)
2971            {
2972                Name (_ADR, 0x000A0000)
2973                OperationRegion (PIO0, PCI_Config, 0x04, 0x20)
2974                Scope (\)
2975                {
2976                    Field (\_SB.PCI0.VT86.PIO0, ByteAcc, NoLock, Preserve)
2977                    {
2978                        SMEN,   8,
2979                                Offset (0x0C),
2980                                Offset (0x0D),
2981                        SMIO,   8
2982                    }
2983                }
2984
2985                Scope (\)
2986                {
2987                    OperationRegion (\SCPP, SystemIO, 0x442E, 0x01)
2988                    Field (\SCPP, ByteAcc, NoLock, Preserve)
2989                    {
2990                        SMIP,   8
2991                    }
2992                }
2993
2994                Method (\_SB.PCI0._INI, 0, NotSerialized)
2995                {
2996                    If (STRC (\_OS, "Microsoft Windows"))
2997                    {
2998                        Store (0x56, SMIP)
2999                    }
3000                    Else
3001                    {
3002                        If (STRC (\_OS, "Microsoft Windows NT"))
3003                        {
3004                            If (CondRefOf (\_OSI, Local0))
3005                            {
3006                                If (\_OSI ("Windows 2001"))
3007                                {
3008                                    Store (0x59, SMIP)
3009                                    Store (0x00, OSFL)
3010                                    Store (0x03, OSFX)
3011                                }
3012
3013                                If (\_OSI ("Windows 2006"))
3014                                {
3015                                    Store (0x01, VSTA)
3016                                }
3017                            }
3018                            Else
3019                            {
3020                                Store (0x58, SMIP)
3021                                Store (0x00, OSFX)
3022                                Store (0x00, OSFL)
3023                            }
3024                        }
3025                        Else
3026                        {
3027                            Store (0x57, SMIP)
3028                            Store (0x02, OSFX)
3029                            Store (0x02, OSFL)
3030                        }
3031                    }
3032
3033                    Name (TEMP, 0x00)
3034                    Store (UA1D, TEMP)
3035                    And (TEMP, 0x0F, TEMP)
3036                    ShiftLeft (0x01, TEMP, UARA)
3037                    Store (UA1D, TEMP)
3038                    And (TEMP, 0xF0, TEMP)
3039                    ShiftRight (TEMP, 0x04, TEMP)
3040                    ShiftLeft (0x01, TEMP, UARB)
3041                }
3042
3043                Scope (\)
3044                {
3045                    Method (OSTP, 0, NotSerialized)
3046                    {
3047                        If (LEqual (OSFX, 0x01))
3048                        {
3049                            Store (0x56, SMIP)
3050                        }
3051
3052                        If (LEqual (OSFX, 0x02))
3053                        {
3054                            Store (0x57, SMIP)
3055                        }
3056
3057                        If (LEqual (OSFX, 0x00))
3058                        {
3059                            Store (0x58, SMIP)
3060                        }
3061
3062                        If (LEqual (OSFX, 0x03))
3063                        {
3064                            Store (0x59, SMIP)
3065                        }
3066                    }
3067                }
3068
3069                Device (SYSR)
3070                {
3071                    Name (_HID, EisaId ("PNP0C02"))
3072                    Name (_UID, 0x01)
3073                    Name (_CRS, ResourceTemplate ()
3074                    {
3075                        IO (Decode16,
3076                            0x0010,             // Range Minimum
3077                            0x0010,             // Range Maximum
3078                            0x01,               // Alignment
3079                            0x10,               // Length
3080                            )
3081                        IO (Decode16,
3082                            0x0022,             // Range Minimum
3083                            0x0022,             // Range Maximum
3084                            0x01,               // Alignment
3085                            0x1E,               // Length
3086                            )
3087                        IO (Decode16,
3088                            0x0044,             // Range Minimum
3089                            0x0044,             // Range Maximum
3090                            0x01,               // Alignment
3091                            0x1C,               // Length
3092                            )
3093                        IO (Decode16,
3094                            0x0062,             // Range Minimum
3095                            0x0062,             // Range Maximum
3096                            0x01,               // Alignment
3097                            0x02,               // Length
3098                            )
3099                        IO (Decode16,
3100                            0x0065,             // Range Minimum
3101                            0x0065,             // Range Maximum
3102                            0x01,               // Alignment
3103                            0x0B,               // Length
3104                            )
3105                        IO (Decode16,
3106                            0x0074,             // Range Minimum
3107                            0x0074,             // Range Maximum
3108                            0x01,               // Alignment
3109                            0x0C,               // Length
3110                            )
3111                        IO (Decode16,
3112                            0x0091,             // Range Minimum
3113                            0x0091,             // Range Maximum
3114                            0x01,               // Alignment
3115                            0x03,               // Length
3116                            )
3117                        IO (Decode16,
3118                            0x00A2,             // Range Minimum
3119                            0x00A2,             // Range Maximum
3120                            0x01,               // Alignment
3121                            0x1E,               // Length
3122                            )
3123                        IO (Decode16,
3124                            0x00E0,             // Range Minimum
3125                            0x00E0,             // Range Maximum
3126                            0x01,               // Alignment
3127                            0x10,               // Length
3128                            )
3129                        IO (Decode16,
3130                            0x04D0,             // Range Minimum
3131                            0x04D0,             // Range Maximum
3132                            0x01,               // Alignment
3133                            0x02,               // Length
3134                            )
3135                        IO (Decode16,
3136                            0x0800,             // Range Minimum
3137                            0x0800,             // Range Maximum
3138                            0x01,               // Alignment
3139                            0x80,               // Length
3140                            )
3141                    })
3142                }
3143
3144                Device (PIC)
3145                {
3146                    Name (_HID, EisaId ("PNP0000"))
3147                    Name (_CRS, ResourceTemplate ()
3148                    {
3149                        IO (Decode16,
3150                            0x0020,             // Range Minimum
3151                            0x0020,             // Range Maximum
3152                            0x01,               // Alignment
3153                            0x02,               // Length
3154                            )
3155                        IO (Decode16,
3156                            0x00A0,             // Range Minimum
3157                            0x00A0,             // Range Maximum
3158                            0x01,               // Alignment
3159                            0x02,               // Length
3160                            )
3161                        IRQNoFlags ()
3162                            {2}
3163                    })
3164                }
3165
3166                Device (DMA1)
3167                {
3168                    Name (_HID, EisaId ("PNP0200"))
3169                    Name (_CRS, ResourceTemplate ()
3170                    {
3171                        DMA (Compatibility, BusMaster, Transfer8, )
3172                            {4}
3173                        IO (Decode16,
3174                            0x0000,             // Range Minimum
3175                            0x0000,             // Range Maximum
3176                            0x01,               // Alignment
3177                            0x10,               // Length
3178                            )
3179                        IO (Decode16,
3180                            0x0080,             // Range Minimum
3181                            0x0080,             // Range Maximum
3182                            0x01,               // Alignment
3183                            0x11,               // Length
3184                            )
3185                        IO (Decode16,
3186                            0x0094,             // Range Minimum
3187                            0x0094,             // Range Maximum
3188                            0x01,               // Alignment
3189                            0x0C,               // Length
3190                            )
3191                        IO (Decode16,
3192                            0x00C0,             // Range Minimum
3193                            0x00C0,             // Range Maximum
3194                            0x01,               // Alignment
3195                            0x20,               // Length
3196                            )
3197                    })
3198                }
3199
3200                Device (TMR)
3201                {
3202                    Name (_HID, EisaId ("PNP0100"))
3203                    Name (ATT5, ResourceTemplate ()
3204                    {
3205                        IO (Decode16,
3206                            0x0040,             // Range Minimum
3207                            0x0040,             // Range Maximum
3208                            0x00,               // Alignment
3209                            0x04,               // Length
3210                            )
3211                        IRQNoFlags ()
3212                            {0}
3213                    })
3214                    Name (ATT6, ResourceTemplate ()
3215                    {
3216                        IO (Decode16,
3217                            0x0040,             // Range Minimum
3218                            0x0040,             // Range Maximum
3219                            0x00,               // Alignment
3220                            0x04,               // Length
3221                            )
3222                    })
3223                    Method (_CRS, 0, NotSerialized)
3224                    {
3225                        If (LEqual (OSFX, 0x03))
3226                        {
3227                            If (HPTF)
3228                            {
3229                                Return (ATT6)
3230                            }
3231                            Else
3232                            {
3233                                Return (ATT5)
3234                            }
3235                        }
3236                        Else
3237                        {
3238                            Return (ATT5)
3239                        }
3240                    }
3241                }
3242
3243                Device (HPET)
3244                {
3245                    Name (_HID, EisaId ("PNP0103"))
3246                    Name (ATT3, ResourceTemplate ()
3247                    {
3248                        IRQNoFlags ()
3249                            {0}
3250                        IRQNoFlags ()
3251                            {8}
3252                        Memory32Fixed (ReadWrite,
3253                            0xFEFFF000,         // Address Base
3254                            0x00000400,         // Address Length
3255                            )
3256                    })
3257                    Name (ATT4, ResourceTemplate ()
3258                    {
3259                    })
3260                    Method (_STA, 0, NotSerialized)
3261                    {
3262                        If (LEqual (OSFX, 0x03))
3263                        {
3264                            If (HPTF)
3265                            {
3266                                Return (0x0F)
3267                            }
3268                            Else
3269                            {
3270                                Return (0x00)
3271                            }
3272                        }
3273                        Else
3274                        {
3275                            Return (0x00)
3276                        }
3277                    }
3278
3279                    Method (_CRS, 0, NotSerialized)
3280                    {
3281                        If (LEqual (OSFX, 0x03))
3282                        {
3283                            If (HPTF)
3284                            {
3285                                Return (ATT3)
3286                            }
3287                            Else
3288                            {
3289                                Return (ATT4)
3290                            }
3291                        }
3292                        Else
3293                        {
3294                            Return (ATT4)
3295                        }
3296                    }
3297                }
3298
3299                Device (RTC)
3300                {
3301                    Name (_HID, EisaId ("PNP0B00"))
3302                    Name (ATT0, ResourceTemplate ()
3303                    {
3304                        IO (Decode16,
3305                            0x0070,             // Range Minimum
3306                            0x0070,             // Range Maximum
3307                            0x00,               // Alignment
3308                            0x04,               // Length
3309                            )
3310                        IRQNoFlags ()
3311                            {8}
3312                    })
3313                    Name (ATT1, ResourceTemplate ()
3314                    {
3315                        IO (Decode16,
3316                            0x0070,             // Range Minimum
3317                            0x0070,             // Range Maximum
3318                            0x00,               // Alignment
3319                            0x04,               // Length
3320                            )
3321                    })
3322                    Method (_CRS, 0, NotSerialized)
3323                    {
3324                        If (LEqual (OSFX, 0x03))
3325                        {
3326                            If (HPTF)
3327                            {
3328                                Return (ATT1)
3329                            }
3330                            Else
3331                            {
3332                                Return (ATT0)
3333                            }
3334                        }
3335                        Else
3336                        {
3337                            Return (ATT0)
3338                        }
3339                    }
3340                }
3341
3342                Device (SPKR)
3343                {
3344                    Name (_HID, EisaId ("PNP0800"))
3345                    Name (_CRS, ResourceTemplate ()
3346                    {
3347                        IO (Decode16,
3348                            0x0061,             // Range Minimum
3349                            0x0061,             // Range Maximum
3350                            0x01,               // Alignment
3351                            0x01,               // Length
3352                            )
3353                    })
3354                }
3355
3356                Device (COPR)
3357                {
3358                    Name (_HID, EisaId ("PNP0C04"))
3359                    Name (_CRS, ResourceTemplate ()
3360                    {
3361                        IO (Decode16,
3362                            0x00F0,             // Range Minimum
3363                            0x00F0,             // Range Maximum
3364                            0x01,               // Alignment
3365                            0x10,               // Length
3366                            )
3367                        IRQNoFlags ()
3368                            {13}
3369                    })
3370                }
3371
3372                Scope (\)
3373                {
3374                    OperationRegion (SMGP, SystemIO, 0x0800, 0x80)
3375                    Field (SMGP, ByteAcc, NoLock, Preserve)
3376                    {
3377                        P3SG,   8,
3378                        P5SG,   8,
3379                        PM3E,   8,
3380                        PM5E,   8,
3381                        P3S1,   8,
3382                        P3S3,   8,
3383                        P3S5,   8,
3384                        P3S6,   8,
3385                        P3E1,   8,
3386                        P3E3,   8,
3387                        P3E5,   8,
3388                        P3E6,   8,
3389                        P5S1,   8,
3390                        P5S3,   8,
3391                        P5S5,   8,
3392                        P5S6,   8,
3393                        P5E1,   8,
3394                        P5E3,   8,
3395                        P5E5,   8,
3396                        P5E6,   8,
3397                        SMS1,   8,
3398                        SMS2,   8,
3399                        SMS3,   8,
3400                        SMS4,   8,
3401                        SME1,   8,
3402                        SME2,   8,
3403                        SME3,   8,
3404                        SME4,   8,
3405                        MSST,   8,
3406                                Offset (0x1E),
3407                        FDC,    8,
3408                        FDRS,   8,
3409                        UAF1,   8,
3410                        UAF2,   8,
3411                        DDR,    8,
3412                        SG10,   8,
3413                        SG11,   8,
3414                        SG12,   8,
3415                        SG13,   8,
3416                        SG14,   8,
3417                                Offset (0x29),
3418                                Offset (0x2A),
3419                                Offset (0x2B),
3420                                Offset (0x2C),
3421                        SG21,   8,
3422                        SG22,   8,
3423                                Offset (0x2F),
3424                                Offset (0x30),
3425                                Offset (0x31),
3426                                Offset (0x32),
3427                        SG27,   8,
3428                                Offset (0x34),
3429                                Offset (0x35),
3430                        SG32,   8,
3431                        SG33,   8,
3432                                Offset (0x38),
3433                                Offset (0x39),
3434                        SG36,   8,
3435                        SG37,   8,
3436                        SG40,   8,
3437                                Offset (0x3D),
3438                        SG42,   8,
3439                        SG43,   8,
3440                        SG50,   8,
3441                        SG51,   8,
3442                        SG52,   8,
3443                        SG53,   8,
3444                        SG54,   8,
3445                        SG55,   8,
3446                        SG56,   8,
3447                        SG57,   8,
3448                        SG60,   8,
3449                        SG61,   8,
3450                        PWRC,   8,
3451                        SLP3,   8,
3452                        SG01,   8,
3453                        SG02,   8,
3454                        SG03,   8,
3455                        SG04,   8,
3456                        SG05,   8,
3457                        SG06,   8,
3458                                Offset (0x52),
3459                                Offset (0x53),
3460                        SLPP,   8,
3461                                Offset (0x55),
3462                                Offset (0x56),
3463                                Offset (0x57),
3464                                Offset (0x58),
3465                                Offset (0x59),
3466                                Offset (0x5A),
3467                                Offset (0x5B),
3468                        CBLC,   8,
3469                        MOSW,   8,
3470                        LED1,   8,
3471                        LED2,   8,
3472                        KBSC,   8,
3473                        HWRI,   8,
3474                        HWRD,   8,
3475                        KBB2,   8,
3476                        KBB3,   8,
3477                        PRBT,   8,
3478                        WDTO,   8,
3479                        WDVA,   8,
3480                        WDCF,   8,
3481                        WDCO,   8,
3482                        SPK1,   8,
3483                        SMIS,   8,
3484                                Offset (0x6C),
3485                                Offset (0x6D),
3486                                Offset (0x6E),
3487                                Offset (0x6F),
3488                                Offset (0x70),
3489                                Offset (0x71)
3490                    }
3491
3492                    Method (LEDX, 2, NotSerialized)
3493                    {
3494                        If (LEqual (Arg0, 0x01))
3495                        {
3496                            And (SG60, 0xF3, SG60)
3497                            Or (SG60, 0x04, SG60)
3498                            And (LED1, 0xFC, LED1)
3499                            Or (LED1, Arg1, LED1)
3500                        }
3501
3502                        If (LEqual (Arg0, 0x02))
3503                        {
3504                            And (SG61, 0xF3, SG61)
3505                            Or (SG61, 0x04, SG61)
3506                            And (LED2, 0xFC, LED2)
3507                            Or (LED2, Arg1, LED2)
3508                        }
3509                    }
3510                }
3511
3512                OperationRegion (WIN1, SystemIO, 0x2E, 0x02)
3513                Field (WIN1, ByteAcc, NoLock, Preserve)
3514                {
3515                    INDX,   8,
3516                    DATA,   8
3517                }
3518
3519                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
3520                {
3521                            Offset (0x02),
3522                    CFG,    8,
3523                            Offset (0x07),
3524                    LDN,    8,
3525                            Offset (0x20),
3526                    IDHI,   8,
3527                    IDLO,   8,
3528                    POWC,   8,
3529                            Offset (0x30),
3530                    ACTR,   8,
3531                            Offset (0x60),
3532                    IOAH,   8,
3533                    IOAL,   8,
3534                            Offset (0x70),
3535                    INTR,   8,
3536                            Offset (0x72),
3537                    INT1,   8,
3538                            Offset (0x74),
3539                    DMCH,   8,
3540                            Offset (0xC0),
3541                    GP40,   8,
3542                            Offset (0xF0),
3543                    OPT1,   8,
3544                    OPT2,   8,
3545                    OPT3,   8
3546                }
3547
3548                Method (ENFG, 0, NotSerialized)
3549                {
3550                    Store (0x55, INDX)
3551                }
3552
3553                Method (EXFG, 0, NotSerialized)
3554                {
3555                    Store (0xAA, INDX)
3556                }
3557
3558                Device (FDC0)
3559                {
3560                    Name (_HID, EisaId ("PNP0700"))
3561                    Method (_STA, 0, NotSerialized)
3562                    {
3563                        ENFG ()
3564                        Store (Zero, LDN)
3565                        If (ACTR)
3566                        {
3567                            EXFG ()
3568                            Return (0x0F)
3569                        }
3570                        Else
3571                        {
3572                            If (LOr (IOAH, IOAL))
3573                            {
3574                                EXFG ()
3575                                Return (0x0D)
3576                            }
3577                            Else
3578                            {
3579                                EXFG ()
3580                                Return (0x00)
3581                            }
3582                        }
3583                    }
3584
3585                    Method (_DIS, 0, NotSerialized)
3586                    {
3587                        ENFG ()
3588                        Store (Zero, LDN)
3589                        Store (Zero, ACTR)
3590                        SLDM (DMCH, 0x04)
3591                        EXFG ()
3592                        DISD (0x03)
3593                    }
3594
3595                    Method (_CRS, 0, NotSerialized)
3596                    {
3597                        Name (BUF0, ResourceTemplate ()
3598                        {
3599                            IO (Decode16,
3600                                0x03F0,             // Range Minimum
3601                                0x03F0,             // Range Maximum
3602                                0x01,               // Alignment
3603                                0x06,               // Length
3604                                _Y07)
3605                            IO (Decode16,
3606                                0x03F7,             // Range Minimum
3607                                0x03F7,             // Range Maximum
3608                                0x01,               // Alignment
3609                                0x01,               // Length
3610                                )
3611                            IRQNoFlags ()
3612                                {6}
3613                            DMA (Compatibility, NotBusMaster, Transfer8, )
3614                                {2}
3615                        })
3616                        CreateByteField (BUF0, \_SB.PCI0.VT86.FDC0._CRS._Y07._MIN, IOLO)
3617                        CreateByteField (BUF0, 0x03, IOHI)
3618                        CreateByteField (BUF0, \_SB.PCI0.VT86.FDC0._CRS._Y07._MAX, IORL)
3619                        CreateByteField (BUF0, 0x05, IORH)
3620                        Return (BUF0)
3621                    }
3622
3623                    Name (_PRS, ResourceTemplate ()
3624                    {
3625                        StartDependentFnNoPri ()
3626                        {
3627                            IO (Decode16,
3628                                0x03F0,             // Range Minimum
3629                                0x03F0,             // Range Maximum
3630                                0x00,               // Alignment
3631                                0x06,               // Length
3632                                )
3633                            IO (Decode16,
3634                                0x03F7,             // Range Minimum
3635                                0x03F7,             // Range Maximum
3636                                0x00,               // Alignment
3637                                0x01,               // Length
3638                                )
3639                            IRQNoFlags ()
3640                                {6}
3641                            DMA (Compatibility, NotBusMaster, Transfer8, )
3642                                {2}
3643                        }
3644                        EndDependentFn ()
3645                    })
3646                    Method (_SRS, 1, NotSerialized)
3647                    {
3648                        CreateByteField (Arg0, 0x02, IOLO)
3649                        CreateByteField (Arg0, 0x03, IOHI)
3650                        CreateWordField (Arg0, 0x02, IOAD)
3651                        CreateWordField (Arg0, 0x19, IRQW)
3652                        CreateByteField (Arg0, 0x1C, DMAV)
3653                        ENFG ()
3654                        Store (Zero, LDN)
3655                        Store (One, ACTR)
3656                        SLDM (DMCH, DMCH)
3657                        EXFG ()
3658                        CKIO (IOAD, 0x03)
3659                    }
3660                }
3661
3662                Device (UAR1)
3663                {
3664                    Name (_HID, EisaId ("PNP0501"))
3665                    Name (_UID, 0x01)
3666                    Method (_STA, 0, NotSerialized)
3667                    {
3668                        ENFG ()
3669                        Store (0x04, LDN)
3670                        If (ACTR)
3671                        {
3672                            EXFG ()
3673                            Return (0x0F)
3674                        }
3675                        Else
3676                        {
3677                            If (LOr (IOAH, IOAL))
3678                            {
3679                                EXFG ()
3680                                Return (0x0D)
3681                            }
3682                            Else
3683                            {
3684                                EXFG ()
3685                                Return (0x00)
3686                            }
3687                        }
3688
3689                        EXFG ()
3690                    }
3691
3692                    Method (_DIS, 0, NotSerialized)
3693                    {
3694                        ENFG ()
3695                        Store (0x04, LDN)
3696                        Store (Zero, ACTR)
3697                        EXFG ()
3698                        DISD (0x00)
3699                    }
3700
3701                    Method (_CRS, 0, NotSerialized)
3702                    {
3703                        Name (BUF1, ResourceTemplate ()
3704                        {
3705                            IO (Decode16,
3706                                0x0000,             // Range Minimum
3707                                0x0000,             // Range Maximum
3708                                0x01,               // Alignment
3709                                0x08,               // Length
3710                                _Y08)
3711                            IRQNoFlags (_Y09)
3712                                {}
3713                        })
3714                        CreateByteField (BUF1, \_SB.PCI0.VT86.UAR1._CRS._Y08._MIN, IOLO)
3715                        CreateByteField (BUF1, 0x03, IOHI)
3716                        CreateByteField (BUF1, \_SB.PCI0.VT86.UAR1._CRS._Y08._MAX, IORL)
3717                        CreateByteField (BUF1, 0x05, IORH)
3718                        CreateWordField (BUF1, \_SB.PCI0.VT86.UAR1._CRS._Y09._INT, IRQW)
3719                        ENFG ()
3720                        Store (0x04, LDN)
3721                        Store (IOAL, IOLO)
3722                        Store (IOAL, IORL)
3723                        Store (IOAH, IOHI)
3724                        Store (IOAH, IORH)
3725                        Store (Zero, IRQW)
3726                        If (LNotEqual (INTR, Zero))
3727                        {
3728                            ShiftLeft (One, INTR, IRQW)
3729                        }
3730
3731                        EXFG ()
3732                        Return (BUF1)
3733                    }
3734
3735                    Name (_PRS, ResourceTemplate ()
3736                    {
3737                        StartDependentFnNoPri ()
3738                        {
3739                            IO (Decode16,
3740                                0x03F8,             // Range Minimum
3741                                0x03F8,             // Range Maximum
3742                                0x01,               // Alignment
3743                                0x08,               // Length
3744                                )
3745                        }
3746                        StartDependentFnNoPri ()
3747                        {
3748                            IO (Decode16,
3749                                0x02F8,             // Range Minimum
3750                                0x02F8,             // Range Maximum
3751                                0x01,               // Alignment
3752                                0x08,               // Length
3753                                )
3754                        }
3755                        StartDependentFnNoPri ()
3756                        {
3757                            IO (Decode16,
3758                                0x03E8,             // Range Minimum
3759                                0x03E8,             // Range Maximum
3760                                0x01,               // Alignment
3761                                0x08,               // Length
3762                                )
3763                        }
3764                        StartDependentFnNoPri ()
3765                        {
3766                            IO (Decode16,
3767                                0x02E8,             // Range Minimum
3768                                0x02E8,             // Range Maximum
3769                                0x01,               // Alignment
3770                                0x08,               // Length
3771                                )
3772                        }
3773                        EndDependentFn ()
3774                        IRQNoFlags ()
3775                            {3,4,5,7,9,10,11,12}
3776                    })
3777                    Method (_SRS, 1, NotSerialized)
3778                    {
3779                        CreateByteField (Arg0, 0x02, IOLO)
3780                        CreateByteField (Arg0, 0x03, IOHI)
3781                        CreateWordField (Arg0, 0x02, IOAD)
3782                        CreateWordField (Arg0, 0x09, IRQW)
3783                        ENFG ()
3784                        Store (0x04, LDN)
3785                        Store (One, ACTR)
3786                        Store (IOLO, IOAL)
3787                        Store (IOHI, IOAH)
3788                        FindSetLeftBit (IRQW, Local0)
3789                        If (LNotEqual (Local0, Zero))
3790                        {
3791                            Subtract (Local0, 0x01, Local0)
3792                        }
3793
3794                        EXFG ()
3795                        CKIO (IOAD, 0x00)
3796                    }
3797                }
3798
3799                Device (LPT1)
3800                {
3801                    Name (_HID, EisaId ("PNP0400"))
3802                    Method (_STA, 0, NotSerialized)
3803                    {
3804                        ENFG ()
3805                        Store (0x03, LDN)
3806                        And (OPT1, 0x02, Local0)
3807                        If (LNotEqual (Local0, 0x02))
3808                        {
3809                            If (ACTR)
3810                            {
3811                                EXFG ()
3812                                Return (0x0F)
3813                            }
3814                            Else
3815                            {
3816                                If (LOr (IOAH, IOAL))
3817                                {
3818                                    EXFG ()
3819                                    Return (0x0D)
3820                                }
3821                                Else
3822                                {
3823                                    EXFG ()
3824                                    Return (0x00)
3825                                }
3826                            }
3827                        }
3828                        Else
3829                        {
3830                            EXFG ()
3831                            Return (0x00)
3832                        }
3833                    }
3834
3835                    Method (_DIS, 0, NotSerialized)
3836                    {
3837                        ENFG ()
3838                        Store (0x03, LDN)
3839                        Store (Zero, ACTR)
3840                        EXFG ()
3841                        DISD (0x02)
3842                    }
3843
3844                    Method (_CRS, 0, NotSerialized)
3845                    {
3846                        Name (BUF5, ResourceTemplate ()
3847                        {
3848                            IO (Decode16,
3849                                0x0000,             // Range Minimum
3850                                0x0000,             // Range Maximum
3851                                0x01,               // Alignment
3852                                0x08,               // Length
3853                                _Y0A)
3854                            IRQNoFlags (_Y0B)
3855                                {}
3856                        })
3857                        CreateByteField (BUF5, \_SB.PCI0.VT86.LPT1._CRS._Y0A._MIN, IOLO)
3858                        CreateByteField (BUF5, 0x03, IOHI)
3859                        CreateByteField (BUF5, \_SB.PCI0.VT86.LPT1._CRS._Y0A._MAX, IORL)
3860                        CreateByteField (BUF5, 0x05, IORH)
3861                        CreateByteField (BUF5, \_SB.PCI0.VT86.LPT1._CRS._Y0A._LEN, IOLE)
3862                        CreateWordField (BUF5, \_SB.PCI0.VT86.LPT1._CRS._Y0B._INT, IRQW)
3863                        ENFG ()
3864                        Store (0x03, LDN)
3865                        Store (IOAL, IOLO)
3866                        Store (IOLO, IORL)
3867                        Store (IOAH, IOHI)
3868                        Store (IOHI, IORH)
3869                        If (LEqual (IOLO, 0xBC))
3870                        {
3871                            Store (0x04, IOLE)
3872                        }
3873                        Else
3874                        {
3875                            Store (0x08, IOLE)
3876                        }
3877
3878                        Store (Zero, IRQW)
3879                        If (LNotEqual (INTR, Zero))
3880                        {
3881                            ShiftLeft (One, INTR, IRQW)
3882                        }
3883
3884                        EXFG ()
3885                        Return (BUF5)
3886                    }
3887
3888                    Name (_PRS, ResourceTemplate ()
3889                    {
3890                        StartDependentFnNoPri ()
3891                        {
3892                            IO (Decode16,
3893                                0x0378,             // Range Minimum
3894                                0x0378,             // Range Maximum
3895                                0x01,               // Alignment
3896                                0x08,               // Length
3897                                )
3898                        }
3899                        StartDependentFnNoPri ()
3900                        {
3901                            IO (Decode16,
3902                                0x0278,             // Range Minimum
3903                                0x0278,             // Range Maximum
3904                                0x01,               // Alignment
3905                                0x08,               // Length
3906                                )
3907                        }
3908                        StartDependentFnNoPri ()
3909                        {
3910                            IO (Decode16,
3911                                0x03BC,             // Range Minimum
3912                                0x03BC,             // Range Maximum
3913                                0x01,               // Alignment
3914                                0x04,               // Length
3915                                )
3916                        }
3917                        EndDependentFn ()
3918                        IRQNoFlags ()
3919                            {3,4,5,7,9,10,11,12}
3920                    })
3921                    Method (_SRS, 1, NotSerialized)
3922                    {
3923                        CreateByteField (Arg0, 0x02, IOLO)
3924                        CreateByteField (Arg0, 0x03, IOHI)
3925                        CreateByteField (Arg0, 0x04, IORL)
3926                        CreateWordField (Arg0, 0x02, IOAD)
3927                        CreateByteField (Arg0, 0x05, IORH)
3928                        CreateWordField (Arg0, 0x09, IRQW)
3929                        ENFG ()
3930                        Store (0x03, LDN)
3931                        Store (One, ACTR)
3932                        Store (IOLO, IOAL)
3933                        Store (IOHI, IOAH)
3934                        FindSetLeftBit (IRQW, Local0)
3935                        If (LNotEqual (Local0, Zero))
3936                        {
3937                            Subtract (Local0, 0x01, Local0)
3938                        }
3939
3940                        Store (Local0, INTR)
3941                        EXFG ()
3942                        CKIO (IOAD, 0x02)
3943                    }
3944                }
3945
3946                Device (ECP1)
3947                {
3948                    Name (_HID, EisaId ("PNP0401"))
3949                    Method (_STA, 0, NotSerialized)
3950                    {
3951                        ENFG ()
3952                        Store (0x03, LDN)
3953                        And (OPT1, 0x02, Local0)
3954                        If (LEqual (Local0, 0x02))
3955                        {
3956                            If (ACTR)
3957                            {
3958                                EXFG ()
3959                                Return (0x0F)
3960                            }
3961                            Else
3962                            {
3963                                If (LOr (IOAH, IOAL))
3964                                {
3965                                    EXFG ()
3966                                    Return (0x0D)
3967                                }
3968                                Else
3969                                {
3970                                    EXFG ()
3971                                    Return (0x00)
3972                                }
3973                            }
3974                        }
3975                        Else
3976                        {
3977                            EXFG ()
3978                            Return (0x00)
3979                        }
3980                    }
3981
3982                    Method (_DIS, 0, NotSerialized)
3983                    {
3984                        ENFG ()
3985                        Store (0x03, LDN)
3986                        Store (Zero, ACTR)
3987                        SLDM (DMCH, 0x04)
3988                        EXFG ()
3989                        DISD (0x02)
3990                    }
3991
3992                    Method (_CRS, 0, NotSerialized)
3993                    {
3994                        Name (BUF6, ResourceTemplate ()
3995                        {
3996                            IO (Decode16,
3997                                0x0000,             // Range Minimum
3998                                0x0000,             // Range Maximum
3999                                0x01,               // Alignment
4000                                0x08,               // Length
4001                                _Y0C)
4002                            IO (Decode16,
4003                                0x0000,             // Range Minimum
4004                                0x0000,             // Range Maximum
4005                                0x01,               // Alignment
4006                                0x04,               // Length
4007                                _Y0D)
4008                            IRQNoFlags (_Y0E)
4009                                {}
4010                            DMA (Compatibility, NotBusMaster, Transfer8, _Y0F)
4011                                {}
4012                        })
4013                        CreateByteField (BUF6, \_SB.PCI0.VT86.ECP1._CRS._Y0C._MIN, IOLO)
4014                        CreateByteField (BUF6, 0x03, IOHI)
4015                        CreateByteField (BUF6, \_SB.PCI0.VT86.ECP1._CRS._Y0C._MAX, IORL)
4016                        CreateByteField (BUF6, 0x05, IORH)
4017                        CreateByteField (BUF6, \_SB.PCI0.VT86.ECP1._CRS._Y0C._LEN, IOLE)
4018                        CreateByteField (BUF6, \_SB.PCI0.VT86.ECP1._CRS._Y0D._MIN, IOEL)
4019                        CreateByteField (BUF6, 0x0B, IOEH)
4020                        CreateByteField (BUF6, \_SB.PCI0.VT86.ECP1._CRS._Y0D._MAX, IOML)
4021                        CreateByteField (BUF6, 0x0D, IOMH)
4022                        CreateWordField (BUF6, \_SB.PCI0.VT86.ECP1._CRS._Y0E._INT, IRQW)
4023                        CreateByteField (BUF6, \_SB.PCI0.VT86.ECP1._CRS._Y0F._DMA, DMAC)
4024                        ENFG ()
4025                        Store (0x03, LDN)
4026                        Store (One, ACTR)
4027                        Store (IOAL, Local2)
4028                        Store (Local2, IOLO)
4029                        Store (IOAH, Local3)
4030                        Store (Local3, IOHI)
4031                        Or (Local3, 0x04, Local3)
4032                        Store (Local3, IOEH)
4033                        Store (Local3, IOMH)
4034                        Store (IOLO, IORL)
4035                        Store (IOLO, IOEL)
4036                        Store (IOLO, IOML)
4037                        Store (IOHI, IORH)
4038                        If (LEqual (IOLO, 0xBC))
4039                        {
4040                            Store (0x04, IOLE)
4041                        }
4042                        Else
4043                        {
4044                            Store (0x08, IOLE)
4045                        }
4046
4047                        Store (Zero, IRQW)
4048                        If (LNotEqual (INTR, Zero))
4049                        {
4050                            ShiftLeft (One, INTR, IRQW)
4051                        }
4052
4053                        Store (One, Local0)
4054                        Store (DMCH, Local5)
4055                        ShiftLeft (Local0, Local5, DMAC)
4056                        EXFG ()
4057                        Return (BUF6)
4058                    }
4059
4060                    Name (_PRS, ResourceTemplate ()
4061                    {
4062                        StartDependentFnNoPri ()
4063                        {
4064                            IO (Decode16,
4065                                0x0378,             // Range Minimum
4066                                0x0378,             // Range Maximum
4067                                0x00,               // Alignment
4068                                0x08,               // Length
4069                                )
4070                            IO (Decode16,
4071                                0x0778,             // Range Minimum
4072                                0x0778,             // Range Maximum
4073                                0x00,               // Alignment
4074                                0x04,               // Length
4075                                )
4076                        }
4077                        StartDependentFnNoPri ()
4078                        {
4079                            IO (Decode16,
4080                                0x0278,             // Range Minimum
4081                                0x0278,             // Range Maximum
4082                                0x00,               // Alignment
4083                                0x08,               // Length
4084                                )
4085                            IO (Decode16,
4086                                0x0678,             // Range Minimum
4087                                0x0678,             // Range Maximum
4088                                0x00,               // Alignment
4089                                0x04,               // Length
4090                                )
4091                        }
4092                        StartDependentFnNoPri ()
4093                        {
4094                            IO (Decode16,
4095                                0x03BC,             // Range Minimum
4096                                0x03BC,             // Range Maximum
4097                                0x00,               // Alignment
4098                                0x04,               // Length
4099                                )
4100                            IO (Decode16,
4101                                0x07BC,             // Range Minimum
4102                                0x07BC,             // Range Maximum
4103                                0x00,               // Alignment
4104                                0x04,               // Length
4105                                )
4106                        }
4107                        EndDependentFn ()
4108                        IRQNoFlags ()
4109                            {3,4,5,7,9,10,11,12}
4110                        DMA (Compatibility, NotBusMaster, Transfer8, )
4111                            {0,1,3}
4112                    })
4113                    Method (_SRS, 1, NotSerialized)
4114                    {
4115                        CreateByteField (Arg0, 0x02, IOLO)
4116                        CreateByteField (Arg0, 0x03, IOHI)
4117                        CreateWordField (Arg0, 0x02, IOAD)
4118                        CreateWordField (Arg0, 0x11, IRQW)
4119                        CreateByteField (Arg0, 0x14, DMAC)
4120                        ENFG ()
4121                        Store (0x03, LDN)
4122                        Store (One, ACTR)
4123                        Store (IOLO, IOAL)
4124                        Store (IOHI, IOAH)
4125                        FindSetLeftBit (IRQW, Local0)
4126                        If (LNotEqual (Local0, Zero))
4127                        {
4128                            Subtract (Local0, 0x01, Local0)
4129                        }
4130
4131                        Store (Local0, INTR)
4132                        FindSetLeftBit (DMAC, Local1)
4133                        Store (DMCH, Local0)
4134                        Subtract (Local1, 0x01, DMCH)
4135                        SLDM (Local0, DMCH)
4136                        EXFG ()
4137                        CKIO (IOAD, 0x02)
4138                    }
4139                }
4140
4141                OperationRegion (KBCT, SystemIO, 0x60, 0x05)
4142                Field (KBCT, ByteAcc, NoLock, Preserve)
4143                {
4144                    P060,   8,
4145                            Offset (0x04),
4146                    P064,   8
4147                }
4148
4149                Device (PS2M)
4150                {
4151                    Name (_HID, EisaId ("PNP0F13"))
4152                    Method (_STA, 0, NotSerialized)
4153                    {
4154                        If (LEqual (PS2F, 0x00))
4155                        {
4156                            Return (0x0F)
4157                        }
4158                        Else
4159                        {
4160                            Return (0x00)
4161                        }
4162                    }
4163
4164                    Method (_CRS, 0, NotSerialized)
4165                    {
4166                        Name (BUF1, ResourceTemplate ()
4167                        {
4168                            IRQNoFlags ()
4169                                {12}
4170                        })
4171                        Name (BUF2, ResourceTemplate ()
4172                        {
4173                            IO (Decode16,
4174                                0x0060,             // Range Minimum
4175                                0x0060,             // Range Maximum
4176                                0x01,               // Alignment
4177                                0x01,               // Length
4178                                )
4179                            IO (Decode16,
4180                                0x0064,             // Range Minimum
4181                                0x0064,             // Range Maximum
4182                                0x01,               // Alignment
4183                                0x01,               // Length
4184                                )
4185                            IRQNoFlags ()
4186                                {12}
4187                        })
4188                        If (LEqual (KBDI, 0x01))
4189                        {
4190                            If (LEqual (OSFL, 0x02))
4191                            {
4192                                Return (BUF1)
4193                            }
4194
4195                            If (LEqual (OSFL, 0x01))
4196                            {
4197                                Return (BUF1)
4198                            }
4199                            Else
4200                            {
4201                                Return (BUF2)
4202                            }
4203                        }
4204                        Else
4205                        {
4206                            Return (BUF1)
4207                        }
4208                    }
4209                }
4210
4211                Device (PS2K)
4212                {
4213                    Name (_HID, EisaId ("PNP0303"))
4214                    Name (_CID, 0x0B03D041)
4215                    Method (_STA, 0, NotSerialized)
4216                    {
4217                        If (LEqual (KBDI, 0x01))
4218                        {
4219                            Return (0x00)
4220                        }
4221                        Else
4222                        {
4223                            Return (0x0F)
4224                        }
4225                    }
4226
4227                    Name (_CRS, ResourceTemplate ()
4228                    {
4229                        IO (Decode16,
4230                            0x0060,             // Range Minimum
4231                            0x0060,             // Range Maximum
4232                            0x01,               // Alignment
4233                            0x01,               // Length
4234                            )
4235                        IO (Decode16,
4236                            0x0064,             // Range Minimum
4237                            0x0064,             // Range Maximum
4238                            0x01,               // Alignment
4239                            0x01,               // Length
4240                            )
4241                        IRQNoFlags ()
4242                            {1}
4243                    })
4244                }
4245
4246                Device (PSMR)
4247                {
4248                    Name (_HID, EisaId ("PNP0C02"))
4249                    Name (_UID, 0x03)
4250                    Method (_STA, 0, NotSerialized)
4251                    {
4252                        If (LEqual (KBDI, 0x00))
4253                        {
4254                            Return (0x00)
4255                        }
4256
4257                        If (LEqual (PS2F, 0x00))
4258                        {
4259                            If (LEqual (OSFL, 0x02))
4260                            {
4261                                Return (0x0F)
4262                            }
4263
4264                            If (LEqual (OSFL, 0x01))
4265                            {
4266                                Return (0x0F)
4267                            }
4268
4269                            Return (0x00)
4270                        }
4271
4272                        Return (0x00)
4273                    }
4274
4275                    Name (_CRS, ResourceTemplate ()
4276                    {
4277                        IO (Decode16,
4278                            0x0060,             // Range Minimum
4279                            0x0060,             // Range Maximum
4280                            0x01,               // Alignment
4281                            0x01,               // Length
4282                            )
4283                        IO (Decode16,
4284                            0x0064,             // Range Minimum
4285                            0x0064,             // Range Maximum
4286                            0x01,               // Alignment
4287                            0x01,               // Length
4288                            )
4289                    })
4290                }
4291
4292                Method (\_SB.PCI0.VT86.PS2M._PSW, 1, NotSerialized)
4293                {
4294                    And (PM3E, 0xFE, PM3E)
4295                    If (Arg0)
4296                    {
4297                        Or (P3E1, 0x10, P3E1)
4298                    }
4299                    Else
4300                    {
4301                        And (P3E1, 0xEF, P3E1)
4302                    }
4303
4304                    Notify (\_SB.PCI0.VT86.PS2M, 0x02)
4305                }
4306
4307                Method (\_SB.PCI0.VT86.PS2K._PSW, 1, NotSerialized)
4308                {
4309                    And (PM3E, 0xFE, PM3E)
4310                    If (Arg0)
4311                    {
4312                        Or (P3E1, 0x08, P3E1)
4313                    }
4314                    Else
4315                    {
4316                        And (P3E1, 0xF7, P3E1)
4317                    }
4318
4319                    Notify (\_SB.PCI0.VT86.PS2K, 0x02)
4320                }
4321
4322                Scope (\)
4323                {
4324                    Method (SALD, 1, NotSerialized)
4325                    {
4326                        If (LEqual (Arg0, 0x00))
4327                        {
4328                            Store (0x00, LED2)
4329                        }
4330
4331                        If (LEqual (Arg0, 0x01))
4332                        {
4333                            Store (0x01, LED2)
4334                        }
4335
4336                        If (LEqual (Arg0, 0x03))
4337                        {
4338                            Store (0x02, LED2)
4339                        }
4340
4341                        If (LEqual (Arg0, 0x04))
4342                        {
4343                            Store (0x03, LED2)
4344                        }
4345
4346                        If (LEqual (Arg0, 0x05))
4347                        {
4348                            Store (0x03, LED2)
4349                        }
4350                    }
4351                }
4352
4353                Method (\_SB.PCI0.VT86.UAR1._PRW, 0, NotSerialized)
4354                {
4355                    Return (Package (0x02)
4356                    {
4357                        0x03,
4358                        0x05
4359                    })
4360                }
4361
4362                Method (\_SB.PCI0.VT86.PS2K._PRW, 0, NotSerialized)
4363                {
4364                    Return (Package (0x02)
4365                    {
4366                        0x10,
4367                        0x04
4368                    })
4369                }
4370
4371                Method (\_SB.PCI0.VT86.PS2M._PRW, 0, NotSerialized)
4372                {
4373                    Return (Package (0x02)
4374                    {
4375                        0x10,
4376                        0x04
4377                    })
4378                }
4379
4380                Method (PS2W, 0, NotSerialized)
4381                {
4382                    Store (P3S3, P3S3)
4383                    Store (P3S5, P3S5)
4384                    Store (P3S6, P3S6)
4385                    Store (P3S1, Local0)
4386                    Store (Local0, P3S1)
4387                    If (And (Local0, 0x10))
4388                    {
4389                        Notify (\_SB.PCI0.VT86.PS2M, 0x02)
4390                    }
4391
4392                    If (And (Local0, 0x08))
4393                    {
4394                        Notify (\_SB.PCI0.VT86.PS2K, 0x02)
4395                    }
4396                }
4397
4398                OperationRegion (PIO1, PCI_Config, 0x74, 0x01)
4399                Scope (\)
4400                {
4401                    Field (\_SB.PCI0.VT86.PIO1, ByteAcc, NoLock, Preserve)
4402                    {
4403                            ,   2,
4404                        HPTF,   1,
4405                                Offset (0x01)
4406                    }
4407                }
4408
4409                OperationRegion (PIRQ, PCI_Config, 0x7C, 0x0C)
4410                Scope (\)
4411                {
4412                    Field (\_SB.PCI0.VT86.PIRQ, AnyAcc, NoLock, Preserve)
4413                    {
4414                        INTA,   4,
4415                        INTB,   4,
4416                        INTC,   4,
4417                        INTD,   4,
4418                        PCEA,   4,
4419                        PCEB,   4,
4420                        PCEC,   4,
4421                        PCED,   4,
4422                        SCII,   4,
4423                        TCOI,   4,
4424                        INTF,   4,
4425                        INTQ,   4,
4426                        INTU,   4,
4427                        INTS,   4,
4428                        IS0P,   4,
4429                        ITID,   4,
4430                        INTG,   4,
4431                        INTH,   4,
4432                        INTJ,   4,
4433                        INTK,   4,
4434                        INTL,   4,
4435                        INTM,   4,
4436                        INTN,   4
4437                    }
4438                }
4439
4440                OperationRegion (LPIO, PCI_Config, 0xA0, 0x18)
4441                Scope (\)
4442                {
4443                    Field (\_SB.PCI0.VT86.LPIO, ByteAcc, NoLock, Preserve)
4444                    {
4445                        UAIO,   8,
4446                        SNDD,   4,
4447                        MIDD,   4,
4448                        MSSD,   4,
4449                        FDCD,   2,
4450                                Offset (0x03),
4451                        PRIO,   3,
4452                            ,   1,
4453                        GEN1,   1,
4454                        GEN2,   1,
4455                        GEN3,   1,
4456                        GEN4,   1,
4457                        GAM1,   8,
4458                        GAM2,   8
4459                    }
4460
4461                    OperationRegion (RTC2, SystemIO, 0x72, 0x02)
4462                    Field (RTC2, ByteAcc, NoLock, Preserve)
4463                    {
4464                        CM2I,   8,
4465                        CM2D,   8
4466                    }
4467
4468                    IndexField (CM2I, CM2D, ByteAcc, NoLock, Preserve)
4469                    {
4470                                Offset (0xCC),
4471                        UA1D,   8
4472                    }
4473
4474                    Name (UARA, 0x00)
4475                    Name (UARB, 0x00)
4476                    Method (DISD, 1, NotSerialized)
4477                    {
4478                        If (LEqual (Arg0, 0x00))
4479                        {
4480                            Store (UARA, Local0)
4481                            XOr (Local0, 0xFF, Local0)
4482                            And (UAIO, Local0, UAIO)
4483                        }
4484
4485                        If (LEqual (Arg0, 0x01)) {}
4486                        If (LEqual (Arg0, 0x02))
4487                        {
4488                            Store (0x00, PRIO)
4489                        }
4490
4491                        If (LEqual (Arg0, 0x03))
4492                        {
4493                            Store (0x00, FDCD)
4494                        }
4495
4496                        If (LEqual (Arg0, 0x04))
4497                        {
4498                            Store (0x00, GAM1)
4499                            Store (0x00, GAM2)
4500                        }
4501
4502                        If (LEqual (Arg0, 0x05))
4503                        {
4504                            Store (0x00, MIDD)
4505                        }
4506                    }
4507
4508                    Method (CKIO, 2, NotSerialized)
4509                    {
4510                        If (LEqual (Arg1, 0x00))
4511                        {
4512                            Or (UARA, UARB, Local0)
4513                            And (UAIO, Local0, UAIO)
4514                            Store (UARA, Local0)
4515                            XOr (Local0, 0xFF, Local0)
4516                            And (UAIO, Local0, UAIO)
4517                            If (LEqual (Arg0, 0x03F8))
4518                            {
4519                                Store (0x01, Local0)
4520                            }
4521
4522                            If (LEqual (Arg0, 0x02F8))
4523                            {
4524                                Store (0x02, Local0)
4525                            }
4526
4527                            If (LEqual (Arg0, 0x02E8))
4528                            {
4529                                Store (0x20, Local0)
4530                            }
4531
4532                            If (LEqual (Arg0, 0x03E8))
4533                            {
4534                                Store (0x80, Local0)
4535                            }
4536
4537                            Or (UAIO, Local0, UAIO)
4538                            Store (Local0, UARA)
4539                        }
4540
4541                        If (LEqual (Arg1, 0x01)) {}
4542                        If (LEqual (Arg1, 0x02))
4543                        {
4544                            If (LEqual (Arg0, 0x0378))
4545                            {
4546                                Store (0x00, PRIO)
4547                                Or (PRIO, 0x01, PRIO)
4548                            }
4549
4550                            If (LEqual (Arg0, 0x0278))
4551                            {
4552                                Store (0x00, PRIO)
4553                                Or (PRIO, 0x02, PRIO)
4554                            }
4555
4556                            If (LEqual (Arg0, 0x03BC))
4557                            {
4558                                Store (0x00, PRIO)
4559                                Or (PRIO, 0x04, PRIO)
4560                            }
4561                        }
4562
4563                        If (LEqual (Arg1, 0x03))
4564                        {
4565                            Or (FDCD, 0x01, FDCD)
4566                        }
4567
4568                        If (LEqual (Arg1, 0x04))
4569                        {
4570                            Store (0x00, GAM1)
4571                            Store (0x00, GAM2)
4572                            If (LEqual (Arg0, 0x0201))
4573                            {
4574                                Or (GAM1, 0x02, GAM1)
4575                            }
4576
4577                            If (LEqual (Arg0, 0x0209))
4578                            {
4579                                Or (GAM2, 0x02, GAM2)
4580                            }
4581                        }
4582
4583                        If (LEqual (Arg1, 0x05))
4584                        {
4585                            Store (0x00, MIDD)
4586                            If (LEqual (Arg0, 0x0300))
4587                            {
4588                                Or (MIDD, 0x01, MIDD)
4589                            }
4590
4591                            If (LEqual (Arg0, 0x0330))
4592                            {
4593                                Or (MIDD, 0x08, MIDD)
4594                            }
4595                        }
4596                    }
4597
4598                    Method (SLDM, 2, NotSerialized)
4599                    {
4600                    }
4601
4602                    Method (CLSU, 1, NotSerialized)
4603                    {
4604                        CreateWordField (Arg0, 0x02, UARO)
4605                        If (LEqual (UARO, 0x03F8))
4606                        {
4607                            And (UAIO, 0xFE, UAIO)
4608                        }
4609
4610                        If (LEqual (UARO, 0x02F8))
4611                        {
4612                            And (UAIO, 0xFD, UAIO)
4613                        }
4614
4615                        If (LEqual (UARO, 0x02E8))
4616                        {
4617                            And (UAIO, 0xBF, UAIO)
4618                        }
4619
4620                        If (LEqual (UARO, 0x03E8))
4621                        {
4622                            And (UAIO, 0x7F, UAIO)
4623                        }
4624                    }
4625                }
4626            }
4627
4628            Device (USB0)
4629            {
4630                Name (_ADR, 0x000B0000)
4631                Method (_S1D, 0, NotSerialized)
4632                {
4633                    Return (0x01)
4634                }
4635
4636                Method (_S3D, 0, NotSerialized)
4637                {
4638                    If (LEqual (OSFL, 0x02))
4639                    {
4640                        Return (0x02)
4641                    }
4642                    Else
4643                    {
4644                        Return (0x03)
4645                    }
4646                }
4647
4648                Name (_PRW, Package (0x02)
4649                {
4650                    0x0D,
4651                    0x04
4652                })
4653            }
4654
4655            Device (USB2)
4656            {
4657                Name (_ADR, 0x000B0001)
4658                OperationRegion (P020, PCI_Config, 0x49, 0x01)
4659                Field (P020, AnyAcc, NoLock, Preserve)
4660                {
4661                    U0WK,   1
4662                }
4663
4664                Method (_PSW, 1, NotSerialized)
4665                {
4666                    If (Arg0)
4667                    {
4668                        Store (0x01, U0WK)
4669                    }
4670                    Else
4671                    {
4672                        Store (0x00, U0WK)
4673                    }
4674                }
4675
4676                Method (_S1D, 0, NotSerialized)
4677                {
4678                    Return (0x01)
4679                }
4680
4681                Method (_S3D, 0, NotSerialized)
4682                {
4683                    Return (0x01)
4684                }
4685
4686                Name (_PRW, Package (0x02)
4687                {
4688                    0x05,
4689                    0x04
4690                })
4691            }
4692
4693            Device (AZAD)
4694            {
4695                Name (_ADR, 0x00100001)
4696                Name (_PRW, Package (0x02)
4697                {
4698                    0x15,
4699                    0x05
4700                })
4701            }
4702
4703            Device (MMAC)
4704            {
4705                Name (_ADR, 0x00140000)
4706                Name (_PRW, Package (0x02)
4707                {
4708                    0x0B,
4709                    0x05
4710                })
4711            }
4712
4713            Device (ASOC)
4714            {
4715                Name (_HID, "ATK0110")
4716                Name (_UID, 0x01010110)
4717                Name (MBIF, Package (0x08)
4718                {
4719                    0x01,
4720                    "M2N8L",
4721                    0x01010101,
4722                    0x01010101,
4723                    0xC0010002,
4724                    0x01,
4725                    0x00,
4726                    0x00
4727                })
4728                Name (VBUF, Package (0x05)
4729                {
4730                    0x04,
4731                    VCRE,
4732                    V333,
4733                    V500,
4734                    V120
4735                })
4736                Name (VCRE, Package (0x05)
4737                {
4738                    0x06020000,
4739                    "Vcore Voltage",
4740                    0x05AA,
4741                    0x06D6,
4742                    0x01
4743                })
4744                Name (V333, Package (0x05)
4745                {
4746                    0x06020001,
4747                    " +3.3 Voltage",
4748                    0x0BB8,
4749                    0x0E10,
4750                    0x01
4751                })
4752                Name (V500, Package (0x05)
4753                {
4754                    0x06020002,
4755                    " +5.0 Voltage",
4756                    0x1194,
4757                    0x157C,
4758                    0x01
4759                })
4760                Name (V120, Package (0x05)
4761                {
4762                    0x06020003,
4763                    "+12.0 Voltage",
4764                    0x2BC0,
4765                    0x3390,
4766                    0x01
4767                })
4768                Name (TBUF, Package (0x03)
4769                {
4770                    0x02,
4771                    CPUT,
4772                    MBTP
4773                })
4774                Name (CPUT, Package (0x05)
4775                {
4776                    0x06030000,
4777                    "CPU Temperature",
4778                    0x0384,
4779                    0x04E2,
4780                    0x00010001
4781                })
4782                Name (MBTP, Package (0x05)
4783                {
4784                    0x06030001,
4785                    "MB Temperature",
4786                    0x02BC,
4787                    0x04E2,
4788                    0x00010001
4789                })
4790                Name (FBUF, Package (0x06)
4791                {
4792                    0x03,
4793                    CPUF,
4794                    CHAF,
4795                    PWRF,
4796                    CHPF,
4797                    CH2F
4798                })
4799                Name (CPUF, Package (0x05)
4800                {
4801                    0x06040000,
4802                    "CPU FAN Speed",
4803                    0x00,
4804                    0x0708,
4805                    0x00010001
4806                })
4807                Name (CHAF, Package (0x05)
4808                {
4809                    0x06040001,
4810                    "CHASSIS FAN Speed",
4811                    0x00,
4812                    0x0708,
4813                    0x01
4814                })
4815                Name (PWRF, Package (0x05)
4816                {
4817                    0x06040002,
4818                    "POWER FAN Speed",
4819                    0x00,
4820                    0x0708,
4821                    0x00
4822                })
4823                Name (CHPF, Package (0x05)
4824                {
4825                    0x06040005,
4826                    "CHIPSET FAN Speed",
4827                    0x00,
4828                    0x0708,
4829                    0x00
4830                })
4831                Name (CH2F, Package (0x05)
4832                {
4833                    0x06040006,
4834                    "CHASSIS2 FAN Speed",
4835                    0x00,
4836                    0x0708,
4837                    0x00
4838                })
4839                Name (QFAN, Package (0x05)
4840                {
4841                    0x04060003,
4842                    "CPU Q-Fan Control",
4843                    0x00,
4844                    0x01,
4845                    0x01
4846                })
4847                Name (QFRO, Package (0x05)
4848                {
4849                    0x04050004,
4850                    "CPU Q-Fan Ratio",
4851                    0x3C,
4852                    0x5A,
4853                    0x00
4854                })
4855                Name (QFTP, Package (0x05)
4856                {
4857                    0x04030005,
4858                    "Temperature Range",
4859                    0x02,
4860                    0x50,
4861                    0x00010001
4862                })
4863                Name (QCFN, Package (0x05)
4864                {
4865                    0x04060006,
4866                    "Chassis Q-Fan Control",
4867                    0x00,
4868                    0x01,
4869                    0x00
4870                })
4871                Name (QFCR, Package (0x05)
4872                {
4873                    0x04050007,
4874                    "Chassis Q-Fan Ratio",
4875                    0x38,
4876                    0x64,
4877                    0x00
4878                })
4879                Method (ASIF, 0, NotSerialized)
4880                {
4881                    Return (MBIF)
4882                }
4883
4884                Method (VSIF, 0, NotSerialized)
4885                {
4886                    Return (VBUF)
4887                }
4888
4889                Method (RVLT, 1, NotSerialized)
4890                {
4891                    Store (DerefOf (Index (VCRE, 0x00)), Local0)
4892                    If (LEqual (Arg0, Local0))
4893                    {
4894                        Store (RBYT (TSAD, 0x21), Local0)
4895                        Multiply (Local0, 0x0C, Local0)
4896                        Return (Local0)
4897                    }
4898
4899                    Store (DerefOf (Index (V333, 0x00)), Local0)
4900                    If (LEqual (Arg0, Local0))
4901                    {
4902                        Store (RBYT (TSAD, 0x22), Local0)
4903                        Multiply (Local0, 0x11, Local0)
4904                        Return (Local0)
4905                    }
4906
4907                    Store (DerefOf (Index (V500, 0x00)), Local0)
4908                    If (LEqual (Arg0, Local0))
4909                    {
4910                        Store (RBYT (TSAD, 0x23), Local0)
4911                        Multiply (Local0, 0x1A, Local0)
4912                        Return (Local0)
4913                    }
4914
4915                    Store (DerefOf (Index (V120, 0x00)), Local0)
4916                    If (LEqual (Arg0, Local0))
4917                    {
4918                        Store (RBYT (TSAD, 0x24), Local0)
4919                        Multiply (Local0, 0x3E, Local0)
4920                        Return (Local0)
4921                    }
4922                }
4923
4924                Method (TSIF, 0, NotSerialized)
4925                {
4926                    Return (TBUF)
4927                }
4928
4929                Method (RTMP, 1, NotSerialized)
4930                {
4931                    Store (DerefOf (Index (CPUT, 0x00)), Local0)
4932                    If (LEqual (Arg0, Local0))
4933                    {
4934                        Store (RBYT (TSAD, 0x27), Local0)
4935                        Add (Local0, 0xFFFFFFFA, Local0)
4936                        Multiply (Local0, 0x0A, Local0)
4937                        Return (Local0)
4938                    }
4939
4940                    Store (DerefOf (Index (MBTP, 0x00)), Local0)
4941                    If (LEqual (Arg0, Local0))
4942                    {
4943                        Store (RBYT (TSAD, 0x26), Local0)
4944                        Multiply (Local0, 0x0A, Local0)
4945                        Return (Local0)
4946                    }
4947                }
4948
4949                Method (FSIF, 0, NotSerialized)
4950                {
4951                    Return (FBUF)
4952                }
4953
4954                Method (RFAN, 1, NotSerialized)
4955                {
4956                    Store (DerefOf (Index (CPUF, 0x00)), Local1)
4957                    If (LEqual (Arg0, Local1))
4958                    {
4959                        Store (RBYT (TSAD, 0x28), Local0)
4960                        Store (RBYT (TSAD, 0x29), Local1)
4961                        Add (Local0, Local1, Local2)
4962                        If (LAnd (LNotEqual (Local2, 0x01FE), LNotEqual (Local2, 0x00)))
4963                        {
4964                            Multiply (Local1, 0x0100, Local1)
4965                            Add (Local1, Local0, Local1)
4966                            Store (0x005265C0, Local0)
4967                            Divide (Local0, Local1, Local1, Local0)
4968                        }
4969                        Else
4970                        {
4971                            Store (0x00, Local0)
4972                        }
4973                    }
4974
4975                    Store (DerefOf (Index (CHAF, 0x00)), Local1)
4976                    If (LEqual (Arg0, Local1)) {}
4977                    Return (Local0)
4978                }
4979
4980                Method (SFAS, 1, NotSerialized)
4981                {
4982                    Store (DerefOf (Index (Arg0, 0x00)), Local0)
4983                    And (Local0, 0x0F, Local0)
4984                    Store (DerefOf (Index (FBUF, 0x00)), Local1)
4985                    If (LGreaterEqual (Local0, Local1))
4986                    {
4987                        Return (0x00)
4988                    }
4989                    Else
4990                    {
4991                        Return (0x01)
4992                    }
4993                }
4994
4995                Name (QFNF, 0x00)
4996                Name (QFPF, 0x00)
4997                Method (OCOP, 1, NotSerialized)
4998                {
4999                    Store (DerefOf (Index (QFAN, 0x00)), Local1)
5000                    If (LEqual (Arg0, Local1))
5001                    {
5002                        If (LEqual (QFNF, 0x00))
5003                        {
5004                            Store (QFNE, Local0)
5005                            Not (Local0, Local0)
5006                            And (Local0, 0x01, Local0)
5007                            Store (Local0, Index (CQFN, 0x02))
5008                            SPRE (Arg0, QFNE)
5009                            Store (0x01, QFNF)
5010                        }
5011
5012                        Return (CQFN)
5013                    }
5014
5015                    Store (DerefOf (Index (QFTP, 0x00)), Local1)
5016                    If (LEqual (Arg0, Local1))
5017                    {
5018                        If (LEqual (QFPF, 0x00))
5019                        {
5020                            Store (QFTE, Index (QFNT, 0x02))
5021                            SPRE (Arg0, QFTE)
5022                            Store (0x01, QFPF)
5023                        }
5024
5025                        Return (QFNT)
5026                    }
5027                }
5028
5029                Method (PROC, 3, NotSerialized)
5030                {
5031                    If (LEqual (Arg2, 0x00))
5032                    {
5033                        Return (0x01)
5034                    }
5035
5036                    If (LEqual (Arg2, 0x01))
5037                    {
5038                        Store (DerefOf (Index (QFAN, 0x00)), Local0)
5039                        If (LEqual (Arg0, Local0))
5040                        {
5041                            If (LEqual (Arg1, 0x00))
5042                            {
5043                                WBYT (TSAD, 0x5C, 0x62)
5044                                WBYT (TSAD, 0x69, 0x5A)
5045                                WBYT (TSAD, 0x61, 0x90)
5046                                WBYT (TSAD, 0x62, 0xE0)
5047                                WBYT (TSAD, 0x64, 0x80)
5048                            }
5049
5050                            If (LEqual (Arg1, 0x01))
5051                            {
5052                                WBYT (TSAD, 0x5C, C5C1)
5053                                WBYT (TSAD, 0x69, FLT1)
5054                                WBYT (TSAD, 0x61, FTG1)
5055                                WBYT (TSAD, 0x62, FRP1)
5056                                WBYT (TSAD, 0x64, LVT1)
5057                            }
5058
5059                            Store (Arg1, AIP)
5060                            Store (Arg1, Index (CQFN, 0x02))
5061                            Store (0x07, AIP2)
5062                            Store (0xB0, SCP)
5063                        }
5064
5065                        Store (DerefOf (Index (QFTP, 0x00)), Local0)
5066                        If (LEqual (Arg0, Local0))
5067                        {
5068                            Store (Arg1, Local1)
5069                            Multiply (Local1, 0x10, Local1)
5070                            Store (RBYT (TSAD, 0x61), Local2)
5071                            And (Local2, 0x0F, Local2)
5072                            Or (Local2, Local1, Local2)
5073                            WBYT (TSAD, 0x61, Local2)
5074                            Store (Arg1, AIP)
5075                            Store (Arg1, Index (QFNT, 0x02))
5076                            Store (0x08, AIP2)
5077                            Store (0xB0, SCP)
5078                        }
5079
5080                        SPRE (Arg0, Arg1)
5081                        Return (0x01)
5082                    }
5083                    Else
5084                    {
5085                        Return (0x00)
5086                    }
5087                }
5088
5089                Name (CQFN, Package (0x06)
5090                {
5091                    0x04060003,
5092                    0x00,
5093                    0x00,
5094                    0x01,
5095                    "Disabled",
5096                    "Enabled"
5097                })
5098                Name (QFNR, Package (0x09)
5099                {
5100                    0x04050004,
5101                    0x5A,
5102                    0x00,
5103                    0x01,
5104                    "Auto",
5105                    "90%",
5106                    "80%",
5107                    "70%",
5108                    "60%"
5109                })
5110                Name (QFNT, Package (0x14)
5111                {
5112                    0x04030005,
5113                    0x10,
5114                    0x09,
5115                    0x01,
5116                    "2.0 ",
5117                    "2.5 ",
5118                    "3.3 ",
5119                    "4.0 ",
5120                    "5.0 ",
5121                    "6.7 ",
5122                    "8.0 ",
5123                    "10.0",
5124                    "13.3",
5125                    "16.0",
5126                    "20.0",
5127                    "26.7",
5128                    "32.0",
5129                    "40.0",
5130                    "53.3",
5131                    "80.0"
5132                })
5133                Name (PREB, Package (0x1C)
5134                {
5135                    0x02010002,
5136                    0x00,
5137                    0x07010003,
5138                    0x00,
5139                    0x08050005,
5140                    0x00,
5141                    0x08050006,
5142                    0x00,
5143                    0x04040007,
5144                    0x00,
5145                    0x01020008,
5146                    0x00,
5147                    0x02020009,
5148                    0x00,
5149                    0x0702000A,
5150                    0x00,
5151                    0x0106000B,
5152                    0x00,
5153                    0x0906000C,
5154                    0x00,
5155                    0x04060003,
5156                    0x00,
5157                    0x04030005,
5158                    0x00,
5159                    0x01010000,
5160                    0x00,
5161                    0x01060001,
5162                    0x00
5163                })
5164                Name (PRED, Package (0x0A)
5165                {
5166                    0x01010000,
5167                    0x00,
5168                    0x01060001,
5169                    0x00,
5170                    0x01020008,
5171                    0x00,
5172                    0x02020009,
5173                    0x00,
5174                    0x0702000A,
5175                    0x00
5176                })
5177                Method (SPRD, 2, NotSerialized)
5178                {
5179                    Store (0x00, Local0)
5180                    Store (0x01, Local2)
5181                    While (Local2)
5182                    {
5183                        Multiply (Local0, 0x02, Local1)
5184                        If (LEqual (DerefOf (Index (PRED, Local1)), Arg0))
5185                        {
5186                            Add (Local1, 0x01, Local1)
5187                            Store (Arg1, Index (PRED, Local1))
5188                            Store (0x00, Local2)
5189                        }
5190
5191                        Increment (Local0)
5192                        If (LEqual (Local0, 0x10))
5193                        {
5194                            Store (0x00, Local2)
5195                        }
5196                    }
5197                }
5198
5199                Method (GPRE, 1, NotSerialized)
5200                {
5201                    If (Arg0)
5202                    {
5203                        Return (PREB)
5204                    }
5205                    Else
5206                    {
5207                        Return (PRED)
5208                    }
5209                }
5210
5211                Method (SPRE, 2, NotSerialized)
5212                {
5213                    Store (0x00, Local0)
5214                    Store (0x01, Local2)
5215                    While (Local2)
5216                    {
5217                        Multiply (Local0, 0x02, Local1)
5218                        If (LEqual (DerefOf (Index (PREB, Local1)), Arg0))
5219                        {
5220                            Add (Local1, 0x01, Local1)
5221                            Store (Arg1, Index (PREB, Local1))
5222                            Store (0x00, Local2)
5223                        }
5224
5225                        Increment (Local0)
5226                        If (LEqual (Local0, 0x10))
5227                        {
5228                            Store (0x00, Local2)
5229                        }
5230                    }
5231                }
5232
5233                Method (GCQV, 1, NotSerialized)
5234                {
5235                    If (LEqual (Arg0, 0x00))
5236                    {
5237                        Store (K8VL, Local0)
5238                        Return (Local0)
5239                    }
5240                    Else
5241                    {
5242                        If (LEqual (Arg0, 0x01))
5243                        {
5244                            Store (K8VH, Local0)
5245                            Return (Local0)
5246                        }
5247                        Else
5248                        {
5249                            If (LEqual (Arg0, 0x02))
5250                            {
5251                                If (LEqual (CNQC, 0x00))
5252                                {
5253                                    Store (0x01, Local0)
5254                                }
5255                                Else
5256                                {
5257                                    Store (0x00, Local0)
5258                                }
5259
5260                                Return (Local0)
5261                            }
5262                        }
5263                    }
5264                }
5265
5266                Method (SPLV, 1, Serialized)
5267                {
5268                    Return (Arg0)
5269                }
5270
5271                Method (GPLV, 0, Serialized)
5272                {
5273                    Return (0x00)
5274                }
5275
5276                Method (ENGR, 1, NotSerialized)
5277                {
5278                }
5279            }
5280
5281            Name (BUFA, ResourceTemplate ()
5282            {
5283                IRQ (Level, ActiveLow, Shared, )
5284                    {5,7,9,10,11,14,15}
5285            })
5286            Name (BUFB, ResourceTemplate ()
5287            {
5288                IRQ (Level, ActiveLow, Shared, _Y10)
5289                    {}
5290            })
5291            CreateWordField (BUFB, \_SB.PCI0._Y10._INT, IRQV)
5292            Method (CRS, 1, NotSerialized)
5293            {
5294                If (Arg0)
5295                {
5296                    ShiftLeft (0x01, Arg0, IRQV)
5297                }
5298                Else
5299                {
5300                    Store (Zero, IRQV)
5301                }
5302
5303                Return (BUFB)
5304            }
5305
5306            Method (SRS, 1, NotSerialized)
5307            {
5308                CreateWordField (Arg0, 0x01, IRQ0)
5309                FindSetRightBit (IRQ0, Local0)
5310                Decrement (Local0)
5311                Return (Local0)
5312            }
5313
5314            Method (CRSA, 1, Serialized)
5315            {
5316                Store (0x00, Local0)
5317                If (LEqual (Arg0, 0x01))
5318                {
5319                    Store (0x17, Local0)
5320                }
5321
5322                If (LEqual (Arg0, 0x02))
5323                {
5324                    Store (0x16, Local0)
5325                }
5326
5327                If (LEqual (Arg0, 0x03))
5328                {
5329                    Store (0x10, Local0)
5330                }
5331
5332                If (LEqual (Arg0, 0x04))
5333                {
5334                    Store (0x11, Local0)
5335                }
5336
5337                If (LEqual (Arg0, 0x06))
5338                {
5339                    Store (0x12, Local0)
5340                }
5341
5342                If (LEqual (Arg0, 0x08))
5343                {
5344                    Store (0x14, Local0)
5345                }
5346
5347                If (LEqual (Arg0, 0x0C))
5348                {
5349                    Store (0x13, Local0)
5350                }
5351
5352                If (LEqual (Arg0, 0x0D))
5353                {
5354                    Store (0x15, Local0)
5355                }
5356
5357                Name (IRZ5, ResourceTemplate ()
5358                {
5359                    Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y11)
5360                    {
5361                        0x00000007,
5362                    }
5363                })
5364                CreateWordField (IRZ5, \_SB.PCI0.CRSA._Y11._INT, INZ5)
5365                Store (Local0, INZ5)
5366                Return (IRZ5)
5367            }
5368
5369            Method (SRSA, 1, Serialized)
5370            {
5371                CreateWordField (Arg0, 0x05, INZ6)
5372                Store (0x08, Local0)
5373                If (LEqual (INZ6, 0x10))
5374                {
5375                    Store (0x03, Local0)
5376                }
5377
5378                If (LEqual (INZ6, 0x11))
5379                {
5380                    Store (0x04, Local0)
5381                }
5382
5383                If (LEqual (INZ6, 0x12))
5384                {
5385                    Store (0x06, Local0)
5386                }
5387
5388                If (LEqual (INZ6, 0x13))
5389                {
5390                    Store (0x0C, Local0)
5391                }
5392
5393                If (LEqual (INZ6, 0x14))
5394                {
5395                    Store (0x08, Local0)
5396                }
5397
5398                If (LEqual (INZ6, 0x15))
5399                {
5400                    Store (0x0D, Local0)
5401                }
5402
5403                If (LEqual (INZ6, 0x16))
5404                {
5405                    Store (0x02, Local0)
5406                }
5407
5408                If (LEqual (INZ6, 0x17))
5409                {
5410                    Store (0x01, Local0)
5411                }
5412
5413                Return (Local0)
5414            }
5415
5416            Device (LNK1)
5417            {
5418                Name (_HID, EisaId ("PNP0C0F"))
5419                Name (_UID, 0x01)
5420                Method (_STA, 0, NotSerialized)
5421                {
5422                    If (INTA)
5423                    {
5424                        Return (0x0B)
5425                    }
5426                    Else
5427                    {
5428                        Return (0x09)
5429                    }
5430                }
5431
5432                Method (_PRS, 0, NotSerialized)
5433                {
5434                    Return (BUFA)
5435                }
5436
5437                Method (_DIS, 0, NotSerialized)
5438                {
5439                    Store (0x00, INTA)
5440                }
5441
5442                Method (_CRS, 0, NotSerialized)
5443                {
5444                    Return (CRS (INTA))
5445                }
5446
5447                Method (_SRS, 1, NotSerialized)
5448                {
5449                    Store (SRS (Arg0), INTA)
5450                }
5451            }
5452
5453            Device (LNK2)
5454            {
5455                Name (_HID, EisaId ("PNP0C0F"))
5456                Name (_UID, 0x02)
5457                Method (_STA, 0, NotSerialized)
5458                {
5459                    If (INTB)
5460                    {
5461                        Return (0x0B)
5462                    }
5463                    Else
5464                    {
5465                        Return (0x09)
5466                    }
5467                }
5468
5469                Method (_PRS, 0, NotSerialized)
5470                {
5471                    Return (BUFA)
5472                }
5473
5474                Method (_DIS, 0, NotSerialized)
5475                {
5476                    Store (0x00, INTB)
5477                }
5478
5479                Method (_CRS, 0, NotSerialized)
5480                {
5481                    Return (CRS (INTB))
5482                }
5483
5484                Method (_SRS, 1, NotSerialized)
5485                {
5486                    Store (SRS (Arg0), INTB)
5487                }
5488            }
5489
5490            Device (LNK3)
5491            {
5492                Name (_HID, EisaId ("PNP0C0F"))
5493                Name (_UID, 0x03)
5494                Method (_STA, 0, NotSerialized)
5495                {
5496                    If (INTC)
5497                    {
5498                        Return (0x0B)
5499                    }
5500                    Else
5501                    {
5502                        Return (0x09)
5503                    }
5504                }
5505
5506                Method (_PRS, 0, NotSerialized)
5507                {
5508                    Return (BUFA)
5509                }
5510
5511                Method (_DIS, 0, NotSerialized)
5512                {
5513                    Store (0x00, INTC)
5514                }
5515
5516                Method (_CRS, 0, NotSerialized)
5517                {
5518                    Return (CRS (INTC))
5519                }
5520
5521                Method (_SRS, 1, NotSerialized)
5522                {
5523                    Store (SRS (Arg0), INTC)
5524                }
5525            }
5526
5527            Device (LNK4)
5528            {
5529                Name (_HID, EisaId ("PNP0C0F"))
5530                Name (_UID, 0x04)
5531                Method (_STA, 0, NotSerialized)
5532                {
5533                    If (INTD)
5534                    {
5535                        Return (0x0B)
5536                    }
5537                    Else
5538                    {
5539                        Return (0x09)
5540                    }
5541                }
5542
5543                Method (_PRS, 0, NotSerialized)
5544                {
5545                    Return (BUFA)
5546                }
5547
5548                Method (_DIS, 0, NotSerialized)
5549                {
5550                    Store (0x00, INTD)
5551                }
5552
5553                Method (_CRS, 0, NotSerialized)
5554                {
5555                    Return (CRS (INTD))
5556                }
5557
5558                Method (_SRS, 1, NotSerialized)
5559                {
5560                    Store (SRS (Arg0), INTD)
5561                }
5562            }
5563
5564            Device (LNK5)
5565            {
5566                Name (_HID, EisaId ("PNP0C0F"))
5567                Name (_UID, 0x05)
5568                Method (_STA, 0, NotSerialized)
5569                {
5570                    If (PCEA)
5571                    {
5572                        Return (0x0B)
5573                    }
5574                    Else
5575                    {
5576                        Return (0x09)
5577                    }
5578                }
5579
5580                Method (_PRS, 0, NotSerialized)
5581                {
5582                    Return (BUFA)
5583                }
5584
5585                Method (_DIS, 0, NotSerialized)
5586                {
5587                    Store (0x00, PCEA)
5588                }
5589
5590                Method (_CRS, 0, NotSerialized)
5591                {
5592                    Return (CRS (PCEA))
5593                }
5594
5595                Method (_SRS, 1, NotSerialized)
5596                {
5597                    Store (SRS (Arg0), PCEA)
5598                }
5599            }
5600
5601            Device (LNK6)
5602            {
5603                Name (_HID, EisaId ("PNP0C0F"))
5604                Name (_UID, 0x06)
5605                Method (_STA, 0, NotSerialized)
5606                {
5607                    If (PCEB)
5608                    {
5609                        Return (0x0B)
5610                    }
5611                    Else
5612                    {
5613                        Return (0x09)
5614                    }
5615                }
5616
5617                Method (_PRS, 0, NotSerialized)
5618                {
5619                    Return (BUFA)
5620                }
5621
5622                Method (_DIS, 0, NotSerialized)
5623                {
5624                    Store (0x00, PCEB)
5625                }
5626
5627                Method (_CRS, 0, NotSerialized)
5628                {
5629                    Return (CRS (PCEB))
5630                }
5631
5632                Method (_SRS, 1, NotSerialized)
5633                {
5634                    Store (SRS (Arg0), PCEB)
5635                }
5636            }
5637
5638            Device (LNK7)
5639            {
5640                Name (_HID, EisaId ("PNP0C0F"))
5641                Name (_UID, 0x07)
5642                Method (_STA, 0, NotSerialized)
5643                {
5644                    If (PCEC)
5645                    {
5646                        Return (0x0B)
5647                    }
5648                    Else
5649                    {
5650                        Return (0x09)
5651                    }
5652                }
5653
5654                Method (_PRS, 0, NotSerialized)
5655                {
5656                    Return (BUFA)
5657                }
5658
5659                Method (_DIS, 0, NotSerialized)
5660                {
5661                    Store (0x00, PCEC)
5662                }
5663
5664                Method (_CRS, 0, NotSerialized)
5665                {
5666                    Return (CRS (PCEC))
5667                }
5668
5669                Method (_SRS, 1, NotSerialized)
5670                {
5671                    Store (SRS (Arg0), PCEC)
5672                }
5673            }
5674
5675            Device (LNK8)
5676            {
5677                Name (_HID, EisaId ("PNP0C0F"))
5678                Name (_UID, 0x08)
5679                Method (_STA, 0, NotSerialized)
5680                {
5681                    If (PCED)
5682                    {
5683                        Return (0x0B)
5684                    }
5685                    Else
5686                    {
5687                        Return (0x09)
5688                    }
5689                }
5690
5691                Method (_PRS, 0, NotSerialized)
5692                {
5693                    Return (BUFA)
5694                }
5695
5696                Method (_DIS, 0, NotSerialized)
5697                {
5698                    Store (0x00, PCED)
5699                }
5700
5701                Method (_CRS, 0, NotSerialized)
5702                {
5703                    Return (CRS (PCED))
5704                }
5705
5706                Method (_SRS, 1, NotSerialized)
5707                {
5708                    Store (SRS (Arg0), PCED)
5709                }
5710            }
5711
5712            Device (LUBA)
5713            {
5714                Name (_HID, EisaId ("PNP0C0F"))
5715                Name (_UID, 0x09)
5716                Method (_STA, 0, NotSerialized)
5717                {
5718                    If (INTG)
5719                    {
5720                        Return (0x0B)
5721                    }
5722                    Else
5723                    {
5724                        Return (0x09)
5725                    }
5726                }
5727
5728                Method (_PRS, 0, NotSerialized)
5729                {
5730                    Return (BUFA)
5731                }
5732
5733                Method (_DIS, 0, NotSerialized)
5734                {
5735                    Store (0x00, INTG)
5736                }
5737
5738                Method (_CRS, 0, NotSerialized)
5739                {
5740                    Return (CRS (INTG))
5741                }
5742
5743                Method (_SRS, 1, NotSerialized)
5744                {
5745                    Store (SRS (Arg0), INTG)
5746                }
5747            }
5748
5749            Device (LUBB)
5750            {
5751                Name (_HID, EisaId ("PNP0C0F"))
5752                Name (_UID, 0x0A)
5753                Method (_STA, 0, NotSerialized)
5754                {
5755                    If (INTH)
5756                    {
5757                        Return (0x0B)
5758                    }
5759                    Else
5760                    {
5761                        Return (0x09)
5762                    }
5763                }
5764
5765                Method (_PRS, 0, NotSerialized)
5766                {
5767                    Return (BUFA)
5768                }
5769
5770                Method (_DIS, 0, NotSerialized)
5771                {
5772                    Store (0x00, INTH)
5773                }
5774
5775                Method (_CRS, 0, NotSerialized)
5776                {
5777                    Return (CRS (INTH))
5778                }
5779
5780                Method (_SRS, 1, NotSerialized)
5781                {
5782                    Store (SRS (Arg0), INTH)
5783                }
5784            }
5785
5786            Device (LMAC)
5787            {
5788                Name (_HID, EisaId ("PNP0C0F"))
5789                Name (_UID, 0x0B)
5790                Method (_STA, 0, NotSerialized)
5791                {
5792                    If (INTJ)
5793                    {
5794                        Return (0x0B)
5795                    }
5796                    Else
5797                    {
5798                        Return (0x09)
5799                    }
5800                }
5801
5802                Method (_PRS, 0, NotSerialized)
5803                {
5804                    Return (BUFA)
5805                }
5806
5807                Method (_DIS, 0, NotSerialized)
5808                {
5809                    Store (0x00, INTJ)
5810                }
5811
5812                Method (_CRS, 0, NotSerialized)
5813                {
5814                    Return (CRS (INTJ))
5815                }
5816
5817                Method (_SRS, 1, NotSerialized)
5818                {
5819                    Store (SRS (Arg0), INTJ)
5820                }
5821            }
5822
5823            Device (LACI)
5824            {
5825                Name (_HID, EisaId ("PNP0C0F"))
5826                Name (_UID, 0x0C)
5827                Method (_STA, 0, NotSerialized)
5828                {
5829                    If (INTL)
5830                    {
5831                        Return (0x0B)
5832                    }
5833                    Else
5834                    {
5835                        Return (0x09)
5836                    }
5837                }
5838
5839                Method (_PRS, 0, NotSerialized)
5840                {
5841                    Return (BUFA)
5842                }
5843
5844                Method (_DIS, 0, NotSerialized)
5845                {
5846                    Store (0x00, INTL)
5847                }
5848
5849                Method (_CRS, 0, NotSerialized)
5850                {
5851                    Return (CRS (INTL))
5852                }
5853
5854                Method (_SRS, 1, NotSerialized)
5855                {
5856                    Store (SRS (Arg0), INTL)
5857                }
5858            }
5859
5860            Device (LAZA)
5861            {
5862                Name (_HID, EisaId ("PNP0C0F"))
5863                Name (_UID, 0x0D)
5864                Method (_STA, 0, NotSerialized)
5865                {
5866                    If (INTK)
5867                    {
5868                        Return (0x0B)
5869                    }
5870                    Else
5871                    {
5872                        Return (0x09)
5873                    }
5874                }
5875
5876                Method (_PRS, 0, NotSerialized)
5877                {
5878                    Return (BUFA)
5879                }
5880
5881                Method (_DIS, 0, NotSerialized)
5882                {
5883                    Store (0x00, INTK)
5884                }
5885
5886                Method (_CRS, 0, NotSerialized)
5887                {
5888                    Return (CRS (INTK))
5889                }
5890
5891                Method (_SRS, 1, NotSerialized)
5892                {
5893                    Store (SRS (Arg0), INTK)
5894                }
5895            }
5896
5897            Device (LPMU)
5898            {
5899                Name (_HID, EisaId ("PNP0C0F"))
5900                Name (_UID, 0x0E)
5901                Method (_STA, 0, NotSerialized)
5902                {
5903                    If (INTS)
5904                    {
5905                        Return (0x0B)
5906                    }
5907                    Else
5908                    {
5909                        Return (0x09)
5910                    }
5911                }
5912
5913                Method (_PRS, 0, NotSerialized)
5914                {
5915                    Return (BUFA)
5916                }
5917
5918                Method (_DIS, 0, NotSerialized)
5919                {
5920                    Store (0x00, INTS)
5921                }
5922
5923                Method (_CRS, 0, NotSerialized)
5924                {
5925                    Return (CRS (INTS))
5926                }
5927
5928                Method (_SRS, 1, NotSerialized)
5929                {
5930                    Store (SRS (Arg0), INTS)
5931                }
5932            }
5933
5934            Device (LMCI)
5935            {
5936                Name (_HID, EisaId ("PNP0C0F"))
5937                Name (_UID, 0x0F)
5938                Method (_STA, 0, NotSerialized)
5939                {
5940                    If (INTM)
5941                    {
5942                        Return (0x0B)
5943                    }
5944                    Else
5945                    {
5946                        Return (0x09)
5947                    }
5948                }
5949
5950                Method (_PRS, 0, NotSerialized)
5951                {
5952                    Return (BUFA)
5953                }
5954
5955                Method (_DIS, 0, NotSerialized)
5956                {
5957                    Store (0x00, INTM)
5958                }
5959
5960                Method (_CRS, 0, NotSerialized)
5961                {
5962                    Return (CRS (INTM))
5963                }
5964
5965                Method (_SRS, 1, NotSerialized)
5966                {
5967                    Store (SRS (Arg0), INTM)
5968                }
5969            }
5970
5971            Device (LSMB)
5972            {
5973                Name (_HID, EisaId ("PNP0C0F"))
5974                Name (_UID, 0x10)
5975                Method (_STA, 0, NotSerialized)
5976                {
5977                    If (INTF)
5978                    {
5979                        Return (0x0B)
5980                    }
5981                    Else
5982                    {
5983                        Return (0x09)
5984                    }
5985                }
5986
5987                Method (_PRS, 0, NotSerialized)
5988                {
5989                    Return (BUFA)
5990                }
5991
5992                Method (_DIS, 0, NotSerialized)
5993                {
5994                    Store (0x00, INTF)
5995                }
5996
5997                Method (_CRS, 0, NotSerialized)
5998                {
5999                    Return (CRS (INTF))
6000                }
6001
6002                Method (_SRS, 1, NotSerialized)
6003                {
6004                    Store (SRS (Arg0), INTF)
6005                }
6006            }
6007
6008            Device (LUB2)
6009            {
6010                Name (_HID, EisaId ("PNP0C0F"))
6011                Name (_UID, 0x11)
6012                Method (_STA, 0, NotSerialized)
6013                {
6014                    If (INTQ)
6015                    {
6016                        Return (0x0B)
6017                    }
6018                    Else
6019                    {
6020                        Return (0x09)
6021                    }
6022                }
6023
6024                Method (_PRS, 0, NotSerialized)
6025                {
6026                    Return (BUFA)
6027                }
6028
6029                Method (_DIS, 0, NotSerialized)
6030                {
6031                    Store (0x00, INTQ)
6032                }
6033
6034                Method (_CRS, 0, NotSerialized)
6035                {
6036                    Return (CRS (INTQ))
6037                }
6038
6039                Method (_SRS, 1, NotSerialized)
6040                {
6041                    Store (SRS (Arg0), INTQ)
6042                }
6043            }
6044
6045            Device (LIDE)
6046            {
6047                Name (_HID, EisaId ("PNP0C0F"))
6048                Name (_UID, 0x12)
6049                Method (_STA, 0, NotSerialized)
6050                {
6051                    If (INTN)
6052                    {
6053                        Return (0x0B)
6054                    }
6055                    Else
6056                    {
6057                        Return (0x09)
6058                    }
6059                }
6060
6061                Method (_PRS, 0, NotSerialized)
6062                {
6063                    Return (BUFA)
6064                }
6065
6066                Method (_DIS, 0, NotSerialized)
6067                {
6068                    Store (0x00, INTN)
6069                }
6070
6071                Method (_CRS, 0, NotSerialized)
6072                {
6073                    Return (CRS (INTN))
6074                }
6075
6076                Method (_SRS, 1, NotSerialized)
6077                {
6078                    Store (SRS (Arg0), INTN)
6079                }
6080            }
6081
6082            Device (LSID)
6083            {
6084                Name (_HID, EisaId ("PNP0C0F"))
6085                Name (_UID, 0x13)
6086                Method (_STA, 0, NotSerialized)
6087                {
6088                    If (ITID)
6089                    {
6090                        Return (0x0B)
6091                    }
6092                    Else
6093                    {
6094                        Return (0x09)
6095                    }
6096                }
6097
6098                Method (_PRS, 0, NotSerialized)
6099                {
6100                    Return (BUFA)
6101                }
6102
6103                Method (_DIS, 0, NotSerialized)
6104                {
6105                    Store (0x00, ITID)
6106                }
6107
6108                Method (_CRS, 0, NotSerialized)
6109                {
6110                    Return (CRS (ITID))
6111                }
6112
6113                Method (_SRS, 1, NotSerialized)
6114                {
6115                    Store (SRS (Arg0), ITID)
6116                }
6117            }
6118
6119            Device (LFID)
6120            {
6121                Name (_HID, EisaId ("PNP0C0F"))
6122                Name (_UID, 0x14)
6123                Method (_STA, 0, NotSerialized)
6124                {
6125                    If (IS0P)
6126                    {
6127                        Return (0x0B)
6128                    }
6129                    Else
6130                    {
6131                        Return (0x09)
6132                    }
6133                }
6134
6135                Method (_PRS, 0, NotSerialized)
6136                {
6137                    Return (BUFA)
6138                }
6139
6140                Method (_DIS, 0, NotSerialized)
6141                {
6142                    Store (0x00, IS0P)
6143                }
6144
6145                Method (_CRS, 0, NotSerialized)
6146                {
6147                    Return (CRS (IS0P))
6148                }
6149
6150                Method (_SRS, 1, NotSerialized)
6151                {
6152                    Store (SRS (Arg0), IS0P)
6153                }
6154            }
6155
6156            Name (BUF1, ResourceTemplate ()
6157            {
6158                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6159                {
6160                    0x00000010,
6161                }
6162            })
6163            Name (BUF2, ResourceTemplate ()
6164            {
6165                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6166                {
6167                    0x00000011,
6168                }
6169            })
6170            Name (BUF3, ResourceTemplate ()
6171            {
6172                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6173                {
6174                    0x00000012,
6175                }
6176            })
6177            Name (BUF4, ResourceTemplate ()
6178            {
6179                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6180                {
6181                    0x00000013,
6182                }
6183            })
6184            Name (BUFF, ResourceTemplate ()
6185            {
6186                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6187                {
6188                    0x00000014,
6189                    0x00000015,
6190                    0x00000016,
6191                    0x00000017,
6192                }
6193            })
6194            Name (BUFH, ResourceTemplate ()
6195            {
6196                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6197                {
6198                    0x0000000B,
6199                }
6200            })
6201            Name (BUFI, ResourceTemplate ()
6202            {
6203                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6204                {
6205                    0x00000017,
6206                }
6207            })
6208            Name (IRZ1, ResourceTemplate ()
6209            {
6210                Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
6211                {
6212                    0x00000007,
6213                }
6214            })
6215            Device (APC1)
6216            {
6217                Name (_HID, EisaId ("PNP0C0F"))
6218                Name (_UID, 0x15)
6219                Method (_STA, 0, NotSerialized)
6220                {
6221                    If (LAnd (INTA, PICF))
6222                    {
6223                        Return (0x0B)
6224                    }
6225                    Else
6226                    {
6227                        Return (0x09)
6228                    }
6229                }
6230
6231                Method (_PRS, 0, NotSerialized)
6232                {
6233                    Return (BUF1)
6234                }
6235
6236                Method (_DIS, 0, NotSerialized)
6237                {
6238                    Store (0x00, INTA)
6239                }
6240
6241                Method (_CRS, 0, NotSerialized)
6242                {
6243                    Return (CRSA (INTA))
6244                }
6245
6246                Method (_SRS, 1, NotSerialized)
6247                {
6248                    Store (SRSA (Arg0), INTA)
6249                }
6250            }
6251
6252            Device (APC2)
6253            {
6254                Name (_HID, EisaId ("PNP0C0F"))
6255                Name (_UID, 0x16)
6256                Method (_STA, 0, NotSerialized)
6257                {
6258                    If (LAnd (INTB, PICF))
6259                    {
6260                        Return (0x0B)
6261                    }
6262                    Else
6263                    {
6264                        Return (0x09)
6265                    }
6266                }
6267
6268                Method (_PRS, 0, NotSerialized)
6269                {
6270                    Return (BUF2)
6271                }
6272
6273                Method (_DIS, 0, NotSerialized)
6274                {
6275                    Store (0x00, INTB)
6276                }
6277
6278                Method (_CRS, 0, NotSerialized)
6279                {
6280                    Return (CRSA (INTB))
6281                }
6282
6283                Method (_SRS, 1, NotSerialized)
6284                {
6285                    Store (SRSA (Arg0), INTB)
6286                }
6287            }
6288
6289            Device (APC3)
6290            {
6291                Name (_HID, EisaId ("PNP0C0F"))
6292                Name (_UID, 0x17)
6293                Method (_STA, 0, NotSerialized)
6294                {
6295                    If (LAnd (INTC, PICF))
6296                    {
6297                        Return (0x0B)
6298                    }
6299                    Else
6300                    {
6301                        Return (0x09)
6302                    }
6303                }
6304
6305                Method (_PRS, 0, NotSerialized)
6306                {
6307                    Return (BUF3)
6308                }
6309
6310                Method (_DIS, 0, NotSerialized)
6311                {
6312                    Store (0x00, INTC)
6313                }
6314
6315                Method (_CRS, 0, NotSerialized)
6316                {
6317                    Return (CRSA (INTC))
6318                }
6319
6320                Method (_SRS, 1, NotSerialized)
6321                {
6322                    Store (SRSA (Arg0), INTC)
6323                }
6324            }
6325
6326            Device (APC4)
6327            {
6328                Name (_HID, EisaId ("PNP0C0F"))
6329                Name (_UID, 0x18)
6330                Method (_STA, 0, NotSerialized)
6331                {
6332                    If (LAnd (INTD, PICF))
6333                    {
6334                        Return (0x0B)
6335                    }
6336                    Else
6337                    {
6338                        Return (0x09)
6339                    }
6340                }
6341
6342                Method (_PRS, 0, NotSerialized)
6343                {
6344                    Return (BUF4)
6345                }
6346
6347                Method (_DIS, 0, NotSerialized)
6348                {
6349                    Store (0x00, INTD)
6350                }
6351
6352                Method (_CRS, 0, NotSerialized)
6353                {
6354                    Return (CRSA (INTD))
6355                }
6356
6357                Method (_SRS, 1, NotSerialized)
6358                {
6359                    Store (SRSA (Arg0), INTD)
6360                }
6361            }
6362
6363            Device (APC5)
6364            {
6365                Name (_HID, EisaId ("PNP0C0F"))
6366                Name (_UID, 0x19)
6367                Method (_STA, 0, NotSerialized)
6368                {
6369                    If (LAnd (PCEA, PICF))
6370                    {
6371                        Return (0x0B)
6372                    }
6373                    Else
6374                    {
6375                        Return (0x09)
6376                    }
6377                }
6378
6379                Method (_PRS, 0, NotSerialized)
6380                {
6381                    Return (BUF1)
6382                }
6383
6384                Method (_DIS, 0, NotSerialized)
6385                {
6386                    Store (0x00, PCEA)
6387                }
6388
6389                Method (_CRS, 0, NotSerialized)
6390                {
6391                    Return (CRSA (PCEA))
6392                }
6393
6394                Method (_SRS, 1, NotSerialized)
6395                {
6396                    Store (SRSA (Arg0), PCEA)
6397                }
6398            }
6399
6400            Device (APC6)
6401            {
6402                Name (_HID, EisaId ("PNP0C0F"))
6403                Name (_UID, 0x1A)
6404                Method (_STA, 0, NotSerialized)
6405                {
6406                    If (LAnd (PCEB, PICF))
6407                    {
6408                        Return (0x0B)
6409                    }
6410                    Else
6411                    {
6412                        Return (0x09)
6413                    }
6414                }
6415
6416                Method (_PRS, 0, NotSerialized)
6417                {
6418                    Return (BUF1)
6419                }
6420
6421                Method (_DIS, 0, NotSerialized)
6422                {
6423                    Store (0x00, PCEB)
6424                }
6425
6426                Method (_CRS, 0, NotSerialized)
6427                {
6428                    Return (CRSA (PCEB))
6429                }
6430
6431                Method (_SRS, 1, NotSerialized)
6432                {
6433                    Store (SRSA (Arg0), PCEB)
6434                }
6435            }
6436
6437            Device (APC7)
6438            {
6439                Name (_HID, EisaId ("PNP0C0F"))
6440                Name (_UID, 0x1B)
6441                Method (_STA, 0, NotSerialized)
6442                {
6443                    If (LAnd (PCEC, PICF))
6444                    {
6445                        Return (0x0B)
6446                    }
6447                    Else
6448                    {
6449                        Return (0x09)
6450                    }
6451                }
6452
6453                Method (_PRS, 0, NotSerialized)
6454                {
6455                    Return (BUF1)
6456                }
6457
6458                Method (_DIS, 0, NotSerialized)
6459                {
6460                    Store (0x00, PCEC)
6461                }
6462
6463                Method (_CRS, 0, NotSerialized)
6464                {
6465                    Return (CRSA (PCEC))
6466                }
6467
6468                Method (_SRS, 1, NotSerialized)
6469                {
6470                    Store (SRSA (Arg0), PCEC)
6471                }
6472            }
6473
6474            Device (APC8)
6475            {
6476                Name (_HID, EisaId ("PNP0C0F"))
6477                Name (_UID, 0x1C)
6478                Method (_STA, 0, NotSerialized)
6479                {
6480                    If (LAnd (PCED, PICF))
6481                    {
6482                        Return (0x0B)
6483                    }
6484                    Else
6485                    {
6486                        Return (0x09)
6487                    }
6488                }
6489
6490                Method (_PRS, 0, NotSerialized)
6491                {
6492                    Return (BUF1)
6493                }
6494
6495                Method (_DIS, 0, NotSerialized)
6496                {
6497                    Store (0x00, PCED)
6498                }
6499
6500                Method (_CRS, 0, NotSerialized)
6501                {
6502                    Return (CRSA (PCED))
6503                }
6504
6505                Method (_SRS, 1, NotSerialized)
6506                {
6507                    Store (SRSA (Arg0), PCED)
6508                }
6509            }
6510
6511            Device (APCF)
6512            {
6513                Name (_HID, EisaId ("PNP0C0F"))
6514                Name (_UID, 0x1D)
6515                Method (_STA, 0, NotSerialized)
6516                {
6517                    If (LAnd (INTG, PICF))
6518                    {
6519                        Return (0x0B)
6520                    }
6521                    Else
6522                    {
6523                        Return (0x09)
6524                    }
6525                }
6526
6527                Method (_PRS, 0, NotSerialized)
6528                {
6529                    Return (BUFF)
6530                }
6531
6532                Method (_DIS, 0, NotSerialized)
6533                {
6534                    Store (0x00, INTG)
6535                }
6536
6537                Method (_CRS, 0, NotSerialized)
6538                {
6539                    Return (CRSA (INTG))
6540                }
6541
6542                Method (_SRS, 1, NotSerialized)
6543                {
6544                    Store (SRSA (Arg0), INTG)
6545                }
6546            }
6547
6548            Device (APCG)
6549            {
6550                Name (_HID, EisaId ("PNP0C0F"))
6551                Name (_UID, 0x1E)
6552                Method (_STA, 0, NotSerialized)
6553                {
6554                    If (LAnd (INTH, PICF))
6555                    {
6556                        Return (0x0B)
6557                    }
6558                    Else
6559                    {
6560                        Return (0x09)
6561                    }
6562                }
6563
6564                Method (_PRS, 0, NotSerialized)
6565                {
6566                    Return (BUFF)
6567                }
6568
6569                Method (_DIS, 0, NotSerialized)
6570                {
6571                    Store (0x00, INTH)
6572                }
6573
6574                Method (_CRS, 0, NotSerialized)
6575                {
6576                    Return (CRSA (INTH))
6577                }
6578
6579                Method (_SRS, 1, NotSerialized)
6580                {
6581                    Store (SRSA (Arg0), INTH)
6582                }
6583            }
6584
6585            Device (APCH)
6586            {
6587                Name (_HID, EisaId ("PNP0C0F"))
6588                Name (_UID, 0x1F)
6589                Method (_STA, 0, NotSerialized)
6590                {
6591                    If (LAnd (INTJ, PICF))
6592                    {
6593                        Return (0x0B)
6594                    }
6595                    Else
6596                    {
6597                        Return (0x09)
6598                    }
6599                }
6600
6601                Method (_PRS, 0, NotSerialized)
6602                {
6603                    Return (BUFF)
6604                }
6605
6606                Method (_DIS, 0, NotSerialized)
6607                {
6608                    Store (0x00, INTJ)
6609                }
6610
6611                Method (_CRS, 0, NotSerialized)
6612                {
6613                    Return (CRSA (INTJ))
6614                }
6615
6616                Method (_SRS, 1, NotSerialized)
6617                {
6618                    Store (SRSA (Arg0), INTJ)
6619                }
6620            }
6621
6622            Device (APCJ)
6623            {
6624                Name (_HID, EisaId ("PNP0C0F"))
6625                Name (_UID, 0x20)
6626                Method (_STA, 0, NotSerialized)
6627                {
6628                    If (LAnd (INTL, PICF))
6629                    {
6630                        Return (0x0B)
6631                    }
6632                    Else
6633                    {
6634                        Return (0x09)
6635                    }
6636                }
6637
6638                Method (_PRS, 0, NotSerialized)
6639                {
6640                    Return (BUFF)
6641                }
6642
6643                Method (_DIS, 0, NotSerialized)
6644                {
6645                    Store (0x00, INTL)
6646                }
6647
6648                Method (_CRS, 0, NotSerialized)
6649                {
6650                    Return (CRSA (INTL))
6651                }
6652
6653                Method (_SRS, 1, NotSerialized)
6654                {
6655                    Store (SRSA (Arg0), INTL)
6656                }
6657            }
6658
6659            Device (APMU)
6660            {
6661                Name (_HID, EisaId ("PNP0C0F"))
6662                Name (_UID, 0x21)
6663                Method (_STA, 0, NotSerialized)
6664                {
6665                    If (LAnd (INTS, PICF))
6666                    {
6667                        Return (0x0B)
6668                    }
6669                    Else
6670                    {
6671                        Return (0x09)
6672                    }
6673                }
6674
6675                Method (_PRS, 0, NotSerialized)
6676                {
6677                    Return (BUFF)
6678                }
6679
6680                Method (_DIS, 0, NotSerialized)
6681                {
6682                    Store (0x00, INTS)
6683                }
6684
6685                Method (_CRS, 0, NotSerialized)
6686                {
6687                    Return (CRSA (INTS))
6688                }
6689
6690                Method (_SRS, 1, NotSerialized)
6691                {
6692                    Store (SRSA (Arg0), INTS)
6693                }
6694            }
6695
6696            Device (AAZA)
6697            {
6698                Name (_HID, EisaId ("PNP0C0F"))
6699                Name (_UID, 0x22)
6700                Method (_STA, 0, NotSerialized)
6701                {
6702                    If (LAnd (INTK, PICF))
6703                    {
6704                        Return (0x0B)
6705                    }
6706                    Else
6707                    {
6708                        Return (0x09)
6709                    }
6710                }
6711
6712                Method (_PRS, 0, NotSerialized)
6713                {
6714                    Return (BUFF)
6715                }
6716
6717                Method (_DIS, 0, NotSerialized)
6718                {
6719                    Store (0x00, INTK)
6720                }
6721
6722                Method (_CRS, 0, NotSerialized)
6723                {
6724                    Return (CRSA (INTK))
6725                }
6726
6727                Method (_SRS, 1, NotSerialized)
6728                {
6729                    Store (SRSA (Arg0), INTK)
6730                }
6731            }
6732
6733            Device (APCK)
6734            {
6735                Name (_HID, EisaId ("PNP0C0F"))
6736                Name (_UID, 0x23)
6737                Method (_STA, 0, NotSerialized)
6738                {
6739                    If (LAnd (INTM, PICF))
6740                    {
6741                        Return (0x0B)
6742                    }
6743                    Else
6744                    {
6745                        Return (0x09)
6746                    }
6747                }
6748
6749                Method (_PRS, 0, NotSerialized)
6750                {
6751                    Return (BUFF)
6752                }
6753
6754                Method (_DIS, 0, NotSerialized)
6755                {
6756                    Store (0x00, INTM)
6757                }
6758
6759                Method (_CRS, 0, NotSerialized)
6760                {
6761                    Return (CRSA (INTM))
6762                }
6763
6764                Method (_SRS, 1, NotSerialized)
6765                {
6766                    Store (SRSA (Arg0), INTM)
6767                }
6768            }
6769
6770            Device (APCS)
6771            {
6772                Name (_HID, EisaId ("PNP0C0F"))
6773                Name (_UID, 0x24)
6774                Method (_STA, 0, NotSerialized)
6775                {
6776                    If (LAnd (INTF, PICF))
6777                    {
6778                        Return (0x0B)
6779                    }
6780                    Else
6781                    {
6782                        Return (0x09)
6783                    }
6784                }
6785
6786                Method (_PRS, 0, NotSerialized)
6787                {
6788                    Return (BUFF)
6789                }
6790
6791                Method (_DIS, 0, NotSerialized)
6792                {
6793                    Store (0x00, INTF)
6794                }
6795
6796                Method (_CRS, 0, NotSerialized)
6797                {
6798                    Return (CRSA (INTF))
6799                }
6800
6801                Method (_SRS, 1, NotSerialized)
6802                {
6803                    Store (SRSA (Arg0), INTF)
6804                }
6805            }
6806
6807            Device (APCL)
6808            {
6809                Name (_HID, EisaId ("PNP0C0F"))
6810                Name (_UID, 0x25)
6811                Method (_STA, 0, NotSerialized)
6812                {
6813                    If (LAnd (INTQ, PICF))
6814                    {
6815                        Return (0x0B)
6816                    }
6817                    Else
6818                    {
6819                        Return (0x09)
6820                    }
6821                }
6822
6823                Method (_PRS, 0, NotSerialized)
6824                {
6825                    Return (BUFF)
6826                }
6827
6828                Method (_DIS, 0, NotSerialized)
6829                {
6830                    Store (0x00, INTQ)
6831                }
6832
6833                Method (_CRS, 0, NotSerialized)
6834                {
6835                    Return (CRSA (INTQ))
6836                }
6837
6838                Method (_SRS, 1, NotSerialized)
6839                {
6840                    Store (SRSA (Arg0), INTQ)
6841                }
6842            }
6843
6844            Device (APCM)
6845            {
6846                Name (_HID, EisaId ("PNP0C0F"))
6847                Name (_UID, 0x26)
6848                Method (_STA, 0, NotSerialized)
6849                {
6850                    If (LAnd (INTU, PICF))
6851                    {
6852                        Return (0x0B)
6853                    }
6854                    Else
6855                    {
6856                        Return (0x09)
6857                    }
6858                }
6859
6860                Method (_PRS, 0, NotSerialized)
6861                {
6862                    Return (BUFF)
6863                }
6864
6865                Method (_DIS, 0, NotSerialized)
6866                {
6867                    Store (0x00, INTU)
6868                }
6869
6870                Method (_CRS, 0, NotSerialized)
6871                {
6872                    Return (CRSA (INTU))
6873                }
6874
6875                Method (_SRS, 1, NotSerialized)
6876                {
6877                    Store (SRSA (Arg0), INTU)
6878                }
6879            }
6880
6881            Device (APCZ)
6882            {
6883                Name (_HID, EisaId ("PNP0C0F"))
6884                Name (_UID, 0x27)
6885                Method (_STA, 0, NotSerialized)
6886                {
6887                    If (LAnd (INTN, PICF))
6888                    {
6889                        Return (0x0B)
6890                    }
6891                    Else
6892                    {
6893                        Return (0x09)
6894                    }
6895                }
6896
6897                Method (_PRS, 0, NotSerialized)
6898                {
6899                    Return (BUFF)
6900                }
6901
6902                Method (_DIS, 0, NotSerialized)
6903                {
6904                    Store (0x00, INTN)
6905                }
6906
6907                Method (_CRS, 0, NotSerialized)
6908                {
6909                    Return (CRSA (INTN))
6910                }
6911
6912                Method (_SRS, 1, NotSerialized)
6913                {
6914                    Store (SRSA (Arg0), INTN)
6915                }
6916            }
6917
6918            Device (APSI)
6919            {
6920                Name (_HID, EisaId ("PNP0C0F"))
6921                Name (_UID, 0x28)
6922                Method (_STA, 0, NotSerialized)
6923                {
6924                    If (LAnd (ITID, PICF))
6925                    {
6926                        Return (0x0B)
6927                    }
6928                    Else
6929                    {
6930                        Return (0x09)
6931                    }
6932                }
6933
6934                Method (_DIS, 0, NotSerialized)
6935                {
6936                    Store (0x00, ITID)
6937                }
6938
6939                Method (_PRS, 0, NotSerialized)
6940                {
6941                    Return (BUFF)
6942                }
6943
6944                Method (_CRS, 0, NotSerialized)
6945                {
6946                    Return (CRSA (ITID))
6947                }
6948
6949                Method (_SRS, 1, NotSerialized)
6950                {
6951                    Store (SRSA (Arg0), ITID)
6952                }
6953            }
6954
6955            Device (APSJ)
6956            {
6957                Name (_HID, EisaId ("PNP0C0F"))
6958                Name (_UID, 0x29)
6959                Method (_STA, 0, NotSerialized)
6960                {
6961                    If (LAnd (IS0P, PICF))
6962                    {
6963                        Return (0x0B)
6964                    }
6965                    Else
6966                    {
6967                        Return (0x09)
6968                    }
6969                }
6970
6971                Method (_DIS, 0, NotSerialized)
6972                {
6973                    Store (0x00, IS0P)
6974                }
6975
6976                Method (_PRS, 0, NotSerialized)
6977                {
6978                    Return (BUFF)
6979                }
6980
6981                Method (_CRS, 0, NotSerialized)
6982                {
6983                    Return (CRSA (IS0P))
6984                }
6985
6986                Method (_SRS, 1, NotSerialized)
6987                {
6988                    Store (SRSA (Arg0), IS0P)
6989                }
6990            }
6991        }
6992
6993        OperationRegion (SXTM, SystemMemory, 0x000FFF34, 0x04)
6994        Field (SXTM, WordAcc, NoLock, Preserve)
6995        {
6996            SMEM,   32
6997        }
6998
6999        OperationRegion (ACPM, SystemMemory, 0x3DEF2C00, 0x0400)
7000        Field (ACPM, ByteAcc, NoLock, Preserve)
7001        {
7002            QFNE,   8,
7003            QFTE,   8,
7004            C5C1,   8,
7005            FLT1,   8,
7006            FTG1,   8,
7007            FRP1,   8,
7008            LVT1,   8,
7009            CNQC,   8,
7010            K8VH,   16,
7011            K8VL,   16,
7012            K8HT,   8,
7013            REVG,   8,
7014            AIP,    8,
7015            AIP2,   8,
7016            WAKF,   8
7017        }
7018
7019        Device (MEM)
7020        {
7021            Name (_HID, EisaId ("PNP0C01"))
7022            Method (_CRS, 0, NotSerialized)
7023            {
7024                Name (BUF0, ResourceTemplate ()
7025                {
7026                    Memory32Fixed (ReadWrite,
7027                        0x000F0000,         // Address Base
7028                        0x00004000,         // Address Length
7029                        _Y13)
7030                    Memory32Fixed (ReadWrite,
7031                        0x000F4000,         // Address Base
7032                        0x00004000,         // Address Length
7033                        _Y14)
7034                    Memory32Fixed (ReadWrite,
7035                        0x000F8000,         // Address Base
7036                        0x00004000,         // Address Length
7037                        _Y15)
7038                    Memory32Fixed (ReadWrite,
7039                        0x000FC000,         // Address Base
7040                        0x00004000,         // Address Length
7041                        _Y16)
7042                    Memory32Fixed (ReadWrite,
7043                        0xFEFFF000,         // Address Base
7044                        0x00000100,         // Address Length
7045                        )
7046                    Memory32Fixed (ReadWrite,
7047                        0x00000000,         // Address Base
7048                        0x00010000,         // Address Length
7049                        _Y12)
7050                    Memory32Fixed (ReadWrite,
7051                        0xFFFF0000,         // Address Base
7052                        0x00010000,         // Address Length
7053                        )
7054                    Memory32Fixed (ReadWrite,
7055                        0x00000000,         // Address Base
7056                        0x000A0000,         // Address Length
7057                        )
7058                    Memory32Fixed (ReadWrite,
7059                        0x00100000,         // Address Base
7060                        0x00000000,         // Address Length
7061                        _Y17)
7062                    Memory32Fixed (ReadWrite,
7063                        0x00000000,         // Address Base
7064                        0x00000000,         // Address Length
7065                        _Y18)
7066                    Memory32Fixed (ReadWrite,
7067                        0xFEC00000,         // Address Base
7068                        0x00001000,         // Address Length
7069                        )
7070                    Memory32Fixed (ReadWrite,
7071                        0xFEE00000,         // Address Base
7072                        0x00100000,         // Address Length
7073                        )
7074                    Memory32Fixed (ReadWrite,
7075                        0xFEFFF000,         // Address Base
7076                        0x00001000,         // Address Length
7077                        )
7078                    Memory32Fixed (ReadWrite,
7079                        0xFFF80000,         // Address Base
7080                        0x00001000,         // Address Length
7081                        )
7082                    Memory32Fixed (ReadWrite,
7083                        0xFFF90000,         // Address Base
7084                        0x00030000,         // Address Length
7085                        )
7086                    Memory32Fixed (ReadWrite,
7087                        0xFFFED000,         // Address Base
7088                        0x00003000,         // Address Length
7089                        )
7090                })
7091                CreateDWordField (BUF0, \_SB.MEM._CRS._Y12._BAS, ACMM)
7092                CreateDWordField (BUF0, \_SB.MEM._CRS._Y13._BAS, RMA1)
7093                CreateDWordField (BUF0, \_SB.MEM._CRS._Y13._LEN, RSS1)
7094                CreateDWordField (BUF0, \_SB.MEM._CRS._Y14._BAS, RMA2)
7095                CreateDWordField (BUF0, \_SB.MEM._CRS._Y14._LEN, RSS2)
7096                CreateDWordField (BUF0, \_SB.MEM._CRS._Y15._BAS, RMA3)
7097                CreateDWordField (BUF0, \_SB.MEM._CRS._Y15._LEN, RSS3)
7098                CreateDWordField (BUF0, \_SB.MEM._CRS._Y16._BAS, RMA4)
7099                CreateDWordField (BUF0, \_SB.MEM._CRS._Y16._LEN, RSS4)
7100                CreateDWordField (BUF0, \_SB.MEM._CRS._Y17._LEN, EXTM)
7101                CreateDWordField (BUF0, \_SB.MEM._CRS._Y18._BAS, SXT1)
7102                CreateDWordField (BUF0, \_SB.MEM._CRS._Y18._LEN, SXT2)
7103                If (LNotEqual (SMEM, Zero))
7104                {
7105                    Add (AMEM, 0x00010000, SXT1)
7106                }
7107                Else
7108                {
7109                    Store (Zero, SXT1)
7110                }
7111
7112                Store (SMEM, SXT2)
7113                Subtract (AMEM, 0x00100000, EXTM)
7114                If (LNotEqual (ROM1, Zero))
7115                {
7116                    Store (RMA1, RMA2)
7117                    ShiftLeft (ROM1, 0x08, Local0)
7118                    Store (Local0, RMA1)
7119                    ShiftLeft (RMS1, 0x08, Local0)
7120                    Store (Local0, RSS1)
7121                    Store (0x8000, RSS2)
7122                }
7123
7124                If (LNotEqual (ROM2, Zero))
7125                {
7126                    Store (RMA2, RMA3)
7127                    ShiftLeft (ROM2, 0x08, Local0)
7128                    Store (Local0, RMA2)
7129                    ShiftLeft (RMS2, 0x08, Local0)
7130                    Store (Local0, RSS2)
7131                    Store (0xC000, RSS3)
7132                }
7133
7134                If (LNotEqual (ROM3, Zero))
7135                {
7136                    Store (RMA3, RMA4)
7137                    ShiftLeft (ROM3, 0x08, Local0)
7138                    Store (Local0, RMA3)
7139                    ShiftLeft (RMS3, 0x08, Local0)
7140                    Store (Local0, RSS3)
7141                    Store (0x00010000, RSS4)
7142                }
7143
7144                Store (AMEM, ACMM)
7145                Return (BUF0)
7146            }
7147        }
7148
7149        Device (\_SB.PCI0.EXPL)
7150        {
7151            Name (_HID, EisaId ("PNP0C02"))
7152            Name (_UID, 0x04)
7153            Method (_CRS, 0, NotSerialized)
7154            {
7155                Name (BUF0, ResourceTemplate ()
7156                {
7157                    Memory32Fixed (ReadWrite,
7158                        0xF0000000,         // Address Base
7159                        0x04000000,         // Address Length
7160                        )
7161                })
7162                Return (BUF0)
7163            }
7164        }
7165    }
7166
7167    OperationRegion (TEMM, SystemMemory, 0x000FF810, 0x0C)
7168    Field (TEMM, WordAcc, NoLock, Preserve)
7169    {
7170        TP1H,   16,
7171        TP1L,   16,
7172        TP2H,   16,
7173        TP2L,   16,
7174        TRPC,   16,
7175        SENF,   16
7176    }
7177
7178    Name (TVAR, Buffer (0x05)
7179    {
7180        /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00
7181    })
7182    CreateByteField (TVAR, 0x00, PLCY)
7183    CreateWordField (TVAR, 0x01, CTOS)
7184    CreateWordField (TVAR, 0x03, CTHY)
7185    Name (TBUF, Buffer (0x04)
7186    {
7187        /* 0000 */    0x00, 0x00, 0x00, 0x00
7188    })
7189    CreateByteField (TBUF, 0x00, DB00)
7190    CreateByteField (TBUF, 0x01, DB01)
7191    CreateWordField (TBUF, 0x00, DW00)
7192    CreateWordField (TBUF, 0x02, DW01)
7193    CreateDWordField (TBUF, 0x00, DATD)
7194    Name (TSAD, 0x5C)
7195    Method (STOS, 3, NotSerialized)
7196    {
7197        WBYT (TSAD, 0x4F, Local0)
7198    }
7199
7200    Method (STHY, 3, NotSerialized)
7201    {
7202        WBYT (TSAD, 0x4F, Arg1)
7203    }
7204
7205    Method (RTMP, 0, NotSerialized)
7206    {
7207        Store (RBYT (TSAD, 0x27), Local0)
7208        If (LLess (Local0, 0x80))
7209        {
7210            Multiply (Local0, 0x0A, Local0)
7211            Add (Local0, 0x0AAC, Local0)
7212        }
7213        Else
7214        {
7215            Subtract (Local0, 0x80, Local0)
7216            Multiply (Local0, 0x0A, Local0)
7217            Subtract (0x0AAC, Local0, Local0)
7218        }
7219
7220        If (LEqual (SSHU, 0x01))
7221        {
7222            Return (0x0C3C)
7223        }
7224        Else
7225        {
7226            Return (Local0)
7227        }
7228    }
7229
7230    Method (SFAN, 1, NotSerialized)
7231    {
7232        And (SENF, 0x02, Local0)
7233        If (LEqual (Local0, Zero))
7234        {
7235            If (LEqual (Arg0, Zero))
7236            {
7237                FOFF ()
7238            }
7239            Else
7240            {
7241                FON ()
7242            }
7243        }
7244    }
7245
7246    Method (FON, 0, NotSerialized)
7247    {
7248        WBYT (TSAD, 0x30, 0xFF)
7249        WBYT (TSAD, 0x31, 0xFF)
7250        WBYT (TSAD, 0x32, 0xFF)
7251    }
7252
7253    Method (FOFF, 0, NotSerialized)
7254    {
7255        WBYT (TSAD, 0x30, 0x00)
7256        WBYT (TSAD, 0x31, 0x00)
7257        WBYT (TSAD, 0x32, 0x00)
7258    }
7259
7260    Method (CSOU, 2, NotSerialized)
7261    {
7262        If (LLessEqual (Arg0, 0x7F))
7263        {
7264            If (LLessEqual (Arg1, 0x7F))
7265            {
7266                If (LGreaterEqual (Arg0, Arg1))
7267                {
7268                    Return (0x01)
7269                }
7270                Else
7271                {
7272                    Return (0x00)
7273                }
7274            }
7275            Else
7276            {
7277                Return (0x01)
7278            }
7279        }
7280        Else
7281        {
7282            If (LLessEqual (Arg1, 0x7F))
7283            {
7284                Return (0x00)
7285            }
7286            Else
7287            {
7288                If (LGreaterEqual (Arg0, Arg1))
7289                {
7290                    Return (0x01)
7291                }
7292                Else
7293                {
7294                    Return (0x00)
7295                }
7296            }
7297        }
7298    }
7299
7300    OperationRegion (SM00, SystemIO, \_SB.PCI0.SMB0.SMBB (), 0x06)
7301    Field (SM00, ByteAcc, NoLock, Preserve)
7302    {
7303        CTLR,   8,
7304        HSTS,   8,
7305        ADDR,   8,
7306        CMDR,   8,
7307        DAT0,   8,
7308        DAT1,   8
7309    }
7310
7311    Method (SWFS, 0, NotSerialized)
7312    {
7313        And (HSTS, 0x80, Local0)
7314        While (LEqual (Local0, Zero))
7315        {
7316            Stall (0x01)
7317            And (HSTS, 0x80, Local0)
7318        }
7319    }
7320
7321    Method (SRBY, 2, NotSerialized)
7322    {
7323        Store (Arg0, ADDR)
7324        Store (Arg1, CMDR)
7325        Store (0x04, CTLR)
7326        SWFS ()
7327    }
7328
7329    Method (WBYT, 3, NotSerialized)
7330    {
7331        Store (Arg0, ADDR)
7332        Store (Arg1, CMDR)
7333        Store (Arg2, DAT0)
7334        Store (0xFF, HSTS)
7335        Store (0x06, CTLR)
7336        SWFS ()
7337    }
7338
7339    Method (WWRD, 4, NotSerialized)
7340    {
7341        Store (Arg0, ADDR)
7342        Store (Arg1, CMDR)
7343        Store (Arg2, DAT0)
7344        Store (Arg3, DAT1)
7345        Store (0x08, CTLR)
7346        SWFS ()
7347    }
7348
7349    Method (RBYT, 2, NotSerialized)
7350    {
7351        Store (Arg0, ADDR)
7352        Store (Arg1, CMDR)
7353        Store (0x07, CTLR)
7354        SWFS ()
7355        Return (DAT0)
7356    }
7357
7358    Method (RWRD, 2, NotSerialized)
7359    {
7360        Store (Arg0, ADDR)
7361        Store (Arg1, CMDR)
7362        Store (0x09, CTLR)
7363        SWFS ()
7364        Store (DAT0, Local0)
7365        ShiftLeft (DAT1, 0x08, Local1)
7366        Or (Local0, Local1, Local2)
7367        Return (Local2)
7368    }
7369
7370    Scope (\_TZ)
7371    {
7372        Device (FAN)
7373        {
7374            Name (_HID, EisaId ("PNP0C0B"))
7375            Method (_INI, 0, NotSerialized)
7376            {
7377                Store (TP1H, CTOS)
7378                Store (TP1L, CTHY)
7379            }
7380        }
7381
7382        ThermalZone (THRM)
7383        {
7384            Name (_AL0, Package (0x01)
7385            {
7386                FAN
7387            })
7388            Method (_INI, 0, NotSerialized)
7389            {
7390            }
7391
7392            Method (_AC0, 0, NotSerialized)
7393            {
7394                If (Or (PLCY, PLCY, Local7))
7395                {
7396                    Return (KELA (TP2H))
7397                }
7398                Else
7399                {
7400                    Return (KELA (TP1H))
7401                }
7402            }
7403
7404            Name (_PSL, Package (0x01)
7405            {
7406                \_PR.CPU0
7407            })
7408            Name (_TSP, 0x3C)
7409            Name (_TC1, 0x04)
7410            Name (_TC2, 0x03)
7411            Method (_PSV, 0, NotSerialized)
7412            {
7413                If (Or (PLCY, PLCY, Local7))
7414                {
7415                    Return (KELA (TP1H))
7416                }
7417                Else
7418                {
7419                    Return (KELA (TP2H))
7420                }
7421            }
7422
7423            Method (KELA, 1, NotSerialized)
7424            {
7425                If (LGreater (Arg0, 0x01F4))
7426                {
7427                    Return (Arg0)
7428                }
7429                Else
7430                {
7431                    Store (Arg0, Local1)
7432                    Multiply (Local1, 0x0A, Local1)
7433                    Add (Local1, 0x0AAC, Local1)
7434                    Return (Local1)
7435                }
7436            }
7437
7438            Method (_CRT, 0, NotSerialized)
7439            {
7440                Return (TRPC)
7441            }
7442
7443            Method (_TMP, 0, NotSerialized)
7444            {
7445                And (SENF, 0x01, Local6)
7446                If (LEqual (Local6, 0x01))
7447                {
7448                    Return (KELA (RTMP ()))
7449                }
7450                Else
7451                {
7452                    Return (0x0B86)
7453                }
7454            }
7455
7456            Method (_SCP, 1, NotSerialized)
7457            {
7458                If (Arg0)
7459                {
7460                    Store (One, PLCY)
7461                }
7462                Else
7463                {
7464                    Store (Zero, PLCY)
7465                }
7466
7467                Notify (\_TZ.THRM, 0x81)
7468            }
7469
7470            Method (STMP, 2, NotSerialized)
7471            {
7472                Store (Arg1, DW00)
7473                If (Arg0)
7474                {
7475                    STHY (DB00, DB01, DW00)
7476                }
7477                Else
7478                {
7479                    STOS (DB00, DB01, DW00)
7480                }
7481            }
7482        }
7483    }
7484}
7485