Attachment 'acpidump.txt'
Download 1 /*
2 RSD PTR: OEM=Sony, ACPI_Rev=2.0x (2)
3 XSDT=0x00000000daffee18, length=36, cksum=253
4 */
5 /*
6 XSDT: Length=116, Revision=1, Checksum=190,
7 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
8 Creator ID=MSFT, Creator Revision=0x10013
9 Entries={ 0x00000000daf9ad98, 0x00000000daffdf18, 0x00000000dafe6d18, 0x00000000daf9b018, 0x00000000daf9cc18, 0x00000000dafe6c98, 0x00000000daf90018, 0x00000000daf8f018, 0x00000000dafe5b18, 0x00000000daf9ac18 }
10 */
11 /*
12 FACP: Length=244, Revision=4, Checksum=255,
13 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
14 Creator ID=MSFT, Creator Revision=0x10013
15 FACS=0xdafe5e40, DSDT=0xdaf82018
16 INT_MODEL=APIC
17 Preferred_PM_Profile=Mobile (2)
18 SCI_INT=9
19 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0
20 PSTATE_CNT=0x80
21 PM1a_EVT_BLK=0x400-0x403
22 PM1a_CNT_BLK=0x404-0x405
23 PM2_CNT_BLK=0x450-0x450
24 PM_TMR_BLK=0x408-0x40b
25 GPE0_BLK=0x420-0x42f
26 CST_CNT=0x85
27 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
28 FLUSH_SIZE=1024, FLUSH_STRIDE=16
29 DUTY_OFFSET=1, DUTY_WIDTH=3
30 DAY_ALRM=13, MON_ALRM=0, CENTURY=50
31 IAPC_BOOT_ARCH={8042,NO_ASPM}
32 Flags={WBINVD,C1_SUPPORTED,POWER_BUTTON,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON}
33 RESET_REG=0x64:0[8] (IO), RESET_VALUE=0xfe
34 */
35 /*
36 FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
37 Global_Lock=
38 Flags=
39 Version=0
40 */
41 /*
42 DSDT: Length=33816, Revision=1, Checksum=58,
43 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
44 Creator ID=INTL, Creator Revision=0x20091112
45 */
46 /*
47 APIC: Length=204, Revision=2, Checksum=60,
48 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
49 Creator ID=MSFT, Creator Revision=0x10013
50 Local APIC ADDR=0xfee00000
51 Flags={PC-AT}
52
53 Type=Local APIC
54 ACPI CPU=1
55 Flags={ENABLED}
56 APIC ID=0
57
58 Type=Local APIC
59 ACPI CPU=2
60 Flags={ENABLED}
61 APIC ID=2
62
63 Type=Local APIC
64 ACPI CPU=3
65 Flags={ENABLED}
66 APIC ID=1
67
68 Type=Local APIC
69 ACPI CPU=4
70 Flags={ENABLED}
71 APIC ID=3
72
73 Type=Local APIC
74 ACPI CPU=5
75 Flags={DISABLED}
76 APIC ID=4
77
78 Type=Local APIC
79 ACPI CPU=6
80 Flags={DISABLED}
81 APIC ID=5
82
83 Type=Local APIC
84 ACPI CPU=7
85 Flags={DISABLED}
86 APIC ID=6
87
88 Type=Local APIC
89 ACPI CPU=8
90 Flags={DISABLED}
91 APIC ID=7
92
93 Type=Local APIC
94 ACPI CPU=9
95 Flags={DISABLED}
96 APIC ID=8
97
98 Type=Local APIC
99 ACPI CPU=10
100 Flags={DISABLED}
101 APIC ID=9
102
103 Type=Local APIC
104 ACPI CPU=11
105 Flags={DISABLED}
106 APIC ID=10
107
108 Type=Local APIC
109 ACPI CPU=12
110 Flags={DISABLED}
111 APIC ID=11
112
113 Type=Local APIC
114 ACPI CPU=13
115 Flags={DISABLED}
116 APIC ID=12
117
118 Type=Local APIC
119 ACPI CPU=14
120 Flags={DISABLED}
121 APIC ID=13
122
123 Type=Local APIC
124 ACPI CPU=15
125 Flags={DISABLED}
126 APIC ID=14
127
128 Type=Local APIC
129 ACPI CPU=16
130 Flags={DISABLED}
131 APIC ID=15
132
133 Type=IO APIC
134 APIC ID=2
135 INT BASE=0
136 ADDR=0x00000000fec00000
137
138 Type=INT Override
139 BUS=0
140 IRQ=0
141 INTR=2
142 Flags={Polarity=conforming, Trigger=conforming}
143
144 Type=INT Override
145 BUS=0
146 IRQ=9
147 INTR=9
148 Flags={Polarity=active-hi, Trigger=level}
149 */
150 /*
151 HPET: Length=56, Revision=1, Checksum=150,
152 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
153 Creator ID=MSFT, Creator Revision=0x3
154 HPET Number=0
155 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
156 Comparators=7
157 Counter Size=1
158 Legacy IRQ routing capable={TRUE}
159 PCI Vendor ID=0x8086
160 Minimal Tick=14318
161 Flags=0x00
162 */
163 /*
164 SSDT: Length=2612, Revision=1, Checksum=200,
165 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
166 Creator ID=INTL, Creator Revision=0x20091112
167 */
168 /*
169 SLIC: Length=374, Revision=1, Checksum=91,
170 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
171 Creator ID=Sony, Creator Revision=0x1000000
172 */
173 /*
174 MCFG: Length=60, Revision=1, Checksum=124,
175 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
176 Creator ID=MSFT, Creator Revision=0x97
177
178 Base Address=0x00000000f8000000
179 Segment Group=0x0000
180 Start Bus=0
181 End Bus=63
182 */
183 /*
184 SSDT: Length=2035, Revision=1, Checksum=160,
185 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
186 Creator ID=INTL, Creator Revision=0x20091112
187 */
188 /*
189 SSDT: Length=2634, Revision=1, Checksum=227,
190 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
191 Creator ID=INTL, Creator Revision=0x20091112
192 */
193 /*
194 ECDT: Length=193, Revision=1, Checksum=63,
195 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
196 Creator ID=MSFT, Creator Revision=0x3
197 EC_CONTROL=0x66:0[8] (IO)
198 EC_DATA=0x62:0[8] (IO)
199 UID=0, GPE_BIT=0x17
200 EC_ID=\_SB.PCI0.LPCB.EC
201 */
202 /*
203 SSDT: Length=311, Revision=1, Checksum=157,
204 OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415,
205 Creator ID=INTL, Creator Revision=0x20091112
206 */
207 /*
208 * Intel ACPI Component Architecture
209 * AML/ASL+ Disassembler version 20150515-64
210 * Copyright (c) 2000 - 2015 Intel Corporation
211 *
212 * Disassembling to symbolic ASL+ operators
213 *
214 * Disassembly of /tmp/acpidump.JQZ7M4, Thu Jun 18 09:24:14 2015
215 *
216 * Original Table Header:
217 * Signature "DSDT"
218 * Length 0x0000A130 (41264)
219 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
220 * Checksum 0x41
221 * OEM ID "Sony"
222 * OEM Table ID "VAIO"
223 * OEM Revision 0x20110415 (537986069)
224 * Compiler ID "INTL"
225 * Compiler Version 0x20091112 (537465106)
226 */
227 DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "Sony", "VAIO", 0x20110415)
228 {
229 /*
230 * iASL Warning: There were 3 external control methods found during
231 * disassembly, but additional ACPI tables to resolve these externals
232 * were not specified. This resulting disassembler output file may not
233 * compile because the disassembler did not know how many arguments
234 * to assign to these methods. To specify the tables needed to resolve
235 * external control method references, the -e option can be used to
236 * specify the filenames. Note: SSDTs can be dynamically loaded at
237 * runtime and may or may not be available via the host OS.
238 * Example iASL invocations:
239 * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
240 * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
241 * iasl -e ssdt*.aml -d dsdt.aml
242 *
243 * In addition, the -fe option can be used to specify a file containing
244 * control method external declarations with the associated method
245 * argument counts. Each line of the file must be of the form:
246 * External (<method pathname>, MethodObj, <argument count>)
247 * Invocation:
248 * iasl -fe refs.txt -d dsdt.aml
249 *
250 * The following methods were unresolved and many not compile properly
251 * because the disassembler had to guess at the number of arguments
252 * required for each:
253 */
254 External (HDOS, MethodObj) // Warning: Unresolved method, guessing 0 arguments
255 External (HNOT, MethodObj) // Warning: Unresolved method, guessing 1 arguments
256 External (IDAB, MethodObj) // Warning: Unresolved method, guessing 0 arguments
257
258 External (HWID, IntObj)
259 External (NPSS, IntObj)
260
261 Name (SS1, 0x01)
262 Name (SS2, 0x00)
263 Name (SS3, 0x01)
264 Name (SS4, 0x01)
265 Name (IOST, 0x4400)
266 Name (TOPM, 0xDF9FFFFF)
267 Name (ROMS, 0xFFE00000)
268 Name (MG1B, 0x00000000)
269 Name (MG1L, 0x00000000)
270 Name (MG2B, 0xDFA00000)
271 Name (MG2L, 0x1CA10000)
272 Name (MCHB, 0xFED10000)
273 Name (MCHL, 0x4000)
274 Name (EGPB, 0xFED19000)
275 Name (EGPL, 0x1000)
276 Name (DMIB, 0xFED18000)
277 Name (DMIL, 0x1000)
278 Name (IFPB, 0xFED14000)
279 Name (IFPL, 0x1000)
280 Name (PEBS, 0xF8000000)
281 Name (PELN, 0x04000000)
282 Name (TTTB, 0xFED20000)
283 Name (TTTL, 0x00020000)
284 Name (SMBS, 0xEFA0)
285 Name (SMBL, 0x10)
286 Name (PBLK, 0x0410)
287 Name (PMBS, 0x0400)
288 Name (PMLN, 0x80)
289 Name (LVL2, 0x0414)
290 Name (LVL3, 0x0415)
291 Name (LVL4, 0x0416)
292 Name (SMIP, 0xB2)
293 Name (GPBS, 0x0500)
294 Name (GPLN, 0x80)
295 Name (APCB, 0xFEC00000)
296 Name (APCL, 0x1000)
297 Name (PM30, 0x0430)
298 Name (SRCB, 0xFED1C000)
299 Name (SRCL, 0x4000)
300 Name (SUSW, 0xFF)
301 Name (HPTB, 0xFED00000)
302 Name (HPTC, 0xFED1F404)
303 Name (ACPH, 0xDE)
304 Name (ASSB, 0x00)
305 Name (AOTB, 0x00)
306 Name (AAXB, 0x00)
307 Name (PEHP, 0x00)
308 Name (SHPC, 0x01)
309 Name (PEPM, 0x00)
310 Name (PEER, 0x00)
311 Name (PECS, 0x00)
312 Name (ITKE, 0x00)
313 Name (FMBL, 0x01)
314 Name (FDTP, 0x02)
315 Name (FUPS, 0x03)
316 Name (BSH, 0x00)
317 Name (BEL, 0x01)
318 Name (BEH, 0x02)
319 Name (BRH, 0x03)
320 Name (BTF, 0x04)
321 Name (BHC, 0x05)
322 Name (BYB, 0x06)
323 Name (BPH, 0x07)
324 Name (BSHS, 0x08)
325 Name (BELS, 0x09)
326 Name (BRHS, 0x0A)
327 Name (BTFS, 0x0B)
328 Name (BEHS, 0x0C)
329 Name (BPHS, 0x0D)
330 Name (BTL, 0x10)
331 Name (BSR, 0x14)
332 Name (BSC, 0x1B)
333 Name (BCC, 0x1C)
334 Name (BOF, 0x20)
335 Name (BEF, 0x21)
336 Name (BLLE, 0x22)
337 Name (BLLC, 0x23)
338 Name (BLCA, 0x24)
339 Name (BLLS, 0x25)
340 Name (BLLP, 0x26)
341 Name (BLLD, 0x27)
342 Name (BHBE, 0x30)
343 Name (BHBC, 0x31)
344 Name (BHBN, 0x32)
345 Name (BHBM, 0x33)
346 Name (TRTP, 0x01)
347 Name (WDTE, 0x01)
348 Name (TRTD, 0x02)
349 Name (TRTI, 0x03)
350 Name (GCDD, 0x01)
351 Name (DSTA, 0x0A)
352 Name (DSLO, 0x0C)
353 Name (DSLC, 0x0E)
354 Name (PITS, 0x10)
355 Name (SBCS, 0x12)
356 Name (SALS, 0x13)
357 Name (LSSS, 0x2A)
358 Name (SOOT, 0x35)
359 Name (PDBR, 0x4D)
360 Name (MBEC, 0x00)
361 OperationRegion (GNVS, SystemMemory, 0xDAF9CE18, 0x01B1)
362 Field (GNVS, AnyAcc, Lock, Preserve)
363 {
364 OSYS, 16,
365 SMIF, 8,
366 PRM0, 8,
367 PRM1, 8,
368 SCIF, 8,
369 PRM2, 8,
370 PRM3, 8,
371 LCKF, 8,
372 PRM4, 8,
373 PRM5, 8,
374 P80D, 32,
375 LIDS, 8,
376 PWRS, 8,
377 DBGS, 8,
378 THOF, 8,
379 ACT1, 8,
380 ACTT, 8,
381 PSVT, 8,
382 TC1V, 8,
383 TC2V, 8,
384 TSPV, 8,
385 CRTT, 8,
386 DTSE, 8,
387 DTS1, 8,
388 DTS2, 8,
389 DTSF, 8,
390 BNUM, 8,
391 B0SC, 8,
392 Offset (0x25),
393 REVN, 8,
394 Offset (0x28),
395 APIC, 8,
396 TCNT, 8,
397 PCP0, 8,
398 PCP1, 8,
399 PPCM, 8,
400 PPMF, 32,
401 C67L, 8,
402 NATP, 8,
403 CMAP, 8,
404 CMBP, 8,
405 LPTP, 8,
406 FDCP, 8,
407 CMCP, 8,
408 CIRP, 8,
409 SMSC, 8,
410 W381, 8,
411 SMC1, 8,
412 IGDS, 8,
413 TLST, 8,
414 CADL, 8,
415 PADL, 8,
416 CSTE, 16,
417 NSTE, 16,
418 SSTE, 16,
419 NDID, 8,
420 DID1, 32,
421 DID2, 32,
422 DID3, 32,
423 DID4, 32,
424 DID5, 32,
425 KSV0, 32,
426 KSV1, 8,
427 Offset (0x67),
428 BLCS, 8,
429 BRTL, 8,
430 ALSE, 8,
431 ALAF, 8,
432 LLOW, 8,
433 LHIH, 8,
434 Offset (0x6E),
435 EMAE, 8,
436 EMAP, 16,
437 EMAL, 16,
438 Offset (0x74),
439 MEFE, 8,
440 DSTS, 8,
441 Offset (0x78),
442 TPMP, 8,
443 TPME, 8,
444 MORD, 8,
445 TCGP, 8,
446 PPRP, 32,
447 PPRQ, 8,
448 LPPR, 8,
449 GTF0, 56,
450 GTF2, 56,
451 IDEM, 8,
452 GTF1, 56,
453 BID, 8,
454 Offset (0xAA),
455 ASLB, 32,
456 IBTT, 8,
457 IPAT, 8,
458 ITVF, 8,
459 ITVM, 8,
460 IPSC, 8,
461 IBLC, 8,
462 IBIA, 8,
463 ISSC, 8,
464 I409, 8,
465 I509, 8,
466 I609, 8,
467 I709, 8,
468 IPCF, 8,
469 IDMS, 8,
470 IF1E, 8,
471 HVCO, 8,
472 NXD1, 32,
473 NXD2, 32,
474 NXD3, 32,
475 NXD4, 32,
476 NXD5, 32,
477 NXD6, 32,
478 NXD7, 32,
479 NXD8, 32,
480 GSMI, 8,
481 PAVP, 8,
482 Offset (0xE1),
483 OSCC, 8,
484 NEXP, 8,
485 SBV1, 8,
486 SBV2, 8,
487 Offset (0xEB),
488 DSEN, 8,
489 ECON, 8,
490 GPIC, 8,
491 CTYP, 8,
492 L01C, 8,
493 VFN0, 8,
494 VFN1, 8,
495 VFN2, 8,
496 VFN3, 8,
497 VFN4, 8,
498 Offset (0x100),
499 NVGA, 32,
500 NVHA, 32,
501 AMDA, 32,
502 DID6, 32,
503 DID7, 32,
504 DID8, 32,
505 EBAS, 32,
506 CPSP, 32,
507 EECP, 32,
508 EVCP, 32,
509 XBAS, 32,
510 OBS1, 32,
511 OBS2, 32,
512 OBS3, 32,
513 OBS4, 32,
514 OBS5, 32,
515 OBS6, 32,
516 OBS7, 32,
517 OBS8, 32,
518 Offset (0x157),
519 ATMC, 8,
520 PTMC, 8,
521 ATRA, 8,
522 PTRA, 8,
523 PNHM, 32,
524 TBAB, 32,
525 TBAH, 32,
526 RTIP, 8,
527 TSOD, 8,
528 ATPC, 8,
529 PTPC, 8,
530 PFLV, 8,
531 BREV, 8,
532 SGMD, 8,
533 SGFL, 8,
534 PWOK, 8,
535 HLRS, 8,
536 DSEL, 8,
537 ESEL, 8,
538 PSEL, 8,
539 PWEN, 8,
540 PRST, 8,
541 MXD1, 32,
542 MXD2, 32,
543 MXD3, 32,
544 MXD4, 32,
545 MXD5, 32,
546 MXD6, 32,
547 MXD7, 32,
548 MXD8, 32,
549 GBAS, 16,
550 Offset (0x19D),
551 ALFP, 8,
552 IMON, 8,
553 PDTS, 8,
554 PKGA, 8,
555 PAMT, 8,
556 AC0F, 8,
557 AC1F, 8,
558 DTS3, 8,
559 DTS4, 8,
560 RSV2, 8,
561 RSV3, 8,
562 BCEN, 8,
563 ALER, 8,
564 Q45T, 8,
565 SBRL, 8,
566 SYSD, 8,
567 SGWA, 8,
568 SGIN, 8,
569 TPID, 8,
570 DGST, 8
571 }
572
573 Scope (\_SB)
574 {
575 Name (PR00, Package (0x1E)
576 {
577 Package (0x04)
578 {
579 0x0004FFFF,
580 0x00,
581 LNKA,
582 0x00
583 },
584
585 Package (0x04)
586 {
587 0x0004FFFF,
588 0x01,
589 LNKB,
590 0x00
591 },
592
593 Package (0x04)
594 {
595 0x0004FFFF,
596 0x02,
597 LNKC,
598 0x00
599 },
600
601 Package (0x04)
602 {
603 0x0004FFFF,
604 0x03,
605 LNKD,
606 0x00
607 },
608
609 Package (0x04)
610 {
611 0x001FFFFF,
612 0x00,
613 LNKF,
614 0x00
615 },
616
617 Package (0x04)
618 {
619 0x001FFFFF,
620 0x01,
621 LNKD,
622 0x00
623 },
624
625 Package (0x04)
626 {
627 0x001FFFFF,
628 0x02,
629 LNKC,
630 0x00
631 },
632
633 Package (0x04)
634 {
635 0x001FFFFF,
636 0x03,
637 LNKA,
638 0x00
639 },
640
641 Package (0x04)
642 {
643 0x001DFFFF,
644 0x01,
645 LNKD,
646 0x00
647 },
648
649 Package (0x04)
650 {
651 0x001DFFFF,
652 0x02,
653 LNKA,
654 0x00
655 },
656
657 Package (0x04)
658 {
659 0x001DFFFF,
660 0x03,
661 LNKC,
662 0x00
663 },
664
665 Package (0x04)
666 {
667 0x001DFFFF,
668 0x00,
669 LNKH,
670 0x00
671 },
672
673 Package (0x04)
674 {
675 0x001AFFFF,
676 0x01,
677 LNKF,
678 0x00
679 },
680
681 Package (0x04)
682 {
683 0x001AFFFF,
684 0x02,
685 LNKC,
686 0x00
687 },
688
689 Package (0x04)
690 {
691 0x001AFFFF,
692 0x03,
693 LNKD,
694 0x00
695 },
696
697 Package (0x04)
698 {
699 0x0016FFFF,
700 0x00,
701 LNKA,
702 0x00
703 },
704
705 Package (0x04)
706 {
707 0x0016FFFF,
708 0x01,
709 LNKD,
710 0x00
711 },
712
713 Package (0x04)
714 {
715 0x0016FFFF,
716 0x02,
717 LNKC,
718 0x00
719 },
720
721 Package (0x04)
722 {
723 0x0016FFFF,
724 0x03,
725 LNKB,
726 0x00
727 },
728
729 Package (0x04)
730 {
731 0x001AFFFF,
732 0x00,
733 LNKA,
734 0x00
735 },
736
737 Package (0x04)
738 {
739 0x0002FFFF,
740 0x00,
741 LNKA,
742 0x00
743 },
744
745 Package (0x04)
746 {
747 0x0001FFFF,
748 0x00,
749 LNKA,
750 0x00
751 },
752
753 Package (0x04)
754 {
755 0x0001FFFF,
756 0x01,
757 LNKB,
758 0x00
759 },
760
761 Package (0x04)
762 {
763 0x0001FFFF,
764 0x02,
765 LNKC,
766 0x00
767 },
768
769 Package (0x04)
770 {
771 0x0001FFFF,
772 0x03,
773 LNKD,
774 0x00
775 },
776
777 Package (0x04)
778 {
779 0x001BFFFF,
780 0x00,
781 LNKG,
782 0x00
783 },
784
785 Package (0x04)
786 {
787 0x001CFFFF,
788 0x00,
789 LNKA,
790 0x00
791 },
792
793 Package (0x04)
794 {
795 0x001CFFFF,
796 0x01,
797 LNKB,
798 0x00
799 },
800
801 Package (0x04)
802 {
803 0x001CFFFF,
804 0x02,
805 LNKC,
806 0x00
807 },
808
809 Package (0x04)
810 {
811 0x001CFFFF,
812 0x03,
813 LNKD,
814 0x00
815 }
816 })
817 Name (AR00, Package (0x1E)
818 {
819 Package (0x04)
820 {
821 0x0004FFFF,
822 0x00,
823 0x00,
824 0x10
825 },
826
827 Package (0x04)
828 {
829 0x0004FFFF,
830 0x01,
831 0x00,
832 0x11
833 },
834
835 Package (0x04)
836 {
837 0x0004FFFF,
838 0x02,
839 0x00,
840 0x12
841 },
842
843 Package (0x04)
844 {
845 0x0004FFFF,
846 0x03,
847 0x00,
848 0x13
849 },
850
851 Package (0x04)
852 {
853 0x001FFFFF,
854 0x00,
855 0x00,
856 0x15
857 },
858
859 Package (0x04)
860 {
861 0x001FFFFF,
862 0x01,
863 0x00,
864 0x13
865 },
866
867 Package (0x04)
868 {
869 0x001FFFFF,
870 0x02,
871 0x00,
872 0x12
873 },
874
875 Package (0x04)
876 {
877 0x001FFFFF,
878 0x03,
879 0x00,
880 0x10
881 },
882
883 Package (0x04)
884 {
885 0x001DFFFF,
886 0x01,
887 0x00,
888 0x13
889 },
890
891 Package (0x04)
892 {
893 0x001DFFFF,
894 0x02,
895 0x00,
896 0x10
897 },
898
899 Package (0x04)
900 {
901 0x001DFFFF,
902 0x03,
903 0x00,
904 0x12
905 },
906
907 Package (0x04)
908 {
909 0x001DFFFF,
910 0x00,
911 0x00,
912 0x17
913 },
914
915 Package (0x04)
916 {
917 0x001AFFFF,
918 0x01,
919 0x00,
920 0x15
921 },
922
923 Package (0x04)
924 {
925 0x001AFFFF,
926 0x02,
927 0x00,
928 0x12
929 },
930
931 Package (0x04)
932 {
933 0x001AFFFF,
934 0x03,
935 0x00,
936 0x13
937 },
938
939 Package (0x04)
940 {
941 0x0016FFFF,
942 0x00,
943 0x00,
944 0x10
945 },
946
947 Package (0x04)
948 {
949 0x0016FFFF,
950 0x01,
951 0x00,
952 0x13
953 },
954
955 Package (0x04)
956 {
957 0x0016FFFF,
958 0x02,
959 0x00,
960 0x12
961 },
962
963 Package (0x04)
964 {
965 0x0016FFFF,
966 0x03,
967 0x00,
968 0x11
969 },
970
971 Package (0x04)
972 {
973 0x001AFFFF,
974 0x00,
975 0x00,
976 0x10
977 },
978
979 Package (0x04)
980 {
981 0x0002FFFF,
982 0x00,
983 0x00,
984 0x10
985 },
986
987 Package (0x04)
988 {
989 0x0001FFFF,
990 0x00,
991 0x00,
992 0x10
993 },
994
995 Package (0x04)
996 {
997 0x0001FFFF,
998 0x01,
999 0x00,
1000 0x11
1001 },
1002
1003 Package (0x04)
1004 {
1005 0x0001FFFF,
1006 0x02,
1007 0x00,
1008 0x12
1009 },
1010
1011 Package (0x04)
1012 {
1013 0x0001FFFF,
1014 0x03,
1015 0x00,
1016 0x13
1017 },
1018
1019 Package (0x04)
1020 {
1021 0x001BFFFF,
1022 0x00,
1023 0x00,
1024 0x16
1025 },
1026
1027 Package (0x04)
1028 {
1029 0x001CFFFF,
1030 0x00,
1031 0x00,
1032 0x10
1033 },
1034
1035 Package (0x04)
1036 {
1037 0x001CFFFF,
1038 0x01,
1039 0x00,
1040 0x11
1041 },
1042
1043 Package (0x04)
1044 {
1045 0x001CFFFF,
1046 0x02,
1047 0x00,
1048 0x12
1049 },
1050
1051 Package (0x04)
1052 {
1053 0x001CFFFF,
1054 0x03,
1055 0x00,
1056 0x13
1057 }
1058 })
1059 Name (PR02, Package (0x04)
1060 {
1061 Package (0x04)
1062 {
1063 0xFFFF,
1064 0x00,
1065 LNKA,
1066 0x00
1067 },
1068
1069 Package (0x04)
1070 {
1071 0xFFFF,
1072 0x01,
1073 LNKB,
1074 0x00
1075 },
1076
1077 Package (0x04)
1078 {
1079 0xFFFF,
1080 0x02,
1081 LNKC,
1082 0x00
1083 },
1084
1085 Package (0x04)
1086 {
1087 0xFFFF,
1088 0x03,
1089 LNKD,
1090 0x00
1091 }
1092 })
1093 Name (AR02, Package (0x04)
1094 {
1095 Package (0x04)
1096 {
1097 0xFFFF,
1098 0x00,
1099 0x00,
1100 0x10
1101 },
1102
1103 Package (0x04)
1104 {
1105 0xFFFF,
1106 0x01,
1107 0x00,
1108 0x11
1109 },
1110
1111 Package (0x04)
1112 {
1113 0xFFFF,
1114 0x02,
1115 0x00,
1116 0x12
1117 },
1118
1119 Package (0x04)
1120 {
1121 0xFFFF,
1122 0x03,
1123 0x00,
1124 0x13
1125 }
1126 })
1127 Name (PR04, Package (0x04)
1128 {
1129 Package (0x04)
1130 {
1131 0xFFFF,
1132 0x00,
1133 LNKC,
1134 0x00
1135 },
1136
1137 Package (0x04)
1138 {
1139 0xFFFF,
1140 0x01,
1141 LNKD,
1142 0x00
1143 },
1144
1145 Package (0x04)
1146 {
1147 0xFFFF,
1148 0x02,
1149 LNKA,
1150 0x00
1151 },
1152
1153 Package (0x04)
1154 {
1155 0xFFFF,
1156 0x03,
1157 LNKB,
1158 0x00
1159 }
1160 })
1161 Name (AR04, Package (0x04)
1162 {
1163 Package (0x04)
1164 {
1165 0xFFFF,
1166 0x00,
1167 0x00,
1168 0x12
1169 },
1170
1171 Package (0x04)
1172 {
1173 0xFFFF,
1174 0x01,
1175 0x00,
1176 0x13
1177 },
1178
1179 Package (0x04)
1180 {
1181 0xFFFF,
1182 0x02,
1183 0x00,
1184 0x10
1185 },
1186
1187 Package (0x04)
1188 {
1189 0xFFFF,
1190 0x03,
1191 0x00,
1192 0x11
1193 }
1194 })
1195 Name (PR05, Package (0x04)
1196 {
1197 Package (0x04)
1198 {
1199 0xFFFF,
1200 0x00,
1201 LNKD,
1202 0x00
1203 },
1204
1205 Package (0x04)
1206 {
1207 0xFFFF,
1208 0x01,
1209 LNKA,
1210 0x00
1211 },
1212
1213 Package (0x04)
1214 {
1215 0xFFFF,
1216 0x02,
1217 LNKB,
1218 0x00
1219 },
1220
1221 Package (0x04)
1222 {
1223 0xFFFF,
1224 0x03,
1225 LNKC,
1226 0x00
1227 }
1228 })
1229 Name (AR05, Package (0x04)
1230 {
1231 Package (0x04)
1232 {
1233 0xFFFF,
1234 0x00,
1235 0x00,
1236 0x13
1237 },
1238
1239 Package (0x04)
1240 {
1241 0xFFFF,
1242 0x01,
1243 0x00,
1244 0x10
1245 },
1246
1247 Package (0x04)
1248 {
1249 0xFFFF,
1250 0x02,
1251 0x00,
1252 0x11
1253 },
1254
1255 Package (0x04)
1256 {
1257 0xFFFF,
1258 0x03,
1259 0x00,
1260 0x12
1261 }
1262 })
1263 Name (PR01, Package (0x04)
1264 {
1265 Package (0x04)
1266 {
1267 0xFFFF,
1268 0x00,
1269 LNKA,
1270 0x00
1271 },
1272
1273 Package (0x04)
1274 {
1275 0xFFFF,
1276 0x01,
1277 LNKB,
1278 0x00
1279 },
1280
1281 Package (0x04)
1282 {
1283 0xFFFF,
1284 0x02,
1285 LNKC,
1286 0x00
1287 },
1288
1289 Package (0x04)
1290 {
1291 0xFFFF,
1292 0x03,
1293 LNKD,
1294 0x00
1295 }
1296 })
1297 Name (AR01, Package (0x04)
1298 {
1299 Package (0x04)
1300 {
1301 0xFFFF,
1302 0x00,
1303 0x00,
1304 0x10
1305 },
1306
1307 Package (0x04)
1308 {
1309 0xFFFF,
1310 0x01,
1311 0x00,
1312 0x11
1313 },
1314
1315 Package (0x04)
1316 {
1317 0xFFFF,
1318 0x02,
1319 0x00,
1320 0x12
1321 },
1322
1323 Package (0x04)
1324 {
1325 0xFFFF,
1326 0x03,
1327 0x00,
1328 0x13
1329 }
1330 })
1331 Name (PR03, Package (0x04)
1332 {
1333 Package (0x04)
1334 {
1335 0xFFFF,
1336 0x00,
1337 LNKB,
1338 0x00
1339 },
1340
1341 Package (0x04)
1342 {
1343 0xFFFF,
1344 0x01,
1345 LNKC,
1346 0x00
1347 },
1348
1349 Package (0x04)
1350 {
1351 0xFFFF,
1352 0x02,
1353 LNKD,
1354 0x00
1355 },
1356
1357 Package (0x04)
1358 {
1359 0xFFFF,
1360 0x03,
1361 LNKA,
1362 0x00
1363 }
1364 })
1365 Name (AR03, Package (0x04)
1366 {
1367 Package (0x04)
1368 {
1369 0xFFFF,
1370 0x00,
1371 0x00,
1372 0x11
1373 },
1374
1375 Package (0x04)
1376 {
1377 0xFFFF,
1378 0x01,
1379 0x00,
1380 0x12
1381 },
1382
1383 Package (0x04)
1384 {
1385 0xFFFF,
1386 0x02,
1387 0x00,
1388 0x13
1389 },
1390
1391 Package (0x04)
1392 {
1393 0xFFFF,
1394 0x03,
1395 0x00,
1396 0x10
1397 }
1398 })
1399 Name (PRSA, ResourceTemplate ()
1400 {
1401 IRQ (Level, ActiveLow, Shared, )
1402 {1,3,4,5,6,10,11,12,14,15}
1403 })
1404 Alias (PRSA, PRSB)
1405 Alias (PRSA, PRSC)
1406 Alias (PRSA, PRSD)
1407 Alias (PRSA, PRSE)
1408 Alias (PRSA, PRSF)
1409 Alias (PRSA, PRSG)
1410 Alias (PRSA, PRSH)
1411 Device (PCI0)
1412 {
1413 Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
1414 Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
1415 Name (_ADR, 0x00) // _ADR: Address
1416 Method (^BN00, 0, NotSerialized)
1417 {
1418 Return (0x00)
1419 }
1420
1421 Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number
1422 {
1423 Return (BN00 ())
1424 }
1425
1426 Name (_UID, 0x00) // _UID: Unique ID
1427 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
1428 {
1429 If (PICM)
1430 {
1431 Return (AR00 ())
1432 }
1433
1434 Return (PR00 ())
1435 }
1436
1437 OperationRegion (HBUS, PCI_Config, 0x00, 0x0100)
1438 Field (HBUS, DWordAcc, NoLock, Preserve)
1439 {
1440 Offset (0x40),
1441 EPEN, 1,
1442 , 11,
1443 EPBR, 20,
1444 Offset (0x48),
1445 MHEN, 1,
1446 , 14,
1447 MHBR, 17,
1448 Offset (0x50),
1449 GCLK, 1,
1450 Offset (0x54),
1451 D0EN, 1,
1452 Offset (0x60),
1453 PXEN, 1,
1454 PXSZ, 2,
1455 , 23,
1456 PXBR, 6,
1457 Offset (0x68),
1458 DIEN, 1,
1459 , 11,
1460 DIBR, 20,
1461 Offset (0x70),
1462 , 20,
1463 MEBR, 12,
1464 Offset (0x80),
1465 , 4,
1466 PM0H, 2,
1467 Offset (0x81),
1468 PM1L, 2,
1469 , 2,
1470 PM1H, 2,
1471 Offset (0x82),
1472 PM2L, 2,
1473 , 2,
1474 PM2H, 2,
1475 Offset (0x83),
1476 PM3L, 2,
1477 , 2,
1478 PM3H, 2,
1479 Offset (0x84),
1480 PM4L, 2,
1481 , 2,
1482 PM4H, 2,
1483 Offset (0x85),
1484 PM5L, 2,
1485 , 2,
1486 PM5H, 2,
1487 Offset (0x86),
1488 PM6L, 2,
1489 , 2,
1490 PM6H, 2,
1491 Offset (0x87),
1492 Offset (0xA8),
1493 , 20,
1494 TUUD, 19,
1495 Offset (0xBC),
1496 , 20,
1497 TLUD, 12,
1498 Offset (0xC8),
1499 , 7,
1500 HTSE, 1
1501 }
1502
1503 OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100)
1504 Field (MCHT, ByteAcc, NoLock, Preserve)
1505 {
1506 }
1507
1508 Name (BUF0, ResourceTemplate ()
1509 {
1510 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
1511 0x0000, // Granularity
1512 0x0000, // Range Minimum
1513 0x00FF, // Range Maximum
1514 0x0000, // Translation Offset
1515 0x0100, // Length
1516 ,, _Y00)
1517 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1518 0x00000000, // Granularity
1519 0x00000000, // Range Minimum
1520 0x00000CF7, // Range Maximum
1521 0x00000000, // Translation Offset
1522 0x00000CF8, // Length
1523 ,, , TypeStatic)
1524 IO (Decode16,
1525 0x0CF8, // Range Minimum
1526 0x0CF8, // Range Maximum
1527 0x01, // Alignment
1528 0x08, // Length
1529 )
1530 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
1531 0x00000000, // Granularity
1532 0x00000D00, // Range Minimum
1533 0x0000FFFF, // Range Maximum
1534 0x00000000, // Translation Offset
1535 0x0000F300, // Length
1536 ,, , TypeStatic)
1537 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1538 0x00000000, // Granularity
1539 0x000A0000, // Range Minimum
1540 0x000BFFFF, // Range Maximum
1541 0x00000000, // Translation Offset
1542 0x00020000, // Length
1543 ,, , AddressRangeMemory, TypeStatic)
1544 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1545 0x00000000, // Granularity
1546 0x000C0000, // Range Minimum
1547 0x000C3FFF, // Range Maximum
1548 0x00000000, // Translation Offset
1549 0x00004000, // Length
1550 ,, _Y01, AddressRangeMemory, TypeStatic)
1551 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1552 0x00000000, // Granularity
1553 0x000C4000, // Range Minimum
1554 0x000C7FFF, // Range Maximum
1555 0x00000000, // Translation Offset
1556 0x00004000, // Length
1557 ,, _Y02, AddressRangeMemory, TypeStatic)
1558 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1559 0x00000000, // Granularity
1560 0x000C8000, // Range Minimum
1561 0x000CBFFF, // Range Maximum
1562 0x00000000, // Translation Offset
1563 0x00004000, // Length
1564 ,, _Y03, AddressRangeMemory, TypeStatic)
1565 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1566 0x00000000, // Granularity
1567 0x000CC000, // Range Minimum
1568 0x000CFFFF, // Range Maximum
1569 0x00000000, // Translation Offset
1570 0x00004000, // Length
1571 ,, _Y04, AddressRangeMemory, TypeStatic)
1572 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1573 0x00000000, // Granularity
1574 0x000D0000, // Range Minimum
1575 0x000D3FFF, // Range Maximum
1576 0x00000000, // Translation Offset
1577 0x00004000, // Length
1578 ,, _Y05, AddressRangeMemory, TypeStatic)
1579 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1580 0x00000000, // Granularity
1581 0x000D4000, // Range Minimum
1582 0x000D7FFF, // Range Maximum
1583 0x00000000, // Translation Offset
1584 0x00004000, // Length
1585 ,, _Y06, AddressRangeMemory, TypeStatic)
1586 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1587 0x00000000, // Granularity
1588 0x000D8000, // Range Minimum
1589 0x000DBFFF, // Range Maximum
1590 0x00000000, // Translation Offset
1591 0x00004000, // Length
1592 ,, _Y07, AddressRangeMemory, TypeStatic)
1593 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1594 0x00000000, // Granularity
1595 0x000DC000, // Range Minimum
1596 0x000DFFFF, // Range Maximum
1597 0x00000000, // Translation Offset
1598 0x00004000, // Length
1599 ,, _Y08, AddressRangeMemory, TypeStatic)
1600 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1601 0x00000000, // Granularity
1602 0x000E0000, // Range Minimum
1603 0x000E3FFF, // Range Maximum
1604 0x00000000, // Translation Offset
1605 0x00004000, // Length
1606 ,, _Y09, AddressRangeMemory, TypeStatic)
1607 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1608 0x00000000, // Granularity
1609 0x000E4000, // Range Minimum
1610 0x000E7FFF, // Range Maximum
1611 0x00000000, // Translation Offset
1612 0x00004000, // Length
1613 ,, _Y0A, AddressRangeMemory, TypeStatic)
1614 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1615 0x00000000, // Granularity
1616 0x000E8000, // Range Minimum
1617 0x000EBFFF, // Range Maximum
1618 0x00000000, // Translation Offset
1619 0x00004000, // Length
1620 ,, _Y0B, AddressRangeMemory, TypeStatic)
1621 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1622 0x00000000, // Granularity
1623 0x000EC000, // Range Minimum
1624 0x000EFFFF, // Range Maximum
1625 0x00000000, // Translation Offset
1626 0x00004000, // Length
1627 ,, _Y0C, AddressRangeMemory, TypeStatic)
1628 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1629 0x00000000, // Granularity
1630 0x000F0000, // Range Minimum
1631 0x000FFFFF, // Range Maximum
1632 0x00000000, // Translation Offset
1633 0x00010000, // Length
1634 ,, _Y0D, AddressRangeMemory, TypeStatic)
1635 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1636 0x00000000, // Granularity
1637 0x00000000, // Range Minimum
1638 0xFEAFFFFF, // Range Maximum
1639 0x00000000, // Translation Offset
1640 0xFEB00000, // Length
1641 ,, _Y0E, AddressRangeMemory, TypeStatic)
1642 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
1643 0x00000000, // Granularity
1644 0xFED40000, // Range Minimum
1645 0xFED44FFF, // Range Maximum
1646 0x00000000, // Translation Offset
1647 0x00005000, // Length
1648 ,, , AddressRangeMemory, TypeStatic)
1649 })
1650 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
1651 {
1652 CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address
1653 PBMX = ((\PELN >> 0x14) - 0x02)
1654 CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length
1655 PBLN = ((\PELN >> 0x14) - 0x01)
1656 If (PM1L)
1657 {
1658 CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN) // _LEN: Length
1659 C0LN = Zero
1660 }
1661
1662 If ((PM1L == 0x01))
1663 {
1664 CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW) // _RW_: Read-Write Status
1665 C0RW = Zero
1666 }
1667
1668 If (PM1H)
1669 {
1670 CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN) // _LEN: Length
1671 C4LN = Zero
1672 }
1673
1674 If ((PM1H == 0x01))
1675 {
1676 CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW) // _RW_: Read-Write Status
1677 C4RW = Zero
1678 }
1679
1680 If (PM2L)
1681 {
1682 CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN) // _LEN: Length
1683 C8LN = Zero
1684 }
1685
1686 If ((PM2L == 0x01))
1687 {
1688 CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW) // _RW_: Read-Write Status
1689 C8RW = Zero
1690 }
1691
1692 If (PM2H)
1693 {
1694 CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN) // _LEN: Length
1695 CCLN = Zero
1696 }
1697
1698 If ((PM2H == 0x01))
1699 {
1700 CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW) // _RW_: Read-Write Status
1701 CCRW = Zero
1702 }
1703
1704 If (PM3L)
1705 {
1706 CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN) // _LEN: Length
1707 D0LN = Zero
1708 }
1709
1710 If ((PM3L == 0x01))
1711 {
1712 CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW) // _RW_: Read-Write Status
1713 D0RW = Zero
1714 }
1715
1716 If (PM3H)
1717 {
1718 CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN) // _LEN: Length
1719 D4LN = Zero
1720 }
1721
1722 If ((PM3H == 0x01))
1723 {
1724 CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW) // _RW_: Read-Write Status
1725 D4RW = Zero
1726 }
1727
1728 If (PM4L)
1729 {
1730 CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN) // _LEN: Length
1731 D8LN = Zero
1732 }
1733
1734 If ((PM4L == 0x01))
1735 {
1736 CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW) // _RW_: Read-Write Status
1737 D8RW = Zero
1738 }
1739
1740 If (PM4H)
1741 {
1742 CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN) // _LEN: Length
1743 DCLN = Zero
1744 }
1745
1746 If ((PM4H == 0x01))
1747 {
1748 CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW) // _RW_: Read-Write Status
1749 DCRW = Zero
1750 }
1751
1752 If (PM5L)
1753 {
1754 CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN) // _LEN: Length
1755 E0LN = Zero
1756 }
1757
1758 If ((PM5L == 0x01))
1759 {
1760 CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW) // _RW_: Read-Write Status
1761 E0RW = Zero
1762 }
1763
1764 If (PM5H)
1765 {
1766 CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN) // _LEN: Length
1767 E4LN = Zero
1768 }
1769
1770 If ((PM5H == 0x01))
1771 {
1772 CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW) // _RW_: Read-Write Status
1773 E4RW = Zero
1774 }
1775
1776 If (PM6L)
1777 {
1778 CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN) // _LEN: Length
1779 E8LN = Zero
1780 }
1781
1782 If ((PM6L == 0x01))
1783 {
1784 CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW) // _RW_: Read-Write Status
1785 E8RW = Zero
1786 }
1787
1788 If (PM6H)
1789 {
1790 CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN) // _LEN: Length
1791 ECLN = Zero
1792 }
1793
1794 If ((PM6H == 0x01))
1795 {
1796 CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status
1797 ECRW = Zero
1798 }
1799
1800 If (PM0H)
1801 {
1802 CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length
1803 F0LN = Zero
1804 }
1805
1806 If ((PM0H == 0x01))
1807 {
1808 CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW) // _RW_: Read-Write Status
1809 F0RW = Zero
1810 }
1811
1812 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN) // _MIN: Minimum Base Address
1813 CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX) // _MAX: Maximum Base Address
1814 CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN) // _LEN: Length
1815 M1MN = (TLUD << 0x14)
1816 M1LN = ((M1MX - M1MN) + 0x01)
1817 Return (BUF0) /* \_SB_.PCI0.BUF0 */
1818 }
1819
1820 Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
1821 Name (SUPP, 0x00)
1822 Name (CTRL, 0x00)
1823 Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
1824 {
1825 Local0 = Arg3
1826 CreateDWordField (Local0, 0x00, CDW1)
1827 CreateDWordField (Local0, 0x04, CDW2)
1828 CreateDWordField (Local0, 0x08, CDW3)
1829 If (((Arg0 == GUID) && NEXP))
1830 {
1831 SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
1832 CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
1833 If (~(CDW1 & 0x01))
1834 {
1835 If ((CTRL & 0x01))
1836 {
1837 NHPG ()
1838 }
1839
1840 If ((CTRL & 0x04))
1841 {
1842 NPME ()
1843 }
1844 }
1845
1846 If ((Arg1 != One))
1847 {
1848 CDW1 |= 0x08
1849 }
1850
1851 If ((CDW3 != CTRL))
1852 {
1853 CDW1 |= 0x10
1854 }
1855
1856 CDW3 = CTRL /* \_SB_.PCI0.CTRL */
1857 OSCC = CTRL /* \_SB_.PCI0.CTRL */
1858 Return (Local0)
1859 }
1860 Else
1861 {
1862 CDW1 |= 0x04
1863 Return (Local0)
1864 }
1865 }
1866
1867 Scope (\_SB.PCI0)
1868 {
1869 Method (AR00, 0, NotSerialized)
1870 {
1871 Return (\_SB.AR00)
1872 }
1873
1874 Method (PR00, 0, NotSerialized)
1875 {
1876 Return (\_SB.PR00)
1877 }
1878
1879 Method (AR01, 0, NotSerialized)
1880 {
1881 Return (\_SB.AR01)
1882 }
1883
1884 Method (PR01, 0, NotSerialized)
1885 {
1886 Return (\_SB.PR01)
1887 }
1888
1889 Method (AR02, 0, NotSerialized)
1890 {
1891 Return (\_SB.AR02)
1892 }
1893
1894 Method (PR02, 0, NotSerialized)
1895 {
1896 Return (\_SB.PR02)
1897 }
1898
1899 Method (AR03, 0, NotSerialized)
1900 {
1901 Return (\_SB.AR03)
1902 }
1903
1904 Method (PR03, 0, NotSerialized)
1905 {
1906 Return (\_SB.PR03)
1907 }
1908
1909 Method (AR04, 0, NotSerialized)
1910 {
1911 Return (\_SB.AR04)
1912 }
1913
1914 Method (PR04, 0, NotSerialized)
1915 {
1916 Return (\_SB.PR04)
1917 }
1918
1919 Method (AR05, 0, NotSerialized)
1920 {
1921 Return (\_SB.AR05)
1922 }
1923
1924 Method (PR05, 0, NotSerialized)
1925 {
1926 Return (\_SB.PR05)
1927 }
1928 }
1929
1930 Device (B0D4)
1931 {
1932 Name (_ADR, 0x00040000) // _ADR: Address
1933 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1934 {
1935 Return (GPRW (0x09, 0x04))
1936 }
1937 }
1938
1939 Device (LPCB)
1940 {
1941 Name (_ADR, 0x001F0000) // _ADR: Address
1942 Scope (\_SB)
1943 {
1944 OperationRegion (\_SB.PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
1945 Field (\_SB.PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
1946 {
1947 Offset (0x20),
1948 PARC, 8,
1949 PBRC, 8,
1950 PCRC, 8,
1951 PDRC, 8,
1952 Offset (0x28),
1953 PERC, 8,
1954 PFRC, 8,
1955 PGRC, 8,
1956 PHRC, 8
1957 }
1958
1959 Device (LNKA)
1960 {
1961 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1962 Name (_UID, 0x01) // _UID: Unique ID
1963 Method (_DIS, 0, Serialized) // _DIS: Disable Device
1964 {
1965 PARC |= 0x80
1966 }
1967
1968 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
1969 {
1970 Return (PRSA) /* \_SB_.PRSA */
1971 }
1972
1973 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
1974 {
1975 Name (RTLA, ResourceTemplate ()
1976 {
1977 IRQ (Level, ActiveLow, Shared, _Y0F)
1978 {}
1979 })
1980 CreateWordField (RTLA, \_SB.LNKA._CRS._Y0F._INT, IRQ0) // _INT: Interrupts
1981 IRQ0 = Zero
1982 IRQ0 = (0x01 << (PARC & 0x0F))
1983 Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
1984 }
1985
1986 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
1987 {
1988 CreateWordField (Arg0, 0x01, IRQ0)
1989 FindSetRightBit (IRQ0, Local0)
1990 Local0--
1991 PARC = Local0
1992 }
1993
1994 Method (_STA, 0, Serialized) // _STA: Status
1995 {
1996 If ((PARC & 0x80))
1997 {
1998 Return (0x09)
1999 }
2000 Else
2001 {
2002 Return (0x0B)
2003 }
2004 }
2005 }
2006
2007 Device (LNKB)
2008 {
2009 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2010 Name (_UID, 0x02) // _UID: Unique ID
2011 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2012 {
2013 PBRC |= 0x80
2014 }
2015
2016 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2017 {
2018 Return (PRSB) /* \_SB_.PRSB */
2019 }
2020
2021 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2022 {
2023 Name (RTLB, ResourceTemplate ()
2024 {
2025 IRQ (Level, ActiveLow, Shared, _Y10)
2026 {}
2027 })
2028 CreateWordField (RTLB, \_SB.LNKB._CRS._Y10._INT, IRQ0) // _INT: Interrupts
2029 IRQ0 = Zero
2030 IRQ0 = (0x01 << (PBRC & 0x0F))
2031 Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
2032 }
2033
2034 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2035 {
2036 CreateWordField (Arg0, 0x01, IRQ0)
2037 FindSetRightBit (IRQ0, Local0)
2038 Local0--
2039 PBRC = Local0
2040 }
2041
2042 Method (_STA, 0, Serialized) // _STA: Status
2043 {
2044 If ((PBRC & 0x80))
2045 {
2046 Return (0x09)
2047 }
2048 Else
2049 {
2050 Return (0x0B)
2051 }
2052 }
2053 }
2054
2055 Device (LNKC)
2056 {
2057 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2058 Name (_UID, 0x03) // _UID: Unique ID
2059 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2060 {
2061 PCRC |= 0x80
2062 }
2063
2064 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2065 {
2066 Return (PRSC) /* \_SB_.PRSC */
2067 }
2068
2069 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2070 {
2071 Name (RTLC, ResourceTemplate ()
2072 {
2073 IRQ (Level, ActiveLow, Shared, _Y11)
2074 {}
2075 })
2076 CreateWordField (RTLC, \_SB.LNKC._CRS._Y11._INT, IRQ0) // _INT: Interrupts
2077 IRQ0 = Zero
2078 IRQ0 = (0x01 << (PCRC & 0x0F))
2079 Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
2080 }
2081
2082 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2083 {
2084 CreateWordField (Arg0, 0x01, IRQ0)
2085 FindSetRightBit (IRQ0, Local0)
2086 Local0--
2087 PCRC = Local0
2088 }
2089
2090 Method (_STA, 0, Serialized) // _STA: Status
2091 {
2092 If ((PCRC & 0x80))
2093 {
2094 Return (0x09)
2095 }
2096 Else
2097 {
2098 Return (0x0B)
2099 }
2100 }
2101 }
2102
2103 Device (LNKD)
2104 {
2105 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2106 Name (_UID, 0x04) // _UID: Unique ID
2107 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2108 {
2109 PDRC |= 0x80
2110 }
2111
2112 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2113 {
2114 Return (PRSD) /* \_SB_.PRSD */
2115 }
2116
2117 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2118 {
2119 Name (RTLD, ResourceTemplate ()
2120 {
2121 IRQ (Level, ActiveLow, Shared, _Y12)
2122 {}
2123 })
2124 CreateWordField (RTLD, \_SB.LNKD._CRS._Y12._INT, IRQ0) // _INT: Interrupts
2125 IRQ0 = Zero
2126 IRQ0 = (0x01 << (PDRC & 0x0F))
2127 Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
2128 }
2129
2130 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2131 {
2132 CreateWordField (Arg0, 0x01, IRQ0)
2133 FindSetRightBit (IRQ0, Local0)
2134 Local0--
2135 PDRC = Local0
2136 }
2137
2138 Method (_STA, 0, Serialized) // _STA: Status
2139 {
2140 If ((PDRC & 0x80))
2141 {
2142 Return (0x09)
2143 }
2144 Else
2145 {
2146 Return (0x0B)
2147 }
2148 }
2149 }
2150
2151 Device (LNKE)
2152 {
2153 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2154 Name (_UID, 0x05) // _UID: Unique ID
2155 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2156 {
2157 PERC |= 0x80
2158 }
2159
2160 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2161 {
2162 Return (PRSE) /* \_SB_.PRSE */
2163 }
2164
2165 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2166 {
2167 Name (RTLE, ResourceTemplate ()
2168 {
2169 IRQ (Level, ActiveLow, Shared, _Y13)
2170 {}
2171 })
2172 CreateWordField (RTLE, \_SB.LNKE._CRS._Y13._INT, IRQ0) // _INT: Interrupts
2173 IRQ0 = Zero
2174 IRQ0 = (0x01 << (PERC & 0x0F))
2175 Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
2176 }
2177
2178 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2179 {
2180 CreateWordField (Arg0, 0x01, IRQ0)
2181 FindSetRightBit (IRQ0, Local0)
2182 Local0--
2183 PERC = Local0
2184 }
2185
2186 Method (_STA, 0, Serialized) // _STA: Status
2187 {
2188 If ((PERC & 0x80))
2189 {
2190 Return (0x09)
2191 }
2192 Else
2193 {
2194 Return (0x0B)
2195 }
2196 }
2197 }
2198
2199 Device (LNKF)
2200 {
2201 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2202 Name (_UID, 0x06) // _UID: Unique ID
2203 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2204 {
2205 PFRC |= 0x80
2206 }
2207
2208 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2209 {
2210 Return (PRSF) /* \_SB_.PRSF */
2211 }
2212
2213 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2214 {
2215 Name (RTLF, ResourceTemplate ()
2216 {
2217 IRQ (Level, ActiveLow, Shared, _Y14)
2218 {}
2219 })
2220 CreateWordField (RTLF, \_SB.LNKF._CRS._Y14._INT, IRQ0) // _INT: Interrupts
2221 IRQ0 = Zero
2222 IRQ0 = (0x01 << (PFRC & 0x0F))
2223 Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
2224 }
2225
2226 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2227 {
2228 CreateWordField (Arg0, 0x01, IRQ0)
2229 FindSetRightBit (IRQ0, Local0)
2230 Local0--
2231 PFRC = Local0
2232 }
2233
2234 Method (_STA, 0, Serialized) // _STA: Status
2235 {
2236 If ((PFRC & 0x80))
2237 {
2238 Return (0x09)
2239 }
2240 Else
2241 {
2242 Return (0x0B)
2243 }
2244 }
2245 }
2246
2247 Device (LNKG)
2248 {
2249 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2250 Name (_UID, 0x07) // _UID: Unique ID
2251 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2252 {
2253 PGRC |= 0x80
2254 }
2255
2256 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2257 {
2258 Return (PRSG) /* \_SB_.PRSG */
2259 }
2260
2261 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2262 {
2263 Name (RTLG, ResourceTemplate ()
2264 {
2265 IRQ (Level, ActiveLow, Shared, _Y15)
2266 {}
2267 })
2268 CreateWordField (RTLG, \_SB.LNKG._CRS._Y15._INT, IRQ0) // _INT: Interrupts
2269 IRQ0 = Zero
2270 IRQ0 = (0x01 << (PGRC & 0x0F))
2271 Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
2272 }
2273
2274 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2275 {
2276 CreateWordField (Arg0, 0x01, IRQ0)
2277 FindSetRightBit (IRQ0, Local0)
2278 Local0--
2279 PGRC = Local0
2280 }
2281
2282 Method (_STA, 0, Serialized) // _STA: Status
2283 {
2284 If ((PGRC & 0x80))
2285 {
2286 Return (0x09)
2287 }
2288 Else
2289 {
2290 Return (0x0B)
2291 }
2292 }
2293 }
2294
2295 Device (LNKH)
2296 {
2297 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
2298 Name (_UID, 0x08) // _UID: Unique ID
2299 Method (_DIS, 0, Serialized) // _DIS: Disable Device
2300 {
2301 PHRC |= 0x80
2302 }
2303
2304 Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings
2305 {
2306 Return (PRSH) /* \_SB_.PRSH */
2307 }
2308
2309 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2310 {
2311 Name (RTLH, ResourceTemplate ()
2312 {
2313 IRQ (Level, ActiveLow, Shared, _Y16)
2314 {}
2315 })
2316 CreateWordField (RTLH, \_SB.LNKH._CRS._Y16._INT, IRQ0) // _INT: Interrupts
2317 IRQ0 = Zero
2318 IRQ0 = (0x01 << (PHRC & 0x0F))
2319 Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
2320 }
2321
2322 Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings
2323 {
2324 CreateWordField (Arg0, 0x01, IRQ0)
2325 FindSetRightBit (IRQ0, Local0)
2326 Local0--
2327 PHRC = Local0
2328 }
2329
2330 Method (_STA, 0, Serialized) // _STA: Status
2331 {
2332 If ((PHRC & 0x80))
2333 {
2334 Return (0x09)
2335 }
2336 Else
2337 {
2338 Return (0x0B)
2339 }
2340 }
2341 }
2342 }
2343
2344 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
2345 Field (LPC0, AnyAcc, NoLock, Preserve)
2346 {
2347 Offset (0x40),
2348 IOD0, 8,
2349 IOD1, 8,
2350 Offset (0xB0),
2351 RAEN, 1,
2352 , 13,
2353 RCBA, 18
2354 }
2355
2356 Device (DMAC)
2357 {
2358 Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
2359 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2360 {
2361 IO (Decode16,
2362 0x0000, // Range Minimum
2363 0x0000, // Range Maximum
2364 0x01, // Alignment
2365 0x20, // Length
2366 )
2367 IO (Decode16,
2368 0x0081, // Range Minimum
2369 0x0081, // Range Maximum
2370 0x01, // Alignment
2371 0x11, // Length
2372 )
2373 IO (Decode16,
2374 0x0093, // Range Minimum
2375 0x0093, // Range Maximum
2376 0x01, // Alignment
2377 0x0D, // Length
2378 )
2379 IO (Decode16,
2380 0x00C0, // Range Minimum
2381 0x00C0, // Range Maximum
2382 0x01, // Alignment
2383 0x20, // Length
2384 )
2385 DMA (Compatibility, NotBusMaster, Transfer8_16, )
2386 {4}
2387 })
2388 }
2389
2390 Device (FWHD)
2391 {
2392 Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID
2393 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2394 {
2395 Memory32Fixed (ReadOnly,
2396 0xFF000000, // Address Base
2397 0x01000000, // Address Length
2398 )
2399 })
2400 }
2401
2402 Device (HPET)
2403 {
2404 Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
2405 Name (_UID, 0x00) // _UID: Unique ID
2406 Name (BUF0, ResourceTemplate ()
2407 {
2408 Memory32Fixed (ReadWrite,
2409 0xFED00000, // Address Base
2410 0x00000400, // Address Length
2411 _Y17)
2412 })
2413 Method (_STA, 0, NotSerialized) // _STA: Status
2414 {
2415 If ((OSYS >= 0x07D1))
2416 {
2417 If (HPAE)
2418 {
2419 Return (0x0F)
2420 }
2421 }
2422 Else
2423 {
2424 If (HPAE)
2425 {
2426 Return (0x0B)
2427 }
2428 }
2429
2430 Return (0x00)
2431 }
2432
2433 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2434 {
2435 If (HPAE)
2436 {
2437 CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y17._BAS, HPT0) // _BAS: Base Address
2438 If ((HPAS == 0x01))
2439 {
2440 HPT0 = 0xFED01000
2441 }
2442
2443 If ((HPAS == 0x02))
2444 {
2445 HPT0 = 0xFED02000
2446 }
2447
2448 If ((HPAS == 0x03))
2449 {
2450 HPT0 = 0xFED03000
2451 }
2452 }
2453
2454 Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
2455 }
2456 }
2457
2458 Device (IPIC)
2459 {
2460 Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
2461 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2462 {
2463 IO (Decode16,
2464 0x0020, // Range Minimum
2465 0x0020, // Range Maximum
2466 0x01, // Alignment
2467 0x02, // Length
2468 )
2469 IO (Decode16,
2470 0x0024, // Range Minimum
2471 0x0024, // Range Maximum
2472 0x01, // Alignment
2473 0x02, // Length
2474 )
2475 IO (Decode16,
2476 0x0028, // Range Minimum
2477 0x0028, // Range Maximum
2478 0x01, // Alignment
2479 0x02, // Length
2480 )
2481 IO (Decode16,
2482 0x002C, // Range Minimum
2483 0x002C, // Range Maximum
2484 0x01, // Alignment
2485 0x02, // Length
2486 )
2487 IO (Decode16,
2488 0x0030, // Range Minimum
2489 0x0030, // Range Maximum
2490 0x01, // Alignment
2491 0x02, // Length
2492 )
2493 IO (Decode16,
2494 0x0034, // Range Minimum
2495 0x0034, // Range Maximum
2496 0x01, // Alignment
2497 0x02, // Length
2498 )
2499 IO (Decode16,
2500 0x0038, // Range Minimum
2501 0x0038, // Range Maximum
2502 0x01, // Alignment
2503 0x02, // Length
2504 )
2505 IO (Decode16,
2506 0x003C, // Range Minimum
2507 0x003C, // Range Maximum
2508 0x01, // Alignment
2509 0x02, // Length
2510 )
2511 IO (Decode16,
2512 0x00A0, // Range Minimum
2513 0x00A0, // Range Maximum
2514 0x01, // Alignment
2515 0x02, // Length
2516 )
2517 IO (Decode16,
2518 0x00A4, // Range Minimum
2519 0x00A4, // Range Maximum
2520 0x01, // Alignment
2521 0x02, // Length
2522 )
2523 IO (Decode16,
2524 0x00A8, // Range Minimum
2525 0x00A8, // Range Maximum
2526 0x01, // Alignment
2527 0x02, // Length
2528 )
2529 IO (Decode16,
2530 0x00AC, // Range Minimum
2531 0x00AC, // Range Maximum
2532 0x01, // Alignment
2533 0x02, // Length
2534 )
2535 IO (Decode16,
2536 0x00B0, // Range Minimum
2537 0x00B0, // Range Maximum
2538 0x01, // Alignment
2539 0x02, // Length
2540 )
2541 IO (Decode16,
2542 0x00B4, // Range Minimum
2543 0x00B4, // Range Maximum
2544 0x01, // Alignment
2545 0x02, // Length
2546 )
2547 IO (Decode16,
2548 0x00B8, // Range Minimum
2549 0x00B8, // Range Maximum
2550 0x01, // Alignment
2551 0x02, // Length
2552 )
2553 IO (Decode16,
2554 0x00BC, // Range Minimum
2555 0x00BC, // Range Maximum
2556 0x01, // Alignment
2557 0x02, // Length
2558 )
2559 IO (Decode16,
2560 0x04D0, // Range Minimum
2561 0x04D0, // Range Maximum
2562 0x01, // Alignment
2563 0x02, // Length
2564 )
2565 IRQNoFlags ()
2566 {2}
2567 })
2568 }
2569
2570 Device (MATH)
2571 {
2572 Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
2573 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2574 {
2575 IO (Decode16,
2576 0x00F0, // Range Minimum
2577 0x00F0, // Range Maximum
2578 0x01, // Alignment
2579 0x01, // Length
2580 )
2581 IRQNoFlags ()
2582 {13}
2583 })
2584 }
2585
2586 Device (LDRC)
2587 {
2588 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
2589 Name (_UID, 0x02) // _UID: Unique ID
2590 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2591 {
2592 IO (Decode16,
2593 0x002E, // Range Minimum
2594 0x002E, // Range Maximum
2595 0x01, // Alignment
2596 0x02, // Length
2597 )
2598 IO (Decode16,
2599 0x004E, // Range Minimum
2600 0x004E, // Range Maximum
2601 0x01, // Alignment
2602 0x02, // Length
2603 )
2604 IO (Decode16,
2605 0x0061, // Range Minimum
2606 0x0061, // Range Maximum
2607 0x01, // Alignment
2608 0x01, // Length
2609 )
2610 IO (Decode16,
2611 0x0063, // Range Minimum
2612 0x0063, // Range Maximum
2613 0x01, // Alignment
2614 0x01, // Length
2615 )
2616 IO (Decode16,
2617 0x0065, // Range Minimum
2618 0x0065, // Range Maximum
2619 0x01, // Alignment
2620 0x01, // Length
2621 )
2622 IO (Decode16,
2623 0x0067, // Range Minimum
2624 0x0067, // Range Maximum
2625 0x01, // Alignment
2626 0x01, // Length
2627 )
2628 IO (Decode16,
2629 0x0070, // Range Minimum
2630 0x0070, // Range Maximum
2631 0x01, // Alignment
2632 0x01, // Length
2633 )
2634 IO (Decode16,
2635 0x0080, // Range Minimum
2636 0x0080, // Range Maximum
2637 0x01, // Alignment
2638 0x01, // Length
2639 )
2640 IO (Decode16,
2641 0x0092, // Range Minimum
2642 0x0092, // Range Maximum
2643 0x01, // Alignment
2644 0x01, // Length
2645 )
2646 IO (Decode16,
2647 0x00B2, // Range Minimum
2648 0x00B2, // Range Maximum
2649 0x01, // Alignment
2650 0x02, // Length
2651 )
2652 IO (Decode16,
2653 0x1000, // Range Minimum
2654 0x1000, // Range Maximum
2655 0x01, // Alignment
2656 0x10, // Length
2657 )
2658 IO (Decode16,
2659 0x1100, // Range Minimum
2660 0x1100, // Range Maximum
2661 0x01, // Alignment
2662 0x04, // Length
2663 )
2664 IO (Decode16,
2665 0x0400, // Range Minimum
2666 0x0400, // Range Maximum
2667 0x01, // Alignment
2668 0x80, // Length
2669 )
2670 IO (Decode16,
2671 0x0500, // Range Minimum
2672 0x0500, // Range Maximum
2673 0x01, // Alignment
2674 0x80, // Length
2675 )
2676 IO (Decode16,
2677 0x164E, // Range Minimum
2678 0x164E, // Range Maximum
2679 0x01, // Alignment
2680 0x02, // Length
2681 )
2682 })
2683 }
2684
2685 Device (RTC)
2686 {
2687 Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
2688 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2689 {
2690 IO (Decode16,
2691 0x0070, // Range Minimum
2692 0x0070, // Range Maximum
2693 0x01, // Alignment
2694 0x08, // Length
2695 )
2696 IRQNoFlags ()
2697 {8}
2698 })
2699 }
2700
2701 Device (TIMR)
2702 {
2703 Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
2704 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2705 {
2706 IO (Decode16,
2707 0x0040, // Range Minimum
2708 0x0040, // Range Maximum
2709 0x01, // Alignment
2710 0x04, // Length
2711 )
2712 IO (Decode16,
2713 0x0050, // Range Minimum
2714 0x0050, // Range Maximum
2715 0x10, // Alignment
2716 0x04, // Length
2717 )
2718 IRQNoFlags ()
2719 {0}
2720 })
2721 }
2722
2723 Device (CWDT)
2724 {
2725 Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */) // _HID: Hardware ID
2726 Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID
2727 Name (BUF0, ResourceTemplate ()
2728 {
2729 IO (Decode16,
2730 0x0454, // Range Minimum
2731 0x0454, // Range Maximum
2732 0x04, // Alignment
2733 0x04, // Length
2734 )
2735 })
2736 Method (_STA, 0, Serialized) // _STA: Status
2737 {
2738 Return (0x0F)
2739 }
2740
2741 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
2742 {
2743 Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */
2744 }
2745 }
2746
2747 OperationRegion (PKBS, SystemIO, 0x60, 0x05)
2748 Field (PKBS, ByteAcc, Lock, Preserve)
2749 {
2750 PKBD, 8,
2751 Offset (0x02),
2752 Offset (0x03),
2753 Offset (0x04),
2754 PKBC, 8
2755 }
2756
2757 Device (PS2K)
2758 {
2759 Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID
2760 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2761 {
2762 IO (Decode16,
2763 0x0060, // Range Minimum
2764 0x0060, // Range Maximum
2765 0x01, // Alignment
2766 0x01, // Length
2767 )
2768 IO (Decode16,
2769 0x0064, // Range Minimum
2770 0x0064, // Range Maximum
2771 0x01, // Alignment
2772 0x01, // Length
2773 )
2774 IRQ (Edge, ActiveHigh, Exclusive, )
2775 {1}
2776 })
2777 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2778 {
2779 StartDependentFn (0x00, 0x00)
2780 {
2781 FixedIO (
2782 0x0060, // Address
2783 0x01, // Length
2784 )
2785 FixedIO (
2786 0x0064, // Address
2787 0x01, // Length
2788 )
2789 IRQNoFlags ()
2790 {1}
2791 }
2792 EndDependentFn ()
2793 })
2794 }
2795
2796 Device (PS2M)
2797 {
2798 Name (SYNP, 0x03272E4F)
2799 Name (ALPS, 0x00059005)
2800 Method (_HID, 0, NotSerialized) // _HID: Hardware ID
2801 {
2802 If (((SYSD & 0x38) == 0x00))
2803 {
2804 Return (SYNP) /* \_SB_.PCI0.LPCB.PS2M.SYNP */
2805 }
2806 Else
2807 {
2808 Return (SYNP) /* \_SB_.PCI0.LPCB.PS2M.SYNP */
2809 }
2810 }
2811
2812 Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
2813 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2814 {
2815 IRQ (Edge, ActiveHigh, Exclusive, )
2816 {12}
2817 })
2818 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
2819 {
2820 StartDependentFn (0x00, 0x00)
2821 {
2822 IRQNoFlags ()
2823 {12}
2824 }
2825 EndDependentFn ()
2826 })
2827 }
2828 }
2829
2830 Device (SBUS)
2831 {
2832 Name (_ADR, 0x001F0003) // _ADR: Address
2833 OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
2834 Field (SMBP, DWordAcc, NoLock, Preserve)
2835 {
2836 , 2,
2837 I2CE, 1
2838 }
2839
2840 OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
2841 Field (SMPB, DWordAcc, NoLock, Preserve)
2842 {
2843 , 5,
2844 SBAR, 11
2845 }
2846
2847 OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
2848 Field (SMBI, ByteAcc, NoLock, Preserve)
2849 {
2850 HSTS, 8,
2851 Offset (0x02),
2852 HCON, 8,
2853 HCOM, 8,
2854 TXSA, 8,
2855 DAT0, 8,
2856 DAT1, 8,
2857 HBDR, 8,
2858 PECR, 8,
2859 RXSA, 8,
2860 SDAT, 16
2861 }
2862
2863 Method (SSXB, 2, Serialized)
2864 {
2865 If (STRT ())
2866 {
2867 Return (0x00)
2868 }
2869
2870 I2CE = 0x00
2871 HSTS = 0xBF
2872 TXSA = Arg0
2873 HCOM = Arg1
2874 HCON = 0x48
2875 If (COMP ())
2876 {
2877 HSTS |= 0xFF
2878 Return (0x01)
2879 }
2880
2881 Return (0x00)
2882 }
2883
2884 Method (SRXB, 1, Serialized)
2885 {
2886 If (STRT ())
2887 {
2888 Return (0xFFFF)
2889 }
2890
2891 I2CE = 0x00
2892 HSTS = 0xBF
2893 TXSA = (Arg0 | 0x01)
2894 HCON = 0x44
2895 If (COMP ())
2896 {
2897 HSTS |= 0xFF
2898 Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
2899 }
2900
2901 Return (0xFFFF)
2902 }
2903
2904 Method (SWRB, 3, Serialized)
2905 {
2906 If (STRT ())
2907 {
2908 Return (0x00)
2909 }
2910
2911 I2CE = 0x00
2912 HSTS = 0xBF
2913 TXSA = Arg0
2914 HCOM = Arg1
2915 DAT0 = Arg2
2916 HCON = 0x48
2917 If (COMP ())
2918 {
2919 HSTS |= 0xFF
2920 Return (0x01)
2921 }
2922
2923 Return (0x00)
2924 }
2925
2926 Method (SRDB, 2, Serialized)
2927 {
2928 If (STRT ())
2929 {
2930 Return (0xFFFF)
2931 }
2932
2933 I2CE = 0x00
2934 HSTS = 0xBF
2935 TXSA = (Arg0 | 0x01)
2936 HCOM = Arg1
2937 HCON = 0x48
2938 If (COMP ())
2939 {
2940 HSTS |= 0xFF
2941 Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
2942 }
2943
2944 Return (0xFFFF)
2945 }
2946
2947 Method (SWRW, 3, Serialized)
2948 {
2949 If (STRT ())
2950 {
2951 Return (0x00)
2952 }
2953
2954 I2CE = 0x00
2955 HSTS = 0xBF
2956 TXSA = Arg0
2957 HCOM = Arg1
2958 DAT1 = (Arg2 & 0xFF)
2959 DAT0 = ((Arg2 >> 0x08) & 0xFF)
2960 HCON = 0x4C
2961 If (COMP ())
2962 {
2963 HSTS |= 0xFF
2964 Return (0x01)
2965 }
2966
2967 Return (0x00)
2968 }
2969
2970 Method (SRDW, 2, Serialized)
2971 {
2972 If (STRT ())
2973 {
2974 Return (0xFFFF)
2975 }
2976
2977 I2CE = 0x00
2978 HSTS = 0xBF
2979 TXSA = (Arg0 | 0x01)
2980 HCOM = Arg1
2981 HCON = 0x4C
2982 If (COMP ())
2983 {
2984 HSTS |= 0xFF
2985 Return (((DAT0 << 0x08) | DAT1))
2986 }
2987
2988 Return (0xFFFFFFFF)
2989 }
2990
2991 Method (SBLW, 4, Serialized)
2992 {
2993 If (STRT ())
2994 {
2995 Return (0x00)
2996 }
2997
2998 I2CE = Arg3
2999 HSTS = 0xBF
3000 TXSA = Arg0
3001 HCOM = Arg1
3002 DAT0 = SizeOf (Arg2)
3003 Local1 = 0x00
3004 HBDR = DerefOf (Index (Arg2, 0x00))
3005 HCON = 0x54
3006 While ((SizeOf (Arg2) > Local1))
3007 {
3008 Local0 = 0x0FA0
3009 While ((!(HSTS & 0x80) && Local0))
3010 {
3011 Local0--
3012 Stall (0x32)
3013 }
3014
3015 If (!Local0)
3016 {
3017 KILL ()
3018 Return (0x00)
3019 }
3020
3021 HSTS = 0x80
3022 Local1++
3023 If ((SizeOf (Arg2) > Local1))
3024 {
3025 HBDR = DerefOf (Index (Arg2, Local1))
3026 }
3027 }
3028
3029 If (COMP ())
3030 {
3031 HSTS |= 0xFF
3032 Return (0x01)
3033 }
3034
3035 Return (0x00)
3036 }
3037
3038 Method (SBLR, 3, Serialized)
3039 {
3040 Name (TBUF, Buffer (0x0100) {})
3041 If (STRT ())
3042 {
3043 Return (0x00)
3044 }
3045
3046 I2CE = Arg2
3047 HSTS = 0xBF
3048 TXSA = (Arg0 | 0x01)
3049 HCOM = Arg1
3050 HCON = 0x54
3051 Local0 = 0x0FA0
3052 While ((!(HSTS & 0x80) && Local0))
3053 {
3054 Local0--
3055 Stall (0x32)
3056 }
3057
3058 If (!Local0)
3059 {
3060 KILL ()
3061 Return (0x00)
3062 }
3063
3064 Index (TBUF, 0x00) = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
3065 HSTS = 0x80
3066 Local1 = 0x01
3067 While ((Local1 < DerefOf (Index (TBUF, 0x00))))
3068 {
3069 Local0 = 0x0FA0
3070 While ((!(HSTS & 0x80) && Local0))
3071 {
3072 Local0--
3073 Stall (0x32)
3074 }
3075
3076 If (!Local0)
3077 {
3078 KILL ()
3079 Return (0x00)
3080 }
3081
3082 Index (TBUF, Local1) = HBDR /* \_SB_.PCI0.SBUS.HBDR */
3083 HSTS = 0x80
3084 Local1++
3085 }
3086
3087 If (COMP ())
3088 {
3089 HSTS |= 0xFF
3090 Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
3091 }
3092
3093 Return (0x00)
3094 }
3095
3096 Method (STRT, 0, Serialized)
3097 {
3098 Local0 = 0xC8
3099 While (Local0)
3100 {
3101 If ((HSTS & 0x40))
3102 {
3103 Local0--
3104 Sleep (0x01)
3105 If ((Local0 == 0x00))
3106 {
3107 Return (0x01)
3108 }
3109 }
3110 Else
3111 {
3112 Local0 = 0x00
3113 }
3114 }
3115
3116 Local0 = 0x0FA0
3117 While (Local0)
3118 {
3119 If ((HSTS & 0x01))
3120 {
3121 Local0--
3122 Stall (0x32)
3123 If ((Local0 == 0x00))
3124 {
3125 KILL ()
3126 }
3127 }
3128 Else
3129 {
3130 Return (0x00)
3131 }
3132 }
3133
3134 Return (0x01)
3135 }
3136
3137 Method (COMP, 0, Serialized)
3138 {
3139 Local0 = 0x0FA0
3140 While (Local0)
3141 {
3142 If ((HSTS & 0x02))
3143 {
3144 Return (0x01)
3145 }
3146 Else
3147 {
3148 Local0--
3149 Stall (0x32)
3150 If ((Local0 == 0x00))
3151 {
3152 KILL ()
3153 }
3154 }
3155 }
3156
3157 Return (0x00)
3158 }
3159
3160 Method (KILL, 0, Serialized)
3161 {
3162 HCON |= 0x02
3163 HSTS |= 0xFF
3164 }
3165 }
3166
3167 Device (USB1)
3168 {
3169 Name (_ADR, 0x001D0001) // _ADR: Address
3170 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3171 Field (U1CS, DWordAcc, NoLock, Preserve)
3172 {
3173 U1EN, 2
3174 }
3175
3176 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3177 {
3178 If (Arg0)
3179 {
3180 U1EN = 0x03
3181 }
3182 Else
3183 {
3184 U1EN = 0x00
3185 }
3186 }
3187
3188 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3189 {
3190 Return (0x02)
3191 }
3192
3193 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
3194 {
3195 Return (0x02)
3196 }
3197
3198 Device (HUBN)
3199 {
3200 Name (_ADR, 0x00) // _ADR: Address
3201 Device (PRT1)
3202 {
3203 Name (_ADR, 0x01) // _ADR: Address
3204 }
3205
3206 Device (PRT2)
3207 {
3208 Name (_ADR, 0x02) // _ADR: Address
3209 }
3210 }
3211
3212 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3213 {
3214 Return (GPRW (0x03, 0x03))
3215 }
3216 }
3217
3218 Device (USB2)
3219 {
3220 Name (_ADR, 0x001D0002) // _ADR: Address
3221 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3222 Field (U1CS, DWordAcc, NoLock, Preserve)
3223 {
3224 U1EN, 2
3225 }
3226
3227 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3228 {
3229 If (Arg0)
3230 {
3231 U1EN = 0x03
3232 }
3233 Else
3234 {
3235 U1EN = 0x00
3236 }
3237 }
3238
3239 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3240 {
3241 Return (0x02)
3242 }
3243
3244 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
3245 {
3246 Return (0x02)
3247 }
3248
3249 Device (HUBN)
3250 {
3251 Name (_ADR, 0x00) // _ADR: Address
3252 Device (PRT1)
3253 {
3254 Name (_ADR, 0x01) // _ADR: Address
3255 }
3256
3257 Device (PRT2)
3258 {
3259 Name (_ADR, 0x02) // _ADR: Address
3260 }
3261 }
3262
3263 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3264 {
3265 Return (GPRW (0x04, 0x03))
3266 }
3267 }
3268
3269 Device (USB3)
3270 {
3271 Name (_ADR, 0x001D0003) // _ADR: Address
3272 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3273 Field (U1CS, DWordAcc, NoLock, Preserve)
3274 {
3275 U1EN, 2
3276 }
3277
3278 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3279 {
3280 If (Arg0)
3281 {
3282 U1EN = 0x03
3283 }
3284 Else
3285 {
3286 U1EN = 0x00
3287 }
3288 }
3289
3290 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3291 {
3292 Return (0x02)
3293 }
3294
3295 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
3296 {
3297 Return (0x02)
3298 }
3299
3300 Device (HUBN)
3301 {
3302 Name (_ADR, 0x00) // _ADR: Address
3303 Device (PRT1)
3304 {
3305 Name (_ADR, 0x01) // _ADR: Address
3306 }
3307
3308 Device (PRT2)
3309 {
3310 Name (_ADR, 0x02) // _ADR: Address
3311 }
3312 }
3313
3314 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3315 {
3316 Return (GPRW (0x0C, 0x03))
3317 }
3318 }
3319
3320 Device (USB4)
3321 {
3322 Name (_ADR, 0x001D0004) // _ADR: Address
3323 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3324 Field (U1CS, DWordAcc, NoLock, Preserve)
3325 {
3326 U1EN, 2
3327 }
3328
3329 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3330 {
3331 If (Arg0)
3332 {
3333 U1EN = 0x03
3334 }
3335 Else
3336 {
3337 U1EN = 0x00
3338 }
3339 }
3340
3341 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3342 {
3343 Return (0x02)
3344 }
3345
3346 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
3347 {
3348 Return (0x02)
3349 }
3350
3351 Device (HUBN)
3352 {
3353 Name (_ADR, 0x00) // _ADR: Address
3354 Device (PRT1)
3355 {
3356 Name (_ADR, 0x01) // _ADR: Address
3357 }
3358
3359 Device (PRT2)
3360 {
3361 Name (_ADR, 0x02) // _ADR: Address
3362 }
3363 }
3364
3365 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3366 {
3367 Return (GPRW (0x0E, 0x03))
3368 }
3369 }
3370
3371 Device (USB5)
3372 {
3373 Name (_ADR, 0x001A0001) // _ADR: Address
3374 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3375 Field (U1CS, DWordAcc, NoLock, Preserve)
3376 {
3377 U1EN, 2
3378 }
3379
3380 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3381 {
3382 If (Arg0)
3383 {
3384 U1EN = 0x03
3385 }
3386 Else
3387 {
3388 U1EN = 0x00
3389 }
3390 }
3391
3392 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3393 {
3394 Return (0x02)
3395 }
3396
3397 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
3398 {
3399 Return (0x02)
3400 }
3401
3402 Device (HUBN)
3403 {
3404 Name (_ADR, 0x00) // _ADR: Address
3405 Device (PRT1)
3406 {
3407 Name (_ADR, 0x01) // _ADR: Address
3408 }
3409
3410 Device (PRT2)
3411 {
3412 Name (_ADR, 0x02) // _ADR: Address
3413 }
3414 }
3415
3416 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3417 {
3418 Return (GPRW (0x05, 0x03))
3419 }
3420 }
3421
3422 Device (USB6)
3423 {
3424 Name (_ADR, 0x001A0002) // _ADR: Address
3425 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3426 Field (U1CS, DWordAcc, NoLock, Preserve)
3427 {
3428 U1EN, 2
3429 }
3430
3431 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3432 {
3433 If (Arg0)
3434 {
3435 U1EN = 0x03
3436 }
3437 Else
3438 {
3439 U1EN = 0x00
3440 }
3441 }
3442
3443 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3444 {
3445 Return (0x02)
3446 }
3447
3448 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
3449 {
3450 Return (0x02)
3451 }
3452
3453 Device (HUBN)
3454 {
3455 Name (_ADR, 0x00) // _ADR: Address
3456 Device (PRT1)
3457 {
3458 Name (_ADR, 0x01) // _ADR: Address
3459 }
3460
3461 Device (PRT2)
3462 {
3463 Name (_ADR, 0x02) // _ADR: Address
3464 }
3465 }
3466
3467 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3468 {
3469 Return (GPRW (0x20, 0x03))
3470 }
3471 }
3472
3473 Device (USB7)
3474 {
3475 Name (_ADR, 0x001A0003) // _ADR: Address
3476 OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
3477 Field (U1CS, DWordAcc, NoLock, Preserve)
3478 {
3479 U1EN, 2
3480 }
3481
3482 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3483 {
3484 If (Arg0)
3485 {
3486 U1EN = 0x03
3487 }
3488 Else
3489 {
3490 U1EN = 0x00
3491 }
3492 }
3493
3494 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3495 {
3496 Return (0x02)
3497 }
3498
3499 Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State
3500 {
3501 Return (0x02)
3502 }
3503
3504 Device (HUBN)
3505 {
3506 Name (_ADR, 0x00) // _ADR: Address
3507 Device (PRT1)
3508 {
3509 Name (_ADR, 0x01) // _ADR: Address
3510 }
3511
3512 Device (PRT2)
3513 {
3514 Name (_ADR, 0x02) // _ADR: Address
3515 }
3516 }
3517
3518 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3519 {
3520 Return (GPRW (0x25, 0x03))
3521 }
3522 }
3523
3524 Device (EHC1)
3525 {
3526 Name (_ADR, 0x001D0000) // _ADR: Address
3527 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
3528 Field (PWKE, DWordAcc, NoLock, Preserve)
3529 {
3530 , 1,
3531 PWUC, 8
3532 }
3533
3534 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3535 {
3536 If (Arg0)
3537 {
3538 PWUC = Ones
3539 }
3540 Else
3541 {
3542 PWUC = 0x00
3543 }
3544 }
3545
3546 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3547 {
3548 Return (0x02)
3549 }
3550
3551 Name (PLDT, Buffer (0x10) {})
3552 CreateField (PLDT, 0x00, 0x20, DW00)
3553 CreateField (PLDT, 0x20, 0x20, DW01)
3554 CreateField (PLDT, 0x40, 0x20, DW02)
3555 CreateField (PLDT, 0x60, 0x20, DW03)
3556 Device (RHUB)
3557 {
3558 Name (_ADR, 0x00) // _ADR: Address
3559 Device (IHUB)
3560 {
3561 Name (_ADR, 0x01) // _ADR: Address
3562 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3563 {
3564 0x00,
3565 0xFF,
3566 0x00,
3567 0x00
3568 })
3569 Device (PRT1)
3570 {
3571 Name (_ADR, 0x01) // _ADR: Address
3572 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3573 {
3574 0x00,
3575 0xFF,
3576 0x00,
3577 0x00
3578 })
3579 }
3580
3581 Device (PRT2)
3582 {
3583 Name (_ADR, 0x02) // _ADR: Address
3584 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3585 {
3586 0xFF,
3587 0x00,
3588 0x00,
3589 0x00
3590 })
3591 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
3592 {
3593 DW00 = 0x81
3594 DW01 = 0x00
3595 DW02 = 0x1159
3596 DW03 = 0x03
3597 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3598 }
3599 }
3600
3601 Device (PRT3)
3602 {
3603 Name (_ADR, 0x03) // _ADR: Address
3604 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3605 {
3606 0xFF,
3607 0x00,
3608 0x00,
3609 0x00
3610 })
3611 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
3612 {
3613 DW00 = 0x81
3614 DW01 = 0x00
3615 DW02 = 0x1159
3616 DW03 = 0x03
3617 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3618 }
3619 }
3620
3621 Device (PRT4)
3622 {
3623 Name (_ADR, 0x04) // _ADR: Address
3624 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3625 {
3626 0x00,
3627 0xFF,
3628 0x00,
3629 0x00
3630 })
3631 }
3632
3633 Device (PRT5)
3634 {
3635 Name (_ADR, 0x05) // _ADR: Address
3636 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3637 {
3638 0xFF,
3639 0x00,
3640 0x00,
3641 0x00
3642 })
3643 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
3644 {
3645 DW00 = 0x81
3646 DW01 = 0x00
3647 DW02 = 0x1159
3648 DW03 = 0x03
3649 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3650 }
3651 }
3652
3653 Device (PRT6)
3654 {
3655 Name (_ADR, 0x06) // _ADR: Address
3656 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3657 {
3658 0xFF,
3659 0x00,
3660 0x00,
3661 0x00
3662 })
3663 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
3664 {
3665 DW00 = 0x81
3666 DW01 = 0x00
3667 DW02 = 0x1159
3668 DW03 = 0x03
3669 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */
3670 }
3671 }
3672 }
3673 }
3674
3675 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3676 {
3677 Return (GPRW (0x0D, 0x03))
3678 }
3679 }
3680
3681 Device (EHC2)
3682 {
3683 Name (_ADR, 0x001A0000) // _ADR: Address
3684 OperationRegion (PWKE, PCI_Config, 0x62, 0x04)
3685 Field (PWKE, DWordAcc, NoLock, Preserve)
3686 {
3687 , 1,
3688 PWUC, 8
3689 }
3690
3691 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3692 {
3693 If (Arg0)
3694 {
3695 PWUC = Ones
3696 }
3697 Else
3698 {
3699 PWUC = 0x00
3700 }
3701 }
3702
3703 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
3704 {
3705 Return (0x02)
3706 }
3707
3708 Name (PLDT, Buffer (0x10) {})
3709 CreateField (PLDT, 0x00, 0x20, DW00)
3710 CreateField (PLDT, 0x20, 0x20, DW01)
3711 CreateField (PLDT, 0x40, 0x20, DW02)
3712 CreateField (PLDT, 0x60, 0x20, DW03)
3713 Device (RHUB)
3714 {
3715 Name (_ADR, 0x00) // _ADR: Address
3716 Device (IHUB)
3717 {
3718 Name (_ADR, 0x01) // _ADR: Address
3719 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3720 {
3721 0x00,
3722 0xFF,
3723 0x00,
3724 0x00
3725 })
3726 Device (PRT1)
3727 {
3728 Name (_ADR, 0x01) // _ADR: Address
3729 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3730 {
3731 0x00,
3732 0xFF,
3733 0x00,
3734 0x00
3735 })
3736 }
3737
3738 Device (PRT2)
3739 {
3740 Name (_ADR, 0x02) // _ADR: Address
3741 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3742 {
3743 0xFF,
3744 0xFF,
3745 0x00,
3746 0x00
3747 })
3748 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
3749 {
3750 DW00 = 0x81
3751 DW01 = 0x00
3752 DW02 = 0x00
3753 DW03 = 0x00
3754 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */
3755 }
3756 }
3757
3758 Device (PRT3)
3759 {
3760 Name (_ADR, 0x03) // _ADR: Address
3761 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3762 {
3763 0xFF,
3764 0xFF,
3765 0x00,
3766 0x00
3767 })
3768 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
3769 {
3770 DW00 = 0x81
3771 DW01 = 0x00
3772 DW02 = 0x00
3773 DW03 = 0x00
3774 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */
3775 }
3776 }
3777
3778 Device (PRT4)
3779 {
3780 Name (_ADR, 0x04) // _ADR: Address
3781 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3782 {
3783 0x00,
3784 0xFF,
3785 0x00,
3786 0x00
3787 })
3788 }
3789
3790 Device (PRT5)
3791 {
3792 Name (_ADR, 0x05) // _ADR: Address
3793 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3794 {
3795 0x00,
3796 0xFF,
3797 0x00,
3798 0x00
3799 })
3800 }
3801
3802 Device (PRT6)
3803 {
3804 Name (_ADR, 0x06) // _ADR: Address
3805 Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities
3806 {
3807 0xFF,
3808 0xFF,
3809 0x00,
3810 0x00
3811 })
3812 Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
3813 {
3814 DW00 = 0x81
3815 DW01 = 0x00
3816 DW02 = 0x00
3817 DW03 = 0x00
3818 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */
3819 }
3820 }
3821 }
3822 }
3823
3824 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
3825 {
3826 Return (GPRW (0x0D, 0x03))
3827 }
3828 }
3829
3830 Device (PEG0)
3831 {
3832 Name (_ADR, 0x00010000) // _ADR: Address
3833 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
3834 {
3835 If (PICM)
3836 {
3837 Return (AR01 ())
3838 }
3839
3840 Return (PR01 ())
3841 }
3842
3843 Device (PEGP)
3844 {
3845 Name (_ADR, 0xFFFF) // _ADR: Address
3846 }
3847 }
3848
3849 Device (HDEF)
3850 {
3851 Name (_ADR, 0x001B0000) // _ADR: Address
3852 OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
3853 Field (HDAR, WordAcc, NoLock, Preserve)
3854 {
3855 DCKA, 1,
3856 Offset (0x01),
3857 DCKM, 1,
3858 , 6,
3859 DCKS, 1,
3860 Offset (0x08),
3861 , 15,
3862 PMES, 1
3863 }
3864 }
3865
3866 Device (RP01)
3867 {
3868 Name (_ADR, 0x001C0000) // _ADR: Address
3869 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
3870 Field (PXCS, AnyAcc, NoLock, Preserve)
3871 {
3872 Offset (0x10),
3873 L0SE, 1,
3874 Offset (0x11),
3875 Offset (0x98),
3876 , 30,
3877 HPEX, 1,
3878 PMEX, 1
3879 }
3880
3881 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
3882 {
3883 Offset (0x12),
3884 , 13,
3885 LASX, 1,
3886 Offset (0x1A),
3887 ABPX, 1,
3888 , 2,
3889 PDCX, 1,
3890 , 2,
3891 PDSX, 1,
3892 Offset (0x1B),
3893 LSCX, 1,
3894 Offset (0x20),
3895 Offset (0x22),
3896 PSPX, 1,
3897 PMPD, 1,
3898 Offset (0x9C),
3899 , 30,
3900 HPSX, 1,
3901 PMSX, 1
3902 }
3903
3904 Device (PXSX)
3905 {
3906 Name (_ADR, 0x00) // _ADR: Address
3907 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3908 {
3909 0x09,
3910 0x03
3911 })
3912 }
3913
3914 Method (HPME, 0, Serialized)
3915 {
3916 If (PMSX)
3917 {
3918 Local0 = 0xC8
3919 While (Local0)
3920 {
3921 PMSX = 0x01
3922 If (PMSX)
3923 {
3924 Local0--
3925 }
3926 Else
3927 {
3928 Local0 = 0x00
3929 }
3930 }
3931
3932 Notify (PXSX, 0x02) // Device Wake
3933 Return (0x01)
3934 }
3935 Else
3936 {
3937 Return (0x00)
3938 }
3939 }
3940
3941 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
3942 {
3943 If (PICM)
3944 {
3945 Return (AR02 ())
3946 }
3947
3948 Return (PR02 ())
3949 }
3950 }
3951
3952 Device (RP02)
3953 {
3954 Name (_ADR, 0x001C0001) // _ADR: Address
3955 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
3956 Field (PXCS, AnyAcc, NoLock, Preserve)
3957 {
3958 Offset (0x10),
3959 L0SE, 1,
3960 Offset (0x11),
3961 Offset (0x98),
3962 , 30,
3963 HPEX, 1,
3964 PMEX, 1
3965 }
3966
3967 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
3968 {
3969 Offset (0x12),
3970 , 13,
3971 LASX, 1,
3972 Offset (0x1A),
3973 ABPX, 1,
3974 , 2,
3975 PDCX, 1,
3976 , 2,
3977 PDSX, 1,
3978 Offset (0x1B),
3979 LSCX, 1,
3980 Offset (0x20),
3981 Offset (0x22),
3982 PSPX, 1,
3983 PMPD, 1,
3984 Offset (0x9C),
3985 , 30,
3986 HPSX, 1,
3987 PMSX, 1
3988 }
3989
3990 Device (PXSX)
3991 {
3992 Name (_ADR, 0x00) // _ADR: Address
3993 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
3994 {
3995 0x09,
3996 0x03
3997 })
3998 }
3999
4000 Method (HPME, 0, Serialized)
4001 {
4002 If (PMSX)
4003 {
4004 Local0 = 0xC8
4005 While (Local0)
4006 {
4007 PMSX = 0x01
4008 If (PMSX)
4009 {
4010 Local0--
4011 }
4012 Else
4013 {
4014 Local0 = 0x00
4015 }
4016 }
4017
4018 Notify (PXSX, 0x02) // Device Wake
4019 Return (0x01)
4020 }
4021 Else
4022 {
4023 Return (0x00)
4024 }
4025 }
4026
4027 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
4028 {
4029 If (PICM)
4030 {
4031 Return (AR03 ())
4032 }
4033
4034 Return (PR03 ())
4035 }
4036 }
4037
4038 Device (RP03)
4039 {
4040 Name (_ADR, 0x001C0002) // _ADR: Address
4041 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
4042 Field (PXCS, AnyAcc, NoLock, Preserve)
4043 {
4044 Offset (0x10),
4045 L0SE, 1,
4046 Offset (0x11),
4047 Offset (0x98),
4048 , 30,
4049 HPEX, 1,
4050 PMEX, 1
4051 }
4052
4053 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
4054 {
4055 Offset (0x12),
4056 , 13,
4057 LASX, 1,
4058 Offset (0x1A),
4059 ABPX, 1,
4060 , 2,
4061 PDCX, 1,
4062 , 2,
4063 PDSX, 1,
4064 Offset (0x1B),
4065 LSCX, 1,
4066 Offset (0x20),
4067 Offset (0x22),
4068 PSPX, 1,
4069 PMPD, 1,
4070 Offset (0x9C),
4071 , 30,
4072 HPSX, 1,
4073 PMSX, 1
4074 }
4075
4076 Device (PXSX)
4077 {
4078 Name (_ADR, 0x00) // _ADR: Address
4079 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
4080 {
4081 0x09,
4082 0x03
4083 })
4084 }
4085
4086 Method (HPME, 0, Serialized)
4087 {
4088 If (PMSX)
4089 {
4090 Local0 = 0xC8
4091 While (Local0)
4092 {
4093 PMSX = 0x01
4094 If (PMSX)
4095 {
4096 Local0--
4097 }
4098 Else
4099 {
4100 Local0 = 0x00
4101 }
4102 }
4103
4104 Notify (PXSX, 0x02) // Device Wake
4105 Return (0x01)
4106 }
4107 Else
4108 {
4109 Return (0x00)
4110 }
4111 }
4112
4113 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
4114 {
4115 Return (GPRW (0x09, 0x03))
4116 }
4117
4118 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
4119 {
4120 If (PICM)
4121 {
4122 Return (AR04 ())
4123 }
4124
4125 Return (PR04 ())
4126 }
4127 }
4128
4129 Device (RP04)
4130 {
4131 Name (_ADR, 0x001C0003) // _ADR: Address
4132 OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
4133 Field (PXCS, AnyAcc, NoLock, Preserve)
4134 {
4135 Offset (0x10),
4136 L0SE, 1,
4137 Offset (0x11),
4138 Offset (0x98),
4139 , 30,
4140 HPEX, 1,
4141 PMEX, 1
4142 }
4143
4144 Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
4145 {
4146 Offset (0x12),
4147 , 13,
4148 LASX, 1,
4149 Offset (0x1A),
4150 ABPX, 1,
4151 , 2,
4152 PDCX, 1,
4153 , 2,
4154 PDSX, 1,
4155 Offset (0x1B),
4156 LSCX, 1,
4157 Offset (0x20),
4158 Offset (0x22),
4159 PSPX, 1,
4160 PMPD, 1,
4161 Offset (0x9C),
4162 , 30,
4163 HPSX, 1,
4164 PMSX, 1
4165 }
4166
4167 Device (PXSX)
4168 {
4169 Name (_ADR, 0x00) // _ADR: Address
4170 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
4171 {
4172 0x09,
4173 0x03
4174 })
4175 }
4176
4177 Method (HPME, 0, Serialized)
4178 {
4179 If (PMSX)
4180 {
4181 Local0 = 0xC8
4182 While (Local0)
4183 {
4184 PMSX = 0x01
4185 If (PMSX)
4186 {
4187 Local0--
4188 }
4189 Else
4190 {
4191 Local0 = 0x00
4192 }
4193 }
4194
4195 Notify (PXSX, 0x02) // Device Wake
4196 Return (0x01)
4197 }
4198 Else
4199 {
4200 Return (0x00)
4201 }
4202 }
4203
4204 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
4205 {
4206 Return (GPRW (0x09, 0x03))
4207 }
4208
4209 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
4210 {
4211 If (PICM)
4212 {
4213 Return (AR05 ())
4214 }
4215
4216 Return (PR05 ())
4217 }
4218
4219 Device (AGBE)
4220 {
4221 Name (_ADR, 0xFFFF) // _ADR: Address
4222 }
4223 }
4224 }
4225
4226 Scope (\_GPE)
4227 {
4228 Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4229 {
4230 Notify (\_SB.PCI0.B0D4, 0x02) // Device Wake
4231 Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
4232 Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
4233 }
4234
4235 Method (_L03, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4236 {
4237 Notify (\_SB.PCI0.USB1, 0x02) // Device Wake
4238 }
4239
4240 Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4241 {
4242 Notify (\_SB.PCI0.USB2, 0x02) // Device Wake
4243 }
4244
4245 Method (_L0C, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4246 {
4247 Notify (\_SB.PCI0.USB3, 0x02) // Device Wake
4248 }
4249
4250 Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4251 {
4252 Notify (\_SB.PCI0.USB4, 0x02) // Device Wake
4253 }
4254
4255 Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4256 {
4257 Notify (\_SB.PCI0.USB5, 0x02) // Device Wake
4258 }
4259
4260 Method (_L20, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4261 {
4262 Notify (\_SB.PCI0.USB6, 0x02) // Device Wake
4263 }
4264
4265 Method (_L25, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4266 {
4267 Notify (\_SB.PCI0.USB7, 0x02) // Device Wake
4268 }
4269
4270 Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
4271 {
4272 Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
4273 Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
4274 }
4275 }
4276 }
4277
4278 Mutex (MUTX, 0x00)
4279 Scope (\)
4280 {
4281 Name (RTL0, Buffer (0x10)
4282 {
4283 /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */
4284 /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */
4285 })
4286 Name (ICL0, Package (0x12)
4287 {
4288 0x64,
4289 0x64,
4290 0x0A,
4291 0x10,
4292 0x16,
4293 0x1C,
4294 0x22,
4295 0x28,
4296 0x2E,
4297 0x34,
4298 0x3A,
4299 0x40,
4300 0x46,
4301 0x4C,
4302 0x52,
4303 0x58,
4304 0x5E,
4305 0x64
4306 })
4307 Name (I10B, Buffer (0x08) {})
4308 CreateField (I10B, 0x00, 0x08, I_AL)
4309 CreateField (I10B, 0x08, 0x08, I_AH)
4310 CreateField (I10B, 0x10, 0x08, I_BL)
4311 CreateField (I10B, 0x18, 0x08, I_BH)
4312 CreateField (I10B, 0x20, 0x08, I_CL)
4313 CreateField (I10B, 0x28, 0x08, I_CH)
4314 CreateField (I10B, 0x30, 0x08, I_DL)
4315 CreateField (I10B, 0x38, 0x08, I_DH)
4316 OperationRegion (XCMS, SystemIO, 0x72, 0x02)
4317 Field (XCMS, ByteAcc, NoLock, Preserve)
4318 {
4319 XIND, 8,
4320 XDAT, 8
4321 }
4322
4323 IndexField (XIND, XDAT, ByteAcc, NoLock, Preserve)
4324 {
4325 Offset (0x60),
4326 CM60, 8,
4327 CM61, 8,
4328 Offset (0x6C),
4329 CM6C, 8,
4330 CM6D, 8,
4331 CM6E, 8,
4332 CM6F, 8,
4333 Offset (0x75),
4334 CM75, 8,
4335 Offset (0x78),
4336 ATFR, 8
4337 }
4338 }
4339
4340 Name (BFER, 0x00)
4341 Mutex (RWCM, 0x00)
4342 Method (DBGC, 3, NotSerialized)
4343 {
4344 }
4345
4346 OperationRegion (PRT0, SystemIO, 0x80, 0x04)
4347 Field (PRT0, DWordAcc, Lock, Preserve)
4348 {
4349 P80H, 32
4350 }
4351
4352 Method (P8XH, 2, Serialized)
4353 {
4354 If ((Arg0 == 0x00))
4355 {
4356 P80D = ((P80D & 0xFFFFFF00) | Arg1)
4357 }
4358
4359 If ((Arg0 == 0x01))
4360 {
4361 P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
4362 }
4363
4364 If ((Arg0 == 0x02))
4365 {
4366 P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
4367 }
4368
4369 If ((Arg0 == 0x03))
4370 {
4371 P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
4372 }
4373
4374 P80H = P80D /* \P80D */
4375 }
4376
4377 OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
4378 Field (SPRT, ByteAcc, Lock, Preserve)
4379 {
4380 SSMP, 8
4381 }
4382
4383 Method (\_PIC, 1, NotSerialized) // _PIC: Interrupt Model
4384 {
4385 GPIC = Arg0
4386 PICM = Arg0
4387 }
4388
4389 Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
4390 {
4391 \DBGC (0x50, Arg0, BCEN)
4392 P80D = 0x00
4393 P8XH (0x00, Arg0)
4394 CM75 = 0x00
4395 PHSB (0xEB, 0x00)
4396 If ((Arg0 == 0x03))
4397 {
4398 If ((DTSE && (TCNT > 0x01)))
4399 {
4400 TRAP (\TRTD, 0x1E)
4401 }
4402
4403 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4404 LIDS = \_SB.PCI0.LPCB.EC.LSTE
4405 Release (\_SB.PCI0.LPCB.EC.MECR)
4406 }
4407
4408 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4409 PHSB (0xF9, 0x4A)
4410 Release (\_SB.PCI0.LPCB.EC.MECR)
4411 If ((DBGS == 0x00)) {}
4412 \DBGC (0x50, 0x80, BCEN)
4413 }
4414
4415 Name (TEM1, 0x00)
4416 Name (TEM2, 0x00)
4417 Name (TEM3, 0x00)
4418 Method (_WAK, 1, Serialized) // _WAK: Wake
4419 {
4420 \DBGC (0x53, Arg0, BCEN)
4421 P8XH (0x01, 0xAB)
4422 If (NEXP)
4423 {
4424 If ((OSCC & 0x02))
4425 {
4426 \_SB.PCI0.NHPG ()
4427 }
4428
4429 If ((OSCC & 0x04))
4430 {
4431 \_SB.PCI0.NPME ()
4432 }
4433 }
4434
4435 If (((Arg0 == 0x03) || (Arg0 == 0x04)))
4436 {
4437 If (CM75)
4438 {
4439 CM75 = 0x00
4440 Notify (\_SB.PWRB, 0x02) // Device Wake
4441 }
4442
4443 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4444 TEM1 = \_SB.PCI0.LPCB.EC.RPWR
4445 TEM2 = \_SB.PCI0.LPCB.EC.BATP
4446 TEM3 = \_SB.PCI0.LPCB.EC.LSTE
4447 Release (\_SB.PCI0.LPCB.EC.MECR)
4448 If ((LIDS != TEM3))
4449 {
4450 LIDS = TEM3 /* \TEM3 */
4451 Notify (\_SB.LID0, 0x80) // Status Change
4452 }
4453
4454 If ((PWRS != TEM1))
4455 {
4456 PWRS = TEM1 /* \TEM1 */
4457 Notify (\_SB.ADP1, 0x80) // Status Change
4458 PNOT ()
4459 }
4460
4461 If ((BNUM != TEM2))
4462 {
4463 BNUM = TEM2 /* \TEM2 */
4464 Notify (\_SB.BAT0, 0x81) // Information Change
4465 }
4466
4467 If ((DTSE && (TCNT > 0x01)))
4468 {
4469 TRAP (\TRTD, 0x14)
4470 }
4471
4472 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
4473 If ((GP54 == 0x00))
4474 {
4475 If (DGST)
4476 {
4477 PHSW (0xF9, 0x4B, 0x10)
4478 }
4479 Else
4480 {
4481 PHSB (0xF9, 0x4A)
4482 }
4483 }
4484 Else
4485 {
4486 Local0 = (SYSD & 0x07)
4487 If ((Local0 != 0x00))
4488 {
4489 PHSW (0xF9, 0x4B, 0x10)
4490 }
4491 }
4492
4493 Release (\_SB.PCI0.LPCB.EC.MECR)
4494 If ((RP1D == 0x00))
4495 {
4496 Notify (\_SB.PCI0.RP01, 0x00) // Bus Check
4497 }
4498
4499 If ((RP2D == 0x00))
4500 {
4501 Notify (\_SB.PCI0.RP02, 0x00) // Bus Check
4502 }
4503
4504 If ((RP3D == 0x00))
4505 {
4506 Notify (\_SB.PCI0.RP03, 0x00) // Bus Check
4507 }
4508
4509 If ((RP4D == 0x00))
4510 {
4511 Notify (\_SB.PCI0.RP04, 0x00) // Bus Check
4512 }
4513 }
4514
4515 \DBGC (0x53, 0x80, BCEN)
4516 Return (Package (0x02)
4517 {
4518 0x00,
4519 0x00
4520 })
4521 }
4522
4523 Method (GETB, 3, Serialized)
4524 {
4525 Local0 = (Arg0 * 0x08)
4526 Local1 = (Arg1 * 0x08)
4527 CreateField (Arg2, Local0, Local1, TBF3)
4528 Return (TBF3) /* \GETB.TBF3 */
4529 }
4530
4531 Method (PNOT, 0, Serialized)
4532 {
4533 If ((TCNT > 0x01))
4534 {
4535 If ((PDC0 & 0x08))
4536 {
4537 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
4538 If ((PDC0 & 0x10))
4539 {
4540 Sleep (0x64)
4541 Notify (\_PR.CPU0, 0x81) // C-State Change
4542 }
4543 }
4544
4545 If ((PDC1 & 0x08))
4546 {
4547 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
4548 If ((PDC1 & 0x10))
4549 {
4550 Sleep (0x64)
4551 Notify (\_PR.CPU1, 0x81) // C-State Change
4552 }
4553 }
4554
4555 If ((PDC2 & 0x08))
4556 {
4557 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
4558 If ((PDC2 & 0x10))
4559 {
4560 Sleep (0x64)
4561 Notify (\_PR.CPU2, 0x81) // C-State Change
4562 }
4563 }
4564
4565 If ((PDC3 & 0x08))
4566 {
4567 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
4568 If ((PDC3 & 0x10))
4569 {
4570 Sleep (0x64)
4571 Notify (\_PR.CPU3, 0x81) // C-State Change
4572 }
4573 }
4574
4575 If ((PDC4 & 0x08))
4576 {
4577 Notify (\_PR.CPU4, 0x80) // Performance Capability Change
4578 If ((PDC4 & 0x10))
4579 {
4580 Sleep (0x64)
4581 Notify (\_PR.CPU4, 0x81) // C-State Change
4582 }
4583 }
4584
4585 If ((PDC5 & 0x08))
4586 {
4587 Notify (\_PR.CPU5, 0x80) // Performance Capability Change
4588 If ((PDC5 & 0x10))
4589 {
4590 Sleep (0x64)
4591 Notify (\_PR.CPU5, 0x81) // C-State Change
4592 }
4593 }
4594
4595 If ((PDC6 & 0x08))
4596 {
4597 Notify (\_PR.CPU6, 0x80) // Performance Capability Change
4598 If ((PDC6 & 0x10))
4599 {
4600 Sleep (0x64)
4601 Notify (\_PR.CPU6, 0x81) // C-State Change
4602 }
4603 }
4604
4605 If ((PDC7 & 0x08))
4606 {
4607 Notify (\_PR.CPU7, 0x80) // Performance Capability Change
4608 If ((PDC7 & 0x10))
4609 {
4610 Sleep (0x64)
4611 Notify (\_PR.CPU7, 0x81) // C-State Change
4612 }
4613 }
4614 }
4615 Else
4616 {
4617 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
4618 Sleep (0x64)
4619 Notify (\_PR.CPU0, 0x81) // C-State Change
4620 }
4621 }
4622
4623 Method (TRAP, 2, Serialized)
4624 {
4625 SMIF = Arg1
4626 If ((Arg0 == \TRTP))
4627 {
4628 TRP0 = 0x00
4629 }
4630
4631 Return (SMIF) /* \SMIF */
4632 }
4633
4634 Scope (\_SB.PCI0)
4635 {
4636 Method (_INI, 0, NotSerialized) // _INI: Initialize
4637 {
4638 OSYS = 0x07D0
4639 If (CondRefOf (\_OSI, Local0))
4640 {
4641 If (\_OSI ("Linux"))
4642 {
4643 OSYS = 0x03E8
4644 }
4645
4646 If (\_OSI ("Windows 2001"))
4647 {
4648 OSYS = 0x07D1
4649 }
4650
4651 If (\_OSI ("Windows 2001 SP1"))
4652 {
4653 OSYS = 0x07D1
4654 }
4655
4656 If (\_OSI ("Windows 2001 SP2"))
4657 {
4658 OSYS = 0x07D2
4659 }
4660
4661 If (\_OSI ("Windows 2001.1"))
4662 {
4663 OSYS = 0x07D3
4664 }
4665
4666 If (\_OSI ("Windows 2006"))
4667 {
4668 OSYS = 0x07D6
4669 }
4670
4671 If (\_OSI ("Windows 2009"))
4672 {
4673 OSYS = 0x07D9
4674 }
4675 }
4676
4677 If (((OSYS == 0x07D1) || (OSYS == 0x07D2)))
4678 {
4679 Local1 = 0x00
4680 Local1 = PHS (0xC1)
4681 Local1 &= 0x0F
4682 If ((Local1 > 0x0F))
4683 {
4684 Local1 = 0x0F
4685 PHSB (0xC2, Local1)
4686 }
4687
4688 Local2 = DerefOf (Index (\BTL0, Local1))
4689 If ((IGDS & IGDS))
4690 {
4691 BRTL = Local2
4692 }
4693 Else
4694 {
4695 ALER = 0x00
4696 Local3 = (Match (ICL0, MEQ, Local2, MTR, 0x00, 0x02) - 0x02)
4697 Local3 = DerefOf (Index (RTL0, Local3))
4698 BRTL = Local2
4699 I_AL = 0x82
4700 I_AH = 0xA0
4701 I_BL = 0x05
4702 I_BH = 0x01
4703 I_CL = Local3
4704 PHDD (0xE2, I10B)
4705 }
4706 }
4707 }
4708
4709 Method (NHPG, 0, Serialized)
4710 {
4711 ^RP01.HPEX = 0x00
4712 ^RP02.HPEX = 0x00
4713 ^RP03.HPEX = 0x00
4714 ^RP04.HPEX = 0x00
4715 ^RP01.HPSX = 0x01
4716 ^RP02.HPSX = 0x01
4717 ^RP03.HPSX = 0x01
4718 ^RP04.HPSX = 0x01
4719 }
4720
4721 Method (NPME, 0, Serialized)
4722 {
4723 ^RP01.PMEX = 0x00
4724 ^RP02.PMEX = 0x00
4725 ^RP03.PMEX = 0x00
4726 ^RP04.PMEX = 0x00
4727 ^RP01.PMSX = 0x01
4728 ^RP02.PMSX = 0x01
4729 ^RP03.PMSX = 0x01
4730 ^RP04.PMSX = 0x01
4731 }
4732 }
4733
4734 Scope (\)
4735 {
4736 Name (PICM, 0x00)
4737 Name (PRWP, Package (0x02)
4738 {
4739 Zero,
4740 Zero
4741 })
4742 Method (GPRW, 2, NotSerialized)
4743 {
4744 Index (PRWP, 0x00) = Arg0
4745 Local0 = (SS1 << 0x01)
4746 Local0 |= (SS2 << 0x02)
4747 Local0 |= (SS3 << 0x03)
4748 Local0 |= (SS4 << 0x04)
4749 If (((0x01 << Arg1) & Local0))
4750 {
4751 Index (PRWP, 0x01) = Arg1
4752 }
4753 Else
4754 {
4755 Local0 >>= 0x01
4756 FindSetLeftBit (Local0, Index (PRWP, 0x01))
4757 }
4758
4759 Return (PRWP) /* \PRWP */
4760 }
4761 }
4762
4763 Scope (\_SB.PCI0)
4764 {
4765 Device (GFX0)
4766 {
4767 Name (_ADR, 0x00020000) // _ADR: Address
4768 Method (PCPC, 0, NotSerialized)
4769 {
4770 }
4771
4772 Method (PAPR, 0, NotSerialized)
4773 {
4774 }
4775
4776 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
4777 {
4778 \DBGC (0x66, 0x01, BCEN)
4779 DSEN = (Arg0 & 0x07)
4780 If (((Arg0 & 0x03) == 0x00))
4781 {
4782 If (CondRefOf (HDOS))
4783 {
4784 HDOS ()
4785 }
4786 }
4787 }
4788
4789 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
4790 {
4791 \DBGC (0x66, 0x02, BCEN)
4792 If (CondRefOf (IDAB))
4793 {
4794 IDAB ()
4795 }
4796 Else
4797 {
4798 NDID = 0x00
4799 If ((DIDL != Zero))
4800 {
4801 DID1 = SDDL (DIDL)
4802 }
4803
4804 If ((DDL2 != Zero))
4805 {
4806 DID2 = SDDL (DDL2)
4807 }
4808
4809 If ((DDL3 != Zero))
4810 {
4811 DID3 = SDDL (DDL3)
4812 }
4813
4814 If ((DDL4 != Zero))
4815 {
4816 DID4 = SDDL (DDL4)
4817 }
4818
4819 If ((DDL5 != Zero))
4820 {
4821 DID5 = SDDL (DDL5)
4822 }
4823
4824 If ((DDL6 != Zero))
4825 {
4826 DID6 = SDDL (DDL6)
4827 }
4828
4829 If ((DDL7 != Zero))
4830 {
4831 DID7 = SDDL (DDL7)
4832 }
4833
4834 If ((DDL8 != Zero))
4835 {
4836 DID8 = SDDL (DDL8)
4837 }
4838 }
4839
4840 If ((NDID == 0x01))
4841 {
4842 Name (TMP1, Package (0x01)
4843 {
4844 0xFFFFFFFF
4845 })
4846 Index (TMP1, 0x00) = (0x00010000 | DID1)
4847 Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */
4848 }
4849
4850 If ((NDID == 0x02))
4851 {
4852 Name (TMP2, Package (0x02)
4853 {
4854 0xFFFFFFFF,
4855 0xFFFFFFFF
4856 })
4857 Index (TMP2, 0x00) = (0x00010000 | DID1)
4858 Index (TMP2, 0x01) = (0x00010000 | DID2)
4859 Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */
4860 }
4861
4862 If ((NDID == 0x03))
4863 {
4864 Name (TMP3, Package (0x03)
4865 {
4866 0xFFFFFFFF,
4867 0xFFFFFFFF,
4868 0xFFFFFFFF
4869 })
4870 Index (TMP3, 0x00) = (0x00010000 | DID1)
4871 Index (TMP3, 0x01) = (0x00010000 | DID2)
4872 Index (TMP3, 0x02) = (0x00010000 | DID3)
4873 Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */
4874 }
4875
4876 If ((NDID == 0x04))
4877 {
4878 Name (TMP4, Package (0x04)
4879 {
4880 0xFFFFFFFF,
4881 0xFFFFFFFF,
4882 0xFFFFFFFF,
4883 0xFFFFFFFF
4884 })
4885 Index (TMP4, 0x00) = (0x00010000 | DID1)
4886 Index (TMP4, 0x01) = (0x00010000 | DID2)
4887 Index (TMP4, 0x02) = (0x00010000 | DID3)
4888 Index (TMP4, 0x03) = (0x00010000 | DID4)
4889 Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */
4890 }
4891
4892 If ((NDID == 0x05))
4893 {
4894 Name (TMP5, Package (0x05)
4895 {
4896 0xFFFFFFFF,
4897 0xFFFFFFFF,
4898 0xFFFFFFFF,
4899 0xFFFFFFFF,
4900 0xFFFFFFFF
4901 })
4902 Index (TMP5, 0x00) = (0x00010000 | DID1)
4903 Index (TMP5, 0x01) = (0x00010000 | DID2)
4904 Index (TMP5, 0x02) = (0x00010000 | DID3)
4905 Index (TMP5, 0x03) = (0x00010000 | DID4)
4906 Index (TMP5, 0x04) = (0x00010000 | DID5)
4907 Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */
4908 }
4909
4910 If ((NDID == 0x06))
4911 {
4912 Name (TMP6, Package (0x06)
4913 {
4914 0xFFFFFFFF,
4915 0xFFFFFFFF,
4916 0xFFFFFFFF,
4917 0xFFFFFFFF,
4918 0xFFFFFFFF,
4919 0xFFFFFFFF
4920 })
4921 Index (TMP6, 0x00) = (0x00010000 | DID1)
4922 Index (TMP6, 0x01) = (0x00010000 | DID2)
4923 Index (TMP6, 0x02) = (0x00010000 | DID3)
4924 Index (TMP6, 0x03) = (0x00010000 | DID4)
4925 Index (TMP6, 0x04) = (0x00010000 | DID5)
4926 Index (TMP6, 0x05) = (0x00010000 | DID6)
4927 Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */
4928 }
4929
4930 If ((NDID == 0x07))
4931 {
4932 Name (TMP7, Package (0x07)
4933 {
4934 0xFFFFFFFF,
4935 0xFFFFFFFF,
4936 0xFFFFFFFF,
4937 0xFFFFFFFF,
4938 0xFFFFFFFF,
4939 0xFFFFFFFF,
4940 0xFFFFFFFF
4941 })
4942 Index (TMP7, 0x00) = (0x00010000 | DID1)
4943 Index (TMP7, 0x01) = (0x00010000 | DID2)
4944 Index (TMP7, 0x02) = (0x00010000 | DID3)
4945 Index (TMP7, 0x03) = (0x00010000 | DID4)
4946 Index (TMP7, 0x04) = (0x00010000 | DID5)
4947 Index (TMP7, 0x05) = (0x00010000 | DID6)
4948 Index (TMP7, 0x06) = (0x00010000 | DID7)
4949 Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */
4950 }
4951
4952 If ((NDID == 0x08))
4953 {
4954 Name (TMP8, Package (0x08)
4955 {
4956 0xFFFFFFFF,
4957 0xFFFFFFFF,
4958 0xFFFFFFFF,
4959 0xFFFFFFFF,
4960 0xFFFFFFFF,
4961 0xFFFFFFFF,
4962 0xFFFFFFFF,
4963 0xFFFFFFFF
4964 })
4965 Index (TMP8, 0x00) = (0x00010000 | DID1)
4966 Index (TMP8, 0x01) = (0x00010000 | DID2)
4967 Index (TMP8, 0x02) = (0x00010000 | DID3)
4968 Index (TMP8, 0x03) = (0x00010000 | DID4)
4969 Index (TMP8, 0x04) = (0x00010000 | DID5)
4970 Index (TMP8, 0x05) = (0x00010000 | DID6)
4971 Index (TMP8, 0x06) = (0x00010000 | DID7)
4972 Index (TMP8, 0x07) = (0x00010000 | DID8)
4973 Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */
4974 }
4975
4976 If ((NDID == 0x09))
4977 {
4978 If (CondRefOf (HWID))
4979 {
4980 Return (HWID) /* External reference */
4981 }
4982 }
4983
4984 Return (Package (0x01)
4985 {
4986 0x0400
4987 })
4988 }
4989
4990 Name (RTL0, Buffer (0x10)
4991 {
4992 /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */
4993 /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */
4994 })
4995 Name (ICL0, Package (0x12)
4996 {
4997 0x64,
4998 0x64,
4999 0x0A,
5000 0x10,
5001 0x16,
5002 0x1C,
5003 0x22,
5004 0x28,
5005 0x2E,
5006 0x34,
5007 0x3A,
5008 0x40,
5009 0x46,
5010 0x4C,
5011 0x52,
5012 0x58,
5013 0x5E,
5014 0x64
5015 })
5016 Device (DD01)
5017 {
5018 Method (_ADR, 0, Serialized) // _ADR: Address
5019 {
5020 If ((DID1 == 0x00))
5021 {
5022 Return (0x01)
5023 }
5024 Else
5025 {
5026 Return ((0xFFFF & DID1))
5027 }
5028 }
5029
5030 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5031 {
5032 Return (CDDS (DID1))
5033 }
5034
5035 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5036 {
5037 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5038 {
5039 Return (NXD1) /* \NXD1 */
5040 }
5041
5042 Return (NDDS (DID1))
5043 }
5044
5045 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5046 {
5047 If (((Arg0 & 0xC0000000) == 0xC0000000))
5048 {
5049 CSTE = NSTE /* \NSTE */
5050 }
5051 }
5052 }
5053
5054 Device (DD02)
5055 {
5056 Method (_ADR, 0, Serialized) // _ADR: Address
5057 {
5058 If ((DID2 == 0x00))
5059 {
5060 Return (0x02)
5061 }
5062 Else
5063 {
5064 Return ((0xFFFF & DID2))
5065 }
5066 }
5067
5068 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5069 {
5070 If ((LIDS == 0x00))
5071 {
5072 Return (0x00)
5073 }
5074
5075 Return (CDDS (DID2))
5076 }
5077
5078 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5079 {
5080 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5081 {
5082 Return (NXD2) /* \NXD2 */
5083 }
5084
5085 Return (NDDS (DID2))
5086 }
5087
5088 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5089 {
5090 If (((Arg0 & 0xC0000000) == 0xC0000000))
5091 {
5092 CSTE = NSTE /* \NSTE */
5093 }
5094 }
5095
5096 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
5097 {
5098 Return (ICL0) /* \_SB_.PCI0.GFX0.ICL0 */
5099 }
5100
5101 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
5102 {
5103 PHSD (0xDA, 0x08)
5104 Local1 = PHS (0xFA)
5105 Local1 &= 0x01
5106 If (Local1)
5107 {
5108 ALER = 0x01
5109 BRTL = Arg0
5110 Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific
5111 }
5112 Else
5113 {
5114 ALER = 0x00
5115 If (((Arg0 >= 0x00) && (Arg0 <= 0xFF)))
5116 {
5117 Local0 = (Match (ICL0, MEQ, Arg0, MTR, 0x00, 0x02) - 0x02)
5118 Local0 = DerefOf (Index (RTL0, Local0))
5119 \_SB.PCI0.GFX0.AINT (0x01, Local0)
5120 BRTL = Arg0
5121 }
5122 }
5123
5124 \DBGC (0x66, 0x81, BCEN)
5125 }
5126
5127 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
5128 {
5129 \DBGC (0x66, 0x82, BCEN)
5130 Return (BRTL) /* \BRTL */
5131 }
5132 }
5133
5134 Device (DD03)
5135 {
5136 Method (_ADR, 0, Serialized) // _ADR: Address
5137 {
5138 If ((DID3 == 0x00))
5139 {
5140 Return (0x03)
5141 }
5142 Else
5143 {
5144 Return ((0xFFFF & DID3))
5145 }
5146 }
5147
5148 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5149 {
5150 If ((DID3 == 0x00))
5151 {
5152 Return (0x0B)
5153 }
5154 Else
5155 {
5156 Return (CDDS (DID3))
5157 }
5158 }
5159
5160 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5161 {
5162 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5163 {
5164 Return (NXD3) /* \NXD3 */
5165 }
5166
5167 Return (NDDS (DID3))
5168 }
5169
5170 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5171 {
5172 If (((Arg0 & 0xC0000000) == 0xC0000000))
5173 {
5174 CSTE = NSTE /* \NSTE */
5175 }
5176 }
5177 }
5178
5179 Device (DD04)
5180 {
5181 Method (_ADR, 0, Serialized) // _ADR: Address
5182 {
5183 If ((DID4 == 0x00))
5184 {
5185 Return (0x04)
5186 }
5187 Else
5188 {
5189 Return ((0xFFFF & DID4))
5190 }
5191 }
5192
5193 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5194 {
5195 If ((DID4 == 0x00))
5196 {
5197 Return (0x0B)
5198 }
5199 Else
5200 {
5201 Return (CDDS (DID4))
5202 }
5203 }
5204
5205 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5206 {
5207 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5208 {
5209 Return (NXD4) /* \NXD4 */
5210 }
5211
5212 Return (NDDS (DID4))
5213 }
5214
5215 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5216 {
5217 If (((Arg0 & 0xC0000000) == 0xC0000000))
5218 {
5219 CSTE = NSTE /* \NSTE */
5220 }
5221 }
5222 }
5223
5224 Device (DD05)
5225 {
5226 Method (_ADR, 0, Serialized) // _ADR: Address
5227 {
5228 If ((DID5 == 0x00))
5229 {
5230 Return (0x05)
5231 }
5232 Else
5233 {
5234 Return ((0xFFFF & DID5))
5235 }
5236 }
5237
5238 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5239 {
5240 If ((DID5 == 0x00))
5241 {
5242 Return (0x0B)
5243 }
5244 Else
5245 {
5246 Return (CDDS (DID5))
5247 }
5248 }
5249
5250 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5251 {
5252 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5253 {
5254 Return (NXD5) /* \NXD5 */
5255 }
5256
5257 Return (NDDS (DID5))
5258 }
5259
5260 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5261 {
5262 If (((Arg0 & 0xC0000000) == 0xC0000000))
5263 {
5264 CSTE = NSTE /* \NSTE */
5265 }
5266 }
5267 }
5268
5269 Device (DD06)
5270 {
5271 Method (_ADR, 0, Serialized) // _ADR: Address
5272 {
5273 If ((DID6 == 0x00))
5274 {
5275 Return (0x06)
5276 }
5277 Else
5278 {
5279 Return ((0xFFFF & DID6))
5280 }
5281 }
5282
5283 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5284 {
5285 If ((DID6 == 0x00))
5286 {
5287 Return (0x0B)
5288 }
5289 Else
5290 {
5291 Return (CDDS (DID6))
5292 }
5293 }
5294
5295 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5296 {
5297 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5298 {
5299 Return (NXD6) /* \NXD6 */
5300 }
5301
5302 Return (NDDS (DID6))
5303 }
5304
5305 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5306 {
5307 If (((Arg0 & 0xC0000000) == 0xC0000000))
5308 {
5309 CSTE = NSTE /* \NSTE */
5310 }
5311 }
5312 }
5313
5314 Device (DD07)
5315 {
5316 Method (_ADR, 0, Serialized) // _ADR: Address
5317 {
5318 If ((DID7 == 0x00))
5319 {
5320 Return (0x07)
5321 }
5322 Else
5323 {
5324 Return ((0xFFFF & DID7))
5325 }
5326 }
5327
5328 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5329 {
5330 If ((DID7 == 0x00))
5331 {
5332 Return (0x0B)
5333 }
5334 Else
5335 {
5336 Return (CDDS (DID7))
5337 }
5338 }
5339
5340 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5341 {
5342 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5343 {
5344 Return (NXD7) /* \NXD7 */
5345 }
5346
5347 Return (NDDS (DID7))
5348 }
5349
5350 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5351 {
5352 If (((Arg0 & 0xC0000000) == 0xC0000000))
5353 {
5354 CSTE = NSTE /* \NSTE */
5355 }
5356 }
5357 }
5358
5359 Device (DD08)
5360 {
5361 Method (_ADR, 0, Serialized) // _ADR: Address
5362 {
5363 If ((DID8 == 0x00))
5364 {
5365 Return (0x08)
5366 }
5367 Else
5368 {
5369 Return ((0xFFFF & DID8))
5370 }
5371 }
5372
5373 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
5374 {
5375 If ((DID8 == 0x00))
5376 {
5377 Return (0x0B)
5378 }
5379 Else
5380 {
5381 Return (CDDS (DID8))
5382 }
5383 }
5384
5385 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
5386 {
5387 If (((SGMD == 0x01) && CondRefOf (SNXD)))
5388 {
5389 Return (NXD8) /* \NXD8 */
5390 }
5391
5392 Return (NDDS (DID8))
5393 }
5394
5395 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
5396 {
5397 If (((Arg0 & 0xC0000000) == 0xC0000000))
5398 {
5399 CSTE = NSTE /* \NSTE */
5400 }
5401 }
5402 }
5403
5404 Method (SDDL, 1, NotSerialized)
5405 {
5406 NDID++
5407 Local0 = (Arg0 & 0x0F0F)
5408 Local1 = (0x80000000 | Local0)
5409 If ((DIDL == Local0))
5410 {
5411 Return (Local1)
5412 }
5413
5414 If ((DDL2 == Local0))
5415 {
5416 Return (Local1)
5417 }
5418
5419 If ((DDL3 == Local0))
5420 {
5421 Return (Local1)
5422 }
5423
5424 If ((DDL4 == Local0))
5425 {
5426 Return (Local1)
5427 }
5428
5429 If ((DDL5 == Local0))
5430 {
5431 Return (Local1)
5432 }
5433
5434 If ((DDL6 == Local0))
5435 {
5436 Return (Local1)
5437 }
5438
5439 If ((DDL7 == Local0))
5440 {
5441 Return (Local1)
5442 }
5443
5444 If ((DDL8 == Local0))
5445 {
5446 Return (Local1)
5447 }
5448
5449 Return (0x00)
5450 }
5451
5452 Method (CDDS, 1, NotSerialized)
5453 {
5454 Local0 = (Arg0 & 0x0F0F)
5455 If ((0x00 == Local0))
5456 {
5457 Return (0x1D)
5458 }
5459
5460 If ((CADL == Local0))
5461 {
5462 Return (0x1F)
5463 }
5464
5465 If ((CAL2 == Local0))
5466 {
5467 Return (0x1F)
5468 }
5469
5470 If ((CAL3 == Local0))
5471 {
5472 Return (0x1F)
5473 }
5474
5475 If ((CAL4 == Local0))
5476 {
5477 Return (0x1F)
5478 }
5479
5480 If ((CAL5 == Local0))
5481 {
5482 Return (0x1F)
5483 }
5484
5485 If ((CAL6 == Local0))
5486 {
5487 Return (0x1F)
5488 }
5489
5490 If ((CAL7 == Local0))
5491 {
5492 Return (0x1F)
5493 }
5494
5495 If ((CAL8 == Local0))
5496 {
5497 Return (0x1F)
5498 }
5499
5500 Return (0x1D)
5501 }
5502
5503 Method (NDDS, 1, NotSerialized)
5504 {
5505 Local0 = (Arg0 & 0x0F0F)
5506 If ((0x00 == Local0))
5507 {
5508 Return (0x00)
5509 }
5510
5511 If ((NADL == Local0))
5512 {
5513 Return (0x01)
5514 }
5515
5516 If ((NDL2 == Local0))
5517 {
5518 Return (0x01)
5519 }
5520
5521 If ((NDL3 == Local0))
5522 {
5523 Return (0x01)
5524 }
5525
5526 If ((NDL4 == Local0))
5527 {
5528 Return (0x01)
5529 }
5530
5531 If ((NDL5 == Local0))
5532 {
5533 Return (0x01)
5534 }
5535
5536 If ((NDL6 == Local0))
5537 {
5538 Return (0x01)
5539 }
5540
5541 If ((NDL7 == Local0))
5542 {
5543 Return (0x01)
5544 }
5545
5546 If ((NDL8 == Local0))
5547 {
5548 Return (0x01)
5549 }
5550
5551 Return (0x00)
5552 }
5553
5554 Scope (\_SB.PCI0)
5555 {
5556 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
5557 Field (MCHP, AnyAcc, NoLock, Preserve)
5558 {
5559 Offset (0x60),
5560 TASM, 10,
5561 Offset (0x62)
5562 }
5563 }
5564
5565 OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
5566 Field (IGDP, AnyAcc, NoLock, Preserve)
5567 {
5568 Offset (0x12),
5569 , 1,
5570 GIVD, 1,
5571 , 2,
5572 GUMA, 3,
5573 Offset (0x14),
5574 , 4,
5575 GMFN, 1,
5576 Offset (0x18),
5577 Offset (0xA4),
5578 ASLE, 8,
5579 Offset (0xA8),
5580 GSSE, 1,
5581 GSSB, 14,
5582 GSES, 1,
5583 Offset (0xB0),
5584 , 12,
5585 CDVL, 1,
5586 Offset (0xB2),
5587 Offset (0xB5),
5588 LBPC, 8,
5589 Offset (0xBC),
5590 ASLS, 32
5591 }
5592
5593 OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
5594 Field (IGDM, AnyAcc, NoLock, Preserve)
5595 {
5596 SIGN, 128,
5597 SIZE, 32,
5598 OVER, 32,
5599 SVER, 256,
5600 VVER, 128,
5601 GVER, 128,
5602 MBOX, 32,
5603 DMOD, 32,
5604 Offset (0x100),
5605 DRDY, 32,
5606 CSTS, 32,
5607 CEVT, 32,
5608 Offset (0x120),
5609 DIDL, 32,
5610 DDL2, 32,
5611 DDL3, 32,
5612 DDL4, 32,
5613 DDL5, 32,
5614 DDL6, 32,
5615 DDL7, 32,
5616 DDL8, 32,
5617 CPDL, 32,
5618 CPL2, 32,
5619 CPL3, 32,
5620 CPL4, 32,
5621 CPL5, 32,
5622 CPL6, 32,
5623 CPL7, 32,
5624 CPL8, 32,
5625 CADL, 32,
5626 CAL2, 32,
5627 CAL3, 32,
5628 CAL4, 32,
5629 CAL5, 32,
5630 CAL6, 32,
5631 CAL7, 32,
5632 CAL8, 32,
5633 NADL, 32,
5634 NDL2, 32,
5635 NDL3, 32,
5636 NDL4, 32,
5637 NDL5, 32,
5638 NDL6, 32,
5639 NDL7, 32,
5640 NDL8, 32,
5641 ASLP, 32,
5642 TIDX, 32,
5643 CHPD, 32,
5644 CLID, 32,
5645 CDCK, 32,
5646 SXSW, 32,
5647 EVTS, 32,
5648 CNOT, 32,
5649 NRDY, 32,
5650 Offset (0x200),
5651 SCIE, 1,
5652 GEFC, 4,
5653 GXFC, 3,
5654 GESF, 8,
5655 Offset (0x204),
5656 PARM, 32,
5657 DSLP, 32,
5658 Offset (0x300),
5659 ARDY, 32,
5660 ASLC, 32,
5661 TCHE, 32,
5662 ALSI, 32,
5663 BCLP, 32,
5664 PFIT, 32,
5665 CBLV, 32,
5666 BCLM, 320,
5667 CPFM, 32,
5668 EPFM, 32,
5669 PLUT, 592,
5670 PFMB, 32,
5671 CCDV, 32,
5672 PCFT, 32,
5673 Offset (0x400),
5674 GVD1, 49152,
5675 PHED, 32,
5676 BDDC, 2048
5677 }
5678
5679 Name (DBTB, Package (0x15)
5680 {
5681 0x00,
5682 0x07,
5683 0x38,
5684 0x01C0,
5685 0x0E00,
5686 0x3F,
5687 0x01C7,
5688 0x0E07,
5689 0x01F8,
5690 0x0E38,
5691 0x0FC0,
5692 0x00,
5693 0x00,
5694 0x00,
5695 0x00,
5696 0x00,
5697 0x7000,
5698 0x7007,
5699 0x7038,
5700 0x71C0,
5701 0x7E00
5702 })
5703 Name (CDCT, Package (0x05)
5704 {
5705 Package (0x02)
5706 {
5707 0xE4,
5708 0x0140
5709 },
5710
5711 Package (0x02)
5712 {
5713 0xDE,
5714 0x014D
5715 },
5716
5717 Package (0x02)
5718 {
5719 0xDE,
5720 0x014D
5721 },
5722
5723 Package (0x02)
5724 {
5725 0x00,
5726 0x00
5727 },
5728
5729 Package (0x02)
5730 {
5731 0xDE,
5732 0x014D
5733 }
5734 })
5735 Name (SUCC, 0x01)
5736 Name (NVLD, 0x02)
5737 Name (CRIT, 0x04)
5738 Name (NCRT, 0x06)
5739 Method (GSCI, 0, Serialized)
5740 {
5741 If ((GESF == 0x08))
5742 {
5743 If (SGIN)
5744 {
5745 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
5746 PHSW (0xF9, 0x4B, 0x0C)
5747 Release (\_SB.PCI0.LPCB.EC.MECR)
5748 SGIN = 0x00
5749 DGST = 0x01
5750 }
5751 }
5752
5753 Method (GBDA, 0, Serialized)
5754 {
5755 If ((GESF == 0x00))
5756 {
5757 PARM = 0x0679
5758 GESF = Zero
5759 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5760 }
5761
5762 If ((GESF == 0x01))
5763 {
5764 PARM = 0x0240
5765 GESF = Zero
5766 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5767 }
5768
5769 If ((GESF == 0x04))
5770 {
5771 PARM &= 0xEFFF0000
5772 PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10)
5773 PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */
5774 GESF = Zero
5775 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5776 }
5777
5778 If ((GESF == 0x05))
5779 {
5780 PARM = IPSC /* \IPSC */
5781 PARM |= (IPAT << 0x08)
5782 PARM += 0x0100
5783 PARM |= (LIDS << 0x10)
5784 PARM += 0x00010000
5785 PARM |= (IBIA << 0x14)
5786 GESF = Zero
5787 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5788 }
5789
5790 If ((GESF == 0x06))
5791 {
5792 PARM = ITVF /* \ITVF */
5793 PARM |= (ITVM << 0x04)
5794 GESF = Zero
5795 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5796 }
5797
5798 If ((GESF == 0x07))
5799 {
5800 PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */
5801 PARM ^= 0x01
5802 PARM |= (GMFN << 0x01)
5803 PARM |= (0x03 << 0x0B)
5804 PARM |= (IDMS << 0x11)
5805 PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) <<
5806 0x15) /* \_SB_.PCI0.GFX0.PARM */
5807 GESF = 0x01
5808 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5809 }
5810
5811 If ((GESF == 0x0A))
5812 {
5813 PARM = 0x00
5814 If (ISSC)
5815 {
5816 PARM |= 0x03
5817 }
5818
5819 GESF = 0x00
5820 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5821 }
5822
5823 If ((GESF == 0x0B))
5824 {
5825 PARM = KSV0 /* \KSV0 */
5826 GESF = KSV1 /* \KSV1 */
5827 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5828 }
5829
5830 GESF = Zero
5831 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
5832 }
5833
5834 Method (SBCB, 0, Serialized)
5835 {
5836 If ((GESF == 0x00))
5837 {
5838 PARM = 0x00
5839 PARM = 0x000F87FD
5840 GESF = Zero
5841 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5842 }
5843
5844 If ((GESF == 0x01))
5845 {
5846 GESF = Zero
5847 PARM = Zero
5848 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5849 }
5850
5851 If ((GESF == 0x03))
5852 {
5853 GESF = Zero
5854 PARM = Zero
5855 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5856 }
5857
5858 If ((GESF == 0x04))
5859 {
5860 GESF = Zero
5861 PARM = Zero
5862 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5863 }
5864
5865 If ((GESF == 0x05))
5866 {
5867 GESF = Zero
5868 PARM = Zero
5869 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5870 }
5871
5872 If ((GESF == 0x06))
5873 {
5874 ITVF = (PARM & 0x0F)
5875 ITVM = ((PARM & 0xF0) >> 0x04)
5876 GESF = Zero
5877 PARM = Zero
5878 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5879 }
5880
5881 If ((GESF == 0x07))
5882 {
5883 If ((PARM == 0x00))
5884 {
5885 Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */
5886 If ((0x80000000 & Local0))
5887 {
5888 CLID &= 0x0F
5889 GLID (CLID)
5890 }
5891 }
5892
5893 GESF = Zero
5894 PARM = Zero
5895 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5896 }
5897
5898 If ((GESF == 0x08))
5899 {
5900 GESF = Zero
5901 PARM = Zero
5902 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5903 }
5904
5905 If ((GESF == 0x09))
5906 {
5907 IBTT = (PARM & 0xFF)
5908 GESF = Zero
5909 PARM = Zero
5910 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5911 }
5912
5913 If ((GESF == 0x0A))
5914 {
5915 IPSC = (PARM & 0xFF)
5916 If (((PARM >> 0x08) & 0xFF))
5917 {
5918 IPAT = ((PARM >> 0x08) & 0xFF)
5919 IPAT--
5920 }
5921
5922 IBIA = ((PARM >> 0x14) & 0x07)
5923 GESF = Zero
5924 PARM = Zero
5925 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5926 }
5927
5928 If ((GESF == 0x0B))
5929 {
5930 IF1E = ((PARM >> 0x01) & 0x01)
5931 If ((PARM & (0x0F << 0x0D)))
5932 {
5933 IDMS = ((PARM >> 0x0D) & 0x0F)
5934 }
5935 Else
5936 {
5937 IDMS = ((PARM >> 0x11) & 0x0F)
5938 }
5939
5940 GESF = Zero
5941 PARM = Zero
5942 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5943 }
5944
5945 If ((GESF == 0x10))
5946 {
5947 GESF = Zero
5948 PARM = Zero
5949 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5950 }
5951
5952 If ((GESF == 0x11))
5953 {
5954 PARM = (LIDS << 0x08)
5955 PARM += 0x0100
5956 GESF = Zero
5957 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5958 }
5959
5960 If ((GESF == 0x12))
5961 {
5962 If ((PARM & 0x01))
5963 {
5964 If (((PARM >> 0x01) == 0x01))
5965 {
5966 ISSC = 0x01
5967 }
5968 Else
5969 {
5970 GESF = Zero
5971 Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */
5972 }
5973 }
5974 Else
5975 {
5976 ISSC = 0x00
5977 }
5978
5979 GESF = Zero
5980 PARM = Zero
5981 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5982 }
5983
5984 If ((GESF == 0x13))
5985 {
5986 GESF = Zero
5987 PARM = Zero
5988 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5989 }
5990
5991 If ((GESF == 0x14))
5992 {
5993 PAVP = (PARM & 0x0F)
5994 GESF = Zero
5995 PARM = Zero
5996 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
5997 }
5998
5999 GESF = Zero
6000 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */
6001 }
6002
6003 If ((GEFC == 0x04))
6004 {
6005 GXFC = GBDA ()
6006 }
6007
6008 If ((GEFC == 0x06))
6009 {
6010 GXFC = SBCB ()
6011 }
6012
6013 GEFC = 0x00
6014 SCIS = 0x01
6015 GSSE = 0x00
6016 SCIE = 0x00
6017 Return (Zero)
6018 }
6019
6020 Method (PDRD, 0, NotSerialized)
6021 {
6022 If (!DRDY)
6023 {
6024 Sleep (ASLP)
6025 }
6026
6027 Return (!DRDY)
6028 }
6029
6030 Method (PSTS, 0, NotSerialized)
6031 {
6032 If ((CSTS > 0x02))
6033 {
6034 Sleep (ASLP)
6035 }
6036
6037 Return ((CSTS == 0x03))
6038 }
6039
6040 Method (GNOT, 2, NotSerialized)
6041 {
6042 If (PDRD ())
6043 {
6044 Return (0x01)
6045 }
6046
6047 CEVT = Arg0
6048 CSTS = 0x03
6049 If (((CHPD == 0x00) && (Arg1 == 0x00)))
6050 {
6051 If (((OSYS > 0x07D0) || (OSYS < 0x07D6)))
6052 {
6053 Notify (\_SB.PCI0, Arg1)
6054 }
6055 Else
6056 {
6057 Notify (\_SB.PCI0.GFX0, Arg1)
6058 }
6059 }
6060
6061 If (CondRefOf (HNOT))
6062 {
6063 HNOT (Arg0)
6064 }
6065 Else
6066 {
6067 Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
6068 }
6069
6070 Return (0x00)
6071 }
6072
6073 Method (GHDS, 1, NotSerialized)
6074 {
6075 TIDX = Arg0
6076 Return (GNOT (0x01, 0x00))
6077 }
6078
6079 Method (GLID, 1, NotSerialized)
6080 {
6081 If ((Arg0 == 0x01))
6082 {
6083 CLID = 0x03
6084 }
6085 Else
6086 {
6087 CLID = Arg0
6088 }
6089
6090 Return (GNOT (0x02, 0x00))
6091 }
6092
6093 Method (GDCK, 1, NotSerialized)
6094 {
6095 CDCK = Arg0
6096 Return (GNOT (0x04, 0x00))
6097 }
6098
6099 Method (PARD, 0, NotSerialized)
6100 {
6101 If (!ARDY)
6102 {
6103 Sleep (ASLP)
6104 }
6105
6106 Return (!ARDY)
6107 }
6108
6109 Method (AINT, 2, NotSerialized)
6110 {
6111 If (!(TCHE & (0x01 << Arg0)))
6112 {
6113 Return (0x01)
6114 }
6115
6116 If (PARD ())
6117 {
6118 Return (0x01)
6119 }
6120
6121 If ((Arg0 == 0x02))
6122 {
6123 If (CPFM)
6124 {
6125 Local0 = (CPFM & 0x0F)
6126 Local1 = (EPFM & 0x0F)
6127 If ((Local0 == 0x01))
6128 {
6129 If ((Local1 & 0x06))
6130 {
6131 PFIT = 0x06
6132 }
6133 Else
6134 {
6135 If ((Local1 & 0x08))
6136 {
6137 PFIT = 0x08
6138 }
6139 Else
6140 {
6141 PFIT = 0x01
6142 }
6143 }
6144 }
6145
6146 If ((Local0 == 0x06))
6147 {
6148 If ((Local1 & 0x08))
6149 {
6150 PFIT = 0x08
6151 }
6152 Else
6153 {
6154 If ((Local1 & 0x01))
6155 {
6156 PFIT = 0x01
6157 }
6158 Else
6159 {
6160 PFIT = 0x06
6161 }
6162 }
6163 }
6164
6165 If ((Local0 == 0x08))
6166 {
6167 If ((Local1 & 0x01))
6168 {
6169 PFIT = 0x01
6170 }
6171 Else
6172 {
6173 If ((Local1 & 0x06))
6174 {
6175 PFIT = 0x06
6176 }
6177 Else
6178 {
6179 PFIT = 0x08
6180 }
6181 }
6182 }
6183 }
6184 Else
6185 {
6186 PFIT ^= 0x07
6187 }
6188
6189 PFIT |= 0x80000000
6190 ASLC = 0x04
6191 }
6192 Else
6193 {
6194 If ((Arg0 == 0x01))
6195 {
6196 BCLP &= 0xFFFF0000
6197 If (((BCLP & 0x30000000) == 0x30000000))
6198 {
6199 BCLP |= (Arg1 * 0x64) /* \_SB_.PCI0.GFX0.BCLP */
6200 }
6201 Else
6202 {
6203 If (((BCLP & 0x30000000) == 0x20000000))
6204 {
6205 BCLP |= (Arg1 * 0x0A) /* \_SB_.PCI0.GFX0.BCLP */
6206 }
6207 Else
6208 {
6209 If (((BCLP & 0x30000000) == 0x10000000))
6210 {
6211 BCLP |= Arg1 /* \_SB_.PCI0.GFX0.BCLP */
6212 }
6213 Else
6214 {
6215 BCLP = Arg1
6216 }
6217 }
6218 }
6219
6220 BCLP |= 0x80000000
6221 ASLC = 0x02
6222 }
6223 Else
6224 {
6225 If ((Arg0 == 0x00))
6226 {
6227 ALSI = Arg1
6228 ASLC = 0x01
6229 }
6230 Else
6231 {
6232 Return (0x01)
6233 }
6234 }
6235 }
6236
6237 ASLE = 0x01
6238 Return (0x00)
6239 }
6240
6241 Method (SCIP, 0, NotSerialized)
6242 {
6243 If ((OVER != 0x00))
6244 {
6245 Return (!GSMI)
6246 }
6247
6248 Return (0x00)
6249 }
6250
6251 Device (\_SB.MEM2)
6252 {
6253 Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
6254 Name (_UID, 0x02) // _UID: Unique ID
6255 Name (CRS, ResourceTemplate ()
6256 {
6257 Memory32Fixed (ReadWrite,
6258 0x20000000, // Address Base
6259 0x00200000, // Address Length
6260 )
6261 Memory32Fixed (ReadWrite,
6262 0x40000000, // Address Base
6263 0x00200000, // Address Length
6264 )
6265 })
6266 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
6267 {
6268 If (IGDS)
6269 {
6270 Return (CRS) /* \_SB_.MEM2.CRS_ */
6271 }
6272 }
6273 }
6274
6275 Method (SBRI, 1, NotSerialized)
6276 {
6277 If (((Arg0 >= 0x00) && (Arg0 <= 0xFF)))
6278 {
6279 \_SB.PCI0.GFX0.AINT (0x01, Arg0)
6280 }
6281 }
6282
6283 Method (GBRI, 0, NotSerialized)
6284 {
6285 Local0 = BCLP /* \_SB_.PCI0.GFX0.BCLP */
6286 Local0 &= 0xFF
6287 Return (Local0)
6288 }
6289 }
6290 }
6291
6292 Scope (\)
6293 {
6294 OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
6295 Field (IO_T, ByteAcc, NoLock, Preserve)
6296 {
6297 TRPI, 16,
6298 Offset (0x04),
6299 Offset (0x06),
6300 Offset (0x08),
6301 TRP0, 8,
6302 Offset (0x0A),
6303 Offset (0x0B),
6304 Offset (0x0C),
6305 Offset (0x0D),
6306 Offset (0x0E),
6307 Offset (0x0F),
6308 Offset (0x10)
6309 }
6310
6311 OperationRegion (PMIO, SystemIO, 0x0400, 0x80)
6312 Field (PMIO, ByteAcc, NoLock, Preserve)
6313 {
6314 Offset (0x28),
6315 Offset (0x2A),
6316 , 3,
6317 GPE3, 1,
6318 Offset (0x3C),
6319 , 1,
6320 UPRW, 1,
6321 Offset (0x42),
6322 , 1,
6323 GPEC, 1
6324 }
6325
6326 Field (PMIO, ByteAcc, NoLock, WriteAsZeros)
6327 {
6328 Offset (0x20),
6329 Offset (0x22),
6330 , 3,
6331 GPS3, 1,
6332 Offset (0x64),
6333 , 9,
6334 SCIS, 1,
6335 Offset (0x66)
6336 }
6337
6338 OperationRegion (GPIO, SystemIO, 0x0500, 0x64)
6339 Field (GPIO, ByteAcc, NoLock, Preserve)
6340 {
6341 GU00, 8,
6342 GU01, 8,
6343 GU02, 8,
6344 GU03, 8,
6345 GIO0, 8,
6346 GIO1, 8,
6347 GIO2, 8,
6348 GIO3, 8,
6349 Offset (0x0C),
6350 GL00, 8,
6351 GL01, 8,
6352 GL02, 8,
6353 , 3,
6354 GP27, 1,
6355 GP28, 1,
6356 Offset (0x10),
6357 Offset (0x18),
6358 GB00, 8,
6359 GB01, 8,
6360 GB02, 8,
6361 GB03, 8,
6362 Offset (0x2C),
6363 GIV0, 8,
6364 GIV1, 8,
6365 GIV2, 8,
6366 GIV3, 8,
6367 GU04, 8,
6368 GU05, 8,
6369 GU06, 8,
6370 GU07, 8,
6371 GIO4, 8,
6372 GIO5, 8,
6373 GIO6, 8,
6374 GIO7, 8,
6375 GL04, 8,
6376 GL05, 8,
6377 , 6,
6378 GP54, 1,
6379 Offset (0x3B),
6380 GL07, 8,
6381 Offset (0x40),
6382 GU08, 8,
6383 GU09, 8,
6384 GU0A, 8,
6385 GU0B, 8,
6386 GIO8, 8,
6387 GIO9, 8,
6388 GIOA, 8,
6389 GIOB, 8,
6390 , 4,
6391 GPKB, 1,
6392 Offset (0x49),
6393 GL09, 8,
6394 GL0A, 8,
6395 GL0B, 8
6396 }
6397
6398 OperationRegion (RCRB, SystemMemory, \SRCB, 0x4000)
6399 Field (RCRB, DWordAcc, Lock, Preserve)
6400 {
6401 Offset (0x1000),
6402 Offset (0x3000),
6403 Offset (0x3404),
6404 HPAS, 2,
6405 , 5,
6406 HPAE, 1,
6407 Offset (0x3418),
6408 , 1,
6409 , 1,
6410 SATD, 1,
6411 SMBD, 1,
6412 HDAD, 1,
6413 Offset (0x341A),
6414 RP1D, 1,
6415 RP2D, 1,
6416 RP3D, 1,
6417 RP4D, 1,
6418 RP5D, 1,
6419 RP6D, 1,
6420 RP7D, 1,
6421 RP8D, 1,
6422 Offset (0x359C),
6423 UP0D, 1,
6424 UP1D, 1,
6425 UP2D, 1,
6426 UP3D, 1,
6427 UP4D, 1,
6428 UP5D, 1,
6429 UP6D, 1,
6430 UP7D, 1,
6431 UP8D, 1,
6432 UP9D, 1,
6433 UPAD, 1,
6434 UPBD, 1,
6435 UPCD, 1,
6436 UPDD, 1,
6437 , 1,
6438 Offset (0x359E)
6439 }
6440 }
6441
6442 Scope (\_SB.PCI0)
6443 {
6444 Device (SAT0)
6445 {
6446 Name (_ADR, 0x001F0002) // _ADR: Address
6447 }
6448 }
6449
6450 Scope (\_PR)
6451 {
6452 Processor (CPU0, 0x01, 0x00000410, 0x06) {}
6453 Processor (CPU1, 0x02, 0x00000410, 0x06) {}
6454 Processor (CPU2, 0x03, 0x00000410, 0x06) {}
6455 Processor (CPU3, 0x04, 0x00000410, 0x06) {}
6456 Processor (CPU4, 0x05, 0x00000410, 0x06) {}
6457 Processor (CPU5, 0x06, 0x00000410, 0x06) {}
6458 Processor (CPU6, 0x07, 0x00000410, 0x06) {}
6459 Processor (CPU7, 0x08, 0x00000410, 0x06) {}
6460 }
6461
6462 Scope (\_SB.PCI0)
6463 {
6464 Device (PDRC)
6465 {
6466 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
6467 Name (_UID, 0x01) // _UID: Unique ID
6468 Name (BUF0, ResourceTemplate ()
6469 {
6470 Memory32Fixed (ReadWrite,
6471 0x00000000, // Address Base
6472 0x00004000, // Address Length
6473 _Y18)
6474 Memory32Fixed (ReadWrite,
6475 0x00000000, // Address Base
6476 0x00008000, // Address Length
6477 _Y1A)
6478 Memory32Fixed (ReadWrite,
6479 0x00000000, // Address Base
6480 0x00001000, // Address Length
6481 _Y1B)
6482 Memory32Fixed (ReadWrite,
6483 0x00000000, // Address Base
6484 0x00001000, // Address Length
6485 _Y1C)
6486 Memory32Fixed (ReadWrite,
6487 0x00000000, // Address Base
6488 0x00000000, // Address Length
6489 _Y1D)
6490 Memory32Fixed (ReadWrite,
6491 0xFED20000, // Address Base
6492 0x00020000, // Address Length
6493 )
6494 Memory32Fixed (ReadOnly,
6495 0xFED90000, // Address Base
6496 0x00004000, // Address Length
6497 )
6498 Memory32Fixed (ReadWrite,
6499 0xFED45000, // Address Base
6500 0x0004B000, // Address Length
6501 )
6502 Memory32Fixed (ReadOnly,
6503 0xFF000000, // Address Base
6504 0x01000000, // Address Length
6505 )
6506 Memory32Fixed (ReadOnly,
6507 0xFEE00000, // Address Base
6508 0x00100000, // Address Length
6509 )
6510 Memory32Fixed (ReadWrite,
6511 0x00000000, // Address Base
6512 0x00001000, // Address Length
6513 _Y19)
6514 })
6515 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
6516 {
6517 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y18._BAS, RBR0) // _BAS: Base Address
6518 RBR0 = (\_SB.PCI0.LPCB.RCBA << 0x0E)
6519 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._BAS, TBR0) // _BAS: Base Address
6520 TBR0 = TBAB /* \TBAB */
6521 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._LEN, TBLN) // _LEN: Length
6522 If ((TBAB == 0x00))
6523 {
6524 TBLN = 0x00
6525 }
6526
6527 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1A._BAS, MBR0) // _BAS: Base Address
6528 MBR0 = (\_SB.PCI0.MHBR << 0x0F)
6529 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1B._BAS, DBR0) // _BAS: Base Address
6530 DBR0 = (\_SB.PCI0.DIBR << 0x0C)
6531 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1C._BAS, EBR0) // _BAS: Base Address
6532 EBR0 = (\_SB.PCI0.EPBR << 0x0C)
6533 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1D._BAS, XBR0) // _BAS: Base Address
6534 XBR0 = (\_SB.PCI0.PXBR << 0x1A)
6535 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1D._LEN, XSZ0) // _LEN: Length
6536 XSZ0 = (0x10000000 >> \_SB.PCI0.PXSZ)
6537 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
6538 }
6539 }
6540 }
6541
6542 Method (BRTN, 1, Serialized)
6543 {
6544 If (((DID1 & 0x0F00) == 0x0400))
6545 {
6546 Notify (\_SB.PCI0.GFX0.DD01, Arg0)
6547 }
6548
6549 If (((DID2 & 0x0F00) == 0x0400))
6550 {
6551 Notify (\_SB.PCI0.GFX0.DD02, Arg0)
6552 }
6553
6554 If (((DID3 & 0x0F00) == 0x0400))
6555 {
6556 Notify (\_SB.PCI0.GFX0.DD03, Arg0)
6557 }
6558
6559 If (((DID4 & 0x0F00) == 0x0400))
6560 {
6561 Notify (\_SB.PCI0.GFX0.DD04, Arg0)
6562 }
6563
6564 If (((DID5 & 0x0F00) == 0x0400))
6565 {
6566 Notify (\_SB.PCI0.GFX0.DD05, Arg0)
6567 }
6568
6569 If (((DID6 & 0x0F00) == 0x0400))
6570 {
6571 Notify (\_SB.PCI0.GFX0.DD06, Arg0)
6572 }
6573
6574 If (((DID7 & 0x0F00) == 0x0400))
6575 {
6576 Notify (\_SB.PCI0.GFX0.DD07, Arg0)
6577 }
6578
6579 If (((DID8 & 0x0F00) == 0x0400))
6580 {
6581 Notify (\_SB.PCI0.GFX0.DD08, Arg0)
6582 }
6583 }
6584
6585 Scope (\_GPE)
6586 {
6587 Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE
6588 {
6589 L01C += 0x01
6590 P8XH (0x00, 0x01)
6591 P8XH (0x01, L01C)
6592 If (((RP1D == 0x00) && \_SB.PCI0.RP01.HPSX))
6593 {
6594 Sleep (0x64)
6595 If (\_SB.PCI0.RP01.PDCX)
6596 {
6597 \_SB.PCI0.RP01.PDCX = 0x01
6598 \_SB.PCI0.RP01.HPSX = 0x01
6599 If (!\_SB.PCI0.RP01.PDSX)
6600 {
6601 \_SB.PCI0.RP01.L0SE = 0x00
6602 }
6603
6604 Notify (\_SB.PCI0.RP01, 0x00) // Bus Check
6605 }
6606 Else
6607 {
6608 \_SB.PCI0.RP01.HPSX = 0x01
6609 }
6610 }
6611
6612 If (((RP2D == 0x00) && \_SB.PCI0.RP02.HPSX))
6613 {
6614 Sleep (0x64)
6615 If (\_SB.PCI0.RP02.PDCX)
6616 {
6617 \_SB.PCI0.RP02.PDCX = 0x01
6618 \_SB.PCI0.RP02.HPSX = 0x01
6619 If (!\_SB.PCI0.RP02.PDSX)
6620 {
6621 \_SB.PCI0.RP02.L0SE = 0x00
6622 }
6623
6624 Notify (\_SB.PCI0.RP02, 0x00) // Bus Check
6625 }
6626 Else
6627 {
6628 \_SB.PCI0.RP02.HPSX = 0x01
6629 }
6630 }
6631
6632 If (((RP3D == 0x00) && \_SB.PCI0.RP03.HPSX))
6633 {
6634 Sleep (0x64)
6635 If (\_SB.PCI0.RP03.PDCX)
6636 {
6637 \_SB.PCI0.RP03.PDCX = 0x01
6638 \_SB.PCI0.RP03.HPSX = 0x01
6639 If (!\_SB.PCI0.RP03.PDSX)
6640 {
6641 \_SB.PCI0.RP03.L0SE = 0x00
6642 }
6643
6644 Notify (\_SB.PCI0.RP03, 0x00) // Bus Check
6645 }
6646 Else
6647 {
6648 \_SB.PCI0.RP03.HPSX = 0x01
6649 }
6650 }
6651
6652 If (((RP4D == 0x00) && \_SB.PCI0.RP04.HPSX))
6653 {
6654 Sleep (0x64)
6655 If (\_SB.PCI0.RP04.PDCX)
6656 {
6657 \_SB.PCI0.RP04.PDCX = 0x01
6658 \_SB.PCI0.RP04.HPSX = 0x01
6659 If (!\_SB.PCI0.RP04.PDSX)
6660 {
6661 \_SB.PCI0.RP04.L0SE = 0x00
6662 }
6663
6664 Notify (\_SB.PCI0.RP04, 0x00) // Bus Check
6665 }
6666 Else
6667 {
6668 \_SB.PCI0.RP04.HPSX = 0x01
6669 }
6670 }
6671 }
6672
6673 Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE
6674 {
6675 If ((\_SB.PCI0.GFX0.GSSE && !GSMI))
6676 {
6677 \_SB.PCI0.GFX0.GSCI ()
6678 }
6679 }
6680
6681 Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE
6682 {
6683 \_SB.PCI0.SBUS.HSTS = 0x20
6684 }
6685
6686 Method (_L1B, 0, NotSerialized) // _Lxx: Level-Triggered GPE
6687 {
6688 Notify (\_SB.PWRB, 0x02) // Device Wake
6689 }
6690 }
6691
6692 OperationRegion (SMI0, SystemMemory, 0xDAF8B918, 0x0420)
6693 Field (SMI0, AnyAcc, NoLock, Preserve)
6694 {
6695 BCMD, 8,
6696 DID, 32,
6697 INFO, 4096
6698 }
6699
6700 Field (SMI0, AnyAcc, NoLock, Preserve)
6701 {
6702 Offset (0x05),
6703 INFB, 8
6704 }
6705
6706 Field (SMI0, AnyAcc, NoLock, Preserve)
6707 {
6708 Offset (0x05),
6709 INFD, 32
6710 }
6711
6712 Field (SMI0, AnyAcc, NoLock, Preserve)
6713 {
6714 Offset (0x05),
6715 INDD, 64
6716 }
6717
6718 Field (SMI0, AnyAcc, NoLock, Preserve)
6719 {
6720 Offset (0x05),
6721 SXBF, 8320
6722 }
6723
6724 Field (SMI0, AnyAcc, NoLock, Preserve)
6725 {
6726 Offset (0x05),
6727 INF1, 8,
6728 INF2, 8
6729 }
6730
6731 OperationRegion (SMI1, SystemIO, 0x00001100, 0x00000004)
6732 Field (SMI1, AnyAcc, NoLock, Preserve)
6733 {
6734 SMIC, 8
6735 }
6736
6737 Mutex (MPHS, 0x00)
6738 Method (PHS0, 1, NotSerialized)
6739 {
6740 BCMD = Arg0
6741 SMIC = Zero
6742 While ((BCMD == Arg0)) {}
6743 BCMD = 0x00
6744 }
6745
6746 Method (PHS, 1, Serialized)
6747 {
6748 Acquire (MPHS, 0xFFFF)
6749 DID = 0x00
6750 PHS0 (Arg0)
6751 Local0 = INFD /* \INFD */
6752 Release (MPHS)
6753 Return (Local0)
6754 }
6755
6756 Method (PHSD, 2, Serialized)
6757 {
6758 Acquire (MPHS, 0xFFFF)
6759 DID = 0x00
6760 INFD = Arg1
6761 PHS0 (Arg0)
6762 Local0 = INFD /* \INFD */
6763 Release (MPHS)
6764 Return (Local0)
6765 }
6766
6767 Method (PHDD, 2, Serialized)
6768 {
6769 Acquire (MPHS, 0xFFFF)
6770 DID = 0x00
6771 INDD = Arg1
6772 PHS0 (Arg0)
6773 Local0 = INDD /* \INDD */
6774 Release (MPHS)
6775 Return (Local0)
6776 }
6777
6778 Method (PHSW, 3, Serialized)
6779 {
6780 Acquire (MPHS, 0xFFFF)
6781 DID = 0x00
6782 INF1 = Arg1
6783 INF2 = Arg2
6784 PHS0 (Arg0)
6785 Local0 = INFB /* \INFB */
6786 Release (MPHS)
6787 Return (Local0)
6788 }
6789
6790 Method (PHSB, 2, Serialized)
6791 {
6792 Acquire (MPHS, 0xFFFF)
6793 DID = 0x00
6794 INFB = Arg1
6795 PHS0 (Arg0)
6796 Local0 = INFB /* \INFB */
6797 Release (MPHS)
6798 Return (Local0)
6799 }
6800
6801 Scope (\_SB)
6802 {
6803 Scope (PCI0)
6804 {
6805 Scope (LPCB)
6806 {
6807 Device (EC)
6808 {
6809 Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
6810 Mutex (MECR, 0x00)
6811 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
6812 {
6813 Name (BFFR, ResourceTemplate ()
6814 {
6815 IO (Decode16,
6816 0x0062, // Range Minimum
6817 0x0062, // Range Maximum
6818 0x00, // Alignment
6819 0x01, // Length
6820 )
6821 IO (Decode16,
6822 0x0066, // Range Minimum
6823 0x0066, // Range Maximum
6824 0x00, // Alignment
6825 0x01, // Length
6826 )
6827 })
6828 Return (BFFR) /* \_SB_.PCI0.LPCB.EC__._CRS.BFFR */
6829 }
6830
6831 OperationRegion (ECF2, EmbeddedControl, 0x00, 0xFF)
6832 Field (ECF2, ByteAcc, Lock, Preserve)
6833 {
6834 , 3,
6835 PRCP, 1,
6836 , 1,
6837 LSTE, 1,
6838 BATP, 1,
6839 RPWR, 1,
6840 , 4,
6841 CHGE, 1,
6842 LVDS, 1,
6843 , 1,
6844 AUAM, 1,
6845 ENR0, 8,
6846 ENR1, 8,
6847 ESR0, 16,
6848 BSTS, 8,
6849 WKSR, 8,
6850 Offset (0x0A),
6851 LSDH, 8,
6852 LSDL, 8,
6853 Offset (0x19),
6854 ISID, 8,
6855 Offset (0x20),
6856 BTPL, 8,
6857 BTPH, 8,
6858 BSNL, 8,
6859 BSNH, 8,
6860 BDCL, 8,
6861 BDCH, 8,
6862 BDVL, 8,
6863 BDVH, 8,
6864 BAVL, 8,
6865 BAVH, 8,
6866 BACL, 8,
6867 BACH, 8,
6868 RSCL, 8,
6869 RSCH, 8,
6870 BRCL, 8,
6871 BRCH, 8,
6872 FCCL, 8,
6873 FCCH, 8,
6874 , 4,
6875 FDCH, 1,
6876 FUCH, 1,
6877 DCHG, 1,
6878 BTIT, 1,
6879 BSTH, 8,
6880 OMFL, 8,
6881 OMFH, 8,
6882 IBMF, 8,
6883 ASSR, 8,
6884 Offset (0x40),
6885 TS1R, 8,
6886 TS1L, 8,
6887 TS2R, 8,
6888 TS2L, 8,
6889 TS3R, 8,
6890 TS3L, 8,
6891 F1FL, 8,
6892 F1FH, 8,
6893 F2FL, 8,
6894 F2FH, 8,
6895 T1U1, 8,
6896 T1U2, 8,
6897 T1U3, 8,
6898 T1U4, 8,
6899 T1U5, 8,
6900 T1U6, 8,
6901 T1U7, 8,
6902 T1D1, 8,
6903 T1D2, 8,
6904 T1D3, 8,
6905 T1L1, 8,
6906 T2R1, 8,
6907 T2U1, 8,
6908 T3L1, 8,
6909 T3L2, 8,
6910 Offset (0x60),
6911 SMBN, 8,
6912 SPTR, 8,
6913 SSTS, 8,
6914 SADR, 8,
6915 SCMD, 8,
6916 SBFR, 256,
6917 SCNT, 8,
6918 Offset (0xE8),
6919 ALFS, 1,
6920 , 1,
6921 DGPW, 1,
6922 Offset (0xE9),
6923 Offset (0xEF),
6924 , 6,
6925 ECAK, 1,
6926 CMST, 1,
6927 ALSL, 8,
6928 ALSH, 8
6929 }
6930
6931 Method (_INI, 0, NotSerialized) // _INI: Initialize
6932 {
6933 If ((_REV >= 0x02))
6934 {
6935 ECON = One
6936 }
6937 Else
6938 {
6939 ECON = 0x00
6940 }
6941 }
6942
6943 Method (_REG, 2, NotSerialized) // _REG: Region Availability
6944 {
6945 If (((Arg0 == 0x03) && (Arg1 == 0x01)))
6946 {
6947 BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */
6948 B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6949 PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */
6950 Notify (\_SB.BAT0, 0x81) // Information Change
6951 PNOT ()
6952 ECON = Arg1
6953 \ECON = Arg1
6954 }
6955 }
6956
6957 Name (_GPE, 0x17) // _GPE: General Purpose Events
6958 Method (_Q21, 0, NotSerialized) // _Qxx: EC Query
6959 {
6960 P8XH (0x00, 0x21)
6961 PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */
6962 Notify (\_SB.ADP1, 0x81) // Information Change
6963 Notify (\_SB.BAT0, 0x80) // Status Change
6964 PNOT ()
6965 }
6966
6967 Method (_Q22, 0, NotSerialized) // _Qxx: EC Query
6968 {
6969 P8XH (0x00, 0x22)
6970 PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */
6971 Notify (\_SB.ADP1, 0x81) // Information Change
6972 Notify (\_SB.BAT0, 0x80) // Status Change
6973 PNOT ()
6974 }
6975
6976 Method (_Q23, 0, NotSerialized) // _Qxx: EC Query
6977 {
6978 P8XH (0x00, 0x23)
6979 B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6980 BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */
6981 Notify (\_SB.BAT0, 0x81) // Information Change
6982 }
6983
6984 Method (_Q24, 0, NotSerialized) // _Qxx: EC Query
6985 {
6986 P8XH (0x00, 0x24)
6987 B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6988 BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */
6989 Notify (\_SB.BAT0, 0x81) // Information Change
6990 }
6991
6992 Method (_Q25, 0, NotSerialized) // _Qxx: EC Query
6993 {
6994 P8XH (0x00, 0x25)
6995 B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */
6996 Notify (\_SB.BAT0, 0x80) // Status Change
6997 }
6998
6999 Method (_Q26, 0, NotSerialized) // _Qxx: EC Query
7000 {
7001 P8XH (0x00, 0x26)
7002 }
7003
7004 Method (_Q27, 0, NotSerialized) // _Qxx: EC Query
7005 {
7006 P8XH (0x00, 0x27)
7007 }
7008
7009 Method (_Q29, 0, NotSerialized) // _Qxx: EC Query
7010 {
7011 P8XH (0x00, 0x29)
7012 Notify (\_SB.LID0, 0x80) // Status Change
7013 }
7014
7015 Method (_Q2A, 0, NotSerialized) // _Qxx: EC Query
7016 {
7017 P8XH (0x00, 0x2A)
7018 Notify (\_SB.LID0, 0x80) // Status Change
7019 }
7020
7021 Method (_Q2B, 0, NotSerialized) // _Qxx: EC Query
7022 {
7023 P8XH (0x00, 0x2B)
7024 Notify (\_SB.PCI0.LPCB.SNC, 0x94) // Device-Specific
7025 }
7026
7027 Method (_Q2C, 0, NotSerialized) // _Qxx: EC Query
7028 {
7029 P8XH (0x00, 0x2C)
7030 Notify (\_SB.PCI0.LPCB.SNC, 0x94) // Device-Specific
7031 }
7032
7033 Method (_Q32, 0, NotSerialized) // _Qxx: EC Query
7034 {
7035 P8XH (0x00, 0x32)
7036 Notify (\_SB.PWRB, 0x80) // Status Change
7037 }
7038
7039 Method (_Q34, 0, NotSerialized) // _Qxx: EC Query
7040 {
7041 P8XH (0x00, 0x34)
7042 Notify (\_TZ.TZ00, 0x80) // Thermal Status Change
7043 If ((TCNT > 0x01))
7044 {
7045 Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
7046 }
7047 }
7048
7049 Method (_Q45, 0, NotSerialized) // _Qxx: EC Query
7050 {
7051 P8XH (0x00, 0x45)
7052 Q45T++
7053 ALER = 0x02
7054 Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific
7055 }
7056
7057 Name (HF1P, 0x81)
7058 Name (HF1R, 0x01)
7059 Name (HF5P, 0x85)
7060 Name (HF5R, 0x05)
7061 Name (HF6P, 0x86)
7062 Name (HF6R, 0x06)
7063 Name (HF7P, 0x87)
7064 Name (HF7R, 0x07)
7065 Name (HF8P, 0x88)
7066 Name (HF8R, 0x08)
7067 Name (HF9P, 0x89)
7068 Name (HF9R, 0x09)
7069 Name (HFAP, 0x8A)
7070 Name (HFAR, 0x0A)
7071 Name (HFBP, 0x8B)
7072 Name (HFBR, 0x0B)
7073 Name (HFCP, 0x8C)
7074 Name (HFCR, 0x0C)
7075 Name (HFDP, 0x8D)
7076 Name (HFDR, 0x0D)
7077 Name (HS1P, 0x90)
7078 Name (HS1R, 0x10)
7079 Name (HS2P, 0x91)
7080 Name (HS2R, 0x11)
7081 Name (HUPP, 0x95)
7082 Name (HUPR, 0x15)
7083 Name (HDWP, 0x96)
7084 Name (HDWR, 0x16)
7085 Name (HMUP, 0x97)
7086 Name (HMUR, 0x17)
7087 Name (HTRP, 0x99)
7088 Name (HTRR, 0x19)
7089 Name (HCUP, 0x9A)
7090 Name (HCUR, 0x1A)
7091 Name (HCDP, 0x9B)
7092 Name (HCDR, 0x1B)
7093 Name (HEJP, 0x9F)
7094 Name (HEJR, 0x1F)
7095 Name (HAVP, 0xA1)
7096 Name (HAVR, 0x21)
7097 Name (HVOP, 0xA5)
7098 Name (HVOR, 0x25)
7099 Name (HABP, 0xA6)
7100 Name (HABR, 0x26)
7101 Method (_Q50, 0, NotSerialized) // _Qxx: EC Query
7102 {
7103 P8XH (0x00, 0x50)
7104 SECR (HF1P)
7105 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7106 }
7107
7108 Method (_Q51, 0, NotSerialized) // _Qxx: EC Query
7109 {
7110 P8XH (0x00, 0x51)
7111 SECR (HF1R)
7112 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7113 }
7114
7115 Method (_Q58, 0, NotSerialized) // _Qxx: EC Query
7116 {
7117 P8XH (0x00, 0x58)
7118 SECR (HF5P)
7119 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7120 }
7121
7122 Method (_Q59, 0, NotSerialized) // _Qxx: EC Query
7123 {
7124 P8XH (0x00, 0x59)
7125 SECR (HF5R)
7126 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7127 }
7128
7129 Method (_Q5A, 0, NotSerialized) // _Qxx: EC Query
7130 {
7131 P8XH (0x00, 0x5A)
7132 SECR (HF6P)
7133 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7134 }
7135
7136 Method (_Q5B, 0, NotSerialized) // _Qxx: EC Query
7137 {
7138 P8XH (0x00, 0x5B)
7139 SECR (HF6R)
7140 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7141 }
7142
7143 Method (_Q5C, 0, NotSerialized) // _Qxx: EC Query
7144 {
7145 P8XH (0x00, 0x5C)
7146 SECR (HF7P)
7147 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7148 }
7149
7150 Method (_Q5D, 0, NotSerialized) // _Qxx: EC Query
7151 {
7152 P8XH (0x00, 0x5D)
7153 SECR (HF7R)
7154 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7155 }
7156
7157 Method (_Q60, 0, NotSerialized) // _Qxx: EC Query
7158 {
7159 P8XH (0x00, 0x60)
7160 SECR (HF9P)
7161 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7162 }
7163
7164 Method (_Q61, 0, NotSerialized) // _Qxx: EC Query
7165 {
7166 P8XH (0x00, 0x61)
7167 SECR (HF9R)
7168 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7169 }
7170
7171 Method (_Q62, 0, NotSerialized) // _Qxx: EC Query
7172 {
7173 P8XH (0x00, 0x62)
7174 SECR (HFAP)
7175 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7176 }
7177
7178 Method (_Q63, 0, NotSerialized) // _Qxx: EC Query
7179 {
7180 P8XH (0x00, 0x63)
7181 SECR (HFAR)
7182 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7183 }
7184
7185 Method (_Q66, 0, NotSerialized) // _Qxx: EC Query
7186 {
7187 P8XH (0x00, 0x66)
7188 SECR (HFCP)
7189 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7190 }
7191
7192 Method (_Q67, 0, NotSerialized) // _Qxx: EC Query
7193 {
7194 P8XH (0x00, 0x67)
7195 SECR (HFCR)
7196 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7197 }
7198
7199 Method (_Q84, 0, NotSerialized) // _Qxx: EC Query
7200 {
7201 P8XH (0x00, 0x84)
7202 SECR (HVOP)
7203 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7204 }
7205
7206 Method (_Q85, 0, NotSerialized) // _Qxx: EC Query
7207 {
7208 P8XH (0x00, 0x85)
7209 SECR (HVOR)
7210 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7211 }
7212
7213 Method (_Q86, 0, NotSerialized) // _Qxx: EC Query
7214 {
7215 P8XH (0x00, 0x86)
7216 SECR (HABP)
7217 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7218 }
7219
7220 Method (_Q87, 0, NotSerialized) // _Qxx: EC Query
7221 {
7222 P8XH (0x00, 0x87)
7223 SECR (HABR)
7224 Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific
7225 }
7226
7227 Method (SECR, 1, NotSerialized)
7228 {
7229 \_SB.PCI0.LPCB.SNC.XECR = Arg0
7230 }
7231
7232 Method (GECR, 0, NotSerialized)
7233 {
7234 Return (\_SB.PCI0.LPCB.SNC.XECR)
7235 }
7236 }
7237 }
7238 }
7239 }
7240
7241 Scope (\_SB)
7242 {
7243 Device (BAT0)
7244 {
7245 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
7246 Name (_UID, 0x00) // _UID: Unique ID
7247 Name (PSTA, 0x00)
7248 Method (_STA, 0, NotSerialized) // _STA: Status
7249 {
7250 \DBGC (0xB0, 0x00, BCEN)
7251 Sleep (0x05)
7252 If ((ECON == 0x00))
7253 {
7254 Local1 = 0x00
7255 }
7256 Else
7257 {
7258 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7259 Local1 = \_SB.PCI0.LPCB.EC.BATP
7260 Release (\_SB.PCI0.LPCB.EC.MECR)
7261 }
7262
7263 If ((Local1 == 0x00))
7264 {
7265 Local0 = 0x0F
7266 }
7267 Else
7268 {
7269 Local0 = 0x1F
7270 }
7271
7272 PSTA = Local0
7273 \DBGC (0xB0, 0x80, BCEN)
7274 Return (Local0)
7275 }
7276
7277 Name (MULV, 0x00)
7278 Name (BATI, Package (0x0D)
7279 {
7280 0x00,
7281 0x2710,
7282 0x2710,
7283 0x00,
7284 0xFFFFFFFF,
7285 0x03E8,
7286 0x01,
7287 0x64,
7288 0x64,
7289 "",
7290 "",
7291 "LiOn",
7292 "Sony Corp."
7293 })
7294 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
7295 {
7296 \DBGC (0xB1, 0x00, BCEN)
7297 MULV = 0x01
7298 Sleep (0x05)
7299 If ((ECON == 0x00)) {}
7300 Else
7301 {
7302 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7303 Local0 = (\_SB.PCI0.LPCB.EC.OMFH & 0x80)
7304 If (Local0)
7305 {
7306 Index (BATI, 0x00) = 0x00
7307 MULV = 0x0A
7308 }
7309 Else
7310 {
7311 Index (BATI, 0x00) = 0x01
7312 }
7313
7314 Local0 = \_SB.PCI0.LPCB.EC.BDCH
7315 Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BDCL)
7316 Index (BATI, 0x01) = (Local0 * MULV)
7317 Local0 = \_SB.PCI0.LPCB.EC.FCCH
7318 Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.FCCL)
7319 Index (BATI, 0x02) = (Local0 * MULV)
7320 Local0 = \_SB.PCI0.LPCB.EC.BAVH
7321 Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BAVL)
7322 Index (BATI, 0x04) = (Local0 * MULV)
7323 Release (\_SB.PCI0.LPCB.EC.MECR)
7324 }
7325
7326 \DBGC (0xB1, 0x80, BCEN)
7327 Return (BATI) /* \_SB_.BAT0.BATI */
7328 }
7329
7330 Name (PKG0, Package (0x04)
7331 {
7332 0x02,
7333 0xFFFFFFFF,
7334 0xFFFFFFFF,
7335 0xFFFFFFFF
7336 })
7337 Method (_BST, 0, NotSerialized) // _BST: Battery Status
7338 {
7339 \DBGC (0xB2, 0x00, BCEN)
7340 Sleep (0x05)
7341 If ((ECON == 0x00)) {}
7342 Else
7343 {
7344 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7345 If ((\_SB.PCI0.LPCB.EC.CHGE == 0x01))
7346 {
7347 Local0 = \_SB.PCI0.LPCB.EC.RSCL
7348 If ((Local0 == 0x64))
7349 {
7350 Index (PKG0, 0x00) = 0x00
7351 }
7352 Else
7353 {
7354 Index (PKG0, 0x00) = 0x02
7355 }
7356 }
7357 Else
7358 {
7359 Index (PKG0, 0x00) = 0x01
7360 }
7361
7362 Name (MULV, 0x00)
7363 Local0 = (\_SB.PCI0.LPCB.EC.OMFH & 0x80)
7364 If (Local0)
7365 {
7366 MULV = 0x0A
7367 }
7368 Else
7369 {
7370 MULV = 0x01
7371 }
7372
7373 Local0 = \_SB.PCI0.LPCB.EC.BRCH
7374 Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BRCL)
7375 Index (PKG0, 0x02) = (Local0 * MULV)
7376 Local0 = \_SB.PCI0.LPCB.EC.BACH
7377 Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BACL)
7378 If ((Local0 && 0x8000))
7379 {
7380 Local0 = (~Local0 + 0x01)
7381 Local0 &= 0xFFFF
7382 }
7383
7384 Local1 = \_SB.PCI0.LPCB.EC.BAVH
7385 Local1 = ((Local1 << 0x08) | \_SB.PCI0.LPCB.EC.BAVL)
7386 Local1 /= 0x03E8
7387 Index (PKG0, 0x01) = (Local0 * Local1)
7388 Release (\_SB.PCI0.LPCB.EC.MECR)
7389 }
7390
7391 \DBGC (0xB2, 0x80, BCEN)
7392 Return (PKG0) /* \_SB_.BAT0.PKG0 */
7393 }
7394
7395 Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
7396 {
7397 \DBGC (0xB3, 0x80, BCEN)
7398 Return (\_SB)
7399 }
7400 }
7401 }
7402
7403 Scope (\_SB)
7404 {
7405 Device (ADP1)
7406 {
7407 Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
7408 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
7409 {
7410 \DBGC (0x40, 0x00, BCEN)
7411 If ((ECON == 0x00))
7412 {
7413 Local0 = (PHSB (0xD4, 0x00) & 0x80)
7414 }
7415 Else
7416 {
7417 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7418 Local0 = \_SB.PCI0.LPCB.EC.RPWR
7419 Release (\_SB.PCI0.LPCB.EC.MECR)
7420 }
7421
7422 If ((Local0 == 0x00))
7423 {
7424 \DBGC (0x40, 0x80, BCEN)
7425 Return (0x00)
7426 }
7427 Else
7428 {
7429 \DBGC (0x40, 0x81, BCEN)
7430 Return (0x01)
7431 }
7432 }
7433
7434 Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List
7435 {
7436 \DBGC (0x42, 0x80, BCEN)
7437 Return (\_SB)
7438 }
7439 }
7440
7441 Device (LID0)
7442 {
7443 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
7444 Method (_LID, 0, NotSerialized) // _LID: Lid Status
7445 {
7446 \DBGC (0x41, 0x00, BCEN)
7447 If (ECON)
7448 {
7449 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
7450 Local0 = \_SB.PCI0.LPCB.EC.LSTE
7451 Release (\_SB.PCI0.LPCB.EC.MECR)
7452 }
7453 Else
7454 {
7455 Local0 = (PHSB (0xD4, 0x00) & 0x20)
7456 }
7457
7458 \DBGC (0x41, 0x80, BCEN)
7459 Return (Local0)
7460 }
7461 }
7462
7463 Device (PWRB)
7464 {
7465 Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
7466 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
7467 {
7468 0x1B,
7469 0x04
7470 })
7471 }
7472 }
7473
7474 Scope (\_TZ)
7475 {
7476 ThermalZone (TZ00)
7477 {
7478 Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
7479 {
7480 Return ((0x0AAC + (CRTT * 0x0A)))
7481 }
7482
7483 Method (_PSV, 0, Serialized) // _PSV: Passive Temperature
7484 {
7485 Return ((0x0AAC + (PSVT * 0x0A)))
7486 }
7487
7488 Method (_TMP, 0, Serialized) // _TMP: Temperature
7489 {
7490 If (ECON)
7491 {
7492 Local0 = \_SB.PCI0.LPCB.EC.TS1R
7493 Return ((0x0AAC + (Local0 * 0x0A)))
7494 }
7495
7496 Return (0x0BC2)
7497 }
7498 }
7499
7500 ThermalZone (TZ01)
7501 {
7502 Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
7503 {
7504 Return ((0x0AAC + (CRTT * 0x0A)))
7505 }
7506
7507 Method (_TMP, 0, Serialized) // _TMP: Temperature
7508 {
7509 If (ECON)
7510 {
7511 Local0 = \_SB.PCI0.LPCB.EC.TS1R
7512 Return ((0x0AAC + (Local0 * 0x0A)))
7513 }
7514
7515 Return (0x0BD6)
7516 }
7517
7518 Method (_PSL, 0, Serialized) // _PSL: Passive List
7519 {
7520 If ((TCNT == 0x08))
7521 {
7522 Return (Package (0x08)
7523 {
7524 \_PR.CPU0,
7525 \_PR.CPU1,
7526 \_PR.CPU2,
7527 \_PR.CPU3,
7528 \_PR.CPU4,
7529 \_PR.CPU5,
7530 \_PR.CPU6,
7531 \_PR.CPU7
7532 })
7533 }
7534
7535 If ((TCNT == 0x04))
7536 {
7537 Return (Package (0x04)
7538 {
7539 \_PR.CPU0,
7540 \_PR.CPU1,
7541 \_PR.CPU2,
7542 \_PR.CPU3
7543 })
7544 }
7545
7546 If ((TCNT == 0x02))
7547 {
7548 Return (Package (0x02)
7549 {
7550 \_PR.CPU0,
7551 \_PR.CPU1
7552 })
7553 }
7554
7555 Return (Package (0x01)
7556 {
7557 \_PR.CPU0
7558 })
7559 }
7560
7561 Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1
7562 {
7563 Return (TC1V) /* \TC1V */
7564 }
7565
7566 Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2
7567 {
7568 Return (TC2V) /* \TC2V */
7569 }
7570
7571 Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period
7572 {
7573 Return (TSPV) /* \TSPV */
7574 }
7575
7576 Method (_PSV, 0, Serialized) // _PSV: Passive Temperature
7577 {
7578 Return ((0x0AAC + (PSVT * 0x0A)))
7579 }
7580 }
7581 }
7582
7583 Scope (\)
7584 {
7585 Name (BTL0, Buffer (0x10)
7586 {
7587 /* 0000 */ 0x0A, 0x10, 0x16, 0x1C, 0x22, 0x28, 0x2E, 0x34, /* ...."(.4 */
7588 /* 0008 */ 0x3A, 0x40, 0x46, 0x4C, 0x52, 0x58, 0x5E, 0x64 /* :@FLRX^d */
7589 })
7590 }
7591
7592 Scope (\_SB)
7593 {
7594 Scope (PCI0)
7595 {
7596 Scope (LPCB)
7597 {
7598 Device (SNC)
7599 {
7600 Name (_HID, EisaId ("SNY5001")) // _HID: Hardware ID
7601 Name (CPUT, 0x00)
7602 Name (UPBR, 0x00)
7603 Name (DNBR, 0x00)
7604 Name (RTL1, Buffer (0x10)
7605 {
7606 /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */
7607 /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */
7608 })
7609 Method (_INI, 0, NotSerialized) // _INI: Initialize
7610 {
7611 ALER = 0x00
7612 }
7613
7614 Method (GB16, 0, NotSerialized)
7615 {
7616 Local1 = 0x00
7617 Local1 = PHS (0xC1)
7618 Local1 &= 0x0F
7619 If ((Local1 > 0x0F))
7620 {
7621 Local1 = 0x0F
7622 PHSB (0xC2, Local1)
7623 }
7624
7625 Return (Local1)
7626 }
7627
7628 Method (SB16, 1, NotSerialized)
7629 {
7630 If ((Arg0 > 0x0F))
7631 {
7632 Return (0x00)
7633 }
7634
7635 PHSB (0xC2, Arg0)
7636 Local0 = DerefOf (Index (\BTL0, Arg0))
7637 If ((IGDS & IGDS))
7638 {
7639 \_SB.PCI0.GFX0.DD02._BCM (Local0)
7640 }
7641 Else
7642 {
7643 \_SB.PCI0.PEG0.VGA.LCD._BCM (Local0)
7644 }
7645
7646 Return (0x00)
7647 }
7648
7649 Method (PWAK, 0, NotSerialized)
7650 {
7651 \DBGC (0xF3, 0x00, BCEN)
7652 If (((OSYS == 0x07D1) || (OSYS == 0x07D2)))
7653 {
7654 Local1 = 0x00
7655 Local1 = PHS (0xC1)
7656 Local1 &= 0x0F
7657 If ((Local1 > 0x0F))
7658 {
7659 Local1 = 0x0F
7660 PHSB (0xC2, Local1)
7661 }
7662
7663 Local2 = DerefOf (Index (BTL0, Local1))
7664 If ((IGDS & IGDS))
7665 {
7666 BRTL = Local2
7667 }
7668 Else
7669 {
7670 ALER = 0x00
7671 Local3 = (Match (ICL0, MEQ, Local2, MTR, 0x00, 0x02) - 0x02)
7672 Local3 = DerefOf (Index (RTL0, Local3))
7673 BRTL = Local2
7674 I_AL = 0x82
7675 I_AH = 0xA0
7676 I_BL = 0x05
7677 I_BH = 0x01
7678 I_CL = Local3
7679 PHDD (0xE2, I10B)
7680 }
7681 }
7682
7683 PNOT ()
7684 \DBGC (0xF3, 0x80, BCEN)
7685 Return (Zero)
7686 }
7687
7688 Name (EVS0, 0x07)
7689 Name (EVS1, 0x00)
7690 Name (EVS2, 0x00)
7691 Mutex (MSNE, 0x00)
7692 Method (GSNE, 1, NotSerialized)
7693 {
7694 Acquire (MSNE, 0xFFFF)
7695 \DBGC (0xF1, 0x00, BCEN)
7696 Local1 = ((Arg0 & 0xFF000000) >> 0x18)
7697 Local2 = ((Arg0 & 0x00FF0000) >> 0x10)
7698 Local3 = (Arg0 & 0xFFFF)
7699 Local0 = 0x00
7700 If ((Local1 == 0x00))
7701 {
7702 If ((Local2 == 0x00))
7703 {
7704 Local0 = (Arg0 & 0xFFFF0000)
7705 Local0 = (Local0 | 0x07)
7706 }
7707
7708 If ((Local2 == 0x01))
7709 {
7710 Local0 = (Arg0 & 0xFFFF0000)
7711 Local0 = (Local0 | 0x00)
7712 }
7713
7714 If ((Local2 == 0x02))
7715 {
7716 Local0 = (Arg0 & 0xFFFF0000)
7717 Local0 = (Local0 | 0x00)
7718 }
7719 }
7720 Else
7721 {
7722 If ((Local1 == 0x01))
7723 {
7724 If ((Local2 == 0x00))
7725 {
7726 Local0 = (Arg0 & 0xFFFF0000)
7727 Local0 = (Local0 | EVS0)
7728 }
7729
7730 If ((Local2 == 0x01))
7731 {
7732 Local0 = (Arg0 & 0xFFFF0000)
7733 Local0 = (Local0 | EVS1)
7734 }
7735
7736 If ((Local2 == 0x02))
7737 {
7738 Local0 = (Arg0 & 0xFFFF0000)
7739 Local0 = (Local0 | EVS2)
7740 }
7741 }
7742 Else
7743 {
7744 Local0 = Ones
7745 }
7746 }
7747
7748 \DBGC (0xF1, 0x80, BCEN)
7749 Release (MSNE)
7750 Return (Local0)
7751 }
7752
7753 Method (SSNE, 1, NotSerialized)
7754 {
7755 Acquire (MSNE, 0xFFFF)
7756 \DBGC (0xF4, 0x00, BCEN)
7757 Local1 = ((Arg0 & 0xFF000000) >> 0x18)
7758 Local2 = ((Arg0 & 0x00FF0000) >> 0x10)
7759 Local3 = (Arg0 & 0xFFFF)
7760 Local0 = 0x00
7761 If ((Local1 == 0x00))
7762 {
7763 If ((Local2 == 0x00))
7764 {
7765 EVS0 = (Arg0 | EVS0)
7766 }
7767
7768 If ((Local2 == 0x01))
7769 {
7770 EVS1 = (Arg0 | EVS1)
7771 }
7772
7773 If ((Local2 == 0x02))
7774 {
7775 EVS2 = (Arg0 | EVS2)
7776 }
7777 }
7778 Else
7779 {
7780 If ((Local1 == 0x01))
7781 {
7782 If ((Local2 == 0x00))
7783 {
7784 EVS0 = (EVS0 & ~Arg0)
7785 }
7786
7787 If ((Local2 == 0x01))
7788 {
7789 EVS1 = (EVS1 & ~Arg0)
7790 }
7791
7792 If ((Local2 == 0x02))
7793 {
7794 EVS2 = (EVS2 & ~Arg0)
7795 }
7796 }
7797 }
7798
7799 \DBGC (0xF4, 0x80, BCEN)
7800 Release (MSNE)
7801 }
7802
7803 Method (SODV, 1, NotSerialized)
7804 {
7805 \DBGC (0xF6, 0x00, BCEN)
7806 If ((DSEN != 0x00))
7807 {
7808 Return (Ones)
7809 }
7810
7811 AODV = Arg0
7812 If (!(AODV & CADD))
7813 {
7814 AODV = 0x01
7815 }
7816
7817 If ((CADD != PADD))
7818 {
7819 PADD = CADD /* \CADD */
7820 Notify (\_SB.PCI0, 0x00) // Bus Check
7821 Local0 = (PNHM & 0x000FFFF0)
7822 Sleep (0x02EE)
7823 }
7824
7825 \DBGC (0xF6, 0x80, BCEN)
7826 Return (Zero)
7827 }
7828
7829 Mutex (MIDB, 0x00)
7830 Method (RBMF, 1, Serialized)
7831 {
7832 Acquire (MIDB, 0xFFFF)
7833 \DBGC (0xF7, 0x00, BCEN)
7834 Local0 = (Arg0 & 0x00010000)
7835 Local0 = PHSD (0xDC, Local0)
7836 If ((Local0 == 0x02))
7837 {
7838 Sleep (0x1388)
7839 }
7840
7841 \DBGC (0xF7, 0x80, BCEN)
7842 Release (MIDB)
7843 Return (Local0)
7844 }
7845
7846 Method (RSBI, 1, Serialized)
7847 {
7848 Return (Zero)
7849 }
7850
7851 Method (CBMF, 1, Serialized)
7852 {
7853 Acquire (MIDB, 0xFFFF)
7854 Local0 = ((Arg0 & 0x0001FFFF) | 0x02000000)
7855 Local0 = PHSD (0xDC, Local0)
7856 Release (MIDB)
7857 Return (Zero)
7858 }
7859
7860 Method (EAWK, 1, Serialized)
7861 {
7862 Acquire (MIDB, 0xFFFF)
7863 PHSB (0xD3, 0x00)
7864 Local0 = ~Arg0
7865 Release (MIDB)
7866 Return (Local0)
7867 }
7868
7869 Name (SNI0, 0x53636E53)
7870 Name (SNI1, 0x6F707075)
7871 Name (SNI2, 0x64657472)
7872 Name (SNI3, 0x0100)
7873 Name (SNI4, 0x32560000)
7874 Name (SNIA, 0xCE3C)
7875 Name (SNN0, 0x00)
7876 Name (SNN1, 0x00)
7877 Name (SNN2, 0x0100)
7878 Name (SNN3, 0x014B)
7879 Name (SNN4, 0x0135)
7880 Name (SNN5, 0x013A)
7881 Name (SNN6, 0x00)
7882 Name (SNN7, 0x00)
7883 Name (SNN8, 0x00)
7884 Name (SNN9, 0x013F)
7885 Name (SNNA, 0x011D)
7886 Name (SNNB, 0x0114)
7887 Name (SNNC, 0x00)
7888 Name (SNND, 0x00)
7889 Name (SNNE, 0x0148)
7890 Name (SNNF, 0x0122)
7891 Name (XECR, 0x00)
7892 Name (ENMK, 0xFFE2)
7893 Name (ENCR, 0x00)
7894 Name (ESR, 0x00)
7895 Method (SN00, 1, NotSerialized)
7896 {
7897 Local1 = (Arg0 & 0xFF)
7898 If ((Local1 == 0x00))
7899 {
7900 Return (SNI0) /* \_SB_.PCI0.LPCB.SNC_.SNI0 */
7901 }
7902
7903 If ((Local1 == 0x01))
7904 {
7905 Return (SNI1) /* \_SB_.PCI0.LPCB.SNC_.SNI1 */
7906 }
7907
7908 If ((Local1 == 0x02))
7909 {
7910 Return (SNI2) /* \_SB_.PCI0.LPCB.SNC_.SNI2 */
7911 }
7912
7913 If ((Local1 == 0x03))
7914 {
7915 Return (SNI3) /* \_SB_.PCI0.LPCB.SNC_.SNI3 */
7916 }
7917
7918 If ((Local1 == 0x04))
7919 {
7920 Return (SNI4) /* \_SB_.PCI0.LPCB.SNC_.SNI4 */
7921 }
7922
7923 If ((Local1 == 0x10))
7924 {
7925 Return (SNIA) /* \_SB_.PCI0.LPCB.SNC_.SNIA */
7926 }
7927
7928 If (((Local1 >= 0x20) && (Local1 <= 0x2F)))
7929 {
7930 Local2 = SNGN (Local1)
7931 Return (Local2)
7932 }
7933
7934 Return (0x00)
7935 }
7936
7937 Method (SNGN, 1, NotSerialized)
7938 {
7939 Local1 = (Arg0 & 0x0F)
7940 If ((Local1 == 0x00))
7941 {
7942 Return (SNN0) /* \_SB_.PCI0.LPCB.SNC_.SNN0 */
7943 }
7944
7945 If ((Local1 == 0x01))
7946 {
7947 Return (SNN1) /* \_SB_.PCI0.LPCB.SNC_.SNN1 */
7948 }
7949
7950 If ((Local1 == 0x02))
7951 {
7952 Return (SNN2) /* \_SB_.PCI0.LPCB.SNC_.SNN2 */
7953 }
7954
7955 If ((Local1 == 0x03))
7956 {
7957 Return (SNN3) /* \_SB_.PCI0.LPCB.SNC_.SNN3 */
7958 }
7959
7960 If ((Local1 == 0x04))
7961 {
7962 Return (SNN4) /* \_SB_.PCI0.LPCB.SNC_.SNN4 */
7963 }
7964
7965 If ((Local1 == 0x05))
7966 {
7967 Return (SNN5) /* \_SB_.PCI0.LPCB.SNC_.SNN5 */
7968 }
7969
7970 If ((Local1 == 0x06))
7971 {
7972 Return (SNN6) /* \_SB_.PCI0.LPCB.SNC_.SNN6 */
7973 }
7974
7975 If ((Local1 == 0x07))
7976 {
7977 Return (SNN7) /* \_SB_.PCI0.LPCB.SNC_.SNN7 */
7978 }
7979
7980 If ((Local1 == 0x08))
7981 {
7982 Return (SNN8) /* \_SB_.PCI0.LPCB.SNC_.SNN8 */
7983 }
7984
7985 If ((Local1 == 0x09))
7986 {
7987 Return (SNN9) /* \_SB_.PCI0.LPCB.SNC_.SNN9 */
7988 }
7989
7990 If ((Local1 == 0x0A))
7991 {
7992 Return (SNNA) /* \_SB_.PCI0.LPCB.SNC_.SNNA */
7993 }
7994
7995 If ((Local1 == 0x0B))
7996 {
7997 Return (SNNB) /* \_SB_.PCI0.LPCB.SNC_.SNNB */
7998 }
7999
8000 If ((Local1 == 0x0C))
8001 {
8002 Return (SNNC) /* \_SB_.PCI0.LPCB.SNC_.SNNC */
8003 }
8004
8005 If ((Local1 == 0x0D))
8006 {
8007 Return (SNND) /* \_SB_.PCI0.LPCB.SNC_.SNND */
8008 }
8009
8010 If ((Local1 == 0x0E))
8011 {
8012 Return (SNNE) /* \_SB_.PCI0.LPCB.SNC_.SNNE */
8013 }
8014
8015 If ((Local1 == 0x0F))
8016 {
8017 Return (SNNF) /* \_SB_.PCI0.LPCB.SNC_.SNNF */
8018 }
8019
8020 Return (0x00)
8021 }
8022
8023 Mutex (SNM0, 0x00)
8024 Method (SN01, 0, NotSerialized)
8025 {
8026 Acquire (SNM0, 0xFFFF)
8027 Local1 = PHS (0xD6)
8028 Local1 &= ~ENMK
8029 Local2 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8030 Local1 |= Local2
8031 Release (SNM0)
8032 Return (Local1)
8033 }
8034
8035 Method (SN02, 1, NotSerialized)
8036 {
8037 Acquire (SNM0, 0xFFFF)
8038 Local1 = Arg0
8039 If ((Local1 != 0x00))
8040 {
8041 Local2 = (Local1 & ~ENMK)
8042 If ((Local2 != 0x00))
8043 {
8044 PHSD (0xD7, Local2)
8045 }
8046
8047 Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8048 If ((Local2 != 0x00))
8049 {
8050 Local3 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8051 ENCR = (Local3 | Local2)
8052 }
8053 }
8054
8055 Release (SNM0)
8056 }
8057
8058 Method (SN03, 1, NotSerialized)
8059 {
8060 Acquire (SNM0, 0xFFFF)
8061 Local1 = Arg0
8062 If ((Local1 != 0x00))
8063 {
8064 Local2 = (Local1 & ~ENMK)
8065 If ((Local2 != 0x00))
8066 {
8067 PHSD (0xD8, Local1)
8068 }
8069
8070 Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8071 If ((Local2 != 0x00))
8072 {
8073 Local3 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8074 ENCR = (Local3 & ~Local2)
8075 }
8076 }
8077
8078 Release (SNM0)
8079 }
8080
8081 Method (SN04, 0, NotSerialized)
8082 {
8083 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
8084 Sleep (0x05)
8085 Local1 = \_SB.PCI0.LPCB.EC.ESR0
8086 Release (\_SB.PCI0.LPCB.EC.MECR)
8087 Local1 &= ~ENMK
8088 Local2 = (ESR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8089 Local1 |= Local2
8090 Return (Local1)
8091 }
8092
8093 Method (SN05, 1, NotSerialized)
8094 {
8095 Local1 = Arg0
8096 If ((Local1 != 0x00))
8097 {
8098 Local2 = (Local1 & ~ENMK)
8099 If ((Arg0 == 0x08))
8100 {
8101 Local2 &= ~0x08
8102 }
8103
8104 If ((Local2 != 0x00))
8105 {
8106 PHSD (0xDA, Local1)
8107 }
8108
8109 Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8110 If ((Local2 != 0x00))
8111 {
8112 Local3 = (ESR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */
8113 ESR = (Local3 & ~Local2)
8114 }
8115 }
8116 }
8117
8118 Mutex (SNM1, 0x00)
8119 Mutex (SNM2, 0x00)
8120 Name (SNBF, Buffer (0x0410) {})
8121 CreateField (SNBF, 0x00, 0x20, SNBD)
8122 Method (SN06, 1, NotSerialized)
8123 {
8124 Acquire (SNM2, 0xFFFF)
8125 SNBF = Arg0
8126 SNCM ()
8127 Release (SNM2)
8128 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8129 }
8130
8131 Method (SNCM, 0, NotSerialized)
8132 {
8133 Acquire (SNM1, 0xFFFF)
8134 Local0 = DerefOf (Index (SNBF, 0x00))
8135 \DBGC (0xF0, Local0, BCEN)
8136 Local0 &= 0x0F
8137 If ((Local0 == 0x00))
8138 {
8139 SNF0 (SNBF)
8140 }
8141 Else
8142 {
8143 If ((Local0 == 0x02))
8144 {
8145 SNF2 (SNBF)
8146 }
8147 Else
8148 {
8149 If ((Local0 == 0x03))
8150 {
8151 SNF3 (SNBF)
8152 }
8153 Else
8154 {
8155 If ((Local0 == 0x04))
8156 {
8157 SNF4 (SNBF)
8158 }
8159 Else
8160 {
8161 If ((Local0 == 0x05))
8162 {
8163 SNF5 (SNBF)
8164 }
8165 Else
8166 {
8167 If ((Local0 == 0x06))
8168 {
8169 SNF6 (SNBF)
8170 }
8171 Else
8172 {
8173 If ((Local0 == 0x07))
8174 {
8175 SNF7 (SNBF)
8176 }
8177 Else
8178 {
8179 If ((Local0 == 0x08))
8180 {
8181 SNF8 (SNBF)
8182 }
8183 Else
8184 {
8185 If ((Local0 == 0x09))
8186 {
8187 SNF9 (SNBF)
8188 }
8189 Else
8190 {
8191 If ((Local0 == 0x0A))
8192 {
8193 SNFA (SNBF)
8194 }
8195 Else
8196 {
8197 If ((Local0 == 0x0B))
8198 {
8199 SNFB (SNBF)
8200 }
8201 Else
8202 {
8203 If ((Local0 == 0x0C))
8204 {
8205 SNFC (SNBF)
8206 }
8207 Else
8208 {
8209 If ((Local0 == 0x0E))
8210 {
8211 SNFE (SNBF)
8212 }
8213 Else
8214 {
8215 If ((Local0 == 0x0F))
8216 {
8217 SNFF (SNBF)
8218 }
8219 Else
8220 {
8221 }
8222 }
8223 }
8224 }
8225 }
8226 }
8227 }
8228 }
8229 }
8230 }
8231 }
8232 }
8233 }
8234 }
8235
8236 Release (SNM1)
8237 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8238 }
8239
8240 Method (SN07, 1, NotSerialized)
8241 {
8242 Acquire (SNM2, 0xFFFF)
8243 Local0 = Arg0
8244 SNBD = Local0
8245 SNCM ()
8246 Release (SNM2)
8247 Return (SNBD) /* \_SB_.PCI0.LPCB.SNC_.SNBD */
8248 }
8249
8250 Method (SNF0, 1, NotSerialized)
8251 {
8252 \DBGC (0x70, 0x80, BCEN)
8253 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8254 }
8255
8256 Method (SNF1, 1, NotSerialized)
8257 {
8258 \DBGC (0x71, 0x80, BCEN)
8259 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8260 }
8261
8262 Method (SNF2, 1, NotSerialized)
8263 {
8264 Local0 = DerefOf (Index (SNBF, 0x01))
8265 If ((Local0 == 0x00))
8266 {
8267 Local1 = 0x04
8268 PHSB (0xD0, Local1)
8269 }
8270 Else
8271 {
8272 If ((Local0 == 0x01))
8273 {
8274 Local1 = 0x04
8275 PHSB (0xD1, Local1)
8276 }
8277 Else
8278 {
8279 If ((Local0 == 0x02))
8280 {
8281 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
8282 Sleep (0x05)
8283 Local1 = \_SB.PCI0.LPCB.EC.GECR ()
8284 Release (\_SB.PCI0.LPCB.EC.MECR)
8285 Index (SNBF, 0x00) = Local1
8286 }
8287 Else
8288 {
8289 }
8290 }
8291 }
8292
8293 \DBGC (0x72, 0x80, BCEN)
8294 }
8295
8296 Name (BRTB, Buffer (0x10)
8297 {
8298 /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */
8299 /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */
8300 })
8301 Name (DEFU, Buffer (0x09)
8302 {
8303 /* 0000 */ 0x01, 0x23, 0x02, 0x01, 0x0B, 0x00, 0xDC, 0x00, /* .#...... */
8304 /* 0008 */ 0x00 /* . */
8305 })
8306 Method (BRBR, 1, NotSerialized)
8307 {
8308 If (((Arg0 >= 0x00) && (Arg0 <= 0xFF)))
8309 {
8310 Local2 = (SYSD & 0x07)
8311 If (((Local2 == 0x00) || (Local2 == 0x03)))
8312 {
8313 \_SB.PCI0.GFX0.SBRI (Arg0)
8314 }
8315 Else
8316 {
8317 \_SB.PCI0.PEG0.VGA.SBRI (Arg0)
8318 }
8319 }
8320 }
8321
8322 Method (GTBR, 0, NotSerialized)
8323 {
8324 Local1 = (SYSD & 0x07)
8325 If (((Local1 == 0x00) || (Local1 == 0x03)))
8326 {
8327 Local2 = \_SB.PCI0.GFX0.GBRI ()
8328 }
8329 Else
8330 {
8331 Local2 = \_SB.PCI0.PEG0.VGA.GBRI ()
8332 }
8333
8334 Return (Local2)
8335 }
8336
8337 Method (GLCD, 0, NotSerialized)
8338 {
8339 Local2 = 0x00
8340 If ((CM60 != 0x00))
8341 {
8342 Local2 = 0x01
8343 }
8344
8345 Return (Local2)
8346 }
8347
8348 Method (SNF3, 1, NotSerialized)
8349 {
8350 Local0 = DerefOf (Index (SNBF, 0x01))
8351 If ((Local0 == 0x00))
8352 {
8353 Local1 = 0x00
8354 While ((Local1 <= 0x0F))
8355 {
8356 Index (SNBF, Local1) = DerefOf (Index (BRTB, Local1))
8357 Local1++
8358 }
8359
8360 Local1 = 0x00
8361 While ((Local1 <= 0x08))
8362 {
8363 Index (SNBF, (Local1 + 0x10)) = DerefOf (Index (DEFU, Local1
8364 ))
8365 Local1++
8366 }
8367 }
8368 Else
8369 {
8370 If ((Local0 == 0x01))
8371 {
8372 Local2 = GLCD ()
8373 Local1 = (~GPKB & 0x01)
8374 Index (SNBF, 0x00) = Local1 |= (Local2 << 0x01)
8375 }
8376 Else
8377 {
8378 If ((Local0 == 0x10))
8379 {
8380 Acquire (SNM0, 0xFFFF)
8381 Local1 = PHS (0xF7)
8382 Local1 &= 0x00FFFFFF
8383 Index (SNBF, 0x00) = Local1
8384 Index (SNBF, 0x01) = (Local1 >> 0x08)
8385 Index (SNBF, 0x02) = (Local1 >> 0x10)
8386 Release (SNM0)
8387 }
8388 Else
8389 {
8390 If ((Local0 == 0x20))
8391 {
8392 Local1 = (ALER & 0x03)
8393 Index (SNBF, 0x00) = Local1
8394 }
8395 Else
8396 {
8397 If ((Local0 == 0x21))
8398 {
8399 Local1 = PHS (0xFA)
8400 Local1 &= 0x01
8401 Index (SNBF, 0x00) = Local1
8402 }
8403 Else
8404 {
8405 If ((Local0 == 0x22))
8406 {
8407 Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x01)
8408 If (Local1)
8409 {
8410 PHSB (0xFB, 0xA1)
8411 }
8412 Else
8413 {
8414 PHSB (0xFB, 0xA0)
8415 }
8416 }
8417 Else
8418 {
8419 If ((Local0 == 0x30))
8420 {
8421 Local1 = DerefOf (Index (SNBF, 0x02))
8422 Local2 = PHS (0xFA)
8423 Local2 &= 0x01
8424 If (Local2)
8425 {
8426 BRBR (Local1)
8427 }
8428 }
8429 Else
8430 {
8431 If ((Local0 == 0x31))
8432 {
8433 Index (SNBF, 0x00) = GTBR ()
8434 }
8435 Else
8436 {
8437 If ((Local0 == 0x40))
8438 {
8439 Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x03)
8440 If ((Local1 != 0x03))
8441 {
8442 Local1 <<= 0x08
8443 PHSD (0xF0, (Local1 | 0xA015))
8444 }
8445 }
8446 Else
8447 {
8448 If ((Local0 == 0x41))
8449 {
8450 Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x01)
8451 Local1 <<= 0x08
8452 PHSD (0xF0, (Local1 | 0xA016))
8453 }
8454 Else
8455 {
8456 If ((Local0 == 0x42))
8457 {
8458 Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x03)
8459 If ((Local1 == 0x00))
8460 {
8461 PHSD (0xF0, 0xA317)
8462 }
8463 Else
8464 {
8465 If ((Local1 == 0x01))
8466 {
8467 PHSD (0xF0, 0xA017)
8468 }
8469 Else
8470 {
8471 If ((Local1 == 0x02))
8472 {
8473 PHSD (0xF0, 0xA117)
8474 }
8475 Else
8476 {
8477 If ((Local1 == 0x03))
8478 {
8479 PHSD (0xF0, 0xA217)
8480 }
8481 }
8482 }
8483 }
8484 }
8485 }
8486 }
8487 }
8488 }
8489 }
8490 }
8491 }
8492 }
8493 }
8494 }
8495
8496 \DBGC (0x73, 0x80, BCEN)
8497 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8498 }
8499
8500 Method (SNF4, 1, NotSerialized)
8501 {
8502 Local0 = DerefOf (Index (SNBF, 0x01))
8503 If ((Local0 == 0x00))
8504 {
8505 Local1 = PHS (0xE7)
8506 SNBF = Local1
8507 }
8508
8509 If ((Local0 == 0x01))
8510 {
8511 Local1 = ((Local1 = SN04 () & 0x10) >> 0x04)
8512 Index (SNBF, 0x00) = Local1
8513 }
8514 Else
8515 {
8516 If ((Local0 == 0x02))
8517 {
8518 Local1 = PHS (0xDD)
8519 Index (SNBF, 0x00) = (Local1 & 0x01)
8520 }
8521 Else
8522 {
8523 If ((Local0 == 0x03))
8524 {
8525 Local1 = PHS (0xDD)
8526 Local1 = ((Local1 & 0x06) >> 0x01)
8527 Index (SNBF, 0x00) = Local1
8528 }
8529 Else
8530 {
8531 If ((Local0 == 0x04))
8532 {
8533 Local1 = DerefOf (Index (SNBF, 0x02))
8534 Local1 &= 0x03
8535 PHSD (0xDE, Local1)
8536 }
8537 Else
8538 {
8539 If ((Local0 == 0x05))
8540 {
8541 Local1 = PHS (0xDD)
8542 Local1 = ((Local1 & 0x30) >> 0x04)
8543 Index (SNBF, 0x00) = Local1
8544 }
8545 Else
8546 {
8547 If ((Local0 == 0x06))
8548 {
8549 Local1 = DerefOf (Index (SNBF, 0x02))
8550 Local1 &= 0x03
8551 PHSD (0xDF, Local1)
8552 }
8553 Else
8554 {
8555 If ((Local0 == 0x09))
8556 {
8557 Local1 = PHS (0xDD)
8558 Local1 = ((Local1 & 0x3000) >> 0x0C)
8559 Index (SNBF, 0x00) = Local1
8560 }
8561 Else
8562 {
8563 If ((Local0 == 0x0A))
8564 {
8565 Local1 = DerefOf (Index (SNBF, 0x02))
8566 Local1 &= 0x03
8567 PHSD (0xEC, Local1)
8568 }
8569 Else
8570 {
8571 }
8572 }
8573 }
8574 }
8575 }
8576 }
8577 }
8578 }
8579
8580 \DBGC (0x74, 0x80, BCEN)
8581 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8582 }
8583
8584 Method (SNF5, 1, NotSerialized)
8585 {
8586 Local0 = DerefOf (Index (SNBF, 0x01))
8587 If ((Local0 == 0x00))
8588 {
8589 Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF)
8590 Sleep (0x05)
8591 Local1 = PHS (0xCA)
8592 Release (\_SB.PCI0.LPCB.EC.MECR)
8593 Local1 &= 0x0F
8594 If ((Local1 == 0x05))
8595 {
8596 Local1 = 0x01
8597 }
8598 Else
8599 {
8600 Local1 = 0x00
8601 }
8602
8603 Index (SNBF, 0x00) = Local1
8604 \DBGC (0x75, 0x80, BCEN)
8605 }
8606 Else
8607 {
8608 If ((Local0 == 0x01))
8609 {
8610 Local2 = DerefOf (Index (SNBF, 0x02))
8611 Local2 &= 0x01
8612 ATFR = Local2
8613 }
8614 Else
8615 {
8616 }
8617 }
8618
8619 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8620 }
8621
8622 Method (SNF6, 1, NotSerialized)
8623 {
8624 Local0 = DerefOf (Index (SNBF, 0x01))
8625 If ((Local0 == 0x00))
8626 {
8627 Local1 = PHSD (0xF1, 0x12)
8628 }
8629 Else
8630 {
8631 If ((Local0 == 0x01))
8632 {
8633 Local1 = PHSD (0xF1, 0x13)
8634 }
8635 Else
8636 {
8637 Local1 = 0x00
8638 }
8639 }
8640
8641 Index (SNBF, 0x00) = Local1
8642 Index (SNBF, 0x01) = (Local1 >> 0x08)
8643 \DBGC (0x76, 0x80, BCEN)
8644 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8645 }
8646
8647 Method (SNF7, 1, NotSerialized)
8648 {
8649 \DBGC (0x77, 0x80, BCEN)
8650 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8651 }
8652
8653 Method (SNF8, 1, NotSerialized)
8654 {
8655 \DBGC (0x78, 0x80, BCEN)
8656 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8657 }
8658
8659 Method (SNF9, 1, NotSerialized)
8660 {
8661 Local0 = DerefOf (Index (SNBF, 0x01))
8662 If ((Local0 == 0x00))
8663 {
8664 Local1 = PHS (0xE4)
8665 Index (SNBF, 0x00) = (Local1 & 0x35)
8666 }
8667 Else
8668 {
8669 If ((Local0 == 0x01))
8670 {
8671 Local1 = DerefOf (Index (SNBF, 0x02))
8672 Local1 &= 0x31
8673 PHSD (0xE5, Local1)
8674 }
8675 Else
8676 {
8677 If ((Local0 == 0x02))
8678 {
8679 Local1 = PHS (0xF3)
8680 Index (SNBF, 0x00) = Local1
8681 }
8682 }
8683 }
8684
8685 \DBGC (0x79, 0x80, BCEN)
8686 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8687 }
8688
8689 Method (SNFA, 1, NotSerialized)
8690 {
8691 Local0 = DerefOf (Index (SNBF, 0x01))
8692 If ((Local0 == 0x00))
8693 {
8694 Index (SNBF, 0x00) = CM60 /* \CM60 */
8695 Index (SNBF, 0x01) = 0x00
8696 }
8697 Else
8698 {
8699 }
8700
8701 \DBGC (0x7A, 0x80, BCEN)
8702 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8703 }
8704
8705 Method (SNFB, 1, NotSerialized)
8706 {
8707 Local0 = DerefOf (Index (SNBF, 0x01))
8708 If ((Local0 == 0x00))
8709 {
8710 Acquire (MIDB, 0xFFFF)
8711 Local1 = PHSD (0xDC, 0x00)
8712 If ((Local1 == 0x02))
8713 {
8714 Sleep (0x1388)
8715 }
8716
8717 Release (MIDB)
8718 Index (SNBF, 0x00) = (Local1 & 0x07)
8719 }
8720
8721 \DBGC (0x7B, 0x80, BCEN)
8722 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8723 }
8724
8725 Method (SNFC, 1, NotSerialized)
8726 {
8727 \DBGC (0x7C, 0x80, BCEN)
8728 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8729 }
8730
8731 Method (SNFD, 1, NotSerialized)
8732 {
8733 \DBGC (0x7D, 0x80, BCEN)
8734 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8735 }
8736
8737 Method (SNFE, 1, NotSerialized)
8738 {
8739 Local0 = DerefOf (Index (SNBF, 0x01))
8740 If ((Local0 == 0x00))
8741 {
8742 Local1 = PHS (0xC7)
8743 Local1 &= 0xFF
8744 If ((Local1 == 0xFE))
8745 {
8746 Local1 = 0x01
8747 }
8748 Else
8749 {
8750 Local1 = 0x00
8751 }
8752
8753 Index (SNBF, 0x00) = Local1
8754 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8755 }
8756 Else
8757 {
8758 If ((Local0 == 0x01))
8759 {
8760 Local2 = DerefOf (Index (SNBF, 0x02))
8761 Local2 &= 0x01
8762 If ((Local2 == 0x00))
8763 {
8764 Local3 = 0xA0
8765 }
8766 Else
8767 {
8768 Local3 = 0xA1
8769 }
8770
8771 PHSB (0xC8, Local3)
8772 }
8773 Else
8774 {
8775 }
8776 }
8777
8778 \DBGC (0x7E, 0x80, BCEN)
8779 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8780 }
8781
8782 Method (SNFF, 1, NotSerialized)
8783 {
8784 Local0 = DerefOf (Index (SNBF, 0x01))
8785 If ((Local0 == 0x00))
8786 {
8787 Local1 = 0x03
8788 Index (SNBF, 0x00) = Local1
8789 }
8790
8791 If ((Local0 == 0x01))
8792 {
8793 Local1 = 0x00
8794 Local1 = PHS (0xF2)
8795 P8XH (0x00, Local1)
8796 Local1 &= 0x03
8797 Index (SNBF, 0x00) = Local1
8798 }
8799 Else
8800 {
8801 If ((Local0 == 0x02))
8802 {
8803 Local1 = DerefOf (Index (SNBF, 0x02))
8804 P8XH (0x00, Local1)
8805 Local1 &= 0x03
8806 PHSB (0xE8, Local1)
8807 }
8808 }
8809
8810 \DBGC (0x7F, 0x80, BCEN)
8811 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */
8812 }
8813 }
8814 }
8815 }
8816 }
8817
8818 Scope (\)
8819 {
8820 Name (\AODV, 0x00)
8821 Name (\CADD, 0x00)
8822 Name (\PADD, 0x00)
8823 }
8824
8825 Name (\_S0, Package (0x04) // _S0_: S0 System State
8826 {
8827 0x00,
8828 0x00,
8829 0x00,
8830 0x00
8831 })
8832 If (SS3)
8833 {
8834 Name (\_S3, Package (0x04) // _S3_: S3 System State
8835 {
8836 0x05,
8837 0x00,
8838 0x00,
8839 0x00
8840 })
8841 }
8842
8843 If (SS4)
8844 {
8845 Name (\_S4, Package (0x04) // _S4_: S4 System State
8846 {
8847 0x06,
8848 0x00,
8849 0x00,
8850 0x00
8851 })
8852 }
8853
8854 Name (\_S5, Package (0x04) // _S5_: S5 System State
8855 {
8856 0x07,
8857 0x00,
8858 0x00,
8859 0x00
8860 })
8861 Method (PTS, 1, NotSerialized)
8862 {
8863 If (Arg0) {}
8864 }
8865
8866 Method (WAK, 1, NotSerialized)
8867 {
8868 }
8869
8870 Scope (\_SB.PCI0.PEG0)
8871 {
8872 Device (VGA)
8873 {
8874 Method (_ADR, 0, Serialized) // _ADR: Address
8875 {
8876 \DBGC (0x65, 0x00, BCEN)
8877 Return (0x00)
8878 }
8879
8880 OperationRegion (ATFX, PCI_Config, 0x00, 0x50)
8881 Field (ATFX, AnyAcc, NoLock, Preserve)
8882 {
8883 ATID, 16,
8884 Offset (0x4C),
8885 SSID, 32
8886 }
8887
8888 Method (_STA, 0, NotSerialized) // _STA: Status
8889 {
8890 Return (0x0F)
8891 }
8892
8893 Name (I10B, Buffer (0x08) {})
8894 CreateField (I10B, 0x00, 0x08, I_AL)
8895 CreateField (I10B, 0x08, 0x08, I_AH)
8896 CreateField (I10B, 0x10, 0x08, I_BL)
8897 CreateField (I10B, 0x18, 0x08, I_BH)
8898 CreateField (I10B, 0x20, 0x08, I_CL)
8899 CreateField (I10B, 0x28, 0x08, I_CH)
8900 CreateField (I10B, 0x30, 0x08, I_DL)
8901 CreateField (I10B, 0x38, 0x08, I_DH)
8902 Name (RTL0, Buffer (0x10)
8903 {
8904 /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */
8905 /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */
8906 })
8907 Name (ICL0, Package (0x12)
8908 {
8909 0x64,
8910 0x64,
8911 0x0A,
8912 0x10,
8913 0x16,
8914 0x1C,
8915 0x22,
8916 0x28,
8917 0x2E,
8918 0x34,
8919 0x3A,
8920 0x40,
8921 0x46,
8922 0x4C,
8923 0x52,
8924 0x58,
8925 0x5E,
8926 0x64
8927 })
8928 Method (SBRI, 1, NotSerialized)
8929 {
8930 I_AL = 0x82
8931 I_AH = 0xA0
8932 I_BL = 0x05
8933 I_BH = 0x01
8934 I_CL = Arg0
8935 PHDD (0xE2, I10B)
8936 }
8937
8938 Name (SSBR, 0x00)
8939 Method (GBRI, 0, NotSerialized)
8940 {
8941 I_AL = 0x82
8942 I_AH = 0xA0
8943 I_BL = 0x05
8944 I_BH = 0x00
8945 I_CL = 0x00
8946 I10B = PHDD (0xE2, I10B)
8947 SSBR = DerefOf (Index (I10B, 0x04))
8948 Return (SSBR) /* \_SB_.PCI0.PEG0.VGA_.SSBR */
8949 }
8950
8951 Device (LCD)
8952 {
8953 Name (_ADR, 0x0110) // _ADR: Address
8954 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
8955 {
8956 Return (ICL0) /* \_SB_.PCI0.PEG0.VGA_.ICL0 */
8957 }
8958
8959 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
8960 {
8961 PHSD (0xDA, 0x08)
8962 Local1 = PHS (0xFA)
8963 Local1 &= 0x01
8964 If ((Local1 == 0x01))
8965 {
8966 ALER = 0x01
8967 BRTL = Arg0
8968 Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific
8969 }
8970 Else
8971 {
8972 ALER = 0x00
8973 Local0 = (Match (ICL0, MEQ, Arg0, MTR, 0x00, 0x02) - 0x02)
8974 Local0 = DerefOf (Index (RTL0, Local0))
8975 BRTL = Arg0
8976 I_AL = 0x82
8977 I_AH = 0xA0
8978 I_BL = 0x05
8979 I_BH = 0x01
8980 I_CL = Local0
8981 PHDD (0xE2, I10B)
8982 }
8983
8984 \DBGC (0x65, 0x81, BCEN)
8985 }
8986
8987 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
8988 {
8989 \DBGC (0x65, 0x82, BCEN)
8990 Return (BRTL) /* \BRTL */
8991 }
8992
8993 Name (_DCS, 0x1F) // _DCS: Display Current Status
8994 Name (_DGS, 0x01) // _DGS: Display Graphics State
8995 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
8996 {
8997 If ((Arg0 & 0x40000000))
8998 {
8999 If ((Arg0 & 0x01))
9000 {
9001 _DCS = 0x1F
9002 }
9003 Else
9004 {
9005 _DCS = 0x1D
9006 }
9007 }
9008 Else
9009 {
9010 }
9011 }
9012 }
9013
9014 Device (CRT)
9015 {
9016 Name (_ADR, 0x0100) // _ADR: Address
9017 Name (_DCS, 0x1F) // _DCS: Display Current Status
9018 Name (_DGS, 0x01) // _DGS: Display Graphics State
9019 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
9020 {
9021 If ((Arg0 & 0x40000000))
9022 {
9023 If ((Arg0 & 0x01))
9024 {
9025 _DCS = 0x1F
9026 }
9027 Else
9028 {
9029 _DCS = 0x1D
9030 }
9031 }
9032 Else
9033 {
9034 }
9035 }
9036 }
9037
9038 Device (TV)
9039 {
9040 Name (_ADR, 0x0200) // _ADR: Address
9041 Name (_DCS, 0x0D) // _DCS: Display Current Status
9042 Name (_DGS, 0x00) // _DGS: Display Graphics State
9043 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
9044 {
9045 If ((Arg0 & 0x40000000))
9046 {
9047 If ((Arg0 & 0x01))
9048 {
9049 _DCS = 0x1F
9050 }
9051 Else
9052 {
9053 _DCS = 0x1D
9054 }
9055 }
9056 Else
9057 {
9058 }
9059 }
9060 }
9061
9062 Device (DFP1)
9063 {
9064 Name (_ADR, 0x0210) // _ADR: Address
9065 Name (_DCS, 0x1F) // _DCS: Display Current Status
9066 Name (_DGS, 0x01) // _DGS: Display Graphics State
9067 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
9068 {
9069 If ((Arg0 & 0x40000000))
9070 {
9071 If ((Arg0 & 0x01))
9072 {
9073 _DCS = 0x1F
9074 }
9075 Else
9076 {
9077 _DCS = 0x1D
9078 }
9079 }
9080 Else
9081 {
9082 }
9083 }
9084 }
9085
9086 Name (SWIT, 0x01)
9087 Name (_DOD, Package (0x04) // _DOD: Display Output Devices
9088 {
9089 0x00010100,
9090 0x00010110,
9091 0x00010200,
9092 0x00010210
9093 })
9094 Name (ATIB, Buffer (0x0100) {})
9095 Method (XTIF, 2, Serialized)
9096 {
9097 If ((Arg0 == 0x00))
9098 {
9099 Return (AF00 ())
9100 }
9101
9102 If ((Arg0 == 0x01))
9103 {
9104 Return (AF01 ())
9105 }
9106
9107 If ((Arg0 == 0x02))
9108 {
9109 Return (AF02 ())
9110 }
9111
9112 If ((Arg0 == 0x03))
9113 {
9114 Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1, 0x04))))
9115 }
9116
9117 If ((Arg0 == 0x05))
9118 {
9119 Return (AF05 ())
9120 }
9121
9122 If ((Arg0 == 0x06))
9123 {
9124 Return (AF06 (DerefOf (Index (Arg1, 0x03))))
9125 }
9126
9127 If ((Arg0 == 0x07))
9128 {
9129 Return (AF07 ())
9130 }
9131
9132 If ((Arg0 == 0x08))
9133 {
9134 Return (AF08 (DerefOf (Index (Arg1, 0x02))))
9135 }
9136 Else
9137 {
9138 CreateWordField (ATIB, 0x00, SSZE)
9139 CreateWordField (ATIB, 0x02, VERN)
9140 CreateDWordField (ATIB, 0x04, NMSK)
9141 CreateDWordField (ATIB, 0x08, SFUN)
9142 SSZE = 0x00
9143 VERN = 0x00
9144 NMSK = 0x00
9145 SFUN = 0x00
9146 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9147 }
9148 }
9149
9150 Method (AF00, 0, NotSerialized)
9151 {
9152 CreateWordField (ATIB, 0x00, SSZE)
9153 CreateWordField (ATIB, 0x02, VERN)
9154 CreateDWordField (ATIB, 0x04, NMSK)
9155 CreateDWordField (ATIB, 0x08, SFUN)
9156 SSZE = 0x0C
9157 VERN = 0x01
9158 NMSK = 0x00
9159 MSKN = NMSK /* \_SB_.PCI0.PEG0.VGA_.AF00.NMSK */
9160 SFUN = 0x00
9161 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9162 }
9163
9164 Method (AF01, 0, NotSerialized)
9165 {
9166 CreateWordField (ATIB, 0x00, SSZE)
9167 CreateDWordField (ATIB, 0x02, VMSK)
9168 CreateDWordField (ATIB, 0x06, FLGS)
9169 SSZE = 0x0A
9170 VMSK = 0x03
9171 FLGS = 0x01
9172 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9173 }
9174
9175 Name (PSBR, Buffer (0x04)
9176 {
9177 0x00, 0x00, 0x00, 0x00 /* .... */
9178 })
9179 Name (MSKN, 0x00)
9180 Name (SEXM, 0x00)
9181 Name (STHG, 0x00)
9182 Name (STHI, 0x00)
9183 Name (SFPG, 0x00)
9184 Name (SFPI, 0x00)
9185 Name (SSPS, 0x00)
9186 Name (SSDM, 0x0A)
9187 Name (SCDY, 0x00)
9188 Name (SACT, Buffer (0x06)
9189 {
9190 0x01, 0x02, 0x08, 0x03, 0x09, 0x0A /* ...... */
9191 })
9192 Method (AF02, 0, NotSerialized)
9193 {
9194 CreateBitField (PSBR, 0x00, PDSW)
9195 CreateBitField (PSBR, 0x01, PEXM)
9196 CreateBitField (PSBR, 0x02, PTHR)
9197 CreateBitField (PSBR, 0x03, PFPS)
9198 CreateBitField (PSBR, 0x04, PSPS)
9199 CreateBitField (PSBR, 0x05, PDCC)
9200 CreateWordField (ATIB, 0x00, SSZE)
9201 CreateDWordField (ATIB, 0x02, PSBI)
9202 CreateByteField (ATIB, 0x06, EXPM)
9203 CreateByteField (ATIB, 0x07, THRM)
9204 CreateByteField (ATIB, 0x08, THID)
9205 CreateByteField (ATIB, 0x09, FPWR)
9206 CreateByteField (ATIB, 0x0A, FPID)
9207 CreateByteField (ATIB, 0x0B, SPWR)
9208 SSZE = 0x0C
9209 PSBI = PSBR /* \_SB_.PCI0.PEG0.VGA_.PSBR */
9210 If (PDSW)
9211 {
9212 PDSW = Zero
9213 }
9214
9215 If (PEXM)
9216 {
9217 EXPM = SEXM /* \_SB_.PCI0.PEG0.VGA_.SEXM */
9218 SEXM = Zero
9219 PEXM = Zero
9220 }
9221
9222 If (PTHR)
9223 {
9224 THRM = STHG /* \_SB_.PCI0.PEG0.VGA_.STHG */
9225 THID = STHI /* \_SB_.PCI0.PEG0.VGA_.STHI */
9226 STHG = Zero
9227 STHI = Zero
9228 PTHR = Zero
9229 }
9230
9231 If (PFPS)
9232 {
9233 FPWR = SFPG /* \_SB_.PCI0.PEG0.VGA_.SFPG */
9234 FPWR = SFPI /* \_SB_.PCI0.PEG0.VGA_.SFPI */
9235 SFPG = Zero
9236 SFPI = Zero
9237 PFPS = Zero
9238 }
9239
9240 If (PSPS)
9241 {
9242 SPWR = SSPS /* \_SB_.PCI0.PEG0.VGA_.SSPS */
9243 PSPS = Zero
9244 }
9245
9246 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9247 }
9248
9249 Method (AF03, 2, NotSerialized)
9250 {
9251 CreateWordField (ATIB, 0x00, SSZE)
9252 CreateWordField (ATIB, 0x02, SSDP)
9253 CreateWordField (ATIB, 0x04, SCDP)
9254 SSDP = Arg0
9255 SCDP = Arg1
9256 Name (NXTD, 0x06)
9257 Name (CIDX, 0x06)
9258 Local1 = SSDP /* \_SB_.PCI0.PEG0.VGA_.AF03.SSDP */
9259 Local1 &= 0x0B
9260 Local2 = SCDP /* \_SB_.PCI0.PEG0.VGA_.AF03.SCDP */
9261 If (CondRefOf (\_SB.LID._LID, Local4))
9262 {
9263 Local2 &= ~0x01
9264 }
9265 Else
9266 {
9267 Local2 |= 0x01
9268 }
9269
9270 Local0 = Zero
9271 While ((Local0 < SizeOf (SACT)))
9272 {
9273 Local3 = DerefOf (Index (SACT, Local0))
9274 If ((Local3 == Local1))
9275 {
9276 CIDX = Local0
9277 Local0 = SizeOf (SACT)
9278 }
9279 Else
9280 {
9281 Local0++
9282 }
9283 }
9284
9285 Local0 = CIDX /* \_SB_.PCI0.PEG0.VGA_.AF03.CIDX */
9286 While ((Local0 < SizeOf (SACT)))
9287 {
9288 Local0++
9289 If ((Local0 == SizeOf (SACT)))
9290 {
9291 Local0 = 0x00
9292 }
9293
9294 Local3 = DerefOf (Index (SACT, Local0))
9295 If (((Local3 & Local2) == Local3))
9296 {
9297 NXTD = Local0
9298 Local0 = SizeOf (SACT)
9299 }
9300 }
9301
9302 If ((NXTD == SizeOf (SACT)))
9303 {
9304 SSDP = Zero
9305 }
9306 Else
9307 {
9308 Local0 = NXTD /* \_SB_.PCI0.PEG0.VGA_.AF03.NXTD */
9309 Local3 = DerefOf (Index (SACT, Local0))
9310 SSDP &= ~0x0B
9311 SSDP |= Local3
9312 }
9313
9314 SSZE = 0x04
9315 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9316 }
9317
9318 Method (AF05, 0, NotSerialized)
9319 {
9320 CreateWordField (ATIB, 0x00, SSZE)
9321 CreateByteField (ATIB, 0x02, TSEF)
9322 CreateByteField (ATIB, 0x03, TVIF)
9323 SSZE = 0x04
9324 TSEF = 0x00
9325 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9326 }
9327
9328 Method (AF06, 1, NotSerialized)
9329 {
9330 CreateWordField (ATIB, 0x00, SSZE)
9331 CreateByteField (ATIB, 0x02, TSEF)
9332 CreateByteField (ATIB, 0x03, TVIF)
9333 SSZE = 0x04
9334 TSEF = 0x00
9335 TVIF = Arg0
9336 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9337 }
9338
9339 Method (AF07, 0, NotSerialized)
9340 {
9341 CreateWordField (ATIB, 0x00, SSZE)
9342 CreateByteField (ATIB, 0x02, XMOD)
9343 SSZE = 0x03
9344 XMOD = 0x00
9345 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9346 }
9347
9348 Method (AF08, 1, NotSerialized)
9349 {
9350 CreateWordField (ATIB, 0x00, SSZE)
9351 CreateByteField (ATIB, 0x02, XMOD)
9352 SSZE = 0x03
9353 XMOD = Arg0
9354 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */
9355 }
9356
9357 Method (AFN0, 0, Serialized)
9358 {
9359 If ((MSKN & 0x01))
9360 {
9361 CreateBitField (PSBR, 0x00, PDSW)
9362 PDSW = One
9363 Notify (VGA, 0x81) // Information Change
9364 }
9365 }
9366
9367 Method (AFN1, 1, Serialized)
9368 {
9369 If ((MSKN & 0x02))
9370 {
9371 Local0 = Arg0
9372 Local0 &= 0x03
9373 SEXM = Local0
9374 CreateBitField (PSBR, 0x01, PEXM)
9375 PEXM = One
9376 Notify (VGA, 0x81) // Information Change
9377 }
9378 }
9379
9380 Method (AFN2, 2, Serialized)
9381 {
9382 If ((MSKN & 0x04))
9383 {
9384 Local0 = Arg0
9385 STHI = Local0
9386 Local0 = Arg1
9387 STHG = Local0 &= 0x03
9388 CreateBitField (PSBR, 0x02, PTHS)
9389 PTHS = One
9390 Notify (VGA, 0x81) // Information Change
9391 }
9392 }
9393
9394 Method (AFN3, 2, Serialized)
9395 {
9396 If ((MSKN & 0x08))
9397 {
9398 Local0 = Arg0
9399 SFPI = Local0
9400 Local0 = Arg1
9401 SFPG = Local0 &= 0x03
9402 CreateBitField (PSBR, 0x03, PFPS)
9403 PFPS = One
9404 Notify (VGA, 0x81) // Information Change
9405 }
9406 }
9407
9408 Method (AFN4, 1, Serialized)
9409 {
9410 If ((MSKN & 0x10))
9411 {
9412 Local0 = Arg0
9413 Local1 = SSPS /* \_SB_.PCI0.PEG0.VGA_.SSPS */
9414 SSPS = Local0
9415 If ((Local0 == Local1)) {}
9416 Else
9417 {
9418 CreateBitField (PSBR, 0x04, PSPS)
9419 PSPS = One
9420 Notify (VGA, 0x81) // Information Change
9421 }
9422 }
9423 }
9424
9425 Method (AFN5, 0, Serialized)
9426 {
9427 If ((MSKN & 0x20))
9428 {
9429 CreateBitField (PSBR, 0x05, PDCC)
9430 PDCC = One
9431 Notify (VGA, 0x81) // Information Change
9432 }
9433 }
9434 }
9435 }
9436
9437 Scope (\_PR.CPU0)
9438 {
9439 Name (_PPC, Zero) // _PPC: Performance Present Capabilities
9440 Method (_PCT, 0, NotSerialized) // _PCT: Performance Control
9441 {
9442 \DBGC (0xC5, Zero, BCEN)
9443 If (((CFGD & One) && (PDC0 & One)))
9444 {
9445 \DBGC (0xC5, 0x80, BCEN)
9446 Return (Package (0x02)
9447 {
9448 ResourceTemplate ()
9449 {
9450 Register (FFixedHW,
9451 0x00, // Bit Width
9452 0x00, // Bit Offset
9453 0x0000000000000000, // Address
9454 ,)
9455 },
9456
9457 ResourceTemplate ()
9458 {
9459 Register (FFixedHW,
9460 0x00, // Bit Width
9461 0x00, // Bit Offset
9462 0x0000000000000000, // Address
9463 ,)
9464 }
9465 })
9466 }
9467
9468 \DBGC (0xC5, 0x81, BCEN)
9469 Return (Package (0x02)
9470 {
9471 ResourceTemplate ()
9472 {
9473 Register (SystemIO,
9474 0x10, // Bit Width
9475 0x00, // Bit Offset
9476 0x0000000000001000, // Address
9477 ,)
9478 },
9479
9480 ResourceTemplate ()
9481 {
9482 Register (SystemIO,
9483 0x08, // Bit Width
9484 0x00, // Bit Offset
9485 0x00000000000000B3, // Address
9486 ,)
9487 }
9488 })
9489 }
9490
9491 Method (XPSS, 0, NotSerialized)
9492 {
9493 \DBGC (0xC6, Zero, BCEN)
9494 If ((PDC0 & One))
9495 {
9496 \DBGC (0xC6, 0x80, BCEN)
9497 Return (NPSS) /* External reference */
9498 }
9499
9500 \DBGC (0xC6, 0x81, BCEN)
9501 Return (SPSS) /* \_PR_.CPU0.SPSS */
9502 }
9503
9504 Name (SPSS, Package (0x08)
9505 {
9506 Package (0x06)
9507 {
9508 0x000008FD,
9509 0x000088B8,
9510 0x0000006E,
9511 0x0000000A,
9512 0x00000083,
9513 0x00000000
9514 },
9515
9516 Package (0x06)
9517 {
9518 0x000008FC,
9519 0x000088B8,
9520 0x0000006E,
9521 0x0000000A,
9522 0x00000183,
9523 0x00000001
9524 },
9525
9526 Package (0x06)
9527 {
9528 0x00000708,
9529 0x000064A6,
9530 0x0000006E,
9531 0x0000000A,
9532 0x00000283,
9533 0x00000002
9534 },
9535
9536 Package (0x06)
9537 {
9538 0x00000640,
9539 0x000056F9,
9540 0x0000006E,
9541 0x0000000A,
9542 0x00000383,
9543 0x00000003
9544 },
9545
9546 Package (0x06)
9547 {
9548 0x00000578,
9549 0x000049D8,
9550 0x0000006E,
9551 0x0000000A,
9552 0x00000483,
9553 0x00000004
9554 },
9555
9556 Package (0x06)
9557 {
9558 0x000004B0,
9559 0x00003E7C,
9560 0x0000006E,
9561 0x0000000A,
9562 0x00000583,
9563 0x00000005
9564 },
9565
9566 Package (0x06)
9567 {
9568 0x000003E8,
9569 0x0000326B,
9570 0x0000006E,
9571 0x0000000A,
9572 0x00000683,
9573 0x00000006
9574 },
9575
9576 Package (0x06)
9577 {
9578 0x00000320,
9579 0x000026E4,
9580 0x0000006E,
9581 0x0000000A,
9582 0x00000783,
9583 0x00000007
9584 }
9585 })
9586 Package (0x06)
9587 {
9588 0x80000000,
9589 0x80000000,
9590 0x80000000,
9591 0x80000000,
9592 0x80000000,
9593 0x80000000
9594 }
9595
9596 Package (0x06)
9597 {
9598 0x80000000,
9599 0x80000000,
9600 0x80000000,
9601 0x80000000,
9602 0x80000000,
9603 0x80000000
9604 }
9605
9606 Package (0x06)
9607 {
9608 0x80000000,
9609 0x80000000,
9610 0x80000000,
9611 0x80000000,
9612 0x80000000,
9613 0x80000000
9614 }
9615
9616 Package (0x06)
9617 {
9618 0x80000000,
9619 0x80000000,
9620 0x80000000,
9621 0x80000000,
9622 0x80000000,
9623 0x80000000
9624 }
9625
9626 Package (0x06)
9627 {
9628 0x80000000,
9629 0x80000000,
9630 0x80000000,
9631 0x80000000,
9632 0x80000000,
9633 0x80000000
9634 }
9635
9636 Package (0x06)
9637 {
9638 0x80000000,
9639 0x80000000,
9640 0x80000000,
9641 0x80000000,
9642 0x80000000,
9643 0x80000000
9644 }
9645
9646 Package (0x06)
9647 {
9648 0x80000000,
9649 0x80000000,
9650 0x80000000,
9651 0x80000000,
9652 0x80000000,
9653 0x80000000
9654 }
9655
9656 Package (0x06)
9657 {
9658 0x80000000,
9659 0x80000000,
9660 0x80000000,
9661 0x80000000,
9662 0x80000000,
9663 0x80000000
9664 }
9665
9666 Package (0x06)
9667 {
9668 0x80000000,
9669 0x80000000,
9670 0x80000000,
9671 0x80000000,
9672 0x80000000,
9673 0x80000000
9674 }
9675
9676 Package (0x06)
9677 {
9678 0x80000000,
9679 0x80000000,
9680 0x80000000,
9681 0x80000000,
9682 0x80000000,
9683 0x80000000
9684 }
9685
9686 Package (0x06)
9687 {
9688 0x80000000,
9689 0x80000000,
9690 0x80000000,
9691 0x80000000,
9692 0x80000000,
9693 0x80000000
9694 }
9695
9696 Package (0x06)
9697 {
9698 0x80000000,
9699 0x80000000,
9700 0x80000000,
9701 0x80000000,
9702 0x80000000,
9703 0x80000000
9704 }
9705
9706 Package (0x06)
9707 {
9708 0x80000000,
9709 0x80000000,
9710 0x80000000,
9711 0x80000000,
9712 0x80000000,
9713 0x80000000
9714 }
9715
9716 Package (0x06)
9717 {
9718 0x80000000,
9719 0x80000000,
9720 0x80000000,
9721 0x80000000,
9722 0x80000000,
9723 0x80000000
9724 }
9725
9726 Package (0x06)
9727 {
9728 0x80000000,
9729 0x80000000,
9730 0x80000000,
9731 0x80000000,
9732 0x80000000,
9733 0x80000000
9734 }
9735
9736 Package (0x06)
9737 {
9738 0x80000000,
9739 0x80000000,
9740 0x80000000,
9741 0x80000000,
9742 0x80000000,
9743 0x80000000
9744 }
9745
9746 Name (_PSS, Package (0x08) // _PSS: Performance Supported States
9747 {
9748 Package (0x06)
9749 {
9750 0x000008FD,
9751 0x000088B8,
9752 0x0000000A,
9753 0x0000000A,
9754 0x00001D00,
9755 0x00001D00
9756 },
9757
9758 Package (0x06)
9759 {
9760 0x000008FC,
9761 0x000088B8,
9762 0x0000000A,
9763 0x0000000A,
9764 0x00001700,
9765 0x00001700
9766 },
9767
9768 Package (0x06)
9769 {
9770 0x00000708,
9771 0x000064A6,
9772 0x0000000A,
9773 0x0000000A,
9774 0x00001200,
9775 0x00001200
9776 },
9777
9778 Package (0x06)
9779 {
9780 0x00000640,
9781 0x000056F9,
9782 0x0000000A,
9783 0x0000000A,
9784 0x00001000,
9785 0x00001000
9786 },
9787
9788 Package (0x06)
9789 {
9790 0x00000578,
9791 0x000049D8,
9792 0x0000000A,
9793 0x0000000A,
9794 0x00000E00,
9795 0x00000E00
9796 },
9797
9798 Package (0x06)
9799 {
9800 0x000004B0,
9801 0x00003E7C,
9802 0x0000000A,
9803 0x0000000A,
9804 0x00000C00,
9805 0x00000C00
9806 },
9807
9808 Package (0x06)
9809 {
9810 0x000003E8,
9811 0x0000326B,
9812 0x0000000A,
9813 0x0000000A,
9814 0x00000A00,
9815 0x00000A00
9816 },
9817
9818 Package (0x06)
9819 {
9820 0x00000320,
9821 0x000026E4,
9822 0x0000000A,
9823 0x0000000A,
9824 0x00000800,
9825 0x00000800
9826 }
9827 })
9828 Package (0x06)
9829 {
9830 0x80000000,
9831 0x80000000,
9832 0x80000000,
9833 0x80000000,
9834 0x80000000,
9835 0x80000000
9836 }
9837
9838 Package (0x06)
9839 {
9840 0x80000000,
9841 0x80000000,
9842 0x80000000,
9843 0x80000000,
9844 0x80000000,
9845 0x80000000
9846 }
9847
9848 Package (0x06)
9849 {
9850 0x80000000,
9851 0x80000000,
9852 0x80000000,
9853 0x80000000,
9854 0x80000000,
9855 0x80000000
9856 }
9857
9858 Package (0x06)
9859 {
9860 0x80000000,
9861 0x80000000,
9862 0x80000000,
9863 0x80000000,
9864 0x80000000,
9865 0x80000000
9866 }
9867
9868 Package (0x06)
9869 {
9870 0x80000000,
9871 0x80000000,
9872 0x80000000,
9873 0x80000000,
9874 0x80000000,
9875 0x80000000
9876 }
9877
9878 Package (0x06)
9879 {
9880 0x80000000,
9881 0x80000000,
9882 0x80000000,
9883 0x80000000,
9884 0x80000000,
9885 0x80000000
9886 }
9887
9888 Package (0x06)
9889 {
9890 0x80000000,
9891 0x80000000,
9892 0x80000000,
9893 0x80000000,
9894 0x80000000,
9895 0x80000000
9896 }
9897
9898 Package (0x06)
9899 {
9900 0x80000000,
9901 0x80000000,
9902 0x80000000,
9903 0x80000000,
9904 0x80000000,
9905 0x80000000
9906 }
9907
9908 Package (0x06)
9909 {
9910 0x80000000,
9911 0x80000000,
9912 0x80000000,
9913 0x80000000,
9914 0x80000000,
9915 0x80000000
9916 }
9917
9918 Package (0x06)
9919 {
9920 0x80000000,
9921 0x80000000,
9922 0x80000000,
9923 0x80000000,
9924 0x80000000,
9925 0x80000000
9926 }
9927
9928 Package (0x06)
9929 {
9930 0x80000000,
9931 0x80000000,
9932 0x80000000,
9933 0x80000000,
9934 0x80000000,
9935 0x80000000
9936 }
9937
9938 Package (0x06)
9939 {
9940 0x80000000,
9941 0x80000000,
9942 0x80000000,
9943 0x80000000,
9944 0x80000000,
9945 0x80000000
9946 }
9947
9948 Package (0x06)
9949 {
9950 0x80000000,
9951 0x80000000,
9952 0x80000000,
9953 0x80000000,
9954 0x80000000,
9955 0x80000000
9956 }
9957
9958 Package (0x06)
9959 {
9960 0x80000000,
9961 0x80000000,
9962 0x80000000,
9963 0x80000000,
9964 0x80000000,
9965 0x80000000
9966 }
9967
9968 Package (0x06)
9969 {
9970 0x80000000,
9971 0x80000000,
9972 0x80000000,
9973 0x80000000,
9974 0x80000000,
9975 0x80000000
9976 }
9977
9978 Package (0x06)
9979 {
9980 0x80000000,
9981 0x80000000,
9982 0x80000000,
9983 0x80000000,
9984 0x80000000,
9985 0x80000000
9986 }
9987
9988 Name (PSDF, Zero)
9989 Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies
9990 {
9991 \DBGC (0xC7, Zero, BCEN)
9992 If (!PSDF)
9993 {
9994 Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */
9995 Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */
9996 PSDF = Ones
9997 }
9998
9999 If ((PDC0 & 0x0800))
10000 {
10001 \DBGC (0xC7, 0x80, BCEN)
10002 Return (HPSD) /* \_PR_.CPU0.HPSD */
10003 }
10004
10005 \DBGC (0xC7, 0x81, BCEN)
10006 Return (SPSD) /* \_PR_.CPU0.SPSD */
10007 }
10008
10009 Name (HPSD, Package (0x01)
10010 {
10011 Package (0x05)
10012 {
10013 0x05,
10014 Zero,
10015 Zero,
10016 0xFE,
10017 0x80
10018 }
10019 })
10020 Name (SPSD, Package (0x01)
10021 {
10022 Package (0x05)
10023 {
10024 0x05,
10025 Zero,
10026 Zero,
10027 0xFC,
10028 0x80
10029 }
10030 })
10031 }
10032
10033 Scope (\)
10034 {
10035 Name (SSDT, Package (0x0C)
10036 {
10037 "CPU0IST ",
10038 0x01802018,
10039 0x000007F3,
10040 "APIST ",
10041 0xDADBDA98,
10042 0x00000303,
10043 "CPU0CST ",
10044 0xDADBC718,
10045 0x0000067C,
10046 "APCST ",
10047 0xDADBBD98,
10048 0x00000119
10049 })
10050 Name (CFGD, 0x0070F6FF)
10051 Name (\PDC0, 0x80000000)
10052 Name (\PDC1, 0x80000000)
10053 Name (\PDC2, 0x80000000)
10054 Name (\PDC3, 0x80000000)
10055 Name (\PDC4, 0x80000000)
10056 Name (\PDC5, 0x80000000)
10057 Name (\PDC6, 0x80000000)
10058 Name (\PDC7, 0x80000000)
10059 Name (\SDTL, Zero)
10060 }
10061
10062 Scope (\_PR.CPU0)
10063 {
10064 Name (HI0, Zero)
10065 Name (HC0, Zero)
10066 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10067 {
10068 \DBGC (0xCB, Zero, BCEN)
10069 Local0 = CPDC (Arg0)
10070 GCAP (Local0)
10071 \DBGC (0xCB, 0x80, BCEN)
10072 Return (Local0)
10073 }
10074
10075 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10076 {
10077 \DBGC (0xCB, One, BCEN)
10078 Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
10079 GCAP (Local0)
10080 \DBGC (0xCB, 0x81, BCEN)
10081 Return (Local0)
10082 }
10083
10084 Method (CPDC, 1, NotSerialized)
10085 {
10086 \DBGC (0xCB, 0x02, BCEN)
10087 CreateDWordField (Arg0, Zero, REVS)
10088 CreateDWordField (Arg0, 0x04, SIZE)
10089 Local0 = SizeOf (Arg0)
10090 Local1 = (Local0 - 0x08)
10091 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
10092 Name (STS0, Buffer (0x04)
10093 {
10094 0x00, 0x00, 0x00, 0x00 /* .... */
10095 })
10096 Concatenate (STS0, TEMP, Local2)
10097 \DBGC (0xCB, 0x82, BCEN)
10098 Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
10099 }
10100
10101 Method (COSC, 4, NotSerialized)
10102 {
10103 \DBGC (0xCB, 0x03, BCEN)
10104 CreateDWordField (Arg3, Zero, STS0)
10105 CreateDWordField (Arg3, 0x04, CAP0)
10106 CreateDWordField (Arg0, Zero, IID0)
10107 CreateDWordField (Arg0, 0x04, IID1)
10108 CreateDWordField (Arg0, 0x08, IID2)
10109 CreateDWordField (Arg0, 0x0C, IID3)
10110 Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
10111 CreateDWordField (UID0, Zero, EID0)
10112 CreateDWordField (UID0, 0x04, EID1)
10113 CreateDWordField (UID0, 0x08, EID2)
10114 CreateDWordField (UID0, 0x0C, EID3)
10115 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
10116 IID2 == EID2) && (IID3 == EID3))))
10117 {
10118 STS0 = 0x06
10119 \DBGC (0xCB, 0x83, BCEN)
10120 Return (Arg3)
10121 }
10122
10123 If ((Arg1 != One))
10124 {
10125 STS0 = 0x0A
10126 \DBGC (0xCB, 0x84, BCEN)
10127 Return (Arg3)
10128 }
10129
10130 \DBGC (0xCB, 0x85, BCEN)
10131 Return (Arg3)
10132 }
10133
10134 Method (GCAP, 1, NotSerialized)
10135 {
10136 \DBGC (0xCB, 0x06, BCEN)
10137 CreateDWordField (Arg0, Zero, STS0)
10138 CreateDWordField (Arg0, 0x04, CAP0)
10139 If (((STS0 == 0x06) || (STS0 == 0x0A)))
10140 {
10141 \DBGC (0xCB, 0x86, BCEN)
10142 Return (Zero)
10143 }
10144
10145 If ((STS0 & One))
10146 {
10147 CAP0 &= 0x0BFF
10148 \DBGC (0xCB, 0x87, BCEN)
10149 Return (Zero)
10150 }
10151
10152 PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
10153 If ((CFGD & 0x3E))
10154 {
10155 If ((((CFGD & 0x0400) && (PDC0 & 0x18)) && !
10156 (SDTL & 0x02)))
10157 {
10158 SDTL |= 0x02
10159 OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
10160 Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
10161 }
10162 }
10163
10164 \DBGC (0xCB, 0x88, BCEN)
10165 Return (Zero)
10166 }
10167 }
10168
10169 Scope (\_PR.CPU1)
10170 {
10171 Name (HI1, Zero)
10172 Name (HC1, Zero)
10173 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10174 {
10175 Local0 = \_PR.CPU0.CPDC (Arg0)
10176 GCAP (Local0)
10177 Return (Local0)
10178 }
10179
10180 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10181 {
10182 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10183 GCAP (Local0)
10184 Return (Local0)
10185 }
10186
10187 Method (GCAP, 1, NotSerialized)
10188 {
10189 CreateDWordField (Arg0, Zero, STS1)
10190 CreateDWordField (Arg0, 0x04, CAP1)
10191 If (((STS1 == 0x06) || (STS1 == 0x0A)))
10192 {
10193 Return (Zero)
10194 }
10195
10196 If ((STS1 & One))
10197 {
10198 CAP1 &= 0x0BFF
10199 Return (Zero)
10200 }
10201
10202 PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
10203 If (((PDC0 & 0x09) == 0x09))
10204 {
10205 APPT ()
10206 }
10207
10208 If ((PDC0 & 0x18))
10209 {
10210 APCT ()
10211 }
10212
10213 Return (Zero)
10214 }
10215
10216 Method (APCT, 0, NotSerialized)
10217 {
10218 If (((CFGD & 0x2E) && !(SDTL & 0x20)))
10219 {
10220 SDTL |= 0x20
10221 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
10222 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
10223 }
10224 }
10225
10226 Method (APPT, 0, NotSerialized)
10227 {
10228 If (((CFGD & One) && !(SDTL & 0x10)))
10229 {
10230 SDTL |= 0x10
10231 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
10232 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
10233 }
10234 }
10235 }
10236
10237 Scope (\_PR.CPU2)
10238 {
10239 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10240 {
10241 Local0 = \_PR.CPU0.CPDC (Arg0)
10242 GCAP (Local0)
10243 Return (Local0)
10244 }
10245
10246 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10247 {
10248 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10249 GCAP (Local0)
10250 Return (Local0)
10251 }
10252
10253 Method (GCAP, 1, NotSerialized)
10254 {
10255 CreateDWordField (Arg0, Zero, STS2)
10256 CreateDWordField (Arg0, 0x04, CAP2)
10257 If (((STS2 == 0x06) || (STS2 == 0x0A)))
10258 {
10259 Return (Zero)
10260 }
10261
10262 If ((STS2 & One))
10263 {
10264 CAP2 &= 0x0BFF
10265 Return (Zero)
10266 }
10267
10268 PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
10269 If (((PDC2 & 0x09) == 0x09))
10270 {
10271 \_PR.CPU1.APPT ()
10272 }
10273
10274 If ((PDC2 & 0x18))
10275 {
10276 \_PR.CPU1.APCT ()
10277 }
10278
10279 Return (Zero)
10280 }
10281 }
10282
10283 Scope (\_PR.CPU3)
10284 {
10285 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10286 {
10287 Local0 = \_PR.CPU0.CPDC (Arg0)
10288 GCAP (Local0)
10289 Return (Local0)
10290 }
10291
10292 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10293 {
10294 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10295 GCAP (Local0)
10296 Return (Local0)
10297 }
10298
10299 Method (GCAP, 1, NotSerialized)
10300 {
10301 CreateDWordField (Arg0, Zero, STS3)
10302 CreateDWordField (Arg0, 0x04, CAP3)
10303 If (((STS3 == 0x06) || (STS3 == 0x0A)))
10304 {
10305 Return (Zero)
10306 }
10307
10308 If ((STS3 & One))
10309 {
10310 CAP3 &= 0x0BFF
10311 Return (Zero)
10312 }
10313
10314 PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
10315 If (((PDC3 & 0x09) == 0x09))
10316 {
10317 \_PR.CPU1.APPT ()
10318 }
10319
10320 If ((PDC3 & 0x18))
10321 {
10322 \_PR.CPU1.APCT ()
10323 }
10324
10325 Return (Zero)
10326 }
10327 }
10328
10329 Scope (\_PR.CPU4)
10330 {
10331 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10332 {
10333 Local0 = \_PR.CPU0.CPDC (Arg0)
10334 GCAP (Local0)
10335 Return (Local0)
10336 }
10337
10338 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10339 {
10340 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10341 GCAP (Local0)
10342 Return (Local0)
10343 }
10344
10345 Method (GCAP, 1, NotSerialized)
10346 {
10347 CreateDWordField (Arg0, Zero, STS4)
10348 CreateDWordField (Arg0, 0x04, CAP4)
10349 If (((STS4 == 0x06) || (STS4 == 0x0A)))
10350 {
10351 Return (Zero)
10352 }
10353
10354 If ((STS4 & One))
10355 {
10356 CAP4 &= 0x0BFF
10357 Return (Zero)
10358 }
10359
10360 PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
10361 If (((PDC4 & 0x09) == 0x09))
10362 {
10363 \_PR.CPU1.APPT ()
10364 }
10365
10366 If ((PDC4 & 0x18))
10367 {
10368 \_PR.CPU1.APCT ()
10369 }
10370
10371 Return (Zero)
10372 }
10373 }
10374
10375 Scope (\_PR.CPU5)
10376 {
10377 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10378 {
10379 Local0 = \_PR.CPU0.CPDC (Arg0)
10380 GCAP (Local0)
10381 Return (Local0)
10382 }
10383
10384 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10385 {
10386 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10387 GCAP (Local0)
10388 Return (Local0)
10389 }
10390
10391 Method (GCAP, 1, NotSerialized)
10392 {
10393 CreateDWordField (Arg0, Zero, STS5)
10394 CreateDWordField (Arg0, 0x04, CAP5)
10395 If (((STS5 == 0x06) || (STS5 == 0x0A)))
10396 {
10397 Return (Zero)
10398 }
10399
10400 If ((STS5 & One))
10401 {
10402 CAP5 &= 0x0BFF
10403 Return (Zero)
10404 }
10405
10406 PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
10407 If (((PDC5 & 0x09) == 0x09))
10408 {
10409 \_PR.CPU1.APPT ()
10410 }
10411
10412 If ((PDC5 & 0x18))
10413 {
10414 \_PR.CPU1.APCT ()
10415 }
10416
10417 Return (Zero)
10418 }
10419 }
10420
10421 Scope (\_PR.CPU6)
10422 {
10423 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10424 {
10425 Local0 = \_PR.CPU0.CPDC (Arg0)
10426 GCAP (Local0)
10427 Return (Local0)
10428 }
10429
10430 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10431 {
10432 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10433 GCAP (Local0)
10434 Return (Local0)
10435 }
10436
10437 Method (GCAP, 1, NotSerialized)
10438 {
10439 CreateDWordField (Arg0, Zero, STS6)
10440 CreateDWordField (Arg0, 0x04, CAP6)
10441 If (((STS6 == 0x06) || (STS6 == 0x0A)))
10442 {
10443 Return (Zero)
10444 }
10445
10446 If ((STS6 & One))
10447 {
10448 CAP6 &= 0x0BFF
10449 Return (Zero)
10450 }
10451
10452 PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
10453 If (((PDC6 & 0x09) == 0x09))
10454 {
10455 \_PR.CPU1.APPT ()
10456 }
10457
10458 If ((PDC6 & 0x18))
10459 {
10460 \_PR.CPU1.APCT ()
10461 }
10462
10463 Return (Zero)
10464 }
10465 }
10466
10467 Scope (\_PR.CPU7)
10468 {
10469 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
10470 {
10471 Local0 = \_PR.CPU0.CPDC (Arg0)
10472 GCAP (Local0)
10473 Return (Local0)
10474 }
10475
10476 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
10477 {
10478 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
10479 GCAP (Local0)
10480 Return (Local0)
10481 }
10482
10483 Method (GCAP, 1, NotSerialized)
10484 {
10485 CreateDWordField (Arg0, Zero, STS7)
10486 CreateDWordField (Arg0, 0x04, CAP7)
10487 If (((STS7 == 0x06) || (STS7 == 0x0A)))
10488 {
10489 Return (Zero)
10490 }
10491
10492 If ((STS7 & One))
10493 {
10494 CAP7 &= 0x0BFF
10495 Return (Zero)
10496 }
10497
10498 PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
10499 If (((PDC7 & 0x09) == 0x09))
10500 {
10501 \_PR.CPU1.APPT ()
10502 }
10503
10504 If ((PDC7 & 0x18))
10505 {
10506 \_PR.CPU1.APCT ()
10507 }
10508
10509 Return (Zero)
10510 }
10511 }
10512
10513 Scope (\)
10514 {
10515 Name (STFE, Buffer (0x07)
10516 {
10517 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0xEF /* ....... */
10518 })
10519 Name (STFD, Buffer (0x07)
10520 {
10521 0x90, 0x06, 0x00, 0x00, 0x00, 0x00, 0xEF /* ....... */
10522 })
10523 Name (FZTF, Buffer (0x07)
10524 {
10525 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5 /* ....... */
10526 })
10527 Name (DCFL, Buffer (0x07)
10528 {
10529 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1 /* ....... */
10530 })
10531 Name (SCBF, Buffer (0x15) {})
10532 Name (CMDC, 0x00)
10533 Method (GTFB, 2, Serialized)
10534 {
10535 Local0 = (CMDC * 0x38)
10536 CreateField (SCBF, Local0, 0x38, CMDX)
10537 Local0 = (CMDC * 0x07)
10538 CreateByteField (SCBF, (Local0 + 0x01), A001)
10539 CMDX = Arg0
10540 A001 = Arg1
10541 CMDC++
10542 }
10543 }
10544
10545 Scope (\_SB.PCI0.SAT0)
10546 {
10547 Device (SPT0)
10548 {
10549 Name (_ADR, 0xFFFF) // _ADR: Address
10550 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
10551 {
10552 \DBGC (0xB8, 0x00, BCEN)
10553 CMDC = 0x00
10554 GTFB (FZTF, 0x00)
10555 \DBGC (0xB8, 0x80, BCEN)
10556 Return (SCBF) /* \SCBF */
10557 }
10558 }
10559
10560 Device (SPT1)
10561 {
10562 Method (_ADR, 0, Serialized) // _ADR: Address
10563 {
10564 \DBGC (0xB9, 0x00, BCEN)
10565 Return (0x0001FFFF)
10566 }
10567 }
10568 }
10569 }
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.