DefinitionBlock ("dsdt.aml", "DSDT", 1, "A7635", "A7635100", 0x00000100) { Scope (_PR) { Processor (P001, 0x01, 0x00000810, 0x06) { } Alias (P001, CPU1) Processor (P002, 0x02, 0x00000000, 0x00) { } Alias (P002, CPU2) Processor (P003, 0x03, 0x00000000, 0x00) { } Alias (P003, CPU3) Processor (P004, 0x04, 0x00000000, 0x00) { } Alias (P004, CPU4) Processor (P005, 0x05, 0x00000000, 0x00) { } Alias (P005, CPU5) Processor (P006, 0x06, 0x00000000, 0x00) { } Alias (P006, CPU6) Processor (P007, 0x07, 0x00000000, 0x00) { } Alias (P007, CPU7) Processor (P008, 0x08, 0x00000000, 0x00) { } Alias (P008, CPU8) } Name (DP80, 0x80) Name (DP90, 0x90) Name (SWSP, 0xB2) Name (SPIO, 0x4E) Name (IOHB, 0x0A00) Name (IOHL, 0xE0) Name (IOVB, 0x0AE0) Name (IOVL, 0x10) Name (TEVT, 0x23) Name (APIC, One) Name (SMIP, 0xB2) Name (PMBS, 0x0800) Name (PMLN, 0x80) Name (GPBS, 0x0500) Name (GPLN, 0x80) Name (SMBS, Zero) Name (SMBL, Zero) Name (PM30, 0x0830) Name (SUSW, 0xFF) Name (TPBA, 0xFED40000) Name (TPBL, 0x5000) Name (TOBS, 0x0860) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Name (LIDS, One) Name (CHST, 0x0B) Name (DVMT, 0x05) Name (PCIB, 0xE0000000) Name (PCIL, 0x10000000) Name (PEHP, One) Name (SHPC, Zero) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (SMIT, 0xB2) Name (CMRQ, 0xE0) Name (CMER, 0xE1) Name (CMOR, 0xE3) OperationRegion (BIOS, SystemMemory, 0xBD78E064, 0xFF) Field (BIOS, ByteAcc, NoLock, Preserve) { SS1, 1, SS2, 1, SS3, 1, SS4, 1, Offset (0x01), IOST, 16, TOPM, 32, ROMS, 32, MG1B, 32, MG1L, 32, MG2B, 32, MG2L, 32, Offset (0x1C), DMAX, 8, HPTA, 32, CPB0, 32, CPB1, 32, CPB2, 32, CPB3, 32, ASSB, 8, AOTB, 8, AAXB, 32, SMIF, 8, DTSE, 8, DTS1, 8, DTS2, 8, MPEN, 8, TPMF, 8, MG3B, 32, MG3L, 32, MH1B, 32, MH1L, 32, OSTP, 8, M4BL, 32, M4BH, 32, M4LL, 32, M4LH, 32 } Method (RRIO, 4, NotSerialized) { Store ("RRIO", Debug) } Method (RDMA, 3, NotSerialized) { Store ("rDMA", Debug) } Name (PICM, Zero) Method (_PIC, 1, NotSerialized) { If (Arg0) { Store (0xAA, DBG8) } Else { Store (0xAC, DBG8) } Store (Arg0, PICM) } Name (OSVR, Ones) Method (OSFL, 0, NotSerialized) { If (LNotEqual (OSVR, Ones)) { Return (OSVR) } Name (TTT0, Zero) Store (OSYS (), TTT0) If (LEqual (TTT0, One)) { Store (0x03, OSVR) } Else { If (LEqual (TTT0, 0x10)) { Store (One, OSVR) } Else { If (LEqual (TTT0, 0x11)) { Store (0x02, OSVR) } Else { If (LEqual (TTT0, 0x12)) { Store (0x04, OSVR) } Else { If (LEqual (TTT0, 0x13)) { Store (Zero, OSVR) } Else { If (LEqual (TTT0, 0x14)) { Store (Zero, OSVR) } Else { If (LEqual (TTT0, 0x15)) { Store (Zero, OSVR) } } } } } } } Return (OSVR) } Method (MCTH, 2, NotSerialized) { If (LLess (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Add (SizeOf (Arg0), One, Local0) Name (BUF0, Buffer (Local0) {}) Name (BUF1, Buffer (Local0) {}) Store (Arg0, BUF0) Store (Arg1, BUF1) While (Local0) { Decrement (Local0) If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index ( BUF1, Local0)))) { Return (Zero) } } Return (One) } Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Store (Arg0, Index (PRWP, Zero)) Store (ShiftLeft (SS1, One), Local0) Or (Local0, ShiftLeft (SS2, 0x02), Local0) Or (Local0, ShiftLeft (SS3, 0x03), Local0) Or (Local0, ShiftLeft (SS4, 0x04), Local0) If (And (ShiftLeft (One, Arg1), Local0)) { Store (Arg1, Index (PRWP, One)) } Else { ShiftRight (Local0, One, Local0) If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { FindSetLeftBit (Local0, Index (PRWP, One)) } Else { FindSetRightBit (Local0, Index (PRWP, One)) } } Return (PRWP) } Name (WAKP, Package (0x02) { Zero, Zero }) OperationRegion (DEB0, SystemIO, DP80, One) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, DP90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Method (OSYS, 0, NotSerialized) { Store (0x10, Local0) If (CondRefOf (_OSI, Local1)) { If (_OSI ("Windows 2000")) { Store (0x12, Local0) } If (_OSI ("Windows 2001")) { Store (0x13, Local0) } If (_OSI ("Windows 2001 SP1")) { Store (0x13, Local0) } If (_OSI ("Windows 2001 SP2")) { Store (0x13, Local0) } If (_OSI ("Windows 2001.1")) { Store (0x14, Local0) } If (_OSI ("Windows 2001.1 SP1")) { Store (0x14, Local0) } If (_OSI ("Windows 2006")) { Store (0x15, Local0) } } Else { If (MCTH (_OS, "Microsoft Windows NT")) { Store (0x12, Local0) } Else { If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x11, Local0) } } } Return (Local0) } Scope (_SB) { Name (PR00, Package (0x2A) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0005FFFF, One, LNKB, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0006FFFF, One, LNKB, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0018FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero } }) Name (AR00, Package (0x2A) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0018FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 } }) Name (PR20, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR20, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR21, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR21, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR22, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR22, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR23, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR23, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR24, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR24, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR25, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR25, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR26, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR26, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR27, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR27, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR1E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR1E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12,14,15} }) Name (PRSB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5} }) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) { Return (BN00 ()) } Name (_UID, Zero) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00) } Return (PR00) } Device (IOH) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, 0x0A) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFC000000, // Address Base 0x01000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFD000000, // Address Base 0x01000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFE000000, // Address Base 0x00C00000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED14000, // Address Base 0x00006000, // Address Length ) }) } Method (NPTS, 1, NotSerialized) { } Method (NWAK, 1, NotSerialized) { } Device (P0P1) { Name (_ADR, 0x00010000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (P0P3) { Name (_ADR, 0x00030000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (P0P4) { Name (_ADR, 0x00040000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (P0P5) { Name (_ADR, 0x00050000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (P0P6) { Name (_ADR, 0x00060000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (BR1E) { Name (_ADR, 0x001E0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0B, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR1E) } Return (PR1E) } } Device (SBRG) { Name (_ADR, 0x001F0000) Device (IELK) { Name (_HID, "AWY0001") OperationRegion (RXA0, PCI_Config, 0xA0, 0x20) Field (RXA0, ByteAcc, NoLock, Preserve) { , 9, PBLV, 1, Offset (0x10), , 1, PBMS, 1, , 1, PMCS, 1, ECNS, 1, Offset (0x11), ECT1, 16, ELEN, 1, Offset (0x14) } Method (\_GPE._L0A, 0, NotSerialized) { Notify (\_SB.PCI0.SBRG.IELK, 0x81) Store (One, \_SB.PCI0.SBRG.IELK.PMCS) } Method (_STA, 0, NotSerialized) { If (ELEN) { Return (0x0F) } Else { Return (Zero) } } Method (SMOD, 1, NotSerialized) { } Method (GPBS, 0, NotSerialized) { Return (XOr (PBLV, One)) } } Method (SPTS, 1, NotSerialized) { Store (One, PS1S) Store (One, PS1E) Store (One, SLPS) } Method (SWAK, 1, NotSerialized) { Store (Zero, SLPS) Store (Zero, PS1E) If (LAnd (LEqual (Arg0, One), RTCS)) {} Else { If (LAnd (LEqual (Arg0, 0x03), BRTC)) {} Else { Notify (PWRB, 0x02) } } } OperationRegion (APMP, SystemIO, SMIP, 0x02) Field (APMP, ByteAcc, NoLock, Preserve) { APMC, 8, APMS, 8 } Field (APMP, ByteAcc, NoLock, Preserve) { Offset (0x01), , 1, BRTC, 1 } OperationRegion (PMS0, SystemIO, PMBS, 0x04) Field (PMS0, ByteAcc, NoLock, Preserve) { , 10, RTCS, 1, , 4, WAKS, 1, Offset (0x03), PWBT, 1, Offset (0x04) } OperationRegion (SMIE, SystemIO, PM30, 0x08) Field (SMIE, ByteAcc, NoLock, Preserve) { , 4, PS1E, 1, , 31, PS1S, 1, Offset (0x08) } Scope (\_SB) { Name (SLPS, Zero) Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Method (_STA, 0, NotSerialized) { If (LNotEqual (SUSW, 0xFF)) { Return (0x0F) } Return (Zero) } Method (SBEV, 0, NotSerialized) { If (SLPS) { Notify (SLPB, 0x02) } Else { Notify (SLPB, 0x80) } } Method (\_GPE._L1B, 0, NotSerialized) { \_SB.SLPB.SBEV () } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x1B, 0x04 }) } } } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (DMAD) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0087, // Range Minimum 0x0087, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0089, // Range Minimum 0x0089, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x008F, // Range Minimum 0x008F, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x00, // Alignment 0x20, // Length ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x00, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CID, EisaId ("PNP030B")) Method (_STA, 0, NotSerialized) { ShiftLeft (One, 0x0A, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) } Method (PS2K._PRW, 0, NotSerialized) { Return (GPRW (0x1D, 0x04)) } Device (PS2M) { Name (_HID, EisaId ("PNP0F03")) Name (_CID, EisaId ("PNP0F13")) Method (_STA, 0, NotSerialized) { ShiftLeft (One, 0x0C, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (Zero) } Name (M2R0, ResourceTemplate () { IRQNoFlags () {12} }) Name (M2R1, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x01, // Length ) IRQNoFlags () {12} }) Method (_CRS, 0, NotSerialized) { ShiftLeft (One, 0x0A, Local0) If (And (IOST, Local0)) { Return (M2R0) } Else { Return (M2R1) } } } Method (PS2M._PRW, 0, NotSerialized) { Return (GPRW (0x1D, 0x04)) } Device (SIOR) { Name (_HID, EisaId ("PNP0C02")) Method (_UID, 0, NotSerialized) { Return (SPIO) } Name (CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y00) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y01) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y02) }) Method (_CRS, 0, NotSerialized) { If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater (SPIO, 0xF0))) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._MIN, GP10) CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._MAX, GP11) CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._LEN, GPL1) Store (SPIO, GP10) Store (SPIO, GP11) Store (0x02, GPL1) } If (IOHB) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y01._MIN, GP20) CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y01._MAX, GP21) CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y01._LEN, GPL2) Store (IOHB, GP20) Store (IOHB, GP21) Store (IOHL, GPL2) } If (IOVB) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y02._MIN, GP30) CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y02._MAX, GP31) CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y02._LEN, GPL3) Store (IOVB, GP30) Store (IOVB, GP31) Store (IOVL, GPL3) } Return (CRS) } } Name (DCAT, Package (0x16) { One, 0x02, 0x03, Zero, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }) Method (ENFG, 1, NotSerialized) { Store (0x87, INDX) Store (0x87, INDX) Store (Arg0, LDN) } Method (EXFG, 0, NotSerialized) { Store (0xAA, INDX) } Method (LPTM, 1, NotSerialized) { ENFG (CGLD (Arg0)) And (OPT0, 0x02, Local0) EXFG () Return (Local0) } Method (UHID, 1, NotSerialized) { If (LEqual (Arg0, One)) { ENFG (CGLD (Arg0)) And (OPT1, 0x18, Local0) EXFG () If (Local0) { Return (0x1005D041) } } Return (0x0105D041) } Name (KBFG, One) Name (MSFG, One) Name (U1FG, One) Name (U2FG, One) Method (PS2K._PSW, 1, NotSerialized) { If (LNot (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))) { If (Arg0) { Store (One, KBFG) } Else { Store (Zero, KBFG) } } } Method (PS2M._PSW, 1, NotSerialized) { If (LNot (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))) { If (Arg0) { Store (One, MSFG) } Else { Store (Zero, MSFG) } } } Method (SIOS, 1, NotSerialized) { Store ("SIOS", Debug) ENFG (0x0A) And (OPT0, 0x9F, OPT0) If (KBFG) { Or (OPT0, 0x20, OPT0) } If (MSFG) { Or (OPT0, 0x40, OPT0) } Store (0xFF, OPT1) Store (One, ACTR) EXFG () } Method (SIOW, 1, NotSerialized) { Store ("SIOW", Debug) } Method (SIOH, 0, NotSerialized) { Store ("SIOH", Debug) ENFG (0x0A) And (OPT0, 0x9F, OPT0) Store (Zero, ACTR) Store (OPT1, Local1) Store (Local1, OPT1) EXFG () If (LAnd (Local1, 0x20)) { Notify (PS2K, 0x02) } If (LAnd (Local1, 0x40)) { Notify (PS2M, 0x02) } If (LAnd (Local1, 0x10)) { Store (TEVT, TSMC) } } OperationRegion (TTSM, SystemIO, SWSP, One) Field (TTSM, ByteAcc, NoLock, Preserve) { TSMC, 8 } OperationRegion (IOID, SystemIO, SPIO, 0x02) Field (IOID, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x07), LDN, 8, Offset (0x22), FDCP, 1, , 2, LPTP, 1, URAP, 1, URBP, 1, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, IOH2, 8, IOL2, 8, Offset (0x70), INTR, 8, Offset (0x74), DMCH, 8, Offset (0xE0), CRE0, 8, CRE1, 8, CRE2, 8, CRE3, 8, CRE4, 8, Offset (0xF0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, OPT4, 8, OPT5, 8 } Method (CGLD, 1, NotSerialized) { Return (DerefOf (Index (DCAT, Arg0))) } Method (DSTA, 1, NotSerialized) { ENFG (CGLD (Arg0)) Store (ACTR, Local0) EXFG () If (LEqual (Local0, 0xFF)) { Return (Zero) } And (Local0, One, Local0) Or (IOST, ShiftLeft (Local0, Arg0), IOST) If (Local0) { Return (0x0F) } Else { If (And (ShiftLeft (One, Arg0), IOST)) { Return (0x0D) } Else { Return (Zero) } } } Method (DCNT, 2, NotSerialized) { ENFG (CGLD (Arg0)) ShiftLeft (IOAH, 0x08, Local1) Or (IOAL, Local1, Local1) If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03, Local1), Zero))) { RDMA (Arg0, Arg1, Increment (Local1)) } Store (Arg1, ACTR) RRIO (Arg0, Arg1, Local1, 0x08) EXFG () } Name (CRS1, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y05) IRQNoFlags (_Y03) {} DMA (Compatibility, NotBusMaster, Transfer8, _Y04) {} }) CreateWordField (CRS1, \_SB.PCI0.SBRG._Y03._INT, IRQM) CreateByteField (CRS1, \_SB.PCI0.SBRG._Y04._DMA, DMAM) CreateWordField (CRS1, \_SB.PCI0.SBRG._Y05._MIN, IO11) CreateWordField (CRS1, \_SB.PCI0.SBRG._Y05._MAX, IO12) CreateByteField (CRS1, \_SB.PCI0.SBRG._Y05._LEN, LEN1) Name (CRS2, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y08) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y09) IRQNoFlags (_Y06) {6} DMA (Compatibility, NotBusMaster, Transfer8, _Y07) {2} }) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y06._INT, IRQE) CreateByteField (CRS2, \_SB.PCI0.SBRG._Y07._DMA, DMAE) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y08._MIN, IO21) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y08._MAX, IO22) CreateByteField (CRS2, \_SB.PCI0.SBRG._Y08._LEN, LEN2) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y09._MIN, IO31) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y09._MAX, IO32) CreateByteField (CRS2, \_SB.PCI0.SBRG._Y09._LEN, LEN3) Method (DCRS, 2, NotSerialized) { ENFG (CGLD (Arg0)) ShiftLeft (IOAH, 0x08, IO11) Or (IOAL, IO11, IO11) Store (IO11, IO12) Subtract (FindSetRightBit (IO11), One, Local0) ShiftLeft (One, Local0, LEN1) If (INTR) { ShiftLeft (One, INTR, IRQM) } Else { Store (Zero, IRQM) } If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero))) { Store (Zero, DMAM) } Else { And (DMCH, 0x03, Local1) ShiftLeft (One, Local1, DMAM) } EXFG () Return (CRS1) } Method (DSRS, 2, NotSerialized) { CreateWordField (Arg0, 0x09, IRQM) CreateByteField (Arg0, 0x0C, DMAM) CreateWordField (Arg0, 0x02, IO11) ENFG (CGLD (Arg1)) ShiftLeft (IOAH, 0x08, Local1) Or (IOAL, Local1, Local1) RRIO (Arg1, Zero, Local1, 0x08) RRIO (Arg1, One, IO11, 0x08) And (IO11, 0xFF, IOAL) ShiftRight (IO11, 0x08, IOAH) If (IRQM) { FindSetRightBit (IRQM, Local0) Subtract (Local0, One, INTR) } Else { Store (Zero, INTR) } If (DMAM) { FindSetRightBit (DMAM, Local0) Subtract (Local0, One, DMCH) } Else { Store (0x04, DMCH) } EXFG () DCNT (Arg1, One) } Device (RMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x10) Name (CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x00, // Alignment 0x0C, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0044, // Range Minimum 0x0044, // Range Maximum 0x00, // Alignment 0x1C, // Length ) IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x00, // Alignment 0x0B, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x00, // Alignment 0x0E, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0088, // Range Minimum 0x0088, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x008C, // Range Minimum 0x008C, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0A) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0B) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0C) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED45000, // Address Base 0x00045000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y0D) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y0E) }) Method (_CRS, 0, NotSerialized) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0A._MIN, GP00) CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0A._MAX, GP01) CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0A._LEN, GP0L) Store (PMBS, GP00) Store (PMBS, GP01) Store (PMLN, GP0L) If (SMBS) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0B._MIN, GP10) CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0B._MAX, GP11) CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0B._LEN, GP1L) Store (SMBS, GP10) Store (SMBS, GP11) Store (SMBL, GP1L) } If (GPBS) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._MIN, GP20) CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._MAX, GP21) CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._LEN, GP2L) Store (GPBS, GP20) Store (GPBS, GP21) Store (GPLN, GP2L) } CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0D._LEN, TML1) CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0D._BAS, TMB1) CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0E._LEN, TML2) CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0E._BAS, TMB2) Store (0xFED20000, TMB1) Subtract (TPBA, 0xFED20000, TML1) If (TPMF) { Add (TPBA, TPBL, TMB2) } Else { Add (TPBA, Zero, TMB2) } Subtract (0xFED90000, TMB2, TML2) Return (CRS) } } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y0F) }) OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04) Field (LPCR, AnyAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1, Offset (0x04) } Method (_STA, 0, NotSerialized) { If (LEqual (OSFL (), Zero)) { If (HPTE) { Return (0x0F) } } Else { If (HPTE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT) Multiply (HPTS, 0x1000, Local0) Add (Local0, 0xFED00000, HPT) Return (CRS) } } OperationRegion (RX80, PCI_Config, Zero, 0xFF) Field (RX80, ByteAcc, NoLock, Preserve) { Offset (0x80), LPCD, 16, LPCE, 16 } Name (DBPT, Package (0x04) { Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x03) { 0x0378, 0x0278, 0x03BC }, Package (0x02) { 0x03F0, 0x0370 } }) Name (DDLT, Package (0x04) { Package (0x02) { Zero, 0xFFF8 }, Package (0x02) { 0x04, 0xFF8F }, Package (0x02) { 0x08, 0xFCFF }, Package (0x02) { 0x0C, 0xEFFF } }) Method (RRIO, 4, NotSerialized) { If (LAnd (LLessEqual (Arg0, 0x03), LGreaterEqual (Arg0, Zero))) { Store (Match (DerefOf (Index (DBPT, Arg0)), MEQ, Arg2, MTR, Zero, Zero), Local0) If (LNotEqual (Local0, Ones)) { Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), Zero)), Local1) Store (DerefOf (Index (DerefOf (Index (DDLT, Arg0)), One)), Local2) ShiftLeft (Local0, Local1, Local0) And (LPCD, Local2, LPCD) Or (LPCD, Local0, LPCD) WX82 (Arg0, Arg1) } } If (LEqual (Arg0, 0x08)) { If (LEqual (Arg2, 0x0200)) { WX82 (0x08, Arg0) } Else { If (LEqual (Arg2, 0x0208)) { WX82 (0x09, Arg0) } } } If (LAnd (LLessEqual (Arg0, 0x0D), LGreaterEqual (Arg0, 0x0A))) { WX82 (Arg0, Arg1) } } Method (WX82, 2, NotSerialized) { ShiftLeft (One, Arg0, Local0) If (Arg1) { Or (LPCE, Local0, LPCE) } Else { Not (Local0, Local0) And (LPCE, Local0, LPCE) } } Method (RDMA, 3, NotSerialized) { } Device (^PCIE) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x11) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xE0000000, // Address Base 0x10000000, // Address Length _Y10) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.PCI0.PCIE._Y10._BAS, BAS1) CreateDWordField (CRS, \_SB.PCI0.PCIE._Y10._LEN, LEN1) Store (PCIB, BAS1) Store (PCIL, LEN1) Return (CRS) } } Device (OMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, Zero) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y11) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y12) }) Name (CRS1, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x01, // Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y13) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y14) }) Method (_CRS, 0, NotSerialized) { If (APIC) { CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y11._LEN, ML01) CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y11._BAS, MB01) CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y12._LEN, ML02) CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y12._BAS, MB02) Store (0xFEC00000, MB01) Store (0x1000, ML01) Store (0xFEE00000, MB02) Store (0x1000, ML02) CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y13._LEN, ML03) CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y13._BAS, MB03) CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y14._LEN, ML04) CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y14._BAS, MB04) Store (0xFEC00000, MB03) Store (0x1000, ML03) Store (0xFEE00000, MB04) Store (0x1000, ML04) } ShiftLeft (0x05, 0x0A, Local0) If (And (IOST, Local0)) { Return (CRS) } Else { Return (CRS1) } } } Device (^^RMEM) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, One) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x000A0000, // Address Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y15) Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length _Y16) Memory32Fixed (ReadWrite, 0x00100000, // Address Base 0x00000000, // Address Length _Y17) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y18) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.RMEM._Y15._BAS, BAS1) CreateDWordField (CRS, \_SB.RMEM._Y15._LEN, LEN1) CreateDWordField (CRS, \_SB.RMEM._Y16._BAS, BAS2) CreateDWordField (CRS, \_SB.RMEM._Y16._LEN, LEN2) CreateDWordField (CRS, \_SB.RMEM._Y17._LEN, LEN3) CreateDWordField (CRS, \_SB.RMEM._Y18._BAS, BAS4) CreateDWordField (CRS, \_SB.RMEM._Y18._LEN, LEN4) If (OSFL ()) {} Else { If (MG1B) { If (LGreater (MG1B, 0x000C0000)) { Store (0x000C0000, BAS1) Subtract (MG1B, BAS1, LEN1) } } Else { Store (0x000C0000, BAS1) Store (0x00020000, LEN1) } If (Add (MG1B, MG1L, Local0)) { Store (Local0, BAS2) Subtract (0x00100000, BAS2, LEN2) } } Subtract (MG2B, 0x00100000, LEN3) Store (MH1B, BAS4) Subtract (Zero, BAS4, LEN4) Return (CRS) } } Device (UAR1) { Name (_UID, One) Name (_HID, EisaId ("PNP0501")) Method (_STA, 0, NotSerialized) { Return (DSTA (Zero)) } Method (_DIS, 0, NotSerialized) { DCNT (Zero, Zero) } Method (_CRS, 0, NotSerialized) { Return (DCRS (Zero, Zero)) } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, Zero) } Method (_PRS, 0, NotSerialized) { Return (CMPR) } Name (CMPR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } EndDependentFn () }) } Device (LPTE) { Method (_HID, 0, NotSerialized) { If (LPTM (0x02)) { Return (0x0104D041) } Else { Return (0x0004D041) } } Method (_STA, 0, NotSerialized) { Return (DSTA (0x02)) } Method (_DIS, 0, NotSerialized) { DCNT (0x02, Zero) } Method (_CRS, 0, NotSerialized) { DCRS (0x02, One) If (LPTM (0x02)) { Store (IRQM, IRQE) Store (DMAM, DMAE) Store (IO11, IO21) Store (IO12, IO22) Store (LEN1, LEN2) Add (IO21, 0x0400, IO31) Store (IO31, IO32) Store (LEN2, LEN3) Return (CRS2) } Else { Return (CRS1) } } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, 0x02) } Method (_PRS, 0, NotSerialized) { If (LPTM (0x02)) { Return (EPPR) } Else { Return (LPPR) } } Name (LPPR, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } EndDependentFn () }) Name (EPPR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {0,1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {0,1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x07BC, // Range Minimum 0x07BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {0,1,2,3} } EndDependentFn () }) } } Device (SATA) { Name (_ADR, 0x001F0002) Name (^NATA, Package (0x01) { 0x001F0002 }) Name (\FZTF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5 }) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00 )), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (Concatenate (RETB, FZTF)) } } Device (SAT1) { Name (_ADR, 0x001F0005) Name (REGF, One) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { ShiftLeft (PSCR, One, Local1) Or (PMCR, Local1, Local0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local1) ShiftLeft (PMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local2) ShiftLeft (PSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (PMAE, 0x02, Local3) ShiftLeft (PM6E, One, Local4) Or (Local3, Local4, Local3) Or (PM3E, Local3, Local0) ShiftLeft (PMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (PSAE, 0x02, Local3) ShiftLeft (PS6E, One, Local4) Or (Local3, Local4, Local3) Or (PS3E, Local3, Local1) ShiftLeft (PSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (PMRI, GMPT) Store (Local0, GMUE) Store (PMUT, GMUT) Store (PMCR, GMCR) Store (PSRI, GSPT) Store (Local1, GSUE) Store (PSUT, GSUT) Store (PSCR, GSCR) STM () Store (GMPT, PMRI) Store (GMUE, Local0) Store (GMUT, PMUT) Store (GMCR, PMCR) Store (GSUE, Local1) Store (GSUT, PSUT) Store (GSCR, PSCR) If (And (Local0, One)) { Store (One, PM3E) } Else { Store (Zero, PM3E) } If (And (Local0, 0x02)) { Store (One, PM6E) } Else { Store (Zero, PM6E) } If (And (Local0, 0x04)) { Store (One, PMAE) } Else { Store (Zero, PMAE) } If (And (Local1, One)) { Store (One, PS3E) } Else { Store (Zero, PS3E) } If (And (Local1, 0x02)) { Store (One, PS6E) } Else { Store (Zero, PS6E) } If (And (Local1, 0x04)) { Store (One, PSAE) } Else { Store (Zero, PSAE) } Store (GTF (Zero, Arg1), ATA0) Store (GTF (One, Arg2), ATA1) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { ShiftLeft (SSCR, One, Local1) Or (SMCR, Local1, Local0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local1) ShiftLeft (SMPT, 0x04, Local3) Or (Local1, Local3, Local1) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local2) ShiftLeft (SSPT, 0x04, Local3) Or (Local2, Local3, Local2) Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) ShiftLeft (SMAE, 0x02, Local3) ShiftLeft (SM6E, One, Local4) Or (Local3, Local4, Local3) Or (SM3E, Local3, Local0) ShiftLeft (SMPT, 0x04, Local3) Or (Local0, Local3, Local0) ShiftLeft (SSAE, 0x02, Local3) ShiftLeft (SS6E, One, Local4) Or (Local3, Local4, Local3) Or (SS3E, Local3, Local1) ShiftLeft (SSPT, 0x04, Local3) Or (Local1, Local3, Local1) Store (SMRI, GMPT) Store (Local0, GMUE) Store (SMUT, GMUT) Store (SMCR, GMCR) Store (SSRI, GSPT) Store (Local1, GSUE) Store (SSUT, GSUT) Store (SSCR, GSCR) STM () Store (GMPT, SMRI) Store (GMUE, Local0) Store (GMUT, SMUT) Store (GMCR, SMCR) Store (GSUE, Local1) Store (GSUT, SSUT) Store (GSCR, SSCR) If (And (Local0, One)) { Store (One, SM3E) } Else { Store (Zero, SM3E) } If (And (Local0, 0x02)) { Store (One, SM6E) } Else { Store (Zero, SM6E) } If (And (Local0, 0x04)) { Store (One, SMAE) } Else { Store (Zero, SMAE) } If (And (Local1, One)) { Store (One, SS3E) } Else { Store (Zero, SS3E) } If (And (Local1, 0x02)) { Store (One, SS6E) } Else { Store (Zero, SS6E) } If (And (Local1, 0x04)) { Store (One, SSAE) } Else { Store (Zero, SSAE) } Store (GTF (Zero, Arg1), ATA2) Store (GTF (One, Arg2), ATA3) } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg1, 0x20)) { Or (CHNF, 0x02, CHNF) } Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) If (And (Arg4, 0x20)) { Or (CHNF, 0x08, CHNF) } Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, Zero, Zero), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (And (Arg1, 0x07)) { Store (Arg2, Local5) If (And (Arg1, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg1, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, One, CHNF) } If (And (Arg4, 0x07)) { Store (Arg5, Local5) If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } If (And (Arg4, 0x04)) { Add (Local5, 0x04, Local5) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) { Store (Zero, GMUE) Store (Zero, GMUT) Store (Zero, GSUE) Store (Zero, GSUT) If (And (CHNF, One)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GMUT) Or (GMUE, One, GMUE) If (LGreater (Local0, 0x02)) { Or (GMUE, 0x02, GMUE) } If (LGreater (Local0, 0x04)) { And (GMUE, 0xFD, GMUE) Or (GMUE, 0x04, GMUE) } } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero))) { Store (DMA0, PIO0) Or (GMUE, 0x80, GMUE) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, Zero, Zero), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GSUT) Or (GSUE, One, GSUE) If (LGreater (Local0, 0x02)) { Or (GSUE, 0x02, GSUE) } If (LGreater (Local0, 0x04)) { And (GSUE, 0xFD, GSUE) Or (GSUE, 0x04, GSUE) } } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero))) { Store (DMA1, PIO1) Or (GSUE, 0x80, GSUE) } } } If (And (CHNF, 0x02)) { Or (GMUE, 0x20, GMUE) } If (And (CHNF, 0x08)) { Or (GSUE, 0x20, GSUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), Local1) Store (Local1, GMPT) If (LLess (Local0, 0x03)) { Or (GMUE, 0x50, GMUE) } And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, Zero, Zero), 0x07, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), Local1) Store (Local1, GSPT) If (LLess (Local0, 0x03)) { Or (GSUE, 0x50, GSUE) } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (Zero, CMDC) Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, One)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00 )), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, Zero, Zero), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, Zero, Zero), 0x07, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0 )), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, One, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (Concatenate (RETB, FZTF)) } } Device (USB0) { Name (_ADR, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x03, 0x04)) } } Device (USB1) { Name (_ADR, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x04, 0x04)) } } Device (USB2) { Name (_ADR, 0x001D0003) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0C, 0x04)) } } Device (USB3) { Name (_ADR, 0x001D0004) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0E, 0x04)) } } Device (USB4) { Name (_ADR, 0x001A0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x05, 0x04)) } } Device (USB5) { Name (_ADR, 0x001A0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x20, 0x04)) } } Device (USB6) { Name (_ADR, 0x001A0003) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x25, 0x04)) } } Device (GBE) { Name (_ADR, 0x00190000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (BR20) { Name (_ADR, 0x001C0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR20) } Return (PR20) } } Device (BR21) { Name (_ADR, 0x001C0001) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR21) } Return (PR21) } } Device (BR22) { Name (_ADR, 0x001C0002) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR22) } Return (PR22) } } Device (BR23) { Name (_ADR, 0x001C0003) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR23) } Return (PR23) } Device (JMB0) { Name (_ADR, Zero) OperationRegion (CF40, PCI_Config, 0x40, 0x04) Field (CF40, ByteAcc, NoLock, Preserve) { CHE0, 1, MULT, 1, , 1, CAB0, 1, CHE1, 1, Offset (0x01), AHEN, 1, , 3, PRT0, 1, AHM0, 1, PRT1, 1, AHM1, 1, CF42, 6, SWAP, 1, PATA, 1, , 6, WTEN, 1, Offset (0x04) } Name (PIOT, Package (0x05) { 0x0258, 0x0186, 0x014A, 0xB4, 0x78 }) Name (UDMA, Package (0x07) { 0x78, 0x50, 0x3C, 0x28, 0x1E, 0x14, 0x0F }) Name (MDMA, Package (0x03) { 0x01E0, 0x96, 0x78 }) Name (IDEB, Buffer (0x14) {}) CreateDWordField (IDEB, Zero, GTM0) CreateDWordField (IDEB, 0x04, GTM1) CreateDWordField (IDEB, 0x08, GTM2) CreateDWordField (IDEB, 0x0C, GTM3) CreateDWordField (IDEB, 0x10, GTM4) Name (PIO0, 0x04) Name (DMA0, 0x06) Name (MDA0, 0x02) Name (PIO1, 0x04) Name (DMA1, 0x06) Name (MDA1, 0x02) Name (PIO2, 0x04) Name (DMA2, 0x06) Name (MDA2, 0x02) Name (PIO3, 0x04) Name (DMA3, 0x06) Name (MDA3, 0x02) Name (FLGP, 0x1F) Name (FLGS, 0x1F) Device (IDE0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PIO0)), Local0) Store (DerefOf (Index (PIOT, PIO1)), Local2) Store (0x1A, Local4) If (LAnd (FLGP, One)) { If (LNot (MULT)) { If (LAnd (CAB0, SWAP)) { Store (0x02, DMA0) } } Store (DerefOf (Index (UDMA, DMA0)), Local1) Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, MDA0)), Local1) } If (LAnd (FLGP, 0x04)) { If (LAnd (CAB0, SWAP)) { Store (0x02, DMA1) } Store (DerefOf (Index (UDMA, DMA1)), Local3) Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, MDA1)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) Store (Local4, FLGP) If (LAnd (LNotEqual (Local0, Ones), LNotEqual (Local0, Zero))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PIO0) } If (LAnd (LNotEqual (Local1, Ones), LNotEqual (Local1, Zero))) { If (LAnd (FLGP, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), DMA0) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), MDA0) } } If (LAnd (LNotEqual (Local2, Ones), LNotEqual (Local2, Zero))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PIO1) } If (LAnd (LNotEqual (Local3, Ones), LNotEqual (Local3, Zero))) { If (LAnd (FLGP, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), DMA1) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), MDA1) } } } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO0, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGP, One)) { Store (DMA0, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA0, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO1, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGP, 0x04)) { Store (DMA1, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA1, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } Device (IDE1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PIO2)), Local0) Store (DerefOf (Index (PIOT, PIO3)), Local2) Store (0x1A, Local4) If (LAnd (FLGS, One)) { If (LNot (MULT)) { If (LAnd (CAB0, LNot (SWAP))) { Store (0x02, DMA2) } } Store (DerefOf (Index (UDMA, DMA2)), Local1) Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, MDA2)), Local1) } If (LAnd (FLGS, 0x04)) { If (LAnd (CAB0, LNot (SWAP))) { Store (0x02, DMA3) } Store (DerefOf (Index (UDMA, DMA3)), Local3) Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, MDA3)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) Store (Local4, FLGS) If (LAnd (LNotEqual (Local0, Ones), LNotEqual (Local0, Zero))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PIO2) } If (LAnd (LNotEqual (Local1, Ones), LNotEqual (Local1, Zero))) { If (LAnd (FLGS, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), DMA2) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), MDA2) } } If (LAnd (LNotEqual (Local2, Ones), LNotEqual (Local2, Zero))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PIO3) } If (LAnd (LNotEqual (Local3, Ones), LNotEqual (Local3, Zero))) { If (LAnd (FLGS, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), DMA3) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), MDA3) } } } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO2, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGS, One)) { Store (DMA2, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA2, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO3, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGS, 0x04)) { Store (DMA3, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA3, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } } Device (JMB1) { Name (_ADR, One) OperationRegion (CF40, PCI_Config, 0x40, 0x04) Field (CF40, ByteAcc, NoLock, Preserve) { CHE0, 1, MULT, 1, , 1, CAB0, 1, CHE1, 1, Offset (0x01), AHEN, 1, , 3, PRT0, 1, AHM0, 1, PRT1, 1, AHM1, 1, CF42, 6, SWAP, 1, PATA, 1, , 6, WTEN, 1, Offset (0x04) } Name (PIOT, Package (0x05) { 0x0258, 0x0186, 0x014A, 0xB4, 0x78 }) Name (UDMA, Package (0x07) { 0x78, 0x50, 0x3C, 0x28, 0x1E, 0x14, 0x0F }) Name (MDMA, Package (0x03) { 0x01E0, 0x96, 0x78 }) Name (IDEB, Buffer (0x14) {}) CreateDWordField (IDEB, Zero, GTM0) CreateDWordField (IDEB, 0x04, GTM1) CreateDWordField (IDEB, 0x08, GTM2) CreateDWordField (IDEB, 0x0C, GTM3) CreateDWordField (IDEB, 0x10, GTM4) Name (PIO0, 0x04) Name (DMA0, 0x06) Name (MDA0, 0x02) Name (PIO1, 0x04) Name (DMA1, 0x06) Name (MDA1, 0x02) Name (PIO2, 0x04) Name (DMA2, 0x06) Name (MDA2, 0x02) Name (PIO3, 0x04) Name (DMA3, 0x06) Name (MDA3, 0x02) Name (FLGP, 0x1F) Name (FLGS, 0x1F) Device (IDE0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PIO0)), Local0) Store (DerefOf (Index (PIOT, PIO1)), Local2) Store (0x1A, Local4) If (LAnd (FLGP, One)) { If (LAnd (CAB0, SWAP)) { Store (0x02, DMA0) } Store (DerefOf (Index (UDMA, DMA0)), Local1) Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, MDA0)), Local1) } If (LAnd (FLGP, 0x04)) { If (LAnd (CAB0, SWAP)) { Store (0x02, DMA1) } Store (DerefOf (Index (UDMA, DMA1)), Local3) Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, MDA1)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) Store (Local4, FLGP) If (LAnd (LNotEqual (Local0, Ones), LNotEqual (Local0, Zero))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PIO0) } If (LAnd (LNotEqual (Local1, Ones), LNotEqual (Local1, Zero))) { If (LAnd (FLGP, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), DMA0) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), MDA0) } } If (LAnd (LNotEqual (Local2, Ones), LNotEqual (Local2, Zero))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PIO1) } If (LAnd (LNotEqual (Local3, Ones), LNotEqual (Local3, Zero))) { If (LAnd (FLGP, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), DMA1) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), MDA1) } } } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO0, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGP, One)) { Store (DMA0, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA0, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO1, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGP, 0x04)) { Store (DMA1, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA1, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } Device (IDE1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PIO2)), Local0) Store (DerefOf (Index (PIOT, PIO3)), Local2) Store (0x1A, Local4) If (LAnd (FLGS, One)) { If (LAnd (CAB0, LNot (SWAP))) { Store (0x02, DMA2) } Store (DerefOf (Index (UDMA, DMA2)), Local1) Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, MDA2)), Local1) } If (LAnd (FLGS, 0x04)) { If (LAnd (CAB0, LNot (SWAP))) { Store (0x02, DMA3) } Store (DerefOf (Index (UDMA, DMA3)), Local3) Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, MDA3)), Local3) } Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEB) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEB) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) Store (Local4, FLGS) If (LAnd (LNotEqual (Local0, Ones), LNotEqual (Local0, Zero))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PIO2) } If (LAnd (LNotEqual (Local1, Ones), LNotEqual (Local1, Zero))) { If (LAnd (FLGS, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), DMA2) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), MDA2) } } If (LAnd (LNotEqual (Local2, Ones), LNotEqual (Local2, Zero))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PIO3) } If (LAnd (LNotEqual (Local3, Ones), LNotEqual (Local3, Zero))) { If (LAnd (FLGS, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), DMA3) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), MDA3) } } } Device (DRV0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO2, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGS, One)) { Store (DMA2, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA2, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } Device (DRV1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local1) CreateByteField (Local0, One, PIOM) CreateByteField (Local1, One, DMAM) Store (PIO3, PIOM) Or (PIOM, 0x08, PIOM) If (LAnd (FLGS, 0x04)) { Store (DMA3, DMAM) Or (DMAM, 0x40, DMAM) } Else { Store (MDA3, DMAM) Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } } } Device (BR24) { Name (_ADR, 0x001C0004) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR24) } Return (PR24) } } Device (BR25) { Name (_ADR, 0x001C0005) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR25) } Return (PR25) } } Device (BR26) { Name (_ADR, 0x001C0006) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR26) } Return (PR26) } } Device (BR27) { Name (_ADR, 0x001C0007) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR27) } Return (PR27) } } Device (EUSB) { Name (_ADR, 0x001D0000) Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0xA0, 0x10, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT3) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT4) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT5) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT6) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT7) { Name (_ADR, 0x07) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT8) { Name (_ADR, 0x08) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (USBE) { Name (_ADR, 0x001A0000) Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT3) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT4) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT5) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } Device (PRT6) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) } } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) Notify (\_SB.PCI0.P0P3, 0x02) Notify (\_SB.PCI0.P0P4, 0x02) Notify (\_SB.PCI0.P0P5, 0x02) Notify (\_SB.PCI0.P0P6, 0x02) Notify (\_SB.PCI0.BR20, 0x02) Notify (\_SB.PCI0.BR21, 0x02) Notify (\_SB.PCI0.BR22, 0x02) Notify (\_SB.PCI0.BR23, 0x02) Notify (\_SB.PCI0.BR24, 0x02) Notify (\_SB.PCI0.BR25, 0x02) Notify (\_SB.PCI0.BR26, 0x02) Notify (\_SB.PCI0.BR27, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.BR1E, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L1D, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB4, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L20, 0, NotSerialized) { Notify (\_SB.PCI0.USB5, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L25, 0, NotSerialized) { Notify (\_SB.PCI0.USB6, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.GBE, 0x02) Notify (\_SB.PCI0.EUSB, 0x02) Notify (\_SB.PCI0.USBE, 0x02) Notify (\_SB.PWRB, 0x02) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } } OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C) Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Scope (_SB) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {15} }) CreateWordField (BUFA, One, IRA0) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { And (PIRA, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSA) } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { And (PIRA, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { And (PIRB, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSB) } Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { And (PIRB, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { And (PIRC, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSC) } Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { And (PIRC, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { And (PIRD, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSD) } Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { And (PIRD, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { And (PIRE, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSE) } Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { And (PIRE, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { And (PIRF, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSF) } Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { And (PIRF, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { And (PIRG, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSG) } Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { And (PIRG, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { And (PIRH, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Return (PRSH) } Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { And (PIRH, 0x0F, Local0) ShiftLeft (One, Local0, IRA0) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRH) } } } Scope (_SB) { Name (XCPD, Zero) Name (XNPT, One) Name (XCAP, 0x02) Name (XDCP, 0x04) Name (XDCT, 0x08) Name (XDST, 0x0A) Name (XLCP, 0x0C) Name (XLCT, 0x10) Name (XLST, 0x12) Name (XSCP, 0x14) Name (XSCT, 0x18) Name (XSST, 0x1A) Name (XRCT, 0x1C) Mutex (MUTE, 0x00) Method (RBPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } Release (MUTE) Return (XCFG) } Method (RWPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFE, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } Release (MUTE) Return (XCFG) } Method (RDPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Release (MUTE) Return (XCFG) } Method (WBPE, 2, NotSerialized) { Acquire (MUTE, 0x0FFF) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } Store (Arg1, XCFG) Release (MUTE) } Method (WWPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFE, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } Store (Arg1, XCFG) Release (MUTE) } Method (WDPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Store (Arg1, XCFG) Release (MUTE) } Method (RWDP, 3, NotSerialized) { Acquire (MUTE, 0x03E8) And (Arg0, 0xFFFFFFFC, Arg0) Add (Arg0, PCIB, Local0) OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } And (XCFG, Arg2, Local1) Or (Local1, Arg1, XCFG) Release (MUTE) } Method (RPME, 1, NotSerialized) { Add (Arg0, 0x84, Local0) Store (RDPE (Local0), Local1) If (LEqual (Local1, Ones)) { Return (Zero) } Else { If (LAnd (Local1, 0x00010000)) { WDPE (Local0, And (Local1, 0x00010000)) Return (One) } Return (Zero) } } } Scope (_SB.PCI0) { Method (_OSC, 4, NotSerialized) { Name (SUPP, Zero) Name (CTRL, Zero) CreateDWordField (Arg3, Zero, CDW1) CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66 })) { Store (CDW2, SUPP) Store (CDW3, CTRL) If (LNotEqual (And (SUPP, 0x16), 0x16)) { And (CTRL, 0x1E, CTRL) } If (LNot (PEHP)) { And (CTRL, 0x1E, CTRL) } If (LNot (SHPC)) { And (CTRL, 0x1D, CTRL) } If (LNot (PEPM)) { And (CTRL, 0x1B, CTRL) } If (LNot (PEER)) { And (CTRL, 0x15, CTRL) } If (LNot (PECS)) { And (CTRL, 0x0F, CTRL) } If (Not (And (CDW1, One))) { If (And (CTRL, One)) {} If (And (CTRL, 0x04)) {} If (And (CTRL, 0x10)) {} } If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LNotEqual (CDW3, CTRL)) { Or (CDW1, 0x10, CDW1) } And (CTRL, 0xEF, CTRL) Store (CTRL, CDW3) Return (Arg3) } Else { Or (CDW1, 0x04, CDW1) Return (Arg3) } } } Scope (_SB.PCI0) { Device (GFX0) { Name (_ADR, 0x00020000) OperationRegion (IGDM, SystemMemory, 0xFF000000, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, Offset (0xE0), KSV0, 32, KSV1, 8, Offset (0xF0), IBTT, 8, IPSC, 2, IPAT, 4, Offset (0xF2), IBIA, 3, IBLC, 2, , 1, ITVF, 4, ITVM, 4, Offset (0xF4), IDVM, 1, IDVS, 2, ISSC, 1, PAVP, 4, CSTE, 16, NSTE, 16, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, DDCV, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } OperationRegion (TCOI, SystemIO, TOBS, 0x08) Field (TCOI, WordAcc, NoLock, Preserve) { Offset (0x04), , 9, SCIS, 1, Offset (0x06) } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Method (GSCI, 0, Serialized) { If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (One, SCIS) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (GBDA, 0, Serialized) { If (LEqual (GESF, Zero)) { If (LGreaterEqual (DVMT, 0x05)) { Store (0x0679, PARM) } Else { Store (0x0279, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x0240, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xEFFF0000, PARM) And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), PARM) Or (IBTT, PARM, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Add (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { If (LGreaterEqual (DVMT, 0x05)) { Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1800, PARM) Or (PARM, ShiftLeft (IDVS, 0x11), PARM) Or (ShiftLeft (CDCT, 0x15), PARM, PARM) } Else { Name (MEMS, 0x0D) Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1000, PARM) Or (ShiftLeft (CDCT, 0x15), PARM, PARM) If (LEqual (IDVM, One)) { Store (0x11, MEMS) } If (LLess (TASM, M512)) { Or (PARM, ShiftLeft (One, MEMS), PARM) } Else { If (LLess (TASM, M1GB)) { If (LLess (IDVS, 0x03)) { Or (PARM, ShiftLeft (IDVS, MEMS), PARM) } Else { Or (PARM, ShiftLeft (0x02, MEMS), PARM) } } Else { Or (PARM, ShiftLeft (IDVS, MEMS), PARM) } } } Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (PARM, 0x03, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0B)) { Store (KSV0, PARM) Store (KSV1, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (0x20, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (And (PARM, 0x0F), ITVF) Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { If (LEqual (PARM, Zero)) { Store (CLID, Local0) If (And (0x80000000, Local0)) { And (CLID, 0x0F, CLID) GLID (CLID) } } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x09)) { And (PARM, 0xFF, IBTT) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0A)) { And (PARM, 0xFF, IPSC) If (And (ShiftRight (PARM, 0x08), 0xFF)) { And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (PARM, 0x14), 0x07, IBIA) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { If (LGreaterEqual (And (ShiftRight (PARM, 0x0B), 0x03), 0x02)) { And (ShiftRight (PARM, 0x0D), 0x0F, Local0) And (ShiftRight (PARM, 0x11), 0x0F, Local1) If (Local0) { Store (Zero, IDVM) Store (Local0, IDVS) } If (Local1) { Store (One, IDVM) Store (Local1, IDVS) } } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x11)) { Store (ShiftLeft (LIDS, 0x08), PARM) Add (PARM, 0x0100, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { If (And (PARM, One)) { If (LEqual (ShiftRight (PARM, One), One)) { Store (One, ISSC) } Else { Store (Zero, GESF) Return (CRIT) } } Else { Store (Zero, ISSC) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LGreaterEqual (DVMT, 0x05)) { If (LEqual (GESF, 0x14)) { And (PARM, 0x0F, PAVP) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } } Store (Zero, GESF) Return (SUCC) } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0x8C), CDCT, 10, Offset (0x8E), Offset (0xA4), ASLE, 8, Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xB0), , 12, CDVL, 1, Offset (0xB2), Offset (0xB5), LBPC, 8, Offset (0xBC), ASLS, 32 } Name (M512, 0x04) Name (M1GB, 0x08) Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { Sleep (ASLP) } Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (LGreater (CSTS, 0x02)) { Sleep (ASLP) } Return (LEqual (CSTS, 0x03)) } Method (OSYS, 0, NotSerialized) { Store (0x07D0, Local1) If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (One, Local1) } If (_OSI ("Windows 2001")) { Store (0x07D1, Local1) } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, Local1) } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, Local1) } If (_OSI ("Windows 2006")) { Store (0x07D6, Local1) } } Return (Local1) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } Store (Arg0, CEVT) Store (0x03, CSTS) If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) { If (LOr (LGreater (OSYS (), 0x07D0), LLess (OSYS (), 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } Notify (GFX0, 0x80) Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { Store (Arg0, CLID) Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (LNot (ARDY)) { Sleep (ASLP) } Return (LNot (ARDY)) } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LEqual (Arg0, 0x02)) { If (CPFM) { And (CPFM, 0x0F, Local0) And (EPFM, 0x0F, Local1) If (LEqual (Local0, One)) { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { If (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } Else { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } Else { If (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } } } Store (Zero, LBPC) Return (Zero) } Method (SCIP, 0, NotSerialized) { If (Not (GIVD)) { If (LNotEqual (OVER, Zero)) { Return (One) } } Return (Zero) } Scope (\_GPE) { Method (_L06, 0, NotSerialized) { \_SB.PCI0.GFX0.GSCI () } } Name (OPBS, 0xFFFFFF00) Method (OPTS, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (ASLS, OPBS) } } Method (OWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (OPBS, ASLS) Store (One, GSES) } } } } Scope (_SB) { Scope (PCI0) { Name (CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, _Y19, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y1A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y1B, AddressRangeMemory, TypeStatic) }) CreateDWordField (CRS, \_SB.PCI0._Y19._MIN, MIN5) CreateDWordField (CRS, \_SB.PCI0._Y19._MAX, MAX5) CreateDWordField (CRS, \_SB.PCI0._Y19._LEN, LEN5) CreateDWordField (CRS, \_SB.PCI0._Y1A._MIN, MIN6) CreateDWordField (CRS, \_SB.PCI0._Y1A._MAX, MAX6) CreateDWordField (CRS, \_SB.PCI0._Y1A._LEN, LEN6) CreateDWordField (CRS, \_SB.PCI0._Y1B._MIN, MIN7) CreateDWordField (CRS, \_SB.PCI0._Y1B._MAX, MAX7) CreateDWordField (CRS, \_SB.PCI0._Y1B._LEN, LEN7) Name (CR64, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, _Y1C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y1D, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y1E, AddressRangeMemory, TypeStatic) QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000000000000000, // Range Minimum 0x0000000000000000, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000000000000, // Length ,, _Y1F, AddressRangeMemory, TypeStatic) }) CreateDWordField (CR64, \_SB.PCI0._Y1C._MIN, _MN5) CreateDWordField (CR64, \_SB.PCI0._Y1C._MAX, _MX5) CreateDWordField (CR64, \_SB.PCI0._Y1C._LEN, _LN5) CreateDWordField (CR64, \_SB.PCI0._Y1D._MIN, _MN6) CreateDWordField (CR64, \_SB.PCI0._Y1D._MAX, _MX6) CreateDWordField (CR64, \_SB.PCI0._Y1D._LEN, _LN6) CreateDWordField (CR64, \_SB.PCI0._Y1E._MIN, _MN7) CreateDWordField (CR64, \_SB.PCI0._Y1E._MAX, _MX7) CreateDWordField (CR64, \_SB.PCI0._Y1E._LEN, _LN7) CreateDWordField (CR64, \_SB.PCI0._Y1F._MIN, MN8L) CreateDWordField (CR64, Add (0xAE, 0x04), MN8H) CreateDWordField (CR64, \_SB.PCI0._Y1F._MAX, MX8L) CreateDWordField (CR64, Add (0xB6, 0x04), MX8H) CreateDWordField (CR64, \_SB.PCI0._Y1F._LEN, LN8L) CreateDWordField (CR64, Add (0xC6, 0x04), LN8H) Method (_CRS, 0, NotSerialized) { Store (MG1L, Local0) If (Local0) { Store (MG1B, MIN5) Store (MG1L, LEN5) Add (MIN5, Decrement (Local0), MAX5) } Store (MG2B, MIN6) Store (MG2L, LEN6) Store (MG2L, Local0) Add (MIN6, Decrement (Local0), MAX6) Store (MG3B, MIN7) Store (MG3L, LEN7) Store (MG3L, Local0) Add (MIN7, Decrement (Local0), MAX7) Store (MIN5, _MN5) Store (LEN5, _LN5) Store (MAX5, _MX5) Store (MIN6, _MN6) Store (LEN6, _LN6) Store (MAX6, _MX6) Store (MIN7, _MN7) Store (LEN7, _LN7) Store (MAX7, _MX7) Store (M4BL, MN8L) Store (M4BH, MN8H) Store (M4LL, Local0) Store (Decrement (Local0), MX8L) If (LEqual (M4LL, Zero)) { Store (M4LH, Local0) Store (Decrement (Local0), MX8H) } If (LLess (M4LL, M4BL)) { Store (M4LH, Local0) Subtract (Decrement (Local0), M4BH, LN8H) Store (M4LL, Local0) Add (Increment (Local0), Subtract (Ones, M4BL), LN8L) } Else { Subtract (M4LL, M4BL, LN8L) Subtract (M4LH, M4BH, LN8H) } If (LGreaterEqual (OSYS (), 0x15)) { Return (CR64) } Else { Return (CRS) } } } } Name (WOTB, Zero) Name (WSSB, Zero) Name (WAXB, Zero) Method (_PTS, 1, NotSerialized) { Store (Arg0, DBG8) PTS (Arg0) Store (Zero, Index (WAKP, Zero)) Store (Zero, Index (WAKP, One)) If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02))) { Sleep (0x0BB8) } Store (ASSB, WSSB) Store (AOTB, WOTB) Store (AAXB, WAXB) Store (Arg0, ASSB) Store (OSFL (), AOTB) Store (OSYS (), OSTP) Store (Zero, AAXB) } Method (_WAK, 1, NotSerialized) { ShiftLeft (Arg0, 0x04, DBG8) WAK (Arg0) If (ASSB) { Store (WSSB, ASSB) Store (WOTB, AOTB) Store (WAXB, AAXB) } If (DerefOf (Index (WAKP, Zero))) { Store (Zero, Index (WAKP, One)) } Else { Store (Arg0, Index (WAKP, One)) } Return (WAKP) } Scope (_SB.PCI0) { OperationRegion (TVID, SystemMemory, 0xFED40F00, 0x02) Field (TVID, WordAcc, NoLock, Preserve) { VIDT, 16 } } Device (_SB.PCI0.SBRG.TPM) { Name (_HID, EisaId ("IFX0102")) Name (_CID, EisaId ("PNP0C31")) Name (_UID, One) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x4700, // Range Minimum 0x4700, // Range Maximum 0x01, // Alignment 0x0C, // Length ) Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) Method (_STA, 0, NotSerialized) { If (TPMF) { If (LNotEqual (VIDT, 0x8086)) { Return (0x0F) } Return (Zero) } Else { Return (Zero) } } } Device (_SB.PCI0.ITPM) { Name (_HID, "INTC0102") Name (_CID, EisaId ("PNP0C31")) Name (_UID, One) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) Method (_STA, 0, NotSerialized) { If (TPMF) { If (LEqual (VIDT, 0x8086)) { Return (0x0F) } Return (Zero) } Return (Zero) } } Scope (_SB.PCI0.SBRG.TPM) { Name (TAAX, Zero) OperationRegion (MIPT, SystemIO, SMIT, One) Field (MIPT, ByteAcc, NoLock, Preserve) { PSMI, 8 } Name (PPI1, Package (0x02) { Zero, Zero }) Name (PPI2, Package (0x03) { Zero, Zero, Zero }) Name (MBUF, Buffer (0x04) {}) CreateByteField (MBUF, Zero, BUF0) CreateByteField (MBUF, One, BUF1) CreateByteField (MBUF, 0x02, BUF2) CreateByteField (MBUF, 0x03, BUF3) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E, /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53 })) { Name (TTT0, Zero) Store (ToInteger (Arg2), TTT0) If (LEqual (TTT0, Zero)) { Return (Buffer (One) { 0x7F }) } Else { If (LEqual (TTT0, One)) { Return ("1.0") } Else { If (LEqual (TTT0, 0x02)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0xF0, BUF1) Store (ToInteger (DerefOf (Index (Arg3, Zero))), BUF2) Store (One, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (TAAX, AAXB) Return (Zero) } Else { If (LEqual (TTT0, 0x03)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0x0F, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) Store (BUF2, Local3) Store (Zero, Index (PPI1, Zero)) Store (Local3, Index (PPI1, One)) Store (TAAX, AAXB) Return (PPI1) } Else { If (LEqual (TTT0, 0x04)) { Return (0x02) } Else { If (LEqual (TTT0, 0x05)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0xF0, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) ShiftRight (BUF2, 0x04, Local3) Store (CMER, BUF0) Store (0xFF, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) Store (BUF2, Local6) Add (CMER, One, Local4) Store (Local4, BUF0) Store (0xFF, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) Store (BUF2, Local7) Multiply (Local7, 0x0100, Local2) Add (Local2, Local6, Local2) Store (Zero, Index (PPI2, Zero)) Store (Local3, Index (PPI2, One)) If (LEqual (Local2, 0xFFF0)) { Store (0xFFFFFFF0, Index (PPI2, 0x02)) } Else { If (LEqual (Local2, 0xFFF1)) { Store (0xFFFFFFF1, Index (PPI2, 0x02)) } Else { Store (Local2, Index (PPI2, 0x02)) } } Store (TAAX, AAXB) Return (PPI2) } Else { If (LEqual (TTT0, 0x06)) { Return (Zero) } Else { } } } } } } } } Else { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46, /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D })) { Name (TTT1, Zero) Store (ToInteger (Arg2), TTT1) If (LEqual (TTT1, Zero)) { Return (Buffer (One) { 0x03 }) } Else { If (LEqual (TTT1, One)) { Store (AAXB, TAAX) Store (CMOR, BUF0) Store (0xFE, BUF1) Store (ToInteger (DerefOf (Index (Arg3, Zero))), BUF2) Store (One, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x0BB8) Store (TAAX, AAXB) Return (Zero) } Else { } } } } Return (Buffer (One) { 0x00 }) } } Scope (_SB.PCI0.ITPM) { Name (TAAX, Zero) OperationRegion (MIPT, SystemIO, SMIT, One) Field (MIPT, ByteAcc, NoLock, Preserve) { PSMI, 8 } Name (PPI1, Package (0x02) { Zero, Zero }) Name (PPI2, Package (0x03) { Zero, Zero, Zero }) Name (MBUF, Buffer (0x04) {}) CreateByteField (MBUF, Zero, BUF0) CreateByteField (MBUF, One, BUF1) CreateByteField (MBUF, 0x02, BUF2) CreateByteField (MBUF, 0x03, BUF3) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E, /* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53 })) { Name (TTT0, Zero) Store (ToInteger (Arg2), TTT0) If (LEqual (TTT0, Zero)) { Return (Buffer (One) { 0x7F }) } Else { If (LEqual (TTT0, One)) { Return ("1.0") } Else { If (LEqual (TTT0, 0x02)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0xF0, BUF1) Store (ToInteger (DerefOf (Index (Arg3, Zero))), BUF2) Store (One, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (TAAX, AAXB) Return (Zero) } Else { If (LEqual (TTT0, 0x03)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0x0F, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) Store (BUF2, Local3) Store (Zero, Index (PPI1, Zero)) Store (Local3, Index (PPI1, One)) Store (TAAX, AAXB) Return (PPI1) } Else { If (LEqual (TTT0, 0x04)) { Return (0x02) } Else { If (LEqual (TTT0, 0x05)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0xF0, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) ShiftRight (BUF2, 0x04, Local3) Store (CMER, BUF0) Store (0xFF, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) Store (BUF2, Local6) Add (CMER, One, Local4) Store (Local4, BUF0) Store (0xFF, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x03E8) Store (AAXB, MBUF) Store (BUF2, Local7) Multiply (Local7, 0x0100, Local2) Add (Local2, Local6, Local2) Store (Zero, Index (PPI2, Zero)) Store (Local3, Index (PPI2, One)) If (LEqual (Local2, 0xFFF0)) { Store (0xFFFFFFF0, Index (PPI2, 0x02)) } Else { If (LEqual (Local2, 0xFFF1)) { Store (0xFFFFFFF1, Index (PPI2, 0x02)) } Else { Store (Local2, Index (PPI2, 0x02)) } } Store (TAAX, AAXB) Return (PPI2) } Else { If (LEqual (TTT0, 0x06)) { Return (Zero) } Else { } } } } } } } } Else { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46, /* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D })) { Name (TTT1, Zero) Store (ToInteger (Arg2), TTT1) If (LEqual (TTT1, Zero)) { Return (Buffer (One) { 0x03 }) } Else { If (LEqual (TTT1, One)) { Store (AAXB, TAAX) Store (CMOR, BUF0) Store (0xFE, BUF1) Store (ToInteger (DerefOf (Index (Arg3, Zero))), BUF2) Store (One, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x0BB8) Store (TAAX, AAXB) Return (Zero) } Else { } } } } Return (Buffer (One) { 0x00 }) } } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (SS1) { Name (_S1, Package (0x04) { One, Zero, Zero, Zero }) } If (SS3) { Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) { \_SB.PCI0.SBRG.SIOS (Arg0) \_SB.PCI0.NPTS (Arg0) \_SB.PCI0.SBRG.SPTS (Arg0) \_SB.PCI0.GFX0.OPTS (Arg0) } } Method (WAK, 1, NotSerialized) { \_SB.PCI0.SBRG.SIOW (Arg0) \_SB.PCI0.NWAK (Arg0) \_SB.PCI0.SBRG.SWAK (Arg0) \_SB.PCI0.GFX0.OWAK (Arg0) } }