/* RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0) RSDT=0x3fe97360, cksum=62 */ /* RSDT: Length=64, Revision=1, Checksum=220, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x3fe9cda9, 0x3fe9ce1d, 0x3fe9cee4, 0x3fe9cf34, 0x3fe9cf70, 0x3fe9cfd8, 0x3fe973a0 } */ /* FACP: Length=116, Revision=1, Checksum=236, OEMID=INTEL, OEM Table ID=, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0x3 FACS=0x3fe9dfc0, DSDT=0x3fe9775a INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PSTATE_CNT=0x80 PM1a_EVT_BLK=0x1000-0x1003 PM1a_CNT_BLK=0x1004-0x1005 PM2_CNT_BLK=0x1020-0x1020 PM_TMR_BLK=0x1008-0x100b GPE0_BLK=0x1028-0x102f P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=22095, Revision=1, Checksum=31, OEMID=INTEL, OEM Table ID=GLENWOOD, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000e */ /* ASF!: Length=199, Revision=32, Checksum=115, OEMID= ISM, OEM Table ID= CETP, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0x1 */ /* SPCR: Length=80, Revision=1, Checksum=147, OEMID=PTLTD, OEM Table ID=$UCRTBL$, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0x1 */ /* MCFG: Length=60, Revision=1, Checksum=94, OEMID=PTLTD, OEM Table ID= MCFG, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Base Address= 0x00000000e0000000 Segment Group= 0x0000 Start Bus= 0 End Bus= 9 */ /* APIC: Length=104, Revision=1, Checksum=19, OEMID=PTLTD, OEM Table ID= APIC, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=0 Flags={ENABLED} APIC ID=0 Type=Local APIC ACPI CPU=1 Flags={ENABLED} APIC ID=1 Type=IO APIC APIC ID=2 INT BASE=0 ADDR=0x00000000fec00000 Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=active-hi, Trigger=edge} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-hi, Trigger=level} Type=Local NMI ACPI CPU=0 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} Type=Local NMI ACPI CPU=1 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} */ /* BOOT: Length=40, Revision=1, Checksum=164, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* SSDT: Length=954, Revision=1, Checksum=65, OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20030224 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20051021 * * Disassembly of /tmp/acpidump.3miufe, Wed Jul 5 10:39:10 2006 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "INTEL", "GLENWOOD", 0x06040000) { OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x00004000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x3000), Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, PATD, 1, SATD, 1, SMBD, 1, AZAD, 1, A97D, 1 } Name (OSYS, 0x00) Scope (_GPE) { Method (_L01, 0, NotSerialized) { } Method (_L03, 0, NotSerialized) { Store (0x03, DEBG) Notify (\_SB.PCI0.USB1, 0x02) } Method (_L04, 0, NotSerialized) { Store (0x04, DEBG) Notify (\_SB.PCI0.USB2, 0x02) } Method (_L09, 0, NotSerialized) { Store (0x09, DEBG) If (\_SB.PCI0.EXP1.PSP1) { Store (0x01, \_SB.PCI0.EXP1.PSP1) Store (0x01, \_SB.PCI0.EXP1.PMCS) Notify (\_SB.PCI0.EXP1, 0x02) } If (\_SB.PCI0.EXP2.PSP2) { Store (0x01, \_SB.PCI0.EXP2.PSP2) Store (0x01, \_SB.PCI0.EXP2.PMCS) Notify (\_SB.PCI0.EXP2, 0x02) } If (\_SB.PCI0.EXP3.PSP3) { Store (0x01, \_SB.PCI0.EXP3.PSP3) Store (0x01, \_SB.PCI0.EXP3.PMCS) Notify (\_SB.PCI0.EXP3, 0x02) } } Method (_L0B, 0, NotSerialized) { Store (0x0B, DEBG) Notify (\_SB.PCI0.PCIB, 0x02) } Method (_L0C, 0, NotSerialized) { Store (0x0C, DEBG) Notify (\_SB.PCI0.USB3, 0x02) } Method (_L0D, 0, NotSerialized) { Store (0x0D, DEBG) Notify (\_SB.PCI0.EUSB, 0x02) } Method (_L0E, 0, NotSerialized) { Store (0x0E, DEBG) Notify (\_SB.PCI0.USB4, 0x02) } Method (_L1D, 0, NotSerialized) { Store (0x1D, DEBG) Notify (\_SB.PCI0.LPC0.SIO, 0x02) Notify (\_SB.PCI0.PWRB, 0x02) } } Scope (_PR) { Processor (CPU0, 0x00, 0x00001010, 0x06) {} Processor (CPU1, 0x01, 0x00001010, 0x06) {} Processor (CPU2, 0x02, 0x00001010, 0x06) {} Processor (CPU3, 0x03, 0x00001010, 0x06) {} } Scope (_SB) { OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x3FE9DEBC, 0x00000090) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 1024 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } Device (PCI0) { Method (_INI, 0, NotSerialized) { \_SB.OSHT () If (CondRefOf (_OSI, Local0)) { Store (0x07D1, OSYS) } Else { If (LEqual (SizeOf (_OS), 0x14)) { Store (0x07D0, OSYS) } Else { If (LEqual (SizeOf (_OS), 0x27)) { Store (0x07CF, OSYS) } Else { Store (0x07CE, OSYS) } } } } Name (_HID, EisaId ("PNP0A03")) Name (_BBN, 0x00) Name (_ADR, 0x00) OperationRegion (REGS, PCI_Config, 0x40, 0xC0) Field (REGS, ByteAcc, NoLock, Preserve) { Offset (0x50), PAM0, 8, PAM1, 8, PAM2, 8, PAM3, 8, PAM4, 8, PAM5, 8, PAM6, 8, , 7, HEN, 1, Offset (0x5C), Z000, 8 } OperationRegion (DRBS, SystemMemory, 0xFED14000, 0x00004000) Field (DRBS, DWordAcc, Lock, Preserve) { Offset (0x100), Z001, 8, Z002, 8, Z003, 8, Z004, 8, Offset (0x180), Z005, 8, Z006, 8, Z007, 8, Z008, 8 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x00FF, // Address Range Maximum 0x0000, // Address Translation Offset 0x0100, // Address Length 0x00,,) IO (Decode16, 0x0CF8, // Address Range Minimum 0x0CF8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Address Space Granularity 0x00000000, // Address Range Minimum 0x00000CF7, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00000CF8, // Address Length 0x00,,, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000A0000, // Address Range Minimum 0x000BFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00020000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C0000, // Address Range Minimum 0x000C3FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C4000, // Address Range Minimum 0x000C7FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C8000, // Address Range Minimum 0x000CBFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000CC000, // Address Range Minimum 0x000CFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000D0000, // Address Range Minimum 0x000D3FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000D4000, // Address Range Minimum 0x000D7FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000D8000, // Address Range Minimum 0x000DBFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000DC000, // Address Range Minimum 0x000DFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000E0000, // Address Range Minimum 0x000E3FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000E4000, // Address Range Minimum 0x000E7FFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000E8000, // Address Range Minimum 0x000EBFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000EC000, // Address Range Minimum 0x000EFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00004000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000F0000, // Address Range Minimum 0x000FFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00010000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x00000000, // Address Range Minimum 0x00000000, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00000000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Address Space Granularity 0x00000D00, // Address Range Minimum 0x0000FDFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x0000F100, // Address Length 0x00,,, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x00000000, // Address Range Minimum 0x00000000, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00000000, // Address Length 0x00,,, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) { Store (Zero, Local1) CreateDWordField (RSRC, 0x01B8, BTMN) CreateDWordField (RSRC, 0x01BC, BTMX) CreateDWordField (RSRC, 0x01C4, BTLN) ShiftLeft (And (Z000, 0xF8), 0x18, BTMN) Subtract (0xE0000000, BTMN, BTLN) Subtract (Add (BTMN, BTLN), 0x01, BTMX) CreateBitField (RSRC, 0x02A0, C0RW) CreateDWordField (RSRC, 0x59, C0MN) CreateDWordField (RSRC, 0x5D, C0MX) CreateDWordField (RSRC, 0x65, C0LN) Store (One, C0RW) If (LEqual (And (PAM1, 0x03), 0x01)) { Store (Zero, C0RW) } Store (Zero, C0LN) If (LNot (And (PAM1, 0x03))) { Store (0x4000, C0LN) } CreateBitField (RSRC, 0x0378, C4RW) CreateDWordField (RSRC, 0x74, C4MN) CreateDWordField (RSRC, 0x78, C4MX) CreateDWordField (RSRC, 0x80, C4LN) Store (One, C4RW) If (LEqual (And (PAM1, 0x30), 0x10)) { Store (Zero, C4RW) } Store (Zero, C4LN) If (LNot (And (PAM1, 0x30))) { Store (0x4000, C4LN) } CreateBitField (RSRC, 0x0450, C8RW) CreateDWordField (RSRC, 0x8F, C8MN) CreateDWordField (RSRC, 0x93, C8MX) CreateDWordField (RSRC, 0x9B, C8LN) Store (One, C8RW) If (LEqual (And (PAM2, 0x03), 0x01)) { Store (Zero, C8RW) } Store (Zero, C8LN) If (LNot (And (PAM2, 0x03))) { Store (0x4000, C8LN) } CreateBitField (RSRC, 0x0528, CCRW) CreateDWordField (RSRC, 0xAA, CCMN) CreateDWordField (RSRC, 0xAE, CCMX) CreateDWordField (RSRC, 0xB6, CCLN) Store (One, CCRW) If (LEqual (And (PAM2, 0x30), 0x10)) { Store (Zero, CCRW) } Store (Zero, CCLN) If (LNot (And (PAM2, 0x30))) { Store (0x4000, CCLN) } CreateBitField (RSRC, 0x0600, D0RW) CreateDWordField (RSRC, 0xC5, D0MN) CreateDWordField (RSRC, 0xC9, D0MX) CreateDWordField (RSRC, 0xD1, D0LN) Store (One, D0RW) If (LEqual (And (PAM3, 0x03), 0x01)) { Store (Zero, D0RW) } Store (Zero, D0LN) If (LNot (And (PAM3, 0x03))) { Store (0x4000, D0LN) } CreateBitField (RSRC, 0x06D8, D4RW) CreateDWordField (RSRC, 0xE0, D4MN) CreateDWordField (RSRC, 0xE4, D4MX) CreateDWordField (RSRC, 0xEC, D4LN) Store (One, D4RW) If (LEqual (And (PAM3, 0x30), 0x10)) { Store (Zero, D4RW) } Store (Zero, D4LN) If (LNot (And (PAM3, 0x30))) { Store (0x4000, D4LN) } CreateBitField (RSRC, 0x07B0, D8RW) CreateDWordField (RSRC, 0xFB, D8MN) CreateDWordField (RSRC, 0xFF, D8MX) CreateDWordField (RSRC, 0x0107, D8LN) Store (One, D8RW) If (LEqual (And (PAM4, 0x03), 0x01)) { Store (Zero, D8RW) } Store (Zero, D8LN) If (LNot (And (PAM4, 0x03))) { Store (0x4000, D8LN) } CreateBitField (RSRC, 0x0888, DCRW) CreateDWordField (RSRC, 0x0116, DCMN) CreateDWordField (RSRC, 0x011A, DCMX) CreateDWordField (RSRC, 0x0122, DCLN) Store (One, DCRW) If (LEqual (And (PAM4, 0x30), 0x10)) { Store (Zero, DCRW) } Store (Zero, DCLN) If (LNot (And (PAM4, 0x30))) { Store (0x4000, DCLN) } CreateBitField (RSRC, 0x0960, E0RW) CreateDWordField (RSRC, 0x0131, E0MN) CreateDWordField (RSRC, 0x0135, E0MX) CreateDWordField (RSRC, 0x013D, E0LN) Store (One, E0RW) If (LEqual (And (PAM5, 0x03), 0x01)) { Store (Zero, E0RW) } Store (Zero, E0LN) If (LNot (And (PAM5, 0x03))) { Store (0x4000, E0LN) } CreateBitField (RSRC, 0x0A38, E4RW) CreateDWordField (RSRC, 0x014C, E4MN) CreateDWordField (RSRC, 0x0150, E4MX) CreateDWordField (RSRC, 0x0158, E4LN) Store (One, E4RW) If (LEqual (And (PAM5, 0x30), 0x10)) { Store (Zero, E4RW) } Store (Zero, E4LN) If (LNot (And (PAM5, 0x30))) { Store (0x4000, E4LN) } CreateBitField (RSRC, 0x0B10, E8RW) CreateDWordField (RSRC, 0x0167, E8MN) CreateDWordField (RSRC, 0x016B, E8MX) CreateDWordField (RSRC, 0x0173, E8LN) Store (One, E8RW) If (LEqual (And (PAM6, 0x03), 0x01)) { Store (Zero, E8RW) } Store (Zero, E8LN) If (LNot (And (PAM6, 0x03))) { Store (0x4000, E8LN) } CreateBitField (RSRC, 0x0BE8, ECRW) CreateDWordField (RSRC, 0x0182, ECMN) CreateDWordField (RSRC, 0x0186, ECMX) CreateDWordField (RSRC, 0x018E, ECLN) Store (One, ECRW) If (LEqual (And (PAM6, 0x30), 0x10)) { Store (Zero, ECRW) } Store (Zero, ECLN) If (LNot (And (PAM6, 0x30))) { Store (0x4000, ECLN) } CreateBitField (RSRC, 0x0CC0, F0RW) CreateDWordField (RSRC, 0x019D, F0MN) CreateDWordField (RSRC, 0x01A1, F0MX) CreateDWordField (RSRC, 0x01A9, F0LN) Store (One, F0RW) If (LEqual (And (PAM0, 0x30), 0x10)) { Store (Zero, F0RW) } Store (Zero, F0LN) If (LNot (And (PAM0, 0x30))) { Store (0x00010000, F0LN) } ShiftRight (And (\_SB.PCI0.LPC0.MTSE, 0x00038000), 0x0F, Local0) If (And (Local0, 0x04)) { CreateDWordField (RSRC, 0x01EE, M2MN) CreateDWordField (RSRC, 0x01F2, M2MX) CreateDWordField (RSRC, 0x01FA, M2LN) Store (0xFED00000, M2MN) Store (0xFED003FF, M2MX) Store (0x0400, M2LN) If (LEqual (Local0, 0x05)) { Store (0xFED01000, M2MN) Store (0xFED013FF, M2MX) } If (LEqual (Local0, 0x06)) { Store (0xFED02000, M2MN) Store (0xFED023FF, M2MX) } If (LEqual (Local0, 0x07)) { Store (0xFED03000, M2MN) Store (0xFED033FF, M2MX) } } Return (RSRC) } Method (_PRT, 0, NotSerialized) { If (LNot (\PICF)) { Return (Package (0x0B) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x001CFFFF, 0x00, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x001CFFFF, 0x01, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x001CFFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x001DFFFF, 0x00, \_SB.PCI0.LPC0.LNKH, 0x00 }, Package (0x04) { 0x001DFFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x001DFFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x001DFFFF, 0x03, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x001FFFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x001FFFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x001FFFFF, 0x03, \_SB.PCI0.LPC0.LNKA, 0x00 } }) } Else { Return (Package (0x0B) { Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x001CFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x001CFFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001DFFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x001DFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x001FFFFF, 0x03, 0x00, 0x10 } }) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (PEG) { Name (_ADR, 0x00010000) Name (_PRW, Package (0x02) { 0x09, 0x05 }) Method (_PRT, 0, NotSerialized) { If (LNot (\PICF)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x13 } }) } } } Device (EXP1) { Name (_ADR, 0x001C0000) OperationRegion (P1CS, PCI_Config, 0x40, 0x0100) Field (P1CS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x1A), ABP1, 1, , 2, PDC1, 1, , 2, PDS1, 1, Offset (0x20), Offset (0x22), PSP1, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Name (_PRW, Package (0x02) { 0x09, 0x05 }) Method (_PRT, 0, NotSerialized) { If (LNot (\PICF)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x13 } }) } } } Device (EXP2) { Name (_ADR, 0x001C0004) OperationRegion (P2CS, PCI_Config, 0x40, 0x0100) Field (P2CS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x1A), ABP2, 1, , 2, PDC2, 1, , 2, PDS2, 1, Offset (0x20), Offset (0x22), PSP2, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Name (_PRW, Package (0x02) { 0x09, 0x05 }) Method (_PRT, 0, NotSerialized) { If (LNot (\PICF)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKD, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x13 } }) } } } Device (EXP3) { Name (_ADR, 0x001C0005) OperationRegion (P3CS, PCI_Config, 0x40, 0x0100) Field (P3CS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x1A), ABP3, 1, , 2, PDC3, 1, , 2, PDS3, 1, Offset (0x20), Offset (0x22), PSP3, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Name (_PRW, Package (0x02) { 0x09, 0x05 }) Method (_PRT, 0, NotSerialized) { If (LNot (\PICF)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKA, 0x00 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x10 } }) } } } Device (PCIB) { Name (_ADR, 0x001E0000) Name (_PRW, Package (0x02) { 0x0B, 0x05 }) Method (_PRT, 0, NotSerialized) { If (LNot (\PICF)) { Return (Package (0x0D) { Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.LPC0.LNKF, 0x00 }, Package (0x04) { 0x0005FFFF, 0x01, \_SB.PCI0.LPC0.LNKG, 0x00 }, Package (0x04) { 0x0005FFFF, 0x02, \_SB.PCI0.LPC0.LNKH, 0x00 }, Package (0x04) { 0x0005FFFF, 0x03, \_SB.PCI0.LPC0.LNKE, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, \_SB.PCI0.LPC0.LNKG, 0x00 }, Package (0x04) { 0x0006FFFF, 0x01, \_SB.PCI0.LPC0.LNKH, 0x00 }, Package (0x04) { 0x0006FFFF, 0x02, \_SB.PCI0.LPC0.LNKE, 0x00 }, Package (0x04) { 0x0006FFFF, 0x03, \_SB.PCI0.LPC0.LNKF, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI0.LPC0.LNKH, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.PCI0.LPC0.LNKE, 0x00 }, Package (0x04) { 0x0007FFFF, 0x02, \_SB.PCI0.LPC0.LNKF, 0x00 }, Package (0x04) { 0x0007FFFF, 0x03, \_SB.PCI0.LPC0.LNKG, 0x00 }, Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 } }) } Else { Return (Package (0x0D) { Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x15 }, Package (0x04) { 0x0005FFFF, 0x01, 0x00, 0x16 }, Package (0x04) { 0x0005FFFF, 0x02, 0x00, 0x17 }, Package (0x04) { 0x0005FFFF, 0x03, 0x00, 0x14 }, Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x16 }, Package (0x04) { 0x0006FFFF, 0x01, 0x00, 0x17 }, Package (0x04) { 0x0006FFFF, 0x02, 0x00, 0x14 }, Package (0x04) { 0x0006FFFF, 0x03, 0x00, 0x15 }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x14 }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x15 }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x16 }, Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 } }) } } } Device (LPC0) { Name (_ADR, 0x001F0000) Name (DVEN, 0x00) Method (DECD, 4, Serialized) { Store (Arg0, Debug) } Device (MBRD) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x1F) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0010, // Address Range Minimum 0x0010, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0024, // Address Range Minimum 0x0024, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0028, // Address Range Minimum 0x0028, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x002C, // Address Range Minimum 0x002C, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0030, // Address Range Minimum 0x0030, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0034, // Address Range Minimum 0x0034, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0038, // Address Range Minimum 0x0038, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x003C, // Address Range Minimum 0x003C, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0072, // Address Range Minimum 0x0072, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x0080, // Address Range Minimum 0x0080, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0090, // Address Range Minimum 0x0090, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x00A4, // Address Range Minimum 0x00A4, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x00A8, // Address Range Minimum 0x00A8, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x00AC, // Address Range Minimum 0x00AC, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x00B0, // Address Range Minimum 0x00B0, // Address Range Maximum 0x01, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x00B8, // Address Range Minimum 0x00B8, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x00BC, // Address Range Minimum 0x00BC, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0800, // Address Range Minimum 0x0800, // Address Range Maximum 0x01, // Address Alignment 0x40, // Address Length ) IO (Decode16, 0x1000, // Address Range Minimum 0x1000, // Address Range Maximum 0x01, // Address Alignment 0x80, // Address Length ) IO (Decode16, 0x1180, // Address Range Minimum 0x1180, // Address Range Maximum 0x01, // Address Alignment 0x40, // Address Length ) IO (Decode16, 0x002E, // Address Range Minimum 0x002E, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x04D0, // Address Range Minimum 0x04D0, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0xFE00, // Address Range Minimum 0xFE00, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0840, // Address Range Minimum 0x0840, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0860, // Address Range Minimum 0x0860, // Address Range Maximum 0x01, // Address Alignment 0x20, // Address Length ) Memory32Fixed (ReadWrite, 0xFED14000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED13000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xE0000000, // Address Base 0x10000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00070000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEF00000, // Address Base 0x00100000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x92, PMMN) CreateWordField (RSRC, 0x94, PMMX) And (^^PMBA, 0xFF80, PMMN) Store (PMMN, PMMX) CreateWordField (RSRC, 0x9A, GPMN) CreateWordField (RSRC, 0x9C, GPMX) And (^^GPBA, 0xFF80, GPMN) Store (GPMN, GPMX) Return (RSRC) } } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0081, // Address Range Minimum 0x0081, // Address Range Maximum 0x01, // Address Alignment 0x0F, // Address Length ) IO (Decode16, 0x00C0, // Address Range Minimum 0x00C0, // Address Range Maximum 0x01, // Address Alignment 0x20, // Address Length ) DMA (Compatibility, NotBusMaster, Transfer16) {4} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Address Range Minimum 0x00F0, // Address Range Maximum 0x01, // Address Alignment 0x0F, // Address Length ) IRQ (Edge, ActiveHigh, Exclusive) {13} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Address Range Minimum 0x0020, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x00A0, // Address Range Minimum 0x00A0, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IRQ (Edge, ActiveHigh, Exclusive) {2} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0070, // Address Range Minimum 0x0070, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0070, // Address Range Minimum 0x0070, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IRQNoFlags () {8} }) Method (_CRS, 0, Serialized) { If (And (MTSE, 0x00020000)) { Return (BUF0) } Return (BUF1) } } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Address Range Minimum 0x0061, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0040, // Address Range Minimum 0x0040, // Address Range Maximum 0x01, // Address Alignment 0x04, // Address Length ) IO (Decode16, 0x0050, // Address Range Minimum 0x0050, // Address Range Maximum 0x10, // Address Alignment 0x04, // Address Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0040, // Address Range Minimum 0x0040, // Address Range Maximum 0x01, // Address Alignment 0x04, // Address Length ) IO (Decode16, 0x0050, // Address Range Minimum 0x0050, // Address Range Maximum 0x10, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {0} }) Method (_CRS, 0, Serialized) { If (And (MTSE, 0x00020000)) { Return (BUF0) } Return (BUF1) } } OperationRegion (MMTO, PCI_Config, 0xD0, 0x04) Field (MMTO, DWordAcc, NoLock, Preserve) { MTSE, 32 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRA, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Store (RSRC, Debug) Return (RSRC) } Method (_SRS, 1, NotSerialized) { Store (Arg0, Debug) CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRA, 0x70), PIRA) } Method (_STA, 0, NotSerialized) { If (And (PIRA, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRB, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRB, 0x70), PIRB) } Method (_STA, 0, NotSerialized) { If (And (PIRB, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRC, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRC, 0x70), PIRC) } Method (_STA, 0, NotSerialized) { If (And (PIRC, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRD, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRD, 0x70), PIRD) } Method (_STA, 0, NotSerialized) { If (And (PIRD, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRE, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Store (RSRC, Debug) Return (RSRC) } Method (_SRS, 1, NotSerialized) { Store (Arg0, Debug) CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRE, 0x70), PIRE) } Method (_STA, 0, NotSerialized) { If (And (PIRE, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRF, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Store (RSRC, Debug) Return (RSRC) } Method (_SRS, 1, NotSerialized) { Store (Arg0, Debug) CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRF, 0x70), PIRF) } Method (_STA, 0, NotSerialized) { If (And (PIRF, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRG, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Store (RSRC, Debug) Return (RSRC) } Method (_SRS, 1, NotSerialized) { Store (Arg0, Debug) CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRG, 0x70), PIRG) } Method (_STA, 0, NotSerialized) { If (And (PIRG, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,10,11,14,15} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (PIRH, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Store (RSRC, Debug) Return (RSRC) } Method (_SRS, 1, NotSerialized) { Store (Arg0, Debug) CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (PIRH, 0x70), PIRH) } Method (_STA, 0, NotSerialized) { If (And (PIRH, 0x80)) { Return (0x09) } Return (0x0B) } } OperationRegion (GPOX, SystemIO, 0x1180, 0x30) Field (GPOX, DWordAcc, NoLock, Preserve) { Offset (0x07), , 3, IO27, 1, Offset (0x0F), , 3, LV27, 1, Offset (0x1B), , 3, BL27, 1 } OperationRegion (PIRX, PCI_Config, 0x60, 0x04) Field (PIRX, DWordAcc, Lock, Preserve) { AccessAs (ByteAcc, 0x00), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion (PIRY, PCI_Config, 0x68, 0x04) Field (PIRY, DWordAcc, Lock, Preserve) { AccessAs (ByteAcc, 0x00), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } OperationRegion (ROUT, SystemIO, 0xB8, 0x04) Field (ROUT, DWordAcc, Lock, Preserve) { AccessAs (ByteAcc, 0x00), GPI0, 2, GPI1, 2, GPI2, 2, GPI3, 2, GPI4, 2, GPI5, 2, GPI6, 2, GPI7, 2, GPI8, 2, GPI9, 2, GP10, 2, GP11, 2, GP12, 2, GP13, 2, GP14, 2, GP15, 2 } OperationRegion (PMIO, SystemIO, 0x1000, 0x30) Field (PMIO, WordAcc, NoLock, Preserve) { AccessAs (DWordAcc, 0x00), Offset (0x2D), , 4, GPES, 1, Offset (0x2F), , 4, GPEE, 1 } OperationRegion (REGS, PCI_Config, 0x40, 0xC0) Field (REGS, DWordAcc, Lock, Preserve) { PMBA, 16, Offset (0x08), GPBA, 16, Offset (0xB0), , 5, FUND, 2 } Device (FWH) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF800000, // Address Base 0x00800000, // Address Length ) }) } Device (SIO) { Name (_HID, EisaId ("PNP0A05")) Name (_UID, 0x01) Name (_STA, 0x0F) Mutex (NSMX, 0x00) OperationRegion (SIO, SystemIO, 0x2E, 0x02) Field (SIO, ByteAcc, NoLock, Preserve) { Z009, 8, Z00A, 8 } IndexField (Z009, Z00A, ByteAcc, NoLock, Preserve) { Offset (0x07), LDN, 8, Offset (0x2C), Z00B, 3, Z00C, 3, Offset (0x2D), CFD, 8, Offset (0x30), ACTV, 8, Offset (0x60), IOAH, 8, IOAL, 8, IOBH, 8, IOBL, 8, Offset (0x70), INTS, 8, INTT, 8, Offset (0x74), DMA0, 8, Offset (0xF0), CNFR, 8 } OperationRegion (SWCR, SystemIO, 0x0800, 0x20) Field (SWCR, ByteAcc, NoLock, Preserve) { R1ST, 1, R2ST, 1, KBST, 1, MSST, 1, Offset (0x02), R1EN, 1, R2EN, 1, KBEN, 1, MSEN, 1, Offset (0x04), BANK, 2, , 1, PWBP, 1, Offset (0x08), SBO0, 8, SBI0, 8, SBO1, 8, SBI1, 8, Offset (0x13), RG13, 8, RG14, 8, RG15, 8, RG16, 8, RG17, 8, RG18, 8, RG19, 8, RG1A, 8, RG1B, 8, RG1C, 8, RG1D, 8, RG1E, 8, RG1F, 8 } Method (Z00D, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, KBEN) Store (0x00, MSEN) Store (0x00, BANK) And (RG13, 0xEE, RG13) Store (KBST, Local0) Store (Local0, KBST) Store (MSST, Local0) Store (Local0, MSST) Store (0x05, LDN) Store (0x01, ACTV) Store (0x00, CNFR) Store (0x06, LDN) Store (0x01, ACTV) Store (0x00, CNFR) Release (NSMX) } Method (Z00E, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, BANK) Store (0x00, RG17) Store (0x00, RG18) Store (0x00, RG19) Store (0x00, RG1A) Store (0x00, RG1B) Store (0x00, RG1C) Store (0x00, RG1D) Store (0x00, RG1E) Store (0x00, RG1F) Store (0x11, RG13) Store (0x05, LDN) Store (0x00, ACTV) Store (0x01, CNFR) Store (0x06, LDN) Store (0x00, ACTV) Store (0x01, CNFR) Store (0x01, KBST) Store (0x01, MSST) Release (NSMX) } Method (Z00F, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x1C, CFD) Store (0x01, R1ST) Store (0x01, R2ST) Store (0x01, PWBP) Store (0x02, BANK) Store (0x03, RG1B) Store (0x03, BANK) Store (0x00, SBO0) Release (NSMX) } Method (Z00G, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x03, Z00B) Release (NSMX) } Method (Z00H, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x07, Z00B) Release (NSMX) } Method (Z00I, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x02, Z00B) Release (NSMX) } Method (Z00J, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, Z00B) Release (NSMX) } Method (_INI, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) Store (ACTV, ^FDC.FDCS) Store (0x01, LDN) Store (ACTV, ^LPT.LPTS) Store (0x02, LDN) Store (ACTV, ^COMB.SP2S) Store (0x03, LDN) Store (ACTV, ^COMA.SP1S) Store (0x05, LDN) Store (ACTV, ^PS2M.PSMS) Store (KBST, Local0) Store (Local0, KBST) Store (MSST, Local0) Store (Local0, MSST) Store (0x00, R1EN) Store (0x00, R2EN) Store (0x00, KBEN) Store (0x00, MSEN) Store (0x00, PWBP) Store (0x00, BANK) Store (0x00, RG13) Store (0x00, RG18) Store (0x00, RG19) Store (0x02, BANK) Store (0x00, RG13) Store (0x00, RG14) Store (0x00, RG15) Store (0x00, RG16) Store (0x0C, RG17) Store (0x00, RG18) Store (0x0C, RG19) Store (0x00, RG1A) Store (0x0C, RG1B) Store (0x00, RG1C) Release (NSMX) } Device (FDC) { Name (_HID, EisaId ("PNP0700")) Name (_UID, 0x01) Name (FDCS, 0x01) Name (RSRE, ResourceTemplate () { IO (Decode16, 0x03F0, // Address Range Minimum 0x03F0, // Address Range Maximum 0x08, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x03F7, // Address Range Minimum 0x03F7, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) Name (RSRD, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Method (_CRS, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) And (One, ACTV, Local0) Release (NSMX) If (Local0) { Return (RSRE) } Else { Return (RSRD) } } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x02, IOMN) If (IOMN) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) Store (0x03, IOAH) Store (0xF0, IOAL) Store (0x06, INTS) Store (0x02, DMA0) Store (One, ACTV) Release (NSMX) } Else { _DIS () } } Name (_PRS, ResourceTemplate () { IO (Decode16, 0x03F0, // Address Range Minimum 0x03F0, // Address Range Maximum 0x08, // Address Alignment 0x06, // Address Length ) IO (Decode16, 0x03F7, // Address Range Minimum 0x03F7, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) Method (_DIS, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) Store (Zero, ACTV) Release (NSMX) } Method (_STA, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) If (LNot (FDCS)) { Store (0x00, Local0) } Else { If (ACTV) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } } Release (NSMX) Return (Local0) } Method (_PSC, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) Store (ACTV, Local0) Release (NSMX) If (Local0) { Store (0x00, Local0) } Else { Store (0x03, Local0) } Return (Local0) } Method (_PS0, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) Store (One, ACTV) Release (NSMX) } Method (_PS3, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x00, LDN) Store (Zero, ACTV) Release (NSMX) } } Device (LPT) { Method (_HID, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x01, LDN) And (CNFR, 0x80, Local0) Release (NSMX) If (Local0) { Return (0x0104D041) } Else { Return (0x0004D041) } } Name (_DDN, "LPT1") Name (_UID, 0x01) Name (LPTS, 0x01) Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) DMA (Compatibility, NotBusMaster, Transfer8) {} }) CreateWordField (RSRC, 0x02, I1MN) CreateWordField (RSRC, 0x04, I1MX) CreateByteField (RSRC, 0x06, I1AL) CreateByteField (RSRC, 0x07, I1LN) CreateWordField (RSRC, 0x09, IRQB) CreateByteField (RSRC, 0x0B, XYZ1) CreateByteField (RSRC, 0x0C, XYZ2) CreateWordField (RSRC, 0x0D, I2MN) CreateWordField (RSRC, 0x0F, I2MX) CreateByteField (RSRC, 0x11, I2AL) CreateByteField (RSRC, 0x12, I2LN) CreateByteField (RSRC, 0x14, DMAC) Acquire (NSMX, 0xFFFF) Store (0x01, LDN) Or (ShiftLeft (IOAH, 0x08), IOAL, I1MN) Store (I1MN, I1MX) Add (I1MN, 0x0400, I2MN) Add (I1MX, 0x0400, I2MX) If (LEqual (I1MN, 0x03BC)) { Store (0x03, I1LN) Store (0x03, I2LN) } Else { Store (0x08, I1LN) Store (0x08, I2LN) } Store (Zero, IRQB) And (INTS, 0x0F, Local0) If (Local0) { ShiftLeft (0x01, Local0, IRQB) } Store (Zero, DMAC) And (DMA0, 0x07, Local0) If (LNot (LEqual (Local0, 0x04))) { ShiftLeft (0x01, Local0, DMAC) } If (And (CNFR, 0x80)) { Store (0x47, XYZ1) Store (0x01, XYZ1) } Else { Store (0x79, XYZ1) Store (Zero, XYZ1) } Release (NSMX) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x02, I1MN) CreateWordField (Arg0, 0x04, I1MX) CreateWordField (Arg0, 0x09, IRQB) CreateByteField (Arg0, 0x0B, XYZ1) Acquire (NSMX, 0xFFFF) Store (0x01, LDN) Store (Zero, ACTV) ShiftRight (I1MN, 0x08, IOAH) And (I1MN, 0xFF, IOAL) FindSetRightBit (IRQB, Local0) If (Local0) { Decrement (Local0) } Store (Local0, INTS) If (LEqual (XYZ1, 0x47)) { CreateWordField (Arg0, 0x0D, I2MN) CreateWordField (Arg0, 0x0F, I2MX) CreateByteField (Arg0, 0x14, DMAC) ShiftRight (I2MN, 0x08, IOBH) And (I2MN, 0xFF, IOBL) FindSetRightBit (DMAC, Local0) If (LNot (LEqual (Local0, 0x04))) { ShiftLeft (0x01, Local0, DMA0) } } Store (One, ACTV) Release (NSMX) } Name (PRSA, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Address Range Minimum 0x0378, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0778, // Address Range Minimum 0x0778, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Address Range Minimum 0x0278, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0678, // Address Range Minimum 0x0678, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Address Range Minimum 0x03BC, // Address Range Maximum 0x03, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x07BC, // Address Range Minimum 0x07BC, // Address Range Maximum 0x03, // Address Alignment 0x03, // Address Length ) IRQNoFlags () {5,7,10,11} } EndDependentFn () DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} }) Name (PRSB, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Address Range Minimum 0x0378, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Address Range Minimum 0x0278, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {5,7,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Address Range Minimum 0x03BC, // Address Range Maximum 0x08, // Address Alignment 0x03, // Address Length ) IRQNoFlags () {5,7,10,11} } EndDependentFn () }) Method (_PRS, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x01, LDN) If (And (CNFR, 0x80)) { Store (PRSA, Local0) } Else { Store (PRSB, Local0) } Release (NSMX) Return (Local0) } Method (_DIS, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x01, LDN) Store (Zero, ACTV) Release (NSMX) } Method (_STA, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x01, LDN) If (LNot (LPTS)) { Store (0x00, Local0) } Else { If (ACTV) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } } Release (NSMX) Return (Local0) } Method (_PSC, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x01, LDN) Store (CNFR, Local0) Release (NSMX) If (And (Local0, 0x02)) { Store (0x00, Local0) } Else { Store (0x03, Local0) } Return (Local0) } Method (_PS0, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x01, LDN) Store (0x02, CNFR) Release (NSMX) } Method (_PS3, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x01, LDN) And (CNFR, 0xFD, CNFR) Release (NSMX) } } Device (COMA) { Name (_HID, EisaId ("PNP0501")) Name (_DDN, "COM1") Name (_UID, 0x01) Name (Z00L, 0x00) Name (SP1S, 0x01) Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {} }) CreateWordField (RSRC, 0x02, IOMN) CreateWordField (RSRC, 0x04, IOMX) CreateWordField (RSRC, 0x09, IRQA) Acquire (NSMX, 0xFFFF) Store (0x03, LDN) Or (ShiftLeft (IOAH, 0x08), IOAL, IOMN) Store (IOMN, IOMX) And (INTS, 0x0F, Local0) Release (NSMX) If (Local0) { ShiftLeft (0x01, Local0, Local0) } Store (Local0, IRQA) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x04, IOMN) CreateWordField (Arg0, 0x09, IRQA) Acquire (NSMX, 0xFFFF) Store (0x03, LDN) Store (Zero, ACTV) ShiftRight (IOMN, 0x08, IOAH) And (IOMN, 0xFF, IOAL) FindSetRightBit (IRQA, Local0) If (Local0) { Decrement (Local0) } Store (Local0, INTS) Store (One, ACTV) Release (NSMX) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {11} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {11} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {11} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {11} } EndDependentFn () }) Method (_DIS, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x03, LDN) Store (Zero, ACTV) Release (NSMX) } Method (_STA, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x03, LDN) If (LNot (SP1S)) { Store (0x00, Local0) } Else { If (ACTV) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } } Release (NSMX) Return (Local0) } Method (_PSC, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x03, LDN) Store (CNFR, Local0) Release (NSMX) If (And (Local0, 0x02)) { Store (0x00, Local0) } Else { Store (0x03, Local0) } Return (Local0) } Method (_PS0, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x03, LDN) Store (0x02, CNFR) Release (NSMX) } Method (_PS3, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x03, LDN) And (CNFR, 0xFD, CNFR) Release (NSMX) } Name (_PRW, Package (0x02) { 0x08, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x01, Z00L) } Else { Store (0x00, Z00L) } } } Device (COMB) { Name (_HID, EisaId ("PNP0501")) Name (_DDN, "COM2") Name (_UID, 0x02) Name (Z00K, 0x00) Name (SP2S, 0x01) Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {} }) CreateWordField (RSRC, 0x02, IOMN) CreateWordField (RSRC, 0x04, IOMX) CreateWordField (RSRC, 0x09, IRQA) Acquire (NSMX, 0xFFFF) Store (0x02, LDN) Or (ShiftLeft (IOAH, 0x08), IOAL, IOMN) Store (IOMN, IOMX) And (INTS, 0x0F, Local0) Release (NSMX) If (Local0) { ShiftLeft (0x01, Local0, Local0) } Store (Local0, IRQA) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x04, IOMN) CreateWordField (Arg0, 0x09, IRQA) Acquire (NSMX, 0xFFFF) Store (0x02, LDN) Store (Zero, ACTV) ShiftRight (IOMN, 0x08, IOAH) And (IOMN, 0xFF, IOAL) FindSetRightBit (IRQA, Local0) If (Local0) { Decrement (Local0) } Store (Local0, INTS) Store (One, ACTV) Release (NSMX) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} } EndDependentFn () }) Method (_DIS, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x02, LDN) Store (Zero, ACTV) Release (NSMX) } Method (_STA, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x03, LDN) If (LNot (SP2S)) { Store (0x00, Local0) } Else { If (ACTV) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } } Release (NSMX) Return (Local0) } Method (_PSC, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x02, LDN) Store (CNFR, Local0) Release (NSMX) If (And (Local0, 0x02)) { Store (0x00, Local0) } Else { Store (0x03, Local0) } Return (Local0) } Method (_PS0, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x02, LDN) Store (0x02, CNFR) Release (NSMX) } Method (_PS3, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x02, LDN) And (CNFR, 0xFD, CNFR) Release (NSMX) } Name (_PRW, Package (0x02) { 0x08, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x01, Z00K) } Else { Store (0x00, Z00K) } } } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) Name (PSMS, 0x01) Name (SLEP, 0x00) Method (_SRS, 1, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x05, LDN) Store (Zero, ACTV) Store (0x0C, INTS) Store (One, ACTV) Release (NSMX) } Name (_PRS, ResourceTemplate () { IRQNoFlags () {12} }) Method (_DIS, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x05, LDN) Store (Zero, ACTV) Release (NSMX) } Method (_STA, 0, NotSerialized) { Acquire (NSMX, 0xFFFF) Store (0x05, LDN) If (LNot (PSMS)) { Store (0x00, Local0) } Else { If (ACTV) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } } Release (NSMX) Return (Local0) } Name (_PRW, Package (0x02) { 0x1D, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x01, SLEP) } Else { Store (0x00, SLEP) } } } Device (KBC0) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Address Range Minimum 0x0060, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IO (Decode16, 0x0064, // Address Range Minimum 0x0064, // Address Range Maximum 0x01, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {1} }) Name (SLEP, 0x00) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x01, SLEP) } Else { Store (0x00, SLEP) } } Name (_PRW, Package (0x02) { 0x1D, 0x05 }) } } } Name (NATA, Package (0x02) { 0x001F0001, 0x001F0002 }) Method (GETP, 1, NotSerialized) { Noop If (LEqual (And (Arg0, 0x09), 0x00)) { Return (0xFFFFFFFF) } If (LEqual (And (Arg0, 0x09), 0x08)) { Return (0x0384) } ShiftRight (And (Arg0, 0x0300), 0x08, Local0) ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)))) } Method (GETD, 4, NotSerialized) { Noop If (Arg0) { If (Arg1) { Return (0x14) } If (Arg2) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (0xFFFFFFFF) } Method (GETT, 1, NotSerialized) { Noop Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02), 0x03), And (Arg0, 0x03))))) } Method (GETF, 3, NotSerialized) { Noop Name (TMPF, 0x00) If (Arg0) { Or (TMPF, 0x01, TMPF) } If (And (Arg2, 0x02)) { Or (TMPF, 0x02, TMPF) } If (Arg1) { Or (TMPF, 0x04, TMPF) } If (And (Arg2, 0x20)) { Or (TMPF, 0x08, TMPF) } If (And (Arg2, 0x4000)) { Or (TMPF, 0x10, TMPF) } Return (TMPF) } Method (SETP, 3, NotSerialized) { Noop If (LNot (LLess (Arg0, 0xF0))) { Return (0x08) } Else { If (And (Arg1, 0x02)) { If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01))) { Return (0x2101) } } Return (0x1001) } } Method (SETD, 1, NotSerialized) { Noop If (LNot (LGreater (Arg0, 0x14))) { Return (0x01) } If (LNot (LGreater (Arg0, 0x1E))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x2D))) { Return (0x01) } If (LNot (LGreater (Arg0, 0x3C))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x5A))) { Return (0x01) } Return (0x00) } Method (SETT, 3, NotSerialized) { Noop If (And (Arg1, 0x02)) { If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, 0x01))) { Return (0x09) } } Return (0x04) } Device (IDEC) { Name (_ADR, 0x001F0001) OperationRegion (IDEC, PCI_Config, 0x40, 0x18) Field (IDEC, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SDMA, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4 } Device (PRID) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Noop Name (PBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, 0x00, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GETD (And (SDMA, 0x01), And (ICR3, 0x01), And (ICR0, 0x01), SDT0), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GETD (And (SDMA, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SDMA, 0x01), And (SDMA, 0x02), PRIT), FLAG) Return (PBUF) } Method (_STM, 3, NotSerialized) { Noop CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (0x04, ICR2) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x4CF0, PRIT) And (SDMA, 0x0E, SDMA) Store (0x00, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, 0x01)) { Or (SDMA, 0x01, SDMA) Store (SETD (DMA0), SDT0) If (And (W880, 0x20)) { Or (ICR1, 0x01, ICR1) Or (ICR5, 0x01, ICR5) } If (And (W880, 0x10)) { Or (ICR1, 0x01, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x01, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x01, ICR0) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (0x00, PSIT) And (SDMA, 0x0D, SDMA) Store (0x00, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SDMA, 0x02, SDMA) Store (SETD (DMA1), SDT1) If (And (W881, 0x20)) { Or (ICR1, 0x02, ICR1) Or (ICR5, 0x02, ICR5) } If (And (W881, 0x10)) { Or (ICR1, 0x02, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x02, ICR0) } } } } Method (_PS0, 0, NotSerialized) { Noop } Method (_PS3, 0, NotSerialized) { Noop } Device (P_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Noop Name (PIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, 0x01, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (0x01, PMD0) } If (And (SDMA, 0x01)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR0, 0x01)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x01)) { Store (0x45, DMD0) } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) } } Device (P_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Noop Name (PIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, 0x01, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (0x01, PMD1) } If (And (SDMA, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) } } } Device (SECD) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Noop Name (SBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, 0x00, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GETD (And (SDMA, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GETD (And (SDMA, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SDMA, 0x04), And (SDMA, 0x08), SECT), FLAG) Return (SBUF) } Method (_STM, 3, NotSerialized) { Noop CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (0x04, ICR2) If (LEqual (SizeOf (Arg1), 0x0200)) { And (SECT, 0x4CF0, SECT) And (SDMA, 0x0B, SDMA) Store (0x00, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, 0x01)) { Or (SDMA, 0x04, SDMA) Store (SETD (DMA0), SDT2) If (And (W880, 0x20)) { Or (ICR1, 0x04, ICR1) Or (ICR5, 0x04, ICR5) } If (And (W880, 0x10)) { Or (ICR1, 0x04, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0x3F0F, SECT) Store (0x00, SSIT) And (SDMA, 0x07, SDMA) Store (0x00, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) Or (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SDMA, 0x08, SDMA) Store (SETD (DMA1), SDT3) If (And (W881, 0x20)) { Or (ICR1, 0x08, ICR1) Or (ICR5, 0x08, ICR5) } If (And (W881, 0x10)) { Or (ICR1, 0x08, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x08, ICR0) } } } } Method (_PS0, 0, NotSerialized) { Noop } Method (_PS3, 0, NotSerialized) { Noop } Device (S_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Noop Name (SIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, 0x01, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (0x01, PMD0) } If (And (SDMA, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) } } Device (S_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Noop Name (SIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, 0x01, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (0x01, PMD1) } If (And (SDMA, 0x08)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) } } } } Device (IDE1) { Name (_ADR, 0x001F0002) OperationRegion (IDE1, PCI_Config, 0x90, 0x04) Field (IDE1, DWordAcc, NoLock, Preserve) { MAP, 8, Offset (0x02), PCS, 8 } OperationRegion (IDEC, PCI_Config, 0x40, 0x18) Field (IDEC, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SDMA, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4 } Method (CTYP, 1, NotSerialized) { Store (Zero, Local0) If (Arg0) { If (LAnd (LGreater (MAP, 0x01), LLess (MAP, 0x06))) { Store (0x01, Local0) } Else { If (LEqual (MAP, Zero)) { Store (0x03, Local0) } If (LEqual (MAP, One)) { Store (0x04, Local0) } } } Else { If (LGreater (MAP, 0x05)) { Store (0x02, Local0) } Else { If (LEqual (MAP, Zero)) { Store (0x05, Local0) } If (LEqual (MAP, One)) { Store (0x06, Local0) } } } Return (Local0) } Device (PRID) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Noop Name (PBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, 0x00, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GETD (And (SDMA, 0x01), And (ICR3, 0x01), And (ICR0, 0x01), SDT0), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GETD (And (SDMA, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SDMA, 0x01), And (SDMA, 0x02), PRIT), FLAG) Return (PBUF) } Method (_STM, 3, NotSerialized) { Noop CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (0x04, ICR2) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x4CF0, PRIT) And (SDMA, 0x0E, SDMA) Store (0x00, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, 0x01)) { Or (SDMA, 0x01, SDMA) Store (SETD (DMA0), SDT0) If (And (W880, 0x20)) { Or (ICR1, 0x01, ICR1) Or (ICR5, 0x01, ICR5) } If (And (W880, 0x10)) { Or (ICR1, 0x01, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x01, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x01, ICR0) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (0x00, PSIT) And (SDMA, 0x0D, SDMA) Store (0x00, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SDMA, 0x02, SDMA) Store (SETD (DMA1), SDT1) If (And (W881, 0x20)) { Or (ICR1, 0x02, ICR1) Or (ICR5, 0x02, ICR5) } If (And (W881, 0x10)) { Or (ICR1, 0x02, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x02, ICR0) } } } } Method (_PS0, 0, NotSerialized) { } Method (_PS3, 0, NotSerialized) { } Device (P_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Noop Name (PIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, 0x01, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (0x01, PMD0) } If (And (SDMA, 0x01)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR0, 0x01)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x01)) { Store (0x45, DMD0) } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) } } Device (P_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Noop Name (PIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, 0x01, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (0x01, PMD1) } If (And (SDMA, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) } } } Device (SECD) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Noop Name (SBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, 0x00, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GETD (And (SDMA, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GETD (And (SDMA, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SDMA, 0x04), And (SDMA, 0x08), SECT), FLAG) Return (SBUF) } Method (_STM, 3, NotSerialized) { Noop CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (0x04, ICR2) If (LEqual (SizeOf (Arg1), 0x0200)) { And (SECT, 0x4CF0, SECT) And (SDMA, 0x0B, SDMA) Store (0x00, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, 0x01)) { Or (SDMA, 0x04, SDMA) Store (SETD (DMA0), SDT2) If (And (W880, 0x20)) { Or (ICR1, 0x04, ICR1) Or (ICR5, 0x04, ICR5) } If (And (W880, 0x10)) { Or (ICR1, 0x04, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0x3F0F, SECT) Store (0x00, SSIT) And (SDMA, 0x07, SDMA) Store (0x00, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) Or (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SDMA, 0x08, SDMA) Store (SETD (DMA1), SDT3) If (And (W881, 0x20)) { Or (ICR1, 0x08, ICR1) Or (ICR5, 0x08, ICR5) } If (And (W881, 0x10)) { Or (ICR1, 0x08, ICR1) } If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x08, ICR0) } } } } Method (_PS0, 0, NotSerialized) { } Method (_PS3, 0, NotSerialized) { } Device (S_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Noop Name (SIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, 0x01, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (0x01, PMD0) } If (And (SDMA, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) } } Device (S_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Noop Name (SIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, 0x01, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (0x01, PMD1) } If (And (SDMA, 0x02)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) } } } } Device (SMBS) { Name (_ADR, 0x001F0003) } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_PRW, Package (0x02) { 0x1D, 0x05 }) } Device (USB1) { Name (_ADR, 0x001D0000) OperationRegion (USBO, PCI_Config, 0xC4, 0x04) Field (USBO, DWordAcc, Lock, Preserve) { RSEN, 2 } Name (_PRW, Package (0x02) { 0x03, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, RSEN) } Else { Store (0x00, RSEN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB2) { Name (_ADR, 0x001D0001) OperationRegion (USBO, PCI_Config, 0xC4, 0x04) Field (USBO, DWordAcc, Lock, Preserve) { RSEN, 2 } Name (_PRW, Package (0x02) { 0x04, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, RSEN) } Else { Store (0x00, RSEN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB3) { Name (_ADR, 0x001D0002) OperationRegion (USBO, PCI_Config, 0xC4, 0x04) Field (USBO, DWordAcc, Lock, Preserve) { RSEN, 2 } Name (_PRW, Package (0x02) { 0x0C, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, RSEN) } Else { Store (0x00, RSEN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB4) { Name (_ADR, 0x001D0003) OperationRegion (USBO, PCI_Config, 0xC4, 0x04) Field (USBO, DWordAcc, Lock, Preserve) { RSEN, 2 } Name (_PRW, Package (0x02) { 0x0E, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, RSEN) } Else { Store (0x00, RSEN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (EUSB) { Name (_ADR, 0x001D0007) Name (_S3D, 0x02) Name (_S4D, 0x02) Name (_PRW, Package (0x02) { 0x0D, 0x05 }) } } } Scope (_SI) { Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { If (LEqual (OSYS, 0x07CE)) { Or (Arg0, 0x80, \_SB.BCMD) Store (Zero, \_SB.SMIC) } If (LEqual (OSYS, 0x07CF)) { Or (Arg0, 0x80, \_SB.BCMD) Store (Zero, \_SB.SMIC) } } } } Scope (_TZ) { } OperationRegion (DBG, SystemIO, 0x80, 0x01) Field (DBG, ByteAcc, NoLock, Preserve) { DEBG, 8 } Name (_S0, Package (0x02) { 0x00, 0x00 }) Name (_S1, Package (0x02) { 0x01, 0x01 }) Name (_S4, Package (0x02) { 0x06, 0x06 }) Name (_S5, Package (0x02) { 0x07, 0x07 }) Name (PICF, 0x00) Method (_PIC, 1, NotSerialized) { Store (Arg0, \PICF) } Method (_PTS, 1, NotSerialized) { Or (Arg0, 0xF0, Local0) Store (Local0, DEBG) If (LEqual (Arg0, 0x01)) { \_SB.PCI0.LPC0.SIO.Z00G () \_SB.PCI0.LPC0.SIO.Z00E () Store (\_SB.PCI0.LPC0.SIO.KBC0.SLEP, Local1) Store (\_SB.PCI0.LPC0.SIO.PS2M.SLEP, Local2) Store (0x00, \_SB.PCI0.LPC0.SIO.BANK) If (Local1) { Store (0x01, \_SB.PCI0.LPC0.SIO.KBEN) Store (0x00, \_SB.PCI0.LPC0.SIO.BANK) Or (\_SB.PCI0.LPC0.SIO.RG13, 0x01, \_SB.PCI0.LPC0.SIO.RG13) } If (Local2) { Store (0x01, \_SB.PCI0.LPC0.SIO.MSEN) Store (0x00, \_SB.PCI0.LPC0.SIO.BANK) Or (\_SB.PCI0.LPC0.SIO.RG13, 0x10, \_SB.PCI0.LPC0.SIO.RG13) } } If (LEqual (Arg0, 0x03)) { \_SB.PCI0.LPC0.SIO.Z00I () \_SB.PCI0.LPC0.SIO.Z00E () Store (\_SB.PCI0.LPC0.SIO.KBC0.SLEP, Local1) Store (\_SB.PCI0.LPC0.SIO.PS2M.SLEP, Local2) Store (0x00, \_SB.PCI0.LPC0.SIO.BANK) If (Local1) { Store (0x01, \_SB.PCI0.LPC0.SIO.KBEN) Store (0x00, \_SB.PCI0.LPC0.SIO.BANK) Or (\_SB.PCI0.LPC0.SIO.RG13, 0x01, \_SB.PCI0.LPC0.SIO.RG13) Store (0x02, \_SB.PCI0.LPC0.SIO.BANK) Or (\_SB.PCI0.LPC0.SIO.RG17, 0x04, \_SB.PCI0.LPC0.SIO.RG17) Or (\_SB.PCI0.LPC0.SIO.RG19, 0x04, \_SB.PCI0.LPC0.SIO.RG19) } If (Local2) { Store (0x01, \_SB.PCI0.LPC0.SIO.MSEN) Store (0x00, \_SB.PCI0.LPC0.SIO.BANK) Or (\_SB.PCI0.LPC0.SIO.RG13, 0x10, \_SB.PCI0.LPC0.SIO.RG13) Store (0x02, \_SB.PCI0.LPC0.SIO.BANK) Or (\_SB.PCI0.LPC0.SIO.RG17, 0x08, \_SB.PCI0.LPC0.SIO.RG17) Or (\_SB.PCI0.LPC0.SIO.RG19, 0x08, \_SB.PCI0.LPC0.SIO.RG19) } } If (LEqual (Arg0, 0x04)) { \_SB.PCI0.LPC0.SIO.Z00J () } } Method (_WAK, 1, NotSerialized) { Or (Arg0, 0xE0, Local0) Store (Local0, DEBG) \_SB.PCI0.LPC0.SIO.Z00H () \_SB.PCI0.LPC0.SIO.Z00D () If (LEqual (Arg0, 0x04)) { \_SB.OSHT () } Store (0x00, DEBG) If (LEqual (OSYS, 0x07CE)) { Notify (\_SB.PCI0.PWRB, 0x02) } Return(Package(0x02){0x00, 0x00}) } Scope (\_SB) { Name (OSTB, Ones) OperationRegion (OSTY, SystemMemory, 0x3FE9DF4C, 0x00000001) 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 (0x00, ^OSTB) Store (0x00, ^TPOS) } } } } Else { If (CondRefOf (\_OS, Local0)) { If (^SEQL (\_OS, "Microsoft Windows")) { Store (0x01, ^OSTB) Store (0x01, ^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 (0x00, ^OSTB) Store (0x00, ^TPOS) } } } } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } Return (^OSTB) } Method (OSHT, 0, NotSerialized) { \_SB.OSTP () Store (0x48, \_SB.BCMD) Store (Zero, \_SB.SMIC) } Method (SEQL, 2, Serialized) { Store (SizeOf (Arg0), Local0) Store (SizeOf (Arg1), Local1) If (LNot (LEqual (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 (LNot (LEqual (Local3, Local4))) { Return (Zero) } Increment (Local2) } Return (One) } } Name (FWSO, "FWSO") Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (_PSC, Local0) Store (0x00, _PSC) If (LEqual (Local0, 0x03)) { Store (0x01, \_SB.INF) While (\_SB.INF) { Store (0x20, \_SB.BCMD) Store (Zero, \_SB.SMIC) If (LAnd (LEqual (\_SB.INF, 0x01), LNot (LLess (\_SB.OSTB, 0x04)))) { Sleep (0x01F4) } } } } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Scope (\) { Name (SSDT, Package (0x18) { "CPU0IST ", 0x00000000, 0x00000000, "CPU1IST ", 0x00000000, 0x00000000, "CPU0CST ", 0x00000000, 0x00000000, "CPU1CST ", 0x00000000, 0x00000000, "CPU2IST ", 0x00000000, 0x00000000, "CPU3IST ", 0x00000000, 0x00000000, "CPU2CST ", 0x00000000, 0x00000000, "CPU3CST ", 0x00000000, 0x00000000 }) Name (CFGD, 0x0F448100) Name (\PDC0, 0x80000000) Name (\PDC1, 0x80000000) Name (\PDC2, 0x80000000) Name (\PDC3, 0x80000000) } Scope (\_PR.CPU0) { Name (HI0, 0x00) Name (HC0, 0x00) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, CAP0) Store (CAP0, PDC0) If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC0, 0x0A), 0x0A))) { If (And (CFGD, 0x03)) { OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02))) Load (IST0, HI0) } If (And (CFGD, 0x10)) { OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08))) Load (CST0, HC0) } } } } Scope (\_PR.CPU1) { Name (HI1, 0x00) Name (HC1, 0x00) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, CAP1) Store (CAP1, PDC1) If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC1, 0x0A), 0x0A))) { If (And (CFGD, 0x03)) { OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05))) Load (IST1, HI1) } If (And (CFGD, 0x10)) { OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B))) Load (CST1, HC1) } } If (LEqual (And (PDC1, 0x0A), 0x0A)) {} } } Scope (\_PR.CPU2) { Name (HI2, 0x00) Name (HC2, 0x00) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, CAP2) Store (CAP2, PDC2) If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC2, 0x0A), 0x0A))) { If (And (CFGD, 0x03)) { OperationRegion (IST2, SystemMemory, DerefOf (Index (SSDT, 0x0D)), DerefOf (Index (SSDT, 0x0E))) Load (IST2, HI2) } If (And (CFGD, 0x10)) { OperationRegion (CST2, SystemMemory, DerefOf (Index (SSDT, 0x13)), DerefOf (Index (SSDT, 0x14))) Load (CST2, HC2) } } } } Scope (\_PR.CPU3) { Name (HI3, 0x00) Name (HC3, 0x00) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x08, CAP3) Store (CAP3, PDC3) If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC3, 0x0A), 0x0A))) { If (And (CFGD, 0x03)) { OperationRegion (IST3, SystemMemory, DerefOf (Index (SSDT, 0x10)), DerefOf (Index (SSDT, 0x11))) Load (IST3, HI3) } If (And (CFGD, 0x10)) { OperationRegion (CST3, SystemMemory, DerefOf (Index (SSDT, 0x16)), DerefOf (Index (SSDT, 0x17))) Load (CST3, HC3) } } If (LEqual (And (PDC3, 0x0A), 0x0A)) {} } } }