Attachment 'acer-aspireone-zg5-acpidump.txt'
Download 1 /*
2 RSD PTR: OEM=INTEL, ACPI_Rev=2.0x (2)
3 XSDT=0x000000005f4fe120, length=36, cksum=45
4 */
5 /*
6 XSDT: Length=100, Revision=1, Checksum=183,
7 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
8 Creator ID=, Creator Revision=0x1000013
9 Entries={ 0x000000005f4fc000, 0x000000005f4fd000, 0x000000005f4fb000, 0x000000005f4fa000, 0x000000005f4f9000, 0x000000005f4f8000, 0x000000005f4f1000, 0x000000005f4f0000 }
10 */
11 /*
12 FACP: Length=244, Revision=4, Checksum=255,
13 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
14 Creator ID=MSFT, Creator Revision=0x1000013
15 FACS=0x5f488000, DSDT=0x5f4f2000
16 INT_MODEL=PIC
17 Preferred_PM_Profile=Unspecified (0)
18 SCI_INT=9
19 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
20 PSTATE_CNT=0x0
21 PM1a_EVT_BLK=0x400-0x403
22 PM1a_CNT_BLK=0x404-0x405
23 PM2_CNT_BLK=0x420-0x420
24 PM_TMR_BLK=0x408-0x40b
25 GPE0_BLK=0x428-0x42f
26 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
27 FLUSH_SIZE=0, FLUSH_STRIDE=0
28 DUTY_OFFSET=1, DUTY_WIDTH=3
29 DAY_ALRM=13, MON_ALRM=0, CENTURY=0
30 IAPC_BOOT_ARCH={LEGACY_DEVICES,8042}
31 Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER,PLATFORM_CLOCK}
32 RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6
33 X_FACS=0x000000005f488000, X_DSDT=0x000000005f4f2000
34 X_PM1a_EVT_BLK=0x00000000:0[0] (Memory)
35 X_PM1a_CNT_BLK=0x00000000:0[0] (Memory)
36 X_PM_TMR_BLK=0x00000000:0[0] (Memory)
37 */
38 /*
39 FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
40 Global_Lock=
41 Flags=
42 Version=1
43 */
44 /*
45 DSDT: Length=23813, Revision=1, Checksum=18,
46 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
47 Creator ID=MSFT, Creator Revision=0x1000013
48 */
49 /*
50 SSDT: Length=1220, Revision=2, Checksum=203,
51 OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
52 Creator ID=INTL, Creator Revision=0x20051117
53 */
54 /*
55 HPET: Length=56, Revision=1, Checksum=180,
56 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
57 Creator ID=MSFT, Creator Revision=0x1000013
58 HPET Number=0
59 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
60 Comparators=2
61 Counter Size=1
62 Legacy IRQ routing capable={TRUE}
63 PCI Vendor ID=0x8086
64 Minimal Tick=128
65 Flags=0x00
66 */
67 /*
68 APIC: Length=104, Revision=2, Checksum=110,
69 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
70 Creator ID=MSFT, Creator Revision=0x1000013
71 Local APIC ADDR=0xfee00000
72 Flags={PC-AT}
73
74 Type=Local APIC
75 ACPI CPU=1
76 Flags={ENABLED}
77 APIC ID=0
78
79 Type=Local APIC
80 ACPI CPU=2
81 Flags={ENABLED}
82 APIC ID=1
83
84 Type=IO APIC
85 APIC ID=4
86 INT BASE=0
87 ADDR=0x00000000fec00000
88
89 Type=INT Override
90 BUS=0
91 IRQ=0
92 INTR=2
93 Flags={Polarity=conforming, Trigger=conforming}
94
95 Type=INT Override
96 BUS=0
97 IRQ=9
98 INTR=9
99 Flags={Polarity=active-hi, Trigger=level}
100
101 Type=Local APIC NMI
102 ACPI CPU=1
103 LINT Pin=1
104 Flags={Polarity=active-hi, Trigger=edge}
105
106 Type=Local APIC NMI
107 ACPI CPU=2
108 LINT Pin=1
109 Flags={Polarity=active-hi, Trigger=edge}
110 */
111 /*
112 MCFG: Length=60, Revision=1, Checksum=220,
113 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
114 Creator ID=MSFT, Creator Revision=0x1000013
115
116 Base Address=0x00000000e0000000
117 Segment Group=0x0000
118 Start Bus=0
119 End Bus=255
120 */
121 /*
122 ASF!: Length=165, Revision=32, Checksum=92,
123 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
124 Creator ID=MSFT, Creator Revision=0x1000013
125 */
126 /*
127 SLIC: Length=384, Revision=1, Checksum=232,
128 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
129 Creator ID=MSFT, Creator Revision=0x1000013
130 */
131 /*
132 BOOT: Length=40, Revision=1, Checksum=116,
133 OEMID=INTEL, OEM Table ID=Napa, OEM Revision=0x1,
134 Creator ID=MSFT, Creator Revision=0x1000013
135 */
136 /*
137 * Intel ACPI Component Architecture
138 * AML/ASL+ Disassembler version 20160527-32
139 * Copyright (c) 2000 - 2016 Intel Corporation
140 *
141 * Disassembling to symbolic ASL+ operators
142 *
143 * Disassembly of /tmp/acpidump.6zPKsS/acpdump.din, Wed Dec 14 20:29:54 2016
144 *
145 * Original Table Header:
146 * Signature "DSDT"
147 * Length 0x000061A5 (24997)
148 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
149 * Checksum 0xB4
150 * OEM ID "INTEL "
151 * OEM Table ID "Napa "
152 * OEM Revision 0x00000001 (1)
153 * Compiler ID "MSFT"
154 * Compiler Version 0x01000013 (16777235)
155 */
156 DefinitionBlock ("", "DSDT", 1, "INTEL ", "Napa ", 0x00000001)
157 {
158 OperationRegion (PORT, SystemIO, 0x80, One)
159 Field (PORT, ByteAcc, NoLock, Preserve)
160 {
161 P80H, 8
162 }
163
164 OperationRegion (GPIO, SystemIO, 0x0500, 0x39)
165 Field (GPIO, ByteAcc, NoLock, Preserve)
166 {
167 Offset (0x2C),
168 Offset (0x2D),
169 , 1,
170 INV9, 1,
171 INVA, 1,
172 Offset (0x38),
173 , 1,
174 , 1,
175 CPEN, 1
176 }
177
178 OperationRegion (PMBA, SystemIO, 0x0400, 0x80)
179 Field (PMBA, ByteAcc, NoLock, Preserve)
180 {
181 Offset (0x28),
182 , 2,
183 SPST, 1,
184 Offset (0x29),
185 Offset (0x2A),
186 Offset (0x2B),
187 GP2B, 8,
188 Offset (0x42),
189 , 1,
190 GPEC, 1
191 }
192
193 OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
194 Field (RCRB, DWordAcc, Lock, Preserve)
195 {
196 Offset (0x1000),
197 Offset (0x3000),
198 Offset (0x3404),
199 HPAS, 2,
200 , 5,
201 HPAE, 1,
202 Offset (0x3418),
203 , 1,
204 PATD, 1,
205 SATD, 1,
206 SMBD, 1,
207 AZAD, 1,
208 A97D, 1,
209 Offset (0x341A),
210 RP1D, 1,
211 RP2D, 1,
212 RP3D, 1,
213 RP4D, 1
214 }
215
216 OperationRegion (MBOX, SystemMemory, 0x5F4BED90, 0x000000E8)
217 Field (MBOX, AnyAcc, NoLock, Preserve)
218 {
219 PCI1, 8,
220 PCI2, 8,
221 PCI3, 8,
222 PCI4, 8,
223 PCI5, 8,
224 PCI6, 8,
225 PCI7, 8,
226 PCI8, 8,
227 NLCK, 8,
228 ZIPE, 8,
229 COMA, 8,
230 CAIO, 8,
231 CAIP, 8,
232 CAMD, 8,
233 CADA, 8,
234 COMB, 8,
235 CBIO, 8,
236 CBIP, 8,
237 CBMD, 8,
238 CBDA, 8,
239 COMC, 8,
240 CCIO, 8,
241 CCIP, 8,
242 CCMD, 8,
243 CCDA, 8,
244 COMD, 8,
245 CDIO, 8,
246 CDIP, 8,
247 CDMD, 8,
248 CDDA, 8,
249 LPT1, 8,
250 L1IO, 8,
251 L1IP, 8,
252 L1MD, 8,
253 L1DA, 8,
254 LPT2, 8,
255 L2IO, 8,
256 L2IP, 8,
257 L2MD, 8,
258 L2DA, 8,
259 LPT3, 8,
260 L3IO, 8,
261 L3IP, 8,
262 L3MD, 8,
263 L3DA, 8,
264 FDDC, 8,
265 FDWP, 8,
266 HGMP, 8,
267 LGMP, 8,
268 MIDI, 8,
269 AZLA, 8,
270 AUDO, 8,
271 MODM, 8,
272 IDEC, 8,
273 PACT, 8,
274 SCFG, 8,
275 AIBT, 8,
276 AMOD, 8,
277 P0HP, 8,
278 P2HP, 8,
279 P0IL, 8,
280 P2IL, 8,
281 IDLY, 8,
282 PMTP, 8,
283 PMIO, 8,
284 PMBM, 8,
285 PMTM, 8,
286 PSTP, 8,
287 PSIO, 8,
288 PSBM, 8,
289 PSTM, 8,
290 SMTP, 8,
291 SMIO, 8,
292 SMBM, 8,
293 SMTM, 8,
294 SSTP, 8,
295 SSIO, 8,
296 SSBM, 8,
297 SSTM, 8,
298 IDE0, 8,
299 IDE1, 8,
300 IDE2, 8,
301 IDE3, 8,
302 IDE4, 8,
303 IDE5, 8,
304 IDE6, 8,
305 IDE7, 8,
306 PEGS, 8,
307 D2F1, 8,
308 IGMT, 8,
309 DTSZ, 8,
310 HIUB, 8,
311 LUBS, 8,
312 EDCG, 8,
313 SDFY, 8,
314 SDTC, 8,
315 SDRP, 8,
316 SDCL, 8,
317 SDRC, 8,
318 SDRE, 8,
319 FC2L, 8,
320 FC3L, 8,
321 FCS4, 8,
322 APIM, 8,
323 HPTS, 8,
324 HPTA, 8,
325 EMAS, 8,
326 MASF, 8,
327 ASFB, 8,
328 MBTX, 8,
329 XPRO, 8,
330 IDER, 8,
331 SOLE, 8,
332 EYLS, 8,
333 EYLH, 8,
334 TPMD, 8,
335 TPMO, 8,
336 TPMC, 8,
337 TPMM, 8,
338 TPCC, 8,
339 TPLC, 8,
340 TPLR, 32,
341 ISTC, 8,
342 TRML, 8,
343 TRON, 8,
344 NXMD, 8,
345 PCRR, 8,
346 C4EN, 8,
347 C43D, 8,
348 EMTT, 8,
349 PROH, 8,
350 DFSB, 8,
351 TUBM, 8,
352 TSTE, 8,
353 DAS3, 8,
354 WKPM, 8,
355 WKMD, 8,
356 WKS5, 8,
357 HOUR, 8,
358 MINS, 8,
359 SECS, 8,
360 DOFM, 8,
361 QKS4, 8,
362 POPU, 8,
363 POPD, 8,
364 NXFE, 8,
365 VTST, 8,
366 VTFE, 8,
367 S5FG, 8,
368 CSTS, 8,
369 ENCS, 8,
370 DEC4, 8,
371 HC4E, 8,
372 ENC6, 8,
373 CSTR, 8,
374 CMPE, 8,
375 DTSE, 8,
376 DTSC, 8,
377 QBOT, 8,
378 QEBT, 8,
379 PBOT, 8,
380 OSYS, 16,
381 PSW0, 8,
382 PSW1, 8,
383 D2DF, 8,
384 F12F, 8
385 }
386
387 OperationRegion (CMS1, SystemIO, 0x72, 0x02)
388 Field (CMS1, ByteAcc, NoLock, Preserve)
389 {
390 CMSI, 8,
391 CMSD, 8
392 }
393
394 Method (CMSW, 2, NotSerialized)
395 {
396 CMSI = Arg0
397 CMSD = Arg1
398 }
399
400 OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
401 Field (IO_T, ByteAcc, NoLock, Preserve)
402 {
403 Offset (0x02),
404 Offset (0x04),
405 Offset (0x06),
406 Offset (0x08),
407 TRP0, 8,
408 Offset (0x0A),
409 Offset (0x0B),
410 Offset (0x0C),
411 Offset (0x0D),
412 Offset (0x0E),
413 Offset (0x0F),
414 Offset (0x10)
415 }
416
417 OperationRegion (IO_D, SystemIO, 0x0810, 0x08)
418 Field (IO_D, ByteAcc, NoLock, Preserve)
419 {
420 TRPD, 8
421 }
422
423 OperationRegion (NVST, SystemMemory, 0x5F4BEE78, 0x00000056)
424 Field (NVST, AnyAcc, Lock, Preserve)
425 {
426 SMIF, 8,
427 PRM0, 8,
428 PRM1, 8,
429 BRTL, 8,
430 TLST, 8,
431 IGDS, 8,
432 LCDA, 16,
433 CSTE, 16,
434 NSTE, 16,
435 CADL, 16,
436 PADL, 16,
437 LIDS, 8,
438 PWRS, 8,
439 BVAL, 32,
440 CMPF, 8,
441 CSTF, 8,
442 GTF0, 56,
443 GTF2, 56,
444 IDEM, 8,
445 DTS1, 8,
446 DTS2, 8,
447 DTSF, 8,
448 PPMF, 32,
449 DI00, 320
450 }
451
452 Scope (_PR)
453 {
454 Processor (CPU0, 0x01, 0x00000410, 0x06) {}
455 Processor (CPU1, 0x02, 0x00000410, 0x06) {}
456 }
457
458 Method (IHWM, 2, NotSerialized)
459 {
460 PRM0 = Arg0
461 DI00 = Arg1
462 APMC = 0xD1
463 Local0 = DI00 /* \DI00 */
464 Return (Local0)
465 }
466
467 OperationRegion (GSMI, SystemIO, 0xB2, 0x02)
468 Field (GSMI, ByteAcc, NoLock, Preserve)
469 {
470 APMC, 8,
471 APMD, 8
472 }
473
474 Name (ECON, Zero)
475 Name (CTYP, Zero)
476 Name (DSEN, One)
477 Name (PSTA, Zero)
478 Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
479 {
480 If (Arg0 == 0x03)
481 {
482 P80H = 0x53
483 }
484
485 If (Arg0 == 0x04)
486 {
487 If (ECON)
488 {
489 \_SB.PCI0.LPC.EC0.FLS4 = One
490 }
491
492 P80H = 0x54
493 }
494
495 Return (Zero)
496 }
497
498 Method (_WAK, 1, NotSerialized) // _WAK: Wake
499 {
500 If (ECON)
501 {
502 \_SB.BAT1.UBIF ()
503 Notify (\_SB.BAT1, 0x80) // Status Change
504 Notify (\_SB.BAT1, 0x81) // Information Change
505 }
506
507 If (Arg0 == 0x03)
508 {
509 Notify (\_SB.PCI0.EXP1, Zero) // Bus Check
510 Notify (\_SB.PCI0.EXP4, Zero) // Bus Check
511 P80H = 0xE3
512 }
513
514 If (Arg0 == 0x04)
515 {
516 Notify (\_SB.PCI0.EXP1, Zero) // Bus Check
517 Notify (\_SB.PCI0.EXP4, Zero) // Bus Check
518 P80H = 0xE4
519 }
520
521 Return (Zero)
522 }
523
524 Name (_S0, Package (0x04) // _S0_: S0 System State
525 {
526 Zero,
527 Zero,
528 Zero,
529 Zero
530 })
531 If (DAS3 == One)
532 {
533 Name (_S3, Package (0x04) // _S3_: S3 System State
534 {
535 0x05,
536 0x05,
537 Zero,
538 Zero
539 })
540 }
541
542 Name (_S4, Package (0x04) // _S4_: S4 System State
543 {
544 0x06,
545 0x06,
546 Zero,
547 Zero
548 })
549 Name (_S5, Package (0x04) // _S5_: S5 System State
550 {
551 0x07,
552 0x07,
553 Zero,
554 Zero
555 })
556 Scope (_GPE)
557 {
558 Method (_L03, 0, NotSerialized) // _Lxx: Level-Triggered GPE
559 {
560 Notify (\_SB.PCI0.UHC1, 0x02) // Device Wake
561 }
562
563 Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE
564 {
565 Notify (\_SB.PCI0.UHC2, 0x02) // Device Wake
566 }
567
568 Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE
569 {
570 Notify (\_SB.PCI0.AZAL, 0x02) // Device Wake
571 Notify (\_SB.PCI0.MODM, 0x02) // Device Wake
572 }
573
574 Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
575 {
576 Notify (\_SB.PCI0.EXP1, 0x02) // Device Wake
577 Notify (\_SB.PCI0.EXP2, 0x02) // Device Wake
578 Notify (\_SB.PCI0.EXP3, 0x02) // Device Wake
579 Notify (\_SB.PCI0.EXP4, 0x02) // Device Wake
580 }
581
582 Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE
583 {
584 Notify (\_SB.PCI0.P32, 0x02) // Device Wake
585 }
586
587 Method (_L0C, 0, NotSerialized) // _Lxx: Level-Triggered GPE
588 {
589 Notify (\_SB.PCI0.UHC3, 0x02) // Device Wake
590 }
591
592 Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
593 {
594 Notify (\_SB.PCI0.ECHI, 0x02) // Device Wake
595 }
596
597 Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE
598 {
599 Notify (\_SB.PCI0.UHC4, 0x02) // Device Wake
600 }
601
602 Method (_L19, 0, NotSerialized) // _Lxx: Level-Triggered GPE
603 {
604 Sleep (0x64)
605 If (\_SB.PCI0.EXP4.PDC4)
606 {
607 \_SB.PCI0.EXP4.PDC4 = One
608 \_SB.PCI0.EXP4.HPCS = One
609 If (\_SB.PCI0.EXP4.PDS4)
610 {
611 INV9 = Zero
612 APMD = 0x94
613 APMC = 0xB2
614 Sleep (0x64)
615 }
616 Else
617 {
618 INV9 = One
619 Sleep (0x64)
620 }
621
622 Notify (\_SB.PCI0.EXP4, Zero) // Bus Check
623 }
624 }
625
626 Method (_L1A, 0, NotSerialized) // _Lxx: Level-Triggered GPE
627 {
628 Sleep (0x64)
629 If (\_SB.PCI0.EXP1.PDC1)
630 {
631 \_SB.PCI0.EXP1.PDC1 = One
632 \_SB.PCI0.EXP1.HPCS = One
633 If (\_SB.PCI0.EXP1.PDS1)
634 {
635 INVA = Zero
636 APMD = 0x91
637 APMC = 0xB2
638 Sleep (0x64)
639 }
640 Else
641 {
642 INVA = One
643 Sleep (0x64)
644 }
645
646 Notify (\_SB.PCI0.EXP1, Zero) // Bus Check
647 }
648 }
649 }
650
651 Name (GPIC, Zero)
652 Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
653 {
654 GPIC = Arg0
655 }
656
657 Method (_INI, 0, NotSerialized) // _INI: Initialize
658 {
659 P80H = 0x12
660 If (CondRefOf (_OSI, Local0))
661 {
662 If (_OSI ("Linux"))
663 {
664 OSYS = 0x03E8
665 \_SB.PCI0.LPC.S4TM = 0x0A
666 \_SB.PCI0.EXP2.PXS2.LSMP = 0x43
667 \_SB.PCI0.EXP2.LL0S = One
668 \_SB.PCI0.EXP2.LLL1 = One
669 }
670 ElseIf (_OSI ("Windows 2006"))
671 {
672 OSYS = 0x07D6
673 \_SB.PCI0.LPC.S4TM = 0x06
674 \_SB.PCI0.EXP2.PXS2.LSMP = Zero
675 \_SB.PCI0.EXP2.LL0S = Zero
676 \_SB.PCI0.EXP2.LLL1 = Zero
677 }
678 Else
679 {
680 \_SB.PCI0.LPC.S4TM = 0x0A
681 \_SB.PCI0.EXP2.PXS2.LSMP = 0x43
682 \_SB.PCI0.EXP2.LL0S = One
683 \_SB.PCI0.EXP2.LLL1 = One
684 OSYS = 0x07D1
685 }
686 }
687 Else
688 {
689 \_SB.PCI0.LPC.S4TM = 0x0A
690 \_SB.PCI0.EXP2.PXS2.LSMP = 0x43
691 \_SB.PCI0.EXP2.LL0S = One
692 \_SB.PCI0.EXP2.LLL1 = One
693 OSYS = 0x07D0
694 }
695 }
696
697 Method (GETP, 1, Serialized)
698 {
699 If ((Arg0 & 0x09) == Zero)
700 {
701 Return (Ones)
702 }
703
704 If ((Arg0 & 0x09) == 0x08)
705 {
706 Return (0x0384)
707 }
708
709 Local0 = ((Arg0 & 0x0300) >> 0x08)
710 Local1 = ((Arg0 & 0x3000) >> 0x0C)
711 Return ((0x1E * (0x09 - (Local0 + Local1))))
712 }
713
714 Method (GDMA, 5, Serialized)
715 {
716 If (Arg0)
717 {
718 If (Arg1 && Arg4)
719 {
720 Return (0x14)
721 }
722
723 If (Arg2 && Arg4)
724 {
725 Return (((0x04 - Arg3) * 0x0F))
726 }
727
728 Return (((0x04 - Arg3) * 0x1E))
729 }
730
731 Return (Ones)
732 }
733
734 Method (GETT, 1, Serialized)
735 {
736 Return ((0x1E * (0x09 - (((Arg0 >> 0x02) & 0x03
737 ) + (Arg0 & 0x03)))))
738 }
739
740 Method (GETF, 3, Serialized)
741 {
742 Name (TMPF, Zero)
743 If (Arg0)
744 {
745 TMPF |= One
746 }
747
748 If (Arg2 & 0x02)
749 {
750 TMPF |= 0x02
751 }
752
753 If (Arg1)
754 {
755 TMPF |= 0x04
756 }
757
758 If (Arg2 & 0x20)
759 {
760 TMPF |= 0x08
761 }
762
763 If (Arg2 & 0x4000)
764 {
765 TMPF |= 0x10
766 }
767
768 Return (TMPF) /* \GETF.TMPF */
769 }
770
771 Method (SETP, 3, Serialized)
772 {
773 If (Arg0 > 0xF0)
774 {
775 Return (0x08)
776 }
777 Else
778 {
779 If (Arg1 & 0x02)
780 {
781 If ((Arg0 <= 0x78) && (Arg2 & 0x02))
782 {
783 Return (0x2301)
784 }
785
786 If ((Arg0 <= 0xB4) && (Arg2 & One))
787 {
788 Return (0x2101)
789 }
790 }
791
792 Return (0x1001)
793 }
794 }
795
796 Method (SDMA, 1, Serialized)
797 {
798 If (Arg0 <= 0x14)
799 {
800 Return (One)
801 }
802
803 If (Arg0 <= 0x1E)
804 {
805 Return (0x02)
806 }
807
808 If (Arg0 <= 0x2D)
809 {
810 Return (One)
811 }
812
813 If (Arg0 <= 0x3C)
814 {
815 Return (0x02)
816 }
817
818 If (Arg0 <= 0x5A)
819 {
820 Return (One)
821 }
822
823 Return (Zero)
824 }
825
826 Method (SETT, 3, Serialized)
827 {
828 If (Arg1 & 0x02)
829 {
830 If ((Arg0 <= 0x78) && (Arg2 & 0x02))
831 {
832 Return (0x0B)
833 }
834
835 If ((Arg0 <= 0xB4) && (Arg2 & One))
836 {
837 Return (0x09)
838 }
839 }
840
841 Return (0x04)
842 }
843
844 Scope (_SB)
845 {
846 Device (PWRB)
847 {
848 Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
849 }
850
851 Device (LID0)
852 {
853 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
854 Method (_LID, 0, NotSerialized) // _LID: Lid Status
855 {
856 If (ECON)
857 {
858 If (^^PCI0.LPC.EC0.LID2 == Zero)
859 {
860 Return (One)
861 }
862 Else
863 {
864 Return (Zero)
865 }
866 }
867 Else
868 {
869 Return (One)
870 }
871 }
872 }
873
874 Device (SLPB)
875 {
876 Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
877 }
878
879 Device (BAT1)
880 {
881 Name (CBTI, Zero)
882 Name (PBTI, Zero)
883 Name (BTIN, Zero)
884 Name (BTCH, Zero)
885 Name (BIFI, Zero)
886 Name (SEL0, Zero)
887 Name (BCRI, Zero)
888 Name (PBIF, Package (0x0D)
889 {
890 One,
891 0x1130,
892 0x1130,
893 One,
894 0x2B5C,
895 0x012C,
896 0x84,
897 0x20,
898 0x20,
899 "BAT1 ",
900 "11 ",
901 "11 ",
902 "11 "
903 })
904 Name (PBST, Package (0x04)
905 {
906 Zero,
907 Ones,
908 Ones,
909 0x2710
910 })
911 Name (ERRC, Zero)
912 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
913 Name (_UID, Zero) // _UID: Unique ID
914 Method (_STA, 0, NotSerialized) // _STA: Status
915 {
916 P80H = 0x11
917 If (BTIN)
918 {
919 Return (0x1F)
920 }
921 Else
922 {
923 Return (0x0F)
924 }
925 }
926
927 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
928 {
929 P80H = 0x12
930 If (BIFI == Zero)
931 {
932 UBIF ()
933 BIFI = One
934 }
935
936 Return (PBIF) /* \_SB_.BAT1.PBIF */
937 }
938
939 Name (LFCC, 0x1130)
940 Method (UBIF, 0, NotSerialized)
941 {
942 If (ECON)
943 {
944 P80H = 0x13
945 Local0 = ^^PCI0.LPC.EC0.BTDC /* \_SB_.PCI0.LPC_.EC0_.BTDC */
946 Local1 = ^^PCI0.LPC.EC0.LFC2 /* \_SB_.PCI0.LPC_.EC0_.LFC2 */
947 Local2 = ^^PCI0.LPC.EC0.BTDV /* \_SB_.PCI0.LPC_.EC0_.BTDV */
948 Local3 = ^^PCI0.LPC.EC0.BTMD /* \_SB_.PCI0.LPC_.EC0_.BTMD */
949 Local4 = ^^PCI0.LPC.EC0.BTMN /* \_SB_.PCI0.LPC_.EC0_.BTMN */
950 Local5 = ^^PCI0.LPC.EC0.BTSN /* \_SB_.PCI0.LPC_.EC0_.BTSN */
951 Local6 = ^^PCI0.LPC.EC0.LION /* \_SB_.PCI0.LPC_.EC0_.LION */
952 PBIF [One] = Local0
953 PBIF [0x02] = Local1
954 PBIF [0x04] = Local2
955 LFCC = Local1
956 Local7 = (Local1 * 0x04)
957 Local7 /= 0x64
958 PBIF [0x06] = Local7
959 If (Local6)
960 {
961 PBIF [0x0B] = "NiMH"
962 }
963 Else
964 {
965 PBIF [0x0B] = "LION"
966 }
967
968 Local3 &= 0x0F
969 If (Local3 == One)
970 {
971 PBIF [0x09] = "UM08A31"
972 }
973 ElseIf (Local3 == 0x02)
974 {
975 PBIF [0x09] = "UM08A32"
976 }
977 ElseIf (Local3 == 0x03)
978 {
979 PBIF [0x09] = "UM08A51"
980 }
981 ElseIf (Local3 == 0x04)
982 {
983 PBIF [0x09] = "UM08A52"
984 }
985 ElseIf (Local3 == 0x05)
986 {
987 PBIF [0x09] = "UM08A71"
988 }
989 ElseIf (Local3 == 0x06)
990 {
991 PBIF [0x09] = "UM08A72"
992 }
993 ElseIf (Local3 == 0x07)
994 {
995 PBIF [0x09] = "UM08A73"
996 }
997 ElseIf (Local3 == 0x08)
998 {
999 PBIF [0x09] = "UM08A74"
1000 }
1001 ElseIf (Local3 == 0x09)
1002 {
1003 PBIF [0x09] = "UM08B51"
1004 }
1005 ElseIf (Local3 == 0x0A)
1006 {
1007 PBIF [0x09] = "UM08B71"
1008 }
1009 ElseIf (Local3 == 0x0B)
1010 {
1011 PBIF [0x09] = "UM08B72"
1012 }
1013 ElseIf (Local3 == 0x0C)
1014 {
1015 PBIF [0x09] = "UM08B73"
1016 }
1017 ElseIf (Local3 == 0x0D)
1018 {
1019 PBIF [0x09] = "UM08B74"
1020 }
1021 ElseIf (Local3 == 0x0E)
1022 {
1023 PBIF [0x09] = "UM08AC1"
1024 }
1025
1026 If (Local4 == 0x03)
1027 {
1028 PBIF [0x0C] = "SANYO"
1029 }
1030 ElseIf (Local4 == 0x04)
1031 {
1032 PBIF [0x0C] = "SONY"
1033 }
1034 ElseIf (Local4 == 0x05)
1035 {
1036 PBIF [0x0C] = "PANASONIC"
1037 }
1038 ElseIf (Local4 == 0x07)
1039 {
1040 PBIF [0x0C] = "SIMPLO"
1041 }
1042 ElseIf (Local4 == 0x08)
1043 {
1044 PBIF [0x0C] = "MOTOROLA"
1045 }
1046 ElseIf (Local4 == 0x09)
1047 {
1048 PBIF [0x0C] = "Celxpert"
1049 }
1050 Else
1051 {
1052 PBIF [0x0C] = "UNKNOWN"
1053 }
1054
1055 PBIF [0x0A] = ITOS (Local5)
1056 }
1057 }
1058
1059 Name (RCAP, Zero)
1060 Method (_BST, 0, NotSerialized) // _BST: Battery Status
1061 {
1062 P80H = 0x14
1063 If (BTIN == Zero)
1064 {
1065 PBST [Zero] = Zero
1066 PBST [One] = Ones
1067 PBST [0x02] = Ones
1068 PBST [0x03] = Ones
1069 Return (PBST) /* \_SB_.BAT1.PBST */
1070 }
1071
1072 If (ECON)
1073 {
1074 Local0 = ^^PCI0.LPC.EC0.MBTC /* \_SB_.PCI0.LPC_.EC0_.MBTC */
1075 Local1 = ^^PCI0.LPC.EC0.MBRM /* \_SB_.PCI0.LPC_.EC0_.MBRM */
1076 Local2 = ^^PCI0.LPC.EC0.MBVG /* \_SB_.PCI0.LPC_.EC0_.MBVG */
1077 Local3 = ^^PCI0.LPC.EC0.MCUR /* \_SB_.PCI0.LPC_.EC0_.MCUR */
1078 Local4 = ^^PCI0.LPC.EC0.BTST /* \_SB_.PCI0.LPC_.EC0_.BTST */
1079 Local5 = ^^PCI0.LPC.EC0.MBTF /* \_SB_.PCI0.LPC_.EC0_.MBTF */
1080 Local6 = ^^PCI0.LPC.EC0.ACDF /* \_SB_.PCI0.LPC_.EC0_.ACDF */
1081 If (Local6)
1082 {
1083 If (Local5 == One)
1084 {
1085 Local7 = Zero
1086 Local1 = LFCC /* \_SB_.BAT1.LFCC */
1087 }
1088 ElseIf (Local0 == One)
1089 {
1090 Local7 = 0x02
1091 }
1092 Else
1093 {
1094 Local7 = Zero
1095 }
1096 }
1097 ElseIf (Local4 && One)
1098 {
1099 Local7 = One
1100 }
1101 Else
1102 {
1103 Local7 = Zero
1104 }
1105
1106 Local4 &= 0x04
1107 If (Local4 == 0x04)
1108 {
1109 Local7 |= Local4
1110 }
1111
1112 PBST [Zero] = Local7
1113 If (!(Local1 & 0x8000))
1114 {
1115 PBST [0x02] = Local1
1116 }
1117
1118 If (!(Local2 & 0x8000))
1119 {
1120 PBST [0x03] = Local2
1121 }
1122
1123 If (Local3 && 0x8000)
1124 {
1125 If (Local3 != 0xFFFF)
1126 {
1127 Local3 = ~Local3
1128 Local3++
1129 Local3 &= 0xFFFF
1130 }
1131 }
1132
1133 PBST [One] = Local3
1134 }
1135
1136 Return (PBST) /* \_SB_.BAT1.PBST */
1137 }
1138
1139 Method (ITOS, 1, NotSerialized)
1140 {
1141 Local0 = ""
1142 Local1 = 0x04
1143 While (Local1)
1144 {
1145 Local1--
1146 Local4 = ((Arg0 >> (Local1 << 0x02)) & 0x0F)
1147 Local2 = DerefOf (CHAR [Local4])
1148 Concatenate (Local0, Local2, Local5)
1149 Local0 = Local5
1150 }
1151
1152 Return (Local0)
1153 }
1154
1155 Name (CHAR, Package (0x10)
1156 {
1157 "0",
1158 "1",
1159 "2",
1160 "3",
1161 "4",
1162 "5",
1163 "6",
1164 "7",
1165 "8",
1166 "9",
1167 "A",
1168 "B",
1169 "C",
1170 "D",
1171 "E",
1172 "F"
1173 })
1174 Method (BATS, 0, NotSerialized)
1175 {
1176 If (ECON)
1177 {
1178 P80H = 0x15
1179 Local0 = ^^PCI0.LPC.EC0.MBTS /* \_SB_.PCI0.LPC_.EC0_.MBTS */
1180 If (Local0 == One)
1181 {
1182 If (BTIN == Zero)
1183 {
1184 BTCH = One
1185 BIFI = Zero
1186 }
1187
1188 BTIN = One
1189 }
1190 Else
1191 {
1192 If (BTIN == One)
1193 {
1194 BTCH = One
1195 BIFI = Zero
1196 }
1197
1198 BTIN = Zero
1199 }
1200 }
1201 }
1202 }
1203
1204 Device (ACAD)
1205 {
1206 Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
1207 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
1208 {
1209 _SB
1210 })
1211 Name (ACST, Zero)
1212 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
1213 {
1214 If (ECON)
1215 {
1216 P80H = 0x16
1217 ACST = ^^PCI0.LPC.EC0.ACDF /* \_SB_.PCI0.LPC_.EC0_.ACDF */
1218 }
1219 Else
1220 {
1221 ACST = One
1222 }
1223
1224 If (ACST)
1225 {
1226 Local0 = One
1227 ^^BAT1.BCRI = Zero
1228 }
1229 Else
1230 {
1231 Local0 = Zero
1232 }
1233
1234 Return (Local0)
1235 }
1236 }
1237
1238 Device (PCI0)
1239 {
1240 Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
1241 Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
1242 Name (_ADR, Zero) // _ADR: Address
1243 Method (_INI, 0, NotSerialized) // _INI: Initialize
1244 {
1245 P80H = 0x12
1246 If (CondRefOf (_OSI, Local0))
1247 {
1248 If (_OSI ("Linux"))
1249 {
1250 OSYS = 0x03E8
1251 ^LPC.S4TM = 0x0A
1252 ^EXP2.PXS2.LSMP = 0x43
1253 ^EXP2.LL0S = One
1254 ^EXP2.LLL1 = One
1255 }
1256 ElseIf (_OSI ("Windows 2006"))
1257 {
1258 OSYS = 0x07D6
1259 ^LPC.S4TM = 0x06
1260 ^EXP2.PXS2.LSMP = Zero
1261 ^EXP2.LL0S = Zero
1262 ^EXP2.LLL1 = Zero
1263 }
1264 Else
1265 {
1266 ^LPC.S4TM = 0x0A
1267 ^EXP2.PXS2.LSMP = 0x43
1268 ^EXP2.LL0S = One
1269 ^EXP2.LLL1 = One
1270 OSYS = 0x07D1
1271 }
1272 }
1273 Else
1274 {
1275 ^LPC.S4TM = 0x0A
1276 ^EXP2.PXS2.LSMP = 0x43
1277 ^EXP2.LL0S = One
1278 ^EXP2.LLL1 = One
1279 OSYS = 0x07D0
1280 }
1281 }
1282
1283 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
1284 {
1285 Local0 = Arg2
1286 Local1 = (Local0 * 0x04)
1287 Name (BUF1, Buffer (Local1) {})
1288 BUF1 = Arg3
1289 Local1 = Zero
1290 Local2 = Zero
1291 While (Local0)
1292 {
1293 Local2 = (Local1 * 0x04)
1294 CreateDWordField (BUF1, Local2, CAPB)
1295 If (Arg1)
1296 {
1297 If (Local1 == Zero)
1298 {
1299 CAPB &= 0xFFFFFFFC
1300 }
1301 }
1302 Else
1303 {
1304 }
1305
1306 Local1++
1307 Local0--
1308 }
1309
1310 Return (BUF1) /* \_SB_.PCI0._OSC.BUF1 */
1311 }
1312
1313 Name (_BBN, Zero) // _BBN: BIOS Bus Number
1314 OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
1315 Field (HBUS, DWordAcc, NoLock, Preserve)
1316 {
1317 Offset (0x50),
1318 , 4,
1319 PM0H, 2,
1320 Offset (0x51),
1321 PM1L, 2,
1322 , 2,
1323 PM1H, 2,
1324 Offset (0x52),
1325 PM2L, 2,
1326 , 2,
1327 PM2H, 2,
1328 Offset (0x53),
1329 PM3L, 2,
1330 , 2,
1331 PM3H, 2,
1332 Offset (0x54),
1333 PM4L, 2,
1334 , 2,
1335 PM4H, 2,
1336 Offset (0x55),
1337 PM5L, 2,
1338 , 2,
1339 PM5H, 2,
1340 Offset (0x56),
1341 PM6L, 2,
1342 , 2,
1343 PM6H, 2,
1344 Offset (0x57),
1345 , 7,
1346 HENA, 1,
1347 Offset (0x5C),
1348 , 3,
1349 TOUD, 5
1350 }
1351
1352 Name (BUF0, ResourceTemplate ()
1353 {
1354 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1355 0x0000, // Granularity
1356 0x0000, // Range Minimum
1357 0x00FF, // Range Maximum
1358 0x0000, // Translation Offset
1359 0x0100, // Length
1360 0x00,, )
1361 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1362 0x00000000, // Granularity
1363 0x00000000, // Range Minimum
1364 0x00000CF7, // Range Maximum
1365 0x00000000, // Translation Offset
1366 0x00000CF8, // Length
1367 0x00,, , TypeStatic)
1368 IO (Decode16,
1369 0x0CF8, // Range Minimum
1370 0x0CF8, // Range Maximum
1371 0x01, // Alignment
1372 0x08, // Length
1373 )
1374 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1375 0x00000000, // Granularity
1376 0x00000D00, // Range Minimum
1377 0x0000FFFF, // Range Maximum
1378 0x00000000, // Translation Offset
1379 0x0000F300, // Length
1380 0x00,, , TypeStatic)
1381 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1382 0x00000000, // Granularity
1383 0x000A0000, // Range Minimum
1384 0x000BFFFF, // Range Maximum
1385 0x00000000, // Translation Offset
1386 0x00020000, // Length
1387 0x00,, , AddressRangeMemory, TypeStatic)
1388 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1389 0x00000000, // Granularity
1390 0x000C0000, // Range Minimum
1391 0x000C3FFF, // Range Maximum
1392 0x00000000, // Translation Offset
1393 0x00004000, // Length
1394 0x00,, _Y00, AddressRangeMemory, TypeStatic)
1395 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1396 0x00000000, // Granularity
1397 0x000C4000, // Range Minimum
1398 0x000C7FFF, // Range Maximum
1399 0x00000000, // Translation Offset
1400 0x00004000, // Length
1401 0x00,, _Y01, AddressRangeMemory, TypeStatic)
1402 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1403 0x00000000, // Granularity
1404 0x000C8000, // Range Minimum
1405 0x000CBFFF, // Range Maximum
1406 0x00000000, // Translation Offset
1407 0x00004000, // Length
1408 0x00,, _Y02, AddressRangeMemory, TypeStatic)
1409 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1410 0x00000000, // Granularity
1411 0x000CC000, // Range Minimum
1412 0x000CFFFF, // Range Maximum
1413 0x00000000, // Translation Offset
1414 0x00004000, // Length
1415 0x00,, _Y03, AddressRangeMemory, TypeStatic)
1416 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1417 0x00000000, // Granularity
1418 0x000D0000, // Range Minimum
1419 0x000D3FFF, // Range Maximum
1420 0x00000000, // Translation Offset
1421 0x00004000, // Length
1422 0x00,, _Y04, AddressRangeMemory, TypeStatic)
1423 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1424 0x00000000, // Granularity
1425 0x000D4000, // Range Minimum
1426 0x000D7FFF, // Range Maximum
1427 0x00000000, // Translation Offset
1428 0x00004000, // Length
1429 0x00,, _Y05, AddressRangeMemory, TypeStatic)
1430 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1431 0x00000000, // Granularity
1432 0x000D8000, // Range Minimum
1433 0x000DBFFF, // Range Maximum
1434 0x00000000, // Translation Offset
1435 0x00004000, // Length
1436 0x00,, _Y06, AddressRangeMemory, TypeStatic)
1437 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1438 0x00000000, // Granularity
1439 0x000DC000, // Range Minimum
1440 0x000DFFFF, // Range Maximum
1441 0x00000000, // Translation Offset
1442 0x00004000, // Length
1443 0x00,, _Y07, AddressRangeMemory, TypeStatic)
1444 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1445 0x00000000, // Granularity
1446 0x000E0000, // Range Minimum
1447 0x000E3FFF, // Range Maximum
1448 0x00000000, // Translation Offset
1449 0x00004000, // Length
1450 0x00,, _Y08, AddressRangeMemory, TypeStatic)
1451 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1452 0x00000000, // Granularity
1453 0x000E4000, // Range Minimum
1454 0x000E7FFF, // Range Maximum
1455 0x00000000, // Translation Offset
1456 0x00004000, // Length
1457 0x00,, _Y09, AddressRangeMemory, TypeStatic)
1458 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1459 0x00000000, // Granularity
1460 0x000E8000, // Range Minimum
1461 0x000EBFFF, // Range Maximum
1462 0x00000000, // Translation Offset
1463 0x00004000, // Length
1464 0x00,, _Y0A, AddressRangeMemory, TypeStatic)
1465 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1466 0x00000000, // Granularity
1467 0x000EC000, // Range Minimum
1468 0x000EFFFF, // Range Maximum
1469 0x00000000, // Translation Offset
1470 0x00004000, // Length
1471 0x00,, _Y0B, AddressRangeMemory, TypeStatic)
1472 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1473 0x00000000, // Granularity
1474 0x000F0000, // Range Minimum
1475 0x000FFFFF, // Range Maximum
1476 0x00000000, // Translation Offset
1477 0x00010000, // Length
1478 0x00,, _Y0C, AddressRangeMemory, TypeStatic)
1479 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1480 0x00000000, // Granularity
1481 0x00000000, // Range Minimum
1482 0xFEBFFFFF, // Range Maximum
1483 0x00000000, // Translation Offset
1484 0x00000000, // Length
1485 0x00,, _Y0D, AddressRangeMemory, TypeStatic)
1486 })
1487 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
1488 {
1489 If (PM1L)
1490 {
1491 CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN) // _LEN: Length
1492 C0LN = Zero
1493 }
1494
1495 If (PM1L == One)
1496 {
1497 CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW) // _RW_: Read-Write Status
1498 C0RW = Zero
1499 }
1500
1501 If (PM1H)
1502 {
1503 CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN) // _LEN: Length
1504 C4LN = Zero
1505 }
1506
1507 If (PM1H == One)
1508 {
1509 CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW) // _RW_: Read-Write Status
1510 C4RW = Zero
1511 }
1512
1513 If (PM2L)
1514 {
1515 CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN) // _LEN: Length
1516 C8LN = Zero
1517 }
1518
1519 If (PM2L == One)
1520 {
1521 CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW) // _RW_: Read-Write Status
1522 C8RW = Zero
1523 }
1524
1525 If (PM2H)
1526 {
1527 CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN) // _LEN: Length
1528 CCLN = Zero
1529 }
1530
1531 If (PM2H == One)
1532 {
1533 CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW) // _RW_: Read-Write Status
1534 CCRW = Zero
1535 }
1536
1537 If (PM3L)
1538 {
1539 CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN) // _LEN: Length
1540 D0LN = Zero
1541 }
1542
1543 If (PM3L == One)
1544 {
1545 CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW) // _RW_: Read-Write Status
1546 D0RW = Zero
1547 }
1548
1549 If (PM3H)
1550 {
1551 CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN) // _LEN: Length
1552 D4LN = Zero
1553 }
1554
1555 If (PM3H == One)
1556 {
1557 CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW) // _RW_: Read-Write Status
1558 D4RW = Zero
1559 }
1560
1561 If (PM4L)
1562 {
1563 CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN) // _LEN: Length
1564 D8LN = Zero
1565 }
1566
1567 If (PM4L == One)
1568 {
1569 CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW) // _RW_: Read-Write Status
1570 D8RW = Zero
1571 }
1572
1573 If (PM4H)
1574 {
1575 CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN) // _LEN: Length
1576 DCLN = Zero
1577 }
1578
1579 If (PM4H == One)
1580 {
1581 CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW) // _RW_: Read-Write Status
1582 DCRW = Zero
1583 }
1584
1585 If (PM5L)
1586 {
1587 CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN) // _LEN: Length
1588 E0LN = Zero
1589 }
1590
1591 If (PM5L == One)
1592 {
1593 CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW) // _RW_: Read-Write Status
1594 E0RW = Zero
1595 }
1596
1597 If (PM5H)
1598 {
1599 CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN) // _LEN: Length
1600 E4LN = Zero
1601 }
1602
1603 If (PM5H == One)
1604 {
1605 CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW) // _RW_: Read-Write Status
1606 E4RW = Zero
1607 }
1608
1609 If (PM6L)
1610 {
1611 CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN) // _LEN: Length
1612 E8LN = Zero
1613 }
1614
1615 If (PM6L == One)
1616 {
1617 CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW) // _RW_: Read-Write Status
1618 E8RW = Zero
1619 }
1620
1621 If (PM6H)
1622 {
1623 CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN) // _LEN: Length
1624 ECLN = Zero
1625 }
1626
1627 If (PM6H == One)
1628 {
1629 CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW) // _RW_: Read-Write Status
1630 ECRW = Zero
1631 }
1632
1633 If (PM0H)
1634 {
1635 CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN) // _LEN: Length
1636 F0LN = Zero
1637 }
1638
1639 If (PM0H == One)
1640 {
1641 CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW) // _RW_: Read-Write Status
1642 F0RW = Zero
1643 }
1644
1645 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN) // _MIN: Minimum Base Address
1646 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX) // _MAX: Maximum Base Address
1647 CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN) // _LEN: Length
1648 M1MN = (TOUD << 0x1B)
1649 M1LN = ((M1MX - M1MN) + One)
1650 Return (BUF0) /* \_SB_.PCI0.BUF0 */
1651 }
1652
1653 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
1654 {
1655 If (GPIC == Zero)
1656 {
1657 Return (Package (0x0F)
1658 {
1659 Package (0x04)
1660 {
1661 0x0001FFFF,
1662 Zero,
1663 ^LPC.LNKA,
1664 Zero
1665 },
1666
1667 Package (0x04)
1668 {
1669 0x0002FFFF,
1670 Zero,
1671 ^LPC.LNKA,
1672 Zero
1673 },
1674
1675 Package (0x04)
1676 {
1677 0x001BFFFF,
1678 Zero,
1679 ^LPC.LNKG,
1680 Zero
1681 },
1682
1683 Package (0x04)
1684 {
1685 0x001CFFFF,
1686 Zero,
1687 ^LPC.LNKA,
1688 Zero
1689 },
1690
1691 Package (0x04)
1692 {
1693 0x001CFFFF,
1694 One,
1695 ^LPC.LNKB,
1696 Zero
1697 },
1698
1699 Package (0x04)
1700 {
1701 0x001CFFFF,
1702 0x02,
1703 ^LPC.LNKC,
1704 Zero
1705 },
1706
1707 Package (0x04)
1708 {
1709 0x001CFFFF,
1710 0x03,
1711 ^LPC.LNKD,
1712 Zero
1713 },
1714
1715 Package (0x04)
1716 {
1717 0x001DFFFF,
1718 Zero,
1719 ^LPC.LNKA,
1720 Zero
1721 },
1722
1723 Package (0x04)
1724 {
1725 0x001DFFFF,
1726 One,
1727 ^LPC.LNKB,
1728 Zero
1729 },
1730
1731 Package (0x04)
1732 {
1733 0x001DFFFF,
1734 0x02,
1735 ^LPC.LNKC,
1736 Zero
1737 },
1738
1739 Package (0x04)
1740 {
1741 0x001DFFFF,
1742 0x03,
1743 ^LPC.LNKD,
1744 Zero
1745 },
1746
1747 Package (0x04)
1748 {
1749 0x001EFFFF,
1750 Zero,
1751 ^LPC.LNKA,
1752 Zero
1753 },
1754
1755 Package (0x04)
1756 {
1757 0x001EFFFF,
1758 One,
1759 ^LPC.LNKB,
1760 Zero
1761 },
1762
1763 Package (0x04)
1764 {
1765 0x001FFFFF,
1766 Zero,
1767 ^LPC.LNKA,
1768 Zero
1769 },
1770
1771 Package (0x04)
1772 {
1773 0x001FFFFF,
1774 One,
1775 ^LPC.LNKB,
1776 Zero
1777 }
1778 })
1779 }
1780 Else
1781 {
1782 Return (Package (0x0F)
1783 {
1784 Package (0x04)
1785 {
1786 0x0001FFFF,
1787 Zero,
1788 Zero,
1789 0x10
1790 },
1791
1792 Package (0x04)
1793 {
1794 0x0002FFFF,
1795 Zero,
1796 Zero,
1797 0x10
1798 },
1799
1800 Package (0x04)
1801 {
1802 0x001BFFFF,
1803 Zero,
1804 Zero,
1805 0x10
1806 },
1807
1808 Package (0x04)
1809 {
1810 0x001CFFFF,
1811 Zero,
1812 Zero,
1813 0x10
1814 },
1815
1816 Package (0x04)
1817 {
1818 0x001CFFFF,
1819 One,
1820 Zero,
1821 0x11
1822 },
1823
1824 Package (0x04)
1825 {
1826 0x001CFFFF,
1827 0x02,
1828 Zero,
1829 0x12
1830 },
1831
1832 Package (0x04)
1833 {
1834 0x001CFFFF,
1835 0x03,
1836 Zero,
1837 0x13
1838 },
1839
1840 Package (0x04)
1841 {
1842 0x001DFFFF,
1843 Zero,
1844 Zero,
1845 0x10
1846 },
1847
1848 Package (0x04)
1849 {
1850 0x001DFFFF,
1851 One,
1852 Zero,
1853 0x11
1854 },
1855
1856 Package (0x04)
1857 {
1858 0x001DFFFF,
1859 0x02,
1860 Zero,
1861 0x12
1862 },
1863
1864 Package (0x04)
1865 {
1866 0x001DFFFF,
1867 0x03,
1868 Zero,
1869 0x13
1870 },
1871
1872 Package (0x04)
1873 {
1874 0x001EFFFF,
1875 Zero,
1876 Zero,
1877 0x10
1878 },
1879
1880 Package (0x04)
1881 {
1882 0x001EFFFF,
1883 One,
1884 Zero,
1885 0x11
1886 },
1887
1888 Package (0x04)
1889 {
1890 0x001FFFFF,
1891 Zero,
1892 Zero,
1893 0x10
1894 },
1895
1896 Package (0x04)
1897 {
1898 0x001FFFFF,
1899 One,
1900 Zero,
1901 0x11
1902 }
1903 })
1904 }
1905 }
1906
1907 Device (P32)
1908 {
1909 Name (_ADR, 0x001E0000) // _ADR: Address
1910 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1911 {
1912 If (WKPM == One)
1913 {
1914 Return (Package (0x02)
1915 {
1916 0x0B,
1917 0x04
1918 })
1919 }
1920 Else
1921 {
1922 Return (Package (0x02)
1923 {
1924 0x0B,
1925 Zero
1926 })
1927 }
1928 }
1929
1930 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
1931 {
1932 If (GPIC == Zero)
1933 {
1934 Return (Package (0x09)
1935 {
1936 Package (0x04)
1937 {
1938 0x0002FFFF,
1939 Zero,
1940 ^^LPC.LNKC,
1941 Zero
1942 },
1943
1944 Package (0x04)
1945 {
1946 0x0002FFFF,
1947 One,
1948 ^^LPC.LNKD,
1949 Zero
1950 },
1951
1952 Package (0x04)
1953 {
1954 0x0002FFFF,
1955 0x02,
1956 ^^LPC.LNKB,
1957 Zero
1958 },
1959
1960 Package (0x04)
1961 {
1962 0x0002FFFF,
1963 0x03,
1964 ^^LPC.LNKA,
1965 Zero
1966 },
1967
1968 Package (0x04)
1969 {
1970 0x0003FFFF,
1971 Zero,
1972 ^^LPC.LNKD,
1973 Zero
1974 },
1975
1976 Package (0x04)
1977 {
1978 0x0003FFFF,
1979 One,
1980 ^^LPC.LNKC,
1981 Zero
1982 },
1983
1984 Package (0x04)
1985 {
1986 0x0003FFFF,
1987 0x02,
1988 ^^LPC.LNKF,
1989 Zero
1990 },
1991
1992 Package (0x04)
1993 {
1994 0x0003FFFF,
1995 0x03,
1996 ^^LPC.LNKG,
1997 Zero
1998 },
1999
2000 Package (0x04)
2001 {
2002 0x0008FFFF,
2003 Zero,
2004 ^^LPC.LNKE,
2005 Zero
2006 }
2007 })
2008 }
2009 Else
2010 {
2011 Return (Package (0x09)
2012 {
2013 Package (0x04)
2014 {
2015 0x0002FFFF,
2016 Zero,
2017 Zero,
2018 0x12
2019 },
2020
2021 Package (0x04)
2022 {
2023 0x0002FFFF,
2024 One,
2025 Zero,
2026 0x13
2027 },
2028
2029 Package (0x04)
2030 {
2031 0x0002FFFF,
2032 0x02,
2033 Zero,
2034 0x11
2035 },
2036
2037 Package (0x04)
2038 {
2039 0x0002FFFF,
2040 0x03,
2041 Zero,
2042 0x10
2043 },
2044
2045 Package (0x04)
2046 {
2047 0x0003FFFF,
2048 Zero,
2049 Zero,
2050 0x13
2051 },
2052
2053 Package (0x04)
2054 {
2055 0x0003FFFF,
2056 One,
2057 Zero,
2058 0x12
2059 },
2060
2061 Package (0x04)
2062 {
2063 0x0003FFFF,
2064 0x02,
2065 Zero,
2066 0x15
2067 },
2068
2069 Package (0x04)
2070 {
2071 0x0003FFFF,
2072 0x03,
2073 Zero,
2074 0x16
2075 },
2076
2077 Package (0x04)
2078 {
2079 0x0008FFFF,
2080 Zero,
2081 Zero,
2082 0x14
2083 }
2084 })
2085 }
2086 }
2087 }
2088
2089 Device (LPC)
2090 {
2091 Name (_ADR, 0x001F0000) // _ADR: Address
2092 OperationRegion (PRR0, PCI_Config, 0x60, 0x04)
2093 Field (PRR0, AnyAcc, NoLock, Preserve)
2094 {
2095 PIRA, 8,
2096 PIRB, 8,
2097 PIRC, 8,
2098 PIRD, 8
2099 }
2100
2101 OperationRegion (PRR1, PCI_Config, 0x68, 0x04)
2102 Field (PRR1, AnyAcc, NoLock, Preserve)
2103 {
2104 PIRE, 8,
2105 PIRF, 8,
2106 PIRG, 8,
2107 PIRH, 8
2108 }
2109
2110 OperationRegion (PRR2, PCI_Config, 0x80, 0x02)
2111 Field (PRR2, AnyAcc, NoLock, Preserve)
2112 {
2113 IODL, 8,
2114 IODH, 8
2115 }
2116
2117 OperationRegion (BRKE, PCI_Config, 0xAA, 0x02)
2118 Field (BRKE, AnyAcc, NoLock, Preserve)
2119 {
2120 S4TM, 8,
2121 PCEE, 8
2122 }
2123
2124 Device (LNKA)
2125 {
2126 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2127 Name (_UID, One) // _UID: Unique ID
2128 Method (_STA, 0, NotSerialized) // _STA: Status
2129 {
2130 If (PIRA & 0x80)
2131 {
2132 Return (0x09)
2133 }
2134 Else
2135 {
2136 Return (0x0B)
2137 }
2138 }
2139
2140 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2141 {
2142 PIRA |= 0x80
2143 }
2144
2145 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2146 {
2147 Name (BUF0, ResourceTemplate ()
2148 {
2149 IRQ (Level, ActiveLow, Shared, )
2150 {0}
2151 })
2152 CreateWordField (BUF0, One, IRQW)
2153 If (PIRA & 0x80)
2154 {
2155 Local0 = Zero
2156 }
2157 Else
2158 {
2159 Local0 = One
2160 }
2161
2162 IRQW = (Local0 << (PIRA & 0x0F))
2163 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKA._CRS.BUF0 */
2164 }
2165
2166 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2167 {
2168 IRQ (Level, ActiveLow, Shared, )
2169 {3,4,5,7,9,10,11,12}
2170 })
2171 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2172 {
2173 CreateWordField (Arg0, One, IRQW)
2174 FindSetRightBit (IRQW, Local0)
2175 If (IRQW != Zero)
2176 {
2177 Local0 &= 0x7F
2178 Local0--
2179 }
2180 Else
2181 {
2182 Local0 |= 0x80
2183 }
2184
2185 PIRA = Local0
2186 }
2187 }
2188
2189 Device (LNKB)
2190 {
2191 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2192 Name (_UID, 0x02) // _UID: Unique ID
2193 Method (_STA, 0, NotSerialized) // _STA: Status
2194 {
2195 If (PIRB & 0x80)
2196 {
2197 Return (0x09)
2198 }
2199 Else
2200 {
2201 Return (0x0B)
2202 }
2203 }
2204
2205 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2206 {
2207 PIRB |= 0x80
2208 }
2209
2210 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2211 {
2212 Name (BUF0, ResourceTemplate ()
2213 {
2214 IRQ (Level, ActiveLow, Shared, )
2215 {0}
2216 })
2217 CreateWordField (BUF0, One, IRQW)
2218 If (PIRB & 0x80)
2219 {
2220 Local0 = Zero
2221 }
2222 Else
2223 {
2224 Local0 = One
2225 }
2226
2227 IRQW = (Local0 << (PIRB & 0x0F))
2228 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKB._CRS.BUF0 */
2229 }
2230
2231 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2232 {
2233 IRQ (Level, ActiveLow, Shared, )
2234 {3,4,5,7,9,10,11,12}
2235 })
2236 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2237 {
2238 CreateWordField (Arg0, One, IRQW)
2239 FindSetRightBit (IRQW, Local0)
2240 If (IRQW != Zero)
2241 {
2242 Local0 &= 0x7F
2243 Local0--
2244 }
2245 Else
2246 {
2247 Local0 |= 0x80
2248 }
2249
2250 PIRB = Local0
2251 }
2252 }
2253
2254 Device (LNKC)
2255 {
2256 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2257 Name (_UID, 0x03) // _UID: Unique ID
2258 Method (_STA, 0, NotSerialized) // _STA: Status
2259 {
2260 If (PIRC & 0x80)
2261 {
2262 Return (0x09)
2263 }
2264 Else
2265 {
2266 Return (0x0B)
2267 }
2268 }
2269
2270 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2271 {
2272 PIRC |= 0x80
2273 }
2274
2275 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2276 {
2277 Name (BUF0, ResourceTemplate ()
2278 {
2279 IRQ (Level, ActiveLow, Shared, )
2280 {0}
2281 })
2282 CreateWordField (BUF0, One, IRQW)
2283 If (PIRC & 0x80)
2284 {
2285 Local0 = Zero
2286 }
2287 Else
2288 {
2289 Local0 = One
2290 }
2291
2292 IRQW = (Local0 << (PIRC & 0x0F))
2293 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKC._CRS.BUF0 */
2294 }
2295
2296 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2297 {
2298 IRQ (Level, ActiveLow, Shared, )
2299 {3,4,5,7,9,10,11,12}
2300 })
2301 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2302 {
2303 CreateWordField (Arg0, One, IRQW)
2304 FindSetRightBit (IRQW, Local0)
2305 If (IRQW != Zero)
2306 {
2307 Local0 &= 0x7F
2308 Local0--
2309 }
2310 Else
2311 {
2312 Local0 |= 0x80
2313 }
2314
2315 PIRC = Local0
2316 }
2317 }
2318
2319 Device (LNKD)
2320 {
2321 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2322 Name (_UID, 0x04) // _UID: Unique ID
2323 Method (_STA, 0, NotSerialized) // _STA: Status
2324 {
2325 If (PIRD & 0x80)
2326 {
2327 Return (0x09)
2328 }
2329 Else
2330 {
2331 Return (0x0B)
2332 }
2333 }
2334
2335 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2336 {
2337 PIRD |= 0x80
2338 }
2339
2340 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2341 {
2342 Name (BUF0, ResourceTemplate ()
2343 {
2344 IRQ (Level, ActiveLow, Shared, )
2345 {0}
2346 })
2347 CreateWordField (BUF0, One, IRQW)
2348 If (PIRD & 0x80)
2349 {
2350 Local0 = Zero
2351 }
2352 Else
2353 {
2354 Local0 = One
2355 }
2356
2357 IRQW = (Local0 << (PIRD & 0x0F))
2358 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKD._CRS.BUF0 */
2359 }
2360
2361 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2362 {
2363 IRQ (Level, ActiveLow, Shared, )
2364 {3,4,5,7,9,10,11,12}
2365 })
2366 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2367 {
2368 CreateWordField (Arg0, One, IRQW)
2369 FindSetRightBit (IRQW, Local0)
2370 If (IRQW != Zero)
2371 {
2372 Local0 &= 0x7F
2373 Local0--
2374 }
2375 Else
2376 {
2377 Local0 |= 0x80
2378 }
2379
2380 PIRD = Local0
2381 }
2382 }
2383
2384 Device (LNKE)
2385 {
2386 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2387 Name (_UID, 0x05) // _UID: Unique ID
2388 Method (_STA, 0, NotSerialized) // _STA: Status
2389 {
2390 If (PIRE & 0x80)
2391 {
2392 Return (0x09)
2393 }
2394 Else
2395 {
2396 Return (0x0B)
2397 }
2398 }
2399
2400 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2401 {
2402 PIRE |= 0x80
2403 }
2404
2405 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2406 {
2407 Name (BUF0, ResourceTemplate ()
2408 {
2409 IRQ (Level, ActiveLow, Shared, )
2410 {0}
2411 })
2412 CreateWordField (BUF0, One, IRQW)
2413 If (PIRE & 0x80)
2414 {
2415 Local0 = Zero
2416 }
2417 Else
2418 {
2419 Local0 = One
2420 }
2421
2422 IRQW = (Local0 << (PIRE & 0x0F))
2423 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKE._CRS.BUF0 */
2424 }
2425
2426 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2427 {
2428 IRQ (Level, ActiveLow, Shared, )
2429 {3,4,5,7,9,10,11,12}
2430 })
2431 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2432 {
2433 CreateWordField (Arg0, One, IRQW)
2434 FindSetRightBit (IRQW, Local0)
2435 If (IRQW != Zero)
2436 {
2437 Local0 &= 0x7F
2438 Local0--
2439 }
2440 Else
2441 {
2442 Local0 |= 0x80
2443 }
2444
2445 PIRE = Local0
2446 }
2447 }
2448
2449 Device (LNKF)
2450 {
2451 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2452 Name (_UID, 0x06) // _UID: Unique ID
2453 Method (_STA, 0, NotSerialized) // _STA: Status
2454 {
2455 If (PIRF & 0x80)
2456 {
2457 Return (0x09)
2458 }
2459 Else
2460 {
2461 Return (0x0B)
2462 }
2463 }
2464
2465 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2466 {
2467 PIRF |= 0x80
2468 }
2469
2470 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2471 {
2472 Name (BUF0, ResourceTemplate ()
2473 {
2474 IRQ (Level, ActiveLow, Shared, )
2475 {0}
2476 })
2477 CreateWordField (BUF0, One, IRQW)
2478 If (PIRF & 0x80)
2479 {
2480 Local0 = Zero
2481 }
2482 Else
2483 {
2484 Local0 = One
2485 }
2486
2487 IRQW = (Local0 << (PIRF & 0x0F))
2488 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKF._CRS.BUF0 */
2489 }
2490
2491 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2492 {
2493 IRQ (Level, ActiveLow, Shared, )
2494 {3,4,5,7,9,10,11,12}
2495 })
2496 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2497 {
2498 CreateWordField (Arg0, One, IRQW)
2499 FindSetRightBit (IRQW, Local0)
2500 If (IRQW != Zero)
2501 {
2502 Local0 &= 0x7F
2503 Local0--
2504 }
2505 Else
2506 {
2507 Local0 |= 0x80
2508 }
2509
2510 PIRF = Local0
2511 }
2512 }
2513
2514 Device (LNKG)
2515 {
2516 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2517 Name (_UID, 0x07) // _UID: Unique ID
2518 Method (_STA, 0, NotSerialized) // _STA: Status
2519 {
2520 If (PIRG & 0x80)
2521 {
2522 Return (0x09)
2523 }
2524 Else
2525 {
2526 Return (0x0B)
2527 }
2528 }
2529
2530 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2531 {
2532 PIRG |= 0x80
2533 }
2534
2535 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2536 {
2537 Name (BUF0, ResourceTemplate ()
2538 {
2539 IRQ (Level, ActiveLow, Shared, )
2540 {0}
2541 })
2542 CreateWordField (BUF0, One, IRQW)
2543 If (PIRG & 0x80)
2544 {
2545 Local0 = Zero
2546 }
2547 Else
2548 {
2549 Local0 = One
2550 }
2551
2552 IRQW = (Local0 << (PIRG & 0x0F))
2553 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKG._CRS.BUF0 */
2554 }
2555
2556 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2557 {
2558 IRQ (Level, ActiveLow, Shared, )
2559 {3,4,5,7,9,10,11,12}
2560 })
2561 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2562 {
2563 CreateWordField (Arg0, One, IRQW)
2564 FindSetRightBit (IRQW, Local0)
2565 If (IRQW != Zero)
2566 {
2567 Local0 &= 0x7F
2568 Local0--
2569 }
2570 Else
2571 {
2572 Local0 |= 0x80
2573 }
2574
2575 PIRG = Local0
2576 }
2577 }
2578
2579 Device (LNKH)
2580 {
2581 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2582 Name (_UID, 0x08) // _UID: Unique ID
2583 Method (_STA, 0, NotSerialized) // _STA: Status
2584 {
2585 If (PIRH & 0x80)
2586 {
2587 Return (0x09)
2588 }
2589 Else
2590 {
2591 Return (0x0B)
2592 }
2593 }
2594
2595 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
2596 {
2597 PIRH |= 0x80
2598 }
2599
2600 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
2601 {
2602 Name (BUF0, ResourceTemplate ()
2603 {
2604 IRQ (Level, ActiveLow, Shared, )
2605 {0}
2606 })
2607 CreateWordField (BUF0, One, IRQW)
2608 If (PIRH & 0x80)
2609 {
2610 Local0 = Zero
2611 }
2612 Else
2613 {
2614 Local0 = One
2615 }
2616
2617 IRQW = (Local0 << (PIRH & 0x0F))
2618 Return (BUF0) /* \_SB_.PCI0.LPC_.LNKH._CRS.BUF0 */
2619 }
2620
2621 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2622 {
2623 IRQ (Level, ActiveLow, Shared, )
2624 {3,4,5,7,9,10,11,12}
2625 })
2626 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
2627 {
2628 CreateWordField (Arg0, One, IRQW)
2629 FindSetRightBit (IRQW, Local0)
2630 If (IRQW != Zero)
2631 {
2632 Local0 &= 0x7F
2633 Local0--
2634 }
2635 Else
2636 {
2637 Local0 |= 0x80
2638 }
2639
2640 PIRH = Local0
2641 }
2642 }
2643
2644 Device (SYSR)
2645 {
2646 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
2647 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2648 {
2649 IO (Decode16,
2650 0x002E, // Range Minimum
2651 0x002E, // Range Maximum
2652 0x01, // Alignment
2653 0x02, // Length
2654 )
2655 IO (Decode16,
2656 0x0068, // Range Minimum
2657 0x0068, // Range Maximum
2658 0x01, // Alignment
2659 0x08, // Length
2660 )
2661 IO (Decode16,
2662 0x0200, // Range Minimum
2663 0x0200, // Range Maximum
2664 0x01, // Alignment
2665 0x10, // Length
2666 )
2667 IO (Decode16,
2668 0x164E, // Range Minimum
2669 0x164E, // Range Maximum
2670 0x01, // Alignment
2671 0x02, // Length
2672 )
2673 IO (Decode16,
2674 0x0061, // Range Minimum
2675 0x0061, // Range Maximum
2676 0x01, // Alignment
2677 0x01, // Length
2678 )
2679 IO (Decode16,
2680 0x0070, // Range Minimum
2681 0x0070, // Range Maximum
2682 0x01, // Alignment
2683 0x01, // Length
2684 )
2685 IO (Decode16,
2686 0x0080, // Range Minimum
2687 0x0080, // Range Maximum
2688 0x01, // Alignment
2689 0x01, // Length
2690 )
2691 IO (Decode16,
2692 0x0092, // Range Minimum
2693 0x0092, // Range Maximum
2694 0x01, // Alignment
2695 0x01, // Length
2696 )
2697 IO (Decode16,
2698 0x00B2, // Range Minimum
2699 0x00B2, // Range Maximum
2700 0x01, // Alignment
2701 0x02, // Length
2702 )
2703 IO (Decode16,
2704 0x0063, // Range Minimum
2705 0x0063, // Range Maximum
2706 0x01, // Alignment
2707 0x01, // Length
2708 )
2709 IO (Decode16,
2710 0x0065, // Range Minimum
2711 0x0065, // Range Maximum
2712 0x01, // Alignment
2713 0x01, // Length
2714 )
2715 IO (Decode16,
2716 0x0067, // Range Minimum
2717 0x0067, // Range Maximum
2718 0x01, // Alignment
2719 0x01, // Length
2720 )
2721 IO (Decode16,
2722 0x0600, // Range Minimum
2723 0x0600, // Range Maximum
2724 0x01, // Alignment
2725 0x10, // Length
2726 )
2727 IO (Decode16,
2728 0x0610, // Range Minimum
2729 0x0610, // Range Maximum
2730 0x01, // Alignment
2731 0x01, // Length
2732 )
2733 IO (Decode16,
2734 0x0800, // Range Minimum
2735 0x0800, // Range Maximum
2736 0x01, // Alignment
2737 0x10, // Length
2738 )
2739 IO (Decode16,
2740 0x0400, // Range Minimum
2741 0x0400, // Range Maximum
2742 0x01, // Alignment
2743 0x80, // Length
2744 )
2745 IO (Decode16,
2746 0x0500, // Range Minimum
2747 0x0500, // Range Maximum
2748 0x01, // Alignment
2749 0x40, // Length
2750 )
2751 Memory32Fixed (ReadWrite,
2752 0xE0000000, // Address Base
2753 0x10000000, // Address Length
2754 )
2755 Memory32Fixed (ReadWrite,
2756 0xFED1C000, // Address Base
2757 0x00004000, // Address Length
2758 )
2759 Memory32Fixed (ReadWrite,
2760 0xFED14000, // Address Base
2761 0x00004000, // Address Length
2762 )
2763 Memory32Fixed (ReadWrite,
2764 0xFED18000, // Address Base
2765 0x00001000, // Address Length
2766 )
2767 Memory32Fixed (ReadWrite,
2768 0xFED19000, // Address Base
2769 0x00001000, // Address Length
2770 )
2771 Memory32Fixed (ReadWrite,
2772 0xFEC00000, // Address Base
2773 0x00001000, // Address Length
2774 )
2775 Memory32Fixed (ReadWrite,
2776 0xFEE00000, // Address Base
2777 0x00001000, // Address Length
2778 )
2779 })
2780 }
2781
2782 Device (DMAC)
2783 {
2784 Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
2785 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2786 {
2787 IO (Decode16,
2788 0x0000, // Range Minimum
2789 0x0000, // Range Maximum
2790 0x01, // Alignment
2791 0x20, // Length
2792 )
2793 IO (Decode16,
2794 0x0081, // Range Minimum
2795 0x0081, // Range Maximum
2796 0x01, // Alignment
2797 0x11, // Length
2798 )
2799 IO (Decode16,
2800 0x0093, // Range Minimum
2801 0x0093, // Range Maximum
2802 0x01, // Alignment
2803 0x0D, // Length
2804 )
2805 IO (Decode16,
2806 0x00C0, // Range Minimum
2807 0x00C0, // Range Maximum
2808 0x01, // Alignment
2809 0x20, // Length
2810 )
2811 DMA (Compatibility, NotBusMaster, Transfer8_16, )
2812 {4}
2813 })
2814 }
2815
2816 Device (RTC)
2817 {
2818 Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
2819 Name (BUF0, ResourceTemplate ()
2820 {
2821 IO (Decode16,
2822 0x0070, // Range Minimum
2823 0x0070, // Range Maximum
2824 0x01, // Alignment
2825 0x08, // Length
2826 )
2827 })
2828 Name (BUF1, ResourceTemplate ()
2829 {
2830 IO (Decode16,
2831 0x0070, // Range Minimum
2832 0x0070, // Range Maximum
2833 0x01, // Alignment
2834 0x08, // Length
2835 )
2836 IRQNoFlags ()
2837 {8}
2838 })
2839 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2840 {
2841 If (HPTS == One)
2842 {
2843 Return (BUF0) /* \_SB_.PCI0.LPC_.RTC_.BUF0 */
2844 }
2845 Else
2846 {
2847 Return (BUF1) /* \_SB_.PCI0.LPC_.RTC_.BUF1 */
2848 }
2849 }
2850 }
2851
2852 Device (HPET)
2853 {
2854 Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
2855 Name (BUF0, ResourceTemplate ()
2856 {
2857 IRQNoFlags ()
2858 {0}
2859 IRQNoFlags ()
2860 {8}
2861 Memory32Fixed (ReadOnly,
2862 0xFED00000, // Address Base
2863 0x00000400, // Address Length
2864 _Y0E)
2865 })
2866 Method (_STA, 0, NotSerialized) // _STA: Status
2867 {
2868 If (OSYS >= 0x07D1)
2869 {
2870 If (HPTS == One)
2871 {
2872 Return (0x0F)
2873 }
2874 Else
2875 {
2876 Return (Zero)
2877 }
2878 }
2879 ElseIf (HPTS)
2880 {
2881 Return (0x0B)
2882 }
2883 Else
2884 {
2885 Return (Zero)
2886 }
2887 }
2888
2889 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2890 {
2891 If (HPTS == One)
2892 {
2893 CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y0E._BAS, HPT0) // _BAS: Base Address
2894 If (HPTA == One)
2895 {
2896 HPT0 = 0xFED01000
2897 }
2898
2899 If (HPTA == 0x02)
2900 {
2901 HPT0 = 0xFED02000
2902 }
2903
2904 If (HPTA == 0x03)
2905 {
2906 HPT0 = 0xFED03000
2907 }
2908 }
2909
2910 Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
2911 }
2912 }
2913
2914 Device (PIC)
2915 {
2916 Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
2917 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2918 {
2919 IO (Decode16,
2920 0x0020, // Range Minimum
2921 0x0020, // Range Maximum
2922 0x01, // Alignment
2923 0x02, // Length
2924 )
2925 IO (Decode16,
2926 0x0024, // Range Minimum
2927 0x0024, // Range Maximum
2928 0x01, // Alignment
2929 0x02, // Length
2930 )
2931 IO (Decode16,
2932 0x0028, // Range Minimum
2933 0x0028, // Range Maximum
2934 0x01, // Alignment
2935 0x02, // Length
2936 )
2937 IO (Decode16,
2938 0x002C, // Range Minimum
2939 0x002C, // Range Maximum
2940 0x01, // Alignment
2941 0x02, // Length
2942 )
2943 IO (Decode16,
2944 0x0030, // Range Minimum
2945 0x0030, // Range Maximum
2946 0x01, // Alignment
2947 0x02, // Length
2948 )
2949 IO (Decode16,
2950 0x0034, // Range Minimum
2951 0x0034, // Range Maximum
2952 0x01, // Alignment
2953 0x02, // Length
2954 )
2955 IO (Decode16,
2956 0x0038, // Range Minimum
2957 0x0038, // Range Maximum
2958 0x01, // Alignment
2959 0x02, // Length
2960 )
2961 IO (Decode16,
2962 0x003C, // Range Minimum
2963 0x003C, // Range Maximum
2964 0x01, // Alignment
2965 0x02, // Length
2966 )
2967 IO (Decode16,
2968 0x00A0, // Range Minimum
2969 0x00A0, // Range Maximum
2970 0x01, // Alignment
2971 0x02, // Length
2972 )
2973 IO (Decode16,
2974 0x00A4, // Range Minimum
2975 0x00A4, // Range Maximum
2976 0x01, // Alignment
2977 0x02, // Length
2978 )
2979 IO (Decode16,
2980 0x00A8, // Range Minimum
2981 0x00A8, // Range Maximum
2982 0x01, // Alignment
2983 0x02, // Length
2984 )
2985 IO (Decode16,
2986 0x00AC, // Range Minimum
2987 0x00AC, // Range Maximum
2988 0x01, // Alignment
2989 0x02, // Length
2990 )
2991 IO (Decode16,
2992 0x00B0, // Range Minimum
2993 0x00B0, // Range Maximum
2994 0x01, // Alignment
2995 0x02, // Length
2996 )
2997 IO (Decode16,
2998 0x00B4, // Range Minimum
2999 0x00B4, // Range Maximum
3000 0x01, // Alignment
3001 0x02, // Length
3002 )
3003 IO (Decode16,
3004 0x00B8, // Range Minimum
3005 0x00B8, // Range Maximum
3006 0x01, // Alignment
3007 0x02, // Length
3008 )
3009 IO (Decode16,
3010 0x00BC, // Range Minimum
3011 0x00BC, // Range Maximum
3012 0x01, // Alignment
3013 0x02, // Length
3014 )
3015 IO (Decode16,
3016 0x04D0, // Range Minimum
3017 0x04D0, // Range Maximum
3018 0x01, // Alignment
3019 0x02, // Length
3020 )
3021 IRQNoFlags ()
3022 {2}
3023 })
3024 }
3025
3026 Device (FPU)
3027 {
3028 Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
3029 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3030 {
3031 IO (Decode16,
3032 0x00F0, // Range Minimum
3033 0x00F0, // Range Maximum
3034 0x01, // Alignment
3035 0x01, // Length
3036 )
3037 IRQNoFlags ()
3038 {13}
3039 })
3040 }
3041
3042 Device (TIMR)
3043 {
3044 Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
3045 Name (BUF0, ResourceTemplate ()
3046 {
3047 IO (Decode16,
3048 0x0040, // Range Minimum
3049 0x0040, // Range Maximum
3050 0x01, // Alignment
3051 0x04, // Length
3052 )
3053 IO (Decode16,
3054 0x0050, // Range Minimum
3055 0x0050, // Range Maximum
3056 0x10, // Alignment
3057 0x04, // Length
3058 )
3059 })
3060 Name (BUF1, ResourceTemplate ()
3061 {
3062 IO (Decode16,
3063 0x0040, // Range Minimum
3064 0x0040, // Range Maximum
3065 0x01, // Alignment
3066 0x04, // Length
3067 )
3068 IO (Decode16,
3069 0x0050, // Range Minimum
3070 0x0050, // Range Maximum
3071 0x10, // Alignment
3072 0x04, // Length
3073 )
3074 IRQNoFlags ()
3075 {0}
3076 })
3077 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
3078 {
3079 If (HPTS)
3080 {
3081 Return (BUF0) /* \_SB_.PCI0.LPC_.TIMR.BUF0 */
3082 }
3083
3084 Return (BUF1) /* \_SB_.PCI0.LPC_.TIMR.BUF1 */
3085 }
3086 }
3087
3088 Device (FWHD)
3089 {
3090 Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID
3091 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3092 {
3093 Memory32Fixed (ReadOnly,
3094 0xFF800000, // Address Base
3095 0x00800000, // Address Length
3096 )
3097 })
3098 }
3099
3100 Device (KBC)
3101 {
3102 Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID
3103 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3104 {
3105 IO (Decode16,
3106 0x0060, // Range Minimum
3107 0x0060, // Range Maximum
3108 0x01, // Alignment
3109 0x01, // Length
3110 )
3111 IO (Decode16,
3112 0x0064, // Range Minimum
3113 0x0064, // Range Maximum
3114 0x01, // Alignment
3115 0x01, // Length
3116 )
3117 IRQ (Edge, ActiveHigh, Exclusive, )
3118 {1}
3119 })
3120 Method (_STA, 0, NotSerialized) // _STA: Status
3121 {
3122 Return (0x0F)
3123 }
3124 }
3125
3126 Device (MOUE)
3127 {
3128 Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID
3129 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3130 {
3131 IRQ (Edge, ActiveHigh, Exclusive, )
3132 {12}
3133 })
3134 Method (_STA, 0, NotSerialized) // _STA: Status
3135 {
3136 Return (0x0F)
3137 }
3138 }
3139
3140 Device (EC0)
3141 {
3142 Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
3143 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3144 {
3145 IO (Decode16,
3146 0x0062, // Range Minimum
3147 0x0062, // Range Maximum
3148 0x00, // Alignment
3149 0x01, // Length
3150 )
3151 IO (Decode16,
3152 0x0066, // Range Minimum
3153 0x0066, // Range Maximum
3154 0x00, // Alignment
3155 0x01, // Length
3156 )
3157 })
3158 Name (_GPE, 0x17) // _GPE: General Purpose Events
3159 Name (SEL0, 0xF0)
3160 Name (BFLG, Zero)
3161 Method (_REG, 2, NotSerialized) // _REG: Region Availability
3162 {
3163 P80H = 0x17
3164 If (Arg0 == 0x03)
3165 {
3166 Local0 = Arg1
3167 If (Local0)
3168 {
3169 ECON = One
3170 }
3171 Else
3172 {
3173 ECON = Zero
3174 }
3175 }
3176
3177 If (ECON)
3178 {
3179 P80H = 0x18
3180 RG59 = 0x03
3181 CPLE = One
3182 }
3183 }
3184
3185 OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
3186 Field (ERAM, ByteAcc, NoLock, Preserve)
3187 {
3188 Offset (0x04),
3189 CMCM, 8,
3190 CMD1, 8,
3191 CMD2, 8,
3192 CMD3, 8,
3193 Offset (0x18),
3194 SMPR, 8,
3195 SMST, 8,
3196 SMAD, 8,
3197 SMCM, 8,
3198 SMD0, 256,
3199 BCNT, 8,
3200 SMAA, 8,
3201 BATD, 16,
3202 ACDF, 1,
3203 Offset (0x41),
3204 , 5,
3205 FLS4, 1,
3206 Offset (0x42),
3207 Offset (0x4C),
3208 ARCD, 1,
3209 , 3,
3210 DOCK, 1,
3211 LANC, 1,
3212 LID2, 1,
3213 CRTS, 1,
3214 Offset (0x51),
3215 BLVL, 8,
3216 Offset (0x53),
3217 DOFF, 8,
3218 Offset (0x58),
3219 CTMP, 8,
3220 RG59, 8,
3221 Offset (0x60),
3222 WLAN, 1,
3223 BLTH, 1,
3224 CPLE, 1,
3225 , 3,
3226 WLST, 1,
3227 BLTS, 1,
3228 , 2,
3229 ST3G, 1,
3230 MNST, 1,
3231 , 1,
3232 ED3G, 1,
3233 , 3,
3234 Offset (0x63),
3235 TJ85, 1,
3236 , 6,
3237 VGAF, 1,
3238 Offset (0x70),
3239 BTMD, 8,
3240 MBTS, 1,
3241 MBTF, 1,
3242 BATF, 1,
3243 , 3,
3244 MBDX, 1,
3245 MBAD, 1,
3246 MBTC, 1,
3247 , 2,
3248 LION, 1,
3249 Offset (0x77),
3250 BA1C, 8,
3251 MCYC, 16,
3252 MTMP, 16,
3253 MDAT, 16,
3254 MCUR, 16,
3255 MBRM, 16,
3256 MBVG, 16,
3257 MRTF, 16,
3258 MMER, 8,
3259 BA2C, 8,
3260 LFC2, 16,
3261 BTSN, 16,
3262 BTDC, 16,
3263 BTDV, 16,
3264 BTMN, 8,
3265 Offset (0x93),
3266 BTST, 8,
3267 Offset (0x9D),
3268 OSTP, 1,
3269 Offset (0xA0),
3270 ABMD, 8,
3271 ABTS, 1,
3272 ABFC, 1,
3273 , 4,
3274 ABDX, 1,
3275 ABAD, 1,
3276 ABCG, 1,
3277 , 2,
3278 ABTP, 1,
3279 Offset (0xA8),
3280 ACYC, 16,
3281 ATMP, 16,
3282 ADAT, 16,
3283 ABCR, 16,
3284 ABRM, 16,
3285 ABVG, 16,
3286 ARTF, 16,
3287 AMER, 8,
3288 Offset (0xB8),
3289 AFCC, 16,
3290 ABSN, 16,
3291 ABDC, 16,
3292 ABDV, 16,
3293 ABMN, 8,
3294 Offset (0xD0),
3295 EBPL, 1,
3296 Offset (0xD1),
3297 PWRE, 1,
3298 Offset (0xD2),
3299 , 6,
3300 VAUX, 1,
3301 Offset (0xD6),
3302 DBPL, 8,
3303 Offset (0xE0),
3304 DESP, 8,
3305 DTS3, 8,
3306 DE0L, 8,
3307 DE0H, 8,
3308 DE1L, 8,
3309 DE1H, 8,
3310 DE2L, 8,
3311 DE2H, 8,
3312 DE3L, 8,
3313 DE3H, 8,
3314 DE4L, 8,
3315 DE4H, 8
3316 }
3317
3318 Method (APOL, 1, NotSerialized)
3319 {
3320 P80H = 0x19
3321 DBPL = Arg0
3322 EBPL = One
3323 }
3324
3325 Method (CPOL, 1, NotSerialized)
3326 {
3327 P80H = 0x1A
3328 If (PSTA == Zero)
3329 {
3330 If (ECON != Zero)
3331 {
3332 APOL (Arg0)
3333 PSTA = One
3334 }
3335 }
3336 }
3337
3338 Method (_Q20, 0, NotSerialized) // _Qxx: EC Query
3339 {
3340 P80H = 0x20
3341 If (ECON)
3342 {
3343 If (SMST & 0x40)
3344 {
3345 Local0 = SMAA /* \_SB_.PCI0.LPC_.EC0_.SMAA */
3346 If (Local0 == 0x14)
3347 {
3348 SMST &= 0xBF
3349 Local1 = PWRE /* \_SB_.PCI0.LPC_.EC0_.PWRE */
3350 If (Local1)
3351 {
3352 PWRE = Zero
3353 BFLG = 0x12
3354 CPOL (One)
3355 }
3356 }
3357
3358 If (Local0 == 0x16)
3359 {
3360 SMST &= 0xBF
3361 ^^^^BAT1.BCRI = 0x04
3362 Notify (BAT1, 0x80) // Status Change
3363 }
3364 Else
3365 {
3366 ^^^^BAT1.BCRI = Zero
3367 }
3368 }
3369 }
3370 }
3371
3372 Method (_Q09, 0, NotSerialized) // _Qxx: EC Query
3373 {
3374 P80H = 0x09
3375 If (ECON)
3376 {
3377 P80H = 0x1B
3378 PSTA = Zero
3379 ^^^^BAT1.BATS ()
3380 Notify (ACAD, 0x80) // Status Change
3381 Sleep (0x01F4)
3382 Notify (BAT1, 0x80) // Status Change
3383 If (^^^^BAT1.BTCH)
3384 {
3385 P80H = 0x1C
3386 ^^^^BAT1.UBIF ()
3387 Notify (BAT1, 0x81) // Information Change
3388 ^^^^BAT1.BTCH = Zero
3389 }
3390 }
3391 }
3392
3393 Method (_Q9B, 0, NotSerialized) // _Qxx: EC Query
3394 {
3395 P80H = 0x9B
3396 Sleep (0x32)
3397 Notify (LID0, 0x80) // Status Change
3398 }
3399 }
3400 }
3401
3402 Device (UHC1)
3403 {
3404 Name (_ADR, 0x001D0000) // _ADR: Address
3405 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3406 {
3407 0x03,
3408 0x03
3409 })
3410 OperationRegion (USBR, PCI_Config, 0xC4, One)
3411 Field (USBR, AnyAcc, NoLock, Preserve)
3412 {
3413 URES, 8
3414 }
3415
3416 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3417 {
3418 If (Arg0 == Zero)
3419 {
3420 URES = Zero
3421 }
3422
3423 If (Arg0 == One)
3424 {
3425 URES = 0x03
3426 }
3427 }
3428 }
3429
3430 Device (UHC2)
3431 {
3432 Name (_ADR, 0x001D0001) // _ADR: Address
3433 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3434 {
3435 0x04,
3436 0x03
3437 })
3438 OperationRegion (USBR, PCI_Config, 0xC4, One)
3439 Field (USBR, AnyAcc, NoLock, Preserve)
3440 {
3441 URES, 8
3442 }
3443
3444 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3445 {
3446 If (Arg0 == Zero)
3447 {
3448 URES = Zero
3449 }
3450
3451 If (Arg0 == One)
3452 {
3453 URES = 0x03
3454 }
3455 }
3456 }
3457
3458 Device (UHC3)
3459 {
3460 Name (_ADR, 0x001D0002) // _ADR: Address
3461 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3462 {
3463 0x0C,
3464 0x03
3465 })
3466 OperationRegion (USBR, PCI_Config, 0xC4, One)
3467 Field (USBR, AnyAcc, NoLock, Preserve)
3468 {
3469 URES, 8
3470 }
3471
3472 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3473 {
3474 If (Arg0 == Zero)
3475 {
3476 URES = Zero
3477 }
3478
3479 If (Arg0 == One)
3480 {
3481 URES = 0x03
3482 }
3483 }
3484 }
3485
3486 Device (UHC4)
3487 {
3488 Name (_ADR, 0x001D0003) // _ADR: Address
3489 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3490 {
3491 0x0E,
3492 0x03
3493 })
3494 OperationRegion (USBR, PCI_Config, 0xC4, One)
3495 Field (USBR, AnyAcc, NoLock, Preserve)
3496 {
3497 URES, 8
3498 }
3499
3500 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3501 {
3502 If (Arg0 == Zero)
3503 {
3504 URES = Zero
3505 }
3506
3507 If (Arg0 == One)
3508 {
3509 URES = 0x03
3510 }
3511 }
3512 }
3513
3514 Device (ECHI)
3515 {
3516 Name (_ADR, 0x001D0007) // _ADR: Address
3517 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3518 {
3519 0x0D,
3520 0x03
3521 })
3522 OperationRegion (USBR, PCI_Config, 0xC4, One)
3523 Field (USBR, AnyAcc, NoLock, Preserve)
3524 {
3525 URES, 8
3526 }
3527
3528 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3529 {
3530 If (Arg0 == Zero)
3531 {
3532 URES = Zero
3533 }
3534
3535 If (Arg0 == One)
3536 {
3537 URES = 0x03
3538 }
3539 }
3540 }
3541
3542 Device (EXP1)
3543 {
3544 Name (_ADR, 0x001C0000) // _ADR: Address
3545 OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)
3546 Field (P1CS, AnyAcc, NoLock, Preserve)
3547 {
3548 Offset (0x10),
3549 , 4,
3550 LKD1, 1,
3551 Offset (0x1A),
3552 ABP1, 1,
3553 , 2,
3554 PDC1, 1,
3555 , 2,
3556 PDS1, 1,
3557 Offset (0x20),
3558 RID1, 16,
3559 PSP1, 1,
3560 PPP1, 1,
3561 Offset (0x9C),
3562 , 30,
3563 HPCS, 1,
3564 PMCS, 1
3565 }
3566
3567 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3568 {
3569 0x09,
3570 0x04
3571 })
3572 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
3573 {
3574 If (GPIC == Zero)
3575 {
3576 Return (Package (0x04)
3577 {
3578 Package (0x04)
3579 {
3580 0xFFFF,
3581 Zero,
3582 ^^LPC.LNKA,
3583 Zero
3584 },
3585
3586 Package (0x04)
3587 {
3588 0xFFFF,
3589 One,
3590 ^^LPC.LNKB,
3591 Zero
3592 },
3593
3594 Package (0x04)
3595 {
3596 0xFFFF,
3597 0x02,
3598 ^^LPC.LNKC,
3599 Zero
3600 },
3601
3602 Package (0x04)
3603 {
3604 0xFFFF,
3605 0x03,
3606 ^^LPC.LNKD,
3607 Zero
3608 }
3609 })
3610 }
3611 Else
3612 {
3613 Return (Package (0x04)
3614 {
3615 Package (0x04)
3616 {
3617 0xFFFF,
3618 Zero,
3619 Zero,
3620 0x10
3621 },
3622
3623 Package (0x04)
3624 {
3625 0xFFFF,
3626 One,
3627 Zero,
3628 0x11
3629 },
3630
3631 Package (0x04)
3632 {
3633 0xFFFF,
3634 0x02,
3635 Zero,
3636 0x12
3637 },
3638
3639 Package (0x04)
3640 {
3641 0xFFFF,
3642 0x03,
3643 Zero,
3644 0x13
3645 }
3646 })
3647 }
3648 }
3649
3650 Device (J380)
3651 {
3652 Name (_ADR, Zero) // _ADR: Address
3653 OperationRegion (PCFG, PCI_Config, Zero, 0xFF)
3654 Field (PCFG, ByteAcc, NoLock, Preserve)
3655 {
3656 DVID, 32,
3657 Offset (0x2C),
3658 SSID, 32,
3659 Offset (0xAC),
3660 D3EF, 8,
3661 Offset (0xB2),
3662 LAT0, 8,
3663 Offset (0xCF),
3664 ATRB, 8,
3665 Offset (0xD3),
3666 PMC0, 8
3667 }
3668
3669 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
3670 {
3671 Return (One)
3672 }
3673 }
3674
3675 Device (J382)
3676 {
3677 Name (_ADR, 0x02) // _ADR: Address
3678 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
3679 {
3680 Return (One)
3681 }
3682 }
3683
3684 Device (J383)
3685 {
3686 Name (_ADR, 0x03) // _ADR: Address
3687 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
3688 {
3689 Return (One)
3690 }
3691 }
3692
3693 Device (J384)
3694 {
3695 Name (_ADR, 0x04) // _ADR: Address
3696 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
3697 {
3698 Return (One)
3699 }
3700 }
3701 }
3702
3703 Device (EXP2)
3704 {
3705 Name (_ADR, 0x001C0001) // _ADR: Address
3706 OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)
3707 Field (P2CS, AnyAcc, NoLock, Preserve)
3708 {
3709 Offset (0x10),
3710 LL0S, 1,
3711 LLL1, 1,
3712 , 2,
3713 LKD2, 1,
3714 Offset (0x1A),
3715 ABP2, 1,
3716 , 2,
3717 PDC2, 1,
3718 , 2,
3719 PDS2, 1,
3720 Offset (0x20),
3721 RID2, 16,
3722 PSP2, 1,
3723 PPP2, 1,
3724 Offset (0x9C),
3725 , 30,
3726 HPCS, 1,
3727 PMCS, 1
3728 }
3729
3730 Device (PXS2)
3731 {
3732 Name (_ADR, Zero) // _ADR: Address
3733 OperationRegion (P2CS, PCI_Config, 0x80, 0x0100)
3734 Field (P2CS, AnyAcc, NoLock, Preserve)
3735 {
3736 LSMP, 8
3737 }
3738
3739 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
3740 {
3741 Return (Zero)
3742 }
3743 }
3744
3745 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3746 {
3747 0x09,
3748 0x04
3749 })
3750 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
3751 {
3752 If (GPIC == Zero)
3753 {
3754 Return (Package (0x04)
3755 {
3756 Package (0x04)
3757 {
3758 0xFFFF,
3759 Zero,
3760 ^^LPC.LNKB,
3761 Zero
3762 },
3763
3764 Package (0x04)
3765 {
3766 0xFFFF,
3767 One,
3768 ^^LPC.LNKC,
3769 Zero
3770 },
3771
3772 Package (0x04)
3773 {
3774 0xFFFF,
3775 0x02,
3776 ^^LPC.LNKD,
3777 Zero
3778 },
3779
3780 Package (0x04)
3781 {
3782 0xFFFF,
3783 0x03,
3784 ^^LPC.LNKA,
3785 Zero
3786 }
3787 })
3788 }
3789 Else
3790 {
3791 Return (Package (0x04)
3792 {
3793 Package (0x04)
3794 {
3795 0xFFFF,
3796 Zero,
3797 Zero,
3798 0x11
3799 },
3800
3801 Package (0x04)
3802 {
3803 0xFFFF,
3804 One,
3805 Zero,
3806 0x12
3807 },
3808
3809 Package (0x04)
3810 {
3811 0xFFFF,
3812 0x02,
3813 Zero,
3814 0x13
3815 },
3816
3817 Package (0x04)
3818 {
3819 0xFFFF,
3820 0x03,
3821 Zero,
3822 0x10
3823 }
3824 })
3825 }
3826 }
3827 }
3828
3829 Device (EXP3)
3830 {
3831 Name (_ADR, 0x001C0002) // _ADR: Address
3832 OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
3833 Field (P3CS, AnyAcc, NoLock, Preserve)
3834 {
3835 Offset (0x10),
3836 , 4,
3837 LKD3, 1,
3838 Offset (0x1A),
3839 ABP3, 1,
3840 , 2,
3841 PDC3, 1,
3842 , 2,
3843 PDS3, 1,
3844 Offset (0x20),
3845 RID3, 16,
3846 PSP3, 1,
3847 PPP3, 1,
3848 Offset (0x9C),
3849 , 30,
3850 HPCS, 1,
3851 PMCS, 1
3852 }
3853
3854 Device (PXS3)
3855 {
3856 Name (_ADR, Zero) // _ADR: Address
3857 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
3858 {
3859 Return (Zero)
3860 }
3861 }
3862
3863 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3864 {
3865 0x09,
3866 0x04
3867 })
3868 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
3869 {
3870 If (GPIC == Zero)
3871 {
3872 Return (Package (0x04)
3873 {
3874 Package (0x04)
3875 {
3876 0xFFFF,
3877 Zero,
3878 ^^LPC.LNKC,
3879 Zero
3880 },
3881
3882 Package (0x04)
3883 {
3884 0xFFFF,
3885 One,
3886 ^^LPC.LNKD,
3887 Zero
3888 },
3889
3890 Package (0x04)
3891 {
3892 0xFFFF,
3893 0x02,
3894 ^^LPC.LNKA,
3895 Zero
3896 },
3897
3898 Package (0x04)
3899 {
3900 0xFFFF,
3901 0x03,
3902 ^^LPC.LNKB,
3903 Zero
3904 }
3905 })
3906 }
3907 Else
3908 {
3909 Return (Package (0x04)
3910 {
3911 Package (0x04)
3912 {
3913 0xFFFF,
3914 Zero,
3915 Zero,
3916 0x12
3917 },
3918
3919 Package (0x04)
3920 {
3921 0xFFFF,
3922 One,
3923 Zero,
3924 0x13
3925 },
3926
3927 Package (0x04)
3928 {
3929 0xFFFF,
3930 0x02,
3931 Zero,
3932 0x10
3933 },
3934
3935 Package (0x04)
3936 {
3937 0xFFFF,
3938 0x03,
3939 Zero,
3940 0x11
3941 }
3942 })
3943 }
3944 }
3945 }
3946
3947 Device (EXP4)
3948 {
3949 Name (_ADR, 0x001C0003) // _ADR: Address
3950 OperationRegion (P4CS, PCI_Config, 0x40, 0x0100)
3951 Field (P4CS, AnyAcc, NoLock, Preserve)
3952 {
3953 Offset (0x10),
3954 , 4,
3955 LKD4, 1,
3956 Offset (0x1A),
3957 ABP4, 1,
3958 , 2,
3959 PDC4, 1,
3960 , 2,
3961 PDS4, 1,
3962 Offset (0x20),
3963 RID4, 16,
3964 PSP4, 1,
3965 PPP4, 1,
3966 Offset (0x9C),
3967 , 30,
3968 HPCS, 1,
3969 PMCS, 1
3970 }
3971
3972 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3973 {
3974 0x09,
3975 0x04
3976 })
3977 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
3978 {
3979 If (GPIC == Zero)
3980 {
3981 Return (Package (0x04)
3982 {
3983 Package (0x04)
3984 {
3985 0xFFFF,
3986 Zero,
3987 ^^LPC.LNKD,
3988 Zero
3989 },
3990
3991 Package (0x04)
3992 {
3993 0xFFFF,
3994 One,
3995 ^^LPC.LNKA,
3996 Zero
3997 },
3998
3999 Package (0x04)
4000 {
4001 0xFFFF,
4002 0x02,
4003 ^^LPC.LNKB,
4004 Zero
4005 },
4006
4007 Package (0x04)
4008 {
4009 0xFFFF,
4010 0x03,
4011 ^^LPC.LNKC,
4012 Zero
4013 }
4014 })
4015 }
4016 Else
4017 {
4018 Return (Package (0x04)
4019 {
4020 Package (0x04)
4021 {
4022 0xFFFF,
4023 Zero,
4024 Zero,
4025 0x13
4026 },
4027
4028 Package (0x04)
4029 {
4030 0xFFFF,
4031 One,
4032 Zero,
4033 0x10
4034 },
4035
4036 Package (0x04)
4037 {
4038 0xFFFF,
4039 0x02,
4040 Zero,
4041 0x11
4042 },
4043
4044 Package (0x04)
4045 {
4046 0xFFFF,
4047 0x03,
4048 Zero,
4049 0x12
4050 }
4051 })
4052 }
4053 }
4054
4055 Device (J380)
4056 {
4057 Name (_ADR, Zero) // _ADR: Address
4058 OperationRegion (PCFG, PCI_Config, Zero, 0xFF)
4059 Field (PCFG, ByteAcc, NoLock, Preserve)
4060 {
4061 DVID, 32,
4062 Offset (0x2C),
4063 SSID, 32,
4064 Offset (0xAC),
4065 D3EF, 8,
4066 Offset (0xB2),
4067 LAT0, 8,
4068 Offset (0xCF),
4069 ATRB, 8,
4070 Offset (0xD3),
4071 PMC0, 8
4072 }
4073
4074 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
4075 {
4076 Return (One)
4077 }
4078 }
4079
4080 Device (J382)
4081 {
4082 Name (_ADR, 0x02) // _ADR: Address
4083 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
4084 {
4085 Return (One)
4086 }
4087 }
4088
4089 Device (J383)
4090 {
4091 Name (_ADR, 0x03) // _ADR: Address
4092 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
4093 {
4094 Return (One)
4095 }
4096 }
4097
4098 Device (J384)
4099 {
4100 Name (_ADR, 0x04) // _ADR: Address
4101 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
4102 {
4103 Return (One)
4104 }
4105 }
4106 }
4107
4108 Device (AZAL)
4109 {
4110 Name (_ADR, 0x001B0000) // _ADR: Address
4111 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
4112 {
4113 If (WKMD == One)
4114 {
4115 Return (Package (0x02)
4116 {
4117 0x05,
4118 0x04
4119 })
4120 }
4121 Else
4122 {
4123 Return (Package (0x02)
4124 {
4125 0x05,
4126 Zero
4127 })
4128 }
4129 }
4130 }
4131
4132 Device (AUDO)
4133 {
4134 Name (_ADR, 0x001E0002) // _ADR: Address
4135 }
4136
4137 Device (MODM)
4138 {
4139 Name (_ADR, 0x001E0003) // _ADR: Address
4140 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
4141 {
4142 If (WKMD == One)
4143 {
4144 Return (Package (0x02)
4145 {
4146 0x05,
4147 0x04
4148 })
4149 }
4150 Else
4151 {
4152 Return (Package (0x02)
4153 {
4154 0x05,
4155 Zero
4156 })
4157 }
4158 }
4159 }
4160
4161 Device (OVGA)
4162 {
4163 Name (_ADR, 0x00020000) // _ADR: Address
4164 OperationRegion (VNVS, SystemMemory, 0x5F477010, 0x00010004)
4165 Field (VNVS, AnyAcc, Lock, Preserve)
4166 {
4167 RSIZ, 32,
4168 RBUF, 524288
4169 }
4170
4171 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
4172 {
4173 DSEN = (Arg0 & 0x03)
4174 }
4175
4176 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
4177 {
4178 If (LCDA == 0x0110)
4179 {
4180 Return (Package (0x06)
4181 {
4182 0x00010100,
4183 0x00010110,
4184 0x00010200,
4185 0x00010300,
4186 0x00010500,
4187 0x00010600
4188 })
4189 }
4190
4191 Return (Package (0x06)
4192 {
4193 0x00010100,
4194 0x00010200,
4195 0x00010300,
4196 0x00010400,
4197 0x00010500,
4198 0x00010600
4199 })
4200 }
4201
4202 Method (_ROM, 2, NotSerialized) // _ROM: Read-Only Memory
4203 {
4204 Local0 = Arg0
4205 Local1 = Arg1
4206 If (Local1 > 0x1000)
4207 {
4208 Local1 = 0x1000
4209 }
4210
4211 If ((Local0 + Local1) > RSIZ)
4212 {
4213 Local0 = Zero
4214 }
4215
4216 Local2 = (Local0 * 0x08)
4217 Local3 = (Local1 * 0x08)
4218 Name (ROM1, Buffer (RSIZ) {})
4219 Name (ROM2, Buffer (Local1) {})
4220 ROM1 = RBUF /* \_SB_.PCI0.OVGA.RBUF */
4221 CreateField (ROM1, Local2, Local3, TMPB)
4222 ROM2 = TMPB /* \_SB_.PCI0.OVGA._ROM.TMPB */
4223 Return (ROM2) /* \_SB_.PCI0.OVGA._ROM.ROM2 */
4224 }
4225
4226 Device (CRT1)
4227 {
4228 Name (_ADR, 0x0100) // _ADR: Address
4229 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
4230 {
4231 SMIF = One
4232 TRP0 = Zero
4233 If (CSTE & 0x0101)
4234 {
4235 Return (0x1F)
4236 }
4237
4238 Return (0x1D)
4239 }
4240
4241 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
4242 {
4243 If (NSTE & 0x0101)
4244 {
4245 Return (One)
4246 }
4247
4248 Return (Zero)
4249 }
4250
4251 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
4252 {
4253 If ((Arg0 & 0xC0000000) == 0xC0000000)
4254 {
4255 CSTE = NSTE /* \NSTE */
4256 }
4257 }
4258 }
4259
4260 Device (DTV1)
4261 {
4262 Name (_ADR, 0x0200) // _ADR: Address
4263 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
4264 {
4265 SMIF = One
4266 TRP0 = Zero
4267 If (CSTE & 0x0202)
4268 {
4269 Return (0x1F)
4270 }
4271
4272 Return (0x1D)
4273 }
4274
4275 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
4276 {
4277 If (NSTE & 0x0202)
4278 {
4279 Return (One)
4280 }
4281
4282 Return (Zero)
4283 }
4284
4285 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
4286 {
4287 If ((Arg0 & 0xC0000000) == 0xC0000000)
4288 {
4289 CSTE = NSTE /* \NSTE */
4290 }
4291 }
4292 }
4293
4294 Device (DFP1)
4295 {
4296 Name (_ADR, 0x0300) // _ADR: Address
4297 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
4298 {
4299 SMIF = One
4300 TRP0 = Zero
4301 If (CSTE & 0x0404)
4302 {
4303 Return (0x1F)
4304 }
4305
4306 Return (0x1D)
4307 }
4308
4309 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
4310 {
4311 If (NSTE & 0x0404)
4312 {
4313 Return (One)
4314 }
4315
4316 Return (Zero)
4317 }
4318
4319 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
4320 {
4321 If ((Arg0 & 0xC0000000) == 0xC0000000)
4322 {
4323 CSTE = NSTE /* \NSTE */
4324 }
4325 }
4326 }
4327
4328 Device (LCD)
4329 {
4330 Method (_ADR, 0, NotSerialized) // _ADR: Address
4331 {
4332 Return (LCDA) /* \LCDA */
4333 }
4334
4335 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
4336 {
4337 SMIF = One
4338 TRP0 = Zero
4339 If (CSTE & 0x0808)
4340 {
4341 Return (0x1F)
4342 }
4343
4344 Return (0x1D)
4345 }
4346
4347 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
4348 {
4349 If (NSTE & 0x0808)
4350 {
4351 Return (One)
4352 }
4353
4354 Return (Zero)
4355 }
4356
4357 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
4358 {
4359 If ((Arg0 & 0xC0000000) == 0xC0000000)
4360 {
4361 CSTE = NSTE /* \NSTE */
4362 }
4363 }
4364 }
4365
4366 Device (DTV2)
4367 {
4368 Name (_ADR, 0x0500) // _ADR: Address
4369 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
4370 {
4371 SMIF = One
4372 TRP0 = Zero
4373 If (CSTE & 0x1010)
4374 {
4375 Return (0x1F)
4376 }
4377
4378 Return (0x1D)
4379 }
4380
4381 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
4382 {
4383 If (NSTE & 0x1010)
4384 {
4385 Return (One)
4386 }
4387
4388 Return (Zero)
4389 }
4390
4391 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
4392 {
4393 If ((Arg0 & 0xC0000000) == 0xC0000000)
4394 {
4395 CSTE = NSTE /* \NSTE */
4396 }
4397 }
4398 }
4399
4400 Device (DFP2)
4401 {
4402 Name (_ADR, 0x0600) // _ADR: Address
4403 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
4404 {
4405 SMIF = One
4406 TRP0 = Zero
4407 If (CSTE & 0x2020)
4408 {
4409 Return (0x1F)
4410 }
4411
4412 Return (0x1D)
4413 }
4414
4415 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
4416 {
4417 If (NSTE & 0x2020)
4418 {
4419 Return (One)
4420 }
4421
4422 Return (Zero)
4423 }
4424
4425 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
4426 {
4427 If ((Arg0 & 0xC0000000) == 0xC0000000)
4428 {
4429 CSTE = NSTE /* \NSTE */
4430 }
4431 }
4432 }
4433 }
4434
4435 Device (IDEC)
4436 {
4437 Name (_ADR, 0x001F0001) // _ADR: Address
4438 OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
4439 Field (PACS, DWordAcc, NoLock, Preserve)
4440 {
4441 PRIT, 16,
4442 Offset (0x04),
4443 PSIT, 4,
4444 Offset (0x08),
4445 SYNC, 4,
4446 Offset (0x0A),
4447 SDT0, 2,
4448 , 2,
4449 SDT1, 2,
4450 Offset (0x14),
4451 ICR0, 4,
4452 ICR1, 4,
4453 ICR2, 4,
4454 ICR3, 4,
4455 ICR4, 4,
4456 ICR5, 4
4457 }
4458
4459 Device (PRID)
4460 {
4461 Name (_ADR, Zero) // _ADR: Address
4462 Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
4463 {
4464 Name (PBUF, Buffer (0x14)
4465 {
4466 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
4467 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
4468 /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */
4469 })
4470 CreateDWordField (PBUF, Zero, PIO0)
4471 CreateDWordField (PBUF, 0x04, DMA0)
4472 CreateDWordField (PBUF, 0x08, PIO1)
4473 CreateDWordField (PBUF, 0x0C, DMA1)
4474 CreateDWordField (PBUF, 0x10, FLAG)
4475 PIO0 = GETP (PRIT)
4476 DMA0 = GDMA ((SYNC & One), (ICR3 & One), (
4477 ICR0 & One), SDT0, (ICR1 & One))
4478 If (DMA0 == Ones)
4479 {
4480 DMA0 = PIO0 /* \_SB_.PCI0.IDEC.PRID._GTM.PIO0 */
4481 }
4482
4483 If (PRIT & 0x4000)
4484 {
4485 If ((PRIT & 0x90) == 0x80)
4486 {
4487 PIO1 = 0x0384
4488 }
4489 Else
4490 {
4491 PIO1 = GETT (PSIT)
4492 }
4493 }
4494 Else
4495 {
4496 PIO1 = Ones
4497 }
4498
4499 DMA1 = GDMA ((SYNC & 0x02), (ICR3 & 0x02), (
4500 ICR0 & 0x02), SDT1, (ICR1 & 0x02))
4501 If (DMA1 == Ones)
4502 {
4503 DMA1 = PIO1 /* \_SB_.PCI0.IDEC.PRID._GTM.PIO1 */
4504 }
4505
4506 FLAG = GETF ((SYNC & One), (SYNC & 0x02), PRIT)
4507 If ((PIO0 == Ones) & (DMA0 == Ones))
4508 {
4509 PIO0 = 0x78
4510 DMA0 = 0x14
4511 FLAG = 0x03
4512 }
4513
4514 Return (PBUF) /* \_SB_.PCI0.IDEC.PRID._GTM.PBUF */
4515 }
4516
4517 Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode
4518 {
4519 CreateDWordField (Arg0, Zero, PIO0)
4520 CreateDWordField (Arg0, 0x04, DMA0)
4521 CreateDWordField (Arg0, 0x08, PIO1)
4522 CreateDWordField (Arg0, 0x0C, DMA1)
4523 CreateDWordField (Arg0, 0x10, FLAG)
4524 If (SizeOf (Arg1) == 0x0200)
4525 {
4526 PRIT &= 0x40F0
4527 SYNC &= 0x02
4528 SDT0 = Zero
4529 ICR0 &= 0x02
4530 ICR1 &= 0x02
4531 ICR3 &= 0x02
4532 ICR5 &= 0x02
4533 CreateWordField (Arg1, 0x62, W490)
4534 CreateWordField (Arg1, 0x6A, W530)
4535 CreateWordField (Arg1, 0x7E, W630)
4536 CreateWordField (Arg1, 0x80, W640)
4537 CreateWordField (Arg1, 0xB0, W880)
4538 CreateWordField (Arg1, 0xBA, W930)
4539 PRIT |= 0x8004
4540 If ((FLAG & 0x02) && (W490 & 0x0800))
4541 {
4542 PRIT |= 0x02
4543 }
4544
4545 PRIT |= SETP (PIO0, W530, W640)
4546 If (FLAG & One)
4547 {
4548 SYNC |= One
4549 SDT0 = SDMA (DMA0)
4550 If (DMA0 < 0x1E)
4551 {
4552 ICR3 |= One
4553 }
4554
4555 If (DMA0 < 0x3C)
4556 {
4557 ICR0 |= One
4558 }
4559
4560 If (W930 & 0x2000)
4561 {
4562 ICR1 |= One
4563 }
4564 }
4565 }
4566
4567 If (SizeOf (Arg2) == 0x0200)
4568 {
4569 PRIT &= 0x3F0F
4570 PSIT = Zero
4571 SYNC &= One
4572 SDT1 = Zero
4573 ICR0 &= One
4574 ICR1 &= One
4575 ICR3 &= One
4576 ICR5 &= One
4577 CreateWordField (Arg2, 0x62, W491)
4578 CreateWordField (Arg2, 0x6A, W531)
4579 CreateWordField (Arg2, 0x7E, W631)
4580 CreateWordField (Arg2, 0x80, W641)
4581 CreateWordField (Arg2, 0xB0, W881)
4582 CreateWordField (Arg2, 0xBA, W931)
4583 PRIT |= 0x8040
4584 If ((FLAG & 0x08) && (W491 & 0x0800))
4585 {
4586 PRIT |= 0x20
4587 }
4588
4589 If (FLAG & 0x10)
4590 {
4591 PRIT |= 0x4000
4592 If (PIO1 > 0xF0)
4593 {
4594 PRIT |= 0x80
4595 }
4596 Else
4597 {
4598 PRIT |= 0x10
4599 PSIT = SETT (PIO1, W531, W641)
4600 }
4601 }
4602
4603 If (FLAG & 0x04)
4604 {
4605 SYNC |= 0x02
4606 SDT1 = SDMA (DMA1)
4607 If (DMA1 < 0x1E)
4608 {
4609 ICR3 |= 0x02
4610 }
4611
4612 If (DMA1 < 0x3C)
4613 {
4614 ICR0 |= 0x02
4615 }
4616
4617 If (W931 & 0x2000)
4618 {
4619 ICR1 |= 0x02
4620 }
4621 }
4622 }
4623 }
4624
4625 Device (P_D0)
4626 {
4627 Name (_ADR, Zero) // _ADR: Address
4628 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
4629 {
4630 Return (Zero)
4631 }
4632
4633 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
4634 {
4635 Name (PIB0, Buffer (0x0E)
4636 {
4637 /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* ........ */
4638 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ...... */
4639 })
4640 CreateByteField (PIB0, One, PMD0)
4641 CreateByteField (PIB0, 0x08, DMD0)
4642 If (PRIT & 0x02)
4643 {
4644 If ((PRIT & 0x09) == 0x08)
4645 {
4646 PMD0 = 0x08
4647 }
4648 Else
4649 {
4650 PMD0 = 0x0A
4651 Local0 = ((PRIT & 0x0300) >> 0x08)
4652 Local1 = ((PRIT & 0x3000) >> 0x0C)
4653 Local2 = (Local0 + Local1)
4654 If (0x03 == Local2)
4655 {
4656 PMD0 = 0x0B
4657 }
4658
4659 If (0x05 == Local2)
4660 {
4661 PMD0 = 0x0C
4662 }
4663 }
4664 }
4665 Else
4666 {
4667 PMD0 = One
4668 }
4669
4670 If (SYNC & One)
4671 {
4672 DMD0 = (SDT0 | 0x40)
4673 If (ICR1 & One)
4674 {
4675 If (ICR0 & One)
4676 {
4677 DMD0 += 0x02
4678 }
4679
4680 If (ICR3 & One)
4681 {
4682 DMD0 = 0x45
4683 }
4684 }
4685 }
4686 Else
4687 {
4688 DMD0 = (((PMD0 & 0x07) - 0x02) | 0x20)
4689 }
4690
4691 Return (PIB0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.PIB0 */
4692 }
4693 }
4694
4695 Device (P_D1)
4696 {
4697 Name (_ADR, One) // _ADR: Address
4698 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
4699 {
4700 Name (PIB1, Buffer (0x0E)
4701 {
4702 /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* ........ */
4703 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ...... */
4704 })
4705 CreateByteField (PIB1, One, PMD1)
4706 CreateByteField (PIB1, 0x08, DMD1)
4707 If (PRIT & 0x20)
4708 {
4709 If ((PRIT & 0x90) == 0x80)
4710 {
4711 PMD1 = 0x08
4712 }
4713 Else
4714 {
4715 Local0 = ((PSIT & 0x03) + ((PSIT & 0x0C) >> 0x02
4716 ))
4717 If (0x05 == Local0)
4718 {
4719 PMD1 = 0x0C
4720 }
4721 ElseIf (0x03 == Local0)
4722 {
4723 PMD1 = 0x0B
4724 }
4725 Else
4726 {
4727 PMD1 = 0x0A
4728 }
4729 }
4730 }
4731 Else
4732 {
4733 PMD1 = One
4734 }
4735
4736 If (SYNC & 0x02)
4737 {
4738 DMD1 = (SDT1 | 0x40)
4739 If (ICR1 & 0x02)
4740 {
4741 If (ICR0 & 0x02)
4742 {
4743 DMD1 += 0x02
4744 }
4745
4746 If (ICR3 & 0x02)
4747 {
4748 DMD1 = 0x45
4749 }
4750 }
4751 }
4752 Else
4753 {
4754 DMD1 = (((PMD1 & 0x07) - 0x02) | 0x20)
4755 }
4756
4757 Return (PIB1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.PIB1 */
4758 }
4759 }
4760 }
4761 }
4762
4763 Device (SATA)
4764 {
4765 Name (_ADR, 0x001F0002) // _ADR: Address
4766 OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
4767 Field (SACS, DWordAcc, NoLock, Preserve)
4768 {
4769 PRIT, 16,
4770 SECT, 16,
4771 PSIT, 4,
4772 SSIT, 4,
4773 Offset (0x08),
4774 SYNC, 4,
4775 Offset (0x0A),
4776 SDT0, 2,
4777 , 2,
4778 SDT1, 2,
4779 Offset (0x0B),
4780 SDT2, 2,
4781 , 2,
4782 SDT3, 2,
4783 Offset (0x14),
4784 ICR0, 4,
4785 ICR1, 4,
4786 ICR2, 4,
4787 ICR3, 4,
4788 ICR4, 4,
4789 ICR5, 4,
4790 Offset (0x50),
4791 MAPV, 2
4792 }
4793
4794 Device (PRID)
4795 {
4796 Name (_ADR, Zero) // _ADR: Address
4797 Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
4798 {
4799 If (SCFG != 0x04)
4800 {
4801 Name (PBUF, Buffer (0x14)
4802 {
4803 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
4804 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
4805 /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */
4806 })
4807 CreateDWordField (PBUF, Zero, PIO0)
4808 CreateDWordField (PBUF, 0x04, DMA0)
4809 CreateDWordField (PBUF, 0x08, PIO1)
4810 CreateDWordField (PBUF, 0x0C, DMA1)
4811 CreateDWordField (PBUF, 0x10, FLAG)
4812 PIO0 = GETP (PRIT)
4813 DMA0 = GDMA ((SYNC & One), (ICR3 & One), (
4814 ICR0 & One), SDT0, (ICR1 & One))
4815 If (DMA0 == Ones)
4816 {
4817 DMA0 = PIO0 /* \_SB_.PCI0.SATA.PRID._GTM.PIO0 */
4818 }
4819
4820 If (PRIT & 0x4000)
4821 {
4822 If ((PRIT & 0x90) == 0x80)
4823 {
4824 PIO1 = 0x0384
4825 }
4826 Else
4827 {
4828 PIO1 = GETT (PSIT)
4829 }
4830 }
4831 Else
4832 {
4833 PIO1 = Ones
4834 }
4835
4836 DMA1 = GDMA ((SYNC & 0x02), (ICR3 & 0x02), (
4837 ICR0 & 0x02), SDT1, (ICR1 & 0x02))
4838 If (DMA1 == Ones)
4839 {
4840 DMA1 = PIO1 /* \_SB_.PCI0.SATA.PRID._GTM.PIO1 */
4841 }
4842
4843 FLAG = GETF ((SYNC & One), (SYNC & 0x02), PRIT)
4844 Return (PBUF) /* \_SB_.PCI0.SATA.PRID._GTM.PBUF */
4845 }
4846
4847 Return (Zero)
4848 }
4849
4850 Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode
4851 {
4852 If (SCFG != 0x04)
4853 {
4854 CreateDWordField (Arg0, Zero, PIO0)
4855 CreateDWordField (Arg0, 0x04, DMA0)
4856 CreateDWordField (Arg0, 0x08, PIO1)
4857 CreateDWordField (Arg0, 0x0C, DMA1)
4858 CreateDWordField (Arg0, 0x10, FLAG)
4859 If (SizeOf (Arg1) == 0x0200)
4860 {
4861 PRIT &= 0x40F0
4862 SYNC &= 0x0E
4863 SDT0 = Zero
4864 ICR0 &= 0x0E
4865 ICR1 &= 0x0E
4866 ICR3 &= 0x0E
4867 ICR5 &= 0x0E
4868 CreateWordField (Arg1, 0x62, W490)
4869 CreateWordField (Arg1, 0x6A, W530)
4870 CreateWordField (Arg1, 0x7E, W630)
4871 CreateWordField (Arg1, 0x80, W640)
4872 CreateWordField (Arg1, 0xB0, W880)
4873 CreateWordField (Arg1, 0xBA, W930)
4874 PRIT |= 0x8004
4875 If ((FLAG & 0x02) && (W490 & 0x0800))
4876 {
4877 PRIT |= 0x02
4878 }
4879
4880 PRIT |= SETP (PIO0, W530, W640)
4881 If (FLAG & One)
4882 {
4883 SYNC |= One
4884 SDT0 = SDMA (DMA0)
4885 If (DMA0 < 0x1E)
4886 {
4887 ICR3 |= One
4888 }
4889
4890 If (DMA0 < 0x3C)
4891 {
4892 ICR0 |= One
4893 }
4894
4895 ICR1 |= One
4896 }
4897 }
4898
4899 If (SizeOf (Arg2) == 0x0200)
4900 {
4901 PRIT &= 0x3F0F
4902 PSIT = Zero
4903 SYNC &= 0x0D
4904 SDT1 = Zero
4905 ICR0 &= 0x0D
4906 ICR1 &= 0x0D
4907 ICR3 &= 0x0D
4908 ICR5 &= 0x0D
4909 CreateWordField (Arg2, 0x62, W491)
4910 CreateWordField (Arg2, 0x6A, W531)
4911 CreateWordField (Arg2, 0x7E, W631)
4912 CreateWordField (Arg2, 0x80, W641)
4913 CreateWordField (Arg2, 0xB0, W881)
4914 CreateWordField (Arg2, 0xBA, W931)
4915 PRIT |= 0x8040
4916 If ((FLAG & 0x08) && (W491 & 0x0800))
4917 {
4918 PRIT |= 0x20
4919 }
4920
4921 If (FLAG & 0x10)
4922 {
4923 PRIT |= 0x4000
4924 If (PIO1 > 0xF0)
4925 {
4926 PRIT |= 0x80
4927 }
4928 Else
4929 {
4930 PRIT |= 0x10
4931 PSIT = SETT (PIO1, W531, W641)
4932 }
4933 }
4934
4935 If (FLAG & 0x04)
4936 {
4937 SYNC |= 0x02
4938 SDT1 = SDMA (DMA1)
4939 If (DMA1 < 0x1E)
4940 {
4941 ICR3 |= 0x02
4942 }
4943
4944 If (DMA1 < 0x3C)
4945 {
4946 ICR0 |= 0x02
4947 }
4948
4949 ICR1 |= 0x02
4950 }
4951 }
4952 }
4953 }
4954
4955 Device (P_D0)
4956 {
4957 Name (_ADR, Zero) // _ADR: Address
4958 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
4959 {
4960 If (SCFG != 0x04)
4961 {
4962 Name (PIB0, Buffer (0x0E)
4963 {
4964 /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* ........ */
4965 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ...... */
4966 })
4967 CreateByteField (PIB0, One, PMD0)
4968 CreateByteField (PIB0, 0x08, DMD0)
4969 If (PRIT & 0x02)
4970 {
4971 If ((PRIT & 0x09) == 0x08)
4972 {
4973 PMD0 = 0x08
4974 }
4975 Else
4976 {
4977 PMD0 = 0x0A
4978 Local0 = ((PRIT & 0x0300) >> 0x08)
4979 Local1 = ((PRIT & 0x3000) >> 0x0C)
4980 Local2 = (Local0 + Local1)
4981 If (0x03 == Local2)
4982 {
4983 PMD0 = 0x0B
4984 }
4985
4986 If (0x05 == Local2)
4987 {
4988 PMD0 = 0x0C
4989 }
4990 }
4991 }
4992 Else
4993 {
4994 PMD0 = One
4995 }
4996
4997 If (SYNC & One)
4998 {
4999 DMD0 = (SDT0 | 0x40)
5000 If (ICR1 & One)
5001 {
5002 If (ICR0 & One)
5003 {
5004 DMD0 += 0x02
5005 }
5006
5007 If (ICR3 & One)
5008 {
5009 DMD0 = 0x45
5010 }
5011 }
5012 }
5013 Else
5014 {
5015 DMD0 = (((PMD0 & 0x07) - 0x02) | 0x20)
5016 }
5017
5018 Return (PIB0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.PIB0 */
5019 }
5020
5021 Return (Zero)
5022 }
5023 }
5024
5025 Device (P_D1)
5026 {
5027 Name (_ADR, One) // _ADR: Address
5028 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
5029 {
5030 If (SCFG != 0x04)
5031 {
5032 Name (PIB1, Buffer (0x0E)
5033 {
5034 /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* ........ */
5035 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ...... */
5036 })
5037 CreateByteField (PIB1, One, PMD1)
5038 CreateByteField (PIB1, 0x08, DMD1)
5039 If (PRIT & 0x20)
5040 {
5041 If ((PRIT & 0x90) == 0x80)
5042 {
5043 PMD1 = 0x08
5044 }
5045 Else
5046 {
5047 Local0 = ((PSIT & 0x03) + ((PSIT & 0x0C) >> 0x02
5048 ))
5049 If (0x05 == Local0)
5050 {
5051 PMD1 = 0x0C
5052 }
5053 ElseIf (0x03 == Local0)
5054 {
5055 PMD1 = 0x0B
5056 }
5057 Else
5058 {
5059 PMD1 = 0x0A
5060 }
5061 }
5062 }
5063 Else
5064 {
5065 PMD1 = One
5066 }
5067
5068 If (SYNC & 0x02)
5069 {
5070 DMD1 = (SDT1 | 0x40)
5071 If (ICR1 & 0x02)
5072 {
5073 If (ICR0 & 0x02)
5074 {
5075 DMD1 += 0x02
5076 }
5077
5078 If (ICR3 & 0x02)
5079 {
5080 DMD1 = 0x45
5081 }
5082 }
5083 }
5084 Else
5085 {
5086 DMD1 = (((PMD1 & 0x07) - 0x02) | 0x20)
5087 }
5088
5089 Return (PIB1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.PIB1 */
5090 }
5091
5092 Return (Zero)
5093 }
5094 }
5095 }
5096
5097 Device (SECD)
5098 {
5099 Name (_ADR, One) // _ADR: Address
5100 Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
5101 {
5102 If (SCFG != 0x04)
5103 {
5104 Name (SBUF, Buffer (0x14)
5105 {
5106 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5107 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5108 /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */
5109 })
5110 CreateDWordField (SBUF, Zero, PIO0)
5111 CreateDWordField (SBUF, 0x04, DMA0)
5112 CreateDWordField (SBUF, 0x08, PIO1)
5113 CreateDWordField (SBUF, 0x0C, DMA1)
5114 CreateDWordField (SBUF, 0x10, FLAG)
5115 PIO0 = GETP (SECT)
5116 DMA0 = GDMA ((SYNC & 0x04), (ICR3 & 0x04), (
5117 ICR0 & 0x04), SDT2, (ICR1 & 0x04))
5118 If (DMA0 == Ones)
5119 {
5120 DMA0 = PIO0 /* \_SB_.PCI0.SATA.SECD._GTM.PIO0 */
5121 }
5122
5123 If (SECT & 0x4000)
5124 {
5125 If ((SECT & 0x90) == 0x80)
5126 {
5127 PIO1 = 0x0384
5128 }
5129 Else
5130 {
5131 PIO1 = GETT (SSIT)
5132 }
5133 }
5134 Else
5135 {
5136 PIO1 = Ones
5137 }
5138
5139 DMA1 = GDMA ((SYNC & 0x08), (ICR3 & 0x08), (
5140 ICR0 & 0x08), SDT3, (ICR1 & 0x08))
5141 If (DMA1 == Ones)
5142 {
5143 DMA1 = PIO1 /* \_SB_.PCI0.SATA.SECD._GTM.PIO1 */
5144 }
5145
5146 FLAG = GETF ((SYNC & 0x04), (SYNC & 0x08), SECT)
5147 If ((PIO0 == Ones) & (DMA0 == Ones))
5148 {
5149 PIO0 = 0x78
5150 DMA0 = 0x14
5151 FLAG = 0x03
5152 }
5153
5154 Return (SBUF) /* \_SB_.PCI0.SATA.SECD._GTM.SBUF */
5155 }
5156
5157 Return (Zero)
5158 }
5159
5160 Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode
5161 {
5162 If (SCFG != 0x04)
5163 {
5164 CreateDWordField (Arg0, Zero, PIO0)
5165 CreateDWordField (Arg0, 0x04, DMA0)
5166 CreateDWordField (Arg0, 0x08, PIO1)
5167 CreateDWordField (Arg0, 0x0C, DMA1)
5168 CreateDWordField (Arg0, 0x10, FLAG)
5169 If (SizeOf (Arg1) == 0x0200)
5170 {
5171 SECT &= 0x40F0
5172 SYNC &= 0x0B
5173 SDT2 = Zero
5174 ICR0 &= 0x0B
5175 ICR1 &= 0x0B
5176 ICR3 &= 0x0B
5177 ICR5 &= 0x0B
5178 CreateWordField (Arg1, 0x62, W490)
5179 CreateWordField (Arg1, 0x6A, W530)
5180 CreateWordField (Arg1, 0x7E, W630)
5181 CreateWordField (Arg1, 0x80, W640)
5182 CreateWordField (Arg1, 0xB0, W880)
5183 CreateWordField (Arg1, 0xBA, W930)
5184 SECT |= 0x8004
5185 If ((FLAG & 0x02) && (W490 & 0x0800))
5186 {
5187 SECT |= 0x02
5188 }
5189
5190 SECT |= SETP (PIO0, W530, W640)
5191 If (FLAG & One)
5192 {
5193 SYNC |= 0x04
5194 SDT2 = SDMA (DMA0)
5195 If (DMA0 < 0x1E)
5196 {
5197 ICR3 |= 0x04
5198 }
5199
5200 If (DMA0 < 0x3C)
5201 {
5202 ICR0 |= 0x04
5203 }
5204
5205 If (W930 & 0x2000)
5206 {
5207 ICR1 |= 0x04
5208 }
5209 }
5210 }
5211
5212 If (SizeOf (Arg2) == 0x0200)
5213 {
5214 SECT &= 0x3F0F
5215 SSIT = Zero
5216 SYNC &= 0x07
5217 SDT3 = Zero
5218 ICR0 &= 0x07
5219 ICR1 &= 0x07
5220 ICR3 &= 0x07
5221 ICR5 &= 0x07
5222 CreateWordField (Arg2, 0x62, W491)
5223 CreateWordField (Arg2, 0x6A, W531)
5224 CreateWordField (Arg2, 0x7E, W631)
5225 CreateWordField (Arg2, 0x80, W641)
5226 CreateWordField (Arg2, 0xB0, W881)
5227 CreateWordField (Arg2, 0xBA, W931)
5228 SECT |= 0x8040
5229 If ((FLAG & 0x08) && (W491 & 0x0800))
5230 {
5231 SECT |= 0x20
5232 }
5233
5234 If (FLAG & 0x10)
5235 {
5236 SECT |= 0x4000
5237 If (PIO1 > 0xF0)
5238 {
5239 SECT |= 0x80
5240 }
5241 Else
5242 {
5243 SECT |= 0x10
5244 SSIT = SETT (PIO1, W531, W641)
5245 }
5246 }
5247
5248 If (FLAG & 0x04)
5249 {
5250 SYNC |= 0x08
5251 SDT3 = SDMA (DMA1)
5252 If (DMA1 < 0x1E)
5253 {
5254 ICR3 |= 0x08
5255 }
5256
5257 If (DMA1 < 0x3C)
5258 {
5259 ICR0 |= 0x08
5260 }
5261
5262 If (W931 & 0x2000)
5263 {
5264 ICR1 |= 0x08
5265 }
5266 }
5267 }
5268 }
5269 }
5270
5271 Device (S_D0)
5272 {
5273 Name (_ADR, Zero) // _ADR: Address
5274 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
5275 {
5276 Return (Zero)
5277 }
5278
5279 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
5280 {
5281 If (SCFG != 0x04)
5282 {
5283 Name (SIB0, Buffer (0x0E)
5284 {
5285 /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* ........ */
5286 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ...... */
5287 })
5288 CreateByteField (SIB0, One, PMD0)
5289 CreateByteField (SIB0, 0x08, DMD0)
5290 If (SECT & 0x02)
5291 {
5292 If ((SECT & 0x09) == 0x08)
5293 {
5294 PMD0 = 0x08
5295 }
5296 Else
5297 {
5298 PMD0 = 0x0A
5299 Local0 = ((SECT & 0x0300) >> 0x08)
5300 Local1 = ((SECT & 0x3000) >> 0x0C)
5301 Local2 = (Local0 + Local1)
5302 If (0x03 == Local2)
5303 {
5304 PMD0 = 0x0B
5305 }
5306
5307 If (0x05 == Local2)
5308 {
5309 PMD0 = 0x0C
5310 }
5311 }
5312 }
5313 Else
5314 {
5315 PMD0 = One
5316 }
5317
5318 If (SYNC & 0x04)
5319 {
5320 DMD0 = (SDT2 | 0x40)
5321 If (ICR1 & 0x04)
5322 {
5323 If (ICR0 & 0x04)
5324 {
5325 DMD0 += 0x02
5326 }
5327
5328 If (ICR3 & 0x04)
5329 {
5330 DMD0 = 0x45
5331 }
5332 }
5333 }
5334 Else
5335 {
5336 DMD0 = (((PMD0 & 0x07) - 0x02) | 0x20)
5337 }
5338
5339 Return (SIB0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.SIB0 */
5340 }
5341
5342 Return (Zero)
5343 }
5344 }
5345
5346 Device (S_D1)
5347 {
5348 Name (_ADR, One) // _ADR: Address
5349 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
5350 {
5351 If (SCFG != 0x04)
5352 {
5353 Name (SIB1, Buffer (0x0E)
5354 {
5355 /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* ........ */
5356 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ...... */
5357 })
5358 CreateByteField (SIB1, One, PMD1)
5359 CreateByteField (SIB1, 0x08, DMD1)
5360 If (SECT & 0x20)
5361 {
5362 If ((SECT & 0x90) == 0x80)
5363 {
5364 PMD1 = 0x08
5365 }
5366 Else
5367 {
5368 Local0 = ((SSIT & 0x03) + ((SSIT & 0x0C) >> 0x02
5369 ))
5370 If (0x05 == Local0)
5371 {
5372 PMD1 = 0x0C
5373 }
5374 ElseIf (0x03 == Local0)
5375 {
5376 PMD1 = 0x0B
5377 }
5378 Else
5379 {
5380 PMD1 = 0x0A
5381 }
5382 }
5383 }
5384 Else
5385 {
5386 PMD1 = One
5387 }
5388
5389 If (SYNC & 0x08)
5390 {
5391 DMD1 = (SDT3 | 0x40)
5392 If (ICR1 & 0x08)
5393 {
5394 If (ICR0 & 0x08)
5395 {
5396 DMD1 += 0x02
5397 }
5398
5399 If (ICR3 & 0x08)
5400 {
5401 DMD1 = 0x45
5402 }
5403 }
5404 }
5405 Else
5406 {
5407 DMD1 = (((PMD1 & 0x07) - 0x02) | 0x20)
5408 }
5409
5410 Return (SIB1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.SIB1 */
5411 }
5412
5413 Return (Zero)
5414 }
5415 }
5416 }
5417
5418 Device (PRT0)
5419 {
5420 Name (_ADR, 0xFFFF) // _ADR: Address
5421 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
5422 {
5423 If (SCFG == 0x04)
5424 {
5425 Name (GBU0, Buffer (0x07)
5426 {
5427 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 /* ....... */
5428 })
5429 CreateByteField (GBU0, Zero, GB00)
5430 CreateByteField (GBU0, One, GB01)
5431 CreateByteField (GBU0, 0x02, GB02)
5432 CreateByteField (GBU0, 0x03, GB03)
5433 CreateByteField (GBU0, 0x04, GB04)
5434 CreateByteField (GBU0, 0x05, GB05)
5435 CreateByteField (GBU0, 0x06, GB06)
5436 If (SizeOf (Arg0) == 0x0200)
5437 {
5438 CreateWordField (Arg0, 0x9C, W780)
5439 CreateWordField (Arg0, 0x9E, W790)
5440 If (W780 && 0x04)
5441 {
5442 If ((W790 & 0x04) == Zero)
5443 {
5444 GB00 = 0x10
5445 GB01 = 0x03
5446 GB06 = 0xEF
5447 }
5448 }
5449 }
5450
5451 GTF0 = GBU0 /* \_SB_.PCI0.SATA.PRT0._SDD.GBU0 */
5452 }
5453 }
5454
5455 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
5456 {
5457 If ((SCFG == 0x04) && (AIBT == Zero))
5458 {
5459 Return (GTF0) /* \GTF0 */
5460 }
5461
5462 Return (Zero)
5463 }
5464 }
5465
5466 Device (PRT2)
5467 {
5468 Name (_ADR, 0x0002FFFF) // _ADR: Address
5469 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
5470 {
5471 If (SCFG == 0x04)
5472 {
5473 Name (GBU2, Buffer (0x07)
5474 {
5475 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00 /* ....... */
5476 })
5477 CreateByteField (GBU2, Zero, GB20)
5478 CreateByteField (GBU2, One, GB21)
5479 CreateByteField (GBU2, 0x02, GB22)
5480 CreateByteField (GBU2, 0x03, GB23)
5481 CreateByteField (GBU2, 0x04, GB24)
5482 CreateByteField (GBU2, 0x05, GB25)
5483 CreateByteField (GBU2, 0x06, GB26)
5484 If (SizeOf (Arg0) == 0x0200)
5485 {
5486 CreateWordField (Arg0, 0x9C, W782)
5487 CreateWordField (Arg0, 0x9E, W792)
5488 If (W782 && 0x04)
5489 {
5490 If ((W792 & 0x04) == Zero)
5491 {
5492 GB20 = 0x10
5493 GB21 = 0x03
5494 GB26 = 0xEF
5495 }
5496 }
5497 }
5498
5499 GTF2 = GBU2 /* \_SB_.PCI0.SATA.PRT2._SDD.GBU2 */
5500 }
5501 }
5502
5503 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
5504 {
5505 If ((SCFG == 0x04) && (AIBT == Zero))
5506 {
5507 Return (GTF2) /* \GTF2 */
5508 }
5509
5510 Return (Zero)
5511 }
5512 }
5513 }
5514
5515 Device (WMID)
5516 {
5517 Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */) // _HID: Hardware ID
5518 Name (_UID, Zero) // _UID: Unique ID
5519 Name (ERRD, 0x00010000)
5520 Name (BUFF, Buffer (0x04)
5521 {
5522 0x00, 0x00, 0x00, 0x00 /* .... */
5523 })
5524 CreateByteField (BUFF, Zero, BF00)
5525 CreateByteField (BUFF, One, BF01)
5526 CreateByteField (BUFF, 0x02, BF02)
5527 CreateByteField (BUFF, 0x03, BF03)
5528 Name (BUF1, Buffer (0x04)
5529 {
5530 0x00, 0x00, 0x00, 0x00 /* .... */
5531 })
5532 Name (AADS, Buffer (0x04)
5533 {
5534 0x00 /* . */
5535 })
5536 CreateField (AADS, Zero, 0x04, AS00)
5537 CreateField (AADS, 0x04, One, AS01)
5538 CreateField (AADS, 0x05, One, AS02)
5539 CreateField (AADS, 0x10, 0x10, AS03)
5540 Name (BAEF, Zero)
5541 Name (BADF, Zero)
5542 Name (BADG, Package (0x0D)
5543 {
5544 Zero,
5545 Zero,
5546 Zero,
5547 Zero,
5548 Zero,
5549 Zero,
5550 Zero,
5551 0x00010000,
5552 0x00010000,
5553 0x00010000,
5554 0x00010000,
5555 Zero,
5556 0x00010000
5557 })
5558 Name (WLDS, Zero)
5559 Name (WLED, Zero)
5560 Name (BTDS, Zero)
5561 Name (BTED, Zero)
5562 Name (BLDS, Zero)
5563 Name (BLED, Zero)
5564 Name (NTDC, Zero)
5565 Name (NTDV, Zero)
5566 Name (WLSD, 0x0100)
5567 Name (WLSE, 0x0101)
5568 Name (BLTD, 0x0200)
5569 Name (BLTE, 0x0201)
5570 Name (LBL0, 0x0300)
5571 Name (LBL1, 0x0301)
5572 Name (LBL2, 0x0302)
5573 Name (LBL3, 0x0303)
5574 Name (LBL4, 0x0304)
5575 Name (LBL5, 0x0305)
5576 Name (LBL6, 0x0306)
5577 Name (LBL7, 0x0307)
5578 Name (LBL8, 0x0308)
5579 Name (LBL9, 0x0309)
5580 Name (LBLA, 0x030A)
5581 Name (LBLB, 0x030B)
5582 Name (LBLC, 0x030C)
5583 Name (LBLD, 0x030D)
5584 Name (LBLE, 0x030E)
5585 Name (LBLF, 0x030F)
5586 Name (CADI, 0x0401)
5587 Name (CADO, 0x0400)
5588 Name (GSEE, 0x0501)
5589 Name (GSED, 0x0502)
5590 Name (VAPI, 0x0601)
5591 Name (VAPO, 0x0600)
5592 Name (WBBO, 0x0701)
5593 Name (WBBI, 0x0700)
5594 Name (G3MD, 0x0800)
5595 Name (G3ME, 0x0801)
5596 Name (LANI, 0x0900)
5597 Name (LANO, 0x0901)
5598 Name (LDOF, 0x0A00)
5599 Name (LDON, 0x0A01)
5600 Name (FNKE, 0x00010002)
5601 Name (FNF5, 0x00015001)
5602 Name (BBSB, Buffer (0x04)
5603 {
5604 0x00, 0x00, 0x00, 0x00 /* .... */
5605 })
5606 CreateField (BBSB, Zero, 0x10, BBD0)
5607 CreateField (BBSB, 0x10, 0x10, BBD1)
5608 Name (TLS0, Zero)
5609 Name (TLS1, One)
5610 Name (TLS2, 0x02)
5611 Name (TLS3, 0x03)
5612 Name (TLS4, 0x04)
5613 Name (TLS5, 0x05)
5614 Name (TLS6, 0x06)
5615 Name (TLS7, 0x07)
5616 Name (BCDS, Package (0x0D)
5617 {
5618 0x00010000,
5619 0x00010000,
5620 0x00010000,
5621 0x00010000,
5622 0x00010000,
5623 0x00010000,
5624 0x00010000,
5625 0x00010000,
5626 0x00010000,
5627 0x00010000,
5628 0x00010000,
5629 0x00010000,
5630 0x00010000
5631 })
5632 Name (BDDS, Buffer (0x04)
5633 {
5634 0x00, 0x00, 0x00, 0x00 /* .... */
5635 })
5636 CreateField (BDDS, Zero, 0x10, BDD0)
5637 CreateField (BDDS, 0x10, 0x10, BDD1)
5638 Name (DSY0, Buffer (0x28)
5639 {
5640 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5641 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5642 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5643 /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5644 /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
5645 })
5646 Name (DSY1, Buffer (0x18)
5647 {
5648 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5649 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5650 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
5651 })
5652 Name (DSY2, Buffer (0x10)
5653 {
5654 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5655 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
5656 })
5657 Name (DSY3, Buffer (0x18)
5658 {
5659 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5660 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5661 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
5662 })
5663 Name (DSY4, Buffer (0x10)
5664 {
5665 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5666 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
5667 })
5668 Name (DSY5, Buffer (0x28)
5669 {
5670 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5671 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5672 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5673 /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5674 /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */
5675 })
5676 CreateField (DSY0, Zero, 0x40, DY00)
5677 CreateField (DSY0, 0x40, 0x40, DY01)
5678 CreateField (DSY0, 0x80, 0x40, DY02)
5679 CreateField (DSY0, 0xC0, 0x40, DY03)
5680 CreateField (DSY0, 0x0100, 0x40, DY04)
5681 CreateField (DSY1, Zero, 0x40, DY10)
5682 CreateField (DSY1, 0x40, 0x40, DY11)
5683 CreateField (DSY1, 0x80, 0x40, DY12)
5684 CreateField (DSY2, Zero, 0x40, DY20)
5685 CreateField (DSY2, 0x40, 0x10, DY21)
5686 CreateField (DSY2, 0x50, 0x10, DY22)
5687 CreateField (DSY0, Zero, 0xC0, DSX4)
5688 Name (BEDS, Package (0x12)
5689 {
5690 0x00010000,
5691 0x00010000,
5692 0x00010000,
5693 0x00010000,
5694 0x00010000,
5695 0x00010000,
5696 0x00010000,
5697 0x00010000,
5698 0x00010000,
5699 0x00010000,
5700 0x00010000,
5701 0x00010000,
5702 0x00010000,
5703 0x00010000,
5704 0x00010000,
5705 0x00010000,
5706 0x00010000,
5707 0x00010000
5708 })
5709 Name (WIT0, Zero)
5710 Name (DSY6, Buffer (0x14)
5711 {
5712 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5713 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5714 /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */
5715 })
5716 CreateField (DSY6, Zero, 0x20, DY60)
5717 CreateField (DSY6, 0x20, 0x20, DY61)
5718 CreateField (DSY6, 0x40, 0x20, DY62)
5719 CreateField (DSY6, 0x60, 0x20, DY63)
5720 CreateField (DSY6, 0x80, 0x20, DY64)
5721 Name (WPRW, Buffer (0x14)
5722 {
5723 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5724 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */
5725 /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */
5726 })
5727 CreateField (WPRW, Zero, 0x08, WWD0)
5728 CreateField (WPRW, 0x08, 0x08, WWD1)
5729 CreateField (WPRW, 0x10, 0x08, WWD2)
5730 CreateField (WPRW, 0x18, 0x08, WWD3)
5731 CreateField (WPRW, 0x20, 0x08, WWD4)
5732 CreateField (WPRW, 0x28, 0x20, WWD5)
5733 Name (WPCI, Buffer (0x04)
5734 {
5735 0x00, 0x00, 0x00, 0x00 /* .... */
5736 })
5737 CreateField (WPCI, Zero, 0x08, WPIR)
5738 CreateField (WPCI, 0x08, 0x03, WPIF)
5739 CreateField (WPCI, 0x0B, 0x05, WPID)
5740 CreateField (WPCI, 0x10, 0x08, WPIB)
5741 Name (BFDS, Package (0x04)
5742 {
5743 0x02,
5744 0x02,
5745 0x02,
5746 0x02
5747 })
5748 Name (GSTS, Zero)
5749 Name (BFEF, Zero)
5750 Name (BGEF, Zero)
5751 Name (BGDS, Package (0x01)
5752 {
5753 One
5754 })
5755 Method (AAF1, 0, NotSerialized)
5756 {
5757 AS02 = Zero
5758 AS03 = Zero
5759 }
5760
5761 Method (WGDS, 1, NotSerialized)
5762 {
5763 Name (T_0, Zero)
5764 T_0 = Arg0
5765 If (T_0 == One) {}
5766 ElseIf (T_0 == 0x02) {}
5767 ElseIf (T_0 == 0x03) {}
5768 ElseIf (T_0 == 0x08)
5769 {
5770 BADG [0x07] = One
5771 }
5772 ElseIf (T_0 == 0x09)
5773 {
5774 BADG [0x08] = Zero
5775 }
5776 ElseIf (T_0 == 0x0C) {}
5777 ElseIf (T_0 == 0x0D) {}
5778 }
5779
5780 Method (WSDS, 2, NotSerialized)
5781 {
5782 BUFF = Arg1
5783 Local0 = Arg0
5784 Local1 = BF00 /* \_SB_.PCI0.WMID.BF00 */
5785 BADG [(Local0 - One)] = Zero
5786 Name (T_0, Zero)
5787 T_0 = Local1
5788 If (T_0 == Zero)
5789 {
5790 Name (T_1, Zero)
5791 T_1 = Local0
5792 If (T_1 == 0x04) {}
5793 ElseIf (T_1 == 0x05) {}
5794 ElseIf (T_1 == 0x06) {}
5795 ElseIf (T_1 == 0x07)
5796 {
5797 BAEF = Zero
5798 }
5799 Else
5800 {
5801 BADG [(Local0 - One)] = 0x0100
5802 }
5803 }
5804 Else
5805 {
5806 Name (T_2, Zero)
5807 T_2 = Local0
5808 If (T_2 == 0x04) {}
5809 ElseIf (T_2 == 0x05) {}
5810 ElseIf (T_2 == 0x06) {}
5811 ElseIf (T_2 == 0x07)
5812 {
5813 BAEF = One
5814 }
5815 Else
5816 {
5817 BADG [(Local0 - One)] = 0x0100
5818 }
5819 }
5820 }
5821
5822 Method (OEMN, 0, NotSerialized)
5823 {
5824 If (BGEF == One)
5825 {
5826 Local0 = NTDV /* \_SB_.PCI0.WMID.NTDV */
5827 If (Local0 != Zero)
5828 {
5829 NTDV = Zero
5830 Return (Local0)
5831 }
5832 }
5833
5834 If (BAEF == One)
5835 {
5836 Local0 = NTDC /* \_SB_.PCI0.WMID.NTDC */
5837 If (Local0 != Zero)
5838 {
5839 NTDC = Zero
5840 Return (Local0)
5841 }
5842 }
5843
5844 If (BFEF == One) {}
5845 Return (Zero)
5846 }
5847
5848 Method (STRL, 2, NotSerialized)
5849 {
5850 Local0 = Arg0
5851 BUFF = Arg1
5852 BBSB = Zero
5853 Name (T_0, Zero)
5854 T_0 = Local0
5855 If (T_0 == One) {}
5856 ElseIf (T_0 == 0x02) {}
5857 Else
5858 {
5859 BBSB = 0x00010000
5860 }
5861 }
5862
5863 Method (WODP, 2, NotSerialized)
5864 {
5865 If (Arg0 == 0x03) {}
5866 Else
5867 {
5868 BCDS [(Arg0 - One)] = One
5869 }
5870
5871 If (Arg0 == 0x0C)
5872 {
5873 If (Arg1) {}
5874 Else
5875 {
5876 }
5877 }
5878 Else
5879 {
5880 }
5881 }
5882
5883 Method (GCPU, 1, NotSerialized)
5884 {
5885 DSY0 = DSY5 /* \_SB_.PCI0.WMID.DSY5 */
5886 Local0 = Arg0
5887 Local2 = IHWM (Zero, Arg0)
5888 DSY6 = Local2
5889 DY00 = DY60 /* \_SB_.PCI0.WMID.DY60 */
5890 DY01 = DY61 /* \_SB_.PCI0.WMID.DY61 */
5891 DY02 = DY62 /* \_SB_.PCI0.WMID.DY62 */
5892 DY03 = DY63 /* \_SB_.PCI0.WMID.DY63 */
5893 }
5894
5895 Method (MSRR, 1, NotSerialized)
5896 {
5897 DSY1 = DSY3 /* \_SB_.PCI0.WMID.DSY3 */
5898 DY00 = Arg0
5899 Local2 = IHWM (One, Arg0)
5900 DSY6 = Local2
5901 DY10 = DY60 /* \_SB_.PCI0.WMID.DY60 */
5902 DY11 = DY61 /* \_SB_.PCI0.WMID.DY61 */
5903 WIT0 = Zero
5904 DY12 = WIT0 /* \_SB_.PCI0.WMID.WIT0 */
5905 }
5906
5907 Method (MSRW, 1, NotSerialized)
5908 {
5909 DSY1 = DSY3 /* \_SB_.PCI0.WMID.DSY3 */
5910 Local2 = IHWM (0x02, Arg0)
5911 DSY6 = Local2
5912 DY10 = DY60 /* \_SB_.PCI0.WMID.DY60 */
5913 DY11 = DY61 /* \_SB_.PCI0.WMID.DY61 */
5914 WIT0 = Zero
5915 DY12 = WIT0 /* \_SB_.PCI0.WMID.WIT0 */
5916 }
5917
5918 Method (C4C3, 2, NotSerialized)
5919 {
5920 }
5921
5922 Method (CPUF, 0, NotSerialized)
5923 {
5924 }
5925
5926 Method (CPUT, 0, NotSerialized)
5927 {
5928 }
5929
5930 Method (PCIR, 1, NotSerialized)
5931 {
5932 Local0 = Arg0
5933 Local2 = IHWM (0x03, Arg0)
5934 DY20 = Local2
5935 DSY6 = Local2
5936 DSY2 = DSY4 /* \_SB_.PCI0.WMID.DSY4 */
5937 DY20 = DY60 /* \_SB_.PCI0.WMID.DY60 */
5938 }
5939
5940 Method (PCIW, 1, NotSerialized)
5941 {
5942 Local0 = Arg0
5943 DY20 = Arg0
5944 Local2 = IHWM (0x04, Arg0)
5945 DSY6 = Local2
5946 BUFF = DY61 /* \_SB_.PCI0.WMID.DY61 */
5947 }
5948
5949 Method (CPUS, 0, NotSerialized)
5950 {
5951 Local2 = IHWM (0x05, Zero)
5952 BUFF = Local2
5953 BCDS [0x0C] = BUFF /* \_SB_.PCI0.WMID.BUFF */
5954 }
5955
5956 Method (PCID, 1, NotSerialized)
5957 {
5958 Local2 = IHWM (0x06, Arg0)
5959 DSY6 = Local2
5960 }
5961
5962 Method (BTIF, 2, NotSerialized)
5963 {
5964 Local0 = Arg0
5965 BUFF = Arg1
5966 If (Local0 == 0x0D)
5967 {
5968 BF00 = BF02 /* \_SB_.PCI0.WMID.BF02 */
5969 Local1 = BF01 /* \_SB_.PCI0.WMID.BF01 */
5970 BF00 = BF02 /* \_SB_.PCI0.WMID.BF02 */
5971 Local1 = BF01 /* \_SB_.PCI0.WMID.BF01 */
5972 }
5973
5974 If (Local0 == 0x0E)
5975 {
5976 If (BF00 == Zero)
5977 {
5978 BF00 = 0xFF
5979 }
5980 Else
5981 {
5982 Local1 = BF00 /* \_SB_.PCI0.WMID.BF00 */
5983 BF00 = One
5984 }
5985 }
5986 }
5987
5988 Method (CKGS, 0, NotSerialized)
5989 {
5990 GSTS = One
5991 Return (GSTS) /* \_SB_.PCI0.WMID.GSTS */
5992 }
5993
5994 Method (WSHP, 1, NotSerialized)
5995 {
5996 }
5997
5998 Method (WSSL, 1, NotSerialized)
5999 {
6000 }
6001
6002 Method (WSSP, 1, NotSerialized)
6003 {
6004 }
6005
6006 Method (WSSE, 1, NotSerialized)
6007 {
6008 }
6009
6010 Method (WSVE, 1, NotSerialized)
6011 {
6012 Local0 = Arg0
6013 If (Local0 == One)
6014 {
6015 BGEF = One
6016 }
6017 Else
6018 {
6019 BGEF = Zero
6020 }
6021
6022 BGDS [Zero] = Zero
6023 }
6024
6025 Name (_WDG, Buffer (0xDC)
6026 {
6027 /* 0000 */ 0x09, 0x4E, 0x76, 0x95, 0x56, 0xFB, 0x83, 0x4E, /* .Nv.V..N */
6028 /* 0008 */ 0xB3, 0x1A, 0x37, 0x76, 0x1F, 0x60, 0x99, 0x4A, /* ..7v.`.J */
6029 /* 0010 */ 0x41, 0x41, 0x01, 0x01, 0x58, 0xF2, 0xF4, 0x6A, /* AA..X..j */
6030 /* 0018 */ 0x01, 0xB4, 0xFD, 0x42, 0xBE, 0x91, 0x3D, 0x4A, /* ...B..=J */
6031 /* 0020 */ 0xC2, 0xD7, 0xC0, 0xD3, 0x42, 0x41, 0x01, 0x02, /* ....BA.. */
6032 /* 0028 */ 0xAC, 0x61, 0x1A, 0xCC, 0x56, 0x42, 0xA3, 0x41, /* .a..VB.A */
6033 /* 0030 */ 0xB9, 0xE0, 0x05, 0xA4, 0x45, 0xAD, 0xE2, 0xF5, /* ....E... */
6034 /* 0038 */ 0x80, 0x00, 0x01, 0x08, 0x53, 0x44, 0x8C, 0xE7, /* ....SD.. */
6035 /* 0040 */ 0x27, 0x02, 0x61, 0x48, 0x9E, 0xDE, 0xF5, 0x60, /* '.aH...` */
6036 /* 0048 */ 0x0B, 0x4A, 0x3D, 0x39, 0x42, 0x42, 0x01, 0x02, /* .J=9BB.. */
6037 /* 0050 */ 0x7B, 0x4F, 0xE0, 0xAA, 0xC5, 0xB3, 0x65, 0x48, /* {O....eH */
6038 /* 0058 */ 0x95, 0xD6, 0x9F, 0xAC, 0x7F, 0xF3, 0xE9, 0x2B, /* .......+ */
6039 /* 0060 */ 0x42, 0x43, 0x01, 0x02, 0x79, 0x4C, 0xF9, 0xCF, /* BC..yL.. */
6040 /* 0068 */ 0x77, 0x6C, 0xF7, 0x4A, 0xAC, 0x56, 0x7D, 0xD0, /* wl.J.V}. */
6041 /* 0070 */ 0xCE, 0x01, 0xC9, 0x97, 0x42, 0x44, 0x01, 0x02, /* ....BD.. */
6042 /* 0078 */ 0xC5, 0x2E, 0x77, 0x79, 0xB1, 0x04, 0xFD, 0x4B, /* ..wy...K */
6043 /* 0080 */ 0x84, 0x3C, 0x61, 0xE7, 0xF7, 0x7B, 0x6C, 0xC9, /* .<a..{l. */
6044 /* 0088 */ 0x42, 0x45, 0x01, 0x02, 0xB7, 0xA0, 0xC9, 0xA7, /* BE...... */
6045 /* 0090 */ 0x9D, 0x4C, 0x72, 0x4C, 0x83, 0xBB, 0x53, 0xA3, /* .LrL..S. */
6046 /* 0098 */ 0x45, 0x91, 0x71, 0xDF, 0x42, 0x46, 0x01, 0x02, /* E.q.BF.. */
6047 /* 00A0 */ 0x4F, 0x06, 0x3A, 0x65, 0x3A, 0xA2, 0x5F, 0x48, /* O.:e:._H */
6048 /* 00A8 */ 0xB3, 0xD9, 0x13, 0xF6, 0x53, 0x2A, 0x01, 0x82, /* ....S*.. */
6049 /* 00B0 */ 0x42, 0x47, 0x01, 0x02, 0xA7, 0xB1, 0x85, 0xDB, /* BG...... */
6050 /* 00B8 */ 0x9A, 0x06, 0xBB, 0x4A, 0xA2, 0xB5, 0xD1, 0x86, /* ...J.... */
6051 /* 00C0 */ 0xA2, 0x1B, 0x80, 0xF1, 0x81, 0x00, 0x01, 0x08, /* ........ */
6052 /* 00C8 */ 0x91, 0x6B, 0x91, 0x36, 0x64, 0x1A, 0x83, 0x45, /* .k.6d..E */
6053 /* 00D0 */ 0x84, 0xD0, 0x53, 0x83, 0x0F, 0xB9, 0x10, 0x8D, /* ..S..... */
6054 /* 00D8 */ 0x82, 0x00, 0x01, 0x08 /* .... */
6055 })
6056 Method (WQAA, 1, NotSerialized)
6057 {
6058 AAF1 ()
6059 BUFF = AADS /* \_SB_.PCI0.WMID.AADS */
6060 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6061 }
6062
6063 Method (WMBA, 3, NotSerialized)
6064 {
6065 Name (T_0, Zero)
6066 T_0 = Arg1
6067 If (Match (Package (0x08)
6068 {
6069 One,
6070 0x02,
6071 0x03,
6072 0x08,
6073 0x09,
6074 0x0A,
6075 0x0C,
6076 0x0D
6077 }, MEQ, T_0, MTR, Zero, Zero) != Ones)
6078 {
6079 Local0 = Zero
6080 }
6081 ElseIf (Match (Package (0x05)
6082 {
6083 0x04,
6084 0x05,
6085 0x06,
6086 0x07,
6087 0x0B
6088 }, MEQ, T_0, MTR, Zero, Zero) != Ones)
6089 {
6090 If (Arg1 == 0x07)
6091 {
6092 BUFF = Arg2
6093 If (BF00)
6094 {
6095 BAEF = One
6096 }
6097 }
6098
6099 Local0 = One
6100 }
6101
6102 If (Local0)
6103 {
6104 WSDS (Arg1, Arg2)
6105 }
6106 Else
6107 {
6108 WGDS (Arg1)
6109 }
6110
6111 BUFF = DerefOf (BADG [(Arg1 - One)])
6112 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6113 }
6114
6115 Method (_WED, 1, NotSerialized) // _Wxx: Wake Event
6116 {
6117 If (Arg0 >= 0x80)
6118 {
6119 If (Arg0 < 0x83)
6120 {
6121 Return (OEMN ())
6122 }
6123 }
6124
6125 Return (Zero)
6126 }
6127
6128 Method (WMBB, 3, NotSerialized)
6129 {
6130 STRL (Arg1, Arg2)
6131 If (Arg1 == One)
6132 {
6133 BUFF = BBSB /* \_SB_.PCI0.WMID.BBSB */
6134 }
6135
6136 If (Arg1 == 0x02)
6137 {
6138 BUFF = BBD1 /* \_SB_.PCI0.WMID.BBD1 */
6139 }
6140
6141 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6142 }
6143
6144 Method (WMBC, 3, NotSerialized)
6145 {
6146 WODP (Arg1, Arg2)
6147 If (Arg1 < 0x0A)
6148 {
6149 Local0 = (Arg1 - One)
6150 BUFF = DerefOf (BCDS [(Arg1 - One)])
6151 }
6152 Else
6153 {
6154 BUFF = (DerefOf (BCDS [(Arg1 - 0x0A)]) >> 0x10)
6155 }
6156
6157 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6158 }
6159
6160 Method (WMBD, 3, NotSerialized)
6161 {
6162 If (Arg1 == One)
6163 {
6164 BUFF = Arg2
6165 Local0 = BUFF /* \_SB_.PCI0.WMID.BUFF */
6166 WIT0 = Arg2
6167 GCPU (WIT0)
6168 Return (DSY0) /* \_SB_.PCI0.WMID.DSY0 */
6169 }
6170
6171 If (Arg1 == 0x02)
6172 {
6173 Local0 = Arg2
6174 MSRR (Arg2)
6175 Return (DSY1) /* \_SB_.PCI0.WMID.DSY1 */
6176 }
6177
6178 If (Arg1 == 0x03)
6179 {
6180 Local0 = Arg2
6181 MSRW (Arg2)
6182 Return (DSY1) /* \_SB_.PCI0.WMID.DSY1 */
6183 }
6184
6185 If (Arg1 == 0x04)
6186 {
6187 C4C3 (Arg1, Arg2)
6188 BUFF = (DerefOf (BCDS [(Arg1 + 0x05)]) >> 0x10)
6189 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6190 }
6191
6192 If (Arg1 == 0x05)
6193 {
6194 C4C3 (Arg1, Arg2)
6195 BUFF = DerefOf (BCDS [(Arg1 + 0x04)])
6196 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6197 }
6198
6199 If (Arg1 == 0x06)
6200 {
6201 CPUF ()
6202 BUFF = DerefOf (BCDS [(Arg1 + 0x04)])
6203 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6204 }
6205
6206 If (Arg1 == 0x07)
6207 {
6208 CPUT ()
6209 BUFF = DerefOf (BCDS [(Arg1 + 0x04)])
6210 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6211 }
6212
6213 If (Arg1 == 0x08)
6214 {
6215 WPRW = Arg2
6216 WPIR = WWD1 /* \_SB_.PCI0.WMID.WWD1 */
6217 WPIF = WWD2 /* \_SB_.PCI0.WMID.WWD2 */
6218 WPID = WWD3 /* \_SB_.PCI0.WMID.WWD3 */
6219 WPIB = WWD4 /* \_SB_.PCI0.WMID.WWD4 */
6220 Concatenate (WPCI, WWD0, Local0)
6221 PCIR (Local0)
6222 Return (DSY2) /* \_SB_.PCI0.WMID.DSY2 */
6223 }
6224
6225 If (Arg1 == 0x09)
6226 {
6227 DSY6 = Arg2
6228 Local0 = DY60 /* \_SB_.PCI0.WMID.DY60 */
6229 DSY0 = Arg2
6230 WPRW = DY01 /* \_SB_.PCI0.WMID.DY01 */
6231 WPIR = WWD1 /* \_SB_.PCI0.WMID.WWD1 */
6232 WPIF = WWD2 /* \_SB_.PCI0.WMID.WWD2 */
6233 WPID = WWD3 /* \_SB_.PCI0.WMID.WWD3 */
6234 WPIB = WWD4 /* \_SB_.PCI0.WMID.WWD4 */
6235 Local1 = WPCI /* \_SB_.PCI0.WMID.WPCI */
6236 Concatenate (DY60, WPCI, Local0)
6237 Concatenate (Local0, WWD0, Local1)
6238 PCIW (Local1)
6239 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6240 }
6241
6242 If (Arg1 == 0x0A)
6243 {
6244 CPUS ()
6245 BUFF = DerefOf (BCDS [(Arg1 + 0x02)])
6246 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6247 }
6248
6249 If (Arg1 == 0x0B)
6250 {
6251 PCID (Arg2)
6252 Return (DSY6) /* \_SB_.PCI0.WMID.DSY6 */
6253 }
6254
6255 Return (Zero)
6256 }
6257
6258 Method (WMBE, 3, NotSerialized)
6259 {
6260 BTIF (Arg1, Arg2)
6261 Debug = BUFF /* \_SB_.PCI0.WMID.BUFF */
6262 Debug = BEDS /* \_SB_.PCI0.WMID.BEDS */
6263 BUFF = DerefOf (BEDS [(Arg1 - One)])
6264 Debug = BUFF /* \_SB_.PCI0.WMID.BUFF */
6265 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6266 }
6267
6268 Method (WMBF, 3, NotSerialized)
6269 {
6270 }
6271
6272 Method (WMBG, 3, NotSerialized)
6273 {
6274 BUFF = Arg2
6275 WSVE (BF00)
6276 BUFF = DerefOf (BGDS [(Arg1 - One)])
6277 Debug = BUFF /* \_SB_.PCI0.WMID.BUFF */
6278 Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
6279 }
6280 }
6281 }
6282 }
6283
6284 Scope (\)
6285 {
6286 Name (SSDT, Package (0x0C)
6287 {
6288 "CPU0IST ",
6289 0x5F380C90,
6290 0x00000239,
6291 "CPU1IST ",
6292 0x5F380F10,
6293 0x000000D0,
6294 "CPU0CST ",
6295 0x5F37FE10,
6296 0x000001C7,
6297 "CPU1CST ",
6298 0x5F37EF10,
6299 0x00000083
6300 })
6301 Name (CFGD, 0x013068B1)
6302 Name (\PDC0, 0x80000000)
6303 Name (\PDC1, 0x80000000)
6304 Name (\SDTL, Zero)
6305 }
6306
6307 Scope (\_PR.CPU0)
6308 {
6309 Name (HI0, Zero)
6310 Name (HC0, Zero)
6311 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
6312 {
6313 CreateDWordField (Arg0, Zero, REVS)
6314 CreateDWordField (Arg0, 0x04, SIZE)
6315 Local0 = SizeOf (Arg0)
6316 Local1 = (Local0 - 0x08)
6317 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
6318 Name (STS0, Buffer (0x04)
6319 {
6320 0x00, 0x00, 0x00, 0x00 /* .... */
6321 })
6322 Concatenate (STS0, TEMP, Local2)
6323 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
6324 }
6325
6326 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
6327 {
6328 CreateDWordField (Arg3, Zero, STS0)
6329 CreateDWordField (Arg3, 0x04, CAP0)
6330 CreateDWordField (Arg0, Zero, IID0)
6331 CreateDWordField (Arg0, 0x04, IID1)
6332 CreateDWordField (Arg0, 0x08, IID2)
6333 CreateDWordField (Arg0, 0x0C, IID3)
6334 Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
6335 CreateDWordField (UID0, Zero, EID0)
6336 CreateDWordField (UID0, 0x04, EID1)
6337 CreateDWordField (UID0, 0x08, EID2)
6338 CreateDWordField (UID0, 0x0C, EID3)
6339 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
6340 IID2 == EID2) && (IID3 == EID3))))
6341 {
6342 STS0 [Zero] = 0x06
6343 Return (Arg3)
6344 }
6345
6346 If (Arg1 != One)
6347 {
6348 STS0 [Zero] = 0x0A
6349 Return (Arg3)
6350 }
6351
6352 PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0._OSC.CAP0 */
6353 If (CFGD & One)
6354 {
6355 If (((CFGD & 0x01000000) && ((PDC0 & 0x09) ==
6356 0x09)) && !(SDTL & One))
6357 {
6358 SDTL |= One
6359 OperationRegion (IST0, SystemMemory, DerefOf (SSDT [One]), DerefOf (SSDT [0x02]))
6360 Load (IST0, HI0) /* \_PR_.CPU0.HI0_ */
6361 }
6362 }
6363
6364 If (CFGD & 0xF0)
6365 {
6366 If (((CFGD & 0x01000000) && (PDC0 & 0x18)) && !
6367 (SDTL & 0x02))
6368 {
6369 SDTL |= 0x02
6370 OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
6371 Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
6372 }
6373 }
6374
6375 Return (Arg3)
6376 }
6377 }
6378
6379 Scope (\_PR.CPU1)
6380 {
6381 Name (HI1, Zero)
6382 Name (HC1, Zero)
6383 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
6384 {
6385 CreateDWordField (Arg0, Zero, REVS)
6386 CreateDWordField (Arg0, 0x04, SIZE)
6387 Local0 = SizeOf (Arg0)
6388 Local1 = (Local0 - 0x08)
6389 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
6390 Name (STS1, Buffer (0x04)
6391 {
6392 0x00, 0x00, 0x00, 0x00 /* .... */
6393 })
6394 Concatenate (STS1, TEMP, Local2)
6395 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
6396 }
6397
6398 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
6399 {
6400 CreateDWordField (Arg3, Zero, STS1)
6401 CreateDWordField (Arg3, 0x04, CAP1)
6402 CreateDWordField (Arg0, Zero, IID0)
6403 CreateDWordField (Arg0, 0x04, IID1)
6404 CreateDWordField (Arg0, 0x08, IID2)
6405 CreateDWordField (Arg0, 0x0C, IID3)
6406 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
6407 CreateDWordField (UID1, Zero, EID0)
6408 CreateDWordField (UID1, 0x04, EID1)
6409 CreateDWordField (UID1, 0x08, EID2)
6410 CreateDWordField (UID1, 0x0C, EID3)
6411 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
6412 IID2 == EID2) && (IID3 == EID3))))
6413 {
6414 STS1 [Zero] = 0x06
6415 Return (Arg3)
6416 }
6417
6418 If (Arg1 != One)
6419 {
6420 STS1 [Zero] = 0x0A
6421 Return (Arg3)
6422 }
6423
6424 PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1._OSC.CAP1 */
6425 If (CFGD & One)
6426 {
6427 If (((CFGD & 0x01000000) && ((PDC1 & 0x09) ==
6428 0x09)) && !(SDTL & 0x10))
6429 {
6430 SDTL |= 0x10
6431 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
6432 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
6433 }
6434 }
6435
6436 If (CFGD & 0xF0)
6437 {
6438 If (((CFGD & 0x01000000) && (PDC1 & 0x18)) && !
6439 (SDTL & 0x20))
6440 {
6441 SDTL |= 0x20
6442 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
6443 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
6444 }
6445 }
6446
6447 Return (Arg3)
6448 }
6449 }
6450 }
Attached Files
To refer to attachments on a page, use attachment:filename, as shown below in the list of files. Do NOT use the URL of the [get] link, since this is subject to change and can break easily.You are not allowed to attach a file to this page.