/* RSD PTR: OEM=VIA694, ACPI_Rev=1.0x (0) RSDT=0x3fff3000, cksum=240 */ /* RSDT: Length=44, Revision=1, Checksum=64, OEMID=VIA694, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31, Creator ID=AWRD, Creator Revision=0x0 Entries={ 0x3fff3040, 0x3fff5d40 } */ /* FACP: Length=116, Revision=1, Checksum=33, OEMID=VIA694, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31, Creator ID=AWRD, Creator Revision=0x0 FACS=0x3fff0000, DSDT=0x3fff30c0 INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0x402f, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x4000-0x4003 PM1a_CNT_BLK=0x40f0-0x40f1 PM_TMR_BLK=0x4008-0x400b GPE0_BLK=0x4020-0x4023 P_LVL2_LAT=90 us, P_LVL3_LAT=900 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=0, DUTY_WIDTH=1 DAY_ALRM=125, MON_ALRM=126, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,PROC_C1,SLP_BUTTON,RESET_REG} RESET_REG=0x00000000:0[0] (Memory), RESET_VALUE=0x44 */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=11369, Revision=1, Checksum=159, OEMID=VIA694, OEM Table ID=AWRDACPI, OEM Revision=0x1000, Creator ID=MSFT, Creator Revision=0x100000c */ /* APIC: Length=92, Revision=1, Checksum=205, OEMID=VIA694, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31, Creator ID=AWRD, 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=conforming, Trigger=conforming} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=conforming, Trigger=conforming} */ /* * Intel ACPI Component Architecture * AML Disassembler version 20051021 * * Disassembly of /tmp/acpidump.b1GIQB, Wed Jan 17 01:33:14 2007 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "VIA694", "AWRDACPI", 0x00001000) { Scope (\_PR) { Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) {} Processor (\_PR.CPU1, 0x01, 0x00000000, 0x00) {} } OperationRegion (CM72, SystemIO, 0x70, 0x02) Field (CM72, ByteAcc, NoLock, Preserve) { CI72, 8, CO73, 8 } IndexField (CI72, CO73, ByteAcc, NoLock, Preserve) { Offset (0x43), SUSF, 8 } Name (STAT, 0x00) Name (\_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (\_S1, Package (0x04) { 0x04, 0x04, 0x04, 0x04 }) Name (\_S4, Package (0x04) { 0x02, 0x02, 0x02, 0x02 }) Name (\_S5, Package (0x04) { 0x02, 0x02, 0x02, 0x02 }) OperationRegion (\DEBG, SystemIO, 0x80, 0x01) Field (\DEBG, ByteAcc, NoLock, Preserve) { DBG1, 8 } OperationRegion (EXTM, SystemMemory, 0x000FF830, 0x10) Field (EXTM, WordAcc, NoLock, Preserve) { ROM1, 16, RMS1, 16, ROM2, 16, RMS2, 16, ROM3, 16, RMS3, 16, AMEM, 32 } OperationRegion (ELCR, SystemIO, 0x04D0, 0x02) Field (ELCR, ByteAcc, NoLock, Preserve) { ELC1, 8, ELC2, 8 } OperationRegion (\PMS, SystemIO, 0x4000, 0x02) Field (\PMS, ByteAcc, NoLock, Preserve) { AITS, 1, Offset (0x01), PBTS, 1, , 6, WAKE, 1 } OperationRegion (\GPST, SystemIO, 0x4020, 0x04) Field (\GPST, ByteAcc, NoLock, Preserve) { GS00, 1, GS01, 1, GS02, 1, GS03, 1, GS04, 1, GS05, 1, GS06, 1, GS07, 1, GS08, 1, GS09, 1, GS0A, 1, GS0B, 1, GS0C, 1, Offset (0x02), GE00, 1, GE01, 1, GE02, 1, GE03, 1, GE04, 1, GE05, 1, GE06, 1, GE07, 1, GE08, 1, GE09, 1, GE0A, 1, GE0B, 1, GE0C, 1, Offset (0x04) } OperationRegion (\GPSE, SystemIO, 0x4024, 0x02) Field (\GPSE, ByteAcc, NoLock, Preserve) { GPS0, 1, GPS1, 1, KBCE, 1, LANE, 1, EXTE, 1, PME, 1, Offset (0x01), RING, 1, , 5, USBE, 1, Offset (0x02) } OperationRegion (\GLOS, SystemIO, 0x4028, 0x02) Field (\GLOS, ByteAcc, NoLock, Preserve) { , 6, SSMI, 1, PRII, 1, , 2, SLPE, 1, SIRS, 1, Offset (0x02) } OperationRegion (\WIRQ, SystemIO, 0x402A, 0x01) Field (\WIRQ, ByteAcc, NoLock, Preserve) { IRQR, 8 } OperationRegion (\SMIC, SystemIO, 0x402F, 0x01) Field (\SMIC, ByteAcc, NoLock, Preserve) { SCP, 8 } OperationRegion (\STUS, SystemIO, 0x4030, 0x01) Field (\STUS, ByteAcc, NoLock, Preserve) { PADS, 8 } OperationRegion (GPOB, SystemIO, 0x404C, 0x04) Field (GPOB, ByteAcc, NoLock, Preserve) { GP00, 1, GP01, 1, GP02, 1, GP03, 1, GP04, 1, GP05, 1, GP06, 1, GP07, 1, GP08, 1, GP09, 1, GP10, 1, GP11, 1, GP12, 1, GP13, 1, GP14, 1, GP15, 1, GP16, 1, GP17, 1, GP18, 1, GP19, 1, GP20, 1, GP21, 1, GP22, 1, GP23, 1, GP24, 1, GP25, 1, GP26, 1, GP27, 1, GP28, 1, GP29, 1, GP30, 1, GPXX, 1 } Name (OSFL, 0x01) Method (STRC, 2, NotSerialized) { If (LNot (LEqual (SizeOf (Arg0), SizeOf (Arg1)))) { Return (0x00) } Add (SizeOf (Arg0), 0x01, Local0) Name (BUF0, Buffer (Local0) {}) Name (BUF1, Buffer (Local0) {}) Store (Arg0, BUF0) Store (Arg1, BUF1) While (Local0) { Decrement (Local0) If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0))))) { Return (Zero) } } Return (One) } OperationRegion (RTCM, SystemIO, 0x70, 0x02) Field (RTCM, ByteAcc, NoLock, Preserve) { CMIN, 8, CMDA, 8 } IndexField (CMIN, CMDA, ByteAcc, NoLock, Preserve) { Offset (0x0F), SHUT, 8 } OperationRegion (\GRAM, SystemMemory, 0x0400, 0x0100) Field (\GRAM, ByteAcc, NoLock, Preserve) { Offset (0x10), FLG0, 8, Offset (0xBA), SFLG, 8 } OperationRegion (INFO, SystemMemory, 0x000FF840, 0x01) Field (INFO, ByteAcc, NoLock, Preserve) { KBDI, 1, RTCW, 1, PS2F, 1, IRFL, 2, DISE, 1, SSHU, 1 } OperationRegion (BEEP, SystemIO, 0x61, 0x01) Field (BEEP, ByteAcc, NoLock, Preserve) { S1B, 8 } OperationRegion (CONT, SystemIO, 0x40, 0x04) Field (CONT, ByteAcc, NoLock, Preserve) { CNT0, 8, CNT1, 8, CNT2, 8, CTRL, 8 } Method (SPKR, 1, NotSerialized) { Store (S1B, Local0) Store (0xB6, CTRL) Store (0x55, CNT2) Store (0x03, CNT2) Store (Arg0, Local2) While (LGreater (Local2, 0x00)) { Or (S1B, 0x03, S1B) Store (0x5FFF, Local3) While (LGreater (Local3, 0x00)) { Decrement (Local3) } And (S1B, 0xFC, S1B) Store (0x0EFF, Local3) While (LGreater (Local3, 0x00)) { Decrement (Local3) } Decrement (Local2) } Store (Local0, S1B) } Scope (\) { Name (PICF, 0x00) Method (_PIC, 1, NotSerialized) { Store (Arg0, PICF) } } Method (\_PTS, 1, NotSerialized) { Or (Arg0, 0xF0, Local0) Store (Local0, DBG1) If (LEqual (Arg0, 0x01)) { While (PRII) { Store (One, PRII) } While (LNot (LEqual (PADS, 0x00))) { Store (PADS, PADS) } Or (IRQR, 0x80, IRQR) \_SB.PCI0.SIOP (Ones) } If (LEqual (Arg0, 0x03)) { Or (Arg0, 0x50, Local1) Store (Local1, SCP) } If (LEqual (Arg0, 0x04)) { Store (One, LANE) } If (LEqual (Arg0, 0x05)) { Store (One, LANE) } If (LEqual (Arg0, 0x01)) { SALD (Arg0) } If (LEqual (Arg0, 0x03)) {} } Method (\_WAK, 1, NotSerialized) { Store (0xFF, DBG1) If (LEqual (Arg0, 0x01)) { SALD (0x00) } If (LEqual (Arg0, 0x03)) {} If (LEqual (Arg0, 0x01)) { \_SB.PCI0.SIOP (Zero) And (IRQR, 0x7F, IRQR) While (PRII) { Store (One, PRII) } While (LNot (LEqual (PADS, 0x00))) { Store (PADS, PADS) } } If (LEqual (RTCW, 0x00)) { Notify (\_SB.PWRB, 0x02) } } Scope (\_SI) { Method (_MSG, 1, NotSerialized) { Store (Local0, Local0) } Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) {} If (LEqual (Arg0, 0x01)) {} If (LEqual (Arg0, Zero)) {} Store (Local0, Local0) } } OperationRegion (TEMM, SystemMemory, 0x000FF810, 0x0C) Field (TEMM, WordAcc, NoLock, Preserve) { TP1H, 16, TP1L, 16, TP2H, 16, TP2L, 16, TRPC, 16, SENF, 16 } Name (TVAR, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateByteField (TVAR, 0x00, PLCY) CreateWordField (TVAR, 0x01, CTOS) CreateWordField (TVAR, 0x03, CTHY) Name (TBUF, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateByteField (TBUF, 0x00, DB00) CreateByteField (TBUF, 0x01, DB01) CreateWordField (TBUF, 0x00, DW00) CreateWordField (TBUF, 0x02, DW01) CreateDWordField (TBUF, 0x00, DATD) OperationRegion (IP, SystemIO, 0x0295, 0x02) Field (IP, ByteAcc, NoLock, Preserve) { INDX, 8, DATS, 8 } Method (SCFG, 1, NotSerialized) { SBYT (0x40, Arg0) } Method (STOS, 3, NotSerialized) { Store (GBYT (0x4E), Local0) Or (Local0, 0x01, Local1) SBYT (0x4E, Local1) SBYT (0x55, Arg1) SBYT (0x56, Arg0) SBYT (0x4E, Local0) } Method (STHY, 3, NotSerialized) { Store (GBYT (0x4E), Local0) Or (Local0, 0x01, Local1) SBYT (0x4E, Local1) SBYT (0x53, Arg1) SBYT (0x54, Arg0) SBYT (0x4E, Local0) } Method (RTMP, 0, NotSerialized) { Store (GBYT (0x4E), Local0) Or (Local0, 0x01, Local1) SBYT (0x4E, Local1) Store (GBYT (0x50), Local1) Store (GBYT (0x51), Local2) ShiftLeft (Local1, 0x08, Local1) Or (Local1, Local2, Local3) ShiftRight (Local3, 0x07, Local3) ShiftLeft (Local3, 0x02, Local1) Add (Local3, Local1, Local3) Add (Local3, 0x0AAC, Local3) If (LGreater (Local3, 0x0E8A)) { Store (0x0AAC, Local3) } SBYT (0x4E, Local0) Return (Local3) } Method (SBYT, 2, NotSerialized) { Store (Arg0, INDX) Store (Arg1, DATS) } Method (GBYT, 1, NotSerialized) { Store (Arg0, INDX) Store (DATS, Local7) Return (Local7) } Scope (\_TZ) { Device (FAN) { Name (_HID, EisaId ("PNP0C0B")) Method (_INI, 0, NotSerialized) { Store (TP1H, CTOS) Store (TP1L, CTHY) } } ThermalZone (THRM) { Name (_AL0, Package (0x01) { FAN }) Method (_AC0, 0, NotSerialized) { If (Or (PLCY, PLCY, Local7)) { Return (TP2H) } Else { Return (TP1H) } } Name (_PSL, Package (0x01) { \_PR.CPU0 }) Name (_TSP, 0x3C) Name (_TC1, 0x04) Name (_TC2, 0x03) Method (_PSV, 0, NotSerialized) { If (Or (PLCY, PLCY, Local7)) { Return (TP1H) } Else { Return (TP2H) } } Method (_CRT, 0, NotSerialized) { Return (TRPC) } Method (_TMP, 0, NotSerialized) { And (SENF, 0x01, Local6) If (LEqual (Local6, 0x01)) { Return (RTMP ()) } Else { Return (0x0B86) } } Method (_SCP, 1, NotSerialized) { If (Arg0) { Store (One, PLCY) } Else { Store (Zero, PLCY) } Notify (\_TZ.THRM, 0x81) } Method (STMP, 2, NotSerialized) { Store (Arg1, DW00) If (Arg0) { STHY (DB00, DB01, DW00) } Else { STOS (DB00, DB01, DW00) } } } } Scope (\_GPE) { Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.LAN0, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0, 0x02) } Method (_L08, 0, NotSerialized) { Notify (\_SB.PCI0.UAR1, 0x02) } Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) } } Scope (\_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) { Return (0x0B) } } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x000F0000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x000F4000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x000F8000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x000FC000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00010000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFFF0000, // Address Base 0x00010000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x000A0000, // Address Length ) Memory32Fixed (ReadWrite, 0x00100000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEC00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEE00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFF80000, // Address Base 0x00070000, // Address Length ) }) CreateDWordField (BUF0, 0x34, ACMM) CreateDWordField (BUF0, 0x04, RMA1) CreateDWordField (BUF0, 0x08, RSS1) CreateDWordField (BUF0, 0x10, RMA2) CreateDWordField (BUF0, 0x14, RSS2) CreateDWordField (BUF0, 0x1C, RMA3) CreateDWordField (BUF0, 0x20, RSS3) CreateDWordField (BUF0, 0x28, RMA4) CreateDWordField (BUF0, 0x2C, RSS4) CreateDWordField (BUF0, 0x5C, EXTM) Subtract (AMEM, 0x00100000, EXTM) If (LNot (LEqual (ROM1, Zero))) { Store (RMA1, RMA2) ShiftLeft (ROM1, 0x08, Local0) Store (Local0, RMA1) ShiftLeft (RMS1, 0x08, Local0) Store (Local0, RSS1) Store (0x8000, RSS2) } If (LNot (LEqual (ROM2, Zero))) { Store (RMA2, RMA3) ShiftLeft (ROM2, 0x08, Local0) Store (Local0, RMA2) ShiftLeft (RMS2, 0x08, Local0) Store (Local0, RSS2) Store (0xC000, RSS3) } If (LNot (LEqual (ROM3, Zero))) { Store (RMA3, RMA4) ShiftLeft (ROM3, 0x08, Local0) Store (Local0, RMA3) ShiftLeft (RMS3, 0x08, Local0) Store (Local0, RSS3) Store (0x00010000, RSS4) } Store (AMEM, ACMM) Return (BUF0) } } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_S3D, 0x02) OperationRegion (GART, PCI_Config, 0x80, 0x01) Scope (\) { Field (\_SB.PCI0.GART, ByteAcc, NoLock, Preserve) { GAR1, 8 } } OperationRegion (GARA, PCI_Config, 0x88, 0x01) Scope (\) { Field (\_SB.PCI0.GARA, ByteAcc, NoLock, Preserve) { GAR2, 8 } } Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, PosDecode, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x00FF, // Address Range Maximum 0x0000, // Address Translation Offset 0x0100, // Address Length ,,) IO (Decode16, 0x0CF8, // Address Range Minimum 0x0CF8, // Address Range Maximum 0x01, // Address Alignment 0x08, // Address Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x0000, // Address Range Minimum 0x0CF7, // Address Range Maximum 0x0000, // Address Translation Offset 0x0CF8, // Address Length ,,, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x0D00, // Address Range Minimum 0x3FFF, // Address Range Maximum 0x0000, // Address Translation Offset 0x3300, // Address Length ,,, TypeStatic) IO (Decode16, 0x4000, // Address Range Minimum 0x4000, // Address Range Maximum 0x01, // Address Alignment 0x80, // Address Length ) IO (Decode16, 0x4080, // Address Range Minimum 0x4080, // Address Range Maximum 0x01, // Address Alignment 0x80, // Address Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x4100, // Address Range Minimum 0x4FFF, // Address Range Maximum 0x0000, // Address Translation Offset 0x0EFF, // Address Length ,,, TypeStatic) IO (Decode16, 0x5000, // Address Range Minimum 0x5000, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Address Space Granularity 0x5010, // Address Range Minimum 0xFFFF, // Address Range Maximum 0x0000, // Address Translation Offset 0xAFEF, // Address Length ,,, 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 ,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x000C0000, // Address Range Minimum 0x000DFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0x00020000, // Address Length ,,, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Address Space Granularity 0x00100000, // Address Range Minimum 0xFEBFFFFF, // Address Range Maximum 0x00000000, // Address Translation Offset 0xFFF00000, // Address Length ,,, AddressRangeMemory, TypeStatic) }) CreateDWordField (BUF0, 0xAE, TCMM) CreateDWordField (BUF0, 0xBA, TOMM) Add (AMEM, 0x00010000, TCMM) Subtract (0xFEC00000, TCMM, TOMM) Return (BUF0) } Name (PICM, Package (0x28) { Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x02, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0007FFFF, 0x03, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0008FFFF, 0x00, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0008FFFF, 0x01, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0008FFFF, 0x02, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0008FFFF, 0x03, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0009FFFF, 0x01, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0009FFFF, 0x02, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x03, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000AFFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000AFFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000AFFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000BFFFF, 0x00, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000BFFFF, 0x01, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000BFFFF, 0x02, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000BFFFF, 0x03, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000CFFFF, 0x00, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000CFFFF, 0x01, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000CFFFF, 0x02, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000CFFFF, 0x03, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000DFFFF, 0x00, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000DFFFF, 0x01, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000DFFFF, 0x02, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000DFFFF, 0x03, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0011FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0011FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0011FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0011FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0001FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0012FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0012FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0012FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0012FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 } }) Name (APIC, Package (0x28) { Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x0008FFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x0008FFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x0008FFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0x0008FFFF, 0x03, 0x00, 0x11 }, Package (0x04) { 0x0009FFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x0009FFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0x0009FFFF, 0x02, 0x00, 0x11 }, Package (0x04) { 0x0009FFFF, 0x03, 0x00, 0x12 }, Package (0x04) { 0x000AFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x000AFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x000AFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x000AFFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x000BFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x000BFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x000BFFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0x000BFFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x000CFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x000CFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x000CFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0x000CFFFF, 0x03, 0x00, 0x11 }, Package (0x04) { 0x000DFFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x000DFFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0x000DFFFF, 0x02, 0x00, 0x11 }, Package (0x04) { 0x000DFFFF, 0x03, 0x00, 0x12 }, Package (0x04) { 0x0011FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0011FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0011FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0011FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x0012FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0012FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0012FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0012FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 } }) Method (_PRT, 0, NotSerialized) { If (LNot (PICF)) { Return (PICM) } Else { Return (APIC) } } Device (VT86) { Name (_ADR, 0x00110000) OperationRegion (VTSB, PCI_Config, 0x00, 0xE8) Scope (\) { Field (\_SB.PCI0.VT86.VTSB, ByteAcc, NoLock, Preserve) { Offset (0x52), SIRQ, 8, Offset (0x55), PIRA, 8, PIBC, 8, PIRD, 8, Offset (0x94), PWC1, 8 } } } Device (USB0) { Name (_ADR, 0x00110002) Name (_PRW, Package (0x02) { 0x09, 0x01 }) Name (_S3D, 0x02) } Device (USB1) { Name (_ADR, 0x00110003) Name (_PRW, Package (0x02) { 0x09, 0x01 }) Name (_S3D, 0x02) } Device (USB2) { Name (_ADR, 0x00110004) Name (_PRW, Package (0x02) { 0x09, 0x01 }) Name (_S3D, 0x02) } Device (LAN0) { Name (_ADR, 0x00120000) Name (_PRW, Package (0x02) { 0x03, 0x05 }) } Scope (\) { Method (DISD, 1, NotSerialized) { } Method (CKIO, 2, NotSerialized) { } Method (SLDM, 2, NotSerialized) { } } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { And (PIRA, 0xF0, Local0) If (LEqual (Local0, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15} }) Return (BUFB) } Method (_DIS, 0, NotSerialized) { And (PIRA, 0x0F, PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateByteField (BUFB, 0x01, IRB1) CreateByteField (BUFB, 0x02, IRB2) Store (0x00, Local3) Store (0x00, Local4) And (PIRA, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNot (LEqual (Local1, 0x00))) { If (LGreater (Local1, 0x07)) { Subtract (Local1, 0x08, Local2) ShiftLeft (One, Local2, Local4) } Else { If (LGreater (Local1, 0x00)) { ShiftLeft (One, Local1, Local3) } } Store (Local3, IRB1) Store (Local4, IRB2) } Return (BUFB) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRB1) CreateByteField (Arg0, 0x02, IRB2) ShiftLeft (IRB2, 0x08, Local0) Or (Local0, IRB1, Local0) Store (0x00, Local1) ShiftRight (Local0, 0x01, Local0) While (LGreater (Local0, 0x00)) { Increment (Local1) ShiftRight (Local0, 0x01, Local0) } And (PIRA, 0x0F, PIRA) ShiftLeft (Local1, 0x04, Local1) Or (PIRA, Local1, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { And (PIBC, 0x0F, Local0) If (LEqual (Local0, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15} }) Return (BUFA) } Method (_DIS, 0, NotSerialized) { And (PIBC, 0xF0, PIBC) } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateByteField (BUFA, 0x01, IRA1) CreateByteField (BUFA, 0x02, IRA2) Store (0x00, Local3) Store (0x00, Local4) And (PIBC, 0x0F, Local1) If (LNot (LEqual (Local1, 0x00))) { If (LGreater (Local1, 0x07)) { Subtract (Local1, 0x08, Local2) ShiftLeft (One, Local2, Local4) } Else { If (LGreater (Local1, 0x00)) { ShiftLeft (One, Local1, Local3) } } Store (Local3, IRA1) Store (Local4, IRA2) } Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRA1) CreateByteField (Arg0, 0x02, IRA2) ShiftLeft (IRA2, 0x08, Local0) Or (Local0, IRA1, Local0) Store (0x00, Local1) ShiftRight (Local0, 0x01, Local0) While (LGreater (Local0, 0x00)) { Increment (Local1) ShiftRight (Local0, 0x01, Local0) } And (PIBC, 0xF0, PIBC) Or (PIBC, Local1, PIBC) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { And (PIBC, 0xF0, Local0) If (LEqual (Local0, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15} }) Return (BUFC) } Method (_DIS, 0, NotSerialized) { And (PIBC, 0x0F, PIBC) } Method (_CRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateByteField (BUFC, 0x01, IRC1) CreateByteField (BUFC, 0x02, IRC2) Store (0x00, Local3) Store (0x00, Local4) And (PIBC, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNot (LEqual (Local1, 0x00))) { If (LGreater (Local1, 0x07)) { Subtract (Local1, 0x08, Local2) ShiftLeft (One, Local2, Local4) } Else { If (LGreater (Local1, 0x00)) { ShiftLeft (One, Local1, Local3) } } Store (Local3, IRC1) Store (Local4, IRC2) } Return (BUFC) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRC1) CreateByteField (Arg0, 0x02, IRC2) ShiftLeft (IRC2, 0x08, Local0) Or (Local0, IRC1, Local0) Store (0x00, Local1) ShiftRight (Local0, 0x01, Local0) While (LGreater (Local0, 0x00)) { Increment (Local1) ShiftRight (Local0, 0x01, Local0) } And (PIBC, 0x0F, PIBC) ShiftLeft (Local1, 0x04, Local1) Or (PIBC, Local1, PIBC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { And (PIRD, 0xF0, Local0) If (LEqual (Local0, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {1,3,4,5,6,7,10,11,12,14,15} }) Return (BUFD) } Method (_DIS, 0, NotSerialized) { And (PIRD, 0x0F, PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateByteField (BUFD, 0x01, IRD1) CreateByteField (BUFD, 0x02, IRD2) Store (0x00, Local3) Store (0x00, Local4) And (PIRD, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNot (LEqual (Local1, 0x00))) { If (LGreater (Local1, 0x07)) { Subtract (Local1, 0x08, Local2) ShiftLeft (One, Local2, Local4) } Else { If (LGreater (Local1, 0x00)) { ShiftLeft (One, Local1, Local3) } } Store (Local3, IRD1) Store (Local4, IRD2) } Return (BUFD) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRD1) CreateByteField (Arg0, 0x02, IRD2) ShiftLeft (IRD2, 0x08, Local0) Or (Local0, IRD1, Local0) Store (0x00, Local1) ShiftRight (Local0, 0x01, Local0) While (LGreater (Local0, 0x00)) { Increment (Local1) ShiftRight (Local0, 0x01, Local0) } And (PIRD, 0x0F, PIRD) ShiftLeft (Local1, 0x04, Local1) Or (PIRD, Local1, PIRD) } } Method (\_SB.PCI0._INI, 0, NotSerialized) { If (STRC (\_OS, "Microsoft Windows")) {} Else { If (STRC (\_OS, "Microsoft Windows NT")) { Store (0x00, OSFL) } Else { Store (0x02, OSFL) } } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Address Range Minimum 0x0010, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0022, // Address Range Minimum 0x0022, // Address Range Maximum 0x01, // Address Alignment 0x1E, // Address Length ) IO (Decode16, 0x0044, // Address Range Minimum 0x0044, // Address Range Maximum 0x01, // Address Alignment 0x1C, // Address Length ) IO (Decode16, 0x0062, // Address Range Minimum 0x0062, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0065, // Address Range Minimum 0x0065, // Address Range Maximum 0x01, // Address Alignment 0x0B, // Address Length ) IO (Decode16, 0x0074, // Address Range Minimum 0x0074, // Address Range Maximum 0x01, // Address Alignment 0x0C, // Address Length ) IO (Decode16, 0x0091, // Address Range Minimum 0x0091, // Address Range Maximum 0x01, // Address Alignment 0x03, // Address Length ) IO (Decode16, 0x00A2, // Address Range Minimum 0x00A2, // Address Range Maximum 0x01, // Address Alignment 0x1E, // Address Length ) IO (Decode16, 0x00E0, // Address Range Minimum 0x00E0, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x04D0, // Address Range Minimum 0x04D0, // Address Range Maximum 0x01, // Address Alignment 0x02, // Address Length ) IO (Decode16, 0x0294, // Address Range Minimum 0x0294, // Address Range Maximum 0x01, // Address Alignment 0x04, // Address Length ) }) } 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 ) IRQNoFlags () {2} }) } Device (DMA1) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8) {4} IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IO (Decode16, 0x0080, // Address Range Minimum 0x0080, // Address Range Maximum 0x01, // Address Alignment 0x11, // Address Length ) IO (Decode16, 0x0094, // Address Range Minimum 0x0094, // Address Range Maximum 0x01, // Address Alignment 0x0C, // Address Length ) IO (Decode16, 0x00C0, // Address Range Minimum 0x00C0, // Address Range Maximum 0x01, // Address Alignment 0x20, // Address Length ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Address Range Minimum 0x0040, // Address Range Maximum 0x01, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {0} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Address Range Minimum 0x0070, // Address Range Maximum 0x04, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {8} }) } 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 (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Address Range Minimum 0x00F0, // Address Range Maximum 0x01, // Address Alignment 0x10, // Address Length ) IRQNoFlags () {13} }) } Scope (\) { OperationRegion (WIN1, SystemIO, 0x2E, 0x02) Field (WIN1, ByteAcc, NoLock, Preserve) { INDP, 8, DATA, 8 } IndexField (INDP, DATA, ByteAcc, NoLock, Preserve) { Offset (0x02), CFG, 8, Offset (0x07), LDN, 8, Offset (0x20), IDHI, 8, IDLO, 8, POWC, 8, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, IO2H, 8, IO2L, 8, Offset (0x70), INTR, 8, Offset (0x72), INT1, 8, Offset (0x74), DMCH, 8, Offset (0xC0), GP40, 8, Offset (0xF0), OPT1, 8, OPT2, 8, OPT3, 8, OPT4, 8, OPT5, 8, OPT6, 8, OPT7, 8, Offset (0xF9), OPTA, 8 } Method (ENFG, 0, NotSerialized) { Store (0x87, INDP) Store (0x87, INDP) } Method (EXFG, 0, NotSerialized) { Store (0xAA, INDP) } } Method (SIOP, 1, NotSerialized) { ENFG () Store (0x0A, LDN) And (0xFF, OPT4, OPT4) And (Arg0, 0x30, Local0) And (OPT7, 0xCF, OPT7) Or (OPT7, Local0, OPT7) And (Arg0, 0x05, Local0) And (OPTA, 0xFA, OPTA) Or (OPTA, Local0, OPTA) EXFG () } OperationRegion (COM1, SystemIO, 0x03F8, 0x08) Field (COM1, ByteAcc, NoLock, Preserve) { P3F8, 8, P3F9, 8, P3FA, 8, P3FB, 8, P3FC, 8, P3FD, 8, P3FE, 8, P3FF, 8 } OperationRegion (COM2, SystemIO, 0x02F8, 0x08) Field (COM2, ByteAcc, NoLock, Preserve) { P2F8, 8, P2F9, 8, P2FA, 8, P2FB, 8, P2FC, 8, P2FD, 8, P2FE, 8, P2FF, 8 } OperationRegion (COM3, SystemIO, 0x03E8, 0x08) Field (COM3, ByteAcc, NoLock, Preserve) { P3E8, 8, P3E9, 8, P3EA, 8, P3EB, 8, P3EC, 8, P3ED, 8, P3EE, 8, P3EF, 8 } OperationRegion (COM4, SystemIO, 0x02E8, 0x08) Field (COM4, ByteAcc, NoLock, Preserve) { P2E8, 8, P2E9, 8, P2EA, 8, P2EB, 8, P2EC, 8, P2ED, 8, P2EE, 8, P2EF, 8 } Method (ICOM, 1, NotSerialized) { Store (Arg0, Local0) If (LEqual (Local0, 0x03F8)) { Store (P3FD, Local0) Store (P3FD, Local0) Store (0xC3, P3FA) While (LNot (LEqual (P3FA, 0xC1))) { Store (P3FE, Local0) } } Else { If (LEqual (Local0, 0x02F8)) { Store (P2FD, Local0) Store (P2FD, Local0) Store (0xC3, P2FA) While (LNot (LEqual (P2FA, 0xC1))) { Store (P2FE, Local0) } } Else { If (LEqual (Local0, 0x03E8)) { Store (P3ED, Local0) Store (P3ED, Local0) Store (0xC3, P3EA) While (LNot (LEqual (P3EA, 0xC1))) { Store (P3EE, Local0) } } Else { If (LEqual (Local0, 0x02E8)) { Store (P2ED, Local0) Store (P2ED, Local0) Store (0xC3, P2EA) While (LNot (LEqual (P2EA, 0xC1))) { Store (P2EE, Local0) } } } } } } Device (FDC0) { Name (_HID, EisaId ("PNP0700")) Method (_STA, 0, NotSerialized) { ENFG () Store (Zero, LDN) If (ACTR) { EXFG () Return (0x0F) } Else { If (LOr (IOAH, IOAL)) { EXFG () Return (0x0D) } Else { EXFG () Return (0x00) } } } Method (_DIS, 0, NotSerialized) { ENFG () Store (0x00, LDN) XOr (ACTR, 0x01, Local0) Store (Local0, ACTR) Store (DMCH, Local1) ShiftLeft (IOAH, 0x08, Local2) Or (IOAL, Local2, Local2) EXFG () If (LEqual (Local0, 0x00)) { SLDM (Local1, 0x04) DISD (0x03) } Else { SLDM (Local1, Local1) CKIO (Local2, 0x03) } } Method (_CRS, 0, NotSerialized) { Name (BUF0, 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 0x08, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) CreateByteField (BUF0, 0x02, IOLO) CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, 0x04, IORL) CreateByteField (BUF0, 0x05, IORH) ENFG () EXFG () Return (BUF0) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { 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 0x08, // Address Alignment 0x01, // Address Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x02, IOAD) CreateWordField (Arg0, 0x19, IRQL) CreateByteField (Arg0, 0x1C, DMAV) ENFG () Store (Zero, LDN) Store (One, ACTR) SLDM (DMCH, DMCH) EXFG () CKIO (IOAD, 0x03) } } Device (UAR1) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { ENFG () Store (0x02, LDN) If (ACTR) { EXFG () Return (0x0F) } Else { If (LOr (IOAH, IOAL)) { EXFG () Return (0x0D) } Else { EXFG () Return (0x00) } } EXFG () } Method (_DIS, 0, NotSerialized) { ENFG () Store (0x02, LDN) Store (Zero, ACTR) EXFG () DISD (0x00) } Method (_CRS, 0, NotSerialized) { Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {} }) CreateByteField (BUF1, 0x02, IOLO) CreateByteField (BUF1, 0x03, IOHI) CreateByteField (BUF1, 0x04, IORL) CreateByteField (BUF1, 0x05, IORH) CreateWordField (BUF1, 0x09, IRQW) ENFG () Store (0x02, LDN) Store (IOAL, IOLO) Store (IOAL, IORL) Store (IOAH, IOHI) Store (IOAH, IORH) Store (One, Local0) ShiftLeft (Local0, INTR, IRQW) EXFG () Return (BUF1) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x02, IOAD) CreateWordField (Arg0, 0x09, IRQW) ENFG () Store (0x02, LDN) Store (One, ACTR) Store (IOLO, IOAL) Store (IOHI, IOAH) FindSetRightBit (IRQW, Local0) Subtract (Local0, 0x01, INTR) EXFG () CKIO (IOAD, 0x00) } } Device (UAR2) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { ENFG () Store (0x03, LDN) And (OPT2, 0x30, Local0) If (LNot (LEqual (Local0, 0x10))) { If (ACTR) { EXFG () Return (0x0F) } Else { If (LOr (IOAH, IOAL)) { EXFG () Return (0x0D) } Else { EXFG () Return (0x00) } } } Else { EXFG () Return (0x00) } } Method (_DIS, 0, NotSerialized) { ENFG () Store (0x03, LDN) And (OPT2, 0x38, Local0) If (LEqual (Local0, 0x00)) { Store (Zero, ACTR) } EXFG () DISD (0x01) } Method (_CRS, 0, NotSerialized) { Name (BUF2, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {4} }) CreateByteField (BUF2, 0x02, IOLO) CreateByteField (BUF2, 0x03, IOHI) CreateByteField (BUF2, 0x04, IORL) CreateByteField (BUF2, 0x05, IORH) CreateWordField (BUF2, 0x09, IRQW) ENFG () Store (0x03, LDN) Store (IOAL, IOLO) Store (IOAL, IORL) Store (IOAH, IOHI) Store (IOAH, IORH) Store (One, Local0) ShiftLeft (Local0, INTR, IRQW) EXFG () Return (BUF2) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x02, IOAD) CreateWordField (Arg0, 0x09, IRQW) ENFG () Store (0x03, LDN) Store (One, ACTR) Store (IOLO, IOAL) Store (IOHI, IOAH) FindSetRightBit (IRQW, Local0) Subtract (Local0, 0x01, INTR) EXFG () CKIO (IOAD, 0x01) } } Device (IRDA) { Name (_HID, EisaId ("PNP0510")) Method (_STA, 0, NotSerialized) { ENFG () Store (0x03, LDN) And (OPT2, 0x30, Local0) If (LEqual (Local0, 0x10)) { If (ACTR) { EXFG () Return (0x0F) } Else { If (LOr (IOAH, IOAL)) { EXFG () Return (0x0D) } Else { EXFG () Return (0x00) } } } Else { EXFG () Return (0x00) } } Method (_DIS, 0, NotSerialized) { If (LEqual (DISE, 0x01)) { ENFG () Store (0x03, LDN) And (OPT2, 0x38, Local0) If (LNot (LEqual (Local0, 0x00))) { Store (Zero, ACTR) } EXFG () DISD (0x01) } Store (Local0, Local0) } Method (_CRS, 0, NotSerialized) { Name (BUF4, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {} }) CreateByteField (BUF4, 0x02, IOLO) CreateByteField (BUF4, 0x03, IOHI) CreateByteField (BUF4, 0x04, IORL) CreateByteField (BUF4, 0x05, IORH) CreateWordField (BUF4, 0x09, IRQW) ENFG () Store (0x03, LDN) Store (IOAL, IOLO) Store (IOAL, IORL) Store (IOAH, IOHI) Store (IOAH, IORH) ShiftLeft (0x01, INTR, IRQW) EXFG () Return (BUF4) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Address Range Minimum 0x03F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Address Range Minimum 0x02F8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Address Range Minimum 0x03E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Address Range Minimum 0x02E8, // Address Range Maximum 0x08, // Address Alignment 0x08, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x02, IOAD) CreateWordField (Arg0, 0x09, IRQW) ENFG () Store (0x03, LDN) Store (One, ACTR) Store (IOLO, IOAL) Store (IOHI, IOAH) FindSetRightBit (IRQW, Local0) Subtract (Local0, 0x01, INTR) EXFG () CKIO (IOAD, 0x01) } } Device (LPT1) { Name (_HID, EisaId ("PNP0400")) Method (_STA, 0, NotSerialized) { ENFG () Store (0x01, LDN) And (OPT1, 0x02, Local0) If (LNot (LEqual (Local0, 0x02))) { If (ACTR) { EXFG () Return (0x0F) } Else { If (LOr (IOAH, IOAL)) { EXFG () Return (0x0D) } Else { EXFG () Return (0x00) } } } Else { EXFG () Return (0x00) } } Method (_DIS, 0, NotSerialized) { ENFG () Store (0x01, LDN) Store (Zero, ACTR) EXFG () DISD (0x02) } Method (_CRS, 0, NotSerialized) { Name (BUF5, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x04, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x04, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {} }) CreateByteField (BUF5, 0x02, IOLO) CreateByteField (BUF5, 0x03, IOHI) CreateByteField (BUF5, 0x04, IORL) CreateByteField (BUF5, 0x05, IORH) CreateByteField (BUF5, 0x07, IOLE) CreateByteField (BUF5, 0x0A, IO21) CreateByteField (BUF5, 0x0B, IO22) CreateByteField (BUF5, 0x0C, IO23) CreateByteField (BUF5, 0x0D, IO24) CreateWordField (BUF5, 0x11, IRQW) ENFG () Store (0x01, LDN) Store (IOAL, IOLO) Store (IOLO, IORL) Store (IOAH, IOHI) Store (IOHI, IORH) Store (IOAL, IO21) Store (IOAL, IO23) Add (IOAH, 0x04, IO22) Add (IOAH, 0x04, IO24) If (LEqual (IOLO, 0xBC)) { Store (0x04, IOLE) } Else { Store (0x08, IOLE) } Store (One, Local0) Store (INTR, Local5) ShiftLeft (Local0, Local5, IRQW) Store (One, ACTR) EXFG () Return (BUF5) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Address Range Minimum 0x0378, // Address Range Maximum 0x04, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0778, // Address Range Minimum 0x0778, // Address Range Maximum 0x04, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Address Range Minimum 0x0278, // Address Range Maximum 0x04, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0678, // Address Range Minimum 0x0678, // Address Range Maximum 0x04, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Address Range Minimum 0x03BC, // Address Range Maximum 0x04, // Address Alignment 0x04, // Address Length ) IO (Decode16, 0x07BC, // Address Range Minimum 0x07BC, // Address Range Maximum 0x04, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x02, IOAD) CreateByteField (Arg0, 0x04, IORL) CreateByteField (Arg0, 0x05, IORH) CreateWordField (Arg0, 0x11, IRQW) ENFG () Store (0x01, LDN) Store (One, ACTR) Store (IOLO, IOAL) Store (IOHI, IOAH) FindSetLeftBit (IRQW, Local0) Subtract (Local0, 0x01, Local0) Store (Local0, INTR) EXFG () CKIO (IOAD, 0x02) } } Device (ECP1) { Name (_HID, EisaId ("PNP0401")) Method (_STA, 0, NotSerialized) { ENFG () Store (0x01, LDN) And (OPT1, 0x02, Local0) If (LEqual (Local0, 0x02)) { If (ACTR) { EXFG () Return (0x0F) } Else { If (LOr (IOAH, IOAL)) { EXFG () Return (0x0D) } Else { EXFG () Return (0x00) } } } Else { EXFG () Return (0x00) } } Method (_DIS, 0, NotSerialized) { ENFG () Store (0x01, LDN) Store (Zero, ACTR) SLDM (DMCH, 0x04) EXFG () DISD (0x02) } Method (_CRS, 0, NotSerialized) { Name (BUF6, ResourceTemplate () { IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x04, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0000, // Address Range Minimum 0x0000, // Address Range Maximum 0x04, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) CreateByteField (BUF6, 0x02, IOLO) CreateByteField (BUF6, 0x03, IOHI) CreateByteField (BUF6, 0x04, IORL) CreateByteField (BUF6, 0x05, IORH) CreateByteField (BUF6, 0x0A, IOEL) CreateByteField (BUF6, 0x0B, IOEH) CreateByteField (BUF6, 0x0C, IOML) CreateByteField (BUF6, 0x0D, IOMH) CreateByteField (BUF6, 0x07, IOLE) CreateWordField (BUF6, 0x11, IRQW) CreateByteField (BUF6, 0x14, DMAC) ENFG () Store (0x01, LDN) Store (One, ACTR) Store (IOAL, Local2) Store (Local2, IOLO) Store (IOAH, Local3) Store (Local3, IOHI) Or (Local3, 0x04, Local3) Store (Local3, IOEH) Store (Local3, IOMH) Store (IOLO, IORL) Store (IOLO, IOEL) Store (IOLO, IOML) Store (IOHI, IORH) If (LEqual (IOLO, 0xBC)) { Store (0x04, IOLE) } Else { Store (0x08, IOLE) } Store (One, Local0) Store (INTR, Local5) ShiftLeft (Local0, Local5, IRQW) Store (One, Local0) Store (DMCH, Local5) ShiftLeft (Local0, Local5, DMAC) EXFG () Return (BUF6) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Address Range Minimum 0x0378, // Address Range Maximum 0x00, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0778, // Address Range Minimum 0x0778, // Address Range Maximum 0x00, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Address Range Minimum 0x0278, // Address Range Maximum 0x00, // Address Alignment 0x08, // Address Length ) IO (Decode16, 0x0678, // Address Range Minimum 0x0678, // Address Range Maximum 0x00, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Address Range Minimum 0x03BC, // Address Range Maximum 0x00, // Address Alignment 0x04, // Address Length ) IO (Decode16, 0x07BC, // Address Range Minimum 0x07BC, // Address Range Maximum 0x00, // Address Alignment 0x04, // Address Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x02, IOAD) CreateWordField (Arg0, 0x11, IRQW) CreateByteField (Arg0, 0x14, DMAC) ENFG () Store (0x01, LDN) Store (One, ACTR) Store (IOLO, IOAL) Store (IOHI, IOAH) FindSetLeftBit (IRQW, Local0) Subtract (Local0, 0x01, Local0) Store (Local0, INTR) FindSetLeftBit (DMAC, Local1) Store (DMCH, Local0) Subtract (Local1, 0x01, DMCH) SLDM (Local0, DMCH) EXFG () CKIO (IOAD, 0x02) } } OperationRegion (KBCT, SystemIO, 0x60, 0x05) Field (KBCT, ByteAcc, NoLock, Preserve) { P060, 8, Offset (0x04), P064, 8 } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Method (_STA, 0, NotSerialized) { If (LEqual (PS2F, 0x00)) { Return (0x0F) } Else { Return (0x00) } } Method (_CRS, 0, NotSerialized) { Name (BUF1, ResourceTemplate () { IRQNoFlags () {12} }) Name (BUF2, 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 () {12} }) If (LEqual (KBDI, 0x01)) { If (LEqual (OSFL, 0x01)) { Return (BUF1) } Else { Return (BUF2) } } Else { Return (BUF1) } } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Method (_STA, 0, NotSerialized) { If (LEqual (KBDI, 0x01)) { Return (0x00) } Else { Return (0x0F) } } 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} }) } Scope (\) { Method (SALD, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (0x00, Local0) } If (LEqual (Arg0, 0x01)) { Store (0x80, Local0) } If (LEqual (Arg0, 0x03)) { Store (0xC0, Local0) } If (LEqual (Arg0, 0x04)) { XOr (0x00, 0x40, Local0) } If (LEqual (Arg0, 0x05)) { XOr (0x00, 0x40, Local0) } SLED (Local0) } } Scope (\) { Method (SLED, 1, NotSerialized) { ENFG () Store (0x09, LDN) And (OPT4, 0x3F, Local0) Or (Local0, Arg0, OPT4) EXFG () } } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x05, 0x05 }) } Method (\_SB.PCI0.UAR1._PRW, 0, NotSerialized) { Return (Package (0x02) { 0x08, 0x05 }) } Method (\_SB.PCI0.LPT1._PRW, 0, NotSerialized) { Return (Package (0x02) { 0x08, 0x05 }) } Method (\_SB.PCI0.ECP1._PRW, 0, NotSerialized) { Return (Package (0x02) { 0x08, 0x05 }) } } } }