Advertisement
Guest User

fixed_dsdt_AcerExtensa_3001

a guest
Mar 7th, 2010
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 262.70 KB | None | 0 0
  1. /*
  2. * Intel ACPI Component Architecture
  3. * AML Disassembler version 20061109
  4. *
  5. * Disassembly of dsdt.original.dat, Mon Mar 31 18:17:56 2008
  6. *
  7. *
  8. * Original Table Header:
  9. * Signature "DSDT"
  10. * Length 0x00005CF7 (23799)
  11. * Revision 0x01
  12. * OEM ID "ACER "
  13. * OEM Table ID "Kestrel "
  14. * OEM Revision 0x20021012 (537006098)
  15. * Creator ID "MSFT"
  16. * Creator Revision 0x0100000E (16777230)
  17. */
  18. DefinitionBlock ("dsdt.fixed.aml", "DSDT", 1, "ACER ", "Kestrel ", 0x20021012)
  19. {
  20. OperationRegion (PORT, SystemIO, 0x80, 0x02)
  21. Field (PORT, ByteAcc, NoLock, Preserve)
  22. {
  23. P80H, 8,
  24. P81H, 8
  25. }
  26.  
  27. OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
  28. Field (IO_T, ByteAcc, NoLock, Preserve)
  29. {
  30. TRP0, 8
  31. }
  32.  
  33. OperationRegion (MNVS, SystemMemory, 0x1FEECE59, 0x60)
  34. Field (MNVS, AnyAcc, Lock, Preserve)
  35. {
  36. OSYS, 16,
  37. SMIF, 8,
  38. SCIF, 8,
  39. PAR1, 8,
  40. PAR2, 8,
  41. ACPS, 8,
  42. DBGS, 8,
  43. DCKS, 4,
  44. CDCK, 4,
  45. IGDS, 8,
  46. SLID, 8,
  47. BRTC, 8,
  48. BRTS, 8,
  49. WRKF, 8,
  50. SW2L, 1,
  51. PNCS, 1,
  52. Offset (0x0F),
  53. PRID, 8,
  54. CMAP, 8,
  55. CMBP, 8,
  56. LPTP, 8,
  57. FDCP, 8,
  58. Offset (0x15),
  59. PS2F, 8,
  60. Offset (0x18),
  61. ACTT, 8,
  62. PSVT, 8,
  63. TC1V, 8,
  64. TC2V, 8,
  65. TSPV, 8,
  66. CRTT, 8,
  67. Offset (0x20),
  68. BVAL, 32,
  69. DOFF, 8,
  70. CLNM, 8,
  71. TMP2, 8,
  72. SVCR, 8,
  73. TMP4, 32,
  74. TMP5, 32,
  75. CSTE, 16,
  76. NSTE, 16,
  77. SSTE, 16,
  78. CADL, 16,
  79. PADL, 16,
  80. BCAP, 8
  81. }
  82.  
  83. Scope (_PR)
  84. {
  85. Processor (CPU0, 0x00, 0x00001010, 0x06)
  86. {
  87. Name (_PCT, Package (0x02)
  88. {
  89. ResourceTemplate ()
  90. {
  91. Register (SystemIO,
  92. 0x08, // Bit Width
  93. 0x00, // Bit Offset
  94. 0x00000000000000B2, // Address
  95. ,)
  96. },
  97.  
  98. ResourceTemplate ()
  99. {
  100. Register (SystemIO,
  101. 0x08, // Bit Width
  102. 0x00, // Bit Offset
  103. 0x00000000000000B3, // Address
  104. ,)
  105. }
  106. })
  107. Method (_PSS, 0, NotSerialized)
  108. {
  109. If (CLNM)
  110. {
  111. Return (CPSS)
  112. }
  113.  
  114. Return (PPSS)
  115. }
  116.  
  117. Name (CPSS, Package (0x01)
  118. {
  119. Package (0x06)
  120. {
  121. 0x05DC,
  122. 0x5DC0,
  123. 0x0A,
  124. 0x0A,
  125. 0x89,
  126. 0x00
  127. }
  128. })
  129. Name (PPSS, Package (0x05)
  130. {
  131. Package (0x06)
  132. {
  133. 0x05DC,
  134. 0x5DC0,
  135. 0x0A,
  136. 0x0A,
  137. 0x89,
  138. 0x00
  139. },
  140.  
  141. Package (0x06)
  142. {
  143. 0x04B0,
  144. 0x4E20,
  145. 0x0A,
  146. 0x0A,
  147. 0x8A,
  148. 0x01
  149. },
  150.  
  151. Package (0x06)
  152. {
  153. 0x03E8,
  154. 0x4650,
  155. 0x0A,
  156. 0x0A,
  157. 0x8B,
  158. 0x02
  159. },
  160.  
  161. Package (0x06)
  162. {
  163. 0x0320,
  164. 0x3E80,
  165. 0x0A,
  166. 0x0A,
  167. 0x8C,
  168. 0x03
  169. },
  170.  
  171. Package (0x06)
  172. {
  173. 0x0258,
  174. 0x2EE0,
  175. 0x0A,
  176. 0x0A,
  177. 0x8D,
  178. 0x04
  179. }
  180. })
  181. Method (_PPC, 0, NotSerialized)
  182. {
  183. Return (0x00)
  184. }
  185. }
  186. }
  187.  
  188. Name (\DSEN, 0x01)
  189. Scope (_SI)
  190. {
  191. Method (_MSG, 1, NotSerialized)
  192. {
  193. If (Arg0)
  194. {
  195. Store (One, \_SB.PCI0.LPC0.BL27)
  196. }
  197. Else
  198. {
  199. Store (Zero, \_SB.PCI0.LPC0.BL27)
  200. }
  201. }
  202. }
  203.  
  204. Name (\_S0, Package (0x02)
  205. {
  206. 0x00,
  207. 0x00
  208. })
  209. Name (\_S3, Package (0x02)
  210. {
  211. 0x05,
  212. 0x05
  213. })
  214. Name (\_S4, Package (0x02)
  215. {
  216. 0x06,
  217. 0x06
  218. })
  219. Name (\_S5, Package (0x02)
  220. {
  221. 0x07,
  222. 0x07
  223. })
  224. Method (_PTS, 1, NotSerialized)
  225. {
  226. Store (Arg0, \_SB.STAT)
  227. Store (">>>> _PTS ------------", Debug)
  228. Store (Arg0, Debug)
  229. Store (Arg0, \_SB.SLEE)
  230. Store (0x84, \_SB.PCI0.LPC0.BCMD)
  231. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  232. If (Or (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  233. {
  234. Store (0x01, \_SB.PCI0.LPC0.EC0.APWR)
  235. }
  236.  
  237. If (LEqual (Arg0, 0x03))
  238. {
  239. Store (0xE6, P80H)
  240. Store (0x80, \_SB.PCI0.LPC0.BCMD)
  241. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  242. Store (0x01, \_SB.PCI0.LPC0.LV37)
  243. Sleep (0xC8)
  244. Store (0xE7, P80H)
  245. }
  246.  
  247. If (LEqual (Arg0, 0x04))
  248. {
  249. Store (0x01, \_SB.S4WP)
  250. Store (0x82, \_SB.PCI0.LPC0.BCMD)
  251. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  252. Store (One, \_SB.PCI0.LPC0.EC0.PFLG)
  253. Store (One, \_SB.PCI0.LPC0.EC0.S4LD)
  254. }
  255.  
  256. If (LEqual (SizeOf (\_OS), 0x27)) {}
  257. If (LEqual (Arg0, 0x05))
  258. {
  259. Store (One, \_SB.PCI0.LPC0.EC0.S5LW)
  260. Store (0x00, \_SB.ECOK)
  261. }
  262. }
  263.  
  264. Method (_WAK, 1, NotSerialized)
  265. {
  266. Store (Arg0, \_SB.STAT)
  267. If (Or (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (\_SB.PCI0.MYOS, 0x01)))
  268. {
  269. Store (\_SB.WLES, \_SB.PCI0.LPC0.EC0.WEST)
  270. Store (\_SB.BTES, \_SB.PCI0.LPC0.EC0.BEST)
  271. Store (One, \_SB.PCI0.LPC0.EC0.WBIN)
  272. }
  273.  
  274. If (LEqual (Arg0, 0x04))
  275. {
  276. Store (0x01, \_SB.OKEC)
  277. Notify (\_SB.SLPB, 0x02)
  278. }
  279.  
  280. If (LEqual (SizeOf (\_OS), 0x14))
  281. {
  282. Store (0xE4, P80H)
  283. Store (\_SB.PCI0.LPC0.RBID, Local0)
  284. Store (\_SB.PCI0.IDE0.BAYR, Local1)
  285. Store (Local0, \_SB.PCI0.IDE0.BAYR)
  286. If (LNotEqual (Local0, Local1))
  287. {
  288. If (Or (LEqual (Local1, 0x01), LEqual (Local1, 0x02)))
  289. {
  290. If (And (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (Local0, 0x03)))
  291. {
  292. Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x03)
  293. }
  294. Else
  295. {
  296. Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x01)
  297. }
  298. }
  299. }
  300.  
  301. If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
  302. {
  303. Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x00)
  304. }
  305.  
  306. Store (0xE5, P80H)
  307. }
  308.  
  309. If (LEqual (SizeOf (\_OS), 0x27)) {}
  310. Store (\_SB.PCI0.LPC0.EC0.ACDF, \_SB.ACST)
  311. If (LEqual (SizeOf (\_OS), 0x11))
  312. {
  313. Notify (\_SB.SLPB, 0x02)
  314. }
  315.  
  316. Store (0x00, \_SB.SLEE)
  317. Return (Package (0x02) {0x00, 0x00})
  318. }
  319.  
  320. Scope (_GPE)
  321. {
  322. Method (_L05, 0, NotSerialized)
  323. {
  324. Notify (\_SB.PCI0.MDM0, 0x02)
  325. }
  326.  
  327. Method (_L0B, 0, NotSerialized)
  328. {
  329. Notify (\_SB.PCI0.PCIB, 0x00)
  330. If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  331. {
  332. Notify (\_SB.SLPB, 0x02)
  333. }
  334. }
  335.  
  336. Method (_L03, 0, NotSerialized)
  337. {
  338. Notify (\_SB.PCI0.USB1, 0x02)
  339. }
  340.  
  341. Method (_L04, 0, NotSerialized)
  342. {
  343. Notify (\_SB.PCI0.USB2, 0x02)
  344. }
  345.  
  346. Method (_L0C, 0, NotSerialized)
  347. {
  348. Notify (\_SB.PCI0.USB3, 0x02)
  349. }
  350.  
  351. Method (_E18, 0, NotSerialized)
  352. {
  353. Sleep (0x01)
  354. }
  355. }
  356.  
  357. Scope (_SB)
  358. {
  359. Name (STAT, 0x00)
  360. Name (D1ST, 0x00)
  361. Name (D1SJ, 0x01)
  362. Name (OKEC, 0x00)
  363. Device (PCI0)
  364. {
  365. Name (MYOS, 0x02)
  366. Method (_INI, 0, NotSerialized)
  367. {
  368. Store (0x01, \_SB.D1SJ)
  369. Store (0x02, MYOS)
  370. If (LEqual (SizeOf (\_OS), 0x14))
  371. {
  372. Store (0x01, MYOS)
  373. Store (0x07D0, OSYS)
  374. Store (0x01, \_SB.W2KF)
  375. If (CondRefOf (_OSI, Local0))
  376. {
  377. If (\_OSI ("Windows 2001"))
  378. {
  379. Store (0x03, MYOS)
  380. Store (0x07D1, OSYS)
  381. Store (0x03, \_SB.W2KF)
  382. }
  383. }
  384. }
  385. Else
  386. {
  387. If (LEqual (SizeOf (\_OS), 0x11))
  388. {
  389. Store (0x00, MYOS)
  390. Store (0x07CE, OSYS)
  391. Store (0x00, \_SB.W2KF)
  392. }
  393. Else
  394. {
  395. If (LEqual (SizeOf (\_OS), 0x27))
  396. {
  397. Store (0x02, MYOS)
  398. Store (0x07CF, OSYS)
  399. Store (0x02, \_SB.W2KF)
  400. }
  401. }
  402. }
  403. }
  404.  
  405. Name (_HID, EisaId ("PNP0A03"))
  406. Name (_ADR, 0x00)
  407. Name (_BBN, 0x00)
  408. OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
  409. Field (HBUS, DWordAcc, NoLock, Preserve)
  410. {
  411. Offset (0x18),
  412. , 7,
  413. HENA, 1,
  414. , 4,
  415. PM0H, 2,
  416. Offset (0x1A),
  417. PM1L, 2,
  418. , 2,
  419. PM1H, 2,
  420. Offset (0x1B),
  421. PM2L, 2,
  422. , 2,
  423. PM2H, 2,
  424. Offset (0x1C),
  425. PM3L, 2,
  426. , 2,
  427. PM3H, 2,
  428. Offset (0x1D),
  429. PM4L, 2,
  430. , 2,
  431. PM4H, 2,
  432. Offset (0x1E),
  433. PM5L, 2,
  434. , 2,
  435. PM5H, 2,
  436. Offset (0x1F),
  437. PM6L, 2,
  438. , 2,
  439. PM6H, 2,
  440. Offset (0x20)
  441. }
  442.  
  443. Name (BUF0, ResourceTemplate ()
  444. {
  445. WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  446. 0x0000, // Granularity
  447. 0x0000, // Range Minimum
  448. 0x00FF, // Range Maximum
  449. 0x0000, // Translation Offset
  450. 0x0100, // Length
  451. 0x00,, )
  452. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  453. 0x00000000, // Granularity
  454. 0x00000000, // Range Minimum
  455. 0x00000CF7, // Range Maximum
  456. 0x00000000, // Translation Offset
  457. 0x00000CF8, // Length
  458. 0x00,, , TypeStatic)
  459. IO (Decode16,
  460. 0x0CF8, // Range Minimum
  461. 0x0CF8, // Range Maximum
  462. 0x01, // Alignment
  463. 0x08, // Length
  464. )
  465. DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  466. 0x00000000, // Granularity
  467. 0x00000D00, // Range Minimum
  468. 0x0000FFFF, // Range Maximum
  469. 0x00000000, // Translation Offset
  470. 0x0000F300, // Length
  471. 0x00,, , TypeStatic)
  472. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  473. 0x00000000, // Granularity
  474. 0x000A0000, // Range Minimum
  475. 0x000BFFFF, // Range Maximum
  476. 0x00000000, // Translation Offset
  477. 0x00020000, // Length
  478. 0x00,, , AddressRangeMemory, TypeStatic)
  479. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  480. 0x00000000, // Granularity
  481. 0x000C0000, // Range Minimum
  482. 0x000C3FFF, // Range Maximum
  483. 0x00000000, // Translation Offset
  484. 0x00004000, // Length
  485. 0x00,, _Y00, AddressRangeMemory, TypeStatic)
  486. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  487. 0x00000000, // Granularity
  488. 0x000C4000, // Range Minimum
  489. 0x000C7FFF, // Range Maximum
  490. 0x00000000, // Translation Offset
  491. 0x00004000, // Length
  492. 0x00,, _Y01, AddressRangeMemory, TypeStatic)
  493. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  494. 0x00000000, // Granularity
  495. 0x000C8000, // Range Minimum
  496. 0x000CBFFF, // Range Maximum
  497. 0x00000000, // Translation Offset
  498. 0x00004000, // Length
  499. 0x00,, _Y02, AddressRangeMemory, TypeStatic)
  500. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  501. 0x00000000, // Granularity
  502. 0x000CC000, // Range Minimum
  503. 0x000CFFFF, // Range Maximum
  504. 0x00000000, // Translation Offset
  505. 0x00004000, // Length
  506. 0x00,, _Y03, AddressRangeMemory, TypeStatic)
  507. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  508. 0x00000000, // Granularity
  509. 0x000D0000, // Range Minimum
  510. 0x000D3FFF, // Range Maximum
  511. 0x00000000, // Translation Offset
  512. 0x00004000, // Length
  513. 0x00,, _Y04, AddressRangeMemory, TypeStatic)
  514. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  515. 0x00000000, // Granularity
  516. 0x000D4000, // Range Minimum
  517. 0x000D7FFF, // Range Maximum
  518. 0x00000000, // Translation Offset
  519. 0x00004000, // Length
  520. 0x00,, _Y05, AddressRangeMemory, TypeStatic)
  521. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  522. 0x00000000, // Granularity
  523. 0x000D8000, // Range Minimum
  524. 0x000DBFFF, // Range Maximum
  525. 0x00000000, // Translation Offset
  526. 0x00004000, // Length
  527. 0x00,, _Y06, AddressRangeMemory, TypeStatic)
  528. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  529. 0x00000000, // Granularity
  530. 0x000DC000, // Range Minimum
  531. 0x000DFFFF, // Range Maximum
  532. 0x00000000, // Translation Offset
  533. 0x00004000, // Length
  534. 0x00,, _Y07, AddressRangeMemory, TypeStatic)
  535. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  536. 0x00000000, // Granularity
  537. 0x000E0000, // Range Minimum
  538. 0x000E3FFF, // Range Maximum
  539. 0x00000000, // Translation Offset
  540. 0x00004000, // Length
  541. 0x00,, _Y08, AddressRangeMemory, TypeStatic)
  542. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  543. 0x00000000, // Granularity
  544. 0x000E4000, // Range Minimum
  545. 0x000E7FFF, // Range Maximum
  546. 0x00000000, // Translation Offset
  547. 0x00004000, // Length
  548. 0x00,, _Y09, AddressRangeMemory, TypeStatic)
  549. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  550. 0x00000000, // Granularity
  551. 0x000E8000, // Range Minimum
  552. 0x000EBFFF, // Range Maximum
  553. 0x00000000, // Translation Offset
  554. 0x00004000, // Length
  555. 0x00,, _Y0A, AddressRangeMemory, TypeStatic)
  556. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  557. 0x00000000, // Granularity
  558. 0x000EC000, // Range Minimum
  559. 0x000EFFFF, // Range Maximum
  560. 0x00000000, // Translation Offset
  561. 0x00004000, // Length
  562. 0x00,, _Y0B, AddressRangeMemory, TypeStatic)
  563. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  564. 0x00000000, // Granularity
  565. 0x000F0000, // Range Minimum
  566. 0x000FFFFF, // Range Maximum
  567. 0x00000000, // Translation Offset
  568. 0x00010000, // Length
  569. 0x00,, _Y0C, AddressRangeMemory, TypeStatic)
  570. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  571. 0x00000000, // Granularity
  572. 0x00000000, // Range Minimum
  573. 0xFEBFFFFF, // Range Maximum
  574. 0x00000000, // Translation Offset
  575. 0x00000000, // Length
  576. 0x00,, _Y0D, AddressRangeMemory, TypeStatic)
  577. DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  578. 0x00000000, // Granularity
  579. 0x00000000, // Range Minimum
  580. 0x00000000, // Range Maximum
  581. 0x00000000, // Translation Offset
  582. 0x00000000, // Length
  583. 0x00,, _Y0E, AddressRangeMemory, TypeStatic)
  584. })
  585. Method (_CRS, 0, Serialized)
  586. {
  587. If (PM1L)
  588. {
  589. CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
  590. Store (Zero, C0LN)
  591. }
  592.  
  593. If (LEqual (PM1L, 0x01))
  594. {
  595. CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
  596. Store (Zero, C0RW)
  597. }
  598.  
  599. If (PM1H)
  600. {
  601. CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
  602. Store (Zero, C4LN)
  603. }
  604.  
  605. If (LEqual (PM1H, 0x01))
  606. {
  607. CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
  608. Store (Zero, C4RW)
  609. }
  610.  
  611. If (PM2L)
  612. {
  613. CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
  614. Store (Zero, C8LN)
  615. }
  616.  
  617. If (LEqual (PM2L, 0x01))
  618. {
  619. CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
  620. Store (Zero, C8RW)
  621. }
  622.  
  623. If (PM2H)
  624. {
  625. CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
  626. Store (Zero, CCLN)
  627. }
  628.  
  629. If (LEqual (PM2H, 0x01))
  630. {
  631. CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
  632. Store (Zero, CCRW)
  633. }
  634.  
  635. If (PM3L)
  636. {
  637. CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
  638. Store (Zero, D0LN)
  639. }
  640.  
  641. If (LEqual (PM3L, 0x01))
  642. {
  643. CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
  644. Store (Zero, D0RW)
  645. }
  646.  
  647. If (PM3H)
  648. {
  649. CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
  650. Store (Zero, D4LN)
  651. }
  652.  
  653. If (LEqual (PM3H, 0x01))
  654. {
  655. CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
  656. Store (Zero, D4RW)
  657. }
  658.  
  659. If (PM4L)
  660. {
  661. CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
  662. Store (Zero, D8LN)
  663. }
  664.  
  665. If (LEqual (PM4L, 0x01))
  666. {
  667. CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
  668. Store (Zero, D8RW)
  669. }
  670.  
  671. If (PM4H)
  672. {
  673. CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
  674. Store (Zero, DCLN)
  675. }
  676.  
  677. If (LEqual (PM4H, 0x01))
  678. {
  679. CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
  680. Store (Zero, DCRW)
  681. }
  682.  
  683. If (PM5L)
  684. {
  685. CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
  686. Store (Zero, E0LN)
  687. }
  688.  
  689. If (LEqual (PM5L, 0x01))
  690. {
  691. CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
  692. Store (Zero, E0RW)
  693. }
  694.  
  695. If (PM5H)
  696. {
  697. CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
  698. Store (Zero, E4LN)
  699. }
  700.  
  701. If (LEqual (PM5H, 0x01))
  702. {
  703. CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
  704. Store (Zero, E4RW)
  705. }
  706.  
  707. If (PM6L)
  708. {
  709. CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
  710. Store (Zero, E8LN)
  711. }
  712.  
  713. If (LEqual (PM6L, 0x01))
  714. {
  715. CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
  716. Store (Zero, E8RW)
  717. }
  718.  
  719. If (PM6H)
  720. {
  721. CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
  722. Store (Zero, ECLN)
  723. }
  724.  
  725. If (LEqual (PM6H, 0x01))
  726. {
  727. CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
  728. Store (Zero, ECRW)
  729. }
  730.  
  731. If (PM0H)
  732. {
  733. CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
  734. Store (Zero, F0LN)
  735. }
  736.  
  737. If (LEqual (PM0H, 0x01))
  738. {
  739. CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
  740. Store (Zero, F0RW)
  741. }
  742.  
  743. CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)
  744. CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)
  745. CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)
  746. Multiply (0x02000000, \_SB.PCI0.MBUS.DRB3, M1MN)
  747. Add (Subtract (M1MX, M1MN), 0x01, M1LN)
  748. ShiftRight (And (\_SB.PCI0.LPC0.MTSE, 0x0380), 0x07, Local0)
  749. If (And (Local0, 0x04))
  750. {
  751. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M2MN)
  752. CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M2MX)
  753. CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M2LN)
  754. Store (0xFED00000, M2MN)
  755. Store (0xFED003FF, M2MX)
  756. Store (0x0400, M2LN)
  757. If (LEqual (Local0, 0x05))
  758. {
  759. Store (0xFED01000, M2MN)
  760. Store (0xFED013FF, M2MX)
  761. }
  762.  
  763. If (LEqual (Local0, 0x06))
  764. {
  765. Store (0xFED02000, M2MN)
  766. Store (0xFED023FF, M2MX)
  767. }
  768.  
  769. If (LEqual (Local0, 0x07))
  770. {
  771. Store (0xFED03000, M2MN)
  772. Store (0xFED033FF, M2MX)
  773. }
  774. }
  775.  
  776. Return (BUF0)
  777. }
  778.  
  779. Method (_PRT, 0, NotSerialized)
  780. {
  781. Return (Package (0x07)
  782. {
  783. Package (0x04)
  784. {
  785. 0x0001FFFF,
  786. 0x00,
  787. \_SB.PCI0.LPC0.LNKA,
  788. 0x00
  789. },
  790.  
  791. Package (0x04)
  792. {
  793. 0x001DFFFF,
  794. 0x00,
  795. \_SB.PCI0.LPC0.LNKA,
  796. 0x00
  797. },
  798.  
  799. Package (0x04)
  800. {
  801. 0x001DFFFF,
  802. 0x01,
  803. \_SB.PCI0.LPC0.LNKD,
  804. 0x00
  805. },
  806.  
  807. Package (0x04)
  808. {
  809. 0x001DFFFF,
  810. 0x02,
  811. \_SB.PCI0.LPC0.LNKC,
  812. 0x00
  813. },
  814.  
  815. Package (0x04)
  816. {
  817. 0x001DFFFF,
  818. 0x03,
  819. \_SB.PCI0.LPC0.LNKH,
  820. 0x00
  821. },
  822.  
  823. Package (0x04)
  824. {
  825. 0x001FFFFF,
  826. 0x00,
  827. \_SB.PCI0.LPC0.LNKC,
  828. 0x00
  829. },
  830.  
  831. Package (0x04)
  832. {
  833. 0x001FFFFF,
  834. 0x01,
  835. \_SB.PCI0.LPC0.LNKB,
  836. 0x00
  837. }
  838. })
  839. }
  840.  
  841. Device (MBUS)
  842. {
  843. Name (_ADR, 0x01)
  844. OperationRegion (MBUS, PCI_Config, 0x40, 0xC0)
  845. Field (MBUS, DWordAcc, NoLock, Preserve)
  846. {
  847. DRB0, 8,
  848. DRB1, 8,
  849. DRB2, 8,
  850. DRB3, 8
  851. }
  852. }
  853.  
  854. Device (AGP)
  855. {
  856. Name (_ADR, 0x00010000)
  857. Name (_PRT, Package (0x01)
  858. {
  859. Package (0x04)
  860. {
  861. 0xFFFF,
  862. 0x00,
  863. \_SB.PCI0.LPC0.LNKA,
  864. 0x00
  865. }
  866. })
  867. Device (VGA)
  868. {
  869. Name (_ADR, 0x00)
  870. Name (SWIT, 0x01)
  871. Name (CRTA, 0x00)
  872. Name (LCDA, 0x01)
  873. Name (TV0A, 0x00)
  874. Name (DVIA, 0x00)
  875. Name (TOGF, 0x00)
  876. Name (LSTF, 0x00)
  877. Name (WDAS, 0x01)
  878. Method (_STA, 0, NotSerialized)
  879. {
  880. Return (0x0F)
  881. }
  882.  
  883. Name (_PSC, 0x00)
  884. Name (USBF, 0x00)
  885. Method (_PS0, 0, NotSerialized)
  886. {
  887. Store (0x00, _PSC)
  888. }
  889.  
  890. Method (_PS3, 0, NotSerialized)
  891. {
  892. Store (0x03, _PSC)
  893. }
  894.  
  895. Method (_DOS, 1, NotSerialized)
  896. {
  897. Store (And (Arg0, 0x03), SWIT)
  898. }
  899.  
  900. Method (_DOD, 0, NotSerialized)
  901. {
  902. Return (Package (0x04)
  903. {
  904. 0x00010100,
  905. 0x00010110,
  906. 0x00010200,
  907. 0x00010210
  908. })
  909. }
  910.  
  911. Device (CRT)
  912. {
  913. Name (_ADR, 0x0100)
  914. Method (_DCS, 0, NotSerialized)
  915. {
  916. If (CRTA)
  917. {
  918. Return (0x1F)
  919. }
  920. Else
  921. {
  922. Return (0x1D)
  923. }
  924. }
  925.  
  926. Method (_DGS, 0, NotSerialized)
  927. {
  928. If (CRTA)
  929. {
  930. Return (0x01)
  931. }
  932. Else
  933. {
  934. Return (0x00)
  935. }
  936. }
  937.  
  938. Method (_DSS, 1, NotSerialized)
  939. {
  940. Store ("CRT --_DSS", Debug)
  941. }
  942. }
  943.  
  944. Device (DVI)
  945. {
  946. Name (_ADR, 0x0210)
  947. Method (_DCS, 0, NotSerialized)
  948. {
  949. If (DVIA)
  950. {
  951. Return (0x1F)
  952. }
  953. Else
  954. {
  955. Return (0x1D)
  956. }
  957. }
  958.  
  959. Method (_DGS, 0, NotSerialized)
  960. {
  961. If (DVIA)
  962. {
  963. Return (0x01)
  964. }
  965. Else
  966. {
  967. Return (0x00)
  968. }
  969. }
  970.  
  971. Method (_DSS, 1, NotSerialized)
  972. {
  973. Store ("DVI --_DSS", Debug)
  974. }
  975. }
  976.  
  977. Device (TV0)
  978. {
  979. Name (_ADR, 0x0200)
  980. Method (_DCS, 0, NotSerialized)
  981. {
  982. If (TV0A)
  983. {
  984. Return (0x1F)
  985. }
  986. Else
  987. {
  988. Return (0x1D)
  989. }
  990. }
  991.  
  992. Method (_DGS, 0, NotSerialized)
  993. {
  994. If (TV0A)
  995. {
  996. Return (0x01)
  997. }
  998. Else
  999. {
  1000. Return (0x00)
  1001. }
  1002. }
  1003.  
  1004. Method (_DSS, 1, NotSerialized)
  1005. {
  1006. Store ("TV --_DSS", Debug)
  1007. }
  1008. }
  1009.  
  1010. Device (LCD)
  1011. {
  1012. Name (_ADR, 0x0110)
  1013. Method (_DCS, 0, NotSerialized)
  1014. {
  1015. If (LCDA)
  1016. {
  1017. Return (0x1F)
  1018. }
  1019. Else
  1020. {
  1021. Return (0x1D)
  1022. }
  1023. }
  1024.  
  1025. Method (_DGS, 0, NotSerialized)
  1026. {
  1027. Store (LCDA, Local0)
  1028. If (LCDA)
  1029. {
  1030. Return (0x01)
  1031. }
  1032. Else
  1033. {
  1034. Return (0x00)
  1035. }
  1036. }
  1037.  
  1038. Method (_DSS, 1, NotSerialized)
  1039. {
  1040. Store ("LCD --_DSS", Debug)
  1041. }
  1042. }
  1043.  
  1044. Method (SWIH, 0, NotSerialized)
  1045. {
  1046. Store (0x97, \_SB.PCI0.LPC0.BCMD)
  1047. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  1048. Store (\_SB.DATS, WDAS)
  1049. Store (WDAS, P80H)
  1050. GETD ()
  1051. If (LEqual (WDAS, 0x0F))
  1052. {
  1053. Increment (TOGF)
  1054. If (LGreater (TOGF, 0x07))
  1055. {
  1056. Store (0x01, TOGF)
  1057. }
  1058.  
  1059. Store (TOGF, Local1)
  1060. If (LEqual (Local1, 0x01))
  1061. {
  1062. Store (0x01, LCDA)
  1063. Store (0x00, CRTA)
  1064. Store (0x00, TV0A)
  1065. Store (0x00, DVIA)
  1066. }
  1067. Else
  1068. {
  1069. If (LEqual (Local1, 0x02))
  1070. {
  1071. Store (0x01, LCDA)
  1072. Store (0x01, CRTA)
  1073. Store (0x00, TV0A)
  1074. Store (0x00, DVIA)
  1075. }
  1076. Else
  1077. {
  1078. If (LEqual (Local1, 0x03))
  1079. {
  1080. Store (0x01, LCDA)
  1081. Store (0x00, CRTA)
  1082. Store (0x00, TV0A)
  1083. Store (0x01, DVIA)
  1084. }
  1085. Else
  1086. {
  1087. If (LEqual (Local1, 0x04))
  1088. {
  1089. Store (0x01, LCDA)
  1090. Store (0x00, CRTA)
  1091. Store (0x01, TV0A)
  1092. Store (0x00, DVIA)
  1093. }
  1094. Else
  1095. {
  1096. If (LEqual (Local1, 0x05))
  1097. {
  1098. Store (0x00, LCDA)
  1099. Store (0x01, CRTA)
  1100. Store (0x00, TV0A)
  1101. Store (0x00, DVIA)
  1102. }
  1103. Else
  1104. {
  1105. If (LEqual (Local1, 0x06))
  1106. {
  1107. Store (0x00, LCDA)
  1108. Store (0x00, CRTA)
  1109. Store (0x00, TV0A)
  1110. Store (0x01, DVIA)
  1111. }
  1112. Else
  1113. {
  1114. If (LEqual (Local1, 0x07))
  1115. {
  1116. Store (0x00, LCDA)
  1117. Store (0x00, CRTA)
  1118. Store (0x01, TV0A)
  1119. Store (0x00, DVIA)
  1120. }
  1121. }
  1122. }
  1123. }
  1124. }
  1125. }
  1126. }
  1127. }
  1128.  
  1129. If (LEqual (WDAS, 0x0D))
  1130. {
  1131. Increment (TOGF)
  1132. If (LGreater (TOGF, 0x05))
  1133. {
  1134. Store (0x01, TOGF)
  1135. }
  1136.  
  1137. Store (TOGF, Local1)
  1138. If (LEqual (Local1, 0x01))
  1139. {
  1140. Store (0x01, LCDA)
  1141. Store (0x00, CRTA)
  1142. Store (0x00, TV0A)
  1143. Store (0x00, DVIA)
  1144. }
  1145. Else
  1146. {
  1147. If (LEqual (Local1, 0x02))
  1148. {
  1149. Store (0x01, LCDA)
  1150. Store (0x00, CRTA)
  1151. Store (0x00, TV0A)
  1152. Store (0x01, DVIA)
  1153. }
  1154. Else
  1155. {
  1156. If (LEqual (Local1, 0x03))
  1157. {
  1158. Store (0x01, LCDA)
  1159. Store (0x00, CRTA)
  1160. Store (0x01, TV0A)
  1161. Store (0x00, DVIA)
  1162. }
  1163. Else
  1164. {
  1165. If (LEqual (Local1, 0x04))
  1166. {
  1167. Store (0x00, LCDA)
  1168. Store (0x00, CRTA)
  1169. Store (0x00, TV0A)
  1170. Store (0x01, DVIA)
  1171. }
  1172. Else
  1173. {
  1174. If (LEqual (Local1, 0x05))
  1175. {
  1176. Store (0x00, LCDA)
  1177. Store (0x00, CRTA)
  1178. Store (0x01, TV0A)
  1179. Store (0x00, DVIA)
  1180. }
  1181. }
  1182. }
  1183. }
  1184. }
  1185. }
  1186.  
  1187. If (LEqual (WDAS, 0x0B))
  1188. {
  1189. Increment (TOGF)
  1190. If (LGreater (TOGF, 0x05))
  1191. {
  1192. Store (0x01, TOGF)
  1193. }
  1194.  
  1195. Store (TOGF, Local1)
  1196. If (LEqual (Local1, 0x01))
  1197. {
  1198. Store (0x01, LCDA)
  1199. Store (0x00, CRTA)
  1200. Store (0x00, TV0A)
  1201. Store (0x00, DVIA)
  1202. }
  1203. Else
  1204. {
  1205. If (LEqual (Local1, 0x02))
  1206. {
  1207. Store (0x01, LCDA)
  1208. Store (0x01, CRTA)
  1209. Store (0x00, TV0A)
  1210. Store (0x00, DVIA)
  1211. }
  1212. Else
  1213. {
  1214. If (LEqual (Local1, 0x03))
  1215. {
  1216. Store (0x01, LCDA)
  1217. Store (0x00, CRTA)
  1218. Store (0x00, TV0A)
  1219. Store (0x01, DVIA)
  1220. }
  1221. Else
  1222. {
  1223. If (LEqual (Local1, 0x04))
  1224. {
  1225. Store (0x00, LCDA)
  1226. Store (0x01, CRTA)
  1227. Store (0x00, TV0A)
  1228. Store (0x00, DVIA)
  1229. }
  1230. Else
  1231. {
  1232. If (LEqual (Local1, 0x05))
  1233. {
  1234. Store (0x00, LCDA)
  1235. Store (0x00, CRTA)
  1236. Store (0x00, TV0A)
  1237. Store (0x01, DVIA)
  1238. }
  1239. }
  1240. }
  1241. }
  1242. }
  1243. }
  1244.  
  1245. If (LEqual (WDAS, 0x09))
  1246. {
  1247. Increment (TOGF)
  1248. If (LGreater (TOGF, 0x03))
  1249. {
  1250. Store (0x01, TOGF)
  1251. }
  1252.  
  1253. Store (TOGF, Local1)
  1254. If (LEqual (Local1, 0x01))
  1255. {
  1256. Store (0x01, LCDA)
  1257. Store (0x00, CRTA)
  1258. Store (0x00, TV0A)
  1259. Store (0x00, DVIA)
  1260. }
  1261. Else
  1262. {
  1263. If (LEqual (Local1, 0x02))
  1264. {
  1265. Store (0x01, LCDA)
  1266. Store (0x00, CRTA)
  1267. Store (0x00, TV0A)
  1268. Store (0x01, DVIA)
  1269. }
  1270. Else
  1271. {
  1272. If (LEqual (Local1, 0x03))
  1273. {
  1274. Store (0x00, LCDA)
  1275. Store (0x00, CRTA)
  1276. Store (0x00, TV0A)
  1277. Store (0x01, DVIA)
  1278. }
  1279. }
  1280. }
  1281. }
  1282.  
  1283. If (LOr (LEqual (WDAS, 0x05), LEqual (WDAS, 0x07)))
  1284. {
  1285. Increment (TOGF)
  1286. If (LGreater (TOGF, 0x05))
  1287. {
  1288. Store (0x01, TOGF)
  1289. }
  1290.  
  1291. Store (TOGF, Local1)
  1292. If (LEqual (Local1, 0x01))
  1293. {
  1294. Store (0x01, LCDA)
  1295. Store (0x00, CRTA)
  1296. Store (0x00, TV0A)
  1297. Store (0x00, DVIA)
  1298. }
  1299. Else
  1300. {
  1301. If (LEqual (Local1, 0x02))
  1302. {
  1303. Store (0x01, LCDA)
  1304. Store (0x01, CRTA)
  1305. Store (0x00, TV0A)
  1306. Store (0x00, DVIA)
  1307. }
  1308. Else
  1309. {
  1310. If (LEqual (Local1, 0x03))
  1311. {
  1312. Store (0x01, LCDA)
  1313. Store (0x00, CRTA)
  1314. Store (0x01, TV0A)
  1315. Store (0x00, DVIA)
  1316. }
  1317. Else
  1318. {
  1319. If (LEqual (Local1, 0x04))
  1320. {
  1321. Store (0x00, LCDA)
  1322. Store (0x01, CRTA)
  1323. Store (0x00, TV0A)
  1324. Store (0x00, DVIA)
  1325. }
  1326. Else
  1327. {
  1328. If (LEqual (Local1, 0x05))
  1329. {
  1330. Store (0x00, LCDA)
  1331. Store (0x00, CRTA)
  1332. Store (0x01, TV0A)
  1333. Store (0x00, DVIA)
  1334. }
  1335. }
  1336. }
  1337. }
  1338. }
  1339. }
  1340.  
  1341. If (LLessEqual (WDAS, 0x03))
  1342. {
  1343. Increment (TOGF)
  1344. If (LGreater (TOGF, 0x03))
  1345. {
  1346. Store (0x01, TOGF)
  1347. }
  1348.  
  1349. Store (TOGF, Local1)
  1350. If (LEqual (Local1, 0x01))
  1351. {
  1352. Store (0x01, LCDA)
  1353. Store (0x00, CRTA)
  1354. Store (0x00, TV0A)
  1355. Store (0x00, DVIA)
  1356. }
  1357. Else
  1358. {
  1359. If (LEqual (Local1, 0x02))
  1360. {
  1361. Store (0x01, LCDA)
  1362. Store (0x01, CRTA)
  1363. Store (0x00, TV0A)
  1364. Store (0x00, DVIA)
  1365. }
  1366. Else
  1367. {
  1368. If (LEqual (Local1, 0x03))
  1369. {
  1370. Store (0x00, LCDA)
  1371. Store (0x01, CRTA)
  1372. Store (0x00, TV0A)
  1373. Store (0x00, DVIA)
  1374. }
  1375. }
  1376. }
  1377. }
  1378.  
  1379. Notify (\_SB.PCI0.AGP.VGA, 0x80)
  1380. }
  1381.  
  1382. Method (GETD, 0, NotSerialized)
  1383. {
  1384. Store (0x98, \_SB.PCI0.LPC0.BCMD)
  1385. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  1386. Store (\_SB.DISD, Local0)
  1387. If (LEqual (WDAS, 0x0F))
  1388. {
  1389. If (LEqual (Local0, 0x07))
  1390. {
  1391. Store (0x07, TOGF)
  1392. }
  1393.  
  1394. If (LEqual (Local0, 0x06))
  1395. {
  1396. Store (0x06, TOGF)
  1397. }
  1398.  
  1399. If (LEqual (Local0, 0x05))
  1400. {
  1401. Store (0x05, TOGF)
  1402. }
  1403.  
  1404. If (LEqual (Local0, 0x04))
  1405. {
  1406. Store (0x04, TOGF)
  1407. }
  1408.  
  1409. If (LEqual (Local0, 0x03))
  1410. {
  1411. Store (0x03, TOGF)
  1412. }
  1413.  
  1414. If (LEqual (Local0, 0x02))
  1415. {
  1416. Store (0x02, TOGF)
  1417. }
  1418.  
  1419. If (LEqual (Local0, 0x01))
  1420. {
  1421. Store (0x01, TOGF)
  1422. }
  1423.  
  1424. If (LEqual (Local0, 0x00))
  1425. {
  1426. Store (0x00, TOGF)
  1427. }
  1428. }
  1429.  
  1430. If (LEqual (WDAS, 0x0D))
  1431. {
  1432. If (LEqual (Local0, 0x07))
  1433. {
  1434. Store (0x05, TOGF)
  1435. }
  1436.  
  1437. If (LEqual (Local0, 0x06))
  1438. {
  1439. Store (0x04, TOGF)
  1440. }
  1441.  
  1442. If (LEqual (Local0, 0x04))
  1443. {
  1444. Store (0x03, TOGF)
  1445. }
  1446.  
  1447. If (LEqual (Local0, 0x03))
  1448. {
  1449. Store (0x02, TOGF)
  1450. }
  1451.  
  1452. If (LEqual (Local0, 0x01))
  1453. {
  1454. Store (0x01, TOGF)
  1455. }
  1456.  
  1457. If (LEqual (Local0, 0x00))
  1458. {
  1459. Store (0x00, TOGF)
  1460. }
  1461. }
  1462.  
  1463. If (LEqual (WDAS, 0x0B))
  1464. {
  1465. If (LEqual (Local0, 0x06))
  1466. {
  1467. Store (0x05, TOGF)
  1468. }
  1469.  
  1470. If (LEqual (Local0, 0x05))
  1471. {
  1472. Store (0x04, TOGF)
  1473. }
  1474.  
  1475. If (LEqual (Local0, 0x03))
  1476. {
  1477. Store (0x03, TOGF)
  1478. }
  1479.  
  1480. If (LEqual (Local0, 0x02))
  1481. {
  1482. Store (0x02, TOGF)
  1483. }
  1484.  
  1485. If (LEqual (Local0, 0x01))
  1486. {
  1487. Store (0x01, TOGF)
  1488. }
  1489.  
  1490. If (LEqual (Local0, 0x00))
  1491. {
  1492. Store (0x00, TOGF)
  1493. }
  1494. }
  1495.  
  1496. If (LEqual (WDAS, 0x09))
  1497. {
  1498. If (LEqual (Local0, 0x06))
  1499. {
  1500. Store (0x03, TOGF)
  1501. }
  1502.  
  1503. If (LEqual (Local0, 0x03))
  1504. {
  1505. Store (0x02, TOGF)
  1506. }
  1507.  
  1508. If (LEqual (Local0, 0x01))
  1509. {
  1510. Store (0x01, TOGF)
  1511. }
  1512.  
  1513. If (LEqual (Local0, 0x00))
  1514. {
  1515. Store (0x00, TOGF)
  1516. }
  1517. }
  1518.  
  1519. If (LOr (LEqual (WDAS, 0x05), LEqual (WDAS, 0x07)))
  1520. {
  1521. If (LEqual (Local0, 0x07))
  1522. {
  1523. Store (0x05, TOGF)
  1524. }
  1525.  
  1526. If (LEqual (Local0, 0x05))
  1527. {
  1528. Store (0x04, TOGF)
  1529. }
  1530.  
  1531. If (LEqual (Local0, 0x04))
  1532. {
  1533. Store (0x03, TOGF)
  1534. }
  1535.  
  1536. If (LEqual (Local0, 0x02))
  1537. {
  1538. Store (0x02, TOGF)
  1539. }
  1540.  
  1541. If (LEqual (Local0, 0x01))
  1542. {
  1543. Store (0x01, TOGF)
  1544. }
  1545.  
  1546. If (LEqual (Local0, 0x00))
  1547. {
  1548. Store (0x00, TOGF)
  1549. }
  1550.  
  1551. If (LEqual (TOGF, LSTF))
  1552. {
  1553. Increment (TOGF)
  1554. }
  1555.  
  1556. Store (TOGF, LSTF)
  1557. }
  1558.  
  1559. If (LLessEqual (WDAS, 0x03))
  1560. {
  1561. If (LEqual (Local0, 0x05))
  1562. {
  1563. Store (0x03, TOGF)
  1564. }
  1565.  
  1566. If (LEqual (Local0, 0x02))
  1567. {
  1568. Store (0x02, TOGF)
  1569. }
  1570.  
  1571. If (LEqual (Local0, 0x01))
  1572. {
  1573. Store (0x01, TOGF)
  1574. }
  1575.  
  1576. If (LEqual (Local0, 0x00))
  1577. {
  1578. Store (0x00, TOGF)
  1579. }
  1580. }
  1581. }
  1582. }
  1583. }
  1584.  
  1585. Device (PCIB)
  1586. {
  1587. Name (_ADR, 0x001E0000)
  1588. Device (GLAN)
  1589. {
  1590. Name (_ADR, 0x00020000)
  1591. Name (_PRW, Package (0x02)
  1592. {
  1593. 0x0B,
  1594. 0x05
  1595. })
  1596. }
  1597.  
  1598. Device (MPCI)
  1599. {
  1600. Name (_ADR, 0x00040000)
  1601. Name (_PRW, Package (0x02)
  1602. {
  1603. 0x0B,
  1604. 0x04
  1605. })
  1606. }
  1607.  
  1608. Device (T394)
  1609. {
  1610. Name (_ADR, 0x00060002)
  1611. Name (_PRW, Package (0x02)
  1612. {
  1613. 0x0B,
  1614. 0x04
  1615. })
  1616. }
  1617.  
  1618. Method (_PRT, 0, NotSerialized)
  1619. {
  1620. Return (Package (0x06)
  1621. {
  1622. Package (0x04)
  1623. {
  1624. 0x0002FFFF,
  1625. 0x00,
  1626. \_SB.PCI0.LPC0.LNKD,
  1627. 0x00
  1628. },
  1629.  
  1630. Package (0x04)
  1631. {
  1632. 0x0004FFFF,
  1633. 0x00,
  1634. \_SB.PCI0.LPC0.LNKB,
  1635. 0x00
  1636. },
  1637.  
  1638. Package (0x04)
  1639. {
  1640. 0x0004FFFF,
  1641. 0x01,
  1642. \_SB.PCI0.LPC0.LNKC,
  1643. 0x00
  1644. },
  1645.  
  1646. Package (0x04)
  1647. {
  1648. 0x0006FFFF,
  1649. 0x00,
  1650. \_SB.PCI0.LPC0.LNKE,
  1651. 0x00
  1652. },
  1653.  
  1654. Package (0x04)
  1655. {
  1656. 0x0006FFFF,
  1657. 0x01,
  1658. \_SB.PCI0.LPC0.LNKF,
  1659. 0x00
  1660. },
  1661.  
  1662. Package (0x04)
  1663. {
  1664. 0x0006FFFF,
  1665. 0x02,
  1666. \_SB.PCI0.LPC0.LNKG,
  1667. 0x00
  1668. }
  1669. })
  1670. }
  1671. }
  1672.  
  1673. Device (LPC0)
  1674. {
  1675. Name (_ADR, 0x001F0000)
  1676. Method (DECD, 4, NotSerialized)
  1677. {
  1678. Store (Arg0, Debug)
  1679. }
  1680.  
  1681. OperationRegion (REGS, PCI_Config, 0x40, 0xC0)
  1682. Field (REGS, DWordAcc, NoLock, Preserve)
  1683. {
  1684. PMBA, 16,
  1685. Offset (0x18),
  1686. GPBA, 16,
  1687. Offset (0x90),
  1688. POSD, 1,
  1689. Offset (0x91),
  1690. MTSE, 16,
  1691. Offset (0x94),
  1692. Offset (0xA0),
  1693. CMAD, 3,
  1694. , 1,
  1695. CMBD, 3,
  1696. Offset (0xA1),
  1697. LPTD, 2,
  1698. , 2,
  1699. FDDD, 1,
  1700. Offset (0xA6),
  1701. ECO1, 1,
  1702. ECO2, 1,
  1703. ELPT, 1,
  1704. EFDD, 1
  1705. }
  1706.  
  1707. OperationRegion (PIRX, PCI_Config, 0x60, 0x0C)
  1708. Field (PIRX, DWordAcc, NoLock, Preserve)
  1709. {
  1710. AccessAs (ByteAcc, 0x00),
  1711. PIRA, 8,
  1712. PIRB, 8,
  1713. PIRC, 8,
  1714. PIRD, 8,
  1715. Offset (0x08),
  1716. PIRE, 8,
  1717. PIRF, 8,
  1718. PIRG, 8,
  1719. PIRH, 8
  1720. }
  1721.  
  1722. Device (TIMR)
  1723. {
  1724. Name (_HID, EisaId ("PNP0100"))
  1725. Name (BUF0, ResourceTemplate ()
  1726. {
  1727. IO (Decode16,
  1728. 0x0040, // Range Minimum
  1729. 0x0040, // Range Maximum
  1730. 0x01, // Alignment
  1731. 0x04, // Length
  1732. )
  1733. IO (Decode16,
  1734. 0x0050, // Range Minimum
  1735. 0x0050, // Range Maximum
  1736. 0x10, // Alignment
  1737. 0x04, // Length
  1738. )
  1739. })
  1740. Name (BUF1, ResourceTemplate ()
  1741. {
  1742. IO (Decode16,
  1743. 0x0040, // Range Minimum
  1744. 0x0040, // Range Maximum
  1745. 0x01, // Alignment
  1746. 0x04, // Length
  1747. )
  1748. IO (Decode16,
  1749. 0x0050, // Range Minimum
  1750. 0x0050, // Range Maximum
  1751. 0x10, // Alignment
  1752. 0x04, // Length
  1753. )
  1754. IRQNoFlags ()
  1755. {0}
  1756. })
  1757. Method (_CRS, 0, Serialized)
  1758. {
  1759. If (And (MTSE, 0x0200))
  1760. {
  1761. Return (BUF0)
  1762. }
  1763.  
  1764. Return (BUF1)
  1765. }
  1766. }
  1767.  
  1768. Device (IPIC)
  1769. {
  1770. Name (_HID, EisaId ("PNP0000"))
  1771. Name (_CRS, ResourceTemplate ()
  1772. {
  1773. IO (Decode16,
  1774. 0x0020, // Range Minimum
  1775. 0x0020, // Range Maximum
  1776. 0x01, // Alignment
  1777. 0x02, // Length
  1778. )
  1779. IO (Decode16,
  1780. 0x0024, // Range Minimum
  1781. 0x0024, // Range Maximum
  1782. 0x01, // Alignment
  1783. 0x02, // Length
  1784. )
  1785. IO (Decode16,
  1786. 0x0028, // Range Minimum
  1787. 0x0028, // Range Maximum
  1788. 0x01, // Alignment
  1789. 0x02, // Length
  1790. )
  1791. IO (Decode16,
  1792. 0x002C, // Range Minimum
  1793. 0x002C, // Range Maximum
  1794. 0x01, // Alignment
  1795. 0x02, // Length
  1796. )
  1797. IO (Decode16,
  1798. 0x0030, // Range Minimum
  1799. 0x0030, // Range Maximum
  1800. 0x01, // Alignment
  1801. 0x02, // Length
  1802. )
  1803. IO (Decode16,
  1804. 0x0034, // Range Minimum
  1805. 0x0034, // Range Maximum
  1806. 0x01, // Alignment
  1807. 0x02, // Length
  1808. )
  1809. IO (Decode16,
  1810. 0x0038, // Range Minimum
  1811. 0x0038, // Range Maximum
  1812. 0x01, // Alignment
  1813. 0x02, // Length
  1814. )
  1815. IO (Decode16,
  1816. 0x003C, // Range Minimum
  1817. 0x003C, // Range Maximum
  1818. 0x01, // Alignment
  1819. 0x02, // Length
  1820. )
  1821. IO (Decode16,
  1822. 0x00A0, // Range Minimum
  1823. 0x00A0, // Range Maximum
  1824. 0x01, // Alignment
  1825. 0x02, // Length
  1826. )
  1827. IO (Decode16,
  1828. 0x00A4, // Range Minimum
  1829. 0x00A4, // Range Maximum
  1830. 0x01, // Alignment
  1831. 0x02, // Length
  1832. )
  1833. IO (Decode16,
  1834. 0x00A8, // Range Minimum
  1835. 0x00A8, // Range Maximum
  1836. 0x01, // Alignment
  1837. 0x02, // Length
  1838. )
  1839. IO (Decode16,
  1840. 0x00AC, // Range Minimum
  1841. 0x00AC, // Range Maximum
  1842. 0x01, // Alignment
  1843. 0x02, // Length
  1844. )
  1845. IO (Decode16,
  1846. 0x00B0, // Range Minimum
  1847. 0x00B0, // Range Maximum
  1848. 0x01, // Alignment
  1849. 0x02, // Length
  1850. )
  1851. IO (Decode16,
  1852. 0x00B4, // Range Minimum
  1853. 0x00B4, // Range Maximum
  1854. 0x01, // Alignment
  1855. 0x02, // Length
  1856. )
  1857. IO (Decode16,
  1858. 0x00B8, // Range Minimum
  1859. 0x00B8, // Range Maximum
  1860. 0x01, // Alignment
  1861. 0x02, // Length
  1862. )
  1863. IO (Decode16,
  1864. 0x00BC, // Range Minimum
  1865. 0x00BC, // Range Maximum
  1866. 0x01, // Alignment
  1867. 0x02, // Length
  1868. )
  1869. IO (Decode16,
  1870. 0x04D0, // Range Minimum
  1871. 0x04D0, // Range Maximum
  1872. 0x01, // Alignment
  1873. 0x02, // Length
  1874. )
  1875. IRQNoFlags ()
  1876. {2}
  1877. })
  1878. }
  1879.  
  1880. Device (RTC)
  1881. {
  1882. Name (_HID, EisaId ("PNP0B00"))
  1883. Name (BUF0, ResourceTemplate ()
  1884. {
  1885. IO (Decode16,
  1886. 0x0070, // Range Minimum
  1887. 0x0070, // Range Maximum
  1888. 0x01, // Alignment
  1889. 0x08, // Length
  1890. )
  1891. })
  1892. Name (BUF1, ResourceTemplate ()
  1893. {
  1894. IO (Decode16,
  1895. 0x0070, // Range Minimum
  1896. 0x0070, // Range Maximum
  1897. 0x01, // Alignment
  1898. 0x08, // Length
  1899. )
  1900. IRQNoFlags ()
  1901. {8}
  1902. })
  1903. Method (_CRS, 0, Serialized)
  1904. {
  1905. If (And (MTSE, 0x0200))
  1906. {
  1907. Return (BUF0)
  1908. }
  1909.  
  1910. Return (BUF1)
  1911. }
  1912. }
  1913.  
  1914. Device (MATH)
  1915. {
  1916. Name (_HID, EisaId ("PNP0C04"))
  1917. Name (_CRS, ResourceTemplate ()
  1918. {
  1919. IO (Decode16,
  1920. 0x00F0, // Range Minimum
  1921. 0x00F0, // Range Maximum
  1922. 0x01, // Alignment
  1923. 0x01, // Length
  1924. )
  1925. IRQNoFlags ()
  1926. {13}
  1927. })
  1928. }
  1929.  
  1930. Device (DMAC)
  1931. {
  1932. Name (_HID, EisaId ("PNP0200"))
  1933. Name (_CRS, ResourceTemplate ()
  1934. {
  1935. IO (Decode16,
  1936. 0x0000, // Range Minimum
  1937. 0x0000, // Range Maximum
  1938. 0x01, // Alignment
  1939. 0x20, // Length
  1940. )
  1941. IO (Decode16,
  1942. 0x0081, // Range Minimum
  1943. 0x0081, // Range Maximum
  1944. 0x01, // Alignment
  1945. 0x0F, // Length
  1946. )
  1947. IO (Decode16,
  1948. 0x0090, // Range Minimum
  1949. 0x0090, // Range Maximum
  1950. 0x01, // Alignment
  1951. 0x02, // Length
  1952. )
  1953. IO (Decode16,
  1954. 0x0093, // Range Minimum
  1955. 0x0093, // Range Maximum
  1956. 0x01, // Alignment
  1957. 0x0D, // Length
  1958. )
  1959. IO (Decode16,
  1960. 0x00C0, // Range Minimum
  1961. 0x00C0, // Range Maximum
  1962. 0x01, // Alignment
  1963. 0x20, // Length
  1964. )
  1965. DMA (Compatibility, NotBusMaster, Transfer8_16, )
  1966. {4}
  1967. })
  1968. }
  1969.  
  1970. Device (MBRD)
  1971. {
  1972. Name (_HID, EisaId ("PNP0C02"))
  1973. Name (_UID, 0x1F)
  1974. Name (_CRS, ResourceTemplate ()
  1975. {
  1976. IO (Decode16,
  1977. 0x0010, // Range Minimum
  1978. 0x0010, // Range Maximum
  1979. 0x01, // Alignment
  1980. 0x10, // Length
  1981. )
  1982. IO (Decode16,
  1983. 0x0024, // Range Minimum
  1984. 0x0024, // Range Maximum
  1985. 0x01, // Alignment
  1986. 0x02, // Length
  1987. )
  1988. IO (Decode16,
  1989. 0x0028, // Range Minimum
  1990. 0x0028, // Range Maximum
  1991. 0x01, // Alignment
  1992. 0x02, // Length
  1993. )
  1994. IO (Decode16,
  1995. 0x002C, // Range Minimum
  1996. 0x002C, // Range Maximum
  1997. 0x01, // Alignment
  1998. 0x02, // Length
  1999. )
  2000. IO (Decode16,
  2001. 0x164E, // Range Minimum
  2002. 0x164E, // Range Maximum
  2003. 0x01, // Alignment
  2004. 0x02, // Length
  2005. )
  2006. IO (Decode16,
  2007. 0x0030, // Range Minimum
  2008. 0x0030, // Range Maximum
  2009. 0x01, // Alignment
  2010. 0x02, // Length
  2011. )
  2012. IO (Decode16,
  2013. 0x0034, // Range Minimum
  2014. 0x0034, // Range Maximum
  2015. 0x01, // Alignment
  2016. 0x02, // Length
  2017. )
  2018. IO (Decode16,
  2019. 0x0038, // Range Minimum
  2020. 0x0038, // Range Maximum
  2021. 0x01, // Alignment
  2022. 0x02, // Length
  2023. )
  2024. IO (Decode16,
  2025. 0x003C, // Range Minimum
  2026. 0x003C, // Range Maximum
  2027. 0x01, // Alignment
  2028. 0x02, // Length
  2029. )
  2030. IO (Decode16,
  2031. 0x0050, // Range Minimum
  2032. 0x0050, // Range Maximum
  2033. 0x01, // Alignment
  2034. 0x04, // Length
  2035. )
  2036. IO (Decode16,
  2037. 0x0061, // Range Minimum
  2038. 0x0061, // Range Maximum
  2039. 0x01, // Alignment
  2040. 0x01, // Length
  2041. )
  2042. IO (Decode16,
  2043. 0x0063, // Range Minimum
  2044. 0x0063, // Range Maximum
  2045. 0x01, // Alignment
  2046. 0x01, // Length
  2047. )
  2048. IO (Decode16,
  2049. 0x0065, // Range Minimum
  2050. 0x0065, // Range Maximum
  2051. 0x01, // Alignment
  2052. 0x01, // Length
  2053. )
  2054. IO (Decode16,
  2055. 0x0067, // Range Minimum
  2056. 0x0067, // Range Maximum
  2057. 0x01, // Alignment
  2058. 0x01, // Length
  2059. )
  2060. IO (Decode16,
  2061. 0x0072, // Range Minimum
  2062. 0x0072, // Range Maximum
  2063. 0x01, // Alignment
  2064. 0x06, // Length
  2065. )
  2066. IO (Decode16,
  2067. 0x0080, // Range Minimum
  2068. 0x0080, // Range Maximum
  2069. 0x01, // Alignment
  2070. 0x01, // Length
  2071. )
  2072. IO (Decode16,
  2073. 0x0090, // Range Minimum
  2074. 0x0090, // Range Maximum
  2075. 0x01, // Alignment
  2076. 0x10, // Length
  2077. )
  2078. IO (Decode16,
  2079. 0x0092, // Range Minimum
  2080. 0x0092, // Range Maximum
  2081. 0x01, // Alignment
  2082. 0x01, // Length
  2083. )
  2084. IO (Decode16,
  2085. 0x00A4, // Range Minimum
  2086. 0x00A4, // Range Maximum
  2087. 0x01, // Alignment
  2088. 0x02, // Length
  2089. )
  2090. IO (Decode16,
  2091. 0x00A8, // Range Minimum
  2092. 0x00A8, // Range Maximum
  2093. 0x01, // Alignment
  2094. 0x02, // Length
  2095. )
  2096. IO (Decode16,
  2097. 0x00AC, // Range Minimum
  2098. 0x00AC, // Range Maximum
  2099. 0x01, // Alignment
  2100. 0x02, // Length
  2101. )
  2102. IO (Decode16,
  2103. 0x00B0, // Range Minimum
  2104. 0x00B0, // Range Maximum
  2105. 0x01, // Alignment
  2106. 0x06, // Length
  2107. )
  2108. IO (Decode16,
  2109. 0x00B2, // Range Minimum
  2110. 0x00B2, // Range Maximum
  2111. 0x01, // Alignment
  2112. 0x02, // Length
  2113. )
  2114. IO (Decode16,
  2115. 0x00B8, // Range Minimum
  2116. 0x00B8, // Range Maximum
  2117. 0x01, // Alignment
  2118. 0x02, // Length
  2119. )
  2120. IO (Decode16,
  2121. 0x00BC, // Range Minimum
  2122. 0x00BC, // Range Maximum
  2123. 0x01, // Alignment
  2124. 0x02, // Length
  2125. )
  2126. IO (Decode16,
  2127. 0x0600, // Range Minimum
  2128. 0x0600, // Range Maximum
  2129. 0x01, // Alignment
  2130. 0x10, // Length
  2131. )
  2132. IO (Decode16,
  2133. 0x0700, // Range Minimum
  2134. 0x0700, // Range Maximum
  2135. 0x01, // Alignment
  2136. 0x10, // Length
  2137. )
  2138. IO (Decode16,
  2139. 0x0800, // Range Minimum
  2140. 0x0800, // Range Maximum
  2141. 0x01, // Alignment
  2142. 0x10, // Length
  2143. )
  2144. IO (Decode16,
  2145. 0x1000, // Range Minimum
  2146. 0x1000, // Range Maximum
  2147. 0x01, // Alignment
  2148. 0x80, // Length
  2149. )
  2150. IO (Decode16,
  2151. 0x1180, // Range Minimum
  2152. 0x1180, // Range Maximum
  2153. 0x01, // Alignment
  2154. 0x40, // Length
  2155. )
  2156. IO (Decode16,
  2157. 0x01C0, // Range Minimum
  2158. 0x01C0, // Range Maximum
  2159. 0x01, // Alignment
  2160. 0x10, // Length
  2161. )
  2162. IO (Decode16,
  2163. 0x002E, // Range Minimum
  2164. 0x002E, // Range Maximum
  2165. 0x01, // Alignment
  2166. 0x02, // Length
  2167. )
  2168. IO (Decode16,
  2169. 0x0068, // Range Minimum
  2170. 0x0068, // Range Maximum
  2171. 0x01, // Alignment
  2172. 0x01, // Length
  2173. )
  2174. IO (Decode16,
  2175. 0x006C, // Range Minimum
  2176. 0x006C, // Range Maximum
  2177. 0x01, // Alignment
  2178. 0x01, // Length
  2179. )
  2180. IO (Decode16,
  2181. 0xFE00, // Range Minimum
  2182. 0xFE00, // Range Maximum
  2183. 0x00, // Alignment
  2184. 0x01, // Length
  2185. )
  2186. IO (Decode16,
  2187. 0x04D0, // Range Minimum
  2188. 0x04D0, // Range Maximum
  2189. 0x01, // Alignment
  2190. 0x02, // Length
  2191. )
  2192. IO (Decode16,
  2193. 0x0610, // Range Minimum
  2194. 0x0610, // Range Maximum
  2195. 0x01, // Alignment
  2196. 0x10, // Length
  2197. )
  2198. IO (Decode16,
  2199. 0x0068, // Range Minimum
  2200. 0x0068, // Range Maximum
  2201. 0x01, // Alignment
  2202. 0x01, // Length
  2203. )
  2204. IO (Decode16,
  2205. 0x006C, // Range Minimum
  2206. 0x006C, // Range Maximum
  2207. 0x01, // Alignment
  2208. 0x01, // Length
  2209. )
  2210. Memory32Fixed (ReadWrite,
  2211. 0xFEC10000, // Address Base
  2212. 0x00010000, // Address Length
  2213. )
  2214. Memory32Fixed (ReadOnly,
  2215. 0xFF800000, // Address Base
  2216. 0x00400000, // Address Length
  2217. )
  2218. Memory32Fixed (ReadOnly,
  2219. 0xFFF00000, // Address Base
  2220. 0x00100000, // Address Length
  2221. )
  2222. Memory32Fixed (ReadWrite,
  2223. 0x00000000, // Address Base
  2224. 0x000A0000, // Address Length
  2225. )
  2226. Memory32Fixed (ReadOnly,
  2227. 0x000E0000, // Address Base
  2228. 0x00020000, // Address Length
  2229. )
  2230. Memory32Fixed (ReadOnly,
  2231. 0x000DF800, // Address Base
  2232. 0x00000800, // Address Length
  2233. )
  2234. Memory32Fixed (ReadWrite,
  2235. 0x00100000, // Address Base
  2236. 0x00000000, // Address Length
  2237. )
  2238. })
  2239. }
  2240.  
  2241. Device (FWHD)
  2242. {
  2243. Name (_HID, EisaId ("INT0800"))
  2244. Name (_CRS, ResourceTemplate ()
  2245. {
  2246. Memory32Fixed (ReadOnly,
  2247. 0xFF800000, // Address Base
  2248. 0x00800000, // Address Length
  2249. )
  2250. })
  2251. }
  2252.  
  2253. Device (HPET)
  2254. {
  2255. Name (_HID, EisaId ("PNP0103"))
  2256. Name (BUF0, ResourceTemplate ()
  2257. {
  2258. IRQNoFlags ()
  2259. {0}
  2260. IRQNoFlags ()
  2261. {8}
  2262. Memory32Fixed (ReadOnly,
  2263. 0xFED00000, // Address Base
  2264. 0x00000400, // Address Length
  2265. _Y0F)
  2266. })
  2267. Method (_STA, 0, NotSerialized)
  2268. {
  2269. ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
  2270. If (LEqual (OSYS, 0x07D1))
  2271. {
  2272. If (And (Local0, 0x04))
  2273. {
  2274. Return (0x0F)
  2275. }
  2276. }
  2277. Else
  2278. {
  2279. If (And (Local0, 0x04))
  2280. {
  2281. Return (0x0B)
  2282. }
  2283. }
  2284.  
  2285. Return (0x00)
  2286. }
  2287.  
  2288. Method (_CRS, 0, Serialized)
  2289. {
  2290. ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
  2291. If (And (Local0, 0x04))
  2292. {
  2293. CreateDWordField (BUF0, \_SB.PCI0.LPC0.HPET._Y0F._BAS, HPT0)
  2294. If (LEqual (Local0, 0x05))
  2295. {
  2296. Store (0xFED01000, HPT0)
  2297. }
  2298.  
  2299. If (LEqual (Local0, 0x06))
  2300. {
  2301. Store (0xFED02000, HPT0)
  2302. }
  2303.  
  2304. If (LEqual (Local0, 0x07))
  2305. {
  2306. Store (0xFED03000, HPT0)
  2307. }
  2308. }
  2309.  
  2310. Return (BUF0)
  2311. }
  2312. }
  2313.  
  2314. Device (LNKA)
  2315. {
  2316. Name (_HID, EisaId ("PNP0C0F"))
  2317. Name (_UID, 0x01)
  2318. Method (_DIS, 0, Serialized)
  2319. {
  2320. Store (0x80, PIRA)
  2321. }
  2322.  
  2323. Name (_PRS, ResourceTemplate ()
  2324. {
  2325. IRQ (Level, ActiveLow, Shared, )
  2326. {6}
  2327. })
  2328. Method (_CRS, 0, Serialized)
  2329. {
  2330. Name (RTLA, ResourceTemplate ()
  2331. {
  2332. IRQ (Level, ActiveLow, Shared, _Y10)
  2333. {}
  2334. })
  2335. CreateWordField (RTLA, \_SB.PCI0.LPC0.LNKA._CRS._Y10._INT, IRQ0)
  2336. Store (Zero, IRQ0)
  2337. ShiftLeft (0x01, And (PIRA, 0x0F), IRQ0)
  2338. Return (RTLA)
  2339. }
  2340.  
  2341. Method (_SRS, 1, Serialized)
  2342. {
  2343. CreateWordField (Arg0, 0x01, IRQ0)
  2344. FindSetRightBit (IRQ0, Local0)
  2345. Decrement (Local0)
  2346. Store (Local0, PIRA)
  2347. }
  2348.  
  2349. Method (_STA, 0, Serialized)
  2350. {
  2351. If (And (PIRA, 0x80))
  2352. {
  2353. Return (0x09)
  2354. }
  2355. Else
  2356. {
  2357. Return (0x0B)
  2358. }
  2359. }
  2360. }
  2361.  
  2362. Device (LNKB)
  2363. {
  2364. Name (_HID, EisaId ("PNP0C0F"))
  2365. Name (_UID, 0x02)
  2366. Method (_DIS, 0, Serialized)
  2367. {
  2368. Store (0x80, PIRB)
  2369. }
  2370.  
  2371. Name (_PRS, ResourceTemplate ()
  2372. {
  2373. IRQ (Level, ActiveLow, Shared, )
  2374. {10}
  2375. })
  2376. Method (_CRS, 0, Serialized)
  2377. {
  2378. Name (RTLB, ResourceTemplate ()
  2379. {
  2380. IRQ (Level, ActiveLow, Shared, _Y11)
  2381. {}
  2382. })
  2383. CreateWordField (RTLB, \_SB.PCI0.LPC0.LNKB._CRS._Y11._INT, IRQ0)
  2384. Store (Zero, IRQ0)
  2385. ShiftLeft (0x01, And (PIRB, 0x0F), IRQ0)
  2386. Return (RTLB)
  2387. }
  2388.  
  2389. Method (_SRS, 1, Serialized)
  2390. {
  2391. CreateWordField (Arg0, 0x01, IRQ0)
  2392. FindSetRightBit (IRQ0, Local0)
  2393. Decrement (Local0)
  2394. Store (Local0, PIRB)
  2395. }
  2396.  
  2397. Method (_STA, 0, Serialized)
  2398. {
  2399. If (And (PIRB, 0x80))
  2400. {
  2401. Return (0x09)
  2402. }
  2403. Else
  2404. {
  2405. Return (0x0B)
  2406. }
  2407. }
  2408. }
  2409.  
  2410. Device (LNKC)
  2411. {
  2412. Name (_HID, EisaId ("PNP0C0F"))
  2413. Name (_UID, 0x03)
  2414. Method (_DIS, 0, Serialized)
  2415. {
  2416. Store (0x80, PIRC)
  2417. }
  2418.  
  2419. Name (_PRS, ResourceTemplate ()
  2420. {
  2421. IRQ (Level, ActiveLow, Shared, )
  2422. {6}
  2423. })
  2424. Method (_CRS, 0, Serialized)
  2425. {
  2426. Name (RTLC, ResourceTemplate ()
  2427. {
  2428. IRQ (Level, ActiveLow, Shared, _Y12)
  2429. {}
  2430. })
  2431. CreateWordField (RTLC, \_SB.PCI0.LPC0.LNKC._CRS._Y12._INT, IRQ0)
  2432. Store (Zero, IRQ0)
  2433. ShiftLeft (0x01, And (PIRC, 0x0F), IRQ0)
  2434. Return (RTLC)
  2435. }
  2436.  
  2437. Method (_SRS, 1, Serialized)
  2438. {
  2439. CreateWordField (Arg0, 0x01, IRQ0)
  2440. FindSetRightBit (IRQ0, Local0)
  2441. Decrement (Local0)
  2442. Store (Local0, PIRC)
  2443. }
  2444.  
  2445. Method (_STA, 0, Serialized)
  2446. {
  2447. If (And (PIRC, 0x80))
  2448. {
  2449. Return (0x09)
  2450. }
  2451. Else
  2452. {
  2453. Return (0x0B)
  2454. }
  2455. }
  2456. }
  2457.  
  2458. Device (LNKD)
  2459. {
  2460. Name (_HID, EisaId ("PNP0C0F"))
  2461. Name (_UID, 0x04)
  2462. Method (_DIS, 0, Serialized)
  2463. {
  2464. Store (0x80, PIRD)
  2465. }
  2466.  
  2467. Name (_PRS, ResourceTemplate ()
  2468. {
  2469. IRQ (Level, ActiveLow, Shared, )
  2470. {6}
  2471. })
  2472. Method (_CRS, 0, Serialized)
  2473. {
  2474. Name (RTLD, ResourceTemplate ()
  2475. {
  2476. IRQ (Level, ActiveLow, Shared, _Y13)
  2477. {}
  2478. })
  2479. CreateWordField (RTLD, \_SB.PCI0.LPC0.LNKD._CRS._Y13._INT, IRQ0)
  2480. Store (Zero, IRQ0)
  2481. ShiftLeft (0x01, And (PIRD, 0x0F), IRQ0)
  2482. Return (RTLD)
  2483. }
  2484.  
  2485. Method (_SRS, 1, Serialized)
  2486. {
  2487. CreateWordField (Arg0, 0x01, IRQ0)
  2488. FindSetRightBit (IRQ0, Local0)
  2489. Decrement (Local0)
  2490. Store (Local0, PIRD)
  2491. }
  2492.  
  2493. Method (_STA, 0, Serialized)
  2494. {
  2495. If (And (PIRD, 0x80))
  2496. {
  2497. Return (0x09)
  2498. }
  2499. Else
  2500. {
  2501. Return (0x0B)
  2502. }
  2503. }
  2504. }
  2505.  
  2506. Device (LNKE)
  2507. {
  2508. Name (_HID, EisaId ("PNP0C0F"))
  2509. Name (_UID, 0x05)
  2510. Method (_DIS, 0, Serialized)
  2511. {
  2512. Store (0x80, PIRE)
  2513. }
  2514.  
  2515. Name (_PRS, ResourceTemplate ()
  2516. {
  2517. IRQ (Level, ActiveLow, Shared, )
  2518. {10}
  2519. })
  2520. Method (_CRS, 0, Serialized)
  2521. {
  2522. Name (RTLE, ResourceTemplate ()
  2523. {
  2524. IRQ (Level, ActiveLow, Shared, _Y14)
  2525. {}
  2526. })
  2527. CreateWordField (RTLE, \_SB.PCI0.LPC0.LNKE._CRS._Y14._INT, IRQ0)
  2528. Store (Zero, IRQ0)
  2529. ShiftLeft (0x01, And (PIRE, 0x0F), IRQ0)
  2530. Return (RTLE)
  2531. }
  2532.  
  2533. Method (_SRS, 1, Serialized)
  2534. {
  2535. CreateWordField (Arg0, 0x01, IRQ0)
  2536. FindSetRightBit (IRQ0, Local0)
  2537. Decrement (Local0)
  2538. Store (Local0, PIRE)
  2539. }
  2540.  
  2541. Method (_STA, 0, Serialized)
  2542. {
  2543. If (And (PIRE, 0x80))
  2544. {
  2545. Return (0x09)
  2546. }
  2547. Else
  2548. {
  2549. Return (0x0B)
  2550. }
  2551. }
  2552. }
  2553.  
  2554. Device (LNKF)
  2555. {
  2556. Name (_HID, EisaId ("PNP0C0F"))
  2557. Name (_UID, 0x06)
  2558. Method (_DIS, 0, Serialized)
  2559. {
  2560. Store (0x80, PIRF)
  2561. }
  2562.  
  2563. Name (_PRS, ResourceTemplate ()
  2564. {
  2565. IRQ (Level, ActiveLow, Shared, )
  2566. {10}
  2567. })
  2568. Method (_CRS, 0, Serialized)
  2569. {
  2570. Name (RTLF, ResourceTemplate ()
  2571. {
  2572. IRQ (Level, ActiveLow, Shared, _Y15)
  2573. {}
  2574. })
  2575. CreateWordField (RTLF, \_SB.PCI0.LPC0.LNKF._CRS._Y15._INT, IRQ0)
  2576. Store (Zero, IRQ0)
  2577. ShiftLeft (0x01, And (PIRF, 0x0F), IRQ0)
  2578. Return (RTLF)
  2579. }
  2580.  
  2581. Method (_SRS, 1, Serialized)
  2582. {
  2583. CreateWordField (Arg0, 0x01, IRQ0)
  2584. FindSetRightBit (IRQ0, Local0)
  2585. Decrement (Local0)
  2586. Store (Local0, PIRF)
  2587. }
  2588.  
  2589. Method (_STA, 0, Serialized)
  2590. {
  2591. If (And (PIRF, 0x80))
  2592. {
  2593. Return (0x09)
  2594. }
  2595. Else
  2596. {
  2597. Return (0x0B)
  2598. }
  2599. }
  2600. }
  2601.  
  2602. Device (LNKG)
  2603. {
  2604. Name (_HID, EisaId ("PNP0C0F"))
  2605. Name (_UID, 0x07)
  2606. Method (_DIS, 0, Serialized)
  2607. {
  2608. Store (0x80, PIRG)
  2609. }
  2610.  
  2611. Name (_PRS, ResourceTemplate ()
  2612. {
  2613. IRQ (Level, ActiveLow, Shared, )
  2614. {6}
  2615. })
  2616. Method (_CRS, 0, Serialized)
  2617. {
  2618. Name (RTLG, ResourceTemplate ()
  2619. {
  2620. IRQ (Level, ActiveLow, Shared, _Y16)
  2621. {}
  2622. })
  2623. CreateWordField (RTLG, \_SB.PCI0.LPC0.LNKG._CRS._Y16._INT, IRQ0)
  2624. Store (Zero, IRQ0)
  2625. ShiftLeft (0x01, And (PIRG, 0x0F), IRQ0)
  2626. Return (RTLG)
  2627. }
  2628.  
  2629. Method (_SRS, 1, Serialized)
  2630. {
  2631. CreateWordField (Arg0, 0x01, IRQ0)
  2632. FindSetRightBit (IRQ0, Local0)
  2633. Decrement (Local0)
  2634. Store (Local0, PIRG)
  2635. }
  2636.  
  2637. Method (_STA, 0, Serialized)
  2638. {
  2639. If (And (PIRG, 0x80))
  2640. {
  2641. Return (0x09)
  2642. }
  2643. Else
  2644. {
  2645. Return (0x0B)
  2646. }
  2647. }
  2648. }
  2649.  
  2650. Device (LNKH)
  2651. {
  2652. Name (_HID, EisaId ("PNP0C0F"))
  2653. Name (_UID, 0x08)
  2654. Method (_DIS, 0, Serialized)
  2655. {
  2656. Store (0x80, PIRH)
  2657. }
  2658.  
  2659. Name (_PRS, ResourceTemplate ()
  2660. {
  2661. IRQ (Level, ActiveLow, Shared, )
  2662. {10}
  2663. })
  2664. Method (_CRS, 0, Serialized)
  2665. {
  2666. Name (RTLH, ResourceTemplate ()
  2667. {
  2668. IRQ (Level, ActiveLow, Shared, _Y17)
  2669. {}
  2670. })
  2671. CreateWordField (RTLH, \_SB.PCI0.LPC0.LNKH._CRS._Y17._INT, IRQ0)
  2672. Store (Zero, IRQ0)
  2673. ShiftLeft (0x01, And (PIRH, 0x0F), IRQ0)
  2674. Return (RTLH)
  2675. }
  2676.  
  2677. Method (_SRS, 1, Serialized)
  2678. {
  2679. CreateWordField (Arg0, 0x01, IRQ0)
  2680. FindSetRightBit (IRQ0, Local0)
  2681. Decrement (Local0)
  2682. Store (Local0, PIRH)
  2683. }
  2684.  
  2685. Method (_STA, 0, Serialized)
  2686. {
  2687. If (And (PIRH, 0x80))
  2688. {
  2689. Return (0x09)
  2690. }
  2691. Else
  2692. {
  2693. Return (0x0B)
  2694. }
  2695. }
  2696. }
  2697.  
  2698. OperationRegion (GPOX, SystemIO, 0x1180, 0x40)
  2699. Field (GPOX, DWordAcc, Lock, Preserve)
  2700. {
  2701. Offset (0x07),
  2702. , 1,
  2703. IO25, 1,
  2704. , 1,
  2705. IO27, 1,
  2706. Offset (0x0E),
  2707. LV16, 1,
  2708. LV17, 1,
  2709. Offset (0x0F),
  2710. , 1,
  2711. LV25, 1,
  2712. , 1,
  2713. LV27, 1,
  2714. Offset (0x1B),
  2715. , 1,
  2716. BL25, 1,
  2717. , 1,
  2718. BL27, 1,
  2719. Offset (0x38),
  2720. RBID, 2,
  2721. MBTP, 3,
  2722. LV37, 1,
  2723. LV38, 1,
  2724. LV39, 1
  2725. }
  2726.  
  2727. OperationRegion (PMIO, SystemIO, 0x1000, 0x51)
  2728. Field (PMIO, WordAcc, Lock, Preserve)
  2729. {
  2730. AccessAs (DWordAcc, 0x00),
  2731. Offset (0x29),
  2732. , 3,
  2733. PMES, 1,
  2734. Offset (0x2B),
  2735. , 3,
  2736. PMEE, 1,
  2737. Offset (0x2C),
  2738. GPI0, 1,
  2739. GPI1, 1,
  2740. GPI2, 1,
  2741. GPI3, 1,
  2742. GPI4, 1,
  2743. GPI5, 1,
  2744. GPI6, 1,
  2745. GPI7, 1,
  2746. GPI8, 1,
  2747. GPI9, 1,
  2748. GPIA, 1,
  2749. GPIB, 1,
  2750. GPIC, 1,
  2751. GPID, 1,
  2752. GPIE, 1,
  2753. GPIF, 1,
  2754. , 6,
  2755. GPEE, 1
  2756. }
  2757.  
  2758. Device (KBC)
  2759. {
  2760. Name (_HID, EisaId ("PNP0303"))
  2761. Name (_CRS, ResourceTemplate ()
  2762. {
  2763. IO (Decode16,
  2764. 0x0060, // Range Minimum
  2765. 0x0060, // Range Maximum
  2766. 0x01, // Alignment
  2767. 0x01, // Length
  2768. )
  2769. IO (Decode16,
  2770. 0x0064, // Range Minimum
  2771. 0x0064, // Range Maximum
  2772. 0x01, // Alignment
  2773. 0x01, // Length
  2774. )
  2775. IRQNoFlags ()
  2776. {1}
  2777. })
  2778. Method (_STA, 0, NotSerialized)
  2779. {
  2780. Return (0x0F)
  2781. }
  2782. }
  2783.  
  2784. Device (MOUE)
  2785. {
  2786. Name (_HID, EisaId ("IBM3780"))
  2787. Name (_CID, 0x03102E4F)
  2788. Name (_CRS, ResourceTemplate ()
  2789. {
  2790. IRQNoFlags ()
  2791. {12}
  2792. })
  2793. Method (_STA, 0, NotSerialized)
  2794. {
  2795. If (LEqual (SizeOf (\_OS), 0x14))
  2796. {
  2797. Return (0x00)
  2798. }
  2799. Else
  2800. {
  2801. If (PS2F)
  2802. {
  2803. Return (0x0F)
  2804. }
  2805. Else
  2806. {
  2807. Return (0x00)
  2808. }
  2809. }
  2810. }
  2811. }
  2812.  
  2813. Device (MOU2)
  2814. {
  2815. Name (_HID, EisaId ("SYN1003"))
  2816. Name (_CID, Package (0x03)
  2817. {
  2818. 0x02102E4F,
  2819. 0x00102E4F,
  2820. 0x130FD041
  2821. })
  2822. Name (_CRS, ResourceTemplate ()
  2823. {
  2824. IRQNoFlags ()
  2825. {12}
  2826. })
  2827. Method (_STA, 0, NotSerialized)
  2828. {
  2829. If (LEqual (SizeOf (\_OS), 0x14))
  2830. {
  2831. If (PS2F)
  2832. {
  2833. Store (PS2F, Local0)
  2834. Return (0x0F)
  2835. }
  2836. Else
  2837. {
  2838. Store (PS2F, Local0)
  2839. Return (0x00)
  2840. }
  2841. }
  2842. Else
  2843. {
  2844. Store (PS2F, Local0)
  2845. Return (0x00)
  2846. }
  2847. }
  2848. }
  2849.  
  2850. Device (SIO)
  2851. {
  2852. Name (_HID, EisaId ("PNP0A05"))
  2853. OperationRegion (SIIO, SystemIO, 0x164E, 0x02)
  2854. Field (SIIO, ByteAcc, NoLock, Preserve)
  2855. {
  2856. INDX, 8,
  2857. DATA, 8
  2858. }
  2859.  
  2860. Mutex (N393, 0x00)
  2861. Method (SETD, 1, Serialized)
  2862. {
  2863. Store (0x07, INDX)
  2864. Store (Arg0, DATA)
  2865. }
  2866.  
  2867. Method (READ, 1, Serialized)
  2868. {
  2869. Store (Arg0, INDX)
  2870. Store (DATA, Local0)
  2871. Return (Local0)
  2872. }
  2873.  
  2874. Method (WRIT, 2, Serialized)
  2875. {
  2876. Store (Arg0, INDX)
  2877. Store (Arg1, DATA)
  2878. }
  2879.  
  2880. Method (LDRS, 3, NotSerialized)
  2881. {
  2882. Acquire (N393, 0xFFFF)
  2883. Store (0x07, INDX)
  2884. Store (Arg0, DATA)
  2885. Store (Arg1, INDX)
  2886. Store (Arg2, DATA)
  2887. Release (N393)
  2888. }
  2889.  
  2890. Method (LDRG, 2, NotSerialized)
  2891. {
  2892. Acquire (N393, 0xFFFF)
  2893. Store (0x07, INDX)
  2894. Store (Arg0, DATA)
  2895. Store (Arg1, INDX)
  2896. Store (DATA, Local0)
  2897. Release (N393)
  2898. Return (Local0)
  2899. }
  2900.  
  2901. Method (RCF6, 1, NotSerialized)
  2902. {
  2903. Acquire (N393, 0xFFFF)
  2904. Store (0x26, INDX)
  2905. Store (DATA, Local0)
  2906. And (Local0, Arg0, Local0)
  2907. Release (N393)
  2908. Return (XOr (Local0, Arg0))
  2909. }
  2910.  
  2911. Method (PDRS, 2, NotSerialized)
  2912. {
  2913. If (\_SB.PCI0.LPC0.POSD)
  2914. {
  2915. If (LEqual (Arg0, 0x00))
  2916. {
  2917. If (LEqual (Arg1, 0x03F0))
  2918. {
  2919. Store (0x00, Local0)
  2920. }
  2921. Else
  2922. {
  2923. If (LEqual (Arg1, 0x0370))
  2924. {
  2925. Store (0x01, Local0)
  2926. }
  2927. }
  2928.  
  2929. Store (Local0, \_SB.PCI0.LPC0.FDDD)
  2930. }
  2931. Else
  2932. {
  2933. If (LEqual (Arg0, 0x01))
  2934. {
  2935. If (LEqual (Arg1, 0x0378))
  2936. {
  2937. Store (0x00, Local0)
  2938. }
  2939. Else
  2940. {
  2941. If (LEqual (Arg1, 0x0278))
  2942. {
  2943. Store (0x01, Local0)
  2944. }
  2945. Else
  2946. {
  2947. If (LEqual (Arg1, 0x03BC))
  2948. {
  2949. Store (0x02, Local0)
  2950. }
  2951. }
  2952. }
  2953.  
  2954. Store (Local0, \_SB.PCI0.LPC0.LPTD)
  2955. }
  2956. Else
  2957. {
  2958. If (LEqual (Arg1, 0x03F8))
  2959. {
  2960. Store (0x00, Local0)
  2961. }
  2962. Else
  2963. {
  2964. If (LEqual (Arg1, 0x02F8))
  2965. {
  2966. Store (0x01, Local0)
  2967. }
  2968. Else
  2969. {
  2970. If (LEqual (Arg1, 0x0220))
  2971. {
  2972. Store (0x02, Local0)
  2973. }
  2974. Else
  2975. {
  2976. If (LEqual (Arg1, 0x0228))
  2977. {
  2978. Store (0x03, Local0)
  2979. }
  2980. Else
  2981. {
  2982. If (LEqual (Arg1, 0x0238))
  2983. {
  2984. Store (0x04, Local0)
  2985. }
  2986. Else
  2987. {
  2988. If (LEqual (Arg1, 0x02E8))
  2989. {
  2990. Store (0x05, Local0)
  2991. }
  2992. Else
  2993. {
  2994. If (LEqual (Arg1, 0x0338))
  2995. {
  2996. Store (0x06, Local0)
  2997. }
  2998. Else
  2999. {
  3000. If (LEqual (Arg1, 0x03E8))
  3001. {
  3002. Store (0x07, Local0)
  3003. }
  3004. }
  3005. }
  3006. }
  3007. }
  3008. }
  3009. }
  3010. }
  3011.  
  3012. If (LEqual (Arg0, 0x02))
  3013. {
  3014. Store (Local0, \_SB.PCI0.LPC0.CMBD)
  3015. }
  3016. Else
  3017. {
  3018. If (LEqual (Arg0, 0x03))
  3019. {
  3020. Store (Local0, \_SB.PCI0.LPC0.CMAD)
  3021. }
  3022. }
  3023. }
  3024. }
  3025.  
  3026. Return (0x01)
  3027. }
  3028. Else
  3029. {
  3030. Return (0x00)
  3031. }
  3032. }
  3033.  
  3034. Device (ECP)
  3035. {
  3036. Name (_HID, EisaId ("PNP0401"))
  3037. Name (_UID, 0x03)
  3038. Method (_STA, 0, NotSerialized)
  3039. {
  3040. Store (LDRG (0x01, 0xF0), Local0)
  3041. ShiftRight (Local0, 0x05, Local0)
  3042. If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3043. {
  3044. Return (0x00)
  3045. }
  3046.  
  3047. If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x04), LEqual (Local0,
  3048. 0x07))))
  3049. {
  3050. ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3051. Add (0x0D, Local1, Local1)
  3052. Return (Local1)
  3053. }
  3054. Else
  3055. {
  3056. Return (0x00)
  3057. }
  3058. }
  3059.  
  3060. Method (_PS0, 0, NotSerialized)
  3061. {
  3062. LDRS (0x01, 0x30, 0x01)
  3063. }
  3064.  
  3065. Method (_PS3, 0, NotSerialized)
  3066. {
  3067. LDRS (0x01, 0x30, 0x00)
  3068. }
  3069.  
  3070. Method (_PRS, 0, NotSerialized)
  3071. {
  3072. Return (ResourceTemplate ()
  3073. {
  3074. StartDependentFnNoPri ()
  3075. {
  3076. IO (Decode16,
  3077. 0x0378, // Range Minimum
  3078. 0x0378, // Range Maximum
  3079. 0x08, // Alignment
  3080. 0x08, // Length
  3081. )
  3082. IO (Decode16,
  3083. 0x0778, // Range Minimum
  3084. 0x0778, // Range Maximum
  3085. 0x08, // Alignment
  3086. 0x08, // Length
  3087. )
  3088. IRQNoFlags ()
  3089. {7}
  3090. DMA (Compatibility, NotBusMaster, Transfer8, )
  3091. {3}
  3092. }
  3093. StartDependentFnNoPri ()
  3094. {
  3095. IO (Decode16,
  3096. 0x0278, // Range Minimum
  3097. 0x0278, // Range Maximum
  3098. 0x08, // Alignment
  3099. 0x08, // Length
  3100. )
  3101. IO (Decode16,
  3102. 0x0678, // Range Minimum
  3103. 0x0678, // Range Maximum
  3104. 0x08, // Alignment
  3105. 0x08, // Length
  3106. )
  3107. IRQNoFlags ()
  3108. {5}
  3109. DMA (Compatibility, NotBusMaster, Transfer8, )
  3110. {3}
  3111. }
  3112. StartDependentFnNoPri ()
  3113. {
  3114. IO (Decode16,
  3115. 0x0378, // Range Minimum
  3116. 0x0378, // Range Maximum
  3117. 0x08, // Alignment
  3118. 0x08, // Length
  3119. )
  3120. IO (Decode16,
  3121. 0x0778, // Range Minimum
  3122. 0x0778, // Range Maximum
  3123. 0x08, // Alignment
  3124. 0x08, // Length
  3125. )
  3126. IRQNoFlags ()
  3127. {5}
  3128. DMA (Compatibility, NotBusMaster, Transfer8, )
  3129. {3}
  3130. }
  3131. StartDependentFnNoPri ()
  3132. {
  3133. IO (Decode16,
  3134. 0x0278, // Range Minimum
  3135. 0x0278, // Range Maximum
  3136. 0x08, // Alignment
  3137. 0x08, // Length
  3138. )
  3139. IO (Decode16,
  3140. 0x0678, // Range Minimum
  3141. 0x0678, // Range Maximum
  3142. 0x08, // Alignment
  3143. 0x08, // Length
  3144. )
  3145. IRQNoFlags ()
  3146. {7}
  3147. DMA (Compatibility, NotBusMaster, Transfer8, )
  3148. {3}
  3149. }
  3150. StartDependentFnNoPri ()
  3151. {
  3152. IO (Decode16,
  3153. 0x0378, // Range Minimum
  3154. 0x0378, // Range Maximum
  3155. 0x08, // Alignment
  3156. 0x08, // Length
  3157. )
  3158. IO (Decode16,
  3159. 0x0778, // Range Minimum
  3160. 0x0778, // Range Maximum
  3161. 0x08, // Alignment
  3162. 0x08, // Length
  3163. )
  3164. IRQNoFlags ()
  3165. {7}
  3166. DMA (Compatibility, NotBusMaster, Transfer8, )
  3167. {1}
  3168. }
  3169. StartDependentFnNoPri ()
  3170. {
  3171. IO (Decode16,
  3172. 0x0278, // Range Minimum
  3173. 0x0278, // Range Maximum
  3174. 0x08, // Alignment
  3175. 0x08, // Length
  3176. )
  3177. IO (Decode16,
  3178. 0x0678, // Range Minimum
  3179. 0x0678, // Range Maximum
  3180. 0x08, // Alignment
  3181. 0x08, // Length
  3182. )
  3183. IRQNoFlags ()
  3184. {5}
  3185. DMA (Compatibility, NotBusMaster, Transfer8, )
  3186. {1}
  3187. }
  3188. StartDependentFnNoPri ()
  3189. {
  3190. IO (Decode16,
  3191. 0x0378, // Range Minimum
  3192. 0x0378, // Range Maximum
  3193. 0x08, // Alignment
  3194. 0x08, // Length
  3195. )
  3196. IO (Decode16,
  3197. 0x0778, // Range Minimum
  3198. 0x0778, // Range Maximum
  3199. 0x08, // Alignment
  3200. 0x08, // Length
  3201. )
  3202. IRQNoFlags ()
  3203. {5}
  3204. DMA (Compatibility, NotBusMaster, Transfer8, )
  3205. {1}
  3206. }
  3207. StartDependentFnNoPri ()
  3208. {
  3209. IO (Decode16,
  3210. 0x0278, // Range Minimum
  3211. 0x0278, // Range Maximum
  3212. 0x08, // Alignment
  3213. 0x08, // Length
  3214. )
  3215. IO (Decode16,
  3216. 0x0678, // Range Minimum
  3217. 0x0678, // Range Maximum
  3218. 0x08, // Alignment
  3219. 0x08, // Length
  3220. )
  3221. IRQNoFlags ()
  3222. {7}
  3223. DMA (Compatibility, NotBusMaster, Transfer8, )
  3224. {1}
  3225. }
  3226. EndDependentFn ()
  3227. })
  3228. }
  3229.  
  3230. Method (_DIS, 0, NotSerialized)
  3231. {
  3232. LDRS (0x01, 0x30, 0x00)
  3233. }
  3234.  
  3235. Method (_CRS, 0, NotSerialized)
  3236. {
  3237. Name (DCRS, ResourceTemplate ()
  3238. {
  3239. IO (Decode16,
  3240. 0x0378, // Range Minimum
  3241. 0x0378, // Range Maximum
  3242. 0x08, // Alignment
  3243. 0x08, // Length
  3244. )
  3245. IO (Decode16,
  3246. 0x0778, // Range Minimum
  3247. 0x0778, // Range Maximum
  3248. 0x08, // Alignment
  3249. 0x08, // Length
  3250. )
  3251. IRQNoFlags ()
  3252. {7}
  3253. DMA (Compatibility, NotBusMaster, Transfer8, )
  3254. {3}
  3255. })
  3256. Store (LDRG (0x01, 0x60), Local1)
  3257. Store (LDRG (0x01, 0x61), Local0)
  3258. Store (Local0, Index (DCRS, 0x02))
  3259. Store (Local0, Index (DCRS, 0x0A))
  3260. Store (Local0, Index (DCRS, 0x04))
  3261. Store (Local0, Index (DCRS, 0x0C))
  3262. Store (Local1, Index (DCRS, 0x03))
  3263. Store (Local1, Index (DCRS, 0x05))
  3264. Add (Local1, 0x04, Local1)
  3265. Store (Local1, Index (DCRS, 0x0B))
  3266. Store (Local1, Index (DCRS, 0x0D))
  3267. ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3268. Store (Local0, Index (DCRS, 0x11))
  3269. ShiftRight (Local0, 0x08, Local1)
  3270. Store (Local1, Index (DCRS, 0x12))
  3271. ShiftLeft (0x01, LDRG (0x01, 0x74), Local0)
  3272. Store (Local0, Index (DCRS, 0x14))
  3273. ShiftRight (Local0, 0x08, Local1)
  3274. Store (Local1, Index (DCRS, 0x15))
  3275. Return (DCRS)
  3276. }
  3277.  
  3278. Method (_SRS, 1, NotSerialized)
  3279. {
  3280. CreateByteField (Arg0, 0x02, ADRL)
  3281. CreateByteField (Arg0, 0x03, ADRM)
  3282. CreateWordField (Arg0, 0x11, IRQM)
  3283. CreateWordField (Arg0, 0x14, DMAM)
  3284. FindSetRightBit (IRQM, Local0)
  3285. Decrement (Local0)
  3286. FindSetRightBit (DMAM, Local1)
  3287. Decrement (Local1)
  3288. LDRS (0x01, 0x70, Local0)
  3289. LDRS (0x01, 0x74, Local1)
  3290. LDRS (0x01, 0x60, ADRM)
  3291. LDRS (0x01, 0x61, ADRL)
  3292. LDRS (0x01, 0x30, 0x01)
  3293. }
  3294. }
  3295.  
  3296. Device (EPP)
  3297. {
  3298. Name (_HID, EisaId ("PNP0400"))
  3299. Name (_UID, 0x02)
  3300. Method (_STA, 0, NotSerialized)
  3301. {
  3302. Store (LDRG (0x01, 0xF0), Local0)
  3303. ShiftRight (Local0, 0x05, Local0)
  3304. If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3305. {
  3306. Return (0x00)
  3307. }
  3308.  
  3309. If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x02), LEqual (Local0,
  3310. 0x03))))
  3311. {
  3312. ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3313. Add (0x0D, Local1, Local1)
  3314. Return (Local1)
  3315. }
  3316. Else
  3317. {
  3318. Return (0x00)
  3319. }
  3320. }
  3321.  
  3322. Method (_PS0, 0, NotSerialized)
  3323. {
  3324. LDRS (0x01, 0x30, 0x01)
  3325. }
  3326.  
  3327. Method (_PS3, 0, NotSerialized)
  3328. {
  3329. LDRS (0x01, 0x30, 0x00)
  3330. }
  3331.  
  3332. Method (_PRS, 0, NotSerialized)
  3333. {
  3334. Return (ResourceTemplate ()
  3335. {
  3336. StartDependentFnNoPri ()
  3337. {
  3338. IO (Decode16,
  3339. 0x0378, // Range Minimum
  3340. 0x0378, // Range Maximum
  3341. 0x08, // Alignment
  3342. 0x08, // Length
  3343. )
  3344. IO (Decode16,
  3345. 0x0778, // Range Minimum
  3346. 0x0778, // Range Maximum
  3347. 0x08, // Alignment
  3348. 0x08, // Length
  3349. )
  3350. IRQNoFlags ()
  3351. {7}
  3352. }
  3353. StartDependentFnNoPri ()
  3354. {
  3355. IO (Decode16,
  3356. 0x0278, // Range Minimum
  3357. 0x0278, // Range Maximum
  3358. 0x08, // Alignment
  3359. 0x08, // Length
  3360. )
  3361. IO (Decode16,
  3362. 0x0678, // Range Minimum
  3363. 0x0678, // Range Maximum
  3364. 0x08, // Alignment
  3365. 0x08, // Length
  3366. )
  3367. IRQNoFlags ()
  3368. {5}
  3369. }
  3370. StartDependentFnNoPri ()
  3371. {
  3372. IO (Decode16,
  3373. 0x0378, // Range Minimum
  3374. 0x0378, // Range Maximum
  3375. 0x08, // Alignment
  3376. 0x08, // Length
  3377. )
  3378. IO (Decode16,
  3379. 0x0778, // Range Minimum
  3380. 0x0778, // Range Maximum
  3381. 0x08, // Alignment
  3382. 0x08, // Length
  3383. )
  3384. IRQNoFlags ()
  3385. {5}
  3386. }
  3387. StartDependentFnNoPri ()
  3388. {
  3389. IO (Decode16,
  3390. 0x0278, // Range Minimum
  3391. 0x0278, // Range Maximum
  3392. 0x08, // Alignment
  3393. 0x08, // Length
  3394. )
  3395. IO (Decode16,
  3396. 0x0678, // Range Minimum
  3397. 0x0678, // Range Maximum
  3398. 0x08, // Alignment
  3399. 0x08, // Length
  3400. )
  3401. IRQNoFlags ()
  3402. {7}
  3403. }
  3404. StartDependentFnNoPri ()
  3405. {
  3406. IO (Decode16,
  3407. 0x0178, // Range Minimum
  3408. 0x0178, // Range Maximum
  3409. 0x08, // Alignment
  3410. 0x08, // Length
  3411. )
  3412. IO (Decode16,
  3413. 0x0578, // Range Minimum
  3414. 0x0578, // Range Maximum
  3415. 0x08, // Alignment
  3416. 0x08, // Length
  3417. )
  3418. IRQNoFlags ()
  3419. {7}
  3420. }
  3421. StartDependentFnNoPri ()
  3422. {
  3423. IO (Decode16,
  3424. 0x0178, // Range Minimum
  3425. 0x0178, // Range Maximum
  3426. 0x08, // Alignment
  3427. 0x08, // Length
  3428. )
  3429. IO (Decode16,
  3430. 0x0578, // Range Minimum
  3431. 0x0578, // Range Maximum
  3432. 0x08, // Alignment
  3433. 0x08, // Length
  3434. )
  3435. IRQNoFlags ()
  3436. {5}
  3437. }
  3438. EndDependentFn ()
  3439. })
  3440. }
  3441.  
  3442. Method (_DIS, 0, NotSerialized)
  3443. {
  3444. LDRS (0x01, 0x30, 0x00)
  3445. }
  3446.  
  3447. Method (_CRS, 0, NotSerialized)
  3448. {
  3449. Name (DCRS, ResourceTemplate ()
  3450. {
  3451. IO (Decode16,
  3452. 0x0378, // Range Minimum
  3453. 0x0378, // Range Maximum
  3454. 0x08, // Alignment
  3455. 0x08, // Length
  3456. )
  3457. IO (Decode16,
  3458. 0x0778, // Range Minimum
  3459. 0x0778, // Range Maximum
  3460. 0x08, // Alignment
  3461. 0x08, // Length
  3462. )
  3463. IRQNoFlags ()
  3464. {7}
  3465. })
  3466. Store (LDRG (0x01, 0x60), Local1)
  3467. Store (LDRG (0x01, 0x61), Local0)
  3468. Store (Local0, Index (DCRS, 0x02))
  3469. Store (Local0, Index (DCRS, 0x0A))
  3470. Store (Local0, Index (DCRS, 0x04))
  3471. Store (Local0, Index (DCRS, 0x0C))
  3472. Store (Local1, Index (DCRS, 0x03))
  3473. Store (Local1, Index (DCRS, 0x05))
  3474. Add (Local1, 0x04, Local1)
  3475. Store (Local1, Index (DCRS, 0x0B))
  3476. Store (Local1, Index (DCRS, 0x0D))
  3477. ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3478. Store (Local0, Index (DCRS, 0x11))
  3479. ShiftRight (Local0, 0x08, Local1)
  3480. Store (Local1, Index (DCRS, 0x12))
  3481. Return (DCRS)
  3482. }
  3483.  
  3484. Method (_SRS, 1, NotSerialized)
  3485. {
  3486. CreateByteField (Arg0, 0x02, ADRL)
  3487. CreateByteField (Arg0, 0x03, ADRM)
  3488. CreateWordField (Arg0, 0x11, IRQM)
  3489. FindSetRightBit (IRQM, Local0)
  3490. Decrement (Local0)
  3491. LDRS (0x01, 0x70, Local0)
  3492. LDRS (0x01, 0x60, ADRM)
  3493. LDRS (0x01, 0x61, ADRL)
  3494. LDRS (0x01, 0x30, 0x01)
  3495. }
  3496. }
  3497.  
  3498. Device (LPTB)
  3499. {
  3500. Name (_HID, EisaId ("PNP0400"))
  3501. Name (_UID, 0x01)
  3502. Method (_STA, 0, NotSerialized)
  3503. {
  3504. Store (LDRG (0x01, 0xF0), Local0)
  3505. ShiftRight (Local0, 0x05, Local0)
  3506. If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3507. {
  3508. Return (0x00)
  3509. }
  3510.  
  3511. If (LAnd (RCF6 (0x02), LEqual (Local0, 0x01)))
  3512. {
  3513. ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3514. Add (0x0D, Local1, Local1)
  3515. Return (Local1)
  3516. }
  3517. Else
  3518. {
  3519. Return (0x00)
  3520. }
  3521. }
  3522.  
  3523. Method (_PS0, 0, NotSerialized)
  3524. {
  3525. LDRS (0x01, 0x30, 0x01)
  3526. }
  3527.  
  3528. Method (_PS3, 0, NotSerialized)
  3529. {
  3530. LDRS (0x01, 0x30, 0x00)
  3531. }
  3532.  
  3533. Method (_PRS, 0, NotSerialized)
  3534. {
  3535. Return (ResourceTemplate ()
  3536. {
  3537. StartDependentFnNoPri ()
  3538. {
  3539. IO (Decode16,
  3540. 0x0378, // Range Minimum
  3541. 0x0378, // Range Maximum
  3542. 0x08, // Alignment
  3543. 0x08, // Length
  3544. )
  3545. IO (Decode16,
  3546. 0x0778, // Range Minimum
  3547. 0x0778, // Range Maximum
  3548. 0x08, // Alignment
  3549. 0x08, // Length
  3550. )
  3551. IRQNoFlags ()
  3552. {7}
  3553. }
  3554. StartDependentFnNoPri ()
  3555. {
  3556. IO (Decode16,
  3557. 0x0278, // Range Minimum
  3558. 0x0278, // Range Maximum
  3559. 0x08, // Alignment
  3560. 0x08, // Length
  3561. )
  3562. IO (Decode16,
  3563. 0x0678, // Range Minimum
  3564. 0x0678, // Range Maximum
  3565. 0x08, // Alignment
  3566. 0x08, // Length
  3567. )
  3568. IRQNoFlags ()
  3569. {5}
  3570. }
  3571. StartDependentFnNoPri ()
  3572. {
  3573. IO (Decode16,
  3574. 0x0378, // Range Minimum
  3575. 0x0378, // Range Maximum
  3576. 0x08, // Alignment
  3577. 0x08, // Length
  3578. )
  3579. IO (Decode16,
  3580. 0x0778, // Range Minimum
  3581. 0x0778, // Range Maximum
  3582. 0x08, // Alignment
  3583. 0x08, // Length
  3584. )
  3585. IRQNoFlags ()
  3586. {5}
  3587. }
  3588. StartDependentFnNoPri ()
  3589. {
  3590. IO (Decode16,
  3591. 0x0278, // Range Minimum
  3592. 0x0278, // Range Maximum
  3593. 0x08, // Alignment
  3594. 0x08, // Length
  3595. )
  3596. IO (Decode16,
  3597. 0x0678, // Range Minimum
  3598. 0x0678, // Range Maximum
  3599. 0x08, // Alignment
  3600. 0x08, // Length
  3601. )
  3602. IRQNoFlags ()
  3603. {7}
  3604. }
  3605. StartDependentFnNoPri ()
  3606. {
  3607. IO (Decode16,
  3608. 0x03BC, // Range Minimum
  3609. 0x03BC, // Range Maximum
  3610. 0x04, // Alignment
  3611. 0x04, // Length
  3612. )
  3613. IO (Decode16,
  3614. 0x07BC, // Range Minimum
  3615. 0x07BC, // Range Maximum
  3616. 0x04, // Alignment
  3617. 0x04, // Length
  3618. )
  3619. IRQNoFlags ()
  3620. {7}
  3621. }
  3622. StartDependentFnNoPri ()
  3623. {
  3624. IO (Decode16,
  3625. 0x03BC, // Range Minimum
  3626. 0x03BC, // Range Maximum
  3627. 0x04, // Alignment
  3628. 0x04, // Length
  3629. )
  3630. IO (Decode16,
  3631. 0x07BC, // Range Minimum
  3632. 0x07BC, // Range Maximum
  3633. 0x04, // Alignment
  3634. 0x04, // Length
  3635. )
  3636. IRQNoFlags ()
  3637. {5}
  3638. }
  3639. EndDependentFn ()
  3640. })
  3641. }
  3642.  
  3643. Method (_DIS, 0, NotSerialized)
  3644. {
  3645. LDRS (0x01, 0x30, 0x00)
  3646. }
  3647.  
  3648. Method (_CRS, 0, NotSerialized)
  3649. {
  3650. Name (DCRS, ResourceTemplate ()
  3651. {
  3652. IO (Decode16,
  3653. 0x0378, // Range Minimum
  3654. 0x0378, // Range Maximum
  3655. 0x08, // Alignment
  3656. 0x08, // Length
  3657. )
  3658. IO (Decode16,
  3659. 0x0778, // Range Minimum
  3660. 0x0778, // Range Maximum
  3661. 0x08, // Alignment
  3662. 0x08, // Length
  3663. )
  3664. IRQNoFlags ()
  3665. {7}
  3666. })
  3667. Store (LDRG (0x01, 0x60), Local1)
  3668. Store (LDRG (0x01, 0x61), Local0)
  3669. Store (Local0, Index (DCRS, 0x02))
  3670. Store (Local0, Index (DCRS, 0x0A))
  3671. Store (Local0, Index (DCRS, 0x04))
  3672. Store (Local0, Index (DCRS, 0x0C))
  3673. Store (Local1, Index (DCRS, 0x03))
  3674. Store (Local1, Index (DCRS, 0x05))
  3675. Add (Local1, 0x04, Local1)
  3676. Store (Local1, Index (DCRS, 0x0B))
  3677. Store (Local1, Index (DCRS, 0x0D))
  3678. If (And (Local0, 0x04))
  3679. {
  3680. Store (0x04, Local0)
  3681. }
  3682. Else
  3683. {
  3684. Store (0x08, Local0)
  3685. }
  3686.  
  3687. Store (Local0, Index (DCRS, 0x06))
  3688. Store (Local0, Index (DCRS, 0x07))
  3689. Store (Local0, Index (DCRS, 0x0E))
  3690. Store (Local0, Index (DCRS, 0x0F))
  3691. ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3692. Store (Local0, Index (DCRS, 0x11))
  3693. ShiftRight (Local0, 0x08, Local1)
  3694. Store (Local1, Index (DCRS, 0x12))
  3695. Return (DCRS)
  3696. }
  3697.  
  3698. Method (_SRS, 1, NotSerialized)
  3699. {
  3700. CreateByteField (Arg0, 0x02, ADRL)
  3701. CreateByteField (Arg0, 0x03, ADRM)
  3702. CreateWordField (Arg0, 0x11, IRQM)
  3703. FindSetRightBit (IRQM, Local0)
  3704. Decrement (Local0)
  3705. LDRS (0x01, 0x70, Local0)
  3706. LDRS (0x01, 0x60, ADRM)
  3707. LDRS (0x01, 0x61, ADRL)
  3708. LDRS (0x01, 0x30, 0x01)
  3709. }
  3710. }
  3711.  
  3712. Device (LPT)
  3713. {
  3714. Name (_HID, EisaId ("PNP0400"))
  3715. Name (_UID, 0x00)
  3716. Method (_STA, 0, NotSerialized)
  3717. {
  3718. Store (LDRG (0x01, 0xF0), Local0)
  3719. ShiftRight (Local0, 0x05, Local0)
  3720. If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3721. {
  3722. Return (0x00)
  3723. }
  3724.  
  3725. If (LAnd (RCF6 (0x02), LEqual (Local0, 0x00)))
  3726. {
  3727. ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3728. Add (0x0D, Local1, Local1)
  3729. Return (Local1)
  3730. }
  3731. Else
  3732. {
  3733. Return (0x00)
  3734. }
  3735. }
  3736.  
  3737. Method (_PS0, 0, NotSerialized)
  3738. {
  3739. LDRS (0x01, 0x30, 0x01)
  3740. }
  3741.  
  3742. Method (_PS3, 0, NotSerialized)
  3743. {
  3744. LDRS (0x01, 0x30, 0x00)
  3745. }
  3746.  
  3747. Method (_PRS, 0, NotSerialized)
  3748. {
  3749. Return (ResourceTemplate ()
  3750. {
  3751. StartDependentFnNoPri ()
  3752. {
  3753. IO (Decode16,
  3754. 0x0378, // Range Minimum
  3755. 0x0378, // Range Maximum
  3756. 0x08, // Alignment
  3757. 0x08, // Length
  3758. )
  3759. IO (Decode16,
  3760. 0x0778, // Range Minimum
  3761. 0x0778, // Range Maximum
  3762. 0x08, // Alignment
  3763. 0x08, // Length
  3764. )
  3765. IRQNoFlags ()
  3766. {7}
  3767. }
  3768. StartDependentFnNoPri ()
  3769. {
  3770. IO (Decode16,
  3771. 0x0278, // Range Minimum
  3772. 0x0278, // Range Maximum
  3773. 0x08, // Alignment
  3774. 0x08, // Length
  3775. )
  3776. IO (Decode16,
  3777. 0x0678, // Range Minimum
  3778. 0x0678, // Range Maximum
  3779. 0x08, // Alignment
  3780. 0x08, // Length
  3781. )
  3782. IRQNoFlags ()
  3783. {5}
  3784. }
  3785. StartDependentFnNoPri ()
  3786. {
  3787. IO (Decode16,
  3788. 0x0378, // Range Minimum
  3789. 0x0378, // Range Maximum
  3790. 0x08, // Alignment
  3791. 0x08, // Length
  3792. )
  3793. IO (Decode16,
  3794. 0x0778, // Range Minimum
  3795. 0x0778, // Range Maximum
  3796. 0x08, // Alignment
  3797. 0x08, // Length
  3798. )
  3799. IRQNoFlags ()
  3800. {5}
  3801. }
  3802. StartDependentFnNoPri ()
  3803. {
  3804. IO (Decode16,
  3805. 0x0278, // Range Minimum
  3806. 0x0278, // Range Maximum
  3807. 0x08, // Alignment
  3808. 0x08, // Length
  3809. )
  3810. IO (Decode16,
  3811. 0x0678, // Range Minimum
  3812. 0x0678, // Range Maximum
  3813. 0x08, // Alignment
  3814. 0x08, // Length
  3815. )
  3816. IRQNoFlags ()
  3817. {7}
  3818. }
  3819. StartDependentFnNoPri ()
  3820. {
  3821. IO (Decode16,
  3822. 0x03BC, // Range Minimum
  3823. 0x03BC, // Range Maximum
  3824. 0x04, // Alignment
  3825. 0x04, // Length
  3826. )
  3827. IO (Decode16,
  3828. 0x07BC, // Range Minimum
  3829. 0x07BC, // Range Maximum
  3830. 0x04, // Alignment
  3831. 0x04, // Length
  3832. )
  3833. IRQNoFlags ()
  3834. {7}
  3835. }
  3836. StartDependentFnNoPri ()
  3837. {
  3838. IO (Decode16,
  3839. 0x03BC, // Range Minimum
  3840. 0x03BC, // Range Maximum
  3841. 0x04, // Alignment
  3842. 0x04, // Length
  3843. )
  3844. IO (Decode16,
  3845. 0x07BC, // Range Minimum
  3846. 0x07BC, // Range Maximum
  3847. 0x04, // Alignment
  3848. 0x04, // Length
  3849. )
  3850. IRQNoFlags ()
  3851. {5}
  3852. }
  3853. EndDependentFn ()
  3854. })
  3855. }
  3856.  
  3857. Method (_DIS, 0, NotSerialized)
  3858. {
  3859. LDRS (0x01, 0x30, 0x00)
  3860. }
  3861.  
  3862. Method (_CRS, 0, NotSerialized)
  3863. {
  3864. Name (DCRS, ResourceTemplate ()
  3865. {
  3866. IO (Decode16,
  3867. 0x0378, // Range Minimum
  3868. 0x0378, // Range Maximum
  3869. 0x08, // Alignment
  3870. 0x08, // Length
  3871. )
  3872. IO (Decode16,
  3873. 0x0778, // Range Minimum
  3874. 0x0778, // Range Maximum
  3875. 0x08, // Alignment
  3876. 0x08, // Length
  3877. )
  3878. IRQNoFlags ()
  3879. {7}
  3880. })
  3881. Store (LDRG (0x01, 0x60), Local1)
  3882. Store (LDRG (0x01, 0x61), Local0)
  3883. Store (Local0, Index (DCRS, 0x02))
  3884. Store (Local0, Index (DCRS, 0x0A))
  3885. Store (Local0, Index (DCRS, 0x04))
  3886. Store (Local0, Index (DCRS, 0x0C))
  3887. Store (Local1, Index (DCRS, 0x03))
  3888. Store (Local1, Index (DCRS, 0x05))
  3889. Add (Local1, 0x04, Local1)
  3890. Store (Local1, Index (DCRS, 0x0B))
  3891. Store (Local1, Index (DCRS, 0x0D))
  3892. If (And (Local0, 0x04))
  3893. {
  3894. Store (0x04, Local0)
  3895. }
  3896. Else
  3897. {
  3898. Store (0x08, Local0)
  3899. }
  3900.  
  3901. Store (Local0, Index (DCRS, 0x06))
  3902. Store (Local0, Index (DCRS, 0x07))
  3903. Store (Local0, Index (DCRS, 0x0E))
  3904. Store (Local0, Index (DCRS, 0x0F))
  3905. ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3906. Store (Local0, Index (DCRS, 0x11))
  3907. ShiftRight (Local0, 0x08, Local1)
  3908. Store (Local1, Index (DCRS, 0x12))
  3909. Return (DCRS)
  3910. }
  3911.  
  3912. Method (_SRS, 1, NotSerialized)
  3913. {
  3914. CreateByteField (Arg0, 0x02, ADRL)
  3915. CreateByteField (Arg0, 0x03, ADRM)
  3916. CreateWordField (Arg0, 0x11, IRQM)
  3917. FindSetRightBit (IRQM, Local0)
  3918. Decrement (Local0)
  3919. LDRS (0x01, 0x70, Local0)
  3920. LDRS (0x01, 0x60, ADRM)
  3921. LDRS (0x01, 0x61, ADRL)
  3922. LDRS (0x01, 0x30, 0x01)
  3923. }
  3924. }
  3925.  
  3926. Device (COMA)
  3927. {
  3928. Name (_HID, EisaId ("PNP0501"))
  3929. Name (_UID, 0x00)
  3930. Method (_STA, 0, NotSerialized)
  3931. {
  3932. If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3933. {
  3934. Return (0x00)
  3935. }
  3936.  
  3937. If (RCF6 (0x08))
  3938. {
  3939. ShiftLeft (LDRG (0x03, 0x30), 0x01, Local1)
  3940. Add (0x0D, Local1, Local1)
  3941. Return (Local1)
  3942. }
  3943. Else
  3944. {
  3945. Return (0x00)
  3946. }
  3947. }
  3948.  
  3949. Method (_PS0, 0, NotSerialized)
  3950. {
  3951. LDRS (0x03, 0x30, 0x01)
  3952. }
  3953.  
  3954. Method (_PS3, 0, NotSerialized)
  3955. {
  3956. LDRS (0x03, 0x30, 0x00)
  3957. }
  3958.  
  3959. Method (_PRS, 0, NotSerialized)
  3960. {
  3961. Return (ResourceTemplate ()
  3962. {
  3963. StartDependentFnNoPri ()
  3964. {
  3965. IO (Decode16,
  3966. 0x03F8, // Range Minimum
  3967. 0x03F8, // Range Maximum
  3968. 0x08, // Alignment
  3969. 0x08, // Length
  3970. )
  3971. IRQNoFlags ()
  3972. {4}
  3973. }
  3974. StartDependentFnNoPri ()
  3975. {
  3976. IO (Decode16,
  3977. 0x02F8, // Range Minimum
  3978. 0x02F8, // Range Maximum
  3979. 0x08, // Alignment
  3980. 0x08, // Length
  3981. )
  3982. IRQNoFlags ()
  3983. {3}
  3984. }
  3985. StartDependentFnNoPri ()
  3986. {
  3987. IO (Decode16,
  3988. 0x03E8, // Range Minimum
  3989. 0x03E8, // Range Maximum
  3990. 0x08, // Alignment
  3991. 0x08, // Length
  3992. )
  3993. IRQNoFlags ()
  3994. {4}
  3995. }
  3996. StartDependentFnNoPri ()
  3997. {
  3998. IO (Decode16,
  3999. 0x02E8, // Range Minimum
  4000. 0x02E8, // Range Maximum
  4001. 0x08, // Alignment
  4002. 0x08, // Length
  4003. )
  4004. IRQNoFlags ()
  4005. {3}
  4006. }
  4007. StartDependentFnNoPri ()
  4008. {
  4009. IO (Decode16,
  4010. 0x03F8, // Range Minimum
  4011. 0x03F8, // Range Maximum
  4012. 0x08, // Alignment
  4013. 0x08, // Length
  4014. )
  4015. IRQNoFlags ()
  4016. {3}
  4017. }
  4018. StartDependentFnNoPri ()
  4019. {
  4020. IO (Decode16,
  4021. 0x02F8, // Range Minimum
  4022. 0x02F8, // Range Maximum
  4023. 0x08, // Alignment
  4024. 0x08, // Length
  4025. )
  4026. IRQNoFlags ()
  4027. {4}
  4028. }
  4029. StartDependentFnNoPri ()
  4030. {
  4031. IO (Decode16,
  4032. 0x03E8, // Range Minimum
  4033. 0x03E8, // Range Maximum
  4034. 0x08, // Alignment
  4035. 0x08, // Length
  4036. )
  4037. IRQNoFlags ()
  4038. {3}
  4039. }
  4040. StartDependentFnNoPri ()
  4041. {
  4042. IO (Decode16,
  4043. 0x02E8, // Range Minimum
  4044. 0x02E8, // Range Maximum
  4045. 0x08, // Alignment
  4046. 0x08, // Length
  4047. )
  4048. IRQNoFlags ()
  4049. {4}
  4050. }
  4051. EndDependentFn ()
  4052. })
  4053. }
  4054.  
  4055. Method (_DIS, 0, NotSerialized)
  4056. {
  4057. LDRS (0x03, 0x30, 0x00)
  4058. }
  4059.  
  4060. Method (_CRS, 0, NotSerialized)
  4061. {
  4062. Name (DCRS, ResourceTemplate ()
  4063. {
  4064. IO (Decode16,
  4065. 0x03F8, // Range Minimum
  4066. 0x03F8, // Range Maximum
  4067. 0x08, // Alignment
  4068. 0x08, // Length
  4069. )
  4070. IRQNoFlags ()
  4071. {4}
  4072. })
  4073. Store (LDRG (0x03, 0x60), Local1)
  4074. Store (LDRG (0x03, 0x61), Local0)
  4075. Store (Local0, Index (DCRS, 0x02))
  4076. Store (Local0, Index (DCRS, 0x04))
  4077. Store (Local1, Index (DCRS, 0x03))
  4078. Store (Local1, Index (DCRS, 0x05))
  4079. ShiftLeft (0x01, LDRG (0x03, 0x70), Local0)
  4080. Store (Local0, Index (DCRS, 0x09))
  4081. ShiftRight (Local0, 0x08, Local1)
  4082. Store (Local1, Index (DCRS, 0x0A))
  4083. Return (DCRS)
  4084. }
  4085.  
  4086. Method (_SRS, 1, NotSerialized)
  4087. {
  4088. CreateByteField (Arg0, 0x02, ADRL)
  4089. CreateByteField (Arg0, 0x03, ADRM)
  4090. CreateWordField (Arg0, 0x09, IRQM)
  4091. FindSetRightBit (IRQM, Local0)
  4092. Decrement (Local0)
  4093. LDRS (0x03, 0x70, Local0)
  4094. LDRS (0x03, 0x60, ADRM)
  4095. LDRS (0x03, 0x61, ADRL)
  4096. LDRS (0x03, 0x30, 0x01)
  4097. }
  4098. }
  4099.  
  4100. Device (FIR)
  4101. {
  4102. Method (_HID, 0, NotSerialized)
  4103. {
  4104. If (LOr (LEqual (MYOS, 0x01), LEqual (MYOS, 0x03)))
  4105. {
  4106. Return (0x0160633A)
  4107. }
  4108. Else
  4109. {
  4110. Return (0x0160633A)
  4111. }
  4112. }
  4113.  
  4114. Name (_UID, 0x00)
  4115. Method (_STA, 0, NotSerialized)
  4116. {
  4117. Store (LDRG (0x02, 0x74), Local0)
  4118. If (LAnd (RCF6 (0x04), LNotEqual (Local0, 0x04)))
  4119. {
  4120. ShiftLeft (LDRG (0x02, 0x30), 0x01, Local1)
  4121. Add (0x0D, Local1, Local1)
  4122. Return (Local1)
  4123. }
  4124. Else
  4125. {
  4126. Return (0x00)
  4127. }
  4128. }
  4129.  
  4130. Method (_PS0, 0, NotSerialized)
  4131. {
  4132. LDRS (0x02, 0x30, 0x01)
  4133. }
  4134.  
  4135. Method (_PS3, 0, NotSerialized)
  4136. {
  4137. LDRS (0x02, 0x30, 0x00)
  4138. }
  4139.  
  4140. Method (_PRS, 0, NotSerialized)
  4141. {
  4142. Return (ResourceTemplate ()
  4143. {
  4144. StartDependentFnNoPri ()
  4145. {
  4146. IO (Decode16,
  4147. 0x03F8, // Range Minimum
  4148. 0x03F8, // Range Maximum
  4149. 0x08, // Alignment
  4150. 0x08, // Length
  4151. )
  4152. IRQNoFlags ()
  4153. {4}
  4154. DMA (Compatibility, NotBusMaster, Transfer8, )
  4155. {0}
  4156. }
  4157. StartDependentFnNoPri ()
  4158. {
  4159. IO (Decode16,
  4160. 0x02F8, // Range Minimum
  4161. 0x02F8, // Range Maximum
  4162. 0x08, // Alignment
  4163. 0x08, // Length
  4164. )
  4165. IRQNoFlags ()
  4166. {3}
  4167. DMA (Compatibility, NotBusMaster, Transfer8, )
  4168. {0}
  4169. }
  4170. StartDependentFnNoPri ()
  4171. {
  4172. IO (Decode16,
  4173. 0x03E8, // Range Minimum
  4174. 0x03E8, // Range Maximum
  4175. 0x08, // Alignment
  4176. 0x08, // Length
  4177. )
  4178. IRQNoFlags ()
  4179. {4}
  4180. DMA (Compatibility, NotBusMaster, Transfer8, )
  4181. {0}
  4182. }
  4183. StartDependentFnNoPri ()
  4184. {
  4185. IO (Decode16,
  4186. 0x02E8, // Range Minimum
  4187. 0x02E8, // Range Maximum
  4188. 0x08, // Alignment
  4189. 0x08, // Length
  4190. )
  4191. IRQNoFlags ()
  4192. {3}
  4193. DMA (Compatibility, NotBusMaster, Transfer8, )
  4194. {0}
  4195. }
  4196. StartDependentFnNoPri ()
  4197. {
  4198. IO (Decode16,
  4199. 0x03F8, // Range Minimum
  4200. 0x03F8, // Range Maximum
  4201. 0x08, // Alignment
  4202. 0x08, // Length
  4203. )
  4204. IRQNoFlags ()
  4205. {3}
  4206. DMA (Compatibility, NotBusMaster, Transfer8, )
  4207. {0}
  4208. }
  4209. StartDependentFnNoPri ()
  4210. {
  4211. IO (Decode16,
  4212. 0x02F8, // Range Minimum
  4213. 0x02F8, // Range Maximum
  4214. 0x08, // Alignment
  4215. 0x08, // Length
  4216. )
  4217. IRQNoFlags ()
  4218. {4}
  4219. DMA (Compatibility, NotBusMaster, Transfer8, )
  4220. {0}
  4221. }
  4222. StartDependentFnNoPri ()
  4223. {
  4224. IO (Decode16,
  4225. 0x03E8, // Range Minimum
  4226. 0x03E8, // Range Maximum
  4227. 0x08, // Alignment
  4228. 0x08, // Length
  4229. )
  4230. IRQNoFlags ()
  4231. {3}
  4232. DMA (Compatibility, NotBusMaster, Transfer8, )
  4233. {0}
  4234. }
  4235. StartDependentFnNoPri ()
  4236. {
  4237. IO (Decode16,
  4238. 0x02E8, // Range Minimum
  4239. 0x02E8, // Range Maximum
  4240. 0x08, // Alignment
  4241. 0x08, // Length
  4242. )
  4243. IRQNoFlags ()
  4244. {4}
  4245. DMA (Compatibility, NotBusMaster, Transfer8, )
  4246. {0}
  4247. }
  4248. StartDependentFnNoPri ()
  4249. {
  4250. IO (Decode16,
  4251. 0x03F8, // Range Minimum
  4252. 0x03F8, // Range Maximum
  4253. 0x08, // Alignment
  4254. 0x08, // Length
  4255. )
  4256. IRQNoFlags ()
  4257. {4}
  4258. DMA (Compatibility, NotBusMaster, Transfer8, )
  4259. {1}
  4260. }
  4261. StartDependentFnNoPri ()
  4262. {
  4263. IO (Decode16,
  4264. 0x02F8, // Range Minimum
  4265. 0x02F8, // Range Maximum
  4266. 0x08, // Alignment
  4267. 0x08, // Length
  4268. )
  4269. IRQNoFlags ()
  4270. {3}
  4271. DMA (Compatibility, NotBusMaster, Transfer8, )
  4272. {1}
  4273. }
  4274. StartDependentFnNoPri ()
  4275. {
  4276. IO (Decode16,
  4277. 0x03E8, // Range Minimum
  4278. 0x03E8, // Range Maximum
  4279. 0x08, // Alignment
  4280. 0x08, // Length
  4281. )
  4282. IRQNoFlags ()
  4283. {4}
  4284. DMA (Compatibility, NotBusMaster, Transfer8, )
  4285. {1}
  4286. }
  4287. StartDependentFnNoPri ()
  4288. {
  4289. IO (Decode16,
  4290. 0x02E8, // Range Minimum
  4291. 0x02E8, // Range Maximum
  4292. 0x08, // Alignment
  4293. 0x08, // Length
  4294. )
  4295. IRQNoFlags ()
  4296. {3}
  4297. DMA (Compatibility, NotBusMaster, Transfer8, )
  4298. {1}
  4299. }
  4300. StartDependentFnNoPri ()
  4301. {
  4302. IO (Decode16,
  4303. 0x03F8, // Range Minimum
  4304. 0x03F8, // Range Maximum
  4305. 0x08, // Alignment
  4306. 0x08, // Length
  4307. )
  4308. IRQNoFlags ()
  4309. {3}
  4310. DMA (Compatibility, NotBusMaster, Transfer8, )
  4311. {1}
  4312. }
  4313. StartDependentFnNoPri ()
  4314. {
  4315. IO (Decode16,
  4316. 0x02F8, // Range Minimum
  4317. 0x02F8, // Range Maximum
  4318. 0x08, // Alignment
  4319. 0x08, // Length
  4320. )
  4321. IRQNoFlags ()
  4322. {4}
  4323. DMA (Compatibility, NotBusMaster, Transfer8, )
  4324. {1}
  4325. }
  4326. StartDependentFnNoPri ()
  4327. {
  4328. IO (Decode16,
  4329. 0x03E8, // Range Minimum
  4330. 0x03E8, // Range Maximum
  4331. 0x08, // Alignment
  4332. 0x08, // Length
  4333. )
  4334. IRQNoFlags ()
  4335. {3}
  4336. DMA (Compatibility, NotBusMaster, Transfer8, )
  4337. {1}
  4338. }
  4339. StartDependentFnNoPri ()
  4340. {
  4341. IO (Decode16,
  4342. 0x02E8, // Range Minimum
  4343. 0x02E8, // Range Maximum
  4344. 0x08, // Alignment
  4345. 0x08, // Length
  4346. )
  4347. IRQNoFlags ()
  4348. {4}
  4349. DMA (Compatibility, NotBusMaster, Transfer8, )
  4350. {1}
  4351. }
  4352. StartDependentFnNoPri ()
  4353. {
  4354. IO (Decode16,
  4355. 0x03F8, // Range Minimum
  4356. 0x03F8, // Range Maximum
  4357. 0x08, // Alignment
  4358. 0x08, // Length
  4359. )
  4360. IRQNoFlags ()
  4361. {4}
  4362. DMA (Compatibility, NotBusMaster, Transfer8, )
  4363. {3}
  4364. }
  4365. StartDependentFnNoPri ()
  4366. {
  4367. IO (Decode16,
  4368. 0x02F8, // Range Minimum
  4369. 0x02F8, // Range Maximum
  4370. 0x08, // Alignment
  4371. 0x08, // Length
  4372. )
  4373. IRQNoFlags ()
  4374. {3}
  4375. DMA (Compatibility, NotBusMaster, Transfer8, )
  4376. {3}
  4377. }
  4378. StartDependentFnNoPri ()
  4379. {
  4380. IO (Decode16,
  4381. 0x03E8, // Range Minimum
  4382. 0x03E8, // Range Maximum
  4383. 0x08, // Alignment
  4384. 0x08, // Length
  4385. )
  4386. IRQNoFlags ()
  4387. {4}
  4388. DMA (Compatibility, NotBusMaster, Transfer8, )
  4389. {3}
  4390. }
  4391. StartDependentFnNoPri ()
  4392. {
  4393. IO (Decode16,
  4394. 0x02E8, // Range Minimum
  4395. 0x02E8, // Range Maximum
  4396. 0x08, // Alignment
  4397. 0x08, // Length
  4398. )
  4399. IRQNoFlags ()
  4400. {3}
  4401. DMA (Compatibility, NotBusMaster, Transfer8, )
  4402. {3}
  4403. }
  4404. StartDependentFnNoPri ()
  4405. {
  4406. IO (Decode16,
  4407. 0x03F8, // Range Minimum
  4408. 0x03F8, // Range Maximum
  4409. 0x08, // Alignment
  4410. 0x08, // Length
  4411. )
  4412. IRQNoFlags ()
  4413. {3}
  4414. DMA (Compatibility, NotBusMaster, Transfer8, )
  4415. {3}
  4416. }
  4417. StartDependentFnNoPri ()
  4418. {
  4419. IO (Decode16,
  4420. 0x02F8, // Range Minimum
  4421. 0x02F8, // Range Maximum
  4422. 0x08, // Alignment
  4423. 0x08, // Length
  4424. )
  4425. IRQNoFlags ()
  4426. {4}
  4427. DMA (Compatibility, NotBusMaster, Transfer8, )
  4428. {3}
  4429. }
  4430. StartDependentFnNoPri ()
  4431. {
  4432. IO (Decode16,
  4433. 0x03E8, // Range Minimum
  4434. 0x03E8, // Range Maximum
  4435. 0x08, // Alignment
  4436. 0x08, // Length
  4437. )
  4438. IRQNoFlags ()
  4439. {3}
  4440. DMA (Compatibility, NotBusMaster, Transfer8, )
  4441. {3}
  4442. }
  4443. StartDependentFnNoPri ()
  4444. {
  4445. IO (Decode16,
  4446. 0x02E8, // Range Minimum
  4447. 0x02E8, // Range Maximum
  4448. 0x08, // Alignment
  4449. 0x08, // Length
  4450. )
  4451. IRQNoFlags ()
  4452. {4}
  4453. DMA (Compatibility, NotBusMaster, Transfer8, )
  4454. {3}
  4455. }
  4456. EndDependentFn ()
  4457. })
  4458. }
  4459.  
  4460. Method (_DIS, 0, NotSerialized)
  4461. {
  4462. LDRS (0x02, 0x30, 0x00)
  4463. }
  4464.  
  4465. Method (_CRS, 0, NotSerialized)
  4466. {
  4467. Name (DCRS, ResourceTemplate ()
  4468. {
  4469. IO (Decode16,
  4470. 0x02F8, // Range Minimum
  4471. 0x02F8, // Range Maximum
  4472. 0x08, // Alignment
  4473. 0x08, // Length
  4474. )
  4475. IRQNoFlags ()
  4476. {3}
  4477. DMA (Compatibility, NotBusMaster, Transfer8, )
  4478. {0}
  4479. })
  4480. Store (LDRG (0x02, 0x60), Local1)
  4481. Store (LDRG (0x02, 0x61), Local0)
  4482. Store (Local0, Index (DCRS, 0x02))
  4483. Store (Local0, Index (DCRS, 0x04))
  4484. Store (Local1, Index (DCRS, 0x03))
  4485. Store (Local1, Index (DCRS, 0x05))
  4486. ShiftLeft (0x01, LDRG (0x02, 0x70), Local0)
  4487. Store (Local0, Index (DCRS, 0x09))
  4488. ShiftRight (Local0, 0x08, Local1)
  4489. Store (Local1, Index (DCRS, 0x0A))
  4490. ShiftLeft (0x01, LDRG (0x02, 0x74), Local0)
  4491. Store (Local0, Index (DCRS, 0x0C))
  4492. ShiftRight (Local0, 0x08, Local1)
  4493. Store (Local1, Index (DCRS, 0x0D))
  4494. Return (DCRS)
  4495. }
  4496.  
  4497. Method (_SRS, 1, NotSerialized)
  4498. {
  4499. CreateByteField (Arg0, 0x02, ADRL)
  4500. CreateByteField (Arg0, 0x03, ADRM)
  4501. CreateWordField (Arg0, 0x09, IRQM)
  4502. CreateWordField (Arg0, 0x0C, DMAM)
  4503. FindSetRightBit (IRQM, Local0)
  4504. Decrement (Local0)
  4505. FindSetRightBit (DMAM, Local1)
  4506. Decrement (Local1)
  4507. LDRS (0x02, 0x70, Local0)
  4508. LDRS (0x02, 0x74, Local1)
  4509. LDRS (0x02, 0x60, ADRM)
  4510. LDRS (0x02, 0x61, ADRL)
  4511. PDRS (0x02, Add (ShiftLeft (ADRM, 0x08), ADRL))
  4512. LDRS (0x02, 0x30, 0x01)
  4513. }
  4514. }
  4515. }
  4516.  
  4517. Device (EC0)
  4518. {
  4519. Name (_HID, EisaId ("PNP0C09"))
  4520. Name (_CRS, ResourceTemplate ()
  4521. {
  4522. IO (Decode16,
  4523. 0x0062, // Range Minimum
  4524. 0x0062, // Range Maximum
  4525. 0x01, // Alignment
  4526. 0x01, // Length
  4527. )
  4528. IO (Decode16,
  4529. 0x0066, // Range Minimum
  4530. 0x0066, // Range Maximum
  4531. 0x01, // Alignment
  4532. 0x01, // Length
  4533. )
  4534. })
  4535. Name (_GPE, 0x1D)
  4536. Name (OSEJ, 0x00)
  4537. Device (SMBC)
  4538. {
  4539. Name (_HID, "ACPI0001")
  4540. Name (_EC, 0x1820)
  4541. Device (SBS0)
  4542. {
  4543. Name (_HID, "ACPI0002")
  4544. Name (_SBS, 0x02)
  4545. }
  4546. }
  4547.  
  4548. Method (_REG, 2, NotSerialized)
  4549. {
  4550. If (LEqual (Arg0, 0x03))
  4551. {
  4552. Store (Arg1, \_SB.OKEC)
  4553. Store (Arg1, \_SB.ECOK)
  4554. If (Or (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (\_SB.PCI0.MYOS, 0x01)))
  4555. {
  4556. If (Arg1)
  4557. {
  4558. Store (0x01, \_SB.PCI0.LPC0.EC0.RG57)
  4559. }
  4560.  
  4561. Store (\_SB.WLES, \_SB.PCI0.LPC0.EC0.WEST)
  4562. Store (\_SB.BTES, \_SB.PCI0.LPC0.EC0.BEST)
  4563. Store (One, \_SB.PCI0.LPC0.EC0.WBIN)
  4564. Store (DOFF, \_SB.PCI0.LPC0.EC0.TMOF)
  4565. }
  4566. }
  4567. }
  4568.  
  4569. OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
  4570. Field (ERAM, ByteAcc, NoLock, Preserve)
  4571. {
  4572. Offset (0x04),
  4573. CMCM, 8,
  4574. CMD1, 8,
  4575. CMD2, 8,
  4576. CMD3, 8,
  4577. Offset (0x18),
  4578. SMPR, 8,
  4579. SMST, 8,
  4580. SMAD, 8,
  4581. SMCM, 8,
  4582. SMD0, 256,
  4583. BCNT, 8,
  4584. SMAA, 8,
  4585. BATD, 16,
  4586. ACDF, 1,
  4587. Offset (0x41),
  4588. , 4,
  4589. FPR1, 1,
  4590. S4LD, 1,
  4591. S5LW, 1,
  4592. PFLG, 1,
  4593. Offset (0x43),
  4594. TMSS, 2,
  4595. , 2,
  4596. BANK, 4,
  4597. Offset (0x45),
  4598. VFAN, 1,
  4599. Offset (0x46),
  4600. RL01, 1,
  4601. RD01, 1,
  4602. RF01, 1,
  4603. RP01, 1,
  4604. RB01, 1,
  4605. RC01, 1,
  4606. , 1,
  4607. R701, 1,
  4608. R801, 1,
  4609. RM01, 1,
  4610. RI01, 1,
  4611. , 1,
  4612. , 1,
  4613. , 1,
  4614. RA01, 1,
  4615. RR01, 1,
  4616. RL10, 1,
  4617. RD10, 1,
  4618. RF10, 1,
  4619. RP10, 1,
  4620. RB10, 1,
  4621. RC10, 1,
  4622. , 1,
  4623. R710, 1,
  4624. R810, 1,
  4625. RM10, 1,
  4626. RI10, 1,
  4627. , 1,
  4628. , 1,
  4629. , 1,
  4630. RA10, 1,
  4631. RR10, 1,
  4632. LIDE, 1,
  4633. DB2E, 1,
  4634. RPTE, 1,
  4635. WP01, 1,
  4636. WB01, 1,
  4637. WC01, 1,
  4638. , 1,
  4639. W701, 1,
  4640. W801, 1,
  4641. WM01, 1,
  4642. WI01, 1,
  4643. , 1,
  4644. , 1,
  4645. , 1,
  4646. WA01, 1,
  4647. WR01, 1,
  4648. LIDS, 1,
  4649. DB2S, 1,
  4650. RPTS, 1,
  4651. WP10, 1,
  4652. WB10, 1,
  4653. WC10, 1,
  4654. , 1,
  4655. W710, 1,
  4656. W810, 1,
  4657. WM10, 1,
  4658. WI10, 1,
  4659. , 1,
  4660. , 1,
  4661. , 1,
  4662. WA10, 1,
  4663. WR10, 1,
  4664. , 1,
  4665. BAYE, 1,
  4666. EFDE, 1,
  4667. PRDE, 1,
  4668. BRBE, 1,
  4669. ADIM, 1,
  4670. , 1,
  4671. W7BE, 1,
  4672. W8BE, 1,
  4673. PMEE, 1,
  4674. INTE, 1,
  4675. , 1,
  4676. , 1,
  4677. , 1,
  4678. , 1,
  4679. DB3E, 1,
  4680. Offset (0x52),
  4681. , 1,
  4682. BAYS, 1,
  4683. EFDS, 1,
  4684. PRDS, 1,
  4685. BRBS, 1,
  4686. CRTS, 1,
  4687. , 1,
  4688. W7BS, 1,
  4689. TMOF, 8,
  4690. Offset (0x57),
  4691. RG57, 8,
  4692. CTMP, 8,
  4693. RG59, 8,
  4694. RG5A, 8,
  4695. RG5B, 8,
  4696. FSPD, 16,
  4697. Offset (0x5F),
  4698. WEST, 1,
  4699. BEST, 1,
  4700. WBIN, 1,
  4701. Offset (0x60),
  4702. , 1,
  4703. FANC, 1,
  4704. Offset (0x70),
  4705. MBID, 8,
  4706. MBTS, 1,
  4707. MBTF, 1,
  4708. Offset (0x72),
  4709. MBTC, 1,
  4710. Offset (0x77),
  4711. BA1C, 8,
  4712. MBVG, 16,
  4713. MCUR, 16,
  4714. Offset (0x80),
  4715. SBID, 8,
  4716. SBTS, 1,
  4717. SBTF, 1,
  4718. Offset (0x82),
  4719. SBTC, 1,
  4720. Offset (0x87),
  4721. BA2C, 8,
  4722. ABVG, 16,
  4723. ACUR, 16,
  4724. Offset (0xC3),
  4725. MBRM, 16,
  4726. Offset (0xCA),
  4727. ABRM, 16,
  4728. Offset (0xD0),
  4729. EBPL, 1,
  4730. Offset (0xD2),
  4731. , 6,
  4732. APWR, 1,
  4733. Offset (0xD6),
  4734. DBPL, 8,
  4735. Offset (0xE7),
  4736. GQKS, 7
  4737. }
  4738.  
  4739. Field (ERAM, ByteAcc, NoLock, Preserve)
  4740. {
  4741. Offset (0x1C),
  4742. SMW0, 16
  4743. }
  4744.  
  4745. Field (ERAM, ByteAcc, NoLock, Preserve)
  4746. {
  4747. Offset (0x1C),
  4748. SMB0, 8
  4749. }
  4750.  
  4751. Field (ERAM, ByteAcc, NoLock, Preserve)
  4752. {
  4753. Offset (0x1C),
  4754. FLD0, 64
  4755. }
  4756.  
  4757. Field (ERAM, ByteAcc, NoLock, Preserve)
  4758. {
  4759. Offset (0x1C),
  4760. FLD1, 128
  4761. }
  4762.  
  4763. Field (ERAM, ByteAcc, NoLock, Preserve)
  4764. {
  4765. Offset (0x1C),
  4766. FLD2, 192
  4767. }
  4768.  
  4769. Field (ERAM, ByteAcc, NoLock, Preserve)
  4770. {
  4771. Offset (0x1C),
  4772. FLD3, 256
  4773. }
  4774.  
  4775. Method (BPOL, 1, NotSerialized)
  4776. {
  4777. Store (Arg0, DBPL)
  4778. Store (0x01, EBPL)
  4779. }
  4780.  
  4781. Name (ECUS, 0x00)
  4782. Name (BATO, 0x00)
  4783. Name (BATN, 0x00)
  4784. Name (BATF, 0xC0)
  4785. Method (_Q09, 0, NotSerialized)
  4786. {
  4787. If (LEqual (SizeOf (\_OS), 0x14)) {}
  4788. If (LEqual (SizeOf (\_OS), 0x14))
  4789. {
  4790. BPOL (0x3C)
  4791. }
  4792. }
  4793.  
  4794. Method (_Q20, 0, NotSerialized)
  4795. {
  4796. If (And (SMST, 0x40))
  4797. {
  4798. Store (SMAA, Local0)
  4799. If (LEqual (Local0, 0x14))
  4800. {
  4801. And (SMST, 0xBF, SMST)
  4802. }
  4803. }
  4804. }
  4805.  
  4806. Method (SELE, 0, NotSerialized)
  4807. {
  4808. Store (BATD, BATN)
  4809. Store (0x00, BATF)
  4810. If (And (0xC0, BATN))
  4811. {
  4812. Or (BATF, 0x01, BATF)
  4813. }
  4814.  
  4815. If (And (0x0300, BATN))
  4816. {
  4817. Or (BATF, 0x04, BATF)
  4818. }
  4819.  
  4820. And (BATN, 0x01, Local0)
  4821. And (BATO, 0x01, Local1)
  4822. If (Local0)
  4823. {
  4824. Or (BATF, 0x0100, BATF)
  4825. }
  4826. Else
  4827. {
  4828. And (BATF, 0xFEFF, BATF)
  4829. }
  4830.  
  4831. If (Not (LEqual (Local0, Local1)))
  4832. {
  4833. Or (BATF, 0x40, BATF)
  4834. }
  4835.  
  4836. And (BATN, 0x02, Local0)
  4837. And (BATO, 0x02, Local1)
  4838. If (Local0)
  4839. {
  4840. Or (BATF, 0x0200, BATF)
  4841. }
  4842. Else
  4843. {
  4844. And (BATF, 0xFDFF, BATF)
  4845. }
  4846.  
  4847. If (Not (LEqual (Local0, Local1)))
  4848. {
  4849. Or (BATF, 0x80, BATF)
  4850. }
  4851.  
  4852. And (BATN, 0xC0, Local0)
  4853. And (BATO, 0xC0, Local1)
  4854. If (Not (LEqual (Local0, Local1)))
  4855. {
  4856. Or (BATF, 0x02, BATF)
  4857. }
  4858.  
  4859. If (And (0x01, BATF))
  4860. {
  4861. If (And (0x04, BATF))
  4862. {
  4863. If (And (BATN, 0x20))
  4864. {
  4865. Or (BATF, 0x10, BATF)
  4866. }
  4867. Else
  4868. {
  4869. Or (BATF, 0x20, BATF)
  4870. }
  4871. }
  4872. }
  4873. }
  4874.  
  4875. Method (_Q0D, 0, NotSerialized)
  4876. {
  4877. Store ("Sleep Button Query: Fn+F4", Debug)
  4878. Notify (\_SB.SLPB, 0x80)
  4879. }
  4880.  
  4881. Method (_Q0E, 0, NotSerialized)
  4882. {
  4883. \_SB.PCI0.AGP.VGA.SWIH ()
  4884. }
  4885.  
  4886. Method (_Q13, 0, NotSerialized)
  4887. {
  4888. Store ("Brightness Up: Fn+->", Debug)
  4889. Store (0x8C, \_SB.PCI0.LPC0.BCMD)
  4890. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  4891. }
  4892.  
  4893. Method (_Q12, 0, NotSerialized)
  4894. {
  4895. Store ("Brightness Down: Fn+<-", Debug)
  4896. Store (0x8D, \_SB.PCI0.LPC0.BCMD)
  4897. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  4898. }
  4899.  
  4900. Method (_Q80, 0, NotSerialized)
  4901. {
  4902. Store ("Temperature increasing: _Q80", Debug)
  4903. Notify (\_TZ.THRM, 0x80)
  4904. }
  4905.  
  4906. Method (_Q81, 0, NotSerialized)
  4907. {
  4908. Store ("Temperature decreasing: _Q81", Debug)
  4909. Notify (\_TZ.THRM, 0x80)
  4910. }
  4911.  
  4912. Event (EJT1)
  4913. Method (_Q8A, 0, NotSerialized)
  4914. {
  4915. Mutex (MUT0, 0x00)
  4916. Mutex (MUT1, 0x00)
  4917. Store ("------------------_Q0x8A --------------------------------------", Debug)
  4918. If (LIDE)
  4919. {
  4920. Store (0x01, LIDE)
  4921. Notify (\_SB.LID, 0x80)
  4922. }
  4923.  
  4924. If (DB2E)
  4925. {
  4926. Store ("-------- Device R-Bay Event ------", Debug)
  4927. Store (0x01, DB2E)
  4928. Store (0xB1, P80H)
  4929. If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  4930. {
  4931. If (DB2S)
  4932. {
  4933. Store (0xB2, P80H)
  4934. Store ("----------- Device Bay Change Status ---------- IN ", Debug)
  4935. Store (\_SB.PCI0.LPC0.RBID, Local0)
  4936. Store (Local0, \_SB.PCI0.IDE0.BAYR)
  4937. If (LEqual (Local0, 0x00))
  4938. {
  4939. Store (0xB4, P80H)
  4940. Store (0x00, \_SB.PCI0.LPC0.LV37)
  4941. Sleep (0xC8)
  4942. }
  4943. Else
  4944. {
  4945. Store (0xB5, P80H)
  4946. Store (0x00, \_SB.PCI0.LPC0.LV37)
  4947. Sleep (0x64)
  4948. Store (0x00, \_SB.PCI0.LPC0.LV39)
  4949. Sleep (0xC8)
  4950. Store (0x01, \_SB.PCI0.LPC0.LV39)
  4951. Sleep (0x09C4)
  4952. Sleep (0xC8)
  4953. Sleep (0xC8)
  4954. Sleep (0x64)
  4955. Store (0x01, \_SB.PCI0.IDE0.SSIG)
  4956. Store (0x01, \_SB.PCI0.IDE0.UDC1)
  4957. Store (0x02, \_SB.PCI0.IDE0.UDT1)
  4958. Or (\_SB.PCI0.IDE0.FSCB, 0x04, \_SB.PCI0.IDE0.FSCB)
  4959. Store (0xE303, \_SB.PCI0.IDE0.ITM1)
  4960. Store (0x00, \_SB.PCI0.IDE0.SSIG)
  4961. Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x00)
  4962. Store (0xB6, P80H)
  4963. }
  4964. }
  4965. Else
  4966. {
  4967. Store (0xB7, P80H)
  4968. Store ("-------- Device Bay Event ------ OUT ", Debug)
  4969. Store (\_SB.PCI0.IDE0.BAYR, Local0)
  4970. Store (0x01, \_SB.PCI0.LPC0.LV37)
  4971. Sleep (0xC8)
  4972. If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
  4973. {
  4974. Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x01)
  4975. Store (0xB8, P80H)
  4976. }
  4977. }
  4978. }
  4979. }
  4980. }
  4981. }
  4982.  
  4983. OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
  4984. Field (SMI0, AnyAcc, NoLock, Preserve)
  4985. {
  4986. SMIC, 8
  4987. }
  4988.  
  4989. OperationRegion (SMI1, SystemMemory, 0x1FEFCEBD, 0x00000090)
  4990. Field (SMI1, AnyAcc, NoLock, Preserve)
  4991. {
  4992. BCMD, 8,
  4993. DID, 32,
  4994. INFO, 1024
  4995. }
  4996.  
  4997. Field (SMI1, AnyAcc, NoLock, Preserve)
  4998. {
  4999. AccessAs (ByteAcc, 0x00),
  5000. Offset (0x05),
  5001. INF, 8
  5002. }
  5003. }
  5004.  
  5005. Device (MDM0)
  5006. {
  5007. Name (_ADR, 0x001F0006)
  5008. Name (_PRW, Package (0x02)
  5009. {
  5010. 0x05,
  5011. 0x03
  5012. })
  5013. }
  5014.  
  5015. Device (IDE0)
  5016. {
  5017. Name (_ADR, 0x001F0001)
  5018. OperationRegion (PCI, PCI_Config, 0x00, 0x58)
  5019. Field (PCI, DWordAcc, NoLock, Preserve)
  5020. {
  5021. Offset (0x03),
  5022. , 7,
  5023. SIDE, 1,
  5024. Offset (0x42),
  5025. , 1,
  5026. EIOR, 1,
  5027. , 13,
  5028. ESID, 1,
  5029. Offset (0x48),
  5030. UMA0, 1,
  5031. UMA1, 1,
  5032. UMA2, 1,
  5033. UMA3, 1,
  5034. Offset (0x56),
  5035. PSIG, 2,
  5036. SSIG, 2
  5037. }
  5038.  
  5039. Field (PCI, DWordAcc, NoLock, Preserve)
  5040. {
  5041. Offset (0x40),
  5042. ITM0, 16,
  5043. ITM1, 16,
  5044. SIT0, 4,
  5045. SIT1, 4,
  5046. Offset (0x48),
  5047. UDC0, 2,
  5048. UDC1, 2,
  5049. Offset (0x4A),
  5050. UDT0, 8,
  5051. UDT1, 8,
  5052. Offset (0x54),
  5053. ICF0, 2,
  5054. ICF1, 2,
  5055. CB80, 4,
  5056. , 2,
  5057. WPPE, 1,
  5058. , 1,
  5059. FSCB, 4,
  5060. TRIP, 2,
  5061. TRIS, 2,
  5062. FATS, 4
  5063. }
  5064.  
  5065. Name (TIM0, Package (0x01)
  5066. {
  5067. Package (0x05)
  5068. {
  5069. 0x78,
  5070. 0xB4,
  5071. 0xF0,
  5072. 0x0186,
  5073. 0x0258
  5074. }
  5075. })
  5076. Name (TIM1, Package (0x01)
  5077. {
  5078. Package (0x03)
  5079. {
  5080. 0x78,
  5081. 0x96,
  5082. 0x01FE
  5083. }
  5084. })
  5085. Name (TIM2, Package (0x01)
  5086. {
  5087. Package (0x06)
  5088. {
  5089. 0x18,
  5090. 0x1E,
  5091. 0x2D,
  5092. 0x3C,
  5093. 0x5A,
  5094. 0x78
  5095. }
  5096. })
  5097. Name (AT01, Buffer (0x07)
  5098. {
  5099. 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
  5100. })
  5101. Name (AT02, Buffer (0x07)
  5102. {
  5103. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
  5104. })
  5105. Name (AT03, Buffer (0x07)
  5106. {
  5107. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
  5108. })
  5109. Name (AT04, Buffer (0x07)
  5110. {
  5111. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
  5112. })
  5113. Name (ATA0, Buffer (0x1D) {})
  5114. Name (ATA1, Buffer (0x1D) {})
  5115. Name (ATA2, Buffer (0x1D) {})
  5116. Name (ATA3, Buffer (0x1D) {})
  5117. Name (ATAB, Buffer (0x0E) {})
  5118. Name (CMDC, 0x00)
  5119. Name (BAYR, 0x00)
  5120. Method (_INI, 0, NotSerialized)
  5121. {
  5122. Store (\_SB.PCI0.LPC0.RBID, BAYR)
  5123. }
  5124.  
  5125. Method (GTFB, 3, Serialized)
  5126. {
  5127. Multiply (CMDC, 0x38, Local0)
  5128. CreateField (ATAB, Local0, 0x38, CMDX)
  5129. Multiply (CMDC, 0x07, Local0)
  5130. CreateByteField (ATAB, Add (Local0, 0x01), A001)
  5131. CreateByteField (ATAB, Add (Local0, 0x05), A005)
  5132. Store (Arg0, CMDX)
  5133. Store (Arg1, A001)
  5134. Store (Arg2, A005)
  5135. Increment (CMDC)
  5136. }
  5137.  
  5138. Mutex (GTFM, 0x00)
  5139. Method (GTF, 3, Serialized)
  5140. {
  5141. Acquire (GTFM, 0xFFFF)
  5142. CreateDWordField (Arg2, 0x00, PIO0)
  5143. CreateDWordField (Arg2, 0x04, DMA0)
  5144. CreateDWordField (Arg2, 0x08, PIO1)
  5145. CreateDWordField (Arg2, 0x0C, DMA1)
  5146. CreateDWordField (Arg2, 0x10, CHNF)
  5147. Store (0x00, CMDC)
  5148. Name (ID00, 0x80)
  5149. Name (ID49, 0x0C00)
  5150. Name (ID59, 0x00)
  5151. Name (ID53, 0x04)
  5152. Name (ID63, 0x0F00)
  5153. Name (ID88, 0x0F00)
  5154. Name (IRDY, 0x01)
  5155. Name (PIOT, 0x00)
  5156. Name (DMAT, 0x00)
  5157. If (LEqual (SizeOf (Arg1), 0x0200))
  5158. {
  5159. CreateByteField (Arg1, 0x00, IB00)
  5160. Store (IB00, ID00)
  5161. CreateWordField (Arg1, 0x62, IW49)
  5162. Store (IW49, ID49)
  5163. CreateWordField (Arg1, 0x6A, IW53)
  5164. Store (IW53, ID53)
  5165. CreateWordField (Arg1, 0x7E, IW63)
  5166. Store (IW63, ID63)
  5167. CreateWordField (Arg1, 0x76, IW59)
  5168. Store (IW59, ID59)
  5169. CreateWordField (Arg1, 0xB0, IW88)
  5170. Store (IW88, ID88)
  5171. }
  5172. Else
  5173. {
  5174. Return (ATAB)
  5175. }
  5176.  
  5177. Store (0xA0, Local7)
  5178. If (Arg0)
  5179. {
  5180. Store (0xB0, Local7)
  5181. And (CHNF, 0x08, IRDY)
  5182. If (And (CHNF, 0x10))
  5183. {
  5184. Store (PIO1, PIOT)
  5185. }
  5186. Else
  5187. {
  5188. Store (PIO0, PIOT)
  5189. }
  5190.  
  5191. If (And (CHNF, 0x04))
  5192. {
  5193. If (And (CHNF, 0x10))
  5194. {
  5195. Store (DMA1, DMAT)
  5196. }
  5197. Else
  5198. {
  5199. Store (DMA0, DMAT)
  5200. }
  5201. }
  5202. }
  5203. Else
  5204. {
  5205. And (CHNF, 0x02, IRDY)
  5206. Store (PIO0, PIOT)
  5207. If (And (CHNF, 0x01))
  5208. {
  5209. Store (DMA0, DMAT)
  5210. }
  5211. }
  5212.  
  5213. If (LAnd (And (ID53, 0x04), And (ID88, 0xFF)))
  5214. {
  5215. Store (0x00, Local1)
  5216. And (ID88, 0xFF, Local2)
  5217. While (ShiftRight (Local2, Local1))
  5218. {
  5219. Increment (Local1)
  5220. }
  5221.  
  5222. Decrement (Local1)
  5223. GTFB (AT01, Or (0x40, Local1), Local7)
  5224. }
  5225.  
  5226. If (IRDY)
  5227. {
  5228. Store (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR,
  5229. 0x00, 0x00), Local1)
  5230. If (LEqual (Local1, Ones))
  5231. {
  5232. Store (0x04, Local1)
  5233. }
  5234.  
  5235. Subtract (0x04, Local1, Local1)
  5236. GTFB (AT01, Or (0x08, Local1), Local7)
  5237. }
  5238. Else
  5239. {
  5240. If (And (ID49, 0x0400))
  5241. {
  5242. GTFB (AT01, 0x01, Local7)
  5243. }
  5244. }
  5245.  
  5246. Release (GTFM)
  5247. Return (ATAB)
  5248. }
  5249.  
  5250. Method (RATA, 1, NotSerialized)
  5251. {
  5252. CreateByteField (Arg0, 0x00, CMDN)
  5253. Multiply (CMDN, 0x38, Local0)
  5254. CreateField (Arg0, 0x08, Local0, RETB)
  5255. Return (RETB)
  5256. }
  5257.  
  5258. Name (REGF, 0x01)
  5259. Method (_REG, 2, NotSerialized)
  5260. {
  5261. If (LEqual (Arg0, 0x02))
  5262. {
  5263. Store (Arg1, REGF)
  5264. }
  5265. }
  5266.  
  5267. Name (BAYD, 0x00)
  5268. Method (_STA, 0, NotSerialized)
  5269. {
  5270. Return (0x0F)
  5271. }
  5272.  
  5273. Method (GTM, 6, NotSerialized)
  5274. {
  5275. Store (Buffer (0x14) {}, Local0)
  5276. CreateDWordField (Local0, 0x00, PIO0)
  5277. CreateDWordField (Local0, 0x04, DMA0)
  5278. CreateDWordField (Local0, 0x08, PIO1)
  5279. CreateDWordField (Local0, 0x0C, DMA1)
  5280. CreateDWordField (Local0, 0x10, FLAG)
  5281. If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01
  5282. ))))
  5283. {
  5284. Store (0x0384, PIO0)
  5285. }
  5286. Else
  5287. {
  5288. Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  5289. Arg0, 0x3000), 0x0C), Local1)
  5290. Multiply (Subtract (0x09, Local1), 0x1E, PIO0)
  5291. }
  5292.  
  5293. If (And (Arg0, 0x4000))
  5294. {
  5295. If (LOr (And (Arg0, 0x80), LNot (And (Arg0, 0x10
  5296. ))))
  5297. {
  5298. Store (0x0384, PIO1)
  5299. }
  5300. Else
  5301. {
  5302. Add (And (Arg1, 0x03), ShiftRight (And (Arg1, 0x0C),
  5303. 0x02), Local1)
  5304. Multiply (Subtract (0x09, Local1), 0x1E, PIO1)
  5305. }
  5306. }
  5307. Else
  5308. {
  5309. Store (PIO0, PIO1)
  5310. }
  5311.  
  5312. If (And (Arg2, 0x01))
  5313. {
  5314. If (And (Arg5, 0x01))
  5315. {
  5316. Store (0x08, DMA0)
  5317. }
  5318. Else
  5319. {
  5320. Subtract (0x04, And (Arg3, 0x03), Local1)
  5321. If (And (Arg4, 0x01))
  5322. {
  5323. Multiply (Local1, 0x0F, DMA0)
  5324. }
  5325. Else
  5326. {
  5327. Multiply (Local1, 0x1E, DMA0)
  5328. }
  5329. }
  5330. }
  5331. Else
  5332. {
  5333. Store (PIO0, DMA0)
  5334. }
  5335.  
  5336. If (And (Arg0, 0x4000))
  5337. {
  5338. If (And (Arg2, 0x02))
  5339. {
  5340. If (And (Arg5, 0x02))
  5341. {
  5342. Store (0x08, DMA1)
  5343. }
  5344. Else
  5345. {
  5346. Subtract (0x04, ShiftRight (And (Arg3, 0x30), 0x04), Local1)
  5347. If (And (Arg4, 0x02))
  5348. {
  5349. Multiply (Local1, 0x0F, DMA1)
  5350. }
  5351. Else
  5352. {
  5353. Multiply (Local1, 0x1E, DMA1)
  5354. }
  5355. }
  5356. }
  5357. Else
  5358. {
  5359. Store (PIO1, DMA1)
  5360. }
  5361. }
  5362. Else
  5363. {
  5364. Store (DMA0, DMA1)
  5365. }
  5366.  
  5367. Store (Zero, FLAG)
  5368. If (And (Arg0, 0x01))
  5369. {
  5370. Or (FLAG, 0x10, FLAG)
  5371. }
  5372.  
  5373. If (And (Arg2, 0x01))
  5374. {
  5375. Or (FLAG, 0x01, FLAG)
  5376. }
  5377.  
  5378. If (And (Arg0, 0x02))
  5379. {
  5380. Or (FLAG, 0x02, FLAG)
  5381. }
  5382.  
  5383. If (And (Arg2, 0x02))
  5384. {
  5385. Or (FLAG, 0x04, FLAG)
  5386. }
  5387.  
  5388. If (And (Arg0, 0x20))
  5389. {
  5390. Or (FLAG, 0x08, FLAG)
  5391. }
  5392.  
  5393. Return (Local0)
  5394. }
  5395.  
  5396. Method (STMS, 3, NotSerialized)
  5397. {
  5398. Store (Buffer (0x18) {}, Local7)
  5399. CreateDWordField (Local7, 0x00, ITM)
  5400. CreateDWordField (Local7, 0x04, SIT)
  5401. CreateDWordField (Local7, 0x08, UDC)
  5402. CreateDWordField (Local7, 0x0C, UDT)
  5403. CreateDWordField (Local7, 0x10, ICF)
  5404. CreateDWordField (Local7, 0x14, A100)
  5405. Store (0x01, WPPE)
  5406. CreateDWordField (Arg0, 0x00, PIO0)
  5407. CreateDWordField (Arg0, 0x04, DMA0)
  5408. CreateDWordField (Arg0, 0x08, PIO1)
  5409. CreateDWordField (Arg0, 0x0C, DMA1)
  5410. CreateDWordField (Arg0, 0x10, FLAG)
  5411. Store (FLAG, Local4)
  5412. Store (0x4000, Local0)
  5413. Name (W49M, 0x00)
  5414. Name (W53M, 0x00)
  5415. Name (W62M, 0x00)
  5416. Name (W64M, 0x00)
  5417. Name (W88M, 0x00)
  5418. If (LEqual (SizeOf (Arg1), 0x0200))
  5419. {
  5420. CreateDWordField (Arg1, 0x00, W00A)
  5421. CreateDWordField (Arg1, 0x62, W49A)
  5422. CreateDWordField (Arg1, 0x6A, W53A)
  5423. CreateDWordField (Arg1, 0x7C, W62A)
  5424. CreateDWordField (Arg1, 0x80, W64A)
  5425. CreateDWordField (Arg1, 0xB0, W88A)
  5426. Store (W49A, W49M)
  5427. Store (W53A, W53M)
  5428. Store (W62A, W62M)
  5429. Store (W64A, W64M)
  5430. Store (W88A, W88M)
  5431. If (W00A)
  5432. {
  5433. Or (Local0, 0x8000, Local0)
  5434. }
  5435.  
  5436. If (LNot (And (W00A, 0x80)))
  5437. {
  5438. Or (Local0, 0x04, Local0)
  5439. }
  5440. }
  5441. Else
  5442. {
  5443. Store (0x00, W49M)
  5444. Store (0x00, W53M)
  5445. Store (0x00, W62M)
  5446. Store (0x00, W64M)
  5447. Store (0x00, W88M)
  5448. }
  5449.  
  5450. Name (W49S, 0x00)
  5451. Name (W53S, 0x00)
  5452. Name (W62S, 0x00)
  5453. Name (W64S, 0x00)
  5454. Name (W88S, 0x00)
  5455. If (LEqual (SizeOf (Arg2), 0x0200))
  5456. {
  5457. CreateDWordField (Arg2, 0x00, W00B)
  5458. CreateDWordField (Arg2, 0x62, W49B)
  5459. CreateDWordField (Arg2, 0x6A, W53B)
  5460. CreateDWordField (Arg2, 0x7C, W62B)
  5461. CreateDWordField (Arg2, 0x80, W64B)
  5462. CreateDWordField (Arg2, 0xB0, W88B)
  5463. Store (W49B, W49S)
  5464. Store (W53B, W53S)
  5465. Store (W62B, W62S)
  5466. Store (W64B, W64S)
  5467. Store (W88B, W88S)
  5468. If (W00B)
  5469. {
  5470. Or (Local0, 0x8000, Local0)
  5471. }
  5472.  
  5473. If (LNot (And (W00B, 0x80)))
  5474. {
  5475. Or (Local0, 0x40, Local0)
  5476. }
  5477. }
  5478. Else
  5479. {
  5480. Store (0x00, W49S)
  5481. Store (0x00, W53S)
  5482. Store (0x00, W62S)
  5483. Store (0x00, W64S)
  5484. Store (0x00, W88S)
  5485. }
  5486.  
  5487. Store (0x00, A100)
  5488. If (And (0x38, W88M))
  5489. {
  5490. If (And (0x20, W88M))
  5491. {
  5492. Store (0x08, DMA0)
  5493. Or (A100, 0x00100010, A100)
  5494. }
  5495. Else
  5496. {
  5497. If (And (0x10, W88M))
  5498. {
  5499. Store (0x1E, DMA0)
  5500. Or (A100, 0x10, A100)
  5501. }
  5502. Else
  5503. {
  5504. Store (0x2D, DMA0)
  5505. }
  5506. }
  5507. }
  5508. Else
  5509. {
  5510. If (And (0x07, W88M))
  5511. {
  5512. Or (0x0100, A100, A100)
  5513. If (And (0x04, W88M))
  5514. {
  5515. Store (0x3C, DMA0)
  5516. }
  5517. Else
  5518. {
  5519. If (And (0x02, W88M))
  5520. {
  5521. Store (0x5A, DMA0)
  5522. }
  5523. Else
  5524. {
  5525. Store (0x78, DMA0)
  5526. }
  5527. }
  5528. }
  5529. }
  5530.  
  5531. If (And (0x3F, W88S))
  5532. {
  5533. If (And (0x20, W88S))
  5534. {
  5535. Store (0x08, DMA1)
  5536. Or (A100, 0x00200020, A100)
  5537. }
  5538. Else
  5539. {
  5540. If (And (0x10, W88S))
  5541. {
  5542. Store (0x1E, DMA1)
  5543. Or (A100, 0x20, A100)
  5544. }
  5545. Else
  5546. {
  5547. Store (0x2D, DMA1)
  5548. }
  5549. }
  5550. }
  5551.  
  5552. If (LAnd (And (W49M, 0x0800), And (Local4, 0x02)))
  5553. {
  5554. Or (Local0, 0x02, Local0)
  5555. }
  5556.  
  5557. If (LLess (PIO0, 0x0384))
  5558. {
  5559. Or (Local0, 0x01, Local0)
  5560. }
  5561.  
  5562. If (LAnd (And (W49S, 0x0800), And (Local4, 0x08)))
  5563. {
  5564. Or (Local0, 0x20, Local0)
  5565. }
  5566.  
  5567. If (LLess (PIO1, 0x0384))
  5568. {
  5569. Or (Local0, 0x10, Local0)
  5570. }
  5571.  
  5572. If (And (Local4, 0x01))
  5573. {
  5574. Store (PIO0, Local1)
  5575. }
  5576. Else
  5577. {
  5578. Store (DMA0, Local1)
  5579. }
  5580.  
  5581. If (LGreaterEqual (Local1, 0xF0))
  5582. {
  5583. Or (Local0, 0x08, Local0)
  5584. }
  5585. Else
  5586. {
  5587. If (And (W53M, 0x02))
  5588. {
  5589. If (LAnd (And (W64M, 0x02), LLessEqual (Local1, 0x78)))
  5590. {
  5591. Or (Local0, 0x2301, Local0)
  5592. }
  5593. Else
  5594. {
  5595. If (LAnd (And (W64M, 0x01), LLessEqual (Local1, 0xB4)))
  5596. {
  5597. Or (Local0, 0x2101, Local0)
  5598. }
  5599. }
  5600. }
  5601. Else
  5602. {
  5603. Or (Local0, 0x1001, Local0)
  5604. }
  5605. }
  5606.  
  5607. Store (Local0, ITM)
  5608. Store (Zero, Local0)
  5609. If (And (Local4, 0x04))
  5610. {
  5611. Store (PIO1, Local1)
  5612. }
  5613. Else
  5614. {
  5615. Store (DMA1, Local1)
  5616. }
  5617.  
  5618. If (And (Local4, 0x10))
  5619. {
  5620. If (LGreaterEqual (Local1, 0xF0))
  5621. {
  5622. Or (0x80, ITM, ITM)
  5623. }
  5624. Else
  5625. {
  5626. Or (0x10, ITM, ITM)
  5627. If (And (W53S, 0x02))
  5628. {
  5629. If (LAnd (And (W64S, 0x02), LLessEqual (Local1, 0x78)))
  5630. {
  5631. Store (0x0B, Local0)
  5632. }
  5633. Else
  5634. {
  5635. If (LAnd (And (W64S, 0x01), LLessEqual (Local1, 0xB4)))
  5636. {
  5637. Store (0x09, Local0)
  5638. }
  5639. }
  5640. }
  5641. Else
  5642. {
  5643. Store (0x04, Local0)
  5644. }
  5645. }
  5646. }
  5647.  
  5648. Store (Local0, SIT)
  5649. Store (0x00, Local0)
  5650. If (LAnd (And (0x3F, W88M), And (Local4, 0x01)))
  5651. {
  5652. Or (Local0, 0x01, Local0)
  5653. }
  5654.  
  5655. If (And (Local4, 0x04))
  5656. {
  5657. Or (Local0, 0x02, Local0)
  5658. }
  5659.  
  5660. Store (Local0, UDC)
  5661. Store (0x00, Local0)
  5662. If (And (Local4, 0x01))
  5663. {
  5664. If (LLess (DMA0, 0x1E))
  5665. {
  5666. Or (A100, 0x1000, A100)
  5667. Or (Local0, 0x01, Local0)
  5668. }
  5669. Else
  5670. {
  5671. If (LLess (DMA0, 0x3C))
  5672. {
  5673. Divide (DMA0, 0x0F, , Local1)
  5674. }
  5675. Else
  5676. {
  5677. Divide (DMA0, 0x1E, , Local1)
  5678. }
  5679.  
  5680. Subtract (0x04, Local1, Local0)
  5681. }
  5682. }
  5683.  
  5684. If (And (Local4, 0x04))
  5685. {
  5686. If (LLess (DMA1, 0x1E))
  5687. {
  5688. Or (A100, 0x2000, A100)
  5689. Or (Local0, 0x10, Local0)
  5690. }
  5691. Else
  5692. {
  5693. If (LLess (DMA1, 0x3C))
  5694. {
  5695. Divide (DMA1, 0x0F, , Local1)
  5696. }
  5697. Else
  5698. {
  5699. Divide (DMA1, 0x1E, , Local1)
  5700. }
  5701.  
  5702. Subtract (0x04, Local1, Local1)
  5703. ShiftLeft (Local1, 0x04, Local1)
  5704. Or (Local0, Local1, Local0)
  5705. }
  5706. }
  5707.  
  5708. Store (Local0, UDT)
  5709. Store (0x00, Local0)
  5710. If (LLess (DMA0, 0x3C))
  5711. {
  5712. Or (Local0, 0x01, Local0)
  5713. }
  5714.  
  5715. If (LLess (DMA1, 0x3C))
  5716. {
  5717. Or (Local0, 0x02, Local0)
  5718. }
  5719.  
  5720. Store (Local0, ICF)
  5721. Return (Local7)
  5722. }
  5723.  
  5724. Method (GTF0, 7, NotSerialized)
  5725. {
  5726. Store (Buffer (0x07)
  5727. {
  5728. 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  5729. }, Local7)
  5730. CreateByteField (Local7, 0x01, MODE)
  5731. If (And (Arg2, 0x01))
  5732. {
  5733. If (And (Arg6, 0x01))
  5734. {
  5735. Store (0x45, MODE)
  5736. }
  5737. Else
  5738. {
  5739. And (Arg3, 0x03, Local0)
  5740. If (And (Arg4, 0x01))
  5741. {
  5742. Add (Local0, 0x02, Local0)
  5743. }
  5744.  
  5745. Or (Local0, 0x40, MODE)
  5746. }
  5747. }
  5748. Else
  5749. {
  5750. Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  5751. Arg0, 0x3000), 0x0C), Local0)
  5752. If (LGreaterEqual (Local0, 0x05))
  5753. {
  5754. Store (0x22, MODE)
  5755. }
  5756. Else
  5757. {
  5758. If (LGreaterEqual (Local0, 0x03))
  5759. {
  5760. Store (0x21, MODE)
  5761. }
  5762. Else
  5763. {
  5764. Store (0x20, MODE)
  5765. }
  5766. }
  5767. }
  5768.  
  5769. Concatenate (Local7, Local7, Local6)
  5770. If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01
  5771. ))))
  5772. {
  5773. If (And (Arg0, 0x02))
  5774. {
  5775. Store (0x00, MODE)
  5776. }
  5777. Else
  5778. {
  5779. Store (0x08, MODE)
  5780. }
  5781. }
  5782. Else
  5783. {
  5784. Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  5785. Arg0, 0x3000), 0x0C), Local0)
  5786. If (LGreaterEqual (Local0, 0x05))
  5787. {
  5788. Store (0x0C, MODE)
  5789. }
  5790. Else
  5791. {
  5792. If (LGreaterEqual (Local0, 0x03))
  5793. {
  5794. Store (0x0B, MODE)
  5795. }
  5796. Else
  5797. {
  5798. Store (0x0A, MODE)
  5799. }
  5800. }
  5801. }
  5802.  
  5803. Concatenate (Local6, Local7, Local5)
  5804. Return (Local5)
  5805. }
  5806.  
  5807. Name (B04, Buffer (0x04) {})
  5808. Name (B20, Buffer (0x04) {})
  5809. Name (B40, Buffer (0x04) {})
  5810. Device (PRIM)
  5811. {
  5812. Name (_ADR, 0x00)
  5813. Name (_PSC, 0x00)
  5814. Method (_PS0, 0, NotSerialized)
  5815. {
  5816. Store (0x00, _PSC)
  5817. }
  5818.  
  5819. Method (_PS3, 0, NotSerialized)
  5820. {
  5821. Store (0x03, _PSC)
  5822. }
  5823.  
  5824. Method (_GTM, 0, NotSerialized)
  5825. {
  5826. Store (Buffer (0x14)
  5827. {
  5828. 0x00
  5829. }, Local0)
  5830. Store (^^GTM (^^ITM0, ^^SIT0, ^^UDC0, ^^UDT0, ^^ICF0, ^^FSCB), Local0)
  5831. Return (Local0)
  5832. }
  5833.  
  5834. Method (_STM, 3, NotSerialized)
  5835. {
  5836. Store (GTF (0x00, Arg1, Arg0), ATA0)
  5837. Store (GTF (0x01, Arg2, Arg0), ATA1)
  5838. Store (^^STMS (Arg0, Arg1, Arg2), Local0)
  5839. CreateDWordField (Local0, 0x00, ITM)
  5840. CreateDWordField (Local0, 0x04, SIT)
  5841. CreateDWordField (Local0, 0x08, UDC)
  5842. CreateDWordField (Local0, 0x0C, UDT)
  5843. CreateDWordField (Local0, 0x10, ICF)
  5844. Store (ITM, ^^ITM0)
  5845. Store (SIT, ^^SIT0)
  5846. Store (UDC, ^^UDC0)
  5847. Store (UDT, ^^UDT0)
  5848. CreateDWordField (Local0, 0x14, A100)
  5849. Or (And (^^CB80, 0x0C), ShiftRight (And (0x30, A100),
  5850. 0x04), ^^CB80)
  5851. Or (And (^^FSCB, 0x0C), ShiftRight (And (0x3000, A100),
  5852. 0x0C), ^^FSCB)
  5853. Or (And (^^FATS, 0x0C), ShiftRight (And (0x00300000, A100),
  5854. 0x14), ^^FATS)
  5855. Store (ICF, ^^ICF0)
  5856. }
  5857.  
  5858. Device (MAST)
  5859. {
  5860. Name (_ADR, 0x00)
  5861. Name (H15F, Zero)
  5862. Method (_GTF, 0, NotSerialized)
  5863. {
  5864. Return (RATA (ATA0))
  5865. }
  5866. }
  5867. }
  5868.  
  5869. Device (SECN)
  5870. {
  5871. Name (_ADR, 0x01)
  5872. Name (FAST, 0x63)
  5873. Method (_STA, 0, NotSerialized)
  5874. {
  5875. If (ESID)
  5876. {
  5877. Return (0x0F)
  5878. }
  5879. Else
  5880. {
  5881. Return (0x08)
  5882. }
  5883. }
  5884.  
  5885. Name (_PSC, 0x00)
  5886. Method (_PS0, 0, NotSerialized)
  5887. {
  5888. Store (0x00, _PSC)
  5889. }
  5890.  
  5891. Method (_PS3, 0, NotSerialized)
  5892. {
  5893. Store (0x03, _PSC)
  5894. }
  5895.  
  5896. Method (_GTM, 0, NotSerialized)
  5897. {
  5898. Store (Buffer (0x14)
  5899. {
  5900. 0x00
  5901. }, Local0)
  5902. Store (^^FSCB, Local1)
  5903. ShiftRight (Local1, 0x02, Local1)
  5904. Store (^^GTM (^^ITM1, ^^SIT1, ^^UDC1, ^^UDT1, ^^ICF1, Local1), Local0)
  5905. Return (Local0)
  5906. }
  5907.  
  5908. Method (_STM, 3, NotSerialized)
  5909. {
  5910. Store (GTF (0x00, Arg1, Arg0), ATA2)
  5911. Store (GTF (0x01, Arg2, Arg0), ATA3)
  5912. Store (^^STMS (Arg0, Arg1, Arg2), Local0)
  5913. CreateDWordField (Local0, 0x00, ITM)
  5914. CreateDWordField (Local0, 0x04, SIT)
  5915. CreateDWordField (Local0, 0x08, UDC)
  5916. CreateDWordField (Local0, 0x0C, UDT)
  5917. CreateDWordField (Local0, 0x10, ICF)
  5918. Store (ITM, ^^ITM1)
  5919. Store (SIT, ^^SIT1)
  5920. Store (UDC, ^^UDC1)
  5921. Store (UDT, ^^UDT1)
  5922. CreateDWordField (Local0, 0x14, A100)
  5923. Or (And (^^CB80, 0x03), ShiftRight (And (0x30, A100),
  5924. 0x02), ^^CB80)
  5925. Or (And (^^FSCB, 0x03), ShiftRight (And (0x3000, A100),
  5926. 0x0A), ^^FSCB)
  5927. Or (And (^^FATS, 0x03), ShiftRight (And (0x00300000, A100),
  5928. 0x12), ^^FATS)
  5929. Store (ICF, ^^ICF1)
  5930. }
  5931.  
  5932. Device (BAY1)
  5933. {
  5934. Name (_ADR, 0x00)
  5935. Name (H15F, Zero)
  5936. Name (EJ0F, 0x00)
  5937. Method (_GTF, 0, NotSerialized)
  5938. {
  5939. Return (RATA (ATA2))
  5940. }
  5941.  
  5942. Method (_STA, 0, NotSerialized)
  5943. {
  5944. If (\_SB.PCI0.IDE0.ESID)
  5945. {
  5946. \_SB.PCI0.IDE0.SECN.CBAY ()
  5947. Store (^^BFLG, Local0)
  5948. If (LEqual (^^BNUM, 0x01))
  5949. {
  5950. If (And (Local0, 0x01))
  5951. {
  5952. If (\_SB.PCI0.LPC0.LV37)
  5953. {
  5954. Return (0x08)
  5955. }
  5956. Else
  5957. {
  5958. Return (0x0F)
  5959. }
  5960. }
  5961. Else
  5962. {
  5963. Return (0x08)
  5964. }
  5965. }
  5966. Else
  5967. {
  5968. If (LEqual (^^BNUM, 0x02))
  5969. {
  5970. If (\_SB.PCI0.LPC0.LV37)
  5971. {
  5972. Return (0x08)
  5973. }
  5974. Else
  5975. {
  5976. Return (0x0F)
  5977. }
  5978. }
  5979. Else
  5980. {
  5981. Return (0x08)
  5982. }
  5983. }
  5984. }
  5985. Else
  5986. {
  5987. Return (0x08)
  5988. }
  5989. }
  5990.  
  5991. Method (_EJ0, 1, NotSerialized)
  5992. {
  5993. If (Arg0)
  5994. {
  5995. If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  5996. {
  5997. Sleep (0x32)
  5998. }
  5999. Else
  6000. {
  6001. Store (0x01, ^^^SSIG)
  6002. Sleep (0x32)
  6003. Store (0xC000, ^^^ITM1)
  6004. Store (0x01, \_SB.PCI0.LPC0.LV37)
  6005. Sleep (0xC8)
  6006. Store (0x00, \_SB.PCI0.LPC0.LV39)
  6007. Sleep (0xC8)
  6008. }
  6009. }
  6010. }
  6011. }
  6012.  
  6013. Name (BNUM, 0x00)
  6014. Name (BFLG, 0x00)
  6015. Method (CBAY, 0, NotSerialized)
  6016. {
  6017. Store (0x00, BNUM)
  6018. Store (0x00, BFLG)
  6019. Store (\_SB.PCI0.LPC0.RBID, Local0)
  6020. If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
  6021. {
  6022. Increment (BNUM)
  6023. Or (BFLG, 0x01, BFLG)
  6024. }
  6025. }
  6026. }
  6027.  
  6028. Method (_PS0, 0, NotSerialized)
  6029. {
  6030. If (And (LEqual (_PSC, 0x03), LEqual (\_SB.STAT, 0x03)))
  6031. {
  6032. Store (0x89, \_SB.PCI0.LPC0.BCMD)
  6033. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  6034. Store (0xB0, P80H)
  6035. }
  6036.  
  6037. Store (0x00, _PSC)
  6038. }
  6039.  
  6040. Method (_PS3, 0, NotSerialized)
  6041. {
  6042. Store (0x03, _PSC)
  6043. Store (0xB3, P80H)
  6044. }
  6045.  
  6046. Name (_PSC, 0x00)
  6047. }
  6048.  
  6049. Device (USB1)
  6050. {
  6051. Name (_ADR, 0x001D0000)
  6052. OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
  6053. Field (USBO, ByteAcc, NoLock, Preserve)
  6054. {
  6055. RSEN, 2
  6056. }
  6057.  
  6058. Name (_PRW, Package (0x02)
  6059. {
  6060. 0x03,
  6061. 0x03
  6062. })
  6063. Method (_PSW, 1, NotSerialized)
  6064. {
  6065. If (Arg0)
  6066. {
  6067. Store (0x03, \_SB.PCI0.USB1.RSEN)
  6068. }
  6069. Else
  6070. {
  6071. Store (0x00, \_SB.PCI0.USB1.RSEN)
  6072. }
  6073. }
  6074. }
  6075.  
  6076. Device (USB2)
  6077. {
  6078. Name (_ADR, 0x001D0001)
  6079. OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
  6080. Field (USBO, ByteAcc, NoLock, Preserve)
  6081. {
  6082. RSEN, 2
  6083. }
  6084.  
  6085. Name (_PRW, Package (0x02)
  6086. {
  6087. 0x04,
  6088. 0x03
  6089. })
  6090. Method (_PSW, 1, NotSerialized)
  6091. {
  6092. If (Arg0)
  6093. {
  6094. Store (0x03, \_SB.PCI0.USB2.RSEN)
  6095. }
  6096. Else
  6097. {
  6098. Store (0x00, \_SB.PCI0.USB2.RSEN)
  6099. }
  6100. }
  6101. }
  6102.  
  6103. Device (USB3)
  6104. {
  6105. Name (_ADR, 0x001D0002)
  6106. OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
  6107. Field (USBO, ByteAcc, NoLock, Preserve)
  6108. {
  6109. RSEN, 2
  6110. }
  6111.  
  6112. Name (_PRW, Package (0x02)
  6113. {
  6114. 0x0C,
  6115. 0x03
  6116. })
  6117. Method (_PSW, 1, NotSerialized)
  6118. {
  6119. If (Arg0)
  6120. {
  6121. Store (0x03, \_SB.PCI0.USB3.RSEN)
  6122. }
  6123. Else
  6124. {
  6125. Store (0x00, \_SB.PCI0.USB3.RSEN)
  6126. }
  6127. }
  6128. }
  6129. }
  6130.  
  6131. Device (LID)
  6132. {
  6133. Name (_HID, EisaId ("PNP0C0D"))
  6134. Name (LSTS, 0x00)
  6135. Method (_LID, 0, NotSerialized)
  6136. {
  6137. If (\_SB.OKEC)
  6138. {
  6139. If (\_SB.PCI0.LPC0.EC0.LIDS)
  6140. {
  6141. Store (Zero, LSTS)
  6142. }
  6143. Else
  6144. {
  6145. Store (One, LSTS)
  6146. }
  6147. }
  6148. Else
  6149. {
  6150. Store (Zero, LSTS)
  6151. }
  6152.  
  6153. Return (LSTS)
  6154. }
  6155. }
  6156.  
  6157. Scope (\_TZ)
  6158. {
  6159. Name (TPL, 0x0CA0)
  6160. Name (TAC1, 0x0D0E)
  6161. Name (TAC0, 0x0D54)
  6162. Name (TPAS, 0x0E44)
  6163. Name (TPC, 0x0E94)
  6164. Name (TPTM, 0x0C3C)
  6165. Name (TBSE, 0x0AAC)
  6166. Name (LTMP, 0x0CA0)
  6167. Name (TVAR, Buffer (0x05)
  6168. {
  6169. 0x00, 0x20, 0x1F, 0x0C, 0x1F
  6170. })
  6171. CreateByteField (TVAR, 0x00, PLCY)
  6172. CreateWordField (TVAR, 0x01, CTOS)
  6173. CreateWordField (TVAR, 0x03, CTHY)
  6174. Device (FAN0)
  6175. {
  6176. Name (_HID, EisaId ("PNP0C0B"))
  6177. Name (_UID, 0x01)
  6178. Name (_PR0, Package (0x01)
  6179. {
  6180. PFN0
  6181. })
  6182. Method (_PS0, 0, NotSerialized)
  6183. {
  6184. Store ("Low Speed FAN - _PS0", Debug)
  6185. }
  6186.  
  6187. Method (_PS3, 0, NotSerialized)
  6188. {
  6189. Store ("Low Speed FAN - _PS3", Debug)
  6190. }
  6191. }
  6192.  
  6193. PowerResource (PFN0, 0x00, 0x0000)
  6194. {
  6195. Name (FNS1, 0x00)
  6196. Name (FFST, 0x01)
  6197. Method (_STA, 0, NotSerialized)
  6198. {
  6199. Store (FNS1, Local1)
  6200. Return (Local1)
  6201. }
  6202.  
  6203. Method (_ON, 0, NotSerialized)
  6204. {
  6205. Store (0x01, FNS1)
  6206. If (\_TZ.PFN1.FNS2)
  6207. {
  6208. Store ("FAN 1 (High speed already turn on) ", Debug)
  6209. }
  6210. Else
  6211. {
  6212. If (\_SB.OKEC)
  6213. {
  6214. Store (0xB4, \_SB.PCI0.LPC0.EC0.FSPD)
  6215. Store (0x01, \_SB.PCI0.LPC0.EC0.FPR1)
  6216. }
  6217. }
  6218.  
  6219. If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6220. {
  6221. \_TZ.THRM._SCP (0x01)
  6222. }
  6223. }
  6224.  
  6225. Method (_OFF, 0, NotSerialized)
  6226. {
  6227. Store (0x00, FNS1)
  6228. If (LEqual (SizeOf (\_OS), 0x14))
  6229. {
  6230. If (\_SB.OKEC)
  6231. {
  6232. If (\_TZ.PFN1.FNS2)
  6233. {
  6234. Store (One, \_SB.PCI0.LPC0.EC0.FPR1)
  6235. }
  6236. Else
  6237. {
  6238. Store (Zero, \_SB.PCI0.LPC0.EC0.FPR1)
  6239. }
  6240. }
  6241. }
  6242. Else
  6243. {
  6244. If (LLess (FFST, 0x02))
  6245. {
  6246. Store (0x86, \_SB.PCI0.LPC0.BCMD)
  6247. Store (0x00, \_SB.PCI0.LPC0.SMIC)
  6248. Increment (FFST)
  6249. }
  6250. Else
  6251. {
  6252. If (\_SB.OKEC)
  6253. {
  6254. Store (0x00, \_SB.PCI0.LPC0.EC0.FPR1)
  6255. }
  6256. }
  6257. }
  6258.  
  6259. If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6260. {
  6261. \_TZ.THRM._SCP (0x01)
  6262. }
  6263. }
  6264. }
  6265.  
  6266. Device (FAN1)
  6267. {
  6268. Name (_HID, EisaId ("PNP0C0B"))
  6269. Name (_UID, 0x02)
  6270. Name (_PR0, Package (0x02)
  6271. {
  6272. PFN0,
  6273. PFN1
  6274. })
  6275. Method (_PS0, 0, NotSerialized)
  6276. {
  6277. Store ("High Speed FAN - _PS0", Debug)
  6278. }
  6279.  
  6280. Method (_PS3, 0, NotSerialized)
  6281. {
  6282. Store ("High Speed FAN - _PS3", Debug)
  6283. }
  6284. }
  6285.  
  6286. PowerResource (PFN1, 0x00, 0x0000)
  6287. {
  6288. Name (FNS2, 0x00)
  6289. Method (_STA, 0, NotSerialized)
  6290. {
  6291. Return (FNS2)
  6292. }
  6293.  
  6294. Method (_ON, 0, NotSerialized)
  6295. {
  6296. Store (0x01, FNS2)
  6297. If (\_SB.OKEC)
  6298. {
  6299. Store (0xFF, \_SB.PCI0.LPC0.EC0.FSPD)
  6300. Store (0x01, \_SB.PCI0.LPC0.EC0.FPR1)
  6301. }
  6302.  
  6303. If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6304. {
  6305. \_TZ.THRM._SCP (0x01)
  6306. }
  6307. }
  6308.  
  6309. Method (_OFF, 0, NotSerialized)
  6310. {
  6311. Store (Zero, FNS2)
  6312. Store (0x00, FNS2)
  6313. If (\_TZ.PFN0.FNS1)
  6314. {
  6315. If (\_SB.OKEC)
  6316. {
  6317. Store (0xB4, \_SB.PCI0.LPC0.EC0.FSPD)
  6318. Store (0x01, \_SB.PCI0.LPC0.EC0.FPR1)
  6319. }
  6320. }
  6321. Else
  6322. {
  6323. If (\_SB.OKEC)
  6324. {
  6325. Store (0x00, \_SB.PCI0.LPC0.EC0.FPR1)
  6326. }
  6327. }
  6328.  
  6329. If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6330. {
  6331. \_TZ.THRM._SCP (0x01)
  6332. }
  6333. }
  6334. }
  6335.  
  6336. ThermalZone (THRM)
  6337. {
  6338. Name (_AL0, Package (0x01)
  6339. {
  6340. FAN1
  6341. })
  6342. Method (_AC0, 0, NotSerialized)
  6343. {
  6344. Return (TAC0)
  6345. }
  6346.  
  6347. Name (_AL1, Package (0x01)
  6348. {
  6349. FAN0
  6350. })
  6351. Method (_AC1, 0, NotSerialized)
  6352. {
  6353. Return (TAC1)
  6354. }
  6355.  
  6356. Method (_CRT, 0, NotSerialized)
  6357. {
  6358. Return (TPC)
  6359. }
  6360.  
  6361. Method (_PSV, 0, NotSerialized)
  6362. {
  6363. Return (TPAS)
  6364. }
  6365.  
  6366. Name (_TSP, 0x64)
  6367. Method (_TMP, 0, NotSerialized)
  6368. {
  6369. If (\_SB.OKEC)
  6370. {
  6371. Store (\_SB.PCI0.LPC0.EC0.CTMP, Local1)
  6372. Store ("Dothan B1 CPU temperature offset value = ", Debug)
  6373. Store (DOFF, Debug)
  6374. Store (Local1, Debug)
  6375. Store ("Current Temperature is ----------- ", Debug)
  6376. Store (Local1, Debug)
  6377. Add (Multiply (Local1, 0x0A), TBSE, Local1)
  6378. }
  6379. Else
  6380. {
  6381. Store (LTMP, Local1)
  6382. }
  6383.  
  6384. Return (Local1)
  6385. }
  6386.  
  6387. Name (_PSL, Package (0x01)
  6388. {
  6389. \_PR.CPU0
  6390. })
  6391. Name (_TC1, 0x02)
  6392. Name (_TC2, 0x03)
  6393. Method (_SCP, 1, NotSerialized)
  6394. {
  6395. Store (Zero, PLCY)
  6396. If (\_TZ.PFN0.FNS1)
  6397. {
  6398. If (LEqual (\_TZ.PFN1.FNS2, 0x00))
  6399. {
  6400. Store (0x0D22, TAC1)
  6401. Store (0x0D86, TAC0)
  6402. }
  6403. Else
  6404. {
  6405. Store (0x0D22, TAC1)
  6406. Store (0x0D40, TAC0)
  6407. }
  6408. }
  6409. Else
  6410. {
  6411. If (\_TZ.PFN1.FNS2)
  6412. {
  6413. Store (0x0D22, TAC1)
  6414. Store (0x0D40, TAC0)
  6415. }
  6416. Else
  6417. {
  6418. Store (0x0D40, TAC1)
  6419. Store (0x0D86, TAC0)
  6420. }
  6421. }
  6422.  
  6423. Store (0x0E44, TPAS)
  6424. Notify (\_TZ.THRM, 0x81)
  6425. }
  6426. }
  6427. }
  6428.  
  6429. Device (SLPB)
  6430. {
  6431. Name (_HID, EisaId ("PNP0C0E"))
  6432. }
  6433.  
  6434. OperationRegion (EXCO, SystemIO, 0x72, 0x02)
  6435. Field (EXCO, ByteAcc, NoLock, Preserve)
  6436. {
  6437. INDX, 8,
  6438. DATA, 8
  6439. }
  6440.  
  6441. IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
  6442. {
  6443. Offset (0x20),
  6444. ACST, 1,
  6445. ECOK, 1,
  6446. WLES, 1,
  6447. BTES, 1,
  6448. W2KF, 2,
  6449. S4WP, 1,
  6450. FLA7, 1,
  6451. LSFG, 1,
  6452. LD10, 1,
  6453. PS2M, 1,
  6454. DISD, 3,
  6455. OVRL, 1,
  6456. Offset (0x22),
  6457. SLEE, 8,
  6458. BPFG, 8,
  6459. PWST, 8,
  6460. DATS, 8,
  6461. CM26, 8,
  6462. CM27, 8,
  6463. CM28, 16,
  6464. CM2A, 16,
  6465. F4FG, 1,
  6466. Offset (0x30),
  6467. CM30, 8,
  6468. CM31, 8,
  6469. CM32, 8
  6470. }
  6471. }
  6472. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement