Advertisement
Guest User

Untitled

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