Ticket #494: dsdt_AWRDACPI.dsl

File dsdt_AWRDACPI.dsl, 139.4 KB (added by Lars Erdmann, 14 years ago)

DSDT table

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