/* * Intel ACPI Component Architecture * AML Disassembler version 20060912 * * Disassembly of dsdt.dat, Tue Dec 5 08:49:38 2006 * * * Original Table Header: * Signature "DSDT" * Length 0x00008A52 (35410) * Revision 0x01 * OEM ID "A0545" * OEM Table ID "A0545000" * OEM Revision 0x00000000 (0) * Creator ID "INTL" * Creator Revision 0x20060113 (537264403) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "A0545", "A0545000", 0x00000000) { Scope (_PR) { Processor (CPU1, 0x01, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0x3FFA8EE0, 0x02E3) Name (NCPU, 0x02) Name (CFGD, 0x09) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) OperationRegion (PMRG, SystemIO, PMBS, 0x50) Field (PMRG, ByteAcc, NoLock, Preserve) { Offset (0x41), DEV4, 1, DEV5, 1, DEV6, 1, DEV7, 1, STS4, 1, STS5, 1, STS6, 1, STS7, 1 } Store (One, STS7) Store (One, DEV7) If (LEqual (TBLD, 0x80)) { If (LNotEqual (CFGD, 0x80)) { Load (STBL, HNDL) } Store (One, TBLD) } } } } Scope (_PR) { Processor (CPU2, 0x02, 0x00000810, 0x06) { OperationRegion (STBL, SystemMemory, 0x3FFA91D0, 0x02DA) Name (NCPU, 0x02) Name (CFGD, 0x09) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) If (LEqual (TBLD, 0x80)) { If (LNotEqual (CFGD, 0x80)) { Load (STBL, HNDL) } Store (One, TBLD) } } } } Scope (_PR) { Processor (CPU3, 0x03, 0x00000000, 0x00) { OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF) Name (NCPU, 0x80) Name (CFGD, 0x80) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) If (LEqual (TBLD, 0x80)) { If (LAnd (LEqual (And (TYPE, One), One), LLessEqual ( NCPU, 0x08))) { If (LNotEqual (CFGD, 0x80)) { Load (STBL, HNDL) } Store (One, TBLD) } } } } } Scope (_PR) { Processor (CPU4, 0x04, 0x00000000, 0x00) { OperationRegion (STBL, SystemMemory, 0xFFFF0000, 0xFFFF) Name (NCPU, 0x80) Name (CFGD, 0x80) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, DAT0) Store (DAT0, TYPE) OperationRegion (PMRG, SystemIO, PMBS, 0x50) Field (PMRG, ByteAcc, NoLock, Preserve) { Offset (0x41), DEV4, 1, DEV5, 1, DEV6, 1, DEV7, 1, STS4, 1, STS5, 1, STS6, 1, STS7, 1 } If (LEqual (TBLD, 0x80)) { If (LAnd (LEqual (And (TYPE, One), One), LLessEqual ( NCPU, 0x08))) { If (LNotEqual (CFGD, 0x80)) { Load (STBL, HNDL) Store (One, STS6) Store (One, DEV6) } Store (One, TBLD) } } } } } 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 (HTBA, 0xFED1F404) Name (EAQF, One) Name (CFTE, Zero) Name (PCIB, 0xE0000000) Name (PCIL, 0x10000000) Name (SMBS, 0x0400) Name (CPUC, 0x04) OperationRegion (BIOS, SystemMemory, 0x3FFAE064, 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, 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 2001")) { 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 (DEBX, SystemIO, 0x80, 0x02) Field (DEBX, WordAcc, NoLock, Preserve) { DBGX, 16 } OperationRegion (DEB0, SystemIO, DP80, One) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, DP90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Scope (_SB) { Name (PR00, Package (0x19) { 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, LNKD, 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, LNKA, Zero }, Package (0x04) { 0x001CFFFF, One, LNKB, 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, LNKB, Zero } }) Name (AR00, Package (0x19) { 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, 0x13 }, 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, 0x10 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x11 }, 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, 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 (PR05, 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 (AR05, 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 (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR01, Package (0x0D) { Package (0x04) { 0x000FFFFF, Zero, LNKE, Zero }, Package (0x04) { 0xFFFF, Zero, LNKF, Zero }, Package (0x04) { 0xFFFF, One, LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, LNKH, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKF, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKH, Zero }, Package (0x04) { 0x0002FFFF, One, LNKE, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKF, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKG, Zero } }) Name (AR01, Package (0x0D) { Package (0x04) { 0x000FFFFF, Zero, Zero, 0x14 }, Package (0x04) { 0xFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0xFFFF, One, Zero, 0x16 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x17 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x15 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x16 } }) Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (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 (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 (USXD, 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)) { Notify (PWRB, 0x02) } 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 (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 (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 (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) } If (And (OPT3, 0x20)) { Notify (PS2M, 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 0x1C, // Length ) IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x00, // Alignment 0x0B, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x00, // Alignment 0x0E, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0088, // Range Minimum 0x0088, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x008C, // Range Minimum 0x008C, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _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, 0xFFAFE000, // Address Base 0x0000EC00, // Address Length ) Memory32Fixed (ReadWrite, 0xFFB00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00070000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFF00000, // Address Base 0x000FFFFF, // 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 (\_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 (0x37A0), _T_0) If (LEqual (_T_0, Zero)) { Store (0xA6, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, One)) { Store (0x21, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x02)) { Store (0x64, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x03)) { Store (0x42, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x04)) { Store (0xE9, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x05)) { Store (Zero, Index (G3T0, 0x03)) } Else { If (LEqual (_T_0, 0x06)) { Store (0x012C, Index (G3T0, 0x03)) } } } } } } } Store (Subtract (GNVS (0x6790), 0x06), Index (G3T2, 0x03)) } Name (MBIF, Package (0x08) { 0x03, "P5B-DELUXE", 0x01010101, 0x01010101, 0xC0000001, 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)) { Return (GRP4) } 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, 0x0A)) { Return (GRPA) } Else { If (LEqual (_T_0, 0x0B)) { Return (GRPB) } 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, 0x0A)) { GITA (PRM0) } Else { If (LEqual (_T_0, 0x0B)) { GITB (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, 0x0A)) { SITA (PRM0, PRM1, PRM2) } Else { If (LEqual (_T_0, 0x0B)) { SITB (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 (HPTC, SystemMemory, HTBA, 0x04) Field (HPTC, ByteAcc, 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) { } Scope (\) { OperationRegion (RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000) Field (RAMW, ByteAcc, NoLock, Preserve) { PAR0, 32, PAR1, 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) } } 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 (_L1C, 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 (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 (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 (0x1F, 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 (0x1D, 0x04)) } } Device (SATA) { Name (_ADR, 0x001F0002) Name (^NATA, Package (0x01) { 0x001F0002 }) 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) { FZHD () 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) { FZHD () 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { /* 0000 */ 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 (RETB) } } 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { /* 0000 */ 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 (RETB) } } 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)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR05) } Return (PR05) } } Device (P0P6) { Name (_ADR, 0x001C0002) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR06) } Return (PR06) } } Device (P0P7) { Name (_ADR, 0x001C0003) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR07) } Return (PR07) } } 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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 (JMF1) { Name (_ADR, One) 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local0) Store (Buffer (0x07) { /* 0000 */ 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)) } } Device (USB0) { Name (_ADR, 0x001D0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x03, 0x04)) } } Device (USB1) { Name (_ADR, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x04, 0x04)) } } Device (USB2) { Name (_ADR, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0C, 0x04)) } } Device (USB3) { Name (_ADR, 0x001D0003) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0E, 0x04)) } } Device (USB4) { Name (_ADR, 0x001A0000) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0E, 0x04)) } } Device (USB5) { Name (_ADR, 0x001A0001) OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (USXD, 0, NotSerialized) { If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (Zero, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x05, 0x04)) } } } 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 (_L1F, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L1D, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.EUSB, 0x02) Notify (\_SB.PCI0.USBE, 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) } } 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, 0x04 }) Name (GRP0, Package (0x02) { G0T0, G0T1 }) 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 { 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 { Store (Zero, ASB0) } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G3T0, Package (0x07) { 0x03010011, "CPU frequency", Zero, Zero, 0x2710, 0x64, 0x0227 }) Name (G3T2, Package (0x07) { 0x03060013, "CPU ratio", Zero, Zero, 0x06, One, 0x18 }) Name (G321, Package (0x09) { 0x03820032, "DRAM voltage", Zero, Zero, 0x0708, 0x64, 0x04, One, "Auto" }) Name (G322, Package (0x0C) { 0x03080031, "DRAM frequency", Zero, Zero, 0x07, "Auto", Zero, "533 MHz", "667 MHz", "800 MHz", "889 MHz", "1067 MHz" }) Name (G340, Package (0x09) { 0x03810051, "PCI Express frequency", Zero, Zero, 0x2328, 0x64, 0x3D, One, "Auto" }) Name (GRP3, Package (0x05) { G3T0, G3T2, G321, G322, G340 }) Method (GIT3, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Subtract (GNVS (0x02C0), 0x64, ASB1) } Else { If (LEqual (_T_0, 0x13)) { Subtract (GNVS (0x8298), 0x06, ASB1) } Else { If (LEqual (_T_0, 0x32)) { Store (GNVS (0x441C), ASB1) Add (ASB1, One, ASB1) ShiftRight (ASB1, One, ASB1) } Else { If (LEqual (_T_0, 0x31)) { Store (GNVS (0x3480), ASB1) } Else { If (LEqual (_T_0, 0x51)) { Store (GNVS (0x62D0), ASB1) } Else { Store (Zero, ASB0) } } } } } } Method (SIT3, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Add (Arg1, 0x64, Local2) If (LNotEqual (GNVS (0x02C0), Local2)) { If (LGreaterEqual (Local2, 0x01F4)) { Or (ASB0, 0x02, ASB0) If (And (Arg2, One)) { SNVS (0x02C0, Local2) } } Else { CreateByteField (CLKR, Zero, CB00) CreateWordField (CLKR, 0x0B, CBMN) Store (RBLK (0xD2, Zero, 0x13), CLKR) Multiply (Arg1, 0x03, Local0) CreateByteField (MNBF, Local0, MN00) CreateWordField (MNBF, Increment (Local0), MNVL) If (LEqual (CB00, MN00)) { If (And (Arg2, One)) { Store (MNVL, CBMN) WBLK (0xD2, Zero, 0x13, CLKR) } } Else { Or (ASB0, 0x02, ASB0) } If (And (Arg2, One)) { SNVS (0x02C0, Local2) } } } } Else { If (LEqual (_T_0, 0x13)) { If (LNotEqual (GNVS (0x8298), Add (Arg1, 0x06, Arg1))) { If (And (Arg2, One)) { SNVS (0x8298, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x32)) { Store (GNVS (0x441C), Local0) Name (_T_1, Zero) Store (Local0, _T_1) If (LEqual (_T_1, 0x03)) { Store (0x02, Local0) } Else { If (LEqual (_T_1, 0x05)) { Store (0x03, Local0) } Else { If (LEqual (_T_1, 0x07)) { Store (0x04, Local0) } Else { And (Local0, 0x07, Local0) } } } If (LNotEqual (Local0, Arg1)) { Or (ASB0, 0x02, ASB0) } If (And (Arg2, One)) { Name (_T_2, Zero) Store (Arg1, _T_2) If (LEqual (_T_2, Zero)) { SNVS (0x441C, Zero) } Else { If (LEqual (_T_2, One)) { SNVS (0x441C, One) } Else { If (LEqual (_T_2, 0x02)) { SNVS (0x441C, 0x03) } Else { If (LEqual (_T_2, 0x03)) { SNVS (0x441C, 0x05) } Else { If (LEqual (_T_2, 0x04)) { SNVS (0x441C, 0x07) } Else { SNVS (0x441C, Zero) } } } } } } } Else { If (LEqual (_T_0, 0x31)) { If (LNotEqual (GNVS (0x3480), Arg1)) { If (And (Arg2, One)) { SNVS (0x3480, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x51)) { If (LNotEqual (GNVS (0x62D0), Arg1)) { CreateByteField (CLKR, 0x10, CB16) Store (RBLK (0xD2, Zero, 0x13), CLKR) CreateByteField (PCEF, Arg1, PC16) If (LEqual (CB16, PC16)) { If (And (Arg2, One)) { Store (PC16, CB16) WBLK (0xD2, Zero, 0x13, CLKR) SNVS (0x62D0, Arg1) } } } } Else { Store (Zero, ASB0) } } } } } } Name (CLKR, Buffer (0x18) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (PCEF, Buffer (0x3E) { /* 0000 */ 0xC8, 0xB4, 0xB6, 0xB8, 0xBA, 0xBC, 0xBE, 0xC0, /* 0008 */ 0xC2, 0xC4, 0xC6, 0xC8, 0xCA, 0xCC, 0xCE, 0xD0, /* 0010 */ 0xD2, 0xD4, 0xD6, 0xD8, 0xDA, 0xDC, 0xDE, 0xE0, /* 0018 */ 0xE2, 0xE4, 0xE6, 0xE8, 0xEA, 0xEC, 0xEE, 0xF0, /* 0020 */ 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, 0x00, /* 0028 */ 0x02, 0x04, 0x06, 0x08, 0x85, 0x86, 0x87, 0x88, /* 0030 */ 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, /* 0038 */ 0x91, 0x92, 0x93, 0x94, 0x95, 0x96 }) Name (MNBF, Buffer (0x04B3) { /* 0000 */ 0x05, 0x60, 0x85, 0x05, 0xBC, 0xFC, 0x05, 0x3C, /* 0008 */ 0xFF, 0x05, 0xB9, 0xF4, 0x05, 0x39, 0xF7, 0x05, /* 0010 */ 0xFA, 0xFD, 0x05, 0xF9, 0xFB, 0x05, 0x39, 0xFE, /* 0018 */ 0x05, 0x38, 0xFC, 0x05, 0x76, 0xF5, 0x05, 0xB6, /* 0020 */ 0xF7, 0x05, 0x77, 0xFE, 0x05, 0x36, 0xFC, 0x05, /* 0028 */ 0x76, 0xFE, 0x05, 0xF5, 0xFB, 0x05, 0x73, 0xF4, /* 0030 */ 0x05, 0xB3, 0xF6, 0x05, 0xB4, 0xFD, 0x05, 0xF3, /* 0038 */ 0xFA, 0x05, 0xF3, 0xFC, 0x05, 0x33, 0xFF, 0x05, /* 0040 */ 0x30, 0xF2, 0x05, 0x30, 0xF4, 0x05, 0x31, 0xFB, /* 0048 */ 0x05, 0x30, 0xF8, 0x05, 0x30, 0xFA, 0x05, 0x30, /* 0050 */ 0xFC, 0x05, 0x30, 0xFE, 0x05, 0x2D, 0xF0, 0x05, /* 0058 */ 0xAF, 0xFC, 0x05, 0xED, 0xF3, 0x05, 0xAD, 0xF5, /* 0060 */ 0x05, 0x2E, 0xFD, 0x01, 0xEB, 0xB2, 0x01, 0x7C, /* 0068 */ 0xFB, 0x01, 0x3C, 0xFD, 0x01, 0x3C, 0xFF, 0x01, /* 0070 */ 0xF8, 0xEF, 0x01, 0x3A, 0xFA, 0x01, 0x78, 0xF3, /* 0078 */ 0x01, 0xFA, 0xFD, 0x01, 0xF8, 0xF6, 0x01, 0xB8, /* 0080 */ 0xF8, 0x01, 0x78, 0xFA, 0x01, 0x38, 0xFC, 0x01, /* 0088 */ 0xF8, 0xFD, 0x01, 0xB8, 0xFF, 0x01, 0xF4, 0xEE, /* 0090 */ 0x01, 0x77, 0xFE, 0x01, 0x34, 0xF2, 0x01, 0x36, /* 0098 */ 0xFD, 0x01, 0x74, 0xF5, 0x01, 0xF5, 0xFB, 0x01, /* 00A0 */ 0xB4, 0xF8, 0x01, 0x74, 0xFA, 0x01, 0xF4, 0xFB, /* 00A8 */ 0x01, 0xB4, 0xFD, 0x01, 0x34, 0xFF, 0x01, 0xF2, /* 00B0 */ 0xF6, 0x01, 0xB0, 0xEE, 0x01, 0x33, 0xFF, 0x01, /* 00B8 */ 0xB0, 0xF1, 0x01, 0x32, 0xFD, 0x01, 0xB0, 0xF4, /* 00C0 */ 0x01, 0x31, 0xFB, 0x01, 0xB0, 0xF7, 0x01, 0x30, /* 00C8 */ 0xF9, 0x01, 0xB0, 0xFA, 0x01, 0x30, 0xFC, 0x01, /* 00D0 */ 0xB0, 0xFD, 0x01, 0x30, 0xFF, 0x01, 0x2C, 0xEB, /* 00D8 */ 0x01, 0xAF, 0xFC, 0x01, 0xEC, 0xED, 0x01, 0x2E, /* 00E0 */ 0xFA, 0x01, 0xAC, 0xF0, 0x01, 0x2E, 0xFD, 0x01, /* 00E8 */ 0x6C, 0xF3, 0x01, 0xEE, 0xFF, 0x01, 0x2C, 0xF6, /* 00F0 */ 0x01, 0x2D, 0xFD, 0x01, 0xEC, 0xF8, 0x01, 0x6C, /* 00F8 */ 0xFA, 0x01, 0xAC, 0xFB, 0x01, 0x2C, 0xFD, 0x01, /* 0100 */ 0x6C, 0xFE, 0x01, 0xEC, 0xFF, 0x01, 0xE8, 0xE9, /* 0108 */ 0x01, 0xAB, 0xFC, 0x01, 0x68, 0xEC, 0x01, 0x6A, /* 0110 */ 0xF9, 0x01, 0xE8, 0xEE, 0x01, 0x2A, 0xFC, 0x01, /* 0118 */ 0x68, 0xF1, 0x01, 0xAA, 0xFE, 0x01, 0xE8, 0xF3, /* 0120 */ 0x01, 0x29, 0xFB, 0x01, 0x68, 0xF6, 0x01, 0xA8, /* 0128 */ 0xF7, 0x01, 0xE8, 0xF8, 0x02, 0x60, 0x85, 0x02, /* 0130 */ 0x7C, 0xFB, 0x02, 0xBC, 0xFC, 0x02, 0xB7, 0xE8, /* 0138 */ 0x02, 0x3C, 0xFF, 0x02, 0x3B, 0xFC, 0x02, 0xB9, /* 0140 */ 0xF4, 0x02, 0x3A, 0xFA, 0x02, 0x39, 0xF7, 0x02, /* 0148 */ 0x36, 0xEB, 0x02, 0xFA, 0xFD, 0x02, 0x76, 0xED, /* 0150 */ 0x02, 0xF9, 0xFB, 0x02, 0xB8, 0xF8, 0x02, 0x39, /* 0158 */ 0xFE, 0x02, 0xF6, 0xF1, 0x02, 0x38, 0xFC, 0x02, /* 0160 */ 0x36, 0xF4, 0x02, 0x76, 0xF5, 0x02, 0xB8, 0xFF, /* 0168 */ 0x02, 0xB6, 0xF7, 0x02, 0xB6, 0xF8, 0x02, 0x77, /* 0170 */ 0xFE, 0x02, 0xF6, 0xFA, 0x02, 0x36, 0xFC, 0x02, /* 0178 */ 0x36, 0xFD, 0x02, 0x76, 0xFE, 0x02, 0x76, 0xFF, /* 0180 */ 0x02, 0xF5, 0xFB, 0x02, 0x30, 0xE5, 0x02, 0x73, /* 0188 */ 0xF4, 0x02, 0x74, 0xFA, 0x02, 0xB3, 0xF6, 0x02, /* 0190 */ 0x30, 0xE9, 0x02, 0xB4, 0xFD, 0x02, 0x30, 0xEB, /* 0198 */ 0x02, 0xF3, 0xFA, 0x02, 0xF2, 0xF6, 0x02, 0xF3, /* 01A0 */ 0xFC, 0x02, 0x30, 0xEF, 0x02, 0x33, 0xFF, 0x02, /* 01A8 */ 0x30, 0xF1, 0x02, 0x30, 0xF2, 0x02, 0x32, 0xFD, /* 01B0 */ 0x02, 0x30, 0xF4, 0x02, 0x30, 0xF5, 0x02, 0x31, /* 01B8 */ 0xFB, 0x02, 0x30, 0xF7, 0x02, 0x30, 0xF8, 0x02, /* 01C0 */ 0x30, 0xF9, 0x02, 0x30, 0xFA, 0x02, 0x30, 0xFB, /* 01C8 */ 0x02, 0x30, 0xFC, 0x02, 0x30, 0xFD, 0x02, 0x30, /* 01D0 */ 0xFE, 0x02, 0x30, 0xFF, 0x02, 0x2D, 0xF0, 0x02, /* 01D8 */ 0xEA, 0xE0, 0x02, 0xAF, 0xFC, 0x02, 0xAA, 0xE2, /* 01E0 */ 0x02, 0xED, 0xF3, 0x02, 0x2E, 0xFA, 0x02, 0xAD, /* 01E8 */ 0xF5, 0x02, 0x2A, 0xE6, 0x02, 0x2E, 0xFD, 0x02, /* 01F0 */ 0xEA, 0xE7, 0x00, 0xEB, 0xB2, 0x00, 0xBD, 0xFE, /* 01F8 */ 0x00, 0x7C, 0xFB, 0x00, 0x3B, 0xF8, 0x00, 0x3C, /* 0200 */ 0xFD, 0x00, 0x79, 0xF1, 0x00, 0x3C, 0xFF, 0x00, /* 0208 */ 0xB7, 0xEA, 0x00, 0xF8, 0xEF, 0x00, 0xF5, 0xE3, /* 0210 */ 0x00, 0x3A, 0xFA, 0x00, 0x7B, 0xFF, 0x00, 0x78, /* 0218 */ 0xF3, 0x00, 0xB9, 0xF8, 0x00, 0xFA, 0xFD, 0x00, /* 0220 */ 0xB7, 0xF1, 0x00, 0xF8, 0xF6, 0x00, 0x75, 0xEA, /* 0228 */ 0x00, 0xB8, 0xF8, 0x00, 0x78, 0xF9, 0x00, 0x78, /* 0230 */ 0xFA, 0x00, 0xB9, 0xFF, 0x00, 0x38, 0xFC, 0x00, /* 0238 */ 0xF8, 0xFC, 0x00, 0xF8, 0xFD, 0x00, 0xB8, 0xFE, /* 0240 */ 0x00, 0xB8, 0xFF, 0x00, 0xF0, 0xDB, 0x00, 0xF4, /* 0248 */ 0xEE, 0x00, 0x70, 0xDD, 0x00, 0x77, 0xFE, 0x00, /* 0250 */ 0xF0, 0xDE, 0x00, 0x34, 0xF2, 0x00, 0x70, 0xE0, /* 0258 */ 0x00, 0xFF, 0xC4, 0x00, 0x3C, 0xBC, 0x00, 0xFC, /* 0260 */ 0xBC, 0x00, 0x7C, 0xBD, 0x00, 0xBF, 0xC7, 0x00, /* 0268 */ 0xBC, 0xBE, 0x00, 0xBE, 0xC5, 0x00, 0xFC, 0xBF, /* 0270 */ 0x00, 0x3F, 0xCA, 0x00, 0x3C, 0xC1, 0x00, 0xFC, /* 0278 */ 0xC1, 0x00, 0x7C, 0xC2, 0x00, 0xFF, 0xCC, 0x00, /* 0280 */ 0xBC, 0xC3, 0x00, 0x7C, 0xC4, 0x00, 0xFC, 0xC4, /* 0288 */ 0x00, 0x7F, 0xCF, 0x00, 0x3C, 0xC6, 0x00, 0x7E, /* 0290 */ 0xCD, 0x00, 0x7C, 0xC7, 0x00, 0x3F, 0xD2, 0x00, /* 0298 */ 0xBC, 0xC8, 0x00, 0x7C, 0xC9, 0x00, 0xBB, 0xC6, /* 02A0 */ 0x00, 0xBF, 0xD4, 0x00, 0xBD, 0xCE, 0x00, 0xFC, /* 02A8 */ 0xCB, 0x00, 0x7C, 0xCC, 0x00, 0x7F, 0xD7, 0x00, /* 02B0 */ 0xB5, 0xB5, 0x00, 0x3E, 0xD5, 0x00, 0xB7, 0xBD, /* 02B8 */ 0x00, 0xFF, 0xD9, 0x00, 0x3C, 0xD0, 0x00, 0xFC, /* 02C0 */ 0xD0, 0x00, 0xFB, 0xCD, 0x00, 0xBF, 0xDC, 0x00, /* 02C8 */ 0x3D, 0xD6, 0x00, 0x7C, 0xD3, 0x00, 0xFC, 0xD3, /* 02D0 */ 0x00, 0x3F, 0xDF, 0x00, 0x75, 0xBC, 0x00, 0xFE, /* 02D8 */ 0xDC, 0x00, 0xB7, 0xC4, 0x00, 0xFF, 0xE1, 0x00, /* 02E0 */ 0xBC, 0xD7, 0x00, 0x7C, 0xD8, 0x00, 0x7B, 0xD5, /* 02E8 */ 0x00, 0x7F, 0xE4, 0x00, 0xFD, 0xDD, 0x00, 0x7D, /* 02F0 */ 0xDE, 0x00, 0x7C, 0xDB, 0x00, 0x3F, 0xE7, 0x00, /* 02F8 */ 0xF5, 0xC2, 0x00, 0xBE, 0xE4, 0x00, 0x77, 0xCB, /* 0300 */ 0x00, 0xBF, 0xE9, 0x00, 0x3C, 0xDF, 0x00, 0x3B, /* 0308 */ 0xDC, 0x00, 0xBB, 0xDC, 0x00, 0x7F, 0xEC, 0x00, /* 0310 */ 0x71, 0xB8, 0x00, 0x3D, 0xE6, 0x00, 0xFC, 0xE2, /* 0318 */ 0x00, 0xFF, 0xEE, 0x00, 0xB5, 0xC9, 0x00, 0x7E, /* 0320 */ 0xEC, 0x00, 0x77, 0xD2, 0x00, 0xBF, 0xF1, 0x00, /* 0328 */ 0xBC, 0xE6, 0x00, 0x7B, 0xE3, 0x00, 0xAF, 0xB5, /* 0330 */ 0x00, 0x3F, 0xF4, 0x00, 0x71, 0xBE, 0x00, 0xBD, /* 0338 */ 0xED, 0x00, 0x7C, 0xEA, 0x00, 0xFF, 0xF6, 0x00, /* 0340 */ 0x29, 0xA1, 0x00, 0x3E, 0xF4, 0x00, 0xEB, 0xA9, /* 0348 */ 0x00, 0x7F, 0xF9, 0x00, 0x3F, 0xFA, 0x00, 0xFB, /* 0350 */ 0xEA, 0x00, 0xAF, 0xBB, 0x00, 0x3F, 0xFC, 0x00, /* 0358 */ 0x63, 0x8C, 0x00, 0x7B, 0xED, 0x00, 0x3F, 0xFE, /* 0360 */ 0x00, 0xBF, 0xFE, 0x00, 0x6B, 0xAE, 0x00, 0xFE, /* 0368 */ 0xFB, 0x00, 0x29, 0xA7, 0x00, 0x3C, 0xF5, 0x00, /* 0370 */ 0xBC, 0xF5, 0x00, 0x7D, 0xFA, 0x00, 0xB1, 0xC9, /* 0378 */ 0x00, 0xFE, 0xFF, 0x00, 0x6F, 0xC2, 0x00, 0xBB, /* 0380 */ 0xF4, 0x00, 0x7C, 0xF9, 0x00, 0x3C, 0xFA, 0x00, /* 0388 */ 0xAB, 0xB3, 0x00, 0x7C, 0xFB, 0x00, 0xB5, 0xDE, /* 0390 */ 0x00, 0xBC, 0xFC, 0x00, 0x3C, 0xFD, 0x00, 0xB7, /* 0398 */ 0xE8, 0x00, 0xF1, 0xCF, 0x00, 0x3C, 0xFF, 0x00, /* 03A0 */ 0x7B, 0xFB, 0x00, 0x3B, 0xFC, 0x00, 0xF8, 0xEF, /* 03A8 */ 0x00, 0xB9, 0xF4, 0x00, 0xB7, 0xEC, 0x00, 0x3A, /* 03B0 */ 0xFA, 0x00, 0x35, 0xE5, 0x00, 0x39, 0xF7, 0x00, /* 03B8 */ 0x78, 0xF3, 0x00, 0x36, 0xEB, 0x00, 0xF1, 0xD5, /* 03C0 */ 0x00, 0xFA, 0xFD, 0x00, 0x2F, 0xCE, 0x00, 0x76, /* 03C8 */ 0xED, 0x00, 0xF8, 0xF6, 0x00, 0xF9, 0xFB, 0x00, /* 03D0 */ 0xB7, 0xF3, 0x00, 0xB8, 0xF8, 0x00, 0xF5, 0xEB, /* 03D8 */ 0x00, 0x39, 0xFE, 0x00, 0x78, 0xFA, 0x00, 0xF6, /* 03E0 */ 0xF1, 0x00, 0x31, 0xDC, 0x00, 0x38, 0xFC, 0x00, /* 03E8 */ 0x2F, 0xD4, 0x00, 0x36, 0xF4, 0x00, 0xF8, 0xFD, /* 03F0 */ 0x00, 0x76, 0xF5, 0x00, 0x77, 0xFA, 0x00, 0xB8, /* 03F8 */ 0xFF, 0x00, 0x75, 0xF2, 0x00, 0xB6, 0xF7, 0x00, /* 0400 */ 0xF4, 0xEE, 0x00, 0xB6, 0xF8, 0x00, 0x31, 0xE2, /* 0408 */ 0x00, 0x77, 0xFE, 0x00, 0xB0, 0xDE, 0x00, 0xF6, /* 0410 */ 0xFA, 0x00, 0x34, 0xF2, 0x00, 0x36, 0xFC, 0x00, /* 0418 */ 0xB0, 0xE0, 0x00, 0x36, 0xFD, 0x00, 0xB0, 0xE1, /* 0420 */ 0x00, 0x76, 0xFE, 0x00, 0x74, 0xF5, 0x00, 0x76, /* 0428 */ 0xFF, 0x00, 0xB0, 0xE3, 0x00, 0xF5, 0xFB, 0x00, /* 0430 */ 0xB0, 0xE4, 0x00, 0x30, 0xE5, 0x00, 0xB4, 0xF8, /* 0438 */ 0x00, 0x73, 0xF4, 0x00, 0xB0, 0xE6, 0x00, 0x74, /* 0440 */ 0xFA, 0x00, 0xB0, 0xE7, 0x00, 0xB3, 0xF6, 0x00, /* 0448 */ 0xF4, 0xFB, 0x00, 0x30, 0xE9, 0x00, 0xB0, 0xE9, /* 0450 */ 0x00, 0xB4, 0xFD, 0x00, 0xB0, 0xEA, 0x00, 0x30, /* 0458 */ 0xEB, 0x00, 0x34, 0xFF, 0x00, 0xF3, 0xFA, 0x00, /* 0460 */ 0xB0, 0xEC, 0x00, 0xF2, 0xF6, 0x00, 0xB0, 0xED, /* 0468 */ 0x00, 0xF3, 0xFC, 0x00, 0xB0, 0xEE, 0x00, 0x30, /* 0470 */ 0xEF, 0x00, 0xB0, 0xEF, 0x00, 0x33, 0xFF, 0x00, /* 0478 */ 0xB0, 0xF0, 0x00, 0x30, 0xF1, 0x00, 0xB0, 0xF1, /* 0480 */ 0x00, 0x30, 0xF2, 0x00, 0xB0, 0xF2, 0x00, 0x32, /* 0488 */ 0xFD, 0x00, 0xB0, 0xF3, 0x00, 0x30, 0xF4, 0x00, /* 0490 */ 0xB0, 0xF4, 0x00, 0x30, 0xF5, 0x00, 0xB0, 0xF5, /* 0498 */ 0x00, 0x31, 0xFB, 0x00, 0xB0, 0xF6, 0x00, 0x30, /* 04A0 */ 0xF7, 0x00, 0xB0, 0xF7, 0x00, 0x30, 0xF8, 0x00, /* 04A8 */ 0xB0, 0xF8, 0x00, 0x30, 0xF9, 0x00, 0xB0, 0xF9, /* 04B0 */ 0x00, 0x30, 0xFA }) } Scope (_SB.PCI0.SBRG.ASOC) { Name (G4T0, Package (0x04) { 0x04070010, "CPU Q-FAN control", 0x80000000, Zero }) Name (G4T1, Package (0x08) { 0x04080011, "CPU Q-FAN profile", 0x00100001, Zero, 0x03, "Optimal", "Silent", "Performance" }) Name (G420, Package (0x04) { 0x04070070, "CHASSIS Q-FAN control", 0x80000000, Zero }) Name (G421, Package (0x08) { 0x04080071, "CHASSIS Q-FAN profile", 0x00700001, Zero, 0x03, "Optimal", "Silent", "Performance" }) Name (GRP4, Package (0x04) { G4T0, G4T1, G420, G421 }) Method (GIT4, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x10)) { Store (GNVS (0x1707), ASB1) } Else { If (LEqual (_T_0, 0x11)) { Store (GNVS (0x256C), ASB1) } Else { If (LEqual (_T_0, 0x70)) { Store (GNVS (0x170B), ASB1) } Else { If (LEqual (_T_0, 0x71)) { Store (GNVS (0x256E), ASB1) } Else { Store (Zero, ASB0) } } } } } Method (SIT4, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x10)) { If (LNotEqual (GNVS (0x1707), Arg1)) { If (And (Arg2, One)) { SNVS (0x1707, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x11)) { If (LNotEqual (GNVS (0x256C), Arg1)) { If (And (Arg2, One)) { SNVS (0x256C, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x70)) { If (LNotEqual (GNVS (0x170B), Arg1)) { If (And (Arg2, One)) { SNVS (0x170B, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x71)) { If (LNotEqual (GNVS (0x256E), Arg1)) { If (And (Arg2, One)) { SNVS (0x256E, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { Store (Zero, ASB0) } } } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G5T0, Package (0x07) { 0x05080000, "AI Profile", Zero, Zero, 0x02, "AUTO", Zero }) 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 (One, 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 (0x03, ASB0) } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (G6T1, Package (0x07) { 0x06020011, "Vcore Voltage", 0x20000000, Zero, 0x0352, 0x02EE, 0x02 }) Name (G6T2, Package (0x07) { 0x06030012, "CPU Temperature", 0x20000000, Zero, 0x0258, 0x015E, 0x02 }) Name (G6T3, Package (0x07) { 0x06040013, "CPU Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T4, Package (0x07) { 0x06040073, "Chassis Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T5, Package (0x07) { 0x060400C3, "Power Fan Speed", 0x20000000, Zero, 0x0320, 0x1900, 0x02 }) Name (G6T6, Package (0x07) { 0x06020061, "+12V Voltage", 0x20000000, 0x2EE0, 0x27D8, 0x0E10, 0x02 }) Name (G6T7, Package (0x07) { 0x06020062, "+5V Voltage", 0x20000000, 0x1388, 0x1194, 0x03E8, 0x02 }) Name (G6T8, Package (0x07) { 0x06020063, "+3.3V Voltage", 0x20000000, 0x0CE4, 0x0B9A, 0x0294, 0x02 }) Name (G6T9, Package (0x07) { 0x06030074, "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, 0x11)) { Store (0x0600, ASB1) } Else { If (LEqual (_T_0, 0x12)) { Store (0x0601, ASB1) } Else { If (LEqual (_T_0, 0x13)) { Store (0x0602, ASB1) } Else { If (LEqual (_T_0, 0x73)) { Store (0x0603, ASB1) } Else { If (LEqual (_T_0, 0xC3)) { Store (0x0604, ASB1) } Else { If (LEqual (_T_0, 0x61)) { Store (0x0605, ASB1) } Else { If (LEqual (_T_0, 0x62)) { Store (0x0606, ASB1) } Else { If (LEqual (_T_0, 0x63)) { Store (0x0607, ASB1) } Else { If (LEqual (_T_0, 0x74)) { Store (0x0608, ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } Method (SIT6, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, 0x11)) { Store (0x0600, DBG8) } Else { If (LEqual (_T_0, 0x12)) { Store (0x0601, DBG8) } Else { If (LEqual (_T_0, 0x13)) { Store (0x0602, DBG8) } Else { If (LEqual (_T_0, 0x73)) { Store (0x0603, DBG8) } Else { If (LEqual (_T_0, 0xC3)) { Store (0x0604, DBG8) } Else { If (LEqual (_T_0, 0x61)) { Store (0x0605, DBG8) } Else { If (LEqual (_T_0, 0x62)) { Store (0x0606, DBG8) } Else { If (LEqual (_T_0, 0x63)) { Store (0x0607, DBG8) } Else { If (LEqual (_T_0, 0x74)) { Store (0x0608, 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, One, 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, One)) { Store (GNVS (0x2576), ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (GNVS (0x3510), ASB1) } Else { Store (Zero, ASB0) } } } Method (SIT8, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { If (LNotEqual (GNVS (0x2576), Arg1)) { If (And (Arg2, One)) { SNVS (0x2576, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { If (LEqual (_T_0, 0x02)) { If (LNotEqual (GNVS (0x3510), Arg1)) { If (And (Arg2, One)) { SNVS (0x3510, Arg1) } Or (ASB0, 0x02, ASB0) } } 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 (0x3508), 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 (0x3508), Arg1)) { If (And (Arg2, One)) { SNVS (0x3508, Arg1) } Or (ASB0, 0x02, ASB0) } } Else { Store (Zero, ASB0) } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (GAT1, Package (0x04) { 0x0A070001, "Music Alarm", Zero, Zero }) Name (GAT2, Package (0x04) { 0x0A070002, "Sunday", Zero, One }) Name (GAT3, Package (0x04) { 0x0A070003, "Monday", Zero, One }) Name (GAT4, Package (0x04) { 0x0A070004, "Tuesday", Zero, One }) Name (GAT5, Package (0x04) { 0x0A070005, "Wednesday", Zero, One }) Name (GAT6, Package (0x04) { 0x0A070006, "Thursday", Zero, One }) Name (GAT7, Package (0x04) { 0x0A070007, "Friday", Zero, One }) Name (GAT8, Package (0x04) { 0x0A070008, "Saturday", Zero, One }) Name (GAT9, Package (0x07) { 0x0A060009, "Alarm Hour", Zero, 0x0C, Zero, One, 0x18 }) Name (GATA, Package (0x07) { 0x0A06000A, "Alarm Mins", Zero, Zero, Zero, One, 0x3C }) Name (GATB, Package (0x09) { 0x0A08000B, "Music Alarm Drive", Zero, 0x03, 0x04, "Primary IDE Master", "Primary IDE Slave", "Secondary IDE Master", "Secondary IDE Slave" }) Name (GATC, Package (0x07) { 0x0A06000C, "Starting Track", Zero, 0x10, Zero, One, 0x20 }) Name (GATD, Package (0x08) { 0x0A08000D, "Repeat", Zero, Zero, 0x03, "none", "Single", "All" }) Name (GATE, Package (0x09) { 0x0A08000E, "Length", Zero, Zero, 0x04, "10 mins", "20 mins", "30 mins", "1 hour" }) Name (GATF, Package (0x07) { 0x0A06000F, "Volume", Zero, 0x0F, Zero, One, 0x20 }) Name (GRPA, Package (0x0F) { GAT1, GAT2, GAT3, GAT4, GAT5, GAT6, GAT7, GAT8, GAT9, GATA, GATB, GATC, GATD, GATE, GATF }) Method (GITA, 1, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { Store (0x0A01, ASB1) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0A02, ASB1) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0A03, ASB1) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0A04, ASB1) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0A05, ASB1) } Else { If (LEqual (_T_0, 0x06)) { Store (0x0A06, ASB1) } Else { If (LEqual (_T_0, 0x07)) { Store (0x0A07, ASB1) } Else { If (LEqual (_T_0, 0x08)) { Store (0x0A08, ASB1) } Else { If (LEqual (_T_0, 0x09)) { Store (0x0A09, ASB1) } Else { If (LEqual (_T_0, 0x0A)) { Store (0x0A0A, ASB1) } Else { If (LEqual (_T_0, 0x0B)) { Store (0x0A0B, ASB1) } Else { If (LEqual (_T_0, 0x0C)) { Store (0x0A0C, ASB1) } Else { If (LEqual (_T_0, 0x0D)) { Store (0x0A0D, ASB1) } Else { If (LEqual (_T_0, 0x0E)) { Store (0x0A0E, ASB1) } Else { If (LEqual (_T_0, 0x0F)) { Store (0x0A0F, ASB1) } Else { Store (Zero, ASB0) } } } } } } } } } } } } } } } } Method (SITA, 3, NotSerialized) { Name (_T_0, Zero) Store (And (Arg0, 0xFFFF), _T_0) If (LEqual (_T_0, One)) { Store (0x0A01, DBG8) } Else { If (LEqual (_T_0, 0x02)) { Store (0x0A02, DBG8) } Else { If (LEqual (_T_0, 0x03)) { Store (0x0A03, DBG8) } Else { If (LEqual (_T_0, 0x04)) { Store (0x0A04, DBG8) } Else { If (LEqual (_T_0, 0x05)) { Store (0x0A05, DBG8) } Else { If (LEqual (_T_0, 0x06)) { Store (0x0A06, DBG8) } Else { If (LEqual (_T_0, 0x07)) { Store (0x0A07, DBG8) } Else { If (LEqual (_T_0, 0x08)) { Store (0x0A08, DBG8) } Else { If (LEqual (_T_0, 0x09)) { Store (0x0A09, DBG8) } Else { If (LEqual (_T_0, 0x0A)) { Store (0x0A0A, DBG8) } Else { If (LEqual (_T_0, 0x0B)) { Store (0x0A0B, DBG8) } Else { If (LEqual (_T_0, 0x0C)) { Store (0x0A0C, DBG8) } Else { If (LEqual (_T_0, 0x0D)) { Store (0x0A0D, DBG8) } Else { If (LEqual (_T_0, 0x0E)) { Store (0x0A0E, DBG8) } Else { If (LEqual (_T_0, 0x0F)) { Store (0x0A0F, DBG8) } Else { Store (Zero, ASB0) } } } } } } } } } } } } } } } } } Scope (_SB.PCI0.SBRG.ASOC) { Name (GBT0, Package (0x07) { 0x0B060001, "System performance", 0x00400000, Zero, 0x03, One, 0x04 }) Name (GRPB, Package (0x01) { GBT0 }) Name (VEAL, Zero) Method (GITB, 1, NotSerialized) { 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) } } } } 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) } Name (HBAS, Zero) Name (HLBA, Zero) Name (HDEV, Zero) OperationRegion (REFP, SystemIO, 0x61, One) Field (REFP, ByteAcc, NoLock, Preserve) { P061, 8 } Method (FZHD, 0, NotSerialized) { Store (0x80, Local0) Store (DMAX, Local1) While (LLessEqual (Local0, Local1)) { And (Local0, 0x7F, Local3) Store (One, Local2) ShiftLeft (Local2, Local3, Local2) If (LNot (And (\_SB.PCI0.HFZF, Local2))) { If (FZOD (Local0)) { Or (\_SB.PCI0.HFZF, Local2, \_SB.PCI0.HFZF) } } Increment (Local0) } } Method (FZOD, 1, NotSerialized) { GHET (Arg0) If (LEqual (HBAS, Zero)) { Return (One) } If (LEqual (HDEV, Zero)) { Return (One) } Store (HDEV, Local1) And (Local1, 0x10, Local1) If (LEqual (Local1, Zero)) { Return (One) } WFCF () SDRV () Add (HBAS, 0x07, Local1) OperationRegion (HRGS, SystemIO, Local1, One) Field (HRGS, ByteAcc, NoLock, Preserve) { SREG, 8 } Store (SREG, Local1) And (Local1, 0x80, Local1) If (Local1) { Return (Zero) } Add (HBAS, 0x07, Local1) OperationRegion (HRGC, SystemIO, Local1, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0xF5, CREG) If (WFCF ()) { Add (HBAS, 0x07, Local0) Store (SREG, Local1) Return (LNot (And (Local1, One))) } Else { Return (Zero) } } OperationRegion (DBGA, SystemIO, 0x80, 0x04) Field (DBGA, DWordAcc, NoLock, Preserve) { DB32, 32 } Method (GHET, 1, NotSerialized) { And (Arg0, 0x7F, Local0) ShiftLeft (Local0, 0x05, Local0) Add (Local0, HPTA, Local0) OperationRegion (HDPT, SystemMemory, Local0, 0x20) Field (HDPT, ByteAcc, NoLock, Preserve) { HP00, 16, Offset (0x04), HP04, 8, Offset (0x12), HP0C, 8 } Store (HP00, HBAS) Store (HP04, HLBA) Store (HP0C, HDEV) } Method (SDRV, 0, NotSerialized) { Add (HBAS, 0x06, Local0) OperationRegion (HRGH, SystemIO, Local0, One) Field (HRGH, ByteAcc, NoLock, Preserve) { HREG, 8 } Store (HLBA, HREG) } Method (WFCF, 0, NotSerialized) { SDRV () Add (HBAS, One, Local0) OperationRegion (HRGE, SystemIO, Local0, One) Field (HRGE, ByteAcc, NoLock, Preserve) { EREG, 8 } Store (Zero, EREG) Add (HBAS, 0x07, Local1) OperationRegion (HRGC, SystemIO, Local1, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0x28, Local0) While (Local0) { And (CREG, One, Local2) If (Local2) { Return (Zero) } WFZF (Local1) And (CREG, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (One) } Decrement (Local0) } Return (Zero) } Method (WFZF, 1, NotSerialized) { OperationRegion (HRGC, SystemIO, Arg0, One) Field (HRGC, ByteAcc, NoLock, Preserve) { CREG, 8 } Store (0xFFFF, Local1) Store (CREG, Local2) And (Local2, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (Zero) } While (Local1) { Stall (0x0F) Decrement (Local1) If (LEqual (Local1, Zero)) { Return (Zero) } Store (CREG, Local2) And (Local2, 0x80, Local2) If (LEqual (Local2, Zero)) { Return (Zero) } Decrement (Local1) } } Scope (_SB.PCI0) { Name (HFZF, 0xFFFF) Method (HWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Zero, HFZF) } } } 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 (One, BSEL) Store (TSR1, Local1) Multiply (Local1, 0x0A, Local1) Store (TSR2, Local2) Multiply (Local2, 0x05, Local2) Add (Local1, Local2, Local1) Return (Local1) } 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) } OperationRegion (DBGE, SystemIO, 0x80, 0x04) Field (DBGE, WordAcc, NoLock, Preserve) { DBGG, 22 } Method (HWF0, 0, NotSerialized) { Store (Zero, BSEL) Store (FAN1, Local0) And (FD21, 0x20, Local1) ShiftRight (Local1, 0x05, Local1) Multiply (Local1, 0x04, Local1) And (FDR1, 0x30, Local2) ShiftRight (Local2, 0x04, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05)), LAnd ( LLess (Local0, 0x1E), LGreater (Local1, 0x02)))) { If (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05))) { Add (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x05, Local3) Store (FD21, Local4) And (Local4, 0xDF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0xCF, Local4) ShiftLeft (Local2, 0x04, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x32) Store (FAN1, Local0) Sleep (0x32) Store (FAN1, Local0) Sleep (0x32) Store (FAN1, Local0) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x05, Local3) Store (FD21, Local4) And (Local4, 0xDF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0xCF, Local4) ShiftLeft (Local2, 0x04, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x32) Store (FAN1, Local0) Sleep (0x32) Store (FAN1, Local0) Sleep (0x32) Store (FAN1, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x05))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, 0x02))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF1, 0, NotSerialized) { Store (Zero, BSEL) Store (FAN2, Local0) And (FD21, 0x40, Local1) ShiftRight (Local1, 0x06, Local1) Multiply (Local1, 0x04, Local1) And (FDR1, 0xC0, Local2) ShiftRight (Local2, 0x06, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05)), LAnd ( LLess (Local0, 0x1E), LGreater (Local1, 0x02)))) { If (LAnd (LLess (Local0, 0x1E), LGreater (Local1, 0x02))) { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x06, Local3) Store (FD21, Local4) And (Local4, 0xBF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0x3F, Local4) ShiftLeft (Local2, 0x06, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x32) Store (Zero, BSEL) Store (FAN2, Local0) Sleep (0x32) Store (FAN2, Local0) Sleep (0x32) Store (FAN2, Local0) } Else { Add (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x06, Local3) Store (FD21, Local4) And (Local4, 0xBF, Local4) Or (Local3, Local4, FD21) Store (FDR1, Local4) And (Local4, 0x3F, Local4) ShiftLeft (Local2, 0x06, Local2) Or (Local4, One, Local4) Or (Local4, Local2, FDR1) Sleep (0x32) Store (Zero, BSEL) Store (FAN2, Local0) Sleep (0x32) Store (FAN2, Local0) Sleep (0x32) Store (FAN2, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x05))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, 0x02))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF2, 0, NotSerialized) { Store (Zero, BSEL) Store (FAN3, Local0) 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, 0xF0), LLess (Local1, 0x05)), LAnd ( LLess (Local0, 0x1E), LGreater (Local1, 0x02)))) { If (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05))) { If (LEqual (Local0, 0xFF)) { Store (0x05, 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 (0x32) } Store (FAN3, Local0) Sleep (0x32) Store (FAN3, Local0) Sleep (0x32) 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 (0x32) Store (FAN3, Local0) Sleep (0x32) Store (FAN3, Local0) Sleep (0x32) Store (FAN3, Local0) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x05))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, 0x02))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Method (HWF4, 0, NotSerialized) { Store (0x05, BSEL) Store (FAN4, Local0) Store (Zero, BSEL) And (FND4, 0x80, Local1) ShiftRight (Local1, 0x08, Local1) Multiply (Local1, 0x04, Local1) And (FND4, 0x0C, Local2) ShiftRight (Local2, 0x02, Local2) Add (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05)), LAnd ( LLess (Local0, 0x1E), LGreater (Local1, 0x02)))) { If (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05))) { Add (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x08, Local3) ShiftLeft (Local2, 0x02, Local2) Store (FND4, Local4) And (Local4, 0x73, Local4) Or (Local3, Local2, Local3) Or (Local3, Local4, FND4) If (LNotEqual (Local0, 0xFF)) { Sleep (0x32) } Store (0x05, BSEL) Store (FAN4, Local0) Sleep (0x32) Store (FAN4, Local0) Sleep (0x32) Store (FAN4, Local0) Store (Zero, BSEL) } Else { Subtract (Local1, One, Local1) Divide (Local1, 0x04, Local2, Local3) Store (Zero, BSEL) ShiftLeft (Local3, 0x08, Local3) ShiftLeft (Local2, 0x02, Local2) Store (FND4, Local4) And (Local4, 0x73, Local4) Or (Local3, Local2, Local3) Or (Local3, Local4, FND4) Sleep (0x32) Store (0x05, BSEL) Store (FAN4, Local0) Sleep (0x32) Store (FAN4, Local0) Sleep (0x32) Store (FAN4, Local0) Store (Zero, BSEL) } } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x05))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, 0x02))) { Return (0xFFFF) } Store (One, Local2) While (Local1) { Multiply (Local2, 0x02, Local2) Decrement (Local1) } Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } Name (FNDT, Package (0x08) { One, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }) Method (HWF3, 0, NotSerialized) { Store (Zero, BSEL) Store (CFN3, Local0) And (FD15, 0x80, Local1) ShiftRight (Local1, 0x05, Local1) And (FND4, 0x03, Local2) Or (Local1, Local2, Local1) While (LOr (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05)), LAnd ( LLess (Local0, 0x1E), LGreater (Local1, 0x02)))) { If (LAnd (LGreater (Local0, 0xF0), LLess (Local1, 0x05))) { Increment (Local1) } Else { Decrement (Local1) } ShiftLeft (Local1, 0x05, Local2) And (Local2, 0x80, Local2) And (FD15, 0x7F, Local3) Or (Local2, Local3, Local3) Store (Local3, FD15) And (Local1, 0x03, Local2) And (FND4, 0xFC, Local3) Or (Local2, Local3, Local3) Store (Local3, FND4) Sleep (0x32) Store (CFN3, Local0) Sleep (0x32) Store (CFN3, Local0) Sleep (0x32) Store (CFN3, Local0) } If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x05))) { Return (Zero) } If (LAnd (LEqual (Local0, Zero), LEqual (Local1, 0x02))) { Return (0xFFFF) } Store (DerefOf (Index (FNDT, Local1)), Local2) Multiply (Local0, Local2, Local0) Divide (0x00149970, Local0, Local1, Local0) Return (Local0) } 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) { 0x16, 0x0A, Zero }, Package (0x03) { 0x38, 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, "CHASSIS1 FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (CHF2, Package (0x05) { 0x06040002, "CHASSIS2 FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (PWRF, Package (0x05) { 0x06040003, "POWER FAN Speed", 0x0320, 0x1C20, 0x00010001 }) Name (FBUF, Package (0x05) { 0x04, CPUF, CHF1, CHF2, PWRF }) Method (FGET, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (^^SIOR.HWF1 ()) } If (LEqual (Arg0, One)) { Return (^^SIOR.HWF0 ()) } If (LEqual (Arg0, 0x02)) { Return (^^SIOR.HWF4 ()) } If (LEqual (Arg0, 0x03)) { 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) { 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 (GNVS (0x8370)) {} 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 } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (SS1) { Name (_S1, Package (0x04) { One, Zero, Zero, Zero }) } If (SS3) { Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) { \_SB.PCI0.SBRG.SIOS (Arg0) \_SB.PCI0.NPTS (Arg0) \_SB.PCI0.SBRG.SPTS (Arg0) } } Method (WAK, 1, NotSerialized) { \_SB.PCI0.SBRG.SIOW (Arg0) \_SB.PCI0.NWAK (Arg0) \_SB.PCI0.HWAK (Arg0) \_SB.PCI0.SBRG.SWAK (Arg0) } }