/* * Intel ACPI Component Architecture * AML Disassembler version 20061109 * * Disassembly of dsdt.aml, Sat Mar 22 21:19:14 2008 * * * Original Table Header: * Signature "DSDT" * Length 0x0000377F (14207) * Revision 0x01 * OEM ID "INSYDE" * OEM Table ID "Caiman" * OEM Revision 0x00001002 (4098) * Creator ID "INTL" * Creator Revision 0x02002036 (33562678) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "INSYDE", "Caiman", 0x00001002) { Name (VERS, Package (0x03) { "Project: DEMO", "Date: 03/24/2000", "Vers: 1.00.09" }) Name (USEC, 0x01) Name (BFCN, 0x03) Name (BTCN, 0x03) Name (DMCH, 0x00) Name (F_AC, 0x00) Name (F_BT, 0x00) Name (LCAP, 0x012C) Name (LFCC, 0x00) Name (DCAP, 0x00) Name (DVOT, 0x00) Name (CVOT, 0x00) Name (PSRT, 0x00) Name (BCAP, 0x00) Name (BTYP, 0x00) Name (BACS, 0x00) Name (BFCG, 0x00) Name (BTCG, 0x00) Name (BSTA, 0x00) Name (BCVT, 0x00) Name (BTPR, 0x00) Name (VSMI, 0x00) Name (GDGS, 0x00) Name (OSF2, 0x00) 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, 0x00) Name (VMEM, 0x00) Name (DAYA, 0x00) Name (MONA, 0x00) Scope (\_PR) { Processor (CPU0, 0x01, 0x00001010, 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, 0x01) Field (\DEBG, ByteAcc, NoLock, Preserve) { DBGP, 8 } Name (MSIZ, 0x00) Name (UTYP, 0x00) Name (CMAD, 0x00) Name (CMBD, 0x00) Name (PTYP, 0x03) Name (LPTE, 0x01) Name (EMSZ, 0x00) Name (WORI, 0x00) Name (WOLA, 0x00) 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) { 0x00, 0x00, 0x00, 0x00 }) Name (\_S3, Package (0x04) { 0x03, 0x03, 0x00, 0x00 }) Name (\_S4, Package (0x04) { 0x04, 0x04, 0x00, 0x00 }) Name (\_S5, Package (0x04) { 0x05, 0x05, 0x00, 0x00 }) Method (\_PTS, 1, NotSerialized) { Store (0x01, SPK) Store (0x00, TOTE) Store (0x01, CLRS) Sleep (0x14) Store (0x00, CLRS) If (LEqual (Arg0, 0x01)) { Store ("GO S1", Debug) Store (0x51, DBGP) } Else { If (LEqual (Arg0, 0x03)) { Store (0x01, BLED) Store ("GO S3", Debug) If (LEqual (OSFG, 0x01)) { SMIR (0xEC, Or (0xB0, 0x06)) } Else { SMIR (0xEC, Or (0xB0, 0x03)) } } Else { If (LEqual (Arg0, 0x04)) { Store ("GO S4", Debug) Store (0xE8, APMC) If (LNotEqual (OSFG, 0x01)) { SMIR (0xEC, Or (0xB0, 0x04)) } Store (0x54, DBGP) Store (0x01, MX20) } Else { Store (0x01, MX20) SMIR (0xEC, Or (0xB0, 0x05)) } } } } Method (\_WAK, 1, NotSerialized) { Store (0x00, SPK) If (LNotEqual (RTCW, 0x01)) { Notify (\_SB.SBTN, 0x02) } If (LEqual (Arg0, 0x01)) { Store ("Wake from S1", Debug) Store (0xE1, DBGP) Return (0x00) } Else { If (LEqual (Arg0, 0x03)) { Store ("Wake from S3", Debug) Store (0xE3, DBGP) SMIR (0xEC, 0xC0) Return (0x00) } Else { If (LEqual (Arg0, 0x04)) { SMIR (0xEC, 0x80) Store (OSF2, OSFG) Return (0x00) } Else { Return (0x00) } } } Store (0x01, CLRS) Sleep (0x14) Store (0x00, CLRS) } Scope (\_SB) { Method (_INI, 0, NotSerialized) { Store (0x00, 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 (\_SB.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, 0x00) Method (_PSR, 0, NotSerialized) { If (F_AC) { Return (0x00) } If (USEC) { If (REC) { Store (\_SB.PCI0.LPC.EC0.ACST, BACS) XOr (BACS, 0x01, Local0) } Else { Store (0x01, Local0) } } Else { Store (SMIR (0xE4, 0x6A), BACS) ShiftRight (BACS, 0x03, BACS) And (BACS, 0x01, BACS) XOr (BACS, 0x01, 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 (0x00, F_BT) Notify (\_SB.BAT0, 0x81) Return (0x0F) } If (USEC) { If (REC) { Store (\_SB.PCI0.LPC.EC0.B1ST, BSTA) } Else { Store (Zero, BSTA) } } Else { And (SMIR (0xE4, 0x51), 0x01, BSTA) } If (BSTA) { Return (0x1F) } Else { Return (0x0F) } } Name (BIFP, Package (0x0D) { 0x01, 0x0FA0, 0x0FA0, 0x01, 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 (\_SB.PCI0.LPC.EC0.EFCH, 0x08, LFCC) Or (LFCC, \_SB.PCI0.LPC.EC0.EFCL, LFCC) ShiftLeft (\_SB.PCI0.LPC.EC0.EDVH, 0x08, DVOT) Or (LFCC, \_SB.PCI0.LPC.EC0.EDVL, DVOT) ShiftLeft (\_SB.PCI0.LPC.EC0.EDCH, 0x08, DCAP) Or (LFCC, \_SB.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, 0x00))) { Store (0x03, BFCN) } If (Decrement (BFCN)) { Sleep (0x0A) Return (0xFFFFFFFF) } Else { Store (DerefOf (Index (BIFP, 0x01)), DCAP) Store (DerefOf (Index (BIFP, 0x02)), LFCC) Store (DerefOf (Index (BIFP, 0x04)), DVOT) } } Store (0x03, BFCN) Store (DCAP, Index (BIFP, 0x01)) 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) { 0x00, 0x04B0, 0x012C, 0x2710 }) Method (_BST, 0, Serialized) { If (USEC) { ShiftLeft (\_SB.PCI0.LPC.EC0.ERCH, 0x08, BCAP) Or (BCAP, \_SB.PCI0.LPC.EC0.ERCL, BCAP) Store (\_SB.PCI0.LPC.EC0.B1CV, BCVT) Store (\_SB.PCI0.LPC.EC0.B1FC, BFCG) Store (\_SB.PCI0.LPC.EC0.B1TC, BTCG) Store (0x0960, BTPR) Store (\_SB.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, 0xFFFFFFFF), 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 (0x01, Index (BSTP, 0x00)) Return (BSTP) } If (Or (F_AC, LNot (BSTA))) { Store (0x01, Index (BSTP, 0x00)) Return (BSTP) } If (LEqual (BCAP, 0xFFFF)) { If (Or (LGreater (BTCN, 0x03), LLessEqual (BTCN, 0x00))) { Store (0x03, BTCN) } If (Decrement (BTCN)) { Return (0xFFFFFFFF) } Else { Store (DerefOf (Index (BSTP, 0x02)), BCAP) } } Store (0x03, BTCN) Store (0x00, Local0) If (LEqual (BACS, 0x01)) { If (LEqual (DMCH, 0x00)) { Store (0x01, Local1) } Else { Store (0x02, Local1) } } Else { If (Or (BFCG, BTCG)) { Store (0x02, Local1) } Else { If (LEqual (DMCH, 0x00)) { Store (0x00, Local1) } Else { Store (0x02, Local1) } } } Store (Local1, Index (BSTP, 0x00)) If (LLess (BTPR, 0x8000)) { Store (BTPR, Local1) } Else { Subtract (0xFFFF, And (BTPR, 0xFFFF), Local1) } Store (Local1, Index (BSTP, 0x01)) 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, 0x00) Method (_STA, 0, NotSerialized) { Return (0x0F) } OperationRegion (NB00, PCI_Config, 0x00, 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 (0x00, USEC) } Else { If (LEqual (Local0, 0x27)) { Store (0x02, OSFG) Store (0x00, USEC) } Else { Store (0x01, OSFG) Store (0x00, 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, 0x00, 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, 0x00, SMEM) Subtract (0xFEE00000, SMEM, LMEM) Return (BCRS) } Name (_PRT, Package (0x0D) { Package (0x04) { 0x0003FFFF, 0x03, \_SB.PCI0.LNKH, 0x00 }, Package (0x04) { 0x0003FFFF, 0x02, \_SB.PCI0.LNKG, 0x00 }, Package (0x04) { 0x0003FFFF, 0x01, \_SB.PCI0.LNKF, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, \_SB.PCI0.LNKE, 0x00 }, Package (0x04) { 0x0002FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0004FFFF, 0x00, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0002FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000AFFFF, 0x01, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000BFFFF, 0x00, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000BFFFF, 0x01, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 } }) Device (USB0) { Name (_ADR, 0x00030000) Method (_STA, 0, NotSerialized) { Store (UC0, Local0) If (Local0) { Return (0x00) } 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 (0x00) } 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 (0x00) } 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 (0x00) } 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, 0x00 }) Name (UDM5, Package (0x08) { 0x6B, 0x47, 0x35, 0x14, 0x12, 0x11, 0x00, 0x00 }) Name (UDM6, Package (0x08) { 0x9F, 0x6A, 0x47, 0x25, 0x23, 0x22, 0x21, 0x00 }) Name (DMAT, Package (0x04) { 0x01E0, 0x96, 0x78, 0x00 }) Name (MDM5, Package (0x04) { 0x00019154, 0x6072, 0x4062, 0x00 }) Name (MDM6, Package (0x04) { 0x000221C6, 0xC0A3, 0x5093, 0x00 }) Name (PIOT, Package (0x06) { 0x0258, 0x017F, 0xF0, 0xB4, 0x78, 0x00 }) Name (PIO5, Package (0x06) { 0x0001E1C6, 0x91C4, 0x31C2, 0x9072, 0x4062, 0x00 }) Name (PIO6, Package (0x06) { 0x00028269, 0xC266, 0x4263, 0xC0A3, 0x5093, 0x00 }) OperationRegion (CF41, PCI_Config, 0x00, 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, 0x00, PIO0) CreateDWordField (Local0, 0x04, DMA0) CreateDWordField (Local0, 0x08, PIO1) CreateDWordField (Local0, 0x0C, DMA1) CreateDWordField (Local0, 0x10, FLAG) Store (Buffer (0x0C) { 0x00 }, Local1) CreateByteField (Local1, 0x00, XCS0) CreateByteField (Local1, 0x01, XUM0) CreateDWordField (Local1, 0x02, XTM0) CreateByteField (Local1, 0x06, XCS1) CreateByteField (Local1, 0x07, XUM1) CreateDWordField (Local1, 0x08, XTM1) Store (0x00, XCS0) Store (0x00, XCS1) If (LOr (LEqual (PIO0, 0xFFFFFFFF), LEqual (PIO0, 0x00))) { Store (0x00, XTM0) } Else { Store (0x02, XCS0) Store (Match (^PIOT, MLE, PIO0, MTR, 0x00, 0x00), Local2) If (LAnd (And (FLAG, 0x01), LLess (DMA0, 0x14))) { Store (DerefOf (Index (^PIO6, Local2)), XTM0) } Else { Store (DerefOf (Index (^PIO5, Local2)), XTM0) } } If (LOr (LEqual (PIO1, 0xFFFFFFFF), LEqual (PIO1, 0x00))) { Store (0x00, XTM1) } Else { Store (0x02, XCS1) Store (Match (^PIOT, MLE, PIO1, MTR, 0x00, 0x00), 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, 0x01)) { Or (XCS0, 0x04, XCS0) Store (Match (^UDMT, MLE, DMA0, MTR, 0x00, 0x00), Local2) If (LLess (DMA0, 0x14)) { Store (DerefOf (Index (^UDM6, Local2)), XUM0) Or (XCS0, 0x08, XCS0) } Else { Store (DerefOf (Index (^UDM5, Local2)), XUM0) } } Else { Store (0x00, XUM0) } If (And (FLAG, 0x04)) { Or (XCS1, 0x04, XCS1) Store (Match (^UDMT, MLE, DMA1, MTR, 0x00, 0x00), Local2) If (LLess (DMA0, 0x14)) { Store (Match (^UDM6, MLE, DMA1, MTR, 0x00, 0x00), Local2) Or (XCS1, 0x08, XCS1) } Else { Store (Match (^UDM5, MLE, DMA1, MTR, 0x00, 0x00), Local2) } } Else { Store (0x00, 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, 0x00, 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, 0x01, FLAG) If (And (Local0, 0x08)) { Store (Match (^UDM6, MEQ, Local1, MTR, 0x00, 0x00), Local7) Store (DerefOf (Index (^UDMT, Local7)), DMA0) } Else { Store (Match (^UDM5, MEQ, Local1, MTR, 0x00, 0x00), 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, 0x00, 0x00), Local7) Store (DerefOf (Index (^UDMT, Local7)), DMA1) } Else { Store (Match (^UDM5, MEQ, Local4, MTR, 0x00, 0x00), 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, 0x00, 0x00), Local7) Store (DerefOf (Index (^PIOT, Local7)), PIO0) } Else { Store (Match (^PIO5, MEQ, Local2, MTR, 0x00, 0x00), Local7) Store (DerefOf (Index (^PIOT, Local7)), PIO0) } If (And (Local3, 0x08)) { Store (Match (^PIO6, MEQ, Local5, MTR, 0x00, 0x00), Local7) Store (DerefOf (Index (^PIOT, Local7)), PIO1) } Else { Store (Match (^PIO5, MEQ, Local5, MTR, 0x00, 0x00), Local7) Store (DerefOf (Index (^PIOT, Local7)), PIO1) } If (LEqual (PIO0, 0x00)) { Store (Ones, PIO0) } If (LEqual (PIO1, 0x00)) { 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, 0x01, 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, 0x00, 0x00), Local5) Or (MODE, Local5, MODE) } Else { Store (Match (^UDM5, MEQ, Local2, MTR, 0x00, 0x00), Local5) Or (MODE, Local5, MODE) } } Else { Or (MODE, 0x08, MODE) If (And (Local1, 0x08)) { Store (Match (^PIO6, MEQ, Local3, MTR, 0x00, 0x00), Local5) Or (MODE, Local5, MODE) } Else { Store (Match (^PIO5, MEQ, Local3, MTR, 0x00, 0x00), Local5) Or (MODE, Local5, MODE) } } Return (Local4) } Device (IDE0) { Name (_ADR, 0x00) Method (_STM, 3, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) Store (Arg2, Local2) Store (^^STM (Local0, Local1, Local2), Local3) CreateByteField (Local3, 0x00, XCS0) CreateByteField (Local3, 0x01, 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, 0x00) Method (_GTF, 0, NotSerialized) { Store (^^^GTFX (0x00, ^^^PMCS, ^^^PMUS, ^^^PMPS), Local0) Return (Local0) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Store (^^^GTFX (0x01, ^^^PSCS, ^^^PSUS, ^^^PSPS), Local0) Return (Local0) } } } Device (IDE1) { Name (_ADR, 0x01) Method (_STM, 3, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) Store (Arg2, Local2) Store (^^STM (Local0, Local1, Local2), Local3) CreateByteField (Local3, 0x00, XCS0) CreateByteField (Local3, 0x01, 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, 0x00) Method (_GTF, 0, NotSerialized) { Store (^^^GTFX (0x00, ^^^SMCS, ^^^SMUS, ^^^SMPS), Local0) Return (Local0) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Store (^^^GTFX (0x01, ^^^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, 0x00, \_SB.PCI0.LNKA, 0x00 } }) Device (VGA) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (VENT, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (0x01, \_SB.PCI0.LPC.EC0.F5) } Else { If (LEqual (Arg0, 0x01)) { Store (0x00, \_SB.PCI0.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, 0x01) Method (_DCS, 0, NotSerialized) { If (ACTV) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } Return (Local0) } Name (_DGS, 0x01) Name (IDSS, 0x00) 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, 0x01) Method (_DCS, 0, NotSerialized) { If (ACTV) { Return (0x1F) } Else { Return (0x1D) } } Name (_DGS, 0x00) Name (IDSS, 0x00) 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, 0x00) Method (_DCS, 0, NotSerialized) { If (ACTV) { Return (0x0F) } Else { Return (0x0D) } } Name (_DGS, 0x01) Name (IDSS, 0x00) 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, 0x01, ^CRT.ACTV) And (^LCD.IDSS, 0x01, ^LCD.ACTV) And (^TV.IDSS, 0x01, ^TV.ACTV) } Method (NEXT, 0, NotSerialized) { Add (GDGS, 0x01, GDGS) If (LGreater (GDGS, 0x03)) { Store (0x00, GDGS) } SDGS (GDGS) } Method (SACT, 1, NotSerialized) { If (And (Arg0, 0x01)) { Store (0x01, ^LCD.ACTV) } Else { Store (0x00, ^LCD.ACTV) } If (And (Arg0, 0x02)) { Store (0x01, ^CRT.ACTV) } Else { Store (0x00, ^CRT.ACTV) } If (And (Arg0, 0x04)) { Store (0x01, ^TV.ACTV) } Else { Store (0x00, ^TV.ACTV) } } Method (BTOO, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Return (0x00) } If (LEqual (Arg0, 0x02)) { Return (0x01) } If (LEqual (Arg0, Or (0x01, 0x02))) { Return (0x02) } If (LEqual (Arg0, 0x04)) { Return (0x03) } If (LEqual (Arg0, Or (0x01, 0x04))) { Return (0x04) } If (LEqual (Arg0, Or (0x02, 0x04))) { Return (0x05) } Return (0x06) } Method (OTOB, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Return (0x01) } If (LEqual (Arg0, 0x01)) { Return (0x02) } If (LEqual (Arg0, 0x02)) { Return (Or (0x01, 0x02)) } If (LEqual (Arg0, 0x03)) { Return (0x04) } If (LEqual (Arg0, 0x04)) { Return (Or (0x01, 0x04)) } If (LEqual (Arg0, 0x05)) { Return (Or (0x02, 0x04)) } Return (Or (0x01, Or (0x02, 0x04))) } Method (NXTB, 2, NotSerialized) { Store (0x00, Local4) Store (BTOO (Arg0), Local0) While (LLessEqual (Local4, 0x03)) { Increment (Local0) If (LGreater (Local0, 0x03)) { Store (0x00, 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, 0x01)) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } If (And (Local0, 0x02)) { Store (0x01, ^CRT._DGS) } Else { Store (0x00, ^CRT._DGS) } If (And (Local0, 0x04)) { Store (0x01, ^TV._DGS) } Else { Store (0x00, ^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, 0x00)) { 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, 0x00, 0x0100) Field (\_SB.PCI0.LPC.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, 0x00, 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 (0x01, REC) Return (BEC0) } Method (_Q08, 0, NotSerialized) { } Name (G_0E, 0x00) Method (_Q0E, 0, NotSerialized) { If (LEqual (VSMI, 0x00)) { If (LEqual (G_0E, 0x00)) { Store (0x01, G_0E) If (LLessEqual (OSF2, 0x02)) { Store (SMIR (0xEC, 0x90), Local0) If (LNotEqual (Local0, 0x00)) { GNBP () } Sleep (0x64) Store (0x00, Local0) } Else { Store (SMIR (0xEC, 0x10), Local0) } If (LNotEqual (Local0, 0x00)) { GNBP () Store (\_SB.PCI0.VPCI.VGA.BTOO (And (Local0, 0x07)), Local1) \_SB.PCI0.VPCI.VGA.SDDS (Local0) If (LNotEqual (Local1, GDGS)) { Notify (\_SB.PCI0.VPCI.VGA, 0x80) } } Store (0x00, G_0E) } } } Method (_Q0F, 0, NotSerialized) { } Method (_Q10, 0, NotSerialized) { } Method (_Q13, 0, NotSerialized) { } Method (_Q14, 0, NotSerialized) { } Method (_Q15, 0, NotSerialized) { GNBP () Notify (\_SB.SBTN, 0x80) } Method (_Q20, 0, NotSerialized) { If (LEqual (OSFG, 0x02)) { \_SB.BAT0._STA () If (LNot (BSTA)) { Store (0x01, F_AC) Notify (\_SB.AC, 0x80) Sleep (0x14) Store (0x00, F_AC) Notify (\_SB.AC, 0x80) Notify (\_SB.BAT0, 0x80) } Else { Notify (\_SB.BAT0, 0x80) Notify (\_SB.BAT0, 0x81) } } Else { Notify (\_SB.BAT0, 0x80) Notify (\_SB.BAT0, 0x81) } } Method (_Q21, 0, NotSerialized) { SMIR (0xEC, 0x20) If (LEqual (OSFG, 0x02)) { Store (0x01, DMCH) } Notify (\_SB.AC, 0x80) Notify (\_SB.BAT0, 0x80) If (LEqual (OSFG, 0x02)) { Sleep (0x64) Store (0x00, DMCH) Notify (\_SB.AC, 0x80) Notify (\_SB.BAT0, 0x80) } } Method (_Q22, 0, NotSerialized) { } Method (_Q25, 0, NotSerialized) { \_SB.BAT0._STA () If (BSTA) { Notify (\_SB.BAT0, 0x80) } } Method (_Q26, 0, NotSerialized) { Notify (\_SB.BAT0, 0x80) Notify (\_SB.AC, 0x80) } Method (_Q30, 0, NotSerialized) { } Method (_Q31, 0, NotSerialized) { } Method (_Q32, 0, NotSerialized) { } Method (_Q33, 0, NotSerialized) { If (LNotEqual (\_SB.LID._LID (), 0x00)) { Sleep (0x01F4) } SMIR (0xEC, 0x70) Notify (\_SB.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 (\_SB.PCI0.LPC.ESB, Local1) } } Method (_Q40, 0, NotSerialized) { Store (0x00, TOTD) } Method (_Q41, 0, NotSerialized) { Store (0x01, 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, 0x0FFF) Store (0x87, INDX) Store (0x01, INDX) Store (0x55, INDX) Store (0x55, INDX) } Method (LKUP, 0, NotSerialized) { Store (0x02, INDX) Store (0x02, DATA) Release (MUT0) } Name (DMAP, Package (0x04) { 0x00, 0x01, 0x02, 0x03 }) Device (LPT) { Name (_HID, EisaId ("PNP0400")) Method (_UID, 0, NotSerialized) { If (LEqual (PTYP, 0x02)) { Return (0x01) } Else { Return (0x00) } } Method (_STA, 0, NotSerialized) { Store ("LPT_EPP_STA", Debug) If (LEqual (LPTE, 0x00)) { Return (0x00) } If (LEqual (PTYP, 0x03)) { Return (0x00) } Store (0x01, LDN) Store (0x01, DATA) If (LDC) { Return (0x0F) } Else { Return (0x0D) } } Method (_DIS, 0, NotSerialized) { Store (0x01, LDN) Store (0x01, DATA) Store (0x00, LDC) Store (0x00, 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 (0x01, LDN) Store (0x01, 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 (0x01, LDN) Store (0x01, 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 (0x01, LDC) Store (0x01, DATA) } } Device (ECP) { Name (_HID, EisaId ("PNP0401")) Method (_STA, 0, NotSerialized) { If (LEqual (LPTE, 0x00)) { Return (0x00) } If (LNotEqual (PTYP, 0x03)) { Return (0x00) } Store (0x01, LDN) Store (0x01, DATA) If (LDC) { Return (0x0F) } Else { Return (0x0D) } } Method (_DIS, 0, NotSerialized) { Store (0x01, LDN) Store (0x01, DATA) Store (0x00, LDC) Store (0x00, 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 (0x01, LDN) Store (0x01, 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 (0x01, 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 () /*** Disassembler: inserted missing 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 (0x01, LDN) Store (0x01, 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 (0x01, LDC) Store (0x01, 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, 0x01)) { Or (Local0, 0x02, Local0) } If (LEqual (Arg0, 0x02)) { Or (Local0, 0x08, Local0) } } } Return (0x00) } } } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,10,11} }) Method (_STA, 0, NotSerialized) { And (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRA, 0x80, \_SB.PCI0.LPC.PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y07) {} }) CreateWordField (BUFA, \_SB.PCI0.LNKA._CRS._Y07._INT, IRA) And (\_SB.PCI0.LPC.PIRA, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQA) FindSetLeftBit (IRQA, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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 (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRB, 0x80, \_SB.PCI0.LPC.PIRB) } Method (_CRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y08) {} }) CreateWordField (BUFB, \_SB.PCI0.LNKB._CRS._Y08._INT, IRB) And (\_SB.PCI0.LPC.PIRB, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQB) FindSetLeftBit (IRQB, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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 (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRC, 0x80, \_SB.PCI0.LPC.PIRC) } Method (_CRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y09) {} }) CreateWordField (BUFC, \_SB.PCI0.LNKC._CRS._Y09._INT, IRC) And (\_SB.PCI0.LPC.PIRC, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQC) FindSetLeftBit (IRQC, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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 (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRD, 0x80, \_SB.PCI0.LPC.PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0A) {} }) CreateWordField (BUFD, \_SB.PCI0.LNKD._CRS._Y0A._INT, IRD) And (\_SB.PCI0.LPC.PIRD, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQD) FindSetLeftBit (IRQD, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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 (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRE, 0x80, \_SB.PCI0.LPC.PIRE) } Method (_CRS, 0, NotSerialized) { Name (BUFE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0B) {} }) CreateWordField (BUFE, \_SB.PCI0.LNKE._CRS._Y0B._INT, IRE) And (\_SB.PCI0.LPC.PIRE, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQE) FindSetLeftBit (IRQE, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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 (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRF, 0x80, \_SB.PCI0.LPC.PIRF) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0C) {} }) CreateWordField (BUFF, \_SB.PCI0.LNKF._CRS._Y0C._INT, IRF) And (\_SB.PCI0.LPC.PIRF, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQF) FindSetLeftBit (IRQF, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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 (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRG, 0x80, \_SB.PCI0.LPC.PIRG) } Method (_CRS, 0, NotSerialized) { Name (BUFG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0D) {} }) CreateWordField (BUFG, \_SB.PCI0.LNKG._CRS._Y0D._INT, IRG) And (\_SB.PCI0.LPC.PIRG, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQG) FindSetLeftBit (IRQG, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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 (\_SB.PCI0.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 (\_SB.PCI0.LPC.PIRH, 0x80, \_SB.PCI0.LPC.PIRH) } Method (_CRS, 0, NotSerialized) { Name (BUFH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0E) {} }) CreateWordField (BUFH, \_SB.PCI0.LNKH._CRS._Y0E._INT, IRH) And (\_SB.PCI0.LPC.PIRH, 0x8F, Local0) If (LLess (Local0, 0x80)) { And (Local0, 0x0F) Store (0x01, 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, 0x01, IRQH) FindSetLeftBit (IRQH, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.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) } } }