/* * Intel ACPI Component Architecture * AML Disassembler version 20060912 * * Disassembly of dsdt.dat, Sun Jan 28 11:37:57 2007 * * * Original Table Header: * Signature "DSDT" * Length 0x000037DF (14303) * Revision 0x01 * OEM ID "VIA " * OEM Table ID "PTL_ACPI" * OEM Revision 0x06040000 (100925440) * Creator ID "INTL" * Creator Revision 0x20060127 (537264423) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "VIA ", "PTL_ACPI", 0x06040000) { Scope (\) { Name (PICF, Zero) Method (_PIC, 1, NotSerialized) { Store (Arg0, PICF) } } Scope (_PR) { Processor (CPU0, 0x00, 0x00004010, 0x06) { Name (_PPC, Zero) } } Name (_S0, Package (0x02) { Zero, Zero }) Name (_S3, Package (0x02) { One, One }) Name (_S4, Package (0x02) { 0x02, 0x02 }) Name (_S5, Package (0x02) { 0x02, 0x02 }) Scope (_SB) { OperationRegion (PSIB, SystemIO, 0xFE00, 0x02) Field (PSIB, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (PSCB, SystemMemory, 0x3FEFAEBC, 0x90) Field (PSCB, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INF, 1024 } } Scope (_SB) { Name (OSTB, Ones) OperationRegion (OSTY, SystemMemory, 0x3FEFAF4C, One) Field (OSTY, AnyAcc, NoLock, Preserve) { TPOS, 8 } Method (OSTP, 0, NotSerialized) { If (LEqual (OSTB, Ones)) { If (CondRefOf (_OSI, Local0)) { If (_OSI ("Windows 2001.1")) { Store (0x20, OSTB) Store (0x20, TPOS) } Else { If (_OSI ("Windows 2001 SP1")) { Store (0x10, OSTB) Store (0x10, TPOS) } Else { If (_OSI ("Windows 2001")) { Store (0x08, OSTB) Store (0x08, TPOS) } Else { Store (Zero, OSTB) Store (Zero, TPOS) } } } } Else { If (CondRefOf (_OS, Local0)) { If (SEQL (_OS, "Microsoft Windows")) { Store (One, OSTB) Store (One, TPOS) } Else { If (SEQL (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, OSTB) Store (0x02, TPOS) } Else { If (SEQL (_OS, "Microsoft Windows NT")) { Store (0x04, OSTB) Store (0x04, TPOS) } Else { Store (Zero, OSTB) Store (Zero, TPOS) } } } } Else { Store (Zero, OSTB) Store (Zero, TPOS) } } } Return (OSTB) } Method (SEQL, 2, Serialized) { Store (SizeOf (Arg0), Local0) Store (SizeOf (Arg1), Local1) If (LNotEqual (Local0, Local1)) { Return (Zero) } Name (BUF0, Buffer (Local0) {}) Store (Arg0, BUF0) Name (BUF1, Buffer (Local0) {}) Store (Arg1, BUF1) Store (Zero, Local2) While (LLess (Local2, Local0)) { Store (DerefOf (Index (BUF0, Local2)), Local3) Store (DerefOf (Index (BUF1, Local2)), Local4) If (LNotEqual (Local3, Local4)) { Return (Zero) } Increment (Local2) } Return (One) } } Name (FWSO, "FWSO") Name (_PSC, Zero) Method (_PS0, 0, NotSerialized) { Store (_PSC, Local0) Store (Zero, _PSC) If (LEqual (Local0, 0x03)) { Store (One, \_SB.INF) While (\_SB.INF) { Store (0x20, \_SB.BCMD) Store (Zero, \_SB.SMIC) If (LAnd (LEqual (\_SB.INF, One), LGreaterEqual (\_SB.OSTB, 0x04))) { Sleep (0x01F4) } } } } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_PTS, 1, NotSerialized) { Store (One, \_SB.PCI0.PIB.USBW) Store (Zero, \_SB.PCI0.PIB.STRP) If (LEqual (Arg0, One)) { Store (One, \_SB.PCI0.PIB.GPSU) Store (One, \_SB.PCI0.VLNK) Store (One, \_SB.PCI0.VCLK) } If (LEqual (Arg0, 0x03)) { Store (Zero, \_SB.PCI0.PIB.GPSU) Store (One, \_SB.PCI0.PIB.STRP) } Store (0x82, \_SB.BCMD) Store (Zero, \_SB.SMIC) Store (0x80, \_SB.BCMD) Store (Zero, \_SB.SMIC) } Method (_WAK, 1, NotSerialized) { Store (Zero, \_SB.PCI0.PIB.USBW) Store (One, \_SB.PCI0.PIB.PWBS) If (LEqual (Arg0, One)) { Store (Zero, \_SB.PCI0.VLNK) Store (Zero, \_SB.PCI0.VCLK) } Store (0x81, \_SB.BCMD) Store (Zero, \_SB.SMIC) Return (Package (0x02) { Zero, Zero }) } Scope (_GPE) { Method (_L01, 0, NotSerialized) { If (LEqual (\_SB.PCI0.PIB.EC.WFNO, One)) { Notify (\_SB.LID, 0x02) Store (0x11, \_SB.PCI0.PIB.Z000) } If (LEqual (\_SB.PCI0.PIB.EC.WFNO, 0x03)) { Store (0x33, \_SB.PCI0.PIB.Z000) Notify (\_SB.PCI0, 0x02) } If (LEqual (\_SB.PCI0.PIB.EC.WFNO, 0x04)) { Store (0x44, \_SB.PCI0.PIB.Z000) Notify (\_SB.SLPB, 0x02) } } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0, 0x02) Notify (\_SB.PWB, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.AU97, 0x02) Notify (\_SB.PWB, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PCI0.USB3, 0x02) } } Scope (_SB) { Mutex (VSMX, 0x00) Method (Z001, 1, Serialized) { Store ("--------- VIA SOFTWARE SMI PMIO 2Fh ------------", Debug) Acquire (VSMX, 0xFFFF) Store (Arg0, ^PCI0.PIB.BCMD) Release (VSMX) } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x05, 0x05 }) Name (_BBN, Zero) Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_INI, 0, NotSerialized) { OSTP () } OperationRegion (NB00, PCI_Config, Zero, 0x0100) Field (NB00, ByteAcc, NoLock, Preserve) { Offset (0x47), , 2, VLNK, 1, Offset (0x57), EADD, 8, Offset (0x61), C0C3, 2, C4C7, 2, C8CB, 2, CCCF, 2, D0D3, 2, D4D7, 2, D8DB, 2, DCDF, 2, , 4, E0EF, 2, F0FF, 2, Offset (0x69), , 5, VCLK, 1 } Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, 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 ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length 0x00,, , TypeStatic) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length 0x00,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length 0x00,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length 0x00,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y00, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRES, \_SB.PCI0._Y00._MIN, TCMN) CreateDWordField (CRES, \_SB.PCI0._Y00._MAX, TCMX) CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, TOLN) Multiply (EADD, 0x01000000, TCMN) Subtract (0xFFE80000, TCMN, TOLN) Subtract (Add (TCMN, TOLN), One, TCMX) CreateBitField (CRES, \_SB.PCI0._Y01._RW, C0RW) CreateDWordField (CRES, \_SB.PCI0._Y01._MIN, C0MN) CreateDWordField (CRES, \_SB.PCI0._Y01._MAX, C0MX) CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, C0LN) Store (One, C0RW) If (LEqual (And (C0C3, 0x03), One)) { Store (Zero, C0RW) } Store (Zero, C0LN) If (LNot (And (C0C3, 0x03))) { Store (0x4000, C0LN) } CreateBitField (CRES, \_SB.PCI0._Y02._RW, C4RW) CreateDWordField (CRES, \_SB.PCI0._Y02._MIN, C4MN) CreateDWordField (CRES, \_SB.PCI0._Y02._MAX, C4MX) CreateDWordField (CRES, \_SB.PCI0._Y02._LEN, C4LN) Store (One, C4RW) If (LEqual (And (C4C7, 0x03), One)) { Store (Zero, C4RW) } Store (Zero, C4LN) If (LNot (And (C4C7, 0x03))) { Store (0x4000, C4LN) } CreateBitField (CRES, \_SB.PCI0._Y03._RW, C8RW) CreateDWordField (CRES, \_SB.PCI0._Y03._MIN, C8MN) CreateDWordField (CRES, \_SB.PCI0._Y03._MAX, C8MX) CreateDWordField (CRES, \_SB.PCI0._Y03._LEN, C8LN) Store (One, C8RW) If (LEqual (And (C8CB, 0x03), One)) { Store (Zero, C8RW) } Store (Zero, C8LN) If (LNot (And (C8CB, 0x03))) { Store (0x4000, C8LN) } CreateBitField (CRES, \_SB.PCI0._Y04._RW, CCRW) CreateDWordField (CRES, \_SB.PCI0._Y04._MIN, CCMN) CreateDWordField (CRES, \_SB.PCI0._Y04._MAX, CCMX) CreateDWordField (CRES, \_SB.PCI0._Y04._LEN, CCLN) Store (One, CCRW) If (LEqual (And (CCCF, 0x03), One)) { Store (Zero, CCRW) } Store (Zero, CCLN) If (LNot (And (CCCF, 0x03))) { Store (0x4000, CCLN) } CreateBitField (CRES, \_SB.PCI0._Y05._RW, D0RW) CreateDWordField (CRES, \_SB.PCI0._Y05._MIN, D0MN) CreateDWordField (CRES, \_SB.PCI0._Y05._MAX, D0MX) CreateDWordField (CRES, \_SB.PCI0._Y05._LEN, D0LN) Store (One, D0RW) If (LEqual (And (D0D3, 0x03), One)) { Store (Zero, D0RW) } Store (Zero, D0LN) If (LNot (And (D0D3, 0x03))) { Store (0x4000, D0LN) } CreateBitField (CRES, \_SB.PCI0._Y06._RW, D4RW) CreateDWordField (CRES, \_SB.PCI0._Y06._MIN, D4MN) CreateDWordField (CRES, \_SB.PCI0._Y06._MAX, D4MX) CreateDWordField (CRES, \_SB.PCI0._Y06._LEN, D4LN) Store (One, D4RW) If (LEqual (And (D4D7, 0x03), One)) { Store (Zero, D4RW) } Store (Zero, D4LN) If (LNot (And (D4D7, 0x03))) { Store (0x4000, D4LN) } CreateBitField (CRES, \_SB.PCI0._Y07._RW, D8RW) CreateDWordField (CRES, \_SB.PCI0._Y07._MIN, D8MN) CreateDWordField (CRES, \_SB.PCI0._Y07._MAX, D8MX) CreateDWordField (CRES, \_SB.PCI0._Y07._LEN, D8LN) Store (One, D8RW) If (LEqual (And (D8DB, 0x03), One)) { Store (Zero, D8RW) } Store (Zero, D8LN) If (LNot (And (D8DB, 0x03))) { Store (0x4000, D8LN) } CreateBitField (CRES, \_SB.PCI0._Y08._RW, DCRW) CreateDWordField (CRES, \_SB.PCI0._Y08._MIN, DCMN) CreateDWordField (CRES, \_SB.PCI0._Y08._MAX, DCMX) CreateDWordField (CRES, \_SB.PCI0._Y08._LEN, DCLN) Store (One, DCRW) If (LEqual (And (DCDF, 0x03), One)) { Store (Zero, DCRW) } Store (Zero, DCLN) If (LNot (And (DCDF, 0x03))) { Store (0x4000, DCLN) } CreateBitField (CRES, \_SB.PCI0._Y09._RW, E0RW) CreateDWordField (CRES, \_SB.PCI0._Y09._MIN, E0MN) CreateDWordField (CRES, \_SB.PCI0._Y09._MAX, E0MX) CreateDWordField (CRES, \_SB.PCI0._Y09._LEN, E0LN) Store (One, E0RW) If (LEqual (And (E0EF, 0x03), One)) { Store (Zero, E0RW) } Store (Zero, E0LN) If (LNot (And (E0EF, 0x03))) { Store (0x00010000, E0LN) } CreateBitField (CRES, \_SB.PCI0._Y0A._RW, F0RW) CreateDWordField (CRES, \_SB.PCI0._Y0A._MIN, F0MN) CreateDWordField (CRES, \_SB.PCI0._Y0A._MAX, F0MX) CreateDWordField (CRES, \_SB.PCI0._Y0A._LEN, F0LN) Store (One, F0RW) If (LEqual (And (F0FF, 0x03), One)) { Store (Zero, F0RW) } Store (Zero, F0LN) If (LNot (And (F0FF, 0x03))) { Store (0x00010000, F0LN) } Return (CRES) } Name (APIC, Package (0x18) { Package (0x04) { 0x0018FFFF, Zero, PIB.ALKA, Zero }, Package (0x04) { 0x0018FFFF, One, PIB.ALKA, Zero }, Package (0x04) { 0x0018FFFF, 0x02, PIB.ALKA, Zero }, Package (0x04) { 0x0018FFFF, 0x03, PIB.ALKA, Zero }, Package (0x04) { 0x0011FFFF, Zero, PIB.ALKA, Zero }, Package (0x04) { 0x0011FFFF, One, PIB.ALKB, Zero }, Package (0x04) { 0x0011FFFF, 0x02, PIB.ALKC, Zero }, Package (0x04) { 0x0011FFFF, 0x03, PIB.ALKD, Zero }, Package (0x04) { 0x0010FFFF, Zero, PIB.ALKD, Zero }, Package (0x04) { 0x0010FFFF, One, PIB.ALKD, Zero }, Package (0x04) { 0x0010FFFF, 0x02, PIB.ALKD, Zero }, Package (0x04) { 0x0010FFFF, 0x03, PIB.ALKD, Zero }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0008FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x000CFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x000EFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x000EFFFF, One, Zero, 0x13 }, Package (0x04) { 0x000EFFFF, 0x02, Zero, 0x13 } }) Name (PICM, Package (0x20) { Package (0x04) { 0x0018FFFF, Zero, PIB.LNKA, Zero }, Package (0x04) { 0x0018FFFF, One, PIB.LNKA, Zero }, Package (0x04) { 0x0018FFFF, 0x02, PIB.LNKA, Zero }, Package (0x04) { 0x0018FFFF, 0x03, PIB.LNKA, Zero }, Package (0x04) { 0x0001FFFF, Zero, PIB.LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, PIB.LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, PIB.LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, PIB.LNKD, Zero }, Package (0x04) { 0x0010FFFF, Zero, PIB.LNKA, Zero }, Package (0x04) { 0x0010FFFF, One, PIB.LNKB, Zero }, Package (0x04) { 0x0010FFFF, 0x02, PIB.LNKC, Zero }, Package (0x04) { 0x0010FFFF, 0x03, PIB.LNKD, Zero }, Package (0x04) { 0x0011FFFF, Zero, PIB.LNKC, Zero }, Package (0x04) { 0x0011FFFF, One, PIB.LNKD, Zero }, Package (0x04) { 0x0011FFFF, 0x02, PIB.LNKA, Zero }, Package (0x04) { 0x0011FFFF, 0x03, PIB.LNKB, Zero }, Package (0x04) { 0x0008FFFF, Zero, PIB.LNKA, Zero }, Package (0x04) { 0x0008FFFF, One, PIB.LNKB, Zero }, Package (0x04) { 0x0008FFFF, 0x02, PIB.LNKC, Zero }, Package (0x04) { 0x0008FFFF, 0x03, PIB.LNKD, Zero }, Package (0x04) { 0x0009FFFF, Zero, PIB.LNKB, Zero }, Package (0x04) { 0x0009FFFF, One, PIB.LNKC, Zero }, Package (0x04) { 0x0009FFFF, 0x02, PIB.LNKD, Zero }, Package (0x04) { 0x0009FFFF, 0x03, PIB.LNKA, Zero }, Package (0x04) { 0x000AFFFF, Zero, PIB.LNKC, Zero }, Package (0x04) { 0x000AFFFF, One, PIB.LNKD, Zero }, Package (0x04) { 0x000AFFFF, 0x02, PIB.LNKA, Zero }, Package (0x04) { 0x000AFFFF, 0x03, PIB.LNKB, Zero }, Package (0x04) { 0x000BFFFF, Zero, PIB.LNKD, Zero }, Package (0x04) { 0x000BFFFF, One, PIB.LNKA, Zero }, Package (0x04) { 0x000BFFFF, 0x02, PIB.LNKB, Zero }, Package (0x04) { 0x000BFFFF, 0x03, PIB.LNKC, Zero } }) Method (_PRT, 0, NotSerialized) { If (PICF) { Return (APIC) } Else { Return (PICM) } } Device (PIB) { Name (_ADR, 0x00110000) OperationRegion (IRQR, PCI_Config, Zero, 0x0100) Field (IRQR, ByteAcc, NoLock, Preserve) { Offset (0x50), , 1, ESB4, 1, ESB3, 1, , 1, ESB1, 1, ESB2, 1, AC97, 1, MC97, 1, , 2, PS2E, 1, Offset (0x55), , 4, PIRA, 4, PIRB, 4, PIRC, 4, , 4, PIRD, 4, Offset (0x88), PMBS, 16, Offset (0x94), , 4, GPSU, 1, SUSC, 1, STRP, 1, Offset (0x95), USBW, 1, Offset (0xD0), SMBS, 16, SMBC, 1 } OperationRegion (PMIO, SystemIO, 0x4000, 0x50) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x01), PWBS, 1, Offset (0x02), Offset (0x22), , 1, EGP1, 1, Offset (0x23), Offset (0x2A), PACT, 1, Offset (0x2F), BCMD, 8, , 5, CMAS, 1, CMBS, 1, Offset (0x31), Offset (0x34), , 5, CMAE, 1, CMBE, 1 } OperationRegion (Z002, SystemIO, 0x80, One) Field (Z002, ByteAcc, NoLock, Preserve) { Z000, 8 } Device (ALKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Name (_PRS, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000010, 0x00000011, 0x00000012, 0x00000013, 0x00000014, 0x00000015, 0x00000016, 0x00000017, } }) Method (_STA, 0, NotSerialized) { And (PIRA, 0xF0, Local0) If (LEqual (Local0, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { And (PIRA, 0x0F, PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y0B) { 0x00000000, } }) CreateWordField (BUFA, \_SB.PCI0.PIB.ALKA._CRS._Y0B._INT, IRAI) Store (PIRA, IRAI) Return (BUFA) } Method (_SRS, 1, NotSerialized) { } } Device (ALKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Name (_PRS, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000010, 0x00000011, 0x00000012, 0x00000013, 0x00000014, 0x00000015, 0x00000016, 0x00000017, } }) Method (_STA, 0, NotSerialized) { And (PIRB, 0xF0, Local0) If (LEqual (Local0, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { And (PIRB, 0x0F, PIRB) } Method (_CRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y0C) { 0x00000000, } }) CreateWordField (BUFB, \_SB.PCI0.PIB.ALKB._CRS._Y0C._INT, IRBI) Store (PIRB, IRBI) Return (BUFB) } Method (_SRS, 1, NotSerialized) { } } Device (ALKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Name (_PRS, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000016, } }) Method (_STA, 0, NotSerialized) { And (PIRC, 0xF0, Local0) If (LEqual (Local0, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { And (PIRC, 0x0F, PIRC) } Method (_CRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y0D) { 0x00000000, } }) CreateWordField (BUFC, \_SB.PCI0.PIB.ALKC._CRS._Y0D._INT, IRCI) Store (PIRC, IRCI) Return (BUFC) } Method (_SRS, 1, NotSerialized) { } } Device (ALKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Name (_PRS, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Method (_STA, 0, NotSerialized) { And (PIRD, 0xF0, Local0) If (LEqual (Local0, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { And (PIRD, 0x0F, PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y0E) { 0x00000000, } }) CreateWordField (BUFD, \_SB.PCI0.PIB.ALKD._CRS._Y0E._INT, IRDI) Store (PIRD, IRDI) Return (BUFD) } Method (_SRS, 1, NotSerialized) { } } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {9} }) Method (_DIS, 0, NotSerialized) { Store (Zero, PIRA) } Method (_STA, 0, NotSerialized) { If (LEqual (PIRA, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateByteField (BUFA, One, IRA1) CreateByteField (BUFA, 0x02, IRA2) Store (PIRA, Local0) If (LGreater (Local0, Zero)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local0) Store (One, Local1) ShiftLeft (Local1, Local0, IRA2) } Else { Store (One, Local1) ShiftLeft (Local1, Local0, IRA1) } } Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, One, IRA1) CreateByteField (Arg0, 0x02, IRA2) If (LGreater (IRA2, Zero)) { FindSetLeftBit (IRA2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRA1, Local0) Decrement (Local0) } Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {11} }) Method (_DIS, 0, NotSerialized) { Store (Zero, PIRB) } Method (_STA, 0, NotSerialized) { If (LEqual (PIRB, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_CRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateByteField (BUFB, One, IRB1) CreateByteField (BUFB, 0x02, IRB2) Store (PIRB, Local0) If (LGreater (Local0, Zero)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local0) Store (One, Local1) ShiftLeft (Local1, Local0, IRB2) } Else { Store (One, Local1) ShiftLeft (Local1, Local0, IRB1) } } Return (BUFB) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, One, IRB1) CreateByteField (Arg0, 0x02, IRB2) If (LGreater (IRB2, Zero)) { FindSetLeftBit (IRB2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRB1, Local0) Decrement (Local0) } Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_DIS, 0, NotSerialized) { Store (Zero, PIRC) } Method (_STA, 0, NotSerialized) { If (LEqual (PIRC, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_CRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateByteField (BUFC, One, IRC1) CreateByteField (BUFC, 0x02, IRC2) Store (PIRC, Local0) If (LGreater (Local0, Zero)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local0) Store (One, Local1) ShiftLeft (Local1, Local0, IRC2) } Else { Store (One, Local1) ShiftLeft (Local1, Local0, IRC1) } } Return (BUFC) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, One, IRC1) CreateByteField (Arg0, 0x02, IRC2) If (LGreater (IRC2, Zero)) { FindSetLeftBit (IRC2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRC1, Local0) Decrement (Local0) } Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5} }) Method (_DIS, 0, NotSerialized) { Store (Zero, PIRD) } Method (_STA, 0, NotSerialized) { If (LEqual (PIRD, Zero)) { Return (0x09) } Else { Return (0x0B) } } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateByteField (BUFD, One, IRD1) CreateByteField (BUFD, 0x02, IRD2) Store (PIRD, Local0) If (LGreater (Local0, Zero)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local2) Store (One, Local1) ShiftLeft (Local1, Local2, Local3) Store (Local3, IRD2) } Else { Store (One, Local1) ShiftLeft (Local1, Local0, Local2) Store (Local2, IRD1) } } Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, One, IRD1) CreateByteField (Arg0, 0x02, IRD2) If (LGreater (IRD2, Zero)) { FindSetLeftBit (IRD2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRD1, Local0) Decrement (Local0) } Store (Local0, PIRD) } } Device (DMA1) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8, ) {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 ) }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode10, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x06, // Length ) IRQNoFlags () {8} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Method (_STA, 0, NotSerialized) { Return (0x0F) } 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 (COPR) { Name (_HID, EisaId ("PNP0C04")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (SPKR) { Method (_STA, 0, NotSerialized) { Return (0x0F) } 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")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_CRS, 0, NotSerialized) { Name (SMEM, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x000A0000, // Address Length ) Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFF00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFEE0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00400, // Address Base 0x00000C00, // Address Length ) }) Return (SMEM) } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_CRS, 0, NotSerialized) { If (SMBC) { Name (RSR2, ResourceTemplate () { IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xE680, // Range Minimum 0xE680, // Range Maximum 0x01, // Alignment 0x6E, // Length ) IO (Decode16, 0xE6F2, // Range Minimum 0xE6F2, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE10, // Range Minimum 0xFE10, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x8000, // Range Minimum 0x8000, // Range Maximum 0x01, // Alignment 0x80, // Length _Y0F) IO (Decode16, 0x8100, // Range Minimum 0x8100, // Range Maximum 0x01, // Alignment 0x20, // Length _Y10) }) CreateWordField (RSR2, \_SB.PCI0.PIB.SYSR._CRS._Y0F._MIN, PMMI) CreateWordField (RSR2, \_SB.PCI0.PIB.SYSR._CRS._Y0F._MAX, PMMA) CreateWordField (RSR2, \_SB.PCI0.PIB.SYSR._CRS._Y10._MIN, SMMI) CreateWordField (RSR2, \_SB.PCI0.PIB.SYSR._CRS._Y10._MAX, SMMA) And (PMBS, 0xFFFE, PMMI) Store (PMMI, PMMA) And (SMBS, 0xFFF0, SMMI) Store (SMMI, SMMA) Return (RSR2) } Else { Name (RSR1, ResourceTemplate () { IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xE680, // Range Minimum 0xE680, // Range Maximum 0x01, // Alignment 0x6E, // Length ) IO (Decode16, 0xE6F2, // Range Minimum 0xE6F2, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0xFE10, // Range Minimum 0xFE10, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x8000, // Range Minimum 0x8000, // Range Maximum 0x01, // Alignment 0x80, // Length _Y11) }) CreateWordField (RSR1, \_SB.PCI0.PIB.SYSR._CRS._Y11._MIN, IOMI) CreateWordField (RSR1, \_SB.PCI0.PIB.SYSR._CRS._Y11._MAX, IOMA) And (PMBS, 0xFFFE, IOMI) Store (IOMI, IOMA) Return (RSR1) } } } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } OperationRegion (WIN1, SystemIO, 0x2E, 0x02) Field (WIN1, ByteAcc, NoLock, Preserve) { INDL, 8, DATL, 8 } IndexField (INDL, DATL, ByteAcc, NoLock, Preserve) { Offset (0x02), CFG, 8, Offset (0x07), LDNR, 8, Offset (0x20), IDHI, 8, IDLO, 8, POWC, 8, Offset (0x30), ACTR, 8, Offset (0x60), ADRH, 8, ADRL, 8, Offset (0x70), IRQN, 8, Offset (0x74), DMAN, 8, Offset (0xF0), MOD1, 8, OPT1, 8 } Method (ENFL, 0, NotSerialized) { Store (0x87, INDL) Store (0x87, INDL) } Method (EXFL, 0, NotSerialized) { Store (0xAA, INDL) } Device (UAR1) { Name (_HID, EisaId ("PNP0501")) Name (_UID, One) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_STA, 0, NotSerialized) { ENFL () Store (0x02, LDNR) Store (Zero, Local0) Store (One, ACTR) If (ACTR) { Store (0x0F, Local0) } Else { If (LNotEqual (ADRH, Zero)) { Store (0x0D, Local0) } } EXFL () Return (Local0) } Method (_DIS, 0, NotSerialized) { ENFL () Store (0x02, LDNR) Store (Zero, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { And (_STA (), 0x04, Local0) If (LEqual (Local0, Zero)) { Return (RSRC) } Name (BUF1, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length _Y12) IRQNoFlags (_Y13) {4} }) CreateByteField (BUF1, \_SB.PCI0.PIB.UAR1._CRS._Y12._MIN, IOLO) CreateByteField (BUF1, 0x03, IOHI) CreateByteField (BUF1, \_SB.PCI0.PIB.UAR1._CRS._Y12._MAX, IORL) CreateByteField (BUF1, 0x05, IORH) CreateWordField (BUF1, \_SB.PCI0.PIB.UAR1._CRS._Y13._INT, IRQV) ENFL () Store (0x02, LDNR) ShiftLeft (ADRH, 0x02, Local0) ShiftRight (ADRH, 0x06, Local1) Store (Local0, IOLO) Store (Local1, IOHI) Store (Local0, IORL) Store (Local1, IORH) Store (Zero, IRQV) If (LNotEqual (IRQN, Zero)) { ShiftLeft (One, IRQN, IRQV) } EXFL () Return (BUF1) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) ENFL () Store (0x02, LDNR) Store (One, ACTR) ShiftRight (IOLO, 0x02, Local0) ShiftLeft (IOHI, 0x06, Local1) Or (Local0, Local1, ADRH) FindSetLeftBit (IRQW, Local0) If (LNotEqual (Local0, Zero)) { Subtract (Local0, One, Local0) } Store (Local0, IRQN) EXFL () } } Device (UAR2) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x02) Name (_PRW, Package (0x02) { 0x08, 0x04 }) Method (_PSW, 1, NotSerialized) { Store (One, CMBS) Store (Zero, PACT) If (Arg0) { Store (One, CMBE) } Else { Store (Zero, CMBE) } } Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_STA, 0, NotSerialized) { ENFL () Store (0x03, LDNR) Store (Zero, Local0) If (ACTR) { Store (0x0F, Local0) } Else { If (LNotEqual (ADRH, Zero)) { Store (Zero, Local0) } } EXFL () Return (Local0) } Method (_DIS, 0, NotSerialized) { ENFL () Store (0x03, LDNR) Store (Zero, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { And (_STA (), 0x04, Local0) If (LEqual (Local0, Zero)) { Return (RSRC) } Name (BUF1, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length _Y14) IRQNoFlags (_Y15) {4} }) CreateByteField (BUF1, \_SB.PCI0.PIB.UAR2._CRS._Y14._MIN, IOLO) CreateByteField (BUF1, 0x03, IOHI) CreateByteField (BUF1, \_SB.PCI0.PIB.UAR2._CRS._Y14._MAX, IORL) CreateByteField (BUF1, 0x05, IORH) CreateWordField (BUF1, \_SB.PCI0.PIB.UAR2._CRS._Y15._INT, IRQV) ENFL () Store (0x03, LDNR) ShiftLeft (ADRH, 0x02, Local0) ShiftRight (ADRH, 0x06, Local1) Store (Local0, IOLO) Store (Local1, IOHI) Store (Local0, IORL) Store (Local1, IORH) Store (Zero, IRQV) If (LNotEqual (IRQN, Zero)) { ShiftLeft (One, IRQN, IRQV) } EXFL () Return (BUF1) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {3} } StartDependentFn (0x02, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {4} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) ENFL () Store (0x03, LDNR) Store (One, ACTR) ShiftRight (IOLO, 0x02, Local0) ShiftLeft (IOHI, 0x06, Local1) Or (Local0, Local1, ADRH) FindSetLeftBit (IRQW, Local0) If (LNotEqual (Local0, Zero)) { Subtract (Local0, One, Local0) } Store (Local0, IRQN) EXFL () } } Device (LPT1) { Name (PIOM, Buffer (One) { /* 0000 */ 0x00 }) CreateByteField (PIOM, Zero, LPTM) Name (_HID, EisaId ("PNP0400")) Method (_STA, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (ACTR, Local0) And (Local0, 0x03, Local0) If (LEqual (Local0, 0x03)) { Store (0x0D, Local1) } Else { If (LEqual (Local0, One)) { Store (Zero, Local1) } Else { Store (Local0, LPTM) Store (0x0F, Local1) } } If (LEqual (ADRH, Zero)) { Store (0x0D, Local1) } EXFL () Return (Local1) } Method (_DIS, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (0x03, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { Name (BUFL, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length _Y16) IRQNoFlags (_Y17) {7} }) CreateWordField (BUFL, \_SB.PCI0.PIB.LPT1._CRS._Y16._MIN, IMIN) CreateWordField (BUFL, \_SB.PCI0.PIB.LPT1._CRS._Y16._MAX, IMAX) CreateByteField (BUFL, \_SB.PCI0.PIB.LPT1._CRS._Y16._ALN, LALN) CreateByteField (BUFL, \_SB.PCI0.PIB.LPT1._CRS._Y16._LEN, LLEN) CreateWordField (BUFL, \_SB.PCI0.PIB.LPT1._CRS._Y17._INT, IRQ0) ENFL () Store (One, LDNR) Store (ADRH, Local0) ShiftLeft (Local0, 0x02, Local0) Store (Local0, IMIN) Store (Local0, IMAX) If (LEqual (IMIN, 0x03BC)) { Store (0x04, LALN) Store (0x04, LLEN) } Else { Store (0x08, LALN) Store (0x08, LLEN) } Store (IRQN, Local0) ShiftLeft (One, Local0, IRQ0) EXFL () Return (BUFL) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {7} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQ0) ENFL () Store (One, LDNR) Store (IOLO, Local0) ShiftRight (Local0, 0x02, Local0) Store (IOHI, Local1) ShiftLeft (Local1, 0x06, Local1) Or (Local0, Local1, Local0) Store (Local0, ADRH) FindSetRightBit (IRQ0, Local0) If (LGreater (Local0, Zero)) { Decrement (Local0) } Store (Local0, IRQN) Store (ACTR, Local0) And (Local0, 0xFC, Local0) Store (LPTM, Local1) Or (Local0, Local1, Local1) Store (Local1, ACTR) EXFL () } } Device (ECP1) { Name (_HID, EisaId ("PNP0401")) Method (_STA, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (ACTR, Local0) And (Local0, 0x03, Local0) If (LEqual (Local0, One)) { Store (0x0F, Local1) } Else { If (LOr (LEqual (Local0, Zero), LEqual (Local0, 0x02))) { Store (Zero, Local1) } Else { If (LEqual (Local0, 0x03)) { If (LNotEqual (DMAN, Zero)) { Store (0x0D, Local1) } Else { Store (Zero, Local1) } } } } If (LEqual (ADRH, Zero)) { Store (0x0D, Local1) } EXFL () Return (Local1) } Method (_DIS, 0, NotSerialized) { ENFL () Store (One, LDNR) Store (0x03, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { Name (BUFE, ResourceTemplate () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length _Y18) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x04, // Alignment 0x04, // Length _Y19) IRQNoFlags (_Y1A) {7} DMA (Compatibility, NotBusMaster, Transfer8, _Y1B) {3} }) CreateWordField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y18._MIN, IMI1) CreateWordField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y18._MAX, IMA1) CreateByteField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y18._ALN, ALN1) CreateByteField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y18._LEN, LEN1) CreateWordField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y19._MIN, IMI2) CreateWordField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y19._MAX, IMA2) CreateWordField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y1A._INT, IRQ0) CreateByteField (BUFE, \_SB.PCI0.PIB.ECP1._CRS._Y1B._DMA, DMA0) ENFL () Store (One, LDNR) Store (ADRH, Local0) ShiftLeft (Local0, 0x02, Local0) Store (Local0, IMI1) Store (Local0, IMA1) Add (Local0, 0x0400, Local0) Store (Local0, IMI2) Store (Local0, IMA2) If (LEqual (IMI1, 0x03BC)) { Store (0x04, ALN1) Store (0x04, LEN1) } Else { Store (0x08, ALN1) Store (0x08, LEN1) } Store (IRQN, Local0) ShiftLeft (One, Local0, IRQ0) Store (DMAN, Local0) And (Local0, 0x03, Local0) ShiftLeft (One, Local0, DMA0) EXFL () Return (BUFE) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {1,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {1,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IO (Decode16, 0x07BC, // Range Minimum 0x07BC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {1,3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x11, IRQ0) CreateByteField (Arg0, 0x14, DMA0) ENFL () Store (One, LDNR) Store (IOLO, Local0) ShiftRight (Local0, 0x02, Local0) Store (IOHI, Local1) ShiftLeft (Local1, 0x06, Local1) Or (Local0, Local1, Local0) Store (Local0, ADRH) FindSetRightBit (IRQ0, Local0) If (LGreater (Local0, Zero)) { Decrement (Local0) } Store (Local0, IRQN) FindSetRightBit (DMA0, Local0) If (LGreater (Local0, Zero)) { Decrement (Local0) } Store (Local0, DMAN) Store (ACTR, Local0) And (Local0, 0xFC, Local0) Or (Local0, One, Local0) Store (Local0, ACTR) EXFL () } } Device (FIR0) { Name (_HID, EisaId ("VIA3076")) Method (_STA, 0, NotSerialized) { ENFL () Store (0x0C, LDNR) Store (Zero, Local0) If (ACTR) { Store (0x0F, Local0) } Else { If (LOr (ADRL, ADRH)) { Store (0x0D, Local0) } } EXFL () Return (Local0) } Method (_DIS, 0, NotSerialized) { ENFL () Store (0x0C, LDNR) Store (Zero, ACTR) EXFL () } Method (_CRS, 0, NotSerialized) { Name (BUFI, ResourceTemplate () { IO (Decode16, 0xE600, // Range Minimum 0xE600, // Range Maximum 0x01, // Alignment 0x80, // Length _Y1C) IRQNoFlags (_Y1D) {11} DMA (Compatibility, BusMaster, Transfer16, _Y1E) {6} }) CreateWordField (BUFI, \_SB.PCI0.PIB.FIR0._CRS._Y1C._MIN, IMIN) CreateWordField (BUFI, \_SB.PCI0.PIB.FIR0._CRS._Y1C._MAX, IMAX) CreateWordField (BUFI, \_SB.PCI0.PIB.FIR0._CRS._Y1D._INT, IRQ0) CreateByteField (BUFI, \_SB.PCI0.PIB.FIR0._CRS._Y1E._DMA, DMA0) ENFL () Store (0x0C, LDNR) Store (ADRH, Local1) Store (ADRL, Local0) ShiftLeft (Local1, 0x08, Local1) Or (Local1, Local0, Local0) Store (Local0, IMIN) Store (Local0, IMAX) Store (IRQN, Local0) And (Local0, 0x0F, Local0) Store (One, Local1) ShiftLeft (Local1, Local0, IRQ0) Store (DMAN, Local0) And (Local0, 0x03, Local0) If (LEqual (Local0, Zero)) { Store (Zero, DMA0) } Else { Add (Local0, 0x04, Local0) Store (One, Local1) ShiftLeft (Local1, Local0, DMA0) } EXFL () Return (BUFI) } Name (_PRS, ResourceTemplate () { IO (Decode16, 0xE600, // Range Minimum 0xE600, // Range Maximum 0x01, // Alignment 0x80, // Length ) IRQNoFlags () {3,4,5,11} DMA (Compatibility, BusMaster, Transfer16, ) {5,6} }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQ0) CreateByteField (Arg0, 0x0C, DMA0) ENFL () Store (0x0C, LDNR) Store (0xE600, Local0) Store (Local0, Local1) ShiftRight (Local0, 0x08, Local0) Store (Local0, ADRH) And (Local1, 0xFF, Local1) Store (Local1, ADRL) FindSetRightBit (IRQ0, Local0) If (LGreater (Local0, Zero)) { Decrement (Local0) } Store (Local0, IRQN) FindSetRightBit (DMA0, Local0) If (LGreater (Local0, 0x04)) { Subtract (Local0, 0x04, Local0) } Store (Local0, Local1) ShiftLeft (Local1, 0x02, Local1) Or (Local0, Local1, Local0) Store (Local0, DMAN) Store (One, ACTR) EXFL () } } Device (EC) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x0B) Name (ECOK, Zero) Name (ACST, Zero) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECOK) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) OperationRegion (RAM, EmbeddedControl, Zero, 0xFF) Field (RAM, ByteAcc, Lock, Preserve) { NMSG, 8, SLED, 4, Offset (0x02), MODE, 1, FAN0, 1, TME0, 1, TME1, 1, FAN1, 1, , 2, Offset (0x03), LIDS, 1, LSW0, 1, LWKE, 1, WAKF, 1, , 2, PWKE, 1, MWKE, 1, AC0, 16, PSV, 16, CRT, 16, TMP, 16, AC1, 16, SLPT, 8, SWEJ, 1, SWCH, 1, Offset (0x10), ADP, 1, AFLT, 1, BAT0, 1, BAT1, 1, , 3, PWOF, 1, WFNO, 8, BPU0, 32, BDC0, 32, BFC0, 32, BTC0, 32, BDV0, 32, BST0, 32, BPR0, 32, BRC0, 32, BPV0, 32, BTP0, 16, BRS0, 16, BCW0, 32, BCL0, 32, BCG0, 32, BG20, 32, BMO0, 64, BIF0, 64, BSN0, 32, BTY0, 64, BCC0, 16, REV0, 16, REV1, 32, REV3, 32, BPU1, 32, BDC1, 32, BFC1, 32, BTC1, 32, BDV1, 32, BST1, 32, BPR1, 32, BRC1, 32, BPV1, 32, BTP1, 16, BRS1, 16, BCW1, 32, BCL1, 32, BCG1, 32, BG21, 32, BMO1, 64, BIF1, 64, BSN1, 32, BTY1, 64, BCC1, 16 } Method (_Q0A, 0, NotSerialized) { Notify (^^^^BAT0, 0x80) } Method (_Q0D, 0, NotSerialized) { Notify (SLPB, 0x80) } Method (_Q10, 0, NotSerialized) { Store (0x83, ^^^^BCMD) Store (Zero, SMIC) } Method (_Q16, 0, NotSerialized) { Notify (AC, 0x80) Notify (\_TZ.THRM, 0x81) Notify (\_TZ.THRM, 0x80) } Method (_Q17, 0, NotSerialized) { Notify (^^^^BAT0, 0x81) Notify (\_TZ.THRM, 0x81) Notify (\_TZ.THRM, 0x80) } Method (_Q19, 0, NotSerialized) { } Method (_Q1B, 0, NotSerialized) { Notify (LID, 0x80) } Method (_Q1C, 0, NotSerialized) { Notify (\_TZ.THRM, 0x81) Notify (\_TZ.THRM, 0x80) } Method (_Q1D, 0, NotSerialized) { Store (0x1D, Z000) } Method (_Q21, 0, NotSerialized) { Notify (^^^^BAT0, 0x80) } } } Device (AU97) { Name (_ADR, 0x00110005) OperationRegion (SB75, PCI_Config, Zero, 0x80) Field (SB75, ByteAcc, NoLock, Preserve) { Offset (0x2C), AD2C, 32, Offset (0x42), , 5, Z003, 1 } Method (_STA, 0, NotSerialized) { If (^^PIB.AC97) { Return (Zero) } Else { Return (0x0F) } } Name (Z004, Zero) Method (_PS0, 0, NotSerialized) { If (LEqual (AD2C, Zero)) { Store (One, Z003) Store (Z004, AD2C) Store (Zero, Z003) } Else { Store (AD2C, Z004) } } Method (_PS3, 0, NotSerialized) { Store (AD2C, Z004) } } Device (MD97) { Name (_ADR, 0x00110006) OperationRegion (SB76, PCI_Config, Zero, 0x80) Field (SB76, ByteAcc, NoLock, Preserve) { Offset (0x2C), MD2C, 32, Offset (0x44), , 4, Z005, 1 } Method (_STA, 0, NotSerialized) { If (^^PIB.MC97) { Return (Zero) } Else { Return (0x0F) } } Name (Z004, Zero) Method (_PS0, 0, NotSerialized) { If (LEqual (MD2C, Zero)) { Store (One, Z005) Store (Z004, MD2C) Store (Zero, Z005) } Else { Store (MD2C, Z004) } } Method (_PS3, 0, NotSerialized) { Store (MD2C, Z004) } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Name (REGT, Package (0x15) { 0x10, 0x20, 0x21, 0x22, 0x23, 0x33, 0x34, 0x35, 0x36, 0x37, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x5C, 0x5D, 0x5E, 0x5F, 0x6F }) Name (DMTT, Package (0x07) { 0x0F, 0x14, 0x1E, 0x2D, 0x3C, 0x4B, 0x78 }) Name (PIOT, Package (0x07) { 0x0258, 0x017F, 0xF0, 0xB4, 0x78, 0x5A, Zero }) Device (IDE) { Name (_ADR, 0x00110001) OperationRegion (PCI, PCI_Config, 0x48, 0x60) Field (PCI, DWordAcc, NoLock, Preserve) { SDR1, 8, SDR0, 8, PDR1, 8, PDR0, 8, SDST, 4, PDST, 4, Offset (0x08), UDMS, 16, UDMP, 16 } Name (Z006, Zero) Name (Z007, Zero) Method (_PS3, 0, NotSerialized) { And (UDMP, 0x10, Z006) And (UDMS, 0x10, Z007) } Method (_PS0, 0, NotSerialized) { If (Z006) { Or (UDMP, Z006, Local0) Or (Local0, ShiftLeft (Z006, 0x08), UDMP) } If (Z007) { Or (UDMS, Z007, Local0) Or (Local0, ShiftLeft (Z007, 0x08), UDMS) } } Method (GIDX, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, Local1) } Else { If (LEqual (Arg0, 0x0E)) { Store (0x06, Local1) } Else { Add (ShiftRight (Arg0, One), One, Local1) } } Return (Local1) } Method (RIDX, 1, NotSerialized) { Store (Zero, Local0) While (NAnd (LLess (Local0, 0x07), LEqual (DerefOf (Index (DMTT, Local0 )), Arg0))) { Increment (Local0) } If (Local0) { If (LGreater (Local0, 0x06)) { Store (0x0E, Local0) } Else { Subtract (ShiftLeft (Local0, One), One, Local0) If (LNotEqual (Local0, One)) { Decrement (Local0) } } } Return (Local0) } Method (GTM, 3, NotSerialized) { Store (Buffer (0x14) {}, Local0) CreateDWordField (Local0, Zero, PIO0) CreateDWordField (Local0, 0x04, DMA0) CreateDWordField (Local0, 0x08, PIO1) CreateDWordField (Local0, 0x0C, DMA1) CreateDWordField (Local0, 0x10, FLAG) Store (Zero, FLAG) Or (FLAG, 0x10, FLAG) Add (And (Arg1, 0x0F), ShiftRight (Arg1, 0x04), Local1) Add (Local1, 0x02, Local1) Multiply (Local1, 0x1E, PIO0) Or (FLAG, 0x02, FLAG) Add (And (Arg2, 0x0F), ShiftRight (Arg2, 0x04), Local1) Add (Local1, 0x02, Local1) Multiply (Local1, 0x1E, PIO1) Or (FLAG, 0x08, FLAG) And (Arg0, 0x0F, Local1) If (And (Arg0, 0xE0)) { Or (FLAG, 0x04, FLAG) Store (GIDX (Local1), Local1) } Else { Store (0x06, Local1) } Store (DerefOf (Index (DMTT, Local1)), DMA1) ShiftRight (And (Arg0, 0x0F00), 0x08, Local1) If (And (Arg0, 0xE000)) { Or (FLAG, One, FLAG) Store (GIDX (Local1), Local1) } Else { Store (0x06, Local1) } Store (DerefOf (Index (DMTT, Local1)), DMA0) Return (Local0) } Method (STM, 3, NotSerialized) { Store (Buffer (0x05) {}, Local7) CreateWordField (Local7, Zero, UDMT) CreateWordField (Local7, 0x02, PIOT) CreateByteField (Local7, 0x04, R4CT) CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (FLAG, Local4) Store (0x0E0E, Local1) If (And (Local4, One)) { And (Local1, 0x0F, Local1) Store (RIDX (DMA0), Local3) Or (Local3, 0xE0, Local3) Or (ShiftLeft (Local3, 0x08), Local1, Local1) } If (And (Local4, 0x04)) { And (Local1, 0xFF00, Local1) Store (RIDX (DMA1), Local3) Or (Local3, 0xE0, Local3) Or (Local3, Local1, Local1) } Store (Local1, UDMT) Store (0x0A, Local2) If (And (Local4, 0x02)) { Divide (PIO0, 0x1E, , Local3) Subtract (Local3, 0x03, Local3) If (LLess (Local3, 0x0C)) { And (Local2, 0x03, Local2) Or (Local2, 0x04, Local2) } Store (ShiftLeft (DerefOf (Index (REGT, Local3)), 0x08), Local6) } Else { Store (Zero, Local6) } If (And (Local4, 0x08)) { Divide (PIO1, 0x1E, , Local3) Subtract (Local3, 0x03, Local3) If (LLess (Local3, 0x0C)) { And (Local2, 0x0C, Local2) Or (Local2, One, Local2) } Store (DerefOf (Index (REGT, Local3)), Local6) } Else { Store (And (Local6, 0xFF00), Local6) } Store (Local2, R4CT) Store (Local6, PIOT) Return (Local7) } Method (GTF, 3, NotSerialized) { If (Arg2) { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) } Else { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local7) } CreateByteField (Local7, One, MODE) Add (And (Arg0, 0x0F), ShiftRight (Arg0, 0x04), Local1) Add (Local1, 0x02, Local1) Multiply (Local1, 0x1E, Local0) Store (Match (PIOT, MLT, Local0, MTR, Zero, Zero), Local1) If (Local1) { Decrement (Local1) } If (And (Arg1, 0xE0)) { Store (GIDX (And (Arg1, 0x0F)), Local0) If (LGreater (Local0, 0x06)) { Store (Zero, Local0) } Else { Subtract (0x06, Local0, Local0) } Or (Local0, 0x40, MODE) } Else { Or (Local1, 0x08, MODE) } Concatenate (Local7, Local7, Local6) Or (Local1, 0x08, MODE) Concatenate (Local6, Local7, Local5) Return (Local5) } Device (PRIM) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Store ("GTM - Primary Controller", Debug) Store (GTM (UDMP, PDR0, PDR1), Local0) Return (Local0) } Method (_STM, 3, NotSerialized) { Store ("STM - Primary Controller", Debug) Store (STM (Arg0, Arg1, Arg2), Local0) CreateWordField (Local0, Zero, UDMA) CreateWordField (Local0, 0x02, PIOM) CreateByteField (Local0, 0x04, ADST) Store (Or (UDMA, And (UDMP, 0x1010)), UDMP) Store (And (PIOM, 0xFF), Local1) If (Local1) { Store (Local1, PDR1) } ShiftRight (PIOM, 0x08, Local1) If (Local1) { Store (Local1, PDR0) } Store (ADST, PDST) } Device (MAST) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store ("GTF - Primary Master", Debug) ShiftRight (UDMP, 0x08, Local0) Store (GTF (PDR0, Local0, One), Local0) Return (Local0) } } Device (SLAV) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store ("GTF - Primary Slave", Debug) Store (GTF (PDR1, UDMP, Zero), Local0) Return (Local0) } } } Device (SECN) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Store ("GTM - Secondary Controller", Debug) Store (GTM (UDMS, SDR0, SDR1), Local0) Return (Local0) } Method (_STM, 3, NotSerialized) { Store ("STM - Secondary Controller", Debug) Store (STM (Arg0, Arg1, Arg2), Local0) CreateWordField (Local0, Zero, DMAS) CreateWordField (Local0, 0x02, PIOS) CreateByteField (Local0, 0x04, ADSS) Store (Or (DMAS, And (UDMS, 0x1010)), UDMS) And (PIOS, 0xFF, Local1) If (Local1) { Store (Local1, SDR1) } ShiftRight (PIOS, 0x08, Local1) If (Local1) { Store (Local1, SDR0) } Store (ADSS, SDST) } Device (MAST) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Store ("GTF - Secondary Master", Debug) ShiftRight (UDMS, 0x08, Local0) Store (GTF (SDR0, Local0, One), Local0) Return (Local0) } } Device (SLAV) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Store ("GTF - Secondary Slave", Debug) Store (GTF (SDR1, UDMS, Zero), Local0) Return (Local0) } } } } Device (USB1) { Name (_ADR, 0x00100000) Method (_STA, 0, NotSerialized) { If (^^PIB.ESB1) { Return (Zero) } Else { Return (0x0F) } } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x02) } } Device (USB2) { Name (_ADR, 0x00100001) Method (_STA, 0, NotSerialized) { If (^^PIB.ESB2) { Return (Zero) } Else { Return (0x0F) } } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x02) } } Device (USB3) { Name (_ADR, 0x00100002) Method (_STA, 0, NotSerialized) { If (^^PIB.ESB3) { Return (Zero) } Else { Return (0x0F) } } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x02) } } Device (USB4) { Name (_ADR, 0x00100003) Method (_STA, 0, NotSerialized) { If (^^PIB.ESB4) { Return (Zero) } Else { Return (0x0F) } } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_PCL, Package (0x01) { _SB }) Name (PBIF, Package (0x0D) { One, Ones, Ones, One, Ones, 0xA0, 0x64, 0x40, 0x40, " ", " ", " ", " " }) Name (BUF0, Package (0x0D) { One, 0x07D0, 0x07D0, One, 0x2B5C, 0xA0, 0x64, 0x40, 0x40, " ", " ", "LION", " " }) Name (PBST, Package (0x04) { Zero, Ones, Ones, Ones }) Name (TMP0, Package (0x04) { Zero, Ones, Ones, Ones }) Method (_STA, 0, NotSerialized) { If (^^PCI0.PIB.EC.ECOK) { If (^^PCI0.PIB.EC.BAT0) { Return (0x1F) } Else { Return (0x0F) } } Else { Return (0x0F) } } Method (_BIF, 0, NotSerialized) { If (^^PCI0.PIB.EC.ECOK) { Store (^^PCI0.PIB.EC.BDC0, Index (BUF0, One)) Store (^^PCI0.PIB.EC.BFC0, Index (BUF0, 0x02)) Store (^^PCI0.PIB.EC.BTC0, Index (BUF0, 0x03)) Store (^^PCI0.PIB.EC.BDV0, Index (BUF0, 0x04)) Store (^^PCI0.PIB.EC.BCW0, Index (BUF0, 0x05)) Store (^^PCI0.PIB.EC.BCL0, Index (BUF0, 0x06)) Store (^^PCI0.PIB.EC.BCG0, Index (BUF0, 0x07)) Store (^^PCI0.PIB.EC.BG20, Index (BUF0, 0x08)) Store (^^PCI0.PIB.EC.BMO0, Index (BUF0, 0x09)) Store (^^PCI0.PIB.EC.BIF0, Index (BUF0, 0x0C)) Store (^^PCI0.PIB.EC.BSN0, Local1) Name (Z008, Buffer (0x07) { /* 0000 */ 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00 }) Store (Z008, Index (BUF0, 0x0A)) Store (Zero, Local3) Store (0x2710, Local4) While (Local1) { Divide (Local1, Local4, Local1, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (Z008, Local3)) Add (Local3, One, Local3) Divide (Local4, 0x0A, Local2, Local4) } Store (Z008, Index (BUF0, 0x0A)) Return (BUF0) } Else { Return (PBIF) } } Method (_BST, 0, NotSerialized) { If (^^PCI0.PIB.EC.ECOK) { And (^^PCI0.PIB.EC.BST0, 0x03, Local0) Store (Local0, Index (TMP0, Zero)) If (LEqual (Local0, One)) { Store (^^PCI0.PIB.EC.BPR0, Local0) Subtract (0xFFFF, Local0, Local0) Store (Local0, Index (TMP0, One)) } Else { Store (^^PCI0.PIB.EC.BPR0, Index (TMP0, One)) } Store (^^PCI0.PIB.EC.BRC0, Index (TMP0, 0x02)) Store (^^PCI0.PIB.EC.BPV0, Index (TMP0, 0x03)) Return (TMP0) } Else { Return (PBST) } } } Device (PWB) { Name (_HID, EisaId ("PNP0C0C")) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Name (_PRW, Package (0x02) { One, 0x03 }) } Device (AC) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { _SB }) Method (_PSR, 0, NotSerialized) { If (^^PCI0.PIB.EC.ECOK) { Return (^^PCI0.PIB.EC.ADP) } Return (Zero) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { If (^^PCI0.PIB.EC.ECOK) { Return (^^PCI0.PIB.EC.LIDS) } Else { Return (One) } } Name (_PRW, Package (0x02) { One, 0x03 }) Method (_PSW, 1, NotSerialized) { If (^^PCI0.PIB.EC.ECOK) { Store (Arg0, ^^PCI0.PIB.EC.LWKE) } } } } Name (DAC0, 0x0D66) Scope (_TZ) { ThermalZone (THRM) { Method (_TMP, 0, NotSerialized) { If (\_SB.PCI0.PIB.EC.ECOK) { Return (\_SB.PCI0.PIB.EC.TMP) } Else { Multiply (0x37, 0x0A, Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } } Method (_PSV, 0, NotSerialized) { If (\_SB.PCI0.PIB.EC.ADP) { If (\_SB.PCI0.PIB.EC.ECOK) { Return (\_SB.PCI0.PIB.EC.PSV) } Else { Multiply (0x55, 0x0A, Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } } Else { Multiply (0x35, 0x0A, Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } } Method (_AC0, 0, NotSerialized) { Return (DAC0) } Name (_PSL, Package (0x01) { \_PR.CPU0 }) Method (_CRT, 0, NotSerialized) { Multiply (0x9B, 0x0A, Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } Method (_SCP, 1, NotSerialized) { Store (Arg0, Local0) } Name (_TC1, 0x02) Name (_TC2, 0x05) Name (_TSP, Zero) } } }