/* RSD PTR: Checksum=171, OEMID=P4M80P, RsdtAddress=0x3eff3040 */ /* RSDT: Length=44, Revision=1, Checksum=29, OEMID=P4M80P, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31, Creator ID=AWRD, Creator Revision=0x0 */ /* Entries={ 0x3eff30c0, 0x3eff7cc0 } */ /* DSDT=0x3eff3180 INT_MODEL=APIC SCI_INT=9 SMI_CMD=0x42f, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0 PM1a_EVT_BLK=0x400-0x403 PM1a_CNT_BLK=0x404-0x405 PM2_CNT_BLK=0x22-0x22 PM2_TMR_BLK=0x408-0x40b PM2_GPE0_BLK=0x420-0x423 P_LVL2_LAT=80ms, P_LVL3_LAT=800ms FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=0, DUTY_WIDTH=1 DAY_ALRM=125, MON_ALRM=126, CENTURY=50 Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4} */ /* DSDT: Length=19186, Revision=1, Checksum=209, OEMID=P4M80P, OEM Table ID=AWRDACPI, OEM Revision=0x1000, Creator ID=MSFT, Creator Revision=0x100000e */ DefinitionBlock ("acpi_dsdt.aml", //Output filename"DSDT", //Signature0x1, //DSDT Revision"P4M80P", //OEMID"AWRDACPI", //TABLE ID0x1000 //OEM Revision ) { Scope(\_PR_) { Processor(\_PR_.CPU0, 0, 0x410, 0x6) { } } Name(\_S0_, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Name(\_S1_, Package(0x4) { 0x4, 0x4, 0x4, 0x4, }) Name(\SS3_, Package(0x4) { 0x1, 0x1, 0x1, 0x1, }) Name(\_S4_, Package(0x4) { 0x2, 0x2, 0x2, 0x2, }) Name(\_S5_, Package(0x4) { 0x2, 0x2, 0x2, 0x2, }) OperationRegion(\DEBG, SystemIO, 0x80, 0x1) Field(\DEBG, ByteAcc, NoLock, Preserve) { DBG1, 8 } OperationRegion(\DEB2, SystemIO, 0x84, 0x1) Field(\DEB2, ByteAcc, NoLock, Preserve) { DBG2, 8 } OperationRegion(\DEB3, SystemIO, 0x88, 0x1) Field(\DEB3, ByteAcc, NoLock, Preserve) { DBG3, 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, 0x0420, 0x2) 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, 0x2) Field(ELCR, ByteAcc, NoLock, Preserve) { ELC1, 8, ELC2, 8 } OperationRegion(\PMS_, SystemIO, 0x0400, 0x2) Field(\PMS_, ByteAcc, NoLock, Preserve) { AITS, 1, Offset(0x1), PBTS, 1, , 6, WAKE, 1 } OperationRegion(\GPSE, SystemIO, 0x0424, 0x2) Field(\GPSE, ByteAcc, NoLock, Preserve) { GPS0, 1, GPS1, 1, KBCE, 1, LANE, 1, EXTE, 1, PME_, 1, Offset(0x1), RING, 1, , 5, USBE, 1, Offset(0x2) } OperationRegion(\GLOS, SystemIO, 0x0428, 0x2) Field(\GLOS, ByteAcc, NoLock, Preserve) { , 6, SSMI, 1, PRII, 1, , 2, SLPE, 1, SIRS, 1, Offset(0x2) } OperationRegion(\WIRQ, SystemIO, 0x042a, 0x1) Field(\WIRQ, ByteAcc, NoLock, Preserve) { IRQR, 8 } OperationRegion(\SMIC, SystemIO, 0x042f, 0x1) Field(\SMIC, ByteAcc, NoLock, Preserve) { SCP_, 8 } OperationRegion(\STUS, SystemIO, 0x0430, 0x1) Field(\STUS, ByteAcc, NoLock, Preserve) { , 1, PADS, 7 } OperationRegion(GPOB, SystemIO, 0x044c, 0x4) 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, 0x1) Name(OSFL, 0x1) Method(STRC, 2) { If(LNot(LEqual(SizeOf(Arg0), SizeOf(Arg1)))) { Return(0x0) } Add(SizeOf(Arg0), 0x1, 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, 0x2) Field(RTCM, ByteAcc, NoLock, Preserve) { CMIN, 8, CMDA, 8 } IndexField(CMIN, CMDA, ByteAcc, NoLock, Preserve) { Offset(0xf), SHUT, 8 } OperationRegion(INFO, SystemMemory, 0x000ff840, 0x1) Field(INFO, ByteAcc, NoLock, Preserve) { KBDI, 1, RTCW, 1, PS2F, 1, IRFL, 2, DISE, 1, SSHU, 1 } OperationRegion(BEEP, SystemIO, 0x61, 0x1) Field(BEEP, ByteAcc, NoLock, Preserve) { S1B_, 8 } OperationRegion(CONT, SystemIO, 0x40, 0x4) Field(CONT, ByteAcc, NoLock, Preserve) { CNT0, 8, CNT1, 8, CNT2, 8, CTRL, 8 } Method(SPKR, 1) { Store(S1B_, Local0) Store(0xb6, CTRL) Store(0x55, CNT2) Store(0x3, CNT2) Store(Arg0, Local2) While(LGreater(Local2, 0x0)) { Or(S1B_, 0x3, S1B_) Store(0x5fff, Local3) While(LGreater(Local3, 0x0)) { Decrement(Local3) } And(S1B_, 0xfc, S1B_) Store(0x0eff, Local3) While(LGreater(Local3, 0x0)) { Decrement(Local3) } Decrement(Local2) } Store(Local0, S1B_) } Scope(\) { Name(PICF, 0x0) Method(_PIC, 1) { Store(Arg0, PICF) } } Name(SBFL, 0x0) Name(ATFL, 0x0) Method(\_PTS, 1) { Or(Arg0, 0xf0, Local0) Store(Local0, DBG1) OSTP() If(LEqual(Arg0, 0x1)) { While(PRII) { Store(One, PRII) } While(LNot(LEqual(PADS, 0x0))) { Store(PADS, PADS) } Or(IRQR, 0x80, IRQR) } If(LEqual(Arg0, 0x3)) { Or(Arg0, 0x50, Local1) Store(Local1, SCP_) } If(LEqual(Arg0, 0x4)) { } If(LEqual(Arg0, 0x5)) { Store(Zero, GS04) } Sleep(0x64) If(LEqual(Arg0, 0x1)) { Or(PWC1, 0x2, PWC1) } If(LEqual(Arg0, 0x3)) { Or(PWC1, 0x1, PWC1) } If(LEqual(Arg0, 0x4)) { Or(PWC1, 0x0, PWC1) } If(LEqual(Arg0, 0x5)) { Or(PWC1, 0x0, PWC1) } } Method(\_WAK, 1) { Store(0xff, DBG1) And(PWC1, 0x0, PWC1) If(LEqual(Arg0, 0x1)) { } If(LEqual(Arg0, 0x3)) { } If(LEqual(Arg0, 0x1)) { And(IRQR, 0x7f, IRQR) While(PRII) { Store(One, PRII) } While(LNot(LEqual(PADS, 0x0))) { Store(PADS, PADS) } } If(OSFL) { Notify(\_SB_.PWRB, 0x2) Notify(\_SB_.SLPB, 0x2) } Else { If(LEqual(RTCW, 0x0)) { Notify(\_SB_.PWRB, 0x2) Notify(\_SB_.SLPB, 0x2) } } } Scope(\_SI_) { Method(_MSG, 1) { Store(Local0, Local0) } Method(_SST, 1) { If(LEqual(Arg0, 0x3)) { } If(LEqual(Arg0, 0x1)) { } If(LEqual(Arg0, Zero)) { } Store(Local0, Local0) } } OperationRegion(TEMM, SystemMemory, 0x000ff810, 0xc) Field(TEMM, WordAcc, NoLock, Preserve) { TP1H, 16, TP1L, 16, TP2H, 16, TP2L, 16, TRPC, 16, SENF, 16 } Name(TVAR, Buffer(0x5) {0x0, 0x0, 0x0, 0x0, 0x0 }) CreateByteField(TVAR, 0x0, PLCY) CreateWordField(TVAR, 0x1, CTOS) CreateWordField(TVAR, 0x3, CTHY) Name(TBUF, Buffer(0x4) {0x0, 0x0, 0x0, 0x0 }) CreateByteField(TBUF, 0x0, DB00) CreateByteField(TBUF, 0x1, DB01) CreateWordField(TBUF, 0x0, DW00) CreateWordField(TBUF, 0x2, DW01) CreateDWordField(TBUF, 0x0, DATD) OperationRegion(IP__, SystemIO, 0x0295, 0x2) Field(IP__, ByteAcc, NoLock, Preserve) { INDS, 8, DATS, 8 } Method(SCFG, 1) { SBYT(0x40, Arg0) } Method(STOS, 3) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) SBYT(0x55, Arg1) SBYT(0x56, Arg0) SBYT(0x4e, Local0) } Method(STHY, 3) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) SBYT(0x53, Arg1) SBYT(0x54, Arg0) SBYT(0x4e, Local0) } Method(RTMP) { Store(GBYT(0x4e), Local0) Or(Local0, 0x1, Local1) SBYT(0x4e, Local1) Store(GBYT(0x50), Local1) Store(GBYT(0x51), Local2) ShiftLeft(Local1, 0x8, Local1) Or(Local1, Local2, Local3) ShiftRight(Local3, 0x7, Local3) ShiftLeft(Local3, 0x2, Local1) Add(Local3, Local1, Local3) Add(Local3, 0x0aac, Local3) If(LGreater(Local3, 0x0e8a)) { Store(0x0aac, Local3) } SBYT(0x4e, Local0) Return(Local3) } Method(SBYT, 2) { Store(Arg0, INDS) Store(Arg1, DATS) } Method(GBYT, 1) { Store(Arg0, INDS) Store(DATS, Local7) Return(Local7) } Scope(\_TZ_) { Device(FAN_) { Name(_HID, 0x0b0cd041) Method(_INI) { Store(TP1H, CTOS) Store(TP1L, CTHY) } } ThermalZone(THRM) { Name(_AL0, Package(0x1) { FAN_, }) Method(_AC0) { If(Or(PLCY, PLCY, Local7)) { Return(TP2H) } Else { Return(TP1H) } } Name(_PSL, Package(0x1) { \_PR_.CPU0, }) Name(_TSP, 0x3c) Name(_TC1, 0x4) Name(_TC2, 0x3) Method(_PSV) { If(Or(PLCY, PLCY, Local7)) { Return(TP1H) } Else { Return(TP2H) } } Method(_CRT) { Return(TRPC) } Method(_TMP) { And(SENF, 0x1, Local6) If(LEqual(Local6, 0x1)) { Return(RTMP()) } Else { Return(0x0b86) } } Method(_SCP, 1) { If(Arg0) { Store(One, PLCY) } Else { Store(Zero, PLCY) } Notify(\_TZ_.THRM, 0x81) } Method(STMP, 2) { Store(Arg1, DW00) If(Arg0) { STHY(DB00, DB01, DW00) } Else { STOS(DB00, DB01, DW00) } } } } Scope(\_GPE) { Method(_L09) { If(LEqual(SBFL, 0x0)) { Notify(\_SB_.PCI0.USB0, 0x2) Notify(\_SB_.PCI0.USB1, 0x2) Notify(\_SB_.PCI0.USB2, 0x2) } If(LEqual(SBFL, 0x1)) { Notify(\_SB_.PCI0.USB0, 0x2) Notify(\_SB_.PCI0.USB1, 0x2) } } Method(_L0E) { If(LEqual(SBFL, 0x2)) { Notify(\_SB_.PCI0.USB3, 0x2) Notify(\_SB_.PCI0.USB4, 0x2) Notify(\_SB_.PCI0.USB5, 0x2) Notify(\_SB_.PCI0.USB6, 0x2) } If(LEqual(SBFL, 0x3)) { Notify(\_SB_.PCI0.USB3, 0x2) Notify(\_SB_.PCI0.USB4, 0x2) Notify(\_SB_.PCI0.USB5, 0x2) Notify(\_SB_.PCI0.USB6, 0x2) Notify(\_SB_.PCI0.USB7, 0x2) } } Method(_L04) { Notify(\_SB_.SLPB, 0x80) } Method(_L05) { Notify(\_SB_.PCI0, 0x2) } Method(_L08) { Notify(\_SB_.PCI0.UAR1, 0x2) } Method(_L0D) { Notify(\_SB_.PCI0.AC97, 0x2) Notify(\_SB_.PCI0.MC97, 0x2) } } Scope(\_PR_.CPU0) { Name(PDCT, 0x0) Name(PDCR, 0x1) Name(PDCM, 0x1) Method(PDC_, 1) { Store(SizeOf(Arg0), Local0) Name(PDCB, Buffer(0x14) { }) Store(Arg0, PDCB) CreateDWordField(PDCB, 0x0, REV_) CreateDWordField(PDCB, 0x4, SIZE) If(LNot(LEqual(REV_, PDCR))) { Return(0x0) } If(LLess(SIZE, 0x1)) { Return(0x0) } CreateDWordField(PDCB, 0x8, DAT0) If(And(DAT0, PDCM, )) { Store(0x1, PDCT) } Return(0x1) } Name(PCT1, Package(0x2) { Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, }) Name(PCT2, Package(0x2) { Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x2f, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, }) Method(_PCT) { If(LEqual(PDCT, 0x0)) { Return(PCT2) } Else { Return(PCT1) } } Name(PPS1, Package(0x2) { Package(0x6) { 0x05dc, 0x3a98, 0xa, 0xa, 0x0f13, 0x0f13, }, Package(0x6) { 0x0320, 0x1f40, 0xa, 0xa, 0x0810, 0x0810, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffff, 0xffff, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffff, 0xffff, }, }) Name(PPS2, Package(0x2) { Package(0x6) { 0x05dc, 0x3a98, 0xa, 0xa, 0x00b0, 0x00b0, }, Package(0x6) { 0x0320, 0x1f40, 0xa, 0xa, 0x00b1, 0x00b1, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffb2, 0xffb2, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffb3, 0xffb3, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffb4, 0xffb4, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffb5, 0xffb5, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffb6, 0xffb6, }, Package(0x6) { 0xffff, 0xffff, 0xff, 0xff, 0xffb7, 0xffb7, }, }) Method(_PSS) { If(LEqual(PDCT, 0x0)) { Return(PPS2) } Else { Return(PPS1) } } Method(_PPC) { Return(0x0) } } Scope(\_SB_) { Device(PWRB) { Name(_HID, 0x0c0cd041) Method(_STA) { Return(0xb) } } Device(SLPB) { Name(_HID, 0x0e0cd041) Method(_STA) { Return(0xb) } Name(_PRW, Package(0x2) { 0x4, 0x5, }) } Device(MEM_) { Name(_HID, 0x010cd041) Method(_CRS) { Name(BUF0, Buffer(0x86) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x40, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x80, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0xc0, 0xf, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xe0, 0xfe, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xf8, 0xff, 0x0, 0x0, 0x7, 0x0, 0x79, 0x0 }) CreateDWordField(BUF0, 0x34, ACMM) CreateDWordField(BUF0, 0x4, RMA1) CreateDWordField(BUF0, 0x8, 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, 0x8, Local0) Store(Local0, RMA1) ShiftLeft(RMS1, 0x8, Local0) Store(Local0, RSS1) Store(0x8000, RSS2) } If(LNot(LEqual(ROM2, Zero))) { Store(RMA2, RMA3) ShiftLeft(ROM2, 0x8, Local0) Store(Local0, RMA2) ShiftLeft(RMS2, 0x8, Local0) Store(Local0, RSS2) Store(0xc000, RSS3) } If(LNot(LEqual(ROM3, Zero))) { Store(RMA3, RMA4) ShiftLeft(ROM3, 0x8, Local0) Store(Local0, RMA3) ShiftLeft(RMS3, 0x8, Local0) Store(Local0, RSS3) Store(0x00010000, RSS4) } Store(AMEM, ACMM) Return(BUF0) } } Device(PCI0) { Name(_HID, 0x030ad041) Name(_ADR, 0x0) Name(_UID, 0x1) Name(_BBN, 0x0) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(GART, PCI_Config, 0x80, 0x1) Scope(\) { Field(\_SB_.PCI0.GART, ByteAcc, NoLock, Preserve) { GAR1, 8 } } OperationRegion(GARA, PCI_Config, 0x88, 0x1) Scope(\) { Field(\_SB_.PCI0.GARA, ByteAcc, NoLock, Preserve) { GAR2, 8 } } Method(_STA) { Return(0xf) } Name(_PRW, Package(0x2) { 0x5, 0x5, }) Method(_CRS) { Name(BUF0, Buffer(0x88) {0x88, 0xd, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x79, 0x0 }) CreateDWordField(BUF0, 0x76, TCMM) CreateDWordField(BUF0, 0x82, TOMM) Add(AMEM, 0x00010000, TCMM) Subtract(0xfec00000, TCMM, TOMM) Return(BUF0) } Name(PICM, Package(0x24) { Package(0x4) { 0x0014ffff, 0x0, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x0014ffff, 0x1, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x0014ffff, 0x2, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x0014ffff, 0x3, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x000dffff, 0x0, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x000dffff, 0x1, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x000dffff, 0x2, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x000dffff, 0x3, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x000effff, 0x0, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x000effff, 0x1, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x000effff, 0x2, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x000effff, 0x3, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x0013ffff, 0x0, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x0013ffff, 0x1, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x0013ffff, 0x2, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x0013ffff, 0x3, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x0010ffff, 0x0, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x0010ffff, 0x1, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x0010ffff, 0x2, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x0010ffff, 0x3, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x0011ffff, 0x0, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x0011ffff, 0x1, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x0011ffff, 0x2, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x0011ffff, 0x3, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x0001ffff, 0x0, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x0001ffff, 0x1, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x0001ffff, 0x2, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x0001ffff, 0x3, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x0012ffff, 0x0, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x0012ffff, 0x1, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x0012ffff, 0x2, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x0012ffff, 0x3, \_SB_.PCI0.LNKD, 0x0, }, Package(0x4) { 0x000fffff, 0x0, \_SB_.PCI0.LNKA, 0x0, }, Package(0x4) { 0x000fffff, 0x1, \_SB_.PCI0.LNKB, 0x0, }, Package(0x4) { 0x000fffff, 0x2, \_SB_.PCI0.LNKC, 0x0, }, Package(0x4) { 0x000fffff, 0x3, \_SB_.PCI0.LNKD, 0x0, }, }) Name(APIC, Package(0x24) { Package(0x4) { 0x0014ffff, 0x0, 0x0, 0x11, }, Package(0x4) { 0x0014ffff, 0x1, 0x0, 0x12, }, Package(0x4) { 0x0014ffff, 0x2, 0x0, 0x13, }, Package(0x4) { 0x0014ffff, 0x3, 0x0, 0x10, }, Package(0x4) { 0x000dffff, 0x0, 0x0, 0x11, }, Package(0x4) { 0x000dffff, 0x1, 0x0, 0x12, }, Package(0x4) { 0x000dffff, 0x2, 0x0, 0x13, }, Package(0x4) { 0x000dffff, 0x3, 0x0, 0x10, }, Package(0x4) { 0x000effff, 0x0, 0x0, 0x12, }, Package(0x4) { 0x000effff, 0x1, 0x0, 0x13, }, Package(0x4) { 0x000effff, 0x2, 0x0, 0x10, }, Package(0x4) { 0x000effff, 0x3, 0x0, 0x11, }, Package(0x4) { 0x0013ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x0013ffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x0013ffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x0013ffff, 0x3, 0x0, 0x13, }, Package(0x4) { 0x0010ffff, 0x0, ALKB, 0x0, }, Package(0x4) { 0x0010ffff, 0x1, ALKB, 0x0, }, Package(0x4) { 0x0010ffff, 0x2, ALKB, 0x0, }, Package(0x4) { 0x0010ffff, 0x3, ALKB, 0x0, }, Package(0x4) { 0x0011ffff, 0x0, ALKA, 0x0, }, Package(0x4) { 0x0011ffff, 0x1, ALKB, 0x0, }, Package(0x4) { 0x0011ffff, 0x2, ALKC, 0x0, }, Package(0x4) { 0x0011ffff, 0x3, ALKD, 0x0, }, Package(0x4) { 0x0001ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x0001ffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x0001ffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x0001ffff, 0x3, 0x0, 0x13, }, Package(0x4) { 0x0012ffff, 0x0, ALKD, 0x0, }, Package(0x4) { 0x0012ffff, 0x1, ALKD, 0x0, }, Package(0x4) { 0x0012ffff, 0x2, ALKD, 0x0, }, Package(0x4) { 0x0012ffff, 0x3, ALKD, 0x0, }, Package(0x4) { 0x000fffff, 0x0, ALKA, 0x0, }, Package(0x4) { 0x000fffff, 0x1, ALKA, 0x0, }, Package(0x4) { 0x000fffff, 0x2, ALKA, 0x0, }, Package(0x4) { 0x000fffff, 0x3, ALKA, 0x0, }, }) Method(_PRT) { If(LNot(PICF)) { Return(PICM) } Else { Return(APIC) } } Device(PMIO) { Name(_HID, 0x020cd041) Name(_UID, 0x2) Method(_CRS) { Name(BUF0, Buffer(0x12) {0x47, 0x1, 0x0, 0x4, 0x0, 0x4, 0x1, 0x80, 0x47, 0x1, 0x0, 0x5, 0x0, 0x5, 0x1, 0x10, 0x79, 0x0 }) Return(BUF0) } } Device(VT86) { Name(_ADR, 0x00110000) OperationRegion(USBC, PCI_Config, 0x50, 0x2) Scope(\) { Field(\_SB_.PCI0.VT86.USBC, ByteAcc, NoLock, Preserve) { IDEB, 8 } } OperationRegion(VTSB, PCI_Config, 0x0, 0xe8) Scope(\) { Field(\_SB_.PCI0.VT86.VTSB, ByteAcc, NoLock, Preserve) { Offset(0x2), 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) { Store(Local0, Local0) } Method(CKIO, 2) { Store(Local0, Local0) } Method(SLDM, 2) { Store(Local0, Local0) } } } Device(IDE0) { Name(_ADR, 0x00110001) Name(REGF, 0x1) Method(_STA) { If(LNot(LEqual(VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(CMD0, 0x0)) { Return(0xd) } Else { Return(0xf) } } } Method(_REG, 2) { If(LEqual(Arg0, 0x2)) { Store(Arg1, REGF) } } OperationRegion(VIDE, PCI_Config, 0x0, 0xc2) Scope(\) { Field(\_SB_.PCI0.IDE0.VIDE, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMD0, 3, Offset(0x9), ENAT, 4, Offset(0x3c), IDEI, 8 } } Method(A133) { If(LNot(LEqual(DEID, 0x3177))) { If(LEqual(DEID, 0x3147)) { Return(One) } Else { Return(Zero) } } Else { Return(One) } } Name(TIM0, Package(0xf) { Package(0x4) { 0x78, 0xb4, 0xf0, 0x0258, }, Package(0x4) { 0x20, 0x31, 0x65, 0xa8, }, Package(0x8) { 0x2, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, }, Package(0x8) { 0x4, 0x3, 0x2, 0x2, 0x1, 0x1, 0x0, 0x0, }, Package(0x6) { 0x78, 0x50, 0x3c, 0x2d, 0x1e, 0x14, }, Package(0x5) { 0x2, 0x1, 0x0, 0x0, 0x0, }, Package(0x5) { 0x6, 0x4, 0x2, 0x1, 0x0, }, Package(0x5) { 0x0, 0x0, 0x0, 0x1, 0x1, }, Package(0x4) { 0x4, 0x3, 0x2, 0x0, }, Package(0x4) { 0x2, 0x1, 0x0, 0x0, }, Package(0xb) { 0x5, 0x4, 0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x0, }, Package(0x6) { 0xa, 0x6, 0x4, 0x2, 0x1, 0x0, }, Package(0x7) { 0x78, 0x50, 0x3c, 0x2d, 0x1e, 0x14, 0xf, }, Package(0xf) { 0x6, 0x5, 0x4, 0x4, 0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, }, Package(0x7) { 0xe, 0x8, 0x6, 0x4, 0x2, 0x1, 0x0, }, }) Name(TMD0, Buffer(0x14) { }) CreateDWordField(TMD0, 0x0, PIO0) CreateDWordField(TMD0, 0x4, DMA0) CreateDWordField(TMD0, 0x8, PIO1) CreateDWordField(TMD0, 0xc, DMA1) CreateDWordField(TMD0, 0x10, CHNF) OperationRegion(CFG2, PCI_Config, 0x40, 0x20) Field(CFG2, DWordAcc, NoLock, Preserve) { Offset(0x8), 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, 0x0) Name(GMUE, 0x0) Name(GMUT, 0x0) Name(GSPT, 0x0) Name(GSUE, 0x0) Name(GSUT, 0x0) Name(GBCS, 0x0) Device(CHN0) { Name(_ADR, 0x0) Method(_GTM) { Return(GTM_(PMPT, PMUE, PMUT, PSPT, PSUE, PSUT)) } Method(_STM, 3) { 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, 0x0) Method(_GTF) { Return(GTF_(0x0, PMUE, PMUT, PMPT)) } } Device(DRV1) { Name(_ADR, 0x1) Method(_GTF) { Return(GTF_(0x1, PSUE, PSUT, PSPT)) } } } Device(CHN1) { Name(_ADR, 0x1) Method(_GTM) { Return(GTM_(SMPT, SMUE, SMUT, SSPT, SSUE, SSUT)) } Method(_STM, 3) { 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, 0x0) Method(_GTF) { Return(GTF_(0x2, SMUE, SMUT, SMPT)) } } Device(DRV1) { Name(_ADR, 0x1) Method(_GTF) { Return(GTF_(0x3, SSUE, SSUT, SSPT)) } } } Method(GTF_, 4, Serialized) { Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local1) Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local2) CreateByteField(Local1, 0x1, MODE) CreateByteField(Local2, 0x1, UMOD) CreateByteField(Local1, 0x5, PCHA) CreateByteField(Local2, 0x5, UCHA) And(Arg0, 0x3, Local3) If(LEqual(And(Local3, 0x1, ), 0x1)) { Store(0xb0, PCHA) Store(0xb0, UCHA) } If(Arg1) { If(A133()) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xd, )), Arg2, )), UMOD) } Else { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xa, )), Arg2, )), UMOD) } Or(UMOD, 0x40, UMOD) } Else { Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg3, MTR, 0x0, 0x0), Local0) Or(0x20, DerefOf(Index(DerefOf(Index(TIM0, 0x9, )), Local0, )), UMOD) } Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg3, MTR, 0x0, 0x0), Local0) Or(0x8, DerefOf(Index(DerefOf(Index(TIM0, 0x8, )), 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, 0x1, )), MEQ, Arg0, MTR, 0x0, 0x0), Local6) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x0, )), Local6, )), Local7) Store(Local7, DMA0) Store(Local7, PIO0) Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg3, MTR, 0x0, 0x0), Local6) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x0, )), Local6, )), Local7) Store(Local7, DMA1) Store(Local7, PIO1) If(Arg1) { If(A133()) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xd, )), Arg2, )), Local5) } Else { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xa, )), Arg2, )), Local5) } If(A133()) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xc, )), Local5, )), DMA0) } Else { Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4, )), Local5, )), DMA0) } Or(CHNF, 0x1, CHNF) } If(Arg4) { If(A133()) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xd, )), Arg5, )), Local5) } Else { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xa, )), Arg5, )), Local5) } If(A133()) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xc, )), Local5, )), DMA1) } Else { Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4, )), Local5, )), DMA1) } Or(CHNF, 0x4, CHNF) } Return(TMD0) } Method(STM_, 0, Serialized) { If(REGF) { } Else { Return(TMD0) } Store(0x0, GMUE) Store(0x0, GSUE) Store(0x7, GMUT) Store(0x7, GSUT) If(And(CHNF, 0x1, )) { If(A133()) { Store(Match(DerefOf(Index(TIM0, 0xc, )), MLE, DMA0, MTR, 0x0, 0x0), Local0) } Else { Store(Match(DerefOf(Index(TIM0, 0x4, )), MLE, DMA0, MTR, 0x0, 0x0), Local0) } If(A133()) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xe, )), Local0, )), GMUT) } Else { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xb, )), Local0, )), GMUT) } Or(GMUE, 0x7, GMUE) } Else { If(Or(LEqual(PIO0, Ones), LEqual(PIO0, 0x0), )) { If(And(LLess(DMA0, Ones), LGreater(DMA0, 0x0), )) { Store(DMA0, PIO0) } } } If(And(CHNF, 0x4, )) { If(A133()) { Store(Match(DerefOf(Index(TIM0, 0xc, )), MLE, DMA1, MTR, 0x0, 0x0), Local0) } Else { Store(Match(DerefOf(Index(TIM0, 0x4, )), MLE, DMA1, MTR, 0x0, 0x0), Local0) } If(A133()) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xe, )), Local0, )), GSUT) } Else { Store(DerefOf(Index(DerefOf(Index(TIM0, 0xb, )), Local0, )), GSUT) } Or(GSUE, 0x7, GSUE) } Else { If(Or(LEqual(PIO1, Ones), LEqual(PIO1, 0x0), )) { If(And(LLess(DMA1, Ones), LGreater(DMA1, 0x0), )) { Store(DMA1, PIO1) } } } And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIO0, MTR, 0x0, 0x0), 0x3, Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x1, )), Local0, )), Local1) Store(Local1, GMPT) And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIO1, MTR, 0x0, 0x0), 0x3, Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x1, )), Local0, )), Local1) Store(Local1, GSPT) } } Device(SATA) { Name(_ADR, 0x000f0000) Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.SATA.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.SATA.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } OperationRegion(SAPR, PCI_Config, 0x0, 0xc2) Field(SAPR, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), IDEI, 8, Offset(0x49), , 6, EPHY, 1 } } Device(PATA) { Name(_ADR, 0x000f0001) Name(REGF, 0x1) Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.PATA.VID_, 0x1106))) { Return(0x0) } Else { PMEX() If(LEqual(\_SB_.PCI0.PATA.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } Method(_REG, 2) { If(LEqual(Arg0, 0x2)) { Store(Arg1, REGF) } } Name(TIM0, Package(0x7) { Package(0x5) { 0x78, 0xb4, 0xf0, 0x017f, 0x0258, }, Package(0x5) { 0x20, 0x22, 0x33, 0x47, 0x5d, }, Package(0x5) { 0x4, 0x3, 0x2, 0x1, 0x0, }, Package(0x4) { 0x2, 0x1, 0x0, 0x0, }, Package(0x7) { 0x78, 0x50, 0x3c, 0x2d, 0x1e, 0x14, 0xf, }, Package(0xf) { 0x6, 0x5, 0x4, 0x4, 0x3, 0x3, 0x2, 0x2, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, }, Package(0x7) { 0xe, 0x8, 0x6, 0x4, 0x2, 0x1, 0x0, }, }) Name(TMD0, Buffer(0x14) { }) CreateDWordField(TMD0, 0x0, PIO0) CreateDWordField(TMD0, 0x4, DMA0) CreateDWordField(TMD0, 0x8, PIO1) CreateDWordField(TMD0, 0xc, DMA1) CreateDWordField(TMD0, 0x10, CHNF) OperationRegion(PAPR, PCI_Config, 0x0, 0xc2) Field(PAPR, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x9), 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, 0x0) Name(GMUE, 0x0) Name(GMUT, 0x0) Name(GSPT, 0x0) Name(GSUE, 0x0) Name(GSUT, 0x0) Device(CHN0) { Name(_ADR, 0x0) Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.PATA.EPCH, 0x1))) { Return(0x0) } Else { Return(0xf) } } Method(_GTM) { Return(GTM_(PMPT, PMUE, PMUT, PSPT, PSUE, PSUT)) } Method(_STM, 3) { 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, 0x0) Method(_GTF) { Return(GTF_(0x0, PMUE, PMUT, PMPT)) } } Device(DRV1) { Name(_ADR, 0x1) Method(_GTF) { Return(GTF_(0x1, PSUE, PSUT, PSPT)) } } } Device(CHN1) { Name(_ADR, 0x1) Method(_STA) { If(LNot(LEqual(ATFL, 0x2))) { If(LEqual(\_SB_.PCI0.SATA.EPHY, 0x1)) { Return(0x0) } Else { If(LNot(LEqual(\_SB_.PCI0.PATA.ESCH, 0x1))) { Return(0x0) } Else { Return(0xf) } } } If(LEqual(ATFL, 0x2)) { If(LNot(LEqual(\_SB_.PCI0.PATA.ESCH, 0x1))) { Return(0x0) } Else { Return(0xf) } } } Method(_GTM) { Return(GTM_(SMPT, SMUE, SMUT, SSPT, SSUE, SSUT)) } Method(_STM, 3) { 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, 0x0) Method(_GTF) { Return(GTF_(0x2, SMUE, SMUT, SMPT)) } } Device(DRV1) { Name(_ADR, 0x1) Method(_GTF) { Return(GTF_(0x3, 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(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local1) Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }, Local2) CreateByteField(Local1, 0x1, MODE) CreateByteField(Local2, 0x1, UMOD) CreateByteField(Local1, 0x5, PCHA) CreateByteField(Local2, 0x5, UCHA) And(Arg0, 0x3, Local3) If(LEqual(And(Local3, 0x1, ), 0x1)) { Store(0xb0, PCHA) Store(0xb0, UCHA) } If(Arg1) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0x5, )), Arg2, )), UMOD) Or(UMOD, 0x40, UMOD) } Else { Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg3, MTR, 0x0, 0x0), Local0) Or(0x20, DerefOf(Index(DerefOf(Index(TIM0, 0x3, )), Local0, )), UMOD) } Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg3, MTR, 0x0, 0x0), Local0) Or(0x8, DerefOf(Index(DerefOf(Index(TIM0, 0x2, )), 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, 0x1, )), MEQ, Arg0, MTR, 0x0, 0x0), Local6) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x0, )), Local6, )), Local7) Store(Local7, DMA0) Store(Local7, PIO0) Store(Match(DerefOf(Index(TIM0, 0x1, )), MEQ, Arg3, MTR, 0x0, 0x0), Local6) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x0, )), Local6, )), Local7) Store(Local7, DMA1) Store(Local7, PIO1) If(Arg1) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0x5, )), Arg2, )), Local5) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4, )), Local5, )), DMA0) Or(CHNF, 0x1, CHNF) } If(Arg4) { Store(DerefOf(Index(DerefOf(Index(TIM0, 0x5, )), Arg5, )), Local5) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x4, )), Local5, )), DMA1) Or(CHNF, 0x4, CHNF) } Return(TMD0) } Method(STM_, 0, Serialized) { If(REGF) { } Else { Return(TMD0) } Store(0x0, GMUE) Store(0x0, GSUE) Store(0x7, GMUT) Store(0x7, GSUT) If(And(CHNF, 0x1, )) { Store(Match(DerefOf(Index(TIM0, 0x4, )), MLE, DMA0, MTR, 0x0, 0x0), Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x6, )), Local0, )), GMUT) Or(GMUE, 0x7, GMUE) } Else { If(Or(LEqual(PIO0, Ones), LEqual(PIO0, 0x0), )) { If(And(LLess(DMA0, Ones), LGreater(DMA0, 0x0), )) { Store(DMA0, PIO0) } } } If(And(CHNF, 0x4, )) { Store(Match(DerefOf(Index(TIM0, 0x4, )), MLE, DMA1, MTR, 0x0, 0x0), Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x6, )), Local0, )), GSUT) Or(GSUE, 0x7, GSUE) } Else { If(Or(LEqual(PIO1, Ones), LEqual(PIO1, 0x0), )) { If(And(LLess(DMA1, Ones), LGreater(DMA1, 0x0), )) { Store(DMA1, PIO1) } } } And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIO0, MTR, 0x0, 0x0), 0x3, Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x1, )), Local0, )), Local1) Store(Local1, GMPT) And(Match(DerefOf(Index(TIM0, 0x0, )), MGE, PIO1, MTR, 0x0, 0x0), 0x3, Local0) Store(DerefOf(Index(DerefOf(Index(TIM0, 0x1, )), Local0, )), Local1) Store(Local1, GSPT) } } Device(USB0) { Name(_ADR, 0x00110002) Name(_PRW, Package(0x2) { 0x9, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(SB72, PCI_Config, 0x0, 0xc2) Field(SB72, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U0IR, 4 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB0.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB0.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(USB1) { Name(_ADR, 0x00110003) Name(_PRW, Package(0x2) { 0x9, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(SB73, PCI_Config, 0x0, 0xc2) Field(SB73, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U1IR, 4 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB1.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB1.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(USB2) { Name(_ADR, 0x00110004) Name(_PRW, Package(0x2) { 0x9, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(SB74, PCI_Config, 0x0, 0xc2) Field(SB74, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U2IR, 4 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB2.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB2.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(USB3) { Name(_ADR, 0x00100000) Name(_PRW, Package(0x2) { 0xe, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(U2F0, PCI_Config, 0x0, 0xc2) Field(U2F0, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U3IR, 4, Offset(0x84), ECDX, 2 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB3.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB3.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(USB4) { Name(_ADR, 0x00100001) Name(_PRW, Package(0x2) { 0xe, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(U2F1, PCI_Config, 0x0, 0xc2) Field(U2F1, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U4IR, 4, Offset(0x84), ECDX, 2 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB4.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB4.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(USB5) { Name(_ADR, 0x00100002) Name(_PRW, Package(0x2) { 0xe, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(U2F2, PCI_Config, 0x0, 0xc2) Field(U2F2, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U5IR, 4, Offset(0x84), ECDX, 2 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB5.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB5.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(USB6) { Name(_ADR, 0x00100003) Name(_PRW, Package(0x2) { 0xe, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(U2F3, PCI_Config, 0x0, 0xc2) Field(U2F3, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U6IR, 4, Offset(0x84), ECDX, 2 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB6.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB6.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(USB7) { Name(_ADR, 0x00100004) Name(_PRW, Package(0x2) { 0xe, 0x3, }) Method(SS3D) { If(LEqual(OSFL, 0x2)) { Return(0x2) } Else { Return(0x3) } } OperationRegion(U2F4, PCI_Config, 0x0, 0xc2) Field(U2F4, ByteAcc, NoLock, Preserve) { VID_, 16, Offset(0x4), CMDR, 3, Offset(0x3c), U7IR, 4, Offset(0x84), ECDX, 2 } Method(_STA) { If(LNot(LEqual(\_SB_.PCI0.USB7.VID_, 0x1106))) { Return(0x0) } Else { If(LEqual(\_SB_.PCI0.USB7.CMDR, 0x0)) { Return(0xd) } Else { Return(0xf) } } } } Device(AC97) { Name(_ADR, 0x00110005) Name(_PRW, Package(0x2) { 0xd, 0x5, }) } Device(MC97) { Name(_ADR, 0x00110006) Name(_PRW, Package(0x2) { 0xd, 0x5, }) } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Method(_STA) { And(PIRA, 0xf0, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFB, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFB) } Method(_DIS) { And(PIRA, 0xf, PIRA) } Method(_CRS) { Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFB, 0x1, IRB1) CreateByteField(BUFB, 0x2, IRB2) Store(0x0, Local3) Store(0x0, Local4) And(PIRA, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRB1) Store(Local4, IRB2) } Return(BUFB) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRB1) CreateByteField(Arg0, 0x2, IRB2) ShiftLeft(IRB2, 0x8, Local0) Or(Local0, IRB1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIRA, 0xf, PIRA) ShiftLeft(Local1, 0x4, Local1) Or(PIRA, Local1, PIRA) } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Method(_STA) { And(PIBC, 0xf, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFA, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFA) } Method(_DIS) { And(PIBC, 0xf0, PIBC) } Method(_CRS) { Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFA, 0x1, IRA1) CreateByteField(BUFA, 0x2, IRA2) Store(0x0, Local3) Store(0x0, Local4) And(PIBC, 0xf, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRA1) Store(Local4, IRA2) } Return(BUFA) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRA1) CreateByteField(Arg0, 0x2, IRA2) ShiftLeft(IRA2, 0x8, Local0) Or(Local0, IRA1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIBC, 0xf0, PIBC) Or(PIBC, Local1, PIBC) } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Method(_STA) { And(PIBC, 0xf0, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFC, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFC) } Method(_DIS) { And(PIBC, 0xf, PIBC) } Method(_CRS) { Name(BUFC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFC, 0x1, IRC1) CreateByteField(BUFC, 0x2, IRC2) Store(0x0, Local3) Store(0x0, Local4) And(PIBC, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRC1) Store(Local4, IRC2) } Return(BUFC) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRC1) CreateByteField(Arg0, 0x2, IRC2) ShiftLeft(IRC2, 0x8, Local0) Or(Local0, IRC1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIBC, 0xf, PIBC) ShiftLeft(Local1, 0x4, Local1) Or(PIBC, Local1, PIBC) } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Method(_STA) { And(PIRD, 0xf0, Local0) If(LEqual(Local0, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFD, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFD) } Method(_DIS) { And(PIRD, 0xf, PIRD) } Method(_CRS) { Name(BUFD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFD, 0x1, IRD1) CreateByteField(BUFD, 0x2, IRD2) Store(0x0, Local3) Store(0x0, Local4) And(PIRD, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRD1) Store(Local4, IRD2) } Return(BUFD) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRD1) CreateByteField(Arg0, 0x2, IRD2) ShiftLeft(IRD2, 0x8, Local0) Or(Local0, IRD1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIRD, 0xf, PIRD) ShiftLeft(Local1, 0x4, Local1) Or(PIRD, Local1, PIRD) } } Device(LNKE) { Name(_HID, 0x0f0cd041) Name(_UID, 0x5) Method(_STA) { If(LEqual(PIRE, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFE, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFE) } Method(_DIS) { Store(Zero, PIRE) } Method(_CRS) { Name(BUFE, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFE, 0x1, IRE1) CreateByteField(BUFE, 0x2, IRE2) Store(Zero, IRE1) Store(Zero, IRE2) Store(PIRE, Local0) If(LGreater(Local0, 0x0)) { If(LGreater(Local0, 0x7)) { Subtract(Local0, 0x8, Local1) ShiftLeft(One, Local1, IRE2) } Else { Store(Local0, Local1) ShiftLeft(One, Local1, IRE1) } } Return(BUFE) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRE1) CreateByteField(Arg0, 0x2, IRE2) If(LGreater(IRE2, Zero)) { FindSetLeftBit(IRE2, Local0) Decrement(Local0) Add(Local0, 0x8, Local0) } Else { FindSetLeftBit(IRE1, Local0) Decrement(Local0) } Store(One, ENR8) Store(Zero, POLE) Store(Local0, PIRE) } } Device(LNKF) { Name(_HID, 0x0f0cd041) Name(_UID, 0x6) Method(_STA) { If(LEqual(PIRF, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFF, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFF) } Method(_DIS) { Store(Zero, PIRF) } Method(_CRS) { Name(BUFF, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFF, 0x1, IRF1) CreateByteField(BUFF, 0x2, IRF2) Store(Zero, IRF1) Store(Zero, IRF2) Store(PIRF, Local0) If(LGreater(Local0, 0x0)) { If(LGreater(Local0, 0x7)) { Subtract(Local0, 0x8, Local1) ShiftLeft(One, Local0, IRF2) } Else { Store(Local0, Local1) ShiftLeft(One, Local1, IRF1) } } Return(BUFF) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRF1) CreateByteField(Arg0, 0x2, IRF2) If(LGreater(IRF2, Zero)) { FindSetLeftBit(IRF2, Local0) Decrement(Local0) Add(Local0, 0x8, Local0) } Else { FindSetLeftBit(IRF1, Local0) Decrement(Local0) } Store(One, ENR8) Store(Zero, POLF) Store(Local0, PIRF) } } Device(LNK0) { Name(_HID, 0x0f0cd041) Name(_UID, 0x7) Method(_STA) { If(LEqual(PIRG, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFG, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFG) } Method(_DIS) { Store(Zero, PIRG) } Method(_CRS) { Name(BUFG, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFG, 0x1, IRG1) CreateByteField(BUFG, 0x2, IRG2) Store(Zero, IRG1) Store(Zero, IRG2) Store(PIRG, Local0) If(LGreater(Local0, 0x0)) { If(LGreater(Local0, 0x7)) { Subtract(Local0, 0x8, Local0) ShiftLeft(One, Local0, IRG2) } Else { Store(0x1, Local1) ShiftLeft(Local1, Local0, IRG1) } } Return(BUFG) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRG1) CreateByteField(Arg0, 0x2, IRG2) If(LGreater(IRG2, Zero)) { FindSetLeftBit(IRG2, Local0) Decrement(Local0) Add(Local0, 0x8, Local0) } Else { FindSetLeftBit(IRG1, Local0) Decrement(Local0) } Store(One, ENR8) Store(Zero, POLG) Store(Local0, PIRG) } } Device(LNK1) { Name(_HID, 0x0f0cd041) Name(_UID, 0x8) Method(_STA) { If(LEqual(PIRH, 0x0)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(BUFH, Buffer(0x6) {0x23, 0xd8, 0x1c, 0x18, 0x79, 0x0 }) Return(BUFH) } Method(_DIS) { Store(Zero, PIRH) } Method(_CRS) { Name(BUFH, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(BUFH, 0x1, IRH1) CreateByteField(BUFH, 0x2, IRH2) Store(Zero, IRH1) Store(Zero, IRH2) Store(PIRH, Local0) If(LGreater(Local0, 0x0)) { If(LGreater(Local0, 0x7)) { Subtract(Local0, 0x8, Local0) ShiftLeft(One, Local0, IRH2) } Else { Store(0x1, Local1) ShiftLeft(Local1, Local0, IRH1) } } Return(BUFH) } Method(_SRS, 1) { CreateByteField(Arg0, 0x1, IRH1) CreateByteField(Arg0, 0x2, IRH2) If(LGreater(IRH2, Zero)) { FindSetLeftBit(IRH2, Local0) Decrement(Local0) Add(Local0, 0x8, Local0) } Else { FindSetLeftBit(IRH1, Local0) Decrement(Local0) } Store(One, ENR8) Store(Zero, POLH) Store(Local0, PIRH) } } Device(ALKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x9) Method(_STA) { If(LEqual(SBFL, 0x0)) { Return(0x9) } If(LEqual(SBFL, 0x1)) { If(LEqual(EIDE, 0x1)) { Return(0x9) } Else { If(LEqual(ENAT, 0xa)) { Return(0x9) } Else { Return(0xb) } } } If(LEqual(SBFL, 0x2)) { If(LEqual(EIDE, 0x1)) { Return(0x9) } Else { If(LEqual(ENAT, 0xa)) { Return(0x9) } Else { Return(0xb) } } } If(LEqual(SBFL, 0x3)) { If(LNot(LEqual(ATFL, 0x2))) { If(LNot(LEqual(\_SB_.PCI0.SATA.VID_, 0x1106))) { Return(0x9) } Else { Return(0xb) } } Else { If(LEqual(\_SB_.PCI0.PATA.ENAT, 0xa)) { Return(0x9) } Else { Return(0xb) } } } } Method(_PRS) { Name(A37A, Buffer(0x6) {0x23, 0xfa, 0xdc, 0x18, 0x79, 0x0 }) Name(A47N, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x14, 0x0, 0x0, 0x0, 0x79, 0x0 }) If(LEqual(SBFL, 0x0)) { Return(A37A) } If(LEqual(SBFL, 0x1)) { Return(A47N) } If(LEqual(SBFL, 0x2)) { Return(A47N) } If(LEqual(SBFL, 0x3)) { Return(A47N) } } Method(_DIS) { } Method(_CRS) { Name(B37A, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(B37A, 0x1, IRB1) CreateByteField(B37A, 0x2, IRB2) Name(B47A, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(B47A, 0x5, IRAI) If(LEqual(SBFL, 0x0)) { Return(B37A) } Else { Store(0x14, IRAI) Return(B47A) } } Method(_SRS, 1) { } } Device(ALKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0xa) Method(_STA) { If(LEqual(SBFL, 0x0)) { And(IDEB, 0x34, Local0) If(LEqual(Local0, 0x34)) { Return(0x9) } Else { Return(0xb) } } If(LEqual(SBFL, 0x1)) { And(IDEB, 0x30, Local0) If(LEqual(Local0, 0x30)) { Return(0x9) } Else { Return(0xb) } } If(LEqual(SBFL, 0x2)) { And(IDEB, 0x36, Local0) If(LEqual(Local0, 0x36)) { Return(0x9) } Else { Return(0xb) } } If(LEqual(SBFL, 0x3)) { And(IDEB, 0x37, Local0) If(LEqual(Local0, 0x37)) { Return(0x9) } Else { Return(0xb) } } } Method(_PRS) { Name(A37B, Buffer(0x6) {0x23, 0xfa, 0xdc, 0x18, 0x79, 0x0 }) Name(A47B, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x15, 0x0, 0x0, 0x0, 0x79, 0x0 }) If(LEqual(SBFL, 0x0)) { Return(A37B) } If(LEqual(SBFL, 0x1)) { Return(A47B) } If(LEqual(SBFL, 0x2)) { Return(A47B) } If(LEqual(SBFL, 0x3)) { Return(A47B) } } Method(_DIS) { } Method(_CRS) { Name(B37B, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(B37B, 0x1, IRA1) CreateByteField(B37B, 0x2, IRA2) Name(B47B, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(B47B, 0x5, IRBI) If(LEqual(SBFL, 0x0)) { Store(0x0, Local3) Store(0x0, Local4) And(PIBC, 0xf, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRA1) Store(Local4, IRA2) } Return(B37B) } Else { Store(0x15, IRBI) Return(B47B) } } Method(_SRS, 1) { If(LEqual(SBFL, 0x0)) { CreateByteField(Arg0, 0x1, IRA1) CreateByteField(Arg0, 0x2, IRA2) ShiftLeft(IRA2, 0x8, Local0) Or(Local0, IRA1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIBC, 0xf0, PIBC) Or(PIBC, Local1, PIBC) } } } Device(ALKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0xb) Method(_STA) { If(LEqual(EAMC, 0x3)) { Return(0x9) } Else { Return(0xb) } } Method(_PRS) { Name(A37C, Buffer(0x6) {0x23, 0xfa, 0xdc, 0x18, 0x79, 0x0 }) Name(A47C, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x16, 0x0, 0x0, 0x0, 0x79, 0x0 }) If(LEqual(SBFL, 0x0)) { Return(A37C) } If(LEqual(SBFL, 0x1)) { Return(A47C) } If(LEqual(SBFL, 0x2)) { Return(A47C) } If(LEqual(SBFL, 0x3)) { Return(A47C) } } Method(_DIS) { } Method(_CRS) { Name(B37C, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(B37C, 0x1, IRC1) CreateByteField(B37C, 0x2, IRC2) Name(B47C, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(B47C, 0x5, IRCI) If(LEqual(SBFL, 0x0)) { Store(0x0, Local3) Store(0x0, Local4) And(PIBC, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRC1) Store(Local4, IRC2) } Return(B37C) } Else { Store(0x16, IRCI) Return(B47C) } } Method(_SRS, 1) { If(LEqual(SBFL, 0x0)) { CreateByteField(Arg0, 0x1, IRC1) CreateByteField(Arg0, 0x2, IRC2) ShiftLeft(IRC2, 0x8, Local0) Or(Local0, IRC1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIBC, 0xf, PIBC) ShiftLeft(Local1, 0x4, Local1) Or(PIBC, Local1, PIBC) } } } Device(ALKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0xc) Method(_STA) { If(LEqual(SBFL, 0x1)) { Return(0x9) } Else { If(LEqual(ELAN, 0x0)) { Return(0x9) } Else { Return(0xb) } } } Method(_PRS) { Name(A37D, Buffer(0x6) {0x23, 0xfa, 0xdc, 0x18, 0x79, 0x0 }) Name(A47D, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x15, 0x0, 0x0, 0x0, 0x79, 0x0 }) Name(A77D, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x17, 0x0, 0x0, 0x0, 0x79, 0x0 }) If(LEqual(SBFL, 0x0)) { Return(A37D) } If(LEqual(SBFL, 0x1)) { Return(A47D) } If(LEqual(SBFL, 0x2)) { Return(A77D) } If(LEqual(SBFL, 0x3)) { Return(A77D) } } Method(_DIS) { } Method(_CRS) { Name(B37D, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateByteField(B37D, 0x1, IRD1) CreateByteField(B37D, 0x2, IRD2) Name(B47D, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x15, 0x0, 0x0, 0x0, 0x79, 0x0 }) Name(B77D, Buffer(0xb) {0x89, 0x6, 0x0, 0xd, 0x1, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(B77D, 0x5, IRDI) If(LEqual(SBFL, 0x0)) { Store(0x0, Local3) Store(0x0, Local4) And(PIRD, 0xf0, Local1) ShiftRight(Local1, 0x4, Local1) If(LNot(LEqual(Local1, 0x0))) { If(LGreater(Local1, 0x7)) { Subtract(Local1, 0x8, Local2) ShiftLeft(One, Local2, Local4) } Else { If(LGreater(Local1, 0x0)) { ShiftLeft(One, Local1, Local3) } } Store(Local3, IRD1) Store(Local4, IRD2) } Return(B37D) } If(LEqual(SBFL, 0x1)) { Return(B47D) } If(LEqual(SBFL, 0x2)) { Store(0x17, IRDI) Return(B77D) } If(LEqual(SBFL, 0x3)) { Store(0x17, IRDI) Return(B77D) } } Method(_SRS, 1) { If(LEqual(SBFL, 0x0)) { CreateByteField(Arg0, 0x1, IRD1) CreateByteField(Arg0, 0x2, IRD2) ShiftLeft(IRD2, 0x8, Local0) Or(Local0, IRD1, Local0) Store(0x0, Local1) ShiftRight(Local0, 0x1, Local0) While(LGreater(Local0, 0x0)) { Increment(Local1) ShiftRight(Local0, 0x1, Local0) } And(PIRD, 0xf, PIRD) ShiftLeft(Local1, 0x4, Local1) Or(PIRD, Local1, PIRD) } } } Scope(\) { OperationRegion(\SCPP, SystemIO, 0x042f, 0x1) Field(\SCPP, ByteAcc, NoLock, Preserve) { SMIP, 8 } } Method(\_SB_.PCI0._INI) { If(STRC(\_OS_, "Microsoft Windows")) { Store(0x56, SMIP) } Else { If(STRC(\_OS_, "Microsoft Windows NT")) { Store(0x58, SMIP) Store(0x0, OSFX) Store(0x0, OSFL) } Else { Store(0x57, SMIP) Store(0x2, OSFX) Store(0x2, OSFL) } } Store(0x0, SBFL) If(LEqual(DEID, 0x3147)) { Store(0x1, SBFL) } If(LEqual(DEID, 0x3177)) { Store(0x2, SBFL) } If(LEqual(DEID, 0x3227)) { Store(0x3, SBFL) } If(LEqual(DEID, 0x3287)) { Store(0x4, SBFL) } Store(0x0, ATFL) If(LEqual(BSAT, 0x1)) { Store(0x2, ATFL) } Else { If(LEqual(EIDE, 0x1)) { Store(0x2, ATFL) } Else { If(LNot(LEqual(\_SB_.PCI0.PATA.VID_, 0x1106))) { Store(0x1, ATFL) } } } } Scope(\) { Method(OSTP) { If(LEqual(OSFX, 0x1)) { Store(0x56, SMIP) } If(LEqual(OSFX, 0x2)) { Store(0x57, SMIP) } If(LEqual(OSFX, 0x0)) { Store(0x58, SMIP) } } } Device(SYSR) { Name(_HID, 0x020cd041) Name(_UID, 0x1) Name(_CRS, Buffer(0x5a) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1, 0x10, 0x47, 0x1, 0x22, 0x0, 0x22, 0x0, 0x1, 0x1e, 0x47, 0x1, 0x44, 0x0, 0x44, 0x0, 0x1, 0x1c, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0x74, 0x0, 0x74, 0x0, 0x1, 0xc, 0x47, 0x1, 0x91, 0x0, 0x91, 0x0, 0x1, 0x3, 0x47, 0x1, 0xa2, 0x0, 0xa2, 0x0, 0x1, 0x1e, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x94, 0x2, 0x94, 0x2, 0x1, 0x4, 0x79, 0x0 }) } Device(PIC_) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) } Device(DMA1) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x25) {0x2a, 0x10, 0x4, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x11, 0x47, 0x1, 0x94, 0x0, 0x94, 0x0, 0x1, 0xc, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x79, 0x0 }) } Device(TMR_) { Name(_HID, 0x0001d041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) } Device(RTC_) { Name(_HID, 0x000bd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x4, 0x4, 0x22, 0x0, 0x1, 0x79, 0x0 }) } Device(SPKR) { Name(_HID, 0x0008d041) Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 }) } Device(COPR) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 }) } Scope(\) { OperationRegion(WIN1, SystemIO, 0x4e, 0x2) Field(WIN1, ByteAcc, NoLock, Preserve) { INDP, 8, DATA, 8 } IndexField(INDP, DATA, ByteAcc, NoLock, Preserve) { Offset(0x2), CFG_, 8, Offset(0x7), LDN_, 8, Offset(0x20), IDHI, 8, IDLO, 8, POWC, 8, Offset(0x29), CR29, 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), CRF0, 8, CRF1, 8, CRF2, 8, CRF3, 8, CRF4, 8, CRF5, 8, CRF6, 8, CRF7, 8, CRF8, 8 } Method(ENFG) { Store(0x87, INDP) Store(0x87, INDP) } Method(EXFG) { Store(0xaa, INDP) } } Device(UAR1) { Name(_HID, 0x0105d041) Name(_UID, 0x1) Method(_STA) { ENFG() Store(0x2, LDN_) If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } EXFG() } Method(_DIS) { ENFG() Store(0x2, LDN_) Store(Zero, ACTR) EXFG() DISD(0x0) } Method(_CRS) { Name(BUF1, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF1, 0x2, IOLO) CreateByteField(BUF1, 0x3, IOHI) CreateByteField(BUF1, 0x4, IORL) CreateByteField(BUF1, 0x5, IORH) CreateWordField(BUF1, 0x9, IRQW) ENFG() Store(0x2, 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, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x2, IOAD) CreateWordField(Arg0, 0x9, IRQW) ENFG() Store(0x2, LDN_) Store(One, ACTR) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IRQW, Local0) Subtract(Local0, 0x1, INTR) EXFG() CKIO(IOAD, 0x0) } } Device(UAR2) { Name(_HID, 0x0105d041) Name(_UID, 0x2) Method(_STA) { ENFG() Store(0x3, LDN_) And(CRF1, 0x30, Local0) If(LNot(LEqual(Local0, 0x10))) { If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Else { EXFG() Return(0x0) } } Method(_DIS) { ENFG() Store(0x3, LDN_) And(CRF1, 0x38, Local0) If(LEqual(Local0, 0x0)) { Store(Zero, ACTR) } EXFG() DISD(0x1) } Method(_CRS) { Name(BUF2, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 }) CreateByteField(BUF2, 0x2, IOLO) CreateByteField(BUF2, 0x3, IOHI) CreateByteField(BUF2, 0x4, IORL) CreateByteField(BUF2, 0x5, IORH) CreateWordField(BUF2, 0x9, IRQW) ENFG() Store(0x3, 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, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x2, IOAD) CreateWordField(Arg0, 0x9, IRQW) ENFG() Store(0x3, LDN_) Store(One, ACTR) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IRQW, Local0) Subtract(Local0, 0x1, INTR) EXFG() CKIO(IOAD, 0x1) } } Device(IRDA) { Name(_HID, 0x1005d041) Method(_STA) { ENFG() Store(0x3, LDN_) And(CRF1, 0x30, Local0) If(LEqual(Local0, 0x10)) { If(ACTR) { EXFG() Return(0xf) } Else { If(LOr(IOAH, IOAL)) { EXFG() Return(0xd) } Else { EXFG() Return(0x0) } } } Else { EXFG() Return(0x0) } } Method(_DIS) { If(LEqual(DISE, 0x1)) { ENFG() Store(0x3, LDN_) And(CRF1, 0x38, Local0) If(LNot(LEqual(Local0, 0x0))) { Store(Zero, ACTR) } EXFG() DISD(0x1) } Store(Local0, Local0) } Method(_CRS) { Name(BUF4, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8, 0x22, 0x0, 0x0, 0x79, 0x0 }) CreateByteField(BUF4, 0x2, IOLO) CreateByteField(BUF4, 0x3, IOHI) CreateByteField(BUF4, 0x4, IORL) CreateByteField(BUF4, 0x5, IORH) CreateWordField(BUF4, 0x9, IRQW) ENFG() Store(0x3, LDN_) Store(IOAL, IOLO) Store(IOAL, IORL) Store(IOAH, IOHI) Store(IOAH, IORH) ShiftLeft(0x1, INTR, IRQW) EXFG() Return(BUF4) } Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x1e, 0x38, 0x79, 0x0 }) Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x2, IOAD) CreateWordField(Arg0, 0x9, IRQW) ENFG() Store(0x3, LDN_) Store(One, ACTR) Store(IOLO, IOAL) Store(IOHI, IOAH) FindSetRightBit(IRQW, Local0) Subtract(Local0, 0x1, INTR) EXFG() CKIO(IOAD, 0x1) } } OperationRegion(KBCT, SystemIO, 0x60, 0x5) Field(KBCT, ByteAcc, NoLock, Preserve) { P060, 8, Offset(0x4), P064, 8 } Device(PS2M) { Name(_HID, 0x130fd041) Method(_STA) { If(LEqual(PS2F, 0x0)) { Return(0xf) } Else { Return(0x0) } } Method(_CRS) { Name(BUF1, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 }) Name(BUF2, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x0, 0x10, 0x79, 0x0 }) If(LEqual(KBDI, 0x1)) { If(LEqual(OSFL, 0x2)) { Return(BUF1) } If(LEqual(OSFL, 0x1)) { Return(BUF1) } Else { Return(BUF2) } } Else { Return(BUF1) } } } Device(PS2K) { Name(_HID, 0x0303d041) Name(_CID, 0x0b03d041) Method(_STA) { If(LEqual(KBDI, 0x1)) { Return(0x0) } Else { Return(0xf) } } Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 }) } Device(PSMR) { Name(_HID, 0x020cd041) Name(_UID, 0x3) Method(_STA) { If(LEqual(KBDI, 0x0)) { Return(0x0) } If(LEqual(PS2F, 0x0)) { If(LEqual(OSFL, 0x2)) { Return(0xf) } If(LEqual(OSFL, 0x1)) { Return(0xf) } Return(0x0) } Return(0x0) } Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x79, 0x0 }) } Method(\_SB_.PCI0.UAR1._PRW) { Return(Package(0x2) { 0x8, 0x5, }) } } } } /* APIC: Length=90, Revision=1, Checksum=181, OEMID=P4M80P, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31, Creator ID=AWRD, Creator Revision=0x0 */