Monitoring temperature with acpi (sysctls)
O. Hartmann
ohartman at mail.uni-mainz.de
Fri Jul 28 23:03:25 UTC 2006
John Baldwin wrote:
> On Thursday 27 July 2006 02:25, Mike Jakubik wrote:
>
>> Jiawei Ye wrote:
>>
>>> On 7/27/06, Mike Jakubik <mikej at rogers.com> wrote:
>>>
>>>> I don't want to spend $50 extra per system, just so i can read the
>>>> temperature, and not even use any of the IPMI functions. I need a simple
>>>> and scriptable way to get the values, acpi sysctls are ideal for this.
>>>>
>>> What about using SMBus? Is it available on your system? xmbmon reads
>>> temperatures off the SMBus IIRC.
>>>
>> I tried that, unfortunately it does not work. All i want to know is if
>> this a shortcoming of freebsd or the motherboard, if its the later, i
>> will contact the manufacturer.
>>
>
> If ACPI doesn't include the sysctl's that's due to your BIOS, not FreeBSD.
> You can verify by doing an acpidump and seeing if you have any thermal
> zones listed in your ASL.
>
>
This is a 'acpidump -d' of my BIOS, mainboard ASUS A8N32-SLI Deluxe,
latest BIOS, V1205 as seen on ASUS homepage. Please see attachment.
Oliver
-------------- next part --------------
/*
* Intel ACPI Component Architecture
* AML Disassembler version 20041119
*
* Disassembly of /tmp/acpidump.nhd4SF, Fri Jul 28 23:00:44 2006
*/
DefinitionBlock ("DSDT.aml", "DSDT", 1, "A0371", "A0371001", 1)
{
Name (DP80, 0x1080)
Name (DP90, 0x90)
Name (SPIO, 0x2E)
Name (IOPB, 0x0C00)
Name (IOPL, 0x10)
Name (IOEB, 0x0D00)
Name (IOEL, 0x10)
Name (IOGB, 0x0A20)
Name (IOGL, 0x10)
Name (IODB, 0x0A30)
Name (IODL, 0x10)
Name (IO1B, 0x0A20)
Name (IO1L, 0x08)
Name (IO3B, 0x0D00)
Name (IO3L, 0x80)
Name (PMBS, 0x0500)
Name (PMLN, 0x0100)
Name (SCBS, 0x0800)
Name (SCLN, 0x0100)
Name (ACBS, 0x0900)
Name (ACLN, 0x0100)
Name (SCIO, 0x0800)
Name (SCTL, 0x0590)
Name (EXTS, 0x00)
Name (APIC, 0x01)
Name (ABWV, 0xAB)
Name (PCIB, 0xE0000000)
Name (PCIL, 0x10000000)
Name (SMBS, 0x0700)
OperationRegion (BIOS, SystemMemory, 0x7FFBE064, 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
}
Method (RRIO, 4, NotSerialized)
{
Store ("RRIO", Debug)
}
Method (RDMA, 3, NotSerialized)
{
Store ("rDMA", Debug)
}
Name (PICM, 0x00)
Method (_PIC, 1, NotSerialized)
{
If (Arg0)
{
Store (0xAA, DBG8)
}
Else
{
Store (0xAC, DBG8)
}
Store (Arg0, PICM)
}
Name (OSVR, Ones)
Method (OSFL, 0, NotSerialized)
{
If (LNot (LEqual (OSVR, Ones)))
{
Return (OSVR)
}
If (LEqual (PICM, 0x00))
{
Store (0xAC, DBG8)
}
Store (0x01, OSVR)
If (CondRefOf (\_OSI, Local1))
{
If (\_OSI ("Windows 2001"))
{
Store (0x00, 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), 0x01, Local0)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Store (Arg0, BUF0)
Store (Arg1, BUF1)
While (Local0)
{
Decrement (Local0)
If (LNot (LEqual (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, 0x00))
Store (ShiftLeft (SS1, 0x01), Local0)
Or (Local0, ShiftLeft (SS2, 0x02), Local0)
Or (Local0, ShiftLeft (SS3, 0x03), Local0)
Or (Local0, ShiftLeft (SS4, 0x04), Local0)
If (And (ShiftLeft (0x01, Arg1), Local0))
{
Store (Arg1, Index (PRWP, 0x01))
}
Else
{
ShiftRight (Local0, 0x01, Local0)
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, 0x01))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, 0x01))
}
}
Return (PRWP)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
OperationRegion (DEB0, SystemIO, DP80, 0x01)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, DP90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Scope (\_SB)
{
Name (PR00, Package (0x20)
{
Package (0x04)
{
0x000AFFFF,
0x00,
LSMB,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
LUB0,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
LUB2,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
LMAC,
0x00
},
Package (0x04)
{
0x0010FFFF,
0x00,
LSA0,
0x00
},
Package (0x04)
{
0x0011FFFF,
0x00,
LSA1,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x00,
LACI,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x01,
LMC9,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x03,
LNKC,
0x00
}
})
Name (AR00, Package (0x20)
{
Package (0x04)
{
0x000AFFFF,
0x00,
LSMB,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x00,
LUB0,
0x00
},
Package (0x04)
{
0x000BFFFF,
0x01,
LUB2,
0x00
},
Package (0x04)
{
0x0013FFFF,
0x00,
LMAC,
0x00
},
Package (0x04)
{
0x0010FFFF,
0x00,
LSA0,
0x00
},
Package (0x04)
{
0x0011FFFF,
0x00,
LSA1,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x00,
LACI,
0x00
},
Package (0x04)
{
0x000DFFFF,
0x01,
LMC9,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0004FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0017FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0016FFFF,
0x03,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0x0015FFFF,
0x03,
LNKC,
0x00
}
})
Name (PR01, Package (0x0D)
{
Package (0x04)
{
0x000BFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x03,
LNKB,
0x00
}
})
Name (AR01, Package (0x0D)
{
Package (0x04)
{
0x000BFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0007FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0008FFFF,
0x03,
LNKB,
0x00
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (PR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (AR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (PR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (AR05, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (PR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
0x00
}
})
Name (AR06, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
0x00
}
})
Name (PR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
0x00
}
})
Name (AR07, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
0x00
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {5,7,10,14,15}
})
Alias (PRSA, PRSB)
Alias (PRSA, PRSC)
Alias (PRSA, PRSD)
Alias (PRSA, RSMB)
Alias (PRSA, RSB2)
Name (RSA1, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {11}
})
Alias (RSA1, RSA0)
Alias (PRSA, RSB0)
Alias (PRSA, RSAC)
Alias (PRSA, RSCI)
Alias (PRSA, RSC9)
Alias (PRSA, RSTA)
Name (RSIR, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000010,
0x00000011,
0x00000012,
0x00000013,
}
})
Name (RSII, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000014,
0x00000015,
0x00000016,
0x00000017,
}
})
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, 0x00180000)
Method (^BN00, 0, NotSerialized)
{
Return (0x00)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, 0x00)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
Device (NB2N)
{
Name (_ADR, 0x00)
Method (NPTS, 1, NotSerialized)
{
}
Method (NWAK, 1, NotSerialized)
{
}
}
Device (PCLK)
{
Name (_ADR, 0x02)
}
Device (SBRG)
{
Name (_ADR, 0x000A0000)
Method (SPTS, 1, NotSerialized)
{
Store (Arg0, \_SB.PCI0.IDE0.PTS0)
Store (\_SB.PCI0.IDE0.ID20, \_SB.PCI0.IDE0.SID0)
Store (\_SB.PCI0.IDE0.IDTS, \_SB.PCI0.IDE0.SID1)
Store (\_SB.PCI0.IDE0.IDTP, \_SB.PCI0.IDE0.SID2)
Store (\_SB.PCI0.IDE0.ID22, \_SB.PCI0.IDE0.SID3)
Store (\_SB.PCI0.IDE0.UMSS, \_SB.PCI0.IDE0.SID4)
Store (\_SB.PCI0.IDE0.UMSP, \_SB.PCI0.IDE0.SID5)
Store (One, PS1S)
Store (One, PS1E)
Store (One, \_SB.SLPS)
}
Method (SWAK, 1, NotSerialized)
{
Store (Zero, \_SB.SLPS)
Store (Zero, PS1E)
Store (0x02, S1CT)
Store (0x02, S3CT)
Store (0x02, S4CT)
Store (0x02, S5CT)
}
OperationRegion (SMIE, SystemIO, SCIO, 0x08)
Field (SMIE, ByteAcc, NoLock, Preserve)
{
, 15,
PS1S, 1,
, 31,
PS1E, 1,
Offset (0x08)
}
OperationRegion (SXCT, SystemIO, SCTL, 0x10)
Field (SXCT, ByteAcc, NoLock, Preserve)
{
S1CT, 2,
Offset (0x04),
S3CT, 2,
Offset (0x08),
S4CT, 2,
Offset (0x0C),
S5CT, 2,
Offset (0x10)
}
Scope (\_SB)
{
Name (SLPS, 0x00)
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Method (_STA, 0, NotSerialized)
{
If (EXTS)
{
Return (0x0F)
}
Return (0x00)
}
Method (SBEV, 0, NotSerialized)
{
If (SLPS)
{
Notify (SLPB, 0x02)
}
Else
{
Notify (SLPB, 0x80)
}
}
Method (\_GPE._L01, 0, NotSerialized)
{
\_SB.SLPB.SBEV ()
}
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x01,
0x04
})
}
}
Scope (PCI0)
{
Method (_S3D, 0, NotSerialized)
{
If (LEqual (OSFL (), 0x02))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Name (_S1D, 0x01)
Name (NATA, Package (0x01)
{
0x00100000
})
Device (NVRB)
{
Name (_HID, "NVRAIDBUS")
Method (_STA, 0, NotSerialized)
{
If (And (CPB0, 0x01))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x04D2, 0x04D2, 0x01, 0x01)
})
}
}
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0020, 0x0020, 0x00, 0x02)
IO (Decode16, 0x00A0, 0x00A0, 0x00, 0x02)
IRQNoFlags () {2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8) {4}
IO (Decode16, 0x0000, 0x0000, 0x00, 0x10)
IO (Decode16, 0x0081, 0x0081, 0x00, 0x03)
IO (Decode16, 0x0087, 0x0087, 0x00, 0x01)
IO (Decode16, 0x0089, 0x0089, 0x00, 0x03)
IO (Decode16, 0x008F, 0x008F, 0x00, 0x01)
IO (Decode16, 0x00C0, 0x00C0, 0x00, 0x20)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0040, 0x0040, 0x00, 0x04)
IRQNoFlags () {0}
})
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0070, 0x0070, 0x00, 0x02)
IRQNoFlags () {8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0061, 0x0061, 0x00, 0x01)
})
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x00F0, 0x00F0, 0x00, 0x10)
IRQNoFlags () {13}
})
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Method (_FDE, 0, NotSerialized)
{
Name (FDEP, Package (0x05)
{
0x00,
0x00,
0x02,
0x02,
0x02
})
If (_STA ())
{
Store (0x01, Index (FDEP, 0x00))
}
Return (FDEP)
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x03))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x03, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x03, 0x01)
Store (IRQM, IRQE)
Store (DMAM, DMAE)
Store (IO11, IO21)
Store (IO12, IO22)
Store (0x06, LEN2)
Add (IO21, 0x07, IO31)
Store (IO31, IO32)
Store (0x01, LEN3)
Return (CRS2)
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x03)
CreateWordField (Arg0, 0x11, IRQE)
CreateByteField (Arg0, 0x14, DMAE)
ENFG (CGLD (0x03))
If (IRQE)
{
FindSetRightBit (IRQE, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, 0x01, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06)
IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0370, 0x0370, 0x01, 0x06)
IO (Decode16, 0x0377, 0x0377, 0x01, 0x01)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
EndDependentFn ()
})
}
Device (LPTE)
{
Method (_HID, 0, NotSerialized)
{
If (LPTM (0x02))
{
Return (0x0104D041)
}
Else
{
Return (0x0004D041)
}
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x02))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x02, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
DCRS (0x02, 0x01)
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, 0x0378, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
EndDependentFn ()
})
Name (EPPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {7}
DMA (Compatibility, NotBusMaster, Transfer8) {3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0378, 0x0378, 0x01, 0x08)
IO (Decode16, 0x0778, 0x0778, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0278, 0x0278, 0x01, 0x08)
IO (Decode16, 0x0678, 0x0678, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04)
IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
EndDependentFn ()
})
}
Device (GAME)
{
Name (_HID, EisaId ("PNPB02F"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x08))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x08, 0x00)
}
Name (GMCR, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x08, 0x08)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (GMCR, 0x02, IOGL)
CreateWordField (GMCR, 0x04, IOGH)
ENFG (CGLD (0x08))
ShiftLeft (IOAH, 0x08, IOGL)
Or (IOAL, IOGL, IOGL)
Store (IOGL, IOGH)
CreateByteField (GMCR, 0x06, IOAL)
Store (0x01, IOAL)
EXFG ()
Return (GMCR)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x02, IO11)
ENFG (CGLD (0x08))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
DCNT (0x08, 0x01)
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x0201, 0x0201, 0x01, 0x08)
}
EndDependentFn ()
})
}
Device (MIDI)
{
Name (_HID, EisaId ("PNPB006"))
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x05))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x05, 0x00)
}
Name (MDCR, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x02)
IRQNoFlags () {5}
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (MDCR, 0x02, IOML)
CreateWordField (MDCR, 0x04, IOMH)
CreateWordField (MDCR, 0x09, IRQM)
ENFG (CGLD (0x05))
ShiftLeft (IOAH, 0x08, IOML)
Or (IOAL, IOML, IOML)
Store (IOML, IOMH)
If (INTR)
{
ShiftLeft (0x01, INTR, IRQM)
}
Else
{
Store (0x00, IRQM)
}
EXFG ()
Return (MDCR)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x02, IO11)
CreateWordField (Arg0, 0x09, IRQM)
ENFG (CGLD (0x05))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
If (IRQM)
{
FindSetRightBit (IRQM, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
DCNT (0x05, 0x01)
EXFG ()
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16, 0x0300, 0x0300, 0x01, 0x02)
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x0330, 0x0330, 0x01, 0x02)
}
EndDependentFn ()
IRQNoFlags () {5,7,9,10,11}
})
}
Device (RMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x10)
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0010, 0x0010, 0x00, 0x10)
IO (Decode16, 0x0022, 0x0022, 0x00, 0x1E)
IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C)
IO (Decode16, 0x0062, 0x0062, 0x00, 0x02)
IO (Decode16, 0x0065, 0x0065, 0x00, 0x0B)
IO (Decode16, 0x0072, 0x0072, 0x00, 0x0E)
IO (Decode16, 0x0080, 0x0080, 0x00, 0x01)
IO (Decode16, 0x0084, 0x0084, 0x00, 0x03)
IO (Decode16, 0x0088, 0x0088, 0x00, 0x01)
IO (Decode16, 0x008C, 0x008C, 0x00, 0x03)
IO (Decode16, 0x0090, 0x0090, 0x00, 0x10)
IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E)
IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10)
IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02)
IO (Decode16, 0x0800, 0x0800, 0x00, 0x10)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
Memory32Fixed (ReadOnly, 0xFEE01000, 0x000FF000)
Memory32Fixed (ReadOnly, 0xFEFFF000, 0x00001000)
Memory32Fixed (ReadWrite, 0xFFB00000, 0x004F0000)
Memory32Fixed (ReadOnly, 0xFFF00000, 0x00100000)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (CRS, 0x7A, GP00)
CreateWordField (CRS, 0x7C, GP01)
CreateByteField (CRS, 0x7F, GP0L)
CreateWordField (CRS, 0x82, GP10)
CreateWordField (CRS, 0x84, GP11)
CreateByteField (CRS, 0x87, GP1L)
Store (PMBS, GP00)
Store (PMBS, GP01)
If (LNot (LLess (PMLN, 0x0100)))
{
ShiftRight (PMLN, 0x01, GP0L)
Add (GP00, GP0L, GP10)
Add (GP01, GP0L, GP11)
Subtract (PMLN, GP0L, GP1L)
}
Else
{
Store (PMLN, GP0L)
}
If (SCBS)
{
CreateWordField (CRS, 0x8A, SC00)
CreateWordField (CRS, 0x8C, SC01)
CreateByteField (CRS, 0x8F, SC0L)
CreateWordField (CRS, 0x92, SC10)
CreateWordField (CRS, 0x94, SC11)
CreateByteField (CRS, 0x97, SC1L)
Store (SCBS, SC00)
Store (SCBS, SC01)
If (LNot (LLess (SCLN, 0x0100)))
{
ShiftRight (SCLN, 0x01, SC0L)
Add (SC00, SC0L, SC10)
Add (SC01, SC0L, SC11)
Subtract (SCLN, SC0L, SC1L)
}
Else
{
Store (SCLN, SC0L)
}
}
If (ACBS)
{
CreateWordField (CRS, 0x9A, AC00)
CreateWordField (CRS, 0x9C, AC01)
CreateByteField (CRS, 0x9F, AC0L)
CreateWordField (CRS, 0xA2, AC10)
CreateWordField (CRS, 0xA4, AC11)
CreateByteField (CRS, 0xA7, AC1L)
Store (ACBS, AC00)
Store (ACBS, AC01)
If (LNot (LLess (ACLN, 0x0100)))
{
ShiftRight (ACLN, 0x01, AC0L)
Add (AC00, AC0L, AC10)
Add (AC01, AC0L, AC11)
Subtract (ACLN, AC0L, AC1L)
}
Else
{
Store (ACLN, AC0L)
}
}
Return (CRS)
}
}
Scope (\_SB.PCI0.SBRG)
{
Device (ASOC)
{
Name (_HID, "ATK0110")
Name (_UID, 0x01010110)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
}
}
OperationRegion (\_SB.PCI0.SBRG.LPDC, PCI_Config, 0xA0, 0x06)
Field (\_SB.PCI0.SBRG.LPDC, ByteAcc, NoLock, Preserve)
{
S3F8, 1,
S2F8, 1,
, 3,
S2E8, 1,
, 1,
S3E8, 1,
, 4,
M300, 1,
, 2,
M330, 1,
, 4,
FDC0, 1,
Offset (0x03),
P378, 1,
P278, 1,
P3BC, 1,
Offset (0x04),
G200, 8,
G208, 8
}
Method (RRIO, 4, NotSerialized)
{
If (LOr (LEqual (Arg0, 0x00), LEqual (Arg0, 0x01)))
{
If (LEqual (Arg2, 0x03F8))
{
Store (Arg1, S3F8)
}
If (LEqual (Arg2, 0x02F8))
{
Store (Arg1, S2F8)
}
If (LEqual (Arg2, 0x03E8))
{
Store (Arg1, S3E8)
}
If (LEqual (Arg2, 0x02E8))
{
Store (Arg1, S2E8)
}
}
If (LEqual (Arg0, 0x02))
{
If (LEqual (Arg2, 0x0378))
{
Store (Arg1, P378)
}
If (LEqual (Arg2, 0x0278))
{
Store (Arg1, P278)
}
If (LEqual (Arg2, 0x03BC))
{
Store (Arg1, P3BC)
}
}
If (LEqual (Arg0, 0x03))
{
Store (Arg1, FDC0)
}
If (LEqual (Arg0, 0x05))
{
If (LEqual (Arg2, 0x0330))
{
Store (Arg1, M330)
}
If (LEqual (Arg2, 0x0300))
{
Store (Arg1, M300)
}
}
If (LEqual (Arg0, 0x08))
{
Store (Zero, Local0)
If (Arg1)
{
Store (0xFF, Local0)
}
If (LEqual (Arg2, 0x0200))
{
Store (Local0, G200)
}
If (LEqual (Arg2, 0x0208))
{
Store (Local0, G208)
}
}
}
Method (RDMA, 3, NotSerialized)
{
}
Scope (\)
{
OperationRegion (\RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000)
Field (\RAMW, ByteAcc, NoLock, Preserve)
{
PAR0, 32,
PAR1, 32
}
OperationRegion (IOB2, SystemIO, 0x082E, 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)
}
}
Scope (\)
{
Field (\RAMW, ByteAcc, NoLock, Preserve)
{
Offset (0x08),
ADSP, 32,
FSBF, 16,
FVCM, 8,
AITU, 8,
FIDV, 8,
VIDV, 8,
OCPI, 8,
NOST, 8,
NOS1, 8,
DDRV, 8,
CPUS, 1,
CQFS, 3,
CQFT, 4,
AIDI, 8,
OVID, 8,
CCAQ, 8,
MAXF, 8,
MAXV, 8,
CURF, 8,
CURV, 8,
PCEF, 8
}
}
OperationRegion (\_SB.PCI0.PCLK.MNCK, PCI_Config, 0x44, 0x04)
Field (\_SB.PCI0.PCLK.MNCK, ByteAcc, NoLock, Preserve)
{
MMNN, 16,
, 14,
MNEN, 1,
Offset (0x04)
}
OperationRegion (\_SB.PCI0.PCLK.SPRD, PCI_Config, 0x54, 0x04)
Field (\_SB.PCI0.PCLK.SPRD, ByteAcc, NoLock, Preserve)
{
SPRE, 1,
Offset (0x04)
}
OperationRegion (QDRV, SystemIO, IOGB, 0x03)
Field (QDRV, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
, 1,
QDDR, 4,
Offset (0x03)
}
OperationRegion (DEB0, SystemIO, 0x1080, 0x02)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DB16, 16
}
Name (DDRT, Package (0x0A)
{
0x0D,
0x0F,
0x0E,
0x0D,
0x0B,
0x07,
0x09,
0x08,
0x03,
0x02
})
Scope (\_SB.PCI0.SBRG.ASOC)
{
Name (MBIF, Package (0x08)
{
0x01,
"A8N32-SLI",
0x01,
0x01,
0x02,
0x00,
0x00,
0x00
})
Method (ASIF, 0, NotSerialized)
{
Return (MBIF)
}
Name (OC01, Package (0x06)
{
0x01010000,
"CPU FSB",
0x4E20,
0x9C40,
0xC9,
0x00010003
})
Name (OC02, Package (0x06)
{
0x01060001,
"CPU Multiplier",
0x04,
0x19,
0x16,
0x00010000
})
Name (OC03, Package (0x06)
{
0x01060002,
"FID VID Mode",
0x00,
0x01,
0x01,
0x00010000
})
Name (OC04, Package (0x06)
{
0x07010003,
"PCI Express",
0x2710,
0x332C,
0x65,
0x00
})
Name (OC05, Package (0x06)
{
0x05050004,
"OC Profile",
0x00,
0x04,
0x05,
0x00010001
})
Name (OC06, Package (0x06)
{
0x08050005,
"Turbo NOS",
0x00,
0x04,
0x05,
0x00010000
})
Name (OC07, Package (0x06)
{
0x08060006,
"NOS MODE",
0x00,
0x03,
0x04,
0x00
})
Name (OC08, Package (0x06)
{
0x04060003,
"CPU Q-Fan Control",
0x00,
0x01,
0x01,
0x00010003
})
Name (OC09, Package (0x06)
{
0x01020008,
"CPU VID",
0x1F40,
0x3D09,
0x3D,
0x00010000
})
Name (OC0A, Package (0x06)
{
0x02020009,
"DRAM Voltage",
0x0A28,
0x0BB8,
0x09,
0x00010003
})
Name (OC0B, Package (0x06)
{
0x0906000C,
"AI Overclock Tuner",
0x00,
0x04,
0x05,
0x00010003
})
Name (OC0C, Package (0x06)
{
0x0106000B,
"Cool&Quiet Support",
0x00,
0x01,
0x02,
0x00010003
})
Name (OBUF, Package (0x0C)
{
OC01,
OC02,
OC03,
OC04,
OC05,
OC06,
OC07,
OC08,
OC09,
OC0A,
OC0B,
OC0C
})
Name (OCVO, 0x00)
Method (OCIF, 0, NotSerialized)
{
Store (ShiftLeft (MAXV, 0x01), Local1)
Subtract (0x3D09, Multiply (Local1, 0x7D), Index (OC09, 0x03))
Subtract (0x3D, Local1, Index (OC09, 0x04))
Return (OBUF)
}
Name (TEM1, Package (0x11)
{
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00
})
Method (TEMP, 1, NotSerialized)
{
Store (FSBF, Index (TEM1, 0x00))
Store (FVCM, Index (TEM1, 0x01))
Store (AITU, Index (TEM1, 0x02))
Store (FIDV, Index (TEM1, 0x03))
Store (VIDV, Index (TEM1, 0x04))
Store (OCPI, Index (TEM1, 0x05))
Store (NOST, Index (TEM1, 0x06))
Store (NOS1, Index (TEM1, 0x07))
Store (DDRV, Index (TEM1, 0x08))
Store (CPUS, Index (TEM1, 0x09))
Store (CQFS, Index (TEM1, 0x0A))
Store (CQFT, Index (TEM1, 0x0B))
Store (AIDI, Index (TEM1, 0x0C))
Store (OVID, Index (TEM1, 0x0D))
Store (CCAQ, Index (TEM1, 0x0E))
Store (MAXF, Index (TEM1, 0x0F))
Store (MAXV, Index (TEM1, 0x10))
Return (TEM1)
}
Method (OCOP, 1, NotSerialized)
{
Store (DerefOf (Index (OC01, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (FSBF, Local0)
Multiply (Local0, 0x64, Local1)
Store (Local1, Index (CPUO, 0x01))
Subtract (Local0, 0xC8, Local2)
Store (Local2, Index (CPUO, 0x02))
Return (CPUO)
}
Store (DerefOf (Index (OC02, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (Add (ShiftRight (CURF, 0x01), 0x04), Index (CPUM, 0x01))
Store (Add (ShiftRight (CURF, 0x01), 0x04), Index (CPUM, 0x02))
If (LEqual (FVCM, 0x01))
{
Store (0x00010000, Index (OC02, 0x05))
Store (0x00, Index (CPUM, 0x03))
}
Else
{
Store (0x00010000, Index (OC02, 0x05))
Store (0x00, Index (CPUM, 0x03))
}
Store (Add (ShiftRight (MAXF, 0x01), 0x04), Index (OC02, 0x03))
Add (0x01, DerefOf (Index (OC02, 0x03)), Local0)
Store (DerefOf (Index (OC02, 0x02)), Local1)
Subtract (Local0, Local1, Index (OC02, 0x04))
Return (CPUM)
}
Store (DerefOf (Index (OC03, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (FVCM, Index (CPFV, 0x02))
If (LEqual (CCAQ, 0x00))
{
Store (0x00010000, Index (OC03, 0x05))
Store (0x00, Index (CPFV, 0x03))
}
Else
{
Store (0x00010003, Index (OC03, 0x05))
Store (0x01, Index (CPFV, 0x03))
}
Return (CPFV)
}
Store (DerefOf (Index (OC04, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Return (PCIV)
}
Store (DerefOf (Index (OC05, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (OCPI, Index (OCPR, 0x02))
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x00010003, Index (OC05, 0x05))
Store (0x01, Index (OCPR, 0x03))
}
Else
{
Store (0x00010003, Index (OC05, 0x05))
Store (0x01, Index (OCPR, 0x03))
}
Return (OCPR)
}
Store (DerefOf (Index (OC06, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (AITU, 0x04))
{
Store (NOS1, Index (NOSP, 0x02))
}
Else
{
Store (0x00, Index (NOSP, 0x02))
}
Return (NOSP)
}
Store (DerefOf (Index (OC07, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (NOST, Index (NOSM, 0x02))
Return (NOSM)
}
Store (DerefOf (Index (OC08, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (CPUS, Index (FANB, 0x02))
Return (FANB)
}
Store (DerefOf (Index (OC09, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (Subtract (CURV, MAXV), Local2)
ShiftLeft (Local2, 0x01, Local2)
And (OVID, 0x01, Local3)
Or (Local2, Local3, Local2)
Store (Local2, Index (CPUV, 0x02))
Store (ShiftLeft (MAXV, 0x01), Local2)
Subtract (0x3D09, Multiply (Local2, 0x7D), Index (OC09, 0x03))
Subtract (0x3D, Local2, Index (OC09, 0x04))
Return (CPUV)
}
Store (DerefOf (Index (OC0A, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (DDRV, Index (DDVO, 0x02))
Return (DDVO)
}
Store (DerefOf (Index (OC0B, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (AITU, Index (AIOT, 0x02))
Return (AIOT)
}
Store (DerefOf (Index (OC0C, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (CCAQ, Index (ACAQ, 0x02))
Return (ACAQ)
}
}
Name (CPUO, Package (0x04)
{
0x01010000,
0x4E20,
0x00,
0x01
})
Name (CPUM, Package (0x04)
{
0x01060001,
0x00,
0x00,
0x00
})
Name (CPFV, Package (0x06)
{
0x01060002,
0x00,
0x00,
0x00,
"Auto",
"Manual"
})
Name (PCIV, Package (0x04)
{
0x07010003,
0x2710,
0x64,
0x00
})
Name (OCPR, Package (0x09)
{
0x05050004,
0x00,
0x00,
0x00,
"Overclock 1%",
"Overclock 3%",
"Overclock 5%",
"Overclock 8%",
"Overclock 10%"
})
Name (NOSP, Package (0x09)
{
0x08050005,
0x00,
0x00,
0x01,
"Overclock 1%",
"Overclock 3%",
"Overclock 5%",
"Overclock 8%",
"Overclock 10%"
})
Name (NOSM, Package (0x08)
{
0x08060006,
0x00,
0x00,
0x00,
"Auto",
"Standard%",
"Sensitive",
"Heavy Load"
})
Name (FANB, Package (0x06)
{
0x04040007,
0x00,
0x00,
0x01,
"Disabled",
"Enabled"
})
Name (CPUV, Package (0x04)
{
0x01020008,
0x00,
0x00,
0x01
})
Name (DDVO, Package (0x0E)
{
0x02020009,
0x00,
0x00,
0x01,
"Auto",
"2.60V",
"2.65V",
"2.70V",
"2.75V",
"2.80V",
"2.85V",
"2.90V",
"2.95V",
"3.00V"
})
Name (AIOT, Package (0x09)
{
0x0906000C,
0x00,
0x00,
0x01,
"Manual",
"Auto",
"Standard",
"OverClock Profile",
"AI NOS"
})
Name (ACAQ, Package (0x06)
{
0x0106000B,
0x00,
0x00,
0x00,
"Enabled",
"Disabled"
})
Name (OCST, Package (0x0C)
{
Package (0x02)
{
0x01010000,
0x01
},
Package (0x02)
{
0x01060001,
0x01
},
Package (0x02)
{
0x01060002,
0x01
},
Package (0x02)
{
0x07010003,
0x01
},
Package (0x02)
{
0x05050004,
0x01
},
Package (0x02)
{
0x08050005,
0x01
},
Package (0x02)
{
0x08060006,
0x01
},
Package (0x02)
{
0x04060003,
0x01
},
Package (0x02)
{
0x01020008,
0x01
},
Package (0x02)
{
0x02020009,
0x01
},
Package (0x02)
{
0x0906000C,
0x01
},
Package (0x02)
{
0x0106000B,
0x01
}
})
Method (PROC, 3, NotSerialized)
{
Store (DerefOf (Index (OC01, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (Arg1, Local2)
Add (Local2, 0xC8, Local2)
If (LEqual (Arg2, 0x00))
{
If (LNot (LGreater (AITU, 0x03)))
{
If (LNot (LLess (FSBF, Local2)))
{
Subtract (FSBF, Local2, Local0)
}
Else
{
Subtract (Local2, FSBF, Local0)
}
If (LGreater (Local0, 0x0A))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
Store (0x01, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x01)
}
Else
{
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
}
If (LNot (LLess (FSBF, Local2)))
{
Subtract (FSBF, Local2, Local0)
}
Else
{
Subtract (Local2, FSBF, Local0)
}
Store (Local2, FSBF)
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x00, SMIS)
Store (0xAB, SMIC)
Store (0x00, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
If (LGreater (Local0, 0x0A))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
Store (0xAA, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x01)
}
Store (0x00, SMIS)
Store (0xAB, SMIC)
Store (0x00, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x00)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC02, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
If (LEqual (CCQA, 0x00))
{
Store (0x01, CCAQ)
Store (0x0C, SMIS)
Store (0xAB, SMIC)
Store (0x01, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
If (LEqual (FVCM, 0x00))
{
Store (0x01, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
Store (ShiftLeft (Subtract (Arg1, 0x04), 0x01), FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x01)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC03, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
Return (0x03)
}
If (LEqual (CCAQ, 0x00))
{
Store (0x01, CCAQ)
Store (0x0C, SMIS)
Store (0xAB, SMIC)
Store (Arg1, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
Return (0x03)
}
Store (Arg1, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x02)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC04, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x03)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC05, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x01)
}
Store (0x03, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x03)
}
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x03, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, OCPI)
Store (0x05, SMIS)
Store (0xAB, SMIC)
If (LEqual (Arg1, 0x00))
{
Store (0xCA, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x01))
{
Store (0xCE, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x02))
{
Store (0xD2, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x03))
{
Store (0xD8, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
If (LEqual (Arg1, 0x04))
{
Store (0xDC, FSBF)
Store (0x00, SMIS)
Store (0xAB, SMIC)
}
Store (0xAA, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x01)
}
Store (0x03, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, OCPI)
Store (0x05, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x04)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC06, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
If (LEqual (Arg1, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
Store (0x01, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x01)
}
If (LNot (LGreater (AITU, 0x03)))
{
Store (0x04, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, NOS1)
Store (0x07, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
If (LEqual (Arg1, 0x00))
{
Store (0x01, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (Arg1, NOS1)
Store (0x07, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x03)
}
Store (Arg1, NOS1)
Store (0x07, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x05)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC07, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x06)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC08, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x07)), 0x01))
Return (0x01)
}
Store (Arg1, CPUS)
Store (0x09, SMIS)
Store (0xAB, SMIC)
Store (0xBB, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x07)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC09, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x08)), 0x01))
Return (0x03)
}
Store (CURF, FIDV)
Store (0x03, SMIS)
Store (0xAB, SMIC)
Store (0x01, CCAQ)
Store (0x0C, SMIS)
Store (0xAB, SMIC)
Store (0x01, FVCM)
Store (0x01, SMIS)
Store (0xAB, SMIC)
Store (Add (Arg1, ShiftLeft (MAXV, 0x01)), OVID)
Store (0x0B, SMIS)
Store (0xAB, SMIC)
Store (ShiftRight (Add (Arg1, ShiftLeft (MAXV, 0x01)), 0x01), VIDV)
Store (0x04, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x08)), 0x01))
Return (0x03)
}
Store (DerefOf (Index (OC0A, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
Return (0x01)
}
If (LEqual (Arg1, DDRV))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
Return (0x01)
}
Store (Arg1, DDRV)
Store (0x08, SMIS)
Store (0xAB, SMIC)
Store (DerefOf (Index (DDRT, Arg1)), QDDR)
Store (0x01, Index (DerefOf (Index (OCST, 0x09)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC0B, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LNot (LEqual (Arg1, AITU)))
{
Store (0x03, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x03)
}
Store (0x01, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x01)
}
If (LNot (LEqual (Arg1, AITU)))
{
Store (Arg1, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x03)
}
Store (Arg1, AITU)
Store (0x02, SMIS)
Store (0xAB, SMIC)
Store (0x01, Index (DerefOf (Index (OCST, 0x0A)), 0x01))
Return (0x01)
}
Store (DerefOf (Index (OC0C, 0x00)), Local1)
If (LEqual (Arg0, Local1))
{
If (LEqual (Arg2, 0x00))
{
If (LEqual (Arg1, CCAQ))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x01)
}
Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x03)
}
If (LEqual (Arg1, CCAQ))
{
Store (0x01, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x01)
}
Store (Arg1, CCAQ)
Store (0x09, SMIS)
Store (0xAB, SMIC)
Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), 0x01))
Return (0x03)
}
}
Method (GETM, 1, NotSerialized)
{
Multiply (Add (Arg0, 0x01), 0x03E8, Local0)
Store (0xFFFF, Local6)
Store (0x10, Local1)
While (LNot (LGreater (Local1, 0x80)))
{
Store (0x10, Local2)
While (LNot (LGreater (Local2, 0x80)))
{
Store (Divide (Multiply (Local2, 0x0005E9AC), Multiply (Local1, 0x04), ), Local3)
Multiply (Local3, 0x02, Local3)
If (LGreater (Local3, Local0))
{
Store (Subtract (Local3, Local0), Local3)
}
Else
{
Store (Subtract (Local0, Local3), Local3)
}
If (LLess (Local3, Local6))
{
Store (Local1, Local4)
Store (Local2, Local5)
Store (Local3, Local6)
}
Increment (Local2)
}
Increment (Local1)
}
ShiftLeft (Local5, 0x08, Local1)
Or (Local1, Local4, Local6)
And (Local6, 0xFFFF, Local6)
Return (Local6)
}
}
Device (\_SB.PCI0.PCIE)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x11)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly, 0xE0000000, 0x10000000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x04, BAS1)
CreateDWordField (CRS, 0x08, LEN1)
Store (\PCIB, BAS1)
Store (\PCIL, LEN1)
Return (CRS)
}
}
Scope (\_PR)
{
Processor (CPU1, 0x01, 0x00005010, 0x06)
{
Name (_PCT, Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
}
})
Name (_PSS, Package (0x04)
{
Package (0x06)
{
0x00000898,
0x000105B8,
0x00000064,
0x00000007,
0xE020298E,
0x0000018E
},
Package (0x06)
{
0x000007D0,
0x0000DAC0,
0x00000064,
0x00000007,
0xE0202A0C,
0x0000020C
},
Package (0x06)
{
0x00000708,
0x0000B3B0,
0x00000064,
0x00000007,
0xE0202A8A,
0x0000028A
},
Package (0x06)
{
0x000003E8,
0x00004E20,
0x00000064,
0x00000007,
0xE0202C82,
0x00000482
}
})
Name (PSXG, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (PSXF, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (PSXE, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (PSXD, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (PSXC, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Name (PSXB, Buffer (0x18)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Method (_PPC, 0, NotSerialized)
{
Return (0x00)
}
}
Processor (CPU2, 0x02, 0x00000000, 0x00)
{
Name (APCT, Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
},
ResourceTemplate ()
{
Register (FFixedHW, 0x00, 0x00, 0x0000000000000000)
}
})
Name (APSS, Package (0x0A)
{
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
},
Package (0x06)
{
0x09999999,
0x00099999,
0x00999999,
0x00999999,
0x99999999,
0x99999999
}
})
Method (APPC, 0, NotSerialized)
{
Return (0x00)
}
}
}
Device (OMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x00)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
})
Method (_CRS, 0, NotSerialized)
{
If (APIC)
{
CreateDWordField (CRS, 0x08, ML01)
CreateDWordField (CRS, 0x04, MB01)
CreateDWordField (CRS, 0x14, ML02)
CreateDWordField (CRS, 0x10, MB02)
Store (0xFEC00000, MB01)
Store (0x1000, ML01)
Store (0xFEE00000, MB02)
Store (0x1000, ML02)
}
Return (CRS)
}
}
Device (\_SB.RMEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x01)
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000)
Memory32Fixed (ReadWrite, 0x00100000, 0x00000000)
Memory32Fixed (ReadOnly, 0x00000000, 0x00000000)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, 0x10, BAS1)
CreateDWordField (CRS, 0x14, LEN1)
CreateDWordField (CRS, 0x1C, BAS2)
CreateDWordField (CRS, 0x20, LEN2)
CreateDWordField (CRS, 0x2C, LEN3)
CreateDWordField (CRS, 0x34, BAS4)
CreateDWordField (CRS, 0x38, 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 (0x00, BAS4, LEN4)
Return (CRS)
}
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, 0x0B03D041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (0x00)
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
IRQNoFlags () {1}
})
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x10, 0x04))
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, 0x130FD041)
Method (_STA, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0C, Local0)
If (And (IOST, Local0))
{
Return (0x0F)
}
Return (0x00)
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags () {12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16, 0x0060, 0x0060, 0x00, 0x01)
IO (Decode16, 0x0064, 0x0064, 0x00, 0x01)
IRQNoFlags () {12}
})
Method (_CRS, 0, NotSerialized)
{
ShiftLeft (0x01, 0x0A, Local0)
If (And (IOST, Local0))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
}
Method (PS2M._PRW, 0, NotSerialized)
{
Return (GPRW (0x10, 0x04))
}
Device (UAR1)
{
Name (_UID, 0x01)
Method (_HID, 0, NotSerialized)
{
Return (UHID (0x00))
}
Method (_STA, 0, NotSerialized)
{
Return (DSTA (0x00))
}
Method (_DIS, 0, NotSerialized)
{
DCNT (0x00, 0x00)
}
Method (_CRS, 0, NotSerialized)
{
Return (DCRS (0x00, 0x01))
}
Method (_SRS, 1, NotSerialized)
{
DSRS (Arg0, 0x00)
}
Method (_PRS, 0, NotSerialized)
{
Return (CMPR)
}
Name (CMPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {4}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08)
IRQNoFlags () {3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8) {0,1,2,3}
}
EndDependentFn ()
})
}
Method (UAR1._PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
Device (SIOR)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_UID, 0, NotSerialized)
{
Return (SPIO)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x00, 0x00)
})
Method (_CRS, 0, NotSerialized)
{
If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0)))
{
CreateWordField (CRS, 0x02, GP10)
CreateWordField (CRS, 0x04, GP11)
CreateByteField (CRS, 0x07, GPL1)
Store (SPIO, GP10)
Store (SPIO, GP11)
Store (0x02, GPL1)
}
If (IOPB)
{
CreateWordField (CRS, 0x0A, GP20)
CreateWordField (CRS, 0x0C, GP21)
CreateByteField (CRS, 0x0F, GPL2)
Store (IOPB, GP20)
Store (IOPB, GP21)
Store (IOPL, GPL2)
}
If (IOEB)
{
CreateWordField (CRS, 0x12, GP30)
CreateWordField (CRS, 0x14, GP31)
CreateByteField (CRS, 0x17, GPL3)
Store (IOEB, GP30)
Store (IOEB, GP31)
Store (IOEL, GPL3)
}
If (IOGB)
{
CreateWordField (CRS, 0x1A, GP40)
CreateWordField (CRS, 0x1C, GP41)
CreateByteField (CRS, 0x1F, GPL4)
Store (IOGB, GP40)
Store (IOGB, GP41)
Store (IOGL, GPL4)
}
If (IODB)
{
CreateWordField (CRS, 0x22, GP50)
CreateWordField (CRS, 0x24, GP51)
CreateByteField (CRS, 0x27, GPL5)
Store (IODB, GP50)
Store (IODB, GP51)
Store (IODL, GPL5)
}
Return (CRS)
}
}
Name (DCAT, Package (0x16)
{
0x01,
0x02,
0x03,
0x00,
0xFF,
0x08,
0xFF,
0xFF,
0x09,
0xFF,
0x05,
0x04,
0xFF,
0xFF,
0xFF,
0xFF,
0x0A,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
})
Name (IKEY, Package (0x02)
{
Package (0x04)
{
0x87,
0x01,
0x55,
0x55
},
Package (0x04)
{
0x87,
0x01,
0x55,
0xAA
}
})
Name (KBFG, 0x01)
Name (MSFG, 0x01)
Name (UR1F, 0x01)
Method (ENFG, 1, NotSerialized)
{
Store (0x00, Local1)
If (LEqual (SPIO, 0x2E))
{
Store (0x00, Local1)
}
If (LEqual (SPIO, 0x4E))
{
Store (0x01, Local1)
}
Store (0x00, Local0)
While (LNot (LEqual (Local0, 0x04)))
{
Store (DerefOf (Index (DerefOf (Index (IKEY, Local1)), Local0)), INDX)
Increment (Local0)
}
Store (Arg0, LDN)
}
Method (ENTR, 0, NotSerialized)
{
Store (0x87, INDX)
Store (0x01, INDX)
Store (0x55, INDX)
If (LEqual (SPIO, 0x2E))
{
Store (0x55, INDX)
}
Else
{
Store (0xAA, INDX)
}
}
Method (EXFG, 0, NotSerialized)
{
Store (0x02, INDX)
Store (0x02, DATA)
}
Method (LPTM, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x02, Local0)
EXFG ()
Return (Local0)
}
Method (UHID, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x70, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
Return (0x0105D041)
}
Method (ORF0, 1, NotSerialized)
{
ENTR ()
Or (OPT0, Arg0, OPT0)
EXFG ()
}
Method (ORF1, 1, NotSerialized)
{
ENTR ()
Or (OPT1, Arg0, OPT1)
EXFG ()
}
Method (ORF2, 1, NotSerialized)
{
ENTR ()
Or (OPT2, Arg0, OPT2)
EXFG ()
}
Method (ANF0, 1, NotSerialized)
{
ENTR ()
And (OPT0, Arg0, OPT0)
EXFG ()
}
Method (ANF2, 1, NotSerialized)
{
ENTR ()
And (OPT2, Arg0, OPT2)
EXFG ()
}
Method (ANF4, 1, NotSerialized)
{
ENTR ()
And (OPT4, Arg0, OPT4)
EXFG ()
}
Method (STF0, 1, NotSerialized)
{
ENTR ()
Store (Arg0, OPT0)
EXFG ()
}
Method (STF1, 1, NotSerialized)
{
ENTR ()
Store (Arg0, OPT1)
EXFG ()
}
Method (SIOS, 1, NotSerialized)
{
Store ("SIOS", Debug)
Store (0x00, GP10)
If (LLess (Arg0, 0x05))
{
ENFG (0x04)
Store (0x01, ACTR)
EXFG ()
ANF4 (0xFC)
ORF1 (0x18)
If (KBFG)
{
ORF0 (0x08)
}
Else
{
ANF0 (0xF7)
}
If (MSFG)
{
ORF0 (0x10)
}
Else
{
ANF0 (0xEF)
ENFG (0x06)
Store (0x00, ACTR)
EXFG ()
}
ENFG (0x04)
ANF2 (0xF0)
ENFG (0x07)
And (OPF9, 0xFE, OPF9)
And (OPC0, 0xFE, OPC0)
And (OPC3, 0xFE, OPC3)
And (OP29, 0xEF, OP29)
EXFG ()
}
Else
{
ENFG (0x07)
And (OPC0, 0x00, OPC0)
Or (OPC0, 0x01, OPC0)
And (OPC3, 0x00, OPC3)
Or (OPC3, 0x01, OPC3)
Or (OPF9, 0x01, OPF9)
And (OP29, 0xEF, OP29)
EXFG ()
}
}
Method (SIOW, 1, NotSerialized)
{
Store (0x01, GP10)
Store (0x01, GP40)
Store ("SIOW", Debug)
ENFG (0x04)
Store (0x00, ACTR)
EXFG ()
STF0 (0x00)
STF1 (0xFF)
ENFG (0x07)
Or (OP29, 0x10, OP29)
Or (OPC0, 0x01, OPC0)
Or (OPC3, 0x01, OPC3)
EXFG ()
ENFG (0x05)
Or (ACTR, 0x01, ACTR)
EXFG ()
ENFG (0x06)
Or (ACTR, 0x01, ACTR)
EXFG ()
ENFG (0x04)
Store (0x01, ACTR)
EXFG ()
}
Method (SIOH, 0, NotSerialized)
{
Store ("SIOH", Debug)
}
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 (0x29),
OP29, 8,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
IOH2, 8,
IOL2, 8,
Offset (0x70),
INTR, 8,
Offset (0x74),
DMCH, 8,
Offset (0xC0),
OPC0, 8,
OPC1, 8,
OPC2, 8,
OPC3, 8,
Offset (0xF0),
OPT0, 8,
OPT1, 8,
OPT2, 8,
OPT3, 8,
OPT4, 8,
Offset (0xF8),
OPF8, 8,
OPF9, 8,
OPFA, 8,
OPFB, 8
}
Method (PS2K._PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x01, KBFG)
}
Else
{
Store (0x00, KBFG)
}
}
Method (PS2M._PSW, 1, NotSerialized)
{
If (Arg0)
{
Store (0x01, MSFG)
}
Else
{
Store (0x00, MSFG)
}
}
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 (0x00)
}
And (Local0, 0x01, Local0)
Or (IOST, ShiftLeft (Local0, Arg0), IOST)
If (Local0)
{
Return (0x0F)
}
Else
{
If (And (ShiftLeft (0x01, Arg0), IOST))
{
Return (0x0D)
}
Else
{
Return (0x00)
}
}
}
Method (DCNT, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
RRIO (Arg0, Arg1, Local1, 0x08)
If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), 0x00))))
{
RDMA (Arg0, Arg1, Increment (Local1))
}
Store (Arg1, ACTR)
EXFG ()
}
Name (CRS1, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
IRQNoFlags () {}
DMA (Compatibility, NotBusMaster, Transfer8) {}
})
CreateWordField (CRS1, 0x09, IRQM)
CreateByteField (CRS1, 0x0C, DMAM)
CreateWordField (CRS1, 0x02, IO11)
CreateWordField (CRS1, 0x04, IO12)
CreateByteField (CRS1, 0x07, LEN1)
Name (CRS2, ResourceTemplate ()
{
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
IO (Decode16, 0x0000, 0x0000, 0x01, 0x00)
IRQNoFlags () {6}
DMA (Compatibility, NotBusMaster, Transfer8) {2}
})
CreateWordField (CRS2, 0x11, IRQE)
CreateByteField (CRS2, 0x14, DMAE)
CreateWordField (CRS2, 0x02, IO21)
CreateWordField (CRS2, 0x04, IO22)
CreateByteField (CRS2, 0x07, LEN2)
CreateWordField (CRS2, 0x0A, IO31)
CreateWordField (CRS2, 0x0C, IO32)
CreateByteField (CRS2, 0x0F, LEN3)
Method (DCRS, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, IO11)
Or (IOAL, IO11, IO11)
Store (IO11, IO12)
Subtract (FindSetRightBit (IO11), 0x01, Local0)
ShiftLeft (0x01, Local0, LEN1)
If (INTR)
{
ShiftLeft (0x01, INTR, IRQM)
}
Else
{
Store (0x00, IRQM)
}
If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, 0x00)))
{
Store (0x00, DMAM)
}
Else
{
And (DMCH, 0x03, Local1)
ShiftLeft (0x01, Local1, DMAM)
}
EXFG ()
Return (CRS1)
}
Method (DSRS, 2, NotSerialized)
{
CreateWordField (Arg0, 0x09, IRQM)
CreateByteField (Arg0, 0x0C, DMAM)
CreateWordField (Arg0, 0x02, IO11)
ENFG (CGLD (Arg1))
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
If (IRQM)
{
FindSetRightBit (IRQM, Local0)
Subtract (Local0, 0x01, INTR)
}
Else
{
Store (0x00, INTR)
}
If (DMAM)
{
FindSetRightBit (DMAM, Local0)
Subtract (Local0, 0x01, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
DCNT (Arg1, 0x01)
}
OperationRegion (GPIO, SystemIO, IO1B, 0x04)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GP10, 1,
GP11, 1,
GP12, 1,
GP13, 1,
GO14, 1,
GO15, 1,
GO16, 1,
GO17, 1,
GP20, 1,
GP21, 1,
GP22, 1,
GP23, 1,
GO24, 1,
GO25, 1,
GO26, 1,
GO27, 1,
GP30, 1,
GP31, 1,
GP32, 1,
GP33, 1,
GO34, 1,
GO35, 1,
GO36, 1,
GO37, 1,
GP40, 1,
GP41, 1,
GP42, 1,
GP43, 1,
GO44, 1,
GO45, 1,
GO46, 1,
GO47, 1
}
}
Device (NSMB)
{
Name (_ADR, 0x000A0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
}
Device (USB0)
{
Name (_ADR, 0x000B0000)
Name (_S1D, 0x01)
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (USB2)
{
Name (_ADR, 0x000B0001)
Name (_S1D, 0x01)
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), 0x01), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x05, 0x04))
}
}
Device (NMAC)
{
Name (_ADR, 0x00130000)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
Scope (\_GPE)
{
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.NMAC, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
}
Device (IDE0)
{
Name (_ADR, 0x000F0000)
Name (PTS0, 0x00)
Name (SID0, 0x00)
Name (SID1, 0x00)
Name (SID2, 0x00)
Name (SID3, 0x00)
Name (SID4, 0x00)
Name (SID5, 0x00)
OperationRegion (IRQM, SystemIO, 0x21, 0x01)
Field (IRQM, ByteAcc, NoLock, Preserve)
{
IR0M, 1
}
Name (REGF, 0x01)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, REGF)
}
}
OperationRegion (A090, PCI_Config, 0x50, 0x18)
Field (A090, DWordAcc, NoLock, Preserve)
{
ID20, 16,
Offset (0x08),
IDTS, 16,
IDTP, 16,
ID22, 32,
UMSS, 16,
UMSP, 16
}
Name (TIM0, Package (0x07)
{
Package (0x05)
{
0x3C,
0x78,
0xB4,
0xF0,
0x0384
},
Package (0x05)
{
0x11,
0x20,
0x22,
0x47,
0xA8
},
Package (0x07)
{
0x78,
0x5A,
0x3C,
0x2D,
0x1E,
0x14,
0x0F
},
Package (0x05)
{
0x05,
0x04,
0x03,
0x02,
0x00
},
Package (0x04)
{
0x02,
0x01,
0x00,
0x00
},
Package (0x08)
{
0x02,
0x01,
0x00,
0x00,
0x03,
0x04,
0x05,
0x06
},
Package (0x07)
{
0x02,
0x01,
0x00,
0x04,
0x05,
0x06,
0x07
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, 0x00, PIO0)
CreateDWordField (TMD0, 0x04, DMA0)
CreateDWordField (TMD0, 0x08, PIO1)
CreateDWordField (TMD0, 0x0C, DMA1)
CreateDWordField (TMD0, 0x10, CHNF)
OperationRegion (CFG2, PCI_Config, 0x58, 0x0C)
Field (CFG2, DWordAcc, NoLock, Preserve)
{
SSPT, 8,
SMPT, 8,
PSPT, 8,
PMPT, 8,
SSAS, 2,
SMAS, 2,
PSAS, 2,
PMAS, 2,
Offset (0x06),
SDDR, 4,
SDDA, 4,
PDDR, 4,
PDDA, 4,
SSUT, 3,
, 3,
SSUE, 2,
SMUT, 3,
, 3,
SMUE, 2,
PSUT, 3,
, 3,
PSUE, 2,
PMUT, 3,
, 3,
PMUE, 2
}
Name (GMPT, 0x00)
Name (GMUE, 0x00)
Name (GMUT, 0x00)
Name (GSPT, 0x00)
Name (GSUE, 0x00)
Name (GSUT, 0x00)
Device (CHN0)
{
Name (_ADR, 0x00)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM_CHN0", Debug)
Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT))
}
Method (_STM, 3, NotSerialized)
{
Store ("STM_CHN0", Debug)
Store (Arg0, Debug)
Store (Arg0, TMD0)
Store (PMPT, GMPT)
Store (PMUE, GMUE)
Store (PMUT, GMUT)
Store (PSPT, GSPT)
Store (PSUE, GSUE)
Store (PSUT, GSUT)
STM ()
Store (GMPT, PMPT)
Store (GMUE, PMUE)
Store (GMUT, PMUT)
Store (GSPT, PSPT)
Store (GSUE, PSUE)
Store (GSUT, PSUT)
Store (GTF (0x00, Arg1), ATA0)
Store (GTF (0x01, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN0_DRV0", Debug)
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN0_DRV1", Debug)
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, 0x01)
Method (_GTM, 0, NotSerialized)
{
Store ("GTM_CHN1", Debug)
Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
Store (SMPT, GMPT)
Store (SMUE, GMUE)
Store (SMUT, GMUT)
Store (SSPT, GSPT)
Store (SSUE, GSUE)
Store (SSUT, GSUT)
STM ()
Store (GMPT, SMPT)
Store (GMUE, SMUE)
Store (GMUT, SMUT)
Store (GSPT, SSPT)
Store (GSUE, SSUE)
Store (GSUT, SSUT)
Store (GTF (0x00, Arg1), ATA2)
Store (GTF (0x01, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN1_DRV0", Debug)
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, 0x01)
Method (_GTF, 0, NotSerialized)
{
Store ("_GTF_CHN1_DRV1", Debug)
Return (RATA (ATA3))
}
}
}
Method (DRMP, 0, NotSerialized)
{
ShiftRight (CPB0, 0x04, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
Method (GTM, 6, Serialized)
{
Store (Ones, PIO0)
Store (Ones, PIO1)
Store (Ones, DMA0)
Store (Ones, DMA1)
Store (0x10, CHNF)
If (REGF) {}
Else
{
Return (TMD0)
}
If (LEqual (PTS0, 0x01))
{
If (OSFL ())
{
Store (0x01, IR0M)
}
}
Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
Store (Local7, DMA0)
Store (Local7, PIO0)
Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7)
Store (Local7, DMA1)
Store (Local7, PIO1)
If (Arg1)
{
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)), Local5)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)), DMA0)
Or (CHNF, 0x01, CHNF)
}
If (Arg4)
{
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg5)), Local5)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local5)), DMA1)
Or (CHNF, 0x04, CHNF)
}
Store (TMD0, Debug)
Return (TMD0)
}
Method (STM, 0, Serialized)
{
If (REGF) {}
Else
{
Return (0x00)
}
If (PTS0)
{
Store (SID0, ID20)
Store (SID1, IDTS)
Store (SID2, IDTP)
Store (SID3, ID22)
Store (SID4, UMSS)
Store (SID5, UMSP)
}
Else
{
Store (ID20, SID0)
Store (IDTS, SID1)
Store (IDTP, SID2)
Store (ID22, SID3)
Store (UMSS, SID4)
Store (UMSP, SID5)
}
Store (0x00, PTS0)
Store (0x00, GMUE)
Store (0x00, GMUT)
Store (0x00, GSUE)
Store (0x00, GSUT)
If (And (CHNF, 0x01))
{
Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMA0, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x06))
{
Store (0x06, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GMUT)
Or (GMUE, 0x03, GMUE)
}
Else
{
If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00)))
{
Store (DMA0, PIO0)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMA1, MTR, 0x00, 0x00), Local0)
If (LGreater (Local0, 0x06))
{
Store (0x06, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GSUT)
Or (GSUE, 0x03, GSUE)
}
Else
{
If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00)))
{
Store (DMA1, PIO1)
}
}
}
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
Store (Local1, GMPT)
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1)
Store (Local1, GSPT)
Return (0x00)
}
Name (AT01, Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT02, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
})
Name (AT03, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
})
Name (AT04, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
})
Name (ATA0, Buffer (0x1D) {})
Name (ATA1, Buffer (0x1D) {})
Name (ATA2, Buffer (0x1D) {})
Name (ATA3, Buffer (0x1D) {})
Name (ATAB, Buffer (0x1D) {})
CreateByteField (ATAB, 0x00, 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 ("GTF_Entry", Debug)
Store (Arg1, Debug)
Store (0x00, CMDC)
Name (ID49, 0x0C00)
Name (ID59, 0x00)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, 0x01)
Name (PIOT, 0x00)
Name (DMAT, 0x00)
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, 0x01))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, DMAT, MTR, 0x00, 0x00), Local1)
If (LGreater (Local1, 0x06))
{
Store (0x06, Local1)
}
GTFB (AT01, Or (0x40, Local1), Local7)
}
Else
{
If (LAnd (And (ID63, 0xFF00), PIOT))
{
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, 0x01, Local7)
}
}
If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
{
GTFB (AT03, And (ID59, 0xFF), Local7)
}
Store ("ATAB_GTF", Debug)
Store (ATAB, Debug)
Return (ATAB)
}
Method (RATA, 1, NotSerialized)
{
CreateByteField (Arg0, 0x00, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (RETB)
}
}
Device (ATA0)
{
Name (_ADR, 0x00100000)
Device (PRI0)
{
Name (_ADR, 0x00)
Name (SPTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Name (SSTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Method (DRMP, 0, NotSerialized)
{
Store (0x0C, Local0)
If (LEqual (_ADR, 0x00100000))
{
Store (0x08, Local0)
}
ShiftRight (CPB0, Local0, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
}
Device (ATA1)
{
Name (_ADR, 0x00110000)
Device (PRI0)
{
Name (_ADR, 0x00)
Name (SPTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SPTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SPTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Device (SEC0)
{
Name (_ADR, 0x01)
Name (SSTM, Buffer (0x14)
{
0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x13, 0x00, 0x00, 0x00
})
Method (_GTM, 0, NotSerialized)
{
Return (SSTM)
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, SSTM)
}
Device (MAST)
{
Name (_ADR, 0x00)
Method (_GTF, 0, NotSerialized)
{
Store (Buffer (0x07)
{
0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local0)
Return (Local0)
}
}
}
Method (DRMP, 0, NotSerialized)
{
Store (0x0C, Local0)
If (LEqual (_ADR, 0x00100000))
{
Store (0x08, Local0)
}
ShiftRight (CPB0, Local0, Local1)
And (Local1, 0x0F, Local0)
Return (Local0)
}
}
Device (PB2P)
{
Name (_ADR, 0x00120000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x00, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
}
Device (MC97)
{
Name (_ADR, 0x000D0001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x07, 0x04))
}
}
Device (PCE0)
{
Name (_ADR, 0x00020000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (PCE1)
{
Name (_ADR, 0x00030000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR03)
}
Return (PR03)
}
}
Device (PCE2)
{
Name (_ADR, 0x00040000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04)
}
Return (PR04)
}
}
Device (PCE3)
{
Name (_ADR, 0x00170000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR05)
}
Return (PR05)
}
}
Device (PCE4)
{
Name (_ADR, 0x00160000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR06)
}
Return (PR06)
}
}
Device (PCE5)
{
Name (_ADR, 0x00150000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x11, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR07)
}
Return (PR07)
}
}
}
Scope (\_GPE)
{
Method (_L10, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.PWRB, 0x02)
}
Method (_L03, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.PWRB, 0x02)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.NSMB, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L00, 0, NotSerialized)
{
Notify (\_SB.PCI0.PB2P, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L07, 0, NotSerialized)
{
Notify (\_SB.PCI0.MC97, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L11, 0, NotSerialized)
{
Notify (\_SB.PCI0.PCE0, 0x02)
Notify (\_SB.PCI0.PCE1, 0x02)
Notify (\_SB.PCI0.PCE2, 0x02)
Notify (\_SB.PCI0.PCE3, 0x02)
Notify (\_SB.PCI0.PCE4, 0x02)
Notify (\_SB.PCI0.PCE5, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_UID, 0xAA)
Name (_STA, 0x0B)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x03, 0x04))
}
}
}
OperationRegion (\_SB.PCI0.SBRG.PIMC, PCI_Config, 0x7C, 0x0C)
Field (\_SB.PCI0.SBRG.PIMC, ByteAcc, NoLock, Preserve)
{
PIRA, 4,
PIRB, 4,
PIRC, 4,
PIRD, 4,
, 4,
PIRF, 4,
PIRG, 4,
Offset (0x05),
PIRM, 4,
PIU2, 4,
Offset (0x07),
SIID, 4,
PIID, 4,
PIU0, 4,
Offset (0x09),
PILN, 4,
Offset (0x0A),
PAUI, 4,
PIMO, 4,
PR0E, 4,
PR0F, 4
}
Scope (\_SB)
{
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared) {15}
})
CreateWordField (BUFA, 0x01, ICRS)
Method (LSTA, 1, NotSerialized)
{
If (Arg0)
{
Return (0x0B)
}
Else
{
Return (0x09)
}
}
Method (LPRS, 2, NotSerialized)
{
If (PICM)
{
Return (Arg1)
}
Else
{
Return (Arg0)
}
}
Method (LCRS, 1, NotSerialized)
{
If (PICM)
{
Name (BUFB, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000011,
}
})
CreateByteField (BUFB, 0x05, AIRQ)
Store (Arg0, AIRQ)
If (LEqual (Arg0, 0x01))
{
Store (0x11, AIRQ)
}
If (LEqual (Arg0, 0x02))
{
Store (0x12, AIRQ)
}
If (LEqual (Arg0, 0x08))
{
Store (0x10, AIRQ)
}
If (LEqual (Arg0, 0x0D))
{
Store (0x13, AIRQ)
}
Return (BUFB)
}
Else
{
ShiftLeft (0x01, Arg0, ICRS)
Return (BUFA)
}
}
Method (LCRO, 1, NotSerialized)
{
If (PICM)
{
Name (BUFB, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared)
{
0x00000014,
}
})
CreateByteField (BUFB, 0x05, AIRQ)
Store (Arg0, AIRQ)
If (LEqual (Arg0, 0x01))
{
Store (0x17, AIRQ)
}
If (LEqual (Arg0, 0x02))
{
Store (0x16, AIRQ)
}
If (LEqual (Arg0, 0x08))
{
Store (0x14, AIRQ)
}
If (LEqual (Arg0, 0x0D))
{
Store (0x15, AIRQ)
}
Return (BUFB)
}
Else
{
ShiftLeft (0x01, Arg0, ICRS)
Return (BUFA)
}
}
Method (LSRS, 1, NotSerialized)
{
If (PICM)
{
CreateByteField (Arg0, 0x05, SAIR)
Store (SAIR, Local0)
If (LEqual (Local0, 0x10))
{
Store (0x08, Local0)
}
If (LEqual (Local0, 0x11))
{
Store (0x01, Local0)
}
If (LEqual (Local0, 0x12))
{
Store (0x02, Local0)
}
If (LEqual (Local0, 0x13))
{
Store (0x0D, Local0)
}
Return (Local0)
}
Else
{
CreateWordField (Arg0, 0x01, ISRS)
FindSetRightBit (ISRS, Local0)
Return (Decrement (Local0))
}
}
Method (LSRO, 1, NotSerialized)
{
If (PICM)
{
CreateByteField (Arg0, 0x05, SAIR)
Store (SAIR, Local0)
If (LEqual (Local0, 0x14))
{
Store (0x08, Local0)
}
If (LEqual (Local0, 0x15))
{
Store (0x0D, Local0)
}
If (LEqual (Local0, 0x16))
{
Store (0x02, Local0)
}
If (LEqual (Local0, 0x17))
{
Store (0x01, Local0)
}
Return (Local0)
}
Else
{
CreateWordField (Arg0, 0x01, ISRS)
FindSetRightBit (ISRS, Local0)
Return (Decrement (Local0))
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRA))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSA, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRA))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRB))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSB, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRB))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRC))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSC, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRC))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRD))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (PRSD, RSIR))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRS (PIRD))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRS (Arg0), PIRD)
}
}
Device (LUB0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIU0))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSB0, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIU0)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIU0))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIU0)
}
}
Device (LUB2)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIU2))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSB2, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIU2)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIU2))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIU2)
}
}
Device (LMAC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PILN))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSAC, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PILN)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PILN))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PILN)
}
}
Device (LACI)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x09)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PAUI))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSCI, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PAUI)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PAUI))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PAUI)
}
}
Device (LMC9)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0A)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIMO))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSC9, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIMO)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIMO))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIMO)
}
}
Device (LSMB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0B)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIRM))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSMB, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIRM)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIRM))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PIRM)
}
}
Device (LSA0)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0C)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PIID))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSA0, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PIID)
Store (0x00, PIRG)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (PIID))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), Local0)
Store (Local0, PIID)
Store (Local0, PIRG)
}
}
Device (LSA1)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0D)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (SIID))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSA1, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, SIID)
Store (0x00, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
Return (LCRO (SIID))
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), Local0)
Store (Local0, SIID)
Store (Local0, PIRF)
}
}
Device (LATA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0E)
Method (_STA, 0, NotSerialized)
{
Return (LSTA (PR0E))
}
Method (_PRS, 0, NotSerialized)
{
Return (LPRS (RSTA, RSII))
}
Method (_DIS, 0, NotSerialized)
{
Store (0x00, PR0E)
Store (0x00, PR0F)
}
Method (_CRS, 0, NotSerialized)
{
If (OSFL ())
{
Return (0x00)
}
Else
{
Return (LCRO (PR0E))
}
}
Method (_SRS, 1, NotSerialized)
{
Store (LSRO (Arg0), PR0E)
Store (LSRO (Arg0), PR0F)
}
}
}
Scope (\_SB)
{
Name (XCPD, 0x00)
Name (XNPT, 0x01)
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, 0x01)
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, 0x01)
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 (\_SB.RDPE (Local0), Local1)
If (LEqual (Local1, 0xFFFFFFFF))
{
Return (0x00)
}
Else
{
If (LAnd (Local1, 0x00010000))
{
\_SB.WDPE (Local0, And (Local1, 0x00010000))
Return (0x01)
}
Return (0x00)
}
}
}
Scope (\_SB.PCI0.SBRG.SIOR)
{
Device (IT87)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x00)
Method (HWV0, 0, NotSerialized)
{
Return (Multiply (VIV0, 0x10))
}
Method (HWV1, 0, NotSerialized)
{
Return (Multiply (VIV1, 0x10))
}
Method (HWV2, 0, NotSerialized)
{
Return (Multiply (VIV2, 0x10))
}
Method (HWV3, 0, NotSerialized)
{
Return (Multiply (VIV3, 0x10))
}
Method (HWV4, 0, NotSerialized)
{
Return (Multiply (VIV4, 0x10))
}
Method (HWV5, 0, NotSerialized)
{
Return (Multiply (VIV5, 0x10))
}
Method (HWV6, 0, NotSerialized)
{
Return (Multiply (VIV6, 0x10))
}
Method (HWV7, 0, NotSerialized)
{
Return (Multiply (VIV7, 0x10))
}
Method (HWT1, 0, NotSerialized)
{
Store (TPI1, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Return (Multiply (Local0, 0x0A))
}
Method (HWT2, 0, NotSerialized)
{
Store (TPI2, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Return (Multiply (Local0, 0x0A))
}
Method (HWT3, 0, NotSerialized)
{
Store (TPI3, Local0)
If (LGreater (Local0, 0x80))
{
Subtract (0x0100, Local0, Local0)
}
Return (Multiply (Local0, 0x0A))
}
Method (HWF1, 0, NotSerialized)
{
And (ETDE, 0x01, Local0)
While (0x01)
{
ShiftLeft (0x01, FTD1, Local1)
If (LEqual (Local0, 0x01))
{
Add (Multiply (EFN1, 0x0100), FTC1, Local2)
}
Else
{
Store (FTC1, Local2)
}
If (LEqual (Local0, 0x01))
{
If (LNot (LLess (Local2, 0xF000)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x1000)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
Else
{
If (LNot (LLess (Local2, 0xF0)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x32)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD1, 0x01, FTD1)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
}
}
Method (HWF2, 0, NotSerialized)
{
And (ETDE, 0x02, Local0)
While (0x01)
{
ShiftLeft (0x01, FTD2, Local1)
If (LEqual (Local0, 0x02))
{
Add (Multiply (EFN2, 0x0100), FTC2, Local2)
}
Else
{
Store (FTC2, Local2)
}
If (LEqual (Local0, 0x02))
{
If (LNot (LLess (Local2, 0xF000)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x1000)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
Else
{
If (LNot (LLess (Local2, 0xF0)))
{
If (LNot (LEqual (Local1, 0x80)))
{
Add (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x32)))
{
If (LNot (LEqual (Local1, 0x01)))
{
Subtract (FTD2, 0x01, FTD2)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
}
}
Method (HWF3, 0, NotSerialized)
{
And (ETDE, 0x04, Local0)
While (0x01)
{
If (LEqual (FTD3, 0x01))
{
Store (0x08, Local1)
}
Else
{
Store (0x02, Local1)
}
If (LEqual (Local0, 0x04))
{
Add (Multiply (EFN3, 0x0100), FTC3, Local2)
}
Else
{
Store (FTC3, Local2)
}
If (LEqual (Local0, 0x04))
{
If (LNot (LLess (Local2, 0xF000)))
{
If (LNot (LEqual (Local1, 0x08)))
{
Add (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x1000)))
{
If (LNot (LEqual (Local1, 0x00)))
{
Subtract (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
Else
{
If (LNot (LLess (Local2, 0xF0)))
{
If (LNot (LEqual (Local1, 0x08)))
{
Add (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0x00)
}
}
Else
{
If (LNot (LGreater (Local2, 0x10)))
{
If (LNot (LEqual (Local1, 0x00)))
{
Subtract (FTD3, 0x01, FTD3)
Sleep (0x64)
}
Else
{
Return (0xFFFF)
}
}
Else
{
Divide (0x00149970, Multiply (Local1, Local2), , Local1)
Return (Local1)
}
}
}
}
}
OperationRegion (ECRE, SystemIO, IOEB, 0x20)
Field (ECRE, ByteAcc, NoLock, Preserve)
{
Offset (0x05),
HIDX, 8,
HDAT, 8
}
IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
{
Offset (0x0B),
FTD1, 3,
FTD2, 3,
FTD3, 1,
Offset (0x0C),
ETDE, 8,
FTC1, 8,
FTC2, 8,
FTC3, 8,
Offset (0x18),
EFN1, 8,
EFN2, 8,
EFN3, 8,
Offset (0x20),
VIV0, 8,
VIV1, 8,
VIV2, 8,
VIV3, 8,
VIV4, 8,
VIV5, 8,
VIV6, 8,
VIV7, 8,
Offset (0x29),
TPI1, 8,
TPI2, 8,
TPI3, 8
}
}
}
Scope (\)
{
Field (\RAMW, ByteAcc, NoLock, Preserve)
{
Offset (0x20),
CPUQ, 8,
CPVL, 16,
CPVH, 16,
CPVC, 1
}
}
Scope (\_SB.PCI0.SBRG.ASOC)
{
Name (CORV, Package (0x05)
{
0x06020000,
"Vcore Voltage",
0x0320,
0x0708,
0x01
})
Name (V3VV, Package (0x05)
{
0x06020001,
" +3.3 Voltage",
0x0B9A,
0x0E2E,
0x01
})
Name (V5VV, Package (0x05)
{
0x06020002,
" +5 Voltage",
0x1194,
0x157C,
0x01
})
Name (VV12, Package (0x05)
{
0x06020003,
" +12 Voltage",
0x27D8,
0x35E8,
0x01
})
Name (VPAR, Package (0x04)
{
Package (0x03)
{
0x00,
0x01,
0x00
},
Package (0x03)
{
0x00,
0x01,
0x00
},
Package (0x03)
{
0x22,
0x32,
0x00
},
Package (0x03)
{
0x0F,
0x05,
0x00
}
})
Name (VBUF, Package (0x05)
{
0x04,
CORV,
V3VV,
V5VV,
VV12
})
Method (VGET, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (^^SIOR.IT87.HWV0 ())
}
If (LEqual (Arg0, 0x01))
{
Return (^^SIOR.IT87.HWV2 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.IT87.HWV3 ())
}
If (LEqual (Arg0, 0x03))
{
Return (^^SIOR.IT87.HWV4 ())
}
}
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, 0x00))
{
Return (^^SIOR.IT87.HWT1 ())
}
If (LEqual (Arg0, 0x01))
{
Return (^^SIOR.IT87.HWT2 ())
}
}
Name (CPUF, Package (0x05)
{
0x06040000,
"CPU FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (CHA1, Package (0x05)
{
0x06040001,
"CHASSIS FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (PWRF, Package (0x05)
{
0x06040002,
"POWER FAN Speed",
0x0320,
0x1C20,
0x00010001
})
Name (FBUF, Package (0x04)
{
0x03,
CPUF,
CHA1,
PWRF
})
Method (FGET, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (^^SIOR.IT87.HWF1 ())
}
If (LEqual (Arg0, 0x01))
{
Return (^^SIOR.IT87.HWF2 ())
}
If (LEqual (Arg0, 0x02))
{
Return (^^SIOR.IT87.HWF3 ())
}
}
Name (QBUF, Package (0x01)
{
0x00
})
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)), 0x00)), Local2)
Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x01)), 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, 0x00)), 0xFFFF, Local0)
Store (DerefOf (Index (VBUF, 0x00)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (0x00)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (VBUF, Local0)), 0x01))
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 (0x01)
}
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, 0x00)), 0xFFFF), Local0)
Store (DerefOf (Index (TBUF, 0x00)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (0x00)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (TBUF, Local0)), 0x01))
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 (0x01)
}
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, 0x00)), 0xFFFF, Local0)
Store (DerefOf (Index (FBUF, 0x00)), Local1)
If (LNot (LLess (Local0, Local1)))
{
Return (0x00)
}
Increment (Local0)
Store (DerefOf (Index (Arg0, 0x01)), Index (DerefOf (Index (FBUF, Local0)), 0x01))
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))
Return (0x01)
}
Method (QFIF, 0, NotSerialized)
{
If (LEqual (CPUQ, 0x00))
{
And (DerefOf (Index (QCFN, 0x05)), 0xFFFDFFFF, Local0)
Store (Local0, Index (QCFN, 0x05))
}
Else
{
Or (DerefOf (Index (QCFN, 0x05)), 0x00020000, Local0)
Store (Local0, Index (QCFN, 0x05))
}
Return (QBUF)
}
Method (GCQV, 1, NotSerialized)
{
If (LEqual (Arg0, 0x00))
{
Return (CPVL)
}
If (LEqual (Arg0, 0x01))
{
Return (CPVH)
}
If (LEqual (Arg0, 0x02))
{
Return (CPVC)
}
Return (0x00)
}
Method (QFST, 1, NotSerialized)
{
If (LEqual (Arg0, DerefOf (Index (QCFN, 0x00))))
{
Return (CQST)
}
Return (0x00)
}
}
Scope (\_SB)
{
Scope (PCI0)
{
Name (CRS, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000,
0x0000,
0x00FF,
0x0000,
0x0100)
IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0000,
0x0CF7,
0x0000,
0x0CF8)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000,
0x0D00,
0xFFFF,
0x0000,
0xF300)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000A0000,
0x000BFFFF,
0x00000000,
0x00020000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x000C0000,
0x000DFFFF,
0x00000000,
0x00020000)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000)
})
CreateDWordField (CRS, 0x5C, MIN5)
CreateDWordField (CRS, 0x60, MAX5)
CreateDWordField (CRS, 0x68, LEN5)
CreateDWordField (CRS, 0x76, MIN6)
CreateDWordField (CRS, 0x7A, MAX6)
CreateDWordField (CRS, 0x82, 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, 0x00)
Name (WSSB, 0x00)
Name (WAXB, 0x00)
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
PTS (Arg0)
Store (0x00, Index (WAKP, 0x00))
Store (0x00, Index (WAKP, 0x01))
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 (ASSB)
{
Store (WSSB, ASSB)
Store (WOTB, AOTB)
Store (WAXB, AAXB)
}
If (DerefOf (Index (WAKP, 0x00)))
{
Store (0x00, Index (WAKP, 0x01))
}
Else
{
Store (Arg0, Index (WAKP, 0x01))
}
Return (WAKP)
}
Name (\_S0, Package (0x04)
{
0x00,
0x00,
0x00,
0x00
})
If (SS1)
{
Name (\_S1, Package (0x04)
{
0x01,
0x00,
0x00,
0x00
})
}
If (SS3)
{
Name (\_S3, Package (0x04)
{
0x05,
0x00,
0x00,
0x00
})
}
If (SS4)
{
Name (\_S4, Package (0x04)
{
0x06,
0x00,
0x00,
0x00
})
}
Name (\_S5, Package (0x04)
{
0x07,
0x00,
0x00,
0x00
})
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.SBRG.SIOS (Arg0)
\_SB.PCI0.NB2N.NPTS (Arg0)
\_SB.PCI0.SBRG.SPTS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SIOW (Arg0)
\_SB.PCI0.NB2N.NWAK (Arg0)
\_SB.PCI0.SBRG.SWAK (Arg0)
}
}
More information about the freebsd-stable
mailing list