Skip to content

Instantly share code, notes, and snippets.

@ricardovf
Created February 23, 2012 00:22
Show Gist options
  • Save ricardovf/1888633 to your computer and use it in GitHub Desktop.
Save ricardovf/1888633 to your computer and use it in GitHub Desktop.
DefinitionBlock ("dsdt.aml", "DSDT", 2, "INTEL ", "DH61DL ", 0x00000012)
{
Name (SP1O, 0x2E)
Name (IOCE, 0x87)
Name (IOCL, 0xAA)
Name (SI1P, One)
Name (IOHB, Zero)
Name (IOHL, 0x10)
Name (TCBR, 0xFED08000)
Name (TCLT, 0x1000)
Name (SRCB, 0xFED1C000)
Name (SRCL, 0x4000)
Name (SUSW, 0xFF)
Name (PMBS, 0x0400)
Name (PMLN, 0x80)
Name (SMIP, 0xB2)
Name (APCB, 0xFEC00000)
Name (APCL, 0x00100000)
Name (PM30, 0x0430)
Name (SMBS, 0x1180)
Name (SMBL, 0x20)
Name (HPTB, 0xFED00000)
Name (HPTC, 0xFED1F404)
Name (GPBS, 0x0500)
Name (GPLN, 0x80)
Name (PEBS, 0xF8000000)
Name (PELN, 0x04000000)
Name (LAPB, 0xFEE00000)
Name (VTDS, 0xFED90000)
Name (VTDL, 0x4000)
Name (ACPH, 0xDE)
Name (ASSB, Zero)
Name (AOTB, Zero)
Name (AAXB, Zero)
Name (PEHP, One)
Name (SHPC, Zero)
Name (PEPM, One)
Name (PEER, One)
Name (PECS, One)
Name (MBEC, 0xFFFF)
Name (DSSP, Zero)
Name (FHPP, Zero)
Name (SMIT, 0xB2)
Name (OFST, 0x35)
Name (TPMF, Zero)
Name (TMF1, Zero)
Name (TMF2, Zero)
Name (TMF3, Zero)
Name (TOBS, 0x0460)
Name (SUCC, One)
Name (NVLD, 0x02)
Name (CRIT, 0x04)
Name (NCRT, 0x06)
Name (LDST, One)
Name (ITKM, 0x0430)
Name (ITKE, One)
Name (PICM, Zero)
Method (_PIC, 1, NotSerialized)
{
If (Arg0)
{
Store (Zero, DBG8)
}
Else
{
Store (0xAC, DBG8)
}
Store (Arg0, PICM)
}
Name (OSVR, Ones)
Method (OSFL, 0, NotSerialized)
{
If (LNotEqual (OSVR, Ones))
{
Return (OSVR)
}
If (LEqual (PICM, Zero))
{
Store (0xAC, DBG8)
}
Store (One, OSVR)
If (CondRefOf (_OSI, Local0))
{
If (_OSI ("Linux"))
{
Store (0x03, OSVR)
}
If (_OSI ("Windows 2001"))
{
Store (0x04, OSVR)
}
If (_OSI ("Windows 2001.1"))
{
Store (0x05, OSVR)
}
If (_OSI ("FreeBSD"))
{
Store (0x06, OSVR)
}
If (_OSI ("HP-UX"))
{
Store (0x07, OSVR)
}
If (_OSI ("OpenVMS"))
{
Store (0x08, OSVR)
}
If (_OSI ("Windows 2001 SP1"))
{
Store (0x09, OSVR)
}
If (_OSI ("Windows 2001 SP2"))
{
Store (0x0A, OSVR)
}
If (_OSI ("Windows 2001 SP3"))
{
Store (0x0B, OSVR)
}
If (_OSI ("Windows 2006"))
{
Store (0x0C, OSVR)
}
If (_OSI ("Windows 2006 SP1"))
{
Store (0x0D, OSVR)
}
If (_OSI ("Windows 2009"))
{
Store (0x0E, OSVR)
}
}
Else
{
If (MCTH (_OS, "Microsoft Windows NT"))
{
Store (Zero, OSVR)
}
If (MCTH (_OS, "Microsoft Windows"))
{
Store (One, OSVR)
}
If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
{
Store (0x02, OSVR)
}
If (MCTH (_OS, "Linux"))
{
Store (0x03, OSVR)
}
If (MCTH (_OS, "FreeBSD"))
{
Store (0x06, OSVR)
}
If (MCTH (_OS, "HP-UX"))
{
Store (0x07, OSVR)
}
If (MCTH (_OS, "OpenVMS"))
{
Store (0x08, OSVR)
}
}
Return (OSVR)
}
Method (MCTH, 2, NotSerialized)
{
If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
{
Return (Zero)
}
Add (SizeOf (Arg0), One, Local0)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Store (Arg0, BUF0)
Store (Arg1, BUF1)
While (Local0)
{
Decrement (Local0)
If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
BUF1, Local0))))
{
Return (Zero)
}
}
Return (One)
}
Name (PRWP, Package (0x02)
{
Zero,
Zero
})
Method (GPRW, 2, NotSerialized)
{
Store (Arg0, Index (PRWP, Zero))
Store (ShiftLeft (SS1, One), Local0)
Or (Local0, ShiftLeft (SS2, 0x02), Local0)
Or (Local0, ShiftLeft (SS3, 0x03), Local0)
Or (Local0, ShiftLeft (SS4, 0x04), Local0)
If (And (ShiftLeft (One, Arg1), Local0))
{
Store (Arg1, Index (PRWP, One))
}
Else
{
ShiftRight (Local0, One, Local0)
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
FindSetLeftBit (Local0, Index (PRWP, One))
}
Else
{
FindSetRightBit (Local0, Index (PRWP, One))
}
}
Return (PRWP)
}
Name (WAKP, Package (0x02)
{
Zero,
Zero
})
OperationRegion (DEB0, SystemIO, 0x80, One)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}
OperationRegion (DEB1, SystemIO, 0x90, 0x02)
Field (DEB1, WordAcc, NoLock, Preserve)
{
DBG9, 16
}
Name (SS1, Zero)
Name (SS2, Zero)
Name (SS3, One)
Name (SS4, One)
Name (IOST, 0x0000)
Name (TOPM, 0x00000000)
Name (ROMS, 0xFFE00000)
Name (VGAF, One)
Scope (_SB)
{
Name (PR00, Package (0x17)
{
Package (0x04)
{
0x001FFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0x001FFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0x001FFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001BFFFF,
Zero,
LNKG,
Zero
},
Package (0x04)
{
0x0016FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0016FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0016FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0001FFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKD,
Zero
},
Package (0x04)
{
0x0006FFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0x0006FFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0x0006FFFF,
0x03,
LNKC,
Zero
},
Package (0x04)
{
0x0002FFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x0019FFFF,
Zero,
LNKE,
Zero
},
Package (0x04)
{
0x001DFFFF,
Zero,
LNKH,
Zero
},
Package (0x04)
{
0x001AFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0x001CFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0x001CFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR00, Package (0x17)
{
Package (0x04)
{
0x001FFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0x001FFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0x001FFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001BFFFF,
Zero,
Zero,
0x16
},
Package (0x04)
{
0x0016FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0016FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0016FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0001FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0001FFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x03,
Zero,
0x13
},
Package (0x04)
{
0x0006FFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0x0006FFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x0006FFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0x0006FFFF,
0x03,
Zero,
0x12
},
Package (0x04)
{
0x0002FFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x0019FFFF,
Zero,
Zero,
0x14
},
Package (0x04)
{
0x001DFFFF,
Zero,
Zero,
0x17
},
Package (0x04)
{
0x001AFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0x001CFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0x001CFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0x001CFFFF,
0x03,
Zero,
0x13
}
})
Name (PR11, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR11, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR12, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR12, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR13, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR13, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (PR14, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR14, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
Name (PR15, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR15, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR16, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR16, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR17, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR17, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (PR18, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR18, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
Name (PR01, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR01, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
Zero
}
})
Name (AR02, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x10
}
})
Name (PR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKB,
Zero
}
})
Name (AR03, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x11
}
})
Name (PR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKD,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKC,
Zero
}
})
Name (AR04, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x13
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x12
}
})
Name (PR21, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (AR21, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (PRSA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,10,11,12,14,15}
})
Alias (PRSA, PRSB)
Name (PRSC, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,10,11,12,14,15}
})
Alias (PRSC, PRSD)
Alias (PRSA, PRSE)
Alias (PRSA, PRSF)
Alias (PRSA, PRSG)
Alias (PRSA, PRSH)
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A08"))
Name (_CID, EisaId ("PNP0A03"))
Name (_ADR, Zero)
Method (^BN00, 0, NotSerialized)
{
Return (Zero)
}
Method (_BBN, 0, NotSerialized)
{
Return (BN00 ())
}
Name (_UID, Zero)
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR00)
}
Return (PR00)
}
Method (_S3D, 0, NotSerialized)
{
If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
{
Return (0x02)
}
Else
{
Return (0x03)
}
}
Device (MCH)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x0A)
Name (MCHR, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED10000, // Address Base
0x0000A000, // Address Length
)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x1FE00000, // Address Length
_Y00)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00001000, // Address Length
_Y01)
Memory32Fixed (ReadWrite,
0xFED20000, // Address Base
0x00020000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEE00000, // Address Base
0x00010000, // Address Length
)
})
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (MCHR, \_SB.PCI0.MCH._Y00._BAS, PCIB)
CreateDWordField (MCHR, \_SB.PCI0.MCH._Y00._LEN, PCIL)
If (LNotEqual (PEXB, Zero))
{
Store (PEXB, PCIB)
Store (PEXL, PCIL)
}
Else
{
Store (PEBS, PCIB)
Store (PELN, PCIL)
}
CreateDWordField (MCHR, \_SB.PCI0.MCH._Y01._BAS, VTCB)
CreateDWordField (MCHR, \_SB.PCI0.MCH._Y01._LEN, VTCL)
If (LNotEqual (VTDB, Zero))
{
Store (VTDB, VTCB)
Store (VTLN, VTCL)
}
Else
{
Store (VTDS, VTCB)
Store (VTDL, VTCL)
}
Return (MCHR)
}
}
OperationRegion (NBNV, SystemMemory, 0xDABD5D98, 0x0100)
Field (NBNV, AnyAcc, Lock, Preserve)
{
NBSG, 32,
Offset (0x10),
PEXB, 32,
PEXL, 32,
MCHB, 32,
MCHL, 32,
VTDB, 32,
VTLN, 32
}
Method (NPTS, 1, NotSerialized)
{
}
Method (NWAK, 1, NotSerialized)
{
}
Name (CPRB, One)
Name (LVGA, 0x55)
Name (BRB, 0x0000)
Name (BRL, 0x0100)
Name (IOB, 0x1000)
Name (IOL, 0xF000)
Name (MBB, 0xDFA00000)
Name (MBL, 0x20600000)
Name (MABL, 0x00000000)
Name (MABH, 0x00000000)
Name (MALL, 0x00000000)
Name (MALH, 0x00000000)
Name (MAML, 0x00000000)
Name (MAMH, 0x00000000)
Name (CRS1, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x007F, // Range Maximum
0x0000, // Translation Offset
0x0080, // Length
,, _Y02)
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x03AF, // Range Maximum
0x0000, // Translation Offset
0x03B0, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x03E0, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0918, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y04, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0x0FFF, // Range Maximum
0x0000, // Translation Offset
0x0300, // Length
,, _Y03, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y05, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x000C0000, // Range Minimum
0x000DFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x02000000, // Range Minimum
0xFFDFFFFF, // Range Maximum
0x00000000, // Translation Offset
0xFDFC0000, // Length
,, _Y06, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y07, AddressRangeMemory, TypeStatic)
})
Name (CRS2, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0080, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0080, // Length
,, _Y08)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y0A, TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0000, // Range Maximum
0x0000, // Translation Offset
0x0000, // Length
,, _Y09, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _Y0B, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x80000000, // Range Minimum
0xFFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x80000000, // Length
,, _Y0C, AddressRangeMemory, TypeStatic)
QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // Range Minimum
0x0000000000000000, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000000000, // Length
,, _Y0D, AddressRangeMemory, TypeStatic)
})
Method (_CRS, 0, NotSerialized)
{
BreakPoint
If (CPRB)
{
CreateWordField (CRS1, \_SB.PCI0._Y02._MIN, MIN0)
CreateWordField (CRS1, \_SB.PCI0._Y02._MAX, MAX0)
CreateWordField (CRS1, \_SB.PCI0._Y02._LEN, LEN0)
Store (BRB, MIN0)
Store (BRL, LEN0)
Store (LEN0, Local0)
Add (MIN0, Decrement (Local0), MAX0)
CreateWordField (CRS1, \_SB.PCI0._Y03._MIN, MIN1)
CreateWordField (CRS1, \_SB.PCI0._Y03._MAX, MAX1)
CreateWordField (CRS1, \_SB.PCI0._Y03._LEN, LEN1)
If (LEqual (IOB, 0x1000))
{
Store (IOL, Local0)
Add (IOB, Decrement (Local0), MAX1)
Subtract (MAX1, MIN1, Local0)
Add (Local0, One, LEN1)
}
Else
{
Store (IOB, MIN1)
Store (IOL, LEN1)
Store (LEN1, Local0)
Add (MIN1, Decrement (Local0), MAX1)
}
If (LOr (LEqual (LVGA, One), LEqual (LVGA, 0x55)))
{
If (VGAF)
{
CreateWordField (CRS1, \_SB.PCI0._Y04._MIN, IMN1)
CreateWordField (CRS1, \_SB.PCI0._Y04._MAX, IMX1)
CreateWordField (CRS1, \_SB.PCI0._Y04._LEN, ILN1)
Store (0x03B0, IMN1)
Store (0x03DF, IMX1)
Store (0x30, ILN1)
CreateDWordField (CRS1, \_SB.PCI0._Y05._MIN, VMN1)
CreateDWordField (CRS1, \_SB.PCI0._Y05._MAX, VMX1)
CreateDWordField (CRS1, \_SB.PCI0._Y05._LEN, VLN1)
Store (0x000A0000, VMN1)
Store (0x000BFFFF, VMX1)
Store (0x00020000, VLN1)
Store (Zero, VGAF)
}
}
CreateDWordField (CRS1, \_SB.PCI0._Y06._MIN, MIN3)
CreateDWordField (CRS1, \_SB.PCI0._Y06._MAX, MAX3)
CreateDWordField (CRS1, \_SB.PCI0._Y06._LEN, LEN3)
Store (MBB, MIN3)
Store (MBL, LEN3)
Store (LEN3, Local0)
Add (MIN3, Decrement (Local0), MAX3)
If (LOr (MALH, MALL))
{
CreateDWordField (CRS1, \_SB.PCI0._Y07._MIN, MN8L)
Add (0xB4, 0x04, Local0)
CreateDWordField (CRS1, Local0, MN8H)
Store (MABL, MN8L)
Store (MABH, MN8H)
CreateDWordField (CRS1, \_SB.PCI0._Y07._MAX, MX8L)
Add (0xBC, 0x04, Local1)
CreateDWordField (CRS1, Local1, MX8H)
CreateDWordField (CRS1, \_SB.PCI0._Y07._LEN, LN8L)
Add (0xCC, 0x04, Local2)
CreateDWordField (CRS1, Local2, LN8H)
Store (MABL, MN8L)
Store (MABH, MN8H)
Store (MALL, LN8L)
Store (MALH, LN8H)
Store (MAML, MX8L)
Store (MAMH, MX8H)
}
Return (CRS1)
}
Else
{
CreateWordField (CRS2, \_SB.PCI0._Y08._MIN, MIN2)
CreateWordField (CRS2, \_SB.PCI0._Y08._MAX, MAX2)
CreateWordField (CRS2, \_SB.PCI0._Y08._LEN, LEN2)
Store (BRB, MIN2)
Store (BRL, LEN2)
Store (LEN2, Local1)
Add (MIN2, Decrement (Local1), MAX2)
CreateWordField (CRS2, \_SB.PCI0._Y09._MIN, MIN4)
CreateWordField (CRS2, \_SB.PCI0._Y09._MAX, MAX4)
CreateWordField (CRS2, \_SB.PCI0._Y09._LEN, LEN4)
Store (IOB, MIN4)
Store (IOL, LEN4)
Store (LEN4, Local1)
Add (MIN4, Decrement (Local1), MAX4)
If (LVGA)
{
CreateWordField (CRS2, \_SB.PCI0._Y0A._MIN, IMN2)
CreateWordField (CRS2, \_SB.PCI0._Y0A._MAX, IMX2)
CreateWordField (CRS2, \_SB.PCI0._Y0A._LEN, ILN2)
Store (0x03B0, IMN2)
Store (0x03DF, IMX2)
Store (0x30, ILN2)
CreateDWordField (CRS2, \_SB.PCI0._Y0B._MIN, VMN2)
CreateDWordField (CRS2, \_SB.PCI0._Y0B._MAX, VMX2)
CreateDWordField (CRS2, \_SB.PCI0._Y0B._LEN, VLN2)
Store (0x000A0000, VMN2)
Store (0x000BFFFF, VMX2)
Store (0x00020000, VLN2)
}
CreateDWordField (CRS2, \_SB.PCI0._Y0C._MIN, MIN5)
CreateDWordField (CRS2, \_SB.PCI0._Y0C._MAX, MAX5)
CreateDWordField (CRS2, \_SB.PCI0._Y0C._LEN, LEN5)
Store (MBB, MIN5)
Store (MBL, LEN5)
Store (LEN5, Local1)
Add (MIN5, Decrement (Local1), MAX5)
If (LOr (MALH, MALL))
{
CreateDWordField (CRS2, \_SB.PCI0._Y0D._MIN, MN9L)
Add (0x72, 0x04, Local0)
CreateDWordField (CRS2, Local0, MN9H)
CreateDWordField (CRS2, \_SB.PCI0._Y0D._MAX, MX9L)
Add (0x7A, 0x04, Local1)
CreateDWordField (CRS2, Local1, MX9H)
CreateDWordField (CRS2, \_SB.PCI0._Y0D._LEN, LN9L)
Add (0x8A, 0x04, Local2)
CreateDWordField (CRS2, Local2, LN9H)
Store (MABL, MN9L)
Store (MABH, MN9H)
Store (MALL, LN9L)
Store (MALH, LN9H)
Store (MAML, MX9L)
Store (MAMH, MX9H)
}
Return (CRS2)
}
}
Method (_OSC, 4, NotSerialized)
{
Name (SUPP, Zero)
Name (CTRL, Zero)
CreateDWordField (Arg3, Zero, CDW1)
CreateDWordField (Arg3, 0x04, CDW2)
CreateDWordField (Arg3, 0x08, CDW3)
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
/* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
}))
{
Store (CDW2, SUPP)
Store (CDW3, CTRL)
If (LNotEqual (And (SUPP, 0x16), 0x16))
{
And (CTRL, 0x1E, CTRL)
}
If (LNot (PEHP))
{
And (CTRL, 0x1E, CTRL)
}
If (LNot (SHPC))
{
And (CTRL, 0x1D, CTRL)
}
If (LNot (PEPM))
{
And (CTRL, 0x1B, CTRL)
}
If (LNot (PEER))
{
And (CTRL, 0x15, CTRL)
}
If (LNot (PECS))
{
And (CTRL, 0x0F, CTRL)
}
If (LNotEqual (Arg1, One))
{
Or (CDW1, 0x08, CDW1)
}
If (LNotEqual (CDW3, CTRL))
{
Or (CDW1, 0x10, CDW1)
}
Store (CTRL, CDW3)
Return (Arg3)
}
Else
{
Or (CDW1, 0x04, CDW1)
Return (Arg3)
}
}
Device (SBRG)
{
Name (_ADR, 0x001F0000)
Method (SPTS, 1, NotSerialized)
{
Store (One, PS1S)
Store (One, PS1E)
Store (One, SLPS)
}
Method (SWAK, 1, NotSerialized)
{
Store (Zero, SLPS)
Store (Zero, PS1E)
If (RTCS) {}
Else
{
Notify (PWRB, 0x02)
}
}
OperationRegion (APMP, SystemIO, SMIP, 0x02)
Field (APMP, ByteAcc, NoLock, Preserve)
{
APMC, 8,
APMS, 8
}
Field (APMP, ByteAcc, NoLock, Preserve)
{
Offset (0x01),
, 1,
BRTC, 1
}
OperationRegion (SMIE, SystemIO, PM30, 0x08)
Field (SMIE, ByteAcc, NoLock, Preserve)
{
, 4,
PS1E, 1,
, 31,
PS1S, 1,
Offset (0x08)
}
Scope (\_SB)
{
Name (SLPS, Zero)
OperationRegion (PMS0, SystemIO, PMBS, 0x04)
Field (PMS0, ByteAcc, NoLock, Preserve)
{
, 10,
RTCS, 1,
, 3,
PEXS, 1,
WAKS, 1,
Offset (0x03),
PWBT, 1,
Offset (0x04)
}
Device (SLPB)
{
Name (_HID, EisaId ("PNP0C0E"))
Method (_STA, 0, NotSerialized)
{
If (LNotEqual (SUSW, 0xFF))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_PRW, 0, NotSerialized)
{
If (LNotEqual (SUSW, 0xFF))
{
Return (Package (0x02)
{
SUSW,
0x04
})
}
Else
{
Return (Package (0x02)
{
Zero,
Zero
})
}
}
}
}
Scope (\_SB)
{
Scope (PCI0)
{
Device (PCH)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x01C7)
Name (_STA, 0x0F)
Name (ICHR, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y0E)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y0F)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y10)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y11)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y13)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y12)
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x00000000, // Address Length
_Y14)
Memory32Fixed (ReadWrite,
0xFF000000, // Address Base
0x01000000, // Address Length
)
})
Method (_CRS, 0, NotSerialized)
{
CreateWordField (ICHR, \_SB.PCI0.PCH._Y0E._MIN, PBB)
CreateWordField (ICHR, \_SB.PCI0.PCH._Y0E._MAX, PBH)
CreateByteField (ICHR, \_SB.PCI0.PCH._Y0E._LEN, PML)
Store (PMBS, PBB)
Store (PMBS, PBH)
Store (0x54, PML)
CreateWordField (ICHR, \_SB.PCI0.PCH._Y0F._MIN, P2B)
CreateWordField (ICHR, \_SB.PCI0.PCH._Y0F._MAX, P2H)
CreateByteField (ICHR, \_SB.PCI0.PCH._Y0F._LEN, P2L)
Add (PMBS, 0x58, P2B)
Add (PMBS, 0x58, P2H)
Store (0x28, P2L)
If (SMBS)
{
CreateWordField (ICHR, \_SB.PCI0.PCH._Y10._MIN, SMB)
CreateWordField (ICHR, \_SB.PCI0.PCH._Y10._MAX, SMH)
CreateByteField (ICHR, \_SB.PCI0.PCH._Y10._LEN, SML)
Store (SMBS, SMB)
Store (SMBS, SMH)
Store (SMBL, SML)
}
If (GPBS)
{
CreateWordField (ICHR, \_SB.PCI0.PCH._Y11._MIN, IGB)
CreateWordField (ICHR, \_SB.PCI0.PCH._Y11._MAX, IGH)
CreateByteField (ICHR, \_SB.PCI0.PCH._Y11._LEN, IGL)
Store (GPBS, IGB)
Store (GPBS, IGH)
Store (GPLN, IGL)
}
If (APCB)
{
CreateDWordField (ICHR, \_SB.PCI0.PCH._Y12._BAS, APB)
CreateDWordField (ICHR, \_SB.PCI0.PCH._Y12._LEN, APL)
Store (APCB, APB)
Store (APCL, APL)
}
CreateDWordField (ICHR, \_SB.PCI0.PCH._Y13._BAS, RCB)
CreateDWordField (ICHR, \_SB.PCI0.PCH._Y13._LEN, RCL)
Store (SRCB, RCB)
Store (SRCL, RCL)
If (TCBR)
{
CreateDWordField (ICHR, \_SB.PCI0.PCH._Y14._BAS, TCB)
CreateDWordField (ICHR, \_SB.PCI0.PCH._Y14._LEN, TCL)
Store (TCBR, TCB)
Store (TCLT, TCL)
}
Return (ICHR)
}
}
Device (CWDT)
{
Name (_HID, EisaId ("INT3F0D"))
Name (_CID, EisaId ("PNP0C02"))
Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0454, // Range Minimum
0x0454, // Range Maximum
0x04, // Alignment
0x04, // Length
_Y15)
})
Method (_STA, 0, Serialized)
{
Return (0x0F)
}
Method (_CRS, 0, Serialized)
{
CreateWordField (BUF0, \_SB.PCI0.CWDT._Y15._MIN, WDB)
CreateWordField (BUF0, \_SB.PCI0.CWDT._Y15._MAX, WDH)
Add (PMBS, 0x54, WDB)
Add (PMBS, 0x54, WDH)
Return (BUF0)
}
}
}
}
Device (SIO1)
{
Name (_HID, EisaId ("PNP0C02"))
Method (_UID, 0, NotSerialized)
{
Return (SP1O)
}
Name (CRS, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y16)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y17)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x00, // Length
_Y18)
})
Method (_CRS, 0, NotSerialized)
{
If (LAnd (LLess (SP1O, 0x03F0), LGreater (SP1O, 0xF0)))
{
CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y16._MIN, GPI0)
CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y16._MAX, GPI1)
CreateByteField (CRS, \_SB.PCI0.SBRG.SIO1._Y16._LEN, GPIL)
Store (SP1O, GPI0)
Store (SP1O, GPI1)
Store (0x02, GPIL)
}
If (IOHB)
{
CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y17._MIN, GP30)
CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y17._MAX, GP31)
CreateByteField (CRS, \_SB.PCI0.SBRG.SIO1._Y17._LEN, GPL3)
Store (IOHB, GP30)
Store (IOHB, GP31)
Store (IOHL, GPL3)
}
CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y18._MIN, GP40)
CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y18._MAX, GP41)
CreateByteField (CRS, \_SB.PCI0.SBRG.SIO1._Y18._LEN, GPL4)
ENFG (One)
If (ACTR)
{
ShiftLeft (IOAH, 0x08, Local0)
Or (IOAL, Local0, Local0)
Subtract (FindSetRightBit (Local0), One, Local1)
ShiftLeft (One, Local1, Local1)
If (And (OPT0, 0x02)) {}
Else
{
Or (Local0, 0x0400, GP40)
Or (Local0, 0x0400, GP41)
Store (Local1, GPL4)
}
}
EXFG ()
Return (CRS)
}
Name (DCAT, Package (0x15)
{
0x02,
0x03,
One,
Zero,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0x05,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF,
0xFF
})
Mutex (MUT0, 0x00)
Method (ENFG, 1, NotSerialized)
{
Acquire (MUT0, 0x0FFF)
Store (IOCE, INDX)
Store (IOCE, INDX)
Store (Arg0, LDN)
}
Method (EXFG, 0, NotSerialized)
{
Store (IOCL, INDX)
Release (MUT0)
}
Method (LPTM, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
And (OPT0, 0x02, Local0)
EXFG ()
Return (Local0)
}
Method (UHID, 1, NotSerialized)
{
If (LEqual (Arg0, One))
{
ENFG (CGLD (Arg0))
And (OPT1, 0x38, Local0)
EXFG ()
If (Local0)
{
Return (0x1005D041)
}
}
Return (0x0105D041)
}
OperationRegion (IOID, SystemIO, SP1O, 0x02)
Field (IOID, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x07),
LDN, 8,
Offset (0x2C),
OP2C, 8,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
IOH2, 8,
IOL2, 8,
Offset (0x70),
INTR, 8,
Offset (0x74),
DMCH, 8,
Offset (0xE0),
RGE0, 8,
RGE1, 8,
RGE2, 8,
RGE3, 8,
RGE4, 8,
RGE5, 8,
RGE6, 8,
RGE7, 8,
Offset (0xF0),
OPT0, 8,
OPT1, 8,
OPT2, 8,
OPT3, 8,
OPT4, 8,
OPT5, 8,
OPT6, 8,
OPT7, 8,
OPT8, 8,
OPT9, 8
}
Method (CGLD, 1, NotSerialized)
{
Return (DerefOf (Index (DCAT, Arg0)))
}
Method (DSTA, 1, NotSerialized)
{
ENFG (CGLD (Arg0))
Store (ACTR, Local0)
EXFG ()
If (LEqual (Local0, 0xFF))
{
Return (Zero)
}
And (Local0, One, Local0)
Or (IOST, ShiftLeft (Local0, Arg0), IOST)
If (Local0)
{
Return (0x0F)
}
Else
{
If (And (ShiftLeft (One, Arg0), IOST))
{
Return (0x0D)
}
Else
{
Return (Zero)
}
}
}
Method (DCNT, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03,
Local1), Zero)))
{
RDMA (Arg0, Arg1, Increment (Local1))
}
Store (Arg1, ACTR)
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
RRIO (Arg0, Arg1, Local1, 0x08)
EXFG ()
}
Name (CRS1, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x00, // Length
_Y1B)
IRQNoFlags (_Y19)
{}
DMA (Compatibility, NotBusMaster, Transfer8, _Y1A)
{}
})
CreateWordField (CRS1, \_SB.PCI0.SBRG.SIO1._Y19._INT, IRQM)
CreateByteField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1A._DMA, DMAM)
CreateWordField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1B._MIN, IO11)
CreateWordField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1B._MAX, IO12)
CreateByteField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1B._LEN, LEN1)
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x00, // Length
_Y1E)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x00, // Length
_Y1F)
IRQNoFlags (_Y1C)
{6}
DMA (Compatibility, NotBusMaster, Transfer8, _Y1D)
{2}
})
CreateWordField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1C._INT, IRQE)
CreateByteField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1D._DMA, DMAE)
CreateWordField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1E._MIN, IO21)
CreateWordField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1E._MAX, IO22)
CreateByteField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1E._LEN, LEN2)
CreateWordField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1F._MIN, IO31)
CreateWordField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1F._MAX, IO32)
CreateByteField (CRS2, \_SB.PCI0.SBRG.SIO1._Y1F._LEN, LEN3)
Method (DCRS, 2, NotSerialized)
{
ENFG (CGLD (Arg0))
ShiftLeft (IOAH, 0x08, IO11)
Or (IOAL, IO11, IO11)
Store (IO11, IO12)
Subtract (FindSetRightBit (IO11), One, Local0)
ShiftLeft (One, Local0, LEN1)
If (INTR)
{
ShiftLeft (One, INTR, IRQM)
}
Else
{
Store (Zero, IRQM)
}
If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
{
Store (Zero, DMAM)
}
Else
{
And (DMCH, 0x03, Local1)
ShiftLeft (One, Local1, DMAM)
}
EXFG ()
Return (CRS1)
}
Method (DSRS, 2, NotSerialized)
{
CreateWordField (Arg0, 0x09, IRQM)
CreateByteField (Arg0, 0x0C, DMAM)
CreateWordField (Arg0, 0x02, IO11)
ENFG (CGLD (Arg1))
ShiftLeft (IOAH, 0x08, Local1)
Or (IOAL, Local1, Local1)
RRIO (Arg1, Zero, Local1, 0x08)
RRIO (Arg1, One, IO11, 0x08)
And (IO11, 0xFF, IOAL)
ShiftRight (IO11, 0x08, IOAH)
If (IRQM)
{
FindSetRightBit (IRQM, Local0)
Subtract (Local0, One, INTR)
}
Else
{
Store (Zero, INTR)
}
If (DMAM)
{
FindSetRightBit (DMAM, Local0)
Subtract (Local0, One, DMCH)
}
Else
{
Store (0x04, DMCH)
}
EXFG ()
DCNT (Arg1, One)
Store (Arg1, Local2)
If (LGreater (Local2, Zero))
{
Subtract (Local2, One, Local2)
}
}
}
Name (PMFG, Zero)
Method (SIOS, 1, NotSerialized)
{
Store ("SIOS", Debug)
^SIO1.ENFG (0x0B)
If (LEqual (Arg0, One))
{
Store (0x60, ^SIO1.OPT7)
Store (0x67, ^SIO1.OPT8)
}
IOKS (Arg0)
}
Method (SIOW, 1, NotSerialized)
{
}
Method (SIOH, 0, NotSerialized)
{
IOKH ()
}
Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, EisaId ("PNP030B"))
Method (_STA, 0, NotSerialized)
{
If (And (IOST, 0x0400))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
FixedIO (
0x0060, // Address
0x01, // Length
)
FixedIO (
0x0064, // Address
0x01, // Length
)
IRQNoFlags ()
{1}
}
EndDependentFn ()
})
Method (_PSW, 1, NotSerialized)
{
Store (Arg0, \KBFG)
}
}
Scope (\)
{
Name (KBFG, One)
}
Method (PS2K._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x03))
}
Device (PS2M)
{
Name (_HID, EisaId ("PNP0F03"))
Name (_CID, EisaId ("PNP0F13"))
Method (_STA, 0, NotSerialized)
{
If (And (IOST, 0x4000))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Name (CRS1, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IRQNoFlags ()
{12}
})
Method (_CRS, 0, NotSerialized)
{
If (And (IOST, 0x0400))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IRQNoFlags ()
{12}
}
EndDependentFn ()
})
Method (_PSW, 1, NotSerialized)
{
Store (Arg0, \MSFG)
}
}
Scope (\)
{
Name (MSFG, One)
}
Method (PS2M._PRW, 0, NotSerialized)
{
Return (GPRW (0x1D, 0x03))
}
Name (KBFG, One)
Name (MSFG, One)
OperationRegion (IOKP, SystemIO, 0x60, 0x05)
Field (IOKP, ByteAcc, NoLock, Preserve)
{
KP60, 8,
Offset (0x04),
KP64, 8
}
OperationRegion (KB64, SystemIO, 0x64, One)
Field (KB64, ByteAcc, NoLock, Preserve)
{
, 1,
KRDY, 1,
Offset (0x01)
}
Method (IOKS, 1, NotSerialized)
{
Name (KBET, Zero)
Name (MSET, Zero)
Store ("IOKS", Debug)
If (And (IOST, 0x0400))
{
Store (One, KBET)
}
If (And (IOST, 0x4000))
{
Store (One, MSET)
}
If (Or (KBET, MSET))
{
If (MSET)
{
While (KRDY) {}
Store (0x60, KP64)
While (KRDY) {}
Store (0x47, KP60)
While (KRDY) {}
Store (0xD4, KP64)
While (KRDY) {}
Store (0xF4, KP60)
}
If (KBET)
{
While (KRDY) {}
Store (0xED, KP60)
While (KRDY) {}
Store (Zero, KP60)
While (KRDY) {}
Store (0xF4, KP60)
}
Store (0x1000, Local0)
While (Local0)
{
Store (KP60, Local1)
Subtract (Local0, One, Local0)
}
}
^SIO1.ENFG (0x0A)
If (LEqual (Arg0, One))
{
If (KBFG)
{
Or (^SIO1.OPT6, 0x10, ^SIO1.OPT6)
}
If (MSFG)
{
Or (^SIO1.OPT6, 0x20, ^SIO1.OPT6)
And (^SIO1.RGE0, 0xED, ^SIO1.RGE0)
Or (^SIO1.RGE6, 0x80, ^SIO1.RGE6)
}
Or (^SIO1.OPT2, One, ^SIO1.OPT2)
}
If (LEqual (Arg0, 0x03))
{
Store (Zero, ^SIO1.OPT6)
And (^SIO1.RGE0, 0x9F, ^SIO1.RGE0)
If (\KBFG)
{
Or (^SIO1.RGE0, 0x41, ^SIO1.RGE0)
}
If (\MSFG)
{
Or (^SIO1.RGE0, 0x22, ^SIO1.RGE0)
And (^SIO1.RGE0, 0xED, ^SIO1.RGE0)
Or (^SIO1.RGE6, 0x80, ^SIO1.RGE6)
}
}
While (^SIO1.OPT3)
{
Stall (0x50)
Store (0xFF, ^SIO1.OPT3)
}
^SIO1.EXFG ()
}
Method (IOKW, 1, NotSerialized)
{
Store ("SIOW", Debug)
^SIO1.ENFG (0x0A)
Store (0xFF, ^SIO1.OPT3)
And (^SIO1.OPT6, 0xCF, ^SIO1.OPT6)
And (^SIO1.RGE0, 0x9F, ^SIO1.RGE0)
^SIO1.EXFG ()
}
Method (IOKH, 0, NotSerialized)
{
If (And (PMFG, 0x18))
{
Notify (PS2K, 0x02)
Notify (PS2M, 0x02)
}
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Name (_FDE, Package (0x05)
{
One,
Zero,
0x02,
0x02,
0x02
})
Method (_STA, 0, NotSerialized)
{
Return (^^SIO1.DSTA (0x03))
}
Method (_DIS, 0, NotSerialized)
{
^^SIO1.DCNT (0x03, Zero)
}
Method (_CRS, 0, NotSerialized)
{
^^SIO1.DCRS (0x03, One)
Store (^^SIO1.IRQM, ^^SIO1.IRQE)
Store (^^SIO1.DMAM, ^^SIO1.DMAE)
Store (^^SIO1.IO11, ^^SIO1.IO21)
Store (^^SIO1.IO12, ^^SIO1.IO22)
Store (0x06, ^^SIO1.LEN2)
Add (^^SIO1.IO21, 0x07, ^^SIO1.IO31)
Store (^^SIO1.IO31, ^^SIO1.IO32)
Store (One, ^^SIO1.LEN3)
Return (^^SIO1.CRS2)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{6}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0370, // Range Minimum
0x0370, // Range Maximum
0x01, // Alignment
0x06, // Length
)
IO (Decode16,
0x0377, // Range Minimum
0x0377, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{2,3}
}
EndDependentFn ()
})
Method (_SRS, 1, NotSerialized)
{
^^SIO1.DSRS (Arg0, 0x03)
CreateWordField (Arg0, 0x11, IRQE)
CreateByteField (Arg0, 0x14, DMAE)
^^SIO1.ENFG (^^SIO1.CGLD (0x03))
If (IRQE)
{
FindSetRightBit (IRQE, Local0)
Subtract (Local0, One, ^^SIO1.INTR)
}
Else
{
Store (Zero, ^^SIO1.INTR)
}
If (DMAE)
{
FindSetRightBit (DMAE, Local0)
Subtract (Local0, One, ^^SIO1.DMCH)
}
Else
{
Store (0x04, ^^SIO1.DMCH)
}
^^SIO1.EXFG ()
}
}
Device (UAR1)
{
Name (_UID, One)
Method (_HID, 0, NotSerialized)
{
Return (^^SIO1.UHID (Zero))
}
Method (_STA, 0, Serialized)
{
If (And (IOST, One))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_DIS, 0, NotSerialized)
{
^^SIO1.DCNT (Zero, Zero)
}
Method (_CRS, 0, NotSerialized)
{
Return (^^SIO1.DCRS (Zero, Zero))
}
Method (_SRS, 1, NotSerialized)
{
^^SIO1.DSRS (Arg0, Zero)
}
Name (_PRS, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
EndDependentFn ()
})
}
Method (UAR1._PRW, 0, NotSerialized)
{
Return (GPRW (0x08, 0x03))
}
Device (LPTE)
{
Method (_HID, 0, NotSerialized)
{
If (^^SIO1.LPTM (0x02))
{
Return (0x0104D041)
}
Else
{
Return (0x0004D041)
}
}
Method (_STA, 0, NotSerialized)
{
Return (^^SIO1.DSTA (0x02))
}
Method (_DIS, 0, NotSerialized)
{
^^SIO1.DCNT (0x02, Zero)
}
Method (_CRS, 0, NotSerialized)
{
^^SIO1.DCRS (0x02, One)
If (^^SIO1.LPTM (0x02))
{
Store (^^SIO1.IRQM, ^^SIO1.IRQE)
Store (^^SIO1.DMAM, ^^SIO1.DMAE)
Store (^^SIO1.IO11, ^^SIO1.IO21)
Store (^^SIO1.IO12, ^^SIO1.IO22)
Store (^^SIO1.LEN1, ^^SIO1.LEN2)
Add (^^SIO1.IO21, 0x0400, ^^SIO1.IO31)
Store (^^SIO1.IO31, ^^SIO1.IO32)
Store (^^SIO1.LEN2, ^^SIO1.LEN3)
Return (^^SIO1.CRS2)
}
Else
{
Return (^^SIO1.CRS1)
}
}
Method (_SRS, 1, NotSerialized)
{
^^SIO1.DSRS (Arg0, 0x02)
}
Method (_PRS, 0, NotSerialized)
{
If (^^SIO1.LPTM (0x02))
{
Return (EPPR)
}
Else
{
Return (LPPR)
}
}
Name (LPPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5,6,7,10,11,12}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{}
}
EndDependentFn ()
})
Name (EPPR, ResourceTemplate ()
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{5,6,7,10,11,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x01, // Alignment
0x04, // Length
)
IRQNoFlags ()
{}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,3}
}
EndDependentFn ()
})
}
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
}
Device (DMAD)
{
Name (_HID, EisaId ("PNP0200"))
Name (_CRS, ResourceTemplate ()
{
DMA (Compatibility, BusMaster, Transfer8, )
{4}
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0081, // Range Minimum
0x0081, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0087, // Range Minimum
0x0087, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0089, // Range Minimum
0x0089, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x008F, // Range Minimum
0x008F, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x00, // Alignment
0x20, // Length
)
})
}
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x00, // Alignment
0x04, // Length
)
IRQNoFlags ()
{0}
})
}
Device (RTC0)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
})
}
Device (SPKR)
{
Name (_HID, EisaId ("PNP0800"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x00, // Alignment
0x01, // Length
)
})
}
Device (RMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x10)
Name (CRS1, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0022, // Range Minimum
0x0022, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x0044, // Range Minimum
0x0044, // Range Maximum
0x00, // Alignment
0x1C, // Length
)
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x00, // Alignment
0x02, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x00, // Alignment
0x0B, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x00, // Alignment
0x0E, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0084, // Range Minimum
0x0084, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0088, // Range Minimum
0x0088, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x008C, // Range Minimum
0x008C, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x00A2, // Range Minimum
0x00A2, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x00E0, // Range Minimum
0x00E0, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
})
Name (CRS2, ResourceTemplate ()
{
IO (Decode16,
0x0010, // Range Minimum
0x0010, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x0022, // Range Minimum
0x0022, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x0044, // Range Minimum
0x0044, // Range Maximum
0x00, // Alignment
0x1C, // Length
)
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x00, // Alignment
0x0E, // Length
)
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x0084, // Range Minimum
0x0084, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0088, // Range Minimum
0x0088, // Range Maximum
0x00, // Alignment
0x01, // Length
)
IO (Decode16,
0x008C, // Range Minimum
0x008C, // Range Maximum
0x00, // Alignment
0x03, // Length
)
IO (Decode16,
0x0090, // Range Minimum
0x0090, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x00A2, // Range Minimum
0x00A2, // Range Maximum
0x00, // Alignment
0x1E, // Length
)
IO (Decode16,
0x00E0, // Range Minimum
0x00E0, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x00, // Alignment
0x02, // Length
)
})
Method (_CRS, 0, NotSerialized)
{
If (And (MBEC, 0xFFFF))
{
Return (CRS1)
}
Else
{
Return (CRS2)
}
}
}
Device (COPR)
{
Name (_HID, EisaId ("PNP0C04"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x00, // Alignment
0x10, // Length
)
IRQNoFlags ()
{13}
})
}
}
Device (SAT0)
{
Name (_ADR, 0x001F0002)
Name (^NATA, Package (0x01)
{
0x001F0002
})
Name (\FZTF, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5
})
Name (REGF, One)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, REGF)
}
}
Name (TIM0, Package (0x08)
{
Package (0x04)
{
0x78,
0xB4,
0xF0,
0x0384
},
Package (0x04)
{
0x23,
0x21,
0x10,
Zero
},
Package (0x04)
{
0x0B,
0x09,
0x04,
Zero
},
Package (0x06)
{
0x78,
0x5A,
0x3C,
0x28,
0x1E,
0x14
},
Package (0x06)
{
Zero,
One,
0x02,
One,
0x02,
One
},
Package (0x06)
{
Zero,
Zero,
Zero,
One,
One,
One
},
Package (0x04)
{
0x04,
0x03,
0x02,
Zero
},
Package (0x04)
{
0x02,
One,
Zero,
Zero
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, Zero, PIO0)
CreateDWordField (TMD0, 0x04, DMA0)
CreateDWordField (TMD0, 0x08, PIO1)
CreateDWordField (TMD0, 0x0C, DMA1)
CreateDWordField (TMD0, 0x10, CHNF)
OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
Field (CFG2, DWordAcc, NoLock, Preserve)
{
PMPT, 4,
PSPT, 4,
PMRI, 6,
Offset (0x02),
SMPT, 4,
SSPT, 4,
SMRI, 6,
Offset (0x04),
PSRI, 4,
SSRI, 4,
Offset (0x08),
PM3E, 1,
PS3E, 1,
SM3E, 1,
SS3E, 1,
Offset (0x0A),
PMUT, 2,
, 2,
PSUT, 2,
Offset (0x0B),
SMUT, 2,
, 2,
SSUT, 2,
Offset (0x0C),
Offset (0x14),
PM6E, 1,
PS6E, 1,
SM6E, 1,
SS6E, 1,
PMCR, 1,
PSCR, 1,
SMCR, 1,
SSCR, 1,
, 4,
PMAE, 1,
PSAE, 1,
SMAE, 1,
SSAE, 1
}
Name (GMPT, Zero)
Name (GMUE, Zero)
Name (GMUT, Zero)
Name (GMCR, Zero)
Name (GSPT, Zero)
Name (GSUE, Zero)
Name (GSUT, Zero)
Name (GSCR, Zero)
Device (CHN0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (PSCR, One, Local1)
Or (PMCR, Local1, Local0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local1)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PS3E, Local3, Local2)
ShiftLeft (PSPT, 0x04, Local3)
Or (Local2, Local3, Local2)
Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local0)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PS3E, Local3, Local1)
ShiftLeft (PSPT, 0x04, Local3)
Or (Local1, Local3, Local1)
Store (PMRI, GMPT)
Store (Local0, GMUE)
Store (PMUT, GMUT)
Store (PMCR, GMCR)
Store (PSRI, GSPT)
Store (Local1, GSUE)
Store (PSUT, GSUT)
Store (PSCR, GSCR)
STM ()
Store (GMPT, PMRI)
Store (GMUE, Local0)
Store (GMUT, PMUT)
Store (GMCR, PMCR)
Store (GSUE, Local1)
Store (GSUT, PSUT)
Store (GSCR, PSCR)
If (And (Local0, One))
{
Store (One, PM3E)
}
Else
{
Store (Zero, PM3E)
}
If (And (Local0, 0x02))
{
Store (One, PM6E)
}
Else
{
Store (Zero, PM6E)
}
If (And (Local0, 0x04))
{
Store (One, PMAE)
}
Else
{
Store (Zero, PMAE)
}
If (And (Local1, One))
{
Store (One, PS3E)
}
Else
{
Store (Zero, PS3E)
}
If (And (Local1, 0x02))
{
Store (One, PS6E)
}
Else
{
Store (Zero, PS6E)
}
If (And (Local1, 0x04))
{
Store (One, PSAE)
}
Else
{
Store (Zero, PSAE)
}
Store (GTF (Zero, Arg1), ATA0)
Store (GTF (One, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (SSCR, One, Local1)
Or (SMCR, Local1, Local0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local1)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SS3E, Local3, Local2)
ShiftLeft (SSPT, 0x04, Local3)
Or (Local2, Local3, Local2)
Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local0)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SS3E, Local3, Local1)
ShiftLeft (SSPT, 0x04, Local3)
Or (Local1, Local3, Local1)
Store (SMRI, GMPT)
Store (Local0, GMUE)
Store (SMUT, GMUT)
Store (SMCR, GMCR)
Store (SSRI, GSPT)
Store (Local1, GSUE)
Store (SSUT, GSUT)
Store (SSCR, GSCR)
STM ()
Store (GMPT, SMRI)
Store (GMUE, Local0)
Store (GMUT, SMUT)
Store (GMCR, SMCR)
Store (GSUE, Local1)
Store (GSUT, SSUT)
Store (GSCR, SSCR)
If (And (Local0, One))
{
Store (One, SM3E)
}
Else
{
Store (Zero, SM3E)
}
If (And (Local0, 0x02))
{
Store (One, SM6E)
}
Else
{
Store (Zero, SM6E)
}
If (And (Local0, 0x04))
{
Store (One, SMAE)
}
Else
{
Store (Zero, SMAE)
}
If (And (Local1, One))
{
Store (One, SS3E)
}
Else
{
Store (Zero, SS3E)
}
If (And (Local1, 0x02))
{
Store (One, SS6E)
}
Else
{
Store (Zero, SS6E)
}
If (And (Local1, 0x04))
{
Store (One, SSAE)
}
Else
{
Store (Zero, SSAE)
}
Store (GTF (Zero, Arg1), ATA2)
Store (GTF (One, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA3))
}
}
}
Method (GTM, 7, Serialized)
{
Store (Ones, PIO0)
Store (Ones, PIO1)
Store (Ones, DMA0)
Store (Ones, DMA1)
Store (0x10, CHNF)
If (REGF) {}
Else
{
Return (TMD0)
}
If (And (Arg1, 0x20))
{
Or (CHNF, 0x02, CHNF)
}
Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR,
Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)),
Local7)
Store (Local7, DMA0)
Store (Local7, PIO0)
If (And (Arg4, 0x20))
{
Or (CHNF, 0x08, CHNF)
}
Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR,
Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)),
Local7)
Store (Local7, DMA1)
Store (Local7, PIO1)
If (And (Arg1, 0x07))
{
Store (Arg2, Local5)
If (And (Arg1, 0x02))
{
Add (Local5, 0x02, Local5)
}
If (And (Arg1, 0x04))
{
Add (Local5, 0x04, Local5)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)),
DMA0)
Or (CHNF, One, CHNF)
}
If (And (Arg4, 0x07))
{
Store (Arg5, Local5)
If (And (Arg4, 0x02))
{
Add (Local5, 0x02, Local5)
}
If (And (Arg4, 0x04))
{
Add (Local5, 0x04, Local5)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)),
DMA1)
Or (CHNF, 0x04, CHNF)
}
Store (TMD0, Debug)
Return (TMD0)
}
Method (STM, 0, Serialized)
{
If (REGF)
{
Store (Zero, GMUE)
Store (Zero, GMUT)
Store (Zero, GSUE)
Store (Zero, GSUT)
If (And (CHNF, One))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR,
Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)),
GMUT)
Or (GMUE, One, GMUE)
If (LGreater (Local0, 0x02))
{
Or (GMUE, 0x02, GMUE)
}
If (LGreater (Local0, 0x04))
{
And (GMUE, 0xFD, GMUE)
Or (GMUE, 0x04, GMUE)
}
}
Else
{
If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
{
Store (DMA0, PIO0)
Or (GMUE, 0x80, GMUE)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR,
Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)),
GSUT)
Or (GSUE, One, GSUE)
If (LGreater (Local0, 0x02))
{
Or (GSUE, 0x02, GSUE)
}
If (LGreater (Local0, 0x04))
{
And (GSUE, 0xFD, GSUE)
Or (GSUE, 0x04, GSUE)
}
}
Else
{
If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
{
Store (DMA1, PIO1)
Or (GSUE, 0x80, GSUE)
}
}
}
If (And (CHNF, 0x02))
{
Or (GMUE, 0x20, GMUE)
}
If (And (CHNF, 0x08))
{
Or (GSUE, 0x20, GSUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR,
Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)),
Local1)
Store (Local1, GMPT)
If (LLess (Local0, 0x03))
{
Or (GMUE, 0x50, GMUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR,
Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)),
Local1)
Store (Local1, GSPT)
If (LLess (Local0, 0x03))
{
Or (GSUE, 0x50, GSUE)
}
}
}
Name (AT01, Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT02, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
})
Name (AT03, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
})
Name (AT04, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
})
Name (ATA0, Buffer (0x1D) {})
Name (ATA1, Buffer (0x1D) {})
Name (ATA2, Buffer (0x1D) {})
Name (ATA3, Buffer (0x1D) {})
Name (ATAB, Buffer (0x1D) {})
CreateByteField (ATAB, Zero, CMDC)
Method (GTFB, 3, Serialized)
{
Multiply (CMDC, 0x38, Local0)
Add (Local0, 0x08, Local1)
CreateField (ATAB, Local1, 0x38, CMDX)
Multiply (CMDC, 0x07, Local0)
CreateByteField (ATAB, Add (Local0, 0x02), A001)
CreateByteField (ATAB, Add (Local0, 0x06), A005)
Store (Arg0, CMDX)
Store (Arg1, A001)
Store (Arg2, A005)
Increment (CMDC)
}
Method (GTF, 2, Serialized)
{
Store (Arg1, Debug)
Store (Zero, CMDC)
Name (ID49, 0x0C00)
Name (ID59, Zero)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, One)
Name (PIOT, Zero)
Name (DMAT, Zero)
If (LEqual (SizeOf (Arg1), 0x0200))
{
CreateWordField (Arg1, 0x62, IW49)
Store (IW49, ID49)
CreateWordField (Arg1, 0x6A, IW53)
Store (IW53, ID53)
CreateWordField (Arg1, 0x7E, IW63)
Store (IW63, ID63)
CreateWordField (Arg1, 0x76, IW59)
Store (IW59, ID59)
CreateWordField (Arg1, 0xB0, IW88)
Store (IW88, ID88)
}
Store (0xA0, Local7)
If (Arg0)
{
Store (0xB0, Local7)
And (CHNF, 0x08, IRDY)
If (And (CHNF, 0x10))
{
Store (PIO1, PIOT)
}
Else
{
Store (PIO0, PIOT)
}
If (And (CHNF, 0x04))
{
If (And (CHNF, 0x10))
{
Store (DMA1, DMAT)
}
Else
{
Store (DMA0, DMAT)
}
}
}
Else
{
And (CHNF, 0x02, IRDY)
Store (PIO0, PIOT)
If (And (CHNF, One))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR,
Zero, Zero), Local1)
If (LGreater (Local1, 0x05))
{
Store (0x05, Local1)
}
GTFB (AT01, Or (0x40, Local1), Local7)
}
Else
{
If (LAnd (And (ID63, 0xFF00), PIOT))
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR,
Zero, Zero), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0
)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR,
Zero, Zero), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0
)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, One, Local7)
}
}
If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
{
GTFB (AT03, And (ID59, 0xFF), Local7)
}
Store (ATAB, Debug)
Return (ATAB)
}
Method (RATA, 1, NotSerialized)
{
CreateByteField (Arg0, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (Concatenate (RETB, FZTF))
}
}
Device (SAT1)
{
Name (_ADR, 0x001F0005)
Name (REGF, One)
Method (_REG, 2, NotSerialized)
{
If (LEqual (Arg0, 0x02))
{
Store (Arg1, REGF)
}
}
Name (TIM0, Package (0x08)
{
Package (0x04)
{
0x78,
0xB4,
0xF0,
0x0384
},
Package (0x04)
{
0x23,
0x21,
0x10,
Zero
},
Package (0x04)
{
0x0B,
0x09,
0x04,
Zero
},
Package (0x06)
{
0x78,
0x5A,
0x3C,
0x28,
0x1E,
0x14
},
Package (0x06)
{
Zero,
One,
0x02,
One,
0x02,
One
},
Package (0x06)
{
Zero,
Zero,
Zero,
One,
One,
One
},
Package (0x04)
{
0x04,
0x03,
0x02,
Zero
},
Package (0x04)
{
0x02,
One,
Zero,
Zero
}
})
Name (TMD0, Buffer (0x14) {})
CreateDWordField (TMD0, Zero, PIO0)
CreateDWordField (TMD0, 0x04, DMA0)
CreateDWordField (TMD0, 0x08, PIO1)
CreateDWordField (TMD0, 0x0C, DMA1)
CreateDWordField (TMD0, 0x10, CHNF)
OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
Field (CFG2, DWordAcc, NoLock, Preserve)
{
PMPT, 4,
PSPT, 4,
PMRI, 6,
Offset (0x02),
SMPT, 4,
SSPT, 4,
SMRI, 6,
Offset (0x04),
PSRI, 4,
SSRI, 4,
Offset (0x08),
PM3E, 1,
PS3E, 1,
SM3E, 1,
SS3E, 1,
Offset (0x0A),
PMUT, 2,
, 2,
PSUT, 2,
Offset (0x0B),
SMUT, 2,
, 2,
SSUT, 2,
Offset (0x0C),
Offset (0x14),
PM6E, 1,
PS6E, 1,
SM6E, 1,
SS6E, 1,
PMCR, 1,
PSCR, 1,
SMCR, 1,
SSCR, 1,
, 4,
PMAE, 1,
PSAE, 1,
SMAE, 1,
SSAE, 1
}
Name (GMPT, Zero)
Name (GMUE, Zero)
Name (GMUT, Zero)
Name (GMCR, Zero)
Name (GSPT, Zero)
Name (GSUE, Zero)
Name (GSUT, Zero)
Name (GSCR, Zero)
Device (CHN0)
{
Name (_ADR, Zero)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (PSCR, One, Local1)
Or (PMCR, Local1, Local0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local1)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PS3E, Local3, Local2)
ShiftLeft (PSPT, 0x04, Local3)
Or (Local2, Local3, Local2)
Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
ShiftLeft (PMAE, 0x02, Local3)
ShiftLeft (PM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PM3E, Local3, Local0)
ShiftLeft (PMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (PSAE, 0x02, Local3)
ShiftLeft (PS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (PS3E, Local3, Local1)
ShiftLeft (PSPT, 0x04, Local3)
Or (Local1, Local3, Local1)
Store (PMRI, GMPT)
Store (Local0, GMUE)
Store (PMUT, GMUT)
Store (PMCR, GMCR)
Store (PSRI, GSPT)
Store (Local1, GSUE)
Store (PSUT, GSUT)
Store (PSCR, GSCR)
STM ()
Store (GMPT, PMRI)
Store (GMUE, Local0)
Store (GMUT, PMUT)
Store (GMCR, PMCR)
Store (GSUE, Local1)
Store (GSUT, PSUT)
Store (GSCR, PSCR)
If (And (Local0, One))
{
Store (One, PM3E)
}
Else
{
Store (Zero, PM3E)
}
If (And (Local0, 0x02))
{
Store (One, PM6E)
}
Else
{
Store (Zero, PM6E)
}
If (And (Local0, 0x04))
{
Store (One, PMAE)
}
Else
{
Store (Zero, PMAE)
}
If (And (Local1, One))
{
Store (One, PS3E)
}
Else
{
Store (Zero, PS3E)
}
If (And (Local1, 0x02))
{
Store (One, PS6E)
}
Else
{
Store (Zero, PS6E)
}
If (And (Local1, 0x04))
{
Store (One, PSAE)
}
Else
{
Store (Zero, PSAE)
}
Store (GTF (Zero, Arg1), ATA0)
Store (GTF (One, Arg2), ATA1)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA0))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA1))
}
}
}
Device (CHN1)
{
Name (_ADR, One)
Method (_GTM, 0, NotSerialized)
{
ShiftLeft (SSCR, One, Local1)
Or (SMCR, Local1, Local0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local1)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local1, Local3, Local1)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SS3E, Local3, Local2)
ShiftLeft (SSPT, 0x04, Local3)
Or (Local2, Local3, Local2)
Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0))
}
Method (_STM, 3, NotSerialized)
{
Store (Arg0, Debug)
Store (Arg0, TMD0)
ShiftLeft (SMAE, 0x02, Local3)
ShiftLeft (SM6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SM3E, Local3, Local0)
ShiftLeft (SMPT, 0x04, Local3)
Or (Local0, Local3, Local0)
ShiftLeft (SSAE, 0x02, Local3)
ShiftLeft (SS6E, One, Local4)
Or (Local3, Local4, Local3)
Or (SS3E, Local3, Local1)
ShiftLeft (SSPT, 0x04, Local3)
Or (Local1, Local3, Local1)
Store (SMRI, GMPT)
Store (Local0, GMUE)
Store (SMUT, GMUT)
Store (SMCR, GMCR)
Store (SSRI, GSPT)
Store (Local1, GSUE)
Store (SSUT, GSUT)
Store (SSCR, GSCR)
STM ()
Store (GMPT, SMRI)
Store (GMUE, Local0)
Store (GMUT, SMUT)
Store (GMCR, SMCR)
Store (GSUE, Local1)
Store (GSUT, SSUT)
Store (GSCR, SSCR)
If (And (Local0, One))
{
Store (One, SM3E)
}
Else
{
Store (Zero, SM3E)
}
If (And (Local0, 0x02))
{
Store (One, SM6E)
}
Else
{
Store (Zero, SM6E)
}
If (And (Local0, 0x04))
{
Store (One, SMAE)
}
Else
{
Store (Zero, SMAE)
}
If (And (Local1, One))
{
Store (One, SS3E)
}
Else
{
Store (Zero, SS3E)
}
If (And (Local1, 0x02))
{
Store (One, SS6E)
}
Else
{
Store (Zero, SS6E)
}
If (And (Local1, 0x04))
{
Store (One, SSAE)
}
Else
{
Store (Zero, SSAE)
}
Store (GTF (Zero, Arg1), ATA2)
Store (GTF (One, Arg2), ATA3)
}
Device (DRV0)
{
Name (_ADR, Zero)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA2))
}
}
Device (DRV1)
{
Name (_ADR, One)
Method (_GTF, 0, NotSerialized)
{
Return (RATA (ATA3))
}
}
}
Method (GTM, 7, Serialized)
{
Store (Ones, PIO0)
Store (Ones, PIO1)
Store (Ones, DMA0)
Store (Ones, DMA1)
Store (0x10, CHNF)
If (REGF) {}
Else
{
Return (TMD0)
}
If (And (Arg1, 0x20))
{
Or (CHNF, 0x02, CHNF)
}
Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR,
Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)),
Local7)
Store (Local7, DMA0)
Store (Local7, PIO0)
If (And (Arg4, 0x20))
{
Or (CHNF, 0x08, CHNF)
}
Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR,
Zero, Zero), Local6)
Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)),
Local7)
Store (Local7, DMA1)
Store (Local7, PIO1)
If (And (Arg1, 0x07))
{
Store (Arg2, Local5)
If (And (Arg1, 0x02))
{
Add (Local5, 0x02, Local5)
}
If (And (Arg1, 0x04))
{
Add (Local5, 0x04, Local5)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)),
DMA0)
Or (CHNF, One, CHNF)
}
If (And (Arg4, 0x07))
{
Store (Arg5, Local5)
If (And (Arg4, 0x02))
{
Add (Local5, 0x02, Local5)
}
If (And (Arg4, 0x04))
{
Add (Local5, 0x04, Local5)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)),
DMA1)
Or (CHNF, 0x04, CHNF)
}
Store (TMD0, Debug)
Return (TMD0)
}
Method (STM, 0, Serialized)
{
If (REGF)
{
Store (Zero, GMUE)
Store (Zero, GMUT)
Store (Zero, GSUE)
Store (Zero, GSUT)
If (And (CHNF, One))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR,
Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)),
GMUT)
Or (GMUE, One, GMUE)
If (LGreater (Local0, 0x02))
{
Or (GMUE, 0x02, GMUE)
}
If (LGreater (Local0, 0x04))
{
And (GMUE, 0xFD, GMUE)
Or (GMUE, 0x04, GMUE)
}
}
Else
{
If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero)))
{
If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
{
Store (DMA0, PIO0)
Or (GMUE, 0x80, GMUE)
}
}
}
If (And (CHNF, 0x04))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR,
Zero, Zero), Local0)
If (LGreater (Local0, 0x05))
{
Store (0x05, Local0)
}
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)),
GSUT)
Or (GSUE, One, GSUE)
If (LGreater (Local0, 0x02))
{
Or (GSUE, 0x02, GSUE)
}
If (LGreater (Local0, 0x04))
{
And (GSUE, 0xFD, GSUE)
Or (GSUE, 0x04, GSUE)
}
}
Else
{
If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero)))
{
If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
{
Store (DMA1, PIO1)
Or (GSUE, 0x80, GSUE)
}
}
}
If (And (CHNF, 0x02))
{
Or (GMUE, 0x20, GMUE)
}
If (And (CHNF, 0x08))
{
Or (GSUE, 0x20, GSUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR,
Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)),
Local1)
Store (Local1, GMPT)
If (LLess (Local0, 0x03))
{
Or (GMUE, 0x50, GMUE)
}
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR,
Zero, Zero), 0x07, Local0)
Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)),
Local1)
Store (Local1, GSPT)
If (LLess (Local0, 0x03))
{
Or (GSUE, 0x50, GSUE)
}
}
}
Name (AT01, Buffer (0x07)
{
0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
})
Name (AT02, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
})
Name (AT03, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
})
Name (AT04, Buffer (0x07)
{
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
})
Name (ATA0, Buffer (0x1D) {})
Name (ATA1, Buffer (0x1D) {})
Name (ATA2, Buffer (0x1D) {})
Name (ATA3, Buffer (0x1D) {})
Name (ATAB, Buffer (0x1D) {})
CreateByteField (ATAB, Zero, CMDC)
Method (GTFB, 3, Serialized)
{
Multiply (CMDC, 0x38, Local0)
Add (Local0, 0x08, Local1)
CreateField (ATAB, Local1, 0x38, CMDX)
Multiply (CMDC, 0x07, Local0)
CreateByteField (ATAB, Add (Local0, 0x02), A001)
CreateByteField (ATAB, Add (Local0, 0x06), A005)
Store (Arg0, CMDX)
Store (Arg1, A001)
Store (Arg2, A005)
Increment (CMDC)
}
Method (GTF, 2, Serialized)
{
Store (Arg1, Debug)
Store (Zero, CMDC)
Name (ID49, 0x0C00)
Name (ID59, Zero)
Name (ID53, 0x04)
Name (ID63, 0x0F00)
Name (ID88, 0x0F00)
Name (IRDY, One)
Name (PIOT, Zero)
Name (DMAT, Zero)
If (LEqual (SizeOf (Arg1), 0x0200))
{
CreateWordField (Arg1, 0x62, IW49)
Store (IW49, ID49)
CreateWordField (Arg1, 0x6A, IW53)
Store (IW53, ID53)
CreateWordField (Arg1, 0x7E, IW63)
Store (IW63, ID63)
CreateWordField (Arg1, 0x76, IW59)
Store (IW59, ID59)
CreateWordField (Arg1, 0xB0, IW88)
Store (IW88, ID88)
}
Store (0xA0, Local7)
If (Arg0)
{
Store (0xB0, Local7)
And (CHNF, 0x08, IRDY)
If (And (CHNF, 0x10))
{
Store (PIO1, PIOT)
}
Else
{
Store (PIO0, PIOT)
}
If (And (CHNF, 0x04))
{
If (And (CHNF, 0x10))
{
Store (DMA1, DMAT)
}
Else
{
Store (DMA0, DMAT)
}
}
}
Else
{
And (CHNF, 0x02, IRDY)
Store (PIO0, PIOT)
If (And (CHNF, One))
{
Store (DMA0, DMAT)
}
}
If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
)), DMAT))
{
Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR,
Zero, Zero), Local1)
If (LGreater (Local1, 0x05))
{
Store (0x05, Local1)
}
GTFB (AT01, Or (0x40, Local1), Local7)
}
Else
{
If (LAnd (And (ID63, 0xFF00), PIOT))
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR,
Zero, Zero), 0x03, Local0)
Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0
)), Local1)
GTFB (AT01, Local1, Local7)
}
}
If (IRDY)
{
And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR,
Zero, Zero), 0x07, Local0)
Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0
)), Local1)
GTFB (AT01, Local1, Local7)
}
Else
{
If (And (ID49, 0x0400))
{
GTFB (AT01, One, Local7)
}
}
If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
{
GTFB (AT03, And (ID59, 0xFF), Local7)
}
Store (ATAB, Debug)
Return (ATAB)
}
Method (RATA, 1, NotSerialized)
{
CreateByteField (Arg0, Zero, CMDN)
Multiply (CMDN, 0x38, Local0)
CreateField (Arg0, 0x08, Local0, RETB)
Store (RETB, Debug)
Return (Concatenate (RETB, FZTF))
}
}
Device (SMB)
{
Name (_ADR, 0x001F0003)
OperationRegion (SMIO, SystemIO, SMBS, SMBL)
Field (SMIO, ByteAcc, NoLock, Preserve)
{
HSTS, 8,
HCNT, 8,
HCMD, 8,
TSAD, 8,
HDT0, 8,
HDT1, 8,
HBDT, 8,
RSAD, 8,
RSDA, 16,
AUST, 8,
AUCT, 8,
SMLP, 8,
SMBP, 8,
SSTS, 8,
SCMD, 8,
NDAD, 8,
NDLB, 8,
NDHB, 8
}
Method (SMCS, 0, NotSerialized)
{
Store (0x20, HSTS)
}
Scope (\_GPE)
{
Method (_L07, 0, NotSerialized)
{
Store (0x20, \_SB.PCI0.SMB.HSTS)
}
Method (_L1B, 0, NotSerialized)
{
Store (0x20, \_SB.PCI0.SMB.HSTS)
}
}
}
Device (P0P1)
{
Name (_ADR, 0x00010000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR01)
}
Return (PR01)
}
}
Device (P0P2)
{
Name (_ADR, 0x00010001)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR02)
}
Return (PR02)
}
}
Device (P0P3)
{
Name (_ADR, 0x00010002)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR03)
}
Return (PR03)
}
}
Device (P0P4)
{
Name (_ADR, 0x00060000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR04)
}
Return (PR04)
}
}
Device (GBE)
{
Name (_ADR, 0x00190000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x04))
}
}
Device (BR20)
{
Name (_ADR, 0x001E0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0B, 0x03))
}
}
Device (EUSB)
{
Name (_ADR, 0x001D0000)
Name (_S4D, 0x02)
Name (_S3D, 0x02)
Name (_S2D, 0x02)
Name (_S1D, 0x02)
Device (HUBN)
{
Name (_ADR, Zero)
Device (PR10)
{
Name (_ADR, One)
Name (_UPC, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Device (PR30)
{
Name (_ADR, One)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR31)
{
Name (_ADR, 0x02)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR32)
{
Name (_ADR, 0x03)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR33)
{
Name (_ADR, 0x04)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR34)
{
Name (_ADR, 0x05)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR35)
{
Name (_ADR, 0x06)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR36)
{
Name (_ADR, 0x07)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR37)
{
Name (_ADR, 0x08)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x03))
}
}
Device (USBE)
{
Name (_ADR, 0x001A0000)
Name (_S4D, 0x02)
Name (_S3D, 0x02)
Name (_S2D, 0x02)
Name (_S1D, 0x02)
Device (HUBN)
{
Name (_ADR, Zero)
Device (PR10)
{
Name (_ADR, One)
Name (_UPC, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
Device (PR30)
{
Name (_ADR, One)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR31)
{
Name (_ADR, 0x02)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR32)
{
Name (_ADR, 0x03)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR33)
{
Name (_ADR, 0x04)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR34)
{
Name (_ADR, 0x05)
Name (_UPC, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
Device (PR35)
{
Name (_ADR, 0x06)
Name (_UPC, Package (0x04)
{
0xFF,
0xFF,
Zero,
Zero
})
Name (_PLD, Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
})
}
}
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x03))
}
}
Device (PEX0)
{
Name (_ADR, 0x001C0000)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0B, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR11)
}
Return (PR11)
}
Device (BR21)
{
Name (_ADR, Zero)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0B, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR21)
}
Return (PR21)
}
}
}
Device (PEX1)
{
Name (_ADR, 0x001C0001)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR12)
}
Return (PR12)
}
}
Device (PEX2)
{
Name (_ADR, 0x001C0002)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR13)
}
Return (PR13)
}
}
Device (PEX3)
{
Name (_ADR, 0x001C0003)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR14)
}
Return (PR14)
}
}
Device (PEX4)
{
Name (_ADR, 0x001C0004)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR15)
}
Return (PR15)
}
}
Device (PEX5)
{
Name (_ADR, 0x001C0005)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR16)
}
Return (PR16)
}
}
Device (PEX6)
{
Name (_ADR, 0x001C0006)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR17)
}
Return (PR17)
}
}
Device (PEX7)
{
Name (_ADR, 0x001C0007)
OperationRegion (PXRC, PCI_Config, Zero, 0x0100)
Field (PXRC, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
Offset (0x62),
PMS, 1,
PMP, 1,
Offset (0xD8),
, 30,
HPE, 1,
PCE, 1,
, 30,
HPS, 1,
PCS, 1
}
Method (CSS, 0, NotSerialized)
{
Store (One, PMS)
Store (One, PCS)
Store (One, PMS)
}
Method (SPRT, 1, NotSerialized)
{
CSS ()
Store (One, PCE)
CSS ()
}
Method (WPRT, 1, NotSerialized)
{
Store (Zero, PCE)
CSS ()
}
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR18)
}
Return (PR18)
}
}
}
Scope (\_GPE)
{
Method (_L1D, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.PWRB, 0x02)
}
Method (_L08, 0, NotSerialized)
{
\_SB.PCI0.SBRG.SIOH ()
Notify (\_SB.PWRB, 0x02)
}
Method (_L09, 0, NotSerialized)
{
Notify (\_SB.PCI0.P0P1, 0x02)
Notify (\_SB.PCI0.P0P2, 0x02)
Notify (\_SB.PCI0.P0P3, 0x02)
Notify (\_SB.PCI0.P0P4, 0x02)
Notify (\_SB.PCI0.PEX1, 0x02)
Notify (\_SB.PCI0.PEX2, 0x02)
Notify (\_SB.PCI0.PEX3, 0x02)
Notify (\_SB.PCI0.PEX4, 0x02)
Notify (\_SB.PCI0.PEX5, 0x02)
Notify (\_SB.PCI0.PEX6, 0x02)
Notify (\_SB.PCI0.PEX7, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0D, 0, NotSerialized)
{
Notify (\_SB.PCI0.GBE, 0x02)
Notify (\_SB.PCI0.EUSB, 0x02)
Notify (\_SB.PCI0.USBE, 0x02)
Notify (\_SB.PWRB, 0x02)
}
Method (_L0B, 0, NotSerialized)
{
Notify (\_SB.PCI0.BR20, 0x02)
Notify (\_SB.PCI0.PEX0, 0x02)
Notify (\_SB.PCI0.PEX0.BR21, 0x02)
Notify (\_SB.PWRB, 0x02)
}
}
Device (PWRB)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_UID, 0xAA)
Name (_STA, 0x0B)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x08, 0x03))
}
}
}
OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C)
Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve)
{
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
Offset (0x08),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8
}
Scope (_SB)
{
Name (BUFA, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{15}
})
CreateWordField (BUFA, One, IRA0)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSA)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
And (PIRB, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSB)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRB, 0x80, PIRB)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRB, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRB)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x03)
Method (_STA, 0, NotSerialized)
{
And (PIRC, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSC)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRC, 0x80, PIRC)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRC, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRC)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x04)
Method (_STA, 0, NotSerialized)
{
And (PIRD, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSD)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRD, 0x80, PIRD)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRD, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRD)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x05)
Method (_STA, 0, NotSerialized)
{
And (PIRE, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSE)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRE, 0x80, PIRE)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRE, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRE)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x06)
Method (_STA, 0, NotSerialized)
{
And (PIRF, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSF)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRF, 0x80, PIRF)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRF, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRF)
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x07)
Method (_STA, 0, NotSerialized)
{
And (PIRG, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSG)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRG, 0x80, PIRG)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRG, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRG)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x08)
Method (_STA, 0, NotSerialized)
{
And (PIRH, 0x80, Local0)
If (Local0)
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}
Method (_PRS, 0, NotSerialized)
{
Return (PRSH)
}
Method (_DIS, 0, NotSerialized)
{
Or (PIRH, 0x80, PIRH)
}
Method (_CRS, 0, NotSerialized)
{
And (PIRH, 0x0F, Local0)
ShiftLeft (One, Local0, IRA0)
Return (BUFA)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRA)
FindSetRightBit (IRA, Local0)
Decrement (Local0)
Store (Local0, PIRH)
}
}
}
Scope (_PR)
{
OperationRegion (SSDT, SystemMemory, 0xDABD6C18, 0x038C)
OperationRegion (CSDT, SystemMemory, 0xDABD7E18, 0x0084)
Name (NCST, 0x02)
Name (NPSS, 0x0A)
Name (HNDL, 0x80000000)
Name (CHDL, 0x80000000)
Name (TNLP, 0x0004)
Name (CINT, Zero)
Name (PDCV, 0xFFFFFFFF)
Name (APSS, Package (0x0A)
{
Package (0x06)
{
0x0CE4,
0x0000FDE8,
0x000A,
0x000A,
0x2100,
0x2100
},
Package (0x06)
{
0x0C1C,
0x0000E678,
0x000A,
0x000A,
0x1F00,
0x1F00
},
Package (0x06)
{
0x0B54,
0x0000D2F0,
0x000A,
0x000A,
0x1D00,
0x1D00
},
Package (0x06)
{
0x0A8C,
0x0000BF68,
0x000A,
0x000A,
0x1B00,
0x1B00
},
Package (0x06)
{
0x09C4,
0x0000AFC8,
0x000A,
0x000A,
0x1900,
0x1900
},
Package (0x06)
{
0x08FC,
0x00009C40,
0x000A,
0x000A,
0x1700,
0x1700
},
Package (0x06)
{
0x0834,
0x00008CA0,
0x000A,
0x000A,
0x1500,
0x1500
},
Package (0x06)
{
0x076C,
0x00007D00,
0x000A,
0x000A,
0x1300,
0x1300
},
Package (0x06)
{
0x06A4,
0x00006D60,
0x000A,
0x000A,
0x1100,
0x1100
},
Package (0x06)
{
0x0640,
0x00006590,
0x000A,
0x000A,
0x1000,
0x1000
}
})
Name (PTCI, Package (0x02)
{
ResourceTemplate ()
{
Register (SystemIO,
0x04, // Bit Width
0x01, // Bit Offset
0x0000000000000410, // Address
,)
},
ResourceTemplate ()
{
Register (SystemIO,
0x04, // Bit Width
0x01, // Bit Offset
0x0000000000000410, // Address
,)
}
})
Name (\PSTE, Zero)
Name (\TSTE, Zero)
Name (TSSI, Package (0x01)
{
Package (0x05)
{
0x64,
0x03E8,
Zero,
Zero,
Zero
}
})
Name (TSSM, Package (0x08)
{
Package (0x05)
{
0x64,
0x03E8,
Zero,
Zero,
Zero
},
Package (0x05)
{
0x58,
0x036B,
Zero,
0x1E,
Zero
},
Package (0x05)
{
0x4B,
0x02EE,
Zero,
0x1C,
Zero
},
Package (0x05)
{
0x3F,
0x0271,
Zero,
0x1A,
Zero
},
Package (0x05)
{
0x32,
0x01F4,
Zero,
0x18,
Zero
},
Package (0x05)
{
0x26,
0x0177,
Zero,
0x16,
Zero
},
Package (0x05)
{
0x19,
0xFA,
Zero,
0x14,
Zero
},
Package (0x05)
{
0x0D,
0x7D,
Zero,
0x12,
Zero
}
})
Name (C1ST, Package (0x02)
{
One,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x01,
0x03E8
}
})
Name (CMST, Package (0x04)
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000010, // Address
0x03, // Access Size
)
},
0x02,
0x50,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000020, // Address
0x03, // Access Size
)
},
0x03,
0x68,
0x015E
}
})
Name (CIST, Package (0x04)
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x00, // Bit Width
0x00, // Bit Offset
0x0000000000000000, // Address
,)
},
0x01,
0x01,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
,)
},
0x02,
0x50,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
,)
},
0x03,
0x68,
0x015E
}
})
Method (CST, 0, NotSerialized)
{
If (LNotEqual (And (PDCV, 0x0200), 0x0200))
{
If (LEqual (NCST, 0x02))
{
Store (One, NCST)
}
}
If (LEqual (NCST, Zero))
{
Return (C1ST)
}
If (LEqual (NCST, One))
{
Return (CIST)
}
If (LEqual (NCST, 0x02))
{
Return (CMST)
}
Return (C1ST)
}
Method (PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, Zero, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS0, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS0, TEMP, Local2)
OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, Zero, STS)
CreateDWordField (Arg3, 0x04, CAP)
CreateDWordField (Arg0, Zero, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (UID0, Zero, EID0)
CreateDWordField (UID0, 0x04, EID1)
CreateDWordField (UID0, 0x08, EID2)
CreateDWordField (UID0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, Index (STS, Zero))
Return (Arg3)
}
And (PDCV, CAP, PDCV)
If (LEqual (CINT, Zero))
{
Store (One, CINT)
If (LEqual (And (PDCV, 0x09), 0x09))
{
If (LNotEqual (NPSS, Zero))
{
Load (SSDT, HNDL)
}
}
If (LEqual (And (PDCV, 0x10), 0x10))
{
If (LNotEqual (NCST, 0xFF))
{
Load (CSDT, CHDL)
}
}
}
Return (Arg3)
}
}
Method (RRIO, 4, NotSerialized)
{
Store ("RRIO", Debug)
}
Method (RDMA, 3, NotSerialized)
{
Store ("rDMA", Debug)
}
Scope (_SB)
{
Scope (PCI0)
{
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y20)
})
OperationRegion (HCNT, SystemMemory, HPTC, 0x04)
Field (HCNT, DWordAcc, NoLock, Preserve)
{
HPTS, 2,
, 5,
HPTE, 1
}
Method (_STA, 0, NotSerialized)
{
If (HPTE)
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Method (_CRS, 0, NotSerialized)
{
CreateDWordField (CRS, \_SB.PCI0.HPET._Y20._BAS, HTBS)
Multiply (HPTS, 0x1000, Local0)
Add (Local0, 0xFED00000, HTBS)
Return (CRS)
}
}
}
}
Scope (_SB)
{
Scope (PCI0)
{
Method (_INI, 0, NotSerialized)
{
}
}
}
Name (WOTB, Zero)
Name (WSSB, Zero)
Name (WAXB, Zero)
Method (_PTS, 1, NotSerialized)
{
Store (Arg0, DBG8)
If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
{
Sleep (0x0BB8)
}
PTS (Arg0)
Store (Zero, Index (WAKP, Zero))
Store (Zero, Index (WAKP, One))
Store (ASSB, WSSB)
Store (AOTB, WOTB)
Store (AAXB, WAXB)
Store (Arg0, ASSB)
Store (OSFL (), AOTB)
Store (Zero, AAXB)
Store (One, \_SB.SLPS)
}
Method (_WAK, 1, NotSerialized)
{
ShiftLeft (Arg0, 0x04, DBG8)
WAK (Arg0)
If (ASSB)
{
Store (WSSB, ASSB)
Store (WOTB, AOTB)
Store (WAXB, AAXB)
}
If (DerefOf (Index (WAKP, Zero)))
{
Store (Zero, Index (WAKP, One))
}
Else
{
Store (Arg0, Index (WAKP, One))
}
Return (WAKP)
}
Device (OMSC)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x0E11)
}
Device (_SB.RMEM)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, One)
}
Device (_SB.PCI0.SBRG.TPM)
{
Method (_HID, 0, NotSerialized)
{
If (LEqual (VIDT, 0x15D1))
{
Return (0x0201D824)
}
Else
{
Return (0x0010A35C)
}
}
Name (_CID, EisaId ("PNP0C31"))
Name (_STR, Unicode ("TPM 1.2 Device"))
Name (_UID, One)
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED40000, // Address Base
0x00005000, // Address Length
)
})
OperationRegion (TMMB, SystemMemory, 0xFED40000, 0x5000)
Field (TMMB, ByteAcc, Lock, Preserve)
{
ACCS, 8,
Offset (0x18),
TSTA, 8,
TBCA, 8,
Offset (0xF00),
TVID, 16,
TDID, 16
}
Method (_STA, 0, NotSerialized)
{
If (LEqual (VIDT, 0x8086))
{
Return (Zero)
}
Else
{
If (TPMF)
{
Return (0x0F)
}
Return (Zero)
}
}
}
Scope (_SB.PCI0.SBRG.TPM)
{
OperationRegion (TSMI, SystemIO, SMIT, 0x02)
Field (TSMI, ByteAcc, NoLock, Preserve)
{
INQ, 8,
DAT, 8
}
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
/* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
}))
{
Name (_T_0, Zero)
Store (ToInteger (Arg2), _T_0)
If (LEqual (_T_0, Zero))
{
Return (Buffer (One)
{
0x7F
})
}
Else
{
If (LEqual (_T_0, One))
{
Return ("1.0")
}
Else
{
If (LEqual (_T_0, 0x02))
{
ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
Store (0x12, TMF1)
Store (TMF1, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Store (TMF2, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Return (Zero)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Name (PPI1, Package (0x02)
{
Zero,
Zero
})
Store (0x11, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (One)
}
Store (DAT, Index (PPI1, One))
Return (PPI1)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Return (0x02)
}
Else
{
If (LEqual (_T_0, 0x05))
{
Name (PPI2, Package (0x03)
{
Zero,
Zero,
Zero
})
Store (0x21, DAT)
Store (OFST, INQ)
Store (DAT, Index (PPI2, One))
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Store (DAT, Index (PPI2, One))
Store (0x31, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
If (LEqual (DAT, 0xFFF0))
{
Store (0xFFFFFFF0, Index (PPI2, 0x02))
}
Else
{
If (LEqual (DAT, 0xFFF1))
{
Store (0xFFFFFFF1, Index (PPI2, 0x02))
}
Else
{
Store (DAT, Index (PPI2, 0x02))
}
}
Return (PPI2)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Return (Zero)
}
Else
{
}
}
}
}
}
}
}
}
Else
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
/* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
}))
{
Name (_T_1, Zero)
Store (ToInteger (Arg2), _T_1)
If (LEqual (_T_1, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Else
{
If (LEqual (_T_1, One))
{
Store (0x22, TMF1)
Store (TMF1, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
ToInteger (DerefOf (Index (Arg3, Zero)), TMF1)
Store (TMF1, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Return (Zero)
}
Else
{
}
}
}
}
Return (Buffer (One)
{
0x00
})
}
}
Scope (_SB.PCI0)
{
OperationRegion (ITPD, PCI_Config, 0xE8, 0x04)
Field (ITPD, DWordAcc, NoLock, Preserve)
{
, 15,
TPDI, 1
}
OperationRegion (TVID, SystemMemory, 0xFED40F00, 0x02)
Field (TVID, WordAcc, NoLock, Preserve)
{
VIDT, 16
}
}
Device (_SB.PCI0.ITPM)
{
Name (_HID, "INTC0102")
Name (_CID, EisaId ("PNP0C31"))
Name (_STR, Unicode ("TPM 1.2 Device"))
Name (_CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED40000, // Address Base
0x00005000, // Address Length
)
})
OperationRegion (TSMI, SystemIO, SMIT, 0x02)
Field (TSMI, ByteAcc, NoLock, Preserve)
{
INQ, 8,
DAT, 8
}
OperationRegion (TPMR, SystemMemory, 0xFED40000, 0x5000)
Field (TPMR, AnyAcc, NoLock, Preserve)
{
ACC0, 8
}
Method (_STA, 0, NotSerialized)
{
If (LNotEqual (ACC0, 0xFF))
{
If (LEqual (VIDT, 0x8086))
{
If (TPMF)
{
Return (0x0F)
}
Return (Zero)
}
}
Return (Zero)
}
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E,
/* 0008 */ 0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
}))
{
Name (_T_0, Zero)
Store (ToInteger (Arg2), _T_0)
If (LEqual (_T_0, Zero))
{
Return (Buffer (One)
{
0x7F
})
}
Else
{
If (LEqual (_T_0, One))
{
Return ("1.0")
}
Else
{
If (LEqual (_T_0, 0x02))
{
ToInteger (DerefOf (Index (Arg3, Zero)), TMF2)
Store (0x12, TMF1)
Store (TMF1, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Store (TMF2, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Return (Zero)
}
Else
{
If (LEqual (_T_0, 0x03))
{
Name (PPI1, Package (0x02)
{
Zero,
Zero
})
Store (0x11, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (One)
}
Store (DAT, Index (PPI1, One))
Return (PPI1)
}
Else
{
If (LEqual (_T_0, 0x04))
{
Return (0x02)
}
Else
{
If (LEqual (_T_0, 0x05))
{
Name (PPI2, Package (0x03)
{
Zero,
Zero,
Zero
})
Store (0x21, DAT)
Store (OFST, INQ)
Store (DAT, Index (PPI2, One))
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Store (DAT, Index (PPI2, One))
Store (0x31, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
If (LEqual (DAT, 0xFFF0))
{
Store (0xFFFFFFF0, Index (PPI2, 0x02))
}
Else
{
If (LEqual (DAT, 0xFFF1))
{
Store (0xFFFFFFF1, Index (PPI2, 0x02))
}
Else
{
Store (DAT, Index (PPI2, 0x02))
}
}
Return (PPI2)
}
Else
{
If (LEqual (_T_0, 0x06))
{
Return (Zero)
}
Else
{
}
}
}
}
}
}
}
}
Else
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46,
/* 0008 */ 0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
}))
{
Name (_T_1, Zero)
Store (ToInteger (Arg2), _T_1)
If (LEqual (_T_1, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Else
{
If (LEqual (_T_1, One))
{
Store (0x22, TMF1)
Store (TMF1, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
ToInteger (DerefOf (Index (Arg3, Zero)), TMF1)
Store (TMF1, DAT)
Store (OFST, INQ)
If (LEqual (DAT, 0xFF))
{
Return (0x02)
}
Return (Zero)
}
Else
{
}
}
}
}
Return (Buffer (One)
{
0x00
})
}
}
Scope (_SB.PCI0)
{
Device (GFX0)
{
Name (_ADR, 0x00020000)
Name (OPBS, 0xFFFFFF00)
Method (OPBA, 0, NotSerialized)
{
Store (ASLS, Local0)
If (LEqual (Local0, 0xFFFFFFFF))
{
Store (0xFF000000, Local0)
}
Return (Local0)
}
Scope (^^PCI0)
{
OperationRegion (MCHP, PCI_Config, 0x40, 0xC0)
Field (MCHP, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
TASM, 10,
Offset (0x62)
}
}
OperationRegion (IGDP, PCI_Config, 0x40, 0xC0)
Field (IGDP, AnyAcc, NoLock, Preserve)
{
Offset (0x12),
, 1,
GIVD, 1,
, 2,
GUMA, 3,
Offset (0x14),
, 4,
GMFN, 1,
Offset (0x18),
Offset (0x8C),
CDCT, 10,
Offset (0x8E),
Offset (0xA8),
GSSE, 1,
GSSB, 14,
GSES, 1,
Offset (0xBC),
ASLS, 32
}
Name (M512, 0x08)
Name (M1GB, 0x10)
OperationRegion (IGDM, SystemMemory, OPBA (), 0x2000)
Field (IGDM, AnyAcc, NoLock, Preserve)
{
SIGN, 128,
SIZE, 32,
OVER, 32,
SVER, 256,
VVER, 128,
GVER, 128,
MBOX, 32,
Offset (0xE0),
KSV0, 32,
KSV1, 8,
Offset (0xF0),
IBTT, 8,
IPSC, 8,
IPAT, 8,
IBIA, 8,
IBLC, 8,
ITVF, 4,
ITVM, 4,
IDVM, 8,
IDVS, 8,
ISSC, 8,
Offset (0x100),
DRDY, 32,
CSTS, 32,
CEVT, 32,
Offset (0x120),
DIDL, 32,
DDL2, 32,
DDL3, 32,
DDL4, 32,
DDL5, 32,
DDL6, 32,
DDL7, 32,
DDL8, 32,
CPDL, 32,
CPL2, 32,
CPL3, 32,
CPL4, 32,
CPL5, 32,
CPL6, 32,
CPL7, 32,
CPL8, 32,
CADL, 32,
CAL2, 32,
CAL3, 32,
CAL4, 32,
CAL5, 32,
CAL6, 32,
CAL7, 32,
CAL8, 32,
NADL, 32,
NDL2, 32,
NDL3, 32,
NDL4, 32,
NDL5, 32,
NDL6, 32,
NDL7, 32,
NDL8, 32,
ASLP, 32,
TIDX, 32,
CHPD, 32,
CLID, 32,
CDCK, 32,
SXSW, 32,
EVTS, 32,
CNOT, 32,
NRDY, 32,
Offset (0x200),
SCIE, 1,
GEFC, 4,
GXFC, 3,
GESF, 8,
Offset (0x204),
PARM, 32,
DSLP, 32,
Offset (0x300),
ARDY, 32,
ASLC, 32,
TCHE, 32,
ALSI, 32,
BCLP, 32,
PFIT, 32,
CBLV, 32,
BCLM, 320,
CPFM, 32,
EPFM, 32,
Offset (0x400),
GVD1, 57344
}
OperationRegion (TCOI, SystemIO, TOBS, 0x08)
Field (TCOI, WordAcc, NoLock, Preserve)
{
Offset (0x04),
, 9,
SCIS, 1,
Offset (0x06)
}
Name (DBTB, Package (0x15)
{
Zero,
0x07,
0x38,
0x01C0,
0x0E00,
0x3F,
0x01C7,
0x0E07,
0x01F8,
0x0E38,
0x0FC0,
Zero,
Zero,
Zero,
Zero,
Zero,
0x7000,
0x7007,
0x7038,
0x71C0,
0x7E00
})
Method (GSCI, 0, NotSerialized)
{
If (LEqual (GEFC, 0x04))
{
Store (GBDA (), GXFC)
}
If (LEqual (GEFC, 0x06))
{
Store (SBCB (), GXFC)
}
Store (One, SCIS)
Store (Zero, GEFC)
Store (Zero, GSSE)
Store (Zero, SCIE)
Return (Zero)
}
Method (GBDA, 0, NotSerialized)
{
If (LEqual (GESF, Zero))
{
Store (0x0679, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, One))
{
Store (0x0240, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x04))
{
And (PARM, 0xEFFF0000, PARM)
And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),
PARM)
Or (IBTT, PARM, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x05))
{
Store (IPSC, PARM)
Or (PARM, ShiftLeft (IPAT, 0x08), PARM)
Add (PARM, 0x0100, PARM)
Or (PARM, ShiftLeft (LDST, 0x10), PARM)
XOr (PARM, 0x00010000, PARM)
Or (PARM, ShiftLeft (IBIA, 0x14), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x06))
{
Store (ITVF, PARM)
Or (PARM, ShiftLeft (ITVM, 0x04), PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x07))
{
Name (MEMS, 0x0D)
Store (GIVD, PARM)
XOr (PARM, One, PARM)
Or (PARM, ShiftLeft (GMFN, One), PARM)
Or (PARM, 0x1800, PARM)
Or (ShiftLeft (CDCT, 0x15), PARM, PARM)
If (LEqual (IDVM, One))
{
Store (0x11, MEMS)
}
Or (PARM, ShiftLeft (IDVS, MEMS), PARM)
Store (One, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0A))
{
Store (Zero, PARM)
If (ISSC)
{
Or (PARM, 0x03, PARM)
}
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x0B))
{
Store (KSV0, PARM)
Store (KSV1, GESF)
Return (SUCC)
}
Store (Zero, GESF)
Return (CRIT)
}
Method (SBCB, 0, NotSerialized)
{
If (LEqual (GESF, Zero))
{
Store (0x20, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, One))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x03))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x04))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x05))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x06))
{
ShiftRight (PARM, 0x1C, Local0)
If (LEqual (Local0, Zero))
{
And (PARM, 0x0F, ITVF)
And (PARM, 0xF0, ITVM)
}
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x07))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x08))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x09))
{
And (PARM, 0xFF, IBTT)
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x0A))
{
ShiftRight (PARM, 0x1C, Local0)
If (LEqual (Local0, Zero))
{
And (PARM, 0xFF, IPSC)
Subtract (And (ShiftRight (PARM, 0x08), 0xFF), One, IPAT)
And (ShiftRight (PARM, 0x12), 0x03, IBLC)
And (ShiftRight (PARM, 0x14), 0x07, IBIA)
}
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x0B))
{
If (LEqual (And (ShiftRight (PARM, 0x0B), 0x03), 0x02))
{
And (ShiftRight (PARM, 0x0D), 0x0F, Local0)
And (ShiftRight (PARM, 0x11), 0x0F, Local1)
If (Local0)
{
Store (Zero, IDVM)
Store (Local0, IDVS)
}
If (Local1)
{
Store (One, IDVM)
Store (Local1, IDVS)
}
}
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x10))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x11))
{
Store (ShiftLeft (LDST, 0x08), PARM)
Add (PARM, 0x0100, PARM)
NAnd (PARM, 0x0200, PARM)
Store (Zero, GESF)
Return (SUCC)
}
If (LEqual (GESF, 0x12))
{
If (And (PARM, One))
{
If (LEqual (ShiftRight (PARM, One), One))
{
Store (One, ISSC)
}
Else
{
Store (Zero, GESF)
Return (CRIT)
}
}
Else
{
Store (Zero, ISSC)
}
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
If (LEqual (GESF, 0x13))
{
Store (Zero, GESF)
Store (Zero, PARM)
Return (SUCC)
}
Store (Zero, GESF)
Return (SUCC)
}
Method (OPTS, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (ASLS, OPBS)
}
}
Method (OWAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x03))
{
Store (OPBS, ASLS)
Store (One, GSES)
}
}
}
}
Scope (_GPE)
{
Method (_L06, 0, NotSerialized)
{
\_SB.PCI0.GFX0.GSCI ()
}
}
Scope (_SB)
{
OperationRegion (SMIR, SystemIO, ITKM, 0x08)
Field (SMIR, ByteAcc, NoLock, Preserve)
{
, 1,
, 3,
SE, 1,
Offset (0x04),
, 4,
SS, 1
}
Method (ITKS, 1, NotSerialized)
{
Store (One, SS)
If (LEqual (Arg0, 0x05))
{
Store (One, SE)
}
Else
{
Store (Zero, SE)
}
}
Method (ITKW, 1, NotSerialized)
{
Store (Zero, SE)
Store (One, SS)
}
}
Name (_S0, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
If (SS3)
{
Name (_S3, Package (0x04)
{
0x05,
Zero,
Zero,
Zero
})
}
If (SS4)
{
Name (_S4, Package (0x04)
{
0x06,
Zero,
Zero,
Zero
})
}
Name (_S5, Package (0x04)
{
0x07,
Zero,
Zero,
Zero
})
Method (PTS, 1, NotSerialized)
{
If (Arg0)
{
\_SB.PCI0.SBRG.SPTS (Arg0)
\_SB.PCI0.SBRG.IOKS (Arg0)
\_SB.PCI0.PEX0.SPRT (Arg0)
\_SB.PCI0.PEX1.SPRT (Arg0)
\_SB.PCI0.PEX2.SPRT (Arg0)
\_SB.PCI0.PEX3.SPRT (Arg0)
\_SB.PCI0.PEX4.SPRT (Arg0)
\_SB.PCI0.PEX5.SPRT (Arg0)
\_SB.PCI0.PEX6.SPRT (Arg0)
\_SB.PCI0.PEX7.SPRT (Arg0)
\_SB.PCI0.GFX0.OPTS (Arg0)
\_SB.PCI0.SBRG.SIOS (Arg0)
}
}
Method (WAK, 1, NotSerialized)
{
\_SB.PCI0.SBRG.SWAK (Arg0)
\_SB.PCI0.SBRG.IOKW (Arg0)
If (\_SB.PCI0.PEX0.PMS)
{
\_SB.PCI0.PEX0.WPRT (Arg0)
Notify (\_SB.PCI0.PEX0, 0x02)
}
Else
{
\_SB.PCI0.PEX0.WPRT (Arg0)
}
If (\_SB.PCI0.PEX1.PMS)
{
\_SB.PCI0.PEX1.WPRT (Arg0)
Notify (\_SB.PCI0.PEX1, 0x02)
}
Else
{
\_SB.PCI0.PEX1.WPRT (Arg0)
}
If (\_SB.PCI0.PEX2.PMS)
{
\_SB.PCI0.PEX2.WPRT (Arg0)
Notify (\_SB.PCI0.PEX2, 0x02)
}
Else
{
\_SB.PCI0.PEX2.WPRT (Arg0)
}
If (\_SB.PCI0.PEX3.PMS)
{
\_SB.PCI0.PEX3.WPRT (Arg0)
Notify (\_SB.PCI0.PEX3, 0x02)
}
Else
{
\_SB.PCI0.PEX3.WPRT (Arg0)
}
If (\_SB.PCI0.PEX4.PMS)
{
\_SB.PCI0.PEX4.WPRT (Arg0)
Notify (\_SB.PCI0.PEX4, 0x02)
}
Else
{
\_SB.PCI0.PEX4.WPRT (Arg0)
}
If (\_SB.PCI0.PEX5.PMS)
{
\_SB.PCI0.PEX5.WPRT (Arg0)
Notify (\_SB.PCI0.PEX5, 0x02)
}
Else
{
\_SB.PCI0.PEX5.WPRT (Arg0)
}
If (\_SB.PCI0.PEX6.PMS)
{
\_SB.PCI0.PEX6.WPRT (Arg0)
Notify (\_SB.PCI0.PEX6, 0x02)
}
Else
{
\_SB.PCI0.PEX6.WPRT (Arg0)
}
If (\_SB.PCI0.PEX7.PMS)
{
\_SB.PCI0.PEX7.WPRT (Arg0)
Notify (\_SB.PCI0.PEX7, 0x02)
}
Else
{
\_SB.PCI0.PEX7.WPRT (Arg0)
}
\_SB.PCI0.GFX0.OWAK (Arg0)
\_SB.PCI0.SBRG.SIOW (Arg0)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment