Advertisement
Guest User

Untitled

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