/* * Intel ACPI Component Architecture * AML Disassembler version 20060912 * * Disassembly of dsdt-orig.bin, Wed Jan 23 01:45:04 2008 * * * Original Table Header: * Signature "DSDT" * Length 0x00005078 (20600) * Revision 0x01 * OEM ID "VIAK8M" * OEM Table ID "AWRDACPI" * OEM Revision 0x00001000 (4096) * Creator ID "MSFT" * Creator Revision 0x0100000E (16777230) */ DefinitionBlock ("DFI_K8M800-MLVF-_PSS-fixed-20080124.aml", "DSDT", 1, "VIAK8M", "AWRDACPI", 0x00001000) { Scope (\_PR) { Processor (\_PR.CPU0, 0x00, 0x00000000, 0x00) { Name (_PSS, Package (0x03) { Package (0x06) /* 2200 MHz */ { 0x0898, /* freq MHz */ 0xE678, /* power dissipation mW */ 0x64, /* transition latency us */ 0x07, /* bust master latency us */ 0xE020298E, /* _PSS control */ 0x018E /* _PSS status */ }, Package (0x06) /* 1600 MHz */ { 0x0640, 0x9C40, 0x64, 0x07, 0xE0202A88, 0x0288 }, Package (0x06) /* 800 MHz */ { 0x0320, 0x55F0, 0x64, 0x07, 0xE0202B80, 0x0380 } }) } } 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 (\GPST, SystemIO, 0x4020, 0x02) 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, GS10, 1, GS11, 1, GS12, 1, GS13, 1, GS14, 1, GS15, 1 } 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 (\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) { , 1, PADS, 7 } 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 (OSFX, 0x01) Name (OSFL, 0x01) Method (STRC, 2, NotSerialized) { If (LNotEqual (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 (LNotEqual (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 (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) } } Name (SBFL, 0x00) Name (ATFL, 0x00) Method (\_PTS, 1, NotSerialized) { Or (Arg0, 0xF0, Local0) Store (Local0, DBG1) OSTP () If (LEqual (Arg0, 0x01)) { While (PRII) { Store (One, PRII) } While (LNotEqual (PADS, 0x00)) { Store (PADS, PADS) } Or (IRQR, 0x80, IRQR) } 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) } Sleep (0x64) If (LEqual (Arg0, 0x01)) { Or (PWC1, 0x02, PWC1) } If (LEqual (Arg0, 0x03)) { Or (PWC1, 0x01, PWC1) } If (LEqual (Arg0, 0x04)) { Or (PWC1, 0x00, PWC1) } If (LEqual (Arg0, 0x05)) { Or (PWC1, 0x00, PWC1) } } Method (\_WAK, 1, NotSerialized) { Store (0xFF, DBG1) And (PWC1, 0x00, PWC1) If (LEqual (Arg0, 0x01)) {} If (LEqual (Arg0, 0x03)) {} If (LEqual (Arg0, 0x01)) { And (IRQR, 0x7F, IRQR) While (PRII) { Store (One, PRII) } While (LNotEqual (PADS, 0x00)) { Store (PADS, PADS) } } If (OSFL) { Notify (\_SB.PWRB, 0x02) } Else { If (LEqual (RTCW, 0x00)) { Notify (\_SB.PWRB, 0x02) } } Return(Package(0x02){0x00, 0x00}) } 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) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateByteField (TVAR, 0x00, PLCY) CreateWordField (TVAR, 0x01, CTOS) CreateWordField (TVAR, 0x03, CTHY) Name (TBUF, Buffer (0x04) { /* 0000 */ 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, DAT0, 8 } Method (SCFG, 1, NotSerialized) { SBYT (0x40, Arg0) } Method (STOS, 3, NotSerialized) { Divide (Arg2, 0x0A, Local0) If (LGreater (Local0, 0x0111)) { Subtract (Local0, 0x0111, Local0) } Else { Subtract (0x0111, Local0, Local0) Or (Local0, 0x80, Local0) } SBYT (0x40, Local0) } Method (STHY, 3, NotSerialized) { Divide (Arg2, 0x0A, Local0) If (LGreater (Local0, 0x0111)) { Subtract (Local0, 0x0111, Local0) } Else { Subtract (0x0111, Local0, Local0) Or (Local0, 0x80, Local0) } SBYT (0x41, Local0) } Method (RTMP, 0, NotSerialized) { Store (GBYT (0x29), Local0) FindSetLeftBit (Local0, Local1) If (LEqual (Local1, 0x08)) { And (Local0, 0x7F, Local0) Multiply (Local0, 0x0A, Local0) Subtract (0x0AAC, Local0, Local0) } Else { Multiply (Local0, 0x0A, Local0) Add (0x0AAC, Local0, Local0) } If (LEqual (SSHU, 0x01)) { Return (0x0C3C) } Else { Return (Local0) } } Method (SBYT, 2, NotSerialized) { Store (Arg0, INDX) Store (Arg1, DAT0) } Method (GBYT, 1, NotSerialized) { Store (Arg0, INDX) Store (DAT0, Local0) Return (Local0) } Method (SFAN, 1, NotSerialized) { And (SENF, 0x02, Local0) If (LEqual (Local0, Zero)) { If (LEqual (Arg0, Zero)) { FOFF () } Else { FON () } } } Method (FON, 0, NotSerialized) { SBYT (0x14, 0x00) } Method (FOFF, 0, NotSerialized) { XOr (0x00, 0x01, Local0) SBYT (0x14, Local0) } 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 (_L09, 0, NotSerialized) { If (LEqual (SBFL, 0x00)) { Notify (\_SB.PCI0.USB0, 0x02) Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PCI0.USB2, 0x02) } If (LEqual (SBFL, 0x01)) { Notify (\_SB.PCI0.USB0, 0x02) Notify (\_SB.PCI0.USB1, 0x02) } } Method (_L0E, 0, NotSerialized) { If (LEqual (SBFL, 0x02)) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PCI0.USB4, 0x02) Notify (\_SB.PCI0.USB5, 0x02) Notify (\_SB.PCI0.USB6, 0x02) } If (LEqual (SBFL, 0x03)) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PCI0.USB4, 0x02) Notify (\_SB.PCI0.USB5, 0x02) Notify (\_SB.PCI0.USB6, 0x02) Notify (\_SB.PCI0.USB7, 0x02) } } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0, 0x02) } Method (_L08, 0, NotSerialized) { Notify (\_SB.PCI0.UAR1, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.AC97, 0x02) } } Scope (\_PR.CPU0) { Name (_PCT, Package (0x02) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Method (_PPC, 0, NotSerialized) { Return (0x00) } Name (PPSS, Package (0x05) { Package (0x06) { 0xFFFF, 0xFFFFFFFF, 0xFF, 0xFF, 0xFFFFFFFF, 0x03FF }, Package (0x06) { 0xFFFF, 0xFFFFFFFF, 0xFF, 0xFF, 0xFFFFFFFF, 0x03FF }, Package (0x06) { 0xFFFF, 0xFFFFFFFF, 0xFF, 0xFF, 0xFFFFFFFF, 0x03FF }, Package (0x06) { 0xFFFF, 0xFFFFFFFF, 0xFF, 0xFF, 0xFFFFFFFF, 0x03FF }, Package (0x06) { 0xFFFF, 0xFFFFFFFF, 0xFF, 0xFF, 0xFFFFFFFF, 0x03FF } }) } Scope (\_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) { Return (0x0B) } } OperationRegion (SXTM, SystemMemory, 0x000FFF34, 0x04) Field (SXTM, WordAcc, NoLock, Preserve) { SMEM, 32 } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x000F0000, // Address Base 0x00004000, // Address Length _Y01) Memory32Fixed (ReadWrite, 0x000F4000, // Address Base 0x00004000, // Address Length _Y02) Memory32Fixed (ReadWrite, 0x000F8000, // Address Base 0x00004000, // Address Length _Y03) Memory32Fixed (ReadWrite, 0x000FC000, // Address Base 0x00004000, // Address Length _Y04) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00200000, // Address Length _Y05) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00010000, // Address Length _Y00) Memory32Fixed (ReadWrite, 0xFFFF0000, // Address Base 0x00010000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x000A0000, // Address Length ) Memory32Fixed (ReadWrite, 0x00100000, // Address Base 0x00000000, // Address Length _Y06) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y07) 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, \_SB.MEM._CRS._Y00._BAS, ACMM) CreateDWordField (BUF0, \_SB.MEM._CRS._Y01._BAS, RMA1) CreateDWordField (BUF0, \_SB.MEM._CRS._Y01._LEN, RSS1) CreateDWordField (BUF0, \_SB.MEM._CRS._Y02._BAS, RMA2) CreateDWordField (BUF0, \_SB.MEM._CRS._Y02._LEN, RSS2) CreateDWordField (BUF0, \_SB.MEM._CRS._Y03._BAS, RMA3) CreateDWordField (BUF0, \_SB.MEM._CRS._Y03._LEN, RSS3) CreateDWordField (BUF0, \_SB.MEM._CRS._Y04._BAS, RMA4) CreateDWordField (BUF0, \_SB.MEM._CRS._Y04._LEN, RSS4) CreateDWordField (BUF0, \_SB.MEM._CRS._Y05._BAS, RMA5) CreateDWordField (BUF0, \_SB.MEM._CRS._Y05._LEN, RSS5) CreateDWordField (BUF0, \_SB.MEM._CRS._Y06._LEN, EXTM) CreateDWordField (BUF0, \_SB.MEM._CRS._Y07._BAS, SXT1) CreateDWordField (BUF0, \_SB.MEM._CRS._Y07._LEN, SXT2) If (LNotEqual (SMEM, Zero)) { Add (AMEM, 0x00010000, SXT1) Add (SXT1, 0x00100000, SXT1) } Else { Store (Zero, SXT1) } Store (SMEM, SXT2) Add (AMEM, 0x00010000, RMA5) Store (0x00100000, RSS5) Subtract (AMEM, 0x00100000, EXTM) If (LNotEqual (ROM1, Zero)) { Store (RMA1, RMA2) ShiftLeft (ROM1, 0x08, Local0) Store (Local0, RMA1) ShiftLeft (RMS1, 0x08, Local0) Store (Local0, RSS1) Store (0x8000, RSS2) } If (LNotEqual (ROM2, Zero)) { Store (RMA2, RMA3) ShiftLeft (ROM2, 0x08, Local0) Store (Local0, RMA2) ShiftLeft (RMS2, 0x08, Local0) Store (Local0, RSS2) Store (0xC000, RSS3) } If (LNotEqual (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 (_UID, 0x01) Name (_BBN, 0x00) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } 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) } Name (_PRW, Package (0x02) { 0x05, 0x05 }) Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceConsumer, MinNotFixed, MaxNotFixed, 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) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00100000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0xFFF00000, // Length ,, _Y08, AddressRangeMemory, TypeStatic) }) CreateDWordField (BUF0, \_SB.PCI0._CRS._Y08._MIN, TCMM) CreateDWordField (BUF0, \_SB.PCI0._CRS._Y08._LEN, TOMM) Add (AMEM, 0x00010000, TCMM) Add (TCMM, SMEM, TCMM) Add (TCMM, 0x00100000, TCMM) Subtract (0xFEC00000, TCMM, TOMM) Return (BUF0) } Name (PICM, Package (0x28) { Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0009FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0009FFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000AFFFF, 0x01, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000AFFFF, 0x02, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000AFFFF, 0x03, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000BFFFF, 0x00, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000BFFFF, 0x01, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x000BFFFF, 0x02, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000BFFFF, 0x03, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000EFFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000EFFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000EFFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000EFFFF, 0x03, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0013FFFF, 0x00, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0013FFFF, 0x01, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0013FFFF, 0x02, \_SB.PCI0.LNKD, 0x00 }, Package (0x04) { 0x0013FFFF, 0x03, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0010FFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x0010FFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x0010FFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x0010FFFF, 0x03, \_SB.PCI0.LNKD, 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 }, Package (0x04) { 0x000FFFFF, 0x00, \_SB.PCI0.LNKA, 0x00 }, Package (0x04) { 0x000FFFFF, 0x01, \_SB.PCI0.LNKB, 0x00 }, Package (0x04) { 0x000FFFFF, 0x02, \_SB.PCI0.LNKC, 0x00 }, Package (0x04) { 0x000FFFFF, 0x03, \_SB.PCI0.LNKD, 0x00 } }) Name (APIC, Package (0x28) { Package (0x04) { 0x0009FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0009FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0009FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0009FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x000AFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x000AFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x000AFFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0x000AFFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x000BFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x000BFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x000BFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0x000BFFFF, 0x03, 0x00, 0x11 }, Package (0x04) { 0x000EFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x000EFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x000EFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x000EFFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x0013FFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x0013FFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x0013FFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0x0013FFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x0010FFFF, 0x00, ALKB, 0x00 }, Package (0x04) { 0x0010FFFF, 0x01, ALKB, 0x00 }, Package (0x04) { 0x0010FFFF, 0x02, ALKB, 0x00 }, Package (0x04) { 0x0010FFFF, 0x03, ALKB, 0x00 }, Package (0x04) { 0x0011FFFF, 0x00, ALKA, 0x00 }, Package (0x04) { 0x0011FFFF, 0x01, ALKB, 0x00 }, Package (0x04) { 0x0011FFFF, 0x02, ALKC, 0x00 }, Package (0x04) { 0x0011FFFF, 0x03, ALKD, 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, ALKD, 0x00 }, Package (0x04) { 0x0012FFFF, 0x01, ALKD, 0x00 }, Package (0x04) { 0x0012FFFF, 0x02, ALKD, 0x00 }, Package (0x04) { 0x0012FFFF, 0x03, ALKD, 0x00 }, Package (0x04) { 0x000FFFFF, 0x00, ALKA, 0x00 }, Package (0x04) { 0x000FFFFF, 0x01, ALKA, 0x00 }, Package (0x04) { 0x000FFFFF, 0x02, ALKA, 0x00 }, Package (0x04) { 0x000FFFFF, 0x03, ALKA, 0x00 } }) Method (_PRT, 0, NotSerialized) { If (LNot (PICF)) { Return (PICM) } Else { Return (APIC) } } Device (PMIO) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x4000, // Range Minimum 0x4000, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x5000, // Range Minimum 0x5000, // Range Maximum 0x01, // Alignment 0x10, // Length ) }) Return (BUF0) } } Device (VT86) { Name (_ADR, 0x00110000) OperationRegion (USBC, PCI_Config, 0x50, 0x02) Scope (\) { Field (\_SB.PCI0.VT86.USBC, ByteAcc, NoLock, Preserve) { IDEB, 8 } } OperationRegion (VTSB, PCI_Config, 0x00, 0xE8) Scope (\) { Field (\_SB.PCI0.VT86.VTSB, ByteAcc, NoLock, Preserve) { Offset (0x02), DEID, 16, Offset (0x2C), ID2C, 8, ID2D, 8, ID2E, 8, ID2F, 8, Offset (0x44), PIRE, 4, PIRF, 4, PIRG, 4, PIRH, 4, POLE, 1, POLF, 1, POLG, 1, POLH, 1, ENR8, 1, Offset (0x50), ESB4, 1, ESB3, 1, ESB2, 1, EIDE, 1, EUSB, 1, ESB1, 1, EAMC, 2, EKBC, 1, KBCC, 1, EPS2, 1, ERTC, 1, ELAN, 1, , 2, USBD, 1, SIRQ, 8, Offset (0x55), PIRA, 8, PIBC, 8, PIRD, 8, Offset (0x75), BSAT, 1, Offset (0x94), PWC1, 2, GPO1, 1, GPO2, 1, GPO3, 1, PLLD, 1 } } Scope (\) { Method (DISD, 1, NotSerialized) { /* Store (Local0, Local0) */ } Method (CKIO, 2, NotSerialized) { /* Store (Local0, Local0) */ } Method (SLDM, 2, NotSerialized) { /* Store (Local0, Local0) */ } } } Device (IDE0) { Name (_ADR, 0x00110001) Name (REGF, 0x01) Method (_STA, 0, NotSerialized) { If (LNotEqual (VID, 0x1106)) { Return (0x00) } Else { If (LEqual (CMD0, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } OperationRegion (VIDE, PCI_Config, 0x00, 0xC2) Scope (\) { Field (\_SB.PCI0.IDE0.VIDE, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMD0, 3, Offset (0x09), ENAT, 4, Offset (0x3C), IDEI, 8 } } Method (A133, 0, NotSerialized) { If (LNotEqual (DEID, 0x3177)) { If (LEqual (DEID, 0x3147)) { Return (One) } Else { Return (Zero) } } Else { Return (One) } } Name (TIM0, Package (0x0F) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0258 }, Package (0x04) { 0x20, 0x31, 0x65, 0xA8 }, Package (0x08) { 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Package (0x08) { 0x04, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00 }, Package (0x06) { 0x78, 0x50, 0x3C, 0x2D, 0x1E, 0x14 }, Package (0x05) { 0x02, 0x01, 0x00, 0x00, 0x00 }, Package (0x05) { 0x06, 0x04, 0x02, 0x01, 0x00 }, Package (0x05) { 0x00, 0x00, 0x00, 0x01, 0x01 }, Package (0x04) { 0x04, 0x03, 0x02, 0x00 }, Package (0x04) { 0x02, 0x01, 0x00, 0x00 }, Package (0x0B) { 0x05, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00 }, Package (0x06) { 0x0A, 0x06, 0x04, 0x02, 0x01, 0x00 }, Package (0x07) { 0x78, 0x50, 0x3C, 0x2D, 0x1E, 0x14, 0x0F }, Package (0x0F) { 0x06, 0x05, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 }, Package (0x07) { 0x0E, 0x08, 0x06, 0x04, 0x02, 0x01, 0x00 } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, 0x00, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { Offset (0x08), SSPT, 8, SMPT, 8, PSPT, 8, PMPT, 8, Offset (0x10), SSUT, 4, SSCT, 1, SSUE, 3, SMUT, 4, SMCT, 1, SMUE, 3, PSUT, 4, PSCT, 1, PSUE, 3, PMUT, 4, PMCT, 1, PMUE, 3 } Name (GMPT, 0x00) Name (GMUE, 0x00) Name (GMUT, 0x00) Name (GSPT, 0x00) Name (GSUE, 0x00) Name (GSUT, 0x00) Name (GBCS, 0x00) Device (CHN0) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT)) } Method (_STM, 3, NotSerialized) { Store (Arg0, TMD0) Store (PMPT, GMPT) Store (PMUE, GMUE) Store (PMUT, GMUT) Store (PSPT, GSPT) Store (PSUE, GSUE) Store (PSUT, GSUT) STM () Store (GMPT, PMPT) Store (GMUE, PMUE) Store (GMUT, PMUT) Store (GSPT, PSPT) Store (GSUE, PSUE) Store (GSUT, PSUT) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x00, PMUE, PMUT, PMPT)) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x01, PSUE, PSUT, PSPT)) } } } Device (CHN1) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT)) } Method (_STM, 3, NotSerialized) { Store (Arg0, TMD0) Store (SMPT, GMPT) Store (SMUE, GMUE) Store (SMUT, GMUT) Store (SSPT, GSPT) Store (SSUE, GSUE) Store (SSUT, GSUT) STM () Store (GMPT, SMPT) Store (GMUE, SMUE) Store (GMUT, SMUT) Store (GSPT, SSPT) Store (GSUE, SSUE) Store (GSUT, SSUT) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x02, SMUE, SMUT, SMPT)) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x03, SSUE, SSUT, SSPT)) } } } Method (GTF, 4, Serialized) { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local2) CreateByteField (Local1, 0x01, MODE) CreateByteField (Local2, 0x01, UMOD) CreateByteField (Local1, 0x05, PCHA) CreateByteField (Local2, 0x05, UCHA) And (Arg0, 0x03, Local3) If (LEqual (And (Local3, 0x01), 0x01)) { Store (0xB0, PCHA) Store (0xB0, UCHA) } If (Arg1) { If (A133 ()) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0D)), Arg2)), UMOD) } Else { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0A)), Arg2)), UMOD) } Or (UMOD, 0x40, UMOD) } Else { Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x09)), Local0 )), UMOD) } Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x08)), Local0 )), MODE) Concatenate (Local1, Local2, Local6) Return (Local6) } Method (GTM, 6, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (Arg1) { If (A133 ()) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0D)), Arg2)), Local5) } Else { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0A)), Arg2)), Local5) } If (A133 ()) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0C)), Local5)), DMA0) } Else { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA0) } Or (CHNF, 0x01, CHNF) } If (Arg4) { If (A133 ()) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0D)), Arg5)), Local5) } Else { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0A)), Arg5)), Local5) } If (A133 ()) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0C)), Local5)), DMA1) } Else { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA1) } Or (CHNF, 0x04, CHNF) } Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) {} Else { Return (TMD0) } Store (0x00, GMUE) Store (0x00, GSUE) Store (0x07, GMUT) Store (0x07, GSUT) If (And (CHNF, 0x01)) { If (A133 ()) { Store (Match (DerefOf (Index (TIM0, 0x0C)), MLE, DMA0, MTR, 0x00, 0x00), Local0) } Else { Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA0, MTR, 0x00, 0x00), Local0) } If (A133 ()) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0E)), Local0)), GMUT) } Else { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0B)), Local0)), GMUT) } Or (GMUE, 0x07, GMUE) } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00))) { Store (DMA0, PIO0) } } } If (And (CHNF, 0x04)) { If (A133 ()) { Store (Match (DerefOf (Index (TIM0, 0x0C)), MLE, DMA1, MTR, 0x00, 0x00), Local0) } Else { Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA1, MTR, 0x00, 0x00), Local0) } If (A133 ()) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0E)), Local0)), GSUT) } Else { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x0B)), Local0)), GSUT) } Or (GSUE, 0x07, GSUE) } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00))) { Store (DMA1, PIO1) } } } And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x03, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1) Store (Local1, GMPT) And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x03, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1) Store (Local1, GSPT) } } Device (SATA) { Name (_ADR, 0x000F0000) Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.SATA.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.SATA.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } OperationRegion (SAPR, PCI_Config, 0x00, 0xC2) Field (SAPR, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), IDEI, 8, Offset (0x49), , 6, EPHY, 1 } } Device (PATA) { Name (_ADR, 0x000F0001) Name (REGF, 0x01) Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.PATA.VID, 0x1106)) { Return (0x00) } Else { PMEX () If (LEqual (\_SB.PCI0.PATA.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } Name (TIM0, Package (0x07) { Package (0x05) { 0x78, 0xB4, 0xF0, 0x017F, 0x0258 }, Package (0x05) { 0x20, 0x22, 0x33, 0x47, 0x5D }, Package (0x05) { 0x04, 0x03, 0x02, 0x01, 0x00 }, Package (0x04) { 0x02, 0x01, 0x00, 0x00 }, Package (0x07) { 0x78, 0x50, 0x3C, 0x2D, 0x1E, 0x14, 0x0F }, Package (0x0F) { 0x06, 0x05, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 }, Package (0x07) { 0x0E, 0x08, 0x06, 0x04, 0x02, 0x01, 0x00 } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, 0x00, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (PAPR, PCI_Config, 0x00, 0xC2) Field (PAPR, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x09), ENAT, 4, Offset (0x3C), IDEI, 8, Offset (0x40), ESCH, 1, EPCH, 1, Offset (0x48), SSPT, 8, SMPT, 8, PSPT, 8, PMPT, 8, Offset (0x50), SSUT, 4, SSCT, 1, SSUE, 3, SMUT, 4, SMCT, 1, SMUE, 3, PSUT, 4, PSCT, 1, PSUE, 3, PMUT, 4, PMCT, 1, PMUE, 3 } Name (GMPT, 0x00) Name (GMUE, 0x00) Name (GMUT, 0x00) Name (GSPT, 0x00) Name (GSUE, 0x00) Name (GSUT, 0x00) Device (CHN0) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.PATA.EPCH, 0x01)) { Return (0x00) } Else { Return (0x0F) } } Method (_GTM, 0, NotSerialized) { Return (GTM (PMPT, PMUE, PMUT, PSPT, PSUE, PSUT)) } Method (_STM, 3, NotSerialized) { Store (Arg0, TMD0) Store (PMPT, GMPT) Store (PMUE, GMUE) Store (PMUT, GMUT) Store (PSPT, GSPT) Store (PSUE, GSUE) Store (PSUT, GSUT) STM () Store (GMPT, PMPT) Store (GMUE, PMUE) Store (GMUT, PMUT) Store (GSPT, PSPT) Store (GSUE, PSUE) Store (GSUT, PSUT) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x00, PMUE, PMUT, PMPT)) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x01, PSUE, PSUT, PSPT)) } } } Device (CHN1) { Name (_ADR, 0x01) Method (_STA, 0, NotSerialized) { If (LNotEqual (ATFL, 0x02)) { If (LEqual (\_SB.PCI0.SATA.EPHY, 0x01)) { Return (0x00) } Else { If (LNotEqual (\_SB.PCI0.PATA.ESCH, 0x01)) { Return (0x00) } Else { Return (0x0F) } } } If (LEqual (ATFL, 0x02)) { If (LNotEqual (\_SB.PCI0.PATA.ESCH, 0x01)) { Return (0x00) } Else { Return (0x0F) } } } Method (_GTM, 0, NotSerialized) { Return (GTM (SMPT, SMUE, SMUT, SSPT, SSUE, SSUT)) } Method (_STM, 3, NotSerialized) { Store (Arg0, TMD0) Store (SMPT, GMPT) Store (SMUE, GMUE) Store (SMUT, GMUT) Store (SSPT, GSPT) Store (SSUE, GSUE) Store (SSUT, GSUT) STM () Store (GMPT, SMPT) Store (GMUE, SMUE) Store (GMUT, SMUT) Store (GSPT, SSPT) Store (GSUE, SSUE) Store (GSUT, SSUT) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (GTF (0x02, SMUE, SMUT, SMPT)) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (GTF (0x03, SSUE, SSUT, SSPT)) } } } Method (PMEX, 0, Serialized) { If (REGF) { If (LEqual (PMPT, 0xA8)) { Store (0x5D, PMPT) } If (LEqual (PMPT, 0x65)) { Store (0x33, PMPT) } If (LEqual (PMPT, 0x31)) { Store (0x22, PMPT) } If (LEqual (PSPT, 0xA8)) { Store (0x5D, PSPT) } If (LEqual (PSPT, 0x65)) { Store (0x33, PSPT) } If (LEqual (PSPT, 0x31)) { Store (0x22, PSPT) } If (LEqual (SMPT, 0xA8)) { Store (0x5D, SMPT) } If (LEqual (SMPT, 0x65)) { Store (0x33, SMPT) } If (LEqual (SMPT, 0x31)) { Store (0x22, SMPT) } If (LEqual (SSPT, 0xA8)) { Store (0x5D, SSPT) } If (LEqual (SSPT, 0x65)) { Store (0x33, SSPT) } If (LEqual (SSPT, 0x31)) { Store (0x22, SSPT) } } } Method (GTF, 4, Serialized) { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local1) Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local2) CreateByteField (Local1, 0x01, MODE) CreateByteField (Local2, 0x01, UMOD) CreateByteField (Local1, 0x05, PCHA) CreateByteField (Local2, 0x05, UCHA) And (Arg0, 0x03, Local3) If (LEqual (And (Local3, 0x01), 0x01)) { Store (0xB0, PCHA) Store (0xB0, UCHA) } If (Arg1) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)), UMOD) Or (UMOD, 0x40, UMOD) } Else { Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0 )), UMOD) } Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0 )), MODE) Concatenate (Local1, Local2, Local6) Return (Local6) } Method (GTM, 6, Serialized) { Store (Ones, PIO0) Store (Ones, PIO1) Store (Ones, DMA0) Store (Ones, DMA1) Store (0x10, CHNF) If (REGF) {} Else { Return (TMD0) } Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7) Store (Local7, DMA0) Store (Local7, PIO0) Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7) Store (Local7, DMA1) Store (Local7, PIO1) If (Arg1) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)), Local5) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA0) Or (CHNF, 0x01, CHNF) } If (Arg4) { Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg5)), Local5) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) {} Else { Return (TMD0) } Store (0x00, GMUE) Store (0x00, GSUE) Store (0x07, GMUT) Store (0x07, GSUT) If (And (CHNF, 0x01)) { Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA0, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GMUT) Or (GMUE, 0x07, GMUE) } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00))) { Store (DMA0, PIO0) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x04)), MLE, DMA1, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GSUT) Or (GSUE, 0x07, GSUE) } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00))) { Store (DMA1, PIO1) } } } And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x03, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1) Store (Local1, GMPT) And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x03, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1) Store (Local1, GSPT) } } Device (USB0) { Name (_ADR, 0x00110002) Name (_PRW, Package (0x02) { 0x09, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (SB72, PCI_Config, 0x00, 0xC2) Field (SB72, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U0IR, 4 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB0.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB0.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (USB1) { Name (_ADR, 0x00110003) Name (_PRW, Package (0x02) { 0x09, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (SB73, PCI_Config, 0x00, 0xC2) Field (SB73, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U1IR, 4 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB1.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB1.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (USB2) { Name (_ADR, 0x00110004) Name (_PRW, Package (0x02) { 0x09, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (SB74, PCI_Config, 0x00, 0xC2) Field (SB74, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U2IR, 4 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB2.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB2.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (USB3) { Name (_ADR, 0x00100000) Name (_PRW, Package (0x02) { 0x0E, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (U2F0, PCI_Config, 0x00, 0xC2) Field (U2F0, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U3IR, 4, Offset (0x84), ECDX, 2 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB3.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB3.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (USB4) { Name (_ADR, 0x00100001) Name (_PRW, Package (0x02) { 0x0E, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (U2F1, PCI_Config, 0x00, 0xC2) Field (U2F1, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U4IR, 4, Offset (0x84), ECDX, 2 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB4.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB4.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (USB5) { Name (_ADR, 0x00100002) Name (_PRW, Package (0x02) { 0x0E, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (U2F2, PCI_Config, 0x00, 0xC2) Field (U2F2, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U5IR, 4, Offset (0x84), ECDX, 2 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB5.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB5.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (USB6) { Name (_ADR, 0x00100003) Name (_PRW, Package (0x02) { 0x0E, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (U2F3, PCI_Config, 0x00, 0xC2) Field (U2F3, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U6IR, 4, Offset (0x84), ECDX, 2 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB6.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB6.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (USB7) { Name (_ADR, 0x00100004) Name (_PRW, Package (0x02) { 0x0E, 0x01 }) Method (SS3D, 0, NotSerialized) { If (LEqual (OSFL, 0x02)) { Return (0x02) } Else { Return (0x03) } } OperationRegion (U2F4, PCI_Config, 0x00, 0xC2) Field (U2F4, ByteAcc, NoLock, Preserve) { VID, 16, Offset (0x04), CMDR, 3, Offset (0x3C), U7IR, 4, Offset (0x84), ECDX, 2 } Method (_STA, 0, NotSerialized) { If (LNotEqual (\_SB.PCI0.USB7.VID, 0x1106)) { Return (0x00) } Else { If (LEqual (\_SB.PCI0.USB7.CMDR, 0x00)) { Return (0x0D) } Else { Return (0x0F) } } } } Device (LAN0) { Name (_ADR, 0x00120000) Name (_PRW, Package (0x02) { 0x03, 0x05 }) } Device (AC97) { Name (_ADR, 0x00110005) Name (_PRW, Package (0x02) { 0x0D, 0x05 }) } 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, ) {3,4,6,7,10,11,12} }) Return (BUFB) } Method (_DIS, 0, NotSerialized) { And (PIRA, 0x0F, PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUFB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y09) {} }) CreateByteField (BUFB, \_SB.PCI0.LNKA._CRS._Y09._INT, IRB1) CreateByteField (BUFB, 0x02, IRB2) Store (0x00, Local3) Store (0x00, Local4) And (PIRA, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNotEqual (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, ) {3,4,6,7,10,11,12} }) Return (BUFA) } Method (_DIS, 0, NotSerialized) { And (PIBC, 0xF0, PIBC) } Method (_CRS, 0, NotSerialized) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0A) {} }) CreateByteField (BUFA, \_SB.PCI0.LNKB._CRS._Y0A._INT, IRA1) CreateByteField (BUFA, 0x02, IRA2) Store (0x00, Local3) Store (0x00, Local4) And (PIBC, 0x0F, Local1) If (LNotEqual (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, ) {3,4,6,7,10,11,12} }) Return (BUFC) } Method (_DIS, 0, NotSerialized) { And (PIBC, 0x0F, PIBC) } Method (_CRS, 0, NotSerialized) { Name (BUFC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0B) {} }) CreateByteField (BUFC, \_SB.PCI0.LNKC._CRS._Y0B._INT, IRC1) CreateByteField (BUFC, 0x02, IRC2) Store (0x00, Local3) Store (0x00, Local4) And (PIBC, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNotEqual (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, ) {3,4,6,7,10,11,12} }) Return (BUFD) } Method (_DIS, 0, NotSerialized) { And (PIRD, 0x0F, PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUFD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0C) {} }) CreateByteField (BUFD, \_SB.PCI0.LNKD._CRS._Y0C._INT, IRD1) CreateByteField (BUFD, 0x02, IRD2) Store (0x00, Local3) Store (0x00, Local4) And (PIRD, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNotEqual (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) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (LEqual (PIRE, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12} }) Return (BUFE) } Method (_DIS, 0, NotSerialized) { Store (Zero, PIRE) } Method (_CRS, 0, NotSerialized) { Name (BUFE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0D) {} }) CreateByteField (BUFE, \_SB.PCI0.LNKE._CRS._Y0D._INT, IRE1) CreateByteField (BUFE, 0x02, IRE2) Store (Zero, IRE1) Store (Zero, IRE2) Store (PIRE, Local0) If (LGreater (Local0, 0x00)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local1) ShiftLeft (One, Local1, IRE2) } Else { Store (Local0, Local1) ShiftLeft (One, Local1, IRE1) } } Return (BUFE) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRE1) CreateByteField (Arg0, 0x02, IRE2) If (LGreater (IRE2, Zero)) { FindSetLeftBit (IRE2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRE1, Local0) Decrement (Local0) } Store (One, ENR8) Store (Zero, POLE) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (LEqual (PIRF, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12} }) Return (BUFF) } Method (_DIS, 0, NotSerialized) { Store (Zero, PIRF) } Method (_CRS, 0, NotSerialized) { Name (BUFF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0E) {} }) CreateByteField (BUFF, \_SB.PCI0.LNKF._CRS._Y0E._INT, IRF1) CreateByteField (BUFF, 0x02, IRF2) Store (Zero, IRF1) Store (Zero, IRF2) Store (PIRF, Local0) If (LGreater (Local0, 0x00)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local1) ShiftLeft (One, Local0, IRF2) } Else { Store (Local0, Local1) ShiftLeft (One, Local1, IRF1) } } Return (BUFF) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRF1) CreateByteField (Arg0, 0x02, IRF2) If (LGreater (IRF2, Zero)) { FindSetLeftBit (IRF2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRF1, Local0) Decrement (Local0) } Store (One, ENR8) Store (Zero, POLF) Store (Local0, PIRF) } } Device (LNK0) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (LEqual (PIRG, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12} }) Return (BUFG) } Method (_DIS, 0, NotSerialized) { Store (Zero, PIRG) } Method (_CRS, 0, NotSerialized) { Name (BUFG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0F) {} }) CreateByteField (BUFG, \_SB.PCI0.LNK0._CRS._Y0F._INT, IRG1) CreateByteField (BUFG, 0x02, IRG2) Store (Zero, IRG1) Store (Zero, IRG2) Store (PIRG, Local0) If (LGreater (Local0, 0x00)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local0) ShiftLeft (One, Local0, IRG2) } Else { Store (0x01, Local1) ShiftLeft (Local1, Local0, IRG1) } } Return (BUFG) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRG1) CreateByteField (Arg0, 0x02, IRG2) If (LGreater (IRG2, Zero)) { FindSetLeftBit (IRG2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRG1, Local0) Decrement (Local0) } Store (One, ENR8) Store (Zero, POLG) Store (Local0, PIRG) } } Device (LNK1) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (LEqual (PIRH, 0x00)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (BUFH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12} }) Return (BUFH) } Method (_DIS, 0, NotSerialized) { Store (Zero, PIRH) } Method (_CRS, 0, NotSerialized) { Name (BUFH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y10) {} }) CreateByteField (BUFH, \_SB.PCI0.LNK1._CRS._Y10._INT, IRH1) CreateByteField (BUFH, 0x02, IRH2) Store (Zero, IRH1) Store (Zero, IRH2) Store (PIRH, Local0) If (LGreater (Local0, 0x00)) { If (LGreater (Local0, 0x07)) { Subtract (Local0, 0x08, Local0) ShiftLeft (One, Local0, IRH2) } Else { Store (0x01, Local1) ShiftLeft (Local1, Local0, IRH1) } } Return (BUFH) } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x01, IRH1) CreateByteField (Arg0, 0x02, IRH2) If (LGreater (IRH2, Zero)) { FindSetLeftBit (IRH2, Local0) Decrement (Local0) Add (Local0, 0x08, Local0) } Else { FindSetLeftBit (IRH1, Local0) Decrement (Local0) } Store (One, ENR8) Store (Zero, POLH) Store (Local0, PIRH) } } Device (ALKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x09) Method (_STA, 0, NotSerialized) { If (LEqual (SBFL, 0x00)) { Return (0x09) } If (LEqual (SBFL, 0x01)) { If (LEqual (EIDE, 0x01)) { Return (0x09) } Else { If (LEqual (ENAT, 0x0A)) { Return (0x09) } Else { Return (0x0B) } } } If (LEqual (SBFL, 0x02)) { If (LEqual (EIDE, 0x01)) { Return (0x09) } Else { If (LEqual (ENAT, 0x0A)) { Return (0x09) } Else { Return (0x0B) } } } If (LEqual (SBFL, 0x03)) { If (LNotEqual (ATFL, 0x02)) { If (LNotEqual (\_SB.PCI0.SATA.VID, 0x1106)) { Return (0x09) } Else { Return (0x0B) } } Else { If (LEqual (\_SB.PCI0.PATA.ENAT, 0x0A)) { Return (0x09) } Else { Return (0x0B) } } } } Method (_PRS, 0, NotSerialized) { Name (A37A, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,11,12,14,15} }) Name (A47N, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000014, } }) If (LEqual (SBFL, 0x00)) { Return (A37A) } If (LEqual (SBFL, 0x01)) { Return (A47N) } If (LEqual (SBFL, 0x02)) { Return (A47N) } If (LEqual (SBFL, 0x03)) { Return (A47N) } } Method (_DIS, 0, NotSerialized) { } Method (_CRS, 0, NotSerialized) { Name (B37A, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y11) {} }) CreateByteField (B37A, \_SB.PCI0.ALKA._CRS._Y11._INT, IRB1) CreateByteField (B37A, 0x02, IRB2) Name (B47A, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y12) { 0x00000000, } }) CreateByteField (B47A, \_SB.PCI0.ALKA._CRS._Y12._INT, IRAI) If (LEqual (SBFL, 0x00)) { Return (B37A) } Else { Store (0x14, IRAI) Return (B47A) } } Method (_SRS, 1, NotSerialized) { } } Device (ALKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0A) Method (_STA, 0, NotSerialized) { If (LEqual (SBFL, 0x00)) { And (IDEB, 0x34, Local0) If (LEqual (Local0, 0x34)) { Return (0x09) } Else { Return (0x0B) } } If (LEqual (SBFL, 0x01)) { And (IDEB, 0x30, Local0) If (LEqual (Local0, 0x30)) { Return (0x09) } Else { Return (0x0B) } } If (LEqual (SBFL, 0x02)) { And (IDEB, 0x36, Local0) If (LEqual (Local0, 0x36)) { Return (0x09) } Else { Return (0x0B) } } If (LEqual (SBFL, 0x03)) { And (IDEB, 0x37, Local0) If (LEqual (Local0, 0x37)) { Return (0x09) } Else { Return (0x0B) } } } Method (_PRS, 0, NotSerialized) { Name (A37B, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,11,12,14,15} }) Name (A47B, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) If (LEqual (SBFL, 0x00)) { Return (A37B) } If (LEqual (SBFL, 0x01)) { Return (A47B) } If (LEqual (SBFL, 0x02)) { Return (A47B) } If (LEqual (SBFL, 0x03)) { Return (A47B) } } Method (_DIS, 0, NotSerialized) { } Method (_CRS, 0, NotSerialized) { Name (B37B, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y13) {} }) CreateByteField (B37B, \_SB.PCI0.ALKB._CRS._Y13._INT, IRA1) CreateByteField (B37B, 0x02, IRA2) Name (B47B, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y14) { 0x00000000, } }) CreateByteField (B47B, \_SB.PCI0.ALKB._CRS._Y14._INT, IRBI) If (LEqual (SBFL, 0x00)) { Store (0x00, Local3) Store (0x00, Local4) And (PIBC, 0x0F, Local1) If (LNotEqual (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 (B37B) } Else { Store (0x15, IRBI) Return (B47B) } } Method (_SRS, 1, NotSerialized) { If (LEqual (SBFL, 0x00)) { 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 (ALKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0B) Method (_STA, 0, NotSerialized) { If (LEqual (EAMC, 0x03)) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) { Name (A37C, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,11,12,14,15} }) Name (A47C, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000016, } }) If (LEqual (SBFL, 0x00)) { Return (A37C) } If (LEqual (SBFL, 0x01)) { Return (A47C) } If (LEqual (SBFL, 0x02)) { Return (A47C) } If (LEqual (SBFL, 0x03)) { Return (A47C) } } Method (_DIS, 0, NotSerialized) { } Method (_CRS, 0, NotSerialized) { Name (B37C, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y15) {} }) CreateByteField (B37C, \_SB.PCI0.ALKC._CRS._Y15._INT, IRC1) CreateByteField (B37C, 0x02, IRC2) Name (B47C, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y16) { 0x00000000, } }) CreateByteField (B47C, \_SB.PCI0.ALKC._CRS._Y16._INT, IRCI) If (LEqual (SBFL, 0x00)) { Store (0x00, Local3) Store (0x00, Local4) And (PIBC, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNotEqual (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 (B37C) } Else { Store (0x16, IRCI) Return (B47C) } } Method (_SRS, 1, NotSerialized) { If (LEqual (SBFL, 0x00)) { 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 (ALKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x0C) Method (_STA, 0, NotSerialized) { If (LEqual (SBFL, 0x01)) { Return (0x09) } Else { If (LEqual (ELAN, 0x00)) { Return (0x09) } Else { Return (0x0B) } } } Method (_PRS, 0, NotSerialized) { Name (A37D, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,11,12,14,15} }) Name (A47D, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Name (A77D, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000017, } }) If (LEqual (SBFL, 0x00)) { Return (A37D) } If (LEqual (SBFL, 0x01)) { Return (A47D) } If (LEqual (SBFL, 0x02)) { Return (A77D) } If (LEqual (SBFL, 0x03)) { Return (A77D) } } Method (_DIS, 0, NotSerialized) { } Method (_CRS, 0, NotSerialized) { Name (B37D, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y17) {} }) CreateByteField (B37D, \_SB.PCI0.ALKD._CRS._Y17._INT, IRD1) CreateByteField (B37D, 0x02, IRD2) Name (B47D, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) { 0x00000015, } }) Name (B77D, ResourceTemplate () { Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, _Y18) { 0x00000000, } }) CreateByteField (B77D, \_SB.PCI0.ALKD._CRS._Y18._INT, IRDI) If (LEqual (SBFL, 0x00)) { Store (0x00, Local3) Store (0x00, Local4) And (PIRD, 0xF0, Local1) ShiftRight (Local1, 0x04, Local1) If (LNotEqual (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 (B37D) } If (LEqual (SBFL, 0x01)) { Return (B47D) } If (LEqual (SBFL, 0x02)) { Store (0x17, IRDI) Return (B77D) } If (LEqual (SBFL, 0x03)) { Store (0x17, IRDI) Return (B77D) } } Method (_SRS, 1, NotSerialized) { If (LEqual (SBFL, 0x00)) { 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) } } } Scope (\) { OperationRegion (\SCPP, SystemIO, 0x402F, 0x01) Field (\SCPP, ByteAcc, NoLock, Preserve) { SMIP, 8 } } Method (\_SB.PCI0._INI, 0, NotSerialized) { If (STRC (\_OS, "Microsoft Windows")) { Store (0x56, SMIP) } Else { If (STRC (\_OS, "Microsoft Windows NT")) { Store (0x58, SMIP) Store (0x00, OSFX) Store (0x00, OSFL) } Else { Store (0x57, SMIP) Store (0x02, OSFX) Store (0x02, OSFL) } } Store (0x00, SBFL) If (LEqual (DEID, 0x3147)) { Store (0x01, SBFL) } If (LEqual (DEID, 0x3177)) { Store (0x02, SBFL) } If (LEqual (DEID, 0x3227)) { Store (0x03, SBFL) } If (LEqual (DEID, 0x3287)) { Store (0x04, SBFL) } Store (0x00, ATFL) If (LEqual (BSAT, 0x01)) { Store (0x02, ATFL) } Else { If (LEqual (EIDE, 0x01)) { Store (0x02, ATFL) } Else { If (LNotEqual (\_SB.PCI0.PATA.VID, 0x1106)) { Store (0x01, ATFL) } } } } Scope (\) { Method (OSTP, 0, NotSerialized) { If (LEqual (OSFX, 0x01)) { Store (0x56, SMIP) } If (LEqual (OSFX, 0x02)) { Store (0x57, SMIP) } If (LEqual (OSFX, 0x00)) { Store (0x58, SMIP) } } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x01, // Alignment 0x1E, // Length ) IO (Decode16, 0x0044, // Range Minimum 0x0044, // Range Maximum 0x01, // Alignment 0x1C, // Length ) IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x0B, // Length ) IO (Decode16, 0x0074, // Range Minimum 0x0074, // Range Maximum 0x01, // Alignment 0x0C, // Length ) IO (Decode16, 0x0091, // Range Minimum 0x0091, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x01, // Alignment 0x1E, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0800, // Range Minimum 0x0800, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x0290, // Range Minimum 0x0290, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (DMA1) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x11, // 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 ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x04, // Alignment 0x04, // Length ) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Scope (\) { OperationRegion (WIN1, SystemIO, 0x2E, 0x02) Field (WIN1, ByteAcc, NoLock, Preserve) { INDP, 8, DATP, 8 } IndexField (INDP, DATP, 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 (0xF0), OPT1, 8, OPT2, 8, OPT3, 8 } Method (ENFG, 0, NotSerialized) { Store (0x87, INDP) Store (0x01, INDP) Store (0x55, INDP) Store (0x55, INDP) Or (POWC, 0x80, POWC) } Method (EXFG, 0, NotSerialized) { Store (0x02, CFG) } Method (GSRG, 1, NotSerialized) { Store (Arg0, INDP) Return (DATP) } Method (SSRG, 2, NotSerialized) { Store (Arg0, INDP) Store (Arg1, DATP) } } 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) Store (Zero, ACTR) SLDM (DMCH, 0x04) EXFG () DISD (0x03) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0x03F0, // Range Minimum 0x03F0, // Range Maximum 0x01, // Alignment 0x06, // Length _Y19) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8, ) {2} }) CreateByteField (BUF0, \_SB.PCI0.FDC0._CRS._Y19._MIN, IOLO) CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, \_SB.PCI0.FDC0._CRS._Y19._MAX, IORL) CreateByteField (BUF0, 0x05, IORH) ENFG () EXFG () Return (BUF0) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { 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 () }) Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateWordField (Arg0, 0x02, IOAD) CreateWordField (Arg0, 0x19, IRQW) CreateByteField (Arg0, 0x1C, DMAV) ENFG () Store (Zero, LDN) Store (One, ACTR) SLDM (DMCH, DMCH) CKIO (IOAD, 0x03) EXFG () } } Device (UAR1) { Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { ENFG () Store (0x01, 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 (0x01, LDN) Store (Zero, ACTR) EXFG () DISD (0x00) } Method (_CRS, 0, NotSerialized) { Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x08, // Length _Y1A) IRQNoFlags (_Y1B) {} }) CreateByteField (BUF1, \_SB.PCI0.UAR1._CRS._Y1A._MIN, IOLO) CreateByteField (BUF1, 0x03, IOHI) CreateByteField (BUF1, \_SB.PCI0.UAR1._CRS._Y1A._MAX, IORL) CreateByteField (BUF1, 0x05, IORH) CreateWordField (BUF1, \_SB.PCI0.UAR1._CRS._Y1B._INT, IRQW) ENFG () Store (0x01, 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, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // 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 (0x01, LDN) Store (One, ACTR) Store (IOLO, IOAL) Store (IOHI, IOAH) FindSetRightBit (IRQW, Local0) Subtract (Local0, 0x01, INTR) EXFG () CKIO (IOAD, 0x00) } } Device (UAR2) { Method (_HID, 0, NotSerialized) { ENFG () Store (0x02, LDN) And (OPT2, 0x07, Local0) If (LEqual (Local0, 0x04)) { Return (0x05878526) } Else { Return (0x0105D041) } EXFG () } Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { ENFG () Store (0x02, LDN) And (OPT2, 0x07, Local0) If (LNotEqual (Local0, 0x01)) { 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 (0x02, LDN) Store (Zero, ACTR) EXFG () DISD (0x01) } Method (_CRS, 0, NotSerialized) { Name (BUF2, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x08, // Length _Y1C) IRQNoFlags (_Y1D) {4} }) CreateByteField (BUF2, \_SB.PCI0.UAR2._CRS._Y1C._MIN, IOLO) CreateByteField (BUF2, 0x03, IOHI) CreateByteField (BUF2, \_SB.PCI0.UAR2._CRS._Y1C._MAX, IORL) CreateByteField (BUF2, 0x05, IORH) CreateWordField (BUF2, \_SB.PCI0.UAR2._CRS._Y1D._INT, 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 (BUF2) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // 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, 0x01) } } Device (IRDA) { Name (_HID, EisaId ("PNP0510")) Method (_STA, 0, NotSerialized) { ENFG () Store (0x02, LDN) And (OPT2, 0x07, Local0) If (LEqual (Local0, 0x01)) { 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 (0x02, LDN) Store (Zero, ACTR) EXFG () DISD (0x01) } /* Store (Local0, Local0) */ } Method (_CRS, 0, NotSerialized) { Name (BUF4, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x08, // Length _Y1E) IRQNoFlags (_Y1F) {} }) CreateByteField (BUF4, \_SB.PCI0.IRDA._CRS._Y1E._MIN, IOLO) CreateByteField (BUF4, 0x03, IOHI) CreateByteField (BUF4, \_SB.PCI0.IRDA._CRS._Y1E._MAX, IORL) CreateByteField (BUF4, 0x05, IORH) CreateWordField (BUF4, \_SB.PCI0.IRDA._CRS._Y1F._INT, IRQW) ENFG () Store (0x02, 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, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // 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, 0x01) } } Device (LPT1) { Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { ENFG () Store (0x03, LDN) And (OPT1, 0x02, Local0) If (LNotEqual (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 (0x03, LDN) Store (Zero, ACTR) EXFG () DISD (0x02) } Method (_CRS, 0, NotSerialized) { Name (BUF5, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x08, // Length _Y20) IRQNoFlags (_Y21) {} }) CreateByteField (BUF5, \_SB.PCI0.LPT1._CRS._Y20._MIN, IOLO) CreateByteField (BUF5, 0x03, IOHI) CreateByteField (BUF5, \_SB.PCI0.LPT1._CRS._Y20._MAX, IORL) CreateByteField (BUF5, 0x05, IORH) CreateByteField (BUF5, \_SB.PCI0.LPT1._CRS._Y20._LEN, IOLE) CreateWordField (BUF5, \_SB.PCI0.LPT1._CRS._Y21._INT, IRQW) ENFG () Store (0x03, LDN) Store (IOAL, IOLO) Store (IOLO, IORL) Store (IOAH, IOHI) Store (IOHI, IORH) If (LEqual (IOLO, 0xBC)) { Store (0x04, IOLE) } Else { Store (0x08, IOLE) } Store (One, Local0) Store (INTR, Local5) ShiftLeft (Local0, Local5, IRQW) EXFG () Return (BUF5) } Name (_PRS, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x0378, // Range Minimum 0x0378, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x01, // Alignment 0x04, // 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, 0x09, IRQW) ENFG () Store (0x03, 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")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { ENFG () Store (0x03, 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 (0x03, LDN) Store (Zero, ACTR) SLDM (DMCH, 0x04) EXFG () DISD (0x02) } Method (_CRS, 0, NotSerialized) { Name (BUF6, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x04, // Length _Y22) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x04, // Length _Y23) IRQNoFlags (_Y24) {} DMA (Compatibility, NotBusMaster, Transfer8, _Y25) {} }) CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y22._MIN, IOLO) CreateByteField (BUF6, 0x03, IOHI) CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y22._MAX, IORL) CreateByteField (BUF6, 0x05, IORH) CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y22._LEN, IOLE) CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y23._MIN, IOEL) CreateByteField (BUF6, 0x0B, IOEH) CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y23._MAX, IOML) CreateByteField (BUF6, 0x0D, IOMH) CreateWordField (BUF6, \_SB.PCI0.ECP1._CRS._Y24._INT, IRQW) CreateByteField (BUF6, \_SB.PCI0.ECP1._CRS._Y25._DMA, DMAC) ENFG () Store (0x03, LDN) 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, // Range Minimum 0x0378, // Range Maximum 0x00, // Alignment 0x08, // Length ) IO (Decode16, 0x0778, // Range Minimum 0x0778, // Range Maximum 0x00, // Alignment 0x04, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {0,1,3} } StartDependentFnNoPri () { IO (Decode16, 0x0278, // Range Minimum 0x0278, // Range Maximum 0x00, // Alignment 0x08, // Length ) IO (Decode16, 0x0678, // Range Minimum 0x0678, // Range Maximum 0x00, // Alignment 0x04, // Length ) IRQNoFlags () {3,4,5,7,9,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {0,1,3} } StartDependentFnNoPri () { IO (Decode16, 0x03BC, // Range Minimum 0x03BC, // Range Maximum 0x00, // Alignment 0x04, // Length ) IO (Decode16, 0x07BC, // Range Minimum 0x07BC, // Range Maximum 0x00, // Alignment 0x04, // 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 (0x03, 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, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {12} }) If (LEqual (KBDI, 0x01)) { If (LEqual (OSFL, 0x02)) { Return (BUF1) } If (LEqual (OSFL, 0x01)) { Return (BUF1) } Else { Return (BUF2) } } Else { Return (BUF1) } } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CID, 0x0B03D041) Method (_STA, 0, NotSerialized) { If (LEqual (KBDI, 0x01)) { Return (0x00) } Else { Return (0x0F) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) } Device (PSMR) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (LEqual (KBDI, 0x00)) { Return (0x00) } If (LEqual (PS2F, 0x00)) { If (LEqual (OSFL, 0x02)) { Return (0x0F) } If (LEqual (OSFL, 0x01)) { Return (0x0F) } Return (0x00) } Return (0x00) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Method (\_SB.PCI0.UAR1._PRW, 0, NotSerialized) { Return (Package (0x02) { 0x08, 0x05 }) } } } }