/* * 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) } } } }