Advertisement
Guest User

Untitled

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