Ticket #398: dsdt_AWRDACPI.2.dsl

File dsdt_AWRDACPI.2.dsl, 139.9 KB (added by Lars Erdmann, 15 years ago)

Modified DSDT table to assign Name _BBN to "PCI0" device

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