/* RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0) RSDT=0x0bffdd69, cksum=233 */ /* RSDT: Length=40, Revision=1, Checksum=146, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x1, Creator ID=PTL, Creator Revision=0x1000000 Entries={ 0x0bfffb8c } */ /* FACP: Length=116, Revision=1, Checksum=47, OEMID=INTEL, OEM Table ID=SEATTLE2, OEM Revision=0x20000817, Creator ID=PTL, Creator Revision=0xf4240 FACS=0xbffffc0, DSDT=0xbffdd91 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=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM_TMR_BLK=0x8008-0x800b GPE0_BLK=0x800c-0x800f P_LVL2_LAT=10 us, P_LVL3_LAT=20 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=0 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,SLEEP_BUTTON} */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=7675, Revision=1, Checksum=54, OEMID=Intel, OEM Table ID=S2440BX, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x1000004 */ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20170303 (32-bit version) * Copyright (c) 2000 - 2017 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of /tmp/acpidump.JRXDVv/acpdump.din, Thu Sep 14 22:49:03 2017 * * Original Table Header: * Signature "DSDT" * Length 0x00001DFB (7675) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support * Checksum 0x36 * OEM ID "Intel" * OEM Table ID "S2440BX" * OEM Revision 0x00000001 (1) * Compiler ID "MSFT" * Compiler Version 0x01000004 (16777220) */ DefinitionBlock ("", "DSDT", 1, "Intel", "S2440BX", 0x00000001) { Name (\_S0, Package (0x03) // _S0_: S0 System State { 0x05, 0x05, 0x00 }) Name (\_S1, Package (0x03) // _S1_: S1 System State { 0x04, 0x04, 0x00 }) Name (\_S5, Package (0x03) // _S5_: S5 System State { 0x00, 0x00, 0x00 }) Scope (\_PR) { Processor (CPU0, 0x01, 0x00008010, 0x06){} } Scope (\_SB) { Device (PCI0) { Name (_HID, EisaId ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID Name (_ADR, 0x00) // _ADR: Address Name (_PRT, Package (0x19) // _PRT: PCI Routing Table { Package (0x04) { 0x000DFFFF, 0x00, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x000DFFFF, 0x01, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x000DFFFF, 0x02, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000DFFFF, 0x03, \_SB.PCI0.ISA.LNKD, 0x00 }, Package (0x04) { 0x000EFFFF, 0x00, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x000EFFFF, 0x01, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000EFFFF, 0x02, \_SB.PCI0.ISA.LNKD, 0x00 }, Package (0x04) { 0x000EFFFF, 0x03, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x000FFFFF, 0x00, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000FFFFF, 0x01, \_SB.PCI0.ISA.LNKD, 0x00 }, Package (0x04) { 0x000FFFFF, 0x02, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x000FFFFF, 0x03, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x0010FFFF, 0x00, \_SB.PCI0.ISA.LNKD, 0x00 }, Package (0x04) { 0x0010FFFF, 0x01, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x0010FFFF, 0x02, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x0010FFFF, 0x03, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000CFFFF, 0x00, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x0007FFFF, 0x02, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x03, \_SB.PCI0.ISA.LNKD, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x0001FFFF, 0x02, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x03, \_SB.PCI0.ISA.LNKD, 0x00 } }) OperationRegion (NB0, PCI_Config, 0x58, 0x08) Field (NB0, DWordAcc, NoLock, Preserve) { PAM2, 32, PAM3, 32 } OperationRegion (NB1, PCI_Config, 0x64, 0x04) Field (NB1, DWordAcc, NoLock, Preserve) { TOM, 32 } Method (MIN, 2, NotSerialized) { If ((Arg0 < Arg1)) { Return (Arg0) } Else { Return (Arg1) } } Method (SLEN, 1, NotSerialized) { Return (SizeOf (Arg0)) } Method (S2BF, 1, Serialized) { Local0 = (SLEN (Arg0) + One) Name (BUFF, Buffer (Local0){}) BUFF = Arg0 Return (BUFF) /* \_SB_.PCI0.S2BF.BUFF */ } Method (SCMP, 2, NotSerialized) { Local0 = S2BF (Arg0) Local1 = S2BF (Arg1) Local4 = Zero Local5 = SLEN (Arg0) Local6 = SLEN (Arg1) Local7 = MIN (Local5, Local6) While ((Local4 < Local7)) { Local2 = DerefOf (Local0 [Local4]) Local3 = DerefOf (Local1 [Local4]) If ((Local2 > Local3)) { Return (One) } ElseIf ((Local2 < Local3)) { Return (Ones) } Local4++ } If ((Local4 < Local5)) { Return (One) } ElseIf ((Local4 < Local6)) { Return (Ones) } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length ,, , TypeStatic, DenseTranslation) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic, DenseTranslation) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000C000, // Length ,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x10000000, // Range Minimum 0xFFDFFFFF, // Range Maximum 0x00000000, // Translation Offset 0xEFE00000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) }) If ((SCMP (\_OS, "Microsoft Windows") == Zero)) { OUTP = 0x98 } Else { OUTP = 0x50 CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MIN, SPCI) // _MIN: Minimum Base Address CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._MAX, EPCI) // _MAX: Maximum Base Address CreateDWordField (BUF0, \_SB.PCI0._CRS._Y00._LEN, LPCI) // _LEN: Length CreateDWordField (BUF0, \_SB.PCI0._CRS._Y01._MIN, TMEM) // _MIN: Minimum Base Address CreateDWordField (BUF0, \_SB.PCI0._CRS._Y01._LEN, LMEM) // _LEN: Length Local0 = PAM2 /* \_SB_.PCI0.PAM2 */ Local0 >>= 0x10 Local1 = PAM3 /* \_SB_.PCI0.PAM3 */ If ((Local1 & 0x3000)) { EPCI = 0x000DFFFF LPCI = 0x00020000 } ElseIf ((Local1 & 0x0300)) { EPCI = 0x000DBFFF LPCI = 0x0001C000 } ElseIf ((Local1 & 0x30)) { EPCI = 0x000D7FFF LPCI = 0x00018000 } ElseIf ((Local1 & 0x03)) { EPCI = 0x000D3FFF LPCI = 0x00014000 } ElseIf ((Local0 & 0x3000)) { EPCI = 0x000CFFFF LPCI = 0x00010000 } ElseIf ((Local0 & 0x0300)) { EPCI = 0x000CBFFF LPCI = 0xC000 } ElseIf ((Local0 & 0x30)) { EPCI = 0x000C7FFF LPCI = 0x8000 } ElseIf ((Local0 & 0x03)) { EPCI = 0x000C3FFF LPCI = 0x4000 } Else { EPCI = 0x000C0000 LPCI = 0x00 } Local0 = TOM /* \_SB_.PCI0.TOM_ */ Local0 &= 0xFF000000 Local0 >>= 0x01 Local1 = (0xFFE00000 - Local0) TMEM = Local0 LMEM = Local1 } Return (BUF0) /* \_SB_.PCI0._CRS.BUF0 */ } OperationRegion (SMI0, SystemMemory, 0x0BFFFF20, 0x00000090) Field (SMI0, AnyAcc, NoLock, Preserve) { BCMD, 8 } OperationRegion (SMI1, SystemIO, 0x0000FE00, 0x00000002) Field (SMI1, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (DEBG, SystemIO, 0x80, 0x01) Field (DEBG, ByteAcc, NoLock, Preserve) { OUTP, 8 } OperationRegion (SYSI, SystemIO, 0x8037, 0x01) Field (SYSI, ByteAcc, NoLock, Preserve) { SYIP, 8 } OperationRegion (SYSM, SystemIO, 0x8035, 0x01) Field (SYSM, ByteAcc, NoLock, Preserve) { SYMP, 8 } OperationRegion (FANC, SystemIO, 0x8034, 0x01) Field (FANC, ByteAcc, NoLock, Preserve) { FANP, 1 } Name (MT, ResourceTemplate () { }) Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x01 }) Device (USB0) { Name (_ADR, 0x00070002) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x08, 0x01 }) } Device (ISA) { Name (_ADR, 0x00070000) // _ADR: Address Device (MBBS) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x7000, // Range Minimum 0x7000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x8000, // Range Minimum 0x8000, // Range Maximum 0x01, // Alignment 0x40, // Length ) Memory32Fixed (ReadOnly, 0xFFF80000, // Address Base 0x00080000, // Address Length ) }) } OperationRegion (PIX4, PCI_Config, 0x60, 0x04) Field (PIX4, AnyAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((PIRA & 0x80)) { Return ((0x0F & 0xF9)) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRA |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y02) {0} }) CreateWordField (BUF0, \_SB.PCI0.ISA.LNKA._CRS._Y02._INT, IRQW) // _INT: Interrupts If ((PIRA & 0x80)) { Local0 = Zero } Else { Local0 = One } IRQW = (Local0 << (PIRA & 0x0F)) Return (BUF0) /* \_SB_.PCI0.ISA_.LNKA._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQW) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0 &= 0x7F Local0-- } Else { Local0 |= 0x80 } PIRA = Local0 } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((PIRB & 0x80)) { Return ((0x0F & 0xF9)) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRB |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y03) {0} }) CreateWordField (BUF0, \_SB.PCI0.ISA.LNKB._CRS._Y03._INT, IRQW) // _INT: Interrupts If ((PIRB & 0x80)) { Local0 = Zero } Else { Local0 = One } IRQW = (Local0 << (PIRB & 0x0F)) Return (BUF0) /* \_SB_.PCI0.ISA_.LNKB._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQW) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0 &= 0x7F Local0-- } Else { Local0 |= 0x80 } PIRB = Local0 } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((PIRC & 0x80)) { Return ((0x0F & 0xF9)) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRC |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y04) {0} }) CreateWordField (BUF0, \_SB.PCI0.ISA.LNKC._CRS._Y04._INT, IRQW) // _INT: Interrupts If ((PIRC & 0x80)) { Local0 = Zero } Else { Local0 = One } IRQW = (Local0 << (PIRC & 0x0F)) Return (BUF0) /* \_SB_.PCI0.ISA_.LNKC._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQW) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0 &= 0x7F Local0-- } Else { Local0 |= 0x80 } PIRC = Local0 } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((PIRD & 0x80)) { Return ((0x0F & 0xF9)) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRD |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y05) {0} }) CreateWordField (BUF0, \_SB.PCI0.ISA.LNKD._CRS._Y05._INT, IRQW) // _INT: Interrupts If ((PIRD & 0x80)) { Local0 = Zero } Else { Local0 = One } IRQW = (Local0 << (PIRD & 0x0F)) Return (BUF0) /* \_SB_.PCI0.ISA_.LNKD._CRS.BUF0 */ } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQW) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0 &= 0x7F Local0-- } Else { Local0 |= 0x80 } PIRD = Local0 } } PowerResource (PFAN, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = FANP /* \_SB_.PCI0.FANP */ If ((Local0 == 0x00)) { Return (0x01) } Else { Return (0x00) } } Method (_ON, 0, NotSerialized) // _ON_: Power On { FANP = 0x00 } Method (_OFF, 0, NotSerialized) // _OFF: Power Off { FANP = 0x01 } } Device (FAN1) { Name (_HID, EisaId ("PNP0C0B") /* Fan (Thermal Solution) */) // _HID: Hardware ID Name (_PR0, Package (0x01) // _PR0: Power Resources for D0 { PFAN }) } Device (DMAC) { Name (_HID, EisaId ("PNP0201")) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x12, // Length ) IO (Decode16, 0x0094, // Range Minimum 0x0094, // Range Maximum 0x01, // Alignment 0x0C, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x040B, // Range Minimum 0x040B, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0410, // Range Minimum 0x0410, // Range Maximum 0x01, // Alignment 0x30, // Length ) IO (Decode16, 0x0481, // Range Minimum 0x0481, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x0487, // Range Minimum 0x0487, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0489, // Range Minimum 0x0489, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x04D6, // Range Minimum 0x04D6, // Range Maximum 0x01, // Alignment 0x01, // Length ) DMA (Compatibility, NotBusMaster, Transfer8, ) {4} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (FPU) { Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (TMR) { Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (SMC) { Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID OperationRegion (S777, SystemIO, 0x0370, 0x02) Field (S777, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } Method (R777, 1, NotSerialized) { INDX = 0x55 INDX = 0x55 INDX = Arg0 Local1 = DATA /* \_SB_.PCI0.ISA_.SMC_.DATA */ INDX = 0xAA Return (Local1) } Method (W777, 2, NotSerialized) { INDX = 0x55 INDX = 0x55 INDX = Arg0 DATA = Arg1 INDX = 0xAA } Device (FDC0) { Name (_HID, EisaId ("PNP0700")) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { W777 (0x07, 0x00) If (R777 (0x30)) { Return (0x0F) } Else { Return ((0x0F & 0xFD)) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { W777 (0x07, 0x00) W777 (0x70, 0x00) W777 (0x30, 0x00) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F0, // Range Minimum 0x03F0, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, ) {2} }) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.FDC0._CRS.BUF0 */ } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Name (BUF0, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F0, // Range Minimum 0x03F0, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, ) {2} } EndDependentFn () }) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.FDC0._PRS.BUF0 */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x11, IRQW) CreateByteField (Arg0, 0x14, DMAV) W777 (0x07, 0x00) W777 (0x61, IOLO) W777 (0x60, IOHI) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0-- } W777 (0x70, Local0) If ((DMAV == Zero)) { W777 (0x74, 0x04) } Else { FindSetRightBit (DMAV, Local0) Local0-- W777 (0x74, Local0) } W777 (0x30, 0x01) } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { W777 (0x07, 0x00) If (R777 (0x30)) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { W777 (0x07, 0x00) W777 (0x30, 0x01) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { W777 (0x07, 0x00) W777 (0x30, 0x00) } } Device (UAR1) { Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { W777 (0x07, 0x04) If (R777 (0x30)) { Return (0x0F) } Else { Return ((0x0F & 0xFD)) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { W777 (0x07, 0x04) W777 (0x70, 0x00) W777 (0x30, 0x00) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length _Y06) IRQNoFlags (_Y07) {4} }) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.UAR1._CRS._Y06._MIN, IOLO) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.UAR1._CRS._Y06._MAX, IORL) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IORH) CreateWordField (BUF0, \_SB.PCI0.ISA.SMC.UAR1._CRS._Y07._INT, IRQW) // _INT: Interrupts W777 (0x07, 0x04) IOLO = R777 (0x61) IORL = R777 (0x61) IOHI = R777 (0x60) IORH = R777 (0x60) Local0 = One IRQW = (Local0 << R777 (0x70)) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.UAR1._CRS.BUF0 */ } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Name (BUF0, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x02, 0x00) { IO (Decode16, 0x0100, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {1,3,4,5,6,7,8,10,11,12,13,14,15} } EndDependentFn () }) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.UAR1._PRS.BUF0 */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) W777 (0x07, 0x04) W777 (0x61, IOLO) W777 (0x60, IOHI) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0-- } W777 (0x70, Local0) W777 (0x30, 0x01) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0A, 0x01 }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If ((Arg0 == 0x00)) { Local0 = R777 (0x23) Local0 &= 0xEF W777 (0x23, Local0) } Else { Local0 = R777 (0x23) Local0 |= 0x10 W777 (0x23, Local0) } } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { W777 (0x07, 0x04) If (R777 (0x30)) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { W777 (0x07, 0x04) W777 (0x30, 0x01) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { W777 (0x07, 0x04) W777 (0x30, 0x00) } } Device (UAR2) { Method (_HID, 0, NotSerialized) // _HID: Hardware ID { W777 (0x07, 0x05) Local0 = (R777 (0xF1) & 0x38) If ((Local0 == 0x00)) { Return (0x0105D041) } Else { Return (0x1005D041) } } Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { W777 (0x07, 0x05) If (R777 (0x30)) { Return (0x0F) } Else { Return ((0x0F & 0xFD)) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { W777 (0x07, 0x05) W777 (0x70, 0x00) W777 (0x30, 0x00) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length _Y08) IRQNoFlags (_Y09) {3} }) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.UAR2._CRS._Y08._MIN, IOLO) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.UAR2._CRS._Y08._MAX, IORL) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IORH) CreateWordField (BUF0, \_SB.PCI0.ISA.SMC.UAR2._CRS._Y09._INT, IRQW) // _INT: Interrupts W777 (0x07, 0x05) IOLO = R777 (0x61) IORL = R777 (0x61) IOHI = R777 (0x60) IORH = R777 (0x60) Local0 = One IRQW = (Local0 << R777 (0x70)) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.UAR2._CRS.BUF0 */ } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Name (BUF0, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} } StartDependentFn (0x02, 0x00) { IO (Decode16, 0x0100, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {1,3,4,5,6,7,8,10,11,12,13,14,15} } EndDependentFn () }) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.UAR2._PRS.BUF0 */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) W777 (0x07, 0x05) W777 (0x61, IOLO) W777 (0x60, IOHI) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0-- } W777 (0x70, Local0) W777 (0x30, 0x01) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0A, 0x01 }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If ((Arg0 == 0x00)) { Local0 = R777 (0x23) Local0 &= 0xDF W777 (0x23, Local0) } Else { Local0 = R777 (0x23) Local0 |= 0x20 W777 (0x23, Local0) } } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { W777 (0x07, 0x05) If (R777 (0x30)) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { W777 (0x07, 0x05) W777 (0x30, 0x01) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { W777 (0x07, 0x05) W777 (0x30, 0x00) } } Device (LPT) { Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { W777 (0x07, 0x03) Local0 = (R777 (0xF0) & 0x03) If ((Local0 == 0x00)) { If (R777 (0x30)) { Return (0x0F) } Else { Return ((0x0F & 0xFD)) } } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { W777 (0x07, 0x03) W777 (0x70, 0x00) W777 (0x30, 0x00) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x04, // Length _Y0A) IRQNoFlags (_Y0B) {7} }) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.LPT._CRS._Y0A._MIN, IOLO) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.LPT._CRS._Y0A._MAX, IORL) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IORH) CreateWordField (BUF0, \_SB.PCI0.ISA.SMC.LPT._CRS._Y0B._INT, IRQW) // _INT: Interrupts W777 (0x07, 0x03) IOLO = R777 (0x61) IORL = R777 (0x61) IOHI = R777 (0x60) IORH = R777 (0x60) Local0 = One IRQW = (Local0 << R777 (0x70)) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.LPT_._CRS.BUF0 */ } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Name (BUF0, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {5} } StartDependentFn (0x02, 0x00) { IO (Decode16, 0x0100, // Range Minimum 0x03FC, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {1,3,4,5,6,7,8,10,11,12,13,14,15} } EndDependentFn () }) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.LPT_._PRS.BUF0 */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) W777 (0x07, 0x03) W777 (0x61, IOLO) W777 (0x60, IOHI) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0-- } W777 (0x70, Local0) W777 (0x30, 0x01) } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { W777 (0x07, 0x03) If (R777 (0x30)) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { W777 (0x07, 0x03) W777 (0x30, 0x01) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { W777 (0x07, 0x03) W777 (0x30, 0x00) } } Device (EPP) { Name (_HID, EisaId ("PNP0400") /* Standard LPT Parallel Port */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { W777 (0x07, 0x03) Local0 = (R777 (0xF0) & 0x03) If ((Local0 == 0x01)) { If (R777 (0x30)) { Return (0x0F) } Else { Return ((0x0F & 0xFD)) } } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { W777 (0x07, 0x03) W777 (0x70, 0x00) W777 (0x30, 0x00) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length _Y0C) IRQNoFlags (_Y0D) {7} }) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.EPP._CRS._Y0C._MIN, IOLO) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.EPP._CRS._Y0C._MAX, IORL) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IORH) CreateWordField (BUF0, \_SB.PCI0.ISA.SMC.EPP._CRS._Y0D._INT, IRQW) // _INT: Interrupts W777 (0x07, 0x03) IOLO = R777 (0x61) IORL = R777 (0x61) IORH = R777 (0x60) IOHI = R777 (0x60) Local0 = One IRQW = (Local0 << R777 (0x70)) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.EPP_._CRS.BUF0 */ } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Name (BUF0, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} } StartDependentFn (0x02, 0x00) { IO (Decode16, 0x0100, // Range Minimum 0x03F8, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {1,3,4,5,6,7,8,10,11,12,13,14,15} } EndDependentFn () }) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.EPP_._PRS.BUF0 */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x09, IRQW) W777 (0x07, 0x03) W777 (0x61, IOLO) W777 (0x60, IOHI) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0-- } W777 (0x70, Local0) W777 (0x30, 0x01) } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { W777 (0x07, 0x03) If (R777 (0x30)) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { W777 (0x07, 0x03) W777 (0x30, 0x01) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { W777 (0x07, 0x03) W777 (0x30, 0x00) } } Device (ECP) { Name (_HID, EisaId ("PNP0401") /* ECP Parallel Port */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { W777 (0x07, 0x03) Local0 = (R777 (0xF0) & 0x02) If ((Local0 == 0x02)) { If (R777 (0x30)) { Return (0x0F) } Else { Return ((0x0F & 0xFD)) } } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { W777 (0x07, 0x03) W777 (0x70, 0x00) W777 (0x30, 0x00) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length _Y0E) IO (Decode16, 0x0768, // Range Minimum 0x0768, // Range Maximum 0x01, // Alignment 0x08, // Length _Y0F) IRQNoFlags (_Y10) {7} DMA (Compatibility, NotBusMaster, Transfer8, _Y11) {3} }) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.ECP._CRS._Y0E._MIN, IOLO) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.ECP._CRS._Y0E._MAX, IORL) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x05, IORH) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.ECP._CRS._Y0F._MIN, I4LO) // _MIN: Minimum Base Address CreateByteField (BUF0, 0x0B, I4HI) CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.ECP._CRS._Y0F._MAX, I4RL) // _MAX: Maximum Base Address CreateByteField (BUF0, 0x0D, I4RH) CreateWordField (BUF0, \_SB.PCI0.ISA.SMC.ECP._CRS._Y10._INT, IRQW) // _INT: Interrupts CreateByteField (BUF0, \_SB.PCI0.ISA.SMC.ECP._CRS._Y11._DMA, DMAC) // _DMA: Direct Memory Access W777 (0x07, 0x03) IOLO = R777 (0x61) IORL = R777 (0x61) I4LO = R777 (0x61) I4RL = R777 (0x61) IORH = R777 (0x60) IOHI = R777 (0x60) I4HI = (R777 (0x60) + 0x04) I4RH = (R777 (0x60) + 0x04) Local0 = One IRQW = (Local0 << R777 (0x70)) If ((R777 (0x74) == 0x04)) { Local0 = Zero } Else { Local0 = One } DMAC = (Local0 << R777 (0x74)) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.ECP_._CRS.BUF0 */ } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Name (BUF0, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0228, // Range Minimum 0x0228, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0628, // Range Minimum 0x0628, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0228, // Range Minimum 0x0228, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0628, // Range Minimum 0x0628, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {3} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0228, // Range Minimum 0x0228, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0628, // Range Minimum 0x0628, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0228, // Range Minimum 0x0228, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0628, // Range Minimum 0x0628, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8, ) {1} } EndDependentFn () }) Return (BUF0) /* \_SB_.PCI0.ISA_.SMC_.ECP_._PRS.BUF0 */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x11, IRQW) CreateByteField (Arg0, 0x14, DMAC) W777 (0x07, 0x03) W777 (0x61, IOLO) W777 (0x60, IOHI) FindSetRightBit (IRQW, Local0) If ((IRQW != Zero)) { Local0-- } W777 (0x70, Local0) If ((DMAC == Zero)) { W777 (0x74, 0x04) } Else { FindSetRightBit (DMAC, Local0) Local0-- W777 (0x74, Local0) } W777 (0x30, 0x01) } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { W777 (0x07, 0x03) If (R777 (0x30)) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { W777 (0x07, 0x03) W777 (0x30, 0x01) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { W777 (0x07, 0x03) W777 (0x30, 0x00) } } Device (KBC) { Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0B, 0x01 }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { 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} }) } Device (MICE) { Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0B, 0x01 }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQNoFlags () {12} }) } } } } } Scope (\_GPE) { Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB0, 0x02) // Device Wake } Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0, 0x02) // Device Wake } Method (_L0A, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Local0 = \_SB.PCI0.ISA.SMC.R777 (0x23) Local1 = Local0 If ((Local0 & 0x10)) { Notify (\_SB.PCI0.ISA.SMC.UAR1, 0x02) // Device Wake } If ((Local1 & 0x20)) { Notify (\_SB.PCI0.ISA.SMC.UAR2, 0x02) // Device Wake } } Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { \_SB.PCI0.ISA.SMC.W777 (0x07, 0x08) \_SB.PCI0.ISA.SMC.W777 (0xC5, 0x00) If ((\_SB.PCI0.ISA.SMC.R777 (0xC7) & 0x18)) { Notify (\_SB.PCI0.ISA.SMC.KBC, 0x02) // Device Wake Notify (\_SB.PCI0.ISA.SMC.MICE, 0x02) // Device Wake } } } Scope (\_SI) { Method (_MSG, 1, NotSerialized) // _MSG: Message { If ((Arg0 == Zero)) { \_SB.PCI0.SYIP |= 0x20 } Else { \_SB.PCI0.SYIP &= 0xDF } } Method (_SST, 1, NotSerialized) // _SST: System Status { \_SB.PCI0.BCMD = (Arg0 | 0x80) \_SB.PCI0.SMIC = Zero } } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { \_SB.PCI0.BCMD = (Arg0 | 0x90) \_SB.PCI0.SMIC = Zero } }