/* * Intel ACPI Component Architecture * AML Disassembler version 20061109 * * Disassembly of dsdt.bin, Fri May 9 03:07:41 2008 * * * Original Table Header: * Signature "DSDT" * Length 0x0000843B (33851) * Revision 0x01 * OEM ID "A0869" * OEM Table ID "A0869001" * OEM Revision 0x00000001 (1) * Creator ID "INTL" * Creator Revision 0x20060113 (537264403) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "A0869", "A0869001", 0x00000001) { Scope (_PR) { Processor (CPU1, 0x01, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0xCF560320, 0x01D2) Name (NCPU, 0x04) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (CFGD, 0x01000007) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS0, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS0, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS0) CreateDWordField (Arg3, 0x04, CAP0) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, STS0) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, STS0) Return (Arg3) } Or (And (TYPE, 0x7FFFFFFF), CAP0, TYPE) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 0x09), 0x09)), LNot (And (TBLD, One)))) { Or (TBLD, One, TBLD) Load (STBL, HNDL) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18 )), LNot (And (TBLD, 0x02)))) { Or (TBLD, 0x02, TBLD) } } Return (Arg3) } } } Scope (_PR) { Processor (CPU2, 0x02, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0xCF560500, 0x0143) Name (NCPU, 0x04) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (CFGD, 0x01000007) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS1, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS1, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS1) CreateDWordField (Arg3, 0x04, CAP1) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, STS1) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, STS1) Return (Arg3) } Or (And (TYPE, 0x7FFFFFFF), CAP1, TYPE) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 0x09), 0x09)), LNot (And (TBLD, One)))) { Or (TBLD, One, TBLD) Load (STBL, HNDL) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18 )), LNot (And (TBLD, 0x02)))) { Or (TBLD, 0x02, TBLD) } } Return (Arg3) } } } Scope (_PR) { Processor (CPU3, 0x03, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0xCF560650, 0x0143) Name (NCPU, 0x04) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (CFGD, 0x01000007) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS2, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS2, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS2) CreateDWordField (Arg3, 0x04, CAP2) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, STS2) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, STS2) Return (Arg3) } Or (And (TYPE, 0x7FFFFFFF), CAP2, TYPE) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 0x09), 0x09)), LNot (And (TBLD, One)))) { Or (TBLD, One, TBLD) Load (STBL, HNDL) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18 )), LNot (And (TBLD, 0x02)))) { Or (TBLD, 0x02, TBLD) } } Return (Arg3) } } } Scope (_PR) { Processor (CPU4, 0x04, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0xCF5607A0, 0x0143) Name (NCPU, 0x04) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (CFGD, 0x01000007) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS3, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS3, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS3) CreateDWordField (Arg3, 0x04, CAP3) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, STS3) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, STS3) Return (Arg3) } Or (And (TYPE, 0x7FFFFFFF), CAP3, TYPE) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 0x09), 0x09)), LNot (And (TBLD, One)))) { Or (TBLD, One, TBLD) Load (STBL, HNDL) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18 )), LNot (And (TBLD, 0x02)))) { Or (TBLD, 0x02, TBLD) } } Return (Arg3) } } } Name (DP80, 0x80) Name (DP90, 0x90) Name (SPIO, 0x2E) Name (IOHW, 0x0290) Name (APIC, One) Name (SMIP, 0xB2) Name (PMBS, 0x0800) Name (PMLN, 0x80) Name (GPBS, 0x0480) Name (GPLN, 0x40) Name (SMBL, Zero) Name (PM30, 0x0830) Name (SUSW, 0xFF) Name (EAQF, One) Name (TOBS, 0x0860) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Name (LIDS, One) Name (EITO, 0xCF560130) Name (PCIB, 0xE0000000) Name (PCIL, 0x10000000) Name (QSTS, 0x66) Name (SMIT, 0xB2) Name (CMRQ, 0xE0) Name (CMER, 0xE1) Name (CMOR, 0xE3) Name (SMBS, 0x0400) Name (CPUC, 0x04) OperationRegion (BIOS, SystemMemory, 0xCF55E064, 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), 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, MSC1, 32, MSC2, 32, MSC3, 32, MSC4, 32, MSC5, 32, MSC6, 32, MSC7, 32, MSC8, 32, DMAX, 8, HPTA, 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) } If (LEqual (PICM, Zero)) { Store (0xAC, DBG8) } Store (One, OSVR) If (CondRefOf (_OSI, Local1)) { If (_OSI ("Windows 2000")) { Store (0x04, OSVR) } If (_OSI ("Windows 2001")) { Store (Zero, OSVR) } If (_OSI ("Windows 2001 SP1")) { Store (Zero, OSVR) } If (_OSI ("Windows 2001 SP2")) { Store (Zero, OSVR) } If (_OSI ("Windows 2001.1")) { Store (Zero, OSVR) } If (_OSI ("Windows 2001.1 SP1")) { Store (Zero, OSVR) } If (_OSI ("Windows 2006")) { Store (Zero, OSVR) } } Else { If (MCTH (_OS, "Microsoft Windows NT")) { Store (0x04, OSVR) } Else { If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, OSVR) } If (MCTH (_OS, "Linux")) { Store (0x03, 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 (DEB4, SystemIO, 0x84, One) Field (DEB4, ByteAcc, NoLock, Preserve) { DBG4, 8 } OperationRegion (DEB1, SystemIO, DP90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Scope (_SB) { Name (PR00, Package (0x1A) { 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) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKG, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, 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) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0019FFFF, One, LNKF, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x0002FFFF, One, LNKB, Zero } }) Name (AR00, Package (0x1A) { 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) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x16 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, 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) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0019FFFF, One, Zero, 0x15 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x11 } }) Name (PR02, 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 (AR02, 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 (PR04, 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 (AR04, 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 (PR08, 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 (AR08, 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 (PR09, 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 (AR09, 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 (PR01, Package (0x0A) { Package (0x04) { 0x000FFFFF, Zero, LNKE, Zero }, Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0001FFFF, One, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKE, Zero } }) Name (AR01, Package (0x0A) { Package (0x04) { 0x000FFFFF, Zero, Zero, 0x14 }, Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x14 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) 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 (_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) } Method (_S3D, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Name (_CID, 0x030AD041) Device (MCH) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, 0x0A) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED14000, // Address Base 0x00006000, // Address Length ) }) } Method (NPTS, 1, NotSerialized) { } Method (NWAK, 1, NotSerialized) { } Device (P0P2) { Name (_ADR, 0x00010000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR02) } Return (PR02) } } Device (P0P1) { Name (_ADR, 0x001E0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0B, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR01) } Return (PR01) } } 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 (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 (FDC) { Name (_HID, EisaId ("PNP0700")) Method (_FDE, 0, NotSerialized) { Name (FDEP, Package (0x05) { Zero, Zero, 0x02, 0x02, 0x02 }) If (_STA ()) { Store (One, Index (FDEP, Zero)) } Return (FDEP) } Method (_STA, 0, NotSerialized) { Return (DSTA (0x03)) } Method (_DIS, 0, NotSerialized) { DCNT (0x03, Zero) } Method (_CRS, 0, NotSerialized) { DCRS (0x03, One) Store (IRQM, IRQE) Store (DMAM, DMAE) Store (IO11, IO21) Store (IO12, IO22) Store (0x06, LEN2) Add (IO21, 0x07, IO31) Store (IO31, IO32) Store (One, LEN3) Return (CRS2) } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, 0x03) CreateWordField (Arg0, One, IRQE) CreateByteField (Arg0, 0x04, DMAE) ENFG (CGLD (0x03)) If (IRQE) { FindSetRightBit (IRQE, Local0) Subtract (Local0, One, INTR) } Else { Store (Zero, INTR) } If (DMAE) { FindSetRightBit (DMAE, Local0) Subtract (Local0, One, DMCH) } Else { Store (0x04, DMCH) } EXFG () } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F0, // Range Minimum 0x03F0, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, ) {2} } StartDependentFnNoPri () { IO (Decode16, 0x03F0, // Range Minimum 0x03F0, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {0,1,2,3} } StartDependentFnNoPri () { IO (Decode16, 0x0370, // Range Minimum 0x0370, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x0377, // Range Minimum 0x0377, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {0,1,2,3} } 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 (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 ) IO (Decode16, 0x0290, // Range Minimum 0x0290, // Range Maximum 0x00, // Alignment 0x08, // Length ) }) 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) } Return (CRS) } } Name (DCAT, Package (0x15) { 0x02, 0x03, One, Zero, 0xFF, 0x07, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0x08, 0x09, 0xFF, 0xFF }) Mutex (IOCF, 0x00) Method (ENFG, 1, NotSerialized) { Acquire (IOCF, 0xFFFF) Store (0x87, INDX) Store (0x87, INDX) Store (Arg0, LDN) } Method (EXFG, 0, NotSerialized) { Store (0xAA, INDX) Release (IOCF) } 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, 0x38, Local0) EXFG () If (Local0) { Return (0x1005D041) } } Return (0x0105D041) } Method (SIOK, 1, NotSerialized) { ENFG (0x0A) If (LGreater (Arg0, One)) { Or (CRE4, 0x10, CRE4) } Store (CRE3, Local0) EXFG () } Method (SIOS, 1, NotSerialized) { Store ("SIOS", Debug) SIOK (Arg0) } Method (SIOW, 1, NotSerialized) { Store ("SIOW", Debug) SIOK (Zero) } Method (SIOH, 0, NotSerialized) { Store ("SIOH", Debug) ENFG (0x0A) If (And (OPT3, 0x10)) { Notify (PS2K, 0x02) } EXFG () SIOK (Zero) } 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, 4, Offset (0x74), DMCH, 3, Offset (0xE0), CRE0, 8, CRE1, 8, CRE2, 8, CRE3, 8, CRE4, 8, CRE5, 8, CRE6, 8, Offset (0xF0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, Offset (0xF5), OPT5, 8, OPT6, 8, Offset (0xF9), OPT9, 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) } If (LEqual (Arg0, 0x05)) { ShiftRight (Local0, 0x02, Local0) } If (LEqual (Arg0, 0x08)) { ShiftRight (Local0, One, Local0) } 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)) If (LEqual (Arg0, 0x05)) { ShiftLeft (IOH2, 0x08, Local1) Or (IOL2, Local1, Local1) } Else { ShiftLeft (IOAH, 0x08, Local1) Or (IOAL, Local1, Local1) } RRIO (Arg0, Arg1, Local1, 0x08) If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03, Local1), Zero))) { RDMA (Arg0, Arg1, Increment (Local1)) } Store (Arg1, Local1) Store (One, Local2) If (LEqual (Arg0, 0x05)) { ShiftLeft (Arg1, 0x02, Local1) ShiftLeft (Local2, 0x02, Local2) } If (LEqual (Arg0, 0x08)) { ShiftLeft (Arg1, One, Local1) ShiftLeft (Local2, One, Local2) } Store (ACTR, Local0) Not (Local2, Local3) And (Local0, Local3, Local0) Or (Local0, Local1, Local0) Store (Local0, ACTR) EXFG () } Name (CRS1, ResourceTemplate () { IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8, _Y01) {} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y02) }) CreateWordField (CRS1, One, IRQM) CreateByteField (CRS1, \_SB.PCI0.SBRG._Y01._DMA, DMAM) CreateWordField (CRS1, \_SB.PCI0.SBRG._Y02._MIN, IO11) CreateWordField (CRS1, \_SB.PCI0.SBRG._Y02._MAX, IO12) CreateByteField (CRS1, \_SB.PCI0.SBRG._Y02._LEN, LEN1) Name (CRS2, ResourceTemplate () { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, _Y03) {2} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y04) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y05) }) CreateWordField (CRS2, One, IRQE) CreateByteField (CRS2, \_SB.PCI0.SBRG._Y03._DMA, DMAE) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y04._MIN, IO21) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y04._MAX, IO22) CreateByteField (CRS2, \_SB.PCI0.SBRG._Y04._LEN, LEN2) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y05._MIN, IO31) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y05._MAX, IO32) CreateByteField (CRS2, \_SB.PCI0.SBRG._Y05._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, One, IRQM) CreateByteField (Arg0, 0x04, DMAM) CreateWordField (Arg0, 0x08, IO11) ENFG (CGLD (Arg1)) 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 (0x07, 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 0x1E, // Length ) IO (Decode16, 0x0044, // Range Minimum 0x0044, // Range Maximum 0x00, // Alignment 0x0A, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x00, // Alignment 0x10, // 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 _Y06) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y07) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y08) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED50000, // Address Base 0x00040000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED08000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFF800000, // Address Base 0x00400000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFE80000, // Address Base 0x00080000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFC00000, // Address Base 0x00400000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y06._MIN, GP00) CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y06._MAX, GP01) CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y06._LEN, GP0L) Store (PMBS, GP00) Store (PMBS, GP01) Store (PMLN, GP0L) If (SMBS) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y07._MIN, GP10) CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y07._MAX, GP11) CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y07._LEN, GP1L) Store (SMBS, GP10) Store (SMBS, GP11) Store (SMBL, GP1L) } If (GPBS) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y08._MIN, GP20) CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y08._MAX, GP21) CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y08._LEN, GP2L) Store (GPBS, GP20) Store (GPBS, GP21) Store (GPLN, GP2L) } Return (CRS) } } Scope (\) { OperationRegion (RAMW, SystemMemory, 0xCF5F0000, 0x00010000) Field (RAMW, ByteAcc, NoLock, Preserve) { PAR0, 32, PAR1, 32, PAR2, 32 } OperationRegion (IOB2, SystemIO, 0xB2, 0x02) Field (IOB2, ByteAcc, NoLock, Preserve) { SMIC, 8, SMIS, 8 } Method (ISMI, 1, Serialized) { Store (Arg0, SMIC) } Method (GNVS, 1, Serialized) { Store (Arg0, PAR0) ISMI (0x70) Return (PAR1) } Method (SNVS, 2, Serialized) { Store (Arg0, PAR0) Store (Arg1, PAR1) ISMI (0x71) } Method (GMAX, 1, Serialized) { Store (Arg0, PAR0) ISMI (0x74) Return (PAR1) } Method (GMDX, 1, Serialized) { Store (Arg0, PAR0) ISMI (0x75) Return (PAR1) } Method (GCAX, 1, Serialized) { Store (Arg0, PAR0) ISMI (0x76) Return (PAR1) } Method (GCDX, 1, Serialized) { Store (Arg0, PAR0) ISMI (0x77) Return (PAR1) } } Scope (\_SB.PCI0.SBRG) { Device (ASOC) { Name (_HID, "ATK0110") Name (_UID, 0x01010110) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_INI, 0, NotSerialized) { Name (_T_0, Zero) Store (GNVS (0x37D8), _T_0) If (LEqual (_T_0, Zero)) { Store (0x42, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x02)) { Store (Zero, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x04)) { Store (0x85, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x06)) { Store (0xC8, Index (G3T0, 0x03)) } } } } } Name (MBIF, Package (0x08) { 0x03, "P5E-VM DO", 0x01010101, 0x01000101, 0xE0010001, Zero, Zero, Zero }) Name (ASBF, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (ASBF, Zero, ASB0) CreateDWordField (ASBF, 0x04, ASB1) Method (GGRP, 1, Serialized) { Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, Zero)) { Return (GRP0) } Else { If (LEqual (_T_0, 0x03)) { Return (GRP3) } Else { If (LEqual (_T_0, 0x04)) { Store (GNVS (0x17DF), Local0) If (LEqual (Local0, One)) { Return (GR41) } Else { Return (GR42) } } Else { If (LEqual (_T_0, 0x05)) { Return (GRP5) } Else { If (LEqual (_T_0, 0x06)) { Return (GRP6) } Else { If (LEqual (_T_0, 0x08)) { Return (GRP8) } Else { If (LEqual (_T_0, 0x09)) { Return (GRP9) } Else { If (LEqual (_T_0, 0x0B)) { Return (GRPB) } Else { If (LEqual (_T_0, 0x0D)) { Return (GRPD) } Else { Return (Zero) } } } } } } } } } } Method (GITM, 1, Serialized) { CreateDWordField (Arg0, Zero, PRM0) CreateByteField (Arg0, 0x03, GPID) Store (One, ASB0) Name (_T_0, Zero) Store (GPID, _T_0) If (LEqual (_T_0, Zero)) { GIT0 (PRM0) } Else { If (LEqual (_T_0, 0x03)) { GIT3 (PRM0) } Else { If (LEqual (_T_0, 0x04)) { GIT4 (PRM0) } Else { If (LEqual (_T_0, 0x05)) { GIT5 (PRM0) } Else { If (LEqual (_T_0, 0x06)) { GIT6 (PRM0) } Else { If (LEqual (_T_0, 0x08)) { GIT8 (PRM0) } Else { If (LEqual (_T_0, 0x09)) { GIT9 (PRM0) } Else { If (LEqual (_T_0, 0x0B)) { GITB (PRM0) } Else { If (LEqual (_T_0, 0x0D)) { GITD (PRM0) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASBF) } Method (SITM, 1, Serialized) { CreateDWordField (Arg0, Zero, PRM0) CreateDWordField (Arg0, 0x04, PRM1) CreateDWordField (Arg0, 0x08, PRM2) CreateByteField (Arg0, 0x03, GPID) Store (One, ASB0) Name (_T_0, Zero) Store (GPID, _T_0) If (LEqual (_T_0, Zero)) { SIT0 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x03)) { SIT3 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x04)) { SIT4 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x05)) { SIT5 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x06)) { SIT6 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x08)) { SIT8 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x09)) { SIT9 (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x0B)) { SITB (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x0D)) { SITD (PRM0, PRM1, PRM2) } Else { Store (Zero, ASB0) } } } } } } } } } Return (ASBF) } Method (OP2V, 2, NotSerialized) { Store (DerefOf (Index (Arg1, 0x04)), Local0) Store (DerefOf (Index (Arg1, 0x05)), Local1) Multiply (Arg0, Local1, Local1) Add (Local0, Local1, Local0) Return (Local0) } Method (V2OP, 2, NotSerialized) { Store (DerefOf (Index (Arg1, 0x04)), Local0) Store (DerefOf (Index (Arg1, 0x05)), Local1) Subtract (Arg0, Local0, Local0) Divide (Local0, Local1, Local1, Local0) Return (Local0) } } } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y09) }) 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._Y09._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 _Y0A) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.PCI0.PCIE._Y0A._BAS, BAS1) CreateDWordField (CRS, \_SB.PCI0.PCIE._Y0A._LEN, LEN1) Store (PCIB, BAS1) Store (PCIL, LEN1) Return (CRS) } } Scope (\_GPE) { Method (_L1E, 0, NotSerialized) { Notify (\_SB.PCI0.SBRG.ASOC, One) Sleep (0x03E8) } } Scope (ASOC) { Name (VESL, Zero) Method (SPLV, 1, Serialized) { And (Arg0, 0xFFFF, VESL) Store (VESL, PAR0) ISMI (0x88) Store (And (PAR0, 0xFFFF), Local0) Return (Local0) } Method (GPLV, 0, Serialized) { Return (VESL) } } 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 () }) } Method (UAR1._PRW, 0, NotSerialized) { Return (GPRW (0x08, 0x04)) } Device (OMSC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, Zero) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y0B) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y0C) }) Method (_CRS, 0, NotSerialized) { If (APIC) { CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0B._LEN, ML01) CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0B._BAS, MB01) CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0C._LEN, ML02) CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0C._BAS, MB02) Store (0xFEC00000, MB01) Store (0x1000, ML01) Store (0xFEE00000, MB02) Store (0x1000, ML02) } Return (CRS) } } 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 _Y0D) Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length _Y0E) Memory32Fixed (ReadWrite, 0x00100000, // Address Base 0x00000000, // Address Length _Y0F) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y10) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.RMEM._Y0D._BAS, BAS1) CreateDWordField (CRS, \_SB.RMEM._Y0D._LEN, LEN1) CreateDWordField (CRS, \_SB.RMEM._Y0E._BAS, BAS2) CreateDWordField (CRS, \_SB.RMEM._Y0E._LEN, LEN2) CreateDWordField (CRS, \_SB.RMEM._Y0F._LEN, LEN3) CreateDWordField (CRS, \_SB.RMEM._Y10._BAS, BAS4) CreateDWordField (CRS, \_SB.RMEM._Y10._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) Add (MG2B, MG2L, BAS4) Subtract (Zero, BAS4, LEN4) Return (CRS) } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CID, 0x0B03D041) 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, 0x130FD041) Method (_STA, 0, NotSerialized) { ShiftLeft (One, 0x0C, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (Zero) } Name (CRS1, ResourceTemplate () { IRQNoFlags () {12} }) Name (CRS2, 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 (CRS1) } Else { Return (CRS2) } } } Method (PS2M._PRW, 0, NotSerialized) { Return (GPRW (0x0F, 0x04)) } } 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 (EUSB) { Name (_ADR, 0x001D0007) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (USBE) { Name (_ADR, 0x001A0007) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (P0P4) { Name (_ADR, 0x001C0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR04) } Return (PR04) } } Device (P0P5) { Name (_ADR, 0x001C0001) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (P0P6) { Name (_ADR, 0x001C0002) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (P0P7) { Name (_ADR, 0x001C0003) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } } Device (P0P8) { Name (_ADR, 0x001C0004) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR08) } Return (PR08) } Device (JMF0) { Name (_ADR, Zero) 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 }) OperationRegion (CF40, PCI_Config, 0x40, 0x04) Field (CF40, ByteAcc, NoLock, Preserve) { , 3, CAB0, 1, , 18, SWAP, 1, CHN0, 1, Offset (0x04) } OperationRegion (CF80, PCI_Config, 0x80, 0x04) Field (CF80, ByteAcc, NoLock, Preserve) { , 19, CAB1, 1, Offset (0x03), CHN1, 1, Offset (0x04) } 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 (PMIO, 0x04) Name (PMDM, 0x06) Name (PSIO, 0x04) Name (PSDM, 0x06) Name (SMIO, 0x04) Name (SMDM, 0x06) Name (SSIO, 0x04) Name (SSDM, 0x06) Name (MODP, 0x05) Name (MODS, 0x05) Device (SDE0) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, PMIO)), Local0) Store (DerefOf (Index (PIOT, PSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODP, One)) { Store (DerefOf (Index (UDMA, PMDM)), Local1) If (LGreater (PMDM, 0x02)) { If (LAnd (LNotEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PMDM) Store (DerefOf (Index (UDMA, PMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, PMDM)), Local1) } If (LAnd (MODP, 0x04)) { Store (DerefOf (Index (UDMA, PSDM)), Local3) If (LGreater (PSDM, 0x02)) { If (LAnd (LNotEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, PSDM) Store (DerefOf (Index (UDMA, PSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, PSDM)), 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) If (LAnd (LNotEqual (Local0, Ones), LNotEqual (Local0, Zero))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), PMIO) } If (LAnd (LNotEqual (Local1, Ones), LNotEqual (Local1, Zero))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), PMDM) } } If (LAnd (LNotEqual (Local2, Ones), LNotEqual (Local2, Zero))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), PSIO) } If (LAnd (LNotEqual (Local3, Ones), LNotEqual (Local3, Zero))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), PSDM) } } Store (Local4, MODP) } 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 (PMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PMDM, DMAM) If (LAnd (MODP, One)) { Or (DMAM, 0x40, DMAM) } Else { 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 (PSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (PSDM, DMAM) If (LAnd (MODP, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } Device (SDE1) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store (DerefOf (Index (PIOT, SMIO)), Local0) Store (DerefOf (Index (PIOT, SSIO)), Local2) Store (0x1A, Local4) If (LAnd (MODS, One)) { Store (DerefOf (Index (UDMA, SMDM)), Local1) If (LGreater (SMDM, 0x02)) { If (LAnd (LNotEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SMDM) Store (DerefOf (Index (UDMA, SMDM)), Local1) } } } Or (Local4, One, Local4) } Else { Store (DerefOf (Index (MDMA, SMDM)), Local1) } If (LAnd (MODS, 0x04)) { Store (DerefOf (Index (UDMA, SSDM)), Local3) If (LGreater (SSDM, 0x02)) { If (LAnd (LNotEqual (SWAP, One), LEqual (CHN0, One))) { If (CAB0) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } If (LAnd (LEqual (SWAP, One), LEqual (CHN1, One))) { If (CAB1) { Store (0x02, SSDM) Store (DerefOf (Index (UDMA, SSDM)), Local3) } } } Or (Local4, 0x04, Local4) } Else { Store (DerefOf (Index (MDMA, SSDM)), 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) If (LAnd (LNotEqual (Local0, Ones), LNotEqual (Local0, Zero))) { Store (Match (PIOT, MEQ, Local0, MTR, Zero, Zero), SMIO) } If (LAnd (LNotEqual (Local1, Ones), LNotEqual (Local1, Zero))) { If (LAnd (Local4, One)) { Store (Match (UDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } Else { Store (Match (MDMA, MEQ, Local1, MTR, Zero, Zero), SMDM) } } If (LAnd (LNotEqual (Local2, Ones), LNotEqual (Local2, Zero))) { Store (Match (PIOT, MEQ, Local2, MTR, Zero, Zero), SSIO) } If (LAnd (LNotEqual (Local3, Ones), LNotEqual (Local3, Zero))) { If (LAnd (Local4, 0x04)) { Store (Match (UDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } Else { Store (Match (MDMA, MEQ, Local3, MTR, Zero, Zero), SSDM) } } Store (Local4, MODS) } 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 (SMIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SMDM, DMAM) If (LAnd (MODS, One)) { Or (DMAM, 0x40, DMAM) } Else { 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 (SSIO, PIOM) Or (PIOM, 0x08, PIOM) Store (SSDM, DMAM) If (LAnd (MODS, 0x04)) { Or (DMAM, 0x40, DMAM) } Else { Or (DMAM, 0x20, DMAM) } Concatenate (Local0, Local1, Local2) Return (Local2) } } } } } Device (P0P9) { Name (_ADR, 0x001C0005) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR09) } Return (PR09) } } Device (GBEC) { Name (_ADR, 0x00190000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0D, 0x04)) } } Device (USB0) { Name (_ADR, 0x001D0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 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, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 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, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 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, 0x001D0003) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 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, 0x001A0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 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 (USB5) { Name (_ADR, 0x001A0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 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 (USB6) { Name (_ADR, 0x001A0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 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)) } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.P0P2, 0x02) Notify (\_SB.PCI0.P0P4, 0x02) Notify (\_SB.PCI0.P0P5, 0x02) Notify (\_SB.PCI0.P0P6, 0x02) Notify (\_SB.PCI0.P0P7, 0x02) Notify (\_SB.PCI0.P0P8, 0x02) Notify (\_SB.PCI0.P0P9, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L08, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L1D, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L0F, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.EUSB, 0x02) Notify (\_SB.PCI0.USBE, 0x02) Notify (\_SB.PCI0.GBEC, 0x02) Notify (\_SB.PWRB, 0x02) } 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.PCI0.USB4, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB5, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L20, 0, NotSerialized) { Notify (\_SB.PCI0.USB6, 0x02) Notify (\_SB.PWRB, 0x02) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G0T0, Package (0x07) { 0x00060000, "AP version", 0x40000000, Zero, Zero, One, 0x02 }) Name (G0T1, Package (0x07) { 0x00060001, "Feature flag", 0x40000000, Zero, Zero, One, 0x08 }) Name (G0T2, Package (0x07) { 0x00070002, "ASAP function", 0x40000000, Zero, Zero, Zero, 0x02 }) Name (G0T3, Package (0x07) { 0x00070003, "AMD Cool&Quiet", 0x20000000, Zero, Zero, Zero, 0x02 }) Name (GRP0, Package (0x04) { G0T0, G0T1, G0T2, G0T3 }) Method (GIT0, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (Zero, ASB1) } Else { If (LEqual (_T_0, One)) { Store (One, ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (0x02, ASB1) } Else { If (LEqual (_T_0, 0x03)) { Store (0x03, ASB1) } Else { Store (Zero, ASB0) } } } } } Method (SIT0, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0300, DBG8) } Else { If (LEqual (_T_0, One)) { Store (0x0301, DBG8) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0302, DBG8) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0303, DBG8) } Else { Store (Zero, ASB0) } } } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G3T0, Package (0x07) { 0x03010000, "CPU frequency", Zero, 0x2710, 0x2710, 0x64, 0xC8 }) Name (G3T1, Package (0x07) { 0x03060001, "CPU ratio", Zero, 0x08, 0x08, One, 0x08 }) Name (G3T2, Package (0x07) { 0x03010002, "Memory frequency", Zero, 0x2710, 0x2710, 0x64, 0xC8 }) Name (G3T3, Package (0x08) { 0x03080003, "Memory to FSB ratio", Zero, Zero, 0x03, "1:1", "2:3", "4:3" }) Name (G3T4, Package (0x07) { 0x03010004, "PCI Bus frequency", Zero, 0x0D02, 0x8214, 0x64, 0x0A }) Name (G3T5, Package (0x07) { 0x03010005, "PCI Express frequency", Zero, 0x0D02, 0x8214, 0x64, 0x0A }) Name (G3T6, Package (0x07) { 0x03020006, "CPU voltage", Zero, 0x0672, 0x0672, 0x32, 0x08 }) Name (G3T7, Package (0x07) { 0x03020007, "Memory voltage", Zero, 0x02EE, 0x02EE, 0x32, 0x08 }) Name (G3T8, Package (0x07) { 0x03020008, "PCI Express voltage", Zero, 0x1388, 0x1388, 0x64, 0x0A }) Name (GRP3, Package (0x09) { G3T0, G3T1, G3T2, G3T3, G3T4, G3T5, G3T6, G3T7, G3T8 }) Method (GIT3, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0300, ASB1) } Else { If (LEqual (_T_0, One)) { Store (0x0301, ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0302, ASB1) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0303, ASB1) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0304, ASB1) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0305, ASB1) } Else { If (LEqual (_T_0, 0x06)) { Store (0x0306, ASB1) } Else { If (LEqual (_T_0, 0x07)) { Store (0x0307, ASB1) } Else { If (LEqual (_T_0, 0x08)) { Store (0x0308, ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } Method (SIT3, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0300, DBG8) } Else { If (LEqual (_T_0, One)) { Store (0x0301, DBG8) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0302, DBG8) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0303, DBG8) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0304, DBG8) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0305, DBG8) } Else { If (LEqual (_T_0, 0x06)) { Store (0x0306, DBG8) } Else { If (LEqual (_T_0, 0x07)) { Store (0x0307, DBG8) } Else { If (LEqual (_T_0, 0x08)) { Store (0x0308, DBG8) } Else { Store (Zero, ASB0) } } } } } } } } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G4T0, Package (0x04) { 0x04060000, " ASUS Advanced Q-Fan Control", 0x40000000, Zero }) Name (G4T1, Package (0x0A) { 0x04080011, " QST FAN profile", 0x00100001, 0x03, 0x05, "Disabled", "Performance", "Optimal", "Silent", "Ultra Silent" }) Name (G4T2, Package (0x09) { 0x04080011, " QST FAN profile", 0x00100001, 0x03, 0x04, "Disabled", "Performance", "Optimal", "Silent" }) Name (GR41, Package (0x02) { G4T0, G4T1 }) Name (GR42, Package (0x02) { G4T0, G4T2 }) Method (GIT4, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Store (GNVS (0x355B), ASB1) } Else { Store (Zero, ASB0) } } Method (SIT4, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { If (LNotEqual (GNVS (0x355B), Arg1)) { SNVS (0x355B, Arg1) Store (0x77, PAR0) ISMI (0x88) } } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G5T0, Package (0x07) { 0x05080000, "AI Profile", Zero, Zero, 0x02, "Performance", "Optimal" }) Name (GRP5, Package (0x01) { G5T0 }) Method (GIT5, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0500, ASB1) } Else { Store (Zero, ASB0) } } Method (SIT5, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0500, DBG8) } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G6T1, Package (0x07) { 0x06020001, "Vcore Voltage", 0x20000000, Zero, 0x0352, 0x02EE, 0x02 }) Name (G6T2, Package (0x07) { 0x06030002, "CPU Temperature", 0x20000000, Zero, 0x0258, 0x015E, 0x02 }) Name (G6T3, Package (0x07) { 0x06040021, "CPU Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T4, Package (0x07) { 0x06040041, "Chassis Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T5, Package (0x07) { 0x06040061, "Power Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T6, Package (0x07) { 0x06020081, "+12V Voltage", 0x20000000, Zero, 0x27D8, 0x0E10, 0x02 }) Name (G6T7, Package (0x07) { 0x06020082, "+5V Voltage", 0x20000000, Zero, 0x1194, 0x03E8, 0x02 }) Name (G6T8, Package (0x07) { 0x06020083, "+3.3V Voltage", 0x20000000, Zero, 0x0B9A, 0x0294, 0x02 }) Name (G6T9, Package (0x07) { 0x06030091, "MB Temperature", 0x20000000, Zero, 0x01C2, 0x01F4, 0x02 }) Name (GRP6, Package (0x09) { G6T1, G6T2, G6T3, G6T4, G6T5, G6T6, G6T7, G6T8, G6T9 }) Method (GIT6, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0600, ASB1) } Else { If (LEqual (_T_0, One)) { Store (0x0601, ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0602, ASB1) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0603, ASB1) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0604, ASB1) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0605, ASB1) } Else { If (LEqual (_T_0, 0x06)) { Store (0x0606, ASB1) } Else { If (LEqual (_T_0, 0x07)) { Store (0x0607, ASB1) } Else { If (LEqual (_T_0, 0x08)) { Store (0x0608, ASB1) } Else { If (LEqual (_T_0, 0x09)) { Store (0x0609, ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } } Method (SIT6, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0600, DBG8) } Else { If (LEqual (_T_0, One)) { Store (0x0601, DBG8) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0602, DBG8) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0603, DBG8) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0604, DBG8) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0605, DBG8) } Else { If (LEqual (_T_0, 0x06)) { Store (0x0606, DBG8) } Else { If (LEqual (_T_0, 0x07)) { Store (0x0607, DBG8) } Else { If (LEqual (_T_0, 0x08)) { Store (0x0608, DBG8) } Else { If (LEqual (_T_0, 0x09)) { Store (0x0609, DBG8) } Else { Store (Zero, ASB0) } } } } } } } } } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G8T1, Package (0x09) { 0x08080001, "N.O.S. sensitivity", Zero, Zero, 0x04, "Auto", "Standard", "Sensitive", "Heavy load" }) Name (G8T2, Package (0x0C) { 0x08080002, "N.O.S. profile", Zero, Zero, 0x07, Zero, "103%", "105%", "107%", "110%", "115%", "120%" }) Name (GRP8, Package (0x02) { G8T1, G8T2 }) Method (GIT8, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0800, ASB1) } Else { If (LEqual (_T_0, One)) { Store (0x0801, ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT8, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (0x0800, DBG8) } Else { If (LEqual (_T_0, One)) { Store (0x0801, DBG8) } Else { Store (Zero, ASB0) } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G9T0, Package (0x0A) { 0x09080000, "AI Tunning", Zero, One, 0x05, "Manual", "Auto", "Standard", Zero, "AI N.O.S" }) Name (GRP9, Package (0x01) { G9T0 }) Method (GIT9, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { Store (GNVS (0x32A9), ASB1) } Else { Store (Zero, ASB0) } } Method (SIT9, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, Zero)) { If (LNotEqual (GNVS (0x32A9), Arg1)) { If (And (Arg2, One)) { SNVS (0x32A9, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (GBT0, Package (0x07) { 0x0B060001, "System Performance", 0x00400000, Zero, 0x03, One, 0x04 }) Name (GBT1, Package (0x07) { 0x0B060003, "System GUI", One, Zero, Zero, Zero, Zero }) Name (GRPB, Package (0x02) { GBT0, GBT1 }) Name (VEAL, Zero) Method (GITB, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x03)) { Store (One, ASB1) } Else { Store (VEAL, ASB1) } } Method (SITB, 3, NotSerialized) { If (LEqual (And (Arg2, 0xFFFF), One)) { And (Arg1, 0xFFFF, VEAL) Store (VEAL, ASB1) Store (VEAL, PAR0) ISMI (0x88) } If (LEqual (And (Arg2, 0xFFFF), Zero)) { If (LEqual (VEAL, Zero)) { Store (VEAL, PAR0) ISMI (0x88) } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (GDT1, Package (0x07) { 0x0D070001, "RTC Alarm", 0x40000000, Zero, Zero, Zero, 0x02 }) Name (GDT2, Package (0x07) { 0x0D060002, "Alarm Date", Zero, Zero, Zero, One, 0x20 }) Name (GDT3, Package (0x07) { 0x0D060003, "Alarm Hour", Zero, Zero, Zero, One, 0x18 }) Name (GDT4, Package (0x07) { 0x0D060004, "Alarm Minute", Zero, Zero, Zero, One, 0x3C }) Name (GDT5, Package (0x07) { 0x0D060005, "Alarm Second", Zero, Zero, Zero, One, 0x3C }) Name (GRPD, Package (0x05) { GDT1, GDT2, GDT3, GDT4, GDT5 }) Method (GITD, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { Store (0x0D01, ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0D02, ASB1) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0D03, ASB1) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0D04, ASB1) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0D05, ASB1) } Else { Store (Zero, ASB0) } } } } } } Method (SITD, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { Store (0x0D01, DBG8) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0D02, DBG8) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0D03, DBG8) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0D04, DBG8) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0D05, DBG8) } Else { Store (Zero, ASB0) } } } } } } } 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) } } } OperationRegion (SMRG, SystemIO, 0x0400, 0x10) Field (SMRG, ByteAcc, NoLock, Preserve) { HSTS, 8, SSTS, 8, HSTC, 8, HCMD, 8, HADR, 8, HDT0, 8, HDT1, 8, BLKD, 8 } Field (SMRG, ByteAcc, NoLock, Preserve) { Offset (0x05), HDTW, 16 } Method (SCMD, 4, Serialized) { Store (0x05, Local0) While (Decrement (Local0)) { Store (0xFFFF, Local1) While (LAnd (HSTS, Decrement (Local1))) { Store (0xFE, HSTS) Stall (0x0A) } Store (HSTC, Local2) Store (Arg0, HADR) Store (Arg1, HCMD) Store (Arg2, HDTW) Store (Arg3, HSTC) Store (0xFFFF, Local1) While (Decrement (Local1)) { If (And (HSTS, 0x0C)) { Store (One, Local1) } If (LEqual (And (HSTS, 0x03), 0x02)) { Return (HDTW) } Stall (0x0A) } Store (0x42, HSTC) Store (0xFFFF, Local1) While (Decrement (Local1)) { If (And (HSTS, 0x10)) { Store (One, Local1) } Stall (0x0A) } Store (Zero, HSTC) } Return (Ones) } Method (SBYT, 2, NotSerialized) { SCMD (Arg0, Arg1, Zero, 0x44) } Method (WBYT, 3, NotSerialized) { SCMD (Arg0, Arg1, Arg2, 0x48) } Method (WWRD, 3, NotSerialized) { SCMD (Arg0, Arg1, Arg2, 0x4C) } Method (RSBT, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (And (SCMD (Arg0, Arg1, Zero, 0x44), 0xFF)) } Method (RBYT, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (And (SCMD (Arg0, Arg1, Zero, 0x48), 0xFF)) } Method (RWRD, 2, NotSerialized) { Or (Arg0, One, Arg0) Return (SCMD (Arg0, Arg1, Zero, 0x4C)) } Method (RBLK, 3, NotSerialized) { Or (Arg0, One, Local0) SCMD (Local0, Arg1, Arg2, 0x54) Store (HSTC, Local0) Store (HDT0, Local0) Add (Local0, One, Local7) Name (RBUF, Buffer (Local7) {}) Store (Zero, Local1) While (Local0) { Store (BLKD, Index (RBUF, Local1)) Decrement (Local0) Increment (Local1) } Return (RBUF) } Method (WBLK, 4, NotSerialized) { Store (HSTC, Local0) Store (Zero, Local0) While (LLessEqual (Local0, Arg2)) { Store (DerefOf (Index (Arg3, Local0)), BLKD) Increment (Local0) } And (Arg0, 0xFE, Local0) SCMD (Local0, Arg1, Arg2, 0x54) } Scope (_SB.PCI0.SBRG.SIOR) { Method (HWV0, 0, NotSerialized) { Return (Multiply (VCOR, 0x08)) } Method (HWV1, 0, NotSerialized) { Return (Multiply (V12V, 0x08)) } Method (HWV3, 0, NotSerialized) { Return (Multiply (V33V, 0x08)) } Method (HWV5, 0, NotSerialized) { Return (Multiply (V50V, 0x08)) } Method (HWT0, 0, NotSerialized) { Store (MBTE, Local1) Multiply (Local1, 0x0A, Local1) Return (Local1) } Method (HWT1, 0, NotSerialized) { Store (0x02, PAR0) ISMI (QSTS) Store (PAR0, Local0) Multiply (Local0, 0x05, Local0) Sleep (0x07D0) Return (Local0) } Method (HWT2, 0, NotSerialized) { Store (0x02, BSEL) Store (TSR1, Local1) Multiply (Local1, 0x0A, Local1) Store (TSR2, Local2) Multiply (Local2, 0x05, Local2) Add (Local1, Local2, Local1) Return (Local1) } Method (HWF1, 0, NotSerialized) { Store (0x16, PAR0) ISMI (QSTS) Store (PAR0, Local0) Sleep (0x07D0) Return (Local0) } Method (HWF2, 0, NotSerialized) { Store (FAN3, Local0) Store (Zero, BSEL) And (FD21, 0x80, Local1) ShiftRight (Local1, 0x07, Local1) Multiply (Local1, 0x04, Local1) Divide (FD13, 0x40, Local2, Local3) Add (Local1, Local3, Local1) While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd ( LLess (Local0, 0x64), LGreater (Local1, Zero)))) { If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07))) { If (LEqual (Local0, 0xFF)) { Store (0x07, Local1) } Else { Add (Local1, One, Local1) } Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD21, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD21) Store (FD13, Local3) And (Local3, 0x3F, Local3) Multiply (Local2, 0x40, Local2) Add (Local3, Local2, Local2) Store (Local2, FD13) If (LNotEqual (Local0, 0xFF)) { Sleep (0x012C) } Store (FAN3, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x07, Local3) Store (FD21, Local4) And (Local4, 0x7F, Local4) Or (Local3, Local4, FD21) Store (FD13, Local3) And (Local3, 0x3F, Local3) Multiply (Local2, 0x40, Local2) Add (Local3, Local2, Local2) Store (Local2, FD13) Sleep (0x012C) Store (FAN3, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } OperationRegion (IOB2, SystemIO, 0xB2, 0x02) Field (IOB2, ByteAcc, NoLock, Preserve) { SMIC, 8, SMID, 8 } OperationRegion (HWRE, SystemIO, IOHW, 0x0A) Field (HWRE, ByteAcc, NoLock, Preserve) { Offset (0x05), HIDX, 8, HDAT, 8 } IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve) { Offset (0x04), CHNM, 1, CFNM, 1, CHNS, 2, CFNS, 2, Offset (0x05), SYST, 8, TRGT, 8, Offset (0x08), SSDN, 8, CSDN, 8, SSUP, 8, CSUP, 8, Offset (0x20), VCOR, 8, V12V, 8, Offset (0x23), V33V, 8, Offset (0x25), V50V, 8, Offset (0x27), MBTE, 8, FAN1, 8, FAN2, 8, FAN3, 8, Offset (0x3F), CFN3, 8, Offset (0x47), FDR1, 8, Offset (0x4B), FD13, 8, FD15, 8, Offset (0x4E), BSEL, 3, Offset (0x4F), Offset (0x50), TSR1, 8, , 7, TSR2, 1, Offset (0x53), FAN4, 8, Offset (0x59), FND4, 8, Offset (0x5D), FD21, 8 } } Scope (_SB.PCI0.SBRG.ASOC) { Name (CORV, Package (0x05) { 0x06020000, "Vcore Voltage", 0x0352, 0x0640, One }) Name (V3VV, Package (0x05) { 0x06020001, " +3.3 Voltage", 0x0B9A, 0x0E2E, One }) Name (V5VV, Package (0x05) { 0x06020002, " +5 Voltage", 0x1194, 0x157C, One }) Name (VV12, Package (0x05) { 0x06020003, " +12 Voltage", 0x27D8, 0x35E8, One }) Name (VPAR, Package (0x04) { Package (0x03) { Zero, One, Zero }, Package (0x03) { 0x22, 0x22, Zero }, Package (0x03) { 0x14, 0x0A, Zero }, Package (0x03) { 0x3C, 0x0A, Zero } }) Name (VBUF, Package (0x05) { 0x04, CORV, V3VV, V5VV, VV12 }) Method (VGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWV0 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWV3 ()) } If (LEqual (Arg0, 0x02)) { Return (^^SIOR.HWV5 ()) } If (LEqual (Arg0, 0x03)) { Return (^^SIOR.HWV1 ()) } } Name (CPUT, Package (0x05) { 0x06030000, "CPU Temperature", 0x0258, 0x03B6, 0x00010001 }) Name (MBTP, Package (0x05) { 0x06030001, "MB Temperature", 0x01C2, 0x03B6, 0x00010001 }) Name (TBUF, Package (0x03) { 0x02, CPUT, MBTP }) Method (TGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWT1 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWT0 ()) } } Name (CPUF, Package (0x05) { 0x06040000, "CPU FAN Speed", 0x0258, 0x1C20, 0x00010001 }) Name (CHF1, Package (0x05) { 0x06040001, "CHASSIS FAN Speed", 0x0258, 0x1C20, 0x00010001 }) Name (FBUF, Package (0x03) { 0x02, CPUF, CHF1 }) Method (FGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWF1 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWF2 ()) } } Method (VSIF, 0, NotSerialized) { Return (VBUF) } Method (RVLT, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (VGET (Local0), Local1) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), Zero)), Local2) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)), Local3) Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)), Local4) Multiply (Local1, Add (Local2, Local3), Local5) Divide (Local5, Local3, , Local5) Add (Local5, Local4, Local5) Return (Local5) } Method (SVLT, 1, NotSerialized) { And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0) Store (DerefOf (Index (VBUF, Zero)), Local1) If (LGreaterEqual (Local0, Local1)) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (VBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (VBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (VBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (VBUF, Local0)), 0x04)) Return (One) } Method (TSIF, 0, NotSerialized) { Return (TBUF) } Method (RTMP, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (TGET (Local0), Local1) Return (Local1) } Method (STMP, 1, NotSerialized) { Store (And (DerefOf (Index (Arg0, Zero)), 0xFFFF), Local0) Store (DerefOf (Index (TBUF, Zero)), Local1) If (LGreaterEqual (Local0, Local1)) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (TBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (TBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (TBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (TBUF, Local0)), 0x04)) Return (One) } Method (FSIF, 0, NotSerialized) { Return (FBUF) } Method (RFAN, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Store (FGET (Local0), Local1) Return (Local1) } Method (SFAN, 1, NotSerialized) { And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0) Store (DerefOf (Index (FBUF, Zero)), Local1) If (LGreaterEqual (Local0, Local1)) { Return (Zero) } Increment (Local0) Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (FBUF, Local0)), One)) Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (FBUF, Local0)), 0x02)) Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (FBUF, Local0)), 0x03)) Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (FBUF, Local0)), 0x04)) Store (DerefOf (Index (Arg0, 0x05)), Index (DerefOf (Index (FBUF, Local0)), 0x05)) Return (One) } } Scope (_SB.PCI0) { Device (GFX0) { Name (_ADR, 0x00020000) OperationRegion (IGDM, SystemMemory, 0xCF55E0F4, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, Offset (0xF0), IBTT, 4, IPSC, 2, IPAT, 4, IBIA, 3, IBLC, 2, Offset (0xF2), ITVF, 4, ITVM, 4, IDVM, 1, IDVS, 2, ISSC, 1, Offset (0xF4), 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, Offset (0x400), GVD1, 57344 } 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, NotSerialized) { If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (One, SCIS) Store (Zero, GEFC) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (GBDA, 0, NotSerialized) { If (LEqual (GESF, Zero)) { Store (0x0279, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x20, 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) XOr (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)) { 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) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, NotSerialized) { 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)) { ShiftRight (PARM, 0x1C, Local0) If (LEqual (Local0, Zero)) { And (PARM, 0x0F, ITVF) And (PARM, 0xF0, ITVM) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { 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)) { ShiftRight (PARM, 0x1C, Local0) If (LEqual (Local0, Zero)) { And (PARM, 0xFF, IPSC) Subtract (And (ShiftRight (PARM, 0x08), 0xFF), One, IPAT) And (ShiftRight (PARM, 0x12), 0x03, IBLC) And (ShiftRight (PARM, 0x14), 0x07, IBIA) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { If (LEqual (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) 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) } 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 (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xBC), ASLS, 32 } Name (M512, 0x08) Name (M1GB, 0x10) 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 ,, _Y11, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y12, AddressRangeMemory, TypeStatic) }) CreateDWordField (CRS, \_SB.PCI0._Y11._MIN, MIN5) CreateDWordField (CRS, \_SB.PCI0._Y11._MAX, MAX5) CreateDWordField (CRS, \_SB.PCI0._Y11._LEN, LEN5) CreateDWordField (CRS, \_SB.PCI0._Y12._MIN, MIN6) CreateDWordField (CRS, \_SB.PCI0._Y12._MAX, MAX6) CreateDWordField (CRS, \_SB.PCI0._Y12._LEN, LEN6) 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) 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 (Zero, AAXB) } Method (_WAK, 1, NotSerialized) { ShiftLeft (Arg0, 0x04, DBG8) WAK (Arg0) If (IOWK) {} Else { Notify (\_SB.PWRB, 0x02) } 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) } OperationRegion (IORK, SystemIO, 0xB3, One) Field (IORK, ByteAcc, NoLock, Preserve) { IOWK, 8 } Method (_GPE._L02, 0, Serialized) { \_SB.PCI0.IEIT.EITV () } Scope (_SB.PCI0) { Device (IEIT) { OperationRegion (EITM, SystemMemory, EITO, 0x80) Field (EITM, AnyAcc, NoLock, Preserve) { SIGN, 64, SIZE, 32, OVER, 32, SUBF, 32, EITD, 32, FNCD, 32, VVER, 32, ATTR, 32, RSV1, 224, EITC, 32, DAT0, 64, SPD0, 32, SPD1, 32, RSV2, 352 } Method (EITV, 0, Serialized) { Store (0xFC, TRP0) Store (Zero, ETCR) Return (Zero) } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_HID, EisaId ("INT5400")) Name (_CID, 0x020CD041) Name (_UID, Zero) Method (SCIT, 0, NotSerialized) { Return (0x0842) } Method (SCIB, 0, NotSerialized) { Return (One) } Method (ADDR, 0, NotSerialized) { Return (EITO) } OperationRegion (EITR, SystemIO, SCIT, 0x04) Field (EITR, ByteAcc, NoLock, Preserve) { RSVD, 1, ETCR, 1 } OperationRegion (SMIO, SystemIO, 0xB2, 0x02) Field (SMIO, ByteAcc, NoLock, Preserve) { TRP0, 8, TRP1, 8 } } } Device (_SB.PCI0.SBRG.TPM) { Name (_HID, EisaId ("IFX0102")) Name (_CID, 0x310CD041) Name (_UID, One) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x004E, // Range Minimum 0x004E, // 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) { Return (0x0F) } Else { 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 (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Return (Buffer (One) { 0x7F }) } Else { If (LEqual (_T_0, One)) { Return ("1.0") } Else { If (LEqual (_T_0, 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 (0x0BB8) Store (TAAX, AAXB) Return (Zero) } Else { If (LEqual (_T_0, 0x03)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0x0F, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x0BB8) Store (AAXB, MBUF) Store (BUF2, Local3) Store (Zero, Index (PPI1, Zero)) Store (Local3, Index (PPI1, One)) Store (TAAX, AAXB) Return (PPI1) } Else { If (LEqual (_T_0, 0x04)) { Return (0x02) } Else { If (LEqual (_T_0, 0x05)) { Store (AAXB, TAAX) Store (CMRQ, BUF0) Store (0xF0, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x0BB8) Store (AAXB, MBUF) ShiftRight (BUF2, 0x04) Store (BUF2, Local3) Store (CMER, BUF0) Store (0xFF, BUF1) Store (Zero, BUF2) Store (Zero, BUF3) Store (MBUF, AAXB) Store (0xFB, PSMI) Sleep (0x0BB8) 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 (0x0BB8) 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 (_T_0, 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 (_T_1, Zero) Store (ToInteger (Arg2), _T_1) If (LEqual (_T_1, Zero)) { Return (Buffer (One) { 0x03 }) } Else { If (LEqual (_T_1, 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.SBRG.SPTS (Arg0) \_SB.PCI0.NPTS (Arg0) \_SB.PCI0.GFX0.OPTS (Arg0) } } Method (WAK, 1, NotSerialized) { \_SB.PCI0.SBRG.SIOW (Arg0) \_SB.PCI0.SBRG.SWAK (Arg0) \_SB.PCI0.NWAK (Arg0) \_SB.PCI0.GFX0.OWAK (Arg0) } }