Ticket #184: dsdt_A0498000.dsl

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