Anonymous
public text v1 · immutable/*
* Intel ACPI Component Architecture
* AML Disassembler version 20061109
*
* Disassembly of redsdt.aml, Wed Mar 26 19:59:25 2008
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x0000329D (12957)
* Revision 0x01
* OEM ID "INSYDE"
* OEM Table ID "Caiman"
* OEM Revision 0x00001002 (4098)
* Creator ID "INTL"
* Creator Revision 0x20061109 (537268489)
*/
DefinitionBlock ("redsdt.aml", "DSDT", 1, "INSYDE", "Caiman", 0x00001002)
{
Name (VERS, Package (0x03)
{
"Project: DEMO",
"Date: 03/24/2000",
"Vers: 1.00.09"
})
Name (USEC, One)
Name (BFCN, 0x03)
Name (BTCN, 0x03)
Name (DMCH, Zero)
Name (F_AC, Zero)
Name (F_BT, Zero)
Name (LCAP, 0x012C)
Name (LFCC, Zero)
Name (DCAP, Zero)
Name (DVOT, Zero)
Name (CVOT, Zero)
Name (PSRT, Zero)
Name (BCAP, Zero)
Name (BTYP, Zero)
Name (BACS, Zero)
Name (BFCG, Zero)
Name (BTCG, Zero)
Name (BSTA, Zero)
Name (BCVT, Zero)
Name (BTPR, Zero)
Name (VSMI, Zero)
Name (GDGS, Zero)
Name (OSF2, Zero)
Name (REGS, Buffer (0x05)
{
0x00, 0x00, 0x00, 0x00, 0x00
})
CreateByteField (REGS, 0x03, REC)
Mutex (PSMX, 0x00)
Method (SMIR, 2, NotSerialized)
{
If (LNotEqual (Arg1, 0xFF))
{
Acquire (PSMX, 0xFFFF)
}
Store (Arg1, MBX0)
Store (Arg0, APMC)
Stall (0xFF)
Store (Arg0, DBGP)
Store (MBX0, Local0)
If (LNotEqual (Arg1, 0xFF))
{
Release (PSMX)
}
Return (Local0)
}
Name (MEMS, Zero)
Name (VMEM, Zero)
Name (DAYA, Zero)
Name (MONA, Zero)
Scope (_PR)
{
Processor (CPU0, 0x01, 0x00000000, 0x06) {}
}
Scope (_GPE)
{
Method (_L02, 0, NotSerialized)
{
Noop
}
Method (_L04, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (_L05, 0, NotSerialized)
{
Notify (\_SB.PCI0.AC97, 0x02)
}
Method (_L06, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB3, 0x02)
}
Method (_L07, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.MPC0, 0x02)
}
Method (_L0C, 0, NotSerialized)
{
Notify (\_SB.PCI0.LAN, 0x02)
}
Method (_L0E, 0, NotSerialized)
{
Notify (\_SB.PCI0.USB0, 0x02)
}
}
OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
Field (PMIO, ByteAcc, NoLock, Preserve)
{
Offset (0x06),
MBX0, 8,
Offset (0x2A),
TOTD, 3,
TOTE, 1,
Offset (0x2B),
Offset (0x48),
APMC, 8,
MX20, 1,
Offset (0x4A),
Offset (0x61),
UB0W, 1,
KBCW, 1,
A97W, 1,
PM_W, 1,
MACW, 1,
RINW, 1,
RTCW, 1,
PWBW, 1,
CLRS, 1,
, 5,
BLED, 2,
Offset (0x64),
, 1,
CDRT, 1,
, 4,
SPK, 1,
Offset (0x65),
, 2,
CRTI, 1,
, 1,
, 1,
PNLV, 1,
Offset (0x66),
, 2,
CDPW, 1,
Offset (0x67),
Offset (0x7F),
, 1,
UC0, 1,
UC1, 1,
UC2, 1,
UC3, 1,
Offset (0x80)
}
OperationRegion (DEBG, SystemIO, 0x80, One)
Field (DEBG, ByteAcc, NoLock, Preserve)
{
DBGP, 8
}
Name (MSIZ, Zero)
Name (UTYP, Zero)
Name (CMAD, Zero)
Name (CMBD, Zero)
Name (PTYP, 0x03)
Name (LPTE, One)
Name (EMSZ, Zero)
Name (WORI, Zero)
Name (WOLA, Zero)
OperationRegion (BTT0, SystemMemory, 0x04C0, 0x20)
Field (BTT0, ByteAcc, NoLock, Preserve)
{
MBUF, 128,
Offset (0x15),
OSFG, 4,
RTCF, 1,
Offset (0x16)
}
Field (BTT0, ByteAcc, NoLock, Preserve)
{
, 2,
MFCG, 1,
Offset (0x01),
MTCG, 1,
Offset (0x02),
MPCT, 8,
BPV0, 8,
BFC0, 16,
BRC0, 16,
BDV0, 16,
BDC0, 16
}
Name (_S0, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
Name (_S3, Package (0x04)
{
0x03,
0x03,
Zero,
Zero
})
Name (_S4, Package (0x04)
{
0x04,
0x04,
Zero,
Zero
})
Name (_S5, Package (0x04)
{
0x05,
0x05,
Zero,
Zero
})
Method (_PTS, 1, NotSerialized)
{
Store (One, SPK)
Store (Zero, TOTE)
Store (One, CLRS)
Sleep (0x14)
Store (Zero, CLRS)
If (LEqual (Arg0, One))
{
Store ("GO S1", Debug)
Store (0x51, DBGP)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store (One, BLED)
Store ("GO S3", Debug)
If (LEqual (OSFG, One))
{
SMIR (0xEC, 0xB6)
}
Else
{
SMIR (0xEC, 0xB3)
}
}
Else
{
If (LEqual (Arg0, 0x04))
{
Store ("GO S4", Debug)
Store (0xE8, APMC)
If (LNotEqual (OSFG, One))
{
SMIR (0xEC, 0xB4)
}
Store (0x54, DBGP)
Store (One, MX20)
}
Else
{
Store (One, MX20)
SMIR (0xEC, 0xB5)
}
}
}
}
Method (_WAK, 1, NotSerialized)
{
Store (Zero, SPK)
If (LNotEqual (RTCW, One))
{
Notify (\_SB.SBTN, 0x02)
}
If (LEqual (Arg0, One))
{
Store ("Wake from S1", Debug)
Store (0xE1, DBGP)
Return (Zero)
}
Else
{
If (LEqual (Arg0, 0x03))
{
Store ("Wake from S3", Debug)
Store (0xE3, DBGP)
SMIR (0xEC, 0xC0)
Return (Zero)
}
Else
{
If (LEqual (Arg0, 0x04))
{
SMIR (0xEC, 0x80)
Store (OSF2, OSFG)
Return (Zero)
}
Else
{
Return (Zero)
}
}
}
Store (One, CLRS)
Sleep (0x14)
Store (Zero, CLRS)
}
Scope (_SB)
{
Method (_INI, 0, NotSerialized)
{
Store (Zero, OSFG)
If (CondRefOf (_OSI, Local0))
{
Store (0x04, OSFG)
}
Store (OSFG, OSF2)
}
Device (SBTN)
{
Name (_HID, EisaId ("PNP0C0E"))
Method (_STA, 0, NotSerialized)
{
Return (0x0B)
}
Name (_PRW, Package (0x02)
{
0x08,
0x04
})
Method (_PSW, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Noop
}
Else
{
Noop
}
}
}
Name (LIDK, Ones)
Device (LID)
{
Name (_HID, EisaId ("PNP0C0D"))
Method (_LID, 0, NotSerialized)
{
If (USEC)
{
If (REC)
{
If (^^PCI0.LPC.EC0.LI_D)
{
Return (One)
}
Return (Zero)
}
Else
{
Return (One)
}
}
Else
{
Store (SMIR (0xE4, 0x69), Local0)
And (Local0, 0x02, Local0)
If (Local0)
{
Return (One)
}
Else
{
Return (Zero)
}
}
}
}
Device (AC)
{
Name (_HID, "ACPI0003")
Name (_PCL, Package (0x02)
{
_SB,
BAT0
})
Name (ACFG, Zero)
Method (_PSR, 0, NotSerialized)
{
If (F_AC)
{
Return (Zero)
}
If (USEC)
{
If (REC)
{
Store (^^PCI0.LPC.EC0.ACST, BACS)
XOr (BACS, One, Local0)
}
Else
{
Store (One, Local0)
}
}
Else
{
Store (SMIR (0xE4, 0x6A), BACS)
ShiftRight (BACS, 0x03, BACS)
And (BACS, One, BACS)
XOr (BACS, One, Local0)
}
Return (Local0)
}
}
Device (BAT0)
{
Name (_HID, EisaId ("PNP0C0A"))
Name (_PCL, Package (0x01)
{
_SB
})
Method (_STA, 0, NotSerialized)
{
If (F_AC)
{
Return (0x1F)
}
If (F_BT)
{
Store (Zero, F_BT)
Notify (BAT0, 0x81)
Return (0x0F)
}
If (USEC)
{
If (REC)
{
Store (^^PCI0.LPC.EC0.B1ST, BSTA)
}
Else
{
Store (Zero, BSTA)
}
}
Else
{
And (SMIR (0xE4, 0x51), One, BSTA)
}
If (BSTA)
{
Return (0x1F)
}
Else
{
Return (0x0F)
}
}
Name (BIFP, Package (0x0D)
{
One,
0x0FA0,
0x0FA0,
One,
0x2EE0,
0x0140,
0xA0,
0x64,
0x64,
"Internal Battery",
"",
"LiON",
"Generic H8 Charger "
})
Method (_BIF, 0, NotSerialized)
{
If (LNot (BSTA))
{
Return (BIFP)
}
If (USEC)
{
If (REC)
{
ShiftLeft (^^PCI0.LPC.EC0.EFCH, 0x08, LFCC)
Or (LFCC, ^^PCI0.LPC.EC0.EFCL, LFCC)
ShiftLeft (^^PCI0.LPC.EC0.EDVH, 0x08, DVOT)
Or (LFCC, ^^PCI0.LPC.EC0.EDVL, DVOT)
ShiftLeft (^^PCI0.LPC.EC0.EDCH, 0x08, DCAP)
Or (LFCC, ^^PCI0.LPC.EC0.EDCL, DCAP)
}
}
Else
{
Acquire (PSMX, 0xFFFF)
SMIR (0xE5, 0xFF)
Store (BFC0, LFCC)
Store (BDV0, DVOT)
Store (BDC0, DCAP)
Release (PSMX)
}
If (Or (Or (LEqual (LFCC, 0xFFFF), LEqual (DCAP, 0xFFFF)),
LEqual (DVOT, 0xFFFF)))
{
If (Or (LGreater (BFCN, 0x03), LLessEqual (BFCN, Zero)))
{
Store (0x03, BFCN)
}
If (Decrement (BFCN))
{
Sleep (0x0A)
Return (Ones)
}
Else
{
Store (DerefOf (Index (BIFP, One)), DCAP)
Store (DerefOf (Index (BIFP, 0x02)), LFCC)
Store (DerefOf (Index (BIFP, 0x04)), DVOT)
}
}
Store (0x03, BFCN)
Store (DCAP, Index (BIFP, One))
Divide (LFCC, 0x64, Local1, Local0)
Multiply (Local0, 0x64, LFCC)
Store (LFCC, Index (BIFP, 0x02))
Store (DVOT, Index (BIFP, 0x04))
Multiply (LFCC, 0x0A, Local0)
Divide (Local0, 0x64, Local0, Local1)
Store (Local1, Index (BIFP, 0x05))
Multiply (LFCC, 0x05, Local0)
Divide (Local0, 0x64, Local0, Local1)
Store (Local1, Index (BIFP, 0x06))
Return (BIFP)
}
Name (BSTP, Package (0x04)
{
Zero,
0x04B0,
0x012C,
0x2710
})
Method (_BST, 0, Serialized)
{
If (USEC)
{
ShiftLeft (^^PCI0.LPC.EC0.ERCH, 0x08, BCAP)
Or (BCAP, ^^PCI0.LPC.EC0.ERCL, BCAP)
Store (^^PCI0.LPC.EC0.B1CV, BCVT)
Store (^^PCI0.LPC.EC0.B1FC, BFCG)
Store (^^PCI0.LPC.EC0.B1TC, BTCG)
Store (0x0960, BTPR)
Store (^^PCI0.LPC.EC0.SOC1, Local0)
}
Else
{
Acquire (PSMX, 0xFFFF)
SMIR (0xE6, 0xFF)
Store (BRC0, BCAP)
Store (BPV0, BCVT)
Store (MFCG, BFCG)
Store (MTCG, BTCG)
Store (MPCT, Local0)
Release (PSMX)
}
If (And (LNotEqual (LFCC, Ones), LNotEqual (LFCC, 0xFFFF)
))
{
Multiply (LFCC, Local0, Local0)
Divide (Local0, 0x64, Local0, BCAP)
If (LLess (BCAP, LFCC))
{
Increment (BCAP)
}
}
Store (LCAP, Index (BSTP, 0x02))
If (F_AC)
{
Store (DerefOf (Index (BSTP, 0x02)), LCAP)
Store (DerefOf (Index (BIFP, 0x02)), Local0)
Store (Local0, Index (BSTP, 0x02))
Store (One, Index (BSTP, Zero))
Return (BSTP)
}
If (Or (F_AC, LNot (BSTA)))
{
Store (One, Index (BSTP, Zero))
Return (BSTP)
}
If (LEqual (BCAP, 0xFFFF))
{
If (Or (LGreater (BTCN, 0x03), LLessEqual (BTCN, Zero)))
{
Store (0x03, BTCN)
}
If (Decrement (BTCN))
{
Return (Ones)
}
Else
{
Store (DerefOf (Index (BSTP, 0x02)), BCAP)
}
}
Store (0x03, BTCN)
Store (Zero, Local0)
If (LEqual (BACS, One))
{
If (LEqual (DMCH, Zero))
{
Store (One, Local1)
}
Else
{
Store (0x02, Local1)
}
}
Else
{
If (Or (BFCG, BTCG))
{
Store (0x02, Local1)
}
Else
{
If (LEqual (DMCH, Zero))
{
Store (Zero, Local1)
}
Else
{
Store (0x02, Local1)
}
}
}
Store (Local1, Index (BSTP, Zero))
If (LLess (BTPR, 0x8000))
{
Store (BTPR, Local1)
}
Else
{
Subtract (0xFFFF, And (BTPR, 0xFFFF), Local1)
}
Store (Local1, Index (BSTP, One))
Store (BCAP, Index (BSTP, 0x02))
Multiply (BCVT, 0x4E20, Local0)
Divide (Local0, 0xFF, Local0, CVOT)
Store (CVOT, Index (BSTP, 0x03))
Store (DerefOf (Index (BSTP, 0x02)), LCAP)
Return (BSTP)
}
}
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
OperationRegion (NB00, PCI_Config, Zero, 0xE0)
Field (NB00, ByteAcc, NoLock, Preserve)
{
Offset (0x64),
, 4,
SHRE, 3,
Offset (0x65)
}
Method (_INI, 0, NotSerialized)
{
If (LNotEqual (OSFG, 0x04))
{
Store (SizeOf (_OS), Local0)
If (LEqual (Local0, 0x14))
{
Store (0x03, OSFG)
Store (Zero, USEC)
}
Else
{
If (LEqual (Local0, 0x27))
{
Store (0x02, OSFG)
Store (Zero, USEC)
}
Else
{
Store (One, OSFG)
Store (Zero, USEC)
}
}
}
Store (OSFG, OSF2)
Name (CBUF, Buffer (0x10)
{
/* 0000 */ 0x17, 0x18, 0x40, 0x49, 0x4A, 0x63, 0x64, 0x7E,
/* 0008 */ 0x7F, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Store (MBUF, CBUF)
CreateField (CBUF, Zero, 0x10, FL01)
Store (FL01, MSIZ)
CreateField (CBUF, 0x10, 0x02, FL02)
Store (FL02, UTYP)
CreateField (CBUF, 0x18, 0x03, FL03)
Store (FL03, CMAD)
CreateField (CBUF, 0x1C, 0x03, FL04)
Store (FL04, CMBD)
CreateField (CBUF, 0x20, 0x02, FL05)
Store (FL05, PTYP)
CreateField (CBUF, 0x24, 0x02, FL06)
Store (FL06, LPTE)
CreateField (CBUF, 0x28, 0x10, FL07)
Store (FL07, EMSZ)
CreateField (CBUF, 0x38, 0x08, FL08)
CreateField (CBUF, 0x40, 0x08, FL09)
Store (FL08, DAYA)
Store (FL09, MONA)
}
Name (BCRS, ResourceTemplate ()
{
WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
0x00,, )
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
0x000D8000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00008000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x02000000, // Range Minimum
0xFEDFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
0x00,, _Y00, AddressRangeMemory, TypeStatic)
})
Name (SBUF, Buffer (0x08)
{
/* 0000 */ 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x18, 0x60
})
Method (_CRS, 0, NotSerialized)
{
Store ("PCI0_CRS", Debug)
CreateDWordField (BCRS, \_SB.PCI0._Y00._MIN, SMEM)
CreateDWordField (BCRS, \_SB.PCI0._Y00._LEN, LMEM)
Add (MSIZ, 0x0400, Local0)
Multiply (Local0, 0x0400, Local0)
Multiply (EMSZ, 0x4000, Local1)
Add (Local0, Local1, MEMS)
Store (DerefOf (Index (SBUF, SHRE)), Local0)
ShiftLeft (Local0, 0x14, VMEM)
Add (MEMS, Zero, SMEM)
Subtract (0xFEE00000, SMEM, LMEM)
Return (BCRS)
}
Name (_PRT, Package (0x0D)
{
Package (0x04)
{
0x0003FFFF,
0x03,
LNKH,
Zero
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKG,
Zero
},
Package (0x04)
{
0x0003FFFF,
One,
LNKF,
Zero
},
Package (0x04)
{
0x0003FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0004FFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x000AFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x000AFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0x000BFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x000BFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0x0009FFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x0002FFFF,
One,
LNKB,
Zero
}
})
Device (USB0)
{
Name (_ADR, 0x00030000)
Method (_STA, 0, NotSerialized)
{
Store (UC0, Local0)
If (Local0)
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Name (_PRW, Package (0x02)
{
0x0E,
0x03
})
Name (_S3D, 0x02)
}
Device (USB1)
{
Name (_ADR, 0x00030001)
Method (_STA, 0, NotSerialized)
{
Store (UC1, Local0)
If (Local0)
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Name (_PRW, Package (0x02)
{
0x04,
0x03
})
Name (_S3D, 0x02)
}
Device (USB2)
{
Name (_ADR, 0x00030002)
Method (_STA, 0, NotSerialized)
{
Store (UC2, Local0)
If (Local0)
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Name (_PRW, Package (0x02)
{
0x07,
0x03
})
Name (_S3D, 0x02)
}
Device (USB3)
{
Name (_ADR, 0x00030003)
Method (_STA, 0, NotSerialized)
{
Store (UC3, Local0)
If (Local0)
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
Name (_PRW, Package (0x02)
{
0x06,
0x03
})
Name (_S3D, 0x02)
}
Device (IDEC)
{
Name (_ADR, 0x00020005)
Name (UDMT, Package (0x08)
{
0x78,
0x50,
0x3C,
0x2D,
0x1E,
0x14,
0x0F,
Zero
})
Name (UDM5, Package (0x08)
{
0x6B,
0x47,
0x35,
0x14,
0x12,
0x11,
Zero,
Zero
})
Name (UDM6, Package (0x08)
{
0x9F,
0x6A,
0x47,
0x25,
0x23,
0x22,
0x21,
Zero
})
Name (DMAT, Package (0x04)
{
0x01E0,
0x96,
0x78,
Zero
})
Name (MDM5, Package (0x04)
{
0x00019154,
0x6072,
0x4062,
Zero
})
Name (MDM6, Package (0x04)
{
0x000221C6,
0xC0A3,
0x5093,
Zero
})
Name (PIOT, Package (0x06)
{
0x0258,
0x017F,
0xF0,
0xB4,
0x78,
Zero
})
Name (PIO5, Package (0x06)
{
0x0001E1C6,
0x91C4,
0x31C2,
0x9072,
0x4062,
Zero
})
Name (PIO6, Package (0x06)
{
0x00028269,
0xC266,
0x4263,
0xC0A3,
0x5093,
Zero
})
OperationRegion (CF41, PCI_Config, Zero, 0xCB)
Field (CF41, DWordAcc, NoLock, Preserve)
{
Offset (0x40),
Offset (0x57),
, 6,
RPEN, 1,
Offset (0x58),
Offset (0x70),
PMCS, 4,
PMUS, 8,
PMPS, 20,
PSCS, 4,
PSUS, 8,
PSPS, 20,
SMCS, 4,
SMUS, 8,
SMPS, 20,
SSCS, 4,
SSUS, 8,
SSPS, 20
}
Method (STM, 3, NotSerialized)
{
Store (Arg0, Local0)
CreateDWordField (Local0, Zero, PIO0)
CreateDWordField (Local0, 0x04, DMA0)
CreateDWordField (Local0, 0x08, PIO1)
CreateDWordField (Local0, 0x0C, DMA1)
CreateDWordField (Local0, 0x10, FLAG)
Store (Buffer (0x0C)
{
0x00
}, Local1)
CreateByteField (Local1, Zero, XCS0)
CreateByteField (Local1, One, XUM0)
CreateDWordField (Local1, 0x02, XTM0)
CreateByteField (Local1, 0x06, XCS1)
CreateByteField (Local1, 0x07, XUM1)
CreateDWordField (Local1, 0x08, XTM1)
Store (Zero, XCS0)
Store (Zero, XCS1)
If (LOr (LEqual (PIO0, Ones), LEqual (PIO0, Zero)))
{
Store (Zero, XTM0)
}
Else
{
Store (0x02, XCS0)
Store (Match (PIOT, MLE, PIO0, MTR, Zero, Zero), Local2)
If (LAnd (And (FLAG, One), LLess (DMA0, 0x14)))
{
Store (DerefOf (Index (PIO6, Local2)), XTM0)
}
Else
{
Store (DerefOf (Index (PIO5, Local2)), XTM0)
}
}
If (LOr (LEqual (PIO1, Ones), LEqual (PIO1, Zero)))
{
Store (Zero, XTM1)
}
Else
{
Store (0x02, XCS1)
Store (Match (PIOT, MLE, PIO1, MTR, Zero, Zero), Local2)
If (LAnd (And (FLAG, 0x04), LLess (DMA1, 0x14)))
{
Store (DerefOf (Index (PIO6, Local2)), XTM1)
}
Else
{
Store (DerefOf (Index (PIO5, Local2)), XTM1)
}
}
If (And (FLAG, One))
{
Or (XCS0, 0x04, XCS0)
Store (Match (UDMT, MLE, DMA0, MTR, Zero, Zero), Local2)
If (LLess (DMA0, 0x14))
{
Store (DerefOf (Index (UDM6, Local2)), XUM0)
Or (XCS0, 0x08, XCS0)
}
Else
{
Store (DerefOf (Index (UDM5, Local2)), XUM0)
}
}
Else
{
Store (Zero, XUM0)
}
If (And (FLAG, 0x04))
{
Or (XCS1, 0x04, XCS1)
Store (Match (UDMT, MLE, DMA1, MTR, Zero, Zero), Local2)
If (LLess (DMA0, 0x14))
{
Store (Match (UDM6, MLE, DMA1, MTR, Zero, Zero), Local2)
Or (XCS1, 0x08, XCS1)
}
Else
{
Store (Match (UDM5, MLE, DMA1, MTR, Zero, Zero), Local2)
}
}
Else
{
Store (Zero, XUM1)
}
Return (Local1)
}
Method (GTM, 6, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, Local1)
Store (Arg2, Local2)
Store (Arg3, Local3)
Store (Arg4, Local4)
Store (Arg5, Local5)
Store (Buffer (0x14)
{
0x00
}, Local6)
CreateDWordField (Local6, Zero, PIO0)
CreateDWordField (Local6, 0x04, DMA0)
CreateDWordField (Local6, 0x08, PIO1)
CreateDWordField (Local6, 0x0C, DMA1)
CreateDWordField (Local6, 0x10, FLAG)
Store (0x10, FLAG)
If (And (Local0, 0x04))
{
Or (FLAG, One, FLAG)
If (And (Local0, 0x08))
{
Store (Match (UDM6, MEQ, Local1, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (UDMT, Local7)), DMA0)
}
Else
{
Store (Match (UDM5, MEQ, Local1, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (UDMT, Local7)), DMA0)
If (LLessEqual (DMA0, 0x0F))
{
Store (Ones, DMA0)
}
}
}
Else
{
Store (Ones, DMA0)
}
If (And (Local3, 0x04))
{
Or (FLAG, 0x04, FLAG)
If (And (Local3, 0x08))
{
Store (Match (UDM6, MEQ, Local4, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (UDMT, Local7)), DMA1)
}
Else
{
Store (Match (UDM5, MEQ, Local4, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (UDMT, Local7)), DMA1)
If (LLessEqual (DMA0, 0x0F))
{
Store (Ones, DMA0)
}
}
}
Else
{
Store (Ones, DMA1)
}
If (And (Local0, 0x08))
{
Store (Match (PIO6, MEQ, Local2, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (PIOT, Local7)), PIO0)
}
Else
{
Store (Match (PIO5, MEQ, Local2, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (PIOT, Local7)), PIO0)
}
If (And (Local3, 0x08))
{
Store (Match (PIO6, MEQ, Local5, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (PIOT, Local7)), PIO1)
}
Else
{
Store (Match (PIO5, MEQ, Local5, MTR, Zero, Zero), Local7)
Store (DerefOf (Index (PIOT, Local7)), PIO1)
}
If (LEqual (PIO0, Zero))
{
Store (Ones, PIO0)
}
If (LEqual (PIO1, Zero))
{
Store (Ones, PIO1)
}
If (LLessEqual (PIO0, 0xB4))
{
Or (FLAG, 0x02, FLAG)
}
Else
{
Store (Ones, PIO0)
}
If (LLessEqual (PIO1, 0xB4))
{
Or (FLAG, 0x08, FLAG)
}
Else
{
Store (Ones, PIO1)
}
Return (Local6)
}
Method (GTFX, 4, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, Local1)
Store (Arg2, Local2)
Store (Arg3, Local3)
Store (Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
}, Local4)
CreateByteField (Local4, One, MODE)
CreateByteField (Local4, 0x05, DSTS)
If (Local0)
{
Or (DSTS, 0x10, DSTS)
}
If (And (Local1, 0x04))
{
Or (MODE, 0x40, MODE)
If (And (Local1, 0x08))
{
Store (Match (UDM6, MEQ, Local2, MTR, Zero, Zero), Local5)
Or (MODE, Local5, MODE)
}
Else
{
Store (Match (UDM5, MEQ, Local2, MTR, Zero, Zero), Local5)
Or (MODE, Local5, MODE)
}
}
Else
{
Or (MODE, 0x08, MODE)
If (And (Local1, 0x08))
{
Store (Match (PIO6, MEQ, Local3, MTR, Zero, Zero), Local5)
Or (MODE, Local5, MODE)
}
Else
{
Store (Match (PIO5, MEQ, Local3, MTR, Zero, Zero), Local5)
Or (MODE, Local5, MODE)
}
}
Return (Local4)
}
Device (IDE0)
{
Name (_ADR, Zero)
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, Local1)
Store (Arg2, Local2)
Store (STM (Local0, Local1, Local2), Local3)
CreateByteField (Local3, Zero, XCS0)
CreateByteField (Local3, One, XUM0)
CreateDWordField (Local3, 0x02, XTM0)
CreateByteField (Local3, 0x06, XCS1)
CreateByteField (Local3, 0x07, XUM1)
CreateDWordField (Local3, 0x08, XTM1)
Store (XCS0, PMCS)
Store (XUM0, PMUS)
Store (XTM0, PMPS)
Store (XCS1, PSCS)
Store (XUM1, PSUS)
Store (XTM1, PSPS)
}
Method (_GTM, 0, NotSerialized)
{
Store (GTM (PMCS, PMUS, PMPS, PSCS, PSUS, PSPS), Local0)
Return (Local0)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (GTFX (Zero, PMCS, PMUS, PMPS), Local0)
Return (Local0)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (GTFX (One, PSCS, PSUS, PSPS), Local0)
Return (Local0)
}
}
}
Device (IDE1)
{
Name (_ADR, One)
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Local0)
Store (Arg1, Local1)
Store (Arg2, Local2)
Store (STM (Local0, Local1, Local2), Local3)
CreateByteField (Local3, Zero, XCS0)
CreateByteField (Local3, One, XUM0)
CreateDWordField (Local3, 0x02, XTM0)
CreateByteField (Local3, 0x06, XCS1)
CreateByteField (Local3, 0x07, XUM1)
CreateDWordField (Local3, 0x08, XTM1)
Store (XCS0, SMCS)
Store (XUM0, SMUS)
Store (XTM0, SMPS)
Store (XCS1, SSCS)
Store (XUM1, SSUS)
Store (XTM1, SSPS)
}
Method (_GTM, 0, NotSerialized)
{
Store (GTM (SMCS, SMUS, SMPS, SSCS, SSUS, SSPS), Local0)
Return (Local0)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Store (GTFX (Zero, SMCS, SMUS, SMPS), Local0)
Return (Local0)
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Store (GTFX (One, SSCS, SSUS, SSPS), Local0)
Return (Local0)
}
}
}
}
Device (AC97)
{
Name (_ADR, 0x00020007)
Name (_PRW, Package (0x02)
{
0x05,
0x03
})
}
Device (MC97)
{
Name (_ADR, 0x00020006)
Name (MPRW, Package (0x02)
{
0x0D,
0x03
})
Method (_PRW, 0, NotSerialized)
{
Return (MPRW)
}
}
Device (LAN)
{
Name (_ADR, 0x00040000)
Name (LPRW, Package (0x02)
{
0x0C,
0x03
})
Method (_PRW, 0, NotSerialized)
{
Return (LPRW)
}
}
Device (VPCI)
{
Name (_ADR, 0x00010000)
Name (_PRT, Package (0x01)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
}
})
Device (VGA)
{
Name (_ADR, Zero)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (VENT, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Store (One, ^^^LPC.EC0.F5)
}
Else
{
If (LEqual (Arg0, One))
{
Store (Zero, ^^^LPC.EC0.F5)
}
}
Store (Arg0, VSMI)
}
Method (_DOS, 1, NotSerialized)
{
And (Arg0, 0x03, Local0)
VENT (Local0)
}
Name (_DOD, Package (0x03)
{
0x0100,
0x00010110,
0x0200
})
Device (CRT)
{
Name (_ADR, 0x0100)
Name (ACTV, One)
Method (_DCS, 0, NotSerialized)
{
If (ACTV)
{
Store (0x0F, Local0)
}
Else
{
Store (0x0D, Local0)
}
Return (Local0)
}
Name (_DGS, One)
Name (IDSS, Zero)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, IDSS)
If (And (Arg0, 0x80000000))
{
If (LNot (And (Arg0, 0x40000000)))
{
SET ()
}
NEXT ()
}
}
}
Device (LCD)
{
Name (_ADR, 0x0110)
Name (ACTV, One)
Method (_DCS, 0, NotSerialized)
{
If (ACTV)
{
Return (0x1F)
}
Else
{
Return (0x1D)
}
}
Name (_DGS, Zero)
Name (IDSS, Zero)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, IDSS)
If (And (Arg0, 0x80000000))
{
If (LNot (And (Arg0, 0x40000000)))
{
SET ()
}
NEXT ()
}
}
}
Device (TV)
{
Name (_ADR, 0x0200)
Name (ACTV, Zero)
Method (_DCS, 0, NotSerialized)
{
If (ACTV)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Name (_DGS, One)
Name (IDSS, Zero)
Method (_DSS, 1, NotSerialized)
{
Store (Arg0, IDSS)
If (And (Arg0, 0x80000000))
{
If (LNot (And (Arg0, 0x40000000)))
{
SET ()
}
NEXT ()
}
}
}
Method (SET, 0, NotSerialized)
{
And (^CRT.IDSS, One, ^CRT.ACTV)
And (^LCD.IDSS, One, ^LCD.ACTV)
And (^TV.IDSS, One, ^TV.ACTV)
}
Method (NEXT, 0, NotSerialized)
{
Add (GDGS, One, GDGS)
If (LGreater (GDGS, 0x03))
{
Store (Zero, GDGS)
}
SDGS (GDGS)
}
Method (SACT, 1, NotSerialized)
{
If (And (Arg0, One))
{
Store (One, ^LCD.ACTV)
}
Else
{
Store (Zero, ^LCD.ACTV)
}
If (And (Arg0, 0x02))
{
Store (One, ^CRT.ACTV)
}
Else
{
Store (Zero, ^CRT.ACTV)
}
If (And (Arg0, 0x04))
{
Store (One, ^TV.ACTV)
}
Else
{
Store (Zero, ^TV.ACTV)
}
}
Method (BTOO, 1, NotSerialized)
{
If (LEqual (Arg0, One))
{
Return (Zero)
}
If (LEqual (Arg0, 0x02))
{
Return (One)
}
If (LEqual (Arg0, 0x03))
{
Return (0x02)
}
If (LEqual (Arg0, 0x04))
{
Return (0x03)
}
If (LEqual (Arg0, 0x05))
{
Return (0x04)
}
If (LEqual (Arg0, 0x06))
{
Return (0x05)
}
Return (0x06)
}
Method (OTOB, 1, NotSerialized)
{
If (LEqual (Arg0, Zero))
{
Return (One)
}
If (LEqual (Arg0, One))
{
Return (0x02)
}
If (LEqual (Arg0, 0x02))
{
Return (0x03)
}
If (LEqual (Arg0, 0x03))
{
Return (0x04)
}
If (LEqual (Arg0, 0x04))
{
Return (0x05)
}
If (LEqual (Arg0, 0x05))
{
Return (0x06)
}
Return (0x07)
}
Method (NXTB, 2, NotSerialized)
{
Store (Zero, Local4)
Store (BTOO (Arg0), Local0)
While (LLessEqual (Local4, 0x03))
{
Increment (Local0)
If (LGreater (Local0, 0x03))
{
Store (Zero, Local0)
}
Store (OTOB (Local0), Local1)
If (LEqual (And (Local1, Arg1), Local1))
{
Return (Local1)
}
Increment (Local4)
}
Return (Arg0)
}
Method (SDGS, 1, NotSerialized)
{
Store (OTOB (Arg0), Local0)
If (And (Local0, One))
{
Store (One, ^LCD._DGS)
}
Else
{
Store (Zero, ^LCD._DGS)
}
If (And (Local0, 0x02))
{
Store (One, ^CRT._DGS)
}
Else
{
Store (Zero, ^CRT._DGS)
}
If (And (Local0, 0x04))
{
Store (One, ^TV._DGS)
}
Else
{
Store (Zero, ^TV._DGS)
}
}
Method (SDDS, 1, NotSerialized)
{
And (ShiftRight (Arg0, 0x04), 0x07, Local0)
And (Arg0, 0x07, Local1)
SACT (Local1)
Store (BTOO (NXTB (Local1, Local0)), GDGS)
SDGS (GDGS)
If (LNotEqual (^LCD._DGS, Zero))
{
SMIR (0xEC, 0x60)
}
}
}
}
Device (CRD0)
{
Name (_ADR, 0x00090000)
}
Device (MPC0)
{
Name (_ADR, 0x000A0000)
Name (_PRW, Package (0x02)
{
0x0B,
0x03
})
}
Device (LPC)
{
Name (_ADR, 0x00020000)
OperationRegion (PIRQ, PCI_Config, Zero, 0x0100)
Field (PIRQ, ByteAcc, NoLock, Preserve)
{
Offset (0x41),
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
Offset (0x60),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8,
Offset (0x77),
UBC1, 1,
UBC0, 1,
Offset (0x78)
}
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{0}
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x04, // Length
)
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
}
Device (MEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (MCRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFFF80000, // Address Base
0x00080000, // Address Length
)
})
Method (_CRS, 0, NotSerialized)
{
Return (MCRS)
}
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (MAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8_16, )
{4}
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x01, // Alignment
0x0F, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
})
}
Device (PNP)
{
Name (_HID, EisaId ("PNP0C02"))
Name (PCRS, ResourceTemplate ()
{
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0092, // Range Minimum
0x0092, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0480, // Range Minimum
0x0480, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x002E, // Range Minimum
0x002E, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0680, // Range Minimum
0x0680, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x077C, // Range Minimum
0x077C, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x0200, // Range Minimum
0x0200, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x1000, // Range Minimum
0x1000, // Range Maximum
0x01, // Alignment
0xFF, // Length
)
})
Method (_CRS, 0, NotSerialized)
{
Return (PCRS)
}
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IRQNoFlags ()
{13}
})
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F13"))
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
}
Device (KBC)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CRS, ResourceTemplate ()
{
IRQNoFlags ()
{1}
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
}
Device (EC0)
{
Name (_HID, EisaId ("PNP0C09"))
Name (_GPE, 0x19)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
OperationRegion (RAM, EmbeddedControl, Zero, 0xFF)
Field (RAM, ByteAcc, NoLock, Preserve)
{
Offset (0x50),
B1NI, 1,
B1CH, 1,
B2CR, 1,
ACCH, 1,
B2NI, 1,
B2CH, 1,
BWAN, 1,
BLOW, 1,
B1ST, 1,
B1SM, 1,
B1FC, 1,
B1DC, 1,
Offset (0x52),
B1TC, 1,
B2TC, 1,
Offset (0x53),
SOC1, 8,
TTE1, 8,
SOC2, 8,
TTE2, 8,
B1CV, 8,
B2CV, 8,
B_PR, 16,
CSTA, 8,
DSTA, 8,
Offset (0x5E),
B0TP, 8,
, 3,
MPML, 1,
ACPW, 1,
BTPW, 1,
BTRD, 1,
BTGN, 1,
Offset (0x61),
Offset (0x62),
Offset (0x63),
Offset (0x64),
Offset (0x65),
Offset (0x66),
BTP1, 8,
BTP2, 8,
KEYE, 1,
PBNE, 1,
LIDE, 1,
PMEE, 1,
RIGE, 1,
Offset (0x69),
, 1,
LI_D, 1,
Offset (0x6A),
, 3,
ACST, 1,
Offset (0x6B),
Offset (0x6C),
Offset (0x6D),
MLED, 8,
ESBB, 8,
Offset (0x70),
EFCH, 8,
EFCL, 8,
ERCH, 8,
ERCL, 8,
EDVH, 8,
EDVL, 8,
EDCH, 8,
EDCL, 8,
Offset (0x7D),
F1, 1,
F2, 1,
F3, 1,
F4, 1,
F5, 1,
F6, 1,
F7, 1,
F8, 1,
F9, 1,
F10, 1,
F11, 1,
F12, 1,
Offset (0x7F),
Offset (0x81),
TREN, 1,
TRET, 1,
BATF, 1,
Offset (0x82)
}
Name (BEC0, ResourceTemplate ()
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0066, // Range Minimum
0x0066, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
Method (_CRS, 0, NotSerialized)
{
Store (One, REC)
Return (BEC0)
}
Method (_Q08, 0, NotSerialized)
{
}
Name (G_0E, Zero)
Method (_Q0E, 0, NotSerialized)
{
If (LEqual (VSMI, Zero))
{
If (LEqual (G_0E, Zero))
{
Store (One, G_0E)
If (LLessEqual (OSF2, 0x02))
{
Store (SMIR (0xEC, 0x90), Local0)
If (LNotEqual (Local0, Zero))
{
GNBP ()
}
Sleep (0x64)
Store (Zero, Local0)
}
Else
{
Store (SMIR (0xEC, 0x10), Local0)
}
If (LNotEqual (Local0, Zero))
{
GNBP ()
Store (^^^VPCI.VGA.BTOO (And (Local0, 0x07)), Local1)
^^^VPCI.VGA.SDDS (Local0)
If (LNotEqual (Local1, GDGS))
{
Notify (^^^VPCI.VGA, 0x80)
}
}
Store (Zero, G_0E)
}
}
}
Method (_Q0F, 0, NotSerialized)
{
}
Method (_Q10, 0, NotSerialized)
{
}
Method (_Q13, 0, NotSerialized)
{
}
Method (_Q14, 0, NotSerialized)
{
}
Method (_Q15, 0, NotSerialized)
{
GNBP ()
Notify (SBTN, 0x80)
}
Method (_Q20, 0, NotSerialized)
{
If (LEqual (OSFG, 0x02))
{
^^^^BAT0._STA ()
If (LNot (BSTA))
{
Store (One, F_AC)
Notify (AC, 0x80)
Sleep (0x14)
Store (Zero, F_AC)
Notify (AC, 0x80)
Notify (BAT0, 0x80)
}
Else
{
Notify (BAT0, 0x80)
Notify (BAT0, 0x81)
}
}
Else
{
Notify (BAT0, 0x80)
Notify (BAT0, 0x81)
}
}
Method (_Q21, 0, NotSerialized)
{
SMIR (0xEC, 0x20)
If (LEqual (OSFG, 0x02))
{
Store (One, DMCH)
}
Notify (AC, 0x80)
Notify (BAT0, 0x80)
If (LEqual (OSFG, 0x02))
{
Sleep (0x64)
Store (Zero, DMCH)
Notify (AC, 0x80)
Notify (BAT0, 0x80)
}
}
Method (_Q22, 0, NotSerialized)
{
}
Method (_Q25, 0, NotSerialized)
{
^^^^BAT0._STA ()
If (BSTA)
{
Notify (BAT0, 0x80)
}
}
Method (_Q26, 0, NotSerialized)
{
Notify (BAT0, 0x80)
Notify (AC, 0x80)
}
Method (_Q30, 0, NotSerialized)
{
}
Method (_Q31, 0, NotSerialized)
{
}
Method (_Q32, 0, NotSerialized)
{
}
Method (_Q33, 0, NotSerialized)
{
If (LNotEqual (^^^^LID._LID (), Zero))
{
Sleep (0x01F4)
}
SMIR (0xEC, 0x70)
Notify (LID, 0x80)
}
Method (_Q34, 0, NotSerialized)
{
Store ("PME Event", Debug)
}
Method (_Q35, 0, NotSerialized)
{
If (USEC)
{
Store (ESBB, Local0)
}
Else
{
Store (SMIR (0xE4, 0x6E), Local0)
}
If (And (Local0, 0x0F))
{
FindSetRightBit (Local0, Local1)
Add (Local1, 0x80, Local1)
Notify (ESB, Local1)
}
}
Method (_Q40, 0, NotSerialized)
{
Store (Zero, TOTD)
}
Method (_Q41, 0, NotSerialized)
{
Store (One, TOTD)
}
Method (_Q42, 0, NotSerialized)
{
Store (0x02, TOTD)
}
Method (_Q43, 0, NotSerialized)
{
Store (0x03, TOTD)
}
Method (_Q44, 0, NotSerialized)
{
Store (0x04, TOTD)
}
Method (_Q45, 0, NotSerialized)
{
Store (0x04, TOTD)
}
Method (_Q46, 0, NotSerialized)
{
Store (0x06, TOTD)
}
Method (_Q47, 0, NotSerialized)
{
}
Method (GNBP, 0, NotSerialized)
{
SMIR (0xEC, 0x30)
Sleep (0x17)
SMIR (0xEC, 0x40)
}
}
OperationRegion (N393, SystemIO, 0x2E, 0x02)
Field (N393, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDN, 8,
Offset (0x20),
SID, 8,
SCF1, 8,
SCF2, 8,
SCF3, 8,
SCF4, 8,
SCF5, 8,
SCF6, 8,
SCF7, 8,
SCF8, 8,
SCF9, 8,
SCFA, 8,
SCFB, 8,
SCFC, 8,
SCFD, 8,
SCFE, 8,
SCFF, 8,
LDC, 8,
Offset (0x60),
IOBH, 8,
IOBL, 8,
Offset (0x70),
IRQN, 8,
ITS, 8,
Offset (0x74),
DMA0, 8,
DMA1, 8,
Offset (0xF0),
PPMD, 8
}
Mutex (MUT0, 0x00)
Method (UNLK, 0, NotSerialized)
{
Acquire (MUT0, 0xFFFF)
Store (0x87, INDX)
Store (One, INDX)
Store (0x55, INDX)
Store (0x55, INDX)
}
Method (LKUP, 0, NotSerialized)
{
Store (0x02, INDX)
Store (0x02, DATA)
Release (MUT0)
}
Name (DMAP, Package (0x04)
{
Zero,
One,
0x02,
0x03
})
Device (LPT)
{
Name (_HID, EisaId ("PNP0400"))
Method (_UID, 0, NotSerialized)
{
If (LEqual (PTYP, 0x02))
{
Return (One)
}
Else
{
Return (Zero)
}
}
Method (_STA, 0, NotSerialized)
{
Store ("LPT_EPP_STA", Debug)
If (LEqual (LPTE, Zero))
{
Return (Zero)
}
If (LEqual (PTYP, 0x03))
{
Return (Zero)
}
Store (One, LDN)
Store (One, DATA)
If (LDC)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (One, LDN)
Store (One, DATA)
Store (Zero, LDC)
Store (Zero, DATA)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUF3, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x00, // Alignment
0x08, // Length
_Y01)
IRQNoFlags (_Y02)
{7}
})
CreateWordField (BUF3, \_SB.PCI0.LPC.LPT._CRS._Y01._MIN, IOLO)
CreateWordField (BUF3, \_SB.PCI0.LPC.LPT._CRS._Y01._MAX, IOHI)
CreateByteField (BUF3, \_SB.PCI0.LPC.LPT._CRS._Y01._LEN, IOLN)
CreateWordField (BUF3, \_SB.PCI0.LPC.LPT._CRS._Y02._INT, IRQM)
Store (One, LDN)
Store (One, DATA)
Store (IOBH, Local0)
ShiftLeft (Local0, 0x08, Local0)
Or (Local0, IOBL, Local1)
Store (Local1, IOLO)
Store (Local1, IOHI)
If (LEqual (IOBL, 0xBC))
{
Store (0x04, IOLN)
}
Else
{
Store (0x08, IOLN)
}
If (LEqual (IRQN, 0x05))
{
Store (0x20, IRQM)
}
Else
{
Store (0x80, IRQM)
}
Return (BUF3)
}
Method (_PRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x00, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x00, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x00, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
}
EndDependentFn ()
})
Name (BUF1, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x00, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x00, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
EndDependentFn ()
})
If (LEqual (PTYP, 0x02))
{
Return (BUF1)
}
Else
{
Return (BUF0)
}
}
Method (_SRS, 1, NotSerialized)
{
Store ("LPT_SRS", Debug)
Store (Arg0, Debug)
CreateWordField (Arg0, 0x02, IOLL)
CreateByteField (Arg0, 0x03, IOLH)
CreateWordField (Arg0, 0x09, IRQM)
Store (One, LDN)
Store (One, DATA)
Store (IOLL, IOBL)
Store (IOLL, DATA)
Store (IOLH, IOBH)
Store (IOLH, DATA)
If (LEqual (IRQM, 0x20))
{
Store (0x05, IRQN)
}
Else
{
Store (0x07, IRQN)
}
Store (0x04, DMA0)
Store (0x04, DATA)
Store (One, LDC)
Store (One, DATA)
}
}
Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Method (_STA, 0, NotSerialized)
{
If (LEqual (LPTE, Zero))
{
Return (Zero)
}
If (LNotEqual (PTYP, 0x03))
{
Return (Zero)
}
Store (One, LDN)
Store (One, DATA)
If (LDC)
{
Return (0x0F)
}
Else
{
Return (0x0D)
}
}
Method (_DIS, 0, NotSerialized)
{
Store (One, LDN)
Store (One, DATA)
Store (Zero, LDC)
Store (Zero, DATA)
}
Method (_CRS, 0, NotSerialized)
{
Store ("ECP_CRS", Debug)
Name (BUF3, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x00, // Alignment
0x08, // Length
_Y03)
IRQNoFlags (_Y04)
{7}
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x00, // Alignment
0x04, // Length
_Y05)
DMA (Compatibility, NotBusMaster, Transfer8, _Y06)
{3}
})
CreateWordField (BUF3, \_SB.PCI0.LPC.ECP._CRS._Y03._MIN, IOLO)
CreateWordField (BUF3, \_SB.PCI0.LPC.ECP._CRS._Y03._MAX, IOHI)
CreateByteField (BUF3, \_SB.PCI0.LPC.ECP._CRS._Y03._LEN, IOLN)
CreateWordField (BUF3, \_SB.PCI0.LPC.ECP._CRS._Y04._INT, IRQM)
CreateWordField (BUF3, \_SB.PCI0.LPC.ECP._CRS._Y05._MIN, I2LO)
CreateWordField (BUF3, \_SB.PCI0.LPC.ECP._CRS._Y05._MAX, I2HI)
CreateWordField (BUF3, \_SB.PCI0.LPC.ECP._CRS._Y06._DMA, DMAM)
Store (One, LDN)
Store (One, DATA)
Store (IOBH, Local0)
ShiftLeft (Local0, 0x08, Local0)
Or (Local0, IOBL, Local1)
Store (Local1, IOLO)
Store (Local1, IOHI)
Add (Local1, 0x0400, Local1)
Store (Local1, I2LO)
Store (Local1, I2HI)
If (LEqual (IOBL, 0xBC))
{
Store (0x04, IOLN)
}
Else
{
Store (0x08, IOLN)
}
If (LEqual (IRQN, 0x05))
{
Store (0x20, IRQM)
}
Else
{
Store (0x80, IRQM)
}
And (DMA0, 0x07, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, DMAM)
Return (BUF3)
}
Method (_PRS, 0, NotSerialized)
{
Name (BUF0, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x00, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x00, // Alignment
0x04, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x00, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x00, // Alignment
0x04, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x00, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x00, // Alignment
0x04, // Length
)
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
EndDependentFn ()
})
Return (BUF0)
}
Method (_SRS, 1, NotSerialized)
{
Store ("ECP_SRS", Debug)
Store (Arg0, Debug)
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IRQM)
CreateByteField (Arg0, 0x14, DMAM)
Store (One, LDN)
Store (One, DATA)
Store (IOHI, IOBH)
Store (IOHI, DATA)
Store (IOLO, IOBL)
Store (IOLO, DATA)
FindSetRightBit (IRQM, Local0)
Decrement (Local0)
Store (Local0, IRQN)
Store (Local0, DATA)
FindSetRightBit (DMAM, Local0)
Decrement (Local0)
Store (Local0, DMA0)
Store (Local0, DATA)
Store (One, LDC)
Store (One, DATA)
}
}
Device (ESB)
{
Name (_HID, EisaId ("MTC0001"))
Method (SLED, 1, NotSerialized)
{
If (LEqual (Arg0, 0x80)) {}
Else
{
If (LLess (Arg0, 0x03))
{
Store (Zero, Local0)
If (LEqual (Arg0, One))
{
Or (Local0, 0x02, Local0)
}
If (LEqual (Arg0, 0x02))
{
Or (Local0, 0x08, Local0)
}
}
}
Return (Zero)
}
}
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10,11}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRA, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKA_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKA_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRA, 0x80, ^^LPC.PIRA)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFA, One, IRA)
And (^^LPC.PIRA, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRA)
}
Store (BUFA, Debug)
Store ("LNKA_CRS_END", Debug)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQA)
FindSetLeftBit (IRQA, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{5,10,11}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRB, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKB_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKB_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRB, 0x80, ^^LPC.PIRB)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFB, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRB)
And (^^LPC.PIRB, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRB)
}
Store (BUFB, Debug)
Store ("LNKB_CRS_END", Debug)
Return (BUFB)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQB)
FindSetLeftBit (IRQB, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10,11}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRC, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKC_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKC_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRC, 0x80, ^^LPC.PIRC)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFC, One, IRC)
And (^^LPC.PIRC, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRC)
}
Store (BUFC, Debug)
Store ("LNKC_CRS_END", Debug)
Return (BUFC)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQC)
FindSetLeftBit (IRQC, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10,11}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRD, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKD_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKD_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRD, 0x80, ^^LPC.PIRD)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFD, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFD, One, IRD)
And (^^LPC.PIRD, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRD)
}
Store (BUFD, Debug)
Store ("LNKD_CRS_END", Debug)
Return (BUFD)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQD)
FindSetLeftBit (IRQD, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRD)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRE, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKE_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKE_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRE, 0x80, ^^LPC.PIRE)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFE, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFE, One, IRE)
And (^^LPC.PIRE, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRE)
}
Store (BUFE, Debug)
Store ("LNKE_CRS_END", Debug)
Return (BUFE)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQE)
FindSetLeftBit (IRQE, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRE)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRF, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKF_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKF_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRF, 0x80, ^^LPC.PIRF)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFF, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFF, One, IRF)
And (^^LPC.PIRF, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRF)
}
Store (BUFF, Debug)
Store ("LNKF_CRS_END", Debug)
Return (BUFF)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQF)
FindSetLeftBit (IRQF, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRF)
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRG, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKG_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKG_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRG, 0x80, ^^LPC.PIRG)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFG, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFG, One, IRG)
And (^^LPC.PIRG, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRG)
}
Store (BUFG, Debug)
Store ("LNKG_CRS_END", Debug)
Return (BUFG)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQG)
FindSetLeftBit (IRQG, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRG)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10}
})
Method (_STA, 0, NotSerialized)
{
And (^^LPC.PIRH, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Store ("LNKH_STA_09", Debug)
Return (0x09)
}
Else
{
Store ("LNKH_STA_0B", Debug)
Return (0x0B)
}
}
Method (_DIS, 0, NotSerialized)
{
Or (^^LPC.PIRH, 0x80, ^^LPC.PIRH)
}
Method (_CRS, 0, NotSerialized)
{
Name (BUFH, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFH, One, IRH)
And (^^LPC.PIRH, 0x8F, Local0)
If (LLess (Local0, 0x80))
{
And (Local0, 0x0F, Local0)
Store (One, Local1)
ShiftLeft (Local1, Local0, Local1)
Store (Local1, IRH)
}
Store (BUFH, Debug)
Store ("LNKH_CRS_END", Debug)
Return (BUFH)
}
Method (_SRS, 1, NotSerialized)
{
Store (Arg0, Local0)
CreateWordField (Local0, One, IRQH)
FindSetLeftBit (IRQH, Local1)
Decrement (Local1)
Store (Local1, ^^LPC.PIRH)
}
}
}
Method (GSMI, 1, NotSerialized)
{
Store (Arg0, Local0)
Store (Local0, MBX0)
Store (0xE3, APMC)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
Stall (0xFF)
}
}
}