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