Ticket #138: dsdt_awrdacpi.dsl

File dsdt_awrdacpi.dsl, 144.5 KB (added by Chuck McKinnis, 17 years ago)

iasl -d

Line 
1/*
2 * Intel ACPI Component Architecture
3 * AML Disassembler version 20050902
4 *
5 * Disassembly of , Fri Oct 26 11:36:30 2007
6 */
7DefinitionBlock ("DSDT.aml", "DSDT", 1, "INTELR", "AWRDACPI", 4096)
8{
9 Scope (_PR)
10 {
11 Processor (CPU0, 0x00, 0x00000000, 0x00) {}
12 Processor (CPU1, 0x01, 0x00000000, 0x00) {}
13 }
14
15 Name (_S0, Package (0x04)
16 {
17 0x00,
18 0x00,
19 0x00,
20 0x00
21 })
22 Name (_S1, Package (0x04)
23 {
24 0x01,
25 0x00,
26 0x00,
27 0x00
28 })
29 Name (SS3, Package (0x04)
30 {
31 0x05,
32 0x00,
33 0x00,
34 0x00
35 })
36 Name (_S4, Package (0x04)
37 {
38 0x06,
39 0x00,
40 0x00,
41 0x00
42 })
43 Name (_S5, Package (0x04)
44 {
45 0x07,
46 0x00,
47 0x00,
48 0x00
49 })
50 Name (FLAG, 0x00)
51 Name (STAT, 0x00)
52 OperationRegion (DEBG, SystemIO, 0x80, 0x01)
53 Field (\DEBG, ByteAcc, NoLock, Preserve)
54 {
55 DBG1, 8
56 }
57
58 OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10)
59 Field (EXTM, WordAcc, NoLock, Preserve)
60 {
61 ROM1, 16,
62 RMS1, 16,
63 ROM2, 16,
64 RMS2, 16,
65 ROM3, 16,
66 RMS3, 16,
67 AMEM, 32
68 }
69
70 OperationRegion (SMIC, SystemIO, 0xB2, 0x01)
71 Field (\SMIC, ByteAcc, NoLock, Preserve)
72 {
73 SCP, 8
74 }
75
76 OperationRegion (PM1S, SystemIO, 0x4000, 0x04)
77 Field (\PM1S, ByteAcc, NoLock, Preserve)
78 {
79 PM00, 8,
80 PM01, 8,
81 PM02, 8,
82 PM03, 8
83 }
84
85 OperationRegion (SPEN, SystemIO, 0x4030, 0x01)
86 Field (\SPEN, ByteAcc, NoLock, Preserve)
87 {
88 , 4,
89 TRAP, 1
90 }
91
92 OperationRegion (GPI, SystemIO, 0x402A, 0x02)
93 Field (\GPI, ByteAcc, NoLock, Preserve)
94 {
95 GI00, 1,
96 GI01, 1,
97 GI02, 1,
98 GI03, 1,
99 GI04, 1,
100 GI05, 1,
101 GI06, 1,
102 GI07, 1,
103 GI08, 1,
104 GI09, 1,
105 GI0A, 1,
106 GI0B, 1,
107 GI0C, 1,
108 GI0D, 1,
109 GI0E, 1,
110 GI0F, 1
111 }
112
113 OperationRegion (GPI1, SystemIO, 0x408E, 0x02)
114 Field (\GPI1, ByteAcc, NoLock, Preserve)
115 {
116 GI10, 1,
117 GI11, 1,
118 GI12, 1,
119 GI13, 1,
120 GI14, 1,
121 GI15, 1,
122 GI16, 1,
123 GI17, 1,
124 GI18, 1,
125 GI19, 1,
126 GI1A, 1,
127 GI1B, 1,
128 GI1C, 1,
129 GI1D, 1,
130 GI1E, 1,
131 GI1F, 1
132 }
133
134 OperationRegion (GBLE, SystemIO, 0x4021, 0x01)
135 Field (\GBLE, ByteAcc, NoLock, Preserve)
136 {
137 ESMI, 8
138 }
139
140 OperationRegion (APMP, SystemIO, 0xB2, 0x02)
141 Field (APMP, ByteAcc, NoLock, Preserve)
142 {
143 APMC, 8,
144 APMD, 8
145 }
146
147 OperationRegion (GPO, SystemIO, 0x408E, 0x02)
148 Field (\GPO, ByteAcc, NoLock, Preserve)
149 {
150 GO10, 1,
151 GO11, 1,
152 , 1,
153 , 1,
154 , 1,
155 GO15, 1,
156 GO16, 1,
157 GO17, 1,
158 GO18, 1,
159 GO19, 1,
160 GO1A, 1,
161 GO1B, 1,
162 GO1C, 1
163 }
164
165 OperationRegion (GPO2, SystemIO, 0x40B8, 0x02)
166 Field (\GPO2, ByteAcc, NoLock, Preserve)
167 {
168 GO20, 1,
169 GO21, 1,
170 GO22, 1,
171 GO23, 1,
172 GO24, 1,
173 GO25, 1,
174 GO26, 1,
175 GO27, 1,
176 GO28, 1,
177 GO29, 1,
178 GO2A, 1,
179 GO2B, 1
180 }
181
182 Name (OSFX, 0x01)
183 Name (OSFL, 0x01)
184 Method (STRC, 2, NotSerialized)
185 {
186 If (LNot (LEqual (SizeOf (Arg0), SizeOf (Arg1))))
187 {
188 Return (0x00)
189 }
190
191 Add (SizeOf (Arg0), 0x01, Local0)
192 Name (BUF0, Buffer (Local0) {})
193 Name (BUF1, Buffer (Local0) {})
194 Store (Arg0, BUF0)
195 Store (Arg1, BUF1)
196 While (Local0)
197 {
198 Decrement (Local0)
199 If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0)))))
200 {
201 Return (Zero)
202 }
203 }
204
205 Return (One)
206 }
207
208 OperationRegion (RTCM, SystemIO, 0x70, 0x02)
209 Field (RTCM, ByteAcc, NoLock, Preserve)
210 {
211 CMIN, 8,
212 CMDA, 8
213 }
214
215 IndexField (CMIN, CMDA, ByteAcc, NoLock, Preserve)
216 {
217 Offset (0x0F),
218 SHUT, 8
219 }
220
221 OperationRegion (INFO, SystemMemory, 0x000FF840, 0x01)
222 Field (INFO, ByteAcc, NoLock, Preserve)
223 {
224 KBDI, 1,
225 RTCW, 1,
226 PS2F, 1,
227 IRFL, 2,
228 DISE, 1,
229 SSHU, 1
230 }
231
232 OperationRegion (BEEP, SystemIO, 0x61, 0x01)
233 Field (BEEP, ByteAcc, NoLock, Preserve)
234 {
235 S1B, 8
236 }
237
238 OperationRegion (CONT, SystemIO, 0x40, 0x04)
239 Field (CONT, ByteAcc, NoLock, Preserve)
240 {
241 CNT0, 8,
242 CNT1, 8,
243 CNT2, 8,
244 CTRL, 8
245 }
246
247 Method (SPKR, 1, NotSerialized)
248 {
249 Store (S1B, Local0)
250 Store (0xB6, CTRL)
251 Store (0x55, CNT2)
252 Store (0x03, CNT2)
253 Store (Arg0, Local2)
254 While (LGreater (Local2, 0x00))
255 {
256 Or (S1B, 0x03, S1B)
257 Store (0x5FFF, Local3)
258 While (LGreater (Local3, 0x00))
259 {
260 Decrement (Local3)
261 }
262
263 And (S1B, 0xFC, S1B)
264 Store (0x0EFF, Local3)
265 While (LGreater (Local3, 0x00))
266 {
267 Decrement (Local3)
268 }
269
270 Decrement (Local2)
271 }
272
273 Store (Local0, S1B)
274 }
275
276 Scope (\)
277 {
278 Name (PICF, 0x00)
279 Method (_PIC, 1, NotSerialized)
280 {
281 Store (Arg0, PICF)
282 }
283 }
284
285 Method (_PTS, 1, NotSerialized)
286 {
287 Or (Arg0, 0xF0, Local0)
288 Store (Local0, DBG1)
289 OSTP ()
290 If (LEqual (Arg0, 0x01))
291 {
292 Store (Arg0, Local0)
293 SALD (Local0)
294 SFAN (Zero)
295 }
296
297 If (LEqual (Arg0, 0x02)) {}
298 If (LEqual (Arg0, 0x03))
299 {
300 Store (Arg0, Local0)
301 SALD (Local0)
302 }
303
304 If (LEqual (Arg0, 0x05))
305 {
306 Store (ESMI, Local0)
307 And (Local0, 0xFB, Local0)
308 Store (Local0, ESMI)
309 Store (Arg0, Local0)
310 SALD (Local0)
311 }
312
313 If (LEqual (Arg0, 0x04))
314 {
315 If (LNot (PICF))
316 {
317 Sleep (0x64)
318 }
319 }
320 }
321
322 Method (_WAK, 1, NotSerialized)
323 {
324 Store (0xFF, DBG1)
325 While (LEqual (GI0C, One))
326 {
327 Store (One, GI0C)
328 Store (0x77, FLAG)
329 Notify (\_SB.SLPB, 0x02)
330 }
331
332 SALD (0x00)
333 SFAN (0xFF)
334 Notify (\_SB.PCI0.PX40.UAR1, 0x00)
335 If (OSFL)
336 {
337 Notify (\_SB.PWRB, 0x02)
338 }
339 Else
340 {
341 If (LEqual (RTCW, 0x00))
342 {
343 Notify (\_SB.PWRB, 0x02)
344 }
345 }
346
347 Notify (\_SB.PCI0.USB0, 0x00)
348 Notify (\_SB.PCI0.USB1, 0x00)
349 Notify (\_SB.PCI0.USB2, 0x00)
350 }
351
352 Scope (_SI)
353 {
354 Method (_MSG, 1, NotSerialized)
355 {
356 Store (Local0, Local0)
357 }
358
359 Method (_SST, 1, NotSerialized)
360 {
361 Store (Local0, Local0)
362 }
363 }
364
365 Scope (_GPE)
366 {
367 Method (_L05, 0, NotSerialized)
368 {
369 Notify (\_SB.PCI0.MODM, 0x02)
370 }
371
372 Method (_L03, 0, NotSerialized)
373 {
374 Notify (\_SB.PCI0.USB0, 0x02)
375 }
376
377 Method (_L04, 0, NotSerialized)
378 {
379 Notify (\_SB.PCI0.USB1, 0x02)
380 }
381
382 Method (_L0B, 0, NotSerialized)
383 {
384 Notify (\_SB.PCI0.HUB0, 0x02)
385 }
386
387 Method (_L08, 0, NotSerialized)
388 {
389 Notify (\_SB.PCI0.PX40.UAR1, 0x02)
390 Notify (\_SB.PCI0.PX40.UAR2, 0x02)
391 }
392
393 Method (_L1B, 0, NotSerialized)
394 {
395 If (LEqual (FLAG, 0x77))
396 {
397 While (LEqual (GI0C, One))
398 {
399 Store (One, GI0C)
400 }
401
402 Store (0x00, FLAG)
403 Notify (\_SB.SLPB, 0x02)
404 }
405 Else
406 {
407 Notify (\_SB.SLPB, 0x80)
408 }
409 }
410
411 Method (_L0C, 0, NotSerialized)
412 {
413 Notify (\_SB.PCI0.USB2, 0x02)
414 }
415
416 Method (_L0D, 0, NotSerialized)
417 {
418 Notify (\_SB.PCI0.USBE, 0x02)
419 }
420 }
421
422 Scope (_SB)
423 {
424 Device (PWRB)
425 {
426 Name (_HID, EisaId ("PNP0C0C"))
427 Method (_STA, 0, NotSerialized)
428 {
429 Return (0x0B)
430 }
431 }
432
433 Device (SLPB)
434 {
435 Name (_HID, EisaId ("PNP0C0E"))
436 Method (_STA, 0, NotSerialized)
437 {
438 Return (0x0B)
439 }
440
441 Name (_PRW, Package (0x02)
442 {
443 0x1B,
444 0x05
445 })
446 }
447
448 Device (PCI0)
449 {
450 Name (_HID, EisaId ("PNP0A03"))
451 Name (_ADR, 0x00)
452 Name (_UID, 0x01)
453 Name (_BBN, 0x00)
454 Method (SS3D, 0, NotSerialized)
455 {
456 If (LEqual (OSFL, 0x02))
457 {
458 Return (0x02)
459 }
460 Else
461 {
462 Return (0x03)
463 }
464 }
465
466 Method (_STA, 0, NotSerialized)
467 {
468 Return (0x0F)
469 }
470
471 Method (_CRS, 0, NotSerialized)
472 {
473 Name (BUF0, ResourceTemplate ()
474 {
475 WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
476 0x0000, // Address Space Granularity
477 0x0000, // Address Range Minimum
478 0x00FF, // Address Range Maximum
479 0x0000, // Address Translation Offset
480 0x0100,,,)
481 IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
482 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
483 0x0000, // Address Space Granularity
484 0x0000, // Address Range Minimum
485 0x0CF7, // Address Range Maximum
486 0x0000, // Address Translation Offset
487 0x0CF8,,,
488 , TypeStatic)
489 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
490 0x0000, // Address Space Granularity
491 0x0D00, // Address Range Minimum
492 0xFFFF, // Address Range Maximum
493 0x0000, // Address Translation Offset
494 0xF300,,,
495 , TypeStatic)
496 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
497 0x00000000, // Address Space Granularity
498 0x000A0000, // Address Range Minimum
499 0x000BFFFF, // Address Range Maximum
500 0x00000000, // Address Translation Offset
501 0x00020000,,,
502 , AddressRangeMemory, TypeStatic)
503 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
504 0x00000000, // Address Space Granularity
505 0x000C0000, // Address Range Minimum
506 0x000DFFFF, // Address Range Maximum
507 0x00000000, // Address Translation Offset
508 0x00020000,,,
509 , AddressRangeMemory, TypeStatic)
510 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
511 0x00000000, // Address Space Granularity
512 0x00100000, // Address Range Minimum
513 0xFEBFFFFF, // Address Range Maximum
514 0x00000000, // Address Translation Offset
515 0xFFF00000,,,
516 , AddressRangeMemory, TypeStatic)
517 })
518 CreateDWordField (BUF0, 0x76, TCMM)
519 CreateDWordField (BUF0, 0x82, TOMM)
520 Add (AMEM, 0x00010000, TCMM)
521 Subtract (0xFEC00000, TCMM, TOMM)
522 Return (BUF0)
523 }
524
525 Name (PICM, Package (0x17)
526 {
527 Package (0x04)
528 {
529 0x0002FFFF,
530 0x00,
531 \_SB.PCI0.LNKA,
532 0x00
533 },
534
535 Package (0x04)
536 {
537 0x0002FFFF,
538 0x01,
539 \_SB.PCI0.LNKB,
540 0x00
541 },
542
543 Package (0x04)
544 {
545 0x0002FFFF,
546 0x02,
547 \_SB.PCI0.LNKC,
548 0x00
549 },
550
551 Package (0x04)
552 {
553 0x0002FFFF,
554 0x03,
555 \_SB.PCI0.LNKD,
556 0x00
557 },
558
559 Package (0x04)
560 {
561 0x001EFFFF,
562 0x00,
563 \_SB.PCI0.LNKA,
564 0x00
565 },
566
567 Package (0x04)
568 {
569 0x001EFFFF,
570 0x01,
571 \_SB.PCI0.LNKB,
572 0x00
573 },
574
575 Package (0x04)
576 {
577 0x001EFFFF,
578 0x02,
579 \_SB.PCI0.LNKC,
580 0x00
581 },
582
583 Package (0x04)
584 {
585 0x001EFFFF,
586 0x03,
587 \_SB.PCI0.LNKD,
588 0x00
589 },
590
591 Package (0x04)
592 {
593 0x0002FFFF,
594 0x00,
595 \_SB.PCI0.LNKA,
596 0x00
597 },
598
599 Package (0x04)
600 {
601 0x0002FFFF,
602 0x01,
603 \_SB.PCI0.LNKB,
604 0x00
605 },
606
607 Package (0x04)
608 {
609 0x0002FFFF,
610 0x02,
611 \_SB.PCI0.LNKC,
612 0x00
613 },
614
615 Package (0x04)
616 {
617 0x0002FFFF,
618 0x03,
619 \_SB.PCI0.LNKD,
620 0x00
621 },
622
623 Package (0x04)
624 {
625 0x001FFFFF,
626 0x02,
627 \_SB.PCI0.LNKA,
628 0x00
629 },
630
631 Package (0x04)
632 {
633 0x001FFFFF,
634 0x00,
635 \_SB.PCI0.LNKC,
636 0x00
637 },
638
639 Package (0x04)
640 {
641 0x001FFFFF,
642 0x01,
643 \_SB.PCI0.LNKB,
644 0x00
645 },
646
647 Package (0x04)
648 {
649 0x001DFFFF,
650 0x00,
651 \_SB.PCI0.LNKA,
652 0x00
653 },
654
655 Package (0x04)
656 {
657 0x001DFFFF,
658 0x01,
659 \_SB.PCI0.LNKD,
660 0x00
661 },
662
663 Package (0x04)
664 {
665 0x001DFFFF,
666 0x02,
667 \_SB.PCI0.LNKC,
668 0x00
669 },
670
671 Package (0x04)
672 {
673 0x001DFFFF,
674 0x03,
675 \_SB.PCI0.LNK1,
676 0x00
677 },
678
679 Package (0x04)
680 {
681 0x0001FFFF,
682 0x00,
683 \_SB.PCI0.LNKA,
684 0x00
685 },
686
687 Package (0x04)
688 {
689 0x0001FFFF,
690 0x01,
691 \_SB.PCI0.LNKB,
692 0x00
693 },
694
695 Package (0x04)
696 {
697 0x0001FFFF,
698 0x02,
699 \_SB.PCI0.LNKC,
700 0x00
701 },
702
703 Package (0x04)
704 {
705 0x0001FFFF,
706 0x03,
707 \_SB.PCI0.LNKD,
708 0x00
709 }
710 })
711 Name (APIC, Package (0x17)
712 {
713 Package (0x04)
714 {
715 0x0002FFFF,
716 0x00,
717 0x00,
718 0x10
719 },
720
721 Package (0x04)
722 {
723 0x0002FFFF,
724 0x01,
725 0x00,
726 0x11
727 },
728
729 Package (0x04)
730 {
731 0x0002FFFF,
732 0x02,
733 0x00,
734 0x12
735 },
736
737 Package (0x04)
738 {
739 0x0002FFFF,
740 0x03,
741 0x00,
742 0x13
743 },
744
745 Package (0x04)
746 {
747 0x001EFFFF,
748 0x00,
749 0x00,
750 0x10
751 },
752
753 Package (0x04)
754 {
755 0x001EFFFF,
756 0x01,
757 0x00,
758 0x11
759 },
760
761 Package (0x04)
762 {
763 0x001EFFFF,
764 0x02,
765 0x00,
766 0x12
767 },
768
769 Package (0x04)
770 {
771 0x001EFFFF,
772 0x03,
773 0x00,
774 0x13
775 },
776
777 Package (0x04)
778 {
779 0x0002FFFF,
780 0x00,
781 0x00,
782 0x10
783 },
784
785 Package (0x04)
786 {
787 0x0002FFFF,
788 0x01,
789 0x00,
790 0x11
791 },
792
793 Package (0x04)
794 {
795 0x0002FFFF,
796 0x02,
797 0x00,
798 0x12
799 },
800
801 Package (0x04)
802 {
803 0x0002FFFF,
804 0x03,
805 0x00,
806 0x13
807 },
808
809 Package (0x04)
810 {
811 0x001FFFFF,
812 0x02,
813 0x00,
814 0x10
815 },
816
817 Package (0x04)
818 {
819 0x001FFFFF,
820 0x00,
821 0x00,
822 0x12
823 },
824
825 Package (0x04)
826 {
827 0x001FFFFF,
828 0x01,
829 0x00,
830 0x11
831 },
832
833 Package (0x04)
834 {
835 0x001DFFFF,
836 0x00,
837 0x00,
838 0x10
839 },
840
841 Package (0x04)
842 {
843 0x001DFFFF,
844 0x01,
845 0x00,
846 0x13
847 },
848
849 Package (0x04)
850 {
851 0x001DFFFF,
852 0x02,
853 0x00,
854 0x12
855 },
856
857 Package (0x04)
858 {
859 0x001DFFFF,
860 0x03,
861 0x00,
862 0x17
863 },
864
865 Package (0x04)
866 {
867 0x0001FFFF,
868 0x00,
869 0x00,
870 0x10
871 },
872
873 Package (0x04)
874 {
875 0x0001FFFF,
876 0x01,
877 0x00,
878 0x11
879 },
880
881 Package (0x04)
882 {
883 0x0001FFFF,
884 0x02,
885 0x00,
886 0x12
887 },
888
889 Package (0x04)
890 {
891 0x0001FFFF,
892 0x03,
893 0x00,
894 0x13
895 }
896 })
897 Method (_PRT, 0, NotSerialized)
898 {
899 If (LNot (PICF))
900 {
901 Return (PICM)
902 }
903 Else
904 {
905 Return (APIC)
906 }
907 }
908
909 Device (HUB0)
910 {
911 Name (_ADR, 0x001E0000)
912 Method (_STA, 0, NotSerialized)
913 {
914 Return (0x0F)
915 }
916
917 Name (PICM, Package (0x14)
918 {
919 Package (0x04)
920 {
921 0x0008FFFF,
922 0x00,
923 \_SB.PCI0.LNKE,
924 0x00
925 },
926
927 Package (0x04)
928 {
929 0x0008FFFF,
930 0x01,
931 \_SB.PCI0.LNKF,
932 0x00
933 },
934
935 Package (0x04)
936 {
937 0x0008FFFF,
938 0x02,
939 \_SB.PCI0.LNK0,
940 0x00
941 },
942
943 Package (0x04)
944 {
945 0x0008FFFF,
946 0x03,
947 \_SB.PCI0.LNK1,
948 0x00
949 },
950
951 Package (0x04)
952 {
953 0xFFFF,
954 0x00,
955 \_SB.PCI0.LNKA,
956 0x00
957 },
958
959 Package (0x04)
960 {
961 0xFFFF,
962 0x01,
963 \_SB.PCI0.LNKB,
964 0x00
965 },
966
967 Package (0x04)
968 {
969 0xFFFF,
970 0x02,
971 \_SB.PCI0.LNKC,
972 0x00
973 },
974
975 Package (0x04)
976 {
977 0xFFFF,
978 0x03,
979 \_SB.PCI0.LNKD,
980 0x00
981 },
982
983 Package (0x04)
984 {
985 0x0001FFFF,
986 0x00,
987 \_SB.PCI0.LNKB,
988 0x00
989 },
990
991 Package (0x04)
992 {
993 0x0001FFFF,
994 0x01,
995 \_SB.PCI0.LNKC,
996 0x00
997 },
998
999 Package (0x04)
1000 {
1001 0x0001FFFF,
1002 0x02,
1003 \_SB.PCI0.LNKD,
1004 0x00
1005 },
1006
1007 Package (0x04)
1008 {
1009 0x0001FFFF,
1010 0x03,
1011 \_SB.PCI0.LNKA,
1012 0x00
1013 },
1014
1015 Package (0x04)
1016 {
1017 0x0002FFFF,
1018 0x00,
1019 \_SB.PCI0.LNKC,
1020 0x00
1021 },
1022
1023 Package (0x04)
1024 {
1025 0x0002FFFF,
1026 0x01,
1027 \_SB.PCI0.LNKD,
1028 0x00
1029 },
1030
1031 Package (0x04)
1032 {
1033 0x0002FFFF,
1034 0x02,
1035 \_SB.PCI0.LNKA,
1036 0x00
1037 },
1038
1039 Package (0x04)
1040 {
1041 0x0002FFFF,
1042 0x03,
1043 \_SB.PCI0.LNKB,
1044 0x00
1045 },
1046
1047 Package (0x04)
1048 {
1049 0x000DFFFF,
1050 0x00,
1051 \_SB.PCI0.LNKF,
1052 0x00
1053 },
1054
1055 Package (0x04)
1056 {
1057 0x000DFFFF,
1058 0x01,
1059 \_SB.PCI0.LNK0,
1060 0x00
1061 },
1062
1063 Package (0x04)
1064 {
1065 0x000DFFFF,
1066 0x02,
1067 \_SB.PCI0.LNK1,
1068 0x00
1069 },
1070
1071 Package (0x04)
1072 {
1073 0x000DFFFF,
1074 0x03,
1075 \_SB.PCI0.LNKE,
1076 0x00
1077 }
1078 })
1079 Name (APIC, Package (0x14)
1080 {
1081 Package (0x04)
1082 {
1083 0x0008FFFF,
1084 0x00,
1085 0x00,
1086 0x14
1087 },
1088
1089 Package (0x04)
1090 {
1091 0x0008FFFF,
1092 0x01,
1093 0x00,
1094 0x15
1095 },
1096
1097 Package (0x04)
1098 {
1099 0x0008FFFF,
1100 0x02,
1101 0x00,
1102 0x16
1103 },
1104
1105 Package (0x04)
1106 {
1107 0x0008FFFF,
1108 0x03,
1109 0x00,
1110 0x17
1111 },
1112
1113 Package (0x04)
1114 {
1115 0xFFFF,
1116 0x00,
1117 0x00,
1118 0x10
1119 },
1120
1121 Package (0x04)
1122 {
1123 0xFFFF,
1124 0x01,
1125 0x00,
1126 0x11
1127 },
1128
1129 Package (0x04)
1130 {
1131 0xFFFF,
1132 0x02,
1133 0x00,
1134 0x12
1135 },
1136
1137 Package (0x04)
1138 {
1139 0xFFFF,
1140 0x03,
1141 0x00,
1142 0x13
1143 },
1144
1145 Package (0x04)
1146 {
1147 0x0001FFFF,
1148 0x00,
1149 0x00,
1150 0x11
1151 },
1152
1153 Package (0x04)
1154 {
1155 0x0001FFFF,
1156 0x01,
1157 0x00,
1158 0x12
1159 },
1160
1161 Package (0x04)
1162 {
1163 0x0001FFFF,
1164 0x02,
1165 0x00,
1166 0x13
1167 },
1168
1169 Package (0x04)
1170 {
1171 0x0001FFFF,
1172 0x03,
1173 0x00,
1174 0x10
1175 },
1176
1177 Package (0x04)
1178 {
1179 0x0002FFFF,
1180 0x00,
1181 0x00,
1182 0x12
1183 },
1184
1185 Package (0x04)
1186 {
1187 0x0002FFFF,
1188 0x01,
1189 0x00,
1190 0x13
1191 },
1192
1193 Package (0x04)
1194 {
1195 0x0002FFFF,
1196 0x02,
1197 0x00,
1198 0x10
1199 },
1200
1201 Package (0x04)
1202 {
1203 0x0002FFFF,
1204 0x03,
1205 0x00,
1206 0x11
1207 },
1208
1209 Package (0x04)
1210 {
1211 0x000DFFFF,
1212 0x00,
1213 0x00,
1214 0x15
1215 },
1216
1217 Package (0x04)
1218 {
1219 0x000DFFFF,
1220 0x01,
1221 0x00,
1222 0x16
1223 },
1224
1225 Package (0x04)
1226 {
1227 0x000DFFFF,
1228 0x02,
1229 0x00,
1230 0x17
1231 },
1232
1233 Package (0x04)
1234 {
1235 0x000DFFFF,
1236 0x03,
1237 0x00,
1238 0x14
1239 }
1240 })
1241 Method (_PRT, 0, NotSerialized)
1242 {
1243 If (LNot (PICF))
1244 {
1245 Return (PICM)
1246 }
1247 Else
1248 {
1249 Return (APIC)
1250 }
1251 }
1252
1253 Method (_PRW, 0, NotSerialized)
1254 {
1255 Return (Package (0x02)
1256 {
1257 0x0B,
1258 0x05
1259 })
1260 }
1261 }
1262
1263 Device (PX40)
1264 {
1265 Name (_ADR, 0x001F0000)
1266 OperationRegion (PREV, PCI_Config, 0x08, 0x01)
1267 Scope (\)
1268 {
1269 Field (\_SB.PCI0.PX40.PREV, ByteAcc, NoLock, Preserve)
1270 {
1271 REV0, 8
1272 }
1273 }
1274
1275 OperationRegion (PIRQ, PCI_Config, 0x60, 0x04)
1276 Scope (\)
1277 {
1278 Field (\_SB.PCI0.PX40.PIRQ, ByteAcc, NoLock, Preserve)
1279 {
1280 PIRA, 8,
1281 PIRB, 8,
1282 PIRC, 8,
1283 PIRD, 8
1284 }
1285 }
1286
1287 OperationRegion (PIR2, PCI_Config, 0x68, 0x04)
1288 Scope (\)
1289 {
1290 Field (\_SB.PCI0.PX40.PIR2, ByteAcc, NoLock, Preserve)
1291 {
1292 PIRE, 8,
1293 PIRF, 8,
1294 PIRG, 8,
1295 PIRH, 8
1296 }
1297 }
1298
1299 OperationRegion (LPIO, PCI_Config, 0xE0, 0x0E)
1300 Scope (\)
1301 {
1302 Field (\_SB.PCI0.PX40.LPIO, ByteAcc, NoLock, Preserve)
1303 {
1304 UAIO, 8,
1305 PRIO, 8,
1306 SNDD, 8,
1307 FWHD, 8,
1308 GN1L, 8,
1309 GN1H, 8,
1310 LPE1, 8,
1311 LPE2, 8,
1312 Offset (0x0C),
1313 GN2L, 8,
1314 GN2H, 8
1315 }
1316
1317 Method (DISD, 1, NotSerialized)
1318 {
1319 If (LEqual (Arg0, 0x00))
1320 {
1321 And (LPE1, 0xFE, LPE1)
1322 }
1323
1324 If (LEqual (Arg0, 0x01))
1325 {
1326 And (LPE1, 0xFD, LPE1)
1327 }
1328
1329 If (LEqual (Arg0, 0x02))
1330 {
1331 And (LPE1, 0xFB, LPE1)
1332 }
1333
1334 If (LEqual (Arg0, 0x03))
1335 {
1336 And (LPE1, 0xF7, LPE1)
1337 }
1338
1339 If (LEqual (Arg0, 0x04))
1340 {
1341 And (LPE2, 0xFC, LPE2)
1342 }
1343
1344 If (LEqual (Arg0, 0x05))
1345 {
1346 And (LPE1, 0xDF, LPE1)
1347 }
1348
1349 If (LEqual (Arg0, 0x06))
1350 {
1351 And (GN2L, 0xFE, GN2L)
1352 }
1353 }
1354
1355 Method (CKIO, 2, NotSerialized)
1356 {
1357 If (LEqual (Arg1, 0x00))
1358 {
1359 Or (LPE1, 0x01, LPE1)
1360 And (UAIO, 0xF0, Local0)
1361 If (LEqual (Arg0, 0x03F8))
1362 {
1363 Or (Local0, 0x00, UAIO)
1364 }
1365
1366 If (LEqual (Arg0, 0x02F8))
1367 {
1368 Or (Local0, 0x01, UAIO)
1369 }
1370
1371 If (LEqual (Arg0, 0x02E8))
1372 {
1373 Or (Local0, 0x05, UAIO)
1374 }
1375
1376 If (LEqual (Arg0, 0x03E8))
1377 {
1378 Or (Local0, 0x07, UAIO)
1379 }
1380 }
1381
1382 If (LEqual (Arg1, 0x01))
1383 {
1384 Or (LPE1, 0x02, LPE1)
1385 And (UAIO, 0x0F, Local0)
1386 If (LEqual (Arg0, 0x03F8))
1387 {
1388 Or (Local0, 0x00, UAIO)
1389 }
1390
1391 If (LEqual (Arg0, 0x02F8))
1392 {
1393 Or (Local0, 0x10, UAIO)
1394 }
1395
1396 If (LEqual (Arg0, 0x02E8))
1397 {
1398 Or (Local0, 0x50, UAIO)
1399 }
1400
1401 If (LEqual (Arg0, 0x03E8))
1402 {
1403 Or (Local0, 0x70, UAIO)
1404 }
1405 }
1406
1407 If (LEqual (Arg1, 0x02))
1408 {
1409 Or (LPE1, 0x04, LPE1)
1410 And (PRIO, 0xFC, Local0)
1411 If (LEqual (Arg0, 0x0378))
1412 {
1413 Or (Local0, 0x00, PRIO)
1414 }
1415
1416 If (LEqual (Arg0, 0x0278))
1417 {
1418 Or (Local0, 0x01, PRIO)
1419 }
1420
1421 If (LEqual (Arg0, 0x03BC))
1422 {
1423 Or (Local0, 0x02, PRIO)
1424 }
1425 }
1426
1427 If (LEqual (Arg1, 0x03))
1428 {
1429 Or (LPE1, 0x08, LPE1)
1430 }
1431
1432 If (LEqual (Arg1, 0x04))
1433 {
1434 If (LEqual (Arg0, 0x0201))
1435 {
1436 Or (LPE2, 0x01, LPE2)
1437 }
1438
1439 If (LEqual (Arg0, 0x0209))
1440 {
1441 Or (LPE2, 0x02, LPE2)
1442 }
1443 }
1444
1445 If (LEqual (Arg1, 0x05))
1446 {
1447 Or (LPE1, 0x20, LPE1)
1448 If (LEqual (Arg0, 0x0300))
1449 {
1450 Or (SNDD, 0x08, SNDD)
1451 }
1452
1453 If (LEqual (Arg0, 0x0330))
1454 {
1455 And (SNDD, 0xF7, SNDD)
1456 }
1457 }
1458
1459 If (LEqual (Arg1, 0x06))
1460 {
1461 If (LNot (LEqual (Arg0, 0xFFFF)))
1462 {
1463 And (Arg0, 0xFF, Local0)
1464 Or (Local0, 0x01, GN2L)
1465 ShiftRight (Arg0, 0x08, GN2H)
1466 }
1467 Else
1468 {
1469 Store (Zero, GN2H)
1470 Store (Zero, GN2L)
1471 }
1472 }
1473 }
1474 }
1475
1476 OperationRegion (LPDM, PCI_Config, 0x90, 0x02)
1477 Scope (\)
1478 {
1479 Field (\_SB.PCI0.PX40.LPDM, ByteAcc, NoLock, Preserve)
1480 {
1481 LDM0, 8,
1482 LDM1, 8
1483 }
1484
1485 Method (SLDM, 2, NotSerialized)
1486 {
1487 If (LEqual (Arg0, 0x00))
1488 {
1489 And (LDM0, 0xFC, Local0)
1490 Or (Local0, 0x01, LDM0)
1491 }
1492
1493 If (LEqual (Arg0, 0x01))
1494 {
1495 And (LDM0, 0xF3, Local0)
1496 Or (Local0, 0x04, LDM0)
1497 }
1498
1499 If (LEqual (Arg0, 0x02))
1500 {
1501 And (LDM0, 0xCF, Local0)
1502 Or (Local0, 0x10, LDM0)
1503 }
1504
1505 If (LEqual (Arg0, 0x03))
1506 {
1507 And (LDM0, 0x3F, Local0)
1508 Or (Local0, 0x40, LDM0)
1509 }
1510
1511 If (LEqual (Arg1, 0x00))
1512 {
1513 And (LDM0, 0xFC, Local0)
1514 Or (Local0, 0x03, LDM0)
1515 }
1516
1517 If (LEqual (Arg1, 0x01))
1518 {
1519 And (LDM0, 0xF3, Local0)
1520 Or (Local0, 0x0C, LDM0)
1521 }
1522
1523 If (LEqual (Arg1, 0x02))
1524 {
1525 And (LDM0, 0xCF, Local0)
1526 Or (Local0, 0x30, LDM0)
1527 }
1528
1529 If (LEqual (Arg1, 0x03))
1530 {
1531 And (LDM0, 0x3F, Local0)
1532 Or (Local0, 0xC0, LDM0)
1533 }
1534 }
1535 }
1536
1537 Scope (\)
1538 {
1539 OperationRegion (SCPP, SystemIO, 0xB2, 0x01)
1540 Field (\SCPP, ByteAcc, NoLock, Preserve)
1541 {
1542 SMIP, 8
1543 }
1544 }
1545
1546 Method (_INI, 0, NotSerialized)
1547 {
1548 If (STRC (\_OS, "Microsoft Windows"))
1549 {
1550 Store (0x56, SMIP)
1551 }
1552 Else
1553 {
1554 If (STRC (\_OS, "Microsoft Windows NT"))
1555 {
1556 If (CondRefOf (_OSI, Local0))
1557 {
1558 If (\_OSI ("Windows 2001"))
1559 {
1560 Store (0x59, SMIP)
1561 Store (0x00, OSFL)
1562 Store (0x03, OSFX)
1563 }
1564 }
1565 Else
1566 {
1567 Store (0x58, SMIP)
1568 Store (0x00, OSFX)
1569 Store (0x00, OSFL)
1570 }
1571 }
1572 Else
1573 {
1574 Store (0x57, SMIP)
1575 Store (0x02, OSFX)
1576 Store (0x02, OSFL)
1577 }
1578 }
1579 }
1580
1581 Scope (\)
1582 {
1583 Method (OSTP, 0, NotSerialized)
1584 {
1585 If (LEqual (OSFX, 0x01))
1586 {
1587 Store (0x56, SMIP)
1588 }
1589
1590 If (LEqual (OSFX, 0x02))
1591 {
1592 Store (0x57, SMIP)
1593 }
1594
1595 If (LEqual (OSFX, 0x00))
1596 {
1597 Store (0x58, SMIP)
1598 }
1599
1600 If (LEqual (OSFX, 0x03))
1601 {
1602 Store (0x59, SMIP)
1603 }
1604 }
1605 }
1606
1607 Device (SYSR)
1608 {
1609 Name (_HID, EisaId ("PNP0C02"))
1610 Name (_UID, 0x01)
1611 Name (_CRS, ResourceTemplate ()
1612 {
1613 IO (Decode16, 0x0010, 0x0010, 0x01, 0x10)
1614 IO (Decode16, 0x0022, 0x0022, 0x01, 0x1E)
1615 IO (Decode16, 0x0044, 0x0044, 0x01, 0x1C)
1616 IO (Decode16, 0x0062, 0x0062, 0x01, 0x02)
1617 IO (Decode16, 0x0065, 0x0065, 0x01, 0x0B)
1618 IO (Decode16, 0x0074, 0x0074, 0x01, 0x0C)
1619 IO (Decode16, 0x0091, 0x0091, 0x01, 0x03)
1620 IO (Decode16, 0x00A2, 0x00A2, 0x01, 0x1E)
1621 IO (Decode16, 0x00E0, 0x00E0, 0x01, 0x10)
1622 IO (Decode16, 0x0B78, 0x0B78, 0x04, 0x04)
1623 IO (Decode16, 0x0F78, 0x0F78, 0x04, 0x04)
1624 IO (Decode16, 0x0A78, 0x0A78, 0x04, 0x04)
1625 IO (Decode16, 0x0E78, 0x0E78, 0x04, 0x04)
1626 IO (Decode16, 0x0BBC, 0x0BBC, 0x04, 0x04)
1627 IO (Decode16, 0x0FBC, 0x0FBC, 0x04, 0x04)
1628 IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
1629 IO (Decode16, 0x0294, 0x0294, 0x01, 0x04)
1630 })
1631 }
1632
1633 Device (PIC)
1634 {
1635 Name (_HID, EisaId ("PNP0000"))
1636 Name (_CRS, ResourceTemplate ()
1637 {
1638 IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
1639 IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
1640 IRQNoFlags () {2}
1641 })
1642 }
1643
1644 Device (DMA1)
1645 {
1646 Name (_HID, EisaId ("PNP0200"))
1647 Name (_CRS, ResourceTemplate ()
1648 {
1649 DMA (Compatibility, BusMaster, Transfer8) {4}
1650 IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
1651 IO (Decode16, 0x0080, 0x0080, 0x01, 0x11)
1652 IO (Decode16, 0x0094, 0x0094, 0x01, 0x0C)
1653 IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
1654 })
1655 }
1656
1657 Device (TMR)
1658 {
1659 Name (_HID, EisaId ("PNP0100"))
1660 Name (_CRS, ResourceTemplate ()
1661 {
1662 IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
1663 IRQNoFlags () {0}
1664 })
1665 }
1666
1667 Device (RTC)
1668 {
1669 Name (_HID, EisaId ("PNP0B00"))
1670 Name (_CRS, ResourceTemplate ()
1671 {
1672 IO (Decode16, 0x0070, 0x0070, 0x04, 0x04)
1673 IRQNoFlags () {8}
1674 })
1675 }
1676
1677 Device (SPKR)
1678 {
1679 Name (_HID, EisaId ("PNP0800"))
1680 Name (_CRS, ResourceTemplate ()
1681 {
1682 IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
1683 })
1684 }
1685
1686 Device (COPR)
1687 {
1688 Name (_HID, EisaId ("PNP0C04"))
1689 Name (_CRS, ResourceTemplate ()
1690 {
1691 IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10)
1692 IRQNoFlags () {13}
1693 })
1694 }
1695
1696 Scope (\)
1697 {
1698 OperationRegion (WIN1, SystemIO, 0x2E, 0x02)
1699 Field (WIN1, ByteAcc, NoLock, Preserve)
1700 {
1701 INDP, 8,
1702 DATA, 8
1703 }
1704
1705 IndexField (INDP, DATA, ByteAcc, NoLock, Preserve)
1706 {
1707 Offset (0x02),
1708 CFG, 8,
1709 Offset (0x07),
1710 LDN, 8,
1711 Offset (0x20),
1712 IDHI, 8,
1713 IDLO, 8,
1714 POWC, 8,
1715 Offset (0x30),
1716 ACTR, 8,
1717 Offset (0x60),
1718 IOAH, 8,
1719 IOAL, 8,
1720 IO2H, 8,
1721 IO2L, 8,
1722 Offset (0x70),
1723 INTR, 8,
1724 Offset (0x72),
1725 INT1, 8,
1726 Offset (0x74),
1727 DMCH, 8,
1728 Offset (0xE0),
1729 CRE0, 8,
1730 CRE1, 8,
1731 CRE2, 8,
1732 CRE3, 8,
1733 CRE4, 8,
1734 Offset (0xF0),
1735 OPT1, 8,
1736 OPT2, 8,
1737 OPT3, 8,
1738 OPT4, 8,
1739 OPT5, 8,
1740 OPT6, 8,
1741 OPT7, 8,
1742 OPT8, 8,
1743 OPT9, 8,
1744 OPTA, 8
1745 }
1746
1747 Method (ENFG, 0, NotSerialized)
1748 {
1749 Store (0x87, INDP)
1750 Store (0x87, INDP)
1751 }
1752
1753 Method (EXFG, 0, NotSerialized)
1754 {
1755 Store (0xAA, INDP)
1756 }
1757 }
1758
1759 OperationRegion (COM1, SystemIO, 0x03F8, 0x08)
1760 Field (COM1, ByteAcc, NoLock, Preserve)
1761 {
1762 P3F8, 8,
1763 P3F9, 8,
1764 P3FA, 8,
1765 P3FB, 8,
1766 P3FC, 8,
1767 P3FD, 8,
1768 P3FE, 8,
1769 P3FF, 8
1770 }
1771
1772 OperationRegion (COM2, SystemIO, 0x02F8, 0x08)
1773 Field (COM2, ByteAcc, NoLock, Preserve)
1774 {
1775 P2F8, 8,
1776 P2F9, 8,
1777 P2FA, 8,
1778 P2FB, 8,
1779 P2FC, 8,
1780 P2FD, 8,
1781 P2FE, 8,
1782 P2FF, 8
1783 }
1784
1785 OperationRegion (COM3, SystemIO, 0x03E8, 0x08)
1786 Field (COM3, ByteAcc, NoLock, Preserve)
1787 {
1788 P3E8, 8,
1789 P3E9, 8,
1790 P3EA, 8,
1791 P3EB, 8,
1792 P3EC, 8,
1793 P3ED, 8,
1794 P3EE, 8,
1795 P3EF, 8
1796 }
1797
1798 OperationRegion (COM4, SystemIO, 0x02E8, 0x08)
1799 Field (COM4, ByteAcc, NoLock, Preserve)
1800 {
1801 P2E8, 8,
1802 P2E9, 8,
1803 P2EA, 8,
1804 P2EB, 8,
1805 P2EC, 8,
1806 P2ED, 8,
1807 P2EE, 8,
1808 P2EF, 8
1809 }
1810
1811 Method (ICOM, 1, NotSerialized)
1812 {
1813 Store (Arg0, Local0)
1814 If (LEqual (Local0, 0x03F8))
1815 {
1816 Store (P3FD, Local0)
1817 Store (P3FD, Local0)
1818 Store (0xC3, P3FA)
1819 While (LNot (LEqual (P3FA, 0xC1)))
1820 {
1821 Store (P3FE, Local0)
1822 }
1823 }
1824 Else
1825 {
1826 If (LEqual (Local0, 0x02F8))
1827 {
1828 Store (P2FD, Local0)
1829 Store (P2FD, Local0)
1830 Store (0xC3, P2FA)
1831 While (LNot (LEqual (P2FA, 0xC1)))
1832 {
1833 Store (P2FE, Local0)
1834 }
1835 }
1836 Else
1837 {
1838 If (LEqual (Local0, 0x03E8))
1839 {
1840 Store (P3ED, Local0)
1841 Store (P3ED, Local0)
1842 Store (0xC3, P3EA)
1843 While (LNot (LEqual (P3EA, 0xC1)))
1844 {
1845 Store (P3EE, Local0)
1846 }
1847 }
1848 Else
1849 {
1850 If (LEqual (Local0, 0x02E8))
1851 {
1852 Store (P2ED, Local0)
1853 Store (P2ED, Local0)
1854 Store (0xC3, P2EA)
1855 While (LNot (LEqual (P2EA, 0xC1)))
1856 {
1857 Store (P2EE, Local0)
1858 }
1859 }
1860 }
1861 }
1862 }
1863 }
1864
1865 Device (FDC0)
1866 {
1867 Name (_HID, EisaId ("PNP0700"))
1868 Method (_STA, 0, NotSerialized)
1869 {
1870 ENFG ()
1871 Store (Zero, LDN)
1872 If (ACTR)
1873 {
1874 EXFG ()
1875 Return (0x0F)
1876 }
1877 Else
1878 {
1879 If (LOr (IOAH, IOAL))
1880 {
1881 EXFG ()
1882 Return (0x0D)
1883 }
1884 Else
1885 {
1886 EXFG ()
1887 Return (0x00)
1888 }
1889 }
1890 }
1891
1892 Method (_DIS, 0, NotSerialized)
1893 {
1894 ENFG ()
1895 Store (0x00, LDN)
1896 Store (Zero, ACTR)
1897 SLDM (DMCH, 0x04)
1898 EXFG ()
1899 DISD (0x03)
1900 }
1901
1902 Method (_CRS, 0, NotSerialized)
1903 {
1904 Name (BUF0, ResourceTemplate ()
1905 {
1906 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
1907 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
1908 IRQNoFlags () {6}
1909 DMA (Compatibility, NotBusMaster, Transfer8) {2}
1910 })
1911 CreateByteField (BUF0, 0x02, IOLO)
1912 CreateByteField (BUF0, 0x03, IOHI)
1913 CreateByteField (BUF0, 0x04, IORL)
1914 CreateByteField (BUF0, 0x05, IORH)
1915 ENFG ()
1916 EXFG ()
1917 Return (BUF0)
1918 }
1919
1920 Name (_PRS, ResourceTemplate ()
1921 {
1922 StartDependentFnNoPri ()
1923 {
1924 IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
1925 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
1926 IRQNoFlags () {6}
1927 DMA (Compatibility, NotBusMaster, Transfer8) {2}
1928 }
1929 EndDependentFn ()
1930 })
1931 Method (_SRS, 1, NotSerialized)
1932 {
1933 CreateByteField (Arg0, 0x02, IOLO)
1934 CreateByteField (Arg0, 0x03, IOHI)
1935 CreateWordField (Arg0, 0x02, IOAD)
1936 CreateWordField (Arg0, 0x19, IRQL)
1937 CreateByteField (Arg0, 0x1C, DMAV)
1938 ENFG ()
1939 Store (Zero, LDN)
1940 Store (One, ACTR)
1941 SLDM (DMCH, DMCH)
1942 EXFG ()
1943 CKIO (IOAD, 0x03)
1944 }
1945 }
1946
1947 Device (UAR1)
1948 {
1949 Name (_HID, EisaId ("PNP0501"))
1950 Name (_UID, 0x01)
1951 Method (_STA, 0, NotSerialized)
1952 {
1953 ENFG ()
1954 Store (0x02, LDN)
1955 If (ACTR)
1956 {
1957 EXFG ()
1958 Return (0x0F)
1959 }
1960 Else
1961 {
1962 If (LOr (IOAH, IOAL))
1963 {
1964 EXFG ()
1965 Return (0x0D)
1966 }
1967 Else
1968 {
1969 EXFG ()
1970 Return (0x00)
1971 }
1972 }
1973
1974 EXFG ()
1975 }
1976
1977 Method (_DIS, 0, NotSerialized)
1978 {
1979 ENFG ()
1980 Store (0x02, LDN)
1981 Store (Zero, ACTR)
1982 EXFG ()
1983 DISD (0x00)
1984 }
1985
1986 Method (_CRS, 0, NotSerialized)
1987 {
1988 Name (BUF1, ResourceTemplate ()
1989 {
1990 IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
1991 IRQNoFlags () {}
1992 })
1993 CreateByteField (BUF1, 0x02, IOLO)
1994 CreateByteField (BUF1, 0x03, IOHI)
1995 CreateByteField (BUF1, 0x04, IORL)
1996 CreateByteField (BUF1, 0x05, IORH)
1997 CreateWordField (BUF1, 0x09, IRQW)
1998 ENFG ()
1999 Store (0x02, LDN)
2000 Store (IOAL, IOLO)
2001 Store (IOAL, IORL)
2002 Store (IOAH, IOHI)
2003 Store (IOAH, IORH)
2004 Store (One, Local0)
2005 ShiftLeft (Local0, INTR, IRQW)
2006 EXFG ()
2007 Return (BUF1)
2008 }
2009
2010 Name (_PRS, ResourceTemplate ()
2011 {
2012 StartDependentFnNoPri ()
2013 {
2014 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
2015 IRQNoFlags () {4,10,11}
2016 }
2017 StartDependentFnNoPri ()
2018 {
2019 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
2020 IRQNoFlags () {3,10,11}
2021 }
2022 StartDependentFnNoPri ()
2023 {
2024 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
2025 IRQNoFlags () {3,4,5,7,9,10,11,12}
2026 }
2027 StartDependentFnNoPri ()
2028 {
2029 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
2030 IRQNoFlags () {3,4,5,7,9,10,11,12}
2031 }
2032 EndDependentFn ()
2033 })
2034 Method (_SRS, 1, NotSerialized)
2035 {
2036 CreateByteField (Arg0, 0x02, IOLO)
2037 CreateByteField (Arg0, 0x03, IOHI)
2038 CreateWordField (Arg0, 0x02, IOAD)
2039 CreateWordField (Arg0, 0x09, IRQW)
2040 ENFG ()
2041 Store (0x02, LDN)
2042 Store (One, ACTR)
2043 Store (IOLO, IOAL)
2044 Store (IOHI, IOAH)
2045 FindSetRightBit (IRQW, Local0)
2046 Subtract (Local0, 0x01, INTR)
2047 EXFG ()
2048 CKIO (IOAD, 0x00)
2049 }
2050 }
2051
2052 Device (UAR2)
2053 {
2054 Name (_HID, EisaId ("PNP0501"))
2055 Name (_UID, 0x02)
2056 Method (_STA, 0, NotSerialized)
2057 {
2058 ENFG ()
2059 Store (0x03, LDN)
2060 And (OPT2, 0x30, Local0)
2061 If (LNot (LEqual (Local0, 0x10)))
2062 {
2063 If (ACTR)
2064 {
2065 EXFG ()
2066 Return (0x0F)
2067 }
2068 Else
2069 {
2070 If (LOr (IOAH, IOAL))
2071 {
2072 EXFG ()
2073 Return (0x0D)
2074 }
2075 Else
2076 {
2077 EXFG ()
2078 Return (0x00)
2079 }
2080 }
2081 }
2082 Else
2083 {
2084 EXFG ()
2085 Return (0x00)
2086 }
2087 }
2088
2089 Method (_DIS, 0, NotSerialized)
2090 {
2091 ENFG ()
2092 Store (0x03, LDN)
2093 And (OPT2, 0x38, Local0)
2094 If (LEqual (Local0, 0x00))
2095 {
2096 Store (Zero, ACTR)
2097 }
2098
2099 EXFG ()
2100 DISD (0x01)
2101 }
2102
2103 Method (_CRS, 0, NotSerialized)
2104 {
2105 Name (BUF2, ResourceTemplate ()
2106 {
2107 IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
2108 IRQNoFlags () {4}
2109 })
2110 CreateByteField (BUF2, 0x02, IOLO)
2111 CreateByteField (BUF2, 0x03, IOHI)
2112 CreateByteField (BUF2, 0x04, IORL)
2113 CreateByteField (BUF2, 0x05, IORH)
2114 CreateWordField (BUF2, 0x09, IRQW)
2115 ENFG ()
2116 Store (0x03, LDN)
2117 Store (IOAL, IOLO)
2118 Store (IOAL, IORL)
2119 Store (IOAH, IOHI)
2120 Store (IOAH, IORH)
2121 Store (One, Local0)
2122 ShiftLeft (Local0, INTR, IRQW)
2123 EXFG ()
2124 Return (BUF2)
2125 }
2126
2127 Name (_PRS, ResourceTemplate ()
2128 {
2129 StartDependentFnNoPri ()
2130 {
2131 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
2132 IRQNoFlags () {4,10,11}
2133 }
2134 StartDependentFnNoPri ()
2135 {
2136 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
2137 IRQNoFlags () {3,10,11}
2138 }
2139 StartDependentFnNoPri ()
2140 {
2141 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
2142 IRQNoFlags () {3,4,5,7,9,10,11,12}
2143 }
2144 StartDependentFnNoPri ()
2145 {
2146 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
2147 IRQNoFlags () {3,4,5,7,9,10,11,12}
2148 }
2149 EndDependentFn ()
2150 })
2151 Method (_SRS, 1, NotSerialized)
2152 {
2153 CreateByteField (Arg0, 0x02, IOLO)
2154 CreateByteField (Arg0, 0x03, IOHI)
2155 CreateWordField (Arg0, 0x02, IOAD)
2156 CreateWordField (Arg0, 0x09, IRQW)
2157 ENFG ()
2158 Store (0x03, LDN)
2159 Store (One, ACTR)
2160 Store (IOLO, IOAL)
2161 Store (IOHI, IOAH)
2162 FindSetRightBit (IRQW, Local0)
2163 Subtract (Local0, 0x01, INTR)
2164 EXFG ()
2165 CKIO (IOAD, 0x01)
2166 }
2167 }
2168
2169 Device (IRDA)
2170 {
2171 Name (_HID, EisaId ("PNP0510"))
2172 Method (_STA, 0, NotSerialized)
2173 {
2174 ENFG ()
2175 Store (0x03, LDN)
2176 And (OPT2, 0x30, Local0)
2177 If (LEqual (Local0, 0x10))
2178 {
2179 If (ACTR)
2180 {
2181 EXFG ()
2182 Return (0x0F)
2183 }
2184 Else
2185 {
2186 If (LOr (IOAH, IOAL))
2187 {
2188 EXFG ()
2189 Return (0x0D)
2190 }
2191 Else
2192 {
2193 EXFG ()
2194 Return (0x00)
2195 }
2196 }
2197 }
2198 Else
2199 {
2200 EXFG ()
2201 Return (0x00)
2202 }
2203 }
2204
2205 Method (_DIS, 0, NotSerialized)
2206 {
2207 If (LEqual (DISE, 0x01))
2208 {
2209 ENFG ()
2210 Store (0x03, LDN)
2211 And (OPT2, 0x38, Local0)
2212 If (LNot (LEqual (Local0, 0x00)))
2213 {
2214 Store (Zero, ACTR)
2215 }
2216
2217 EXFG ()
2218 DISD (0x01)
2219 }
2220
2221 Store (Local0, Local0)
2222 }
2223
2224 Method (_CRS, 0, NotSerialized)
2225 {
2226 Name (BUF4, ResourceTemplate ()
2227 {
2228 IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
2229 IRQNoFlags () {}
2230 })
2231 CreateByteField (BUF4, 0x02, IOLO)
2232 CreateByteField (BUF4, 0x03, IOHI)
2233 CreateByteField (BUF4, 0x04, IORL)
2234 CreateByteField (BUF4, 0x05, IORH)
2235 CreateWordField (BUF4, 0x09, IRQW)
2236 ENFG ()
2237 Store (0x03, LDN)
2238 Store (IOAL, IOLO)
2239 Store (IOAL, IORL)
2240 Store (IOAH, IOHI)
2241 Store (IOAH, IORH)
2242 ShiftLeft (0x01, INTR, IRQW)
2243 EXFG ()
2244 Return (BUF4)
2245 }
2246
2247 Name (_PRS, ResourceTemplate ()
2248 {
2249 StartDependentFnNoPri ()
2250 {
2251 IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
2252 IRQNoFlags () {3,4,5,7,9,10,11,12}
2253 }
2254 StartDependentFnNoPri ()
2255 {
2256 IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
2257 IRQNoFlags () {3,4,5,7,9,10,11,12}
2258 }
2259 StartDependentFnNoPri ()
2260 {
2261 IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
2262 IRQNoFlags () {3,4,5,7,9,10,11,12}
2263 }
2264 StartDependentFnNoPri ()
2265 {
2266 IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
2267 IRQNoFlags () {3,4,5,7,9,10,11,12}
2268 }
2269 EndDependentFn ()
2270 })
2271 Method (_SRS, 1, NotSerialized)
2272 {
2273 CreateByteField (Arg0, 0x02, IOLO)
2274 CreateByteField (Arg0, 0x03, IOHI)
2275 CreateWordField (Arg0, 0x02, IOAD)
2276 CreateWordField (Arg0, 0x09, IRQW)
2277 ENFG ()
2278 Store (0x03, LDN)
2279 Store (One, ACTR)
2280 Store (IOLO, IOAL)
2281 Store (IOHI, IOAH)
2282 FindSetRightBit (IRQW, Local0)
2283 Subtract (Local0, 0x01, INTR)
2284 EXFG ()
2285 CKIO (IOAD, 0x01)
2286 }
2287 }
2288
2289 Device (LPT1)
2290 {
2291 Name (_HID, EisaId ("PNP0400"))
2292 Method (_STA, 0, NotSerialized)
2293 {
2294 ENFG ()
2295 Store (0x01, LDN)
2296 And (OPT1, 0x02, Local0)
2297 If (LNot (LEqual (Local0, 0x02)))
2298 {
2299 If (ACTR)
2300 {
2301 EXFG ()
2302 Return (0x0F)
2303 }
2304 Else
2305 {
2306 If (LOr (IOAH, IOAL))
2307 {
2308 EXFG ()
2309 Return (0x0D)
2310 }
2311 Else
2312 {
2313 EXFG ()
2314 Return (0x00)
2315 }
2316 }
2317 }
2318 Else
2319 {
2320 EXFG ()
2321 Return (0x00)
2322 }
2323 }
2324
2325 Method (_DIS, 0, NotSerialized)
2326 {
2327 ENFG ()
2328 Store (0x01, LDN)
2329 Store (Zero, ACTR)
2330 EXFG ()
2331 DISD (0x02)
2332 }
2333
2334 Method (_CRS, 0, NotSerialized)
2335 {
2336 Name (BUF5, ResourceTemplate ()
2337 {
2338 IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
2339 IO (Decode16, 0x0000, 0x0000, 0x01, 0x04)
2340 IRQNoFlags () {}
2341 })
2342 CreateByteField (BUF5, 0x02, IOLO)
2343 CreateByteField (BUF5, 0x03, IOHI)
2344 CreateByteField (BUF5, 0x04, IORL)
2345 CreateByteField (BUF5, 0x05, IORH)
2346 CreateByteField (BUF5, 0x07, IOLE)
2347 CreateByteField (BUF5, 0x0A, IO21)
2348 CreateByteField (BUF5, 0x0B, IO22)
2349 CreateByteField (BUF5, 0x0C, IO23)
2350 CreateByteField (BUF5, 0x0D, IO24)
2351 CreateWordField (BUF5, 0x11, IRQW)
2352 ENFG ()
2353 Store (0x01, LDN)
2354 Store (IOAL, IOLO)
2355 Store (IOLO, IORL)
2356 Store (IOAH, IOHI)
2357 Store (IOHI, IORH)
2358 Store (IOAL, IO21)
2359 Store (IOAL, IO23)
2360 Add (IOAH, 0x04, IO22)
2361 Add (IOAH, 0x04, IO24)
2362 If (LEqual (IOLO, 0xBC))
2363 {
2364 Store (0x04, IOLE)
2365 }
2366 Else
2367 {
2368 Store (0x08, IOLE)
2369 }
2370
2371 Store (One, Local0)
2372 Store (INTR, Local5)
2373 ShiftLeft (Local0, Local5, IRQW)
2374 Store (One, ACTR)
2375 EXFG ()
2376 Return (BUF5)
2377 }
2378
2379 Name (_PRS, ResourceTemplate ()
2380 {
2381 StartDependentFnNoPri ()
2382 {
2383 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
2384 IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
2385 IRQNoFlags () {5,7}
2386 }
2387 StartDependentFnNoPri ()
2388 {
2389 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
2390 IO (Decode16, 0x0678, 0x0678, 0x01, 0x04)
2391 IRQNoFlags () {5,7}
2392 }
2393 StartDependentFnNoPri ()
2394 {
2395 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
2396 IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
2397 IRQNoFlags () {5,7}
2398 }
2399 EndDependentFn ()
2400 })
2401 Method (_SRS, 1, NotSerialized)
2402 {
2403 CreateByteField (Arg0, 0x02, IOLO)
2404 CreateByteField (Arg0, 0x03, IOHI)
2405 CreateWordField (Arg0, 0x02, IOAD)
2406 CreateByteField (Arg0, 0x04, IORL)
2407 CreateByteField (Arg0, 0x05, IORH)
2408 CreateWordField (Arg0, 0x11, IRQW)
2409 ENFG ()
2410 Store (0x01, LDN)
2411 Store (One, ACTR)
2412 Store (IOLO, IOAL)
2413 Store (IOHI, IOAH)
2414 FindSetLeftBit (IRQW, Local0)
2415 Subtract (Local0, 0x01, Local0)
2416 Store (Local0, INTR)
2417 EXFG ()
2418 CKIO (IOAD, 0x02)
2419 }
2420 }
2421
2422 Device (ECP1)
2423 {
2424 Name (_HID, EisaId ("PNP0401"))
2425 Method (_STA, 0, NotSerialized)
2426 {
2427 ENFG ()
2428 Store (0x01, LDN)
2429 And (OPT1, 0x02, Local0)
2430 If (LEqual (Local0, 0x02))
2431 {
2432 If (ACTR)
2433 {
2434 EXFG ()
2435 Return (0x0F)
2436 }
2437 Else
2438 {
2439 If (LOr (IOAH, IOAL))
2440 {
2441 EXFG ()
2442 Return (0x0D)
2443 }
2444 Else
2445 {
2446 EXFG ()
2447 Return (0x00)
2448 }
2449 }
2450 }
2451 Else
2452 {
2453 EXFG ()
2454 Return (0x00)
2455 }
2456 }
2457
2458 Method (_DIS, 0, NotSerialized)
2459 {
2460 ENFG ()
2461 Store (0x01, LDN)
2462 Store (Zero, ACTR)
2463 SLDM (DMCH, 0x04)
2464 EXFG ()
2465 DISD (0x02)
2466 }
2467
2468 Method (_CRS, 0, NotSerialized)
2469 {
2470 Name (BUF6, ResourceTemplate ()
2471 {
2472 IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
2473 IO (Decode16, 0x0000, 0x0000, 0x01, 0x04)
2474 IRQNoFlags () {}
2475 DMA (Compatibility, NotBusMaster, Transfer8) {}
2476 })
2477 CreateByteField (BUF6, 0x02, IOLO)
2478 CreateByteField (BUF6, 0x03, IOHI)
2479 CreateByteField (BUF6, 0x04, IORL)
2480 CreateByteField (BUF6, 0x05, IORH)
2481 CreateByteField (BUF6, 0x0A, IOEL)
2482 CreateByteField (BUF6, 0x0B, IOEH)
2483 CreateByteField (BUF6, 0x0C, IOML)
2484 CreateByteField (BUF6, 0x0D, IOMH)
2485 CreateByteField (BUF6, 0x07, IOLE)
2486 CreateWordField (BUF6, 0x11, IRQW)
2487 CreateByteField (BUF6, 0x14, DMAC)
2488 ENFG ()
2489 Store (0x01, LDN)
2490 Store (One, ACTR)
2491 Store (IOAL, Local2)
2492 Store (Local2, IOLO)
2493 Store (IOAH, Local3)
2494 Store (Local3, IOHI)
2495 Or (Local3, 0x04, Local3)
2496 Store (Local3, IOEH)
2497 Store (Local3, IOMH)
2498 Store (IOLO, IORL)
2499 Store (IOLO, IOEL)
2500 Store (IOLO, IOML)
2501 Store (IOHI, IORH)
2502 If (LEqual (IOLO, 0xBC))
2503 {
2504 Store (0x04, IOLE)
2505 }
2506 Else
2507 {
2508 Store (0x08, IOLE)
2509 }
2510
2511 Store (One, Local0)
2512 Store (INTR, Local5)
2513 ShiftLeft (Local0, Local5, IRQW)
2514 Store (One, Local0)
2515 Store (DMCH, Local5)
2516 ShiftLeft (Local0, Local5, DMAC)
2517 EXFG ()
2518 Return (BUF6)
2519 }
2520
2521 Name (_PRS, ResourceTemplate ()
2522 {
2523 StartDependentFnNoPri ()
2524 {
2525 IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
2526 IO (Decode16, 0x0778, 0x0778, 0x01, 0x04)
2527 IRQNoFlags () {5,7}
2528 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
2529 }
2530 StartDependentFnNoPri ()
2531 {
2532 IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
2533 IO (Decode16, 0x0678, 0x0678, 0x01, 0x04)
2534 IRQNoFlags () {5,7}
2535 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
2536 }
2537 StartDependentFnNoPri ()
2538 {
2539 IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
2540 IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
2541 IRQNoFlags () {5,7}
2542 DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3}
2543 }
2544 EndDependentFn ()
2545 })
2546 Method (_SRS, 1, NotSerialized)
2547 {
2548 CreateByteField (Arg0, 0x02, IOLO)
2549 CreateByteField (Arg0, 0x03, IOHI)
2550 CreateWordField (Arg0, 0x02, IOAD)
2551 CreateWordField (Arg0, 0x11, IRQW)
2552 CreateByteField (Arg0, 0x14, DMAC)
2553 ENFG ()
2554 Store (0x01, LDN)
2555 Store (One, ACTR)
2556 Store (IOLO, IOAL)
2557 Store (IOHI, IOAH)
2558 FindSetLeftBit (IRQW, Local0)
2559 Subtract (Local0, 0x01, Local0)
2560 Store (Local0, INTR)
2561 FindSetLeftBit (DMAC, Local1)
2562 Store (DMCH, Local0)
2563 Subtract (Local1, 0x01, DMCH)
2564 SLDM (Local0, DMCH)
2565 EXFG ()
2566 CKIO (IOAD, 0x02)
2567 }
2568 }
2569
2570 OperationRegion (KBCT, SystemIO, 0x60, 0x05)
2571 Field (KBCT, ByteAcc, NoLock, Preserve)
2572 {
2573 P060, 8,
2574 Offset (0x04),
2575 P064, 8
2576 }
2577
2578 Device (PS2M)
2579 {
2580 Name (_HID, EisaId ("PNP0F13"))
2581 Method (_STA, 0, NotSerialized)
2582 {
2583 If (LEqual (PS2F, 0x00))
2584 {
2585 Return (0x0F)
2586 }
2587 Else
2588 {
2589 Return (0x00)
2590 }
2591 }
2592
2593 Method (_CRS, 0, NotSerialized)
2594 {
2595 Name (BUF1, ResourceTemplate ()
2596 {
2597 IRQNoFlags () {12}
2598 })
2599 Name (BUF2, ResourceTemplate ()
2600 {
2601 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
2602 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
2603 IRQNoFlags () {12}
2604 })
2605 If (LEqual (KBDI, 0x01))
2606 {
2607 If (LEqual (OSFL, 0x02))
2608 {
2609 Return (BUF1)
2610 }
2611
2612 If (LEqual (OSFL, 0x01))
2613 {
2614 Return (BUF1)
2615 }
2616 Else
2617 {
2618 Return (BUF2)
2619 }
2620 }
2621 Else
2622 {
2623 Return (BUF1)
2624 }
2625 }
2626 }
2627
2628 Device (PS2K)
2629 {
2630 Name (_HID, EisaId ("PNP0303"))
2631 Name (_CID, 0x0B03D041)
2632 Method (_STA, 0, NotSerialized)
2633 {
2634 If (LEqual (KBDI, 0x01))
2635 {
2636 Return (0x00)
2637 }
2638 Else
2639 {
2640 Return (0x0F)
2641 }
2642 }
2643
2644 Name (_CRS, ResourceTemplate ()
2645 {
2646 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
2647 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
2648 IRQNoFlags () {1}
2649 })
2650 }
2651
2652 Device (PSMR)
2653 {
2654 Name (_HID, EisaId ("PNP0C02"))
2655 Name (_UID, 0x03)
2656 Method (_STA, 0, NotSerialized)
2657 {
2658 If (LEqual (KBDI, 0x00))
2659 {
2660 Return (0x00)
2661 }
2662
2663 If (LEqual (PS2F, 0x00))
2664 {
2665 If (LEqual (OSFL, 0x02))
2666 {
2667 Return (0x0F)
2668 }
2669
2670 If (LEqual (OSFL, 0x01))
2671 {
2672 Return (0x0F)
2673 }
2674
2675 Return (0x00)
2676 }
2677
2678 Return (0x00)
2679 }
2680
2681 Name (_CRS, ResourceTemplate ()
2682 {
2683 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
2684 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
2685 })
2686 }
2687
2688 Device (GAME)
2689 {
2690 Name (_HID, EisaId ("PNPB02F"))
2691 Method (_STA, 0, NotSerialized)
2692 {
2693 ENFG ()
2694 Store (0x07, LDN)
2695 If (LOr (IOAH, IOAL))
2696 {
2697 EXFG ()
2698 Return (0x0F)
2699 }
2700 Else
2701 {
2702 And (ACTR, 0x02, Local0)
2703 If (LEqual (Local0, 0x02))
2704 {
2705 EXFG ()
2706 Return (0x0D)
2707 }
2708 Else
2709 {
2710 EXFG ()
2711 Return (0x00)
2712 }
2713 }
2714 }
2715
2716 Method (_DIS, 0, NotSerialized)
2717 {
2718 ENFG ()
2719 Store (0x07, LDN)
2720 Store (Zero, IOAH)
2721 Store (Zero, IOAL)
2722 EXFG ()
2723 DISD (0x04)
2724 }
2725
2726 Method (_CRS, 0, NotSerialized)
2727 {
2728 Name (BUF1, ResourceTemplate ()
2729 {
2730 IO (Decode16, 0x0000, 0x0000, 0x01, 0x08)
2731 })
2732 CreateByteField (BUF1, 0x02, IOLO)
2733 CreateByteField (BUF1, 0x03, IOHI)
2734 CreateByteField (BUF1, 0x04, IORL)
2735 CreateByteField (BUF1, 0x05, IORH)
2736 ENFG ()
2737 Store (0x07, LDN)
2738 Store (IOAL, IOLO)
2739 Store (IOAL, IORL)
2740 Store (IOAH, IOHI)
2741 Store (IOAH, IORH)
2742 EXFG ()
2743 Return (BUF1)
2744 }
2745
2746 Name (_PRS, ResourceTemplate ()
2747 {
2748 StartDependentFnNoPri ()
2749 {
2750 IO (Decode16, 0x0200, 0x0200, 0x01, 0x08)
2751 }
2752 StartDependentFnNoPri ()
2753 {
2754 IO (Decode16, 0x0208, 0x0208, 0x01, 0x08)
2755 }
2756 EndDependentFn ()
2757 })
2758 Method (_SRS, 1, NotSerialized)
2759 {
2760 CreateByteField (Arg0, 0x02, IOLO)
2761 CreateByteField (Arg0, 0x03, IOHI)
2762 CreateWordField (Arg0, 0x02, IOAD)
2763 ENFG ()
2764 Store (0x07, LDN)
2765 Or (ACTR, 0x02, ACTR)
2766 Store (IOLO, IOAL)
2767 Store (IOHI, IOAH)
2768 EXFG ()
2769 CKIO (IOAD, 0x04)
2770 }
2771 }
2772
2773 Device (MIDI)
2774 {
2775 Name (_HID, EisaId ("PNPB006"))
2776 OperationRegion (MID1, SystemIO, 0x0290, 0x02)
2777 Field (MID1, ByteAcc, NoLock, Preserve)
2778 {
2779 MD1, 8,
2780 ST1, 8
2781 }
2782
2783 OperationRegion (MID2, SystemIO, 0x0300, 0x02)
2784 Field (MID2, ByteAcc, NoLock, Preserve)
2785 {
2786 MD2, 8,
2787 ST2, 8
2788 }
2789
2790 OperationRegion (MID3, SystemIO, 0x0330, 0x02)
2791 Field (MID3, ByteAcc, NoLock, Preserve)
2792 {
2793 MD3, 8,
2794 ST3, 8
2795 }
2796
2797 Method (_STA, 0, NotSerialized)
2798 {
2799 ENFG ()
2800 Store (0x07, LDN)
2801 If (LOr (IO2H, IO2L))
2802 {
2803 EXFG ()
2804 Return (0x0F)
2805 }
2806 Else
2807 {
2808 And (ACTR, 0x04, Local0)
2809 If (LEqual (Local0, 0x04))
2810 {
2811 EXFG ()
2812 Return (0x0D)
2813 }
2814 Else
2815 {
2816 EXFG ()
2817 Return (0x00)
2818 }
2819 }
2820 }
2821
2822 Method (_DIS, 0, NotSerialized)
2823 {
2824 ENFG ()
2825 Store (0x07, LDN)
2826 Store (Zero, IO2H)
2827 Store (Zero, IO2L)
2828 Store (Zero, INTR)
2829 EXFG ()
2830 DISD (0x05)
2831 }
2832
2833 Method (_CRS, 0, NotSerialized)
2834 {
2835 Name (BUF1, ResourceTemplate ()
2836 {
2837 IO (Decode16, 0x0000, 0x0000, 0x01, 0x02)
2838 IRQNoFlags () {}
2839 })
2840 CreateByteField (BUF1, 0x02, IOLO)
2841 CreateByteField (BUF1, 0x03, IOHI)
2842 CreateByteField (BUF1, 0x04, IORL)
2843 CreateByteField (BUF1, 0x05, IORH)
2844 CreateWordField (BUF1, 0x09, IRQW)
2845 ENFG ()
2846 Store (0x07, LDN)
2847 Store (IO2L, IOLO)
2848 Store (IO2L, IORL)
2849 Store (IO2H, IOHI)
2850 Store (IO2H, IORH)
2851 Store (One, Local0)
2852 ShiftLeft (Local0, INTR, IRQW)
2853 EXFG ()
2854 Return (BUF1)
2855 }
2856
2857 Name (_PRS, ResourceTemplate ()
2858 {
2859 StartDependentFnNoPri ()
2860 {
2861 IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
2862 IRQNoFlags () {3,4,5,7,9,10,11,12}
2863 }
2864 StartDependentFnNoPri ()
2865 {
2866 IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
2867 IRQNoFlags () {3,4,5,7,9,10,11,12}
2868 }
2869 StartDependentFnNoPri ()
2870 {
2871 IO (Decode16, 0x0290, 0x0290, 0x01, 0x02)
2872 IRQNoFlags () {3,4,5,7,9,10,11,12}
2873 }
2874 StartDependentFnNoPri ()
2875 {
2876 IO (Decode16, 0x0292, 0x0292, 0x02, 0x02)
2877 IRQNoFlags () {3,4,5,7,9,10,11,12}
2878 }
2879 EndDependentFn ()
2880 })
2881 Method (_SRS, 1, NotSerialized)
2882 {
2883 CreateByteField (Arg0, 0x02, IOLO)
2884 CreateByteField (Arg0, 0x03, IOHI)
2885 CreateWordField (Arg0, 0x02, IOAD)
2886 CreateWordField (Arg0, 0x09, IRQW)
2887 ENFG ()
2888 Store (0x07, LDN)
2889 Or (ACTR, 0x04, ACTR)
2890 Store (IOLO, IO2L)
2891 Store (IOHI, IO2H)
2892 FindSetLeftBit (IRQW, Local0)
2893 Subtract (Local0, 0x01, Local0)
2894 Store (Local0, INTR)
2895 EXFG ()
2896 CKIO (IOAD, 0x05)
2897 If (LEqual (IOAD, 0x0290))
2898 {
2899 And (ST1, 0x40, Local0)
2900 While (LEqual (Local0, 0x40))
2901 {
2902 Store (MD1, Local0)
2903 And (ST1, 0x40, Local0)
2904 }
2905 }
2906 Else
2907 {
2908 If (LEqual (IOAD, 0x0300))
2909 {
2910 And (ST2, 0x40, Local0)
2911 While (LEqual (Local0, 0x40))
2912 {
2913 Store (MD2, Local0)
2914 And (ST2, 0x40, Local0)
2915 }
2916 }
2917 Else
2918 {
2919 And (ST3, 0x40, Local0)
2920 While (LEqual (Local0, 0x40))
2921 {
2922 Store (MD3, Local0)
2923 And (ST3, 0x40, Local0)
2924 }
2925 }
2926 }
2927
2928 Store (IOLO, Local0)
2929 Store (IOHI, Local1)
2930 ShiftLeft (Local1, 0x08, Local1)
2931 Add (Local0, Local1, Local2)
2932 OperationRegion (MDPA, SystemIO, Local2, 0x02)
2933 Field (MDPA, ByteAcc, NoLock, Preserve)
2934 {
2935 MDP0, 8,
2936 MDP1, 8
2937 }
2938
2939 Store (0x2000, Local0)
2940 While (Local0)
2941 {
2942 Store (MDP0, Local1)
2943 Store (MDP1, Local1)
2944 And (Local1, 0x80, Local1)
2945 If (LEqual (Local1, 0x80))
2946 {
2947 Store (0x00, Local0)
2948 }
2949 Else
2950 {
2951 Subtract (Local0, 0x01, Local0)
2952 }
2953 }
2954 }
2955 }
2956
2957 Scope (\)
2958 {
2959 OperationRegion (MSI, SystemMemory, 0x000FF81B, 0x01)
2960 Field (MSI, ByteAcc, NoLock, Preserve)
2961 {
2962 MSIF, 8
2963 }
2964
2965 OperationRegion (WIN2, SystemIO, 0x70, 0x02)
2966 Field (WIN2, ByteAcc, NoLock, Preserve)
2967 {
2968 IND2, 8,
2969 DAT2, 8
2970 }
2971
2972 Method (RCMS, 0, NotSerialized)
2973 {
2974 Store (MSIF, Local0)
2975 ShiftRight (Local0, 0x06, Local1)
2976 Return (Local1)
2977 }
2978
2979 Method (SALD, 1, NotSerialized)
2980 {
2981 Store (0x00, Local1)
2982 If (LEqual (Arg0, 0x01))
2983 {
2984 Store (0x01, Local1)
2985 }
2986
2987 If (LEqual (Arg0, 0x03))
2988 {
2989 Store (0x01, Local1)
2990 }
2991
2992 If (LEqual (Arg0, 0x00))
2993 {
2994 Store (0x00, Local0)
2995 }
2996
2997 If (LEqual (Local1, 0x01))
2998 {
2999 Store (RCMS (), Local0)
3000 If (LEqual (Local0, 0x00))
3001 {
3002 Store (0x00, Local0)
3003 }
3004 Else
3005 {
3006 If (LEqual (Local0, 0x01))
3007 {
3008 XOr (0x00, 0x40, Local0)
3009 }
3010 Else
3011 {
3012 Store (0x80, Local0)
3013 }
3014 }
3015 }
3016
3017 If (LEqual (Arg0, 0x04))
3018 {
3019 Store (0x00, Local0)
3020 }
3021
3022 If (LEqual (Arg0, 0x05))
3023 {
3024 Store (0x00, Local0)
3025 }
3026
3027 SLED (Local0)
3028 }
3029 }
3030
3031 Scope (\)
3032 {
3033 Method (PLED, 1, NotSerialized)
3034 {
3035 ENFG ()
3036 Store (0x08, LDN)
3037 And (OPT6, 0x3F, Local0)
3038 Or (Local0, Arg0, OPT6)
3039 EXFG ()
3040 }
3041 }
3042
3043 Scope (\)
3044 {
3045 Method (SLED, 1, NotSerialized)
3046 {
3047 ENFG ()
3048 Store (0x09, LDN)
3049 And (OPT4, 0x3F, Local0)
3050 Or (Local0, Arg0, OPT4)
3051 EXFG ()
3052 }
3053 }
3054
3055 Device (PMIO)
3056 {
3057 Name (_HID, EisaId ("PNP0C02"))
3058 Name (_UID, 0x02)
3059 Method (_CRS, 0, NotSerialized)
3060 {
3061 Name (BUF0, ResourceTemplate ()
3062 {
3063 IO (Decode16, 0x4000, 0x4000, 0x01, 0xC0)
3064 })
3065 Return (BUF0)
3066 }
3067 }
3068 }
3069
3070 Device (USB0)
3071 {
3072 Name (_ADR, 0x001D0000)
3073 Method (SS3D, 0, NotSerialized)
3074 {
3075 If (LEqual (OSFL, 0x02))
3076 {
3077 Return (0x02)
3078 }
3079
3080 Return (0x03)
3081 }
3082
3083 Method (_PRW, 0, NotSerialized)
3084 {
3085 Return (Package (0x02)
3086 {
3087 0x03,
3088 0x04
3089 })
3090 }
3091 }
3092
3093 Device (USB1)
3094 {
3095 Name (_ADR, 0x001D0001)
3096 Method (SS3D, 0, NotSerialized)
3097 {
3098 If (LEqual (OSFL, 0x02))
3099 {
3100 Return (0x02)
3101 }
3102
3103 Return (0x03)
3104 }
3105
3106 Method (_PRW, 0, NotSerialized)
3107 {
3108 Return (Package (0x02)
3109 {
3110 0x04,
3111 0x04
3112 })
3113 }
3114 }
3115
3116 Device (USB2)
3117 {
3118 Name (_ADR, 0x001D0002)
3119 Method (SS3D, 0, NotSerialized)
3120 {
3121 If (LEqual (OSFL, 0x02))
3122 {
3123 Return (0x02)
3124 }
3125
3126 Return (0x03)
3127 }
3128
3129 Method (_PRW, 0, NotSerialized)
3130 {
3131 Return (Package (0x02)
3132 {
3133 0x0C,
3134 0x04
3135 })
3136 }
3137 }
3138
3139 Device (USBE)
3140 {
3141 Name (_ADR, 0x001D0007)
3142 Method (SS3D, 0, NotSerialized)
3143 {
3144 If (LEqual (OSFL, 0x02))
3145 {
3146 Return (0x02)
3147 }
3148
3149 Return (0x03)
3150 }
3151
3152 Method (_PRW, 0, NotSerialized)
3153 {
3154 Return (Package (0x02)
3155 {
3156 0x0D,
3157 0x04
3158 })
3159 }
3160 }
3161
3162 Device (ICHX)
3163 {
3164 Name (_ADR, 0x001F0001)
3165 OperationRegion (PCI, PCI_Config, 0x40, 0x20)
3166 Field (PCI, DWordAcc, NoLock, Preserve)
3167 {
3168 ITM0, 16,
3169 ITM1, 16,
3170 SIT0, 4,
3171 SIT1, 4,
3172 Offset (0x08),
3173 UDC0, 2,
3174 UDC1, 2,
3175 Offset (0x0A),
3176 UDT0, 8,
3177 UDT1, 8,
3178 Offset (0x14),
3179 ICF0, 2,
3180 ICF1, 2,
3181 , 6,
3182 WPPE, 1,
3183 , 1,
3184 FAS0, 2,
3185 FAS1, 2
3186 }
3187
3188 Method (GTM, 6, NotSerialized)
3189 {
3190 Store (Buffer (0x14) {}, Local0)
3191 CreateDWordField (Local0, 0x00, PIO0)
3192 CreateDWordField (Local0, 0x04, DMA0)
3193 CreateDWordField (Local0, 0x08, PIO1)
3194 CreateDWordField (Local0, 0x0C, DMA1)
3195 CreateDWordField (Local0, 0x10, FLAG)
3196 Store (0x10, FLAG)
3197 If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01))))
3198 {
3199 Store (0x0384, PIO0)
3200 }
3201 Else
3202 {
3203 Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (Arg0, 0x3000), 0x0C), Local1)
3204 Multiply (Subtract (0x09, Local1), 0x1E, PIO0)
3205 }
3206
3207 If (LOr (LAnd (Arg0, 0x4000), LAnd (Arg2, 0x01)))
3208 {
3209 If (LOr (And (Arg0, 0x80), LNot (And (Arg0, 0x10))))
3210 {
3211 Store (0x0384, PIO1)
3212 }
3213 Else
3214 {
3215 Add (And (Arg1, 0x03), ShiftRight (And (Arg1, 0x0C), 0x02), Local1)
3216 Multiply (Subtract (0x09, Local1), 0x1E, PIO1)
3217 }
3218 }
3219 Else
3220 {
3221 Store (PIO0, PIO1)
3222 }
3223
3224 If (And (Arg2, 0x01))
3225 {
3226 Subtract (0x04, And (Arg3, 0x03), Local1)
3227 If (And (Arg5, 0x01))
3228 {
3229 Store (0x14, DMA0)
3230 }
3231 Else
3232 {
3233 If (And (Arg4, 0x01))
3234 {
3235 Multiply (Local1, 0x0F, DMA0)
3236 }
3237 Else
3238 {
3239 Multiply (Local1, 0x1E, DMA0)
3240 }
3241 }
3242 }
3243 Else
3244 {
3245 Store (PIO0, DMA0)
3246 }
3247
3248 If (LOr (LAnd (Arg0, 0x4000), LAnd (Arg2, 0x01)))
3249 {
3250 If (And (Arg2, 0x02))
3251 {
3252 Subtract (0x04, ShiftRight (And (Arg3, 0x30), 0x04), Local1)
3253 If (And (Arg5, 0x02))
3254 {
3255 Store (0x14, DMA1)
3256 }
3257 Else
3258 {
3259 If (And (Arg4, 0x02))
3260 {
3261 Multiply (Local1, 0x0F, DMA1)
3262 }
3263 Else
3264 {
3265 Multiply (Local1, 0x1E, DMA1)
3266 }
3267 }
3268 }
3269 Else
3270 {
3271 Store (PIO1, DMA1)
3272 }
3273 }
3274 Else
3275 {
3276 Store (DMA0, DMA1)
3277 }
3278
3279 Store (Zero, FLAG)
3280 If (And (Arg0, 0x01))
3281 {
3282 Or (FLAG, 0x10, FLAG)
3283 }
3284
3285 If (And (Arg2, 0x01))
3286 {
3287 Or (FLAG, 0x01, FLAG)
3288 }
3289
3290 If (And (Arg0, 0x02))
3291 {
3292 Or (FLAG, 0x02, FLAG)
3293 }
3294
3295 If (And (Arg2, 0x02))
3296 {
3297 Or (FLAG, 0x04, FLAG)
3298 }
3299
3300 If (And (Arg0, 0x20))
3301 {
3302 Or (FLAG, 0x08, FLAG)
3303 }
3304
3305 Return (Local0)
3306 }
3307
3308 Method (STM, 3, NotSerialized)
3309 {
3310 Store (Buffer (0x18) {}, Local7)
3311 CreateDWordField (Local7, 0x00, ITM)
3312 CreateDWordField (Local7, 0x04, SIT)
3313 CreateDWordField (Local7, 0x08, UDC)
3314 CreateDWordField (Local7, 0x0C, UDT)
3315 CreateDWordField (Local7, 0x10, ICF)
3316 CreateDWordField (Local7, 0x14, FAS)
3317 CreateDWordField (Arg0, 0x00, PIO0)
3318 CreateDWordField (Arg0, 0x04, DMA0)
3319 CreateDWordField (Arg0, 0x08, PIO1)
3320 CreateDWordField (Arg0, 0x0C, DMA1)
3321 CreateDWordField (Arg0, 0x10, FLAG)
3322 Store (FLAG, Local4)
3323 Store (0x8000, Local0)
3324 If (And (Local4, 0x02))
3325 {
3326 Or (Local0, 0x07, Local0)
3327 }
3328
3329 If (And (Local4, 0x08))
3330 {
3331 Or (Local0, 0x4000, Local0)
3332 Or (Local0, 0x70, Local0)
3333 }
3334
3335 If (LAnd (LLess (DMA0, PIO0), LNot (And (Local4, 0x01))))
3336 {
3337 Or (Local0, 0x08, Local0)
3338 }
3339
3340 If (LAnd (LLess (DMA1, PIO1), LNot (And (Local4, 0x04))))
3341 {
3342 Or (Local0, 0x80, Local0)
3343 }
3344
3345 If (PIO0)
3346 {
3347 If (LLess (PIO0, 0x0384))
3348 {
3349 Or (Local0, 0x01, Local0)
3350 }
3351 }
3352
3353 If (PIO1)
3354 {
3355 If (LLess (PIO1, 0x0384))
3356 {
3357 Or (Local0, 0x10, Local0)
3358 }
3359 }
3360
3361 If (And (Local4, 0x01))
3362 {
3363 Store (PIO0, Local1)
3364 }
3365 Else
3366 {
3367 Store (DMA0, Local1)
3368 }
3369
3370 If (Local1)
3371 {
3372 If (LNot (LGreater (Local1, 0x78)))
3373 {
3374 Or (Local0, 0x2300, Local0)
3375 }
3376 Else
3377 {
3378 If (LNot (LGreater (Local1, 0xB4)))
3379 {
3380 Or (Local0, 0x2100, Local0)
3381 }
3382 Else
3383 {
3384 If (LNot (LGreater (Local1, 0xF0)))
3385 {
3386 Or (Local0, 0x1000, Local0)
3387 }
3388 }
3389 }
3390 }
3391
3392 Store (Local0, ITM)
3393 Store (Zero, Local0)
3394 If (And (Local4, 0x04))
3395 {
3396 Store (PIO1, Local1)
3397 }
3398 Else
3399 {
3400 Store (DMA1, Local1)
3401 }
3402
3403 If (Local1)
3404 {
3405 If (LNot (LGreater (Local1, 0x78)))
3406 {
3407 Store (0x0B, Local0)
3408 }
3409 Else
3410 {
3411 If (LNot (LGreater (Local1, 0xB4)))
3412 {
3413 Store (0x09, Local0)
3414 }
3415 Else
3416 {
3417 If (LNot (LGreater (Local1, 0xF0)))
3418 {
3419 Store (0x04, Local0)
3420 }
3421 }
3422 }
3423 }
3424
3425 Store (Local0, SIT)
3426 Store (0x00, Local0)
3427 If (And (Local4, 0x01))
3428 {
3429 Or (Local0, 0x01, Local0)
3430 }
3431
3432 If (And (Local4, 0x04))
3433 {
3434 Or (Local0, 0x02, Local0)
3435 }
3436
3437 Store (Local0, UDC)
3438 Store (0x00, Local0)
3439 If (And (Local4, 0x01))
3440 {
3441 If (LEqual (DMA0, 0x14))
3442 {
3443 Store (0x01, Local0)
3444 }
3445 Else
3446 {
3447 If (LLess (DMA0, 0x3C))
3448 {
3449 Divide (DMA0, 0x0F, , Local1)
3450 }
3451 Else
3452 {
3453 Divide (DMA0, 0x1E, , Local1)
3454 }
3455
3456 Subtract (0x04, Local1, Local0)
3457 }
3458 }
3459
3460 If (And (Local4, 0x04))
3461 {
3462 If (LEqual (DMA1, 0x14))
3463 {
3464 Store (0x01, Local1)
3465 }
3466 Else
3467 {
3468 If (LLess (DMA1, 0x3C))
3469 {
3470 Divide (DMA1, 0x0F, , Local1)
3471 }
3472 Else
3473 {
3474 Divide (DMA1, 0x1E, , Local1)
3475 }
3476
3477 Subtract (0x04, Local1, Local1)
3478 }
3479
3480 ShiftLeft (Local1, 0x04, Local1)
3481 Or (Local0, Local1, Local0)
3482 }
3483
3484 Store (Local0, UDT)
3485 Store (0x00, Local0)
3486 If (DMA0)
3487 {
3488 If (LGreater (DMA0, 0x14))
3489 {
3490 If (LLess (DMA0, 0x3C))
3491 {
3492 Or (Local0, 0x01, Local0)
3493 }
3494 }
3495 }
3496
3497 If (DMA1)
3498 {
3499 If (LGreater (DMA1, 0x14))
3500 {
3501 If (LLess (DMA1, 0x3C))
3502 {
3503 Or (Local0, 0x02, Local0)
3504 }
3505 }
3506 }
3507
3508 Store (Local0, ICF)
3509 Store (0x00, Local0)
3510 If (LEqual (DMA0, 0x14))
3511 {
3512 Or (Local0, 0x01, Local0)
3513 }
3514
3515 If (LEqual (DMA1, 0x14))
3516 {
3517 Or (Local0, 0x02, Local0)
3518 }
3519
3520 Store (Local0, FAS)
3521 Return (Local7)
3522 }
3523
3524 Method (H15P, 1, NotSerialized)
3525 {
3526 Name (BUFF, Buffer (0x08)
3527 {
3528 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
3529 })
3530 Store (Arg0, Local0)
3531 Store (BUFF, Local1)
3532 Concatenate (Local0, Local1, Local7)
3533 CreateWordField (Local7, 0x02, CYL)
3534 CreateWordField (Local7, 0x06, HEAD)
3535 CreateWordField (Local7, 0x0C, SPT)
3536 If (LAnd (LNot (LLess (HEAD, 0x10)), LNot (LLess (CYL, 0x2000))))
3537 {
3538 Return (SPT)
3539 }
3540 Else
3541 {
3542 Return (Zero)
3543 }
3544 }
3545
3546 Method (GTF0, 7, NotSerialized)
3547 {
3548 Store (Buffer (0x07)
3549 {
3550 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
3551 }, Local7)
3552 CreateByteField (Local7, 0x01, MODE)
3553 If (And (Arg2, 0x01))
3554 {
3555 And (Arg3, 0x03, Local0)
3556 If (And (Arg6, 0x01))
3557 {
3558 Add (Local0, 0x04, Local0)
3559 }
3560 Else
3561 {
3562 If (And (Arg4, 0x01))
3563 {
3564 Add (Local0, 0x02, Local0)
3565 }
3566 }
3567
3568 Or (Local0, 0x40, MODE)
3569 }
3570 Else
3571 {
3572 Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (Arg0, 0x3000), 0x0C), Local0)
3573 If (LNot (LLess (Local0, 0x05)))
3574 {
3575 Store (0x22, MODE)
3576 }
3577 Else
3578 {
3579 If (LNot (LLess (Local0, 0x03)))
3580 {
3581 Store (0x21, MODE)
3582 }
3583 Else
3584 {
3585 Store (0x20, MODE)
3586 }
3587 }
3588 }
3589
3590 Concatenate (Local7, Local7, Local6)
3591 If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01))))
3592 {
3593 If (And (Arg0, 0x02))
3594 {
3595 Store (0x00, MODE)
3596 }
3597 Else
3598 {
3599 Store (0x01, MODE)
3600 }
3601 }
3602 Else
3603 {
3604 Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (Arg0, 0x3000), 0x0C), Local0)
3605 If (LNot (LLess (Local0, 0x05)))
3606 {
3607 Store (0x0C, MODE)
3608 }
3609 Else
3610 {
3611 If (LNot (LLess (Local0, 0x03)))
3612 {
3613 Store (0x0B, MODE)
3614 }
3615 Else
3616 {
3617 Store (0x0A, MODE)
3618 }
3619 }
3620 }
3621
3622 Concatenate (Local6, Local7, Local5)
3623 If (Arg5)
3624 {
3625 Store (Buffer (0x07)
3626 {
3627 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x91
3628 }, Local4)
3629 CreateByteField (Local4, 0x01, SPT)
3630 Store (Arg5, SPT)
3631 Concatenate (Local5, Local4, Local6)
3632 Return (Local6)
3633 }
3634 Else
3635 {
3636 Return (Local5)
3637 }
3638 }
3639
3640 Method (GTF1, 7, NotSerialized)
3641 {
3642 Store (Buffer (0x07)
3643 {
3644 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
3645 }, Local7)
3646 CreateByteField (Local7, 0x01, MODE)
3647 If (And (Arg2, 0x02))
3648 {
3649 ShiftRight (And (Arg3, 0x30), 0x04, Local0)
3650 If (And (Arg6, 0x02))
3651 {
3652 Add (Local0, 0x04, Local0)
3653 }
3654 Else
3655 {
3656 If (And (Arg4, 0x02))
3657 {
3658 Add (Local0, 0x02, Local0)
3659 }
3660 }
3661
3662 Or (Local0, 0x40, MODE)
3663 }
3664 Else
3665 {
3666 Add (ShiftRight (And (Arg1, 0x03), 0x02), And (Arg1, 0x0C), Local0)
3667 If (LNot (LLess (Local0, 0x05)))
3668 {
3669 Store (0x22, MODE)
3670 }
3671 Else
3672 {
3673 If (LNot (LLess (Local0, 0x03)))
3674 {
3675 Store (0x21, MODE)
3676 }
3677 Else
3678 {
3679 Store (0x20, MODE)
3680 }
3681 }
3682 }
3683
3684 Concatenate (Local7, Local7, Local6)
3685 If (LOr (And (Arg0, 0x80), LNot (And (Arg0, 0x10))))
3686 {
3687 If (And (Arg0, 0x20))
3688 {
3689 Store (0x00, MODE)
3690 }
3691 Else
3692 {
3693 Store (0x01, MODE)
3694 }
3695 }
3696 Else
3697 {
3698 Add (ShiftRight (And (Arg1, 0x03), 0x02), And (Arg1, 0x0C), Local0)
3699 If (LNot (LLess (Local0, 0x05)))
3700 {
3701 Store (0x0C, MODE)
3702 }
3703 Else
3704 {
3705 If (LNot (LLess (Local0, 0x03)))
3706 {
3707 Store (0x0B, MODE)
3708 }
3709 Else
3710 {
3711 Store (0x0A, MODE)
3712 }
3713 }
3714 }
3715
3716 Concatenate (Local6, Local7, Local5)
3717 If (Arg5)
3718 {
3719 Store (Buffer (0x07)
3720 {
3721 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x91
3722 }, Local4)
3723 CreateByteField (Local4, 0x01, SPT)
3724 Store (Arg5, SPT)
3725 Concatenate (Local5, Local4, Local6)
3726 Return (Local6)
3727 }
3728 Else
3729 {
3730 Return (Local5)
3731 }
3732 }
3733
3734 Device (PRIM)
3735 {
3736 Name (_ADR, 0x00)
3737 Method (_GTM, 0, NotSerialized)
3738 {
3739 Store (GTM (ITM0, SIT0, UDC0, UDT0, ICF0, FAS0), Local0)
3740 Return (Local0)
3741 }
3742
3743 Method (_STM, 3, NotSerialized)
3744 {
3745 Store (STM (Arg0, Arg1, Arg2), Local0)
3746 CreateDWordField (Local0, 0x00, ITM)
3747 CreateDWordField (Local0, 0x04, SIT)
3748 CreateDWordField (Local0, 0x08, UDC)
3749 CreateDWordField (Local0, 0x0C, UDT)
3750 CreateDWordField (Local0, 0x10, ICF)
3751 CreateDWordField (Local0, 0x14, FAS)
3752 Store (UDC, UDC0)
3753 Store (UDT, UDT0)
3754 Store (ICF, ICF0)
3755 Store (FAS, FAS0)
3756 }
3757
3758 Device (MAST)
3759 {
3760 Name (_ADR, 0x00)
3761 Name (H15F, Zero)
3762 Method (_GTF, 0, NotSerialized)
3763 {
3764 Store (GTF0 (ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0), Local0)
3765 Return (Local0)
3766 }
3767 }
3768
3769 Device (SLAV)
3770 {
3771 Name (_ADR, 0x01)
3772 Name (H15F, Zero)
3773 Method (_GTF, 0, NotSerialized)
3774 {
3775 Store (GTF1 (ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0), Local0)
3776 Return (Local0)
3777 }
3778 }
3779 }
3780
3781 Device (SECN)
3782 {
3783 Name (_ADR, 0x01)
3784 Method (_GTM, 0, NotSerialized)
3785 {
3786 Store (GTM (ITM1, SIT1, UDC1, UDT1, ICF1, FAS1), Local0)
3787 Return (Local0)
3788 }
3789
3790 Method (_STM, 3, NotSerialized)
3791 {
3792 Store (STM (Arg0, Arg1, Arg2), Local0)
3793 CreateDWordField (Local0, 0x00, ITM)
3794 CreateDWordField (Local0, 0x04, SIT)
3795 CreateDWordField (Local0, 0x08, UDC)
3796 CreateDWordField (Local0, 0x0C, UDT)
3797 CreateDWordField (Local0, 0x10, ICF)
3798 CreateDWordField (Local0, 0x14, FAS)
3799 Store (UDC, UDC1)
3800 Store (UDT, UDT1)
3801 Store (ICF, ICF1)
3802 Store (FAS, FAS1)
3803 }
3804
3805 Device (MAST)
3806 {
3807 Name (_ADR, 0x00)
3808 Name (H15F, Zero)
3809 Method (_GTF, 0, NotSerialized)
3810 {
3811 Store (GTF0 (ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1), Local0)
3812 Return (Local0)
3813 }
3814 }
3815
3816 Device (SLAV)
3817 {
3818 Name (_ADR, 0x01)
3819 Name (H15F, Zero)
3820 Method (_GTF, 0, NotSerialized)
3821 {
3822 Store (GTF1 (ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1), Local0)
3823 Return (Local0)
3824 }
3825 }
3826 }
3827 }
3828
3829 Device (PX43)
3830 {
3831 Name (_ADR, 0x001F0003)
3832 OperationRegion (PBAS, PCI_Config, 0x20, 0x02)
3833 Field (PBAS, ByteAcc, NoLock, Preserve)
3834 {
3835 BAS0, 16
3836 }
3837
3838 Method (SMBB, 0, NotSerialized)
3839 {
3840 And (BAS0, 0xFFFE, Local0)
3841 Return (Local0)
3842 }
3843 }
3844
3845 Device (MODM)
3846 {
3847 Name (_ADR, 0x001F0006)
3848 Method (_PRW, 0, NotSerialized)
3849 {
3850 Return (Package (0x02)
3851 {
3852 0x05,
3853 0x05
3854 })
3855 }
3856 }
3857
3858 Name (BUFA, ResourceTemplate ()
3859 {
3860 IRQ (Level, ActiveLow, Shared) {3,4,5,7,9,10,11,12,14,15}
3861 })
3862 Name (BUFB, ResourceTemplate ()
3863 {
3864 IRQ (Level, ActiveLow, Shared) {}
3865 })
3866 CreateWordField (BUFB, 0x01, IRQV)
3867 Device (LNKA)
3868 {
3869 Name (_HID, EisaId ("PNP0C0F"))
3870 Name (_UID, 0x01)
3871 Method (_STA, 0, NotSerialized)
3872 {
3873 And (PIRA, 0x80, Local0)
3874 If (LEqual (Local0, 0x80))
3875 {
3876 Return (0x09)
3877 }
3878 Else
3879 {
3880 Return (0x0B)
3881 }
3882 }
3883
3884 Method (_PRS, 0, NotSerialized)
3885 {
3886 Return (BUFA)
3887 }
3888
3889 Method (_DIS, 0, NotSerialized)
3890 {
3891 Or (PIRA, 0x80, PIRA)
3892 }
3893
3894 Method (_CRS, 0, NotSerialized)
3895 {
3896 And (PIRA, 0x0F, Local0)
3897 ShiftLeft (0x01, Local0, IRQV)
3898 Return (BUFB)
3899 }
3900
3901 Method (_SRS, 1, NotSerialized)
3902 {
3903 CreateWordField (Arg0, 0x01, IRQ1)
3904 FindSetRightBit (IRQ1, Local0)
3905 Decrement (Local0)
3906 Store (Local0, PIRA)
3907 }
3908 }
3909
3910 Device (LNKB)
3911 {
3912 Name (_HID, EisaId ("PNP0C0F"))
3913 Name (_UID, 0x02)
3914 Method (_STA, 0, NotSerialized)
3915 {
3916 And (PIRB, 0x80, Local0)
3917 If (LEqual (Local0, 0x80))
3918 {
3919 Return (0x09)
3920 }
3921 Else
3922 {
3923 Return (0x0B)
3924 }
3925 }
3926
3927 Method (_PRS, 0, NotSerialized)
3928 {
3929 Return (BUFA)
3930 }
3931
3932 Method (_DIS, 0, NotSerialized)
3933 {
3934 Or (PIRB, 0x80, PIRB)
3935 }
3936
3937 Method (_CRS, 0, NotSerialized)
3938 {
3939 And (PIRB, 0x0F, Local0)
3940 ShiftLeft (0x01, Local0, IRQV)
3941 Return (BUFB)
3942 }
3943
3944 Method (_SRS, 1, NotSerialized)
3945 {
3946 CreateWordField (Arg0, 0x01, IRQ1)
3947 FindSetRightBit (IRQ1, Local0)
3948 Decrement (Local0)
3949 Store (Local0, PIRB)
3950 }
3951 }
3952
3953 Device (LNKC)
3954 {
3955 Name (_HID, EisaId ("PNP0C0F"))
3956 Name (_UID, 0x03)
3957 Method (_STA, 0, NotSerialized)
3958 {
3959 And (PIRC, 0x80, Local0)
3960 If (LEqual (Local0, 0x80))
3961 {
3962 Return (0x09)
3963 }
3964 Else
3965 {
3966 Return (0x0B)
3967 }
3968 }
3969
3970 Method (_PRS, 0, NotSerialized)
3971 {
3972 Return (BUFA)
3973 }
3974
3975 Method (_DIS, 0, NotSerialized)
3976 {
3977 Or (PIRC, 0x80, PIRC)
3978 }
3979
3980 Method (_CRS, 0, NotSerialized)
3981 {
3982 And (PIRC, 0x0F, Local0)
3983 ShiftLeft (0x01, Local0, IRQV)
3984 Return (BUFB)
3985 }
3986
3987 Method (_SRS, 1, NotSerialized)
3988 {
3989 CreateWordField (Arg0, 0x01, IRQ1)
3990 FindSetRightBit (IRQ1, Local0)
3991 Decrement (Local0)
3992 Store (Local0, PIRC)
3993 }
3994 }
3995
3996 Device (LNKD)
3997 {
3998 Name (_HID, EisaId ("PNP0C0F"))
3999 Name (_UID, 0x04)
4000 Method (_STA, 0, NotSerialized)
4001 {
4002 And (PIRD, 0x80, Local0)
4003 If (LEqual (Local0, 0x80))
4004 {
4005 Return (0x09)
4006 }
4007 Else
4008 {
4009 Return (0x0B)
4010 }
4011 }
4012
4013 Method (_PRS, 0, NotSerialized)
4014 {
4015 Return (BUFA)
4016 }
4017
4018 Method (_DIS, 0, NotSerialized)
4019 {
4020 Or (PIRD, 0x80, PIRD)
4021 }
4022
4023 Method (_CRS, 0, NotSerialized)
4024 {
4025 And (PIRD, 0x0F, Local0)
4026 ShiftLeft (0x01, Local0, IRQV)
4027 Return (BUFB)
4028 }
4029
4030 Method (_SRS, 1, NotSerialized)
4031 {
4032 CreateWordField (Arg0, 0x01, IRQ1)
4033 FindSetRightBit (IRQ1, Local0)
4034 Decrement (Local0)
4035 Store (Local0, PIRD)
4036 }
4037 }
4038
4039 Device (LNKE)
4040 {
4041 Name (_HID, EisaId ("PNP0C0F"))
4042 Name (_UID, 0x05)
4043 Method (_STA, 0, NotSerialized)
4044 {
4045 And (PIRE, 0x80, Local0)
4046 If (LEqual (Local0, 0x80))
4047 {
4048 Return (0x09)
4049 }
4050 Else
4051 {
4052 Return (0x0B)
4053 }
4054 }
4055
4056 Method (_PRS, 0, NotSerialized)
4057 {
4058 Return (BUFA)
4059 }
4060
4061 Method (_DIS, 0, NotSerialized)
4062 {
4063 Or (PIRE, 0x80, PIRE)
4064 }
4065
4066 Method (_CRS, 0, NotSerialized)
4067 {
4068 And (PIRE, 0x0F, Local0)
4069 ShiftLeft (0x01, Local0, IRQV)
4070 Return (BUFB)
4071 }
4072
4073 Method (_SRS, 1, NotSerialized)
4074 {
4075 CreateWordField (Arg0, 0x01, IRQ1)
4076 FindSetRightBit (IRQ1, Local0)
4077 Decrement (Local0)
4078 Store (Local0, PIRE)
4079 }
4080 }
4081
4082 Device (LNKF)
4083 {
4084 Name (_HID, EisaId ("PNP0C0F"))
4085 Name (_UID, 0x06)
4086 Method (_STA, 0, NotSerialized)
4087 {
4088 And (PIRF, 0x80, Local0)
4089 If (LEqual (Local0, 0x80))
4090 {
4091 Return (0x09)
4092 }
4093 Else
4094 {
4095 Return (0x0B)
4096 }
4097 }
4098
4099 Method (_PRS, 0, NotSerialized)
4100 {
4101 Return (BUFA)
4102 }
4103
4104 Method (_DIS, 0, NotSerialized)
4105 {
4106 Or (PIRF, 0x80, PIRF)
4107 }
4108
4109 Method (_CRS, 0, NotSerialized)
4110 {
4111 And (PIRF, 0x0F, Local0)
4112 ShiftLeft (0x01, Local0, IRQV)
4113 Return (BUFB)
4114 }
4115
4116 Method (_SRS, 1, NotSerialized)
4117 {
4118 CreateWordField (Arg0, 0x01, IRQ1)
4119 FindSetRightBit (IRQ1, Local0)
4120 Decrement (Local0)
4121 Store (Local0, PIRF)
4122 }
4123 }
4124
4125 Device (LNK0)
4126 {
4127 Name (_HID, EisaId ("PNP0C0F"))
4128 Name (_UID, 0x07)
4129 Method (_STA, 0, NotSerialized)
4130 {
4131 And (PIRG, 0x80, Local0)
4132 If (LEqual (Local0, 0x80))
4133 {
4134 Return (0x09)
4135 }
4136 Else
4137 {
4138 Return (0x0B)
4139 }
4140 }
4141
4142 Method (_PRS, 0, NotSerialized)
4143 {
4144 Return (BUFA)
4145 }
4146
4147 Method (_DIS, 0, NotSerialized)
4148 {
4149 Or (PIRG, 0x80, PIRG)
4150 }
4151
4152 Method (_CRS, 0, NotSerialized)
4153 {
4154 And (PIRG, 0x0F, Local0)
4155 ShiftLeft (0x01, Local0, IRQV)
4156 Return (BUFB)
4157 }
4158
4159 Method (_SRS, 1, NotSerialized)
4160 {
4161 CreateWordField (Arg0, 0x01, IRQ1)
4162 FindSetRightBit (IRQ1, Local0)
4163 Decrement (Local0)
4164 Store (Local0, PIRG)
4165 }
4166 }
4167
4168 Device (LNK1)
4169 {
4170 Name (_HID, EisaId ("PNP0C0F"))
4171 Name (_UID, 0x08)
4172 Method (_STA, 0, NotSerialized)
4173 {
4174 And (PIRH, 0x80, Local0)
4175 If (LEqual (Local0, 0x80))
4176 {
4177 Return (0x09)
4178 }
4179 Else
4180 {
4181 Return (0x0B)
4182 }
4183 }
4184
4185 Method (_PRS, 0, NotSerialized)
4186 {
4187 Return (BUFA)
4188 }
4189
4190 Method (_DIS, 0, NotSerialized)
4191 {
4192 Or (PIRH, 0x80, PIRH)
4193 }
4194
4195 Method (_CRS, 0, NotSerialized)
4196 {
4197 And (PIRH, 0x0F, Local0)
4198 ShiftLeft (0x01, Local0, IRQV)
4199 Return (BUFB)
4200 }
4201
4202 Method (_SRS, 1, NotSerialized)
4203 {
4204 CreateWordField (Arg0, 0x01, IRQ1)
4205 FindSetRightBit (IRQ1, Local0)
4206 Decrement (Local0)
4207 Store (Local0, PIRH)
4208 }
4209 }
4210
4211 Method (_PRW, 0, NotSerialized)
4212 {
4213 Return (Package (0x02)
4214 {
4215 0x0B,
4216 0x05
4217 })
4218 }
4219
4220 Method (_PRW, 0, NotSerialized)
4221 {
4222 Return (Package (0x02)
4223 {
4224 0x08,
4225 0x05
4226 })
4227 }
4228
4229 Method (_PRW, 0, NotSerialized)
4230 {
4231 Return (Package (0x02)
4232 {
4233 0x08,
4234 0x05
4235 })
4236 }
4237 }
4238
4239 Device (MEM)
4240 {
4241 Name (_HID, EisaId ("PNP0C01"))
4242 Method (_CRS, 0, NotSerialized)
4243 {
4244 Name (BUF0, ResourceTemplate ()
4245 {
4246 Memory32Fixed (ReadWrite, 0x000F0000, 0x00004000)
4247 Memory32Fixed (ReadWrite, 0x000F4000, 0x00004000)
4248 Memory32Fixed (ReadWrite, 0x000F8000, 0x00004000)
4249 Memory32Fixed (ReadWrite, 0x000FC000, 0x00004000)
4250 Memory32Fixed (ReadWrite, 0xFEC00000, 0x00001000)
4251 Memory32Fixed (ReadWrite, 0xFEE00000, 0x00001000)
4252 Memory32Fixed (ReadWrite, 0xFFB00000, 0x00080000)
4253 Memory32Fixed (ReadWrite, 0xFFF00000, 0x00100000)
4254 Memory32Fixed (ReadWrite, 0x000E8000, 0x00008000)
4255 })
4256 CreateDWordField (BUF0, 0x04, RMA1)
4257 CreateDWordField (BUF0, 0x08, RSS1)
4258 CreateDWordField (BUF0, 0x10, RMA2)
4259 CreateDWordField (BUF0, 0x14, RSS2)
4260 CreateDWordField (BUF0, 0x1C, RMA3)
4261 CreateDWordField (BUF0, 0x20, RSS3)
4262 CreateDWordField (BUF0, 0x28, RMA4)
4263 CreateDWordField (BUF0, 0x2C, RSS4)
4264 If (LNot (LEqual (ROM1, Zero)))
4265 {
4266 Store (RMA1, RMA2)
4267 ShiftLeft (ROM1, 0x08, Local0)
4268 Store (Local0, RMA1)
4269 ShiftLeft (RMS1, 0x08, Local0)
4270 Store (Local0, RSS1)
4271 Store (0x8000, RSS2)
4272 }
4273
4274 If (LNot (LEqual (ROM2, Zero)))
4275 {
4276 Store (RMA2, RMA3)
4277 ShiftLeft (ROM2, 0x08, Local0)
4278 Store (Local0, RMA2)
4279 ShiftLeft (RMS2, 0x08, Local0)
4280 Store (Local0, RSS2)
4281 Store (0xC000, RSS3)
4282 }
4283
4284 If (LNot (LEqual (ROM3, Zero)))
4285 {
4286 Store (RMA3, RMA4)
4287 ShiftLeft (ROM3, 0x08, Local0)
4288 Store (Local0, RMA3)
4289 ShiftLeft (RMS3, 0x08, Local0)
4290 Store (Local0, RSS3)
4291 Store (0x00010000, RSS4)
4292 }
4293
4294 Return (BUF0)
4295 }
4296 }
4297
4298 Device (FWH)
4299 {
4300 Name (_HID, EisaId ("INT0800"))
4301 Method (_CRS, 0, NotSerialized)
4302 {
4303 Name (FWH0, ResourceTemplate ()
4304 {
4305 Memory32Fixed (ReadWrite, 0xFFB80000, 0x00080000)
4306 })
4307 Return (FWH0)
4308 }
4309 }
4310 }
4311
4312 OperationRegion (TEMM, SystemMemory, 0x000FF810, 0x0C)
4313 Field (TEMM, WordAcc, NoLock, Preserve)
4314 {
4315 TP1H, 16,
4316 TP1L, 16,
4317 TP2H, 16,
4318 TP2L, 16,
4319 TRPC, 16,
4320 SENF, 16
4321 }
4322
4323 Name (TVAR, Buffer (0x05)
4324 {
4325 0x00, 0x00, 0x00, 0x00, 0x00
4326 })
4327 CreateByteField (TVAR, 0x00, PLCY)
4328 CreateWordField (TVAR, 0x01, CTOS)
4329 CreateWordField (TVAR, 0x03, CTHY)
4330 Name (TBUF, Buffer (0x04)
4331 {
4332 0x00, 0x00, 0x00, 0x00
4333 })
4334 CreateByteField (TBUF, 0x00, DB00)
4335 CreateByteField (TBUF, 0x01, DB01)
4336 CreateWordField (TBUF, 0x00, DW00)
4337 CreateWordField (TBUF, 0x02, DW01)
4338 CreateDWordField (TBUF, 0x00, DATD)
4339 OperationRegion (IP, SystemIO, 0x0295, 0x02)
4340 Field (IP, ByteAcc, NoLock, Preserve)
4341 {
4342 INDS, 8,
4343 DATS, 8
4344 }
4345
4346 Method (SCFG, 1, NotSerialized)
4347 {
4348 SBYT (0x40, Arg0)
4349 }
4350
4351 Method (STOS, 3, NotSerialized)
4352 {
4353 Store (GBYT (0x4E), Local0)
4354 Or (Local0, 0x01, Local1)
4355 SBYT (0x4E, Local1)
4356 SBYT (0x55, Arg1)
4357 SBYT (0x56, Arg0)
4358 SBYT (0x4E, Local0)
4359 }
4360
4361 Method (STHY, 3, NotSerialized)
4362 {
4363 Store (GBYT (0x4E), Local0)
4364 Or (Local0, 0x01, Local1)
4365 SBYT (0x4E, Local1)
4366 SBYT (0x53, Arg1)
4367 SBYT (0x54, Arg0)
4368 SBYT (0x4E, Local0)
4369 }
4370
4371 Method (RTMP, 0, NotSerialized)
4372 {
4373 Store (GBYT (0x4E), Local0)
4374 Or (Local0, 0x01, Local1)
4375 SBYT (0x4E, Local1)
4376 Store (GBYT (0x50), Local1)
4377 Store (GBYT (0x51), Local2)
4378 ShiftLeft (Local1, 0x08, Local1)
4379 Or (Local1, Local2, Local3)
4380 ShiftRight (Local3, 0x07, Local3)
4381 ShiftLeft (Local3, 0x02, Local1)
4382 Add (Local3, Local1, Local3)
4383 Add (Local3, 0x0AAC, Local3)
4384 If (LGreater (Local3, 0x0E8A))
4385 {
4386 Store (0x0AAC, Local3)
4387 }
4388
4389 If (LEqual (TRPC, 0x0E95))
4390 {
4391 Store (0x0AAC, Local3)
4392 }
4393
4394 If (LEqual (Local3, 0x0AAC))
4395 {
4396 Store (0x0B86, Local3)
4397 }
4398
4399 SBYT (0x4E, Local0)
4400 Return (Local3)
4401 }
4402
4403 Method (SBYT, 2, NotSerialized)
4404 {
4405 Store (Arg0, INDS)
4406 Store (Arg1, DATS)
4407 }
4408
4409 Method (GBYT, 1, NotSerialized)
4410 {
4411 Store (Arg0, INDS)
4412 Store (DATS, Local7)
4413 Return (Local7)
4414 }
4415
4416 Method (SFAN, 1, NotSerialized)
4417 {
4418 SBYT (0x5A, Arg0)
4419 SBYT (0x5B, Arg0)
4420 }
4421
4422 Scope (_TZ)
4423 {
4424 Device (FAN)
4425 {
4426 Name (_HID, EisaId ("PNP0C0B"))
4427 Method (_INI, 0, NotSerialized)
4428 {
4429 Store (TP1H, CTOS)
4430 Store (TP1L, CTHY)
4431 }
4432 }
4433
4434 ThermalZone (THRM)
4435 {
4436 Name (_AL0, Package (0x01)
4437 {
4438 FAN
4439 })
4440 Method (_AC0, 0, NotSerialized)
4441 {
4442 If (Or (PLCY, PLCY, Local7))
4443 {
4444 Return (TP2H)
4445 }
4446 Else
4447 {
4448 Return (TP1H)
4449 }
4450 }
4451
4452 Name (_PSL, Package (0x01)
4453 {
4454 \_PR.CPU0
4455 })
4456 Name (_TSP, 0x3C)
4457 Name (_TC1, 0x04)
4458 Name (_TC2, 0x03)
4459 Method (_PSV, 0, NotSerialized)
4460 {
4461 If (Or (PLCY, PLCY, Local7))
4462 {
4463 Return (TP1H)
4464 }
4465 Else
4466 {
4467 Return (TP2H)
4468 }
4469 }
4470
4471 Method (_CRT, 0, NotSerialized)
4472 {
4473 Return (TRPC)
4474 }
4475
4476 Method (_TMP, 0, NotSerialized)
4477 {
4478 And (SENF, 0x01, Local6)
4479 If (LEqual (Local6, 0x01))
4480 {
4481 Return (RTMP ())
4482 }
4483 Else
4484 {
4485 Return (0x0B86)
4486 }
4487 }
4488
4489 Method (_SCP, 1, NotSerialized)
4490 {
4491 If (Arg0)
4492 {
4493 Store (One, PLCY)
4494 }
4495 Else
4496 {
4497 Store (Zero, PLCY)
4498 }
4499
4500 Notify (\_TZ.THRM, 0x81)
4501 }
4502
4503 Method (STMP, 2, NotSerialized)
4504 {
4505 Store (Arg1, DW00)
4506 If (Arg0)
4507 {
4508 STHY (DB00, DB01, DW00)
4509 }
4510 Else
4511 {
4512 STOS (DB00, DB01, DW00)
4513 }
4514 }
4515 }
4516 }
4517}
4518