Advertisement
ritzcarltn

DSDT for E5200 2.5Ghz LGA775 + G31M-S2L + 9600 GT

Oct 7th, 2014
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 164.80 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML Disassembler version 20100121
  4. *
  5. * Disassembly of /Volumes/CLOVER/EFI/CLOVER/ACPI/origin/DSDT.aml, Fri Jun 21 10:46:36 2013
  6. *
  7. *
  8. * Original Table Header:
  9. * Signature "DSDT"
  10. * Length 0x000040E8 (16616)
  11. * Revision 0x01 **** ACPI 1.0, no 64-bit math support
  12. * Checksum 0x5D
  13. * OEM ID "GBT "
  14. * OEM Table ID "GBTUACPI"
  15. * OEM Revision 0x00001000 (4096)
  16. * Compiler ID "MSFT"
  17. * Compiler Version 0x0100000C (16777228)
  18. */
  19. DefinitionBlock ("/Volumes/CLOVER/EFI/CLOVER/ACPI/origin/DSDT.aml", "DSDT", 1, "GBT ", "GBTUACPI", 0x00001000)
  20. {
  21. Method (DTGP, 5, NotSerialized)
  22. {
  23. If (LEqual (Arg0, Buffer (0x10)
  24. {
  25. /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
  26. /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
  27. }))
  28. {
  29. If (LEqual (Arg1, One))
  30. {
  31. If (LEqual (Arg2, Zero))
  32. {
  33. Store (Buffer (One)
  34. {
  35. 0x03
  36. }, Arg4)
  37. Return (One)
  38. }
  39.  
  40. If (LEqual (Arg2, One))
  41. {
  42. Return (One)
  43. }
  44. }
  45. }
  46.  
  47. Store (Buffer (One)
  48. {
  49. 0x00
  50. }, Arg4)
  51. Return (Zero)
  52. }
  53.  
  54. Scope (\_PR)
  55. {
  56. Processor (\_PR.CPU0, 0x00, 0x00000410, 0x06) {}
  57. Processor (\_PR.CPU1, 0x01, 0x00000410, 0x06) {}
  58. Processor (\_PR.CPU2, 0x02, 0x00000410, 0x06) {}
  59. Processor (\_PR.CPU3, 0x03, 0x00000410, 0x06) {}
  60. }
  61.  
  62. Name (\_S0, Package (0x04)
  63. {
  64. 0x00,
  65. 0x00,
  66. 0x00,
  67. 0x00
  68. })
  69. Name (\SS1, Package (0x04)
  70. {
  71. 0x01,
  72. 0x00,
  73. 0x00,
  74. 0x00
  75. })
  76. Name (\_S3, Package (0x04)
  77. {
  78. 0x05,
  79. 0x00,
  80. 0x00,
  81. 0x00
  82. })
  83. Name (\_S4, Package (0x04)
  84. {
  85. 0x06,
  86. 0x00,
  87. 0x00,
  88. 0x00
  89. })
  90. Name (\_S5, Package (0x04)
  91. {
  92. 0x07,
  93. 0x00,
  94. 0x00,
  95. 0x00
  96. })
  97. Name (FLAG, 0x00)
  98. Name (STAT, 0x00)
  99. OperationRegion (SMOD, SystemMemory, 0x000FF840, 0x01)
  100. Field (SMOD, ByteAcc, NoLock, Preserve)
  101. {
  102. , 7,
  103. SUSF, 1
  104. }
  105.  
  106. OperationRegion (\DEBG, SystemIO, 0x80, 0x01)
  107. Field (\DEBG, ByteAcc, NoLock, Preserve)
  108. {
  109. DBG1, 8
  110. }
  111.  
  112. OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
  113. Field (RCRB, DWordAcc, Lock, Preserve)
  114. {
  115. Offset (0x3404),
  116. , 7,
  117. HPTF, 1
  118. }
  119.  
  120. OperationRegion (ELKM, SystemMemory, 0x000FFFEA, 0x01)
  121. Field (ELKM, ByteAcc, NoLock, Preserve)
  122. {
  123. , 1,
  124. , 1,
  125. ELSO, 1,
  126. , 1,
  127. , 1,
  128. , 1,
  129. , 1
  130. }
  131.  
  132. OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10)
  133. Field (EXTM, WordAcc, NoLock, Preserve)
  134. {
  135. ROM1, 16,
  136. RMS1, 16,
  137. ROM2, 16,
  138. RMS2, 16,
  139. ROM3, 16,
  140. RMS3, 16,
  141. AMEM, 32
  142. }
  143.  
  144. OperationRegion (\SMIC, SystemIO, 0xB2, 0x01)
  145. Field (\SMIC, ByteAcc, NoLock, Preserve)
  146. {
  147. SCP, 8
  148. }
  149.  
  150. OperationRegion (TCOI, SystemIO, 0x0460, 0x08)
  151. Field (TCOI, WordAcc, NoLock, Preserve)
  152. {
  153. Offset (0x04),
  154. , 9,
  155. SCIS, 1,
  156. Offset (0x06)
  157. }
  158.  
  159. OperationRegion (\GP2C, SystemIO, 0x042C, 0x02)
  160. Field (\GP2C, ByteAcc, NoLock, Preserve)
  161. {
  162. G2C1, 8,
  163. G2C2, 8
  164. }
  165.  
  166. OperationRegion (\GBLE, SystemIO, 0x0421, 0x01)
  167. Field (\GBLE, ByteAcc, NoLock, Preserve)
  168. {
  169. ESMI, 8
  170. }
  171.  
  172. OperationRegion (APMP, SystemIO, 0xB2, 0x02)
  173. Field (APMP, ByteAcc, NoLock, Preserve)
  174. {
  175. APMC, 8,
  176. APMD, 8
  177. }
  178.  
  179. OperationRegion (\AGPS, SystemIO, 0x0438, 0x04)
  180. Field (\AGPS, ByteAcc, NoLock, Preserve)
  181. {
  182. GPSE, 16,
  183. GPSS, 16
  184. }
  185.  
  186. OperationRegion (\GPCN, SystemIO, 0x0442, 0x01)
  187. Field (\GPCN, ByteAcc, NoLock, Preserve)
  188. {
  189. , 1,
  190. SWGC, 1,
  191. Offset (0x01)
  192. }
  193.  
  194. Name (OSFX, 0x01)
  195. Name (OSFL, 0x01)
  196. Method (STRC, 2, NotSerialized)
  197. {
  198. If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1)))
  199. {
  200. Return (0x00)
  201. }
  202.  
  203. Add (SizeOf (Arg0), 0x01, Local0)
  204. Name (BUF0, Buffer (Local0) {})
  205. Name (BUF1, Buffer (Local0) {})
  206. Store (Arg0, BUF0)
  207. Store (Arg1, BUF1)
  208. While (Local0)
  209. {
  210. Decrement (Local0)
  211. If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
  212. BUF1, Local0))))
  213. {
  214. Return (Zero)
  215. }
  216. }
  217.  
  218. Return (One)
  219. }
  220.  
  221. OperationRegion (INFO, SystemMemory, 0x000FF840, 0x01)
  222. Field (INFO, ByteAcc, NoLock, Preserve)
  223. {
  224. KBDI, 1,
  225. RTCW, 1,
  226. PS2F, 1,
  227. IRFL, 2,
  228. DISE, 1,
  229. SSHU, 1
  230. }
  231.  
  232. Scope (\)
  233. {
  234. Name (PICF, 0x00)
  235. Method (_PIC, 1, NotSerialized)
  236. {
  237. Store (Arg0, PICF)
  238. }
  239. }
  240.  
  241. Method (\_PTS, 1, NotSerialized)
  242. {
  243. Or (Arg0, 0xF0, Local0)
  244. Store (Local0, DBG1)
  245. OSTP ()
  246. If (LEqual (Arg0, 0x01)) {}
  247. If (LEqual (Arg0, 0x03)) {}
  248. If (LEqual (Arg0, 0x05))
  249. {
  250. Store (ESMI, Local0)
  251. And (Local0, 0xFB, Local0)
  252. Store (Local0, ESMI)
  253. Store (0x99, SMIP)
  254. }
  255.  
  256. If (LEqual (Arg0, 0x04))
  257. {
  258. If (LNot (PICF))
  259. {
  260. Sleep (0x64)
  261. }
  262. }
  263. }
  264.  
  265. Method (\_WAK, 1, NotSerialized)
  266. {
  267. Store (0xFF, DBG1)
  268. If (LEqual (Arg0, 0x03))
  269. {
  270. Store (0x8F, SCP)
  271. }
  272.  
  273. If (LEqual (Arg0, 0x04))
  274. {
  275. If (LEqual (OSFL, 0x00))
  276. {
  277. If (LEqual (OSFX, 0x03))
  278. {
  279. Store (0x59, SMIP)
  280. }
  281. Else
  282. {
  283. Store (0x58, SMIP)
  284. }
  285. }
  286.  
  287. If (LEqual (OSFL, 0x01))
  288. {
  289. Store (0x56, SMIP)
  290. }
  291.  
  292. If (LEqual (OSFL, 0x02))
  293. {
  294. Store (0x57, SMIP)
  295. }
  296.  
  297. If (LEqual (OSFX, 0x03))
  298. {
  299. Store (0x59, SMIP)
  300. }
  301. }
  302.  
  303. If (LEqual (Arg0, 0x01)) {}
  304. If (OSFL)
  305. {
  306. Notify (\_SB.PWRB, 0x02)
  307. }
  308. Else
  309. {
  310. If (LEqual (RTCW, 0x00))
  311. {
  312. Notify (\_SB.PWRB, 0x02)
  313. }
  314. }
  315.  
  316. Notify (\_SB.PCI0.USB0, 0x00)
  317. Notify (\_SB.PCI0.USB1, 0x00)
  318. Notify (\_SB.PCI0.USB2, 0x00)
  319. Notify (\_SB.PCI0.USB3, 0x00)
  320. }
  321.  
  322. Scope (\_SI)
  323. {
  324. Method (_MSG, 1, NotSerialized)
  325. {
  326. /* Store (Local0, Local0) */
  327. }
  328.  
  329. Method (_SST, 1, NotSerialized)
  330. {
  331. /* Store (Local0, Local0) */
  332. }
  333. }
  334.  
  335. Scope (\_GPE)
  336. {
  337. Method (_L08, 0, NotSerialized)
  338. {
  339. Notify (\_SB.PCI0.PX40.UAR1, 0x02)
  340. }
  341.  
  342. Method (_L06, 0, NotSerialized)
  343. {
  344. If (\_SB.PCI0.IGD0.GSSE)
  345. {
  346. \_SB.PCI0.IGD0.OPRN ()
  347. }
  348. Else
  349. {
  350. Store (0x01, SCIS)
  351. }
  352. }
  353.  
  354. Method (_L03, 0, NotSerialized)
  355. {
  356. Notify (\_SB.PCI0.USB0, 0x02)
  357. Notify (\_SB.PWRB, 0x02)
  358. }
  359.  
  360. Method (_L04, 0, NotSerialized)
  361. {
  362. Notify (\_SB.PCI0.USB1, 0x02)
  363. Notify (\_SB.PWRB, 0x02)
  364. }
  365.  
  366. Method (_L0C, 0, NotSerialized)
  367. {
  368. Notify (\_SB.PCI0.USB2, 0x02)
  369. Notify (\_SB.PWRB, 0x02)
  370. }
  371.  
  372. Method (_L0E, 0, NotSerialized)
  373. {
  374. Notify (\_SB.PCI0.USB3, 0x02)
  375. Notify (\_SB.PWRB, 0x02)
  376. }
  377.  
  378. Method (_L0D, 0, NotSerialized)
  379. {
  380. Notify (\_SB.PCI0.USBE, 0x02)
  381. Notify (\_SB.PWRB, 0x02)
  382. }
  383.  
  384. Method (_L0B, 0, NotSerialized)
  385. {
  386. Notify (\_SB.PCI0.HUB0, 0x02)
  387. }
  388.  
  389. Method (_L09, 0, NotSerialized)
  390. {
  391. Notify (\_SB.PCI0.PEX0, 0x02)
  392. Notify (\_SB.PCI0.PEX1, 0x02)
  393. Notify (\_SB.PCI0.PEX2, 0x02)
  394. Notify (\_SB.PCI0.PEX3, 0x02)
  395. Notify (\_SB.PCI0.PEX4, 0x02)
  396. Notify (\_SB.PCI0.PEX5, 0x02)
  397. }
  398. }
  399.  
  400. Scope (\_SB)
  401. {
  402. Device (PWRB)
  403. {
  404. Name (_HID, EisaId ("PNP0C0C"))
  405. Method (_STA, 0, NotSerialized)
  406. {
  407. Return (0x0B)
  408. }
  409. }
  410.  
  411. Device (PCI0)
  412. {
  413. Name (_HID, EisaId ("PNP0A03"))
  414. Name (_ADR, 0x00)
  415. Name (_UID, 0x01)
  416. Name (_BBN, 0x00)
  417. Method (_S3D, 0, NotSerialized)
  418. {
  419. If (LEqual (OSFL, 0x02))
  420. {
  421. Return (0x02)
  422. }
  423. Else
  424. {
  425. Return (0x03)
  426. }
  427. }
  428.  
  429. Method (_STA, 0, NotSerialized)
  430. {
  431. Return (0x0F)
  432. }
  433.  
  434. Method (_CRS, 0, NotSerialized)
  435. {
  436. Name (BUF0, ResourceTemplate ()
  437. {
  438. WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
  439. 0x0000, // Granularity
  440. 0x0000, // Range Minimum
  441. 0x00FF, // Range Maximum
  442. 0x0000, // Translation Offset
  443. 0x0100, // Length
  444. ,, )
  445. IO (Decode16,
  446. 0x0CF8, // Range Minimum
  447. 0x0CF8, // Range Maximum
  448. 0x01, // Alignment
  449. 0x08, // Length
  450. )
  451. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  452. 0x0000, // Granularity
  453. 0x0000, // Range Minimum
  454. 0x0CF7, // Range Maximum
  455. 0x0000, // Translation Offset
  456. 0x0CF8, // Length
  457. ,, , TypeStatic)
  458. WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  459. 0x0000, // Granularity
  460. 0x0D00, // Range Minimum
  461. 0xFFFF, // Range Maximum
  462. 0x0000, // Translation Offset
  463. 0xF300, // Length
  464. ,, , TypeStatic)
  465. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  466. 0x00000000, // Granularity
  467. 0x000A0000, // Range Minimum
  468. 0x000BFFFF, // Range Maximum
  469. 0x00000000, // Translation Offset
  470. 0x00020000, // Length
  471. ,, , AddressRangeMemory, TypeStatic)
  472. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  473. 0x00000000, // Granularity
  474. 0x000C0000, // Range Minimum
  475. 0x000DFFFF, // Range Maximum
  476. 0x00000000, // Translation Offset
  477. 0x00020000, // Length
  478. ,, , AddressRangeMemory, TypeStatic)
  479. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  480. 0x00000000, // Granularity
  481. 0x00100000, // Range Minimum
  482. 0xFEBFFFFF, // Range Maximum
  483. 0x00000000, // Translation Offset
  484. 0xFFF00000, // Length
  485. ,, _Y00, AddressRangeMemory, TypeStatic)
  486. })
  487. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, TCMM)
  488. CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, TOMM)
  489. Add (AMEM, 0x00010000, TCMM)
  490. Add (TCMM, 0x00010000, TCMM)
  491. Subtract (0xFEC00000, TCMM, TOMM)
  492. Return (BUF0)
  493. }
  494.  
  495. Name (PICM, Package (0x16)
  496. {
  497. Package (0x04)
  498. {
  499. 0x0002FFFF,
  500. 0x00,
  501. \_SB.PCI0.LNKA,
  502. 0x00
  503. },
  504.  
  505. Package (0x04)
  506. {
  507. 0x0002FFFF,
  508. 0x01,
  509. \_SB.PCI0.LNKB,
  510. 0x00
  511. },
  512.  
  513. Package (0x04)
  514. {
  515. 0x0002FFFF,
  516. 0x02,
  517. \_SB.PCI0.LNKC,
  518. 0x00
  519. },
  520.  
  521. Package (0x04)
  522. {
  523. 0x0002FFFF,
  524. 0x03,
  525. \_SB.PCI0.LNKD,
  526. 0x00
  527. },
  528.  
  529. Package (0x04)
  530. {
  531. 0x001BFFFF,
  532. 0x00,
  533. \_SB.PCI0.LNKA,
  534. 0x00
  535. },
  536.  
  537. Package (0x04)
  538. {
  539. 0x0001FFFF,
  540. 0x00,
  541. \_SB.PCI0.LNKA,
  542. 0x00
  543. },
  544.  
  545. Package (0x04)
  546. {
  547. 0x0001FFFF,
  548. 0x01,
  549. \_SB.PCI0.LNKB,
  550. 0x00
  551. },
  552.  
  553. Package (0x04)
  554. {
  555. 0x0001FFFF,
  556. 0x02,
  557. \_SB.PCI0.LNKC,
  558. 0x00
  559. },
  560.  
  561. Package (0x04)
  562. {
  563. 0x0001FFFF,
  564. 0x03,
  565. \_SB.PCI0.LNKD,
  566. 0x00
  567. },
  568.  
  569. Package (0x04)
  570. {
  571. 0x001CFFFF,
  572. 0x00,
  573. \_SB.PCI0.LNKA,
  574. 0x00
  575. },
  576.  
  577. Package (0x04)
  578. {
  579. 0x001CFFFF,
  580. 0x01,
  581. \_SB.PCI0.LNKB,
  582. 0x00
  583. },
  584.  
  585. Package (0x04)
  586. {
  587. 0x001CFFFF,
  588. 0x02,
  589. \_SB.PCI0.LNKC,
  590. 0x00
  591. },
  592.  
  593. Package (0x04)
  594. {
  595. 0x001CFFFF,
  596. 0x03,
  597. \_SB.PCI0.LNKD,
  598. 0x00
  599. },
  600.  
  601. Package (0x04)
  602. {
  603. 0x001CFFFF,
  604. 0x00,
  605. \_SB.PCI0.LNKA,
  606. 0x00
  607. },
  608.  
  609. Package (0x04)
  610. {
  611. 0x001CFFFF,
  612. 0x01,
  613. \_SB.PCI0.LNKB,
  614. 0x00
  615. },
  616.  
  617. Package (0x04)
  618. {
  619. 0x001DFFFF,
  620. 0x00,
  621. \_SB.PCI0.LNK1,
  622. 0x00
  623. },
  624.  
  625. Package (0x04)
  626. {
  627. 0x001DFFFF,
  628. 0x01,
  629. \_SB.PCI0.LNKD,
  630. 0x00
  631. },
  632.  
  633. Package (0x04)
  634. {
  635. 0x001DFFFF,
  636. 0x02,
  637. \_SB.PCI0.LNKC,
  638. 0x00
  639. },
  640.  
  641. Package (0x04)
  642. {
  643. 0x001DFFFF,
  644. 0x03,
  645. \_SB.PCI0.LNKA,
  646. 0x00
  647. },
  648.  
  649. Package (0x04)
  650. {
  651. 0x001FFFFF,
  652. 0x00,
  653. \_SB.PCI0.LNKC,
  654. 0x00
  655. },
  656.  
  657. Package (0x04)
  658. {
  659. 0x001FFFFF,
  660. 0x01,
  661. \_SB.PCI0.LNKD,
  662. 0x00
  663. },
  664.  
  665. Package (0x04)
  666. {
  667. 0x001FFFFF,
  668. 0x01,
  669. \_SB.PCI0.LNKD,
  670. 0x00
  671. }
  672. })
  673. Name (APIC, Package (0x16)
  674. {
  675. Package (0x04)
  676. {
  677. 0x0002FFFF,
  678. 0x00,
  679. 0x00,
  680. 0x10
  681. },
  682.  
  683. Package (0x04)
  684. {
  685. 0x0002FFFF,
  686. 0x01,
  687. 0x00,
  688. 0x11
  689. },
  690.  
  691. Package (0x04)
  692. {
  693. 0x0002FFFF,
  694. 0x02,
  695. 0x00,
  696. 0x12
  697. },
  698.  
  699. Package (0x04)
  700. {
  701. 0x0002FFFF,
  702. 0x03,
  703. 0x00,
  704. 0x13
  705. },
  706.  
  707. Package (0x04)
  708. {
  709. 0x001BFFFF,
  710. 0x00,
  711. 0x00,
  712. 0x10
  713. },
  714.  
  715. Package (0x04)
  716. {
  717. 0x0001FFFF,
  718. 0x00,
  719. 0x00,
  720. 0x10
  721. },
  722.  
  723. Package (0x04)
  724. {
  725. 0x0001FFFF,
  726. 0x01,
  727. 0x00,
  728. 0x11
  729. },
  730.  
  731. Package (0x04)
  732. {
  733. 0x0001FFFF,
  734. 0x02,
  735. 0x00,
  736. 0x12
  737. },
  738.  
  739. Package (0x04)
  740. {
  741. 0x0001FFFF,
  742. 0x03,
  743. 0x00,
  744. 0x13
  745. },
  746.  
  747. Package (0x04)
  748. {
  749. 0x001CFFFF,
  750. 0x00,
  751. 0x00,
  752. 0x10
  753. },
  754.  
  755. Package (0x04)
  756. {
  757. 0x001CFFFF,
  758. 0x01,
  759. 0x00,
  760. 0x11
  761. },
  762.  
  763. Package (0x04)
  764. {
  765. 0x001CFFFF,
  766. 0x02,
  767. 0x00,
  768. 0x12
  769. },
  770.  
  771. Package (0x04)
  772. {
  773. 0x001CFFFF,
  774. 0x03,
  775. 0x00,
  776. 0x13
  777. },
  778.  
  779. Package (0x04)
  780. {
  781. 0x001CFFFF,
  782. 0x00,
  783. 0x00,
  784. 0x10
  785. },
  786.  
  787. Package (0x04)
  788. {
  789. 0x001CFFFF,
  790. 0x01,
  791. 0x00,
  792. 0x11
  793. },
  794.  
  795. Package (0x04)
  796. {
  797. 0x001DFFFF,
  798. 0x00,
  799. 0x00,
  800. 0x17
  801. },
  802.  
  803. Package (0x04)
  804. {
  805. 0x001DFFFF,
  806. 0x01,
  807. 0x00,
  808. 0x13
  809. },
  810.  
  811. Package (0x04)
  812. {
  813. 0x001DFFFF,
  814. 0x02,
  815. 0x00,
  816. 0x12
  817. },
  818.  
  819. Package (0x04)
  820. {
  821. 0x001DFFFF,
  822. 0x03,
  823. 0x00,
  824. 0x10
  825. },
  826.  
  827. Package (0x04)
  828. {
  829. 0x001FFFFF,
  830. 0x00,
  831. 0x00,
  832. 0x12
  833. },
  834.  
  835. Package (0x04)
  836. {
  837. 0x001FFFFF,
  838. 0x01,
  839. 0x00,
  840. 0x13
  841. },
  842.  
  843. Package (0x04)
  844. {
  845. 0x001FFFFF,
  846. 0x01,
  847. 0x00,
  848. 0x13
  849. }
  850. })
  851. Method (_PRT, 0, NotSerialized)
  852. {
  853. If (LNot (PICF))
  854. {
  855. Return (PICM)
  856. }
  857. Else
  858. {
  859. Return (APIC)
  860. }
  861. }
  862.  
  863. Device (IGD0)
  864. {
  865. Name (_ADR, 0x00020000)
  866. OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
  867. Field (IGDP, AnyAcc, NoLock, Preserve)
  868. {
  869. Offset (0x12),
  870. , 1,
  871. GIVD, 1,
  872. , 2,
  873. GUMA, 3,
  874. Offset (0x14),
  875. , 4,
  876. GMFN, 1,
  877. Offset (0x18),
  878. SSRW, 32,
  879. Offset (0xA4),
  880. ASLE, 8,
  881. Offset (0xA8),
  882. GSSE, 1,
  883. GSSB, 14,
  884. GSES, 1,
  885. Offset (0xB0),
  886. Offset (0xB1),
  887. CDVL, 5,
  888. Offset (0xB2),
  889. Offset (0xBC),
  890. ASLS, 32
  891. }
  892.  
  893. OperationRegion (IGDM, SystemMemory, 0xFFFF0000, 0x2040)
  894. Field (IGDM, AnyAcc, NoLock, Preserve)
  895. {
  896. SIGN, 128,
  897. SIZE, 32,
  898. OVER, 32,
  899. SVER, 256,
  900. VVER, 128,
  901. GVER, 128,
  902. MBOX, 32,
  903. Offset (0x100),
  904. DRDY, 32,
  905. CSTS, 32,
  906. CEVT, 32,
  907. Offset (0x120),
  908. DIDL, 256,
  909. CPDL, 256,
  910. CADL, 256,
  911. NADL, 256,
  912. ASLP, 32,
  913. TIDX, 32,
  914. CHPD, 32,
  915. CLID, 32,
  916. CDCK, 32,
  917. SXSW, 32,
  918. EVTS, 32,
  919. CNOT, 32,
  920. NRDY, 32,
  921. Offset (0x200),
  922. SCIE, 1,
  923. GEFC, 4,
  924. GXFC, 3,
  925. GESF, 8,
  926. Offset (0x204),
  927. PARM, 32,
  928. DSLP, 32,
  929. Offset (0x300),
  930. ARDY, 32,
  931. ASLC, 32,
  932. TCHE, 32,
  933. ALSI, 32,
  934. BCLP, 32,
  935. PFIT, 32,
  936. Offset (0x400),
  937. GVD1, 57344,
  938. IBTT, 8,
  939. IPAT, 8,
  940. ITVF, 8,
  941. ITVM, 8,
  942. IPSC, 8,
  943. IBLC, 8,
  944. IBIA, 8,
  945. ISSC, 8,
  946. I409, 8,
  947. I509, 8,
  948. I609, 8,
  949. I709, 8,
  950. IDMM, 8,
  951. IDMS, 8,
  952. IF1E, 8,
  953. GSMI, 8,
  954. HVCO, 8,
  955. LIDS, 8,
  956. CGCS, 16
  957. }
  958.  
  959. Name (DBTB, Package (0x11)
  960. {
  961. 0x00,
  962. 0x01,
  963. 0x02,
  964. 0x03,
  965. 0x04,
  966. 0x05,
  967. 0x06,
  968. 0x07,
  969. 0x08,
  970. 0x09,
  971. 0x0A,
  972. 0x10,
  973. 0x11,
  974. 0x12,
  975. 0x13,
  976. 0x14,
  977. 0xFF
  978. })
  979. Name (SUCC, 0x01)
  980. Name (NVLD, 0x02)
  981. Name (CRIT, 0x04)
  982. Name (NCRT, 0x06)
  983. Method (OPRN, 0, Serialized)
  984. {
  985. Method (GBDA, 0, Serialized)
  986. {
  987. If (LEqual (GESF, 0x00))
  988. {
  989. Store (0x00, PARM)
  990. Or (PARM, ShiftLeft (0x01, 0x00), PARM)
  991. Or (PARM, ShiftLeft (0x01, 0x03), PARM)
  992. Or (PARM, ShiftLeft (0x01, 0x04), PARM)
  993. Or (PARM, ShiftLeft (0x01, 0x05), PARM)
  994. Or (PARM, ShiftLeft (0x01, 0x06), PARM)
  995. Or (PARM, ShiftLeft (0x01, 0x09), PARM)
  996. Store (Zero, GESF)
  997. Return (SUCC)
  998. }
  999.  
  1000. If (LEqual (GESF, 0x01))
  1001. {
  1002. Store (0x0240, PARM)
  1003. Store (Zero, GESF)
  1004. Return (SUCC)
  1005. }
  1006.  
  1007. If (LEqual (GESF, 0x04))
  1008. {
  1009. Name (LOOP, 0x00)
  1010. And (PARM, 0xFFFFFF00, PARM)
  1011. Or (DerefOf (Index (DBTB, IBTT)), PARM, PARM)
  1012. Store (Zero, GESF)
  1013. Return (SUCC)
  1014. }
  1015.  
  1016. If (LEqual (GESF, 0x05))
  1017. {
  1018. Store (IPSC, PARM)
  1019. Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
  1020. Add (PARM, 0x0100, PARM)
  1021. Or (PARM, ShiftLeft (LIDS, 0x10), PARM)
  1022. Add (PARM, 0x00010000, PARM)
  1023. Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
  1024. Store (Zero, GESF)
  1025. Return (SUCC)
  1026. }
  1027.  
  1028. If (LEqual (GESF, 0x06))
  1029. {
  1030. Store (ITVF, PARM)
  1031. Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
  1032. Store (Zero, GESF)
  1033. Return (SUCC)
  1034. }
  1035.  
  1036. If (LEqual (GESF, 0x07))
  1037. {
  1038. Store (GIVD, PARM)
  1039. XOr (PARM, 0x01, PARM)
  1040. Or (PARM, ShiftLeft (GMFN, 0x01), PARM)
  1041. Or (PARM, ShiftLeft (0x02, 0x0B), PARM)
  1042. If (LEqual (IDMM, 0x00))
  1043. {
  1044. Or (PARM, ShiftLeft (IDMS, 0x0D), PARM)
  1045. }
  1046.  
  1047. If (LOr (LEqual (IDMM, 0x01), LEqual (IDMM, 0x03)))
  1048. {
  1049. Or (PARM, ShiftLeft (IDMS, 0x11), PARM)
  1050. }
  1051.  
  1052. Or (PARM, ShiftLeft (CGCS, 0x15), PARM)
  1053. Store (0x01, GESF)
  1054. Return (SUCC)
  1055. }
  1056.  
  1057. If (LEqual (GESF, 0x0A))
  1058. {
  1059. Store (0x00, PARM)
  1060. If (ISSC)
  1061. {
  1062. Or (0x03, PARM)
  1063. }
  1064.  
  1065. Store (0x00, GESF)
  1066. Return (SUCC)
  1067. }
  1068.  
  1069. Store (Zero, GESF)
  1070. Return (CRIT)
  1071. }
  1072.  
  1073. Method (SBCB, 0, Serialized)
  1074. {
  1075. If (LEqual (GESF, 0x00))
  1076. {
  1077. Store (0x00, PARM)
  1078. Store (Zero, GESF)
  1079. Return (SUCC)
  1080. }
  1081.  
  1082. If (LEqual (GESF, 0x01))
  1083. {
  1084. Store (Zero, GESF)
  1085. Store (Zero, PARM)
  1086. Return (SUCC)
  1087. }
  1088.  
  1089. If (LEqual (GESF, 0x03))
  1090. {
  1091. Store (Zero, GESF)
  1092. Store (Zero, PARM)
  1093. Return (SUCC)
  1094. }
  1095.  
  1096. If (LEqual (GESF, 0x04))
  1097. {
  1098. Store (Zero, GESF)
  1099. Store (Zero, PARM)
  1100. Return (SUCC)
  1101. }
  1102.  
  1103. If (LEqual (GESF, 0x05))
  1104. {
  1105. Store (Zero, GESF)
  1106. Store (Zero, PARM)
  1107. Return (SUCC)
  1108. }
  1109.  
  1110. If (LEqual (GESF, 0x06))
  1111. {
  1112. Store (And (PARM, 0x0F), ITVF)
  1113. Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM)
  1114. Store (Zero, GESF)
  1115. Store (Zero, PARM)
  1116. Return (SUCC)
  1117. }
  1118.  
  1119. If (LEqual (GESF, 0x07))
  1120. {
  1121. Store (Zero, GESF)
  1122. Store (Zero, PARM)
  1123. Return (SUCC)
  1124. }
  1125.  
  1126. If (LEqual (GESF, 0x08))
  1127. {
  1128. Store (Zero, GESF)
  1129. Store (Zero, PARM)
  1130. Return (SUCC)
  1131. }
  1132.  
  1133. If (LEqual (GESF, 0x09))
  1134. {
  1135. And (PARM, 0xFF, IBTT)
  1136. Store (Zero, GESF)
  1137. Store (Zero, PARM)
  1138. Return (SUCC)
  1139. }
  1140.  
  1141. If (LEqual (GESF, 0x0A))
  1142. {
  1143. And (PARM, 0xFF, IPSC)
  1144. If (And (ShiftRight (PARM, 0x08), 0xFF))
  1145. {
  1146. And (ShiftRight (PARM, 0x08), 0xFF, IPAT)
  1147. Decrement (IPAT)
  1148. }
  1149.  
  1150. And (ShiftRight (PARM, 0x14), 0x07, IBIA)
  1151. Store (Zero, GESF)
  1152. Store (Zero, PARM)
  1153. Return (SUCC)
  1154. }
  1155.  
  1156. If (LEqual (GESF, 0x0B))
  1157. {
  1158. And (ShiftRight (PARM, 0x01), 0x01, IF1E)
  1159. If (And (PARM, ShiftLeft (0x0F, 0x0D)))
  1160. {
  1161. And (ShiftRight (PARM, 0x0D), 0x0F, IDMS)
  1162. Store (0x00, IDMM)
  1163. }
  1164. Else
  1165. {
  1166. And (ShiftRight (PARM, 0x11), 0x0F, IDMS)
  1167. Store (0x01, IDMM)
  1168. }
  1169.  
  1170. Store (Zero, GESF)
  1171. Store (Zero, PARM)
  1172. Return (SUCC)
  1173. }
  1174.  
  1175. If (LEqual (GESF, 0x10))
  1176. {
  1177. Store (Zero, GESF)
  1178. Store (Zero, PARM)
  1179. Return (SUCC)
  1180. }
  1181.  
  1182. If (LEqual (GESF, 0x11))
  1183. {
  1184. Store (ShiftLeft (LIDS, 0x08), PARM)
  1185. Add (PARM, 0x0100, PARM)
  1186. Store (Zero, GESF)
  1187. Return (SUCC)
  1188. }
  1189.  
  1190. If (LEqual (GESF, 0x12))
  1191. {
  1192. If (And (PARM, 0x01))
  1193. {
  1194. If (LEqual (ShiftRight (PARM, 0x01), 0x01))
  1195. {
  1196. Store (0x01, ISSC)
  1197. }
  1198. Else
  1199. {
  1200. Store (Zero, GESF)
  1201. Return (CRIT)
  1202. }
  1203. }
  1204. Else
  1205. {
  1206. Store (0x00, ISSC)
  1207. }
  1208.  
  1209. Store (Zero, GESF)
  1210. Store (Zero, PARM)
  1211. Return (SUCC)
  1212. }
  1213.  
  1214. If (LEqual (GESF, 0x13))
  1215. {
  1216. Store (Zero, GESF)
  1217. Store (Zero, PARM)
  1218. Return (SUCC)
  1219. }
  1220.  
  1221. Store (Zero, GESF)
  1222. Return (SUCC)
  1223. }
  1224.  
  1225. If (LEqual (GEFC, 0x04))
  1226. {
  1227. Store (GBDA (), GXFC)
  1228. }
  1229.  
  1230. If (LEqual (GEFC, 0x06))
  1231. {
  1232. Store (SBCB (), GXFC)
  1233. }
  1234.  
  1235. Store (PARM, SSRW)
  1236. Store (0x00, GEFC)
  1237. Store (0x01, SCIS)
  1238. Store (0x00, GSSE)
  1239. Store (0x00, SCIE)
  1240. Return (Zero)
  1241. }
  1242. }
  1243.  
  1244. Device (IGD1)
  1245. {
  1246. Name (_ADR, 0x00020001)
  1247. }
  1248.  
  1249. Device (PEX0)
  1250. {
  1251. Name (_ADR, 0x001C0000)
  1252. Method (_STA, 0, NotSerialized)
  1253. {
  1254. Return (0x0F)
  1255. }
  1256.  
  1257. Method (_PRW, 0, NotSerialized)
  1258. {
  1259. Return (Package (0x02)
  1260. {
  1261. 0x09,
  1262. 0x05
  1263. })
  1264. }
  1265.  
  1266. Name (PIC0, Package (0x04)
  1267. {
  1268. Package (0x04)
  1269. {
  1270. 0xFFFF,
  1271. 0x00,
  1272. \_SB.PCI0.LNKA,
  1273. 0x00
  1274. },
  1275.  
  1276. Package (0x04)
  1277. {
  1278. 0xFFFF,
  1279. 0x01,
  1280. \_SB.PCI0.LNKB,
  1281. 0x00
  1282. },
  1283.  
  1284. Package (0x04)
  1285. {
  1286. 0xFFFF,
  1287. 0x02,
  1288. \_SB.PCI0.LNKC,
  1289. 0x00
  1290. },
  1291.  
  1292. Package (0x04)
  1293. {
  1294. 0xFFFF,
  1295. 0x03,
  1296. \_SB.PCI0.LNKD,
  1297. 0x00
  1298. }
  1299. })
  1300. Name (API0, Package (0x04)
  1301. {
  1302. Package (0x04)
  1303. {
  1304. 0xFFFF,
  1305. 0x00,
  1306. 0x00,
  1307. 0x10
  1308. },
  1309.  
  1310. Package (0x04)
  1311. {
  1312. 0xFFFF,
  1313. 0x01,
  1314. 0x00,
  1315. 0x11
  1316. },
  1317.  
  1318. Package (0x04)
  1319. {
  1320. 0xFFFF,
  1321. 0x02,
  1322. 0x00,
  1323. 0x12
  1324. },
  1325.  
  1326. Package (0x04)
  1327. {
  1328. 0xFFFF,
  1329. 0x03,
  1330. 0x00,
  1331. 0x13
  1332. }
  1333. })
  1334. Method (_PRT, 0, NotSerialized)
  1335. {
  1336. If (LNot (PICF))
  1337. {
  1338. Return (PIC0)
  1339. }
  1340. Else
  1341. {
  1342. Return (API0)
  1343. }
  1344. }
  1345. }
  1346.  
  1347. Device (PEX1)
  1348. {
  1349. Name (_ADR, 0x001C0001)
  1350. Method (_STA, 0, NotSerialized)
  1351. {
  1352. Return (0x0F)
  1353. }
  1354.  
  1355. Method (_PRW, 0, NotSerialized)
  1356. {
  1357. Return (Package (0x02)
  1358. {
  1359. 0x09,
  1360. 0x05
  1361. })
  1362. }
  1363.  
  1364. Name (PIC1, Package (0x04)
  1365. {
  1366. Package (0x04)
  1367. {
  1368. 0xFFFF,
  1369. 0x00,
  1370. \_SB.PCI0.LNKB,
  1371. 0x00
  1372. },
  1373.  
  1374. Package (0x04)
  1375. {
  1376. 0xFFFF,
  1377. 0x01,
  1378. \_SB.PCI0.LNKC,
  1379. 0x00
  1380. },
  1381.  
  1382. Package (0x04)
  1383. {
  1384. 0xFFFF,
  1385. 0x02,
  1386. \_SB.PCI0.LNKD,
  1387. 0x00
  1388. },
  1389.  
  1390. Package (0x04)
  1391. {
  1392. 0xFFFF,
  1393. 0x03,
  1394. \_SB.PCI0.LNKA,
  1395. 0x00
  1396. }
  1397. })
  1398. Name (API1, Package (0x04)
  1399. {
  1400. Package (0x04)
  1401. {
  1402. 0xFFFF,
  1403. 0x00,
  1404. 0x00,
  1405. 0x11
  1406. },
  1407.  
  1408. Package (0x04)
  1409. {
  1410. 0xFFFF,
  1411. 0x01,
  1412. 0x00,
  1413. 0x12
  1414. },
  1415.  
  1416. Package (0x04)
  1417. {
  1418. 0xFFFF,
  1419. 0x02,
  1420. 0x00,
  1421. 0x13
  1422. },
  1423.  
  1424. Package (0x04)
  1425. {
  1426. 0xFFFF,
  1427. 0x03,
  1428. 0x00,
  1429. 0x10
  1430. }
  1431. })
  1432. Method (_PRT, 0, NotSerialized)
  1433. {
  1434. If (LNot (PICF))
  1435. {
  1436. Return (PIC1)
  1437. }
  1438. Else
  1439. {
  1440. Return (API1)
  1441. }
  1442. }
  1443. }
  1444.  
  1445. Device (PEX2)
  1446. {
  1447. Name (_ADR, 0x001C0002)
  1448. Method (_STA, 0, NotSerialized)
  1449. {
  1450. Return (0x0F)
  1451. }
  1452.  
  1453. Method (_PRW, 0, NotSerialized)
  1454. {
  1455. Return (Package (0x02)
  1456. {
  1457. 0x09,
  1458. 0x05
  1459. })
  1460. }
  1461.  
  1462. Name (PIC2, Package (0x04)
  1463. {
  1464. Package (0x04)
  1465. {
  1466. 0xFFFF,
  1467. 0x00,
  1468. \_SB.PCI0.LNKC,
  1469. 0x00
  1470. },
  1471.  
  1472. Package (0x04)
  1473. {
  1474. 0xFFFF,
  1475. 0x01,
  1476. \_SB.PCI0.LNKD,
  1477. 0x00
  1478. },
  1479.  
  1480. Package (0x04)
  1481. {
  1482. 0xFFFF,
  1483. 0x02,
  1484. \_SB.PCI0.LNKA,
  1485. 0x00
  1486. },
  1487.  
  1488. Package (0x04)
  1489. {
  1490. 0xFFFF,
  1491. 0x03,
  1492. \_SB.PCI0.LNKB,
  1493. 0x00
  1494. }
  1495. })
  1496. Name (API2, Package (0x04)
  1497. {
  1498. Package (0x04)
  1499. {
  1500. 0xFFFF,
  1501. 0x00,
  1502. 0x00,
  1503. 0x12
  1504. },
  1505.  
  1506. Package (0x04)
  1507. {
  1508. 0xFFFF,
  1509. 0x01,
  1510. 0x00,
  1511. 0x13
  1512. },
  1513.  
  1514. Package (0x04)
  1515. {
  1516. 0xFFFF,
  1517. 0x02,
  1518. 0x00,
  1519. 0x10
  1520. },
  1521.  
  1522. Package (0x04)
  1523. {
  1524. 0xFFFF,
  1525. 0x03,
  1526. 0x00,
  1527. 0x11
  1528. }
  1529. })
  1530. Method (_PRT, 0, NotSerialized)
  1531. {
  1532. If (LNot (PICF))
  1533. {
  1534. Return (PIC2)
  1535. }
  1536. Else
  1537. {
  1538. Return (API2)
  1539. }
  1540. }
  1541. }
  1542.  
  1543. Device (PEX3)
  1544. {
  1545. Name (_ADR, 0x001C0003)
  1546. Method (_STA, 0, NotSerialized)
  1547. {
  1548. Return (0x0F)
  1549. }
  1550.  
  1551. Method (_PRW, 0, NotSerialized)
  1552. {
  1553. Return (Package (0x02)
  1554. {
  1555. 0x09,
  1556. 0x05
  1557. })
  1558. }
  1559.  
  1560. Name (PIC3, Package (0x04)
  1561. {
  1562. Package (0x04)
  1563. {
  1564. 0xFFFF,
  1565. 0x00,
  1566. \_SB.PCI0.LNKD,
  1567. 0x00
  1568. },
  1569.  
  1570. Package (0x04)
  1571. {
  1572. 0xFFFF,
  1573. 0x01,
  1574. \_SB.PCI0.LNKA,
  1575. 0x00
  1576. },
  1577.  
  1578. Package (0x04)
  1579. {
  1580. 0xFFFF,
  1581. 0x02,
  1582. \_SB.PCI0.LNKB,
  1583. 0x00
  1584. },
  1585.  
  1586. Package (0x04)
  1587. {
  1588. 0xFFFF,
  1589. 0x03,
  1590. \_SB.PCI0.LNKC,
  1591. 0x00
  1592. }
  1593. })
  1594. Name (API3, Package (0x04)
  1595. {
  1596. Package (0x04)
  1597. {
  1598. 0xFFFF,
  1599. 0x00,
  1600. 0x00,
  1601. 0x13
  1602. },
  1603.  
  1604. Package (0x04)
  1605. {
  1606. 0xFFFF,
  1607. 0x01,
  1608. 0x00,
  1609. 0x10
  1610. },
  1611.  
  1612. Package (0x04)
  1613. {
  1614. 0xFFFF,
  1615. 0x02,
  1616. 0x00,
  1617. 0x11
  1618. },
  1619.  
  1620. Package (0x04)
  1621. {
  1622. 0xFFFF,
  1623. 0x03,
  1624. 0x00,
  1625. 0x12
  1626. }
  1627. })
  1628. Method (_PRT, 0, NotSerialized)
  1629. {
  1630. If (LNot (PICF))
  1631. {
  1632. Return (PIC3)
  1633. }
  1634. Else
  1635. {
  1636. Return (API3)
  1637. }
  1638. }
  1639. }
  1640.  
  1641. Device (PEX4)
  1642. {
  1643. Name (_ADR, 0x001C0004)
  1644. Method (_STA, 0, NotSerialized)
  1645. {
  1646. Return (0x0F)
  1647. }
  1648.  
  1649. Method (_PRW, 0, NotSerialized)
  1650. {
  1651. Return (Package (0x02)
  1652. {
  1653. 0x09,
  1654. 0x05
  1655. })
  1656. }
  1657.  
  1658. Name (PIC4, Package (0x04)
  1659. {
  1660. Package (0x04)
  1661. {
  1662. 0xFFFF,
  1663. 0x00,
  1664. \_SB.PCI0.LNKA,
  1665. 0x00
  1666. },
  1667.  
  1668. Package (0x04)
  1669. {
  1670. 0xFFFF,
  1671. 0x01,
  1672. \_SB.PCI0.LNKB,
  1673. 0x00
  1674. },
  1675.  
  1676. Package (0x04)
  1677. {
  1678. 0xFFFF,
  1679. 0x02,
  1680. \_SB.PCI0.LNKC,
  1681. 0x00
  1682. },
  1683.  
  1684. Package (0x04)
  1685. {
  1686. 0xFFFF,
  1687. 0x03,
  1688. \_SB.PCI0.LNKD,
  1689. 0x00
  1690. }
  1691. })
  1692. Name (API4, Package (0x04)
  1693. {
  1694. Package (0x04)
  1695. {
  1696. 0xFFFF,
  1697. 0x00,
  1698. 0x00,
  1699. 0x10
  1700. },
  1701.  
  1702. Package (0x04)
  1703. {
  1704. 0xFFFF,
  1705. 0x01,
  1706. 0x00,
  1707. 0x11
  1708. },
  1709.  
  1710. Package (0x04)
  1711. {
  1712. 0xFFFF,
  1713. 0x02,
  1714. 0x00,
  1715. 0x12
  1716. },
  1717.  
  1718. Package (0x04)
  1719. {
  1720. 0xFFFF,
  1721. 0x03,
  1722. 0x00,
  1723. 0x13
  1724. }
  1725. })
  1726. Method (_PRT, 0, NotSerialized)
  1727. {
  1728. If (LNot (PICF))
  1729. {
  1730. Return (PIC4)
  1731. }
  1732. Else
  1733. {
  1734. Return (API4)
  1735. }
  1736. }
  1737. }
  1738.  
  1739. Device (PEX5)
  1740. {
  1741. Name (_ADR, 0x001C0005)
  1742. Method (_STA, 0, NotSerialized)
  1743. {
  1744. Return (0x0F)
  1745. }
  1746.  
  1747. Method (_PRW, 0, NotSerialized)
  1748. {
  1749. Return (Package (0x02)
  1750. {
  1751. 0x09,
  1752. 0x05
  1753. })
  1754. }
  1755.  
  1756. Name (PIC5, Package (0x04)
  1757. {
  1758. Package (0x04)
  1759. {
  1760. 0xFFFF,
  1761. 0x00,
  1762. \_SB.PCI0.LNKB,
  1763. 0x00
  1764. },
  1765.  
  1766. Package (0x04)
  1767. {
  1768. 0xFFFF,
  1769. 0x01,
  1770. \_SB.PCI0.LNKC,
  1771. 0x00
  1772. },
  1773.  
  1774. Package (0x04)
  1775. {
  1776. 0xFFFF,
  1777. 0x02,
  1778. \_SB.PCI0.LNKD,
  1779. 0x00
  1780. },
  1781.  
  1782. Package (0x04)
  1783. {
  1784. 0xFFFF,
  1785. 0x03,
  1786. \_SB.PCI0.LNKA,
  1787. 0x00
  1788. }
  1789. })
  1790. Name (API5, Package (0x04)
  1791. {
  1792. Package (0x04)
  1793. {
  1794. 0xFFFF,
  1795. 0x00,
  1796. 0x00,
  1797. 0x11
  1798. },
  1799.  
  1800. Package (0x04)
  1801. {
  1802. 0xFFFF,
  1803. 0x01,
  1804. 0x00,
  1805. 0x12
  1806. },
  1807.  
  1808. Package (0x04)
  1809. {
  1810. 0xFFFF,
  1811. 0x02,
  1812. 0x00,
  1813. 0x13
  1814. },
  1815.  
  1816. Package (0x04)
  1817. {
  1818. 0xFFFF,
  1819. 0x03,
  1820. 0x00,
  1821. 0x10
  1822. }
  1823. })
  1824. Method (_PRT, 0, NotSerialized)
  1825. {
  1826. If (LNot (PICF))
  1827. {
  1828. Return (PIC5)
  1829. }
  1830. Else
  1831. {
  1832. Return (API5)
  1833. }
  1834. }
  1835. }
  1836.  
  1837. Device (HUB0)
  1838. {
  1839. Name (_ADR, 0x001E0000)
  1840. Method (_STA, 0, NotSerialized)
  1841. {
  1842. Return (0x0F)
  1843. }
  1844.  
  1845. Name (PICM, Package (0x08)
  1846. {
  1847. Package (0x04)
  1848. {
  1849. 0xFFFF,
  1850. 0x00,
  1851. \_SB.PCI0.LNKE,
  1852. 0x00
  1853. },
  1854.  
  1855. Package (0x04)
  1856. {
  1857. 0xFFFF,
  1858. 0x01,
  1859. \_SB.PCI0.LNKD,
  1860. 0x00
  1861. },
  1862.  
  1863. Package (0x04)
  1864. {
  1865. 0xFFFF,
  1866. 0x02,
  1867. \_SB.PCI0.LNKC,
  1868. 0x00
  1869. },
  1870.  
  1871. Package (0x04)
  1872. {
  1873. 0xFFFF,
  1874. 0x03,
  1875. \_SB.PCI0.LNKA,
  1876. 0x00
  1877. },
  1878.  
  1879. Package (0x04)
  1880. {
  1881. 0x0001FFFF,
  1882. 0x00,
  1883. \_SB.PCI0.LNKD,
  1884. 0x00
  1885. },
  1886.  
  1887. Package (0x04)
  1888. {
  1889. 0x0001FFFF,
  1890. 0x01,
  1891. \_SB.PCI0.LNKC,
  1892. 0x00
  1893. },
  1894.  
  1895. Package (0x04)
  1896. {
  1897. 0x0001FFFF,
  1898. 0x02,
  1899. \_SB.PCI0.LNKA,
  1900. 0x00
  1901. },
  1902.  
  1903. Package (0x04)
  1904. {
  1905. 0x0001FFFF,
  1906. 0x03,
  1907. \_SB.PCI0.LNKE,
  1908. 0x00
  1909. }
  1910. })
  1911. Name (APIC, Package (0x08)
  1912. {
  1913. Package (0x04)
  1914. {
  1915. 0xFFFF,
  1916. 0x00,
  1917. 0x00,
  1918. 0x14
  1919. },
  1920.  
  1921. Package (0x04)
  1922. {
  1923. 0xFFFF,
  1924. 0x01,
  1925. 0x00,
  1926. 0x13
  1927. },
  1928.  
  1929. Package (0x04)
  1930. {
  1931. 0xFFFF,
  1932. 0x02,
  1933. 0x00,
  1934. 0x12
  1935. },
  1936.  
  1937. Package (0x04)
  1938. {
  1939. 0xFFFF,
  1940. 0x03,
  1941. 0x00,
  1942. 0x10
  1943. },
  1944.  
  1945. Package (0x04)
  1946. {
  1947. 0x0001FFFF,
  1948. 0x00,
  1949. 0x00,
  1950. 0x13
  1951. },
  1952.  
  1953. Package (0x04)
  1954. {
  1955. 0x0001FFFF,
  1956. 0x01,
  1957. 0x00,
  1958. 0x12
  1959. },
  1960.  
  1961. Package (0x04)
  1962. {
  1963. 0x0001FFFF,
  1964. 0x02,
  1965. 0x00,
  1966. 0x10
  1967. },
  1968.  
  1969. Package (0x04)
  1970. {
  1971. 0x0001FFFF,
  1972. 0x03,
  1973. 0x00,
  1974. 0x14
  1975. }
  1976. })
  1977. Method (_PRT, 0, NotSerialized)
  1978. {
  1979. If (LNot (PICF))
  1980. {
  1981. Return (PICM)
  1982. }
  1983. Else
  1984. {
  1985. Return (APIC)
  1986. }
  1987. }
  1988.  
  1989. Method (_PRW, 0, NotSerialized)
  1990. {
  1991. Return (Package (0x02)
  1992. {
  1993. 0x0B,
  1994. 0x05
  1995. })
  1996. }
  1997. }
  1998.  
  1999. Device (PX40)
  2000. {
  2001. Name (_ADR, 0x001F0000)
  2002. OperationRegion (PREV, PCI_Config, 0x08, 0x01)
  2003. Scope (\)
  2004. {
  2005. Field (\_SB.PCI0.PX40.PREV, ByteAcc, NoLock, Preserve)
  2006. {
  2007. REV0, 8
  2008. }
  2009. }
  2010.  
  2011. OperationRegion (PIRQ, PCI_Config, 0x60, 0x04)
  2012. Scope (\)
  2013. {
  2014. Field (\_SB.PCI0.PX40.PIRQ, ByteAcc, NoLock, Preserve)
  2015. {
  2016. PIRA, 8,
  2017. PIRB, 8,
  2018. PIRC, 8,
  2019. PIRD, 8
  2020. }
  2021. }
  2022.  
  2023. OperationRegion (PIR2, PCI_Config, 0x68, 0x04)
  2024. Scope (\)
  2025. {
  2026. Field (\_SB.PCI0.PX40.PIR2, ByteAcc, NoLock, Preserve)
  2027. {
  2028. PIRE, 8,
  2029. PIRF, 8,
  2030. PIRG, 8,
  2031. PIRH, 8
  2032. }
  2033. }
  2034.  
  2035. OperationRegion (LPIO, PCI_Config, 0x80, 0x0E)
  2036. Scope (\)
  2037. {
  2038. Field (\_SB.PCI0.PX40.LPIO, ByteAcc, NoLock, Preserve)
  2039. {
  2040. UAIO, 8,
  2041. PRIO, 8,
  2042. LPE1, 8,
  2043. LPE2, 8,
  2044. GN1L, 8,
  2045. GN1H, 8,
  2046. GN2L, 8,
  2047. GN2H, 8
  2048. }
  2049.  
  2050. Method (DISD, 1, NotSerialized)
  2051. {
  2052. If (LEqual (Arg0, 0x00))
  2053. {
  2054. And (LPE1, 0xFE, LPE1)
  2055. }
  2056.  
  2057. If (LEqual (Arg0, 0x01))
  2058. {
  2059. And (LPE1, 0xFD, LPE1)
  2060. }
  2061.  
  2062. If (LEqual (Arg0, 0x02))
  2063. {
  2064. And (LPE1, 0xFB, LPE1)
  2065. }
  2066.  
  2067. If (LEqual (Arg0, 0x03))
  2068. {
  2069. And (LPE1, 0xF7, LPE1)
  2070. }
  2071.  
  2072. If (LEqual (Arg0, 0x04))
  2073. {
  2074. And (LPE2, 0xFC, LPE2)
  2075. }
  2076.  
  2077. If (LEqual (Arg0, 0x05))
  2078. {
  2079. And (LPE1, 0xDF, LPE1)
  2080. }
  2081.  
  2082. If (LEqual (Arg0, 0x06))
  2083. {
  2084. And (GN2L, 0xFE, GN2L)
  2085. }
  2086. }
  2087.  
  2088. Method (CKIO, 2, NotSerialized)
  2089. {
  2090. If (LEqual (Arg1, 0x00))
  2091. {
  2092. Or (LPE1, 0x01, LPE1)
  2093. And (UAIO, 0xF0, Local0)
  2094. If (LEqual (Arg0, 0x03F8))
  2095. {
  2096. Or (Local0, 0x00, UAIO)
  2097. }
  2098.  
  2099. If (LEqual (Arg0, 0x02F8))
  2100. {
  2101. Or (Local0, 0x01, UAIO)
  2102. }
  2103.  
  2104. If (LEqual (Arg0, 0x02E8))
  2105. {
  2106. Or (Local0, 0x05, UAIO)
  2107. }
  2108.  
  2109. If (LEqual (Arg0, 0x03E8))
  2110. {
  2111. Or (Local0, 0x07, UAIO)
  2112. }
  2113. }
  2114.  
  2115. If (LEqual (Arg1, 0x01))
  2116. {
  2117. Or (LPE1, 0x02, LPE1)
  2118. And (UAIO, 0x0F, Local0)
  2119. If (LEqual (Arg0, 0x03F8))
  2120. {
  2121. Or (Local0, 0x00, UAIO)
  2122. }
  2123.  
  2124. If (LEqual (Arg0, 0x02F8))
  2125. {
  2126. Or (Local0, 0x10, UAIO)
  2127. }
  2128.  
  2129. If (LEqual (Arg0, 0x02E8))
  2130. {
  2131. Or (Local0, 0x50, UAIO)
  2132. }
  2133.  
  2134. If (LEqual (Arg0, 0x03E8))
  2135. {
  2136. Or (Local0, 0x70, UAIO)
  2137. }
  2138. }
  2139.  
  2140. If (LEqual (Arg1, 0x02))
  2141. {
  2142. Or (LPE1, 0x04, LPE1)
  2143. And (PRIO, 0xFC, Local0)
  2144. If (LEqual (Arg0, 0x0378))
  2145. {
  2146. Or (Local0, 0x00, PRIO)
  2147. }
  2148.  
  2149. If (LEqual (Arg0, 0x0278))
  2150. {
  2151. Or (Local0, 0x01, PRIO)
  2152. }
  2153.  
  2154. If (LEqual (Arg0, 0x03BC))
  2155. {
  2156. Or (Local0, 0x02, PRIO)
  2157. }
  2158. }
  2159.  
  2160. If (LEqual (Arg1, 0x03))
  2161. {
  2162. Or (LPE1, 0x08, LPE1)
  2163. }
  2164.  
  2165. If (LEqual (Arg1, 0x04))
  2166. {
  2167. If (LEqual (Arg0, 0x0201))
  2168. {
  2169. Or (LPE2, 0x01, LPE2)
  2170. }
  2171.  
  2172. If (LEqual (Arg0, 0x0209))
  2173. {
  2174. Or (LPE2, 0x02, LPE2)
  2175. }
  2176. }
  2177.  
  2178. If (LEqual (Arg1, 0x06))
  2179. {
  2180. If (LNotEqual (Arg0, 0xFFFF))
  2181. {
  2182. And (Arg0, 0xFF, Local0)
  2183. Or (Local0, 0x01, GN2L)
  2184. ShiftRight (Arg0, 0x08, GN2H)
  2185. }
  2186. Else
  2187. {
  2188. Store (Zero, GN2H)
  2189. Store (Zero, GN2L)
  2190. }
  2191. }
  2192. }
  2193. }
  2194.  
  2195. Scope (\)
  2196. {
  2197. Method (SLDM, 2, NotSerialized)
  2198. {
  2199. }
  2200. }
  2201.  
  2202. Scope (\)
  2203. {
  2204. OperationRegion (\SCPP, SystemIO, 0xB2, 0x01)
  2205. Field (\SCPP, ByteAcc, NoLock, Preserve)
  2206. {
  2207. SMIP, 8
  2208. }
  2209. }
  2210.  
  2211. Method (\_SB.PCI0._INI, 0, NotSerialized)
  2212. {
  2213. If (STRC (\_OS, "Microsoft Windows"))
  2214. {
  2215. Store (0x56, SMIP)
  2216. }
  2217. Else
  2218. {
  2219. If (STRC (\_OS, "Microsoft Windows NT"))
  2220. {
  2221. If (CondRefOf (\_OSI, Local0))
  2222. {
  2223. If (\_OSI ("Windows 2001"))
  2224. {
  2225. Store (0x59, SMIP)
  2226. Store (0x00, OSFL)
  2227. Store (0x03, OSFX)
  2228. }
  2229. }
  2230. Else
  2231. {
  2232. Store (0x58, SMIP)
  2233. Store (0x00, OSFL)
  2234. }
  2235. }
  2236. Else
  2237. {
  2238. Store (0x57, SMIP)
  2239. Store (0x02, OSFL)
  2240. }
  2241. }
  2242. }
  2243.  
  2244. Scope (\)
  2245. {
  2246. Method (OSTP, 0, NotSerialized)
  2247. {
  2248. If (LEqual (OSFL, 0x01))
  2249. {
  2250. Store (0x56, SMIP)
  2251. }
  2252.  
  2253. If (LEqual (OSFL, 0x02))
  2254. {
  2255. Store (0x57, SMIP)
  2256. }
  2257.  
  2258. If (LEqual (OSFL, 0x00))
  2259. {
  2260. If (LEqual (OSFX, 0x03))
  2261. {
  2262. Store (0x59, SMIP)
  2263. }
  2264. Else
  2265. {
  2266. Store (0x58, SMIP)
  2267. }
  2268. }
  2269.  
  2270. If (LEqual (OSFX, 0x03))
  2271. {
  2272. Store (0x59, SMIP)
  2273. }
  2274. }
  2275. }
  2276.  
  2277. Device (SYSR)
  2278. {
  2279. Name (_HID, EisaId ("PNP0C02"))
  2280. Name (_UID, 0x01)
  2281. Name (_CRS, ResourceTemplate ()
  2282. {
  2283. IO (Decode16,
  2284. 0x0010, // Range Minimum
  2285. 0x0010, // Range Maximum
  2286. 0x01, // Alignment
  2287. 0x10, // Length
  2288. )
  2289. IO (Decode16,
  2290. 0x0022, // Range Minimum
  2291. 0x0022, // Range Maximum
  2292. 0x01, // Alignment
  2293. 0x1E, // Length
  2294. )
  2295. IO (Decode16,
  2296. 0x0044, // Range Minimum
  2297. 0x0044, // Range Maximum
  2298. 0x01, // Alignment
  2299. 0x1C, // Length
  2300. )
  2301. IO (Decode16,
  2302. 0x0062, // Range Minimum
  2303. 0x0062, // Range Maximum
  2304. 0x01, // Alignment
  2305. 0x02, // Length
  2306. )
  2307. IO (Decode16,
  2308. 0x0065, // Range Minimum
  2309. 0x0065, // Range Maximum
  2310. 0x01, // Alignment
  2311. 0x0B, // Length
  2312. )
  2313. IO (Decode16,
  2314. 0x0074, // Range Minimum
  2315. 0x0074, // Range Maximum
  2316. 0x01, // Alignment
  2317. 0x0C, // Length
  2318. )
  2319. IO (Decode16,
  2320. 0x0091, // Range Minimum
  2321. 0x0091, // Range Maximum
  2322. 0x01, // Alignment
  2323. 0x03, // Length
  2324. )
  2325. IO (Decode16,
  2326. 0x00A2, // Range Minimum
  2327. 0x00A2, // Range Maximum
  2328. 0x01, // Alignment
  2329. 0x1E, // Length
  2330. )
  2331. IO (Decode16,
  2332. 0x00E0, // Range Minimum
  2333. 0x00E0, // Range Maximum
  2334. 0x01, // Alignment
  2335. 0x10, // Length
  2336. )
  2337. IO (Decode16,
  2338. 0x04D0, // Range Minimum
  2339. 0x04D0, // Range Maximum
  2340. 0x01, // Alignment
  2341. 0x02, // Length
  2342. )
  2343. IO (Decode16,
  2344. 0x0290, // Range Minimum
  2345. 0x0290, // Range Maximum
  2346. 0x01, // Alignment
  2347. 0x10, // Length
  2348. )
  2349. IO (Decode16,
  2350. 0x0800, // Range Minimum
  2351. 0x0800, // Range Maximum
  2352. 0x01, // Alignment
  2353. 0x80, // Length
  2354. )
  2355. IO (Decode16,
  2356. 0x0290, // Range Minimum
  2357. 0x0290, // Range Maximum
  2358. 0x01, // Alignment
  2359. 0x05, // Length
  2360. )
  2361. IO (Decode16,
  2362. 0x0880, // Range Minimum
  2363. 0x0880, // Range Maximum
  2364. 0x01, // Alignment
  2365. 0x10, // Length
  2366. )
  2367. })
  2368. }
  2369.  
  2370. Device (PIC)
  2371. {
  2372. Name (_HID, EisaId ("PNP0000"))
  2373. Name (_CRS, ResourceTemplate ()
  2374. {
  2375. IO (Decode16,
  2376. 0x0020, // Range Minimum
  2377. 0x0020, // Range Maximum
  2378. 0x01, // Alignment
  2379. 0x02, // Length
  2380. )
  2381. IO (Decode16,
  2382. 0x00A0, // Range Minimum
  2383. 0x00A0, // Range Maximum
  2384. 0x01, // Alignment
  2385. 0x02, // Length
  2386. )
  2387.  
  2388. })
  2389. }
  2390.  
  2391. Device (DMA1)
  2392. {
  2393. Name (_HID, EisaId ("PNP0200"))
  2394. Name (_CRS, ResourceTemplate ()
  2395. {
  2396. DMA (Compatibility, BusMaster, Transfer8, )
  2397. {4}
  2398. IO (Decode16,
  2399. 0x0000, // Range Minimum
  2400. 0x0000, // Range Maximum
  2401. 0x01, // Alignment
  2402. 0x10, // Length
  2403. )
  2404. IO (Decode16,
  2405. 0x0080, // Range Minimum
  2406. 0x0080, // Range Maximum
  2407. 0x01, // Alignment
  2408. 0x11, // Length
  2409. )
  2410. IO (Decode16,
  2411. 0x0094, // Range Minimum
  2412. 0x0094, // Range Maximum
  2413. 0x01, // Alignment
  2414. 0x0C, // Length
  2415. )
  2416. IO (Decode16,
  2417. 0x00C0, // Range Minimum
  2418. 0x00C0, // Range Maximum
  2419. 0x01, // Alignment
  2420. 0x20, // Length
  2421. )
  2422. })
  2423. }
  2424.  
  2425. Device (TMR)
  2426. {
  2427. Name (_HID, EisaId ("PNP0100"))
  2428. Name (ATT5, ResourceTemplate ()
  2429. {
  2430. IO (Decode16,
  2431. 0x0040, // Range Minimum
  2432. 0x0040, // Range Maximum
  2433. 0x00, // Alignment
  2434. 0x04, // Length
  2435. )
  2436. IO (Decode16,
  2437. 0x0050, // Range Minimum
  2438. 0x0050, // Range Maximum
  2439. 0x10, // Alignment
  2440. 0x04, // Length
  2441. )
  2442. })
  2443. Name (ATT6, ResourceTemplate ()
  2444. {
  2445. IO (Decode16,
  2446. 0x0040, // Range Minimum
  2447. 0x0040, // Range Maximum
  2448. 0x00, // Alignment
  2449. 0x04, // Length
  2450. )
  2451. })
  2452. Method (_CRS, 0, NotSerialized)
  2453. {
  2454. If (LGreaterEqual (OSFX, 0x03))
  2455. {
  2456. If (HPTF)
  2457. {
  2458. Return (ATT6)
  2459. }
  2460. Else
  2461. {
  2462. Return (ATT5)
  2463. }
  2464. }
  2465. Else
  2466. {
  2467. Return (ATT5)
  2468. }
  2469. }
  2470. }
  2471.  
  2472. Device (HPET)
  2473. {
  2474. Name (_HID, EisaId ("PNP0103"))
  2475. Name (ATT3, ResourceTemplate ()
  2476. {
  2477. IRQNoFlags ()
  2478. {0}
  2479. IRQNoFlags ()
  2480. {8}
  2481. Memory32Fixed (ReadWrite,
  2482. 0xFED00000, // Address Base
  2483. 0x00000400, // Address Length
  2484. )
  2485. })
  2486. Name (ATT4, ResourceTemplate ()
  2487. {
  2488. })
  2489. Method (_STA, 0, NotSerialized)
  2490. {
  2491. If (LGreaterEqual (OSFX, 0x03))
  2492. {
  2493. If (HPTF)
  2494. {
  2495. Return (0x0F)
  2496. }
  2497. Else
  2498. {
  2499. Return (0x00)
  2500. }
  2501. }
  2502. Else
  2503. {
  2504. Return (0x00)
  2505. }
  2506. }
  2507.  
  2508. Method (_CRS, 0, NotSerialized)
  2509. {
  2510. If (LGreaterEqual (OSFX, 0x03))
  2511. {
  2512. If (HPTF)
  2513. {
  2514. Return (ATT3)
  2515. }
  2516. Else
  2517. {
  2518. Return (ATT4)
  2519. }
  2520. }
  2521. Else
  2522. {
  2523. Return (ATT4)
  2524. }
  2525. }
  2526. }
  2527.  
  2528. Device (RTC)
  2529. {
  2530. Name (_HID, EisaId ("PNP0B00"))
  2531. Name (ATT0, ResourceTemplate ()
  2532. {
  2533. IO (Decode16,
  2534. 0x0070, // Range Minimum
  2535. 0x0070, // Range Maximum
  2536. 0x00, // Alignment
  2537. 0x02, // Length
  2538. )
  2539. })
  2540. Name (ATT1, ResourceTemplate ()
  2541. {
  2542. IO (Decode16,
  2543. 0x0070, // Range Minimum
  2544. 0x0070, // Range Maximum
  2545. 0x00, // Alignment
  2546. 0x04, // Length
  2547. )
  2548. })
  2549. Method (_CRS, 0, NotSerialized)
  2550. {
  2551. If (LGreaterEqual (OSFX, 0x03))
  2552. {
  2553. If (HPTF)
  2554. {
  2555. Return (ATT1)
  2556. }
  2557. Else
  2558. {
  2559. Return (ATT0)
  2560. }
  2561. }
  2562. Else
  2563. {
  2564. Return (ATT0)
  2565. }
  2566. }
  2567. }
  2568.  
  2569. Device (SPKR)
  2570. {
  2571. Name (_HID, EisaId ("PNP0800"))
  2572. Name (_CRS, ResourceTemplate ()
  2573. {
  2574. IO (Decode16,
  2575. 0x0061, // Range Minimum
  2576. 0x0061, // Range Maximum
  2577. 0x01, // Alignment
  2578. 0x01, // Length
  2579. )
  2580. })
  2581. }
  2582.  
  2583. Device (COPR)
  2584. {
  2585. Name (_HID, EisaId ("PNP0C04"))
  2586. Name (_CRS, ResourceTemplate ()
  2587. {
  2588. IO (Decode16,
  2589. 0x00F0, // Range Minimum
  2590. 0x00F0, // Range Maximum
  2591. 0x01, // Alignment
  2592. 0x10, // Length
  2593. )
  2594. IRQNoFlags ()
  2595. {13}
  2596. })
  2597. }
  2598.  
  2599. Scope (\)
  2600. {
  2601. OperationRegion (WIN1, SystemIO, 0x2E, 0x02)
  2602. Field (WIN1, ByteAcc, NoLock, Preserve)
  2603. {
  2604. INDP, 8,
  2605. DATP, 8
  2606. }
  2607.  
  2608. OperationRegion (GPIO, SystemIO, 0x0800, 0x05)
  2609. Field (GPIO, ByteAcc, NoLock, Preserve)
  2610. {
  2611. GO01, 8,
  2612. GO02, 8,
  2613. GO03, 8,
  2614. GO04, 8,
  2615. GO05, 8
  2616. }
  2617.  
  2618. IndexField (INDP, DATP, ByteAcc, NoLock, Preserve)
  2619. {
  2620. Offset (0x02),
  2621. CFG, 8,
  2622. Offset (0x07),
  2623. LDN, 8,
  2624. Offset (0x20),
  2625. IDHI, 8,
  2626. IDLO, 8,
  2627. POWC, 8,
  2628. Offset (0x30),
  2629. ACTR, 8,
  2630. Offset (0x60),
  2631. IOAH, 8,
  2632. IOAL, 8,
  2633. IO2H, 8,
  2634. IO2L, 8,
  2635. Offset (0x70),
  2636. INTR, 8,
  2637. Offset (0x72),
  2638. INT1, 8,
  2639. Offset (0x74),
  2640. DMCH, 8,
  2641. Offset (0xC0),
  2642. GP40, 8,
  2643. Offset (0xF0),
  2644. OPT1, 8,
  2645. OPT2, 8,
  2646. OPT3, 8,
  2647. OPT4, 8
  2648. }
  2649.  
  2650. Method (ENFG, 0, NotSerialized)
  2651. {
  2652. Store (0x87, INDP)
  2653. Store (0x01, INDP)
  2654. Store (0x55, INDP)
  2655. Store (0x55, INDP)
  2656. }
  2657.  
  2658. Method (EXFG, 0, NotSerialized)
  2659. {
  2660. Store (0x02, CFG)
  2661. }
  2662.  
  2663. Method (GSRG, 1, NotSerialized)
  2664. {
  2665. Store (Arg0, INDP)
  2666. Return (DATP)
  2667. }
  2668.  
  2669. Method (SSRG, 2, NotSerialized)
  2670. {
  2671. Store (Arg0, INDP)
  2672. Store (Arg1, DATP)
  2673. }
  2674. }
  2675.  
  2676. Device (FDC0)
  2677. {
  2678. Name (_HID, EisaId ("PNP0700"))
  2679. Method (_STA, 0, NotSerialized)
  2680. {
  2681. ENFG ()
  2682. Store (Zero, LDN)
  2683. If (ACTR)
  2684. {
  2685. EXFG ()
  2686. Return (0x0F)
  2687. }
  2688. Else
  2689. {
  2690. If (LOr (IOAH, IOAL))
  2691. {
  2692. EXFG ()
  2693. Return (0x0D)
  2694. }
  2695. Else
  2696. {
  2697. EXFG ()
  2698. Return (0x00)
  2699. }
  2700. }
  2701. }
  2702.  
  2703. Method (_DIS, 0, NotSerialized)
  2704. {
  2705. ENFG ()
  2706. Store (0x00, LDN)
  2707. Store (Zero, ACTR)
  2708. SLDM (DMCH, 0x04)
  2709. EXFG ()
  2710. DISD (0x03)
  2711. }
  2712.  
  2713. Method (_CRS, 0, NotSerialized)
  2714. {
  2715. Name (BUF0, ResourceTemplate ()
  2716. {
  2717. IO (Decode16,
  2718. 0x03F0, // Range Minimum
  2719. 0x03F0, // Range Maximum
  2720. 0x01, // Alignment
  2721. 0x06, // Length
  2722. _Y01)
  2723. IO (Decode16,
  2724. 0x03F7, // Range Minimum
  2725. 0x03F7, // Range Maximum
  2726. 0x01, // Alignment
  2727. 0x01, // Length
  2728. )
  2729. IRQNoFlags ()
  2730. {6}
  2731. DMA (Compatibility, NotBusMaster, Transfer8, )
  2732. {2}
  2733. })
  2734. CreateByteField (BUF0, \_SB.PCI0.PX40.FDC0._CRS._Y01._MIN, IOLO)
  2735. CreateByteField (BUF0, 0x03, IOHI)
  2736. CreateByteField (BUF0, \_SB.PCI0.PX40.FDC0._CRS._Y01._MAX, IORL)
  2737. CreateByteField (BUF0, 0x05, IORH)
  2738. ENFG ()
  2739. EXFG ()
  2740. Return (BUF0)
  2741. }
  2742.  
  2743. Name (_PRS, ResourceTemplate ()
  2744. {
  2745. StartDependentFnNoPri ()
  2746. {
  2747. IO (Decode16,
  2748. 0x03F0, // Range Minimum
  2749. 0x03F0, // Range Maximum
  2750. 0x01, // Alignment
  2751. 0x06, // Length
  2752. )
  2753. IO (Decode16,
  2754. 0x03F7, // Range Minimum
  2755. 0x03F7, // Range Maximum
  2756. 0x01, // Alignment
  2757. 0x01, // Length
  2758. )
  2759. IRQNoFlags ()
  2760. {6}
  2761. DMA (Compatibility, NotBusMaster, Transfer8, )
  2762. {2}
  2763. }
  2764. EndDependentFn ()
  2765. })
  2766. Method (_SRS, 1, NotSerialized)
  2767. {
  2768. CreateByteField (Arg0, 0x02, IOLO)
  2769. CreateByteField (Arg0, 0x03, IOHI)
  2770. CreateWordField (Arg0, 0x02, IOAD)
  2771. CreateWordField (Arg0, 0x19, IRQW)
  2772. CreateByteField (Arg0, 0x1C, DMAV)
  2773. ENFG ()
  2774. Store (Zero, LDN)
  2775. Store (One, ACTR)
  2776. SLDM (DMCH, DMCH)
  2777. CKIO (IOAD, 0x03)
  2778. EXFG ()
  2779. }
  2780. }
  2781.  
  2782. Device (UAR1)
  2783. {
  2784. Name (_HID, EisaId ("PNP0501"))
  2785. Name (_UID, 0x01)
  2786. Method (_STA, 0, NotSerialized)
  2787. {
  2788. ENFG ()
  2789. Store (0x01, LDN)
  2790. If (ACTR)
  2791. {
  2792. EXFG ()
  2793. Return (0x0F)
  2794. }
  2795. Else
  2796. {
  2797. If (LOr (IOAH, IOAL))
  2798. {
  2799. EXFG ()
  2800. Return (0x0D)
  2801. }
  2802. Else
  2803. {
  2804. EXFG ()
  2805. Return (0x00)
  2806. }
  2807. }
  2808.  
  2809. EXFG ()
  2810. }
  2811.  
  2812. Method (_DIS, 0, NotSerialized)
  2813. {
  2814. ENFG ()
  2815. Store (0x01, LDN)
  2816. Store (Zero, ACTR)
  2817. EXFG ()
  2818. DISD (0x00)
  2819. }
  2820.  
  2821. Method (_CRS, 0, NotSerialized)
  2822. {
  2823. Name (BUF1, ResourceTemplate ()
  2824. {
  2825. IO (Decode16,
  2826. 0x0000, // Range Minimum
  2827. 0x0000, // Range Maximum
  2828. 0x01, // Alignment
  2829. 0x08, // Length
  2830. _Y02)
  2831. IRQNoFlags (_Y03)
  2832. {}
  2833. })
  2834. CreateByteField (BUF1, \_SB.PCI0.PX40.UAR1._CRS._Y02._MIN, IOLO)
  2835. CreateByteField (BUF1, 0x03, IOHI)
  2836. CreateByteField (BUF1, \_SB.PCI0.PX40.UAR1._CRS._Y02._MAX, IORL)
  2837. CreateByteField (BUF1, 0x05, IORH)
  2838. CreateWordField (BUF1, \_SB.PCI0.PX40.UAR1._CRS._Y03._INT, IRQW)
  2839. ENFG ()
  2840. Store (0x01, LDN)
  2841. Store (IOAL, IOLO)
  2842. Store (IOAL, IORL)
  2843. Store (IOAH, IOHI)
  2844. Store (IOAH, IORH)
  2845. Store (One, Local0)
  2846. ShiftLeft (Local0, INTR, IRQW)
  2847. EXFG ()
  2848. Return (BUF1)
  2849. }
  2850.  
  2851. Name (_PRS, ResourceTemplate ()
  2852. {
  2853. StartDependentFnNoPri ()
  2854. {
  2855. IO (Decode16,
  2856. 0x03F8, // Range Minimum
  2857. 0x03F8, // Range Maximum
  2858. 0x01, // Alignment
  2859. 0x08, // Length
  2860. )
  2861. IRQNoFlags ()
  2862. {3,4,5,7,9,10,11,12}
  2863. }
  2864. StartDependentFnNoPri ()
  2865. {
  2866. IO (Decode16,
  2867. 0x02F8, // Range Minimum
  2868. 0x02F8, // Range Maximum
  2869. 0x01, // Alignment
  2870. 0x08, // Length
  2871. )
  2872. IRQNoFlags ()
  2873. {3,4,5,7,9,10,11,12}
  2874. }
  2875. StartDependentFnNoPri ()
  2876. {
  2877. IO (Decode16,
  2878. 0x03E8, // Range Minimum
  2879. 0x03E8, // Range Maximum
  2880. 0x01, // Alignment
  2881. 0x08, // Length
  2882. )
  2883. IRQNoFlags ()
  2884. {3,4,5,7,9,10,11,12}
  2885. }
  2886. StartDependentFnNoPri ()
  2887. {
  2888. IO (Decode16,
  2889. 0x02E8, // Range Minimum
  2890. 0x02E8, // Range Maximum
  2891. 0x01, // Alignment
  2892. 0x08, // Length
  2893. )
  2894. IRQNoFlags ()
  2895. {3,4,5,7,9,10,11,12}
  2896. }
  2897. EndDependentFn ()
  2898. })
  2899. Method (_SRS, 1, NotSerialized)
  2900. {
  2901. CreateByteField (Arg0, 0x02, IOLO)
  2902. CreateByteField (Arg0, 0x03, IOHI)
  2903. CreateWordField (Arg0, 0x02, IOAD)
  2904. CreateWordField (Arg0, 0x09, IRQW)
  2905. ENFG ()
  2906. Store (0x01, LDN)
  2907. Store (One, ACTR)
  2908. Store (IOLO, IOAL)
  2909. Store (IOHI, IOAH)
  2910. FindSetRightBit (IRQW, Local0)
  2911. Subtract (Local0, 0x01, INTR)
  2912. EXFG ()
  2913. CKIO (IOAD, 0x00)
  2914. }
  2915.  
  2916. Method (_PRW, 0, NotSerialized)
  2917. {
  2918. If (SUSF)
  2919. {
  2920. Return (Package (0x02)
  2921. {
  2922. 0x08,
  2923. 0x03
  2924. })
  2925. }
  2926. Else
  2927. {
  2928. Return (Package (0x02)
  2929. {
  2930. 0x08,
  2931. 0x01
  2932. })
  2933. }
  2934. }
  2935.  
  2936. Method (_PSW, 1, NotSerialized)
  2937. {
  2938. If (Arg0)
  2939. {
  2940. Or (G2C2, 0x01, G2C2)
  2941. }
  2942. Else
  2943. {
  2944. And (G2C2, 0xFE, G2C2)
  2945. }
  2946. }
  2947. }
  2948.  
  2949. Device (LPT1)
  2950. {
  2951. Name (_HID, EisaId ("PNP0400"))
  2952. Method (_STA, 0, NotSerialized)
  2953. {
  2954. ENFG ()
  2955. Store (0x03, LDN)
  2956. And (OPT1, 0x02, Local0)
  2957. If (LNotEqual (Local0, 0x02))
  2958. {
  2959. If (ACTR)
  2960. {
  2961. EXFG ()
  2962. Return (0x0F)
  2963. }
  2964. Else
  2965. {
  2966. If (LOr (IOAH, IOAL))
  2967. {
  2968. EXFG ()
  2969. Return (0x0D)
  2970. }
  2971. Else
  2972. {
  2973. EXFG ()
  2974. Return (0x00)
  2975. }
  2976. }
  2977. }
  2978. Else
  2979. {
  2980. EXFG ()
  2981. Return (0x00)
  2982. }
  2983. }
  2984.  
  2985. Method (_DIS, 0, NotSerialized)
  2986. {
  2987. ENFG ()
  2988. Store (0x03, LDN)
  2989. Store (Zero, ACTR)
  2990. EXFG ()
  2991. DISD (0x02)
  2992. }
  2993.  
  2994. Method (_CRS, 0, NotSerialized)
  2995. {
  2996. Name (BUF5, ResourceTemplate ()
  2997. {
  2998. IO (Decode16,
  2999. 0x0000, // Range Minimum
  3000. 0x0000, // Range Maximum
  3001. 0x01, // Alignment
  3002. 0x08, // Length
  3003. _Y04)
  3004. IRQNoFlags (_Y05)
  3005. {}
  3006. })
  3007. CreateByteField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y04._MIN, IOLO)
  3008. CreateByteField (BUF5, 0x03, IOHI)
  3009. CreateByteField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y04._MAX, IORL)
  3010. CreateByteField (BUF5, 0x05, IORH)
  3011. CreateByteField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y04._LEN, IOLE)
  3012. CreateWordField (BUF5, \_SB.PCI0.PX40.LPT1._CRS._Y05._INT, IRQW)
  3013. ENFG ()
  3014. Store (0x03, LDN)
  3015. Store (IOAL, IOLO)
  3016. Store (IOLO, IORL)
  3017. Store (IOAH, IOHI)
  3018. Store (IOHI, IORH)
  3019. If (LEqual (IOLO, 0xBC))
  3020. {
  3021. Store (0x04, IOLE)
  3022. }
  3023. Else
  3024. {
  3025. Store (0x08, IOLE)
  3026. }
  3027.  
  3028. Store (One, Local0)
  3029. Store (INTR, Local5)
  3030. ShiftLeft (Local0, Local5, IRQW)
  3031. EXFG ()
  3032. Return (BUF5)
  3033. }
  3034.  
  3035. Name (_PRS, ResourceTemplate ()
  3036. {
  3037. StartDependentFnNoPri ()
  3038. {
  3039. IO (Decode16,
  3040. 0x0378, // Range Minimum
  3041. 0x0378, // Range Maximum
  3042. 0x01, // Alignment
  3043. 0x08, // Length
  3044. )
  3045. IRQNoFlags ()
  3046. {3,4,5,7,9,10,11,12}
  3047. }
  3048. StartDependentFnNoPri ()
  3049. {
  3050. IO (Decode16,
  3051. 0x0278, // Range Minimum
  3052. 0x0278, // Range Maximum
  3053. 0x01, // Alignment
  3054. 0x08, // Length
  3055. )
  3056. IRQNoFlags ()
  3057. {3,4,5,7,9,10,11,12}
  3058. }
  3059. StartDependentFnNoPri ()
  3060. {
  3061. IO (Decode16,
  3062. 0x03BC, // Range Minimum
  3063. 0x03BC, // Range Maximum
  3064. 0x01, // Alignment
  3065. 0x04, // Length
  3066. )
  3067. IRQNoFlags ()
  3068. {3,4,5,7,9,10,11,12}
  3069. }
  3070. EndDependentFn ()
  3071. })
  3072. Method (_SRS, 1, NotSerialized)
  3073. {
  3074. CreateByteField (Arg0, 0x02, IOLO)
  3075. CreateByteField (Arg0, 0x03, IOHI)
  3076. CreateWordField (Arg0, 0x02, IOAD)
  3077. CreateByteField (Arg0, 0x04, IORL)
  3078. CreateByteField (Arg0, 0x05, IORH)
  3079. CreateWordField (Arg0, 0x09, IRQW)
  3080. ENFG ()
  3081. Store (0x03, LDN)
  3082. Store (One, ACTR)
  3083. Store (IOLO, IOAL)
  3084. Store (IOHI, IOAH)
  3085. FindSetLeftBit (IRQW, Local0)
  3086. Subtract (Local0, 0x01, Local0)
  3087. Store (Local0, INTR)
  3088. EXFG ()
  3089. CKIO (IOAD, 0x02)
  3090. }
  3091. }
  3092.  
  3093. Device (ECP1)
  3094. {
  3095. Name (_HID, EisaId ("PNP0401"))
  3096. Method (_STA, 0, NotSerialized)
  3097. {
  3098. ENFG ()
  3099. Store (0x03, LDN)
  3100. And (OPT1, 0x02, Local0)
  3101. If (LEqual (Local0, 0x02))
  3102. {
  3103. If (ACTR)
  3104. {
  3105. EXFG ()
  3106. Return (0x0F)
  3107. }
  3108. Else
  3109. {
  3110. If (LOr (IOAH, IOAL))
  3111. {
  3112. EXFG ()
  3113. Return (0x0D)
  3114. }
  3115. Else
  3116. {
  3117. EXFG ()
  3118. Return (0x00)
  3119. }
  3120. }
  3121. }
  3122. Else
  3123. {
  3124. EXFG ()
  3125. Return (0x00)
  3126. }
  3127. }
  3128.  
  3129. Method (_DIS, 0, NotSerialized)
  3130. {
  3131. ENFG ()
  3132. Store (0x03, LDN)
  3133. Store (Zero, ACTR)
  3134. SLDM (DMCH, 0x04)
  3135. EXFG ()
  3136. DISD (0x02)
  3137. }
  3138.  
  3139. Method (_CRS, 0, NotSerialized)
  3140. {
  3141. Name (BUF6, ResourceTemplate ()
  3142. {
  3143. IO (Decode16,
  3144. 0x0000, // Range Minimum
  3145. 0x0000, // Range Maximum
  3146. 0x01, // Alignment
  3147. 0x04, // Length
  3148. _Y06)
  3149. IO (Decode16,
  3150. 0x0000, // Range Minimum
  3151. 0x0000, // Range Maximum
  3152. 0x01, // Alignment
  3153. 0x04, // Length
  3154. _Y07)
  3155. IRQNoFlags (_Y08)
  3156. {}
  3157. DMA (Compatibility, NotBusMaster, Transfer8, _Y09)
  3158. {}
  3159. })
  3160. CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y06._MIN, IOLO)
  3161. CreateByteField (BUF6, 0x03, IOHI)
  3162. CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y06._MAX, IORL)
  3163. CreateByteField (BUF6, 0x05, IORH)
  3164. CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y06._LEN, IOLE)
  3165. CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y07._MIN, IOEL)
  3166. CreateByteField (BUF6, 0x0B, IOEH)
  3167. CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y07._MAX, IOML)
  3168. CreateByteField (BUF6, 0x0D, IOMH)
  3169. CreateWordField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y08._INT, IRQW)
  3170. CreateByteField (BUF6, \_SB.PCI0.PX40.ECP1._CRS._Y09._DMA, DMAC)
  3171. ENFG ()
  3172. Store (0x03, LDN)
  3173. Store (IOAL, Local2)
  3174. Store (Local2, IOLO)
  3175. Store (IOAH, Local3)
  3176. Store (Local3, IOHI)
  3177. Or (Local3, 0x04, Local3)
  3178. Store (Local3, IOEH)
  3179. Store (Local3, IOMH)
  3180. Store (IOLO, IORL)
  3181. Store (IOLO, IOEL)
  3182. Store (IOLO, IOML)
  3183. Store (IOHI, IORH)
  3184. If (LEqual (IOLO, 0xBC))
  3185. {
  3186. Store (0x04, IOLE)
  3187. }
  3188. Else
  3189. {
  3190. Store (0x08, IOLE)
  3191. }
  3192.  
  3193. Store (One, Local0)
  3194. Store (INTR, Local5)
  3195. ShiftLeft (Local0, Local5, IRQW)
  3196. Store (One, Local0)
  3197. Store (DMCH, Local5)
  3198. ShiftLeft (Local0, Local5, DMAC)
  3199. EXFG ()
  3200. Return (BUF6)
  3201. }
  3202.  
  3203. Name (_PRS, ResourceTemplate ()
  3204. {
  3205. StartDependentFnNoPri ()
  3206. {
  3207. IO (Decode16,
  3208. 0x0378, // Range Minimum
  3209. 0x0378, // Range Maximum
  3210. 0x00, // Alignment
  3211. 0x08, // Length
  3212. )
  3213. IO (Decode16,
  3214. 0x0778, // Range Minimum
  3215. 0x0778, // Range Maximum
  3216. 0x00, // Alignment
  3217. 0x04, // Length
  3218. )
  3219. IRQNoFlags ()
  3220. {3,4,5,7,9,10,11,12}
  3221. DMA (Compatibility, NotBusMaster, Transfer8, )
  3222. {0,1,3}
  3223. }
  3224. StartDependentFnNoPri ()
  3225. {
  3226. IO (Decode16,
  3227. 0x0278, // Range Minimum
  3228. 0x0278, // Range Maximum
  3229. 0x00, // Alignment
  3230. 0x08, // Length
  3231. )
  3232. IO (Decode16,
  3233. 0x0678, // Range Minimum
  3234. 0x0678, // Range Maximum
  3235. 0x00, // Alignment
  3236. 0x04, // Length
  3237. )
  3238. IRQNoFlags ()
  3239. {3,4,5,7,9,10,11,12}
  3240. DMA (Compatibility, NotBusMaster, Transfer8, )
  3241. {0,1,3}
  3242. }
  3243. StartDependentFnNoPri ()
  3244. {
  3245. IO (Decode16,
  3246. 0x03BC, // Range Minimum
  3247. 0x03BC, // Range Maximum
  3248. 0x00, // Alignment
  3249. 0x04, // Length
  3250. )
  3251. IO (Decode16,
  3252. 0x07BC, // Range Minimum
  3253. 0x07BC, // Range Maximum
  3254. 0x00, // Alignment
  3255. 0x04, // Length
  3256. )
  3257. IRQNoFlags ()
  3258. {3,4,5,7,9,10,11,12}
  3259. DMA (Compatibility, NotBusMaster, Transfer8, )
  3260. {0,1,3}
  3261. }
  3262. EndDependentFn ()
  3263. })
  3264. Method (_SRS, 1, NotSerialized)
  3265. {
  3266. CreateByteField (Arg0, 0x02, IOLO)
  3267. CreateByteField (Arg0, 0x03, IOHI)
  3268. CreateWordField (Arg0, 0x02, IOAD)
  3269. CreateWordField (Arg0, 0x11, IRQW)
  3270. CreateByteField (Arg0, 0x14, DMAC)
  3271. ENFG ()
  3272. Store (0x03, LDN)
  3273. Store (One, ACTR)
  3274. Store (IOLO, IOAL)
  3275. Store (IOHI, IOAH)
  3276. FindSetLeftBit (IRQW, Local0)
  3277. Subtract (Local0, 0x01, Local0)
  3278. Store (Local0, INTR)
  3279. FindSetLeftBit (DMAC, Local1)
  3280. Store (DMCH, Local0)
  3281. Subtract (Local1, 0x01, DMCH)
  3282. SLDM (Local0, DMCH)
  3283. EXFG ()
  3284. CKIO (IOAD, 0x02)
  3285. }
  3286. }
  3287.  
  3288. OperationRegion (KBCT, SystemIO, 0x60, 0x05)
  3289. Field (KBCT, ByteAcc, NoLock, Preserve)
  3290. {
  3291. P060, 8,
  3292. Offset (0x04),
  3293. P064, 8
  3294. }
  3295.  
  3296. Device (PS2M)
  3297. {
  3298. Name (_HID, EisaId ("PNP0F13"))
  3299. Method (_STA, 0, NotSerialized)
  3300. {
  3301. If (LEqual (PS2F, 0x00))
  3302. {
  3303. Return (0x0F)
  3304. }
  3305. Else
  3306. {
  3307. Return (0x00)
  3308. }
  3309. }
  3310.  
  3311. Method (_CRS, 0, NotSerialized)
  3312. {
  3313. Name (BUF1, ResourceTemplate ()
  3314. {
  3315. IRQNoFlags ()
  3316. {12}
  3317. })
  3318. Name (BUF2, ResourceTemplate ()
  3319. {
  3320. IO (Decode16,
  3321. 0x0060, // Range Minimum
  3322. 0x0060, // Range Maximum
  3323. 0x01, // Alignment
  3324. 0x01, // Length
  3325. )
  3326. IO (Decode16,
  3327. 0x0064, // Range Minimum
  3328. 0x0064, // Range Maximum
  3329. 0x01, // Alignment
  3330. 0x01, // Length
  3331. )
  3332. IRQNoFlags ()
  3333. {12}
  3334. })
  3335. If (LEqual (KBDI, 0x01))
  3336. {
  3337. If (LEqual (OSFL, 0x02))
  3338. {
  3339. Return (BUF1)
  3340. }
  3341.  
  3342. If (LEqual (OSFL, 0x01))
  3343. {
  3344. Return (BUF1)
  3345. }
  3346. Else
  3347. {
  3348. Return (BUF2)
  3349. }
  3350. }
  3351. Else
  3352. {
  3353. Return (BUF1)
  3354. }
  3355. }
  3356. }
  3357.  
  3358. Device (PS2K)
  3359. {
  3360. Name (_HID, EisaId ("PNP0303"))
  3361. Method (_STA, 0, NotSerialized)
  3362. {
  3363. If (LEqual (KBDI, 0x01))
  3364. {
  3365. Return (0x00)
  3366. }
  3367. Else
  3368. {
  3369. Return (0x0F)
  3370. }
  3371. }
  3372.  
  3373. Name (_CRS, ResourceTemplate ()
  3374. {
  3375. IO (Decode16,
  3376. 0x0060, // Range Minimum
  3377. 0x0060, // Range Maximum
  3378. 0x01, // Alignment
  3379. 0x01, // Length
  3380. )
  3381. IO (Decode16,
  3382. 0x0064, // Range Minimum
  3383. 0x0064, // Range Maximum
  3384. 0x01, // Alignment
  3385. 0x01, // Length
  3386. )
  3387. IRQNoFlags ()
  3388. {1}
  3389. })
  3390. }
  3391.  
  3392. Device (PSMR)
  3393. {
  3394. Name (_HID, EisaId ("PNP0C02"))
  3395. Name (_UID, 0x03)
  3396. Method (_STA, 0, NotSerialized)
  3397. {
  3398. If (LEqual (KBDI, 0x00))
  3399. {
  3400. Return (0x00)
  3401. }
  3402.  
  3403. If (LEqual (PS2F, 0x00))
  3404. {
  3405. If (LEqual (OSFL, 0x02))
  3406. {
  3407. Return (0x0F)
  3408. }
  3409.  
  3410. If (LEqual (OSFL, 0x01))
  3411. {
  3412. Return (0x0F)
  3413. }
  3414.  
  3415. Return (0x00)
  3416. }
  3417.  
  3418. Return (0x00)
  3419. }
  3420.  
  3421. Name (_CRS, ResourceTemplate ()
  3422. {
  3423. IO (Decode16,
  3424. 0x0060, // Range Minimum
  3425. 0x0060, // Range Maximum
  3426. 0x01, // Alignment
  3427. 0x01, // Length
  3428. )
  3429. IO (Decode16,
  3430. 0x0064, // Range Minimum
  3431. 0x0064, // Range Maximum
  3432. 0x01, // Alignment
  3433. 0x01, // Length
  3434. )
  3435. })
  3436. }
  3437.  
  3438. Device (PMIO)
  3439. {
  3440. Name (_HID, EisaId ("PNP0C02"))
  3441. Name (_UID, 0x02)
  3442. Method (_CRS, 0, NotSerialized)
  3443. {
  3444. Name (BUF0, ResourceTemplate ()
  3445. {
  3446. IO (Decode16,
  3447. 0x0400, // Range Minimum
  3448. 0x0400, // Range Maximum
  3449. 0x01, // Alignment
  3450. 0xD0, // Length
  3451. )
  3452. })
  3453. Return (BUF0)
  3454. }
  3455. }
  3456. }
  3457.  
  3458. Device (USB0)
  3459. {
  3460. Name (_ADR, 0x001D0000)
  3461. Method (_S3D, 0, NotSerialized)
  3462. {
  3463. If (LEqual (OSFL, 0x02))
  3464. {
  3465. Return (0x02)
  3466. }
  3467.  
  3468. Return (0x03)
  3469. }
  3470.  
  3471. Name (_PRW, Package (0x02)
  3472. {
  3473. 0x03,
  3474. 0x03
  3475. })
  3476. }
  3477.  
  3478. Device (USB1)
  3479. {
  3480. Name (_ADR, 0x001D0001)
  3481. Method (_S3D, 0, NotSerialized)
  3482. {
  3483. If (LEqual (OSFL, 0x02))
  3484. {
  3485. Return (0x02)
  3486. }
  3487.  
  3488. Return (0x03)
  3489. }
  3490.  
  3491. Name (_PRW, Package (0x02)
  3492. {
  3493. 0x04,
  3494. 0x03
  3495. })
  3496. }
  3497.  
  3498. Device (USB2)
  3499. {
  3500. Name (_ADR, 0x001D0002)
  3501. Method (_S3D, 0, NotSerialized)
  3502. {
  3503. If (LEqual (OSFL, 0x02))
  3504. {
  3505. Return (0x02)
  3506. }
  3507.  
  3508. Return (0x03)
  3509. }
  3510.  
  3511. Name (_PRW, Package (0x02)
  3512. {
  3513. 0x0C,
  3514. 0x03
  3515. })
  3516. }
  3517.  
  3518. Device (USB3)
  3519. {
  3520. Name (_ADR, 0x001D0003)
  3521. Method (_S3D, 0, NotSerialized)
  3522. {
  3523. If (LEqual (OSFL, 0x02))
  3524. {
  3525. Return (0x02)
  3526. }
  3527.  
  3528. Return (0x03)
  3529. }
  3530.  
  3531. Name (_PRW, Package (0x02)
  3532. {
  3533. 0x0E,
  3534. 0x03
  3535. })
  3536. }
  3537.  
  3538. Device (USBE)
  3539. {
  3540. Name (_ADR, 0x001D0007)
  3541. Method (_S3D, 0, NotSerialized)
  3542. {
  3543. If (LEqual (OSFL, 0x02))
  3544. {
  3545. Return (0x02)
  3546. }
  3547.  
  3548. Return (0x03)
  3549. }
  3550.  
  3551. Name (_PRW, Package (0x02)
  3552. {
  3553. 0x0D,
  3554. 0x03
  3555. })
  3556. }
  3557.  
  3558. Name (NATA, Package (0x01)
  3559. {
  3560. 0x001F0001
  3561. })
  3562. Device (ICHX)
  3563. {
  3564. Name (_ADR, 0x001F0001)
  3565. OperationRegion (PCI, PCI_Config, 0x40, 0x20)
  3566. Field (PCI, DWordAcc, NoLock, Preserve)
  3567. {
  3568. ITM0, 16,
  3569. ITM1, 16,
  3570. SIT0, 4,
  3571. SIT1, 4,
  3572. Offset (0x08),
  3573. UDC0, 2,
  3574. UDC1, 2,
  3575. Offset (0x0A),
  3576. UDT0, 8,
  3577. UDT1, 8,
  3578. Offset (0x14),
  3579. ICF0, 2,
  3580. ICF1, 2,
  3581. , 6,
  3582. WPPE, 1,
  3583. , 1,
  3584. FAS0, 2,
  3585. FAS1, 2
  3586. }
  3587.  
  3588. Method (GTM, 6, NotSerialized)
  3589. {
  3590. Store (Buffer (0x14) {}, Local0)
  3591. CreateDWordField (Local0, 0x00, PIO0)
  3592. CreateDWordField (Local0, 0x04, DMA0)
  3593. CreateDWordField (Local0, 0x08, PIO1)
  3594. CreateDWordField (Local0, 0x0C, DMA1)
  3595. CreateDWordField (Local0, 0x10, FLAG)
  3596. Store (0x10, FLAG)
  3597. If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01
  3598. ))))
  3599. {
  3600. Store (0x0384, PIO0)
  3601. }
  3602. Else
  3603. {
  3604. Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  3605. Arg0, 0x3000), 0x0C), Local1)
  3606. Multiply (Subtract (0x09, Local1), 0x1E, PIO0)
  3607. }
  3608.  
  3609. If (LOr (LAnd (Arg0, 0x4000), LAnd (Arg2, 0x01)))
  3610. {
  3611. If (LOr (And (Arg0, 0x80), LNot (And (Arg0, 0x10
  3612. ))))
  3613. {
  3614. Store (0x0384, PIO1)
  3615. }
  3616. Else
  3617. {
  3618. Add (And (Arg1, 0x03), ShiftRight (And (Arg1, 0x0C),
  3619. 0x02), Local1)
  3620. Multiply (Subtract (0x09, Local1), 0x1E, PIO1)
  3621. }
  3622. }
  3623. Else
  3624. {
  3625. Store (PIO0, PIO1)
  3626. }
  3627.  
  3628. If (And (Arg2, 0x01))
  3629. {
  3630. Subtract (0x04, And (Arg3, 0x03), Local1)
  3631. If (And (Arg5, 0x01))
  3632. {
  3633. Store (0x14, DMA0)
  3634. }
  3635. Else
  3636. {
  3637. If (And (Arg4, 0x01))
  3638. {
  3639. Multiply (Local1, 0x0F, DMA0)
  3640. }
  3641. Else
  3642. {
  3643. Multiply (Local1, 0x1E, DMA0)
  3644. }
  3645. }
  3646. }
  3647. Else
  3648. {
  3649. Store (PIO0, DMA0)
  3650. }
  3651.  
  3652. If (LOr (LAnd (Arg0, 0x4000), LAnd (Arg2, 0x01)))
  3653. {
  3654. If (And (Arg2, 0x02))
  3655. {
  3656. Subtract (0x04, ShiftRight (And (Arg3, 0x30), 0x04), Local1)
  3657. If (And (Arg5, 0x02))
  3658. {
  3659. Store (0x14, DMA1)
  3660. }
  3661. Else
  3662. {
  3663. If (And (Arg4, 0x02))
  3664. {
  3665. Multiply (Local1, 0x0F, DMA1)
  3666. }
  3667. Else
  3668. {
  3669. Multiply (Local1, 0x1E, DMA1)
  3670. }
  3671. }
  3672. }
  3673. Else
  3674. {
  3675. Store (PIO1, DMA1)
  3676. }
  3677. }
  3678. Else
  3679. {
  3680. Store (DMA0, DMA1)
  3681. }
  3682.  
  3683. Store (Zero, FLAG)
  3684. If (And (Arg0, 0x01))
  3685. {
  3686. Or (FLAG, 0x10, FLAG)
  3687. }
  3688.  
  3689. If (And (Arg2, 0x01))
  3690. {
  3691. Or (FLAG, 0x01, FLAG)
  3692. }
  3693.  
  3694. If (And (Arg0, 0x02))
  3695. {
  3696. Or (FLAG, 0x02, FLAG)
  3697. }
  3698.  
  3699. If (And (Arg2, 0x02))
  3700. {
  3701. Or (FLAG, 0x04, FLAG)
  3702. }
  3703.  
  3704. If (And (Arg0, 0x20))
  3705. {
  3706. Or (FLAG, 0x08, FLAG)
  3707. }
  3708.  
  3709. Return (Local0)
  3710. }
  3711.  
  3712. Method (STM, 3, NotSerialized)
  3713. {
  3714. Store (Buffer (0x18) {}, Local7)
  3715. CreateDWordField (Local7, 0x00, ITM)
  3716. CreateDWordField (Local7, 0x04, SIT)
  3717. CreateDWordField (Local7, 0x08, UDC)
  3718. CreateDWordField (Local7, 0x0C, UDT)
  3719. CreateDWordField (Local7, 0x10, ICF)
  3720. CreateDWordField (Local7, 0x14, FAS)
  3721. CreateDWordField (Arg0, 0x00, PIO0)
  3722. CreateDWordField (Arg0, 0x04, DMA0)
  3723. CreateDWordField (Arg0, 0x08, PIO1)
  3724. CreateDWordField (Arg0, 0x0C, DMA1)
  3725. CreateDWordField (Arg0, 0x10, FLAG)
  3726. Store (FLAG, Local4)
  3727. Store (0x8000, Local0)
  3728. If (And (Local4, 0x02))
  3729. {
  3730. Or (Local0, 0x07, Local0)
  3731. }
  3732.  
  3733. If (And (Local4, 0x08))
  3734. {
  3735. Or (Local0, 0x4000, Local0)
  3736. Or (Local0, 0x70, Local0)
  3737. }
  3738.  
  3739. If (LAnd (LLess (DMA0, PIO0), LNot (And (Local4, 0x01))))
  3740. {
  3741. Or (Local0, 0x08, Local0)
  3742. }
  3743.  
  3744. If (LAnd (LLess (DMA1, PIO1), LNot (And (Local4, 0x04))))
  3745. {
  3746. Or (Local0, 0x80, Local0)
  3747. }
  3748.  
  3749. If (PIO0)
  3750. {
  3751. If (LLess (PIO0, 0x0384))
  3752. {
  3753. Or (Local0, 0x01, Local0)
  3754. }
  3755. }
  3756.  
  3757. If (PIO1)
  3758. {
  3759. If (LLess (PIO1, 0x0384))
  3760. {
  3761. Or (Local0, 0x10, Local0)
  3762. }
  3763. }
  3764.  
  3765. If (And (Local4, 0x01))
  3766. {
  3767. Store (PIO0, Local1)
  3768. }
  3769. Else
  3770. {
  3771. Store (DMA0, Local1)
  3772. }
  3773.  
  3774. If (Local1)
  3775. {
  3776. If (LLessEqual (Local1, 0x78))
  3777. {
  3778. Or (Local0, 0x2300, Local0)
  3779. }
  3780. Else
  3781. {
  3782. If (LLessEqual (Local1, 0xB4))
  3783. {
  3784. Or (Local0, 0x2100, Local0)
  3785. }
  3786. Else
  3787. {
  3788. If (LLessEqual (Local1, 0xF0))
  3789. {
  3790. Or (Local0, 0x1000, Local0)
  3791. }
  3792. }
  3793. }
  3794. }
  3795.  
  3796. Store (Local0, ITM)
  3797. Store (Zero, Local0)
  3798. If (And (Local4, 0x04))
  3799. {
  3800. Store (PIO1, Local1)
  3801. }
  3802. Else
  3803. {
  3804. Store (DMA1, Local1)
  3805. }
  3806.  
  3807. If (Local1)
  3808. {
  3809. If (LLessEqual (Local1, 0x78))
  3810. {
  3811. Store (0x0B, Local0)
  3812. }
  3813. Else
  3814. {
  3815. If (LLessEqual (Local1, 0xB4))
  3816. {
  3817. Store (0x09, Local0)
  3818. }
  3819. Else
  3820. {
  3821. If (LLessEqual (Local1, 0xF0))
  3822. {
  3823. Store (0x04, Local0)
  3824. }
  3825. }
  3826. }
  3827. }
  3828.  
  3829. Store (Local0, SIT)
  3830. Store (0x00, Local0)
  3831. If (And (Local4, 0x01))
  3832. {
  3833. Or (Local0, 0x01, Local0)
  3834. }
  3835.  
  3836. If (And (Local4, 0x04))
  3837. {
  3838. Or (Local0, 0x02, Local0)
  3839. }
  3840.  
  3841. Store (Local0, UDC)
  3842. Store (0x00, Local0)
  3843. If (And (Local4, 0x01))
  3844. {
  3845. If (LEqual (DMA0, 0x14))
  3846. {
  3847. Store (0x01, Local0)
  3848. }
  3849. Else
  3850. {
  3851. If (LLess (DMA0, 0x3C))
  3852. {
  3853. Divide (DMA0, 0x0F, , Local1)
  3854. }
  3855. Else
  3856. {
  3857. Divide (DMA0, 0x1E, , Local1)
  3858. }
  3859.  
  3860. Subtract (0x04, Local1, Local0)
  3861. }
  3862. }
  3863.  
  3864. If (And (Local4, 0x04))
  3865. {
  3866. If (LEqual (DMA1, 0x14))
  3867. {
  3868. Store (0x01, Local1)
  3869. }
  3870. Else
  3871. {
  3872. If (LLess (DMA1, 0x3C))
  3873. {
  3874. Divide (DMA1, 0x0F, , Local1)
  3875. }
  3876. Else
  3877. {
  3878. Divide (DMA1, 0x1E, , Local1)
  3879. }
  3880.  
  3881. Subtract (0x04, Local1, Local1)
  3882. }
  3883.  
  3884. ShiftLeft (Local1, 0x04, Local1)
  3885. Or (Local0, Local1, Local0)
  3886. }
  3887.  
  3888. Store (Local0, UDT)
  3889. Store (0x00, Local0)
  3890. If (DMA0)
  3891. {
  3892. If (LGreater (DMA0, 0x14))
  3893. {
  3894. If (LLess (DMA0, 0x3C))
  3895. {
  3896. Or (Local0, 0x01, Local0)
  3897. }
  3898. }
  3899. }
  3900.  
  3901. If (DMA1)
  3902. {
  3903. If (LGreater (DMA1, 0x14))
  3904. {
  3905. If (LLess (DMA1, 0x3C))
  3906. {
  3907. Or (Local0, 0x02, Local0)
  3908. }
  3909. }
  3910. }
  3911.  
  3912. Store (Local0, ICF)
  3913. Store (0x00, Local0)
  3914. If (LEqual (DMA0, 0x14))
  3915. {
  3916. Or (Local0, 0x01, Local0)
  3917. }
  3918.  
  3919. If (LEqual (DMA1, 0x14))
  3920. {
  3921. Or (Local0, 0x02, Local0)
  3922. }
  3923.  
  3924. Store (Local0, FAS)
  3925. Return (Local7)
  3926. }
  3927.  
  3928. Method (H15P, 1, NotSerialized)
  3929. {
  3930. Name (BUFF, Buffer (0x08)
  3931. {
  3932. /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  3933. })
  3934. Store (Arg0, Local0)
  3935. Store (BUFF, Local1)
  3936. Concatenate (Local0, Local1, Local7)
  3937. CreateWordField (Local7, 0x02, CYL)
  3938. CreateWordField (Local7, 0x06, HEAD)
  3939. CreateWordField (Local7, 0x0C, SPT)
  3940. If (LAnd (LGreaterEqual (HEAD, 0x10), LGreaterEqual (CYL, 0x2000)))
  3941. {
  3942. Return (SPT)
  3943. }
  3944. Else
  3945. {
  3946. Return (Zero)
  3947. }
  3948. }
  3949.  
  3950. Method (GTF0, 7, NotSerialized)
  3951. {
  3952. Store (Buffer (0x07)
  3953. {
  3954. 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  3955. }, Local7)
  3956. CreateByteField (Local7, 0x01, MODE)
  3957. If (And (Arg2, 0x01))
  3958. {
  3959. And (Arg3, 0x03, Local0)
  3960. If (And (Arg6, 0x01))
  3961. {
  3962. Add (Local0, 0x04, Local0)
  3963. }
  3964. Else
  3965. {
  3966. If (And (Arg4, 0x01))
  3967. {
  3968. Add (Local0, 0x02, Local0)
  3969. }
  3970. }
  3971.  
  3972. Or (Local0, 0x40, MODE)
  3973. }
  3974. Else
  3975. {
  3976. Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  3977. Arg0, 0x3000), 0x0C), Local0)
  3978. If (LGreaterEqual (Local0, 0x05))
  3979. {
  3980. Store (0x22, MODE)
  3981. }
  3982. Else
  3983. {
  3984. If (LGreaterEqual (Local0, 0x03))
  3985. {
  3986. Store (0x21, MODE)
  3987. }
  3988. Else
  3989. {
  3990. Store (0x20, MODE)
  3991. }
  3992. }
  3993. }
  3994.  
  3995. Concatenate (Local7, Local7, Local6)
  3996. If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01
  3997. ))))
  3998. {
  3999. If (And (Arg0, 0x02))
  4000. {
  4001. Store (0x00, MODE)
  4002. }
  4003. Else
  4004. {
  4005. Store (0x01, MODE)
  4006. }
  4007. }
  4008. Else
  4009. {
  4010. Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  4011. Arg0, 0x3000), 0x0C), Local0)
  4012. If (LGreaterEqual (Local0, 0x05))
  4013. {
  4014. Store (0x0C, MODE)
  4015. }
  4016. Else
  4017. {
  4018. If (LGreaterEqual (Local0, 0x03))
  4019. {
  4020. Store (0x0B, MODE)
  4021. }
  4022. Else
  4023. {
  4024. Store (0x0A, MODE)
  4025. }
  4026. }
  4027. }
  4028.  
  4029. Concatenate (Local6, Local7, Local5)
  4030. If (Arg5)
  4031. {
  4032. Store (Buffer (0x07)
  4033. {
  4034. 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x91
  4035. }, Local4)
  4036. CreateByteField (Local4, 0x01, SPT)
  4037. Store (Arg5, SPT)
  4038. Concatenate (Local5, Local4, Local6)
  4039. Return (Local6)
  4040. }
  4041. Else
  4042. {
  4043. Return (Local5)
  4044. }
  4045. }
  4046.  
  4047. Method (GTF1, 7, NotSerialized)
  4048. {
  4049. Store (Buffer (0x07)
  4050. {
  4051. 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
  4052. }, Local7)
  4053. CreateByteField (Local7, 0x01, MODE)
  4054. If (And (Arg2, 0x02))
  4055. {
  4056. ShiftRight (And (Arg3, 0x30), 0x04, Local0)
  4057. If (And (Arg6, 0x02))
  4058. {
  4059. Add (Local0, 0x04, Local0)
  4060. }
  4061. Else
  4062. {
  4063. If (And (Arg4, 0x02))
  4064. {
  4065. Add (Local0, 0x02, Local0)
  4066. }
  4067. }
  4068.  
  4069. Or (Local0, 0x40, MODE)
  4070. }
  4071. Else
  4072. {
  4073. Add (ShiftRight (And (Arg1, 0x03), 0x02), And (Arg1,
  4074. 0x0C), Local0)
  4075. If (LGreaterEqual (Local0, 0x05))
  4076. {
  4077. Store (0x22, MODE)
  4078. }
  4079. Else
  4080. {
  4081. If (LGreaterEqual (Local0, 0x03))
  4082. {
  4083. Store (0x21, MODE)
  4084. }
  4085. Else
  4086. {
  4087. Store (0x20, MODE)
  4088. }
  4089. }
  4090. }
  4091.  
  4092. Concatenate (Local7, Local7, Local6)
  4093. If (LOr (And (Arg0, 0x80), LNot (And (Arg0, 0x10
  4094. ))))
  4095. {
  4096. If (And (Arg0, 0x20))
  4097. {
  4098. Store (0x00, MODE)
  4099. }
  4100. Else
  4101. {
  4102. Store (0x01, MODE)
  4103. }
  4104. }
  4105. Else
  4106. {
  4107. Add (ShiftRight (And (Arg1, 0x03), 0x02), And (Arg1,
  4108. 0x0C), Local0)
  4109. If (LGreaterEqual (Local0, 0x05))
  4110. {
  4111. Store (0x0C, MODE)
  4112. }
  4113. Else
  4114. {
  4115. If (LGreaterEqual (Local0, 0x03))
  4116. {
  4117. Store (0x0B, MODE)
  4118. }
  4119. Else
  4120. {
  4121. Store (0x0A, MODE)
  4122. }
  4123. }
  4124. }
  4125.  
  4126. Concatenate (Local6, Local7, Local5)
  4127. If (Arg5)
  4128. {
  4129. Store (Buffer (0x07)
  4130. {
  4131. 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x91
  4132. }, Local4)
  4133. CreateByteField (Local4, 0x01, SPT)
  4134. Store (Arg5, SPT)
  4135. Concatenate (Local5, Local4, Local6)
  4136. Return (Local6)
  4137. }
  4138. Else
  4139. {
  4140. Return (Local5)
  4141. }
  4142. }
  4143.  
  4144. Device (PRIM)
  4145. {
  4146. Name (_ADR, 0x00)
  4147. Method (_GTM, 0, NotSerialized)
  4148. {
  4149. Store (GTM (ITM0, SIT0, UDC0, UDT0, ICF0, FAS0), Local0)
  4150. Return (Local0)
  4151. }
  4152.  
  4153. Method (_STM, 3, NotSerialized)
  4154. {
  4155. Store (STM (Arg0, Arg1, Arg2), Local0)
  4156. CreateDWordField (Local0, 0x00, ITM)
  4157. CreateDWordField (Local0, 0x04, SIT)
  4158. CreateDWordField (Local0, 0x08, UDC)
  4159. CreateDWordField (Local0, 0x0C, UDT)
  4160. CreateDWordField (Local0, 0x10, ICF)
  4161. CreateDWordField (Local0, 0x14, FAS)
  4162. Store (UDC, UDC0)
  4163. Store (UDT, UDT0)
  4164. Store (ICF, ICF0)
  4165. Store (FAS, FAS0)
  4166. }
  4167.  
  4168. Device (MAST)
  4169. {
  4170. Name (_ADR, 0x00)
  4171. Name (H15F, Zero)
  4172. Method (_GTF, 0, NotSerialized)
  4173. {
  4174. Store (GTF0 (ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0), Local0)
  4175. Return (Local0)
  4176. }
  4177. }
  4178.  
  4179. Device (SLAV)
  4180. {
  4181. Name (_ADR, 0x01)
  4182. Name (H15F, Zero)
  4183. Method (_GTF, 0, NotSerialized)
  4184. {
  4185. Store (GTF1 (ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0), Local0)
  4186. Return (Local0)
  4187. }
  4188. }
  4189. }
  4190.  
  4191. Device (SECN)
  4192. {
  4193. Name (_ADR, 0x01)
  4194. Method (_GTM, 0, NotSerialized)
  4195. {
  4196. Store (GTM (ITM1, SIT1, UDC1, UDT1, ICF1, FAS1), Local0)
  4197. Return (Local0)
  4198. }
  4199.  
  4200. Method (_STM, 3, NotSerialized)
  4201. {
  4202. Store (STM (Arg0, Arg1, Arg2), Local0)
  4203. CreateDWordField (Local0, 0x00, ITM)
  4204. CreateDWordField (Local0, 0x04, SIT)
  4205. CreateDWordField (Local0, 0x08, UDC)
  4206. CreateDWordField (Local0, 0x0C, UDT)
  4207. CreateDWordField (Local0, 0x10, ICF)
  4208. CreateDWordField (Local0, 0x14, FAS)
  4209. Store (UDC, UDC1)
  4210. Store (UDT, UDT1)
  4211. Store (ICF, ICF1)
  4212. Store (FAS, FAS1)
  4213. }
  4214.  
  4215. Device (MAST)
  4216. {
  4217. Name (_ADR, 0x00)
  4218. Name (H15F, Zero)
  4219. Method (_GTF, 0, NotSerialized)
  4220. {
  4221. Store (GTF0 (ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1), Local0)
  4222. Return (Local0)
  4223. }
  4224. }
  4225.  
  4226. Device (SLAV)
  4227. {
  4228. Name (_ADR, 0x01)
  4229. Name (H15F, Zero)
  4230. Method (_GTF, 0, NotSerialized)
  4231. {
  4232. Store (GTF1 (ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1), Local0)
  4233. Return (Local0)
  4234. }
  4235. }
  4236. }
  4237. }
  4238.  
  4239. Device (IDE1)
  4240. {
  4241. Name (_ADR, 0x001F0002)
  4242. OperationRegion (PCI, PCI_Config, 0x40, 0x20)
  4243. Field (PCI, DWordAcc, NoLock, Preserve)
  4244. {
  4245. ITM0, 16,
  4246. ITM1, 16,
  4247. SIT0, 4,
  4248. SIT1, 4,
  4249. Offset (0x08),
  4250. UDC0, 2,
  4251. UDC1, 2,
  4252. Offset (0x0A),
  4253. UDT0, 8,
  4254. UDT1, 8,
  4255. Offset (0x14),
  4256. ICF0, 2,
  4257. ICF1, 2,
  4258. , 6,
  4259. WPPE, 1,
  4260. , 1,
  4261. FAS0, 2,
  4262. FAS1, 2
  4263. }
  4264.  
  4265. Device (PRIM)
  4266. {
  4267. Name (_ADR, 0x00)
  4268. Method (_GTM, 0, NotSerialized)
  4269. {
  4270. Store (\_SB.PCI0.ICHX.GTM (ITM0, SIT0, UDC0, UDT0, ICF0, FAS0), Local0)
  4271. Return (Local0)
  4272. }
  4273.  
  4274. Method (_STM, 3, NotSerialized)
  4275. {
  4276. Store (\_SB.PCI0.ICHX.STM (Arg0, Arg1, Arg2), Local0)
  4277. CreateDWordField (Local0, 0x00, ITM)
  4278. CreateDWordField (Local0, 0x04, SIT)
  4279. CreateDWordField (Local0, 0x08, UDC)
  4280. CreateDWordField (Local0, 0x0C, UDT)
  4281. CreateDWordField (Local0, 0x10, ICF)
  4282. CreateDWordField (Local0, 0x14, FAS)
  4283. Store (UDC, UDC0)
  4284. Store (UDT, UDT0)
  4285. Store (ICF, ICF0)
  4286. Store (FAS, FAS0)
  4287. }
  4288.  
  4289. Device (DRV0)
  4290. {
  4291. Name (_ADR, 0x00)
  4292. Name (H15F, Zero)
  4293. Method (_GTF, 0, NotSerialized)
  4294. {
  4295. Store (\_SB.PCI0.ICHX.GTF0 (ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0), Local0)
  4296. Return (Local0)
  4297. }
  4298. }
  4299.  
  4300. Device (DRV1)
  4301. {
  4302. Name (_ADR, 0x01)
  4303. Name (H15F, Zero)
  4304. Method (_GTF, 0, NotSerialized)
  4305. {
  4306. Store (\_SB.PCI0.ICHX.GTF1 (ITM0, SIT0, UDC0, UDT0, ICF0, H15F, FAS0), Local0)
  4307. Return (Local0)
  4308. }
  4309. }
  4310. }
  4311.  
  4312. Device (SECD)
  4313. {
  4314. Name (_ADR, 0x01)
  4315. Method (_GTM, 0, NotSerialized)
  4316. {
  4317. Store (\_SB.PCI0.ICHX.GTM (ITM1, SIT1, UDC1, UDT1, ICF1, FAS1), Local0)
  4318. Return (Local0)
  4319. }
  4320.  
  4321. Method (_STM, 3, NotSerialized)
  4322. {
  4323. Store (\_SB.PCI0.ICHX.STM (Arg0, Arg1, Arg2), Local0)
  4324. CreateDWordField (Local0, 0x00, ITM)
  4325. CreateDWordField (Local0, 0x04, SIT)
  4326. CreateDWordField (Local0, 0x08, UDC)
  4327. CreateDWordField (Local0, 0x0C, UDT)
  4328. CreateDWordField (Local0, 0x10, ICF)
  4329. CreateDWordField (Local0, 0x14, FAS)
  4330. Store (UDC, UDC1)
  4331. Store (UDT, UDT1)
  4332. Store (ICF, ICF1)
  4333. Store (FAS, FAS1)
  4334. }
  4335.  
  4336. Device (DRV0)
  4337. {
  4338. Name (_ADR, 0x00)
  4339. Name (H15F, Zero)
  4340. Method (_GTF, 0, NotSerialized)
  4341. {
  4342. Store (\_SB.PCI0.ICHX.GTF0 (ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1), Local0)
  4343. Return (Local0)
  4344. }
  4345. }
  4346.  
  4347. Device (DRV1)
  4348. {
  4349. Name (_ADR, 0x01)
  4350. Name (H15F, Zero)
  4351. Method (_GTF, 0, NotSerialized)
  4352. {
  4353. Store (\_SB.PCI0.ICHX.GTF1 (ITM1, SIT1, UDC1, UDT1, ICF1, H15F, FAS1), Local0)
  4354. Return (Local0)
  4355. }
  4356. }
  4357. }
  4358. }
  4359.  
  4360. Device (PX43)
  4361. {
  4362. Name (_ADR, 0x001F0003)
  4363. OperationRegion (PBAS, PCI_Config, 0x20, 0x02)
  4364. Field (PBAS, ByteAcc, NoLock, Preserve)
  4365. {
  4366. BAS0, 16
  4367. }
  4368.  
  4369. Method (SMBB, 0, NotSerialized)
  4370. {
  4371. And (BAS0, 0xFFFE, Local0)
  4372. Return (Local0)
  4373. }
  4374. }
  4375.  
  4376. Device (AZAL)
  4377. {
  4378. Name (_ADR, 0x001B0000)
  4379. Method (_PRW, 0, NotSerialized)
  4380. {
  4381. Return (Package (0x02)
  4382. {
  4383. 0x05,
  4384. 0x05
  4385. })
  4386. }
  4387. }
  4388.  
  4389. Name (BUFA, ResourceTemplate ()
  4390. {
  4391. IRQ (Level, ActiveLow, Shared, )
  4392. {3,4,5,6,7,9,10,11,12,14,15}
  4393. })
  4394. Name (BUFB, ResourceTemplate ()
  4395. {
  4396. IRQ (Level, ActiveLow, Shared, _Y0A)
  4397. {}
  4398. })
  4399. CreateWordField (BUFB, \_SB.PCI0._Y0A._INT, IRQV)
  4400. Device (LNKA)
  4401. {
  4402. Name (_HID, EisaId ("PNP0C0F"))
  4403. Name (_UID, 0x01)
  4404. Method (_STA, 0, NotSerialized)
  4405. {
  4406. And (PIRA, 0x80, Local0)
  4407. If (LEqual (Local0, 0x80))
  4408. {
  4409. Return (0x09)
  4410. }
  4411. Else
  4412. {
  4413. Return (0x0B)
  4414. }
  4415. }
  4416.  
  4417. Method (_PRS, 0, NotSerialized)
  4418. {
  4419. Return (BUFA)
  4420. }
  4421.  
  4422. Method (_DIS, 0, NotSerialized)
  4423. {
  4424. Or (PIRA, 0x80, PIRA)
  4425. }
  4426.  
  4427. Method (_CRS, 0, NotSerialized)
  4428. {
  4429. And (PIRA, 0x0F, Local0)
  4430. ShiftLeft (0x01, Local0, IRQV)
  4431. Return (BUFB)
  4432. }
  4433.  
  4434. Method (_SRS, 1, NotSerialized)
  4435. {
  4436. CreateWordField (Arg0, 0x01, IRQ1)
  4437. FindSetRightBit (IRQ1, Local0)
  4438. Decrement (Local0)
  4439. Store (Local0, PIRA)
  4440. }
  4441. }
  4442.  
  4443. Device (LNKB)
  4444. {
  4445. Name (_HID, EisaId ("PNP0C0F"))
  4446. Name (_UID, 0x02)
  4447. Method (_STA, 0, NotSerialized)
  4448. {
  4449. And (PIRB, 0x80, Local0)
  4450. If (LEqual (Local0, 0x80))
  4451. {
  4452. Return (0x09)
  4453. }
  4454. Else
  4455. {
  4456. Return (0x0B)
  4457. }
  4458. }
  4459.  
  4460. Method (_PRS, 0, NotSerialized)
  4461. {
  4462. Return (BUFA)
  4463. }
  4464.  
  4465. Method (_DIS, 0, NotSerialized)
  4466. {
  4467. Or (PIRB, 0x80, PIRB)
  4468. }
  4469.  
  4470. Method (_CRS, 0, NotSerialized)
  4471. {
  4472. And (PIRB, 0x0F, Local0)
  4473. ShiftLeft (0x01, Local0, IRQV)
  4474. Return (BUFB)
  4475. }
  4476.  
  4477. Method (_SRS, 1, NotSerialized)
  4478. {
  4479. CreateWordField (Arg0, 0x01, IRQ1)
  4480. FindSetRightBit (IRQ1, Local0)
  4481. Decrement (Local0)
  4482. Store (Local0, PIRB)
  4483. }
  4484. }
  4485.  
  4486. Device (LNKC)
  4487. {
  4488. Name (_HID, EisaId ("PNP0C0F"))
  4489. Name (_UID, 0x03)
  4490. Method (_STA, 0, NotSerialized)
  4491. {
  4492. And (PIRC, 0x80, Local0)
  4493. If (LEqual (Local0, 0x80))
  4494. {
  4495. Return (0x09)
  4496. }
  4497. Else
  4498. {
  4499. Return (0x0B)
  4500. }
  4501. }
  4502.  
  4503. Method (_PRS, 0, NotSerialized)
  4504. {
  4505. Return (BUFA)
  4506. }
  4507.  
  4508. Method (_DIS, 0, NotSerialized)
  4509. {
  4510. Or (PIRC, 0x80, PIRC)
  4511. }
  4512.  
  4513. Method (_CRS, 0, NotSerialized)
  4514. {
  4515. And (PIRC, 0x0F, Local0)
  4516. ShiftLeft (0x01, Local0, IRQV)
  4517. Return (BUFB)
  4518. }
  4519.  
  4520. Method (_SRS, 1, NotSerialized)
  4521. {
  4522. CreateWordField (Arg0, 0x01, IRQ1)
  4523. FindSetRightBit (IRQ1, Local0)
  4524. Decrement (Local0)
  4525. Store (Local0, PIRC)
  4526. }
  4527. }
  4528.  
  4529. Device (LNKD)
  4530. {
  4531. Name (_HID, EisaId ("PNP0C0F"))
  4532. Name (_UID, 0x04)
  4533. Method (_STA, 0, NotSerialized)
  4534. {
  4535. And (PIRD, 0x80, Local0)
  4536. If (LEqual (Local0, 0x80))
  4537. {
  4538. Return (0x09)
  4539. }
  4540. Else
  4541. {
  4542. Return (0x0B)
  4543. }
  4544. }
  4545.  
  4546. Method (_PRS, 0, NotSerialized)
  4547. {
  4548. Return (BUFA)
  4549. }
  4550.  
  4551. Method (_DIS, 0, NotSerialized)
  4552. {
  4553. Or (PIRD, 0x80, PIRD)
  4554. }
  4555.  
  4556. Method (_CRS, 0, NotSerialized)
  4557. {
  4558. And (PIRD, 0x0F, Local0)
  4559. ShiftLeft (0x01, Local0, IRQV)
  4560. Return (BUFB)
  4561. }
  4562.  
  4563. Method (_SRS, 1, NotSerialized)
  4564. {
  4565. CreateWordField (Arg0, 0x01, IRQ1)
  4566. FindSetRightBit (IRQ1, Local0)
  4567. Decrement (Local0)
  4568. Store (Local0, PIRD)
  4569. }
  4570. }
  4571.  
  4572. Device (LNKE)
  4573. {
  4574. Name (_HID, EisaId ("PNP0C0F"))
  4575. Name (_UID, 0x05)
  4576. Method (_STA, 0, NotSerialized)
  4577. {
  4578. And (PIRE, 0x80, Local0)
  4579. If (LEqual (Local0, 0x80))
  4580. {
  4581. Return (0x09)
  4582. }
  4583. Else
  4584. {
  4585. Return (0x0B)
  4586. }
  4587. }
  4588.  
  4589. Method (_PRS, 0, NotSerialized)
  4590. {
  4591. Return (BUFA)
  4592. }
  4593.  
  4594. Method (_DIS, 0, NotSerialized)
  4595. {
  4596. Or (PIRE, 0x80, PIRE)
  4597. }
  4598.  
  4599. Method (_CRS, 0, NotSerialized)
  4600. {
  4601. And (PIRE, 0x0F, Local0)
  4602. ShiftLeft (0x01, Local0, IRQV)
  4603. Return (BUFB)
  4604. }
  4605.  
  4606. Method (_SRS, 1, NotSerialized)
  4607. {
  4608. CreateWordField (Arg0, 0x01, IRQ1)
  4609. FindSetRightBit (IRQ1, Local0)
  4610. Decrement (Local0)
  4611. Store (Local0, PIRE)
  4612. }
  4613. }
  4614.  
  4615. Device (LNKF)
  4616. {
  4617. Name (_HID, EisaId ("PNP0C0F"))
  4618. Name (_UID, 0x06)
  4619. Method (_STA, 0, NotSerialized)
  4620. {
  4621. And (PIRF, 0x80, Local0)
  4622. If (LEqual (Local0, 0x80))
  4623. {
  4624. Return (0x09)
  4625. }
  4626. Else
  4627. {
  4628. Return (0x0B)
  4629. }
  4630. }
  4631.  
  4632. Method (_PRS, 0, NotSerialized)
  4633. {
  4634. Return (BUFA)
  4635. }
  4636.  
  4637. Method (_DIS, 0, NotSerialized)
  4638. {
  4639. Or (PIRF, 0x80, PIRF)
  4640. }
  4641.  
  4642. Method (_CRS, 0, NotSerialized)
  4643. {
  4644. And (PIRF, 0x0F, Local0)
  4645. ShiftLeft (0x01, Local0, IRQV)
  4646. Return (BUFB)
  4647. }
  4648.  
  4649. Method (_SRS, 1, NotSerialized)
  4650. {
  4651. CreateWordField (Arg0, 0x01, IRQ1)
  4652. FindSetRightBit (IRQ1, Local0)
  4653. Decrement (Local0)
  4654. Store (Local0, PIRF)
  4655. }
  4656. }
  4657.  
  4658. Device (LNK0)
  4659. {
  4660. Name (_HID, EisaId ("PNP0C0F"))
  4661. Name (_UID, 0x07)
  4662. Method (_STA, 0, NotSerialized)
  4663. {
  4664. And (PIRG, 0x80, Local0)
  4665. If (LEqual (Local0, 0x80))
  4666. {
  4667. Return (0x09)
  4668. }
  4669. Else
  4670. {
  4671. Return (0x0B)
  4672. }
  4673. }
  4674.  
  4675. Method (_PRS, 0, NotSerialized)
  4676. {
  4677. Return (BUFA)
  4678. }
  4679.  
  4680. Method (_DIS, 0, NotSerialized)
  4681. {
  4682. Or (PIRG, 0x80, PIRG)
  4683. }
  4684.  
  4685. Method (_CRS, 0, NotSerialized)
  4686. {
  4687. And (PIRG, 0x0F, Local0)
  4688. ShiftLeft (0x01, Local0, IRQV)
  4689. Return (BUFB)
  4690. }
  4691.  
  4692. Method (_SRS, 1, NotSerialized)
  4693. {
  4694. CreateWordField (Arg0, 0x01, IRQ1)
  4695. FindSetRightBit (IRQ1, Local0)
  4696. Decrement (Local0)
  4697. Store (Local0, PIRG)
  4698. }
  4699. }
  4700.  
  4701. Device (LNK1)
  4702. {
  4703. Name (_HID, EisaId ("PNP0C0F"))
  4704. Name (_UID, 0x08)
  4705. Method (_STA, 0, NotSerialized)
  4706. {
  4707. And (PIRH, 0x80, Local0)
  4708. If (LEqual (Local0, 0x80))
  4709. {
  4710. Return (0x09)
  4711. }
  4712. Else
  4713. {
  4714. Return (0x0B)
  4715. }
  4716. }
  4717.  
  4718. Method (_PRS, 0, NotSerialized)
  4719. {
  4720. Return (BUFA)
  4721. }
  4722.  
  4723. Method (_DIS, 0, NotSerialized)
  4724. {
  4725. Or (PIRH, 0x80, PIRH)
  4726. }
  4727.  
  4728. Method (_CRS, 0, NotSerialized)
  4729. {
  4730. And (PIRH, 0x0F, Local0)
  4731. ShiftLeft (0x01, Local0, IRQV)
  4732. Return (BUFB)
  4733. }
  4734.  
  4735. Method (_SRS, 1, NotSerialized)
  4736. {
  4737. CreateWordField (Arg0, 0x01, IRQ1)
  4738. FindSetRightBit (IRQ1, Local0)
  4739. Decrement (Local0)
  4740. Store (Local0, PIRH)
  4741. }
  4742. }
  4743.  
  4744. Method (_PRW, 0, NotSerialized)
  4745. {
  4746. Return (Package (0x02)
  4747. {
  4748. 0x0B,
  4749. 0x05
  4750. })
  4751. }
  4752. }
  4753.  
  4754. Device (MEM)
  4755. {
  4756. Name (_HID, EisaId ("PNP0C01"))
  4757. Method (_CRS, 0, NotSerialized)
  4758. {
  4759. Name (BUF0, ResourceTemplate ()
  4760. {
  4761. Memory32Fixed (ReadWrite,
  4762. 0x000F0000, // Address Base
  4763. 0x00004000, // Address Length
  4764. _Y0C)
  4765. Memory32Fixed (ReadWrite,
  4766. 0x000F4000, // Address Base
  4767. 0x00004000, // Address Length
  4768. _Y0D)
  4769. Memory32Fixed (ReadWrite,
  4770. 0x000F8000, // Address Base
  4771. 0x00004000, // Address Length
  4772. _Y0E)
  4773. Memory32Fixed (ReadWrite,
  4774. 0x000FC000, // Address Base
  4775. 0x00004000, // Address Length
  4776. _Y0F)
  4777. Memory32Fixed (ReadWrite,
  4778. 0x00000000, // Address Base
  4779. 0x00010000, // Address Length
  4780. _Y0B)
  4781. Memory32Fixed (ReadWrite,
  4782. 0x00000000, // Address Base
  4783. 0x000A0000, // Address Length
  4784. )
  4785. Memory32Fixed (ReadWrite,
  4786. 0x00100000, // Address Base
  4787. 0x00000000, // Address Length
  4788. _Y11)
  4789. Memory32Fixed (ReadWrite,
  4790. 0xFEC00000, // Address Base
  4791. 0x00001000, // Address Length
  4792. )
  4793. Memory32Fixed (ReadWrite,
  4794. 0xFED13000, // Address Base
  4795. 0x0000B000, // Address Length
  4796. )
  4797. Memory32Fixed (ReadWrite,
  4798. 0xFED20000, // Address Base
  4799. 0x00070000, // Address Length
  4800. )
  4801. Memory32Fixed (ReadWrite,
  4802. 0xFEE00000, // Address Base
  4803. 0x00001000, // Address Length
  4804. )
  4805. Memory32Fixed (ReadWrite,
  4806. 0xFFB00000, // Address Base
  4807. 0x00080000, // Address Length
  4808. )
  4809. Memory32Fixed (ReadWrite,
  4810. 0xFFF00000, // Address Base
  4811. 0x00100000, // Address Length
  4812. )
  4813. Memory32Fixed (ReadWrite,
  4814. 0x000E0000, // Address Base
  4815. 0x00010000, // Address Length
  4816. _Y10)
  4817. })
  4818. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0B._BAS, ACMM)
  4819. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0B._LEN, ASSM)
  4820. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0C._BAS, RMA1)
  4821. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0C._LEN, RSS1)
  4822. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0D._BAS, RMA2)
  4823. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0D._LEN, RSS2)
  4824. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._BAS, RMA3)
  4825. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._LEN, RSS3)
  4826. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._BAS, RMA4)
  4827. CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._LEN, RSS4)
  4828. CreateDWordField (BUF0, \_SB.MEM._CRS._Y10._BAS, ERMA)
  4829. CreateDWordField (BUF0, \_SB.MEM._CRS._Y10._LEN, ERMS)
  4830. CreateDWordField (BUF0, \_SB.MEM._CRS._Y11._LEN, EXTM)
  4831. Subtract (AMEM, 0x00100000, EXTM)
  4832. If (LNotEqual (ROM1, Zero))
  4833. {
  4834. Store (RMA1, RMA2)
  4835. ShiftLeft (ROM1, 0x08, Local0)
  4836. Store (Local0, RMA1)
  4837. ShiftLeft (RMS1, 0x08, Local0)
  4838. Store (Local0, RSS1)
  4839. Store (0x8000, RSS2)
  4840. }
  4841.  
  4842. If (LNotEqual (ROM2, Zero))
  4843. {
  4844. Store (RMA2, RMA3)
  4845. ShiftLeft (ROM2, 0x08, Local0)
  4846. Store (Local0, RMA2)
  4847. ShiftLeft (RMS2, 0x08, Local0)
  4848. Store (Local0, RSS2)
  4849. Store (0xC000, RSS3)
  4850. }
  4851.  
  4852. If (LNotEqual (ROM3, Zero))
  4853. {
  4854. Store (RMA3, RMA4)
  4855. ShiftLeft (ROM3, 0x08, Local0)
  4856. Store (Local0, RMA3)
  4857. ShiftLeft (RMS3, 0x08, Local0)
  4858. Store (Local0, RSS3)
  4859. Store (0x00010000, RSS4)
  4860. }
  4861.  
  4862. Store (ERMA, Local1)
  4863. If (LGreater (RMA1, 0x000D0000))
  4864. {
  4865. If (LLess (RMA1, 0x000F0000))
  4866. {
  4867. Add (RMA1, RSS1, Local0)
  4868. If (LGreater (Local0, 0x000E0000))
  4869. {
  4870. If (LGreater (Local0, Local1))
  4871. {
  4872. Store (Local0, Local1)
  4873. }
  4874. }
  4875. }
  4876. }
  4877.  
  4878. If (LGreater (RMA2, 0x000D0000))
  4879. {
  4880. If (LLess (RMA2, 0x000F0000))
  4881. {
  4882. Add (RMA2, RSS2, Local0)
  4883. If (LGreater (Local0, 0x000E0000))
  4884. {
  4885. If (LGreater (Local0, Local1))
  4886. {
  4887. Store (Local0, Local1)
  4888. }
  4889. }
  4890. }
  4891. }
  4892.  
  4893. If (LGreater (RMA3, 0x000D0000))
  4894. {
  4895. If (LLess (RMA3, 0x000F0000))
  4896. {
  4897. Add (RMA3, RSS3, Local0)
  4898. If (LGreater (Local0, 0x000E0000))
  4899. {
  4900. If (LGreater (Local0, Local1))
  4901. {
  4902. Store (Local0, Local1)
  4903. }
  4904. }
  4905. }
  4906. }
  4907.  
  4908. If (LGreater (Local1, ERMA))
  4909. {
  4910. Subtract (Local1, ERMA, Local0)
  4911. If (LLessEqual (Local0, 0x00010000))
  4912. {
  4913. Store (Local1, ERMA)
  4914. Subtract (0x00010000, Local0, ERMS)
  4915. }
  4916. }
  4917.  
  4918. Store (AMEM, ACMM)
  4919. And (AMEM, 0x000FFFFF, Local0)
  4920. Subtract (0x00100000, Local0, ASSM)
  4921. Return (BUF0)
  4922. }
  4923. }
  4924.  
  4925. Device (FWH)
  4926. {
  4927. Name (_HID, EisaId ("INT0800"))
  4928. Method (_CRS, 0, NotSerialized)
  4929. {
  4930. Name (FWH0, ResourceTemplate ()
  4931. {
  4932. Memory32Fixed (ReadWrite,
  4933. 0xFFB80000, // Address Base
  4934. 0x00080000, // Address Length
  4935. )
  4936. })
  4937. Return (FWH0)
  4938. }
  4939. }
  4940.  
  4941. Device (\_SB.PCI0.EXPL)
  4942. {
  4943. Name (_HID, EisaId ("PNP0C02"))
  4944. Name (_UID, 0x04)
  4945. Method (_CRS, 0, NotSerialized)
  4946. {
  4947. Name (BUF0, ResourceTemplate ()
  4948. {
  4949. Memory32Fixed (ReadWrite,
  4950. 0xC0000000, // Address Base
  4951. 0x10000000, // Address Length
  4952. )
  4953. })
  4954. Return (BUF0)
  4955. }
  4956. }
  4957. }
  4958. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement