Ticket #64: dsdt_PTL_ACPI.dsl

File dsdt_PTL_ACPI.dsl, 170.3 KB (added by Chuck McKinnis, 17 years ago)
Line 
1/*
2 * Intel ACPI Component Architecture
3 * AML Disassembler version 20050902
4 *
5 * Disassembly of , Sun Oct 14 14:37:14 2007
6 */
7DefinitionBlock ("DSDT.aml", "DSDT", 1, "VIA ", "PTL_ACPI", 100925440)
8{
9 OperationRegion (DBG, SystemIO, 0x80, 0x01)
10 Field (DBG, ByteAcc, NoLock, Preserve)
11 {
12 DEBG, 8
13 }
14
15 OperationRegion (PARA, SystemIO, 0x0378, 0x01)
16 Field (PARA, ByteAcc, NoLock, Preserve)
17 {
18 PDEB, 8
19 }
20
21 Scope (_PR)
22 {
23 Processor (CPU0, 0x01, 0x00004010, 0x06) {}
24 }
25
26 Name (_S0, Package (0x02)
27 {
28 0x00,
29 0x00
30 })
31 Name (_S3, Package (0x02)
32 {
33 0x01,
34 0x01
35 })
36 Name (_S4, Package (0x02)
37 {
38 0x02,
39 0x02
40 })
41 Name (_S5, Package (0x02)
42 {
43 0x02,
44 0x02
45 })
46 Scope (_SB)
47 {
48 Name (OSTB, Ones)
49 OperationRegion (OSTY, SystemMemory, 0x2BEFBF4C, 0x00000001)
50 Field (OSTY, AnyAcc, NoLock, Preserve)
51 {
52 TPOS, 8
53 }
54
55 Method (OSTP, 0, NotSerialized)
56 {
57 If (LEqual (^OSTB, Ones))
58 {
59 If (CondRefOf (\_OSI, Local0))
60 {
61 If (\_OSI ("Windows 2001"))
62 {
63 Store (0x08, ^OSTB)
64 Store (0x08, ^TPOS)
65 }
66 Else
67 {
68 Store (0x00, ^OSTB)
69 Store (0x00, ^TPOS)
70 }
71 }
72 Else
73 {
74 If (CondRefOf (\_OS, Local0))
75 {
76 If (^SEQL (\_OS, "Microsoft Windows"))
77 {
78 Store (0x01, ^OSTB)
79 Store (0x01, ^TPOS)
80 }
81 Else
82 {
83 If (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition"))
84 {
85 Store (0x02, ^OSTB)
86 Store (0x02, ^TPOS)
87 }
88 Else
89 {
90 If (^SEQL (\_OS, "Microsoft Windows NT"))
91 {
92 Store (0x04, ^OSTB)
93 Store (0x04, ^TPOS)
94 }
95 Else
96 {
97 Store (0x00, ^OSTB)
98 Store (0x00, ^TPOS)
99 }
100 }
101 }
102 }
103 Else
104 {
105 Store (0x00, ^OSTB)
106 Store (0x00, ^TPOS)
107 }
108 }
109 }
110
111 Return (^OSTB)
112 }
113
114 Method (SEQL, 2, Serialized)
115 {
116 Store (SizeOf (Arg0), Local0)
117 Store (SizeOf (Arg1), Local1)
118 If (LNot (LEqual (Local0, Local1)))
119 {
120 Return (Zero)
121 }
122
123 Name (BUF0, Buffer (Local0) {})
124 Store (Arg0, BUF0)
125 Name (BUF1, Buffer (Local0) {})
126 Store (Arg1, BUF1)
127 Store (Zero, Local2)
128 While (LLess (Local2, Local0))
129 {
130 Store (DerefOf (Index (BUF0, Local2)), Local3)
131 Store (DerefOf (Index (BUF1, Local2)), Local4)
132 If (LNot (LEqual (Local3, Local4)))
133 {
134 Return (Zero)
135 }
136
137 Increment (Local2)
138 }
139
140 Return (One)
141 }
142 }
143
144 Name (FWSO, "FWSO")
145 Method (_PTS, 1, NotSerialized)
146 {
147 Store (Zero, \_SB.PCI0.ISA.STRP)
148 If (LEqual (Arg0, 0x03))
149 {
150 Store (0x00, \_SB.PCI0.ISA.LIDP)
151 \_SB.Z000 (0x90)
152 }
153
154 If (LEqual (Arg0, 0x04))
155 {
156 Acquire (\_SB.PSMX, 0xFFFF)
157 Store (0x80, \_SB.BCMD)
158 Store (0x03, \_SB.DID)
159 Store (Zero, \_SB.SMIC)
160 Release (\_SB.PSMX)
161 \_SB.Z000 (0x95)
162 }
163
164 Store (Arg0, \_SB.PCI0.ISA.Z001)
165 }
166
167 Method (_WAK, 1, NotSerialized)
168 {
169 Store (0x01, \_SB.PCI0.ISA.LIDP)
170 If (LEqual (Arg0, 0x03))
171 {
172 \_SB.Z000 (0x91)
173 Acquire (\_SB.PSMX, 0xFFFF)
174 Store (0x80, \_SB.BCMD)
175 Store (0x07, \_SB.DID)
176 Store (Zero, \_SB.SMIC)
177 Release (\_SB.PSMX)
178 }
179
180 If (LEqual (Arg0, 0x04))
181 {
182 Acquire (\_SB.PSMX, 0xFFFF)
183 Store (0x80, \_SB.BCMD)
184 Store (0x04, \_SB.DID)
185 Store (Zero, \_SB.SMIC)
186 Release (\_SB.PSMX)
187 Store (\_SB.INF, Local0)
188 If (LEqual (Local0, 0x07)) {}
189 Else
190 {
191 Store (Local0, Local1)
192 Store (Local0, Local2)
193 Store (Local0, \_SB.PCI0.AGP.VGA.DABL)
194 And (Local1, 0x01, \_SB.PCI0.AGP.VGA.CRTA)
195 And (Local2, 0x02, \_SB.PCI0.AGP.VGA.LCDA)
196 }
197 }
198
199 Store (0xBA, \_SB.PCI0.ISA.Z001)
200 }
201
202 Scope (_SI)
203 {
204 Method (_SST, 1, NotSerialized)
205 {
206 If (LEqual (Arg0, 0x01))
207 {
208 Store ("===== SST Working =====", Debug)
209 }
210
211 If (LEqual (Arg0, 0x02))
212 {
213 Store ("===== SST Waking =====", Debug)
214 }
215
216 If (LEqual (Arg0, 0x03))
217 {
218 Store ("===== SST Sleeping =====", Debug)
219 }
220
221 If (LEqual (Arg0, 0x04))
222 {
223 Store ("===== SST Sleeping S4 =====", Debug)
224 }
225 }
226 }
227
228 Scope (_GPE)
229 {
230 Method (_L03, 0, NotSerialized)
231 {
232 Notify (\_SB.PWRB, 0x02)
233 }
234
235 Method (_L05, 0, NotSerialized)
236 {
237 Notify (\_SB.PCI0, 0x02)
238 }
239
240 Method (_L08, 0, NotSerialized)
241 {
242 Notify (\_SB.PCI0.Z002, 0x02)
243 }
244
245 Method (_L0B, 0, NotSerialized)
246 {
247 Notify (\_SB.LID, 0x80)
248 }
249
250 Method (_L0E, 0, NotSerialized)
251 {
252 Notify (\_SB.PWRB, 0x02)
253 }
254 }
255
256 OperationRegion (VGAM, SystemMemory, 0x000C0002, 0x01)
257 Field (VGAM, ByteAcc, NoLock, Preserve)
258 {
259 VGA1, 8
260 }
261
262 Scope (_SB)
263 {
264 Method (_INI, 0, NotSerialized)
265 {
266 \_SB.OSTP ()
267 Store (0x01, \_SB.PCI0.ISA.LIDP)
268 }
269
270 Mutex (PSMX, 0x00)
271 OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
272 Field (SMI0, AnyAcc, NoLock, Preserve)
273 {
274 SMIC, 8
275 }
276
277 OperationRegion (SMI1, SystemMemory, 0x2BEFBEBC, 0x00000090)
278 Field (SMI1, AnyAcc, NoLock, Preserve)
279 {
280 BCMD, 8,
281 DID, 32,
282 INFO, 1024
283 }
284
285 Field (SMI1, AnyAcc, NoLock, Preserve)
286 {
287 AccessAs (ByteAcc, 0x00),
288 Offset (0x05),
289 INF, 8
290 }
291
292 Method (PHS, 1, Serialized)
293 {
294 Acquire (PSMX, 0xFFFF)
295 Store (Arg0, BCMD)
296 Store (Zero, SMIC)
297 Store (Zero, BCMD)
298 Return (INF)
299 Release (PSMX)
300 }
301
302 Device (ACAD)
303 {
304 Name (_HID, "ACPI0003")
305 Name (_PCL, Package (0x01)
306 {
307 \_SB
308 })
309 Name (ACP, Ones)
310 Name (ADIM, Ones)
311 Name (AFLG, Ones)
312 Name (SWAC, Ones)
313 Name (SWBT, Ones)
314 Method (_PSR, 0, NotSerialized)
315 {
316 Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
317 Store ("CMBatt - _PSR", Debug)
318 \_SB.PCI0.ISA.EC0.CPOL ()
319 Store (ACP, Local0)
320 If (Local0)
321 {
322 Store (0x01, Local1)
323 If (SWAC)
324 {
325 Store (0x00, \_PR.CPU0._PPC)
326 Notify (\_PR.CPU0, 0x80)
327 Store (0x00, SWAC)
328 }
329
330 Store (0x01, SWBT)
331 }
332 Else
333 {
334 Store (0x00, Local1)
335 If (SWBT)
336 {
337 \_SB.Z000 (0x93)
338 Store (0x00, SWBT)
339 }
340
341 Store (0x02, \_PR.CPU0._PPC)
342 Notify (\_PR.CPU0, 0x80)
343 Store (0x01, SWAC)
344 }
345
346 Store (Local1, AFLG)
347 If (LNot (LEqual (AFLG, ADIM)))
348 {
349 If (Local1)
350 {
351 Store (0x01, ADIM)
352 }
353 Else
354 {
355 Store (0x00, ADIM)
356 }
357
358 Acquire (\_SB.PSMX, 0xFFFF)
359 Store (0x80, \_SB.BCMD)
360 Store (0x02, \_SB.DID)
361 Store (ADIM, \_SB.INFO)
362 Store (Zero, \_SB.SMIC)
363 Release (\_SB.PSMX)
364 }
365
366 Release (\_SB.PCI0.ISA.EC0.MUT1)
367 Return (Local1)
368 }
369
370 Method (CHAC, 1, NotSerialized)
371 {
372 Store (LGreater (And (Arg0, 0xF0), 0x80), Local0)
373 If (LNot (LEqual (Local0, ACP)))
374 {
375 Store (Local0, ACP)
376 Return (Ones)
377 }
378 Else
379 {
380 Return (Zero)
381 }
382 }
383 }
384
385 Scope (_TZ)
386 {
387 Name (TPL, 0x0CD2)
388 Name (TACT, 0x0D36)
389 Name (TPAS, 0x0DCC)
390 Name (SPAS, 0x0D04)
391 Name (TPC, 0x0E12)
392 Name (TPTM, 0x0CA0)
393 Name (TBSE, 0x0AAC)
394 Name (PLCY, 0x00)
395 ThermalZone (THRM)
396 {
397 Name (_TSP, 0x28)
398 Method (_CRT, 0, NotSerialized)
399 {
400 Return (TPC)
401 }
402
403 Name (INBT, 0x00)
404 Method (_TMP, 0, NotSerialized)
405 {
406 If (\_SB.ECOK ())
407 {
408 Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
409 Store (\_SB.PCI0.ISA.EC0.CTMP, Local0)
410 Release (\_SB.PCI0.ISA.EC0.MUT1)
411 Store (Local0, Local2)
412 Multiply (Local0, 0x0A, Local1)
413 Add (Local1, TBSE, Local0)
414 Store (Local0, DEBG)
415 CHTR (Local0)
416 Return (Local0)
417 }
418 Else
419 {
420 Return (TPTM)
421 }
422 }
423
424 Method (_PSV, 0, NotSerialized)
425 {
426 Return (TPAS)
427 }
428
429 Name (_PSL, Package (0x01)
430 {
431 \_PR.CPU0
432 })
433 Name (_TC1, 0x02)
434 Name (_TC2, 0x03)
435 Method (_SCP, 1, NotSerialized)
436 {
437 Store (Arg0, PLCY)
438 }
439
440 Name (TRP2, 0x00)
441 Method (CHTR, 1, NotSerialized)
442 {
443 }
444 }
445 }
446
447 Method (VTOB, 1, NotSerialized)
448 {
449 Store (0x01, Local0)
450 ShiftLeft (Local0, Arg0, Local0)
451 Return (Local0)
452 }
453
454 Method (BTOV, 1, NotSerialized)
455 {
456 ShiftRight (Arg0, 0x01, Local0)
457 Store (0x00, Local1)
458 While (Local0)
459 {
460 Increment (Local1)
461 ShiftRight (Local0, 0x01, Local0)
462 }
463
464 Return (Local1)
465 }
466
467 Method (MKWD, 2, NotSerialized)
468 {
469 If (And (Arg1, 0x80))
470 {
471 Store (0xFFFF0000, Local0)
472 }
473 Else
474 {
475 Store (Zero, Local0)
476 }
477
478 Or (Local0, Arg0, Local0)
479 Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
480 Return (Local0)
481 }
482
483 Method (GBFE, 3, NotSerialized)
484 {
485 CreateByteField (Arg0, Arg1, TIDX)
486 Store (TIDX, Arg2)
487 }
488
489 Method (PBFE, 3, NotSerialized)
490 {
491 CreateByteField (Arg0, Arg1, TIDX)
492 Store (Arg2, TIDX)
493 }
494
495 Method (ITOS, 1, NotSerialized)
496 {
497 Store (Buffer (0x09)
498 {
499 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
500 0x00
501 }, Local0)
502 Store (Buffer (0x11)
503 {
504 "0123456789ABCDEF"
505 }, Local7)
506 Store (0x08, Local1)
507 Store (0x00, Local2)
508 Store (0x00, Local3)
509 While (Local1)
510 {
511 Decrement (Local1)
512 And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
513 If (Local4)
514 {
515 Store (Ones, Local3)
516 }
517
518 If (Local3)
519 {
520 GBFE (Local7, Local4, RefOf (Local5))
521 PBFE (Local0, Local2, Local5)
522 Increment (Local2)
523 }
524 }
525
526 Return (Local0)
527 }
528
529 Device (BAT1)
530 {
531 Name (_HID, EisaId ("PNP0C0A"))
532 Name (_UID, 0x01)
533 Name (_PCL, Package (0x01)
534 {
535 \_SB
536 })
537 Name (UBHD, 0x00)
538 Name (PBHD, Package (0x03)
539 {
540 0xFFFF,
541 0xFFFF,
542 0xFFFF
543 })
544 Name (BATI, 0xFFFF)
545 Name (BATC, 0xFFFF)
546 Name (BATV, 0xFFFF)
547 Name (BATS, 0xFFFF)
548 Name (PBIF, Package (0x0D)
549 {
550 0x01,
551 0x0B40,
552 0x0B40,
553 0x01,
554 0x39D0,
555 0x012C,
556 0xC8,
557 0x20,
558 0x20,
559 "BAT1",
560 " ",
561 " ",
562 " "
563 })
564 Name (PBST, Package (0x04)
565 {
566 0x00,
567 0xFFFFFFFF,
568 0xFFFFFFFF,
569 0x2710
570 })
571 Name (UBIF, 0x01E9)
572 Name (BP, 0x00)
573 Name (REPT, 0x00)
574 Name (ERRC, 0x00)
575 Method (_STA, 0, NotSerialized)
576 {
577 Store (0x0F, Local0)
578 Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
579 Store ("CMBatt - _STA.BAT1", Debug)
580 \_SB.PCI0.ISA.EC0.CPOL ()
581 If (BP)
582 {
583 Store (0x1F, Local0)
584 }
585 Else
586 {
587 Store (0x0F, Local0)
588 }
589
590 Release (\_SB.PCI0.ISA.EC0.MUT1)
591 Return (Local0)
592 }
593
594 Method (_BIF, 0, NotSerialized)
595 {
596 Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
597 Store ("CMBatt - _BIF.BAT1", Debug)
598 \_SB.PCI0.ISA.EC0.CPOL ()
599 Release (\_SB.PCI0.ISA.EC0.MUT1)
600 Return (PBIF)
601 }
602
603 Method (_BST, 0, NotSerialized)
604 {
605 Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
606 Store ("CMBatt - _BST.BAT1", Debug)
607 \_SB.PCI0.ISA.EC0.CPOL ()
608 Release (\_SB.PCI0.ISA.EC0.MUT1)
609 Return (PBST)
610 }
611
612 Method (B1CK, 0, NotSerialized)
613 {
614 Store ("CMBatt - Notify(BAT1,0x81): B1CK", Debug)
615 Notify (\_SB.BAT1, 0x81)
616 }
617
618 Method (B1ST, 0, NotSerialized)
619 {
620 Store ("CMBatt - Notify(BAT1,0x80): B1ST", Debug)
621 Notify (\_SB.BAT1, 0x80)
622 }
623
624 Method (B1IF, 0, NotSerialized)
625 {
626 Store ("CMBatt - Notify(BAT1,0x81): B1IF", Debug)
627 Notify (\_SB.BAT1, 0x81)
628 }
629
630 Method (UPBI, 0, NotSerialized)
631 {
632 Store ("CMBatt - UPBI.BAT1", Debug)
633 Store (Zero, Local0)
634 If (LNot (ECOK ()))
635 {
636 Return (Local0)
637 }
638
639 Store (0x0C, Local1)
640 Store (Buffer (0x0D)
641 {
642 0x00, 0x18, 0x10, 0x00, 0x19, 0x00, 0x00, 0x00,
643 0x00, 0x21, 0x00, 0x22, 0x20
644 }, Local2)
645 While (LGreater (Local1, 0x08))
646 {
647 If (LNot (And (UBIF, VTOB (Local1))))
648 {
649 GBFE (Local2, Local1, RefOf (Local3))
650 If (Local3)
651 {
652 If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x0B, 0x16, Local3, RefOf (Local4))))
653 {
654 Store (\_SB.PCI0.ISA.EC0.BCNT, Local5)
655 Store (Zero, Local3)
656 Store (Zero, ERRC)
657 While (LGreater (Local5, Local3))
658 {
659 GBFE (Local4, Local3, RefOf (Local6))
660 Increment (Local3)
661 If (And (Local6, 0x80))
662 {
663 Increment (ERRC)
664 }
665 }
666
667 If (LEqual (ERRC, 0x00))
668 {
669 Store (Local4, Index (PBIF, Local1))
670 Or (UBIF, VTOB (Local1), UBIF)
671 Store (Ones, Local0)
672 }
673 }
674 }
675 }
676
677 Decrement (Local1)
678 }
679
680 While (LGreater (Local1, 0x00))
681 {
682 If (LNot (And (UBIF, VTOB (Local1))))
683 {
684 GBFE (Local2, Local1, RefOf (Local3))
685 If (Local3)
686 {
687 If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x16, Local3, RefOf (Local5))))
688 {
689 If (LAnd (Local5, LNot (And (Local5, 0x8000))))
690 {
691 If (LEqual (Local1, 0x02))
692 {
693 ShiftRight (Local5, 0x05, Local5)
694 ShiftLeft (Local5, 0x05, Local5)
695 }
696
697 Store (Local5, Index (PBIF, Local1))
698 Or (UBIF, VTOB (Local1), UBIF)
699 Store (Ones, Local0)
700 }
701 }
702 }
703 }
704
705 Decrement (Local1)
706 }
707
708 Store (0x0A, Local1)
709 If (LNot (And (UBIF, VTOB (Local1))))
710 {
711 If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x16, 0x1C, RefOf (Local5))))
712 {
713 Store (Local5, BATS)
714 Store (ITOS (ToBCD (Local5)), Index (PBIF, Local1))
715 Or (UBIF, VTOB (Local1), UBIF)
716 Store (Ones, Local0)
717 }
718 }
719
720 Store (PBIF, Debug)
721 Return (Local0)
722 }
723
724 Method (UPBS, 0, NotSerialized)
725 {
726 Store ("CMBatt - UPBS.BAT1", Debug)
727 Store (Zero, Local0)
728 If (LNot (ECOK ()))
729 {
730 Return (Local0)
731 }
732
733 Store (\_SB.PCI0.ISA.EC0.BT1S, Local5)
734 Store (Local5, Local1)
735 And (Local5, 0x07, Local5)
736 If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x00)))))
737 {
738 Store ("CMBatt - BAT1 STATE CHANGE", Debug)
739 Store (Local1, Debug)
740 Store (Local5, Index (PBST, 0x00))
741 Store (Ones, Local0)
742 }
743
744 Store (\_SB.PCI0.ISA.EC0.BT1C, Local5)
745 If (LNot (And (Local5, 0x8000)))
746 {
747 Store (Local5, BATC)
748 ShiftRight (Local5, 0x05, Local5)
749 ShiftLeft (Local5, 0x05, Local5)
750 If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x02)))))
751 {
752 Store (Local5, Index (PBST, 0x02))
753 Store (Ones, Local0)
754 }
755 }
756
757 Store (\_SB.PCI0.ISA.EC0.BT1V, Local5)
758 If (LNot (And (Local5, 0x8000)))
759 {
760 Store (Local5, BATV)
761 ShiftRight (Local5, 0x05, Local5)
762 ShiftLeft (Local5, 0x05, Local5)
763 If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x03)))))
764 {
765 Store (Local5, Index (PBST, 0x03))
766 Store (Ones, Local0)
767 }
768 }
769
770 Store (\_SB.PCI0.ISA.EC0.BT1I, Local5)
771 Store (Local5, BATI)
772 If (And (BATI, 0x8000))
773 {
774 Or (BATI, 0xFFFF0000, BATI)
775 }
776
777 If (And (Local1, 0x01))
778 {
779 Store (\_SB.PCI0.ISA.EC0.BT1V, Local2)
780 If (LEqual (Local2, Zero))
781 {
782 Store (0x39D0, Local2)
783 }
784
785 Divide (0x01036640, Local2, , Local3)
786 If (And (Local5, 0x8000))
787 {
788 Or (Local5, 0xFFFF0000, Local5)
789 Add (Not (Local5), 0x01, Local5)
790 If (LGreater (Local3, Local5))
791 {
792 Store (Local3, Local5)
793 }
794 }
795 Else
796 {
797 Store (Local3, Local5)
798 }
799 }
800
801 If (And (Local1, 0x02))
802 {
803 If (And (Local5, 0x8000))
804 {
805 Store (0x00, Local5)
806 }
807
808 If (LGreater (0x64, Local5))
809 {
810 Store (0x64, Local5)
811 }
812 }
813
814 If (LEqual (And (Local1, 0x03), 0x00))
815 {
816 Store (0x00, Local5)
817 }
818
819 ShiftRight (Local5, 0x05, Local5)
820 ShiftLeft (Local5, 0x05, Local5)
821 If (LNot (LEqual (Local5, DerefOf (Index (PBST, 0x01)))))
822 {
823 Store (Local5, Index (PBST, 0x01))
824 Store (Ones, Local0)
825 }
826
827 If (Local0)
828 {
829 Store ("CMBATT - PBST Changed", Debug)
830 }
831
832 Store (PBST, Debug)
833 Return (Local0)
834 }
835
836 Method (UPBH, 0, NotSerialized)
837 {
838 Store ("CMBatt - UPBH.BAT1", Debug)
839 Store (Zero, Local0)
840 If (LNot (ECOK ()))
841 {
842 Return (Local0)
843 }
844
845 Store (0x00, Local1)
846 Store (Buffer (0x03)
847 {
848 0x17, 0x0C, 0x10
849 }, Local2)
850 While (LLess (Local1, 0x03))
851 {
852 If (LNot (And (UBHD, VTOB (Local1))))
853 {
854 GBFE (Local2, Local1, RefOf (Local3))
855 If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x16, Local3, RefOf (Local5))))
856 {
857 Store (Local5, Index (PBHD, Local1))
858 Or (UBHD, VTOB (Local1), UBHD)
859 Store (Ones, Local0)
860 }
861 }
862
863 Increment (Local1)
864 }
865
866 Store (PBHD, Debug)
867 Return (Local0)
868 }
869
870 Method (IVBI, 0, NotSerialized)
871 {
872 Store (0x01E9, UBIF)
873 Store (0x0B40, Index (PBIF, 0x01))
874 Store (0x0B40, Index (PBIF, 0x02))
875 Store (0x39D0, Index (PBIF, 0x04))
876 Store ("Bad", Index (PBIF, 0x09))
877 Store ("Bad", Index (PBIF, 0x0A))
878 Store ("Bad", Index (PBIF, 0x0B))
879 Store ("Bad", Index (PBIF, 0x0C))
880 }
881
882 Method (IVBS, 0, NotSerialized)
883 {
884 Store (0x00, Index (PBST, 0x00))
885 Store (0xFFFFFFFF, Index (PBST, 0x01))
886 Store (0xFFFFFFFF, Index (PBST, 0x02))
887 Store (0x39D0, Index (PBST, 0x03))
888 }
889
890 Method (IVBH, 0, NotSerialized)
891 {
892 Store (0x00, UBHD)
893 Store (0xFFFF, Index (PBHD, 0x00))
894 Store (0xFFFF, Index (PBHD, 0x01))
895 Store (0xFFFF, Index (PBHD, 0x02))
896 }
897
898 Method (CHBP, 1, NotSerialized)
899 {
900 Store ("CMBatt - CHBP.BAT1", Debug)
901 Store (Zero, Local0)
902 If (LNot (ECOK ()))
903 {
904 Return (Local0)
905 }
906
907 Store (VTOB (Subtract (_UID, 0x01)), Local1)
908 Or (ShiftLeft (Local1, 0x0C), 0x0FFF, Local2)
909 Store (Zero, Local3)
910 If (And (Arg0, Local1))
911 {
912 If (BP)
913 {
914 Store ("CMBatt - BAT1 still present", Debug)
915 \_SB.PCI0.ISA.EC0.SMWR (0x08, 0x14, 0x01, Local2)
916 \_SB.PCI0.ISA.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3))
917 If (LEqual (Local2, Or (Local3, 0x0FFF)))
918 {
919 If (UPBI ())
920 {
921 Or (0x01, Local0, Local0)
922 }
923
924 If (UPBS ())
925 {
926 Or (0x02, Local0, Local0)
927 }
928
929 UPBH ()
930 }
931 }
932 Else
933 {
934 Store ("CMBatt - BAT1 connected", Debug)
935 \_SB.PCI0.ISA.EC0.SMWR (0x08, 0x14, 0x01, Local2)
936 \_SB.PCI0.ISA.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local3))
937 If (LEqual (Local2, Or (Local3, 0x0FFF)))
938 {
939 UPBI ()
940 UPBS ()
941 UPBH ()
942 }
943
944 Store (0x01, BP)
945 Or (0x05, Local0, Local0)
946 }
947 }
948 Else
949 {
950 If (BP)
951 {
952 Store ("CMBatt - BAT1 disconnected", Debug)
953 Store (0x00, BP)
954 IVBI ()
955 IVBS ()
956 IVBH ()
957 Or (0x04, Local0, Local0)
958 }
959 }
960
961 If (LAnd (And (Arg0, Local1), LNot (LEqual (UBIF, 0x1FFF))))
962 {
963 Store (0x01, REPT)
964 }
965 Else
966 {
967 Store (0x00, REPT)
968 }
969
970 Return (Local0)
971 }
972 }
973
974 Name (ECEN, 0x00)
975 Method (ECOK, 0, NotSerialized)
976 {
977 If (LAnd (ECEN, 0x01))
978 {
979 Return (0x01)
980 }
981 Else
982 {
983 Return (0x00)
984 }
985 }
986
987 Device (PCI0)
988 {
989 Name (_HID, EisaId ("PNP0A03"))
990 Name (_ADR, 0x00)
991 Name (_PRW, Package (0x02)
992 {
993 0x05,
994 0x05
995 })
996 Name (_BBN, 0x00)
997 Method (_S3D, 0, NotSerialized)
998 {
999 Return (0x02)
1000 }
1001
1002 OperationRegion (NB00, PCI_Config, 0x00, 0x0100)
1003 Field (NB00, ByteAcc, NoLock, Preserve)
1004 {
1005 Offset (0x47),
1006 , 2,
1007 VLNK, 1,
1008 Offset (0x57),
1009 EADD, 8,
1010 Offset (0x61),
1011 C0C3, 2,
1012 C4C7, 2,
1013 C8CB, 2,
1014 CCCF, 2,
1015 D0D3, 2,
1016 D4D7, 2,
1017 D8DB, 2,
1018 DCDF, 2,
1019 , 4,
1020 E0EF, 2,
1021 F0FF, 2,
1022 Offset (0x69),
1023 , 5,
1024 VCLK, 1
1025 }
1026
1027 Method (_STA, 0, NotSerialized)
1028 {
1029 Return (0x0F)
1030 }
1031
1032 Name (CRES, ResourceTemplate ()
1033 {
1034 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1035 0x0000, // Address Space Granularity
1036 0x0000, // Address Range Minimum
1037 0x00FF, // Address Range Maximum
1038 0x0000, // Address Translation Offset
1039 0x0100,,,)
1040 IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
1041 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1042 0x00000000, // Address Space Granularity
1043 0x00000000, // Address Range Minimum
1044 0x00000CF7, // Address Range Maximum
1045 0x00000000, // Address Translation Offset
1046 0x00000CF8,,,
1047 , TypeStatic)
1048 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1049 0x00000000, // Address Space Granularity
1050 0x00000D00, // Address Range Minimum
1051 0x0000FFFF, // Address Range Maximum
1052 0x00000000, // Address Translation Offset
1053 0x0000F300,,,
1054 , TypeStatic)
1055 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1056 0x00000000, // Address Space Granularity
1057 0x000A0000, // Address Range Minimum
1058 0x000BFFFF, // Address Range Maximum
1059 0x00000000, // Address Translation Offset
1060 0x00020000,,,
1061 , AddressRangeMemory, TypeStatic)
1062 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1063 0x00000000, // Address Space Granularity
1064 0x000C0000, // Address Range Minimum
1065 0x000C3FFF, // Address Range Maximum
1066 0x00000000, // Address Translation Offset
1067 0x00004000,,,
1068 , AddressRangeMemory, TypeStatic)
1069 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1070 0x00000000, // Address Space Granularity
1071 0x000C4000, // Address Range Minimum
1072 0x000C7FFF, // Address Range Maximum
1073 0x00000000, // Address Translation Offset
1074 0x00004000,,,
1075 , AddressRangeMemory, TypeStatic)
1076 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1077 0x00000000, // Address Space Granularity
1078 0x000C8000, // Address Range Minimum
1079 0x000CBFFF, // Address Range Maximum
1080 0x00000000, // Address Translation Offset
1081 0x00004000,,,
1082 , AddressRangeMemory, TypeStatic)
1083 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1084 0x00000000, // Address Space Granularity
1085 0x000CC000, // Address Range Minimum
1086 0x000CFFFF, // Address Range Maximum
1087 0x00000000, // Address Translation Offset
1088 0x00004000,,,
1089 , AddressRangeMemory, TypeStatic)
1090 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1091 0x00000000, // Address Space Granularity
1092 0x000D0000, // Address Range Minimum
1093 0x000D3FFF, // Address Range Maximum
1094 0x00000000, // Address Translation Offset
1095 0x00004000,,,
1096 , AddressRangeMemory, TypeStatic)
1097 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1098 0x00000000, // Address Space Granularity
1099 0x000D4000, // Address Range Minimum
1100 0x000D7FFF, // Address Range Maximum
1101 0x00000000, // Address Translation Offset
1102 0x00004000,,,
1103 , AddressRangeMemory, TypeStatic)
1104 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1105 0x00000000, // Address Space Granularity
1106 0x000D8000, // Address Range Minimum
1107 0x000DBFFF, // Address Range Maximum
1108 0x00000000, // Address Translation Offset
1109 0x00004000,,,
1110 , AddressRangeMemory, TypeStatic)
1111 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1112 0x00000000, // Address Space Granularity
1113 0x000DC000, // Address Range Minimum
1114 0x000DFFFF, // Address Range Maximum
1115 0x00000000, // Address Translation Offset
1116 0x00004000,,,
1117 , AddressRangeMemory, TypeStatic)
1118 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1119 0x00000000, // Address Space Granularity
1120 0x000E0000, // Address Range Minimum
1121 0x000EFFFF, // Address Range Maximum
1122 0x00000000, // Address Translation Offset
1123 0x00010000,,,
1124 , AddressRangeMemory, TypeStatic)
1125 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1126 0x00000000, // Address Space Granularity
1127 0x000F0000, // Address Range Minimum
1128 0x000FFFFF, // Address Range Maximum
1129 0x00000000, // Address Translation Offset
1130 0x00010000,,,
1131 , AddressRangeMemory, TypeStatic)
1132 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1133 0x00000000, // Address Space Granularity
1134 0x00000000, // Address Range Minimum
1135 0x00000000, // Address Range Maximum
1136 0x00000000, // Address Translation Offset
1137 0x00000000,,,
1138 , AddressRangeMemory, TypeStatic)
1139 })
1140 Method (_CRS, 0, NotSerialized)
1141 {
1142 CreateDWordField (CRES, 0x0182, TCMN)
1143 CreateDWordField (CRES, 0x0186, TCMX)
1144 CreateDWordField (CRES, 0x018E, TOLN)
1145 Multiply (\_SB.PCI0.EADD, 0x01000000, TCMN)
1146 Subtract (0xFFE80000, TCMN, TOLN)
1147 Subtract (Add (TCMN, TOLN), 0x01, TCMX)
1148 CreateBitField (CRES, 0x0378, C0RW)
1149 CreateDWordField (CRES, 0x74, C0MN)
1150 CreateDWordField (CRES, 0x78, C0MX)
1151 CreateDWordField (CRES, 0x80, C0LN)
1152 Store (One, C0RW)
1153 If (LEqual (And (C0C3, 0x03), 0x01))
1154 {
1155 Store (Zero, C0RW)
1156 }
1157
1158 Store (Zero, C0LN)
1159 If (LNot (And (C0C3, 0x03)))
1160 {
1161 Store (0x4000, C0LN)
1162 }
1163
1164 CreateBitField (CRES, 0x0450, C4RW)
1165 CreateDWordField (CRES, 0x8F, C4MN)
1166 CreateDWordField (CRES, 0x93, C4MX)
1167 CreateDWordField (CRES, 0x9B, C4LN)
1168 Store (One, C4RW)
1169 If (LEqual (And (C4C7, 0x03), 0x01))
1170 {
1171 Store (Zero, C4RW)
1172 }
1173
1174 Store (Zero, C4LN)
1175 If (LNot (And (C4C7, 0x03)))
1176 {
1177 Store (0x4000, C4LN)
1178 }
1179
1180 CreateBitField (CRES, 0x0528, C8RW)
1181 CreateDWordField (CRES, 0xAA, C8MN)
1182 CreateDWordField (CRES, 0xAE, C8MX)
1183 CreateDWordField (CRES, 0xB6, C8LN)
1184 Store (One, C8RW)
1185 If (LEqual (And (C8CB, 0x03), 0x01))
1186 {
1187 Store (Zero, C8RW)
1188 }
1189
1190 Store (Zero, C8LN)
1191 If (LNot (And (C8CB, 0x03)))
1192 {
1193 Store (0x4000, C8LN)
1194 }
1195
1196 CreateBitField (CRES, 0x0600, CCRW)
1197 CreateDWordField (CRES, 0xC5, CCMN)
1198 CreateDWordField (CRES, 0xC9, CCMX)
1199 CreateDWordField (CRES, 0xD1, CCLN)
1200 Store (One, CCRW)
1201 If (LEqual (And (CCCF, 0x03), 0x01))
1202 {
1203 Store (Zero, CCRW)
1204 }
1205
1206 Store (Zero, CCLN)
1207 If (LNot (And (CCCF, 0x03)))
1208 {
1209 Store (0x4000, CCLN)
1210 }
1211
1212 CreateBitField (CRES, 0x06D8, D0RW)
1213 CreateDWordField (CRES, 0xE0, D0MN)
1214 CreateDWordField (CRES, 0xE4, D0MX)
1215 CreateDWordField (CRES, 0xEC, D0LN)
1216 Store (One, D0RW)
1217 If (LEqual (And (D0D3, 0x03), 0x01))
1218 {
1219 Store (Zero, D0RW)
1220 }
1221
1222 Store (Zero, D0LN)
1223 If (LNot (And (D0D3, 0x03)))
1224 {
1225 Store (0x4000, D0LN)
1226 }
1227
1228 CreateBitField (CRES, 0x07B0, D4RW)
1229 CreateDWordField (CRES, 0xFB, D4MN)
1230 CreateDWordField (CRES, 0xFF, D4MX)
1231 CreateDWordField (CRES, 0x0107, D4LN)
1232 Store (One, D4RW)
1233 If (LEqual (And (D4D7, 0x03), 0x01))
1234 {
1235 Store (Zero, D4RW)
1236 }
1237
1238 Store (Zero, D4LN)
1239 If (LNot (And (D4D7, 0x03)))
1240 {
1241 Store (0x4000, D4LN)
1242 }
1243
1244 CreateBitField (CRES, 0x0888, D8RW)
1245 CreateDWordField (CRES, 0x0116, D8MN)
1246 CreateDWordField (CRES, 0x011A, D8MX)
1247 CreateDWordField (CRES, 0x0122, D8LN)
1248 Store (One, D8RW)
1249 If (LEqual (And (D8DB, 0x03), 0x01))
1250 {
1251 Store (Zero, D8RW)
1252 }
1253
1254 Store (Zero, D8LN)
1255 If (LNot (And (D8DB, 0x03)))
1256 {
1257 Store (0x4000, D8LN)
1258 }
1259
1260 CreateBitField (CRES, 0x0960, DCRW)
1261 CreateDWordField (CRES, 0x0131, DCMN)
1262 CreateDWordField (CRES, 0x0135, DCMX)
1263 CreateDWordField (CRES, 0x013D, DCLN)
1264 Store (One, DCRW)
1265 If (LEqual (And (DCDF, 0x03), 0x01))
1266 {
1267 Store (Zero, DCRW)
1268 }
1269
1270 Store (Zero, DCLN)
1271 If (LNot (And (DCDF, 0x03)))
1272 {
1273 Store (0x4000, DCLN)
1274 }
1275
1276 CreateBitField (CRES, 0x0A38, E0RW)
1277 CreateDWordField (CRES, 0x014C, E0MN)
1278 CreateDWordField (CRES, 0x0150, E0MX)
1279 CreateDWordField (CRES, 0x0158, E0LN)
1280 Store (One, E0RW)
1281 If (LEqual (And (E0EF, 0x03), 0x01))
1282 {
1283 Store (Zero, E0RW)
1284 }
1285
1286 Store (Zero, E0LN)
1287 If (LNot (And (E0EF, 0x03)))
1288 {
1289 Store (0x00010000, E0LN)
1290 }
1291
1292 CreateBitField (CRES, 0x0B10, F0RW)
1293 CreateDWordField (CRES, 0x0167, F0MN)
1294 CreateDWordField (CRES, 0x016B, F0MX)
1295 CreateDWordField (CRES, 0x0173, F0LN)
1296 Store (One, F0RW)
1297 If (LEqual (And (F0FF, 0x03), 0x01))
1298 {
1299 Store (Zero, F0RW)
1300 }
1301
1302 Store (Zero, F0LN)
1303 If (LNot (And (F0FF, 0x03)))
1304 {
1305 Store (0x00010000, F0LN)
1306 }
1307
1308 Return (CRES)
1309 }
1310
1311 Name (_PRT, Package (0x14)
1312 {
1313 Package (0x04)
1314 {
1315 0x0001FFFF,
1316 0x00,
1317 \_SB.PCI0.ISA.LNKA,
1318 0x00
1319 },
1320
1321 Package (0x04)
1322 {
1323 0x0001FFFF,
1324 0x01,
1325 \_SB.PCI0.ISA.LNKB,
1326 0x00
1327 },
1328
1329 Package (0x04)
1330 {
1331 0x0001FFFF,
1332 0x02,
1333 \_SB.PCI0.ISA.LNKC,
1334 0x00
1335 },
1336
1337 Package (0x04)
1338 {
1339 0x0001FFFF,
1340 0x03,
1341 \_SB.PCI0.ISA.LNKD,
1342 0x00
1343 },
1344
1345 Package (0x04)
1346 {
1347 0x0010FFFF,
1348 0x00,
1349 \_SB.PCI0.ISA.LNKA,
1350 0x00
1351 },
1352
1353 Package (0x04)
1354 {
1355 0x0010FFFF,
1356 0x01,
1357 \_SB.PCI0.ISA.LNKB,
1358 0x00
1359 },
1360
1361 Package (0x04)
1362 {
1363 0x0010FFFF,
1364 0x02,
1365 \_SB.PCI0.ISA.LNKC,
1366 0x00
1367 },
1368
1369 Package (0x04)
1370 {
1371 0x0010FFFF,
1372 0x03,
1373 \_SB.PCI0.ISA.LNKD,
1374 0x00
1375 },
1376
1377 Package (0x04)
1378 {
1379 0x0011FFFF,
1380 0x00,
1381 \_SB.PCI0.ISA.LNKA,
1382 0x00
1383 },
1384
1385 Package (0x04)
1386 {
1387 0x0011FFFF,
1388 0x01,
1389 \_SB.PCI0.ISA.LNKB,
1390 0x00
1391 },
1392
1393 Package (0x04)
1394 {
1395 0x0011FFFF,
1396 0x02,
1397 \_SB.PCI0.ISA.LNKC,
1398 0x00
1399 },
1400
1401 Package (0x04)
1402 {
1403 0x0011FFFF,
1404 0x03,
1405 \_SB.PCI0.ISA.LNKD,
1406 0x00
1407 },
1408
1409 Package (0x04)
1410 {
1411 0x0012FFFF,
1412 0x00,
1413 \_SB.PCI0.ISA.LNKA,
1414 0x00
1415 },
1416
1417 Package (0x04)
1418 {
1419 0x0012FFFF,
1420 0x01,
1421 \_SB.PCI0.ISA.LNKB,
1422 0x00
1423 },
1424
1425 Package (0x04)
1426 {
1427 0x0012FFFF,
1428 0x02,
1429 \_SB.PCI0.ISA.LNKC,
1430 0x00
1431 },
1432
1433 Package (0x04)
1434 {
1435 0x0012FFFF,
1436 0x03,
1437 \_SB.PCI0.ISA.LNKD,
1438 0x00
1439 },
1440
1441 Package (0x04)
1442 {
1443 0x0007FFFF,
1444 0x00,
1445 \_SB.PCI0.ISA.LNKB,
1446 0x00
1447 },
1448
1449 Package (0x04)
1450 {
1451 0x0008FFFF,
1452 0x00,
1453 \_SB.PCI0.ISA.LNKB,
1454 0x00
1455 },
1456
1457 Package (0x04)
1458 {
1459 0x0009FFFF,
1460 0x00,
1461 \_SB.PCI0.ISA.LNKC,
1462 0x00
1463 },
1464
1465 Package (0x04)
1466 {
1467 0x0009FFFF,
1468 0x01,
1469 \_SB.PCI0.ISA.LNKD,
1470 0x00
1471 }
1472 })
1473 Device (ISA)
1474 {
1475 Name (_ADR, 0x00110000)
1476 OperationRegion (IRQR, PCI_Config, 0x00, 0x0100)
1477 Field (IRQR, ByteAcc, NoLock, Preserve)
1478 {
1479 Offset (0x50),
1480 , 1,
1481 ESB4, 1,
1482 ESB3, 1,
1483 , 1,
1484 ESB1, 1,
1485 ESB2, 1,
1486 AC97, 1,
1487 MC97, 1,
1488 , 2,
1489 PS2E, 1,
1490 Offset (0x55),
1491 , 4,
1492 PIRA, 4,
1493 PIRB, 4,
1494 PIRC, 4,
1495 , 4,
1496 PIRD, 4,
1497 Offset (0x88),
1498 PMBS, 16,
1499 Offset (0x94),
1500 , 4,
1501 GPSU, 1,
1502 SUSC, 1,
1503 STRP, 1,
1504 Offset (0x95),
1505 USBW, 1,
1506 Offset (0xD0),
1507 SMBS, 16,
1508 SMBC, 1
1509 }
1510
1511 OperationRegion (PMIO, SystemIO, 0x4000, 0x50)
1512 Field (PMIO, ByteAcc, NoLock, Preserve)
1513 {
1514 Offset (0x10),
1515 TRDC, 4,
1516 TREN, 1,
1517 Offset (0x21),
1518 , 3,
1519 LIDF, 1,
1520 Offset (0x2A),
1521 PACT, 1,
1522 Offset (0x2C),
1523 , 6,
1524 THRM, 1,
1525 LIDP, 1,
1526 Offset (0x2F),
1527 SCMD, 8,
1528 , 5,
1529 CMAS, 1,
1530 CMBS, 1,
1531 Offset (0x31),
1532 Offset (0x34),
1533 , 5,
1534 CMAE, 1,
1535 CMBE, 1,
1536 Offset (0x48),
1537 , 4,
1538 LIDS, 1
1539 }
1540
1541 OperationRegion (Z003, SystemIO, 0x80, 0x01)
1542 Field (Z003, ByteAcc, NoLock, Preserve)
1543 {
1544 Z001, 8
1545 }
1546
1547 Device (LNKA)
1548 {
1549 Name (_HID, EisaId ("PNP0C0F"))
1550 Name (_UID, 0x01)
1551 Name (_PRS, ResourceTemplate ()
1552 {
1553 IRQ (Level, ActiveLow, Shared) {4}
1554 })
1555 Method (_DIS, 0, NotSerialized)
1556 {
1557 Store (Zero, \_SB.PCI0.ISA.PIRA)
1558 }
1559
1560 Method (_STA, 0, NotSerialized)
1561 {
1562 If (LEqual (\_SB.PCI0.ISA.PIRA, 0x00))
1563 {
1564 Return (0x09)
1565 }
1566 Else
1567 {
1568 Return (0x0B)
1569 }
1570 }
1571
1572 Method (_CRS, 0, NotSerialized)
1573 {
1574 Name (BUFA, ResourceTemplate ()
1575 {
1576 IRQ (Level, ActiveLow, Shared) {}
1577 })
1578 CreateByteField (BUFA, 0x01, IRA1)
1579 CreateByteField (BUFA, 0x02, IRA2)
1580 Store (\_SB.PCI0.ISA.PIRA, Local0)
1581 If (LGreater (Local0, 0x00))
1582 {
1583 If (LGreater (Local0, 0x07))
1584 {
1585 Subtract (Local0, 0x08, Local0)
1586 Store (0x01, Local1)
1587 ShiftLeft (Local1, Local0, IRA2)
1588 }
1589 Else
1590 {
1591 Store (0x01, Local1)
1592 ShiftLeft (Local1, Local0, IRA1)
1593 }
1594 }
1595
1596 Return (BUFA)
1597 }
1598
1599 Method (_SRS, 1, NotSerialized)
1600 {
1601 CreateByteField (Arg0, 0x01, IRA1)
1602 CreateByteField (Arg0, 0x02, IRA2)
1603 If (LGreater (IRA2, Zero))
1604 {
1605 FindSetLeftBit (IRA2, Local0)
1606 Decrement (Local0)
1607 Add (Local0, 0x08, Local0)
1608 }
1609 Else
1610 {
1611 FindSetLeftBit (IRA1, Local0)
1612 Decrement (Local0)
1613 }
1614
1615 Store (Local0, \_SB.PCI0.ISA.PIRA)
1616 }
1617 }
1618
1619 Device (LNKB)
1620 {
1621 Name (_HID, EisaId ("PNP0C0F"))
1622 Name (_UID, 0x02)
1623 Name (_PRS, ResourceTemplate ()
1624 {
1625 IRQ (Level, ActiveLow, Shared) {5}
1626 })
1627 Method (_DIS, 0, NotSerialized)
1628 {
1629 Store (Zero, \_SB.PCI0.ISA.PIRB)
1630 }
1631
1632 Method (_STA, 0, NotSerialized)
1633 {
1634 If (LEqual (\_SB.PCI0.ISA.PIRB, 0x00))
1635 {
1636 Return (0x09)
1637 }
1638 Else
1639 {
1640 Return (0x0B)
1641 }
1642 }
1643
1644 Method (_CRS, 0, NotSerialized)
1645 {
1646 Name (BUFB, ResourceTemplate ()
1647 {
1648 IRQ (Level, ActiveLow, Shared) {}
1649 })
1650 CreateByteField (BUFB, 0x01, IRB1)
1651 CreateByteField (BUFB, 0x02, IRB2)
1652 Store (\_SB.PCI0.ISA.PIRB, Local0)
1653 If (LGreater (Local0, 0x00))
1654 {
1655 If (LGreater (Local0, 0x07))
1656 {
1657 Subtract (Local0, 0x08, Local0)
1658 Store (0x01, Local1)
1659 ShiftLeft (Local1, Local0, IRB2)
1660 }
1661 Else
1662 {
1663 Store (0x01, Local1)
1664 ShiftLeft (Local1, Local0, IRB1)
1665 }
1666 }
1667
1668 Return (BUFB)
1669 }
1670
1671 Method (_SRS, 1, NotSerialized)
1672 {
1673 CreateByteField (Arg0, 0x01, IRB1)
1674 CreateByteField (Arg0, 0x02, IRB2)
1675 If (LGreater (IRB2, Zero))
1676 {
1677 FindSetLeftBit (IRB2, Local0)
1678 Decrement (Local0)
1679 Add (Local0, 0x08, Local0)
1680 }
1681 Else
1682 {
1683 FindSetLeftBit (IRB1, Local0)
1684 Decrement (Local0)
1685 }
1686
1687 Store (Local0, \_SB.PCI0.ISA.PIRB)
1688 }
1689 }
1690
1691 Device (LNKC)
1692 {
1693 Name (_HID, EisaId ("PNP0C0F"))
1694 Name (_UID, 0x03)
1695 Name (_PRS, ResourceTemplate ()
1696 {
1697 IRQ (Level, ActiveLow, Shared) {9}
1698 })
1699 Method (_DIS, 0, NotSerialized)
1700 {
1701 Store (Zero, \_SB.PCI0.ISA.PIRC)
1702 }
1703
1704 Method (_STA, 0, NotSerialized)
1705 {
1706 If (LEqual (\_SB.PCI0.ISA.PIRC, 0x00))
1707 {
1708 Return (0x09)
1709 }
1710 Else
1711 {
1712 Return (0x0B)
1713 }
1714 }
1715
1716 Method (_CRS, 0, NotSerialized)
1717 {
1718 Name (BUFC, ResourceTemplate ()
1719 {
1720 IRQ (Level, ActiveLow, Shared) {}
1721 })
1722 CreateByteField (BUFC, 0x01, IRC1)
1723 CreateByteField (BUFC, 0x02, IRC2)
1724 Store (\_SB.PCI0.ISA.PIRC, Local0)
1725 If (LGreater (Local0, 0x00))
1726 {
1727 If (LGreater (Local0, 0x07))
1728 {
1729 Subtract (Local0, 0x08, Local0)
1730 Store (0x01, Local1)
1731 ShiftLeft (Local1, Local0, IRC2)
1732 }
1733 Else
1734 {
1735 Store (0x01, Local1)
1736 ShiftLeft (Local1, Local0, IRC1)
1737 }
1738 }
1739
1740 Return (BUFC)
1741 }
1742
1743 Method (_SRS, 1, NotSerialized)
1744 {
1745 CreateByteField (Arg0, 0x01, IRC1)
1746 CreateByteField (Arg0, 0x02, IRC2)
1747 If (LGreater (IRC2, Zero))
1748 {
1749 FindSetLeftBit (IRC2, Local0)
1750 Decrement (Local0)
1751 Add (Local0, 0x08, Local0)
1752 }
1753 Else
1754 {
1755 FindSetLeftBit (IRC1, Local0)
1756 Decrement (Local0)
1757 }
1758
1759 Store (Local0, \_SB.PCI0.ISA.PIRC)
1760 }
1761 }
1762
1763 Device (LNKD)
1764 {
1765 Name (_HID, EisaId ("PNP0C0F"))
1766 Name (_UID, 0x04)
1767 Name (_PRS, ResourceTemplate ()
1768 {
1769 IRQ (Level, ActiveLow, Shared) {11}
1770 })
1771 Method (_DIS, 0, NotSerialized)
1772 {
1773 Store (Zero, \_SB.PCI0.ISA.PIRD)
1774 }
1775
1776 Method (_STA, 0, NotSerialized)
1777 {
1778 If (LEqual (\_SB.PCI0.ISA.PIRD, 0x00))
1779 {
1780 Return (0x09)
1781 }
1782 Else
1783 {
1784 Return (0x0B)
1785 }
1786 }
1787
1788 Method (_CRS, 0, NotSerialized)
1789 {
1790 Name (BUFD, ResourceTemplate ()
1791 {
1792 IRQ (Level, ActiveLow, Shared) {}
1793 })
1794 CreateByteField (BUFD, 0x01, IRD1)
1795 CreateByteField (BUFD, 0x02, IRD2)
1796 Store (\_SB.PCI0.ISA.PIRD, Local0)
1797 If (LGreater (Local0, 0x00))
1798 {
1799 If (LGreater (Local0, 0x07))
1800 {
1801 Subtract (Local0, 0x08, Local2)
1802 Store (0x01, Local1)
1803 ShiftLeft (Local1, Local2, Local3)
1804 Store (Local3, IRD2)
1805 }
1806 Else
1807 {
1808 Store (0x01, Local1)
1809 ShiftLeft (Local1, Local0, Local2)
1810 Store (Local2, IRD1)
1811 }
1812 }
1813
1814 Return (BUFD)
1815 }
1816
1817 Method (_SRS, 1, NotSerialized)
1818 {
1819 CreateByteField (Arg0, 0x01, IRD1)
1820 CreateByteField (Arg0, 0x02, IRD2)
1821 If (LGreater (IRD2, Zero))
1822 {
1823 FindSetLeftBit (IRD2, Local0)
1824 Decrement (Local0)
1825 Add (Local0, 0x08, Local0)
1826 }
1827 Else
1828 {
1829 FindSetLeftBit (IRD1, Local0)
1830 Decrement (Local0)
1831 }
1832
1833 Store (Local0, \_SB.PCI0.ISA.PIRD)
1834 }
1835 }
1836
1837 Device (DMA1)
1838 {
1839 Name (_HID, EisaId ("PNP0200"))
1840 Name (_CRS, ResourceTemplate ()
1841 {
1842 DMA (Compatibility, BusMaster, Transfer8) {4}
1843 IO (Decode16, 0x0000, 0x0000, 0x01, 0x10)
1844 IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F)
1845 IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20)
1846 IO (Decode16, 0x0092, 0x0092, 0x01, 0x01)
1847 })
1848 Method (_STA, 0, NotSerialized)
1849 {
1850 Return (0x0F)
1851 }
1852 }
1853
1854 Device (RTC)
1855 {
1856 Name (_HID, EisaId ("PNP0B00"))
1857 Method (_STA, 0, NotSerialized)
1858 {
1859 Return (0x0F)
1860 }
1861
1862 Name (_CRS, ResourceTemplate ()
1863 {
1864 IO (Decode10, 0x0070, 0x0070, 0x01, 0x06)
1865 IRQNoFlags () {8}
1866 })
1867 }
1868
1869 Device (PIC)
1870 {
1871 Name (_HID, EisaId ("PNP0000"))
1872 Method (_STA, 0, NotSerialized)
1873 {
1874 Return (0x0F)
1875 }
1876
1877 Name (_CRS, ResourceTemplate ()
1878 {
1879 IO (Decode16, 0x0020, 0x0020, 0x01, 0x02)
1880 IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02)
1881 IRQNoFlags () {2}
1882 })
1883 }
1884
1885 Device (COPR)
1886 {
1887 Name (_HID, EisaId ("PNP0C04"))
1888 Method (_STA, 0, NotSerialized)
1889 {
1890 Return (0x0F)
1891 }
1892
1893 Name (_CRS, ResourceTemplate ()
1894 {
1895 IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x10)
1896 IRQNoFlags () {13}
1897 })
1898 }
1899
1900 Device (TMR)
1901 {
1902 Name (_HID, EisaId ("PNP0100"))
1903 Method (_STA, 0, NotSerialized)
1904 {
1905 Return (0x0F)
1906 }
1907
1908 Name (_CRS, ResourceTemplate ()
1909 {
1910 IO (Decode16, 0x0040, 0x0040, 0x01, 0x04)
1911 IRQNoFlags () {0}
1912 })
1913 }
1914
1915 Device (SPKR)
1916 {
1917 Method (_STA, 0, NotSerialized)
1918 {
1919 Return (0x0F)
1920 }
1921
1922 Name (_HID, EisaId ("PNP0800"))
1923 Name (_CRS, ResourceTemplate ()
1924 {
1925 IO (Decode16, 0x0061, 0x0061, 0x01, 0x01)
1926 })
1927 }
1928
1929 Device (MEM)
1930 {
1931 Name (_HID, EisaId ("PNP0C01"))
1932 Method (_STA, 0, NotSerialized)
1933 {
1934 Return (0x0F)
1935 }
1936
1937 Method (_CRS, 0, NotSerialized)
1938 {
1939 Name (SMEM, ResourceTemplate ()
1940 {
1941 Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
1942 Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
1943 Memory32Fixed (ReadOnly, 0xFFF00000, 0x00100000)
1944 Memory32Fixed (ReadOnly, 0xFFEE0000, 0x00020000)
1945 Memory32Fixed (ReadOnly, 0xFEC00000, 0x00001000)
1946 Memory32Fixed (ReadOnly, 0xFEE00000, 0x00001000)
1947 Memory32Fixed (ReadOnly, 0xFFC00000, 0x00400000)
1948 })
1949 Return (SMEM)
1950 }
1951 }
1952
1953 Device (SYSR)
1954 {
1955 Name (_HID, EisaId ("PNP0C02"))
1956 Method (_STA, 0, NotSerialized)
1957 {
1958 Return (0x0F)
1959 }
1960
1961 Method (_CRS, 0, NotSerialized)
1962 {
1963 If (\_SB.PCI0.ISA.SMBC)
1964 {
1965 Name (RSR2, ResourceTemplate ()
1966 {
1967 IO (Decode16, 0x0080, 0x0080, 0x01, 0x01)
1968 IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
1969 IO (Decode16, 0xFE10, 0xFE10, 0x01, 0x02)
1970 IO (Decode16, 0x002E, 0x002E, 0x01, 0x02)
1971 IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02)
1972 IO (Decode16, 0x0600, 0x0600, 0x01, 0x10)
1973 IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x01)
1974 IO (Decode16, 0x8000, 0x8000, 0x01, 0x80)
1975 IO (Decode16, 0x8100, 0x8100, 0x01, 0x20)
1976 })
1977 CreateWordField (RSR2, 0x3A, PMMI)
1978 CreateWordField (RSR2, 0x3C, PMMA)
1979 CreateWordField (RSR2, 0x42, SMMI)
1980 CreateWordField (RSR2, 0x44, SMMA)
1981 And (\_SB.PCI0.ISA.PMBS, 0xFFFE, PMMI)
1982 Store (PMMI, PMMA)
1983 And (\_SB.PCI0.ISA.SMBS, 0xFFF0, SMMI)
1984 Store (SMMI, SMMA)
1985 Return (RSR2)
1986 }
1987 Else
1988 {
1989 Name (RSR1, ResourceTemplate ()
1990 {
1991 IO (Decode16, 0x0080, 0x0080, 0x01, 0x01)
1992 IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02)
1993 IO (Decode16, 0xFE10, 0xFE10, 0x01, 0x02)
1994 IO (Decode16, 0x002E, 0x002E, 0x01, 0x02)
1995 IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02)
1996 IO (Decode16, 0x0600, 0x0600, 0x01, 0x10)
1997 IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x01)
1998 IO (Decode16, 0x8000, 0x8000, 0x01, 0x80)
1999 })
2000 CreateWordField (RSR1, 0x3A, IOMI)
2001 CreateWordField (RSR1, 0x3C, IOMA)
2002 And (\_SB.PCI0.ISA.PMBS, 0xFFFE, IOMI)
2003 Store (IOMI, IOMA)
2004 Return (RSR1)
2005 }
2006 }
2007 }
2008
2009 Device (KBC0)
2010 {
2011 Name (_HID, EisaId ("PNP0303"))
2012 Name (_CRS, ResourceTemplate ()
2013 {
2014 IO (Decode16, 0x0060, 0x0060, 0x01, 0x01)
2015 IO (Decode16, 0x0064, 0x0064, 0x01, 0x01)
2016 IRQ (Edge, ActiveHigh, Exclusive) {1}
2017 })
2018 }
2019
2020 Device (MSE0)
2021 {
2022 Name (_HID, EisaId ("PNP0F13"))
2023 Name (_CRS, ResourceTemplate ()
2024 {
2025 IRQ (Edge, ActiveHigh, Exclusive) {12}
2026 })
2027 }
2028
2029 Device (SIO)
2030 {
2031 Name (_HID, EisaId ("PNP0A05"))
2032 OperationRegion (SIIO, SystemIO, 0x2E, 0x02)
2033 Field (SIIO, ByteAcc, NoLock, Preserve)
2034 {
2035 INDX, 8,
2036 DATA, 8
2037 }
2038
2039 Mutex (N393, 0x00)
2040 Method (LDRS, 3, NotSerialized)
2041 {
2042 Acquire (N393, 0xFFFF)
2043 Store (0x07, INDX)
2044 Store (Arg0, DATA)
2045 Store (Arg1, INDX)
2046 Store (Arg2, DATA)
2047 Release (N393)
2048 }
2049
2050 Method (LDRG, 2, NotSerialized)
2051 {
2052 Acquire (N393, 0xFFFF)
2053 Store (0x07, INDX)
2054 Store (Arg0, DATA)
2055 Store (Arg1, INDX)
2056 Store (DATA, Local0)
2057 Release (N393)
2058 Return (Local0)
2059 }
2060
2061 Method (RCF6, 1, NotSerialized)
2062 {
2063 Acquire (N393, 0xFFFF)
2064 Store (0x26, INDX)
2065 Store (DATA, Local0)
2066 And (Local0, Arg0, Local0)
2067 Release (N393)
2068 Return (XOr (Local0, Arg0))
2069 }
2070
2071 Device (ECP)
2072 {
2073 Name (_HID, EisaId ("PNP0401"))
2074 Name (_UID, 0x03)
2075 Method (_STA, 0, NotSerialized)
2076 {
2077 Store (LDRG (0x01, 0xF0), Local0)
2078 ShiftRight (Local0, 0x05, Local0)
2079 If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x04), LEqual (Local0, 0x07))))
2080 {
2081 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
2082 Add (0x0D, Local1, Local1)
2083 Return (Local1)
2084 }
2085 Else
2086 {
2087 Return (0x00)
2088 }
2089 }
2090
2091 Method (_PS0, 0, NotSerialized)
2092 {
2093 LDRS (0x01, 0x30, 0x01)
2094 }
2095
2096 Method (_PS3, 0, NotSerialized)
2097 {
2098 LDRS (0x01, 0x30, 0x00)
2099 }
2100
2101 Method (_PRS, 0, NotSerialized)
2102 {
2103 Return (ResourceTemplate ()
2104 {
2105 StartDependentFnNoPri ()
2106 {
2107 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2108 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2109 IRQNoFlags () {7}
2110 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2111 }
2112 StartDependentFnNoPri ()
2113 {
2114 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2115 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2116 IRQNoFlags () {5}
2117 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2118 }
2119 StartDependentFnNoPri ()
2120 {
2121 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2122 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2123 IRQNoFlags () {5}
2124 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2125 }
2126 StartDependentFnNoPri ()
2127 {
2128 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2129 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2130 IRQNoFlags () {7}
2131 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2132 }
2133 StartDependentFnNoPri ()
2134 {
2135 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2136 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2137 IRQNoFlags () {7}
2138 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2139 }
2140 StartDependentFnNoPri ()
2141 {
2142 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2143 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2144 IRQNoFlags () {5}
2145 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2146 }
2147 StartDependentFnNoPri ()
2148 {
2149 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2150 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2151 IRQNoFlags () {5}
2152 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2153 }
2154 StartDependentFnNoPri ()
2155 {
2156 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2157 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2158 IRQNoFlags () {7}
2159 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2160 }
2161 EndDependentFn ()
2162 })
2163 }
2164
2165 Method (_DIS, 0, NotSerialized)
2166 {
2167 LDRS (0x01, 0x30, 0x00)
2168 }
2169
2170 Method (_CRS, 0, NotSerialized)
2171 {
2172 Name (DCRS, ResourceTemplate ()
2173 {
2174 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2175 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2176 IRQNoFlags () {7}
2177 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2178 })
2179 Store (LDRG (0x01, 0x60), Local1)
2180 Store (LDRG (0x01, 0x61), Local0)
2181 Store (Local0, Index (DCRS, 0x02))
2182 Store (Local0, Index (DCRS, 0x0A))
2183 Store (Local0, Index (DCRS, 0x04))
2184 Store (Local0, Index (DCRS, 0x0C))
2185 Store (Local1, Index (DCRS, 0x03))
2186 Store (Local1, Index (DCRS, 0x05))
2187 Add (Local1, 0x04, Local1)
2188 Store (Local1, Index (DCRS, 0x0B))
2189 Store (Local1, Index (DCRS, 0x0D))
2190 ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
2191 Store (Local0, Index (DCRS, 0x11))
2192 ShiftRight (Local0, 0x08, Local1)
2193 Store (Local1, Index (DCRS, 0x12))
2194 ShiftLeft (0x01, LDRG (0x01, 0x74), Local0)
2195 Store (Local0, Index (DCRS, 0x14))
2196 ShiftRight (Local0, 0x08, Local1)
2197 Store (Local1, Index (DCRS, 0x15))
2198 Return (DCRS)
2199 }
2200
2201 Method (_SRS, 1, NotSerialized)
2202 {
2203 CreateByteField (Arg0, 0x02, ADRL)
2204 CreateByteField (Arg0, 0x03, ADRM)
2205 CreateWordField (Arg0, 0x11, IRQM)
2206 CreateWordField (Arg0, 0x14, DMAM)
2207 FindSetRightBit (IRQM, Local0)
2208 Decrement (Local0)
2209 FindSetRightBit (DMAM, Local1)
2210 Decrement (Local1)
2211 LDRS (0x01, 0x70, Local0)
2212 LDRS (0x01, 0x74, Local1)
2213 LDRS (0x01, 0x60, ADRM)
2214 LDRS (0x01, 0x61, ADRL)
2215 LDRS (0x01, 0x30, 0x01)
2216 }
2217 }
2218
2219 Device (EPP)
2220 {
2221 Name (_HID, EisaId ("PNP0400"))
2222 Name (_UID, 0x02)
2223 Method (_STA, 0, NotSerialized)
2224 {
2225 Store (LDRG (0x01, 0xF0), Local0)
2226 ShiftRight (Local0, 0x05, Local0)
2227 If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x02), LEqual (Local0, 0x03))))
2228 {
2229 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
2230 Add (0x0D, Local1, Local1)
2231 Return (Local1)
2232 }
2233 Else
2234 {
2235 Return (0x00)
2236 }
2237 }
2238
2239 Method (_PS0, 0, NotSerialized)
2240 {
2241 LDRS (0x01, 0x30, 0x01)
2242 }
2243
2244 Method (_PS3, 0, NotSerialized)
2245 {
2246 LDRS (0x01, 0x30, 0x00)
2247 }
2248
2249 Method (_PRS, 0, NotSerialized)
2250 {
2251 Return (ResourceTemplate ()
2252 {
2253 StartDependentFnNoPri ()
2254 {
2255 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2256 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2257 IRQNoFlags () {7}
2258 }
2259 StartDependentFnNoPri ()
2260 {
2261 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2262 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2263 IRQNoFlags () {5}
2264 }
2265 StartDependentFnNoPri ()
2266 {
2267 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2268 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2269 IRQNoFlags () {5}
2270 }
2271 StartDependentFnNoPri ()
2272 {
2273 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2274 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2275 IRQNoFlags () {7}
2276 }
2277 StartDependentFnNoPri ()
2278 {
2279 IO (Decode16, 0x0178, 0x0178, 0x08, 0x08)
2280 IO (Decode16, 0x0578, 0x0578, 0x08, 0x08)
2281 IRQNoFlags () {7}
2282 }
2283 StartDependentFnNoPri ()
2284 {
2285 IO (Decode16, 0x0178, 0x0178, 0x08, 0x08)
2286 IO (Decode16, 0x0578, 0x0578, 0x08, 0x08)
2287 IRQNoFlags () {5}
2288 }
2289 EndDependentFn ()
2290 })
2291 }
2292
2293 Method (_DIS, 0, NotSerialized)
2294 {
2295 LDRS (0x01, 0x30, 0x00)
2296 }
2297
2298 Method (_CRS, 0, NotSerialized)
2299 {
2300 Name (DCRS, ResourceTemplate ()
2301 {
2302 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2303 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2304 IRQNoFlags () {7}
2305 })
2306 Store (LDRG (0x01, 0x60), Local1)
2307 Store (LDRG (0x01, 0x61), Local0)
2308 Store (Local0, Index (DCRS, 0x02))
2309 Store (Local0, Index (DCRS, 0x0A))
2310 Store (Local0, Index (DCRS, 0x04))
2311 Store (Local0, Index (DCRS, 0x0C))
2312 Store (Local1, Index (DCRS, 0x03))
2313 Store (Local1, Index (DCRS, 0x05))
2314 Add (Local1, 0x04, Local1)
2315 Store (Local1, Index (DCRS, 0x0B))
2316 Store (Local1, Index (DCRS, 0x0D))
2317 ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
2318 Store (Local0, Index (DCRS, 0x11))
2319 ShiftRight (Local0, 0x08, Local1)
2320 Store (Local1, Index (DCRS, 0x12))
2321 Return (DCRS)
2322 }
2323
2324 Method (_SRS, 1, NotSerialized)
2325 {
2326 CreateByteField (Arg0, 0x02, ADRL)
2327 CreateByteField (Arg0, 0x03, ADRM)
2328 CreateWordField (Arg0, 0x11, IRQM)
2329 FindSetRightBit (IRQM, Local0)
2330 Decrement (Local0)
2331 LDRS (0x01, 0x70, Local0)
2332 LDRS (0x01, 0x60, ADRM)
2333 LDRS (0x01, 0x61, ADRL)
2334 LDRS (0x01, 0x30, 0x01)
2335 }
2336 }
2337
2338 Device (LPTB)
2339 {
2340 Name (_HID, EisaId ("PNP0400"))
2341 Name (_UID, 0x01)
2342 Method (_STA, 0, NotSerialized)
2343 {
2344 Store (LDRG (0x01, 0xF0), Local0)
2345 ShiftRight (Local0, 0x05, Local0)
2346 If (LAnd (RCF6 (0x02), LEqual (Local0, 0x01)))
2347 {
2348 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
2349 Add (0x0D, Local1, Local1)
2350 Return (Local1)
2351 }
2352 Else
2353 {
2354 Return (0x00)
2355 }
2356 }
2357
2358 Method (_PS0, 0, NotSerialized)
2359 {
2360 LDRS (0x01, 0x30, 0x01)
2361 }
2362
2363 Method (_PS3, 0, NotSerialized)
2364 {
2365 LDRS (0x01, 0x30, 0x00)
2366 }
2367
2368 Method (_PRS, 0, NotSerialized)
2369 {
2370 Return (ResourceTemplate ()
2371 {
2372 StartDependentFnNoPri ()
2373 {
2374 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2375 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2376 IRQNoFlags () {7}
2377 }
2378 StartDependentFnNoPri ()
2379 {
2380 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2381 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2382 IRQNoFlags () {5}
2383 }
2384 StartDependentFnNoPri ()
2385 {
2386 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2387 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2388 IRQNoFlags () {5}
2389 }
2390 StartDependentFnNoPri ()
2391 {
2392 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2393 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2394 IRQNoFlags () {7}
2395 }
2396 StartDependentFnNoPri ()
2397 {
2398 IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
2399 IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
2400 IRQNoFlags () {7}
2401 }
2402 StartDependentFnNoPri ()
2403 {
2404 IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
2405 IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
2406 IRQNoFlags () {5}
2407 }
2408 EndDependentFn ()
2409 })
2410 }
2411
2412 Method (_DIS, 0, NotSerialized)
2413 {
2414 LDRS (0x01, 0x30, 0x00)
2415 }
2416
2417 Method (_CRS, 0, NotSerialized)
2418 {
2419 Name (DCRS, ResourceTemplate ()
2420 {
2421 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2422 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2423 IRQNoFlags () {7}
2424 })
2425 Store (LDRG (0x01, 0x60), Local1)
2426 Store (LDRG (0x01, 0x61), Local0)
2427 Store (Local0, Index (DCRS, 0x02))
2428 Store (Local0, Index (DCRS, 0x0A))
2429 Store (Local0, Index (DCRS, 0x04))
2430 Store (Local0, Index (DCRS, 0x0C))
2431 Store (Local1, Index (DCRS, 0x03))
2432 Store (Local1, Index (DCRS, 0x05))
2433 Add (Local1, 0x04, Local1)
2434 Store (Local1, Index (DCRS, 0x0B))
2435 Store (Local1, Index (DCRS, 0x0D))
2436 If (And (Local0, 0x04))
2437 {
2438 Store (0x04, Local0)
2439 }
2440 Else
2441 {
2442 Store (0x08, Local0)
2443 }
2444
2445 Store (Local0, Index (DCRS, 0x06))
2446 Store (Local0, Index (DCRS, 0x07))
2447 Store (Local0, Index (DCRS, 0x0E))
2448 Store (Local0, Index (DCRS, 0x0F))
2449 ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
2450 Store (Local0, Index (DCRS, 0x11))
2451 ShiftRight (Local0, 0x08, Local1)
2452 Store (Local1, Index (DCRS, 0x12))
2453 Return (DCRS)
2454 }
2455
2456 Method (_SRS, 1, NotSerialized)
2457 {
2458 CreateByteField (Arg0, 0x02, ADRL)
2459 CreateByteField (Arg0, 0x03, ADRM)
2460 CreateWordField (Arg0, 0x11, IRQM)
2461 FindSetRightBit (IRQM, Local0)
2462 Decrement (Local0)
2463 LDRS (0x01, 0x70, Local0)
2464 LDRS (0x01, 0x60, ADRM)
2465 LDRS (0x01, 0x61, ADRL)
2466 LDRS (0x01, 0x30, 0x01)
2467 }
2468 }
2469
2470 Device (LPT)
2471 {
2472 Name (_HID, EisaId ("PNP0400"))
2473 Name (_UID, 0x00)
2474 Method (_STA, 0, NotSerialized)
2475 {
2476 Store (LDRG (0x01, 0xF0), Local0)
2477 ShiftRight (Local0, 0x05, Local0)
2478 If (LAnd (RCF6 (0x02), LEqual (Local0, 0x00)))
2479 {
2480 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
2481 Add (0x0D, Local1, Local1)
2482 Return (Local1)
2483 }
2484 Else
2485 {
2486 Return (0x00)
2487 }
2488 }
2489
2490 Method (_PS0, 0, NotSerialized)
2491 {
2492 LDRS (0x01, 0x30, 0x01)
2493 }
2494
2495 Method (_PS3, 0, NotSerialized)
2496 {
2497 LDRS (0x01, 0x30, 0x00)
2498 }
2499
2500 Method (_PRS, 0, NotSerialized)
2501 {
2502 Return (ResourceTemplate ()
2503 {
2504 StartDependentFnNoPri ()
2505 {
2506 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2507 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2508 IRQNoFlags () {7}
2509 }
2510 StartDependentFnNoPri ()
2511 {
2512 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2513 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2514 IRQNoFlags () {5}
2515 }
2516 StartDependentFnNoPri ()
2517 {
2518 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2519 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2520 IRQNoFlags () {5}
2521 }
2522 StartDependentFnNoPri ()
2523 {
2524 IO (Decode16, 0x0278, 0x0278, 0x08, 0x08)
2525 IO (Decode16, 0x0678, 0x0678, 0x08, 0x08)
2526 IRQNoFlags () {7}
2527 }
2528 StartDependentFnNoPri ()
2529 {
2530 IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
2531 IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
2532 IRQNoFlags () {7}
2533 }
2534 StartDependentFnNoPri ()
2535 {
2536 IO (Decode16, 0x03BC, 0x03BC, 0x04, 0x04)
2537 IO (Decode16, 0x07BC, 0x07BC, 0x04, 0x04)
2538 IRQNoFlags () {5}
2539 }
2540 EndDependentFn ()
2541 })
2542 }
2543
2544 Method (_DIS, 0, NotSerialized)
2545 {
2546 LDRS (0x01, 0x30, 0x00)
2547 }
2548
2549 Method (_CRS, 0, NotSerialized)
2550 {
2551 Name (DCRS, ResourceTemplate ()
2552 {
2553 IO (Decode16, 0x0378, 0x0378, 0x08, 0x08)
2554 IO (Decode16, 0x0778, 0x0778, 0x08, 0x08)
2555 IRQNoFlags () {7}
2556 })
2557 Store (LDRG (0x01, 0x60), Local1)
2558 Store (LDRG (0x01, 0x61), Local0)
2559 Store (Local0, Index (DCRS, 0x02))
2560 Store (Local0, Index (DCRS, 0x0A))
2561 Store (Local0, Index (DCRS, 0x04))
2562 Store (Local0, Index (DCRS, 0x0C))
2563 Store (Local1, Index (DCRS, 0x03))
2564 Store (Local1, Index (DCRS, 0x05))
2565 Add (Local1, 0x04, Local1)
2566 Store (Local1, Index (DCRS, 0x0B))
2567 Store (Local1, Index (DCRS, 0x0D))
2568 If (And (Local0, 0x04))
2569 {
2570 Store (0x04, Local0)
2571 }
2572 Else
2573 {
2574 Store (0x08, Local0)
2575 }
2576
2577 Store (Local0, Index (DCRS, 0x06))
2578 Store (Local0, Index (DCRS, 0x07))
2579 Store (Local0, Index (DCRS, 0x0E))
2580 Store (Local0, Index (DCRS, 0x0F))
2581 ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
2582 Store (Local0, Index (DCRS, 0x11))
2583 ShiftRight (Local0, 0x08, Local1)
2584 Store (Local1, Index (DCRS, 0x12))
2585 Return (DCRS)
2586 }
2587
2588 Method (_SRS, 1, NotSerialized)
2589 {
2590 CreateByteField (Arg0, 0x02, ADRL)
2591 CreateByteField (Arg0, 0x03, ADRM)
2592 CreateWordField (Arg0, 0x11, IRQM)
2593 FindSetRightBit (IRQM, Local0)
2594 Decrement (Local0)
2595 LDRS (0x01, 0x70, Local0)
2596 LDRS (0x01, 0x60, ADRM)
2597 LDRS (0x01, 0x61, ADRL)
2598 LDRS (0x01, 0x30, 0x01)
2599 }
2600 }
2601
2602 Device (FDC)
2603 {
2604 Name (_HID, EisaId ("PNP0700"))
2605 Name (_UID, 0x00)
2606 Method (_STA, 0, NotSerialized)
2607 {
2608 If (RCF6 (0x01))
2609 {
2610 ShiftLeft (LDRG (0x00, 0x30), 0x01, Local1)
2611 Add (0x0D, Local1, Local1)
2612 Return (Local1)
2613 }
2614 Else
2615 {
2616 Return (0x00)
2617 }
2618 }
2619
2620 Method (_PS0, 0, NotSerialized)
2621 {
2622 LDRS (0x00, 0x30, 0x01)
2623 }
2624
2625 Method (_PS3, 0, NotSerialized)
2626 {
2627 LDRS (0x00, 0x30, 0x00)
2628 }
2629
2630 Method (_PRS, 0, NotSerialized)
2631 {
2632 Return (ResourceTemplate ()
2633 {
2634 StartDependentFnNoPri ()
2635 {
2636 IO (Decode16, 0x03F0, 0x03F0, 0x08, 0x06)
2637 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
2638 IRQNoFlags () {6}
2639 DMA (Compatibility, NotBusMaster, Transfer8) {2}
2640 }
2641 StartDependentFnNoPri ()
2642 {
2643 IO (Decode16, 0x0370, 0x0370, 0x08, 0x06)
2644 IO (Decode16, 0x0377, 0x0377, 0x01, 0x01)
2645 IRQNoFlags () {6}
2646 DMA (Compatibility, NotBusMaster, Transfer8) {2}
2647 }
2648 EndDependentFn ()
2649 })
2650 }
2651
2652 Method (_DIS, 0, NotSerialized)
2653 {
2654 LDRS (0x00, 0x30, 0x00)
2655 }
2656
2657 Method (_CRS, 0, NotSerialized)
2658 {
2659 Name (DCRS, ResourceTemplate ()
2660 {
2661 IO (Decode16, 0x03F0, 0x03F0, 0x08, 0x06)
2662 IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
2663 IRQNoFlags () {6}
2664 DMA (Compatibility, NotBusMaster, Transfer8) {2}
2665 })
2666 Store (LDRG (0x00, 0x60), Local1)
2667 Store (LDRG (0x00, 0x61), Local0)
2668 Store (Local0, Index (DCRS, 0x02))
2669 Store (Local0, Index (DCRS, 0x04))
2670 Add (Local0, 0x07, Local0)
2671 Store (Local0, Index (DCRS, 0x0A))
2672 Store (Local0, Index (DCRS, 0x0C))
2673 Store (Local1, Index (DCRS, 0x03))
2674 Store (Local1, Index (DCRS, 0x05))
2675 Store (Local1, Index (DCRS, 0x0B))
2676 Store (Local1, Index (DCRS, 0x0D))
2677 ShiftLeft (0x01, LDRG (0x00, 0x70), Local0)
2678 Store (Local0, Index (DCRS, 0x11))
2679 ShiftRight (Local0, 0x08, Local1)
2680 Store (Local1, Index (DCRS, 0x12))
2681 ShiftLeft (0x01, LDRG (0x00, 0x74), Local0)
2682 Store (Local0, Index (DCRS, 0x14))
2683 ShiftRight (Local0, 0x08, Local1)
2684 Store (Local1, Index (DCRS, 0x15))
2685 Return (DCRS)
2686 }
2687
2688 Method (_SRS, 1, NotSerialized)
2689 {
2690 CreateByteField (Arg0, 0x02, ADRL)
2691 CreateByteField (Arg0, 0x03, ADRM)
2692 CreateWordField (Arg0, 0x11, IRQM)
2693 CreateWordField (Arg0, 0x14, DMAM)
2694 FindSetRightBit (IRQM, Local0)
2695 Decrement (Local0)
2696 FindSetRightBit (DMAM, Local1)
2697 Decrement (Local1)
2698 LDRS (0x00, 0x70, Local0)
2699 LDRS (0x00, 0x74, Local1)
2700 LDRS (0x00, 0x60, ADRM)
2701 LDRS (0x00, 0x61, ADRL)
2702 LDRS (0x00, 0x30, 0x01)
2703 }
2704 }
2705
2706 Device (SIR)
2707 {
2708 Name (_HID, EisaId ("PNP0510"))
2709 Name (_UID, 0x00)
2710 Method (_STA, 0, NotSerialized)
2711 {
2712 Store (LDRG (0x02, 0x74), Local0)
2713 If (LAnd (RCF6 (0x04), LEqual (Local0, 0x04)))
2714 {
2715 ShiftLeft (LDRG (0x02, 0x30), 0x01, Local1)
2716 Add (0x0D, Local1, Local1)
2717 Return (Local1)
2718 }
2719 Else
2720 {
2721 Return (0x00)
2722 }
2723 }
2724
2725 Method (_PS0, 0, NotSerialized)
2726 {
2727 LDRS (0x02, 0x30, 0x01)
2728 }
2729
2730 Method (_PS3, 0, NotSerialized)
2731 {
2732 LDRS (0x02, 0x30, 0x00)
2733 }
2734
2735 Method (_PRS, 0, NotSerialized)
2736 {
2737 Return (ResourceTemplate ()
2738 {
2739 StartDependentFnNoPri ()
2740 {
2741 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2742 IRQNoFlags () {4}
2743 }
2744 StartDependentFnNoPri ()
2745 {
2746 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2747 IRQNoFlags () {3}
2748 }
2749 StartDependentFnNoPri ()
2750 {
2751 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2752 IRQNoFlags () {4}
2753 }
2754 StartDependentFnNoPri ()
2755 {
2756 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2757 IRQNoFlags () {3}
2758 }
2759 StartDependentFnNoPri ()
2760 {
2761 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2762 IRQNoFlags () {3}
2763 }
2764 StartDependentFnNoPri ()
2765 {
2766 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2767 IRQNoFlags () {4}
2768 }
2769 StartDependentFnNoPri ()
2770 {
2771 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2772 IRQNoFlags () {3}
2773 }
2774 StartDependentFnNoPri ()
2775 {
2776 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2777 IRQNoFlags () {4}
2778 }
2779 EndDependentFn ()
2780 })
2781 }
2782
2783 Method (_DIS, 0, NotSerialized)
2784 {
2785 LDRS (0x02, 0x30, 0x00)
2786 }
2787
2788 Method (_CRS, 0, NotSerialized)
2789 {
2790 Name (DCRS, ResourceTemplate ()
2791 {
2792 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2793 IRQNoFlags () {3}
2794 })
2795 Store (LDRG (0x02, 0x60), Local1)
2796 Store (LDRG (0x02, 0x61), Local0)
2797 Store (Local0, Index (DCRS, 0x02))
2798 Store (Local0, Index (DCRS, 0x04))
2799 Store (Local1, Index (DCRS, 0x03))
2800 Store (Local1, Index (DCRS, 0x05))
2801 ShiftLeft (0x01, LDRG (0x02, 0x70), Local0)
2802 Store (Local0, Index (DCRS, 0x09))
2803 ShiftRight (Local0, 0x08, Local1)
2804 Store (Local1, Index (DCRS, 0x0A))
2805 Return (DCRS)
2806 }
2807
2808 Method (_SRS, 1, NotSerialized)
2809 {
2810 CreateByteField (Arg0, 0x02, ADRL)
2811 CreateByteField (Arg0, 0x03, ADRM)
2812 CreateWordField (Arg0, 0x09, IRQM)
2813 FindSetRightBit (IRQM, Local0)
2814 Decrement (Local0)
2815 LDRS (0x02, 0x70, Local0)
2816 LDRS (0x02, 0x60, ADRM)
2817 LDRS (0x02, 0x61, ADRL)
2818 LDRS (0x02, 0x30, 0x01)
2819 }
2820 }
2821
2822 Device (FIR)
2823 {
2824 Name (_HID, EisaId ("NSC6001"))
2825 Name (_UID, 0x00)
2826 Method (_STA, 0, NotSerialized)
2827 {
2828 Store (LDRG (0x02, 0x74), Local0)
2829 If (LAnd (RCF6 (0x04), LNot (LEqual (Local0, 0x04))))
2830 {
2831 ShiftLeft (LDRG (0x02, 0x30), 0x01, Local1)
2832 Add (0x0D, Local1, Local1)
2833 Return (Local1)
2834 }
2835 Else
2836 {
2837 Return (0x00)
2838 }
2839 }
2840
2841 Method (_PS0, 0, NotSerialized)
2842 {
2843 LDRS (0x02, 0x30, 0x01)
2844 }
2845
2846 Method (_PS3, 0, NotSerialized)
2847 {
2848 LDRS (0x02, 0x30, 0x00)
2849 }
2850
2851 Method (_PRS, 0, NotSerialized)
2852 {
2853 Return (ResourceTemplate ()
2854 {
2855 StartDependentFnNoPri ()
2856 {
2857 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2858 IRQNoFlags () {4}
2859 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2860 }
2861 StartDependentFnNoPri ()
2862 {
2863 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2864 IRQNoFlags () {3}
2865 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2866 }
2867 StartDependentFnNoPri ()
2868 {
2869 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2870 IRQNoFlags () {4}
2871 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2872 }
2873 StartDependentFnNoPri ()
2874 {
2875 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2876 IRQNoFlags () {3}
2877 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2878 }
2879 StartDependentFnNoPri ()
2880 {
2881 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2882 IRQNoFlags () {3}
2883 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2884 }
2885 StartDependentFnNoPri ()
2886 {
2887 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2888 IRQNoFlags () {4}
2889 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2890 }
2891 StartDependentFnNoPri ()
2892 {
2893 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2894 IRQNoFlags () {3}
2895 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2896 }
2897 StartDependentFnNoPri ()
2898 {
2899 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2900 IRQNoFlags () {4}
2901 DMA (Compatibility, NotBusMaster, Transfer8) {0}
2902 }
2903 StartDependentFnNoPri ()
2904 {
2905 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2906 IRQNoFlags () {4}
2907 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2908 }
2909 StartDependentFnNoPri ()
2910 {
2911 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2912 IRQNoFlags () {3}
2913 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2914 }
2915 StartDependentFnNoPri ()
2916 {
2917 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2918 IRQNoFlags () {4}
2919 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2920 }
2921 StartDependentFnNoPri ()
2922 {
2923 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2924 IRQNoFlags () {3}
2925 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2926 }
2927 StartDependentFnNoPri ()
2928 {
2929 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2930 IRQNoFlags () {3}
2931 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2932 }
2933 StartDependentFnNoPri ()
2934 {
2935 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2936 IRQNoFlags () {4}
2937 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2938 }
2939 StartDependentFnNoPri ()
2940 {
2941 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2942 IRQNoFlags () {3}
2943 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2944 }
2945 StartDependentFnNoPri ()
2946 {
2947 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2948 IRQNoFlags () {4}
2949 DMA (Compatibility, NotBusMaster, Transfer8) {1}
2950 }
2951 StartDependentFnNoPri ()
2952 {
2953 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2954 IRQNoFlags () {4}
2955 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2956 }
2957 StartDependentFnNoPri ()
2958 {
2959 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2960 IRQNoFlags () {3}
2961 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2962 }
2963 StartDependentFnNoPri ()
2964 {
2965 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2966 IRQNoFlags () {4}
2967 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2968 }
2969 StartDependentFnNoPri ()
2970 {
2971 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2972 IRQNoFlags () {3}
2973 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2974 }
2975 StartDependentFnNoPri ()
2976 {
2977 IO (Decode16, 0x03F8, 0x03F8, 0x08, 0x08)
2978 IRQNoFlags () {3}
2979 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2980 }
2981 StartDependentFnNoPri ()
2982 {
2983 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
2984 IRQNoFlags () {4}
2985 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2986 }
2987 StartDependentFnNoPri ()
2988 {
2989 IO (Decode16, 0x03E8, 0x03E8, 0x08, 0x08)
2990 IRQNoFlags () {3}
2991 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2992 }
2993 StartDependentFnNoPri ()
2994 {
2995 IO (Decode16, 0x02E8, 0x02E8, 0x08, 0x08)
2996 IRQNoFlags () {4}
2997 DMA (Compatibility, NotBusMaster, Transfer8) {3}
2998 }
2999 EndDependentFn ()
3000 })
3001 }
3002
3003 Method (_DIS, 0, NotSerialized)
3004 {
3005 LDRS (0x02, 0x30, 0x00)
3006 }
3007
3008 Method (_CRS, 0, NotSerialized)
3009 {
3010 Name (DCRS, ResourceTemplate ()
3011 {
3012 IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08)
3013 IRQNoFlags () {3}
3014 DMA (Compatibility, NotBusMaster, Transfer8) {0}
3015 })
3016 Store (LDRG (0x02, 0x60), Local1)
3017 Store (LDRG (0x02, 0x61), Local0)
3018 Store (Local0, Index (DCRS, 0x02))
3019 Store (Local0, Index (DCRS, 0x04))
3020 Store (Local1, Index (DCRS, 0x03))
3021 Store (Local1, Index (DCRS, 0x05))
3022 ShiftLeft (0x01, LDRG (0x02, 0x70), Local0)
3023 Store (Local0, Index (DCRS, 0x09))
3024 ShiftRight (Local0, 0x08, Local1)
3025 Store (Local1, Index (DCRS, 0x0A))
3026 ShiftLeft (0x01, LDRG (0x01, 0x74), Local0)
3027 Store (Local0, Index (DCRS, 0x0C))
3028 ShiftRight (Local0, 0x08, Local1)
3029 Store (Local1, Index (DCRS, 0x0D))
3030 Return (DCRS)
3031 }
3032
3033 Method (_SRS, 1, NotSerialized)
3034 {
3035 CreateByteField (Arg0, 0x02, ADRL)
3036 CreateByteField (Arg0, 0x03, ADRM)
3037 CreateWordField (Arg0, 0x09, IRQM)
3038 CreateWordField (Arg0, 0x0C, DMAM)
3039 FindSetRightBit (IRQM, Local0)
3040 Decrement (Local0)
3041 FindSetRightBit (DMAM, Local1)
3042 Decrement (Local1)
3043 LDRS (0x02, 0x70, Local0)
3044 LDRS (0x02, 0x74, Local1)
3045 LDRS (0x02, 0x60, ADRM)
3046 LDRS (0x02, 0x61, ADRL)
3047 LDRS (0x02, 0x30, 0x01)
3048 }
3049 }
3050 }
3051
3052 Device (EC0)
3053 {
3054 Name (_HID, EisaId ("PNP0C09"))
3055 Name (_CRS, ResourceTemplate ()
3056 {
3057 IO (Decode16, 0x0062, 0x0062, 0x01, 0x01)
3058 IO (Decode16, 0x0066, 0x0066, 0x01, 0x01)
3059 })
3060 Name (_GPE, 0x01)
3061 Name (SEL0, 0xF0)
3062 Name (BFLG, 0x00)
3063 Method (_REG, 2, NotSerialized)
3064 {
3065 If (LEqual (Arg0, 0x03))
3066 {
3067 Store (Arg1, ECEN)
3068 }
3069 }
3070
3071 OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
3072 Field (ERAM, ByteAcc, Lock, Preserve)
3073 {
3074 Offset (0x04),
3075 CMCM, 8,
3076 CMD1, 8,
3077 CMD2, 8,
3078 CMD3, 8,
3079 Offset (0x18),
3080 SMPR, 8,
3081 SMST, 8,
3082 SMAD, 8,
3083 SMCM, 8,
3084 SMD0, 256,
3085 BCNT, 8,
3086 SMAA, 8,
3087 S1D0, 8,
3088 S1D1, 8,
3089 SM2A, 8,
3090 S2D0, 8,
3091 S2D1, 8,
3092 SM3A, 8,
3093 LIDS, 1,
3094 DV1S, 1,
3095 EXFD, 1,
3096 RFSW, 1,
3097 , 1,
3098 CRTS, 1,
3099 SLPS, 1,
3100 DCKS, 1,
3101 EJBS, 1,
3102 , 1,
3103 , 1,
3104 , 1,
3105 , 1,
3106 , 1,
3107 DV2S, 1,
3108 DV3S, 1,
3109 WK10, 16,
3110 EVTP, 16,
3111 BTM3, 8,
3112 DCID, 8,
3113 DPWR, 1,
3114 UDR0, 1,
3115 UDR5, 1,
3116 EQBF, 1,
3117 LDDS, 1,
3118 CRST, 1,
3119 DCWT, 1,
3120 QVCC, 1,
3121 HP4D, 8,
3122 WAKP, 16,
3123 POLL, 1,
3124 ADP, 1,
3125 ALRT, 1,
3126 B1WE, 1,
3127 B1WS, 1,
3128 B2WE, 1,
3129 B2WS, 1,
3130 BWAK, 1,
3131 PWRE, 1,
3132 ALLB, 1,
3133 AUXB, 1,
3134 S2DR, 1,
3135 S5FG, 1,
3136 F1B5, 1,
3137 F1B6, 1,
3138 RSMA, 1,
3139 S1LD, 1,
3140 S2LD, 1,
3141 ACWR, 1,
3142 PTSV, 3,
3143 PMEE, 1,
3144 ENCB, 1,
3145 F3B0, 1,
3146 F3B1, 1,
3147 RFLD, 1,
3148 F3B3, 1,
3149 SW8B, 1,
3150 LAON, 1,
3151 MDON, 1,
3152 F3B7, 1,
3153 TMSS, 2,
3154 OSMD, 1,
3155 F4B3, 1,
3156 BANK, 4,
3157 CTMP, 8,
3158 S2DC, 8,
3159 BPD, 8,
3160 BT1I, 16,
3161 BT1C, 16,
3162 BT1V, 16,
3163 BT1S, 8,
3164 BT2I, 16,
3165 BT2C, 16,
3166 BT2V, 16,
3167 BT2S, 8,
3168 , 4,
3169 LIDB, 1,
3170 Offset (0x67),
3171 TTMP, 8,
3172 HPCB, 8,
3173 B2LC, 8,
3174 BTEC, 8,
3175 UBDM, 4,
3176 UBPC, 3,
3177 Offset (0x6C),
3178 BTCS, 8,
3179 BMDL, 8,
3180 CBDM, 4,
3181 CBPC, 3,
3182 Offset (0x6F),
3183 HP6F, 8,
3184 HP70, 8,
3185 HP71, 8,
3186 RSMT, 16,
3187 HP74, 8,
3188 HP75, 8,
3189 , 1,
3190 , 1,
3191 , 1,
3192 UPP1, 1,
3193 UPP2, 1,
3194 , 1,
3195 , 1,
3196 BTOF, 1,
3197 SUSB, 1,
3198 SUSC, 1,
3199 CPWR, 1,
3200 CBTN, 1,
3201 FAN, 1,
3202 IWOL, 1,
3203 EWOR, 1,
3204 S4IN, 1,
3205 FANL, 16,
3206 QU7A, 8,
3207 QU7B, 8,
3208 QU7C, 8,
3209 QU7D, 8,
3210 QU7E, 8,
3211 QU7F, 8
3212 }
3213
3214 Field (ERAM, ByteAcc, NoLock, Preserve)
3215 {
3216 Offset (0x1C),
3217 SMW0, 16
3218 }
3219
3220 Field (ERAM, ByteAcc, NoLock, Preserve)
3221 {
3222 Offset (0x1C),
3223 SMB0, 8
3224 }
3225
3226 Field (ERAM, ByteAcc, NoLock, Preserve)
3227 {
3228 Offset (0x1C),
3229 FLD0, 64
3230 }
3231
3232 Field (ERAM, ByteAcc, NoLock, Preserve)
3233 {
3234 Offset (0x1C),
3235 FLD1, 128
3236 }
3237
3238 Field (ERAM, ByteAcc, NoLock, Preserve)
3239 {
3240 Offset (0x1C),
3241 FLD2, 192
3242 }
3243
3244 Field (ERAM, ByteAcc, NoLock, Preserve)
3245 {
3246 Offset (0x1C),
3247 FLD3, 256
3248 }
3249
3250 Mutex (CMUT, 0x00)
3251 Method (CMC2, 3, NotSerialized)
3252 {
3253 Acquire (CMUT, 0xFFFF)
3254 Store (Arg2, CMD2)
3255 Store (Arg1, CMD1)
3256 Store (Arg0, CMCM)
3257 While (CMCM) {}
3258 Release (CMUT)
3259 }
3260
3261 Mutex (MUT0, 0x00)
3262 Mutex (MUT1, 0x00)
3263 Method (SMRD, 4, NotSerialized)
3264 {
3265 If (LNot (ECOK ()))
3266 {
3267 Return (0xFF)
3268 }
3269
3270 If (LNot (LEqual (Arg0, 0x07)))
3271 {
3272 If (LNot (LEqual (Arg0, 0x09)))
3273 {
3274 If (LNot (LEqual (Arg0, 0x0B)))
3275 {
3276 Return (0x19)
3277 }
3278 }
3279 }
3280
3281 Acquire (MUT0, 0xFFFF)
3282 Store (0x04, Local0)
3283 While (LGreater (Local0, 0x01))
3284 {
3285 And (SMST, 0x40, SMST)
3286 Store (Arg2, SMCM)
3287 Store (Arg1, SMAD)
3288 Store (Arg0, SMPR)
3289 While (LNot (And (SMST, 0xBF, Local1)))
3290 {
3291 Sleep (0x02)
3292 }
3293
3294 If (LEqual (Local1, 0x80))
3295 {
3296 Store (0x00, Local0)
3297 }
3298 Else
3299 {
3300 Decrement (Local0)
3301 }
3302 }
3303
3304 If (Local0)
3305 {
3306 Store (And (Local1, 0x1F), Local0)
3307 }
3308 Else
3309 {
3310 If (LEqual (Arg0, 0x07))
3311 {
3312 Store (SMB0, Arg3)
3313 }
3314
3315 If (LEqual (Arg0, 0x09))
3316 {
3317 Store (SMW0, Arg3)
3318 }
3319
3320 If (LEqual (Arg0, 0x0B))
3321 {
3322 Store (BCNT, Local3)
3323 ShiftRight (0x0100, 0x03, Local2)
3324 If (LGreater (Local3, Local2))
3325 {
3326 Store (Local2, Local3)
3327 }
3328
3329 If (LLess (Local3, 0x09))
3330 {
3331 Store (FLD0, Local2)
3332 }
3333 Else
3334 {
3335 If (LLess (Local3, 0x11))
3336 {
3337 Store (FLD1, Local2)
3338 }
3339 Else
3340 {
3341 If (LLess (Local3, 0x19))
3342 {
3343 Store (FLD2, Local2)
3344 }
3345 Else
3346 {
3347 Store (FLD3, Local2)
3348 }
3349 }
3350 }
3351
3352 Increment (Local3)
3353 Store (Buffer (Local3) {}, Local4)
3354 Decrement (Local3)
3355 Store (Zero, Local5)
3356 While (LGreater (Local3, Local5))
3357 {
3358 GBFE (Local2, Local5, RefOf (Local6))
3359 PBFE (Local4, Local5, Local6)
3360 Increment (Local5)
3361 }
3362
3363 PBFE (Local4, Local5, 0x00)
3364 Store (Local4, Arg3)
3365 }
3366 }
3367
3368 Release (MUT0)
3369 Return (Local0)
3370 }
3371
3372 Method (SMWR, 4, NotSerialized)
3373 {
3374 If (LNot (ECOK ()))
3375 {
3376 Return (0xFF)
3377 }
3378
3379 If (LNot (LEqual (Arg0, 0x06)))
3380 {
3381 If (LNot (LEqual (Arg0, 0x08)))
3382 {
3383 If (LNot (LEqual (Arg0, 0x0A)))
3384 {
3385 Return (0x19)
3386 }
3387 }
3388 }
3389
3390 Acquire (MUT0, 0xFFFF)
3391 Store (0x04, Local0)
3392 While (LGreater (Local0, 0x01))
3393 {
3394 If (LEqual (Arg0, 0x06))
3395 {
3396 Store (Arg3, SMB0)
3397 }
3398
3399 If (LEqual (Arg0, 0x08))
3400 {
3401 Store (Arg3, SMW0)
3402 }
3403
3404 If (LEqual (Arg0, 0x0A))
3405 {
3406 Store (Arg3, SMD0)
3407 }
3408
3409 And (SMST, 0x40, SMST)
3410 Store (Arg2, SMCM)
3411 Store (Arg1, SMAD)
3412 Store (Arg0, SMPR)
3413 While (LNot (And (SMST, 0xBF, Local1)))
3414 {
3415 Sleep (0x02)
3416 }
3417
3418 If (LEqual (Local1, 0x80))
3419 {
3420 Store (0x00, Local0)
3421 }
3422 Else
3423 {
3424 Decrement (Local0)
3425 }
3426 }
3427
3428 If (Local0)
3429 {
3430 Store (And (Local1, 0x1F), Local0)
3431 }
3432
3433 Release (MUT0)
3434 Return (Local0)
3435 }
3436
3437 Name (ACFL, 0x00)
3438 Method (SMSL, 0, NotSerialized)
3439 {
3440 Store ("CMBatt - SMSL", Debug)
3441 If (LNot (ECOK ()))
3442 {
3443 Return (0xFF)
3444 }
3445
3446 Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF)
3447 If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local0))))
3448 {
3449 Store (Local0, SEL0)
3450 Store (SEL0, Debug)
3451 If (LEqual (ALRT, 0x01))
3452 {
3453 \_SB.BAT1.IVBI ()
3454 \_SB.BAT1.IVBS ()
3455 Store (0x00, ALRT)
3456 }
3457
3458 Store (\_SB.ACAD.CHAC (SEL0), Local1)
3459 Store (\_SB.BAT1.CHBP (SEL0), Local2)
3460 Or (SEL0, 0x0FFF, Local0)
3461 SMWR (0x08, 0x14, 0x01, Local0)
3462 If (LAnd (Local1, \_SB.ACAD.ACP))
3463 {
3464 Store ("CMBatt - Notify(ACAD,0x80): AC_Inserted", Debug)
3465 Notify (\_SB.ACAD, 0x80)
3466 Store (0x02, ACFL)
3467 }
3468
3469 If (And (0x04, Local2))
3470 {
3471 \_SB.BAT1.B1CK ()
3472 }
3473
3474 If (And (0x02, Local2))
3475 {
3476 \_SB.BAT1.B1ST ()
3477 }
3478
3479 If (And (0x01, Local2))
3480 {
3481 \_SB.BAT1.B1IF ()
3482 }
3483
3484 If (LAnd (Local1, LNot (\_SB.ACAD.ACP)))
3485 {
3486 Store ("CMBatt - Notify(ACAD, 0x80): AC_Removed", Debug)
3487 Notify (\_SB.ACAD, 0x80)
3488 Store (0x01, ACFL)
3489 }
3490 }
3491
3492 Store (0x3C, Local4)
3493 If (\_SB.BAT1.REPT)
3494 {
3495 Store (0x02, Local4)
3496 }
3497
3498 If (BFLG)
3499 {
3500 Store (0x01, Local5)
3501 While (LNot (And (BFLG, 0x01)))
3502 {
3503 Increment (Local5)
3504 ShiftRight (BFLG, 0x01, BFLG)
3505 }
3506
3507 ShiftRight (BFLG, 0x01, BFLG)
3508 If (LGreater (Local4, Local5))
3509 {
3510 Store (Local5, Local4)
3511 }
3512 }
3513
3514 Store (Local4, BPD)
3515 BPOL ()
3516 Release (\_SB.PCI0.ISA.EC0.MUT1)
3517 If (ACFL)
3518 {
3519 Decrement (ACFL)
3520 Store (0x00, ACFL)
3521 }
3522 }
3523
3524 Name (PSTA, 0x00)
3525 Method (CPOL, 0, NotSerialized)
3526 {
3527 If (LEqual (PSTA, 0x00))
3528 {
3529 If (ECOK ())
3530 {
3531 BPOL ()
3532 Store (0x01, PSTA)
3533 }
3534 }
3535 }
3536
3537 Method (BPOL, 0, NotSerialized)
3538 {
3539 Store (0x01, POLL)
3540 }
3541
3542 Method (_Q09, 0, NotSerialized)
3543 {
3544 Store ("QUERY_09", Debug)
3545 Store (0x09, PDEB)
3546 SMSL ()
3547 }
3548
3549 Method (_Q0D, 0, NotSerialized)
3550 {
3551 Store (0x0D, PDEB)
3552 Notify (\_SB.SLPB, 0x80)
3553 }
3554
3555 Method (_Q0E, 0, NotSerialized)
3556 {
3557 Store (0x0E, PDEB)
3558 Z004 ()
3559 }
3560
3561 Method (_Q0F, 0, NotSerialized)
3562 {
3563 Store (0x0F, PDEB)
3564 If (\_SB.LID.LCDB)
3565 {
3566 Store (Zero, Local0)
3567 Store (Zero, \_SB.LID.LCDB)
3568 }
3569 Else
3570 {
3571 Store (One, Local0)
3572 Store (One, \_SB.LID.LCDB)
3573 }
3574
3575 Acquire (\_SB.PSMX, 0xFFFF)
3576 Store (0x80, \_SB.BCMD)
3577 Store (0x06, \_SB.DID)
3578 Store (Local0, \_SB.INFO)
3579 Store (Zero, \_SB.SMIC)
3580 Release (\_SB.PSMX)
3581 }
3582
3583 Method (_Q12, 0, NotSerialized)
3584 {
3585 Store (0x12, PDEB)
3586 Store (One, Local0)
3587 Store (One, \_SB.LID.LCDB)
3588 Acquire (\_SB.PSMX, 0xFFFF)
3589 Store (0x80, \_SB.BCMD)
3590 Store (0x06, \_SB.DID)
3591 Store (Local0, \_SB.INFO)
3592 Store (Zero, \_SB.SMIC)
3593 Release (\_SB.PSMX)
3594 }
3595
3596 Method (_Q13, 0, NotSerialized)
3597 {
3598 Store (0x13, PDEB)
3599 Acquire (\_SB.PSMX, 0xFFFF)
3600 Store (0x80, \_SB.BCMD)
3601 Store (0x00, \_SB.DID)
3602 Store (0x01, \_SB.INFO)
3603 Store (Zero, \_SB.SMIC)
3604 Release (\_SB.PSMX)
3605 }
3606
3607 Method (_Q14, 0, NotSerialized)
3608 {
3609 Store (0x14, PDEB)
3610 Acquire (\_SB.PSMX, 0xFFFF)
3611 Store (0x80, \_SB.BCMD)
3612 Store (0x00, \_SB.DID)
3613 Store (0x00, \_SB.INFO)
3614 Store (Zero, \_SB.SMIC)
3615 Release (\_SB.PSMX)
3616 }
3617
3618 Method (_Q15, 0, NotSerialized)
3619 {
3620 Store (0x15, PDEB)
3621 }
3622
3623 Method (_Q20, 0, NotSerialized)
3624 {
3625 Store (0x20, PDEB)
3626 Store ("QUERY_20", Debug)
3627 If (And (SMST, 0x40))
3628 {
3629 Store (SMAA, Local0)
3630 If (LEqual (Local0, 0x14))
3631 {
3632 And (SMST, 0xBF, SMST)
3633 If (PWRE)
3634 {
3635 Store ("CMBatt - PwrEvent", Debug)
3636 Store (0x00, PWRE)
3637 Store (0x12, BFLG)
3638 Store (0x00, BPD)
3639 BPOL ()
3640 }
3641 }
3642 }
3643 }
3644
3645 Method (_Q80, 0, NotSerialized)
3646 {
3647 Store (0x80, PDEB)
3648 }
3649
3650 Method (_Q8B, 0, NotSerialized)
3651 {
3652 Store (0x8B, PDEB)
3653 If (\_SB.ACAD.ACP)
3654 {
3655 \_SB.Z000 (0x92)
3656 }
3657 }
3658
3659 Method (_Q8C, 0, NotSerialized)
3660 {
3661 Store (0x8C, PDEB)
3662 Store (0x01, \_PR.CPU0._PPC)
3663 Notify (\_PR.CPU0, 0x80)
3664 Sleep (0x07D0)
3665 Store (0x00, \_PR.CPU0._PPC)
3666 Notify (\_PR.CPU0, 0x80)
3667 }
3668
3669 Method (_Q8E, 0, NotSerialized)
3670 {
3671 Store (0x8E, DEBG)
3672 SMSL ()
3673 Notify (\_SB.BAT1, 0x80)
3674 }
3675
3676 Method (Z004, 0, NotSerialized)
3677 {
3678 Store ("Hot-Keys: ----- _Q0C", Debug)
3679 If (LEqual (\_SB.PCI0.AGP.VGA.SWIT, 0x00))
3680 {
3681 Acquire (\_SB.PSMX, 0xFFFF)
3682 Store (0x80, \_SB.BCMD)
3683 Store (0x01, \_SB.DID)
3684 Store (Zero, \_SB.SMIC)
3685 Release (\_SB.PSMX)
3686 Store (\_SB.INF, Local0)
3687 Increment (\_SB.PCI0.AGP.VGA.TOGF)
3688 While (LNot (LEqual (And (Local0, \_SB.PCI0.AGP.VGA.TOGF), \_SB.PCI0.AGP.VGA.TOGF)))
3689 {
3690 Increment (\_SB.PCI0.AGP.VGA.TOGF)
3691 If (LGreater (\_SB.PCI0.AGP.VGA.TOGF, 0x04))
3692 {
3693 Store (One, \_SB.PCI0.AGP.VGA.TOGF)
3694 }
3695 }
3696
3697 Store (\_SB.PCI0.AGP.VGA.TOGF, Local0)
3698 If (LEqual (Local0, 0x02))
3699 {
3700 Store ("LCD", Debug)
3701 Store (Zero, \_SB.PCI0.AGP.VGA.CRTA)
3702 Store (One, \_SB.PCI0.AGP.VGA.LCDA)
3703 Store (Zero, \_SB.PCI0.AGP.VGA.TVA)
3704 }
3705
3706 If (LEqual (Local0, 0x01))
3707 {
3708 Store ("CRT", Debug)
3709 Store (One, \_SB.PCI0.AGP.VGA.CRTA)
3710 Store (Zero, \_SB.PCI0.AGP.VGA.LCDA)
3711 Store (Zero, \_SB.PCI0.AGP.VGA.TVA)
3712 }
3713
3714 If (LEqual (Local0, 0x03))
3715 {
3716 Store ("Both", Debug)
3717 Store (One, \_SB.PCI0.AGP.VGA.CRTA)
3718 Store (One, \_SB.PCI0.AGP.VGA.LCDA)
3719 Store (Zero, \_SB.PCI0.AGP.VGA.TVA)
3720 }
3721
3722 If (LEqual (Local0, 0x04))
3723 {
3724 Store ("TV", Debug)
3725 Store (Zero, \_SB.PCI0.AGP.VGA.TOGF)
3726 Store (Zero, \_SB.PCI0.AGP.VGA.CRTA)
3727 Store (Zero, \_SB.PCI0.AGP.VGA.LCDA)
3728 Store (One, \_SB.PCI0.AGP.VGA.TVA)
3729 }
3730
3731 Notify (\_SB.PCI0.AGP.VGA, 0x80)
3732 }
3733 Else
3734 {
3735 }
3736 }
3737 }
3738 }
3739
3740 Device (AGP)
3741 {
3742 Name (_ADR, 0x00010000)
3743 Device (VGA)
3744 {
3745 Name (_ADR, 0x00)
3746 Name (DABL, 0x00)
3747 Name (SWIT, 0x01)
3748 Name (CRTA, 0x01)
3749 Name (LCDA, 0x01)
3750 Name (TVA, 0x00)
3751 Name (TOGF, 0x00)
3752 Name (_S3D, 0x03)
3753 Method (_INI, 0, NotSerialized)
3754 {
3755 Acquire (\_SB.PSMX, 0xFFFF)
3756 Store (0x80, \_SB.BCMD)
3757 Store (0x03, \_SB.DID)
3758 Store (Zero, \_SB.SMIC)
3759 Release (\_SB.PSMX)
3760 Store (\_SB.INF, Local0)
3761 Store (Local0, DABL)
3762 Store (Local0, Local1)
3763 Store (Local0, Local2)
3764 And (Local1, 0x01, CRTA)
3765 And (Local1, 0x02, LCDA)
3766 If (LGreater (Local0, 0x04))
3767 {
3768 And (Local0, 0x03, TOGF)
3769 }
3770 Else
3771 {
3772 Store (Local0, TOGF)
3773 }
3774 }
3775
3776 Method (_DOS, 1, NotSerialized)
3777 {
3778 Store ("VGA --_DOS Arg0", Debug)
3779 Store (Arg0, SWIT)
3780 }
3781
3782 Method (_DOD, 0, NotSerialized)
3783 {
3784 Store ("VGA --_DOD", Debug)
3785 Return (Package (0x03)
3786 {
3787 0x00010100,
3788 0x00010110,
3789 0x0200
3790 })
3791 }
3792
3793 Method (_PS0, 0, NotSerialized)
3794 {
3795 Store ("VGA_PS0", Debug)
3796 }
3797
3798 Method (_PS2, 0, NotSerialized)
3799 {
3800 Store ("VGA_PS2", Debug)
3801 }
3802
3803 Method (_PS3, 0, NotSerialized)
3804 {
3805 Store ("VGA_PS3", Debug)
3806 }
3807
3808 Device (CRT)
3809 {
3810 Name (_ADR, 0x0100)
3811 Method (_DCS, 0, NotSerialized)
3812 {
3813 Store ("CRT --_DCS", Debug)
3814 If (CRTA)
3815 {
3816 Return (0x1F)
3817 }
3818 Else
3819 {
3820 Return (0x1D)
3821 }
3822 }
3823
3824 Method (_DGS, 0, NotSerialized)
3825 {
3826 Store ("CRT --_DGS", Debug)
3827 Store (CRTA, Local0)
3828 If (CRTA)
3829 {
3830 Return (0x01)
3831 }
3832 Else
3833 {
3834 Return (0x00)
3835 }
3836 }
3837
3838 Method (_DSS, 1, NotSerialized)
3839 {
3840 Store ("CRT --_DSS", Debug)
3841 Store (Arg0, Debug)
3842 }
3843 }
3844
3845 Device (LCD)
3846 {
3847 Name (_ADR, 0x0110)
3848 Method (_DCS, 0, NotSerialized)
3849 {
3850 Store ("LCD --_DCS", Debug)
3851 If (LCDA)
3852 {
3853 Return (0x1F)
3854 }
3855 Else
3856 {
3857 Return (0x1D)
3858 }
3859 }
3860
3861 Method (_DGS, 0, NotSerialized)
3862 {
3863 Store ("LCD --_DGS", Debug)
3864 Store (LCDA, Local0)
3865 If (LCDA)
3866 {
3867 Return (0x01)
3868 }
3869 Else
3870 {
3871 Return (0x00)
3872 }
3873 }
3874
3875 Method (_DSS, 1, NotSerialized)
3876 {
3877 Store ("LCD --_DSS", Debug)
3878 Store (Arg0, Debug)
3879 }
3880 }
3881
3882 Device (TV)
3883 {
3884 Name (_ADR, 0x0200)
3885 Method (_DCS, 0, NotSerialized)
3886 {
3887 Store ("TV --_DCS", Debug)
3888 If (TVA)
3889 {
3890 Return (0x1F)
3891 }
3892 Else
3893 {
3894 Return (0x1D)
3895 }
3896 }
3897
3898 Method (_DGS, 0, NotSerialized)
3899 {
3900 Store ("TV --_DGS", Debug)
3901 Store (TVA, Local0)
3902 If (TVA)
3903 {
3904 Return (0x01)
3905 }
3906 Else
3907 {
3908 Return (0x00)
3909 }
3910 }
3911
3912 Method (_DSS, 1, NotSerialized)
3913 {
3914 Store ("TV --_DSS", Debug)
3915 Store (Arg0, Debug)
3916 }
3917 }
3918 }
3919 }
3920
3921 Name (REGT, Package (0x15)
3922 {
3923 0x10,
3924 0x20,
3925 0x21,
3926 0x22,
3927 0x23,
3928 0x33,
3929 0x34,
3930 0x35,
3931 0x36,
3932 0x37,
3933 0x47,
3934 0x48,
3935 0x49,
3936 0x4A,
3937 0x4B,
3938 0x4C,
3939 0x5C,
3940 0x5D,
3941 0x5E,
3942 0x5F,
3943 0x6F
3944 })
3945 Name (DMTT, Package (0x07)
3946 {
3947 0x0F,
3948 0x14,
3949 0x1E,
3950 0x2D,
3951 0x3C,
3952 0x4B,
3953 0x78
3954 })
3955 Name (PIOT, Package (0x07)
3956 {
3957 0x0258,
3958 0x017F,
3959 0xF0,
3960 0xB4,
3961 0x78,
3962 0x5A,
3963 0x00
3964 })
3965 Device (IDE)
3966 {
3967 Name (_ADR, 0x00110001)
3968 OperationRegion (PCI, PCI_Config, 0x48, 0x60)
3969 Field (PCI, DWordAcc, NoLock, Preserve)
3970 {
3971 SDR1, 8,
3972 SDR0, 8,
3973 PDR1, 8,
3974 PDR0, 8,
3975 SDST, 4,
3976 PDST, 4,
3977 Offset (0x08),
3978 UDMS, 16,
3979 UDMP, 16
3980 }
3981
3982 Name (Z005, 0x00)
3983 Name (Z006, 0x00)
3984 Method (_PS3, 0, NotSerialized)
3985 {
3986 And (^UDMP, 0x10, ^Z005)
3987 And (^UDMS, 0x10, ^Z006)
3988 }
3989
3990 Method (_PS0, 0, NotSerialized)
3991 {
3992 If (^Z005)
3993 {
3994 Or (^UDMP, ^Z005, Local0)
3995 Or (Local0, ShiftLeft (^Z005, 0x08), ^UDMP)
3996 }
3997
3998 If (^Z006)
3999 {
4000 Or (^UDMS, ^Z006, Local0)
4001 Or (Local0, ShiftLeft (^Z006, 0x08), ^UDMS)
4002 }
4003 }
4004
4005 Method (GIDX, 1, NotSerialized)
4006 {
4007 If (LEqual (Arg0, 0x00))
4008 {
4009 Store (0x00, Local1)
4010 }
4011 Else
4012 {
4013 If (LEqual (Arg0, 0x0E))
4014 {
4015 Store (0x06, Local1)
4016 }
4017 Else
4018 {
4019 Add (ShiftRight (Arg0, 0x01), 0x01, Local1)
4020 }
4021 }
4022
4023 Return (Local1)
4024 }
4025
4026 Method (RIDX, 1, NotSerialized)
4027 {
4028 Store (0x00, Local0)
4029 While (NAnd (LLess (Local0, 0x07), LEqual (DerefOf (Index (^^DMTT, Local0)), Arg0)))
4030 {
4031 Increment (Local0)
4032 }
4033
4034 If (Local0)
4035 {
4036 If (LGreater (Local0, 0x06))
4037 {
4038 Store (0x0E, Local0)
4039 }
4040 Else
4041 {
4042 Subtract (ShiftLeft (Local0, 0x01), 0x01, Local0)
4043 If (LNot (LEqual (Local0, 0x01)))
4044 {
4045 Decrement (Local0)
4046 }
4047 }
4048 }
4049
4050 Return (Local0)
4051 }
4052
4053 Method (GTM, 3, NotSerialized)
4054 {
4055 Store (Buffer (0x14) {}, Local0)
4056 CreateDWordField (Local0, 0x00, PIO0)
4057 CreateDWordField (Local0, 0x04, DMA0)
4058 CreateDWordField (Local0, 0x08, PIO1)
4059 CreateDWordField (Local0, 0x0C, DMA1)
4060 CreateDWordField (Local0, 0x10, FLAG)
4061 Store (Zero, FLAG)
4062 Or (FLAG, 0x10, FLAG)
4063 Add (And (Arg1, 0x0F), ShiftRight (Arg1, 0x04), Local1)
4064 Add (Local1, 0x02, Local1)
4065 Multiply (Local1, 0x1E, PIO0)
4066 Or (FLAG, 0x02, FLAG)
4067 Add (And (Arg2, 0x0F), ShiftRight (Arg2, 0x04), Local1)
4068 Add (Local1, 0x02, Local1)
4069 Multiply (Local1, 0x1E, PIO1)
4070 Or (FLAG, 0x08, FLAG)
4071 And (Arg0, 0x0F, Local1)
4072 If (And (Arg0, 0xE0))
4073 {
4074 Or (FLAG, 0x04, FLAG)
4075 Store (^GIDX (Local1), Local1)
4076 }
4077 Else
4078 {
4079 Store (0x06, Local1)
4080 }
4081
4082 Store (DerefOf (Index (^^DMTT, Local1)), DMA1)
4083 ShiftRight (And (Arg0, 0x0F00), 0x08, Local1)
4084 If (And (Arg0, 0xE000))
4085 {
4086 Or (FLAG, 0x01, FLAG)
4087 Store (^GIDX (Local1), Local1)
4088 }
4089 Else
4090 {
4091 Store (0x06, Local1)
4092 }
4093
4094 Store (DerefOf (Index (^^DMTT, Local1)), DMA0)
4095 Return (Local0)
4096 }
4097
4098 Method (STM, 3, NotSerialized)
4099 {
4100 Store (Buffer (0x05) {}, Local7)
4101 CreateWordField (Local7, 0x00, UDMT)
4102 CreateWordField (Local7, 0x02, PIOT)
4103 CreateByteField (Local7, 0x04, R4CT)
4104 CreateDWordField (Arg0, 0x00, PIO0)
4105 CreateDWordField (Arg0, 0x04, DMA0)
4106 CreateDWordField (Arg0, 0x08, PIO1)
4107 CreateDWordField (Arg0, 0x0C, DMA1)
4108 CreateDWordField (Arg0, 0x10, FLAG)
4109 Store (FLAG, Local4)
4110 Store (0x0E0E, Local1)
4111 If (And (Local4, 0x01))
4112 {
4113 And (Local1, 0x0F, Local1)
4114 Store (^RIDX (DMA0), Local3)
4115 Or (Local3, 0xE0, Local3)
4116 Or (ShiftLeft (Local3, 0x08), Local1, Local1)
4117 }
4118
4119 If (And (Local4, 0x04))
4120 {
4121 And (Local1, 0xFF00, Local1)
4122 Store (^RIDX (DMA1), Local3)
4123 Or (Local3, 0xE0, Local3)
4124 Or (Local3, Local1, Local1)
4125 }
4126
4127 Store (Local1, UDMT)
4128 Store (0x0A, Local2)
4129 If (And (Local4, 0x02))
4130 {
4131 Divide (PIO0, 0x1E, , Local3)
4132 Subtract (Local3, 0x03, Local3)
4133 If (LLess (Local3, 0x0C))
4134 {
4135 And (Local2, 0x03, Local2)
4136 Or (Local2, 0x04, Local2)
4137 }
4138
4139 Store (ShiftLeft (DerefOf (Index (^^REGT, Local3)), 0x08), Local6)
4140 }
4141 Else
4142 {
4143 Store (0x00, Local6)
4144 }
4145
4146 If (And (Local4, 0x08))
4147 {
4148 Divide (PIO1, 0x1E, , Local3)
4149 Subtract (Local3, 0x03, Local3)
4150 If (LLess (Local3, 0x0C))
4151 {
4152 And (Local2, 0x0C, Local2)
4153 Or (Local2, 0x01, Local2)
4154 }
4155
4156 Store (DerefOf (Index (^^REGT, Local3)), Local6)
4157 }
4158 Else
4159 {
4160 Store (And (Local6, 0xFF00), Local6)
4161 }
4162
4163 Store (Local2, R4CT)
4164 Store (Local6, PIOT)
4165 Return (Local7)
4166 }
4167
4168 Method (GTF, 3, NotSerialized)
4169 {
4170 If (Arg2)
4171 {
4172 Store (Buffer (0x07)
4173 {
4174 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
4175 }, Local7)
4176 }
4177 Else
4178 {
4179 Store (Buffer (0x07)
4180 {
4181 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
4182 }, Local7)
4183 }
4184
4185 CreateByteField (Local7, 0x01, MODE)
4186 Add (And (Arg0, 0x0F), ShiftRight (Arg0, 0x04), Local1)
4187 Add (Local1, 0x02, Local1)
4188 Multiply (Local1, 0x1E, Local0)
4189 Store (Match (^^PIOT, MLT, Local0, MTR, 0x00, 0x00), Local1)
4190 If (Local1)
4191 {
4192 Decrement (Local1)
4193 }
4194
4195 If (And (Arg1, 0xE0))
4196 {
4197 Store (^GIDX (And (Arg1, 0x0F)), Local0)
4198 If (LGreater (Local0, 0x06))
4199 {
4200 Store (0x00, Local0)
4201 }
4202 Else
4203 {
4204 Subtract (0x06, Local0, Local0)
4205 }
4206
4207 Or (Local0, 0x40, MODE)
4208 }
4209 Else
4210 {
4211 Or (Local1, 0x08, MODE)
4212 }
4213
4214 Concatenate (Local7, Local7, Local6)
4215 Or (Local1, 0x08, MODE)
4216 Concatenate (Local6, Local7, Local5)
4217 Return (Local5)
4218 }
4219
4220 Device (PRIM)
4221 {
4222 Name (_ADR, 0x00)
4223 Method (_GTM, 0, NotSerialized)
4224 {
4225 Store ("GTM - Primary Controller", Debug)
4226 Store (^^GTM (^^UDMP, ^^PDR0, ^^PDR1), Local0)
4227 Return (Local0)
4228 }
4229
4230 Method (_STM, 3, NotSerialized)
4231 {
4232 Store ("STM - Primary Controller", Debug)
4233 Store (^^STM (Arg0, Arg1, Arg2), Local0)
4234 CreateWordField (Local0, 0x00, UDMA)
4235 CreateWordField (Local0, 0x02, PIOM)
4236 CreateByteField (Local0, 0x04, ADST)
4237 Store (Or (UDMA, And (^^UDMP, 0x1010)), ^^UDMP)
4238 Store (And (PIOM, 0xFF), Local1)
4239 If (Local1)
4240 {
4241 Store (Local1, ^^PDR1)
4242 }
4243
4244 ShiftRight (PIOM, 0x08, Local1)
4245 If (Local1)
4246 {
4247 Store (Local1, ^^PDR0)
4248 }
4249
4250 Store (ADST, ^^PDST)
4251 }
4252
4253 Device (MAST)
4254 {
4255 Name (_ADR, 0x00)
4256 Method (_GTF, 0, NotSerialized)
4257 {
4258 Store ("GTF - Primary Master", Debug)
4259 ShiftRight (^^^UDMP, 0x08, Local0)
4260 Store (^^^GTF (^^^PDR0, Local0, 0x01), Local0)
4261 Return (Local0)
4262 }
4263 }
4264
4265 Device (SLAV)
4266 {
4267 Name (_ADR, 0x01)
4268 Method (_GTF, 0, NotSerialized)
4269 {
4270 Store ("GTF - Primary Slave", Debug)
4271 Store (^^^GTF (^^^PDR1, ^^^UDMP, 0x00), Local0)
4272 Return (Local0)
4273 }
4274 }
4275 }
4276
4277 Device (SECN)
4278 {
4279 Name (_ADR, 0x01)
4280 Method (_GTM, 0, NotSerialized)
4281 {
4282 Store ("GTM - Secondary Controller", Debug)
4283 Store (^^GTM (^^UDMS, ^^SDR0, ^^SDR1), Local0)
4284 Return (Local0)
4285 }
4286
4287 Method (_STM, 3, NotSerialized)
4288 {
4289 Store ("STM - Secondary Controller", Debug)
4290 Store (^^STM (Arg0, Arg1, Arg2), Local0)
4291 CreateWordField (Local0, 0x00, DMAS)
4292 CreateWordField (Local0, 0x02, PIOS)
4293 CreateByteField (Local0, 0x04, ADSS)
4294 Store (Or (DMAS, And (^^UDMS, 0x1010)), ^^UDMS)
4295 And (PIOS, 0xFF, Local1)
4296 If (Local1)
4297 {
4298 Store (Local1, ^^SDR1)
4299 }
4300
4301 ShiftRight (PIOS, 0x08, Local1)
4302 If (Local1)
4303 {
4304 Store (Local1, ^^SDR0)
4305 }
4306
4307 Store (ADSS, ^^SDST)
4308 }
4309
4310 Device (MAST)
4311 {
4312 Name (_ADR, 0x00)
4313 Method (_GTF, 0, NotSerialized)
4314 {
4315 Store ("GTF - Secondary Master", Debug)
4316 ShiftRight (^^^UDMS, 0x08, Local0)
4317 Store (^^^GTF (^^^SDR0, Local0, 0x01), Local0)
4318 Return (Local0)
4319 }
4320 }
4321
4322 Device (SLAV)
4323 {
4324 Name (_ADR, 0x01)
4325 Method (_GTF, 0, NotSerialized)
4326 {
4327 Store ("GTF - Secondary Slave", Debug)
4328 Store (^^^GTF (^^^SDR1, ^^^UDMS, 0x00), Local0)
4329 Return (Local0)
4330 }
4331 }
4332 }
4333 }
4334
4335 Device (USB1)
4336 {
4337 Name (_ADR, 0x00100000)
4338 Method (_STA, 0, NotSerialized)
4339 {
4340 If (\_SB.PCI0.ISA.ESB1)
4341 {
4342 Return (0x00)
4343 }
4344 Else
4345 {
4346 Return (0x0F)
4347 }
4348 }
4349
4350 Name (_PRW, Package (0x02)
4351 {
4352 0x0E,
4353 0x00
4354 })
4355 Method (_S3D, 0, NotSerialized)
4356 {
4357 Return (0x02)
4358 }
4359 }
4360
4361 Device (USB2)
4362 {
4363 Name (_ADR, 0x00100001)
4364 Method (_STA, 0, NotSerialized)
4365 {
4366 If (\_SB.PCI0.ISA.ESB2)
4367 {
4368 Return (0x00)
4369 }
4370 Else
4371 {
4372 Return (0x0F)
4373 }
4374 }
4375
4376 Name (_PRW, Package (0x02)
4377 {
4378 0x0E,
4379 0x00
4380 })
4381 Method (_S3D, 0, NotSerialized)
4382 {
4383 Return (0x02)
4384 }
4385 }
4386
4387 Device (USB3)
4388 {
4389 Name (_ADR, 0x00100002)
4390 Method (_STA, 0, NotSerialized)
4391 {
4392 If (\_SB.PCI0.ISA.ESB3)
4393 {
4394 Return (0x00)
4395 }
4396 Else
4397 {
4398 Return (0x0F)
4399 }
4400 }
4401
4402 Name (_PRW, Package (0x02)
4403 {
4404 0x0E,
4405 0x00
4406 })
4407 Method (_S3D, 0, NotSerialized)
4408 {
4409 Return (0x02)
4410 }
4411 }
4412
4413 Device (USB4)
4414 {
4415 Name (_ADR, 0x00100003)
4416 Method (_STA, 0, NotSerialized)
4417 {
4418 If (\_SB.PCI0.ISA.ESB4)
4419 {
4420 Return (0x00)
4421 }
4422 Else
4423 {
4424 Return (0x0F)
4425 }
4426 }
4427
4428 Name (_PRW, Package (0x02)
4429 {
4430 0x0E,
4431 0x00
4432 })
4433 Method (_S3D, 0, NotSerialized)
4434 {
4435 Return (0x02)
4436 }
4437 }
4438
4439 Device (Z007)
4440 {
4441 Name (_ADR, 0x00110005)
4442 OperationRegion (SB75, PCI_Config, 0x00, 0x80)
4443 Field (SB75, ByteAcc, NoLock, Preserve)
4444 {
4445 Offset (0x2C),
4446 AD2C, 32,
4447 Offset (0x42),
4448 , 5,
4449 Z008, 1
4450 }
4451
4452 Method (_STA, 0, NotSerialized)
4453 {
4454 If (\_SB.PCI0.ISA.AC97)
4455 {
4456 Return (0x00)
4457 }
4458 Else
4459 {
4460 Return (0x0F)
4461 }
4462 }
4463
4464 Name (Z009, 0x00)
4465 Method (_PS0, 0, NotSerialized)
4466 {
4467 If (LEqual (^AD2C, 0x00))
4468 {
4469 Store (0x01, ^Z008)
4470 Store (Z009, ^AD2C)
4471 Store (0x00, ^Z008)
4472 }
4473 Else
4474 {
4475 Store (^AD2C, Z009)
4476 }
4477 }
4478
4479 Method (_PS3, 0, NotSerialized)
4480 {
4481 Store (^AD2C, Z009)
4482 }
4483 }
4484
4485 Device (Z002)
4486 {
4487 Name (_ADR, 0x00110006)
4488 OperationRegion (SB76, PCI_Config, 0x00, 0x80)
4489 Field (SB76, ByteAcc, NoLock, Preserve)
4490 {
4491 Offset (0x2C),
4492 MD2C, 32,
4493 Offset (0x44),
4494 , 4,
4495 Z00A, 1
4496 }
4497
4498 Method (_STA, 0, NotSerialized)
4499 {
4500 If (\_SB.PCI0.ISA.MC97)
4501 {
4502 Return (0x00)
4503 }
4504 Else
4505 {
4506 Return (0x0F)
4507 }
4508 }
4509
4510 Name (Z009, 0x00)
4511 Method (_PS0, 0, NotSerialized)
4512 {
4513 If (LEqual (^MD2C, 0x00))
4514 {
4515 Store (0x01, ^Z00A)
4516 Store (Z009, ^MD2C)
4517 Store (0x00, ^Z00A)
4518 }
4519 Else
4520 {
4521 Store (^MD2C, Z009)
4522 }
4523 }
4524
4525 Method (_PS3, 0, NotSerialized)
4526 {
4527 Store (^MD2C, Z009)
4528 }
4529
4530 Name (_PRW, Package (0x02)
4531 {
4532 0x0D,
4533 0x03
4534 })
4535 }
4536
4537 Device (LAN)
4538 {
4539 Name (_ADR, 0x00120000)
4540 Name (_PRW, Package (0x02)
4541 {
4542 0x03,
4543 0x05
4544 })
4545 }
4546
4547 Device (CBUS)
4548 {
4549 Name (_ADR, 0x00070000)
4550 }
4551
4552 Device (IEEE)
4553 {
4554 Name (_ADR, 0x00080000)
4555 }
4556
4557 Device (MINI)
4558 {
4559 Name (_ADR, 0x00090000)
4560 }
4561 }
4562
4563 Mutex (VSMX, 0x00)
4564 Method (Z000, 1, Serialized)
4565 {
4566 Acquire (VSMX, 0xFFFF)
4567 Store (Arg0, \_SB.PCI0.ISA.SCMD)
4568 Release (VSMX)
4569 }
4570
4571 Device (PWRB)
4572 {
4573 Name (_HID, EisaId ("PNP0C0C"))
4574 }
4575
4576 Device (SLPB)
4577 {
4578 Name (_HID, EisaId ("PNP0C0E"))
4579 }
4580
4581 Device (LID)
4582 {
4583 Name (_HID, EisaId ("PNP0C0D"))
4584 Name (LCDB, 0x01)
4585 Method (_LID, 0, NotSerialized)
4586 {
4587 If (\_SB.PCI0.ISA.LIDS)
4588 {
4589 Return (0x01)
4590 }
4591 Else
4592 {
4593 Return (0x00)
4594 }
4595 }
4596
4597 Name (_PRW, Package (0x02)
4598 {
4599 0x0B,
4600 0x03
4601 })
4602 }
4603 }
4604}
4605