Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2009
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 289.44 KB | None | 0 0
  1. /*
  2. RSD PTR: OEM=DELL, ACPI_Rev=2.0x (2)
  3. XSDT=0x7fed67a0, length=36, cksum=105
  4. */
  5. /*
  6. XSDT: Length=148, Revision=1, Checksum=150,
  7. OEMID=DELL, OEM Table ID=M08, OEM Revision=0x6040000,
  8. Creator ID= LTP, Creator Revision=0x0
  9. Entries={ 0x7fedeb60, 0x7fedec54, 0x7fedecbc, 0x7fedecf4, 0x7feded30, 0x7feded62, 0x7feded88, 0x7fededfa, 0x7fedee62, 0x7fedee8a, 0x7fed798e, 0x7fed6dc0, 0x7fed6d1a, 0x7fed6834 }
  10. */
  11. /*
  12. FACP: Length=244, Revision=3, Checksum=238,
  13. OEMID=TOSCPL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000,
  14. Creator ID=ALAN, Creator Revision=0x1
  15. FACS=0x7fee2fc0, DSDT=0x7fed7c3b
  16. INT_MODEL=PIC
  17. Preferred_PM_Profile=Mobile (2)
  18. SCI_INT=9
  19. SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
  20. PSTATE_CNT=0x80
  21. PM1a_EVT_BLK=0x1000-0x1003
  22. PM1a_CNT_BLK=0x1004-0x1005
  23. PM2_CNT_BLK=0x1020-0x1020
  24. PM_TMR_BLK=0x1008-0x100b
  25. GPE0_BLK=0x1028-0x102f
  26. CST_CNT=0x85
  27. P_LVL2_LAT=1 us, P_LVL3_LAT=35 us
  28. FLUSH_SIZE=0, FLUSH_STRIDE=0
  29. DUTY_OFFSET=1, DUTY_WIDTH=3
  30. DAY_ALRM=13, MON_ALRM=0, CENTURY=50
  31. IAPC_BOOT_ARCH=
  32. Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
  33. X_FACS=0x7fee2fc0, X_DSDT=0x7fed7c3b
  34. X_PM1a_EVT_BLK=0x1000:0[32] (IO)
  35. X_PM1a_CNT_BLK=0x1004:0[16] (IO)
  36. X_PM_TMR_BLK=0x1008:0[32] (IO)
  37. X_GPE0_BLK=0x1028:0[64] (IO)
  38. */
  39. /*
  40. FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
  41. Global_Lock=
  42. Flags=
  43. Version=1
  44. */
  45. /*
  46. DSDT: Length=28337, Revision=2, Checksum=61,
  47. OEMID=TOSCPL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000,
  48. Creator ID=INTL, Creator Revision=0x20060608
  49. */
  50. /*
  51. APIC: Length=104, Revision=1, Checksum=204,
  52. OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000,
  53. Creator ID=LOHR, Creator Revision=0x5a
  54. Local APIC ADDR=0xfee00000
  55. Flags={PC-AT}
  56.  
  57. Type=Local APIC
  58. ACPI CPU=0
  59. Flags={ENABLED}
  60. APIC ID=0
  61.  
  62. Type=Local APIC
  63. ACPI CPU=1
  64. Flags={ENABLED}
  65. APIC ID=1
  66.  
  67. Type=IO APIC
  68. APIC ID=1
  69. INT BASE=0
  70. ADDR=0x00000000fec00000
  71.  
  72. Type=INT Override
  73. BUS=0
  74. IRQ=0
  75. INTR=2
  76. Flags={Polarity=conforming, Trigger=conforming}
  77.  
  78. Type=INT Override
  79. BUS=0
  80. IRQ=9
  81. INTR=9
  82. Flags={Polarity=active-hi, Trigger=level}
  83.  
  84. Type=Local NMI
  85. ACPI CPU=0
  86. LINT Pin=1
  87. Flags={Polarity=active-hi, Trigger=edge}
  88.  
  89. Type=Local NMI
  90. ACPI CPU=1
  91. LINT Pin=1
  92. Flags={Polarity=active-hi, Trigger=edge}
  93. */
  94. /*
  95. HPET: Length=56, Revision=1, Checksum=10,
  96. OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000,
  97. Creator ID=LOHR, Creator Revision=0x5a
  98. HPET Number=0
  99. ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1
  100. Comparitors=2
  101. Counter Size=1
  102. Legacy IRQ routing capable={TRUE}
  103. PCI Vendor ID=0x8086
  104. Minimal Tick=128
  105. */
  106. /*
  107. MCFG: Length=60, Revision=1, Checksum=50,
  108. OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000,
  109. Creator ID=LOHR, Creator Revision=0x5a
  110.  
  111. Base Address= 0x00000000e0000000
  112. Segment Group= 0x0000
  113. Start Bus= 0
  114. End Bus= 255
  115. */
  116. /*
  117. TCPA: Length=50, Revision=1, Checksum=143,
  118. OEMID=Intel, OEM Table ID=CRESTLNE, OEM Revision=0x6040000,
  119. Creator ID=LOHR, Creator Revision=0x5a
  120. */
  121. /*
  122. TMOR: Length=38, Revision=1, Checksum=235,
  123. OEMID=PTLTD, OEM Table ID=, OEM Revision=0x6040000,
  124. Creator ID=PTL, Creator Revision=0x3
  125. */
  126. /*
  127. OSFR: Length=114, Revision=1, Checksum=108,
  128. OEMID=TOSHIB, OEM Table ID=A+2nd ID, OEM Revision=0x6040000,
  129. Creator ID=TASM, Creator Revision=0x4010000
  130. */
  131. /*
  132. APIC: Length=104, Revision=1, Checksum=19,
  133. OEMID=PTLTD, OEM Table ID= APIC, OEM Revision=0x6040000,
  134. Creator ID= LTP, Creator Revision=0x0
  135. Local APIC ADDR=0xfee00000
  136. Flags={PC-AT}
  137.  
  138. Type=Local APIC
  139. ACPI CPU=0
  140. Flags={ENABLED}
  141. APIC ID=0
  142.  
  143. Type=Local APIC
  144. ACPI CPU=1
  145. Flags={ENABLED}
  146. APIC ID=1
  147.  
  148. Type=IO APIC
  149. APIC ID=2
  150. INT BASE=0
  151. ADDR=0x00000000fec00000
  152.  
  153. Type=Local NMI
  154. ACPI CPU=0
  155. LINT Pin=1
  156. Flags={Polarity=active-hi, Trigger=edge}
  157.  
  158. Type=Local NMI
  159. ACPI CPU=1
  160. LINT Pin=1
  161. Flags={Polarity=active-hi, Trigger=edge}
  162.  
  163. Type=INT Override
  164. BUS=0
  165. IRQ=0
  166. INTR=2
  167. Flags={Polarity=active-hi, Trigger=edge}
  168.  
  169. Type=INT Override
  170. BUS=0
  171. IRQ=9
  172. INTR=9
  173. Flags={Polarity=active-hi, Trigger=level}
  174. */
  175. /*
  176. BOOT: Length=40, Revision=1, Checksum=165,
  177. OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000,
  178. Creator ID= LTP, Creator Revision=0x1
  179. */
  180. /*
  181. SLIC: Length=374, Revision=1, Checksum=55,
  182. OEMID=DELL, OEM Table ID=M08, OEM Revision=0x6040000,
  183. Creator ID= LTP, Creator Revision=0x0
  184. */
  185. /*
  186. SSDT: Length=685, Revision=1, Checksum=104,
  187. OEMID=SataRe, OEM Table ID=SataAhci, OEM Revision=0x1000,
  188. Creator ID=INTL, Creator Revision=0x20061109
  189. */
  190. /*
  191. SSDT: Length=607, Revision=1, Checksum=215,
  192. OEMID=PmRef, OEM Table ID=Cpu0Tst, OEM Revision=0x3000,
  193. Creator ID=INTL, Creator Revision=0x20061109
  194. */
  195. /*
  196. SSDT: Length=166, Revision=1, Checksum=124,
  197. OEMID=PmRef, OEM Table ID=Cpu1Tst, OEM Revision=0x3000,
  198. Creator ID=INTL, Creator Revision=0x20061109
  199. */
  200. /*
  201. SSDT: Length=1254, Revision=1, Checksum=155,
  202. OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
  203. Creator ID=INTL, Creator Revision=0x20061109
  204. */
  205. /*
  206. * Intel ACPI Component Architecture
  207. * AML Disassembler version 20070320
  208. *
  209. * Disassembly of /tmp/acpidump.z8pElU, Wed Jun 3 00:24:25 2009
  210. *
  211. *
  212. * Original Table Header:
  213. * Signature "DSDT"
  214. * Length 0x000078B9 (30905)
  215. * Revision 0x02
  216. * OEM ID "TOSCPL"
  217. * OEM Table ID "CRESTLNE"
  218. * OEM Revision 0x06040000 (100925440)
  219. * Creator ID "INTL"
  220. * Creator Revision 0x20060608 (537265672)
  221. */
  222. DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 2, "TOSCPL", "CRESTLNE", 0x06040000)
  223. {
  224. External (_PSS, IntObj)
  225. External (^CPU0._PPC)
  226.  
  227. Name (Z000, One)
  228. Name (Z001, 0x02)
  229. Name (Z002, 0x04)
  230. Name (Z003, 0x08)
  231. Name (Z004, Zero)
  232. Name (Z005, 0x0F)
  233. Name (Z006, 0x0D)
  234. Name (Z007, 0x0B)
  235. Name (Z008, 0x09)
  236. Name (ECDY, Zero)
  237. Name (WFLG, Zero)
  238. Name (FLID, Zero)
  239. OperationRegion (EJC1, SystemIO, 0x01F2, 0x06)
  240. Field (EJC1, ByteAcc, NoLock, Preserve)
  241. {
  242. E1F2, 8,
  243. E1F3, 8,
  244. E1F4, 8,
  245. E1F5, 8,
  246. E1F6, 8,
  247. E1F7, 8
  248. }
  249.  
  250. Mutex (MUTX, 0x00)
  251. Name (SLID, Zero)
  252. OperationRegion (PRT0, SystemIO, 0x80, 0x04)
  253. Field (PRT0, DWordAcc, Lock, Preserve)
  254. {
  255. P80H, 32
  256. }
  257.  
  258. Method (P8XH, 2, Serialized)
  259. {
  260. If (LEqual (Arg0, Zero))
  261. {
  262. Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
  263. }
  264.  
  265. If (LEqual (Arg0, One))
  266. {
  267. Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
  268. ), P80D)
  269. }
  270.  
  271. If (LEqual (Arg0, 0x02))
  272. {
  273. Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
  274. ), P80D)
  275. }
  276.  
  277. If (LEqual (Arg0, 0x03))
  278. {
  279. Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
  280. ), P80D)
  281. }
  282.  
  283. Store (P80D, P80H)
  284. }
  285.  
  286. Method (_PIC, 1, NotSerialized)
  287. {
  288. Store (Arg0, GPIC)
  289. }
  290.  
  291. Method (_PTS, 1, NotSerialized)
  292. {
  293. Store (Zero, P80D)
  294. P8XH (Zero, Arg0)
  295. If (LEqual (Arg0, 0x05))
  296. {
  297. Store (Zero, \_SB.PCI0.LPCB.EC0.SLPN)
  298. Store (\_SB.PCI0.LPCB.EC0.SYS7, \_SB.PCI0.LPCB.EC0.PWAK)
  299. \_SB.PHSR (0x4B)
  300. }
  301.  
  302. If (LEqual (Arg0, 0x04))
  303. {
  304. Store (One, \_SB.PCI0.LPCB.EC0.SLPN)
  305. Store (\_SB.PCI0.LPCB.EC0.SYS7, \_SB.PCI0.LPCB.EC0.PWAK)
  306. Store (WFLG, \_SB.PCI0.LPCB.EC0.LWAK)
  307. \_SB.PCI0.LPCB.PHSS (0x0E)
  308. }
  309.  
  310. If (LEqual (Arg0, 0x03))
  311. {
  312. Store (One, \_SB.PCI0.LPCB.EC0.SLPN)
  313. Store (\_SB.PCI0.LPCB.EC0.SYS7, \_SB.PCI0.LPCB.EC0.PWAK)
  314. Store (WFLG, \_SB.PCI0.LPCB.EC0.LWAK)
  315. Store (SLID, \_SB.PCI0.LPCB.EC0.LIDW)
  316. }
  317.  
  318. If (IGDS)
  319. {
  320. If (LEqual (Arg0, 0x05))
  321. {
  322. \_SB.PCI0.LPCB.PHSS (0x8F)
  323. }
  324. }
  325. }
  326.  
  327. Method (_WAK, 1, NotSerialized)
  328. {
  329. P8XH (One, 0xAB)
  330. If (LEqual (Arg0, 0x03))
  331. {
  332. If (LOr (LEqual (OSYS, 0x07D1), LEqual (OSYS, 0x07D2)))
  333. {
  334. TRAP (0x3E)
  335. }
  336. }
  337.  
  338. If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  339. {
  340. If (And (CFGD, 0x01000000))
  341. {
  342. If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))
  343. {
  344. TRAP (0x3D)
  345. }
  346. }
  347. }
  348.  
  349. If (LEqual (RP1D, Zero))
  350. {
  351. Notify (\_SB.PCI0.RP01, Zero)
  352. }
  353.  
  354. If (LEqual (RP2D, Zero))
  355. {
  356. Notify (\_SB.PCI0.RP02, Zero)
  357. }
  358.  
  359. If (LEqual (RP3D, Zero))
  360. {
  361. Notify (\_SB.PCI0.RP03, Zero)
  362. }
  363.  
  364. If (LEqual (RP4D, Zero))
  365. {
  366. Notify (\_SB.PCI0.RP04, Zero)
  367. }
  368.  
  369. If (LEqual (RP5D, Zero))
  370. {
  371. Notify (\_SB.PCI0.RP05, Zero)
  372. }
  373.  
  374. If (LEqual (RP6D, Zero))
  375. {
  376. Notify (\_SB.PCI0.RP06, Zero)
  377. }
  378.  
  379. If (LEqual (Arg0, 0x03))
  380. {
  381. P8XH (Zero, 0x30)
  382. TRAP (0x46)
  383. }
  384.  
  385. If (LEqual (Arg0, 0x04))
  386. {
  387. P8XH (Zero, 0x40)
  388. \_SB.PCI0.LPCB.PHSS (0x0F)
  389. Store (WAKF, Local0)
  390. Store (Zero, WAKF)
  391. And (Local0, 0x05, Local0)
  392. If (LEqual (Local0, One))
  393. {
  394. P8XH (Zero, 0x41)
  395. Notify (\_SB.PWRB, 0x02)
  396. }
  397.  
  398. If (DTSE)
  399. {
  400. TRAP (0x47)
  401. If (LAnd (\_SB.PCI0.LPCB.ECOK (), LEqual (ECDY, Zero)))
  402. {
  403. If (LGreaterEqual (DTS1, DTS2))
  404. {
  405. Store (DTS1, \_SB.PCI0.LPCB.EC0.SKTA)
  406. }
  407. Else
  408. {
  409. Store (DTS2, \_SB.PCI0.LPCB.EC0.SKTA)
  410. }
  411. }
  412. Else
  413. {
  414. \_SB.PCI0.LPCB.PHSS (0x10)
  415. }
  416. }
  417. }
  418.  
  419. \_PR.RPPC ()
  420. Return (Package (0x02)
  421. {
  422. Zero,
  423. Zero
  424. })
  425. }
  426.  
  427. Method (GETB, 3, Serialized)
  428. {
  429. Multiply (Arg0, 0x08, Local0)
  430. Multiply (Arg1, 0x08, Local1)
  431. CreateField (Arg2, Local0, Local1, TBF3)
  432. Return (TBF3)
  433. }
  434.  
  435. Method (PNOT, 0, Serialized)
  436. {
  437. If (MPEN)
  438. {
  439. If (And (PDC0, 0x08))
  440. {
  441. Notify (\_PR.CPU0, 0x80)
  442. If (And (PDC0, 0x10))
  443. {
  444. Sleep (0x64)
  445. Notify (\_PR.CPU0, 0x81)
  446. }
  447. }
  448.  
  449. If (And (PDC1, 0x08))
  450. {
  451. Notify (\_PR.CPU1, 0x80)
  452. If (And (PDC1, 0x10))
  453. {
  454. Sleep (0x64)
  455. Notify (\_PR.CPU1, 0x81)
  456. }
  457. }
  458. }
  459. Else
  460. {
  461. Notify (\_PR.CPU0, 0x80)
  462. Sleep (0x64)
  463. Notify (\_PR.CPU0, 0x81)
  464. }
  465. }
  466.  
  467. Method (TRAP, 1, Serialized)
  468. {
  469. Store (Arg0, SMIF)
  470. Store (Zero, TRP0)
  471. Return (SMIF)
  472. }
  473.  
  474. Scope (_SB)
  475. {
  476. Method (_INI, 0, NotSerialized)
  477. {
  478. Store (0x9999, MARK)
  479. If (DTSE)
  480. {
  481. TRAP (0x47)
  482. ^PCI0.LPCB.PHSS (0x10)
  483. }
  484.  
  485. Store (0x07D0, OSYS)
  486. If (CondRefOf (_OSI, Local0))
  487. {
  488. If (_OSI ("Linux"))
  489. {
  490. Store (One, LINX)
  491. Store (Zero, ECDY)
  492. }
  493.  
  494. If (_OSI ("Windows 2001"))
  495. {
  496. Store (0x07D1, OSYS)
  497. }
  498.  
  499. If (_OSI ("Windows 2001 SP1"))
  500. {
  501. Store (0x07D1, OSYS)
  502. }
  503.  
  504. If (_OSI ("Windows 2001 SP2"))
  505. {
  506. Store (0x07D2, OSYS)
  507. }
  508.  
  509. If (_OSI ("Windows 2006"))
  510. {
  511. Store (0x07D6, OSYS)
  512. }
  513. }
  514.  
  515. If (LAnd (MPEN, LEqual (OSYS, 0x07D1)))
  516. {
  517. TRAP (0x3D)
  518. }
  519.  
  520. TRAP (0x2B)
  521. }
  522. }
  523.  
  524. OperationRegion (GNVS, SystemMemory, 0x7FEE1E3C, 0x0100)
  525. Field (GNVS, AnyAcc, Lock, Preserve)
  526. {
  527. OSYS, 16,
  528. SMIF, 8,
  529. PRM0, 8,
  530. PRM1, 8,
  531. SCIF, 8,
  532. PRM2, 8,
  533. PRM3, 8,
  534. LCKF, 8,
  535. PRM4, 8,
  536. PRM5, 8,
  537. P80D, 32,
  538. LIDS, 8,
  539. PWRS, 8,
  540. DBGS, 8,
  541. LINX, 8,
  542. Offset (0x14),
  543. ACT1, 8,
  544. ACTT, 8,
  545. PSVT, 8,
  546. TC1V, 8,
  547. TC2V, 8,
  548. TSPV, 8,
  549. CRTT, 8,
  550. DTSE, 8,
  551. DTS1, 8,
  552. DTS2, 8,
  553. Offset (0x28),
  554. APIC, 8,
  555. MPEN, 8,
  556. PCP0, 8,
  557. PCP1, 8,
  558. PPCM, 8,
  559. Offset (0x32),
  560. CMAP, 8,
  561. CMBP, 8,
  562. LPTP, 8,
  563. FDCP, 8,
  564. Offset (0x3C),
  565. IGDS, 8,
  566. TLST, 8,
  567. CADL, 8,
  568. PADL, 8,
  569. CSTE, 16,
  570. NSTE, 16,
  571. SSTE, 16,
  572. NDID, 8,
  573. DID1, 32,
  574. DID2, 32,
  575. DID3, 32,
  576. DID4, 32,
  577. DID5, 32,
  578. Offset (0x67),
  579. BLCS, 8,
  580. BRTL, 8,
  581. ALSE, 8,
  582. ALAF, 8,
  583. LLOW, 8,
  584. LHIH, 8,
  585. Offset (0x6E),
  586. EMAE, 8,
  587. EMAP, 16,
  588. EMAL, 16,
  589. Offset (0x74),
  590. MEFE, 8,
  591. Offset (0x78),
  592. TPMP, 8,
  593. TPME, 8,
  594. Offset (0x82),
  595. GTF0, 56,
  596. GTF2, 56,
  597. IDEM, 8,
  598. GTF1, 56,
  599. Offset (0xAA),
  600. ASLB, 32,
  601. IBTT, 8,
  602. IPAT, 8,
  603. ITVF, 8,
  604. ITVM, 8,
  605. IPSC, 8,
  606. IBLC, 8,
  607. IBIA, 8,
  608. ISSC, 8,
  609. I409, 8,
  610. I509, 8,
  611. I609, 8,
  612. I709, 8,
  613. IDMM, 8,
  614. IDMS, 8,
  615. IF1E, 8,
  616. HVCO, 8,
  617. NXD1, 32,
  618. NXD2, 32,
  619. MARK, 16,
  620. BRAD, 8,
  621. BTEN, 8,
  622. VVEN, 8,
  623. BGTL, 8,
  624. TMEE, 1,
  625. Offset (0xCD),
  626. SCU0, 1,
  627. SCU1, 1,
  628. SCU2, 1,
  629. SCU3, 1,
  630. Offset (0xCE),
  631. XKSP, 1,
  632. XKIN, 1,
  633. XKID, 1,
  634. XKOK, 1,
  635. Offset (0xCF),
  636. BGU1, 8,
  637. BST1, 8,
  638. BFC1, 16,
  639. WKLN, 8,
  640. WAKF, 8,
  641. DSMD, 8,
  642. BAYS, 8,
  643. HAPE, 1,
  644. Offset (0xD8),
  645. DTSM, 1,
  646. Offset (0xD9),
  647. ODT1, 8,
  648. ODT2, 8,
  649. DTSW, 8,
  650. HORZ, 16,
  651. VERT, 16,
  652. OES1, 8,
  653. OES2, 8,
  654. HDPT, 8,
  655. TVFM, 8
  656. }
  657.  
  658. Name (DSEN, One)
  659. Name (ECON, Zero)
  660. Name (GPIC, Zero)
  661. Name (CTYP, Zero)
  662. Name (L01C, Zero)
  663. Name (VFN0, Zero)
  664. Name (VFN1, Zero)
  665. Scope (_GPE)
  666. {
  667. Method (_L01, 0, NotSerialized)
  668. {
  669. Add (L01C, One, L01C)
  670. P8XH (Zero, One)
  671. P8XH (One, L01C)
  672. If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX))
  673. {
  674. Sleep (0x64)
  675. If (\_SB.PCI0.RP01.PDCX)
  676. {
  677. Store (One, \_SB.PCI0.RP01.PDCX)
  678. Store (One, \_SB.PCI0.RP01.HPSX)
  679. Notify (\_SB.PCI0.RP01, Zero)
  680. }
  681. Else
  682. {
  683. Store (One, \_SB.PCI0.RP01.HPSX)
  684. }
  685. }
  686.  
  687. If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX))
  688. {
  689. Sleep (0x64)
  690. If (\_SB.PCI0.RP02.PDCX)
  691. {
  692. Store (One, \_SB.PCI0.RP02.PDCX)
  693. Store (One, \_SB.PCI0.RP02.HPSX)
  694. Notify (\_SB.PCI0.RP02, Zero)
  695. }
  696. Else
  697. {
  698. Store (One, \_SB.PCI0.RP02.HPSX)
  699. }
  700. }
  701.  
  702. If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX))
  703. {
  704. Sleep (0x64)
  705. If (\_SB.PCI0.RP03.PDCX)
  706. {
  707. Store (One, \_SB.PCI0.RP03.PDCX)
  708. Store (One, \_SB.PCI0.RP03.HPSX)
  709. Notify (\_SB.PCI0.RP03, Zero)
  710. }
  711. Else
  712. {
  713. Store (One, \_SB.PCI0.RP03.HPSX)
  714. }
  715. }
  716.  
  717. If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX))
  718. {
  719. Sleep (0x64)
  720. If (\_SB.PCI0.RP04.PDCX)
  721. {
  722. Store (One, \_SB.PCI0.RP04.PDCX)
  723. Store (One, \_SB.PCI0.RP04.HPSX)
  724. Notify (\_SB.PCI0.RP04, Zero)
  725. }
  726. Else
  727. {
  728. Store (One, \_SB.PCI0.RP04.HPSX)
  729. }
  730. }
  731.  
  732. If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX))
  733. {
  734. Sleep (0x64)
  735. If (\_SB.PCI0.RP05.PDCX)
  736. {
  737. Store (One, \_SB.PCI0.RP05.PDCX)
  738. Store (One, \_SB.PCI0.RP05.HPSX)
  739. Notify (\_SB.PCI0.RP05, Zero)
  740. }
  741. Else
  742. {
  743. Store (One, \_SB.PCI0.RP05.HPSX)
  744. }
  745. }
  746.  
  747. If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX))
  748. {
  749. Sleep (0x64)
  750. If (\_SB.PCI0.RP06.PDCX)
  751. {
  752. Store (One, \_SB.PCI0.RP06.PDCX)
  753. Store (One, \_SB.PCI0.RP06.HPSX)
  754. Notify (\_SB.PCI0.RP06, Zero)
  755. }
  756. Else
  757. {
  758. Store (One, \_SB.PCI0.RP06.HPSX)
  759. }
  760. }
  761. }
  762.  
  763. Method (_L03, 0, NotSerialized)
  764. {
  765. Notify (\_SB.PCI0.USB1, 0x02)
  766. }
  767.  
  768. Method (_L04, 0, NotSerialized)
  769. {
  770. Notify (\_SB.PCI0.USB2, 0x02)
  771. }
  772.  
  773. Method (_L05, 0, NotSerialized)
  774. {
  775. Notify (\_SB.PCI0.USB5, 0x02)
  776. }
  777.  
  778. Method (_L06, 0, NotSerialized)
  779. {
  780. If (\_SB.PCI0.GFX0.GSSE)
  781. {
  782. \_SB.PCI0.GFX0.GSCI ()
  783. }
  784. Else
  785. {
  786. Store (One, SCIS)
  787. }
  788. }
  789.  
  790. Method (_L09, 0, NotSerialized)
  791. {
  792. If (\_SB.PCI0.RP01.PSPX)
  793. {
  794. Store (One, \_SB.PCI0.RP01.PSPX)
  795. Store (One, \_SB.PCI0.RP01.PMSX)
  796. Notify (\_SB.PCI0.RP01, 0x02)
  797. }
  798.  
  799. If (\_SB.PCI0.RP02.PSPX)
  800. {
  801. Store (One, \_SB.PCI0.RP02.PSPX)
  802. Store (One, \_SB.PCI0.RP02.PMSX)
  803. Notify (\_SB.PCI0.RP02, 0x02)
  804. }
  805.  
  806. If (\_SB.PCI0.RP03.PSPX)
  807. {
  808. Store (One, \_SB.PCI0.RP03.PSPX)
  809. Store (One, \_SB.PCI0.RP03.PMSX)
  810. Notify (\_SB.PCI0.RP03, 0x02)
  811. }
  812.  
  813. If (\_SB.PCI0.RP04.PSPX)
  814. {
  815. Store (One, \_SB.PCI0.RP04.PSPX)
  816. Store (One, \_SB.PCI0.RP04.PMSX)
  817. Notify (\_SB.PCI0.RP04, 0x02)
  818. }
  819.  
  820. If (\_SB.PCI0.RP05.PSPX)
  821. {
  822. Store (One, \_SB.PCI0.RP05.PSPX)
  823. Store (One, \_SB.PCI0.RP05.PMSX)
  824. Notify (\_SB.PCI0.RP05, 0x02)
  825. }
  826.  
  827. If (\_SB.PCI0.RP06.PSPX)
  828. {
  829. Store (One, \_SB.PCI0.RP06.PSPX)
  830. Store (One, \_SB.PCI0.RP06.PMSX)
  831. Notify (\_SB.PCI0.RP06, 0x02)
  832. }
  833. }
  834.  
  835. Method (_L0B, 0, NotSerialized)
  836. {
  837. Notify (\_SB.PCI0.PCIB, 0x02)
  838. }
  839.  
  840. Method (_L0C, 0, NotSerialized)
  841. {
  842. Notify (\_SB.PCI0.USB3, 0x02)
  843. }
  844.  
  845. Method (_L0D, 0, NotSerialized)
  846. {
  847. If (\_SB.PCI0.EHC1.PMES)
  848. {
  849. Store (One, \_SB.PCI0.EHC1.PMES)
  850. Notify (\_SB.PCI0.EHC1, 0x02)
  851. }
  852.  
  853. If (\_SB.PCI0.EHC2.PMES)
  854. {
  855. Store (One, \_SB.PCI0.EHC2.PMES)
  856. Notify (\_SB.PCI0.EHC2, 0x02)
  857. }
  858.  
  859. If (\_SB.PCI0.HDEF.PMES)
  860. {
  861. Store (One, \_SB.PCI0.HDEF.PMES)
  862. Notify (\_SB.PCI0.HDEF, 0x02)
  863. }
  864. }
  865.  
  866. Method (_L0E, 0, NotSerialized)
  867. {
  868. Notify (\_SB.PCI0.USB4, 0x02)
  869. }
  870.  
  871. Method (_L1B, 0, NotSerialized)
  872. {
  873. Not (LPOL, LPOL)
  874. If (LEqual (SLID, Zero))
  875. {
  876. If (IGDS)
  877. {
  878. \_SB.PCI0.LPCB.PHSS (0x0C)
  879. Store (CADL, Local0)
  880. Store (CSTE, Local1)
  881. If (LEqual (Local0, 0x09))
  882. {
  883. Store (Local1, P80H)
  884. If (LEqual (P80H, One))
  885. {
  886. If (LEqual (\_SB.PCI0.LPCB.EC0.LIDP, One)) {}
  887. Else
  888. {
  889. If (LEqual (FLID, One))
  890. {
  891. \_SB.PCI0.GFX0.GHDS (0x02)
  892. Store (Zero, FLID)
  893. }
  894. Else
  895. {
  896. }
  897. }
  898. }
  899.  
  900. If (LEqual (P80H, 0x09))
  901. {
  902. If (LEqual (FLID, One))
  903. {
  904. \_SB.PCI0.GFX0.GHDS (0x02)
  905. Store (Zero, FLID)
  906. }
  907. Else
  908. {
  909. Store (Zero, FLID)
  910. }
  911. }
  912.  
  913. If (LEqual (P80H, 0x08))
  914. {
  915. If (LEqual (\_SB.PCI0.LPCB.EC0.LIDP, One))
  916. {
  917. \_SB.PCI0.GFX0.GHDS (0x02)
  918. Store (One, FLID)
  919. }
  920. }
  921. }
  922. }
  923. Else
  924. {
  925. \_SB.PCI0.LPCB.PHSS (0x0C)
  926. Store (CADL, Local0)
  927. Store (CSTE, Local1)
  928. If (LEqual (Local0, 0x03))
  929. {
  930. If (LEqual (Local1, One))
  931. {
  932. \_SB.PCI0.PEGP.VGA.STBL (0x02)
  933. Store (One, FLID)
  934. }
  935.  
  936. If (LEqual (Local1, 0x02))
  937. {
  938. If (LEqual (\_SB.PCI0.LPCB.EC0.LIDP, One)) {}
  939. Else
  940. {
  941. If (LEqual (FLID, Zero))
  942. {
  943. \_SB.PCI0.PEGP.VGA.STBL (0x02)
  944. }
  945. Else
  946. {
  947. \_SB.PCI0.PEGP.VGA.STBL (One)
  948. Store (Zero, FLID)
  949. }
  950. }
  951. }
  952. }
  953. Else
  954. {
  955. \_SB.PCI0.PEGP.VGA.STBL (One)
  956. }
  957. }
  958. }
  959.  
  960. Notify (\_SB.LID0, 0x80)
  961. }
  962. }
  963.  
  964. Scope (_PR)
  965. {
  966. Processor (CPU0, 0x00, 0x00001010, 0x06) {}
  967. Processor (CPU1, 0x01, 0x00001010, 0x06) {}
  968. Method (RPPC, 0, NotSerialized)
  969. {
  970. If (LEqual (OSYS, 0x07D2))
  971. {
  972. If (And (CFGD, One))
  973. {
  974. If (LGreater (^CPU0._PPC, Zero))
  975. {
  976. Subtract (^CPU0._PPC, One, ^CPU0._PPC)
  977. PNOT ()
  978. Add (^CPU0._PPC, One, ^CPU0._PPC)
  979. PNOT ()
  980. }
  981. Else
  982. {
  983. Add (^CPU0._PPC, One, ^CPU0._PPC)
  984. PNOT ()
  985. Subtract (^CPU0._PPC, One, ^CPU0._PPC)
  986. PNOT ()
  987. }
  988. }
  989. }
  990. }
  991. }
  992.  
  993. Name (FWSO, "FWSO")
  994. Name (_PSC, Zero)
  995. Method (_PS0, 0, NotSerialized)
  996. {
  997. Store (_PSC, Local0)
  998. Store (Zero, _PSC)
  999. }
  1000.  
  1001. Method (_PS3, 0, NotSerialized)
  1002. {
  1003. Store (0x03, _PSC)
  1004. }
  1005.  
  1006. Scope (_SB)
  1007. {
  1008. Device (LID0)
  1009. {
  1010. Name (_HID, EisaId ("PNP0C0D"))
  1011. Method (_LID, 0, NotSerialized)
  1012. {
  1013. Return (LPOL)
  1014. }
  1015.  
  1016. Name (_PRW, Package (0x02)
  1017. {
  1018. 0x1B,
  1019. 0x03
  1020. })
  1021. Method (_PSW, 1, NotSerialized)
  1022. {
  1023. Store (Arg0, SLID)
  1024. }
  1025. }
  1026.  
  1027. Device (PWRB)
  1028. {
  1029. Name (_HID, EisaId ("PNP0C0C"))
  1030. }
  1031.  
  1032. Device (SLPB)
  1033. {
  1034. Name (_HID, EisaId ("PNP0C0E"))
  1035. }
  1036.  
  1037. Name (WINF, 0x80)
  1038. Name (WPAK, 0x1000)
  1039. Name (WSMI, 0xE0)
  1040. Name (WMID, 0x57)
  1041. Device (AMW0)
  1042. {
  1043. Mutex (WMIX, 0x01)
  1044. Name (_HID, "PNP0C14")
  1045. Name (_UID, Zero)
  1046. Method (STBY, 3, NotSerialized)
  1047. {
  1048. CreateByteField (Arg0, Arg1, TMP)
  1049. Store (Arg2, TMP)
  1050. }
  1051.  
  1052. Method (STWD, 3, NotSerialized)
  1053. {
  1054. CreateWordField (Arg0, Arg1, TMP)
  1055. Store (Arg2, TMP)
  1056. }
  1057.  
  1058. Method (STDW, 3, NotSerialized)
  1059. {
  1060. CreateDWordField (Arg0, Arg1, TMP)
  1061. Store (Arg2, TMP)
  1062. }
  1063.  
  1064. Method (CLBY, 1, NotSerialized)
  1065. {
  1066. Store (Zero, Local0)
  1067. While (LLess (Local0, SizeOf (Arg0)))
  1068. {
  1069. STBY (Arg0, Local0, Zero)
  1070. Increment (Local0)
  1071. }
  1072. }
  1073.  
  1074. Name (_WDG, Buffer (0x64)
  1075. {
  1076. /* 0000 */ 0xBC, 0xDC, 0x9D, 0x8D, 0x97, 0xA9, 0xDA, 0x11,
  1077. /* 0008 */ 0xB0, 0x12, 0xB6, 0x22, 0xA1, 0xEF, 0x54, 0x92,
  1078. /* 0010 */ 0x41, 0x41, 0x01, 0x00, 0xCE, 0x93, 0x05, 0xA8,
  1079. /* 0018 */ 0x97, 0xA9, 0xDA, 0x11, 0xB0, 0x12, 0xB6, 0x22,
  1080. /* 0020 */ 0xA1, 0xEF, 0x54, 0x92, 0x42, 0x41, 0x01, 0x02,
  1081. /* 0028 */ 0x94, 0x59, 0xBB, 0x9D, 0x97, 0xA9, 0xDA, 0x11,
  1082. /* 0030 */ 0xB0, 0x12, 0xB6, 0x22, 0xA1, 0xEF, 0x54, 0x92,
  1083. /* 0038 */ 0xD0, 0x00, 0x01, 0x08, 0xE0, 0x6C, 0x77, 0xA3,
  1084. /* 0040 */ 0x88, 0x1E, 0xDB, 0x11, 0xA9, 0x8B, 0x08, 0x00,
  1085. /* 0048 */ 0x20, 0x0C, 0x9A, 0x66, 0x42, 0x43, 0x01, 0x00,
  1086. /* 0050 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,
  1087. /* 0058 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,
  1088. /* 0060 */ 0x4D, 0x4F, 0x01, 0x00
  1089. })
  1090. Name (INFO, Buffer (WINF) {})
  1091. Name (ECD0, Zero)
  1092. Method (WED0, 1, NotSerialized)
  1093. {
  1094. Store (Arg0, ECD0)
  1095. Return (Arg0)
  1096. }
  1097.  
  1098. Method (WCAA, 1, NotSerialized)
  1099. {
  1100. Return (Arg0)
  1101. }
  1102.  
  1103. Method (WQAA, 1, NotSerialized)
  1104. {
  1105. Acquire (WMIX, 0xFFFF)
  1106. CLBY (INFO)
  1107. If (LNotEqual (Arg0, Zero))
  1108. {
  1109. Store (INFO, Local1)
  1110. }
  1111. Else
  1112. {
  1113. STDW (INFO, Zero, 0x4C4C4544)
  1114. STDW (INFO, 0x04, 0x494D5720)
  1115. STDW (INFO, 0x08, One)
  1116. STDW (INFO, 0x0C, WPAK)
  1117. Store (INFO, Local1)
  1118. }
  1119.  
  1120. Release (WMIX)
  1121. Return (Local1)
  1122. }
  1123.  
  1124. Method (WSAA, 2, NotSerialized)
  1125. {
  1126. Return (Arg1)
  1127. }
  1128.  
  1129. Method (WMI, 2, NotSerialized)
  1130. {
  1131. Return (PHWM (Arg0, Arg1))
  1132. }
  1133.  
  1134. Method (WMBA, 3, NotSerialized)
  1135. {
  1136. CreateDWordField (Arg2, 0x28, WBUF)
  1137. Add (WBUF, 0x2C, Local1)
  1138. If (LLessEqual (Local1, WPAK))
  1139. {
  1140. Store (WMI (Arg2, Local1), Local0)
  1141. }
  1142.  
  1143. Return (Local0)
  1144. }
  1145.  
  1146. Method (_WED, 1, NotSerialized)
  1147. {
  1148. CLBY (INFO)
  1149. Return (INFO)
  1150. }
  1151.  
  1152. Name (WQMO, Buffer (0x04FD)
  1153. {
  1154. /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
  1155. /* 0008 */ 0xED, 0x04, 0x00, 0x00, 0xD8, 0x15, 0x00, 0x00,
  1156. /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
  1157. /* 0018 */ 0x28, 0xD5, 0x8A, 0x00, 0x01, 0x06, 0x18, 0x42,
  1158. /* 0020 */ 0x10, 0x0D, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01,
  1159. /* 0028 */ 0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E,
  1160. /* 0030 */ 0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08,
  1161. /* 0038 */ 0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E,
  1162. /* 0040 */ 0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04,
  1163. /* 0048 */ 0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02,
  1164. /* 0050 */ 0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD,
  1165. /* 0058 */ 0x02, 0xA4, 0xC3, 0x12, 0x91, 0xE0, 0x28, 0x31,
  1166. /* 0060 */ 0xE0, 0x28, 0x9D, 0xD8, 0xC2, 0x0D, 0x1B, 0xBC,
  1167. /* 0068 */ 0x50, 0x14, 0xCD, 0x20, 0x4A, 0x82, 0xCA, 0x05,
  1168. /* 0070 */ 0xF8, 0x46, 0x10, 0x78, 0xB9, 0x02, 0x24, 0x4F,
  1169. /* 0078 */ 0x40, 0x9A, 0x05, 0x18, 0x16, 0x60, 0x5D, 0x80,
  1170. /* 0080 */ 0xEC, 0x21, 0x50, 0xA9, 0x43, 0x40, 0xC9, 0x19,
  1171. /* 0088 */ 0x02, 0x6A, 0x00, 0xAD, 0x4E, 0x40, 0xF8, 0x95,
  1172. /* 0090 */ 0x4E, 0x09, 0x49, 0x10, 0xCE, 0x58, 0xC5, 0xE3,
  1173. /* 0098 */ 0x6B, 0x16, 0x4D, 0xCF, 0x49, 0xCE, 0x31, 0xE4,
  1174. /* 00A0 */ 0x78, 0x5C, 0xE8, 0x41, 0xF0, 0x40, 0x0A, 0x40,
  1175. /* 00A8 */ 0x58, 0x78, 0x08, 0x45, 0x80, 0x41, 0x49, 0x18,
  1176. /* 00B0 */ 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9, 0x80,
  1177. /* 00B8 */ 0x0C, 0x51, 0xDA, 0xA8, 0xD1, 0x03, 0x3A, 0xBF,
  1178. /* 00C0 */ 0x23, 0x39, 0xBB, 0xA3, 0x3B, 0x92, 0x04, 0x46,
  1179. /* 00C8 */ 0x3D, 0xA6, 0x63, 0x2C, 0x6C, 0x46, 0x42, 0x8D,
  1180. /* 00D0 */ 0xD1, 0x1C, 0x14, 0x81, 0xC6, 0x0D, 0xDA, 0x12,
  1181. /* 00D8 */ 0x61, 0x35, 0xAE, 0xD8, 0x67, 0x66, 0xE1, 0xC3,
  1182. /* 00E0 */ 0x12, 0xC6, 0x11, 0x1C, 0x58, 0x82, 0x46, 0xD1,
  1183. /* 00E8 */ 0x34, 0xC7, 0xB3, 0x0D, 0x91, 0xE0, 0x20, 0x42,
  1184. /* 00F0 */ 0x63, 0x64, 0x40, 0xC8, 0xF3, 0xB0, 0x05, 0x7A,
  1185. /* 00F8 */ 0xE4, 0x09, 0xEC, 0x1E, 0x51, 0x0A, 0x11, 0x34,
  1186. /* 0100 */ 0xDF, 0x13, 0xA9, 0x51, 0x80, 0x36, 0x0C, 0xD9,
  1187. /* 0108 */ 0x3A, 0x1B, 0x68, 0xA8, 0xB1, 0x1A, 0x43, 0x11,
  1188. /* 0110 */ 0x44, 0x84, 0xA0, 0x51, 0x0C, 0x16, 0x21, 0x54,
  1189. /* 0118 */ 0x88, 0xFF, 0x7F, 0x94, 0xA8, 0xA7, 0x14, 0x24,
  1190. /* 0120 */ 0x6A, 0x65, 0x20, 0x42, 0x0B, 0x66, 0x04, 0x66,
  1191. /* 0128 */ 0x7F, 0x10, 0x24, 0xC6, 0x99, 0x41, 0x87, 0x05,
  1192. /* 0130 */ 0xCB, 0x00, 0x91, 0x11, 0x41, 0xA3, 0x61, 0x67,
  1193. /* 0138 */ 0x01, 0x0F, 0xC7, 0x33, 0x69, 0x7E, 0x62, 0x1A,
  1194. /* 0140 */ 0x9C, 0x09, 0xC6, 0x3E, 0x3F, 0x50, 0x51, 0x07,
  1195. /* 0148 */ 0x07, 0x4A, 0x60, 0x29, 0x03, 0x27, 0xB6, 0xC7,
  1196. /* 0150 */ 0xA5, 0xF1, 0x9D, 0x71, 0xD4, 0x10, 0xA7, 0x7E,
  1197. /* 0158 */ 0x66, 0xFE, 0x47, 0x78, 0x0B, 0x3E, 0x02, 0xF0,
  1198. /* 0160 */ 0x31, 0x78, 0xB0, 0x87, 0x10, 0xF0, 0x08, 0xD9,
  1199. /* 0168 */ 0x19, 0xC0, 0x80, 0x78, 0xEF, 0x93, 0x26, 0x73,
  1200. /* 0170 */ 0xF1, 0x59, 0x00, 0xC6, 0xF0, 0xE1, 0x1A, 0x1F,
  1201. /* 0178 */ 0x85, 0xC6, 0xC3, 0xCE, 0x07, 0x6C, 0x5C, 0x1C,
  1202. /* 0180 */ 0xDE, 0x87, 0x82, 0x13, 0x2E, 0x16, 0x44, 0x01,
  1203. /* 0188 */ 0x20, 0x24, 0xEB, 0x7C, 0x80, 0x9E, 0xF5, 0xB1,
  1204. /* 0190 */ 0x05, 0x7C, 0x18, 0x68, 0xF6, 0x0E, 0x41, 0x08,
  1205. /* 0198 */ 0x5E, 0x04, 0x7C, 0x74, 0xF0, 0x71, 0xC3, 0xE3,
  1206. /* 01A0 */ 0x7E, 0xDE, 0x00, 0xC3, 0xE1, 0xC0, 0xC3, 0xF1,
  1207. /* 01A8 */ 0x69, 0x03, 0xB8, 0x8C, 0x80, 0x4B, 0x7B, 0x52,
  1208. /* 01B0 */ 0x98, 0x40, 0x92, 0x9F, 0x00, 0x12, 0x03, 0x83,
  1209. /* 01B8 */ 0x3A, 0x10, 0xF8, 0x60, 0x01, 0x57, 0x12, 0x1C,
  1210. /* 01C0 */ 0x6A, 0x78, 0x9E, 0xD8, 0x03, 0xC2, 0xFF, 0xFF,
  1211. /* 01C8 */ 0x28, 0x4F, 0xE4, 0xC5, 0xC0, 0xD3, 0x7F, 0x0C,
  1212. /* 01D0 */ 0x80, 0x71, 0x40, 0xF0, 0xB4, 0x4E, 0xCA, 0x37,
  1213. /* 01D8 */ 0x8F, 0x07, 0x09, 0x0F, 0x2A, 0x4C, 0x02, 0x9F,
  1214. /* 01E0 */ 0x12, 0x18, 0x1A, 0x3F, 0x6E, 0x80, 0x75, 0xD4,
  1215. /* 01E8 */ 0xF8, 0x03, 0x02, 0xBC, 0x93, 0xC4, 0xF9, 0xF5,
  1216. /* 01F0 */ 0x39, 0x00, 0x1D, 0x1A, 0x4E, 0x91, 0x81, 0xBC,
  1217. /* 01F8 */ 0x06, 0x9C, 0xF4, 0x29, 0x79, 0x7C, 0x09, 0x7C,
  1218. /* 0200 */ 0xE6, 0x80, 0x7D, 0x37, 0x38, 0x8C, 0x83, 0x09,
  1219. /* 0208 */ 0x11, 0xE1, 0x3D, 0xE0, 0xA9, 0xC3, 0x77, 0x8D,
  1220. /* 0210 */ 0x47, 0x81, 0x40, 0x11, 0x7A, 0x3B, 0x73, 0xD0,
  1221. /* 0218 */ 0x53, 0x88, 0x51, 0xA2, 0x9D, 0x55, 0x98, 0x07,
  1222. /* 0220 */ 0x8E, 0x28, 0x3E, 0x72, 0x18, 0xE1, 0xDD, 0xC3,
  1223. /* 0228 */ 0x77, 0x82, 0x07, 0x90, 0xD6, 0x26, 0x27, 0xDC,
  1224. /* 0230 */ 0x40, 0xCF, 0x1C, 0x2C, 0xDA, 0x99, 0x45, 0x16,
  1225. /* 0238 */ 0x40, 0x14, 0x69, 0x34, 0xA8, 0x33, 0x82, 0x4F,
  1226. /* 0240 */ 0x03, 0x9E, 0xD6, 0x53, 0x8C, 0x8F, 0x12, 0x06,
  1227. /* 0248 */ 0x39, 0xC3, 0x03, 0x7B, 0x4E, 0x78, 0x0C, 0xF0,
  1228. /* 0250 */ 0x80, 0xD9, 0xFD, 0xC0, 0xC7, 0x09, 0x9F, 0x0B,
  1229. /* 0258 */ 0xF0, 0xAE, 0x01, 0x35, 0x43, 0x1F, 0x36, 0xE0,
  1230. /* 0260 */ 0x1C, 0x3A, 0xF0, 0xA7, 0x09, 0xFC, 0xC1, 0x02,
  1231. /* 0268 */ 0x3F, 0x1E, 0x5F, 0x73, 0xD8, 0x84, 0x13, 0x58,
  1232. /* 0270 */ 0xFE, 0x20, 0x50, 0x23, 0x33, 0xB4, 0x67, 0x79,
  1233. /* 0278 */ 0x5A, 0xAF, 0x01, 0x3E, 0xED, 0x98, 0xC0, 0xE7,
  1234. /* 0280 */ 0x0D, 0xFF, 0xFF, 0xFF, 0x39, 0x1E, 0x0F, 0xF8,
  1235. /* 0288 */ 0x15, 0x9F, 0x2E, 0xC8, 0x5D, 0xC1, 0xF3, 0xF5,
  1236. /* 0290 */ 0xD9, 0x85, 0xD9, 0x18, 0x0F, 0x6A, 0x14, 0x3E,
  1237. /* 0298 */ 0xE0, 0xE0, 0xCE, 0x2E, 0x3E, 0x02, 0xF8, 0xEC,
  1238. /* 02A0 */ 0x02, 0x3C, 0x27, 0xF1, 0x2C, 0x01, 0xDE, 0x43,
  1239. /* 02A8 */ 0x80, 0x4F, 0x24, 0xF1, 0x1E, 0xB6, 0x60, 0x8C,
  1240. /* 02B0 */ 0x18, 0x0F, 0x79, 0xC6, 0x55, 0x0F, 0x43, 0x17,
  1241. /* 02B8 */ 0x01, 0xAB, 0xBB, 0xAF, 0xA0, 0x8E, 0x5E, 0x60,
  1242. /* 02C0 */ 0x82, 0x7A, 0xCD, 0xC0, 0x9D, 0x5E, 0x80, 0xCF,
  1243. /* 02C8 */ 0x29, 0x0B, 0xDE, 0xFF, 0xFF, 0x94, 0x05, 0xDC,
  1244. /* 02D0 */ 0xAF, 0x0A, 0xFC, 0x88, 0x02, 0x06, 0xC8, 0xCE,
  1245. /* 02D8 */ 0x4E, 0x27, 0x42, 0x78, 0x2F, 0x79, 0x0E, 0xF1,
  1246. /* 02E0 */ 0xED, 0xCA, 0x07, 0x93, 0x20, 0xCF, 0x01, 0x11,
  1247. /* 02E8 */ 0x9E, 0xB2, 0xF8, 0x7D, 0x20, 0x4A, 0xCC, 0x03,
  1248. /* 02F0 */ 0x8A, 0x14, 0xC5, 0x88, 0x41, 0x9E, 0xB0, 0x7C,
  1249. /* 02F8 */ 0x3D, 0x89, 0x61, 0xE8, 0x60, 0xE1, 0xC2, 0x47,
  1250. /* 0300 */ 0x78, 0xCA, 0x02, 0x2C, 0x5E, 0xB2, 0x30, 0xA7,
  1251. /* 0308 */ 0x2C, 0x98, 0x6F, 0x03, 0x9F, 0xB2, 0xC0, 0xF1,
  1252. /* 0310 */ 0xFF, 0x3F, 0x65, 0x81, 0x6B, 0xDC, 0x4F, 0x59,
  1253. /* 0318 */ 0xC0, 0x4C, 0xFA, 0x73, 0x92, 0x9C, 0x6A, 0xF4,
  1254. /* 0320 */ 0x04, 0x50, 0xF4, 0x83, 0x05, 0x85, 0xF1, 0x29,
  1255. /* 0328 */ 0x0B, 0x70, 0x25, 0xEF, 0x80, 0x00, 0x9A, 0xB3,
  1256. /* 0330 */ 0x93, 0x6F, 0x0B, 0x06, 0x3B, 0x66, 0x5F, 0x32,
  1257. /* 0338 */ 0x7C, 0x4A, 0x04, 0xC3, 0x21, 0xC3, 0x77, 0xAA,
  1258. /* 0340 */ 0x43, 0x79, 0xE4, 0x78, 0x0A, 0xF0, 0x11, 0x0B,
  1259. /* 0348 */ 0xEC, 0x71, 0x8E, 0x01, 0x3A, 0xAE, 0xF8, 0x88,
  1260. /* 0350 */ 0xE5, 0xFF, 0xFF, 0x11, 0x0B, 0xE0, 0xC6, 0x01,
  1261. /* 0358 */ 0x04, 0x7F, 0xEA, 0x80, 0x75, 0x0F, 0x08, 0xEB,
  1262. /* 0360 */ 0x43, 0x07, 0xF0, 0x90, 0xFD, 0x10, 0xD0, 0x19,
  1263. /* 0368 */ 0xC6, 0x92, 0x41, 0x64, 0xE3, 0x5C, 0x43, 0xC7,
  1264. /* 0370 */ 0x68, 0xF1, 0x0B, 0xD5, 0x4D, 0x21, 0xF6, 0xC1,
  1265. /* 0378 */ 0x70, 0xD9, 0x40, 0x02, 0xF5, 0x70, 0x2D, 0x98,
  1266. /* 0380 */ 0x42, 0xA2, 0x68, 0x34, 0x1A, 0x03, 0x13, 0x18,
  1267. /* 0388 */ 0xC1, 0x19, 0xC4, 0x80, 0xCE, 0x08, 0xA1, 0x43,
  1268. /* 0390 */ 0x19, 0x4E, 0xC5, 0x79, 0x08, 0xF5, 0xFF, 0x27,
  1269. /* 0398 */ 0x18, 0xEA, 0xC6, 0x44, 0x67, 0xE7, 0xF9, 0xF3,
  1270. /* 03A0 */ 0xDB, 0x88, 0x4F, 0x04, 0x06, 0xF6, 0x15, 0xE2,
  1271. /* 03A8 */ 0x2D, 0x03, 0x2C, 0xC3, 0xF2, 0xE2, 0x9E, 0x00,
  1272. /* 03B0 */ 0x8E, 0xF1, 0x24, 0x13, 0x54, 0x73, 0xAC, 0x41,
  1273. /* 03B8 */ 0xCD, 0xC1, 0x57, 0x81, 0x37, 0x32, 0x13, 0xF8,
  1274. /* 03C0 */ 0x0A, 0x06, 0xB6, 0xD3, 0x0C, 0x46, 0xDF, 0x9D,
  1275. /* 03C8 */ 0x00, 0x14, 0x40, 0x3E, 0x0A, 0xF8, 0xBE, 0xFC,
  1276. /* 03D0 */ 0x36, 0xC0, 0x66, 0xF1, 0xCA, 0x6C, 0x34, 0x9F,
  1277. /* 03D8 */ 0x3F, 0x11, 0x43, 0x47, 0x89, 0x19, 0x3A, 0x05,
  1278. /* 03E0 */ 0xF1, 0xD0, 0x1D, 0x74, 0xE8, 0xE8, 0xE3, 0x80,
  1279. /* 03E8 */ 0x4F, 0x56, 0xB8, 0x60, 0x87, 0x2F, 0x68, 0x93,
  1280. /* 03F0 */ 0x3B, 0xDA, 0x13, 0xF3, 0x2C, 0x3C, 0x4F, 0xDC,
  1281. /* 03F8 */ 0xDC, 0xC1, 0x74, 0x44, 0x82, 0x31, 0x78, 0xCC,
  1282. /* 0400 */ 0xE4, 0xC1, 0x2C, 0x70, 0xF2, 0xA0, 0xF8, 0xFF,
  1283. /* 0408 */ 0x4F, 0x1E, 0x26, 0x3C, 0x26, 0xEC, 0xE1, 0x90,
  1284. /* 0410 */ 0x1E, 0x3A, 0x3C, 0x32, 0x3E, 0x4E, 0x9F, 0x7E,
  1285. /* 0418 */ 0x18, 0xF6, 0xE9, 0x9C, 0x4B, 0xD1, 0x33, 0xD2,
  1286. /* 0420 */ 0x1D, 0xE3, 0x99, 0x0B, 0x03, 0xEB, 0x91, 0x73,
  1287. /* 0428 */ 0x58, 0xA3, 0x85, 0x3D, 0xE0, 0xE7, 0x10, 0xDF,
  1288. /* 0430 */ 0x61, 0x7C, 0xE0, 0x61, 0xB0, 0x3E, 0xBD, 0x80,
  1289. /* 0438 */ 0xE3, 0xF8, 0x05, 0xFF, 0x34, 0x00, 0x9E, 0x03,
  1290. /* 0440 */ 0x88, 0xC7, 0xF0, 0x02, 0xC2, 0x8F, 0x2F, 0x3A,
  1291. /* 0448 */ 0xFF, 0x52, 0xA1, 0x8B, 0x93, 0x3C, 0x18, 0xD4,
  1292. /* 0450 */ 0x69, 0x0A, 0x70, 0x75, 0x7A, 0x03, 0xCF, 0x55,
  1293. /* 0458 */ 0x1F, 0x77, 0x96, 0xC2, 0xFD, 0xFF, 0xCF, 0x52,
  1294. /* 0460 */ 0x30, 0x0E, 0xBF, 0xBE, 0xC0, 0xFB, 0x2E, 0x65,
  1295. /* 0468 */ 0x84, 0x03, 0x79, 0x96, 0x02, 0x7B, 0xEC, 0x67,
  1296. /* 0470 */ 0x88, 0x0E, 0x01, 0x3E, 0x4B, 0x01, 0xFC, 0x78,
  1297. /* 0478 */ 0x7D, 0xF8, 0x3C, 0x03, 0x37, 0xF0, 0xE9, 0x17,
  1298. /* 0480 */ 0x68, 0xFD, 0xFF, 0x4F, 0x21, 0xE0, 0x3F, 0x46,
  1299. /* 0488 */ 0xF8, 0x88, 0x83, 0x3B, 0xFA, 0x02, 0xB7, 0x83,
  1300. /* 0490 */ 0x31, 0x3F, 0x63, 0xE0, 0x8E, 0x63, 0xC0, 0xE3,
  1301. /* 0498 */ 0xE4, 0x8C, 0x3B, 0x4D, 0x78, 0x08, 0x7C, 0x00,
  1302. /* 04A0 */ 0xAD, 0x4E, 0x8F, 0x9C, 0x7A, 0x4E, 0x09, 0x77,
  1303. /* 04A8 */ 0x1C, 0xE0, 0x53, 0xC2, 0x0D, 0x00, 0xA3, 0xD0,
  1304. /* 04B0 */ 0xA6, 0x4F, 0x8D, 0x46, 0xAD, 0x1A, 0x94, 0xA9,
  1305. /* 04B8 */ 0x51, 0xA6, 0x41, 0xAD, 0x3E, 0x95, 0x1A, 0x33,
  1306. /* 04C0 */ 0xA6, 0x03, 0xCE, 0xAF, 0x03, 0x1D, 0x0F, 0x1C,
  1307. /* 04C8 */ 0xEA, 0x85, 0x20, 0x10, 0x4B, 0x7A, 0x75, 0x08,
  1308. /* 04D0 */ 0xC4, 0xA2, 0x3C, 0x80, 0xB0, 0xB8, 0x26, 0x40,
  1309. /* 04D8 */ 0x98, 0xF0, 0x37, 0x81, 0x40, 0x1C, 0x1B, 0x84,
  1310. /* 04E0 */ 0x8A, 0xA5, 0x97, 0x91, 0xF1, 0x19, 0x44, 0x40,
  1311. /* 04E8 */ 0x0E, 0xE1, 0x03, 0x88, 0x45, 0x02, 0x11, 0x38,
  1312. /* 04F0 */ 0x51, 0x02, 0x4A, 0x9D, 0x80, 0x30, 0xA1, 0xAF,
  1313. /* 04F8 */ 0x06, 0x81, 0xF8, 0xFF, 0x0F
  1314. })
  1315. }
  1316.  
  1317. OperationRegion (SMI2, SystemMemory, 0x7FEE1F3D, 0x00001010)
  1318. Field (SMI2, AnyAcc, NoLock, Preserve)
  1319. {
  1320. WCMD, 8,
  1321. TPID, 8,
  1322. WDID, 32,
  1323. DI00, 32768
  1324. }
  1325.  
  1326. Field (SMI2, AnyAcc, NoLock, Preserve)
  1327. {
  1328. AccessAs (ByteAcc, 0x00),
  1329. Offset (0x06),
  1330. WCCL, 16,
  1331. WCSE, 16,
  1332. WCA1, 32,
  1333. WCA2, 32,
  1334. WCA3, 32,
  1335. WCA4, 32,
  1336. WCR1, 32,
  1337. WCR2, 32,
  1338. WCR3, 32,
  1339. WCR4, 32
  1340. }
  1341.  
  1342. Mutex (PSMX, 0x00)
  1343. Method (PHWM, 2, NotSerialized)
  1344. {
  1345. Acquire (PSMX, 0xFFFF)
  1346. Store (WSMI, WCMD)
  1347. Store (WMID, TPID)
  1348. Store (Arg1, WDID)
  1349. Store (Arg0, DI00)
  1350. Store (Zero, SMIC)
  1351. Release (PSMX)
  1352. Name (RETB, Buffer (0x1000) {})
  1353. Store (DI00, RETB)
  1354. Return (RETB)
  1355. }
  1356.  
  1357. Device (PCI0)
  1358. {
  1359. Method (_S3D, 0, NotSerialized)
  1360. {
  1361. Return (0x02)
  1362. }
  1363.  
  1364. Method (_S4D, 0, NotSerialized)
  1365. {
  1366. Return (0x02)
  1367. }
  1368.  
  1369. Name (_HID, EisaId ("PNP0A08"))
  1370. Name (_CID, 0x030AD041)
  1371. Device (MCHC)
  1372. {
  1373. Name (_ADR, Zero)
  1374. OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
  1375. Field (HBUS, DWordAcc, NoLock, Preserve)
  1376. {
  1377. EPEN, 1,
  1378. , 11,
  1379. EPBR, 20,
  1380. Offset (0x08),
  1381. MHEN, 1,
  1382. , 13,
  1383. MHBR, 18,
  1384. Offset (0x20),
  1385. PXEN, 1,
  1386. PXSZ, 2,
  1387. , 23,
  1388. PXBR, 6,
  1389. Offset (0x28),
  1390. DIEN, 1,
  1391. , 11,
  1392. DIBR, 20,
  1393. Offset (0x30),
  1394. IPEN, 1,
  1395. , 11,
  1396. IPBR, 20,
  1397. Offset (0x50),
  1398. , 4,
  1399. PM0H, 2,
  1400. Offset (0x51),
  1401. PM1L, 2,
  1402. , 2,
  1403. PM1H, 2,
  1404. Offset (0x52),
  1405. PM2L, 2,
  1406. , 2,
  1407. PM2H, 2,
  1408. Offset (0x53),
  1409. PM3L, 2,
  1410. , 2,
  1411. PM3H, 2,
  1412. Offset (0x54),
  1413. PM4L, 2,
  1414. , 2,
  1415. PM4H, 2,
  1416. Offset (0x55),
  1417. PM5L, 2,
  1418. , 2,
  1419. PM5H, 2,
  1420. Offset (0x56),
  1421. PM6L, 2,
  1422. , 2,
  1423. PM6H, 2,
  1424. Offset (0x57),
  1425. , 7,
  1426. HENA, 1,
  1427. Offset (0x62),
  1428. TUUD, 16,
  1429. Offset (0x70),
  1430. , 4,
  1431. TLUD, 12
  1432. }
  1433. }
  1434.  
  1435. Name (BUF0, ResourceTemplate ()
  1436. {
  1437. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  1438. 0x0000, // Granularity
  1439. 0x0000, // Range Minimum
  1440. 0x00FF, // Range Maximum
  1441. 0x0000, // Translation Offset
  1442. 0x0100, // Length
  1443. ,, )
  1444. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1445. 0x00000000, // Granularity
  1446. 0x00000000, // Range Minimum
  1447. 0x00000CF7, // Range Maximum
  1448. 0x00000000, // Translation Offset
  1449. 0x00000CF8, // Length
  1450. ,, , TypeStatic)
  1451. IO (Decode16,
  1452. 0x0CF8, // Range Minimum
  1453. 0x0CF8, // Range Maximum
  1454. 0x01, // Alignment
  1455. 0x08, // Length
  1456. )
  1457. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1458. 0x00000000, // Granularity
  1459. 0x00000D00, // Range Minimum
  1460. 0x0000FFFF, // Range Maximum
  1461. 0x00000000, // Translation Offset
  1462. 0x0000F300, // Length
  1463. ,, , TypeStatic)
  1464. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1465. 0x00000000, // Granularity
  1466. 0x000A0000, // Range Minimum
  1467. 0x000BFFFF, // Range Maximum
  1468. 0x00000000, // Translation Offset
  1469. 0x00020000, // Length
  1470. ,, , AddressRangeMemory, TypeStatic)
  1471. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1472. 0x00000000, // Granularity
  1473. 0x000C0000, // Range Minimum
  1474. 0x000C3FFF, // Range Maximum
  1475. 0x00000000, // Translation Offset
  1476. 0x00004000, // Length
  1477. ,, _Y00, AddressRangeMemory, TypeStatic)
  1478. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1479. 0x00000000, // Granularity
  1480. 0x000C4000, // Range Minimum
  1481. 0x000C7FFF, // Range Maximum
  1482. 0x00000000, // Translation Offset
  1483. 0x00004000, // Length
  1484. ,, _Y01, AddressRangeMemory, TypeStatic)
  1485. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1486. 0x00000000, // Granularity
  1487. 0x000C8000, // Range Minimum
  1488. 0x000CBFFF, // Range Maximum
  1489. 0x00000000, // Translation Offset
  1490. 0x00004000, // Length
  1491. ,, _Y02, AddressRangeMemory, TypeStatic)
  1492. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1493. 0x00000000, // Granularity
  1494. 0x000CC000, // Range Minimum
  1495. 0x000CFFFF, // Range Maximum
  1496. 0x00000000, // Translation Offset
  1497. 0x00004000, // Length
  1498. ,, _Y03, AddressRangeMemory, TypeStatic)
  1499. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1500. 0x00000000, // Granularity
  1501. 0x000D0000, // Range Minimum
  1502. 0x000D3FFF, // Range Maximum
  1503. 0x00000000, // Translation Offset
  1504. 0x00004000, // Length
  1505. ,, _Y04, AddressRangeMemory, TypeStatic)
  1506. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1507. 0x00000000, // Granularity
  1508. 0x000D4000, // Range Minimum
  1509. 0x000D7FFF, // Range Maximum
  1510. 0x00000000, // Translation Offset
  1511. 0x00004000, // Length
  1512. ,, _Y05, AddressRangeMemory, TypeStatic)
  1513. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1514. 0x00000000, // Granularity
  1515. 0x000D8000, // Range Minimum
  1516. 0x000DBFFF, // Range Maximum
  1517. 0x00000000, // Translation Offset
  1518. 0x00004000, // Length
  1519. ,, _Y06, AddressRangeMemory, TypeStatic)
  1520. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1521. 0x00000000, // Granularity
  1522. 0x000DC000, // Range Minimum
  1523. 0x000DFFFF, // Range Maximum
  1524. 0x00000000, // Translation Offset
  1525. 0x00004000, // Length
  1526. ,, _Y07, AddressRangeMemory, TypeStatic)
  1527. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1528. 0x00000000, // Granularity
  1529. 0x000E0000, // Range Minimum
  1530. 0x000E3FFF, // Range Maximum
  1531. 0x00000000, // Translation Offset
  1532. 0x00004000, // Length
  1533. ,, _Y08, AddressRangeMemory, TypeStatic)
  1534. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1535. 0x00000000, // Granularity
  1536. 0x000E4000, // Range Minimum
  1537. 0x000E7FFF, // Range Maximum
  1538. 0x00000000, // Translation Offset
  1539. 0x00004000, // Length
  1540. ,, _Y09, AddressRangeMemory, TypeStatic)
  1541. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1542. 0x00000000, // Granularity
  1543. 0x000E8000, // Range Minimum
  1544. 0x000EBFFF, // Range Maximum
  1545. 0x00000000, // Translation Offset
  1546. 0x00004000, // Length
  1547. ,, _Y0A, AddressRangeMemory, TypeStatic)
  1548. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1549. 0x00000000, // Granularity
  1550. 0x000EC000, // Range Minimum
  1551. 0x000EFFFF, // Range Maximum
  1552. 0x00000000, // Translation Offset
  1553. 0x00004000, // Length
  1554. ,, _Y0B, AddressRangeMemory, TypeStatic)
  1555. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1556. 0x00000000, // Granularity
  1557. 0x000F0000, // Range Minimum
  1558. 0x000FFFFF, // Range Maximum
  1559. 0x00000000, // Translation Offset
  1560. 0x00010000, // Length
  1561. ,, _Y0C, AddressRangeMemory, TypeStatic)
  1562. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1563. 0x00000000, // Granularity
  1564. 0x00000000, // Range Minimum
  1565. 0xDFFFFFFF, // Range Maximum
  1566. 0x00000000, // Translation Offset
  1567. 0x00000000, // Length
  1568. ,, _Y0E, AddressRangeMemory, TypeStatic)
  1569. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1570. 0x00000000, // Granularity
  1571. 0xF0000000, // Range Minimum
  1572. 0xFEBFFFFF, // Range Maximum
  1573. 0x00000000, // Translation Offset
  1574. 0x0EC00000, // Length
  1575. ,, _Y0F, AddressRangeMemory, TypeStatic)
  1576. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1577. 0x00000000, // Granularity
  1578. 0xFED40000, // Range Minimum
  1579. 0xFED44FFF, // Range Maximum
  1580. 0x00000000, // Translation Offset
  1581. 0x00000000, // Length
  1582. ,, _Y0D, AddressRangeMemory, TypeStatic)
  1583. })
  1584. Method (_CRS, 0, Serialized)
  1585. {
  1586. If (^MCHC.PM1L)
  1587. {
  1588. CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
  1589. Store (Zero, C0LN)
  1590. }
  1591.  
  1592. If (LEqual (^MCHC.PM1L, One))
  1593. {
  1594. CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
  1595. Store (Zero, C0RW)
  1596. }
  1597.  
  1598. If (^MCHC.PM1H)
  1599. {
  1600. CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
  1601. Store (Zero, C4LN)
  1602. }
  1603.  
  1604. If (LEqual (^MCHC.PM1H, One))
  1605. {
  1606. CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
  1607. Store (Zero, C4RW)
  1608. }
  1609.  
  1610. If (^MCHC.PM2L)
  1611. {
  1612. CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
  1613. Store (Zero, C8LN)
  1614. }
  1615.  
  1616. If (LEqual (^MCHC.PM2L, One))
  1617. {
  1618. CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
  1619. Store (Zero, C8RW)
  1620. }
  1621.  
  1622. If (^MCHC.PM2H)
  1623. {
  1624. CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
  1625. Store (Zero, CCLN)
  1626. }
  1627.  
  1628. If (LEqual (^MCHC.PM2H, One))
  1629. {
  1630. CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
  1631. Store (Zero, CCRW)
  1632. }
  1633.  
  1634. If (^MCHC.PM3L)
  1635. {
  1636. CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
  1637. Store (Zero, D0LN)
  1638. }
  1639.  
  1640. If (LEqual (^MCHC.PM3L, One))
  1641. {
  1642. CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
  1643. Store (Zero, D0RW)
  1644. }
  1645.  
  1646. If (^MCHC.PM3H)
  1647. {
  1648. CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
  1649. Store (Zero, D4LN)
  1650. }
  1651.  
  1652. If (LEqual (^MCHC.PM3H, One))
  1653. {
  1654. CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
  1655. Store (Zero, D4RW)
  1656. }
  1657.  
  1658. If (^MCHC.PM4L)
  1659. {
  1660. CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
  1661. Store (Zero, D8LN)
  1662. }
  1663.  
  1664. If (LEqual (^MCHC.PM4L, One))
  1665. {
  1666. CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
  1667. Store (Zero, D8RW)
  1668. }
  1669.  
  1670. If (^MCHC.PM4H)
  1671. {
  1672. CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
  1673. Store (Zero, DCLN)
  1674. }
  1675.  
  1676. If (LEqual (^MCHC.PM4H, One))
  1677. {
  1678. CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
  1679. Store (Zero, DCRW)
  1680. }
  1681.  
  1682. If (^MCHC.PM5L)
  1683. {
  1684. CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
  1685. Store (Zero, E0LN)
  1686. }
  1687.  
  1688. If (LEqual (^MCHC.PM5L, One))
  1689. {
  1690. CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
  1691. Store (Zero, E0RW)
  1692. }
  1693.  
  1694. If (^MCHC.PM5H)
  1695. {
  1696. CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
  1697. Store (Zero, E4LN)
  1698. }
  1699.  
  1700. If (LEqual (^MCHC.PM5H, One))
  1701. {
  1702. CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
  1703. Store (Zero, E4RW)
  1704. }
  1705.  
  1706. If (^MCHC.PM6L)
  1707. {
  1708. CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
  1709. Store (Zero, E8LN)
  1710. }
  1711.  
  1712. If (LEqual (^MCHC.PM6L, One))
  1713. {
  1714. CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
  1715. Store (Zero, E8RW)
  1716. }
  1717.  
  1718. If (^MCHC.PM6H)
  1719. {
  1720. CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
  1721. Store (Zero, ECLN)
  1722. }
  1723.  
  1724. If (LEqual (^MCHC.PM6H, One))
  1725. {
  1726. CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
  1727. Store (Zero, ECRW)
  1728. }
  1729.  
  1730. If (^MCHC.PM0H)
  1731. {
  1732. CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
  1733. Store (Zero, F0LN)
  1734. }
  1735.  
  1736. If (LEqual (^MCHC.PM0H, One))
  1737. {
  1738. CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
  1739. Store (Zero, F0RW)
  1740. }
  1741.  
  1742. If (TPRS)
  1743. {
  1744. CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, TPML)
  1745. Store (0x5000, TPML)
  1746. }
  1747.  
  1748. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN)
  1749. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX)
  1750. CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN)
  1751. CreateDWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)
  1752. CreateDWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)
  1753. CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)
  1754. ShiftLeft (^MCHC.PXBR, 0x1A, M1MX)
  1755. ShiftRight (0x10000000, ^MCHC.PXSZ, Local0)
  1756. Add (M1MX, Local0, M2MN)
  1757. Add (Subtract (M2MX, M2MN), One, M2LN)
  1758. Subtract (M1MX, One, M1MX)
  1759. ShiftLeft (^MCHC.TLUD, 0x14, M1MN)
  1760. Add (Subtract (M1MX, M1MN), One, M1LN)
  1761. Return (BUF0)
  1762. }
  1763.  
  1764. Method (_PRT, 0, NotSerialized)
  1765. {
  1766. If (GPIC)
  1767. {
  1768. Return (Package (0x17)
  1769. {
  1770. Package (0x04)
  1771. {
  1772. 0x0001FFFF,
  1773. Zero,
  1774. Zero,
  1775. 0x10
  1776. },
  1777.  
  1778. Package (0x04)
  1779. {
  1780. 0x0002FFFF,
  1781. Zero,
  1782. Zero,
  1783. 0x10
  1784. },
  1785.  
  1786. Package (0x04)
  1787. {
  1788. 0x0003FFFF,
  1789. Zero,
  1790. Zero,
  1791. 0x10
  1792. },
  1793.  
  1794. Package (0x04)
  1795. {
  1796. 0x0003FFFF,
  1797. One,
  1798. Zero,
  1799. 0x11
  1800. },
  1801.  
  1802. Package (0x04)
  1803. {
  1804. 0x0003FFFF,
  1805. 0x02,
  1806. Zero,
  1807. 0x12
  1808. },
  1809.  
  1810. Package (0x04)
  1811. {
  1812. 0x0003FFFF,
  1813. 0x03,
  1814. Zero,
  1815. 0x13
  1816. },
  1817.  
  1818. Package (0x04)
  1819. {
  1820. 0x0007FFFF,
  1821. Zero,
  1822. Zero,
  1823. 0x10
  1824. },
  1825.  
  1826. Package (0x04)
  1827. {
  1828. 0x0019FFFF,
  1829. Zero,
  1830. Zero,
  1831. 0x14
  1832. },
  1833.  
  1834. Package (0x04)
  1835. {
  1836. 0x001AFFFF,
  1837. Zero,
  1838. Zero,
  1839. 0x10
  1840. },
  1841.  
  1842. Package (0x04)
  1843. {
  1844. 0x001AFFFF,
  1845. One,
  1846. Zero,
  1847. 0x15
  1848. },
  1849.  
  1850. Package (0x04)
  1851. {
  1852. 0x001AFFFF,
  1853. 0x02,
  1854. Zero,
  1855. 0x12
  1856. },
  1857.  
  1858. Package (0x04)
  1859. {
  1860. 0x001BFFFF,
  1861. Zero,
  1862. Zero,
  1863. 0x16
  1864. },
  1865.  
  1866. Package (0x04)
  1867. {
  1868. 0x001CFFFF,
  1869. Zero,
  1870. Zero,
  1871. 0x11
  1872. },
  1873.  
  1874. Package (0x04)
  1875. {
  1876. 0x001CFFFF,
  1877. One,
  1878. Zero,
  1879. 0x10
  1880. },
  1881.  
  1882. Package (0x04)
  1883. {
  1884. 0x001CFFFF,
  1885. 0x02,
  1886. Zero,
  1887. 0x12
  1888. },
  1889.  
  1890. Package (0x04)
  1891. {
  1892. 0x001CFFFF,
  1893. 0x03,
  1894. Zero,
  1895. 0x13
  1896. },
  1897.  
  1898. Package (0x04)
  1899. {
  1900. 0x001DFFFF,
  1901. Zero,
  1902. Zero,
  1903. 0x17
  1904. },
  1905.  
  1906. Package (0x04)
  1907. {
  1908. 0x001DFFFF,
  1909. One,
  1910. Zero,
  1911. 0x13
  1912. },
  1913.  
  1914. Package (0x04)
  1915. {
  1916. 0x001DFFFF,
  1917. 0x02,
  1918. Zero,
  1919. 0x12
  1920. },
  1921.  
  1922. Package (0x04)
  1923. {
  1924. 0x001FFFFF,
  1925. Zero,
  1926. Zero,
  1927. 0x12
  1928. },
  1929.  
  1930. Package (0x04)
  1931. {
  1932. 0x001FFFFF,
  1933. One,
  1934. Zero,
  1935. 0x12
  1936. },
  1937.  
  1938. Package (0x04)
  1939. {
  1940. 0x001FFFFF,
  1941. 0x02,
  1942. Zero,
  1943. 0x12
  1944. },
  1945.  
  1946. Package (0x04)
  1947. {
  1948. 0x001FFFFF,
  1949. 0x03,
  1950. Zero,
  1951. 0x10
  1952. }
  1953. })
  1954. }
  1955. Else
  1956. {
  1957. Return (Package (0x17)
  1958. {
  1959. Package (0x04)
  1960. {
  1961. 0x0001FFFF,
  1962. Zero,
  1963. ^LPCB.LNKA,
  1964. Zero
  1965. },
  1966.  
  1967. Package (0x04)
  1968. {
  1969. 0x0002FFFF,
  1970. Zero,
  1971. ^LPCB.LNKA,
  1972. Zero
  1973. },
  1974.  
  1975. Package (0x04)
  1976. {
  1977. 0x0003FFFF,
  1978. Zero,
  1979. ^LPCB.LNKA,
  1980. Zero
  1981. },
  1982.  
  1983. Package (0x04)
  1984. {
  1985. 0x0003FFFF,
  1986. One,
  1987. ^LPCB.LNKB,
  1988. Zero
  1989. },
  1990.  
  1991. Package (0x04)
  1992. {
  1993. 0x0003FFFF,
  1994. 0x02,
  1995. ^LPCB.LNKC,
  1996. Zero
  1997. },
  1998.  
  1999. Package (0x04)
  2000. {
  2001. 0x0003FFFF,
  2002. 0x03,
  2003. ^LPCB.LNKD,
  2004. Zero
  2005. },
  2006.  
  2007. Package (0x04)
  2008. {
  2009. 0x0007FFFF,
  2010. Zero,
  2011. ^LPCB.LNKA,
  2012. Zero
  2013. },
  2014.  
  2015. Package (0x04)
  2016. {
  2017. 0x0019FFFF,
  2018. Zero,
  2019. ^LPCB.LNKE,
  2020. Zero
  2021. },
  2022.  
  2023. Package (0x04)
  2024. {
  2025. 0x001AFFFF,
  2026. Zero,
  2027. ^LPCB.LNKA,
  2028. Zero
  2029. },
  2030.  
  2031. Package (0x04)
  2032. {
  2033. 0x001AFFFF,
  2034. One,
  2035. ^LPCB.LNKF,
  2036. Zero
  2037. },
  2038.  
  2039. Package (0x04)
  2040. {
  2041. 0x001AFFFF,
  2042. 0x02,
  2043. ^LPCB.LNKC,
  2044. Zero
  2045. },
  2046.  
  2047. Package (0x04)
  2048. {
  2049. 0x001BFFFF,
  2050. Zero,
  2051. ^LPCB.LNKG,
  2052. Zero
  2053. },
  2054.  
  2055. Package (0x04)
  2056. {
  2057. 0x001CFFFF,
  2058. Zero,
  2059. ^LPCB.LNKB,
  2060. Zero
  2061. },
  2062.  
  2063. Package (0x04)
  2064. {
  2065. 0x001CFFFF,
  2066. One,
  2067. ^LPCB.LNKA,
  2068. Zero
  2069. },
  2070.  
  2071. Package (0x04)
  2072. {
  2073. 0x001CFFFF,
  2074. 0x02,
  2075. ^LPCB.LNKC,
  2076. Zero
  2077. },
  2078.  
  2079. Package (0x04)
  2080. {
  2081. 0x001CFFFF,
  2082. 0x03,
  2083. ^LPCB.LNKD,
  2084. Zero
  2085. },
  2086.  
  2087. Package (0x04)
  2088. {
  2089. 0x001DFFFF,
  2090. Zero,
  2091. ^LPCB.LNKH,
  2092. Zero
  2093. },
  2094.  
  2095. Package (0x04)
  2096. {
  2097. 0x001DFFFF,
  2098. One,
  2099. ^LPCB.LNKD,
  2100. Zero
  2101. },
  2102.  
  2103. Package (0x04)
  2104. {
  2105. 0x001DFFFF,
  2106. 0x02,
  2107. ^LPCB.LNKC,
  2108. Zero
  2109. },
  2110.  
  2111. Package (0x04)
  2112. {
  2113. 0x001FFFFF,
  2114. Zero,
  2115. ^LPCB.LNKD,
  2116. Zero
  2117. },
  2118.  
  2119. Package (0x04)
  2120. {
  2121. 0x001FFFFF,
  2122. One,
  2123. ^LPCB.LNKD,
  2124. Zero
  2125. },
  2126.  
  2127. Package (0x04)
  2128. {
  2129. 0x001FFFFF,
  2130. 0x02,
  2131. ^LPCB.LNKD,
  2132. Zero
  2133. },
  2134.  
  2135. Package (0x04)
  2136. {
  2137. 0x001FFFFF,
  2138. 0x03,
  2139. ^LPCB.LNKA,
  2140. Zero
  2141. }
  2142. })
  2143. }
  2144. }
  2145.  
  2146. Device (PDRC)
  2147. {
  2148. Name (_HID, EisaId ("PNP0C02"))
  2149. Name (_UID, One)
  2150. Name (BUF0, ResourceTemplate ()
  2151. {
  2152. Memory32Fixed (ReadWrite,
  2153. 0x00000000, // Address Base
  2154. 0x00004000, // Address Length
  2155. _Y10)
  2156. Memory32Fixed (ReadWrite,
  2157. 0x00000000, // Address Base
  2158. 0x00004000, // Address Length
  2159. _Y11)
  2160. Memory32Fixed (ReadWrite,
  2161. 0x00000000, // Address Base
  2162. 0x00001000, // Address Length
  2163. _Y12)
  2164. Memory32Fixed (ReadWrite,
  2165. 0x00000000, // Address Base
  2166. 0x00001000, // Address Length
  2167. _Y13)
  2168. Memory32Fixed (ReadWrite,
  2169. 0x00000000, // Address Base
  2170. 0x00000000, // Address Length
  2171. _Y14)
  2172. Memory32Fixed (ReadWrite,
  2173. 0xFED20000, // Address Base
  2174. 0x00020000, // Address Length
  2175. )
  2176. Memory32Fixed (ReadWrite,
  2177. 0xFED40000, // Address Base
  2178. 0x00005000, // Address Length
  2179. _Y15)
  2180. Memory32Fixed (ReadWrite,
  2181. 0xFED45000, // Address Base
  2182. 0x0004B000, // Address Length
  2183. )
  2184. })
  2185. Method (_CRS, 0, Serialized)
  2186. {
  2187. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y10._BAS, RBR0)
  2188. ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0)
  2189. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, MBR0)
  2190. ShiftLeft (^^MCHC.MHBR, 0x0E, MBR0)
  2191. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, DBR0)
  2192. ShiftLeft (^^MCHC.DIBR, 0x0C, DBR0)
  2193. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, EBR0)
  2194. ShiftLeft (^^MCHC.EPBR, 0x0C, EBR0)
  2195. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, XBR0)
  2196. ShiftLeft (^^MCHC.PXBR, 0x1A, XBR0)
  2197. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._LEN, XSZ0)
  2198. ShiftRight (0x10000000, ^^MCHC.PXSZ, XSZ0)
  2199. If (TPRS)
  2200. {
  2201. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._LEN, TPML)
  2202. Store (Zero, TPML)
  2203. }
  2204.  
  2205. Return (BUF0)
  2206. }
  2207. }
  2208.  
  2209. Device (PEGP)
  2210. {
  2211. Name (_ADR, 0x00010000)
  2212. Method (_PRT, 0, NotSerialized)
  2213. {
  2214. If (GPIC)
  2215. {
  2216. Return (Package (0x04)
  2217. {
  2218. Package (0x04)
  2219. {
  2220. 0xFFFF,
  2221. Zero,
  2222. Zero,
  2223. 0x10
  2224. },
  2225.  
  2226. Package (0x04)
  2227. {
  2228. 0xFFFF,
  2229. One,
  2230. Zero,
  2231. 0x11
  2232. },
  2233.  
  2234. Package (0x04)
  2235. {
  2236. 0xFFFF,
  2237. 0x02,
  2238. Zero,
  2239. 0x12
  2240. },
  2241.  
  2242. Package (0x04)
  2243. {
  2244. 0xFFFF,
  2245. 0x03,
  2246. Zero,
  2247. 0x13
  2248. }
  2249. })
  2250. }
  2251. Else
  2252. {
  2253. Return (Package (0x04)
  2254. {
  2255. Package (0x04)
  2256. {
  2257. 0xFFFF,
  2258. Zero,
  2259. ^^LPCB.LNKA,
  2260. Zero
  2261. },
  2262.  
  2263. Package (0x04)
  2264. {
  2265. 0xFFFF,
  2266. One,
  2267. ^^LPCB.LNKB,
  2268. Zero
  2269. },
  2270.  
  2271. Package (0x04)
  2272. {
  2273. 0xFFFF,
  2274. 0x02,
  2275. ^^LPCB.LNKC,
  2276. Zero
  2277. },
  2278.  
  2279. Package (0x04)
  2280. {
  2281. 0xFFFF,
  2282. 0x03,
  2283. ^^LPCB.LNKD,
  2284. Zero
  2285. }
  2286. })
  2287. }
  2288. }
  2289.  
  2290. Device (VGA)
  2291. {
  2292. Name (_ADR, Zero)
  2293. Name (SWIT, One)
  2294. Name (CRTA, One)
  2295. Name (LCDA, One)
  2296. Name (TVAA, One)
  2297. Name (VLDF, One)
  2298. OperationRegion (VIDS, PCI_Config, Zero, 0xC8)
  2299. Field (VIDS, DWordAcc, NoLock, Preserve)
  2300. {
  2301. VDID, 32
  2302. }
  2303.  
  2304. Method (_STA, 0, NotSerialized)
  2305. {
  2306. Return (0x0F)
  2307. }
  2308.  
  2309. Name (_PSC, Zero)
  2310. Method (_PS0, 0, NotSerialized)
  2311. {
  2312. Store (Zero, _PSC)
  2313. }
  2314.  
  2315. Method (_PS1, 0, NotSerialized)
  2316. {
  2317. Store (One, _PSC)
  2318. }
  2319.  
  2320. Method (_PS3, 0, NotSerialized)
  2321. {
  2322. Store (0x03, _PSC)
  2323. }
  2324.  
  2325. Method (_DOS, 1, NotSerialized)
  2326. {
  2327. Store (And (Arg0, 0x03), SWIT)
  2328. }
  2329.  
  2330. Method (_DOD, 0, NotSerialized)
  2331. {
  2332. Return (Package (0x03)
  2333. {
  2334. 0x00010100,
  2335. 0x00010110,
  2336. 0x0200
  2337. })
  2338. }
  2339.  
  2340. Device (CRT)
  2341. {
  2342. Method (_ADR, 0, NotSerialized)
  2343. {
  2344. Return (0x0100)
  2345. }
  2346.  
  2347. Method (_DCS, 0, NotSerialized)
  2348. {
  2349. ^^^^LPCB.PHSS (0x0C)
  2350. Store (CADL, Local0)
  2351. Store (CSTE, Local1)
  2352. And (Local0, 0x02, Local0)
  2353. And (Local1, 0x02, Local1)
  2354. If (Local0)
  2355. {
  2356. Store (One, CRTA)
  2357. }
  2358. Else
  2359. {
  2360. Store (Zero, CRTA)
  2361. }
  2362.  
  2363. If (CRTA)
  2364. {
  2365. If (LEqual (Local1, 0x02))
  2366. {
  2367. Return (0x1F)
  2368. }
  2369. Else
  2370. {
  2371. Return (0x1D)
  2372. }
  2373. }
  2374. Else
  2375. {
  2376. If (LEqual (Local1, 0x02))
  2377. {
  2378. Return (0x0F)
  2379. }
  2380. Else
  2381. {
  2382. Return (0x0D)
  2383. }
  2384. }
  2385. }
  2386.  
  2387. Method (_DGS, 0, NotSerialized)
  2388. {
  2389. If (CRTA)
  2390. {
  2391. Return (One)
  2392. }
  2393. Else
  2394. {
  2395. Return (Zero)
  2396. }
  2397. }
  2398.  
  2399. Method (_DSS, 1, NotSerialized)
  2400. {
  2401. }
  2402. }
  2403.  
  2404. Device (LCD)
  2405. {
  2406. Method (_ADR, 0, NotSerialized)
  2407. {
  2408. Return (0x0110)
  2409. }
  2410.  
  2411. Method (_DCS, 0, NotSerialized)
  2412. {
  2413. ^^^^LPCB.PHSS (0x0C)
  2414. Store (CADL, Local0)
  2415. Store (CSTE, Local1)
  2416. And (Local0, One, Local0)
  2417. And (Local1, One, Local1)
  2418. If (Local0)
  2419. {
  2420. Store (One, LCDA)
  2421. }
  2422. Else
  2423. {
  2424. Store (Zero, LCDA)
  2425. }
  2426.  
  2427. If (LCDA)
  2428. {
  2429. If (LEqual (Local1, One))
  2430. {
  2431. Return (0x1F)
  2432. }
  2433. Else
  2434. {
  2435. Return (0x1D)
  2436. }
  2437. }
  2438. Else
  2439. {
  2440. If (LEqual (Local1, One))
  2441. {
  2442. Return (0x0F)
  2443. }
  2444. Else
  2445. {
  2446. Return (0x0D)
  2447. }
  2448. }
  2449. }
  2450.  
  2451. Method (_DGS, 0, NotSerialized)
  2452. {
  2453. If (LCDA)
  2454. {
  2455. Return (One)
  2456. }
  2457. Else
  2458. {
  2459. Return (Zero)
  2460. }
  2461. }
  2462.  
  2463. Method (_DSS, 1, NotSerialized)
  2464. {
  2465. }
  2466.  
  2467. Method (_BCL, 0, NotSerialized)
  2468. {
  2469. Return (Package (0x0A)
  2470. {
  2471. 0x46,
  2472. 0x28,
  2473. Zero,
  2474. 0x0A,
  2475. 0x14,
  2476. 0x1E,
  2477. 0x28,
  2478. 0x32,
  2479. 0x3C,
  2480. 0x46
  2481. })
  2482. }
  2483.  
  2484. Method (_BCM, 1, NotSerialized)
  2485. {
  2486. Divide (Arg0, 0x0A, Local0, Local1)
  2487. Store (Local1, ^^^^LPCB.EC0.BRTS)
  2488. }
  2489.  
  2490. Method (_BQC, 0, NotSerialized)
  2491. {
  2492. Multiply (^^^^LPCB.EC0.BRTS, 0x0A, Local0)
  2493. Return (Local0)
  2494. }
  2495. }
  2496.  
  2497. Device (TV)
  2498. {
  2499. Method (_ADR, 0, NotSerialized)
  2500. {
  2501. Return (0x0200)
  2502. }
  2503.  
  2504. Method (_DCS, 0, NotSerialized)
  2505. {
  2506. ^^^^LPCB.PHSS (0x0C)
  2507. Store (CADL, Local0)
  2508. Store (CSTE, Local1)
  2509. And (Local0, 0x04, Local0)
  2510. And (Local1, 0x04, Local1)
  2511. If (Local0)
  2512. {
  2513. Store (One, TVAA)
  2514. }
  2515. Else
  2516. {
  2517. Store (Zero, TVAA)
  2518. }
  2519.  
  2520. If (TVAA)
  2521. {
  2522. If (LEqual (Local1, 0x04))
  2523. {
  2524. Return (0x1F)
  2525. }
  2526. Else
  2527. {
  2528. Return (0x1D)
  2529. }
  2530. }
  2531. Else
  2532. {
  2533. If (LEqual (Local1, 0x04))
  2534. {
  2535. Return (0x0F)
  2536. }
  2537. Else
  2538. {
  2539. Return (0x0D)
  2540. }
  2541. }
  2542. }
  2543.  
  2544. Method (_DGS, 0, NotSerialized)
  2545. {
  2546. If (TVAA)
  2547. {
  2548. Return (One)
  2549. }
  2550. Else
  2551. {
  2552. Return (Zero)
  2553. }
  2554. }
  2555.  
  2556. Method (_DSS, 1, NotSerialized)
  2557. {
  2558. }
  2559. }
  2560.  
  2561. Method (DSSW, 0, NotSerialized)
  2562. {
  2563. If (LEqual (SWIT, Zero))
  2564. {
  2565. ^^^LPCB.PHSS (0x0C)
  2566. Store (CADL, Local0)
  2567. Store (CSTE, Local1)
  2568. If (LGreater (Local1, One))
  2569. {
  2570. And (Local0, Local1, VLDF)
  2571. And (VLDF, 0xFE, VLDF)
  2572. }
  2573.  
  2574. If (VLDF)
  2575. {
  2576. If (LEqual (Local0, 0x03))
  2577. {
  2578. If (LEqual (Local1, One))
  2579. {
  2580. STBL (0x04)
  2581. }
  2582.  
  2583. If (LEqual (Local1, 0x03))
  2584. {
  2585. STBL (0x02)
  2586. }
  2587.  
  2588. If (LEqual (Local1, 0x02))
  2589. {
  2590. STBL (One)
  2591. }
  2592. }
  2593.  
  2594. If (LEqual (Local0, 0x05))
  2595. {
  2596. If (LEqual (Local1, One))
  2597. {
  2598. STBL (0x06)
  2599. }
  2600.  
  2601. If (LEqual (Local1, 0x05))
  2602. {
  2603. STBL (0x03)
  2604. }
  2605.  
  2606. If (LEqual (Local1, 0x04))
  2607. {
  2608. STBL (One)
  2609. }
  2610. }
  2611.  
  2612. If (LEqual (Local0, 0x07))
  2613. {
  2614. If (LEqual (Local1, One))
  2615. {
  2616. STBL (0x04)
  2617. }
  2618.  
  2619. If (LEqual (Local1, 0x03))
  2620. {
  2621. STBL (0x02)
  2622. }
  2623.  
  2624. If (LEqual (Local1, 0x02))
  2625. {
  2626. STBL (0x06)
  2627. }
  2628.  
  2629. If (LEqual (Local1, 0x05))
  2630. {
  2631. STBL (0x03)
  2632. }
  2633.  
  2634. If (LEqual (Local1, 0x04))
  2635. {
  2636. STBL (One)
  2637. }
  2638. }
  2639. }
  2640. Else
  2641. {
  2642. Store (One, VLDF)
  2643. STBL (One)
  2644. }
  2645. }
  2646. Else
  2647. {
  2648. If (LEqual (SWIT, One))
  2649. {
  2650. ^^^LPCB.PHSS (One)
  2651. }
  2652. }
  2653. }
  2654.  
  2655. Method (STBL, 1, NotSerialized)
  2656. {
  2657. If (LEqual (Arg0, One))
  2658. {
  2659. Store (Zero, CRTA)
  2660. Store (One, LCDA)
  2661. Store (Zero, TVAA)
  2662. }
  2663.  
  2664. If (LEqual (Arg0, 0x02))
  2665. {
  2666. Store (One, CRTA)
  2667. Store (Zero, LCDA)
  2668. Store (Zero, TVAA)
  2669. }
  2670.  
  2671. If (LEqual (Arg0, 0x03))
  2672. {
  2673. Store (Zero, CRTA)
  2674. Store (Zero, LCDA)
  2675. Store (One, TVAA)
  2676. }
  2677.  
  2678. If (LEqual (Arg0, 0x04))
  2679. {
  2680. Store (One, CRTA)
  2681. Store (One, LCDA)
  2682. Store (Zero, TVAA)
  2683. }
  2684.  
  2685. If (LEqual (Arg0, 0x05))
  2686. {
  2687. Store (Zero, CRTA)
  2688. Store (One, LCDA)
  2689. Store (One, TVAA)
  2690. }
  2691.  
  2692. If (LEqual (Arg0, 0x06))
  2693. {
  2694. Store (One, CRTA)
  2695. Store (Zero, LCDA)
  2696. Store (One, TVAA)
  2697. }
  2698.  
  2699. If (LEqual (Arg0, 0x07))
  2700. {
  2701. Store (One, CRTA)
  2702. Store (One, LCDA)
  2703. Store (One, TVAA)
  2704. }
  2705.  
  2706. Notify (VGA, 0x80)
  2707. }
  2708. }
  2709. }
  2710.  
  2711. Device (GFX0)
  2712. {
  2713. Name (_ADR, 0x00020000)
  2714. Method (_DOS, 1, NotSerialized)
  2715. {
  2716. Store (And (Arg0, 0x07), DSEN)
  2717. }
  2718.  
  2719. Method (_DOD, 0, NotSerialized)
  2720. {
  2721. Store (Zero, NDID)
  2722. If (LNotEqual (DIDL, Zero))
  2723. {
  2724. Store (SDDL (DID1), DID1)
  2725. }
  2726.  
  2727. If (LNotEqual (DDL2, Zero))
  2728. {
  2729. Store (SDDL (DID2), DID2)
  2730. }
  2731.  
  2732. If (LNotEqual (DDL3, Zero))
  2733. {
  2734. Store (SDDL (DID3), DID3)
  2735. }
  2736.  
  2737. If (LNotEqual (DDL4, Zero))
  2738. {
  2739. Store (SDDL (DID4), DID4)
  2740. }
  2741.  
  2742. If (LNotEqual (DDL5, Zero))
  2743. {
  2744. Store (SDDL (DID5), DID5)
  2745. }
  2746.  
  2747. If (LEqual (NDID, One))
  2748. {
  2749. Name (TMP1, Package (0x01)
  2750. {
  2751. 0xFFFFFFFF
  2752. })
  2753. Store (Or (0x00010000, DID1), Index (TMP1, Zero))
  2754. Return (TMP1)
  2755. }
  2756.  
  2757. If (LEqual (NDID, 0x02))
  2758. {
  2759. Name (TMP2, Package (0x02)
  2760. {
  2761. 0xFFFFFFFF,
  2762. 0xFFFFFFFF
  2763. })
  2764. Store (Or (0x00010000, DID1), Index (TMP2, Zero))
  2765. Store (Or (0x00010000, DID2), Index (TMP2, One))
  2766. Return (TMP2)
  2767. }
  2768.  
  2769. If (LEqual (NDID, 0x03))
  2770. {
  2771. Name (TMP3, Package (0x03)
  2772. {
  2773. 0xFFFFFFFF,
  2774. 0xFFFFFFFF,
  2775. 0xFFFFFFFF
  2776. })
  2777. Store (Or (0x00010000, DID1), Index (TMP3, Zero))
  2778. Store (Or (0x00010000, DID2), Index (TMP3, One))
  2779. Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
  2780. Return (TMP3)
  2781. }
  2782.  
  2783. If (LEqual (NDID, 0x04))
  2784. {
  2785. Name (TMP4, Package (0x04)
  2786. {
  2787. 0xFFFFFFFF,
  2788. 0xFFFFFFFF,
  2789. 0xFFFFFFFF,
  2790. 0xFFFFFFFF
  2791. })
  2792. Store (Or (0x00010000, DID1), Index (TMP4, Zero))
  2793. Store (Or (0x00010000, DID2), Index (TMP4, One))
  2794. Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
  2795. Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
  2796. Return (TMP4)
  2797. }
  2798.  
  2799. If (LGreater (NDID, 0x04))
  2800. {
  2801. Name (TMP5, Package (0x05)
  2802. {
  2803. 0xFFFFFFFF,
  2804. 0xFFFFFFFF,
  2805. 0xFFFFFFFF,
  2806. 0xFFFFFFFF,
  2807. 0xFFFFFFFF
  2808. })
  2809. Store (Or (0x00010000, DID1), Index (TMP5, Zero))
  2810. Store (Or (0x00010000, DID2), Index (TMP5, One))
  2811. Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
  2812. Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
  2813. Store (Or (0x00010000, DID4), Index (TMP5, 0x04))
  2814. Return (TMP5)
  2815. }
  2816.  
  2817. Return (Package (0x01)
  2818. {
  2819. 0x0400
  2820. })
  2821. }
  2822.  
  2823. Device (DD01)
  2824. {
  2825. Method (_ADR, 0, Serialized)
  2826. {
  2827. If (LEqual (DID1, Zero))
  2828. {
  2829. Return (One)
  2830. }
  2831. Else
  2832. {
  2833. Return (And (0xFFFF, DID1))
  2834. }
  2835. }
  2836.  
  2837. Method (_DCS, 0, NotSerialized)
  2838. {
  2839. Return (CDDS (DID1))
  2840. }
  2841.  
  2842. Method (_DGS, 0, NotSerialized)
  2843. {
  2844. Return (NDDS (DID1))
  2845. }
  2846.  
  2847. Method (_DSS, 1, NotSerialized)
  2848. {
  2849. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2850. {
  2851. Store (NSTE, CSTE)
  2852. }
  2853. }
  2854. }
  2855.  
  2856. Device (DD02)
  2857. {
  2858. Method (_ADR, 0, Serialized)
  2859. {
  2860. If (LEqual (DID2, Zero))
  2861. {
  2862. Return (0x02)
  2863. }
  2864. Else
  2865. {
  2866. Return (And (0xFFFF, DID2))
  2867. }
  2868. }
  2869.  
  2870. Method (_DCS, 0, NotSerialized)
  2871. {
  2872. Return (CDDS (DID2))
  2873. }
  2874.  
  2875. Method (_DGS, 0, NotSerialized)
  2876. {
  2877. Return (NDDS (DID2))
  2878. }
  2879.  
  2880. Method (_DSS, 1, NotSerialized)
  2881. {
  2882. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2883. {
  2884. Store (NSTE, CSTE)
  2885. }
  2886. }
  2887. }
  2888.  
  2889. Device (DD03)
  2890. {
  2891. Method (_ADR, 0, Serialized)
  2892. {
  2893. If (LEqual (DID3, Zero))
  2894. {
  2895. Return (0x03)
  2896. }
  2897. Else
  2898. {
  2899. Return (And (0xFFFF, DID3))
  2900. }
  2901. }
  2902.  
  2903. Method (_DCS, 0, NotSerialized)
  2904. {
  2905. If (LEqual (DID3, Zero))
  2906. {
  2907. Return (0x0B)
  2908. }
  2909. Else
  2910. {
  2911. Return (CDDS (DID3))
  2912. }
  2913. }
  2914.  
  2915. Method (_DGS, 0, NotSerialized)
  2916. {
  2917. Return (NDDS (DID3))
  2918. }
  2919.  
  2920. Method (_DSS, 1, NotSerialized)
  2921. {
  2922. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2923. {
  2924. Store (NSTE, CSTE)
  2925. }
  2926. }
  2927. }
  2928.  
  2929. Device (DD04)
  2930. {
  2931. Method (_ADR, 0, Serialized)
  2932. {
  2933. If (LEqual (DID4, Zero))
  2934. {
  2935. Return (0x04)
  2936. }
  2937. Else
  2938. {
  2939. Return (And (0xFFFF, DID4))
  2940. }
  2941. }
  2942.  
  2943. Method (_DCS, 0, NotSerialized)
  2944. {
  2945. If (LEqual (DID4, Zero))
  2946. {
  2947. Return (0x0B)
  2948. }
  2949. Else
  2950. {
  2951. Return (CDDS (DID4))
  2952. }
  2953. }
  2954.  
  2955. Method (_DGS, 0, NotSerialized)
  2956. {
  2957. Return (NDDS (DID4))
  2958. }
  2959.  
  2960. Method (_DSS, 1, NotSerialized)
  2961. {
  2962. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2963. {
  2964. Store (NSTE, CSTE)
  2965. }
  2966. }
  2967. }
  2968.  
  2969. Device (DD05)
  2970. {
  2971. Method (_ADR, 0, Serialized)
  2972. {
  2973. If (LEqual (DID5, Zero))
  2974. {
  2975. Return (0x05)
  2976. }
  2977. Else
  2978. {
  2979. Return (And (0xFFFF, DID5))
  2980. }
  2981. }
  2982.  
  2983. Method (_DCS, 0, NotSerialized)
  2984. {
  2985. If (LEqual (DID5, Zero))
  2986. {
  2987. Return (0x0B)
  2988. }
  2989. Else
  2990. {
  2991. Return (CDDS (DID5))
  2992. }
  2993. }
  2994.  
  2995. Method (_DGS, 0, NotSerialized)
  2996. {
  2997. Return (NDDS (DID5))
  2998. }
  2999.  
  3000. Method (_DSS, 1, NotSerialized)
  3001. {
  3002. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  3003. {
  3004. Store (NSTE, CSTE)
  3005. }
  3006. }
  3007. }
  3008.  
  3009. Method (SDDL, 1, NotSerialized)
  3010. {
  3011. Increment (NDID)
  3012. Store (And (Arg0, 0x0F0F), Local0)
  3013. Or (0x80000000, Local0, Local1)
  3014. If (LEqual (DIDL, Local0))
  3015. {
  3016. Return (Local1)
  3017. }
  3018.  
  3019. If (LEqual (DDL2, Local0))
  3020. {
  3021. Return (Local1)
  3022. }
  3023.  
  3024. If (LEqual (DDL3, Local0))
  3025. {
  3026. Return (Local1)
  3027. }
  3028.  
  3029. If (LEqual (DDL4, Local0))
  3030. {
  3031. Return (Local1)
  3032. }
  3033.  
  3034. If (LEqual (DDL5, Local0))
  3035. {
  3036. Return (Local1)
  3037. }
  3038.  
  3039. If (LEqual (DDL6, Local0))
  3040. {
  3041. Return (Local1)
  3042. }
  3043.  
  3044. If (LEqual (DDL7, Local0))
  3045. {
  3046. Return (Local1)
  3047. }
  3048.  
  3049. If (LEqual (DDL8, Local0))
  3050. {
  3051. Return (Local1)
  3052. }
  3053.  
  3054. Return (Zero)
  3055. }
  3056.  
  3057. Method (CDDS, 1, NotSerialized)
  3058. {
  3059. If (LEqual (CADL, And (Arg0, 0x0F0F)))
  3060. {
  3061. Return (0x1F)
  3062. }
  3063.  
  3064. If (LEqual (CAL2, And (Arg0, 0x0F0F)))
  3065. {
  3066. Return (0x1F)
  3067. }
  3068.  
  3069. If (LEqual (CAL3, And (Arg0, 0x0F0F)))
  3070. {
  3071. Return (0x1F)
  3072. }
  3073.  
  3074. If (LEqual (CAL4, And (Arg0, 0x0F0F)))
  3075. {
  3076. Return (0x1F)
  3077. }
  3078.  
  3079. If (LEqual (CAL5, And (Arg0, 0x0F0F)))
  3080. {
  3081. Return (0x1F)
  3082. }
  3083.  
  3084. If (LEqual (CAL6, And (Arg0, 0x0F0F)))
  3085. {
  3086. Return (0x1F)
  3087. }
  3088.  
  3089. If (LEqual (CAL7, And (Arg0, 0x0F0F)))
  3090. {
  3091. Return (0x1F)
  3092. }
  3093.  
  3094. If (LEqual (CAL8, And (Arg0, 0x0F0F)))
  3095. {
  3096. Return (0x1F)
  3097. }
  3098.  
  3099. Return (0x1D)
  3100. }
  3101.  
  3102. Method (NDDS, 1, NotSerialized)
  3103. {
  3104. If (LEqual (NADL, And (Arg0, 0x0F0F)))
  3105. {
  3106. Return (One)
  3107. }
  3108.  
  3109. If (LEqual (NDL2, And (Arg0, 0x0F0F)))
  3110. {
  3111. Return (One)
  3112. }
  3113.  
  3114. If (LEqual (NDL3, And (Arg0, 0x0F0F)))
  3115. {
  3116. Return (One)
  3117. }
  3118.  
  3119. If (LEqual (NDL4, And (Arg0, 0x0F0F)))
  3120. {
  3121. Return (One)
  3122. }
  3123.  
  3124. If (LEqual (NDL5, And (Arg0, 0x0F0F)))
  3125. {
  3126. Return (One)
  3127. }
  3128.  
  3129. If (LEqual (NDL6, And (Arg0, 0x0F0F)))
  3130. {
  3131. Return (One)
  3132. }
  3133.  
  3134. If (LEqual (NDL7, And (Arg0, 0x0F0F)))
  3135. {
  3136. Return (One)
  3137. }
  3138.  
  3139. If (LEqual (NDL8, And (Arg0, 0x0F0F)))
  3140. {
  3141. Return (One)
  3142. }
  3143.  
  3144. Return (Zero)
  3145. }
  3146.  
  3147. Method (BRTN, 1, Serialized)
  3148. {
  3149. If (LEqual (And (DID1, 0x0F00), 0x0400))
  3150. {
  3151. Notify (DD01, Arg0)
  3152. }
  3153.  
  3154. If (LEqual (And (DID2, 0x0F00), 0x0400))
  3155. {
  3156. Notify (DD02, Arg0)
  3157. }
  3158.  
  3159. If (LEqual (And (DID3, 0x0F00), 0x0400))
  3160. {
  3161. Notify (DD03, Arg0)
  3162. }
  3163.  
  3164. If (LEqual (And (DID4, 0x0F00), 0x0400))
  3165. {
  3166. Notify (DD04, Arg0)
  3167. }
  3168.  
  3169. If (LEqual (And (DID5, 0x0F00), 0x0400))
  3170. {
  3171. Notify (DD05, Arg0)
  3172. }
  3173. }
  3174.  
  3175. Scope (^^PCI0)
  3176. {
  3177. OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
  3178. Field (MCHP, AnyAcc, NoLock, Preserve)
  3179. {
  3180. Offset (0x60),
  3181. TASM, 10,
  3182. Offset (0x62)
  3183. }
  3184. }
  3185.  
  3186. OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
  3187. Field (IGDP, AnyAcc, NoLock, Preserve)
  3188. {
  3189. Offset (0x12),
  3190. , 1,
  3191. GIVD, 1,
  3192. , 2,
  3193. GUMA, 3,
  3194. Offset (0x14),
  3195. , 4,
  3196. GMFN, 1,
  3197. Offset (0x18),
  3198. Offset (0xA4),
  3199. ASLE, 8,
  3200. Offset (0xA8),
  3201. GSSE, 1,
  3202. GSSB, 14,
  3203. GSES, 1,
  3204. Offset (0xB0),
  3205. Offset (0xB1),
  3206. CDVL, 5,
  3207. Offset (0xB2),
  3208. Offset (0xB5),
  3209. LBPC, 8,
  3210. Offset (0xBC),
  3211. ASLS, 32
  3212. }
  3213.  
  3214. OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
  3215. Field (IGDM, AnyAcc, NoLock, Preserve)
  3216. {
  3217. SIGN, 128,
  3218. SIZE, 32,
  3219. OVER, 32,
  3220. SVER, 256,
  3221. VVER, 128,
  3222. GVER, 128,
  3223. MBOX, 32,
  3224. Offset (0x100),
  3225. DRDY, 32,
  3226. CSTS, 32,
  3227. CEVT, 32,
  3228. Offset (0x120),
  3229. DIDL, 32,
  3230. DDL2, 32,
  3231. DDL3, 32,
  3232. DDL4, 32,
  3233. DDL5, 32,
  3234. DDL6, 32,
  3235. DDL7, 32,
  3236. DDL8, 32,
  3237. CPDL, 32,
  3238. CPL2, 32,
  3239. CPL3, 32,
  3240. CPL4, 32,
  3241. CPL5, 32,
  3242. CPL6, 32,
  3243. CPL7, 32,
  3244. CPL8, 32,
  3245. CADL, 32,
  3246. CAL2, 32,
  3247. CAL3, 32,
  3248. CAL4, 32,
  3249. CAL5, 32,
  3250. CAL6, 32,
  3251. CAL7, 32,
  3252. CAL8, 32,
  3253. NADL, 32,
  3254. NDL2, 32,
  3255. NDL3, 32,
  3256. NDL4, 32,
  3257. NDL5, 32,
  3258. NDL6, 32,
  3259. NDL7, 32,
  3260. NDL8, 32,
  3261. ASLP, 32,
  3262. TIDX, 32,
  3263. CHPD, 32,
  3264. CLID, 32,
  3265. CDCK, 32,
  3266. SXSW, 32,
  3267. EVTS, 32,
  3268. CNOT, 32,
  3269. NRDY, 32,
  3270. Offset (0x200),
  3271. SCIE, 1,
  3272. GEFC, 4,
  3273. GXFC, 3,
  3274. GESF, 8,
  3275. Offset (0x204),
  3276. PARM, 32,
  3277. DSLP, 32,
  3278. Offset (0x300),
  3279. ARDY, 32,
  3280. ASLC, 32,
  3281. TCHE, 32,
  3282. ALSI, 32,
  3283. BCLP, 32,
  3284. PFIT, 32,
  3285. CBLV, 32,
  3286. BCLM, 320,
  3287. CPFM, 32,
  3288. EPFM, 32,
  3289. Offset (0x400),
  3290. GVD1, 57344
  3291. }
  3292.  
  3293. Name (DBTB, Package (0x15)
  3294. {
  3295. Zero,
  3296. 0x07,
  3297. 0x38,
  3298. 0x01C0,
  3299. 0x0E00,
  3300. 0x3F,
  3301. 0x01C7,
  3302. 0x0E07,
  3303. 0x01F8,
  3304. 0x0E38,
  3305. 0x0FC0,
  3306. Zero,
  3307. Zero,
  3308. Zero,
  3309. Zero,
  3310. Zero,
  3311. 0x7000,
  3312. 0x7007,
  3313. 0x7038,
  3314. 0x71C0,
  3315. 0x7E00
  3316. })
  3317. Name (CDCT, Package (0x03)
  3318. {
  3319. Package (0x03)
  3320. {
  3321. 0xC8,
  3322. 0x0140,
  3323. 0x0190
  3324. },
  3325.  
  3326. Package (0x03)
  3327. {
  3328. 0xC8,
  3329. 0x014D,
  3330. 0x0190
  3331. },
  3332.  
  3333. Package (0x03)
  3334. {
  3335. 0xDE,
  3336. 0x014D,
  3337. 0x017D
  3338. }
  3339. })
  3340. Name (SUCC, One)
  3341. Name (NVLD, 0x02)
  3342. Name (CRIT, 0x04)
  3343. Name (NCRT, 0x06)
  3344. Method (GSCI, 0, Serialized)
  3345. {
  3346. Method (GBDA, 0, Serialized)
  3347. {
  3348. If (LEqual (GESF, Zero))
  3349. {
  3350. Store (0x0279, PARM)
  3351. Store (Zero, GESF)
  3352. Return (SUCC)
  3353. }
  3354.  
  3355. If (LEqual (GESF, One))
  3356. {
  3357. Store (0x0240, PARM)
  3358. Store (Zero, GESF)
  3359. Return (SUCC)
  3360. }
  3361.  
  3362. If (LEqual (GESF, 0x04))
  3363. {
  3364. And (PARM, 0xEFFF0000, PARM)
  3365. And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),
  3366. PARM)
  3367. Or (IBTT, PARM, PARM)
  3368. Store (Zero, GESF)
  3369. Return (SUCC)
  3370. }
  3371.  
  3372. If (LEqual (GESF, 0x05))
  3373. {
  3374. Store (IPSC, PARM)
  3375. Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
  3376. Add (PARM, 0x0100, PARM)
  3377. Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
  3378. Add (PARM, 0x00010000, PARM)
  3379. Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
  3380. Store (Zero, GESF)
  3381. Return (SUCC)
  3382. }
  3383.  
  3384. If (LEqual (GESF, 0x06))
  3385. {
  3386. Store (ITVF, PARM)
  3387. Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
  3388. Store (Zero, GESF)
  3389. Return (SUCC)
  3390. }
  3391.  
  3392. If (LEqual (GESF, 0x07))
  3393. {
  3394. Store (GIVD, PARM)
  3395. XOr (PARM, One, PARM)
  3396. Or (PARM, ShiftLeft (GMFN, One), PARM)
  3397. Or (PARM, 0x1000, PARM)
  3398. If (IDMM)
  3399. {
  3400. Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
  3401. }
  3402. Else
  3403. {
  3404. Or (PARM, ShiftLeft (IDMS, 0x0D), PARM)
  3405. }
  3406.  
  3407. Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), Subtract (
  3408. CDVL, One))), 0x15), PARM, PARM)
  3409. Store (One, GESF)
  3410. Return (SUCC)
  3411. }
  3412.  
  3413. If (LEqual (GESF, 0x0A))
  3414. {
  3415. Store (Zero, PARM)
  3416. If (ISSC)
  3417. {
  3418. Or (PARM, 0x03, PARM)
  3419. }
  3420.  
  3421. Store (Zero, GESF)
  3422. Return (SUCC)
  3423. }
  3424.  
  3425. Store (Zero, GESF)
  3426. Return (CRIT)
  3427. }
  3428.  
  3429. Method (SBCB, 0, Serialized)
  3430. {
  3431. If (LEqual (GESF, Zero))
  3432. {
  3433. Store (Zero, PARM)
  3434. Store (0xF77D, PARM)
  3435. Store (Zero, GESF)
  3436. Return (SUCC)
  3437. }
  3438.  
  3439. If (LEqual (GESF, One))
  3440. {
  3441. Store (Zero, GESF)
  3442. Store (Zero, PARM)
  3443. Return (SUCC)
  3444. }
  3445.  
  3446. If (LEqual (GESF, 0x03))
  3447. {
  3448. Store (Zero, GESF)
  3449. Store (Zero, PARM)
  3450. Return (SUCC)
  3451. }
  3452.  
  3453. If (LEqual (GESF, 0x04))
  3454. {
  3455. Store (Zero, GESF)
  3456. Store (Zero, PARM)
  3457. Return (SUCC)
  3458. }
  3459.  
  3460. If (LEqual (GESF, 0x05))
  3461. {
  3462. Store (Zero, GESF)
  3463. Store (Zero, PARM)
  3464. Return (SUCC)
  3465. }
  3466.  
  3467. If (LEqual (GESF, 0x06))
  3468. {
  3469. Store (And (PARM, 0x0F), ITVF)
  3470. Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
  3471. Store (Zero, GESF)
  3472. Store (Zero, PARM)
  3473. Return (SUCC)
  3474. }
  3475.  
  3476. If (LEqual (GESF, 0x07))
  3477. {
  3478. Store (Zero, GESF)
  3479. Store (Zero, PARM)
  3480. Return (SUCC)
  3481. }
  3482.  
  3483. If (LEqual (GESF, 0x08))
  3484. {
  3485. Store (Zero, GESF)
  3486. Store (Zero, PARM)
  3487. Return (SUCC)
  3488. }
  3489.  
  3490. If (LEqual (GESF, 0x09))
  3491. {
  3492. And (PARM, 0xFF, IBTT)
  3493. Store (Zero, GESF)
  3494. Store (Zero, PARM)
  3495. Return (SUCC)
  3496. }
  3497.  
  3498. If (LEqual (GESF, 0x0A))
  3499. {
  3500. And (PARM, 0xFF, IPSC)
  3501. If (And (ShiftRight (PARM, 0x08), 0xFF))
  3502. {
  3503. And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
  3504. Decrement (IPAT)
  3505. }
  3506.  
  3507. And (ShiftRight (PARM, 0x14), 0x07, IBIA)
  3508. Store (Zero, GESF)
  3509. Store (Zero, PARM)
  3510. Return (SUCC)
  3511. }
  3512.  
  3513. If (LEqual (GESF, 0x0B))
  3514. {
  3515. And (ShiftRight (PARM, One), One, IF1E)
  3516. If (And (PARM, 0x0001E000))
  3517. {
  3518. And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
  3519. Store (Zero, IDMM)
  3520. }
  3521. Else
  3522. {
  3523. And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
  3524. Store (One, IDMM)
  3525. }
  3526.  
  3527. Store (Zero, GESF)
  3528. Store (Zero, PARM)
  3529. Return (SUCC)
  3530. }
  3531.  
  3532. If (LEqual (GESF, 0x10))
  3533. {
  3534. Store (Zero, GESF)
  3535. Store (Zero, PARM)
  3536. Return (SUCC)
  3537. }
  3538.  
  3539. If (LEqual (GESF, 0x11))
  3540. {
  3541. Or (PARM, 0x0100, PARM)
  3542. Store (Zero, GESF)
  3543. Return (SUCC)
  3544. }
  3545.  
  3546. If (LEqual (GESF, 0x12))
  3547. {
  3548. If (And (PARM, One))
  3549. {
  3550. If (LEqual (ShiftRight (PARM, One), One))
  3551. {
  3552. Store (One, ISSC)
  3553. }
  3554. Else
  3555. {
  3556. Store (Zero, GESF)
  3557. Return (CRIT)
  3558. }
  3559. }
  3560. Else
  3561. {
  3562. Store (Zero, ISSC)
  3563. }
  3564.  
  3565. Store (Zero, GESF)
  3566. Store (Zero, PARM)
  3567. Return (SUCC)
  3568. }
  3569.  
  3570. If (LEqual (GESF, 0x13))
  3571. {
  3572. Store (Zero, GESF)
  3573. Store (Zero, PARM)
  3574. Return (SUCC)
  3575. }
  3576.  
  3577. Store (Zero, GESF)
  3578. Return (SUCC)
  3579. }
  3580.  
  3581. If (LEqual (GEFC, 0x04))
  3582. {
  3583. Store (GBDA (), GXFC)
  3584. }
  3585.  
  3586. If (LEqual (GEFC, 0x06))
  3587. {
  3588. Store (SBCB (), GXFC)
  3589. }
  3590.  
  3591. Store (Zero, GEFC)
  3592. Store (One, SCIS)
  3593. Store (Zero, GSSE)
  3594. Store (Zero, SCIE)
  3595. Return (Zero)
  3596. }
  3597.  
  3598. Method (PDRD, 0, NotSerialized)
  3599. {
  3600. If (LNot (DRDY))
  3601. {
  3602. Sleep (ASLP)
  3603. }
  3604.  
  3605. Return (LNot (DRDY))
  3606. }
  3607.  
  3608. Method (PSTS, 0, NotSerialized)
  3609. {
  3610. If (LGreater (CSTS, 0x02))
  3611. {
  3612. Sleep (ASLP)
  3613. }
  3614.  
  3615. Return (LEqual (CSTS, 0x03))
  3616. }
  3617.  
  3618. Method (GNOT, 2, NotSerialized)
  3619. {
  3620. If (PDRD ())
  3621. {
  3622. Return (One)
  3623. }
  3624.  
  3625. Store (Arg0, CEVT)
  3626. Store (0x03, CSTS)
  3627. If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
  3628. {
  3629. If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
  3630. {
  3631. Notify (PCI0, Arg1)
  3632. }
  3633. Else
  3634. {
  3635. Notify (GFX0, Arg1)
  3636. }
  3637. }
  3638.  
  3639. Notify (GFX0, 0x80)
  3640. Return (Zero)
  3641. }
  3642.  
  3643. Method (GHDS, 1, NotSerialized)
  3644. {
  3645. Store (Arg0, TIDX)
  3646. Return (GNOT (One, Zero))
  3647. }
  3648.  
  3649. Method (GLID, 1, NotSerialized)
  3650. {
  3651. Store (Arg0, CLID)
  3652. Return (GNOT (0x02, Zero))
  3653. }
  3654.  
  3655. Method (GDCK, 1, NotSerialized)
  3656. {
  3657. Store (Arg0, CDCK)
  3658. Return (GNOT (0x04, Zero))
  3659. }
  3660.  
  3661. Method (PARD, 0, NotSerialized)
  3662. {
  3663. If (LNot (ARDY))
  3664. {
  3665. Sleep (ASLP)
  3666. }
  3667.  
  3668. Return (LNot (ARDY))
  3669. }
  3670.  
  3671. Method (AINT, 2, NotSerialized)
  3672. {
  3673. If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
  3674. {
  3675. Return (One)
  3676. }
  3677.  
  3678. If (PARD ())
  3679. {
  3680. Return (One)
  3681. }
  3682.  
  3683. If (LEqual (Arg0, 0x02))
  3684. {
  3685. If (CPFM)
  3686. {
  3687. And (CPFM, 0x0F, Local0)
  3688. And (EPFM, 0x0F, Local1)
  3689. If (LEqual (Local0, One))
  3690. {
  3691. If (And (Local1, 0x06))
  3692. {
  3693. Store (0x06, PFIT)
  3694. }
  3695. Else
  3696. {
  3697. If (And (Local1, 0x08))
  3698. {
  3699. Store (0x08, PFIT)
  3700. }
  3701. Else
  3702. {
  3703. Store (One, PFIT)
  3704. }
  3705. }
  3706. }
  3707.  
  3708. If (LEqual (Local0, 0x06))
  3709. {
  3710. If (And (Local1, 0x08))
  3711. {
  3712. Store (0x08, PFIT)
  3713. }
  3714. Else
  3715. {
  3716. If (And (Local1, One))
  3717. {
  3718. Store (One, PFIT)
  3719. }
  3720. Else
  3721. {
  3722. Store (0x06, PFIT)
  3723. }
  3724. }
  3725. }
  3726.  
  3727. If (LEqual (Local0, 0x08))
  3728. {
  3729. If (And (Local1, One))
  3730. {
  3731. Store (One, PFIT)
  3732. }
  3733. Else
  3734. {
  3735. If (And (Local1, 0x06))
  3736. {
  3737. Store (0x06, PFIT)
  3738. }
  3739. Else
  3740. {
  3741. Store (0x08, PFIT)
  3742. }
  3743. }
  3744. }
  3745. }
  3746. Else
  3747. {
  3748. XOr (PFIT, 0x07, PFIT)
  3749. }
  3750.  
  3751. Or (PFIT, 0x80000000, PFIT)
  3752. Store (0x04, ASLC)
  3753. }
  3754. Else
  3755. {
  3756. If (LEqual (Arg0, One))
  3757. {
  3758. Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
  3759. Or (BCLP, 0x80000000, BCLP)
  3760. Store (0x02, ASLC)
  3761. }
  3762. Else
  3763. {
  3764. If (LEqual (Arg0, Zero))
  3765. {
  3766. Store (Arg1, ALSI)
  3767. Store (One, ASLC)
  3768. }
  3769. Else
  3770. {
  3771. Return (One)
  3772. }
  3773. }
  3774. }
  3775.  
  3776. Store (Zero, LBPC)
  3777. Return (Zero)
  3778. }
  3779. }
  3780.  
  3781. Scope (\)
  3782. {
  3783. OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
  3784. Field (IO_T, ByteAcc, NoLock, Preserve)
  3785. {
  3786. Offset (0x08),
  3787. TRP0, 8
  3788. }
  3789.  
  3790. OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
  3791. Field (PMIO, ByteAcc, NoLock, Preserve)
  3792. {
  3793. Offset (0x2A),
  3794. , 6,
  3795. ACPW, 1,
  3796. Offset (0x42),
  3797. , 1,
  3798. GPEC, 1,
  3799. Offset (0x64),
  3800. , 9,
  3801. SCIS, 1,
  3802. Offset (0x66)
  3803. }
  3804.  
  3805. OperationRegion (GPIO, SystemIO, 0x1180, 0x3C)
  3806. Field (GPIO, ByteAcc, NoLock, Preserve)
  3807. {
  3808. GU00, 8,
  3809. GU01, 8,
  3810. GU02, 8,
  3811. GU03, 8,
  3812. GIO0, 8,
  3813. GIO1, 8,
  3814. GIO2, 8,
  3815. GIO3, 8,
  3816. Offset (0x0C),
  3817. GL00, 8,
  3818. GL01, 8,
  3819. GL02, 8,
  3820. , 3,
  3821. GP27, 1,
  3822. GP28, 1,
  3823. Offset (0x10),
  3824. Offset (0x18),
  3825. GB00, 8,
  3826. GB01, 8,
  3827. GB02, 8,
  3828. GB03, 8,
  3829. Offset (0x2C),
  3830. GIV0, 8,
  3831. , 3,
  3832. LPOL, 1,
  3833. Offset (0x2E),
  3834. GIV2, 8,
  3835. GIV3, 8,
  3836. GU04, 8,
  3837. GU05, 8,
  3838. GU06, 8,
  3839. GU07, 8,
  3840. GIO4, 8,
  3841. GIO5, 8,
  3842. GIO6, 8,
  3843. GIO7, 8,
  3844. , 5,
  3845. GP37, 1,
  3846. , 1,
  3847. GP39, 1,
  3848. GL05, 8,
  3849. GL06, 8,
  3850. GL07, 8
  3851. }
  3852.  
  3853. OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
  3854. Field (RCRB, DWordAcc, Lock, Preserve)
  3855. {
  3856. Offset (0x1000),
  3857. Offset (0x3000),
  3858. Offset (0x3404),
  3859. HPAS, 2,
  3860. , 5,
  3861. HPAE, 1,
  3862. Offset (0x3418),
  3863. , 1,
  3864. PATD, 1,
  3865. SATD, 1,
  3866. SMBD, 1,
  3867. HDAD, 1,
  3868. Offset (0x341A),
  3869. RP1D, 1,
  3870. RP2D, 1,
  3871. RP3D, 1,
  3872. RP4D, 1,
  3873. RP5D, 1,
  3874. RP6D, 1
  3875. }
  3876.  
  3877. Name (_S0, Package (0x03)
  3878. {
  3879. Zero,
  3880. Zero,
  3881. Zero
  3882. })
  3883. Name (_S3, Package (0x03)
  3884. {
  3885. 0x05,
  3886. 0x05,
  3887. Zero
  3888. })
  3889. Name (_S4, Package (0x03)
  3890. {
  3891. 0x06,
  3892. 0x06,
  3893. Zero
  3894. })
  3895. Name (_S5, Package (0x03)
  3896. {
  3897. 0x07,
  3898. 0x07,
  3899. Zero
  3900. })
  3901. Method (GETP, 1, Serialized)
  3902. {
  3903. If (LEqual (And (Arg0, 0x09), Zero))
  3904. {
  3905. Return (0xFFFFFFFF)
  3906. }
  3907.  
  3908. If (LEqual (And (Arg0, 0x09), 0x08))
  3909. {
  3910. Return (0x0384)
  3911. }
  3912.  
  3913. ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
  3914. ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
  3915. Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))
  3916. ))
  3917. }
  3918.  
  3919. Method (GDMA, 5, Serialized)
  3920. {
  3921. If (Arg0)
  3922. {
  3923. If (LAnd (Arg1, Arg4))
  3924. {
  3925. Return (0x14)
  3926. }
  3927.  
  3928. If (LAnd (Arg2, Arg4))
  3929. {
  3930. Return (Multiply (Subtract (0x04, Arg3), 0x0F))
  3931. }
  3932.  
  3933. Return (Multiply (Subtract (0x04, Arg3), 0x1E))
  3934. }
  3935.  
  3936. Return (0xFFFFFFFF)
  3937. }
  3938.  
  3939. Method (GETT, 1, Serialized)
  3940. {
  3941. Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02
  3942. ), 0x03), And (Arg0, 0x03)))))
  3943. }
  3944.  
  3945. Method (GETF, 3, Serialized)
  3946. {
  3947. Name (TMPF, Zero)
  3948. If (Arg0)
  3949. {
  3950. Or (TMPF, One, TMPF)
  3951. }
  3952.  
  3953. If (And (Arg2, 0x02))
  3954. {
  3955. Or (TMPF, 0x02, TMPF)
  3956. }
  3957.  
  3958. If (Arg1)
  3959. {
  3960. Or (TMPF, 0x04, TMPF)
  3961. }
  3962.  
  3963. If (And (Arg2, 0x20))
  3964. {
  3965. Or (TMPF, 0x08, TMPF)
  3966. }
  3967.  
  3968. If (And (Arg2, 0x4000))
  3969. {
  3970. Or (TMPF, 0x10, TMPF)
  3971. }
  3972.  
  3973. Return (TMPF)
  3974. }
  3975.  
  3976. Method (SETP, 3, Serialized)
  3977. {
  3978. If (LGreater (Arg0, 0xF0))
  3979. {
  3980. Return (0x08)
  3981. }
  3982. Else
  3983. {
  3984. If (And (Arg1, 0x02))
  3985. {
  3986. If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  3987. {
  3988. Return (0x2301)
  3989. }
  3990.  
  3991. If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  3992. {
  3993. Return (0x2101)
  3994. }
  3995. }
  3996.  
  3997. Return (0x1001)
  3998. }
  3999. }
  4000.  
  4001. Method (SDMA, 1, Serialized)
  4002. {
  4003. If (LLessEqual (Arg0, 0x14))
  4004. {
  4005. Return (One)
  4006. }
  4007.  
  4008. If (LLessEqual (Arg0, 0x1E))
  4009. {
  4010. Return (0x02)
  4011. }
  4012.  
  4013. If (LLessEqual (Arg0, 0x2D))
  4014. {
  4015. Return (One)
  4016. }
  4017.  
  4018. If (LLessEqual (Arg0, 0x3C))
  4019. {
  4020. Return (0x02)
  4021. }
  4022.  
  4023. If (LLessEqual (Arg0, 0x5A))
  4024. {
  4025. Return (One)
  4026. }
  4027.  
  4028. Return (Zero)
  4029. }
  4030.  
  4031. Method (SETT, 3, Serialized)
  4032. {
  4033. If (And (Arg1, 0x02))
  4034. {
  4035. If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  4036. {
  4037. Return (0x0B)
  4038. }
  4039.  
  4040. If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  4041. {
  4042. Return (0x09)
  4043. }
  4044. }
  4045.  
  4046. Return (0x04)
  4047. }
  4048. }
  4049.  
  4050. Device (HDEF)
  4051. {
  4052. Name (_ADR, 0x001B0000)
  4053. OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
  4054. Field (HDAR, WordAcc, NoLock, Preserve)
  4055. {
  4056. DCKA, 1,
  4057. Offset (0x01),
  4058. DCKM, 1,
  4059. , 6,
  4060. DCKS, 1,
  4061. Offset (0x08),
  4062. , 15,
  4063. PMES, 1
  4064. }
  4065.  
  4066. Name (_PRW, Package (0x02)
  4067. {
  4068. 0x0D,
  4069. 0x03
  4070. })
  4071. }
  4072.  
  4073. Device (RP01)
  4074. {
  4075. Name (_ADR, 0x001C0000)
  4076. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4077. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4078. {
  4079. Offset (0x12),
  4080. , 13,
  4081. LASX, 1,
  4082. Offset (0x1A),
  4083. ABPX, 1,
  4084. , 2,
  4085. PDCX, 1,
  4086. , 2,
  4087. PDSX, 1,
  4088. Offset (0x1B),
  4089. LSCX, 1,
  4090. Offset (0x20),
  4091. Offset (0x22),
  4092. PSPX, 1,
  4093. Offset (0x9C),
  4094. , 30,
  4095. HPSX, 1,
  4096. PMSX, 1
  4097. }
  4098.  
  4099. Device (PXSX)
  4100. {
  4101. Name (_ADR, Zero)
  4102. }
  4103.  
  4104. Name (PXSX._RMV, One)
  4105. Name (PXSX._PRW, Package (0x02)
  4106. {
  4107. 0x09,
  4108. 0x03
  4109. })
  4110. Method (_PRT, 0, NotSerialized)
  4111. {
  4112. If (GPIC)
  4113. {
  4114. Return (Package (0x04)
  4115. {
  4116. Package (0x04)
  4117. {
  4118. 0xFFFF,
  4119. Zero,
  4120. Zero,
  4121. 0x10
  4122. },
  4123.  
  4124. Package (0x04)
  4125. {
  4126. 0xFFFF,
  4127. One,
  4128. Zero,
  4129. 0x11
  4130. },
  4131.  
  4132. Package (0x04)
  4133. {
  4134. 0xFFFF,
  4135. 0x02,
  4136. Zero,
  4137. 0x12
  4138. },
  4139.  
  4140. Package (0x04)
  4141. {
  4142. 0xFFFF,
  4143. 0x03,
  4144. Zero,
  4145. 0x13
  4146. }
  4147. })
  4148. }
  4149. Else
  4150. {
  4151. Return (Package (0x04)
  4152. {
  4153. Package (0x04)
  4154. {
  4155. 0xFFFF,
  4156. Zero,
  4157. ^^LPCB.LNKA,
  4158. Zero
  4159. },
  4160.  
  4161. Package (0x04)
  4162. {
  4163. 0xFFFF,
  4164. One,
  4165. ^^LPCB.LNKB,
  4166. Zero
  4167. },
  4168.  
  4169. Package (0x04)
  4170. {
  4171. 0xFFFF,
  4172. 0x02,
  4173. ^^LPCB.LNKC,
  4174. Zero
  4175. },
  4176.  
  4177. Package (0x04)
  4178. {
  4179. 0xFFFF,
  4180. 0x03,
  4181. ^^LPCB.LNKD,
  4182. Zero
  4183. }
  4184. })
  4185. }
  4186. }
  4187. }
  4188.  
  4189. Device (RP02)
  4190. {
  4191. Name (_ADR, 0x001C0001)
  4192. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4193. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4194. {
  4195. Offset (0x12),
  4196. , 13,
  4197. LASX, 1,
  4198. Offset (0x1A),
  4199. ABPX, 1,
  4200. , 2,
  4201. PDCX, 1,
  4202. , 2,
  4203. PDSX, 1,
  4204. Offset (0x1B),
  4205. LSCX, 1,
  4206. Offset (0x20),
  4207. Offset (0x22),
  4208. PSPX, 1,
  4209. Offset (0x9C),
  4210. , 30,
  4211. HPSX, 1,
  4212. PMSX, 1
  4213. }
  4214.  
  4215. Device (PXSX)
  4216. {
  4217. Name (_ADR, Zero)
  4218. }
  4219.  
  4220. Method (_PRT, 0, NotSerialized)
  4221. {
  4222. If (GPIC)
  4223. {
  4224. Return (Package (0x04)
  4225. {
  4226. Package (0x04)
  4227. {
  4228. 0xFFFF,
  4229. Zero,
  4230. Zero,
  4231. 0x11
  4232. },
  4233.  
  4234. Package (0x04)
  4235. {
  4236. 0xFFFF,
  4237. One,
  4238. Zero,
  4239. 0x12
  4240. },
  4241.  
  4242. Package (0x04)
  4243. {
  4244. 0xFFFF,
  4245. 0x02,
  4246. Zero,
  4247. 0x13
  4248. },
  4249.  
  4250. Package (0x04)
  4251. {
  4252. 0xFFFF,
  4253. 0x03,
  4254. Zero,
  4255. 0x10
  4256. }
  4257. })
  4258. }
  4259. Else
  4260. {
  4261. Return (Package (0x04)
  4262. {
  4263. Package (0x04)
  4264. {
  4265. 0xFFFF,
  4266. Zero,
  4267. ^^LPCB.LNKB,
  4268. Zero
  4269. },
  4270.  
  4271. Package (0x04)
  4272. {
  4273. 0xFFFF,
  4274. One,
  4275. ^^LPCB.LNKC,
  4276. Zero
  4277. },
  4278.  
  4279. Package (0x04)
  4280. {
  4281. 0xFFFF,
  4282. 0x02,
  4283. ^^LPCB.LNKD,
  4284. Zero
  4285. },
  4286.  
  4287. Package (0x04)
  4288. {
  4289. 0xFFFF,
  4290. 0x03,
  4291. ^^LPCB.LNKA,
  4292. Zero
  4293. }
  4294. })
  4295. }
  4296. }
  4297. }
  4298.  
  4299. Device (RP03)
  4300. {
  4301. Name (_ADR, 0x001C0002)
  4302. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4303. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4304. {
  4305. Offset (0x12),
  4306. , 13,
  4307. LASX, 1,
  4308. Offset (0x1A),
  4309. ABPX, 1,
  4310. , 2,
  4311. PDCX, 1,
  4312. , 2,
  4313. PDSX, 1,
  4314. Offset (0x1B),
  4315. LSCX, 1,
  4316. Offset (0x20),
  4317. Offset (0x22),
  4318. PSPX, 1,
  4319. Offset (0x9C),
  4320. , 30,
  4321. HPSX, 1,
  4322. PMSX, 1
  4323. }
  4324.  
  4325. Device (PXSX)
  4326. {
  4327. Name (_ADR, Zero)
  4328. }
  4329.  
  4330. Method (_PRT, 0, NotSerialized)
  4331. {
  4332. If (GPIC)
  4333. {
  4334. Return (Package (0x04)
  4335. {
  4336. Package (0x04)
  4337. {
  4338. 0xFFFF,
  4339. Zero,
  4340. Zero,
  4341. 0x12
  4342. },
  4343.  
  4344. Package (0x04)
  4345. {
  4346. 0xFFFF,
  4347. One,
  4348. Zero,
  4349. 0x13
  4350. },
  4351.  
  4352. Package (0x04)
  4353. {
  4354. 0xFFFF,
  4355. 0x02,
  4356. Zero,
  4357. 0x10
  4358. },
  4359.  
  4360. Package (0x04)
  4361. {
  4362. 0xFFFF,
  4363. 0x03,
  4364. Zero,
  4365. 0x11
  4366. }
  4367. })
  4368. }
  4369. Else
  4370. {
  4371. Return (Package (0x04)
  4372. {
  4373. Package (0x04)
  4374. {
  4375. 0xFFFF,
  4376. Zero,
  4377. ^^LPCB.LNKC,
  4378. Zero
  4379. },
  4380.  
  4381. Package (0x04)
  4382. {
  4383. 0xFFFF,
  4384. One,
  4385. ^^LPCB.LNKD,
  4386. Zero
  4387. },
  4388.  
  4389. Package (0x04)
  4390. {
  4391. 0xFFFF,
  4392. 0x02,
  4393. ^^LPCB.LNKA,
  4394. Zero
  4395. },
  4396.  
  4397. Package (0x04)
  4398. {
  4399. 0xFFFF,
  4400. 0x03,
  4401. ^^LPCB.LNKB,
  4402. Zero
  4403. }
  4404. })
  4405. }
  4406. }
  4407. }
  4408.  
  4409. Device (RP04)
  4410. {
  4411. Name (_ADR, 0x001C0003)
  4412. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4413. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4414. {
  4415. Offset (0x12),
  4416. , 13,
  4417. LASX, 1,
  4418. Offset (0x1A),
  4419. ABPX, 1,
  4420. , 2,
  4421. PDCX, 1,
  4422. , 2,
  4423. PDSX, 1,
  4424. Offset (0x1B),
  4425. LSCX, 1,
  4426. Offset (0x20),
  4427. Offset (0x22),
  4428. PSPX, 1,
  4429. Offset (0x9C),
  4430. , 30,
  4431. HPSX, 1,
  4432. PMSX, 1
  4433. }
  4434.  
  4435. Device (PXSX)
  4436. {
  4437. Name (_ADR, Zero)
  4438. }
  4439.  
  4440. Method (_PRT, 0, NotSerialized)
  4441. {
  4442. If (GPIC)
  4443. {
  4444. Return (Package (0x04)
  4445. {
  4446. Package (0x04)
  4447. {
  4448. 0xFFFF,
  4449. Zero,
  4450. Zero,
  4451. 0x13
  4452. },
  4453.  
  4454. Package (0x04)
  4455. {
  4456. 0xFFFF,
  4457. One,
  4458. Zero,
  4459. 0x10
  4460. },
  4461.  
  4462. Package (0x04)
  4463. {
  4464. 0xFFFF,
  4465. 0x02,
  4466. Zero,
  4467. 0x11
  4468. },
  4469.  
  4470. Package (0x04)
  4471. {
  4472. 0xFFFF,
  4473. 0x03,
  4474. Zero,
  4475. 0x12
  4476. }
  4477. })
  4478. }
  4479. Else
  4480. {
  4481. Return (Package (0x04)
  4482. {
  4483. Package (0x04)
  4484. {
  4485. 0xFFFF,
  4486. Zero,
  4487. ^^LPCB.LNKD,
  4488. Zero
  4489. },
  4490.  
  4491. Package (0x04)
  4492. {
  4493. 0xFFFF,
  4494. One,
  4495. ^^LPCB.LNKA,
  4496. Zero
  4497. },
  4498.  
  4499. Package (0x04)
  4500. {
  4501. 0xFFFF,
  4502. 0x02,
  4503. ^^LPCB.LNKB,
  4504. Zero
  4505. },
  4506.  
  4507. Package (0x04)
  4508. {
  4509. 0xFFFF,
  4510. 0x03,
  4511. ^^LPCB.LNKC,
  4512. Zero
  4513. }
  4514. })
  4515. }
  4516. }
  4517. }
  4518.  
  4519. Device (RP05)
  4520. {
  4521. Name (_ADR, 0x001C0004)
  4522. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4523. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4524. {
  4525. Offset (0x12),
  4526. , 13,
  4527. LASX, 1,
  4528. Offset (0x1A),
  4529. ABPX, 1,
  4530. , 2,
  4531. PDCX, 1,
  4532. , 2,
  4533. PDSX, 1,
  4534. Offset (0x1B),
  4535. LSCX, 1,
  4536. Offset (0x20),
  4537. Offset (0x22),
  4538. PSPX, 1,
  4539. Offset (0x9C),
  4540. , 30,
  4541. HPSX, 1,
  4542. PMSX, 1
  4543. }
  4544.  
  4545. Device (PXSX)
  4546. {
  4547. Name (_ADR, Zero)
  4548. Name (_PRW, Package (0x02)
  4549. {
  4550. 0x09,
  4551. 0x05
  4552. })
  4553. Method (_PSW, 1, NotSerialized)
  4554. {
  4555. If (Arg0)
  4556. {
  4557. Store (One, WFLG)
  4558. }
  4559. Else
  4560. {
  4561. Store (Zero, WFLG)
  4562. }
  4563. }
  4564. }
  4565.  
  4566. Method (_PRT, 0, NotSerialized)
  4567. {
  4568. If (GPIC)
  4569. {
  4570. Return (Package (0x04)
  4571. {
  4572. Package (0x04)
  4573. {
  4574. 0xFFFF,
  4575. Zero,
  4576. Zero,
  4577. 0x10
  4578. },
  4579.  
  4580. Package (0x04)
  4581. {
  4582. 0xFFFF,
  4583. One,
  4584. Zero,
  4585. 0x11
  4586. },
  4587.  
  4588. Package (0x04)
  4589. {
  4590. 0xFFFF,
  4591. 0x02,
  4592. Zero,
  4593. 0x12
  4594. },
  4595.  
  4596. Package (0x04)
  4597. {
  4598. 0xFFFF,
  4599. 0x03,
  4600. Zero,
  4601. 0x13
  4602. }
  4603. })
  4604. }
  4605. Else
  4606. {
  4607. Return (Package (0x04)
  4608. {
  4609. Package (0x04)
  4610. {
  4611. 0xFFFF,
  4612. Zero,
  4613. ^^LPCB.LNKA,
  4614. Zero
  4615. },
  4616.  
  4617. Package (0x04)
  4618. {
  4619. 0xFFFF,
  4620. One,
  4621. ^^LPCB.LNKB,
  4622. Zero
  4623. },
  4624.  
  4625. Package (0x04)
  4626. {
  4627. 0xFFFF,
  4628. 0x02,
  4629. ^^LPCB.LNKC,
  4630. Zero
  4631. },
  4632.  
  4633. Package (0x04)
  4634. {
  4635. 0xFFFF,
  4636. 0x03,
  4637. ^^LPCB.LNKD,
  4638. Zero
  4639. }
  4640. })
  4641. }
  4642. }
  4643. }
  4644.  
  4645. Device (RP06)
  4646. {
  4647. Name (_ADR, 0x001C0005)
  4648. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  4649. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  4650. {
  4651. Offset (0x12),
  4652. , 13,
  4653. LASX, 1,
  4654. Offset (0x1A),
  4655. ABPX, 1,
  4656. , 2,
  4657. PDCX, 1,
  4658. , 2,
  4659. PDSX, 1,
  4660. Offset (0x1B),
  4661. LSCX, 1,
  4662. Offset (0x20),
  4663. Offset (0x22),
  4664. PSPX, 1,
  4665. Offset (0x9C),
  4666. , 30,
  4667. HPSX, 1,
  4668. PMSX, 1
  4669. }
  4670.  
  4671. Device (PXSX)
  4672. {
  4673. Name (_ADR, Zero)
  4674. }
  4675.  
  4676. Method (_PRT, 0, NotSerialized)
  4677. {
  4678. If (GPIC)
  4679. {
  4680. Return (Package (0x04)
  4681. {
  4682. Package (0x04)
  4683. {
  4684. 0xFFFF,
  4685. Zero,
  4686. Zero,
  4687. 0x11
  4688. },
  4689.  
  4690. Package (0x04)
  4691. {
  4692. 0xFFFF,
  4693. One,
  4694. Zero,
  4695. 0x12
  4696. },
  4697.  
  4698. Package (0x04)
  4699. {
  4700. 0xFFFF,
  4701. 0x02,
  4702. Zero,
  4703. 0x13
  4704. },
  4705.  
  4706. Package (0x04)
  4707. {
  4708. 0xFFFF,
  4709. 0x03,
  4710. Zero,
  4711. 0x10
  4712. }
  4713. })
  4714. }
  4715. Else
  4716. {
  4717. Return (Package (0x04)
  4718. {
  4719. Package (0x04)
  4720. {
  4721. 0xFFFF,
  4722. Zero,
  4723. ^^LPCB.LNKB,
  4724. Zero
  4725. },
  4726.  
  4727. Package (0x04)
  4728. {
  4729. 0xFFFF,
  4730. One,
  4731. ^^LPCB.LNKC,
  4732. Zero
  4733. },
  4734.  
  4735. Package (0x04)
  4736. {
  4737. 0xFFFF,
  4738. 0x02,
  4739. ^^LPCB.LNKD,
  4740. Zero
  4741. },
  4742.  
  4743. Package (0x04)
  4744. {
  4745. 0xFFFF,
  4746. 0x03,
  4747. ^^LPCB.LNKA,
  4748. Zero
  4749. }
  4750. })
  4751. }
  4752. }
  4753. }
  4754.  
  4755. Device (USB1)
  4756. {
  4757. Name (_ADR, 0x001D0000)
  4758. OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
  4759. Field (U1CS, DWordAcc, NoLock, Preserve)
  4760. {
  4761. U1EN, 2
  4762. }
  4763.  
  4764. Method (_PRW, 0, NotSerialized)
  4765. {
  4766. Store (TVFM, Local0)
  4767. If (LEqual (Local0, 0x03))
  4768. {
  4769. Return (Package (0x02)
  4770. {
  4771. 0x03,
  4772. 0x03
  4773. })
  4774. }
  4775. Else
  4776. {
  4777. Return (Package (0x02)
  4778. {
  4779. 0x03,
  4780. Zero
  4781. })
  4782. }
  4783. }
  4784.  
  4785. Method (_PSW, 1, NotSerialized)
  4786. {
  4787. If (Arg0)
  4788. {
  4789. Store (^^LPCB.EC0.SYS7, Local0)
  4790. If (Local0)
  4791. {
  4792. Store (TVFM, U1EN)
  4793. Store (One, ^^LPCB.EC0.UWAK)
  4794. }
  4795. Else
  4796. {
  4797. Store (Zero, U1EN)
  4798. }
  4799. }
  4800. Else
  4801. {
  4802. Store (Zero, U1EN)
  4803. }
  4804. }
  4805.  
  4806. Method (_S3D, 0, NotSerialized)
  4807. {
  4808. Return (0x02)
  4809. }
  4810.  
  4811. Method (_S4D, 0, NotSerialized)
  4812. {
  4813. Return (0x02)
  4814. }
  4815. }
  4816.  
  4817. Device (USB2)
  4818. {
  4819. Name (_ADR, 0x001D0001)
  4820. OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  4821. Field (U2CS, DWordAcc, NoLock, Preserve)
  4822. {
  4823. U2EN, 2
  4824. }
  4825.  
  4826. Method (_PRW, 0, NotSerialized)
  4827. {
  4828. Store (TVFM, Local0)
  4829. If (LEqual (Local0, 0x03))
  4830. {
  4831. Return (Package (0x02)
  4832. {
  4833. 0x04,
  4834. 0x03
  4835. })
  4836. }
  4837. Else
  4838. {
  4839. Return (Package (0x02)
  4840. {
  4841. 0x04,
  4842. Zero
  4843. })
  4844. }
  4845. }
  4846.  
  4847. Method (_PSW, 1, NotSerialized)
  4848. {
  4849. Store (^^LPCB.EC0.SYS7, Local0)
  4850. If (Arg0)
  4851. {
  4852. If (Local0)
  4853. {
  4854. Store (TVFM, U2EN)
  4855. Store (One, ^^LPCB.EC0.UWAK)
  4856. }
  4857. Else
  4858. {
  4859. Store (Zero, U2EN)
  4860. }
  4861. }
  4862. Else
  4863. {
  4864. Store (Zero, U2EN)
  4865. }
  4866. }
  4867.  
  4868. Method (_S3D, 0, NotSerialized)
  4869. {
  4870. Return (0x02)
  4871. }
  4872.  
  4873. Method (_S4D, 0, NotSerialized)
  4874. {
  4875. Return (0x02)
  4876. }
  4877. }
  4878.  
  4879. Device (USB3)
  4880. {
  4881. Name (_ADR, 0x001D0002)
  4882. OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  4883. Field (U2CS, DWordAcc, NoLock, Preserve)
  4884. {
  4885. U3EN, 2
  4886. }
  4887.  
  4888. Method (_PRW, 0, NotSerialized)
  4889. {
  4890. Store (TVFM, Local0)
  4891. If (LEqual (Local0, 0x03))
  4892. {
  4893. Return (Package (0x02)
  4894. {
  4895. 0x0C,
  4896. 0x03
  4897. })
  4898. }
  4899. Else
  4900. {
  4901. Return (Package (0x02)
  4902. {
  4903. 0x0C,
  4904. Zero
  4905. })
  4906. }
  4907. }
  4908.  
  4909. Method (_PSW, 1, NotSerialized)
  4910. {
  4911. Store (^^LPCB.EC0.SYS7, Local0)
  4912. If (Arg0)
  4913. {
  4914. If (Local0)
  4915. {
  4916. Store (TVFM, U3EN)
  4917. Store (One, ^^LPCB.EC0.UWAK)
  4918. }
  4919. Else
  4920. {
  4921. Store (Zero, U3EN)
  4922. }
  4923. }
  4924. Else
  4925. {
  4926. Store (Zero, U3EN)
  4927. }
  4928. }
  4929.  
  4930. Method (_S3D, 0, NotSerialized)
  4931. {
  4932. Return (0x02)
  4933. }
  4934.  
  4935. Method (_S4D, 0, NotSerialized)
  4936. {
  4937. Return (0x02)
  4938. }
  4939. }
  4940.  
  4941. Device (USB4)
  4942. {
  4943. Name (_ADR, 0x001A0000)
  4944. OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
  4945. Field (U4CS, DWordAcc, NoLock, Preserve)
  4946. {
  4947. U4EN, 2
  4948. }
  4949.  
  4950. Method (_PRW, 0, NotSerialized)
  4951. {
  4952. Store (TVFM, Local0)
  4953. If (LEqual (Local0, 0x03))
  4954. {
  4955. Return (Package (0x02)
  4956. {
  4957. 0x0E,
  4958. 0x03
  4959. })
  4960. }
  4961. Else
  4962. {
  4963. Return (Package (0x02)
  4964. {
  4965. 0x0E,
  4966. Zero
  4967. })
  4968. }
  4969. }
  4970.  
  4971. Method (_PSW, 1, NotSerialized)
  4972. {
  4973. Store (^^LPCB.EC0.SYS7, Local0)
  4974. If (Arg0)
  4975. {
  4976. If (Local0)
  4977. {
  4978. Store (TVFM, U4EN)
  4979. Store (One, ^^LPCB.EC0.UWAK)
  4980. }
  4981. Else
  4982. {
  4983. Store (Zero, U4EN)
  4984. }
  4985. }
  4986. Else
  4987. {
  4988. Store (Zero, U4EN)
  4989. }
  4990. }
  4991.  
  4992. Method (_S3D, 0, NotSerialized)
  4993. {
  4994. Return (0x02)
  4995. }
  4996.  
  4997. Method (_S4D, 0, NotSerialized)
  4998. {
  4999. Return (0x02)
  5000. }
  5001. }
  5002.  
  5003. Device (USB5)
  5004. {
  5005. Name (_ADR, 0x001A0001)
  5006. OperationRegion (U5CS, PCI_Config, 0xC4, 0x04)
  5007. Field (U5CS, DWordAcc, NoLock, Preserve)
  5008. {
  5009. U5EN, 2
  5010. }
  5011.  
  5012. Method (_PRW, 0, NotSerialized)
  5013. {
  5014. Store (TVFM, Local0)
  5015. If (LEqual (Local0, 0x03))
  5016. {
  5017. Return (Package (0x02)
  5018. {
  5019. 0x05,
  5020. 0x03
  5021. })
  5022. }
  5023. Else
  5024. {
  5025. Return (Package (0x02)
  5026. {
  5027. 0x05,
  5028. Zero
  5029. })
  5030. }
  5031. }
  5032.  
  5033. Method (_PSW, 1, NotSerialized)
  5034. {
  5035. Store (^^LPCB.EC0.SYS7, Local0)
  5036. If (Arg0)
  5037. {
  5038. If (Local0)
  5039. {
  5040. Store (TVFM, U5EN)
  5041. Store (One, ^^LPCB.EC0.UWAK)
  5042. }
  5043. Else
  5044. {
  5045. Store (Zero, U5EN)
  5046. }
  5047. }
  5048. Else
  5049. {
  5050. Store (Zero, U5EN)
  5051. }
  5052. }
  5053.  
  5054. Method (_S3D, 0, NotSerialized)
  5055. {
  5056. Return (0x02)
  5057. }
  5058.  
  5059. Method (_S4D, 0, NotSerialized)
  5060. {
  5061. Return (0x02)
  5062. }
  5063. }
  5064.  
  5065. Device (EHC1)
  5066. {
  5067. Name (_ADR, 0x001D0007)
  5068. OperationRegion (U7CS, PCI_Config, 0x54, 0x04)
  5069. Field (U7CS, DWordAcc, NoLock, Preserve)
  5070. {
  5071. , 15,
  5072. PMES, 1
  5073. }
  5074.  
  5075. Device (HUB7)
  5076. {
  5077. Name (_ADR, Zero)
  5078. Device (PRT1)
  5079. {
  5080. Name (_ADR, One)
  5081. }
  5082.  
  5083. Device (PRT2)
  5084. {
  5085. Name (_ADR, 0x02)
  5086. }
  5087.  
  5088. Device (PRT3)
  5089. {
  5090. Name (_ADR, 0x03)
  5091. }
  5092.  
  5093. Device (PRT4)
  5094. {
  5095. Name (_ADR, 0x04)
  5096. }
  5097.  
  5098. Device (PRT5)
  5099. {
  5100. Name (_ADR, 0x05)
  5101. }
  5102.  
  5103. Device (PRT6)
  5104. {
  5105. Name (_ADR, 0x06)
  5106. }
  5107. }
  5108.  
  5109. Method (_PRW, 0, NotSerialized)
  5110. {
  5111. Store (TVFM, Local0)
  5112. If (LEqual (Local0, 0x03))
  5113. {
  5114. Return (Package (0x02)
  5115. {
  5116. 0x0D,
  5117. 0x03
  5118. })
  5119. }
  5120. Else
  5121. {
  5122. Return (Package (0x02)
  5123. {
  5124. 0x0D,
  5125. Zero
  5126. })
  5127. }
  5128. }
  5129.  
  5130. Method (_PSW, 1, NotSerialized)
  5131. {
  5132. If (Arg0)
  5133. {
  5134. Store (One, ^^LPCB.EC0.UWAK)
  5135. }
  5136. }
  5137.  
  5138. Method (_S3D, 0, NotSerialized)
  5139. {
  5140. Return (0x02)
  5141. }
  5142.  
  5143. Method (_S4D, 0, NotSerialized)
  5144. {
  5145. Return (0x02)
  5146. }
  5147. }
  5148.  
  5149. Device (EHC2)
  5150. {
  5151. Name (_ADR, 0x001A0007)
  5152. OperationRegion (UFCS, PCI_Config, 0x54, 0x04)
  5153. Field (UFCS, DWordAcc, NoLock, Preserve)
  5154. {
  5155. , 15,
  5156. PMES, 1
  5157. }
  5158.  
  5159. Device (HUB7)
  5160. {
  5161. Name (_ADR, Zero)
  5162. Device (PRT1)
  5163. {
  5164. Name (_ADR, One)
  5165. }
  5166.  
  5167. Device (PRT2)
  5168. {
  5169. Name (_ADR, 0x02)
  5170. }
  5171.  
  5172. Device (PRT3)
  5173. {
  5174. Name (_ADR, 0x03)
  5175. }
  5176.  
  5177. Device (PRT4)
  5178. {
  5179. Name (_ADR, 0x04)
  5180. }
  5181. }
  5182.  
  5183. Method (_PRW, 0, NotSerialized)
  5184. {
  5185. Store (TVFM, Local0)
  5186. If (LEqual (Local0, 0x03))
  5187. {
  5188. Return (Package (0x02)
  5189. {
  5190. 0x0D,
  5191. 0x03
  5192. })
  5193. }
  5194. Else
  5195. {
  5196. Return (Package (0x02)
  5197. {
  5198. 0x0D,
  5199. Zero
  5200. })
  5201. }
  5202. }
  5203.  
  5204. Method (_PSW, 1, NotSerialized)
  5205. {
  5206. If (Arg0)
  5207. {
  5208. Store (One, ^^LPCB.EC0.UWAK)
  5209. }
  5210. }
  5211.  
  5212. Method (_S3D, 0, NotSerialized)
  5213. {
  5214. Return (0x02)
  5215. }
  5216.  
  5217. Method (_S4D, 0, NotSerialized)
  5218. {
  5219. Return (0x02)
  5220. }
  5221. }
  5222.  
  5223. Device (PCIB)
  5224. {
  5225. Name (_ADR, 0x001E0000)
  5226. Method (_PRT, 0, NotSerialized)
  5227. {
  5228. If (GPIC)
  5229. {
  5230. Return (Package (0x04)
  5231. {
  5232. Package (0x04)
  5233. {
  5234. 0x0005FFFF,
  5235. Zero,
  5236. Zero,
  5237. 0x16
  5238. },
  5239.  
  5240. Package (0x04)
  5241. {
  5242. 0x0005FFFF,
  5243. One,
  5244. Zero,
  5245. 0x15
  5246. },
  5247.  
  5248. Package (0x04)
  5249. {
  5250. 0x0005FFFF,
  5251. 0x02,
  5252. Zero,
  5253. 0x14
  5254. },
  5255.  
  5256. Package (0x04)
  5257. {
  5258. 0x0005FFFF,
  5259. 0x03,
  5260. Zero,
  5261. 0x13
  5262. }
  5263. })
  5264. }
  5265. Else
  5266. {
  5267. Return (Package (0x04)
  5268. {
  5269. Package (0x04)
  5270. {
  5271. 0x0005FFFF,
  5272. Zero,
  5273. ^^LPCB.LNKG,
  5274. Zero
  5275. },
  5276.  
  5277. Package (0x04)
  5278. {
  5279. 0x0005FFFF,
  5280. One,
  5281. ^^LPCB.LNKF,
  5282. Zero
  5283. },
  5284.  
  5285. Package (0x04)
  5286. {
  5287. 0x0005FFFF,
  5288. 0x02,
  5289. ^^LPCB.LNKE,
  5290. Zero
  5291. },
  5292.  
  5293. Package (0x04)
  5294. {
  5295. 0x0005FFFF,
  5296. 0x03,
  5297. ^^LPCB.LNKD,
  5298. Zero
  5299. }
  5300. })
  5301. }
  5302. }
  5303. }
  5304.  
  5305. Device (LPCB)
  5306. {
  5307. Name (_ADR, 0x001F0000)
  5308. OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
  5309. Field (LPC0, AnyAcc, NoLock, Preserve)
  5310. {
  5311. Offset (0x20),
  5312. PARC, 8,
  5313. PBRC, 8,
  5314. PCRC, 8,
  5315. PDRC, 8,
  5316. Offset (0x28),
  5317. PERC, 8,
  5318. PFRC, 8,
  5319. PGRC, 8,
  5320. PHRC, 8,
  5321. Offset (0x40),
  5322. CMAR, 3,
  5323. , 1,
  5324. CMBR, 3,
  5325. Offset (0x41),
  5326. LPTR, 2,
  5327. Offset (0x42),
  5328. CMAD, 1,
  5329. CMBD, 1,
  5330. LPTD, 1,
  5331. FDDD, 1,
  5332. Offset (0x48),
  5333. IOR2, 16,
  5334. , 2,
  5335. LGRM, 6,
  5336. Offset (0xB0),
  5337. RAEN, 1,
  5338. , 13,
  5339. RCBA, 18
  5340. }
  5341.  
  5342. OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
  5343. Field (SMI0, AnyAcc, NoLock, Preserve)
  5344. {
  5345. SMIC, 8
  5346. }
  5347.  
  5348. OperationRegion (SMI1, SystemMemory, 0x7FEE1F3D, 0x00001010)
  5349. Field (SMI1, AnyAcc, NoLock, Preserve)
  5350. {
  5351. BCMD, 8,
  5352. DID, 32,
  5353. INFO, 1024
  5354. }
  5355.  
  5356. Field (SMI1, AnyAcc, NoLock, Preserve)
  5357. {
  5358. AccessAs (ByteAcc, 0x00),
  5359. Offset (0x05),
  5360. INF, 8,
  5361. INF1, 32
  5362. }
  5363.  
  5364. Mutex (PSMX, 0x00)
  5365. Method (PHSS, 1, NotSerialized)
  5366. {
  5367. Acquire (PSMX, 0xFFFF)
  5368. Store (0x80, BCMD)
  5369. Store (Arg0, DID)
  5370. Store (Zero, SMIC)
  5371. Release (PSMX)
  5372. }
  5373.  
  5374. Device (LNKA)
  5375. {
  5376. Name (_HID, EisaId ("PNP0C0F"))
  5377. Name (_UID, One)
  5378. Method (_DIS, 0, Serialized)
  5379. {
  5380. Store (0x80, PARC)
  5381. }
  5382.  
  5383. Name (_PRS, ResourceTemplate ()
  5384. {
  5385. IRQ (Level, ActiveLow, Shared, )
  5386. {1,3,4,5,6,7,10,12,14,15}
  5387. })
  5388. Method (_CRS, 0, Serialized)
  5389. {
  5390. Name (RTLA, ResourceTemplate ()
  5391. {
  5392. IRQ (Level, ActiveLow, Shared, )
  5393. {}
  5394. })
  5395. CreateWordField (RTLA, One, IRQ0)
  5396. Store (Zero, IRQ0)
  5397. ShiftLeft (One, And (PARC, 0x0F), IRQ0)
  5398. Return (RTLA)
  5399. }
  5400.  
  5401. Method (_SRS, 1, Serialized)
  5402. {
  5403. CreateWordField (Arg0, One, IRQ0)
  5404. FindSetRightBit (IRQ0, Local0)
  5405. Decrement (Local0)
  5406. Store (Local0, PARC)
  5407. }
  5408.  
  5409. Method (_STA, 0, Serialized)
  5410. {
  5411. If (And (PARC, 0x80))
  5412. {
  5413. Return (0x09)
  5414. }
  5415. Else
  5416. {
  5417. Return (0x0B)
  5418. }
  5419. }
  5420. }
  5421.  
  5422. Device (LNKB)
  5423. {
  5424. Name (_HID, EisaId ("PNP0C0F"))
  5425. Name (_UID, 0x02)
  5426. Method (_DIS, 0, Serialized)
  5427. {
  5428. Store (0x80, PBRC)
  5429. }
  5430.  
  5431. Name (_PRS, ResourceTemplate ()
  5432. {
  5433. IRQ (Level, ActiveLow, Shared, )
  5434. {1,3,4,5,6,7,11,12,14,15}
  5435. })
  5436. Method (_CRS, 0, Serialized)
  5437. {
  5438. Name (RTLB, ResourceTemplate ()
  5439. {
  5440. IRQ (Level, ActiveLow, Shared, )
  5441. {}
  5442. })
  5443. CreateWordField (RTLB, One, IRQ0)
  5444. Store (Zero, IRQ0)
  5445. ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
  5446. Return (RTLB)
  5447. }
  5448.  
  5449. Method (_SRS, 1, Serialized)
  5450. {
  5451. CreateWordField (Arg0, One, IRQ0)
  5452. FindSetRightBit (IRQ0, Local0)
  5453. Decrement (Local0)
  5454. Store (Local0, PBRC)
  5455. }
  5456.  
  5457. Method (_STA, 0, Serialized)
  5458. {
  5459. If (And (PBRC, 0x80))
  5460. {
  5461. Return (0x09)
  5462. }
  5463. Else
  5464. {
  5465. Return (0x0B)
  5466. }
  5467. }
  5468. }
  5469.  
  5470. Device (LNKC)
  5471. {
  5472. Name (_HID, EisaId ("PNP0C0F"))
  5473. Name (_UID, 0x03)
  5474. Method (_DIS, 0, Serialized)
  5475. {
  5476. Store (0x80, PCRC)
  5477. }
  5478.  
  5479. Name (_PRS, ResourceTemplate ()
  5480. {
  5481. IRQ (Level, ActiveLow, Shared, )
  5482. {1,3,4,5,6,7,10,12,14,15}
  5483. })
  5484. Method (_CRS, 0, Serialized)
  5485. {
  5486. Name (RTLC, ResourceTemplate ()
  5487. {
  5488. IRQ (Level, ActiveLow, Shared, )
  5489. {}
  5490. })
  5491. CreateWordField (RTLC, One, IRQ0)
  5492. Store (Zero, IRQ0)
  5493. ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
  5494. Return (RTLC)
  5495. }
  5496.  
  5497. Method (_SRS, 1, Serialized)
  5498. {
  5499. CreateWordField (Arg0, One, IRQ0)
  5500. FindSetRightBit (IRQ0, Local0)
  5501. Decrement (Local0)
  5502. Store (Local0, PCRC)
  5503. }
  5504.  
  5505. Method (_STA, 0, Serialized)
  5506. {
  5507. If (And (PCRC, 0x80))
  5508. {
  5509. Return (0x09)
  5510. }
  5511. Else
  5512. {
  5513. Return (0x0B)
  5514. }
  5515. }
  5516. }
  5517.  
  5518. Device (LNKD)
  5519. {
  5520. Name (_HID, EisaId ("PNP0C0F"))
  5521. Name (_UID, 0x04)
  5522. Method (_DIS, 0, Serialized)
  5523. {
  5524. Store (0x80, PDRC)
  5525. }
  5526.  
  5527. Name (_PRS, ResourceTemplate ()
  5528. {
  5529. IRQ (Level, ActiveLow, Shared, )
  5530. {1,3,4,5,6,7,11,12,14,15}
  5531. })
  5532. Method (_CRS, 0, Serialized)
  5533. {
  5534. Name (RTLD, ResourceTemplate ()
  5535. {
  5536. IRQ (Level, ActiveLow, Shared, )
  5537. {}
  5538. })
  5539. CreateWordField (RTLD, One, IRQ0)
  5540. Store (Zero, IRQ0)
  5541. ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
  5542. Return (RTLD)
  5543. }
  5544.  
  5545. Method (_SRS, 1, Serialized)
  5546. {
  5547. CreateWordField (Arg0, One, IRQ0)
  5548. FindSetRightBit (IRQ0, Local0)
  5549. Decrement (Local0)
  5550. Store (Local0, PDRC)
  5551. }
  5552.  
  5553. Method (_STA, 0, Serialized)
  5554. {
  5555. If (And (PDRC, 0x80))
  5556. {
  5557. Return (0x09)
  5558. }
  5559. Else
  5560. {
  5561. Return (0x0B)
  5562. }
  5563. }
  5564. }
  5565.  
  5566. Device (LNKE)
  5567. {
  5568. Name (_HID, EisaId ("PNP0C0F"))
  5569. Name (_UID, 0x05)
  5570. Method (_DIS, 0, Serialized)
  5571. {
  5572. Store (0x80, PERC)
  5573. }
  5574.  
  5575. Name (_PRS, ResourceTemplate ()
  5576. {
  5577. IRQ (Level, ActiveLow, Shared, )
  5578. {1,3,4,5,6,7,10,12,14,15}
  5579. })
  5580. Method (_CRS, 0, Serialized)
  5581. {
  5582. Name (RTLE, ResourceTemplate ()
  5583. {
  5584. IRQ (Level, ActiveLow, Shared, )
  5585. {}
  5586. })
  5587. CreateWordField (RTLE, One, IRQ0)
  5588. Store (Zero, IRQ0)
  5589. ShiftLeft (One, And (PERC, 0x0F), IRQ0)
  5590. Return (RTLE)
  5591. }
  5592.  
  5593. Method (_SRS, 1, Serialized)
  5594. {
  5595. CreateWordField (Arg0, One, IRQ0)
  5596. FindSetRightBit (IRQ0, Local0)
  5597. Decrement (Local0)
  5598. Store (Local0, PERC)
  5599. }
  5600.  
  5601. Method (_STA, 0, Serialized)
  5602. {
  5603. If (And (PERC, 0x80))
  5604. {
  5605. Return (0x09)
  5606. }
  5607. Else
  5608. {
  5609. Return (0x0B)
  5610. }
  5611. }
  5612. }
  5613.  
  5614. Device (LNKF)
  5615. {
  5616. Name (_HID, EisaId ("PNP0C0F"))
  5617. Name (_UID, 0x06)
  5618. Method (_DIS, 0, Serialized)
  5619. {
  5620. Store (0x80, PFRC)
  5621. }
  5622.  
  5623. Name (_PRS, ResourceTemplate ()
  5624. {
  5625. IRQ (Level, ActiveLow, Shared, )
  5626. {1,3,4,5,6,7,11,12,14,15}
  5627. })
  5628. Method (_CRS, 0, Serialized)
  5629. {
  5630. Name (RTLF, ResourceTemplate ()
  5631. {
  5632. IRQ (Level, ActiveLow, Shared, )
  5633. {}
  5634. })
  5635. CreateWordField (RTLF, One, IRQ0)
  5636. Store (Zero, IRQ0)
  5637. ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
  5638. Return (RTLF)
  5639. }
  5640.  
  5641. Method (_SRS, 1, Serialized)
  5642. {
  5643. CreateWordField (Arg0, One, IRQ0)
  5644. FindSetRightBit (IRQ0, Local0)
  5645. Decrement (Local0)
  5646. Store (Local0, PFRC)
  5647. }
  5648.  
  5649. Method (_STA, 0, Serialized)
  5650. {
  5651. If (And (PFRC, 0x80))
  5652. {
  5653. Return (0x09)
  5654. }
  5655. Else
  5656. {
  5657. Return (0x0B)
  5658. }
  5659. }
  5660. }
  5661.  
  5662. Device (LNKG)
  5663. {
  5664. Name (_HID, EisaId ("PNP0C0F"))
  5665. Name (_UID, 0x07)
  5666. Method (_DIS, 0, Serialized)
  5667. {
  5668. Store (0x80, PGRC)
  5669. }
  5670.  
  5671. Name (_PRS, ResourceTemplate ()
  5672. {
  5673. IRQ (Level, ActiveLow, Shared, )
  5674. {1,3,4,5,6,7,10,12,14,15}
  5675. })
  5676. Method (_CRS, 0, Serialized)
  5677. {
  5678. Name (RTLG, ResourceTemplate ()
  5679. {
  5680. IRQ (Level, ActiveLow, Shared, )
  5681. {}
  5682. })
  5683. CreateWordField (RTLG, One, IRQ0)
  5684. Store (Zero, IRQ0)
  5685. ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
  5686. Return (RTLG)
  5687. }
  5688.  
  5689. Method (_SRS, 1, Serialized)
  5690. {
  5691. CreateWordField (Arg0, One, IRQ0)
  5692. FindSetRightBit (IRQ0, Local0)
  5693. Decrement (Local0)
  5694. Store (Local0, PGRC)
  5695. }
  5696.  
  5697. Method (_STA, 0, Serialized)
  5698. {
  5699. If (And (PGRC, 0x80))
  5700. {
  5701. Return (0x09)
  5702. }
  5703. Else
  5704. {
  5705. Return (0x0B)
  5706. }
  5707. }
  5708. }
  5709.  
  5710. Device (LNKH)
  5711. {
  5712. Name (_HID, EisaId ("PNP0C0F"))
  5713. Name (_UID, 0x08)
  5714. Method (_DIS, 0, Serialized)
  5715. {
  5716. Store (0x80, PHRC)
  5717. }
  5718.  
  5719. Name (_PRS, ResourceTemplate ()
  5720. {
  5721. IRQ (Level, ActiveLow, Shared, )
  5722. {1,3,4,5,6,7,11,12,14,15}
  5723. })
  5724. Method (_CRS, 0, Serialized)
  5725. {
  5726. Name (RTLH, ResourceTemplate ()
  5727. {
  5728. IRQ (Level, ActiveLow, Shared, )
  5729. {}
  5730. })
  5731. CreateWordField (RTLH, One, IRQ0)
  5732. Store (Zero, IRQ0)
  5733. ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
  5734. Return (RTLH)
  5735. }
  5736.  
  5737. Method (_SRS, 1, Serialized)
  5738. {
  5739. CreateWordField (Arg0, One, IRQ0)
  5740. FindSetRightBit (IRQ0, Local0)
  5741. Decrement (Local0)
  5742. Store (Local0, PHRC)
  5743. }
  5744.  
  5745. Method (_STA, 0, Serialized)
  5746. {
  5747. If (And (PHRC, 0x80))
  5748. {
  5749. Return (0x09)
  5750. }
  5751. Else
  5752. {
  5753. Return (0x0B)
  5754. }
  5755. }
  5756. }
  5757.  
  5758. Device (DMAC)
  5759. {
  5760. Name (_HID, EisaId ("PNP0200"))
  5761. Name (_CRS, ResourceTemplate ()
  5762. {
  5763. IO (Decode16,
  5764. 0x0000, // Range Minimum
  5765. 0x0000, // Range Maximum
  5766. 0x01, // Alignment
  5767. 0x20, // Length
  5768. )
  5769. IO (Decode16,
  5770. 0x0081, // Range Minimum
  5771. 0x0081, // Range Maximum
  5772. 0x01, // Alignment
  5773. 0x11, // Length
  5774. )
  5775. IO (Decode16,
  5776. 0x0093, // Range Minimum
  5777. 0x0093, // Range Maximum
  5778. 0x01, // Alignment
  5779. 0x0D, // Length
  5780. )
  5781. IO (Decode16,
  5782. 0x00C0, // Range Minimum
  5783. 0x00C0, // Range Maximum
  5784. 0x01, // Alignment
  5785. 0x20, // Length
  5786. )
  5787. DMA (Compatibility, NotBusMaster, Transfer8_16, )
  5788. {4}
  5789. })
  5790. }
  5791.  
  5792. Device (FWHD)
  5793. {
  5794. Name (_HID, EisaId ("INT0800"))
  5795. Name (_CRS, ResourceTemplate ()
  5796. {
  5797. Memory32Fixed (ReadOnly,
  5798. 0xFF000000, // Address Base
  5799. 0x01000000, // Address Length
  5800. )
  5801. })
  5802. }
  5803.  
  5804. Device (HPET)
  5805. {
  5806. Name (_HID, EisaId ("PNP0103"))
  5807. Name (_CID, 0x010CD041)
  5808. Name (BUF0, ResourceTemplate ()
  5809. {
  5810. Memory32Fixed (ReadOnly,
  5811. 0xFED00000, // Address Base
  5812. 0x00000400, // Address Length
  5813. _Y16)
  5814. })
  5815. Method (_STA, 0, NotSerialized)
  5816. {
  5817. If (LGreaterEqual (OSYS, 0x07D1))
  5818. {
  5819. If (HPAE)
  5820. {
  5821. Return (0x0F)
  5822. }
  5823. }
  5824. Else
  5825. {
  5826. If (HPAE)
  5827. {
  5828. Return (0x0B)
  5829. }
  5830. }
  5831.  
  5832. Return (Zero)
  5833. }
  5834.  
  5835. Method (_CRS, 0, Serialized)
  5836. {
  5837. If (HPAE)
  5838. {
  5839. CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y16._BAS, HPT0)
  5840. If (LEqual (HPAS, One))
  5841. {
  5842. Store (0xFED01000, HPT0)
  5843. }
  5844.  
  5845. If (LEqual (HPAS, 0x02))
  5846. {
  5847. Store (0xFED02000, HPT0)
  5848. }
  5849.  
  5850. If (LEqual (HPAS, 0x03))
  5851. {
  5852. Store (0xFED03000, HPT0)
  5853. }
  5854. }
  5855.  
  5856. Return (BUF0)
  5857. }
  5858. }
  5859.  
  5860. Device (IPIC)
  5861. {
  5862. Name (_HID, EisaId ("PNP0000"))
  5863. Name (_CRS, ResourceTemplate ()
  5864. {
  5865. IO (Decode16,
  5866. 0x0020, // Range Minimum
  5867. 0x0020, // Range Maximum
  5868. 0x01, // Alignment
  5869. 0x02, // Length
  5870. )
  5871. IO (Decode16,
  5872. 0x0024, // Range Minimum
  5873. 0x0024, // Range Maximum
  5874. 0x01, // Alignment
  5875. 0x02, // Length
  5876. )
  5877. IO (Decode16,
  5878. 0x0028, // Range Minimum
  5879. 0x0028, // Range Maximum
  5880. 0x01, // Alignment
  5881. 0x02, // Length
  5882. )
  5883. IO (Decode16,
  5884. 0x002C, // Range Minimum
  5885. 0x002C, // Range Maximum
  5886. 0x01, // Alignment
  5887. 0x02, // Length
  5888. )
  5889. IO (Decode16,
  5890. 0x0030, // Range Minimum
  5891. 0x0030, // Range Maximum
  5892. 0x01, // Alignment
  5893. 0x02, // Length
  5894. )
  5895. IO (Decode16,
  5896. 0x0034, // Range Minimum
  5897. 0x0034, // Range Maximum
  5898. 0x01, // Alignment
  5899. 0x02, // Length
  5900. )
  5901. IO (Decode16,
  5902. 0x0038, // Range Minimum
  5903. 0x0038, // Range Maximum
  5904. 0x01, // Alignment
  5905. 0x02, // Length
  5906. )
  5907. IO (Decode16,
  5908. 0x003C, // Range Minimum
  5909. 0x003C, // Range Maximum
  5910. 0x01, // Alignment
  5911. 0x02, // Length
  5912. )
  5913. IO (Decode16,
  5914. 0x00A0, // Range Minimum
  5915. 0x00A0, // Range Maximum
  5916. 0x01, // Alignment
  5917. 0x02, // Length
  5918. )
  5919. IO (Decode16,
  5920. 0x00A4, // Range Minimum
  5921. 0x00A4, // Range Maximum
  5922. 0x01, // Alignment
  5923. 0x02, // Length
  5924. )
  5925. IO (Decode16,
  5926. 0x00A8, // Range Minimum
  5927. 0x00A8, // Range Maximum
  5928. 0x01, // Alignment
  5929. 0x02, // Length
  5930. )
  5931. IO (Decode16,
  5932. 0x00AC, // Range Minimum
  5933. 0x00AC, // Range Maximum
  5934. 0x01, // Alignment
  5935. 0x02, // Length
  5936. )
  5937. IO (Decode16,
  5938. 0x00B0, // Range Minimum
  5939. 0x00B0, // Range Maximum
  5940. 0x01, // Alignment
  5941. 0x02, // Length
  5942. )
  5943. IO (Decode16,
  5944. 0x00B4, // Range Minimum
  5945. 0x00B4, // Range Maximum
  5946. 0x01, // Alignment
  5947. 0x02, // Length
  5948. )
  5949. IO (Decode16,
  5950. 0x00B8, // Range Minimum
  5951. 0x00B8, // Range Maximum
  5952. 0x01, // Alignment
  5953. 0x02, // Length
  5954. )
  5955. IO (Decode16,
  5956. 0x00BC, // Range Minimum
  5957. 0x00BC, // Range Maximum
  5958. 0x01, // Alignment
  5959. 0x02, // Length
  5960. )
  5961. IO (Decode16,
  5962. 0x04D0, // Range Minimum
  5963. 0x04D0, // Range Maximum
  5964. 0x01, // Alignment
  5965. 0x02, // Length
  5966. )
  5967. IRQNoFlags ()
  5968. {2}
  5969. })
  5970. }
  5971.  
  5972. Device (MATH)
  5973. {
  5974. Name (_HID, EisaId ("PNP0C04"))
  5975. Name (_CRS, ResourceTemplate ()
  5976. {
  5977. IO (Decode16,
  5978. 0x00F0, // Range Minimum
  5979. 0x00F0, // Range Maximum
  5980. 0x01, // Alignment
  5981. 0x01, // Length
  5982. )
  5983. IRQNoFlags ()
  5984. {13}
  5985. })
  5986. }
  5987.  
  5988. Device (LDRC)
  5989. {
  5990. Name (_HID, EisaId ("PNP0C02"))
  5991. Name (_UID, 0x02)
  5992. Name (_CRS, ResourceTemplate ()
  5993. {
  5994. IO (Decode16,
  5995. 0x002E, // Range Minimum
  5996. 0x002E, // Range Maximum
  5997. 0x01, // Alignment
  5998. 0x02, // Length
  5999. )
  6000. IO (Decode16,
  6001. 0x0061, // Range Minimum
  6002. 0x0061, // Range Maximum
  6003. 0x01, // Alignment
  6004. 0x01, // Length
  6005. )
  6006. IO (Decode16,
  6007. 0x0063, // Range Minimum
  6008. 0x0063, // Range Maximum
  6009. 0x01, // Alignment
  6010. 0x01, // Length
  6011. )
  6012. IO (Decode16,
  6013. 0x0065, // Range Minimum
  6014. 0x0065, // Range Maximum
  6015. 0x01, // Alignment
  6016. 0x01, // Length
  6017. )
  6018. IO (Decode16,
  6019. 0x0067, // Range Minimum
  6020. 0x0067, // Range Maximum
  6021. 0x01, // Alignment
  6022. 0x01, // Length
  6023. )
  6024. IO (Decode16,
  6025. 0x0080, // Range Minimum
  6026. 0x0080, // Range Maximum
  6027. 0x01, // Alignment
  6028. 0x01, // Length
  6029. )
  6030. IO (Decode16,
  6031. 0x0092, // Range Minimum
  6032. 0x0092, // Range Maximum
  6033. 0x01, // Alignment
  6034. 0x01, // Length
  6035. )
  6036. IO (Decode16,
  6037. 0x00B2, // Range Minimum
  6038. 0x00B2, // Range Maximum
  6039. 0x01, // Alignment
  6040. 0x02, // Length
  6041. )
  6042. IO (Decode16,
  6043. 0x0680, // Range Minimum
  6044. 0x0680, // Range Maximum
  6045. 0x01, // Alignment
  6046. 0x20, // Length
  6047. )
  6048. IO (Decode16,
  6049. 0x0800, // Range Minimum
  6050. 0x0800, // Range Maximum
  6051. 0x01, // Alignment
  6052. 0x10, // Length
  6053. )
  6054. IO (Decode16,
  6055. 0x1000, // Range Minimum
  6056. 0x1000, // Range Maximum
  6057. 0x01, // Alignment
  6058. 0x80, // Length
  6059. )
  6060. IO (Decode16,
  6061. 0x1180, // Range Minimum
  6062. 0x1180, // Range Maximum
  6063. 0x01, // Alignment
  6064. 0x40, // Length
  6065. )
  6066. IO (Decode16,
  6067. 0xFE00, // Range Minimum
  6068. 0xFE00, // Range Maximum
  6069. 0x01, // Alignment
  6070. 0x01, // Length
  6071. )
  6072. IO (Decode16,
  6073. 0xFF00, // Range Minimum
  6074. 0xFF00, // Range Maximum
  6075. 0x01, // Alignment
  6076. 0x80, // Length
  6077. )
  6078. })
  6079. }
  6080.  
  6081. Device (RTC)
  6082. {
  6083. Name (_HID, EisaId ("PNP0B00"))
  6084. Name (_CRS, ResourceTemplate ()
  6085. {
  6086. IO (Decode16,
  6087. 0x0070, // Range Minimum
  6088. 0x0070, // Range Maximum
  6089. 0x01, // Alignment
  6090. 0x08, // Length
  6091. )
  6092. IRQNoFlags ()
  6093. {8}
  6094. })
  6095. }
  6096.  
  6097. Device (TIMR)
  6098. {
  6099. Name (_HID, EisaId ("PNP0100"))
  6100. Name (_CRS, ResourceTemplate ()
  6101. {
  6102. IO (Decode16,
  6103. 0x0040, // Range Minimum
  6104. 0x0040, // Range Maximum
  6105. 0x01, // Alignment
  6106. 0x04, // Length
  6107. )
  6108. IO (Decode16,
  6109. 0x0050, // Range Minimum
  6110. 0x0050, // Range Maximum
  6111. 0x10, // Alignment
  6112. 0x04, // Length
  6113. )
  6114. IRQNoFlags ()
  6115. {0}
  6116. })
  6117. }
  6118.  
  6119. Device (ACAD)
  6120. {
  6121. Name (_HID, "ACPI0003")
  6122. Name (_PCL, Package (0x01)
  6123. {
  6124. _SB
  6125. })
  6126. Method (_PSR, 0, NotSerialized)
  6127. {
  6128. If (ECOK ())
  6129. {
  6130. Store (^^EC0.BST0, Local0)
  6131. And (Local0, 0x80, Local0)
  6132. If (LEqual (Local0, 0x80))
  6133. {
  6134. Return (One)
  6135. }
  6136.  
  6137. Return (Zero)
  6138. }
  6139.  
  6140. Return (One)
  6141. }
  6142. }
  6143.  
  6144. Method (ECOK, 0, NotSerialized)
  6145. {
  6146. If (LEqual (^EC0.Z009, One))
  6147. {
  6148. Return (One)
  6149. }
  6150. Else
  6151. {
  6152. Return (Zero)
  6153. }
  6154. }
  6155.  
  6156. Device (EC0)
  6157. {
  6158. Name (_HID, EisaId ("PNP0C09"))
  6159. Name (_GPE, 0x1C)
  6160. Name (Z009, Zero)
  6161. Name (_CRS, ResourceTemplate ()
  6162. {
  6163. IO (Decode16,
  6164. 0x0062, // Range Minimum
  6165. 0x0062, // Range Maximum
  6166. 0x01, // Alignment
  6167. 0x01, // Length
  6168. )
  6169. IO (Decode16,
  6170. 0x0066, // Range Minimum
  6171. 0x0066, // Range Maximum
  6172. 0x01, // Alignment
  6173. 0x01, // Length
  6174. )
  6175. })
  6176. Method (_REG, 2, NotSerialized)
  6177. {
  6178. If (LEqual (Arg0, 0x03))
  6179. {
  6180. Store (Arg1, Z009)
  6181. }
  6182. }
  6183.  
  6184. OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
  6185. Field (ERAM, ByteAcc, Lock, Preserve)
  6186. {
  6187. Offset (0x60),
  6188. SMPR, 8,
  6189. SMST, 8,
  6190. SMAD, 8,
  6191. SMCM, 8,
  6192. SMD0, 256,
  6193. BCNT, 8,
  6194. SMAA, 24,
  6195. Offset (0x90),
  6196. CHGM, 16,
  6197. CHGS, 16,
  6198. ENID, 8,
  6199. ENIB, 8,
  6200. ENDD, 8,
  6201. CHGV, 8,
  6202. CHGA, 16,
  6203. BAL0, 1,
  6204. BAL1, 1,
  6205. BAL2, 1,
  6206. BAL3, 1,
  6207. BBC0, 1,
  6208. BBC1, 1,
  6209. BBC2, 1,
  6210. BBC3, 1,
  6211. Offset (0x9C),
  6212. PHDD, 1,
  6213. IFDD, 1,
  6214. IODD, 1,
  6215. SHDD, 1,
  6216. S120, 1,
  6217. EFDD, 1,
  6218. CRTD, 1,
  6219. SPWR, 1,
  6220. SBTN, 1,
  6221. VIDO, 1,
  6222. VOLD, 1,
  6223. VOLU, 1,
  6224. MUTE, 1,
  6225. CONT, 1,
  6226. BRGT, 1,
  6227. HBTN, 1,
  6228. S4ST, 1,
  6229. SKEY, 1,
  6230. BKEY, 1,
  6231. TOUP, 1,
  6232. FNBN, 1,
  6233. LIDF, 1,
  6234. DIGM, 1,
  6235. UWAK, 1,
  6236. , 1,
  6237. LIDP, 1,
  6238. Offset (0xA0),
  6239. DKSP, 1,
  6240. DKIN, 1,
  6241. DKID, 1,
  6242. DKOK, 1,
  6243. Offset (0xA1),
  6244. DKPW, 1,
  6245. Offset (0xA2),
  6246. BTNS, 8,
  6247. S1LD, 1,
  6248. S3LD, 1,
  6249. VGAQ, 1,
  6250. PCMQ, 1,
  6251. PCMR, 1,
  6252. ADPT, 1,
  6253. SLLS, 1,
  6254. SYS7, 1,
  6255. PWAK, 1,
  6256. MWAK, 1,
  6257. , 1,
  6258. SLPN, 1,
  6259. LWAK, 1,
  6260. Offset (0xA6),
  6261. EKEY, 8,
  6262. Offset (0xAA),
  6263. TCNL, 8,
  6264. TMPI, 8,
  6265. TMSD, 8,
  6266. FASN, 4,
  6267. FASU, 4,
  6268. PCVL, 4,
  6269. , 2,
  6270. SWTO, 1,
  6271. HWTO, 1,
  6272. MODE, 1,
  6273. FANS, 2,
  6274. INIT, 1,
  6275. FAN1, 1,
  6276. FAN2, 1,
  6277. FANT, 1,
  6278. SKNM, 1,
  6279. CTMP, 8,
  6280. LIDE, 1,
  6281. PMEE, 1,
  6282. PWBE, 1,
  6283. RNGE, 1,
  6284. BTWE, 1,
  6285. DCKE, 1,
  6286. Offset (0xB2),
  6287. Offset (0xB3),
  6288. SKTC, 8,
  6289. SKTB, 8,
  6290. SKTA, 8,
  6291. Offset (0xB7),
  6292. HAPL, 2,
  6293. HAPR, 1,
  6294. Offset (0xB8),
  6295. BTDT, 1,
  6296. BTPW, 1,
  6297. BTDS, 1,
  6298. BTPS, 1,
  6299. BTSW, 1,
  6300. BTWK, 1,
  6301. BTLD, 1,
  6302. Offset (0xB9),
  6303. BRTS, 8,
  6304. CNTS, 8,
  6305. WLAT, 1,
  6306. BTAT, 1,
  6307. WLEX, 1,
  6308. BTEX, 1,
  6309. KLSW, 1,
  6310. WLOK, 1,
  6311. Offset (0xBC),
  6312. PTID, 8,
  6313. CPUT, 8,
  6314. LIDW, 1,
  6315. Offset (0xBF),
  6316. GHID, 8,
  6317. , 4,
  6318. BMF0, 3,
  6319. BTY0, 1,
  6320. BST0, 8,
  6321. BRC0, 16,
  6322. BSN0, 16,
  6323. BPV0, 16,
  6324. BDV0, 16,
  6325. BDC0, 16,
  6326. BFC0, 16,
  6327. GAU0, 8,
  6328. CYC0, 8,
  6329. BPC0, 16,
  6330. BAC0, 16,
  6331. BAT0, 8,
  6332. BTW0, 8,
  6333. BTS0, 8,
  6334. BDN0, 8,
  6335. Offset (0xF2),
  6336. , 4,
  6337. DBCD, 1,
  6338. , 4
  6339. }
  6340.  
  6341. Method (_Q11, 0, NotSerialized)
  6342. {
  6343. Store (0x87, P80H)
  6344. If (IGDS)
  6345. {
  6346. ^^^GFX0.BRTN (0x87)
  6347. }
  6348. Else
  6349. {
  6350. Notify (^^^PEGP.VGA.LCD, 0x87)
  6351. }
  6352. }
  6353.  
  6354. Method (_Q12, 0, NotSerialized)
  6355. {
  6356. Store (0x86, P80H)
  6357. If (IGDS)
  6358. {
  6359. ^^^GFX0.BRTN (0x86)
  6360. }
  6361. Else
  6362. {
  6363. Notify (^^^PEGP.VGA.LCD, 0x86)
  6364. }
  6365. }
  6366.  
  6367. Method (_Q1C, 0, NotSerialized)
  6368. {
  6369. Store ("=====QUERY_1C=====", Debug)
  6370. If (VIDO)
  6371. {
  6372. If (IGDS)
  6373. {
  6374. ^^^GFX0.GHDS (Zero)
  6375. }
  6376. Else
  6377. {
  6378. ^^^PEGP.VGA.DSSW ()
  6379. }
  6380.  
  6381. Store (Zero, VIDO)
  6382. }
  6383. }
  6384.  
  6385. Method (_Q1D, 0, NotSerialized)
  6386. {
  6387. Store ("=====QUERY_1D=====", Debug)
  6388. PCLK ()
  6389. }
  6390.  
  6391. Method (_Q24, 0, NotSerialized)
  6392. {
  6393. Store ("=====QUERY_24=====", Debug)
  6394. Store (0x0100, Local0)
  6395. While (Local0)
  6396. {
  6397. Store (0x0100, Local1)
  6398. While (LEqual (E1F7, 0x50))
  6399. {
  6400. PHSS (0x71)
  6401. Break
  6402. }
  6403.  
  6404. If (Local1)
  6405. {
  6406. Decrement (Local0)
  6407. Sleep (One)
  6408. Break
  6409. }
  6410. Else
  6411. {
  6412. Break
  6413. }
  6414. }
  6415. }
  6416.  
  6417. Method (_Q25, 0, NotSerialized)
  6418. {
  6419. Store ("=====QUERY_25=====", Debug)
  6420. Sleep (0x03E8)
  6421. Notify (BAT1, 0x81)
  6422. Sleep (0x03E8)
  6423. Notify (BAT1, 0x80)
  6424. }
  6425.  
  6426. Method (_Q34, 0, NotSerialized)
  6427. {
  6428. Store ("=====QUERY_34=====", Debug)
  6429. If (BKEY)
  6430. {
  6431. PHSS (0x71)
  6432. Store (Zero, BKEY)
  6433. }
  6434. }
  6435.  
  6436. Method (_Q37, 0, NotSerialized)
  6437. {
  6438. Store ("=====QUERY_37=====", Debug)
  6439. Notify (ACAD, 0x80)
  6440. Sleep (0x03E8)
  6441. Notify (BAT1, 0x80)
  6442. }
  6443.  
  6444. Method (_Q38, 0, NotSerialized)
  6445. {
  6446. Store ("=====QUERY_38=====", Debug)
  6447. Notify (ACAD, 0x80)
  6448. Sleep (0x03E8)
  6449. Notify (BAT1, 0x80)
  6450. }
  6451.  
  6452. Method (_Q2D, 0, NotSerialized)
  6453. {
  6454. Store ("=====QUERY_2D=====", Debug)
  6455. Store (Zero, DTSM)
  6456. TRAP (0x46)
  6457. }
  6458.  
  6459. Method (_Q2E, 0, NotSerialized)
  6460. {
  6461. Store ("=====QUERY_2E=====", Debug)
  6462. Store (One, DTSM)
  6463. TRAP (0x46)
  6464. }
  6465.  
  6466. OperationRegion (CCLK, SystemIO, 0x1010, 0x04)
  6467. Field (CCLK, DWordAcc, NoLock, Preserve)
  6468. {
  6469. , 1,
  6470. DUTY, 3,
  6471. THEN, 1,
  6472. Offset (0x01),
  6473. FTT, 1,
  6474. , 8,
  6475. TSTS, 1
  6476. }
  6477.  
  6478. OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF)
  6479. Field (ECRM, ByteAcc, Lock, Preserve)
  6480. {
  6481. Offset (0x94),
  6482. ERIB, 16,
  6483. ERBD, 8,
  6484. Offset (0xAC),
  6485. SDTM, 8,
  6486. FSSN, 4,
  6487. FANU, 4,
  6488. PTVL, 3,
  6489. , 4,
  6490. TTHR, 1,
  6491. Offset (0xBC),
  6492. PJID, 8,
  6493. Offset (0xBE),
  6494. Offset (0xF9),
  6495. RFRD, 16
  6496. }
  6497.  
  6498. Mutex (FAMX, 0x00)
  6499. Method (FANG, 1, NotSerialized)
  6500. {
  6501. Acquire (FAMX, 0xFFFF)
  6502. Store (Arg0, ERIB)
  6503. Store (ERBD, Local0)
  6504. Release (FAMX)
  6505. Return (Local0)
  6506. }
  6507.  
  6508. Method (FANW, 2, NotSerialized)
  6509. {
  6510. Acquire (FAMX, 0xFFFF)
  6511. Store (Arg0, ERIB)
  6512. Store (Arg1, ERBD)
  6513. Release (FAMX)
  6514. Return (Arg1)
  6515. }
  6516.  
  6517. Method (TUVR, 1, NotSerialized)
  6518. {
  6519. Return (0x03)
  6520. }
  6521.  
  6522. Method (THRO, 1, NotSerialized)
  6523. {
  6524. If (LEqual (Arg0, Zero))
  6525. {
  6526. Return (THEN)
  6527. }
  6528. Else
  6529. {
  6530. If (LEqual (Arg0, One))
  6531. {
  6532. Return (DUTY)
  6533. }
  6534. Else
  6535. {
  6536. If (LEqual (Arg0, 0x02))
  6537. {
  6538. Return (TTHR)
  6539. }
  6540. Else
  6541. {
  6542. Return (0xFF)
  6543. }
  6544. }
  6545. }
  6546. }
  6547.  
  6548. Method (CLCK, 1, NotSerialized)
  6549. {
  6550. If (LEqual (Arg0, Zero))
  6551. {
  6552. Store (Zero, THEN)
  6553. Store (Zero, FTT)
  6554. }
  6555. Else
  6556. {
  6557. Store (Arg0, DUTY)
  6558. Store (One, THEN)
  6559. }
  6560.  
  6561. Return (THEN)
  6562. }
  6563.  
  6564. Method (PCLK, 0, NotSerialized)
  6565. {
  6566. Store (PTVL, Local0)
  6567. If (LEqual (Local0, Zero))
  6568. {
  6569. Store (Zero, THEN)
  6570. Store (Zero, FTT)
  6571. }
  6572. Else
  6573. {
  6574. Decrement (Local0)
  6575. Store (Not (Local0), Local1)
  6576. And (Local1, 0x07, Local1)
  6577. Store (Local1, DUTY)
  6578. Store (One, THEN)
  6579. }
  6580. }
  6581. }
  6582.  
  6583. Device (BAT1)
  6584. {
  6585. Name (_HID, EisaId ("PNP0C0A"))
  6586. Name (_UID, One)
  6587. Name (_PCL, Package (0x01)
  6588. {
  6589. _SB
  6590. })
  6591. Method (_STA, 0, NotSerialized)
  6592. {
  6593. If (ECOK ())
  6594. {
  6595. If (LEqual (OSYS, 0x07D6))
  6596. {
  6597. Store (^^EC0.EKEY, Local1)
  6598. Or (Local1, One, Local1)
  6599. Store (Local1, ^^EC0.EKEY)
  6600. }
  6601.  
  6602. If (^^EC0.BAL0)
  6603. {
  6604. Sleep (0x14)
  6605. Return (0x1F)
  6606. }
  6607. Else
  6608. {
  6609. Sleep (0x14)
  6610. Return (0x0F)
  6611. }
  6612. }
  6613. Else
  6614. {
  6615. Sleep (0x14)
  6616. Return (0x1F)
  6617. }
  6618. }
  6619.  
  6620. Method (_BIF, 0, NotSerialized)
  6621. {
  6622. Name (STAT, Package (0x0D)
  6623. {
  6624. Zero,
  6625. 0x0FA0,
  6626. 0x0FA0,
  6627. One,
  6628. 0x2B5C,
  6629. 0x01A4,
  6630. 0x9C,
  6631. 0x0108,
  6632. 0x0EC4,
  6633. "",
  6634. "11",
  6635. "Lion",
  6636. "Dell"
  6637. })
  6638. If (ECOK ())
  6639. {
  6640. Store (^^EC0.BDC0, Local0)
  6641. Store (^^EC0.BFC0, Local1)
  6642. Multiply (Local0, 0x0A, Local0)
  6643. Multiply (Local1, 0x0A, Local1)
  6644. Store (Local0, Index (STAT, One))
  6645. Store (Local1, Index (STAT, 0x02))
  6646. Store (^^EC0.BDV0, Index (STAT, 0x04))
  6647. Store (^^EC0.BSN0, Local2)
  6648. Store (^^EC0.BFC0, Local3)
  6649. Divide (Multiply (Local3, 0x32, Local3), 0x64, , Local3)
  6650. Store (Local3, Index (STAT, 0x05))
  6651. Sleep (0x14)
  6652. Store (^^EC0.BFC0, Local4)
  6653. Divide (Multiply (Local4, 0x1E, Local4), 0x64, , Local4)
  6654. Store (Local4, Index (STAT, 0x06))
  6655. }
  6656.  
  6657. Return (STAT)
  6658. }
  6659.  
  6660. Method (_BST, 0, NotSerialized)
  6661. {
  6662. Name (PBST, Package (0x04)
  6663. {
  6664. Zero,
  6665. 0xFFFFFFFF,
  6666. 0xFFFFFFFF,
  6667. 0x2B5C
  6668. })
  6669. Store (Zero, Local0)
  6670. Store (0x0732, Local1)
  6671. Store (0x0960, Local2)
  6672. Store (0x2B5C, Local3)
  6673. If (ECOK ())
  6674. {
  6675. Store (^^EC0.BST0, Local0)
  6676. Sleep (0x14)
  6677. Store (^^EC0.BAC0, Local1)
  6678. Sleep (0x14)
  6679. Store (^^EC0.BRC0, Local2)
  6680. Sleep (0x14)
  6681. Store (^^EC0.BPV0, Local3)
  6682. Sleep (0x14)
  6683. Store (^^EC0.GAU0, Local4)
  6684. If (LAnd (Local1, 0x8000))
  6685. {
  6686. Not (Local1, Local1)
  6687. And (Local1, 0xFFFF, Local1)
  6688. }
  6689.  
  6690. And (Local0, 0x07, Local0)
  6691. If (LEqual (Local0, 0x02))
  6692. {
  6693. If (LLess (Local4, 0x50))
  6694. {
  6695. Divide (Multiply (0x0C80, Local3, Local1), 0x03E8, , Local1)
  6696. }
  6697. Else
  6698. {
  6699. If (LLess (Local4, 0x5A))
  6700. {
  6701. Divide (Multiply (0x07D0, Local3, Local1), 0x03E8, , Local1)
  6702. }
  6703. Else
  6704. {
  6705. Divide (Multiply (0x03E8, Local3, Local1), 0x03E8, , Local1)
  6706. }
  6707. }
  6708. }
  6709. Else
  6710. {
  6711. Divide (Multiply (Local1, Local3, Local1), 0x03E8, , Local1)
  6712. }
  6713.  
  6714. If (^^EC0.DBCD)
  6715. {
  6716. If (^^EC0.SYS7)
  6717. {
  6718. Store (Zero, Local0)
  6719. }
  6720. Else
  6721. {
  6722. Store (One, Local0)
  6723. }
  6724. }
  6725.  
  6726. Multiply (Local2, 0x0A, Local2)
  6727. Store (Local0, Index (PBST, Zero))
  6728. Store (Local1, Index (PBST, One))
  6729. Store (Local2, Index (PBST, 0x02))
  6730. Store (Local3, Index (PBST, 0x03))
  6731. }
  6732.  
  6733. Return (PBST)
  6734. }
  6735. }
  6736.  
  6737. Device (TPM)
  6738. {
  6739. Name (_HID, EisaId ("IFX0102"))
  6740. Name (_CID, 0x310CD041)
  6741. Name (_UID, One)
  6742. Name (_STR, Unicode ("Infineon Trusted Platform Module"))
  6743. Method (_STA, 0, NotSerialized)
  6744. {
  6745. If (TPRS)
  6746. {
  6747. Return (0x0F)
  6748. }
  6749.  
  6750. Return (Zero)
  6751. }
  6752.  
  6753. OperationRegion (TLTR, SystemMemory, 0xFED40000, One)
  6754. Field (TLTR, ByteAcc, Lock, Preserve)
  6755. {
  6756. ACCE, 8
  6757. }
  6758.  
  6759. Name (BUF0, ResourceTemplate ()
  6760. {
  6761. Memory32Fixed (ReadWrite,
  6762. 0xFED40000, // Address Base
  6763. 0x00005000, // Address Length
  6764. )
  6765. IO (Decode16,
  6766. 0x004E, // Range Minimum
  6767. 0x004E, // Range Maximum
  6768. 0x01, // Alignment
  6769. 0x02, // Length
  6770. )
  6771. IO (Decode16,
  6772. 0x1670, // Range Minimum
  6773. 0x1670, // Range Maximum
  6774. 0x01, // Alignment
  6775. 0x10, // Length
  6776. )
  6777. IRQNoFlags ()
  6778. {7}
  6779. })
  6780. Name (BUF1, ResourceTemplate ()
  6781. {
  6782. Memory32Fixed (ReadWrite,
  6783. 0xFED40000, // Address Base
  6784. 0x00005000, // Address Length
  6785. )
  6786. })
  6787. Method (_CRS, 0, Serialized)
  6788. {
  6789. If (LGreaterEqual (OSYS, 0x07D6))
  6790. {
  6791. Return (BUF1)
  6792. }
  6793. Else
  6794. {
  6795. Return (BUF0)
  6796. }
  6797. }
  6798.  
  6799. Method (UCMP, 2, NotSerialized)
  6800. {
  6801. If (LNotEqual (0x10, SizeOf (Arg0)))
  6802. {
  6803. Return (Zero)
  6804. }
  6805.  
  6806. If (LNotEqual (0x10, SizeOf (Arg1)))
  6807. {
  6808. Return (Zero)
  6809. }
  6810.  
  6811. Store (Zero, Local0)
  6812. While (LLess (Local0, 0x10))
  6813. {
  6814. If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index (
  6815. Arg1, Local0))))
  6816. {
  6817. Return (Zero)
  6818. }
  6819.  
  6820. Increment (Local0)
  6821. }
  6822.  
  6823. Return (One)
  6824. }
  6825.  
  6826. Method (_DSM, 4, Serialized)
  6827. {
  6828. If (LEqual (UCMP (Arg0, Buffer (0x10)
  6829. {
  6830. /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
  6831. /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
  6832. }), One))
  6833. {
  6834. If (LEqual (Arg2, Zero))
  6835. {
  6836. Return (Buffer (One)
  6837. {
  6838. 0x7F
  6839. })
  6840. }
  6841.  
  6842. If (LEqual (Arg2, One))
  6843. {
  6844. Return (Buffer (0x04)
  6845. {
  6846. "1.0"
  6847. })
  6848. }
  6849.  
  6850. If (LEqual (Arg2, 0x02))
  6851. {
  6852. If (TPRS)
  6853. {
  6854. If (LEqual (DerefOf (Index (Arg3, Zero)), Zero))
  6855. {
  6856. Store (Zero, PPRQ)
  6857. Return (Zero)
  6858. }
  6859.  
  6860. If (LEqual (DerefOf (Index (Arg3, Zero)), One))
  6861. {
  6862. Store (One, PPRQ)
  6863. Return (Zero)
  6864. }
  6865.  
  6866. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x02))
  6867. {
  6868. Store (0x02, PPRQ)
  6869. Return (Zero)
  6870. }
  6871.  
  6872. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x03))
  6873. {
  6874. Store (0x03, PPRQ)
  6875. Return (Zero)
  6876. }
  6877.  
  6878. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x04))
  6879. {
  6880. Store (0x04, PPRQ)
  6881. Return (Zero)
  6882. }
  6883.  
  6884. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x05))
  6885. {
  6886. Store (0x05, PPRQ)
  6887. Return (Zero)
  6888. }
  6889.  
  6890. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x06))
  6891. {
  6892. Store (0x06, PPRQ)
  6893. Return (Zero)
  6894. }
  6895.  
  6896. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x07))
  6897. {
  6898. Store (0x07, PPRQ)
  6899. Return (Zero)
  6900. }
  6901.  
  6902. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x08))
  6903. {
  6904. Store (0x08, PPRQ)
  6905. Return (Zero)
  6906. }
  6907.  
  6908. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x09))
  6909. {
  6910. Store (0x09, PPRQ)
  6911. Return (Zero)
  6912. }
  6913.  
  6914. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0A))
  6915. {
  6916. Store (0x0A, PPRQ)
  6917. Return (Zero)
  6918. }
  6919.  
  6920. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0B))
  6921. {
  6922. Store (0x0B, PPRQ)
  6923. Return (Zero)
  6924. }
  6925.  
  6926. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0C))
  6927. {
  6928. Store (Zero, PPRQ)
  6929. Return (One)
  6930. }
  6931.  
  6932. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0D))
  6933. {
  6934. Store (Zero, PPRQ)
  6935. Return (One)
  6936. }
  6937.  
  6938. If (LEqual (DerefOf (Index (Arg3, Zero)), 0x0E))
  6939. {
  6940. Store (0x0E, PPRQ)
  6941. Return (Zero)
  6942. }
  6943.  
  6944. Return (One)
  6945. }
  6946.  
  6947. Return (One)
  6948. }
  6949.  
  6950. If (LEqual (Arg2, 0x03))
  6951. {
  6952. Name (TMP1, Package (0x02)
  6953. {
  6954. Zero,
  6955. 0xFFFFFFFF
  6956. })
  6957. Store (PPRQ, Index (TMP1, One))
  6958. Return (TMP1)
  6959. }
  6960.  
  6961. If (LEqual (Arg2, 0x04))
  6962. {
  6963. Return (One)
  6964. }
  6965.  
  6966. If (LEqual (Arg2, 0x05))
  6967. {
  6968. Name (TMP2, Package (0x03)
  6969. {
  6970. Zero,
  6971. 0xFFFFFFFF,
  6972. 0xFFFFFFFF
  6973. })
  6974. Store (PPLO, Index (TMP2, One))
  6975. If (LOr (LOr (LGreater (PPLO, 0x0E), LEqual (PPLO, 0x0C)), LEqual (
  6976. PPLO, 0x0D)))
  6977. {
  6978. Store (0xFFFFFFF1, Index (TMP2, 0x02))
  6979. Return (TMP2)
  6980. }
  6981.  
  6982. If (LEqual (PPRP, 0xFF))
  6983. {
  6984. Store (0xFFFFFFF1, Index (TMP2, 0x02))
  6985. Return (TMP2)
  6986. }
  6987.  
  6988. If (PPOR)
  6989. {
  6990. Store (0xFFFFFFF0, Index (TMP2, 0x02))
  6991. Return (TMP2)
  6992. }
  6993.  
  6994. Store (PPRP, Index (TMP2, 0x02))
  6995. Return (TMP2)
  6996. }
  6997.  
  6998. If (LEqual (Arg2, 0x06))
  6999. {
  7000. CreateByteField (Arg3, 0x04, LAN0)
  7001. CreateByteField (Arg3, 0x05, LAN1)
  7002. Or (ShiftLeft (LAN1, 0x08), LAN0, P80H)
  7003. If (LOr (LEqual (LAN0, 0x65), LEqual (LAN0, 0x45)))
  7004. {
  7005. If (LOr (LEqual (LAN1, 0x6E), LEqual (LAN1, 0x4E)))
  7006. {
  7007. Return (Zero)
  7008. }
  7009. }
  7010.  
  7011. Return (One)
  7012. }
  7013.  
  7014. Return (One)
  7015. }
  7016.  
  7017. If (LEqual (UCMP (Arg0, Buffer (0x10)
  7018. {
  7019. /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
  7020. /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
  7021. }), One))
  7022. {
  7023. If (LEqual (Arg2, Zero))
  7024. {
  7025. Return (Buffer (One)
  7026. {
  7027. 0x01
  7028. })
  7029. }
  7030.  
  7031. If (LEqual (Arg2, One))
  7032. {
  7033. If (LEqual (DerefOf (Index (Arg3, Zero)), Zero))
  7034. {
  7035. Store (Zero, MOR)
  7036. Return (Zero)
  7037. }
  7038.  
  7039. If (LEqual (DerefOf (Index (Arg3, Zero)), One))
  7040. {
  7041. Store (One, MOR)
  7042. Return (Zero)
  7043. }
  7044. }
  7045.  
  7046. Return (One)
  7047. }
  7048.  
  7049. Return (Buffer (One)
  7050. {
  7051. 0x00
  7052. })
  7053. }
  7054. }
  7055.  
  7056. Scope (\_SB)
  7057. {
  7058. OperationRegion (TCG1, SystemMemory, 0x7FEDFE35, 0x0007)
  7059. Field (TCG1, AnyAcc, NoLock, Preserve)
  7060. {
  7061. PPRQ, 8,
  7062. PPLO, 8,
  7063. PPRP, 8,
  7064. PPOR, 8,
  7065. TPRS, 8,
  7066. TPMV, 8,
  7067. MOR, 8
  7068. }
  7069.  
  7070. Method (PHSR, 1, Serialized)
  7071. {
  7072. Store (Arg0, BCMD)
  7073. Store (Zero, DID)
  7074. Store (Zero, SMIC)
  7075. If (LEqual (BCMD, Arg0)) {}
  7076. Store (Zero, BCMD)
  7077. Store (Zero, DID)
  7078. Return (Zero)
  7079. }
  7080.  
  7081. OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
  7082. Field (SMI0, AnyAcc, NoLock, Preserve)
  7083. {
  7084. SMIC, 8
  7085. }
  7086.  
  7087. OperationRegion (SMI1, SystemMemory, 0x7FEE1F3D, 0x00001010)
  7088. Field (SMI1, AnyAcc, NoLock, Preserve)
  7089. {
  7090. BCMD, 8,
  7091. DID, 32,
  7092. INFO, 1024
  7093. }
  7094.  
  7095. Field (SMI1, AnyAcc, NoLock, Preserve)
  7096. {
  7097. AccessAs (ByteAcc, 0x00),
  7098. Offset (0x05),
  7099. INF, 8
  7100. }
  7101. }
  7102.  
  7103. Device (PS2K)
  7104. {
  7105. Name (_HID, EisaId ("PNP0303"))
  7106. Name (_CRS, ResourceTemplate ()
  7107. {
  7108. IO (Decode16,
  7109. 0x0060, // Range Minimum
  7110. 0x0060, // Range Maximum
  7111. 0x01, // Alignment
  7112. 0x01, // Length
  7113. )
  7114. IO (Decode16,
  7115. 0x0064, // Range Minimum
  7116. 0x0064, // Range Maximum
  7117. 0x01, // Alignment
  7118. 0x01, // Length
  7119. )
  7120. IRQ (Edge, ActiveHigh, Exclusive, )
  7121. {1}
  7122. })
  7123. }
  7124.  
  7125. Device (PS2M)
  7126. {
  7127. Name (_HID, EisaId ("SYN0705"))
  7128. Name (_CID, Package (0x03)
  7129. {
  7130. 0x00072E4F,
  7131. 0x02002E4F,
  7132. 0x130FD041
  7133. })
  7134. Name (_CRS, ResourceTemplate ()
  7135. {
  7136. IRQ (Edge, ActiveHigh, Exclusive, )
  7137. {12}
  7138. })
  7139. }
  7140. }
  7141.  
  7142. Device (PATA)
  7143. {
  7144. Name (_ADR, 0x001F0001)
  7145. OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
  7146. Field (PACS, DWordAcc, NoLock, Preserve)
  7147. {
  7148. PRIT, 16,
  7149. Offset (0x04),
  7150. PSIT, 4,
  7151. Offset (0x08),
  7152. SYNC, 4,
  7153. Offset (0x0A),
  7154. SDT0, 2,
  7155. , 2,
  7156. SDT1, 2,
  7157. Offset (0x14),
  7158. ICR0, 4,
  7159. ICR1, 4,
  7160. ICR2, 4,
  7161. ICR3, 4,
  7162. ICR4, 4,
  7163. ICR5, 4
  7164. }
  7165.  
  7166. Device (PRID)
  7167. {
  7168. Name (_ADR, Zero)
  7169. Method (_GTM, 0, NotSerialized)
  7170. {
  7171. Name (PBUF, Buffer (0x14)
  7172. {
  7173. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  7174. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  7175. /* 0010 */ 0x00, 0x00, 0x00, 0x00
  7176. })
  7177. CreateDWordField (PBUF, Zero, PIO0)
  7178. CreateDWordField (PBUF, 0x04, DMA0)
  7179. CreateDWordField (PBUF, 0x08, PIO1)
  7180. CreateDWordField (PBUF, 0x0C, DMA1)
  7181. CreateDWordField (PBUF, 0x10, FLAG)
  7182. Store (GETP (PRIT), PIO0)
  7183. Store (GDMA (And (SYNC, One), And (ICR3, One),
  7184. And (ICR0, One), SDT0, And (ICR1, One)), DMA0)
  7185. If (LEqual (DMA0, 0xFFFFFFFF))
  7186. {
  7187. Store (PIO0, DMA0)
  7188. }
  7189.  
  7190. If (And (PRIT, 0x4000))
  7191. {
  7192. If (LEqual (And (PRIT, 0x90), 0x80))
  7193. {
  7194. Store (0x0384, PIO1)
  7195. }
  7196. Else
  7197. {
  7198. Store (GETT (PSIT), PIO1)
  7199. }
  7200. }
  7201. Else
  7202. {
  7203. Store (0xFFFFFFFF, PIO1)
  7204. }
  7205.  
  7206. Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
  7207. And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
  7208. If (LEqual (DMA1, 0xFFFFFFFF))
  7209. {
  7210. Store (PIO1, DMA1)
  7211. }
  7212.  
  7213. Store (GETF (And (SYNC, One), And (SYNC, 0x02),
  7214. PRIT), FLAG)
  7215. If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF)))
  7216. {
  7217. Store (0x78, PIO0)
  7218. Store (0x14, DMA0)
  7219. Store (0x03, FLAG)
  7220. }
  7221.  
  7222. Return (PBUF)
  7223. }
  7224.  
  7225. Method (_STM, 3, NotSerialized)
  7226. {
  7227. CreateDWordField (Arg0, Zero, PIO0)
  7228. CreateDWordField (Arg0, 0x04, DMA0)
  7229. CreateDWordField (Arg0, 0x08, PIO1)
  7230. CreateDWordField (Arg0, 0x0C, DMA1)
  7231. CreateDWordField (Arg0, 0x10, FLAG)
  7232. If (LEqual (SizeOf (Arg1), 0x0200))
  7233. {
  7234. And (PRIT, 0xC0F0, PRIT)
  7235. And (SYNC, 0x02, SYNC)
  7236. Store (Zero, SDT0)
  7237. And (ICR0, 0x02, ICR0)
  7238. And (ICR1, 0x02, ICR1)
  7239. And (ICR3, 0x02, ICR3)
  7240. And (ICR5, 0x02, ICR5)
  7241. CreateWordField (Arg1, 0x62, W490)
  7242. CreateWordField (Arg1, 0x6A, W530)
  7243. CreateWordField (Arg1, 0x7E, W630)
  7244. CreateWordField (Arg1, 0x80, W640)
  7245. CreateWordField (Arg1, 0xB0, W880)
  7246. CreateWordField (Arg1, 0xBA, W930)
  7247. Or (PRIT, 0x8004, PRIT)
  7248. If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
  7249. {
  7250. Or (PRIT, 0x02, PRIT)
  7251. }
  7252.  
  7253. Or (PRIT, SETP (PIO0, W530, W640), PRIT)
  7254. If (And (FLAG, One))
  7255. {
  7256. Or (SYNC, One, SYNC)
  7257. Store (SDMA (DMA0), SDT0)
  7258. If (LLess (DMA0, 0x1E))
  7259. {
  7260. Or (ICR3, One, ICR3)
  7261. }
  7262.  
  7263. If (LLess (DMA0, 0x3C))
  7264. {
  7265. Or (ICR0, One, ICR0)
  7266. }
  7267.  
  7268. If (And (W930, 0x2000))
  7269. {
  7270. Or (ICR1, One, ICR1)
  7271. }
  7272. }
  7273. }
  7274.  
  7275. If (LEqual (SizeOf (Arg2), 0x0200))
  7276. {
  7277. And (PRIT, 0xBF0F, PRIT)
  7278. Store (Zero, PSIT)
  7279. And (SYNC, One, SYNC)
  7280. Store (Zero, SDT1)
  7281. And (ICR0, One, ICR0)
  7282. And (ICR1, One, ICR1)
  7283. And (ICR3, One, ICR3)
  7284. And (ICR5, One, ICR5)
  7285. CreateWordField (Arg2, 0x62, W491)
  7286. CreateWordField (Arg2, 0x6A, W531)
  7287. CreateWordField (Arg2, 0x7E, W631)
  7288. CreateWordField (Arg2, 0x80, W641)
  7289. CreateWordField (Arg2, 0xB0, W881)
  7290. CreateWordField (Arg2, 0xBA, W931)
  7291. Or (PRIT, 0x8040, PRIT)
  7292. If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
  7293. {
  7294. Or (PRIT, 0x20, PRIT)
  7295. }
  7296.  
  7297. If (And (FLAG, 0x10))
  7298. {
  7299. Or (PRIT, 0x4000, PRIT)
  7300. If (LGreater (PIO1, 0xF0))
  7301. {
  7302. Or (PRIT, 0x80, PRIT)
  7303. }
  7304. Else
  7305. {
  7306. Or (PRIT, 0x10, PRIT)
  7307. Store (SETT (PIO1, W531, W641), PSIT)
  7308. }
  7309. }
  7310.  
  7311. If (And (FLAG, 0x04))
  7312. {
  7313. Or (SYNC, 0x02, SYNC)
  7314. Store (SDMA (DMA1), SDT1)
  7315. If (LLess (DMA1, 0x1E))
  7316. {
  7317. Or (ICR3, 0x02, ICR3)
  7318. }
  7319.  
  7320. If (LLess (DMA1, 0x3C))
  7321. {
  7322. Or (ICR0, 0x02, ICR0)
  7323. }
  7324.  
  7325. If (And (W931, 0x2000))
  7326. {
  7327. Or (ICR1, 0x02, ICR1)
  7328. }
  7329. }
  7330. }
  7331. }
  7332.  
  7333. Device (P_D0)
  7334. {
  7335. Name (_ADR, Zero)
  7336. Method (_GTF, 0, NotSerialized)
  7337. {
  7338. Name (PIB0, Buffer (0x0E)
  7339. {
  7340. /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
  7341. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  7342. })
  7343. CreateByteField (PIB0, One, PMD0)
  7344. CreateByteField (PIB0, 0x08, DMD0)
  7345. If (And (PRIT, 0x02))
  7346. {
  7347. If (LEqual (And (PRIT, 0x09), 0x08))
  7348. {
  7349. Store (0x08, PMD0)
  7350. }
  7351. Else
  7352. {
  7353. Store (0x0A, PMD0)
  7354. ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
  7355. ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
  7356. Add (Local0, Local1, Local2)
  7357. If (LEqual (0x03, Local2))
  7358. {
  7359. Store (0x0B, PMD0)
  7360. }
  7361.  
  7362. If (LEqual (0x05, Local2))
  7363. {
  7364. Store (0x0C, PMD0)
  7365. }
  7366. }
  7367. }
  7368. Else
  7369. {
  7370. Store (One, PMD0)
  7371. }
  7372.  
  7373. If (And (SYNC, One))
  7374. {
  7375. Store (Or (SDT0, 0x40), DMD0)
  7376. If (And (ICR1, One))
  7377. {
  7378. If (And (ICR0, One))
  7379. {
  7380. Add (DMD0, 0x02, DMD0)
  7381. }
  7382.  
  7383. If (And (ICR3, One))
  7384. {
  7385. Store (0x45, DMD0)
  7386. }
  7387. }
  7388. }
  7389. Else
  7390. {
  7391. Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
  7392. }
  7393.  
  7394. Return (PIB0)
  7395. }
  7396. }
  7397.  
  7398. Device (P_D1)
  7399. {
  7400. Name (_ADR, One)
  7401. Method (_GTF, 0, NotSerialized)
  7402. {
  7403. Name (PIB1, Buffer (0x0E)
  7404. {
  7405. /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
  7406. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
  7407. })
  7408. CreateByteField (PIB1, One, PMD1)
  7409. CreateByteField (PIB1, 0x08, DMD1)
  7410. If (And (PRIT, 0x20))
  7411. {
  7412. If (LEqual (And (PRIT, 0x90), 0x80))
  7413. {
  7414. Store (0x08, PMD1)
  7415. }
  7416. Else
  7417. {
  7418. Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),
  7419. 0x02), Local0)
  7420. If (LEqual (0x05, Local0))
  7421. {
  7422. Store (0x0C, PMD1)
  7423. }
  7424. Else
  7425. {
  7426. If (LEqual (0x03, Local0))
  7427. {
  7428. Store (0x0B, PMD1)
  7429. }
  7430. Else
  7431. {
  7432. Store (0x0A, PMD1)
  7433. }
  7434. }
  7435. }
  7436. }
  7437. Else
  7438. {
  7439. Store (One, PMD1)
  7440. }
  7441.  
  7442. If (And (SYNC, 0x02))
  7443. {
  7444. Store (Or (SDT1, 0x40), DMD1)
  7445. If (And (ICR1, 0x02))
  7446. {
  7447. If (And (ICR0, 0x02))
  7448. {
  7449. Add (DMD1, 0x02, DMD1)
  7450. }
  7451.  
  7452. If (And (ICR3, 0x02))
  7453. {
  7454. Store (0x45, DMD1)
  7455. }
  7456. }
  7457. }
  7458. Else
  7459. {
  7460. Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
  7461. }
  7462.  
  7463. Return (PIB1)
  7464. }
  7465. }
  7466. }
  7467. }
  7468.  
  7469. Device (SATA)
  7470. {
  7471. Name (_ADR, 0x001F0002)
  7472. OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
  7473. Field (SACS, DWordAcc, NoLock, Preserve)
  7474. {
  7475. PRIT, 16,
  7476. SECT, 16,
  7477. PSIT, 4,
  7478. SSIT, 4,
  7479. Offset (0x08),
  7480. SYNC, 4,
  7481. Offset (0x0A),
  7482. SDT0, 2,
  7483. , 2,
  7484. SDT1, 2,
  7485. Offset (0x0B),
  7486. SDT2, 2,
  7487. , 2,
  7488. SDT3, 2,
  7489. Offset (0x14),
  7490. ICR0, 4,
  7491. ICR1, 4,
  7492. ICR2, 4,
  7493. ICR3, 4,
  7494. ICR4, 4,
  7495. ICR5, 4,
  7496. Offset (0x50),
  7497. MAPV, 2
  7498. }
  7499. }
  7500.  
  7501. Device (SBUS)
  7502. {
  7503. Name (_ADR, 0x001F0003)
  7504. OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
  7505. Field (SMBP, DWordAcc, NoLock, Preserve)
  7506. {
  7507. , 2,
  7508. I2CE, 1
  7509. }
  7510.  
  7511. OperationRegion (SMBI, SystemIO, 0x1C00, 0x10)
  7512. Field (SMBI, ByteAcc, NoLock, Preserve)
  7513. {
  7514. HSTS, 8,
  7515. Offset (0x02),
  7516. HCON, 8,
  7517. HCOM, 8,
  7518. TXSA, 8,
  7519. DAT0, 8,
  7520. DAT1, 8,
  7521. HBDR, 8,
  7522. PECR, 8,
  7523. RXSA, 8,
  7524. SDAT, 16
  7525. }
  7526.  
  7527. Method (SSXB, 2, Serialized)
  7528. {
  7529. If (STRT ())
  7530. {
  7531. Return (Zero)
  7532. }
  7533.  
  7534. Store (Zero, I2CE)
  7535. Store (0xBF, HSTS)
  7536. Store (Arg0, TXSA)
  7537. Store (Arg1, HCOM)
  7538. Store (0x48, HCON)
  7539. If (COMP ())
  7540. {
  7541. Or (HSTS, 0xFF, HSTS)
  7542. Return (One)
  7543. }
  7544.  
  7545. Return (Zero)
  7546. }
  7547.  
  7548. Method (SRXB, 1, Serialized)
  7549. {
  7550. If (STRT ())
  7551. {
  7552. Return (0xFFFF)
  7553. }
  7554.  
  7555. Store (Zero, I2CE)
  7556. Store (0xBF, HSTS)
  7557. Store (Or (Arg0, One), TXSA)
  7558. Store (0x44, HCON)
  7559. If (COMP ())
  7560. {
  7561. Or (HSTS, 0xFF, HSTS)
  7562. Return (DAT0)
  7563. }
  7564.  
  7565. Return (0xFFFF)
  7566. }
  7567.  
  7568. Method (SWRB, 3, Serialized)
  7569. {
  7570. If (STRT ())
  7571. {
  7572. Return (Zero)
  7573. }
  7574.  
  7575. Store (Zero, I2CE)
  7576. Store (0xBF, HSTS)
  7577. Store (Arg0, TXSA)
  7578. Store (Arg1, HCOM)
  7579. Store (Arg2, DAT0)
  7580. Store (0x48, HCON)
  7581. If (COMP ())
  7582. {
  7583. Or (HSTS, 0xFF, HSTS)
  7584. Return (One)
  7585. }
  7586.  
  7587. Return (Zero)
  7588. }
  7589.  
  7590. Method (SRDB, 2, Serialized)
  7591. {
  7592. If (STRT ())
  7593. {
  7594. Return (0xFFFF)
  7595. }
  7596.  
  7597. Store (Zero, I2CE)
  7598. Store (0xBF, HSTS)
  7599. Store (Or (Arg0, One), TXSA)
  7600. Store (Arg1, HCOM)
  7601. Store (0x48, HCON)
  7602. If (COMP ())
  7603. {
  7604. Or (HSTS, 0xFF, HSTS)
  7605. Return (DAT0)
  7606. }
  7607.  
  7608. Return (0xFFFF)
  7609. }
  7610.  
  7611. Method (SWRW, 3, Serialized)
  7612. {
  7613. If (STRT ())
  7614. {
  7615. Return (Zero)
  7616. }
  7617.  
  7618. Store (Zero, I2CE)
  7619. Store (0xBF, HSTS)
  7620. Store (Arg0, TXSA)
  7621. Store (Arg1, HCOM)
  7622. And (Arg2, 0xFF, DAT0)
  7623. And (ShiftRight (Arg2, 0x08), 0xFF, DAT1)
  7624. Store (0x4C, HCON)
  7625. If (COMP ())
  7626. {
  7627. Or (HSTS, 0xFF, HSTS)
  7628. Return (One)
  7629. }
  7630.  
  7631. Return (Zero)
  7632. }
  7633.  
  7634. Method (SRDW, 2, Serialized)
  7635. {
  7636. If (STRT ())
  7637. {
  7638. Return (0xFFFF)
  7639. }
  7640.  
  7641. Store (Zero, I2CE)
  7642. Store (0xBF, HSTS)
  7643. Store (Or (Arg0, One), TXSA)
  7644. Store (Arg1, HCOM)
  7645. Store (0x4C, HCON)
  7646. If (COMP ())
  7647. {
  7648. Or (HSTS, 0xFF, HSTS)
  7649. Return (Or (ShiftLeft (DAT1, 0x08), DAT0))
  7650. }
  7651.  
  7652. Return (0xFFFFFFFF)
  7653. }
  7654.  
  7655. Method (SBLW, 4, Serialized)
  7656. {
  7657. If (STRT ())
  7658. {
  7659. Return (Zero)
  7660. }
  7661.  
  7662. Store (Arg3, I2CE)
  7663. Store (0xBF, HSTS)
  7664. Store (Arg0, TXSA)
  7665. Store (Arg1, HCOM)
  7666. Store (SizeOf (Arg2), DAT0)
  7667. Store (Zero, Local1)
  7668. Store (DerefOf (Index (Arg2, Zero)), HBDR)
  7669. Store (0x54, HCON)
  7670. While (LGreater (SizeOf (Arg2), Local1))
  7671. {
  7672. Store (0x0FA0, Local0)
  7673. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  7674. {
  7675. Decrement (Local0)
  7676. Stall (0x32)
  7677. }
  7678.  
  7679. If (LNot (Local0))
  7680. {
  7681. KILL ()
  7682. Return (Zero)
  7683. }
  7684.  
  7685. Store (0x80, HSTS)
  7686. Increment (Local1)
  7687. If (LGreater (SizeOf (Arg2), Local1))
  7688. {
  7689. Store (DerefOf (Index (Arg2, Local1)), HBDR)
  7690. }
  7691. }
  7692.  
  7693. If (COMP ())
  7694. {
  7695. Or (HSTS, 0xFF, HSTS)
  7696. Return (One)
  7697. }
  7698.  
  7699. Return (Zero)
  7700. }
  7701.  
  7702. Method (SBLR, 3, Serialized)
  7703. {
  7704. Name (TBUF, Buffer (0x0100) {})
  7705. If (STRT ())
  7706. {
  7707. Return (Zero)
  7708. }
  7709.  
  7710. Store (Arg2, I2CE)
  7711. Store (0xBF, HSTS)
  7712. Store (Or (Arg0, One), TXSA)
  7713. Store (Arg1, HCOM)
  7714. Store (0x54, HCON)
  7715. Store (0x0FA0, Local0)
  7716. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  7717. {
  7718. Decrement (Local0)
  7719. Stall (0x32)
  7720. }
  7721.  
  7722. If (LNot (Local0))
  7723. {
  7724. KILL ()
  7725. Return (Zero)
  7726. }
  7727.  
  7728. Store (DAT0, Index (TBUF, Zero))
  7729. Store (0x80, HSTS)
  7730. Store (One, Local1)
  7731. While (LLess (Local1, DerefOf (Index (TBUF, Zero))))
  7732. {
  7733. Store (0x0FA0, Local0)
  7734. While (LAnd (LNot (And (HSTS, 0x80)), Local0))
  7735. {
  7736. Decrement (Local0)
  7737. Stall (0x32)
  7738. }
  7739.  
  7740. If (LNot (Local0))
  7741. {
  7742. KILL ()
  7743. Return (Zero)
  7744. }
  7745.  
  7746. Store (HBDR, Index (TBUF, Local1))
  7747. Store (0x80, HSTS)
  7748. Increment (Local1)
  7749. }
  7750.  
  7751. If (COMP ())
  7752. {
  7753. Or (HSTS, 0xFF, HSTS)
  7754. Return (TBUF)
  7755. }
  7756.  
  7757. Return (Zero)
  7758. }
  7759.  
  7760. Method (STRT, 0, Serialized)
  7761. {
  7762. Store (0xC8, Local0)
  7763. While (Local0)
  7764. {
  7765. If (And (HSTS, 0x40))
  7766. {
  7767. Decrement (Local0)
  7768. Sleep (One)
  7769. If (LEqual (Local0, Zero))
  7770. {
  7771. Return (One)
  7772. }
  7773. }
  7774. Else
  7775. {
  7776. Store (Zero, Local0)
  7777. }
  7778. }
  7779.  
  7780. Store (0x0FA0, Local0)
  7781. While (Local0)
  7782. {
  7783. If (And (HSTS, One))
  7784. {
  7785. Decrement (Local0)
  7786. Stall (0x32)
  7787. If (LEqual (Local0, Zero))
  7788. {
  7789. KILL ()
  7790. }
  7791. }
  7792. Else
  7793. {
  7794. Return (Zero)
  7795. }
  7796. }
  7797.  
  7798. Return (One)
  7799. }
  7800.  
  7801. Method (COMP, 0, Serialized)
  7802. {
  7803. Store (0x0FA0, Local0)
  7804. While (Local0)
  7805. {
  7806. If (And (HSTS, 0x02))
  7807. {
  7808. Return (One)
  7809. }
  7810. Else
  7811. {
  7812. Decrement (Local0)
  7813. Stall (0x32)
  7814. If (LEqual (Local0, Zero))
  7815. {
  7816. KILL ()
  7817. }
  7818. }
  7819. }
  7820.  
  7821. Return (Zero)
  7822. }
  7823.  
  7824. Method (KILL, 0, Serialized)
  7825. {
  7826. Or (HCON, 0x02, HCON)
  7827. Or (HSTS, 0xFF, HSTS)
  7828. }
  7829. }
  7830. }
  7831. }
  7832.  
  7833. Scope (\_SB.PCI0.SATA)
  7834. {
  7835. Device (PRT0)
  7836. {
  7837. Name (_ADR, 0xFFFF)
  7838. Method (_SDD, 1, NotSerialized)
  7839. {
  7840. Name (GBU0, Buffer (0x07)
  7841. {
  7842. 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00
  7843. })
  7844. CreateByteField (GBU0, 0x00, GB00)
  7845. CreateByteField (GBU0, 0x01, GB01)
  7846. CreateByteField (GBU0, 0x02, GB02)
  7847. CreateByteField (GBU0, 0x03, GB03)
  7848. CreateByteField (GBU0, 0x04, GB04)
  7849. CreateByteField (GBU0, 0x05, GB05)
  7850. CreateByteField (GBU0, 0x06, GB06)
  7851. If (LEqual (SizeOf (Arg0), 0x0200))
  7852. {
  7853. CreateWordField (Arg0, 0x9C, W780)
  7854. If (And (W780, 0x08))
  7855. {
  7856. Store (0x10, GB00)
  7857. Store (0x03, GB01)
  7858. Store (0xEF, GB06)
  7859. }
  7860. Else
  7861. {
  7862. Store (0x90, GB00)
  7863. Store (0x03, GB01)
  7864. Store (0xEF, GB06)
  7865. }
  7866. }
  7867.  
  7868. Store (GBU0, GTF0)
  7869. }
  7870.  
  7871. Method (_GTF, 0, NotSerialized)
  7872. {
  7873. Return (GTF0)
  7874. }
  7875. }
  7876.  
  7877. Device (PRT1)
  7878. {
  7879. Name (_ADR, 0x0001FFFF)
  7880. Method (_SDD, 1, NotSerialized)
  7881. {
  7882. Name (GBU1, Buffer (0x07)
  7883. {
  7884. 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00
  7885. })
  7886. CreateByteField (GBU1, 0x00, GB10)
  7887. CreateByteField (GBU1, 0x01, GB11)
  7888. CreateByteField (GBU1, 0x02, GB12)
  7889. CreateByteField (GBU1, 0x03, GB13)
  7890. CreateByteField (GBU1, 0x04, GB14)
  7891. CreateByteField (GBU1, 0x05, GB15)
  7892. CreateByteField (GBU1, 0x06, GB16)
  7893. If (LEqual (SizeOf (Arg0), 0x0200))
  7894. {
  7895. CreateWordField (Arg0, 0x9C, W781)
  7896. If (And (W781, 0x08))
  7897. {
  7898. Store (0x10, GB10)
  7899. Store (0x03, GB11)
  7900. Store (0xEF, GB16)
  7901. }
  7902. Else
  7903. {
  7904. Store (0x90, GB10)
  7905. Store (0x03, GB11)
  7906. Store (0xEF, GB16)
  7907. }
  7908. }
  7909.  
  7910. Store (GBU1, GTF1)
  7911. }
  7912.  
  7913. Method (_GTF, 0, NotSerialized)
  7914. {
  7915. Return (GTF1)
  7916. }
  7917. }
  7918.  
  7919. Device (PRT2)
  7920. {
  7921. Name (_ADR, 0x0002FFFF)
  7922. Method (_SDD, 1, NotSerialized)
  7923. {
  7924. Name (GBU2, Buffer (0x07)
  7925. {
  7926. 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00
  7927. })
  7928. CreateByteField (GBU2, 0x00, GB20)
  7929. CreateByteField (GBU2, 0x01, GB21)
  7930. CreateByteField (GBU2, 0x02, GB22)
  7931. CreateByteField (GBU2, 0x03, GB23)
  7932. CreateByteField (GBU2, 0x04, GB24)
  7933. CreateByteField (GBU2, 0x05, GB25)
  7934. CreateByteField (GBU2, 0x06, GB26)
  7935. If (LEqual (SizeOf (Arg0), 0x0200))
  7936. {
  7937. CreateWordField (Arg0, 0x9C, W782)
  7938. If (And (W782, 0x08))
  7939. {
  7940. Store (0x10, GB20)
  7941. Store (0x03, GB21)
  7942. Store (0xEF, GB26)
  7943. }
  7944. Else
  7945. {
  7946. Store (0x90, GB20)
  7947. Store (0x03, GB21)
  7948. Store (0xEF, GB26)
  7949. }
  7950. }
  7951.  
  7952. Store (GBU2, GTF2)
  7953. }
  7954.  
  7955. Method (_GTF, 0, NotSerialized)
  7956. {
  7957. Return (GTF2)
  7958. }
  7959. }
  7960. }
  7961.  
  7962. Scope (\_PR.CPU0)
  7963. {
  7964. Name (_TPC, 0x00)
  7965. Method (_PTC, 0, NotSerialized)
  7966. {
  7967. If (And (PDC0, 0x04))
  7968. {
  7969. Return (Package (0x02)
  7970. {
  7971. ResourceTemplate ()
  7972. {
  7973. Register (FFixedHW,
  7974. 0x00, // Bit Width
  7975. 0x00, // Bit Offset
  7976. 0x0000000000000000, // Address
  7977. ,)
  7978. },
  7979.  
  7980. ResourceTemplate ()
  7981. {
  7982. Register (FFixedHW,
  7983. 0x00, // Bit Width
  7984. 0x00, // Bit Offset
  7985. 0x0000000000000000, // Address
  7986. ,)
  7987. }
  7988. })
  7989. }
  7990.  
  7991. Return (Package (0x02)
  7992. {
  7993. ResourceTemplate ()
  7994. {
  7995. Register (SystemIO,
  7996. 0x04, // Bit Width
  7997. 0x01, // Bit Offset
  7998. 0x0000000000001010, // Address
  7999. ,)
  8000. },
  8001.  
  8002. ResourceTemplate ()
  8003. {
  8004. Register (SystemIO,
  8005. 0x04, // Bit Width
  8006. 0x01, // Bit Offset
  8007. 0x0000000000001010, // Address
  8008. ,)
  8009. }
  8010. })
  8011. }
  8012.  
  8013. Name (TSSI, Package (0x08)
  8014. {
  8015. Package (0x05)
  8016. {
  8017. 0x64,
  8018. 0x03E8,
  8019. 0x00,
  8020. 0x00,
  8021. 0x00
  8022. },
  8023.  
  8024. Package (0x05)
  8025. {
  8026. 0x58,
  8027. 0x036B,
  8028. 0x00,
  8029. 0x0F,
  8030. 0x00
  8031. },
  8032.  
  8033. Package (0x05)
  8034. {
  8035. 0x4B,
  8036. 0x02EE,
  8037. 0x00,
  8038. 0x0E,
  8039. 0x00
  8040. },
  8041.  
  8042. Package (0x05)
  8043. {
  8044. 0x3F,
  8045. 0x0271,
  8046. 0x00,
  8047. 0x0D,
  8048. 0x00
  8049. },
  8050.  
  8051. Package (0x05)
  8052. {
  8053. 0x32,
  8054. 0x01F4,
  8055. 0x00,
  8056. 0x0C,
  8057. 0x00
  8058. },
  8059.  
  8060. Package (0x05)
  8061. {
  8062. 0x26,
  8063. 0x0177,
  8064. 0x00,
  8065. 0x0B,
  8066. 0x00
  8067. },
  8068.  
  8069. Package (0x05)
  8070. {
  8071. 0x19,
  8072. 0xFA,
  8073. 0x00,
  8074. 0x0A,
  8075. 0x00
  8076. },
  8077.  
  8078. Package (0x05)
  8079. {
  8080. 0x0D,
  8081. 0x7D,
  8082. 0x00,
  8083. 0x09,
  8084. 0x00
  8085. }
  8086. })
  8087. Name (TSSM, Package (0x08)
  8088. {
  8089. Package (0x05)
  8090. {
  8091. 0x64,
  8092. 0x03E8,
  8093. 0x00,
  8094. 0x00,
  8095. 0x00
  8096. },
  8097.  
  8098. Package (0x05)
  8099. {
  8100. 0x58,
  8101. 0x036B,
  8102. 0x00,
  8103. 0x1E,
  8104. 0x00
  8105. },
  8106.  
  8107. Package (0x05)
  8108. {
  8109. 0x4B,
  8110. 0x02EE,
  8111. 0x00,
  8112. 0x1C,
  8113. 0x00
  8114. },
  8115.  
  8116. Package (0x05)
  8117. {
  8118. 0x3F,
  8119. 0x0271,
  8120. 0x00,
  8121. 0x1A,
  8122. 0x00
  8123. },
  8124.  
  8125. Package (0x05)
  8126. {
  8127. 0x32,
  8128. 0x01F4,
  8129. 0x00,
  8130. 0x18,
  8131. 0x00
  8132. },
  8133.  
  8134. Package (0x05)
  8135. {
  8136. 0x26,
  8137. 0x0177,
  8138. 0x00,
  8139. 0x16,
  8140. 0x00
  8141. },
  8142.  
  8143. Package (0x05)
  8144. {
  8145. 0x19,
  8146. 0xFA,
  8147. 0x00,
  8148. 0x14,
  8149. 0x00
  8150. },
  8151.  
  8152. Package (0x05)
  8153. {
  8154. 0x0D,
  8155. 0x7D,
  8156. 0x00,
  8157. 0x12,
  8158. 0x00
  8159. }
  8160. })
  8161. Name (TSSF, 0x00)
  8162. Method (_TSS, 0, NotSerialized)
  8163. {
  8164. If (LAnd (LNot (TSSF), CondRefOf (_PSS)))
  8165. {
  8166. Store (_PSS, Local0)
  8167. Store (SizeOf (Local0), Local1)
  8168. Decrement (Local1)
  8169. Store (DerefOf (Index (DerefOf (Index (Local0, Local1)), 0x01)),
  8170. Local2)
  8171. Store (0x00, Local3)
  8172. While (LLess (Local3, SizeOf (TSSI)))
  8173. {
  8174. Store (Divide (Multiply (Local2, Subtract (0x08, Local3)), 0x08,
  8175. ), Local4)
  8176. Store (Local4, Index (DerefOf (Index (TSSI, Local3)), 0x01))
  8177. Store (Local4, Index (DerefOf (Index (TSSM, Local3)), 0x01))
  8178. Increment (Local3)
  8179. }
  8180.  
  8181. Store (Ones, TSSF)
  8182. }
  8183.  
  8184. If (And (PDC0, 0x04))
  8185. {
  8186. Return (TSSM)
  8187. }
  8188.  
  8189. Return (TSSI)
  8190. }
  8191.  
  8192. Method (_TSD, 0, NotSerialized)
  8193. {
  8194. If (LAnd (And (CFGD, 0x01000000), LNot (And (PDC0, 0x04
  8195. ))))
  8196. {
  8197. Return (Package (0x01)
  8198. {
  8199. Package (0x05)
  8200. {
  8201. 0x05,
  8202. 0x00,
  8203. 0x00,
  8204. 0xFD,
  8205. 0x02
  8206. }
  8207. })
  8208. }
  8209.  
  8210. Return (Package (0x01)
  8211. {
  8212. Package (0x05)
  8213. {
  8214. 0x05,
  8215. 0x00,
  8216. 0x00,
  8217. 0xFC,
  8218. 0x01
  8219. }
  8220. })
  8221. }
  8222. }
  8223.  
  8224. Scope (\_PR.CPU1)
  8225. {
  8226. Name (_TPC, 0x00)
  8227. Method (_PTC, 0, NotSerialized)
  8228. {
  8229. Return (\_PR.CPU0._PTC ())
  8230. }
  8231.  
  8232. Method (_TSS, 0, NotSerialized)
  8233. {
  8234. Return (\_PR.CPU0._TSS ())
  8235. }
  8236.  
  8237. Method (_TSD, 0, NotSerialized)
  8238. {
  8239. If (LAnd (And (CFGD, 0x01000000), LNot (And (PDC1, 0x04
  8240. ))))
  8241. {
  8242. Return (Package (0x01)
  8243. {
  8244. Package (0x05)
  8245. {
  8246. 0x05,
  8247. 0x00,
  8248. 0x00,
  8249. 0xFD,
  8250. 0x02
  8251. }
  8252. })
  8253. }
  8254.  
  8255. Return (Package (0x01)
  8256. {
  8257. Package (0x05)
  8258. {
  8259. 0x05,
  8260. 0x00,
  8261. 0x01,
  8262. 0xFC,
  8263. 0x01
  8264. }
  8265. })
  8266. }
  8267. }
  8268.  
  8269. Scope (\)
  8270. {
  8271. Name (SSDT, Package (0x0C)
  8272. {
  8273. "CPU0IST ",
  8274. 0x7FED768E,
  8275. 0x00000238,
  8276. "CPU1IST ",
  8277. 0x7FED78C6,
  8278. 0x000000C8,
  8279. "CPU0CST ",
  8280. 0x7FED701F,
  8281. 0x000005EA,
  8282. "CPU1CST ",
  8283. 0x7FED7609,
  8284. 0x00000085
  8285. })
  8286. Name (CFGD, 0x113F69F7)
  8287. Name (\PDC0, 0x80000000)
  8288. Name (\PDC1, 0x80000000)
  8289. Name (\SDTL, 0x00)
  8290. }
  8291.  
  8292. Scope (\_PR.CPU0)
  8293. {
  8294. Name (HI0, 0x00)
  8295. Name (HC0, 0x00)
  8296. Method (_PDC, 1, NotSerialized)
  8297. {
  8298. CreateDWordField (Arg0, 0x00, REVS)
  8299. CreateDWordField (Arg0, 0x04, SIZE)
  8300. Store (SizeOf (Arg0), Local0)
  8301. Store (Subtract (Local0, 0x08), Local1)
  8302. CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
  8303. Name (STS0, Buffer (0x04)
  8304. {
  8305. 0x00, 0x00, 0x00, 0x00
  8306. })
  8307. Concatenate (STS0, TEMP, Local2)
  8308. _OSC (Buffer (0x10)
  8309. {
  8310. /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
  8311. /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
  8312. }, REVS, SIZE, Local2)
  8313. }
  8314.  
  8315. Method (_OSC, 4, NotSerialized)
  8316. {
  8317. CreateDWordField (Arg3, 0x00, STS0)
  8318. CreateDWordField (Arg3, 0x04, CAP0)
  8319. CreateDWordField (Arg0, 0x00, IID0)
  8320. CreateDWordField (Arg0, 0x04, IID1)
  8321. CreateDWordField (Arg0, 0x08, IID2)
  8322. CreateDWordField (Arg0, 0x0C, IID3)
  8323. Name (UID0, Buffer (0x10)
  8324. {
  8325. /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
  8326. /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
  8327. })
  8328. CreateDWordField (UID0, 0x00, EID0)
  8329. CreateDWordField (UID0, 0x04, EID1)
  8330. CreateDWordField (UID0, 0x08, EID2)
  8331. CreateDWordField (UID0, 0x0C, EID3)
  8332. If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
  8333. LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
  8334. {
  8335. Store (0x06, STS0)
  8336. Return (Arg3)
  8337. }
  8338.  
  8339. If (LNotEqual (Arg1, 0x01))
  8340. {
  8341. Store (0x0A, STS0)
  8342. Return (Arg3)
  8343. }
  8344.  
  8345. Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0)
  8346. Store (And (PDC0, 0xFF), PCP0)
  8347. If (And (CFGD, 0x01))
  8348. {
  8349. If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0,
  8350. 0x09), 0x09)), LNot (And (SDTL, 0x01))))
  8351. {
  8352. Or (SDTL, 0x01, SDTL)
  8353. OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02
  8354. )))
  8355. Load (IST0, HI0)
  8356. }
  8357. }
  8358.  
  8359. If (And (CFGD, 0xF0))
  8360. {
  8361. If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18
  8362. )), LNot (And (SDTL, 0x02))))
  8363. {
  8364. Or (SDTL, 0x02, SDTL)
  8365. OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08
  8366. )))
  8367. Load (CST0, HC0)
  8368. }
  8369. }
  8370.  
  8371. Return (Arg3)
  8372. }
  8373. }
  8374.  
  8375. Scope (\_PR.CPU1)
  8376. {
  8377. Name (HI1, 0x00)
  8378. Name (HC1, 0x00)
  8379. Method (_PDC, 1, NotSerialized)
  8380. {
  8381. CreateDWordField (Arg0, 0x00, REVS)
  8382. CreateDWordField (Arg0, 0x04, SIZE)
  8383. Store (SizeOf (Arg0), Local0)
  8384. Store (Subtract (Local0, 0x08), Local1)
  8385. CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
  8386. Name (STS1, Buffer (0x04)
  8387. {
  8388. 0x00, 0x00, 0x00, 0x00
  8389. })
  8390. Concatenate (STS1, TEMP, Local2)
  8391. _OSC (Buffer (0x10)
  8392. {
  8393. /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
  8394. /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
  8395. }, REVS, SIZE, Local2)
  8396. }
  8397.  
  8398. Method (_OSC, 4, NotSerialized)
  8399. {
  8400. CreateDWordField (Arg3, 0x00, STS1)
  8401. CreateDWordField (Arg3, 0x04, CAP1)
  8402. CreateDWordField (Arg0, 0x00, IID0)
  8403. CreateDWordField (Arg0, 0x04, IID1)
  8404. CreateDWordField (Arg0, 0x08, IID2)
  8405. CreateDWordField (Arg0, 0x0C, IID3)
  8406. Name (UID1, Buffer (0x10)
  8407. {
  8408. /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
  8409. /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
  8410. })
  8411. CreateDWordField (UID1, 0x00, EID0)
  8412. CreateDWordField (UID1, 0x04, EID1)
  8413. CreateDWordField (UID1, 0x08, EID2)
  8414. CreateDWordField (UID1, 0x0C, EID3)
  8415. If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
  8416. LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
  8417. {
  8418. Store (0x06, STS1)
  8419. Return (Arg3)
  8420. }
  8421.  
  8422. If (LNotEqual (Arg1, 0x01))
  8423. {
  8424. Store (0x0A, STS1)
  8425. Return (Arg3)
  8426. }
  8427.  
  8428. Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1)
  8429. Store (And (PDC1, 0xFF), PCP1)
  8430. If (And (CFGD, 0x01))
  8431. {
  8432. If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC1,
  8433. 0x09), 0x09)), LNot (And (SDTL, 0x10))))
  8434. {
  8435. Or (SDTL, 0x10, SDTL)
  8436. OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05
  8437. )))
  8438. Load (IST1, HI1)
  8439. }
  8440. }
  8441.  
  8442. If (And (CFGD, 0xF0))
  8443. {
  8444. If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC1, 0x18
  8445. )), LNot (And (SDTL, 0x20))))
  8446. {
  8447. Or (SDTL, 0x20, SDTL)
  8448. OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B
  8449. )))
  8450. Load (CST1, HC1)
  8451. }
  8452. }
  8453.  
  8454. Return (Arg3)
  8455. }
  8456. }
  8457. }
  8458.  
  8459.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement