Ticket #385: dsdt_GBTUACPI2.dsl

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