Attachment 'acpidump.out.txt'
Download 1 /*
2 RSD PTR: OEM=PTLTD, ACPI_Rev=2.0x (2)
3 XSDT=0x0000000077d95146, length=36, cksum=245
4 */
5 /*
6 XSDT: Length=100, Revision=1, Checksum=28,
7 OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000,
8 Creator ID= LTP, Creator Revision=0x0
9 Entries={ 0x0000000077d9bb94, 0x0000000077d9bc88, 0x0000000077d9bcd8, 0x0000000077d9be4e, 0x0000000077d9be8a, 0x0000000077d96ae3, 0x0000000077d965cb, 0x0000000077d951aa }
10 */
11 /*
12 FACP: Length=244, Revision=3, Checksum=194,
13 OEMID=SiS, OEM Table ID=671MX, OEM Revision=0x6040000,
14 Creator ID=PTL, Creator Revision=0xf4240
15 FACS=0x77d9cfc0, DSDT=0x77d96d2a
16 INT_MODEL=PIC
17 Preferred_PM_Profile=Mobile (2)
18 SCI_INT=11
19 SMI_CMD=0x8048, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
20 PSTATE_CNT=0x0
21 PM1a_EVT_BLK=0x8000-0x8003
22 PM1a_CNT_BLK=0x8004-0x8005
23 PM2_CNT_BLK=0x8016-0x8016
24 PM_TMR_BLK=0x8008-0x800b
25 GPE0_BLK=0x8020-0x8023
26 GPE1_BLK=0x8030-0x8033, GPE1_BASE=16
27 P_LVL2_LAT=190 us, P_LVL3_LAT=1900 us
28 FLUSH_SIZE=0, FLUSH_STRIDE=0
29 DUTY_OFFSET=1, DUTY_WIDTH=3
30 DAY_ALRM=126, MON_ALRM=127, CENTURY=50
31 IAPC_BOOT_ARCH=
32 Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON}
33 X_FACS=0x0000000077d9cfc0, X_DSDT=0x0000000077d96d2a
34 X_PM1a_EVT_BLK=0x8000:0[32] (IO)
35 X_PM1a_CNT_BLK=0x8004:0[16] (IO)
36 X_PM2_CNT_BLK=0x8016:0[8] (IO)
37 X_PM_TMR_BLK=0x8008:0[32] (IO)
38 X_GPE0_BLK=0x8020:0[32] (IO)
39 X_GPE1_BLK=0x8030:0[32] (IO)
40 */
41 /*
42 FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
43 Global_Lock=
44 Flags=
45 Version=1
46 */
47 /*
48 DSDT: Length=19958, Revision=1, Checksum=196,
49 OEMID=PTLTD, OEM Table ID=671, OEM Revision=0x6040000,
50 Creator ID=MSFT, Creator Revision=0x3000000
51 */
52 /*
53 APIC: Length=80, Revision=1, Checksum=115,
54 OEMID=PTLTD, OEM Table ID= APIC, OEM Revision=0x6040000,
55 Creator ID= LTP, Creator Revision=0x0
56 Local APIC ADDR=0xfee00000
57 Flags={PC-AT}
58
59 Type=Local APIC
60 ACPI CPU=0
61 Flags={ENABLED}
62 APIC ID=0
63
64 Type=IO APIC
65 APIC ID=1
66 INT BASE=0
67 ADDR=0x00000000fec00000
68
69 Type=Local APIC NMI
70 ACPI CPU=0
71 LINT Pin=1
72 Flags={Polarity=active-hi, Trigger=edge}
73
74 Type=INT Override
75 BUS=0
76 IRQ=0
77 INTR=2
78 Flags={Polarity=active-hi, Trigger=edge}
79 */
80 /*
81 SLIC: Length=374, Revision=1, Checksum=0,
82 OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000,
83 Creator ID= LTP, Creator Revision=0x0
84 */
85 /*
86 MCFG: Length=60, Revision=1, Checksum=103,
87 OEMID=PTLTD, OEM Table ID= MCFG, OEM Revision=0x6040000,
88 Creator ID= LTP, Creator Revision=0x0
89
90 Base Address=0x00000000e0000000
91 Segment Group=0x0000
92 Start Bus=0
93 End Bus=0
94 */
95 /*
96 SLIC: Length=374, Revision=1, Checksum=0,
97 OEMID=HASEE, OEM Table ID=PARADISE, OEM Revision=0x6040000,
98 Creator ID= LTP, Creator Revision=0x0
99 */
100 /*
101 SSDT: Length=583, Revision=1, Checksum=25,
102 OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
103 Creator ID=INTL, Creator Revision=0x20050228
104 */
105 /*
106 SSDT: Length=1304, Revision=1, Checksum=250,
107 OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001,
108 Creator ID=INTL, Creator Revision=0x20050228
109 */
110 /*
111 SSDT: Length=5153, Revision=1, Checksum=75,
112 OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
113 Creator ID=INTL, Creator Revision=0x20050228
114 */
115 /*
116 * Intel ACPI Component Architecture
117 * AML/ASL+ Disassembler version 20170303 (32-bit version)
118 * Copyright (c) 2000 - 2017 Intel Corporation
119 *
120 * Disassembling to symbolic ASL+ operators
121 *
122 * Disassembly of /tmp/acpidump.Akv3gb/acpdump.din, Wed Nov 29 09:49:51 2017
123 *
124 * Original Table Header:
125 * Signature "DSDT"
126 * Length 0x0000690A (26890)
127 * Revision 0x01 **** 32-bit table (V1), no 64-bit math support
128 * Checksum 0xEA
129 * OEM ID "PTLTD "
130 * OEM Table ID "671"
131 * OEM Revision 0x06040000 (100925440)
132 * Compiler ID "MSFT"
133 * Compiler Version 0x03000000 (50331648)
134 */
135 DefinitionBlock ("", "DSDT", 1, "PTLTD ", "671", 0x06040000)
136 {
137 OperationRegion (Z000, SystemIO, 0x8042, 0x01)
138 Field (Z000, ByteAcc, NoLock, Preserve)
139 {
140 Z001, 8
141 }
142
143 OperationRegion (Z002, SystemIO, 0x8004, 0x01)
144 Field (Z002, ByteAcc, NoLock, Preserve)
145 {
146 Z003, 8
147 }
148
149 Scope (\_SB)
150 {
151 Name (OSTB, Ones)
152 OperationRegion (OSTY, SystemMemory, 0x77D9CF4C, 0x00000001)
153 Field (OSTY, AnyAcc, NoLock, Preserve)
154 {
155 TPOS, 8
156 }
157
158 Method (OSTP, 0, NotSerialized)
159 {
160 If ((^OSTB == Ones))
161 {
162 If (CondRefOf (\_OSI, Local0))
163 {
164 If (\_OSI ("Windows 2001.1"))
165 {
166 ^OSTB = 0x20
167 ^TPOS = 0x20
168 }
169 ElseIf (\_OSI ("Windows 2001 SP1"))
170 {
171 ^OSTB = 0x10
172 ^TPOS = 0x10
173 }
174 ElseIf (\_OSI ("Windows 2001"))
175 {
176 ^OSTB = 0x08
177 ^TPOS = 0x08
178 }
179 Else
180 {
181 ^OSTB = 0x00
182 ^TPOS = 0x00
183 }
184 }
185 ElseIf (CondRefOf (\_OS, Local0))
186 {
187 If (^SEQL (\_OS, "Microsoft Windows"))
188 {
189 ^OSTB = 0x01
190 ^TPOS = 0x01
191 }
192 ElseIf (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition"))
193 {
194 ^OSTB = 0x02
195 ^TPOS = 0x02
196 }
197 ElseIf (^SEQL (\_OS, "Microsoft Windows NT"))
198 {
199 ^OSTB = 0x04
200 ^TPOS = 0x04
201 }
202 Else
203 {
204 ^OSTB = 0x00
205 ^TPOS = 0x00
206 }
207 }
208 Else
209 {
210 ^OSTB = 0x00
211 ^TPOS = 0x00
212 }
213 }
214
215 Return (^OSTB) /* \_SB_.OSTB */
216 }
217
218 Method (SEQL, 2, Serialized)
219 {
220 Local0 = SizeOf (Arg0)
221 Local1 = SizeOf (Arg1)
222 If ((Local0 != Local1))
223 {
224 Return (Zero)
225 }
226
227 Name (BUF0, Buffer (Local0){})
228 BUF0 = Arg0
229 Name (BUF1, Buffer (Local0){})
230 BUF1 = Arg1
231 Local2 = Zero
232 While ((Local2 < Local0))
233 {
234 Local3 = DerefOf (BUF0 [Local2])
235 Local4 = DerefOf (BUF1 [Local2])
236 If ((Local3 != Local4))
237 {
238 Return (Zero)
239 }
240
241 Local2++
242 }
243
244 Return (One)
245 }
246 }
247
248 Name (_S0, Package (0x02) // _S0_: S0 System State
249 {
250 0x00,
251 0x00
252 })
253 Name (_S3, Package (0x02) // _S3_: S3 System State
254 {
255 0x03,
256 0x03
257 })
258 Name (_S4, Package (0x02) // _S4_: S4 System State
259 {
260 0x04,
261 0x04
262 })
263 Name (_S5, Package (0x02) // _S5_: S5 System State
264 {
265 0x05,
266 0x05
267 })
268 Name (FWSO, "FWSO")
269 Name (_PSC, 0x00) // _PSC: Power State Current
270 Method (_PS0, 0, NotSerialized) // _PS0: Power State 0
271 {
272 Local0 = _PSC /* \_PSC */
273 _PSC = 0x00
274 If ((Local0 == 0x03))
275 {
276 \_SB.INF = 0x01
277 While (\_SB.INF)
278 {
279 \_SB.BCMD = 0x20
280 \_SB.SMIC = Zero
281 If (((\_SB.INF == 0x01) && (\_SB.OSTB >= 0x04)))
282 {
283 Sleep (0x01F4)
284 }
285 }
286 }
287 }
288
289 Method (_PS3, 0, NotSerialized) // _PS3: Power State 3
290 {
291 _PSC = 0x03
292 }
293
294 Scope (_SI)
295 {
296 Method (_SST, 1, NotSerialized) // _SST: System Status
297 {
298 If ((Arg0 == 0x01)){}
299 If ((Arg0 == 0x02)){}
300 If ((Arg0 == 0x03)){}
301 If ((Arg0 == 0x04)){}
302 If ((Arg0 == 0x00)){}
303 }
304 }
305
306 Scope (_PR)
307 {
308 Processor (CPU0, 0x00, 0x00008010, 0x06){}
309 Processor (CPU1, 0x01, 0x00008010, 0x06){}
310 Processor (CPU2, 0x02, 0x00008010, 0x06){}
311 Processor (CPU3, 0x03, 0x00008010, 0x06){}
312 Processor (CPU4, 0x04, 0x00008010, 0x06){}
313 Processor (CPU5, 0x05, 0x00008010, 0x06){}
314 Processor (CPU6, 0x06, 0x00008010, 0x06){}
315 Processor (CPU7, 0x07, 0x00008010, 0x06){}
316 }
317
318 Scope (_GPE)
319 {
320 Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE
321 {
322 }
323
324 Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE
325 {
326 Notify (\_SB.PCI0.USB1, 0x02) // Device Wake
327 }
328
329 Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE
330 {
331 Notify (\_SB.PCI0.USB2, 0x02) // Device Wake
332 }
333
334 Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE
335 {
336 Notify (\_SB.PCI0, 0x02) // Device Wake
337 }
338
339 Method (_L0A, 0, NotSerialized) // _Lxx: Level-Triggered GPE
340 {
341 \_SB.DBPG = 0xFA
342 Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
343 Sleep (0x012C)
344 \_SB.PCI0.LPC.TRIP = 0x01
345 }
346
347 Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE
348 {
349 Notify (\_SB.PCI0, 0x02) // Device Wake
350 }
351
352 Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE
353 {
354 Notify (\_SB.PCI0.USB0, 0x02) // Device Wake
355 }
356 }
357
358 Name (\CTYP, 0x00)
359 Method (DTSF, 1, Serialized)
360 {
361 \_SB.BCMD = 0x49
362 \_SB.DID = Arg0
363 \_SB.SMIC = 0x00
364 }
365
366 Scope (\_TZ)
367 {
368 Name (THPP, 0x00)
369 Method (KELV, 1, NotSerialized)
370 {
371 If ((Arg0 > 0x7F))
372 {
373 Local0 = (Arg0 ^ 0xFF)
374 Local0 += 0x01
375 Local0 *= 0x0A
376 Local1 = (0x0AAC - Local0)
377 }
378 Else
379 {
380 Local0 = (Arg0 * 0x0A)
381 Local1 = (Local0 + 0x0AAC)
382 }
383
384 Return (Local1)
385 }
386
387 ThermalZone (TZ01)
388 {
389 Method (_CRT, 0, Serialized) // _CRT: Critical Temperature
390 {
391 Return (KELV (\_SB.CRTT))
392 }
393
394 Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy
395 {
396 CTYP = Arg0
397 }
398
399 Method (_TMP, 0, Serialized) // _TMP: Temperature
400 {
401 \_SB.DBPG = 0x91
402 If ((THPP == 0x69))
403 {
404 Return (KELV (THPP))
405 }
406
407 If (\_SB.DTSE)
408 {
409 If ((\_SB.DTS1 >= \_SB.DTS2))
410 {
411 If ((\_SB.PCI0.LPC.EC0.FGEC != 0x00))
412 {
413 \_SB.DBPG = 0x92
414 \_SB.PCI0.LPC.EC0.XHPP = \_SB.DTS1
415 }
416
417 \_SB.DBPG = 0x93
418 Return (KELV (\_SB.DTS1))
419 }
420 Else
421 {
422 If ((\_SB.PCI0.LPC.EC0.FGEC != 0x00))
423 {
424 \_SB.DBPG = 0x94
425 \_SB.PCI0.LPC.EC0.XHPP = \_SB.DTS2
426 }
427
428 \_SB.DBPG = 0x95
429 Return (KELV (\_SB.DTS2))
430 }
431 }
432 ElseIf ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
433 {
434 \_SB.DBPG = 0x96
435 Return (KELV (0x1E))
436 }
437 Else
438 {
439 \_SB.DBPG = 0x97
440 Return (KELV (\_SB.PCI0.LPC.EC0.XHPP))
441 }
442 }
443
444 Method (_PSL, 0, Serialized) // _PSL: Passive List
445 {
446 If (\_SB.MPEN)
447 {
448 Return (Package (0x02)
449 {
450 \_PR.CPU0,
451 \_PR.CPU1
452 })
453 }
454
455 Return (Package (0x01)
456 {
457 \_PR.CPU0
458 })
459 }
460
461 Method (_PSV, 0, Serialized) // _PSV: Passive Temperature
462 {
463 Return ((0x0AAC + (\_SB.PSVT * 0x0A)))
464 }
465
466 Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1
467 {
468 Return (\_SB.TC1V)
469 }
470
471 Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2
472 {
473 Return (\_SB.TC2V)
474 }
475
476 Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period
477 {
478 Return (\_SB.TSPV)
479 }
480 }
481 }
482
483 Scope (_SB)
484 {
485 OperationRegion (CMS1, SystemIO, 0x70, 0x02)
486 Field (CMS1, ByteAcc, NoLock, Preserve)
487 {
488 INDX, 8,
489 DATA, 8
490 }
491
492 IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
493 {
494 Offset (0x60),
495 , 1,
496 PFID, 3
497 }
498
499 Device (BAT0)
500 {
501 Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID
502 Name (_UID, 0x00) // _UID: Unique ID
503 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
504 {
505 \_SB
506 })
507 Name (PAK0, Package (0x0D)
508 {
509 0x00,
510 0x1130,
511 0x1130,
512 0x00,
513 0x3138,
514 0x18,
515 0x18,
516 0x18,
517 0x16,
518 "L41SA",
519 "001 ",
520 "LiON",
521 "ECS "
522 })
523 Method (_BIF, 0, NotSerialized) // _BIF: Battery Information
524 {
525 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
526 {
527 Return (PAK0) /* \_SB_.BAT0.PAK0 */
528 }
529 Else
530 {
531 Acquire (\_SB.MUTX, 0xFFFF)
532 PAK0 [0x00] = \_SB.PCI0.LPC.EC0.XIF0
533 PAK0 [0x01] = \_SB.PCI0.LPC.EC0.XIF1
534 Local0 = \_SB.PCI0.LPC.EC0.XIF2
535 PAK0 [0x02] = Local0
536 PAK0 [0x03] = \_SB.PCI0.LPC.EC0.XIF3
537 PAK0 [0x04] = \_SB.PCI0.LPC.EC0.XIF4
538 PAK0 [0x05] = (Local0 / 0x64)
539 PAK0 [0x06] = (Local0 / 0x64)
540 PAK0 [0x07] = \_SB.PCI0.LPC.EC0.XIF7
541 Local1 = \_SB.OCID
542 Local3 = \_SB.PRID
543 If ((Local3 == 0x00))
544 {
545 If ((Local1 == 0x00))
546 {
547 Local2 = \_SB.PCI0.LPC.EC0.MDTP
548 If ((Local2 == 0x01))
549 {
550 PAK0 [0x09] = "L51SA"
551 PAK0 [0x0C] = "ECS "
552 }
553 Else
554 {
555 PAK0 [0x09] = "L41SA"
556 PAK0 [0x0C] = "ECS "
557 }
558 }
559 ElseIf ((Local1 == 0x01))
560 {
561 PAK0 [0x09] = "T61"
562 PAK0 [0x0C] = "Haier "
563 }
564 ElseIf ((Local1 == 0x02))
565 {
566 PAK0 [0x09] = "L51SA"
567 PAK0 [0x0C] = "ECS "
568 }
569 ElseIf ((Local1 == 0x03))
570 {
571 PAK0 [0x09] = " "
572 PAK0 [0x0C] = "Hasee "
573 }
574 ElseIf ((Local1 == 0x04))
575 {
576 PAK0 [0x09] = "K42A "
577 PAK0 [0x0C] = "TCL "
578 }
579 }
580 ElseIf ((Local3 == 0x01))
581 {
582 If ((Local1 == 0x00))
583 {
584 Local2 = \_SB.PCI0.LPC.EC0.MDTP
585 If ((Local2 == 0x04))
586 {
587 PAK0 [0x09] = " "
588 PAK0 [0x0C] = "OEM "
589 }
590
591 If ((Local2 == 0x05))
592 {
593 PAK0 [0x09] = " "
594 PAK0 [0x0C] = "OEM "
595 }
596
597 If ((Local2 == 0x07))
598 {
599 PAK0 [0x09] = " "
600 PAK0 [0x0C] = "OEM "
601 }
602 }
603 Else
604 {
605 If ((Local1 == 0x01))
606 {
607 PAK0 [0x09] = "A60x"
608 PAK0 [0x0C] = "Haier "
609 }
610
611 If ((Local1 == 0x02))
612 {
613 Local2 = \_SB.PCI0.LPC.EC0.MDTP
614 If ((Local2 == 0x04))
615 {
616 PAK0 [0x09] = " "
617 PAK0 [0x0C] = "OEM "
618 }
619
620 If ((Local2 == 0x05))
621 {
622 PAK0 [0x09] = " "
623 PAK0 [0x0C] = "OEM "
624 }
625
626 If ((Local2 == 0x07))
627 {
628 PAK0 [0x09] = " "
629 PAK0 [0x0C] = "OEM "
630 }
631 }
632
633 If ((Local1 == 0x03))
634 {
635 PAK0 [0x09] = " "
636 PAK0 [0x0C] = "OEM "
637 }
638
639 If ((Local1 == 0x04))
640 {
641 PAK0 [0x09] = " "
642 PAK0 [0x0C] = "OEM "
643 }
644
645 If ((Local1 == 0x05))
646 {
647 Local2 = \_SB.PCI0.LPC.EC0.MDTP
648 If ((Local2 == 0x04))
649 {
650 PAK0 [0x09] = " "
651 PAK0 [0x0C] = "OEM "
652 }
653
654 If ((Local2 == 0x05))
655 {
656 PAK0 [0x09] = " "
657 PAK0 [0x0C] = "OEM "
658 }
659
660 If ((Local2 == 0x07))
661 {
662 PAK0 [0x09] = " "
663 PAK0 [0x0C] = "OEM "
664 }
665 }
666
667 If ((Local1 == 0x06))
668 {
669 Local2 = \_SB.PCI0.LPC.EC0.MDTP
670 If ((Local2 == 0x04))
671 {
672 PAK0 [0x09] = " "
673 PAK0 [0x0C] = "OEM "
674 }
675
676 If ((Local2 == 0x05))
677 {
678 PAK0 [0x09] = " "
679 PAK0 [0x0C] = "OEM "
680 }
681
682 If ((Local2 == 0x07))
683 {
684 PAK0 [0x09] = " "
685 PAK0 [0x0C] = "OEM "
686 }
687 }
688
689 If ((Local1 == 0x07))
690 {
691 Local2 = \_SB.PCI0.LPC.EC0.MDTP
692 If ((Local2 == 0x04))
693 {
694 PAK0 [0x09] = " "
695 PAK0 [0x0C] = "OEM "
696 }
697
698 If ((Local2 == 0x05))
699 {
700 PAK0 [0x09] = " "
701 PAK0 [0x0C] = "OEM "
702 }
703
704 If ((Local2 == 0x07))
705 {
706 PAK0 [0x09] = " "
707 PAK0 [0x0C] = "OEM "
708 }
709 }
710 }
711 }
712 ElseIf ((Local3 == 0x02))
713 {
714 If ((Local1 == 0x00))
715 {
716 Local2 = \_SB.PCI0.LPC.EC0.MDTP
717 If ((Local2 == 0x04))
718 {
719 PAK0 [0x09] = "U30SA"
720 PAK0 [0x0C] = "ECS "
721 }
722 ElseIf ((Local2 == 0x05))
723 {
724 PAK0 [0x09] = "U40SA"
725 PAK0 [0x0C] = "ECS "
726 }
727 Else
728 {
729 PAK0 [0x09] = "U50SA"
730 PAK0 [0x0C] = "ECS "
731 }
732 }
733 ElseIf ((Local1 == 0x01))
734 {
735 PAK0 [0x09] = "T60x"
736 PAK0 [0x0C] = "Haier "
737 }
738 ElseIf ((Local1 == 0x02))
739 {
740 If ((Local2 == 0x04))
741 {
742 PAK0 [0x09] = "U30SA"
743 PAK0 [0x0C] = "ECS "
744 }
745 ElseIf ((Local2 == 0x05))
746 {
747 PAK0 [0x09] = "U40SA"
748 PAK0 [0x0C] = "ECS "
749 }
750 Else
751 {
752 PAK0 [0x09] = "U50SA"
753 PAK0 [0x0C] = "ECS "
754 }
755 }
756 ElseIf ((Local1 == 0x03))
757 {
758 PAK0 [0x09] = " "
759 PAK0 [0x0C] = "Hasee "
760 }
761 ElseIf ((Local1 == 0x04))
762 {
763 PAK0 [0x09] = "K42A "
764 PAK0 [0x0C] = "TCL "
765 }
766 }
767
768 Release (\_SB.MUTX)
769 Return (PAK0) /* \_SB_.BAT0.PAK0 */
770 }
771 }
772
773 Name (BFB0, Package (0x04)
774 {
775 0x00,
776 0xFFFFFFFF,
777 0x1034,
778 0x3138
779 })
780 Method (_BST, 0, NotSerialized) // _BST: Battery Status
781 {
782 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
783 {
784 Return (BFB0) /* \_SB_.BAT0.BFB0 */
785 }
786 Else
787 {
788 Acquire (\_SB.MUTX, 0xFFFF)
789 BFB0 [0x00] = \_SB.PCI0.LPC.EC0.XST0
790 BFB0 [0x01] = \_SB.PCI0.LPC.EC0.XST1
791 BFB0 [0x02] = \_SB.PCI0.LPC.EC0.XST2
792 BFB0 [0x03] = \_SB.PCI0.LPC.EC0.XST3
793 Release (\_SB.MUTX)
794 Return (BFB0) /* \_SB_.BAT0.BFB0 */
795 }
796 }
797
798 Method (_STA, 0, NotSerialized) // _STA: Status
799 {
800 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
801 {
802 Return (0x0F)
803 }
804 Else
805 {
806 Local0 = \_SB.PCI0.LPC.EC0.XTIN
807 If (Local0)
808 {
809 Return (0x1F)
810 }
811 Else
812 {
813 Return (0x0F)
814 }
815 }
816 }
817 }
818
819 Device (AC0)
820 {
821 Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID
822 Name (_PCL, Package (0x01) // _PCL: Power Consumer List
823 {
824 \_SB
825 })
826 Method (_PSR, 0, NotSerialized) // _PSR: Power Source
827 {
828 If ((\_SB.PCI0.LPC.EC0.FGEC == 0x00))
829 {
830 Local0 = 0x01
831 }
832 Else
833 {
834 Local0 = \_SB.PCI0.LPC.EC0.XCIN
835 }
836
837 Return (Local0)
838 }
839 }
840
841 Device (PCI0)
842 {
843 Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID
844 Name (_ADR, 0x00) // _ADR: Address
845 Name (_BBN, 0x00) // _BBN: BIOS Bus Number
846 Name (_UID, 0x00) // _UID: Unique ID
847 OperationRegion (NCFG, PCI_Config, 0x00, 0xAF)
848 Field (NCFG, ByteAcc, NoLock, Preserve)
849 {
850 Offset (0x50),
851 DEFR, 8,
852 Offset (0x53),
853 PIPE, 8
854 }
855
856 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
857 {
858 0x0B,
859 0x05
860 })
861 Method (_STA, 0, NotSerialized) // _STA: Status
862 {
863 Return (0x0F)
864 }
865
866 Method (_INI, 0, NotSerialized) // _INI: Initialize
867 {
868 If (\_SB.DTSE){}
869 \_SB.OSTP ()
870 Local0 = Z003 /* \Z003 */
871 Local0 |= 0x02
872 Z003 = Local0
873 }
874
875 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
876 {
877 If ((\_SB.OSTP () == 0x02))
878 {
879 Return (0x02)
880 }
881 Else
882 {
883 Return (0x03)
884 }
885 }
886
887 OperationRegion (OPS0, PCI_Config, 0x70, 0x04)
888 Field (OPS0, ByteAcc, NoLock, Preserve)
889 {
890 FR70, 8,
891 FR71, 8,
892 FR72, 8,
893 FR73, 8
894 }
895
896 OperationRegion (MA, PCI_Config, 0x8E, 0x02)
897 Field (MA, ByteAcc, NoLock, Preserve)
898 {
899 MAL, 8,
900 MAH, 8
901 }
902
903 Name (CRES, ResourceTemplate ()
904 {
905 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
906 0x0000, // Granularity
907 0x0000, // Range Minimum
908 0x00FF, // Range Maximum
909 0x0000, // Translation Offset
910 0x0100, // Length
911 0x00,, )
912 IO (Decode16,
913 0x0CF8, // Range Minimum
914 0x0CF8, // Range Maximum
915 0x01, // Alignment
916 0x08, // Length
917 )
918 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
919 0x0000, // Granularity
920 0x0000, // Range Minimum
921 0x0CF7, // Range Maximum
922 0x0000, // Translation Offset
923 0x0CF8, // Length
924 0x00,, , TypeStatic, DenseTranslation)
925 WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
926 0x0000, // Granularity
927 0x0D00, // Range Minimum
928 0xFFFF, // Range Maximum
929 0x0000, // Translation Offset
930 0xF300, // Length
931 0x00,, , TypeStatic, DenseTranslation)
932 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
933 0x00000000, // Granularity
934 0x000A0000, // Range Minimum
935 0x000BFFFF, // Range Maximum
936 0x00000000, // Translation Offset
937 0x00020000, // Length
938 0x00,, , AddressRangeMemory, TypeStatic)
939 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
940 0x00000000, // Granularity
941 0x04000000, // Range Minimum
942 0xFFEDFFFF, // Range Maximum
943 0x00000000, // Translation Offset
944 0x00000000, // Length
945 0x00,, _Y0C, AddressRangeMemory, TypeStatic)
946 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
947 0x00000000, // Granularity
948 0x000C0000, // Range Minimum
949 0x000C3FFF, // Range Maximum
950 0x00000000, // Translation Offset
951 0x00004000, // Length
952 0x00,, _Y00, AddressRangeMemory, TypeStatic)
953 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
954 0x00000000, // Granularity
955 0x000C4000, // Range Minimum
956 0x000C7FFF, // Range Maximum
957 0x00000000, // Translation Offset
958 0x00004000, // Length
959 0x00,, _Y01, AddressRangeMemory, TypeStatic)
960 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
961 0x00000000, // Granularity
962 0x000C8000, // Range Minimum
963 0x000CBFFF, // Range Maximum
964 0x00000000, // Translation Offset
965 0x00004000, // Length
966 0x00,, _Y02, AddressRangeMemory, TypeStatic)
967 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
968 0x00000000, // Granularity
969 0x000CC000, // Range Minimum
970 0x000CFFFF, // Range Maximum
971 0x00000000, // Translation Offset
972 0x00004000, // Length
973 0x00,, _Y03, AddressRangeMemory, TypeStatic)
974 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
975 0x00000000, // Granularity
976 0x000D0000, // Range Minimum
977 0x000D3FFF, // Range Maximum
978 0x00000000, // Translation Offset
979 0x00004000, // Length
980 0x00,, _Y04, AddressRangeMemory, TypeStatic)
981 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
982 0x00000000, // Granularity
983 0x000D4000, // Range Minimum
984 0x000D7FFF, // Range Maximum
985 0x00000000, // Translation Offset
986 0x00004000, // Length
987 0x00,, _Y05, AddressRangeMemory, TypeStatic)
988 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
989 0x00000000, // Granularity
990 0x000D8000, // Range Minimum
991 0x000DBFFF, // Range Maximum
992 0x00000000, // Translation Offset
993 0x00004000, // Length
994 0x00,, _Y06, AddressRangeMemory, TypeStatic)
995 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
996 0x00000000, // Granularity
997 0x000DC000, // Range Minimum
998 0x000DFFFF, // Range Maximum
999 0x00000000, // Translation Offset
1000 0x00004000, // Length
1001 0x00,, _Y07, AddressRangeMemory, TypeStatic)
1002 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1003 0x00000000, // Granularity
1004 0x000E0000, // Range Minimum
1005 0x000E3FFF, // Range Maximum
1006 0x00000000, // Translation Offset
1007 0x00004000, // Length
1008 0x00,, _Y08, AddressRangeMemory, TypeStatic)
1009 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1010 0x00000000, // Granularity
1011 0x000E4000, // Range Minimum
1012 0x000E7FFF, // Range Maximum
1013 0x00000000, // Translation Offset
1014 0x00004000, // Length
1015 0x00,, _Y09, AddressRangeMemory, TypeStatic)
1016 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1017 0x00000000, // Granularity
1018 0x000E8000, // Range Minimum
1019 0x000EBFFF, // Range Maximum
1020 0x00000000, // Translation Offset
1021 0x00004000, // Length
1022 0x00,, _Y0A, AddressRangeMemory, TypeStatic)
1023 DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
1024 0x00000000, // Granularity
1025 0x000EC000, // Range Minimum
1026 0x000EFFFF, // Range Maximum
1027 0x00000000, // Translation Offset
1028 0x00004000, // Length
1029 0x00,, _Y0B, AddressRangeMemory, TypeStatic)
1030 })
1031 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
1032 {
1033 CreateBitField (CRES, \_SB.PCI0._Y00._RW, C0RW) // _RW_: Read-Write Status
1034 CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, C0LN) // _LEN: Length
1035 C0RW = One
1036 C0LN = 0x4000
1037 If ((\_SB.PCI0.FR70 & 0x01))
1038 {
1039 C0LN = 0x00
1040 }
1041
1042 CreateBitField (CRES, \_SB.PCI0._Y01._RW, C4RW) // _RW_: Read-Write Status
1043 CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, C4LN) // _LEN: Length
1044 C4RW = One
1045 C4LN = 0x4000
1046 If ((\_SB.PCI0.FR70 & 0x02))
1047 {
1048 C4LN = 0x00
1049 }
1050
1051 CreateBitField (CRES, \_SB.PCI0._Y02._RW, C8RW) // _RW_: Read-Write Status
1052 CreateDWordField (CRES, \_SB.PCI0._Y02._LEN, C8LN) // _LEN: Length
1053 C8RW = One
1054 C8LN = 0x4000
1055 If ((\_SB.PCI0.FR70 & 0x04))
1056 {
1057 C8LN = 0x00
1058 }
1059
1060 CreateBitField (CRES, \_SB.PCI0._Y03._RW, CCRW) // _RW_: Read-Write Status
1061 CreateDWordField (CRES, \_SB.PCI0._Y03._LEN, CCLN) // _LEN: Length
1062 CCRW = One
1063 CCLN = 0x4000
1064 If ((\_SB.PCI0.FR70 & 0x08))
1065 {
1066 CCLN = 0x00
1067 }
1068
1069 CreateBitField (CRES, \_SB.PCI0._Y04._RW, D0RW) // _RW_: Read-Write Status
1070 CreateDWordField (CRES, \_SB.PCI0._Y04._LEN, D0LN) // _LEN: Length
1071 D0RW = One
1072 D0LN = 0x4000
1073 If ((\_SB.PCI0.FR70 & 0x10))
1074 {
1075 D0LN = 0x00
1076 }
1077
1078 CreateBitField (CRES, \_SB.PCI0._Y05._RW, D4RW) // _RW_: Read-Write Status
1079 CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, D4LN) // _LEN: Length
1080 D4RW = One
1081 D4LN = 0x4000
1082 If ((\_SB.PCI0.FR70 & 0x20))
1083 {
1084 D4LN = 0x00
1085 }
1086
1087 CreateBitField (CRES, \_SB.PCI0._Y06._RW, D8RW) // _RW_: Read-Write Status
1088 CreateDWordField (CRES, \_SB.PCI0._Y06._LEN, D8LN) // _LEN: Length
1089 D8RW = One
1090 D8LN = 0x4000
1091 If ((\_SB.PCI0.FR70 & 0x40))
1092 {
1093 D8LN = 0x00
1094 }
1095
1096 CreateBitField (CRES, \_SB.PCI0._Y07._RW, DCRW) // _RW_: Read-Write Status
1097 CreateDWordField (CRES, \_SB.PCI0._Y07._LEN, DCLN) // _LEN: Length
1098 DCRW = One
1099 DCLN = 0x4000
1100 If ((\_SB.PCI0.FR70 & 0x80))
1101 {
1102 DCLN = 0x00
1103 }
1104
1105 CreateBitField (CRES, \_SB.PCI0._Y08._RW, E0RW) // _RW_: Read-Write Status
1106 CreateDWordField (CRES, \_SB.PCI0._Y08._LEN, E0LN) // _LEN: Length
1107 E0RW = One
1108 E0LN = 0x4000
1109 If ((\_SB.PCI0.FR71 & 0x01))
1110 {
1111 E0LN = 0x00
1112 }
1113
1114 CreateBitField (CRES, \_SB.PCI0._Y09._RW, E4RW) // _RW_: Read-Write Status
1115 CreateDWordField (CRES, \_SB.PCI0._Y09._LEN, E4LN) // _LEN: Length
1116 E4RW = One
1117 E4LN = 0x4000
1118 If ((\_SB.PCI0.FR71 & 0x02))
1119 {
1120 E4LN = 0x00
1121 }
1122
1123 CreateBitField (CRES, \_SB.PCI0._Y0A._RW, E8RW) // _RW_: Read-Write Status
1124 CreateDWordField (CRES, \_SB.PCI0._Y0A._LEN, E8LN) // _LEN: Length
1125 E8RW = One
1126 E8LN = 0x4000
1127 If ((\_SB.PCI0.FR71 & 0x04))
1128 {
1129 E8LN = 0x00
1130 }
1131
1132 CreateBitField (CRES, \_SB.PCI0._Y0B._RW, ECRW) // _RW_: Read-Write Status
1133 CreateDWordField (CRES, \_SB.PCI0._Y0B._LEN, ECLN) // _LEN: Length
1134 ECRW = One
1135 ECLN = 0x4000
1136 If ((\_SB.PCI0.FR71 & 0x80))
1137 {
1138 ECLN = 0x00
1139 }
1140
1141 CreateDWordField (CRES, \_SB.PCI0._Y0C._MIN, RAMT) // _MIN: Minimum Base Address
1142 CreateDWordField (CRES, \_SB.PCI0._Y0C._LEN, RAMR) // _LEN: Length
1143 Local0 = (\_SB.PCI0.MAH << 0x18)
1144 Local1 = (\_SB.PCI0.MAL << 0x10)
1145 Local2 = (Local1 + Local0)
1146 RAMT = Local2
1147 RAMR = (0xFFEE0000 - RAMT) /* \_SB_.PCI0._CRS.RAMT */
1148 Return (CRES) /* \_SB_.PCI0.CRES */
1149 }
1150
1151 Device (IDEC)
1152 {
1153 Name (_ADR, 0x00020005) // _ADR: Address
1154 Name (IO5T, Package (0x03)
1155 {
1156 Package (0x07)
1157 {
1158 0x78,
1159 0xB4,
1160 0x014A,
1161 0x0186,
1162 0x0258,
1163 0x78,
1164 0x96
1165 },
1166
1167 Package (0x07)
1168 {
1169 0x06,
1170 0x07,
1171 0x1C,
1172 0x1C,
1173 0x1C,
1174 0x06,
1175 0x07
1176 },
1177
1178 Package (0x07)
1179 {
1180 0x04,
1181 0x09,
1182 0x03,
1183 0x09,
1184 0x1E,
1185 0x04,
1186 0x06
1187 }
1188 })
1189 Name (IO6T, Package (0x03)
1190 {
1191 Package (0x07)
1192 {
1193 0x78,
1194 0xB4,
1195 0x014A,
1196 0x0186,
1197 0x0258,
1198 0x78,
1199 0xB4
1200 },
1201
1202 Package (0x07)
1203 {
1204 0x09,
1205 0x0A,
1206 0x26,
1207 0x26,
1208 0x26,
1209 0x09,
1210 0x0A
1211 },
1212
1213 Package (0x07)
1214 {
1215 0x05,
1216 0x0C,
1217 0x04,
1218 0x0C,
1219 0x28,
1220 0x05,
1221 0x0C
1222 }
1223 })
1224 Name (UM5T, Package (0x06)
1225 {
1226 0x0B,
1227 0x07,
1228 0x05,
1229 0x04,
1230 0x02,
1231 0x01
1232 })
1233 Name (UM6T, Package (0x07)
1234 {
1235 0x0F,
1236 0x0A,
1237 0x07,
1238 0x05,
1239 0x03,
1240 0x02,
1241 0x01
1242 })
1243 Name (PIO5, Package (0x05)
1244 {
1245 0x3A,
1246 0x25,
1247 0x1F,
1248 0x10,
1249 0x0A
1250 })
1251 Name (PIO6, Package (0x05)
1252 {
1253 0x4E,
1254 0x32,
1255 0x2A,
1256 0x16,
1257 0x0E
1258 })
1259 Name (CRCT, Package (0x07)
1260 {
1261 0x06,
1262 0x04,
1263 0x03,
1264 0x01,
1265 0x01,
1266 0x01,
1267 0x01
1268 })
1269 Name (INTT, Package (0x05)
1270 {
1271 0x02,
1272 0x02,
1273 0x02,
1274 0x04,
1275 0x06
1276 })
1277 Name (DMAT, Package (0x05)
1278 {
1279 0x00,
1280 0x01,
1281 0x01,
1282 0x01,
1283 0x02
1284 })
1285 Name (RMFL, 0x01)
1286 OperationRegion (CF40, PCI_Config, 0x40, 0x18)
1287 Field (CF40, WordAcc, NoLock, Preserve)
1288 {
1289 , 1,
1290 IOR0, 1,
1291 UDM0, 1,
1292 UM60, 1,
1293 UCT0, 4,
1294 CRC0, 4,
1295 INI0, 4,
1296 ATT0, 6,
1297 Offset (0x03),
1298 RCT0, 6,
1299 Offset (0x04),
1300 , 1,
1301 IOR1, 1,
1302 UDM1, 1,
1303 UM61, 1,
1304 UCT1, 4,
1305 CRC1, 4,
1306 INI1, 4,
1307 ATT1, 6,
1308 Offset (0x07),
1309 RCT1, 6,
1310 Offset (0x08),
1311 , 1,
1312 IOR2, 1,
1313 UDM2, 1,
1314 UM62, 1,
1315 UCT2, 4,
1316 CRC2, 4,
1317 INI2, 4,
1318 ATT2, 6,
1319 Offset (0x0B),
1320 RCT2, 6,
1321 Offset (0x0C),
1322 , 1,
1323 IOR3, 1,
1324 UDM3, 1,
1325 UM63, 1,
1326 UCT3, 4,
1327 CRC3, 4,
1328 INI3, 4,
1329 ATT3, 6,
1330 Offset (0x0F),
1331 RCT3, 6,
1332 Offset (0x10),
1333 , 1,
1334 CHE0, 1,
1335 Offset (0x12),
1336 , 1,
1337 CHE1, 1,
1338 Offset (0x14),
1339 , 30,
1340 REMP, 1,
1341 Offset (0x18)
1342 }
1343
1344 Name (IDEP, Buffer (0x14){})
1345 CreateDWordField (IDEP, 0x00, GTM0)
1346 CreateDWordField (IDEP, 0x04, GTM1)
1347 CreateDWordField (IDEP, 0x08, GTM2)
1348 CreateDWordField (IDEP, 0x0C, GTM3)
1349 CreateDWordField (IDEP, 0x10, GTM4)
1350 Device (IDE0)
1351 {
1352 Name (_ADR, 0x00) // _ADR: Address
1353 Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
1354 {
1355 Local0 = 0xFFFFFFFF
1356 Local1 = 0xFFFFFFFF
1357 Local2 = 0xFFFFFFFF
1358 Local3 = 0xFFFFFFFF
1359 Local4 = 0x10
1360 RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1361 REMP = 0x00
1362 If (CHE0)
1363 {
1364 If ((ATT0 != 0x00))
1365 {
1366 Local5 = (RCT0 + 0x01)
1367 Local6 = (ATT0 + 0x01)
1368 Local5 += Local6
1369 Local6 = (UM60 * 0x05)
1370 Local7 = (0x14 - Local6)
1371 Local0 = (Local5 * Local7)
1372 Local0 >>= 0x01
1373 If ((Local0 <= 0xB4))
1374 {
1375 Local1 = Local0
1376 }
1377
1378 If (IOR0)
1379 {
1380 Local4 |= 0x02
1381 }
1382
1383 If (UDM0)
1384 {
1385 Local5 = (UCT0 + 0x01)
1386 Local6 = (Local5 * Local7)
1387 Local1 = (Local6 >> 0x01)
1388 Local4 |= 0x01
1389 }
1390 }
1391
1392 If ((ATT1 != 0x00))
1393 {
1394 Local5 = (RCT1 + 0x01)
1395 Local6 = (ATT1 + 0x01)
1396 Local5 += Local6
1397 Local6 = (UM61 * 0x05)
1398 Local7 = (0x14 - Local6)
1399 Local2 = (Local5 * Local7)
1400 Local2 >>= 0x01
1401 If ((Local2 <= 0xB4))
1402 {
1403 Local3 = Local2
1404 }
1405
1406 If (IOR1)
1407 {
1408 Local4 |= 0x08
1409 }
1410
1411 If (UDM1)
1412 {
1413 Local5 = (UCT1 + 0x01)
1414 Local6 = (Local5 * Local7)
1415 Local3 = (Local6 >> 0x01)
1416 Local4 |= 0x04
1417 }
1418 }
1419 }
1420
1421 REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1422 GTM0 = Local0
1423 GTM1 = Local1
1424 GTM2 = Local2
1425 GTM3 = Local3
1426 GTM4 = Local4
1427 Return (IDEP) /* \_SB_.PCI0.IDEC.IDEP */
1428 }
1429
1430 Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode
1431 {
1432 IDEP = Arg0
1433 Local0 = GTM0 /* \_SB_.PCI0.IDEC.GTM0 */
1434 Local1 = GTM1 /* \_SB_.PCI0.IDEC.GTM1 */
1435 Local2 = GTM2 /* \_SB_.PCI0.IDEC.GTM2 */
1436 Local3 = GTM3 /* \_SB_.PCI0.IDEC.GTM3 */
1437 Local4 = GTM4 /* \_SB_.PCI0.IDEC.GTM4 */
1438 RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1439 REMP = 0x00
1440 If (((Local1 != 0xFFFFFFFF) && (Local1 != 0x00)))
1441 {
1442 If ((Local4 & 0x01))
1443 {
1444 UDM0 = 0x01
1445 If ((Local1 < 0x14))
1446 {
1447 UM60 = 0x01
1448 UCT0 = 0x01
1449 }
1450 Else
1451 {
1452 UM60 = 0x00
1453 Divide (Local1, 0x0A, Local6, Local5)
1454 Local5--
1455 UCT0 = Local5
1456 Local5 = Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00)
1457 CRC0 = DerefOf (CRCT [Local5])
1458 }
1459 }
1460 }
1461
1462 If (((Local0 != 0xFFFFFFFF) && (Local0 != 0x00)))
1463 {
1464 If (UM60)
1465 {
1466 Local6 = Match (DerefOf (IO6T [0x00]), MEQ, Local0, MTR, 0x00,
1467 0x00)
1468 ATT0 = DerefOf (DerefOf (IO6T [0x01]) [Local6])
1469 RCT0 = DerefOf (DerefOf (IO6T [0x02]) [Local6])
1470 }
1471 Else
1472 {
1473 Local6 = Match (DerefOf (IO5T [0x00]), MEQ, Local0, MTR, 0x00,
1474 0x00)
1475 ATT0 = DerefOf (DerefOf (IO5T [0x01]) [Local6])
1476 RCT0 = DerefOf (DerefOf (IO5T [0x02]) [Local6])
1477 INI0 = DerefOf (INTT [Local6])
1478 }
1479 }
1480
1481 If (((Local3 != 0xFFFFFFFF) && (Local3 != 0x00)))
1482 {
1483 If ((Local4 & 0x04))
1484 {
1485 UDM1 = 0x01
1486 If ((Local3 < 0x14))
1487 {
1488 UM61 = 0x01
1489 UCT1 = 0x01
1490 }
1491 Else
1492 {
1493 UM61 = 0x00
1494 Divide (Local3, 0x0A, Local6, Local5)
1495 Local5--
1496 UCT1 = Local5
1497 Local5 = Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00)
1498 CRC1 = DerefOf (CRCT [Local5])
1499 }
1500 }
1501 }
1502
1503 If (((Local2 != 0xFFFFFFFF) && (Local2 != 0x00)))
1504 {
1505 If (UM61)
1506 {
1507 Local6 = Match (DerefOf (IO6T [0x00]), MEQ, Local2, MTR, 0x00,
1508 0x00)
1509 ATT1 = DerefOf (DerefOf (IO6T [0x01]) [Local6])
1510 RCT1 = DerefOf (DerefOf (IO6T [0x02]) [Local6])
1511 }
1512 Else
1513 {
1514 Local6 = Match (DerefOf (IO5T [0x00]), MEQ, Local2, MTR, 0x00,
1515 0x00)
1516 ATT1 = DerefOf (DerefOf (IO5T [0x01]) [Local6])
1517 RCT1 = DerefOf (DerefOf (IO5T [0x02]) [Local6])
1518 INI1 = DerefOf (INTT [Local6])
1519 }
1520 }
1521
1522 REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1523 }
1524
1525 Device (DRV0)
1526 {
1527 Name (_ADR, 0x00) // _ADR: Address
1528 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
1529 {
1530 Local6 = Buffer (0x07)
1531 {
1532 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */
1533 }
1534 Local7 = Buffer (0x07)
1535 {
1536 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */
1537 }
1538 CreateByteField (Local6, 0x01, MODE)
1539 CreateByteField (Local7, 0x01, UMOD)
1540 RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1541 REMP = 0x00
1542 If ((ATT0 != 0x00))
1543 {
1544 Local5 = (ATT0 + RCT0) /* \_SB_.PCI0.IDEC.RCT0 */
1545 If (UM60)
1546 {
1547 MODE = Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00)
1548 }
1549 Else
1550 {
1551 MODE = Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00)
1552 }
1553
1554 If (UDM0)
1555 {
1556 If (UM60)
1557 {
1558 UMOD = Match (UM6T, MEQ, UCT0, MTR, 0x00, 0x00)
1559 }
1560 Else
1561 {
1562 UMOD = Match (UM5T, MEQ, UCT0, MTR, 0x00, 0x00)
1563 }
1564
1565 UMOD |= 0x40
1566 }
1567 Else
1568 {
1569 UMOD = DerefOf (DMAT [MODE])
1570 UMOD |= 0x20
1571 }
1572
1573 MODE |= 0x08
1574 }
1575
1576 REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1577 Concatenate (Local6, Local7, Local5)
1578 Return (Local5)
1579 }
1580 }
1581
1582 Device (DRV1)
1583 {
1584 Name (_ADR, 0x01) // _ADR: Address
1585 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
1586 {
1587 Local6 = Buffer (0x07)
1588 {
1589 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */
1590 }
1591 Local7 = Buffer (0x07)
1592 {
1593 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */
1594 }
1595 CreateByteField (Local6, 0x01, MODE)
1596 CreateByteField (Local7, 0x01, UMOD)
1597 RMFL = REMP /* \_SB_.PCI0.IDEC.REMP */
1598 REMP = 0x00
1599 If ((ATT1 != 0x00))
1600 {
1601 Local5 = (ATT1 + RCT1) /* \_SB_.PCI0.IDEC.RCT1 */
1602 If (UM61)
1603 {
1604 MODE = Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00)
1605 }
1606 Else
1607 {
1608 MODE = Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00)
1609 }
1610
1611 If (UDM1)
1612 {
1613 If (UM61)
1614 {
1615 UMOD = Match (UM6T, MEQ, UCT1, MTR, 0x00, 0x00)
1616 }
1617 Else
1618 {
1619 UMOD = Match (UM5T, MEQ, UCT1, MTR, 0x00, 0x00)
1620 }
1621
1622 UMOD |= 0x40
1623 }
1624 Else
1625 {
1626 UMOD = DerefOf (DMAT [MODE])
1627 UMOD |= 0x20
1628 }
1629
1630 MODE |= 0x08
1631 }
1632
1633 REMP = RMFL /* \_SB_.PCI0.IDEC.RMFL */
1634 Concatenate (Local6, Local7, Local5)
1635 Return (Local5)
1636 }
1637 }
1638 }
1639 }
1640
1641 Device (LNKA)
1642 {
1643 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1644 Name (_UID, 0x01) // _UID: Unique ID
1645 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1646 {
1647 IRQ (Level, ActiveLow, Shared, )
1648 {3,4,5,7,9,10,11}
1649 })
1650 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1651 {
1652 \_SB.PCI0.LPC.PIRA |= 0x80
1653 }
1654
1655 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1656 {
1657 Name (RSRC, ResourceTemplate ()
1658 {
1659 IRQ (Level, ActiveLow, Shared, _Y0D)
1660 {}
1661 })
1662 CreateWordField (RSRC, \_SB.PCI0.LNKA._CRS._Y0D._INT, IRQ0) // _INT: Interrupts
1663 If (((\_SB.PCI0.LPC.PIRA & 0x80) == Zero))
1664 {
1665 Local0 = (\_SB.PCI0.LPC.PIRA & 0x0F)
1666 IRQ0 = (0x01 << Local0)
1667 }
1668
1669 Return (RSRC) /* \_SB_.PCI0.LNKA._CRS.RSRC */
1670 }
1671
1672 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1673 {
1674 CreateWordField (Arg0, 0x01, IRQ0)
1675 FindSetRightBit (IRQ0, Local0)
1676 Local0--
1677 \_SB.PCI0.LPC.PIRA = (Local0 | (\_SB.PCI0.LPC.PIRA & 0x70))
1678 }
1679
1680 Method (_STA, 0, NotSerialized) // _STA: Status
1681 {
1682 If ((\_SB.PCI0.LPC.PIRA & 0x80))
1683 {
1684 Return (0x09)
1685 }
1686
1687 Return (0x0B)
1688 }
1689 }
1690
1691 Device (LNKB)
1692 {
1693 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1694 Name (_UID, 0x02) // _UID: Unique ID
1695 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1696 {
1697 IRQ (Level, ActiveLow, Shared, )
1698 {3,4,5,7,9,10,11}
1699 })
1700 Name (RSRC, ResourceTemplate ()
1701 {
1702 IRQ (Level, ActiveLow, Shared, _Y0E)
1703 {}
1704 })
1705 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1706 {
1707 \_SB.PCI0.LPC.PIRB |= 0x80
1708 }
1709
1710 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1711 {
1712 CreateWordField (RSRC, \_SB.PCI0.LNKB._Y0E._INT, IRQ0) // _INT: Interrupts
1713 Local0 = (\_SB.PCI0.LPC.PIRB & 0x0F)
1714 IRQ0 = (0x01 << Local0)
1715 Return (RSRC) /* \_SB_.PCI0.LNKB.RSRC */
1716 }
1717
1718 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1719 {
1720 CreateWordField (Arg0, 0x01, IRQ0)
1721 FindSetRightBit (IRQ0, Local0)
1722 Local0--
1723 \_SB.PCI0.LPC.PIRB = (Local0 | (\_SB.PCI0.LPC.PIRB & 0x70))
1724 }
1725
1726 Method (_STA, 0, NotSerialized) // _STA: Status
1727 {
1728 If ((\_SB.PCI0.LPC.PIRB & 0x80))
1729 {
1730 Return (0x09)
1731 }
1732
1733 Return (0x0B)
1734 }
1735 }
1736
1737 Device (LNKC)
1738 {
1739 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1740 Name (_UID, 0x03) // _UID: Unique ID
1741 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1742 {
1743 IRQ (Level, ActiveLow, Shared, )
1744 {3,4,5,7,9,10,11}
1745 })
1746 Name (RSRC, ResourceTemplate ()
1747 {
1748 IRQ (Level, ActiveLow, Shared, _Y0F)
1749 {}
1750 })
1751 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1752 {
1753 \_SB.PCI0.LPC.PIRC |= 0x80
1754 }
1755
1756 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1757 {
1758 CreateWordField (RSRC, \_SB.PCI0.LNKC._Y0F._INT, IRQ0) // _INT: Interrupts
1759 Local0 = (\_SB.PCI0.LPC.PIRC & 0x0F)
1760 IRQ0 = (0x01 << Local0)
1761 Return (RSRC) /* \_SB_.PCI0.LNKC.RSRC */
1762 }
1763
1764 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1765 {
1766 CreateWordField (Arg0, 0x01, IRQ0)
1767 FindSetRightBit (IRQ0, Local0)
1768 Local0--
1769 \_SB.PCI0.LPC.PIRC = (Local0 | (\_SB.PCI0.LPC.PIRC & 0x70))
1770 }
1771
1772 Method (_STA, 0, NotSerialized) // _STA: Status
1773 {
1774 If ((\_SB.PCI0.LPC.PIRC & 0x80))
1775 {
1776 Return (0x09)
1777 }
1778
1779 Return (0x0B)
1780 }
1781 }
1782
1783 Device (LNKD)
1784 {
1785 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1786 Name (_UID, 0x04) // _UID: Unique ID
1787 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1788 {
1789 IRQ (Level, ActiveLow, Shared, )
1790 {3,4,5,7,9,10,11}
1791 })
1792 Name (RSRC, ResourceTemplate ()
1793 {
1794 IRQ (Level, ActiveLow, Shared, _Y10)
1795 {}
1796 })
1797 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1798 {
1799 \_SB.PCI0.LPC.PIRD |= 0x80
1800 }
1801
1802 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1803 {
1804 CreateWordField (RSRC, \_SB.PCI0.LNKD._Y10._INT, IRQ0) // _INT: Interrupts
1805 Local0 = (\_SB.PCI0.LPC.PIRD & 0x0F)
1806 IRQ0 = (0x01 << Local0)
1807 Return (RSRC) /* \_SB_.PCI0.LNKD.RSRC */
1808 }
1809
1810 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1811 {
1812 CreateWordField (Arg0, 0x01, IRQ0)
1813 FindSetRightBit (IRQ0, Local0)
1814 Local0--
1815 \_SB.PCI0.LPC.PIRD = (Local0 | (\_SB.PCI0.LPC.PIRD & 0x70))
1816 }
1817
1818 Method (_STA, 0, NotSerialized) // _STA: Status
1819 {
1820 If ((\_SB.PCI0.LPC.PIRD & 0x80))
1821 {
1822 Return (0x09)
1823 }
1824
1825 Return (0x0B)
1826 }
1827 }
1828
1829 Device (LNKE)
1830 {
1831 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1832 Name (_UID, 0x05) // _UID: Unique ID
1833 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1834 {
1835 IRQ (Level, ActiveLow, Shared, )
1836 {3,4,5,7,9,10,11}
1837 })
1838 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1839 {
1840 \_SB.PCI0.LPC.PIRE |= 0x80
1841 }
1842
1843 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1844 {
1845 Name (RSRC, ResourceTemplate ()
1846 {
1847 IRQ (Level, ActiveLow, Shared, _Y11)
1848 {}
1849 })
1850 CreateWordField (RSRC, \_SB.PCI0.LNKE._CRS._Y11._INT, IRQ0) // _INT: Interrupts
1851 If (((\_SB.PCI0.LPC.PIRE & 0x80) == Zero))
1852 {
1853 Local0 = (\_SB.PCI0.LPC.PIRE & 0x0F)
1854 IRQ0 = (0x01 << Local0)
1855 }
1856
1857 Return (RSRC) /* \_SB_.PCI0.LNKE._CRS.RSRC */
1858 }
1859
1860 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1861 {
1862 CreateWordField (Arg0, 0x01, IRQ0)
1863 FindSetRightBit (IRQ0, Local0)
1864 Local0--
1865 \_SB.PCI0.LPC.PIRE = (Local0 | (\_SB.PCI0.LPC.PIRE & 0x70))
1866 }
1867
1868 Method (_STA, 0, NotSerialized) // _STA: Status
1869 {
1870 If ((\_SB.PCI0.LPC.PIRE & 0x80))
1871 {
1872 Return (0x09)
1873 }
1874
1875 Return (0x0B)
1876 }
1877 }
1878
1879 Device (LNKF)
1880 {
1881 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1882 Name (_UID, 0x06) // _UID: Unique ID
1883 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1884 {
1885 IRQ (Level, ActiveLow, Shared, )
1886 {3,4,5,7,9,10,11}
1887 })
1888 Name (RSRC, ResourceTemplate ()
1889 {
1890 IRQ (Level, ActiveLow, Shared, _Y12)
1891 {}
1892 })
1893 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1894 {
1895 \_SB.PCI0.LPC.PIRF |= 0x80
1896 }
1897
1898 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1899 {
1900 CreateWordField (RSRC, \_SB.PCI0.LNKF._Y12._INT, IRQ0) // _INT: Interrupts
1901 Local0 = (\_SB.PCI0.LPC.PIRF & 0x0F)
1902 IRQ0 = (0x01 << Local0)
1903 Return (RSRC) /* \_SB_.PCI0.LNKF.RSRC */
1904 }
1905
1906 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1907 {
1908 CreateWordField (Arg0, 0x01, IRQ0)
1909 FindSetRightBit (IRQ0, Local0)
1910 Local0--
1911 \_SB.PCI0.LPC.PIRF = (Local0 | (\_SB.PCI0.LPC.PIRF & 0x70))
1912 }
1913
1914 Method (_STA, 0, NotSerialized) // _STA: Status
1915 {
1916 If ((\_SB.PCI0.LPC.PIRF & 0x80))
1917 {
1918 Return (0x09)
1919 }
1920
1921 Return (0x0B)
1922 }
1923 }
1924
1925 Device (LNKG)
1926 {
1927 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1928 Name (_UID, 0x07) // _UID: Unique ID
1929 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1930 {
1931 IRQ (Level, ActiveLow, Shared, )
1932 {3,4,5,7,9,10,11}
1933 })
1934 Name (RSRC, ResourceTemplate ()
1935 {
1936 IRQ (Level, ActiveLow, Shared, _Y13)
1937 {}
1938 })
1939 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1940 {
1941 \_SB.PCI0.LPC.PIRG |= 0x80
1942 }
1943
1944 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1945 {
1946 CreateWordField (RSRC, \_SB.PCI0.LNKG._Y13._INT, IRQ0) // _INT: Interrupts
1947 Local0 = (\_SB.PCI0.LPC.PIRG & 0x0F)
1948 IRQ0 = (0x01 << Local0)
1949 Return (RSRC) /* \_SB_.PCI0.LNKG.RSRC */
1950 }
1951
1952 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1953 {
1954 CreateWordField (Arg0, 0x01, IRQ0)
1955 FindSetRightBit (IRQ0, Local0)
1956 Local0--
1957 \_SB.PCI0.LPC.PIRG = (Local0 | (\_SB.PCI0.LPC.PIRG & 0x70))
1958 }
1959
1960 Method (_STA, 0, NotSerialized) // _STA: Status
1961 {
1962 If ((\_SB.PCI0.LPC.PIRG & 0x80))
1963 {
1964 Return (0x09)
1965 }
1966
1967 Return (0x0B)
1968 }
1969 }
1970
1971 Device (LNKH)
1972 {
1973 Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID
1974 Name (_UID, 0x08) // _UID: Unique ID
1975 Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
1976 {
1977 IRQ (Level, ActiveLow, Shared, )
1978 {3,4,5,7,9,10,11}
1979 })
1980 Name (RSRC, ResourceTemplate ()
1981 {
1982 IRQ (Level, ActiveLow, Shared, _Y14)
1983 {}
1984 })
1985 Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
1986 {
1987 \_SB.PCI0.LPC.PIRH |= 0x80
1988 }
1989
1990 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
1991 {
1992 CreateWordField (RSRC, \_SB.PCI0.LNKH._Y14._INT, IRQ0) // _INT: Interrupts
1993 Local0 = (\_SB.PCI0.LPC.PIRH & 0x0F)
1994 IRQ0 = (0x01 << Local0)
1995 Return (RSRC) /* \_SB_.PCI0.LNKH.RSRC */
1996 }
1997
1998 Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
1999 {
2000 CreateWordField (Arg0, 0x01, IRQ0)
2001 FindSetRightBit (IRQ0, Local0)
2002 Local0--
2003 \_SB.PCI0.LPC.PIRH = (Local0 | (\_SB.PCI0.LPC.PIRH & 0x70))
2004 }
2005
2006 Method (_STA, 0, NotSerialized) // _STA: Status
2007 {
2008 If ((\_SB.PCI0.LPC.PIRH & 0x80))
2009 {
2010 Return (0x09)
2011 }
2012
2013 Return (0x0B)
2014 }
2015 }
2016
2017 Scope (\)
2018 {
2019 Name (PICF, 0x00)
2020 Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
2021 {
2022 PICF = Arg0
2023 }
2024 }
2025
2026 Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table
2027 {
2028 If (!PICF)
2029 {
2030 Return (PICM) /* \_SB_.PCI0.PICM */
2031 }
2032 Else
2033 {
2034 Return (APIC) /* \_SB_.PCI0.APIC */
2035 }
2036 }
2037
2038 Scope (\_SB.PCI0)
2039 {
2040 Name (PICM, Package (0x24)
2041 {
2042 Package (0x04)
2043 {
2044 0x000DFFFF,
2045 0x00,
2046 LNKB,
2047 0x00
2048 },
2049
2050 Package (0x04)
2051 {
2052 0x000DFFFF,
2053 0x01,
2054 LNKC,
2055 0x00
2056 },
2057
2058 Package (0x04)
2059 {
2060 0x000DFFFF,
2061 0x02,
2062 LNKD,
2063 0x00
2064 },
2065
2066 Package (0x04)
2067 {
2068 0x000DFFFF,
2069 0x03,
2070 LNKA,
2071 0x00
2072 },
2073
2074 Package (0x04)
2075 {
2076 0x000EFFFF,
2077 0x00,
2078 LNKC,
2079 0x00
2080 },
2081
2082 Package (0x04)
2083 {
2084 0x000EFFFF,
2085 0x01,
2086 LNKD,
2087 0x00
2088 },
2089
2090 Package (0x04)
2091 {
2092 0x000EFFFF,
2093 0x02,
2094 LNKA,
2095 0x00
2096 },
2097
2098 Package (0x04)
2099 {
2100 0x000EFFFF,
2101 0x03,
2102 LNKB,
2103 0x00
2104 },
2105
2106 Package (0x04)
2107 {
2108 0x0009FFFF,
2109 0x00,
2110 LNKB,
2111 0x00
2112 },
2113
2114 Package (0x04)
2115 {
2116 0x0009FFFF,
2117 0x01,
2118 LNKA,
2119 0x00
2120 },
2121
2122 Package (0x04)
2123 {
2124 0x0001FFFF,
2125 0x00,
2126 LNKA,
2127 0x00
2128 },
2129
2130 Package (0x04)
2131 {
2132 0x0001FFFF,
2133 0x01,
2134 LNKB,
2135 0x00
2136 },
2137
2138 Package (0x04)
2139 {
2140 0x0001FFFF,
2141 0x02,
2142 LNKC,
2143 0x00
2144 },
2145
2146 Package (0x04)
2147 {
2148 0x0001FFFF,
2149 0x03,
2150 LNKD,
2151 0x00
2152 },
2153
2154 Package (0x04)
2155 {
2156 0x001FFFFF,
2157 0x00,
2158 LNKA,
2159 0x00
2160 },
2161
2162 Package (0x04)
2163 {
2164 0x001FFFFF,
2165 0x01,
2166 LNKB,
2167 0x00
2168 },
2169
2170 Package (0x04)
2171 {
2172 0x001FFFFF,
2173 0x02,
2174 LNKC,
2175 0x00
2176 },
2177
2178 Package (0x04)
2179 {
2180 0x001FFFFF,
2181 0x03,
2182 LNKD,
2183 0x00
2184 },
2185
2186 Package (0x04)
2187 {
2188 0x0002FFFF,
2189 0x00,
2190 LNKA,
2191 0x00
2192 },
2193
2194 Package (0x04)
2195 {
2196 0x0002FFFF,
2197 0x01,
2198 LNKB,
2199 0x00
2200 },
2201
2202 Package (0x04)
2203 {
2204 0x0002FFFF,
2205 0x02,
2206 LNKC,
2207 0x00
2208 },
2209
2210 Package (0x04)
2211 {
2212 0x0002FFFF,
2213 0x03,
2214 LNKD,
2215 0x00
2216 },
2217
2218 Package (0x04)
2219 {
2220 0x0003FFFF,
2221 0x00,
2222 LNKE,
2223 0x00
2224 },
2225
2226 Package (0x04)
2227 {
2228 0x0003FFFF,
2229 0x01,
2230 LNKF,
2231 0x00
2232 },
2233
2234 Package (0x04)
2235 {
2236 0x0003FFFF,
2237 0x02,
2238 LNKG,
2239 0x00
2240 },
2241
2242 Package (0x04)
2243 {
2244 0x0004FFFF,
2245 0x00,
2246 LNKD,
2247 0x00
2248 },
2249
2250 Package (0x04)
2251 {
2252 0x0005FFFF,
2253 0x00,
2254 LNKB,
2255 0x00
2256 },
2257
2258 Package (0x04)
2259 {
2260 0x0006FFFF,
2261 0x00,
2262 LNKA,
2263 0x00
2264 },
2265
2266 Package (0x04)
2267 {
2268 0x0006FFFF,
2269 0x01,
2270 LNKB,
2271 0x00
2272 },
2273
2274 Package (0x04)
2275 {
2276 0x0006FFFF,
2277 0x02,
2278 LNKC,
2279 0x00
2280 },
2281
2282 Package (0x04)
2283 {
2284 0x0006FFFF,
2285 0x03,
2286 LNKD,
2287 0x00
2288 },
2289
2290 Package (0x04)
2291 {
2292 0x0007FFFF,
2293 0x00,
2294 LNKA,
2295 0x00
2296 },
2297
2298 Package (0x04)
2299 {
2300 0x0007FFFF,
2301 0x01,
2302 LNKB,
2303 0x00
2304 },
2305
2306 Package (0x04)
2307 {
2308 0x0007FFFF,
2309 0x02,
2310 LNKC,
2311 0x00
2312 },
2313
2314 Package (0x04)
2315 {
2316 0x0007FFFF,
2317 0x03,
2318 LNKD,
2319 0x00
2320 },
2321
2322 Package (0x04)
2323 {
2324 0x000FFFFF,
2325 0x00,
2326 LNKC,
2327 0x00
2328 }
2329 })
2330 Name (APIC, Package (0x24)
2331 {
2332 Package (0x04)
2333 {
2334 0x000DFFFF,
2335 0x00,
2336 0x00,
2337 0x11
2338 },
2339
2340 Package (0x04)
2341 {
2342 0x000DFFFF,
2343 0x01,
2344 0x00,
2345 0x12
2346 },
2347
2348 Package (0x04)
2349 {
2350 0x000DFFFF,
2351 0x02,
2352 0x00,
2353 0x13
2354 },
2355
2356 Package (0x04)
2357 {
2358 0x000DFFFF,
2359 0x03,
2360 0x00,
2361 0x10
2362 },
2363
2364 Package (0x04)
2365 {
2366 0x000EFFFF,
2367 0x00,
2368 0x00,
2369 0x12
2370 },
2371
2372 Package (0x04)
2373 {
2374 0x000EFFFF,
2375 0x01,
2376 0x00,
2377 0x13
2378 },
2379
2380 Package (0x04)
2381 {
2382 0x000EFFFF,
2383 0x02,
2384 0x00,
2385 0x10
2386 },
2387
2388 Package (0x04)
2389 {
2390 0x000EFFFF,
2391 0x03,
2392 0x00,
2393 0x11
2394 },
2395
2396 Package (0x04)
2397 {
2398 0x0009FFFF,
2399 0x00,
2400 0x00,
2401 0x11
2402 },
2403
2404 Package (0x04)
2405 {
2406 0x0009FFFF,
2407 0x01,
2408 0x00,
2409 0x10
2410 },
2411
2412 Package (0x04)
2413 {
2414 0x0001FFFF,
2415 0x00,
2416 0x00,
2417 0x10
2418 },
2419
2420 Package (0x04)
2421 {
2422 0x0001FFFF,
2423 0x01,
2424 0x00,
2425 0x11
2426 },
2427
2428 Package (0x04)
2429 {
2430 0x0001FFFF,
2431 0x02,
2432 0x00,
2433 0x12
2434 },
2435
2436 Package (0x04)
2437 {
2438 0x0001FFFF,
2439 0x03,
2440 0x00,
2441 0x13
2442 },
2443
2444 Package (0x04)
2445 {
2446 0x001FFFFF,
2447 0x00,
2448 0x00,
2449 0x10
2450 },
2451
2452 Package (0x04)
2453 {
2454 0x001FFFFF,
2455 0x01,
2456 0x00,
2457 0x11
2458 },
2459
2460 Package (0x04)
2461 {
2462 0x001FFFFF,
2463 0x02,
2464 0x00,
2465 0x12
2466 },
2467
2468 Package (0x04)
2469 {
2470 0x001FFFFF,
2471 0x03,
2472 0x00,
2473 0x13
2474 },
2475
2476 Package (0x04)
2477 {
2478 0x0002FFFF,
2479 0x00,
2480 0x00,
2481 0x10
2482 },
2483
2484 Package (0x04)
2485 {
2486 0x0002FFFF,
2487 0x01,
2488 0x00,
2489 0x11
2490 },
2491
2492 Package (0x04)
2493 {
2494 0x0002FFFF,
2495 0x02,
2496 0x00,
2497 0x12
2498 },
2499
2500 Package (0x04)
2501 {
2502 0x0002FFFF,
2503 0x03,
2504 0x00,
2505 0x13
2506 },
2507
2508 Package (0x04)
2509 {
2510 0x0003FFFF,
2511 0x00,
2512 0x00,
2513 0x14
2514 },
2515
2516 Package (0x04)
2517 {
2518 0x0003FFFF,
2519 0x01,
2520 0x00,
2521 0x15
2522 },
2523
2524 Package (0x04)
2525 {
2526 0x0003FFFF,
2527 0x02,
2528 0x00,
2529 0x16
2530 },
2531
2532 Package (0x04)
2533 {
2534 0x0004FFFF,
2535 0x00,
2536 0x00,
2537 0x13
2538 },
2539
2540 Package (0x04)
2541 {
2542 0x0005FFFF,
2543 0x00,
2544 0x00,
2545 0x11
2546 },
2547
2548 Package (0x04)
2549 {
2550 0x0006FFFF,
2551 0x00,
2552 0x00,
2553 0x10
2554 },
2555
2556 Package (0x04)
2557 {
2558 0x0006FFFF,
2559 0x01,
2560 0x00,
2561 0x11
2562 },
2563
2564 Package (0x04)
2565 {
2566 0x0006FFFF,
2567 0x02,
2568 0x00,
2569 0x12
2570 },
2571
2572 Package (0x04)
2573 {
2574 0x0006FFFF,
2575 0x03,
2576 0x00,
2577 0x13
2578 },
2579
2580 Package (0x04)
2581 {
2582 0x0007FFFF,
2583 0x00,
2584 0x00,
2585 0x10
2586 },
2587
2588 Package (0x04)
2589 {
2590 0x0007FFFF,
2591 0x01,
2592 0x00,
2593 0x11
2594 },
2595
2596 Package (0x04)
2597 {
2598 0x0007FFFF,
2599 0x02,
2600 0x00,
2601 0x12
2602 },
2603
2604 Package (0x04)
2605 {
2606 0x0007FFFF,
2607 0x03,
2608 0x00,
2609 0x13
2610 },
2611
2612 Package (0x04)
2613 {
2614 0x000FFFFF,
2615 0x00,
2616 0x00,
2617 0x12
2618 }
2619 })
2620 }
2621
2622 Device (SATA)
2623 {
2624 Name (_ADR, 0x00050000) // _ADR: Address
2625 Name (PIOT, Package (0x05)
2626 {
2627 0x0258,
2628 0x0186,
2629 0x014A,
2630 0xB4,
2631 0x78
2632 })
2633 Name (DMAT, Package (0x07)
2634 {
2635 0x78,
2636 0x50,
2637 0x3C,
2638 0x28,
2639 0x1E,
2640 0x14,
2641 0x0F
2642 })
2643 OperationRegion (STMB, PCI_Config, 0x6C, 0x04)
2644 Field (STMB, ByteAcc, NoLock, Preserve)
2645 {
2646 PMIO, 3,
2647 , 1,
2648 PMDM, 3,
2649 Offset (0x01),
2650 PSIO, 3,
2651 , 1,
2652 PSDM, 3,
2653 Offset (0x02),
2654 SMIO, 3,
2655 , 1,
2656 SMDM, 3,
2657 Offset (0x03),
2658 SSIO, 3,
2659 , 1,
2660 SSDM, 3,
2661 Offset (0x04)
2662 }
2663
2664 OperationRegion (STXT, PCI_Config, 0x50, 0x04)
2665 Field (STXT, ByteAcc, NoLock, Preserve)
2666 {
2667 , 1,
2668 PEXT, 1,
2669 Offset (0x02),
2670 , 1,
2671 SEXT, 1,
2672 Offset (0x04)
2673 }
2674
2675 Name (IDES, Buffer (0x14){})
2676 CreateDWordField (IDES, 0x00, STM0)
2677 CreateDWordField (IDES, 0x04, STM1)
2678 CreateDWordField (IDES, 0x08, STM2)
2679 CreateDWordField (IDES, 0x0C, STM3)
2680 CreateDWordField (IDES, 0x10, STM4)
2681 Device (SDE0)
2682 {
2683 Name (_ADR, 0x00) // _ADR: Address
2684 Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
2685 {
2686 Local0 = 0xFFFFFFFF
2687 Local1 = 0xFFFFFFFF
2688 Local2 = 0xFFFFFFFF
2689 Local3 = 0xFFFFFFFF
2690 Local4 = 0x10
2691 If (PEXT)
2692 {
2693 Local0 = DerefOf (PIOT [PMIO])
2694 Local1 = DerefOf (DMAT [PMDM])
2695 Local2 = DerefOf (PIOT [PSIO])
2696 Local3 = DerefOf (DMAT [PSDM])
2697 Local4 |= 0x0F
2698 }
2699
2700 STM0 = Local0
2701 STM1 = Local1
2702 STM2 = Local2
2703 STM3 = Local3
2704 STM4 = Local4
2705 Return (IDES) /* \_SB_.PCI0.SATA.IDES */
2706 }
2707
2708 Device (DRV0)
2709 {
2710 Name (_ADR, 0x00) // _ADR: Address
2711 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
2712 {
2713 Local6 = Buffer (0x07)
2714 {
2715 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */
2716 }
2717 Local7 = Buffer (0x07)
2718 {
2719 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */
2720 }
2721 CreateByteField (Local6, 0x01, MODE)
2722 CreateByteField (Local7, 0x01, UMOD)
2723 If (PEXT)
2724 {
2725 MODE = PMIO /* \_SB_.PCI0.SATA.PMIO */
2726 MODE |= 0x08
2727 UMOD = PMDM /* \_SB_.PCI0.SATA.PMDM */
2728 UMOD |= 0x40
2729 }
2730
2731 Concatenate (Local6, Local7, Local5)
2732 Return (Local5)
2733 }
2734 }
2735
2736 Device (DRV1)
2737 {
2738 Name (_ADR, 0x01) // _ADR: Address
2739 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
2740 {
2741 Local6 = Buffer (0x07)
2742 {
2743 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */
2744 }
2745 Local7 = Buffer (0x07)
2746 {
2747 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */
2748 }
2749 CreateByteField (Local6, 0x01, MODE)
2750 CreateByteField (Local7, 0x01, UMOD)
2751 If (PEXT)
2752 {
2753 MODE = PSIO /* \_SB_.PCI0.SATA.PSIO */
2754 MODE |= 0x08
2755 UMOD = PSDM /* \_SB_.PCI0.SATA.PSDM */
2756 UMOD |= 0x40
2757 }
2758
2759 Concatenate (Local6, Local7, Local5)
2760 Return (Local5)
2761 }
2762 }
2763 }
2764
2765 Device (SDE1)
2766 {
2767 Name (_ADR, 0x01) // _ADR: Address
2768 Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
2769 {
2770 Local0 = 0xFFFFFFFF
2771 Local1 = 0xFFFFFFFF
2772 Local2 = 0xFFFFFFFF
2773 Local3 = 0xFFFFFFFF
2774 Local4 = 0x10
2775 If (SEXT)
2776 {
2777 Local0 = DerefOf (PIOT [SMIO])
2778 Local1 = DerefOf (DMAT [SMDM])
2779 Local2 = DerefOf (PIOT [SSIO])
2780 Local3 = DerefOf (DMAT [SSDM])
2781 Local4 |= 0x0F
2782 }
2783
2784 STM0 = Local0
2785 STM1 = Local1
2786 STM2 = Local2
2787 STM3 = Local3
2788 STM4 = Local4
2789 Return (IDES) /* \_SB_.PCI0.SATA.IDES */
2790 }
2791
2792 Device (DRV0)
2793 {
2794 Name (_ADR, 0x00) // _ADR: Address
2795 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
2796 {
2797 Local6 = Buffer (0x07)
2798 {
2799 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */
2800 }
2801 Local7 = Buffer (0x07)
2802 {
2803 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF /* ....... */
2804 }
2805 CreateByteField (Local6, 0x01, MODE)
2806 CreateByteField (Local7, 0x01, UMOD)
2807 If (SEXT)
2808 {
2809 MODE = SMIO /* \_SB_.PCI0.SATA.SMIO */
2810 MODE |= 0x08
2811 UMOD = SMDM /* \_SB_.PCI0.SATA.SMDM */
2812 UMOD |= 0x40
2813 }
2814
2815 Concatenate (Local6, Local7, Local5)
2816 Return (Local5)
2817 }
2818 }
2819
2820 Device (DRV1)
2821 {
2822 Name (_ADR, 0x01) // _ADR: Address
2823 Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
2824 {
2825 Local6 = Buffer (0x07)
2826 {
2827 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */
2828 }
2829 Local7 = Buffer (0x07)
2830 {
2831 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF /* ....... */
2832 }
2833 CreateByteField (Local6, 0x01, MODE)
2834 CreateByteField (Local7, 0x01, UMOD)
2835 If (SEXT)
2836 {
2837 MODE = SSIO /* \_SB_.PCI0.SATA.SSIO */
2838 MODE |= 0x08
2839 UMOD = SSDM /* \_SB_.PCI0.SATA.SSDM */
2840 UMOD |= 0x40
2841 }
2842
2843 Concatenate (Local6, Local7, Local5)
2844 Return (Local5)
2845 }
2846 }
2847 }
2848 }
2849
2850 Device (PEGP)
2851 {
2852 Name (_ADR, 0x00010000) // _ADR: Address
2853 Device (VGA)
2854 {
2855 Name (SWIT, 0x01)
2856 Name (GDCS, 0x02)
2857 Name (GDGS, 0x01)
2858 Name (_ADR, 0x00) // _ADR: Address
2859 Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching
2860 {
2861 SWIT = Arg0
2862 }
2863
2864 Name (_DOD, Package (0x02) // _DOD: Display Output Devices
2865 {
2866 0x00010100,
2867 0x00010110
2868 })
2869 Device (CRT)
2870 {
2871 Name (_ADR, 0x0100) // _ADR: Address
2872 Name (_DCS, 0x1F) // _DCS: Display Current Status
2873 Name (_DGS, 0x00) // _DGS: Display Graphics State
2874 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
2875 {
2876 If ((Arg0 == 0x00))
2877 {
2878 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1D
2879 }
2880
2881 If ((Arg0 == 0x01))
2882 {
2883 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1F
2884 }
2885
2886 If ((Arg0 == 0x80000000))
2887 {
2888 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1D
2889 }
2890
2891 If ((Arg0 == 0x80000001))
2892 {
2893 \_SB.PCI0.PEGP.VGA.CRT._DCS = 0x1F
2894 }
2895
2896 If ((Arg0 == 0x40000000))
2897 {
2898 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2899 }
2900
2901 If ((Arg0 == 0x40000001))
2902 {
2903 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2904 }
2905
2906 If ((Arg0 == 0xC0000000))
2907 {
2908 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2909 }
2910
2911 If ((Arg0 == 0xC0000001))
2912 {
2913 \_SB.PCI0.PEGP.VGA.CRT._DGS ^= 0x01
2914 }
2915 }
2916 }
2917
2918 Device (LCD)
2919 {
2920 Name (_ADR, 0x0110) // _ADR: Address
2921 Name (_DCS, 0x1F) // _DCS: Display Current Status
2922 Name (_DGS, 0x00) // _DGS: Display Graphics State
2923 Method (_DSS, 1, NotSerialized) // _DSS: Device Set State
2924 {
2925 If ((Arg0 == 0x00))
2926 {
2927 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1D
2928 }
2929
2930 If ((Arg0 == 0x01))
2931 {
2932 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1F
2933 }
2934
2935 If ((Arg0 == 0x80000000))
2936 {
2937 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1D
2938 }
2939
2940 If ((Arg0 == 0x80000001))
2941 {
2942 \_SB.PCI0.PEGP.VGA.LCD._DCS = 0x1F
2943 }
2944
2945 If ((Arg0 == 0x40000000))
2946 {
2947 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2948 }
2949
2950 If ((Arg0 == 0x40000001))
2951 {
2952 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2953 }
2954
2955 If ((Arg0 == 0xC0000000))
2956 {
2957 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2958 }
2959
2960 If ((Arg0 == 0xC0000001))
2961 {
2962 \_SB.PCI0.PEGP.VGA.LCD._DGS ^= 0x01
2963 }
2964 }
2965
2966 Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels
2967 {
2968 Return (Package (0x0A)
2969 {
2970 0x07,
2971 0x03,
2972 0x00,
2973 0x01,
2974 0x02,
2975 0x03,
2976 0x04,
2977 0x05,
2978 0x06,
2979 0x07
2980 })
2981 }
2982
2983 Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method
2984 {
2985 \_SB.PCI0.LPC.EC0.BRTS = Arg0
2986 }
2987
2988 Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current
2989 {
2990 Return (\_SB.PCI0.LPC.EC0.BRTS)
2991 }
2992 }
2993
2994 Method (DCHG, 0, NotSerialized)
2995 {
2996 If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00))
2997 {
2998 If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x01))
2999 {
3000 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3001 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3002 }
3003
3004 If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x02))
3005 {
3006 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3007 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3008 }
3009
3010 If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x03))
3011 {
3012 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3013 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x00
3014 }
3015
3016 Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change
3017 Sleep (0x01F4)
3018 }
3019 }
3020
3021 Method (LCDT, 0, NotSerialized)
3022 {
3023 If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00))
3024 {
3025 If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x01))
3026 {
3027 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3028 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3029 }
3030
3031 If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x02))
3032 {
3033 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3034 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3035 }
3036
3037 If ((\_SB.PCI0.PEGP.VGA.GDGS == 0x03))
3038 {
3039 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3040 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3041 }
3042
3043 Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change
3044 Sleep (0x01F4)
3045 }
3046 }
3047 }
3048 }
3049
3050 Device (LPC)
3051 {
3052 Name (_ADR, 0x00020000) // _ADR: Address
3053 OperationRegion (PCFG, PCI_Config, 0x00, 0x80)
3054 Field (PCFG, ByteAcc, NoLock, Preserve)
3055 {
3056 Offset (0x41),
3057 PIRA, 8,
3058 PIRB, 8,
3059 PIRC, 8,
3060 PIRD, 8,
3061 Offset (0x60),
3062 PIRE, 8,
3063 PIRF, 8,
3064 PIRG, 8,
3065 PIRH, 8,
3066 Offset (0x70),
3067 HPTE, 8,
3068 , 4,
3069 MMTB, 4,
3070 Offset (0x74),
3071 Z004, 16
3072 }
3073
3074 OperationRegion (SOW, SystemIO, 0x8000, 0x90)
3075 Field (SOW, WordAcc, NoLock, Preserve)
3076 {
3077 , 10,
3078 RTCS, 1,
3079 Offset (0x06),
3080 LGMS, 1,
3081 Offset (0x10),
3082 THRT, 8,
3083 Offset (0x1A),
3084 , 1,
3085 RLSL, 1,
3086 Offset (0x20),
3087 , 2,
3088 SLP, 1,
3089 WK, 1,
3090 Offset (0x21),
3091 , 2,
3092 TRIP, 1,
3093 PCIS, 2,
3094 Offset (0x22),
3095 , 2,
3096 ESMI, 1,
3097 Offset (0x23),
3098 , 2,
3099 ETRM, 1,
3100 Offset (0x2A),
3101 , 7,
3102 GWPE, 1,
3103 , 5,
3104 SSL, 1,
3105 SWK, 1,
3106 Z005, 1,
3107 Offset (0x48),
3108 SMIP, 1,
3109 Offset (0x62),
3110 , 6,
3111 ALED, 2
3112 }
3113
3114 Device (EC0)
3115 {
3116 Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID
3117 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3118 {
3119 IO (Decode16,
3120 0x0062, // Range Minimum
3121 0x0062, // Range Maximum
3122 0x00, // Alignment
3123 0x01, // Length
3124 )
3125 IO (Decode16,
3126 0x0066, // Range Minimum
3127 0x0066, // Range Maximum
3128 0x00, // Alignment
3129 0x01, // Length
3130 )
3131 })
3132 Name (_GPE, 0x13) // _GPE: General Purpose Events
3133 Name (FGEC, 0x00)
3134 Name (BRTA, 0x00)
3135 Name (OSYS, 0x00)
3136 Method (_REG, 2, NotSerialized) // _REG: Region Availability
3137 {
3138 If ((Arg0 == 0x03))
3139 {
3140 FGEC = Arg1
3141 OSYS = \_SB.TPOS
3142 If ((OSYS == 0x20))
3143 {
3144 XSEC = 0x05
3145 }
3146 ElseIf (((OSYS == 0x08) || (OSYS == 0x10)))
3147 {
3148 XSEC = 0x04
3149 }
3150 ElseIf ((OSYS == 0x04))
3151 {
3152 XSEC = 0x02
3153 }
3154 ElseIf ((OSYS == 0x02))
3155 {
3156 XSEC = 0x03
3157 }
3158 ElseIf ((OSYS == 0x01))
3159 {
3160 XSEC = 0x08
3161 }
3162 Else
3163 {
3164 XSEC = 0x04
3165 }
3166
3167 \_SB.OSEC = XSEC /* \_SB_.PCI0.LPC_.EC0_.XSEC */
3168 \_SB.P378 = XSEC /* \_SB_.PCI0.LPC_.EC0_.XSEC */
3169 }
3170 }
3171
3172 OperationRegion (ECXP, EmbeddedControl, 0x00, 0xFF)
3173 Field (ECXP, ByteAcc, Lock, Preserve)
3174 {
3175 XIF0, 16,
3176 XIF1, 16,
3177 XIF2, 16,
3178 XIF3, 16,
3179 XIF4, 16,
3180 XIF5, 16,
3181 XIF6, 16,
3182 XIF7, 16,
3183 XIF8, 16,
3184 XIF9, 64,
3185 XIFA, 64,
3186 XIFB, 64,
3187 XIFC, 64,
3188 XST0, 16,
3189 XST1, 16,
3190 XST2, 16,
3191 XST3, 16,
3192 XTP0, 16,
3193 XCIN, 1,
3194 , 1,
3195 XTIN, 1,
3196 Offset (0x3D),
3197 Offset (0x3E),
3198 XHPP, 7,
3199 Offset (0x3F),
3200 Offset (0x40),
3201 XSEC, 8,
3202 XLPT, 8,
3203 Offset (0x56),
3204 MDTP, 3,
3205 , 2,
3206 Offset (0x57),
3207 Offset (0x5B),
3208 , 1,
3209 XBLM, 2,
3210 , 3,
3211 VGAT, 4,
3212 Offset (0x5F),
3213 VTMP, 8,
3214 Offset (0x74),
3215 MPPC, 8,
3216 Offset (0x76),
3217 XMPP, 7,
3218 Offset (0x77),
3219 HDPS, 8,
3220 Offset (0x79),
3221 BRTS, 8,
3222 TSEC, 3,
3223 DORT, 1,
3224 Offset (0x7B),
3225 LIDS, 1,
3226 SOS4, 1,
3227 , 5,
3228 DTS, 1,
3229 Offset (0x7D),
3230 CPUS, 8,
3231 Offset (0xC0),
3232 BIF0, 16,
3233 BIF1, 16,
3234 BIF2, 16,
3235 BIF3, 16,
3236 BIF4, 16,
3237 BIF5, 16,
3238 BIF6, 16,
3239 BIF7, 16,
3240 BIF8, 16,
3241 BIF9, 64,
3242 BIFA, 64,
3243 BIFB, 64,
3244 BIFC, 64,
3245 BST0, 16,
3246 BST1, 16,
3247 BST2, 16,
3248 BST3, 16,
3249 BTP0, 16,
3250 ACIN, 1,
3251 , 1,
3252 BTIN, 1,
3253 Offset (0xFD),
3254 Offset (0xFE),
3255 VFUN, 8
3256 }
3257
3258 Method (_Q06, 0, NotSerialized) // _Qxx: EC Query
3259 {
3260 P378 = 0x06
3261 DBPG = 0x06
3262 Notify (\_SB.AC0, 0x80) // Status Change
3263 Sleep (0x14)
3264 Notify (\_SB.BAT0, 0x81) // Information Change
3265 Sleep (0x14)
3266 Notify (\_SB.BAT0, 0x80) // Status Change
3267 Sleep (0x14)
3268 }
3269
3270 Method (_Q07, 0, NotSerialized) // _Qxx: EC Query
3271 {
3272 P378 = 0x07
3273 DBPG = 0x07
3274 Local0 = 0x00
3275 Notify (\_SB.AC0, 0x80) // Status Change
3276 Sleep (0x14)
3277 Notify (\_SB.BAT0, 0x80) // Status Change
3278 Sleep (0x14)
3279 \_SB.SMP = 0x01
3280 \_SB.LBLM = \_SB.PCI0.LPC.EC0.XBLM
3281 If (\_SB.PCI0.LPC.EC0.XCIN)
3282 {
3283 \_SB.SP1S = 0x00
3284 }
3285 Else
3286 {
3287 \_SB.SP1S = 0x01
3288 }
3289
3290 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3291 Sleep (0x14)
3292 }
3293
3294 Method (_Q0A, 0, NotSerialized) // _Qxx: EC Query
3295 {
3296 P378 = 0x0A
3297 DBPG = 0x0A
3298 Notify (\_SB.SLPB, 0x80) // Status Change
3299 }
3300
3301 Method (_Q0B, 0, NotSerialized) // _Qxx: EC Query
3302 {
3303 P378 = 0x0B
3304 DBPG = 0x0B
3305 }
3306
3307 Method (_Q0C, 0, NotSerialized) // _Qxx: EC Query
3308 {
3309 P378 = 0x0C
3310 DBPG = 0x0C
3311 }
3312
3313 Method (_Q0D, 0, NotSerialized) // _Qxx: EC Query
3314 {
3315 P378 = 0x0D
3316 DBPG = 0x0D
3317 If ((\_SB.PCI0.PEGP.VGA.SWIT == 0x00))
3318 {
3319 \_SB.PCI0.PEGP.VGA.GDGS += 0x01
3320 Divide (\_SB.PCI0.PEGP.VGA.GDGS, 0x03, Local0, Local1)
3321 If ((Local0 == 0x00))
3322 {
3323 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3324 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3325 }
3326
3327 If ((Local0 == 0x01))
3328 {
3329 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x01
3330 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x00
3331 }
3332
3333 If ((Local0 == 0x02))
3334 {
3335 \_SB.PCI0.PEGP.VGA.LCD._DGS = 0x00
3336 \_SB.PCI0.PEGP.VGA.CRT._DGS = 0x01
3337 }
3338
3339 P378 = Local0
3340 DBPG = Local0
3341 Notify (\_SB.PCI0.PEGP.VGA, 0x80) // Status Change
3342 }
3343 }
3344
3345 Method (_Q0E, 0, NotSerialized) // _Qxx: EC Query
3346 {
3347 P378 = 0x0E
3348 DBPG = 0x0E
3349 }
3350
3351 Method (_Q0F, 0, NotSerialized) // _Qxx: EC Query
3352 {
3353 P378 = 0x0F
3354 DBPG = 0x0F
3355 }
3356
3357 Method (_Q10, 0, NotSerialized) // _Qxx: EC Query
3358 {
3359 P378 = 0x10
3360 DBPG = 0x10
3361 Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x86) // Device-Specific
3362 }
3363
3364 Method (_Q11, 0, NotSerialized) // _Qxx: EC Query
3365 {
3366 P378 = 0x11
3367 DBPG = 0x11
3368 Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x87) // Device-Specific
3369 }
3370
3371 Method (_Q12, 0, NotSerialized) // _Qxx: EC Query
3372 {
3373 P378 = 0x12
3374 DBPG = 0x12
3375 }
3376
3377 Method (_Q13, 0, NotSerialized) // _Qxx: EC Query
3378 {
3379 P378 = 0x13
3380 DBPG = 0x13
3381 }
3382
3383 Method (_Q14, 0, NotSerialized) // _Qxx: EC Query
3384 {
3385 P378 = 0x14
3386 DBPG = 0x14
3387 }
3388
3389 Method (_Q15, 0, NotSerialized) // _Qxx: EC Query
3390 {
3391 P378 = 0x15
3392 DBPG = 0x15
3393 }
3394
3395 Method (_Q16, 0, NotSerialized) // _Qxx: EC Query
3396 {
3397 P378 = 0x16
3398 DBPG = 0x16
3399 \_SB.PCI0.LPC.EC0.LIDS = 0x01
3400 Notify (\_SB.LID0, 0x80) // Status Change
3401 }
3402
3403 Method (_Q17, 0, NotSerialized) // _Qxx: EC Query
3404 {
3405 P378 = 0x17
3406 DBPG = 0x17
3407 Notify (\_SB.AC0, 0x80) // Status Change
3408 Sleep (0x64)
3409 Notify (\_SB.BAT0, 0x81) // Information Change
3410 Sleep (0x64)
3411 Notify (\_SB.BAT0, 0x80) // Status Change
3412 Sleep (0x64)
3413 }
3414
3415 Method (_Q19, 0, NotSerialized) // _Qxx: EC Query
3416 {
3417 P378 = 0x19
3418 DBPG = 0x19
3419 \_SB.PCI0.LPC.EC0.LIDS = 0x00
3420 Notify (\_SB.LID0, 0x80) // Status Change
3421 }
3422
3423 Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query
3424 {
3425 P378 = 0x1C
3426 DBPG = 0x1C
3427 }
3428
3429 Method (_Q1E, 0, NotSerialized) // _Qxx: EC Query
3430 {
3431 THRT = 0x00
3432 P378 = 0x1E
3433 DBPG = 0x1E
3434 }
3435
3436 Method (_Q1F, 0, NotSerialized) // _Qxx: EC Query
3437 {
3438 THRT = 0x1E
3439 P378 = 0x1F
3440 DBPG = 0x1F
3441 }
3442
3443 Method (_Q20, 0, NotSerialized) // _Qxx: EC Query
3444 {
3445 THRT = 0x1C
3446 P378 = 0x20
3447 DBPG = 0x20
3448 }
3449
3450 Method (_Q21, 0, NotSerialized) // _Qxx: EC Query
3451 {
3452 THRT = 0x1A
3453 P378 = 0x21
3454 DBPG = 0x21
3455 }
3456
3457 Method (_Q22, 0, NotSerialized) // _Qxx: EC Query
3458 {
3459 THRT = 0x18
3460 P378 = 0x22
3461 DBPG = 0x22
3462 }
3463
3464 Method (_Q23, 0, NotSerialized) // _Qxx: EC Query
3465 {
3466 THRT = 0x16
3467 P378 = 0x23
3468 DBPG = 0x23
3469 }
3470
3471 Method (_Q24, 0, NotSerialized) // _Qxx: EC Query
3472 {
3473 THRT = 0x14
3474 P378 = 0x24
3475 DBPG = 0x24
3476 }
3477
3478 Method (_Q25, 0, NotSerialized) // _Qxx: EC Query
3479 {
3480 THRT = 0x12
3481 P378 = 0x25
3482 DBPG = 0x25
3483 }
3484
3485 Method (_Q27, 0, NotSerialized) // _Qxx: EC Query
3486 {
3487 P378 = 0x27
3488 DBPG = 0x27
3489 \_TZ.THPP = 0x69
3490 Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
3491 }
3492
3493 Method (_Q2E, 0, NotSerialized) // _Qxx: EC Query
3494 {
3495 \_SB.SMP = 0x01
3496 \_SB.SLMS = 0x01
3497 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3498 P378 = 0x2E
3499 DBPG = 0x2E
3500 }
3501
3502 Method (_Q2F, 0, NotSerialized) // _Qxx: EC Query
3503 {
3504 \_SB.SMP = 0x00
3505 \_SB.SLMS = 0x00
3506 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3507 P378 = 0x2F
3508 DBPG = 0x2F
3509 }
3510
3511 Method (_Q3A, 0, NotSerialized) // _Qxx: EC Query
3512 {
3513 P378 = 0x3A
3514 DBPG = 0x3A
3515 }
3516
3517 Method (_Q3B, 0, NotSerialized) // _Qxx: EC Query
3518 {
3519 }
3520
3521 Method (_Q3C, 0, NotSerialized) // _Qxx: EC Query
3522 {
3523 }
3524
3525 Method (_Q40, 0, NotSerialized) // _Qxx: EC Query
3526 {
3527 P378 = 0x40
3528 DBPG = 0x40
3529 \_SB.PPCL = 0x00
3530 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3531 }
3532
3533 Method (_Q41, 0, NotSerialized) // _Qxx: EC Query
3534 {
3535 P378 = 0x41
3536 DBPG = 0x41
3537 If ((PPCM > 0x01))
3538 {
3539 PPCL = 0x01
3540 }
3541 Else
3542 {
3543 PPCL = PPCM /* \_SB_.PPCM */
3544 }
3545
3546 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3547 }
3548
3549 Method (_Q42, 0, NotSerialized) // _Qxx: EC Query
3550 {
3551 P378 = 0x42
3552 DBPG = 0x42
3553 If ((PPCM > 0x02))
3554 {
3555 PPCL = 0x02
3556 }
3557 Else
3558 {
3559 PPCL = PPCM /* \_SB_.PPCM */
3560 }
3561
3562 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3563 }
3564
3565 Method (_Q43, 0, NotSerialized) // _Qxx: EC Query
3566 {
3567 P378 = 0x43
3568 DBPG = 0x43
3569 If ((PPCM > 0x03))
3570 {
3571 PPCL = 0x03
3572 }
3573 Else
3574 {
3575 PPCL = PPCM /* \_SB_.PPCM */
3576 }
3577
3578 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3579 }
3580
3581 Method (_Q44, 0, NotSerialized) // _Qxx: EC Query
3582 {
3583 P378 = 0x44
3584 DBPG = 0x44
3585 If ((PPCM > 0x04))
3586 {
3587 PPCL = 0x04
3588 }
3589 Else
3590 {
3591 PPCL = PPCM /* \_SB_.PPCM */
3592 }
3593
3594 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3595 }
3596
3597 Method (_Q45, 0, NotSerialized) // _Qxx: EC Query
3598 {
3599 P378 = 0x45
3600 DBPG = 0x45
3601 If ((PPCM > 0x05))
3602 {
3603 PPCL = 0x05
3604 }
3605 Else
3606 {
3607 PPCL = PPCM /* \_SB_.PPCM */
3608 }
3609
3610 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3611 }
3612
3613 Method (_Q46, 0, NotSerialized) // _Qxx: EC Query
3614 {
3615 P378 = 0x46
3616 DBPG = 0x46
3617 If ((PPCM > 0x06))
3618 {
3619 PPCL = 0x06
3620 }
3621 Else
3622 {
3623 PPCL = PPCM /* \_SB_.PPCM */
3624 }
3625
3626 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3627 }
3628
3629 Method (_Q47, 0, NotSerialized) // _Qxx: EC Query
3630 {
3631 P378 = 0x47
3632 DBPG = 0x47
3633 If ((PPCM > 0x07))
3634 {
3635 PPCL = 0x07
3636 }
3637 Else
3638 {
3639 PPCL = PPCM /* \_SB_.PPCM */
3640 }
3641
3642 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
3643 }
3644
3645 Method (_Q51, 0, NotSerialized) // _Qxx: EC Query
3646 {
3647 \_SB.PCI0.LPC.EC0.BRTA = \_SB.PCI0.LPC.EC0.BRTS
3648 Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x88) // Device-Specific
3649 P378 = 0x51
3650 DBPG = 0x51
3651 }
3652
3653 Method (_Q52, 0, NotSerialized) // _Qxx: EC Query
3654 {
3655 If ((\_SB.PCI0.LPC.EC0.BRTS == 0x00))
3656 {
3657 While ((\_SB.PCI0.LPC.EC0.BRTS != \_SB.PCI0.LPC.EC0.BRTA))
3658 {
3659 Notify (\_SB.PCI0.PEGP.VGA.LCD, 0x85) // Device-Specific
3660 Sleep (0x14)
3661 }
3662 }
3663
3664 P378 = 0x52
3665 DBPG = 0x52
3666 }
3667 }
3668
3669 Device (DMAC)
3670 {
3671 Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID
3672 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3673 {
3674 IO (Decode16,
3675 0x0000, // Range Minimum
3676 0x0000, // Range Maximum
3677 0x01, // Alignment
3678 0x10, // Length
3679 )
3680 IO (Decode16,
3681 0x0081, // Range Minimum
3682 0x0081, // Range Maximum
3683 0x01, // Alignment
3684 0x0F, // Length
3685 )
3686 IO (Decode16,
3687 0x00C0, // Range Minimum
3688 0x00C0, // Range Maximum
3689 0x01, // Alignment
3690 0x20, // Length
3691 )
3692 IO (Decode16,
3693 0x0480, // Range Minimum
3694 0x0480, // Range Maximum
3695 0x01, // Alignment
3696 0x10, // Length
3697 )
3698 DMA (Compatibility, NotBusMaster, Transfer16, )
3699 {4}
3700 })
3701 }
3702
3703 Device (PIC)
3704 {
3705 Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID
3706 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3707 {
3708 IO (Decode16,
3709 0x0020, // Range Minimum
3710 0x0020, // Range Maximum
3711 0x01, // Alignment
3712 0x02, // Length
3713 )
3714 IO (Decode16,
3715 0x00A0, // Range Minimum
3716 0x00A0, // Range Maximum
3717 0x01, // Alignment
3718 0x02, // Length
3719 )
3720 IRQ (Edge, ActiveHigh, Exclusive, )
3721 {2}
3722 })
3723 }
3724
3725 Device (TIME)
3726 {
3727 Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID
3728 Name (BUF0, ResourceTemplate ()
3729 {
3730 IO (Decode16,
3731 0x0040, // Range Minimum
3732 0x0040, // Range Maximum
3733 0x01, // Alignment
3734 0x04, // Length
3735 )
3736 })
3737 Name (BUF1, ResourceTemplate ()
3738 {
3739 IO (Decode16,
3740 0x0040, // Range Minimum
3741 0x0040, // Range Maximum
3742 0x01, // Alignment
3743 0x04, // Length
3744 )
3745 IRQNoFlags ()
3746 {0}
3747 })
3748 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
3749 {
3750 If ((HPTE & 0x01))
3751 {
3752 Return (BUF0) /* \_SB_.PCI0.LPC_.TIME.BUF0 */
3753 }
3754
3755 Return (BUF1) /* \_SB_.PCI0.LPC_.TIME.BUF1 */
3756 }
3757 }
3758
3759 Device (RTC)
3760 {
3761 Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID
3762 Name (BUF0, ResourceTemplate ()
3763 {
3764 IO (Decode16,
3765 0x0070, // Range Minimum
3766 0x0070, // Range Maximum
3767 0x01, // Alignment
3768 0x02, // Length
3769 )
3770 })
3771 Name (BUF1, ResourceTemplate ()
3772 {
3773 IO (Decode16,
3774 0x0070, // Range Minimum
3775 0x0070, // Range Maximum
3776 0x01, // Alignment
3777 0x02, // Length
3778 )
3779 IRQNoFlags ()
3780 {8}
3781 })
3782 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
3783 {
3784 If ((HPTE & 0x01))
3785 {
3786 Return (BUF0) /* \_SB_.PCI0.LPC_.RTC_.BUF0 */
3787 }
3788
3789 Return (BUF1) /* \_SB_.PCI0.LPC_.RTC_.BUF1 */
3790 }
3791 }
3792
3793 Device (SPKR)
3794 {
3795 Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID
3796 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3797 {
3798 IO (Decode16,
3799 0x0061, // Range Minimum
3800 0x0061, // Range Maximum
3801 0x01, // Alignment
3802 0x01, // Length
3803 )
3804 })
3805 }
3806
3807 Device (SYSR)
3808 {
3809 Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID
3810 Name (RSRC, ResourceTemplate ()
3811 {
3812 IO (Decode16,
3813 0x1000, // Range Minimum
3814 0x1000, // Range Maximum
3815 0x01, // Alignment
3816 0xBF, // Length
3817 _Y15)
3818 IO (Decode16,
3819 0x8100, // Range Minimum
3820 0x8100, // Range Maximum
3821 0x01, // Alignment
3822 0x30, // Length
3823 )
3824 IO (Decode16,
3825 0x0080, // Range Minimum
3826 0x0080, // Range Maximum
3827 0x01, // Alignment
3828 0x01, // Length
3829 )
3830 IO (Decode16,
3831 0x04D0, // Range Minimum
3832 0x04D0, // Range Maximum
3833 0x01, // Alignment
3834 0x02, // Length
3835 )
3836 IO (Decode16,
3837 0xFE00, // Range Minimum
3838 0xFE00, // Range Maximum
3839 0x01, // Alignment
3840 0x01, // Length
3841 )
3842 IO (Decode16,
3843 0x002E, // Range Minimum
3844 0x002E, // Range Maximum
3845 0x01, // Alignment
3846 0x01, // Length
3847 )
3848 IO (Decode16,
3849 0x002F, // Range Minimum
3850 0x002F, // Range Maximum
3851 0x01, // Alignment
3852 0x01, // Length
3853 )
3854 IO (Decode16,
3855 0x0092, // Range Minimum
3856 0x0092, // Range Maximum
3857 0x01, // Alignment
3858 0x01, // Length
3859 )
3860 IO (Decode16,
3861 0x0072, // Range Minimum
3862 0x0072, // Range Maximum
3863 0x01, // Alignment
3864 0x02, // Length
3865 )
3866 IO (Decode16,
3867 0x0078, // Range Minimum
3868 0x0078, // Range Maximum
3869 0x01, // Alignment
3870 0x02, // Length
3871 )
3872 IO (Decode16,
3873 0x004E, // Range Minimum
3874 0x004E, // Range Maximum
3875 0x01, // Alignment
3876 0x02, // Length
3877 )
3878 IO (Decode16,
3879 0x0068, // Range Minimum
3880 0x0068, // Range Maximum
3881 0x01, // Alignment
3882 0x01, // Length
3883 )
3884 IO (Decode16,
3885 0x006C, // Range Minimum
3886 0x006C, // Range Maximum
3887 0x01, // Alignment
3888 0x01, // Length
3889 )
3890 IO (Decode16,
3891 0x0200, // Range Minimum
3892 0x0200, // Range Maximum
3893 0x01, // Alignment
3894 0x10, // Length
3895 )
3896 IO (Decode16,
3897 0x0290, // Range Minimum
3898 0x0290, // Range Maximum
3899 0x01, // Alignment
3900 0x08, // Length
3901 )
3902 Memory32Fixed (ReadWrite,
3903 0xE0000000, // Address Base
3904 0x10000000, // Address Length
3905 )
3906 Memory32Fixed (ReadOnly,
3907 0xFEC00000, // Address Base
3908 0x00100000, // Address Length
3909 )
3910 Memory32Fixed (ReadOnly,
3911 0xFEE00000, // Address Base
3912 0x00100000, // Address Length
3913 )
3914 Memory32Fixed (ReadOnly,
3915 0xFFB80000, // Address Base
3916 0x00080000, // Address Length
3917 )
3918 Memory32Fixed (ReadOnly,
3919 0xFFC00000, // Address Base
3920 0x00001000, // Address Length
3921 )
3922 Memory32Fixed (ReadOnly,
3923 0xFFE00000, // Address Base
3924 0x00001000, // Address Length
3925 )
3926 Memory32Fixed (ReadOnly,
3927 0xFFE80000, // Address Base
3928 0x00080000, // Address Length
3929 )
3930 })
3931 Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
3932 {
3933 CreateWordField (RSRC, \_SB.PCI0.LPC.SYSR._Y15._MIN, PMMN) // _MIN: Minimum Base Address
3934 CreateWordField (RSRC, \_SB.PCI0.LPC.SYSR._Y15._MAX, PMMX) // _MAX: Maximum Base Address
3935 PMMN = (\_SB.PCI0.LPC.Z004 & 0xFF80)
3936 PMMX = PMMN /* \_SB_.PCI0.LPC_.SYSR._CRS.PMMN */
3937 Return (RSRC) /* \_SB_.PCI0.LPC_.SYSR.RSRC */
3938 }
3939 }
3940
3941 Device (COPR)
3942 {
3943 Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID
3944 Method (_STA, 0, NotSerialized) // _STA: Status
3945 {
3946 Return (0x0B)
3947 }
3948
3949 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3950 {
3951 IO (Decode16,
3952 0x00F0, // Range Minimum
3953 0x00F0, // Range Maximum
3954 0x01, // Alignment
3955 0x10, // Length
3956 )
3957 IRQNoFlags ()
3958 {13}
3959 })
3960 }
3961
3962 Device (PS2K)
3963 {
3964 Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID
3965 Name (_UID, 0x01) // _UID: Unique ID
3966 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3967 {
3968 IO (Decode16,
3969 0x0060, // Range Minimum
3970 0x0060, // Range Maximum
3971 0x01, // Alignment
3972 0x01, // Length
3973 )
3974 IO (Decode16,
3975 0x0064, // Range Minimum
3976 0x0064, // Range Maximum
3977 0x01, // Alignment
3978 0x01, // Length
3979 )
3980 IRQNoFlags ()
3981 {1}
3982 })
3983 }
3984
3985 Device (PS2M)
3986 {
3987 Name (_HID, EisaId ("SYN0804")) // _HID: Hardware ID
3988 Name (_CID, Package (0x02) // _CID: Compatible ID
3989 {
3990 EisaId ("SYN0800"),
3991 EisaId ("PNP0F13") /* PS/2 Mouse */
3992 })
3993 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
3994 {
3995 IRQ (Edge, ActiveHigh, Exclusive, )
3996 {12}
3997 })
3998 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
3999 {
4000 }
4001
4002 Method (_STA, 0, NotSerialized) // _STA: Status
4003 {
4004 Local7 = 0x0F
4005 }
4006 }
4007
4008 Device (XPIC)
4009 {
4010 Name (_HID, EisaId ("PNP0003") /* IO-APIC Interrupt Controller */) // _HID: Hardware ID
4011 Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
4012 {
4013 Memory32Fixed (ReadOnly,
4014 0xFEC00000, // Address Base
4015 0x00100000, // Address Length
4016 )
4017 Memory32Fixed (ReadOnly,
4018 0xFEE00000, // Address Base
4019 0x00100000, // Address Length
4020 )
4021 Memory32Fixed (ReadOnly,
4022 0xFFC00000, // Address Base
4023 0x00001000, // Address Length
4024 )
4025 Memory32Fixed (ReadOnly,
4026 0xFFE00000, // Address Base
4027 0x00001000, // Address Length
4028 )
4029 })
4030 }
4031
4032 Device (HPET)
4033 {
4034 Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
4035 Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings
4036 {
4037 If ((MMTB <= 0x04))
4038 {
4039 If ((MMTB == 0x04))
4040 {
4041 Return (BUF4) /* \_SB_.PCI0.LPC_.HPET.BUF4 */
4042 }
4043
4044 If ((MMTB == 0x02))
4045 {
4046 Return (BUF2) /* \_SB_.PCI0.LPC_.HPET.BUF2 */
4047 }
4048
4049 If ((MMTB == 0x01))
4050 {
4051 Return (BUF1) /* \_SB_.PCI0.LPC_.HPET.BUF1 */
4052 }
4053
4054 Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
4055 }
4056 }
4057
4058 Name (BUF4, ResourceTemplate ()
4059 {
4060 IRQNoFlags ()
4061 {0}
4062 IRQNoFlags ()
4063 {8}
4064 Memory32Fixed (ReadOnly,
4065 0xFED04000, // Address Base
4066 0x00000400, // Address Length
4067 )
4068 })
4069 Name (BUF2, ResourceTemplate ()
4070 {
4071 IRQNoFlags ()
4072 {0}
4073 IRQNoFlags ()
4074 {8}
4075 Memory32Fixed (ReadOnly,
4076 0xFED02000, // Address Base
4077 0x00000400, // Address Length
4078 )
4079 })
4080 Name (BUF1, ResourceTemplate ()
4081 {
4082 IRQNoFlags ()
4083 {0}
4084 IRQNoFlags ()
4085 {8}
4086 Memory32Fixed (ReadOnly,
4087 0xFED01000, // Address Base
4088 0x00000400, // Address Length
4089 )
4090 })
4091 Name (BUF0, ResourceTemplate ()
4092 {
4093 IRQNoFlags ()
4094 {0}
4095 IRQNoFlags ()
4096 {8}
4097 Memory32Fixed (ReadOnly,
4098 0xFED00000, // Address Base
4099 0x00000400, // Address Length
4100 )
4101 })
4102 Method (_STA, 0, NotSerialized) // _STA: Status
4103 {
4104 If ((HPTE & 0x01))
4105 {
4106 If ((\_SB.OSTP () >= 0x08))
4107 {
4108 Return (0x0F)
4109 }
4110 Else
4111 {
4112 Return (0x00)
4113 }
4114 }
4115
4116 Return (0x00)
4117 }
4118 }
4119 }
4120
4121 Device (USB0)
4122 {
4123 Name (_ADR, 0x00030000) // _ADR: Address
4124 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
4125 {
4126 0x0E,
4127 0x03
4128 })
4129 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
4130 {
4131 If ((\_SB.OSTP () == 0x02))
4132 {
4133 Return (0x02)
4134 }
4135 Else
4136 {
4137 Return (0x03)
4138 }
4139 }
4140 }
4141
4142 Device (USB1)
4143 {
4144 Name (_ADR, 0x00030001) // _ADR: Address
4145 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
4146 {
4147 0x04,
4148 0x03
4149 })
4150 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
4151 {
4152 If ((\_SB.OSTP () == 0x02))
4153 {
4154 Return (0x02)
4155 }
4156 Else
4157 {
4158 Return (0x03)
4159 }
4160 }
4161 }
4162
4163 Device (USB2)
4164 {
4165 Name (_ADR, 0x00030003) // _ADR: Address
4166 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
4167 {
4168 0x07,
4169 0x03
4170 })
4171 Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State
4172 {
4173 If ((\_SB.OSTP () == 0x02))
4174 {
4175 Return (0x02)
4176 }
4177 Else
4178 {
4179 Return (0x03)
4180 }
4181 }
4182 }
4183
4184 Device (Z006)
4185 {
4186 Name (_ADR, 0x00060000) // _ADR: Address
4187 }
4188
4189 Device (Z007)
4190 {
4191 Name (_ADR, 0x00070000) // _ADR: Address
4192 OperationRegion (PCFG, PCI_Config, 0x00, 0xFF)
4193 Field (PCFG, ByteAcc, NoLock, Preserve)
4194 {
4195 Offset (0xE4),
4196 , 5,
4197 HOTP, 2,
4198 Offset (0xE8),
4199 , 3,
4200 PDCE, 1,
4201 Offset (0xEA),
4202 , 3,
4203 PCHG, 1,
4204 , 2,
4205 PSTS, 1
4206 }
4207
4208 Name (_HPP, Package (0x04) // _HPP: Hot Plug Parameters
4209 {
4210 0x08,
4211 0x40,
4212 0x01,
4213 0x00
4214 })
4215 Device (S1F0)
4216 {
4217 Name (_ADR, 0x00) // _ADR: Address
4218 Method (_RMV, 0, NotSerialized) // _RMV: Removal Status
4219 {
4220 Return (0x01)
4221 }
4222
4223 Method (_STA, 0, NotSerialized) // _STA: Status
4224 {
4225 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4226 {
4227 Return (0x00)
4228 }
4229 Else
4230 {
4231 Return (0x0F)
4232 }
4233 }
4234 }
4235
4236 Device (S1F1)
4237 {
4238 Name (_ADR, 0x01) // _ADR: Address
4239 Method (_STA, 0, NotSerialized) // _STA: Status
4240 {
4241 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4242 {
4243 Return (0x00)
4244 }
4245 Else
4246 {
4247 Return (0x0F)
4248 }
4249 }
4250 }
4251
4252 Device (S1F2)
4253 {
4254 Name (_ADR, 0x02) // _ADR: Address
4255 Method (_STA, 0, NotSerialized) // _STA: Status
4256 {
4257 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4258 {
4259 Return (0x00)
4260 }
4261 Else
4262 {
4263 Return (0x0F)
4264 }
4265 }
4266 }
4267
4268 Device (S1F3)
4269 {
4270 Name (_ADR, 0x03) // _ADR: Address
4271 Method (_STA, 0, NotSerialized) // _STA: Status
4272 {
4273 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4274 {
4275 Return (0x00)
4276 }
4277 Else
4278 {
4279 Return (0x0F)
4280 }
4281 }
4282 }
4283
4284 Device (S1F4)
4285 {
4286 Name (_ADR, 0x04) // _ADR: Address
4287 Method (_STA, 0, NotSerialized) // _STA: Status
4288 {
4289 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4290 {
4291 Return (0x00)
4292 }
4293 Else
4294 {
4295 Return (0x0F)
4296 }
4297 }
4298 }
4299
4300 Device (S1F5)
4301 {
4302 Name (_ADR, 0x05) // _ADR: Address
4303 Method (_STA, 0, NotSerialized) // _STA: Status
4304 {
4305 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4306 {
4307 Return (0x00)
4308 }
4309 Else
4310 {
4311 Return (0x0F)
4312 }
4313 }
4314 }
4315
4316 Device (S1F6)
4317 {
4318 Name (_ADR, 0x06) // _ADR: Address
4319 Method (_STA, 0, NotSerialized) // _STA: Status
4320 {
4321 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4322 {
4323 Return (0x00)
4324 }
4325 Else
4326 {
4327 Return (0x0F)
4328 }
4329 }
4330 }
4331
4332 Device (S1F7)
4333 {
4334 Name (_ADR, 0x07) // _ADR: Address
4335 Method (_STA, 0, NotSerialized) // _STA: Status
4336 {
4337 If ((\_SB.PCI0.Z007.PSTS == 0x00))
4338 {
4339 Return (0x00)
4340 }
4341 Else
4342 {
4343 Return (0x0F)
4344 }
4345 }
4346 }
4347 }
4348 }
4349
4350 OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
4351 Field (SMI0, AnyAcc, NoLock, Preserve)
4352 {
4353 SMIC, 8
4354 }
4355
4356 OperationRegion (SMI1, SystemMemory, 0x77D9CE2C, 0x00000120)
4357 Field (SMI1, AnyAcc, NoLock, Preserve)
4358 {
4359 BCMD, 8,
4360 DID, 32,
4361 INFO, 2008
4362 }
4363
4364 Field (SMI1, AnyAcc, NoLock, Preserve)
4365 {
4366 DMY, 40,
4367 INF, 8
4368 }
4369
4370 Device (PWRB)
4371 {
4372 Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID
4373 }
4374
4375 Device (SLPB)
4376 {
4377 Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID
4378 Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake
4379 {
4380 0x03,
4381 0x04
4382 })
4383 Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake
4384 {
4385 }
4386 }
4387
4388 Device (LID0)
4389 {
4390 Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID
4391 Method (_LID, 0, NotSerialized) // _LID: Lid Status
4392 {
4393 Return (\_SB.PCI0.LPC.EC0.LIDS)
4394 }
4395 }
4396
4397 OperationRegion (GNVS, SystemMemory, 0x77D9CA2C, 0x00000400)
4398 Field (GNVS, AnyAcc, NoLock, Preserve)
4399 {
4400 PWRS, 8,
4401 PPCS, 8,
4402 PPCM, 8,
4403 PPCL, 8,
4404 Offset (0x08),
4405 SLMS, 1,
4406 SP1S, 1,
4407 SMP, 1,
4408 LBLM, 1,
4409 Offset (0x10),
4410 OCID, 8,
4411 OSEC, 8,
4412 PRID, 8,
4413 HDPW, 8,
4414 ACTT, 8,
4415 PSVT, 8,
4416 TC1V, 8,
4417 TC2V, 8,
4418 TSPV, 8,
4419 CRTT, 8,
4420 DTSE, 8,
4421 DTS1, 8,
4422 DTS2, 8,
4423 Offset (0x29),
4424 MPEN, 8
4425 }
4426
4427 Mutex (MUTX, 0x00)
4428 OperationRegion (P80G, SystemIO, 0x80, 0x01)
4429 Field (P80G, ByteAcc, NoLock, Preserve)
4430 {
4431 DBPG, 8
4432 }
4433
4434 OperationRegion (TMIO, SystemIO, 0x40, 0x04)
4435 Field (TMIO, ByteAcc, NoLock, Preserve)
4436 {
4437 Offset (0x02),
4438 TM2P, 8,
4439 TMCP, 8
4440 }
4441
4442 OperationRegion (SNIO, SystemIO, 0x61, 0x01)
4443 Field (SNIO, ByteAcc, NoLock, Preserve)
4444 {
4445 SNDP, 8
4446 }
4447
4448 Method (BEEP, 1, NotSerialized)
4449 {
4450 Local4 = Arg0
4451 While (Local4)
4452 {
4453 TMCP = 0xB6
4454 Sleep (0x32)
4455 TM2P = 0x05
4456 Sleep (0x32)
4457 TM2P = 0x05
4458 Local0 = SNDP /* \_SB_.SNDP */
4459 Local1 = Local0
4460 Local0 |= 0x03
4461 SNDP = Local0
4462 Sleep (0x0190)
4463 SNDP = Local1
4464 Sleep (0x01F4)
4465 Local4--
4466 }
4467 }
4468
4469 OperationRegion (DEB0, SystemIO, 0x0378, 0x01)
4470 Field (DEB0, ByteAcc, NoLock, Preserve)
4471 {
4472 P378, 8
4473 }
4474 }
4475
4476 Name (\DSEN, 0x01)
4477 Method (PHSR, 1, NotSerialized)
4478 {
4479 \_SB.BCMD = Arg0
4480 \_SB.SMIC = Zero
4481 }
4482
4483 Method (_WAK, 1, NotSerialized) // _WAK: Wake
4484 {
4485 \_SB.DBPG = 0x60
4486 \_SB.PCI0.LPC.EC0.XSEC = \_SB.OSEC
4487 \_SB.DBPG = 0x61
4488 If ((Arg0 == 0x03))
4489 {
4490 \_SB.PCI0.LPC.EC0.HDPS = \_SB.HDPW
4491 }
4492
4493 If ((\_SB.OSEC == 0x05))
4494 {
4495 \_SB.PCI0.LPC.EC0.LIDS = 0x01
4496 Notify (\_SB.LID0, 0x80) // Status Change
4497 }
4498
4499 \_SB.SMP = 0x00
4500 \_SB.SLMS = 0x00
4501 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
4502 \_SB.DBPG = 0x62
4503 \_SB.SMP = 0x01
4504 \_SB.DBPG = 0x63
4505 Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
4506 \_SB.DBPG = 0x64
4507 Notify (\_SB.PCI0.Z007, 0x01) // Device Check
4508 Notify (\_SB.PCI0, 0x00) // Bus Check
4509 \_SB.DBPG = 0x65
4510 If ((Arg0 == 0x04))
4511 {
4512 If (((CFGD & 0x01000000) && (PDC0 & 0x10)))
4513 {
4514 \_SB.BCMD = 0x49
4515 \_SB.DID = 0x00
4516 \_SB.SMIC = 0x00
4517 }
4518 }
4519
4520 \_SB.DBPG = 0x66
4521 }
4522
4523 Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep
4524 {
4525 \_SB.DBPG = 0x51
4526 \_SB.PCI0.DEFR = 0x0F
4527 \_SB.PCI0.PIPE = 0x00
4528 \_SB.DBPG = 0x52
4529 \_SB.DBPG = 0x53
4530 \_SB.DBPG = 0x54
4531 If ((Arg0 <= 0x03))
4532 {
4533 PHSR (0x81)
4534 }
4535
4536 \_SB.DBPG = 0x55
4537 If ((Arg0 == 0x04))
4538 {
4539 PHSR (0x86)
4540 }
4541
4542 \_SB.DBPG = 0x56
4543 If ((Arg0 == 0x05))
4544 {
4545 PHSR (0x87)
4546 }
4547
4548 \_SB.DBPG = 0x57
4549 }
4550
4551 Scope (\_PR.CPU0)
4552 {
4553 Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities
4554 {
4555 If ((\_SB.SMP == 0x01))
4556 {
4557 If ((\_SB.SLMS == 0x01))
4558 {
4559 Return (\_SB.PPCM)
4560 }
4561 Else
4562 {
4563 Return (\_SB.PPCL)
4564 }
4565 }
4566 Else
4567 {
4568 Return (\_SB.PPCL)
4569 }
4570 }
4571
4572 Method (_PCT, 0, NotSerialized) // _PCT: Performance Control
4573 {
4574 If ((((CFGD & 0x01) & (PDC0 & 0x01)) &&
4575 ((PDC0 & 0x40000000) ^ 0x40000000)))
4576 {
4577 If (!(CFGD & 0x02000000))
4578 {
4579 Return (Package (0x02)
4580 {
4581 ResourceTemplate ()
4582 {
4583 Register (FFixedHW,
4584 0x00, // Bit Width
4585 0x00, // Bit Offset
4586 0x0000000000000000, // Address
4587 ,)
4588 },
4589
4590 ResourceTemplate ()
4591 {
4592 Register (FFixedHW,
4593 0x00, // Bit Width
4594 0x00, // Bit Offset
4595 0x0000000000000000, // Address
4596 ,)
4597 }
4598 })
4599 }
4600 }
4601
4602 Return (Package (0x02)
4603 {
4604 ResourceTemplate ()
4605 {
4606 Register (SystemIO,
4607 0x10, // Bit Width
4608 0x00, // Bit Offset
4609 0x0000000000008048, // Address
4610 ,)
4611 },
4612
4613 ResourceTemplate ()
4614 {
4615 Register (SystemIO,
4616 0x10, // Bit Width
4617 0x00, // Bit Offset
4618 0x0000000000008049, // Address
4619 ,)
4620 }
4621 })
4622 }
4623
4624 Method (_PSS, 0, NotSerialized) // _PSS: Performance Supported States
4625 {
4626 If ((PDC0 & 0x40000000))
4627 {
4628 Return (SPSS) /* \_PR_.CPU0.SPSS */
4629 }
4630
4631 If ((!(CFGD & 0x02000000) && (PDC0 & 0x01)))
4632 {
4633 Return (NPSS) /* \_PR_.CPU0.NPSS */
4634 }
4635
4636 Return (SPSS) /* \_PR_.CPU0.SPSS */
4637 }
4638
4639 Name (SPSS, Package (0x02)
4640 {
4641 Package (0x06)
4642 {
4643 0x000007D0,
4644 0x000088B8,
4645 0x0000006E,
4646 0x0000000A,
4647 0x00000083,
4648 0x00000000
4649 },
4650
4651 Package (0x06)
4652 {
4653 0x00000320,
4654 0x00003EE4,
4655 0x0000006E,
4656 0x0000000A,
4657 0x00000183,
4658 0x00000001
4659 }
4660 })
4661 Name (NPSS, Package (0x02)
4662 {
4663 Package (0x06)
4664 {
4665 0x000007D0,
4666 0x000088B8,
4667 0x0000000A,
4668 0x0000000A,
4669 0x00000F2A,
4670 0x00000F2A
4671 },
4672
4673 Package (0x06)
4674 {
4675 0x00000320,
4676 0x00003EE4,
4677 0x0000000A,
4678 0x0000000A,
4679 0x00000617,
4680 0x00000617
4681 }
4682 })
4683 Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies
4684 {
4685 If (((CFGD & 0x01000000) | (CFGD & 0x02000000)))
4686 {
4687 If ((PDC0 & 0x0800))
4688 {
4689 Return (Package (0x01)
4690 {
4691 Package (0x05)
4692 {
4693 0x05,
4694 0x00,
4695 0x00,
4696 0xFE,
4697 0x02
4698 }
4699 })
4700 }
4701
4702 Return (Package (0x01)
4703 {
4704 Package (0x05)
4705 {
4706 0x05,
4707 0x00,
4708 0x00,
4709 0xFC,
4710 0x02
4711 }
4712 })
4713 }
4714
4715 Return (Package (0x01)
4716 {
4717 Package (0x05)
4718 {
4719 0x05,
4720 0x00,
4721 0x00,
4722 0xFC,
4723 0x01
4724 }
4725 })
4726 }
4727 }
4728
4729 Scope (\_PR.CPU0)
4730 {
4731 Name (CSTN, Package (0x02)
4732 {
4733 0x01,
4734 Package (0x04)
4735 {
4736 ResourceTemplate ()
4737 {
4738 Register (FFixedHW,
4739 0x00, // Bit Width
4740 0x00, // Bit Offset
4741 0x0000000000000000, // Address
4742 ,)
4743 },
4744
4745 0x01,
4746 0x9D,
4747 0x03E8
4748 }
4749 })
4750 Name (CST4, Package (0x04)
4751 {
4752 0x03,
4753 Package (0x04)
4754 {
4755 ResourceTemplate ()
4756 {
4757 Register (FFixedHW,
4758 0x00, // Bit Width
4759 0x00, // Bit Offset
4760 0x0000000000000000, // Address
4761 ,)
4762 },
4763
4764 0x01,
4765 0x01,
4766 0x03E8
4767 },
4768
4769 Package (0x04)
4770 {
4771 ResourceTemplate ()
4772 {
4773 Register (SystemIO,
4774 0x08, // Bit Width
4775 0x00, // Bit Offset
4776 0x0000000000001014, // Address
4777 ,)
4778 },
4779
4780 0x02,
4781 0x01,
4782 0x01F4
4783 },
4784
4785 Package (0x04)
4786 {
4787 ResourceTemplate ()
4788 {
4789 Register (SystemIO,
4790 0x08, // Bit Width
4791 0x00, // Bit Offset
4792 0x0000000000001016, // Address
4793 ,)
4794 },
4795
4796 0x03,
4797 0x23,
4798 0x64
4799 }
4800 })
4801 Name (CST3, Package (0x04)
4802 {
4803 0x03,
4804 Package (0x04)
4805 {
4806 ResourceTemplate ()
4807 {
4808 Register (FFixedHW,
4809 0x00, // Bit Width
4810 0x00, // Bit Offset
4811 0x0000000000000000, // Address
4812 ,)
4813 },
4814
4815 0x01,
4816 0x01,
4817 0x03E8
4818 },
4819
4820 Package (0x04)
4821 {
4822 ResourceTemplate ()
4823 {
4824 Register (SystemIO,
4825 0x08, // Bit Width
4826 0x00, // Bit Offset
4827 0x0000000000008014, // Address
4828 ,)
4829 },
4830
4831 0x02,
4832 0x01,
4833 0x01F4
4834 },
4835
4836 Package (0x04)
4837 {
4838 ResourceTemplate ()
4839 {
4840 Register (SystemIO,
4841 0x08, // Bit Width
4842 0x00, // Bit Offset
4843 0x0000000000008015, // Address
4844 ,)
4845 },
4846
4847 0x03,
4848 0x23,
4849 0xFA
4850 }
4851 })
4852 Name (CST2, Package (0x03)
4853 {
4854 0x02,
4855 Package (0x04)
4856 {
4857 ResourceTemplate ()
4858 {
4859 Register (FFixedHW,
4860 0x00, // Bit Width
4861 0x00, // Bit Offset
4862 0x0000000000000000, // Address
4863 ,)
4864 },
4865
4866 0x01,
4867 0x01,
4868 0x03E8
4869 },
4870
4871 Package (0x04)
4872 {
4873 ResourceTemplate ()
4874 {
4875 Register (SystemIO,
4876 0x08, // Bit Width
4877 0x00, // Bit Offset
4878 0x0000000000008014, // Address
4879 ,)
4880 },
4881
4882 0x02,
4883 0x01,
4884 0x01F4
4885 }
4886 })
4887 Name (CST1, Package (0x02)
4888 {
4889 0x01,
4890 Package (0x04)
4891 {
4892 ResourceTemplate ()
4893 {
4894 Register (FFixedHW,
4895 0x00, // Bit Width
4896 0x00, // Bit Offset
4897 0x0000000000000000, // Address
4898 ,)
4899 },
4900
4901 0x01,
4902 0x01,
4903 0x03E8
4904 }
4905 })
4906 Name (C4ME, Package (0x04)
4907 {
4908 0x03,
4909 Package (0x04)
4910 {
4911 ResourceTemplate ()
4912 {
4913 Register (FFixedHW,
4914 0x01, // Bit Width
4915 0x02, // Bit Offset
4916 0x0000000000000000, // Address
4917 0x01, // Access Size
4918 )
4919 },
4920
4921 0x01,
4922 0x01,
4923 0x03E8
4924 },
4925
4926 Package (0x04)
4927 {
4928 ResourceTemplate ()
4929 {
4930 Register (FFixedHW,
4931 0x01, // Bit Width
4932 0x02, // Bit Offset
4933 0x0000000000000010, // Address
4934 0x01, // Access Size
4935 )
4936 },
4937
4938 0x02,
4939 0x01,
4940 0x01F4
4941 },
4942
4943 Package (0x04)
4944 {
4945 ResourceTemplate ()
4946 {
4947 Register (FFixedHW,
4948 0x01, // Bit Width
4949 0x02, // Bit Offset
4950 0x0000000000000030, // Address
4951 0x03, // Access Size
4952 )
4953 },
4954
4955 0x03,
4956 0x39,
4957 0x64
4958 }
4959 })
4960 Name (C3ME, Package (0x04)
4961 {
4962 0x03,
4963 Package (0x04)
4964 {
4965 ResourceTemplate ()
4966 {
4967 Register (FFixedHW,
4968 0x01, // Bit Width
4969 0x02, // Bit Offset
4970 0x0000000000000000, // Address
4971 0x01, // Access Size
4972 )
4973 },
4974
4975 0x01,
4976 0x01,
4977 0x03E8
4978 },
4979
4980 Package (0x04)
4981 {
4982 ResourceTemplate ()
4983 {
4984 Register (FFixedHW,
4985 0x01, // Bit Width
4986 0x02, // Bit Offset
4987 0x0000000000000010, // Address
4988 0x01, // Access Size
4989 )
4990 },
4991
4992 0x02,
4993 0x01,
4994 0x01F4
4995 },
4996
4997 Package (0x04)
4998 {
4999 ResourceTemplate ()
5000 {
5001 Register (FFixedHW,
5002 0x01, // Bit Width
5003 0x02, // Bit Offset
5004 0x0000000000000020, // Address
5005 0x03, // Access Size
5006 )
5007 },
5008
5009 0x03,
5010 0x11,
5011 0xFA
5012 }
5013 })
5014 Name (C2ME, Package (0x03)
5015 {
5016 0x02,
5017 Package (0x04)
5018 {
5019 ResourceTemplate ()
5020 {
5021 Register (FFixedHW,
5022 0x01, // Bit Width
5023 0x02, // Bit Offset
5024 0x0000000000000000, // Address
5025 0x01, // Access Size
5026 )
5027 },
5028
5029 0x01,
5030 0x01,
5031 0x03E8
5032 },
5033
5034 Package (0x04)
5035 {
5036 ResourceTemplate ()
5037 {
5038 Register (FFixedHW,
5039 0x01, // Bit Width
5040 0x02, // Bit Offset
5041 0x0000000000000010, // Address
5042 0x01, // Access Size
5043 )
5044 },
5045
5046 0x02,
5047 0x01,
5048 0x01F4
5049 }
5050 })
5051 Name (C1ME, Package (0x02)
5052 {
5053 0x01,
5054 Package (0x04)
5055 {
5056 ResourceTemplate ()
5057 {
5058 Register (FFixedHW,
5059 0x01, // Bit Width
5060 0x02, // Bit Offset
5061 0x0000000000000000, // Address
5062 0x01, // Access Size
5063 )
5064 },
5065
5066 0x01,
5067 0x01,
5068 0x03E8
5069 }
5070 })
5071 Name (CT4M, Package (0x04)
5072 {
5073 0x03,
5074 Package (0x04)
5075 {
5076 ResourceTemplate ()
5077 {
5078 Register (FFixedHW,
5079 0x01, // Bit Width
5080 0x02, // Bit Offset
5081 0x0000000000000000, // Address
5082 0x01, // Access Size
5083 )
5084 },
5085
5086 0x01,
5087 0x01,
5088 0x03E8
5089 },
5090
5091 Package (0x04)
5092 {
5093 ResourceTemplate ()
5094 {
5095 Register (SystemIO,
5096 0x08, // Bit Width
5097 0x00, // Bit Offset
5098 0x0000000000001014, // Address
5099 ,)
5100 },
5101
5102 0x02,
5103 0x01,
5104 0x01F4
5105 },
5106
5107 Package (0x04)
5108 {
5109 ResourceTemplate ()
5110 {
5111 Register (SystemIO,
5112 0x08, // Bit Width
5113 0x00, // Bit Offset
5114 0x0000000000001016, // Address
5115 ,)
5116 },
5117
5118 0x03,
5119 0x39,
5120 0x64
5121 }
5122 })
5123 Name (CT3M, Package (0x04)
5124 {
5125 0x03,
5126 Package (0x04)
5127 {
5128 ResourceTemplate ()
5129 {
5130 Register (FFixedHW,
5131 0x01, // Bit Width
5132 0x02, // Bit Offset
5133 0x0000000000000000, // Address
5134 0x01, // Access Size
5135 )
5136 },
5137
5138 0x01,
5139 0x01,
5140 0x03E8
5141 },
5142
5143 Package (0x04)
5144 {
5145 ResourceTemplate ()
5146 {
5147 Register (SystemIO,
5148 0x08, // Bit Width
5149 0x00, // Bit Offset
5150 0x0000000000008014, // Address
5151 ,)
5152 },
5153
5154 0x02,
5155 0x01,
5156 0x01F4
5157 },
5158
5159 Package (0x04)
5160 {
5161 ResourceTemplate ()
5162 {
5163 Register (SystemIO,
5164 0x08, // Bit Width
5165 0x00, // Bit Offset
5166 0x0000000000008015, // Address
5167 ,)
5168 },
5169
5170 0x03,
5171 0x11,
5172 0xFA
5173 }
5174 })
5175 Name (CT2M, Package (0x03)
5176 {
5177 0x02,
5178 Package (0x04)
5179 {
5180 ResourceTemplate ()
5181 {
5182 Register (FFixedHW,
5183 0x01, // Bit Width
5184 0x02, // Bit Offset
5185 0x0000000000000000, // Address
5186 0x01, // Access Size
5187 )
5188 },
5189
5190 0x01,
5191 0x01,
5192 0x03E8
5193 },
5194
5195 Package (0x04)
5196 {
5197 ResourceTemplate ()
5198 {
5199 Register (SystemIO,
5200 0x08, // Bit Width
5201 0x00, // Bit Offset
5202 0x0000000000008014, // Address
5203 ,)
5204 },
5205
5206 0x02,
5207 0x01,
5208 0x01F4
5209 }
5210 })
5211 Name (CT1M, Package (0x02)
5212 {
5213 0x01,
5214 Package (0x04)
5215 {
5216 ResourceTemplate ()
5217 {
5218 Register (FFixedHW,
5219 0x01, // Bit Width
5220 0x02, // Bit Offset
5221 0x0000000000000000, // Address
5222 0x01, // Access Size
5223 )
5224 },
5225
5226 0x01,
5227 0x01,
5228 0x03E8
5229 }
5230 })
5231 Method (_CST, 0, NotSerialized) // _CST: C-States
5232 {
5233 If (((CFGD & 0x01000000) && !(PDC0 & 0x10)))
5234 {
5235 Return (CSTN) /* \_PR_.CPU0.CSTN */
5236 }
5237
5238 If (((CFGD & 0x00200000) && (PDC0 & 0x0200)))
5239 {
5240 If ((CFGD & 0x80))
5241 {
5242 Return (C4ME) /* \_PR_.CPU0.C4ME */
5243 }
5244
5245 If ((!(CFGD & 0x80) && (CFGD & 0x40)))
5246 {
5247 Return (C3ME) /* \_PR_.CPU0.C3ME */
5248 }
5249
5250 If ((CFGD & 0x20))
5251 {
5252 Return (C2ME) /* \_PR_.CPU0.C2ME */
5253 }
5254
5255 Return (C1ME) /* \_PR_.CPU0.C1ME */
5256 }
5257
5258 If (((CFGD & 0x00200000) && (PDC0 & 0x0100)))
5259 {
5260 If ((CFGD & 0x80))
5261 {
5262 Return (CT4M) /* \_PR_.CPU0.CT4M */
5263 }
5264
5265 If ((!(CFGD & 0x80) && (CFGD & 0x40)))
5266 {
5267 Return (CT3M) /* \_PR_.CPU0.CT3M */
5268 }
5269
5270 If ((CFGD & 0x20))
5271 {
5272 Return (CT2M) /* \_PR_.CPU0.CT2M */
5273 }
5274
5275 Return (CT1M) /* \_PR_.CPU0.CT1M */
5276 }
5277
5278 If ((CFGD & 0x80))
5279 {
5280 Return (CST4) /* \_PR_.CPU0.CST4 */
5281 }
5282
5283 If ((CFGD & 0x40))
5284 {
5285 Return (CST3) /* \_PR_.CPU0.CST3 */
5286 }
5287
5288 If ((CFGD & 0x20))
5289 {
5290 Return (CST2) /* \_PR_.CPU0.CST2 */
5291 }
5292
5293 Return (CST1) /* \_PR_.CPU0.CST1 */
5294 }
5295 }
5296
5297 Scope (\)
5298 {
5299 Name (SSDT, Package (0x30)
5300 {
5301 "CPU0IST ",
5302 0x77D96AE3,
5303 0x00000247,
5304 "CPU1IST ",
5305 0x00000000,
5306 0xF000FF53,
5307 "CPU0CST ",
5308 0x77D965CB,
5309 0x00000518,
5310 "CPU1CST ",
5311 0x00000000,
5312 0xF000FF53,
5313 "CPU2IST ",
5314 0x00000000,
5315 0xF000FF53,
5316 "CPU3IST ",
5317 0x00000000,
5318 0xF000FF53,
5319 "CPU2CST ",
5320 0x00000000,
5321 0xF000FF53,
5322 "CPU3CST ",
5323 0x00000000,
5324 0xF000FF53,
5325 "CPU4IST ",
5326 0x00000000,
5327 0xF000FF53,
5328 "CPU5IST ",
5329 0x00000000,
5330 0xF000FF53,
5331 "CPU4CST ",
5332 0x00000000,
5333 0xF000FF53,
5334 "CPU5CST ",
5335 0x00000000,
5336 0xF000FF53,
5337 "CPU6IST ",
5338 0x00000000,
5339 0xF000FF53,
5340 "CPU7IST ",
5341 0x00000000,
5342 0xF000FF53,
5343 "CPU6CST ",
5344 0x00000000,
5345 0xF000FF53,
5346 "CPU7CST ",
5347 0x00000000,
5348 0xF000FF53
5349 })
5350 Name (CFGD, 0x502B0071)
5351 Name (\PDC0, 0x80000000)
5352 Name (\PDC1, 0x80000000)
5353 Name (\PDC2, 0x80000000)
5354 Name (\PDC3, 0x80000000)
5355 Name (\PDC4, 0x80000000)
5356 Name (\PDC5, 0x80000000)
5357 Name (\PDC6, 0x80000000)
5358 Name (\PDC7, 0x80000000)
5359 Name (\SDTL, 0x00)
5360 }
5361
5362 Scope (\_PR.CPU0)
5363 {
5364 Name (HI0, 0x00)
5365 Name (HC0, 0x00)
5366 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5367 {
5368 CreateDWordField (Arg0, 0x00, REVS)
5369 CreateDWordField (Arg0, 0x04, SIZE)
5370 Local0 = SizeOf (Arg0)
5371 Local1 = (Local0 - 0x08)
5372 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5373 Name (STS0, Buffer (0x04)
5374 {
5375 0x00, 0x00, 0x00, 0x00 /* .... */
5376 })
5377 Concatenate (STS0, TEMP, Local2)
5378 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5379 }
5380
5381 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5382 {
5383 CreateDWordField (Arg3, 0x00, STS0)
5384 CreateDWordField (Arg3, 0x04, CAP0)
5385 CreateDWordField (Arg0, 0x00, IID0)
5386 CreateDWordField (Arg0, 0x04, IID1)
5387 CreateDWordField (Arg0, 0x08, IID2)
5388 CreateDWordField (Arg0, 0x0C, IID3)
5389 Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5390 CreateDWordField (UID0, 0x00, EID0)
5391 CreateDWordField (UID0, 0x04, EID1)
5392 CreateDWordField (UID0, 0x08, EID2)
5393 CreateDWordField (UID0, 0x0C, EID3)
5394 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5395 IID2 == EID2) && (IID3 == EID3))))
5396 {
5397 STS0 = 0x06
5398 Return (Arg3)
5399 }
5400
5401 If ((Arg1 != 0x01))
5402 {
5403 STS0 = 0x0A
5404 Return (Arg3)
5405 }
5406
5407 PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0._OSC.CAP0 */
5408 If ((CFGD & 0x01))
5409 {
5410 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5411 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5412 ((PDC0 & 0x09) == 0x09)) && !(SDTL & 0x01)))
5413 {
5414 SDTL |= 0x01
5415 OperationRegion (IST0, SystemMemory, DerefOf (SSDT [0x01]), DerefOf (SSDT [0x02]))
5416 Load (IST0, HI0) /* \_PR_.CPU0.HI0_ */
5417 }
5418 }
5419
5420 If ((CFGD & 0x70))
5421 {
5422 If (((CFGD && 0x40) || (CFGD && 0x80)))
5423 {
5424 \_SB.BCMD = 0x49
5425 \_SB.DID = 0x02
5426 \_SB.SMIC = 0x02
5427 }
5428
5429 If (((CFGD & 0x01000000) && (PDC0 & 0x10)))
5430 {
5431 \_SB.BCMD = 0x49
5432 \_SB.DID = 0x00
5433 \_SB.SMIC = 0x00
5434 }
5435
5436 If ((((CFGD & 0x01000000) && (PDC0 & 0x18)) && !
5437 (SDTL & 0x02)))
5438 {
5439 SDTL |= 0x02
5440 OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
5441 Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */
5442 }
5443 }
5444
5445 Return (Arg3)
5446 }
5447 }
5448
5449 Scope (\_PR.CPU1)
5450 {
5451 Name (HI1, 0x00)
5452 Name (HC1, 0x00)
5453 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5454 {
5455 CreateDWordField (Arg0, 0x00, REVS)
5456 CreateDWordField (Arg0, 0x04, SIZE)
5457 Local0 = SizeOf (Arg0)
5458 Local1 = (Local0 - 0x08)
5459 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5460 Name (STS1, Buffer (0x04)
5461 {
5462 0x00, 0x00, 0x00, 0x00 /* .... */
5463 })
5464 Concatenate (STS1, TEMP, Local2)
5465 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5466 }
5467
5468 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5469 {
5470 CreateDWordField (Arg3, 0x00, STS1)
5471 CreateDWordField (Arg3, 0x04, CAP1)
5472 CreateDWordField (Arg0, 0x00, IID0)
5473 CreateDWordField (Arg0, 0x04, IID1)
5474 CreateDWordField (Arg0, 0x08, IID2)
5475 CreateDWordField (Arg0, 0x0C, IID3)
5476 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5477 CreateDWordField (UID1, 0x00, EID0)
5478 CreateDWordField (UID1, 0x04, EID1)
5479 CreateDWordField (UID1, 0x08, EID2)
5480 CreateDWordField (UID1, 0x0C, EID3)
5481 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5482 IID2 == EID2) && (IID3 == EID3))))
5483 {
5484 STS1 = 0x06
5485 Return (Arg3)
5486 }
5487
5488 If ((Arg1 != 0x01))
5489 {
5490 STS1 = 0x0A
5491 Return (Arg3)
5492 }
5493
5494 PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1._OSC.CAP1 */
5495 If ((CFGD & 0x01))
5496 {
5497 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5498 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5499 ((PDC1 & 0x09) == 0x09)) && !(SDTL & 0x10)))
5500 {
5501 SDTL |= 0x10
5502 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
5503 Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */
5504 }
5505 }
5506
5507 If ((CFGD & 0xF0))
5508 {
5509 If ((((CFGD & 0x01000000) && (PDC1 & 0x18)) && !
5510 (SDTL & 0x20)))
5511 {
5512 SDTL |= 0x20
5513 OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
5514 Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */
5515 }
5516 }
5517
5518 Return (Arg3)
5519 }
5520 }
5521
5522 Scope (\_PR.CPU2)
5523 {
5524 Name (HI2, 0x00)
5525 Name (HC2, 0x00)
5526 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5527 {
5528 CreateDWordField (Arg0, 0x00, REVS)
5529 CreateDWordField (Arg0, 0x04, SIZE)
5530 Local0 = SizeOf (Arg0)
5531 Local1 = (Local0 - 0x08)
5532 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5533 Name (STS2, Buffer (0x04)
5534 {
5535 0x00, 0x00, 0x00, 0x00 /* .... */
5536 })
5537 Concatenate (STS2, TEMP, Local2)
5538 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5539 }
5540
5541 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5542 {
5543 CreateDWordField (Arg3, 0x00, STS2)
5544 CreateDWordField (Arg3, 0x04, CAP2)
5545 CreateDWordField (Arg0, 0x00, IID0)
5546 CreateDWordField (Arg0, 0x04, IID1)
5547 CreateDWordField (Arg0, 0x08, IID2)
5548 CreateDWordField (Arg0, 0x0C, IID3)
5549 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5550 CreateDWordField (UID1, 0x00, EID0)
5551 CreateDWordField (UID1, 0x04, EID1)
5552 CreateDWordField (UID1, 0x08, EID2)
5553 CreateDWordField (UID1, 0x0C, EID3)
5554 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5555 IID2 == EID2) && (IID3 == EID3))))
5556 {
5557 STS2 = 0x06
5558 Return (Arg3)
5559 }
5560
5561 If ((Arg1 != 0x01))
5562 {
5563 STS2 = 0x0A
5564 Return (Arg3)
5565 }
5566
5567 PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2._OSC.CAP2 */
5568 If ((CFGD & 0x01))
5569 {
5570 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5571 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5572 ((PDC2 & 0x09) == 0x09)) && !(SDTL & 0x04)))
5573 {
5574 SDTL |= 0x04
5575 OperationRegion (IST2, SystemMemory, DerefOf (SSDT [0x0D]), DerefOf (SSDT [0x0E]))
5576 Load (IST2, HI2) /* \_PR_.CPU2.HI2_ */
5577 }
5578 }
5579
5580 If ((CFGD & 0xF0))
5581 {
5582 If ((((CFGD & 0x01000000) && (PDC2 & 0x18)) && !
5583 (SDTL & 0x08)))
5584 {
5585 SDTL |= 0x08
5586 OperationRegion (CST2, SystemMemory, DerefOf (SSDT [0x13]), DerefOf (SSDT [0x14]))
5587 Load (CST2, HC2) /* \_PR_.CPU2.HC2_ */
5588 }
5589 }
5590
5591 Return (Arg3)
5592 }
5593 }
5594
5595 Scope (\_PR.CPU3)
5596 {
5597 Name (HI3, 0x00)
5598 Name (HC3, 0x00)
5599 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5600 {
5601 CreateDWordField (Arg0, 0x00, REVS)
5602 CreateDWordField (Arg0, 0x04, SIZE)
5603 Local0 = SizeOf (Arg0)
5604 Local1 = (Local0 - 0x08)
5605 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5606 Name (STS3, Buffer (0x04)
5607 {
5608 0x00, 0x00, 0x00, 0x00 /* .... */
5609 })
5610 Concatenate (STS3, TEMP, Local2)
5611 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5612 }
5613
5614 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5615 {
5616 CreateDWordField (Arg3, 0x00, STS3)
5617 CreateDWordField (Arg3, 0x04, CAP3)
5618 CreateDWordField (Arg0, 0x00, IID0)
5619 CreateDWordField (Arg0, 0x04, IID1)
5620 CreateDWordField (Arg0, 0x08, IID2)
5621 CreateDWordField (Arg0, 0x0C, IID3)
5622 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5623 CreateDWordField (UID1, 0x00, EID0)
5624 CreateDWordField (UID1, 0x04, EID1)
5625 CreateDWordField (UID1, 0x08, EID2)
5626 CreateDWordField (UID1, 0x0C, EID3)
5627 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5628 IID2 == EID2) && (IID3 == EID3))))
5629 {
5630 STS3 = 0x06
5631 Return (Arg3)
5632 }
5633
5634 If ((Arg1 != 0x01))
5635 {
5636 STS3 = 0x0A
5637 Return (Arg3)
5638 }
5639
5640 PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3._OSC.CAP3 */
5641 If ((CFGD & 0x01))
5642 {
5643 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5644 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5645 ((PDC3 & 0x09) == 0x09)) && !(SDTL & 0x40)))
5646 {
5647 SDTL |= 0x40
5648 OperationRegion (IST3, SystemMemory, DerefOf (SSDT [0x10]), DerefOf (SSDT [0x11]))
5649 Load (IST3, HI3) /* \_PR_.CPU3.HI3_ */
5650 }
5651 }
5652
5653 If ((CFGD & 0xF0))
5654 {
5655 If ((((CFGD & 0x01000000) && (PDC3 & 0x18)) && !
5656 (SDTL & 0x80)))
5657 {
5658 SDTL |= 0x80
5659 OperationRegion (CST3, SystemMemory, DerefOf (SSDT [0x16]), DerefOf (SSDT [0x17]))
5660 Load (CST3, HC3) /* \_PR_.CPU3.HC3_ */
5661 }
5662 }
5663
5664 Return (Arg3)
5665 }
5666 }
5667
5668 Scope (\_PR.CPU4)
5669 {
5670 Name (HI4, 0x00)
5671 Name (HC4, 0x00)
5672 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5673 {
5674 CreateDWordField (Arg0, 0x00, REVS)
5675 CreateDWordField (Arg0, 0x04, SIZE)
5676 Local0 = SizeOf (Arg0)
5677 Local1 = (Local0 - 0x08)
5678 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5679 Name (STS4, Buffer (0x04)
5680 {
5681 0x00, 0x00, 0x00, 0x00 /* .... */
5682 })
5683 Concatenate (STS4, TEMP, Local2)
5684 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5685 }
5686
5687 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5688 {
5689 CreateDWordField (Arg3, 0x00, STS4)
5690 CreateDWordField (Arg3, 0x04, CAP4)
5691 CreateDWordField (Arg0, 0x00, IID0)
5692 CreateDWordField (Arg0, 0x04, IID1)
5693 CreateDWordField (Arg0, 0x08, IID2)
5694 CreateDWordField (Arg0, 0x0C, IID3)
5695 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5696 CreateDWordField (UID1, 0x00, EID0)
5697 CreateDWordField (UID1, 0x04, EID1)
5698 CreateDWordField (UID1, 0x08, EID2)
5699 CreateDWordField (UID1, 0x0C, EID3)
5700 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5701 IID2 == EID2) && (IID3 == EID3))))
5702 {
5703 STS4 = 0x06
5704 Return (Arg3)
5705 }
5706
5707 If ((Arg1 != 0x01))
5708 {
5709 STS4 = 0x0A
5710 Return (Arg3)
5711 }
5712
5713 PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4._OSC.CAP4 */
5714 If ((CFGD & 0x01))
5715 {
5716 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5717 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5718 ((PDC4 & 0x09) == 0x09)) && !(SDTL & 0x0100)))
5719 {
5720 SDTL |= 0x0100
5721 OperationRegion (IST4, SystemMemory, DerefOf (SSDT [0x19]), DerefOf (SSDT [0x1A]))
5722 Load (IST4, HI4) /* \_PR_.CPU4.HI4_ */
5723 }
5724 }
5725
5726 If ((CFGD & 0xF0))
5727 {
5728 If ((((CFGD & 0x01000000) && (PDC4 & 0x18)) && !
5729 (SDTL & 0x0200)))
5730 {
5731 SDTL |= 0x0200
5732 OperationRegion (CST4, SystemMemory, DerefOf (SSDT [0x1F]), DerefOf (SSDT [0x20]))
5733 Load (CST4, HC4) /* \_PR_.CPU4.HC4_ */
5734 }
5735 }
5736
5737 Return (Arg3)
5738 }
5739 }
5740
5741 Scope (\_PR.CPU5)
5742 {
5743 Name (HI5, 0x00)
5744 Name (HC5, 0x00)
5745 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5746 {
5747 CreateDWordField (Arg0, 0x00, REVS)
5748 CreateDWordField (Arg0, 0x04, SIZE)
5749 Local0 = SizeOf (Arg0)
5750 Local1 = (Local0 - 0x08)
5751 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5752 Name (STS5, Buffer (0x04)
5753 {
5754 0x00, 0x00, 0x00, 0x00 /* .... */
5755 })
5756 Concatenate (STS5, TEMP, Local2)
5757 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5758 }
5759
5760 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5761 {
5762 CreateDWordField (Arg3, 0x00, STS5)
5763 CreateDWordField (Arg3, 0x04, CAP5)
5764 CreateDWordField (Arg0, 0x00, IID0)
5765 CreateDWordField (Arg0, 0x04, IID1)
5766 CreateDWordField (Arg0, 0x08, IID2)
5767 CreateDWordField (Arg0, 0x0C, IID3)
5768 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5769 CreateDWordField (UID1, 0x00, EID0)
5770 CreateDWordField (UID1, 0x04, EID1)
5771 CreateDWordField (UID1, 0x08, EID2)
5772 CreateDWordField (UID1, 0x0C, EID3)
5773 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5774 IID2 == EID2) && (IID3 == EID3))))
5775 {
5776 STS5 = 0x06
5777 Return (Arg3)
5778 }
5779
5780 If ((Arg1 != 0x01))
5781 {
5782 STS5 = 0x0A
5783 Return (Arg3)
5784 }
5785
5786 PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5._OSC.CAP5 */
5787 If ((CFGD & 0x01))
5788 {
5789 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5790 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5791 ((PDC5 & 0x09) == 0x09)) && !(SDTL & 0x0400)))
5792 {
5793 SDTL |= 0x0400
5794 OperationRegion (IST5, SystemMemory, DerefOf (SSDT [0x1C]), DerefOf (SSDT [0x1D]))
5795 Load (IST5, HI5) /* \_PR_.CPU5.HI5_ */
5796 }
5797 }
5798
5799 If ((CFGD & 0xF0))
5800 {
5801 If ((((CFGD & 0x01000000) && (PDC5 & 0x18)) && !
5802 (SDTL & 0x0800)))
5803 {
5804 SDTL |= 0x0800
5805 OperationRegion (CST5, SystemMemory, DerefOf (SSDT [0x22]), DerefOf (SSDT [0x23]))
5806 Load (CST5, HC5) /* \_PR_.CPU5.HC5_ */
5807 }
5808 }
5809
5810 Return (Arg3)
5811 }
5812 }
5813
5814 Scope (\_PR.CPU6)
5815 {
5816 Name (HI6, 0x00)
5817 Name (HC6, 0x00)
5818 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5819 {
5820 CreateDWordField (Arg0, 0x00, REVS)
5821 CreateDWordField (Arg0, 0x04, SIZE)
5822 Local0 = SizeOf (Arg0)
5823 Local1 = (Local0 - 0x08)
5824 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5825 Name (STS6, Buffer (0x04)
5826 {
5827 0x00, 0x00, 0x00, 0x00 /* .... */
5828 })
5829 Concatenate (STS6, TEMP, Local2)
5830 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5831 }
5832
5833 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5834 {
5835 CreateDWordField (Arg3, 0x00, STS6)
5836 CreateDWordField (Arg3, 0x04, CAP6)
5837 CreateDWordField (Arg0, 0x00, IID0)
5838 CreateDWordField (Arg0, 0x04, IID1)
5839 CreateDWordField (Arg0, 0x08, IID2)
5840 CreateDWordField (Arg0, 0x0C, IID3)
5841 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5842 CreateDWordField (UID1, 0x00, EID0)
5843 CreateDWordField (UID1, 0x04, EID1)
5844 CreateDWordField (UID1, 0x08, EID2)
5845 CreateDWordField (UID1, 0x0C, EID3)
5846 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5847 IID2 == EID2) && (IID3 == EID3))))
5848 {
5849 STS6 = 0x06
5850 Return (Arg3)
5851 }
5852
5853 If ((Arg1 != 0x01))
5854 {
5855 STS6 = 0x0A
5856 Return (Arg3)
5857 }
5858
5859 PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6._OSC.CAP6 */
5860 If ((CFGD & 0x01))
5861 {
5862 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5863 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5864 ((PDC6 & 0x09) == 0x09)) && !(SDTL & 0x1000)))
5865 {
5866 SDTL |= 0x1000
5867 OperationRegion (IST6, SystemMemory, DerefOf (SSDT [0x25]), DerefOf (SSDT [0x26]))
5868 Load (IST6, HI6) /* \_PR_.CPU6.HI6_ */
5869 }
5870 }
5871
5872 If ((CFGD & 0xF0))
5873 {
5874 If ((((CFGD & 0x01000000) && (PDC6 & 0x18)) && !
5875 (SDTL & 0x2000)))
5876 {
5877 SDTL |= 0x2000
5878 OperationRegion (CST6, SystemMemory, DerefOf (SSDT [0x2B]), DerefOf (SSDT [0x2C]))
5879 Load (CST6, HC6) /* \_PR_.CPU6.HC6_ */
5880 }
5881 }
5882
5883 Return (Arg3)
5884 }
5885 }
5886
5887 Scope (\_PR.CPU7)
5888 {
5889 Name (HI7, 0x00)
5890 Name (HC7, 0x00)
5891 Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
5892 {
5893 CreateDWordField (Arg0, 0x00, REVS)
5894 CreateDWordField (Arg0, 0x04, SIZE)
5895 Local0 = SizeOf (Arg0)
5896 Local1 = (Local0 - 0x08)
5897 CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP)
5898 Name (STS7, Buffer (0x04)
5899 {
5900 0x00, 0x00, 0x00, 0x00 /* .... */
5901 })
5902 Concatenate (STS7, TEMP, Local2)
5903 _OSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)
5904 }
5905
5906 Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
5907 {
5908 CreateDWordField (Arg3, 0x00, STS7)
5909 CreateDWordField (Arg3, 0x04, CAP7)
5910 CreateDWordField (Arg0, 0x00, IID0)
5911 CreateDWordField (Arg0, 0x04, IID1)
5912 CreateDWordField (Arg0, 0x08, IID2)
5913 CreateDWordField (Arg0, 0x0C, IID3)
5914 Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
5915 CreateDWordField (UID1, 0x00, EID0)
5916 CreateDWordField (UID1, 0x04, EID1)
5917 CreateDWordField (UID1, 0x08, EID2)
5918 CreateDWordField (UID1, 0x0C, EID3)
5919 If (!(((IID0 == EID0) && (IID1 == EID1)) && ((
5920 IID2 == EID2) && (IID3 == EID3))))
5921 {
5922 STS7 = 0x06
5923 Return (Arg3)
5924 }
5925
5926 If ((Arg1 != 0x01))
5927 {
5928 STS7 = 0x0A
5929 Return (Arg3)
5930 }
5931
5932 PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7._OSC.CAP7 */
5933 If ((CFGD & 0x01))
5934 {
5935 If ((((((CFGD & 0x08000000) | (CFGD & 0x04000000
5936 )) | ((CFGD & 0x01000000) | (CFGD & 0x02000000))) &&
5937 ((PDC7 & 0x09) == 0x09)) && !(SDTL & 0x4000)))
5938 {
5939 SDTL |= 0x4000
5940 OperationRegion (IST7, SystemMemory, DerefOf (SSDT [0x28]), DerefOf (SSDT [0x29]))
5941 Load (IST7, HI7) /* \_PR_.CPU7.HI7_ */
5942 }
5943 }
5944
5945 If ((CFGD & 0xF0))
5946 {
5947 If ((((CFGD & 0x01000000) && (PDC7 & 0x18)) && !
5948 (SDTL & 0x8000)))
5949 {
5950 SDTL |= 0x8000
5951 OperationRegion (CST7, SystemMemory, DerefOf (SSDT [0x2E]), DerefOf (SSDT [0x2F]))
5952 Load (CST7, HC7) /* \_PR_.CPU7.HC7_ */
5953 }
5954 }
5955
5956 Return (Arg3)
5957 }
5958 }
5959 }
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.