Attachment 'acpidump.txt'
Download 1 /*
2 RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2)
3 XSDT=0x00000000dcefe170, length=36, cksum=192
4 */
5 /*
6 XSDT: Length=228, Revision=1, Checksum=14,
7 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
8 Creator ID=PTEC, Creator Revision=0x2
9 Entries={ 0x00000000dcef8000, 0x00000000dcefd000, 0x00000000dcefb000, 0x00000000dcefa000, 0x00000000dcef7000, 0x00000000dcef6000, 0x00000000dcef5000, 0x00000000dcef4000, 0x00000000dcef3000, 0x00000000dcee1000, 0x00000000dcee0000, 0x00000000dcedf000, 0x00000000dcede000, 0x00000000dcedc000, 0x00000000dcedb000, 0x00000000dceda000, 0x00000000dced9000, 0x00000000dced8000, 0x00000000dce42000, 0x00000000dcefc000, 0x00000000dced7000, 0x00000000dced6000, 0x00000000dced5000, 0x00000000dced4000 }
10 */
11 /*
12 FACP: Length=268, Revision=5, Checksum=146,
13 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
14 Creator ID=PTEC, Creator Revision=0x2
15 FACS=0xdce4a000, DSDT=0xdcee2000
16 INT_MODEL=PIC
17 Preferred_PM_Profile=Mobile (2)
18 SCI_INT=9
19 SMI_CMD=0xb2, ACPI_ENABLE=0xf2, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
20 PSTATE_CNT=0xf3
21 PM1a_EVT_BLK=0x1800-0x1803
22 PM1a_CNT_BLK=0x1804-0x1805
23 PM2_CNT_BLK=0x1850-0x1850
24 PM_TMR_BLK=0x1808-0x180b
25 GPE0_BLK=0x1880-0x189f
26 CST_CNT=0xf4
27 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
28 FLUSH_SIZE=0, FLUSH_STRIDE=0
29 DUTY_OFFSET=1, DUTY_WIDTH=3
30 DAY_ALRM=13, MON_ALRM=0, CENTURY=50
31 IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM}
32 Flags={WBINVD,C1_SUPPORTED,C2_MP_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PCI_EXPRESS_WAKE}
33 RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6
34 */
35 /*
36 FACS: Length=64, HwSig=0x0000220b, Firm_Wake_Vec=0x00000000
37 Global_Lock=
38 Flags=
39 Version=2
40 */
41 /*
42 DSDT: Length=69118, Revision=1, Checksum=157,
43 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
44 Creator ID=INTL, Creator Revision=0x20120711
45 */
46 /*
47 SLIC: Length=374, Revision=1, Checksum=104,
48 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
49 Creator ID=PTEC, Creator Revision=0x1
50 */
51 /*
52 DBGP: Length=52, Revision=1, Checksum=45,
53 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
54 Creator ID=PTEC, Creator Revision=0x2
55 */
56 /*
57 ECDT: Length=82, Revision=1, Checksum=204,
58 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
59 Creator ID=PTEC, Creator Revision=0x2
60 EC_CONTROL=0x66:0[8] (IO)
61 EC_DATA=0x62:0[8] (IO)
62 UID=0, GPE_BIT=0x25
63 EC_ID=\_SB.PCI0.LPC.EC
64 */
65 /*
66 HPET: Length=56, Revision=1, Checksum=41,
67 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
68 Creator ID=PTEC, Creator Revision=0x2
69 HPET Number=0
70 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
71 Comparators=3
72 Counter Size=1
73 Legacy IRQ routing capable={TRUE}
74 PCI Vendor ID=0x8086
75 Minimal Tick=128
76 Flags=0x00
77 */
78 /*
79 APIC: Length=152, Revision=1, Checksum=97,
80 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
81 Creator ID=PTEC, Creator Revision=0x2
82 Local APIC ADDR=0xfee00000
83 Flags={PC-AT}
84
85 Type=Local APIC
86 ACPI CPU=1
87 Flags={ENABLED}
88 APIC ID=0
89
90 Type=Local APIC
91 ACPI CPU=2
92 Flags={ENABLED}
93 APIC ID=1
94
95 Type=Local APIC
96 ACPI CPU=3
97 Flags={ENABLED}
98 APIC ID=2
99
100 Type=Local APIC
101 ACPI CPU=4
102 Flags={ENABLED}
103 APIC ID=3
104
105 Type=Local APIC
106 ACPI CPU=5
107 Flags={DISABLED}
108 APIC ID=0
109
110 Type=Local APIC
111 ACPI CPU=6
112 Flags={DISABLED}
113 APIC ID=0
114
115 Type=Local APIC
116 ACPI CPU=7
117 Flags={DISABLED}
118 APIC ID=0
119
120 Type=Local APIC
121 ACPI CPU=8
122 Flags={DISABLED}
123 APIC ID=0
124
125 Type=IO APIC
126 APIC ID=2
127 INT BASE=0
128 ADDR=0x00000000fec00000
129
130 Type=INT Override
131 BUS=0
132 IRQ=0
133 INTR=2
134 Flags={Polarity=conforming, Trigger=conforming}
135
136 Type=INT Override
137 BUS=0
138 IRQ=9
139 INTR=9
140 Flags={Polarity=active-hi, Trigger=level}
141
142 Type=Local APIC NMI
143 ACPI CPU=0
144 LINT Pin=1
145 Flags={Polarity=active-hi, Trigger=edge}
146
147 Type=Local APIC NMI
148 ACPI CPU=1
149 LINT Pin=1
150 Flags={Polarity=active-hi, Trigger=edge}
151 */
152 /*
153 MCFG: Length=60, Revision=1, Checksum=250,
154 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
155 Creator ID=PTEC, Creator Revision=0x2
156
157 Base Address=0x00000000f8000000
158 Segment Group=0x0000
159 Start Bus=0
160 End Bus=63
161 */
162 /*
163 SSDT: Length=51, Revision=1, Checksum=87,
164 OEMID=LENOVO, OEM Table ID=TP-SSDT1, OEM Revision=0x100,
165 Creator ID=INTL, Creator Revision=0x20120711
166 */
167 /*
168 SSDT: Length=1158, Revision=1, Checksum=185,
169 OEMID=LENOVO, OEM Table ID=TP-SSDT2, OEM Revision=0x200,
170 Creator ID=INTL, Creator Revision=0x20120711
171 */
172 /*
173 SSDT: Length=2507, Revision=1, Checksum=48,
174 OEMID=LENOVO, OEM Table ID=SataAhci, OEM Revision=0x1000,
175 Creator ID=INTL, Creator Revision=0x20120711
176 */
177 /*
178 SSDT: Length=338, Revision=1, Checksum=160,
179 OEMID=LENOVO, OEM Table ID=Rmv_Batt, OEM Revision=0x1000,
180 Creator ID=INTL, Creator Revision=0x20120711
181 */
182 /*
183 SSDT: Length=2037, Revision=1, Checksum=139,
184 OEMID=LENOVO, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
185 Creator ID=INTL, Creator Revision=0x20120711
186 */
187 /*
188 SSDT: Length=2776, Revision=1, Checksum=199,
189 OEMID=LENOVO, OEM Table ID=CpuPm, OEM Revision=0x3000,
190 Creator ID=INTL, Creator Revision=0x20120711
191 */
192 /*
193 SSDT: Length=4700, Revision=1, Checksum=254,
194 OEMID=LENOVO, OEM Table ID=SaSsdt, OEM Revision=0x3000,
195 Creator ID=INTL, Creator Revision=0x20120711
196 */
197 /*
198 SSDT: Length=889, Revision=1, Checksum=62,
199 OEMID=LENOVO, OEM Table ID=CppcTabl, OEM Revision=0x1000,
200 Creator ID=INTL, Creator Revision=0x20120711
201 */
202 /*
203 PCCT: Length=110, Revision=5, Checksum=153,
204 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
205 Creator ID=PTEC, Creator Revision=0x2
206 */
207 /*
208 SSDT: Length=2756, Revision=1, Checksum=76,
209 OEMID=LENOVO, OEM Table ID=Cpc_Tabl, OEM Revision=0x1000,
210 Creator ID=INTL, Creator Revision=0x20120711
211 */
212 /*
213 UEFI: Length=66, Revision=1, Checksum=44,
214 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
215 Creator ID=PTEC, Creator Revision=0x2
216 */
217 /*
218 MSDM: Length=85, Revision=3, Checksum=78,
219 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
220 Creator ID=PTEC, Creator Revision=0x2
221 */
222 /*
223 ASF!: Length=165, Revision=32, Checksum=111,
224 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
225 Creator ID=PTEC, Creator Revision=0x2
226 */
227 /*
228 BATB: Length=70, Revision=1, Checksum=29,
229 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
230 Creator ID=PTEC, Creator Revision=0x2
231 */
232 /*
233 FPDT: Length=100, Revision=1, Checksum=112,
234 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
235 Creator ID=PTEC, Creator Revision=0x2
236 */
237 /*
238 UEFI: Length=758, Revision=1, Checksum=35,
239 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
240 Creator ID=PTEC, Creator Revision=0x2
241 */
242 /*
243 DMAR: Length=176, Revision=1, Checksum=218,
244 OEMID=LENOVO, OEM Table ID=TP-GJ, OEM Revision=0x2290,
245 Creator ID=PTEC, Creator Revision=0x2
246 Host Address Width=39
247 Flags={INTR_REMAP}
248
249 Type=DRHD
250 Length=24
251 Flags=
252 Segment=0
253 Address=0x00000000fed90000
254 Device Scope:
255 Type=PCI Endpoint Device
256 Length=8
257 EnumerationId=0
258 StartBusNumber=0
259 Path={2:0}
260
261 Type=DRHD
262 Length=32
263 Flags={INCLUDE_ALL}
264 Segment=0
265 Address=0x00000000fed91000
266 Device Scope:
267 Type=IOAPIC
268 Length=8
269 EnumerationId=2
270 StartBusNumber=240
271 Path={31:0}
272
273 Type=HPET
274 Length=8
275 EnumerationId=0
276 StartBusNumber=240
277 Path={15:0}
278
279 Type=RMRR
280 Length=40
281 Segment=0
282 BaseAddress=0x00000000daec1000
283 LimitAddress=0x00000000daed7fff
284 Device Scope:
285 Type=PCI Endpoint Device
286 Length=8
287 EnumerationId=0
288 StartBusNumber=0
289 Path={29:0}
290
291 Type=PCI Endpoint Device
292 Length=8
293 EnumerationId=0
294 StartBusNumber=0
295 Path={20:0}
296
297 Type=RMRR
298 Length=32
299 Segment=0
300 BaseAddress=0x00000000dd800000
301 LimitAddress=0x00000000df9fffff
302 Device Scope:
303 Type=PCI Endpoint Device
304 Length=8
305 EnumerationId=0
306 StartBusNumber=0
307 Path={2:0}
308 */
309 /*
310 * Intel ACPI Component Architecture
311 * AML/ASL+ Disassembler version 20181003 (64-bit version)
312 * Copyright (c) 2000 - 2018 Intel Corporation
313 *
314 * Disassembling to symbolic ASL+ operators
315 *
316 * Disassembly of /tmp/acpidump.YIdbjT/acpdump.din, Fri Aug 30 17:26:56 2019
317 *
318 * Original Table Header:
319 * Signature "DSDT"
320 * Length 0x00014FF6 (86006)
321 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
322 * Checksum 0x13
323 * OEM ID "LENOVO"
324 * OEM Table ID "TP-GJ "
325 * OEM Revision 0x00002290 (8848)
326 * Compiler ID "INTL"
327 * Compiler Version 0x20120711 (538052369)
328 */
329 DefinitionBlock ("", "DSDT", 1, "LENOVO", "TP-GJ ", 0x00002290)
330 {
331 /*
332 * iASL Warning: There was 1 external control method found during
333 * disassembly, but only 0 were resolved (1 unresolved). Additional
334 * ACPI tables may be required to properly disassemble the code. This
335 * resulting disassembler output file may not compile because the
336 * disassembler did not know how many arguments to assign to the
337 * unresolved methods. Note: SSDTs can be dynamically loaded at
338 * runtime and may or may not be available via the host OS.
339 *
340 * To specify the tables needed to resolve external control method
341 * references, the -e option can be used to specify the filenames.
342 * Example iASL invocations:
343 * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
344 * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
345 * iasl -e ssdt*.aml -d dsdt.aml
346 *
347 * In addition, the -fe option can be used to specify a file containing
348 * control method external declarations with the associated method
349 * argument counts. Each line of the file must be of the form:
350 * External (<method pathname>, MethodObj, <argument count>)
351 * Invocation:
352 * iasl -fe refs.txt -d dsdt.aml
353 *
354 * The following methods were unresolved and many not compile properly
355 * because the disassembler had to guess at the number of arguments
356 * required for each:
357 */
358 External (_PR_.CPU0._TSS, IntObj)
359 External (_SB_.IAOE.GAOS, UnknownObj)
360 External (_SB_.IAOE.GSWR, UnknownObj)
361 External (_SB_.PCI0.SAT1.PRIM.GTME, UnknownObj)
362 External (_SB_.PCI0.SAT1.SCND.GTME, UnknownObj)
363 External (_SB_.PCI0.SAT1.SCND.MSTR, UnknownObj)
364 External (GUAM, MethodObj) // Warning: Unknown method, guessing 1 arguments
365
366 Scope (\_PR)
367 {
368 Processor (CPU0, 0x01, 0x00001810, 0x06){}
369 Processor (CPU1, 0x02, 0x00001810, 0x06){}
370 Processor (CPU2, 0x03, 0x00001810, 0x06){}
371 Processor (CPU3, 0x04, 0x00001810, 0x06){}
372 Processor (CPU4, 0x05, 0x00001810, 0x06){}
373 Processor (CPU5, 0x06, 0x00001810, 0x06){}
374 Processor (CPU6, 0x07, 0x00001810, 0x06){}
375 Processor (CPU7, 0x08, 0x00001810, 0x06){}
376 }
377
378 Scope (\)
379 {
380 Method (PNTF, 1, NotSerialized)
381 {
382 If (((Arg0 == 0x80) && !\OSPX))
383 {
384 If ((\PPMF & 0x01))
385 {
386 If (\CPPX)
387 {
388 Notify (\_SB.PCCD, 0x82) // Device-Specific Change
389 }
390 }
391 }
392 ElseIf ((\PPMF & 0x0200))
393 {
394 If ((((PDC0 & 0x08) && ((Arg0 == 0x80) || (
395 Arg0 == 0x82))) || ((PDC0 & 0x10) && (Arg0 == 0x81))))
396 {
397 Notify (\_PR.CPU0, Arg0)
398 }
399
400 If ((((PDC1 & 0x08) && ((Arg0 == 0x80) || (
401 Arg0 == 0x82))) || ((PDC1 & 0x10) && (Arg0 == 0x81))))
402 {
403 Notify (\_PR.CPU1, Arg0)
404 }
405
406 If ((((PDC2 & 0x08) && ((Arg0 == 0x80) || (
407 Arg0 == 0x82))) || ((PDC2 & 0x10) && (Arg0 == 0x81))))
408 {
409 Notify (\_PR.CPU2, Arg0)
410 }
411
412 If ((((PDC3 & 0x08) && ((Arg0 == 0x80) || (
413 Arg0 == 0x82))) || ((PDC3 & 0x10) && (Arg0 == 0x81))))
414 {
415 Notify (\_PR.CPU3, Arg0)
416 }
417
418 If ((((PDC4 & 0x08) && ((Arg0 == 0x80) || (
419 Arg0 == 0x82))) || ((PDC4 & 0x10) && (Arg0 == 0x81))))
420 {
421 Notify (\_PR.CPU4, Arg0)
422 }
423
424 If ((((PDC5 & 0x08) && ((Arg0 == 0x80) || (
425 Arg0 == 0x82))) || ((PDC5 & 0x10) && (Arg0 == 0x81))))
426 {
427 Notify (\_PR.CPU5, Arg0)
428 }
429
430 If ((((PDC6 & 0x08) && ((Arg0 == 0x80) || (
431 Arg0 == 0x82))) || ((PDC6 & 0x10) && (Arg0 == 0x81))))
432 {
433 Notify (\_PR.CPU6, Arg0)
434 }
435
436 If ((((PDC7 & 0x08) && ((Arg0 == 0x80) || (
437 Arg0 == 0x82))) || ((PDC7 & 0x10) && (Arg0 == 0x81))))
438 {
439 Notify (\_PR.CPU7, Arg0)
440 }
441 }
442 ElseIf (((Arg0 == 0x80) || ((Arg0 == 0x81) || (Arg0 ==
443 0x82))))
444 {
445 Notify (\_PR.CPU0, Arg0)
446 }
447 }
448 }
449
450 OperationRegion (MNVS, SystemMemory, 0xDCE7D018, 0x1000)
451 Field (MNVS, DWordAcc, NoLock, Preserve)
452 {
453 Offset (0xD00),
454 GAPA, 32,
455 GAPL, 32,
456 DCKI, 32,
457 DCKS, 32,
458 VCDL, 1,
459 VCDC, 1,
460 VCDT, 1,
461 VCDD, 1,
462 , 1,
463 VCSS, 1,
464 VCDB, 1,
465 VCIN, 1,
466 VVPO, 8,
467 BRTN, 8,
468 BRLV, 8,
469 CDFL, 8,
470 CDAH, 8,
471 PMOD, 2,
472 PDIR, 1,
473 PDMA, 1,
474 Offset (0xD17),
475 LFDC, 1,
476 Offset (0xD18),
477 C2NA, 1,
478 C3NA, 1,
479 C4NA, 1,
480 C6NA, 1,
481 C7NA, 1,
482 Offset (0xD19),
483 Offset (0xD1A),
484 , 2,
485 , 1,
486 NHPS, 1,
487 NPME, 1,
488 Offset (0xD1B),
489 UOPT, 8,
490 BTID, 32,
491 DPP0, 1,
492 DPP1, 1,
493 DPP2, 1,
494 DPP3, 1,
495 DPP4, 1,
496 DPP5, 1,
497 Offset (0xD21),
498 Offset (0xD22),
499 TCRT, 16,
500 TPSV, 16,
501 TTC1, 16,
502 TTC2, 16,
503 TTSP, 16,
504 SRAH, 8,
505 SRHE, 8,
506 SRE1, 8,
507 SRE2, 8,
508 SRE3, 8,
509 SRE4, 8,
510 SRE5, 8,
511 SRE6, 8,
512 SRU1, 8,
513 SRU2, 8,
514 SRU3, 8,
515 SRU7, 8,
516 SRU4, 8,
517 SRU5, 8,
518 SRU8, 8,
519 SRPB, 8,
520 SRLP, 8,
521 SRSA, 8,
522 SRSM, 8,
523 CWAC, 1,
524 CWAS, 1,
525 CWUE, 1,
526 CWUS, 1,
527 Offset (0xD40),
528 CWAP, 16,
529 CWAT, 16,
530 DBGC, 1,
531 Offset (0xD45),
532 FS1L, 16,
533 FS1M, 16,
534 FS1H, 16,
535 FS2L, 16,
536 FS2M, 16,
537 FS2H, 16,
538 FS3L, 16,
539 FS3M, 16,
540 FS3H, 16,
541 TATC, 1,
542 , 6,
543 TATL, 1,
544 TATW, 8,
545 TNFT, 4,
546 TNTT, 4,
547 TDFA, 4,
548 TDTA, 4,
549 TDFD, 4,
550 TDTD, 4,
551 TCFA, 4,
552 TCTA, 4,
553 TCFD, 4,
554 TCTD, 4,
555 TSFT, 4,
556 TSTT, 4,
557 TIT0, 8,
558 TCR0, 16,
559 TPS0, 16,
560 TIT1, 8,
561 TCR1, 16,
562 TPS1, 16,
563 TIT2, 8,
564 TCR2, 16,
565 TPS2, 16,
566 TIF0, 8,
567 TIF1, 8,
568 TIF2, 8,
569 Offset (0xD78),
570 BTHI, 1,
571 Offset (0xD79),
572 HDIR, 1,
573 HDEH, 1,
574 HDSP, 1,
575 HDPP, 1,
576 HDUB, 1,
577 HDMC, 1,
578 NFCF, 1,
579 Offset (0xD7A),
580 TPME, 8,
581 BIDE, 4,
582 IDET, 4,
583 , 1,
584 DTSE, 1,
585 Offset (0xD7D),
586 DTS0, 8,
587 DTS1, 8,
588 DT00, 1,
589 DT01, 1,
590 DT02, 1,
591 DT03, 1,
592 Offset (0xD80),
593 LIDB, 1,
594 C4WR, 1,
595 C4AC, 1,
596 ODDX, 1,
597 CMPR, 1,
598 ILNF, 1,
599 PLUX, 1,
600 Offset (0xD81),
601 Offset (0xD8C),
602 , 4,
603 , 1,
604 IDMM, 1,
605 Offset (0xD8D),
606 , 3,
607 , 1,
608 , 1,
609 LIDS, 1,
610 Offset (0xD8E),
611 Offset (0xD8F),
612 , 4,
613 Offset (0xD90),
614 TCG0, 1,
615 TCG1, 1,
616 Offset (0xD91),
617 SWGP, 8,
618 IPMS, 8,
619 IPMB, 120,
620 IPMR, 24,
621 IPMO, 24,
622 IPMA, 8,
623 VIGD, 1,
624 VDSC, 1,
625 VMSH, 1,
626 , 1,
627 VDSP, 1,
628 Offset (0xDAA),
629 Offset (0xDAD),
630 ASFT, 8,
631 PL1L, 8,
632 PL1M, 8,
633 CHKC, 32,
634 CHKE, 32,
635 ATRB, 32,
636 Offset (0xDBD),
637 PPCR, 8,
638 TPCR, 5,
639 Offset (0xDBF),
640 Offset (0xDCE),
641 CTDP, 8,
642 PPCA, 8,
643 TPCA, 5,
644 Offset (0xDD1),
645 BFWB, 296,
646 OSPX, 1,
647 OSC4, 1,
648 CPPX, 1,
649 Offset (0xDF7),
650 SPEN, 1,
651 SCRM, 1,
652 GFPL, 1,
653 ETAU, 1,
654 IHBC, 1,
655 APMD, 1,
656 APMF, 1,
657 Offset (0xDF8),
658 FTPS, 8,
659 HIST, 8,
660 LPST, 8,
661 LWST, 8,
662 Offset (0xDFF),
663 MTAU, 8,
664 Offset (0xE20),
665 HPET, 32,
666 PKLI, 16,
667 VLCX, 16,
668 VNIT, 8,
669 VBD0, 8,
670 VBDT, 128,
671 VBPL, 16,
672 VBPH, 16,
673 VBML, 8,
674 VBMH, 8,
675 VEDI, 1024,
676 PDCI, 16,
677 ISCG, 32,
678 ISSP, 1,
679 ISWK, 2,
680 Offset (0xEC7),
681 SHA1, 160,
682 FFDT, 1,
683 Offset (0xEDC),
684 LWCP, 1,
685 LWEN, 1,
686 IOCP, 1,
687 IOEN, 1,
688 IOST, 1,
689 Offset (0xEDD),
690 USBR, 1,
691 Offset (0xEDE),
692 Offset (0xEDF),
693 Offset (0xEE1),
694 BT2T, 1,
695 Offset (0xEE2),
696 TPPP, 8,
697 TPPC, 8,
698 WKRS, 8,
699 FNWK, 8,
700 USBC, 8,
701 XHCC, 8,
702 PJCD, 8
703 }
704
705 Field (MNVS, ByteAcc, NoLock, Preserve)
706 {
707 Offset (0xB00),
708 WITM, 8,
709 WSEL, 8,
710 WLS0, 8,
711 WLS1, 8,
712 WLS2, 8,
713 WLS3, 8,
714 WLS4, 8,
715 WLS5, 8,
716 WLS6, 8,
717 WLS7, 8,
718 WLS8, 8,
719 WLS9, 8,
720 WLSA, 8,
721 WLSB, 8,
722 WLSC, 8,
723 WLSD, 8,
724 WENC, 8,
725 WKBD, 8,
726 WPTY, 8,
727 WPAS, 1032,
728 WPNW, 1032,
729 WSPM, 8,
730 WSPS, 8,
731 WSMN, 8,
732 WSMX, 8,
733 WSEN, 8,
734 WSKB, 8,
735 WASB, 8,
736 WASI, 16,
737 WASD, 8,
738 WASS, 32
739 }
740
741 Field (MNVS, ByteAcc, NoLock, Preserve)
742 {
743 Offset (0xA00),
744 DBGS, 1024
745 }
746
747 OperationRegion (GNVS, SystemMemory, 0xDCE4BC18, 0x02B0)
748 Field (GNVS, AnyAcc, Lock, Preserve)
749 {
750 OSYS, 16,
751 SMIF, 8,
752 PRM0, 8,
753 PRM1, 8,
754 Offset (0x0F),
755 PWRS, 8,
756 Offset (0x1E),
757 Offset (0x25),
758 REVN, 8,
759 IFFS, 8,
760 Offset (0x28),
761 APIC, 8,
762 TCNT, 8,
763 PCP0, 8,
764 PCP1, 8,
765 PPCM, 8,
766 PPMF, 32,
767 C67L, 8,
768 Offset (0x47),
769 TPMP, 8,
770 MORD, 8,
771 TCGP, 8,
772 PPRP, 32,
773 PPRQ, 8,
774 LPPR, 8,
775 GTF0, 56,
776 GTF2, 56,
777 IDEM, 8,
778 GTF1, 56,
779 BID, 16,
780 PLID, 8,
781 ECTG, 8,
782 ISCT, 8,
783 SLDR, 32,
784 WAKR, 8,
785 OSCC, 8,
786 NEXP, 8,
787 SBV1, 8,
788 SBV2, 8,
789 Offset (0x7A),
790 DSEN, 8,
791 ECON, 8,
792 Offset (0x7D),
793 CTYP, 8,
794 L01C, 8,
795 VFN0, 8,
796 VFN1, 8,
797 VFN2, 8,
798 VFN3, 8,
799 VFN4, 8,
800 VFN5, 8,
801 VFN6, 8,
802 VFN7, 8,
803 VFN8, 8,
804 VFN9, 8,
805 Offset (0x8F),
806 ATMC, 8,
807 PTMC, 8,
808 ATRA, 8,
809 PTRA, 8,
810 PNHM, 32,
811 TBAB, 32,
812 TBAH, 32,
813 RTIP, 8,
814 TSOD, 8,
815 ATPC, 8,
816 PTPC, 8,
817 PFLV, 8,
818 BREV, 8,
819 PDTS, 8,
820 PKGA, 8,
821 PAMT, 8,
822 AC0F, 8,
823 AC1F, 8,
824 DTS3, 8,
825 DTS4, 8,
826 Offset (0xB0),
827 LTR1, 8,
828 LTR2, 8,
829 LTR3, 8,
830 LTR4, 8,
831 LTR5, 8,
832 LTR6, 8,
833 LTR7, 8,
834 LTR8, 8,
835 OBF1, 8,
836 OBF2, 8,
837 OBF3, 8,
838 OBF4, 8,
839 OBF5, 8,
840 OBF6, 8,
841 OBF7, 8,
842 OBF8, 8,
843 XHCI, 8,
844 XTUB, 32,
845 XTUS, 32,
846 XMPB, 32,
847 DDRF, 8,
848 RTD3, 8,
849 PEP0, 8,
850 PEP3, 8,
851 DPTF, 8,
852 SADE, 8,
853 SACR, 8,
854 SAHT, 8,
855 PCHD, 8,
856 PCHC, 8,
857 PCHH, 8,
858 Offset (0xDB),
859 ECEU, 8,
860 TGFG, 16,
861 MEMD, 8,
862 MEMC, 8,
863 MEMH, 8,
864 FND1, 8,
865 FND2, 8,
866 AMBD, 8,
867 AMAT, 8,
868 AMPT, 8,
869 AMCT, 8,
870 AMHT, 8,
871 SKDE, 8,
872 SKAT, 8,
873 SKPT, 8,
874 SKCT, 8,
875 SKHT, 8,
876 EFDE, 8,
877 EFAT, 8,
878 EFPT, 8,
879 EFCT, 8,
880 EFHT, 8,
881 VRDE, 8,
882 VRAT, 8,
883 VRPT, 8,
884 VRCT, 8,
885 VRHT, 8,
886 DPAP, 8,
887 DPPP, 8,
888 DPCP, 8,
889 DCMP, 8,
890 TRTV, 8,
891 LPOE, 8,
892 LPOP, 8,
893 LPOS, 8,
894 LPOW, 8,
895 LPER, 8,
896 PPSZ, 32,
897 DISE, 8,
898 PFMA, 64,
899 PFMS, 8,
900 PFIA, 16,
901 ICNF, 8,
902 DSP0, 32,
903 DSP1, 32,
904 NFCE, 8,
905 CODS, 8,
906 SNHE, 8,
907 S0ID, 8,
908 CTDB, 8,
909 Offset (0x121),
910 TBTE, 8,
911 Offset (0x207),
912 PWRE, 8,
913 PWRP, 8,
914 XHPR, 8,
915 SDS0, 8,
916 SDS1, 16,
917 SDS2, 8,
918 SDS3, 8,
919 SDS4, 8,
920 SDS5, 8,
921 Offset (0x212),
922 RIC0, 8,
923 PEPY, 8,
924 DVS0, 8,
925 DVS1, 8,
926 DVS2, 8,
927 DVS3, 8,
928 GBSX, 8,
929 IUBE, 8,
930 IUCE, 8,
931 IUDE, 8,
932 ECNO, 8,
933 AUDD, 16,
934 DSPD, 16,
935 IC0D, 16,
936 IC1D, 16,
937 IC1S, 16,
938 VRRD, 16,
939 PSCP, 8,
940 RWAG, 8,
941 I20D, 16,
942 I21D, 16,
943 Offset (0x231),
944 RCG0, 8,
945 ECDB, 8,
946 P2ME, 8,
947 SSH0, 16,
948 SSL0, 16,
949 SSD0, 16,
950 FMH0, 16,
951 FML0, 16,
952 FMD0, 16,
953 FPH0, 16,
954 FPL0, 16,
955 FPD0, 16,
956 SSH1, 16,
957 SSL1, 16,
958 SSD1, 16,
959 FMH1, 16,
960 FML1, 16,
961 FMD1, 16,
962 FPH1, 16,
963 FPL1, 16,
964 FPD1, 16,
965 M0C0, 16,
966 M1C0, 16,
967 M2C0, 16,
968 M0C1, 16,
969 M1C1, 16,
970 M2C1, 16,
971 M0C2, 16,
972 M1C2, 16,
973 M0C3, 16,
974 M1C3, 16,
975 M0C4, 16,
976 M1C4, 16,
977 M0C5, 16,
978 M1C5, 16,
979 TBSF, 8,
980 GIRQ, 32,
981 DMTP, 8,
982 DMTD, 8,
983 DMSH, 8,
984 LANP, 8,
985 Offset (0x27E),
986 SHSB, 8,
987 PLCS, 8,
988 PLVL, 16,
989 GN1E, 8,
990 G1AT, 8,
991 G1PT, 8,
992 G1CT, 8,
993 G1HT, 8,
994 GN2E, 8,
995 G2AT, 8,
996 G2PT, 8,
997 G2CT, 8,
998 G2HT, 8,
999 WWSD, 8,
1000 CVSD, 8,
1001 SSDD, 8,
1002 INLD, 8,
1003 IFAT, 8,
1004 IFPT, 8,
1005 IFCT, 8,
1006 IFHT, 8,
1007 DOSD, 8,
1008 USBH, 8,
1009 BCV4, 8,
1010 WTV0, 8,
1011 WTV1, 8,
1012 APFU, 8,
1013 SOHP, 8,
1014 NOHP, 8,
1015 TBSE, 8,
1016 WKFN, 8,
1017 PEPC, 16,
1018 VRSD, 16,
1019 PB1E, 8,
1020 WAND, 8,
1021 WWAT, 8,
1022 WWPT, 8,
1023 WWCT, 8,
1024 WWHT, 8,
1025 Offset (0x2AD),
1026 MPLT, 16,
1027 GR13, 8
1028 }
1029
1030 Name (XWMB, 0xDFA00000)
1031 Scope (\_SB)
1032 {
1033 Method (_INI, 0, NotSerialized) // _INI: Initialize
1034 {
1035 If (CondRefOf (\_OSI, Local0))
1036 {
1037 If (\_OSI ("Windows 2001"))
1038 {
1039 \WNTF = 0x01
1040 \WXPF = 0x01
1041 \WSPV = 0x00
1042 OSYS = 0x07D1
1043 }
1044
1045 If (\_OSI ("Windows 2001 SP1"))
1046 {
1047 \WSPV = 0x01
1048 OSYS = 0x07D1
1049 }
1050
1051 If (\_OSI ("Windows 2001 SP2"))
1052 {
1053 \WSPV = 0x02
1054 OSYS = 0x07D2
1055 }
1056
1057 If (\_OSI ("Windows 2006"))
1058 {
1059 \WVIS = 0x01
1060 OSYS = 0x07D6
1061 }
1062
1063 If (\_OSI ("Windows 2009"))
1064 {
1065 \WIN7 = 0x01
1066 OSYS = 0x07D9
1067 }
1068
1069 If (\_OSI ("Windows 2012"))
1070 {
1071 \WIN8 = 0x01
1072 OSYS = 0x07DC
1073 }
1074
1075 If (\_OSI ("Windows 2013"))
1076 {
1077 \WIN8 = 0x01
1078 OSYS = 0x07DD
1079 }
1080
1081 If (\_OSI ("Linux"))
1082 {
1083 \LNUX = 0x01
1084 OSYS = 0x03E8
1085 }
1086
1087 If (\_OSI ("FreeBSD"))
1088 {
1089 \LNUX = 0x01
1090 OSYS = 0x03E8
1091 }
1092 }
1093 ElseIf ((\SCMP (\_OS, "Microsoft Windows NT") == Zero))
1094 {
1095 \WNTF = 0x01
1096 }
1097
1098 If ((\_REV >= 0x02))
1099 {
1100 \H8DR = 0x01
1101 }
1102
1103 \OSIF = 0x01
1104 \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
1105 \_SB.PCI0.LPC.MOU.MHID ()
1106 If (\LNUX)
1107 {
1108 \_SB.PCI0.LPC.EC.SAUM (0x02)
1109 \UCMS (0x1C)
1110 }
1111
1112 \_SB.PCI0.RID = \SRAH
1113 If (VIGD)
1114 {
1115 \_SB.PCI0.VID.RID = \SRHE
1116 }
1117 Else
1118 {
1119 \_SB.PCI0.PEG.RID = \SRHE
1120 }
1121
1122 \_SB.PCI0.EXP1.RID = \SRE1
1123 \_SB.PCI0.EXP2.RID = \SRE2
1124 \_SB.PCI0.EXP3.RID = \SRE3
1125 \_SB.PCI0.EHC1.RID = \SRU7
1126 \_SB.PCI0.LPC.RID = \SRLP
1127 \_SB.PCI0.SAT1.RID = \SRSA
1128 \_SB.PCI0.SMBU.RID = \SRSM
1129 \UCMS (0x1D)
1130 }
1131
1132 Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities
1133 {
1134 CreateDWordField (Arg3, 0x00, STS0)
1135 CreateDWordField (Arg3, 0x04, CAP0)
1136 If ((Arg0 == ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48") /* Platform-wide Capabilities */))
1137 {
1138 If ((Arg1 == One))
1139 {
1140 If ((CAP0 & 0x04))
1141 {
1142 If (!VMSH)
1143 {
1144 If ((RTD3 == 0x00))
1145 {
1146 CAP0 &= 0x3B
1147 STS0 |= 0x10
1148 }
1149 }
1150 }
1151
1152 If ((CAP0 & 0x20))
1153 {
1154 If (CondRefOf (\_SB.PCCD.PENB))
1155 {
1156 If ((\_SB.PCCD.PENB == 0x00))
1157 {
1158 CAP0 &= 0x1F
1159 STS0 |= 0x10
1160 }
1161
1162 If ((\_SB.PCCD.PENB == 0x01))
1163 {
1164 \CPPX = 0x01
1165 }
1166 }
1167 Else
1168 {
1169 CAP0 &= 0x1F
1170 STS0 |= 0x10
1171 }
1172 }
1173 }
1174 Else
1175 {
1176 STS0 &= 0xFFFFFF00
1177 STS0 |= 0x0A
1178 }
1179 }
1180 Else
1181 {
1182 STS0 &= 0xFFFFFF00
1183 STS0 |= 0x06
1184 }
1185
1186 Return (Arg3)
1187 }
1188
1189 Device (LNKA)
1190 {
1191 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1192 Name (_UID, 0x01) // _UID: Unique ID
1193 Method (_STA, 0, NotSerialized) // _STA: Status
1194 {
1195 If (!VPIR (\_SB.PCI0.LPC.PIRA))
1196 {
1197 Return (0x09)
1198 }
1199 Else
1200 {
1201 Return (0x0B)
1202 }
1203 }
1204
1205 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1206 {
1207 IRQ (Level, ActiveLow, Shared, )
1208 {3,4,5,6,7,9,10,11}
1209 })
1210 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1211 {
1212 \_SB.PCI0.LPC.PIRA |= 0x80
1213 }
1214
1215 Name (BUFA, ResourceTemplate ()
1216 {
1217 IRQ (Level, ActiveLow, Shared, _Y00)
1218 {}
1219 })
1220 CreateWordField (BUFA, \_SB.LNKA._Y00._INT, IRA1) // _INT: Interrupts
1221 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1222 {
1223 Local0 = (\_SB.PCI0.LPC.PIRA & 0x8F)
1224 If (VPIR (Local0))
1225 {
1226 IRA1 = (0x01 << Local0)
1227 }
1228 Else
1229 {
1230 IRA1 = 0x00
1231 }
1232
1233 Return (BUFA) /* \_SB_.LNKA.BUFA */
1234 }
1235
1236 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1237 {
1238 CreateWordField (Arg0, 0x01, IRA2)
1239 FindSetRightBit (IRA2, Local0)
1240 Local1 = (\_SB.PCI0.LPC.PIRA & 0x70)
1241 Local1 |= Local0--
1242 \_SB.PCI0.LPC.PIRA = Local1
1243 }
1244 }
1245
1246 Device (LNKB)
1247 {
1248 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1249 Name (_UID, 0x02) // _UID: Unique ID
1250 Method (_STA, 0, NotSerialized) // _STA: Status
1251 {
1252 If (!VPIR (\_SB.PCI0.LPC.PIRB))
1253 {
1254 Return (0x09)
1255 }
1256 Else
1257 {
1258 Return (0x0B)
1259 }
1260 }
1261
1262 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1263 {
1264 IRQ (Level, ActiveLow, Shared, )
1265 {3,4,5,6,7,9,10,11}
1266 })
1267 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1268 {
1269 \_SB.PCI0.LPC.PIRB |= 0x80
1270 }
1271
1272 Name (BUFB, ResourceTemplate ()
1273 {
1274 IRQ (Level, ActiveLow, Shared, _Y01)
1275 {}
1276 })
1277 CreateWordField (BUFB, \_SB.LNKB._Y01._INT, IRB1) // _INT: Interrupts
1278 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1279 {
1280 Local0 = (\_SB.PCI0.LPC.PIRB & 0x8F)
1281 If (VPIR (Local0))
1282 {
1283 IRB1 = (0x01 << Local0)
1284 }
1285 Else
1286 {
1287 IRB1 = 0x00
1288 }
1289
1290 Return (BUFB) /* \_SB_.LNKB.BUFB */
1291 }
1292
1293 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1294 {
1295 CreateWordField (Arg0, 0x01, IRB2)
1296 FindSetRightBit (IRB2, Local0)
1297 Local1 = (\_SB.PCI0.LPC.PIRB & 0x70)
1298 Local1 |= Local0--
1299 \_SB.PCI0.LPC.PIRB = Local1
1300 }
1301 }
1302
1303 Device (LNKC)
1304 {
1305 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1306 Name (_UID, 0x03) // _UID: Unique ID
1307 Method (_STA, 0, NotSerialized) // _STA: Status
1308 {
1309 If (!VPIR (\_SB.PCI0.LPC.PIRC))
1310 {
1311 Return (0x09)
1312 }
1313 Else
1314 {
1315 Return (0x0B)
1316 }
1317 }
1318
1319 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1320 {
1321 IRQ (Level, ActiveLow, Shared, )
1322 {3,4,5,6,7,9,10,11}
1323 })
1324 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1325 {
1326 \_SB.PCI0.LPC.PIRC |= 0x80
1327 }
1328
1329 Name (BUFC, ResourceTemplate ()
1330 {
1331 IRQ (Level, ActiveLow, Shared, _Y02)
1332 {}
1333 })
1334 CreateWordField (BUFC, \_SB.LNKC._Y02._INT, IRC1) // _INT: Interrupts
1335 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1336 {
1337 Local0 = (\_SB.PCI0.LPC.PIRC & 0x8F)
1338 If (VPIR (Local0))
1339 {
1340 IRC1 = (0x01 << Local0)
1341 }
1342 Else
1343 {
1344 IRC1 = 0x00
1345 }
1346
1347 Return (BUFC) /* \_SB_.LNKC.BUFC */
1348 }
1349
1350 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1351 {
1352 CreateWordField (Arg0, 0x01, IRC2)
1353 FindSetRightBit (IRC2, Local0)
1354 Local1 = (\_SB.PCI0.LPC.PIRC & 0x70)
1355 Local1 |= Local0--
1356 \_SB.PCI0.LPC.PIRC = Local1
1357 }
1358 }
1359
1360 Device (LNKD)
1361 {
1362 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1363 Name (_UID, 0x04) // _UID: Unique ID
1364 Method (_STA, 0, NotSerialized) // _STA: Status
1365 {
1366 If (!VPIR (\_SB.PCI0.LPC.PIRD))
1367 {
1368 Return (0x09)
1369 }
1370 Else
1371 {
1372 Return (0x0B)
1373 }
1374 }
1375
1376 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1377 {
1378 IRQ (Level, ActiveLow, Shared, )
1379 {3,4,5,6,7,9,10,11}
1380 })
1381 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1382 {
1383 \_SB.PCI0.LPC.PIRD |= 0x80
1384 }
1385
1386 Name (BUFD, ResourceTemplate ()
1387 {
1388 IRQ (Level, ActiveLow, Shared, _Y03)
1389 {}
1390 })
1391 CreateWordField (BUFD, \_SB.LNKD._Y03._INT, IRD1) // _INT: Interrupts
1392 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1393 {
1394 Local0 = (\_SB.PCI0.LPC.PIRD & 0x8F)
1395 If (VPIR (Local0))
1396 {
1397 IRD1 = (0x01 << Local0)
1398 }
1399 Else
1400 {
1401 IRD1 = 0x00
1402 }
1403
1404 Return (BUFD) /* \_SB_.LNKD.BUFD */
1405 }
1406
1407 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1408 {
1409 CreateWordField (Arg0, 0x01, IRD2)
1410 FindSetRightBit (IRD2, Local0)
1411 Local1 = (\_SB.PCI0.LPC.PIRD & 0x70)
1412 Local1 |= Local0--
1413 \_SB.PCI0.LPC.PIRD = Local1
1414 }
1415 }
1416
1417 Device (LNKE)
1418 {
1419 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1420 Name (_UID, 0x05) // _UID: Unique ID
1421 Method (_STA, 0, NotSerialized) // _STA: Status
1422 {
1423 If (!VPIR (\_SB.PCI0.LPC.PIRE))
1424 {
1425 Return (0x09)
1426 }
1427 Else
1428 {
1429 Return (0x0B)
1430 }
1431 }
1432
1433 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1434 {
1435 IRQ (Level, ActiveLow, Shared, )
1436 {3,4,5,6,7,9,10,11}
1437 })
1438 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1439 {
1440 \_SB.PCI0.LPC.PIRE |= 0x80
1441 }
1442
1443 Name (BUFE, ResourceTemplate ()
1444 {
1445 IRQ (Level, ActiveLow, Shared, _Y04)
1446 {}
1447 })
1448 CreateWordField (BUFE, \_SB.LNKE._Y04._INT, IRE1) // _INT: Interrupts
1449 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1450 {
1451 Local0 = (\_SB.PCI0.LPC.PIRE & 0x8F)
1452 If (VPIR (Local0))
1453 {
1454 IRE1 = (0x01 << Local0)
1455 }
1456 Else
1457 {
1458 IRE1 = 0x00
1459 }
1460
1461 Return (BUFE) /* \_SB_.LNKE.BUFE */
1462 }
1463
1464 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1465 {
1466 CreateWordField (Arg0, 0x01, IRE2)
1467 FindSetRightBit (IRE2, Local0)
1468 Local1 = (\_SB.PCI0.LPC.PIRE & 0x70)
1469 Local1 |= Local0--
1470 \_SB.PCI0.LPC.PIRE = Local1
1471 }
1472 }
1473
1474 Device (LNKF)
1475 {
1476 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1477 Name (_UID, 0x06) // _UID: Unique ID
1478 Method (_STA, 0, NotSerialized) // _STA: Status
1479 {
1480 If (!VPIR (\_SB.PCI0.LPC.PIRF))
1481 {
1482 Return (0x09)
1483 }
1484 Else
1485 {
1486 Return (0x0B)
1487 }
1488 }
1489
1490 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1491 {
1492 IRQ (Level, ActiveLow, Shared, )
1493 {3,4,5,6,7,9,10,11}
1494 })
1495 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1496 {
1497 \_SB.PCI0.LPC.PIRF |= 0x80
1498 }
1499
1500 Name (BUFF, ResourceTemplate ()
1501 {
1502 IRQ (Level, ActiveLow, Shared, _Y05)
1503 {}
1504 })
1505 CreateWordField (BUFF, \_SB.LNKF._Y05._INT, IRF1) // _INT: Interrupts
1506 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1507 {
1508 Local0 = (\_SB.PCI0.LPC.PIRF & 0x8F)
1509 If (VPIR (Local0))
1510 {
1511 IRF1 = (0x01 << Local0)
1512 }
1513 Else
1514 {
1515 IRF1 = 0x00
1516 }
1517
1518 Return (BUFF) /* \_SB_.LNKF.BUFF */
1519 }
1520
1521 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1522 {
1523 CreateWordField (Arg0, 0x01, IRF2)
1524 FindSetRightBit (IRF2, Local0)
1525 Local1 = (\_SB.PCI0.LPC.PIRF & 0x70)
1526 Local1 |= Local0--
1527 \_SB.PCI0.LPC.PIRF = Local1
1528 }
1529 }
1530
1531 Device (LNKG)
1532 {
1533 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1534 Name (_UID, 0x07) // _UID: Unique ID
1535 Method (_STA, 0, NotSerialized) // _STA: Status
1536 {
1537 If (!VPIR (\_SB.PCI0.LPC.PIRG))
1538 {
1539 Return (0x09)
1540 }
1541 Else
1542 {
1543 Return (0x0B)
1544 }
1545 }
1546
1547 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1548 {
1549 IRQ (Level, ActiveLow, Shared, )
1550 {3,4,5,6,7,9,10,11}
1551 })
1552 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1553 {
1554 \_SB.PCI0.LPC.PIRG |= 0x80
1555 }
1556
1557 Name (BUFG, ResourceTemplate ()
1558 {
1559 IRQ (Level, ActiveLow, Shared, _Y06)
1560 {}
1561 })
1562 CreateWordField (BUFG, \_SB.LNKG._Y06._INT, IRG1) // _INT: Interrupts
1563 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1564 {
1565 Local0 = (\_SB.PCI0.LPC.PIRG & 0x8F)
1566 If (VPIR (Local0))
1567 {
1568 IRG1 = (0x01 << Local0)
1569 }
1570 Else
1571 {
1572 IRG1 = 0x00
1573 }
1574
1575 Return (BUFG) /* \_SB_.LNKG.BUFG */
1576 }
1577
1578 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1579 {
1580 CreateWordField (Arg0, 0x01, IRG2)
1581 FindSetRightBit (IRG2, Local0)
1582 Local1 = (\_SB.PCI0.LPC.PIRG & 0x70)
1583 Local1 |= Local0--
1584 \_SB.PCI0.LPC.PIRG = Local1
1585 }
1586 }
1587
1588 Device (LNKH)
1589 {
1590 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1591 Name (_UID, 0x08) // _UID: Unique ID
1592 Method (_STA, 0, NotSerialized) // _STA: Status
1593 {
1594 If (!VPIR (\_SB.PCI0.LPC.PIRH))
1595 {
1596 Return (0x09)
1597 }
1598 Else
1599 {
1600 Return (0x0B)
1601 }
1602 }
1603
1604 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1605 {
1606 IRQ (Level, ActiveLow, Shared, )
1607 {3,4,5,6,7,9,10,11}
1608 })
1609 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1610 {
1611 \_SB.PCI0.LPC.PIRH |= 0x80
1612 }
1613
1614 Name (BUFH, ResourceTemplate ()
1615 {
1616 IRQ (Level, ActiveLow, Shared, _Y07)
1617 {}
1618 })
1619 CreateWordField (BUFH, \_SB.LNKH._Y07._INT, IRH1) // _INT: Interrupts
1620 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1621 {
1622 Local0 = (\_SB.PCI0.LPC.PIRH & 0x8F)
1623 If (VPIR (Local0))
1624 {
1625 IRH1 = (0x01 << Local0)
1626 }
1627 Else
1628 {
1629 IRH1 = 0x00
1630 }
1631
1632 Return (BUFH) /* \_SB_.LNKH.BUFH */
1633 }
1634
1635 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1636 {
1637 CreateWordField (Arg0, 0x01, IRH2)
1638 FindSetRightBit (IRH2, Local0)
1639 Local1 = (\_SB.PCI0.LPC.PIRH & 0x70)
1640 Local1 |= Local0--
1641 \_SB.PCI0.LPC.PIRH = Local1
1642 }
1643 }
1644
1645 Method (VPIR, 1, NotSerialized)
1646 {
1647 Local0 = 0x01
1648 If ((Arg0 & 0x80))
1649 {
1650 Local0 = 0x00
1651 }
1652 Else
1653 {
1654 Local1 = (Arg0 & 0x0F)
1655 If ((Local1 < 0x03))
1656 {
1657 Local0 = 0x00
1658 }
1659 ElseIf (((Local1 == 0x08) || (Local1 == 0x0D)))
1660 {
1661 Local0 = 0x00
1662 }
1663 }
1664
1665 Return (Local0)
1666 }
1667
1668 Device (MEM)
1669 {
1670 Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID
1671 Name (MEMS, ResourceTemplate ()
1672 {
1673 Memory32Fixed (ReadWrite,
1674 0x00000000, // Address Base
1675 0x000A0000, // Address Length
1676 )
1677 Memory32Fixed (ReadOnly,
1678 0x000C0000, // Address Base
1679 0x00000000, // Address Length
1680 _Y08)
1681 Memory32Fixed (ReadOnly,
1682 0x000C4000, // Address Base
1683 0x00000000, // Address Length
1684 _Y09)
1685 Memory32Fixed (ReadOnly,
1686 0x000C8000, // Address Base
1687 0x00000000, // Address Length
1688 _Y0A)
1689 Memory32Fixed (ReadOnly,
1690 0x000CC000, // Address Base
1691 0x00000000, // Address Length
1692 _Y0B)
1693 Memory32Fixed (ReadOnly,
1694 0x000D0000, // Address Base
1695 0x00000000, // Address Length
1696 _Y0C)
1697 Memory32Fixed (ReadOnly,
1698 0x000D4000, // Address Base
1699 0x00000000, // Address Length
1700 _Y0D)
1701 Memory32Fixed (ReadOnly,
1702 0x000D8000, // Address Base
1703 0x00000000, // Address Length
1704 _Y0E)
1705 Memory32Fixed (ReadOnly,
1706 0x000DC000, // Address Base
1707 0x00000000, // Address Length
1708 _Y0F)
1709 Memory32Fixed (ReadOnly,
1710 0x000E0000, // Address Base
1711 0x00000000, // Address Length
1712 _Y10)
1713 Memory32Fixed (ReadOnly,
1714 0x000E4000, // Address Base
1715 0x00000000, // Address Length
1716 _Y11)
1717 Memory32Fixed (ReadOnly,
1718 0x000E8000, // Address Base
1719 0x00000000, // Address Length
1720 _Y12)
1721 Memory32Fixed (ReadOnly,
1722 0x000EC000, // Address Base
1723 0x00000000, // Address Length
1724 _Y13)
1725 Memory32Fixed (ReadOnly,
1726 0x000F0000, // Address Base
1727 0x00010000, // Address Length
1728 )
1729 Memory32Fixed (ReadWrite,
1730 0x00100000, // Address Base
1731 0x01EE0000, // Address Length
1732 _Y14)
1733 Memory32Fixed (ReadOnly,
1734 0xFEC00000, // Address Base
1735 0x00140000, // Address Length
1736 _Y15)
1737 Memory32Fixed (ReadOnly,
1738 0xFED4C000, // Address Base
1739 0x012B4000, // Address Length
1740 _Y16)
1741 })
1742 CreateDWordField (MEMS, \_SB.MEM._Y08._LEN, MC0L) // _LEN: Length
1743 CreateDWordField (MEMS, \_SB.MEM._Y09._LEN, MC4L) // _LEN: Length
1744 CreateDWordField (MEMS, \_SB.MEM._Y0A._LEN, MC8L) // _LEN: Length
1745 CreateDWordField (MEMS, \_SB.MEM._Y0B._LEN, MCCL) // _LEN: Length
1746 CreateDWordField (MEMS, \_SB.MEM._Y0C._LEN, MD0L) // _LEN: Length
1747 CreateDWordField (MEMS, \_SB.MEM._Y0D._LEN, MD4L) // _LEN: Length
1748 CreateDWordField (MEMS, \_SB.MEM._Y0E._LEN, MD8L) // _LEN: Length
1749 CreateDWordField (MEMS, \_SB.MEM._Y0F._LEN, MDCL) // _LEN: Length
1750 CreateDWordField (MEMS, \_SB.MEM._Y10._LEN, ME0L) // _LEN: Length
1751 CreateDWordField (MEMS, \_SB.MEM._Y11._LEN, ME4L) // _LEN: Length
1752 CreateDWordField (MEMS, \_SB.MEM._Y12._LEN, ME8L) // _LEN: Length
1753 CreateDWordField (MEMS, \_SB.MEM._Y13._LEN, MECL) // _LEN: Length
1754 CreateBitField (MEMS, \_SB.MEM._Y08._RW, MC0W) // _RW_: Read-Write Status
1755 CreateBitField (MEMS, \_SB.MEM._Y09._RW, MC4W) // _RW_: Read-Write Status
1756 CreateBitField (MEMS, \_SB.MEM._Y0A._RW, MC8W) // _RW_: Read-Write Status
1757 CreateBitField (MEMS, \_SB.MEM._Y0B._RW, MCCW) // _RW_: Read-Write Status
1758 CreateBitField (MEMS, \_SB.MEM._Y0C._RW, MD0W) // _RW_: Read-Write Status
1759 CreateBitField (MEMS, \_SB.MEM._Y0D._RW, MD4W) // _RW_: Read-Write Status
1760 CreateBitField (MEMS, \_SB.MEM._Y0E._RW, MD8W) // _RW_: Read-Write Status
1761 CreateBitField (MEMS, \_SB.MEM._Y0F._RW, MDCW) // _RW_: Read-Write Status
1762 CreateBitField (MEMS, \_SB.MEM._Y10._RW, ME0W) // _RW_: Read-Write Status
1763 CreateBitField (MEMS, \_SB.MEM._Y11._RW, ME4W) // _RW_: Read-Write Status
1764 CreateBitField (MEMS, \_SB.MEM._Y12._RW, ME8W) // _RW_: Read-Write Status
1765 CreateBitField (MEMS, \_SB.MEM._Y13._RW, MECW) // _RW_: Read-Write Status
1766 CreateDWordField (MEMS, \_SB.MEM._Y14._BAS, MEB1) // _BAS: Base Address
1767 CreateDWordField (MEMS, \_SB.MEM._Y14._LEN, MEL1) // _LEN: Length
1768 CreateDWordField (MEMS, \_SB.MEM._Y15._LEN, MEL2) // _LEN: Length
1769 CreateDWordField (MEMS, \_SB.MEM._Y16._LEN, MEL3) // _LEN: Length
1770 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1771 {
1772 Local0 = (\_SB.PCI0.PAM1 & 0x03)
1773 If (Local0)
1774 {
1775 MC0L = 0x4000
1776 If ((Local0 & 0x02))
1777 {
1778 MC0W = 0x01
1779 }
1780 }
1781
1782 Local0 = (\_SB.PCI0.PAM1 & 0x30)
1783 If (Local0)
1784 {
1785 MC4L = 0x4000
1786 If ((Local0 & 0x20))
1787 {
1788 MC4W = 0x01
1789 }
1790 }
1791
1792 Local0 = (\_SB.PCI0.PAM2 & 0x03)
1793 If (Local0)
1794 {
1795 MC8L = 0x4000
1796 If ((Local0 & 0x02))
1797 {
1798 MC8W = 0x01
1799 }
1800 }
1801
1802 Local0 = (\_SB.PCI0.PAM2 & 0x30)
1803 If (Local0)
1804 {
1805 MCCL = 0x4000
1806 If ((Local0 & 0x20))
1807 {
1808 MCCW = 0x01
1809 }
1810 }
1811
1812 Local0 = (\_SB.PCI0.PAM3 & 0x03)
1813 If (Local0)
1814 {
1815 MD0L = 0x4000
1816 If ((Local0 & 0x02))
1817 {
1818 MD0W = 0x01
1819 }
1820 }
1821
1822 Local0 = (\_SB.PCI0.PAM3 & 0x30)
1823 If (Local0)
1824 {
1825 MD4L = 0x4000
1826 If ((Local0 & 0x20))
1827 {
1828 MD4W = 0x01
1829 }
1830 }
1831
1832 Local0 = (\_SB.PCI0.PAM4 & 0x03)
1833 If (Local0)
1834 {
1835 MD8L = 0x4000
1836 If ((Local0 & 0x02))
1837 {
1838 MD8W = 0x01
1839 }
1840 }
1841
1842 Local0 = (\_SB.PCI0.PAM4 & 0x30)
1843 If (Local0)
1844 {
1845 MDCL = 0x4000
1846 If ((Local0 & 0x20))
1847 {
1848 MDCW = 0x01
1849 }
1850 }
1851
1852 Local0 = (\_SB.PCI0.PAM5 & 0x03)
1853 If (Local0)
1854 {
1855 ME0L = 0x4000
1856 If ((Local0 & 0x02))
1857 {
1858 ME0W = 0x01
1859 }
1860 }
1861
1862 Local0 = (\_SB.PCI0.PAM5 & 0x30)
1863 If (Local0)
1864 {
1865 ME4L = 0x4000
1866 If ((Local0 & 0x20))
1867 {
1868 ME4W = 0x01
1869 }
1870 }
1871
1872 Local0 = (\_SB.PCI0.PAM6 & 0x03)
1873 If (Local0)
1874 {
1875 ME8L = 0x4000
1876 If ((Local0 & 0x02))
1877 {
1878 ME8W = 0x01
1879 }
1880 }
1881
1882 Local0 = (\_SB.PCI0.PAM6 & 0x30)
1883 If (Local0)
1884 {
1885 MECL = 0x4000
1886 If ((Local0 & 0x20))
1887 {
1888 MECW = 0x01
1889 }
1890 }
1891
1892 MEL1 = (\MEMX - MEB1) /* \_SB_.MEM_.MEB1 */
1893 If ((\_SB.PCI0.LPC.TPM._STA () != 0x0F))
1894 {
1895 MEL2 = 0x01400000
1896 MEL3 = 0x00
1897 }
1898
1899 Return (MEMS) /* \_SB_.MEM_.MEMS */
1900 }
1901 }
1902
1903 Device (LID)
1904 {
1905 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
1906 Method (_LID, 0, NotSerialized) // _LID: Lid Status
1907 {
1908 If (((\ILNF == 0x00) && (\PLUX == 0x00)))
1909 {
1910 If (\H8DR)
1911 {
1912 Return (\_SB.PCI0.LPC.EC.HPLD)
1913 }
1914 ElseIf ((\RBEC (0x46) & 0x04))
1915 {
1916 Return (0x01)
1917 }
1918 Else
1919 {
1920 Return (0x00)
1921 }
1922 }
1923 Else
1924 {
1925 Return (0x01)
1926 }
1927 }
1928
1929 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1930 {
1931 If (\LWCP)
1932 {
1933 Return (Package (0x02)
1934 {
1935 0x0D,
1936 0x04
1937 })
1938 }
1939 Else
1940 {
1941 Return (Package (0x02)
1942 {
1943 0x0D,
1944 0x03
1945 })
1946 }
1947 }
1948
1949 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
1950 {
1951 If (\H8DR)
1952 {
1953 If (Arg0)
1954 {
1955 \_SB.PCI0.LPC.EC.HWLO = 0x01
1956 }
1957 Else
1958 {
1959 \_SB.PCI0.LPC.EC.HWLO = 0x00
1960 }
1961 }
1962 ElseIf (Arg0)
1963 {
1964 \MBEC (0x32, 0xFF, 0x04)
1965 }
1966 Else
1967 {
1968 \MBEC (0x32, 0xFB, 0x00)
1969 }
1970
1971 If (\LWCP)
1972 {
1973 If (Arg0)
1974 {
1975 \LWEN = 0x01
1976 }
1977 Else
1978 {
1979 \LWEN = 0x00
1980 }
1981 }
1982 }
1983 }
1984
1985 Device (SLPB)
1986 {
1987 Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
1988 Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
1989 {
1990 Return (Package (0x02)
1991 {
1992 0x0D,
1993 0x03
1994 })
1995 }
1996
1997 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
1998 {
1999 If (\H8DR)
2000 {
2001 If (Arg0)
2002 {
2003 \_SB.PCI0.LPC.EC.HWFN = 0x01
2004 }
2005 Else
2006 {
2007 \_SB.PCI0.LPC.EC.HWFN = 0x00
2008 }
2009 }
2010 ElseIf (Arg0)
2011 {
2012 \MBEC (0x32, 0xFF, 0x10)
2013 }
2014 Else
2015 {
2016 \MBEC (0x32, 0xEF, 0x00)
2017 }
2018 }
2019 }
2020
2021 Scope (\)
2022 {
2023 Name (UPC0, Package (0x04)
2024 {
2025 0xFF,
2026 0x00,
2027 0x00,
2028 0x00
2029 })
2030 Name (PLD0, Buffer (0x10)
2031 {
2032 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
2033 /* 0008 */ 0x99, 0x11, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00 // ........
2034 })
2035 Name (UPC1, Package (0x04)
2036 {
2037 0xFF,
2038 0x00,
2039 0x00,
2040 0x00
2041 })
2042 Name (PLD1, Buffer (0x10)
2043 {
2044 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
2045 /* 0008 */ 0x91, 0x12, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00 // ........
2046 })
2047 Name (UPC2, Package (0x04)
2048 {
2049 0xFF,
2050 0xFF,
2051 0x00,
2052 0x00
2053 })
2054 Name (PLD2, Buffer (0x10)
2055 {
2056 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
2057 /* 0008 */ 0x31, 0x1C, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00 // 1.......
2058 })
2059 Name (PLDZ, Buffer (0x10)
2060 {
2061 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
2062 /* 0008 */ 0x30, 0x1C, 0x80, 0x01, 0x03, 0x00, 0x00, 0x00 // 0.......
2063 })
2064 Name (UPC3, Package (0x04)
2065 {
2066 0x00,
2067 0x02,
2068 0x00,
2069 0x00
2070 })
2071 Name (PLD3, Buffer (0x10)
2072 {
2073 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
2074 /* 0008 */ 0x48, 0x1D, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 // H.......
2075 })
2076 Name (UPCI, Package (0x04)
2077 {
2078 0x00,
2079 0xFF,
2080 0x00,
2081 0x00
2082 })
2083 Name (PLDI, Buffer (0x10)
2084 {
2085 /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
2086 /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0.......
2087 })
2088 Name (PLDC, Buffer (0x14)
2089 {
2090 /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
2091 /* 0008 */ 0x24, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // $.......
2092 /* 0010 */ 0xDD, 0x00, 0x95, 0x00 // ....
2093 })
2094 }
2095
2096 Name (XWMB, 0xFFFFFFFF)
2097 Device (PCI0)
2098 {
2099 Name (_BBN, 0x00) // _BBN: BIOS Bus Number
2100 Name (_ADR, 0x00) // _ADR: Address
2101 Name (RID, 0x00)
2102 Name (_S3D, 0x02) // _S3D: S3 Device State
2103 Name (LRRT, Package (0x17)
2104 {
2105 Package (0x04)
2106 {
2107 0x0001FFFF,
2108 0x00,
2109 \_SB.LNKA,
2110 0x00
2111 },
2112
2113 Package (0x04)
2114 {
2115 0x0002FFFF,
2116 0x00,
2117 \_SB.LNKA,
2118 0x00
2119 },
2120
2121 Package (0x04)
2122 {
2123 0x0003FFFF,
2124 0x00,
2125 \_SB.LNKA,
2126 0x00
2127 },
2128
2129 Package (0x04)
2130 {
2131 0x0014FFFF,
2132 0x00,
2133 \_SB.LNKA,
2134 0x00
2135 },
2136
2137 Package (0x04)
2138 {
2139 0x0016FFFF,
2140 0x00,
2141 \_SB.LNKA,
2142 0x00
2143 },
2144
2145 Package (0x04)
2146 {
2147 0x0016FFFF,
2148 0x01,
2149 \_SB.LNKD,
2150 0x00
2151 },
2152
2153 Package (0x04)
2154 {
2155 0x0016FFFF,
2156 0x02,
2157 \_SB.LNKC,
2158 0x00
2159 },
2160
2161 Package (0x04)
2162 {
2163 0x0016FFFF,
2164 0x03,
2165 \_SB.LNKB,
2166 0x00
2167 },
2168
2169 Package (0x04)
2170 {
2171 0x0019FFFF,
2172 0x00,
2173 \_SB.LNKE,
2174 0x00
2175 },
2176
2177 Package (0x04)
2178 {
2179 0x001AFFFF,
2180 0x00,
2181 \_SB.LNKA,
2182 0x00
2183 },
2184
2185 Package (0x04)
2186 {
2187 0x001BFFFF,
2188 0x00,
2189 \_SB.LNKG,
2190 0x00
2191 },
2192
2193 Package (0x04)
2194 {
2195 0x001CFFFF,
2196 0x00,
2197 \_SB.LNKA,
2198 0x00
2199 },
2200
2201 Package (0x04)
2202 {
2203 0x001CFFFF,
2204 0x01,
2205 \_SB.LNKB,
2206 0x00
2207 },
2208
2209 Package (0x04)
2210 {
2211 0x001CFFFF,
2212 0x02,
2213 \_SB.LNKC,
2214 0x00
2215 },
2216
2217 Package (0x04)
2218 {
2219 0x001CFFFF,
2220 0x03,
2221 \_SB.LNKD,
2222 0x00
2223 },
2224
2225 Package (0x04)
2226 {
2227 0x001DFFFF,
2228 0x00,
2229 \_SB.LNKH,
2230 0x00
2231 },
2232
2233 Package (0x04)
2234 {
2235 0x001DFFFF,
2236 0x01,
2237 \_SB.LNKD,
2238 0x00
2239 },
2240
2241 Package (0x04)
2242 {
2243 0x001DFFFF,
2244 0x02,
2245 \_SB.LNKA,
2246 0x00
2247 },
2248
2249 Package (0x04)
2250 {
2251 0x001DFFFF,
2252 0x03,
2253 \_SB.LNKC,
2254 0x00
2255 },
2256
2257 Package (0x04)
2258 {
2259 0x001FFFFF,
2260 0x00,
2261 \_SB.LNKF,
2262 0x00
2263 },
2264
2265 Package (0x04)
2266 {
2267 0x001FFFFF,
2268 0x01,
2269 \_SB.LNKD,
2270 0x00
2271 },
2272
2273 Package (0x04)
2274 {
2275 0x001FFFFF,
2276 0x02,
2277 \_SB.LNKC,
2278 0x00
2279 },
2280
2281 Package (0x04)
2282 {
2283 0x001FFFFF,
2284 0x03,
2285 \_SB.LNKA,
2286 0x00
2287 }
2288 })
2289 Name (ARRT, Package (0x17)
2290 {
2291 Package (0x04)
2292 {
2293 0x0001FFFF,
2294 0x00,
2295 0x00,
2296 0x10
2297 },
2298
2299 Package (0x04)
2300 {
2301 0x0002FFFF,
2302 0x00,
2303 0x00,
2304 0x10
2305 },
2306
2307 Package (0x04)
2308 {
2309 0x0003FFFF,
2310 0x00,
2311 0x00,
2312 0x10
2313 },
2314
2315 Package (0x04)
2316 {
2317 0x0014FFFF,
2318 0x00,
2319 0x00,
2320 0x10
2321 },
2322
2323 Package (0x04)
2324 {
2325 0x0016FFFF,
2326 0x00,
2327 0x00,
2328 0x10
2329 },
2330
2331 Package (0x04)
2332 {
2333 0x0016FFFF,
2334 0x01,
2335 0x00,
2336 0x13
2337 },
2338
2339 Package (0x04)
2340 {
2341 0x0016FFFF,
2342 0x02,
2343 0x00,
2344 0x12
2345 },
2346
2347 Package (0x04)
2348 {
2349 0x0016FFFF,
2350 0x03,
2351 0x00,
2352 0x11
2353 },
2354
2355 Package (0x04)
2356 {
2357 0x0019FFFF,
2358 0x00,
2359 0x00,
2360 0x14
2361 },
2362
2363 Package (0x04)
2364 {
2365 0x001AFFFF,
2366 0x00,
2367 0x00,
2368 0x10
2369 },
2370
2371 Package (0x04)
2372 {
2373 0x001BFFFF,
2374 0x00,
2375 0x00,
2376 0x16
2377 },
2378
2379 Package (0x04)
2380 {
2381 0x001CFFFF,
2382 0x00,
2383 0x00,
2384 0x10
2385 },
2386
2387 Package (0x04)
2388 {
2389 0x001CFFFF,
2390 0x01,
2391 0x00,
2392 0x11
2393 },
2394
2395 Package (0x04)
2396 {
2397 0x001CFFFF,
2398 0x02,
2399 0x00,
2400 0x12
2401 },
2402
2403 Package (0x04)
2404 {
2405 0x001CFFFF,
2406 0x03,
2407 0x00,
2408 0x13
2409 },
2410
2411 Package (0x04)
2412 {
2413 0x001DFFFF,
2414 0x00,
2415 0x00,
2416 0x17
2417 },
2418
2419 Package (0x04)
2420 {
2421 0x001DFFFF,
2422 0x01,
2423 0x00,
2424 0x13
2425 },
2426
2427 Package (0x04)
2428 {
2429 0x001DFFFF,
2430 0x02,
2431 0x00,
2432 0x10
2433 },
2434
2435 Package (0x04)
2436 {
2437 0x001DFFFF,
2438 0x03,
2439 0x00,
2440 0x12
2441 },
2442
2443 Package (0x04)
2444 {
2445 0x001FFFFF,
2446 0x00,
2447 0x00,
2448 0x15
2449 },
2450
2451 Package (0x04)
2452 {
2453 0x001FFFFF,
2454 0x01,
2455 0x00,
2456 0x13
2457 },
2458
2459 Package (0x04)
2460 {
2461 0x001FFFFF,
2462 0x02,
2463 0x00,
2464 0x12
2465 },
2466
2467 Package (0x04)
2468 {
2469 0x001FFFFF,
2470 0x03,
2471 0x00,
2472 0x10
2473 }
2474 })
2475 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
2476 {
2477 If (\GPIC)
2478 {
2479 Return (ARRT) /* \_SB_.PCI0.ARRT */
2480 }
2481 Else
2482 {
2483 Return (LRRT) /* \_SB_.PCI0.LRRT */
2484 }
2485 }
2486
2487 Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID
2488 Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID
2489 OperationRegion (MHCS, PCI_Config, 0x40, 0xC0)
2490 Field (MHCS, DWordAcc, NoLock, Preserve)
2491 {
2492 Offset (0x40),
2493 PAM0, 8,
2494 PAM1, 8,
2495 PAM2, 8,
2496 PAM3, 8,
2497 PAM4, 8,
2498 PAM5, 8,
2499 PAM6, 8,
2500 Offset (0x7C),
2501 , 20,
2502 TLUD, 12
2503 }
2504
2505 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
2506 {
2507 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
2508 0x0000, // Granularity
2509 0x0000, // Range Minimum
2510 0x00FF, // Range Maximum
2511 0x0000, // Translation Offset
2512 0x0100, // Length
2513 ,, _Y25)
2514 IO (Decode16,
2515 0x0CF8, // Range Minimum
2516 0x0CF8, // Range Maximum
2517 0x01, // Alignment
2518 0x08, // Length
2519 )
2520 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2521 0x0000, // Granularity
2522 0x0000, // Range Minimum
2523 0x0CF7, // Range Maximum
2524 0x0000, // Translation Offset
2525 0x0CF8, // Length
2526 ,, , TypeStatic, DenseTranslation)
2527 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
2528 0x0000, // Granularity
2529 0x0D00, // Range Minimum
2530 0xFFFF, // Range Maximum
2531 0x0000, // Translation Offset
2532 0xF300, // Length
2533 ,, , TypeStatic, DenseTranslation)
2534 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2535 0x00000000, // Granularity
2536 0x000A0000, // Range Minimum
2537 0x000BFFFF, // Range Maximum
2538 0x00000000, // Translation Offset
2539 0x00020000, // Length
2540 ,, , AddressRangeMemory, TypeStatic)
2541 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2542 0x00000000, // Granularity
2543 0x000C0000, // Range Minimum
2544 0x000C3FFF, // Range Maximum
2545 0x00000000, // Translation Offset
2546 0x00004000, // Length
2547 ,, _Y17, AddressRangeMemory, TypeStatic)
2548 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2549 0x00000000, // Granularity
2550 0x000C4000, // Range Minimum
2551 0x000C7FFF, // Range Maximum
2552 0x00000000, // Translation Offset
2553 0x00004000, // Length
2554 ,, _Y18, AddressRangeMemory, TypeStatic)
2555 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2556 0x00000000, // Granularity
2557 0x000C8000, // Range Minimum
2558 0x000CBFFF, // Range Maximum
2559 0x00000000, // Translation Offset
2560 0x00004000, // Length
2561 ,, _Y19, AddressRangeMemory, TypeStatic)
2562 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2563 0x00000000, // Granularity
2564 0x000CC000, // Range Minimum
2565 0x000CFFFF, // Range Maximum
2566 0x00000000, // Translation Offset
2567 0x00004000, // Length
2568 ,, _Y1A, AddressRangeMemory, TypeStatic)
2569 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2570 0x00000000, // Granularity
2571 0x000D0000, // Range Minimum
2572 0x000D3FFF, // Range Maximum
2573 0x00000000, // Translation Offset
2574 0x00004000, // Length
2575 ,, _Y1B, AddressRangeMemory, TypeStatic)
2576 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2577 0x00000000, // Granularity
2578 0x000D4000, // Range Minimum
2579 0x000D7FFF, // Range Maximum
2580 0x00000000, // Translation Offset
2581 0x00004000, // Length
2582 ,, _Y1C, AddressRangeMemory, TypeStatic)
2583 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2584 0x00000000, // Granularity
2585 0x000D8000, // Range Minimum
2586 0x000DBFFF, // Range Maximum
2587 0x00000000, // Translation Offset
2588 0x00004000, // Length
2589 ,, _Y1D, AddressRangeMemory, TypeStatic)
2590 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2591 0x00000000, // Granularity
2592 0x000DC000, // Range Minimum
2593 0x000DFFFF, // Range Maximum
2594 0x00000000, // Translation Offset
2595 0x00004000, // Length
2596 ,, _Y1E, AddressRangeMemory, TypeStatic)
2597 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2598 0x00000000, // Granularity
2599 0x000E0000, // Range Minimum
2600 0x000E3FFF, // Range Maximum
2601 0x00000000, // Translation Offset
2602 0x00004000, // Length
2603 ,, _Y1F, AddressRangeMemory, TypeStatic)
2604 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2605 0x00000000, // Granularity
2606 0x000E4000, // Range Minimum
2607 0x000E7FFF, // Range Maximum
2608 0x00000000, // Translation Offset
2609 0x00004000, // Length
2610 ,, _Y20, AddressRangeMemory, TypeStatic)
2611 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2612 0x00000000, // Granularity
2613 0x000E8000, // Range Minimum
2614 0x000EBFFF, // Range Maximum
2615 0x00000000, // Translation Offset
2616 0x00004000, // Length
2617 ,, _Y21, AddressRangeMemory, TypeStatic)
2618 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2619 0x00000000, // Granularity
2620 0x000EC000, // Range Minimum
2621 0x000EFFFF, // Range Maximum
2622 0x00000000, // Translation Offset
2623 0x00004000, // Length
2624 ,, _Y22, AddressRangeMemory, TypeStatic)
2625 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2626 0x00000000, // Granularity
2627 0x00100000, // Range Minimum
2628 0xFEBFFFFF, // Range Maximum
2629 0x00000000, // Translation Offset
2630 0xFEB00000, // Length
2631 ,, _Y23, AddressRangeMemory, TypeStatic)
2632 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
2633 0x00000000, // Granularity
2634 0xFED40000, // Range Minimum
2635 0xFED4BFFF, // Range Maximum
2636 0x00000000, // Translation Offset
2637 0x0000C000, // Length
2638 ,, _Y24, AddressRangeMemory, TypeStatic)
2639 })
2640 CreateDWordField (_CRS, \_SB.PCI0._Y17._LEN, C0LN) // _LEN: Length
2641 CreateDWordField (_CRS, \_SB.PCI0._Y18._LEN, C4LN) // _LEN: Length
2642 CreateDWordField (_CRS, \_SB.PCI0._Y19._LEN, C8LN) // _LEN: Length
2643 CreateDWordField (_CRS, \_SB.PCI0._Y1A._LEN, CCLN) // _LEN: Length
2644 CreateDWordField (_CRS, \_SB.PCI0._Y1B._LEN, D0LN) // _LEN: Length
2645 CreateDWordField (_CRS, \_SB.PCI0._Y1C._LEN, D4LN) // _LEN: Length
2646 CreateDWordField (_CRS, \_SB.PCI0._Y1D._LEN, D8LN) // _LEN: Length
2647 CreateDWordField (_CRS, \_SB.PCI0._Y1E._LEN, DCLN) // _LEN: Length
2648 CreateDWordField (_CRS, \_SB.PCI0._Y1F._LEN, E0LN) // _LEN: Length
2649 CreateDWordField (_CRS, \_SB.PCI0._Y20._LEN, E4LN) // _LEN: Length
2650 CreateDWordField (_CRS, \_SB.PCI0._Y21._LEN, E8LN) // _LEN: Length
2651 CreateDWordField (_CRS, \_SB.PCI0._Y22._LEN, ECLN) // _LEN: Length
2652 CreateDWordField (_CRS, \_SB.PCI0._Y23._MIN, XXMN) // _MIN: Minimum Base Address
2653 CreateDWordField (_CRS, \_SB.PCI0._Y23._MAX, XXMX) // _MAX: Maximum Base Address
2654 CreateDWordField (_CRS, \_SB.PCI0._Y23._LEN, XXLN) // _LEN: Length
2655 CreateDWordField (_CRS, \_SB.PCI0._Y24._MIN, F4MN) // _MIN: Minimum Base Address
2656 CreateDWordField (_CRS, \_SB.PCI0._Y24._MAX, F4MX) // _MAX: Maximum Base Address
2657 CreateDWordField (_CRS, \_SB.PCI0._Y24._LEN, F4LN) // _LEN: Length
2658 CreateWordField (_CRS, \_SB.PCI0._Y25._MAX, B0MX) // _MAX: Maximum Base Address
2659 CreateWordField (_CRS, \_SB.PCI0._Y25._LEN, B0LN) // _LEN: Length
2660 Method (_INI, 0, Serialized) // _INI: Initialize
2661 {
2662 B0MX = 0x3F
2663 B0LN = (0x3F + 0x01)
2664 If (!\OSIF)
2665 {
2666 \_SB._INI ()
2667 }
2668
2669 Local0 = (TLUD << 0x14)
2670 \MEMX = Local0
2671 XXMN = Local0
2672 XXLN = ((XXMX - XXMN) + 0x01)
2673 If ((\TPMP == 0x00))
2674 {
2675 F4LN = 0x00
2676 }
2677
2678 If ((PAM1 & 0x03))
2679 {
2680 C0LN = 0x00
2681 }
2682
2683 If ((PAM1 & 0x30))
2684 {
2685 C4LN = 0x00
2686 }
2687
2688 If ((PAM2 & 0x03))
2689 {
2690 C8LN = 0x00
2691 }
2692
2693 If ((PAM2 & 0x30))
2694 {
2695 CCLN = 0x00
2696 }
2697
2698 If ((PAM3 & 0x03))
2699 {
2700 D0LN = 0x00
2701 }
2702
2703 If ((PAM3 & 0x30))
2704 {
2705 D4LN = 0x00
2706 }
2707
2708 If ((PAM4 & 0x03))
2709 {
2710 D8LN = 0x00
2711 }
2712
2713 If ((PAM4 & 0x30))
2714 {
2715 DCLN = 0x00
2716 }
2717
2718 If ((PAM5 & 0x03))
2719 {
2720 E0LN = 0x00
2721 }
2722
2723 If ((PAM5 & 0x30))
2724 {
2725 E4LN = 0x00
2726 }
2727
2728 If ((PAM6 & 0x03))
2729 {
2730 E8LN = 0x00
2731 }
2732
2733 If ((PAM6 & 0x30))
2734 {
2735 ECLN = 0x00
2736 }
2737 }
2738
2739 Name (SUPP, 0x00)
2740 Name (CTRL, 0x00)
2741 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
2742 {
2743 CreateDWordField (Arg3, 0x00, CDW1)
2744 CreateDWordField (Arg3, 0x04, CDW2)
2745 CreateDWordField (Arg3, 0x08, CDW3)
2746 If (\_SB.PCI0.XHCI.CUID (Arg0))
2747 {
2748 Return (\_SB.PCI0.XHCI.POSC (Arg1, Arg2, Arg3))
2749 }
2750
2751 If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */))
2752 {
2753 SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
2754 CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
2755 CTRL &= 0x0D
2756 If (!(CDW1 & 0x01))
2757 {
2758 If ((CTRL & 0x01))
2759 {
2760 If (!\VIGD)
2761 {
2762 \_SB.PCI0.PEG.HPGP = 0x00
2763 \_SB.PCI0.PEG.GMGP = 0x00
2764 }
2765
2766 \NHPS = 0x01
2767 }
2768
2769 If ((CTRL & 0x04))
2770 {
2771 If (!\VIGD)
2772 {
2773 \_SB.PCI0.PEG.PMGP = 0x00
2774 \_SB.PCI0.PEG.GMGP = 0x00
2775 }
2776
2777 If (\_SB.PCI0.EXP1.PMCE)
2778 {
2779 \_SB.PCI0.EXP1.PMCE = 0x00
2780 \_SB.PCI0.EXP1.PMCS = 0x01
2781 }
2782
2783 If (\_SB.PCI0.EXP2.PMCE)
2784 {
2785 \_SB.PCI0.EXP2.PMCE = 0x00
2786 \_SB.PCI0.EXP2.PMCS = 0x01
2787 }
2788
2789 If (\_SB.PCI0.EXP3.PMCE)
2790 {
2791 \_SB.PCI0.EXP3.PMCE = 0x00
2792 \_SB.PCI0.EXP3.PMCS = 0x01
2793 }
2794
2795 \_SB.PCI0.LPC.EXPE = 0x00
2796 \NPME = 0x01
2797 }
2798 }
2799
2800 If ((Arg1 != 0x01))
2801 {
2802 CDW1 |= 0x0A
2803 }
2804
2805 If ((CDW3 != CTRL))
2806 {
2807 CDW1 |= 0x10
2808 }
2809
2810 CDW3 = CTRL /* \_SB_.PCI0.CTRL */
2811 }
2812 Else
2813 {
2814 CDW1 |= 0x06
2815 }
2816
2817 Return (Arg3)
2818 }
2819
2820 Mutex (MDGS, 0x07)
2821 Name (VDEE, 0x01)
2822 Name (VDDA, Buffer (0x02){})
2823 CreateBitField (VDDA, 0x00, VUPC)
2824 CreateBitField (VDDA, 0x01, VQDL)
2825 CreateBitField (VDDA, 0x02, VQDC)
2826 CreateBitField (VDDA, 0x03, VQD0)
2827 CreateBitField (VDDA, 0x04, VQD1)
2828 CreateBitField (VDDA, 0x05, VQD2)
2829 CreateBitField (VDDA, 0x06, VSDL)
2830 CreateBitField (VDDA, 0x07, VSDC)
2831 CreateBitField (VDDA, 0x08, VSD0)
2832 CreateBitField (VDDA, 0x09, VSD1)
2833 CreateBitField (VDDA, 0x0A, VSD2)
2834 CreateBitField (VDDA, 0x0B, VSD3)
2835 CreateBitField (VDDA, 0x0C, VSD4)
2836 CreateBitField (VDDA, 0x0D, VSD5)
2837 CreateBitField (VDDA, 0x0E, MSWT)
2838 Device (VID)
2839 {
2840 Name (_ADR, 0x00020000) // _ADR: Address
2841 Name (RID, 0x00)
2842 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
2843 Field (VPCG, DWordAcc, NoLock, Preserve)
2844 {
2845 Offset (0x2C),
2846 VSID, 32,
2847 Offset (0xD4),
2848 VPWR, 8
2849 }
2850
2851 Name (MIDL, 0x0400)
2852 Name (MIDC, 0x0100)
2853 Name (MID0, 0x0300)
2854 Name (MID1, 0x0301)
2855 Name (MID2, 0x0302)
2856 Name (MID3, 0x0303)
2857 Name (MID4, 0x0304)
2858 Name (MID5, 0x0305)
2859 Name (_S3D, 0x03) // _S3D: S3 Device State
2860 Method (VRSI, 0, NotSerialized)
2861 {
2862 If ((PJCD == 0x00))
2863 {
2864 If ((OSYS >= 0x07DD))
2865 {
2866 VSID = 0x222017AA
2867 VMSH = 0x01
2868 }
2869 Else
2870 {
2871 VSID = 0x221317AA
2872 VMSH = 0x00
2873 }
2874 }
2875 ElseIf ((OSYS >= 0x07DD))
2876 {
2877 VSID = 0x221F17AA
2878 VMSH = 0x01
2879 }
2880 Else
2881 {
2882 VSID = 0x220D17AA
2883 VMSH = 0x00
2884 }
2885 }
2886
2887 Method (_INI, 0, NotSerialized) // _INI: Initialize
2888 {
2889 VRSI ()
2890 CLID = \_SB.LID._LID ()
2891 }
2892
2893 Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
2894 {
2895 Noop
2896 }
2897
2898 Method (_PS1, 0, NotSerialized) // _PS1: Power State 1
2899 {
2900 Noop
2901 }
2902
2903 Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
2904 {
2905 Noop
2906 }
2907
2908 Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
2909 {
2910 Noop
2911 }
2912
2913 Method (VSWT, 0, NotSerialized)
2914 {
2915 GHDS (0x00)
2916 }
2917
2918 Method (VLOC, 1, NotSerialized)
2919 {
2920 If ((Arg0 == \_SB.LID._LID ()))
2921 {
2922 \VSLD (Arg0)
2923 If ((VPWR == 0x00))
2924 {
2925 CLID = Arg0
2926 GNOT (0x02, 0x00)
2927 }
2928 }
2929 }
2930
2931 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
2932 {
2933 Arg0 &= 0x03
2934 If ((Arg0 == 0x02))
2935 {
2936 Local0 = 0x14
2937 While (Local0)
2938 {
2939 Local0--
2940 Acquire (MDGS, 0xFFFF)
2941 If ((0x00 == MSWT))
2942 {
2943 MSWT = 0x01
2944 Local0 = 0x00
2945 VDEE = Arg0
2946 }
2947
2948 Release (MDGS)
2949 Sleep (0xC8)
2950 }
2951 }
2952 Else
2953 {
2954 Acquire (MDGS, 0xFFFF)
2955 If ((VDEE == 0x02))
2956 {
2957 MSWT = 0x00
2958 }
2959
2960 If ((Arg0 > 0x02))
2961 {
2962 VDEE = 0x01
2963 }
2964 Else
2965 {
2966 VDEE = Arg0
2967 }
2968
2969 Release (MDGS)
2970 }
2971 }
2972
2973 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
2974 {
2975 NDID = 0x00
2976 If ((DIDL != 0x00))
2977 {
2978 NDID++
2979 }
2980
2981 If ((DDL2 != 0x00))
2982 {
2983 NDID++
2984 }
2985
2986 If ((DDL3 != 0x00))
2987 {
2988 NDID++
2989 }
2990
2991 If ((DDL4 != 0x00))
2992 {
2993 NDID++
2994 }
2995
2996 If ((DDL5 != 0x00))
2997 {
2998 NDID++
2999 }
3000
3001 If ((DDL6 != 0x00))
3002 {
3003 NDID++
3004 }
3005
3006 If ((DDL7 != 0x00))
3007 {
3008 NDID++
3009 }
3010
3011 If ((DDL8 != 0x00))
3012 {
3013 NDID++
3014 }
3015
3016 If ((NDID == 0x01))
3017 {
3018 Name (TMP1, Package (0x01)
3019 {
3020 0xFFFFFFFF
3021 })
3022 TMP1 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3023 Return (TMP1) /* \_SB_.PCI0.VID_._DOD.TMP1 */
3024 }
3025
3026 If ((NDID == 0x02))
3027 {
3028 Name (TMP2, Package (0x02)
3029 {
3030 0xFFFFFFFF,
3031 0xFFFFFFFF
3032 })
3033 TMP2 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3034 TMP2 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3035 Return (TMP2) /* \_SB_.PCI0.VID_._DOD.TMP2 */
3036 }
3037
3038 If ((NDID == 0x03))
3039 {
3040 Name (TMP3, Package (0x03)
3041 {
3042 0xFFFFFFFF,
3043 0xFFFFFFFF,
3044 0xFFFFFFFF
3045 })
3046 TMP3 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3047 TMP3 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3048 TMP3 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3049 Return (TMP3) /* \_SB_.PCI0.VID_._DOD.TMP3 */
3050 }
3051
3052 If ((NDID == 0x04))
3053 {
3054 Name (TMP4, Package (0x04)
3055 {
3056 0xFFFFFFFF,
3057 0xFFFFFFFF,
3058 0xFFFFFFFF,
3059 0xFFFFFFFF
3060 })
3061 TMP4 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3062 TMP4 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3063 TMP4 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3064 TMP4 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3065 Return (TMP4) /* \_SB_.PCI0.VID_._DOD.TMP4 */
3066 }
3067
3068 If ((NDID == 0x05))
3069 {
3070 Name (TMP5, Package (0x05)
3071 {
3072 0xFFFFFFFF,
3073 0xFFFFFFFF,
3074 0xFFFFFFFF,
3075 0xFFFFFFFF,
3076 0xFFFFFFFF
3077 })
3078 TMP5 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3079 TMP5 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3080 TMP5 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3081 TMP5 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3082 TMP5 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3083 Return (TMP5) /* \_SB_.PCI0.VID_._DOD.TMP5 */
3084 }
3085
3086 If ((NDID == 0x06))
3087 {
3088 Name (TMP6, Package (0x06)
3089 {
3090 0xFFFFFFFF,
3091 0xFFFFFFFF,
3092 0xFFFFFFFF,
3093 0xFFFFFFFF,
3094 0xFFFFFFFF,
3095 0xFFFFFFFF
3096 })
3097 TMP6 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3098 TMP6 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3099 TMP6 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3100 TMP6 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3101 TMP6 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3102 TMP6 [0x05] = (0x80010000 | (0x0F0F & DDL6))
3103 Return (TMP6) /* \_SB_.PCI0.VID_._DOD.TMP6 */
3104 }
3105
3106 If ((NDID == 0x07))
3107 {
3108 Name (TMP7, Package (0x07)
3109 {
3110 0xFFFFFFFF,
3111 0xFFFFFFFF,
3112 0xFFFFFFFF,
3113 0xFFFFFFFF,
3114 0xFFFFFFFF,
3115 0xFFFFFFFF,
3116 0xFFFFFFFF
3117 })
3118 TMP7 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3119 TMP7 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3120 TMP7 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3121 TMP7 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3122 TMP7 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3123 TMP7 [0x05] = (0x80010000 | (0x0F0F & DDL6))
3124 TMP7 [0x06] = (0x80010000 | (0x0F0F & DDL7))
3125 Return (TMP7) /* \_SB_.PCI0.VID_._DOD.TMP7 */
3126 }
3127
3128 If ((NDID > 0x07))
3129 {
3130 Name (TMP8, Package (0x08)
3131 {
3132 0xFFFFFFFF,
3133 0xFFFFFFFF,
3134 0xFFFFFFFF,
3135 0xFFFFFFFF,
3136 0xFFFFFFFF,
3137 0xFFFFFFFF,
3138 0xFFFFFFFF,
3139 0xFFFFFFFF
3140 })
3141 TMP8 [0x00] = (0x80010000 | (0x0F0F & DIDL))
3142 TMP8 [0x01] = (0x80010000 | (0x0F0F & DDL2))
3143 TMP8 [0x02] = (0x80010000 | (0x0F0F & DDL3))
3144 TMP8 [0x03] = (0x80010000 | (0x0F0F & DDL4))
3145 TMP8 [0x04] = (0x80010000 | (0x0F0F & DDL5))
3146 TMP8 [0x05] = (0x80010000 | (0x0F0F & DDL6))
3147 TMP8 [0x06] = (0x80010000 | (0x0F0F & DDL7))
3148 TMP8 [0x07] = (0x80010000 | (0x0F0F & DDL8))
3149 Return (TMP8) /* \_SB_.PCI0.VID_._DOD.TMP8 */
3150 }
3151
3152 Return (Package (0x01)
3153 {
3154 0x0400
3155 })
3156 }
3157
3158 Method (VDSW, 1, NotSerialized)
3159 {
3160 If ((VPWR == 0x00))
3161 {
3162 GDCK (Arg0)
3163 }
3164 }
3165
3166 Method (VCAD, 1, NotSerialized)
3167 {
3168 Local0 = 0x00
3169 If (((DIDL & 0x0F0F) == Arg0))
3170 {
3171 Local0 = 0x0D
3172 }
3173 ElseIf (((DDL2 & 0x0F0F) == Arg0))
3174 {
3175 Local0 = 0x0D
3176 }
3177 ElseIf (((DDL3 & 0x0F0F) == Arg0))
3178 {
3179 Local0 = 0x0D
3180 }
3181 ElseIf (((DDL4 & 0x0F0F) == Arg0))
3182 {
3183 Local0 = 0x0D
3184 }
3185 ElseIf (((DDL5 & 0x0F0F) == Arg0))
3186 {
3187 Local0 = 0x0D
3188 }
3189 ElseIf (((DDL6 & 0x0F0F) == Arg0))
3190 {
3191 Local0 = 0x0D
3192 }
3193 ElseIf (((DDL7 & 0x0F0F) == Arg0))
3194 {
3195 Local0 = 0x0D
3196 }
3197 ElseIf (((DDL8 & 0x0F0F) == Arg0))
3198 {
3199 Local0 = 0x0D
3200 }
3201
3202 If (((CPDL & 0x0F0F) == Arg0))
3203 {
3204 Local0 |= 0x10
3205 }
3206 ElseIf (((CPL2 & 0x0F0F) == Arg0))
3207 {
3208 Local0 |= 0x10
3209 }
3210 ElseIf (((CPL3 & 0x0F0F) == Arg0))
3211 {
3212 Local0 |= 0x10
3213 }
3214 ElseIf (((CPL4 & 0x0F0F) == Arg0))
3215 {
3216 Local0 |= 0x10
3217 }
3218 ElseIf (((CPL5 & 0x0F0F) == Arg0))
3219 {
3220 Local0 |= 0x10
3221 }
3222 ElseIf (((CPL6 & 0x0F0F) == Arg0))
3223 {
3224 Local0 |= 0x10
3225 }
3226 ElseIf (((CPL7 & 0x0F0F) == Arg0))
3227 {
3228 Local0 |= 0x10
3229 }
3230 ElseIf (((CPL8 & 0x0F0F) == Arg0))
3231 {
3232 Local0 |= 0x10
3233 }
3234
3235 If (((CADL & 0x0F0F) == Arg0))
3236 {
3237 Local0 |= 0x02
3238 }
3239 ElseIf (((CAL2 & 0x0F0F) == Arg0))
3240 {
3241 Local0 |= 0x02
3242 }
3243 ElseIf (((CAL3 & 0x0F0F) == Arg0))
3244 {
3245 Local0 |= 0x02
3246 }
3247 ElseIf (((CAL4 & 0x0F0F) == Arg0))
3248 {
3249 Local0 |= 0x02
3250 }
3251 ElseIf (((CAL5 & 0x0F0F) == Arg0))
3252 {
3253 Local0 |= 0x02
3254 }
3255 ElseIf (((CAL6 & 0x0F0F) == Arg0))
3256 {
3257 Local0 |= 0x02
3258 }
3259 ElseIf (((CAL7 & 0x0F0F) == Arg0))
3260 {
3261 Local0 |= 0x02
3262 }
3263 ElseIf (((CAL8 & 0x0F0F) == Arg0))
3264 {
3265 Local0 |= 0x02
3266 }
3267
3268 Return (Local0)
3269 }
3270
3271 Method (NDDS, 1, NotSerialized)
3272 {
3273 If (((NADL & 0x0F0F) == Arg0))
3274 {
3275 Return (0x01)
3276 }
3277 ElseIf (((NDL2 & 0x0F0F) == Arg0))
3278 {
3279 Return (0x01)
3280 }
3281 ElseIf (((NDL3 & 0x0F0F) == Arg0))
3282 {
3283 Return (0x01)
3284 }
3285 ElseIf (((NDL4 & 0x0F0F) == Arg0))
3286 {
3287 Return (0x01)
3288 }
3289 ElseIf (((NDL5 & 0x0F0F) == Arg0))
3290 {
3291 Return (0x01)
3292 }
3293 ElseIf (((NDL6 & 0x0F0F) == Arg0))
3294 {
3295 Return (0x01)
3296 }
3297 ElseIf (((NDL7 & 0x0F0F) == Arg0))
3298 {
3299 Return (0x01)
3300 }
3301 ElseIf (((NDL8 & 0x0F0F) == Arg0))
3302 {
3303 Return (0x01)
3304 }
3305
3306 Return (0x00)
3307 }
3308
3309 Device (LCD0)
3310 {
3311 Method (_ADR, 0, NotSerialized) // _ADR: Address
3312 {
3313 Return (0x0400)
3314 }
3315
3316 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3317 {
3318 Return (VCAD (MIDL))
3319 }
3320
3321 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3322 {
3323 Return (NDDS (MIDL))
3324 }
3325
3326 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3327 {
3328 VSDL = (Arg0 & 0x01)
3329 }
3330
3331 Method (_DDC, 1, NotSerialized) // _DDC: Display Data Current
3332 {
3333 If ((Arg0 == 0x01))
3334 {
3335 Return (\VEDI)
3336 }
3337 ElseIf ((Arg0 == 0x02))
3338 {
3339 Return (\VEDI)
3340 }
3341
3342 Return (0x00)
3343 }
3344 }
3345
3346 Device (CRT0)
3347 {
3348 Method (_ADR, 0, NotSerialized) // _ADR: Address
3349 {
3350 Return (0x0100)
3351 }
3352
3353 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3354 {
3355 Return (VCAD (MIDC))
3356 }
3357
3358 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3359 {
3360 Return (NDDS (MIDC))
3361 }
3362
3363 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3364 {
3365 VSDC = (Arg0 & 0x01)
3366 }
3367 }
3368
3369 Device (DVI0)
3370 {
3371 Method (_ADR, 0, NotSerialized) // _ADR: Address
3372 {
3373 Return (0x0300)
3374 }
3375
3376 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3377 {
3378 Return (VCAD (MID0))
3379 }
3380
3381 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3382 {
3383 Return (NDDS (MID0))
3384 }
3385
3386 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3387 {
3388 VSD0 = (Arg0 & 0x01)
3389 }
3390 }
3391
3392 Device (DVI1)
3393 {
3394 Method (_ADR, 0, NotSerialized) // _ADR: Address
3395 {
3396 Return (0x0301)
3397 }
3398
3399 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3400 {
3401 Return (VCAD (MID1))
3402 }
3403
3404 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3405 {
3406 Return (NDDS (MID1))
3407 }
3408
3409 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3410 {
3411 VSD1 = (Arg0 & 0x01)
3412 }
3413 }
3414
3415 Device (DVI2)
3416 {
3417 Method (_ADR, 0, NotSerialized) // _ADR: Address
3418 {
3419 Return (0x0302)
3420 }
3421
3422 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3423 {
3424 Return (VCAD (MID2))
3425 }
3426
3427 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3428 {
3429 Return (NDDS (MID2))
3430 }
3431
3432 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3433 {
3434 VSD2 = (Arg0 & 0x01)
3435 }
3436 }
3437
3438 Device (DVI3)
3439 {
3440 Method (_ADR, 0, NotSerialized) // _ADR: Address
3441 {
3442 Return (0x0303)
3443 }
3444
3445 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3446 {
3447 Return (VCAD (MID3))
3448 }
3449
3450 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3451 {
3452 Return (NDDS (MID3))
3453 }
3454
3455 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3456 {
3457 VSD3 = (Arg0 & 0x01)
3458 }
3459 }
3460
3461 Device (DVI4)
3462 {
3463 Method (_ADR, 0, NotSerialized) // _ADR: Address
3464 {
3465 Return (0x0304)
3466 }
3467
3468 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3469 {
3470 Return (VCAD (MID4))
3471 }
3472
3473 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3474 {
3475 Return (NDDS (MID4))
3476 }
3477
3478 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3479 {
3480 VSD4 = (Arg0 & 0x01)
3481 }
3482 }
3483
3484 Device (DVI5)
3485 {
3486 Method (_ADR, 0, NotSerialized) // _ADR: Address
3487 {
3488 Return (0x0305)
3489 }
3490
3491 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
3492 {
3493 Return (VCAD (MID5))
3494 }
3495
3496 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
3497 {
3498 Return (NDDS (MID5))
3499 }
3500
3501 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
3502 {
3503 VSD5 = (Arg0 & 0x01)
3504 }
3505 }
3506 }
3507
3508 Device (LPC)
3509 {
3510 Name (_ADR, 0x001F0000) // _ADR: Address
3511 Name (_S3D, 0x03) // _S3D: S3 Device State
3512 Name (RID, 0x00)
3513 Device (SIO)
3514 {
3515 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
3516 Name (_UID, 0x00) // _UID: Unique ID
3517 Name (SCRS, ResourceTemplate ()
3518 {
3519 IO (Decode16,
3520 0x0010, // Range Minimum
3521 0x0010, // Range Maximum
3522 0x01, // Alignment
3523 0x10, // Length
3524 )
3525 IO (Decode16,
3526 0x0090, // Range Minimum
3527 0x0090, // Range Maximum
3528 0x01, // Alignment
3529 0x10, // Length
3530 )
3531 IO (Decode16,
3532 0x0024, // Range Minimum
3533 0x0024, // Range Maximum
3534 0x01, // Alignment
3535 0x02, // Length
3536 )
3537 IO (Decode16,
3538 0x0028, // Range Minimum
3539 0x0028, // Range Maximum
3540 0x01, // Alignment
3541 0x02, // Length
3542 )
3543 IO (Decode16,
3544 0x002C, // Range Minimum
3545 0x002C, // Range Maximum
3546 0x01, // Alignment
3547 0x02, // Length
3548 )
3549 IO (Decode16,
3550 0x0030, // Range Minimum
3551 0x0030, // Range Maximum
3552 0x01, // Alignment
3553 0x02, // Length
3554 )
3555 IO (Decode16,
3556 0x0034, // Range Minimum
3557 0x0034, // Range Maximum
3558 0x01, // Alignment
3559 0x02, // Length
3560 )
3561 IO (Decode16,
3562 0x0038, // Range Minimum
3563 0x0038, // Range Maximum
3564 0x01, // Alignment
3565 0x02, // Length
3566 )
3567 IO (Decode16,
3568 0x003C, // Range Minimum
3569 0x003C, // Range Maximum
3570 0x01, // Alignment
3571 0x02, // Length
3572 )
3573 IO (Decode16,
3574 0x00A4, // Range Minimum
3575 0x00A4, // Range Maximum
3576 0x01, // Alignment
3577 0x02, // Length
3578 )
3579 IO (Decode16,
3580 0x00A8, // Range Minimum
3581 0x00A8, // Range Maximum
3582 0x01, // Alignment
3583 0x02, // Length
3584 )
3585 IO (Decode16,
3586 0x00AC, // Range Minimum
3587 0x00AC, // Range Maximum
3588 0x01, // Alignment
3589 0x02, // Length
3590 )
3591 IO (Decode16,
3592 0x00B0, // Range Minimum
3593 0x00B0, // Range Maximum
3594 0x01, // Alignment
3595 0x06, // Length
3596 )
3597 IO (Decode16,
3598 0x00B8, // Range Minimum
3599 0x00B8, // Range Maximum
3600 0x01, // Alignment
3601 0x02, // Length
3602 )
3603 IO (Decode16,
3604 0x00BC, // Range Minimum
3605 0x00BC, // Range Maximum
3606 0x01, // Alignment
3607 0x02, // Length
3608 )
3609 IO (Decode16,
3610 0x0050, // Range Minimum
3611 0x0050, // Range Maximum
3612 0x01, // Alignment
3613 0x04, // Length
3614 )
3615 IO (Decode16,
3616 0x0072, // Range Minimum
3617 0x0072, // Range Maximum
3618 0x01, // Alignment
3619 0x06, // Length
3620 )
3621 IO (Decode16,
3622 0x1800, // Range Minimum
3623 0x1800, // Range Maximum
3624 0x01, // Alignment
3625 0xA0, // Length
3626 )
3627 IO (Decode16,
3628 0x0800, // Range Minimum
3629 0x0800, // Range Maximum
3630 0x01, // Alignment
3631 0x80, // Length
3632 )
3633 IO (Decode16,
3634 0x0880, // Range Minimum
3635 0x0880, // Range Maximum
3636 0x01, // Alignment
3637 0x80, // Length
3638 )
3639 IO (Decode16,
3640 0x0900, // Range Minimum
3641 0x0900, // Range Maximum
3642 0x01, // Alignment
3643 0x80, // Length
3644 )
3645 IO (Decode16,
3646 0x0980, // Range Minimum
3647 0x0980, // Range Maximum
3648 0x01, // Alignment
3649 0x80, // Length
3650 )
3651 IO (Decode16,
3652 0x0A00, // Range Minimum
3653 0x0A00, // Range Maximum
3654 0x01, // Alignment
3655 0x80, // Length
3656 )
3657 IO (Decode16,
3658 0x0A80, // Range Minimum
3659 0x0A80, // Range Maximum
3660 0x01, // Alignment
3661 0x80, // Length
3662 )
3663 IO (Decode16,
3664 0x0B00, // Range Minimum
3665 0x0B00, // Range Maximum
3666 0x01, // Alignment
3667 0x80, // Length
3668 )
3669 IO (Decode16,
3670 0x0B80, // Range Minimum
3671 0x0B80, // Range Maximum
3672 0x01, // Alignment
3673 0x80, // Length
3674 )
3675 IO (Decode16,
3676 0x15E0, // Range Minimum
3677 0x15E0, // Range Maximum
3678 0x01, // Alignment
3679 0x10, // Length
3680 )
3681 IO (Decode16,
3682 0x1600, // Range Minimum
3683 0x1600, // Range Maximum
3684 0x01, // Alignment
3685 0x80, // Length
3686 )
3687 IO (Decode16,
3688 0x1640, // Range Minimum
3689 0x1640, // Range Maximum
3690 0x01, // Alignment
3691 0x20, // Length
3692 )
3693 Memory32Fixed (ReadWrite,
3694 0xF8000000, // Address Base
3695 0x04000000, // Address Length
3696 )
3697 Memory32Fixed (ReadWrite,
3698 0x00000000, // Address Base
3699 0x00001000, // Address Length
3700 _Y26)
3701 Memory32Fixed (ReadWrite,
3702 0xFED1C000, // Address Base
3703 0x00004000, // Address Length
3704 )
3705 Memory32Fixed (ReadWrite,
3706 0xFED10000, // Address Base
3707 0x00004000, // Address Length
3708 )
3709 Memory32Fixed (ReadWrite,
3710 0xFED18000, // Address Base
3711 0x00001000, // Address Length
3712 )
3713 Memory32Fixed (ReadWrite,
3714 0xFED19000, // Address Base
3715 0x00001000, // Address Length
3716 )
3717 Memory32Fixed (ReadWrite,
3718 0xFED45000, // Address Base
3719 0x00007000, // Address Length
3720 )
3721 })
3722 CreateDWordField (SCRS, \_SB.PCI0.LPC.SIO._Y26._BAS, TRMB) // _BAS: Base Address
3723 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
3724 {
3725 TRMB = \TBAB
3726 If ((\_SB.PCI0.LPC.TPM._STA () == 0x0F))
3727 {
3728 Return (SCRS) /* \_SB_.PCI0.LPC_.SIO_.SCRS */
3729 }
3730 Else
3731 {
3732 Local0 = (SizeOf (SCRS) - 0x02)
3733 Name (BUF0, Buffer (Local0){})
3734 Local0 += SizeOf (\_SB.PCI0.LPC.TPM.BUF1)
3735 Name (BUF1, Buffer (Local0){})
3736 BUF0 = SCRS /* \_SB_.PCI0.LPC_.SIO_.SCRS */
3737 Concatenate (BUF0, \_SB.PCI0.LPC.TPM.BUF1, BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
3738 Return (BUF1) /* \_SB_.PCI0.LPC_.SIO_._CRS.BUF1 */
3739 }
3740 }
3741 }
3742
3743 OperationRegion (LPCS, PCI_Config, 0x00, 0x0100)
3744 Field (LPCS, AnyAcc, NoLock, Preserve)
3745 {
3746 Offset (0x60),
3747 PIRA, 8,
3748 PIRB, 8,
3749 PIRC, 8,
3750 PIRD, 8,
3751 SERQ, 8,
3752 Offset (0x68),
3753 PIRE, 8,
3754 PIRF, 8,
3755 PIRG, 8,
3756 PIRH, 8,
3757 Offset (0x80),
3758 XU1A, 3,
3759 , 1,
3760 XU2A, 3,
3761 Offset (0x81),
3762 XPA, 2,
3763 , 2,
3764 XFA, 1,
3765 Offset (0x82),
3766 XU1E, 1,
3767 XU2E, 1,
3768 XPE, 1,
3769 XFE, 1,
3770 Offset (0x84),
3771 XG1E, 1,
3772 , 1,
3773 XG1A, 14,
3774 Offset (0x88),
3775 XG2E, 1,
3776 , 1,
3777 XG2A, 14,
3778 Offset (0xA0),
3779 , 2,
3780 CLKR, 1,
3781 , 7,
3782 EXPE, 1,
3783 Offset (0xA2),
3784 Offset (0xAC),
3785 Offset (0xAD),
3786 Offset (0xAE),
3787 XUSB, 1,
3788 Offset (0xB8),
3789 GR00, 2,
3790 , 10,
3791 GR06, 2
3792 }
3793
3794 OperationRegion (LPIO, SystemIO, 0x0800, 0x0400)
3795 Field (LPIO, DWordAcc, NoLock, Preserve)
3796 {
3797 Offset (0x100),
3798 , 30,
3799 DOI0, 1,
3800 Offset (0x108),
3801 , 30,
3802 DOI1, 1,
3803 Offset (0x110),
3804 , 30,
3805 DOI2, 1,
3806 Offset (0x118),
3807 , 30,
3808 DOI3, 1,
3809 Offset (0x158),
3810 , 30,
3811 NFCI, 1,
3812 Offset (0x180),
3813 , 3,
3814 XHPD, 1,
3815 Offset (0x188),
3816 , 30,
3817 GPGD, 1,
3818 Offset (0x1B0),
3819 , 31,
3820 GLIS, 1,
3821 Offset (0x2B0),
3822 , 30,
3823 FBTR, 1,
3824 Offset (0x2B8),
3825 , 31,
3826 FBCL, 1,
3827 Offset (0x300),
3828 , 30,
3829 NFCD, 1,
3830 Offset (0x308),
3831 , 31,
3832 NFCP, 1
3833 }
3834
3835 OperationRegion (PMIO, SystemIO, 0x1800, 0x0100)
3836 Field (PMIO, AnyAcc, NoLock, Preserve)
3837 {
3838 Offset (0x2A),
3839 , 6,
3840 XHPE, 1,
3841 Offset (0x42),
3842 , 1,
3843 SWGE, 1,
3844 Offset (0x64),
3845 , 9,
3846 SCIS, 1,
3847 Offset (0x66)
3848 }
3849
3850 Device (PIC)
3851 {
3852 Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
3853 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3854 {
3855 IO (Decode16,
3856 0x0020, // Range Minimum
3857 0x0020, // Range Maximum
3858 0x01, // Alignment
3859 0x02, // Length
3860 )
3861 IO (Decode16,
3862 0x00A0, // Range Minimum
3863 0x00A0, // Range Maximum
3864 0x01, // Alignment
3865 0x02, // Length
3866 )
3867 IO (Decode16,
3868 0x04D0, // Range Minimum
3869 0x04D0, // Range Maximum
3870 0x01, // Alignment
3871 0x02, // Length
3872 )
3873 IRQNoFlags ()
3874 {2}
3875 })
3876 }
3877
3878 Device (TIMR)
3879 {
3880 Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
3881 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3882 {
3883 IO (Decode16,
3884 0x0040, // Range Minimum
3885 0x0040, // Range Maximum
3886 0x01, // Alignment
3887 0x04, // Length
3888 )
3889 IRQNoFlags ()
3890 {0}
3891 })
3892 }
3893
3894 Device (HPET)
3895 {
3896 Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
3897 Method (_STA, 0, NotSerialized) // _STA: Status
3898 {
3899 If ((\WNTF && !\WXPF))
3900 {
3901 Return (0x00)
3902 }
3903 Else
3904 {
3905 Return (0x0F)
3906 }
3907
3908 Return (0x00)
3909 }
3910
3911 Name (BUF0, ResourceTemplate ()
3912 {
3913 Memory32Fixed (ReadOnly,
3914 0xFED00000, // Address Base
3915 0x00000400, // Address Length
3916 _Y27)
3917 })
3918 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
3919 {
3920 CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y27._BAS, HPT0) // _BAS: Base Address
3921 HPT0 = \HPET
3922 Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
3923 }
3924 }
3925
3926 Device (DMAC)
3927 {
3928 Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
3929 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3930 {
3931 IO (Decode16,
3932 0x0000, // Range Minimum
3933 0x0000, // Range Maximum
3934 0x01, // Alignment
3935 0x10, // Length
3936 )
3937 IO (Decode16,
3938 0x0080, // Range Minimum
3939 0x0080, // Range Maximum
3940 0x01, // Alignment
3941 0x10, // Length
3942 )
3943 IO (Decode16,
3944 0x00C0, // Range Minimum
3945 0x00C0, // Range Maximum
3946 0x01, // Alignment
3947 0x20, // Length
3948 )
3949 DMA (Compatibility, BusMaster, Transfer8_16, )
3950 {4}
3951 })
3952 }
3953
3954 Device (SPKR)
3955 {
3956 Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID
3957 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3958 {
3959 IO (Decode16,
3960 0x0061, // Range Minimum
3961 0x0061, // Range Maximum
3962 0x01, // Alignment
3963 0x01, // Length
3964 )
3965 })
3966 }
3967
3968 Device (FPU)
3969 {
3970 Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
3971 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3972 {
3973 IO (Decode16,
3974 0x00F0, // Range Minimum
3975 0x00F0, // Range Maximum
3976 0x01, // Alignment
3977 0x01, // Length
3978 )
3979 IRQNoFlags ()
3980 {13}
3981 })
3982 }
3983
3984 Device (RTC)
3985 {
3986 Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
3987 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3988 {
3989 IO (Decode16,
3990 0x0070, // Range Minimum
3991 0x0070, // Range Maximum
3992 0x01, // Alignment
3993 0x02, // Length
3994 )
3995 IRQNoFlags ()
3996 {8}
3997 })
3998 }
3999
4000 Device (KBD)
4001 {
4002 Method (_HID, 0, NotSerialized) // _HID: Hardware ID
4003 {
4004 If (\WIN8)
4005 {
4006 Return (0x7100AE30)
4007 }
4008
4009 Return (0x0303D041)
4010 }
4011
4012 Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID
4013 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4014 {
4015 IO (Decode16,
4016 0x0060, // Range Minimum
4017 0x0060, // Range Maximum
4018 0x01, // Alignment
4019 0x01, // Length
4020 )
4021 IO (Decode16,
4022 0x0064, // Range Minimum
4023 0x0064, // Range Maximum
4024 0x01, // Alignment
4025 0x01, // Length
4026 )
4027 IRQNoFlags ()
4028 {1}
4029 })
4030 }
4031
4032 Device (MOU)
4033 {
4034 Name (_HID, EisaId ("IBM3780")) // _HID: Hardware ID
4035 Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID
4036 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4037 {
4038 IRQNoFlags ()
4039 {12}
4040 })
4041 Method (MHID, 0, NotSerialized)
4042 {
4043 If (\_SB.PCI0.LPC.PADD)
4044 {
4045 _HID = 0x80374D24
4046 }
4047 ElseIf (\_SB.PCI0.LPC.NFCD)
4048 {
4049 _HID = 0x3600AE30
4050 }
4051 Else
4052 {
4053 _HID = 0x3900AE30
4054 }
4055 }
4056 }
4057
4058 OperationRegion (IMGA, SystemIO, 0x15E0, 0x10)
4059 Field (IMGA, ByteAcc, NoLock, Preserve)
4060 {
4061 Offset (0x01),
4062 Offset (0x02),
4063 Offset (0x03),
4064 WAKR, 16,
4065 Offset (0x0C),
4066 GAIX, 8,
4067 Offset (0x0E),
4068 GADT, 8,
4069 Offset (0x10)
4070 }
4071
4072 IndexField (GAIX, GADT, ByteAcc, NoLock, Preserve)
4073 {
4074 Offset (0x50),
4075 , 3,
4076 IVPW, 1,
4077 DVPW, 1,
4078 BLPL, 1,
4079 Offset (0x51),
4080 TP4R, 1,
4081 PADR, 1,
4082 BPAD, 1,
4083 , 1,
4084 , 1,
4085 PADD, 1,
4086 Offset (0x60),
4087 EPWG, 1,
4088 , 1,
4089 CSON, 1,
4090 DSCI, 1,
4091 DSCS, 1,
4092 DLAN, 1,
4093 Offset (0xC2),
4094 GAID, 8
4095 }
4096
4097 Scope (\_SB)
4098 {
4099 Name (TCGP, Buffer (0x08)
4100 {
4101 0x1F, 0xE0, 0x1F, 0x01, 0x02, 0x04, 0x08, 0xF0 // ........
4102 })
4103 CreateByteField (TCGP, 0x00, PPRQ)
4104 CreateByteField (TCGP, 0x01, PPL1)
4105 CreateByteField (TCGP, 0x02, PPRP)
4106 CreateByteField (TCGP, 0x03, TPRS)
4107 CreateByteField (TCGP, 0x04, PPOR)
4108 CreateByteField (TCGP, 0x05, TPMV)
4109 CreateByteField (TCGP, 0x06, MOR)
4110 CreateByteField (TCGP, 0x07, TVEN)
4111 OperationRegion (TCGC, SystemIO, 0x72, 0x02)
4112 Field (TCGC, ByteAcc, Lock, Preserve)
4113 {
4114 TIDX, 8,
4115 TPDA, 8
4116 }
4117
4118 IndexField (TIDX, TPDA, ByteAcc, Lock, Preserve)
4119 {
4120 Offset (0x40),
4121 TPP1, 8,
4122 PPLO, 8,
4123 TPP3, 8
4124 }
4125
4126 OperationRegion (SMIP, SystemIO, 0xB2, 0x02)
4127 Field (SMIP, ByteAcc, NoLock, Preserve)
4128 {
4129 SMIT, 8,
4130 SMID, 8
4131 }
4132 }
4133
4134 Device (TPM)
4135 {
4136 Name (TMPV, 0x00)
4137 Method (_HID, 0, NotSerialized) // _HID: Hardware ID
4138 {
4139 If ((TVID == 0x15D1))
4140 {
4141 Return (0x0201D824)
4142 }
4143
4144 If (((TVID == 0x1050) || (TVID == 0x100B)))
4145 {
4146 Return (0x0010A35C)
4147 }
4148
4149 If ((TVID == 0x19FA))
4150 {
4151 Return (0x0435CF4D)
4152 }
4153
4154 If ((TDID == 0x1002))
4155 {
4156 Return (0x02016D08)
4157 }
4158
4159 If ((TDID == 0x1001))
4160 {
4161 Return (0x01016D08)
4162 }
4163
4164 If ((TVID == 0x1114))
4165 {
4166 Return (0x00128D06)
4167 }
4168
4169 If ((TVID == 0x104A))
4170 {
4171 Return (0x0012AF4D)
4172 }
4173
4174 Return (0x310CD041)
4175 }
4176
4177 Name (_CID, EisaId ("PNP0C31")) // _CID: Compatible ID
4178 Name (_UID, 0x01) // _UID: Unique ID
4179 OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x1000)
4180 Field (TMMB, ByteAcc, Lock, Preserve)
4181 {
4182 ACCS, 8,
4183 Offset (0x18),
4184 TSTA, 8,
4185 TBCA, 8,
4186 Offset (0xF00),
4187 TVID, 16,
4188 TDID, 16
4189 }
4190
4191 Method (_STA, 0, NotSerialized) // _STA: Status
4192 {
4193 If ((ACCS == 0xFF))
4194 {
4195 Return (0x00)
4196 }
4197 ElseIf ((TPME == 0x00))
4198 {
4199 Return (0x00)
4200 }
4201
4202 Return (0x0F)
4203 }
4204
4205 Name (BUF1, ResourceTemplate ()
4206 {
4207 Memory32Fixed (ReadOnly,
4208 0xFED40000, // Address Base
4209 0x00005000, // Address Length
4210 )
4211 })
4212 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4213 {
4214 Return (BUF1) /* \_SB_.PCI0.LPC_.TPM_.BUF1 */
4215 }
4216
4217 Method (UCMP, 2, NotSerialized)
4218 {
4219 If ((0x10 != SizeOf (Arg0)))
4220 {
4221 Return (0x00)
4222 }
4223
4224 If ((0x10 != SizeOf (Arg1)))
4225 {
4226 Return (0x00)
4227 }
4228
4229 Local0 = 0x00
4230 While ((Local0 < 0x10))
4231 {
4232 If ((DerefOf (Arg0 [Local0]) != DerefOf (Arg1 [Local0]
4233 )))
4234 {
4235 Return (0x00)
4236 }
4237
4238 Local0++
4239 }
4240
4241 Return (0x01)
4242 }
4243
4244 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
4245 {
4246 Name (TTMP, Buffer (0x01)
4247 {
4248 0x00 // .
4249 })
4250 CreateByteField (TTMP, 0x00, TMPV)
4251 If ((UCMP (Arg0, ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */) == 0x01))
4252 {
4253 If ((Arg2 == 0x00))
4254 {
4255 Return (Buffer (0x02)
4256 {
4257 0xFF, 0x01 // ..
4258 })
4259 }
4260
4261 If ((Arg2 == 0x01))
4262 {
4263 Return (Buffer (0x04)
4264 {
4265 "1.2"
4266 })
4267 }
4268
4269 If ((Arg2 == 0x02))
4270 {
4271 TMPV = TPP3 /* \_SB_.TPP3 */
4272 If ((TMPV & TPRS))
4273 {
4274 If ((DerefOf (Arg3 [0x00]) <= 0x0B))
4275 {
4276 TPP1 = DerefOf (Arg3 [0x00])
4277 Return (0x00)
4278 }
4279
4280 If (((DerefOf (Arg3 [0x00]) >= 0x0E) && (
4281 DerefOf (Arg3 [0x00]) <= 0x12)))
4282 {
4283 TPP1 = DerefOf (Arg3 [0x00])
4284 Return (0x00)
4285 }
4286
4287 If (((DerefOf (Arg3 [0x00]) == 0x15) || (DerefOf (
4288 Arg3 [0x00]) == 0x16)))
4289 {
4290 TPP1 = DerefOf (Arg3 [0x00])
4291 Return (0x00)
4292 }
4293
4294 Return (0x01)
4295 }
4296
4297 Return (0x02)
4298 }
4299
4300 If ((Arg2 == 0x03))
4301 {
4302 Name (TMP1, Package (0x02)
4303 {
4304 0x00,
4305 0xFFFFFFFF
4306 })
4307 TMPV = TPP1 /* \_SB_.TPP1 */
4308 TMP1 [0x01] = TMPV &= PPRQ /* \_SB_.PPRQ */
4309 Return (TMP1) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP1 */
4310 }
4311
4312 If ((Arg2 == 0x04))
4313 {
4314 Return (0x02)
4315 }
4316
4317 If ((Arg2 == 0x05))
4318 {
4319 Name (TMP2, Package (0x03)
4320 {
4321 0x00,
4322 0xFFFFFFFF,
4323 0xFFFFFFFF
4324 })
4325 TMP2 [0x01] = PPLO /* \_SB_.PPLO */
4326 TMP2 [0x02] = 0x00
4327 Return (TMP2) /* \_SB_.PCI0.LPC_.TPM_._DSM.TMP2 */
4328 }
4329
4330 If ((Arg2 == 0x06))
4331 {
4332 Return (0x03)
4333 }
4334
4335 If ((Arg2 == 0x07))
4336 {
4337 TMPV = TPP3 /* \_SB_.TPP3 */
4338 If ((TMPV & TPRS))
4339 {
4340 If ((DerefOf (Arg3 [0x00]) <= 0x0B))
4341 {
4342 TPP1 = DerefOf (Arg3 [0x00])
4343 Return (0x00)
4344 }
4345
4346 If (((DerefOf (Arg3 [0x00]) >= 0x0E) && (
4347 DerefOf (Arg3 [0x00]) <= 0x12)))
4348 {
4349 TPP1 = DerefOf (Arg3 [0x00])
4350 Return (0x00)
4351 }
4352
4353 If (((DerefOf (Arg3 [0x00]) == 0x15) || (DerefOf (
4354 Arg3 [0x00]) == 0x16)))
4355 {
4356 TPP1 = DerefOf (Arg3 [0x00])
4357 Return (0x00)
4358 }
4359
4360 Return (0x01)
4361 }
4362
4363 Return (0x02)
4364 }
4365
4366 If ((Arg2 == 0x08))
4367 {
4368 Name (PPIP, 0x00)
4369 Name (PPIC, 0x00)
4370 If ((\TPPP == 0x00))
4371 {
4372 PPIP = 0x01
4373 }
4374
4375 If ((\TPPC == 0x00))
4376 {
4377 PPIC = 0x01
4378 }
4379
4380 If ((DerefOf (Arg3 [0x00]) == 0x05))
4381 {
4382 If ((PPIC > 0x00))
4383 {
4384 Return (0x04)
4385 }
4386
4387 Return (0x03)
4388 }
4389
4390 If (((DerefOf (Arg3 [0x00]) >= 0x01) && (
4391 DerefOf (Arg3 [0x00]) <= 0x04)))
4392 {
4393 If ((PPIP > 0x00))
4394 {
4395 Return (0x04)
4396 }
4397
4398 Return (0x03)
4399 }
4400
4401 If (((DerefOf (Arg3 [0x00]) >= 0x06) && (
4402 DerefOf (Arg3 [0x00]) <= 0x0B)))
4403 {
4404 If ((PPIP > 0x00))
4405 {
4406 Return (0x04)
4407 }
4408
4409 Return (0x03)
4410 }
4411
4412 If (((DerefOf (Arg3 [0x00]) == 0x0E) || ((
4413 DerefOf (Arg3 [0x00]) >= 0x15) && (DerefOf (Arg3 [0x00]) <=
4414 0x16))))
4415 {
4416 If (((PPIP > 0x00) && (PPIC > 0x00)))
4417 {
4418 Return (0x04)
4419 }
4420
4421 Return (0x03)
4422 }
4423
4424 If (((DerefOf (Arg3 [0x00]) == 0x10) || (DerefOf (
4425 Arg3 [0x00]) == 0x12)))
4426 {
4427 Return (0x03)
4428 }
4429
4430 If (((DerefOf (Arg3 [0x00]) == 0x00) || ((DerefOf (
4431 Arg3 [0x00]) == 0x0F) || (DerefOf (Arg3 [0x00]) == 0x11))))
4432 {
4433 Return (0x04)
4434 }
4435
4436 Return (0x00)
4437 }
4438
4439 Return (0x01)
4440 }
4441
4442 If ((UCMP (Arg0, ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d")) == 0x01))
4443 {
4444 If ((Arg2 == 0x00))
4445 {
4446 Return (Buffer (0x01)
4447 {
4448 0x03 // .
4449 })
4450 }
4451
4452 If ((Arg2 == 0x01))
4453 {
4454 TMPV = DerefOf (Arg3 [0x00])
4455 TMPV &= 0x01
4456 If ((TMPV == 0x00))
4457 {
4458 \_SB.MOR = 0x00
4459 Return (0x00)
4460 }
4461
4462 If ((TMPV == 0x01))
4463 {
4464 \_SB.MOR = 0x01
4465 Return (0x00)
4466 }
4467 }
4468
4469 Return (0x01)
4470 }
4471
4472 Return (Buffer (0x01)
4473 {
4474 0x00 // .
4475 })
4476 }
4477
4478 Method (CMOR, 0, NotSerialized)
4479 {
4480 \_SB.MOR = 0x00
4481 SMID = 0x80
4482 SMIT = 0xC1
4483 }
4484 }
4485
4486 Device (EC)
4487 {
4488 Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
4489 Name (_UID, 0x00) // _UID: Unique ID
4490 Name (_GPE, 0x25) // _GPE: General Purpose Events
4491 Method (_REG, 2, NotSerialized) // _REG: Region Availability
4492 {
4493 If ((Arg0 == 0x03))
4494 {
4495 \H8DR = Arg1
4496 }
4497 }
4498
4499 OperationRegion (ECOR, EmbeddedControl, 0x00, 0x0100)
4500 Field (ECOR, ByteAcc, NoLock, Preserve)
4501 {
4502 HDBM, 1,
4503 , 1,
4504 , 1,
4505 HFNE, 1,
4506 , 1,
4507 , 1,
4508 HLDM, 1,
4509 Offset (0x01),
4510 BBLS, 1,
4511 BTCM, 1,
4512 , 1,
4513 , 1,
4514 , 1,
4515 HBPR, 1,
4516 BTPC, 1,
4517 Offset (0x02),
4518 HDUE, 1,
4519 , 4,
4520 SNLK, 1,
4521 Offset (0x03),
4522 , 5,
4523 HAUM, 2,
4524 Offset (0x05),
4525 HSPA, 1,
4526 Offset (0x06),
4527 HSUN, 8,
4528 HSRP, 8,
4529 Offset (0x0C),
4530 HLCL, 8,
4531 , 4,
4532 CALM, 1,
4533 Offset (0x0E),
4534 HFNS, 2,
4535 Offset (0x0F),
4536 , 6,
4537 NULS, 1,
4538 Offset (0x10),
4539 HAM0, 8,
4540 HAM1, 8,
4541 HAM2, 8,
4542 HAM3, 8,
4543 HAM4, 8,
4544 HAM5, 8,
4545 HAM6, 8,
4546 HAM7, 8,
4547 HAM8, 8,
4548 HAM9, 8,
4549 HAMA, 8,
4550 HAMB, 8,
4551 HAMC, 8,
4552 HAMD, 8,
4553 HAME, 8,
4554 HAMF, 8,
4555 Offset (0x23),
4556 HANT, 8,
4557 Offset (0x26),
4558 , 2,
4559 HANA, 2,
4560 Offset (0x27),
4561 Offset (0x28),
4562 , 1,
4563 SKEM, 1,
4564 Offset (0x29),
4565 Offset (0x2A),
4566 HATR, 8,
4567 HT0H, 8,
4568 HT0L, 8,
4569 HT1H, 8,
4570 HT1L, 8,
4571 HFSP, 8,
4572 , 6,
4573 HMUT, 1,
4574 Offset (0x31),
4575 , 2,
4576 HUWB, 1,
4577 Offset (0x32),
4578 HWPM, 1,
4579 HWLB, 1,
4580 HWLO, 1,
4581 HWDK, 1,
4582 HWFN, 1,
4583 HWBT, 1,
4584 HWRI, 1,
4585 HWBU, 1,
4586 HWLU, 1,
4587 Offset (0x34),
4588 , 3,
4589 PIBS, 1,
4590 , 3,
4591 HPLO, 1,
4592 Offset (0x36),
4593 HWAC, 16,
4594 HB0S, 7,
4595 HB0A, 1,
4596 HB1S, 7,
4597 HB1A, 1,
4598 HCMU, 1,
4599 , 2,
4600 OVRQ, 1,
4601 DCBD, 1,
4602 DCWL, 1,
4603 DCWW, 1,
4604 HB1I, 1,
4605 , 1,
4606 KBLT, 1,
4607 BTPW, 1,
4608 FNKC, 1,
4609 HUBS, 1,
4610 BDPW, 1,
4611 BDDT, 1,
4612 HUBB, 1,
4613 Offset (0x46),
4614 , 1,
4615 BTWK, 1,
4616 HPLD, 1,
4617 , 1,
4618 HPAC, 1,
4619 BTST, 1,
4620 Offset (0x47),
4621 HPBU, 1,
4622 , 1,
4623 HBID, 1,
4624 , 3,
4625 HBCS, 1,
4626 HPNF, 1,
4627 , 1,
4628 GSTS, 1,
4629 , 2,
4630 HLBU, 1,
4631 DOCD, 1,
4632 HCBL, 1,
4633 Offset (0x49),
4634 SLUL, 1,
4635 Offset (0x4C),
4636 HTMH, 8,
4637 HTML, 8,
4638 HWAK, 16,
4639 HMPR, 8,
4640 , 7,
4641 HMDN, 1,
4642 Offset (0x78),
4643 TMP0, 8,
4644 Offset (0x80),
4645 Offset (0x81),
4646 HIID, 8,
4647 Offset (0x83),
4648 HFNI, 8,
4649 HSPD, 16,
4650 Offset (0x88),
4651 TSL0, 7,
4652 TSR0, 1,
4653 TSL1, 7,
4654 TSR1, 1,
4655 TSL2, 7,
4656 TSR2, 1,
4657 TSL3, 7,
4658 TSR3, 1,
4659 Offset (0x8D),
4660 HDAA, 3,
4661 HDAB, 3,
4662 HDAC, 2,
4663 Offset (0xA5),
4664 GP50, 8,
4665 Offset (0xB0),
4666 HDEN, 32,
4667 HDEP, 32,
4668 HDEM, 8,
4669 HDES, 8,
4670 Offset (0xBB),
4671 PLSL, 8,
4672 PLMS, 8,
4673 PLLS, 8,
4674 PLTU, 8,
4675 Offset (0xC8),
4676 ATMX, 8,
4677 HWAT, 8,
4678 Offset (0xCC),
4679 PWMH, 8,
4680 PWML, 8,
4681 Offset (0xED),
4682 , 4,
4683 HDDD, 1
4684 }
4685
4686 Method (_INI, 0, NotSerialized) // _INI: Initialize
4687 {
4688 If (\H8DR)
4689 {
4690 HSPA = 0x00
4691 }
4692 Else
4693 {
4694 \MBEC (0x05, 0xFE, 0x00)
4695 }
4696
4697 \_SB.PCI0.LPC.EC.HKEY.WGIN ()
4698 }
4699
4700 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4701 {
4702 IO (Decode16,
4703 0x0062, // Range Minimum
4704 0x0062, // Range Maximum
4705 0x01, // Alignment
4706 0x01, // Length
4707 )
4708 IO (Decode16,
4709 0x0066, // Range Minimum
4710 0x0066, // Range Maximum
4711 0x01, // Alignment
4712 0x01, // Length
4713 )
4714 })
4715 Method (LED, 2, NotSerialized)
4716 {
4717 Local0 = (Arg0 | Arg1)
4718 If (\H8DR)
4719 {
4720 HLCL = Local0
4721 }
4722 Else
4723 {
4724 \WBEC (0x0C, Local0)
4725 }
4726 }
4727
4728 Name (BAON, 0x00)
4729 Name (WBON, 0x00)
4730 Method (BEEP, 1, NotSerialized)
4731 {
4732 If ((Arg0 == 0x05))
4733 {
4734 WBON = 0x00
4735 }
4736
4737 Local2 = WBON /* \_SB_.PCI0.LPC_.EC__.WBON */
4738 If (BAON)
4739 {
4740 If ((Arg0 == 0x00))
4741 {
4742 BAON = 0x00
4743 If (WBON)
4744 {
4745 Local0 = 0x03
4746 Local1 = 0x08
4747 }
4748 Else
4749 {
4750 Local0 = 0x00
4751 Local1 = 0x00
4752 }
4753 }
4754 Else
4755 {
4756 Local0 = 0xFF
4757 Local1 = 0xFF
4758 If ((Arg0 == 0x11))
4759 {
4760 WBON = 0x00
4761 }
4762
4763 If ((Arg0 == 0x10))
4764 {
4765 WBON = 0x01
4766 }
4767 }
4768 }
4769 Else
4770 {
4771 Local0 = Arg0
4772 Local1 = 0xFF
4773 If ((Arg0 == 0x0F))
4774 {
4775 Local0 = Arg0
4776 Local1 = 0x08
4777 BAON = 0x01
4778 }
4779
4780 If ((Arg0 == 0x11))
4781 {
4782 Local0 = 0x00
4783 Local1 = 0x00
4784 WBON = 0x00
4785 }
4786
4787 If ((Arg0 == 0x10))
4788 {
4789 Local0 = 0x03
4790 Local1 = 0x08
4791 WBON = 0x01
4792 }
4793 }
4794
4795 If ((Arg0 == 0x03))
4796 {
4797 WBON = 0x00
4798 If (Local2)
4799 {
4800 Local0 = 0x07
4801 If (((\SPS == 0x03) || (\SPS == 0x04)))
4802 {
4803 Local2 = 0x00
4804 Local0 = 0xFF
4805 Local1 = 0xFF
4806 }
4807 }
4808 }
4809
4810 If ((Arg0 == 0x07))
4811 {
4812 If (Local2)
4813 {
4814 Local2 = 0x00
4815 Local0 = 0xFF
4816 Local1 = 0xFF
4817 }
4818 }
4819
4820 If (\H8DR)
4821 {
4822 If ((Local2 && !WBON))
4823 {
4824 HSRP = 0x00
4825 HSUN = 0x00
4826 Sleep (0x64)
4827 }
4828
4829 If ((Local1 != 0xFF))
4830 {
4831 HSRP = Local1
4832 }
4833
4834 If ((Local0 != 0xFF))
4835 {
4836 HSUN = Local0
4837 }
4838 }
4839 Else
4840 {
4841 If ((Local2 && !WBON))
4842 {
4843 \WBEC (0x07, 0x00)
4844 \WBEC (0x06, 0x00)
4845 Sleep (0x64)
4846 }
4847
4848 If ((Local1 != 0xFF))
4849 {
4850 \WBEC (0x07, Local1)
4851 }
4852
4853 If ((Local0 != 0xFF))
4854 {
4855 \WBEC (0x06, Local0)
4856 }
4857 }
4858
4859 If ((Arg0 == 0x03)){}
4860 If ((Arg0 == 0x07))
4861 {
4862 Sleep (0x01F4)
4863 }
4864 }
4865
4866 Method (EVNT, 1, NotSerialized)
4867 {
4868 If (\H8DR)
4869 {
4870 If (Arg0)
4871 {
4872 HAM5 |= 0x04
4873 }
4874 Else
4875 {
4876 HAM5 &= 0xFB
4877 }
4878 }
4879 ElseIf (Arg0)
4880 {
4881 \MBEC (0x15, 0xFF, 0x04)
4882 }
4883 Else
4884 {
4885 \MBEC (0x15, 0xFB, 0x00)
4886 }
4887 }
4888
4889 Name (USPS, 0x00)
4890 PowerResource (PUBS, 0x03, 0x0000)
4891 {
4892 Method (_STA, 0, NotSerialized) // _STA: Status
4893 {
4894 If (\H8DR)
4895 {
4896 Local0 = HUBS /* \_SB_.PCI0.LPC_.EC__.HUBS */
4897 }
4898 Else
4899 {
4900 Local0 = (\RBEC (0x3B) & 0x10)
4901 }
4902
4903 If (Local0)
4904 {
4905 Return (0x01)
4906 }
4907 Else
4908 {
4909 Return (0x00)
4910 }
4911 }
4912
4913 Method (_ON, 0, NotSerialized) // _ON_: Power On
4914 {
4915 Local0 = 0x64
4916 While ((USPS && Local0))
4917 {
4918 Sleep (0x01)
4919 Local0--
4920 }
4921
4922 If (\H8DR)
4923 {
4924 HUBS = 0x01
4925 }
4926 Else
4927 {
4928 \MBEC (0x3B, 0xFF, 0x10)
4929 }
4930 }
4931
4932 Method (_OFF, 0, NotSerialized) // _OFF: Power Off
4933 {
4934 USPS = 0x01
4935 If (\H8DR)
4936 {
4937 HUBS = 0x00
4938 }
4939 Else
4940 {
4941 \MBEC (0x3B, 0xEF, 0x00)
4942 }
4943
4944 Sleep (0x14)
4945 USPS = 0x00
4946 }
4947 }
4948
4949 Method (CHKS, 0, NotSerialized)
4950 {
4951 Local0 = 0x03E8
4952 While (HMPR)
4953 {
4954 Sleep (0x01)
4955 Local0--
4956 If (!Local0)
4957 {
4958 Return (0x8080)
4959 }
4960 }
4961
4962 If (HMDN)
4963 {
4964 Return (Zero)
4965 }
4966
4967 Return (0x8081)
4968 }
4969
4970 Method (LPMD, 0, NotSerialized)
4971 {
4972 Local0 = 0x00
4973 Local1 = 0x00
4974 Local2 = 0x00
4975 If (\H8DR)
4976 {
4977 If (HPAC)
4978 {
4979 If (HPLO)
4980 {
4981 Local0 = \LPST
4982 }
4983 ElseIf ((HWAT < 0x5A))
4984 {
4985 If (HB0A)
4986 {
4987 If (((HB0S & 0x10) || ((HB0S & 0x07) < 0x02)))
4988 {
4989 Local1 = 0x01
4990 }
4991 }
4992 Else
4993 {
4994 Local1 = 0x01
4995 }
4996
4997 If (HB1A)
4998 {
4999 If (((HB1S & 0x10) || ((HB1S & 0x07) < 0x02)))
5000 {
5001 Local2 = 0x01
5002 }
5003 }
5004 Else
5005 {
5006 Local2 = 0x01
5007 }
5008
5009 If ((Local1 && Local2))
5010 {
5011 Local0 = \LPST
5012 }
5013 }
5014 }
5015 }
5016 ElseIf ((\RBEC (0x46) & 0x10))
5017 {
5018 If ((\RBEC (0x34) & 0x80))
5019 {
5020 Local0 = \LPST
5021 }
5022 ElseIf ((\RBEC (0xC9) < 0x5A))
5023 {
5024 Local3 = \RBEC (0x38)
5025 If ((Local3 & 0x80))
5026 {
5027 If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
5028 {
5029 Local1 = 0x01
5030 }
5031 }
5032 Else
5033 {
5034 Local2 = 0x01
5035 }
5036
5037 Local3 = \RBEC (0x39)
5038 If ((Local3 & 0x80))
5039 {
5040 If (((Local3 & 0x10) || ((Local3 & 0x07) < 0x02)))
5041 {
5042 Local1 = 0x01
5043 }
5044 }
5045 Else
5046 {
5047 Local2 = 0x01
5048 }
5049
5050 If ((Local1 && Local2))
5051 {
5052 Local0 = \LPST
5053 }
5054 }
5055 }
5056
5057 Return (Local0)
5058 }
5059
5060 Method (CLPM, 0, NotSerialized)
5061 {
5062 If ((\PPMF & 0x01))
5063 {
5064 If ((\OSPX || \CPPX))
5065 {
5066 \PNTF (0x80)
5067 }
5068 Else
5069 {
5070 Local0 = LPMD ()
5071 If (Local0)
5072 {
5073 \STEP (0x04)
5074 }
5075 Else
5076 {
5077 \STEP (0x05)
5078 }
5079 }
5080 }
5081 }
5082
5083 Mutex (MCPU, 0x07)
5084 Method (_Q10, 0, NotSerialized) // _Qxx: EC Query
5085 {
5086 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01))
5087 {
5088 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1001)
5089 }
5090 }
5091
5092 Method (_Q11, 0, NotSerialized) // _Qxx: EC Query
5093 {
5094 Noop
5095 }
5096
5097 Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
5098 {
5099 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02))
5100 {
5101 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1002)
5102 }
5103 }
5104
5105 Method (_Q13, 0, NotSerialized) // _Qxx: EC Query
5106 {
5107 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
5108 {
5109 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1004)
5110 }
5111 Else
5112 {
5113 Notify (\_SB.SLPB, 0x80) // Status Change
5114 }
5115 }
5116
5117 Method (_Q64, 0, NotSerialized) // _Qxx: EC Query
5118 {
5119 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10))
5120 {
5121 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1005)
5122 }
5123 }
5124
5125 Method (_Q65, 0, NotSerialized) // _Qxx: EC Query
5126 {
5127 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20))
5128 {
5129 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1006)
5130 }
5131 }
5132
5133 Method (_Q16, 0, NotSerialized) // _Qxx: EC Query
5134 {
5135 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40))
5136 {
5137 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1007)
5138 }
5139 Else
5140 {
5141 If ((\VHYB (0x03, 0x00) == 0x03))
5142 {
5143 Notify (\_SB.PCI0.VID, 0x80) // Status Change
5144 Return (Zero)
5145 }
5146
5147 If (VIGD)
5148 {
5149 \_SB.PCI0.VID.VSWT ()
5150 }
5151 Else
5152 {
5153 \_SB.PCI0.PEG.VID.VSWT ()
5154 }
5155 }
5156 }
5157
5158 Method (_Q17, 0, NotSerialized) // _Qxx: EC Query
5159 {
5160 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80))
5161 {
5162 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1008)
5163 }
5164 ElseIf (!\WNTF)
5165 {
5166 VEXP ()
5167 }
5168 }
5169
5170 Method (_Q18, 0, NotSerialized) // _Qxx: EC Query
5171 {
5172 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0100))
5173 {
5174 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1009)
5175 }
5176
5177 Noop
5178 }
5179
5180 Method (_Q1A, 0, NotSerialized) // _Qxx: EC Query
5181 {
5182 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x0400))
5183 {
5184 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100B)
5185 }
5186 }
5187
5188 Method (_Q1B, 0, NotSerialized) // _Qxx: EC Query
5189 {
5190 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100C)
5191 }
5192
5193 Method (_Q62, 0, NotSerialized) // _Qxx: EC Query
5194 {
5195 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x1000))
5196 {
5197 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100D)
5198 }
5199 }
5200
5201 Method (_Q60, 0, NotSerialized) // _Qxx: EC Query
5202 {
5203 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x2000))
5204 {
5205 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100E)
5206 }
5207 }
5208
5209 Method (_Q61, 0, NotSerialized) // _Qxx: EC Query
5210 {
5211 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x4000))
5212 {
5213 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x100F)
5214 }
5215 }
5216
5217 Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query
5218 {
5219 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
5220 {
5221 If ((PKLI & 0x0C00))
5222 {
5223 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
5224 }
5225 }
5226
5227 \UCMS (0x0E)
5228 }
5229
5230 Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query
5231 {
5232 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x01000000))
5233 {
5234 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1019)
5235 }
5236 }
5237
5238 Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query
5239 {
5240 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x02000000))
5241 {
5242 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101A)
5243 }
5244 }
5245
5246 Method (_Q66, 0, NotSerialized) // _Qxx: EC Query
5247 {
5248 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x10000000))
5249 {
5250 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101D)
5251 }
5252 }
5253
5254 Method (_Q67, 0, NotSerialized) // _Qxx: EC Query
5255 {
5256 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x20000000))
5257 {
5258 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101E)
5259 }
5260 }
5261
5262 Method (_Q68, 0, NotSerialized) // _Qxx: EC Query
5263 {
5264 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x40000000))
5265 {
5266 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101F)
5267 }
5268 }
5269
5270 Method (_Q69, 0, NotSerialized) // _Qxx: EC Query
5271 {
5272 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x80000000))
5273 {
5274 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1020)
5275 }
5276 }
5277
5278 Method (_Q26, 0, NotSerialized) // _Qxx: EC Query
5279 {
5280 If (VIGD)
5281 {
5282 If (\WVIS)
5283 {
5284 \VBTD ()
5285 }
5286
5287 \_SB.PCI0.LPC.EC.BRNS ()
5288 }
5289 Else
5290 {
5291 \UCMS (0x12)
5292 }
5293
5294 Sleep (0x01F4)
5295 Notify (AC, 0x80) // Status Change
5296 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5297 If (\WXPF)
5298 {
5299 Acquire (MCPU, 0xFFFF)
5300 }
5301
5302 PWRS = 0x01
5303 If ((\PPMF & 0x01))
5304 {
5305 If ((\OSPX || \CPPX))
5306 {
5307 \PNTF (0x80)
5308 }
5309 }
5310
5311 If (\WXPF)
5312 {
5313 Sleep (0x64)
5314 }
5315
5316 If (\OSC4)
5317 {
5318 \PNTF (0x81)
5319 }
5320
5321 If (\WXPF)
5322 {
5323 Release (MCPU)
5324 }
5325
5326 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5327 ATMC ()
5328 }
5329
5330 Method (_Q27, 0, NotSerialized) // _Qxx: EC Query
5331 {
5332 If (VIGD)
5333 {
5334 If (\WVIS)
5335 {
5336 \VBTD ()
5337 }
5338
5339 \_SB.PCI0.LPC.EC.BRNS ()
5340 }
5341 Else
5342 {
5343 \UCMS (0x12)
5344 }
5345
5346 If (\_SB.PCI0.PEG.VID.ISOP ())
5347 {
5348 Notify (\_SB.PCI0.PEG.VID, 0xDF) // Hardware-Specific
5349 }
5350
5351 Sleep (0x01F4)
5352 Notify (AC, 0x80) // Status Change
5353 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
5354 If (\WXPF)
5355 {
5356 Acquire (MCPU, 0xFFFF)
5357 }
5358
5359 PWRS = 0x00
5360 If ((\PPMF & 0x01))
5361 {
5362 If ((\OSPX || \CPPX))
5363 {
5364 \PNTF (0x80)
5365 }
5366 }
5367
5368 If (\WXPF)
5369 {
5370 Sleep (0x64)
5371 }
5372
5373 If (\OSC4)
5374 {
5375 \PNTF (0x81)
5376 }
5377
5378 If (\WXPF)
5379 {
5380 Release (MCPU)
5381 }
5382
5383 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6040)
5384 ATMC ()
5385 }
5386
5387 Method (_Q2A, 0, NotSerialized) // _Qxx: EC Query
5388 {
5389 \VCMS (0x01, \_SB.LID._LID ())
5390 If ((\ILNF == 0x00))
5391 {
5392 If (\IOST)
5393 {
5394 If (!\ISOC (0x00))
5395 {
5396 \IOST = 0x00
5397 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5398 }
5399 }
5400 Else
5401 {
5402 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5002)
5403 If ((\PLUX == 0x00))
5404 {
5405 If (VIGD)
5406 {
5407 \_SB.PCI0.VID.GLIS (0x01)
5408 \_SB.PCI0.VID.VLOC (0x01)
5409 }
5410 Else
5411 {
5412 \_SB.PCI0.PEG.VID.VLOC (0x01)
5413 }
5414
5415 Notify (\_SB.LID, 0x80) // Status Change
5416 }
5417 }
5418 }
5419 }
5420
5421 Method (_Q2B, 0, NotSerialized) // _Qxx: EC Query
5422 {
5423 \UCMS (0x0D)
5424 \VCMS (0x01, \_SB.LID._LID ())
5425 If ((\ILNF == 0x00))
5426 {
5427 If ((\IOEN && !\IOST))
5428 {
5429 If (!\ISOC (0x01))
5430 {
5431 \IOST = 0x01
5432 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x60D0)
5433 }
5434 }
5435 Else
5436 {
5437 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x5001)
5438 If ((\PLUX == 0x00))
5439 {
5440 If (VIGD)
5441 {
5442 \_SB.PCI0.VID.GLIS (0x00)
5443 }
5444 Else
5445 {
5446 \_SB.PCI0.PEG.VID.VLOC (0x00)
5447 }
5448
5449 Notify (\_SB.LID, 0x80) // Status Change
5450 }
5451 }
5452 }
5453 }
5454
5455 Method (_Q3D, 0, NotSerialized) // _Qxx: EC Query
5456 {
5457 }
5458
5459 Method (_Q48, 0, NotSerialized) // _Qxx: EC Query
5460 {
5461 If ((\PPMF & 0x01))
5462 {
5463 If ((\OSPX || \CPPX))
5464 {
5465 \PNTF (0x80)
5466 }
5467 Else
5468 {
5469 \STEP (0x04)
5470 }
5471
5472 \_SB.PCI0.LPC.EC.CALM = 0x01
5473 }
5474 }
5475
5476 Method (_Q49, 0, NotSerialized) // _Qxx: EC Query
5477 {
5478 If ((\PPMF & 0x01))
5479 {
5480 If ((\OSPX || \CPPX))
5481 {
5482 \PNTF (0x80)
5483 }
5484 Else
5485 {
5486 \STEP (0x05)
5487 }
5488 }
5489 }
5490
5491 Method (_Q7F, 0, NotSerialized) // _Qxx: EC Query
5492 {
5493 Fatal (0x01, 0x80010000, 0x1FCD)
5494 }
5495
5496 Method (_Q4E, 0, NotSerialized) // _Qxx: EC Query
5497 {
5498 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6011)
5499 }
5500
5501 Method (_Q4F, 0, NotSerialized) // _Qxx: EC Query
5502 {
5503 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5504 }
5505
5506 Method (_Q46, 0, NotSerialized) // _Qxx: EC Query
5507 {
5508 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6012)
5509 }
5510
5511 Method (_Q22, 0, NotSerialized) // _Qxx: EC Query
5512 {
5513 CLPM ()
5514 If (HB0A)
5515 {
5516 Notify (BAT0, 0x80) // Status Change
5517 }
5518
5519 If (HB1A)
5520 {
5521 Notify (BAT1, 0x80) // Status Change
5522 }
5523 }
5524
5525 Method (_Q4A, 0, NotSerialized) // _Qxx: EC Query
5526 {
5527 CLPM ()
5528 Notify (BAT0, 0x81) // Information Change
5529 }
5530
5531 Method (_Q4B, 0, NotSerialized) // _Qxx: EC Query
5532 {
5533 CLPM ()
5534 Notify (BAT0, 0x80) // Status Change
5535 }
5536
5537 Method (_Q4D, 0, NotSerialized) // _Qxx: EC Query
5538 {
5539 CLPM ()
5540 If (\BT2T)
5541 {
5542 If ((^BAT1.SBLI == 0x01))
5543 {
5544 Sleep (0x0A)
5545 If ((HB1A && (SLUL == 0x00)))
5546 {
5547 ^BAT1.XB1S = 0x01
5548 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01) // Device Check
5549 }
5550 }
5551 ElseIf ((SLUL == 0x01))
5552 {
5553 ^BAT1.XB1S = 0x00
5554 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03) // Eject Request
5555 }
5556 }
5557
5558 If ((^BAT1.B1ST & ^BAT1.XB1S))
5559 {
5560 Notify (BAT1, 0x80) // Status Change
5561 }
5562 }
5563
5564 Method (_Q24, 0, NotSerialized) // _Qxx: EC Query
5565 {
5566 CLPM ()
5567 Notify (BAT0, 0x80) // Status Change
5568 }
5569
5570 Method (_Q25, 0, NotSerialized) // _Qxx: EC Query
5571 {
5572 If ((^BAT1.B1ST & ^BAT1.XB1S))
5573 {
5574 CLPM ()
5575 Notify (BAT1, 0x80) // Status Change
5576 }
5577 }
5578
5579 Method (BATW, 1, NotSerialized)
5580 {
5581 If (\BT2T)
5582 {
5583 Local0 = \_SB.PCI0.LPC.EC.BAT1.XB1S
5584 If ((HB1A && !SLUL))
5585 {
5586 Local1 = 0x01
5587 }
5588 Else
5589 {
5590 Local1 = 0x00
5591 }
5592
5593 If ((Local0 ^ Local1))
5594 {
5595 \_SB.PCI0.LPC.EC.BAT1.XB1S = Local1
5596 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x01) // Device Check
5597 }
5598 }
5599 }
5600
5601 Field (ECOR, ByteAcc, NoLock, Preserve)
5602 {
5603 Offset (0xA0),
5604 SBRC, 16,
5605 SBFC, 16,
5606 SBAE, 16,
5607 SBRS, 16,
5608 SBAC, 16,
5609 SBVO, 16,
5610 SBAF, 16,
5611 SBBS, 16
5612 }
5613
5614 Field (ECOR, ByteAcc, NoLock, Preserve)
5615 {
5616 Offset (0xA0),
5617 SBBM, 16,
5618 SBMD, 16,
5619 SBCC, 16
5620 }
5621
5622 Field (ECOR, ByteAcc, NoLock, Preserve)
5623 {
5624 Offset (0xA0),
5625 SBDC, 16,
5626 SBDV, 16,
5627 SBOM, 16,
5628 SBSI, 16,
5629 SBDT, 16,
5630 SBSN, 16
5631 }
5632
5633 Field (ECOR, ByteAcc, NoLock, Preserve)
5634 {
5635 Offset (0xA0),
5636 SBCH, 32
5637 }
5638
5639 Field (ECOR, ByteAcc, NoLock, Preserve)
5640 {
5641 Offset (0xA0),
5642 SBMN, 128
5643 }
5644
5645 Field (ECOR, ByteAcc, NoLock, Preserve)
5646 {
5647 Offset (0xA0),
5648 SBDN, 128
5649 }
5650
5651 Mutex (BATM, 0x07)
5652 Method (GBIF, 3, NotSerialized)
5653 {
5654 Acquire (BATM, 0xFFFF)
5655 If (Arg2)
5656 {
5657 HIID = (Arg0 | 0x01)
5658 Local7 = SBBM /* \_SB_.PCI0.LPC_.EC__.SBBM */
5659 Local7 >>= 0x0F
5660 Arg1 [0x00] = (Local7 ^ 0x01)
5661 HIID = Arg0
5662 If (Local7)
5663 {
5664 Local1 = (SBFC * 0x0A)
5665 }
5666 Else
5667 {
5668 Local1 = SBFC /* \_SB_.PCI0.LPC_.EC__.SBFC */
5669 }
5670
5671 Arg1 [0x02] = Local1
5672 HIID = (Arg0 | 0x02)
5673 If (Local7)
5674 {
5675 Local0 = (SBDC * 0x0A)
5676 }
5677 Else
5678 {
5679 Local0 = SBDC /* \_SB_.PCI0.LPC_.EC__.SBDC */
5680 }
5681
5682 Arg1 [0x01] = Local0
5683 Divide (Local1, 0x14, Local2, Arg1 [0x05])
5684 If (Local7)
5685 {
5686 Arg1 [0x06] = 0xC8
5687 }
5688 ElseIf (SBDV)
5689 {
5690 Divide (0x00030D40, SBDV, Local2, Arg1 [0x06])
5691 }
5692 Else
5693 {
5694 Arg1 [0x06] = 0x00
5695 }
5696
5697 Arg1 [0x04] = SBDV /* \_SB_.PCI0.LPC_.EC__.SBDV */
5698 Local0 = SBSN /* \_SB_.PCI0.LPC_.EC__.SBSN */
5699 Name (SERN, Buffer (0x06)
5700 {
5701 " "
5702 })
5703 Local2 = 0x04
5704 While (Local0)
5705 {
5706 Divide (Local0, 0x0A, Local1, Local0)
5707 SERN [Local2] = (Local1 + 0x30)
5708 Local2--
5709 }
5710
5711 Arg1 [0x0A] = SERN /* \_SB_.PCI0.LPC_.EC__.GBIF.SERN */
5712 HIID = (Arg0 | 0x06)
5713 Arg1 [0x09] = SBDN /* \_SB_.PCI0.LPC_.EC__.SBDN */
5714 HIID = (Arg0 | 0x04)
5715 Name (BTYP, Buffer (0x05)
5716 {
5717 0x00, 0x00, 0x00, 0x00, 0x00 // .....
5718 })
5719 BTYP = SBCH /* \_SB_.PCI0.LPC_.EC__.SBCH */
5720 Arg1 [0x0B] = BTYP /* \_SB_.PCI0.LPC_.EC__.GBIF.BTYP */
5721 HIID = (Arg0 | 0x05)
5722 Arg1 [0x0C] = SBMN /* \_SB_.PCI0.LPC_.EC__.SBMN */
5723 }
5724 Else
5725 {
5726 Arg1 [0x01] = 0xFFFFFFFF
5727 Arg1 [0x05] = 0x00
5728 Arg1 [0x06] = 0x00
5729 Arg1 [0x02] = 0xFFFFFFFF
5730 }
5731
5732 Release (BATM)
5733 Return (Arg1)
5734 }
5735
5736 Method (GBST, 4, NotSerialized)
5737 {
5738 Acquire (BATM, 0xFFFF)
5739 If ((Arg1 & 0x20))
5740 {
5741 Local0 = 0x02
5742 }
5743 ElseIf ((Arg1 & 0x40))
5744 {
5745 Local0 = 0x01
5746 }
5747 Else
5748 {
5749 Local0 = 0x00
5750 }
5751
5752 If ((Arg1 & 0x07)){}
5753 Else
5754 {
5755 Local0 |= 0x04
5756 }
5757
5758 If (((Arg1 & 0x07) == 0x07))
5759 {
5760 Local0 = 0x04
5761 Local1 = 0x00
5762 Local2 = 0x00
5763 Local3 = 0x00
5764 }
5765 Else
5766 {
5767 HIID = Arg0
5768 Local3 = SBVO /* \_SB_.PCI0.LPC_.EC__.SBVO */
5769 If (Arg2)
5770 {
5771 Local2 = (SBRC * 0x0A)
5772 }
5773 Else
5774 {
5775 Local2 = SBRC /* \_SB_.PCI0.LPC_.EC__.SBRC */
5776 }
5777
5778 Local1 = SBAC /* \_SB_.PCI0.LPC_.EC__.SBAC */
5779 If ((Local1 >= 0x8000))
5780 {
5781 If ((Local0 & 0x01))
5782 {
5783 Local1 = (0x00010000 - Local1)
5784 }
5785 Else
5786 {
5787 Local1 = 0x00
5788 }
5789 }
5790 ElseIf (!(Local0 & 0x02))
5791 {
5792 Local1 = 0x00
5793 }
5794
5795 If (Arg2)
5796 {
5797 Local1 *= Local3
5798 Divide (Local1, 0x03E8, Local7, Local1)
5799 }
5800 }
5801
5802 Arg3 [0x00] = Local0
5803 Arg3 [0x01] = Local1
5804 Arg3 [0x02] = Local2
5805 Arg3 [0x03] = Local3
5806 Release (BATM)
5807 Return (Arg3)
5808 }
5809
5810 Device (BAT0)
5811 {
5812 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
5813 Name (_UID, 0x00) // _UID: Unique ID
5814 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
5815 {
5816 \_SB
5817 })
5818 Name (B0ST, 0x00)
5819 Name (BT0I, Package (0x0D)
5820 {
5821 0x00,
5822 0xFFFFFFFF,
5823 0xFFFFFFFF,
5824 0x01,
5825 0x2A30,
5826 0x00,
5827 0x00,
5828 0x01,
5829 0x01,
5830 "",
5831 "",
5832 "",
5833 ""
5834 })
5835 Name (BT0P, Package (0x04){})
5836 Method (_STA, 0, NotSerialized) // _STA: Status
5837 {
5838 If (\H8DR)
5839 {
5840 B0ST = HB0A /* \_SB_.PCI0.LPC_.EC__.HB0A */
5841 }
5842 ElseIf ((\RBEC (0x38) & 0x80))
5843 {
5844 B0ST = 0x01
5845 }
5846 Else
5847 {
5848 B0ST = 0x00
5849 }
5850
5851 If (B0ST)
5852 {
5853 Return (0x1F)
5854 }
5855 Else
5856 {
5857 Return (0x0F)
5858 }
5859 }
5860
5861 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
5862 {
5863 Local7 = 0x00
5864 Local6 = 0x0A
5865 While ((!Local7 && Local6))
5866 {
5867 If (HB0A)
5868 {
5869 If (((HB0S & 0x07) == 0x07))
5870 {
5871 Sleep (0x03E8)
5872 Local6--
5873 }
5874 Else
5875 {
5876 Local7 = 0x01
5877 }
5878 }
5879 Else
5880 {
5881 Local6 = 0x00
5882 }
5883 }
5884
5885 Return (GBIF (0x00, BT0I, Local7))
5886 }
5887
5888 Method (_BST, 0, NotSerialized) // _BST: Battery Status
5889 {
5890 Local0 = (DerefOf (BT0I [0x00]) ^ 0x01)
5891 Return (GBST (0x00, HB0S, Local0, BT0P))
5892 }
5893
5894 Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
5895 {
5896 HAM4 &= 0xEF
5897 If (Arg0)
5898 {
5899 Local1 = Arg0
5900 If (!DerefOf (BT0I [0x00]))
5901 {
5902 Divide (Local1, 0x0A, Local0, Local1)
5903 }
5904
5905 HT0L = (Local1 & 0xFF)
5906 HT0H = ((Local1 >> 0x08) & 0xFF)
5907 HAM4 |= 0x10
5908 }
5909 }
5910 }
5911
5912 Device (BAT1)
5913 {
5914 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
5915 Name (_UID, 0x01) // _UID: Unique ID
5916 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
5917 {
5918 \_SB
5919 })
5920 Name (B1ST, 0x00)
5921 Name (SBLI, 0x01)
5922 Name (XB1S, 0x00)
5923 Name (BT1I, Package (0x0D)
5924 {
5925 0x00,
5926 0xFFFFFFFF,
5927 0xFFFFFFFF,
5928 0x01,
5929 0x2A30,
5930 0x00,
5931 0x00,
5932 0x01,
5933 0x01,
5934 "",
5935 "",
5936 "",
5937 ""
5938 })
5939 Name (BT1P, Package (0x04){})
5940 Method (_STA, 0, NotSerialized) // _STA: Status
5941 {
5942 If (\H8DR)
5943 {
5944 If (HB1A)
5945 {
5946 B1ST = 0x01
5947 If (\BT2T)
5948 {
5949 If (SLUL)
5950 {
5951 SBLI = 0x01
5952 XB1S = 0x00
5953 }
5954 Else
5955 {
5956 SBLI = 0x00
5957 XB1S = 0x01
5958 }
5959 }
5960 Else
5961 {
5962 XB1S = 0x01
5963 }
5964 }
5965 Else
5966 {
5967 B1ST = 0x00
5968 If (\BT2T)
5969 {
5970 SBLI = 0x01
5971 XB1S = 0x00
5972 }
5973 Else
5974 {
5975 XB1S = 0x00
5976 }
5977 }
5978 }
5979 ElseIf ((\RBEC (0x39) & 0x80))
5980 {
5981 B1ST = 0x01
5982 If (\BT2T)
5983 {
5984 If ((\RBEC (0x49) & 0x01))
5985 {
5986 SBLI = 0x01
5987 XB1S = 0x00
5988 }
5989 Else
5990 {
5991 SBLI = 0x00
5992 XB1S = 0x01
5993 }
5994 }
5995 Else
5996 {
5997 XB1S = 0x01
5998 }
5999 }
6000 Else
6001 {
6002 B1ST = 0x00
6003 If (\BT2T)
6004 {
6005 SBLI = 0x01
6006 XB1S = 0x00
6007 }
6008 Else
6009 {
6010 XB1S = 0x00
6011 }
6012 }
6013
6014 If (B1ST)
6015 {
6016 If (XB1S)
6017 {
6018 Return (0x1F)
6019 }
6020 ElseIf (\WNTF)
6021 {
6022 Return (0x00)
6023 }
6024 Else
6025 {
6026 Return (0x1F)
6027 }
6028 }
6029 ElseIf (\WNTF)
6030 {
6031 Return (0x00)
6032 }
6033 Else
6034 {
6035 Return (0x0F)
6036 }
6037 }
6038
6039 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
6040 {
6041 Local7 = 0x00
6042 Local6 = 0x0A
6043 While ((!Local7 && Local6))
6044 {
6045 If (HB1A)
6046 {
6047 If (((HB1S & 0x07) == 0x07))
6048 {
6049 Sleep (0x03E8)
6050 Local6--
6051 }
6052 Else
6053 {
6054 Local7 = 0x01
6055 }
6056 }
6057 Else
6058 {
6059 Local6 = 0x00
6060 }
6061 }
6062
6063 Return (GBIF (0x10, BT1I, Local7))
6064 }
6065
6066 Method (_BST, 0, NotSerialized) // _BST: Battery Status
6067 {
6068 Local0 = (DerefOf (BT1I [0x00]) ^ 0x01)
6069 Return (GBST (0x10, HB1S, Local0, BT1P))
6070 }
6071
6072 Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point
6073 {
6074 HAM4 &= 0xDF
6075 If (Arg0)
6076 {
6077 Local1 = Arg0
6078 If (!DerefOf (BT1I [0x00]))
6079 {
6080 Divide (Local1, 0x0A, Local0, Local1)
6081 }
6082
6083 HT1L = (Local1 & 0xFF)
6084 HT1H = ((Local1 >> 0x08) & 0xFF)
6085 HAM4 |= 0x20
6086 }
6087 }
6088 }
6089
6090 Device (AC)
6091 {
6092 Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
6093 Name (_UID, 0x00) // _UID: Unique ID
6094 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
6095 {
6096 \_SB
6097 })
6098 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
6099 {
6100 If (\H8DR)
6101 {
6102 Return (HPAC) /* \_SB_.PCI0.LPC_.EC__.HPAC */
6103 }
6104 ElseIf ((\RBEC (0x46) & 0x10))
6105 {
6106 Return (0x01)
6107 }
6108 Else
6109 {
6110 Return (0x00)
6111 }
6112 }
6113
6114 Method (_STA, 0, NotSerialized) // _STA: Status
6115 {
6116 Return (0x0F)
6117 }
6118 }
6119
6120 Device (HKEY)
6121 {
6122 Name (_HID, EisaId ("LEN0068")) // _HID: Hardware ID
6123 Method (_STA, 0, NotSerialized) // _STA: Status
6124 {
6125 Return (0x0F)
6126 }
6127
6128 Method (MHKV, 0, NotSerialized)
6129 {
6130 Return (0x0100)
6131 }
6132
6133 Name (DHKC, 0x00)
6134 Name (DHKB, 0x01)
6135 Mutex (XDHK, 0x07)
6136 Name (DHKH, 0x00)
6137 Name (DHKW, 0x00)
6138 Name (DHKS, 0x00)
6139 Name (DHKD, 0x00)
6140 Name (DHKN, 0x0808)
6141 Name (DHKT, 0x00)
6142 Name (DHWW, 0x00)
6143 Method (MHKA, 0, NotSerialized)
6144 {
6145 Return (0xFFFFFFFB)
6146 }
6147
6148 Method (MHKN, 0, NotSerialized)
6149 {
6150 Return (DHKN) /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6151 }
6152
6153 Method (MHKK, 1, NotSerialized)
6154 {
6155 If (DHKC)
6156 {
6157 Return ((DHKN & Arg0))
6158 }
6159 Else
6160 {
6161 Return (Zero)
6162 }
6163 }
6164
6165 Method (MHKM, 2, NotSerialized)
6166 {
6167 Acquire (XDHK, 0xFFFF)
6168 If ((Arg0 > 0x20))
6169 {
6170 Noop
6171 }
6172 Else
6173 {
6174 Local0 = (One << Arg0--)
6175 If ((Local0 & 0xFFFFFFFB))
6176 {
6177 If (Arg1)
6178 {
6179 DHKN |= Local0 /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKN */
6180 }
6181 Else
6182 {
6183 DHKN &= (Local0 ^ 0xFFFFFFFF)
6184 }
6185 }
6186 Else
6187 {
6188 Noop
6189 }
6190 }
6191
6192 Release (XDHK)
6193 }
6194
6195 Method (MHKS, 0, NotSerialized)
6196 {
6197 Notify (\_SB.SLPB, 0x80) // Status Change
6198 }
6199
6200 Method (MHKC, 1, NotSerialized)
6201 {
6202 DHKC = Arg0
6203 }
6204
6205 Method (MHKP, 0, NotSerialized)
6206 {
6207 Acquire (XDHK, 0xFFFF)
6208 If (DHWW)
6209 {
6210 Local1 = DHWW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHWW */
6211 DHWW = Zero
6212 }
6213 ElseIf (DHKW)
6214 {
6215 Local1 = DHKW /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKW */
6216 DHKW = Zero
6217 }
6218 ElseIf (DHKD)
6219 {
6220 Local1 = DHKD /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKD */
6221 DHKD = Zero
6222 }
6223 ElseIf (DHKS)
6224 {
6225 Local1 = DHKS /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKS */
6226 DHKS = Zero
6227 }
6228 ElseIf (DHKT)
6229 {
6230 Local1 = DHKT /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKT */
6231 DHKT = Zero
6232 }
6233 Else
6234 {
6235 Local1 = DHKH /* \_SB_.PCI0.LPC_.EC__.HKEY.DHKH */
6236 DHKH = Zero
6237 }
6238
6239 Release (XDHK)
6240 Return (Local1)
6241 }
6242
6243 Method (MHKE, 1, NotSerialized)
6244 {
6245 DHKB = Arg0
6246 Acquire (XDHK, 0xFFFF)
6247 DHKH = Zero
6248 DHKW = Zero
6249 DHKS = Zero
6250 DHKD = Zero
6251 DHKT = Zero
6252 DHWW = Zero
6253 Release (XDHK)
6254 }
6255
6256 Method (MHKQ, 1, NotSerialized)
6257 {
6258 If (DHKB)
6259 {
6260 If (DHKC)
6261 {
6262 Acquire (XDHK, 0xFFFF)
6263 If ((Arg0 < 0x1000)){}
6264 ElseIf ((Arg0 < 0x2000))
6265 {
6266 DHKH = Arg0
6267 }
6268 ElseIf ((Arg0 < 0x3000))
6269 {
6270 DHKW = Arg0
6271 }
6272 ElseIf ((Arg0 < 0x4000))
6273 {
6274 DHKS = Arg0
6275 }
6276 ElseIf ((Arg0 < 0x5000))
6277 {
6278 DHKD = Arg0
6279 }
6280 ElseIf ((Arg0 < 0x6000))
6281 {
6282 DHKH = Arg0
6283 }
6284 ElseIf ((Arg0 < 0x7000))
6285 {
6286 DHKT = Arg0
6287 }
6288 ElseIf ((Arg0 < 0x8000))
6289 {
6290 DHWW = Arg0
6291 }
6292 Else
6293 {
6294 }
6295
6296 Release (XDHK)
6297 Notify (HKEY, 0x80) // Status Change
6298 }
6299 ElseIf ((Arg0 == 0x1004))
6300 {
6301 Notify (\_SB.SLPB, 0x80) // Status Change
6302 }
6303 }
6304 }
6305
6306 Method (MHKB, 1, NotSerialized)
6307 {
6308 If ((Arg0 == 0x00))
6309 {
6310 \_SB.PCI0.LPC.EC.BEEP (0x11)
6311 \LIDB = 0x00
6312 }
6313 ElseIf ((Arg0 == 0x01))
6314 {
6315 \_SB.PCI0.LPC.EC.BEEP (0x10)
6316 \LIDB = 0x01
6317 }
6318 Else
6319 {
6320 }
6321 }
6322
6323 Method (MHKD, 0, NotSerialized)
6324 {
6325 If ((\PLUX == 0x00))
6326 {
6327 If (VIGD)
6328 {
6329 \_SB.PCI0.VID.VLOC (0x00)
6330 }
6331 Else
6332 {
6333 \_SB.PCI0.PEG.VID.VLOC (0x00)
6334 }
6335 }
6336 }
6337
6338 Method (MHQC, 1, NotSerialized)
6339 {
6340 If (\WNTF)
6341 {
6342 If ((Arg0 == 0x00))
6343 {
6344 Return (\CWAC)
6345 }
6346 ElseIf ((Arg0 == 0x01))
6347 {
6348 Return (\CWAP)
6349 }
6350 ElseIf ((Arg0 == 0x02))
6351 {
6352 Return (\CWAT)
6353 }
6354 Else
6355 {
6356 Noop
6357 }
6358 }
6359 Else
6360 {
6361 Noop
6362 }
6363
6364 Return (0x00)
6365 }
6366
6367 Method (MHGC, 0, NotSerialized)
6368 {
6369 If (\WNTF)
6370 {
6371 Acquire (XDHK, 0xFFFF)
6372 If (CKC4 (0x00))
6373 {
6374 Local0 = 0x03
6375 }
6376 Else
6377 {
6378 Local0 = 0x04
6379 }
6380
6381 Release (XDHK)
6382 Return (Local0)
6383 }
6384 Else
6385 {
6386 Noop
6387 }
6388
6389 Return (0x00)
6390 }
6391
6392 Method (MHSC, 1, NotSerialized)
6393 {
6394 If ((\CWAC && \WNTF))
6395 {
6396 Acquire (XDHK, 0xFFFF)
6397 If (\OSC4)
6398 {
6399 If ((Arg0 == 0x03))
6400 {
6401 If (!\CWAS)
6402 {
6403 \PNTF (0x81)
6404 \CWAS = 0x01
6405 }
6406 }
6407 ElseIf ((Arg0 == 0x04))
6408 {
6409 If (\CWAS)
6410 {
6411 \PNTF (0x81)
6412 \CWAS = 0x00
6413 }
6414 }
6415 Else
6416 {
6417 Noop
6418 }
6419 }
6420
6421 Release (XDHK)
6422 }
6423 Else
6424 {
6425 Noop
6426 }
6427 }
6428
6429 Method (CKC4, 1, NotSerialized)
6430 {
6431 Local0 = 0x00
6432 If (\C4WR)
6433 {
6434 If (!\C4AC)
6435 {
6436 Local0 |= 0x01
6437 }
6438 }
6439
6440 If (\C4NA)
6441 {
6442 Local0 |= 0x02
6443 }
6444
6445 If ((\CWAC && \CWAS))
6446 {
6447 Local0 |= 0x04
6448 }
6449
6450 Local0 &= ~Arg0
6451 Return (Local0)
6452 }
6453
6454 Method (MHQE, 0, NotSerialized)
6455 {
6456 Return (\C4WR)
6457 }
6458
6459 Method (MHGE, 0, NotSerialized)
6460 {
6461 If ((\C4WR && \C4AC))
6462 {
6463 Return (0x04)
6464 }
6465
6466 Return (0x03)
6467 }
6468
6469 Method (MHSE, 1, NotSerialized)
6470 {
6471 If (\C4WR)
6472 {
6473 Local0 = \C4AC
6474 If ((Arg0 == 0x03))
6475 {
6476 \C4AC = 0x00
6477 If ((Local0 ^ \C4AC))
6478 {
6479 If (\OSC4)
6480 {
6481 \PNTF (0x81)
6482 }
6483 }
6484 }
6485 ElseIf ((Arg0 == 0x04))
6486 {
6487 \C4AC = 0x01
6488 If ((Local0 ^ \C4AC))
6489 {
6490 If (\OSC4)
6491 {
6492 \PNTF (0x81)
6493 }
6494 }
6495 }
6496 }
6497 }
6498
6499 Method (UAWO, 1, NotSerialized)
6500 {
6501 Return (\UAWS (Arg0))
6502 }
6503
6504 Method (MLCG, 1, NotSerialized)
6505 {
6506 Local0 = \KBLS (0x00, 0x00)
6507 Return (Local0)
6508 }
6509
6510 Method (MLCS, 1, NotSerialized)
6511 {
6512 Local0 = \KBLS (0x01, Arg0)
6513 If (!(Local0 & 0x80000000))
6514 {
6515 If ((Arg0 & 0x00010000))
6516 {
6517 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6001)
6518 }
6519 ElseIf (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00020000))
6520 {
6521 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1012)
6522 }
6523 }
6524
6525 Return (Local0)
6526 }
6527
6528 Method (DSSG, 1, NotSerialized)
6529 {
6530 Local0 = (0x0400 | \PDCI)
6531 Return (Local0)
6532 }
6533
6534 Method (DSSS, 1, NotSerialized)
6535 {
6536 \PDCI |= Arg0
6537 }
6538
6539 Method (SBSG, 1, NotSerialized)
6540 {
6541 Return (\SYBC (0x00, 0x00))
6542 }
6543
6544 Method (SBSS, 1, NotSerialized)
6545 {
6546 Return (\SYBC (0x01, Arg0))
6547 }
6548
6549 Method (PBLG, 1, NotSerialized)
6550 {
6551 Local0 = \BRLV
6552 Local1 = (Local0 | 0x0F00)
6553 Return (Local1)
6554 }
6555
6556 Method (PBLS, 1, NotSerialized)
6557 {
6558 \BRLV = Arg0
6559 If (\VIGD)
6560 {
6561 \_SB.PCI0.LPC.EC.BRNS ()
6562 }
6563 Else
6564 {
6565 \VBRC (\BRLV)
6566 }
6567
6568 If (!\NBCF)
6569 {
6570 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
6571 }
6572
6573 Return (0x00)
6574 }
6575
6576 Method (PMSG, 1, NotSerialized)
6577 {
6578 Local0 = \PRSM (0x00, 0x00)
6579 Return (Local0)
6580 }
6581
6582 Method (PMSS, 1, NotSerialized)
6583 {
6584 \PRSM (0x01, Arg0)
6585 Return (0x00)
6586 }
6587
6588 Method (ISSG, 1, NotSerialized)
6589 {
6590 Local0 = \ISSP
6591 Local0 |= 0x80
6592 Local0 |= (\ISCG & 0x30)
6593 Return (Local0)
6594 }
6595
6596 Method (ISSS, 1, NotSerialized)
6597 {
6598 \ISCG = Arg0
6599 Return (0x00)
6600 }
6601
6602 Method (FFSG, 1, NotSerialized)
6603 {
6604 Return (\IFRS (0x00, 0x00))
6605 }
6606
6607 Method (FFSS, 1, NotSerialized)
6608 {
6609 \IFRS (0x01, Arg0)
6610 Return (0x00)
6611 }
6612
6613 Method (GMKS, 0, NotSerialized)
6614 {
6615 Local0 = (0x01 & \_SB.PCI0.LPC.EC.FNKC)
6616 Local0 |= 0x0200
6617 Return (Local0)
6618 }
6619
6620 Method (SMKS, 1, NotSerialized)
6621 {
6622 If ((Arg0 & 0x01))
6623 {
6624 \_SB.PCI0.LPC.EC.FNKC = 0x01
6625 }
6626 Else
6627 {
6628 \_SB.PCI0.LPC.EC.FNKC = 0x00
6629 }
6630
6631 Return (0x00)
6632 }
6633
6634 Method (INSG, 1, NotSerialized)
6635 {
6636 Local0 = \IOEN
6637 Local0 |= (\IOST << 0x07)
6638 Local0 |= (\IOCP << 0x08)
6639 Return (Local0)
6640 }
6641
6642 Method (INSS, 1, NotSerialized)
6643 {
6644 If ((\IOCP && (Arg0 & 0x01)))
6645 {
6646 \IOEN = 0x01
6647 }
6648 Else
6649 {
6650 \IOEN = 0x00
6651 If (\IOST)
6652 {
6653 If (!\ISOC (0x00))
6654 {
6655 \IOST = 0x00
6656 }
6657 }
6658 }
6659
6660 Return (0x00)
6661 }
6662 }
6663
6664 Scope (\_SB.PCI0.LPC.EC.HKEY)
6665 {
6666 Name (INDV, 0x00)
6667 Method (MHQI, 0, NotSerialized)
6668 {
6669 If ((\IPMS & 0x01))
6670 {
6671 INDV |= 0x01
6672 }
6673
6674 If ((\IPMS & 0x02))
6675 {
6676 INDV |= 0x02
6677 }
6678
6679 If ((\IPMS & 0x04))
6680 {
6681 INDV |= 0x0100
6682 }
6683
6684 If ((\IPMS & 0x08))
6685 {
6686 INDV |= 0x0200
6687 }
6688
6689 If ((\IPMS & 0x10))
6690 {
6691 INDV |= 0x04
6692 }
6693
6694 Return (INDV) /* \_SB_.PCI0.LPC_.EC__.HKEY.INDV */
6695 }
6696
6697 Method (MHGI, 1, NotSerialized)
6698 {
6699 Name (RETB, Buffer (0x10){})
6700 CreateByteField (RETB, 0x00, MHGS)
6701 Local0 = (0x01 << Arg0)
6702 If ((INDV & Local0))
6703 {
6704 If ((Arg0 == 0x00))
6705 {
6706 CreateField (RETB, 0x08, 0x78, BRBU)
6707 BRBU = \IPMB
6708 MHGS = 0x10
6709 }
6710 ElseIf ((Arg0 == 0x01))
6711 {
6712 CreateField (RETB, 0x08, 0x18, RRBU)
6713 RRBU = \IPMR
6714 MHGS = 0x04
6715 }
6716 ElseIf ((Arg0 == 0x08))
6717 {
6718 CreateField (RETB, 0x10, 0x18, ODBU)
6719 CreateByteField (RETB, 0x01, MHGZ)
6720 ODBU = \IPMO
6721 If (((^^BSTS == 0x00) && (^^BDEV == 0x03)))
6722 {
6723 MHGZ |= 0x01 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6724 MHGZ |= 0x02 /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.MHGZ */
6725 }
6726
6727 MHGS = 0x05
6728 }
6729 ElseIf ((Arg0 == 0x09))
6730 {
6731 CreateField (RETB, 0x10, 0x08, AUBU)
6732 AUBU = \IPMA
6733 RETB [0x01] = 0x01
6734 MHGS = 0x03
6735 }
6736 ElseIf ((Arg0 == 0x02))
6737 {
6738 Local1 = \VDYN (0x00, 0x00)
6739 RETB [0x02] = (Local1 & 0x0F)
6740 Local1 >>= 0x04
6741 RETB [0x01] = (Local1 & 0x0F)
6742 MHGS = 0x03
6743 }
6744 }
6745
6746 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHGI.RETB */
6747 }
6748
6749 Method (MHSI, 2, NotSerialized)
6750 {
6751 Local0 = (0x01 << Arg0)
6752 If ((INDV & Local0))
6753 {
6754 If ((Arg0 == 0x08))
6755 {
6756 If (Arg1)
6757 {
6758 If (\H8DR)
6759 {
6760 Local1 = ^^HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
6761 }
6762 Else
6763 {
6764 Local1 = (\RBEC (0x47) & 0x01)
6765 }
6766
6767 If (!Local1)
6768 {
6769 ^^BDEV = ^^BGID (0x00)
6770 ^^NBIN (Local1)
6771 }
6772 }
6773 }
6774 ElseIf ((Arg0 == 0x02))
6775 {
6776 \VDYN (0x01, Arg1)
6777 }
6778 }
6779 }
6780 }
6781
6782 Scope (\_SB.PCI0.LPC.EC)
6783 {
6784 Method (_Q6A, 0, NotSerialized) // _Qxx: EC Query
6785 {
6786 If (HDMC)
6787 {
6788 Noop
6789 }
6790 ElseIf (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x04000000))
6791 {
6792 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x101B)
6793 }
6794 }
6795 }
6796
6797 Scope (\_SB.PCI0.LPC.EC.HKEY)
6798 {
6799 Method (MMTG, 0, NotSerialized)
6800 {
6801 Local0 = 0x0101
6802 If (HDMC)
6803 {
6804 Local0 |= 0x00010000
6805 }
6806
6807 Return (Local0)
6808 }
6809
6810 Method (MMTS, 1, NotSerialized)
6811 {
6812 If (HDMC)
6813 {
6814 Noop
6815 }
6816 ElseIf ((Arg0 == 0x02))
6817 {
6818 \_SB.PCI0.LPC.EC.LED (0x0E, 0x80)
6819 }
6820 ElseIf ((Arg0 == 0x03))
6821 {
6822 \_SB.PCI0.LPC.EC.LED (0x0E, 0xC0)
6823 }
6824 Else
6825 {
6826 \_SB.PCI0.LPC.EC.LED (0x0E, 0x00)
6827 }
6828 }
6829 }
6830
6831 Scope (\_SB.PCI0.LPC.EC.HKEY)
6832 {
6833 Method (PWMC, 0, NotSerialized)
6834 {
6835 Return (0x01)
6836 }
6837
6838 Method (PWMG, 0, NotSerialized)
6839 {
6840 Local0 = \_SB.PCI0.LPC.EC.PWMH
6841 Local0 <<= 0x08
6842 Local0 |= \_SB.PCI0.LPC.EC.PWML
6843 Return (Local0)
6844 }
6845 }
6846
6847 Scope (\_SB.PCI0.LPC.EC)
6848 {
6849 Method (_Q45, 0, NotSerialized) // _Qxx: EC Query
6850 {
6851 If (DOCD)
6852 {
6853 Sleep (0x64)
6854 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
6855 }
6856 Else
6857 {
6858 Sleep (0x64)
6859 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
6860 }
6861 }
6862
6863 Method (DKID, 0, NotSerialized)
6864 {
6865 Local0 = \_SB.PCI0.LPC.DOI0
6866 Local1 = \_SB.PCI0.LPC.DOI1
6867 Local2 = \_SB.PCI0.LPC.DOI2
6868 Local3 = \_SB.PCI0.LPC.DOI3
6869 Local0 |= (Local1 << 0x01)
6870 Local0 |= (Local2 << 0x02)
6871 Local0 |= (Local3 << 0x03)
6872 Return (Local0)
6873 }
6874 }
6875
6876 Scope (\_SB.PCI0.LPC.EC.HKEY)
6877 {
6878 Method (GDKS, 0, NotSerialized)
6879 {
6880 Local0 = 0x00
6881 If ((\_SB.PCI0.LPC.EC.DOCD == 0x01))
6882 {
6883 Local0 |= 0x01
6884 Local1 = \_SB.PCI0.LPC.EC.DKID ()
6885 Local1 <<= 0x08
6886 Local0 |= Local1
6887 }
6888
6889 Local0 |= 0x00010000
6890 Return (Local0)
6891 }
6892 }
6893
6894 Scope (\_SB.PCI0.LPC.EC)
6895 {
6896 Method (_Q3F, 0, NotSerialized) // _Qxx: EC Query
6897 {
6898 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6000)
6899 }
6900
6901 Method (_Q74, 0, NotSerialized) // _Qxx: EC Query
6902 {
6903 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6060)
6904 }
6905 }
6906
6907 Scope (\_SB.PCI0.LPC.EC.HKEY)
6908 {
6909 Method (NUMG, 0, NotSerialized)
6910 {
6911 Local0 = 0x00
6912 Return (Local0)
6913 }
6914 }
6915 }
6916 }
6917
6918 Device (PEG)
6919 {
6920 Name (_ADR, 0x001C0004) // _ADR: Address
6921 Name (_S3D, 0x03) // _S3D: S3 Device State
6922 Name (RID, 0x00)
6923 Name (LART, Package (0x02)
6924 {
6925 Package (0x04)
6926 {
6927 0xFFFF,
6928 0x00,
6929 \_SB.LNKA,
6930 0x00
6931 },
6932
6933 Package (0x04)
6934 {
6935 0xFFFF,
6936 0x01,
6937 \_SB.LNKB,
6938 0x00
6939 }
6940 })
6941 Name (AART, Package (0x02)
6942 {
6943 Package (0x04)
6944 {
6945 0xFFFF,
6946 0x00,
6947 0x00,
6948 0x10
6949 },
6950
6951 Package (0x04)
6952 {
6953 0xFFFF,
6954 0x01,
6955 0x00,
6956 0x11
6957 }
6958 })
6959 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
6960 {
6961 If (\GPIC)
6962 {
6963 Return (AART) /* \_SB_.PCI0.PEG_.AART */
6964 }
6965 Else
6966 {
6967 Return (LART) /* \_SB_.PCI0.PEG_.LART */
6968 }
6969 }
6970
6971 Mutex (MDGS, 0x07)
6972 Name (VDEE, 0x01)
6973 Name (VDDA, Buffer (0x04){})
6974 CreateBitField (VDDA, 0x00, VUPC)
6975 CreateBitField (VDDA, 0x01, VQDL)
6976 CreateBitField (VDDA, 0x02, VQDC)
6977 CreateBitField (VDDA, 0x03, VQD0)
6978 CreateBitField (VDDA, 0x04, VQD1)
6979 CreateBitField (VDDA, 0x05, VQD2)
6980 CreateBitField (VDDA, 0x06, VQD3)
6981 CreateBitField (VDDA, 0x07, VQD4)
6982 CreateBitField (VDDA, 0x08, VQD5)
6983 CreateBitField (VDDA, 0x09, VSDL)
6984 CreateBitField (VDDA, 0x0A, VSDC)
6985 CreateBitField (VDDA, 0x0B, VSD0)
6986 CreateBitField (VDDA, 0x0C, VSD1)
6987 CreateBitField (VDDA, 0x0D, VSD2)
6988 CreateBitField (VDDA, 0x0E, VSD3)
6989 CreateBitField (VDDA, 0x0F, VSD4)
6990 CreateBitField (VDDA, 0x10, VSD5)
6991 CreateBitField (VDDA, 0x11, MSWT)
6992 CreateBitField (VDDA, 0x12, VWST)
6993 Name (WKEN, 0x00)
6994 Method (_DSW, 3, NotSerialized) // _DSW: Device Sleep Wake
6995 {
6996 If (Arg1)
6997 {
6998 WKEN = 0x00
6999 }
7000 ElseIf ((Arg0 && Arg2))
7001 {
7002 WKEN = 0x01
7003 }
7004 Else
7005 {
7006 WKEN = 0x00
7007 }
7008 }
7009
7010 PowerResource (NVP3, 0x00, 0x0000)
7011 {
7012 Name (_STA, One) // _STA: Status
7013 Method (_ON, 0, Serialized) // _ON_: Power On
7014 {
7015 \_SB.PCI0.PEG.VID.GPON (0x00)
7016 _STA = One
7017 }
7018
7019 Method (_OFF, 0, Serialized) // _OFF: Power Off
7020 {
7021 \_SB.PCI0.PEG.VID.GPOF (0x00)
7022 _STA = Zero
7023 }
7024 }
7025
7026 PowerResource (NVP2, 0x00, 0x0000)
7027 {
7028 Name (_STA, One) // _STA: Status
7029 Method (_ON, 0, Serialized) // _ON_: Power On
7030 {
7031 _STA = One
7032 }
7033
7034 Method (_OFF, 0, Serialized) // _OFF: Power Off
7035 {
7036 _STA = One
7037 }
7038 }
7039
7040 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
7041 {
7042 NVP3
7043 })
7044 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
7045 {
7046 NVP2
7047 })
7048 Name (_PR3, Package (0x01) // _PR3: Power Resources for D3hot
7049 {
7050 NVP3
7051 })
7052 Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
7053 {
7054 Return (0x04)
7055 }
7056
7057 Device (VID)
7058 {
7059 Name (_ADR, 0x00) // _ADR: Address
7060 OperationRegion (VPCG, PCI_Config, 0x00, 0x0100)
7061 Field (VPCG, DWordAcc, NoLock, Preserve)
7062 {
7063 VDID, 32,
7064 Offset (0x2C),
7065 VSID, 32,
7066 Offset (0x40),
7067 VIDS, 32,
7068 Offset (0x70),
7069 VPWR, 8
7070 }
7071
7072 OperationRegion (GPPB, PCI_Config, 0xB4, 0x14)
7073 Field (GPPB, ByteAcc, NoLock, Preserve)
7074 {
7075 PBCI, 8,
7076 PBNP, 8,
7077 PBLS, 8,
7078 PBCC, 8,
7079 PBCR, 32,
7080 PBDI, 32,
7081 PBDO, 32,
7082 PBMR, 32
7083 }
7084
7085 Method (VRSI, 0, NotSerialized)
7086 {
7087 If ((VDID == 0x114010DE))
7088 {
7089 If ((OSYS >= 0x07DD))
7090 {
7091 VIDS = 0x222017AA
7092 }
7093 Else
7094 {
7095 VIDS = 0x221317AA
7096 }
7097 }
7098 ElseIf ((VDID == 0x129010DE))
7099 {
7100 If ((OSYS >= 0x07DD))
7101 {
7102 VIDS = 0x221F17AA
7103 }
7104 Else
7105 {
7106 VIDS = 0x220D17AA
7107 }
7108 }
7109 }
7110
7111 Name (_S3D, 0x03) // _S3D: S3 Device State
7112 Name (DGOS, 0x00)
7113 Method (_INI, 0, NotSerialized) // _INI: Initialize
7114 {
7115 \VUPS (0x02)
7116 VQDL = \VCDL
7117 VQDC = \VCDC
7118 VQD0 = \VCDT
7119 VQD1 = \VCDD
7120 VRSI ()
7121 If (ISOP ())
7122 {
7123 \VHYB (0x04, 0x01)
7124 }
7125 }
7126
7127 Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
7128 {
7129 If (!VMSH)
7130 {
7131 GPON (0x00)
7132 }
7133 }
7134
7135 Method (_PS1, 0, NotSerialized) // _PS1: Power State 1
7136 {
7137 Noop
7138 }
7139
7140 Method (_PS2, 0, NotSerialized) // _PS2: Power State 2
7141 {
7142 Noop
7143 }
7144
7145 Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
7146 {
7147 If (!VMSH)
7148 {
7149 GPOF (0x00)
7150 }
7151 }
7152
7153 Method (GPON, 1, NotSerialized)
7154 {
7155 If (ISOP ())
7156 {
7157 If (DGOS)
7158 {
7159 \VHYB (0x02, 0x00)
7160 Sleep (0x64)
7161 If ((ToInteger (Arg0) == 0x00)){}
7162 \VHYB (0x00, 0x01)
7163 Sleep (0x0A)
7164 Sleep (0x64)
7165 \VHYB (0x02, 0x01)
7166 Sleep (0x01)
7167 \VHYB (0x08, 0x01)
7168 Local0 = 0x0A
7169 Local1 = 0x32
7170 While (Local1)
7171 {
7172 Sleep (Local0)
7173 If (\LCHK (0x01))
7174 {
7175 Break
7176 }
7177
7178 Local1--
7179 }
7180
7181 \VHYB (0x08, 0x03)
7182 If (VMSH)
7183 {
7184 \VHYB (0x0D, 0x00)
7185 }
7186
7187 Local1 = 0xC8
7188 While (Local1)
7189 {
7190 Sleep (0x01)
7191 If (\VHYB (0x0C, 0x00))
7192 {
7193 Break
7194 }
7195
7196 Local1--
7197 }
7198
7199 \VHYB (0x04, 0x00)
7200 \SWTT (0x01)
7201 DGOS = Zero
7202 }
7203 ElseIf ((PJCD == 0x00))
7204 {
7205 If (((VSID != 0x221317AA) && (VSID != 0x222017AA)))
7206 {
7207 \VHYB (0x04, 0x00)
7208 }
7209 }
7210 ElseIf (((VSID != 0x220D17AA) && (VSID != 0x221F17AA)))
7211 {
7212 \VHYB (0x04, 0x00)
7213 }
7214
7215 \VHYB (0x09, \_SB.PCI0.PEG.VID.HDAS)
7216 }
7217 }
7218
7219 Method (GPOF, 1, NotSerialized)
7220 {
7221 If (ISOP ())
7222 {
7223 If ((VMSH || (\_SB.PCI0.PEG.VID.OMPR == 0x03)))
7224 {
7225 \SWTT (0x00)
7226 \VHYB (0x08, 0x00)
7227 Local0 = 0x0A
7228 Local1 = 0x32
7229 While (Local1)
7230 {
7231 Sleep (Local0)
7232 If (\LCHK (0x00))
7233 {
7234 Break
7235 }
7236
7237 Local1--
7238 }
7239
7240 \VHYB (0x08, 0x02)
7241 \VHYB (0x02, 0x00)
7242 Sleep (0x64)
7243 \VHYB (0x00, 0x00)
7244 If ((ToInteger (Arg0) == 0x00)){}
7245 DGOS = One
7246 \_SB.PCI0.PEG.VID.OMPR = 0x02
7247 }
7248 }
7249 }
7250
7251 Method (_STA, 0, NotSerialized) // _STA: Status
7252 {
7253 Return (0x0F)
7254 }
7255
7256 Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
7257 {
7258 If (\CMPB (Arg0, ToUUID ("a486d8f8-0bda-471b-a72b-6042a6b5bee0")))
7259 {
7260 Return (NVOP (Arg0, Arg1, Arg2, Arg3))
7261 }
7262
7263 If (\CMPB (Arg0, ToUUID ("a3132d01-8cda-49ba-a52e-bc9d46df6b81")))
7264 {
7265 Return (NVPS (Arg0, Arg1, Arg2, Arg3))
7266 }
7267
7268 If (\WIN8)
7269 {
7270 If (\CMPB (Arg0, ToUUID ("d4a50b75-65c7-46f7-bfb7-41514cea0244")))
7271 {
7272 Return (NBCI (Arg0, Arg1, Arg2, Arg3))
7273 }
7274 }
7275
7276 Return (Buffer (0x04)
7277 {
7278 0x01, 0x00, 0x00, 0x80 // ....
7279 })
7280 }
7281
7282 OperationRegion (ATRP, SystemMemory, \ATRB, 0x00010000)
7283 Field (ATRP, AnyAcc, Lock, Preserve)
7284 {
7285 IDX0, 262144,
7286 IDX1, 262144
7287 }
7288
7289 Method (_ROM, 2, Serialized) // _ROM: Read-Only Memory
7290 {
7291 If ((Arg0 >= 0x8000))
7292 {
7293 Return (GETB ((Arg0 - 0x8000), Arg1, IDX1))
7294 }
7295
7296 If (((Arg0 + Arg1) > 0x8000))
7297 {
7298 Local0 = (0x8000 - Arg0)
7299 Local1 = (Arg1 - Local0)
7300 Local3 = GETB (Arg0, Local0, IDX0)
7301 Local4 = GETB (0x00, Local1, IDX1)
7302 Concatenate (Local3, Local4, Local5)
7303 Return (Local5)
7304 }
7305
7306 Return (GETB (Arg0, Arg1, IDX0))
7307 }
7308
7309 Method (GETB, 3, Serialized)
7310 {
7311 Local0 = (Arg0 * 0x08)
7312 Local1 = (Arg1 * 0x08)
7313 CreateField (Arg2, Local0, Local1, TBF3)
7314 Return (TBF3) /* \_SB_.PCI0.PEG_.VID_.GETB.TBF3 */
7315 }
7316
7317 Method (VSWT, 0, NotSerialized)
7318 {
7319 If (\WVIS)
7320 {
7321 Local0 = \VEVT (0x07)
7322 }
7323 Else
7324 {
7325 Local0 = \VEVT (0x05)
7326 }
7327
7328 Local1 = (0xFF & Local0)
7329 If (Local1)
7330 {
7331 ASWT (Local1, 0x01)
7332 }
7333 }
7334
7335 Method (VLOC, 1, NotSerialized)
7336 {
7337 If ((Arg0 == \_SB.LID._LID ()))
7338 {
7339 \VSLD (Arg0)
7340 If (((VPWR & 0x03) == 0x00))
7341 {
7342 If (Arg0)
7343 {
7344 Local0 = \VEVT (0x01)
7345 }
7346 Else
7347 {
7348 Local0 = \VEVT (0x02)
7349 }
7350
7351 Local1 = (0x0F & Local0)
7352 If (Local1)
7353 {
7354 ASWT (Local1, 0x00)
7355 }
7356 }
7357 }
7358 }
7359
7360 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
7361 {
7362 If ((Arg0 == 0x02))
7363 {
7364 Local0 = 0x14
7365 While (Local0)
7366 {
7367 Local0--
7368 Acquire (MDGS, 0xFFFF)
7369 If ((0x00 == MSWT))
7370 {
7371 MSWT = 0x01
7372 Local0 = 0x00
7373 VDEE = Arg0
7374 }
7375
7376 Release (MDGS)
7377 Sleep (0xC8)
7378 }
7379 }
7380 Else
7381 {
7382 Acquire (MDGS, 0xFFFF)
7383 If ((VDEE == 0x02))
7384 {
7385 MSWT = 0x00
7386 }
7387
7388 If ((Arg0 > 0x02))
7389 {
7390 VDEE = 0x01
7391 }
7392 Else
7393 {
7394 VDEE = Arg0
7395 }
7396
7397 Release (MDGS)
7398 }
7399 }
7400
7401 Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
7402 {
7403 Return (Package (0x08)
7404 {
7405 0x0100,
7406 0x0114,
7407 0x0111,
7408 0x0115,
7409 0x0112,
7410 0x0116,
7411 0x0113,
7412 0x0110
7413 })
7414 }
7415
7416 Method (ASWT, 2, NotSerialized)
7417 {
7418 If ((0x01 == VDEE))
7419 {
7420 Local1 = (0x01 & Arg1)
7421 \VSDS (Arg0, Local1)
7422 }
7423 Else
7424 {
7425 Local0 = 0x14
7426 While (Local0)
7427 {
7428 Local0--
7429 Acquire (MDGS, 0xFFFF)
7430 If ((0x00 == MSWT))
7431 {
7432 Local0 = 0x00
7433 If ((0x01 & Arg1))
7434 {
7435 VUPC = 0x01
7436 }
7437 Else
7438 {
7439 VUPC = 0x00
7440 }
7441
7442 If ((0x01 & Arg0))
7443 {
7444 VQDL = 0x01
7445 }
7446 Else
7447 {
7448 VQDL = 0x00
7449 }
7450
7451 If ((0x02 & Arg0))
7452 {
7453 VQDC = 0x01
7454 }
7455 Else
7456 {
7457 VQDC = 0x00
7458 }
7459
7460 If ((0x04 & Arg0))
7461 {
7462 VQD0 = 0x01
7463 }
7464 Else
7465 {
7466 VQD0 = 0x00
7467 }
7468
7469 If ((0x08 & Arg0))
7470 {
7471 VQD1 = 0x01
7472 }
7473 Else
7474 {
7475 VQD1 = 0x00
7476 }
7477
7478 If ((0x10 & Arg0))
7479 {
7480 VQD2 = 0x01
7481 }
7482 Else
7483 {
7484 VQD2 = 0x00
7485 }
7486
7487 If ((0x20 & Arg0))
7488 {
7489 VQD3 = 0x01
7490 }
7491 Else
7492 {
7493 VQD3 = 0x00
7494 }
7495
7496 If ((0x40 & Arg0))
7497 {
7498 VQD4 = 0x01
7499 }
7500 Else
7501 {
7502 VQD4 = 0x00
7503 }
7504
7505 If ((0x80 & Arg0))
7506 {
7507 VQD5 = 0x01
7508 }
7509 Else
7510 {
7511 VQD5 = 0x00
7512 }
7513 }
7514
7515 Release (MDGS)
7516 Sleep (0xC8)
7517 }
7518
7519 If ((0x02 & Arg1))
7520 {
7521 Notify (VID, 0x81) // Information Change
7522 }
7523 Else
7524 {
7525 Notify (VID, 0x80) // Status Change
7526 }
7527 }
7528 }
7529
7530 Method (VDSW, 1, NotSerialized)
7531 {
7532 If ((VPWR == 0x00))
7533 {
7534 If (Arg0)
7535 {
7536 Local0 = \VEVT (0x03)
7537 }
7538 Else
7539 {
7540 Local0 = \VEVT (0x04)
7541 }
7542
7543 Local1 = (0x0F & Local0)
7544 If (Local1)
7545 {
7546 ASWT (Local1, 0x00)
7547 }
7548 }
7549 }
7550
7551 Device (LCD0)
7552 {
7553 Method (_ADR, 0, NotSerialized) // _ADR: Address
7554 {
7555 Return (0x0110)
7556 }
7557
7558 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7559 {
7560 \VUPS (0x00)
7561 If (\VCDL)
7562 {
7563 Return (0x1F)
7564 }
7565 Else
7566 {
7567 Return (0x1D)
7568 }
7569 }
7570
7571 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7572 {
7573 Return (VQDL) /* \_SB_.PCI0.PEG_.VQDL */
7574 }
7575
7576 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7577 {
7578 VSDL = (Arg0 & 0x01)
7579 If ((Arg0 & 0x80000000))
7580 {
7581 If ((Arg0 & 0x40000000))
7582 {
7583 DSWT (0x02)
7584 }
7585 Else
7586 {
7587 DSWT (0x01)
7588 }
7589 }
7590 }
7591
7592 Method (_DDC, 1, NotSerialized) // _DDC: Display Data Current
7593 {
7594 If (ISOP ())
7595 {
7596 Return (0x00)
7597 }
7598
7599 If ((Arg0 == 0x01))
7600 {
7601 Return (\VEDI)
7602 }
7603 ElseIf ((Arg0 == 0x02))
7604 {
7605 Return (\VEDI)
7606 }
7607
7608 Return (0x00)
7609 }
7610 }
7611
7612 Device (CRT0)
7613 {
7614 Method (_ADR, 0, NotSerialized) // _ADR: Address
7615 {
7616 Return (0x0100)
7617 }
7618
7619 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7620 {
7621 \VUPS (0x01)
7622 If (\VCSS)
7623 {
7624 If (\VCDC)
7625 {
7626 Return (0x1F)
7627 }
7628 Else
7629 {
7630 Return (0x1D)
7631 }
7632 }
7633 ElseIf (\VCDC)
7634 {
7635 Return (0x0F)
7636 }
7637 Else
7638 {
7639 Return (0x0D)
7640 }
7641 }
7642
7643 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7644 {
7645 Return (VQDC) /* \_SB_.PCI0.PEG_.VQDC */
7646 }
7647
7648 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7649 {
7650 VSDC = (Arg0 & 0x01)
7651 If ((Arg0 & 0x80000000))
7652 {
7653 If ((Arg0 & 0x40000000))
7654 {
7655 DSWT (0x02)
7656 }
7657 Else
7658 {
7659 DSWT (0x01)
7660 }
7661 }
7662 }
7663 }
7664
7665 Device (DVI0)
7666 {
7667 Method (_ADR, 0, NotSerialized) // _ADR: Address
7668 {
7669 Return (0x0111)
7670 }
7671
7672 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7673 {
7674 \VUPS (0x00)
7675 If (\VCDD)
7676 {
7677 Return (0x1F)
7678 }
7679 Else
7680 {
7681 Return (0x1D)
7682 }
7683 }
7684
7685 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7686 {
7687 Return (VQD1) /* \_SB_.PCI0.PEG_.VQD1 */
7688 }
7689
7690 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7691 {
7692 VSD1 = (Arg0 & 0x01)
7693 If ((Arg0 & 0x80000000))
7694 {
7695 If ((Arg0 & 0x40000000))
7696 {
7697 DSWT (0x02)
7698 }
7699 Else
7700 {
7701 DSWT (0x01)
7702 }
7703 }
7704 }
7705 }
7706
7707 Device (DP0)
7708 {
7709 Method (_ADR, 0, NotSerialized) // _ADR: Address
7710 {
7711 Return (0x0114)
7712 }
7713
7714 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7715 {
7716 \VUPS (0x00)
7717 If (\VCDT)
7718 {
7719 Return (0x1F)
7720 }
7721 Else
7722 {
7723 Return (0x1D)
7724 }
7725 }
7726
7727 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7728 {
7729 Return (VQD0) /* \_SB_.PCI0.PEG_.VQD0 */
7730 }
7731
7732 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7733 {
7734 VSD0 = (Arg0 & 0x01)
7735 If ((Arg0 & 0x80000000))
7736 {
7737 If ((Arg0 & 0x40000000))
7738 {
7739 DSWT (0x02)
7740 }
7741 Else
7742 {
7743 DSWT (0x01)
7744 }
7745 }
7746 }
7747 }
7748
7749 Device (DVI1)
7750 {
7751 Method (_ADR, 0, NotSerialized) // _ADR: Address
7752 {
7753 Return (0x0112)
7754 }
7755
7756 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7757 {
7758 \VUPS (0x00)
7759 If (\VCDD)
7760 {
7761 Return (0x1F)
7762 }
7763 Else
7764 {
7765 Return (0x1D)
7766 }
7767 }
7768
7769 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7770 {
7771 Return (VQD3) /* \_SB_.PCI0.PEG_.VQD3 */
7772 }
7773
7774 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7775 {
7776 VSD3 = (Arg0 & 0x01)
7777 If ((Arg0 & 0x80000000))
7778 {
7779 If ((Arg0 & 0x40000000))
7780 {
7781 DSWT (0x02)
7782 }
7783 Else
7784 {
7785 DSWT (0x01)
7786 }
7787 }
7788 }
7789 }
7790
7791 Device (DP1)
7792 {
7793 Method (_ADR, 0, NotSerialized) // _ADR: Address
7794 {
7795 Return (0x0115)
7796 }
7797
7798 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7799 {
7800 \VUPS (0x00)
7801 If (\VCDT)
7802 {
7803 Return (0x1F)
7804 }
7805 Else
7806 {
7807 Return (0x1D)
7808 }
7809 }
7810
7811 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7812 {
7813 Return (VQD2) /* \_SB_.PCI0.PEG_.VQD2 */
7814 }
7815
7816 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7817 {
7818 VSD2 = (Arg0 & 0x01)
7819 If ((Arg0 & 0x80000000))
7820 {
7821 If ((Arg0 & 0x40000000))
7822 {
7823 DSWT (0x02)
7824 }
7825 Else
7826 {
7827 DSWT (0x01)
7828 }
7829 }
7830 }
7831 }
7832
7833 Device (DVI2)
7834 {
7835 Method (_ADR, 0, NotSerialized) // _ADR: Address
7836 {
7837 Return (0x0113)
7838 }
7839
7840 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7841 {
7842 \VUPS (0x00)
7843 If (\VCDD)
7844 {
7845 Return (0x1F)
7846 }
7847 Else
7848 {
7849 Return (0x1D)
7850 }
7851 }
7852
7853 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7854 {
7855 Return (VQD5) /* \_SB_.PCI0.PEG_.VQD5 */
7856 }
7857
7858 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7859 {
7860 VSD5 = (Arg0 & 0x01)
7861 If ((Arg0 & 0x80000000))
7862 {
7863 If ((Arg0 & 0x40000000))
7864 {
7865 DSWT (0x02)
7866 }
7867 Else
7868 {
7869 DSWT (0x01)
7870 }
7871 }
7872 }
7873 }
7874
7875 Device (DP2)
7876 {
7877 Method (_ADR, 0, NotSerialized) // _ADR: Address
7878 {
7879 Return (0x0116)
7880 }
7881
7882 Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status
7883 {
7884 \VUPS (0x00)
7885 If (\VCDT)
7886 {
7887 Return (0x1F)
7888 }
7889 Else
7890 {
7891 Return (0x1D)
7892 }
7893 }
7894
7895 Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State
7896 {
7897 Return (VQD4) /* \_SB_.PCI0.PEG_.VQD4 */
7898 }
7899
7900 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
7901 {
7902 VSD4 = (Arg0 & 0x01)
7903 If ((Arg0 & 0x80000000))
7904 {
7905 If ((Arg0 & 0x40000000))
7906 {
7907 DSWT (0x02)
7908 }
7909 Else
7910 {
7911 DSWT (0x01)
7912 }
7913 }
7914 }
7915 }
7916
7917 Method (DSWT, 1, NotSerialized)
7918 {
7919 If (VSDL)
7920 {
7921 Local0 = 0x01
7922 }
7923 Else
7924 {
7925 Local0 = 0x00
7926 }
7927
7928 If (VSDC)
7929 {
7930 Local0 |= 0x02
7931 }
7932
7933 If (VSD0)
7934 {
7935 Local0 |= 0x08
7936 }
7937
7938 If (Local0)
7939 {
7940 If (VUPC)
7941 {
7942 \VSDS (Local0, Arg0)
7943 }
7944 }
7945 Else
7946 {
7947 Noop
7948 }
7949 }
7950 }
7951
7952 Scope (\_SB.PCI0.PEG.VID)
7953 {
7954 Method (NBCI, 4, Serialized)
7955 {
7956 Debug = "------- NBCI DSM --------"
7957 Switch (ToInteger (Arg2))
7958 {
7959 Case (0x00)
7960 {
7961 Local0 = Buffer (0x04)
7962 {
7963 0x00, 0x00, 0x00, 0x00 // ....
7964 }
7965 Divide (0x00, 0x08, Local2, Local1)
7966 Local2 = (0x01 << Local2)
7967 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
7968 Divide (0x14, 0x08, Local2, Local1)
7969 Local2 = (0x01 << Local2)
7970 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
7971 Return (Local0)
7972 }
7973 Case (0x14)
7974 {
7975 Local0 = Package (0x07)
7976 {
7977 0x0110,
7978 0x0200,
7979 0x00,
7980 0x00,
7981 0x05,
7982 0x01,
7983 Package (0x04)
7984 {
7985 0xDC,
7986 0x00,
7987 0x03E8,
7988 Package (0x03)
7989 {
7990 0x65,
7991 Package (0x65)
7992 {
7993 0x00,
7994 0x0A,
7995 0x14,
7996 0x1E,
7997 0x28,
7998 0x32,
7999 0x3C,
8000 0x46,
8001 0x50,
8002 0x5A,
8003 0x64,
8004 0x6E,
8005 0x78,
8006 0x82,
8007 0x8C,
8008 0x96,
8009 0xA0,
8010 0xAA,
8011 0xB4,
8012 0xBE,
8013 0xC8,
8014 0xD2,
8015 0xDC,
8016 0xE6,
8017 0xF0,
8018 0xFA,
8019 0x0104,
8020 0x010E,
8021 0x0118,
8022 0x0122,
8023 0x012C,
8024 0x0136,
8025 0x0140,
8026 0x014A,
8027 0x0154,
8028 0x015E,
8029 0x0168,
8030 0x0172,
8031 0x017C,
8032 0x0186,
8033 0x0190,
8034 0x019A,
8035 0x01A4,
8036 0x01AE,
8037 0x01B8,
8038 0x01C2,
8039 0x01CC,
8040 0x01D6,
8041 0x01E0,
8042 0x01EA,
8043 0x01F4,
8044 0x01FE,
8045 0x0208,
8046 0x0212,
8047 0x021C,
8048 0x0226,
8049 0x0230,
8050 0x023A,
8051 0x0244,
8052 0x024E,
8053 0x0258,
8054 0x0262,
8055 0x026C,
8056 0x0276,
8057 0x0280,
8058 0x028A,
8059 0x0294,
8060 0x029E,
8061 0x02A8,
8062 0x02B2,
8063 0x02BC,
8064 0x02C6,
8065 0x02D0,
8066 0x02DA,
8067 0x02E4,
8068 0x02EE,
8069 0x02F8,
8070 0x0302,
8071 0x030C,
8072 0x0316,
8073 0x0320,
8074 0x032A,
8075 0x0334,
8076 0x033E,
8077 0x0348,
8078 0x0352,
8079 0x035C,
8080 0x0366,
8081 0x0370,
8082 0x037A,
8083 0x0384,
8084 0x038E,
8085 0x0398,
8086 0x03A2,
8087 0x03AC,
8088 0x03B6,
8089 0x03C0,
8090 0x03CA,
8091 0x03D4,
8092 0x03DE,
8093 0x03E8
8094 },
8095
8096 Package (0x65)
8097 {
8098 0x00,
8099 0x0A,
8100 0x14,
8101 0x1E,
8102 0x28,
8103 0x32,
8104 0x3C,
8105 0x46,
8106 0x50,
8107 0x5A,
8108 0x64,
8109 0x6E,
8110 0x78,
8111 0x82,
8112 0x8C,
8113 0x96,
8114 0xA0,
8115 0xAA,
8116 0xB4,
8117 0xBE,
8118 0xC8,
8119 0xD2,
8120 0xDC,
8121 0xE6,
8122 0xF0,
8123 0xFA,
8124 0x0104,
8125 0x010E,
8126 0x0118,
8127 0x0122,
8128 0x012C,
8129 0x0136,
8130 0x0140,
8131 0x014A,
8132 0x0154,
8133 0x015E,
8134 0x0168,
8135 0x0172,
8136 0x017C,
8137 0x0186,
8138 0x0190,
8139 0x019A,
8140 0x01A4,
8141 0x01AE,
8142 0x01B8,
8143 0x01C2,
8144 0x01CC,
8145 0x01D6,
8146 0x01E0,
8147 0x01EA,
8148 0x01F4,
8149 0x01FE,
8150 0x0208,
8151 0x0212,
8152 0x021C,
8153 0x0226,
8154 0x0230,
8155 0x023A,
8156 0x0244,
8157 0x024E,
8158 0x0258,
8159 0x0262,
8160 0x026C,
8161 0x0276,
8162 0x0280,
8163 0x028A,
8164 0x0294,
8165 0x029E,
8166 0x02A8,
8167 0x02B2,
8168 0x02BC,
8169 0x02C6,
8170 0x02D0,
8171 0x02DA,
8172 0x02E4,
8173 0x02EE,
8174 0x02F8,
8175 0x0302,
8176 0x030C,
8177 0x0316,
8178 0x0320,
8179 0x032A,
8180 0x0334,
8181 0x033E,
8182 0x0348,
8183 0x0352,
8184 0x035C,
8185 0x0366,
8186 0x0370,
8187 0x037A,
8188 0x0384,
8189 0x038E,
8190 0x0398,
8191 0x03A2,
8192 0x03AC,
8193 0x03B6,
8194 0x03C0,
8195 0x03CA,
8196 0x03D4,
8197 0x03DE,
8198 0x03E8
8199 }
8200 }
8201 }
8202 }
8203 Local1 = 0x00
8204 While ((Local1 <= 0x64))
8205 {
8206 Local2 = DerefOf (DerefOf (\_SB.PCI0.LPC.EC.BRTD [\BRTN]) [Local1])
8207 Local2 *= 0x03E8
8208 Divide (Local2, 0xFF, Local2, Local3)
8209 DerefOf (DerefOf (DerefOf (Local0 [0x06]) [0x03]
8210 ) [0x01]) [Local1] = Local3
8211 Local1++
8212 }
8213
8214 Return (Local0)
8215 }
8216
8217 }
8218
8219 Return (0x80000002)
8220 }
8221
8222 Method (NVSB, 1, NotSerialized)
8223 {
8224 Name (CNT, 0x00)
8225 If ((PBCC == 0x01))
8226 {
8227 If ((PBMR == 0x00))
8228 {
8229 PBMR = 0x02
8230 If ((PBMR == 0x02))
8231 {
8232 While (((PBCC && 0xFF) && (CNT < 0x0A)))
8233 {
8234 CNT++
8235 Sleep (0x01)
8236 }
8237
8238 If (((PBCR & 0x02) == 0x00))
8239 {
8240 Local0 = (Arg0 * 0x03E8)
8241 Divide (Local0, 0xFF, Local1, Local2)
8242 Local2 <<= 0x08
8243 PBDI = Local2
8244 PBCR = 0x86100000
8245 }
8246
8247 PBMR = 0x00
8248 Return (0x01)
8249 }
8250 }
8251 }
8252
8253 Return (0x00)
8254 }
8255 }
8256
8257 OperationRegion (PEGC, PCI_Config, 0x00, 0x0100)
8258 Field (PEGC, DWordAcc, NoLock, Preserve)
8259 {
8260 Offset (0xEC),
8261 GMGP, 1,
8262 HPGP, 1,
8263 PMGP, 1
8264 }
8265 }
8266
8267 Device (B0D3)
8268 {
8269 Name (_ADR, 0x00030000) // _ADR: Address
8270 }
8271
8272 Device (IGBE)
8273 {
8274 Name (_ADR, 0x00190000) // _ADR: Address
8275 Name (_S3D, 0x03) // _S3D: S3 Device State
8276 Name (RID, 0x00)
8277 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8278 {
8279 0x6D,
8280 0x04
8281 })
8282 }
8283
8284 Name (LTRE, 0x00)
8285 Name (OBFF, 0x00)
8286 Device (EXP1)
8287 {
8288 Name (_ADR, 0x001C0000) // _ADR: Address
8289 Name (RID, 0x00)
8290 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8291 Field (PECS, DWordAcc, NoLock, Preserve)
8292 {
8293 Offset (0x62),
8294 PS, 1,
8295 PP, 1,
8296 Offset (0xDB),
8297 , 7,
8298 PMCE, 1,
8299 Offset (0xDF),
8300 , 7,
8301 PMCS, 1
8302 }
8303
8304 Name (LPRT, Package (0x04)
8305 {
8306 Package (0x04)
8307 {
8308 0xFFFF,
8309 0x00,
8310 \_SB.LNKA,
8311 0x00
8312 },
8313
8314 Package (0x04)
8315 {
8316 0xFFFF,
8317 0x01,
8318 \_SB.LNKB,
8319 0x00
8320 },
8321
8322 Package (0x04)
8323 {
8324 0xFFFF,
8325 0x02,
8326 \_SB.LNKC,
8327 0x00
8328 },
8329
8330 Package (0x04)
8331 {
8332 0xFFFF,
8333 0x03,
8334 \_SB.LNKD,
8335 0x00
8336 }
8337 })
8338 Name (APRT, Package (0x04)
8339 {
8340 Package (0x04)
8341 {
8342 0xFFFF,
8343 0x00,
8344 0x00,
8345 0x10
8346 },
8347
8348 Package (0x04)
8349 {
8350 0xFFFF,
8351 0x01,
8352 0x00,
8353 0x11
8354 },
8355
8356 Package (0x04)
8357 {
8358 0xFFFF,
8359 0x02,
8360 0x00,
8361 0x12
8362 },
8363
8364 Package (0x04)
8365 {
8366 0xFFFF,
8367 0x03,
8368 0x00,
8369 0x13
8370 }
8371 })
8372 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8373 {
8374 If (\GPIC)
8375 {
8376 Return (APRT) /* \_SB_.PCI0.EXP1.APRT */
8377 }
8378 Else
8379 {
8380 Return (LPRT) /* \_SB_.PCI0.EXP1.LPRT */
8381 }
8382 }
8383
8384 Name (OPTS, 0x00)
8385 Name (LTRV, Package (0x04)
8386 {
8387 0x00,
8388 0x00,
8389 0x00,
8390 0x00
8391 })
8392 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
8393 {
8394 Switch (ToInteger (Arg0))
8395 {
8396 Case (ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */){ Switch (ToInteger (Arg2))
8397 {
8398 Case (0x00)
8399 {
8400 If ((Arg1 == 0x02))
8401 {
8402 OPTS = 0x01
8403 If (LTRE)
8404 {
8405 OPTS |= 0x40
8406 }
8407
8408 If (OBFF)
8409 {
8410 OPTS |= 0x10
8411 }
8412
8413 Return (OPTS) /* \_SB_.PCI0.EXP1.OPTS */
8414 }
8415 Else
8416 {
8417 Return (0x00)
8418 }
8419 }
8420 Case (0x04)
8421 {
8422 If ((Arg1 == 0x02))
8423 {
8424 If (OBFF)
8425 {
8426 Return (Buffer (0x10)
8427 {
8428 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
8429 /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
8430 })
8431 }
8432 Else
8433 {
8434 Return (Buffer (0x10)
8435 {
8436 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
8437 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
8438 })
8439 }
8440 }
8441 }
8442 Case (0x06)
8443 {
8444 If ((Arg1 == 0x02))
8445 {
8446 If (LTRE)
8447 {
8448 Name (MLTR, 0x00)
8449 MLTR = 0x1003
8450 LTRV [0x00] = ((MLTR >> 0x0A) & 0x07)
8451 LTRV [0x01] = (MLTR & 0x03FF)
8452 LTRV [0x02] = ((MLTR >> 0x0A) & 0x07)
8453 LTRV [0x03] = (MLTR & 0x03FF)
8454 Return (LTRV) /* \_SB_.PCI0.EXP1.LTRV */
8455 }
8456 Else
8457 {
8458 Return (0x00)
8459 }
8460 }
8461 }
8462
8463 }
8464 }
8465
8466 }
8467
8468 Return (Buffer (0x01)
8469 {
8470 0x00 // .
8471 })
8472 }
8473 }
8474
8475 Device (EXP2)
8476 {
8477 Name (_ADR, 0x001C0001) // _ADR: Address
8478 Name (RID, 0x00)
8479 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8480 Field (PECS, DWordAcc, NoLock, Preserve)
8481 {
8482 Offset (0x62),
8483 PS, 1,
8484 PP, 1,
8485 Offset (0xDB),
8486 , 7,
8487 PMCE, 1,
8488 Offset (0xDF),
8489 , 7,
8490 PMCS, 1
8491 }
8492
8493 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
8494 {
8495 0x69,
8496 0x04
8497 })
8498 Name (LPRT, Package (0x04)
8499 {
8500 Package (0x04)
8501 {
8502 0xFFFF,
8503 0x00,
8504 \_SB.LNKB,
8505 0x00
8506 },
8507
8508 Package (0x04)
8509 {
8510 0xFFFF,
8511 0x01,
8512 \_SB.LNKC,
8513 0x00
8514 },
8515
8516 Package (0x04)
8517 {
8518 0xFFFF,
8519 0x02,
8520 \_SB.LNKD,
8521 0x00
8522 },
8523
8524 Package (0x04)
8525 {
8526 0xFFFF,
8527 0x03,
8528 \_SB.LNKA,
8529 0x00
8530 }
8531 })
8532 Name (APRT, Package (0x04)
8533 {
8534 Package (0x04)
8535 {
8536 0xFFFF,
8537 0x00,
8538 0x00,
8539 0x11
8540 },
8541
8542 Package (0x04)
8543 {
8544 0xFFFF,
8545 0x01,
8546 0x00,
8547 0x12
8548 },
8549
8550 Package (0x04)
8551 {
8552 0xFFFF,
8553 0x02,
8554 0x00,
8555 0x13
8556 },
8557
8558 Package (0x04)
8559 {
8560 0xFFFF,
8561 0x03,
8562 0x00,
8563 0x10
8564 }
8565 })
8566 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8567 {
8568 If (\GPIC)
8569 {
8570 Return (APRT) /* \_SB_.PCI0.EXP2.APRT */
8571 }
8572 Else
8573 {
8574 Return (LPRT) /* \_SB_.PCI0.EXP2.LPRT */
8575 }
8576 }
8577
8578 Name (OPTS, 0x00)
8579 Name (LTRV, Package (0x04)
8580 {
8581 0x00,
8582 0x00,
8583 0x00,
8584 0x00
8585 })
8586 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
8587 {
8588 Switch (ToInteger (Arg0))
8589 {
8590 Case (ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */){ Switch (ToInteger (Arg2))
8591 {
8592 Case (0x00)
8593 {
8594 If ((Arg1 == 0x02))
8595 {
8596 OPTS = 0x01
8597 If (LTRE)
8598 {
8599 OPTS |= 0x40
8600 }
8601
8602 If (OBFF)
8603 {
8604 OPTS |= 0x10
8605 }
8606
8607 Return (OPTS) /* \_SB_.PCI0.EXP2.OPTS */
8608 }
8609 Else
8610 {
8611 Return (0x00)
8612 }
8613 }
8614 Case (0x04)
8615 {
8616 If ((Arg1 == 0x02))
8617 {
8618 If (OBFF)
8619 {
8620 Return (Buffer (0x10)
8621 {
8622 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
8623 /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
8624 })
8625 }
8626 Else
8627 {
8628 Return (Buffer (0x10)
8629 {
8630 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
8631 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
8632 })
8633 }
8634 }
8635 }
8636 Case (0x06)
8637 {
8638 If ((Arg1 == 0x02))
8639 {
8640 If (LTRE)
8641 {
8642 Name (MLTR, 0x00)
8643 MLTR = 0x1003
8644 LTRV [0x00] = ((MLTR >> 0x0A) & 0x07)
8645 LTRV [0x01] = (MLTR & 0x03FF)
8646 LTRV [0x02] = ((MLTR >> 0x0A) & 0x07)
8647 LTRV [0x03] = (MLTR & 0x03FF)
8648 Return (LTRV) /* \_SB_.PCI0.EXP2.LTRV */
8649 }
8650 Else
8651 {
8652 Return (0x00)
8653 }
8654 }
8655 }
8656
8657 }
8658 }
8659
8660 }
8661
8662 Return (Buffer (0x01)
8663 {
8664 0x00 // .
8665 })
8666 }
8667 }
8668
8669 Device (EXP3)
8670 {
8671 Name (_ADR, 0x001C0002) // _ADR: Address
8672 Name (RID, 0x00)
8673 OperationRegion (PECS, PCI_Config, 0x00, 0x0100)
8674 Field (PECS, DWordAcc, NoLock, Preserve)
8675 {
8676 Offset (0x62),
8677 PS, 1,
8678 PP, 1,
8679 Offset (0xDB),
8680 , 7,
8681 PMCE, 1,
8682 Offset (0xDF),
8683 , 7,
8684 PMCS, 1
8685 }
8686
8687 Name (LPRT, Package (0x04)
8688 {
8689 Package (0x04)
8690 {
8691 0xFFFF,
8692 0x00,
8693 \_SB.LNKC,
8694 0x00
8695 },
8696
8697 Package (0x04)
8698 {
8699 0xFFFF,
8700 0x01,
8701 \_SB.LNKD,
8702 0x00
8703 },
8704
8705 Package (0x04)
8706 {
8707 0xFFFF,
8708 0x02,
8709 \_SB.LNKA,
8710 0x00
8711 },
8712
8713 Package (0x04)
8714 {
8715 0xFFFF,
8716 0x03,
8717 \_SB.LNKB,
8718 0x00
8719 }
8720 })
8721 Name (APRT, Package (0x04)
8722 {
8723 Package (0x04)
8724 {
8725 0xFFFF,
8726 0x00,
8727 0x00,
8728 0x12
8729 },
8730
8731 Package (0x04)
8732 {
8733 0xFFFF,
8734 0x01,
8735 0x00,
8736 0x13
8737 },
8738
8739 Package (0x04)
8740 {
8741 0xFFFF,
8742 0x02,
8743 0x00,
8744 0x10
8745 },
8746
8747 Package (0x04)
8748 {
8749 0xFFFF,
8750 0x03,
8751 0x00,
8752 0x11
8753 }
8754 })
8755 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
8756 {
8757 If (\GPIC)
8758 {
8759 Return (APRT) /* \_SB_.PCI0.EXP3.APRT */
8760 }
8761 Else
8762 {
8763 Return (LPRT) /* \_SB_.PCI0.EXP3.LPRT */
8764 }
8765 }
8766
8767 Name (OPTS, 0x00)
8768 Name (LTRV, Package (0x04)
8769 {
8770 0x00,
8771 0x00,
8772 0x00,
8773 0x00
8774 })
8775 Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method
8776 {
8777 Switch (ToInteger (Arg0))
8778 {
8779 Case (ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434d") /* Device Labeling Interface */){ Switch (ToInteger (Arg2))
8780 {
8781 Case (0x00)
8782 {
8783 If ((Arg1 == 0x02))
8784 {
8785 OPTS = 0x01
8786 If (LTRE)
8787 {
8788 OPTS |= 0x40
8789 }
8790
8791 If (OBFF)
8792 {
8793 OPTS |= 0x10
8794 }
8795
8796 Return (OPTS) /* \_SB_.PCI0.EXP3.OPTS */
8797 }
8798 Else
8799 {
8800 Return (0x00)
8801 }
8802 }
8803 Case (0x04)
8804 {
8805 If ((Arg1 == 0x02))
8806 {
8807 If (OBFF)
8808 {
8809 Return (Buffer (0x10)
8810 {
8811 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
8812 /* 0008 */ 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00 // ........
8813 })
8814 }
8815 Else
8816 {
8817 Return (Buffer (0x10)
8818 {
8819 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
8820 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
8821 })
8822 }
8823 }
8824 }
8825 Case (0x06)
8826 {
8827 If ((Arg1 == 0x02))
8828 {
8829 If (LTRE)
8830 {
8831 Name (MLTR, 0x00)
8832 MLTR = 0x1003
8833 LTRV [0x00] = ((MLTR >> 0x0A) & 0x07)
8834 LTRV [0x01] = (MLTR & 0x03FF)
8835 LTRV [0x02] = ((MLTR >> 0x0A) & 0x07)
8836 LTRV [0x03] = (MLTR & 0x03FF)
8837 Return (LTRV) /* \_SB_.PCI0.EXP3.LTRV */
8838 }
8839 Else
8840 {
8841 Return (0x00)
8842 }
8843 }
8844 }
8845
8846 }
8847 }
8848
8849 }
8850
8851 Return (Buffer (0x01)
8852 {
8853 0x00 // .
8854 })
8855 }
8856 }
8857
8858 Device (SAT1)
8859 {
8860 Name (_ADR, 0x001F0002) // _ADR: Address
8861 Name (_S3D, 0x03) // _S3D: S3 Device State
8862 Name (RID, 0x00)
8863 }
8864
8865 Device (SAT2)
8866 {
8867 Name (_ADR, 0x001F0005) // _ADR: Address
8868 Name (_S3D, 0x03) // _S3D: S3 Device State
8869 Name (RID, 0x00)
8870 }
8871
8872 Device (SMBU)
8873 {
8874 Name (_ADR, 0x001F0003) // _ADR: Address
8875 Name (_S3D, 0x03) // _S3D: S3 Device State
8876 Name (RID, 0x00)
8877 Device (NFC)
8878 {
8879 Name (_HID, EisaId ("BCM2F09")) // _HID: Hardware ID
8880 Name (_CID, EisaId ("BCM2F09")) // _CID: Compatible ID
8881 Name (_UID, 0x00) // _UID: Unique ID
8882 Method (_STA, 0, NotSerialized) // _STA: Status
8883 {
8884 If ((\_SB.PCI0.LPC.NFCD || \NFCF))
8885 {
8886 Return (0x00)
8887 }
8888 Else
8889 {
8890 Return (0x0F)
8891 }
8892 }
8893
8894 Method (GPEN, 0, NotSerialized)
8895 {
8896 \_GPE.GPFG = 0x01
8897 }
8898
8899 Method (SNFC, 1, NotSerialized)
8900 {
8901 If (Arg0)
8902 {
8903 \_SB.PCI0.LPC.NFCP = 0x01
8904 }
8905 Else
8906 {
8907 \_SB.PCI0.LPC.NFCP = 0x00
8908 }
8909 }
8910 }
8911 }
8912
8913 Device (XHCI)
8914 {
8915 Name (_ADR, 0x00140000) // _ADR: Address
8916 Name (_S3D, 0x03) // _S3D: S3 Device State
8917 Name (RID, 0x00)
8918 OperationRegion (XHCS, PCI_Config, 0x00, 0x0100)
8919 Field (XHCS, DWordAcc, NoLock, Preserve)
8920 {
8921 Offset (0x10),
8922 MEMB, 32,
8923 Offset (0x40),
8924 , 11,
8925 SWAI, 1,
8926 Offset (0x44),
8927 , 12,
8928 SAIP, 2,
8929 Offset (0x48),
8930 Offset (0x74),
8931 Offset (0x75),
8932 PMEE, 1,
8933 , 6,
8934 PMES, 1,
8935 Offset (0xD0),
8936 PR2, 32,
8937 PR2M, 32,
8938 PR3, 32,
8939 PR3M, 32
8940 }
8941
8942 Name (XRST, Zero)
8943 OperationRegion (XHCM, SystemMemory, (MEMB & 0xFFFF0000), 0x0600)
8944 Field (XHCM, DWordAcc, NoLock, Preserve)
8945 {
8946 Offset (0x02),
8947 XHCV, 16,
8948 Offset (0x480),
8949 HP01, 1,
8950 Offset (0x490),
8951 HP02, 1,
8952 Offset (0x4A0),
8953 HP03, 1,
8954 Offset (0x4E0),
8955 HP07, 1,
8956 Offset (0x510),
8957 SP00, 1,
8958 Offset (0x520),
8959 SP01, 1,
8960 Offset (0x530),
8961 SP02, 1
8962 }
8963
8964 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
8965 {
8966 \_SB.PCI0.LPC.EC.PUBS
8967 })
8968 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
8969 {
8970 \_SB.PCI0.LPC.EC.PUBS
8971 })
8972 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
8973 {
8974 \_SB.PCI0.LPC.EC.PUBS
8975 })
8976 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
8977 {
8978 0x6D,
8979 0x03,
8980 \_SB.PCI0.LPC.EC.PUBS
8981 })
8982 Method (CUID, 1, Serialized)
8983 {
8984 If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71")))
8985 {
8986 Return (0x01)
8987 }
8988
8989 Return (0x00)
8990 }
8991
8992 Method (POSC, 3, Serialized)
8993 {
8994 CreateDWordField (Arg2, 0x00, CDW1)
8995 CreateDWordField (Arg2, 0x08, CDW3)
8996 If ((\XHCI == 0x00))
8997 {
8998 CDW1 |= 0x02
8999 \_SB.PCI0.LPC.XUSB = 0x00
9000 XRST = 0x00
9001 }
9002
9003 If (!(CDW1 & 0x01))
9004 {
9005 If ((CDW3 & 0x01))
9006 {
9007 ESEL ()
9008 }
9009 ElseIf (0x00)
9010 {
9011 If ((Arg0 > 0x01))
9012 {
9013 SXHC ()
9014 }
9015 Else
9016 {
9017 CDW1 |= 0x0A
9018 }
9019 }
9020 ElseIf ((Arg0 > 0x02))
9021 {
9022 SXHC ()
9023 }
9024 Else
9025 {
9026 CDW1 |= 0x0A
9027 }
9028
9029 Return (Arg2)
9030 }
9031
9032 If ((!(CDW1 & 0x01) && ((\XHCI == 0x02) || (
9033 \XHCI == 0x03))))
9034 {
9035 SXHC ()
9036 }
9037
9038 Return (Arg2)
9039 }
9040
9041 Method (ESEL, 0, Serialized)
9042 {
9043 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
9044 {
9045 PR3 &= 0xFFFFFFC0
9046 PR2 &= 0xFFFF8000
9047 \_SB.PCI0.LPC.XUSB = 0x00
9048 XRST = 0x00
9049 }
9050 }
9051
9052 Method (SXHC, 0, NotSerialized)
9053 {
9054 \_SB.PCI0.LPC.XUSB = 0x01
9055 XRST = 0x01
9056 Local0 = 0x00
9057 Local0 = (PR3 & 0xFFFFFFC0)
9058 PR3 = (Local0 | PR3M) /* \_SB_.PCI0.XHCI.PR3M */
9059 Local0 = 0x00
9060 Local0 = (PR2 & 0xFFFF8000)
9061 PR2 = (Local0 | PR2M) /* \_SB_.PCI0.XHCI.PR2M */
9062 \_SB.PCI0.LPC.XUSB = 0x01
9063 \USBR = 0x01
9064 }
9065
9066 Method (XHPS, 0, NotSerialized)
9067 {
9068 If ((\_SB.PCI0.XHCI.XHCV != 0xFFFF))
9069 {
9070 \USBC = 0x01
9071 \USBC |= (\_SB.PCI0.XHCI.HP01 << 0x01)
9072 \USBC |= (\_SB.PCI0.XHCI.HP02 << 0x02)
9073 \USBC |= (\_SB.PCI0.XHCI.HP03 << 0x03)
9074 \USBC |= (\_SB.PCI0.XHCI.HP07 << 0x04)
9075 \USBC |= (\_SB.PCI0.XHCI.SP00 << 0x05)
9076 \USBC |= (\_SB.PCI0.XHCI.SP01 << 0x06)
9077 \USBC |= (\_SB.PCI0.XHCI.SP02 << 0x07)
9078 }
9079 }
9080
9081 Method (_INI, 0, NotSerialized) // _INI: Initialize
9082 {
9083 If (\WIN8)
9084 {
9085 SXHC ()
9086 }
9087 }
9088
9089 Name (PEBS, 0xF8000000)
9090 OperationRegion (XHCB, SystemMemory, (PEBS + 0x000A0000), 0x0100)
9091 Field (XHCB, DWordAcc, Lock, Preserve)
9092 {
9093 DVID, 16,
9094 Offset (0x04),
9095 PDBM, 16,
9096 Offset (0x10),
9097 MBA1, 32,
9098 Offset (0x74),
9099 D0D3, 32,
9100 Offset (0xB0),
9101 , 13,
9102 MB13, 2,
9103 Offset (0xB4)
9104 }
9105
9106 Method (_S0W, 0, NotSerialized) // _S0W: S0 Device Wake State
9107 {
9108 Return (0x03)
9109 }
9110
9111 Method (_PS0, 0, Serialized) // _PS0: Power State 0
9112 {
9113 If ((\_SB.PCI0.XHCI.DVID == 0xFFFF))
9114 {
9115 Return (Zero)
9116 }
9117
9118 Local6 = 0x00
9119 Local7 = \_SB.PCI0.XHCI.MBA1
9120 Local7 &= 0xFFFFFFF0
9121 If (((Local7 == 0x00) || (Local7 == 0xFFFFFFF0)))
9122 {
9123 \_SB.PCI0.XHCI.MBA1 = 0xFEAF0000
9124 Local6 = 0x01
9125 }
9126
9127 Local3 = 0x00
9128 Local4 = \_SB.PCI0.XHCI.PDBM
9129 If (((Local4 & 0xFF) == 0x00))
9130 {
9131 Local0 = \_SB.PCI0.XHCI.PDBM
9132 Local0 |= 0x06
9133 \_SB.PCI0.XHCI.PDBM = Local0
9134 Local3 = 0x01
9135 }
9136
9137 Local0 = \_SB.PCI0.XHCI.MBA1
9138 Local0 &= 0xFFFFFFF0
9139 Local0 = \XWMB
9140 OperationRegion (MCA1, SystemMemory, Local0, 0x9000)
9141 Field (MCA1, DWordAcc, Lock, Preserve)
9142 {
9143 Offset (0x510),
9144 P141, 14,
9145 , 17,
9146 WPR1, 1,
9147 Offset (0x520),
9148 P142, 14,
9149 , 17,
9150 WPR2, 1,
9151 Offset (0x530),
9152 P143, 14,
9153 , 17,
9154 WPR3, 1,
9155 Offset (0x540),
9156 P144, 14,
9157 , 17,
9158 WPR4, 1,
9159 Offset (0x80E0),
9160 , 15,
9161 AX15, 1,
9162 Offset (0x8154),
9163 , 31,
9164 CLK2, 1,
9165 Offset (0x816C),
9166 , 2,
9167 CLK0, 1,
9168 , 11,
9169 CLK1, 1,
9170 Offset (0x8170)
9171 }
9172
9173 OperationRegion (MCA2, SystemMemory, Local0, 0x9000)
9174 Field (MCA2, DWordAcc, Lock, Preserve)
9175 {
9176 Offset (0x510),
9177 , 4,
9178 WIT1, 1,
9179 , 12,
9180 A171, 7,
9181 Offset (0x520),
9182 , 4,
9183 WIT2, 1,
9184 , 12,
9185 A172, 7,
9186 Offset (0x530),
9187 , 4,
9188 WIT3, 1,
9189 , 12,
9190 A173, 7,
9191 Offset (0x540),
9192 , 4,
9193 WIT4, 1,
9194 , 12,
9195 A174, 7
9196 }
9197
9198 \_SB.PCI0.XHCI.MB13 = 0x00
9199 Local5 = \_SB.PCI0.XHCI.D0D3
9200 Local5 &= 0x03
9201 If ((Local5 == 0x03))
9202 {
9203 Local5 = \_SB.PCI0.XHCI.D0D3
9204 Local5 &= 0xFFFFFFFC
9205 \_SB.PCI0.XHCI.D0D3 = Local5
9206 CLK0 = 0x00
9207 CLK1 = 0x00
9208 CLK2 = 0x01
9209 While ((((P141 == 0x02E0) || (P142 == 0x02E0)) || ((P143 ==
9210 0x02E0) || (P144 == 0x02E0)))){}
9211 If ((P141 == 0x02A0))
9212 {
9213 WPR1 = 0x01
9214 While (((A171 & 0x04) == 0x00)){}
9215 A171 = 0x7F
9216 }
9217
9218 If ((P142 == 0x02A0))
9219 {
9220 WPR2 = 0x01
9221 While (((A172 & 0x04) == 0x00)){}
9222 A172 = 0x7F
9223 }
9224
9225 If ((P143 == 0x02A0))
9226 {
9227 WPR3 = 0x01
9228 While (((A173 & 0x04) == 0x00)){}
9229 A173 = 0x7F
9230 }
9231
9232 If ((P144 == 0x02A0))
9233 {
9234 WPR4 = 0x01
9235 While (((A174 & 0x04) == 0x00)){}
9236 A174 = 0x7F
9237 }
9238
9239 AX15 = 0x01
9240 Local5 = \_SB.PCI0.XHCI.D0D3
9241 Local5 |= 0x03
9242 \_SB.PCI0.XHCI.D0D3 = Local5
9243 }
9244 Else
9245 {
9246 CLK0 = 0x00
9247 CLK1 = 0x00
9248 CLK2 = 0x01
9249 While ((((P141 == 0x02E0) || (P142 == 0x02E0)) || ((P143 ==
9250 0x02E0) || (P144 == 0x02E0)))){}
9251 If ((P141 == 0x02A0))
9252 {
9253 WPR1 = 0x01
9254 While (((A171 & 0x04) == 0x00)){}
9255 A171 = 0x7F
9256 }
9257
9258 If ((P142 == 0x02A0))
9259 {
9260 WPR2 = 0x01
9261 While (((A172 & 0x04) == 0x00)){}
9262 A172 = 0x7F
9263 }
9264
9265 If ((P143 == 0x02A0))
9266 {
9267 WPR3 = 0x01
9268 While (((A173 & 0x04) == 0x00)){}
9269 A173 = 0x7F
9270 }
9271
9272 If ((P144 == 0x02A0))
9273 {
9274 WPR4 = 0x01
9275 While (((A174 & 0x04) == 0x00)){}
9276 A174 = 0x7F
9277 }
9278
9279 AX15 = 0x01
9280 }
9281
9282 ^SWAI = 0x00
9283 ^SAIP = 0x00
9284 If ((Local3 == 0x01))
9285 {
9286 \_SB.PCI0.XHCI.PDBM = Local4
9287 }
9288
9289 If ((Local6 == 0x01))
9290 {
9291 \_SB.PCI0.XHCI.MBA1 = Local7
9292 }
9293 }
9294
9295 Method (_PS3, 0, Serialized) // _PS3: Power State 3
9296 {
9297 If ((\_SB.PCI0.XHCI.DVID == 0xFFFF))
9298 {
9299 Return (Zero)
9300 }
9301
9302 \_SB.PCI0.XHCI.PMES = 0x01
9303 \_SB.PCI0.XHCI.PMEE = 0x01
9304 Local1 = 0x00
9305 Local2 = \_SB.PCI0.XHCI.MBA1
9306 Local2 &= 0xFFFFFFF0
9307 If (((Local2 == 0x00) || (Local2 == 0xFFFFFFF0)))
9308 {
9309 \_SB.PCI0.XHCI.MBA1 = 0xFEAF0000
9310 Local1 = 0x01
9311 }
9312
9313 Local3 = 0x00
9314 Local4 = \_SB.PCI0.XHCI.PDBM
9315 If (((Local4 & 0xFF) == 0x00))
9316 {
9317 Local0 = \_SB.PCI0.XHCI.PDBM
9318 Local0 |= 0x06
9319 \_SB.PCI0.XHCI.PDBM = Local0
9320 Local3 = 0x01
9321 }
9322
9323 Local0 = \_SB.PCI0.XHCI.MBA1
9324 Local0 &= 0xFFFFFFF0
9325 Local0 = \XWMB
9326 OperationRegion (MCA1, SystemMemory, Local0, 0x9000)
9327 Field (MCA1, DWordAcc, Lock, Preserve)
9328 {
9329 Offset (0x80E0),
9330 , 15,
9331 AX15, 1,
9332 Offset (0x8154),
9333 , 31,
9334 CLK2, 1,
9335 Offset (0x816C),
9336 , 2,
9337 CLK0, 1,
9338 , 11,
9339 CLK1, 1,
9340 Offset (0x8170)
9341 }
9342
9343 OperationRegion (MCA2, SystemMemory, Local0, 0x9000)
9344 Field (MCA2, DWordAcc, Lock, Preserve)
9345 {
9346 Offset (0x510),
9347 , 4,
9348 WIT1, 1,
9349 , 12,
9350 A171, 7,
9351 Offset (0x520),
9352 , 4,
9353 WIT2, 1,
9354 , 12,
9355 A172, 7,
9356 Offset (0x530),
9357 , 4,
9358 WIT3, 1,
9359 , 12,
9360 A173, 7,
9361 Offset (0x540),
9362 , 4,
9363 WIT4, 1,
9364 , 12,
9365 A174, 7
9366 }
9367
9368 \_SB.PCI0.XHCI.MB13 = 0x03
9369 Local0 = \_SB.PCI0.XHCI.D0D3
9370 Local0 &= 0xFFFFFFFC
9371 \_SB.PCI0.XHCI.D0D3 = Local0
9372 CLK0 = 0x01
9373 CLK1 = 0x01
9374 CLK2 = 0x00
9375 AX15 = 0x00
9376 ^SWAI = 0x01
9377 ^SAIP = 0x01
9378 Local0 = \_SB.PCI0.XHCI.D0D3
9379 Local0 |= 0x03
9380 \_SB.PCI0.XHCI.D0D3 = Local0
9381 If ((Local1 == 0x01))
9382 {
9383 \_SB.PCI0.XHCI.MBA1 = Local2
9384 }
9385
9386 If ((Local3 == 0x01))
9387 {
9388 \_SB.PCI0.XHCI.PDBM = Local4
9389 }
9390 }
9391
9392 Device (URTH)
9393 {
9394 Name (_ADR, 0x00) // _ADR: Address
9395 Device (HSP0)
9396 {
9397 Name (_ADR, 0x01) // _ADR: Address
9398 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9399 {
9400 Name (UPCP, Package (0x04)
9401 {
9402 0x00,
9403 0x00,
9404 0x00,
9405 0x00
9406 })
9407 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9408 If (!(PR2 & 0x01))
9409 {
9410 UPCP [0x00] = 0x00
9411 }
9412
9413 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP0._UPC.UPCP */
9414 }
9415
9416 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9417 {
9418 \_SB.PCI0.XHCI.XHPS ()
9419 Name (PLDP, Buffer (0x10){})
9420 PLDP = \PLD0
9421 CreateBitField (PLDP, 0x40, VIS)
9422 If (!(PR2 & 0x01))
9423 {
9424 VIS &= 0x00
9425 }
9426
9427 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP0._PLD.PLDP */
9428 }
9429 }
9430
9431 Device (HSP1)
9432 {
9433 Name (_ADR, 0x02) // _ADR: Address
9434 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9435 {
9436 Name (UPCP, Package (0x04)
9437 {
9438 0x00,
9439 0x00,
9440 0x00,
9441 0x00
9442 })
9443 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9444 If (!(PR2 & 0x02))
9445 {
9446 UPCP [0x00] = 0x00
9447 }
9448
9449 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP1._UPC.UPCP */
9450 }
9451
9452 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9453 {
9454 \_SB.PCI0.XHCI.XHPS ()
9455 Name (PLDP, Buffer (0x10){})
9456 PLDP = \PLD1
9457 CreateBitField (PLDP, 0x40, VIS)
9458 If (!(PR2 & 0x02))
9459 {
9460 VIS &= 0x00
9461 }
9462
9463 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP1._PLD.PLDP */
9464 }
9465 }
9466
9467 Device (HSP2)
9468 {
9469 Name (_ADR, 0x03) // _ADR: Address
9470 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9471 {
9472 Name (UPCP, Package (0x04)
9473 {
9474 0x00,
9475 0x00,
9476 0x00,
9477 0x00
9478 })
9479 CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9480 If (!(PR2 & 0x04))
9481 {
9482 UPCP [0x00] = 0x00
9483 }
9484
9485 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP2._UPC.UPCP */
9486 }
9487
9488 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9489 {
9490 \_SB.PCI0.XHCI.XHPS ()
9491 Name (PLDP, Buffer (0x10){})
9492 If ((PJCD == 0x00))
9493 {
9494 PLDP = \PLDZ
9495 }
9496 Else
9497 {
9498 PLDP = \PLD2
9499 }
9500
9501 CreateBitField (PLDP, 0x40, VIS)
9502 If (!(PR2 & 0x04))
9503 {
9504 VIS &= 0x00
9505 }
9506
9507 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP2._PLD.PLDP */
9508 }
9509 }
9510
9511 Device (HSP3)
9512 {
9513 Name (_ADR, 0x04) // _ADR: Address
9514 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9515 {
9516 Name (UPCP, Package (0x04)
9517 {
9518 0x00,
9519 0x00,
9520 0x00,
9521 0x00
9522 })
9523 CopyObject (\UPC3, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9524 If (!(PR2 & 0x08))
9525 {
9526 UPCP [0x00] = 0x00
9527 }
9528
9529 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP3._UPC.UPCP */
9530 }
9531
9532 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9533 {
9534 \_SB.PCI0.XHCI.XHPS ()
9535 Name (PLDP, Buffer (0x10){})
9536 PLDP = \PLD3
9537 CreateBitField (PLDP, 0x40, VIS)
9538 If (!(PR2 & 0x08))
9539 {
9540 VIS &= 0x00
9541 }
9542
9543 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP3._PLD.PLDP */
9544 }
9545 }
9546
9547 Device (HSP4)
9548 {
9549 Name (_ADR, 0x05) // _ADR: Address
9550 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9551 {
9552 Name (UPCP, Package (0x04)
9553 {
9554 0x00,
9555 0x00,
9556 0x00,
9557 0x00
9558 })
9559 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9560 If (!(PR2 & 0x10))
9561 {
9562 UPCP [0x00] = 0x00
9563 }
9564
9565 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP4._UPC.UPCP */
9566 }
9567
9568 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9569 {
9570 \_SB.PCI0.XHCI.XHPS ()
9571 Name (PLDP, Buffer (0x10){})
9572 PLDP = \PLDI
9573 CreateBitField (PLDP, 0x40, VIS)
9574 If (!(PR2 & 0x10))
9575 {
9576 VIS &= 0x00
9577 }
9578
9579 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP4._PLD.PLDP */
9580 }
9581 }
9582
9583 Device (HSP5)
9584 {
9585 Name (_ADR, 0x06) // _ADR: Address
9586 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9587 {
9588 Name (UPCP, Package (0x04)
9589 {
9590 0x00,
9591 0x00,
9592 0x00,
9593 0x00
9594 })
9595 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9596 If (!(PR2 & 0x20))
9597 {
9598 UPCP [0x00] = 0x00
9599 }
9600
9601 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP5._UPC.UPCP */
9602 }
9603
9604 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9605 {
9606 \_SB.PCI0.XHCI.XHPS ()
9607 Name (PLDP, Buffer (0x10){})
9608 PLDP = \PLDI
9609 CreateBitField (PLDP, 0x40, VIS)
9610 If (!(PR2 & 0x20))
9611 {
9612 VIS &= 0x00
9613 }
9614
9615 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP5._PLD.PLDP */
9616 }
9617 }
9618
9619 Device (HSP6)
9620 {
9621 Name (_ADR, 0x07) // _ADR: Address
9622 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9623 {
9624 Name (UPCP, Package (0x04)
9625 {
9626 0x00,
9627 0x00,
9628 0x00,
9629 0x00
9630 })
9631 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
9632 If (!(PR2 & 0x40))
9633 {
9634 UPCP [0x00] = 0x00
9635 }
9636
9637 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP6._UPC.UPCP */
9638 }
9639
9640 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9641 {
9642 \_SB.PCI0.XHCI.XHPS ()
9643 Name (PLDP, Buffer (0x10){})
9644 PLDP = \PLDI
9645 CreateBitField (PLDP, 0x40, VIS)
9646 If (!(PR2 & 0x40))
9647 {
9648 VIS &= 0x00
9649 }
9650
9651 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP6._PLD.PLDP */
9652 }
9653 }
9654
9655 Device (HSP7)
9656 {
9657 Name (_ADR, 0x08) // _ADR: Address
9658 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9659 {
9660 Name (UPCP, Package (0x04)
9661 {
9662 0x00,
9663 0x00,
9664 0x00,
9665 0x00
9666 })
9667 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
9668 If (!(PR2 & 0x80))
9669 {
9670 UPCP [0x00] = 0x00
9671 }
9672
9673 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.HSP7._UPC.UPCP */
9674 }
9675
9676 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9677 {
9678 \_SB.PCI0.XHCI.XHPS ()
9679 Name (PLDP, Buffer (0x10){})
9680 PLDP = \PLDI
9681 CreateBitField (PLDP, 0x40, VIS)
9682 If (!(PR2 & 0x40))
9683 {
9684 VIS &= 0x00
9685 }
9686
9687 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.HSP7._PLD.PLDP */
9688 }
9689
9690 Device (WCAM)
9691 {
9692 Name (_ADR, 0x08) // _ADR: Address
9693 Method (_STA, 0, NotSerialized) // _STA: Status
9694 {
9695 If (\WIN8)
9696 {
9697 Return (0x0F)
9698 }
9699 Else
9700 {
9701 Return (0x00)
9702 }
9703 }
9704
9705 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9706 {
9707 Return (\UPCI)
9708 }
9709
9710 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9711 {
9712 Return (\PLDC)
9713 }
9714 }
9715 }
9716
9717 Device (SSP0)
9718 {
9719 Name (_ADR, 0x0A) // _ADR: Address
9720 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9721 {
9722 Name (UPCP, Package (0x04)
9723 {
9724 0x00,
9725 0x00,
9726 0x00,
9727 0x00
9728 })
9729 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
9730 If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
9731 {
9732 UPCP [0x00] = 0x00
9733 }
9734
9735 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP0._UPC.UPCP */
9736 }
9737
9738 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9739 {
9740 \_SB.PCI0.XHCI.XHPS ()
9741 Name (PLDP, Buffer (0x10){})
9742 PLDP = \PLD0
9743 CreateBitField (PLDP, 0x40, VIS)
9744 If ((!(PR2 & 0x01) || !(PR3 & 0x01)))
9745 {
9746 VIS &= 0x00
9747 }
9748
9749 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP0._PLD.PLDP */
9750 }
9751 }
9752
9753 Device (SSP1)
9754 {
9755 Name (_ADR, 0x0B) // _ADR: Address
9756 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9757 {
9758 Name (UPCP, Package (0x04)
9759 {
9760 0x00,
9761 0x00,
9762 0x00,
9763 0x00
9764 })
9765 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
9766 If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
9767 {
9768 UPCP [0x00] = 0x00
9769 }
9770
9771 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP1._UPC.UPCP */
9772 }
9773
9774 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9775 {
9776 \_SB.PCI0.XHCI.XHPS ()
9777 Name (PLDP, Buffer (0x10){})
9778 PLDP = \PLD1
9779 CreateBitField (PLDP, 0x40, VIS)
9780 If ((!(PR2 & 0x02) || !(PR3 & 0x02)))
9781 {
9782 VIS &= 0x00
9783 }
9784
9785 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP1._PLD.PLDP */
9786 }
9787 }
9788
9789 Device (SSP2)
9790 {
9791 Name (_ADR, 0x0C) // _ADR: Address
9792 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9793 {
9794 Name (UPCP, Package (0x04)
9795 {
9796 0x00,
9797 0x00,
9798 0x00,
9799 0x00
9800 })
9801 CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
9802 If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
9803 {
9804 UPCP [0x00] = 0x00
9805 }
9806
9807 Return (UPCP) /* \_SB_.PCI0.XHCI.URTH.SSP2._UPC.UPCP */
9808 }
9809
9810 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9811 {
9812 \_SB.PCI0.XHCI.XHPS ()
9813 Name (PLDP, Buffer (0x10){})
9814 If ((PJCD == 0x00))
9815 {
9816 PLDP = \PLDZ
9817 }
9818 Else
9819 {
9820 PLDP = \PLD2
9821 }
9822
9823 CreateBitField (PLDP, 0x40, VIS)
9824 If ((!(PR2 & 0x04) || !(PR3 & 0x04)))
9825 {
9826 VIS &= 0x00
9827 }
9828
9829 Return (PLDP) /* \_SB_.PCI0.XHCI.URTH.SSP2._PLD.PLDP */
9830 }
9831 }
9832 }
9833 }
9834
9835 Device (EHC1)
9836 {
9837 Name (_ADR, 0x001D0000) // _ADR: Address
9838 Name (_S3D, 0x03) // _S3D: S3 Device State
9839 Name (RID, 0x00)
9840 OperationRegion (EHCS, PCI_Config, 0x00, 0x0100)
9841 Field (EHCS, DWordAcc, NoLock, Preserve)
9842 {
9843 Offset (0x62),
9844 PWKI, 1,
9845 PWUC, 8,
9846 Offset (0x64)
9847 }
9848
9849 Name (_PR0, Package (0x01) // _PR0: Power Resources for D0
9850 {
9851 \_SB.PCI0.LPC.EC.PUBS
9852 })
9853 Name (_PR1, Package (0x01) // _PR1: Power Resources for D1
9854 {
9855 \_SB.PCI0.LPC.EC.PUBS
9856 })
9857 Name (_PR2, Package (0x01) // _PR2: Power Resources for D2
9858 {
9859 \_SB.PCI0.LPC.EC.PUBS
9860 })
9861 Method (_INI, 0, NotSerialized) // _INI: Initialize
9862 {
9863 PWKI = 0x01
9864 PWUC = 0x23
9865 }
9866
9867 Name (_PRW, Package (0x03) // _PRW: Power Resources for Wake
9868 {
9869 0x6D,
9870 0x03,
9871 \_SB.PCI0.LPC.EC.PUBS
9872 })
9873 Device (URTH)
9874 {
9875 Name (_ADR, 0x00) // _ADR: Address
9876 Device (URMH)
9877 {
9878 Name (_ADR, 0x01) // _ADR: Address
9879 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9880 {
9881 Return (\UPCI)
9882 }
9883
9884 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9885 {
9886 Return (\PLDI)
9887 }
9888
9889 Device (PRT0)
9890 {
9891 Name (_ADR, 0x01) // _ADR: Address
9892 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9893 {
9894 Name (UPCP, Package (0x04)
9895 {
9896 0x00,
9897 0x00,
9898 0x00,
9899 0x00
9900 })
9901 CopyObject (\UPC0, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
9902 If ((\XHCI == 0x00)){}
9903 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x01))
9904 {
9905 UPCP [0x00] = 0x00
9906 }
9907
9908 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._UPC.UPCP */
9909 }
9910
9911 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9912 {
9913 Name (PLDP, Buffer (0x10){})
9914 PLDP = \PLD0
9915 CreateBitField (PLDP, 0x40, VIS)
9916 If ((\XHCI == 0x00)){}
9917 Else
9918 {
9919 If ((\_SB.PCI0.XHCI.PR2 & 0x01))
9920 {
9921 VIS &= 0x00
9922 }
9923
9924 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT0._PLD.PLDP */
9925 }
9926 }
9927 }
9928
9929 Device (PRT1)
9930 {
9931 Name (_ADR, 0x02) // _ADR: Address
9932 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9933 {
9934 Name (UPCP, Package (0x04)
9935 {
9936 0x00,
9937 0x00,
9938 0x00,
9939 0x00
9940 })
9941 CopyObject (\UPC1, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
9942 If ((\XHCI == 0x00)){}
9943 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x02))
9944 {
9945 UPCP [0x00] = 0x00
9946 }
9947
9948 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._UPC.UPCP */
9949 }
9950
9951 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9952 {
9953 Name (PLDP, Buffer (0x10){})
9954 PLDP = \PLD1
9955 CreateBitField (PLDP, 0x40, VIS)
9956 If ((\XHCI == 0x00)){}
9957 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x02))
9958 {
9959 VIS &= 0x00
9960 }
9961
9962 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT1._PLD.PLDP */
9963 }
9964 }
9965
9966 Device (PRT2)
9967 {
9968 Name (_ADR, 0x03) // _ADR: Address
9969 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
9970 {
9971 Name (UPCP, Package (0x04)
9972 {
9973 0x00,
9974 0x00,
9975 0x00,
9976 0x00
9977 })
9978 CopyObject (\UPC2, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
9979 If ((\XHCI == 0x00)){}
9980 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x04))
9981 {
9982 UPCP [0x00] = 0x00
9983 }
9984
9985 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._UPC.UPCP */
9986 }
9987
9988 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
9989 {
9990 Name (PLDP, Buffer (0x10){})
9991 If ((PJCD == 0x00))
9992 {
9993 PLDP = \PLDZ
9994 }
9995 Else
9996 {
9997 PLDP = \PLD2
9998 }
9999
10000 CreateBitField (PLDP, 0x40, VIS)
10001 If ((\XHCI == 0x00)){}
10002 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x04))
10003 {
10004 VIS &= 0x00
10005 }
10006
10007 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT2._PLD.PLDP */
10008 }
10009 }
10010
10011 Device (PRT3)
10012 {
10013 Name (_ADR, 0x04) // _ADR: Address
10014 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10015 {
10016 Name (UPCP, Package (0x04)
10017 {
10018 0x00,
10019 0x00,
10020 0x00,
10021 0x00
10022 })
10023 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10024 If ((\XHCI == 0x00)){}
10025 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x08))
10026 {
10027 UPCP [0x00] = 0x00
10028 }
10029
10030 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._UPC.UPCP */
10031 }
10032
10033 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10034 {
10035 Name (PLDP, Buffer (0x10){})
10036 PLDP = \PLD3
10037 CreateBitField (PLDP, 0x40, VIS)
10038 If ((\XHCI == 0x00)){}
10039 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x08))
10040 {
10041 VIS &= 0x00
10042 }
10043
10044 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT3._PLD.PLDP */
10045 }
10046 }
10047
10048 Device (PRT4)
10049 {
10050 Name (_ADR, 0x05) // _ADR: Address
10051 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10052 {
10053 Name (UPCP, Package (0x04)
10054 {
10055 0x00,
10056 0x00,
10057 0x00,
10058 0x00
10059 })
10060 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10061 If ((\XHCI == 0x00)){}
10062 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x10))
10063 {
10064 UPCP [0x00] = 0x00
10065 }
10066
10067 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._UPC.UPCP */
10068 }
10069
10070 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10071 {
10072 Name (PLDP, Buffer (0x10){})
10073 PLDP = \PLDI
10074 CreateBitField (PLDP, 0x40, VIS)
10075 If ((\XHCI == 0x00)){}
10076 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x10))
10077 {
10078 VIS &= 0x00
10079 }
10080
10081 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT4._PLD.PLDP */
10082 }
10083 }
10084
10085 Device (PRT5)
10086 {
10087 Name (_ADR, 0x06) // _ADR: Address
10088 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10089 {
10090 Name (UPCP, Package (0x04)
10091 {
10092 0x00,
10093 0x00,
10094 0x00,
10095 0x00
10096 })
10097 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10098 If ((\XHCI == 0x00)){}
10099 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x20))
10100 {
10101 UPCP [0x00] = 0x00
10102 }
10103
10104 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._UPC.UPCP */
10105 }
10106
10107 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10108 {
10109 Name (PLDP, Buffer (0x10){})
10110 PLDP = \PLDI
10111 CreateBitField (PLDP, 0x40, VIS)
10112 If ((\XHCI == 0x00)){}
10113 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x20))
10114 {
10115 VIS &= 0x00
10116 }
10117
10118 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT5._PLD.PLDP */
10119 }
10120 }
10121
10122 Device (PRT6)
10123 {
10124 Name (_ADR, 0x07) // _ADR: Address
10125 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10126 {
10127 Name (UPCP, Package (0x04)
10128 {
10129 0x00,
10130 0x00,
10131 0x00,
10132 0x00
10133 })
10134 CopyObject (\UPCI, UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10135 If ((\XHCI == 0x00)){}
10136 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x40))
10137 {
10138 UPCP [0x00] = 0x00
10139 }
10140
10141 Return (UPCP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._UPC.UPCP */
10142 }
10143
10144 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10145 {
10146 Name (PLDP, Buffer (0x10){})
10147 PLDP = \PLDI
10148 CreateBitField (PLDP, 0x40, VIS)
10149 If ((\XHCI == 0x00)){}
10150 ElseIf ((\_SB.PCI0.XHCI.PR2 & 0x40))
10151 {
10152 VIS &= 0x00
10153 }
10154
10155 Return (PLDP) /* \_SB_.PCI0.EHC1.URTH.URMH.PRT6._PLD.PLDP */
10156 }
10157 }
10158
10159 Device (PRT7)
10160 {
10161 Name (_ADR, 0x08) // _ADR: Address
10162 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10163 {
10164 Return (\UPCI)
10165 }
10166
10167 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10168 {
10169 Return (\PLDI)
10170 }
10171
10172 Device (WCAM)
10173 {
10174 Name (_ADR, 0x08) // _ADR: Address
10175 Method (_STA, 0, NotSerialized) // _STA: Status
10176 {
10177 If (\WIN8)
10178 {
10179 Return (0x0F)
10180 }
10181 Else
10182 {
10183 Return (0x00)
10184 }
10185 }
10186
10187 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities
10188 {
10189 Return (\UPCI)
10190 }
10191
10192 Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device
10193 {
10194 Return (\PLDC)
10195 }
10196 }
10197 }
10198 }
10199 }
10200 }
10201
10202 Device (HDEF)
10203 {
10204 Name (_ADR, 0x001B0000) // _ADR: Address
10205 Name (_S3D, 0x03) // _S3D: S3 Device State
10206 Name (RID, 0x00)
10207 }
10208 }
10209
10210 Scope (\_SB.PCI0.LPC.EC)
10211 {
10212 Name (BDEV, 0xFF)
10213 Name (BSTS, 0x00)
10214 Name (BHKE, 0x00)
10215 Method (_Q2C, 0, NotSerialized) // _Qxx: EC Query
10216 {
10217 If ((BSTS == 0x00))
10218 {
10219 BDEV = BGID (0x00)
10220 NBRE (BDEV)
10221 }
10222 }
10223
10224 Method (_Q2D, 0, NotSerialized) // _Qxx: EC Query
10225 {
10226 BDEV = BGID (0x00)
10227 NBIN (BDEV)
10228 }
10229
10230 Method (_Q38, 0, NotSerialized) // _Qxx: EC Query
10231 {
10232 Local0 = BGID (0x00)
10233 If ((Local0 == 0x0F))
10234 {
10235 BDIS ()
10236 \BHDP (0x01, 0x00)
10237 NBEJ (BDEV)
10238 BDEV = Local0
10239 If ((\BIDE == 0x03))
10240 {
10241 \_SB.PCI0.SAT1.PRIM.GTME = 0x00
10242 \_SB.PCI0.SAT1.SCND.GTME = 0x00
10243 }
10244 }
10245 ElseIf (HPBU){}
10246 Else
10247 {
10248 BDEV = Local0
10249 NBIN (Local0)
10250 }
10251 }
10252
10253 Method (NBRE, 1, NotSerialized)
10254 {
10255 If ((Arg0 < 0x0C))
10256 {
10257 If ((\BIDE == 0x03))
10258 {
10259 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x03) // Eject Request
10260 }
10261 Else
10262 {
10263 Notify (\_SB.PCI0.SAT1.PRT1, 0x03) // Eject Request
10264 }
10265 }
10266 }
10267
10268 Method (NBEJ, 1, NotSerialized)
10269 {
10270 If ((BSTS == 0x00))
10271 {
10272 If ((Arg0 < 0x0C))
10273 {
10274 If ((\BIDE == 0x03))
10275 {
10276 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
10277 }
10278 Else
10279 {
10280 Notify (\_SB.PCI0.SAT1.PRT1, 0x01) // Device Check
10281 }
10282 }
10283 }
10284
10285 BEEP (0x00)
10286 BSTS = 0x00
10287 }
10288
10289 Method (NBIN, 1, NotSerialized)
10290 {
10291 If ((Arg0 < 0x0C))
10292 {
10293 BEN (0x01)
10294 If ((\BIDE == 0x03))
10295 {
10296 Notify (\_SB.PCI0.SAT1.SCND.MSTR, 0x01) // Device Check
10297 }
10298 Else
10299 {
10300 Notify (\_SB.PCI0.SAT1.PRT1, 0x01) // Device Check
10301 }
10302 }
10303
10304 BEEP (0x00)
10305 BSTS = 0x00
10306 }
10307
10308 Method (BEJ0, 1, NotSerialized)
10309 {
10310 If (Arg0)
10311 {
10312 BDIS ()
10313 \BHDP (0x01, 0x00)
10314 BSTS = 0x01
10315 If (BHKE)
10316 {
10317 BHKE = 0x00
10318 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x3003)
10319 }
10320 }
10321 Else
10322 {
10323 BSTS = 0x00
10324 }
10325 }
10326
10327 Method (BEJ3, 1, NotSerialized)
10328 {
10329 If (Arg0)
10330 {
10331 BDIS ()
10332 BSTS = 0x01
10333 }
10334 Else
10335 {
10336 BSTS = 0x00
10337 }
10338 }
10339
10340 Method (BPTS, 1, NotSerialized)
10341 {
10342 HDBM = 0x01
10343 If ((BSTS != 0x00))
10344 {
10345 BDEV = 0x0F
10346 BSTS = 0x00
10347 }
10348
10349 BHKE = 0x00
10350 BUWK (0x00)
10351 }
10352
10353 Method (BWAK, 1, NotSerialized)
10354 {
10355 BUWK (0x00)
10356 Local0 = BGID (0x00)
10357 If ((BSTS == 0x00))
10358 {
10359 If ((Local0 != BDEV))
10360 {
10361 NBEJ (BDEV)
10362 BDEV = Local0
10363 NBIN (Local0)
10364 }
10365 ElseIf ((\LFDC || (BDEV != 0x0D)))
10366 {
10367 If ((Local0 != 0x0F))
10368 {
10369 If (HPBU)
10370 {
10371 If ((Arg0 <= 0x02)){}
10372 Else
10373 {
10374 NBRE (Local0)
10375 }
10376 }
10377 }
10378 }
10379 }
10380
10381 If ((BDEV < 0x0C))
10382 {
10383 \UBIS (0x00)
10384 }
10385 Else
10386 {
10387 \UBIS (0x01)
10388 }
10389 }
10390
10391 Method (BDIS, 0, NotSerialized)
10392 {
10393 If (!\_SB.PCI0.LPC.CSON)
10394 {
10395 If (!\_SB.PCI0.LPC.GLIS)
10396 {
10397 \UBIS (0x01)
10398 }
10399
10400 \_SB.PCI0.LPC.CSON = 0x01
10401 \IDET = 0x0F
10402 }
10403 }
10404
10405 Method (BPON, 1, NotSerialized)
10406 {
10407 If (\_SB.PCI0.LPC.CSON)
10408 {
10409 \_SB.PCI0.LPC.CSON = 0x00
10410 If (\_SB.PCI0.LPC.GLIS)
10411 {
10412 \UBIS (0x00)
10413 }
10414 }
10415 }
10416
10417 Method (BEN, 1, NotSerialized)
10418 {
10419 If (\_SB.PCI0.LPC.CSON)
10420 {
10421 BPON (Arg0)
10422 If (Arg0)
10423 {
10424 IRDY ()
10425 }
10426 }
10427 }
10428
10429 Method (BSTA, 1, NotSerialized)
10430 {
10431 If (\_SB.PCI0.LPC.CSON)
10432 {
10433 Return (0x00)
10434 }
10435
10436 BINI ()
10437 If ((Arg0 == 0x01))
10438 {
10439 Return ((BDEV < 0x0C))
10440 }
10441
10442 Return (0x00)
10443 }
10444
10445 Method (BUWK, 1, NotSerialized)
10446 {
10447 If (\H8DR)
10448 {
10449 If (Arg0)
10450 {
10451 \_SB.PCI0.LPC.EC.HWBU = 0x01
10452 }
10453 Else
10454 {
10455 \_SB.PCI0.LPC.EC.HWBU = 0x00
10456 }
10457 }
10458 ElseIf (Arg0)
10459 {
10460 \MBEC (0x32, 0xFF, 0x80)
10461 }
10462 Else
10463 {
10464 \MBEC (0x32, 0x7F, 0x00)
10465 }
10466 }
10467
10468 Method (BINI, 0, NotSerialized)
10469 {
10470 If ((BDEV == 0xFF))
10471 {
10472 BDEV = BGID (0x00)
10473 }
10474 }
10475
10476 Method (BGID, 1, NotSerialized)
10477 {
10478 If (Arg0)
10479 {
10480 Local0 = 0xFF
10481 }
10482 Else
10483 {
10484 If (\H8DR)
10485 {
10486 Local1 = HPBU /* \_SB_.PCI0.LPC_.EC__.HPBU */
10487 Local2 = HBID /* \_SB_.PCI0.LPC_.EC__.HBID */
10488 }
10489 Else
10490 {
10491 Local2 = RBEC (0x47)
10492 Local1 = (Local2 & 0x01)
10493 Local2 &= 0x04
10494 Local2 >>= 0x02
10495 }
10496
10497 If (Local2)
10498 {
10499 Local0 = 0x0F
10500 }
10501 ElseIf (HDUB)
10502 {
10503 Local0 = 0x0F
10504 }
10505 ElseIf (((\IDET == 0x03) || (\IDET == 0x06)))
10506 {
10507 Local0 = \IDET
10508 }
10509 Else
10510 {
10511 Local0 = 0x07
10512 }
10513
10514 If ((Local0 == 0x0F)){}
10515 }
10516
10517 If ((\HDUB && (Local0 < 0x0C)))
10518 {
10519 Local0 = 0x0F
10520 }
10521
10522 Return (Local0)
10523 }
10524
10525 Method (IRDY, 0, NotSerialized)
10526 {
10527 Local0 = 0x01F4
10528 Local1 = 0x3C
10529 Local2 = Zero
10530 While (Local1)
10531 {
10532 Sleep (Local0)
10533 Local3 = \BCHK ()
10534 If (!Local3)
10535 {
10536 Break
10537 }
10538
10539 If ((Local3 == 0x02))
10540 {
10541 Local2 = One
10542 Break
10543 }
10544
10545 Local1--
10546 }
10547
10548 Return (Local2)
10549 }
10550 }
10551
10552 Scope (\_SB.PCI0.LPC.EC)
10553 {
10554 Method (_Q43, 0, NotSerialized) // _Qxx: EC Query
10555 {
10556 \UCMS (0x18)
10557 }
10558
10559 Method (SAUM, 1, NotSerialized)
10560 {
10561 If ((Arg0 > 0x03))
10562 {
10563 Noop
10564 }
10565 ElseIf (\H8DR)
10566 {
10567 HAUM = Arg0
10568 }
10569 Else
10570 {
10571 \MBEC (0x03, 0x9F, (Arg0 << 0x05))
10572 }
10573 }
10574 }
10575
10576 Scope (\_SB.PCI0.LPC.EC.HKEY)
10577 {
10578 Method (GSMS, 1, NotSerialized)
10579 {
10580 Return (\AUDC (0x00, 0x00))
10581 }
10582
10583 Method (SSMS, 1, NotSerialized)
10584 {
10585 Return (\AUDC (0x01, (Arg0 & 0x01)))
10586 }
10587
10588 Method (SHDA, 1, NotSerialized)
10589 {
10590 Return (\AUDC (0x02, (Arg0 & 0x01)))
10591 }
10592 }
10593
10594 Scope (\_SB.PCI0.LPC.EC)
10595 {
10596 Name (BRTW, Package (0x12)
10597 {
10598 0x64,
10599 0x64,
10600 0x05,
10601 0x0A,
10602 0x14,
10603 0x19,
10604 0x1E,
10605 0x23,
10606 0x28,
10607 0x2D,
10608 0x32,
10609 0x37,
10610 0x3C,
10611 0x41,
10612 0x46,
10613 0x50,
10614 0x5A,
10615 0x64
10616 })
10617 Name (BRTB, Package (0x04)
10618 {
10619 Package (0x16)
10620 {
10621 0x14,
10622 0x04,
10623 0x04,
10624 0x07,
10625 0x09,
10626 0x0C,
10627 0x10,
10628 0x15,
10629 0x1C,
10630 0x25,
10631 0x32,
10632 0x40,
10633 0x50,
10634 0x64,
10635 0x82,
10636 0xA5,
10637 0xCD,
10638 0xFF,
10639 0xDC,
10640 0xDC,
10641 0x04,
10642 0x04
10643 },
10644
10645 Package (0x16)
10646 {
10647 0x19,
10648 0x04,
10649 0x04,
10650 0x06,
10651 0x08,
10652 0x0B,
10653 0x0F,
10654 0x14,
10655 0x1B,
10656 0x24,
10657 0x31,
10658 0x3F,
10659 0x50,
10660 0x66,
10661 0x82,
10662 0xA5,
10663 0xCD,
10664 0xFF,
10665 0xDC,
10666 0xDC,
10667 0x04,
10668 0x04
10669 },
10670
10671 Package (0x16)
10672 {
10673 0x1E,
10674 0x03,
10675 0x03,
10676 0x05,
10677 0x08,
10678 0x0A,
10679 0x0D,
10680 0x0F,
10681 0x12,
10682 0x19,
10683 0x22,
10684 0x2E,
10685 0x3E,
10686 0x54,
10687 0x6E,
10688 0x93,
10689 0xC1,
10690 0xFF,
10691 0xDC,
10692 0xDC,
10693 0x03,
10694 0x03
10695 },
10696
10697 Package (0x16)
10698 {
10699 0x00,
10700 0x04,
10701 0x04,
10702 0x07,
10703 0x09,
10704 0x0C,
10705 0x10,
10706 0x15,
10707 0x1C,
10708 0x25,
10709 0x32,
10710 0x40,
10711 0x50,
10712 0x64,
10713 0x82,
10714 0xA5,
10715 0xCD,
10716 0xFF,
10717 0xDC,
10718 0xDC,
10719 0x04,
10720 0x04
10721 }
10722 })
10723 Name (BRTD, Package (0x04)
10724 {
10725 Package (0x65)
10726 {
10727 0x03,
10728 0x04,
10729 0x05,
10730 0x06,
10731 0x07,
10732 0x08,
10733 0x09,
10734 0x0A,
10735 0x0B,
10736 0x0C,
10737 0x0D,
10738 0x0E,
10739 0x0F,
10740 0x10,
10741 0x11,
10742 0x12,
10743 0x13,
10744 0x14,
10745 0x15,
10746 0x16,
10747 0x17,
10748 0x18,
10749 0x19,
10750 0x1A,
10751 0x1C,
10752 0x1D,
10753 0x1F,
10754 0x21,
10755 0x22,
10756 0x24,
10757 0x26,
10758 0x28,
10759 0x2A,
10760 0x2C,
10761 0x2E,
10762 0x30,
10763 0x33,
10764 0x35,
10765 0x37,
10766 0x3A,
10767 0x3C,
10768 0x3F,
10769 0x41,
10770 0x44,
10771 0x46,
10772 0x49,
10773 0x4C,
10774 0x4F,
10775 0x51,
10776 0x54,
10777 0x57,
10778 0x5A,
10779 0x5D,
10780 0x61,
10781 0x64,
10782 0x67,
10783 0x6A,
10784 0x6E,
10785 0x71,
10786 0x75,
10787 0x78,
10788 0x7C,
10789 0x80,
10790 0x83,
10791 0x87,
10792 0x8B,
10793 0x8F,
10794 0x93,
10795 0x97,
10796 0x9B,
10797 0x9F,
10798 0xA3,
10799 0xA8,
10800 0xAC,
10801 0xB0,
10802 0xB5,
10803 0xB9,
10804 0xBE,
10805 0xC3,
10806 0xC7,
10807 0xCC,
10808 0xCE,
10809 0xD1,
10810 0xD3,
10811 0xD6,
10812 0xD8,
10813 0xDB,
10814 0xDD,
10815 0xE0,
10816 0xE2,
10817 0xE5,
10818 0xE7,
10819 0xEA,
10820 0xEC,
10821 0xEF,
10822 0xF2,
10823 0xF4,
10824 0xF7,
10825 0xFA,
10826 0xFC,
10827 0xFF
10828 },
10829
10830 Package (0x65)
10831 {
10832 0x03,
10833 0x04,
10834 0x05,
10835 0x06,
10836 0x07,
10837 0x08,
10838 0x09,
10839 0x0A,
10840 0x0B,
10841 0x0C,
10842 0x0D,
10843 0x0E,
10844 0x0F,
10845 0x10,
10846 0x11,
10847 0x12,
10848 0x13,
10849 0x14,
10850 0x15,
10851 0x16,
10852 0x17,
10853 0x18,
10854 0x19,
10855 0x1A,
10856 0x1B,
10857 0x1C,
10858 0x1D,
10859 0x1E,
10860 0x1F,
10861 0x20,
10862 0x21,
10863 0x22,
10864 0x23,
10865 0x25,
10866 0x26,
10867 0x28,
10868 0x2A,
10869 0x2C,
10870 0x2E,
10871 0x2F,
10872 0x31,
10873 0x33,
10874 0x35,
10875 0x37,
10876 0x3A,
10877 0x3C,
10878 0x3E,
10879 0x40,
10880 0x42,
10881 0x45,
10882 0x47,
10883 0x4A,
10884 0x4C,
10885 0x4E,
10886 0x51,
10887 0x54,
10888 0x56,
10889 0x59,
10890 0x5C,
10891 0x5E,
10892 0x61,
10893 0x64,
10894 0x67,
10895 0x6A,
10896 0x6D,
10897 0x70,
10898 0x73,
10899 0x76,
10900 0x79,
10901 0x7D,
10902 0x80,
10903 0x83,
10904 0x86,
10905 0x8A,
10906 0x8D,
10907 0x91,
10908 0x94,
10909 0x98,
10910 0x9C,
10911 0x9F,
10912 0xA3,
10913 0xA7,
10914 0xAB,
10915 0xAF,
10916 0xB4,
10917 0xB8,
10918 0xBC,
10919 0xC1,
10920 0xC5,
10921 0xCA,
10922 0xCE,
10923 0xD3,
10924 0xD8,
10925 0xDC,
10926 0xE1,
10927 0xE6,
10928 0xEB,
10929 0xF0,
10930 0xF5,
10931 0xFA,
10932 0xFF
10933 },
10934
10935 Package (0x65)
10936 {
10937 0x03,
10938 0x04,
10939 0x05,
10940 0x06,
10941 0x07,
10942 0x08,
10943 0x09,
10944 0x0A,
10945 0x0B,
10946 0x0C,
10947 0x0D,
10948 0x0E,
10949 0x0F,
10950 0x10,
10951 0x11,
10952 0x12,
10953 0x13,
10954 0x14,
10955 0x15,
10956 0x16,
10957 0x17,
10958 0x18,
10959 0x19,
10960 0x1A,
10961 0x1C,
10962 0x1D,
10963 0x1F,
10964 0x21,
10965 0x22,
10966 0x24,
10967 0x26,
10968 0x28,
10969 0x2A,
10970 0x2C,
10971 0x2E,
10972 0x30,
10973 0x33,
10974 0x35,
10975 0x37,
10976 0x3A,
10977 0x3C,
10978 0x3F,
10979 0x41,
10980 0x44,
10981 0x46,
10982 0x49,
10983 0x4C,
10984 0x4F,
10985 0x51,
10986 0x54,
10987 0x57,
10988 0x5A,
10989 0x5D,
10990 0x61,
10991 0x64,
10992 0x67,
10993 0x6A,
10994 0x6E,
10995 0x71,
10996 0x75,
10997 0x78,
10998 0x7C,
10999 0x80,
11000 0x83,
11001 0x87,
11002 0x8B,
11003 0x8F,
11004 0x93,
11005 0x97,
11006 0x9B,
11007 0x9F,
11008 0xA3,
11009 0xA8,
11010 0xAC,
11011 0xB0,
11012 0xB5,
11013 0xB9,
11014 0xBE,
11015 0xC3,
11016 0xC7,
11017 0xCC,
11018 0xCE,
11019 0xD1,
11020 0xD3,
11021 0xD6,
11022 0xD8,
11023 0xDB,
11024 0xDD,
11025 0xE0,
11026 0xE2,
11027 0xE5,
11028 0xE7,
11029 0xEA,
11030 0xEC,
11031 0xEF,
11032 0xF2,
11033 0xF4,
11034 0xF7,
11035 0xFA,
11036 0xFC,
11037 0xFF
11038 },
11039
11040 Package (0x65)
11041 {
11042 0x03,
11043 0x04,
11044 0x05,
11045 0x06,
11046 0x07,
11047 0x08,
11048 0x09,
11049 0x0A,
11050 0x0B,
11051 0x0C,
11052 0x0D,
11053 0x0E,
11054 0x0F,
11055 0x10,
11056 0x11,
11057 0x12,
11058 0x13,
11059 0x14,
11060 0x15,
11061 0x16,
11062 0x17,
11063 0x18,
11064 0x19,
11065 0x1A,
11066 0x1C,
11067 0x1D,
11068 0x1F,
11069 0x21,
11070 0x22,
11071 0x24,
11072 0x26,
11073 0x28,
11074 0x2A,
11075 0x2C,
11076 0x2E,
11077 0x30,
11078 0x33,
11079 0x35,
11080 0x37,
11081 0x3A,
11082 0x3C,
11083 0x3F,
11084 0x41,
11085 0x44,
11086 0x46,
11087 0x49,
11088 0x4C,
11089 0x4F,
11090 0x51,
11091 0x54,
11092 0x57,
11093 0x5A,
11094 0x5D,
11095 0x61,
11096 0x64,
11097 0x67,
11098 0x6A,
11099 0x6E,
11100 0x71,
11101 0x75,
11102 0x78,
11103 0x7C,
11104 0x80,
11105 0x83,
11106 0x87,
11107 0x8B,
11108 0x8F,
11109 0x93,
11110 0x97,
11111 0x9B,
11112 0x9F,
11113 0xA3,
11114 0xA8,
11115 0xAC,
11116 0xB0,
11117 0xB5,
11118 0xB9,
11119 0xBE,
11120 0xC3,
11121 0xC7,
11122 0xCC,
11123 0xCE,
11124 0xD1,
11125 0xD3,
11126 0xD6,
11127 0xD8,
11128 0xDB,
11129 0xDD,
11130 0xE0,
11131 0xE2,
11132 0xE5,
11133 0xE7,
11134 0xEA,
11135 0xEC,
11136 0xEF,
11137 0xF2,
11138 0xF4,
11139 0xF7,
11140 0xFA,
11141 0xFC,
11142 0xFF
11143 }
11144 })
11145 Method (_Q14, 0, NotSerialized) // _Qxx: EC Query
11146 {
11147 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x8000))
11148 {
11149 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1010)
11150 }
11151
11152 If (\NBCF)
11153 {
11154 If (\VIGD)
11155 {
11156 Notify (\_SB.PCI0.VID.LCD0, 0x86) // Device-Specific
11157 }
11158 Else
11159 {
11160 Notify (\_SB.PCI0.PEG.VID.LCD0, 0x86) // Device-Specific
11161 }
11162 }
11163 Else
11164 {
11165 Local0 = \BRLV
11166 If ((Local0 != 0x0F))
11167 {
11168 Local0++
11169 \BRLV = Local0
11170 }
11171
11172 If (\VIGD)
11173 {
11174 \UCMS (0x16)
11175 \_SB.PCI0.LPC.EC.BRNS ()
11176 }
11177 Else
11178 {
11179 \VBRC (Local0)
11180 }
11181
11182 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11183 }
11184 }
11185
11186 Method (_Q15, 0, NotSerialized) // _Qxx: EC Query
11187 {
11188 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00010000))
11189 {
11190 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1011)
11191 }
11192
11193 If (\NBCF)
11194 {
11195 If (\VIGD)
11196 {
11197 Notify (\_SB.PCI0.VID.LCD0, 0x87) // Device-Specific
11198 }
11199 Else
11200 {
11201 Notify (\_SB.PCI0.PEG.VID.LCD0, 0x87) // Device-Specific
11202 }
11203 }
11204 Else
11205 {
11206 Local0 = \BRLV
11207 If (Local0)
11208 {
11209 Local0--
11210 \BRLV = Local0
11211 }
11212
11213 If (\VIGD)
11214 {
11215 \UCMS (0x16)
11216 \_SB.PCI0.LPC.EC.BRNS ()
11217 }
11218 Else
11219 {
11220 \VBRC (Local0)
11221 }
11222
11223 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6050)
11224 }
11225
11226 Return (Zero)
11227 }
11228
11229 Method (BRNS, 0, NotSerialized)
11230 {
11231 Local0 = (\BRLV + 0x02)
11232 Local3 = \BRTN
11233 If (\_SB.PCI0.VID.DRDY)
11234 {
11235 If ((0x00 == Local0))
11236 {
11237 Local1 = DerefOf (DerefOf (BRTB [Local3]) [0x14])
11238 Local2 = DerefOf (DerefOf (BRTB [Local3]) [0x12])
11239 }
11240 Else
11241 {
11242 Local1 = DerefOf (DerefOf (BRTB [Local3]) [0x15])
11243 Local2 = DerefOf (DerefOf (BRTB [Local3]) [0x13])
11244 }
11245
11246 Local2 = (Local1 | (Local2 << 0x09))
11247 \_SB.PCI0.VID.AINT (0x03, Local2)
11248 Local2 = DerefOf (DerefOf (BRTB [Local3]) [Local0])
11249 \_SB.PCI0.VID.AINT (0x01, Local2)
11250 }
11251 Else
11252 {
11253 \UCMS (0x12)
11254 }
11255 }
11256
11257 Method (BRCF, 1, NotSerialized)
11258 {
11259 If ((Arg0 < 0x00))
11260 {
11261 Return (0x00)
11262 }
11263
11264 If ((Arg0 > 0x64))
11265 {
11266 Return (0x0F)
11267 }
11268
11269 Local0 = (Arg0 + 0x03)
11270 Local0 *= 0x0F
11271 Divide (Local0, 0x64, Local0, Local1)
11272 Return (Local1)
11273 }
11274
11275 Method (BRCD, 1, NotSerialized)
11276 {
11277 Local0 = DerefOf (DerefOf (BRTD [\BRTN]) [Arg0])
11278 Return (Local0)
11279 }
11280
11281 Method (BFRQ, 0, NotSerialized)
11282 {
11283 Local0 = 0x80000100
11284 Local1 = DerefOf (DerefOf (BRTB [\BRTN]) [0x13])
11285 Local0 |= (Local1 << 0x09)
11286 Local1 = DerefOf (DerefOf (BRTB [\BRTN]) [0x15])
11287 Local0 |= Local1
11288 Return (Local0)
11289 }
11290 }
11291
11292 Scope (\_SB.PCI0.LPC.EC)
11293 {
11294 Method (_Q19, 0, NotSerialized) // _Qxx: EC Query
11295 {
11296 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00800000))
11297 {
11298 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1018)
11299 }
11300
11301 \UCMS (0x03)
11302 }
11303 }
11304
11305 Scope (\_SB.PCI0.LPC.EC)
11306 {
11307 Method (_Q63, 0, NotSerialized) // _Qxx: EC Query
11308 {
11309 If (\_SB.PCI0.LPC.EC.HKEY.MHKK (0x00080000))
11310 {
11311 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x1014)
11312 }
11313
11314 \UCMS (0x0B)
11315 }
11316 }
11317
11318 Scope (\_SB.PCI0.LPC.EC)
11319 {
11320 Method (_Q70, 0, NotSerialized) // _Qxx: EC Query
11321 {
11322 FNST ()
11323 }
11324
11325 Method (_Q72, 0, NotSerialized) // _Qxx: EC Query
11326 {
11327 FNST ()
11328 }
11329
11330 Method (_Q73, 0, NotSerialized) // _Qxx: EC Query
11331 {
11332 FNST ()
11333 }
11334
11335 Method (FNST, 0, NotSerialized)
11336 {
11337 If (\H8DR)
11338 {
11339 Local0 = HFNS /* \_SB_.PCI0.LPC_.EC__.HFNS */
11340 Local1 = HFNE /* \_SB_.PCI0.LPC_.EC__.HFNE */
11341 }
11342 Else
11343 {
11344 Local0 = (\RBEC (0x0E) & 0x03)
11345 Local1 = (\RBEC (0x00) & 0x08)
11346 }
11347
11348 If (Local1)
11349 {
11350 If ((Local0 == 0x00))
11351 {
11352 \UCMS (0x11)
11353 }
11354
11355 If ((Local0 == 0x01))
11356 {
11357 \UCMS (0x0F)
11358 }
11359
11360 If ((Local0 == 0x02))
11361 {
11362 \UCMS (0x10)
11363 }
11364
11365 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6005)
11366 }
11367 }
11368 }
11369
11370 Scope (\_SB.PCI0.LPC.EC.HKEY)
11371 {
11372 Method (GHSL, 1, NotSerialized)
11373 {
11374 Return (\FNSC (0x00, 0x00))
11375 }
11376
11377 Method (SHSL, 1, NotSerialized)
11378 {
11379 Return (\FNSC (0x01, (Arg0 & 0x01)))
11380 }
11381 }
11382
11383 Scope (\_SB.PCI0.LPC.EC.HKEY)
11384 {
11385 Name (WGFL, 0x00)
11386 Method (WSIF, 0, NotSerialized)
11387 {
11388 Return (0x00)
11389 }
11390
11391 Method (WLSW, 0, NotSerialized)
11392 {
11393 Return (0x00010001)
11394 }
11395
11396 Method (GWAN, 0, NotSerialized)
11397 {
11398 Local0 = 0x00
11399 If ((WGFL & 0x01))
11400 {
11401 Local0 |= 0x01
11402 }
11403
11404 If ((WGFL & 0x08))
11405 {
11406 Return (Local0)
11407 }
11408
11409 If (WPWS ())
11410 {
11411 Local0 |= 0x02
11412 }
11413
11414 Local0 |= 0x04
11415 Return (Local0)
11416 }
11417
11418 Method (SWAN, 1, NotSerialized)
11419 {
11420 If ((Arg0 & 0x02))
11421 {
11422 WPWC (0x01)
11423 }
11424 Else
11425 {
11426 WPWC (0x00)
11427 }
11428 }
11429
11430 Method (GBDC, 0, NotSerialized)
11431 {
11432 Local0 = 0x00
11433 If ((WGFL & 0x10))
11434 {
11435 Local0 |= 0x01
11436 }
11437
11438 If ((WGFL & 0x80))
11439 {
11440 Return (Local0)
11441 }
11442
11443 If (BPWS ())
11444 {
11445 Local0 |= 0x02
11446 }
11447
11448 Local0 |= 0x04
11449 Return (Local0)
11450 }
11451
11452 Method (SBDC, 1, NotSerialized)
11453 {
11454 If ((Arg0 & 0x02))
11455 {
11456 BPWC (0x01)
11457 }
11458 Else
11459 {
11460 BPWC (0x00)
11461 }
11462 }
11463
11464 Method (WPWS, 0, NotSerialized)
11465 {
11466 If (\H8DR)
11467 {
11468 Local0 = \_SB.PCI0.LPC.EC.DCWW
11469 }
11470 Else
11471 {
11472 Local0 = ((\RBEC (0x3A) & 0x40) >> 0x06)
11473 }
11474
11475 Return (Local0)
11476 }
11477
11478 Method (WPWC, 1, NotSerialized)
11479 {
11480 If ((Arg0 && ((WGFL & 0x01) && !(WGFL & 0x08
11481 ))))
11482 {
11483 If (\H8DR)
11484 {
11485 \_SB.PCI0.LPC.EC.DCWW = One
11486 }
11487 Else
11488 {
11489 \MBEC (0x3A, 0xFF, 0x40)
11490 }
11491
11492 WGFL |= 0x02
11493 }
11494 Else
11495 {
11496 If (\H8DR)
11497 {
11498 \_SB.PCI0.LPC.EC.DCWW = Zero
11499 }
11500 Else
11501 {
11502 \MBEC (0x3A, 0xBF, 0x00)
11503 }
11504
11505 WGFL &= ~0x02
11506 }
11507 }
11508
11509 Method (BPWS, 0, NotSerialized)
11510 {
11511 If (\H8DR)
11512 {
11513 Local0 = \_SB.PCI0.LPC.EC.DCBD
11514 }
11515 Else
11516 {
11517 Local0 = ((\RBEC (0x3A) & 0x10) >> 0x04)
11518 }
11519
11520 Return (Local0)
11521 }
11522
11523 Method (BPWC, 1, NotSerialized)
11524 {
11525 If ((Arg0 && ((WGFL & 0x10) && !(WGFL & 0x80
11526 ))))
11527 {
11528 If (\H8DR)
11529 {
11530 \_SB.PCI0.LPC.EC.DCBD = One
11531 }
11532 Else
11533 {
11534 \MBEC (0x3A, 0xFF, 0x10)
11535 }
11536
11537 WGFL |= 0x20
11538 }
11539 Else
11540 {
11541 If (\H8DR)
11542 {
11543 \_SB.PCI0.LPC.EC.DCBD = Zero
11544 }
11545 Else
11546 {
11547 \MBEC (0x3A, 0xEF, 0x00)
11548 }
11549
11550 WGFL &= ~0x20
11551 }
11552 }
11553
11554 Method (WGIN, 0, NotSerialized)
11555 {
11556 WGFL = 0x00
11557 WGFL = \WGSV (0x01)
11558 If (\WIN8)
11559 {
11560 If ((WGFL && 0x10))
11561 {
11562 BPWC (0x01)
11563 }
11564 }
11565
11566 If (WPWS ())
11567 {
11568 WGFL |= 0x02
11569 }
11570
11571 If (BPWS ())
11572 {
11573 WGFL |= 0x20
11574 }
11575 }
11576
11577 Method (WGPS, 1, NotSerialized)
11578 {
11579 If ((Arg0 >= 0x04))
11580 {
11581 \BLTH (0x05)
11582 }
11583 }
11584
11585 Method (WGWK, 1, NotSerialized)
11586 {
11587 If ((WGFL & 0x20))
11588 {
11589 BPWC (0x01)
11590 }
11591
11592 If ((WGFL & 0x02))
11593 {
11594 WPWC (0x01)
11595 }
11596 }
11597 }
11598
11599 Scope (\_SB.PCI0.LPC.EC)
11600 {
11601 Method (_Q41, 0, NotSerialized) // _Qxx: EC Query
11602 {
11603 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x7000)
11604 }
11605 }
11606
11607 Device (WMI1)
11608 {
11609 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
11610 Name (_UID, 0x01) // _UID: Unique ID
11611 Name (_WDG, Buffer (0xB4)
11612 {
11613 /* 0000 */ 0x0E, 0x23, 0xF5, 0x51, 0x77, 0x96, 0xCD, 0x46, // .#.Qw..F
11614 /* 0008 */ 0xA1, 0xCF, 0xC0, 0xB2, 0x3E, 0xE3, 0x4D, 0xB7, // ....>.M.
11615 /* 0010 */ 0x41, 0x30, 0x50, 0x05, 0x64, 0x9A, 0x47, 0x98, // A0P.d.G.
11616 /* 0018 */ 0xF5, 0x33, 0x33, 0x4E, 0xA7, 0x07, 0x8E, 0x25, // .33N...%
11617 /* 0020 */ 0x1E, 0xBB, 0xC3, 0xA1, 0x41, 0x31, 0x01, 0x06, // ....A1..
11618 /* 0028 */ 0xEF, 0x54, 0x4B, 0x6A, 0xED, 0xA5, 0x33, 0x4D, // .TKj..3M
11619 /* 0030 */ 0x94, 0x55, 0xB0, 0xD9, 0xB4, 0x8D, 0xF4, 0xB3, // .U......
11620 /* 0038 */ 0x41, 0x32, 0x01, 0x06, 0xB6, 0xEB, 0xF1, 0x74, // A2.....t
11621 /* 0040 */ 0x7A, 0x92, 0x7D, 0x4C, 0x95, 0xDF, 0x69, 0x8E, // z.}L..i.
11622 /* 0048 */ 0x21, 0xE8, 0x0E, 0xB5, 0x41, 0x33, 0x01, 0x06, // !...A3..
11623 /* 0050 */ 0xFF, 0x04, 0xEF, 0x7E, 0x28, 0x43, 0x7C, 0x44, // ...~(C|D
11624 /* 0058 */ 0xB5, 0xBB, 0xD4, 0x49, 0x92, 0x5D, 0x53, 0x8D, // ...I.]S.
11625 /* 0060 */ 0x41, 0x34, 0x01, 0x06, 0x9E, 0x15, 0xDB, 0x8A, // A4......
11626 /* 0068 */ 0x32, 0x1E, 0x5C, 0x45, 0xBC, 0x93, 0x30, 0x8A, // 2.\E..0.
11627 /* 0070 */ 0x7E, 0xD9, 0x82, 0x46, 0x41, 0x35, 0x01, 0x01, // ~..FA5..
11628 /* 0078 */ 0xFD, 0xD9, 0x51, 0x26, 0x1C, 0x91, 0x69, 0x4B, // ..Q&..iK
11629 /* 0080 */ 0xB9, 0x4E, 0xD0, 0xDE, 0xD5, 0x96, 0x3B, 0xD7, // .N....;.
11630 /* 0088 */ 0x41, 0x36, 0x01, 0x06, 0x1A, 0x65, 0x64, 0x73, // A6...eds
11631 /* 0090 */ 0x2F, 0x13, 0xE7, 0x4F, 0xAD, 0xAA, 0x40, 0xC6, // /..O..@.
11632 /* 0098 */ 0xC7, 0xEE, 0x2E, 0x3B, 0x41, 0x37, 0x01, 0x06, // ...;A7..
11633 /* 00A0 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, // !...f...
11634 /* 00A8 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, // ......).
11635 /* 00B0 */ 0x42, 0x41, 0x01, 0x00 // BA..
11636 })
11637 Name (RETN, Package (0x05)
11638 {
11639 "Success",
11640 "Not Supported",
11641 "Invalid Parameter",
11642 "Access Denied",
11643 "System Busy"
11644 })
11645 Name (ITEM, Package (0x56)
11646 {
11647 Package (0x02)
11648 {
11649 0x0E,
11650 "WakeOnLAN"
11651 },
11652
11653 Package (0x02)
11654 {
11655 0x00,
11656 "EthernetLANOptionROM"
11657 },
11658
11659 Package (0x02)
11660 {
11661 0x00,
11662 "USBBIOSSupport"
11663 },
11664
11665 Package (0x02)
11666 {
11667 0x00,
11668 "AlwaysOnUSB"
11669 },
11670
11671 Package (0x02)
11672 {
11673 0x01,
11674 "TrackPoint"
11675 },
11676
11677 Package (0x02)
11678 {
11679 0x01,
11680 "TouchPad"
11681 },
11682
11683 Package (0x02)
11684 {
11685 0x00,
11686 "FnKeyLock"
11687 },
11688
11689 Package (0x02)
11690 {
11691 0x04,
11692 "ThinkPadNumLock"
11693 },
11694
11695 Package (0x02)
11696 {
11697 0x0C,
11698 "PowerOnNumLock"
11699 },
11700
11701 Package (0x02)
11702 {
11703 0x05,
11704 "BootDisplayDevice"
11705 },
11706
11707 Package (0x02)
11708 {
11709 0x00,
11710 "SpeedStep"
11711 },
11712
11713 Package (0x02)
11714 {
11715 0x09,
11716 "AdaptiveThermalManagementAC"
11717 },
11718
11719 Package (0x02)
11720 {
11721 0x09,
11722 "AdaptiveThermalManagementBattery"
11723 },
11724
11725 Package (0x02)
11726 {
11727 0x06,
11728 "CDROMSpeed"
11729 },
11730
11731 Package (0x02)
11732 {
11733 0x01,
11734 "CPUPowerManagement"
11735 },
11736
11737 Package (0x02)
11738 {
11739 0x00,
11740 "PowerControlBeep"
11741 },
11742
11743 Package (0x02)
11744 {
11745 0x00,
11746 "LowBatteryAlarm"
11747 },
11748
11749 Package (0x02)
11750 {
11751 0x00,
11752 "PasswordBeep"
11753 },
11754
11755 Package (0x02)
11756 {
11757 0x00,
11758 "KeyboardBeep"
11759 },
11760
11761 Package (0x02)
11762 {
11763 0x00,
11764 "ExtendedMemoryTest"
11765 },
11766
11767 Package (0x02)
11768 {
11769 0x07,
11770 "SATAControllerMode"
11771 },
11772
11773 Package (0x02)
11774 {
11775 0x00,
11776 "CoreMultiProcessing"
11777 },
11778
11779 Package (0x02)
11780 {
11781 0x00,
11782 "VirtualizationTechnology"
11783 },
11784
11785 Package (0x02)
11786 {
11787 0x00,
11788 "LockBIOSSetting"
11789 },
11790
11791 Package (0x02)
11792 {
11793 0x0B,
11794 "MinimumPasswordLength"
11795 },
11796
11797 Package (0x02)
11798 {
11799 0x00,
11800 "BIOSPasswordAtUnattendedBoot"
11801 },
11802
11803 Package (0x02)
11804 {
11805 0x00,
11806 "FingerprintPredesktopAuthentication"
11807 },
11808
11809 Package (0x02)
11810 {
11811 0x08,
11812 "FingerprintReaderPriority"
11813 },
11814
11815 Package (0x02)
11816 {
11817 0x03,
11818 "FingerprintSecurityMode"
11819 },
11820
11821 Package (0x02)
11822 {
11823 0x02,
11824 "SecurityChip"
11825 },
11826
11827 Package (0x02)
11828 {
11829 0x00,
11830 "BIOSUpdateByEndUsers"
11831 },
11832
11833 Package (0x02)
11834 {
11835 0x00,
11836 "DataExecutionPrevention"
11837 },
11838
11839 Package (0x02)
11840 {
11841 0x00,
11842 "EthernetLANAccess"
11843 },
11844
11845 Package (0x02)
11846 {
11847 0x00,
11848 "WirelessLANAccess"
11849 },
11850
11851 Package (0x02)
11852 {
11853 0x00,
11854 "WirelessWANAccess"
11855 },
11856
11857 Package (0x02)
11858 {
11859 0x00,
11860 "BluetoothAccess"
11861 },
11862
11863 Package (0x02)
11864 {
11865 0x00,
11866 "WirelessUSBAccess"
11867 },
11868
11869 Package (0x02)
11870 {
11871 0x00,
11872 "ModemAccess"
11873 },
11874
11875 Package (0x02)
11876 {
11877 0x00,
11878 "USBPortAccess"
11879 },
11880
11881 Package (0x02)
11882 {
11883 0x00,
11884 "IEEE1394Access"
11885 },
11886
11887 Package (0x02)
11888 {
11889 0x00,
11890 "ExpressCardAccess"
11891 },
11892
11893 Package (0x02)
11894 {
11895 0x00,
11896 "PCIExpressSlotAccess"
11897 },
11898
11899 Package (0x02)
11900 {
11901 0x00,
11902 "UltrabayAccess"
11903 },
11904
11905 Package (0x02)
11906 {
11907 0x00,
11908 "MemoryCardSlotAccess"
11909 },
11910
11911 Package (0x02)
11912 {
11913 0x00,
11914 "SmartCardSlotAccess"
11915 },
11916
11917 Package (0x02)
11918 {
11919 0x00,
11920 "IntegratedCameraAccess"
11921 },
11922
11923 Package (0x02)
11924 {
11925 0x00,
11926 "MicrophoneAccess"
11927 },
11928
11929 Package (0x02)
11930 {
11931 0x0A,
11932 "BootMode"
11933 },
11934
11935 Package (0x02)
11936 {
11937 0x00,
11938 "StartupOptionKeys"
11939 },
11940
11941 Package (0x02)
11942 {
11943 0x00,
11944 "BootDeviceListF12Option"
11945 },
11946
11947 Package (0x02)
11948 {
11949 0x64,
11950 "BootOrder"
11951 },
11952
11953 Package (0x02)
11954 {
11955 0x00,
11956 "WiMAXAccess"
11957 },
11958
11959 Package (0x02)
11960 {
11961 0x0D,
11962 "GraphicsDevice"
11963 },
11964
11965 Package (0x02)
11966 {
11967 0x00,
11968 "TXTFeature"
11969 },
11970
11971 Package (0x02)
11972 {
11973 0x00,
11974 "VTdFeature"
11975 },
11976
11977 Package (0x02)
11978 {
11979 0x0F,
11980 "AMTControl"
11981 },
11982
11983 Package (0x02)
11984 {
11985 0x00,
11986 "FingerprintPasswordAuthentication"
11987 },
11988
11989 Package (0x02)
11990 {
11991 0x00,
11992 "FingerprintReaderAccess"
11993 },
11994
11995 Package (0x02)
11996 {
11997 0x00,
11998 "OsDetectionForSwitchableGraphics"
11999 },
12000
12001 Package (0x02)
12002 {
12003 0x0F,
12004 "ComputraceModuleActivation"
12005 },
12006
12007 Package (0x02)
12008 {
12009 0x01,
12010 "PCIExpressPowerManagement"
12011 },
12012
12013 Package (0x02)
12014 {
12015 0x0F,
12016 "ATpModuleActivation"
12017 },
12018
12019 Package (0x02)
12020 {
12021 0x00,
12022 "eSATAPortAccess"
12023 },
12024
12025 Package (0x02)
12026 {
12027 0x00,
12028 "HardwarePasswordManager"
12029 },
12030
12031 Package (0x02)
12032 {
12033 0x00,
12034 "HyperThreadingTechnology"
12035 },
12036
12037 Package (0x02)
12038 {
12039 0x00,
12040 "FnCtrlKeySwap"
12041 },
12042
12043 Package (0x02)
12044 {
12045 0x00,
12046 "BIOSPasswordAtReboot"
12047 },
12048
12049 Package (0x02)
12050 {
12051 0x00,
12052 "OnByAcAttach"
12053 },
12054
12055 Package (0x02)
12056 {
12057 0x64,
12058 "NetworkBoot"
12059 },
12060
12061 Package (0x02)
12062 {
12063 0x00,
12064 "BootOrderLock"
12065 },
12066
12067 Package (0x02)
12068 {
12069 0x10,
12070 "USB30Mode"
12071 },
12072
12073 Package (0x02)
12074 {
12075 0x11,
12076 "ExpressCardSpeed"
12077 },
12078
12079 Package (0x02)
12080 {
12081 0x00,
12082 "RapidStartTechnology"
12083 },
12084
12085 Package (0x02)
12086 {
12087 0x12,
12088 "KeyboardIllumination"
12089 },
12090
12091 Package (0x02)
12092 {
12093 0x00,
12094 "IPv4NetworkStack"
12095 },
12096
12097 Package (0x02)
12098 {
12099 0x00,
12100 "IPv6NetworkStack"
12101 },
12102
12103 Package (0x02)
12104 {
12105 0x13,
12106 "UefiPxeBootPriority"
12107 },
12108
12109 Package (0x02)
12110 {
12111 0x00,
12112 "PhysicalPresenceForTpmProvision"
12113 },
12114
12115 Package (0x02)
12116 {
12117 0x00,
12118 "PhysicalPresenceForTpmClear"
12119 },
12120
12121 Package (0x02)
12122 {
12123 0x00,
12124 "SecureRollBackPrevention"
12125 },
12126
12127 Package (0x02)
12128 {
12129 0x00,
12130 "SecureBoot"
12131 },
12132
12133 Package (0x02)
12134 {
12135 0x00,
12136 "NfcAccess"
12137 },
12138
12139 Package (0x02)
12140 {
12141 0x00,
12142 "BottomCoverTamperDetected"
12143 },
12144
12145 Package (0x02)
12146 {
12147 0x14,
12148 "DiscreteGFXPerfMode"
12149 },
12150
12151 Package (0x02)
12152 {
12153 0x15,
12154 "TotalGraphicsMemory"
12155 },
12156
12157 Package (0x02)
12158 {
12159 0x16,
12160 "SmartConnectTechnology"
12161 }
12162 })
12163 Name (VSEL, Package (0x17)
12164 {
12165 Package (0x02)
12166 {
12167 "Disable",
12168 "Enable"
12169 },
12170
12171 Package (0x02)
12172 {
12173 "Disable",
12174 "Automatic"
12175 },
12176
12177 Package (0x03)
12178 {
12179 "Active",
12180 "Inactive",
12181 "Disable"
12182 },
12183
12184 Package (0x02)
12185 {
12186 "Normal",
12187 "High"
12188 },
12189
12190 Package (0x02)
12191 {
12192 "Independent",
12193 "Synchronized"
12194 },
12195
12196 Package (0x04)
12197 {
12198 "LCD",
12199 "VGA",
12200 "Digital",
12201 "DockDisplay"
12202 },
12203
12204 Package (0x03)
12205 {
12206 "High",
12207 "Normal",
12208 "Silent"
12209 },
12210
12211 Package (0x02)
12212 {
12213 "Compatibility",
12214 "AHCI"
12215 },
12216
12217 Package (0x02)
12218 {
12219 "External",
12220 "InternalOnly"
12221 },
12222
12223 Package (0x02)
12224 {
12225 "MaximizePerformance",
12226 "Balanced"
12227 },
12228
12229 Package (0x02)
12230 {
12231 "Quick",
12232 "Diagnostics"
12233 },
12234
12235 Package (0x0A)
12236 {
12237 "Disable",
12238 "4",
12239 "5",
12240 "6",
12241 "7",
12242 "8",
12243 "9",
12244 "10",
12245 "11",
12246 "12"
12247 },
12248
12249 Package (0x03)
12250 {
12251 "Auto",
12252 "On",
12253 "Off"
12254 },
12255
12256 Package (0x03)
12257 {
12258 "IntegratedGfx",
12259 "",
12260 "SwitchableGfx"
12261 },
12262
12263 Package (0x04)
12264 {
12265 "Disable",
12266 "ACOnly",
12267 "ACandBattery",
12268 "Enable"
12269 },
12270
12271 Package (0x03)
12272 {
12273 "Disable",
12274 "Enable",
12275 "Disable"
12276 },
12277
12278 Package (0x03)
12279 {
12280 "Disable",
12281 "Enable",
12282 "Automatic"
12283 },
12284
12285 Package (0x02)
12286 {
12287 "Generation1",
12288 "Automatic"
12289 },
12290
12291 Package (0x03)
12292 {
12293 "ThinkLightOnly",
12294 "BacklightOnly",
12295 "Both"
12296 },
12297
12298 Package (0x02)
12299 {
12300 "IPv6First",
12301 "IPv4First"
12302 },
12303
12304 Package (0x02)
12305 {
12306 "Balanced",
12307 "HighPerformance"
12308 },
12309
12310 Package (0x02)
12311 {
12312 "256MB",
12313 "512MB"
12314 },
12315
12316 Package (0x02)
12317 {
12318 "Enable",
12319 "Disable"
12320 }
12321 })
12322 Name (VLST, Package (0x0F)
12323 {
12324 "HDD0",
12325 "HDD1",
12326 "HDD2",
12327 "HDD3",
12328 "HDD4",
12329 "PCILAN",
12330 "ATAPICD0",
12331 "ATAPICD1",
12332 "ATAPICD2",
12333 "USBFDD",
12334 "USBCD",
12335 "USBHDD",
12336 "OtherHDD",
12337 "OtherCD",
12338 "NODEV"
12339 })
12340 Name (PENC, Package (0x02)
12341 {
12342 "ascii",
12343 "scancode"
12344 })
12345 Name (PKBD, Package (0x03)
12346 {
12347 "us",
12348 "fr",
12349 "gr"
12350 })
12351 Name (PTYP, Package (0x08)
12352 {
12353 "pap",
12354 "pop",
12355 "uhdp1",
12356 "mhdp1",
12357 "uhdp2",
12358 "mhdp2",
12359 "uhdp3",
12360 "mhdp3"
12361 })
12362 Mutex (MWMI, 0x07)
12363 Name (PCFG, Buffer (0x18){})
12364 Name (IBUF, Buffer (0x0100){})
12365 Name (ILEN, 0x00)
12366 Name (PSTR, Buffer (0x81){})
12367 Method (WQA0, 1, NotSerialized)
12368 {
12369 Acquire (MWMI, 0xFFFF)
12370 If ((\WMIS (0x00, Arg0) != 0x00))
12371 {
12372 Release (MWMI)
12373 Return ("")
12374 }
12375
12376 Local0 = DerefOf (ITEM [\WITM])
12377 Local1 = DerefOf (Local0 [0x00])
12378 Local2 = DerefOf (Local0 [0x01])
12379 If ((Local1 < 0x64))
12380 {
12381 Concatenate (Local2, ",", Local6)
12382 Local3 = DerefOf (VSEL [Local1])
12383 Concatenate (Local6, DerefOf (Local3 [\WSEL]), Local7)
12384 }
12385 Else
12386 {
12387 Local3 = SizeOf (VLST)
12388 If ((\WLS0 <= Local3))
12389 {
12390 Concatenate (Local2, ",", Local7)
12391 Concatenate (Local7, DerefOf (VLST [\WLS0]), Local2)
12392 }
12393
12394 If ((\WLS1 <= Local3))
12395 {
12396 Concatenate (Local2, ":", Local7)
12397 Concatenate (Local7, DerefOf (VLST [\WLS1]), Local2)
12398 }
12399
12400 If ((\WLS2 <= Local3))
12401 {
12402 Concatenate (Local2, ":", Local7)
12403 Concatenate (Local7, DerefOf (VLST [\WLS2]), Local2)
12404 }
12405
12406 If ((\WLS3 <= Local3))
12407 {
12408 Concatenate (Local2, ":", Local7)
12409 Concatenate (Local7, DerefOf (VLST [\WLS3]), Local2)
12410 }
12411
12412 If ((\WLS4 <= Local3))
12413 {
12414 Concatenate (Local2, ":", Local7)
12415 Concatenate (Local7, DerefOf (VLST [\WLS4]), Local2)
12416 }
12417
12418 If ((\WLS5 <= Local3))
12419 {
12420 Concatenate (Local2, ":", Local7)
12421 Concatenate (Local7, DerefOf (VLST [\WLS5]), Local2)
12422 }
12423
12424 If ((\WLS6 <= Local3))
12425 {
12426 Concatenate (Local2, ":", Local7)
12427 Concatenate (Local7, DerefOf (VLST [\WLS6]), Local2)
12428 }
12429
12430 If ((\WLS7 <= Local3))
12431 {
12432 Concatenate (Local2, ":", Local7)
12433 Concatenate (Local7, DerefOf (VLST [\WLS7]), Local2)
12434 }
12435
12436 If ((\WLS8 <= Local3))
12437 {
12438 Concatenate (Local2, ":", Local7)
12439 Concatenate (Local7, DerefOf (VLST [\WLS8]), Local2)
12440 }
12441
12442 If ((\WLS9 <= Local3))
12443 {
12444 Concatenate (Local2, ":", Local7)
12445 Concatenate (Local7, DerefOf (VLST [\WLS9]), Local2)
12446 }
12447
12448 If ((\WLSA <= Local3))
12449 {
12450 Concatenate (Local2, ":", Local7)
12451 Concatenate (Local7, DerefOf (VLST [\WLSA]), Local2)
12452 }
12453
12454 If ((\WLSB <= Local3))
12455 {
12456 Concatenate (Local2, ":", Local7)
12457 Concatenate (Local7, DerefOf (VLST [\WLSB]), Local2)
12458 }
12459
12460 If ((\WLSC <= Local3))
12461 {
12462 Concatenate (Local2, ":", Local7)
12463 Concatenate (Local7, DerefOf (VLST [\WLSC]), Local2)
12464 }
12465
12466 If ((\WLSD <= Local3))
12467 {
12468 Concatenate (Local2, ":", Local7)
12469 Concatenate (Local7, DerefOf (VLST [\WLSD]), Local2)
12470 }
12471
12472 Local7 = Local2
12473 }
12474
12475 Release (MWMI)
12476 Return (Local7)
12477 }
12478
12479 Method (WMA1, 3, NotSerialized)
12480 {
12481 Acquire (MWMI, 0xFFFF)
12482 If ((SizeOf (Arg2) == 0x00))
12483 {
12484 Local0 = 0x02
12485 }
12486 Else
12487 {
12488 Local0 = CARG (Arg2)
12489 If ((Local0 == 0x00))
12490 {
12491 Local0 = WSET (ITEM, VSEL)
12492 If ((Local0 == 0x00))
12493 {
12494 Local0 = \WMIS (0x01, 0x00)
12495 }
12496 }
12497 }
12498
12499 Release (MWMI)
12500 Return (DerefOf (RETN [Local0]))
12501 }
12502
12503 Method (WMA2, 3, NotSerialized)
12504 {
12505 Acquire (MWMI, 0xFFFF)
12506 Local0 = CARG (Arg2)
12507 If ((Local0 == 0x00))
12508 {
12509 If ((ILEN != 0x00))
12510 {
12511 Local0 = CPAS (IBUF, 0x00)
12512 }
12513
12514 If ((Local0 == 0x00))
12515 {
12516 Local0 = \WMIS (0x02, 0x00)
12517 }
12518 }
12519
12520 Release (MWMI)
12521 Return (DerefOf (RETN [Local0]))
12522 }
12523
12524 Method (WMA3, 3, NotSerialized)
12525 {
12526 Acquire (MWMI, 0xFFFF)
12527 Local0 = CARG (Arg2)
12528 If ((Local0 == 0x00))
12529 {
12530 If ((ILEN != 0x00))
12531 {
12532 Local0 = CPAS (IBUF, 0x00)
12533 }
12534
12535 If ((Local0 == 0x00))
12536 {
12537 Local0 = \WMIS (0x03, 0x00)
12538 }
12539 }
12540
12541 Release (MWMI)
12542 Return (DerefOf (RETN [Local0]))
12543 }
12544
12545 Method (WMA4, 3, NotSerialized)
12546 {
12547 Acquire (MWMI, 0xFFFF)
12548 Local0 = CARG (Arg2)
12549 If ((Local0 == 0x00))
12550 {
12551 If ((ILEN != 0x00))
12552 {
12553 Local0 = CPAS (IBUF, 0x00)
12554 }
12555
12556 If ((Local0 == 0x00))
12557 {
12558 Local0 = \WMIS (0x04, 0x00)
12559 }
12560 }
12561
12562 Release (MWMI)
12563 Return (DerefOf (RETN [Local0]))
12564 }
12565
12566 Method (WQA5, 1, NotSerialized)
12567 {
12568 Acquire (MWMI, 0xFFFF)
12569 Local0 = \WMIS (0x05, 0x00)
12570 PCFG [0x00] = \WSPM
12571 PCFG [0x04] = \WSPS
12572 PCFG [0x08] = \WSMN
12573 PCFG [0x0C] = \WSMX
12574 PCFG [0x10] = \WSEN
12575 PCFG [0x14] = \WSKB
12576 Release (MWMI)
12577 Return (PCFG) /* \_SB_.WMI1.PCFG */
12578 }
12579
12580 Method (WMA6, 3, NotSerialized)
12581 {
12582 Acquire (MWMI, 0xFFFF)
12583 If ((SizeOf (Arg2) == 0x00))
12584 {
12585 Local0 = 0x02
12586 }
12587 Else
12588 {
12589 Local0 = CARG (Arg2)
12590 If ((Local0 == 0x00))
12591 {
12592 If ((ILEN != 0x00))
12593 {
12594 Local0 = SPAS (IBUF)
12595 }
12596
12597 If ((Local0 == 0x00))
12598 {
12599 Local0 = \WMIS (0x06, 0x00)
12600 }
12601 }
12602 }
12603
12604 Release (MWMI)
12605 Return (DerefOf (RETN [Local0]))
12606 }
12607
12608 Method (WMA7, 3, NotSerialized)
12609 {
12610 If ((SizeOf (Arg2) == 0x00))
12611 {
12612 Return ("")
12613 }
12614
12615 Local0 = CARG (Arg2)
12616 If ((Local0 == 0x00))
12617 {
12618 Local1 = GITM (IBUF, ITEM)
12619 If ((Local1 == Ones))
12620 {
12621 Return ("")
12622 }
12623
12624 Local0 = DerefOf (ITEM [Local1])
12625 Local1 = DerefOf (Local0 [0x00])
12626 If ((Local1 < 0x64))
12627 {
12628 Local3 = DerefOf (VSEL [Local1])
12629 Local2 = DerefOf (Local3 [0x00])
12630 Local4 = SizeOf (Local3)
12631 Local5 = 0x01
12632 While ((Local5 < Local4))
12633 {
12634 Local6 = DerefOf (Local3 [Local5])
12635 If ((SizeOf (Local6) != 0x00))
12636 {
12637 Concatenate (Local2, ",", Local7)
12638 Concatenate (Local7, Local6, Local2)
12639 }
12640
12641 Local5++
12642 }
12643 }
12644 Else
12645 {
12646 Local2 = DerefOf (VLST [0x00])
12647 Local4 = SizeOf (VLST)
12648 Local5 = 0x01
12649 While ((Local5 < Local4))
12650 {
12651 Local6 = DerefOf (VLST [Local5])
12652 Concatenate (Local2, ",", Local7)
12653 Concatenate (Local7, Local6, Local2)
12654 Local5++
12655 }
12656 }
12657 }
12658
12659 Return (Local2)
12660 }
12661
12662 Method (CARG, 1, NotSerialized)
12663 {
12664 Local0 = SizeOf (Arg0)
12665 If ((Local0 == 0x00))
12666 {
12667 IBUF = 0x00
12668 ILEN = 0x00
12669 Return (0x00)
12670 }
12671
12672 If ((ObjectType (Arg0) != 0x02))
12673 {
12674 Return (0x02)
12675 }
12676
12677 If ((Local0 >= 0xFF))
12678 {
12679 Return (0x02)
12680 }
12681
12682 IBUF = Arg0
12683 Local0--
12684 Local1 = DerefOf (IBUF [Local0])
12685 If (((Local1 == 0x3B) || (Local1 == 0x2A)))
12686 {
12687 IBUF [Local0] = 0x00
12688 ILEN = Local0
12689 }
12690 Else
12691 {
12692 ILEN = SizeOf (Arg0)
12693 }
12694
12695 Return (0x00)
12696 }
12697
12698 Method (SCMP, 3, NotSerialized)
12699 {
12700 Local0 = SizeOf (Arg0)
12701 If ((Local0 == 0x00))
12702 {
12703 Return (0x00)
12704 }
12705
12706 Local0++
12707 Name (STR1, Buffer (Local0){})
12708 STR1 = Arg0
12709 Local0--
12710 Local1 = 0x00
12711 Local2 = Arg2
12712 While ((Local1 < Local0))
12713 {
12714 Local3 = DerefOf (STR1 [Local1])
12715 Local4 = DerefOf (Arg1 [Local2])
12716 If ((Local3 != Local4))
12717 {
12718 Return (0x00)
12719 }
12720
12721 Local1++
12722 Local2++
12723 }
12724
12725 Local4 = DerefOf (Arg1 [Local2])
12726 If ((Local4 == 0x00))
12727 {
12728 Return (0x01)
12729 }
12730
12731 If (((Local4 == 0x2C) || (Local4 == 0x3A)))
12732 {
12733 Return (0x01)
12734 }
12735
12736 Return (0x00)
12737 }
12738
12739 Method (GITM, 2, NotSerialized)
12740 {
12741 Local0 = 0x00
12742 Local1 = SizeOf (Arg1)
12743 While ((Local0 < Local1))
12744 {
12745 Local3 = DerefOf (DerefOf (Arg1 [Local0]) [0x01])
12746 If (SCMP (Local3, Arg0, 0x00))
12747 {
12748 Return (Local0)
12749 }
12750
12751 Local0++
12752 }
12753
12754 Return (Ones)
12755 }
12756
12757 Method (GSEL, 3, NotSerialized)
12758 {
12759 Local0 = 0x00
12760 Local1 = SizeOf (Arg0)
12761 While ((Local0 < Local1))
12762 {
12763 Local2 = DerefOf (Arg0 [Local0])
12764 If (SCMP (Local2, Arg1, Arg2))
12765 {
12766 Return (Local0)
12767 }
12768
12769 Local0++
12770 }
12771
12772 Return (Ones)
12773 }
12774
12775 Method (SLEN, 2, NotSerialized)
12776 {
12777 Local0 = DerefOf (Arg0 [Arg1])
12778 Return (SizeOf (Local0))
12779 }
12780
12781 Method (CLRP, 0, NotSerialized)
12782 {
12783 \WPAS = 0x00
12784 \WPNW = 0x00
12785 }
12786
12787 Method (GPAS, 2, NotSerialized)
12788 {
12789 Local0 = Arg1
12790 Local1 = 0x00
12791 While ((Local1 <= 0x80))
12792 {
12793 Local2 = DerefOf (Arg0 [Local0])
12794 If (((Local2 == 0x2C) || (Local2 == 0x00)))
12795 {
12796 PSTR [Local1] = 0x00
12797 Return (Local1)
12798 }
12799
12800 PSTR [Local1] = Local2
12801 Local0++
12802 Local1++
12803 }
12804
12805 PSTR [Local1] = 0x00
12806 Return (Ones)
12807 }
12808
12809 Method (CPAS, 2, NotSerialized)
12810 {
12811 CLRP ()
12812 Local0 = Arg1
12813 Local1 = GPAS (Arg0, Local0)
12814 If ((Local1 == Ones))
12815 {
12816 Return (0x02)
12817 }
12818
12819 If ((Local1 == 0x00))
12820 {
12821 Return (0x02)
12822 }
12823
12824 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
12825 Local0 += Local1
12826 Local0++
12827 Local6 = GSEL (PENC, Arg0, Local0)
12828 If ((Local6 == Ones))
12829 {
12830 Return (0x02)
12831 }
12832
12833 \WENC = Local6
12834 If ((Local6 == 0x00))
12835 {
12836 Local0 += SLEN (PENC, 0x00)
12837 If ((DerefOf (Arg0 [Local0]) != 0x2C))
12838 {
12839 Return (0x02)
12840 }
12841
12842 Local0++
12843 Local6 = GSEL (PKBD, Arg0, Local0)
12844 If ((Local6 == Ones))
12845 {
12846 Return (0x02)
12847 }
12848
12849 \WKBD = Local6
12850 }
12851
12852 Return (0x00)
12853 }
12854
12855 Method (SPAS, 1, NotSerialized)
12856 {
12857 CLRP ()
12858 Local6 = GSEL (PTYP, Arg0, 0x00)
12859 If ((Local6 == Ones))
12860 {
12861 Return (0x02)
12862 }
12863
12864 \WPTY = Local6
12865 Local0 = SLEN (PTYP, Local6)
12866 If ((DerefOf (Arg0 [Local0]) != 0x2C))
12867 {
12868 Return (0x02)
12869 }
12870
12871 Local0++
12872 Local1 = GPAS (Arg0, Local0)
12873 If (((Local1 == Ones) || (Local1 == 0x00)))
12874 {
12875 Return (0x02)
12876 }
12877
12878 \WPAS = PSTR /* \_SB_.WMI1.PSTR */
12879 Local0 += Local1
12880 If ((DerefOf (Arg0 [Local0]) != 0x2C))
12881 {
12882 Return (0x02)
12883 }
12884
12885 Local0++
12886 Local1 = GPAS (Arg0, Local0)
12887 If ((Local1 == Ones))
12888 {
12889 Return (0x02)
12890 }
12891
12892 If ((Local1 == 0x00))
12893 {
12894 PSTR = 0x00
12895 }
12896
12897 \WPNW = PSTR /* \_SB_.WMI1.PSTR */
12898 Local0 += Local1
12899 Local0++
12900 Local6 = GSEL (PENC, Arg0, Local0)
12901 If ((Local6 == Ones))
12902 {
12903 Return (0x02)
12904 }
12905
12906 \WENC = Local6
12907 If ((Local6 == 0x00))
12908 {
12909 Local0 += SLEN (PENC, 0x00)
12910 If ((DerefOf (Arg0 [Local0]) != 0x2C))
12911 {
12912 Return (0x02)
12913 }
12914
12915 Local0++
12916 Local6 = GSEL (PKBD, Arg0, Local0)
12917 If ((Local6 == Ones))
12918 {
12919 Return (0x02)
12920 }
12921
12922 \WKBD = Local6
12923 }
12924
12925 Return (0x00)
12926 }
12927
12928 Method (WSET, 2, NotSerialized)
12929 {
12930 Local0 = ILEN /* \_SB_.WMI1.ILEN */
12931 Local0++
12932 Local1 = GITM (IBUF, Arg0)
12933 If ((Local1 == Ones))
12934 {
12935 Return (0x02)
12936 }
12937
12938 \WITM = Local1
12939 Local3 = DerefOf (Arg0 [Local1])
12940 Local4 = DerefOf (Local3 [0x01])
12941 Local2 = SizeOf (Local4)
12942 Local2++
12943 Local4 = DerefOf (Local3 [0x00])
12944 If ((Local4 < 0x64))
12945 {
12946 Local5 = DerefOf (Arg1 [Local4])
12947 Local6 = GSEL (Local5, IBUF, Local2)
12948 If ((Local6 == Ones))
12949 {
12950 Return (0x02)
12951 }
12952
12953 \WSEL = Local6
12954 Local2 += SLEN (Local5, Local6)
12955 Local4 = DerefOf (IBUF [Local2])
12956 }
12957 Else
12958 {
12959 \WLS0 = 0x3F
12960 \WLS1 = 0x3F
12961 \WLS2 = 0x3F
12962 \WLS3 = 0x3F
12963 \WLS4 = 0x3F
12964 \WLS5 = 0x3F
12965 \WLS6 = 0x3F
12966 \WLS7 = 0x3F
12967 \WLS8 = 0x3F
12968 \WLS9 = 0x3F
12969 \WLSA = 0x3F
12970 \WLSB = 0x3F
12971 \WLSC = 0x3F
12972 \WLSD = 0x3F
12973 Local6 = GSEL (VLST, IBUF, Local2)
12974 If ((Local6 == Ones))
12975 {
12976 Return (0x02)
12977 }
12978
12979 \WLS0 = Local6
12980 Local2 += SLEN (VLST, Local6)
12981 Local4 = DerefOf (IBUF [Local2])
12982 If (((Local2 < Local0) && (Local4 == 0x3A)))
12983 {
12984 Local2++
12985 Local6 = GSEL (VLST, IBUF, Local2)
12986 If ((Local6 == Ones))
12987 {
12988 Return (0x02)
12989 }
12990
12991 \WLS1 = Local6
12992 Local2 += SLEN (VLST, Local6)
12993 Local4 = DerefOf (IBUF [Local2])
12994 }
12995
12996 If (((Local2 < Local0) && (Local4 == 0x3A)))
12997 {
12998 Local2++
12999 Local6 = GSEL (VLST, IBUF, Local2)
13000 If ((Local6 == Ones))
13001 {
13002 Return (0x02)
13003 }
13004
13005 \WLS2 = Local6
13006 Local2 += SLEN (VLST, Local6)
13007 Local4 = DerefOf (IBUF [Local2])
13008 }
13009
13010 If (((Local2 < Local0) && (Local4 == 0x3A)))
13011 {
13012 Local2++
13013 Local6 = GSEL (VLST, IBUF, Local2)
13014 If ((Local6 == Ones))
13015 {
13016 Return (0x02)
13017 }
13018
13019 \WLS3 = Local6
13020 Local2 += SLEN (VLST, Local6)
13021 Local4 = DerefOf (IBUF [Local2])
13022 }
13023
13024 If (((Local2 < Local0) && (Local4 == 0x3A)))
13025 {
13026 Local2++
13027 Local6 = GSEL (VLST, IBUF, Local2)
13028 If ((Local6 == Ones))
13029 {
13030 Return (0x02)
13031 }
13032
13033 \WLS4 = Local6
13034 Local2 += SLEN (VLST, Local6)
13035 Local4 = DerefOf (IBUF [Local2])
13036 }
13037
13038 If (((Local2 < Local0) && (Local4 == 0x3A)))
13039 {
13040 Local2++
13041 Local6 = GSEL (VLST, IBUF, Local2)
13042 If ((Local6 == Ones))
13043 {
13044 Return (0x02)
13045 }
13046
13047 \WLS5 = Local6
13048 Local2 += SLEN (VLST, Local6)
13049 Local4 = DerefOf (IBUF [Local2])
13050 }
13051
13052 If (((Local2 < Local0) && (Local4 == 0x3A)))
13053 {
13054 Local2++
13055 Local6 = GSEL (VLST, IBUF, Local2)
13056 If ((Local6 == Ones))
13057 {
13058 Return (0x02)
13059 }
13060
13061 \WLS6 = Local6
13062 Local2 += SLEN (VLST, Local6)
13063 Local4 = DerefOf (IBUF [Local2])
13064 }
13065
13066 If (((Local2 < Local0) && (Local4 == 0x3A)))
13067 {
13068 Local2++
13069 Local6 = GSEL (VLST, IBUF, Local2)
13070 If ((Local6 == Ones))
13071 {
13072 Return (0x02)
13073 }
13074
13075 \WLS7 = Local6
13076 Local2 += SLEN (VLST, Local6)
13077 Local4 = DerefOf (IBUF [Local2])
13078 }
13079
13080 If (((Local2 < Local0) && (Local4 == 0x3A)))
13081 {
13082 Local2++
13083 Local6 = GSEL (VLST, IBUF, Local2)
13084 If ((Local6 == Ones))
13085 {
13086 Return (0x02)
13087 }
13088
13089 \WLS8 = Local6
13090 Local2 += SLEN (VLST, Local6)
13091 Local4 = DerefOf (IBUF [Local2])
13092 }
13093
13094 If (((Local2 < Local0) && (Local4 == 0x3A)))
13095 {
13096 Local2++
13097 Local6 = GSEL (VLST, IBUF, Local2)
13098 If ((Local6 == Ones))
13099 {
13100 Return (0x02)
13101 }
13102
13103 \WLS9 = Local6
13104 Local2 += SLEN (VLST, Local6)
13105 Local4 = DerefOf (IBUF [Local2])
13106 }
13107
13108 If (((Local2 < Local0) && (Local4 == 0x3A)))
13109 {
13110 Local2++
13111 Local6 = GSEL (VLST, IBUF, Local2)
13112 If ((Local6 == Ones))
13113 {
13114 Return (0x02)
13115 }
13116
13117 \WLSA = Local6
13118 Local2 += SLEN (VLST, Local6)
13119 Local4 = DerefOf (IBUF [Local2])
13120 }
13121
13122 If (((Local2 < Local0) && (Local4 == 0x3A)))
13123 {
13124 Local2++
13125 Local6 = GSEL (VLST, IBUF, Local2)
13126 If ((Local6 == Ones))
13127 {
13128 Return (0x02)
13129 }
13130
13131 \WLSB = Local6
13132 Local2 += SLEN (VLST, Local6)
13133 Local4 = DerefOf (IBUF [Local2])
13134 }
13135
13136 If (((Local2 < Local0) && (Local4 == 0x3A)))
13137 {
13138 Local2++
13139 Local6 = GSEL (VLST, IBUF, Local2)
13140 If ((Local6 == Ones))
13141 {
13142 Return (0x02)
13143 }
13144
13145 \WLSC = Local6
13146 Local2 += SLEN (VLST, Local6)
13147 Local4 = DerefOf (IBUF [Local2])
13148 }
13149
13150 If (((Local2 < Local0) && (Local4 == 0x3A)))
13151 {
13152 Local2++
13153 Local6 = GSEL (VLST, IBUF, Local2)
13154 If ((Local6 == Ones))
13155 {
13156 Return (0x02)
13157 }
13158
13159 \WLSD = Local6
13160 Local2 += SLEN (VLST, Local6)
13161 Local4 = DerefOf (IBUF [Local2])
13162 }
13163 }
13164
13165 If (((Local4 == 0x2C) && (Local2 < Local0)))
13166 {
13167 Local2++
13168 Local0 = CPAS (IBUF, Local2)
13169 If ((Local0 != 0x00))
13170 {
13171 Return (Local0)
13172 }
13173 }
13174
13175 Return (0x00)
13176 }
13177
13178 Name (WQBA, Buffer (0x089D)
13179 {
13180 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
13181 /* 0008 */ 0x8D, 0x08, 0x00, 0x00, 0xF2, 0x36, 0x00, 0x00, // .....6..
13182 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
13183 /* 0018 */ 0xA8, 0xC9, 0x9A, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
13184 /* 0020 */ 0x10, 0x13, 0x10, 0x0A, 0x0D, 0x21, 0x02, 0x0B, // .....!..
13185 /* 0028 */ 0x83, 0x50, 0x4C, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PL...EA
13186 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
13187 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
13188 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
13189 /* 0048 */ 0x31, 0x0E, 0x88, 0x14, 0x40, 0x48, 0x26, 0x84, // 1...@H&.
13190 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._
13191 /* 0058 */ 0x01, 0x08, 0x1D, 0xA2, 0xC9, 0xA0, 0x00, 0xA7, // ........
13192 /* 0060 */ 0x08, 0x82, 0xB4, 0x65, 0x01, 0xBA, 0x05, 0xF8, // ...e....
13193 /* 0068 */ 0x16, 0xA0, 0x1D, 0x42, 0x68, 0x15, 0x0A, 0x30, // ...Bh..0
13194 /* 0070 */ 0x29, 0xC0, 0x27, 0x98, 0x2C, 0x0A, 0x90, 0x0D, // ).'.,...
13195 /* 0078 */ 0x26, 0xDB, 0x70, 0x64, 0x18, 0x4C, 0xE4, 0x18, // &.pd.L..
13196 /* 0080 */ 0x50, 0x62, 0xC6, 0x80, 0xD2, 0x39, 0x05, 0xD9, // Pb...9..
13197 /* 0088 */ 0x04, 0x16, 0x74, 0xA1, 0x28, 0x9A, 0x46, 0x94, // ..t.(.F.
13198 /* 0090 */ 0x04, 0x07, 0x75, 0x0C, 0x11, 0x82, 0x97, 0x2B, // ..u....+
13199 /* 0098 */ 0x40, 0xF2, 0x04, 0xA4, 0x79, 0x5E, 0xB2, 0x3E, // @...y^.>
13200 /* 00A0 */ 0x08, 0x0D, 0x81, 0x8D, 0x80, 0x47, 0x91, 0x00, // .....G..
13201 /* 00A8 */ 0xC2, 0x62, 0x2C, 0x53, 0xE2, 0x61, 0x50, 0x1E, // .b,S.aP.
13202 /* 00B0 */ 0x40, 0x24, 0x67, 0xA8, 0x28, 0x60, 0x7B, 0x9D, // @$g.(`{.
13203 /* 00B8 */ 0x88, 0x86, 0x75, 0x9C, 0x4C, 0x12, 0x1C, 0x6A, // ..u.L..j
13204 /* 00C0 */ 0x94, 0x96, 0x28, 0xC0, 0xFC, 0xC8, 0x34, 0x91, // ..(...4.
13205 /* 00C8 */ 0x63, 0x6B, 0x7A, 0xC4, 0x82, 0x64, 0xD2, 0x86, // ckz..d..
13206 /* 00D0 */ 0x82, 0x1A, 0xBA, 0xA7, 0x75, 0x52, 0x9E, 0x68, // ....uR.h
13207 /* 00D8 */ 0xC4, 0x83, 0x32, 0x4C, 0x02, 0x8F, 0x82, 0xA1, // ..2L....
13208 /* 00E0 */ 0x71, 0x82, 0xB2, 0x20, 0xE4, 0x60, 0xA0, 0x28, // q.. .`.(
13209 /* 00E8 */ 0xC0, 0x93, 0xF0, 0x1C, 0x8B, 0x17, 0x20, 0x7C, // ...... |
13210 /* 00F0 */ 0xC6, 0xE4, 0x28, 0x10, 0x23, 0x81, 0x8F, 0x04, // ..(.#...
13211 /* 00F8 */ 0x1E, 0xCD, 0x31, 0x63, 0x81, 0xC2, 0x05, 0x3C, // ..1c...<
13212 /* 0100 */ 0x9F, 0x63, 0x88, 0x1C, 0xF7, 0x50, 0x63, 0x1C, // .c...Pc.
13213 /* 0108 */ 0x45, 0xE4, 0x04, 0xEF, 0x00, 0x51, 0x8C, 0x56, // E....Q.V
13214 /* 0110 */ 0xD0, 0xBC, 0x85, 0x18, 0x2C, 0x9A, 0xC1, 0x7A, // ....,..z
13215 /* 0118 */ 0x06, 0x27, 0x83, 0x4E, 0xF0, 0xFF, 0x3F, 0x02, // .'.N..?.
13216 /* 0120 */ 0x2E, 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x94, // ..B..X..
13217 /* 0128 */ 0xA6, 0x61, 0x82, 0xEE, 0x05, 0xBC, 0x1A, 0x1A, // .a......
13218 /* 0130 */ 0x13, 0xA0, 0x11, 0x43, 0xCA, 0x04, 0x38, 0xBB, // ...C..8.
13219 /* 0138 */ 0x2F, 0x68, 0x46, 0x6D, 0x09, 0x30, 0x27, 0x40, // /hFm.0'@
13220 /* 0140 */ 0x9B, 0x00, 0x6F, 0x08, 0x42, 0x39, 0xCF, 0x28, // ..o.B9.(
13221 /* 0148 */ 0xC7, 0x72, 0x8A, 0x51, 0x1E, 0x06, 0x62, 0xBE, // .r.Q..b.
13222 /* 0150 */ 0x0C, 0x04, 0x8D, 0x12, 0x23, 0xE6, 0xB9, 0xC4, // ....#...
13223 /* 0158 */ 0x35, 0x6C, 0x84, 0x18, 0x21, 0x4F, 0x21, 0x50, // 5l..!O!P
13224 /* 0160 */ 0xDC, 0xF6, 0x07, 0x41, 0x06, 0x8D, 0x1B, 0xBD, // ...A....
13225 /* 0168 */ 0x4F, 0x0B, 0x67, 0x75, 0x02, 0x47, 0xFF, 0xA4, // O.gu.G..
13226 /* 0170 */ 0x60, 0x02, 0x4F, 0xF9, 0xC0, 0x9E, 0x0D, 0x4E, // `.O....N
13227 /* 0178 */ 0xE0, 0x58, 0xA3, 0xC6, 0x38, 0x95, 0x04, 0x8E, // .X..8...
13228 /* 0180 */ 0xFD, 0x80, 0x90, 0x06, 0x10, 0x45, 0x82, 0x47, // .....E.G
13229 /* 0188 */ 0x9D, 0x16, 0x7C, 0x2E, 0xF0, 0xD0, 0x0E, 0xDA, // ..|.....
13230 /* 0190 */ 0x73, 0x3C, 0x81, 0x20, 0x87, 0x70, 0x04, 0x4F, // s<. .p.O
13231 /* 0198 */ 0x0C, 0x0F, 0x04, 0x1E, 0x03, 0xBB, 0x29, 0xF8, // ......).
13232 /* 01A0 */ 0x08, 0xE0, 0x13, 0x02, 0xDE, 0x35, 0xA0, 0xAE, // .....5..
13233 /* 01A8 */ 0x06, 0x0F, 0x06, 0x6C, 0xD0, 0xE1, 0x30, 0xE3, // ...l..0.
13234 /* 01B0 */ 0xF5, 0xF0, 0xC3, 0x9D, 0xC0, 0x49, 0x3E, 0x60, // .....I>`
13235 /* 01B8 */ 0xF0, 0xC3, 0x86, 0x07, 0x87, 0x9B, 0xE7, 0xC9, // ........
13236 /* 01C0 */ 0x1C, 0x59, 0xA9, 0x02, 0xCC, 0x1E, 0x0E, 0x74, // .Y.....t
13237 /* 01C8 */ 0x90, 0xF0, 0x69, 0x83, 0x9D, 0x01, 0x30, 0xF2, // ..i...0.
13238 /* 01D0 */ 0x07, 0x81, 0x1A, 0x99, 0xA1, 0x3D, 0xEE, 0x97, // .....=..
13239 /* 01D8 */ 0x0E, 0x43, 0x3E, 0x27, 0x1C, 0x16, 0x13, 0x7B, // .C>'...{
13240 /* 01E0 */ 0xEA, 0xA0, 0xE3, 0x01, 0xFF, 0x65, 0xE4, 0x39, // .....e.9
13241 /* 01E8 */ 0xC3, 0xD3, 0xF7, 0x7C, 0x4D, 0x30, 0xEC, 0xC0, // ...|M0..
13242 /* 01F0 */ 0xD1, 0x03, 0x31, 0xF4, 0xC3, 0xC6, 0x61, 0x9C, // ..1...a.
13243 /* 01F8 */ 0x86, 0xEF, 0x1F, 0x3E, 0x2F, 0xC0, 0x38, 0x05, // ...>/.8.
13244 /* 0200 */ 0x78, 0xE4, 0xFE, 0xFF, 0x1F, 0x52, 0x7C, 0x9A, // x....R|.
13245 /* 0208 */ 0xE0, 0x47, 0x0B, 0x9F, 0x26, 0xD8, 0xF5, 0xE0, // .G..&...
13246 /* 0210 */ 0x34, 0x9E, 0x03, 0x3C, 0x9C, 0xB3, 0xF2, 0x61, // 4..<...a
13247 /* 0218 */ 0x02, 0x6C, 0xF7, 0x13, 0x36, 0xA2, 0x77, 0x0B, // .l..6.w.
13248 /* 0220 */ 0x8F, 0x06, 0x7B, 0x0A, 0x00, 0xDF, 0xF9, 0x05, // ..{.....
13249 /* 0228 */ 0x9C, 0x77, 0x0D, 0x36, 0x58, 0x18, 0xE7, 0x17, // .w.6X...
13250 /* 0230 */ 0xE0, 0x71, 0x42, 0xF0, 0x10, 0xF8, 0x41, 0xC2, // .qB...A.
13251 /* 0238 */ 0x43, 0xE0, 0x03, 0x78, 0xFE, 0x38, 0x43, 0x2B, // C..x.8C+
13252 /* 0240 */ 0x9D, 0x17, 0x72, 0x60, 0xF0, 0xCE, 0x39, 0x30, // ..r`..90
13253 /* 0248 */ 0x46, 0xC1, 0xF3, 0x3C, 0x36, 0x4C, 0xA0, 0x20, // F..<6L.
13254 /* 0250 */ 0xAF, 0x01, 0x85, 0x7A, 0x16, 0x50, 0x18, 0x9F, // ...z.P..
13255 /* 0258 */ 0x6A, 0x80, 0xD7, 0xFF, 0xFF, 0x54, 0x03, 0x5C, // j....T.\
13256 /* 0260 */ 0x0E, 0x07, 0xB8, 0x93, 0x03, 0xDC, 0x7B, 0x01, // ......{.
13257 /* 0268 */ 0xBB, 0x38, 0x3C, 0xD7, 0xC0, 0x15, 0x7D, 0xAE, // .8<...}.
13258 /* 0270 */ 0x81, 0x7A, 0x6F, 0x29, 0x6E, 0x8C, 0xBA, 0xC6, // .zo)n...
13259 /* 0278 */ 0x04, 0x79, 0x14, 0x78, 0xA4, 0x89, 0xF2, 0x3C, // .y.x...<
13260 /* 0280 */ 0xF3, 0x2E, 0x13, 0xE1, 0xD9, 0xC6, 0xD7, 0x1A, // ........
13261 /* 0288 */ 0x4F, 0x21, 0x8E, 0xAF, 0x35, 0x46, 0x7C, 0x99, // O!..5F|.
13262 /* 0290 */ 0x78, 0xB7, 0x31, 0xEE, 0xC1, 0x3D, 0xD6, 0x3C, // x.1..=.<
13263 /* 0298 */ 0xE4, 0x18, 0xE4, 0x68, 0x22, 0xBC, 0x18, 0x04, // ...h"...
13264 /* 02A0 */ 0x7C, 0xBC, 0xF1, 0xB1, 0x06, 0xBC, 0x62, 0x5E, // |.....b^
13265 /* 02A8 */ 0x28, 0xB2, 0x70, 0xAC, 0x01, 0x34, 0xFE, 0xFF, // (.p..4..
13266 /* 02B0 */ 0x8F, 0x35, 0xC0, 0x0D, 0xEB, 0x01, 0x05, 0x7C, // .5.....|
13267 /* 02B8 */ 0x47, 0x06, 0x76, 0x43, 0x81, 0x77, 0x42, 0x01, // G.vC.wB.
13268 /* 02C0 */ 0xFC, 0x24, 0x7E, 0x01, 0xE8, 0xC8, 0xE1, 0xB4, // .$~.....
13269 /* 02C8 */ 0x20, 0xB2, 0xF1, 0x06, 0xF0, 0x29, 0x80, 0xAA, // ....)..
13270 /* 02D0 */ 0x01, 0xD2, 0x34, 0x61, 0x13, 0x4C, 0x4F, 0x2E, // ..4a.LO.
13271 /* 02D8 */ 0x78, 0x1F, 0x09, 0x9C, 0x9B, 0x44, 0xC9, 0x87, // x....D..
13272 /* 02E0 */ 0x45, 0xE1, 0x9C, 0xF5, 0x20, 0x42, 0x41, 0x0C, // E... BA.
13273 /* 02E8 */ 0xE8, 0x20, 0xC7, 0x09, 0xF4, 0x19, 0xC5, 0x07, // . ......
13274 /* 02F0 */ 0x91, 0x13, 0x7D, 0x22, 0xF4, 0xA0, 0x3C, 0x8C, // ..}"..<.
13275 /* 02F8 */ 0x77, 0x14, 0x76, 0x02, 0xF1, 0x61, 0xC2, 0x63, // w.v..a.c
13276 /* 0300 */ 0xF7, 0x31, 0x81, 0xFF, 0x63, 0x3C, 0x1B, 0xA3, // .1..c<..
13277 /* 0308 */ 0x5B, 0x0D, 0x86, 0xFE, 0xFF, 0xE7, 0x14, 0x0E, // [.......
13278 /* 0310 */ 0xE6, 0x83, 0x08, 0x27, 0xA8, 0xEB, 0x26, 0x01, // ...'..&.
13279 /* 0318 */ 0x32, 0x7D, 0x47, 0x05, 0x50, 0x00, 0xF9, 0x5E, // 2}G.P..^
13280 /* 0320 */ 0xE0, 0x73, 0xC0, 0xB3, 0x01, 0x1B, 0xC3, 0xA3, // .s......
13281 /* 0328 */ 0x80, 0xD1, 0x8C, 0xCE, 0xC3, 0x4F, 0x16, 0x15, // .....O..
13282 /* 0330 */ 0x77, 0xB2, 0x14, 0xC4, 0x93, 0x75, 0x94, 0xC9, // w....u..
13283 /* 0338 */ 0xA2, 0x67, 0xE2, 0x7B, 0x85, 0x67, 0xF4, 0xA6, // .g.{.g..
13284 /* 0340 */ 0xE5, 0x39, 0x7A, 0xC2, 0xBE, 0x87, 0xC0, 0x3A, // .9z....:
13285 /* 0348 */ 0x0C, 0x84, 0x7C, 0x30, 0xF0, 0x34, 0x0C, 0xE7, // ..|0.4..
13286 /* 0350 */ 0xC9, 0x72, 0x38, 0x4F, 0x96, 0x8F, 0xC5, 0xD7, // .r8O....
13287 /* 0358 */ 0x10, 0xF0, 0x09, 0x9C, 0x2D, 0xC8, 0xE1, 0x31, // ....-..1
13288 /* 0360 */ 0xB1, 0x46, 0x45, 0xAF, 0x42, 0x1E, 0x1E, 0xBF, // .FE.B...
13289 /* 0368 */ 0x1C, 0x78, 0x3E, 0xCF, 0x08, 0x47, 0xF9, 0x24, // .x>..G.$
13290 /* 0370 */ 0x81, 0xC3, 0x78, 0x26, 0xF1, 0x10, 0x7D, 0x2B, // ..x&..}+
13291 /* 0378 */ 0x82, 0x35, 0x91, 0x93, 0xF6, 0x6D, 0xE1, 0x64, // .5...m.d
13292 /* 0380 */ 0x83, 0xBE, 0x9E, 0x61, 0x6E, 0x45, 0xB0, 0xFF, // ...anE..
13293 /* 0388 */ 0xFF, 0xB7, 0x22, 0x38, 0x17, 0x34, 0x98, 0x99, // .."8.4..
13294 /* 0390 */ 0xEE, 0x55, 0xA8, 0x58, 0xF7, 0x2A, 0x40, 0xEC, // .U.X.*@.
13295 /* 0398 */ 0xB0, 0x5E, 0x7B, 0x7C, 0xB0, 0x82, 0x7B, 0xAF, // .^{|..{.
13296 /* 03A0 */ 0x82, 0x7B, 0xA9, 0x7A, 0x56, 0x38, 0xC6, 0xF0, // .{.zV8..
13297 /* 03A8 */ 0x0F, 0x53, 0x31, 0x4E, 0xE9, 0xB5, 0xD3, 0x40, // .S1N...@
13298 /* 03B0 */ 0x61, 0xA2, 0xC4, 0x7B, 0xAF, 0xF2, 0x18, 0xDF, // a..{....
13299 /* 03B8 */ 0xAB, 0xD8, 0x15, 0x2A, 0x4C, 0xAC, 0x97, 0x2B, // ...*L..+
13300 /* 03C0 */ 0xA3, 0xBE, 0x4E, 0x84, 0x0B, 0x14, 0x24, 0xD2, // ..N...$.
13301 /* 03C8 */ 0xAB, 0x55, 0x94, 0xC8, 0xF1, 0x0D, 0xF9, 0x5E, // .U.....^
13302 /* 03D0 */ 0x05, 0x5E, 0x39, 0xF7, 0x2A, 0x90, 0xFD, 0xFF, // .^9.*...
13303 /* 03D8 */ 0xEF, 0x55, 0x80, 0x79, 0xB4, 0xF7, 0x2A, 0x30, // .U.y..*0
13304 /* 03E0 */ 0x5E, 0x1B, 0xD8, 0x0D, 0x09, 0x16, 0xD0, 0x8B, // ^.......
13305 /* 03E8 */ 0x15, 0x60, 0x28, 0xF3, 0xC5, 0x8A, 0xE6, 0xBD, // .`(.....
13306 /* 03F0 */ 0x58, 0x21, 0xFE, 0xFF, 0xE7, 0x12, 0xA6, 0xE7, // X!......
13307 /* 03F8 */ 0x62, 0x45, 0xE6, 0x09, 0xFF, 0x66, 0x05, 0x70, // bE...f.p
13308 /* 0400 */ 0xFA, 0xFF, 0x7F, 0xB3, 0x02, 0x8C, 0xDD, 0x8B, // ........
13309 /* 0408 */ 0x30, 0x47, 0x2B, 0x78, 0x29, 0x6F, 0x56, 0x34, // 0G+x)oV4
13310 /* 0410 */ 0xCE, 0x32, 0x14, 0x70, 0x41, 0x14, 0xC6, 0x37, // .2.pA..7
13311 /* 0418 */ 0x2B, 0xC0, 0xD1, 0x75, 0x05, 0x37, 0x64, 0xB8, // +..u.7d.
13312 /* 0420 */ 0x60, 0x51, 0x82, 0xF9, 0x10, 0xE2, 0xE9, 0x1C, // `Q......
13313 /* 0428 */ 0xF1, 0x43, 0xC2, 0x4B, 0xC0, 0x63, 0x8E, 0x07, // .C.K.c..
13314 /* 0430 */ 0xFC, 0x40, 0xE0, 0xCB, 0x15, 0x98, 0xFE, 0xFF, // .@......
13315 /* 0438 */ 0x04, 0x3E, 0xF9, 0x9E, 0xE5, 0xDB, 0xD4, 0x7B, // .>.....{
13316 /* 0440 */ 0x2F, 0x3F, 0x60, 0xBD, 0x57, 0xF9, 0xF0, 0x1B, // /?`.W...
13317 /* 0448 */ 0xEB, 0x9D, 0xE1, 0xE5, 0xCA, 0x23, 0x89, 0x72, // .....#.r
13318 /* 0450 */ 0x12, 0xA1, 0x7C, 0xB7, 0x7A, 0xAF, 0x32, 0x4A, // ..|.z.2J
13319 /* 0458 */ 0xC4, 0x17, 0x62, 0x9F, 0x82, 0x0D, 0x6D, 0x94, // ..b...m.
13320 /* 0460 */ 0xA7, 0x8A, 0xE8, 0xC6, 0x7B, 0xB9, 0x02, 0xAF, // ....{...
13321 /* 0468 */ 0xA4, 0xCB, 0x15, 0x40, 0x93, 0xE1, 0xBF, 0x5C, // ...@...\
13322 /* 0470 */ 0x81, 0xEF, 0xE6, 0x80, 0xBD, 0x26, 0xC1, 0xF9, // .....&..
13323 /* 0478 */ 0xFF, 0x5F, 0x93, 0xF8, 0xF5, 0x0A, 0xF0, 0x93, // ._......
13324 /* 0480 */ 0xFD, 0x7A, 0x45, 0x73, 0x5F, 0xAF, 0x50, 0xA2, // .zEs_.P.
13325 /* 0488 */ 0x20, 0xA4, 0x08, 0x48, 0x33, 0x05, 0xCF, 0xFD, // ..H3...
13326 /* 0490 */ 0x0A, 0xE0, 0xC4, 0xFF, 0xFF, 0x7E, 0x05, 0x58, // .....~.X
13327 /* 0498 */ 0x0E, 0x77, 0xBF, 0x02, 0x7A, 0xB7, 0x23, 0xF0, // .w..z.#.
13328 /* 04A0 */ 0xA2, 0xBC, 0x1D, 0x61, 0xAF, 0x58, 0xF8, 0x8C, // ...a.X..
13329 /* 04A8 */ 0x57, 0x2C, 0x1A, 0x66, 0x25, 0x8A, 0xB7, 0x26, // W,.f%..&
13330 /* 04B0 */ 0x0A, 0xE3, 0x2B, 0x16, 0x30, 0xF9, 0xFF, 0x5F, // ..+.0.._
13331 /* 04B8 */ 0xB1, 0x80, 0xD9, 0x41, 0x14, 0x37, 0x6A, 0xB8, // ...A.7j.
13332 /* 04C0 */ 0x17, 0x27, 0xDF, 0x7A, 0x3C, 0xDF, 0x88, 0xBE, // .'.z<...
13333 /* 04C8 */ 0xC3, 0x60, 0x4E, 0x58, 0x30, 0x6E, 0x58, 0xF0, // .`NX0nX.
13334 /* 04D0 */ 0x87, 0xF4, 0x30, 0xEC, 0x93, 0xC4, 0x3B, 0x96, // ..0...;.
13335 /* 04D8 */ 0x8F, 0x56, 0x06, 0x79, 0x03, 0x7E, 0xB2, 0x7A, // .V.y.~.z
13336 /* 04E0 */ 0xB0, 0x8A, 0x62, 0x84, 0x80, 0xC7, 0xF3, 0x2E, // ..b.....
13337 /* 04E8 */ 0xEC, 0xA3, 0xD5, 0x9B, 0x96, 0x51, 0x62, 0xC7, // .....Qb.
13338 /* 04F0 */ 0xF2, 0x85, 0xEA, 0x59, 0xCB, 0xD7, 0x2C, 0x43, // ...Y..,C
13339 /* 04F8 */ 0xC4, 0x7D, 0x20, 0xF6, 0x0D, 0x0B, 0xB0, 0xFD, // .} .....
13340 /* 0500 */ 0xFF, 0xBF, 0x61, 0x01, 0x8E, 0x2E, 0x0E, 0xFC, // ..a.....
13341 /* 0508 */ 0xE0, 0x80, 0xBD, 0x61, 0x01, 0x3E, 0x67, 0x0A, // ...a.>g.
13342 /* 0510 */ 0x9E, 0x1B, 0x16, 0xB0, 0xF9, 0xFF, 0xDF, 0xB0, // ........
13343 /* 0518 */ 0x00, 0xFE, 0xFF, 0xFF, 0x6F, 0x58, 0xC0, 0xE1, // ....oX..
13344 /* 0520 */ 0x76, 0x85, 0xBD, 0x65, 0x61, 0x6F, 0x2F, 0x64, // v..eao/d
13345 /* 0528 */ 0x15, 0x34, 0xD4, 0x4A, 0x14, 0xFC, 0x7B, 0x65, // .4.J..{e
13346 /* 0530 */ 0x18, 0x7A, 0xC3, 0x02, 0x1C, 0x8D, 0xDB, 0xA3, // .z......
13347 /* 0538 */ 0x06, 0xC7, 0xD9, 0xE0, 0x49, 0x02, 0x73, 0xAE, // ....I.s.
13348 /* 0540 */ 0xC6, 0xCD, 0xE6, 0xE0, 0x02, 0x47, 0xE8, 0x1D, // .....G..
13349 /* 0548 */ 0x54, 0x73, 0x67, 0x97, 0x14, 0x18, 0xB7, 0x2C, // Tsg....,
13350 /* 0550 */ 0xB8, 0x97, 0xAA, 0x87, 0x86, 0x28, 0x07, 0xF1, // .....(..
13351 /* 0558 */ 0x2A, 0xFC, 0x60, 0xF5, 0x28, 0x75, 0x64, 0x8F, // *.`.(ud.
13352 /* 0560 */ 0x57, 0x4F, 0xC3, 0x3E, 0x66, 0xF9, 0x96, 0x65, // WO.>f..e
13353 /* 0568 */ 0xA8, 0x08, 0x6F, 0x59, 0xEC, 0x0C, 0x11, 0x2F, // ..oY.../
13354 /* 0570 */ 0x56, 0x94, 0x10, 0xEF, 0x15, 0xA1, 0x7D, 0xE7, // V.....}.
13355 /* 0578 */ 0x32, 0xF8, 0xA3, 0xB1, 0x51, 0x83, 0xBE, 0x1C, // 2...Q...
13356 /* 0580 */ 0xBF, 0x65, 0xC1, 0xFB, 0xFF, 0xDF, 0xB2, 0xE0, // .e......
13357 /* 0588 */ 0x8B, 0xFC, 0xAB, 0xE8, 0x44, 0xE0, 0x5B, 0x16, // ....D.[.
13358 /* 0590 */ 0xC0, 0x8F, 0x60, 0x10, 0x72, 0x32, 0x70, 0xF4, // ..`.r2p.
13359 /* 0598 */ 0x79, 0x01, 0x3F, 0x80, 0x87, 0x11, 0x0F, 0x89, // y.?.....
13360 /* 05A0 */ 0x05, 0x18, 0x38, 0xBD, 0x2F, 0xF9, 0x4C, 0xC1, // ..8./.L.
13361 /* 05A8 */ 0x0F, 0x18, 0x3E, 0x53, 0xB0, 0xEB, 0x41, 0xF4, // ..>S..A.
13362 /* 05B0 */ 0xC7, 0x00, 0x9F, 0x4B, 0x30, 0x83, 0x03, 0xFF, // ...K0...
13363 /* 05B8 */ 0xB5, 0xE2, 0xD0, 0x3D, 0x8A, 0xD7, 0x07, 0x13, // ...=....
13364 /* 05C0 */ 0x78, 0x70, 0xFC, 0xFF, 0x3F, 0x38, 0xB8, 0x77, // xp..?8.w
13365 /* 05C8 */ 0x86, 0x23, 0xF2, 0x1D, 0xC6, 0x83, 0x03, 0xDB, // .#......
13366 /* 05D0 */ 0x41, 0x00, 0x38, 0x0C, 0x0E, 0x1F, 0x6A, 0x70, // A.8...jp
13367 /* 05D8 */ 0xE8, 0xF1, 0x18, 0x38, 0xA4, 0xCF, 0x63, 0xEC, // ...8..c.
13368 /* 05E0 */ 0xC2, 0xF0, 0x90, 0xE3, 0xA1, 0x81, 0x0D, 0xD0, // ........
13369 /* 05E8 */ 0x43, 0x03, 0x96, 0x93, 0x78, 0x0A, 0x39, 0x34, // C...x.94
13370 /* 05F0 */ 0x30, 0x4B, 0x18, 0x1A, 0x50, 0x8A, 0x37, 0x34, // 0K..P.74
13371 /* 05F8 */ 0xFA, 0xFF, 0x1F, 0x1A, 0x1F, 0x92, 0x0F, 0x0B, // ........
13372 /* 0600 */ 0x31, 0x9F, 0x72, 0x22, 0xBC, 0x2F, 0xF8, 0x04, // 1.r"./..
13373 /* 0608 */ 0xC5, 0xD0, 0x5F, 0x53, 0x7C, 0xBB, 0xF0, 0x4D, // .._S|..M
13374 /* 0610 */ 0x10, 0x37, 0x3E, 0x70, 0x5D, 0x3A, 0x3D, 0x3E, // .7>p]:=>
13375 /* 0618 */ 0xE0, 0x73, 0xE4, 0xF2, 0xF8, 0x70, 0x47, 0x27, // .s...pG'
13376 /* 0620 */ 0x8F, 0x0F, 0x86, 0xCB, 0xAB, 0x0C, 0x39, 0x9A, // ......9.
13377 /* 0628 */ 0xF8, 0x68, 0xC5, 0x86, 0x07, 0xB6, 0x9B, 0x9E, // .h......
13378 /* 0630 */ 0x87, 0x07, 0x7C, 0xAE, 0x9B, 0x60, 0xBC, 0x42, // ..|..`.B
13379 /* 0638 */ 0xF2, 0x6B, 0x09, 0x8C, 0x13, 0x14, 0xFE, 0xBA, // .k......
13380 /* 0640 */ 0x09, 0xDE, 0xFF, 0xFF, 0x75, 0x13, 0x78, 0x8E, // ....u.x.
13381 /* 0648 */ 0x82, 0x6B, 0xBD, 0x64, 0xD3, 0x20, 0xAF, 0x1C, // .k.d. ..
13382 /* 0650 */ 0xC5, 0x7A, 0x11, 0x50, 0x18, 0x9F, 0xD9, 0x00, // .z.P....
13383 /* 0658 */ 0x47, 0x63, 0x7D, 0x66, 0x03, 0xCB, 0xBD, 0x80, // Gc}f....
13384 /* 0660 */ 0xDD, 0xD8, 0xE0, 0x9E, 0xD6, 0x60, 0xDF, 0x1D, // .....`..
13385 /* 0668 */ 0x1E, 0xCE, 0x1E, 0xD3, 0x1E, 0xD5, 0x1E, 0xD0, // ........
13386 /* 0670 */ 0x7C, 0xC4, 0x8E, 0xF1, 0x96, 0x16, 0x24, 0x4E, // |.....$N
13387 /* 0678 */ 0x84, 0xD7, 0x81, 0xA7, 0x35, 0x5F, 0x32, 0xE2, // ....5_2.
13388 /* 0680 */ 0x05, 0x7A, 0x5A, 0x33, 0x46, 0x9C, 0x97, 0x36, // .zZ3F..6
13389 /* 0688 */ 0x23, 0xBE, 0x52, 0x84, 0x78, 0x58, 0xF3, 0xC9, // #.R.xX..
13390 /* 0690 */ 0xCD, 0x78, 0x0F, 0x13, 0xE1, 0xC2, 0xBC, 0xB0, // .x......
13391 /* 0698 */ 0x3D, 0xAD, 0x81, 0xE3, 0xFF, 0x7F, 0x5A, 0x83, // =.....Z.
13392 /* 06A0 */ 0x23, 0xE7, 0x8A, 0x0D, 0xD0, 0xE4, 0xA2, 0x8F, // #.......
13393 /* 06A8 */ 0x3B, 0xA4, 0x80, 0xE5, 0xDA, 0xC0, 0x6E, 0x29, // ;.....n)
13394 /* 06B0 */ 0xF0, 0x2E, 0xD8, 0xC0, 0xF9, 0xFF, 0x7F, 0x44, // .......D
13395 /* 06B8 */ 0x01, 0x5F, 0x96, 0x0B, 0x36, 0xCD, 0x71, 0xC1, // ._..6.q.
13396 /* 06C0 */ 0x46, 0x71, 0x58, 0x0D, 0x90, 0xE6, 0x09, 0xFF, // FqX.....
13397 /* 06C8 */ 0x7A, 0x0D, 0xFE, 0x49, 0xF8, 0x7A, 0x0D, 0xD8, // z..I.z..
13398 /* 06D0 */ 0xBE, 0xC5, 0xE2, 0xAE, 0xD7, 0xC0, 0xEA, 0xFF, // ........
13399 /* 06D8 */ 0x7F, 0xBD, 0x06, 0x96, 0x82, 0x47, 0x4A, 0xEF, // .....GJ.
13400 /* 06E0 */ 0xD4, 0xE0, 0xBA, 0x69, 0xE3, 0x41, 0xDF, 0xB4, // ...i.A..
13401 /* 06E8 */ 0x61, 0x0A, 0xBE, 0x45, 0xD1, 0x28, 0xE4, 0x8A, // a..E.(..
13402 /* 06F0 */ 0xB6, 0x10, 0x0A, 0xE3, 0x5B, 0x14, 0xE0, 0x08, // ....[...
13403 /* 06F8 */ 0xFB, 0x2D, 0x0A, 0x2C, 0x17, 0xA7, 0xB7, 0x28, // .-.,...(
13404 /* 0700 */ 0xFC, 0x0C, 0x3C, 0x68, 0xDF, 0x75, 0x18, 0xA6, // ..<h.u..
13405 /* 0708 */ 0xEF, 0xD0, 0xF0, 0x4F, 0x4D, 0xCF, 0x4D, 0x0F, // ...OM.M.
13406 /* 0710 */ 0x4E, 0x0F, 0xCD, 0x3E, 0x48, 0xF9, 0x70, 0xF0, // N..>H.p.
13407 /* 0718 */ 0xFC, 0xF4, 0xFF, 0x8F, 0xF1, 0x5E, 0xE7, 0x9B, // .....^..
13408 /* 0720 */ 0xD4, 0x6B, 0x94, 0x2F, 0x30, 0xC7, 0x10, 0x31, // .k./0..1
13409 /* 0728 */ 0xCA, 0xCB, 0xB4, 0x21, 0xE2, 0xF9, 0xD4, 0xE4, // ...!....
13410 /* 0730 */ 0xB3, 0x42, 0xDC, 0x10, 0x0F, 0xD1, 0x46, 0x88, // .B....F.
13411 /* 0738 */ 0xFA, 0x3C, 0xED, 0x09, 0xBD, 0x46, 0x81, 0x57, // .<...F.W
13412 /* 0740 */ 0xD0, 0x35, 0x0A, 0xA0, 0xC9, 0xFD, 0x08, 0x77, // .5.....w
13413 /* 0748 */ 0x8D, 0x02, 0xCB, 0xBD, 0x81, 0x9D, 0x87, 0xF8, // ........
13414 /* 0750 */ 0x95, 0xC8, 0xD7, 0x06, 0x18, 0xF7, 0x28, 0x38, // ......(8
13415 /* 0758 */ 0xFF, 0xFF, 0x7B, 0x14, 0x60, 0x23, 0xCC, 0x3D, // ..{.`#.=
13416 /* 0760 */ 0x8A, 0x06, 0xB9, 0x47, 0xA1, 0x4E, 0x26, 0xBE, // ...G.N&.
13417 /* 0768 */ 0xD4, 0x79, 0xA2, 0xE0, 0x08, 0x7F, 0x91, 0x42, // .y.....B
13418 /* 0770 */ 0xC5, 0x26, 0x51, 0xE8, 0xC3, 0x10, 0x2A, 0xE6, // .&Q...*.
13419 /* 0778 */ 0x61, 0x84, 0x82, 0x18, 0xD0, 0x19, 0x4E, 0x14, // a.....N.
13420 /* 0780 */ 0x68, 0x15, 0x27, 0x0A, 0x72, 0x8B, 0xF1, 0xA4, // h.'.r...
13421 /* 0788 */ 0x1E, 0xA3, 0x00, 0x5F, 0xCB, 0xF4, 0x50, 0x79, // ..._..Py
13422 /* 0790 */ 0xE4, 0xA1, 0x52, 0x10, 0x0F, 0xD5, 0x71, 0x86, // ..R...q.
13423 /* 0798 */ 0x8A, 0x9E, 0xA4, 0xE7, 0x8F, 0xF9, 0xFF, 0x1F, // ........
13424 /* 07A0 */ 0x1C, 0xB0, 0x07, 0x29, 0x80, 0x17, 0x0A, 0x6D, // ...)...m
13425 /* 07A8 */ 0xFA, 0xD4, 0x68, 0xD4, 0xAA, 0x41, 0x99, 0x1A, // ..h..A..
13426 /* 07B0 */ 0x65, 0x1A, 0xD4, 0xEA, 0x53, 0xA9, 0x31, 0x63, // e...S.1c
13427 /* 07B8 */ 0xE7, 0x50, 0x4B, 0x3B, 0x4B, 0x50, 0x31, 0x8B, // .PK;KP1.
13428 /* 07C0 */ 0xD1, 0x68, 0x1C, 0x05, 0x84, 0xCA, 0xFE, 0x9B, // .h......
13429 /* 07C8 */ 0x0B, 0xC4, 0x21, 0x9F, 0x3A, 0x02, 0x74, 0xB0, // ..!.:.t.
13430 /* 07D0 */ 0x17, 0x95, 0x80, 0x2C, 0x6B, 0x6D, 0x02, 0x71, // ...,km.q
13431 /* 07D8 */ 0x7C, 0x13, 0x10, 0x8D, 0x80, 0x48, 0xCB, 0x63, // |....H.c
13432 /* 07E0 */ 0x42, 0x40, 0xCE, 0x0D, 0x22, 0x20, 0xAB, 0x58, // B@.." .X
13433 /* 07E8 */ 0x93, 0x80, 0xAC, 0xF9, 0x01, 0x23, 0x70, 0xEB, // .....#p.
13434 /* 07F0 */ 0xD4, 0x01, 0xC4, 0x52, 0x82, 0xD0, 0x44, 0x0B, // ...R..D.
13435 /* 07F8 */ 0x17, 0xA8, 0xE3, 0x81, 0x68, 0x30, 0x84, 0x46, // ....h0.F
13436 /* 0800 */ 0x40, 0x0E, 0x46, 0x21, 0x20, 0xCB, 0xF8, 0x74, // @.F! ..t
13437 /* 0808 */ 0x0B, 0xDC, 0x02, 0xAC, 0x00, 0x31, 0xF9, 0x20, // .....1.
13438 /* 0810 */ 0x54, 0xB0, 0x17, 0x50, 0xA6, 0x1E, 0x44, 0x40, // T..P..D@
13439 /* 0818 */ 0x56, 0xBA, 0x56, 0x01, 0x59, 0x37, 0x88, 0x80, // V.V.Y7..
13440 /* 0820 */ 0xFE, 0xFF, 0x2F, 0x83, 0x32, 0x03, 0xCE, 0x32, // ../.2..2
13441 /* 0828 */ 0xBA, 0x01, 0x62, 0x0A, 0x1F, 0x0A, 0x02, 0xB1, // ..b.....
13442 /* 0830 */ 0x26, 0x3D, 0xA0, 0x4C, 0x20, 0x88, 0xAE, 0x1C, // &=.L ...
13443 /* 0838 */ 0xC4, 0x0F, 0x10, 0x93, 0x06, 0x22, 0x20, 0xC7, // ....." .
13444 /* 0840 */ 0x39, 0x98, 0x08, 0xDC, 0x71, 0x14, 0x01, 0x52, // 9...q..R
13445 /* 0848 */ 0x47, 0xC3, 0xA5, 0x20, 0x54, 0xFC, 0xF3, 0x44, // G.. T..D
13446 /* 0850 */ 0x20, 0x16, 0x64, 0x09, 0x8C, 0x82, 0xD0, 0x08, // .d.....
13447 /* 0858 */ 0x9A, 0x40, 0x98, 0x3C, 0x4F, 0x20, 0x2C, 0xD4, // .@.<O ,.
13448 /* 0860 */ 0x9F, 0x5C, 0xA7, 0x15, 0xA2, 0x6A, 0x88, 0xD4, // .\...j..
13449 /* 0868 */ 0x15, 0x08, 0x0B, 0xFC, 0x30, 0xD0, 0x60, 0x9C, // ....0.`.
13450 /* 0870 */ 0x1E, 0x44, 0x40, 0x4E, 0xFA, 0xA7, 0x0A, 0x44, // .D@N...D
13451 /* 0878 */ 0x72, 0x83, 0x08, 0xC8, 0xF9, 0x9F, 0x22, 0x02, // r.....".
13452 /* 0880 */ 0x77, 0xEA, 0xD7, 0x84, 0x86, 0x4F, 0xBE, 0x58, // w....O.X
13453 /* 0888 */ 0x41, 0x88, 0xB8, 0x87, 0x55, 0x50, 0xA2, 0x14, // A...UP..
13454 /* 0890 */ 0x44, 0x40, 0x56, 0xF6, 0xB4, 0x12, 0x90, 0x75, // D@V....u
13455 /* 0898 */ 0x82, 0x08, 0xC8, 0xFF, 0x7F // .....
13456 })
13457 }
13458
13459 Device (WMI2)
13460 {
13461 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
13462 Name (_UID, 0x02) // _UID: Unique ID
13463 Name (_WDG, Buffer (0x64)
13464 {
13465 /* 0000 */ 0xF1, 0x24, 0xB4, 0xFC, 0x5A, 0x07, 0x0E, 0x4E, // .$..Z..N
13466 /* 0008 */ 0xBF, 0xC4, 0x62, 0xF3, 0xE7, 0x17, 0x71, 0xFA, // ..b...q.
13467 /* 0010 */ 0x41, 0x37, 0x01, 0x01, 0xE3, 0x5E, 0xBE, 0xE2, // A7...^..
13468 /* 0018 */ 0xDA, 0x42, 0xDB, 0x49, 0x83, 0x78, 0x1F, 0x52, // .B.I.x.R
13469 /* 0020 */ 0x47, 0x38, 0x82, 0x02, 0x41, 0x38, 0x01, 0x02, // G8..A8..
13470 /* 0028 */ 0x9A, 0x01, 0x30, 0x74, 0xE9, 0xDC, 0x48, 0x45, // ..0t..HE
13471 /* 0030 */ 0xBA, 0xB0, 0x9F, 0xDE, 0x09, 0x35, 0xCA, 0xFF, // .....5..
13472 /* 0038 */ 0x41, 0x39, 0x0A, 0x05, 0x03, 0x70, 0xF4, 0x7F, // A9...p..
13473 /* 0040 */ 0x6C, 0x3B, 0x5E, 0x4E, 0xA2, 0x27, 0xE9, 0x79, // l;^N.'.y
13474 /* 0048 */ 0x82, 0x4A, 0x85, 0xD1, 0x41, 0x41, 0x01, 0x06, // .J..AA..
13475 /* 0050 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, // !...f...
13476 /* 0058 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, // ......).
13477 /* 0060 */ 0x42, 0x42, 0x01, 0x00 // BB..
13478 })
13479 Name (PREL, Buffer (0x08)
13480 {
13481 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
13482 })
13483 Method (WQA7, 1, NotSerialized)
13484 {
13485 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13486 \WMIS (0x07, 0x00)
13487 PREL [0x00] = \WLS0
13488 PREL [0x01] = \WLS1
13489 PREL [0x02] = \WLS2
13490 PREL [0x03] = \WLS3
13491 PREL [0x04] = \WLS4
13492 PREL [0x05] = \WLS5
13493 PREL [0x06] = \WLS6
13494 PREL [0x07] = \WLS7
13495 Release (\_SB.WMI1.MWMI)
13496 Return (PREL) /* \_SB_.WMI2.PREL */
13497 }
13498
13499 Method (WMA8, 3, NotSerialized)
13500 {
13501 CreateByteField (Arg2, 0x00, PRE0)
13502 CreateByteField (Arg2, 0x01, PRE1)
13503 CreateByteField (Arg2, 0x02, PRE2)
13504 CreateByteField (Arg2, 0x03, PRE3)
13505 CreateByteField (Arg2, 0x04, PRE4)
13506 CreateByteField (Arg2, 0x05, PRE5)
13507 CreateByteField (Arg2, 0x06, PRE6)
13508 CreateByteField (Arg2, 0x07, PRE7)
13509 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13510 \WLS0 = PRE0 /* \_SB_.WMI2.WMA8.PRE0 */
13511 \WLS1 = PRE1 /* \_SB_.WMI2.WMA8.PRE1 */
13512 \WLS2 = PRE2 /* \_SB_.WMI2.WMA8.PRE2 */
13513 \WLS3 = PRE3 /* \_SB_.WMI2.WMA8.PRE3 */
13514 \WLS4 = PRE4 /* \_SB_.WMI2.WMA8.PRE4 */
13515 \WLS5 = PRE5 /* \_SB_.WMI2.WMA8.PRE5 */
13516 \WLS6 = PRE6 /* \_SB_.WMI2.WMA8.PRE6 */
13517 \WLS7 = PRE7 /* \_SB_.WMI2.WMA8.PRE7 */
13518 \WMIS (0x08, 0x00)
13519 Release (\_SB.WMI1.MWMI)
13520 }
13521
13522 Name (ITEM, Package (0x05)
13523 {
13524 Package (0x02)
13525 {
13526 0x00,
13527 "InhibitEnteringThinkPadSetup"
13528 },
13529
13530 Package (0x02)
13531 {
13532 0x00,
13533 "MTMSerialConcatenation"
13534 },
13535
13536 Package (0x02)
13537 {
13538 0x00,
13539 "SwapProductName"
13540 },
13541
13542 Package (0x02)
13543 {
13544 0x00,
13545 "ComputraceMsgDisable"
13546 },
13547
13548 Package (0x02)
13549 {
13550 0x00,
13551 "AtpMsgDisable"
13552 }
13553 })
13554 Name (VSEL, Package (0x02)
13555 {
13556 Package (0x02)
13557 {
13558 "Disable",
13559 "Enable"
13560 },
13561
13562 Package (0x02)
13563 {
13564 "Off",
13565 "On"
13566 }
13567 })
13568 Method (WQA9, 1, NotSerialized)
13569 {
13570 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13571 If ((\WMIS (0x09, Arg0) != 0x00))
13572 {
13573 Release (\_SB.WMI1.MWMI)
13574 Return ("")
13575 }
13576
13577 Local0 = DerefOf (ITEM [\WITM])
13578 Local1 = DerefOf (Local0 [0x00])
13579 Local2 = DerefOf (Local0 [0x01])
13580 Concatenate (Local2, ",", Local6)
13581 Local3 = DerefOf (VSEL [Local1])
13582 Concatenate (Local6, DerefOf (Local3 [\WSEL]), Local7)
13583 Release (\_SB.WMI1.MWMI)
13584 Return (Local7)
13585 }
13586
13587 Method (WMAA, 3, NotSerialized)
13588 {
13589 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13590 If ((SizeOf (Arg2) == 0x00))
13591 {
13592 Local0 = 0x02
13593 }
13594 Else
13595 {
13596 Local0 = \_SB.WMI1.CARG (Arg2)
13597 If ((Local0 == 0x00))
13598 {
13599 Local0 = \_SB.WMI1.WSET (ITEM, VSEL)
13600 If ((Local0 == 0x00))
13601 {
13602 Local0 = \WMIS (0x0A, 0x00)
13603 }
13604 }
13605 }
13606
13607 Release (\_SB.WMI1.MWMI)
13608 Return (DerefOf (\_SB.WMI1.RETN [Local0]))
13609 }
13610
13611 Name (WQBB, Buffer (0x0538)
13612 {
13613 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
13614 /* 0008 */ 0x28, 0x05, 0x00, 0x00, 0xAE, 0x18, 0x00, 0x00, // (.......
13615 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
13616 /* 0018 */ 0x98, 0xDE, 0x8B, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
13617 /* 0020 */ 0x10, 0x0D, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B, // .....!..
13618 /* 0028 */ 0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PP...EA
13619 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
13620 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
13621 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
13622 /* 0048 */ 0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84, // 1...@H(.
13623 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._
13624 /* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0, // .....)..
13625 /* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00, // ..."....
13626 /* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4, // ..|...!.
13627 /* 0070 */ 0xC8, 0x95, 0x0A, 0xB0, 0x08, 0x25, 0x9F, 0x80, // .....%..
13628 /* 0078 */ 0x92, 0x88, 0x22, 0xD9, 0x78, 0xB2, 0x8D, 0x48, // ..".x..H
13629 /* 0080 */ 0xE6, 0x61, 0x91, 0x83, 0x40, 0x89, 0x19, 0x04, // .a..@...
13630 /* 0088 */ 0x4A, 0x27, 0xAE, 0x6C, 0xE2, 0x6A, 0x10, 0x07, // J'.l.j..
13631 /* 0090 */ 0x10, 0xE5, 0x3C, 0xA2, 0x24, 0x38, 0xAA, 0x83, // ..<.$8..
13632 /* 0098 */ 0x88, 0x10, 0xBB, 0x5C, 0x01, 0x92, 0x07, 0x20, // ...\...
13633 /* 00A0 */ 0xCD, 0x13, 0x93, 0xF5, 0x39, 0x68, 0x64, 0x6C, // ....9hdl
13634 /* 00A8 */ 0x04, 0x3C, 0x98, 0x04, 0x10, 0x16, 0x65, 0x9D, // .<....e.
13635 /* 00B0 */ 0x8A, 0x02, 0x83, 0xF2, 0x00, 0x22, 0x39, 0x63, // ....."9c
13636 /* 00B8 */ 0x45, 0x01, 0xDB, 0xEB, 0x44, 0x64, 0x72, 0xA0, // E...Ddr.
13637 /* 00C0 */ 0x54, 0x12, 0x1C, 0x6A, 0x98, 0x9E, 0x5A, 0xF3, // T..j..Z.
13638 /* 00C8 */ 0x13, 0xD3, 0x44, 0x4E, 0xAD, 0xE9, 0x21, 0x0B, // ..DN..!.
13639 /* 00D0 */ 0x92, 0x49, 0x1B, 0x0A, 0x6A, 0xEC, 0x9E, 0xD6, // .I..j...
13640 /* 00D8 */ 0x49, 0x79, 0xA6, 0x11, 0x0F, 0xCA, 0x30, 0x09, // Iy....0.
13641 /* 00E0 */ 0x3C, 0x0A, 0x86, 0xC6, 0x09, 0xCA, 0x82, 0x90, // <.......
13642 /* 00E8 */ 0x83, 0x81, 0xA2, 0x00, 0x4F, 0xC2, 0x73, 0x2C, // ....O.s,
13643 /* 00F0 */ 0x5E, 0x80, 0xF0, 0x11, 0x93, 0xB3, 0x40, 0x8C, // ^.....@.
13644 /* 00F8 */ 0x04, 0x3E, 0x13, 0x78, 0xE4, 0xC7, 0x8C, 0x1D, // .>.x....
13645 /* 0100 */ 0x51, 0xB8, 0x80, 0xE7, 0x73, 0x0C, 0x91, 0xE3, // Q...s...
13646 /* 0108 */ 0x1E, 0x6A, 0x8C, 0xA3, 0x88, 0x7C, 0x38, 0x0C, // .j...|8.
13647 /* 0110 */ 0xED, 0x74, 0xE3, 0x1C, 0xD8, 0xE9, 0x14, 0x04, // .t......
13648 /* 0118 */ 0x2E, 0x90, 0x60, 0x3D, 0xCF, 0x59, 0x20, 0xFF, // ..`=.Y .
13649 /* 0120 */ 0xFF, 0x18, 0x07, 0xC1, 0xF0, 0x8E, 0x01, 0x23, // .......#
13650 /* 0128 */ 0x03, 0x42, 0x1E, 0x05, 0x58, 0x1D, 0x96, 0x26, // .B..X..&
13651 /* 0130 */ 0x91, 0xC0, 0xEE, 0x05, 0x68, 0xBC, 0x04, 0x48, // ....h..H
13652 /* 0138 */ 0xE1, 0x20, 0xA5, 0x0C, 0x42, 0x30, 0x8D, 0x09, // . ..B0..
13653 /* 0140 */ 0xB0, 0x75, 0x68, 0x90, 0x37, 0x01, 0xD6, 0xAE, // .uh.7...
13654 /* 0148 */ 0x02, 0x42, 0x89, 0x74, 0x02, 0x71, 0x42, 0x44, // .B.t.qBD
13655 /* 0150 */ 0x89, 0x18, 0xD4, 0x40, 0x51, 0x6A, 0x43, 0x15, // ...@QjC.
13656 /* 0158 */ 0x4C, 0x67, 0xC3, 0x13, 0x66, 0xDC, 0x10, 0x31, // Lg..f..1
13657 /* 0160 */ 0x0C, 0x14, 0xB7, 0xFD, 0x41, 0x90, 0x61, 0xE3, // ....A.a.
13658 /* 0168 */ 0xC6, 0xEF, 0x41, 0x9D, 0xD6, 0xD9, 0x1D, 0xD3, // ..A.....
13659 /* 0170 */ 0xAB, 0x82, 0x09, 0x3C, 0xE9, 0x37, 0x84, 0xA7, // ...<.7..
13660 /* 0178 */ 0x83, 0xA3, 0x38, 0xDA, 0xA8, 0x31, 0x9A, 0x23, // ..8..1.#
13661 /* 0180 */ 0x65, 0xAB, 0xD6, 0xB9, 0xC2, 0x91, 0xE0, 0x51, // e......Q
13662 /* 0188 */ 0xE7, 0x05, 0x9F, 0x0C, 0x3C, 0xB4, 0xC3, 0xF6, // ....<...
13663 /* 0190 */ 0x60, 0xCF, 0xD2, 0x43, 0x38, 0x82, 0x67, 0x86, // `..C8.g.
13664 /* 0198 */ 0x47, 0x02, 0x8F, 0x81, 0xDD, 0x15, 0x7C, 0x08, // G.....|.
13665 /* 01A0 */ 0xF0, 0x19, 0x01, 0xEF, 0x1A, 0x50, 0x97, 0x83, // .....P..
13666 /* 01A8 */ 0x47, 0x03, 0x36, 0xE9, 0x70, 0x98, 0xF1, 0x7A, // G.6.p..z
13667 /* 01B0 */ 0xEE, 0x9E, 0xBA, 0xCF, 0x18, 0xFC, 0xBC, 0xE1, // ........
13668 /* 01B8 */ 0xC1, 0xE1, 0x46, 0x7A, 0x32, 0x47, 0x56, 0xAA, // ..Fz2GV.
13669 /* 01C0 */ 0x00, 0xB3, 0xD7, 0x00, 0x1D, 0x25, 0x7C, 0xE0, // .....%|.
13670 /* 01C8 */ 0x60, 0x77, 0x81, 0xA7, 0x00, 0x13, 0x58, 0xFE, // `w....X.
13671 /* 01D0 */ 0x20, 0x50, 0x23, 0x33, 0xB4, 0xC7, 0xFB, 0xDE, // P#3....
13672 /* 01D8 */ 0x61, 0xC8, 0x27, 0x85, 0xC3, 0x62, 0x62, 0x0F, // a.'..bb.
13673 /* 01E0 */ 0x1E, 0x74, 0x3C, 0xE0, 0xBF, 0x8F, 0x3C, 0x69, // .t<...<i
13674 /* 01E8 */ 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0x06, 0x86, 0x90, // x.......
13675 /* 01F0 */ 0x95, 0xF1, 0xA0, 0x06, 0x62, 0xE8, 0x57, 0x85, // ....b.W.
13676 /* 01F8 */ 0xC3, 0x38, 0x0D, 0x9F, 0x40, 0x7C, 0x0E, 0x08, // .8..@|..
13677 /* 0200 */ 0x12, 0xE3, 0x98, 0x3C, 0x38, 0xFF, 0xFF, 0x09, // ...<8...
13678 /* 0208 */ 0x1C, 0x6B, 0xE4, 0xF4, 0x9C, 0xE2, 0xF3, 0x04, // .k......
13679 /* 0210 */ 0x3F, 0x5C, 0xF8, 0x3C, 0xC1, 0x4E, 0x0C, 0xA7, // ?\.<.N..
13680 /* 0218 */ 0xF1, 0x1C, 0xE0, 0xE1, 0x9C, 0x95, 0x8F, 0x13, // ........
13681 /* 0220 */ 0xC0, 0x02, 0xE2, 0x75, 0x82, 0x0F, 0x14, 0x3E, // ...u...>
13682 /* 0228 */ 0xEC, 0xA1, 0x79, 0x14, 0x2F, 0x11, 0x6F, 0x0F, // ..y./.o.
13683 /* 0230 */ 0x26, 0x88, 0xF6, 0x10, 0x03, 0xC6, 0x19, 0xE1, // &.......
13684 /* 0238 */ 0xCE, 0x1B, 0x70, 0x4E, 0x31, 0xC0, 0x03, 0xEA, // ..pN1...
13685 /* 0240 */ 0x10, 0x30, 0x87, 0x09, 0x0F, 0x81, 0x0F, 0xE0, // .0......
13686 /* 0248 */ 0x19, 0xE4, 0x1C, 0x7D, 0xCC, 0x39, 0x33, 0xDC, // ...}.93.
13687 /* 0250 */ 0x71, 0x07, 0x6C, 0xC3, 0xE0, 0x91, 0x2D, 0x80, // q.l...-.
13688 /* 0258 */ 0xB0, 0x38, 0x4F, 0x02, 0x05, 0x7C, 0x1B, 0x50, // .8O..|.P
13689 /* 0260 */ 0x18, 0x1F, 0x6E, 0xC0, 0xFB, 0xFF, 0x3F, 0xDC, // ..n...?.
13690 /* 0268 */ 0x00, 0xD7, 0xF3, 0x01, 0xEE, 0xF8, 0x00, 0xF7, // ........
13691 /* 0270 */ 0x62, 0xC1, 0x0E, 0x0F, 0x8F, 0x37, 0xC0, 0x60, // b....7.`
13692 /* 0278 */ 0x48, 0x8F, 0x34, 0x6F, 0x35, 0x31, 0x5E, 0x6D, // H.4o51^m
13693 /* 0280 */ 0x42, 0x44, 0x78, 0xA8, 0x79, 0xB7, 0x31, 0x52, // BDx.y.1R
13694 /* 0288 */ 0xBC, 0xC7, 0x1B, 0x76, 0x8D, 0x39, 0x8B, 0x07, // ...v.9..
13695 /* 0290 */ 0x90, 0x28, 0xC5, 0xA1, 0xE9, 0x62, 0x13, 0x23, // .(...b.#
13696 /* 0298 */ 0xCA, 0x9B, 0x8D, 0x61, 0xDF, 0x74, 0x0C, 0x14, // ...a.t..
13697 /* 02A0 */ 0x2A, 0x52, 0x84, 0x30, 0x2F, 0x16, 0x21, 0x1E, // *R.0/.!.
13698 /* 02A8 */ 0x6F, 0xC0, 0x2C, 0xE9, 0xA5, 0xA2, 0xCF, 0x81, // o.,.....
13699 /* 02B0 */ 0x8F, 0x37, 0x80, 0x97, 0xFF, 0xFF, 0xF1, 0x06, // .7......
13700 /* 02B8 */ 0xF0, 0x30, 0x0C, 0x1F, 0x53, 0xC0, 0x76, 0x73, // .0..S.vs
13701 /* 02C0 */ 0x60, 0xF7, 0x14, 0xF8, 0xE7, 0x14, 0xC0, 0x91, // `.......
13702 /* 02C8 */ 0x90, 0x47, 0x80, 0x0E, 0x1E, 0x16, 0x01, 0x22, // .G....."
13703 /* 02D0 */ 0x1B, 0xCF, 0x00, 0x9F, 0x89, 0xA8, 0x40, 0x2A, // ......@*
13704 /* 02D8 */ 0xCD, 0x14, 0x2C, 0xE3, 0x14, 0xAC, 0x4E, 0x88, // ..,...N.
13705 /* 02E0 */ 0x5C, 0x06, 0x85, 0x44, 0x40, 0x68, 0x64, 0x86, // \..D@hd.
13706 /* 02E8 */ 0xF3, 0x21, 0xD1, 0x60, 0x06, 0xF1, 0xF9, 0xC0, // .!.`....
13707 /* 02F0 */ 0x67, 0x0A, 0x9F, 0x9C, 0xF8, 0xFF, 0xFF, 0xE4, // g.......
13708 /* 02F8 */ 0x04, 0x9E, 0x83, 0xC9, 0x43, 0x05, 0x2C, 0x44, // ....C.,D
13709 /* 0300 */ 0x9F, 0x16, 0x38, 0x9C, 0xCF, 0x2C, 0x1C, 0xCE, // ..8..,..
13710 /* 0308 */ 0x47, 0x12, 0x7E, 0x80, 0xE4, 0x47, 0x25, 0x70, // G.~..G%p
13711 /* 0310 */ 0x09, 0x3C, 0x34, 0x80, 0x02, 0xC8, 0xF7, 0x03, // .<4.....
13712 /* 0318 */ 0x9F, 0x03, 0x9E, 0x11, 0xD8, 0x1C, 0x1E, 0x09, // ........
13713 /* 0320 */ 0x7C, 0x20, 0x60, 0xF0, 0x3C, 0xDA, 0xA8, 0xE8, // | `.<...
13714 /* 0328 */ 0xD1, 0xC6, 0xC3, 0xE3, 0x47, 0x06, 0xCF, 0xE7, // ....G...
13715 /* 0330 */ 0x81, 0xE0, 0x28, 0x1F, 0x09, 0x70, 0x18, 0xEF, // ..(..p..
13716 /* 0338 */ 0x17, 0x1E, 0xA2, 0x4F, 0x39, 0xB0, 0x26, 0x72, // ...O9.&r
13717 /* 0340 */ 0xD4, 0x16, 0x7D, 0x22, 0x10, 0xE8, 0x33, 0x17, // ..}"..3.
13718 /* 0348 */ 0xE6, 0x94, 0x03, 0x9C, 0x82, 0x8F, 0x1E, 0x15, // ........
13719 /* 0350 */ 0xF5, 0x40, 0x0A, 0xDA, 0x93, 0x82, 0xCF, 0x0A, // .@......
13720 /* 0358 */ 0x3E, 0x7C, 0xC1, 0xFF, 0xFF, 0x1F, 0xBE, 0xE0, // >|......
13721 /* 0360 */ 0xCC, 0xEB, 0x65, 0xCD, 0x07, 0x8E, 0x38, 0x67, // ..e...8g
13722 /* 0368 */ 0x71, 0xBA, 0xEF, 0x16, 0xF8, 0x13, 0x29, 0x30, // q.....)0
13723 /* 0370 */ 0x0B, 0x72, 0x22, 0x45, 0xC1, 0xF8, 0x44, 0x0A, // .r"E..D.
13724 /* 0378 */ 0xD8, 0xBC, 0x05, 0x60, 0xAF, 0x0B, 0x4F, 0x22, // ...`..O"
13725 /* 0380 */ 0x30, 0xCE, 0x11, 0xCF, 0x58, 0x30, 0x0F, 0x55, // 0...X0.U
13726 /* 0388 */ 0xA7, 0xF8, 0x52, 0xF5, 0xC6, 0x10, 0xE1, 0xC9, // ..R.....
13727 /* 0390 */ 0xEA, 0x35, 0xEA, 0x01, 0xCB, 0x60, 0x2F, 0x02, // .5...`/.
13728 /* 0398 */ 0x86, 0x79, 0xC5, 0xF2, 0xE9, 0x2A, 0xC4, 0x03, // .y...*..
13729 /* 03A0 */ 0x96, 0xCF, 0x5A, 0xD1, 0x42, 0x84, 0x8C, 0x12, // ..Z.B...
13730 /* 03A8 */ 0xEC, 0x15, 0xEB, 0x55, 0xC6, 0x47, 0x2A, 0x83, // ...U.G*.
13731 /* 03B0 */ 0x07, 0x0C, 0x1B, 0x2D, 0x52, 0x84, 0x47, 0x2C, // ...-R.G,
13732 /* 03B8 */ 0xFC, 0xFF, 0xFF, 0x88, 0x05, 0x1E, 0x09, 0x07, // ........
13733 /* 03C0 */ 0x52, 0x80, 0x2A, 0x03, 0xC7, 0x1D, 0x48, 0x81, // R.*...H.
13734 /* 03C8 */ 0xFD, 0x69, 0x02, 0x7F, 0xBD, 0xF0, 0x78, 0xB0, // .i....x.
13735 /* 03D0 */ 0xFF, 0xFF, 0x73, 0x00, 0xF8, 0x0E, 0x31, 0xC0, // ..s...1.
13736 /* 03D8 */ 0x60, 0xC0, 0x30, 0x0E, 0x31, 0xC0, 0x43, 0xF0, // `.0.1.C.
13737 /* 03E0 */ 0xC9, 0x0C, 0xF4, 0xC7, 0x1D, 0xF8, 0xE3, 0xE0, // ........
13738 /* 03E8 */ 0x19, 0x9F, 0x1C, 0x26, 0x50, 0x98, 0x13, 0x29, // ...&P..)
13739 /* 03F0 */ 0x0A, 0xC6, 0x27, 0x52, 0xC0, 0xD9, 0xFF, 0xFF, // ..'R....
13740 /* 03F8 */ 0x70, 0x05, 0x86, 0xE3, 0x0D, 0xF8, 0x6F, 0x33, // p.....o3
13741 /* 0400 */ 0x3E, 0x84, 0xFA, 0x7C, 0xE3, 0x0B, 0xA9, 0x21, // >..|...!
13742 /* 0408 */ 0x5E, 0x6C, 0xDE, 0xD4, 0x5E, 0x09, 0x5E, 0xDF, // ^l..^.^.
13743 /* 0410 */ 0xD9, 0xB5, 0xE6, 0xF5, 0xDD, 0xA7, 0x82, 0x27, // .......'
13744 /* 0418 */ 0xD1, 0x08, 0x21, 0xA3, 0xBC, 0xE4, 0x18, 0x24, // ..!....$
13745 /* 0420 */ 0xC4, 0xEB, 0xA8, 0x01, 0x83, 0x05, 0x89, 0x78, // .......x
13746 /* 0428 */ 0x0A, 0x4F, 0x3B, 0x8F, 0x37, 0xE0, 0x15, 0x75, // .O;.7..u
13747 /* 0430 */ 0x20, 0x05, 0xE8, 0xF1, 0xFF, 0x3F, 0x90, 0x02, // ....?..
13748 /* 0438 */ 0x83, 0x7B, 0x0A, 0xEC, 0x73, 0x0A, 0xE0, 0x29, // .{..s..)
13749 /* 0440 */ 0xF9, 0x89, 0x94, 0xA6, 0x3E, 0x91, 0xA2, 0x15, // ....>...
13750 /* 0448 */ 0x01, 0x69, 0xAA, 0x60, 0x21, 0x98, 0xFE, 0x44, // .i.`!..D
13751 /* 0450 */ 0x4A, 0x0F, 0x06, 0xCE, 0x4D, 0xA2, 0xE4, 0x43, // J...M..C
13752 /* 0458 */ 0xA3, 0x70, 0xCE, 0x7A, 0x20, 0xA1, 0x20, 0x06, // .p.z . .
13753 /* 0460 */ 0x74, 0x90, 0x43, 0x05, 0xFA, 0xAC, 0xE2, 0x03, // t.C.....
13754 /* 0468 */ 0xC9, 0x81, 0x3C, 0x22, 0x7A, 0x58, 0x3E, 0x54, // ..<"zX>T
13755 /* 0470 */ 0xFA, 0xAE, 0xE2, 0x73, 0x88, 0x8F, 0x14, 0x1E, // ...s....
13756 /* 0478 */ 0xBF, 0x0F, 0x0B, 0xFC, 0x3F, 0xE3, 0xE3, 0x28, // ....?..(
13757 /* 0480 */ 0x03, 0xAF, 0xE6, 0xBC, 0x82, 0x02, 0xF3, 0x69, // .......i
13758 /* 0488 */ 0x14, 0xA3, 0xEB, 0x3E, 0x01, 0x92, 0xFF, 0xFF, // ...>....
13759 /* 0490 */ 0xFC, 0xB8, 0xBE, 0xC3, 0x28, 0xC8, 0xD1, 0x79, // ....(..y
13760 /* 0498 */ 0xF8, 0xC9, 0xA2, 0xE2, 0x4E, 0x96, 0x82, 0x78, // ....N..x
13761 /* 04A0 */ 0xB2, 0x8E, 0x32, 0x59, 0xF4, 0x4C, 0x7C, 0xBB, // ..2Y.L|.
13762 /* 04A8 */ 0xF0, 0x8C, 0xDE, 0xBB, 0x7C, 0x83, 0x65, 0x37, // ....|.e7
13763 /* 04B0 */ 0x59, 0x78, 0x97, 0x81, 0x90, 0x8F, 0x06, 0xBE, // Yx......
13764 /* 04B8 */ 0xC9, 0xC2, 0x1D, 0x8B, 0x2F, 0x23, 0xE0, 0xBB, // ..../#..
13765 /* 04C0 */ 0xC9, 0x02, 0x5E, 0x47, 0xE3, 0xB3, 0x05, 0x3B, // ..^G...;
13766 /* 04C8 */ 0x85, 0xF8, 0xBA, 0x06, 0x4B, 0xA1, 0x4D, 0x9F, // ....K.M.
13767 /* 04D0 */ 0x1A, 0x8D, 0x5A, 0xFD, 0xFF, 0x1B, 0x94, 0xA9, // ..Z.....
13768 /* 04D8 */ 0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33, // Q.A.>..3
13769 /* 04E0 */ 0x76, 0xA1, 0xB0, 0xB8, 0x0B, 0x06, 0x95, 0xB4, // v.......
13770 /* 04E8 */ 0x2C, 0x8D, 0xCB, 0x81, 0x40, 0x68, 0x80, 0x5B, // ,...@h.[
13771 /* 04F0 */ 0xA9, 0x40, 0x1C, 0xFA, 0x0B, 0xA4, 0x53, 0x02, // .@....S.
13772 /* 04F8 */ 0xF9, 0x6A, 0x09, 0xC8, 0x62, 0x57, 0x25, 0x10, // .j..bW%.
13773 /* 0500 */ 0xCB, 0x54, 0x01, 0xD1, 0xC8, 0xDD, 0xC2, 0x20, // .T.....
13774 /* 0508 */ 0x02, 0x72, 0xBC, 0x4F, 0x8D, 0x40, 0x1D, 0x49, // .r.O.@.I
13775 /* 0510 */ 0x07, 0x10, 0x13, 0xE4, 0x63, 0xAC, 0xF4, 0x25, // ....c..%
13776 /* 0518 */ 0x20, 0x10, 0xCB, 0xA6, 0x15, 0xA0, 0xE5, 0x3A, // ......:
13777 /* 0520 */ 0x01, 0x62, 0x61, 0x41, 0x68, 0xC0, 0x5F, 0xB5, // .baAh._.
13778 /* 0528 */ 0x86, 0xE0, 0xB4, 0x20, 0x02, 0x72, 0x32, 0x2D, // ... .r2-
13779 /* 0530 */ 0x40, 0x2C, 0x27, 0x88, 0x80, 0xFC, 0xFF, 0x07 // @,'.....
13780 })
13781 }
13782
13783 Device (WMI3)
13784 {
13785 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID
13786 Name (_UID, 0x03) // _UID: Unique ID
13787 Name (_WDG, /**** Is ResourceTemplate, but EndTag not at buffer end ****/ Buffer (0x3C)
13788 {
13789 /* 0000 */ 0x79, 0x36, 0x4D, 0x8F, 0x9E, 0x74, 0x79, 0x44, // y6M..tyD
13790 /* 0008 */ 0x9B, 0x16, 0xC6, 0x26, 0x01, 0xFD, 0x25, 0xF0, // ...&..%.
13791 /* 0010 */ 0x41, 0x42, 0x01, 0x02, 0x69, 0xE8, 0xD2, 0x85, // AB..i...
13792 /* 0018 */ 0x5A, 0x36, 0xCE, 0x4A, 0xA4, 0xD3, 0xCD, 0x69, // Z6.J...i
13793 /* 0020 */ 0x2B, 0x16, 0x98, 0xA0, 0x41, 0x43, 0x01, 0x02, // +...AC..
13794 /* 0028 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, // !...f...
13795 /* 0030 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, // ......).
13796 /* 0038 */ 0x42, 0x43, 0x01, 0x00 // BC..
13797 })
13798 Method (WMAB, 3, NotSerialized)
13799 {
13800 CreateByteField (Arg2, 0x00, ASS0)
13801 CreateWordField (Arg2, 0x01, ASS1)
13802 CreateByteField (Arg2, 0x03, ASS2)
13803 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13804 \WASB = ASS0 /* \_SB_.WMI3.WMAB.ASS0 */
13805 \WASI = ASS1 /* \_SB_.WMI3.WMAB.ASS1 */
13806 \WASD = ASS2 /* \_SB_.WMI3.WMAB.ASS2 */
13807 \WMIS (0x0B, 0x00)
13808 Local0 = \WASS
13809 Release (\_SB.WMI1.MWMI)
13810 Return (Local0)
13811 }
13812
13813 Method (WMAC, 3, NotSerialized)
13814 {
13815 CreateByteField (Arg2, 0x00, ASS0)
13816 CreateWordField (Arg2, 0x01, ASS1)
13817 Acquire (\_SB.WMI1.MWMI, 0xFFFF)
13818 \WASB = ASS0 /* \_SB_.WMI3.WMAC.ASS0 */
13819 \WASI = ASS1 /* \_SB_.WMI3.WMAC.ASS1 */
13820 \WMIS (0x0C, Arg1)
13821 Local0 = \WASS
13822 Release (\_SB.WMI1.MWMI)
13823 Return (Local0)
13824 }
13825
13826 Name (WQBC, Buffer (0x040A)
13827 {
13828 /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB....
13829 /* 0008 */ 0xFA, 0x03, 0x00, 0x00, 0x32, 0x12, 0x00, 0x00, // ....2...
13830 /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T
13831 /* 0018 */ 0x98, 0xC3, 0x88, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B
13832 /* 0020 */ 0x10, 0x07, 0x10, 0x8A, 0x0D, 0x21, 0x02, 0x0B, // .....!..
13833 /* 0028 */ 0x83, 0x50, 0x50, 0x18, 0x14, 0xA0, 0x45, 0x41, // .PP...EA
13834 /* 0030 */ 0xC8, 0x05, 0x14, 0x95, 0x02, 0x21, 0xC3, 0x02, // .....!..
13835 /* 0038 */ 0x14, 0x0B, 0x70, 0x2E, 0x40, 0xBA, 0x00, 0xE5, // ..p.@...
13836 /* 0040 */ 0x28, 0x72, 0x0C, 0x22, 0x02, 0xF7, 0xEF, 0x0F, // (r."....
13837 /* 0048 */ 0x31, 0x10, 0x88, 0x14, 0x40, 0x48, 0x28, 0x84, // 1...@H(.
13838 /* 0050 */ 0x44, 0x00, 0x53, 0x21, 0x70, 0x84, 0xA0, 0x5F, // D.S!p.._
13839 /* 0058 */ 0x01, 0x08, 0x1D, 0x0A, 0x90, 0x29, 0xC0, 0xA0, // .....)..
13840 /* 0060 */ 0x00, 0xA7, 0x08, 0x22, 0x88, 0xD2, 0xB2, 0x00, // ..."....
13841 /* 0068 */ 0xDD, 0x02, 0x7C, 0x0B, 0xD0, 0x0E, 0x21, 0xB4, // ..|...!.
13842 /* 0070 */ 0x58, 0x07, 0x11, 0x21, 0xD2, 0x31, 0x34, 0x29, // X..!.14)
13843 /* 0078 */ 0x40, 0xA2, 0x00, 0x8B, 0x02, 0x64, 0xC3, 0xC8, // @....d..
13844 /* 0080 */ 0x36, 0x22, 0x99, 0x87, 0x45, 0x0E, 0x02, 0x25, // 6"..E..%
13845 /* 0088 */ 0x66, 0x10, 0x28, 0x9D, 0xE0, 0xB2, 0x89, 0xAB, // f.(.....
13846 /* 0090 */ 0x41, 0x9C, 0x4C, 0x94, 0xF3, 0x88, 0x92, 0xE0, // A.L.....
13847 /* 0098 */ 0xA8, 0x0E, 0x22, 0x42, 0xEC, 0x72, 0x05, 0x48, // .."B.r.H
13848 /* 00A0 */ 0x1E, 0x80, 0x34, 0x4F, 0x4C, 0xD6, 0xE7, 0xA0, // ..4OL...
13849 /* 00A8 */ 0x91, 0xB1, 0x11, 0xF0, 0x94, 0x1A, 0x40, 0x58, // ......@X
13850 /* 00B0 */ 0xA0, 0x75, 0x2A, 0xE0, 0x7A, 0x0D, 0x43, 0x3D, // .u*.z.C=
13851 /* 00B8 */ 0x80, 0x48, 0xCE, 0x58, 0x51, 0xC0, 0xF6, 0x3A, // .H.XQ..:
13852 /* 00C0 */ 0x11, 0x8D, 0xEA, 0x40, 0x99, 0x24, 0x38, 0xD4, // ...@.$8.
13853 /* 00C8 */ 0x30, 0x3D, 0xB5, 0xE6, 0x27, 0xA6, 0x89, 0x9C, // 0=..'...
13854 /* 00D0 */ 0x5A, 0xD3, 0x43, 0x16, 0x24, 0x93, 0x36, 0x14, // Z.C.$.6.
13855 /* 00D8 */ 0xD4, 0xD8, 0x3D, 0xAD, 0x93, 0xF2, 0x4C, 0x23, // ..=...L#
13856 /* 00E0 */ 0x1E, 0x94, 0x61, 0x12, 0x78, 0x14, 0x0C, 0x8D, // ..a.x...
13857 /* 00E8 */ 0x13, 0x94, 0x75, 0x22, 0xA0, 0x03, 0xE5, 0x80, // ..u"....
13858 /* 00F0 */ 0x27, 0xE1, 0x39, 0x16, 0x2F, 0x40, 0xF8, 0x88, // '.9./@..
13859 /* 00F8 */ 0xC9, 0xB4, 0x4D, 0xE0, 0x33, 0x81, 0x87, 0x79, // ..M.3..y
13860 /* 0100 */ 0xCC, 0xD8, 0x11, 0x85, 0x0B, 0x78, 0x3E, 0xC7, // .....x>.
13861 /* 0108 */ 0x10, 0x39, 0xEE, 0xA1, 0xC6, 0x38, 0x8A, 0xC8, // .9...8..
13862 /* 0110 */ 0x47, 0x60, 0x24, 0x03, 0xC5, 0x2B, 0x08, 0x89, // G`$..+..
13863 /* 0118 */ 0x80, 0xF8, 0x76, 0x70, 0x70, 0x91, 0xFC, 0xFF, // ..vpp...
13864 /* 0120 */ 0x47, 0x89, 0x11, 0x2A, 0xC6, 0xDB, 0x00, 0x6E, // G..*...n
13865 /* 0128 */ 0x5E, 0x09, 0x8A, 0x1E, 0x07, 0x4A, 0x06, 0x84, // ^....J..
13866 /* 0130 */ 0x3C, 0x0A, 0xB0, 0x7A, 0x28, 0x20, 0x04, 0x16, // <..z( ..
13867 /* 0138 */ 0x27, 0x40, 0xE3, 0x38, 0x05, 0xD3, 0x99, 0x00, // '@.8....
13868 /* 0140 */ 0x6D, 0x02, 0xBC, 0x09, 0x30, 0x27, 0xC0, 0x16, // m...0'..
13869 /* 0148 */ 0x86, 0x80, 0x82, 0x9C, 0x59, 0x94, 0x20, 0x11, // ....Y. .
13870 /* 0150 */ 0x42, 0x31, 0x88, 0x0A, 0x05, 0x18, 0x43, 0x14, // B1....C.
13871 /* 0158 */ 0xCA, 0x3B, 0x41, 0x8C, 0xCA, 0x20, 0x74, 0x82, // .;A.. t.
13872 /* 0160 */ 0x08, 0x14, 0x3D, 0x78, 0x98, 0xD6, 0x40, 0x74, // ..=x..@t
13873 /* 0168 */ 0x89, 0xF0, 0xC8, 0xB1, 0x47, 0x00, 0x9F, 0x19, // ....G...
13874 /* 0170 */ 0xCE, 0xE9, 0x04, 0x1F, 0x01, 0xDE, 0x16, 0x4C, // .......L
13875 /* 0178 */ 0xE0, 0x79, 0xBF, 0x24, 0x1C, 0x6A, 0xD8, 0x03, // .y.$.j..
13876 /* 0180 */ 0x8E, 0x1A, 0xE3, 0x28, 0x12, 0x58, 0xD0, 0x33, // ...(.X.3
13877 /* 0188 */ 0x42, 0x16, 0x40, 0x14, 0x09, 0x1E, 0x75, 0x64, // B.@...ud
13878 /* 0190 */ 0xF0, 0xE1, 0xC0, 0x23, 0x3B, 0x72, 0xCF, 0xF0, // ...#;r..
13879 /* 0198 */ 0x04, 0x82, 0x1C, 0xC2, 0x11, 0x3C, 0x36, 0x3C, // .....<6<
13880 /* 01A0 */ 0x15, 0x78, 0x0C, 0xEC, 0xBA, 0xE0, 0x73, 0x80, // .x....s.
13881 /* 01A8 */ 0x8F, 0x09, 0x78, 0xD7, 0x80, 0x9A, 0xF3, 0xD3, // ..x.....
13882 /* 01B0 */ 0x01, 0x9B, 0x72, 0x38, 0xCC, 0x70, 0x3D, 0xFD, // ..r8.p=.
13883 /* 01B8 */ 0x70, 0x27, 0x70, 0xD2, 0x06, 0x64, 0xB3, 0xF3, // p'p..d..
13884 /* 01C0 */ 0xE0, 0x70, 0xE3, 0x3C, 0x99, 0x23, 0x2B, 0x55, // .p.<.#+U
13885 /* 01C8 */ 0x80, 0xD9, 0x13, 0x82, 0x4E, 0x13, 0x3E, 0x73, // ....N.>s
13886 /* 01D0 */ 0xB0, 0xBB, 0xC0, 0xF9, 0xF4, 0x0C, 0x49, 0xE4, // ......I.
13887 /* 01D8 */ 0x0F, 0x02, 0x35, 0x32, 0x43, 0xFB, 0x2C, 0xF0, // ..52C.,.
13888 /* 01E0 */ 0xEA, 0x61, 0xC8, 0x87, 0x85, 0xC3, 0x62, 0x62, // .a....bb
13889 /* 01E8 */ 0xCF, 0x1E, 0x74, 0x3C, 0xE0, 0x3F, 0x25, 0x3C, // ..t<.?%<
13890 /* 01F0 */ 0x6C, 0x78, 0xFA, 0x9E, 0xAF, 0x09, 0xA2, 0x3D, // lx.....=
13891 /* 01F8 */ 0x8F, 0x80, 0xE1, 0xFF, 0x7F, 0x1E, 0x81, 0x39, // .......9
13892 /* 0200 */ 0x9C, 0x07, 0x84, 0x27, 0x07, 0x76, 0x80, 0xC0, // ...'.v..
13893 /* 0208 */ 0x1C, 0x48, 0x80, 0xC9, 0xF9, 0x02, 0x77, 0x28, // .H....w(
13894 /* 0210 */ 0xF0, 0x10, 0xF8, 0x00, 0x1E, 0x25, 0xCE, 0xD1, // .....%..
13895 /* 0218 */ 0x4A, 0x67, 0x86, 0x3C, 0xB9, 0x80, 0x2D, 0xFB, // Jg.<..-.
13896 /* 0220 */ 0x1B, 0x40, 0x07, 0x0F, 0xE7, 0x06, 0x91, 0x8D, // .@......
13897 /* 0228 */ 0x57, 0x80, 0x09, 0x74, 0x38, 0xB1, 0x1E, 0x20, // W..t8..
13898 /* 0230 */ 0x4D, 0x14, 0x0C, 0x04, 0xD3, 0xD3, 0x6B, 0x00, // M.....k.
13899 /* 0238 */ 0x3E, 0x15, 0x38, 0x37, 0x89, 0x92, 0x0F, 0x8C, // >.87....
13900 /* 0240 */ 0xC2, 0x39, 0xEB, 0x79, 0x84, 0x82, 0x18, 0xD0, // .9.y....
13901 /* 0248 */ 0x41, 0x20, 0xE4, 0xE4, 0xA0, 0x80, 0x3A, 0xAA, // A ....:.
13902 /* 0250 */ 0xF8, 0x3C, 0x72, 0xAA, 0x0F, 0x3D, 0x9E, 0x94, // .<r..=..
13903 /* 0258 */ 0x47, 0xE1, 0xAB, 0x8A, 0x0F, 0x21, 0x3E, 0x4F, // G....!>O
13904 /* 0260 */ 0x78, 0xF4, 0x3E, 0x29, 0xF0, 0xEF, 0x8C, 0xAF, // x.>)....
13905 /* 0268 */ 0x0E, 0x46, 0xB7, 0x9A, 0xE3, 0x0A, 0x0A, 0xCC, // .F......
13906 /* 0270 */ 0x67, 0x11, 0x4E, 0x50, 0xD7, 0x6D, 0x01, 0xFA, // g.NP.m..
13907 /* 0278 */ 0x29, 0xE0, 0x08, 0x3C, 0x94, 0x77, 0x92, 0xC7, // )..<.w..
13908 /* 0280 */ 0x90, 0x04, 0xF5, 0x9D, 0x16, 0x40, 0x01, 0xE4, // .....@..
13909 /* 0288 */ 0x9B, 0x81, 0x4F, 0x02, 0x21, 0xFE, 0xFF, 0x4F, // ..O.!..O
13910 /* 0290 */ 0x07, 0x1E, 0xC3, 0xC3, 0x80, 0xD1, 0x8C, 0xCE, // ........
13911 /* 0298 */ 0xC3, 0x4F, 0x16, 0x15, 0x77, 0xB2, 0x14, 0xC4, // .O..w...
13912 /* 02A0 */ 0x93, 0x75, 0x94, 0xC9, 0xA2, 0x67, 0xE2, 0xAB, // .u...g..
13913 /* 02A8 */ 0x85, 0x27, 0x74, 0x4A, 0x41, 0xCE, 0xD1, 0x13, // .'tJA...
13914 /* 02B0 */ 0xF6, 0x55, 0x04, 0xD6, 0xF9, 0x20, 0xE4, 0x8B, // .U... ..
13915 /* 02B8 */ 0x81, 0xA7, 0x61, 0x38, 0x4F, 0x96, 0xC3, 0x79, // ..a8O..y
13916 /* 02C0 */ 0xB2, 0x7C, 0x2C, 0xBE, 0x6A, 0xC0, 0x1F, 0x2D, // .|,.j..-
13917 /* 02C8 */ 0x96, 0xA0, 0xC0, 0xD9, 0x82, 0x1C, 0x1E, 0x13, // ........
13918 /* 02D0 */ 0x6F, 0x54, 0xF4, 0x46, 0xE4, 0xE1, 0xF1, 0xCB, // oT.F....
13919 /* 02D8 */ 0x81, 0xE7, 0xF3, 0x8C, 0x70, 0x94, 0x6F, 0x12, // ....p.o.
13920 /* 02E0 */ 0x38, 0x8C, 0xC7, 0x12, 0x0F, 0xD1, 0x97, 0x23, // 8......#
13921 /* 02E8 */ 0x58, 0x13, 0x39, 0x69, 0xDF, 0x16, 0x4E, 0x36, // X.9i..N6
13922 /* 02F0 */ 0xE8, 0x4B, 0x10, 0xBB, 0x1C, 0x01, 0xBF, 0x88, // .K......
13923 /* 02F8 */ 0x26, 0x86, 0xC1, 0x22, 0x2D, 0x45, 0x11, 0x17, // &.."-E..
13924 /* 0300 */ 0x45, 0x61, 0x7C, 0xC5, 0x82, 0xFD, 0xFF, 0xBF, // Ea|.....
13925 /* 0308 */ 0x62, 0x01, 0x16, 0x04, 0x0F, 0x1B, 0x34, 0x87, // b.....4.
13926 /* 0310 */ 0x83, 0x97, 0x1E, 0x36, 0x6B, 0x38, 0x07, 0x99, // ...6k8..
13927 /* 0318 */ 0xD3, 0xF1, 0x48, 0x4E, 0x1B, 0xC6, 0x1D, 0x0B, // ..HN....
13928 /* 0320 */ 0xFE, 0x9D, 0xEA, 0xA9, 0xCA, 0xD3, 0x8A, 0xF2, // ........
13929 /* 0328 */ 0x64, 0xF5, 0x7A, 0xE5, 0x63, 0x96, 0xA1, 0xCE, // d.z.c...
13930 /* 0330 */ 0xE0, 0x1D, 0xCB, 0xB7, 0x3C, 0x4F, 0x21, 0x4A, // ....<O!J
13931 /* 0338 */ 0x9C, 0x97, 0x2D, 0x76, 0xC7, 0x32, 0x48, 0x50, // ..-v.2HP
13932 /* 0340 */ 0x23, 0x3F, 0x68, 0x31, 0x94, 0xE0, 0xF1, 0xDE, // #?h1....
13933 /* 0348 */ 0xB1, 0x00, 0x6F, 0xFF, 0xFF, 0x3B, 0x16, 0x60, // ..o..;.`
13934 /* 0350 */ 0xFC, 0x04, 0xC1, 0x09, 0x7C, 0xC7, 0x02, 0x1C, // ....|...
13935 /* 0358 */ 0xC5, 0x7E, 0x37, 0xE8, 0x4A, 0x45, 0xEE, 0x58, // .~7.JE.X
13936 /* 0360 */ 0x28, 0x0E, 0xAB, 0xB9, 0x63, 0x41, 0x9C, 0x28, // (...cA.(
13937 /* 0368 */ 0xE6, 0x8A, 0x05, 0x86, 0xFF, 0xFF, 0x15, 0x0B, // ........
13938 /* 0370 */ 0xE0, 0x75, 0xC0, 0x2B, 0x16, 0x68, 0xFE, 0xFF, // .u.+.h..
13939 /* 0378 */ 0x57, 0x2C, 0xF0, 0x5E, 0x8E, 0x80, 0xDF, 0x09, // W,.^....
13940 /* 0380 */ 0xD1, 0x77, 0x0D, 0x7E, 0x9A, 0xB6, 0xA2, 0xBB, // .w.~....
13941 /* 0388 */ 0x06, 0x94, 0x19, 0xBE, 0x07, 0xF9, 0xB0, 0x13, // ........
13942 /* 0390 */ 0x2C, 0xD2, 0xA3, 0x8D, 0x6F, 0x49, 0xE1, 0x7C, // ,...oI.|
13943 /* 0398 */ 0xDB, 0x00, 0xD8, 0xF2, 0xFF, 0xBF, 0x6D, 0x00, // ......m.
13944 /* 03A0 */ 0x4C, 0x19, 0xBF, 0x6F, 0x1B, 0xC0, 0x4F, 0xA1, // L..o..O.
13945 /* 03A8 */ 0x4D, 0x9F, 0x1A, 0x8D, 0x5A, 0x35, 0x28, 0x53, // M...Z5(S
13946 /* 03B0 */ 0xA3, 0x4C, 0x83, 0x5A, 0x7D, 0x2A, 0x35, 0x66, // .L.Z}*5f
13947 /* 03B8 */ 0x4C, 0xC9, 0xC1, 0xCE, 0x77, 0x0C, 0x2A, 0x6C, // L...w.*l
13948 /* 03C0 */ 0x65, 0x1A, 0x9A, 0x63, 0x81, 0xD0, 0x10, 0xC7, // e..c....
13949 /* 03C8 */ 0x26, 0x19, 0x01, 0x51, 0x22, 0x10, 0x01, 0x59, // &..Q"..Y
13950 /* 03D0 */ 0xFD, 0x6F, 0x42, 0x40, 0xCE, 0x02, 0x22, 0x20, // .oB@.."
13951 /* 03D8 */ 0x2B, 0x58, 0x9A, 0xC0, 0x9D, 0xFF, 0xD8, 0x28, // +X.....(
13952 /* 03E0 */ 0x40, 0xA2, 0x02, 0x84, 0x29, 0x7D, 0x93, 0x09, // @...)}..
13953 /* 03E8 */ 0xD4, 0xB2, 0x41, 0x04, 0xF4, 0xFF, 0x3F, 0x42, // ..A...?B
13954 /* 03F0 */ 0xD9, 0x00, 0x62, 0x82, 0x41, 0x04, 0x64, 0x91, // ..b.A.d.
13955 /* 03F8 */ 0x3E, 0x80, 0x98, 0x62, 0x10, 0x01, 0x59, 0xDD, // >..b..Y.
13956 /* 0400 */ 0xA3, 0x40, 0x40, 0xD6, 0x0A, 0x22, 0x20, 0xFF, // .@@.." .
13957 /* 0408 */ 0xFF, 0x01 // ..
13958 })
13959 }
13960
13961 Scope (\_SB.PCI0.LPC.EC.HKEY)
13962 {
13963 Mutex (BFWM, 0x07)
13964 Method (MHCF, 1, NotSerialized)
13965 {
13966 Local0 = \BFWC (Arg0)
13967 Return (Local0)
13968 }
13969
13970 Method (MHPF, 1, NotSerialized)
13971 {
13972 Name (RETB, Buffer (0x25){})
13973 Acquire (BFWM, 0xFFFF)
13974 If ((SizeOf (Arg0) <= 0x25))
13975 {
13976 \BFWB = Arg0
13977 If (\BFWP ())
13978 {
13979 \_SB.PCI0.LPC.EC.CHKS ()
13980 \BFWL ()
13981 }
13982
13983 RETB = \BFWB
13984 }
13985
13986 Release (BFWM)
13987 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHPF.RETB */
13988 }
13989
13990 Method (MHIF, 1, NotSerialized)
13991 {
13992 Name (RETB, Buffer (0x0A){})
13993 Acquire (BFWM, 0xFFFF)
13994 \BFWG (Arg0)
13995 RETB = \BFWB
13996 Release (BFWM)
13997 Return (RETB) /* \_SB_.PCI0.LPC_.EC__.HKEY.MHIF.RETB */
13998 }
13999
14000 Method (MHDM, 1, NotSerialized)
14001 {
14002 \BDMC (Arg0)
14003 }
14004 }
14005
14006 Scope (\_SB.PCI0.LPC.EC.HKEY)
14007 {
14008 Method (PSSG, 1, NotSerialized)
14009 {
14010 Return (\PSIF (0x00, 0x00))
14011 }
14012
14013 Method (PSSS, 1, NotSerialized)
14014 {
14015 Return (\PSIF (0x01, Arg0))
14016 }
14017
14018 Method (PSBS, 1, NotSerialized)
14019 {
14020 Return (\PSIF (0x02, Arg0))
14021 }
14022
14023 Method (BICG, 1, NotSerialized)
14024 {
14025 Return (\PSIF (0x03, Arg0))
14026 }
14027
14028 Method (BICS, 1, NotSerialized)
14029 {
14030 Return (\PSIF (0x04, Arg0))
14031 }
14032
14033 Method (BCTG, 1, NotSerialized)
14034 {
14035 Return (\PSIF (0x05, Arg0))
14036 }
14037
14038 Method (BCCS, 1, NotSerialized)
14039 {
14040 Return (\PSIF (0x06, Arg0))
14041 }
14042
14043 Method (BCSG, 1, NotSerialized)
14044 {
14045 Return (\PSIF (0x07, Arg0))
14046 }
14047
14048 Method (BCSS, 1, NotSerialized)
14049 {
14050 Return (\PSIF (0x08, Arg0))
14051 }
14052
14053 Method (BDSG, 1, NotSerialized)
14054 {
14055 Return (\PSIF (0x09, Arg0))
14056 }
14057
14058 Method (BDSS, 1, NotSerialized)
14059 {
14060 Return (\PSIF (0x0A, Arg0))
14061 }
14062 }
14063
14064 Scope (\_SB.PCI0.LPC.EC.HKEY)
14065 {
14066 Method (GILN, 0, NotSerialized)
14067 {
14068 Return ((0x02 | \ILNF))
14069 }
14070
14071 Method (SILN, 1, NotSerialized)
14072 {
14073 If ((0x01 == Arg0))
14074 {
14075 \ILNF = 0x01
14076 BBLS = 0x00
14077 Return (0x00)
14078 }
14079 ElseIf ((0x02 == Arg0))
14080 {
14081 \ILNF = 0x00
14082 BBLS = 0x01
14083 Return (0x00)
14084 }
14085 Else
14086 {
14087 Return (0x01)
14088 }
14089 }
14090
14091 Method (GLSI, 0, NotSerialized)
14092 {
14093 If (\H8DR)
14094 {
14095 Return ((0x02 + \_SB.PCI0.LPC.EC.HPLD))
14096 }
14097 ElseIf ((\RBEC (0x46) & 0x04))
14098 {
14099 Return (0x03)
14100 }
14101 Else
14102 {
14103 Return (0x02)
14104 }
14105 }
14106 }
14107
14108 Scope (\_SB.PCI0.LPC.EC.HKEY)
14109 {
14110 Method (GDLN, 0, NotSerialized)
14111 {
14112 Return ((0x02 | \PLUX))
14113 }
14114
14115 Method (SDLN, 1, NotSerialized)
14116 {
14117 If ((0x01 == Arg0))
14118 {
14119 \PLUX = 0x01
14120 Return (0x00)
14121 }
14122 ElseIf ((0x02 == Arg0))
14123 {
14124 \PLUX = 0x00
14125 Return (0x00)
14126 }
14127 Else
14128 {
14129 Return (0x01)
14130 }
14131 }
14132 }
14133
14134 Name (\VHCC, 0x00)
14135 Scope (\_SB.PCI0.PEG.VID)
14136 {
14137 Method (ISOP, 0, NotSerialized)
14138 {
14139 Return ((VDSP && (VIGD && VDSC)))
14140 }
14141 }
14142
14143 Scope (\_SB.PCI0)
14144 {
14145 Name (OTM, "OTMACPI 2009-Nov-12 18:18:51")
14146 }
14147
14148 Scope (\_SB.PCI0.PEG.VID)
14149 {
14150 Method (GOBT, 1, NotSerialized)
14151 {
14152 Name (OPVK, Buffer (0xE6)
14153 {
14154 /* 0000 */ 0xE4, 0xB8, 0x4F, 0x51, 0x50, 0x72, 0x8A, 0xC2, // ..OQPr..
14155 /* 0008 */ 0x4B, 0x56, 0xE6, 0x00, 0x00, 0x00, 0x01, 0x00, // KV......
14156 /* 0010 */ 0x31, 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, // 14859745
14157 /* 0018 */ 0x36, 0x39, 0x38, 0x35, 0x47, 0x65, 0x6E, 0x75, // 6985Genu
14158 /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, // ine NVID
14159 /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, // IA Certi
14160 /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, // fied Opt
14161 /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, // imus Rea
14162 /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, // dy Mothe
14163 /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66, // rboard f
14164 /* 0050 */ 0x6F, 0x72, 0x20, 0x36, 0x38, 0x38, 0x33, 0x32, // or 68832
14165 /* 0058 */ 0x35, 0x6E, 0x6F, 0x7A, 0x6F, 0x6D, 0x69, 0x32, // 5nozomi2
14166 /* 0060 */ 0x31, 0x44, 0x35, 0x20, 0x20, 0x20, 0x20, 0x20, // 1D5
14167 /* 0068 */ 0x2D, 0x20, 0x40, 0x4A, 0x20, 0x24, 0x55, 0x27, // - @J $U'
14168 /* 0070 */ 0x5C, 0x22, 0x54, 0x20, 0x29, 0x5F, 0x47, 0x42, // \"T )_GB
14169 /* 0078 */ 0x20, 0x50, 0x2F, 0x41, 0x4F, 0x5C, 0x37, 0x22, // P/AO\7"
14170 /* 0080 */ 0x3D, 0x46, 0x37, 0x39, 0x4B, 0x37, 0x2B, 0x5F, // =F79K7+_
14171 /* 0088 */ 0x3F, 0x4B, 0x48, 0x5C, 0x5F, 0x46, 0x58, 0x48, // ?KH\_FXH
14172 /* 0090 */ 0x5F, 0x44, 0x57, 0x32, 0x26, 0x4A, 0x46, 0x50, // _DW2&JFP
14173 /* 0098 */ 0x52, 0x25, 0x24, 0x2F, 0x46, 0x24, 0x20, 0x2D, // R%$/F$ -
14174 /* 00A0 */ 0x20, 0x43, 0x6F, 0x70, 0x79, 0x72, 0x69, 0x67, // Copyrig
14175 /* 00A8 */ 0x68, 0x74, 0x20, 0x32, 0x30, 0x31, 0x30, 0x20, // ht 2010
14176 /* 00B0 */ 0x4E, 0x56, 0x49, 0x44, 0x49, 0x41, 0x20, 0x43, // NVIDIA C
14177 /* 00B8 */ 0x6F, 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, // orporati
14178 /* 00C0 */ 0x6F, 0x6E, 0x20, 0x41, 0x6C, 0x6C, 0x20, 0x52, // on All R
14179 /* 00C8 */ 0x69, 0x67, 0x68, 0x74, 0x73, 0x20, 0x52, 0x65, // ights Re
14180 /* 00D0 */ 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2D, 0x31, // served-1
14181 /* 00D8 */ 0x34, 0x38, 0x35, 0x39, 0x37, 0x34, 0x35, 0x36, // 48597456
14182 /* 00E0 */ 0x39, 0x38, 0x35, 0x28, 0x52, 0x29 // 985(R)
14183 })
14184 CreateWordField (Arg0, 0x02, USRG)
14185 If ((USRG == 0x564B))
14186 {
14187 Return (OPVK) /* \_SB_.PCI0.PEG_.VID_.GOBT.OPVK */
14188 }
14189
14190 Return (Zero)
14191 }
14192 }
14193
14194 Scope (\_SB.PCI0.PEG.VID)
14195 {
14196 Name (OMPR, 0x02)
14197 Name (HDAS, 0x00)
14198 Method (NVOP, 4, Serialized)
14199 {
14200 Debug = "------- NV OPTIMUS DSM --------"
14201 If ((Arg1 != 0x0100))
14202 {
14203 Return (0x80000001)
14204 }
14205
14206 Switch (ToInteger (Arg2))
14207 {
14208 Case (0x00)
14209 {
14210 Local0 = Buffer (0x04)
14211 {
14212 0x00, 0x00, 0x00, 0x00 // ....
14213 }
14214 Divide (0x00, 0x08, Local2, Local1)
14215 Local2 = (0x01 << Local2)
14216 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14217 Divide (0x1A, 0x08, Local2, Local1)
14218 Local2 = (0x01 << Local2)
14219 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14220 Divide (0x1B, 0x08, Local2, Local1)
14221 Local2 = (0x01 << Local2)
14222 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14223 Divide (0x10, 0x08, Local2, Local1)
14224 Local2 = (0x01 << Local2)
14225 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14226 Return (Local0)
14227 }
14228 Case (0x1A)
14229 {
14230 CreateField (Arg3, 0x18, 0x02, OPCE)
14231 CreateField (Arg3, 0x00, 0x01, FLCH)
14232 If (ToInteger (FLCH))
14233 {
14234 OMPR = OPCE /* \_SB_.PCI0.PEG_.VID_.NVOP.OPCE */
14235 }
14236
14237 Local0 = Buffer (0x04)
14238 {
14239 0x00, 0x00, 0x00, 0x00 // ....
14240 }
14241 CreateField (Local0, 0x00, 0x01, OPEN)
14242 CreateField (Local0, 0x03, 0x02, CGCS)
14243 CreateField (Local0, 0x06, 0x01, SHPC)
14244 CreateField (Local0, 0x18, 0x03, DGPC)
14245 CreateField (Local0, 0x1B, 0x02, HDAC)
14246 OPEN = One
14247 SHPC = One
14248 DGPC = One
14249 If (\_SB.PCI0.PEG.VID._STA ())
14250 {
14251 CGCS = 0x03
14252 }
14253
14254 HDAC = 0x02
14255 Return (Local0)
14256 }
14257 Case (0x1B)
14258 {
14259 CreateField (Arg3, 0x00, 0x01, HDAU)
14260 CreateField (Arg3, 0x01, 0x01, HDAR)
14261 Local0 = Buffer (0x04)
14262 {
14263 0x00, 0x00, 0x00, 0x00 // ....
14264 }
14265 CreateField (Local0, 0x02, 0x02, RQGS)
14266 CreateField (Local0, 0x04, 0x01, PWST)
14267 PWST = One
14268 RQGS = Zero
14269 If (ToInteger (HDAR))
14270 {
14271 HDAS = ToInteger (HDAU)
14272 }
14273
14274 Return (Local0)
14275 }
14276 Case (0x10)
14277 {
14278 Return (\_SB.PCI0.PEG.VID.GOBT (Arg3))
14279 }
14280
14281 }
14282
14283 Return (0x80000002)
14284 }
14285 }
14286
14287 Scope (\)
14288 {
14289 Method (CMPB, 2, NotSerialized)
14290 {
14291 Local1 = SizeOf (Arg0)
14292 If ((Local1 != SizeOf (Arg1)))
14293 {
14294 Return (0x00)
14295 }
14296
14297 Local0 = 0x00
14298 While ((Local0 < Local1))
14299 {
14300 If ((DerefOf (Arg0 [Local0]) != DerefOf (Arg1 [Local0]
14301 )))
14302 {
14303 Return (0x00)
14304 }
14305
14306 Local0++
14307 }
14308
14309 Return (0x01)
14310 }
14311 }
14312
14313 Scope (\_SB.PCI0.PEG.VID)
14314 {
14315 Name (CPPC, 0x00)
14316 Method (NVPS, 4, Serialized)
14317 {
14318 Debug = "------- NV GPS DSM --------"
14319 Switch (ToInteger (Arg2))
14320 {
14321 Case (0x00)
14322 {
14323 Local0 = Buffer (0x08)
14324 {
14325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........
14326 }
14327 Local3 = Buffer (0x07)
14328 {
14329 0x00, 0x20, 0x21, 0x22, 0x23, 0x2A, 0xFF // . !"#*.
14330 }
14331 Local4 = Zero
14332 Local5 = DerefOf (Local3 [Local4])
14333 While ((Local5 != 0xFF))
14334 {
14335 Divide (Local5, 0x08, Local2, Local1)
14336 Local2 = (0x01 << Local2)
14337 Local0 [Local1] = (DerefOf (Local0 [Local1]) | Local2)
14338 Local4++
14339 Local5 = DerefOf (Local3 [Local4])
14340 }
14341
14342 Return (Local0)
14343 }
14344 Case (0x20)
14345 {
14346 Local0 = Buffer (0x04)
14347 {
14348 0x00, 0x00, 0x00, 0x00 // ....
14349 }
14350 CreateField (Local0, 0x18, 0x01, CUIT)
14351 CreateField (Local0, 0x1E, 0x01, PSER)
14352 CUIT = One
14353 PSER = One
14354 Return (Local0)
14355 }
14356 Case (0x21)
14357 {
14358 Return (\_PR.CPU0._PSS)
14359 }
14360 Case (0x22)
14361 {
14362 CreateField (Arg3, 0x00, 0x08, PPCV)
14363 CPPC = PPCV /* \_SB_.PCI0.PEG_.VID_.NVPS.PPCV */
14364 \PNTF (0x80)
14365 Return (Buffer (0x04)
14366 {
14367 0x00, 0x00, 0x00, 0x00 // ....
14368 })
14369 }
14370 Case (0x23)
14371 {
14372 Local0 = Buffer (0x04)
14373 {
14374 0x00, 0x00, 0x00, 0x00 // ....
14375 }
14376 Local0 [0x00] = CPPC /* \_SB_.PCI0.PEG_.VID_.CPPC */
14377 Return (Local0)
14378 }
14379 Case (0x2A)
14380 {
14381 Local0 = Buffer (0x24)
14382 {
14383 /* 0000 */ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, // ........
14384 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
14385 /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
14386 /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
14387 /* 0020 */ 0x00, 0x00, 0x00, 0x00 // ....
14388 }
14389 Local0 [0x00] = DerefOf (Arg3 [0x00])
14390 CreateField (Arg3, 0x00, 0x04, QTYP)
14391 Switch (ToInteger (QTYP))
14392 {
14393 Case (0x00)
14394 {
14395 Local1 = \_SB.PCI0.LPC.EC.TMP0
14396 Local0 [0x0C] = (Local1 & 0xFF)
14397 Return (Local0)
14398 }
14399 Case (0x01)
14400 {
14401 Local0 [0x0D] = 0x08
14402 Local0 [0x01] = 0x03
14403 Return (Local0)
14404 }
14405 Case (0x02)
14406 {
14407 Local0 [0x01] = 0x03
14408 Local0 [0x08] = 0x50
14409 Return (Local0)
14410 }
14411
14412 }
14413 }
14414
14415 }
14416
14417 Return (Buffer (0x04)
14418 {
14419 0x02, 0x00, 0x00, 0x80 // ....
14420 })
14421 }
14422 }
14423 }
14424
14425 Name (\_S0, Package (0x04) // _S0_: S0 System State
14426 {
14427 0x00,
14428 0x00,
14429 0x00,
14430 0x00
14431 })
14432 Name (\_S3, Package (0x04) // _S3_: S3 System State
14433 {
14434 0x05,
14435 0x05,
14436 0x00,
14437 0x00
14438 })
14439 Name (\_S4, Package (0x04) // _S4_: S4 System State
14440 {
14441 0x06,
14442 0x06,
14443 0x00,
14444 0x00
14445 })
14446 Name (\_S5, Package (0x04) // _S5_: S5 System State
14447 {
14448 0x07,
14449 0x07,
14450 0x00,
14451 0x00
14452 })
14453 Method (\_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
14454 {
14455 Local0 = 0x01
14456 If ((Arg0 == \SPS))
14457 {
14458 Local0 = 0x00
14459 }
14460
14461 If (((Arg0 == 0x00) || (Arg0 >= 0x06)))
14462 {
14463 Local0 = 0x00
14464 }
14465
14466 If (Local0)
14467 {
14468 \SPS = Arg0
14469 \_SB.PCI0.LPC.EC.HKEY.MHKE (0x00)
14470 If (\_SB.PCI0.LPC.EC.KBLT)
14471 {
14472 \UCMS (0x0D)
14473 }
14474
14475 If ((Arg0 == 0x01))
14476 {
14477 \FNID = \_SB.PCI0.LPC.EC.HFNI
14478 \_SB.PCI0.LPC.EC.HFNI = 0x00
14479 \_SB.PCI0.LPC.EC.HFSP = 0x00
14480 }
14481
14482 If ((Arg0 == 0x03))
14483 {
14484 If (VDSP)
14485 {
14486 \SWTT (0x00)
14487 }
14488
14489 \VVPD (0x03)
14490 \TRAP ()
14491 \ACST = \_SB.PCI0.LPC.EC.AC._PSR ()
14492 If ((\FNWK == 0x01))
14493 {
14494 If (\H8DR)
14495 {
14496 \_SB.PCI0.LPC.EC.HWFN = 0x00
14497 }
14498 Else
14499 {
14500 \MBEC (0x32, 0xEF, 0x00)
14501 }
14502 }
14503 }
14504
14505 If ((Arg0 == 0x04))
14506 {
14507 If (VDSP)
14508 {
14509 SHA1 = Zero
14510 }
14511
14512 \_SB.SLPB._PSW (0x00)
14513 \TRAP ()
14514 \_SB.PCI0.LPC.TPM.CMOR ()
14515 \AWON (0x04)
14516 }
14517
14518 If ((Arg0 == 0x05))
14519 {
14520 \TRAP ()
14521 \_SB.PCI0.LPC.TPM.CMOR ()
14522 \AWON (0x05)
14523 }
14524
14525 If ((Arg0 >= 0x04))
14526 {
14527 \_SB.PCI0.LPC.EC.HWLB = 0x00
14528 }
14529 Else
14530 {
14531 \_SB.PCI0.LPC.EC.HWLB = 0x01
14532 }
14533
14534 If ((Arg0 >= 0x03))
14535 {
14536 \_SB.PCI0.LPC.EC.HCMU = 0x01
14537 }
14538
14539 If ((Arg0 != 0x05)){}
14540 \_SB.PCI0.LPC.EC.HKEY.WGPS (Arg0)
14541 }
14542 }
14543
14544 Name (WAKI, Package (0x02)
14545 {
14546 0x00,
14547 0x00
14548 })
14549 Method (\_WAK, 1, NotSerialized) // _WAK: Wake
14550 {
14551 If (((Arg0 == 0x00) || (Arg0 >= 0x05)))
14552 {
14553 Return (WAKI) /* \WAKI */
14554 }
14555
14556 \SPS = 0x00
14557 \_SB.PCI0.LPC.EC.HCMU = 0x00
14558 \_SB.PCI0.LPC.EC.EVNT (0x01)
14559 \_SB.PCI0.LPC.EC.HKEY.MHKE (0x01)
14560 \_SB.PCI0.LPC.EC.FNST ()
14561 \UCMS (0x0D)
14562 \LIDB = 0x00
14563 \_SB.PCI0.VID.VRSI ()
14564 If ((Arg0 == 0x01))
14565 {
14566 \FNID = \_SB.PCI0.LPC.EC.HFNI
14567 }
14568
14569 If ((Arg0 == 0x03))
14570 {
14571 \NVSS (0x00)
14572 \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
14573 If (\OSC4)
14574 {
14575 \PNTF (0x81)
14576 }
14577
14578 If ((\ACST != \_SB.PCI0.LPC.EC.AC._PSR ()))
14579 {
14580 \_SB.PCI0.LPC.EC.ATMC ()
14581 }
14582
14583 If (\SCRM)
14584 {
14585 \_SB.PCI0.LPC.EC.HFSP = 0x07
14586 If (\MTAU)
14587 {
14588 Local2 = 0x03E8
14589 While ((\_SB.PCI0.LPC.EC.PIBS && Local2))
14590 {
14591 Sleep (0x01)
14592 Local2--
14593 }
14594
14595 If (Local2)
14596 {
14597 \_SB.PCI0.LPC.EC.PLSL = 0x01
14598 \_SB.PCI0.LPC.EC.PLTU = \MTAU
14599 \_SB.PCI0.LPC.EC.PLLS = \PL1L
14600 \_SB.PCI0.LPC.EC.PLMS = \PL1M
14601 }
14602 }
14603 }
14604
14605 \IOEN = 0x00
14606 \IOST = 0x00
14607 If ((\ISWK == 0x01))
14608 {
14609 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14610 {
14611 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6070)
14612 }
14613 }
14614
14615 If (\VIGD)
14616 {
14617 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14618 If (\WVIS)
14619 {
14620 \VBTD ()
14621 }
14622 }
14623 ElseIf (\WVIS)
14624 {
14625 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14626 \VBTD ()
14627 }
14628
14629 \VCMS (0x01, \_SB.LID._LID ())
14630 \AWON (0x00)
14631 If (\CMPR)
14632 {
14633 Notify (\_SB.SLPB, 0x02) // Device Wake
14634 \CMPR = 0x00
14635 }
14636
14637 If ((\USBR || \_SB.PCI0.XHCI.XRST))
14638 {
14639 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
14640 {
14641 Local0 = 0x00
14642 Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
14643 \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
14644 Local0 = 0x00
14645 Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
14646 \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
14647 }
14648 }
14649
14650 If ((\ISCT != 0x00))
14651 {
14652 If (\VIGD)
14653 {
14654 If ((\_SB.PCI0.VID.TCHE & 0x0100))
14655 {
14656 If ((\_SB.IAOE.GAOS & 0x01))
14657 {
14658 If ((\_SB.IAOE.GSWR & 0x02))
14659 {
14660 \_SB.PCI0.VID.STAT = ((\_SB.PCI0.VID.STAT & ~0x03) | 0x01)
14661 \_SB.PCI0.LPC.EC.SKEM = 0x01
14662 }
14663 }
14664 }
14665 }
14666 }
14667 }
14668
14669 If ((Arg0 == 0x04))
14670 {
14671 \NVSS (0x00)
14672 \_SB.PCI0.LPC.EC.HSPA = 0x00
14673 \PWRS = \_SB.PCI0.LPC.EC.AC._PSR ()
14674 If (\OSC4)
14675 {
14676 \PNTF (0x81)
14677 }
14678
14679 \_SB.PCI0.LPC.EC.ATMC ()
14680 If (\SCRM)
14681 {
14682 \_SB.PCI0.LPC.EC.HFSP = 0x07
14683 If (\MTAU)
14684 {
14685 Local2 = 0x03E8
14686 While ((\_SB.PCI0.LPC.EC.PIBS && Local2))
14687 {
14688 Sleep (0x01)
14689 Local2--
14690 }
14691
14692 If (Local2)
14693 {
14694 \_SB.PCI0.LPC.EC.PLSL = 0x01
14695 \_SB.PCI0.LPC.EC.PLTU = \MTAU
14696 \_SB.PCI0.LPC.EC.PLLS = \PL1L
14697 \_SB.PCI0.LPC.EC.PLMS = \PL1M
14698 }
14699 }
14700 }
14701
14702 If (!\NBCF)
14703 {
14704 If (\VIGD)
14705 {
14706 \_SB.PCI0.LPC.EC.BRNS ()
14707 }
14708 Else
14709 {
14710 \VBRC (\BRLV)
14711 }
14712 }
14713
14714 \IOEN = 0x00
14715 \IOST = 0x00
14716 If ((\ISWK == 0x02))
14717 {
14718 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
14719 {
14720 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6080)
14721 }
14722 }
14723
14724 If (\_SB.PCI0.XHCI.XRST)
14725 {
14726 If (((\XHCI == 0x02) || (\XHCI == 0x03)))
14727 {
14728 Local0 = 0x00
14729 Local0 = (\_SB.PCI0.XHCI.PR3 & 0xFFFFFFC0)
14730 \_SB.PCI0.XHCI.PR3 = (Local0 | \_SB.PCI0.XHCI.PR3M)
14731 Local0 = 0x00
14732 Local0 = (\_SB.PCI0.XHCI.PR2 & 0xFFFF8000)
14733 \_SB.PCI0.XHCI.PR2 = (Local0 | \_SB.PCI0.XHCI.PR2M)
14734 }
14735 }
14736 }
14737
14738 \_SB.PCI0.LPC.EC.BATW (Arg0)
14739 \_SB.PCI0.LPC.EC.HKEY.WGWK (Arg0)
14740 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
14741 \VSLD (\_SB.LID._LID ())
14742 If (\VIGD)
14743 {
14744 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14745 }
14746 ElseIf (\WVIS)
14747 {
14748 \_SB.PCI0.VID.GLIS (\_SB.LID._LID ())
14749 }
14750
14751 If ((Arg0 < 0x04))
14752 {
14753 If (((\RRBF & 0x02) || (\_SB.PCI0.LPC.EC.HWAC & 0x02)))
14754 {
14755 Local0 = (Arg0 << 0x08)
14756 Local0 = (0x2013 | Local0)
14757 \_SB.PCI0.LPC.EC.HKEY.MHKQ (Local0)
14758 }
14759 }
14760
14761 If ((Arg0 == 0x04))
14762 {
14763 Local0 = 0x00
14764 Local1 = \CSUM (0x00)
14765 If ((Local1 != \CHKC))
14766 {
14767 Local0 = 0x01
14768 \CHKC = Local1
14769 }
14770
14771 Local1 = \CSUM (0x01)
14772 If ((Local1 != \CHKE))
14773 {
14774 Local0 = 0x01
14775 \CHKE = Local1
14776 }
14777
14778 If (Local0)
14779 {
14780 Notify (\_SB, 0x00) // Bus Check
14781 }
14782 }
14783
14784 \RRBF = Zero
14785 Return (WAKI) /* \WAKI */
14786 }
14787
14788 Scope (\_SI)
14789 {
14790 Method (_SST, 1, NotSerialized) // _SST: System Status
14791 {
14792 If ((Arg0 == 0x00))
14793 {
14794 \_SB.PCI0.LPC.EC.LED (0x00, 0x00)
14795 \_SB.PCI0.LPC.EC.LED (0x0A, 0x00)
14796 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14797 }
14798
14799 If ((Arg0 == 0x01))
14800 {
14801 If ((\SPS || \WNTF))
14802 {
14803 \_SB.PCI0.LPC.EC.BEEP (0x05)
14804 }
14805
14806 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14807 \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
14808 \_SB.PCI0.LPC.EC.LED (0x07, 0x00)
14809 }
14810
14811 If ((Arg0 == 0x02))
14812 {
14813 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14814 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
14815 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14816 }
14817
14818 If ((Arg0 == 0x03))
14819 {
14820 If ((\SPS > 0x03))
14821 {
14822 \_SB.PCI0.LPC.EC.BEEP (0x07)
14823 }
14824 ElseIf ((\SPS == 0x03))
14825 {
14826 \_SB.PCI0.LPC.EC.BEEP (0x03)
14827 }
14828 Else
14829 {
14830 \_SB.PCI0.LPC.EC.BEEP (0x04)
14831 }
14832
14833 If ((\SPS == 0x03)){}
14834 Else
14835 {
14836 \_SB.PCI0.LPC.EC.LED (0x00, 0x80)
14837 \_SB.PCI0.LPC.EC.LED (0x0A, 0x80)
14838 }
14839
14840 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14841 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14842 Stall (0x32)
14843 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
14844 }
14845
14846 If ((Arg0 == 0x04))
14847 {
14848 \_SB.PCI0.LPC.EC.BEEP (0x03)
14849 \_SB.PCI0.LPC.EC.LED (0x07, 0xC0)
14850 \_SB.PCI0.LPC.EC.LED (0x00, 0xC0)
14851 \_SB.PCI0.LPC.EC.LED (0x0A, 0xC0)
14852 }
14853 }
14854 }
14855
14856 Scope (\_GPE)
14857 {
14858 Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14859 {
14860 Local0 = \_SB.PCI0.LPC.EC.HWAC
14861 \RRBF = Local0
14862 Sleep (0x0A)
14863 If ((Local0 & 0x02)){}
14864 If ((Local0 & 0x04))
14865 {
14866 Notify (\_SB.LID, 0x02) // Device Wake
14867 }
14868
14869 If ((Local0 & 0x08))
14870 {
14871 Notify (\_SB.SLPB, 0x02) // Device Wake
14872 }
14873
14874 If ((Local0 & 0x10))
14875 {
14876 Notify (\_SB.SLPB, 0x02) // Device Wake
14877 }
14878
14879 If ((Local0 & 0x40)){}
14880 If ((Local0 & 0x80))
14881 {
14882 Notify (\_SB.SLPB, 0x02) // Device Wake
14883 }
14884 }
14885
14886 Method (_L69, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14887 {
14888 If (\_SB.PCI0.EXP1.PS)
14889 {
14890 \_SB.PCI0.EXP1.PS = 0x01
14891 \_SB.PCI0.EXP1.PMCS = 0x01
14892 Notify (\_SB.PCI0.EXP1, 0x02) // Device Wake
14893 }
14894
14895 If (\_SB.PCI0.EXP2.PS)
14896 {
14897 \_SB.PCI0.EXP2.PS = 0x01
14898 \_SB.PCI0.EXP2.PMCS = 0x01
14899 Notify (\_SB.PCI0.EXP2, 0x02) // Device Wake
14900 }
14901
14902 If (\_SB.PCI0.EXP3.PS)
14903 {
14904 \_SB.PCI0.EXP3.PS = 0x01
14905 \_SB.PCI0.EXP3.PMCS = 0x01
14906 Notify (\_SB.PCI0.EXP3, 0x02) // Device Wake
14907 }
14908 }
14909
14910 Method (_L61, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14911 {
14912 }
14913
14914 Method (_L62, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14915 {
14916 \_SB.PCI0.LPC.SWGE = 0x00
14917 If (CondRefOf (\_SB.PCCD.PENB))
14918 {
14919 If ((\_SB.PCCD.PENB == 0x01))
14920 {
14921 Notify (\_SB.PCCD, 0x80) // Status Change
14922 }
14923 }
14924 }
14925
14926 Method (_L66, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14927 {
14928 If (\_SB.PCI0.VID.GSSE)
14929 {
14930 \_SB.PCI0.VID.GSCI ()
14931 }
14932 Else
14933 {
14934 \_SB.PCI0.LPC.SCIS = 0x01
14935 }
14936 }
14937
14938 Name (GPFG, 0x00)
14939 Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE
14940 {
14941 If ((GPFG && \_SB.PCI0.LPC.NFCI))
14942 {
14943 GPFG = 0x00
14944 Notify (\_SB.PCI0.SMBU.NFC, 0xC0) // Hardware-Specific
14945 }
14946 }
14947 }
14948
14949 Scope (\_SB.PCI0.LPC.EC.HKEY)
14950 {
14951 Method (MHQT, 1, NotSerialized)
14952 {
14953 If ((\WNTF && \TATC))
14954 {
14955 If ((Arg0 == 0x00))
14956 {
14957 Local0 = \TATC
14958 Return (Local0)
14959 }
14960 ElseIf ((Arg0 == 0x01))
14961 {
14962 Local0 = \TDFA
14963 Local0 += (\TDTA << 0x04)
14964 Local0 += (\TDFD << 0x08)
14965 Local0 += (\TDTD << 0x0C)
14966 Local0 += (\TNFT << 0x10)
14967 Local0 += (\TNTT << 0x14)
14968 Return (Local0)
14969 }
14970 ElseIf ((Arg0 == 0x02))
14971 {
14972 Local0 = \TCFA
14973 Local0 += (\TCTA << 0x04)
14974 Local0 += (\TCFD << 0x08)
14975 Local0 += (\TCTD << 0x0C)
14976 Return (Local0)
14977 }
14978 ElseIf ((Arg0 == 0x03)){}
14979 ElseIf ((Arg0 == 0x04))
14980 {
14981 Local0 = \TATW
14982 Return (Local0)
14983 }
14984 Else
14985 {
14986 Noop
14987 }
14988 }
14989
14990 Return (0x00)
14991 }
14992
14993 Method (MHAT, 1, NotSerialized)
14994 {
14995 If ((\WNTF && \TATC))
14996 {
14997 Local0 = (Arg0 & 0xFF)
14998 If (!ATMV (Local0))
14999 {
15000 Return (0x00)
15001 }
15002
15003 Local0 = ((Arg0 >> 0x08) & 0xFF)
15004 If (!ATMV (Local0))
15005 {
15006 Return (0x00)
15007 }
15008
15009 \TCFA = (Arg0 & 0x0F)
15010 \TCTA = ((Arg0 >> 0x04) & 0x0F)
15011 \TCFD = ((Arg0 >> 0x08) & 0x0F)
15012 \TCTD = ((Arg0 >> 0x0C) & 0x0F)
15013 ATMC ()
15014 If ((\PPMF & 0x0100))
15015 {
15016 Local1 = \FTPS
15017 If ((Arg0 & 0x00010000))
15018 {
15019 If (\_PR.CLVL)
15020 {
15021 \FTPS = \CTDP
15022 \FTPS++
15023 }
15024 Else
15025 {
15026 \FTPS = 0x01
15027 }
15028 }
15029 ElseIf (\_PR.CLVL)
15030 {
15031 \FTPS = \CTDP
15032 }
15033 Else
15034 {
15035 \FTPS = 0x00
15036 }
15037
15038 If ((\FTPS ^ Local1))
15039 {
15040 If ((\OSPX || \CPPX))
15041 {
15042 \PNTF (0x80)
15043 }
15044 }
15045 }
15046
15047 Local2 = \SCRM
15048 If ((Arg0 & 0x00040000))
15049 {
15050 \SCRM = 0x01
15051 \_SB.PCI0.LPC.EC.HFSP = 0x07
15052 }
15053 Else
15054 {
15055 \SCRM = 0x00
15056 \_SB.PCI0.LPC.EC.HFSP = 0x80
15057 }
15058
15059 Local3 = \ETAU
15060 If ((Arg0 & 0x00020000))
15061 {
15062 \ETAU = 0x01
15063 }
15064 Else
15065 {
15066 \ETAU = 0x00
15067 }
15068
15069 If (\MTAU)
15070 {
15071 If (((\SCRM ^ Local2) || (\ETAU ^ Local3)))
15072 {
15073 Local4 = 0x03E8
15074 While (\_SB.PCI0.LPC.EC.PIBS)
15075 {
15076 Sleep (0x01)
15077 Local4--
15078 If (!Local4)
15079 {
15080 Return (0x00)
15081 }
15082 }
15083
15084 \_SB.PCI0.LPC.EC.PLSL = 0x01
15085 If ((Arg0 & 0x00060000))
15086 {
15087 \_SB.PCI0.LPC.EC.PLTU = \MTAU
15088 }
15089 Else
15090 {
15091 \_SB.PCI0.LPC.EC.PLTU = 0x1C
15092 }
15093
15094 \_SB.PCI0.LPC.EC.PLLS = \PL1L
15095 \_SB.PCI0.LPC.EC.PLMS = \PL1M
15096 }
15097 }
15098
15099 Return (0x01)
15100 }
15101
15102 Return (0x00)
15103 }
15104
15105 Method (MHGT, 1, NotSerialized)
15106 {
15107 If ((\WNTF && \TATC))
15108 {
15109 Local0 = 0x01000000
15110 If ((\PPMF & 0x0100))
15111 {
15112 Local0 |= 0x08000000
15113 }
15114
15115 If (\SCRM)
15116 {
15117 Local0 |= 0x10000000
15118 }
15119
15120 If (\ETAU)
15121 {
15122 Local0 |= 0x04000000
15123 }
15124
15125 If ((\CTDP < \FTPS))
15126 {
15127 Local0 |= 0x02000000
15128 }
15129
15130 Local0 += (\TSFT << 0x10)
15131 Local0 += (\TSTT << 0x14)
15132 Local1 = (Arg0 & 0xFF)
15133 If (!ATMV (Local1))
15134 {
15135 Local0 |= 0xFFFF
15136 Return (Local0)
15137 }
15138
15139 Local1 = (Arg0 & 0x0F)
15140 If ((Local1 == 0x00))
15141 {
15142 Local0 += \TIF0
15143 }
15144 ElseIf ((Local1 == 0x01))
15145 {
15146 Local0 += \TIF1
15147 }
15148 ElseIf ((Local1 == 0x02))
15149 {
15150 Local0 += \TIF2
15151 }
15152 Else
15153 {
15154 Local0 += 0xFF
15155 }
15156
15157 Local1 = ((Arg0 >> 0x04) & 0x0F)
15158 If ((Local1 == 0x00))
15159 {
15160 Local0 += (\TIT0 << 0x08)
15161 }
15162 ElseIf ((Local1 == 0x01))
15163 {
15164 Local0 += (\TIT1 << 0x08)
15165 }
15166 ElseIf ((Local1 == 0x02))
15167 {
15168 Local0 += (\TIT2 << 0x08)
15169 }
15170 Else
15171 {
15172 Local0 += (0xFF << 0x08)
15173 }
15174
15175 Return (Local0)
15176 }
15177
15178 Return (0x00)
15179 }
15180
15181 Method (ATMV, 1, NotSerialized)
15182 {
15183 Local1 = (Arg0 & 0x0F)
15184 Local0 = \TNFT
15185 If ((Local1 >= Local0))
15186 {
15187 Return (0x00)
15188 }
15189
15190 Local2 = ((Arg0 >> 0x04) & 0x0F)
15191 Local0 = \TNTT
15192 If ((Local2 >= Local0))
15193 {
15194 Return (0x00)
15195 }
15196
15197 If (\TATL)
15198 {
15199 If ((Local1 ^ Local2))
15200 {
15201 Return (0x00)
15202 }
15203 }
15204
15205 Return (0x01)
15206 }
15207
15208 Method (MHCT, 1, NotSerialized)
15209 {
15210 Local0 = 0x00
15211 If (\SPEN)
15212 {
15213 Local0 = \LWST
15214 Local0++
15215 Local0 <<= 0x08
15216 }
15217
15218 Local1 = 0x08
15219 Local1 <<= 0x08
15220 If ((Arg0 == 0xFFFFFFFF))
15221 {
15222 Local1 |= \TPCR
15223 If (\SPEN)
15224 {
15225 Local0 |= \PPCR
15226 If (!(\PPMF && 0x02000000))
15227 {
15228 Local1 |= 0x80
15229 }
15230
15231 If (!(\PPMF && 0x08000000))
15232 {
15233 Local1 |= 0x40
15234 }
15235 }
15236 Else
15237 {
15238 Local1 |= 0xC0
15239 }
15240 }
15241 Else
15242 {
15243 If (((\OSPX || \CPPX) && \SPEN))
15244 {
15245 Local2 = (Arg0 & 0x00FF0000)
15246 Local2 >>= 0x10
15247 Local0 |= Local2
15248 If ((Local2 ^ \PPCR))
15249 {
15250 \PPCA = Local2
15251 \PNTF (0x80)
15252 }
15253 }
15254
15255 If (\WVIS)
15256 {
15257 Local2 = (Arg0 & 0x1F)
15258 Local1 |= Local2
15259 If ((Local2 ^ \TPCR))
15260 {
15261 \TPCA = Local2
15262 \PNTF (0x82)
15263 }
15264 }
15265 }
15266
15267 Local0 <<= 0x10
15268 Local0 |= Local1
15269 Return (Local0)
15270 }
15271 }
15272
15273 Scope (\_SB.PCI0.LPC.EC)
15274 {
15275 Method (ATMC, 0, NotSerialized)
15276 {
15277 If ((\WNTF && \TATC))
15278 {
15279 If (HPAC)
15280 {
15281 Local0 = \TCFA
15282 Local1 = \TCTA
15283 Local2 = ((Local1 << 0x04) | Local0)
15284 Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
15285 ATMX = Local2
15286 If ((\TCTA == 0x00))
15287 {
15288 \TCRT = \TCR0
15289 \TPSV = \TPS0
15290 }
15291 ElseIf ((\TCTA == 0x01))
15292 {
15293 \TCRT = \TCR1
15294 \TPSV = \TPS1
15295 }
15296 Else
15297 {
15298 }
15299 }
15300 Else
15301 {
15302 Local0 = \TCFD
15303 Local1 = \TCTD
15304 Local2 = ((Local1 << 0x04) | Local0)
15305 Local3 = (Local2 ^ ATMX) /* \_SB_.PCI0.LPC_.EC__.ATMX */
15306 ATMX = Local2
15307 If ((\TCTD == 0x00))
15308 {
15309 \TCRT = \TCR0
15310 \TPSV = \TPS0
15311 }
15312 ElseIf ((\TCTD == 0x01))
15313 {
15314 \TCRT = \TCR1
15315 \TPSV = \TPS1
15316 }
15317 Else
15318 {
15319 }
15320 }
15321
15322 If (Local3)
15323 {
15324 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15325 {
15326 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15327 }
15328 }
15329
15330 Notify (\_TZ.THM0, 0x81) // Thermal Trip Point Change
15331 }
15332 }
15333 }
15334
15335 Scope (\_TZ)
15336 {
15337 ThermalZone (THM0)
15338 {
15339 Method (_CRT, 0, NotSerialized) // _CRT: Critical Temperature
15340 {
15341 Return (\TCRT)
15342 }
15343
15344 Method (_TMP, 0, NotSerialized) // _TMP: Temperature
15345 {
15346 If (\H8DR)
15347 {
15348 Local0 = \_SB.PCI0.LPC.EC.TMP0
15349 Local1 = \_SB.PCI0.LPC.EC.TSL2
15350 Local2 = \_SB.PCI0.LPC.EC.TSL3
15351 }
15352 Else
15353 {
15354 Local0 = \RBEC (0x78)
15355 Local1 = (\RBEC (0x8A) & 0x7F)
15356 Local2 = (\RBEC (0x8B) & 0x7F)
15357 }
15358
15359 If ((Local0 == 0x80))
15360 {
15361 Local0 = 0x30
15362 }
15363
15364 If (Local2)
15365 {
15366 \TSDL ()
15367 Return (C2K (0x80))
15368 }
15369
15370 If (!\_SB.PCI0.LPC.EC.HKEY.DHKC)
15371 {
15372 If (Local1)
15373 {
15374 \TSDL ()
15375 Return (C2K (0x80))
15376 }
15377 }
15378
15379 Return (C2K (Local0))
15380 }
15381 }
15382
15383 Method (C2K, 1, NotSerialized)
15384 {
15385 Local0 = ((Arg0 * 0x0A) + 0x0AAC)
15386 If ((Local0 <= 0x0AAC))
15387 {
15388 Local0 = 0x0BB8
15389 }
15390
15391 If ((Local0 > 0x0FAC))
15392 {
15393 Local0 = 0x0BB8
15394 }
15395
15396 Return (Local0)
15397 }
15398 }
15399
15400 Scope (\_SB.PCI0.LPC.EC)
15401 {
15402 Method (_Q40, 0, NotSerialized) // _Qxx: EC Query
15403 {
15404 Notify (\_TZ.THM0, 0x80) // Thermal Status Change
15405 If (\H8DR)
15406 {
15407 Local1 = \_SB.PCI0.LPC.EC.TSL2
15408 }
15409 Else
15410 {
15411 Local1 = (\RBEC (0x8A) & 0x7F)
15412 }
15413
15414 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15415 {
15416 If (Local1)
15417 {
15418 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6022)
15419 }
15420 }
15421
15422 If (VIGD)
15423 {
15424 Noop
15425 }
15426 Else
15427 {
15428 \VTHR ()
15429 }
15430
15431 If ((\PPMF & 0x01))
15432 {
15433 If ((\OSPX || \CPPX))
15434 {
15435 \PNTF (0x80)
15436 }
15437 Else
15438 {
15439 Local2 = (\_SB.PCI0.LPC.EC.TSL0 & 0x77)
15440 If (Local2)
15441 {
15442 \STEP (0x09)
15443 }
15444 Else
15445 {
15446 \STEP (0x0A)
15447 }
15448 }
15449 }
15450 }
15451 }
15452
15453 Name (GPIC, 0x00)
15454 Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
15455 {
15456 \GPIC = Arg0
15457 }
15458
15459 OperationRegion (SMI0, SystemIO, 0xB2, 0x01)
15460 Field (SMI0, ByteAcc, NoLock, Preserve)
15461 {
15462 APMC, 8
15463 }
15464
15465 Field (MNVS, AnyAcc, NoLock, Preserve)
15466 {
15467 Offset (0xFC0),
15468 CMD, 8,
15469 ERR, 32,
15470 PAR0, 32,
15471 PAR1, 32,
15472 PAR2, 32,
15473 PAR3, 32
15474 }
15475
15476 Mutex (MSMI, 0x07)
15477 Method (SMI, 5, NotSerialized)
15478 {
15479 Acquire (MSMI, 0xFFFF)
15480 CMD = Arg0
15481 ERR = 0x01
15482 PAR0 = Arg1
15483 PAR1 = Arg2
15484 PAR2 = Arg3
15485 PAR3 = Arg4
15486 APMC = 0xF5
15487 While ((ERR == 0x01))
15488 {
15489 Sleep (0x01)
15490 APMC = 0xF5
15491 }
15492
15493 Local0 = PAR0 /* \PAR0 */
15494 Release (MSMI)
15495 Return (Local0)
15496 }
15497
15498 Method (RPCI, 1, NotSerialized)
15499 {
15500 Return (SMI (0x00, 0x00, Arg0, 0x00, 0x00))
15501 }
15502
15503 Method (WPCI, 2, NotSerialized)
15504 {
15505 SMI (0x00, 0x01, Arg0, Arg1, 0x00)
15506 }
15507
15508 Method (MPCI, 3, NotSerialized)
15509 {
15510 SMI (0x00, 0x02, Arg0, Arg1, Arg2)
15511 }
15512
15513 Method (RBEC, 1, NotSerialized)
15514 {
15515 Return (SMI (0x00, 0x03, Arg0, 0x00, 0x00))
15516 }
15517
15518 Method (WBEC, 2, NotSerialized)
15519 {
15520 SMI (0x00, 0x04, Arg0, Arg1, 0x00)
15521 }
15522
15523 Method (MBEC, 3, NotSerialized)
15524 {
15525 SMI (0x00, 0x05, Arg0, Arg1, Arg2)
15526 }
15527
15528 Method (RISA, 1, NotSerialized)
15529 {
15530 Return (SMI (0x00, 0x06, Arg0, 0x00, 0x00))
15531 }
15532
15533 Method (WISA, 2, NotSerialized)
15534 {
15535 SMI (0x00, 0x07, Arg0, Arg1, 0x00)
15536 }
15537
15538 Method (MISA, 3, NotSerialized)
15539 {
15540 SMI (0x00, 0x08, Arg0, Arg1, Arg2)
15541 }
15542
15543 Method (VEXP, 0, NotSerialized)
15544 {
15545 SMI (0x01, 0x00, 0x00, 0x00, 0x00)
15546 }
15547
15548 Method (VUPS, 1, NotSerialized)
15549 {
15550 SMI (0x01, 0x01, Arg0, 0x00, 0x00)
15551 }
15552
15553 Method (VSDS, 2, NotSerialized)
15554 {
15555 SMI (0x01, 0x02, Arg0, Arg1, 0x00)
15556 }
15557
15558 Method (VDDC, 0, NotSerialized)
15559 {
15560 SMI (0x01, 0x03, 0x00, 0x00, 0x00)
15561 }
15562
15563 Method (VVPD, 1, NotSerialized)
15564 {
15565 SMI (0x01, 0x04, Arg0, 0x00, 0x00)
15566 }
15567
15568 Method (VNRS, 1, NotSerialized)
15569 {
15570 SMI (0x01, 0x05, Arg0, 0x00, 0x00)
15571 }
15572
15573 Method (GLPW, 0, NotSerialized)
15574 {
15575 Return (SMI (0x01, 0x06, 0x00, 0x00, 0x00))
15576 }
15577
15578 Method (VSLD, 1, NotSerialized)
15579 {
15580 SMI (0x01, 0x07, Arg0, 0x00, 0x00)
15581 }
15582
15583 Method (VEVT, 1, NotSerialized)
15584 {
15585 Return (SMI (0x01, 0x08, Arg0, 0x00, 0x00))
15586 }
15587
15588 Method (VTHR, 0, NotSerialized)
15589 {
15590 Return (SMI (0x01, 0x09, 0x00, 0x00, 0x00))
15591 }
15592
15593 Method (VBRC, 1, NotSerialized)
15594 {
15595 SMI (0x01, 0x0A, Arg0, 0x00, 0x00)
15596 }
15597
15598 Method (VBRG, 0, NotSerialized)
15599 {
15600 Return (SMI (0x01, 0x0E, 0x00, 0x00, 0x00))
15601 }
15602
15603 Method (VCMS, 2, NotSerialized)
15604 {
15605 Return (SMI (0x01, 0x0B, Arg0, Arg1, 0x00))
15606 }
15607
15608 Method (VBTD, 0, NotSerialized)
15609 {
15610 Return (SMI (0x01, 0x0F, 0x00, 0x00, 0x00))
15611 }
15612
15613 Method (VHYB, 2, NotSerialized)
15614 {
15615 Return (SMI (0x01, 0x10, Arg0, Arg1, 0x00))
15616 }
15617
15618 Method (VDYN, 2, NotSerialized)
15619 {
15620 Return (SMI (0x01, 0x11, Arg0, Arg1, 0x00))
15621 }
15622
15623 Method (UCMS, 1, NotSerialized)
15624 {
15625 Return (SMI (0x02, Arg0, 0x00, 0x00, 0x00))
15626 }
15627
15628 Method (BHDP, 2, NotSerialized)
15629 {
15630 Return (SMI (0x03, 0x00, Arg0, Arg1, 0x00))
15631 }
15632
15633 Method (STEP, 1, NotSerialized)
15634 {
15635 SMI (0x04, Arg0, 0x00, 0x00, 0x00)
15636 }
15637
15638 Method (TRAP, 0, NotSerialized)
15639 {
15640 SMI (0x05, 0x00, 0x00, 0x00, 0x00)
15641 }
15642
15643 Method (CBRI, 0, NotSerialized)
15644 {
15645 SMI (0x05, 0x01, 0x00, 0x00, 0x00)
15646 }
15647
15648 Method (BCHK, 0, NotSerialized)
15649 {
15650 Return (SMI (0x05, 0x04, 0x00, 0x00, 0x00))
15651 }
15652
15653 Method (BYRS, 0, NotSerialized)
15654 {
15655 SMI (0x05, 0x05, 0x00, 0x00, 0x00)
15656 }
15657
15658 Method (LCHK, 1, NotSerialized)
15659 {
15660 Return (SMI (0x05, 0x06, Arg0, 0x00, 0x00))
15661 }
15662
15663 Method (BLTH, 1, NotSerialized)
15664 {
15665 Return (SMI (0x06, Arg0, 0x00, 0x00, 0x00))
15666 }
15667
15668 Method (PRSM, 2, NotSerialized)
15669 {
15670 Return (SMI (0x07, 0x00, Arg0, Arg1, 0x00))
15671 }
15672
15673 Method (IFRS, 2, NotSerialized)
15674 {
15675 Return (SMI (0x07, 0x01, Arg0, Arg1, 0x00))
15676 }
15677
15678 Method (TDPC, 1, NotSerialized)
15679 {
15680 Return (SMI (0x07, 0x02, Arg0, 0x00, 0x00))
15681 }
15682
15683 Method (ISOC, 1, NotSerialized)
15684 {
15685 Return (SMI (0x07, 0x03, Arg0, 0x00, 0x00))
15686 }
15687
15688 Method (WGSV, 1, NotSerialized)
15689 {
15690 Return (SMI (0x09, Arg0, 0x00, 0x00, 0x00))
15691 }
15692
15693 Method (SWTT, 1, NotSerialized)
15694 {
15695 If (SMI (0x0A, 0x02, Arg0, 0x00, 0x00))
15696 {
15697 If (\_SB.PCI0.LPC.EC.HKEY.DHKC)
15698 {
15699 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x6030)
15700 }
15701 }
15702 }
15703
15704 Method (TSDL, 0, NotSerialized)
15705 {
15706 Return (SMI (0x0A, 0x03, 0x00, 0x00, 0x00))
15707 }
15708
15709 Method (SITT, 1, NotSerialized)
15710 {
15711 Return (SMI (0x0A, 0x04, Arg0, 0x00, 0x00))
15712 }
15713
15714 Method (TPHY, 1, NotSerialized)
15715 {
15716 SMI (0x0C, Arg0, 0x00, 0x00, 0x00)
15717 }
15718
15719 Method (CSUM, 1, NotSerialized)
15720 {
15721 Return (SMI (0x0E, Arg0, 0x00, 0x00, 0x00))
15722 }
15723
15724 Method (NVSS, 1, NotSerialized)
15725 {
15726 Return (SMI (0x0F, Arg0, 0x00, 0x00, 0x00))
15727 }
15728
15729 Method (WMIS, 2, NotSerialized)
15730 {
15731 Return (SMI (0x10, Arg0, Arg1, 0x00, 0x00))
15732 }
15733
15734 Method (AWON, 1, NotSerialized)
15735 {
15736 Return (SMI (0x12, Arg0, 0x00, 0x00, 0x00))
15737 }
15738
15739 Method (PMON, 2, NotSerialized)
15740 {
15741 Local0 = SizeOf (Arg0)
15742 Name (TSTR, Buffer (Local0){})
15743 TSTR = Arg0
15744 \DBGS = TSTR /* \PMON.TSTR */
15745 SMI (0x11, Arg1, 0x00, 0x00, 0x00)
15746 }
15747
15748 Method (UAWS, 1, NotSerialized)
15749 {
15750 Return (SMI (0x13, Arg0, 0x00, 0x00, 0x00))
15751 }
15752
15753 Method (BFWC, 1, NotSerialized)
15754 {
15755 Return (SMI (0x14, 0x00, Arg0, 0x00, 0x00))
15756 }
15757
15758 Method (BFWP, 0, NotSerialized)
15759 {
15760 Return (SMI (0x14, 0x01, 0x00, 0x00, 0x00))
15761 }
15762
15763 Method (BFWL, 0, NotSerialized)
15764 {
15765 SMI (0x14, 0x02, 0x00, 0x00, 0x00)
15766 }
15767
15768 Method (BFWG, 1, NotSerialized)
15769 {
15770 SMI (0x14, 0x03, Arg0, 0x00, 0x00)
15771 }
15772
15773 Method (BDMC, 1, NotSerialized)
15774 {
15775 SMI (0x14, 0x04, Arg0, 0x00, 0x00)
15776 }
15777
15778 Method (PSIF, 2, NotSerialized)
15779 {
15780 Return (SMI (0x14, 0x05, Arg0, Arg1, 0x00))
15781 }
15782
15783 Method (FNSC, 2, NotSerialized)
15784 {
15785 Return (SMI (0x14, 0x06, Arg0, Arg1, 0x00))
15786 }
15787
15788 Method (AUDC, 2, NotSerialized)
15789 {
15790 Return (SMI (0x14, 0x07, Arg0, Arg1, 0x00))
15791 }
15792
15793 Method (SYBC, 2, NotSerialized)
15794 {
15795 Return (SMI (0x14, 0x08, Arg0, Arg1, 0x00))
15796 }
15797
15798 Method (KBLS, 2, NotSerialized)
15799 {
15800 Return (SMI (0x14, 0x09, Arg0, Arg1, 0x00))
15801 }
15802
15803 Method (UBIS, 1, NotSerialized)
15804 {
15805 Return (SMI (0x15, 0x00, Arg0, 0x00, 0x00))
15806 }
15807
15808 Method (DPIO, 2, NotSerialized)
15809 {
15810 If (!Arg0)
15811 {
15812 Return (0x00)
15813 }
15814
15815 If ((Arg0 > 0xF0))
15816 {
15817 Return (0x00)
15818 }
15819
15820 If ((Arg0 > 0xB4))
15821 {
15822 If (Arg1)
15823 {
15824 Return (0x02)
15825 }
15826 Else
15827 {
15828 Return (0x01)
15829 }
15830 }
15831
15832 If ((Arg0 > 0x78))
15833 {
15834 Return (0x03)
15835 }
15836
15837 Return (0x04)
15838 }
15839
15840 Method (DUDM, 2, NotSerialized)
15841 {
15842 If (!Arg1)
15843 {
15844 Return (0xFF)
15845 }
15846
15847 If ((Arg0 > 0x5A))
15848 {
15849 Return (0x00)
15850 }
15851
15852 If ((Arg0 > 0x3C))
15853 {
15854 Return (0x01)
15855 }
15856
15857 If ((Arg0 > 0x2D))
15858 {
15859 Return (0x02)
15860 }
15861
15862 If ((Arg0 > 0x1E))
15863 {
15864 Return (0x03)
15865 }
15866
15867 If ((Arg0 > 0x14))
15868 {
15869 Return (0x04)
15870 }
15871
15872 Return (0x05)
15873 }
15874
15875 Method (DMDM, 2, NotSerialized)
15876 {
15877 If (Arg1)
15878 {
15879 Return (0x00)
15880 }
15881
15882 If (!Arg0)
15883 {
15884 Return (0x00)
15885 }
15886
15887 If ((Arg0 > 0x96))
15888 {
15889 Return (0x01)
15890 }
15891
15892 If ((Arg0 > 0x78))
15893 {
15894 Return (0x02)
15895 }
15896
15897 Return (0x03)
15898 }
15899
15900 Method (UUDM, 2, NotSerialized)
15901 {
15902 If (!(Arg0 & 0x04))
15903 {
15904 Return (0x00)
15905 }
15906
15907 If ((Arg1 & 0x20))
15908 {
15909 Return (0x14)
15910 }
15911
15912 If ((Arg1 & 0x10))
15913 {
15914 Return (0x1E)
15915 }
15916
15917 If ((Arg1 & 0x08))
15918 {
15919 Return (0x2D)
15920 }
15921
15922 If ((Arg1 & 0x04))
15923 {
15924 Return (0x3C)
15925 }
15926
15927 If ((Arg1 & 0x02))
15928 {
15929 Return (0x5A)
15930 }
15931
15932 If ((Arg1 & 0x01))
15933 {
15934 Return (0x78)
15935 }
15936
15937 Return (0x00)
15938 }
15939
15940 Method (UMDM, 4, NotSerialized)
15941 {
15942 If (!(Arg0 & 0x02))
15943 {
15944 Return (0x00)
15945 }
15946
15947 If ((Arg1 & 0x04))
15948 {
15949 Return (Arg3)
15950 }
15951
15952 If ((Arg1 & 0x02))
15953 {
15954 If ((Arg3 <= 0x78))
15955 {
15956 Return (0xB4)
15957 }
15958 Else
15959 {
15960 Return (Arg3)
15961 }
15962 }
15963
15964 If ((Arg2 & 0x04))
15965 {
15966 If ((Arg3 <= 0xB4))
15967 {
15968 Return (0xF0)
15969 }
15970 Else
15971 {
15972 Return (Arg3)
15973 }
15974 }
15975
15976 Return (0x00)
15977 }
15978
15979 Method (UPIO, 4, NotSerialized)
15980 {
15981 If (!(Arg0 & 0x02))
15982 {
15983 If ((Arg2 == 0x02))
15984 {
15985 Return (0xF0)
15986 }
15987 Else
15988 {
15989 Return (0x0384)
15990 }
15991 }
15992
15993 If ((Arg1 & 0x02))
15994 {
15995 Return (Arg3)
15996 }
15997
15998 If ((Arg1 & 0x01))
15999 {
16000 If ((Arg3 <= 0x78))
16001 {
16002 Return (0xB4)
16003 }
16004 Else
16005 {
16006 Return (Arg3)
16007 }
16008 }
16009
16010 If ((Arg2 == 0x02))
16011 {
16012 Return (0xF0)
16013 }
16014 Else
16015 {
16016 Return (0x0384)
16017 }
16018 }
16019
16020 Method (FDMA, 2, NotSerialized)
16021 {
16022 If ((Arg1 != 0xFF))
16023 {
16024 Return ((Arg1 | 0x40))
16025 }
16026
16027 If ((Arg0 >= 0x03))
16028 {
16029 Return (((Arg0 - 0x02) | 0x20))
16030 }
16031
16032 If (Arg0)
16033 {
16034 Return (0x12)
16035 }
16036
16037 Return (0x00)
16038 }
16039
16040 Method (FPIO, 1, NotSerialized)
16041 {
16042 If ((Arg0 >= 0x03))
16043 {
16044 Return ((Arg0 | 0x08))
16045 }
16046
16047 If ((Arg0 == 0x01))
16048 {
16049 Return (0x01)
16050 }
16051
16052 Return (0x00)
16053 }
16054
16055 Method (SCMP, 2, NotSerialized)
16056 {
16057 Local0 = SizeOf (Arg0)
16058 If ((Local0 != SizeOf (Arg1)))
16059 {
16060 Return (One)
16061 }
16062
16063 Local0++
16064 Name (STR1, Buffer (Local0){})
16065 Name (STR2, Buffer (Local0){})
16066 STR1 = Arg0
16067 STR2 = Arg1
16068 Local1 = Zero
16069 While ((Local1 < Local0))
16070 {
16071 Local2 = DerefOf (STR1 [Local1])
16072 Local3 = DerefOf (STR2 [Local1])
16073 If ((Local2 != Local3))
16074 {
16075 Return (One)
16076 }
16077
16078 Local1++
16079 }
16080
16081 Return (Zero)
16082 }
16083
16084 Name (SPS, 0x00)
16085 Name (OSIF, 0x00)
16086 Name (WNTF, 0x00)
16087 Name (WXPF, 0x00)
16088 Name (WVIS, 0x00)
16089 Name (WIN7, 0x00)
16090 Name (WIN8, 0x00)
16091 Name (WSPV, 0x00)
16092 Name (LNUX, 0x00)
16093 Name (H8DR, 0x00)
16094 Name (MEMX, 0x00)
16095 Name (ACST, 0x00)
16096 Name (FMBL, 0x01)
16097 Name (FDTP, 0x02)
16098 Name (FUPS, 0x03)
16099 Name (FNID, 0x00)
16100 Name (RRBF, 0x00)
16101 Name (NBCF, 0x00)
16102 Scope (\)
16103 {
16104 Method (KOU1, 0, NotSerialized)
16105 {
16106 Stall (0x64)
16107 }
16108 }
16109
16110 Scope (\)
16111 {
16112 Method (KOU2, 0, NotSerialized)
16113 {
16114 Stall (0x64)
16115 }
16116 }
16117
16118 Scope (\_SB.PCI0.VID.LCD0)
16119 {
16120 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
16121 {
16122 If (\WVIS)
16123 {
16124 \NBCF = 0x01
16125 }
16126
16127 Local0 = \_SB.PCI0.LPC.EC.BFRQ ()
16128 If ((\_SB.PCI0.VID.PFMB != Local0))
16129 {
16130 \_SB.PCI0.VID.AINT (0x03, Local0)
16131 }
16132
16133 If (\WIN8)
16134 {
16135 Return (Package (0x67)
16136 {
16137 0x64,
16138 0x64,
16139 0x00,
16140 0x01,
16141 0x02,
16142 0x03,
16143 0x04,
16144 0x05,
16145 0x06,
16146 0x07,
16147 0x08,
16148 0x09,
16149 0x0A,
16150 0x0B,
16151 0x0C,
16152 0x0D,
16153 0x0E,
16154 0x0F,
16155 0x10,
16156 0x11,
16157 0x12,
16158 0x13,
16159 0x14,
16160 0x15,
16161 0x16,
16162 0x17,
16163 0x18,
16164 0x19,
16165 0x1A,
16166 0x1B,
16167 0x1C,
16168 0x1D,
16169 0x1E,
16170 0x1F,
16171 0x20,
16172 0x21,
16173 0x22,
16174 0x23,
16175 0x24,
16176 0x25,
16177 0x26,
16178 0x27,
16179 0x28,
16180 0x29,
16181 0x2A,
16182 0x2B,
16183 0x2C,
16184 0x2D,
16185 0x2E,
16186 0x2F,
16187 0x30,
16188 0x31,
16189 0x32,
16190 0x33,
16191 0x34,
16192 0x35,
16193 0x36,
16194 0x37,
16195 0x38,
16196 0x39,
16197 0x3A,
16198 0x3B,
16199 0x3C,
16200 0x3D,
16201 0x3E,
16202 0x3F,
16203 0x40,
16204 0x41,
16205 0x42,
16206 0x43,
16207 0x44,
16208 0x45,
16209 0x46,
16210 0x47,
16211 0x48,
16212 0x49,
16213 0x4A,
16214 0x4B,
16215 0x4C,
16216 0x4D,
16217 0x4E,
16218 0x4F,
16219 0x50,
16220 0x51,
16221 0x52,
16222 0x53,
16223 0x54,
16224 0x55,
16225 0x56,
16226 0x57,
16227 0x58,
16228 0x59,
16229 0x5A,
16230 0x5B,
16231 0x5C,
16232 0x5D,
16233 0x5E,
16234 0x5F,
16235 0x60,
16236 0x61,
16237 0x62,
16238 0x63,
16239 0x64
16240 })
16241 }
16242
16243 Return (\_SB.PCI0.LPC.EC.BRTW)
16244 }
16245
16246 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
16247 {
16248 If (\WIN8)
16249 {
16250 \_SB.PCI0.VID.AINT (0x01, \_SB.PCI0.LPC.EC.BRCD (Arg0))
16251 }
16252 Else
16253 {
16254 Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
16255 If ((Local0 != Ones))
16256 {
16257 Local1 = (Local0 - 0x02)
16258 \BRLV = Local1
16259 \_SB.PCI0.LPC.EC.BRNS ()
16260 \UCMS (0x16)
16261 }
16262 }
16263 }
16264
16265 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
16266 {
16267 Local0 = \BRLV
16268 Local1 = (Local0 + 0x02)
16269 If ((Local1 <= 0x11))
16270 {
16271 Return (DerefOf (\_SB.PCI0.LPC.EC.BRTW [Local1]))
16272 }
16273 Else
16274 {
16275 Return (Zero)
16276 }
16277 }
16278 }
16279
16280 Scope (\_SB.PCI0.PEG.VID.LCD0)
16281 {
16282 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
16283 {
16284 If (\WVIS)
16285 {
16286 \NBCF = 0x01
16287 }
16288
16289 If (\WIN8)
16290 {
16291 Return (Package (0x67)
16292 {
16293 0x64,
16294 0x64,
16295 0x00,
16296 0x01,
16297 0x02,
16298 0x03,
16299 0x04,
16300 0x05,
16301 0x06,
16302 0x07,
16303 0x08,
16304 0x09,
16305 0x0A,
16306 0x0B,
16307 0x0C,
16308 0x0D,
16309 0x0E,
16310 0x0F,
16311 0x10,
16312 0x11,
16313 0x12,
16314 0x13,
16315 0x14,
16316 0x15,
16317 0x16,
16318 0x17,
16319 0x18,
16320 0x19,
16321 0x1A,
16322 0x1B,
16323 0x1C,
16324 0x1D,
16325 0x1E,
16326 0x1F,
16327 0x20,
16328 0x21,
16329 0x22,
16330 0x23,
16331 0x24,
16332 0x25,
16333 0x26,
16334 0x27,
16335 0x28,
16336 0x29,
16337 0x2A,
16338 0x2B,
16339 0x2C,
16340 0x2D,
16341 0x2E,
16342 0x2F,
16343 0x30,
16344 0x31,
16345 0x32,
16346 0x33,
16347 0x34,
16348 0x35,
16349 0x36,
16350 0x37,
16351 0x38,
16352 0x39,
16353 0x3A,
16354 0x3B,
16355 0x3C,
16356 0x3D,
16357 0x3E,
16358 0x3F,
16359 0x40,
16360 0x41,
16361 0x42,
16362 0x43,
16363 0x44,
16364 0x45,
16365 0x46,
16366 0x47,
16367 0x48,
16368 0x49,
16369 0x4A,
16370 0x4B,
16371 0x4C,
16372 0x4D,
16373 0x4E,
16374 0x4F,
16375 0x50,
16376 0x51,
16377 0x52,
16378 0x53,
16379 0x54,
16380 0x55,
16381 0x56,
16382 0x57,
16383 0x58,
16384 0x59,
16385 0x5A,
16386 0x5B,
16387 0x5C,
16388 0x5D,
16389 0x5E,
16390 0x5F,
16391 0x60,
16392 0x61,
16393 0x62,
16394 0x63,
16395 0x64
16396 })
16397 }
16398
16399 Return (\_SB.PCI0.LPC.EC.BRTW)
16400 }
16401
16402 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
16403 {
16404 If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
16405 {
16406 \_SB.PCI0.VID.LCD0._BCM (Arg0)
16407 }
16408 ElseIf (\NBCF)
16409 {
16410 Local0 = Match (\_SB.PCI0.LPC.EC.BRTW, MEQ, Arg0, MTR, 0x00, 0x02)
16411 If ((Local0 != Ones))
16412 {
16413 Local1 = (Local0 - 0x02)
16414 \VBRC (Local1)
16415 \BRLV = Local1
16416 }
16417 }
16418 }
16419
16420 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
16421 {
16422 If (((\WIN7 != 0x00) && \_SB.PCI0.PEG.VID.ISOP ()))
16423 {
16424 Return (\_SB.PCI0.VID.LCD0._BQC ())
16425 }
16426 Else
16427 {
16428 Local0 = \BRLV
16429 Local1 = (Local0 + 0x02)
16430 If ((Local1 <= 0x11))
16431 {
16432 Return (DerefOf (\_SB.PCI0.LPC.EC.BRTW [Local1]))
16433 }
16434 Else
16435 {
16436 Return (Zero)
16437 }
16438 }
16439 }
16440 }
16441
16442 Scope (\_SB.PCI0.SAT1)
16443 {
16444 Device (PRT0)
16445 {
16446 Name (DIP0, 0x00)
16447 Name (FDEV, Zero)
16448 Name (FDRP, Zero)
16449 Name (HDTF, Buffer (0x0E)
16450 {
16451 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16452 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 // ......
16453 })
16454 Name (HETF, Buffer (0x15)
16455 {
16456 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16457 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, // ........
16458 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16459 })
16460 Name (ERTF, Buffer (0x15)
16461 {
16462 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16463 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16464 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16465 })
16466 Name (HPTF, Buffer (0x15)
16467 {
16468 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16469 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16470 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16471 })
16472 Name (HQTF, Buffer (0x1C)
16473 {
16474 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16475 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16476 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, // ........
16477 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16478 })
16479 Name (HXTF, Buffer (0x1C)
16480 {
16481 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16482 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16483 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, // ........
16484 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16485 })
16486 Name (DDTF, Buffer (0x0E)
16487 {
16488 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16489 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 // ......
16490 })
16491 CreateByteField (DDTF, 0x01, DTAT)
16492 CreateByteField (DDTF, 0x08, DTFT)
16493 Name (DGTF, Buffer (0x15)
16494 {
16495 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16496 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, // ........
16497 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16498 })
16499 CreateByteField (DGTF, 0x01, GTAT)
16500 CreateByteField (DGTF, 0x08, GTFT)
16501 Name (_ADR, 0xFFFF) // _ADR: Address
16502 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16503 {
16504 DIP0 = 0x00
16505 If ((SizeOf (Arg0) == 0x0200))
16506 {
16507 CreateWordField (Arg0, 0x9C, M078)
16508 If ((\DPP0 && (M078 & 0x08)))
16509 {
16510 DIP0 = 0x01
16511 }
16512
16513 CreateByteField (Arg0, 0x9D, BFDS)
16514 ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT0.FDEV */
16515 CreateByteField (Arg0, 0x9A, BFRP)
16516 ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT0.FDRP */
16517 }
16518 }
16519
16520 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16521 {
16522 If (DIP0)
16523 {
16524 If ((((DVS0 == 0x01) && ((FDEV & 0x01) == 0x01)) &&
16525 ((FDRP & 0x80) == 0x80)))
16526 {
16527 Return (HQTF) /* \_SB_.PCI0.SAT1.PRT0.HQTF */
16528 }
16529 Else
16530 {
16531 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT0.HPTF */
16532 }
16533 }
16534 ElseIf ((((DVS0 == 0x01) && ((FDEV & 0x01) ==
16535 0x01)) && ((FDRP & 0x80) == 0x80)))
16536 {
16537 Return (HETF) /* \_SB_.PCI0.SAT1.PRT0.HETF */
16538 }
16539 Else
16540 {
16541 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT0.HDTF */
16542 }
16543 }
16544 }
16545
16546 Device (PRT1)
16547 {
16548 Name (DIP0, 0x00)
16549 Name (FDEV, 0x00)
16550 Name (FDRP, 0x00)
16551 Name (HDTF, Buffer (0x0E)
16552 {
16553 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16554 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 // ......
16555 })
16556 Name (HETF, Buffer (0x15)
16557 {
16558 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16559 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, // ........
16560 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16561 })
16562 Name (ERTF, Buffer (0x15)
16563 {
16564 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16565 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16566 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16567 })
16568 Name (HPTF, Buffer (0x15)
16569 {
16570 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16571 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16572 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16573 })
16574 Name (HQTF, Buffer (0x1C)
16575 {
16576 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16577 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16578 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, // ........
16579 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16580 })
16581 Name (HXTF, Buffer (0x1C)
16582 {
16583 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16584 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16585 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, // ........
16586 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16587 })
16588 Name (DDTF, Buffer (0x0E)
16589 {
16590 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16591 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 // ......
16592 })
16593 CreateByteField (DDTF, 0x01, DTAT)
16594 CreateByteField (DDTF, 0x08, DTFT)
16595 Name (DGTF, Buffer (0x15)
16596 {
16597 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16598 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, // ........
16599 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16600 })
16601 CreateByteField (DGTF, 0x01, GTAT)
16602 CreateByteField (DGTF, 0x08, GTFT)
16603 Name (_ADR, 0x0001FFFF) // _ADR: Address
16604 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16605 {
16606 DIP0 = 0x00
16607 If ((SizeOf (Arg0) == 0x0200))
16608 {
16609 CreateWordField (Arg0, 0x9C, M078)
16610 If ((\DPP1 && (M078 & 0x08)))
16611 {
16612 DIP0 = 0x01
16613 }
16614
16615 CreateByteField (Arg0, 0x9D, BFDS)
16616 ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT1.FDEV */
16617 CreateByteField (Arg0, 0x9A, BFRP)
16618 ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT1.FDRP */
16619 }
16620 }
16621
16622 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16623 {
16624 If (DIP0)
16625 {
16626 If ((((DVS1 == 0x01) && ((FDEV & 0x01) == 0x01)) &&
16627 ((FDRP & 0x80) == 0x80)))
16628 {
16629 Return (HQTF) /* \_SB_.PCI0.SAT1.PRT1.HQTF */
16630 }
16631 Else
16632 {
16633 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT1.HPTF */
16634 }
16635 }
16636 ElseIf ((((DVS1 == 0x01) && ((FDEV & 0x01) ==
16637 0x01)) && ((FDRP & 0x80) == 0x80)))
16638 {
16639 Return (HETF) /* \_SB_.PCI0.SAT1.PRT1.HETF */
16640 }
16641 Else
16642 {
16643 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT1.HDTF */
16644 }
16645 }
16646 }
16647
16648 Device (PRT2)
16649 {
16650 Name (DIP0, 0x00)
16651 Name (FDEV, 0x00)
16652 Name (FDRP, 0x00)
16653 Name (HDTF, Buffer (0x0E)
16654 {
16655 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16656 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 // ......
16657 })
16658 Name (HETF, Buffer (0x15)
16659 {
16660 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16661 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, // ........
16662 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16663 })
16664 Name (ERTF, Buffer (0x15)
16665 {
16666 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16667 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16668 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16669 })
16670 Name (HPTF, Buffer (0x15)
16671 {
16672 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16673 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16674 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16675 })
16676 Name (HQTF, Buffer (0x1C)
16677 {
16678 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16679 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16680 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, // ........
16681 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16682 })
16683 Name (HXTF, Buffer (0x1C)
16684 {
16685 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16686 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16687 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, // ........
16688 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16689 })
16690 Name (DDTF, Buffer (0x0E)
16691 {
16692 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16693 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 // ......
16694 })
16695 CreateByteField (DDTF, 0x01, DTAT)
16696 CreateByteField (DDTF, 0x08, DTFT)
16697 Name (DGTF, Buffer (0x15)
16698 {
16699 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16700 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, // ........
16701 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16702 })
16703 CreateByteField (DGTF, 0x01, GTAT)
16704 CreateByteField (DGTF, 0x08, GTFT)
16705 Name (_ADR, 0x0002FFFF) // _ADR: Address
16706 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16707 {
16708 DIP0 = 0x00
16709 If ((SizeOf (Arg0) == 0x0200))
16710 {
16711 CreateWordField (Arg0, 0x9C, M078)
16712 If ((\DPP2 && (M078 & 0x08)))
16713 {
16714 DIP0 = 0x01
16715 }
16716
16717 CreateByteField (Arg0, 0x9D, BFDS)
16718 ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT2.FDEV */
16719 CreateByteField (Arg0, 0x9A, BFRP)
16720 ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT2.FDRP */
16721 }
16722 }
16723
16724 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16725 {
16726 If (DIP0)
16727 {
16728 If ((((DVS2 == 0x01) && ((FDEV & 0x01) == 0x01)) &&
16729 ((FDRP & 0x80) == 0x80)))
16730 {
16731 Return (HQTF) /* \_SB_.PCI0.SAT1.PRT2.HQTF */
16732 }
16733 Else
16734 {
16735 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT2.HPTF */
16736 }
16737 }
16738 ElseIf ((((DVS2 == 0x01) && ((FDEV & 0x01) ==
16739 0x01)) && ((FDRP & 0x80) == 0x80)))
16740 {
16741 Return (HETF) /* \_SB_.PCI0.SAT1.PRT2.HETF */
16742 }
16743 Else
16744 {
16745 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT2.HDTF */
16746 }
16747 }
16748 }
16749
16750 Device (PRT3)
16751 {
16752 Name (DIP0, 0x00)
16753 Name (FDEV, 0x00)
16754 Name (FDRP, 0x00)
16755 Name (HDTF, Buffer (0x0E)
16756 {
16757 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16758 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 // ......
16759 })
16760 Name (HETF, Buffer (0x15)
16761 {
16762 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16763 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, // ........
16764 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16765 })
16766 Name (ERTF, Buffer (0x15)
16767 {
16768 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16769 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16770 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16771 })
16772 Name (HPTF, Buffer (0x15)
16773 {
16774 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16775 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16776 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16777 })
16778 Name (HQTF, Buffer (0x1C)
16779 {
16780 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16781 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16782 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, // ........
16783 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16784 })
16785 Name (HXTF, Buffer (0x1C)
16786 {
16787 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16788 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16789 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, // ........
16790 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16791 })
16792 Name (DDTF, Buffer (0x0E)
16793 {
16794 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16795 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 // ......
16796 })
16797 CreateByteField (DDTF, 0x01, DTAT)
16798 CreateByteField (DDTF, 0x08, DTFT)
16799 Name (DGTF, Buffer (0x15)
16800 {
16801 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16802 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, // ........
16803 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16804 })
16805 CreateByteField (DGTF, 0x01, GTAT)
16806 CreateByteField (DGTF, 0x08, GTFT)
16807 Name (_ADR, 0x0003FFFF) // _ADR: Address
16808 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16809 {
16810 DIP0 = 0x00
16811 If ((SizeOf (Arg0) == 0x0200))
16812 {
16813 CreateWordField (Arg0, 0x9C, M078)
16814 If ((\DPP3 && (M078 & 0x08)))
16815 {
16816 DIP0 = 0x01
16817 }
16818
16819 CreateByteField (Arg0, 0x9D, BFDS)
16820 ToInteger (BFDS, FDEV) /* \_SB_.PCI0.SAT1.PRT3.FDEV */
16821 CreateByteField (Arg0, 0x9A, BFRP)
16822 ToInteger (BFRP, FDRP) /* \_SB_.PCI0.SAT1.PRT3.FDRP */
16823 }
16824 }
16825
16826 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16827 {
16828 If (DIP0)
16829 {
16830 If ((((DVS3 == 0x01) && ((FDEV & 0x01) == 0x01)) &&
16831 ((FDRP & 0x80) == 0x80)))
16832 {
16833 Return (HQTF) /* \_SB_.PCI0.SAT1.PRT3.HQTF */
16834 }
16835 Else
16836 {
16837 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT3.HPTF */
16838 }
16839 }
16840 ElseIf ((((DVS3 == 0x01) && ((FDEV & 0x01) ==
16841 0x01)) && ((FDRP & 0x80) == 0x80)))
16842 {
16843 Return (HETF) /* \_SB_.PCI0.SAT1.PRT3.HETF */
16844 }
16845 Else
16846 {
16847 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT3.HDTF */
16848 }
16849 }
16850 }
16851
16852 Device (PRT4)
16853 {
16854 Name (DIP0, 0x00)
16855 Name (HDTF, Buffer (0x0E)
16856 {
16857 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16858 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 // ......
16859 })
16860 Name (HETF, Buffer (0x15)
16861 {
16862 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16863 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x09, // ........
16864 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16865 })
16866 Name (ERTF, Buffer (0x15)
16867 {
16868 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16869 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16870 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16871 })
16872 Name (HPTF, Buffer (0x15)
16873 {
16874 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16875 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16876 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16877 })
16878 Name (HQTF, Buffer (0x1C)
16879 {
16880 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16881 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x10, 0x03, // ........
16882 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x09, 0x00, // ........
16883 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16884 })
16885 Name (HXTF, Buffer (0x1C)
16886 {
16887 /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x00, // ........
16888 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5, 0x5F, 0x00, // ......_.
16889 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x10, 0x03, 0x00, // ........
16890 /* 0018 */ 0x00, 0x00, 0xA0, 0xEF // ....
16891 })
16892 Name (DDTF, Buffer (0x0E)
16893 {
16894 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16895 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3 // ......
16896 })
16897 CreateByteField (DDTF, 0x01, DTAT)
16898 CreateByteField (DDTF, 0x08, DTFT)
16899 Name (DGTF, Buffer (0x15)
16900 {
16901 /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x00, // ........
16902 /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x03, // ........
16903 /* 0010 */ 0x00, 0x00, 0x00, 0xA0, 0xEF // .....
16904 })
16905 CreateByteField (DGTF, 0x01, GTAT)
16906 CreateByteField (DGTF, 0x08, GTFT)
16907 Name (_ADR, 0x0004FFFF) // _ADR: Address
16908 Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
16909 {
16910 DIP0 = 0x00
16911 If ((SizeOf (Arg0) == 0x0200))
16912 {
16913 CreateWordField (Arg0, 0x9C, M078)
16914 If ((\DPP4 && (M078 & 0x08)))
16915 {
16916 DIP0 = 0x01
16917 }
16918 }
16919 }
16920
16921 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
16922 {
16923 If (DIP0)
16924 {
16925 Return (HPTF) /* \_SB_.PCI0.SAT1.PRT4.HPTF */
16926 }
16927
16928 Return (HDTF) /* \_SB_.PCI0.SAT1.PRT4.HDTF */
16929 }
16930 }
16931 }
16932
16933 Scope (\_SB.PCI0.LPC.EC.BAT1)
16934 {
16935 Method (_Q4C, 0, NotSerialized) // _Qxx: EC Query
16936 {
16937 \_SB.PCI0.LPC.EC.CLPM ()
16938 If (\_SB.PCI0.LPC.EC.HB1A)
16939 {
16940 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4010)
16941 }
16942 Else
16943 {
16944 \_SB.PCI0.LPC.EC.HKEY.MHKQ (0x4011)
16945 If (\_SB.PCI0.LPC.EC.BAT1.XB1S)
16946 {
16947 Notify (\_SB.PCI0.LPC.EC.BAT1, 0x03) // Eject Request
16948 }
16949 }
16950 }
16951
16952 Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device
16953 {
16954 If (Arg0)
16955 {
16956 \_SB.PCI0.LPC.EC.BAT1.B1ST = 0x00
16957 \_SB.PCI0.LPC.EC.BAT1.SBLI = 0x01
16958 \_SB.PCI0.LPC.EC.BAT1.XB1S = 0x00
16959 }
16960 }
16961 }
16962
16963 Scope (\_PR.CPU0)
16964 {
16965 Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
16966 {
16967 Local0 = Zero
16968 Local0 = \_SB.PCI0.LPC.EC.LPMD ()
16969 If (!Local0)
16970 {
16971 If (((\_SB.PCI0.LPC.EC.AC._PSR () && \TCFA) || (!\_SB.PCI0.LPC.EC.AC._PSR () && \TCFD)))
16972 {
16973 If ((\_SB.PCI0.LPC.EC.TSL0 & 0x76))
16974 {
16975 Local0 = \LWST
16976 }
16977 }
16978 ElseIf ((\_SB.PCI0.LPC.EC.TSL0 & 0x77))
16979 {
16980 Local0 = \LWST
16981 }
16982
16983 If (!Local0)
16984 {
16985 If (\_PR.CLVL)
16986 {
16987 If (\PPCA)
16988 {
16989 Local0 = \PPCA
16990 }
16991 }
16992 ElseIf ((\PPCA || \FTPS))
16993 {
16994 If ((\FTPS <= \PPCA))
16995 {
16996 Local0 = \PPCA
16997 }
16998 Else
16999 {
17000 Local0 = \FTPS
17001 }
17002 }
17003 }
17004 }
17005
17006 If (((\GFPL && !Local0) || (!\GFPL && Local0)))
17007 {
17008 Local1 = 0x03E8
17009 While (\_SB.PCI0.LPC.EC.PIBS)
17010 {
17011 Sleep (One)
17012 Local1--
17013 If (!Local1)
17014 {
17015 \PPCR = Local0
17016 Return (Local0)
17017 }
17018 }
17019
17020 If (Local0)
17021 {
17022 If (!\GFPL)
17023 {
17024 \GFPL = One
17025 \_SB.PCI0.LPC.EC.PLSL = 0x04
17026 \_SB.PCI0.LPC.EC.PLTU = One
17027 \_SB.PCI0.LPC.EC.PLLS = 0x0D
17028 \_SB.PCI0.LPC.EC.PLMS = Zero
17029 }
17030 }
17031 ElseIf (\GFPL)
17032 {
17033 \GFPL = Zero
17034 \_SB.PCI0.LPC.EC.PLSL = 0x04
17035 If (\MTAU)
17036 {
17037 \_SB.PCI0.LPC.EC.PLTU = \MTAU
17038 }
17039 Else
17040 {
17041 \_SB.PCI0.LPC.EC.PLTU = 0x1C
17042 }
17043
17044 \_SB.PCI0.LPC.EC.PLLS = \PL1L
17045 \_SB.PCI0.LPC.EC.PLMS = \PL1M
17046 }
17047 }
17048
17049 If (\_PR.CLVL)
17050 {
17051 If ((Local0 == Zero))
17052 {
17053 If ((\CTDP < \FTPS))
17054 {
17055 Local0 = \FTPS
17056 }
17057 Else
17058 {
17059 Local0 = \CTDP
17060 }
17061 }
17062 ElseIf ((\CTDP >= Local0))
17063 {
17064 Local0 = \CTDP
17065 If ((\LWST > Local0))
17066 {
17067 Local0++
17068 }
17069 }
17070 }
17071
17072 \PPCR = Local0
17073 Return (Local0)
17074 }
17075
17076 Method (_PCT, 0, NotSerialized) // _PCT: Performance Control
17077 {
17078 If (\_PR.CLVL)
17079 {
17080 \CTDP = \_PR.CPPC
17081 }
17082
17083 If (((CFGD & One) && (PDC0 & One)))
17084 {
17085 Return (Package (0x02)
17086 {
17087 ResourceTemplate ()
17088 {
17089 Register (FFixedHW,
17090 0x00, // Bit Width
17091 0x00, // Bit Offset
17092 0x0000000000000000, // Address
17093 ,)
17094 },
17095
17096 ResourceTemplate ()
17097 {
17098 Register (FFixedHW,
17099 0x00, // Bit Width
17100 0x00, // Bit Offset
17101 0x0000000000000000, // Address
17102 ,)
17103 }
17104 })
17105 }
17106 }
17107
17108 Name (_PSS, Package (0x10) // _PSS: Performance Supported States
17109 {
17110 Package (0x06)
17111 {
17112 0x00000A8D,
17113 0x00003A98,
17114 0x0000000A,
17115 0x0000000A,
17116 0x00002500,
17117 0x00002500
17118 },
17119
17120 Package (0x06)
17121 {
17122 0x00000A8C,
17123 0x00003A98,
17124 0x0000000A,
17125 0x0000000A,
17126 0x00001B00,
17127 0x00001B00
17128 },
17129
17130 Package (0x06)
17131 {
17132 0x00000A28,
17133 0x0000379C,
17134 0x0000000A,
17135 0x0000000A,
17136 0x00001A00,
17137 0x00001A00
17138 },
17139
17140 Package (0x06)
17141 {
17142 0x00000960,
17143 0x000031D0,
17144 0x0000000A,
17145 0x0000000A,
17146 0x00001800,
17147 0x00001800
17148 },
17149
17150 Package (0x06)
17151 {
17152 0x000008FC,
17153 0x00002F8F,
17154 0x0000000A,
17155 0x0000000A,
17156 0x00001700,
17157 0x00001700
17158 },
17159
17160 Package (0x06)
17161 {
17162 0x00000834,
17163 0x00002A17,
17164 0x0000000A,
17165 0x0000000A,
17166 0x00001500,
17167 0x00001500
17168 },
17169
17170 Package (0x06)
17171 {
17172 0x000007D0,
17173 0x000027FA,
17174 0x0000000A,
17175 0x0000000A,
17176 0x00001400,
17177 0x00001400
17178 },
17179
17180 Package (0x06)
17181 {
17182 0x00000708,
17183 0x000022D0,
17184 0x0000000A,
17185 0x0000000A,
17186 0x00001200,
17187 0x00001200
17188 },
17189
17190 Package (0x06)
17191 {
17192 0x000006A4,
17193 0x0000204F,
17194 0x0000000A,
17195 0x0000000A,
17196 0x00001100,
17197 0x00001100
17198 },
17199
17200 Package (0x06)
17201 {
17202 0x00000640,
17203 0x00001E62,
17204 0x0000000A,
17205 0x0000000A,
17206 0x00001000,
17207 0x00001000
17208 },
17209
17210 Package (0x06)
17211 {
17212 0x00000578,
17213 0x000019A1,
17214 0x0000000A,
17215 0x0000000A,
17216 0x00000E00,
17217 0x00000E00
17218 },
17219
17220 Package (0x06)
17221 {
17222 0x00000514,
17223 0x000017D3,
17224 0x0000000A,
17225 0x0000000A,
17226 0x00000D00,
17227 0x00000D00
17228 },
17229
17230 Package (0x06)
17231 {
17232 0x0000044C,
17233 0x0000135D,
17234 0x0000000A,
17235 0x0000000A,
17236 0x00000B00,
17237 0x00000B00
17238 },
17239
17240 Package (0x06)
17241 {
17242 0x000003E8,
17243 0x000011B1,
17244 0x0000000A,
17245 0x0000000A,
17246 0x00000A00,
17247 0x00000A00
17248 },
17249
17250 Package (0x06)
17251 {
17252 0x00000320,
17253 0x00000D85,
17254 0x0000000A,
17255 0x0000000A,
17256 0x00000800,
17257 0x00000800
17258 },
17259
17260 Package (0x06)
17261 {
17262 0x000002F4,
17263 0x00000B81,
17264 0x0000000A,
17265 0x0000000A,
17266 0x00000700,
17267 0x00000800
17268 }
17269 })
17270 Package (0x06)
17271 {
17272 0x80000000,
17273 0x80000000,
17274 0x80000000,
17275 0x80000000,
17276 0x80000000,
17277 0x80000000
17278 }
17279
17280 Package (0x06)
17281 {
17282 0x80000000,
17283 0x80000000,
17284 0x80000000,
17285 0x80000000,
17286 0x80000000,
17287 0x80000000
17288 }
17289
17290 Package (0x06)
17291 {
17292 0x80000000,
17293 0x80000000,
17294 0x80000000,
17295 0x80000000,
17296 0x80000000,
17297 0x80000000
17298 }
17299
17300 Package (0x06)
17301 {
17302 0x80000000,
17303 0x80000000,
17304 0x80000000,
17305 0x80000000,
17306 0x80000000,
17307 0x80000000
17308 }
17309
17310 Package (0x06)
17311 {
17312 0x80000000,
17313 0x80000000,
17314 0x80000000,
17315 0x80000000,
17316 0x80000000,
17317 0x80000000
17318 }
17319
17320 Package (0x06)
17321 {
17322 0x80000000,
17323 0x80000000,
17324 0x80000000,
17325 0x80000000,
17326 0x80000000,
17327 0x80000000
17328 }
17329
17330 Package (0x06)
17331 {
17332 0x80000000,
17333 0x80000000,
17334 0x80000000,
17335 0x80000000,
17336 0x80000000,
17337 0x80000000
17338 }
17339
17340 Package (0x06)
17341 {
17342 0x80000000,
17343 0x80000000,
17344 0x80000000,
17345 0x80000000,
17346 0x80000000,
17347 0x80000000
17348 }
17349
17350 Package (0x06)
17351 {
17352 0x80000000,
17353 0x80000000,
17354 0x80000000,
17355 0x80000000,
17356 0x80000000,
17357 0x80000000
17358 }
17359
17360 Package (0x06)
17361 {
17362 0x80000000,
17363 0x80000000,
17364 0x80000000,
17365 0x80000000,
17366 0x80000000,
17367 0x80000000
17368 }
17369
17370 Package (0x06)
17371 {
17372 0x80000000,
17373 0x80000000,
17374 0x80000000,
17375 0x80000000,
17376 0x80000000,
17377 0x80000000
17378 }
17379
17380 Package (0x06)
17381 {
17382 0x80000000,
17383 0x80000000,
17384 0x80000000,
17385 0x80000000,
17386 0x80000000,
17387 0x80000000
17388 }
17389
17390 Package (0x06)
17391 {
17392 0x80000000,
17393 0x80000000,
17394 0x80000000,
17395 0x80000000,
17396 0x80000000,
17397 0x80000000
17398 }
17399
17400 Package (0x06)
17401 {
17402 0x80000000,
17403 0x80000000,
17404 0x80000000,
17405 0x80000000,
17406 0x80000000,
17407 0x80000000
17408 }
17409
17410 Package (0x06)
17411 {
17412 0x80000000,
17413 0x80000000,
17414 0x80000000,
17415 0x80000000,
17416 0x80000000,
17417 0x80000000
17418 }
17419
17420 Package (0x06)
17421 {
17422 0x80000000,
17423 0x80000000,
17424 0x80000000,
17425 0x80000000,
17426 0x80000000,
17427 0x80000000
17428 }
17429
17430 Name (PSDF, Zero)
17431 Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies
17432 {
17433 If (!PSDF)
17434 {
17435 DerefOf (HPSD [Zero]) [0x04] = TCNT /* \TCNT */
17436 DerefOf (SPSD [Zero]) [0x04] = TCNT /* \TCNT */
17437 PSDF = Ones
17438 }
17439
17440 If ((PDC0 & 0x0800))
17441 {
17442 Return (HPSD) /* \_PR_.CPU0.HPSD */
17443 }
17444
17445 Return (SPSD) /* \_PR_.CPU0.SPSD */
17446 }
17447
17448 Name (HPSD, Package (0x01)
17449 {
17450 Package (0x05)
17451 {
17452 0x05,
17453 Zero,
17454 Zero,
17455 0xFE,
17456 0x80
17457 }
17458 })
17459 Name (SPSD, Package (0x01)
17460 {
17461 Package (0x05)
17462 {
17463 0x05,
17464 Zero,
17465 Zero,
17466 0xFC,
17467 0x80
17468 }
17469 })
17470 }
17471
17472 Scope (\)
17473 {
17474 Name (SSDT, Package (0x0C)
17475 {
17476 "CPU0IST ",
17477 0xD4B57018,
17478 0x000007F5,
17479 "APIST ",
17480 0xDCD2E618,
17481 0x000005AA,
17482 "CPU0CST ",
17483 0xDCCD7918,
17484 0x00000436,
17485 "APCST ",
17486 0xDCD2FC18,
17487 0x00000119
17488 })
17489 Name (\PDC0, 0x80000000)
17490 Name (\PDC1, 0x80000000)
17491 Name (\PDC2, 0x80000000)
17492 Name (\PDC3, 0x80000000)
17493 Name (\PDC4, 0x80000000)
17494 Name (\PDC5, 0x80000000)
17495 Name (\PDC6, 0x80000000)
17496 Name (\PDC7, 0x80000000)
17497 Name (\SDTL, Zero)
17498 }
17499
17500 Scope (\_PR)
17501 {
17502 OperationRegion (PPMT, SystemMemory, 0xDCE49F98, 0x003A)
17503 Field (PPMT, AnyAcc, Lock, Preserve)
17504 {
17505 PGRV, 8,
17506 CFGD, 32,
17507 Offset (0x06),
17508 ACRT, 8,
17509 APSV, 8,
17510 AAC0, 8,
17511 CPID, 32,
17512 CPPC, 8,
17513 CCTP, 8,
17514 CLVL, 8,
17515 CBMI, 8,
17516 PL10, 16,
17517 PL20, 16,
17518 PLW0, 8,
17519 CTC0, 8,
17520 TAR0, 8,
17521 PPC0, 8,
17522 PL11, 16,
17523 PL21, 16,
17524 PLW1, 8,
17525 CTC1, 8,
17526 TAR1, 8,
17527 PPC1, 8,
17528 PL12, 16,
17529 PL22, 16,
17530 PLW2, 8,
17531 CTC2, 8,
17532 TAR2, 8,
17533 PPC2, 8,
17534 C3MW, 8,
17535 C6MW, 8,
17536 C7MW, 8,
17537 CDMW, 8,
17538 C3LT, 16,
17539 C6LT, 16,
17540 C7LT, 16,
17541 CDLT, 16,
17542 CDLV, 16,
17543 CDPW, 16,
17544 MPMF, 8
17545 }
17546 }
17547
17548 Scope (\_PR.CPU0)
17549 {
17550 Name (HI0, Zero)
17551 Name (HC0, Zero)
17552 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17553 {
17554 If (CondRefOf (\_PR.CPU0._PPC))
17555 {
17556 \_PR.CPU0._PPC () = CPPC /* \_PR_.CPPC */
17557 }
17558
17559 Local0 = CPDC (Arg0)
17560 GCAP (Local0)
17561 Return (Local0)
17562 }
17563
17564 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17565 {
17566 Local0 = COSC (Arg0, Arg1, Arg2, Arg3)
17567 GCAP (Local0)
17568 Return (Local0)
17569 }
17570
17571 Method (CPDC, 1, NotSerialized)
17572 {
17573 CreateDWordField (Arg0, Zero, REVS)
17574 CreateDWordField (Arg0, 0x04, SIZE)
17575 Local0 = SizeOf (Arg0)
17576 Local1 = (Local0 - 0x08)
17577 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
17578 Name (STS0, Buffer (0x04)
17579 {
17580 0x00, 0x00, 0x00, 0x00 // ....
17581 })
17582 Concatenate (STS0, TEMP, Local2)
17583 Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2))
17584 }
17585
17586 Method (COSC, 4, NotSerialized)
17587 {
17588 CreateDWordField (Arg3, Zero, STS0)
17589 CreateDWordField (Arg3, 0x04, CAP0)
17590 CreateDWordField (Arg0, Zero, IID0)
17591 CreateDWordField (Arg0, 0x04, IID1)
17592 CreateDWordField (Arg0, 0x08, IID2)
17593 CreateDWordField (Arg0, 0x0C, IID3)
17594 Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
17595 CreateDWordField (UID0, Zero, EID0)
17596 CreateDWordField (UID0, 0x04, EID1)
17597 CreateDWordField (UID0, 0x08, EID2)
17598 CreateDWordField (UID0, 0x0C, EID3)
17599 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
17600 IID2 == EID2) && (IID3 == EID3))))
17601 {
17602 STS0 = 0x06
17603 Return (Arg3)
17604 }
17605
17606 If ((Arg1 != One))
17607 {
17608 STS0 = 0x0A
17609 Return (Arg3)
17610 }
17611
17612 Return (Arg3)
17613 }
17614
17615 Method (GCAP, 1, NotSerialized)
17616 {
17617 CreateDWordField (Arg0, Zero, STS0)
17618 CreateDWordField (Arg0, 0x04, CAP0)
17619 If (((STS0 == 0x06) || (STS0 == 0x0A)))
17620 {
17621 Return (Zero)
17622 }
17623
17624 If ((STS0 & One))
17625 {
17626 CAP0 &= 0x0BFF
17627 Return (Zero)
17628 }
17629
17630 PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */
17631 If ((CFGD & 0x7A))
17632 {
17633 If ((((CFGD & 0x0200) && (PDC0 & 0x18)) && !
17634 (SDTL & 0x02)))
17635 {
17636 SDTL |= 0x02
17637 OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
17638 Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
17639 }
17640 }
17641
17642 Return (Zero)
17643 }
17644 }
17645
17646 Scope (\_PR.CPU1)
17647 {
17648 Name (HI1, Zero)
17649 Name (HC1, Zero)
17650 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17651 {
17652 Local0 = \_PR.CPU0.CPDC (Arg0)
17653 GCAP (Local0)
17654 Return (Local0)
17655 }
17656
17657 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17658 {
17659 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17660 GCAP (Local0)
17661 Return (Local0)
17662 }
17663
17664 Method (GCAP, 1, NotSerialized)
17665 {
17666 CreateDWordField (Arg0, Zero, STS1)
17667 CreateDWordField (Arg0, 0x04, CAP1)
17668 If (((STS1 == 0x06) || (STS1 == 0x0A)))
17669 {
17670 Return (Zero)
17671 }
17672
17673 If ((STS1 & One))
17674 {
17675 CAP1 &= 0x0BFF
17676 Return (Zero)
17677 }
17678
17679 PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */
17680 If (((PDC1 & 0x09) == 0x09))
17681 {
17682 APPT ()
17683 }
17684
17685 If ((PDC1 & 0x18))
17686 {
17687 APCT ()
17688 }
17689
17690 PDC0 = PDC1 /* \PDC1 */
17691 Return (Zero)
17692 }
17693
17694 Method (APCT, 0, NotSerialized)
17695 {
17696 If (((CFGD & 0x7A) && !(SDTL & 0x20)))
17697 {
17698 SDTL |= 0x20
17699 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
17700 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
17701 }
17702 }
17703
17704 Method (APPT, 0, NotSerialized)
17705 {
17706 If (((CFGD & One) && !(SDTL & 0x10)))
17707 {
17708 SDTL |= 0x10
17709 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
17710 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
17711 }
17712 }
17713 }
17714
17715 Scope (\_PR.CPU2)
17716 {
17717 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17718 {
17719 Local0 = \_PR.CPU0.CPDC (Arg0)
17720 GCAP (Local0)
17721 Return (Local0)
17722 }
17723
17724 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17725 {
17726 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17727 GCAP (Local0)
17728 Return (Local0)
17729 }
17730
17731 Method (GCAP, 1, NotSerialized)
17732 {
17733 CreateDWordField (Arg0, Zero, STS2)
17734 CreateDWordField (Arg0, 0x04, CAP2)
17735 If (((STS2 == 0x06) || (STS2 == 0x0A)))
17736 {
17737 Return (Zero)
17738 }
17739
17740 If ((STS2 & One))
17741 {
17742 CAP2 &= 0x0BFF
17743 Return (Zero)
17744 }
17745
17746 PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */
17747 If (((PDC2 & 0x09) == 0x09))
17748 {
17749 \_PR.CPU1.APPT ()
17750 }
17751
17752 If ((PDC2 & 0x18))
17753 {
17754 \_PR.CPU1.APCT ()
17755 }
17756
17757 PDC0 = PDC2 /* \PDC2 */
17758 Return (Zero)
17759 }
17760 }
17761
17762 Scope (\_PR.CPU3)
17763 {
17764 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17765 {
17766 Local0 = \_PR.CPU0.CPDC (Arg0)
17767 GCAP (Local0)
17768 Return (Local0)
17769 }
17770
17771 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17772 {
17773 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17774 GCAP (Local0)
17775 Return (Local0)
17776 }
17777
17778 Method (GCAP, 1, NotSerialized)
17779 {
17780 CreateDWordField (Arg0, Zero, STS3)
17781 CreateDWordField (Arg0, 0x04, CAP3)
17782 If (((STS3 == 0x06) || (STS3 == 0x0A)))
17783 {
17784 Return (Zero)
17785 }
17786
17787 If ((STS3 & One))
17788 {
17789 CAP3 &= 0x0BFF
17790 Return (Zero)
17791 }
17792
17793 PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */
17794 If (((PDC3 & 0x09) == 0x09))
17795 {
17796 \_PR.CPU1.APPT ()
17797 }
17798
17799 If ((PDC3 & 0x18))
17800 {
17801 \_PR.CPU1.APCT ()
17802 }
17803
17804 PDC0 = PDC3 /* \PDC3 */
17805 Return (Zero)
17806 }
17807 }
17808
17809 Scope (\_PR.CPU4)
17810 {
17811 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17812 {
17813 Local0 = \_PR.CPU0.CPDC (Arg0)
17814 GCAP (Local0)
17815 Return (Local0)
17816 }
17817
17818 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17819 {
17820 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17821 GCAP (Local0)
17822 Return (Local0)
17823 }
17824
17825 Method (GCAP, 1, NotSerialized)
17826 {
17827 CreateDWordField (Arg0, Zero, STS4)
17828 CreateDWordField (Arg0, 0x04, CAP4)
17829 If (((STS4 == 0x06) || (STS4 == 0x0A)))
17830 {
17831 Return (Zero)
17832 }
17833
17834 If ((STS4 & One))
17835 {
17836 CAP4 &= 0x0BFF
17837 Return (Zero)
17838 }
17839
17840 PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */
17841 If (((PDC4 & 0x09) == 0x09))
17842 {
17843 \_PR.CPU1.APPT ()
17844 }
17845
17846 If ((PDC4 & 0x18))
17847 {
17848 \_PR.CPU1.APCT ()
17849 }
17850
17851 PDC0 = PDC4 /* \PDC4 */
17852 Return (Zero)
17853 }
17854 }
17855
17856 Scope (\_PR.CPU5)
17857 {
17858 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17859 {
17860 Local0 = \_PR.CPU0.CPDC (Arg0)
17861 GCAP (Local0)
17862 Return (Local0)
17863 }
17864
17865 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17866 {
17867 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17868 GCAP (Local0)
17869 Return (Local0)
17870 }
17871
17872 Method (GCAP, 1, NotSerialized)
17873 {
17874 CreateDWordField (Arg0, Zero, STS5)
17875 CreateDWordField (Arg0, 0x04, CAP5)
17876 If (((STS5 == 0x06) || (STS5 == 0x0A)))
17877 {
17878 Return (Zero)
17879 }
17880
17881 If ((STS5 & One))
17882 {
17883 CAP5 &= 0x0BFF
17884 Return (Zero)
17885 }
17886
17887 PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */
17888 If (((PDC5 & 0x09) == 0x09))
17889 {
17890 \_PR.CPU1.APPT ()
17891 }
17892
17893 If ((PDC5 & 0x18))
17894 {
17895 \_PR.CPU1.APCT ()
17896 }
17897
17898 PDC0 = PDC5 /* \PDC5 */
17899 Return (Zero)
17900 }
17901 }
17902
17903 Scope (\_PR.CPU6)
17904 {
17905 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17906 {
17907 Local0 = \_PR.CPU0.CPDC (Arg0)
17908 GCAP (Local0)
17909 Return (Local0)
17910 }
17911
17912 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17913 {
17914 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17915 GCAP (Local0)
17916 Return (Local0)
17917 }
17918
17919 Method (GCAP, 1, NotSerialized)
17920 {
17921 CreateDWordField (Arg0, Zero, STS6)
17922 CreateDWordField (Arg0, 0x04, CAP6)
17923 If (((STS6 == 0x06) || (STS6 == 0x0A)))
17924 {
17925 Return (Zero)
17926 }
17927
17928 If ((STS6 & One))
17929 {
17930 CAP6 &= 0x0BFF
17931 Return (Zero)
17932 }
17933
17934 PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */
17935 If (((PDC6 & 0x09) == 0x09))
17936 {
17937 \_PR.CPU1.APPT ()
17938 }
17939
17940 If ((PDC6 & 0x18))
17941 {
17942 \_PR.CPU1.APCT ()
17943 }
17944
17945 PDC0 = PDC6 /* \PDC6 */
17946 Return (Zero)
17947 }
17948 }
17949
17950 Scope (\_PR.CPU7)
17951 {
17952 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
17953 {
17954 Local0 = \_PR.CPU0.CPDC (Arg0)
17955 GCAP (Local0)
17956 Return (Local0)
17957 }
17958
17959 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
17960 {
17961 Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3)
17962 GCAP (Local0)
17963 Return (Local0)
17964 }
17965
17966 Method (GCAP, 1, NotSerialized)
17967 {
17968 CreateDWordField (Arg0, Zero, STS7)
17969 CreateDWordField (Arg0, 0x04, CAP7)
17970 If (((STS7 == 0x06) || (STS7 == 0x0A)))
17971 {
17972 Return (Zero)
17973 }
17974
17975 If ((STS7 & One))
17976 {
17977 CAP7 &= 0x0BFF
17978 Return (Zero)
17979 }
17980
17981 PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */
17982 If (((PDC7 & 0x09) == 0x09))
17983 {
17984 \_PR.CPU1.APPT ()
17985 }
17986
17987 If ((PDC7 & 0x18))
17988 {
17989 \_PR.CPU1.APCT ()
17990 }
17991
17992 PDC0 = PDC7 /* \PDC7 */
17993 Return (Zero)
17994 }
17995 }
17996
17997 OperationRegion (SANV, SystemMemory, 0xDCE48D98, 0x0141)
17998 Field (SANV, AnyAcc, Lock, Preserve)
17999 {
18000 SARV, 32,
18001 ASLB, 32,
18002 IMON, 8,
18003 IGDS, 8,
18004 CADL, 8,
18005 PADL, 8,
18006 CSTE, 16,
18007 NSTE, 16,
18008 DID9, 32,
18009 DIDA, 32,
18010 DIDB, 32,
18011 IBTT, 8,
18012 IPAT, 8,
18013 IPSC, 8,
18014 IBLC, 8,
18015 IBIA, 8,
18016 ISSC, 8,
18017 IPCF, 8,
18018 IDMS, 8,
18019 IF1E, 8,
18020 HVCO, 8,
18021 NXD1, 32,
18022 NXD2, 32,
18023 NXD3, 32,
18024 NXD4, 32,
18025 NXD5, 32,
18026 NXD6, 32,
18027 NXD7, 32,
18028 NXD8, 32,
18029 GSMI, 8,
18030 PAVP, 8,
18031 Offset (0x49),
18032 KSV0, 32,
18033 KSV1, 8,
18034 BBAR, 32,
18035 BLCS, 8,
18036 BRTL, 8,
18037 ALSE, 8,
18038 ALAF, 8,
18039 LLOW, 8,
18040 LHIH, 8,
18041 ALFP, 8,
18042 AUDA, 32,
18043 AUDB, 32,
18044 Offset (0x65),
18045 DIDC, 32,
18046 DIDD, 32,
18047 DIDE, 32,
18048 DIDF, 32,
18049 CADR, 32,
18050 CCNT, 8,
18051 Offset (0xC8),
18052 SGMD, 8,
18053 SGFL, 8,
18054 PWOK, 8,
18055 HLRS, 8,
18056 PWEN, 8,
18057 PRST, 8,
18058 CPSP, 32,
18059 EECP, 8,
18060 EVCP, 16,
18061 XBAS, 32,
18062 GBAS, 16,
18063 SGGP, 8,
18064 NVGA, 32,
18065 NVHA, 32,
18066 AMDA, 32,
18067 NDID, 8,
18068 DID1, 32,
18069 DID2, 32,
18070 DID3, 32,
18071 DID4, 32,
18072 DID5, 32,
18073 DID6, 32,
18074 DID7, 32,
18075 DID8, 32,
18076 OBS1, 32,
18077 OBS2, 32,
18078 OBS3, 32,
18079 OBS4, 32,
18080 OBS5, 32,
18081 OBS6, 32,
18082 OBS7, 32,
18083 OBS8, 32,
18084 LTRA, 8,
18085 OBFA, 8,
18086 LTRB, 8,
18087 OBFB, 8,
18088 LTRC, 8,
18089 OBFC, 8,
18090 SMSL, 16,
18091 SNSL, 16,
18092 P0UB, 8,
18093 P1UB, 8,
18094 P2UB, 8,
18095 EDPV, 8,
18096 NXDX, 32,
18097 DIDX, 32,
18098 PCSL, 8,
18099 SC7A, 8
18100 }
18101
18102 Scope (\_SB.PCI0.B0D3)
18103 {
18104 Name (BARA, 0x80000000)
18105 Name (TBAR, Zero)
18106 Name (TCMD, Zero)
18107 Name (MODB, Zero)
18108 Name (MODC, Zero)
18109 Method (_STA, 0, NotSerialized) // _STA: Status
18110 {
18111 If ((AUVD != 0xFFFF))
18112 {
18113 Return (0x0F)
18114 }
18115
18116 Return (Zero)
18117 }
18118
18119 Method (_INI, 0, NotSerialized) // _INI: Initialize
18120 {
18121 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18122 ABAR & 0xFFFFC000) != Zero)))
18123 {
18124 BARA = ABAR /* \_SB_.PCI0.B0D3.ABAR */
18125 }
18126 }
18127
18128 OperationRegion (RPCS, SystemMemory, \XBAS, 0x00018040)
18129 Field (RPCS, AnyAcc, NoLock, Preserve)
18130 {
18131 Offset (0x18004),
18132 ACMD, 8,
18133 Offset (0x18010),
18134 ABAR, 32
18135 }
18136
18137 OperationRegion (RPCZ, PCI_Config, Zero, 0x40)
18138 Field (RPCZ, DWordAcc, Lock, Preserve)
18139 {
18140 AUVD, 16
18141 }
18142
18143 Method (ASTR, 0, Serialized)
18144 {
18145 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18146 ABAR & 0xFFFFC000) != Zero)))
18147 {
18148 BBAR = (ABAR & 0xFFFFFFF0)
18149 BBAR += 0x1000
18150 OperationRegion (RPCY, SystemMemory, BBAR, 0x25)
18151 Field (RPCY, DWordAcc, NoLock, Preserve)
18152 {
18153 Offset (0x0C),
18154 EM4W, 32,
18155 EMWA, 32,
18156 Offset (0x1C),
18157 ADWA, 32
18158 }
18159
18160 EMWA = AUDA /* \AUDA */
18161 ADWA = AUDB /* \AUDB */
18162 }
18163 }
18164
18165 Method (VSTR, 1, Serialized)
18166 {
18167 Name (CONT, 0x03E8)
18168 Name (ADDR, 0x80000000)
18169 ADDR = Arg0
18170 OperationRegion (CCDC, SystemMemory, ADDR, 0x04)
18171 Field (CCDC, ByteAcc, NoLock, Preserve)
18172 {
18173 CDEC, 32
18174 }
18175
18176 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18177 ABAR & 0xFFFFC000) != Zero)))
18178 {
18179 If ((CDEC != Zero))
18180 {
18181 BBAR = (ABAR & 0xFFFFFFF0)
18182 OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
18183 Field (IPCV, DWordAcc, NoLock, Preserve)
18184 {
18185 Offset (0x60),
18186 AVIC, 32,
18187 Offset (0x68),
18188 AIRS, 16
18189 }
18190
18191 CONT = 0x03E8
18192 While ((((AIRS & One) == One) && (CONT != Zero)))
18193 {
18194 Stall (One)
18195 CONT--
18196 }
18197
18198 AIRS |= 0x02
18199 AVIC = CDEC /* \_SB_.PCI0.B0D3.VSTR.CDEC */
18200 AIRS |= One
18201 CONT = 0x03E8
18202 While ((((AIRS & One) == One) && (CONT != Zero)))
18203 {
18204 Stall (One)
18205 CONT--
18206 }
18207 }
18208 }
18209 }
18210
18211 Method (CXDC, 0, Serialized)
18212 {
18213 Name (IDDX, 0x80000000)
18214 If (((CADR != Zero) && (CCNT != Zero)))
18215 {
18216 IDDX = CADR /* \CADR */
18217 While ((IDDX < (CADR + (CCNT * 0x04))))
18218 {
18219 VSTR (IDDX)
18220 IDDX += 0x04
18221 }
18222 }
18223 }
18224
18225 Method (ARST, 0, Serialized)
18226 {
18227 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18228 ABAR & 0xFFFFC000) != Zero)))
18229 {
18230 BBAR = (ABAR & 0xFFFFFFF0)
18231 OperationRegion (IPCV, SystemMemory, BBAR, 0xBF)
18232 Field (IPCV, AnyAcc, NoLock, Preserve)
18233 {
18234 Offset (0x08),
18235 CRST, 32,
18236 Offset (0x4C),
18237 CORB, 32,
18238 Offset (0x5C),
18239 RIRB, 32,
18240 Offset (0x80),
18241 OSD1, 32,
18242 Offset (0xA0),
18243 OSD2, 32
18244 }
18245
18246 CORB &= 0xFFFFFFFD
18247 RIRB &= 0xFFFFFFFD
18248 OSD1 &= 0xFFFFFFFD
18249 OSD2 &= 0xFFFFFFFD
18250 CRST &= 0xFFFFFFFE
18251 }
18252 }
18253
18254 Method (AINI, 0, Serialized)
18255 {
18256 Name (CONT, 0x03E8)
18257 If ((((ABAR & 0xFFFFC004) != 0xFFFFC004) && ((
18258 ABAR & 0xFFFFC000) != Zero)))
18259 {
18260 BBAR = (ABAR & 0xFFFFFFF0)
18261 OperationRegion (IPCV, SystemMemory, BBAR, 0x70)
18262 Field (IPCV, DWordAcc, NoLock, Preserve)
18263 {
18264 GCAP, 16,
18265 Offset (0x08),
18266 GCTL, 32,
18267 Offset (0x0E),
18268 SSTS, 8,
18269 Offset (0x60),
18270 AVIC, 32,
18271 Offset (0x68),
18272 AIRS, 16
18273 }
18274
18275 GCTL |= One
18276 CONT = 0x03E8
18277 While ((((GCTL & One) == Zero) && (CONT != Zero)))
18278 {
18279 Stall (One)
18280 CONT--
18281 }
18282
18283 GCAP &= 0xFFFF
18284 SSTS |= 0x0F
18285 GCTL &= 0xFFFFFFFE
18286 CONT = 0x03E8
18287 While ((((GCTL & One) == One) && (CONT != Zero)))
18288 {
18289 Stall (One)
18290 CONT--
18291 }
18292
18293 GCTL |= One
18294 CONT = 0x03E8
18295 While ((((GCTL & One) == Zero) && (CONT != Zero)))
18296 {
18297 Stall (One)
18298 CONT--
18299 }
18300 }
18301 }
18302
18303 Method (ABWA, 1, Serialized)
18304 {
18305 If (Arg0)
18306 {
18307 If ((((ABAR & 0xFFFFC004) == 0xFFFFC004) || ((ABAR & 0xFFFFC000
18308 ) == Zero)))
18309 {
18310 If ((BARA != 0x80000000))
18311 {
18312 TBAR = ABAR /* \_SB_.PCI0.B0D3.ABAR */
18313 TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
18314 ABAR = BARA /* \_SB_.PCI0.B0D3.BARA */
18315 ACMD = 0x06
18316 MODB = One
18317 }
18318 }
18319 ElseIf (((ACMD & 0x06) != 0x06))
18320 {
18321 TCMD = ACMD /* \_SB_.PCI0.B0D3.ACMD */
18322 ACMD = 0x06
18323 MODC = One
18324 }
18325 }
18326 Else
18327 {
18328 If (MODB)
18329 {
18330 If ((ABAR == BARA))
18331 {
18332 ABAR = TBAR /* \_SB_.PCI0.B0D3.TBAR */
18333 ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
18334 }
18335 }
18336
18337 If (MODC)
18338 {
18339 ACMD = TCMD /* \_SB_.PCI0.B0D3.TCMD */
18340 }
18341 }
18342 }
18343 }
18344
18345 Scope (\_SB.PCI0.VID)
18346 {
18347 Scope (\_SB.PCI0)
18348 {
18349 OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
18350 Field (MCHP, AnyAcc, NoLock, Preserve)
18351 {
18352 Offset (0x14),
18353 AUDE, 8,
18354 Offset (0x60),
18355 TASM, 10,
18356 Offset (0x62)
18357 }
18358 }
18359
18360 OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
18361 Field (IGDP, AnyAcc, NoLock, Preserve)
18362 {
18363 Offset (0x12),
18364 , 1,
18365 GIVD, 1,
18366 , 2,
18367 GUMA, 3,
18368 Offset (0x14),
18369 , 4,
18370 GMFN, 1,
18371 Offset (0x18),
18372 Offset (0xA4),
18373 ASLE, 8,
18374 Offset (0xA8),
18375 GSSE, 1,
18376 GSSB, 14,
18377 GSES, 1,
18378 Offset (0xB0),
18379 , 12,
18380 CDVL, 1,
18381 Offset (0xB2),
18382 Offset (0xB5),
18383 LBPC, 8,
18384 Offset (0xBC),
18385 ASLS, 32
18386 }
18387
18388 OperationRegion (IGDM, SystemMemory, \ASLB, 0x2000)
18389 Field (IGDM, AnyAcc, NoLock, Preserve)
18390 {
18391 SIGN, 128,
18392 SIZE, 32,
18393 OVER, 32,
18394 SVER, 256,
18395 VVER, 128,
18396 GVER, 128,
18397 MBOX, 32,
18398 DMOD, 32,
18399 PCON, 32,
18400 DVER, 64,
18401 Offset (0x100),
18402 DRDY, 32,
18403 CSTS, 32,
18404 CEVT, 32,
18405 Offset (0x120),
18406 DIDL, 32,
18407 DDL2, 32,
18408 DDL3, 32,
18409 DDL4, 32,
18410 DDL5, 32,
18411 DDL6, 32,
18412 DDL7, 32,
18413 DDL8, 32,
18414 CPDL, 32,
18415 CPL2, 32,
18416 CPL3, 32,
18417 CPL4, 32,
18418 CPL5, 32,
18419 CPL6, 32,
18420 CPL7, 32,
18421 CPL8, 32,
18422 CADL, 32,
18423 CAL2, 32,
18424 CAL3, 32,
18425 CAL4, 32,
18426 CAL5, 32,
18427 CAL6, 32,
18428 CAL7, 32,
18429 CAL8, 32,
18430 NADL, 32,
18431 NDL2, 32,
18432 NDL3, 32,
18433 NDL4, 32,
18434 NDL5, 32,
18435 NDL6, 32,
18436 NDL7, 32,
18437 NDL8, 32,
18438 ASLP, 32,
18439 TIDX, 32,
18440 CHPD, 32,
18441 CLID, 32,
18442 CDCK, 32,
18443 SXSW, 32,
18444 EVTS, 32,
18445 CNOT, 32,
18446 NRDY, 32,
18447 DDL9, 32,
18448 DD10, 32,
18449 DD11, 32,
18450 DD12, 32,
18451 DD13, 32,
18452 DD14, 32,
18453 DD15, 32,
18454 CPL9, 32,
18455 CP10, 32,
18456 CP11, 32,
18457 CP12, 32,
18458 CP13, 32,
18459 CP14, 32,
18460 CP15, 32,
18461 Offset (0x200),
18462 SCIE, 1,
18463 GEFC, 4,
18464 GXFC, 3,
18465 GESF, 8,
18466 Offset (0x204),
18467 PARM, 32,
18468 DSLP, 32,
18469 Offset (0x300),
18470 ARDY, 32,
18471 ASLC, 32,
18472 TCHE, 32,
18473 ALSI, 32,
18474 BCLP, 32,
18475 PFIT, 32,
18476 CBLV, 32,
18477 BCLM, 320,
18478 CPFM, 32,
18479 EPFM, 32,
18480 PLUT, 592,
18481 PFMB, 32,
18482 CCDV, 32,
18483 PCFT, 32,
18484 SROT, 32,
18485 IUER, 32,
18486 FDSP, 64,
18487 FDSS, 32,
18488 STAT, 32,
18489 Offset (0x400),
18490 GVD1, 49152,
18491 PHED, 32,
18492 BDDC, 2048
18493 }
18494
18495 Name (DBTB, Package (0x15)
18496 {
18497 Zero,
18498 0x07,
18499 0x38,
18500 0x01C0,
18501 0x0E00,
18502 0x3F,
18503 0x01C7,
18504 0x0E07,
18505 0x01F8,
18506 0x0E38,
18507 0x0FC0,
18508 Zero,
18509 Zero,
18510 Zero,
18511 Zero,
18512 Zero,
18513 0x7000,
18514 0x7007,
18515 0x7038,
18516 0x71C0,
18517 0x7E00
18518 })
18519 Name (CDCT, Package (0x05)
18520 {
18521 Package (0x02)
18522 {
18523 0xE4,
18524 0x0140
18525 },
18526
18527 Package (0x02)
18528 {
18529 0xDE,
18530 0x014D
18531 },
18532
18533 Package (0x02)
18534 {
18535 0xDE,
18536 0x014D
18537 },
18538
18539 Package (0x02)
18540 {
18541 Zero,
18542 Zero
18543 },
18544
18545 Package (0x02)
18546 {
18547 0xDE,
18548 0x014D
18549 }
18550 })
18551 Name (SUCC, One)
18552 Name (NVLD, 0x02)
18553 Name (CRIT, 0x04)
18554 Name (NCRT, 0x06)
18555 Method (GSCI, 0, Serialized)
18556 {
18557 If ((GEFC == 0x04))
18558 {
18559 GXFC = GBDA ()
18560 }
18561
18562 If ((GEFC == 0x06))
18563 {
18564 GXFC = SBCB ()
18565 }
18566
18567 GEFC = Zero
18568 \_SB.PCI0.LPC.SCIS = One
18569 GSSE = Zero
18570 SCIE = Zero
18571 Return (Zero)
18572 }
18573
18574 Method (GBDA, 0, Serialized)
18575 {
18576 If ((GESF == Zero))
18577 {
18578 PARM = 0x0241
18579 GESF = Zero
18580 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18581 }
18582
18583 If ((GESF == One))
18584 {
18585 PARM = 0x00200382
18586 GESF = Zero
18587 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18588 }
18589
18590 If ((GESF == 0x04))
18591 {
18592 PARM &= 0xEFFF0000
18593 PARM &= (DerefOf (DBTB [IBTT]) << 0x10)
18594 PARM |= IBTT /* \_SB_.PCI0.VID_.PARM */
18595 GESF = Zero
18596 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18597 }
18598
18599 If ((GESF == 0x05))
18600 {
18601 If (\_SB.LID._LID ())
18602 {
18603 LIDS = One
18604 }
18605 Else
18606 {
18607 LIDS = Zero
18608 }
18609
18610 PARM = IPSC /* \IPSC */
18611 PARM |= (IPAT << 0x08)
18612 PARM += 0x0100
18613 PARM |= (LIDS << 0x10)
18614 PARM += 0x00010000
18615 PARM |= (IBIA << 0x14)
18616 GESF = Zero
18617 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18618 }
18619
18620 If ((GESF == 0x07))
18621 {
18622 PARM = GIVD /* \_SB_.PCI0.VID_.GIVD */
18623 PARM ^= One
18624 PARM |= (GMFN << One)
18625 PARM |= 0x1800
18626 PARM |= 0x00060000
18627 PARM |= (IDMS << 0x11)
18628 PARM |= (DerefOf (DerefOf (CDCT [HVCO]) [CDVL]) <<
18629 0x15) /* \_SB_.PCI0.VID_.PARM */
18630 GESF = One
18631 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18632 }
18633
18634 If ((GESF == 0x0A))
18635 {
18636 PARM = Zero
18637 If (ISSC)
18638 {
18639 PARM |= 0x03
18640 }
18641
18642 GESF = Zero
18643 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18644 }
18645
18646 If ((GESF == 0x0B))
18647 {
18648 PARM = KSV0 /* \KSV0 */
18649 GESF = KSV1 /* \KSV1 */
18650 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18651 }
18652
18653 GESF = Zero
18654 Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
18655 }
18656
18657 Method (SBCB, 0, Serialized)
18658 {
18659 If ((GESF == Zero))
18660 {
18661 PARM = 0x00220382
18662 GESF = Zero
18663 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18664 }
18665
18666 If ((GESF == One))
18667 {
18668 GESF = Zero
18669 PARM = Zero
18670 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18671 }
18672
18673 If ((GESF == 0x03))
18674 {
18675 GESF = Zero
18676 PARM = Zero
18677 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18678 }
18679
18680 If ((GESF == 0x04))
18681 {
18682 GESF = Zero
18683 PARM = Zero
18684 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18685 }
18686
18687 If ((GESF == 0x05))
18688 {
18689 GESF = Zero
18690 PARM = Zero
18691 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18692 }
18693
18694 If ((GESF == 0x07))
18695 {
18696 If ((S0ID == One))
18697 {
18698 If (((PARM & 0xFF) == One))
18699 {
18700 \GUAM (One)
18701 }
18702 }
18703
18704 If ((PARM == Zero))
18705 {
18706 Local0 = CLID /* \_SB_.PCI0.VID_.CLID */
18707 If ((0x80000000 & Local0))
18708 {
18709 CLID &= 0x0F
18710 GLID (CLID)
18711 }
18712 }
18713
18714 GESF = Zero
18715 PARM = Zero
18716 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18717 }
18718
18719 If ((GESF == 0x08))
18720 {
18721 If ((S0ID == One))
18722 {
18723 Local0 = ((PARM >> 0x08) & 0xFF)
18724 If ((Local0 == Zero))
18725 {
18726 \GUAM (Zero)
18727 }
18728 }
18729
18730 GESF = Zero
18731 PARM = Zero
18732 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18733 }
18734
18735 If ((GESF == 0x09))
18736 {
18737 IBTT = (PARM & 0xFF)
18738 GESF = Zero
18739 PARM = Zero
18740 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18741 }
18742
18743 If ((GESF == 0x0A))
18744 {
18745 IPSC = (PARM & 0xFF)
18746 If (((PARM >> 0x08) & 0xFF))
18747 {
18748 IPAT = ((PARM >> 0x08) & 0xFF)
18749 IPAT--
18750 }
18751
18752 IBIA = ((PARM >> 0x14) & 0x07)
18753 GESF = Zero
18754 PARM = Zero
18755 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18756 }
18757
18758 If ((GESF == 0x0B))
18759 {
18760 IF1E = ((PARM >> One) & One)
18761 If ((PARM & 0x0001E000))
18762 {
18763 IDMS = ((PARM >> 0x0D) & 0x0F)
18764 }
18765 Else
18766 {
18767 IDMS = ((PARM >> 0x11) & 0x0F)
18768 }
18769
18770 GESF = Zero
18771 PARM = Zero
18772 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18773 }
18774
18775 If ((GESF == 0x10))
18776 {
18777 GESF = Zero
18778 PARM = Zero
18779 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18780 }
18781
18782 If ((GESF == 0x11))
18783 {
18784 PARM = (LIDS << 0x08)
18785 PARM += 0x0100
18786 GESF = Zero
18787 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18788 }
18789
18790 If ((GESF == 0x12))
18791 {
18792 If ((PARM & One))
18793 {
18794 If (((PARM >> One) == One))
18795 {
18796 ISSC = One
18797 }
18798 Else
18799 {
18800 GESF = Zero
18801 Return (CRIT) /* \_SB_.PCI0.VID_.CRIT */
18802 }
18803 }
18804 Else
18805 {
18806 ISSC = Zero
18807 }
18808
18809 GESF = Zero
18810 PARM = Zero
18811 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18812 }
18813
18814 If ((GESF == 0x13))
18815 {
18816 GESF = Zero
18817 PARM = Zero
18818 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18819 }
18820
18821 If ((GESF == 0x14))
18822 {
18823 PAVP = (PARM & 0x0F)
18824 GESF = Zero
18825 PARM = Zero
18826 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18827 }
18828
18829 If ((GESF == 0x15))
18830 {
18831 If ((PARM == One))
18832 {
18833 \_SB.PCI0.AUDE |= 0x20
18834 \_SB.PCI0.B0D3.ABWA (One)
18835 \_SB.PCI0.B0D3.ARST ()
18836 \_SB.PCI0.B0D3.ASTR ()
18837 \_SB.PCI0.B0D3.AINI ()
18838 \_SB.PCI0.B0D3.CXDC ()
18839 \_SB.PCI0.B0D3.ABWA (Zero)
18840 Notify (\_SB.PCI0, Zero) // Bus Check
18841 }
18842
18843 If ((PARM == Zero))
18844 {
18845 \_SB.PCI0.AUDE &= 0xDF
18846 Notify (\_SB.PCI0, Zero) // Bus Check
18847 }
18848
18849 GESF = Zero
18850 PARM = Zero
18851 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18852 }
18853
18854 GESF = Zero
18855 Return (SUCC) /* \_SB_.PCI0.VID_.SUCC */
18856 }
18857
18858 Method (PDRD, 0, NotSerialized)
18859 {
18860 If (!DRDY)
18861 {
18862 Sleep (ASLP)
18863 }
18864
18865 Return (!DRDY)
18866 }
18867
18868 Method (PSTS, 0, NotSerialized)
18869 {
18870 If ((CSTS > 0x02))
18871 {
18872 Sleep (ASLP)
18873 }
18874
18875 Return ((CSTS == 0x03))
18876 }
18877
18878 Method (GNOT, 2, NotSerialized)
18879 {
18880 If (PDRD ())
18881 {
18882 Return (One)
18883 }
18884
18885 CEVT = Arg0
18886 CSTS = 0x03
18887 If (((CHPD == Zero) && (Arg1 == Zero)))
18888 {
18889 If ((Arg0 != One))
18890 {
18891 If ((\WXPF && !\WVIS))
18892 {
18893 Notify (\_SB.PCI0, Arg1)
18894 }
18895 Else
18896 {
18897 Notify (\_SB.PCI0.VID, Arg1)
18898 }
18899 }
18900 }
18901
18902 Notify (\_SB.PCI0.VID, 0x80) // Status Change
18903 Return (Zero)
18904 }
18905
18906 Method (GHDS, 1, NotSerialized)
18907 {
18908 TIDX = Arg0
18909 Return (GNOT (One, Zero))
18910 }
18911
18912 Method (GLID, 1, NotSerialized)
18913 {
18914 CLID = Arg0
18915 Return (GNOT (0x02, Zero))
18916 }
18917
18918 Method (GLIS, 1, NotSerialized)
18919 {
18920 CLID = Arg0
18921 Return (Zero)
18922 }
18923
18924 Method (GDCK, 1, NotSerialized)
18925 {
18926 CDCK = Arg0
18927 Return (GNOT (0x04, 0x80))
18928 }
18929
18930 Method (GDCS, 1, NotSerialized)
18931 {
18932 CDCK = Arg0
18933 }
18934
18935 Method (PARD, 0, NotSerialized)
18936 {
18937 If (!ARDY)
18938 {
18939 Sleep (ASLP)
18940 }
18941
18942 Return (!ARDY)
18943 }
18944
18945 Method (AINT, 2, NotSerialized)
18946 {
18947 If (!(TCHE & (One << Arg0)))
18948 {
18949 Return (One)
18950 }
18951
18952 If (PARD ())
18953 {
18954 Return (One)
18955 }
18956
18957 If ((Arg0 == 0x02))
18958 {
18959 PFIT ^= 0x07
18960 PFIT |= 0x80000000
18961 ASLC = 0x04
18962 }
18963 ElseIf ((Arg0 == One))
18964 {
18965 BCLP = Arg1
18966 BCLP |= 0x80000000
18967 ASLC = 0x0A
18968 }
18969 ElseIf ((Arg0 == 0x03))
18970 {
18971 PFMB = Arg1
18972 PFMB |= 0x80000100
18973 ASLC = 0x08
18974 }
18975 ElseIf ((Arg0 == Zero))
18976 {
18977 ALSI = Arg1
18978 ASLC = One
18979 }
18980 Else
18981 {
18982 Return (One)
18983 }
18984
18985 ASLE = One
18986 Return (Zero)
18987 }
18988 }
18989
18990 Scope (\_SB)
18991 {
18992 Device (PCCD)
18993 {
18994 Name (PCCA, 0xDCE43018)
18995 Name (PCCS, 0x00001000)
18996 Name (PENB, 0x00000001)
18997 Name (_HID, EisaId ("INT340F")) // _HID: Hardware ID
18998 Name (_STR, Unicode ("Collaborative Processor Performance Control (CPPC)")) // _STR: Description String
18999 Method (_STA, 0, NotSerialized) // _STA: Status
19000 {
19001 If (\_OSI ("Windows 2012"))
19002 {
19003 Return (0x0F)
19004 }
19005 Else
19006 {
19007 Return (Zero)
19008 }
19009 }
19010
19011 Name (TMPP, Package (0x02)
19012 {
19013 0x80000000,
19014 0x80000000
19015 })
19016 Method (PADR, 0, NotSerialized)
19017 {
19018 TMPP [Zero] = PCCA /* \_SB_.PCCD.PCCA */
19019 TMPP [One] = PCCS /* \_SB_.PCCD.PCCS */
19020 Return (TMPP) /* \_SB_.PCCD.TMPP */
19021 }
19022
19023 Method (GPRN, 0, Serialized)
19024 {
19025 Switch (TCNT)
19026 {
19027 Case (0x08)
19028 {
19029 Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19030 Notify (\_PR.CPU1, 0x83) // Guaranteed Change
19031 Notify (\_PR.CPU2, 0x83) // Guaranteed Change
19032 Notify (\_PR.CPU3, 0x83) // Guaranteed Change
19033 Notify (\_PR.CPU4, 0x83) // Guaranteed Change
19034 Notify (\_PR.CPU5, 0x83) // Guaranteed Change
19035 Notify (\_PR.CPU6, 0x83) // Guaranteed Change
19036 Notify (\_PR.CPU7, 0x83) // Guaranteed Change
19037 }
19038 Case (0x04)
19039 {
19040 Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19041 Notify (\_PR.CPU1, 0x83) // Guaranteed Change
19042 Notify (\_PR.CPU2, 0x83) // Guaranteed Change
19043 Notify (\_PR.CPU3, 0x83) // Guaranteed Change
19044 }
19045 Case (0x02)
19046 {
19047 Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19048 Notify (\_PR.CPU1, 0x83) // Guaranteed Change
19049 }
19050 Default
19051 {
19052 Notify (\_PR.CPU0, 0x83) // Guaranteed Change
19053 }
19054
19055 }
19056 }
19057
19058 Name (PCFG, Zero)
19059 Method (_PTC, 0, NotSerialized) // _PTC: Processor Throttling Control
19060 {
19061 If ((CondRefOf (\PDC0) && (\PDC0 != 0x80000000)))
19062 {
19063 If ((\PDC0 & 0x04))
19064 {
19065 Return (Package (0x02)
19066 {
19067 ResourceTemplate ()
19068 {
19069 Register (FFixedHW,
19070 0x00, // Bit Width
19071 0x00, // Bit Offset
19072 0x0000000000000000, // Address
19073 ,)
19074 },
19075
19076 ResourceTemplate ()
19077 {
19078 Register (FFixedHW,
19079 0x00, // Bit Width
19080 0x00, // Bit Offset
19081 0x0000000000000000, // Address
19082 ,)
19083 }
19084 })
19085 }
19086 Else
19087 {
19088 Return (Package (0x02)
19089 {
19090 ResourceTemplate ()
19091 {
19092 Register (SystemIO,
19093 0x05, // Bit Width
19094 0x00, // Bit Offset
19095 0x0000000000001810, // Address
19096 ,)
19097 },
19098
19099 ResourceTemplate ()
19100 {
19101 Register (SystemIO,
19102 0x05, // Bit Width
19103 0x00, // Bit Offset
19104 0x0000000000001810, // Address
19105 ,)
19106 }
19107 })
19108 }
19109 }
19110 Else
19111 {
19112 Return (Package (0x02)
19113 {
19114 ResourceTemplate ()
19115 {
19116 Register (FFixedHW,
19117 0x00, // Bit Width
19118 0x00, // Bit Offset
19119 0x0000000000000000, // Address
19120 ,)
19121 },
19122
19123 ResourceTemplate ()
19124 {
19125 Register (FFixedHW,
19126 0x00, // Bit Width
19127 0x00, // Bit Offset
19128 0x0000000000000000, // Address
19129 ,)
19130 }
19131 })
19132 }
19133 }
19134
19135 Method (_PSS, 0, NotSerialized) // _PSS: Performance Supported States
19136 {
19137 If (CondRefOf (\_PR.CPU0._PSS))
19138 {
19139 Return (\_PR.CPU0._PSS)
19140 }
19141 Else
19142 {
19143 Return (Package (0x01)
19144 {
19145 Zero
19146 })
19147 }
19148 }
19149
19150 Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
19151 {
19152 If (CondRefOf (\_PR.CPU0._PPC))
19153 {
19154 Return (\_PR.CPU0._PPC ())
19155 }
19156 Else
19157 {
19158 Return (Zero)
19159 }
19160 }
19161
19162 Method (_TSS, 0, NotSerialized) // _TSS: Throttling Supported States
19163 {
19164 If (CondRefOf (\_PR.CPU0._TSS))
19165 {
19166 Return (\_PR.CPU0._TSS) /* External reference */
19167 }
19168 Else
19169 {
19170 Return (Package (0x01)
19171 {
19172 Zero
19173 })
19174 }
19175 }
19176 }
19177 }
19178
19179 Scope (\_PR.CPU0)
19180 {
19181 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
19182 {
19183 0x11,
19184 One,
19185 ResourceTemplate ()
19186 {
19187 Register (PCC,
19188 0x20, // Bit Width
19189 0x00, // Bit Offset
19190 0x0000000000000000, // Address
19191 ,)
19192 },
19193
19194 ResourceTemplate ()
19195 {
19196 Register (PCC,
19197 0x20, // Bit Width
19198 0x00, // Bit Offset
19199 0x0000000000000004, // Address
19200 ,)
19201 },
19202
19203 ResourceTemplate ()
19204 {
19205 Register (PCC,
19206 0x20, // Bit Width
19207 0x00, // Bit Offset
19208 0x0000000000000008, // Address
19209 ,)
19210 },
19211
19212 ResourceTemplate ()
19213 {
19214 Register (PCC,
19215 0x20, // Bit Width
19216 0x00, // Bit Offset
19217 0x000000000000000C, // Address
19218 ,)
19219 },
19220
19221 ResourceTemplate ()
19222 {
19223 Register (PCC,
19224 0x20, // Bit Width
19225 0x00, // Bit Offset
19226 0x0000000000000010, // Address
19227 ,)
19228 },
19229
19230 ResourceTemplate ()
19231 {
19232 Register (PCC,
19233 0x20, // Bit Width
19234 0x00, // Bit Offset
19235 0x0000000000000014, // Address
19236 ,)
19237 },
19238
19239 ResourceTemplate ()
19240 {
19241 Register (PCC,
19242 0x20, // Bit Width
19243 0x00, // Bit Offset
19244 0x0000000000000018, // Address
19245 ,)
19246 },
19247
19248 ResourceTemplate ()
19249 {
19250 Register (PCC,
19251 0x20, // Bit Width
19252 0x00, // Bit Offset
19253 0x000000000000001C, // Address
19254 ,)
19255 },
19256
19257 ResourceTemplate ()
19258 {
19259 Register (PCC,
19260 0x20, // Bit Width
19261 0x00, // Bit Offset
19262 0x0000000000000020, // Address
19263 ,)
19264 },
19265
19266 ResourceTemplate ()
19267 {
19268 Register (PCC,
19269 0x20, // Bit Width
19270 0x00, // Bit Offset
19271 0x0000000000000024, // Address
19272 ,)
19273 },
19274
19275 ResourceTemplate ()
19276 {
19277 Register (PCC,
19278 0x20, // Bit Width
19279 0x00, // Bit Offset
19280 0x0000000000000028, // Address
19281 ,)
19282 },
19283
19284 ResourceTemplate ()
19285 {
19286 Register (FFixedHW,
19287 0x40, // Bit Width
19288 0x00, // Bit Offset
19289 0x00000000000000E7, // Address
19290 0x04, // Access Size
19291 )
19292 },
19293
19294 ResourceTemplate ()
19295 {
19296 Register (FFixedHW,
19297 0x40, // Bit Width
19298 0x00, // Bit Offset
19299 0x00000000000000E8, // Address
19300 0x04, // Access Size
19301 )
19302 },
19303
19304 ResourceTemplate ()
19305 {
19306 Register (PCC,
19307 0x20, // Bit Width
19308 0x00, // Bit Offset
19309 0x000000000000003C, // Address
19310 ,)
19311 },
19312
19313 ResourceTemplate ()
19314 {
19315 Register (PCC,
19316 0x20, // Bit Width
19317 0x00, // Bit Offset
19318 0x0000000000000040, // Address
19319 ,)
19320 }
19321 })
19322 }
19323
19324 Scope (\_PR.CPU1)
19325 {
19326 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
19327 {
19328 0x11,
19329 One,
19330 ResourceTemplate ()
19331 {
19332 Register (PCC,
19333 0x20, // Bit Width
19334 0x00, // Bit Offset
19335 0x0000000000000064, // Address
19336 ,)
19337 },
19338
19339 ResourceTemplate ()
19340 {
19341 Register (PCC,
19342 0x20, // Bit Width
19343 0x00, // Bit Offset
19344 0x0000000000000068, // Address
19345 ,)
19346 },
19347
19348 ResourceTemplate ()
19349 {
19350 Register (PCC,
19351 0x20, // Bit Width
19352 0x00, // Bit Offset
19353 0x000000000000006C, // Address
19354 ,)
19355 },
19356
19357 ResourceTemplate ()
19358 {
19359 Register (PCC,
19360 0x20, // Bit Width
19361 0x00, // Bit Offset
19362 0x0000000000000070, // Address
19363 ,)
19364 },
19365
19366 ResourceTemplate ()
19367 {
19368 Register (PCC,
19369 0x20, // Bit Width
19370 0x00, // Bit Offset
19371 0x0000000000000074, // Address
19372 ,)
19373 },
19374
19375 ResourceTemplate ()
19376 {
19377 Register (PCC,
19378 0x20, // Bit Width
19379 0x00, // Bit Offset
19380 0x0000000000000078, // Address
19381 ,)
19382 },
19383
19384 ResourceTemplate ()
19385 {
19386 Register (PCC,
19387 0x20, // Bit Width
19388 0x00, // Bit Offset
19389 0x000000000000007C, // Address
19390 ,)
19391 },
19392
19393 ResourceTemplate ()
19394 {
19395 Register (PCC,
19396 0x20, // Bit Width
19397 0x00, // Bit Offset
19398 0x0000000000000080, // Address
19399 ,)
19400 },
19401
19402 ResourceTemplate ()
19403 {
19404 Register (PCC,
19405 0x20, // Bit Width
19406 0x00, // Bit Offset
19407 0x0000000000000084, // Address
19408 ,)
19409 },
19410
19411 ResourceTemplate ()
19412 {
19413 Register (PCC,
19414 0x20, // Bit Width
19415 0x00, // Bit Offset
19416 0x0000000000000088, // Address
19417 ,)
19418 },
19419
19420 ResourceTemplate ()
19421 {
19422 Register (PCC,
19423 0x20, // Bit Width
19424 0x00, // Bit Offset
19425 0x000000000000008C, // Address
19426 ,)
19427 },
19428
19429 ResourceTemplate ()
19430 {
19431 Register (FFixedHW,
19432 0x40, // Bit Width
19433 0x00, // Bit Offset
19434 0x00000000000000E7, // Address
19435 0x04, // Access Size
19436 )
19437 },
19438
19439 ResourceTemplate ()
19440 {
19441 Register (FFixedHW,
19442 0x40, // Bit Width
19443 0x00, // Bit Offset
19444 0x00000000000000E8, // Address
19445 0x04, // Access Size
19446 )
19447 },
19448
19449 ResourceTemplate ()
19450 {
19451 Register (PCC,
19452 0x20, // Bit Width
19453 0x00, // Bit Offset
19454 0x00000000000000A0, // Address
19455 ,)
19456 },
19457
19458 ResourceTemplate ()
19459 {
19460 Register (PCC,
19461 0x20, // Bit Width
19462 0x00, // Bit Offset
19463 0x00000000000000A4, // Address
19464 ,)
19465 }
19466 })
19467 }
19468
19469 Scope (\_PR.CPU2)
19470 {
19471 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
19472 {
19473 0x11,
19474 One,
19475 ResourceTemplate ()
19476 {
19477 Register (PCC,
19478 0x20, // Bit Width
19479 0x00, // Bit Offset
19480 0x00000000000000C8, // Address
19481 ,)
19482 },
19483
19484 ResourceTemplate ()
19485 {
19486 Register (PCC,
19487 0x20, // Bit Width
19488 0x00, // Bit Offset
19489 0x00000000000000CC, // Address
19490 ,)
19491 },
19492
19493 ResourceTemplate ()
19494 {
19495 Register (PCC,
19496 0x20, // Bit Width
19497 0x00, // Bit Offset
19498 0x00000000000000D0, // Address
19499 ,)
19500 },
19501
19502 ResourceTemplate ()
19503 {
19504 Register (PCC,
19505 0x20, // Bit Width
19506 0x00, // Bit Offset
19507 0x00000000000000D4, // Address
19508 ,)
19509 },
19510
19511 ResourceTemplate ()
19512 {
19513 Register (PCC,
19514 0x20, // Bit Width
19515 0x00, // Bit Offset
19516 0x00000000000000D8, // Address
19517 ,)
19518 },
19519
19520 ResourceTemplate ()
19521 {
19522 Register (PCC,
19523 0x20, // Bit Width
19524 0x00, // Bit Offset
19525 0x00000000000000DC, // Address
19526 ,)
19527 },
19528
19529 ResourceTemplate ()
19530 {
19531 Register (PCC,
19532 0x20, // Bit Width
19533 0x00, // Bit Offset
19534 0x00000000000000E0, // Address
19535 ,)
19536 },
19537
19538 ResourceTemplate ()
19539 {
19540 Register (PCC,
19541 0x20, // Bit Width
19542 0x00, // Bit Offset
19543 0x00000000000000E4, // Address
19544 ,)
19545 },
19546
19547 ResourceTemplate ()
19548 {
19549 Register (PCC,
19550 0x20, // Bit Width
19551 0x00, // Bit Offset
19552 0x00000000000000E8, // Address
19553 ,)
19554 },
19555
19556 ResourceTemplate ()
19557 {
19558 Register (PCC,
19559 0x20, // Bit Width
19560 0x00, // Bit Offset
19561 0x00000000000000EC, // Address
19562 ,)
19563 },
19564
19565 ResourceTemplate ()
19566 {
19567 Register (PCC,
19568 0x20, // Bit Width
19569 0x00, // Bit Offset
19570 0x00000000000000F0, // Address
19571 ,)
19572 },
19573
19574 ResourceTemplate ()
19575 {
19576 Register (FFixedHW,
19577 0x40, // Bit Width
19578 0x00, // Bit Offset
19579 0x00000000000000E7, // Address
19580 0x04, // Access Size
19581 )
19582 },
19583
19584 ResourceTemplate ()
19585 {
19586 Register (FFixedHW,
19587 0x40, // Bit Width
19588 0x00, // Bit Offset
19589 0x00000000000000E8, // Address
19590 0x04, // Access Size
19591 )
19592 },
19593
19594 ResourceTemplate ()
19595 {
19596 Register (PCC,
19597 0x20, // Bit Width
19598 0x00, // Bit Offset
19599 0x0000000000000104, // Address
19600 ,)
19601 },
19602
19603 ResourceTemplate ()
19604 {
19605 Register (PCC,
19606 0x20, // Bit Width
19607 0x00, // Bit Offset
19608 0x0000000000000108, // Address
19609 ,)
19610 }
19611 })
19612 }
19613
19614 Scope (\_PR.CPU3)
19615 {
19616 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
19617 {
19618 0x11,
19619 One,
19620 ResourceTemplate ()
19621 {
19622 Register (PCC,
19623 0x20, // Bit Width
19624 0x00, // Bit Offset
19625 0x000000000000012C, // Address
19626 ,)
19627 },
19628
19629 ResourceTemplate ()
19630 {
19631 Register (PCC,
19632 0x20, // Bit Width
19633 0x00, // Bit Offset
19634 0x0000000000000130, // Address
19635 ,)
19636 },
19637
19638 ResourceTemplate ()
19639 {
19640 Register (PCC,
19641 0x20, // Bit Width
19642 0x00, // Bit Offset
19643 0x0000000000000134, // Address
19644 ,)
19645 },
19646
19647 ResourceTemplate ()
19648 {
19649 Register (PCC,
19650 0x20, // Bit Width
19651 0x00, // Bit Offset
19652 0x0000000000000138, // Address
19653 ,)
19654 },
19655
19656 ResourceTemplate ()
19657 {
19658 Register (PCC,
19659 0x20, // Bit Width
19660 0x00, // Bit Offset
19661 0x000000000000013C, // Address
19662 ,)
19663 },
19664
19665 ResourceTemplate ()
19666 {
19667 Register (PCC,
19668 0x20, // Bit Width
19669 0x00, // Bit Offset
19670 0x0000000000000140, // Address
19671 ,)
19672 },
19673
19674 ResourceTemplate ()
19675 {
19676 Register (PCC,
19677 0x20, // Bit Width
19678 0x00, // Bit Offset
19679 0x0000000000000144, // Address
19680 ,)
19681 },
19682
19683 ResourceTemplate ()
19684 {
19685 Register (PCC,
19686 0x20, // Bit Width
19687 0x00, // Bit Offset
19688 0x0000000000000148, // Address
19689 ,)
19690 },
19691
19692 ResourceTemplate ()
19693 {
19694 Register (PCC,
19695 0x20, // Bit Width
19696 0x00, // Bit Offset
19697 0x000000000000014C, // Address
19698 ,)
19699 },
19700
19701 ResourceTemplate ()
19702 {
19703 Register (PCC,
19704 0x20, // Bit Width
19705 0x00, // Bit Offset
19706 0x0000000000000150, // Address
19707 ,)
19708 },
19709
19710 ResourceTemplate ()
19711 {
19712 Register (PCC,
19713 0x20, // Bit Width
19714 0x00, // Bit Offset
19715 0x0000000000000154, // Address
19716 ,)
19717 },
19718
19719 ResourceTemplate ()
19720 {
19721 Register (FFixedHW,
19722 0x40, // Bit Width
19723 0x00, // Bit Offset
19724 0x00000000000000E7, // Address
19725 0x04, // Access Size
19726 )
19727 },
19728
19729 ResourceTemplate ()
19730 {
19731 Register (FFixedHW,
19732 0x40, // Bit Width
19733 0x00, // Bit Offset
19734 0x00000000000000E8, // Address
19735 0x04, // Access Size
19736 )
19737 },
19738
19739 ResourceTemplate ()
19740 {
19741 Register (PCC,
19742 0x20, // Bit Width
19743 0x00, // Bit Offset
19744 0x0000000000000168, // Address
19745 ,)
19746 },
19747
19748 ResourceTemplate ()
19749 {
19750 Register (PCC,
19751 0x20, // Bit Width
19752 0x00, // Bit Offset
19753 0x000000000000016C, // Address
19754 ,)
19755 }
19756 })
19757 }
19758
19759 Scope (\_PR.CPU4)
19760 {
19761 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
19762 {
19763 0x11,
19764 One,
19765 ResourceTemplate ()
19766 {
19767 Register (PCC,
19768 0x20, // Bit Width
19769 0x00, // Bit Offset
19770 0x0000000000000190, // Address
19771 ,)
19772 },
19773
19774 ResourceTemplate ()
19775 {
19776 Register (PCC,
19777 0x20, // Bit Width
19778 0x00, // Bit Offset
19779 0x0000000000000194, // Address
19780 ,)
19781 },
19782
19783 ResourceTemplate ()
19784 {
19785 Register (PCC,
19786 0x20, // Bit Width
19787 0x00, // Bit Offset
19788 0x0000000000000198, // Address
19789 ,)
19790 },
19791
19792 ResourceTemplate ()
19793 {
19794 Register (PCC,
19795 0x20, // Bit Width
19796 0x00, // Bit Offset
19797 0x000000000000019C, // Address
19798 ,)
19799 },
19800
19801 ResourceTemplate ()
19802 {
19803 Register (PCC,
19804 0x20, // Bit Width
19805 0x00, // Bit Offset
19806 0x00000000000001A0, // Address
19807 ,)
19808 },
19809
19810 ResourceTemplate ()
19811 {
19812 Register (PCC,
19813 0x20, // Bit Width
19814 0x00, // Bit Offset
19815 0x00000000000001A4, // Address
19816 ,)
19817 },
19818
19819 ResourceTemplate ()
19820 {
19821 Register (PCC,
19822 0x20, // Bit Width
19823 0x00, // Bit Offset
19824 0x00000000000001A8, // Address
19825 ,)
19826 },
19827
19828 ResourceTemplate ()
19829 {
19830 Register (PCC,
19831 0x20, // Bit Width
19832 0x00, // Bit Offset
19833 0x00000000000001AC, // Address
19834 ,)
19835 },
19836
19837 ResourceTemplate ()
19838 {
19839 Register (PCC,
19840 0x20, // Bit Width
19841 0x00, // Bit Offset
19842 0x00000000000001B0, // Address
19843 ,)
19844 },
19845
19846 ResourceTemplate ()
19847 {
19848 Register (PCC,
19849 0x20, // Bit Width
19850 0x00, // Bit Offset
19851 0x00000000000001B4, // Address
19852 ,)
19853 },
19854
19855 ResourceTemplate ()
19856 {
19857 Register (PCC,
19858 0x20, // Bit Width
19859 0x00, // Bit Offset
19860 0x00000000000001B8, // Address
19861 ,)
19862 },
19863
19864 ResourceTemplate ()
19865 {
19866 Register (FFixedHW,
19867 0x40, // Bit Width
19868 0x00, // Bit Offset
19869 0x00000000000000E7, // Address
19870 0x04, // Access Size
19871 )
19872 },
19873
19874 ResourceTemplate ()
19875 {
19876 Register (FFixedHW,
19877 0x40, // Bit Width
19878 0x00, // Bit Offset
19879 0x00000000000000E8, // Address
19880 0x04, // Access Size
19881 )
19882 },
19883
19884 ResourceTemplate ()
19885 {
19886 Register (PCC,
19887 0x20, // Bit Width
19888 0x00, // Bit Offset
19889 0x00000000000001CC, // Address
19890 ,)
19891 },
19892
19893 ResourceTemplate ()
19894 {
19895 Register (PCC,
19896 0x20, // Bit Width
19897 0x00, // Bit Offset
19898 0x00000000000001D0, // Address
19899 ,)
19900 }
19901 })
19902 }
19903
19904 Scope (\_PR.CPU5)
19905 {
19906 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
19907 {
19908 0x11,
19909 One,
19910 ResourceTemplate ()
19911 {
19912 Register (PCC,
19913 0x20, // Bit Width
19914 0x00, // Bit Offset
19915 0x00000000000001F4, // Address
19916 ,)
19917 },
19918
19919 ResourceTemplate ()
19920 {
19921 Register (PCC,
19922 0x20, // Bit Width
19923 0x00, // Bit Offset
19924 0x00000000000001F8, // Address
19925 ,)
19926 },
19927
19928 ResourceTemplate ()
19929 {
19930 Register (PCC,
19931 0x20, // Bit Width
19932 0x00, // Bit Offset
19933 0x00000000000001FC, // Address
19934 ,)
19935 },
19936
19937 ResourceTemplate ()
19938 {
19939 Register (PCC,
19940 0x20, // Bit Width
19941 0x00, // Bit Offset
19942 0x0000000000000200, // Address
19943 ,)
19944 },
19945
19946 ResourceTemplate ()
19947 {
19948 Register (PCC,
19949 0x20, // Bit Width
19950 0x00, // Bit Offset
19951 0x0000000000000204, // Address
19952 ,)
19953 },
19954
19955 ResourceTemplate ()
19956 {
19957 Register (PCC,
19958 0x20, // Bit Width
19959 0x00, // Bit Offset
19960 0x0000000000000208, // Address
19961 ,)
19962 },
19963
19964 ResourceTemplate ()
19965 {
19966 Register (PCC,
19967 0x20, // Bit Width
19968 0x00, // Bit Offset
19969 0x000000000000020C, // Address
19970 ,)
19971 },
19972
19973 ResourceTemplate ()
19974 {
19975 Register (PCC,
19976 0x20, // Bit Width
19977 0x00, // Bit Offset
19978 0x0000000000000210, // Address
19979 ,)
19980 },
19981
19982 ResourceTemplate ()
19983 {
19984 Register (PCC,
19985 0x20, // Bit Width
19986 0x00, // Bit Offset
19987 0x0000000000000214, // Address
19988 ,)
19989 },
19990
19991 ResourceTemplate ()
19992 {
19993 Register (PCC,
19994 0x20, // Bit Width
19995 0x00, // Bit Offset
19996 0x0000000000000218, // Address
19997 ,)
19998 },
19999
20000 ResourceTemplate ()
20001 {
20002 Register (PCC,
20003 0x20, // Bit Width
20004 0x00, // Bit Offset
20005 0x000000000000021C, // Address
20006 ,)
20007 },
20008
20009 ResourceTemplate ()
20010 {
20011 Register (FFixedHW,
20012 0x40, // Bit Width
20013 0x00, // Bit Offset
20014 0x00000000000000E7, // Address
20015 0x04, // Access Size
20016 )
20017 },
20018
20019 ResourceTemplate ()
20020 {
20021 Register (FFixedHW,
20022 0x40, // Bit Width
20023 0x00, // Bit Offset
20024 0x00000000000000E8, // Address
20025 0x04, // Access Size
20026 )
20027 },
20028
20029 ResourceTemplate ()
20030 {
20031 Register (PCC,
20032 0x20, // Bit Width
20033 0x00, // Bit Offset
20034 0x0000000000000230, // Address
20035 ,)
20036 },
20037
20038 ResourceTemplate ()
20039 {
20040 Register (PCC,
20041 0x20, // Bit Width
20042 0x00, // Bit Offset
20043 0x0000000000000234, // Address
20044 ,)
20045 }
20046 })
20047 }
20048
20049 Scope (\_PR.CPU6)
20050 {
20051 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
20052 {
20053 0x11,
20054 One,
20055 ResourceTemplate ()
20056 {
20057 Register (PCC,
20058 0x20, // Bit Width
20059 0x00, // Bit Offset
20060 0x0000000000000258, // Address
20061 ,)
20062 },
20063
20064 ResourceTemplate ()
20065 {
20066 Register (PCC,
20067 0x20, // Bit Width
20068 0x00, // Bit Offset
20069 0x000000000000025C, // Address
20070 ,)
20071 },
20072
20073 ResourceTemplate ()
20074 {
20075 Register (PCC,
20076 0x20, // Bit Width
20077 0x00, // Bit Offset
20078 0x0000000000000260, // Address
20079 ,)
20080 },
20081
20082 ResourceTemplate ()
20083 {
20084 Register (PCC,
20085 0x20, // Bit Width
20086 0x00, // Bit Offset
20087 0x0000000000000264, // Address
20088 ,)
20089 },
20090
20091 ResourceTemplate ()
20092 {
20093 Register (PCC,
20094 0x20, // Bit Width
20095 0x00, // Bit Offset
20096 0x0000000000000268, // Address
20097 ,)
20098 },
20099
20100 ResourceTemplate ()
20101 {
20102 Register (PCC,
20103 0x20, // Bit Width
20104 0x00, // Bit Offset
20105 0x000000000000026C, // Address
20106 ,)
20107 },
20108
20109 ResourceTemplate ()
20110 {
20111 Register (PCC,
20112 0x20, // Bit Width
20113 0x00, // Bit Offset
20114 0x0000000000000270, // Address
20115 ,)
20116 },
20117
20118 ResourceTemplate ()
20119 {
20120 Register (PCC,
20121 0x20, // Bit Width
20122 0x00, // Bit Offset
20123 0x0000000000000274, // Address
20124 ,)
20125 },
20126
20127 ResourceTemplate ()
20128 {
20129 Register (PCC,
20130 0x20, // Bit Width
20131 0x00, // Bit Offset
20132 0x0000000000000278, // Address
20133 ,)
20134 },
20135
20136 ResourceTemplate ()
20137 {
20138 Register (PCC,
20139 0x20, // Bit Width
20140 0x00, // Bit Offset
20141 0x000000000000027C, // Address
20142 ,)
20143 },
20144
20145 ResourceTemplate ()
20146 {
20147 Register (PCC,
20148 0x20, // Bit Width
20149 0x00, // Bit Offset
20150 0x0000000000000280, // Address
20151 ,)
20152 },
20153
20154 ResourceTemplate ()
20155 {
20156 Register (FFixedHW,
20157 0x40, // Bit Width
20158 0x00, // Bit Offset
20159 0x00000000000000E7, // Address
20160 0x04, // Access Size
20161 )
20162 },
20163
20164 ResourceTemplate ()
20165 {
20166 Register (FFixedHW,
20167 0x40, // Bit Width
20168 0x00, // Bit Offset
20169 0x00000000000000E8, // Address
20170 0x04, // Access Size
20171 )
20172 },
20173
20174 ResourceTemplate ()
20175 {
20176 Register (PCC,
20177 0x20, // Bit Width
20178 0x00, // Bit Offset
20179 0x0000000000000294, // Address
20180 ,)
20181 },
20182
20183 ResourceTemplate ()
20184 {
20185 Register (PCC,
20186 0x20, // Bit Width
20187 0x00, // Bit Offset
20188 0x0000000000000298, // Address
20189 ,)
20190 }
20191 })
20192 }
20193
20194 Scope (\_PR.CPU7)
20195 {
20196 Name (_CPC, Package (0x11) // _CPC: Continuous Performance Control
20197 {
20198 0x11,
20199 One,
20200 ResourceTemplate ()
20201 {
20202 Register (PCC,
20203 0x20, // Bit Width
20204 0x00, // Bit Offset
20205 0x00000000000002BC, // Address
20206 ,)
20207 },
20208
20209 ResourceTemplate ()
20210 {
20211 Register (PCC,
20212 0x20, // Bit Width
20213 0x00, // Bit Offset
20214 0x00000000000002C0, // Address
20215 ,)
20216 },
20217
20218 ResourceTemplate ()
20219 {
20220 Register (PCC,
20221 0x20, // Bit Width
20222 0x00, // Bit Offset
20223 0x00000000000002C4, // Address
20224 ,)
20225 },
20226
20227 ResourceTemplate ()
20228 {
20229 Register (PCC,
20230 0x20, // Bit Width
20231 0x00, // Bit Offset
20232 0x00000000000002C8, // Address
20233 ,)
20234 },
20235
20236 ResourceTemplate ()
20237 {
20238 Register (PCC,
20239 0x20, // Bit Width
20240 0x00, // Bit Offset
20241 0x00000000000002CC, // Address
20242 ,)
20243 },
20244
20245 ResourceTemplate ()
20246 {
20247 Register (PCC,
20248 0x20, // Bit Width
20249 0x00, // Bit Offset
20250 0x00000000000002D0, // Address
20251 ,)
20252 },
20253
20254 ResourceTemplate ()
20255 {
20256 Register (PCC,
20257 0x20, // Bit Width
20258 0x00, // Bit Offset
20259 0x00000000000002D4, // Address
20260 ,)
20261 },
20262
20263 ResourceTemplate ()
20264 {
20265 Register (PCC,
20266 0x20, // Bit Width
20267 0x00, // Bit Offset
20268 0x00000000000002D8, // Address
20269 ,)
20270 },
20271
20272 ResourceTemplate ()
20273 {
20274 Register (PCC,
20275 0x20, // Bit Width
20276 0x00, // Bit Offset
20277 0x00000000000002DC, // Address
20278 ,)
20279 },
20280
20281 ResourceTemplate ()
20282 {
20283 Register (PCC,
20284 0x20, // Bit Width
20285 0x00, // Bit Offset
20286 0x00000000000002E0, // Address
20287 ,)
20288 },
20289
20290 ResourceTemplate ()
20291 {
20292 Register (PCC,
20293 0x20, // Bit Width
20294 0x00, // Bit Offset
20295 0x00000000000002E4, // Address
20296 ,)
20297 },
20298
20299 ResourceTemplate ()
20300 {
20301 Register (FFixedHW,
20302 0x40, // Bit Width
20303 0x00, // Bit Offset
20304 0x00000000000000E7, // Address
20305 0x04, // Access Size
20306 )
20307 },
20308
20309 ResourceTemplate ()
20310 {
20311 Register (FFixedHW,
20312 0x40, // Bit Width
20313 0x00, // Bit Offset
20314 0x00000000000000E8, // Address
20315 0x04, // Access Size
20316 )
20317 },
20318
20319 ResourceTemplate ()
20320 {
20321 Register (PCC,
20322 0x20, // Bit Width
20323 0x00, // Bit Offset
20324 0x00000000000002F8, // Address
20325 ,)
20326 },
20327
20328 ResourceTemplate ()
20329 {
20330 Register (PCC,
20331 0x20, // Bit Width
20332 0x00, // Bit Offset
20333 0x00000000000002FC, // Address
20334 ,)
20335 }
20336 })
20337 }
20338 }
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.