Guest User

ikbendeman

a guest
Dec 16th, 2009
500
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 327.56 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML Disassembler version 20070320
  4. *
  5. * Disassembly of /root/dv5-1004nr.dst, Wed Dec 16 23:38:07 2009
  6. *
  7. *
  8. * Original Table Header:
  9. * Signature "DSDT"
  10. * Length 0x00009A91 (39569)
  11. * Revision 0x01
  12. * OEM ID "HP "
  13. * OEM Table ID "30F2 "
  14. * OEM Revision 0xF0000000 (4026531840)
  15. * Creator ID "MSFT"
  16. * Creator Revision 0x01000013 (16777235)
  17. */
  18. DefinitionBlock ("/root/dv5-1004nr.aml", "DSDT", 1, "HP ", "30F2 ", 0xF0000000)
  19. {
  20. OperationRegion (SSMI, SystemIO, 0x0F80, One)
  21. Field (SSMI, ByteAcc, NoLock, Preserve)
  22. {
  23. TRP0, 8
  24. }
  25.  
  26. OperationRegion (DBG0, SystemIO, 0x80, One)
  27. Field (DBG0, ByteAcc, NoLock, Preserve)
  28. {
  29. IO80, 8
  30. }
  31.  
  32. OperationRegion (ACMS, SystemIO, 0x72, 0x02)
  33. Field (ACMS, ByteAcc, NoLock, Preserve)
  34. {
  35. INDX, 8,
  36. DATA, 8
  37. }
  38.  
  39. IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
  40. {
  41. Offset (0xC0),
  42. BTWL, 2,
  43. BTLS, 1,
  44. WWLS, 1,
  45. BWLS, 1,
  46. Offset (0xC2),
  47. IVIM, 8,
  48. Offset (0xC5),
  49. BRAC, 8,
  50. BRDC, 8,
  51. VRAM, 8,
  52. WPES, 8,
  53. Offset (0xEE),
  54. , 3,
  55. S3RW, 1
  56. }
  57.  
  58. OperationRegion (PSMI, SystemIO, 0xB0, 0x02)
  59. Field (PSMI, ByteAcc, NoLock, Preserve)
  60. {
  61. APMC, 8,
  62. APMD, 8
  63. }
  64.  
  65. OperationRegion (PMRG, SystemIO, 0x0CD6, 0x02)
  66. Field (PMRG, ByteAcc, NoLock, Preserve)
  67. {
  68. PMRI, 8,
  69. PMRD, 8
  70. }
  71.  
  72. IndexField (PMRI, PMRD, ByteAcc, NoLock, Preserve)
  73. {
  74. , 1,
  75. TM1E, 1,
  76. TM2E, 1,
  77. Offset (0x01),
  78. , 1,
  79. TM1S, 1,
  80. TM2S, 1,
  81. Offset (0x04),
  82. , 7,
  83. SLPS, 1,
  84. Offset (0x07),
  85. , 7,
  86. CLPS, 1,
  87. Offset (0x10),
  88. , 6,
  89. PWDE, 1,
  90. Offset (0x1C),
  91. , 3,
  92. MKME, 1,
  93. PI3E, 1,
  94. PI2E, 1,
  95. PI1E, 1,
  96. PI0E, 1,
  97. , 3,
  98. MKMS, 1,
  99. PI3S, 1,
  100. PI2S, 1,
  101. PI1S, 1,
  102. PI0S, 1,
  103. Offset (0x20),
  104. P1EB, 16,
  105. Offset (0x36),
  106. , 6,
  107. GV6P, 1,
  108. GV7P, 1,
  109. , 3,
  110. GM0P, 1,
  111. GM1P, 1,
  112. GM2P, 1,
  113. GM3P, 1,
  114. GM8P, 1,
  115. , 1,
  116. GM4P, 1,
  117. GM5P, 1,
  118. , 1,
  119. GM6P, 1,
  120. GM7P, 1,
  121. Offset (0x3B),
  122. GPX0, 1,
  123. GPX4, 1,
  124. GPX5, 1,
  125. GPX1, 1,
  126. GPX6, 1,
  127. GPX7, 1,
  128. GPX2, 1,
  129. GPX3, 1,
  130. Offset (0x55),
  131. SPRE, 1,
  132. , 1,
  133. , 1,
  134. EPNM, 1,
  135. DPPF, 1,
  136. FNGS, 1,
  137. Offset (0x61),
  138. , 7,
  139. R617, 1,
  140. Offset (0x65),
  141. , 4,
  142. RSTU, 1,
  143. Offset (0x68),
  144. , 3,
  145. TPDE, 1,
  146. , 1,
  147. Offset (0x92),
  148. , 7,
  149. GV7S, 1,
  150. Offset (0x9A),
  151. , 7,
  152. HECO, 1,
  153. Offset (0xA8),
  154. TPE0, 1,
  155. TPE1, 1,
  156. TPE2, 1,
  157. TPE3, 1
  158. }
  159.  
  160. OperationRegion (P1E0, SystemIO, P1EB, 0x04)
  161. Field (P1E0, ByteAcc, NoLock, Preserve)
  162. {
  163. , 14,
  164. PEWS, 1,
  165. WSTA, 1,
  166. , 14,
  167. PEWD, 1
  168. }
  169.  
  170. OperationRegion (IOCC, SystemIO, 0x0400, 0x80)
  171. Field (IOCC, ByteAcc, NoLock, Preserve)
  172. {
  173. Offset (0x01),
  174. , 2,
  175. RTCS, 1
  176. }
  177.  
  178. Name (PCM1, Zero)
  179. Name (IW1S, Zero)
  180. Name (IW2S, Zero)
  181. Method (OT80, 1, NotSerialized)
  182. {
  183. Store (Arg0, APMD)
  184. Store (0xE5, APMC)
  185. Stall (0xFF)
  186. Stall (0xFF)
  187. Stall (0xFF)
  188. Stall (0xFF)
  189. Stall (0xFF)
  190. Stall (0xFF)
  191. }
  192.  
  193. Name (PS48, Zero)
  194. Name (PS49, Zero)
  195. Name (PS4A, Zero)
  196. Name (PS4B, Zero)
  197. Name (PRWP, Package (0x02)
  198. {
  199. Zero,
  200. Zero
  201. })
  202. Method (GPRW, 2, NotSerialized)
  203. {
  204. Store (Arg0, Index (PRWP, Zero))
  205. Store (Arg1, Index (PRWP, One))
  206. If (LAnd (LEqual (DAS3, Zero), LEqual (DAS1, Zero)))
  207. {
  208. If (LLessEqual (Arg1, 0x03))
  209. {
  210. Store (Zero, Index (PRWP, One))
  211. }
  212. }
  213. Else
  214. {
  215. If (LAnd (LEqual (DAS3, Zero), LEqual (Arg1, 0x03)))
  216. {
  217. Store (One, Index (PRWP, One))
  218. }
  219.  
  220. If (LAnd (LEqual (DAS1, Zero), LEqual (Arg1, One)))
  221. {
  222. Store (Zero, Index (PRWP, One))
  223. }
  224. }
  225.  
  226. Return (PRWP)
  227. }
  228.  
  229. OperationRegion (PCFG, SystemMemory, 0xE0000000, 0x10000000)
  230. Field (PCFG, AnyAcc, NoLock, Preserve)
  231. {
  232. Offset (0x88024),
  233. STB5, 32,
  234. Offset (0x90042),
  235. PT0D, 1,
  236. PT1D, 1,
  237. PT2D, 1,
  238. PT3D, 1,
  239. PT4D, 1,
  240. PT5D, 1,
  241. PT6D, 1,
  242. PT7D, 1,
  243. PT8D, 1,
  244. PT9D, 1
  245. }
  246.  
  247. OperationRegion (BAR, SystemMemory, STB5, 0x1000)
  248. Field (BAR, AnyAcc, NoLock, Preserve)
  249. {
  250. Offset (0x120),
  251. , 7,
  252. PMBY, 1,
  253. Offset (0x128),
  254. PMS0, 4,
  255. Offset (0x129),
  256. PMS1, 4,
  257. Offset (0x12C),
  258. DET0, 4,
  259. Offset (0x130),
  260. Offset (0x132),
  261. PRC0, 1,
  262. Offset (0x1A0),
  263. , 7,
  264. SMBY, 1,
  265. Offset (0x1A8),
  266. SMS0, 4,
  267. Offset (0x1A9),
  268. SMS1, 4,
  269. Offset (0x1AC),
  270. DET1, 4,
  271. Offset (0x1B0),
  272. Offset (0x1B2),
  273. PRC1, 1,
  274. Offset (0x220),
  275. , 7,
  276. PSBY, 1,
  277. Offset (0x228),
  278. PSS0, 4,
  279. Offset (0x229),
  280. PSS1, 4,
  281. Offset (0x22C),
  282. DET2, 4,
  283. Offset (0x230),
  284. Offset (0x232),
  285. PRC2, 1,
  286. Offset (0x2A0),
  287. , 7,
  288. SSBY, 1,
  289. Offset (0x2A8),
  290. SSS0, 4,
  291. Offset (0x2A9),
  292. SSS1, 4,
  293. Offset (0x2AC),
  294. DET3, 4,
  295. Offset (0x2B0),
  296. Offset (0x2B2),
  297. PRC3, 1
  298. }
  299.  
  300. Method (SPTS, 1, NotSerialized)
  301. {
  302. If (LEqual (Arg0, 0x03))
  303. {
  304. Store (Zero, RSTU)
  305. }
  306.  
  307. Store (One, CLPS)
  308. Store (One, SLPS)
  309. Store (Zero, PWDE)
  310. }
  311.  
  312. Method (SWAK, 1, NotSerialized)
  313. {
  314. Store (One, HECO)
  315. If (LEqual (Arg0, 0x03))
  316. {
  317. Store (One, RSTU)
  318. }
  319.  
  320. Store (PEWS, PEWS)
  321. Store (One, PWDE)
  322. Store (Zero, PEWD)
  323. }
  324.  
  325. Method (TRMD, 1, NotSerialized)
  326. {
  327. Store (Arg0, SPRE)
  328. Store (Arg0, TPDE)
  329. }
  330.  
  331. Method (CHKH, 0, NotSerialized)
  332. {
  333. Store (\_SB.PCI0.SMBS.GEVS, Local0)
  334. If (And (Local0, 0x10))
  335. {
  336. Store (Zero, \_SB.PCI0.SMBS.GE4T)
  337. }
  338. Else
  339. {
  340. Store (One, \_SB.PCI0.SMBS.GE4T)
  341. }
  342. }
  343.  
  344. Method (TRAP, 1, Serialized)
  345. {
  346. Store (Arg0, SMIF)
  347. Store (Zero, TRP0)
  348. Return (SMIF)
  349. }
  350.  
  351. OperationRegion (MBOX, SystemMemory, 0xAFEBEA18, 0x000002BD)
  352. Field (MBOX, AnyAcc, NoLock, Preserve)
  353. {
  354. PCI1, 8,
  355. PCI2, 8,
  356. PCI3, 8,
  357. PCI4, 8,
  358. PCI5, 8,
  359. PCI6, 8,
  360. PCI7, 8,
  361. PCI8, 8,
  362. NLCK, 8,
  363. ZIPE, 8,
  364. COMA, 8,
  365. CAIO, 8,
  366. CAIP, 8,
  367. CAMD, 8,
  368. CADA, 8,
  369. COMB, 8,
  370. CBIO, 8,
  371. CBIP, 8,
  372. CBMD, 8,
  373. CBDA, 8,
  374. FHSD, 8,
  375. COMC, 8,
  376. CCIO, 8,
  377. CCIP, 8,
  378. CCMD, 8,
  379. CCDA, 8,
  380. COMD, 8,
  381. CDIO, 8,
  382. CDIP, 8,
  383. CDMD, 8,
  384. CDDA, 8,
  385. LPT1, 8,
  386. L1IO, 8,
  387. L1IP, 8,
  388. L1MD, 8,
  389. L1DA, 8,
  390. LPT2, 8,
  391. L2IO, 8,
  392. L2IP, 8,
  393. L2MD, 8,
  394. L2DA, 8,
  395. LPT3, 8,
  396. L3IO, 8,
  397. L3IP, 8,
  398. L3MD, 8,
  399. L3DA, 8,
  400. FDDC, 8,
  401. FDWP, 8,
  402. HGMP, 8,
  403. LGMP, 8,
  404. MIDI, 8,
  405. AZLA, 8,
  406. AUDO, 8,
  407. MODM, 8,
  408. IDEC, 8,
  409. SSED, 8,
  410. PACT, 8,
  411. SCFG, 8,
  412. AMOD, 8,
  413. IMOD, 8,
  414. LCFG, 8,
  415. IDLY, 8,
  416. PMTP, 8,
  417. PMIO, 8,
  418. PMBM, 8,
  419. PMTM, 8,
  420. PSTP, 8,
  421. PSIO, 8,
  422. PSBM, 8,
  423. PSTM, 8,
  424. IDE0, 8,
  425. IDE1, 8,
  426. IDE2, 8,
  427. IDE3, 8,
  428. IDE4, 8,
  429. IDE5, 8,
  430. IDE6, 8,
  431. IDE7, 8,
  432. HIUB, 8,
  433. LUBS, 8,
  434. PLYT, 8,
  435. EDCG, 8,
  436. SDFY, 8,
  437. SDTC, 8,
  438. SDRP, 8,
  439. SDCL, 8,
  440. SDRC, 8,
  441. SDRE, 8,
  442. FC2L, 8,
  443. FC3L, 8,
  444. FCS4, 8,
  445. APIM, 8,
  446. HPTS, 8,
  447. HPTA, 8,
  448. EMAS, 8,
  449. VGAO, 8,
  450. SOFF, 8,
  451. KBPO, 8,
  452. MSPO, 8,
  453. USBB, 8,
  454. EVTL, 8,
  455. SYBE, 8,
  456. ETLC, 8,
  457. AC30, 8,
  458. TPMD, 8,
  459. TPMO, 8,
  460. TPMC, 8,
  461. TPMM, 8,
  462. TPCC, 8,
  463. TPLC, 8,
  464. TPLR, 32,
  465. QBOT, 8,
  466. QTBT, 8,
  467. PBOT, 8,
  468. M256, 8,
  469. PEGF, 8,
  470. ORTS, 16,
  471. BMTP, 8,
  472. BNPT, 8,
  473. LNMT, 8,
  474. NBTO, 8,
  475. NABD, 8,
  476. NEBD, 8,
  477. NLBD, 8,
  478. DFBT, 16,
  479. NPSP, 16,
  480. LANG, 8,
  481. UACL, 8,
  482. SUPS, 8,
  483. DVET, 8,
  484. S3RS, 8,
  485. DAS1, 8,
  486. DAS3, 8,
  487. WKPM, 8,
  488. WKMD, 8,
  489. WKS5, 8,
  490. HOUR, 8,
  491. MINS, 8,
  492. SECS, 8,
  493. DOFM, 8,
  494. NBTV, 64,
  495. BTOD, 64,
  496. SPVP, 16,
  497. POPD, 16,
  498. USPW, 16,
  499. HDPW, 8,
  500. KRSV, 488,
  501. LIMF, 8,
  502. LIMS, 8,
  503. IGMT, 8,
  504. PWST, 8,
  505. PNOW, 8,
  506. FNON, 8,
  507. TRON, 8,
  508. PCRR, 8,
  509. C4EN, 8,
  510. C43D, 8,
  511. MPST, 8,
  512. VTSP, 8,
  513. VTFT, 8,
  514. PFMP, 8,
  515. PVAT, 8,
  516. OHC0, 8,
  517. OHC1, 8,
  518. OHC2, 8,
  519. OHC3, 8,
  520. OHC4, 8,
  521. EHC0, 8,
  522. EHC1, 8,
  523. SATE, 8,
  524. EC1E, 8,
  525. ESVM, 8,
  526. MCLC, 8,
  527. MCLV, 8,
  528. HTFR, 8,
  529. HTWD, 8,
  530. GSPL, 8,
  531. P2G2, 8,
  532. P2LA, 8,
  533. P2LW, 8,
  534. P2SP, 8,
  535. P2LI, 8,
  536. P2CM, 8,
  537. P4G2, 8,
  538. P4LA, 8,
  539. P4LI, 8,
  540. P4CM, 8,
  541. P5G2, 8,
  542. P5LA, 8,
  543. P5LI, 8,
  544. P5CM, 8,
  545. P6G2, 8,
  546. P6LA, 8,
  547. P6LI, 8,
  548. P6CM, 8,
  549. P7G2, 8,
  550. P7LA, 8,
  551. P7LI, 8,
  552. P7CM, 8,
  553. P8LA, 8,
  554. P8VT, 8,
  555. P8CM, 8,
  556. P9G2, 8,
  557. P9LA, 8,
  558. P9LI, 8,
  559. P9CM, 8,
  560. PAG2, 8,
  561. PALA, 8,
  562. PALI, 8,
  563. PACM, 8,
  564. UMAR, 8,
  565. CPST, 8,
  566. OSCS, 8,
  567. SSSW, 8,
  568. OBLS, 8,
  569. CRSV, 1856,
  570. FDLY, 8,
  571. CDBT, 8,
  572. FPBT, 8,
  573. FF11, 8,
  574. CPBT, 8,
  575. CPTR, 8,
  576. DSME, 8,
  577. D3E, 8,
  578. FANO, 8,
  579. DISP, 8,
  580. OSFG, 8,
  581. ORSV, 472,
  582. DRSV, 800
  583. }
  584.  
  585. Name (ECON, Zero)
  586. OperationRegion (NVST, SystemMemory, 0xAFEBECD5, 0x000001A2)
  587. Field (NVST, AnyAcc, Lock, Preserve)
  588. {
  589. SMIF, 8,
  590. PRM0, 8,
  591. PRM1, 8,
  592. BRTL, 8,
  593. TLST, 8,
  594. IGDS, 8,
  595. LCDA, 16,
  596. CSTE, 16,
  597. NSTE, 16,
  598. CADL, 16,
  599. PADL, 16,
  600. LIDS, 8,
  601. PWRS, 8,
  602. BVAL, 32,
  603. ADDL, 16,
  604. BCMD, 8,
  605. DID, 32,
  606. INFO, 2048,
  607. RESD, 792,
  608. VGAF, 8,
  609. WDI0, 8,
  610. WDI1, 8,
  611. WDI2, 8,
  612. WDI3, 8,
  613. WSI0, 8,
  614. WSI1, 8,
  615. WSI2, 8,
  616. WSI3, 8,
  617. DCKS, 8,
  618. SID0, 8,
  619. SID1, 8,
  620. SID2, 8,
  621. SID3, 8,
  622. SID4, 8,
  623. PPCM, 8,
  624. PPCN, 8,
  625. NCPU, 8,
  626. MCPU, 8,
  627. ECPU, 8,
  628. EXTM, 8,
  629. CMTF, 8,
  630. CMTI, 32,
  631. CMTO, 8,
  632. TOML, 8,
  633. TOMH, 8,
  634. CEBP, 8,
  635. C0LS, 8,
  636. C1LS, 8,
  637. C0HS, 8,
  638. C1HS, 8
  639. }
  640.  
  641. Method (SCMP, 2, NotSerialized)
  642. {
  643. Name (STG1, Buffer (0x50) {})
  644. Name (STG2, Buffer (0x50) {})
  645. Store (Arg0, STG1)
  646. Store (Arg1, STG2)
  647. If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1)))
  648. {
  649. Return (Zero)
  650. }
  651.  
  652. Store (Zero, Local0)
  653. While (LLess (Local0, SizeOf (Arg0)))
  654. {
  655. If (LNotEqual (DerefOf (Index (STG1, Local0)), DerefOf (Index (
  656. STG2, Local0))))
  657. {
  658. Return (Zero)
  659. }
  660.  
  661. Increment (Local0)
  662. }
  663.  
  664. Return (One)
  665. }
  666.  
  667. Name (WNOS, Zero)
  668. Method (CKOS, 0, NotSerialized)
  669. {
  670. If (LEqual (WNOS, Zero))
  671. {
  672. If (SCMP (_OS, "Microsoft Windows"))
  673. {
  674. Store (One, WNOS)
  675. }
  676.  
  677. If (SCMP (_OS, "Microsoft Windows NT"))
  678. {
  679. Store (0x02, WNOS)
  680. }
  681.  
  682. If (SCMP (_OS, "Microsoft WindowsME: Millennium Edition"))
  683. {
  684. Store (0x03, WNOS)
  685. }
  686.  
  687. If (CondRefOf (_OSI, Local0))
  688. {
  689. If (SCMP (_OS, "Windows 2006"))
  690. {
  691. Store (0x05, WNOS)
  692. }
  693. Else
  694. {
  695. Store (0x04, WNOS)
  696. }
  697. }
  698. }
  699.  
  700. Return (WNOS)
  701. }
  702.  
  703. Name (MYOS, Zero)
  704. Name (HTTS, Zero)
  705. Method (SEQL, 2, Serialized)
  706. {
  707. Store (SizeOf (Arg0), Local0)
  708. Store (SizeOf (Arg1), Local1)
  709. If (LNotEqual (Local0, Local1))
  710. {
  711. Return (Zero)
  712. }
  713.  
  714. Name (BUF0, Buffer (Local0) {})
  715. Store (Arg0, BUF0)
  716. Name (BUF1, Buffer (Local0) {})
  717. Store (Arg1, BUF1)
  718. Store (Zero, Local2)
  719. While (LLess (Local2, Local0))
  720. {
  721. Store (DerefOf (Index (BUF0, Local2)), Local3)
  722. Store (DerefOf (Index (BUF1, Local2)), Local4)
  723. If (LNotEqual (Local3, Local4))
  724. {
  725. Return (Zero)
  726. }
  727.  
  728. Increment (Local2)
  729. }
  730.  
  731. Return (One)
  732. }
  733.  
  734. Name (OSTB, Ones)
  735. Name (TPOS, Zero)
  736. Name (LINX, Zero)
  737. Method (OSTP, 0, NotSerialized)
  738. {
  739. If (LEqual (OSTB, Ones))
  740. {
  741. If (CondRefOf (_OSI, Local0))
  742. {
  743. Store (Zero, OSTB)
  744. Store (Zero, TPOS)
  745. If (_OSI ("Windows 2001"))
  746. {
  747. Store (0x08, OSTB)
  748. Store (0x08, TPOS)
  749. }
  750.  
  751. If (_OSI ("Windows 2001.1"))
  752. {
  753. Store (0x20, OSTB)
  754. Store (0x20, TPOS)
  755. }
  756.  
  757. If (_OSI ("Windows 2001 SP1"))
  758. {
  759. Store (0x10, OSTB)
  760. Store (0x10, TPOS)
  761. }
  762.  
  763. If (_OSI ("Windows 2001 SP2"))
  764. {
  765. Store (0x11, OSTB)
  766. Store (0x11, TPOS)
  767. }
  768.  
  769. If (_OSI ("Windows 2001 SP3"))
  770. {
  771. Store (0x12, OSTB)
  772. Store (0x12, TPOS)
  773. }
  774.  
  775. If (_OSI ("Windows 2006"))
  776. {
  777. Store (0x40, OSTB)
  778. Store (0x40, TPOS)
  779. }
  780.  
  781. If (_OSI ("Windows 2006 SP1"))
  782. {
  783. Store (0x41, OSTB)
  784. Store (0x40, TPOS)
  785. }
  786.  
  787. If (_OSI ("Linux"))
  788. {
  789. Store (One, LINX)
  790. Store (0x80, OSTB)
  791. Store (0x80, TPOS)
  792. }
  793. }
  794. Else
  795. {
  796. If (CondRefOf (_OS, Local0))
  797. {
  798. If (SEQL (_OS, "Microsoft Windows"))
  799. {
  800. Store (One, OSTB)
  801. Store (One, TPOS)
  802. }
  803. Else
  804. {
  805. If (SEQL (_OS, "Microsoft WindowsME: Millennium Edition"))
  806. {
  807. Store (0x02, OSTB)
  808. Store (0x02, TPOS)
  809. }
  810. Else
  811. {
  812. If (SEQL (_OS, "Microsoft Windows NT"))
  813. {
  814. Store (0x04, OSTB)
  815. Store (0x04, TPOS)
  816. }
  817. Else
  818. {
  819. Store (Zero, OSTB)
  820. Store (Zero, TPOS)
  821. }
  822. }
  823. }
  824. }
  825. Else
  826. {
  827. Store (Zero, OSTB)
  828. Store (Zero, TPOS)
  829. }
  830. }
  831. }
  832.  
  833. Return (OSTB)
  834. }
  835.  
  836. Scope (_PR)
  837. {
  838. Processor (CPU0, 0x00, 0x00000410, 0x06) {}
  839. Processor (CPU1, 0x01, 0x00000000, 0x00) {}
  840. }
  841.  
  842. Name (_S0, Package (0x04)
  843. {
  844. Zero,
  845. Zero,
  846. Zero,
  847. Zero
  848. })
  849. If (LEqual (DAS3, One))
  850. {
  851. Name (_S3, Package (0x04)
  852. {
  853. 0x03,
  854. Zero,
  855. Zero,
  856. Zero
  857. })
  858. }
  859.  
  860. Name (_S4, Package (0x04)
  861. {
  862. 0x04,
  863. Zero,
  864. Zero,
  865. Zero
  866. })
  867. Name (_S5, Package (0x04)
  868. {
  869. 0x05,
  870. Zero,
  871. Zero,
  872. Zero
  873. })
  874. Scope (_GPE)
  875. {
  876. Method (_L03, 0, NotSerialized)
  877. {
  878. Notify (\_SB.PCI0.LPC0.PS2K, 0x02)
  879. Notify (\_SB.PCI0.LPC0.PS2M, 0x02)
  880. Notify (\_SB.PWRB, 0x02)
  881. }
  882.  
  883. Method (_L04, 0, NotSerialized)
  884. {
  885. Name (HP4F, Zero)
  886. If (\_SB.PCI0.SMBS.GE4T)
  887. {
  888. Sleep (0x14)
  889. Store (\_SB.PCI0.SMBS.GEVS, Local0)
  890. If (And (Local0, 0x10))
  891. {
  892. Store (Zero, \_SB.PCI0.SMBS.GE4T)
  893. Store ("HotPlug:04: Removal Event", Debug)
  894. Store (0x08, \_SB.PCI0.PB4.SLST)
  895. Store (\_SB.PCI0.PB4.NCRD.DVID, Local7)
  896. Sleep (0x0A)
  897. Store (One, Local4)
  898. Store (0x05, Local5)
  899. While (LAnd (Local4, Local5))
  900. {
  901. Store (\_SB.PCI0.PB4.XPRD (0xA5), Local6)
  902. And (Local6, 0x3F, Local6)
  903. If (LLessEqual (Local6, 0x04))
  904. {
  905. Store (Zero, Local4)
  906. }
  907. Else
  908. {
  909. Store (\_SB.PCI0.PB4.NCRD.DVID, Local7)
  910. Sleep (0x05)
  911. Decrement (Local5)
  912. }
  913. }
  914.  
  915. \_SB.PCI0.XPTR (0x04, Zero)
  916. \_SB.PCI0.PB4.XPLP (Zero)
  917. Store (One, HP4F)
  918. }
  919. }
  920. Else
  921. {
  922. Sleep (0x14)
  923. Store (\_SB.PCI0.SMBS.GEVS, Local0)
  924. If (LNot (And (Local0, 0x10)))
  925. {
  926. Store (One, \_SB.PCI0.SMBS.GE4T)
  927. Store ("HotPlug:04: Insertion Event", Debug)
  928. Store (Zero, HP4F)
  929. \_SB.PCI0.PB4.XPLP (One)
  930. Sleep (0xC8)
  931. \_SB.PCI0.XPTR (0x04, One)
  932. Sleep (0x14)
  933. Store (Zero, Local2)
  934. While (LLess (Local2, 0x0F))
  935. {
  936. Store (0x08, \_SB.PCI0.PB4.SLST)
  937. Store (One, Local4)
  938. Store (0xC8, Local5)
  939. While (LAnd (Local4, Local5))
  940. {
  941. Store (\_SB.PCI0.PB4.XPRD (0xA5), Local6)
  942. And (Local6, 0x3F, Local6)
  943. If (LEqual (Local6, 0x10))
  944. {
  945. Store ("HotPlug:04: TrainingState=0x10", Debug)
  946. Store (Zero, Local4)
  947. }
  948. Else
  949. {
  950. Sleep (0x05)
  951. Decrement (Local5)
  952. }
  953. }
  954.  
  955. If (LNot (Local4))
  956. {
  957. Store ("HotPlug:04: Check VC Negotiation Pending", Debug)
  958. Store (\_SB.PCI0.PB4.XPDL (), Local5)
  959. If (Local5)
  960. {
  961. Store ("HotPlug:04: Retraining Link", Debug)
  962. \_SB.PCI0.PB4.XPRT ()
  963. Sleep (0x05)
  964. Increment (Local2)
  965. }
  966. Else
  967. {
  968. Store ("HotPlug:04: Device OK", Debug)
  969. If (LEqual (\_SB.PCI0.PB4.XPR2 (), Ones))
  970. {
  971. Store (One, HP4F)
  972. Store (0x10, Local2)
  973. }
  974. Else
  975. {
  976. Store ("HotPlug:04: Common Clock Retraining Failed", Debug)
  977. Store (Zero, HP4F)
  978. Store (0x10, Local2)
  979. }
  980. }
  981. }
  982. Else
  983. {
  984. Store ("HotPlug:04: TrainingState Timeout", Debug)
  985. Store (0x10, Local2)
  986. }
  987. }
  988.  
  989. If (LNot (HP4F))
  990. {
  991. Store ("HotPlug:04: Insertion Failed: Disable Training & PowerDown", Debug)
  992. Store (\_SB.PCI0.PB4.NCRD.DVID, Local7)
  993. Sleep (0x0A)
  994. Store (One, Local4)
  995. Store (0x05, Local5)
  996. While (LAnd (Local4, Local5))
  997. {
  998. Store (\_SB.PCI0.PB4.XPRD (0xA5), Local6)
  999. And (Local6, 0x3F, Local6)
  1000. If (LLessEqual (Local6, 0x04))
  1001. {
  1002. Store (Zero, Local4)
  1003. }
  1004. Else
  1005. {
  1006. Store (\_SB.PCI0.PB4.NCRD.DVID, Local7)
  1007. Sleep (0x05)
  1008. Decrement (Local5)
  1009. }
  1010. }
  1011.  
  1012. \_SB.PCI0.XPTR (0x04, Zero)
  1013. \_SB.PCI0.PB4.XPLP (Zero)
  1014. }
  1015. }
  1016. }
  1017.  
  1018. If (HP4F)
  1019. {
  1020. Notify (\_SB.PCI0.PB4, Zero)
  1021. }
  1022. }
  1023.  
  1024. Method (_L12, 0, NotSerialized)
  1025. {
  1026. Notify (\_SB.PCI0.PB4, 0x02)
  1027. Notify (\_SB.PCI0.PB5, 0x02)
  1028. Notify (\_SB.PCI0.PB6, 0x02)
  1029. Notify (\_SB.PCI0.PB7, 0x02)
  1030. Notify (\_SB.PCI0.PB9, 0x02)
  1031. Notify (\_SB.PCI0.PB10, 0x02)
  1032. Notify (\_SB.PWRB, 0x02)
  1033. }
  1034.  
  1035. Method (_L07, 0, NotSerialized)
  1036. {
  1037. If (VGAF)
  1038. {
  1039. If (D3E)
  1040. {
  1041. If (LNot (\_SB.PCI0.SMBS.G71C))
  1042. {
  1043. Store (One, \_SB.PCI0.SMBS.G71C)
  1044. }
  1045.  
  1046. Name (HPOK, Zero)
  1047. Sleep (0x14)
  1048. Store (\_SB.PCI0.SMBS.GEVS, Local0)
  1049. If (And (Local0, 0x80))
  1050. {
  1051. If (\_SB.PCI0.SMBS.GE7T)
  1052. {
  1053. Store (One, \_SB.PCI0.SMBS.GE7S)
  1054. Store (Zero, \_SB.PCI0.SMBS.GE7T)
  1055. Store (One, HPOK)
  1056. \_SB.PCI0.PB10.XPLP (One)
  1057. Sleep (0xC8)
  1058. \_SB.PCI0.XPTR (0x0A, One)
  1059. Sleep (0x14)
  1060. Store (Zero, Local2)
  1061. While (LLess (Local2, 0x0F))
  1062. {
  1063. Store (0x08, \_SB.PCI0.PB10.SLST)
  1064. Store (One, Local4)
  1065. Store (0xC8, Local5)
  1066. While (LAnd (Local4, Local5))
  1067. {
  1068. Store (\_SB.PCI0.PB10.XPRD (0xA5), Local6)
  1069. And (Local6, 0x3F, Local6)
  1070. If (LEqual (Local6, 0x10))
  1071. {
  1072. Store ("HotPlug:10: TrainingState=0x10", Debug)
  1073. Store (Zero, Local4)
  1074. }
  1075. Else
  1076. {
  1077. Sleep (0x05)
  1078. Decrement (Local5)
  1079. }
  1080. }
  1081.  
  1082. If (LNot (Local4))
  1083. {
  1084. Store ("HotPlug:10: Check VC Negotiation Pending", Debug)
  1085. Store (\_SB.PCI0.PB10.XPDL (), Local5)
  1086. If (Local5)
  1087. {
  1088. Store ("HotPlug:10: Retraining Link", Debug)
  1089. \_SB.PCI0.PB10.XPRT ()
  1090. Sleep (0x05)
  1091. Increment (Local2)
  1092. }
  1093. Else
  1094. {
  1095. Store ("HotPlug:10: Device OK", Debug)
  1096. If (LEqual (\_SB.PCI0.PB10.XPR2 (), Ones))
  1097. {
  1098. Store (One, HPOK)
  1099. Store (0x10, Local2)
  1100. }
  1101. Else
  1102. {
  1103. Store ("HotPlug:10: Common Clock Retraining Failed", Debug)
  1104. Store (Zero, HPOK)
  1105. Store (0x10, Local2)
  1106. }
  1107. }
  1108. }
  1109. Else
  1110. {
  1111. Store ("HotPlug:10: TrainingState Timeout", Debug)
  1112. Store (0x10, Local2)
  1113. }
  1114. }
  1115. }
  1116. Else
  1117. {
  1118. Store (0x10, Local2)
  1119. }
  1120. }
  1121. Else
  1122. {
  1123. If (LNot (\_SB.PCI0.SMBS.GE7T))
  1124. {
  1125. Store (One, \_SB.PCI0.SMBS.GE7S)
  1126. Store (One, \_SB.PCI0.SMBS.GE7T)
  1127. Store (0x08, \_SB.PCI0.PB10.SLST)
  1128. Store (\_SB.PCI0.PB10.J380.DVID, Local7)
  1129. Sleep (0x0A)
  1130. Store (One, Local4)
  1131. Store (0x05, Local5)
  1132. While (LAnd (Local4, Local5))
  1133. {
  1134. Store (\_SB.PCI0.PB10.XPRD (0xA5), Local6)
  1135. And (Local6, 0x3F, Local6)
  1136. If (LLessEqual (Local6, 0x04))
  1137. {
  1138. Store (Zero, Local4)
  1139. }
  1140. Else
  1141. {
  1142. Store (\_SB.PCI0.PB10.J380.DVID, Local7)
  1143. Sleep (0x05)
  1144. Decrement (Local5)
  1145. }
  1146. }
  1147.  
  1148. Store (One, HPOK)
  1149. }
  1150. }
  1151.  
  1152. If (HPOK)
  1153. {
  1154. If (And (\_SB.PCI0.PB10.SLST, 0x40))
  1155. {
  1156. Store (0x5A, APMC)
  1157. Stall (0xFF)
  1158. Stall (0xFF)
  1159. Stall (0xFF)
  1160. Stall (0xFF)
  1161. Stall (0xFF)
  1162. Stall (0xFF)
  1163. Notify (\_SB.PCI0.PB10, Zero)
  1164. }
  1165. Else
  1166. {
  1167. Notify (\_SB.PCI0.PB10, Zero)
  1168. }
  1169. }
  1170. }
  1171. }
  1172. }
  1173. }
  1174.  
  1175. Name (GPIC, Zero)
  1176. Method (_PIC, 1, NotSerialized)
  1177. {
  1178. Store (Arg0, GPIC)
  1179. If (GPIC)
  1180. {
  1181. \_SB.DSPI ()
  1182. }
  1183. }
  1184.  
  1185. Name (SAV0, Zero)
  1186. Name (SAV1, Zero)
  1187. Method (_PTS, 1, NotSerialized)
  1188. {
  1189. Store (\_SB.PCI0.SMBS.GP13, SAV0)
  1190. Store (\_SB.PCI0.SMBS.GP70, SAV1)
  1191. SPTS (Arg0)
  1192. Store (One, \_SB.PCI0.SMBS.SLPS)
  1193. If (LEqual (Arg0, One))
  1194. {
  1195. Store (0x51, IO80)
  1196. \_SB.S80H (0x51)
  1197. }
  1198. Else
  1199. {
  1200. If (LEqual (Arg0, 0x02)) {}
  1201. Else
  1202. {
  1203. If (LEqual (Arg0, 0x03))
  1204. {
  1205. Store (0x53, IO80)
  1206. \_SB.S80H (0x53)
  1207. Store (Zero, \_SB.PCI0.SMBS.GP13)
  1208. Store (Zero, \_SB.PCI0.SMBS.GP70)
  1209. \_SB.S80H (0x63)
  1210. }
  1211. Else
  1212. {
  1213. If (LEqual (Arg0, 0x04))
  1214. {
  1215. Store (0x54, IO80)
  1216. \_SB.S80H (0x54)
  1217. Store (One, \_SB.PCI0.SMBS.RSTU)
  1218. \_SB.S80H (0x64)
  1219. If (LEqual (Arg0, 0x05))
  1220. {
  1221. Store (0x55, IO80)
  1222. \_SB.S80H (0x55)
  1223. \_SB.GSMI (0x03)
  1224. }
  1225. }
  1226. }
  1227. }
  1228. }
  1229. }
  1230.  
  1231. Method (_WAK, 1, NotSerialized)
  1232. {
  1233. SWAK (Arg0)
  1234. If (LEqual (Arg0, One))
  1235. {
  1236. Store (0xE1, IO80)
  1237. \_SB.S80H (0xE1)
  1238. Store (0xF1, \_SB.PCI0.P2P.PR4B)
  1239. }
  1240. Else
  1241. {
  1242. If (LEqual (Arg0, 0x03))
  1243. {
  1244. Store (0xE3, IO80)
  1245. \_SB.S80H (0xE3)
  1246. CHKH ()
  1247. Store (SAV0, \_SB.PCI0.SMBS.GP13)
  1248. Store (SAV1, \_SB.PCI0.SMBS.GP70)
  1249. If (LNotEqual (S3RW, One))
  1250. {
  1251. Notify (\_SB.PWRB, 0x02)
  1252. }
  1253. }
  1254. Else
  1255. {
  1256. If (LEqual (Arg0, 0x04))
  1257. {
  1258. Store (0xE4, IO80)
  1259. If (LEqual (GPIC, Zero)) {}
  1260. Else
  1261. {
  1262. \_SB.DSPI ()
  1263. }
  1264.  
  1265. \_SB.S80H (0xE4)
  1266. CHKH ()
  1267. }
  1268. }
  1269.  
  1270. If (LNotEqual (Arg0, 0x03))
  1271. {
  1272. Notify (\_SB.PWRB, 0x02)
  1273. }
  1274.  
  1275. \_SB.PCI0.LPC0.EC0.NHSB ()
  1276. }
  1277.  
  1278. \_SB.PCI0.ACEL.INIT ()
  1279. If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  1280. {
  1281. If (VGAF)
  1282. {
  1283. If (D3E)
  1284. {
  1285. Notify (\_SB.PCI0.PB10, Zero)
  1286. }
  1287. }
  1288. }
  1289.  
  1290. Return (Zero)
  1291. }
  1292.  
  1293. Scope (_SB)
  1294. {
  1295. Device (PWRB)
  1296. {
  1297. Name (_HID, EisaId ("PNP0C0C"))
  1298. Method (_STA, 0, NotSerialized)
  1299. {
  1300. Return (0x0B)
  1301. }
  1302. }
  1303.  
  1304. Device (SLPB)
  1305. {
  1306. Name (_HID, EisaId ("PNP0C0E"))
  1307. Method (_STA, 0, NotSerialized)
  1308. {
  1309. Return (0x0B)
  1310. }
  1311. }
  1312.  
  1313. Device (PCI0)
  1314. {
  1315. Name (_HID, EisaId ("PNP0A08"))
  1316. Name (_CID, 0x030AD041)
  1317. Name (_ADR, Zero)
  1318. OperationRegion (SCTH, PCI_Config, 0x7A, One)
  1319. Field (SCTH, ByteAcc, NoLock, Preserve)
  1320. {
  1321. RSMF, 1
  1322. }
  1323.  
  1324. Method (_INI, 0, NotSerialized)
  1325. {
  1326. If (LEqual (GPIC, Zero)) {}
  1327. Else
  1328. {
  1329. DSPI ()
  1330. }
  1331.  
  1332. OSTP ()
  1333. CHKH ()
  1334. If (CondRefOf (_OSI, Local0))
  1335. {
  1336. Store (Zero, MYOS)
  1337. }
  1338. Else
  1339. {
  1340. If (LEqual (SizeOf (_OS), 0x14))
  1341. {
  1342. Store (One, MYOS)
  1343. }
  1344. Else
  1345. {
  1346. If (LEqual (SizeOf (_OS), 0x27))
  1347. {
  1348. Store (0x02, MYOS)
  1349. }
  1350. Else
  1351. {
  1352. Store (0x03, MYOS)
  1353. }
  1354. }
  1355. }
  1356. }
  1357.  
  1358. OperationRegion (NBMS, PCI_Config, 0x60, 0x08)
  1359. Field (NBMS, DWordAcc, NoLock, Preserve)
  1360. {
  1361. MIDX, 32,
  1362. MIDR, 32
  1363. }
  1364.  
  1365. Mutex (NBMM, 0x00)
  1366. Method (NBMR, 1, NotSerialized)
  1367. {
  1368. Acquire (NBMM, 0xFFFF)
  1369. And (Arg0, 0x7F, Local0)
  1370. Store (Local0, MIDX)
  1371. Store (MIDR, Local0)
  1372. Store (0x7F, MIDX)
  1373. Release (NBMM)
  1374. Return (Local0)
  1375. }
  1376.  
  1377. Method (NBMW, 2, NotSerialized)
  1378. {
  1379. Acquire (NBMM, 0xFFFF)
  1380. And (Arg0, 0x7F, Local0)
  1381. Or (Local0, 0x80, Local0)
  1382. Store (Local0, MIDX)
  1383. Store (Arg1, MIDR)
  1384. Store (And (Local0, 0x7F, Local0), MIDX)
  1385. Release (NBMM)
  1386. }
  1387.  
  1388. OperationRegion (NBXP, PCI_Config, 0xE0, 0x08)
  1389. Field (NBXP, DWordAcc, NoLock, Preserve)
  1390. {
  1391. NBXI, 32,
  1392. NBXD, 32
  1393. }
  1394.  
  1395. Mutex (NBXM, 0x00)
  1396. Method (NBXR, 1, NotSerialized)
  1397. {
  1398. Acquire (NBXM, 0xFFFF)
  1399. Store (Arg0, NBXI)
  1400. Store (NBXD, Local0)
  1401. Store (Zero, NBXI)
  1402. Release (NBXM)
  1403. Return (Local0)
  1404. }
  1405.  
  1406. Method (NBXW, 2, NotSerialized)
  1407. {
  1408. Acquire (NBXM, 0xFFFF)
  1409. Store (Arg0, NBXI)
  1410. Store (Arg1, NBXD)
  1411. Store (Zero, NBXI)
  1412. Release (NBXM)
  1413. }
  1414.  
  1415. Method (GFXM, 0, NotSerialized)
  1416. {
  1417. Store (NBMR (0x08), Local0)
  1418. And (Local0, 0x0F, Local0)
  1419. Return (Local0)
  1420. }
  1421.  
  1422. Method (GPPM, 0, NotSerialized)
  1423. {
  1424. Store (NBMR (0x31), Local0)
  1425. And (Local0, 0x0F, Local0)
  1426. Return (Local0)
  1427. }
  1428.  
  1429. Method (XPTR, 2, NotSerialized)
  1430. {
  1431. If (LAnd (LLess (Arg0, 0x02), LGreater (Arg0, 0x07)))
  1432. {
  1433. Return (Zero)
  1434. }
  1435. Else
  1436. {
  1437. Store (One, Local0)
  1438. If (LLess (Arg0, 0x04))
  1439. {
  1440. Add (Arg0, 0x02, Local1)
  1441. }
  1442. Else
  1443. {
  1444. Add (Arg0, 0x11, Local1)
  1445. }
  1446.  
  1447. ShiftLeft (Local0, Local1, Local0)
  1448. Store (NBMR (0x08), Local2)
  1449. If (Arg1)
  1450. {
  1451. And (Local2, Not (Local0), Local2)
  1452. }
  1453. Else
  1454. {
  1455. Or (Local2, Local0, Local2)
  1456. }
  1457.  
  1458. NBMW (0x08, Local2)
  1459. Return (Ones)
  1460. }
  1461. }
  1462.  
  1463. Name (_UID, One)
  1464. Name (_BBN, Zero)
  1465. Name (SUPP, Zero)
  1466. Name (CTRL, Zero)
  1467. Method (_OSC, 4, NotSerialized)
  1468. {
  1469. CreateDWordField (Arg3, Zero, CDW1)
  1470. CreateDWordField (Arg3, 0x04, CDW2)
  1471. CreateDWordField (Arg3, 0x08, CDW3)
  1472. If (LNotEqual (OSTB, 0x41))
  1473. {
  1474. Or (CDW1, 0x02, CDW1)
  1475. Return (Arg3)
  1476. }
  1477.  
  1478. If (LEqual (Arg0, Buffer (0x10)
  1479. {
  1480. /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
  1481. /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
  1482. }))
  1483. {
  1484. Store (CDW2, SUPP)
  1485. Store (CDW3, CTRL)
  1486. If (LNotEqual (And (SUPP, 0x16), 0x16))
  1487. {
  1488. And (CTRL, 0x1E, CTRL)
  1489. }
  1490.  
  1491. And (CTRL, 0x19, CTRL)
  1492. If (Not (And (CDW1, One)))
  1493. {
  1494. If (And (CTRL, One)) {}
  1495. If (And (CTRL, 0x04))
  1496. {
  1497. Store (One, EPNM)
  1498. Store (One, DPPF)
  1499. Store (One, FNGS)
  1500. }
  1501. Else
  1502. {
  1503. Store (Zero, EPNM)
  1504. Store (Zero, DPPF)
  1505. Store (Zero, FNGS)
  1506. }
  1507.  
  1508. If (And (CTRL, 0x10)) {}
  1509. }
  1510.  
  1511. If (LNotEqual (Arg1, One))
  1512. {
  1513. Or (CDW1, 0x08, CDW1)
  1514. }
  1515.  
  1516. If (LNotEqual (CDW3, CTRL))
  1517. {
  1518. Or (CDW1, 0x10, CDW1)
  1519. }
  1520.  
  1521. Store (CTRL, CDW3)
  1522. Return (Arg3)
  1523. }
  1524. Else
  1525. {
  1526. Or (CDW1, 0x04, CDW1)
  1527. Return (Arg3)
  1528. }
  1529. }
  1530.  
  1531. Method (TOM, 0, NotSerialized)
  1532. {
  1533. Multiply (TOML, 0x00010000, Local0)
  1534. Multiply (TOMH, 0x01000000, Local1)
  1535. Add (Local0, Local1, Local0)
  1536. Return (Local0)
  1537. }
  1538.  
  1539. OperationRegion (NBBR, PCI_Config, 0x1C, 0x08)
  1540. Field (NBBR, DWordAcc, NoLock, Preserve)
  1541. {
  1542. BR3L, 32,
  1543. BR3H, 32
  1544. }
  1545.  
  1546. OperationRegion (NBBI, PCI_Config, 0x84, 0x04)
  1547. Field (NBBI, DWordAcc, NoLock, Preserve)
  1548. {
  1549. PARB, 32
  1550. }
  1551.  
  1552. Name (PX3L, 0x80000000)
  1553. Name (PX3H, 0x80000000)
  1554. Name (PX3S, 0x10000000)
  1555. Name (PX3K, 0xF0000000)
  1556. Mutex (BR3X, 0x00)
  1557. Method (BR3M, 0, NotSerialized)
  1558. {
  1559. Store (PARB, Local0)
  1560. ShiftRight (Local0, 0x10, Local0)
  1561. And (Local0, 0x07, Local0)
  1562. If (Local0)
  1563. {
  1564. ShiftLeft (One, Local0, Local1)
  1565. Subtract (0x1000, Local1, Local1)
  1566. ShiftLeft (Local1, 0x14, Local1)
  1567. Store (Local1, PX3K)
  1568. ShiftLeft (One, Local0, Local1)
  1569. Multiply (Local1, 0x00100000, Local1)
  1570. Store (Local1, PX3S)
  1571. }
  1572.  
  1573. Acquire (BR3X, 0xFFFF)
  1574. Store (NBMR (Zero), Local0)
  1575. And (Local0, 0xFFFFFFF7, Local0)
  1576. NBMW (Zero, Local0)
  1577. Store (BR3L, Local0)
  1578. And (Local0, PX3K, Local0)
  1579. Store (Local0, PX3L)
  1580. Store (BR3H, Local0)
  1581. And (Local0, 0xFF, Local0)
  1582. Store (Local0, PX3H)
  1583. Store (NBMR (Zero), Local0)
  1584. Or (Local0, 0x08, Local0)
  1585. NBMW (Zero, Local0)
  1586. Release (BR3X)
  1587. Return (PX3L)
  1588. }
  1589.  
  1590. Name (CRES, ResourceTemplate ()
  1591. {
  1592. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode,
  1593. 0x0000, // Granularity
  1594. 0x0000, // Range Minimum
  1595. 0x00FF, // Range Maximum
  1596. 0x0000, // Translation Offset
  1597. 0x0100, // Length
  1598. 0x00,, )
  1599. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1600. 0x0000, // Granularity
  1601. 0x0000, // Range Minimum
  1602. 0x0CF7, // Range Maximum
  1603. 0x0000, // Translation Offset
  1604. 0x0CF8, // Length
  1605. 0x00,, , TypeStatic)
  1606. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1607. 0x0000, // Granularity
  1608. 0x0D00, // Range Minimum
  1609. 0xFFFF, // Range Maximum
  1610. 0x0000, // Translation Offset
  1611. 0xF300, // Length
  1612. ,, , TypeStatic)
  1613. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  1614. 0x00000000, // Granularity
  1615. 0x000A0000, // Range Minimum
  1616. 0x000BFFFF, // Range Maximum
  1617. 0x00000000, // Translation Offset
  1618. 0x00020000, // Length
  1619. 0x00,, , AddressRangeMemory, TypeStatic)
  1620. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadOnly,
  1621. 0x00000000, // Granularity
  1622. 0x000C0000, // Range Minimum
  1623. 0x000C3FFF, // Range Maximum
  1624. 0x00000000, // Translation Offset
  1625. 0x00004000, // Length
  1626. 0x00,, , AddressRangeMemory, TypeStatic)
  1627. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadOnly,
  1628. 0x00000000, // Granularity
  1629. 0x000C4000, // Range Minimum
  1630. 0x000C7FFF, // Range Maximum
  1631. 0x00000000, // Translation Offset
  1632. 0x00004000, // Length
  1633. 0x00,, , AddressRangeMemory, TypeStatic)
  1634. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
  1635. 0x00000000, // Granularity
  1636. 0x000C8000, // Range Minimum
  1637. 0x000CBFFF, // Range Maximum
  1638. 0x00000000, // Translation Offset
  1639. 0x00004000, // Length
  1640. 0x00,, , AddressRangeMemory, TypeStatic)
  1641. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly,
  1642. 0x00000000, // Granularity
  1643. 0x000CC000, // Range Minimum
  1644. 0x000CFFFF, // Range Maximum
  1645. 0x00000000, // Translation Offset
  1646. 0x00004000, // Length
  1647. 0x00,, , AddressRangeMemory, TypeStatic)
  1648. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  1649. 0x00000000, // Granularity
  1650. 0x000D0000, // Range Minimum
  1651. 0x000D3FFF, // Range Maximum
  1652. 0x00000000, // Translation Offset
  1653. 0x00004000, // Length
  1654. 0x00,, , AddressRangeMemory, TypeStatic)
  1655. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  1656. 0x00000000, // Granularity
  1657. 0x000D4000, // Range Minimum
  1658. 0x000D7FFF, // Range Maximum
  1659. 0x00000000, // Translation Offset
  1660. 0x00004000, // Length
  1661. 0x00,, , AddressRangeMemory, TypeStatic)
  1662. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  1663. 0x00000000, // Granularity
  1664. 0x000D8000, // Range Minimum
  1665. 0x000DBFFF, // Range Maximum
  1666. 0x00000000, // Translation Offset
  1667. 0x00004000, // Length
  1668. 0x00,, , AddressRangeMemory, TypeStatic)
  1669. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  1670. 0x00000000, // Granularity
  1671. 0x000DC000, // Range Minimum
  1672. 0x000DFFFF, // Range Maximum
  1673. 0x00000000, // Translation Offset
  1674. 0x00004000, // Length
  1675. 0x00,, , AddressRangeMemory, TypeStatic)
  1676. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1677. 0x00000000, // Granularity
  1678. 0x000E0000, // Range Minimum
  1679. 0x000E3FFF, // Range Maximum
  1680. 0x00000000, // Translation Offset
  1681. 0x00004000, // Length
  1682. 0x00,, , AddressRangeMemory, TypeStatic)
  1683. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1684. 0x00000000, // Granularity
  1685. 0x000E4000, // Range Minimum
  1686. 0x000E7FFF, // Range Maximum
  1687. 0x00000000, // Translation Offset
  1688. 0x00004000, // Length
  1689. 0x00,, , AddressRangeMemory, TypeStatic)
  1690. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1691. 0x00000000, // Granularity
  1692. 0x000E8000, // Range Minimum
  1693. 0x000EBFFF, // Range Maximum
  1694. 0x00000000, // Translation Offset
  1695. 0x00004000, // Length
  1696. 0x00,, , AddressRangeMemory, TypeStatic)
  1697. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1698. 0x00000000, // Granularity
  1699. 0x000EC000, // Range Minimum
  1700. 0x000EFFFF, // Range Maximum
  1701. 0x00000000, // Translation Offset
  1702. 0x00004000, // Length
  1703. 0x00,, , AddressRangeMemory, TypeStatic)
  1704. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  1705. 0x00000000, // Granularity
  1706. 0x00000000, // Range Minimum
  1707. 0xFFFDFFFF, // Range Maximum
  1708. 0x00000000, // Translation Offset
  1709. 0x00000000, // Length
  1710. 0x00,, _Y00, AddressRangeMemory, TypeStatic)
  1711. DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
  1712. 0x00000000, // Granularity
  1713. 0xF0000000, // Range Minimum
  1714. 0xFFFFFFFF, // Range Maximum
  1715. 0x00000000, // Translation Offset
  1716. 0x10000000, // Length
  1717. 0x00,, _Y01, AddressRangeMemory, TypeStatic)
  1718. IO (Decode16,
  1719. 0x0CF8, // Range Minimum
  1720. 0x0CF8, // Range Maximum
  1721. 0x01, // Alignment
  1722. 0x08, // Length
  1723. )
  1724. })
  1725. Method (_CRS, 0, NotSerialized)
  1726. {
  1727. CreateDWordField (CRES, \_SB.PCI0._Y00._MIN, BTMN)
  1728. CreateDWordField (CRES, \_SB.PCI0._Y00._MAX, BTMX)
  1729. CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, BTLN)
  1730. CreateDWordField (CRES, \_SB.PCI0._Y01._MIN, BTN1)
  1731. CreateDWordField (CRES, \_SB.PCI0._Y01._MAX, BTX1)
  1732. CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, BTL1)
  1733. Store (TOM (), BTMN)
  1734. Subtract (BR3M (), BTMN, BTLN)
  1735. Subtract (Add (BTMN, BTLN), One, BTMX)
  1736. Store (PX3S, Local0)
  1737. Add (Local0, BR3M (), Local0)
  1738. Store (Local0, BTN1)
  1739. Store (BTX1, Local1)
  1740. Subtract (Local1, Local0, Local2)
  1741. Store (Local2, BTL1)
  1742. Return (CRES)
  1743. }
  1744.  
  1745. Device (MEMR)
  1746. {
  1747. Name (_HID, EisaId ("PNP0C02"))
  1748. Name (MEM1, ResourceTemplate ()
  1749. {
  1750. Memory32Fixed (ReadWrite,
  1751. 0x00000000, // Address Base
  1752. 0x00000000, // Address Length
  1753. _Y02)
  1754. Memory32Fixed (ReadWrite,
  1755. 0x00000000, // Address Base
  1756. 0x00000000, // Address Length
  1757. _Y03)
  1758. })
  1759. Method (_CRS, 0, NotSerialized)
  1760. {
  1761. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y02._BAS, MB01)
  1762. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y02._LEN, ML01)
  1763. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y03._BAS, MB02)
  1764. CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y03._LEN, ML02)
  1765. If (GPIC)
  1766. {
  1767. Store (0xFEC00000, MB01)
  1768. Store (0xFEE00000, MB02)
  1769. Store (0x1000, ML01)
  1770. Store (0x1000, ML02)
  1771. }
  1772.  
  1773. Return (MEM1)
  1774. }
  1775. }
  1776.  
  1777. Method (_PRT, 0, NotSerialized)
  1778. {
  1779. If (LEqual (GPIC, Zero))
  1780. {
  1781. Return (PICM)
  1782. }
  1783. Else
  1784. {
  1785. Return (APIC)
  1786. }
  1787. }
  1788.  
  1789. Name (PICM, Package (0x34)
  1790. {
  1791. Package (0x04)
  1792. {
  1793. 0x0001FFFF,
  1794. Zero,
  1795. LNKC,
  1796. Zero
  1797. },
  1798.  
  1799. Package (0x04)
  1800. {
  1801. 0x0001FFFF,
  1802. One,
  1803. LNKD,
  1804. Zero
  1805. },
  1806.  
  1807. Package (0x04)
  1808. {
  1809. 0x0001FFFF,
  1810. 0x02,
  1811. LNKA,
  1812. Zero
  1813. },
  1814.  
  1815. Package (0x04)
  1816. {
  1817. 0x0001FFFF,
  1818. 0x03,
  1819. LNKB,
  1820. Zero
  1821. },
  1822.  
  1823. Package (0x04)
  1824. {
  1825. 0x0002FFFF,
  1826. Zero,
  1827. LNKC,
  1828. Zero
  1829. },
  1830.  
  1831. Package (0x04)
  1832. {
  1833. 0x0002FFFF,
  1834. One,
  1835. LNKD,
  1836. Zero
  1837. },
  1838.  
  1839. Package (0x04)
  1840. {
  1841. 0x0002FFFF,
  1842. 0x02,
  1843. LNKA,
  1844. Zero
  1845. },
  1846.  
  1847. Package (0x04)
  1848. {
  1849. 0x0002FFFF,
  1850. 0x03,
  1851. LNKB,
  1852. Zero
  1853. },
  1854.  
  1855. Package (0x04)
  1856. {
  1857. 0x0003FFFF,
  1858. Zero,
  1859. LNKD,
  1860. Zero
  1861. },
  1862.  
  1863. Package (0x04)
  1864. {
  1865. 0x0003FFFF,
  1866. One,
  1867. LNKA,
  1868. Zero
  1869. },
  1870.  
  1871. Package (0x04)
  1872. {
  1873. 0x0003FFFF,
  1874. 0x02,
  1875. LNKB,
  1876. Zero
  1877. },
  1878.  
  1879. Package (0x04)
  1880. {
  1881. 0x0003FFFF,
  1882. 0x03,
  1883. LNKC,
  1884. Zero
  1885. },
  1886.  
  1887. Package (0x04)
  1888. {
  1889. 0x0004FFFF,
  1890. Zero,
  1891. LNKA,
  1892. Zero
  1893. },
  1894.  
  1895. Package (0x04)
  1896. {
  1897. 0x0004FFFF,
  1898. One,
  1899. LNKB,
  1900. Zero
  1901. },
  1902.  
  1903. Package (0x04)
  1904. {
  1905. 0x0004FFFF,
  1906. 0x02,
  1907. LNKC,
  1908. Zero
  1909. },
  1910.  
  1911. Package (0x04)
  1912. {
  1913. 0x0004FFFF,
  1914. 0x03,
  1915. LNKD,
  1916. Zero
  1917. },
  1918.  
  1919. Package (0x04)
  1920. {
  1921. 0x0005FFFF,
  1922. Zero,
  1923. LNKB,
  1924. Zero
  1925. },
  1926.  
  1927. Package (0x04)
  1928. {
  1929. 0x0005FFFF,
  1930. One,
  1931. LNKC,
  1932. Zero
  1933. },
  1934.  
  1935. Package (0x04)
  1936. {
  1937. 0x0005FFFF,
  1938. 0x02,
  1939. LNKD,
  1940. Zero
  1941. },
  1942.  
  1943. Package (0x04)
  1944. {
  1945. 0x0005FFFF,
  1946. 0x03,
  1947. LNKA,
  1948. Zero
  1949. },
  1950.  
  1951. Package (0x04)
  1952. {
  1953. 0x0006FFFF,
  1954. Zero,
  1955. LNKC,
  1956. Zero
  1957. },
  1958.  
  1959. Package (0x04)
  1960. {
  1961. 0x0006FFFF,
  1962. One,
  1963. LNKD,
  1964. Zero
  1965. },
  1966.  
  1967. Package (0x04)
  1968. {
  1969. 0x0006FFFF,
  1970. 0x02,
  1971. LNKA,
  1972. Zero
  1973. },
  1974.  
  1975. Package (0x04)
  1976. {
  1977. 0x0006FFFF,
  1978. 0x03,
  1979. LNKB,
  1980. Zero
  1981. },
  1982.  
  1983. Package (0x04)
  1984. {
  1985. 0x0007FFFF,
  1986. Zero,
  1987. LNKD,
  1988. Zero
  1989. },
  1990.  
  1991. Package (0x04)
  1992. {
  1993. 0x0007FFFF,
  1994. One,
  1995. LNKA,
  1996. Zero
  1997. },
  1998.  
  1999. Package (0x04)
  2000. {
  2001. 0x0007FFFF,
  2002. 0x02,
  2003. LNKB,
  2004. Zero
  2005. },
  2006.  
  2007. Package (0x04)
  2008. {
  2009. 0x0007FFFF,
  2010. 0x03,
  2011. LNKC,
  2012. Zero
  2013. },
  2014.  
  2015. Package (0x04)
  2016. {
  2017. 0x0009FFFF,
  2018. Zero,
  2019. LNKB,
  2020. Zero
  2021. },
  2022.  
  2023. Package (0x04)
  2024. {
  2025. 0x0009FFFF,
  2026. One,
  2027. LNKC,
  2028. Zero
  2029. },
  2030.  
  2031. Package (0x04)
  2032. {
  2033. 0x0009FFFF,
  2034. 0x02,
  2035. LNKD,
  2036. Zero
  2037. },
  2038.  
  2039. Package (0x04)
  2040. {
  2041. 0x0009FFFF,
  2042. 0x03,
  2043. LNKA,
  2044. Zero
  2045. },
  2046.  
  2047. Package (0x04)
  2048. {
  2049. 0x000AFFFF,
  2050. Zero,
  2051. LNKC,
  2052. Zero
  2053. },
  2054.  
  2055. Package (0x04)
  2056. {
  2057. 0x000AFFFF,
  2058. One,
  2059. LNKD,
  2060. Zero
  2061. },
  2062.  
  2063. Package (0x04)
  2064. {
  2065. 0x000AFFFF,
  2066. 0x02,
  2067. LNKA,
  2068. Zero
  2069. },
  2070.  
  2071. Package (0x04)
  2072. {
  2073. 0x000AFFFF,
  2074. 0x03,
  2075. LNKB,
  2076. Zero
  2077. },
  2078.  
  2079. Package (0x04)
  2080. {
  2081. 0x0011FFFF,
  2082. Zero,
  2083. LNKG,
  2084. Zero
  2085. },
  2086.  
  2087. Package (0x04)
  2088. {
  2089. 0x0011FFFF,
  2090. One,
  2091. LNKH,
  2092. Zero
  2093. },
  2094.  
  2095. Package (0x04)
  2096. {
  2097. 0x0011FFFF,
  2098. 0x02,
  2099. LNKE,
  2100. Zero
  2101. },
  2102.  
  2103. Package (0x04)
  2104. {
  2105. 0x0011FFFF,
  2106. 0x03,
  2107. LNKF,
  2108. Zero
  2109. },
  2110.  
  2111. Package (0x04)
  2112. {
  2113. 0x0012FFFF,
  2114. Zero,
  2115. LNKA,
  2116. Zero
  2117. },
  2118.  
  2119. Package (0x04)
  2120. {
  2121. 0x0012FFFF,
  2122. One,
  2123. LNKB,
  2124. Zero
  2125. },
  2126.  
  2127. Package (0x04)
  2128. {
  2129. 0x0012FFFF,
  2130. 0x02,
  2131. LNKC,
  2132. Zero
  2133. },
  2134.  
  2135. Package (0x04)
  2136. {
  2137. 0x0012FFFF,
  2138. 0x03,
  2139. LNKD,
  2140. Zero
  2141. },
  2142.  
  2143. Package (0x04)
  2144. {
  2145. 0x0013FFFF,
  2146. Zero,
  2147. LNKC,
  2148. Zero
  2149. },
  2150.  
  2151. Package (0x04)
  2152. {
  2153. 0x0013FFFF,
  2154. One,
  2155. LNKD,
  2156. Zero
  2157. },
  2158.  
  2159. Package (0x04)
  2160. {
  2161. 0x0013FFFF,
  2162. 0x02,
  2163. LNKA,
  2164. Zero
  2165. },
  2166.  
  2167. Package (0x04)
  2168. {
  2169. 0x0013FFFF,
  2170. 0x03,
  2171. LNKB,
  2172. Zero
  2173. },
  2174.  
  2175. Package (0x04)
  2176. {
  2177. 0x0014FFFF,
  2178. Zero,
  2179. LNKA,
  2180. Zero
  2181. },
  2182.  
  2183. Package (0x04)
  2184. {
  2185. 0x0014FFFF,
  2186. One,
  2187. LNKB,
  2188. Zero
  2189. },
  2190.  
  2191. Package (0x04)
  2192. {
  2193. 0x0014FFFF,
  2194. 0x02,
  2195. LNKC,
  2196. Zero
  2197. },
  2198.  
  2199. Package (0x04)
  2200. {
  2201. 0x0014FFFF,
  2202. 0x03,
  2203. LNKD,
  2204. Zero
  2205. }
  2206. })
  2207. Name (APIC, Package (0x34)
  2208. {
  2209. Package (0x04)
  2210. {
  2211. 0x0001FFFF,
  2212. Zero,
  2213. Zero,
  2214. 0x12
  2215. },
  2216.  
  2217. Package (0x04)
  2218. {
  2219. 0x0001FFFF,
  2220. One,
  2221. Zero,
  2222. 0x13
  2223. },
  2224.  
  2225. Package (0x04)
  2226. {
  2227. 0x0001FFFF,
  2228. 0x02,
  2229. Zero,
  2230. 0x10
  2231. },
  2232.  
  2233. Package (0x04)
  2234. {
  2235. 0x0001FFFF,
  2236. 0x03,
  2237. Zero,
  2238. 0x11
  2239. },
  2240.  
  2241. Package (0x04)
  2242. {
  2243. 0x0002FFFF,
  2244. Zero,
  2245. Zero,
  2246. 0x12
  2247. },
  2248.  
  2249. Package (0x04)
  2250. {
  2251. 0x0002FFFF,
  2252. One,
  2253. Zero,
  2254. 0x13
  2255. },
  2256.  
  2257. Package (0x04)
  2258. {
  2259. 0x0002FFFF,
  2260. 0x02,
  2261. Zero,
  2262. 0x10
  2263. },
  2264.  
  2265. Package (0x04)
  2266. {
  2267. 0x0002FFFF,
  2268. 0x03,
  2269. Zero,
  2270. 0x11
  2271. },
  2272.  
  2273. Package (0x04)
  2274. {
  2275. 0x0003FFFF,
  2276. Zero,
  2277. Zero,
  2278. 0x13
  2279. },
  2280.  
  2281. Package (0x04)
  2282. {
  2283. 0x0003FFFF,
  2284. One,
  2285. Zero,
  2286. 0x10
  2287. },
  2288.  
  2289. Package (0x04)
  2290. {
  2291. 0x0003FFFF,
  2292. 0x02,
  2293. Zero,
  2294. 0x11
  2295. },
  2296.  
  2297. Package (0x04)
  2298. {
  2299. 0x0003FFFF,
  2300. 0x03,
  2301. Zero,
  2302. 0x12
  2303. },
  2304.  
  2305. Package (0x04)
  2306. {
  2307. 0x0004FFFF,
  2308. Zero,
  2309. Zero,
  2310. 0x10
  2311. },
  2312.  
  2313. Package (0x04)
  2314. {
  2315. 0x0004FFFF,
  2316. One,
  2317. Zero,
  2318. 0x11
  2319. },
  2320.  
  2321. Package (0x04)
  2322. {
  2323. 0x0004FFFF,
  2324. 0x02,
  2325. Zero,
  2326. 0x12
  2327. },
  2328.  
  2329. Package (0x04)
  2330. {
  2331. 0x0004FFFF,
  2332. 0x03,
  2333. Zero,
  2334. 0x13
  2335. },
  2336.  
  2337. Package (0x04)
  2338. {
  2339. 0x0005FFFF,
  2340. Zero,
  2341. Zero,
  2342. 0x11
  2343. },
  2344.  
  2345. Package (0x04)
  2346. {
  2347. 0x0005FFFF,
  2348. One,
  2349. Zero,
  2350. 0x12
  2351. },
  2352.  
  2353. Package (0x04)
  2354. {
  2355. 0x0005FFFF,
  2356. 0x02,
  2357. Zero,
  2358. 0x13
  2359. },
  2360.  
  2361. Package (0x04)
  2362. {
  2363. 0x0005FFFF,
  2364. 0x03,
  2365. Zero,
  2366. 0x10
  2367. },
  2368.  
  2369. Package (0x04)
  2370. {
  2371. 0x0006FFFF,
  2372. Zero,
  2373. Zero,
  2374. 0x12
  2375. },
  2376.  
  2377. Package (0x04)
  2378. {
  2379. 0x0006FFFF,
  2380. One,
  2381. Zero,
  2382. 0x13
  2383. },
  2384.  
  2385. Package (0x04)
  2386. {
  2387. 0x0006FFFF,
  2388. 0x02,
  2389. Zero,
  2390. 0x10
  2391. },
  2392.  
  2393. Package (0x04)
  2394. {
  2395. 0x0006FFFF,
  2396. 0x03,
  2397. Zero,
  2398. 0x11
  2399. },
  2400.  
  2401. Package (0x04)
  2402. {
  2403. 0x0007FFFF,
  2404. Zero,
  2405. Zero,
  2406. 0x13
  2407. },
  2408.  
  2409. Package (0x04)
  2410. {
  2411. 0x0007FFFF,
  2412. One,
  2413. Zero,
  2414. 0x10
  2415. },
  2416.  
  2417. Package (0x04)
  2418. {
  2419. 0x0007FFFF,
  2420. 0x02,
  2421. Zero,
  2422. 0x11
  2423. },
  2424.  
  2425. Package (0x04)
  2426. {
  2427. 0x0007FFFF,
  2428. 0x03,
  2429. Zero,
  2430. 0x12
  2431. },
  2432.  
  2433. Package (0x04)
  2434. {
  2435. 0x0009FFFF,
  2436. Zero,
  2437. Zero,
  2438. 0x11
  2439. },
  2440.  
  2441. Package (0x04)
  2442. {
  2443. 0x0009FFFF,
  2444. One,
  2445. Zero,
  2446. 0x12
  2447. },
  2448.  
  2449. Package (0x04)
  2450. {
  2451. 0x0009FFFF,
  2452. 0x02,
  2453. Zero,
  2454. 0x13
  2455. },
  2456.  
  2457. Package (0x04)
  2458. {
  2459. 0x0009FFFF,
  2460. 0x03,
  2461. Zero,
  2462. 0x10
  2463. },
  2464.  
  2465. Package (0x04)
  2466. {
  2467. 0x000AFFFF,
  2468. Zero,
  2469. Zero,
  2470. 0x12
  2471. },
  2472.  
  2473. Package (0x04)
  2474. {
  2475. 0x000AFFFF,
  2476. One,
  2477. Zero,
  2478. 0x13
  2479. },
  2480.  
  2481. Package (0x04)
  2482. {
  2483. 0x000AFFFF,
  2484. 0x02,
  2485. Zero,
  2486. 0x10
  2487. },
  2488.  
  2489. Package (0x04)
  2490. {
  2491. 0x000AFFFF,
  2492. 0x03,
  2493. Zero,
  2494. 0x11
  2495. },
  2496.  
  2497. Package (0x04)
  2498. {
  2499. 0x0011FFFF,
  2500. Zero,
  2501. Zero,
  2502. 0x16
  2503. },
  2504.  
  2505. Package (0x04)
  2506. {
  2507. 0x0011FFFF,
  2508. One,
  2509. Zero,
  2510. 0x17
  2511. },
  2512.  
  2513. Package (0x04)
  2514. {
  2515. 0x0011FFFF,
  2516. 0x02,
  2517. Zero,
  2518. 0x14
  2519. },
  2520.  
  2521. Package (0x04)
  2522. {
  2523. 0x0011FFFF,
  2524. 0x03,
  2525. Zero,
  2526. 0x15
  2527. },
  2528.  
  2529. Package (0x04)
  2530. {
  2531. 0x0012FFFF,
  2532. Zero,
  2533. Zero,
  2534. 0x10
  2535. },
  2536.  
  2537. Package (0x04)
  2538. {
  2539. 0x0012FFFF,
  2540. One,
  2541. Zero,
  2542. 0x11
  2543. },
  2544.  
  2545. Package (0x04)
  2546. {
  2547. 0x0012FFFF,
  2548. 0x02,
  2549. Zero,
  2550. 0x12
  2551. },
  2552.  
  2553. Package (0x04)
  2554. {
  2555. 0x0012FFFF,
  2556. 0x03,
  2557. Zero,
  2558. 0x13
  2559. },
  2560.  
  2561. Package (0x04)
  2562. {
  2563. 0x0013FFFF,
  2564. Zero,
  2565. Zero,
  2566. 0x12
  2567. },
  2568.  
  2569. Package (0x04)
  2570. {
  2571. 0x0013FFFF,
  2572. One,
  2573. Zero,
  2574. 0x13
  2575. },
  2576.  
  2577. Package (0x04)
  2578. {
  2579. 0x0013FFFF,
  2580. 0x02,
  2581. Zero,
  2582. 0x10
  2583. },
  2584.  
  2585. Package (0x04)
  2586. {
  2587. 0x0013FFFF,
  2588. 0x03,
  2589. Zero,
  2590. 0x11
  2591. },
  2592.  
  2593. Package (0x04)
  2594. {
  2595. 0x0014FFFF,
  2596. Zero,
  2597. Zero,
  2598. 0x10
  2599. },
  2600.  
  2601. Package (0x04)
  2602. {
  2603. 0x0014FFFF,
  2604. One,
  2605. Zero,
  2606. 0x11
  2607. },
  2608.  
  2609. Package (0x04)
  2610. {
  2611. 0x0014FFFF,
  2612. 0x02,
  2613. Zero,
  2614. 0x12
  2615. },
  2616.  
  2617. Package (0x04)
  2618. {
  2619. 0x0014FFFF,
  2620. 0x03,
  2621. Zero,
  2622. 0x13
  2623. }
  2624. })
  2625. Device (AGP)
  2626. {
  2627. Name (_ADR, 0x00010000)
  2628. Method (_PRT, 0, NotSerialized)
  2629. {
  2630. If (LEqual (GPIC, Zero))
  2631. {
  2632. Return (PIC)
  2633. }
  2634. Else
  2635. {
  2636. Return (APIC)
  2637. }
  2638. }
  2639.  
  2640. Name (PIC, Package (0x04)
  2641. {
  2642. Package (0x04)
  2643. {
  2644. 0x0005FFFF,
  2645. Zero,
  2646. LNKC,
  2647. Zero
  2648. },
  2649.  
  2650. Package (0x04)
  2651. {
  2652. 0x0005FFFF,
  2653. One,
  2654. LNKD,
  2655. Zero
  2656. },
  2657.  
  2658. Package (0x04)
  2659. {
  2660. 0x0005FFFF,
  2661. 0x02,
  2662. LNKA,
  2663. Zero
  2664. },
  2665.  
  2666. Package (0x04)
  2667. {
  2668. 0x0005FFFF,
  2669. 0x03,
  2670. LNKB,
  2671. Zero
  2672. }
  2673. })
  2674. Name (APIC, Package (0x04)
  2675. {
  2676. Package (0x04)
  2677. {
  2678. 0x0005FFFF,
  2679. Zero,
  2680. Zero,
  2681. 0x12
  2682. },
  2683.  
  2684. Package (0x04)
  2685. {
  2686. 0x0005FFFF,
  2687. One,
  2688. Zero,
  2689. 0x13
  2690. },
  2691.  
  2692. Package (0x04)
  2693. {
  2694. 0x0005FFFF,
  2695. 0x02,
  2696. Zero,
  2697. 0x10
  2698. },
  2699.  
  2700. Package (0x04)
  2701. {
  2702. 0x0005FFFF,
  2703. 0x03,
  2704. Zero,
  2705. 0x11
  2706. }
  2707. })
  2708. Device (VGA)
  2709. {
  2710. Name (_ADR, 0x00050000)
  2711. Name (SWIT, One)
  2712. Name (CRTA, One)
  2713. Name (LCDA, One)
  2714. Name (TV0A, One)
  2715. Name (HDTV, One)
  2716. Name (CV0A, One)
  2717. Method (_STA, 0, NotSerialized)
  2718. {
  2719. Return (0x0F)
  2720. }
  2721.  
  2722. Name (_PSC, Zero)
  2723. Method (_PS0, 0, NotSerialized)
  2724. {
  2725. Store (Zero, _PSC)
  2726. }
  2727.  
  2728. Method (_PS3, 0, NotSerialized)
  2729. {
  2730. Store (0x03, _PSC)
  2731. }
  2732.  
  2733. Method (_DOS, 1, NotSerialized)
  2734. {
  2735. Store (And (Arg0, 0x03), SWIT)
  2736. }
  2737.  
  2738. Method (_DOD, 0, NotSerialized)
  2739. {
  2740. Return (Package (0x05)
  2741. {
  2742. 0x00010100,
  2743. 0x00010110,
  2744. 0x00010200,
  2745. 0x00010210,
  2746. 0x000101F0
  2747. })
  2748. }
  2749.  
  2750. Device (CRT)
  2751. {
  2752. Name (_ADR, 0x0100)
  2753. Method (_DCS, 0, NotSerialized)
  2754. {
  2755. Store ("CRT -- _DCS", Debug)
  2756. If (CRTA)
  2757. {
  2758. Return (0x1F)
  2759. }
  2760. Else
  2761. {
  2762. Return (0x1D)
  2763. }
  2764. }
  2765.  
  2766. Method (_DGS, 0, NotSerialized)
  2767. {
  2768. Store ("CRT -- _DGS", Debug)
  2769. If (CRTA)
  2770. {
  2771. Return (One)
  2772. }
  2773. Else
  2774. {
  2775. Return (Zero)
  2776. }
  2777. }
  2778.  
  2779. Method (_DSS, 1, NotSerialized)
  2780. {
  2781. Store ("CRT -- _DSS", Debug)
  2782. }
  2783. }
  2784.  
  2785. Device (TV0)
  2786. {
  2787. Name (_ADR, 0x0200)
  2788. Method (_DCS, 0, NotSerialized)
  2789. {
  2790. Store ("TV -- _DCS", Debug)
  2791. If (TV0A)
  2792. {
  2793. Return (0x1F)
  2794. }
  2795. Else
  2796. {
  2797. Return (0x1D)
  2798. }
  2799. }
  2800.  
  2801. Method (_DGS, 0, NotSerialized)
  2802. {
  2803. Store ("TV -- _DCS", Debug)
  2804. If (TV0A)
  2805. {
  2806. Return (One)
  2807. }
  2808. Else
  2809. {
  2810. Return (Zero)
  2811. }
  2812. }
  2813.  
  2814. Method (_DSS, 1, NotSerialized)
  2815. {
  2816. Store ("TV -- _DSS", Debug)
  2817. }
  2818. }
  2819.  
  2820. Device (LCD)
  2821. {
  2822. Name (_ADR, 0x0110)
  2823. Method (_DCS, 0, NotSerialized)
  2824. {
  2825. Store ("LCD -- _DCS", Debug)
  2826. If (LCDA)
  2827. {
  2828. Return (0x1F)
  2829. }
  2830. Else
  2831. {
  2832. Return (0x1D)
  2833. }
  2834. }
  2835.  
  2836. Method (_DGS, 0, NotSerialized)
  2837. {
  2838. Store ("LCD -- _DCS", Debug)
  2839. If (LCDA)
  2840. {
  2841. Return (One)
  2842. }
  2843. Else
  2844. {
  2845. Return (Zero)
  2846. }
  2847. }
  2848.  
  2849. Method (_DSS, 1, NotSerialized)
  2850. {
  2851. Store ("LCD -- _DSS", Debug)
  2852. }
  2853.  
  2854. Method (_BCL, 0, NotSerialized)
  2855. {
  2856. Return (BCLT)
  2857. }
  2858.  
  2859. Method (_BCM, 1, NotSerialized)
  2860. {
  2861. SBCM (Arg0)
  2862. }
  2863.  
  2864. Method (_BQC, 0, NotSerialized)
  2865. {
  2866. Return (^^^^LPC0.EC0.BRTL)
  2867. }
  2868. }
  2869.  
  2870. Device (HDMI)
  2871. {
  2872. Name (_ADR, 0x0210)
  2873. Method (_DCS, 0, NotSerialized)
  2874. {
  2875. Store ("HDMI TV -- _DCS", Debug)
  2876. If (HDTV)
  2877. {
  2878. Return (0x1F)
  2879. }
  2880. Else
  2881. {
  2882. Return (0x1D)
  2883. }
  2884. }
  2885.  
  2886. Method (_DGS, 0, NotSerialized)
  2887. {
  2888. Store ("HDMI TV -- _DCS", Debug)
  2889. If (HDTV)
  2890. {
  2891. Return (One)
  2892. }
  2893. Else
  2894. {
  2895. Return (Zero)
  2896. }
  2897. }
  2898.  
  2899. Method (_DSS, 1, NotSerialized)
  2900. {
  2901. Store ("HDMI TV -- _DSS", Debug)
  2902. }
  2903. }
  2904.  
  2905. Device (CVTV)
  2906. {
  2907. Name (_ADR, 0x01F0)
  2908. Method (_DCS, 0, NotSerialized)
  2909. {
  2910. Store ("Composite Video -- _DCS", Debug)
  2911. If (CV0A)
  2912. {
  2913. Return (0x1F)
  2914. }
  2915. Else
  2916. {
  2917. Return (0x1D)
  2918. }
  2919. }
  2920.  
  2921. Method (_DGS, 0, NotSerialized)
  2922. {
  2923. Store ("Composite Video -- _DCS", Debug)
  2924. If (CV0A)
  2925. {
  2926. Return (One)
  2927. }
  2928. Else
  2929. {
  2930. Return (Zero)
  2931. }
  2932. }
  2933.  
  2934. Method (_DSS, 1, NotSerialized)
  2935. {
  2936. Store ("Composite Video -- _DSS", Debug)
  2937. }
  2938. }
  2939. }
  2940. }
  2941.  
  2942. Device (PB2)
  2943. {
  2944. Name (_ADR, 0x00020000)
  2945. Method (_PRT, 0, NotSerialized)
  2946. {
  2947. If (GPIC)
  2948. {
  2949. Return (Package (0x04)
  2950. {
  2951. Package (0x04)
  2952. {
  2953. 0xFFFF,
  2954. Zero,
  2955. Zero,
  2956. 0x12
  2957. },
  2958.  
  2959. Package (0x04)
  2960. {
  2961. 0xFFFF,
  2962. One,
  2963. Zero,
  2964. 0x13
  2965. },
  2966.  
  2967. Package (0x04)
  2968. {
  2969. 0xFFFF,
  2970. 0x02,
  2971. Zero,
  2972. 0x10
  2973. },
  2974.  
  2975. Package (0x04)
  2976. {
  2977. 0xFFFF,
  2978. 0x03,
  2979. Zero,
  2980. 0x11
  2981. }
  2982. })
  2983. }
  2984. Else
  2985. {
  2986. Return (Package (0x04)
  2987. {
  2988. Package (0x04)
  2989. {
  2990. 0xFFFF,
  2991. Zero,
  2992. LNKC,
  2993. Zero
  2994. },
  2995.  
  2996. Package (0x04)
  2997. {
  2998. 0xFFFF,
  2999. One,
  3000. LNKD,
  3001. Zero
  3002. },
  3003.  
  3004. Package (0x04)
  3005. {
  3006. 0xFFFF,
  3007. 0x02,
  3008. LNKA,
  3009. Zero
  3010. },
  3011.  
  3012. Package (0x04)
  3013. {
  3014. 0xFFFF,
  3015. 0x03,
  3016. LNKB,
  3017. Zero
  3018. }
  3019. })
  3020. }
  3021. }
  3022.  
  3023. Device (DVGA)
  3024. {
  3025. Name (_ADR, Zero)
  3026. Name (SWIT, One)
  3027. Name (CRTA, One)
  3028. Name (LCDA, One)
  3029. Name (TV0A, One)
  3030. Name (HDTV, One)
  3031. Name (CV0A, One)
  3032. Method (_STA, 0, NotSerialized)
  3033. {
  3034. Return (0x0F)
  3035. }
  3036.  
  3037. Name (_PSC, Zero)
  3038. Method (_PS0, 0, NotSerialized)
  3039. {
  3040. Store (Zero, _PSC)
  3041. }
  3042.  
  3043. Method (_PS3, 0, NotSerialized)
  3044. {
  3045. Store (0x03, _PSC)
  3046. }
  3047.  
  3048. Method (_DOS, 1, NotSerialized)
  3049. {
  3050. Store (And (Arg0, 0x03), SWIT)
  3051. }
  3052.  
  3053. Method (_DOD, 0, NotSerialized)
  3054. {
  3055. Return (Package (0x05)
  3056. {
  3057. 0x00010100,
  3058. 0x00010110,
  3059. 0x00010200,
  3060. 0x00010210,
  3061. 0x000101F0
  3062. })
  3063. }
  3064.  
  3065. Device (CRT)
  3066. {
  3067. Name (_ADR, 0x0100)
  3068. Method (_DCS, 0, NotSerialized)
  3069. {
  3070. Store ("CRT -- _DCS", Debug)
  3071. If (CRTA)
  3072. {
  3073. Return (0x1F)
  3074. }
  3075. Else
  3076. {
  3077. Return (0x1D)
  3078. }
  3079. }
  3080.  
  3081. Method (_DGS, 0, NotSerialized)
  3082. {
  3083. Store ("CRT -- _DGS", Debug)
  3084. If (CRTA)
  3085. {
  3086. Return (One)
  3087. }
  3088. Else
  3089. {
  3090. Return (Zero)
  3091. }
  3092. }
  3093.  
  3094. Method (_DSS, 1, NotSerialized)
  3095. {
  3096. Store ("CRT -- _DSS", Debug)
  3097. }
  3098. }
  3099.  
  3100. Device (TV0)
  3101. {
  3102. Name (_ADR, 0x0200)
  3103. Method (_DCS, 0, NotSerialized)
  3104. {
  3105. Store ("TV -- _DCS", Debug)
  3106. If (TV0A)
  3107. {
  3108. Return (0x1F)
  3109. }
  3110. Else
  3111. {
  3112. Return (0x1D)
  3113. }
  3114. }
  3115.  
  3116. Method (_DGS, 0, NotSerialized)
  3117. {
  3118. Store ("TV -- _DCS", Debug)
  3119. If (TV0A)
  3120. {
  3121. Return (One)
  3122. }
  3123. Else
  3124. {
  3125. Return (Zero)
  3126. }
  3127. }
  3128.  
  3129. Method (_DSS, 1, NotSerialized)
  3130. {
  3131. Store ("TV -- _DSS", Debug)
  3132. }
  3133. }
  3134.  
  3135. Device (LCD)
  3136. {
  3137. Name (_ADR, 0x0110)
  3138. Method (_DCS, 0, NotSerialized)
  3139. {
  3140. Store ("LCD -- _DCS", Debug)
  3141. If (LCDA)
  3142. {
  3143. Return (0x1F)
  3144. }
  3145. Else
  3146. {
  3147. Return (0x1D)
  3148. }
  3149. }
  3150.  
  3151. Method (_DGS, 0, NotSerialized)
  3152. {
  3153. Store ("LCD -- _DCS", Debug)
  3154. If (LCDA)
  3155. {
  3156. Return (One)
  3157. }
  3158. Else
  3159. {
  3160. Return (Zero)
  3161. }
  3162. }
  3163.  
  3164. Method (_DSS, 1, NotSerialized)
  3165. {
  3166. Store ("LCD -- _DSS", Debug)
  3167. }
  3168.  
  3169. Method (_BCL, 0, NotSerialized)
  3170. {
  3171. Return (BCLT)
  3172. }
  3173.  
  3174. Method (_BCM, 1, NotSerialized)
  3175. {
  3176. SBCM (Arg0)
  3177. }
  3178.  
  3179. Method (_BQC, 0, NotSerialized)
  3180. {
  3181. Return (^^^^LPC0.EC0.BRTL)
  3182. }
  3183. }
  3184.  
  3185. Device (HDMI)
  3186. {
  3187. Name (_ADR, 0x0210)
  3188. Method (_DCS, 0, NotSerialized)
  3189. {
  3190. Store ("HDMI TV -- _DCS", Debug)
  3191. If (HDTV)
  3192. {
  3193. Return (0x1F)
  3194. }
  3195. Else
  3196. {
  3197. Return (0x1D)
  3198. }
  3199. }
  3200.  
  3201. Method (_DGS, 0, NotSerialized)
  3202. {
  3203. Store ("HDMI TV -- _DCS", Debug)
  3204. If (HDTV)
  3205. {
  3206. Return (One)
  3207. }
  3208. Else
  3209. {
  3210. Return (Zero)
  3211. }
  3212. }
  3213.  
  3214. Method (_DSS, 1, NotSerialized)
  3215. {
  3216. Store ("HDMI TV -- _DSS", Debug)
  3217. }
  3218. }
  3219.  
  3220. Device (CVTV)
  3221. {
  3222. Name (_ADR, 0x01F0)
  3223. Method (_DCS, 0, NotSerialized)
  3224. {
  3225. Store ("Composite Video -- _DCS", Debug)
  3226. If (CV0A)
  3227. {
  3228. Return (0x1F)
  3229. }
  3230. Else
  3231. {
  3232. Return (0x1D)
  3233. }
  3234. }
  3235.  
  3236. Method (_DGS, 0, NotSerialized)
  3237. {
  3238. Store ("Composite Video -- _DCS", Debug)
  3239. If (CV0A)
  3240. {
  3241. Return (One)
  3242. }
  3243. Else
  3244. {
  3245. Return (Zero)
  3246. }
  3247. }
  3248.  
  3249. Method (_DSS, 1, NotSerialized)
  3250. {
  3251. Store ("Composite Video -- _DSS", Debug)
  3252. }
  3253. }
  3254. }
  3255. }
  3256.  
  3257. Device (PB4)
  3258. {
  3259. Name (_ADR, 0x00040000)
  3260. Method (_PRT, 0, NotSerialized)
  3261. {
  3262. If (GPIC)
  3263. {
  3264. Return (Package (0x04)
  3265. {
  3266. Package (0x04)
  3267. {
  3268. 0xFFFF,
  3269. Zero,
  3270. Zero,
  3271. 0x10
  3272. },
  3273.  
  3274. Package (0x04)
  3275. {
  3276. 0xFFFF,
  3277. One,
  3278. Zero,
  3279. 0x11
  3280. },
  3281.  
  3282. Package (0x04)
  3283. {
  3284. 0xFFFF,
  3285. 0x02,
  3286. Zero,
  3287. 0x12
  3288. },
  3289.  
  3290. Package (0x04)
  3291. {
  3292. 0xFFFF,
  3293. 0x03,
  3294. Zero,
  3295. 0x13
  3296. }
  3297. })
  3298. }
  3299. Else
  3300. {
  3301. Return (Package (0x04)
  3302. {
  3303. Package (0x04)
  3304. {
  3305. 0xFFFF,
  3306. Zero,
  3307. LNKA,
  3308. Zero
  3309. },
  3310.  
  3311. Package (0x04)
  3312. {
  3313. 0xFFFF,
  3314. One,
  3315. LNKB,
  3316. Zero
  3317. },
  3318.  
  3319. Package (0x04)
  3320. {
  3321. 0xFFFF,
  3322. 0x02,
  3323. LNKC,
  3324. Zero
  3325. },
  3326.  
  3327. Package (0x04)
  3328. {
  3329. 0xFFFF,
  3330. 0x03,
  3331. LNKD,
  3332. Zero
  3333. }
  3334. })
  3335. }
  3336. }
  3337.  
  3338. OperationRegion (XPCB, PCI_Config, 0x58, 0x24)
  3339. Field (XPCB, ByteAcc, NoLock, Preserve)
  3340. {
  3341. Offset (0x10),
  3342. LKCN, 16,
  3343. LKST, 16,
  3344. Offset (0x1A),
  3345. SLST, 16
  3346. }
  3347.  
  3348. OperationRegion (XPRI, PCI_Config, 0xE0, 0x08)
  3349. Field (XPRI, ByteAcc, NoLock, Preserve)
  3350. {
  3351. XPIR, 32,
  3352. XPID, 32
  3353. }
  3354.  
  3355. OperationRegion (XPEX, SystemMemory, 0xE0020100, 0x0100)
  3356. Field (XPEX, DWordAcc, NoLock, Preserve)
  3357. {
  3358. Offset (0x28),
  3359. VC0S, 32
  3360. }
  3361.  
  3362. Method (XPDL, 0, NotSerialized)
  3363. {
  3364. Store (Zero, Local0)
  3365. If (And (VC0S, 0x00020000))
  3366. {
  3367. Store (Ones, Local0)
  3368. }
  3369.  
  3370. Return (Local0)
  3371. }
  3372.  
  3373. Method (XPRD, 1, NotSerialized)
  3374. {
  3375. Store (Arg0, XPIR)
  3376. Store (XPID, Local0)
  3377. Store (Zero, XPIR)
  3378. Return (Local0)
  3379. }
  3380.  
  3381. Method (XPWR, 2, NotSerialized)
  3382. {
  3383. Store (Arg0, XPIR)
  3384. Store (Arg1, XPID)
  3385. Store (Zero, XPIR)
  3386. }
  3387.  
  3388. Method (XPRT, 0, NotSerialized)
  3389. {
  3390. Store (XPRD (0xA2), Local0)
  3391. And (Local0, 0xFFFFFFF8, Local0)
  3392. ShiftRight (Local0, 0x04, Local1)
  3393. And (Local1, 0x07, Local1)
  3394. Or (Local0, Local1, Local0)
  3395. Or (Local0, 0x0100, Local0)
  3396. XPWR (0xA2, Local0)
  3397. }
  3398.  
  3399. Method (XPLP, 1, NotSerialized)
  3400. {
  3401. Store (0x0101, Local1)
  3402. Store (NBXR (0x00020065), Local2)
  3403. If (Arg0)
  3404. {
  3405. And (Local2, Not (Local1), Local2)
  3406. }
  3407. Else
  3408. {
  3409. Or (Local2, Local1, Local2)
  3410. }
  3411.  
  3412. NBXW (0x00020065, Local2)
  3413. }
  3414.  
  3415. Method (XPR2, 0, NotSerialized)
  3416. {
  3417. Store (LKCN, Local0)
  3418. And (Local0, 0xFFFFFFDF, Local0)
  3419. Store (Local0, LKCN)
  3420. Or (Local0, 0x20, Local0)
  3421. Store (Local0, LKCN)
  3422. Store (0x64, Local1)
  3423. Store (One, Local2)
  3424. While (LAnd (Local1, Local2))
  3425. {
  3426. Sleep (One)
  3427. Store (LKST, Local3)
  3428. If (And (Local3, 0x0800))
  3429. {
  3430. Decrement (Local1)
  3431. }
  3432. Else
  3433. {
  3434. Store (Zero, Local2)
  3435. }
  3436. }
  3437.  
  3438. And (Local0, 0xFFFFFFDF, Local0)
  3439. Store (Local0, LKCN)
  3440. If (LNot (Local2))
  3441. {
  3442. Return (Ones)
  3443. }
  3444. Else
  3445. {
  3446. Return (Zero)
  3447. }
  3448. }
  3449.  
  3450. Device (NCRD)
  3451. {
  3452. Name (_ADR, Zero)
  3453. OperationRegion (PCFG, PCI_Config, Zero, 0x08)
  3454. Field (PCFG, DWordAcc, NoLock, Preserve)
  3455. {
  3456. DVID, 32,
  3457. PCMS, 32
  3458. }
  3459.  
  3460. Method (_RMV, 0, NotSerialized)
  3461. {
  3462. Return (One)
  3463. }
  3464. }
  3465. }
  3466.  
  3467. Device (PB5)
  3468. {
  3469. Name (_ADR, 0x00050000)
  3470. Method (_PRW, 0, NotSerialized)
  3471. {
  3472. If (LEqual (WKPM, One))
  3473. {
  3474. Return (GPRW (0x12, 0x05))
  3475. }
  3476. Else
  3477. {
  3478. Return (GPRW (0x12, Zero))
  3479. }
  3480. }
  3481.  
  3482. Method (_PRT, 0, NotSerialized)
  3483. {
  3484. If (GPIC)
  3485. {
  3486. Return (Package (0x04)
  3487. {
  3488. Package (0x04)
  3489. {
  3490. 0xFFFF,
  3491. Zero,
  3492. Zero,
  3493. 0x11
  3494. },
  3495.  
  3496. Package (0x04)
  3497. {
  3498. 0xFFFF,
  3499. One,
  3500. Zero,
  3501. 0x12
  3502. },
  3503.  
  3504. Package (0x04)
  3505. {
  3506. 0xFFFF,
  3507. 0x02,
  3508. Zero,
  3509. 0x13
  3510. },
  3511.  
  3512. Package (0x04)
  3513. {
  3514. 0xFFFF,
  3515. 0x03,
  3516. Zero,
  3517. 0x10
  3518. }
  3519. })
  3520. }
  3521. Else
  3522. {
  3523. Return (Package (0x04)
  3524. {
  3525. Package (0x04)
  3526. {
  3527. 0xFFFF,
  3528. Zero,
  3529. LNKB,
  3530. Zero
  3531. },
  3532.  
  3533. Package (0x04)
  3534. {
  3535. 0xFFFF,
  3536. One,
  3537. LNKC,
  3538. Zero
  3539. },
  3540.  
  3541. Package (0x04)
  3542. {
  3543. 0xFFFF,
  3544. 0x02,
  3545. LNKD,
  3546. Zero
  3547. },
  3548.  
  3549. Package (0x04)
  3550. {
  3551. 0xFFFF,
  3552. 0x03,
  3553. LNKA,
  3554. Zero
  3555. }
  3556. })
  3557. }
  3558. }
  3559. }
  3560.  
  3561. Device (PB6)
  3562. {
  3563. Name (_ADR, 0x00060000)
  3564. Name (_PRW, Package (0x02)
  3565. {
  3566. 0x12,
  3567. 0x04
  3568. })
  3569. Method (_PSW, 1, NotSerialized)
  3570. {
  3571. Store (Arg0, ^^LPC0.EC0.LANP)
  3572. }
  3573.  
  3574. Method (_PRT, 0, NotSerialized)
  3575. {
  3576. If (GPIC)
  3577. {
  3578. Return (Package (0x04)
  3579. {
  3580. Package (0x04)
  3581. {
  3582. 0xFFFF,
  3583. Zero,
  3584. Zero,
  3585. 0x12
  3586. },
  3587.  
  3588. Package (0x04)
  3589. {
  3590. 0xFFFF,
  3591. One,
  3592. Zero,
  3593. 0x13
  3594. },
  3595.  
  3596. Package (0x04)
  3597. {
  3598. 0xFFFF,
  3599. 0x02,
  3600. Zero,
  3601. 0x10
  3602. },
  3603.  
  3604. Package (0x04)
  3605. {
  3606. 0xFFFF,
  3607. 0x03,
  3608. Zero,
  3609. 0x11
  3610. }
  3611. })
  3612. }
  3613. Else
  3614. {
  3615. Return (Package (0x04)
  3616. {
  3617. Package (0x04)
  3618. {
  3619. 0xFFFF,
  3620. Zero,
  3621. LNKC,
  3622. Zero
  3623. },
  3624.  
  3625. Package (0x04)
  3626. {
  3627. 0xFFFF,
  3628. One,
  3629. LNKD,
  3630. Zero
  3631. },
  3632.  
  3633. Package (0x04)
  3634. {
  3635. 0xFFFF,
  3636. 0x02,
  3637. LNKA,
  3638. Zero
  3639. },
  3640.  
  3641. Package (0x04)
  3642. {
  3643. 0xFFFF,
  3644. 0x03,
  3645. LNKB,
  3646. Zero
  3647. }
  3648. })
  3649. }
  3650. }
  3651. }
  3652.  
  3653. Device (PB7)
  3654. {
  3655. Name (_ADR, 0x00070000)
  3656. Method (_PRW, 0, NotSerialized)
  3657. {
  3658. If (LEqual (WKPM, One))
  3659. {
  3660. Return (GPRW (0x12, 0x05))
  3661. }
  3662. Else
  3663. {
  3664. Return (GPRW (0x12, Zero))
  3665. }
  3666. }
  3667.  
  3668. Method (_PRT, 0, NotSerialized)
  3669. {
  3670. If (GPIC)
  3671. {
  3672. Return (Package (0x04)
  3673. {
  3674. Package (0x04)
  3675. {
  3676. 0xFFFF,
  3677. Zero,
  3678. Zero,
  3679. 0x13
  3680. },
  3681.  
  3682. Package (0x04)
  3683. {
  3684. 0xFFFF,
  3685. One,
  3686. Zero,
  3687. 0x10
  3688. },
  3689.  
  3690. Package (0x04)
  3691. {
  3692. 0xFFFF,
  3693. 0x02,
  3694. Zero,
  3695. 0x11
  3696. },
  3697.  
  3698. Package (0x04)
  3699. {
  3700. 0xFFFF,
  3701. 0x03,
  3702. Zero,
  3703. 0x12
  3704. }
  3705. })
  3706. }
  3707. Else
  3708. {
  3709. Return (Package (0x04)
  3710. {
  3711. Package (0x04)
  3712. {
  3713. 0xFFFF,
  3714. Zero,
  3715. LNKD,
  3716. Zero
  3717. },
  3718.  
  3719. Package (0x04)
  3720. {
  3721. 0xFFFF,
  3722. One,
  3723. LNKA,
  3724. Zero
  3725. },
  3726.  
  3727. Package (0x04)
  3728. {
  3729. 0xFFFF,
  3730. 0x02,
  3731. LNKB,
  3732. Zero
  3733. },
  3734.  
  3735. Package (0x04)
  3736. {
  3737. 0xFFFF,
  3738. 0x03,
  3739. LNKC,
  3740. Zero
  3741. }
  3742. })
  3743. }
  3744. }
  3745. }
  3746.  
  3747. Device (PB9)
  3748. {
  3749. Name (_ADR, 0x00090000)
  3750. Method (_PRW, 0, NotSerialized)
  3751. {
  3752. If (LEqual (WKPM, One))
  3753. {
  3754. Return (GPRW (0x12, 0x05))
  3755. }
  3756. Else
  3757. {
  3758. Return (GPRW (0x12, Zero))
  3759. }
  3760. }
  3761.  
  3762. Method (_PRT, 0, NotSerialized)
  3763. {
  3764. If (GPIC)
  3765. {
  3766. Return (Package (0x04)
  3767. {
  3768. Package (0x04)
  3769. {
  3770. 0xFFFF,
  3771. Zero,
  3772. Zero,
  3773. 0x11
  3774. },
  3775.  
  3776. Package (0x04)
  3777. {
  3778. 0xFFFF,
  3779. One,
  3780. Zero,
  3781. 0x12
  3782. },
  3783.  
  3784. Package (0x04)
  3785. {
  3786. 0xFFFF,
  3787. 0x02,
  3788. Zero,
  3789. 0x13
  3790. },
  3791.  
  3792. Package (0x04)
  3793. {
  3794. 0xFFFF,
  3795. 0x03,
  3796. Zero,
  3797. 0x10
  3798. }
  3799. })
  3800. }
  3801. Else
  3802. {
  3803. Return (Package (0x04)
  3804. {
  3805. Package (0x04)
  3806. {
  3807. 0xFFFF,
  3808. Zero,
  3809. LNKB,
  3810. Zero
  3811. },
  3812.  
  3813. Package (0x04)
  3814. {
  3815. 0xFFFF,
  3816. One,
  3817. LNKC,
  3818. Zero
  3819. },
  3820.  
  3821. Package (0x04)
  3822. {
  3823. 0xFFFF,
  3824. 0x02,
  3825. LNKD,
  3826. Zero
  3827. },
  3828.  
  3829. Package (0x04)
  3830. {
  3831. 0xFFFF,
  3832. 0x03,
  3833. LNKA,
  3834. Zero
  3835. }
  3836. })
  3837. }
  3838. }
  3839. }
  3840.  
  3841. Device (PB10)
  3842. {
  3843. Name (_ADR, 0x000A0000)
  3844. OperationRegion (XPCB, PCI_Config, 0x58, 0x24)
  3845. Field (XPCB, ByteAcc, NoLock, Preserve)
  3846. {
  3847. Offset (0x10),
  3848. LKCN, 16,
  3849. LKST, 16,
  3850. Offset (0x1A),
  3851. SLST, 16
  3852. }
  3853.  
  3854. OperationRegion (XPRI, PCI_Config, 0xE0, 0x08)
  3855. Field (XPRI, ByteAcc, NoLock, Preserve)
  3856. {
  3857. XPIR, 32,
  3858. XPID, 32
  3859. }
  3860.  
  3861. OperationRegion (XPEX, SystemMemory, 0xE0028100, 0x0100)
  3862. Field (XPEX, DWordAcc, NoLock, Preserve)
  3863. {
  3864. Offset (0x28),
  3865. VC0S, 32
  3866. }
  3867.  
  3868. Method (XPDL, 0, NotSerialized)
  3869. {
  3870. Store (Zero, Local0)
  3871. If (And (VC0S, 0x00020000))
  3872. {
  3873. Store (Ones, Local0)
  3874. }
  3875.  
  3876. Return (Local0)
  3877. }
  3878.  
  3879. Method (XPRD, 1, NotSerialized)
  3880. {
  3881. Store (Arg0, XPIR)
  3882. Store (XPID, Local0)
  3883. Store (Zero, XPIR)
  3884. Return (Local0)
  3885. }
  3886.  
  3887. Method (XPWR, 2, NotSerialized)
  3888. {
  3889. Store (Arg0, XPIR)
  3890. Store (Arg1, XPID)
  3891. Store (Zero, XPIR)
  3892. }
  3893.  
  3894. Method (XPRT, 0, NotSerialized)
  3895. {
  3896. Store (XPRD (0xA2), Local0)
  3897. And (Local0, 0xFFFFFFF8, Local0)
  3898. ShiftRight (Local0, 0x04, Local1)
  3899. And (Local1, 0x07, Local1)
  3900. Or (Local0, Local1, Local0)
  3901. Or (Local0, 0x0100, Local0)
  3902. XPWR (0xA2, Local0)
  3903. }
  3904.  
  3905. Method (XPLP, 1, NotSerialized)
  3906. {
  3907. Store (0x2020, Local1)
  3908. Store (NBXR (0x00010065), Local2)
  3909. If (Arg0)
  3910. {
  3911. And (Local2, Not (Local1), Local2)
  3912. }
  3913. Else
  3914. {
  3915. Or (Local2, Local1, Local2)
  3916. }
  3917.  
  3918. NBXW (0x00010065, Local2)
  3919. }
  3920.  
  3921. Method (XPR2, 0, NotSerialized)
  3922. {
  3923. Store (LKCN, Local0)
  3924. And (Local0, 0xFFFFFFDF, Local0)
  3925. Store (Local0, LKCN)
  3926. Or (Local0, 0x20, Local0)
  3927. Store (Local0, LKCN)
  3928. Store (0x64, Local1)
  3929. Store (One, Local2)
  3930. While (LAnd (Local1, Local2))
  3931. {
  3932. Sleep (One)
  3933. Store (LKST, Local3)
  3934. If (And (Local3, 0x0800))
  3935. {
  3936. Decrement (Local1)
  3937. }
  3938. Else
  3939. {
  3940. Store (Zero, Local2)
  3941. }
  3942. }
  3943.  
  3944. And (Local0, 0xFFFFFFDF, Local0)
  3945. Store (Local0, LKCN)
  3946. If (LNot (Local2))
  3947. {
  3948. Return (Ones)
  3949. }
  3950. Else
  3951. {
  3952. Return (Zero)
  3953. }
  3954. }
  3955.  
  3956. Method (_PRW, 0, NotSerialized)
  3957. {
  3958. If (LEqual (WKPM, One))
  3959. {
  3960. Return (GPRW (0x12, 0x05))
  3961. }
  3962. Else
  3963. {
  3964. Return (GPRW (0x12, Zero))
  3965. }
  3966. }
  3967.  
  3968. Method (_PRT, 0, NotSerialized)
  3969. {
  3970. If (GPIC)
  3971. {
  3972. Return (Package (0x04)
  3973. {
  3974. Package (0x04)
  3975. {
  3976. 0xFFFF,
  3977. Zero,
  3978. Zero,
  3979. 0x12
  3980. },
  3981.  
  3982. Package (0x04)
  3983. {
  3984. 0xFFFF,
  3985. One,
  3986. Zero,
  3987. 0x13
  3988. },
  3989.  
  3990. Package (0x04)
  3991. {
  3992. 0xFFFF,
  3993. 0x02,
  3994. Zero,
  3995. 0x10
  3996. },
  3997.  
  3998. Package (0x04)
  3999. {
  4000. 0xFFFF,
  4001. 0x03,
  4002. Zero,
  4003. 0x11
  4004. }
  4005. })
  4006. }
  4007. Else
  4008. {
  4009. Return (Package (0x04)
  4010. {
  4011. Package (0x04)
  4012. {
  4013. 0xFFFF,
  4014. Zero,
  4015. LNKC,
  4016. Zero
  4017. },
  4018.  
  4019. Package (0x04)
  4020. {
  4021. 0xFFFF,
  4022. One,
  4023. LNKD,
  4024. Zero
  4025. },
  4026.  
  4027. Package (0x04)
  4028. {
  4029. 0xFFFF,
  4030. 0x02,
  4031. LNKA,
  4032. Zero
  4033. },
  4034.  
  4035. Package (0x04)
  4036. {
  4037. 0xFFFF,
  4038. 0x03,
  4039. LNKB,
  4040. Zero
  4041. }
  4042. })
  4043. }
  4044. }
  4045.  
  4046. Device (J380)
  4047. {
  4048. Name (_ADR, Zero)
  4049. OperationRegion (PCFG, PCI_Config, Zero, 0xFF)
  4050. Field (PCFG, ByteAcc, NoLock, Preserve)
  4051. {
  4052. DVID, 32,
  4053. Offset (0x2C),
  4054. SSID, 32,
  4055. Offset (0xAC),
  4056. D3EF, 8,
  4057. Offset (0xB2),
  4058. LAT0, 8,
  4059. Offset (0xCF),
  4060. ATRB, 8,
  4061. Offset (0xD3),
  4062. PMC0, 8
  4063. }
  4064.  
  4065. Method (_STA, 0, NotSerialized)
  4066. {
  4067. If (LNotEqual (DVID, Ones))
  4068. {
  4069. Return (0x0F)
  4070. }
  4071. Else
  4072. {
  4073. Return (Zero)
  4074. }
  4075. }
  4076.  
  4077. Method (_RMV, 0, NotSerialized)
  4078. {
  4079. Return (One)
  4080. }
  4081. }
  4082.  
  4083. Device (J381)
  4084. {
  4085. Name (_ADR, One)
  4086. Method (_RMV, 0, NotSerialized)
  4087. {
  4088. Return (One)
  4089. }
  4090. }
  4091.  
  4092. Device (J382)
  4093. {
  4094. Name (_ADR, 0x02)
  4095. Method (_RMV, 0, NotSerialized)
  4096. {
  4097. Return (One)
  4098. }
  4099. }
  4100.  
  4101. Device (J383)
  4102. {
  4103. Name (_ADR, 0x03)
  4104. Method (_RMV, 0, NotSerialized)
  4105. {
  4106. Return (One)
  4107. }
  4108. }
  4109.  
  4110. Device (J384)
  4111. {
  4112. Name (_ADR, 0x04)
  4113. Method (_RMV, 0, NotSerialized)
  4114. {
  4115. Return (One)
  4116. }
  4117. }
  4118. }
  4119.  
  4120. Device (HPET)
  4121. {
  4122. Name (_HID, EisaId ("PNP0103"))
  4123. Method (_STA, 0, NotSerialized)
  4124. {
  4125. If (LAnd (^^SMBS.HPAD, Ones))
  4126. {
  4127. If (LAnd (TPOS, 0x40))
  4128. {
  4129. Return (0x0F)
  4130. }
  4131. }
  4132.  
  4133. Return (Zero)
  4134. }
  4135.  
  4136. Method (_CRS, 0, NotSerialized)
  4137. {
  4138. Name (BUF0, ResourceTemplate ()
  4139. {
  4140. IRQNoFlags ()
  4141. {0}
  4142. IRQNoFlags ()
  4143. {8}
  4144. Memory32Fixed (ReadOnly,
  4145. 0xFED00000, // Address Base
  4146. 0x00000400, // Address Length
  4147. _Y04)
  4148. })
  4149. CreateDWordField (BUF0, \_SB.PCI0.HPET._CRS._Y04._BAS, HPEB)
  4150. Store (^^SMBS.HPAD, Local0)
  4151. And (Local0, 0xFFFFFFC0, HPEB)
  4152. Return (BUF0)
  4153. }
  4154. }
  4155.  
  4156. Device (USB0)
  4157. {
  4158. Name (_ADR, 0x00120000)
  4159. Method (_S3D, 0, NotSerialized)
  4160. {
  4161. Return (0x02)
  4162. }
  4163.  
  4164. Method (_S4D, 0, NotSerialized)
  4165. {
  4166. Return (0x02)
  4167. }
  4168. }
  4169.  
  4170. Device (USB1)
  4171. {
  4172. Name (_ADR, 0x00120001)
  4173. Method (_S3D, 0, NotSerialized)
  4174. {
  4175. Return (0x02)
  4176. }
  4177.  
  4178. Method (_S4D, 0, NotSerialized)
  4179. {
  4180. Return (0x02)
  4181. }
  4182. }
  4183.  
  4184. Device (USB2)
  4185. {
  4186. Name (_ADR, 0x00130000)
  4187. Method (_S3D, 0, NotSerialized)
  4188. {
  4189. Return (0x02)
  4190. }
  4191.  
  4192. Method (_S4D, 0, NotSerialized)
  4193. {
  4194. Return (0x02)
  4195. }
  4196. }
  4197.  
  4198. Device (USB3)
  4199. {
  4200. Name (_ADR, 0x00130001)
  4201. Method (_S3D, 0, NotSerialized)
  4202. {
  4203. Return (0x02)
  4204. }
  4205.  
  4206. Method (_S4D, 0, NotSerialized)
  4207. {
  4208. Return (0x02)
  4209. }
  4210. }
  4211.  
  4212. Device (USB4)
  4213. {
  4214. Name (_ADR, 0x00140005)
  4215. Method (_S3D, 0, NotSerialized)
  4216. {
  4217. Return (0x02)
  4218. }
  4219.  
  4220. Method (_S4D, 0, NotSerialized)
  4221. {
  4222. Return (0x02)
  4223. }
  4224. }
  4225.  
  4226. Device (USB5)
  4227. {
  4228. Name (_ADR, 0x00120002)
  4229. }
  4230.  
  4231. Device (USB6)
  4232. {
  4233. Name (_ADR, 0x00130002)
  4234. }
  4235.  
  4236. Device (SMBS)
  4237. {
  4238. Name (_ADR, 0x00140000)
  4239. OperationRegion (IRQF, PCI_Config, Zero, 0xFF)
  4240. Field (IRQF, ByteAcc, NoLock, Preserve)
  4241. {
  4242. Offset (0x08),
  4243. RVID, 8,
  4244. Offset (0x52),
  4245. GP53, 1,
  4246. GP54, 1,
  4247. GP55, 1,
  4248. GP56, 1,
  4249. Offset (0x54),
  4250. GP57, 1,
  4251. GP58, 1,
  4252. GP59, 1,
  4253. GP60, 1,
  4254. Offset (0x56),
  4255. R56H, 3,
  4256. GP64, 1,
  4257. Offset (0x5A),
  4258. GP70, 1,
  4259. GP71, 1,
  4260. GP72, 1,
  4261. GP73, 1,
  4262. G70C, 1,
  4263. G71C, 1,
  4264. Offset (0x62),
  4265. IRQK, 1,
  4266. IRQM, 1,
  4267. Offset (0x63),
  4268. Offset (0x82),
  4269. GP13, 1,
  4270. Offset (0x90),
  4271. BMBS, 16,
  4272. Offset (0xAD),
  4273. SA1E, 1,
  4274. , 3,
  4275. SA2E, 1,
  4276. Offset (0xB4),
  4277. HPAD, 32
  4278. }
  4279.  
  4280. OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02)
  4281. Field (PMIO, ByteAcc, NoLock, Preserve)
  4282. {
  4283. INPM, 8,
  4284. DAPM, 8
  4285. }
  4286.  
  4287. IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve)
  4288. {
  4289. , 1,
  4290. TM1E, 1,
  4291. TM2E, 1,
  4292. Offset (0x01),
  4293. , 1,
  4294. TM1S, 1,
  4295. TM2S, 1,
  4296. Offset (0x04),
  4297. , 7,
  4298. SLPS, 1,
  4299. Offset (0x1C),
  4300. , 3,
  4301. MKME, 1,
  4302. PI3E, 1,
  4303. PI2E, 1,
  4304. PI1E, 1,
  4305. PI0E, 1,
  4306. , 3,
  4307. MKMS, 1,
  4308. PI3S, 1,
  4309. PI2S, 1,
  4310. PI1S, 1,
  4311. PI0S, 1,
  4312. Offset (0x36),
  4313. GE0T, 1,
  4314. GE1T, 1,
  4315. GE2T, 1,
  4316. GE3T, 1,
  4317. GE4T, 1,
  4318. GE5T, 1,
  4319. GE6T, 1,
  4320. GE7T, 1,
  4321. Offset (0x38),
  4322. , 1,
  4323. GM4C, 1,
  4324. GM5C, 1,
  4325. , 1,
  4326. GM6C, 1,
  4327. Offset (0x39),
  4328. , 7,
  4329. GE7S, 1,
  4330. Offset (0x55),
  4331. SPRE, 1,
  4332. Offset (0x65),
  4333. , 4,
  4334. RS3U, 1,
  4335. RSTU, 1,
  4336. Offset (0x68),
  4337. , 3,
  4338. TPDE, 1,
  4339. , 1,
  4340. Offset (0x92),
  4341. GEVS, 8
  4342. }
  4343.  
  4344. OperationRegion (SMBI, SystemIO, And (BMBS, 0xFFFE), 0x10)
  4345. Field (SMBI, ByteAcc, NoLock, Preserve)
  4346. {
  4347. HSTS, 8,
  4348. Offset (0x02),
  4349. HCTR, 8,
  4350. HCMD, 8,
  4351. SLVA, 8,
  4352. SDT0, 8,
  4353. SDT1, 8
  4354. }
  4355.  
  4356. Method (SWRB, 3, Serialized)
  4357. {
  4358. If (STRT ())
  4359. {
  4360. Return (Zero)
  4361. }
  4362.  
  4363. Store (0x1F, HSTS)
  4364. Store (Arg0, SLVA)
  4365. Store (Arg1, HCMD)
  4366. Store (Arg2, SDT0)
  4367. Store (0x48, HCTR)
  4368. If (COMP ())
  4369. {
  4370. Or (HSTS, 0x1F, HSTS)
  4371. Return (One)
  4372. }
  4373.  
  4374. Return (Zero)
  4375. }
  4376.  
  4377. Method (SRDB, 2, Serialized)
  4378. {
  4379. If (STRT ())
  4380. {
  4381. Return (0xFFFF)
  4382. }
  4383.  
  4384. Store (0x1F, HSTS)
  4385. Store (Or (Arg0, One), SLVA)
  4386. Store (Arg1, HCMD)
  4387. Store (0x48, HCTR)
  4388. If (COMP ())
  4389. {
  4390. Or (HSTS, 0x1F, HSTS)
  4391. Return (SDT0)
  4392. }
  4393.  
  4394. Return (0xFFFF)
  4395. }
  4396.  
  4397. Method (STRT, 0, Serialized)
  4398. {
  4399. Store (0x4E20, Local0)
  4400. While (Local0)
  4401. {
  4402. If (And (HSTS, One))
  4403. {
  4404. Decrement (Local0)
  4405. Stall (0x32)
  4406. If (LEqual (Local0, Zero))
  4407. {
  4408. KEL ()
  4409. }
  4410. }
  4411. Else
  4412. {
  4413. Return (Zero)
  4414. }
  4415. }
  4416.  
  4417. Return (One)
  4418. }
  4419.  
  4420. Method (COMP, 0, Serialized)
  4421. {
  4422. Store (0x4E20, Local0)
  4423. While (Local0)
  4424. {
  4425. If (And (HSTS, One))
  4426. {
  4427. Decrement (Local0)
  4428. Stall (0x32)
  4429. If (LEqual (Local0, Zero))
  4430. {
  4431. KEL ()
  4432. }
  4433. }
  4434. Else
  4435. {
  4436. Return (One)
  4437. }
  4438. }
  4439.  
  4440. Return (Zero)
  4441. }
  4442.  
  4443. Method (KEL, 0, Serialized)
  4444. {
  4445. Or (HCTR, 0x02, HCTR)
  4446. Or (HSTS, 0x1F, HSTS)
  4447. }
  4448. }
  4449.  
  4450. Device (LPC0)
  4451. {
  4452. Name (_ADR, 0x00140003)
  4453. Mutex (PSMX, 0x00)
  4454. Device (DMAC)
  4455. {
  4456. Name (_HID, EisaId ("PNP0200"))
  4457. Name (_CRS, ResourceTemplate ()
  4458. {
  4459. IO (Decode16,
  4460. 0x0000, // Range Minimum
  4461. 0x0000, // Range Maximum
  4462. 0x01, // Alignment
  4463. 0x10, // Length
  4464. )
  4465. IO (Decode16,
  4466. 0x0081, // Range Minimum
  4467. 0x0081, // Range Maximum
  4468. 0x01, // Alignment
  4469. 0x0F, // Length
  4470. )
  4471. IO (Decode16,
  4472. 0x00C0, // Range Minimum
  4473. 0x00C0, // Range Maximum
  4474. 0x01, // Alignment
  4475. 0x20, // Length
  4476. )
  4477. DMA (Compatibility, NotBusMaster, Transfer8_16, )
  4478. {4}
  4479. })
  4480. }
  4481.  
  4482. Device (COPR)
  4483. {
  4484. Name (_HID, EisaId ("PNP0C04"))
  4485. Name (_CRS, ResourceTemplate ()
  4486. {
  4487. IO (Decode16,
  4488. 0x00F0, // Range Minimum
  4489. 0x00F0, // Range Maximum
  4490. 0x01, // Alignment
  4491. 0x0F, // Length
  4492. )
  4493. IRQNoFlags ()
  4494. {13}
  4495. })
  4496. }
  4497.  
  4498. Device (PIC)
  4499. {
  4500. Name (_HID, EisaId ("PNP0000"))
  4501. Name (_CRS, ResourceTemplate ()
  4502. {
  4503. IO (Decode16,
  4504. 0x0020, // Range Minimum
  4505. 0x0020, // Range Maximum
  4506. 0x01, // Alignment
  4507. 0x02, // Length
  4508. )
  4509. IO (Decode16,
  4510. 0x00A0, // Range Minimum
  4511. 0x00A0, // Range Maximum
  4512. 0x01, // Alignment
  4513. 0x02, // Length
  4514. )
  4515. IRQNoFlags ()
  4516. {2}
  4517. })
  4518. }
  4519.  
  4520. Device (RTC)
  4521. {
  4522. Name (_HID, EisaId ("PNP0B00"))
  4523. Name (BUF0, ResourceTemplate ()
  4524. {
  4525. IO (Decode16,
  4526. 0x0070, // Range Minimum
  4527. 0x0070, // Range Maximum
  4528. 0x01, // Alignment
  4529. 0x02, // Length
  4530. )
  4531. })
  4532. Name (BUF1, ResourceTemplate ()
  4533. {
  4534. IO (Decode16,
  4535. 0x0070, // Range Minimum
  4536. 0x0070, // Range Maximum
  4537. 0x01, // Alignment
  4538. 0x02, // Length
  4539. )
  4540. IRQNoFlags ()
  4541. {8}
  4542. })
  4543. Method (_CRS, 0, Serialized)
  4544. {
  4545. If (LAnd (^^^SMBS.HPAD, Ones))
  4546. {
  4547. Return (BUF0)
  4548. }
  4549.  
  4550. Return (BUF1)
  4551. }
  4552. }
  4553.  
  4554. Device (SPKR)
  4555. {
  4556. Name (_HID, EisaId ("PNP0800"))
  4557. Name (_CRS, ResourceTemplate ()
  4558. {
  4559. IO (Decode16,
  4560. 0x0061, // Range Minimum
  4561. 0x0061, // Range Maximum
  4562. 0x01, // Alignment
  4563. 0x01, // Length
  4564. )
  4565. })
  4566. }
  4567.  
  4568. Device (TMR)
  4569. {
  4570. Name (_HID, EisaId ("PNP0100"))
  4571. Name (BUF0, ResourceTemplate ()
  4572. {
  4573. IO (Decode16,
  4574. 0x0040, // Range Minimum
  4575. 0x0040, // Range Maximum
  4576. 0x01, // Alignment
  4577. 0x04, // Length
  4578. )
  4579. })
  4580. Name (BUF1, ResourceTemplate ()
  4581. {
  4582. IO (Decode16,
  4583. 0x0040, // Range Minimum
  4584. 0x0040, // Range Maximum
  4585. 0x01, // Alignment
  4586. 0x04, // Length
  4587. )
  4588. IRQNoFlags ()
  4589. {0}
  4590. })
  4591. Method (_CRS, 0, Serialized)
  4592. {
  4593. If (LAnd (^^^SMBS.HPAD, Ones))
  4594. {
  4595. Return (BUF0)
  4596. }
  4597.  
  4598. Return (BUF1)
  4599. }
  4600. }
  4601.  
  4602. Device (PS2K)
  4603. {
  4604. Name (_HID, EisaId ("PNP0303"))
  4605. Name (_CRS, ResourceTemplate ()
  4606. {
  4607. IO (Decode16,
  4608. 0x0060, // Range Minimum
  4609. 0x0060, // Range Maximum
  4610. 0x01, // Alignment
  4611. 0x01, // Length
  4612. )
  4613. IO (Decode16,
  4614. 0x0064, // Range Minimum
  4615. 0x0064, // Range Maximum
  4616. 0x01, // Alignment
  4617. 0x01, // Length
  4618. )
  4619. IRQ (Edge, ActiveHigh, Exclusive, )
  4620. {1}
  4621. })
  4622. Name (_PRW, Package (0x02)
  4623. {
  4624. 0x19,
  4625. 0x03
  4626. })
  4627. Method (_PSW, 1, NotSerialized)
  4628. {
  4629. If (ECON)
  4630. {
  4631. If (LEqual (Arg0, One))
  4632. {
  4633. Store (One, ^^EC0.PSKB)
  4634. }
  4635. Else
  4636. {
  4637. Store (Zero, ^^EC0.PSKB)
  4638. }
  4639. }
  4640. }
  4641. }
  4642.  
  4643. Device (PS2M)
  4644. {
  4645. Method (_HID, 0, NotSerialized)
  4646. {
  4647. Return ("*SYN0150")
  4648. }
  4649.  
  4650. Name (_CID, Package (0x03)
  4651. {
  4652. 0x00012E4F,
  4653. 0x02002E4F,
  4654. 0x130FD041
  4655. })
  4656. Name (_CRS, ResourceTemplate ()
  4657. {
  4658. IRQ (Edge, ActiveHigh, Exclusive, )
  4659. {12}
  4660. })
  4661. Name (_PRW, Package (0x02)
  4662. {
  4663. 0x19,
  4664. 0x03
  4665. })
  4666. Method (_PSW, 1, NotSerialized)
  4667. {
  4668. If (ECON)
  4669. {
  4670. If (LEqual (Arg0, One))
  4671. {
  4672. Store (One, ^^EC0.PSTP)
  4673. }
  4674. Else
  4675. {
  4676. Store (Zero, ^^EC0.PSTP)
  4677. }
  4678. }
  4679. }
  4680. }
  4681.  
  4682. Device (SYSR)
  4683. {
  4684. Name (_HID, EisaId ("PNP0C02"))
  4685. Name (_CRS, ResourceTemplate ()
  4686. {
  4687. IO (Decode16,
  4688. 0x0010, // Range Minimum
  4689. 0x0010, // Range Maximum
  4690. 0x01, // Alignment
  4691. 0x10, // Length
  4692. )
  4693. IO (Decode16,
  4694. 0x002E, // Range Minimum
  4695. 0x002E, // Range Maximum
  4696. 0x01, // Alignment
  4697. 0x02, // Length
  4698. )
  4699. IO (Decode16,
  4700. 0x0072, // Range Minimum
  4701. 0x0072, // Range Maximum
  4702. 0x01, // Alignment
  4703. 0x02, // Length
  4704. )
  4705. IO (Decode16,
  4706. 0x0080, // Range Minimum
  4707. 0x0080, // Range Maximum
  4708. 0x01, // Alignment
  4709. 0x01, // Length
  4710. )
  4711. IO (Decode16,
  4712. 0x00B0, // Range Minimum
  4713. 0x00B0, // Range Maximum
  4714. 0x01, // Alignment
  4715. 0x02, // Length
  4716. )
  4717. IO (Decode16,
  4718. 0x0092, // Range Minimum
  4719. 0x0092, // Range Maximum
  4720. 0x01, // Alignment
  4721. 0x01, // Length
  4722. )
  4723. IO (Decode16,
  4724. 0x0400, // Range Minimum
  4725. 0x0400, // Range Maximum
  4726. 0x01, // Alignment
  4727. 0xD0, // Length
  4728. )
  4729. IO (Decode16,
  4730. 0x04D0, // Range Minimum
  4731. 0x04D0, // Range Maximum
  4732. 0x01, // Alignment
  4733. 0x02, // Length
  4734. )
  4735. IO (Decode16,
  4736. 0x04D6, // Range Minimum
  4737. 0x04D6, // Range Maximum
  4738. 0x01, // Alignment
  4739. 0x01, // Length
  4740. )
  4741. IO (Decode16,
  4742. 0x0680, // Range Minimum
  4743. 0x0680, // Range Maximum
  4744. 0x01, // Alignment
  4745. 0x80, // Length
  4746. )
  4747. IO (Decode16,
  4748. 0x077A, // Range Minimum
  4749. 0x077A, // Range Maximum
  4750. 0x01, // Alignment
  4751. 0x01, // Length
  4752. )
  4753. IO (Decode16,
  4754. 0x0C00, // Range Minimum
  4755. 0x0C00, // Range Maximum
  4756. 0x01, // Alignment
  4757. 0x02, // Length
  4758. )
  4759. IO (Decode16,
  4760. 0x0C14, // Range Minimum
  4761. 0x0C14, // Range Maximum
  4762. 0x01, // Alignment
  4763. 0x01, // Length
  4764. )
  4765. IO (Decode16,
  4766. 0x0C50, // Range Minimum
  4767. 0x0C50, // Range Maximum
  4768. 0x01, // Alignment
  4769. 0x03, // Length
  4770. )
  4771. IO (Decode16,
  4772. 0x0C6C, // Range Minimum
  4773. 0x0C6C, // Range Maximum
  4774. 0x01, // Alignment
  4775. 0x01, // Length
  4776. )
  4777. IO (Decode16,
  4778. 0x0C6F, // Range Minimum
  4779. 0x0C6F, // Range Maximum
  4780. 0x01, // Alignment
  4781. 0x01, // Length
  4782. )
  4783. IO (Decode16,
  4784. 0x0CD0, // Range Minimum
  4785. 0x0CD0, // Range Maximum
  4786. 0x01, // Alignment
  4787. 0x0C, // Length
  4788. )
  4789. })
  4790. }
  4791.  
  4792. Device (MEM)
  4793. {
  4794. Name (_HID, EisaId ("PNP0C01"))
  4795. Name (MSRC, ResourceTemplate ()
  4796. {
  4797. Memory32Fixed (ReadOnly,
  4798. 0x000E0000, // Address Base
  4799. 0x00020000, // Address Length
  4800. )
  4801. Memory32Fixed (ReadWrite,
  4802. 0xFFF00000, // Address Base
  4803. 0x00100000, // Address Length
  4804. )
  4805. })
  4806. Method (_CRS, 0, NotSerialized)
  4807. {
  4808. Return (MSRC)
  4809. }
  4810. }
  4811.  
  4812. Device (EC0)
  4813. {
  4814. Name (_HID, EisaId ("PNP0C09"))
  4815. Name (_UID, One)
  4816. Method (_CRS, 0, NotSerialized)
  4817. {
  4818. Name (BFFR, ResourceTemplate ()
  4819. {
  4820. IO (Decode16,
  4821. 0x0062, // Range Minimum
  4822. 0x0062, // Range Maximum
  4823. 0x00, // Alignment
  4824. 0x01, // Length
  4825. )
  4826. IO (Decode16,
  4827. 0x0066, // Range Minimum
  4828. 0x0066, // Range Maximum
  4829. 0x00, // Alignment
  4830. 0x01, // Length
  4831. )
  4832. })
  4833. Return (BFFR)
  4834. }
  4835.  
  4836. OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
  4837. Field (ERAM, ByteAcc, NoLock, Preserve)
  4838. {
  4839. SMPR, 8,
  4840. SMST, 8,
  4841. SMAD, 8,
  4842. SMCM, 8,
  4843. SMD0, 256,
  4844. BCNT, 8,
  4845. SMAA, 8,
  4846. BATD, 16,
  4847. Offset (0x40),
  4848. SW2S, 1,
  4849. Offset (0x41),
  4850. , 4,
  4851. CFAN, 1,
  4852. PFN2, 1,
  4853. WOLF, 1,
  4854. PFLG, 1,
  4855. Offset (0x43),
  4856. BBDA, 1,
  4857. , 4,
  4858. Offset (0x4E),
  4859. LIDE, 1,
  4860. , 2,
  4861. TLDP, 1,
  4862. Offset (0x52),
  4863. LIDS, 1,
  4864. WBSS, 1,
  4865. , 1,
  4866. TLID, 1,
  4867. Offset (0x58),
  4868. RTMP, 8,
  4869. ECT1, 8,
  4870. ECT2, 8,
  4871. RG5B, 8,
  4872. FSPD, 16,
  4873. Offset (0x5F),
  4874. CFN2, 1,
  4875. SFN2, 1,
  4876. Offset (0x67),
  4877. PWPE, 8,
  4878. Offset (0x7E),
  4879. BATP, 8,
  4880. Offset (0x82),
  4881. MBST, 8,
  4882. MCUR, 16,
  4883. MBRM, 16,
  4884. MBCV, 16,
  4885. Offset (0xA0),
  4886. QBHK, 8,
  4887. , 5,
  4888. Offset (0xA2),
  4889. QBBB, 8,
  4890. Offset (0xA4),
  4891. MBTS, 1,
  4892. MBTF, 1,
  4893. Offset (0xA5),
  4894. MBTC, 1,
  4895. , 2,
  4896. MBNH, 1,
  4897. Offset (0xA6),
  4898. BA1C, 8,
  4899. Offset (0xAF),
  4900. MCER, 8,
  4901. Offset (0xB2),
  4902. RPM1, 8,
  4903. RPM2, 8,
  4904. Q8EF, 8,
  4905. Offset (0xBC),
  4906. MCEA, 8,
  4907. Offset (0xCF),
  4908. DLYC, 8,
  4909. EBPL, 1,
  4910. Offset (0xD2),
  4911. , 6,
  4912. APWR, 1,
  4913. DLYE, 1,
  4914. Offset (0xD6),
  4915. DBPL, 8,
  4916. Offset (0xDA),
  4917. EPRW, 8,
  4918. PSKB, 1,
  4919. PSTP, 1,
  4920. PSBA, 1,
  4921. LANP, 1,
  4922. Offset (0xDF),
  4923. ECBW, 1,
  4924. Offset (0xE0),
  4925. DLYT, 8,
  4926. Offset (0xE2),
  4927. BRTL, 8,
  4928. Offset (0xE5),
  4929. SARS, 8,
  4930. SFHK, 8,
  4931. GQKS, 7,
  4932. Offset (0xF4),
  4933. SFAN, 8
  4934. }
  4935.  
  4936. Name (FNF4, Zero)
  4937. Name (BATO, Zero)
  4938. Name (BATN, Zero)
  4939. Name (BATF, 0xC0)
  4940. Method (_REG, 2, NotSerialized)
  4941. {
  4942. If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One)))
  4943. {
  4944. Store (One, ECON)
  4945. }
  4946. }
  4947.  
  4948. Method (BPOL, 1, NotSerialized)
  4949. {
  4950. Store (Arg0, DBPL)
  4951. Store (One, EBPL)
  4952. }
  4953.  
  4954. Method (BPOM, 0, NotSerialized)
  4955. {
  4956. Store (Zero, DBPL)
  4957. Store (Zero, EBPL)
  4958. }
  4959.  
  4960. Name (_GPE, 0x03)
  4961. Method (_Q09, 0, NotSerialized)
  4962. {
  4963. If (LEqual (FNF4, Zero))
  4964. {
  4965. Notify (BAT0, 0x80)
  4966. Notify (ACAD, 0x80)
  4967. }
  4968. Else
  4969. {
  4970. Store (Zero, FNF4)
  4971. }
  4972. }
  4973.  
  4974. Method (_Q20, 0, NotSerialized)
  4975. {
  4976. CPUS ()
  4977. GBAS ()
  4978. If (And (0x40, BATF))
  4979. {
  4980. Notify (BAT0, 0x81)
  4981. }
  4982.  
  4983. If (And (0x02, BATF))
  4984. {
  4985. Notify (ACAD, 0x80)
  4986. }
  4987.  
  4988. Notify (BAT0, 0x80)
  4989. BPOL (0x05)
  4990. }
  4991.  
  4992. Method (GBAS, 0, NotSerialized)
  4993. {
  4994. Store (Zero, BATF)
  4995. Store (MBTS, Local0)
  4996. Store (SW2S, Local1)
  4997. ShiftLeft (Local0, 0x06, Local0)
  4998. ShiftLeft (Local1, One, Local1)
  4999. If (LNotEqual (And (BATO, 0x40), Local0))
  5000. {
  5001. Or (BATF, 0x40, BATF)
  5002. }
  5003.  
  5004. If (LNotEqual (And (BATO, 0x02), Local1))
  5005. {
  5006. Or (BATF, 0x02, BATF)
  5007. }
  5008.  
  5009. Store (BATF, BATO)
  5010. }
  5011.  
  5012. Method (_Q21, 0, NotSerialized)
  5013. {
  5014. Notify (ACAD, 0x80)
  5015. Notify (BAT0, 0x80)
  5016. CPUS ()
  5017. If (SW2S)
  5018. {
  5019. Store (0x03, ^^^^WMID.WEID)
  5020. Store (Zero, ^^^^WMID.WEDT)
  5021. Notify (WMID, 0x80)
  5022. }
  5023.  
  5024. If (VGAF)
  5025. {
  5026. If (D3E)
  5027. {
  5028. If (SW2S)
  5029. {
  5030. Sleep (0x14)
  5031. Store (^^^SMBS.GEVS, Local0)
  5032. If (LNot (And (Local0, 0x80)))
  5033. {
  5034. Store (0x5B, APMC)
  5035. Stall (0xFF)
  5036. Stall (0xFF)
  5037. Stall (0xFF)
  5038. Stall (0xFF)
  5039. Stall (0xFF)
  5040. Stall (0xFF)
  5041. }
  5042. Else
  5043. {
  5044. Store (^^^PB10.J380.DVID, Local7)
  5045. And (Local7, 0xFFF0FFFF, Local7)
  5046. If (LEqual (Local7, 0x2380197B))
  5047. {
  5048. And (^^^PB10.J380.D3EF, 0xBF, ^^^PB10.J380.D3EF)
  5049. }
  5050. }
  5051. }
  5052. Else
  5053. {
  5054. Sleep (0x14)
  5055. Store (^^^SMBS.GEVS, Local0)
  5056. If (And (Local0, 0x80))
  5057. {
  5058. Store (^^^PB10.J380.DVID, Local7)
  5059. And (Local7, 0xFFF0FFFF, Local7)
  5060. If (LEqual (Local7, 0x2380197B))
  5061. {
  5062. Or (^^^PB10.J380.D3EF, 0x40, ^^^PB10.J380.D3EF)
  5063. }
  5064. }
  5065. }
  5066. }
  5067. }
  5068. }
  5069.  
  5070. Method (_Q80, 0, NotSerialized)
  5071. {
  5072. Store ("_Q80 : Temperature Up/Down", Debug)
  5073. Notify (\_TZ.THRM, 0x80)
  5074. }
  5075.  
  5076. Method (_Q8A, 0, NotSerialized)
  5077. {
  5078. If (LIDE)
  5079. {
  5080. Store ("_Q8A : LID Switch Event", Debug)
  5081. Store (Zero, LIDE)
  5082. Notify (LID, 0x80)
  5083. }
  5084. }
  5085.  
  5086. Mutex (VGMX, 0x00)
  5087. Method (_Q0D, 0, NotSerialized)
  5088. {
  5089. Store ("_Q0D : Switch Display (Fn+F4)", Debug)
  5090. If (LEqual (FNF4, Zero))
  5091. {
  5092. Store (0x70, BCMD)
  5093. BSMI (Zero)
  5094. GNSD ()
  5095. If (VGAF)
  5096. {
  5097. Store (And (NSTE, One), ^^^PB2.DVGA.LCDA)
  5098. Store (ShiftRight (And (NSTE, 0x02), One), ^^^PB2.DVGA.CRTA)
  5099. Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^^PB2.DVGA.TV0A)
  5100. Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^^PB2.DVGA.HDTV)
  5101. Store (ShiftRight (And (NSTE, 0x20), 0x05), ^^^PB2.DVGA.CV0A)
  5102. Notify (^^^PB2.DVGA, 0x80)
  5103. Notify (^^^PB2.DVGA, 0x80)
  5104. }
  5105. Else
  5106. {
  5107. Store (And (NSTE, One), ^^^AGP.VGA.LCDA)
  5108. Store (ShiftRight (And (NSTE, 0x02), One), ^^^AGP.VGA.CRTA)
  5109. Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^^AGP.VGA.TV0A)
  5110. Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^^AGP.VGA.HDTV)
  5111. Store (ShiftRight (And (NSTE, 0x20), 0x05), ^^^AGP.VGA.CV0A)
  5112. Notify (^^^AGP.VGA, 0x80)
  5113. }
  5114.  
  5115. Store (One, FNF4)
  5116. Store (0x03, DLYT)
  5117. }
  5118. }
  5119.  
  5120. Method (_Q0E, 0, NotSerialized)
  5121. {
  5122. Notify (SLPB, 0x80)
  5123. }
  5124.  
  5125. Method (_Q11, 0, NotSerialized)
  5126. {
  5127. If (LEqual (TPOS, 0x40))
  5128. {
  5129. If (VGAF)
  5130. {
  5131. Notify (^^^PB2.DVGA.LCD, 0x86)
  5132. }
  5133. Else
  5134. {
  5135. Notify (^^^AGP.VGA.LCD, 0x86)
  5136. }
  5137. }
  5138. Else
  5139. {
  5140. BRXP (One)
  5141. }
  5142.  
  5143. Sleep (0x32)
  5144. }
  5145.  
  5146. Method (_Q10, 0, NotSerialized)
  5147. {
  5148. If (LEqual (TPOS, 0x40))
  5149. {
  5150. If (VGAF)
  5151. {
  5152. Notify (^^^PB2.DVGA.LCD, 0x87)
  5153. }
  5154. Else
  5155. {
  5156. Notify (^^^AGP.VGA.LCD, 0x87)
  5157. }
  5158. }
  5159. Else
  5160. {
  5161. BRXP (0x02)
  5162. }
  5163.  
  5164. Sleep (0x32)
  5165. }
  5166.  
  5167. Method (_Q15, 0, NotSerialized)
  5168. {
  5169. Store ("!!! Wireless Button pressed !!!", Debug)
  5170. If (BTLS)
  5171. {
  5172. Store (Zero, BTLS)
  5173. Store (Zero, ^^^SMBS.GP13)
  5174. Store (Zero, ^^^SMBS.GP70)
  5175. }
  5176. Else
  5177. {
  5178. Store (One, BTLS)
  5179. If (^^^^WMID.WMIF)
  5180. {
  5181. If (BWLS)
  5182. {
  5183. Store (One, ^^^SMBS.GP13)
  5184. }
  5185. }
  5186. Else
  5187. {
  5188. Store (One, ^^^SMBS.GP13)
  5189. }
  5190.  
  5191. If (^^^^WMID.WMIF)
  5192. {
  5193. If (WWLS)
  5194. {
  5195. Store (One, ^^^SMBS.GP70)
  5196. }
  5197. }
  5198. Else
  5199. {
  5200. Store (One, ^^^SMBS.GP70)
  5201. }
  5202. }
  5203.  
  5204. Store (0x05, ^^^^WMID.WEID)
  5205. Store (Zero, ^^^^WMID.WEDT)
  5206. Notify (WMID, 0x80)
  5207. }
  5208.  
  5209. Method (_Q16, 0, NotSerialized)
  5210. {
  5211. Store ("!!! DVD/Music Button pressed !!!", Debug)
  5212. Store (QBBB, Local0)
  5213. If (LEqual (Local0, 0x03))
  5214. {
  5215. Notify (MBTN, 0x02)
  5216. }
  5217.  
  5218. If (LEqual (Local0, 0x06))
  5219. {
  5220. Notify (PBTN, 0x02)
  5221. }
  5222.  
  5223. If (LEqual (Local0, 0x09))
  5224. {
  5225. Notify (VBTN, 0x02)
  5226. }
  5227.  
  5228. If (LEqual (Local0, 0x12))
  5229. {
  5230. Notify (TBTN, 0x02)
  5231. }
  5232.  
  5233. Store (0x04, ^^^^WMID.WEID)
  5234. Store (Zero, ^^^^WMID.WEDT)
  5235. Notify (WMID, 0x80)
  5236. }
  5237.  
  5238. Method (_Q8E, 0, NotSerialized)
  5239. {
  5240. Store ("!!! Increase CPU P State. !!!", Debug)
  5241. If (LGreater (PPCM, One))
  5242. {
  5243. If (LGreater (PPCM, 0x03))
  5244. {
  5245. Subtract (PPCM, 0x02, Local1)
  5246. }
  5247. Else
  5248. {
  5249. Store (PPCM, Local1)
  5250. }
  5251.  
  5252. Store (\_PR.CPU0._PPC, Local0)
  5253. If (LLess (Local0, Local1))
  5254. {
  5255. Add (Local0, One, Local0)
  5256. }
  5257.  
  5258. Store (Local0, \_PR.CPU0._PPC)
  5259. Notify (\_PR.CPU0, 0x80)
  5260. If (LGreater (ECPU, One))
  5261. {
  5262. Store (Local0, \_PR.CPU1._PPC)
  5263. Notify (\_PR.CPU1, 0x80)
  5264. }
  5265.  
  5266. If (LEqual (Local0, Local1))
  5267. {
  5268. Store (One, Q8EF)
  5269. }
  5270. Else
  5271. {
  5272. Store (0xFF, Q8EF)
  5273. }
  5274. }
  5275. }
  5276.  
  5277. Method (_Q8F, 0, NotSerialized)
  5278. {
  5279. Store ("!!! Decrease CPU P State !!!", Debug)
  5280. If (LGreater (PPCM, One))
  5281. {
  5282. Store (\_PR.CPU0._PPC, Local0)
  5283. If (Local0)
  5284. {
  5285. Subtract (Local0, One, Local0)
  5286. Store (Local0, \_PR.CPU0._PPC)
  5287. Notify (\_PR.CPU0, 0x80)
  5288. If (LGreater (ECPU, One))
  5289. {
  5290. Store (Local0, \_PR.CPU1._PPC)
  5291. Notify (\_PR.CPU1, 0x80)
  5292. }
  5293. }
  5294.  
  5295. If (LEqual (Local0, Zero))
  5296. {
  5297. Store (Zero, Q8EF)
  5298. }
  5299. Else
  5300. {
  5301. Store (0xFF, Q8EF)
  5302. }
  5303. }
  5304. }
  5305.  
  5306. Field (ERAM, ByteAcc, NoLock, Preserve)
  5307. {
  5308. Offset (0x04),
  5309. SMW0, 16
  5310. }
  5311.  
  5312. Field (ERAM, ByteAcc, NoLock, Preserve)
  5313. {
  5314. Offset (0x04),
  5315. SMB0, 8
  5316. }
  5317.  
  5318. Field (ERAM, ByteAcc, NoLock, Preserve)
  5319. {
  5320. Offset (0x04),
  5321. FLD0, 64
  5322. }
  5323.  
  5324. Field (ERAM, ByteAcc, NoLock, Preserve)
  5325. {
  5326. Offset (0x04),
  5327. FLD1, 128
  5328. }
  5329.  
  5330. Field (ERAM, ByteAcc, NoLock, Preserve)
  5331. {
  5332. Offset (0x04),
  5333. FLD2, 192
  5334. }
  5335.  
  5336. Field (ERAM, ByteAcc, NoLock, Preserve)
  5337. {
  5338. Offset (0x04),
  5339. FLD3, 256
  5340. }
  5341.  
  5342. Mutex (MUT0, 0x00)
  5343. Method (SMRD, 4, NotSerialized)
  5344. {
  5345. If (LNot (ECON))
  5346. {
  5347. Return (0xFF)
  5348. }
  5349.  
  5350. If (LNotEqual (Arg0, 0x07))
  5351. {
  5352. If (LNotEqual (Arg0, 0x09))
  5353. {
  5354. If (LNotEqual (Arg0, 0x0B))
  5355. {
  5356. Return (0x19)
  5357. }
  5358. }
  5359. }
  5360.  
  5361. Acquire (MUT0, 0xFFFF)
  5362. Store (0x04, Local0)
  5363. While (LGreater (Local0, One))
  5364. {
  5365. And (SMST, 0x40, SMST)
  5366. Store (Arg2, SMCM)
  5367. Store (Arg1, SMAD)
  5368. Store (Arg0, SMPR)
  5369. Store (Zero, Local3)
  5370. While (LNot (And (SMST, 0xBF, Local1)))
  5371. {
  5372. Sleep (0x02)
  5373. Increment (Local3)
  5374. If (LEqual (Local3, 0x32))
  5375. {
  5376. And (SMST, 0x40, SMST)
  5377. Store (Arg2, SMCM)
  5378. Store (Arg1, SMAD)
  5379. Store (Arg0, SMPR)
  5380. Store (Zero, Local3)
  5381. }
  5382. }
  5383.  
  5384. If (LEqual (Local1, 0x80))
  5385. {
  5386. Store (Zero, Local0)
  5387. }
  5388. Else
  5389. {
  5390. Decrement (Local0)
  5391. }
  5392. }
  5393.  
  5394. If (Local0)
  5395. {
  5396. Store (And (Local1, 0x1F), Local0)
  5397. }
  5398. Else
  5399. {
  5400. If (LEqual (Arg0, 0x07))
  5401. {
  5402. Store (SMB0, Arg3)
  5403. }
  5404.  
  5405. If (LEqual (Arg0, 0x09))
  5406. {
  5407. Store (SMW0, Arg3)
  5408. }
  5409.  
  5410. If (LEqual (Arg0, 0x0B))
  5411. {
  5412. Store (BCNT, Local3)
  5413. ShiftRight (0x0100, 0x03, Local2)
  5414. If (LGreater (Local3, Local2))
  5415. {
  5416. Store (Local2, Local3)
  5417. }
  5418.  
  5419. If (LLess (Local3, 0x09))
  5420. {
  5421. Store (FLD0, Local2)
  5422. }
  5423. Else
  5424. {
  5425. If (LLess (Local3, 0x11))
  5426. {
  5427. Store (FLD1, Local2)
  5428. }
  5429. Else
  5430. {
  5431. If (LLess (Local3, 0x19))
  5432. {
  5433. Store (FLD2, Local2)
  5434. }
  5435. Else
  5436. {
  5437. Store (FLD3, Local2)
  5438. }
  5439. }
  5440. }
  5441.  
  5442. Increment (Local3)
  5443. Store (Buffer (Local3) {}, Local4)
  5444. Decrement (Local3)
  5445. Store (Zero, Local5)
  5446. While (LGreater (Local3, Local5))
  5447. {
  5448. GBFE (Local2, Local5, RefOf (Local6))
  5449. PBFE (Local4, Local5, Local6)
  5450. Increment (Local5)
  5451. }
  5452.  
  5453. PBFE (Local4, Local5, Zero)
  5454. Store (Local4, Arg3)
  5455. }
  5456. }
  5457.  
  5458. Release (MUT0)
  5459. Return (Local0)
  5460. }
  5461.  
  5462. Method (SMWR, 4, NotSerialized)
  5463. {
  5464. If (LNot (ECON))
  5465. {
  5466. Return (0xFF)
  5467. }
  5468.  
  5469. If (LNotEqual (Arg0, 0x06))
  5470. {
  5471. If (LNotEqual (Arg0, 0x08))
  5472. {
  5473. If (LNotEqual (Arg0, 0x0A))
  5474. {
  5475. Return (0x19)
  5476. }
  5477. }
  5478. }
  5479.  
  5480. Acquire (MUT0, 0xFFFF)
  5481. Store (0x04, Local0)
  5482. While (LGreater (Local0, One))
  5483. {
  5484. If (LEqual (Arg0, 0x06))
  5485. {
  5486. Store (Arg3, SMB0)
  5487. }
  5488.  
  5489. If (LEqual (Arg0, 0x08))
  5490. {
  5491. Store (Arg3, SMW0)
  5492. }
  5493.  
  5494. If (LEqual (Arg0, 0x0A))
  5495. {
  5496. Store (Arg3, SMD0)
  5497. }
  5498.  
  5499. And (SMST, 0x40, SMST)
  5500. Store (Arg2, SMCM)
  5501. Store (Arg1, SMAD)
  5502. Store (Arg0, SMPR)
  5503. Store (Zero, Local3)
  5504. While (LNot (And (SMST, 0xBF, Local1)))
  5505. {
  5506. Sleep (0x02)
  5507. Increment (Local3)
  5508. If (LEqual (Local3, 0x32))
  5509. {
  5510. And (SMST, 0x40, SMST)
  5511. Store (Arg2, SMCM)
  5512. Store (Arg1, SMAD)
  5513. Store (Arg0, SMPR)
  5514. Store (Zero, Local3)
  5515. }
  5516. }
  5517.  
  5518. If (LEqual (Local1, 0x80))
  5519. {
  5520. Store (Zero, Local0)
  5521. }
  5522. Else
  5523. {
  5524. Decrement (Local0)
  5525. }
  5526. }
  5527.  
  5528. If (Local0)
  5529. {
  5530. Store (And (Local1, 0x1F), Local0)
  5531. }
  5532.  
  5533. Release (MUT0)
  5534. Return (Local0)
  5535. }
  5536.  
  5537. Method (GSHK, 0, Serialized)
  5538. {
  5539. If (ECON)
  5540. {
  5541. Store (SFHK, Local0)
  5542. }
  5543.  
  5544. Return (Local0)
  5545. }
  5546.  
  5547. Method (SSHK, 1, Serialized)
  5548. {
  5549. If (ECON)
  5550. {
  5551. Store (Arg0, SFHK)
  5552. }
  5553. }
  5554.  
  5555. Name (DISS, Buffer (0x0A)
  5556. {
  5557. /* 0000 */ 0x01, 0x02, 0x04, 0x10, 0x20, 0x03, 0x05, 0x11,
  5558. /* 0008 */ 0x21, 0x01
  5559. })
  5560. Name (SWII, 0x0A)
  5561. Method (GNSD, 0, Serialized)
  5562. {
  5563. Store (Zero, Local0)
  5564. Store (CSTE, Local1)
  5565. Store (ADDL, Local2)
  5566. While (LLess (Local0, SWII))
  5567. {
  5568. Store (DerefOf (Index (DISS, Local0)), Local3)
  5569. If (LEqual (Local3, Local1))
  5570. {
  5571. While (LLess (Local0, SWII))
  5572. {
  5573. Store (Local0, Local4)
  5574. Increment (Local4)
  5575. Store (DerefOf (Index (DISS, Local4)), Local5)
  5576. If (LEqual (And (Local2, Local5), Local5))
  5577. {
  5578. Store (Local5, NSTE)
  5579. Store (SWII, Local0)
  5580. }
  5581. Else
  5582. {
  5583. Increment (Local0)
  5584. }
  5585. }
  5586. }
  5587. Else
  5588. {
  5589. Increment (Local0)
  5590. }
  5591. }
  5592. }
  5593.  
  5594. Method (NHSB, 0, NotSerialized)
  5595. {
  5596. Store (IVIM, Local0)
  5597. If (LEqual (Local0, 0x04))
  5598. {
  5599. Notify (QBTN, 0x02)
  5600. }
  5601.  
  5602. If (LEqual (Local0, 0x05))
  5603. {
  5604. Notify (DBTN, 0x02)
  5605. }
  5606.  
  5607. If (LEqual (Local0, 0x03))
  5608. {
  5609. Notify (MBTN, 0x02)
  5610. }
  5611.  
  5612. If (LEqual (Local0, 0x10))
  5613. {
  5614. Notify (EBTN, 0x02)
  5615. }
  5616.  
  5617. If (LEqual (Local0, 0x06))
  5618. {
  5619. Notify (PBTN, 0x02)
  5620. }
  5621.  
  5622. If (LEqual (Local0, 0x11))
  5623. {
  5624. Notify (VBTN, 0x02)
  5625. }
  5626.  
  5627. If (LEqual (Local0, 0x12))
  5628. {
  5629. Notify (TBTN, 0x02)
  5630. }
  5631. }
  5632.  
  5633. Method (CPUS, 0, NotSerialized)
  5634. {
  5635. Store (Zero, Local0)
  5636. Store (Local0, \_PR.CPU0._PPC)
  5637. Notify (\_PR.CPU0, 0x80)
  5638. If (LGreater (ECPU, One))
  5639. {
  5640. Store (Local0, \_PR.CPU1._PPC)
  5641. Notify (\_PR.CPU1, 0x80)
  5642. }
  5643. }
  5644. }
  5645.  
  5646. Device (CIR)
  5647. {
  5648. Method (_HID, 0, NotSerialized)
  5649. {
  5650. Return ("*ENE0100")
  5651. }
  5652.  
  5653. Method (_STA, 0, NotSerialized)
  5654. {
  5655. Return (0x0F)
  5656. }
  5657.  
  5658. Method (_CRS, 0, NotSerialized)
  5659. {
  5660. Name (BUFA, ResourceTemplate ()
  5661. {
  5662. IO (Decode16,
  5663. 0x0380, // Range Minimum
  5664. 0x0380, // Range Maximum
  5665. 0x01, // Alignment
  5666. 0x04, // Length
  5667. )
  5668. IRQNoFlags ()
  5669. {4}
  5670. })
  5671. Return (BUFA)
  5672. }
  5673.  
  5674. Name (_PRS, ResourceTemplate ()
  5675. {
  5676. IO (Decode16,
  5677. 0x0380, // Range Minimum
  5678. 0x0380, // Range Maximum
  5679. 0x01, // Alignment
  5680. 0x04, // Length
  5681. )
  5682. IRQNoFlags ()
  5683. {4}
  5684. })
  5685. }
  5686.  
  5687. OperationRegion (LCLM, SystemIO, 0x0C50, 0x03)
  5688. Field (LCLM, ByteAcc, NoLock, Preserve)
  5689. {
  5690. CLMI, 8,
  5691. CLMD, 8,
  5692. CLGP, 8
  5693. }
  5694.  
  5695. IndexField (CLMI, CLMD, ByteAcc, NoLock, Preserve)
  5696. {
  5697. IDRG, 8,
  5698. Offset (0x02),
  5699. TSTS, 8,
  5700. TINT, 8,
  5701. Offset (0x12),
  5702. I2CC, 8,
  5703. GPIO, 8
  5704. }
  5705.  
  5706. Method (RGPM, 0, NotSerialized)
  5707. {
  5708. Store (GPIO, Local0)
  5709. And (Local0, 0xFFFFFF3F, Local0)
  5710. Store (Local0, GPIO)
  5711. Store (CLGP, Local1)
  5712. Return (Local1)
  5713. }
  5714. }
  5715.  
  5716. Device (P2P)
  5717. {
  5718. Name (_ADR, 0x00140004)
  5719. OperationRegion (PCPC, PCI_Config, Zero, 0xFF)
  5720. Field (PCPC, ByteAcc, NoLock, Preserve)
  5721. {
  5722. Offset (0x04),
  5723. PCMD, 8,
  5724. Offset (0x1C),
  5725. IOW1, 8,
  5726. IOW2, 8,
  5727. Offset (0x48),
  5728. PR48, 8,
  5729. PR49, 8,
  5730. PR4A, 8,
  5731. PR4B, 8
  5732. }
  5733.  
  5734. Method (_PRT, 0, NotSerialized)
  5735. {
  5736. If (LEqual (GPIC, Zero))
  5737. {
  5738. Return (PIC)
  5739. }
  5740. Else
  5741. {
  5742. Return (APIC)
  5743. }
  5744. }
  5745.  
  5746. Name (PIC, Package (0x0E)
  5747. {
  5748. Package (0x04)
  5749. {
  5750. 0x0004FFFF,
  5751. Zero,
  5752. LNKE,
  5753. Zero
  5754. },
  5755.  
  5756. Package (0x04)
  5757. {
  5758. 0x0004FFFF,
  5759. One,
  5760. LNKF,
  5761. Zero
  5762. },
  5763.  
  5764. Package (0x04)
  5765. {
  5766. 0x0005FFFF,
  5767. Zero,
  5768. LNKE,
  5769. Zero
  5770. },
  5771.  
  5772. Package (0x04)
  5773. {
  5774. 0x0005FFFF,
  5775. One,
  5776. LNKF,
  5777. Zero
  5778. },
  5779.  
  5780. Package (0x04)
  5781. {
  5782. 0x0005FFFF,
  5783. 0x02,
  5784. LNKG,
  5785. Zero
  5786. },
  5787.  
  5788. Package (0x04)
  5789. {
  5790. 0x0005FFFF,
  5791. 0x03,
  5792. LNKH,
  5793. Zero
  5794. },
  5795.  
  5796. Package (0x04)
  5797. {
  5798. 0x0006FFFF,
  5799. Zero,
  5800. LNKF,
  5801. Zero
  5802. },
  5803.  
  5804. Package (0x04)
  5805. {
  5806. 0x0006FFFF,
  5807. One,
  5808. LNKG,
  5809. Zero
  5810. },
  5811.  
  5812. Package (0x04)
  5813. {
  5814. 0x0006FFFF,
  5815. 0x02,
  5816. LNKH,
  5817. Zero
  5818. },
  5819.  
  5820. Package (0x04)
  5821. {
  5822. 0x0006FFFF,
  5823. 0x03,
  5824. LNKE,
  5825. Zero
  5826. },
  5827.  
  5828. Package (0x04)
  5829. {
  5830. 0x0007FFFF,
  5831. Zero,
  5832. LNKG,
  5833. Zero
  5834. },
  5835.  
  5836. Package (0x04)
  5837. {
  5838. 0x0007FFFF,
  5839. One,
  5840. LNKH,
  5841. Zero
  5842. },
  5843.  
  5844. Package (0x04)
  5845. {
  5846. 0x0007FFFF,
  5847. 0x02,
  5848. LNKE,
  5849. Zero
  5850. },
  5851.  
  5852. Package (0x04)
  5853. {
  5854. 0x0007FFFF,
  5855. 0x03,
  5856. LNKF,
  5857. Zero
  5858. }
  5859. })
  5860. Name (APIC, Package (0x0E)
  5861. {
  5862. Package (0x04)
  5863. {
  5864. 0x0004FFFF,
  5865. Zero,
  5866. Zero,
  5867. 0x14
  5868. },
  5869.  
  5870. Package (0x04)
  5871. {
  5872. 0x0004FFFF,
  5873. One,
  5874. Zero,
  5875. 0x15
  5876. },
  5877.  
  5878. Package (0x04)
  5879. {
  5880. 0x0005FFFF,
  5881. Zero,
  5882. Zero,
  5883. 0x14
  5884. },
  5885.  
  5886. Package (0x04)
  5887. {
  5888. 0x0005FFFF,
  5889. One,
  5890. Zero,
  5891. 0x15
  5892. },
  5893.  
  5894. Package (0x04)
  5895. {
  5896. 0x0005FFFF,
  5897. 0x02,
  5898. Zero,
  5899. 0x16
  5900. },
  5901.  
  5902. Package (0x04)
  5903. {
  5904. 0x0005FFFF,
  5905. 0x03,
  5906. Zero,
  5907. 0x17
  5908. },
  5909.  
  5910. Package (0x04)
  5911. {
  5912. 0x0006FFFF,
  5913. Zero,
  5914. Zero,
  5915. 0x15
  5916. },
  5917.  
  5918. Package (0x04)
  5919. {
  5920. 0x0006FFFF,
  5921. One,
  5922. Zero,
  5923. 0x16
  5924. },
  5925.  
  5926. Package (0x04)
  5927. {
  5928. 0x0006FFFF,
  5929. 0x02,
  5930. Zero,
  5931. 0x17
  5932. },
  5933.  
  5934. Package (0x04)
  5935. {
  5936. 0x0006FFFF,
  5937. 0x03,
  5938. Zero,
  5939. 0x14
  5940. },
  5941.  
  5942. Package (0x04)
  5943. {
  5944. 0x0007FFFF,
  5945. Zero,
  5946. Zero,
  5947. 0x16
  5948. },
  5949.  
  5950. Package (0x04)
  5951. {
  5952. 0x0007FFFF,
  5953. One,
  5954. Zero,
  5955. 0x17
  5956. },
  5957.  
  5958. Package (0x04)
  5959. {
  5960. 0x0007FFFF,
  5961. 0x02,
  5962. Zero,
  5963. 0x14
  5964. },
  5965.  
  5966. Package (0x04)
  5967. {
  5968. 0x0007FFFF,
  5969. 0x03,
  5970. Zero,
  5971. 0x15
  5972. }
  5973. })
  5974. }
  5975.  
  5976. Device (SATA)
  5977. {
  5978. Name (_ADR, 0x00110000)
  5979. }
  5980.  
  5981. Device (IDE)
  5982. {
  5983. Name (_ADR, 0x00140001)
  5984. Name (UDMT, Package (0x08)
  5985. {
  5986. 0x78,
  5987. 0x5A,
  5988. 0x3C,
  5989. 0x2D,
  5990. 0x1E,
  5991. 0x14,
  5992. Zero,
  5993. Zero
  5994. })
  5995. Name (PIOT, Package (0x06)
  5996. {
  5997. 0x0258,
  5998. 0x0186,
  5999. 0x010E,
  6000. 0xB4,
  6001. 0x78,
  6002. Zero
  6003. })
  6004. Name (PITR, Package (0x06)
  6005. {
  6006. 0x99,
  6007. 0x47,
  6008. 0x34,
  6009. 0x22,
  6010. 0x20,
  6011. 0x99
  6012. })
  6013. Name (MDMT, Package (0x04)
  6014. {
  6015. 0x01E0,
  6016. 0x96,
  6017. 0x78,
  6018. Zero
  6019. })
  6020. Name (MDTR, Package (0x04)
  6021. {
  6022. 0x77,
  6023. 0x21,
  6024. 0x20,
  6025. 0xFF
  6026. })
  6027. OperationRegion (IDE, PCI_Config, 0x40, 0x20)
  6028. Field (IDE, WordAcc, NoLock, Preserve)
  6029. {
  6030. PPIT, 16,
  6031. SPIT, 16,
  6032. PMDT, 16,
  6033. SMDT, 16,
  6034. PPIC, 8,
  6035. SPIC, 8,
  6036. PPIM, 8,
  6037. SPIM, 8,
  6038. Offset (0x14),
  6039. PUDC, 2,
  6040. SUDC, 2,
  6041. Offset (0x16),
  6042. PUDM, 8,
  6043. SUDM, 8
  6044. }
  6045.  
  6046. Method (GETT, 1, NotSerialized)
  6047. {
  6048. Store (And (Arg0, 0x0F), Local0)
  6049. Store (ShiftRight (Arg0, 0x04), Local1)
  6050. Return (Multiply (0x1E, Add (Add (Local0, One), Add (Local1,
  6051. One))))
  6052. }
  6053.  
  6054. Method (GTM, 1, NotSerialized)
  6055. {
  6056. CreateByteField (Arg0, Zero, PIT1)
  6057. CreateByteField (Arg0, One, PIT0)
  6058. CreateByteField (Arg0, 0x02, MDT1)
  6059. CreateByteField (Arg0, 0x03, MDT0)
  6060. CreateByteField (Arg0, 0x04, PICX)
  6061. CreateByteField (Arg0, 0x05, UDCX)
  6062. CreateByteField (Arg0, 0x06, UDMX)
  6063. Name (BUF, Buffer (0x14)
  6064. {
  6065. /* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  6066. /* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
  6067. /* 0010 */ 0x00, 0x00, 0x00, 0x00
  6068. })
  6069. CreateDWordField (BUF, Zero, PIO0)
  6070. CreateDWordField (BUF, 0x04, DMA0)
  6071. CreateDWordField (BUF, 0x08, PIO1)
  6072. CreateDWordField (BUF, 0x0C, DMA1)
  6073. CreateDWordField (BUF, 0x10, FLAG)
  6074. If (And (PICX, One))
  6075. {
  6076. Return (BUF)
  6077. }
  6078.  
  6079. Store (GETT (PIT0), PIO0)
  6080. Store (GETT (PIT1), PIO1)
  6081. If (And (UDCX, One))
  6082. {
  6083. Or (FLAG, One, FLAG)
  6084. Store (DerefOf (Index (UDMT, And (UDMX, 0x0F))), DMA0)
  6085. }
  6086. Else
  6087. {
  6088. If (LNotEqual (MDT0, 0xFF))
  6089. {
  6090. Store (GETT (MDT0), DMA0)
  6091. }
  6092. }
  6093.  
  6094. If (And (UDCX, 0x02))
  6095. {
  6096. Or (FLAG, 0x04, FLAG)
  6097. Store (DerefOf (Index (UDMT, ShiftRight (UDMX, 0x04))), DMA1)
  6098. }
  6099. Else
  6100. {
  6101. If (LNotEqual (MDT1, 0xFF))
  6102. {
  6103. Store (GETT (MDT1), DMA1)
  6104. }
  6105. }
  6106.  
  6107. Or (FLAG, 0x1A, FLAG)
  6108. Return (BUF)
  6109. }
  6110.  
  6111. Method (STM, 3, NotSerialized)
  6112. {
  6113. CreateDWordField (Arg0, Zero, PIO0)
  6114. CreateDWordField (Arg0, 0x04, DMA0)
  6115. CreateDWordField (Arg0, 0x08, PIO1)
  6116. CreateDWordField (Arg0, 0x0C, DMA1)
  6117. CreateDWordField (Arg0, 0x10, FLAG)
  6118. Name (BUF, Buffer (0x07)
  6119. {
  6120. 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
  6121. })
  6122. CreateByteField (BUF, Zero, PIT1)
  6123. CreateByteField (BUF, One, PIT0)
  6124. CreateByteField (BUF, 0x02, MDT1)
  6125. CreateByteField (BUF, 0x03, MDT0)
  6126. CreateByteField (BUF, 0x04, PIMX)
  6127. CreateByteField (BUF, 0x05, UDCX)
  6128. CreateByteField (BUF, 0x06, UDMX)
  6129. Store (Match (PIOT, MLE, PIO0, MTR, Zero, Zero), Local0)
  6130. Divide (Local0, 0x05, Local0)
  6131. Store (Match (PIOT, MLE, PIO1, MTR, Zero, Zero), Local1)
  6132. Divide (Local1, 0x05, Local1)
  6133. Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX)
  6134. Store (DerefOf (Index (PITR, Local0)), PIT0)
  6135. Store (DerefOf (Index (PITR, Local1)), PIT1)
  6136. If (And (FLAG, One))
  6137. {
  6138. Store (Match (UDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
  6139. Divide (Local0, 0x06, Local0)
  6140. Or (UDMX, Local0, UDMX)
  6141. Or (UDCX, One, UDCX)
  6142. }
  6143. Else
  6144. {
  6145. If (LNotEqual (DMA0, Ones))
  6146. {
  6147. Store (Match (MDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
  6148. Store (DerefOf (Index (MDTR, Local0)), MDT0)
  6149. }
  6150. }
  6151.  
  6152. If (And (FLAG, 0x04))
  6153. {
  6154. Store (Match (UDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
  6155. Divide (Local0, 0x06, Local0)
  6156. Or (UDMX, ShiftLeft (Local0, 0x04), UDMX)
  6157. Or (UDCX, 0x02, UDCX)
  6158. }
  6159. Else
  6160. {
  6161. If (LNotEqual (DMA1, Ones))
  6162. {
  6163. Store (Match (MDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
  6164. Store (DerefOf (Index (MDTR, Local0)), MDT1)
  6165. }
  6166. }
  6167.  
  6168. Return (BUF)
  6169. }
  6170.  
  6171. Method (GTF, 2, NotSerialized)
  6172. {
  6173. CreateByteField (Arg1, Zero, MDT1)
  6174. CreateByteField (Arg1, One, MDT0)
  6175. CreateByteField (Arg1, 0x02, PIMX)
  6176. CreateByteField (Arg1, 0x03, UDCX)
  6177. CreateByteField (Arg1, 0x04, UDMX)
  6178. If (LEqual (Arg0, 0xA0))
  6179. {
  6180. Store (And (PIMX, 0x0F), Local0)
  6181. Store (MDT0, Local1)
  6182. And (UDCX, One, Local2)
  6183. Store (And (UDMX, 0x0F), Local3)
  6184. }
  6185. Else
  6186. {
  6187. Store (ShiftRight (PIMX, 0x04), Local0)
  6188. Store (MDT1, Local1)
  6189. And (UDCX, 0x02, Local2)
  6190. Store (ShiftRight (UDMX, 0x04), Local3)
  6191. }
  6192.  
  6193. Name (BUF, Buffer (0x0E)
  6194. {
  6195. /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03,
  6196. /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF
  6197. })
  6198. CreateByteField (BUF, One, PMOD)
  6199. CreateByteField (BUF, 0x08, DMOD)
  6200. CreateByteField (BUF, 0x05, CMDA)
  6201. CreateByteField (BUF, 0x0C, CMDB)
  6202. Store (Arg0, CMDA)
  6203. Store (Arg0, CMDB)
  6204. Or (Local0, 0x08, PMOD)
  6205. If (Local2)
  6206. {
  6207. Or (Local3, 0x40, DMOD)
  6208. }
  6209. Else
  6210. {
  6211. If (LNotEqual (Local1, 0xFF))
  6212. {
  6213. Store (Match (MDMT, MLE, GETT (Local1), MTR, Zero, Zero), Local4)
  6214. If (LLess (Local4, 0x03))
  6215. {
  6216. Or (0x20, Local4, DMOD)
  6217. }
  6218. }
  6219. }
  6220.  
  6221. Return (BUF)
  6222. }
  6223.  
  6224. Device (PRID)
  6225. {
  6226. Name (_ADR, Zero)
  6227. Method (_GTM, 0, NotSerialized)
  6228. {
  6229. Name (BUF, Buffer (0x07)
  6230. {
  6231. 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
  6232. })
  6233. CreateWordField (BUF, Zero, VPIT)
  6234. CreateWordField (BUF, 0x02, VMDT)
  6235. CreateByteField (BUF, 0x04, VPIC)
  6236. CreateByteField (BUF, 0x05, VUDC)
  6237. CreateByteField (BUF, 0x06, VUDM)
  6238. Store (PPIT, VPIT)
  6239. Store (PMDT, VMDT)
  6240. Store (PPIC, VPIC)
  6241. Store (PUDC, VUDC)
  6242. Store (PUDM, VUDM)
  6243. Return (GTM (BUF))
  6244. }
  6245.  
  6246. Method (_STM, 3, NotSerialized)
  6247. {
  6248. Name (BUF, Buffer (0x07)
  6249. {
  6250. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  6251. })
  6252. CreateWordField (BUF, Zero, VPIT)
  6253. CreateWordField (BUF, 0x02, VMDT)
  6254. CreateByteField (BUF, 0x04, VPIM)
  6255. CreateByteField (BUF, 0x05, VUDC)
  6256. CreateByteField (BUF, 0x06, VUDM)
  6257. Store (STM (Arg0, Arg1, Arg2), BUF)
  6258. Store (VPIT, PPIT)
  6259. Store (VMDT, PMDT)
  6260. Store (VPIM, PPIM)
  6261. Store (VUDC, PUDC)
  6262. Store (VUDM, PUDM)
  6263. }
  6264.  
  6265. Device (P_D0)
  6266. {
  6267. Name (_ADR, Zero)
  6268. Method (_GTF, 0, NotSerialized)
  6269. {
  6270. Name (BUF, Buffer (0x05)
  6271. {
  6272. 0x00, 0x00, 0x00, 0x00, 0x00
  6273. })
  6274. CreateWordField (BUF, Zero, VMDT)
  6275. CreateByteField (BUF, 0x02, VPIM)
  6276. CreateByteField (BUF, 0x03, VUDC)
  6277. CreateByteField (BUF, 0x04, VUDM)
  6278. Store (PMDT, VMDT)
  6279. Store (PPIM, VPIM)
  6280. Store (PUDC, VUDC)
  6281. Store (PUDM, VUDM)
  6282. Return (GTF (0xA0, BUF))
  6283. }
  6284. }
  6285.  
  6286. Device (P_D1)
  6287. {
  6288. Name (_ADR, One)
  6289. Method (_GTF, 0, NotSerialized)
  6290. {
  6291. Name (BUF, Buffer (0x05)
  6292. {
  6293. 0x00, 0x00, 0x00, 0x00, 0x00
  6294. })
  6295. CreateWordField (BUF, Zero, VMDT)
  6296. CreateByteField (BUF, 0x02, VPIM)
  6297. CreateByteField (BUF, 0x03, VUDC)
  6298. CreateByteField (BUF, 0x04, VUDM)
  6299. Store (PMDT, VMDT)
  6300. Store (PPIM, VPIM)
  6301. Store (PUDC, VUDC)
  6302. Store (PUDM, VUDM)
  6303. Return (GTF (0xB0, BUF))
  6304. }
  6305. }
  6306. }
  6307.  
  6308. Device (SECD)
  6309. {
  6310. Name (_ADR, One)
  6311. Method (_GTM, 0, NotSerialized)
  6312. {
  6313. Name (BUF, Buffer (0x07)
  6314. {
  6315. 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
  6316. })
  6317. CreateWordField (BUF, Zero, VPIT)
  6318. CreateWordField (BUF, 0x02, VMDT)
  6319. CreateByteField (BUF, 0x04, VPIC)
  6320. CreateByteField (BUF, 0x05, VUDC)
  6321. CreateByteField (BUF, 0x06, VUDM)
  6322. Store (SPIT, VPIT)
  6323. Store (SMDT, VMDT)
  6324. Store (SPIC, VPIC)
  6325. Store (SUDC, VUDC)
  6326. Store (SUDM, VUDM)
  6327. Return (GTM (BUF))
  6328. }
  6329.  
  6330. Method (_STM, 3, NotSerialized)
  6331. {
  6332. Name (BUF, Buffer (0x07)
  6333. {
  6334. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  6335. })
  6336. CreateWordField (BUF, Zero, VPIT)
  6337. CreateWordField (BUF, 0x02, VMDT)
  6338. CreateByteField (BUF, 0x04, VPIM)
  6339. CreateByteField (BUF, 0x05, VUDC)
  6340. CreateByteField (BUF, 0x06, VUDM)
  6341. Store (STM (Arg0, Arg1, Arg2), BUF)
  6342. Store (VPIT, SPIT)
  6343. Store (VMDT, SMDT)
  6344. Store (VPIM, SPIM)
  6345. Store (VUDC, SUDC)
  6346. Store (VUDM, SUDM)
  6347. }
  6348.  
  6349. Device (S_D0)
  6350. {
  6351. Name (_ADR, Zero)
  6352. Method (_GTF, 0, NotSerialized)
  6353. {
  6354. Name (BUF, Buffer (0x05)
  6355. {
  6356. 0x00, 0x00, 0x00, 0x00, 0x00
  6357. })
  6358. CreateWordField (BUF, Zero, VMDT)
  6359. CreateByteField (BUF, 0x02, VPIM)
  6360. CreateByteField (BUF, 0x03, VUDC)
  6361. CreateByteField (BUF, 0x04, VUDM)
  6362. Store (SMDT, VMDT)
  6363. Store (SPIM, VPIM)
  6364. Store (SUDC, VUDC)
  6365. Store (SUDM, VUDM)
  6366. Return (GTF (0xA0, BUF))
  6367. }
  6368. }
  6369.  
  6370. Device (S_D1)
  6371. {
  6372. Name (_ADR, One)
  6373. Method (_GTF, 0, NotSerialized)
  6374. {
  6375. Name (BUF, Buffer (0x05)
  6376. {
  6377. 0x00, 0x00, 0x00, 0x00, 0x00
  6378. })
  6379. CreateWordField (BUF, Zero, VMDT)
  6380. CreateByteField (BUF, 0x02, VPIM)
  6381. CreateByteField (BUF, 0x03, VUDC)
  6382. CreateByteField (BUF, 0x04, VUDM)
  6383. Store (SMDT, VMDT)
  6384. Store (SPIM, VPIM)
  6385. Store (SUDC, VUDC)
  6386. Store (SUDM, VUDM)
  6387. Return (GTF (0xB0, BUF))
  6388. }
  6389. }
  6390. }
  6391. }
  6392.  
  6393. Device (ACEL)
  6394. {
  6395. Name (_HID, EisaId ("HPQ0004"))
  6396. Name (DEVP, 0xFF)
  6397. Name (CURS, 0xFF)
  6398. Method (_INI, 0, NotSerialized)
  6399. {
  6400. INIT ()
  6401. }
  6402.  
  6403. Name (_CRS, ResourceTemplate ()
  6404. {
  6405. Interrupt (ResourceConsumer, Edge, ActiveLow, Exclusive, ,, )
  6406. {
  6407. 0x00000017,
  6408. }
  6409. })
  6410. Method (_STA, 0, NotSerialized)
  6411. {
  6412. If (LEqual (DEVP, 0xFF))
  6413. {
  6414. Store (0x0F, Local0)
  6415. Store (^^SMBS.SRDB (0x39, 0x20), Local1)
  6416. If (LEqual (Local1, 0xFFFF))
  6417. {
  6418. Store (Zero, Local0)
  6419. }
  6420.  
  6421. Store (Local0, DEVP)
  6422. }
  6423.  
  6424. Return (DEVP)
  6425. }
  6426.  
  6427. Method (INIT, 0, Serialized)
  6428. {
  6429. If (_STA ())
  6430. {
  6431. ^^SMBS.SWRB (0x38, 0x20, 0x47)
  6432. ^^SMBS.SWRB (0x38, 0x21, 0x0A)
  6433. ^^SMBS.SWRB (0x38, 0x32, 0x14)
  6434. ^^SMBS.SWRB (0x38, 0x33, 0x02)
  6435. ^^SMBS.SWRB (0x38, 0x30, 0x95)
  6436. Store (^^SMBS.SRDB (0x39, 0x23), Local0)
  6437. ^^SMBS.SWRB (0x38, 0x36, 0x11)
  6438. ^^SMBS.SWRB (0x38, 0x37, One)
  6439. ^^SMBS.SWRB (0x38, 0x34, 0x2A)
  6440. Store (0xFF, CURS)
  6441. JACC ()
  6442. }
  6443. }
  6444.  
  6445. Method (JACC, 0, Serialized)
  6446. {
  6447. If (_STA ())
  6448. {
  6449. ^^SMBS.SWRB (0x38, 0x22, 0x81)
  6450. }
  6451. }
  6452.  
  6453. Method (CLRI, 0, Serialized)
  6454. {
  6455. Store (Zero, Local2)
  6456. If (LEqual (PWRS, Zero))
  6457. {
  6458. If (LEqual (^^^BAT0._STA (), 0x1F))
  6459. {
  6460. If (ECON)
  6461. {
  6462. If (LLessEqual (^^LPC0.EC0.MBRM, 0x96))
  6463. {
  6464. Store (One, Local2)
  6465. }
  6466. }
  6467. }
  6468. }
  6469.  
  6470. Return (Local2)
  6471. }
  6472.  
  6473. Method (ALRD, 1, Serialized)
  6474. {
  6475. Store (^^SMBS.SRDB (0x39, Arg0), Local0)
  6476. Return (Local0)
  6477. }
  6478.  
  6479. Method (ALWR, 2, Serialized)
  6480. {
  6481. Store (^^SMBS.SWRB (0x38, Arg0, Arg1), Local0)
  6482. Return (Local0)
  6483. }
  6484.  
  6485. Method (ALED, 1, Serialized)
  6486. {
  6487. If (Arg0)
  6488. {
  6489. Store (One, ^^SMBS.GP53)
  6490. }
  6491. Else
  6492. {
  6493. Store (Zero, ^^SMBS.GP53)
  6494. }
  6495. }
  6496.  
  6497. Method (ALID, 1, Serialized)
  6498. {
  6499. Return (^^^LID._LID ())
  6500. }
  6501.  
  6502. Method (ADSN, 0, Serialized)
  6503. {
  6504. Store (Zero, Local0)
  6505. Return (Local0)
  6506. }
  6507. }
  6508.  
  6509. Name (BCLT, Package (0x0D)
  6510. {
  6511. 0x64,
  6512. 0x30,
  6513. 0x13,
  6514. 0x18,
  6515. 0x1D,
  6516. 0x22,
  6517. 0x27,
  6518. 0x30,
  6519. 0x37,
  6520. 0x3D,
  6521. 0x47,
  6522. 0x50,
  6523. 0x64
  6524. })
  6525. Method (SBCM, 1, NotSerialized)
  6526. {
  6527. Store (Arg0, ^LPC0.EC0.BRTL)
  6528. Store (Zero, Local0)
  6529. While (LLess (Local0, 0x0C))
  6530. {
  6531. Add (Local0, 0x02, Local1)
  6532. Store (DerefOf (Index (BCLT, Local1)), Local2)
  6533. If (LEqual (Arg0, Local2))
  6534. {
  6535. If (^LPC0.EC0.SW2S)
  6536. {
  6537. Store (Local0, BRAC)
  6538. }
  6539. Else
  6540. {
  6541. Store (Local0, BRDC)
  6542. }
  6543.  
  6544. Store (0x0C, Local0)
  6545. }
  6546.  
  6547. Increment (Local0)
  6548. }
  6549. }
  6550.  
  6551. Method (BRXP, 1, NotSerialized)
  6552. {
  6553. Store (^LPC0.EC0.BRTL, Local0)
  6554. Store (Zero, Local1)
  6555. While (LLess (Local1, 0x0C))
  6556. {
  6557. Add (Local1, 0x02, Local2)
  6558. Store (DerefOf (Index (BCLT, Local2)), Local3)
  6559. If (LEqual (Local0, Local3))
  6560. {
  6561. If (LEqual (Arg0, One))
  6562. {
  6563. Increment (Local2)
  6564. }
  6565.  
  6566. If (LEqual (Arg0, 0x02))
  6567. {
  6568. Decrement (Local2)
  6569. }
  6570.  
  6571. If (LAnd (LLess (Local2, 0x0E), LGreater (Local2, One)))
  6572. {
  6573. Store (DerefOf (Index (BCLT, Local2)), ^LPC0.EC0.BRTL)
  6574. Subtract (Local2, 0x02, Local2)
  6575. If (^LPC0.EC0.SW2S)
  6576. {
  6577. Store (Local2, BRAC)
  6578. }
  6579. Else
  6580. {
  6581. Store (Local2, BRDC)
  6582. }
  6583.  
  6584. Store (0x0C, Local1)
  6585. }
  6586. Else
  6587. {
  6588. Store (0x0C, Local1)
  6589. }
  6590. }
  6591.  
  6592. Increment (Local1)
  6593. }
  6594. }
  6595. }
  6596.  
  6597. OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
  6598. Field (PIRQ, ByteAcc, NoLock, Preserve)
  6599. {
  6600. PIDX, 8,
  6601. PDAT, 8
  6602. }
  6603.  
  6604. IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
  6605. {
  6606. PIRA, 8,
  6607. PIRB, 8,
  6608. PIRC, 8,
  6609. PIRD, 8,
  6610. PIRS, 8,
  6611. Offset (0x09),
  6612. PIRE, 8,
  6613. PIRF, 8,
  6614. PIRG, 8,
  6615. PIRH, 8
  6616. }
  6617.  
  6618. Method (DSPI, 0, NotSerialized)
  6619. {
  6620. Store (Zero, PIRA)
  6621. Store (Zero, PIRB)
  6622. Store (Zero, PIRC)
  6623. Store (Zero, PIRD)
  6624. Store (Zero, PIRE)
  6625. Store (Zero, PIRF)
  6626. Store (Zero, PIRG)
  6627. Store (Zero, PIRH)
  6628. Store (Zero, PIRS)
  6629. }
  6630.  
  6631. Name (PRS1, ResourceTemplate ()
  6632. {
  6633. IRQ (Level, ActiveLow, Shared, )
  6634. {3,4,5,7,10,11,12,14,15}
  6635. })
  6636. Name (BUFA, ResourceTemplate ()
  6637. {
  6638. IRQ (Level, ActiveLow, Shared, )
  6639. {15}
  6640. })
  6641. Name (IPRA, ResourceTemplate ()
  6642. {
  6643. IRQ (Level, ActiveLow, Shared, )
  6644. {5,10,11}
  6645. })
  6646. Name (IPRB, ResourceTemplate ()
  6647. {
  6648. IRQ (Level, ActiveLow, Shared, )
  6649. {5,10,11}
  6650. })
  6651. Name (IPRC, ResourceTemplate ()
  6652. {
  6653. IRQ (Level, ActiveLow, Shared, )
  6654. {5,10,11}
  6655. })
  6656. Name (IPRD, ResourceTemplate ()
  6657. {
  6658. IRQ (Level, ActiveLow, Shared, )
  6659. {5,10,11}
  6660. })
  6661. Device (LNKA)
  6662. {
  6663. Name (_HID, EisaId ("PNP0C0F"))
  6664. Name (_UID, One)
  6665. Method (_STA, 0, NotSerialized)
  6666. {
  6667. If (PIRA)
  6668. {
  6669. Return (0x0B)
  6670. }
  6671. Else
  6672. {
  6673. Return (0x09)
  6674. }
  6675. }
  6676.  
  6677. Method (_PRS, 0, NotSerialized)
  6678. {
  6679. Return (PRS1)
  6680. }
  6681.  
  6682. Method (_DIS, 0, NotSerialized)
  6683. {
  6684. Store (Zero, PIRA)
  6685. }
  6686.  
  6687. Method (_CRS, 0, NotSerialized)
  6688. {
  6689. CreateWordField (BUFA, One, IRQX)
  6690. ShiftLeft (One, PIRA, IRQX)
  6691. Return (BUFA)
  6692. }
  6693.  
  6694. Method (_SRS, 1, NotSerialized)
  6695. {
  6696. CreateWordField (Arg0, One, IRA)
  6697. FindSetRightBit (IRA, Local0)
  6698. Decrement (Local0)
  6699. Store (Local0, PIRA)
  6700. }
  6701. }
  6702.  
  6703. Device (LNKB)
  6704. {
  6705. Name (_HID, EisaId ("PNP0C0F"))
  6706. Name (_UID, 0x02)
  6707. Method (_STA, 0, NotSerialized)
  6708. {
  6709. If (PIRB)
  6710. {
  6711. Return (0x0B)
  6712. }
  6713. Else
  6714. {
  6715. Return (0x09)
  6716. }
  6717. }
  6718.  
  6719. Method (_PRS, 0, NotSerialized)
  6720. {
  6721. Return (PRS1)
  6722. }
  6723.  
  6724. Method (_DIS, 0, NotSerialized)
  6725. {
  6726. Store (Zero, PIRB)
  6727. }
  6728.  
  6729. Method (_CRS, 0, NotSerialized)
  6730. {
  6731. CreateWordField (BUFA, One, IRQX)
  6732. ShiftLeft (One, PIRB, IRQX)
  6733. Return (BUFA)
  6734. }
  6735.  
  6736. Method (_SRS, 1, NotSerialized)
  6737. {
  6738. CreateWordField (Arg0, One, IRA)
  6739. FindSetRightBit (IRA, Local0)
  6740. Decrement (Local0)
  6741. Store (Local0, PIRB)
  6742. }
  6743. }
  6744.  
  6745. Device (LNKC)
  6746. {
  6747. Name (_HID, EisaId ("PNP0C0F"))
  6748. Name (_UID, 0x03)
  6749. Method (_STA, 0, NotSerialized)
  6750. {
  6751. If (PIRC)
  6752. {
  6753. Return (0x0B)
  6754. }
  6755. Else
  6756. {
  6757. Return (0x09)
  6758. }
  6759. }
  6760.  
  6761. Method (_PRS, 0, NotSerialized)
  6762. {
  6763. Return (PRS1)
  6764. }
  6765.  
  6766. Method (_DIS, 0, NotSerialized)
  6767. {
  6768. Store (Zero, PIRC)
  6769. }
  6770.  
  6771. Method (_CRS, 0, NotSerialized)
  6772. {
  6773. CreateWordField (BUFA, One, IRQX)
  6774. ShiftLeft (One, PIRC, IRQX)
  6775. Return (BUFA)
  6776. }
  6777.  
  6778. Method (_SRS, 1, NotSerialized)
  6779. {
  6780. CreateWordField (Arg0, One, IRA)
  6781. FindSetRightBit (IRA, Local0)
  6782. Decrement (Local0)
  6783. Store (Local0, PIRC)
  6784. }
  6785. }
  6786.  
  6787. Device (LNKD)
  6788. {
  6789. Name (_HID, EisaId ("PNP0C0F"))
  6790. Name (_UID, 0x04)
  6791. Method (_STA, 0, NotSerialized)
  6792. {
  6793. If (PIRD)
  6794. {
  6795. Return (0x0B)
  6796. }
  6797. Else
  6798. {
  6799. Return (0x09)
  6800. }
  6801. }
  6802.  
  6803. Method (_PRS, 0, NotSerialized)
  6804. {
  6805. Return (PRS1)
  6806. }
  6807.  
  6808. Method (_DIS, 0, NotSerialized)
  6809. {
  6810. Store (Zero, PIRD)
  6811. }
  6812.  
  6813. Method (_CRS, 0, NotSerialized)
  6814. {
  6815. CreateWordField (BUFA, One, IRQX)
  6816. ShiftLeft (One, PIRD, IRQX)
  6817. Return (BUFA)
  6818. }
  6819.  
  6820. Method (_SRS, 1, NotSerialized)
  6821. {
  6822. CreateWordField (Arg0, One, IRA)
  6823. FindSetRightBit (IRA, Local0)
  6824. Decrement (Local0)
  6825. Store (Local0, PIRD)
  6826. }
  6827. }
  6828.  
  6829. Device (LNKE)
  6830. {
  6831. Name (_HID, EisaId ("PNP0C0F"))
  6832. Name (_UID, 0x05)
  6833. Method (_STA, 0, NotSerialized)
  6834. {
  6835. If (PIRE)
  6836. {
  6837. Return (0x0B)
  6838. }
  6839. Else
  6840. {
  6841. Return (0x09)
  6842. }
  6843. }
  6844.  
  6845. Method (_PRS, 0, NotSerialized)
  6846. {
  6847. Return (PRS1)
  6848. }
  6849.  
  6850. Method (_DIS, 0, NotSerialized)
  6851. {
  6852. Store (Zero, PIRE)
  6853. }
  6854.  
  6855. Method (_CRS, 0, NotSerialized)
  6856. {
  6857. CreateWordField (BUFA, One, IRQX)
  6858. ShiftLeft (One, PIRE, IRQX)
  6859. Return (BUFA)
  6860. }
  6861.  
  6862. Method (_SRS, 1, NotSerialized)
  6863. {
  6864. CreateWordField (Arg0, One, IRA)
  6865. FindSetRightBit (IRA, Local0)
  6866. Decrement (Local0)
  6867. Store (Local0, PIRE)
  6868. }
  6869. }
  6870.  
  6871. Device (LNKF)
  6872. {
  6873. Name (_HID, EisaId ("PNP0C0F"))
  6874. Name (_UID, 0x06)
  6875. Method (_STA, 0, NotSerialized)
  6876. {
  6877. If (PIRF)
  6878. {
  6879. Return (0x0B)
  6880. }
  6881. Else
  6882. {
  6883. Return (0x09)
  6884. }
  6885. }
  6886.  
  6887. Method (_PRS, 0, NotSerialized)
  6888. {
  6889. Return (PRS1)
  6890. }
  6891.  
  6892. Method (_DIS, 0, NotSerialized)
  6893. {
  6894. Store (Zero, PIRF)
  6895. }
  6896.  
  6897. Method (_CRS, 0, NotSerialized)
  6898. {
  6899. CreateWordField (BUFA, One, IRQX)
  6900. ShiftLeft (One, PIRF, IRQX)
  6901. Return (BUFA)
  6902. }
  6903.  
  6904. Method (_SRS, 1, NotSerialized)
  6905. {
  6906. CreateWordField (Arg0, One, IRA)
  6907. FindSetRightBit (IRA, Local0)
  6908. Decrement (Local0)
  6909. Store (Local0, PIRF)
  6910. }
  6911. }
  6912.  
  6913. Device (LNKG)
  6914. {
  6915. Name (_HID, EisaId ("PNP0C0F"))
  6916. Name (_UID, 0x07)
  6917. Method (_STA, 0, NotSerialized)
  6918. {
  6919. If (PIRG)
  6920. {
  6921. Return (0x0B)
  6922. }
  6923. Else
  6924. {
  6925. Return (0x09)
  6926. }
  6927. }
  6928.  
  6929. Method (_PRS, 0, NotSerialized)
  6930. {
  6931. Return (PRS1)
  6932. }
  6933.  
  6934. Method (_DIS, 0, NotSerialized)
  6935. {
  6936. Store (Zero, PIRG)
  6937. }
  6938.  
  6939. Method (_CRS, 0, NotSerialized)
  6940. {
  6941. CreateWordField (BUFA, One, IRQX)
  6942. ShiftLeft (One, PIRG, IRQX)
  6943. Return (BUFA)
  6944. }
  6945.  
  6946. Method (_SRS, 1, NotSerialized)
  6947. {
  6948. CreateWordField (Arg0, One, IRA)
  6949. FindSetRightBit (IRA, Local0)
  6950. Decrement (Local0)
  6951. Store (Local0, PIRG)
  6952. }
  6953. }
  6954.  
  6955. Device (LNKH)
  6956. {
  6957. Name (_HID, EisaId ("PNP0C0F"))
  6958. Name (_UID, 0x08)
  6959. Method (_STA, 0, NotSerialized)
  6960. {
  6961. If (PIRH)
  6962. {
  6963. Return (0x0B)
  6964. }
  6965. Else
  6966. {
  6967. Return (0x09)
  6968. }
  6969. }
  6970.  
  6971. Method (_PRS, 0, NotSerialized)
  6972. {
  6973. Return (PRS1)
  6974. }
  6975.  
  6976. Method (_DIS, 0, NotSerialized)
  6977. {
  6978. Store (Zero, PIRH)
  6979. }
  6980.  
  6981. Method (_CRS, 0, NotSerialized)
  6982. {
  6983. CreateWordField (BUFA, One, IRQX)
  6984. ShiftLeft (One, PIRH, IRQX)
  6985. Return (BUFA)
  6986. }
  6987.  
  6988. Method (_SRS, 1, NotSerialized)
  6989. {
  6990. CreateWordField (Arg0, One, IRA)
  6991. FindSetRightBit (IRA, Local0)
  6992. Decrement (Local0)
  6993. Store (Local0, PIRH)
  6994. }
  6995. }
  6996.  
  6997. Method (GSMI, 1, NotSerialized)
  6998. {
  6999. Store (Arg0, APMD)
  7000. Store (0xE4, APMC)
  7001. Stall (0xFF)
  7002. Stall (0xFF)
  7003. Stall (0xFF)
  7004. Stall (0xFF)
  7005. Stall (0xFF)
  7006. Stall (0xFF)
  7007. }
  7008.  
  7009. Method (S80H, 1, NotSerialized)
  7010. {
  7011. Store (Arg0, APMD)
  7012. Store (0xE5, APMC)
  7013. Stall (0xFF)
  7014. Stall (0xFF)
  7015. Stall (0xFF)
  7016. Stall (0xFF)
  7017. Stall (0xFF)
  7018. Stall (0xFF)
  7019. }
  7020.  
  7021. Method (BSMI, 1, NotSerialized)
  7022. {
  7023. Store (Arg0, APMD)
  7024. Store (0xBE, APMC)
  7025. Stall (0xFF)
  7026. }
  7027.  
  7028. Method (VTOB, 1, NotSerialized)
  7029. {
  7030. Store (One, Local0)
  7031. ShiftLeft (Local0, Arg0, Local0)
  7032. Return (Local0)
  7033. }
  7034.  
  7035. Method (BTOV, 1, NotSerialized)
  7036. {
  7037. ShiftRight (Arg0, One, Local0)
  7038. Store (Zero, Local1)
  7039. While (Local0)
  7040. {
  7041. Increment (Local1)
  7042. ShiftRight (Local0, One, Local0)
  7043. }
  7044.  
  7045. Return (Local1)
  7046. }
  7047.  
  7048. Method (MKWD, 2, NotSerialized)
  7049. {
  7050. If (And (Arg1, 0x80))
  7051. {
  7052. Store (0xFFFF0000, Local0)
  7053. }
  7054. Else
  7055. {
  7056. Store (Zero, Local0)
  7057. }
  7058.  
  7059. Or (Local0, Arg0, Local0)
  7060. Or (Local0, ShiftLeft (Arg1, 0x08), Local0)
  7061. Return (Local0)
  7062. }
  7063.  
  7064. Method (POSW, 1, NotSerialized)
  7065. {
  7066. If (And (Arg0, 0x8000))
  7067. {
  7068. If (LEqual (Arg0, 0xFFFF))
  7069. {
  7070. Return (Ones)
  7071. }
  7072. Else
  7073. {
  7074. Not (Arg0, Local0)
  7075. Increment (Local0)
  7076. And (Local0, 0xFFFF, Local0)
  7077. Return (Local0)
  7078. }
  7079. }
  7080. Else
  7081. {
  7082. Return (Arg0)
  7083. }
  7084. }
  7085.  
  7086. Method (GBFE, 3, NotSerialized)
  7087. {
  7088. CreateByteField (Arg0, Arg1, TIDX)
  7089. Store (TIDX, Arg2)
  7090. }
  7091.  
  7092. Method (PBFE, 3, NotSerialized)
  7093. {
  7094. CreateByteField (Arg0, Arg1, TIDX)
  7095. Store (Arg2, TIDX)
  7096. }
  7097.  
  7098. Method (ITOS, 1, NotSerialized)
  7099. {
  7100. Store (Buffer (0x05)
  7101. {
  7102. 0x20, 0x20, 0x20, 0x20, 0x20
  7103. }, Local0)
  7104. Store (Buffer (0x11)
  7105. {
  7106. "0123456789ABCDEF"
  7107. }, Local7)
  7108. Store (0x05, Local1)
  7109. Store (Zero, Local2)
  7110. Store (Zero, Local3)
  7111. While (Local1)
  7112. {
  7113. Decrement (Local1)
  7114. And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4)
  7115. GBFE (Local7, Local4, RefOf (Local5))
  7116. PBFE (Local0, Local2, Local5)
  7117. Increment (Local2)
  7118. }
  7119.  
  7120. Return (Local0)
  7121. }
  7122.  
  7123. Device (BAT0)
  7124. {
  7125. Name (_HID, EisaId ("PNP0C0A"))
  7126. Name (_PCL, Package (0x01)
  7127. {
  7128. _SB
  7129. })
  7130. Name (PBIF, Package (0x0D)
  7131. {
  7132. One,
  7133. Ones,
  7134. Ones,
  7135. One,
  7136. Ones,
  7137. 0xFA,
  7138. 0x96,
  7139. 0x0A,
  7140. 0x19,
  7141. "BAT1",
  7142. " ",
  7143. " ",
  7144. " "
  7145. })
  7146. Name (PBST, Package (0x04)
  7147. {
  7148. Zero,
  7149. Ones,
  7150. Ones,
  7151. 0x2710
  7152. })
  7153. Name (BAST, Zero)
  7154. Name (B1ST, 0x0F)
  7155. Name (B1WT, Zero)
  7156. Method (_STA, 0, NotSerialized)
  7157. {
  7158. If (ECON)
  7159. {
  7160. If (^^PCI0.LPC0.EC0.MBTS)
  7161. {
  7162. Store (0x1F, B1ST)
  7163. }
  7164. Else
  7165. {
  7166. Store (0x0F, B1ST)
  7167. }
  7168. }
  7169. Else
  7170. {
  7171. Store (0x0F, B1ST)
  7172. }
  7173.  
  7174. Return (B1ST)
  7175. }
  7176.  
  7177. Method (_BIF, 0, NotSerialized)
  7178. {
  7179. If (ECON)
  7180. {
  7181. If (^^PCI0.LPC0.EC0.MBTS)
  7182. {
  7183. UPBI ()
  7184. }
  7185. Else
  7186. {
  7187. IVBI ()
  7188. }
  7189. }
  7190. Else
  7191. {
  7192. IVBI ()
  7193. }
  7194.  
  7195. Return (PBIF)
  7196. }
  7197.  
  7198. Method (_BST, 0, NotSerialized)
  7199. {
  7200. If (ECON)
  7201. {
  7202. If (^^PCI0.LPC0.EC0.MBTS)
  7203. {
  7204. UPBS ()
  7205. }
  7206. Else
  7207. {
  7208. IVBS ()
  7209. }
  7210. }
  7211. Else
  7212. {
  7213. IVBS ()
  7214. }
  7215.  
  7216. Return (PBST)
  7217. }
  7218.  
  7219. Method (UPBI, 0, NotSerialized)
  7220. {
  7221. If (LNot (^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x10, RefOf (Local5))))
  7222. {
  7223. If (LAnd (Local5, LNot (And (Local5, 0x8000))))
  7224. {
  7225. ShiftRight (Local5, 0x05, Local5)
  7226. ShiftLeft (Local5, 0x05, Local5)
  7227. Store (Local5, Index (PBIF, 0x02))
  7228. Divide (Local5, 0x64, , Local2)
  7229. Add (Local2, One, Local2)
  7230. Multiply (Local2, 0x05, Local4)
  7231. Add (Local4, 0x02, Index (PBIF, 0x05))
  7232. Multiply (Local2, 0x03, Local4)
  7233. Add (Local4, 0x02, Index (PBIF, 0x06))
  7234. }
  7235. }
  7236.  
  7237. If (^^PCI0.LPC0.EC0.MBNH)
  7238. {
  7239. Store (0x2328, Index (PBIF, One))
  7240. Store (0x1C20, Index (PBIF, 0x04))
  7241. Store ("OANI$", Index (PBIF, 0x09))
  7242. Store ("NiMH", Index (PBIF, 0x0B))
  7243. }
  7244. Else
  7245. {
  7246. Store (0x1770, Index (PBIF, One))
  7247. Store (0x39D0, Index (PBIF, 0x04))
  7248. Sleep (0x32)
  7249. Store ("LION", Index (PBIF, 0x0B))
  7250. }
  7251.  
  7252. Store ("Primary", Index (PBIF, 0x09))
  7253. UPUM ()
  7254. Store (One, Index (PBIF, Zero))
  7255. }
  7256.  
  7257. Method (UPUM, 0, NotSerialized)
  7258. {
  7259. Store (Buffer (0x0A)
  7260. {
  7261. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  7262. /* 0008 */ 0x00, 0x00
  7263. }, Local0)
  7264. Store (Buffer (0x05)
  7265. {
  7266. 0x36, 0x35, 0x35, 0x33, 0x35
  7267. }, Local6)
  7268. Store (Buffer (0x05)
  7269. {
  7270. 0x31, 0x32, 0x33, 0x32, 0x31
  7271. }, Local7)
  7272. Store ("Hewlett-Packard", Index (PBIF, 0x0C))
  7273. }
  7274.  
  7275. Method (UPBS, 0, NotSerialized)
  7276. {
  7277. Store (^^PCI0.LPC0.EC0.MBRM, Local5)
  7278. If (LNot (And (Local5, 0x8000)))
  7279. {
  7280. ShiftRight (Local5, 0x05, Local5)
  7281. ShiftLeft (Local5, 0x05, Local5)
  7282. If (LNotEqual (Local5, DerefOf (Index (PBST, 0x02))))
  7283. {
  7284. Store (Local5, Index (PBST, 0x02))
  7285. }
  7286. }
  7287.  
  7288. Store (^^PCI0.LPC0.EC0.MBCV, Index (PBST, 0x03))
  7289. Store (^^PCI0.LPC0.EC0.MBST, Index (PBST, Zero))
  7290. }
  7291.  
  7292. Method (IVBI, 0, NotSerialized)
  7293. {
  7294. Store (Ones, Index (PBIF, One))
  7295. Store (Ones, Index (PBIF, 0x02))
  7296. Store (Ones, Index (PBIF, 0x04))
  7297. Store ("Bad", Index (PBIF, 0x09))
  7298. Store (" ", Index (PBIF, 0x0A))
  7299. Store ("Bad", Index (PBIF, 0x0B))
  7300. Store ("Bad", Index (PBIF, 0x0C))
  7301. }
  7302.  
  7303. Method (IVBS, 0, NotSerialized)
  7304. {
  7305. Store (Zero, Index (PBST, Zero))
  7306. Store (Ones, Index (PBST, One))
  7307. Store (Ones, Index (PBST, 0x02))
  7308. Store (0x2710, Index (PBST, 0x03))
  7309. }
  7310. }
  7311.  
  7312. Device (ACAD)
  7313. {
  7314. Name (_HID, "ACPI0003")
  7315. Name (_PCL, Package (0x01)
  7316. {
  7317. _SB
  7318. })
  7319. Name (ACWT, Zero)
  7320. Method (_PSR, 0, NotSerialized)
  7321. {
  7322. If (ECON)
  7323. {
  7324. Store (^^PCI0.LPC0.EC0.SW2S, Local0)
  7325. }
  7326. Else
  7327. {
  7328. Store (One, Local0)
  7329. }
  7330.  
  7331. Return (Local0)
  7332. }
  7333. }
  7334.  
  7335. Device (LID)
  7336. {
  7337. Name (_HID, EisaId ("PNP0C0D"))
  7338. Method (_LID, 0, NotSerialized)
  7339. {
  7340. If (ECON)
  7341. {
  7342. If (^^PCI0.LPC0.EC0.LIDS)
  7343. {
  7344. Store (Zero, Local0)
  7345. }
  7346. Else
  7347. {
  7348. Store (One, Local0)
  7349. }
  7350. }
  7351. Else
  7352. {
  7353. Store (One, Local0)
  7354. }
  7355.  
  7356. Return (Local0)
  7357. }
  7358. }
  7359.  
  7360. Device (QLB0)
  7361. {
  7362. Name (_HID, "HPQ0007")
  7363. Method (_STA, 0, NotSerialized)
  7364. {
  7365. Return (0x0F)
  7366. }
  7367. }
  7368.  
  7369. Device (WMID)
  7370. {
  7371. Name (WCDS, Package (0x13)
  7372. {
  7373. 0x04,
  7374. 0x04,
  7375. 0x04,
  7376. Zero,
  7377. 0x04,
  7378. 0x04,
  7379. Zero,
  7380. Zero,
  7381. 0x04,
  7382. 0x04,
  7383. 0x0C,
  7384. Zero,
  7385. Zero,
  7386. Zero,
  7387. Zero,
  7388. 0x05,
  7389. Zero,
  7390. Zero,
  7391. 0x04
  7392. })
  7393. Method (CSMI, 2, Serialized)
  7394. {
  7395. Store (Arg0, CMTF)
  7396. Store (Arg1, CMTI)
  7397. Store (0xC1, APMC)
  7398. Return (CMTO)
  7399. }
  7400.  
  7401. Method (HWMC, 2, NotSerialized)
  7402. {
  7403. CreateDWordField (Arg1, Zero, SGIN)
  7404. CreateDWordField (Arg1, 0x04, COMD)
  7405. CreateDWordField (Arg1, 0x08, CMDT)
  7406. CreateDWordField (Arg1, 0x0C, DSZI)
  7407. If (LEqual (Arg0, One))
  7408. {
  7409. Store (Zero, Local0)
  7410. }
  7411.  
  7412. If (LEqual (Arg0, 0x02))
  7413. {
  7414. Store (0x04, Local0)
  7415. }
  7416.  
  7417. If (LEqual (Arg0, 0x03))
  7418. {
  7419. Store (0x80, Local0)
  7420. }
  7421.  
  7422. If (LEqual (Arg0, 0x04))
  7423. {
  7424. Store (0x0400, Local0)
  7425. }
  7426.  
  7427. If (LEqual (Arg0, 0x05))
  7428. {
  7429. Store (0x1000, Local0)
  7430. }
  7431.  
  7432. Store (Buffer (Add (0x08, Local0)) {}, Local1)
  7433. CreateDWordField (Local1, Zero, SIOU)
  7434. CreateDWordField (Local1, 0x04, RETC)
  7435. Store (DSZI, Local5)
  7436. If (LGreater (DSZI, 0x02F0))
  7437. {
  7438. Store (0x02F0, Local5)
  7439. }
  7440.  
  7441. CreateField (Arg1, Zero, Multiply (Add (Local5, 0x10), 0x08),
  7442. DAIN)
  7443. Store (0x4C494146, SIOU)
  7444. Store (0x02, RETC)
  7445. If (LEqual (SGIN, 0x55434553))
  7446. {
  7447. Store (0x03, RETC)
  7448. If (LEqual (COMD, One))
  7449. {
  7450. Store (0x04, RETC)
  7451. If (LEqual (CMDT, 0x05))
  7452. {
  7453. Store (GWLS (), Local2)
  7454. Store (Zero, RETC)
  7455. }
  7456.  
  7457. If (LEqual (CMDT, 0x0E))
  7458. {
  7459. Store (GWDD (), Local2)
  7460. Store (Zero, RETC)
  7461. }
  7462.  
  7463. If (LEqual (CMDT, 0x10))
  7464. {
  7465. Store (GHSI (), Local2)
  7466. Store (Zero, RETC)
  7467. }
  7468.  
  7469. If (LEqual (CMDT, 0x07))
  7470. {
  7471. If (DSZI)
  7472. {
  7473. Store (DerefOf (Index (Arg1, 0x10)), Local3)
  7474. Store (GBIF (Local3), Local2)
  7475. Store (Zero, RETC)
  7476. }
  7477. Else
  7478. {
  7479. Store (0x05, RETC)
  7480. }
  7481. }
  7482.  
  7483. If (LEqual (CMDT, One))
  7484. {
  7485. Store (GDST (), Local2)
  7486. Store (Zero, RETC)
  7487. }
  7488.  
  7489. If (LEqual (CMDT, 0x08))
  7490. {
  7491. Store (GBBT (), Local2)
  7492. Store (Zero, RETC)
  7493. }
  7494.  
  7495. If (LEqual (CMDT, 0x09))
  7496. {
  7497. Store (GHKS (), Local2)
  7498. Store (Zero, RETC)
  7499. }
  7500.  
  7501. If (LEqual (CMDT, 0x0A))
  7502. {
  7503. Store (GHKF (), Local2)
  7504. Store (Zero, RETC)
  7505. }
  7506.  
  7507. If (LEqual (CMDT, 0x0C))
  7508. {
  7509. Store (GBBV (), Local2)
  7510. Store (Zero, RETC)
  7511. }
  7512.  
  7513. If (LEqual (CMDT, 0x04))
  7514. {
  7515. Store (GDKS (), Local2)
  7516. Store (Zero, RETC)
  7517. }
  7518.  
  7519. If (LEqual (CMDT, 0x0B))
  7520. {
  7521. Store (BBST (), Local2)
  7522. Store (Zero, RETC)
  7523. }
  7524.  
  7525. If (LEqual (CMDT, 0x13))
  7526. {
  7527. Store (GBBS (), Local2)
  7528. Store (Zero, RETC)
  7529. }
  7530.  
  7531. If (LEqual (CMDT, 0x0F))
  7532. {
  7533. Store (GSAS (), Local2)
  7534. Store (Zero, RETC)
  7535. }
  7536. }
  7537.  
  7538. If (LEqual (COMD, 0x02))
  7539. {
  7540. Store (0x04, RETC)
  7541. If (LAnd (LGreater (CMDT, Zero), LLessEqual (CMDT, 0x13)))
  7542. {
  7543. If (LLess (DSZI, DerefOf (Index (WCDS, Subtract (CMDT, One)
  7544. ))))
  7545. {
  7546. Store (0x05, RETC)
  7547. }
  7548. Else
  7549. {
  7550. CreateDWordField (Arg1, 0x10, DDWD)
  7551. If (LEqual (CMDT, 0x05))
  7552. {
  7553. Store (SWLS (DDWD), Local2)
  7554. Store (Zero, RETC)
  7555. }
  7556.  
  7557. If (LEqual (CMDT, One))
  7558. {
  7559. Store (SDST (DDWD), Local2)
  7560. Store (Zero, RETC)
  7561. }
  7562.  
  7563. If (LEqual (CMDT, 0x09))
  7564. {
  7565. Store (SHKS (DDWD), Local2)
  7566. Store (Zero, RETC)
  7567. }
  7568.  
  7569. If (LEqual (CMDT, 0x0A))
  7570. {
  7571. Store (SHKF (DDWD), Local2)
  7572. Store (Zero, RETC)
  7573. }
  7574.  
  7575. If (LEqual (CMDT, 0x0B))
  7576. {
  7577. CreateDWordField (Arg1, 0x14, DDW1)
  7578. CreateDWordField (Arg1, 0x18, DDW2)
  7579. Store (SMRS (DDWD, DDW1, DDW2), Local2)
  7580. Store (Zero, RETC)
  7581. }
  7582.  
  7583. If (LEqual (CMDT, 0x10))
  7584. {
  7585. If (LNotEqual (DSZI, DerefOf (Index (WCDS, Subtract (CMDT, One
  7586. )))))
  7587. {
  7588. Store (0x05, RETC)
  7589. }
  7590. Else
  7591. {
  7592. CreateByteField (Arg1, 0x10, DB00)
  7593. CreateByteField (Arg1, 0x11, DB01)
  7594. CreateByteField (Arg1, 0x12, DB02)
  7595. CreateByteField (Arg1, 0x13, DB03)
  7596. CreateByteField (Arg1, 0x14, DB04)
  7597. Store (SHSI (DB00, DB01, DB02, DB03, DB04), Local2)
  7598. Store (Zero, RETC)
  7599. }
  7600. }
  7601.  
  7602. If (LEqual (CMDT, 0x13))
  7603. {
  7604. Store (SBBS (DDWD), Local2)
  7605. Store (Zero, RETC)
  7606. }
  7607. }
  7608. }
  7609. }
  7610.  
  7611. If (LEqual (COMD, 0x00020002))
  7612. {
  7613. Store (0x21, RETC)
  7614. If (LEqual (CMDT, One))
  7615. {
  7616. Store (Package (0x03)
  7617. {
  7618. Zero,
  7619. Zero,
  7620. Buffer (0x04)
  7621. {
  7622. 0x00, 0x00, 0x00, 0x00
  7623. }
  7624. }, Local2)
  7625. Store (Zero, Index (Local2, Zero))
  7626. Store (0x04, Index (Local2, One))
  7627. CSMI (One, Zero)
  7628. Store (CMTO, Index (DerefOf (Index (Local2, 0x02)), Zero))
  7629. Store (Zero, RETC)
  7630. }
  7631.  
  7632. If (LEqual (CMDT, 0x02))
  7633. {
  7634. Store (Package (0x02)
  7635. {
  7636. Zero,
  7637. Zero
  7638. }, Local2)
  7639. CSMI (0x02, DAIN)
  7640. Store (CMTO, RETC)
  7641. }
  7642.  
  7643. If (LEqual (CMDT, 0x03))
  7644. {
  7645. Store (Package (0x02)
  7646. {
  7647. Zero,
  7648. Zero
  7649. }, Local2)
  7650. CSMI (0x03, DAIN)
  7651. Store (CMTO, RETC)
  7652. }
  7653. }
  7654. }
  7655.  
  7656. If (LEqual (RETC, Zero))
  7657. {
  7658. Store (DerefOf (Index (Local2, Zero)), RETC)
  7659. If (LEqual (RETC, Zero))
  7660. {
  7661. If (LLessEqual (DerefOf (Index (Local2, One)), Local0))
  7662. {
  7663. Store (Zero, Local0)
  7664. While (LLess (Local0, DerefOf (Index (Local2, One))))
  7665. {
  7666. Store (DerefOf (Index (DerefOf (Index (Local2, 0x02)), Local0)),
  7667. Index (Local1, Add (Local0, 0x08)))
  7668. Increment (Local0)
  7669. }
  7670.  
  7671. Store (0x53534150, SIOU)
  7672. }
  7673. Else
  7674. {
  7675. Store (0x05, RETC)
  7676. }
  7677. }
  7678. }
  7679.  
  7680. Return (Local1)
  7681. }
  7682.  
  7683. Name (_HID, "PNP0C14")
  7684. Name (_UID, Zero)
  7685. Name (WMIF, Zero)
  7686. Name (WEID, Zero)
  7687. Name (WEDT, Zero)
  7688. Name (BUFF, Buffer (0x04)
  7689. {
  7690. 0x00, 0x00, 0x00, 0x00
  7691. })
  7692. CreateByteField (BUFF, Zero, OB0)
  7693. CreateByteField (BUFF, One, OB1)
  7694. CreateByteField (BUFF, 0x02, OB2)
  7695. CreateByteField (BUFF, 0x03, OB3)
  7696. Name (_WDG, Buffer (0x50)
  7697. {
  7698. /* 0000 */ 0x34, 0xF0, 0xB7, 0x5F, 0x63, 0x2C, 0xE9, 0x45,
  7699. /* 0008 */ 0xBE, 0x91, 0x3D, 0x44, 0xE2, 0xC7, 0x07, 0xE4,
  7700. /* 0010 */ 0x41, 0x44, 0x01, 0x02, 0x79, 0x42, 0xF2, 0x95,
  7701. /* 0018 */ 0x7B, 0x4D, 0x34, 0x43, 0x93, 0x87, 0xAC, 0xCD,
  7702. /* 0020 */ 0xC6, 0x7E, 0xF6, 0x1C, 0x80, 0x00, 0x01, 0x08,
  7703. /* 0028 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,
  7704. /* 0030 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,
  7705. /* 0038 */ 0x41, 0x45, 0x01, 0x00, 0xD4, 0x2B, 0x99, 0xD0,
  7706. /* 0040 */ 0x7C, 0xA4, 0xFE, 0x4E, 0xB0, 0x72, 0x32, 0x4A,
  7707. /* 0048 */ 0xEC, 0x92, 0x29, 0x6C, 0x42, 0x43, 0x01, 0x00
  7708. })
  7709. Method (WMAD, 3, NotSerialized)
  7710. {
  7711. Return (HWMC (Arg1, Arg2))
  7712. }
  7713.  
  7714. Method (GDST, 0, NotSerialized)
  7715. {
  7716. Store ("HP WMI Command 0x1 (BIOS Read)", Debug)
  7717. Store (0x70, BCMD)
  7718. BSMI (Zero)
  7719. Store (ADDL, OB0)
  7720. Store (Zero, OB1)
  7721. Store (Zero, OB2)
  7722. Store (Zero, OB3)
  7723. Store (Package (0x03)
  7724. {
  7725. Zero,
  7726. 0x04,
  7727. Buffer (0x04)
  7728. {
  7729. 0x01, 0x02, 0x03, 0x04
  7730. }
  7731. }, Local0)
  7732. Store (OB0, Index (DerefOf (Index (Local0, 0x02)), Zero))
  7733. Store (OB1, Index (DerefOf (Index (Local0, 0x02)), One))
  7734. Store (OB2, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  7735. Store (OB3, Index (DerefOf (Index (Local0, 0x02)), 0x03))
  7736. Return (Local0)
  7737. }
  7738.  
  7739. Method (SDST, 1, NotSerialized)
  7740. {
  7741. Store ("HP WMI Command 0x1 (BIOS Write)", Debug)
  7742. And (Arg0, 0x1F, Local0)
  7743. Store (0x70, BCMD)
  7744. BSMI (Zero)
  7745. If (LEqual (Local0, CSTE))
  7746. {
  7747. Return (Package (0x02)
  7748. {
  7749. Zero,
  7750. Zero
  7751. })
  7752. }
  7753. Else
  7754. {
  7755. If (VGAF)
  7756. {
  7757. If (LEqual (Local0, One))
  7758. {
  7759. Store ("LCD", Debug)
  7760. Store (One, ^^PCI0.PB2.DVGA.LCDA)
  7761. Store (Zero, ^^PCI0.PB2.DVGA.CRTA)
  7762. Store (Zero, ^^PCI0.PB2.DVGA.TV0A)
  7763. Store (Zero, ^^PCI0.PB2.DVGA.HDTV)
  7764. }
  7765.  
  7766. If (LEqual (Local0, 0x02))
  7767. {
  7768. Store ("CRT", Debug)
  7769. Store (Zero, ^^PCI0.PB2.DVGA.LCDA)
  7770. Store (One, ^^PCI0.PB2.DVGA.CRTA)
  7771. Store (Zero, ^^PCI0.PB2.DVGA.TV0A)
  7772. Store (Zero, ^^PCI0.PB2.DVGA.HDTV)
  7773. }
  7774.  
  7775. If (LEqual (Local0, 0x03))
  7776. {
  7777. Store ("LCD+CRT", Debug)
  7778. Store (One, ^^PCI0.PB2.DVGA.LCDA)
  7779. Store (One, ^^PCI0.PB2.DVGA.CRTA)
  7780. Store (Zero, ^^PCI0.PB2.DVGA.TV0A)
  7781. Store (Zero, ^^PCI0.PB2.DVGA.HDTV)
  7782. }
  7783.  
  7784. If (LEqual (Local0, 0x04))
  7785. {
  7786. Store ("TV", Debug)
  7787. Store (Zero, ^^PCI0.PB2.DVGA.LCDA)
  7788. Store (Zero, ^^PCI0.PB2.DVGA.CRTA)
  7789. Store (One, ^^PCI0.PB2.DVGA.TV0A)
  7790. Store (Zero, ^^PCI0.PB2.DVGA.HDTV)
  7791. }
  7792.  
  7793. If (LEqual (Local0, 0x05))
  7794. {
  7795. Store ("LCD+TV", Debug)
  7796. Store (One, ^^PCI0.PB2.DVGA.LCDA)
  7797. Store (Zero, ^^PCI0.PB2.DVGA.CRTA)
  7798. Store (One, ^^PCI0.PB2.DVGA.TV0A)
  7799. Store (Zero, ^^PCI0.PB2.DVGA.HDTV)
  7800. }
  7801.  
  7802. If (LEqual (Local0, 0x06))
  7803. {
  7804. Store ("CRT+TV", Debug)
  7805. Store (Zero, ^^PCI0.PB2.DVGA.LCDA)
  7806. Store (One, ^^PCI0.PB2.DVGA.CRTA)
  7807. Store (One, ^^PCI0.PB2.DVGA.TV0A)
  7808. Store (Zero, ^^PCI0.PB2.DVGA.HDTV)
  7809. }
  7810.  
  7811. If (LEqual (Local0, 0x07))
  7812. {
  7813. Store ("LCD+CRT+TV", Debug)
  7814. Store (One, ^^PCI0.PB2.DVGA.LCDA)
  7815. Store (One, ^^PCI0.PB2.DVGA.CRTA)
  7816. Store (One, ^^PCI0.PB2.DVGA.TV0A)
  7817. Store (Zero, ^^PCI0.PB2.DVGA.HDTV)
  7818. }
  7819.  
  7820. If (LEqual (Local0, 0x10))
  7821. {
  7822. Store ("HDMI", Debug)
  7823. Store (Zero, ^^PCI0.PB2.DVGA.LCDA)
  7824. Store (Zero, ^^PCI0.PB2.DVGA.CRTA)
  7825. Store (Zero, ^^PCI0.PB2.DVGA.TV0A)
  7826. Store (One, ^^PCI0.PB2.DVGA.HDTV)
  7827. }
  7828.  
  7829. If (LNotEqual (TPOS, 0x40))
  7830. {
  7831. Notify (PCI0, Zero)
  7832. }
  7833. Else
  7834. {
  7835. Notify (^^PCI0.PB2.DVGA, Zero)
  7836. }
  7837.  
  7838. Sleep (0x02EE)
  7839. Notify (^^PCI0.PB2.DVGA, 0x80)
  7840. }
  7841. Else
  7842. {
  7843. If (LEqual (Local0, One))
  7844. {
  7845. Store ("LCD", Debug)
  7846. Store (One, ^^PCI0.AGP.VGA.LCDA)
  7847. Store (Zero, ^^PCI0.AGP.VGA.CRTA)
  7848. Store (Zero, ^^PCI0.AGP.VGA.TV0A)
  7849. Store (Zero, ^^PCI0.AGP.VGA.HDTV)
  7850. }
  7851.  
  7852. If (LEqual (Local0, 0x02))
  7853. {
  7854. Store ("CRT", Debug)
  7855. Store (Zero, ^^PCI0.AGP.VGA.LCDA)
  7856. Store (One, ^^PCI0.AGP.VGA.CRTA)
  7857. Store (Zero, ^^PCI0.AGP.VGA.TV0A)
  7858. Store (Zero, ^^PCI0.AGP.VGA.HDTV)
  7859. }
  7860.  
  7861. If (LEqual (Local0, 0x03))
  7862. {
  7863. Store ("LCD+CRT", Debug)
  7864. Store (One, ^^PCI0.AGP.VGA.LCDA)
  7865. Store (One, ^^PCI0.AGP.VGA.CRTA)
  7866. Store (Zero, ^^PCI0.AGP.VGA.TV0A)
  7867. Store (Zero, ^^PCI0.AGP.VGA.HDTV)
  7868. }
  7869.  
  7870. If (LEqual (Local0, 0x04))
  7871. {
  7872. Store ("TV", Debug)
  7873. Store (Zero, ^^PCI0.AGP.VGA.LCDA)
  7874. Store (Zero, ^^PCI0.AGP.VGA.CRTA)
  7875. Store (One, ^^PCI0.AGP.VGA.TV0A)
  7876. Store (Zero, ^^PCI0.AGP.VGA.HDTV)
  7877. }
  7878.  
  7879. If (LEqual (Local0, 0x05))
  7880. {
  7881. Store ("LCD+TV", Debug)
  7882. Store (One, ^^PCI0.AGP.VGA.LCDA)
  7883. Store (Zero, ^^PCI0.AGP.VGA.CRTA)
  7884. Store (One, ^^PCI0.AGP.VGA.TV0A)
  7885. Store (Zero, ^^PCI0.AGP.VGA.HDTV)
  7886. }
  7887.  
  7888. If (LEqual (Local0, 0x06))
  7889. {
  7890. Store ("CRT+TV", Debug)
  7891. Store (Zero, ^^PCI0.AGP.VGA.LCDA)
  7892. Store (One, ^^PCI0.AGP.VGA.CRTA)
  7893. Store (One, ^^PCI0.AGP.VGA.TV0A)
  7894. Store (Zero, ^^PCI0.AGP.VGA.HDTV)
  7895. }
  7896.  
  7897. If (LEqual (Local0, 0x07))
  7898. {
  7899. Store ("LCD+CRT+TV", Debug)
  7900. Store (One, ^^PCI0.AGP.VGA.LCDA)
  7901. Store (One, ^^PCI0.AGP.VGA.CRTA)
  7902. Store (One, ^^PCI0.AGP.VGA.TV0A)
  7903. Store (Zero, ^^PCI0.AGP.VGA.HDTV)
  7904. }
  7905.  
  7906. If (LEqual (Local0, 0x10))
  7907. {
  7908. Store ("HDMI", Debug)
  7909. Store (Zero, ^^PCI0.AGP.VGA.LCDA)
  7910. Store (Zero, ^^PCI0.AGP.VGA.CRTA)
  7911. Store (Zero, ^^PCI0.AGP.VGA.TV0A)
  7912. Store (One, ^^PCI0.AGP.VGA.HDTV)
  7913. }
  7914.  
  7915. If (LNotEqual (TPOS, 0x40))
  7916. {
  7917. Notify (PCI0, Zero)
  7918. }
  7919. Else
  7920. {
  7921. Notify (^^PCI0.AGP.VGA, Zero)
  7922. }
  7923.  
  7924. Sleep (0x02EE)
  7925. Notify (^^PCI0.AGP.VGA, 0x80)
  7926. }
  7927.  
  7928. Return (Package (0x02)
  7929. {
  7930. Zero,
  7931. Zero
  7932. })
  7933. }
  7934. }
  7935.  
  7936. Method (GDKS, 0, NotSerialized)
  7937. {
  7938. Store ("HP WMI Command 0x04 (BIOS Read)", Debug)
  7939. Store (Package (0x03)
  7940. {
  7941. Zero,
  7942. One,
  7943. Buffer (One)
  7944. {
  7945. 0x00
  7946. }
  7947. }, Local0)
  7948. If (LEqual (^^PCI0.LPC0.EC0.TLID, One))
  7949. {
  7950. Store (Package (0x03)
  7951. {
  7952. Zero,
  7953. One,
  7954. Buffer (One)
  7955. {
  7956. 0x04
  7957. }
  7958. }, Local0)
  7959. }
  7960.  
  7961. Return (Local0)
  7962. }
  7963.  
  7964. Method (GWLS, 0, NotSerialized)
  7965. {
  7966. Store ("HP WMI Command 0x5 (BIOS Read)", Debug)
  7967. Store (One, WMIF)
  7968. And (BTWL, 0x03, Local0)
  7969. Or (Local0, 0x20, OB0)
  7970. Store (WWLS, Local1)
  7971. ShiftLeft (Local1, One, Local1)
  7972. Store (BWLS, Local2)
  7973. ShiftLeft (Local2, One, Local2)
  7974. Store (BTLS, Local3)
  7975. ShiftLeft (Local3, 0x03, Local3)
  7976. Or (Local1, Local3, Local1)
  7977. Or (Local2, Local3, Local2)
  7978. If (^^PCI0.SMBS.GP70)
  7979. {
  7980. If (LNot (WWLS))
  7981. {
  7982. Store (Zero, ^^PCI0.SMBS.GP70)
  7983. }
  7984.  
  7985. If (LNot (BTLS))
  7986. {
  7987. Store (Zero, ^^PCI0.SMBS.GP70)
  7988. }
  7989. }
  7990.  
  7991. If (^^PCI0.SMBS.GP13)
  7992. {
  7993. If (LNot (BWLS))
  7994. {
  7995. Store (Zero, ^^PCI0.SMBS.GP13)
  7996. }
  7997.  
  7998. If (LNot (BTLS))
  7999. {
  8000. Store (Zero, ^^PCI0.SMBS.GP13)
  8001. }
  8002. }
  8003.  
  8004. Or (^^PCI0.SMBS.GP70, Local1, Local1)
  8005. Or (^^PCI0.SMBS.GP13, Local2, Local2)
  8006. Store (Zero, OB2)
  8007. Store (Zero, OB1)
  8008. Or (Local1, 0x04, Local1)
  8009. Or (Local2, 0x04, Local2)
  8010. If (^^PCI0.SMBS.GP70)
  8011. {
  8012. Or (Local1, 0x10, Local1)
  8013. }
  8014. Else
  8015. {
  8016. And (Local1, 0xEF, Local1)
  8017. }
  8018.  
  8019. If (And (BTWL, One))
  8020. {
  8021. Store (Local1, OB1)
  8022. }
  8023.  
  8024. If (And (BTWL, 0x02))
  8025. {
  8026. Store (Local2, OB2)
  8027. }
  8028.  
  8029. Store (Zero, OB3)
  8030. Store (Package (0x03)
  8031. {
  8032. Zero,
  8033. 0x04,
  8034. Buffer (0x04)
  8035. {
  8036. 0x01, 0x02, 0x03, 0x04
  8037. }
  8038. }, Local0)
  8039. Store (OB0, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8040. Store (OB1, Index (DerefOf (Index (Local0, 0x02)), One))
  8041. Store (OB2, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8042. Store (OB3, Index (DerefOf (Index (Local0, 0x02)), 0x03))
  8043. Return (Local0)
  8044. }
  8045.  
  8046. Method (SWLS, 1, NotSerialized)
  8047. {
  8048. Store ("HP WMI Command 0x5 (BIOS Write)", Debug)
  8049. If (And (BTWL, 0x03))
  8050. {
  8051. If (And (Arg0, 0x0800))
  8052. {
  8053. If (And (Arg0, 0x08))
  8054. {
  8055. Store (One, WWLS)
  8056. Store (One, BWLS)
  8057. If (BTLS)
  8058. {
  8059. Store (One, ^^PCI0.SMBS.GP70)
  8060. }
  8061.  
  8062. If (BTLS)
  8063. {
  8064. Store (One, ^^PCI0.SMBS.GP13)
  8065. }
  8066. }
  8067. Else
  8068. {
  8069. Store (Zero, WWLS)
  8070. Store (Zero, BWLS)
  8071. Store (Zero, ^^PCI0.SMBS.GP70)
  8072. Store (Zero, ^^PCI0.SMBS.GP13)
  8073. }
  8074. }
  8075.  
  8076. If (And (Arg0, 0x0100))
  8077. {
  8078. If (And (Arg0, One))
  8079. {
  8080. Store (One, WWLS)
  8081. If (BTLS)
  8082. {
  8083. Store (One, ^^PCI0.SMBS.GP70)
  8084. }
  8085. }
  8086. Else
  8087. {
  8088. Store (Zero, WWLS)
  8089. Store (Zero, ^^PCI0.SMBS.GP70)
  8090. }
  8091. }
  8092.  
  8093. If (And (Arg0, 0x0200))
  8094. {
  8095. If (And (Arg0, 0x02))
  8096. {
  8097. Store (One, BWLS)
  8098. If (BTLS)
  8099. {
  8100. Store (One, ^^PCI0.SMBS.GP13)
  8101. }
  8102. }
  8103. Else
  8104. {
  8105. Store (Zero, BWLS)
  8106. Store (Zero, ^^PCI0.SMBS.GP13)
  8107. }
  8108. }
  8109.  
  8110. Return (Package (0x02)
  8111. {
  8112. Zero,
  8113. Zero
  8114. })
  8115. }
  8116. Else
  8117. {
  8118. Return (Package (0x02)
  8119. {
  8120. 0x0D,
  8121. Zero
  8122. })
  8123. }
  8124. }
  8125.  
  8126. Method (GBIF, 1, NotSerialized)
  8127. {
  8128. Store ("HP WMI Command 0x7 (BIOS Read)", Debug)
  8129. Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF)
  8130. If (LNot (ECON))
  8131. {
  8132. Store (Package (0x02)
  8133. {
  8134. 0x0D,
  8135. Zero
  8136. }, Local0)
  8137. Sleep (0x96)
  8138. Release (^^PCI0.LPC0.EC0.MUT0)
  8139. Return (Local0)
  8140. }
  8141.  
  8142. If (Arg0)
  8143. {
  8144. Store (Package (0x02)
  8145. {
  8146. 0x06,
  8147. Zero
  8148. }, Local0)
  8149. Sleep (0x96)
  8150. Release (^^PCI0.LPC0.EC0.MUT0)
  8151. Return (Local0)
  8152. }
  8153.  
  8154. If (LNot (^^PCI0.LPC0.EC0.MBTS))
  8155. {
  8156. Store (Package (0x02)
  8157. {
  8158. 0x06,
  8159. Zero
  8160. }, Local0)
  8161. Sleep (0x96)
  8162. Release (^^PCI0.LPC0.EC0.MUT0)
  8163. Return (Local0)
  8164. }
  8165.  
  8166. Store (Package (0x03)
  8167. {
  8168. Zero,
  8169. 0x80,
  8170. Buffer (0x80) {}
  8171. }, Local0)
  8172. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x18, RefOf (Local1))
  8173. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8174. One))
  8175. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8176. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x10, RefOf (Local1))
  8177. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8178. 0x03))
  8179. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8180. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x0F, RefOf (Local1))
  8181. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8182. 0x05))
  8183. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x04))
  8184. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x0C, RefOf (Local1))
  8185. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8186. 0x07))
  8187. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x06))
  8188. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x17, RefOf (Local1))
  8189. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8190. 0x09))
  8191. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x08))
  8192. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x08, RefOf (Local1))
  8193. Subtract (Local1, 0x0AAA, Local1)
  8194. Divide (Local1, 0x0A, Local2, Local1)
  8195. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8196. 0x0B))
  8197. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0A))
  8198. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x09, RefOf (Local1))
  8199. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8200. 0x0D))
  8201. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0C))
  8202. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x0A, RefOf (Local1))
  8203. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8204. 0x0F))
  8205. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0E))
  8206. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x19, RefOf (Local1))
  8207. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8208. 0x11))
  8209. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x10))
  8210. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x16, RefOf (Local1))
  8211. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8212. 0x13))
  8213. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x12))
  8214. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3F, RefOf (Local1))
  8215. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8216. 0x15))
  8217. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x14))
  8218. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3E, RefOf (Local1))
  8219. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8220. 0x17))
  8221. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x16))
  8222. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3D, RefOf (Local1))
  8223. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8224. 0x19))
  8225. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x18))
  8226. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3C, RefOf (Local1))
  8227. Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)),
  8228. 0x1B))
  8229. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x1A))
  8230. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x1C, RefOf (Local1))
  8231. Store (ITOS (ToBCD (Local1)), Local3)
  8232. Store (0x1C, Local2)
  8233. Store (Zero, Local4)
  8234. Store (SizeOf (Local3), Local1)
  8235. While (Local1)
  8236. {
  8237. GBFE (Local3, Local4, RefOf (Local5))
  8238. PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local5)
  8239. Decrement (Local1)
  8240. Increment (Local2)
  8241. Increment (Local4)
  8242. }
  8243.  
  8244. Store (0x20, Index (DerefOf (Index (Local0, 0x02)), Local2))
  8245. Increment (Local2)
  8246. ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x1B, RefOf (Local1))
  8247. And (Local1, 0x1F, Local7)
  8248. Store (ITOS (ToBCD (Local7)), Local6)
  8249. And (Local1, 0x01E0, Local7)
  8250. ShiftRight (Local7, 0x05, Local7)
  8251. Store (ITOS (ToBCD (Local7)), Local5)
  8252. ShiftRight (Local1, 0x09, Local7)
  8253. Add (Local7, 0x07BC, Local7)
  8254. Store (ITOS (ToBCD (Local7)), Local4)
  8255. Store (0x02, Local1)
  8256. Store (0x03, Local7)
  8257. While (Local1)
  8258. {
  8259. GBFE (Local5, Local7, RefOf (Local3))
  8260. PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local3)
  8261. Decrement (Local1)
  8262. Increment (Local2)
  8263. Increment (Local7)
  8264. }
  8265.  
  8266. Store ("/", Index (DerefOf (Index (Local0, 0x02)), Local2))
  8267. Increment (Local2)
  8268. Store (0x02, Local1)
  8269. Store (0x03, Local7)
  8270. While (Local1)
  8271. {
  8272. GBFE (Local6, Local7, RefOf (Local3))
  8273. PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local3)
  8274. Decrement (Local1)
  8275. Increment (Local2)
  8276. Increment (Local7)
  8277. }
  8278.  
  8279. Store ("/", Index (DerefOf (Index (Local0, 0x02)), Local2))
  8280. Increment (Local2)
  8281. Store (0x04, Local1)
  8282. Store (One, Local7)
  8283. While (Local1)
  8284. {
  8285. GBFE (Local4, Local7, RefOf (Local3))
  8286. PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local3)
  8287. Decrement (Local1)
  8288. Increment (Local2)
  8289. Increment (Local7)
  8290. }
  8291.  
  8292. Store (Zero, Index (DerefOf (Index (Local0, 0x02)), Local2))
  8293. ^^PCI0.LPC0.EC0.SMRD (0x0B, 0x16, 0x20, RefOf (Local1))
  8294. Store (SizeOf (Local1), Local3)
  8295. Store (0x2C, Local2)
  8296. Store (Zero, Local4)
  8297. While (Local3)
  8298. {
  8299. GBFE (Local1, Local4, RefOf (Local5))
  8300. PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local5)
  8301. Decrement (Local3)
  8302. Increment (Local2)
  8303. Increment (Local4)
  8304. }
  8305.  
  8306. Store (Zero, Index (DerefOf (Index (Local0, 0x02)), Local2))
  8307. Sleep (0x96)
  8308. Release (^^PCI0.LPC0.EC0.MUT0)
  8309. Return (Local0)
  8310. }
  8311.  
  8312. Method (GBBT, 0, NotSerialized)
  8313. {
  8314. Store ("HP WMI Command 0x8 (BIOS Read)", Debug)
  8315. Store (Package (0x03)
  8316. {
  8317. Zero,
  8318. 0x80,
  8319. Buffer (0x80)
  8320. {
  8321. /* 0000 */ 0x31, 0x01, 0x9B, 0x01, 0xAE, 0x01, 0x9D, 0x01,
  8322. /* 0008 */ 0xB6, 0x01, 0xB7, 0x01, 0xFF, 0xFF, 0xE6, 0x20,
  8323. /* 0010 */ 0x42, 0x21, 0x69, 0x21, 0x6A, 0x21, 0x70, 0x21,
  8324. /* 0018 */ 0x71, 0x21, 0x72, 0x21, 0x73, 0x21, 0x74, 0x21,
  8325. /* 0020 */ 0x75, 0x21, 0x76, 0x21, 0x77, 0x21, 0x78, 0x21,
  8326. /* 0028 */ 0x79, 0x21, 0x7A, 0x21, 0x7B, 0x21, 0x7C, 0x21,
  8327. /* 0030 */ 0x7D, 0x21, 0x7E, 0x21, 0x7F, 0x21, 0x80, 0x21,
  8328. /* 0038 */ 0x81, 0x21, 0x82, 0x21, 0x83, 0x21, 0x84, 0x21,
  8329. /* 0040 */ 0x85, 0x21, 0x86, 0x21, 0x87, 0x21, 0x8D, 0x21,
  8330. /* 0048 */ 0x8E, 0x21, 0x8F, 0x21, 0x90, 0x21, 0x91, 0x21,
  8331. /* 0050 */ 0x92, 0x21, 0x93, 0x21, 0x00, 0x00
  8332. }
  8333. }, Local0)
  8334. Return (Local0)
  8335. }
  8336.  
  8337. Method (GHKS, 0, NotSerialized)
  8338. {
  8339. Store ("HP WMI Command 0x9 (BIOS Read)", Debug)
  8340. Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF)
  8341. Store (Package (0x03)
  8342. {
  8343. Zero,
  8344. 0x04,
  8345. Buffer (0x04) {}
  8346. }, Local0)
  8347. Store (^^PCI0.LPC0.EC0.GSHK (), Index (DerefOf (Index (Local0, 0x02)), Zero))
  8348. Release (^^PCI0.LPC0.EC0.MUT0)
  8349. Return (Local0)
  8350. }
  8351.  
  8352. Method (SHKS, 1, NotSerialized)
  8353. {
  8354. Store ("HP WMI Command 0x9 (BIOS Write)", Debug)
  8355. Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF)
  8356. ^^PCI0.LPC0.EC0.SSHK (Arg0)
  8357. Release (^^PCI0.LPC0.EC0.MUT0)
  8358. Return (Package (0x02)
  8359. {
  8360. Zero,
  8361. Zero
  8362. })
  8363. }
  8364.  
  8365. Method (GHKF, 0, NotSerialized)
  8366. {
  8367. Store ("HP WMI Command 0xA (BIOS Read)", Debug)
  8368. Return (HKFR ())
  8369. }
  8370.  
  8371. Method (SHKF, 1, NotSerialized)
  8372. {
  8373. Store ("HP WMI Command 0xA (BIOS Write)", Debug)
  8374. And (Arg0, 0xFF, Local1)
  8375. And (Arg0, 0xFF00, Local3)
  8376. ShiftRight (Local3, 0x08, Local2)
  8377. Store (Package (0x03)
  8378. {
  8379. Zero,
  8380. 0x04,
  8381. Buffer (0x04) {}
  8382. }, Local0)
  8383. Store (Local1, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8384. Store (Local2, Index (DerefOf (Index (Local0, 0x02)), One))
  8385. If (LEqual (Arg0, 0x01AE))
  8386. {
  8387. Store (0x70, BCMD)
  8388. BSMI (Zero)
  8389. ^^PCI0.LPC0.EC0.GNSD ()
  8390. If (VGAF)
  8391. {
  8392. Store (And (NSTE, One), ^^PCI0.PB2.DVGA.LCDA)
  8393. Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.PB2.DVGA.CRTA)
  8394. Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.PB2.DVGA.TV0A)
  8395. Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.PB2.DVGA.HDTV)
  8396. Notify (^^PCI0.PB2.DVGA, 0x80)
  8397. Notify (^^PCI0.PB2.DVGA, 0x80)
  8398. }
  8399. Else
  8400. {
  8401. Store (And (NSTE, One), ^^PCI0.AGP.VGA.LCDA)
  8402. Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.AGP.VGA.CRTA)
  8403. Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.AGP.VGA.TV0A)
  8404. Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.AGP.VGA.HDTV)
  8405. Notify (^^PCI0.AGP.VGA, 0x80)
  8406. }
  8407.  
  8408. Store (NSTE, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8409. Store (CSTE, Index (DerefOf (Index (Local0, 0x02)), 0x03))
  8410. }
  8411.  
  8412. Return (Local0)
  8413. }
  8414.  
  8415. Method (HKFR, 0, NotSerialized)
  8416. {
  8417. Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF)
  8418. Store (Package (0x03)
  8419. {
  8420. Zero,
  8421. 0x04,
  8422. Buffer (0x04) {}
  8423. }, Local0)
  8424. If (ECON)
  8425. {
  8426. Store (^^PCI0.LPC0.EC0.QBHK, Local1)
  8427. }
  8428.  
  8429. Release (^^PCI0.LPC0.EC0.MUT0)
  8430. If (LEqual (Local1, 0x0D))
  8431. {
  8432. Store ("Fn+ESC Pressed", Debug)
  8433. Store (0x31, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8434. Store (One, Index (DerefOf (Index (Local0, 0x02)), One))
  8435. }
  8436.  
  8437. If (LEqual (Local1, One))
  8438. {
  8439. Store ("Fn+F1 Pressed", Debug)
  8440. Store (0x9B, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8441. Store (One, Index (DerefOf (Index (Local0, 0x02)), One))
  8442. }
  8443.  
  8444. If (LEqual (Local1, 0x04))
  8445. {
  8446. Store ("Fn+F4 Pressed", Debug)
  8447. If (LEqual (^^PCI0.LPC0.EC0.FNF4, Zero))
  8448. {
  8449. Store (0x70, BCMD)
  8450. BSMI (Zero)
  8451. ^^PCI0.LPC0.EC0.GNSD ()
  8452. If (VGAF)
  8453. {
  8454. Store (And (NSTE, One), ^^PCI0.PB2.DVGA.LCDA)
  8455. Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.PB2.DVGA.CRTA)
  8456. Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.PB2.DVGA.TV0A)
  8457. Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.PB2.DVGA.HDTV)
  8458. Store (ShiftRight (And (NSTE, 0x20), 0x05), ^^PCI0.PB2.DVGA.CV0A)
  8459. Notify (^^PCI0.PB2.DVGA, 0x80)
  8460. Notify (^^PCI0.PB2.DVGA, 0x80)
  8461. }
  8462. Else
  8463. {
  8464. Store (And (NSTE, One), ^^PCI0.AGP.VGA.LCDA)
  8465. Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.AGP.VGA.CRTA)
  8466. Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.AGP.VGA.TV0A)
  8467. Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.AGP.VGA.HDTV)
  8468. Store (ShiftRight (And (NSTE, 0x20), 0x05), ^^PCI0.AGP.VGA.CV0A)
  8469. Notify (^^PCI0.AGP.VGA, 0x80)
  8470. }
  8471.  
  8472. Store (0xAE, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8473. Store (One, Index (DerefOf (Index (Local0, 0x02)), One))
  8474. Store (NSTE, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8475. Store (CSTE, Index (DerefOf (Index (Local0, 0x02)), 0x03))
  8476. Store (One, ^^PCI0.LPC0.EC0.FNF4)
  8477. Store (0x03, ^^PCI0.LPC0.EC0.DLYT)
  8478. }
  8479. }
  8480.  
  8481. If (LEqual (Local1, 0x06))
  8482. {
  8483. Store ("Fn+F6 Pressed", Debug)
  8484. Store (0x9D, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8485. Store (One, Index (DerefOf (Index (Local0, 0x02)), One))
  8486. }
  8487.  
  8488. If (LEqual (Local1, 0x07))
  8489. {
  8490. Store ("Fn+F7 Pressed", Debug)
  8491. If (LEqual (TPOS, 0x40))
  8492. {
  8493. If (VGAF)
  8494. {
  8495. Notify (^^PCI0.PB2.DVGA.LCD, 0x87)
  8496. }
  8497. Else
  8498. {
  8499. Notify (^^PCI0.AGP.VGA.LCD, 0x87)
  8500. }
  8501. }
  8502. Else
  8503. {
  8504. ^^PCI0.BRXP (0x02)
  8505. }
  8506.  
  8507. Sleep (0x32)
  8508. Store (0xB6, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8509. Store (One, Index (DerefOf (Index (Local0, 0x02)), One))
  8510. }
  8511.  
  8512. If (LEqual (Local1, 0x08))
  8513. {
  8514. Store ("Fn+F8 Pressed", Debug)
  8515. If (LEqual (TPOS, 0x40))
  8516. {
  8517. If (VGAF)
  8518. {
  8519. Notify (^^PCI0.PB2.DVGA.LCD, 0x86)
  8520. }
  8521. Else
  8522. {
  8523. Notify (^^PCI0.AGP.VGA.LCD, 0x86)
  8524. }
  8525. }
  8526. Else
  8527. {
  8528. ^^PCI0.BRXP (One)
  8529. }
  8530.  
  8531. Sleep (0x32)
  8532. Store (0xB7, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8533. Store (One, Index (DerefOf (Index (Local0, 0x02)), One))
  8534. }
  8535.  
  8536. Return (Local0)
  8537. }
  8538.  
  8539. Method (BBST, 0, NotSerialized)
  8540. {
  8541. Store ("HP WMI Command 0xB (BIOS Read)", Debug)
  8542. Store (Package (0x03)
  8543. {
  8544. Zero,
  8545. 0x04,
  8546. Buffer (0x04)
  8547. {
  8548. 0x01, 0x00, 0x00, 0x00
  8549. }
  8550. }, Local0)
  8551. Return (Local0)
  8552. }
  8553.  
  8554. Method (SMRS, 3, NotSerialized)
  8555. {
  8556. Store ("HP WMI Command 0x0B (BIOS Write)", Debug)
  8557. Store (Zero, Local1)
  8558. Store (Zero, Local2)
  8559. If (Arg0)
  8560. {
  8561. Or (Local1, One, Local1)
  8562. }
  8563. Else
  8564. {
  8565. And (Local1, 0xFE, Local1)
  8566. }
  8567.  
  8568. If (Arg1)
  8569. {
  8570. Or (Local1, ShiftRight (And (Local1, 0x8000), 0x09), Local1)
  8571. Or (Local2, ShiftRight (And (Local2, 0x7000), 0x0C), Local2)
  8572. }
  8573. Else
  8574. {
  8575. And (Local1, 0xBF, Local1)
  8576. }
  8577.  
  8578. If (Arg2)
  8579. {
  8580. Or (Local1, 0x80, Local1)
  8581. }
  8582. Else
  8583. {
  8584. And (Local1, 0x7F, Local1)
  8585. }
  8586.  
  8587. Store (And (Local1, 0xC1), ^^PCI0.LPC0.EC0.MCER)
  8588. Store (Local2, ^^PCI0.LPC0.EC0.MCEA)
  8589. Return (Package (0x02)
  8590. {
  8591. Zero,
  8592. Zero
  8593. })
  8594. }
  8595.  
  8596. Method (GBBV, 0, NotSerialized)
  8597. {
  8598. Store ("HP WMI Command 0xC (BIOS Read)", Debug)
  8599. Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF)
  8600. Store (Package (0x03)
  8601. {
  8602. Zero,
  8603. 0x04,
  8604. Buffer (0x04) {}
  8605. }, Local0)
  8606. If (ECON)
  8607. {
  8608. Store (^^PCI0.LPC0.EC0.QBBB, Local1)
  8609. Store (Zero, ^^PCI0.LPC0.EC0.QBBB)
  8610. }
  8611.  
  8612. If (LEqual (Local1, 0x04))
  8613. {
  8614. Store (0x42, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8615. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8616. If (LEqual (CPBT, Zero))
  8617. {
  8618. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8619. }
  8620. Else
  8621. {
  8622. Store (0x02, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8623. }
  8624. }
  8625.  
  8626. If (LEqual (Local1, 0x20))
  8627. {
  8628. Store (0x8D, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8629. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8630. If (LEqual (CPBT, Zero))
  8631. {
  8632. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8633. }
  8634. Else
  8635. {
  8636. Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8637. }
  8638. }
  8639.  
  8640. If (LEqual (Local1, 0x21))
  8641. {
  8642. Store (0x8E, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8643. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8644. If (LEqual (CPBT, Zero))
  8645. {
  8646. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8647. }
  8648. Else
  8649. {
  8650. Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8651. }
  8652. }
  8653.  
  8654. If (LEqual (Local1, 0x22))
  8655. {
  8656. Store (0x8F, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8657. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8658. If (LEqual (CPBT, Zero))
  8659. {
  8660. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8661. }
  8662. Else
  8663. {
  8664. Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8665. }
  8666. }
  8667.  
  8668. If (LEqual (Local1, 0x23))
  8669. {
  8670. Store (0x90, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8671. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8672. If (LEqual (CPBT, Zero))
  8673. {
  8674. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8675. }
  8676. Else
  8677. {
  8678. Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8679. }
  8680. }
  8681.  
  8682. If (LEqual (Local1, 0x24))
  8683. {
  8684. Store (0x91, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8685. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8686. If (LEqual (CPBT, Zero))
  8687. {
  8688. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8689. }
  8690. Else
  8691. {
  8692. Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8693. }
  8694. }
  8695.  
  8696. If (LEqual (Local1, 0x25))
  8697. {
  8698. Store (0x92, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8699. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8700. If (LEqual (CPBT, Zero))
  8701. {
  8702. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8703. }
  8704. Else
  8705. {
  8706. Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8707. }
  8708. }
  8709.  
  8710. If (LEqual (Local1, 0x26))
  8711. {
  8712. Store (0x93, Index (DerefOf (Index (Local0, 0x02)), Zero))
  8713. Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One))
  8714. If (LEqual (CPBT, Zero))
  8715. {
  8716. Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8717. }
  8718. Else
  8719. {
  8720. Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02))
  8721. }
  8722. }
  8723.  
  8724. Release (^^PCI0.LPC0.EC0.MUT0)
  8725. Return (Local0)
  8726. }
  8727.  
  8728. Method (GWDD, 0, NotSerialized)
  8729. {
  8730. Store ("HP WMI Command 0xE (BIOS Read)", Debug)
  8731. Store (Zero, Local0)
  8732. Store (Buffer (0x0A)
  8733. {
  8734. /* 0000 */ 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  8735. /* 0008 */ 0x00, 0x00
  8736. }, Local2)
  8737. TRAP (One)
  8738. If (LNotEqual (WDI0, 0xFF))
  8739. {
  8740. Store (WDI0, Index (Local2, 0x02))
  8741. Store (WDI1, Index (Local2, 0x03))
  8742. Store (WDI2, Index (Local2, 0x04))
  8743. Store (WDI3, Index (Local2, 0x05))
  8744. Store (WSI0, Index (Local2, 0x06))
  8745. Store (WSI1, Index (Local2, 0x07))
  8746. Store (WSI2, Index (Local2, 0x08))
  8747. Store (WSI3, Index (Local2, 0x09))
  8748. Store (Local2, Local1)
  8749. Add (Local0, 0x0A, Local0)
  8750. }
  8751.  
  8752. Store (Package (0x03) {}, Local2)
  8753. Store (Zero, Index (Local2, Zero))
  8754. Store (Local0, Index (Local2, One))
  8755. Store (Local1, Index (Local2, 0x02))
  8756. Return (Local2)
  8757. }
  8758.  
  8759. Method (GSAS, 0, NotSerialized)
  8760. {
  8761. Store ("HP WMI Command 0x0F (BIOS Read)", Debug)
  8762. Store (Zero, Local0)
  8763. If (ECON)
  8764. {
  8765. Store (^^PCI0.LPC0.EC0.SARS, Local0)
  8766. }
  8767.  
  8768. Store (Package (0x03)
  8769. {
  8770. Zero,
  8771. 0x04,
  8772. Buffer (0x04)
  8773. {
  8774. 0x00, 0x00, 0x00, 0x00
  8775. }
  8776. }, Local1)
  8777. Store (Local0, Index (DerefOf (Index (Local1, 0x02)), Zero))
  8778. Return (Local1)
  8779. }
  8780.  
  8781. Method (GHSI, 0, NotSerialized)
  8782. {
  8783. Store ("HP WMI Command 0x10 (BIOS Read)", Debug)
  8784. Store (Buffer (0x05)
  8785. {
  8786. 0x00, 0x00, 0x00, 0x00, 0x00
  8787. }, Local0)
  8788. TRAP (0x03)
  8789. Store (SID0, Index (Local0, Zero))
  8790. Store (SID1, Index (Local0, One))
  8791. Store (SID2, Index (Local0, 0x02))
  8792. Store (SID3, Index (Local0, 0x03))
  8793. Store (SID4, Index (Local0, 0x04))
  8794. Store (Package (0x03)
  8795. {
  8796. Zero,
  8797. 0x05,
  8798. Zero
  8799. }, Local1)
  8800. Store (Local0, Index (Local1, 0x02))
  8801. Return (Local1)
  8802. }
  8803.  
  8804. Method (SHSI, 5, NotSerialized)
  8805. {
  8806. Store ("HP WMI Command 0x10 (BIOS Write)", Debug)
  8807. Store (Arg0, SID0)
  8808. Store (Arg1, SID1)
  8809. Store (Arg2, SID2)
  8810. Store (Arg3, SID3)
  8811. Store (Arg4, SID4)
  8812. TRAP (0x04)
  8813. Return (Package (0x02)
  8814. {
  8815. Zero,
  8816. Zero
  8817. })
  8818. }
  8819.  
  8820. Method (GBBS, 0, NotSerialized)
  8821. {
  8822. Store ("HP WMI Command 0x13 (BIOS Read)", Debug)
  8823. Store (Zero, Local0)
  8824. If (ECON)
  8825. {
  8826. Store (^^PCI0.LPC0.EC0.BBDA, Local0)
  8827. }
  8828.  
  8829. If (Local0)
  8830. {
  8831. Store (Package (0x03)
  8832. {
  8833. Zero,
  8834. 0x04,
  8835. Buffer (0x04)
  8836. {
  8837. 0x00, 0x00, 0x00, 0x00
  8838. }
  8839. }, Local1)
  8840. }
  8841. Else
  8842. {
  8843. Store (Package (0x03)
  8844. {
  8845. Zero,
  8846. 0x04,
  8847. Buffer (0x04)
  8848. {
  8849. 0x01, 0x00, 0x00, 0x00
  8850. }
  8851. }, Local1)
  8852. }
  8853.  
  8854. Return (Local1)
  8855. }
  8856.  
  8857. Method (SBBS, 1, NotSerialized)
  8858. {
  8859. Store ("HP WMI Command 0x13 (BIOS Write)", Debug)
  8860. Store (Arg0, Local0)
  8861. If (Local0)
  8862. {
  8863. Store (Zero, ^^PCI0.LPC0.EC0.BBDA)
  8864. }
  8865. Else
  8866. {
  8867. Store (One, ^^PCI0.LPC0.EC0.BBDA)
  8868. }
  8869.  
  8870. Return (Package (0x02)
  8871. {
  8872. Zero,
  8873. Zero
  8874. })
  8875. }
  8876.  
  8877. Mutex (CTMX, 0x00)
  8878. Method (GCTS, 0, NotSerialized)
  8879. {
  8880. }
  8881.  
  8882. Method (SCTO, 1, NotSerialized)
  8883. {
  8884. }
  8885.  
  8886. Method (SCTF, 1, NotSerialized)
  8887. {
  8888. }
  8889.  
  8890. Method (_WED, 1, NotSerialized)
  8891. {
  8892. Concatenate (WEID, WEDT, Local0)
  8893. Return (Local0)
  8894. }
  8895.  
  8896. Name (WQAE, Buffer (0x08A9)
  8897. {
  8898. /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
  8899. /* 0008 */ 0x99, 0x08, 0x00, 0x00, 0x8A, 0x3A, 0x00, 0x00,
  8900. /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
  8901. /* 0018 */ 0x98, 0x4B, 0x9C, 0x00, 0x01, 0x06, 0x18, 0x42,
  8902. /* 0020 */ 0x10, 0x13, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01,
  8903. /* 0028 */ 0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E,
  8904. /* 0030 */ 0x84, 0x1C, 0x40, 0x88, 0x59, 0x50, 0x08, 0x21,
  8905. /* 0038 */ 0x10, 0xEA, 0x4F, 0x20, 0xBF, 0x02, 0x10, 0x3A,
  8906. /* 0040 */ 0x14, 0x20, 0x53, 0x80, 0x41, 0x01, 0x4E, 0x11,
  8907. /* 0048 */ 0x44, 0xD0, 0xAB, 0x00, 0x9B, 0x02, 0x4C, 0x0A,
  8908. /* 0050 */ 0xB0, 0x28, 0x40, 0xBB, 0x00, 0xCB, 0x02, 0x74,
  8909. /* 0058 */ 0x0B, 0x90, 0x0E, 0x4B, 0x44, 0x82, 0xA3, 0xC4,
  8910. /* 0060 */ 0x80, 0xA3, 0x74, 0x62, 0x0B, 0x37, 0x6C, 0xF0,
  8911. /* 0068 */ 0x42, 0x51, 0x34, 0x83, 0x28, 0x09, 0x2A, 0x17,
  8912. /* 0070 */ 0xE0, 0x1B, 0x41, 0xE0, 0xE5, 0x0A, 0x90, 0x3C,
  8913. /* 0078 */ 0x01, 0x69, 0x16, 0x60, 0x58, 0x80, 0x75, 0x01,
  8914. /* 0080 */ 0xB2, 0x87, 0x40, 0xA5, 0x0E, 0x01, 0x25, 0x67,
  8915. /* 0088 */ 0x08, 0xA8, 0x01, 0xB4, 0x3A, 0x01, 0xE1, 0x57,
  8916. /* 0090 */ 0x3A, 0x25, 0x24, 0x41, 0x38, 0x63, 0x15, 0x8F,
  8917. /* 0098 */ 0xAF, 0x59, 0x34, 0x3D, 0x27, 0x39, 0xC7, 0x90,
  8918. /* 00A0 */ 0xE3, 0x71, 0xA1, 0x07, 0xC1, 0x05, 0x78, 0x18,
  8919. /* 00A8 */ 0x06, 0x1D, 0xB2, 0x22, 0x6B, 0x80, 0xC1, 0x58,
  8920. /* 00B0 */ 0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9,
  8921. /* 00B8 */ 0x80, 0x0C, 0x51, 0x12, 0x1C, 0x6A, 0xD4, 0x96,
  8922. /* 00C0 */ 0x28, 0xC0, 0xFC, 0x38, 0x34, 0xBB, 0xB6, 0xC7,
  8923. /* 00C8 */ 0x42, 0x20, 0x99, 0xB4, 0xA1, 0xA0, 0xA4, 0x40,
  8924. /* 00D0 */ 0x68, 0x6C, 0x67, 0xEA, 0x19, 0x45, 0x3C, 0x52,
  8925. /* 00D8 */ 0xC3, 0x24, 0xF0, 0x28, 0x22, 0x1B, 0x8D, 0x43,
  8926. /* 00E0 */ 0x63, 0x87, 0xE1, 0x61, 0x06, 0x3B, 0x88, 0xC3,
  8927. /* 00E8 */ 0x38, 0xE6, 0xC8, 0x09, 0x3C, 0xA1, 0x23, 0x3D,
  8928. /* 00F0 */ 0xF2, 0xC2, 0xE6, 0x29, 0xD4, 0x18, 0xCD, 0x41,
  8929. /* 00F8 */ 0x11, 0xB8, 0xD0, 0x18, 0x19, 0x10, 0xF2, 0x3C,
  8930. /* 0100 */ 0x7E, 0x8D, 0xC4, 0x04, 0x76, 0x2F, 0xC0, 0x1A,
  8931. /* 0108 */ 0xA6, 0x60, 0x1B, 0x9B, 0x98, 0xFE, 0xFF, 0x10,
  8932. /* 0110 */ 0x47, 0x1E, 0xA3, 0xAD, 0xB9, 0x0B, 0x29, 0x4C,
  8933. /* 0118 */ 0x8C, 0x28, 0xC1, 0xE2, 0x55, 0x3C, 0x0D, 0xA1,
  8934. /* 0120 */ 0x3C, 0x29, 0x84, 0x8A, 0x54, 0x19, 0x8A, 0x86,
  8935. /* 0128 */ 0x1E, 0xA5, 0x42, 0x01, 0xCE, 0xE6, 0x21, 0xDC,
  8936. /* 0130 */ 0x1A, 0x41, 0x85, 0x10, 0x2B, 0x52, 0xAC, 0xF6,
  8937. /* 0138 */ 0x07, 0x41, 0x42, 0x2E, 0x5B, 0xC7, 0x07, 0x47,
  8938. /* 0140 */ 0x1A, 0x0D, 0xEA, 0x50, 0xE0, 0xB1, 0x7B, 0xDC,
  8939. /* 0148 */ 0xCF, 0x02, 0x3E, 0x08, 0x9C, 0x5B, 0x90, 0xA3,
  8940. /* 0150 */ 0x3B, 0x8B, 0x47, 0x85, 0x83, 0xF6, 0xF0, 0xD8,
  8941. /* 0158 */ 0x6D, 0xC0, 0x67, 0x08, 0x9F, 0x02, 0xF0, 0xAE,
  8942. /* 0160 */ 0x01, 0x35, 0xFD, 0x83, 0x67, 0x82, 0xE0, 0x50,
  8943. /* 0168 */ 0x43, 0xF4, 0xA8, 0xC3, 0x9D, 0xC0, 0x21, 0x32,
  8944. /* 0170 */ 0x40, 0x4F, 0xEA, 0xB8, 0xB1, 0x83, 0x3B, 0x99,
  8945. /* 0178 */ 0x83, 0x7E, 0x6F, 0x68, 0xF6, 0xC6, 0x40, 0x08,
  8946. /* 0180 */ 0x8E, 0xC7, 0x97, 0x05, 0x36, 0xE1, 0x04, 0x96,
  8947. /* 0188 */ 0x3F, 0x08, 0xD4, 0xC8, 0x0C, 0xED, 0x51, 0x9E,
  8948. /* 0190 */ 0x56, 0xCC, 0x90, 0xCF, 0x0C, 0x26, 0xB0, 0x58,
  8949. /* 0198 */ 0x08, 0x29, 0x80, 0xD0, 0x78, 0xC0, 0x7F, 0x03,
  8950. /* 01A0 */ 0x78, 0xC0, 0xF0, 0xCD, 0xC0, 0xF3, 0x35, 0xC1,
  8951. /* 01A8 */ 0xB0, 0x10, 0x32, 0xB2, 0x0A, 0x8F, 0x87, 0x8E,
  8952. /* 01B0 */ 0xC2, 0xD7, 0x83, 0xC3, 0x39, 0xAD, 0x78, 0x26,
  8953. /* 01B8 */ 0x18, 0x0E, 0x42, 0x27, 0x09, 0x8B, 0x1A, 0x36,
  8954. /* 01C0 */ 0x3D, 0x39, 0xF0, 0x43, 0x03, 0xBB, 0x19, 0x9C,
  8955. /* 01C8 */ 0xC1, 0x23, 0x80, 0x47, 0x72, 0x42, 0xFE, 0x98,
  8956. /* 01D0 */ 0x78, 0x60, 0xF0, 0x01, 0xF1, 0xDE, 0xA7, 0x4C,
  8957. /* 01D8 */ 0x46, 0x70, 0xA6, 0x06, 0xF4, 0x71, 0xC0, 0xFF,
  8958. /* 01E0 */ 0xFF, 0xA1, 0xF0, 0x21, 0x7A, 0x7C, 0xA7, 0x7C,
  8959. /* 01E8 */ 0xBC, 0x96, 0x00, 0x21, 0x59, 0xE3, 0x84, 0x7E,
  8960. /* 01F0 */ 0x87, 0xF0, 0xF1, 0xC3, 0x47, 0x16, 0x47, 0x84,
  8961. /* 01F8 */ 0x90, 0x93, 0x53, 0x00, 0x1A, 0xF8, 0x74, 0xCF,
  8962. /* 0200 */ 0x2E, 0xC2, 0xE9, 0x7A, 0x52, 0x0E, 0x34, 0x0C,
  8963. /* 0208 */ 0x3A, 0x4E, 0x70, 0x9C, 0x07, 0xC0, 0x31, 0x4E,
  8964. /* 0210 */ 0xF8, 0xE7, 0x02, 0xF8, 0x03, 0xE4, 0xA7, 0x8C,
  8965. /* 0218 */ 0x57, 0x8C, 0x04, 0x8E, 0x39, 0x42, 0xF4, 0xB9,
  8966. /* 0220 */ 0xC6, 0x23, 0xC4, 0xC2, 0x3F, 0x55, 0x14, 0x3E,
  8967. /* 0228 */ 0x10, 0x32, 0x46, 0x70, 0x01, 0x7A, 0x8C, 0xC0,
  8968. /* 0230 */ 0x37, 0xE0, 0x18, 0xD1, 0x47, 0x09, 0xAE, 0xFE,
  8969. /* 0238 */ 0xA0, 0x41, 0x07, 0x88, 0xFB, 0xFF, 0x0F, 0x10,
  8970. /* 0240 */ 0x3E, 0xA8, 0x07, 0x08, 0x7C, 0xA3, 0x1F, 0x3D,
  8971. /* 0248 */ 0xD0, 0xE3, 0xB2, 0xE8, 0xF3, 0x80, 0x8C, 0x9F,
  8972. /* 0250 */ 0x68, 0x34, 0x2F, 0x7E, 0x3A, 0xE0, 0x87, 0x0F,
  8973. /* 0258 */ 0xF0, 0x80, 0x7A, 0x48, 0x38, 0x50, 0xCC, 0xB4,
  8974. /* 0260 */ 0x39, 0xE8, 0xB3, 0xCB, 0xA1, 0x63, 0x87, 0x0B,
  8975. /* 0268 */ 0xFE, 0x13, 0x08, 0xB8, 0xE4, 0x1D, 0xC2, 0x40,
  8976. /* 0270 */ 0x31, 0x62, 0xFC, 0x39, 0xC8, 0xA7, 0x30, 0xF0,
  8977. /* 0278 */ 0xFF, 0xFF, 0x4F, 0x61, 0xB8, 0x11, 0xF0, 0x20,
  8978. /* 0280 */ 0xAF, 0x05, 0x9F, 0xB6, 0xA8, 0x74, 0x18, 0xD4,
  8979. /* 0288 */ 0x81, 0x0B, 0x30, 0x09, 0x1A, 0xE1, 0x59, 0xA2,
  8980. /* 0290 */ 0x36, 0x08, 0x01, 0xBF, 0x4D, 0xBC, 0x6D, 0xF9,
  8981. /* 0298 */ 0x16, 0x10, 0xE7, 0xC8, 0x7B, 0x3B, 0x70, 0x11,
  8982. /* 02A0 */ 0x8C, 0x08, 0xA7, 0x1D, 0xCA, 0x63, 0x88, 0x18,
  8983. /* 02A8 */ 0x23, 0xCA, 0xE3, 0x96, 0x51, 0xDE, 0xB6, 0x5E,
  8984. /* 02B0 */ 0x00, 0xE2, 0x9D, 0xE5, 0xF3, 0x96, 0x31, 0x82,
  8985. /* 02B8 */ 0x47, 0x7E, 0xE0, 0x62, 0x62, 0xDF, 0x13, 0xFA,
  8986. /* 02C0 */ 0xB9, 0xF9, 0xC0, 0x05, 0x38, 0xFB, 0xFF, 0x1F,
  8987. /* 02C8 */ 0xB8, 0x00, 0x0E, 0x05, 0x3D, 0x0C, 0xA1, 0x87,
  8988. /* 02D0 */ 0xE1, 0xA9, 0x9C, 0xCB, 0x13, 0xE5, 0xA9, 0x44,
  8989. /* 02D8 */ 0x8C, 0x1A, 0x26, 0xEA, 0x33, 0x94, 0x2F, 0x1A,
  8990. /* 02E0 */ 0x3E, 0x10, 0x81, 0xEF, 0xCC, 0x05, 0xFC, 0xFE,
  8991. /* 02E8 */ 0xFF, 0x07, 0x22, 0x38, 0x02, 0xCF, 0x34, 0xA0,
  8992. /* 02F0 */ 0xF4, 0x39, 0x03, 0x81, 0x9C, 0x8A, 0x0F, 0x35,
  8993. /* 02F8 */ 0xC0, 0x48, 0xF4, 0xAB, 0xC1, 0x27, 0x1A, 0x2A,
  8994. /* 0300 */ 0x13, 0x06, 0x75, 0xA8, 0x01, 0x4C, 0x5E, 0x61,
  8995. /* 0308 */ 0x9E, 0x46, 0xCF, 0xF9, 0x59, 0xC6, 0xA7, 0x1A,
  8996. /* 0310 */ 0x1F, 0x4A, 0x8D, 0x63, 0x88, 0x97, 0x99, 0x87,
  8997. /* 0318 */ 0x1A, 0x1F, 0x0B, 0x5E, 0x49, 0x7D, 0xA8, 0x31,
  8998. /* 0320 */ 0x54, 0x9C, 0x87, 0x1A, 0x9F, 0x48, 0x03, 0x45,
  8999. /* 0328 */ 0x7D, 0xB3, 0x79, 0xB6, 0x31, 0x7A, 0x7C, 0xDF,
  9000. /* 0330 */ 0x50, 0x0D, 0xF1, 0x50, 0xC3, 0x84, 0xBD, 0x23,
  9001. /* 0338 */ 0xF4, 0xC1, 0xF5, 0xA1, 0x06, 0x1C, 0xFF, 0xFF,
  9002. /* 0340 */ 0x43, 0x0D, 0xC0, 0xFF, 0xFF, 0xFF, 0xA1, 0x06,
  9003. /* 0348 */ 0x70, 0x74, 0x34, 0x80, 0x73, 0x64, 0xC4, 0x1D,
  9004. /* 0350 */ 0x0D, 0xC0, 0x75, 0x28, 0x05, 0x0E, 0x47, 0x03,
  9005. /* 0358 */ 0xE0, 0x71, 0x14, 0x02, 0xF3, 0x85, 0xC6, 0x47,
  9006. /* 0360 */ 0x21, 0x60, 0xF1, 0xFF, 0x3F, 0x0A, 0xE1, 0x64,
  9007. /* 0368 */ 0x9F, 0x83, 0x50, 0x42, 0x8F, 0x42, 0x80, 0x54,
  9008. /* 0370 */ 0xC8, 0xA7, 0x88, 0x67, 0x1F, 0x5F, 0x7E, 0x1E,
  9009. /* 0378 */ 0x08, 0x22, 0xBC, 0xE6, 0xFB, 0x14, 0xE4, 0x43,
  9010. /* 0380 */ 0xBE, 0x8F, 0x42, 0x0C, 0xC6, 0x50, 0xBE, 0x06,
  9011. /* 0388 */ 0xF9, 0x28, 0xC4, 0xA0, 0x5E, 0x83, 0x7C, 0xDF,
  9012. /* 0390 */ 0x37, 0xC8, 0x91, 0x18, 0xFB, 0x99, 0xC0, 0x47,
  9013. /* 0398 */ 0x21, 0x26, 0xED, 0x28, 0x04, 0x28, 0xFC, 0xFF,
  9014. /* 03A0 */ 0x1F, 0x85, 0x00, 0xFE, 0xFF, 0xFF, 0x8F, 0x42,
  9015. /* 03A8 */ 0x80, 0xB3, 0x00, 0x47, 0x03, 0xD0, 0x4D, 0xEB,
  9016. /* 03B0 */ 0x51, 0x08, 0xBC, 0x77, 0x96, 0xD3, 0x3E, 0x01,
  9017. /* 03B8 */ 0x9F, 0x85, 0x00, 0xB3, 0xFF, 0xFF, 0xB3, 0x10,
  9018. /* 03C0 */ 0x30, 0x3B, 0x0A, 0x45, 0x3D, 0xE8, 0x57, 0xA1,
  9019. /* 03C8 */ 0x27, 0x80, 0x17, 0x80, 0x18, 0x61, 0xDE, 0x81,
  9020. /* 03D0 */ 0x5E, 0x32, 0xD9, 0x5D, 0xDC, 0x38, 0x4F, 0x2E,
  9021. /* 03D8 */ 0xA7, 0x6D, 0x94, 0x97, 0x20, 0x1F, 0x28, 0x9E,
  9022. /* 03E0 */ 0x85, 0x0C, 0xF5, 0x2E, 0x14, 0xF4, 0x8D, 0xDC,
  9023. /* 03E8 */ 0xA3, 0x8C, 0x19, 0x3F, 0xC4, 0xF3, 0x90, 0x21,
  9024. /* 03F0 */ 0x9E, 0x85, 0x00, 0x76, 0xFD, 0xFF, 0xCF, 0x42,
  9025. /* 03F8 */ 0x00, 0xFF, 0xFF, 0xFF, 0x47, 0x03, 0xF8, 0x2F,
  9026. /* 0400 */ 0x00, 0x9F, 0x85, 0x80, 0xE7, 0x09, 0xE0, 0x41,
  9027. /* 0408 */ 0xDB, 0x67, 0x21, 0x80, 0x33, 0x87, 0xCB, 0xF3,
  9028. /* 0410 */ 0x0F, 0x7A, 0x60, 0xEF, 0x11, 0x9E, 0xF5, 0x71,
  9029. /* 0418 */ 0xBF, 0x5E, 0x7A, 0xE0, 0x0F, 0x05, 0xCF, 0x42,
  9030. /* 0420 */ 0x0C, 0xEB, 0x98, 0x7C, 0x16, 0x62, 0x10, 0x2F,
  9031. /* 0428 */ 0x9A, 0x86, 0x78, 0xE1, 0xF4, 0x61, 0xC0, 0xFF,
  9032. /* 0430 */ 0x7F, 0xBC, 0xC0, 0xAF, 0x9C, 0x06, 0x0A, 0x12,
  9033. /* 0438 */ 0xE8, 0x59, 0x08, 0x60, 0xFC, 0xFF, 0xFF, 0x2C,
  9034. /* 0440 */ 0x04, 0x90, 0x71, 0x8D, 0x3A, 0x0B, 0x01, 0xCB,
  9035. /* 0448 */ 0x63, 0x0C, 0x3B, 0xAD, 0x24, 0xF8, 0xFF, 0x3F,
  9036. /* 0450 */ 0x0B, 0x01, 0x9F, 0x5C, 0x46, 0x0E, 0x42, 0x98,
  9037. /* 0458 */ 0x88, 0x6F, 0x05, 0x1F, 0x33, 0x01, 0xA5, 0xE7,
  9038. /* 0460 */ 0xA0, 0x17, 0x77, 0x63, 0x04, 0x7E, 0x91, 0x78,
  9039. /* 0468 */ 0xCC, 0x64, 0x47, 0x4D, 0xC3, 0x3C, 0x0B, 0x19,
  9040. /* 0470 */ 0xEF, 0x30, 0xCE, 0xE0, 0x09, 0xDE, 0x93, 0x7F,
  9041. /* 0478 */ 0x16, 0x62, 0x60, 0xC7, 0x18, 0xEC, 0x51, 0xC8,
  9042. /* 0480 */ 0xA0, 0x06, 0x8F, 0x1D, 0x22, 0x4C, 0xA0, 0x67,
  9043. /* 0488 */ 0x21, 0x16, 0x6A, 0xDC, 0x3A, 0x7F, 0xF8, 0x2C,
  9044. /* 0490 */ 0x04, 0xBC, 0xFF, 0xFF, 0x67, 0x21, 0xC0, 0xD3,
  9045. /* 0498 */ 0x61, 0xC3, 0x67, 0x0D, 0xF0, 0x0C, 0xDF, 0xA3,
  9046. /* 04A0 */ 0x3A, 0x87, 0xC7, 0x63, 0xE0, 0x92, 0x55, 0xC7,
  9047. /* 04A8 */ 0x09, 0x83, 0xE5, 0x5E, 0xA7, 0x6C, 0x9C, 0x61,
  9048. /* 04B0 */ 0xE8, 0x20, 0xAC, 0x0E, 0x48, 0xC3, 0xC1, 0xDC,
  9049. /* 04B8 */ 0x43, 0x0E, 0xE2, 0x7C, 0xD8, 0x40, 0xAD, 0x08,
  9050. /* 04C0 */ 0x4E, 0xC7, 0x24, 0x0F, 0xDA, 0x5A, 0x28, 0xA4,
  9051. /* 04C8 */ 0x80, 0x46, 0x03, 0x32, 0xBC, 0x33, 0x9F, 0x96,
  9052. /* 04D0 */ 0x28, 0x88, 0x01, 0x7D, 0x02, 0xB2, 0x8D, 0x73,
  9053. /* 04D8 */ 0x00, 0x6A, 0x2F, 0x9A, 0x02, 0x39, 0xDA, 0x60,
  9054. /* 04E0 */ 0xF4, 0x5F, 0x16, 0xE8, 0x6C, 0x7C, 0x0D, 0xE0,
  9055. /* 04E8 */ 0x1A, 0x20, 0x74, 0x30, 0x30, 0xB4, 0xD5, 0xDC,
  9056. /* 04F0 */ 0x62, 0x50, 0x60, 0xC6, 0x7F, 0x70, 0x31, 0x81,
  9057. /* 04F8 */ 0x8F, 0x2E, 0xF8, 0xB3, 0x00, 0xEE, 0xFF, 0x3F,
  9058. /* 0500 */ 0x5C, 0x8F, 0xF6, 0x5D, 0xA0, 0xEA, 0xC9, 0xEA,
  9059. /* 0508 */ 0x8A, 0x60, 0x75, 0x97, 0x17, 0x08, 0x33, 0x32,
  9060. /* 0510 */ 0x41, 0x7D, 0x07, 0x02, 0x50, 0x00, 0xF9, 0x0E,
  9061. /* 0518 */ 0xE0, 0xA3, 0xD3, 0x73, 0x00, 0x9B, 0x48, 0x88,
  9062. /* 0520 */ 0x30, 0xD1, 0x8C, 0x8E, 0x98, 0x30, 0x2A, 0xFA,
  9063. /* 0528 */ 0x84, 0x29, 0x88, 0x27, 0xEC, 0x58, 0x13, 0x46,
  9064. /* 0530 */ 0xCF, 0xC4, 0x77, 0x1B, 0x36, 0x62, 0x4C, 0x88,
  9065. /* 0538 */ 0xDB, 0x06, 0xB4, 0x09, 0x06, 0xF5, 0x3D, 0x08,
  9066. /* 0540 */ 0xD6, 0x90, 0xF9, 0x58, 0x7C, 0x67, 0xC0, 0x4D,
  9067. /* 0548 */ 0x19, 0x8C, 0x73, 0x62, 0xD7, 0x04, 0x0B, 0x9C,
  9068. /* 0550 */ 0x33, 0xC8, 0xE1, 0x31, 0xD7, 0x2F, 0x7E, 0x5B,
  9069. /* 0558 */ 0xF2, 0xE8, 0xF8, 0x41, 0xC1, 0x37, 0x1C, 0x86,
  9070. /* 0560 */ 0xFD, 0x30, 0xE6, 0x19, 0xBD, 0x8A, 0xF9, 0xE6,
  9071. /* 0568 */ 0x86, 0x81, 0xF5, 0x78, 0x39, 0xAC, 0xD1, 0xC2,
  9072. /* 0570 */ 0x1E, 0xDA, 0xAB, 0x87, 0xCF, 0x2D, 0x3E, 0x4F,
  9073. /* 0578 */ 0x18, 0x23, 0xAC, 0x2F, 0x2C, 0xE0, 0x00, 0xFC,
  9074. /* 0580 */ 0xFF, 0xBF, 0x5A, 0xC1, 0xBE, 0x6B, 0x80, 0xE7,
  9075. /* 0588 */ 0x26, 0xE4, 0xBB, 0x06, 0xC0, 0xDA, 0xFF, 0xFF,
  9076. /* 0590 */ 0x5D, 0x03, 0xFE, 0x35, 0xC1, 0x77, 0x0D, 0xE0,
  9077. /* 0598 */ 0x3D, 0x74, 0xDF, 0x35, 0x80, 0x6B, 0xF6, 0xBB,
  9078. /* 05A0 */ 0x06, 0xEA, 0x18, 0x60, 0x85, 0x77, 0x0D, 0x68,
  9079. /* 05A8 */ 0xB7, 0xB4, 0x57, 0xB4, 0x87, 0x2A, 0x6B, 0xBA,
  9080. /* 05B0 */ 0x6C, 0xA0, 0xD4, 0x5C, 0x36, 0x00, 0x6D, 0xFF,
  9081. /* 05B8 */ 0xFF, 0xCB, 0x06, 0xB0, 0x91, 0x32, 0x61, 0x54,
  9082. /* 05C0 */ 0xF8, 0x09, 0x53, 0x10, 0x4F, 0xD8, 0xC1, 0x2E,
  9083. /* 05C8 */ 0x1B, 0xA0, 0x88, 0x71, 0xD9, 0x00, 0xFD, 0xD8,
  9084. /* 05D0 */ 0x5E, 0x36, 0x80, 0xC1, 0x3D, 0x81, 0xDF, 0x36,
  9085. /* 05D8 */ 0x80, 0x37, 0xA4, 0x6F, 0x1B, 0xC0, 0xF4, 0xFF,
  9086. /* 05E0 */ 0x0F, 0x31, 0xFF, 0x6D, 0x03, 0xC5, 0x61, 0x95,
  9087. /* 05E8 */ 0xB7, 0x0D, 0x88, 0x87, 0x77, 0x46, 0x60, 0x55,
  9088. /* 05F0 */ 0xD7, 0x0D, 0x94, 0x9E, 0xEB, 0x06, 0x40, 0x02,
  9089. /* 05F8 */ 0x31, 0x13, 0x46, 0xC5, 0x9F, 0x30, 0x05, 0xF1,
  9090. /* 0600 */ 0x84, 0x1D, 0xED, 0xBA, 0x01, 0x8A, 0x20, 0xD7,
  9091. /* 0608 */ 0x0D, 0xD0, 0xCF, 0xEB, 0x94, 0xC1, 0xFA, 0xFF,
  9092. /* 0610 */ 0xBF, 0x6E, 0x60, 0x2F, 0x0A, 0x98, 0xFB, 0x06,
  9093. /* 0618 */ 0xF0, 0x86, 0xE5, 0xF7, 0x0D, 0xC0, 0xC7, 0xE5,
  9094. /* 0620 */ 0x1B, 0x73, 0xDF, 0x00, 0x6C, 0xFE, 0xFF, 0xEF,
  9095. /* 0628 */ 0x1B, 0x00, 0x13, 0x2E, 0x0A, 0xB8, 0xFB, 0x06,
  9096. /* 0630 */ 0xF0, 0xBE, 0x48, 0xFB, 0xBE, 0x01, 0x5C, 0x83,
  9097. /* 0638 */ 0x49, 0xF8, 0xFF, 0xDF, 0xF5, 0xE8, 0x0B, 0x40,
  9098. /* 0640 */ 0x51, 0x60, 0x50, 0x43, 0xF2, 0x99, 0x00, 0x3F,
  9099. /* 0648 */ 0xBA, 0x83, 0x3B, 0xA6, 0xE0, 0x4C, 0x12, 0x1C,
  9100. /* 0650 */ 0x6A, 0xE0, 0xBE, 0x02, 0x3C, 0xCD, 0x9F, 0xD6,
  9101. /* 0658 */ 0x7B, 0xBD, 0xE7, 0xF1, 0x24, 0x10, 0x92, 0x1D,
  9102. /* 0660 */ 0x61, 0x7C, 0x6C, 0x43, 0x9C, 0x0C, 0xC8, 0x41,
  9103. /* 0668 */ 0xDC, 0x47, 0xF7, 0x88, 0xEF, 0xE1, 0x86, 0x49,
  9104. /* 0670 */ 0xE0, 0x21, 0x33, 0x34, 0x0E, 0x8D, 0x1D, 0x86,
  9105. /* 0678 */ 0xEF, 0x02, 0xC1, 0x0E, 0xE2, 0x30, 0xCE, 0xD7,
  9106. /* 0680 */ 0x04, 0x9E, 0xD0, 0x83, 0xC0, 0x7B, 0xF9, 0xA3,
  9107. /* 0688 */ 0x41, 0xF1, 0x77, 0x03, 0x4A, 0x60, 0xB8, 0xD0,
  9108. /* 0690 */ 0x98, 0x91, 0xFA, 0x6C, 0xFF, 0x8E, 0x70, 0x24,
  9109. /* 0698 */ 0x26, 0xB0, 0x7B, 0x48, 0x59, 0x13, 0xA0, 0xF1,
  9110. /* 06A0 */ 0x96, 0x43, 0x20, 0x7A, 0xC3, 0x91, 0x2D, 0x14,
  9111. /* 06A8 */ 0xCD, 0x2D, 0xCA, 0xFB, 0x42, 0x14, 0x3B, 0x43,
  9112. /* 06B0 */ 0x10, 0x46, 0x94, 0x60, 0x41, 0x9E, 0xD6, 0x62,
  9113. /* 06B8 */ 0x45, 0x79, 0x66, 0x37, 0x42, 0xC4, 0x10, 0xAF,
  9114. /* 06C0 */ 0x0C, 0x81, 0x5E, 0x12, 0xC2, 0x07, 0x79, 0xEC,
  9115. /* 06C8 */ 0x89, 0xD3, 0xFE, 0x20, 0x88, 0xF8, 0x17, 0x82,
  9116. /* 06D0 */ 0x3C, 0x80, 0x28, 0xD2, 0x68, 0x50, 0xE7, 0x06,
  9117. /* 06D8 */ 0x8F, 0xDD, 0x87, 0x10, 0x5F, 0xFE, 0x7D, 0xB8,
  9118. /* 06E0 */ 0xF7, 0xE8, 0x0E, 0xEE, 0x45, 0xFE, 0xA0, 0x3D,
  9119. /* 06E8 */ 0x3C, 0x76, 0xC2, 0xF0, 0x41, 0x03, 0x8E, 0x6B,
  9120. /* 06F0 */ 0x40, 0x4D, 0xFF, 0x19, 0x01, 0x2C, 0x97, 0x7F,
  9121. /* 06F8 */ 0xF8, 0xE3, 0xF1, 0x3D, 0xC1, 0xF3, 0x39, 0xE1,
  9122. /* 0700 */ 0x04, 0x96, 0x3F, 0x08, 0xD4, 0x71, 0x84, 0xCF,
  9123. /* 0708 */ 0xF3, 0x85, 0xC3, 0x90, 0xCF, 0x02, 0x87, 0xC5,
  9124. /* 0710 */ 0xC4, 0x0A, 0xF8, 0xFF, 0x9F, 0x4C, 0xD8, 0x78,
  9125. /* 0718 */ 0xC0, 0x7F, 0x0F, 0x79, 0xFD, 0xF7, 0xCD, 0xC0,
  9126. /* 0720 */ 0xF3, 0x35, 0xC1, 0x88, 0x10, 0x72, 0x32, 0x1E,
  9127. /* 0728 */ 0x34, 0xE8, 0xD9, 0xF8, 0x80, 0xE1, 0xEB, 0x09,
  9128. /* 0730 */ 0x3B, 0x77, 0x70, 0x51, 0xE7, 0x0E, 0xD4, 0xD1,
  9129. /* 0738 */ 0xC1, 0xA7, 0x06, 0x76, 0xB3, 0xC1, 0x1C, 0xB7,
  9130. /* 0740 */ 0xF9, 0x59, 0x03, 0xFC, 0x23, 0x84, 0x7F, 0x7B,
  9131. /* 0748 */ 0xF0, 0xBC, 0x7C, 0x65, 0x78, 0x75, 0x48, 0xE0,
  9132. /* 0750 */ 0x90, 0x23, 0x44, 0x8F, 0xCB, 0x23, 0xC4, 0x9C,
  9133. /* 0758 */ 0x6F, 0x30, 0x43, 0x04, 0xD7, 0x59, 0x00, 0x1C,
  9134. /* 0760 */ 0x43, 0x04, 0x3E, 0x67, 0x4C, 0x9F, 0x71, 0x60,
  9135. /* 0768 */ 0xFE, 0xFF, 0xCF, 0x38, 0xEC, 0xD2, 0xC3, 0x07,
  9136. /* 0770 */ 0x6A, 0x78, 0x13, 0xF8, 0xFE, 0x8C, 0x3B, 0xD2,
  9137. /* 0778 */ 0x18, 0x9C, 0x1F, 0x33, 0x1E, 0x76, 0x18, 0xF8,
  9138. /* 0780 */ 0xFB, 0x8E, 0x67, 0x70, 0x34, 0x3E, 0xA0, 0x18,
  9139. /* 0788 */ 0x21, 0xF8, 0x73, 0xC9, 0x73, 0x8A, 0x35, 0x0F,
  9140. /* 0790 */ 0x52, 0x33, 0x7A, 0x67, 0x38, 0x04, 0x76, 0xB3,
  9141. /* 0798 */ 0xC2, 0x1D, 0x38, 0x3C, 0x04, 0x3E, 0x80, 0x56,
  9142. /* 07A0 */ 0x27, 0x47, 0x4E, 0x3F, 0xA7, 0x84, 0x1B, 0x3E,
  9143. /* 07A8 */ 0xBF, 0x0A, 0x60, 0x0E, 0x41, 0x38, 0x85, 0x36,
  9144. /* 07B0 */ 0x7D, 0x6A, 0x34, 0x6A, 0xD5, 0xA0, 0x4C, 0x8D,
  9145. /* 07B8 */ 0x32, 0x0D, 0x6A, 0xF5, 0xA9, 0xD4, 0x98, 0xB1,
  9146. /* 07C0 */ 0x0B, 0x8B, 0x03, 0xBE, 0x02, 0x74, 0x1C, 0xB0,
  9147. /* 07C8 */ 0x3C, 0x0A, 0x1D, 0xC1, 0xC8, 0x9B, 0x40, 0x20,
  9148. /* 07D0 */ 0x0E, 0x0B, 0x42, 0x23, 0xBD, 0x71, 0x04, 0x62,
  9149. /* 07D8 */ 0xC9, 0xEF, 0x2F, 0x81, 0x58, 0xEE, 0x03, 0x45,
  9150. /* 07E0 */ 0x20, 0x0E, 0x68, 0x02, 0x9C, 0xAA, 0x00, 0xA7,
  9151. /* 07E8 */ 0xAF, 0x01, 0x81, 0x38, 0x32, 0x08, 0x15, 0xFA,
  9152. /* 07F0 */ 0x35, 0x13, 0x88, 0x63, 0x82, 0xD0, 0x50, 0x3E,
  9153. /* 07F8 */ 0x40, 0x98, 0xF4, 0x17, 0x80, 0x00, 0x89, 0x11,
  9154. /* 0800 */ 0x10, 0x16, 0xEE, 0xE5, 0x20, 0x10, 0x4B, 0x7B,
  9155. /* 0808 */ 0x2D, 0x08, 0xC4, 0x42, 0xAC, 0x80, 0xB0, 0xB8,
  9156. /* 0810 */ 0x20, 0x34, 0x9C, 0x16, 0x10, 0x26, 0xC9, 0x0C,
  9157. /* 0818 */ 0x08, 0x0B, 0x04, 0x42, 0xE5, 0x3F, 0xD3, 0x04,
  9158. /* 0820 */ 0x62, 0x91, 0x6E, 0x00, 0xE9, 0xBA, 0x05, 0xE2,
  9159. /* 0828 */ 0x20, 0x7A, 0x40, 0x98, 0x0C, 0x3F, 0x20, 0x2C,
  9160. /* 0830 */ 0x34, 0x08, 0x8D, 0xF6, 0x6C, 0x10, 0x20, 0x31,
  9161. /* 0838 */ 0x04, 0xC2, 0xE2, 0x3B, 0x02, 0x61, 0xE2, 0xDF,
  9162. /* 0840 */ 0x44, 0x02, 0x71, 0x4A, 0x4B, 0x10, 0x37, 0xA5,
  9163. /* 0848 */ 0x01, 0x06, 0x11, 0x90, 0x93, 0x6A, 0x02, 0x62,
  9164. /* 0850 */ 0xB9, 0x41, 0x34, 0x24, 0xF2, 0xB0, 0x10, 0x90,
  9165. /* 0858 */ 0x93, 0x82, 0x68, 0xC0, 0xC4, 0x14, 0x90, 0xFF,
  9166. /* 0860 */ 0xFF, 0x43, 0x13, 0x88, 0x80, 0x9C, 0xCA, 0x15,
  9167. /* 0868 */ 0x10, 0x8B, 0x08, 0x22, 0x20, 0x27, 0x7B, 0x52,
  9168. /* 0870 */ 0x09, 0xC8, 0x39, 0x41, 0x74, 0x04, 0x20, 0xBA,
  9169. /* 0878 */ 0x80, 0x58, 0x3E, 0x10, 0x01, 0x39, 0x96, 0x2F,
  9170. /* 0880 */ 0x20, 0x16, 0x12, 0x44, 0x40, 0x4E, 0xF4, 0xF3,
  9171. /* 0888 */ 0x09, 0x44, 0xE2, 0x81, 0x68, 0x10, 0xE4, 0x3F,
  9172. /* 0890 */ 0x21, 0x20, 0x67, 0x04, 0x11, 0x10, 0x79, 0x12,
  9173. /* 0898 */ 0x05, 0x21, 0x9A, 0x3E, 0x62, 0x02, 0x71, 0x6A,
  9174. /* 08A0 */ 0x10, 0x9A, 0xEC, 0x27, 0x14, 0x84, 0xFC, 0xFF,
  9175. /* 08A8 */ 0x01
  9176. })
  9177. }
  9178.  
  9179. Device (QBTN)
  9180. {
  9181. Name (_HID, EisaId ("PNP0C32"))
  9182. Name (_UID, One)
  9183. Method (_STA, 0, NotSerialized)
  9184. {
  9185. If (LEqual (TPOS, 0x40))
  9186. {
  9187. Return (0x0F)
  9188. }
  9189. Else
  9190. {
  9191. Return (Zero)
  9192. }
  9193. }
  9194.  
  9195. Method (GHID, 0, NotSerialized)
  9196. {
  9197. If (LEqual (IVIM, 0x04))
  9198. {
  9199. Notify (QBTN, 0x02)
  9200. }
  9201.  
  9202. Return (Buffer (One)
  9203. {
  9204. 0x01
  9205. })
  9206. }
  9207. }
  9208.  
  9209. Device (DBTN)
  9210. {
  9211. Name (_HID, EisaId ("PNP0C32"))
  9212. Name (_UID, 0x02)
  9213. Method (_STA, 0, NotSerialized)
  9214. {
  9215. If (LEqual (TPOS, 0x40))
  9216. {
  9217. Return (0x0F)
  9218. }
  9219. Else
  9220. {
  9221. Return (Zero)
  9222. }
  9223. }
  9224.  
  9225. Method (GHID, 0, NotSerialized)
  9226. {
  9227. If (LEqual (IVIM, 0x05))
  9228. {
  9229. Notify (DBTN, 0x02)
  9230. }
  9231.  
  9232. Return (Buffer (One)
  9233. {
  9234. 0x02
  9235. })
  9236. }
  9237. }
  9238.  
  9239. Device (MBTN)
  9240. {
  9241. Name (_HID, EisaId ("PNP0C32"))
  9242. Name (_UID, 0x03)
  9243. Method (_STA, 0, NotSerialized)
  9244. {
  9245. If (LEqual (TPOS, 0x40))
  9246. {
  9247. Return (0x0F)
  9248. }
  9249. Else
  9250. {
  9251. Return (Zero)
  9252. }
  9253. }
  9254.  
  9255. Method (GHID, 0, NotSerialized)
  9256. {
  9257. If (LEqual (IVIM, 0x03))
  9258. {
  9259. Notify (MBTN, 0x02)
  9260. }
  9261.  
  9262. Return (Buffer (One)
  9263. {
  9264. 0x03
  9265. })
  9266. }
  9267. }
  9268.  
  9269. Device (EBTN)
  9270. {
  9271. Name (_HID, EisaId ("PNP0C32"))
  9272. Name (_UID, 0x04)
  9273. Method (_STA, 0, NotSerialized)
  9274. {
  9275. If (LEqual (TPOS, 0x40))
  9276. {
  9277. Return (0x0F)
  9278. }
  9279. Else
  9280. {
  9281. Return (Zero)
  9282. }
  9283. }
  9284.  
  9285. Method (GHID, 0, NotSerialized)
  9286. {
  9287. If (LEqual (IVIM, 0x10))
  9288. {
  9289. Notify (EBTN, 0x02)
  9290. }
  9291.  
  9292. Return (Buffer (One)
  9293. {
  9294. 0x04
  9295. })
  9296. }
  9297. }
  9298.  
  9299. Device (PBTN)
  9300. {
  9301. Name (_HID, EisaId ("PNP0C32"))
  9302. Name (_UID, 0x06)
  9303. Method (_STA, 0, NotSerialized)
  9304. {
  9305. If (LEqual (TPOS, 0x40))
  9306. {
  9307. Return (0x0F)
  9308. }
  9309. Else
  9310. {
  9311. Return (Zero)
  9312. }
  9313. }
  9314.  
  9315. Method (GHID, 0, NotSerialized)
  9316. {
  9317. If (LEqual (IVIM, 0x06))
  9318. {
  9319. Notify (PBTN, 0x02)
  9320. }
  9321.  
  9322. Return (Buffer (One)
  9323. {
  9324. 0x06
  9325. })
  9326. }
  9327. }
  9328.  
  9329. Device (VBTN)
  9330. {
  9331. Name (_HID, EisaId ("PNP0C32"))
  9332. Name (_UID, 0x07)
  9333. Method (_STA, 0, NotSerialized)
  9334. {
  9335. If (LEqual (TPOS, 0x40))
  9336. {
  9337. Return (0x0F)
  9338. }
  9339. Else
  9340. {
  9341. Return (Zero)
  9342. }
  9343. }
  9344.  
  9345. Method (GHID, 0, NotSerialized)
  9346. {
  9347. If (LEqual (IVIM, 0x09))
  9348. {
  9349. Notify (VBTN, 0x02)
  9350. }
  9351.  
  9352. Return (Buffer (One)
  9353. {
  9354. 0x07
  9355. })
  9356. }
  9357. }
  9358.  
  9359. Device (TBTN)
  9360. {
  9361. Name (_HID, EisaId ("PNP0C32"))
  9362. Name (_UID, 0x08)
  9363. Method (_STA, 0, NotSerialized)
  9364. {
  9365. If (LEqual (TPOS, 0x40))
  9366. {
  9367. Return (0x0F)
  9368. }
  9369. Else
  9370. {
  9371. Return (Zero)
  9372. }
  9373. }
  9374.  
  9375. Method (GHID, 0, NotSerialized)
  9376. {
  9377. If (LEqual (IVIM, 0x12))
  9378. {
  9379. Notify (TBTN, 0x02)
  9380. }
  9381.  
  9382. Return (Buffer (One)
  9383. {
  9384. 0x08
  9385. })
  9386. }
  9387. }
  9388. }
  9389.  
  9390. Scope (_TZ)
  9391. {
  9392. Name (TPC, 0x64)
  9393. Name (TPTM, 0x4B)
  9394. Name (TPAS, 0x5F)
  9395. ThermalZone (THRM)
  9396. {
  9397. Method (_TMP, 0, NotSerialized)
  9398. {
  9399. If (ECON)
  9400. {
  9401. Store (\_SB.PCI0.LPC0.EC0.RTMP, Local0)
  9402. Return (Add (0x0AAC, Multiply (Local0, 0x0A)))
  9403. }
  9404. Else
  9405. {
  9406. Return (Add (0x0AAC, Multiply (TPTM, 0x0A)))
  9407. }
  9408. }
  9409.  
  9410. Method (_HOT, 0, Serialized)
  9411. {
  9412. If (LEqual (TPOS, 0x40))
  9413. {
  9414. Return (Add (0x0AAC, Multiply (TPC, 0x0A)))
  9415. }
  9416. }
  9417.  
  9418. Method (_CRT, 0, Serialized)
  9419. {
  9420. If (LLess (TPOS, 0x40))
  9421. {
  9422. Return (Add (0x0AAC, Multiply (TPC, 0x0A)))
  9423. }
  9424. }
  9425.  
  9426. Method (_PSL, 0, NotSerialized)
  9427. {
  9428. If (MPST)
  9429. {
  9430. Return (Package (0x02)
  9431. {
  9432. \_PR.CPU0,
  9433. \_PR.CPU1
  9434. })
  9435. }
  9436. Else
  9437. {
  9438. Return (Package (0x01)
  9439. {
  9440. \_PR.CPU0
  9441. })
  9442. }
  9443. }
  9444.  
  9445. Method (_PSV, 0, NotSerialized)
  9446. {
  9447. Return (Add (0x0AAC, Multiply (TPAS, 0x0A)))
  9448. }
  9449.  
  9450. Method (_TC1, 0, NotSerialized)
  9451. {
  9452. Return (0x02)
  9453. }
  9454.  
  9455. Method (_TC2, 0, NotSerialized)
  9456. {
  9457. Return (0x03)
  9458. }
  9459.  
  9460. Method (_TSP, 0, NotSerialized)
  9461. {
  9462. Return (0x1E)
  9463. }
  9464.  
  9465. Name (REGN, "Processor Thermal Zone")
  9466. Name (FMAX, 0x170C)
  9467. Name (FMIN, 0x0F3C)
  9468. Method (FRSP, 0, NotSerialized)
  9469. {
  9470. Store (Zero, Local2)
  9471. If (ECON)
  9472. {
  9473. Store (\_SB.PCI0.LPC0.EC0.RPM1, Local0)
  9474. Store (\_SB.PCI0.LPC0.EC0.RPM2, Local1)
  9475. ShiftLeft (Local1, 0x08, Local1)
  9476. Or (Local0, Local1, Local0)
  9477. If (LNotEqual (Local0, Zero))
  9478. {
  9479. Divide (0x0007A120, Local0, , Local2)
  9480. }
  9481. }
  9482.  
  9483. Return (Local2)
  9484. }
  9485.  
  9486. Method (FSSP, 1, NotSerialized)
  9487. {
  9488. If (ECON)
  9489. {
  9490. If (LNotEqual (Arg0, Zero))
  9491. {
  9492. Store (Zero, \_SB.PCI0.LPC0.EC0.SFAN)
  9493. }
  9494. Else
  9495. {
  9496. Store (0x02, \_SB.PCI0.LPC0.EC0.SFAN)
  9497. }
  9498. }
  9499. }
  9500. }
  9501. }
  9502.  
  9503. Scope (\_PR.CPU0)
  9504. {
  9505. Name (_PCT, Package (0x02)
  9506. {
  9507. ResourceTemplate ()
  9508. {
  9509. Register (FFixedHW,
  9510. 0x40, // Bit Width
  9511. 0x00, // Bit Offset
  9512. 0x00000000C0010062, // Address
  9513. ,)
  9514. },
  9515.  
  9516. ResourceTemplate ()
  9517. {
  9518. Register (FFixedHW,
  9519. 0x40, // Bit Width
  9520. 0x00, // Bit Offset
  9521. 0x0000000000000000, // Address
  9522. ,)
  9523. }
  9524. })
  9525. Name (_PSS, Package (0x03)
  9526. {
  9527. Package (0x06)
  9528. {
  9529. 0x00000834,
  9530. 0x00003840,
  9531. 0x00000000,
  9532. 0x00000000,
  9533. 0x00000000,
  9534. 0x00000000
  9535. },
  9536.  
  9537. Package (0x06)
  9538. {
  9539. 0x0000044C,
  9540. 0x00001702,
  9541. 0x00000000,
  9542. 0x00000000,
  9543. 0x00000001,
  9544. 0x00000001
  9545. },
  9546.  
  9547. Package (0x06)
  9548. {
  9549. 0x000001F4,
  9550. 0x00000910,
  9551. 0x00000000,
  9552. 0x00000000,
  9553. 0x00000002,
  9554. 0x00000002
  9555. }
  9556. })
  9557. Name (XPSS, Package (0x03)
  9558. {
  9559. Package (0x08)
  9560. {
  9561. 0x00000834,
  9562. 0x00003840,
  9563. 0x00000000,
  9564. 0x00000000,
  9565. Buffer (0x08)
  9566. {
  9567. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9568. },
  9569.  
  9570. Buffer (0x08)
  9571. {
  9572. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9573. },
  9574.  
  9575. Buffer (0x08)
  9576. {
  9577. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9578. },
  9579.  
  9580. Buffer (0x08)
  9581. {
  9582. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9583. }
  9584. },
  9585.  
  9586. Package (0x08)
  9587. {
  9588. 0x0000044C,
  9589. 0x00001702,
  9590. 0x00000000,
  9591. 0x00000000,
  9592. Buffer (0x08)
  9593. {
  9594. /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9595. },
  9596.  
  9597. Buffer (0x08)
  9598. {
  9599. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9600. },
  9601.  
  9602. Buffer (0x08)
  9603. {
  9604. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9605. },
  9606.  
  9607. Buffer (0x08)
  9608. {
  9609. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9610. }
  9611. },
  9612.  
  9613. Package (0x08)
  9614. {
  9615. 0x000001F4,
  9616. 0x00000910,
  9617. 0x00000000,
  9618. 0x00000000,
  9619. Buffer (0x08)
  9620. {
  9621. /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9622. },
  9623.  
  9624. Buffer (0x08)
  9625. {
  9626. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9627. },
  9628.  
  9629. Buffer (0x08)
  9630. {
  9631. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9632. },
  9633.  
  9634. Buffer (0x08)
  9635. {
  9636. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9637. }
  9638. }
  9639. })
  9640. Name (_PSD, Package (0x01)
  9641. {
  9642. Package (0x05)
  9643. {
  9644. 0x05,
  9645. 0x00,
  9646. 0x00000000,
  9647. 0x000000FD,
  9648. 0x00000001
  9649. }
  9650. })
  9651. Name (_PPC, 0x00)
  9652. }
  9653.  
  9654. Scope (\_PR.CPU1)
  9655. {
  9656. Name (_PCT, Package (0x02)
  9657. {
  9658. ResourceTemplate ()
  9659. {
  9660. Register (FFixedHW,
  9661. 0x40, // Bit Width
  9662. 0x00, // Bit Offset
  9663. 0x00000000C0010062, // Address
  9664. ,)
  9665. },
  9666.  
  9667. ResourceTemplate ()
  9668. {
  9669. Register (FFixedHW,
  9670. 0x40, // Bit Width
  9671. 0x00, // Bit Offset
  9672. 0x0000000000000000, // Address
  9673. ,)
  9674. }
  9675. })
  9676. Name (_PSS, Package (0x03)
  9677. {
  9678. Package (0x06)
  9679. {
  9680. 0x00000834,
  9681. 0x00003840,
  9682. 0x00000000,
  9683. 0x00000000,
  9684. 0x00000000,
  9685. 0x00000000
  9686. },
  9687.  
  9688. Package (0x06)
  9689. {
  9690. 0x0000044C,
  9691. 0x00001702,
  9692. 0x00000000,
  9693. 0x00000000,
  9694. 0x00000001,
  9695. 0x00000001
  9696. },
  9697.  
  9698. Package (0x06)
  9699. {
  9700. 0x000001F4,
  9701. 0x00000910,
  9702. 0x00000000,
  9703. 0x00000000,
  9704. 0x00000002,
  9705. 0x00000002
  9706. }
  9707. })
  9708. Name (XPSS, Package (0x03)
  9709. {
  9710. Package (0x08)
  9711. {
  9712. 0x00000834,
  9713. 0x00003840,
  9714. 0x00000000,
  9715. 0x00000000,
  9716. Buffer (0x08)
  9717. {
  9718. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9719. },
  9720.  
  9721. Buffer (0x08)
  9722. {
  9723. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9724. },
  9725.  
  9726. Buffer (0x08)
  9727. {
  9728. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9729. },
  9730.  
  9731. Buffer (0x08)
  9732. {
  9733. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9734. }
  9735. },
  9736.  
  9737. Package (0x08)
  9738. {
  9739. 0x0000044C,
  9740. 0x00001702,
  9741. 0x00000000,
  9742. 0x00000000,
  9743. Buffer (0x08)
  9744. {
  9745. /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9746. },
  9747.  
  9748. Buffer (0x08)
  9749. {
  9750. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9751. },
  9752.  
  9753. Buffer (0x08)
  9754. {
  9755. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9756. },
  9757.  
  9758. Buffer (0x08)
  9759. {
  9760. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9761. }
  9762. },
  9763.  
  9764. Package (0x08)
  9765. {
  9766. 0x000001F4,
  9767. 0x00000910,
  9768. 0x00000000,
  9769. 0x00000000,
  9770. Buffer (0x08)
  9771. {
  9772. /* 0000 */ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9773. },
  9774.  
  9775. Buffer (0x08)
  9776. {
  9777. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9778. },
  9779.  
  9780. Buffer (0x08)
  9781. {
  9782. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9783. },
  9784.  
  9785. Buffer (0x08)
  9786. {
  9787. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  9788. }
  9789. }
  9790. })
  9791. Name (_PSD, Package (0x01)
  9792. {
  9793. Package (0x05)
  9794. {
  9795. 0x05,
  9796. 0x00,
  9797. 0x00000001,
  9798. 0x000000FD,
  9799. 0x00000001
  9800. }
  9801. })
  9802. Name (_PPC, 0x00)
  9803. }
  9804. }
  9805.  
  9806.  
Advertisement
Add Comment
Please, Sign In to add comment