Advertisement
Guest User

Untitled

a guest
Sep 14th, 2011
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 255.15 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML Disassembler version 20110316-64 [Apr 1 2011]
  4. * Copyright (c) 2000 - 2011 Intel Corporation
  5. *
  6. * Disassembly of custom_dsdt.hex, Wed Sep 14 16:37:45 2011
  7. *
  8. * Original Table Header:
  9. * Signature "DSDT"
  10. * Length 0x0000697C (27004)
  11. * Revision 0x02
  12. * Checksum 0x4D
  13. * OEM ID "Sony"
  14. * OEM Table ID "VAIO"
  15. * OEM Revision 0x20071221 (537334305)
  16. * Compiler ID "INTL"
  17. * Compiler Version 0x20110316 (537985814)
  18. */
  19.  
  20. DefinitionBlock ("custom_dsdt.aml", "DSDT", 2, "Sony", "VAIO", 0x20071221)
  21. {
  22. External (PDC1)
  23. External (PDC0)
  24. External (CFGD)
  25. External (\_PR_.CPU0._PPC)
  26.  
  27. OperationRegion (SMI0, SystemMemory, 0x7FEE2B38, 0x0415)
  28. Field (SMI0, AnyAcc, NoLock, Preserve)
  29. {
  30. BCMD, 8,
  31. DID, 32,
  32. INFO, 4096
  33. }
  34.  
  35. Field (SMI0, AnyAcc, NoLock, Preserve)
  36. {
  37. Offset (0x05),
  38. INFB, 8
  39. }
  40.  
  41. Field (SMI0, AnyAcc, NoLock, Preserve)
  42. {
  43. Offset (0x05),
  44. INFD, 32
  45. }
  46.  
  47. Field (SMI0, AnyAcc, NoLock, Preserve)
  48. {
  49. Offset (0x05),
  50. INDD, 64
  51. }
  52.  
  53. Field (SMI0, AnyAcc, NoLock, Preserve)
  54. {
  55. Offset (0x05),
  56. SXBF, 8320
  57. }
  58.  
  59. Field (SMI0, AnyAcc, NoLock, Preserve)
  60. {
  61. Offset (0x05),
  62. INF1, 8,
  63. INF2, 8
  64. }
  65.  
  66. OperationRegion (SMI1, SystemIO, 0xFE00, 0x02)
  67. Field (SMI1, AnyAcc, NoLock, Preserve)
  68. {
  69. SMIC, 8
  70. }
  71.  
  72. Mutex (MPHS, 0x00)
  73. Method (PHS0, 1, NotSerialized)
  74. {
  75. Store (Arg0, BCMD)
  76. Store (Zero, SMIC)
  77. While (LEqual (BCMD, Arg0)) {}
  78. Store (Zero, BCMD)
  79. }
  80.  
  81. Method (PHS, 1, Serialized)
  82. {
  83. Acquire (MPHS, 0xFFFF)
  84. Store (Zero, DID)
  85. PHS0 (Arg0)
  86. Store (INFD, Local0)
  87. Release (MPHS)
  88. Return (Local0)
  89. }
  90.  
  91. Method (PHSD, 2, Serialized)
  92. {
  93. Acquire (MPHS, 0xFFFF)
  94. Store (Zero, DID)
  95. Store (Arg1, INFD)
  96. PHS0 (Arg0)
  97. Store (INFD, Local0)
  98. Release (MPHS)
  99. Return (Local0)
  100. }
  101.  
  102. Method (PHDD, 2, Serialized)
  103. {
  104. Acquire (MPHS, 0xFFFF)
  105. Store (Zero, DID)
  106. Store (Arg1, INDD)
  107. PHS0 (Arg0)
  108. Store (INDD, Local0)
  109. Release (MPHS)
  110. Return (Local0)
  111. }
  112.  
  113. Method (PHSW, 3, Serialized)
  114. {
  115. Acquire (MPHS, 0xFFFF)
  116. Store (Zero, DID)
  117. Store (Arg1, INF1)
  118. Store (Arg2, INF2)
  119. PHS0 (Arg0)
  120. Store (INFB, Local0)
  121. Release (MPHS)
  122. Return (Local0)
  123. }
  124.  
  125. Method (PHSB, 2, Serialized)
  126. {
  127. Acquire (MPHS, 0xFFFF)
  128. Store (Zero, DID)
  129. Store (Arg1, INFB)
  130. PHS0 (Arg0)
  131. Store (INFB, Local0)
  132. Release (MPHS)
  133. Return (Local0)
  134. }
  135.  
  136. Mutex (MUTX, 0x00)
  137. OperationRegion (PRT0, SystemIO, 0x80, 0x04)
  138. Field (PRT0, DWordAcc, Lock, Preserve)
  139. {
  140. P80H, 32
  141. }
  142.  
  143. Method (P8XH, 2, Serialized)
  144. {
  145. If (LEqual (Arg0, Zero))
  146. {
  147. Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D)
  148. }
  149.  
  150. If (LEqual (Arg0, One))
  151. {
  152. Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)
  153. ), P80D)
  154. }
  155.  
  156. If (LEqual (Arg0, 0x02))
  157. {
  158. Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)
  159. ), P80D)
  160. }
  161.  
  162. If (LEqual (Arg0, 0x03))
  163. {
  164. Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)
  165. ), P80D)
  166. }
  167.  
  168. Store (P80D, P80H)
  169. }
  170.  
  171. Method (_PIC, 1, NotSerialized)
  172. {
  173. Store (Arg0, GPIC)
  174. }
  175.  
  176. Method (_PTS, 1, NotSerialized)
  177. {
  178. Add (Arg0, 0x4D, Local0)
  179. DBGC (Local0, 0x80, BCEN)
  180. Store (Zero, P80D)
  181. P8XH (Zero, Arg0)
  182. Store (Arg0, PRM0)
  183. Store (0x51, SMIF)
  184. Store (Zero, TRP0)
  185. TRAP (0x50)
  186. Add (Arg0, 0x4D, Local0)
  187. DBGC (Local0, 0x81, BCEN)
  188. }
  189.  
  190. Method (_WAK, 1, NotSerialized)
  191. {
  192. Or (Arg0, 0x50, Local0)
  193. DBGC (Local0, 0x80, BCEN)
  194. P8XH (One, 0xAB)
  195. Store (Arg0, PRM0)
  196. Store (0x52, SMIF)
  197. Store (Zero, TRP0)
  198. If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  199. {
  200. If (And (CFGD, 0x01000000))
  201. {
  202. If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))
  203. {
  204. TRAP (0x3D)
  205. }
  206. }
  207. }
  208.  
  209. If (LEqual (RP1D, Zero))
  210. {
  211. Notify (\_SB.PCI0.RP01, Zero)
  212. }
  213.  
  214. If (LEqual (RP2D, Zero))
  215. {
  216. Notify (\_SB.PCI0.RP02, Zero)
  217. }
  218.  
  219. If (LEqual (RP3D, Zero))
  220. {
  221. Notify (\_SB.PCI0.RP03, Zero)
  222. }
  223.  
  224. If (LEqual (RP5D, Zero))
  225. {
  226. Notify (\_SB.PCI0.RP05, Zero)
  227. }
  228.  
  229. If (LEqual (Arg0, 0x03))
  230. {
  231. If (LEqual (Zero, ACTT)) {}
  232. }
  233.  
  234. If (_OSI ("Windows 2006"))
  235. {
  236. Store (DETC, Local0)
  237. PHSB (0xE1, Local0)
  238. }
  239.  
  240. Store (\_SB.PCI0.LPCB.EC.RPWR, PWRS)
  241. Store (\_SB.PCI0.LPCB.EC.RSCL, B0SC)
  242. Store (\_SB.PCI0.LPCB.EC.BATP, BNUM)
  243. Notify (\_SB.BAT0, 0x80)
  244. Notify (\_SB.BAT0, 0x81)
  245. If (LEqual (Arg0, 0x04))
  246. {
  247. Store (CM72, Local0)
  248. Store (Zero, CM72)
  249. If (LNotEqual (And (Local0, 0x84, Local0), 0x84))
  250. {
  251. Notify (\_SB.PWRB, 0x02)
  252. }
  253. }
  254. Else
  255. {
  256. If (And (PMST, One))
  257. {
  258. Notify (\_SB.PWRB, 0x02)
  259. }
  260. }
  261.  
  262. \_PR.RPPC ()
  263. P8XH (Zero, 0xCD)
  264. Or (Arg0, 0x50, Local0)
  265. DBGC (Local0, 0x81, BCEN)
  266. Return (Package (0x02)
  267. {
  268. Zero,
  269. Zero
  270. })
  271. }
  272.  
  273. Method (GETB, 3, Serialized)
  274. {
  275. Multiply (Arg0, 0x08, Local0)
  276. Multiply (Arg1, 0x08, Local1)
  277. CreateField (Arg2, Local0, Local1, TBF3)
  278. Return (TBF3)
  279. }
  280.  
  281. Method (PNOT, 0, Serialized)
  282. {
  283. If (MPEN)
  284. {
  285. If (And (PDC0, 0x08))
  286. {
  287. Notify (\_PR.CPU0, 0x80)
  288. If (And (PDC0, 0x10))
  289. {
  290. Sleep (0x64)
  291. Notify (\_PR.CPU0, 0x81)
  292. }
  293. }
  294.  
  295. If (And (PDC1, 0x08))
  296. {
  297. Notify (\_PR.CPU1, 0x80)
  298. If (And (PDC1, 0x10))
  299. {
  300. Sleep (0x64)
  301. Notify (\_PR.CPU1, 0x81)
  302. }
  303. }
  304. }
  305. Else
  306. {
  307. Notify (\_PR.CPU0, 0x80)
  308. Sleep (0x64)
  309. Notify (\_PR.CPU0, 0x81)
  310. }
  311. }
  312.  
  313. Method (TRAP, 1, Serialized)
  314. {
  315. Store (Arg0, SMIF)
  316. Store (Zero, TRP0)
  317. Return (SMIF)
  318. }
  319.  
  320. Scope (_SB)
  321. {
  322. Method (_INI, 0, NotSerialized)
  323. {
  324. Store (0x07D0, OSYS)
  325. If (CondRefOf (_OSI, Local0))
  326. {
  327. If (_OSI ("Linux"))
  328. {
  329. Store (One, LINX)
  330. }
  331.  
  332. If (_OSI ("Windows 2001"))
  333. {
  334. Store (0x07D1, OSYS)
  335. }
  336.  
  337. If (_OSI ("Windows 2001 SP1"))
  338. {
  339. Store (0x07D1, OSYS)
  340. }
  341.  
  342. If (_OSI ("Windows 2001 SP2"))
  343. {
  344. Store (0x07D2, OSYS)
  345. }
  346.  
  347. If (_OSI ("Windows 2006"))
  348. {
  349. Store (0x07D6, OSYS)
  350. }
  351. }
  352.  
  353. If (LAnd (MPEN, LEqual (OSYS, 0x07D1)))
  354. {
  355. TRAP (0x3D)
  356. }
  357.  
  358. TRAP (0x2B)
  359. TRAP (0x32)
  360. }
  361. }
  362.  
  363. OperationRegion (GNVS, SystemMemory, 0x7FEE2A37, 0x0100)
  364. Field (GNVS, AnyAcc, Lock, Preserve)
  365. {
  366. OSYS, 16,
  367. SMIF, 8,
  368. PRM0, 8,
  369. PRM1, 8,
  370. SCIF, 8,
  371. PRM2, 16,
  372. LCKF, 8,
  373. PRM4, 16,
  374. P80D, 32,
  375. LIDS, 8,
  376. PWRS, 8,
  377. DBGS, 8,
  378. LINX, 8,
  379. Offset (0x14),
  380. ACT1, 8,
  381. ACTT, 8,
  382. PSVT, 8,
  383. TC1V, 8,
  384. TC2V, 8,
  385. TSPV, 8,
  386. CRTT, 8,
  387. DTSE, 8,
  388. DTS1, 8,
  389. DTS2, 8,
  390. BNUM, 8,
  391. B0SC, 8,
  392. B1SC, 8,
  393. B2SC, 8,
  394. B0SS, 8,
  395. B1SS, 8,
  396. B2SS, 8,
  397. LBST, 8,
  398. TBST, 8,
  399. Offset (0x28),
  400. APIC, 8,
  401. MPEN, 8,
  402. PCP0, 8,
  403. PCP1, 8,
  404. PPCM, 8,
  405. Offset (0x32),
  406. Offset (0x3C),
  407. IGDS, 8,
  408. TLST, 8,
  409. CADL, 8,
  410. PADL, 8,
  411. CSTE, 16,
  412. NSTE, 16,
  413. SSTE, 16,
  414. NDID, 8,
  415. DID1, 32,
  416. DID2, 32,
  417. DID3, 32,
  418. DID4, 32,
  419. DID5, 32,
  420. Offset (0x64),
  421. PNID, 8,
  422. Offset (0x67),
  423. BLCS, 8,
  424. BRTL, 8,
  425. ALSE, 8,
  426. ALAF, 8,
  427. LLOW, 8,
  428. LHIH, 8,
  429. Offset (0x6E),
  430. EMAE, 8,
  431. EMAP, 16,
  432. EMAL, 16,
  433. Offset (0x74),
  434. MEFE, 8,
  435. Offset (0x78),
  436. TPMP, 8,
  437. TPME, 8,
  438. Offset (0x82),
  439. GTF0, 112,
  440. IDEM, 8,
  441. Offset (0x96),
  442. SYID, 8,
  443. BCEN, 8,
  444. Offset (0xAA),
  445. ASLB, 32,
  446. IBTT, 8,
  447. IPAT, 8,
  448. ITVF, 8,
  449. ITVM, 8,
  450. IPSC, 8,
  451. IBLC, 8,
  452. IBIA, 8,
  453. ISSC, 8,
  454. I409, 8,
  455. I509, 8,
  456. I609, 8,
  457. I709, 8,
  458. IDMM, 8,
  459. IDMS, 8,
  460. IF1E, 8,
  461. HVCO, 8,
  462. NXD1, 32,
  463. NXD2, 32,
  464. NXD3, 32,
  465. NXD4, 32,
  466. NXD5, 32,
  467. NXD6, 32,
  468. NXD7, 32,
  469. NXD8, 32
  470. }
  471.  
  472. Name (DSEN, One)
  473. Name (ECON, Zero)
  474. Name (GPIC, Zero)
  475. Name (CTYP, Zero)
  476. Name (L01C, Zero)
  477. Name (VFN0, Zero)
  478. Name (VFN1, Zero)
  479. Name (AODV, Zero)
  480. Name (CADD, Zero)
  481. Name (PADD, Zero)
  482. Scope (_GPE)
  483. {
  484. Method (_L01, 0, NotSerialized)
  485. {
  486. Add (L01C, One, L01C)
  487. P8XH (Zero, One)
  488. P8XH (One, L01C)
  489. If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX))
  490. {
  491. Sleep (0x64)
  492. If (\_SB.PCI0.RP01.PDCX)
  493. {
  494. Store (One, \_SB.PCI0.RP01.PDCX)
  495. Store (One, \_SB.PCI0.RP01.HPSX)
  496. Notify (\_SB.PCI0.RP01, Zero)
  497. }
  498. Else
  499. {
  500. Store (One, \_SB.PCI0.RP01.HPSX)
  501. }
  502. }
  503.  
  504. If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX))
  505. {
  506. Sleep (0x64)
  507. If (\_SB.PCI0.RP02.PDCX)
  508. {
  509. Store (One, \_SB.PCI0.RP02.PDCX)
  510. Store (One, \_SB.PCI0.RP02.HPSX)
  511. Notify (\_SB.PCI0.RP02, Zero)
  512. }
  513. Else
  514. {
  515. Store (One, \_SB.PCI0.RP02.HPSX)
  516. }
  517. }
  518.  
  519. If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX))
  520. {
  521. Sleep (0x64)
  522. If (\_SB.PCI0.RP03.PDCX)
  523. {
  524. Store (One, \_SB.PCI0.RP03.PDCX)
  525. Store (One, \_SB.PCI0.RP03.HPSX)
  526. Notify (\_SB.PCI0.RP03, Zero)
  527. }
  528. Else
  529. {
  530. Store (One, \_SB.PCI0.RP03.HPSX)
  531. }
  532. }
  533.  
  534. If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX))
  535. {
  536. Sleep (0x64)
  537. If (\_SB.PCI0.RP05.PDCX)
  538. {
  539. Store (One, \_SB.PCI0.RP05.PDCX)
  540. Store (One, \_SB.PCI0.RP05.HPSX)
  541. Notify (\_SB.PCI0.RP05, Zero)
  542. }
  543. Else
  544. {
  545. Store (One, \_SB.PCI0.RP05.HPSX)
  546. }
  547. }
  548. }
  549.  
  550. Method (_L02, 0, NotSerialized)
  551. {
  552. Store (Zero, GPEC)
  553. }
  554.  
  555. Method (_L03, 0, NotSerialized)
  556. {
  557. Notify (\_SB.PCI0.USB1, 0x02)
  558. }
  559.  
  560. Method (_L04, 0, NotSerialized)
  561. {
  562. Notify (\_SB.PCI0.USB2, 0x02)
  563. }
  564.  
  565. Method (_L05, 0, NotSerialized)
  566. {
  567. Notify (\_SB.PCI0.USB5, 0x02)
  568. }
  569.  
  570. Method (_L06, 0, NotSerialized)
  571. {
  572. If (\_SB.PCI0.GFX0.GSSE)
  573. {
  574. \_SB.PCI0.GFX0.GSCI ()
  575. }
  576. Else
  577. {
  578. Store (One, SCIS)
  579. }
  580. }
  581.  
  582. Method (_L09, 0, NotSerialized)
  583. {
  584. If (\_SB.PCI0.RP01.PSPX)
  585. {
  586. Store (One, \_SB.PCI0.RP01.PSPX)
  587. Store (One, \_SB.PCI0.RP01.PMSX)
  588. Notify (\_SB.PCI0.RP01, 0x02)
  589. }
  590.  
  591. If (\_SB.PCI0.RP02.PSPX)
  592. {
  593. Store (One, \_SB.PCI0.RP02.PSPX)
  594. Store (One, \_SB.PCI0.RP02.PMSX)
  595. Notify (\_SB.PCI0.RP02, 0x02)
  596. }
  597.  
  598. If (\_SB.PCI0.RP03.PSPX)
  599. {
  600. Store (One, \_SB.PCI0.RP03.PSPX)
  601. Store (One, \_SB.PCI0.RP03.PMSX)
  602. Notify (\_SB.PCI0.RP03, 0x02)
  603. }
  604.  
  605. If (\_SB.PCI0.RP05.PSPX)
  606. {
  607. Store (One, \_SB.PCI0.RP05.PSPX)
  608. Store (One, \_SB.PCI0.RP05.PMSX)
  609. Notify (\_SB.PCI0.RP05, 0x02)
  610. }
  611. }
  612.  
  613. Method (_L0B, 0, NotSerialized)
  614. {
  615. Notify (\_SB.PCI0.PCIB, 0x02)
  616. }
  617.  
  618. Method (_L0C, 0, NotSerialized)
  619. {
  620. Notify (\_SB.PCI0.USB3, 0x02)
  621. }
  622.  
  623. Method (_L0D, 0, NotSerialized)
  624. {
  625. If (\_SB.PCI0.EHC1.PMES)
  626. {
  627. Store (One, \_SB.PCI0.EHC1.PMES)
  628. Notify (\_SB.PCI0.EHC1, 0x02)
  629. }
  630.  
  631. If (\_SB.PCI0.EHC2.PMES)
  632. {
  633. Store (One, \_SB.PCI0.EHC2.PMES)
  634. Notify (\_SB.PCI0.EHC2, 0x02)
  635. }
  636.  
  637. If (\_SB.PCI0.HDEF.PMES)
  638. {
  639. Store (One, \_SB.PCI0.HDEF.PMES)
  640. Notify (\_SB.PCI0.HDEF, 0x02)
  641. }
  642. }
  643.  
  644. Method (_L0E, 0, NotSerialized)
  645. {
  646. Notify (\_SB.PCI0.USB4, 0x02)
  647. }
  648.  
  649. Method (_L1E, 0, NotSerialized)
  650. {
  651. Notify (\_SB.PWRB, 0x02)
  652. }
  653. }
  654.  
  655. Scope (_PR)
  656. {
  657. Processor (CPU0, 0x00, 0x00001010, 0x06) {}
  658. Processor (CPU1, 0x01, 0x00001010, 0x06) {}
  659. Method (RPPC, 0, NotSerialized)
  660. {
  661. If (LEqual (OSYS, 0x07D2))
  662. {
  663. If (And (CFGD, One))
  664. {
  665. If (LGreater (^CPU0._PPC, Zero))
  666. {
  667. Subtract (^CPU0._PPC, One, ^CPU0._PPC)
  668. PNOT ()
  669. Add (^CPU0._PPC, One, ^CPU0._PPC)
  670. PNOT ()
  671. }
  672. Else
  673. {
  674. Add (^CPU0._PPC, One, ^CPU0._PPC)
  675. PNOT ()
  676. Subtract (^CPU0._PPC, One, ^CPU0._PPC)
  677. PNOT ()
  678. }
  679. }
  680. }
  681. }
  682. }
  683.  
  684. Scope (_TZ)
  685. {
  686. ThermalZone (TZ00)
  687. {
  688. Method (_CRT, 0, Serialized)
  689. {
  690. Return (0x0FA2)
  691. }
  692.  
  693. Method (_TMP, 0, Serialized)
  694. {
  695. If (ECON)
  696. {
  697. Store (\_SB.PCI0.LPCB.EC.TS1R, Local0)
  698. If (And (Local0, 0x80))
  699. {
  700. Subtract (Local0, 0x0100, Local0)
  701. }
  702.  
  703. Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
  704. }
  705.  
  706. Return (0x0BB8)
  707. }
  708. }
  709.  
  710. ThermalZone (TZ01)
  711. {
  712. Method (_AC0, 0, Serialized)
  713. {
  714. Return (Add (0x0AAC, Multiply (ACTT, 0x0A)))
  715. }
  716.  
  717. Method (_AC1, 0, Serialized)
  718. {
  719. Return (Add (0x0AAC, Multiply (ACT1, 0x0A)))
  720. }
  721.  
  722. Method (_CRT, 0, Serialized)
  723. {
  724. Return (Add (0x0AAC, Multiply (CRTT, 0x0A)))
  725. }
  726.  
  727. Method (_SCP, 1, Serialized)
  728. {
  729. Store (Arg0, CTYP)
  730. }
  731.  
  732. Method (_TMP, 0, Serialized)
  733. {
  734. If (DTSE)
  735. {
  736. If (LGreaterEqual (DTS1, DTS2))
  737. {
  738. Return (Add (0x0AAC, Multiply (DTS1, 0x0A)))
  739. }
  740.  
  741. Return (Add (0x0AAC, Multiply (DTS2, 0x0A)))
  742. }
  743.  
  744. If (ECON)
  745. {
  746. Store (\_SB.PCI0.LPCB.EC.TS1R, Local0)
  747. If (And (Local0, 0x80))
  748. {
  749. Subtract (Local0, 0x0100, Local0)
  750. }
  751.  
  752. Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
  753. }
  754.  
  755. Return (0x0BB8)
  756. }
  757.  
  758. Method (_PSL, 0, Serialized)
  759. {
  760. If (MPEN)
  761. {
  762. Return (Package (0x02)
  763. {
  764. \_PR.CPU0,
  765. \_PR.CPU1
  766. })
  767. }
  768.  
  769. Return (Package (0x01)
  770. {
  771. \_PR.CPU0
  772. })
  773. }
  774.  
  775. Method (_PSV, 0, Serialized)
  776. {
  777. Return (Add (0x0AAC, Multiply (PSVT, 0x0A)))
  778. }
  779.  
  780. Method (_TC1, 0, Serialized)
  781. {
  782. Return (TC1V)
  783. }
  784.  
  785. Method (_TC2, 0, Serialized)
  786. {
  787. Return (TC2V)
  788. }
  789.  
  790. Method (_TSP, 0, Serialized)
  791. {
  792. Return (TSPV)
  793. }
  794. }
  795. }
  796.  
  797. Scope (_SB)
  798. {
  799. Device (ADP1)
  800. {
  801. Name (_HID, "ACPI0003")
  802. Method (_PSR, 0, NotSerialized)
  803. {
  804. If (LEqual (ECON, Zero))
  805. {
  806. And (PHSB (0xD4, Zero), 0x80, Local0)
  807. }
  808. Else
  809. {
  810. Store (^^PCI0.LPCB.EC.RPWR, Local0)
  811. }
  812.  
  813. If (LEqual (Local0, Zero))
  814. {
  815. Return (Zero)
  816. }
  817. Else
  818. {
  819. Return (One)
  820. }
  821. }
  822.  
  823. Method (_PCL, 0, NotSerialized)
  824. {
  825. Return (_SB)
  826. }
  827. }
  828.  
  829. Device (BAT0)
  830. {
  831. Name (_HID, EisaId ("PNP0C0A"))
  832. Name (_UID, Zero)
  833. Method (_STA, 0, NotSerialized)
  834. {
  835. DBGC (0xB0, 0x80, BCEN)
  836. Sleep (0x05)
  837. If (LEqual (ECON, Zero))
  838. {
  839. Store (Zero, Local1)
  840. }
  841. Else
  842. {
  843. Store (^^PCI0.LPCB.EC.BATP, Local1)
  844. }
  845.  
  846. If (LEqual (Local1, Zero))
  847. {
  848. Store (0x0F, Local0)
  849. }
  850. Else
  851. {
  852. Store (0x1F, Local0)
  853. }
  854.  
  855. DBGC (0xB0, 0x81, BCEN)
  856. Return (Local0)
  857. }
  858.  
  859. Method (_BIF, 0, NotSerialized)
  860. {
  861. Name (MULV, Zero)
  862. DBGC (0xB1, 0x80, BCEN)
  863. Name (BATI, Package (0x0D)
  864. {
  865. Zero,
  866. 0x2710,
  867. 0x2710,
  868. One,
  869. 0xFFFFFFFF,
  870. 0x03E8,
  871. 0x0190,
  872. 0x64,
  873. 0x64,
  874. "Customized",
  875. "",
  876. "LiOn",
  877. "Sony Corp."
  878. })
  879. Store (One, MULV)
  880. Sleep (0x05)
  881. If (LEqual (ECON, Zero)) {}
  882. Else
  883. {
  884. And (^^PCI0.LPCB.EC.OMFH, 0x80, Local0)
  885. If (Local0)
  886. {
  887. Store (Zero, Index (BATI, Zero))
  888. Store (0x0A, MULV)
  889. }
  890. Else
  891. {
  892. Store (One, Index (BATI, Zero))
  893. }
  894.  
  895. Store (^^PCI0.LPCB.EC.BDCH, Local0)
  896. Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.BDCL, Local0)
  897. Store (Multiply (Local0, MULV), Index (BATI, One))
  898. Store (^^PCI0.LPCB.EC.FCCH, Local0)
  899. Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.FCCL, Local0)
  900. Store (Multiply (Local0, MULV), Index (BATI, 0x02))
  901. Store (^^PCI0.LPCB.EC.BAVH, Local0)
  902. Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.BAVL, Local0)
  903. Store (Multiply (Local0, MULV), Index (BATI, 0x04))
  904. }
  905.  
  906. DBGC (0xB1, 0x81, BCEN)
  907. Return (BATI)
  908. }
  909.  
  910. Method (_BST, 0, NotSerialized)
  911. {
  912. DBGC (0xB2, 0x80, BCEN)
  913. Name (PKG0, Package (0x04)
  914. {
  915. 0x02,
  916. 0xFFFFFFFF,
  917. 0xFFFFFFFF,
  918. 0xFFFFFFFF
  919. })
  920. Sleep (0x05)
  921. If (LEqual (ECON, Zero)) {}
  922. Else
  923. {
  924. If (LEqual (^^PCI0.LPCB.EC.CHGE, One))
  925. {
  926. Store (^^PCI0.LPCB.EC.RSCL, Local0)
  927. If (LEqual (Local0, 0x64))
  928. {
  929. Store (Zero, Index (PKG0, Zero))
  930. }
  931. Else
  932. {
  933. Store (0x02, Index (PKG0, Zero))
  934. }
  935. }
  936. Else
  937. {
  938. Store (One, Index (PKG0, Zero))
  939. }
  940.  
  941. Name (MULV, Zero)
  942. And (^^PCI0.LPCB.EC.OMFH, 0x80, Local0)
  943. If (Local0)
  944. {
  945. Store (0x0A, MULV)
  946. }
  947. Else
  948. {
  949. Store (One, MULV)
  950. }
  951.  
  952. Store (^^PCI0.LPCB.EC.BRCH, Local0)
  953. Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.BRCL, Local0)
  954. Store (Multiply (Local0, MULV), Index (PKG0, 0x02))
  955. Store (^^PCI0.LPCB.EC.BACH, Local0)
  956. Or (ShiftLeft (Local0, 0x08), ^^PCI0.LPCB.EC.BACL, Local0)
  957. If (LAnd (Local0, 0x8000))
  958. {
  959. Add (Not (Local0), One, Local0)
  960. And (Local0, 0xFFFF, Local0)
  961. }
  962.  
  963. Store (^^PCI0.LPCB.EC.BAVH, Local1)
  964. Or (ShiftLeft (Local1, 0x08), ^^PCI0.LPCB.EC.BAVL, Local1)
  965. Divide (Local1, 0x03E8, , Local1)
  966. Store (Multiply (Local0, Local1), Index (PKG0, One))
  967. }
  968.  
  969. DBGC (0xB2, 0x81, BCEN)
  970. Return (PKG0)
  971. }
  972.  
  973. Method (_PCL, 0, NotSerialized)
  974. {
  975. Return (_SB)
  976. }
  977. }
  978.  
  979. Device (LID0)
  980. {
  981. Name (_HID, EisaId ("PNP0C0D"))
  982. Method (_LID, 0, NotSerialized)
  983. {
  984. If (ECON)
  985. {
  986. Store (^^PCI0.LPCB.EC.LSTE, Local0)
  987. }
  988. Else
  989. {
  990. And (PHSB (0xD4, Zero), 0x20, Local0)
  991. }
  992.  
  993. If (Local0)
  994. {
  995. Return (Zero)
  996. }
  997. Else
  998. {
  999. Return (One)
  1000. }
  1001. }
  1002. }
  1003.  
  1004. Device (PWRB)
  1005. {
  1006. Name (_HID, EisaId ("PNP0C0C"))
  1007. Name (_PRW, Package (0x02)
  1008. {
  1009. 0x1E,
  1010. 0x04
  1011. })
  1012. }
  1013.  
  1014. Mutex (PLOK, 0x00)
  1015. Method (NCPU, 0, NotSerialized)
  1016. {
  1017. Acquire (PLOK, 0xFFFF)
  1018. Notify (\_PR.CPU0, 0x80)
  1019. Sleep (0x64)
  1020. Notify (\_PR.CPU0, 0x81)
  1021. Release (PLOK)
  1022. }
  1023.  
  1024. Device (PCI0)
  1025. {
  1026. Method (_INI, 0, NotSerialized)
  1027. {
  1028. Store (Zero, ^LPCB.SNC.XECR)
  1029. Store (Zero, ^LPCB.SNC.SNBF)
  1030. }
  1031.  
  1032. Method (_S3D, 0, NotSerialized)
  1033. {
  1034. Return (0x02)
  1035. }
  1036.  
  1037. Method (_S4D, 0, NotSerialized)
  1038. {
  1039. Return (0x02)
  1040. }
  1041.  
  1042. Name (_HID, EisaId ("PNP0A08"))
  1043. Name (_CID, EisaId ("PNP0A03"))
  1044. Name (SUPP, Zero)
  1045. Name (CTRL, Zero)
  1046. Device (MCHC)
  1047. {
  1048. Name (_ADR, Zero)
  1049. OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
  1050. Field (HBUS, DWordAcc, NoLock, Preserve)
  1051. {
  1052. EPEN, 1,
  1053. , 11,
  1054. EPBR, 20,
  1055. Offset (0x08),
  1056. MHEN, 1,
  1057. , 13,
  1058. MHBR, 18,
  1059. Offset (0x20),
  1060. PXEN, 1,
  1061. PXSZ, 2,
  1062. , 23,
  1063. PXBR, 6,
  1064. Offset (0x28),
  1065. DIEN, 1,
  1066. , 11,
  1067. DIBR, 20,
  1068. Offset (0x30),
  1069. IPEN, 1,
  1070. , 11,
  1071. IPBR, 20,
  1072. Offset (0x50),
  1073. , 4,
  1074. PM0H, 2,
  1075. Offset (0x51),
  1076. PM1L, 2,
  1077. , 2,
  1078. PM1H, 2,
  1079. Offset (0x52),
  1080. PM2L, 2,
  1081. , 2,
  1082. PM2H, 2,
  1083. Offset (0x53),
  1084. PM3L, 2,
  1085. , 2,
  1086. PM3H, 2,
  1087. Offset (0x54),
  1088. PM4L, 2,
  1089. , 2,
  1090. PM4H, 2,
  1091. Offset (0x55),
  1092. PM5L, 2,
  1093. , 2,
  1094. PM5H, 2,
  1095. Offset (0x56),
  1096. PM6L, 2,
  1097. , 2,
  1098. PM6H, 2,
  1099. Offset (0x57),
  1100. , 7,
  1101. HENA, 1,
  1102. Offset (0x62),
  1103. TUUD, 16,
  1104. Offset (0x70),
  1105. , 4,
  1106. TLUD, 12
  1107. }
  1108. }
  1109.  
  1110. Name (BUF0, ResourceTemplate ()
  1111. {
  1112. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  1113. 0x0000, // Granularity
  1114. 0x0000, // Range Minimum
  1115. 0x00FF, // Range Maximum
  1116. 0x0000, // Translation Offset
  1117. 0x0100, // Length
  1118. ,, )
  1119. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1120. 0x00000000, // Granularity
  1121. 0x00000000, // Range Minimum
  1122. 0x00000CF7, // Range Maximum
  1123. 0x00000000, // Translation Offset
  1124. 0x00000CF8, // Length
  1125. ,, , TypeStatic)
  1126. IO (Decode16,
  1127. 0x0CF8, // Range Minimum
  1128. 0x0CF8, // Range Maximum
  1129. 0x01, // Alignment
  1130. 0x08, // Length
  1131. )
  1132. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1133. 0x00000000, // Granularity
  1134. 0x00000D00, // Range Minimum
  1135. 0x0000FFFF, // Range Maximum
  1136. 0x00000000, // Translation Offset
  1137. 0x0000F300, // Length
  1138. ,, , TypeStatic)
  1139. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1140. 0x00000000, // Granularity
  1141. 0x000A0000, // Range Minimum
  1142. 0x000BFFFF, // Range Maximum
  1143. 0x00000000, // Translation Offset
  1144. 0x00020000, // Length
  1145. ,, , AddressRangeMemory, TypeStatic)
  1146. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1147. 0x00000000, // Granularity
  1148. 0x000C0000, // Range Minimum
  1149. 0x000C3FFF, // Range Maximum
  1150. 0x00000000, // Translation Offset
  1151. 0x00004000, // Length
  1152. ,, _Y00, AddressRangeMemory, TypeStatic)
  1153. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1154. 0x00000000, // Granularity
  1155. 0x000C4000, // Range Minimum
  1156. 0x000C7FFF, // Range Maximum
  1157. 0x00000000, // Translation Offset
  1158. 0x00004000, // Length
  1159. ,, _Y01, AddressRangeMemory, TypeStatic)
  1160. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1161. 0x00000000, // Granularity
  1162. 0x000C8000, // Range Minimum
  1163. 0x000CBFFF, // Range Maximum
  1164. 0x00000000, // Translation Offset
  1165. 0x00004000, // Length
  1166. ,, _Y02, AddressRangeMemory, TypeStatic)
  1167. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1168. 0x00000000, // Granularity
  1169. 0x000CC000, // Range Minimum
  1170. 0x000CFFFF, // Range Maximum
  1171. 0x00000000, // Translation Offset
  1172. 0x00004000, // Length
  1173. ,, _Y03, AddressRangeMemory, TypeStatic)
  1174. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1175. 0x00000000, // Granularity
  1176. 0x000D0000, // Range Minimum
  1177. 0x000D3FFF, // Range Maximum
  1178. 0x00000000, // Translation Offset
  1179. 0x00004000, // Length
  1180. ,, _Y04, AddressRangeMemory, TypeStatic)
  1181. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1182. 0x00000000, // Granularity
  1183. 0x000D4000, // Range Minimum
  1184. 0x000D7FFF, // Range Maximum
  1185. 0x00000000, // Translation Offset
  1186. 0x00004000, // Length
  1187. ,, _Y05, AddressRangeMemory, TypeStatic)
  1188. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1189. 0x00000000, // Granularity
  1190. 0x000D8000, // Range Minimum
  1191. 0x000DBFFF, // Range Maximum
  1192. 0x00000000, // Translation Offset
  1193. 0x00004000, // Length
  1194. ,, _Y06, AddressRangeMemory, TypeStatic)
  1195. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1196. 0x00000000, // Granularity
  1197. 0x000DC000, // Range Minimum
  1198. 0x000DFFFF, // Range Maximum
  1199. 0x00000000, // Translation Offset
  1200. 0x00004000, // Length
  1201. ,, _Y07, AddressRangeMemory, TypeStatic)
  1202. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1203. 0x00000000, // Granularity
  1204. 0x000E0000, // Range Minimum
  1205. 0x000E3FFF, // Range Maximum
  1206. 0x00000000, // Translation Offset
  1207. 0x00004000, // Length
  1208. ,, _Y08, AddressRangeMemory, TypeStatic)
  1209. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1210. 0x00000000, // Granularity
  1211. 0x000E4000, // Range Minimum
  1212. 0x000E7FFF, // Range Maximum
  1213. 0x00000000, // Translation Offset
  1214. 0x00004000, // Length
  1215. ,, _Y09, AddressRangeMemory, TypeStatic)
  1216. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1217. 0x00000000, // Granularity
  1218. 0x000E8000, // Range Minimum
  1219. 0x000EBFFF, // Range Maximum
  1220. 0x00000000, // Translation Offset
  1221. 0x00004000, // Length
  1222. ,, _Y0A, AddressRangeMemory, TypeStatic)
  1223. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1224. 0x00000000, // Granularity
  1225. 0x000EC000, // Range Minimum
  1226. 0x000EFFFF, // Range Maximum
  1227. 0x00000000, // Translation Offset
  1228. 0x00004000, // Length
  1229. ,, _Y0B, AddressRangeMemory, TypeStatic)
  1230. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1231. 0x00000000, // Granularity
  1232. 0x000F0000, // Range Minimum
  1233. 0x000FFFFF, // Range Maximum
  1234. 0x00000000, // Translation Offset
  1235. 0x00010000, // Length
  1236. ,, _Y0C, AddressRangeMemory, TypeStatic)
  1237. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1238. 0x00000000, // Granularity
  1239. 0x00000000, // Range Minimum
  1240. 0xDFFFFFFF, // Range Maximum
  1241. 0x00000000, // Translation Offset
  1242. 0xE0000000, // Length
  1243. ,, _Y0D, AddressRangeMemory, TypeStatic)
  1244. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1245. 0x00000000, // Granularity
  1246. 0xF0000000, // Range Minimum
  1247. 0xFEBFFFFF, // Range Maximum
  1248. 0x00000000, // Translation Offset
  1249. 0x0EC00000, // Length
  1250. ,, _Y0E, AddressRangeMemory, TypeStatic)
  1251. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1252. 0x00000000, // Granularity
  1253. 0xFED40000, // Range Minimum
  1254. 0xFED44FFF, // Range Maximum
  1255. 0x00000000, // Translation Offset
  1256. 0x00005000, // Length
  1257. ,, , AddressRangeMemory, TypeStatic)
  1258. })
  1259. Method (_CRS, 0, Serialized)
  1260. {
  1261. If (^MCHC.PM1L)
  1262. {
  1263. CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
  1264. Store (Zero, C0LN)
  1265. }
  1266.  
  1267. If (LEqual (^MCHC.PM1L, One))
  1268. {
  1269. CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
  1270. Store (Zero, C0RW)
  1271. }
  1272.  
  1273. If (^MCHC.PM1H)
  1274. {
  1275. CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
  1276. Store (Zero, C4LN)
  1277. }
  1278.  
  1279. If (LEqual (^MCHC.PM1H, One))
  1280. {
  1281. CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
  1282. Store (Zero, C4RW)
  1283. }
  1284.  
  1285. If (^MCHC.PM2L)
  1286. {
  1287. CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
  1288. Store (Zero, C8LN)
  1289. }
  1290.  
  1291. If (LEqual (^MCHC.PM2L, One))
  1292. {
  1293. CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
  1294. Store (Zero, C8RW)
  1295. }
  1296.  
  1297. If (^MCHC.PM2H)
  1298. {
  1299. CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
  1300. Store (Zero, CCLN)
  1301. }
  1302.  
  1303. If (LEqual (^MCHC.PM2H, One))
  1304. {
  1305. CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
  1306. Store (Zero, CCRW)
  1307. }
  1308.  
  1309. If (^MCHC.PM3L)
  1310. {
  1311. CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
  1312. Store (Zero, D0LN)
  1313. }
  1314.  
  1315. If (LEqual (^MCHC.PM3L, One))
  1316. {
  1317. CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
  1318. Store (Zero, D0RW)
  1319. }
  1320.  
  1321. If (^MCHC.PM3H)
  1322. {
  1323. CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
  1324. Store (Zero, D4LN)
  1325. }
  1326.  
  1327. If (LEqual (^MCHC.PM3H, One))
  1328. {
  1329. CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
  1330. Store (Zero, D4RW)
  1331. }
  1332.  
  1333. If (^MCHC.PM4L)
  1334. {
  1335. CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
  1336. Store (Zero, D8LN)
  1337. }
  1338.  
  1339. If (LEqual (^MCHC.PM4L, One))
  1340. {
  1341. CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
  1342. Store (Zero, D8RW)
  1343. }
  1344.  
  1345. If (^MCHC.PM4H)
  1346. {
  1347. CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
  1348. Store (Zero, DCLN)
  1349. }
  1350.  
  1351. If (LEqual (^MCHC.PM4H, One))
  1352. {
  1353. CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
  1354. Store (Zero, DCRW)
  1355. }
  1356.  
  1357. If (^MCHC.PM5L)
  1358. {
  1359. CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
  1360. Store (Zero, E0LN)
  1361. }
  1362.  
  1363. If (LEqual (^MCHC.PM5L, One))
  1364. {
  1365. CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
  1366. Store (Zero, E0RW)
  1367. }
  1368.  
  1369. If (^MCHC.PM5H)
  1370. {
  1371. CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
  1372. Store (Zero, E4LN)
  1373. }
  1374.  
  1375. If (LEqual (^MCHC.PM5H, One))
  1376. {
  1377. CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
  1378. Store (Zero, E4RW)
  1379. }
  1380.  
  1381. If (^MCHC.PM6L)
  1382. {
  1383. CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
  1384. Store (Zero, E8LN)
  1385. }
  1386.  
  1387. If (LEqual (^MCHC.PM6L, One))
  1388. {
  1389. CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
  1390. Store (Zero, E8RW)
  1391. }
  1392.  
  1393. If (^MCHC.PM6H)
  1394. {
  1395. CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
  1396. Store (Zero, ECLN)
  1397. }
  1398.  
  1399. If (LEqual (^MCHC.PM6H, One))
  1400. {
  1401. CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
  1402. Store (Zero, ECRW)
  1403. }
  1404.  
  1405. If (^MCHC.PM0H)
  1406. {
  1407. CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
  1408. Store (Zero, F0LN)
  1409. }
  1410.  
  1411. If (LEqual (^MCHC.PM0H, One))
  1412. {
  1413. CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
  1414. Store (Zero, F0RW)
  1415. }
  1416.  
  1417. CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)
  1418. CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)
  1419. CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)
  1420. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M2MN)
  1421. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M2MX)
  1422. CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M2LN)
  1423. ShiftLeft (^MCHC.PXBR, 0x1A, M1MX)
  1424. ShiftRight (0x10000000, ^MCHC.PXSZ, Local0)
  1425. Add (M1MX, Local0, M2MN)
  1426. Add (Subtract (M2MX, M2MN), One, M2LN)
  1427. Subtract (M1MX, One, M1MX)
  1428. ShiftLeft (^MCHC.TLUD, 0x14, M1MN)
  1429. Add (Subtract (M1MX, M1MN), One, M1LN)
  1430. Return (BUF0)
  1431. }
  1432.  
  1433. Method (_PRT, 0, NotSerialized)
  1434. {
  1435. If (GPIC)
  1436. {
  1437. Return (Package (0x13)
  1438. {
  1439. Package (0x04)
  1440. {
  1441. 0x0001FFFF,
  1442. Zero,
  1443. Zero,
  1444. 0x10
  1445. },
  1446.  
  1447. Package (0x04)
  1448. {
  1449. 0x0002FFFF,
  1450. Zero,
  1451. Zero,
  1452. 0x10
  1453. },
  1454.  
  1455. Package (0x04)
  1456. {
  1457. 0x0007FFFF,
  1458. Zero,
  1459. Zero,
  1460. 0x10
  1461. },
  1462.  
  1463. Package (0x04)
  1464. {
  1465. 0x0019FFFF,
  1466. Zero,
  1467. Zero,
  1468. 0x14
  1469. },
  1470.  
  1471. Package (0x04)
  1472. {
  1473. 0x001AFFFF,
  1474. Zero,
  1475. Zero,
  1476. 0x10
  1477. },
  1478.  
  1479. Package (0x04)
  1480. {
  1481. 0x001AFFFF,
  1482. One,
  1483. Zero,
  1484. 0x15
  1485. },
  1486.  
  1487. Package (0x04)
  1488. {
  1489. 0x001AFFFF,
  1490. 0x02,
  1491. Zero,
  1492. 0x12
  1493. },
  1494.  
  1495. Package (0x04)
  1496. {
  1497. 0x001BFFFF,
  1498. Zero,
  1499. Zero,
  1500. 0x16
  1501. },
  1502.  
  1503. Package (0x04)
  1504. {
  1505. 0x001CFFFF,
  1506. Zero,
  1507. Zero,
  1508. 0x11
  1509. },
  1510.  
  1511. Package (0x04)
  1512. {
  1513. 0x001CFFFF,
  1514. One,
  1515. Zero,
  1516. 0x10
  1517. },
  1518.  
  1519. Package (0x04)
  1520. {
  1521. 0x001CFFFF,
  1522. 0x02,
  1523. Zero,
  1524. 0x12
  1525. },
  1526.  
  1527. Package (0x04)
  1528. {
  1529. 0x001CFFFF,
  1530. 0x03,
  1531. Zero,
  1532. 0x13
  1533. },
  1534.  
  1535. Package (0x04)
  1536. {
  1537. 0x001DFFFF,
  1538. Zero,
  1539. Zero,
  1540. 0x17
  1541. },
  1542.  
  1543. Package (0x04)
  1544. {
  1545. 0x001DFFFF,
  1546. One,
  1547. Zero,
  1548. 0x13
  1549. },
  1550.  
  1551. Package (0x04)
  1552. {
  1553. 0x001DFFFF,
  1554. 0x02,
  1555. Zero,
  1556. 0x12
  1557. },
  1558.  
  1559. Package (0x04)
  1560. {
  1561. 0x001FFFFF,
  1562. Zero,
  1563. Zero,
  1564. 0x13
  1565. },
  1566.  
  1567. Package (0x04)
  1568. {
  1569. 0x001FFFFF,
  1570. One,
  1571. Zero,
  1572. 0x13
  1573. },
  1574.  
  1575. Package (0x04)
  1576. {
  1577. 0x001FFFFF,
  1578. 0x02,
  1579. Zero,
  1580. 0x13
  1581. },
  1582.  
  1583. Package (0x04)
  1584. {
  1585. 0x001FFFFF,
  1586. 0x03,
  1587. Zero,
  1588. 0x10
  1589. }
  1590. })
  1591. }
  1592. Else
  1593. {
  1594. Return (Package (0x13)
  1595. {
  1596. Package (0x04)
  1597. {
  1598. 0x0001FFFF,
  1599. Zero,
  1600. ^LPCB.LNKA,
  1601. Zero
  1602. },
  1603.  
  1604. Package (0x04)
  1605. {
  1606. 0x0002FFFF,
  1607. Zero,
  1608. ^LPCB.LNKA,
  1609. Zero
  1610. },
  1611.  
  1612. Package (0x04)
  1613. {
  1614. 0x0007FFFF,
  1615. Zero,
  1616. ^LPCB.LNKA,
  1617. Zero
  1618. },
  1619.  
  1620. Package (0x04)
  1621. {
  1622. 0x0019FFFF,
  1623. Zero,
  1624. ^LPCB.LNKE,
  1625. Zero
  1626. },
  1627.  
  1628. Package (0x04)
  1629. {
  1630. 0x001AFFFF,
  1631. Zero,
  1632. ^LPCB.LNKA,
  1633. Zero
  1634. },
  1635.  
  1636. Package (0x04)
  1637. {
  1638. 0x001AFFFF,
  1639. One,
  1640. ^LPCB.LNKF,
  1641. Zero
  1642. },
  1643.  
  1644. Package (0x04)
  1645. {
  1646. 0x001AFFFF,
  1647. 0x02,
  1648. ^LPCB.LNKC,
  1649. Zero
  1650. },
  1651.  
  1652. Package (0x04)
  1653. {
  1654. 0x001BFFFF,
  1655. Zero,
  1656. ^LPCB.LNKG,
  1657. Zero
  1658. },
  1659.  
  1660. Package (0x04)
  1661. {
  1662. 0x001CFFFF,
  1663. Zero,
  1664. ^LPCB.LNKB,
  1665. Zero
  1666. },
  1667.  
  1668. Package (0x04)
  1669. {
  1670. 0x001CFFFF,
  1671. One,
  1672. ^LPCB.LNKA,
  1673. Zero
  1674. },
  1675.  
  1676. Package (0x04)
  1677. {
  1678. 0x001CFFFF,
  1679. 0x02,
  1680. ^LPCB.LNKC,
  1681. Zero
  1682. },
  1683.  
  1684. Package (0x04)
  1685. {
  1686. 0x001CFFFF,
  1687. 0x03,
  1688. ^LPCB.LNKD,
  1689. Zero
  1690. },
  1691.  
  1692. Package (0x04)
  1693. {
  1694. 0x001DFFFF,
  1695. Zero,
  1696. ^LPCB.LNKH,
  1697. Zero
  1698. },
  1699.  
  1700. Package (0x04)
  1701. {
  1702. 0x001DFFFF,
  1703. One,
  1704. ^LPCB.LNKD,
  1705. Zero
  1706. },
  1707.  
  1708. Package (0x04)
  1709. {
  1710. 0x001DFFFF,
  1711. 0x02,
  1712. ^LPCB.LNKC,
  1713. Zero
  1714. },
  1715.  
  1716. Package (0x04)
  1717. {
  1718. 0x001FFFFF,
  1719. Zero,
  1720. ^LPCB.LNKD,
  1721. Zero
  1722. },
  1723.  
  1724. Package (0x04)
  1725. {
  1726. 0x001FFFFF,
  1727. One,
  1728. ^LPCB.LNKD,
  1729. Zero
  1730. },
  1731.  
  1732. Package (0x04)
  1733. {
  1734. 0x001FFFFF,
  1735. 0x02,
  1736. ^LPCB.LNKD,
  1737. Zero
  1738. },
  1739.  
  1740. Package (0x04)
  1741. {
  1742. 0x001FFFFF,
  1743. 0x03,
  1744. ^LPCB.LNKA,
  1745. Zero
  1746. }
  1747. })
  1748. }
  1749. }
  1750.  
  1751. Method (_OSC, 4, NotSerialized)
  1752. {
  1753. DBGC (0x6C, 0x80, BCEN)
  1754. CreateDWordField (Arg3, Zero, PSTS)
  1755. CreateDWordField (Arg3, 0x04, PSUP)
  1756. CreateDWordField (Arg3, 0x08, PCNT)
  1757. Store (PSUP, SUPP)
  1758. Store (PCNT, CTRL)
  1759. Name (UID1, Buffer (0x10)
  1760. {
  1761. /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
  1762. /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
  1763. })
  1764. If (LEqual (Arg0, Buffer (0x10)
  1765. {
  1766. /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
  1767. /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
  1768. }))
  1769. {
  1770. And (CTRL, 0x1D, CTRL)
  1771. If (LNotEqual (And (SUPP, 0x16), 0x16))
  1772. {
  1773. And (CTRL, 0x1E)
  1774. }
  1775.  
  1776. If (Not (And (PSTS, One)))
  1777. {
  1778. If (And (CTRL, One)) {}
  1779. If (And (CTRL, 0x04)) {}
  1780. If (And (CTRL, 0x10)) {}
  1781. }
  1782.  
  1783. If (LNotEqual (Arg1, One))
  1784. {
  1785. Or (PSTS, 0x08, PSTS)
  1786. DBGC (0x6C, 0x81, BCEN)
  1787. Return (Arg3)
  1788. }
  1789.  
  1790. If (LNotEqual (PCNT, CTRL))
  1791. {
  1792. Or (PSTS, 0x10, PSTS)
  1793. }
  1794.  
  1795. Store (Zero, PCNT)
  1796. DBGC (0x6C, 0x82, BCEN)
  1797. Return (Arg3)
  1798. }
  1799. Else
  1800. {
  1801. Or (PSTS, 0x04, PSTS)
  1802. DBGC (0x6C, 0x83, BCEN)
  1803. Return (Arg3)
  1804. }
  1805. }
  1806.  
  1807. Device (PDRC)
  1808. {
  1809. Name (_HID, EisaId ("PNP0C02"))
  1810. Name (_UID, One)
  1811. Name (BUF0, ResourceTemplate ()
  1812. {
  1813. Memory32Fixed (ReadWrite,
  1814. 0x00000000, // Address Base
  1815. 0x00004000, // Address Length
  1816. _Y0F)
  1817. Memory32Fixed (ReadWrite,
  1818. 0x00000000, // Address Base
  1819. 0x00004000, // Address Length
  1820. _Y10)
  1821. Memory32Fixed (ReadWrite,
  1822. 0x00000000, // Address Base
  1823. 0x00001000, // Address Length
  1824. _Y11)
  1825. Memory32Fixed (ReadWrite,
  1826. 0x00000000, // Address Base
  1827. 0x00001000, // Address Length
  1828. _Y12)
  1829. Memory32Fixed (ReadWrite,
  1830. 0x00000000, // Address Base
  1831. 0x00000000, // Address Length
  1832. _Y13)
  1833. Memory32Fixed (ReadWrite,
  1834. 0xFED20000, // Address Base
  1835. 0x00020000, // Address Length
  1836. )
  1837. Memory32Fixed (ReadWrite,
  1838. 0xFED40000, // Address Base
  1839. 0x00005000, // Address Length
  1840. )
  1841. Memory32Fixed (ReadWrite,
  1842. 0xFED45000, // Address Base
  1843. 0x0004B000, // Address Length
  1844. )
  1845. })
  1846. Method (_CRS, 0, Serialized)
  1847. {
  1848. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y0F._BAS, RBR0)
  1849. ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0)
  1850. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y10._BAS, MBR0)
  1851. ShiftLeft (^^MCHC.MHBR, 0x0E, MBR0)
  1852. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, DBR0)
  1853. ShiftLeft (^^MCHC.DIBR, 0x0C, DBR0)
  1854. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, EBR0)
  1855. ShiftLeft (^^MCHC.EPBR, 0x0C, EBR0)
  1856. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, XBR0)
  1857. ShiftLeft (^^MCHC.PXBR, 0x1A, XBR0)
  1858. CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._LEN, XSZ0)
  1859. ShiftRight (0x10000000, ^^MCHC.PXSZ, XSZ0)
  1860. Return (BUF0)
  1861. }
  1862. }
  1863.  
  1864. Device (PEGP)
  1865. {
  1866. Name (_ADR, 0x00010000)
  1867. Method (_PRT, 0, NotSerialized)
  1868. {
  1869. If (GPIC)
  1870. {
  1871. Return (Package (0x04)
  1872. {
  1873. Package (0x04)
  1874. {
  1875. 0xFFFF,
  1876. Zero,
  1877. Zero,
  1878. 0x10
  1879. },
  1880.  
  1881. Package (0x04)
  1882. {
  1883. 0xFFFF,
  1884. One,
  1885. Zero,
  1886. 0x11
  1887. },
  1888.  
  1889. Package (0x04)
  1890. {
  1891. 0xFFFF,
  1892. 0x02,
  1893. Zero,
  1894. 0x12
  1895. },
  1896.  
  1897. Package (0x04)
  1898. {
  1899. 0xFFFF,
  1900. 0x03,
  1901. Zero,
  1902. 0x13
  1903. }
  1904. })
  1905. }
  1906. Else
  1907. {
  1908. Return (Package (0x04)
  1909. {
  1910. Package (0x04)
  1911. {
  1912. 0xFFFF,
  1913. Zero,
  1914. ^^LPCB.LNKA,
  1915. Zero
  1916. },
  1917.  
  1918. Package (0x04)
  1919. {
  1920. 0xFFFF,
  1921. One,
  1922. ^^LPCB.LNKB,
  1923. Zero
  1924. },
  1925.  
  1926. Package (0x04)
  1927. {
  1928. 0xFFFF,
  1929. 0x02,
  1930. ^^LPCB.LNKC,
  1931. Zero
  1932. },
  1933.  
  1934. Package (0x04)
  1935. {
  1936. 0xFFFF,
  1937. 0x03,
  1938. ^^LPCB.LNKD,
  1939. Zero
  1940. }
  1941. })
  1942. }
  1943. }
  1944.  
  1945. Device (NGFX)
  1946. {
  1947. Method (_ADR, 0, Serialized)
  1948. {
  1949. DBGC (0x62, Zero, BCEN)
  1950. Return (Zero)
  1951. }
  1952.  
  1953. OperationRegion (NVFX, PCI_Config, Zero, 0x10)
  1954. Field (NVFX, AnyAcc, NoLock, Preserve)
  1955. {
  1956. NVID, 16
  1957. }
  1958.  
  1959. Device (LCD)
  1960. {
  1961. Name (_ADR, 0x0118)
  1962. }
  1963.  
  1964. Name (ERR0, Buffer (0x04)
  1965. {
  1966. 0x00, 0x00, 0x00, 0x00
  1967. })
  1968. Name (ERR1, Buffer (0x04)
  1969. {
  1970. 0x01, 0x00, 0x00, 0x80
  1971. })
  1972. Name (VER1, Buffer (0x04)
  1973. {
  1974. 0x01, 0x00, 0x00, 0x00
  1975. })
  1976. Name (BHW1, Buffer (0x0C)
  1977. {
  1978. /* 0000 */ 0x00, 0x00, 0x64, 0x00, 0xC8, 0x00, 0x00, 0x00,
  1979. /* 0008 */ 0x00, 0x00, 0xE8, 0x03
  1980. })
  1981. Name (BCL1, Buffer (0x0B)
  1982. {
  1983. /* 0000 */ 0x64, 0x64, 0x14, 0x18, 0x1D, 0x24, 0x2C, 0x35,
  1984. /* 0008 */ 0x3F, 0x4C, 0x64
  1985. })
  1986. Name (ODID, Buffer (0x10)
  1987. {
  1988. /* 0000 */ 0x10, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00,
  1989. /* 0008 */ 0x00, 0x02, 0x01, 0x00, 0x20, 0x01, 0x00, 0x00
  1990. })
  1991. Method (NVIF, 3, NotSerialized)
  1992. {
  1993. DBGC (0x6F, Arg0, BCEN)
  1994. If (LEqual (Arg0, One))
  1995. {
  1996. Concatenate (ERR0, VER1, Local0)
  1997. Return (Local0)
  1998. }
  1999. Else
  2000. {
  2001. If (LEqual (Arg0, 0x09))
  2002. {
  2003. Name (T_0, Zero)
  2004. Store (ToInteger (Arg1), T_0)
  2005. If (LEqual (T_0, Zero))
  2006. {
  2007. Store (ERR0, Local1)
  2008. Return (Local1)
  2009. }
  2010. Else
  2011. {
  2012. If (LEqual (T_0, One))
  2013. {
  2014. Name (T_1, Zero)
  2015. Store (ToInteger (PNID), T_1)
  2016. If (LEqual (T_1, One))
  2017. {
  2018. Concatenate (ERR0, BHW1, Local1)
  2019. }
  2020. Else
  2021. {
  2022. If (LEqual (T_1, 0x02))
  2023. {
  2024. Concatenate (ERR0, BHW1, Local1)
  2025. }
  2026. Else
  2027. {
  2028. If (LEqual (T_1, 0x04))
  2029. {
  2030. Concatenate (ERR0, BHW1, Local1)
  2031. }
  2032. Else
  2033. {
  2034. If (LEqual (T_1, 0x05))
  2035. {
  2036. Concatenate (ERR0, BHW1, Local1)
  2037. }
  2038. Else
  2039. {
  2040. Concatenate (ERR0, BHW1, Local1)
  2041. }
  2042. }
  2043. }
  2044. }
  2045.  
  2046. Return (Local1)
  2047. }
  2048. Else
  2049. {
  2050. If (LEqual (T_0, 0x02))
  2051. {
  2052. Store (ERR0, Local1)
  2053. Return (Local1)
  2054. }
  2055. Else
  2056. {
  2057. If (LEqual (T_0, 0x03))
  2058. {
  2059. Name (T_2, Zero)
  2060. Store (ToInteger (PNID), T_2)
  2061. If (LEqual (T_2, One))
  2062. {
  2063. Concatenate (ERR0, BCL1, Local1)
  2064. }
  2065. Else
  2066. {
  2067. If (LEqual (T_2, 0x02))
  2068. {
  2069. Concatenate (ERR0, BCL1, Local1)
  2070. }
  2071. Else
  2072. {
  2073. If (LEqual (T_2, 0x04))
  2074. {
  2075. Concatenate (ERR0, BCL1, Local1)
  2076. }
  2077. Else
  2078. {
  2079. If (LEqual (T_2, 0x05))
  2080. {
  2081. Concatenate (ERR0, BCL1, Local1)
  2082. }
  2083. Else
  2084. {
  2085. Concatenate (ERR0, BCL1, Local1)
  2086. }
  2087. }
  2088. }
  2089. }
  2090.  
  2091. Return (Local1)
  2092. }
  2093. }
  2094. }
  2095. }
  2096. }
  2097. Else
  2098. {
  2099. If (LEqual (Arg0, 0x0B))
  2100. {
  2101. If (LEqual (Arg1, One))
  2102. {
  2103. Concatenate (ERR0, ODID, Local0)
  2104. Return (Local0)
  2105. }
  2106. Else
  2107. {
  2108. Return (ERR1)
  2109. }
  2110. }
  2111. }
  2112. }
  2113.  
  2114. Return (ERR1)
  2115. }
  2116. }
  2117. }
  2118.  
  2119. Device (GFX0)
  2120. {
  2121. Method (_ADR, 0, Serialized)
  2122. {
  2123. DBGC (0x63, Zero, BCEN)
  2124. Return (0x00020000)
  2125. }
  2126.  
  2127. OperationRegion (IGFX, PCI_Config, 0xF0, 0x10)
  2128. Field (IGFX, AnyAcc, NoLock, Preserve)
  2129. {
  2130. Offset (0x04),
  2131. BREG, 8
  2132. }
  2133.  
  2134. Method (_DOS, 1, NotSerialized)
  2135. {
  2136. Store (And (Arg0, 0x03), DSEN)
  2137. }
  2138.  
  2139. Method (_DOD, 0, NotSerialized)
  2140. {
  2141. If (LEqual (NDID, One))
  2142. {
  2143. Name (TMP1, Package (0x01)
  2144. {
  2145. 0xFFFFFFFF
  2146. })
  2147. Store (Or (0x00010000, DID1), Index (TMP1, Zero))
  2148. Return (TMP1)
  2149. }
  2150.  
  2151. If (LEqual (NDID, 0x02))
  2152. {
  2153. Name (TMP2, Package (0x02)
  2154. {
  2155. 0xFFFFFFFF,
  2156. 0xFFFFFFFF
  2157. })
  2158. Store (Or (0x00010000, DID1), Index (TMP2, Zero))
  2159. Store (Or (0x00010000, DID2), Index (TMP2, One))
  2160. Return (TMP2)
  2161. }
  2162.  
  2163. If (LEqual (NDID, 0x03))
  2164. {
  2165. Name (TMP3, Package (0x03)
  2166. {
  2167. 0xFFFFFFFF,
  2168. 0xFFFFFFFF,
  2169. 0xFFFFFFFF
  2170. })
  2171. Store (Or (0x00010000, DID1), Index (TMP3, Zero))
  2172. Store (Or (0x00010000, DID2), Index (TMP3, One))
  2173. Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
  2174. Return (TMP3)
  2175. }
  2176.  
  2177. If (LEqual (NDID, 0x04))
  2178. {
  2179. Name (TMP4, Package (0x04)
  2180. {
  2181. 0xFFFFFFFF,
  2182. 0xFFFFFFFF,
  2183. 0xFFFFFFFF,
  2184. 0xFFFFFFFF
  2185. })
  2186. Store (Or (0x00010000, DID1), Index (TMP4, Zero))
  2187. Store (Or (0x00010000, DID2), Index (TMP4, One))
  2188. Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
  2189. Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
  2190. Return (TMP4)
  2191. }
  2192.  
  2193. Name (TMP5, Package (0x05)
  2194. {
  2195. 0xFFFFFFFF,
  2196. 0xFFFFFFFF,
  2197. 0xFFFFFFFF,
  2198. 0xFFFFFFFF,
  2199. 0xFFFFFFFF
  2200. })
  2201. Store (Or (0x00010000, DID1), Index (TMP5, Zero))
  2202. Store (Or (0x00010000, DID2), Index (TMP5, One))
  2203. Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
  2204. Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
  2205. Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
  2206. Return (TMP5)
  2207. }
  2208.  
  2209. Device (DD01)
  2210. {
  2211. Method (_ADR, 0, Serialized)
  2212. {
  2213. Return (And (0xFFFF, DID1))
  2214. }
  2215.  
  2216. Method (_DCS, 0, NotSerialized)
  2217. {
  2218. TRAP (One)
  2219. If (And (CSTE, One))
  2220. {
  2221. Return (0x1F)
  2222. }
  2223.  
  2224. Return (0x1D)
  2225. }
  2226.  
  2227. Method (_DGS, 0, NotSerialized)
  2228. {
  2229. If (And (NSTE, One))
  2230. {
  2231. Return (One)
  2232. }
  2233.  
  2234. Return (Zero)
  2235. }
  2236.  
  2237. Method (_DSS, 1, NotSerialized)
  2238. {
  2239. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2240. {
  2241. Store (NSTE, CSTE)
  2242. }
  2243. }
  2244. }
  2245.  
  2246. Device (DD02)
  2247. {
  2248. Method (_ADR, 0, Serialized)
  2249. {
  2250. Return (And (0xFFFF, DID2))
  2251. }
  2252.  
  2253. Method (_DCS, 0, NotSerialized)
  2254. {
  2255. TRAP (One)
  2256. If (And (CSTE, 0x02))
  2257. {
  2258. Return (0x1F)
  2259. }
  2260.  
  2261. Return (0x1D)
  2262. }
  2263.  
  2264. Method (_DGS, 0, NotSerialized)
  2265. {
  2266. If (And (NSTE, 0x02))
  2267. {
  2268. Return (One)
  2269. }
  2270.  
  2271. Return (Zero)
  2272. }
  2273.  
  2274. Method (_DSS, 1, NotSerialized)
  2275. {
  2276. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2277. {
  2278. Store (NSTE, CSTE)
  2279. }
  2280. }
  2281. }
  2282.  
  2283. Device (DD03)
  2284. {
  2285. Method (_ADR, 0, Serialized)
  2286. {
  2287. Return (And (0xFFFF, DID3))
  2288. }
  2289.  
  2290. Method (_DCS, 0, NotSerialized)
  2291. {
  2292. TRAP (One)
  2293. If (And (CSTE, 0x04))
  2294. {
  2295. Return (0x1F)
  2296. }
  2297.  
  2298. Return (0x1D)
  2299. }
  2300.  
  2301. Method (_DGS, 0, NotSerialized)
  2302. {
  2303. If (And (NSTE, 0x04))
  2304. {
  2305. Return (One)
  2306. }
  2307.  
  2308. Return (Zero)
  2309. }
  2310.  
  2311. Method (_DSS, 1, NotSerialized)
  2312. {
  2313. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2314. {
  2315. Store (NSTE, CSTE)
  2316. }
  2317. }
  2318. }
  2319.  
  2320. Device (DD04)
  2321. {
  2322. Name (RTL1, Buffer (0x09)
  2323. {
  2324. /* 0000 */ 0x14, 0x18, 0x1D, 0x24, 0x2C, 0x35, 0x3F, 0x4C,
  2325. /* 0008 */ 0x64
  2326. })
  2327. Name (ICL1, Package (0x0B)
  2328. {
  2329. 0x64,
  2330. 0x64,
  2331. 0x04,
  2332. 0x10,
  2333. 0x1C,
  2334. 0x28,
  2335. 0x34,
  2336. 0x40,
  2337. 0x4C,
  2338. 0x58,
  2339. 0x64
  2340. })
  2341. Method (_ADR, 0, Serialized)
  2342. {
  2343. Return (And (0xFFFF, DID4))
  2344. }
  2345.  
  2346. Method (_DCS, 0, NotSerialized)
  2347. {
  2348. TRAP (One)
  2349. If (And (CSTE, 0x08))
  2350. {
  2351. Return (0x1F)
  2352. }
  2353.  
  2354. Return (0x1D)
  2355. }
  2356.  
  2357. Method (_DGS, 0, NotSerialized)
  2358. {
  2359. If (And (NSTE, 0x08))
  2360. {
  2361. Return (One)
  2362. }
  2363.  
  2364. Return (Zero)
  2365. }
  2366.  
  2367. Method (_DSS, 1, NotSerialized)
  2368. {
  2369. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2370. {
  2371. Store (NSTE, CSTE)
  2372. }
  2373. }
  2374.  
  2375. Method (_BCL, 0, NotSerialized)
  2376. {
  2377. Return (ICL1)
  2378. }
  2379.  
  2380. Method (_BCM, 1, NotSerialized)
  2381. {
  2382. Divide (Subtract (Arg0, 0x04), 0x0C, , Local0)
  2383. Name (T_0, Zero)
  2384. Store (ToInteger (PNID), T_0)
  2385. If (LEqual (T_0, One))
  2386. {
  2387. Store (DerefOf (Index (RTL1, Local0)), Local0)
  2388. }
  2389. Else
  2390. {
  2391. If (LEqual (T_0, 0x02))
  2392. {
  2393. Store (DerefOf (Index (RTL1, Local0)), Local0)
  2394. }
  2395. Else
  2396. {
  2397. If (LEqual (T_0, 0x04))
  2398. {
  2399. Store (DerefOf (Index (RTL1, Local0)), Local0)
  2400. }
  2401. Else
  2402. {
  2403. If (LEqual (T_0, 0x05))
  2404. {
  2405. Store (DerefOf (Index (RTL1, Local0)), Local0)
  2406. }
  2407. Else
  2408. {
  2409. Store (DerefOf (Index (RTL1, Local0)), Local0)
  2410. }
  2411. }
  2412. }
  2413. }
  2414.  
  2415. Store (Local0, BRTL)
  2416. Store (Local0, CBLV)
  2417. AINT (One, BRTL)
  2418. }
  2419. }
  2420.  
  2421. Device (DD05)
  2422. {
  2423. Method (_ADR, 0, Serialized)
  2424. {
  2425. Return (And (0xFFFF, DID5))
  2426. }
  2427.  
  2428. Method (_DCS, 0, NotSerialized)
  2429. {
  2430. TRAP (One)
  2431. If (And (CSTE, 0x10))
  2432. {
  2433. Return (0x1F)
  2434. }
  2435.  
  2436. Return (0x1D)
  2437. }
  2438.  
  2439. Method (_DGS, 0, NotSerialized)
  2440. {
  2441. If (And (NSTE, 0x10))
  2442. {
  2443. Return (One)
  2444. }
  2445.  
  2446. Return (Zero)
  2447. }
  2448.  
  2449. Method (_DSS, 1, NotSerialized)
  2450. {
  2451. If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  2452. {
  2453. Store (NSTE, CSTE)
  2454. }
  2455. }
  2456. }
  2457.  
  2458. Scope (^^PCI0)
  2459. {
  2460. OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
  2461. Field (MCHP, AnyAcc, NoLock, Preserve)
  2462. {
  2463. Offset (0x60),
  2464. TASM, 10,
  2465. Offset (0x62)
  2466. }
  2467. }
  2468.  
  2469. OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
  2470. Field (IGDP, AnyAcc, NoLock, Preserve)
  2471. {
  2472. Offset (0x12),
  2473. , 1,
  2474. GIVD, 1,
  2475. , 2,
  2476. GUMA, 3,
  2477. Offset (0x14),
  2478. , 4,
  2479. GMFN, 1,
  2480. Offset (0x18),
  2481. Offset (0xA4),
  2482. ASLE, 8,
  2483. Offset (0xA8),
  2484. GSSE, 1,
  2485. GSSB, 14,
  2486. GSES, 1,
  2487. Offset (0xB0),
  2488. Offset (0xB1),
  2489. CDVL, 5,
  2490. Offset (0xB2),
  2491. Offset (0xB5),
  2492. LBPC, 8,
  2493. Offset (0xBC),
  2494. ASLS, 32
  2495. }
  2496.  
  2497. OperationRegion (IGDM, SystemMemory, ASLB, 0x2000)
  2498. Field (IGDM, AnyAcc, NoLock, Preserve)
  2499. {
  2500. SIGN, 128,
  2501. SIZE, 32,
  2502. OVER, 32,
  2503. SVER, 256,
  2504. VVER, 128,
  2505. GVER, 128,
  2506. MBOX, 32,
  2507. Offset (0x100),
  2508. DRDY, 32,
  2509. CSTS, 32,
  2510. CEVT, 32,
  2511. Offset (0x120),
  2512. DIDL, 32,
  2513. DDL2, 32,
  2514. DDL3, 32,
  2515. DDL4, 32,
  2516. DDL5, 32,
  2517. DDL6, 32,
  2518. DDL7, 32,
  2519. DDL8, 32,
  2520. CPDL, 32,
  2521. CPL2, 32,
  2522. CPL3, 32,
  2523. CPL4, 32,
  2524. CPL5, 32,
  2525. CPL6, 32,
  2526. CPL7, 32,
  2527. CPL8, 32,
  2528. CADL, 32,
  2529. CAL2, 32,
  2530. CAL3, 32,
  2531. CAL4, 32,
  2532. CAL5, 32,
  2533. CAL6, 32,
  2534. CAL7, 32,
  2535. CAL8, 32,
  2536. NADL, 32,
  2537. NDL2, 32,
  2538. NDL3, 32,
  2539. NDL4, 32,
  2540. NDL5, 32,
  2541. NDL6, 32,
  2542. NDL7, 32,
  2543. NDL8, 32,
  2544. ASLP, 32,
  2545. TIDX, 32,
  2546. CHPD, 32,
  2547. CLID, 32,
  2548. CDCK, 32,
  2549. SXSW, 32,
  2550. EVTS, 32,
  2551. CNOT, 32,
  2552. NRDY, 32,
  2553. Offset (0x200),
  2554. SCIE, 1,
  2555. GEFC, 4,
  2556. GXFC, 3,
  2557. GESF, 8,
  2558. Offset (0x204),
  2559. PARM, 32,
  2560. DSLP, 32,
  2561. Offset (0x300),
  2562. ARDY, 32,
  2563. ASLC, 32,
  2564. TCHE, 32,
  2565. ALSI, 32,
  2566. BCLP, 32,
  2567. PFIT, 32,
  2568. CBLV, 32,
  2569. BCLM, 320,
  2570. CPFM, 32,
  2571. EPFM, 32,
  2572. Offset (0x400),
  2573. GVD1, 57344
  2574. }
  2575.  
  2576. Name (DBTB, Package (0x15)
  2577. {
  2578. Zero,
  2579. 0x07,
  2580. 0x38,
  2581. 0x01C0,
  2582. 0x0E00,
  2583. 0x3F,
  2584. 0x01C7,
  2585. 0x0E07,
  2586. 0x01F8,
  2587. 0x0E38,
  2588. 0x0FC0,
  2589. Zero,
  2590. Zero,
  2591. Zero,
  2592. Zero,
  2593. Zero,
  2594. 0x7000,
  2595. 0x7007,
  2596. 0x7038,
  2597. 0x71C0,
  2598. 0x7E00
  2599. })
  2600. Name (CDCT, Package (0x03)
  2601. {
  2602. Package (0x03)
  2603. {
  2604. 0xC8,
  2605. 0x0140,
  2606. 0x0190
  2607. },
  2608.  
  2609. Package (0x03)
  2610. {
  2611. 0xC8,
  2612. 0x014D,
  2613. 0x0190
  2614. },
  2615.  
  2616. Package (0x03)
  2617. {
  2618. 0xDE,
  2619. 0x014D,
  2620. 0x017D
  2621. }
  2622. })
  2623. Name (SUCC, One)
  2624. Name (NVLD, 0x02)
  2625. Name (CRIT, 0x04)
  2626. Name (NCRT, 0x06)
  2627. Method (GSCI, 0, Serialized)
  2628. {
  2629. Method (GBDA, 0, Serialized)
  2630. {
  2631. If (LEqual (GESF, Zero))
  2632. {
  2633. Store (0x0279, PARM)
  2634. Store (Zero, GESF)
  2635. Return (SUCC)
  2636. }
  2637.  
  2638. If (LEqual (GESF, One))
  2639. {
  2640. Store (0x0240, PARM)
  2641. Store (Zero, GESF)
  2642. Return (SUCC)
  2643. }
  2644.  
  2645. If (LEqual (GESF, 0x04))
  2646. {
  2647. And (PARM, 0xEFFF0000, PARM)
  2648. And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),
  2649. PARM)
  2650. Or (IBTT, PARM, PARM)
  2651. Store (Zero, GESF)
  2652. Return (SUCC)
  2653. }
  2654.  
  2655. If (LEqual (GESF, 0x05))
  2656. {
  2657. Store (IPSC, PARM)
  2658. Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
  2659. Add (PARM, 0x0100, PARM)
  2660. Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
  2661. Add (PARM, 0x00010000, PARM)
  2662. Or (PARM, ShiftLeft (IBLC, 0x12), PARM)
  2663. Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
  2664. Store (Zero, GESF)
  2665. Return (SUCC)
  2666. }
  2667.  
  2668. If (LEqual (GESF, 0x06))
  2669. {
  2670. Store (ITVF, PARM)
  2671. Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
  2672. Store (Zero, GESF)
  2673. Return (SUCC)
  2674. }
  2675.  
  2676. If (LEqual (GESF, 0x07))
  2677. {
  2678. Store (GIVD, PARM)
  2679. XOr (PARM, One, PARM)
  2680. Or (PARM, ShiftLeft (GMFN, One), PARM)
  2681. Or (PARM, 0x1000, PARM)
  2682. If (IDMM)
  2683. {
  2684. Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
  2685. }
  2686. Else
  2687. {
  2688. Or (PARM, ShiftLeft (IDMS, 0x0D), PARM)
  2689. }
  2690.  
  2691. Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), Subtract (
  2692. CDVL, One))), 0x15), PARM, PARM)
  2693. Store (One, GESF)
  2694. Return (SUCC)
  2695. }
  2696.  
  2697. If (LEqual (GESF, 0x0A))
  2698. {
  2699. Store (Zero, PARM)
  2700. If (ISSC)
  2701. {
  2702. Or (PARM, 0x03, PARM)
  2703. }
  2704.  
  2705. Store (Zero, GESF)
  2706. Return (SUCC)
  2707. }
  2708.  
  2709. Store (Zero, GESF)
  2710. Return (CRIT)
  2711. }
  2712.  
  2713. Method (SBCB, 0, Serialized)
  2714. {
  2715. If (LEqual (GESF, Zero))
  2716. {
  2717. Store (Zero, PARM)
  2718. Store (0xF7FD, PARM)
  2719. Store (Zero, GESF)
  2720. Return (SUCC)
  2721. }
  2722.  
  2723. If (LEqual (GESF, One))
  2724. {
  2725. Store (Zero, GESF)
  2726. Store (Zero, PARM)
  2727. Return (SUCC)
  2728. }
  2729.  
  2730. If (LEqual (GESF, 0x03))
  2731. {
  2732. Store (Zero, GESF)
  2733. Store (Zero, PARM)
  2734. Return (SUCC)
  2735. }
  2736.  
  2737. If (LEqual (GESF, 0x04))
  2738. {
  2739. Store (Zero, GESF)
  2740. Store (Zero, PARM)
  2741. Return (SUCC)
  2742. }
  2743.  
  2744. If (LEqual (GESF, 0x05))
  2745. {
  2746. Store (Zero, GESF)
  2747. Store (Zero, PARM)
  2748. Return (SUCC)
  2749. }
  2750.  
  2751. If (LEqual (GESF, 0x06))
  2752. {
  2753. Store (And (PARM, 0x0F), ITVF)
  2754. Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
  2755. Store (Zero, GESF)
  2756. Store (Zero, PARM)
  2757. Return (SUCC)
  2758. }
  2759.  
  2760. If (LEqual (GESF, 0x07))
  2761. {
  2762. Store (Zero, GESF)
  2763. Store (Zero, PARM)
  2764. Return (SUCC)
  2765. }
  2766.  
  2767. If (LEqual (GESF, 0x08))
  2768. {
  2769. Store (Zero, GESF)
  2770. Store (Zero, PARM)
  2771. Return (SUCC)
  2772. }
  2773.  
  2774. If (LEqual (GESF, 0x09))
  2775. {
  2776. And (PARM, 0xFF, IBTT)
  2777. Store (Zero, GESF)
  2778. Store (Zero, PARM)
  2779. Return (SUCC)
  2780. }
  2781.  
  2782. If (LEqual (GESF, 0x0A))
  2783. {
  2784. And (PARM, 0xFF, IPSC)
  2785. If (And (ShiftRight (PARM, 0x08), 0xFF))
  2786. {
  2787. And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
  2788. Decrement (IPAT)
  2789. }
  2790.  
  2791. And (ShiftRight (PARM, 0x14), 0x07, IBIA)
  2792. Store (Zero, GESF)
  2793. Store (Zero, PARM)
  2794. Return (SUCC)
  2795. }
  2796.  
  2797. If (LEqual (GESF, 0x0B))
  2798. {
  2799. And (ShiftRight (PARM, One), One, IF1E)
  2800. If (And (PARM, 0x0001E000))
  2801. {
  2802. And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
  2803. Store (Zero, IDMM)
  2804. }
  2805. Else
  2806. {
  2807. And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
  2808. Store (One, IDMM)
  2809. }
  2810.  
  2811. Store (Zero, GESF)
  2812. Store (Zero, PARM)
  2813. Return (SUCC)
  2814. }
  2815.  
  2816. If (LEqual (GESF, 0x10))
  2817. {
  2818. Store (Zero, GESF)
  2819. Store (Zero, PARM)
  2820. Return (SUCC)
  2821. }
  2822.  
  2823. If (LEqual (GESF, 0x11))
  2824. {
  2825. Store (ShiftLeft (LIDS, 0x08), PARM)
  2826. Add (PARM, 0x0100, PARM)
  2827. Store (Zero, GESF)
  2828. Return (SUCC)
  2829. }
  2830.  
  2831. If (LEqual (GESF, 0x12))
  2832. {
  2833. If (And (PARM, One))
  2834. {
  2835. If (LEqual (ShiftRight (PARM, One), One))
  2836. {
  2837. Store (One, ISSC)
  2838. }
  2839. Else
  2840. {
  2841. Store (Zero, GESF)
  2842. Return (CRIT)
  2843. }
  2844. }
  2845. Else
  2846. {
  2847. Store (Zero, ISSC)
  2848. }
  2849.  
  2850. Store (Zero, GESF)
  2851. Store (Zero, PARM)
  2852. Return (SUCC)
  2853. }
  2854.  
  2855. If (LEqual (GESF, 0x13))
  2856. {
  2857. Store (Zero, GESF)
  2858. Store (Zero, PARM)
  2859. Return (SUCC)
  2860. }
  2861.  
  2862. Store (Zero, GESF)
  2863. Return (SUCC)
  2864. }
  2865.  
  2866. If (LEqual (GEFC, 0x04))
  2867. {
  2868. Store (GBDA (), GXFC)
  2869. }
  2870.  
  2871. If (LEqual (GEFC, 0x06))
  2872. {
  2873. Store (SBCB (), GXFC)
  2874. }
  2875.  
  2876. Store (Zero, GEFC)
  2877. Store (One, SCIS)
  2878. Store (Zero, GSSE)
  2879. Store (Zero, SCIE)
  2880. Return (Zero)
  2881. }
  2882.  
  2883. Method (PDRD, 0, NotSerialized)
  2884. {
  2885. If (LNot (DRDY))
  2886. {
  2887. Sleep (ASLP)
  2888. }
  2889.  
  2890. Return (LNot (DRDY))
  2891. }
  2892.  
  2893. Method (PSTS, 0, NotSerialized)
  2894. {
  2895. If (LGreater (CSTS, 0x02))
  2896. {
  2897. Sleep (ASLP)
  2898. }
  2899.  
  2900. Return (LEqual (CSTS, 0x03))
  2901. }
  2902.  
  2903. Method (GNOT, 2, NotSerialized)
  2904. {
  2905. If (PDRD ())
  2906. {
  2907. Return (One)
  2908. }
  2909.  
  2910. If (PSTS ())
  2911. {
  2912. Return (One)
  2913. }
  2914.  
  2915. Store (Arg0, CEVT)
  2916. Store (0x03, CSTS)
  2917. If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
  2918. {
  2919. If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
  2920. {
  2921. Notify (PCI0, Arg1)
  2922. }
  2923. Else
  2924. {
  2925. Notify (GFX0, Arg1)
  2926. }
  2927. }
  2928.  
  2929. Notify (GFX0, 0x80)
  2930. If (LNot (PSTS ()))
  2931. {
  2932. Store (Zero, CEVT)
  2933. }
  2934.  
  2935. Return (Zero)
  2936. }
  2937.  
  2938. Method (GHDS, 1, NotSerialized)
  2939. {
  2940. Store (Arg0, TIDX)
  2941. Return (GNOT (One, Zero))
  2942. }
  2943.  
  2944. Method (GLID, 1, NotSerialized)
  2945. {
  2946. Store (Arg0, CLID)
  2947. Return (GNOT (0x02, Zero))
  2948. }
  2949.  
  2950. Method (GDCK, 1, NotSerialized)
  2951. {
  2952. Store (Arg0, CDCK)
  2953. Return (GNOT (0x04, 0x80))
  2954. }
  2955.  
  2956. Method (PARD, 0, NotSerialized)
  2957. {
  2958. If (LNot (ARDY))
  2959. {
  2960. Sleep (ASLP)
  2961. }
  2962.  
  2963. Return (LNot (ARDY))
  2964. }
  2965.  
  2966. Method (AINT, 2, NotSerialized)
  2967. {
  2968. If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
  2969. {
  2970. Return (One)
  2971. }
  2972.  
  2973. If (PARD ())
  2974. {
  2975. Return (One)
  2976. }
  2977.  
  2978. If (LEqual (Arg0, 0x02))
  2979. {
  2980. If (CPFM)
  2981. {
  2982. And (CPFM, 0x0F, Local0)
  2983. And (EPFM, 0x0F, Local1)
  2984. If (LEqual (Local0, One))
  2985. {
  2986. If (And (Local1, 0x06))
  2987. {
  2988. Store (0x06, PFIT)
  2989. }
  2990. Else
  2991. {
  2992. If (And (Local1, 0x08))
  2993. {
  2994. Store (0x08, PFIT)
  2995. }
  2996. Else
  2997. {
  2998. Store (One, PFIT)
  2999. }
  3000. }
  3001. }
  3002.  
  3003. If (LEqual (Local0, 0x06))
  3004. {
  3005. If (And (Local1, 0x08))
  3006. {
  3007. Store (0x08, PFIT)
  3008. }
  3009. Else
  3010. {
  3011. If (And (Local1, One))
  3012. {
  3013. Store (One, PFIT)
  3014. }
  3015. Else
  3016. {
  3017. Store (0x06, PFIT)
  3018. }
  3019. }
  3020. }
  3021.  
  3022. If (LEqual (Local0, 0x08))
  3023. {
  3024. If (And (Local1, One))
  3025. {
  3026. Store (One, PFIT)
  3027. }
  3028. Else
  3029. {
  3030. If (And (Local1, 0x06))
  3031. {
  3032. Store (0x06, PFIT)
  3033. }
  3034. Else
  3035. {
  3036. Store (0x08, PFIT)
  3037. }
  3038. }
  3039. }
  3040. }
  3041. Else
  3042. {
  3043. XOr (PFIT, 0x07, PFIT)
  3044. }
  3045.  
  3046. Or (PFIT, 0x80000000, PFIT)
  3047. Store (0x04, ASLC)
  3048. }
  3049. Else
  3050. {
  3051. If (LEqual (Arg0, One))
  3052. {
  3053. Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP)
  3054. Or (BCLP, 0x80000000, BCLP)
  3055. Store (0x02, ASLC)
  3056. }
  3057. Else
  3058. {
  3059. If (LEqual (Arg0, Zero))
  3060. {
  3061. Store (Arg1, ALSI)
  3062. Store (One, ASLC)
  3063. }
  3064. Else
  3065. {
  3066. Return (One)
  3067. }
  3068. }
  3069. }
  3070.  
  3071. Store (Zero, LBPC)
  3072. Return (Zero)
  3073. }
  3074. }
  3075.  
  3076. Scope (\)
  3077. {
  3078. Method (BRTW, 1, Serialized)
  3079. {
  3080. Store (Arg0, Local1)
  3081. If (LEqual (ALSE, 0x02))
  3082. {
  3083. Store (Divide (Multiply (ALAF, Arg0), 0x64, ), Local1)
  3084. If (LGreater (Local1, 0x64))
  3085. {
  3086. Store (0x64, Local1)
  3087. }
  3088. }
  3089.  
  3090. Store (Divide (Multiply (0xFF, Local1), 0x64, ), Local0)
  3091. Store (Local0, PRM0)
  3092. Store (Arg0, BRTL)
  3093. If (LEqual (TRAP (0x12), Zero))
  3094. {
  3095. P8XH (0x02, Local0)
  3096. }
  3097. }
  3098.  
  3099. Method (HKDS, 1, Serialized)
  3100. {
  3101. If (LEqual (Zero, And (0x03, DSEN)))
  3102. {
  3103. If (LEqual (TRAP (Arg0), Zero))
  3104. {
  3105. If (LNotEqual (CADL, PADL))
  3106. {
  3107. Store (CADL, PADL)
  3108. If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6)))
  3109. {
  3110. Notify (\_SB.PCI0, Zero)
  3111. }
  3112. Else
  3113. {
  3114. Notify (\_SB.PCI0.GFX0, Zero)
  3115. }
  3116.  
  3117. Sleep (0x02EE)
  3118. }
  3119.  
  3120. Notify (\_SB.PCI0.GFX0, 0x80)
  3121. }
  3122. }
  3123.  
  3124. If (LEqual (One, And (0x03, DSEN)))
  3125. {
  3126. If (LEqual (TRAP (Increment (Arg0)), Zero))
  3127. {
  3128. Notify (\_SB.PCI0.GFX0, 0x81)
  3129. }
  3130. }
  3131. }
  3132.  
  3133. Method (LSDS, 1, Serialized)
  3134. {
  3135. If (Arg0)
  3136. {
  3137. HKDS (0x0C)
  3138. }
  3139. Else
  3140. {
  3141. HKDS (0x0E)
  3142. }
  3143.  
  3144. If (LNotEqual (And (0x03, DSEN), One))
  3145. {
  3146. Sleep (0x32)
  3147. While (LEqual (And (0x03, DSEN), 0x02))
  3148. {
  3149. Sleep (0x32)
  3150. }
  3151. }
  3152. }
  3153.  
  3154. Method (BRTN, 1, Serialized)
  3155. {
  3156. If (LEqual (And (DID1, 0x0F00), 0x0400))
  3157. {
  3158. Notify (\_SB.PCI0.GFX0.DD01, Arg0)
  3159. }
  3160.  
  3161. If (LEqual (And (DID2, 0x0F00), 0x0400))
  3162. {
  3163. Notify (\_SB.PCI0.GFX0.DD02, Arg0)
  3164. }
  3165.  
  3166. If (LEqual (And (DID3, 0x0F00), 0x0400))
  3167. {
  3168. Notify (\_SB.PCI0.GFX0.DD03, Arg0)
  3169. }
  3170.  
  3171. If (LEqual (And (DID4, 0x0F00), 0x0400))
  3172. {
  3173. Notify (\_SB.PCI0.GFX0.DD04, Arg0)
  3174. }
  3175.  
  3176. If (LEqual (And (DID5, 0x0F00), 0x0400))
  3177. {
  3178. Notify (\_SB.PCI0.GFX0.DD05, Arg0)
  3179. }
  3180. }
  3181. }
  3182.  
  3183. Scope (\)
  3184. {
  3185. OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
  3186. Field (IO_T, ByteAcc, NoLock, Preserve)
  3187. {
  3188. Offset (0x08),
  3189. TRP0, 8
  3190. }
  3191.  
  3192. OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
  3193. Field (PMIO, ByteAcc, NoLock, Preserve)
  3194. {
  3195. Offset (0x01),
  3196. PMST, 8,
  3197. Offset (0x42),
  3198. , 1,
  3199. GPEC, 1,
  3200. Offset (0x64),
  3201. , 9,
  3202. SCIS, 1,
  3203. Offset (0x66)
  3204. }
  3205.  
  3206. OperationRegion (GPIO, SystemIO, 0x1180, 0x3C)
  3207. Field (GPIO, ByteAcc, NoLock, Preserve)
  3208. {
  3209. GU00, 8,
  3210. GU01, 8,
  3211. GU02, 8,
  3212. GU03, 8,
  3213. GIO0, 8,
  3214. GIO1, 8,
  3215. GIO2, 8,
  3216. GIO3, 8,
  3217. Offset (0x0C),
  3218. , 2,
  3219. GP02, 1,
  3220. Offset (0x0D),
  3221. , 4,
  3222. GP12, 1,
  3223. Offset (0x0E),
  3224. , 5,
  3225. GP21, 1,
  3226. Offset (0x0F),
  3227. , 3,
  3228. GP27, 1,
  3229. GP28, 1,
  3230. Offset (0x10),
  3231. Offset (0x18),
  3232. GB00, 8,
  3233. GB01, 8,
  3234. GB02, 8,
  3235. GB03, 8,
  3236. Offset (0x2C),
  3237. GIV0, 8,
  3238. GIV1, 8,
  3239. GIV2, 8,
  3240. GIV3, 8,
  3241. GU04, 8,
  3242. GU05, 8,
  3243. GU06, 8,
  3244. GU07, 8,
  3245. GIO4, 8,
  3246. GIO5, 8,
  3247. GIO6, 8,
  3248. GIO7, 8,
  3249. , 5,
  3250. GP37, 1,
  3251. Offset (0x39),
  3252. GL05, 8,
  3253. GL06, 8,
  3254. GL07, 8
  3255. }
  3256.  
  3257. OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
  3258. Field (RCRB, DWordAcc, Lock, Preserve)
  3259. {
  3260. Offset (0x1000),
  3261. Offset (0x3000),
  3262. Offset (0x3404),
  3263. HPAS, 2,
  3264. , 5,
  3265. HPAE, 1,
  3266. Offset (0x3418),
  3267. , 1,
  3268. PATD, 1,
  3269. SATD, 1,
  3270. SMBD, 1,
  3271. HDAD, 1,
  3272. Offset (0x341A),
  3273. RP1D, 1,
  3274. RP2D, 1,
  3275. RP3D, 1,
  3276. RP4D, 1,
  3277. RP5D, 1,
  3278. RP6D, 1
  3279. }
  3280.  
  3281. OperationRegion (XCMS, SystemIO, 0x72, 0x02)
  3282. Field (XCMS, ByteAcc, NoLock, Preserve)
  3283. {
  3284. XIND, 8,
  3285. XDAT, 8
  3286. }
  3287.  
  3288. IndexField (XIND, XDAT, ByteAcc, NoLock, Preserve)
  3289. {
  3290. Offset (0x6C),
  3291. CM6C, 8,
  3292. CM6D, 8,
  3293. CM6E, 8,
  3294. CM6F, 8,
  3295. Offset (0x72),
  3296. CM72, 8,
  3297. Offset (0x76),
  3298. DETC, 8
  3299. }
  3300.  
  3301. Name (BFER, Zero)
  3302. Mutex (RWCM, 0x00)
  3303. Method (DBGC, 3, NotSerialized)
  3304. {
  3305. Acquire (RWCM, 0xFFFF)
  3306. If (LEqual (Arg2, 0x02))
  3307. {
  3308. Store (CM6D, BFER)
  3309. If (LNotEqual (Arg0, BFER))
  3310. {
  3311. Store (BFER, CM6E)
  3312. Sleep (One)
  3313. Store (Arg0, CM6D)
  3314. }
  3315.  
  3316. Sleep (One)
  3317. Store (Arg1, CM6F)
  3318. }
  3319.  
  3320. Release (RWCM)
  3321. }
  3322.  
  3323. Name (_S0, Package (0x03)
  3324. {
  3325. Zero,
  3326. Zero,
  3327. Zero
  3328. })
  3329. Name (_S3, Package (0x03)
  3330. {
  3331. 0x05,
  3332. 0x05,
  3333. Zero
  3334. })
  3335. Name (_S4, Package (0x03)
  3336. {
  3337. 0x06,
  3338. 0x06,
  3339. Zero
  3340. })
  3341. Name (_S5, Package (0x03)
  3342. {
  3343. 0x07,
  3344. 0x07,
  3345. Zero
  3346. })
  3347. Method (GETP, 1, Serialized)
  3348. {
  3349. If (LEqual (And (Arg0, 0x09), Zero))
  3350. {
  3351. Return (0xFFFFFFFF)
  3352. }
  3353.  
  3354. If (LEqual (And (Arg0, 0x09), 0x08))
  3355. {
  3356. Return (0x0384)
  3357. }
  3358.  
  3359. ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
  3360. ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
  3361. Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))
  3362. ))
  3363. }
  3364.  
  3365. Method (GDMA, 5, Serialized)
  3366. {
  3367. If (Arg0)
  3368. {
  3369. If (LAnd (Arg1, Arg4))
  3370. {
  3371. Return (0x14)
  3372. }
  3373.  
  3374. If (LAnd (Arg2, Arg4))
  3375. {
  3376. Return (Multiply (Subtract (0x04, Arg3), 0x0F))
  3377. }
  3378.  
  3379. Return (Multiply (Subtract (0x04, Arg3), 0x1E))
  3380. }
  3381.  
  3382. Return (0xFFFFFFFF)
  3383. }
  3384.  
  3385. Method (GETT, 1, Serialized)
  3386. {
  3387. Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02
  3388. ), 0x03), And (Arg0, 0x03)))))
  3389. }
  3390.  
  3391. Method (GETF, 3, Serialized)
  3392. {
  3393. Name (TMPF, Zero)
  3394. If (Arg0)
  3395. {
  3396. Or (TMPF, One, TMPF)
  3397. }
  3398.  
  3399. If (And (Arg2, 0x02))
  3400. {
  3401. Or (TMPF, 0x02, TMPF)
  3402. }
  3403.  
  3404. If (Arg1)
  3405. {
  3406. Or (TMPF, 0x04, TMPF)
  3407. }
  3408.  
  3409. If (And (Arg2, 0x20))
  3410. {
  3411. Or (TMPF, 0x08, TMPF)
  3412. }
  3413.  
  3414. If (And (Arg2, 0x4000))
  3415. {
  3416. Or (TMPF, 0x10, TMPF)
  3417. }
  3418.  
  3419. Return (TMPF)
  3420. }
  3421.  
  3422. Method (SETP, 3, Serialized)
  3423. {
  3424. If (LGreater (Arg0, 0xF0))
  3425. {
  3426. Return (0x08)
  3427. }
  3428. Else
  3429. {
  3430. If (And (Arg1, 0x02))
  3431. {
  3432. If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  3433. {
  3434. Return (0x2301)
  3435. }
  3436.  
  3437. If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  3438. {
  3439. Return (0x2101)
  3440. }
  3441. }
  3442.  
  3443. Return (0x1001)
  3444. }
  3445. }
  3446.  
  3447. Method (SDMA, 1, Serialized)
  3448. {
  3449. If (LLessEqual (Arg0, 0x14))
  3450. {
  3451. Return (One)
  3452. }
  3453.  
  3454. If (LLessEqual (Arg0, 0x1E))
  3455. {
  3456. Return (0x02)
  3457. }
  3458.  
  3459. If (LLessEqual (Arg0, 0x2D))
  3460. {
  3461. Return (One)
  3462. }
  3463.  
  3464. If (LLessEqual (Arg0, 0x3C))
  3465. {
  3466. Return (0x02)
  3467. }
  3468.  
  3469. If (LLessEqual (Arg0, 0x5A))
  3470. {
  3471. Return (One)
  3472. }
  3473.  
  3474. Return (Zero)
  3475. }
  3476.  
  3477. Method (SETT, 3, Serialized)
  3478. {
  3479. If (And (Arg1, 0x02))
  3480. {
  3481. If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  3482. {
  3483. Return (0x0B)
  3484. }
  3485.  
  3486. If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  3487. {
  3488. Return (0x09)
  3489. }
  3490. }
  3491.  
  3492. Return (0x04)
  3493. }
  3494. }
  3495.  
  3496. Device (HDEF)
  3497. {
  3498. Method (_ADR, 0, Serialized)
  3499. {
  3500. DBGC (0x64, Zero, BCEN)
  3501. Return (0x001B0000)
  3502. }
  3503.  
  3504. OperationRegion (HDAR, PCI_Config, 0x4C, 0x10)
  3505. Field (HDAR, WordAcc, NoLock, Preserve)
  3506. {
  3507. DCKA, 1,
  3508. Offset (0x01),
  3509. DCKM, 1,
  3510. , 6,
  3511. DCKS, 1,
  3512. Offset (0x08),
  3513. , 15,
  3514. PMES, 1
  3515. }
  3516. }
  3517.  
  3518. Device (RP01)
  3519. {
  3520. Method (_ADR, 0, Serialized)
  3521. {
  3522. DBGC (0x65, Zero, BCEN)
  3523. Return (0x001C0000)
  3524. }
  3525.  
  3526. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  3527. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  3528. {
  3529. Offset (0x12),
  3530. , 13,
  3531. LASX, 1,
  3532. Offset (0x1A),
  3533. ABPX, 1,
  3534. , 2,
  3535. PDCX, 1,
  3536. , 2,
  3537. PDSX, 1,
  3538. Offset (0x1B),
  3539. LSCX, 1,
  3540. Offset (0x20),
  3541. Offset (0x22),
  3542. PSPX, 1,
  3543. Offset (0x9C),
  3544. , 30,
  3545. HPSX, 1,
  3546. PMSX, 1
  3547. }
  3548.  
  3549. Device (PXSX)
  3550. {
  3551. Name (_ADR, Zero)
  3552. Name (_PRW, Package (0x02)
  3553. {
  3554. 0x09,
  3555. 0x03
  3556. })
  3557. }
  3558.  
  3559. Method (_PRT, 0, NotSerialized)
  3560. {
  3561. If (GPIC)
  3562. {
  3563. Return (Package (0x04)
  3564. {
  3565. Package (0x04)
  3566. {
  3567. 0xFFFF,
  3568. Zero,
  3569. Zero,
  3570. 0x10
  3571. },
  3572.  
  3573. Package (0x04)
  3574. {
  3575. 0xFFFF,
  3576. One,
  3577. Zero,
  3578. 0x11
  3579. },
  3580.  
  3581. Package (0x04)
  3582. {
  3583. 0xFFFF,
  3584. 0x02,
  3585. Zero,
  3586. 0x12
  3587. },
  3588.  
  3589. Package (0x04)
  3590. {
  3591. 0xFFFF,
  3592. 0x03,
  3593. Zero,
  3594. 0x13
  3595. }
  3596. })
  3597. }
  3598. Else
  3599. {
  3600. Return (Package (0x04)
  3601. {
  3602. Package (0x04)
  3603. {
  3604. 0xFFFF,
  3605. Zero,
  3606. ^^LPCB.LNKA,
  3607. Zero
  3608. },
  3609.  
  3610. Package (0x04)
  3611. {
  3612. 0xFFFF,
  3613. One,
  3614. ^^LPCB.LNKB,
  3615. Zero
  3616. },
  3617.  
  3618. Package (0x04)
  3619. {
  3620. 0xFFFF,
  3621. 0x02,
  3622. ^^LPCB.LNKC,
  3623. Zero
  3624. },
  3625.  
  3626. Package (0x04)
  3627. {
  3628. 0xFFFF,
  3629. 0x03,
  3630. ^^LPCB.LNKD,
  3631. Zero
  3632. }
  3633. })
  3634. }
  3635. }
  3636. }
  3637.  
  3638. Device (RP02)
  3639. {
  3640. Method (_ADR, 0, Serialized)
  3641. {
  3642. DBGC (0x65, One, BCEN)
  3643. Return (0x001C0001)
  3644. }
  3645.  
  3646. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  3647. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  3648. {
  3649. Offset (0x12),
  3650. , 13,
  3651. LASX, 1,
  3652. Offset (0x1A),
  3653. ABPX, 1,
  3654. , 2,
  3655. PDCX, 1,
  3656. , 2,
  3657. PDSX, 1,
  3658. Offset (0x1B),
  3659. LSCX, 1,
  3660. Offset (0x20),
  3661. Offset (0x22),
  3662. PSPX, 1,
  3663. Offset (0x9C),
  3664. , 30,
  3665. HPSX, 1,
  3666. PMSX, 1
  3667. }
  3668.  
  3669. Device (PXSX)
  3670. {
  3671. Name (_ADR, Zero)
  3672. Name (_PRW, Package (0x02)
  3673. {
  3674. 0x09,
  3675. 0x03
  3676. })
  3677. }
  3678.  
  3679. Method (_HPP, 0, NotSerialized)
  3680. {
  3681. Return (Package (0x04)
  3682. {
  3683. 0x10,
  3684. 0x40,
  3685. One,
  3686. Zero
  3687. })
  3688. }
  3689.  
  3690. Name (PXSX._RMV, One)
  3691. Method (_PRT, 0, NotSerialized)
  3692. {
  3693. If (GPIC)
  3694. {
  3695. Return (Package (0x04)
  3696. {
  3697. Package (0x04)
  3698. {
  3699. 0xFFFF,
  3700. Zero,
  3701. Zero,
  3702. 0x11
  3703. },
  3704.  
  3705. Package (0x04)
  3706. {
  3707. 0xFFFF,
  3708. One,
  3709. Zero,
  3710. 0x12
  3711. },
  3712.  
  3713. Package (0x04)
  3714. {
  3715. 0xFFFF,
  3716. 0x02,
  3717. Zero,
  3718. 0x13
  3719. },
  3720.  
  3721. Package (0x04)
  3722. {
  3723. 0xFFFF,
  3724. 0x03,
  3725. Zero,
  3726. 0x10
  3727. }
  3728. })
  3729. }
  3730. Else
  3731. {
  3732. Return (Package (0x04)
  3733. {
  3734. Package (0x04)
  3735. {
  3736. 0xFFFF,
  3737. Zero,
  3738. ^^LPCB.LNKB,
  3739. Zero
  3740. },
  3741.  
  3742. Package (0x04)
  3743. {
  3744. 0xFFFF,
  3745. One,
  3746. ^^LPCB.LNKC,
  3747. Zero
  3748. },
  3749.  
  3750. Package (0x04)
  3751. {
  3752. 0xFFFF,
  3753. 0x02,
  3754. ^^LPCB.LNKD,
  3755. Zero
  3756. },
  3757.  
  3758. Package (0x04)
  3759. {
  3760. 0xFFFF,
  3761. 0x03,
  3762. ^^LPCB.LNKA,
  3763. Zero
  3764. }
  3765. })
  3766. }
  3767. }
  3768. }
  3769.  
  3770. Device (RP03)
  3771. {
  3772. Method (_ADR, 0, Serialized)
  3773. {
  3774. DBGC (0x65, 0x02, BCEN)
  3775. Return (0x001C0002)
  3776. }
  3777.  
  3778. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  3779. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  3780. {
  3781. Offset (0x12),
  3782. , 13,
  3783. LASX, 1,
  3784. Offset (0x1A),
  3785. ABPX, 1,
  3786. , 2,
  3787. PDCX, 1,
  3788. , 2,
  3789. PDSX, 1,
  3790. Offset (0x1B),
  3791. LSCX, 1,
  3792. Offset (0x20),
  3793. Offset (0x22),
  3794. PSPX, 1,
  3795. Offset (0x9C),
  3796. , 30,
  3797. HPSX, 1,
  3798. PMSX, 1
  3799. }
  3800.  
  3801. Device (PXSX)
  3802. {
  3803. Name (_ADR, Zero)
  3804. Name (_PRW, Package (0x02)
  3805. {
  3806. 0x09,
  3807. 0x03
  3808. })
  3809. }
  3810.  
  3811. Method (_PRT, 0, NotSerialized)
  3812. {
  3813. If (GPIC)
  3814. {
  3815. Return (Package (0x04)
  3816. {
  3817. Package (0x04)
  3818. {
  3819. 0xFFFF,
  3820. Zero,
  3821. Zero,
  3822. 0x12
  3823. },
  3824.  
  3825. Package (0x04)
  3826. {
  3827. 0xFFFF,
  3828. One,
  3829. Zero,
  3830. 0x13
  3831. },
  3832.  
  3833. Package (0x04)
  3834. {
  3835. 0xFFFF,
  3836. 0x02,
  3837. Zero,
  3838. 0x10
  3839. },
  3840.  
  3841. Package (0x04)
  3842. {
  3843. 0xFFFF,
  3844. 0x03,
  3845. Zero,
  3846. 0x11
  3847. }
  3848. })
  3849. }
  3850. Else
  3851. {
  3852. Return (Package (0x04)
  3853. {
  3854. Package (0x04)
  3855. {
  3856. 0xFFFF,
  3857. Zero,
  3858. ^^LPCB.LNKC,
  3859. Zero
  3860. },
  3861.  
  3862. Package (0x04)
  3863. {
  3864. 0xFFFF,
  3865. One,
  3866. ^^LPCB.LNKD,
  3867. Zero
  3868. },
  3869.  
  3870. Package (0x04)
  3871. {
  3872. 0xFFFF,
  3873. 0x02,
  3874. ^^LPCB.LNKA,
  3875. Zero
  3876. },
  3877.  
  3878. Package (0x04)
  3879. {
  3880. 0xFFFF,
  3881. 0x03,
  3882. ^^LPCB.LNKB,
  3883. Zero
  3884. }
  3885. })
  3886. }
  3887. }
  3888. }
  3889.  
  3890. Device (RP05)
  3891. {
  3892. Method (_ADR, 0, Serialized)
  3893. {
  3894. DBGC (0x65, 0x04, BCEN)
  3895. Return (0x001C0004)
  3896. }
  3897.  
  3898. OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
  3899. Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
  3900. {
  3901. Offset (0x12),
  3902. , 13,
  3903. LASX, 1,
  3904. Offset (0x1A),
  3905. ABPX, 1,
  3906. , 2,
  3907. PDCX, 1,
  3908. , 2,
  3909. PDSX, 1,
  3910. Offset (0x1B),
  3911. LSCX, 1,
  3912. Offset (0x20),
  3913. Offset (0x22),
  3914. PSPX, 1,
  3915. Offset (0x9C),
  3916. , 30,
  3917. HPSX, 1,
  3918. PMSX, 1
  3919. }
  3920.  
  3921. Device (PXSX)
  3922. {
  3923. Name (_ADR, Zero)
  3924. Name (_PRW, Package (0x02)
  3925. {
  3926. 0x09,
  3927. 0x03
  3928. })
  3929. }
  3930.  
  3931. Method (_PRT, 0, NotSerialized)
  3932. {
  3933. If (GPIC)
  3934. {
  3935. Return (Package (0x04)
  3936. {
  3937. Package (0x04)
  3938. {
  3939. 0xFFFF,
  3940. Zero,
  3941. Zero,
  3942. 0x10
  3943. },
  3944.  
  3945. Package (0x04)
  3946. {
  3947. 0xFFFF,
  3948. One,
  3949. Zero,
  3950. 0x11
  3951. },
  3952.  
  3953. Package (0x04)
  3954. {
  3955. 0xFFFF,
  3956. 0x02,
  3957. Zero,
  3958. 0x12
  3959. },
  3960.  
  3961. Package (0x04)
  3962. {
  3963. 0xFFFF,
  3964. 0x03,
  3965. Zero,
  3966. 0x13
  3967. }
  3968. })
  3969. }
  3970. Else
  3971. {
  3972. Return (Package (0x04)
  3973. {
  3974. Package (0x04)
  3975. {
  3976. 0xFFFF,
  3977. Zero,
  3978. ^^LPCB.LNKA,
  3979. Zero
  3980. },
  3981.  
  3982. Package (0x04)
  3983. {
  3984. 0xFFFF,
  3985. One,
  3986. ^^LPCB.LNKB,
  3987. Zero
  3988. },
  3989.  
  3990. Package (0x04)
  3991. {
  3992. 0xFFFF,
  3993. 0x02,
  3994. ^^LPCB.LNKC,
  3995. Zero
  3996. },
  3997.  
  3998. Package (0x04)
  3999. {
  4000. 0xFFFF,
  4001. 0x03,
  4002. ^^LPCB.LNKD,
  4003. Zero
  4004. }
  4005. })
  4006. }
  4007. }
  4008. }
  4009.  
  4010. Device (USB1)
  4011. {
  4012. Method (_ADR, 0, Serialized)
  4013. {
  4014. DBGC (0x66, One, BCEN)
  4015. Return (0x001D0000)
  4016. }
  4017.  
  4018. OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
  4019. Field (U1CS, DWordAcc, NoLock, Preserve)
  4020. {
  4021. U1EN, 2
  4022. }
  4023.  
  4024. Name (_PRW, Package (0x02)
  4025. {
  4026. 0x03,
  4027. 0x03
  4028. })
  4029. Method (_PSW, 1, NotSerialized)
  4030. {
  4031. If (Arg0)
  4032. {
  4033. Store (0x03, U1EN)
  4034. }
  4035. Else
  4036. {
  4037. Store (Zero, U1EN)
  4038. }
  4039. }
  4040.  
  4041. Method (_S3D, 0, NotSerialized)
  4042. {
  4043. Return (0x02)
  4044. }
  4045.  
  4046. Method (_S4D, 0, NotSerialized)
  4047. {
  4048. Return (0x02)
  4049. }
  4050. }
  4051.  
  4052. Device (USB2)
  4053. {
  4054. Method (_ADR, 0, Serialized)
  4055. {
  4056. DBGC (0x66, 0x02, BCEN)
  4057. Return (0x001D0001)
  4058. }
  4059.  
  4060. OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  4061. Field (U2CS, DWordAcc, NoLock, Preserve)
  4062. {
  4063. U2EN, 2
  4064. }
  4065.  
  4066. Name (_PRW, Package (0x02)
  4067. {
  4068. 0x04,
  4069. 0x03
  4070. })
  4071. Method (_PSW, 1, NotSerialized)
  4072. {
  4073. If (Arg0)
  4074. {
  4075. Store (0x03, U2EN)
  4076. }
  4077. Else
  4078. {
  4079. Store (Zero, U2EN)
  4080. }
  4081. }
  4082.  
  4083. Method (_S3D, 0, NotSerialized)
  4084. {
  4085. Return (0x02)
  4086. }
  4087.  
  4088. Method (_S4D, 0, NotSerialized)
  4089. {
  4090. Return (0x02)
  4091. }
  4092. }
  4093.  
  4094. Device (USB3)
  4095. {
  4096. Method (_ADR, 0, Serialized)
  4097. {
  4098. DBGC (0x66, 0x03, BCEN)
  4099. Return (0x001D0002)
  4100. }
  4101.  
  4102. OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
  4103. Field (U2CS, DWordAcc, NoLock, Preserve)
  4104. {
  4105. U3EN, 2
  4106. }
  4107.  
  4108. Name (_PRW, Package (0x02)
  4109. {
  4110. 0x0C,
  4111. 0x03
  4112. })
  4113. Method (_PSW, 1, NotSerialized)
  4114. {
  4115. If (Arg0)
  4116. {
  4117. Store (0x03, U3EN)
  4118. }
  4119. Else
  4120. {
  4121. Store (Zero, U3EN)
  4122. }
  4123. }
  4124.  
  4125. Method (_S3D, 0, NotSerialized)
  4126. {
  4127. Return (0x02)
  4128. }
  4129.  
  4130. Method (_S4D, 0, NotSerialized)
  4131. {
  4132. Return (0x02)
  4133. }
  4134. }
  4135.  
  4136. Device (USB4)
  4137. {
  4138. Method (_ADR, 0, Serialized)
  4139. {
  4140. DBGC (0x66, 0x04, BCEN)
  4141. Return (0x001A0000)
  4142. }
  4143.  
  4144. OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
  4145. Field (U4CS, DWordAcc, NoLock, Preserve)
  4146. {
  4147. U4EN, 2
  4148. }
  4149.  
  4150. Name (_PRW, Package (0x02)
  4151. {
  4152. 0x0E,
  4153. 0x03
  4154. })
  4155. Method (_PSW, 1, NotSerialized)
  4156. {
  4157. If (Arg0)
  4158. {
  4159. Store (0x03, U4EN)
  4160. }
  4161. Else
  4162. {
  4163. Store (Zero, U4EN)
  4164. }
  4165. }
  4166.  
  4167. Method (_S3D, 0, NotSerialized)
  4168. {
  4169. Return (0x02)
  4170. }
  4171.  
  4172. Method (_S4D, 0, NotSerialized)
  4173. {
  4174. Return (0x02)
  4175. }
  4176. }
  4177.  
  4178. Device (USB5)
  4179. {
  4180. Method (_ADR, 0, Serialized)
  4181. {
  4182. DBGC (0x66, 0x05, BCEN)
  4183. Return (0x001A0001)
  4184. }
  4185.  
  4186. OperationRegion (U5CS, PCI_Config, 0xC4, 0x04)
  4187. Field (U5CS, DWordAcc, NoLock, Preserve)
  4188. {
  4189. U5EN, 2
  4190. }
  4191.  
  4192. Name (_PRW, Package (0x02)
  4193. {
  4194. 0x05,
  4195. 0x03
  4196. })
  4197. Method (_PSW, 1, NotSerialized)
  4198. {
  4199. If (Arg0)
  4200. {
  4201. Store (0x03, U5EN)
  4202. }
  4203. Else
  4204. {
  4205. Store (Zero, U5EN)
  4206. }
  4207. }
  4208.  
  4209. Method (_S3D, 0, NotSerialized)
  4210. {
  4211. Return (0x02)
  4212. }
  4213.  
  4214. Method (_S4D, 0, NotSerialized)
  4215. {
  4216. Return (0x02)
  4217. }
  4218. }
  4219.  
  4220. Device (EHC1)
  4221. {
  4222. Method (_ADR, 0, Serialized)
  4223. {
  4224. DBGC (0x67, One, BCEN)
  4225. Return (0x001D0007)
  4226. }
  4227.  
  4228. OperationRegion (U7CS, PCI_Config, 0x54, 0x04)
  4229. Field (U7CS, DWordAcc, NoLock, Preserve)
  4230. {
  4231. , 15,
  4232. PMES, 1
  4233. }
  4234.  
  4235. Device (HUB7)
  4236. {
  4237. Name (_ADR, Zero)
  4238. Device (PRT1)
  4239. {
  4240. Name (_ADR, One)
  4241. }
  4242.  
  4243. Device (PRT2)
  4244. {
  4245. Name (_ADR, 0x02)
  4246. }
  4247.  
  4248. Device (PRT3)
  4249. {
  4250. Name (_ADR, 0x03)
  4251. }
  4252.  
  4253. Device (PRT4)
  4254. {
  4255. Name (_ADR, 0x04)
  4256. }
  4257.  
  4258. Device (PRT5)
  4259. {
  4260. Name (_ADR, 0x05)
  4261. }
  4262.  
  4263. Device (PRT6)
  4264. {
  4265. Name (_ADR, 0x06)
  4266. }
  4267. }
  4268.  
  4269. Name (_PRW, Package (0x02)
  4270. {
  4271. 0x0D,
  4272. 0x03
  4273. })
  4274. Method (_S3D, 0, NotSerialized)
  4275. {
  4276. Return (0x02)
  4277. }
  4278.  
  4279. Method (_S4D, 0, NotSerialized)
  4280. {
  4281. Return (0x02)
  4282. }
  4283. }
  4284.  
  4285. Device (EHC2)
  4286. {
  4287. Method (_ADR, 0, Serialized)
  4288. {
  4289. DBGC (0x67, 0x02, BCEN)
  4290. Return (0x001A0007)
  4291. }
  4292.  
  4293. OperationRegion (UFCS, PCI_Config, 0x54, 0x04)
  4294. Field (UFCS, DWordAcc, NoLock, Preserve)
  4295. {
  4296. , 15,
  4297. PMES, 1
  4298. }
  4299.  
  4300. Device (HUB7)
  4301. {
  4302. Name (_ADR, Zero)
  4303. Device (PRT1)
  4304. {
  4305. Name (_ADR, One)
  4306. }
  4307.  
  4308. Device (PRT2)
  4309. {
  4310. Name (_ADR, 0x02)
  4311. }
  4312.  
  4313. Device (PRT3)
  4314. {
  4315. Name (_ADR, 0x03)
  4316. }
  4317.  
  4318. Device (PRT4)
  4319. {
  4320. Name (_ADR, 0x04)
  4321. }
  4322. }
  4323.  
  4324. Name (_PRW, Package (0x02)
  4325. {
  4326. 0x0D,
  4327. 0x03
  4328. })
  4329. Method (_S3D, 0, NotSerialized)
  4330. {
  4331. Return (0x02)
  4332. }
  4333.  
  4334. Method (_S4D, 0, NotSerialized)
  4335. {
  4336. Return (0x02)
  4337. }
  4338. }
  4339.  
  4340. Device (PCIB)
  4341. {
  4342. Method (_ADR, 0, Serialized)
  4343. {
  4344. DBGC (0x68, Zero, BCEN)
  4345. Return (0x001E0000)
  4346. }
  4347.  
  4348. Device (CARD)
  4349. {
  4350. Name (_ADR, 0x00030000)
  4351. Method (_STA, 0, NotSerialized)
  4352. {
  4353. Return (0x0B)
  4354. }
  4355. }
  4356.  
  4357. Method (_PRT, 0, NotSerialized)
  4358. {
  4359. If (Zero)
  4360. {
  4361. If (GPIC)
  4362. {
  4363. Return (Package (0x10)
  4364. {
  4365. Package (0x04)
  4366. {
  4367. 0xFFFF,
  4368. Zero,
  4369. Zero,
  4370. 0x15
  4371. },
  4372.  
  4373. Package (0x04)
  4374. {
  4375. 0xFFFF,
  4376. One,
  4377. Zero,
  4378. 0x16
  4379. },
  4380.  
  4381. Package (0x04)
  4382. {
  4383. 0xFFFF,
  4384. 0x02,
  4385. Zero,
  4386. 0x17
  4387. },
  4388.  
  4389. Package (0x04)
  4390. {
  4391. 0xFFFF,
  4392. 0x03,
  4393. Zero,
  4394. 0x14
  4395. },
  4396.  
  4397. Package (0x04)
  4398. {
  4399. 0x0001FFFF,
  4400. Zero,
  4401. Zero,
  4402. 0x16
  4403. },
  4404.  
  4405. Package (0x04)
  4406. {
  4407. 0x0001FFFF,
  4408. One,
  4409. Zero,
  4410. 0x15
  4411. },
  4412.  
  4413. Package (0x04)
  4414. {
  4415. 0x0001FFFF,
  4416. 0x02,
  4417. Zero,
  4418. 0x14
  4419. },
  4420.  
  4421. Package (0x04)
  4422. {
  4423. 0x0001FFFF,
  4424. 0x03,
  4425. Zero,
  4426. 0x17
  4427. },
  4428.  
  4429. Package (0x04)
  4430. {
  4431. 0x0002FFFF,
  4432. Zero,
  4433. Zero,
  4434. 0x12
  4435. },
  4436.  
  4437. Package (0x04)
  4438. {
  4439. 0x0002FFFF,
  4440. One,
  4441. Zero,
  4442. 0x13
  4443. },
  4444.  
  4445. Package (0x04)
  4446. {
  4447. 0x0002FFFF,
  4448. 0x02,
  4449. Zero,
  4450. 0x11
  4451. },
  4452.  
  4453. Package (0x04)
  4454. {
  4455. 0x0002FFFF,
  4456. 0x03,
  4457. Zero,
  4458. 0x10
  4459. },
  4460.  
  4461. Package (0x04)
  4462. {
  4463. 0x0005FFFF,
  4464. Zero,
  4465. Zero,
  4466. 0x11
  4467. },
  4468.  
  4469. Package (0x04)
  4470. {
  4471. 0x0005FFFF,
  4472. One,
  4473. Zero,
  4474. 0x14
  4475. },
  4476.  
  4477. Package (0x04)
  4478. {
  4479. 0x0005FFFF,
  4480. 0x02,
  4481. Zero,
  4482. 0x16
  4483. },
  4484.  
  4485. Package (0x04)
  4486. {
  4487. 0x0005FFFF,
  4488. 0x03,
  4489. Zero,
  4490. 0x15
  4491. }
  4492. })
  4493. }
  4494. Else
  4495. {
  4496. Return (Package (0x10)
  4497. {
  4498. Package (0x04)
  4499. {
  4500. 0xFFFF,
  4501. Zero,
  4502. ^^LPCB.LNKF,
  4503. Zero
  4504. },
  4505.  
  4506. Package (0x04)
  4507. {
  4508. 0xFFFF,
  4509. One,
  4510. ^^LPCB.LNKG,
  4511. Zero
  4512. },
  4513.  
  4514. Package (0x04)
  4515. {
  4516. 0xFFFF,
  4517. 0x02,
  4518. ^^LPCB.LNKH,
  4519. Zero
  4520. },
  4521.  
  4522. Package (0x04)
  4523. {
  4524. 0xFFFF,
  4525. 0x03,
  4526. ^^LPCB.LNKE,
  4527. Zero
  4528. },
  4529.  
  4530. Package (0x04)
  4531. {
  4532. 0x0001FFFF,
  4533. Zero,
  4534. ^^LPCB.LNKG,
  4535. Zero
  4536. },
  4537.  
  4538. Package (0x04)
  4539. {
  4540. 0x0001FFFF,
  4541. One,
  4542. ^^LPCB.LNKF,
  4543. Zero
  4544. },
  4545.  
  4546. Package (0x04)
  4547. {
  4548. 0x0001FFFF,
  4549. 0x02,
  4550. ^^LPCB.LNKE,
  4551. Zero
  4552. },
  4553.  
  4554. Package (0x04)
  4555. {
  4556. 0x0001FFFF,
  4557. 0x03,
  4558. ^^LPCB.LNKH,
  4559. Zero
  4560. },
  4561.  
  4562. Package (0x04)
  4563. {
  4564. 0x0002FFFF,
  4565. Zero,
  4566. ^^LPCB.LNKC,
  4567. Zero
  4568. },
  4569.  
  4570. Package (0x04)
  4571. {
  4572. 0x0002FFFF,
  4573. One,
  4574. ^^LPCB.LNKD,
  4575. Zero
  4576. },
  4577.  
  4578. Package (0x04)
  4579. {
  4580. 0x0002FFFF,
  4581. 0x02,
  4582. ^^LPCB.LNKB,
  4583. Zero
  4584. },
  4585.  
  4586. Package (0x04)
  4587. {
  4588. 0x0002FFFF,
  4589. 0x03,
  4590. ^^LPCB.LNKA,
  4591. Zero
  4592. },
  4593.  
  4594. Package (0x04)
  4595. {
  4596. 0x0005FFFF,
  4597. Zero,
  4598. ^^LPCB.LNKB,
  4599. Zero
  4600. },
  4601.  
  4602. Package (0x04)
  4603. {
  4604. 0x0005FFFF,
  4605. One,
  4606. ^^LPCB.LNKE,
  4607. Zero
  4608. },
  4609.  
  4610. Package (0x04)
  4611. {
  4612. 0x0005FFFF,
  4613. 0x02,
  4614. ^^LPCB.LNKG,
  4615. Zero
  4616. },
  4617.  
  4618. Package (0x04)
  4619. {
  4620. 0x0005FFFF,
  4621. 0x03,
  4622. ^^LPCB.LNKF,
  4623. Zero
  4624. }
  4625. })
  4626. }
  4627. }
  4628. Else
  4629. {
  4630. If (GPIC)
  4631. {
  4632. Return (Package (0x03)
  4633. {
  4634. Package (0x04)
  4635. {
  4636. 0x0003FFFF,
  4637. Zero,
  4638. Zero,
  4639. 0x10
  4640. },
  4641.  
  4642. Package (0x04)
  4643. {
  4644. 0x0003FFFF,
  4645. One,
  4646. Zero,
  4647. 0x11
  4648. },
  4649.  
  4650. Package (0x04)
  4651. {
  4652. 0x0003FFFF,
  4653. 0x02,
  4654. Zero,
  4655. 0x12
  4656. }
  4657. })
  4658. }
  4659. Else
  4660. {
  4661. Return (Package (0x03)
  4662. {
  4663. Package (0x04)
  4664. {
  4665. 0x0003FFFF,
  4666. Zero,
  4667. ^^LPCB.LNKA,
  4668. Zero
  4669. },
  4670.  
  4671. Package (0x04)
  4672. {
  4673. 0x0003FFFF,
  4674. One,
  4675. ^^LPCB.LNKB,
  4676. Zero
  4677. },
  4678.  
  4679. Package (0x04)
  4680. {
  4681. 0x0003FFFF,
  4682. 0x02,
  4683. ^^LPCB.LNKC,
  4684. Zero
  4685. }
  4686. })
  4687. }
  4688. }
  4689. }
  4690. }
  4691.  
  4692. Device (LPCB)
  4693. {
  4694. Name (_ADR, 0x001F0000)
  4695. OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
  4696. Field (LPC0, AnyAcc, NoLock, Preserve)
  4697. {
  4698. Offset (0x20),
  4699. PARC, 8,
  4700. PBRC, 8,
  4701. PCRC, 8,
  4702. PDRC, 8,
  4703. Offset (0x28),
  4704. PERC, 8,
  4705. PFRC, 8,
  4706. PGRC, 8,
  4707. PHRC, 8,
  4708. Offset (0x40),
  4709. IOD0, 8,
  4710. IOD1, 8,
  4711. Offset (0xB0),
  4712. RAEN, 1,
  4713. , 13,
  4714. RCBA, 18
  4715. }
  4716.  
  4717. Device (LNKA)
  4718. {
  4719. Name (_HID, EisaId ("PNP0C0F"))
  4720. Name (_UID, One)
  4721. Method (_DIS, 0, Serialized)
  4722. {
  4723. Store (0x80, PARC)
  4724. }
  4725.  
  4726. Name (_PRS, ResourceTemplate ()
  4727. {
  4728. IRQ (Level, ActiveLow, Shared, )
  4729. {1,3,4,5,6,7,10,12,14,15}
  4730. })
  4731. Method (_CRS, 0, Serialized)
  4732. {
  4733. Name (RTLA, ResourceTemplate ()
  4734. {
  4735. IRQ (Level, ActiveLow, Shared, )
  4736. {}
  4737. })
  4738. CreateWordField (RTLA, One, IRQ0)
  4739. Store (Zero, IRQ0)
  4740. ShiftLeft (One, And (PARC, 0x0F), IRQ0)
  4741. Return (RTLA)
  4742. }
  4743.  
  4744. Method (_SRS, 1, Serialized)
  4745. {
  4746. CreateWordField (Arg0, One, IRQ0)
  4747. FindSetRightBit (IRQ0, Local0)
  4748. Decrement (Local0)
  4749. Store (Local0, PARC)
  4750. }
  4751.  
  4752. Method (_STA, 0, Serialized)
  4753. {
  4754. If (And (PARC, 0x80))
  4755. {
  4756. Return (0x09)
  4757. }
  4758. Else
  4759. {
  4760. Return (0x0B)
  4761. }
  4762. }
  4763. }
  4764.  
  4765. Device (LNKB)
  4766. {
  4767. Name (_HID, EisaId ("PNP0C0F"))
  4768. Name (_UID, 0x02)
  4769. Method (_DIS, 0, Serialized)
  4770. {
  4771. Store (0x80, PBRC)
  4772. }
  4773.  
  4774. Name (_PRS, ResourceTemplate ()
  4775. {
  4776. IRQ (Level, ActiveLow, Shared, )
  4777. {1,3,4,5,6,7,11,12,14,15}
  4778. })
  4779. Method (_CRS, 0, Serialized)
  4780. {
  4781. Name (RTLB, ResourceTemplate ()
  4782. {
  4783. IRQ (Level, ActiveLow, Shared, )
  4784. {}
  4785. })
  4786. CreateWordField (RTLB, One, IRQ0)
  4787. Store (Zero, IRQ0)
  4788. ShiftLeft (One, And (PBRC, 0x0F), IRQ0)
  4789. Return (RTLB)
  4790. }
  4791.  
  4792. Method (_SRS, 1, Serialized)
  4793. {
  4794. CreateWordField (Arg0, One, IRQ0)
  4795. FindSetRightBit (IRQ0, Local0)
  4796. Decrement (Local0)
  4797. Store (Local0, PBRC)
  4798. }
  4799.  
  4800. Method (_STA, 0, Serialized)
  4801. {
  4802. If (And (PBRC, 0x80))
  4803. {
  4804. Return (0x09)
  4805. }
  4806. Else
  4807. {
  4808. Return (0x0B)
  4809. }
  4810. }
  4811. }
  4812.  
  4813. Device (LNKC)
  4814. {
  4815. Name (_HID, EisaId ("PNP0C0F"))
  4816. Name (_UID, 0x03)
  4817. Method (_DIS, 0, Serialized)
  4818. {
  4819. Store (0x80, PCRC)
  4820. }
  4821.  
  4822. Name (_PRS, ResourceTemplate ()
  4823. {
  4824. IRQ (Level, ActiveLow, Shared, )
  4825. {1,3,4,5,6,7,10,12,14,15}
  4826. })
  4827. Method (_CRS, 0, Serialized)
  4828. {
  4829. Name (RTLC, ResourceTemplate ()
  4830. {
  4831. IRQ (Level, ActiveLow, Shared, )
  4832. {}
  4833. })
  4834. CreateWordField (RTLC, One, IRQ0)
  4835. Store (Zero, IRQ0)
  4836. ShiftLeft (One, And (PCRC, 0x0F), IRQ0)
  4837. Return (RTLC)
  4838. }
  4839.  
  4840. Method (_SRS, 1, Serialized)
  4841. {
  4842. CreateWordField (Arg0, One, IRQ0)
  4843. FindSetRightBit (IRQ0, Local0)
  4844. Decrement (Local0)
  4845. Store (Local0, PCRC)
  4846. }
  4847.  
  4848. Method (_STA, 0, Serialized)
  4849. {
  4850. If (And (PCRC, 0x80))
  4851. {
  4852. Return (0x09)
  4853. }
  4854. Else
  4855. {
  4856. Return (0x0B)
  4857. }
  4858. }
  4859. }
  4860.  
  4861. Device (LNKD)
  4862. {
  4863. Name (_HID, EisaId ("PNP0C0F"))
  4864. Name (_UID, 0x04)
  4865. Method (_DIS, 0, Serialized)
  4866. {
  4867. Store (0x80, PDRC)
  4868. }
  4869.  
  4870. Name (_PRS, ResourceTemplate ()
  4871. {
  4872. IRQ (Level, ActiveLow, Shared, )
  4873. {1,3,4,5,6,7,11,12,14,15}
  4874. })
  4875. Method (_CRS, 0, Serialized)
  4876. {
  4877. Name (RTLD, ResourceTemplate ()
  4878. {
  4879. IRQ (Level, ActiveLow, Shared, )
  4880. {}
  4881. })
  4882. CreateWordField (RTLD, One, IRQ0)
  4883. Store (Zero, IRQ0)
  4884. ShiftLeft (One, And (PDRC, 0x0F), IRQ0)
  4885. Return (RTLD)
  4886. }
  4887.  
  4888. Method (_SRS, 1, Serialized)
  4889. {
  4890. CreateWordField (Arg0, One, IRQ0)
  4891. FindSetRightBit (IRQ0, Local0)
  4892. Decrement (Local0)
  4893. Store (Local0, PDRC)
  4894. }
  4895.  
  4896. Method (_STA, 0, Serialized)
  4897. {
  4898. If (And (PDRC, 0x80))
  4899. {
  4900. Return (0x09)
  4901. }
  4902. Else
  4903. {
  4904. Return (0x0B)
  4905. }
  4906. }
  4907. }
  4908.  
  4909. Device (LNKE)
  4910. {
  4911. Name (_HID, EisaId ("PNP0C0F"))
  4912. Name (_UID, 0x05)
  4913. Method (_DIS, 0, Serialized)
  4914. {
  4915. Store (0x80, PERC)
  4916. }
  4917.  
  4918. Name (_PRS, ResourceTemplate ()
  4919. {
  4920. IRQ (Level, ActiveLow, Shared, )
  4921. {1,3,4,5,6,7,10,12,14,15}
  4922. })
  4923. Method (_CRS, 0, Serialized)
  4924. {
  4925. Name (RTLE, ResourceTemplate ()
  4926. {
  4927. IRQ (Level, ActiveLow, Shared, )
  4928. {}
  4929. })
  4930. CreateWordField (RTLE, One, IRQ0)
  4931. Store (Zero, IRQ0)
  4932. ShiftLeft (One, And (PERC, 0x0F), IRQ0)
  4933. Return (RTLE)
  4934. }
  4935.  
  4936. Method (_SRS, 1, Serialized)
  4937. {
  4938. CreateWordField (Arg0, One, IRQ0)
  4939. FindSetRightBit (IRQ0, Local0)
  4940. Decrement (Local0)
  4941. Store (Local0, PERC)
  4942. }
  4943.  
  4944. Method (_STA, 0, Serialized)
  4945. {
  4946. If (And (PERC, 0x80))
  4947. {
  4948. Return (0x09)
  4949. }
  4950. Else
  4951. {
  4952. Return (0x0B)
  4953. }
  4954. }
  4955. }
  4956.  
  4957. Device (LNKF)
  4958. {
  4959. Name (_HID, EisaId ("PNP0C0F"))
  4960. Name (_UID, 0x06)
  4961. Method (_DIS, 0, Serialized)
  4962. {
  4963. Store (0x80, PFRC)
  4964. }
  4965.  
  4966. Name (_PRS, ResourceTemplate ()
  4967. {
  4968. IRQ (Level, ActiveLow, Shared, )
  4969. {1,3,4,5,6,7,11,12,14,15}
  4970. })
  4971. Method (_CRS, 0, Serialized)
  4972. {
  4973. Name (RTLF, ResourceTemplate ()
  4974. {
  4975. IRQ (Level, ActiveLow, Shared, )
  4976. {}
  4977. })
  4978. CreateWordField (RTLF, One, IRQ0)
  4979. Store (Zero, IRQ0)
  4980. ShiftLeft (One, And (PFRC, 0x0F), IRQ0)
  4981. Return (RTLF)
  4982. }
  4983.  
  4984. Method (_SRS, 1, Serialized)
  4985. {
  4986. CreateWordField (Arg0, One, IRQ0)
  4987. FindSetRightBit (IRQ0, Local0)
  4988. Decrement (Local0)
  4989. Store (Local0, PFRC)
  4990. }
  4991.  
  4992. Method (_STA, 0, Serialized)
  4993. {
  4994. If (And (PFRC, 0x80))
  4995. {
  4996. Return (0x09)
  4997. }
  4998. Else
  4999. {
  5000. Return (0x0B)
  5001. }
  5002. }
  5003. }
  5004.  
  5005. Device (LNKG)
  5006. {
  5007. Name (_HID, EisaId ("PNP0C0F"))
  5008. Name (_UID, 0x07)
  5009. Method (_DIS, 0, Serialized)
  5010. {
  5011. Store (0x80, PGRC)
  5012. }
  5013.  
  5014. Name (_PRS, ResourceTemplate ()
  5015. {
  5016. IRQ (Level, ActiveLow, Shared, )
  5017. {1,3,4,5,6,7,10,12,14,15}
  5018. })
  5019. Method (_CRS, 0, Serialized)
  5020. {
  5021. Name (RTLG, ResourceTemplate ()
  5022. {
  5023. IRQ (Level, ActiveLow, Shared, )
  5024. {}
  5025. })
  5026. CreateWordField (RTLG, One, IRQ0)
  5027. Store (Zero, IRQ0)
  5028. ShiftLeft (One, And (PGRC, 0x0F), IRQ0)
  5029. Return (RTLG)
  5030. }
  5031.  
  5032. Method (_SRS, 1, Serialized)
  5033. {
  5034. CreateWordField (Arg0, One, IRQ0)
  5035. FindSetRightBit (IRQ0, Local0)
  5036. Decrement (Local0)
  5037. Store (Local0, PGRC)
  5038. }
  5039.  
  5040. Method (_STA, 0, Serialized)
  5041. {
  5042. If (And (PGRC, 0x80))
  5043. {
  5044. Return (0x09)
  5045. }
  5046. Else
  5047. {
  5048. Return (0x0B)
  5049. }
  5050. }
  5051. }
  5052.  
  5053. Device (LNKH)
  5054. {
  5055. Name (_HID, EisaId ("PNP0C0F"))
  5056. Name (_UID, 0x08)
  5057. Method (_DIS, 0, Serialized)
  5058. {
  5059. Store (0x80, PHRC)
  5060. }
  5061.  
  5062. Name (_PRS, ResourceTemplate ()
  5063. {
  5064. IRQ (Level, ActiveLow, Shared, )
  5065. {1,3,4,5,6,7,11,12,14,15}
  5066. })
  5067. Method (_CRS, 0, Serialized)
  5068. {
  5069. Name (RTLH, ResourceTemplate ()
  5070. {
  5071. IRQ (Level, ActiveLow, Shared, )
  5072. {}
  5073. })
  5074. CreateWordField (RTLH, One, IRQ0)
  5075. Store (Zero, IRQ0)
  5076. ShiftLeft (One, And (PHRC, 0x0F), IRQ0)
  5077. Return (RTLH)
  5078. }
  5079.  
  5080. Method (_SRS, 1, Serialized)
  5081. {
  5082. CreateWordField (Arg0, One, IRQ0)
  5083. FindSetRightBit (IRQ0, Local0)
  5084. Decrement (Local0)
  5085. Store (Local0, PHRC)
  5086. }
  5087.  
  5088. Method (_STA, 0, Serialized)
  5089. {
  5090. If (And (PHRC, 0x80))
  5091. {
  5092. Return (0x09)
  5093. }
  5094. Else
  5095. {
  5096. Return (0x0B)
  5097. }
  5098. }
  5099. }
  5100.  
  5101. Device (EC)
  5102. {
  5103. Name (_HID, EisaId ("PNP0C09"))
  5104. Method (_CRS, 0, NotSerialized)
  5105. {
  5106. Name (BFFR, ResourceTemplate ()
  5107. {
  5108. IO (Decode16,
  5109. 0x0062, // Range Minimum
  5110. 0x0062, // Range Maximum
  5111. 0x00, // Alignment
  5112. 0x01, // Length
  5113. )
  5114. IO (Decode16,
  5115. 0x0066, // Range Minimum
  5116. 0x0066, // Range Maximum
  5117. 0x00, // Alignment
  5118. 0x01, // Length
  5119. )
  5120. })
  5121. Return (BFFR)
  5122. }
  5123.  
  5124. OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF)
  5125. Field (ECF2, ByteAcc, Lock, Preserve)
  5126. {
  5127. , 3,
  5128. PRCP, 1,
  5129. , 1,
  5130. LSTE, 1,
  5131. BATP, 1,
  5132. RPWR, 1,
  5133. , 4,
  5134. CHGE, 1,
  5135. LVDS, 1,
  5136. , 1,
  5137. AUAM, 1,
  5138. ENR0, 8,
  5139. ENR1, 8,
  5140. ESR0, 8,
  5141. ESR1, 8,
  5142. BSTS, 8,
  5143. WKSR, 8,
  5144. Offset (0x19),
  5145. ISID, 8,
  5146. Offset (0x20),
  5147. BTPL, 8,
  5148. BTPH, 8,
  5149. BSNL, 8,
  5150. BSNH, 8,
  5151. BDCL, 8,
  5152. BDCH, 8,
  5153. BDVL, 8,
  5154. BDVH, 8,
  5155. BAVL, 8,
  5156. BAVH, 8,
  5157. BACL, 8,
  5158. BACH, 8,
  5159. RSCL, 8,
  5160. RSCH, 8,
  5161. BRCL, 8,
  5162. BRCH, 8,
  5163. FCCL, 8,
  5164. FCCH, 8,
  5165. , 4,
  5166. FDCH, 1,
  5167. FUCH, 1,
  5168. DCHG, 1,
  5169. BTIT, 1,
  5170. BSTH, 8,
  5171. OMFL, 8,
  5172. OMFH, 8,
  5173. IBMF, 8,
  5174. ASSR, 8,
  5175. Offset (0x40),
  5176. TS1R, 8,
  5177. TS1L, 8,
  5178. TS2R, 8,
  5179. TS2L, 8,
  5180. TS3R, 8,
  5181. TS3L, 8,
  5182. F1FL, 8,
  5183. F1FH, 8,
  5184. F2FL, 8,
  5185. F2FH, 8,
  5186. T1U1, 8,
  5187. T1U2, 8,
  5188. T1U3, 8,
  5189. T1U4, 8,
  5190. T1U5, 8,
  5191. T1U6, 8,
  5192. T1U7, 8,
  5193. T1D1, 8,
  5194. T1D2, 8,
  5195. T1D3, 8,
  5196. T1L1, 8,
  5197. T2R1, 8,
  5198. T2U1, 8,
  5199. T3L1, 8,
  5200. T3L2, 8,
  5201. Offset (0x60),
  5202. SMBN, 8,
  5203. SPTR, 8,
  5204. SSTS, 8,
  5205. SADR, 8,
  5206. SCMD, 8,
  5207. SBFR, 256,
  5208. SCNT, 8
  5209. }
  5210.  
  5211. Method (_REG, 2, NotSerialized)
  5212. {
  5213. If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One)))
  5214. {
  5215. Store (BATP, BNUM)
  5216. Store (RSCL, B0SC)
  5217. Store (RPWR, PWRS)
  5218. Notify (BAT0, 0x81)
  5219. PNOT ()
  5220. Store (Arg1, ECON)
  5221. }
  5222. }
  5223.  
  5224. Name (_GPE, 0x17)
  5225. Method (_Q21, 0, NotSerialized)
  5226. {
  5227. P8XH (Zero, 0x21)
  5228. Store (RPWR, PWRS)
  5229. Notify (ADP1, 0x81)
  5230. Notify (BAT0, 0x80)
  5231. PNOT ()
  5232. }
  5233.  
  5234. Method (_Q22, 0, NotSerialized)
  5235. {
  5236. P8XH (Zero, 0x22)
  5237. Store (RPWR, PWRS)
  5238. Notify (ADP1, 0x81)
  5239. Notify (BAT0, 0x80)
  5240. PNOT ()
  5241. }
  5242.  
  5243. Method (_Q23, 0, NotSerialized)
  5244. {
  5245. P8XH (Zero, 0x23)
  5246. Store (RSCL, B0SC)
  5247. Store (BATP, BNUM)
  5248. Notify (BAT0, 0x81)
  5249. }
  5250.  
  5251. Method (_Q24, 0, NotSerialized)
  5252. {
  5253. P8XH (Zero, 0x24)
  5254. Store (RSCL, B0SC)
  5255. Store (BATP, BNUM)
  5256. Notify (BAT0, 0x81)
  5257. }
  5258.  
  5259. Method (_Q25, 0, NotSerialized)
  5260. {
  5261. P8XH (Zero, 0x25)
  5262. Store (RSCL, B0SC)
  5263. Notify (BAT0, 0x80)
  5264. }
  5265.  
  5266. Method (_Q26, 0, NotSerialized)
  5267. {
  5268. P8XH (Zero, 0x26)
  5269. Notify (SNC, 0x90)
  5270. }
  5271.  
  5272. Method (_Q27, 0, NotSerialized)
  5273. {
  5274. P8XH (Zero, 0x27)
  5275. Notify (SNC, 0x90)
  5276. }
  5277.  
  5278. Method (_Q28, 0, NotSerialized)
  5279. {
  5280. P8XH (Zero, 0x28)
  5281. If (_OSI ("Windows 2006"))
  5282. {
  5283. If (LEqual (^^^PEGP.NGFX.NVID, 0xFFFF))
  5284. {
  5285. Notify (GFX0, 0x81)
  5286. }
  5287. Else
  5288. {
  5289. Notify (^^^PEGP.NGFX, 0x81)
  5290. }
  5291. }
  5292. Else
  5293. {
  5294. Notify (SNC, 0x91)
  5295. }
  5296. }
  5297.  
  5298. Method (_Q29, 0, NotSerialized)
  5299. {
  5300. P8XH (Zero, 0x29)
  5301. Notify (LID0, 0x80)
  5302. }
  5303.  
  5304. Method (_Q2A, 0, NotSerialized)
  5305. {
  5306. P8XH (Zero, 0x2A)
  5307. Notify (LID0, 0x80)
  5308. }
  5309.  
  5310. Method (_Q2B, 0, NotSerialized)
  5311. {
  5312. P8XH (Zero, 0x2B)
  5313. Notify (SNC, 0x94)
  5314. }
  5315.  
  5316. Method (_Q2C, 0, NotSerialized)
  5317. {
  5318. P8XH (Zero, 0x2C)
  5319. Notify (SNC, 0x94)
  5320. }
  5321.  
  5322. Method (_Q32, 0, NotSerialized)
  5323. {
  5324. P8XH (Zero, 0x32)
  5325. Notify (PWRB, 0x80)
  5326. }
  5327.  
  5328. Method (_Q34, 0, NotSerialized)
  5329. {
  5330. P8XH (Zero, 0x34)
  5331. Notify (\_TZ.TZ00, 0x80)
  5332. If (MPEN)
  5333. {
  5334. Notify (\_TZ.TZ01, 0x80)
  5335. }
  5336. }
  5337.  
  5338. Name (HF1P, 0x81)
  5339. Name (HF1R, One)
  5340. Name (HF5P, 0x85)
  5341. Name (HF5R, 0x05)
  5342. Name (HF6P, 0x86)
  5343. Name (HF6R, 0x06)
  5344. Name (HF7P, 0x87)
  5345. Name (HF7R, 0x07)
  5346. Name (HF8P, 0x88)
  5347. Name (HF8R, 0x08)
  5348. Name (HF9P, 0x89)
  5349. Name (HF9R, 0x09)
  5350. Name (HFAP, 0x8A)
  5351. Name (HFAR, 0x0A)
  5352. Name (HFBP, 0x8B)
  5353. Name (HFBR, 0x0B)
  5354. Name (HFCP, 0x8C)
  5355. Name (HFCR, 0x0C)
  5356. Name (HFDP, 0x8D)
  5357. Name (HFDR, 0x0D)
  5358. Name (HS1P, 0x90)
  5359. Name (HS1R, 0x10)
  5360. Name (HS2P, 0x91)
  5361. Name (HS2R, 0x11)
  5362. Name (HUPP, 0x95)
  5363. Name (HUPR, 0x15)
  5364. Name (HDWP, 0x96)
  5365. Name (HDWR, 0x16)
  5366. Name (HMUP, 0x97)
  5367. Name (HMUR, 0x17)
  5368. Name (HTRP, 0x99)
  5369. Name (HTRR, 0x19)
  5370. Name (HCUP, 0x9A)
  5371. Name (HCUR, 0x1A)
  5372. Name (HCDP, 0x9B)
  5373. Name (HCDR, 0x1B)
  5374. Name (HEJP, 0x9F)
  5375. Name (HEJR, 0x1F)
  5376. Name (HAVP, 0xA1)
  5377. Name (HAVR, 0x21)
  5378. Method (_Q50, 0, NotSerialized)
  5379. {
  5380. P8XH (Zero, 0x50)
  5381. SECR (HF1P)
  5382. Notify (SNC, 0x92)
  5383. }
  5384.  
  5385. Method (_Q51, 0, NotSerialized)
  5386. {
  5387. P8XH (Zero, 0x51)
  5388. SECR (HF1R)
  5389. Notify (SNC, 0x92)
  5390. }
  5391.  
  5392. Method (_Q58, 0, NotSerialized)
  5393. {
  5394. P8XH (Zero, 0x58)
  5395. SECR (HF5P)
  5396. Notify (SNC, 0x92)
  5397. }
  5398.  
  5399. Method (_Q59, 0, NotSerialized)
  5400. {
  5401. P8XH (Zero, 0x59)
  5402. SECR (HF5R)
  5403. Notify (SNC, 0x92)
  5404. }
  5405.  
  5406. Method (_Q5A, 0, NotSerialized)
  5407. {
  5408. P8XH (Zero, 0x5A)
  5409. SECR (HF6P)
  5410. Notify (SNC, 0x92)
  5411. }
  5412.  
  5413. Method (_Q5B, 0, NotSerialized)
  5414. {
  5415. P8XH (Zero, 0x5B)
  5416. SECR (HF6R)
  5417. Notify (SNC, 0x92)
  5418. }
  5419.  
  5420. Method (_Q5C, 0, NotSerialized)
  5421. {
  5422. P8XH (Zero, 0x5C)
  5423. SECR (HF7P)
  5424. Notify (SNC, 0x92)
  5425. }
  5426.  
  5427. Method (_Q5D, 0, NotSerialized)
  5428. {
  5429. P8XH (Zero, 0x5D)
  5430. SECR (HF7R)
  5431. Notify (SNC, 0x92)
  5432. }
  5433.  
  5434. Method (_Q5E, 0, NotSerialized)
  5435. {
  5436. P8XH (Zero, 0x5E)
  5437. SECR (HF8P)
  5438. Notify (SNC, 0x92)
  5439. }
  5440.  
  5441. Method (_Q5F, 0, NotSerialized)
  5442. {
  5443. P8XH (Zero, 0x5F)
  5444. SECR (HF8R)
  5445. Notify (SNC, 0x92)
  5446. }
  5447.  
  5448. Method (_Q60, 0, NotSerialized)
  5449. {
  5450. P8XH (Zero, 0x60)
  5451. SECR (HF9P)
  5452. Notify (SNC, 0x92)
  5453. }
  5454.  
  5455. Method (_Q61, 0, NotSerialized)
  5456. {
  5457. P8XH (Zero, 0x61)
  5458. SECR (HF9R)
  5459. Notify (SNC, 0x92)
  5460. }
  5461.  
  5462. Method (_Q62, 0, NotSerialized)
  5463. {
  5464. P8XH (Zero, 0x62)
  5465. SECR (HFAP)
  5466. Notify (SNC, 0x92)
  5467. }
  5468.  
  5469. Method (_Q63, 0, NotSerialized)
  5470. {
  5471. P8XH (Zero, 0x63)
  5472. SECR (HFAR)
  5473. Notify (SNC, 0x92)
  5474. }
  5475.  
  5476. Method (_Q64, 0, NotSerialized)
  5477. {
  5478. P8XH (Zero, 0x64)
  5479. SECR (HFBP)
  5480. Notify (SNC, 0x92)
  5481. }
  5482.  
  5483. Method (_Q65, 0, NotSerialized)
  5484. {
  5485. P8XH (Zero, 0x65)
  5486. SECR (HFBR)
  5487. Notify (SNC, 0x92)
  5488. }
  5489.  
  5490. Method (_Q66, 0, NotSerialized)
  5491. {
  5492. P8XH (Zero, 0x66)
  5493. SECR (HFCP)
  5494. Notify (SNC, 0x92)
  5495. }
  5496.  
  5497. Method (_Q67, 0, NotSerialized)
  5498. {
  5499. P8XH (Zero, 0x67)
  5500. SECR (HFCR)
  5501. Notify (SNC, 0x92)
  5502. }
  5503.  
  5504. Method (_Q68, 0, NotSerialized)
  5505. {
  5506. P8XH (Zero, 0x68)
  5507. SECR (HFDP)
  5508. Notify (SNC, 0x92)
  5509. }
  5510.  
  5511. Method (_Q69, 0, NotSerialized)
  5512. {
  5513. P8XH (Zero, 0x69)
  5514. SECR (HFDR)
  5515. Notify (SNC, 0x92)
  5516. }
  5517.  
  5518. Method (_Q7E, 0, NotSerialized)
  5519. {
  5520. P8XH (Zero, 0x7E)
  5521. SECR (HAVP)
  5522. Notify (SNC, 0x92)
  5523. }
  5524.  
  5525. Method (_Q7F, 0, NotSerialized)
  5526. {
  5527. P8XH (Zero, 0x7F)
  5528. SECR (HAVR)
  5529. Notify (SNC, 0x92)
  5530. }
  5531.  
  5532. Method (_Q82, 0, NotSerialized)
  5533. {
  5534. P8XH (Zero, 0x82)
  5535. SECR (HS1P)
  5536. Notify (SNC, 0x92)
  5537. }
  5538.  
  5539. Method (_Q83, 0, NotSerialized)
  5540. {
  5541. P8XH (Zero, 0x83)
  5542. SECR (HS1R)
  5543. Notify (SNC, 0x92)
  5544. }
  5545.  
  5546. Method (SECR, 1, NotSerialized)
  5547. {
  5548. Store (Arg0, ^^SNC.XECR)
  5549. }
  5550.  
  5551. Method (GECR, 0, NotSerialized)
  5552. {
  5553. Return (^^SNC.XECR)
  5554. }
  5555. }
  5556.  
  5557. Device (DMAC)
  5558. {
  5559. Name (_HID, EisaId ("PNP0200"))
  5560. Name (_CRS, ResourceTemplate ()
  5561. {
  5562. IO (Decode16,
  5563. 0x0000, // Range Minimum
  5564. 0x0000, // Range Maximum
  5565. 0x01, // Alignment
  5566. 0x20, // Length
  5567. )
  5568. IO (Decode16,
  5569. 0x0081, // Range Minimum
  5570. 0x0081, // Range Maximum
  5571. 0x01, // Alignment
  5572. 0x11, // Length
  5573. )
  5574. IO (Decode16,
  5575. 0x0093, // Range Minimum
  5576. 0x0093, // Range Maximum
  5577. 0x01, // Alignment
  5578. 0x0D, // Length
  5579. )
  5580. IO (Decode16,
  5581. 0x00C0, // Range Minimum
  5582. 0x00C0, // Range Maximum
  5583. 0x01, // Alignment
  5584. 0x20, // Length
  5585. )
  5586. DMA (Compatibility, NotBusMaster, Transfer8_16, )
  5587. {4}
  5588. })
  5589. }
  5590.  
  5591. Device (FWHD)
  5592. {
  5593. Name (_HID, EisaId ("INT0800"))
  5594. Name (_CRS, ResourceTemplate ()
  5595. {
  5596. Memory32Fixed (ReadOnly,
  5597. 0xFF000000, // Address Base
  5598. 0x01000000, // Address Length
  5599. )
  5600. })
  5601. }
  5602.  
  5603. Device (HPET)
  5604. {
  5605. Name (_HID, EisaId ("PNP0103"))
  5606. Name (_CID, EisaId ("PNP0C01"))
  5607. Name (BUF0, ResourceTemplate ()
  5608. {
  5609. Memory32Fixed (ReadOnly,
  5610. 0xFED00000, // Address Base
  5611. 0x00000400, // Address Length
  5612. _Y14)
  5613. })
  5614. Method (_STA, 0, NotSerialized)
  5615. {
  5616. If (LGreaterEqual (OSYS, 0x07D1))
  5617. {
  5618. If (HPAE)
  5619. {
  5620. Return (0x0F)
  5621. }
  5622. }
  5623. Else
  5624. {
  5625. If (HPAE)
  5626. {
  5627. Return (0x0B)
  5628. }
  5629. }
  5630.  
  5631. Return (Zero)
  5632. }
  5633.  
  5634. Method (_CRS, 0, Serialized)
  5635. {
  5636. If (HPAE)
  5637. {
  5638. CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y14._BAS, HPT0)
  5639. If (LEqual (HPAS, One))
  5640. {
  5641. Store (0xFED01000, HPT0)
  5642. }
  5643.  
  5644. If (LEqual (HPAS, 0x02))
  5645. {
  5646. Store (0xFED02000, HPT0)
  5647. }
  5648.  
  5649. If (LEqual (HPAS, 0x03))
  5650. {
  5651. Store (0xFED03000, HPT0)
  5652. }
  5653. }
  5654.  
  5655. Return (BUF0)
  5656. }
  5657. }
  5658.  
  5659. Device (IPIC)
  5660. {
  5661. Name (_HID, EisaId ("PNP0000"))
  5662. Name (_CRS, ResourceTemplate ()
  5663. {
  5664. IO (Decode16,
  5665. 0x0020, // Range Minimum
  5666. 0x0020, // Range Maximum
  5667. 0x01, // Alignment
  5668. 0x02, // Length
  5669. )
  5670. IO (Decode16,
  5671. 0x0024, // Range Minimum
  5672. 0x0024, // Range Maximum
  5673. 0x01, // Alignment
  5674. 0x02, // Length
  5675. )
  5676. IO (Decode16,
  5677. 0x0028, // Range Minimum
  5678. 0x0028, // Range Maximum
  5679. 0x01, // Alignment
  5680. 0x02, // Length
  5681. )
  5682. IO (Decode16,
  5683. 0x002C, // Range Minimum
  5684. 0x002C, // Range Maximum
  5685. 0x01, // Alignment
  5686. 0x02, // Length
  5687. )
  5688. IO (Decode16,
  5689. 0x0030, // Range Minimum
  5690. 0x0030, // Range Maximum
  5691. 0x01, // Alignment
  5692. 0x02, // Length
  5693. )
  5694. IO (Decode16,
  5695. 0x0034, // Range Minimum
  5696. 0x0034, // Range Maximum
  5697. 0x01, // Alignment
  5698. 0x02, // Length
  5699. )
  5700. IO (Decode16,
  5701. 0x0038, // Range Minimum
  5702. 0x0038, // Range Maximum
  5703. 0x01, // Alignment
  5704. 0x02, // Length
  5705. )
  5706. IO (Decode16,
  5707. 0x003C, // Range Minimum
  5708. 0x003C, // Range Maximum
  5709. 0x01, // Alignment
  5710. 0x02, // Length
  5711. )
  5712. IO (Decode16,
  5713. 0x00A0, // Range Minimum
  5714. 0x00A0, // Range Maximum
  5715. 0x01, // Alignment
  5716. 0x02, // Length
  5717. )
  5718. IO (Decode16,
  5719. 0x00A4, // Range Minimum
  5720. 0x00A4, // Range Maximum
  5721. 0x01, // Alignment
  5722. 0x02, // Length
  5723. )
  5724. IO (Decode16,
  5725. 0x00A8, // Range Minimum
  5726. 0x00A8, // Range Maximum
  5727. 0x01, // Alignment
  5728. 0x02, // Length
  5729. )
  5730. IO (Decode16,
  5731. 0x00AC, // Range Minimum
  5732. 0x00AC, // Range Maximum
  5733. 0x01, // Alignment
  5734. 0x02, // Length
  5735. )
  5736. IO (Decode16,
  5737. 0x00B0, // Range Minimum
  5738. 0x00B0, // Range Maximum
  5739. 0x01, // Alignment
  5740. 0x02, // Length
  5741. )
  5742. IO (Decode16,
  5743. 0x00B4, // Range Minimum
  5744. 0x00B4, // Range Maximum
  5745. 0x01, // Alignment
  5746. 0x02, // Length
  5747. )
  5748. IO (Decode16,
  5749. 0x00B8, // Range Minimum
  5750. 0x00B8, // Range Maximum
  5751. 0x01, // Alignment
  5752. 0x02, // Length
  5753. )
  5754. IO (Decode16,
  5755. 0x00BC, // Range Minimum
  5756. 0x00BC, // Range Maximum
  5757. 0x01, // Alignment
  5758. 0x02, // Length
  5759. )
  5760. IO (Decode16,
  5761. 0x04D0, // Range Minimum
  5762. 0x04D0, // Range Maximum
  5763. 0x01, // Alignment
  5764. 0x02, // Length
  5765. )
  5766. IRQNoFlags ()
  5767. {2}
  5768. })
  5769. }
  5770.  
  5771. Device (MATH)
  5772. {
  5773. Name (_HID, EisaId ("PNP0C04"))
  5774. Name (_CRS, ResourceTemplate ()
  5775. {
  5776. IO (Decode16,
  5777. 0x00F0, // Range Minimum
  5778. 0x00F0, // Range Maximum
  5779. 0x01, // Alignment
  5780. 0x01, // Length
  5781. )
  5782. IRQNoFlags ()
  5783. {13}
  5784. })
  5785. }
  5786.  
  5787. Device (LDRC)
  5788. {
  5789. Name (_HID, EisaId ("PNP0C02"))
  5790. Name (_UID, 0x02)
  5791. Name (_CRS, ResourceTemplate ()
  5792. {
  5793. IO (Decode16,
  5794. 0x002E, // Range Minimum
  5795. 0x002E, // Range Maximum
  5796. 0x01, // Alignment
  5797. 0x02, // Length
  5798. )
  5799. IO (Decode16,
  5800. 0x004E, // Range Minimum
  5801. 0x004E, // Range Maximum
  5802. 0x01, // Alignment
  5803. 0x02, // Length
  5804. )
  5805. IO (Decode16,
  5806. 0x0061, // Range Minimum
  5807. 0x0061, // Range Maximum
  5808. 0x01, // Alignment
  5809. 0x01, // Length
  5810. )
  5811. IO (Decode16,
  5812. 0x0063, // Range Minimum
  5813. 0x0063, // Range Maximum
  5814. 0x01, // Alignment
  5815. 0x01, // Length
  5816. )
  5817. IO (Decode16,
  5818. 0x0065, // Range Minimum
  5819. 0x0065, // Range Maximum
  5820. 0x01, // Alignment
  5821. 0x01, // Length
  5822. )
  5823. IO (Decode16,
  5824. 0x0067, // Range Minimum
  5825. 0x0067, // Range Maximum
  5826. 0x01, // Alignment
  5827. 0x01, // Length
  5828. )
  5829. IO (Decode16,
  5830. 0x0080, // Range Minimum
  5831. 0x0080, // Range Maximum
  5832. 0x01, // Alignment
  5833. 0x01, // Length
  5834. )
  5835. IO (Decode16,
  5836. 0x0092, // Range Minimum
  5837. 0x0092, // Range Maximum
  5838. 0x01, // Alignment
  5839. 0x01, // Length
  5840. )
  5841. IO (Decode16,
  5842. 0x00B2, // Range Minimum
  5843. 0x00B2, // Range Maximum
  5844. 0x01, // Alignment
  5845. 0x02, // Length
  5846. )
  5847. IO (Decode16,
  5848. 0x0680, // Range Minimum
  5849. 0x0680, // Range Maximum
  5850. 0x01, // Alignment
  5851. 0x20, // Length
  5852. )
  5853. IO (Decode16,
  5854. 0x0800, // Range Minimum
  5855. 0x0800, // Range Maximum
  5856. 0x01, // Alignment
  5857. 0x10, // Length
  5858. )
  5859. IO (Decode16,
  5860. 0x1000, // Range Minimum
  5861. 0x1000, // Range Maximum
  5862. 0x01, // Alignment
  5863. 0x80, // Length
  5864. )
  5865. IO (Decode16,
  5866. 0x1180, // Range Minimum
  5867. 0x1180, // Range Maximum
  5868. 0x01, // Alignment
  5869. 0x40, // Length
  5870. )
  5871. IO (Decode16,
  5872. 0x1640, // Range Minimum
  5873. 0x1640, // Range Maximum
  5874. 0x01, // Alignment
  5875. 0x10, // Length
  5876. )
  5877. IO (Decode16,
  5878. 0xFE00, // Range Minimum
  5879. 0xFE00, // Range Maximum
  5880. 0x01, // Alignment
  5881. 0x80, // Length
  5882. )
  5883. IO (Decode16,
  5884. 0xFE80, // Range Minimum
  5885. 0xFE80, // Range Maximum
  5886. 0x01, // Alignment
  5887. 0x80, // Length
  5888. )
  5889. })
  5890. }
  5891.  
  5892. Device (RTC)
  5893. {
  5894. Name (_HID, EisaId ("PNP0B00"))
  5895. Name (_CRS, ResourceTemplate ()
  5896. {
  5897. IO (Decode16,
  5898. 0x0070, // Range Minimum
  5899. 0x0070, // Range Maximum
  5900. 0x01, // Alignment
  5901. 0x08, // Length
  5902. )
  5903. IRQNoFlags ()
  5904. {8}
  5905. })
  5906. }
  5907.  
  5908. Device (TIMR)
  5909. {
  5910. Name (_HID, EisaId ("PNP0100"))
  5911. Name (_CRS, ResourceTemplate ()
  5912. {
  5913. IO (Decode16,
  5914. 0x0040, // Range Minimum
  5915. 0x0040, // Range Maximum
  5916. 0x01, // Alignment
  5917. 0x04, // Length
  5918. )
  5919. IO (Decode16,
  5920. 0x0050, // Range Minimum
  5921. 0x0050, // Range Maximum
  5922. 0x10, // Alignment
  5923. 0x04, // Length
  5924. )
  5925. IRQNoFlags ()
  5926. {0}
  5927. })
  5928. }
  5929.  
  5930. Device (SNC)
  5931. {
  5932. Name (_HID, EisaId ("SNY5001"))
  5933. Method (_INI, 0, NotSerialized)
  5934. {
  5935. If (_OSI ("Windows 2006"))
  5936. {
  5937. And (ENMK, 0xFFBF, ENMK)
  5938. And (SNIA, 0xFFFD, SNIA)
  5939. Or (SNIA, 0x40, SNIA)
  5940. If (And (SYID, 0x80)) {}
  5941. Else
  5942. {
  5943. Store (0x374A0100, SNI4)
  5944. }
  5945.  
  5946. Store (DETC, Local0)
  5947. PHSB (0xE1, Local0)
  5948. }
  5949. }
  5950.  
  5951. Method (PWAK, 0, NotSerialized)
  5952. {
  5953. Acquire (PLOK, 0xFFFF)
  5954. DBGC (0xF3, 0x80, BCEN)
  5955. Sleep (0x64)
  5956. Notify (\_PR.CPU0, 0x80)
  5957. Sleep (0x64)
  5958. DBGC (0xF3, 0x81, BCEN)
  5959. Release (PLOK)
  5960. Return (Zero)
  5961. }
  5962.  
  5963. Method (GWDP, 0, NotSerialized)
  5964. {
  5965. DBGC (0xF2, 0x80, BCEN)
  5966. DBGC (0xF2, 0x81, BCEN)
  5967. Return (ShiftRight (And (PHS (0xDD), 0x40), 0x06))
  5968. }
  5969.  
  5970. Name (EVS0, 0x07)
  5971. Name (EVS1, Zero)
  5972. Name (EVS2, Zero)
  5973. Mutex (MSNE, 0x00)
  5974. Method (GSNE, 1, NotSerialized)
  5975. {
  5976. DBGC (0xF1, 0x80, BCEN)
  5977. Store (ShiftRight (And (Arg0, 0xFF000000), 0x18), Local1)
  5978. Store (ShiftRight (And (Arg0, 0x00FF0000), 0x10), Local2)
  5979. Store (And (Arg0, 0xFFFF), Local3)
  5980. Acquire (MSNE, 0xFFFF)
  5981. Store (Zero, Local0)
  5982. If (LEqual (Local1, Zero))
  5983. {
  5984. If (LEqual (Local2, Zero))
  5985. {
  5986. Store (And (Arg0, 0xFFFF0000), Local0)
  5987. Store (Or (Local0, 0x07), Local0)
  5988. }
  5989.  
  5990. If (LEqual (Local2, One))
  5991. {
  5992. Store (And (Arg0, 0xFFFF0000), Local0)
  5993. Store (Or (Local0, Zero), Local0)
  5994. }
  5995.  
  5996. If (LEqual (Local2, 0x02))
  5997. {
  5998. Store (And (Arg0, 0xFFFF0000), Local0)
  5999. Store (Or (Local0, Zero), Local0)
  6000. }
  6001. }
  6002. Else
  6003. {
  6004. If (LEqual (Local1, One))
  6005. {
  6006. If (LEqual (Local2, Zero))
  6007. {
  6008. Store (And (Arg0, 0xFFFF0000), Local0)
  6009. Store (Or (Local0, EVS0), Local0)
  6010. }
  6011.  
  6012. If (LEqual (Local2, One))
  6013. {
  6014. Store (And (Arg0, 0xFFFF0000), Local0)
  6015. Store (Or (Local0, EVS1), Local0)
  6016. }
  6017.  
  6018. If (LEqual (Local2, 0x02))
  6019. {
  6020. Store (And (Arg0, 0xFFFF0000), Local0)
  6021. Store (Or (Local0, EVS2), Local0)
  6022. }
  6023. }
  6024. Else
  6025. {
  6026. Store (Ones, Local0)
  6027. }
  6028. }
  6029.  
  6030. Release (MSNE)
  6031. DBGC (0xF1, 0x81, BCEN)
  6032. Return (Local0)
  6033. }
  6034.  
  6035. Method (SSNE, 1, NotSerialized)
  6036. {
  6037. DBGC (0xF4, 0x80, BCEN)
  6038. Store (ShiftRight (And (Arg0, 0xFF000000), 0x18), Local1)
  6039. Store (ShiftRight (And (Arg0, 0x00FF0000), 0x10), Local2)
  6040. Store (And (Arg0, 0xFFFF), Local3)
  6041. Acquire (MSNE, 0xFFFF)
  6042. Store (Zero, Local0)
  6043. If (LEqual (Local1, Zero))
  6044. {
  6045. If (LEqual (Local2, Zero))
  6046. {
  6047. Store (Or (Arg0, EVS0), EVS0)
  6048. }
  6049.  
  6050. If (LEqual (Local2, One))
  6051. {
  6052. Store (Or (Arg0, EVS1), EVS1)
  6053. }
  6054.  
  6055. If (LEqual (Local2, 0x02))
  6056. {
  6057. Store (Or (Arg0, EVS2), EVS2)
  6058. }
  6059. }
  6060. Else
  6061. {
  6062. If (LEqual (Local1, One))
  6063. {
  6064. If (LEqual (Local2, Zero))
  6065. {
  6066. Store (And (EVS0, Not (Arg0)), EVS0)
  6067. }
  6068.  
  6069. If (LEqual (Local2, One))
  6070. {
  6071. Store (And (EVS1, Not (Arg0)), EVS1)
  6072. }
  6073.  
  6074. If (LEqual (Local2, 0x02))
  6075. {
  6076. Store (And (EVS2, Not (Arg0)), EVS2)
  6077. }
  6078. }
  6079. }
  6080.  
  6081. DBGC (0xF4, 0x81, BCEN)
  6082. Release (MSNE)
  6083. }
  6084.  
  6085. Method (CSXB, 1, NotSerialized)
  6086. {
  6087. Acquire (MPHS, 0xFFFF)
  6088. DBGC (0xF5, 0x80, BCEN)
  6089. Store (Arg0, SXBF)
  6090. PHS0 (0xCC)
  6091. Store (SXBF, Local0)
  6092. DBGC (0xF5, 0x81, BCEN)
  6093. Release (MPHS)
  6094. Return (Local0)
  6095. }
  6096.  
  6097. Method (SODV, 1, NotSerialized)
  6098. {
  6099. DBGC (0xF6, 0x80, BCEN)
  6100. If (LNotEqual (DSEN, Zero))
  6101. {
  6102. Return (Ones)
  6103. }
  6104.  
  6105. Store (Arg0, AODV)
  6106. If (LNot (And (AODV, CADD)))
  6107. {
  6108. Store (One, AODV)
  6109. }
  6110.  
  6111. If (LNotEqual (CADD, PADD))
  6112. {
  6113. Store (CADD, PADD)
  6114. Notify (PCI0, Zero)
  6115. Notify (PEGP, Zero)
  6116. Sleep (0x02EE)
  6117. }
  6118.  
  6119. Notify (GFX0, 0x80)
  6120. Notify (^^^PEGP.NGFX, 0x80)
  6121. DBGC (0xF6, 0x81, BCEN)
  6122. Return (Zero)
  6123. }
  6124.  
  6125. Method (GDDI, 0, NotSerialized)
  6126. {
  6127. Store (PHS (0xC5), Local0)
  6128. Store (And (Local0, 0x0F), CADD)
  6129. Return (Local0)
  6130. }
  6131.  
  6132. Method (STCS, 1, NotSerialized)
  6133. {
  6134. If (LEqual (Arg0, Zero)) {}
  6135. If (LEqual (Arg0, One)) {}
  6136. }
  6137.  
  6138. Mutex (MIDB, 0x00)
  6139. Method (RBMF, 1, Serialized)
  6140. {
  6141. Acquire (MIDB, 0xFFFF)
  6142. DBGC (0xF7, 0x80, BCEN)
  6143. And (Arg0, 0x00010000, Local0)
  6144. Store (PHSD (0xDC, Local0), Local0)
  6145. If (LEqual (Local0, 0x02))
  6146. {
  6147. Sleep (0x1388)
  6148. }
  6149.  
  6150. DBGC (0xF7, 0x81, BCEN)
  6151. Release (MIDB)
  6152. Return (Local0)
  6153. }
  6154.  
  6155. Method (RSBI, 1, Serialized)
  6156. {
  6157. Return (Zero)
  6158. }
  6159.  
  6160. Method (CBMF, 1, Serialized)
  6161. {
  6162. Acquire (MIDB, 0xFFFF)
  6163. Or (And (Arg0, 0x0001FFFF), 0x02000000, Local0)
  6164. Store (PHSD (0xDC, Local0), Local0)
  6165. Release (MIDB)
  6166. Return (Zero)
  6167. }
  6168.  
  6169. Method (EAWK, 1, Serialized)
  6170. {
  6171. Acquire (MIDB, 0xFFFF)
  6172. PHSB (0xD3, Zero)
  6173. Not (Arg0, Local0)
  6174. Release (MIDB)
  6175. Return (Local0)
  6176. }
  6177.  
  6178. Name (SNI0, 0x53636E53)
  6179. Name (SNI1, 0x6F707075)
  6180. Name (SNI2, 0x64657472)
  6181. Name (SNI3, 0x0100)
  6182. Name (SNI4, 0x374A0000)
  6183. Name (SNIA, 0x40B7)
  6184. Name (SNDK, 0x2000)
  6185. Name (SNN0, 0x0101)
  6186. Name (SNN1, 0x0102)
  6187. Name (SNN2, 0x0100)
  6188. Name (XECR, Zero)
  6189. Name (SNN4, 0x010F)
  6190. Name (SNN5, 0x0106)
  6191. Name (SNN6, 0x0113)
  6192. Name (SNN7, 0x010A)
  6193. Name (LBSR, Zero)
  6194. Name (SNND, 0x010D)
  6195. Name (SNNE, 0x0105)
  6196. Name (IIR, 0x02)
  6197. Name (ENMK, 0xFFE8)
  6198. Name (ENCR, Zero)
  6199. Name (ESR, Zero)
  6200. Method (SN00, 1, NotSerialized)
  6201. {
  6202. Store (And (Arg0, 0xFF), Local1)
  6203. If (LEqual (Local1, Zero))
  6204. {
  6205. Return (SNI0)
  6206. }
  6207. Else
  6208. {
  6209. If (LEqual (Local1, One))
  6210. {
  6211. Return (SNI1)
  6212. }
  6213. Else
  6214. {
  6215. If (LEqual (Local1, 0x02))
  6216. {
  6217. Return (SNI2)
  6218. }
  6219. Else
  6220. {
  6221. If (LEqual (Local1, 0x03))
  6222. {
  6223. Return (SNI3)
  6224. }
  6225. Else
  6226. {
  6227. If (LEqual (Local1, 0x04))
  6228. {
  6229. Return (SNI4)
  6230. }
  6231. Else
  6232. {
  6233. If (LEqual (Local1, 0x10))
  6234. {
  6235. Store (SNAV (), Local2)
  6236. Return (Local2)
  6237. }
  6238. Else
  6239. {
  6240. If (LAnd (LGreaterEqual (Local1, 0x20), LLessEqual (Local1, 0x2F)))
  6241. {
  6242. Store (SNGN (Local1), Local2)
  6243. Return (Local2)
  6244. }
  6245. Else
  6246. {
  6247. Return (Zero)
  6248. }
  6249. }
  6250. }
  6251. }
  6252. }
  6253. }
  6254. }
  6255. }
  6256.  
  6257. Method (SN01, 0, NotSerialized)
  6258. {
  6259. Store (PHS (0xD6), Local1)
  6260. And (Local1, Not (ENMK), Local1)
  6261. And (ENCR, ENMK, Local2)
  6262. Or (Local1, Local2, Local1)
  6263. Return (Local1)
  6264. }
  6265.  
  6266. Mutex (SNM0, 0x00)
  6267. Method (SN02, 1, NotSerialized)
  6268. {
  6269. Store (Arg0, Local1)
  6270. If (LNotEqual (Local1, Zero))
  6271. {
  6272. Acquire (SNM0, 0xFFFF)
  6273. And (Local1, Not (ENMK), Local2)
  6274. If (LNotEqual (Local2, Zero))
  6275. {
  6276. PHSD (0xD7, Local2)
  6277. }
  6278.  
  6279. And (Local1, ENMK, Local2)
  6280. If (LNotEqual (Local2, Zero))
  6281. {
  6282. And (ENCR, ENMK, Local3)
  6283. Or (Local3, Local2, ENCR)
  6284. }
  6285.  
  6286. Release (SNM0)
  6287. }
  6288. }
  6289.  
  6290. Method (SN03, 1, NotSerialized)
  6291. {
  6292. Store (Arg0, Local1)
  6293. If (LNotEqual (Local1, Zero))
  6294. {
  6295. Acquire (SNM0, 0xFFFF)
  6296. And (Local1, Not (ENMK), Local2)
  6297. If (LNotEqual (Local2, Zero))
  6298. {
  6299. PHSD (0xD8, Local1)
  6300. }
  6301.  
  6302. And (Local1, ENMK, Local2)
  6303. If (LNotEqual (Local2, Zero))
  6304. {
  6305. And (ENCR, ENMK, Local3)
  6306. And (Local3, Not (Local2), ENCR)
  6307. }
  6308.  
  6309. Release (SNM0)
  6310. }
  6311. }
  6312.  
  6313. Method (SN04, 0, NotSerialized)
  6314. {
  6315. Store (^^EC.ESR0, Local1)
  6316. And (Local1, Not (ENMK), Local1)
  6317. And (ESR, ENMK, Local2)
  6318. Or (Local1, Local2, Local1)
  6319. Return (Local1)
  6320. }
  6321.  
  6322. Method (SN05, 1, NotSerialized)
  6323. {
  6324. Store (Arg0, Local1)
  6325. If (LNotEqual (Local1, Zero))
  6326. {
  6327. And (Local1, Not (ENMK), Local2)
  6328. If (LNotEqual (Local2, Zero))
  6329. {
  6330. PHSD (0xDA, Local1)
  6331. }
  6332.  
  6333. And (Local1, ENMK, Local2)
  6334. If (LNotEqual (Local2, Zero))
  6335. {
  6336. And (ESR, ENMK, Local3)
  6337. And (Local3, Not (Local2), ESR)
  6338. }
  6339. }
  6340. }
  6341.  
  6342. Mutex (SNM1, 0x00)
  6343. Name (SNBF, Buffer (0x0410) {})
  6344. CreateField (SNBF, Zero, 0x20, SNBD)
  6345. CreateField (SNBF, 0x20, 0x20, SND1)
  6346. CreateField (SNBF, 0x40, 0x08, SNB8)
  6347. CreateField (SNBF, 0x10, 0x40, SND8)
  6348. Method (SN06, 1, NotSerialized)
  6349. {
  6350. Store (Arg0, SNBF)
  6351. Return (SNCM ())
  6352. }
  6353.  
  6354. Method (SNCM, 0, NotSerialized)
  6355. {
  6356. Acquire (SNM1, 0xFFFF)
  6357. Store (DerefOf (Index (SNBF, Zero)), Local0)
  6358. And (Local0, 0x0F, Local0)
  6359. DBGC (0xF0, Local0, BCEN)
  6360. If (LEqual (Local0, Zero))
  6361. {
  6362. SNF0 (SNBF)
  6363. }
  6364. Else
  6365. {
  6366. If (LEqual (Local0, One))
  6367. {
  6368. If (_OSI ("Windows 2006")) {}
  6369. Else
  6370. {
  6371. SNF1 (SNBF)
  6372. }
  6373. }
  6374. Else
  6375. {
  6376. If (LEqual (Local0, 0x02))
  6377. {
  6378. SNF2 (SNBF)
  6379. }
  6380. Else
  6381. {
  6382. If (LEqual (Local0, 0x03))
  6383. {
  6384. SNF3 (SNBF)
  6385. }
  6386. Else
  6387. {
  6388. If (LEqual (Local0, 0x04))
  6389. {
  6390. SNF4 (SNBF)
  6391. }
  6392. Else
  6393. {
  6394. If (LEqual (Local0, 0x05))
  6395. {
  6396. SNF5 (SNBF)
  6397. }
  6398. Else
  6399. {
  6400. If (LEqual (Local0, 0x06))
  6401. {
  6402. If (_OSI ("Windows 2006"))
  6403. {
  6404. SNF6 (SNBF)
  6405. }
  6406. }
  6407. Else
  6408. {
  6409. If (LEqual (Local0, 0x07))
  6410. {
  6411. SNF7 (SNBF)
  6412. }
  6413. Else
  6414. {
  6415. If (LEqual (Local0, 0x0C))
  6416. {
  6417. SNFC (SNBF)
  6418. }
  6419. Else
  6420. {
  6421. If (LEqual (Local0, 0x0E))
  6422. {
  6423. SNFE (SNBF)
  6424. }
  6425. Else
  6426. {
  6427. }
  6428. }
  6429. }
  6430. }
  6431. }
  6432. }
  6433. }
  6434. }
  6435. }
  6436. }
  6437.  
  6438. Release (SNM1)
  6439. Return (SNBF)
  6440. }
  6441.  
  6442. Method (SN07, 1, NotSerialized)
  6443. {
  6444. Store (Arg0, Local0)
  6445. Store (Local0, SNBD)
  6446. SNCM ()
  6447. Return (SNBD)
  6448. }
  6449.  
  6450. Method (SNF0, 1, NotSerialized)
  6451. {
  6452. Store (DerefOf (Index (SNBF, One)), Local0)
  6453. If (LEqual (Local0, Zero))
  6454. {
  6455. Store (One, Local1)
  6456. PHSB (0xD0, Local1)
  6457. }
  6458. Else
  6459. {
  6460. If (LEqual (Local0, One))
  6461. {
  6462. Store (One, Local1)
  6463. PHSB (0xD1, Local1)
  6464. }
  6465. Else
  6466. {
  6467. }
  6468. }
  6469.  
  6470. DBGC (0x70, 0x81, BCEN)
  6471. Return (SNBF)
  6472. }
  6473.  
  6474. Method (SNF1, 1, NotSerialized)
  6475. {
  6476. Store (DerefOf (Index (SNBF, One)), Local0)
  6477. If (LEqual (Local0, Zero))
  6478. {
  6479. Store (0x02, Local1)
  6480. PHSB (0xD0, Local1)
  6481. }
  6482. Else
  6483. {
  6484. If (LEqual (Local0, One))
  6485. {
  6486. Store (0x02, Local1)
  6487. PHSB (0xD1, Local1)
  6488. }
  6489. Else
  6490. {
  6491. }
  6492. }
  6493.  
  6494. DBGC (0x71, 0x81, BCEN)
  6495. Return (SNBF)
  6496. }
  6497.  
  6498. Method (SNF2, 1, NotSerialized)
  6499. {
  6500. Store (DerefOf (Index (SNBF, One)), Local0)
  6501. If (LEqual (Local0, Zero))
  6502. {
  6503. Store (0x04, Local1)
  6504. PHSB (0xD0, Local1)
  6505. }
  6506. Else
  6507. {
  6508. If (LEqual (Local0, One))
  6509. {
  6510. Store (0x04, Local1)
  6511. PHSB (0xD1, Local1)
  6512. }
  6513. Else
  6514. {
  6515. If (LEqual (Local0, 0x02))
  6516. {
  6517. Store (^^EC.GECR (), Local1)
  6518. Store (Local1, Index (SNBF, Zero))
  6519. }
  6520. Else
  6521. {
  6522. }
  6523. }
  6524. }
  6525.  
  6526. DBGC (0x72, 0x81, BCEN)
  6527. }
  6528.  
  6529. Method (SNF3, 1, NotSerialized)
  6530. {
  6531. Store (DerefOf (Index (SNBF, One)), Local0)
  6532. If (LEqual (Local0, Zero))
  6533. {
  6534. Store (PHS (0xDB), Local1)
  6535. And (Local1, One, Local1)
  6536. XOr (Local1, One, Local1)
  6537. Store (Local1, Index (SNBF, Zero))
  6538. }
  6539. Else
  6540. {
  6541. If (LEqual (Local0, One))
  6542. {
  6543. Store (DerefOf (Index (SNBF, 0x02)), Local1)
  6544. And (Local1, One, Local1)
  6545. XOr (Local1, One, Local1)
  6546. PHSB (0xCE, Local1)
  6547. }
  6548. Else
  6549. {
  6550. }
  6551. }
  6552.  
  6553. DBGC (0x73, 0x81, BCEN)
  6554. }
  6555.  
  6556. Method (SNF4, 1, NotSerialized)
  6557. {
  6558. Store (DerefOf (Index (SNBF, One)), Local0)
  6559. If (LEqual (Local0, Zero))
  6560. {
  6561. Store (PHS (0xDD), Local1)
  6562. Store (And (Local1, One), Index (SNBF, Zero))
  6563. }
  6564. Else
  6565. {
  6566. If (LEqual (Local0, One))
  6567. {
  6568. Store (PHS (0xDD), Local1)
  6569. ShiftRight (And (Local1, 0x06), One, Local1)
  6570. Store (Local1, Index (SNBF, Zero))
  6571. }
  6572. Else
  6573. {
  6574. If (LEqual (Local0, 0x02))
  6575. {
  6576. Store (DerefOf (Index (SNBF, 0x02)), Local1)
  6577. And (Local1, 0x03, Local1)
  6578. PHSD (0xDE, Local1)
  6579. }
  6580. Else
  6581. {
  6582. If (LEqual (Local0, 0x03))
  6583. {
  6584. Store (PHS (0xDD), Local1)
  6585. ShiftRight (And (Local1, 0x30), 0x04, Local1)
  6586. Store (Local1, Index (SNBF, Zero))
  6587. }
  6588. Else
  6589. {
  6590. If (LEqual (Local0, 0x04))
  6591. {
  6592. Store (DerefOf (Index (SNBF, 0x02)), Local1)
  6593. And (Local1, 0x03, Local1)
  6594. PHSD (0xDF, Local1)
  6595. }
  6596. Else
  6597. {
  6598. If (LEqual (Local0, 0x07))
  6599. {
  6600. ShiftRight (And (Store (SN04 (), Local1), 0x10), 0x04, Local1)
  6601. Store (Local1, Index (SNBF, Zero))
  6602. }
  6603. Else
  6604. {
  6605. }
  6606. }
  6607. }
  6608. }
  6609. }
  6610. }
  6611.  
  6612. DBGC (0x74, 0x81, BCEN)
  6613. Return (SNBF)
  6614. }
  6615.  
  6616. Method (SNF5, 1, NotSerialized)
  6617. {
  6618. Store (DerefOf (Index (SNBF, One)), Local0)
  6619. If (LEqual (Local0, Zero))
  6620. {
  6621. Store (^^EC.ISID, Local1)
  6622. If (LEqual (Local1, 0x02))
  6623. {
  6624. Store (0x04, Local1)
  6625. }
  6626. Else
  6627. {
  6628. Store (Zero, Local1)
  6629. }
  6630.  
  6631. Store (Local1, Index (SNBF, Zero))
  6632. }
  6633. Else
  6634. {
  6635. }
  6636.  
  6637. DBGC (0x75, 0x81, BCEN)
  6638. }
  6639.  
  6640. Method (SNF6, 1, NotSerialized)
  6641. {
  6642. Store (DerefOf (Index (SNBF, One)), Local0)
  6643. If (LEqual (Local0, Zero))
  6644. {
  6645. Store (One, Index (SNBF, Zero))
  6646. }
  6647.  
  6648. If (LEqual (Local0, One))
  6649. {
  6650. Store (DETC, Index (SNBF, Zero))
  6651. }
  6652.  
  6653. If (LEqual (Local0, 0x02))
  6654. {
  6655. Store (DerefOf (Index (SNBF, 0x02)), Local0)
  6656. If (LNotEqual (DETC, Local0))
  6657. {
  6658. PHSB (0xE0, Local0)
  6659. }
  6660.  
  6661. Store (DETC, Local0)
  6662. PHSB (0xE1, Local0)
  6663. }
  6664.  
  6665. DBGC (0x76, 0x81, BCEN)
  6666. Return (SNBF)
  6667. }
  6668.  
  6669. Method (SNF7, 1, NotSerialized)
  6670. {
  6671. Store (DerefOf (Index (SNBF, One)), Local0)
  6672. If (LEqual (Local0, Zero))
  6673. {
  6674. Acquire (MPHS, 0xFFFF)
  6675. Store (SND8, Local1)
  6676. Store (PHDD (0xE2, Local1), SND8)
  6677. DBGC (0x77, 0x81, BCEN)
  6678. Release (MPHS)
  6679. }
  6680. }
  6681.  
  6682. Method (SNFC, 1, NotSerialized)
  6683. {
  6684. Store (DerefOf (Index (SNBF, One)), Local0)
  6685. If (LEqual (Local0, Zero))
  6686. {
  6687. Not (GP21, Local1)
  6688. And (Local1, One, Local1)
  6689. Store (Local1, LBSR)
  6690. Store (Local1, Index (SNBF, Zero))
  6691. }
  6692. Else
  6693. {
  6694. If (LEqual (Local0, One))
  6695. {
  6696. Store (DerefOf (Index (SNBF, 0x02)), Local2)
  6697. And (Local2, One, Local2)
  6698. Store (Local2, LBSR)
  6699. Not (Local2, Local1)
  6700. And (Local1, One, Local1)
  6701. Store (Local1, GP21)
  6702. }
  6703. Else
  6704. {
  6705. }
  6706. }
  6707.  
  6708. DBGC (0x7C, 0x81, BCEN)
  6709. }
  6710.  
  6711. Method (SNFD, 1, NotSerialized)
  6712. {
  6713. Store (DerefOf (Index (SNBF, One)), Local0)
  6714. If (LEqual (Local0, Zero))
  6715. {
  6716. Store (GP02, Local1)
  6717. And (Local1, One, Local1)
  6718. Store (Local1, Index (SNBF, Zero))
  6719. }
  6720. Else
  6721. {
  6722. If (LEqual (Local0, One))
  6723. {
  6724. Store (DerefOf (Index (SNBF, 0x02)), Local2)
  6725. And (Local2, One, Local2)
  6726. Store (Local2, GP02)
  6727. }
  6728. Else
  6729. {
  6730. }
  6731. }
  6732.  
  6733. DBGC (0x7D, 0x81, BCEN)
  6734. }
  6735.  
  6736. Method (SNFE, 1, NotSerialized)
  6737. {
  6738. Store (DerefOf (Index (SNBF, One)), Local0)
  6739. If (LEqual (Local0, Zero))
  6740. {
  6741. Store (PHS (0xC7), Local1)
  6742. And (Local1, 0xFF, Local1)
  6743. If (LEqual (Local1, 0xFE))
  6744. {
  6745. Store (One, Local1)
  6746. }
  6747. Else
  6748. {
  6749. Store (Zero, Local1)
  6750. }
  6751.  
  6752. Store (Local1, Index (SNBF, Zero))
  6753. }
  6754. Else
  6755. {
  6756. If (LEqual (Local0, One))
  6757. {
  6758. Store (DerefOf (Index (SNBF, 0x02)), Local2)
  6759. And (Local2, One, Local2)
  6760. If (LEqual (Local2, Zero))
  6761. {
  6762. Store (0xA0, Local3)
  6763. }
  6764. Else
  6765. {
  6766. Store (0xA1, Local3)
  6767. }
  6768.  
  6769. PHSB (0xC8, Local3)
  6770. }
  6771. Else
  6772. {
  6773. }
  6774. }
  6775.  
  6776. DBGC (0x7E, 0x81, BCEN)
  6777. }
  6778.  
  6779. Method (SNFF, 1, NotSerialized)
  6780. {
  6781. Store (DerefOf (Index (SNBF, One)), Local0)
  6782. If (LEqual (Local0, Zero))
  6783. {
  6784. Store (PHSD (0xC9, 0xFF), Local1)
  6785. If (LEqual (Local1, Zero))
  6786. {
  6787. Store (Zero, SNBD)
  6788. }
  6789. Else
  6790. {
  6791. Store (IIR, SNBD)
  6792. }
  6793. }
  6794. Else
  6795. {
  6796. If (LEqual (Local0, One))
  6797. {
  6798. Store (DerefOf (Index (SNBF, 0x02)), Local2)
  6799. If (LEqual (Local2, One))
  6800. {
  6801. Acquire (MPHS, 0xFFFF)
  6802. Store (PHSD (0xC9, Zero), Local1)
  6803. Store (Local1, SNBD)
  6804. Store (PHSD (0xC9, One), Local1)
  6805. Store (Local1, SND1)
  6806. Store (PHSD (0xC9, 0x02), Local1)
  6807. Store (Local1, SNB8)
  6808. Release (MPHS)
  6809. }
  6810. }
  6811. Else
  6812. {
  6813. }
  6814. }
  6815.  
  6816. DBGC (0x7F, 0x81, BCEN)
  6817. }
  6818.  
  6819. Method (SNAV, 0, NotSerialized)
  6820. {
  6821. Store (PHS (0xD2), Local0)
  6822. If (Local0)
  6823. {
  6824. Store (SNIA, Local1)
  6825. }
  6826. Else
  6827. {
  6828. And (SNIA, Not (SNDK), Local1)
  6829. }
  6830.  
  6831. Return (Local1)
  6832. }
  6833.  
  6834. Method (SNGN, 1, NotSerialized)
  6835. {
  6836. Store (And (Arg0, 0x0F), Local1)
  6837. If (LEqual (Local1, Zero))
  6838. {
  6839. Return (SNN0)
  6840. }
  6841. Else
  6842. {
  6843. If (LEqual (Local1, One))
  6844. {
  6845. If (_OSI ("Windows 2006"))
  6846. {
  6847. Return (Zero)
  6848. }
  6849.  
  6850. Return (SNN1)
  6851. }
  6852. Else
  6853. {
  6854. If (LEqual (Local1, 0x02))
  6855. {
  6856. Return (SNN2)
  6857. }
  6858. Else
  6859. {
  6860. If (LEqual (Local1, 0x04))
  6861. {
  6862. Return (SNN4)
  6863. }
  6864. Else
  6865. {
  6866. If (LEqual (Local1, 0x05))
  6867. {
  6868. Return (SNN5)
  6869. }
  6870. Else
  6871. {
  6872. If (LEqual (Local1, 0x06))
  6873. {
  6874. If (_OSI ("Windows 2006"))
  6875. {
  6876. Return (SNN6)
  6877. }
  6878.  
  6879. Return (Zero)
  6880. }
  6881. Else
  6882. {
  6883. If (LEqual (Local1, 0x07))
  6884. {
  6885. Return (SNN7)
  6886. }
  6887. Else
  6888. {
  6889. If (LEqual (Local1, 0x0E))
  6890. {
  6891. Return (SNNE)
  6892. }
  6893. Else
  6894. {
  6895. Return (Zero)
  6896. }
  6897. }
  6898. }
  6899. }
  6900. }
  6901. }
  6902. }
  6903. }
  6904. }
  6905. }
  6906.  
  6907. Device (PS2K)
  6908. {
  6909. Name (_HID, EisaId ("PNP0303"))
  6910. Name (_CRS, ResourceTemplate ()
  6911. {
  6912. IO (Decode16,
  6913. 0x0060, // Range Minimum
  6914. 0x0060, // Range Maximum
  6915. 0x01, // Alignment
  6916. 0x01, // Length
  6917. )
  6918. IO (Decode16,
  6919. 0x0064, // Range Minimum
  6920. 0x0064, // Range Maximum
  6921. 0x01, // Alignment
  6922. 0x01, // Length
  6923. )
  6924. IRQ (Edge, ActiveHigh, Exclusive, )
  6925. {1}
  6926. })
  6927. }
  6928.  
  6929. Device (PS2M)
  6930. {
  6931. Name (_HID, EisaId ("SNY9001"))
  6932. Name (_CID, EisaId ("PNP0F13"))
  6933. Name (_CRS, ResourceTemplate ()
  6934. {
  6935. IRQ (Edge, ActiveHigh, Exclusive, )
  6936. {12}
  6937. })
  6938. }
  6939. }
  6940.  
  6941. Device (PATA)
  6942. {
  6943. Method (_ADR, 0, Serialized)
  6944. {
  6945. DBGC (0x69, One, BCEN)
  6946. Return (0x001F0001)
  6947. }
  6948.  
  6949. OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
  6950. Field (PACS, DWordAcc, NoLock, Preserve)
  6951. {
  6952. PRIT, 16,
  6953. Offset (0x04),
  6954. PSIT, 4,
  6955. Offset (0x08),
  6956. SYNC, 4,
  6957. Offset (0x0A),
  6958. SDT0, 2,
  6959. , 2,
  6960. SDT1, 2,
  6961. Offset (0x14),
  6962. ICR0, 4,
  6963. ICR1, 4,
  6964. ICR2, 4,
  6965. ICR3, 4,
  6966. ICR4, 4,
  6967. ICR5, 4
  6968. }
  6969.  
  6970. Device (PRID)
  6971. {
  6972. Name (_ADR, Zero)
  6973. Method (_GTM, 0, NotSerialized)
  6974. {
  6975. Name (PBUF, Buffer (0x14)
  6976. {
  6977. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  6978. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  6979. /* 0010 */ 0x00, 0x00, 0x00, 0x00
  6980. })
  6981. CreateDWordField (PBUF, Zero, PIO0)
  6982. CreateDWordField (PBUF, 0x04, DMA0)
  6983. CreateDWordField (PBUF, 0x08, PIO1)
  6984. CreateDWordField (PBUF, 0x0C, DMA1)
  6985. CreateDWordField (PBUF, 0x10, FLAG)
  6986. Store (GETP (PRIT), PIO0)
  6987. Store (GDMA (And (SYNC, One), And (ICR3, One),
  6988. And (ICR0, One), SDT0, And (ICR1, One)), DMA0)
  6989. If (LEqual (DMA0, 0xFFFFFFFF))
  6990. {
  6991. Store (PIO0, DMA0)
  6992. }
  6993.  
  6994. If (And (PRIT, 0x4000))
  6995. {
  6996. If (LEqual (And (PRIT, 0x90), 0x80))
  6997. {
  6998. Store (0x0384, PIO1)
  6999. }
  7000. Else
  7001. {
  7002. Store (GETT (PSIT), PIO1)
  7003. }
  7004. }
  7005. Else
  7006. {
  7007. Store (0xFFFFFFFF, PIO1)
  7008. }
  7009.  
  7010. Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
  7011. And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1)
  7012. If (LEqual (DMA1, 0xFFFFFFFF))
  7013. {
  7014. Store (PIO1, DMA1)
  7015. }
  7016.  
  7017. Store (GETF (And (SYNC, One), And (SYNC, 0x02),
  7018. PRIT), FLAG)
  7019. If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF)))
  7020. {
  7021. Store (0x78, PIO0)
  7022. Store (0x14, DMA0)
  7023. Store (0x03, FLAG)
  7024. }
  7025.  
  7026. Return (PBUF)
  7027. }
  7028.  
  7029. Method (_STM, 3, NotSerialized)
  7030. {
  7031. CreateDWordField (Arg0, Zero, PIO0)
  7032. CreateDWordField (Arg0, 0x04, DMA0)
  7033. CreateDWordField (Arg0, 0x08, PIO1)
  7034. CreateDWordField (Arg0, 0x0C, DMA1)
  7035. CreateDWordField (Arg0, 0x10, FLAG)
  7036. If (LEqual (SizeOf (Arg1), 0x0200))
  7037. {
  7038. And (PRIT, 0xC0F0, PRIT)
  7039. And (SYNC, 0x02, SYNC)
  7040. Store (Zero, SDT0)
  7041. And (ICR0, 0x02, ICR0)
  7042. And (ICR1, 0x02, ICR1)
  7043. And (ICR3, 0x02, ICR3)
  7044. And (ICR5, 0x02, ICR5)
  7045. CreateWordField (Arg1, 0x62, W490)
  7046. CreateWordField (Arg1, 0x6A, W530)
  7047. CreateWordField (Arg1, 0x7E, W630)
  7048. CreateWordField (Arg1, 0x80, W640)
  7049. CreateWordField (Arg1, 0xB0, W880)
  7050. CreateWordField (Arg1, 0xBA, W930)
  7051. Or (PRIT, 0x8004, PRIT)
  7052. If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
  7053. {
  7054. Or (PRIT, 0x02, PRIT)
  7055. }
  7056.  
  7057. Or (PRIT, SETP (PIO0, W530, W640), PRIT)
  7058. If (And (FLAG, One))
  7059. {
  7060. Or (SYNC, One, SYNC)
  7061. Store (SDMA (DMA0), SDT0)
  7062. If (LLess (DMA0, 0x1E))
  7063. {
  7064. Or (ICR3, One, ICR3)
  7065. }
  7066.  
  7067. If (LLess (DMA0, 0x3C))
  7068. {
  7069. Or (ICR0, One, ICR0)
  7070. }
  7071.  
  7072. If (And (W930, 0x2000))
  7073. {
  7074. Or (ICR1, One, ICR1)
  7075. }
  7076. }
  7077. }
  7078.  
  7079. If (LEqual (SizeOf (Arg2), 0x0200))
  7080. {
  7081. And (PRIT, 0xBF0F, PRIT)
  7082. Store (Zero, PSIT)
  7083. And (SYNC, One, SYNC)
  7084. Store (Zero, SDT1)
  7085. And (ICR0, One, ICR0)
  7086. And (ICR1, One, ICR1)
  7087. And (ICR3, One, ICR3)
  7088. And (ICR5, One, ICR5)
  7089. CreateWordField (Arg2, 0x62, W491)
  7090. CreateWordField (Arg2, 0x6A, W531)
  7091. CreateWordField (Arg2, 0x7E, W631)
  7092. CreateWordField (Arg2, 0x80, W641)
  7093. CreateWordField (Arg2, 0xB0, W881)
  7094. CreateWordField (Arg2, 0xBA, W931)
  7095. Or (PRIT, 0x8040, PRIT)
  7096. If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
  7097. {
  7098. Or (PRIT, 0x20, PRIT)
  7099. }
  7100.  
  7101. If (And (FLAG, 0x10))
  7102. {
  7103. Or (PRIT, 0x4000, PRIT)
  7104. If (LGreater (PIO1, 0xF0))
  7105. {
  7106. Or (PRIT, 0x80, PRIT)
  7107. }
  7108. Else
  7109. {
  7110. Or (PRIT, 0x10, PRIT)
  7111. Store (SETT (PIO1, W531, W641), PSIT)
  7112. }
  7113. }
  7114.  
  7115. If (And (FLAG, 0x04))
  7116. {
  7117. Or (SYNC, 0x02, SYNC)
  7118. Store (SDMA (DMA1), SDT1)
  7119. If (LLess (DMA1, 0x1E))
  7120. {
  7121. Or (ICR3, 0x02, ICR3)
  7122. }
  7123.  
  7124. If (LLess (DMA1, 0x3C))
  7125. {
  7126. Or (ICR0, 0x02, ICR0)
  7127. }
  7128.  
  7129. If (And (W931, 0x2000))
  7130. {
  7131. Or (ICR1, 0x02, ICR1)
  7132. }
  7133. }
  7134. }
  7135. }
  7136.  
  7137. Device (P_D0)
  7138. {
  7139. Name (_ADR, Zero)
  7140. Method (_RMV, 0, NotSerialized)
  7141. {
  7142. Return (Zero)
  7143. }
  7144.  
  7145. Method (_GTF, 0, NotSerialized)
  7146. {
  7147. Name (PIB0, Buffer (0x0E)
  7148. {
  7149. /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,
  7150. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  7151. })
  7152. CreateByteField (PIB0, One, PMD0)
  7153. CreateByteField (PIB0, 0x08, DMD0)
  7154. If (And (PRIT, 0x02))
  7155. {
  7156. If (LEqual (And (PRIT, 0x09), 0x08))
  7157. {
  7158. Store (0x08, PMD0)
  7159. }
  7160. Else
  7161. {
  7162. Store (0x0A, PMD0)
  7163. ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
  7164. ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
  7165. Add (Local0, Local1, Local2)
  7166. If (LEqual (0x03, Local2))
  7167. {
  7168. Store (0x0B, PMD0)
  7169. }
  7170.  
  7171. If (LEqual (0x05, Local2))
  7172. {
  7173. Store (0x0C, PMD0)
  7174. }
  7175. }
  7176. }
  7177. Else
  7178. {
  7179. Store (One, PMD0)
  7180. }
  7181.  
  7182. If (And (SYNC, One))
  7183. {
  7184. Store (Or (SDT0, 0x40), DMD0)
  7185. If (And (ICR1, One))
  7186. {
  7187. If (And (ICR0, One))
  7188. {
  7189. Add (DMD0, 0x02, DMD0)
  7190. }
  7191.  
  7192. If (And (ICR3, One))
  7193. {
  7194. Store (0x45, DMD0)
  7195. }
  7196. }
  7197. }
  7198. Else
  7199. {
  7200. Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0)
  7201. }
  7202.  
  7203. Return (PIB0)
  7204. }
  7205. }
  7206.  
  7207. Device (P_D1)
  7208. {
  7209. Name (_ADR, One)
  7210. Method (_GTF, 0, NotSerialized)
  7211. {
  7212. Name (PIB1, Buffer (0x0E)
  7213. {
  7214. /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,
  7215. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
  7216. })
  7217. CreateByteField (PIB1, One, PMD1)
  7218. CreateByteField (PIB1, 0x08, DMD1)
  7219. If (And (PRIT, 0x20))
  7220. {
  7221. If (LEqual (And (PRIT, 0x90), 0x80))
  7222. {
  7223. Store (0x08, PMD1)
  7224. }
  7225. Else
  7226. {
  7227. Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),
  7228. 0x02), Local0)
  7229. If (LEqual (0x05, Local0))
  7230. {
  7231. Store (0x0C, PMD1)
  7232. }
  7233. Else
  7234. {
  7235. If (LEqual (0x03, Local0))
  7236. {
  7237. Store (0x0B, PMD1)
  7238. }
  7239. Else
  7240. {
  7241. Store (0x0A, PMD1)
  7242. }
  7243. }
  7244. }
  7245. }
  7246. Else
  7247. {
  7248. Store (One, PMD1)
  7249. }
  7250.  
  7251. If (And (SYNC, 0x02))
  7252. {
  7253. Store (Or (SDT1, 0x40), DMD1)
  7254. If (And (ICR1, 0x02))
  7255. {
  7256. If (And (ICR0, 0x02))
  7257. {
  7258. Add (DMD1, 0x02, DMD1)
  7259. }
  7260.  
  7261. If (And (ICR3, 0x02))
  7262. {
  7263. Store (0x45, DMD1)
  7264. }
  7265. }
  7266. }
  7267. Else
  7268. {
  7269. Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1)
  7270. }
  7271.  
  7272. Return (PIB1)
  7273. }
  7274. }
  7275. }
  7276. }
  7277.  
  7278. Device (SATA)
  7279. {
  7280. Method (_ADR, 0, Serialized)
  7281. {
  7282. DBGC (0x69, 0x02, BCEN)
  7283. Return (0x001F0002)
  7284. }
  7285.  
  7286. OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
  7287. Field (SACS, DWordAcc, NoLock, Preserve)
  7288. {
  7289. PRIT, 16,
  7290. SECT, 16,
  7291. PSIT, 4,
  7292. SSIT, 4,
  7293. Offset (0x08),
  7294. SYNC, 4,
  7295. Offset (0x0A),
  7296. SDT0, 2,
  7297. , 2,
  7298. SDT1, 2,
  7299. Offset (0x0B),
  7300. SDT2, 2,
  7301. , 2,
  7302. SDT3, 2,
  7303. Offset (0x14),
  7304. ICR0, 4,
  7305. ICR1, 4,
  7306. ICR2, 4,
  7307. ICR3, 4,
  7308. ICR4, 4,
  7309. ICR5, 4,
  7310. Offset (0x50),
  7311. MAPV, 2
  7312. }
  7313. }
  7314.  
  7315. Device (SBUS)
  7316. {
  7317. Method (_ADR, 0, Serialized)
  7318. {
  7319. DBGC (0x69, 0x03, BCEN)
  7320. Return (0x001F0003)
  7321. }
  7322. }
  7323. }
  7324. }
  7325. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement