Mine
public text v1 · immutable/*
* Intel ACPI Component Architecture
* AML Disassembler version 20060608
*
* Disassembly of dsdt.aml, Wed Dec 27 10:24:21 2006
*
*
* Original Table Header:
* Signature "DSDT"
* Length 0x000030F2 (12530)
* Revision 0x01
* OEM ID "DELL"
* OEM Table ID "dt_ex"
* OEM Revision 0x00001000 (4096)
* Creator ID "MSFT"
* Creator Revision 0x0100000D (16777229)
*/
DefinitionBlock ("dsdt.aml", "DSDT", 1, "DELL", "dt_ex", 0x00001000)
{
Method (DBIN, 0, NotSerialized)
{
Noop
}
Scope (\)
{
Device (\_SB.VBTN)
{
Name (_HID, EisaId ("PNP0C0C"))
Name (_PRW, Package (0x02)
{
0x01,
0x04
})
}
OperationRegion (\SSTS, SystemIO, 0x0828, 0x01)
Field (\SSTS, ByteAcc, NoLock, WriteAsZeros)
{
TSTS, 1
}
OperationRegion (\SACT, SystemIO, 0x082A, 0x01)
Field (\SACT, ByteAcc, NoLock, WriteAsZeros)
{
, 2,
TPOL, 1
}
}
Scope (\_GPE)
{
Method (_L00, 0, NotSerialized)
{
Store (0x00, TPOL)
Store (0x01, TSTS)
Notify (\_SB.VBTN, 0x02)
}
}
Scope (\_SB)
{
Method (_INI, 0, NotSerialized)
{
If (CondRefOf (_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x04, MSOS)
}
}
}
}
Scope (\)
{
Name (MSOS, 0x00)
Mutex (MTX, 0x01)
Method (CMRD, 1, NotSerialized)
{
Acquire (SMIM, 0xFFFF)
Store (Arg0, Local0)
And (Local0, 0x7F, Local0)
Store (Local0, SMID)
Store (0x84, SMIC)
Store (0x85, SMIC)
Store (SMID, Local0)
Release (SMIM)
Return (Local0)
}
Method (CMWR, 2, NotSerialized)
{
Acquire (SMIM, 0xFFFF)
Store (Arg0, Local0)
Or (Local0, 0x80, Local0)
Store (Local0, SMID)
Store (0x84, SMIC)
Store (Arg1, SMID)
Store (0x85, SMIC)
Release (SMIM)
}
Method (GCKB, 0, NotSerialized)
{
Return (And (0x20, CMRD (0x26)))
}
Method (GCMS, 0, NotSerialized)
{
Return (And (0x40, CMRD (0x6F)))
}
Method (GCON, 0, NotSerialized)
{
Return (And (0x04, CMRD (0x55)))
}
Method (GCUC, 0, NotSerialized)
{
Return (XOr (0x01, CMRD (0x22)))
}
Method (GCS1, 0, NotSerialized)
{
Return (And (0x03, CMRD (0x25)))
}
Method (GCS2, 0, NotSerialized)
{
Return (And (0x0C, CMRD (0x25)))
}
Method (GCFD, 0, NotSerialized)
{
Return (And (0x18, CMRD (0x55)))
}
Method (GCPP, 0, NotSerialized)
{
Return (And (0x70, CMRD (0x23)))
}
Method (GCTP, 0, NotSerialized)
{
Return (And (0x40, CMRD (0x22)))
}
Method (GCNC, 0, NotSerialized)
{
Return (And (0x03, CMRD (0x59)))
}
Method (HACK, 0, NotSerialized)
{
If (LEqual (MSOS, 0x04))
{
Store (CMRD (0x6F), Local0)
Or (Local0, 0x04, Local0)
CMWR (0x6F, Local0)
Return (One)
}
Else
{
Store (CMRD (0x6F), Local0)
And (Local0, 0xFB, Local0)
CMWR (0x6F, Local0)
}
Add (SizeOf (\_OS), 0x01, Local0)
Store (Local0, Local1)
Name (BUF0, Buffer (Local0) {})
Name (BUF1, Buffer (Local0) {})
Name (OSNT, 0x01)
Name (OS98, 0x01)
Store (\_OS, BUF0)
Store ("Microsoft Windows NT", BUF1)
While (Local0)
{
Decrement (Local0)
If (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1,
Local0)))) {}
Else
{
Store (0x00, OSNT)
}
}
If (OSNT)
{
Store (0x03, MSOS)
Return (One)
}
Else
{
Store ("Microsoft Windows", BUF1)
While (Local1)
{
Decrement (Local1)
If (LEqual (DerefOf (Index (BUF0, Local1)), DerefOf (Index (BUF1,
Local1)))) {}
Else
{
Store (0x00, OS98)
}
}
If (OS98)
{
Store (0x01, MSOS)
Return (Zero)
}
Else
{
Store (0x02, MSOS)
Return (Zero)
}
}
}
Method (ISLI, 0, NotSerialized)
{
If (CondRefOf (_OSI, Local0))
{
If (\_OSI ("Linux"))
{
Return (One)
}
Else
{
Return (Zero)
}
}
Else
{
Return (Zero)
}
}
}
Scope (\_SB)
{
}
OperationRegion (CMS, SystemIO, 0x70, 0x02)
Field (CMS, ByteAcc, NoLock, Preserve)
{
CMSI, 8,
CMSD, 8
}
OperationRegion (SMIR, SystemIO, 0xB2, 0x02)
Field (SMIR, ByteAcc, NoLock, Preserve)
{
SMIC, 8,
SMID, 8
}
OperationRegion (PM1R, SystemIO, 0x0800, 0x04)
Field (PM1R, ByteAcc, NoLock, Preserve)
{
PMS1, 8,
PMS2, 8,
PME1, 8,
PME2, 8
}
OperationRegion (GLBC, SystemIO, 0x0828, 0x06)
Field (GLBC, ByteAcc, NoLock, Preserve)
{
THRP, 8,
GLBT, 8,
EOS, 8,
LIDP, 8,
THME, 8,
RIEN, 8
}
OperationRegion (PXY0, SystemIO, 0x0929, 0x01)
Field (PXY0, ByteAcc, NoLock, Preserve)
{
, 1,
CHAS, 3,
Offset (0x01)
}
OperationRegion (SIO, SystemIO, 0x2E, 0x02)
Field (SIO, ByteAcc, NoLock, Preserve)
{
SIOI, 8,
SIOD, 8
}
OperationRegion (PMES, SystemIO, 0x0C00, 0x01)
Field (PMES, ByteAcc, NoLock, Preserve)
{
GSTS, 8
}
Mutex (SMIM, 0x01)
Method (SMI2, 1, NotSerialized)
{
Acquire (SMIM, 0xFFFF)
Store (Arg0, SMIC)
Store (SMIC, Local0)
Store (SMID, Local0)
ShiftLeft (Local0, 0x08, Local0)
Add (SMIC, Local0, Local0)
Release (SMIM)
Return (Local0)
}
Method (SMI4, 1, NotSerialized)
{
Add (Arg0, 0x01, Local0)
Store (SMI2 (Arg0), Local2)
Store (SMI2 (Local0), Local1)
ShiftLeft (Local1, 0x10, Local1)
Add (Local1, Local2, Local0)
Return (Local0)
}
Method (GTMR, 0, NotSerialized)
{
Return (SMI4 (0x78))
}
Method (GTML, 0, NotSerialized)
{
Return (SMI4 (0x74))
}
Method (GTMH, 0, NotSerialized)
{
Return (SMI4 (0x76))
}
Method (GTOM, 0, NotSerialized)
{
Return (SMI4 (0x81))
}
Method (GUSB, 0, NotSerialized)
{
If (ISLI ())
{
Return (0x00)
}
Else
{
Return (SMI2 (0xBA))
}
}
Scope (\_PR)
{
Processor (CPU0, 0x01, 0x00000810, 0x06) {}
Processor (CPU1, 0x02, 0x00000000, 0x00) {}
}
Scope (\)
{
Name (SSTX, 0x00)
Method (\_PTS, 1, NotSerialized)
{
PSKM (Arg0)
}
}
Method (\_GPE._L08, 0, NotSerialized)
{
GPKM ()
If (Not (LEqual (SSTX, 0x01)))
{
Notify (\_SB.VBTN, 0x02)
}
Notify (\_SB.PCI0.ISA.KBD, 0x02)
}
Method (\_GPE._L09, 0, NotSerialized)
{
XOr (GLBT, 0x02, GLBT)
Or (PME2, 0x01, PME2)
If (LEqual (\_SB.PCI0.PCI2.XME2 (), 0x01))
{
Notify (\_SB.PCI0.PCI2, 0x02)
}
If (LEqual (\_SB.PCI0.PCI3.XME3 (), 0x01))
{
Notify (\_SB.PCI0.PCI3, 0x02)
}
If (LEqual (\_SB.PCI0.PCI4.XME4 (), 0x01))
{
Notify (\_SB.PCI0.PCI4, 0x02)
}
}
Method (\_WAK, 1, NotSerialized)
{
If (LEqual (Arg0, 0x04))
{
GUSB ()
}
If (Or (And (PMS2, 0x01), Or (And (LNot (HACK ()),
And (GLBT, 0x11)), And (LNot (HACK ()), And (THRP, 0x18
)))))
{
Notify (\_SB.VBTN, 0x02)
}
Return (Zero)
}
Scope (\_SI)
{
Method (_SST, 1, NotSerialized)
{
Store (Arg0, SSTX)
If (LEqual (Arg0, 0x03))
{
And (LED2, 0xFD, LED2)
}
If (LEqual (Arg0, 0x01))
{
Or (LED2, 0x02, LED2)
}
}
}
Scope (\_SB)
{
Device (PCI0)
{
Name (_HID, EisaId ("PNP0A03"))
Name (_UID, 0x04)
Name (_ADR, 0x00)
Name (_PRW, Package (0x02)
{
0x0D,
0x05
})
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Name (PIC0, Package (0x0C)
{
Package (0x04)
{
0x0001FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0x001FFFFF,
0x02,
LNKE,
0x00
},
Package (0x04)
{
0x001EFFFF,
0x00,
LNKH,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x00,
LNKF,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x01,
LNKG,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0x001DFFFF,
0x03,
LNKH,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x001CFFFF,
0x01,
LNKB,
0x00
}
})
Name (API0, Package (0x0C)
{
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001FFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001FFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0x001FFFFF,
0x02,
0x00,
0x14
},
Package (0x04)
{
0x001EFFFF,
0x00,
0x00,
0x17
},
Package (0x04)
{
0x001DFFFF,
0x00,
0x00,
0x15
},
Package (0x04)
{
0x001DFFFF,
0x01,
0x00,
0x16
},
Package (0x04)
{
0x001DFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0x001DFFFF,
0x03,
0x00,
0x17
},
Package (0x04)
{
0x001CFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x001CFFFF,
0x01,
0x00,
0x11
}
})
Device (PCI1)
{
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S4D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S5D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_ADR, 0, NotSerialized)
{
Store (0x001E0000, Local0)
Return (Local0)
}
Name (_UID, 0x07)
Name (_PRW, Package (0x02)
{
0x0B,
0x05
})
Name (PIC1, Package (0x11)
{
Package (0x04)
{
0x0007FFFF,
0x00,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0x0001FFFF,
0x03,
LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x00,
LNKC,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x01,
LNKD,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x02,
LNKA,
0x00
},
Package (0x04)
{
0x0002FFFF,
0x03,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x02,
LNKB,
0x00
},
Package (0x04)
{
0x0003FFFF,
0x03,
LNKD,
0x00
}
})
Name (API1, Package (0x11)
{
Package (0x04)
{
0x0007FFFF,
0x00,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
},
Package (0x04)
{
0x0001FFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0x0001FFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0x0001FFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0x0001FFFF,
0x03,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x00,
0x00,
0x12
},
Package (0x04)
{
0x0002FFFF,
0x01,
0x00,
0x13
},
Package (0x04)
{
0x0002FFFF,
0x02,
0x00,
0x10
},
Package (0x04)
{
0x0002FFFF,
0x03,
0x00,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0x0003FFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0x0003FFFF,
0x02,
0x00,
0x11
},
Package (0x04)
{
0x0003FFFF,
0x03,
0x00,
0x13
}
})
Method (_PRT, 0, NotSerialized)
{
Store (API1, Local0)
If (LNot (PICF))
{
Store (PIC1, Local0)
}
Return (Local0)
}
}
Device (PCI2)
{
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S4D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S5D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_ADR, 0, NotSerialized)
{
Store (0x001C0000, Local0)
Return (Local0)
}
Name (_UID, 0x16)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
OperationRegion (RSTS, PCI_Config, 0x60, 0x04)
Field (RSTS, ByteAcc, NoLock, Preserve)
{
PID0, 8,
PID1, 8,
PMXS, 8,
PNUS, 8
}
Method (XME2, 0, NotSerialized)
{
Store (PMXS, Local0)
And (Local0, 0x01, Local0)
Store (Local0, PMXS)
Return (Local0)
}
Name (PIC2, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (API2, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
Method (_PRT, 0, NotSerialized)
{
Store (API2, Local0)
If (LNot (PICF))
{
Store (PIC2, Local0)
}
Return (Local0)
}
}
Device (PCI3)
{
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S4D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S5D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_ADR, 0, NotSerialized)
{
Store (0x001C0001, Local0)
Return (Local0)
}
Name (_UID, 0x18)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
OperationRegion (RSTS, PCI_Config, 0x60, 0x04)
Field (RSTS, ByteAcc, NoLock, Preserve)
{
PID0, 8,
PID1, 8,
PMXS, 8,
PNUS, 8
}
Method (XME3, 0, NotSerialized)
{
Store (PMXS, Local0)
And (Local0, 0x01, Local0)
Store (Local0, PMXS)
Return (Local0)
}
Name (PIC3, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKD,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKA,
0x00
}
})
Name (API3, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x13
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x10
}
})
Method (_PRT, 0, NotSerialized)
{
Store (API3, Local0)
If (LNot (PICF))
{
Store (PIC3, Local0)
}
Return (Local0)
}
}
Device (PCI4)
{
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S4D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_S5D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
Method (_ADR, 0, NotSerialized)
{
Store (0x00010000, Local0)
Return (Local0)
}
Name (_UID, 0x19)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
OperationRegion (RSTS, PCI_Config, 0xC0, 0x04)
Field (RSTS, ByteAcc, NoLock, Preserve)
{
PID0, 8,
PID1, 8,
PMXS, 8,
PNUS, 8
}
Method (XME4, 0, NotSerialized)
{
Store (PMXS, Local0)
And (Local0, 0x01, Local0)
Store (Local0, PMXS)
Return (Local0)
}
Name (PIC4, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
LNKA,
0x00
},
Package (0x04)
{
0xFFFF,
0x01,
LNKB,
0x00
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
0x00
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
0x00
}
})
Name (API4, Package (0x04)
{
Package (0x04)
{
0xFFFF,
0x00,
0x00,
0x10
},
Package (0x04)
{
0xFFFF,
0x01,
0x00,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
0x00,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
0x00,
0x13
}
})
Method (_PRT, 0, NotSerialized)
{
Store (API4, Local0)
If (LNot (PICF))
{
Store (PIC4, Local0)
}
Return (Local0)
}
}
}
}
Scope (\)
{
Method (\_GPE._L03, 0, NotSerialized)
{
If (Not (LEqual (SSTX, 0x01)))
{
Notify (\_SB.VBTN, 0x02)
}
Sleep (0x14)
XOr (THRP, 0x08, THRP)
Or (PME2, 0x01, PME2)
Notify (\_SB.PCI0.USB0, 0x02)
}
Method (\_GPE._L04, 0, NotSerialized)
{
If (Not (LEqual (SSTX, 0x01)))
{
Notify (\_SB.VBTN, 0x02)
}
Sleep (0x14)
XOr (THRP, 0x10, THRP)
Or (PME2, 0x01, PME2)
Notify (\_SB.PCI0.USB1, 0x02)
}
Method (\_GPE._L0C, 0, NotSerialized)
{
If (Not (LEqual (SSTX, 0x01)))
{
Notify (\_SB.VBTN, 0x02)
}
Sleep (0x14)
XOr (GLBT, 0x10, GLBT)
Or (PME2, 0x01, PME2)
Notify (\_SB.PCI0.USB2, 0x02)
}
Method (\_GPE._L0E, 0, NotSerialized)
{
If (Not (LEqual (SSTX, 0x01)))
{
Notify (\_SB.VBTN, 0x02)
}
Sleep (0x14)
XOr (GLBT, 0x40, GLBT)
Or (PME2, 0x01, PME2)
Notify (\_SB.PCI0.USB3, 0x02)
}
Method (\_GPE._L0D, 0, NotSerialized)
{
If (Not (LEqual (SSTX, 0x01)))
{
Notify (\_SB.VBTN, 0x02)
}
Sleep (0x14)
XOr (GLBT, 0x20, GLBT)
Or (PME2, 0x01, PME2)
Notify (\_SB.PCI0, 0x02)
}
Method (\_GPE._L0B, 0, NotSerialized)
{
XOr (GLBT, 0x08, GLBT)
Or (PME2, 0x01, PME2)
Notify (\_SB.PCI0.PCI1, 0x02)
}
}
Scope (\_SB.PCI0)
{
Device (ISA)
{
Name (_ADR, 0x001F0000)
Name (_UID, 0x0A)
OperationRegion (P40C, PCI_Config, 0x60, 0x04)
OperationRegion (P41C, PCI_Config, 0x68, 0x04)
Device (MBIO)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x0B)
Method (_CRS, 0, NotSerialized)
{
Name (MIO1, ResourceTemplate ()
{
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x0B, // Length
)
IO (Decode16,
0x00E0, // Range Minimum
0x00E0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x60, // Length
)
IO (Decode16,
0x0C00, // Range Minimum
0x0C00, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0860, // Range Minimum
0x0860, // Range Maximum
0x01, // Alignment
0xA0, // Length
)
})
Name (MIO2, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0062, // Range Minimum
0x0062, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0065, // Range Minimum
0x0065, // Range Maximum
0x01, // Alignment
0x0B, // Length
)
IO (Decode16,
0x00E0, // Range Minimum
0x00E0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IO (Decode16,
0x0800, // Range Minimum
0x0800, // Range Maximum
0x01, // Alignment
0x60, // Length
)
IO (Decode16,
0x0C00, // Range Minimum
0x0C00, // Range Maximum
0x01, // Alignment
0x80, // Length
)
IO (Decode16,
0x0860, // Range Minimum
0x0860, // Range Maximum
0x01, // Alignment
0xA0, // Length
)
})
If (Or (GCKB (), GCMS ()))
{
Return (MIO1)
}
Else
{
Return (MIO2)
}
}
}
}
}
Scope (\_SB.PCI0)
{
Device (USB0)
{
Name (_ADR, 0x001D0000)
Name (_UID, 0x05)
Name (_PRW, Package (0x02)
{
0x03,
0x03
})
OperationRegion (UPC1, PCI_Config, 0xC1, 0x01)
Field (UPC1, ByteAcc, NoLock, Preserve)
{
LEGK, 8
}
Method (_INI, 0, NotSerialized)
{
If (HACK ()) {}
Else
{
Store (LEGK, Local0)
And (Local0, 0x60, Local0)
Or (Local0, 0x20, Local0)
Store (Local0, LEGK)
}
GUSB ()
}
Method (_STA, 0, NotSerialized)
{
If (GCUC ())
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
}
Device (USB1)
{
Name (_ADR, 0x001D0001)
Name (_UID, 0x06)
Name (_PRW, Package (0x02)
{
0x04,
0x03
})
OperationRegion (UPC1, PCI_Config, 0xC1, 0x01)
Field (UPC1, ByteAcc, NoLock, Preserve)
{
LEGK, 8
}
Method (_INI, 0, NotSerialized)
{
If (HACK ()) {}
Else
{
Store (LEGK, Local0)
And (Local0, 0x60, Local0)
Or (Local0, 0x20, Local0)
Store (Local0, LEGK)
}
}
Method (_STA, 0, NotSerialized)
{
If (GCUC ())
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
}
Device (USB2)
{
Name (_ADR, 0x001D0002)
Name (_UID, 0x14)
Name (_PRW, Package (0x02)
{
0x0C,
0x03
})
OperationRegion (UPC1, PCI_Config, 0xC1, 0x01)
Field (UPC1, ByteAcc, NoLock, Preserve)
{
LEGK, 8
}
Method (_INI, 0, NotSerialized)
{
If (HACK ()) {}
Else
{
Store (LEGK, Local0)
And (Local0, 0x60, Local0)
Or (Local0, 0x20, Local0)
Store (Local0, LEGK)
}
}
Method (_STA, 0, NotSerialized)
{
If (GCUC ())
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
}
Device (USB3)
{
Name (_ADR, 0x001D0003)
Name (_UID, 0x15)
Name (_PRW, Package (0x02)
{
0x0E,
0x03
})
OperationRegion (UPC1, PCI_Config, 0xC1, 0x01)
Field (UPC1, ByteAcc, NoLock, Preserve)
{
LEGK, 8
}
Method (_INI, 0, NotSerialized)
{
If (HACK ()) {}
Else
{
Store (LEGK, Local0)
And (Local0, 0x60, Local0)
Or (Local0, 0x20, Local0)
Store (Local0, LEGK)
}
}
Method (_STA, 0, NotSerialized)
{
If (GCUC ())
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_S1D, 0, NotSerialized)
{
Return (0x01)
}
Method (_S3D, 0, NotSerialized)
{
If (HACK ())
{
Return (0x03)
}
Else
{
Return (0x02)
}
}
}
}
Scope (\)
{
Name (PICF, 0x00)
Method (_PIC, 1, NotSerialized)
{
Store (Arg0, PICF)
}
}
Scope (\_SB.PCI0)
{
Method (_PRT, 0, NotSerialized)
{
Store (API0, Local0)
If (LNot (PICF))
{
Store (PIC0, Local0)
}
Return (Local0)
}
Method (_CRS, 0, NotSerialized)
{
Name (MEMP, ResourceTemplate ()
{
WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
0x0000, // Granularity
0x0000, // Range Minimum
0x00FF, // Range Maximum
0x0000, // Translation Offset
0x0100, // Length
,, )
IO (Decode16,
0x0CF8, // Range Minimum
0x0CF8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0000, // Range Minimum
0x0CF7, // Range Maximum
0x0000, // Translation Offset
0x0CF8, // Length
,, , TypeStatic)
WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
0x0000, // Granularity
0x0D00, // Range Minimum
0xFFFF, // Range Maximum
0x0000, // Translation Offset
0xF300, // Length
,, , TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x000A0000, // Range Minimum
0x000BFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00020000, // Length
,, , AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0x00000000, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _X00, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xDFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length
,, _X01, AddressRangeMemory, TypeStatic)
DWordMemory (ResourceProducer, PosDecode, MinNotFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0xF0000000, // Range Minimum
0xFEBFFFFF, // Range Maximum
0x00000000, // Translation Offset
0x0EC00000, // Length
,, , AddressRangeMemory, TypeStatic)
})
CreateDWordField (MEMP, \_SB.PCI0._CRS._X00._MIN, PMIN)
CreateDWordField (MEMP, \_SB.PCI0._CRS._X00._MAX, PMAX)
CreateDWordField (MEMP, \_SB.PCI0._CRS._X00._LEN, PLEN)
If (LNot (HACK ()))
{
Store (0x000C8000, PMIN)
Store (0x000DFFFF, PMAX)
Store (0x00018000, PLEN)
}
CreateDWordField (MEMP, \_SB.PCI0._CRS._X01._MIN, MEMM)
CreateDWordField (MEMP, \_SB.PCI0._CRS._X01._LEN, MEML)
Store (GTOM (), MEMM)
Subtract (0xDFFFFFFF, MEMM, MEML)
Increment (MEML)
Return (MEMP)
}
}
Scope (\_SB.PCI0.ISA)
{
Device (DMA)
{
Name (_HID, EisaId ("PNP0200"))
Method (_CRS, 0, NotSerialized)
{
Name (DMAB, ResourceTemplate ()
{
IO (Decode16,
0x0080, // Range Minimum
0x0080, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x00C0, // Range Minimum
0x00C0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
DMA (Compatibility, NotBusMaster, Transfer16, )
{4}
})
Return (DMAB)
}
}
}
Scope (\_SB.PCI0.ISA)
{
Device (FPU)
{
Name (_HID, EisaId ("PNP0C04"))
Method (_CRS, 0, NotSerialized)
{
Name (FPUB, ResourceTemplate ()
{
IO (Decode16,
0x00F0, // Range Minimum
0x00F0, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IRQNoFlags ()
{13}
})
Return (FPUB)
}
}
}
Scope (\_SB.PCI0.ISA)
{
Device (PIC)
{
Name (_HID, EisaId ("PNP0000"))
Method (_CRS, 0, NotSerialized)
{
Name (PICB, ResourceTemplate ()
{
IO (Decode16,
0x0020, // Range Minimum
0x0020, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x00A0, // Range Minimum
0x00A0, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IO (Decode16,
0x04D0, // Range Minimum
0x04D0, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IRQNoFlags ()
{2}
})
Return (PICB)
}
}
}
Scope (\_SB.PCI0.ISA)
{
Device (SPK)
{
Name (_HID, EisaId ("PNP0800"))
Method (_CRS, 0, NotSerialized)
{
Name (SPKB, ResourceTemplate ()
{
IO (Decode16,
0x0061, // Range Minimum
0x0061, // Range Maximum
0x01, // Alignment
0x01, // Length
)
})
Return (SPKB)
}
}
}
Scope (\_SB.PCI0.ISA)
{
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Method (_CRS, 0, NotSerialized)
{
Name (RTCB, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x01, // Alignment
0x10, // Length
)
IRQNoFlags ()
{8}
})
Return (RTCB)
}
}
}
Scope (\_SB.PCI0.ISA)
{
Device (TMR)
{
Name (_HID, EisaId ("PNP0100"))
Method (_CRS, 0, NotSerialized)
{
Name (TMRB, ResourceTemplate ()
{
IO (Decode16,
0x0040, // Range Minimum
0x0040, // Range Maximum
0x01, // Alignment
0x20, // Length
)
IRQNoFlags ()
{0}
})
Return (TMRB)
}
}
}
Scope (\_SB)
{
Field (\_SB.PCI0.ISA.P40C, ByteAcc, NoLock, Preserve)
{
PRQ0, 8,
PRQ1, 8,
PRQ2, 8,
PRQ3, 8
}
Field (\_SB.PCI0.ISA.P41C, ByteAcc, NoLock, Preserve)
{
PRQ4, 8,
PRQ5, 8,
PRQ6, 8,
PRQ7, 8
}
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0C)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ0, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ0, 0x80, PRQ0)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR0, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X02)
{4}
})
CreateWordField (PRR0, \_SB.LNKA._CRS._X02._INT, IQR)
Store (PRQ0, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR0)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ0)
}
}
Device (LNKB)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0D)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ1, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ1, 0x80, PRQ1)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR1, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X03)
{4}
})
CreateWordField (PRR1, \_SB.LNKB._CRS._X03._INT, IQR)
Store (PRQ1, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR1)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ1)
}
}
Device (LNKC)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0E)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ2, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ2, 0x80, PRQ2)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR2, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X04)
{4}
})
CreateWordField (PRR2, \_SB.LNKC._CRS._X04._INT, IQR)
Store (PRQ2, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR2)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ2)
}
}
Device (LNKD)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x0F)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ3, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ3, 0x80, PRQ3)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR3, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X05)
{4}
})
CreateWordField (PRR3, \_SB.LNKD._CRS._X05._INT, IQR)
Store (PRQ3, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR3)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ3)
}
}
Device (LNKE)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x10)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ4, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ4, 0x80, PRQ4)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR4, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X06)
{4}
})
CreateWordField (PRR4, \_SB.LNKE._CRS._X06._INT, IQR)
Store (PRQ4, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR4)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ4)
}
}
Device (LNKF)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x11)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ5, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ5, 0x80, PRQ5)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR5, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X07)
{4}
})
CreateWordField (PRR5, \_SB.LNKF._CRS._X07._INT, IQR)
Store (PRQ5, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR5)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ5)
}
}
Device (LNKG)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x12)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ6, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ6, 0x80, PRQ6)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR6, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X08)
{4}
})
CreateWordField (PRR6, \_SB.LNKG._CRS._X08._INT, IQR)
Store (PRQ6, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR6)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ6)
}
}
Device (LNKH)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, 0x13)
Name (_PRS, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,15}
})
Method (_STA, 0, NotSerialized)
{
Store (0x0B, Local0)
If (And (0x80, PRQ7, Local1))
{
Store (0x09, Local0)
}
Return (Local0)
}
Method (_DIS, 0, NotSerialized)
{
Or (PRQ7, 0x80, PRQ7)
}
Method (_CRS, 0, NotSerialized)
{
Name (PRR7, ResourceTemplate ()
{
IRQ (Level, ActiveLow, Shared, _X09)
{4}
})
CreateWordField (PRR7, \_SB.LNKH._CRS._X09._INT, IQR)
Store (PRQ7, Local0)
If (LGreaterEqual (Local0, 0x80))
{
Store (Zero, IQR)
}
Else
{
ShiftLeft (One, Local0, IQR)
}
Return (PRR7)
}
Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, 0x01, IQR)
FindSetRightBit (IQR, Local0)
Decrement (Local0)
Store (Local0, PRQ7)
}
}
}
Scope (\_SB)
{
Device (MEM1)
{
Name (_HID, EisaId ("PNP0C01"))
Name (_UID, 0x01)
Method (_CRS, 0, NotSerialized)
{
Name (MMB1, ResourceTemplate ()
{
Memory32Fixed (ReadWrite,
0x00000000, // Address Base
0x000A0000, // Address Length
_X0A)
Memory32Fixed (ReadWrite,
0x00100000, // Address Base
0x00000000, // Address Length
_X0B)
Memory32Fixed (ReadWrite,
0x01000000, // Address Base
0x00000000, // Address Length
_X0C)
Memory32Fixed (ReadOnly,
0x00000000, // Address Base
0x00000000, // Address Length
_X0D)
Memory32Fixed (ReadWrite,
0xFEC00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadWrite,
0xFEE00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFED20000, // Address Base
0x00080000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFFB00000, // Address Base
0x00100000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFFC00000, // Address Base
0x00400000, // Address Length
)
})
CreateDWordField (MMB1, \_SB.MEM1._CRS._X0A._LEN, MEMR)
CreateDWordField (MMB1, \_SB.MEM1._CRS._X0B._LEN, MEML)
CreateDWordField (MMB1, \_SB.MEM1._CRS._X0C._LEN, MEMH)
Store (GTMR (), MEMR)
Store (GTML (), MEML)
Store (GTMH (), MEMH)
CreateDWordField (MMB1, \_SB.MEM1._CRS._X0D._BAS, SBML)
CreateDWordField (MMB1, \_SB.MEM1._CRS._X0D._LEN, SBMR)
If (HACK ())
{
Store (0x000C0000, SBML)
Store (0x00040000, SBMR)
}
Else
{
Store (0x000F0000, SBML)
Store (0x00010000, SBMR)
}
Return (MMB1)
}
}
Device (MEM2)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x17)
Method (_CRS, 0, NotSerialized)
{
Name (MMB2, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xE0000000, // Address Base
0x10000000, // Address Length
)
Memory32Fixed (ReadOnly,
0xFEDA0000, // Address Base
0x0000D000, // Address Length
)
IO (Decode16,
0x0100, // Range Minimum
0x0100, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0200, // Range Minimum
0x0200, // Range Maximum
0x10, // Alignment
0x78, // Length
)
IO (Decode16,
0x0280, // Range Minimum
0x0280, // Range Maximum
0x10, // Alignment
0x68, // Length
)
IO (Decode16,
0x02F0, // Range Minimum
0x02F0, // Range Maximum
0x10, // Alignment
0x08, // Length
)
IO (Decode16,
0x0300, // Range Minimum
0x0300, // Range Maximum
0x10, // Alignment
0x78, // Length
)
IO (Decode16,
0x0380, // Range Minimum
0x0380, // Range Maximum
0x10, // Alignment
0x3C, // Length
)
IO (Decode16,
0x03C0, // Range Minimum
0x03C0, // Range Maximum
0x10, // Alignment
0x28, // Length
)
IO (Decode16,
0x03F6, // Range Minimum
0x03F6, // Range Maximum
0x01, // Alignment
0x02, // Length
)
IO (Decode16,
0x0400, // Range Minimum
0x0400, // Range Maximum
0x10, // Alignment
0xD0, // Length
)
IO (Decode16,
0x04D2, // Range Minimum
0x04D2, // Range Maximum
0x01, // Alignment
0xAE, // Length
)
IO (Decode16,
0x0580, // Range Minimum
0x0580, // Range Maximum
0x10, // Alignment
0xF8, // Length
)
IO (Decode16,
0x0680, // Range Minimum
0x0680, // Range Maximum
0x10, // Alignment
0xF8, // Length
)
IO (Decode16,
0x0780, // Range Minimum
0x0780, // Range Maximum
0x10, // Alignment
0x3C, // Length
)
IO (Decode16,
0x07C0, // Range Minimum
0x07C0, // Range Maximum
0x10, // Alignment
0x40, // Length
)
IO (Decode16,
0x08E0, // Range Minimum
0x08E0, // Range Maximum
0x10, // Alignment
0x20, // Length
)
IO (Decode16,
0x0900, // Range Minimum
0x0900, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0A00, // Range Minimum
0x0A00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0B00, // Range Minimum
0x0B00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0C80, // Range Minimum
0x0C80, // Range Maximum
0x10, // Alignment
0x30, // Length
)
IO (Decode16,
0x0CC0, // Range Minimum
0x0CC0, // Range Maximum
0x10, // Alignment
0x38, // Length
)
IO (Decode16,
0x0D00, // Range Minimum
0x0D00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0E00, // Range Minimum
0x0E00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x0F00, // Range Minimum
0x0F00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2000, // Range Minimum
0x2000, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2100, // Range Minimum
0x2100, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2200, // Range Minimum
0x2200, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2300, // Range Minimum
0x2300, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2400, // Range Minimum
0x2400, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2500, // Range Minimum
0x2500, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2600, // Range Minimum
0x2600, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2700, // Range Minimum
0x2700, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2800, // Range Minimum
0x2800, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2900, // Range Minimum
0x2900, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2A00, // Range Minimum
0x2A00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2B00, // Range Minimum
0x2B00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2C00, // Range Minimum
0x2C00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2D00, // Range Minimum
0x2D00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2E00, // Range Minimum
0x2E00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x2F00, // Range Minimum
0x2F00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5000, // Range Minimum
0x5000, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5100, // Range Minimum
0x5100, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5200, // Range Minimum
0x5200, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5300, // Range Minimum
0x5300, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5400, // Range Minimum
0x5400, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5500, // Range Minimum
0x5500, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5600, // Range Minimum
0x5600, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5700, // Range Minimum
0x5700, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5800, // Range Minimum
0x5800, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5900, // Range Minimum
0x5900, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5A00, // Range Minimum
0x5A00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5B00, // Range Minimum
0x5B00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5C00, // Range Minimum
0x5C00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5D00, // Range Minimum
0x5D00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5E00, // Range Minimum
0x5E00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x5F00, // Range Minimum
0x5F00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6000, // Range Minimum
0x6000, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6100, // Range Minimum
0x6100, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6200, // Range Minimum
0x6200, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6300, // Range Minimum
0x6300, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6400, // Range Minimum
0x6400, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6500, // Range Minimum
0x6500, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6600, // Range Minimum
0x6600, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6700, // Range Minimum
0x6700, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6800, // Range Minimum
0x6800, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6900, // Range Minimum
0x6900, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6A00, // Range Minimum
0x6A00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6B00, // Range Minimum
0x6B00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6C00, // Range Minimum
0x6C00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6D00, // Range Minimum
0x6D00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6E00, // Range Minimum
0x6E00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0x6F00, // Range Minimum
0x6F00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA000, // Range Minimum
0xA000, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA100, // Range Minimum
0xA100, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA200, // Range Minimum
0xA200, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA300, // Range Minimum
0xA300, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA400, // Range Minimum
0xA400, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA500, // Range Minimum
0xA500, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA600, // Range Minimum
0xA600, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA700, // Range Minimum
0xA700, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA800, // Range Minimum
0xA800, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xA900, // Range Minimum
0xA900, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xAA00, // Range Minimum
0xAA00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xAB00, // Range Minimum
0xAB00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xAC00, // Range Minimum
0xAC00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xAD00, // Range Minimum
0xAD00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xAE00, // Range Minimum
0xAE00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
IO (Decode16,
0xAF00, // Range Minimum
0xAF00, // Range Maximum
0x10, // Alignment
0xFF, // Length
)
})
Return (MMB2)
}
}
}
Scope (\_SB)
{
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Method (_CRS, 0, NotSerialized)
{
Name (HBAB, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
)
})
Return (HBAB)
}
}
}
Scope (\)
{
OperationRegion (WENX, SystemIO, 0x0C0A, 0x06)
Field (WENX, ByteAcc, NoLock, Preserve)
{
WEN1, 8,
WEN2, 8,
WEN3, 8,
WEN4, 8,
WEN5, 8,
WEN6, 8
}
OperationRegion (WSTX, SystemIO, 0x0C04, 0x06)
Field (WSTX, ByteAcc, NoLock, Preserve)
{
WST1, 8,
WST2, 8,
WST3, 8,
WST4, 8,
WST5, 8,
WST6, 8
}
OperationRegion (LEDX, SystemIO, 0x0C5D, 0x02)
Field (LEDX, ByteAcc, NoLock, Preserve)
{
LED1, 8,
LED2, 8
}
Method (PSKM, 1, NotSerialized)
{
If (Or (LEqual (Arg0, 0x03), LEqual (Arg0, 0x01)))
{
Store (0x55, SIOI)
Store (0x07, SIOI)
Store (0x07, SIOD)
Store (0xF0, SIOI)
Store (SIOD, Local0)
Or (Local0, 0x60, SIOD)
Store (0xAA, SIOI)
Store (WST1, Local0)
And (Local0, 0x18, WST1)
Store (GSTS, Local0)
And (Local0, 0x01, GSTS)
Store (WEN1, Local0)
Or (Local0, 0x18, WEN1)
}
}
Method (GPKM, 0, NotSerialized)
{
Store (WEN1, Local0)
And (Local0, 0xE7, WEN1)
Store (WST1, Local0)
And (Local0, 0x18, WST1)
Store (GSTS, Local0)
And (Local0, 0x01, GSTS)
}
}
Scope (\_SB.PCI0.ISA)
{
OperationRegion (NSIO, SystemIO, 0x2E, 0x02)
Field (NSIO, ByteAcc, NoLock, Preserve)
{
INDX, 8,
DATA, 8
}
IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
{
Offset (0x02),
CFG, 8,
Offset (0x07),
LDN, 8,
Offset (0x20),
SIID, 8,
Offset (0x30),
ACTR, 8,
Offset (0x60),
IOAH, 8,
IOAL, 8,
Offset (0x70),
INTR, 8,
Offset (0x74),
DMCH, 8,
Offset (0xF0),
OPT1, 8,
OPT2, 8,
OPT3, 8
}
OperationRegion (COM, PCI_Config, 0x80, 0x01)
Field (\_SB.PCI0.ISA.COM, ByteAcc, NoLock, Preserve)
{
NSCA, 3,
, 1,
NSCB, 3,
Offset (0x01)
}
OperationRegion (FDPA, PCI_Config, 0x81, 0x01)
Field (\_SB.PCI0.ISA.FDPA, ByteAcc, NoLock, Preserve)
{
LPTO, 2,
, 2,
FDDC, 1,
Offset (0x01)
}
Mutex (MTX, 0x01)
Method (SIOD, 1, NotSerialized)
{
CSIO (0x55)
Store (Arg0, LDN)
CSIO (0xAA)
}
Method (CSIO, 1, NotSerialized)
{
Store (Arg0, INDX)
}
Device (FDC)
{
Name (_HID, EisaId ("PNP0700"))
Method (_STA, 0, NotSerialized)
{
Name (RET, Zero)
Acquire (MTX, 0xFFFF)
SIOD (0x00)
If (GCFD ())
{
CSIO (0x55)
If (ACTR)
{
CSIO (0xAA)
Store (0x0F, RET)
}
Else
{
CSIO (0xAA)
Store (0x0D, RET)
}
}
Else
{
CSIO (0xAA)
Store (0x00, RET)
}
Release (MTX)
Return (RET)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (MTX, 0xFFFF)
SIOD (0x00)
CSIO (0x55)
Store (Zero, INTR)
Store (Zero, ACTR)
CSIO (0xAA)
Release (MTX)
}
Method (_CRS, 0, NotSerialized)
{
Name (FDB0, ResourceTemplate ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x08, // Alignment
0x06, // Length
_X0E)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
_X0F)
IRQNoFlags (_X10)
{6}
DMA (Compatibility, NotBusMaster, Transfer8, _X11)
{2}
})
CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._X0E._MIN, IOL0)
CreateByteField (FDB0, 0x03, IOH0)
CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._X0E._MAX, IOL1)
CreateByteField (FDB0, 0x05, IOH1)
CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._X0F._MIN, I2L0)
CreateByteField (FDB0, 0x0B, I2H0)
CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._X0F._MAX, I2L1)
CreateByteField (FDB0, 0x0D, I2H1)
CreateWordField (FDB0, \_SB.PCI0.ISA.FDC._CRS._X10._INT, IQR)
CreateByteField (FDB0, \_SB.PCI0.ISA.FDC._CRS._X11._DMA, DAM)
Acquire (MTX, 0xFFFF)
SIOD (0x00)
CSIO (0x55)
Store (IOAH, IOH0)
Store (IOAH, IOH1)
Store (IOAL, IOL0)
Store (IOAL, IOL1)
Store (IOAH, I2H0)
Store (IOAH, I2H1)
Add (IOAL, 0x07, I2L0)
Add (IOAL, 0x07, I2L1)
ShiftLeft (One, INTR, IQR)
ShiftLeft (One, DMCH, DAM)
CSIO (0xAA)
Release (MTX)
Return (FDB0)
}
Method (_PRS, 0, NotSerialized)
{
Name (FDB1, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F0, // Range Minimum
0x03F0, // Range Maximum
0x08, // 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
0x08, // Alignment
0x06, // Length
)
IO (Decode16,
0x03F7, // Range Minimum
0x03F7, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{3,4,5,6,7,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0370, // Range Minimum
0x0370, // Range Maximum
0x08, // Alignment
0x06, // Length
)
IO (Decode16,
0x0377, // Range Minimum
0x0377, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{3,4,5,6,7,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,2,3}
}
EndDependentFn ()
})
Return (FDB1)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x11, IQR)
CreateByteField (Arg0, 0x14, DAM)
Acquire (MTX, 0xFFFF)
SIOD (0x00)
CSIO (0x55)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
CSIO (0xAA)
If (LEqual (IOLO, 0x70))
{
Store (0x01, FDDC)
}
If (LEqual (IOLO, 0xF0))
{
Store (0x00, FDDC)
}
CSIO (0x55)
FindSetRightBit (IQR, Local0)
Subtract (Local0, 0x01, INTR)
FindSetRightBit (DAM, Local0)
Subtract (Local0, 0x01, DMCH)
Store (One, ACTR)
CSIO (0xAA)
Release (MTX)
}
}
Device (KBD)
{
Name (_HID, EisaId ("PNP0303"))
Method (_STA, 0, NotSerialized)
{
Name (RET, Zero)
Store (0x00, RET)
If (GCKB ())
{
Store (0x0F, RET)
}
Return (RET)
}
Method (_CRS, 0, NotSerialized)
{
Name (KBDB, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{1}
})
Return (KBDB)
}
}
Device (MOU)
{
Name (_HID, EisaId ("PNP0F13"))
Method (_STA, 0, NotSerialized)
{
Name (RET, Zero)
Store (0x00, RET)
If (GCON ())
{
If (GCMS ())
{
Store (0x0F, RET)
}
}
Return (RET)
}
Method (_CRS, 0, NotSerialized)
{
Name (MOUB, ResourceTemplate ()
{
IRQNoFlags ()
{12}
})
Name (MOKB, ResourceTemplate ()
{
IO (Decode16,
0x0060, // Range Minimum
0x0060, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IO (Decode16,
0x0064, // Range Minimum
0x0064, // Range Maximum
0x01, // Alignment
0x01, // Length
)
IRQNoFlags ()
{12}
})
If (GCKB ())
{
Return (MOUB)
}
Else
{
Return (MOKB)
}
}
}
Device (PRT)
{
Name (_HID, EisaId ("PNP0401"))
Method (_STA, 0, NotSerialized)
{
Name (RET, Zero)
Acquire (MTX, 0xFFFF)
SIOD (0x03)
If (GCPP ())
{
CSIO (0x55)
If (ACTR)
{
CSIO (0xAA)
Store (0x0F, RET)
}
Else
{
CSIO (0xAA)
Store (0x0D, RET)
}
}
Else
{
CSIO (0xAA)
Store (0x00, RET)
}
Release (MTX)
Return (RET)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (MTX, 0xFFFF)
SIOD (0x03)
CSIO (0x55)
Store (Zero, INTR)
Store (0x04, DMCH)
Store (Zero, ACTR)
CSIO (0xAA)
Release (MTX)
}
Method (_CRS, 0, NotSerialized)
{
Name (PTB0, ResourceTemplate ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
_X12)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
_X13)
IRQNoFlags (_X14)
{7}
DMA (Compatibility, NotBusMaster, Transfer8, _X15)
{}
})
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X12._MIN, IOL0)
CreateByteField (PTB0, 0x03, IOH0)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X12._MAX, IOL1)
CreateByteField (PTB0, 0x05, IOH1)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X12._ALN, LALN)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X12._LEN, LLEN)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X13._MIN, I2L0)
CreateByteField (PTB0, 0x0B, I2H0)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X13._MAX, I2L1)
CreateByteField (PTB0, 0x0D, I2H1)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X13._ALN, HALN)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X13._LEN, HLEN)
CreateWordField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X14._INT, IQR)
CreateByteField (PTB0, \_SB.PCI0.ISA.PRT._CRS._X15._DMA, DAM)
Acquire (MTX, 0xFFFF)
SIOD (0x03)
CSIO (0x55)
Store (IOAH, IOH0)
Store (IOAH, IOH1)
Store (IOAL, IOL0)
Store (IOAL, IOL1)
Add (IOAH, 0x04, I2H0)
Add (IOAH, 0x04, I2H1)
Store (IOAL, I2L0)
Store (IOAL, I2L1)
ShiftLeft (One, INTR, IQR)
ShiftLeft (One, DMCH, DAM)
If (LEqual (IOL0, 0xBC))
{
Store (0x04, LALN)
Store (0x04, LLEN)
Store (0x04, HALN)
Store (0x04, HLEN)
}
If (LEqual (DMCH, 0x04))
{
Store (Zero, DAM)
}
If (LEqual (INTR, 0x00))
{
Store (Zero, IQR)
}
CSIO (0xAA)
Release (MTX)
Return (PTB0)
}
Method (_PRS, 0, NotSerialized)
{
Name (PTB1, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{5}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3,4,5,6,7,12}
DMA (Compatibility, NotBusMaster, Transfer8, )
{1,2,3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0378, // Range Minimum
0x0378, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0778, // Range Minimum
0x0778, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x0278, // Range Minimum
0x0278, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IO (Decode16,
0x0678, // Range Minimum
0x0678, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x04, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x04, // Alignment
0x04, // Length
)
IRQNoFlags ()
{}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03BC, // Range Minimum
0x03BC, // Range Maximum
0x04, // Alignment
0x04, // Length
)
IO (Decode16,
0x07BC, // Range Minimum
0x07BC, // Range Maximum
0x04, // Alignment
0x04, // Length
)
IRQNoFlags ()
{7}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
EndDependentFn ()
})
Return (PTB1)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x11, IQR)
CreateByteField (Arg0, 0x14, DAM)
Acquire (MTX, 0xFFFF)
SIOD (0x03)
CSIO (0x55)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
If (LEqual (IOLO, 0xBC))
{
Store (0x02, LPTO)
}
If (LEqual (IOLO, 0x78))
{
If (LEqual (IOHI, 0x02))
{
Store (0x01, LPTO)
}
If (LEqual (IOHI, 0x03))
{
Store (0x00, LPTO)
}
}
If (LEqual (IQR, Zero))
{
Store (Zero, INTR)
}
Else
{
FindSetRightBit (IQR, Local0)
Subtract (Local0, 0x01, INTR)
}
If (LEqual (DAM, Zero))
{
Store (0x04, DMCH)
}
Else
{
FindSetRightBit (DAM, Local0)
Subtract (Local0, 0x01, DMCH)
}
Store (One, ACTR)
CSIO (0xAA)
Release (MTX)
}
}
Device (COMA)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x01)
Method (_STA, 0, NotSerialized)
{
Name (RET, Zero)
Acquire (MTX, 0xFFFF)
SIOD (0x04)
If (GCS1 ())
{
CSIO (0x55)
If (ACTR)
{
CSIO (0xAA)
Store (0x0F, RET)
}
Else
{
CSIO (0xAA)
Store (0x0D, RET)
}
}
Else
{
CSIO (0xAA)
Store (0x00, RET)
}
Release (MTX)
Return (RET)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (MTX, 0xFFFF)
SIOD (0x04)
CSIO (0x55)
Store (Zero, INTR)
Store (Zero, ACTR)
CSIO (0xAA)
Release (MTX)
}
Method (_CRS, 0, NotSerialized)
{
Name (CMA0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x08, // Alignment
0x08, // Length
_X16)
IRQNoFlags (_X17)
{4}
})
CreateByteField (CMA0, \_SB.PCI0.ISA.COMA._CRS._X16._MIN, IOL0)
CreateByteField (CMA0, 0x03, IOH0)
CreateByteField (CMA0, \_SB.PCI0.ISA.COMA._CRS._X16._MAX, IOL1)
CreateByteField (CMA0, 0x05, IOH1)
CreateWordField (CMA0, \_SB.PCI0.ISA.COMA._CRS._X17._INT, IQR)
Acquire (MTX, 0xFFFF)
SIOD (0x04)
CSIO (0x55)
Store (IOAL, IOL0)
Store (IOAL, IOL1)
Store (IOAH, IOH0)
Store (IOAH, IOH1)
ShiftLeft (One, INTR, IQR)
CSIO (0xAA)
Release (MTX)
Return (CMA0)
}
Method (_PRS, 0, NotSerialized)
{
Name (CMA1, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
EndDependentFn ()
})
Return (CMA1)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IQR)
Acquire (MTX, 0xFFFF)
SIOD (0x04)
CSIO (0x55)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IQR, Local0)
Subtract (Local0, 0x01, INTR)
If (LEqual (IOHI, 0x03))
{
If (LEqual (IOLO, 0xF8))
{
Store (0x00, NSCA)
}
If (LEqual (IOLO, 0xE8))
{
Store (0x07, NSCA)
}
}
If (LEqual (IOHI, 0x02))
{
If (LEqual (IOLO, 0xF8))
{
Store (0x01, NSCA)
}
If (LEqual (IOLO, 0xE8))
{
Store (0x05, NSCA)
}
}
Store (One, ACTR)
CSIO (0xAA)
Release (MTX)
}
}
Device (COMB)
{
Name (_HID, EisaId ("PNP0501"))
Name (_UID, 0x02)
Method (_STA, 0, NotSerialized)
{
Name (RET, Zero)
Acquire (MTX, 0xFFFF)
SIOD (0x05)
If (GCS2 ())
{
CSIO (0x55)
If (ACTR)
{
CSIO (0xAA)
Store (0x0F, RET)
}
Else
{
CSIO (0xAA)
Store (0x0D, RET)
}
}
Else
{
CSIO (0xAA)
Store (0x00, RET)
}
Release (MTX)
Return (RET)
}
Method (_DIS, 0, NotSerialized)
{
Acquire (MTX, 0xFFFF)
SIOD (0x05)
CSIO (0x55)
Store (Zero, INTR)
Store (OPT1, Local0)
Or (Local0, 0x20, Local0)
Store (Local0, OPT1)
Store (Zero, ACTR)
CSIO (0xAA)
Release (MTX)
}
Method (_CRS, 0, NotSerialized)
{
Name (CMB0, ResourceTemplate ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x08, // Alignment
0x08, // Length
_X18)
IRQNoFlags (_X19)
{4}
})
CreateByteField (CMB0, \_SB.PCI0.ISA.COMB._CRS._X18._MIN, IOL0)
CreateByteField (CMB0, 0x03, IOH0)
CreateByteField (CMB0, \_SB.PCI0.ISA.COMB._CRS._X18._MAX, IOL1)
CreateByteField (CMB0, 0x05, IOH1)
CreateWordField (CMB0, \_SB.PCI0.ISA.COMB._CRS._X19._INT, IQR)
Acquire (MTX, 0xFFFF)
SIOD (0x05)
CSIO (0x55)
Store (IOAL, IOL0)
Store (IOAL, IOL1)
Store (IOAH, IOH0)
Store (IOAH, IOH1)
ShiftLeft (One, INTR, IQR)
CSIO (0xAA)
Release (MTX)
Return (CMB0)
}
Method (_PRS, 0, NotSerialized)
{
Name (CMB1, ResourceTemplate ()
{
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x08, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
}
EndDependentFn ()
})
Return (CMB1)
}
Method (_SRS, 1, NotSerialized)
{
CreateByteField (Arg0, 0x02, IOLO)
CreateByteField (Arg0, 0x03, IOHI)
CreateWordField (Arg0, 0x09, IQR)
Acquire (MTX, 0xFFFF)
SIOD (0x05)
CSIO (0x55)
Store (IOLO, IOAL)
Store (IOHI, IOAH)
FindSetRightBit (IQR, Local0)
Subtract (Local0, 0x01, INTR)
If (LEqual (IOHI, 0x03))
{
If (LEqual (IOLO, 0xF8))
{
Store (0x00, NSCB)
}
If (LEqual (IOLO, 0xE8))
{
Store (0x07, NSCB)
}
}
If (LEqual (IOHI, 0x02))
{
If (LEqual (IOLO, 0xF8))
{
Store (0x01, NSCB)
}
If (LEqual (IOLO, 0xE8))
{
Store (0x05, NSCB)
}
}
Store (One, ACTR)
Store (OPT1, Local0)
And (Local0, 0xDF, Local0)
Store (Local0, OPT1)
CSIO (0xAA)
Release (MTX)
}
}
}
Scope (\_SB.PCI0.ISA)
{
Device (TPM)
{
Name (_HID, EisaId ("BCM0101"))
OperationRegion (PRIV, SystemMemory, 0xFFF801C0, 0x02)
Field (PRIV, WordAcc, NoLock, Preserve)
{
TPMF, 16
}
Method (_STA, 0, NotSerialized)
{
If (LAnd (LAnd (LEqual (TPMF, 0x0957), GCTP ()), GCNC ()))
{
Return (0x0F)
}
Else
{
Return (0x00)
}
}
Method (_CRS, 0, NotSerialized)
{
Name (TPMB, ResourceTemplate ()
{
IO (Decode16,
0x0CB0, // Range Minimum
0x0CB0, // Range Maximum
0x08, // Alignment
0x10, // Length
)
})
Return (TPMB)
}
}
}
}