Advertisement
Guest User

Untitled

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