Advertisement
nikazim

X7SBE acpidump

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