Ticket #383: dsdt_1ADKN018.dsl

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