/*
RSD PTR: Checksum=156, OEMID=Award, RsdtAddress=0x07ff3000
*/
/*
RSDT: Length=44, Revision=1, Checksum=172,
OEMID=Award, OEM Table ID=AWRDACPI, OEM Revision=0x42302e31,
Creator ID=AWRD, Creator Revision=0x0
*/
/*
Entries={ 0x07ff3040, 0x07ff55c0 }
*/
/*
DSDT=0x7ff30c0
INT_MODEL=PIC
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xa1, ACPI_DISABLE=0xa0, S4BIOS_REQ=0x0
PM1a_EVT_BLK=0x4000-0x4003
PM1a_CNT_BLK=0x4040-0x4041
PM2_TMR_BLK=0x4008-0x400b
PM2_GPE0_BLK=0x400c-0x400f
P_LVL2_LAT=90ms, P_LVL3_LAT=900ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=1
DAY_ALRM=13, MON_ALRM=0, CENTURY=0
Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
*/
/*
DSDT: Length=9466, Revision=1, Checksum=18,
OEMID=AWARD, OEM Table ID=AWRDACPI, OEM Revision=0x1000,
Creator ID=MSFT, Creator Revision=0x100000c
*/
DefinitionBlock (
"acpi_dsdt.aml", //Output filename
"DSDT", //Signature
0x1, //DSDT Revision
"AWARD", //OEMID
"AWRDACPI", //TABLE ID
0x1000 //OEM Revision
)
{
Scope(\_PR_) {
Processor(\_PR_.CPU_, 0, 0x0, 0x0) {
}
Processor(\_PR_.CPU1, 1, 0x0, 0x0) {
}
}
OperationRegion(CM70, SystemIO, 0x70, 0x2)
Field(CM70, ByteAcc, NoLock, Preserve) {
CI70, 8,
CO71, 8
}
IndexField(CI70, CO71, ByteAcc, NoLock, Preserve) {
Offset(0x5d),
SUSF, 8
}
Name(STAT, 0x0)
Name(\_S0_, Package(0x4) {
0x5,
0x5,
0x5,
0x5,
})
Name(\_S1_, Package(0x4) {
0x4,
0x4,
0x4,
0x4,
})
Name(\_S5_, Package(0x4) {
Zero,
Zero,
Zero,
Zero,
})
OperationRegion(\DEBG, SystemIO, 0x80, 0x1)
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(\SMIC, SystemIO, 0xb2, 0x1)
Field(\SMIC, ByteAcc, NoLock, Preserve) {
SCP_, 8
}
OperationRegion(\TRAP, SystemIO, 0x402f, 0x1)
Field(\TRAP, ByteAcc, NoLock, Preserve) {
, 1,
TR13, 1
}
OperationRegion(\GBLE, SystemIO, 0x4021, 0x1)
Field(\GBLE, ByteAcc, NoLock, Preserve) {
ESMI, 8
}
Name(CMDB, Buffer(0x8) { })
CreateByteField(CMDB, 0x0, BYT0)
CreateByteField(CMDB, 0x1, BYT1)
CreateByteField(CMDB, 0x2, BYT2)
CreateByteField(CMDB, 0x3, BYT3)
CreateByteField(CMDB, 0x4, BYT4)
CreateByteField(CMDB, 0x5, BYT5)
CreateByteField(CMDB, 0x6, BYT6)
CreateByteField(CMDB, 0x7, BYT7)
Name(IDEB, Buffer(0x38) { })
CreateField(IDEB, 0x0, 0x38, CMD0)
CreateField(IDEB, 0x38, 0x38, CMD1)
CreateField(IDEB, 0x70, 0x38, CMD2)
CreateField(IDEB, 0xa8, 0x38, CMD3)
CreateField(IDEB, 0xe0, 0x38, CMD4)
CreateField(IDEB, 0x0118, 0x38, CMD5)
CreateField(IDEB, 0x0150, 0x38, CMD6)
CreateField(IDEB, 0x0188, 0x38, CMD7)
OperationRegion(APMP, SystemIO, 0xb2, 0x2)
Field(APMP, ByteAcc, NoLock, Preserve) {
APMC, 8,
APMD, 8
}
OperationRegion(ELCR, SystemIO, 0x04d0, 0x2)
Field(ELCR, ByteAcc, NoLock, Preserve) {
ELC1, 8,
ELC2, 8
}
OperationRegion(GPOB, SystemIO, 0x4034, 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,
GP0A, 1,
GP0B, 1,
GP0C, 1,
GP0D, 1,
GP0E, 1,
GP0F, 1,
GP10, 1,
GP11, 1,
GP12, 1,
GP13, 1,
GP14, 1,
GP15, 1,
GP16, 1,
GP17, 1,
GP18, 1,
GP19, 1,
GP1A, 1,
GP1B, 1,
GP1C, 1,
GP1D, 1,
GP1E, 1,
GP1F, 1
}
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(\GRAM, SystemMemory, 0x0400, 0x0100)
Field(\GRAM, ByteAcc, NoLock, Preserve) {
Offset(0x10),
FLG0, 8,
Offset(0xba),
SFLG, 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)
}
}
Method(\_PTS, 1) {
If(LEqual(Arg0, 0x5)) {
Store(ESMI, Local0)
And(Local0, 0xfb, Local0)
Store(Local0, ESMI)
Store(One, TR13)
}
If(LEqual(Arg0, 0x1)) {
Store(One, TR13)
}
If(LEqual(Arg0, 0x2)) {
Store(One, TR13)
}
Or(Arg0, 0xf0, Local0)
Store(Local0, DBG1)
Store(Zero, GP00)
If(LEqual(Arg0, 0x4)) {
}
If(LEqual(Arg0, 0x5)) {
Store(One, GP00)
}
}
Method(\_WAK, 1) {
Store(0xff, DBG1)
Store(One, GP00)
Store(0x50, SCP_)
Notify(\_SB_.PCI0.UAR1, 0x0)
If(LEqual(RTCW, 0x0)) {
Notify(\_SB_.PWRB, 0x2)
}
}
Scope(\_SI_) {
Method(_MSG, 1) {
Store(Local0, Local0)
}
Method(_SST, 1) {
If(LEqual(Arg0, 0x3)) {
}
If(LEqual(Arg0, 0x1)) {
}
If(LEqual(Arg0, 0x0)) {
}
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)
Name(TSAD, 0x98)
Method(SCFG, 1) {
WBYT(TSAD, 0x1, Arg0)
}
Method(STOS, 3) {
WWRD(TSAD, 0x3, Arg1, Arg0)
}
Method(STHY, 3) {
WWRD(TSAD, 0x2, Arg1, Arg0)
}
Method(RTMP) {
Store(RWRD(TSAD, 0x0), Local0)
And(Local0, 0xff, Local1)
ShiftLeft(Local1, 0x8, Local2)
ShiftRight(Local0, 0x8, Local3)
Or(Local2, Local3, Local0)
ShiftRight(Local0, 0x7, Local0)
ShiftLeft(Local0, 0x2, Local1)
Add(Local0, Local1, Local0)
Add(Local0, 0x0aac, Local0)
Return(Local0)
}
OperationRegion(SM00, SystemIO, 0x5000, 0x1)
Field(SM00, ByteAcc, NoLock, Preserve) {
HSTS, 8
}
OperationRegion(SM02, SystemIO, 0x5002, 0x1)
Field(SM02, ByteAcc, NoLock, Preserve) {
CTLR, 8
}
OperationRegion(SM03, SystemIO, 0x5003, 0x1)
Field(SM03, ByteAcc, NoLock, Preserve) {
CMDR, 8
}
OperationRegion(SM04, SystemIO, 0x5004, 0x1)
Field(SM04, ByteAcc, NoLock, Preserve) {
ADDR, 8
}
OperationRegion(SM05, SystemIO, 0x5005, 0x1)
Field(SM05, ByteAcc, NoLock, Preserve) {
DAT0, 8
}
OperationRegion(SM06, SystemIO, 0x5006, 0x1)
Field(SM06, ByteAcc, NoLock, Preserve) {
DAT1, 8
}
Method(SWFS) {
And(HSTS, 0x2, Local0)
While(LEqual(Local0, Zero)) {
Stall(0x1)
And(HSTS, 0x2, Local0)
}
Store(0xff, HSTS)
}
Method(SBYT, 2) {
Store(Arg0, ADDR)
Store(Arg1, CMDR)
Store(0xff, HSTS)
Store(0x44, CTLR)
SWFS()
}
Method(WBYT, 3) {
Store(Arg0, ADDR)
Store(Arg1, CMDR)
Store(Arg2, DAT0)
Store(0xff, HSTS)
Store(0x48, CTLR)
SWFS()
}
Method(WWRD, 4) {
Store(Arg0, ADDR)
Store(Arg1, CMDR)
Store(Arg2, DAT0)
Store(Arg3, DAT1)
Store(0xff, HSTS)
Store(0x4c, CTLR)
SWFS()
}
Method(RBYT, 2) {
Or(Arg0, 0x1, Local1)
Store(Local1, ADDR)
Store(Arg1, CMDR)
Store(0xff, HSTS)
Store(0x48, CTLR)
SWFS()
Return(DAT0)
}
Method(RWRD, 2) {
Or(Arg0, 0x1, ADDR)
Store(Arg1, CMDR)
Store(0xff, HSTS)
Store(0x4c, CTLR)
SWFS()
Store(DAT0, Local0)
ShiftLeft(DAT1, 0x8, Local1)
Or(Local0, Local1, Local2)
Return(Local2)
}
Scope(\_TZ_) {
PowerResource(PFAN, 0, 0) {
Method(_STA) {
XOr(GP00, Zero, Local7)
Return(Local7)
}
Method(_ON_) {
Store(One, GP00)
}
Method(_OFF) {
If(LEqual(CTOS, 0x0aac)) {
Store(One, GP00)
}
Else {
Store(Zero, GP00)
}
}
}
Device(FAN_) {
Name(_HID, 0x0b0cd041)
Method(_INI) {
Store(TP1H, CTOS)
Store(TP1L, CTHY)
}
Name(_PR0, Package(0x1) {
PFAN,
})
}
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(_L08) {
Notify(\_SB_.PCI0.USB0, 0x2)
}
Method(_L0A) {
Notify(\_SB_.PCI0.UAR1, 0x2)
}
}
Scope(\_SB_) {
Device(PWRB) {
Name(_HID, 0x0c0cd041)
Method(_STA) {
Return(0xb)
}
}
Device(MEM_) {
Name(_HID, 0x010cd041)
Method(_CRS) {
Name(BUF0, Buffer(0x7a) {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, 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)
Method(_STA) {
Return(0xf)
}
Method(_CRS) {
Name(BUF0, Buffer(0xb8) {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, 0x3f, 0x0, 0x0, 0x0, 0x33, 0x47, 0x1, 0x0, 0x40, 0x0, 0x40, 0x1, 0x42, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x42, 0x40, 0xff, 0x4f, 0x0, 0x0, 0xbe, 0xf, 0x47, 0x1, 0x0, 0x50, 0x0, 0x50, 0x1, 0x10, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x10, 0x50, 0xff, 0xff, 0x0, 0x0, 0xf0, 0xaf, 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, 0xa6, TCMM)
CreateDWordField(BUF0, 0xb2, TOMM)
Add(AMEM, 0x00010000, TCMM)
Subtract(0xfec00000, TCMM, TOMM)
Return(BUF0)
}
Name(PICM, Package(0x1c) {
Package(0x4) {
0x0008ffff,
0x0,
\_SB_.PCI0.LNKA,
0x0,
},
Package(0x4) {
0x0008ffff,
0x1,
\_SB_.PCI0.LNKB,
0x0,
},
Package(0x4) {
0x0008ffff,
0x2,
\_SB_.PCI0.LNKC,
0x0,
},
Package(0x4) {
0x0008ffff,
0x3,
\_SB_.PCI0.LNKD,
0x0,
},
Package(0x4) {
0x0009ffff,
0x0,
\_SB_.PCI0.LNKB,
0x0,
},
Package(0x4) {
0x0009ffff,
0x1,
\_SB_.PCI0.LNKC,
0x0,
},
Package(0x4) {
0x0009ffff,
0x2,
\_SB_.PCI0.LNKD,
0x0,
},
Package(0x4) {
0x0009ffff,
0x3,
\_SB_.PCI0.LNKA,
0x0,
},
Package(0x4) {
0x000affff,
0x0,
\_SB_.PCI0.LNKC,
0x0,
},
Package(0x4) {
0x000affff,
0x1,
\_SB_.PCI0.LNKD,
0x0,
},
Package(0x4) {
0x000affff,
0x2,
\_SB_.PCI0.LNKA,
0x0,
},
Package(0x4) {
0x000affff,
0x3,
\_SB_.PCI0.LNKB,
0x0,
},
Package(0x4) {
0x000bffff,
0x0,
\_SB_.PCI0.LNKD,
0x0,
},
Package(0x4) {
0x000bffff,
0x1,
\_SB_.PCI0.LNKA,
0x0,
},
Package(0x4) {
0x000bffff,
0x2,
\_SB_.PCI0.LNKB,
0x0,
},
Package(0x4) {
0x000bffff,
0x3,
\_SB_.PCI0.LNKC,
0x0,
},
Package(0x4) {
0x000cffff,
0x0,
\_SB_.PCI0.LNKD,
0x0,
},
Package(0x4) {
0x000cffff,
0x1,
\_SB_.PCI0.LNKA,
0x0,
},
Package(0x4) {
0x000cffff,
0x2,
\_SB_.PCI0.LNKB,
0x0,
},
Package(0x4) {
0x000cffff,
0x3,
\_SB_.PCI0.LNKC,
0x0,
},
Package(0x4) {
0x0007ffff,
0x0,
\_SB_.PCI0.LNKA,
0x0,
},
Package(0x4) {
0x0007ffff,
0x1,
\_SB_.PCI0.LNKB,
0x0,
},
Package(0x4) {
0x0007ffff,
0x2,
\_SB_.PCI0.LNKC,
0x0,
},
Package(0x4) {
0x0007ffff,
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,
},
})
Name(APIC, Package(0x1c) {
Package(0x4) {
0x0008ffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x0008ffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0x0008ffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0x0008ffff,
0x3,
0x0,
0x13,
},
Package(0x4) {
0x0009ffff,
0x0,
0x0,
0x11,
},
Package(0x4) {
0x0009ffff,
0x1,
0x0,
0x12,
},
Package(0x4) {
0x0009ffff,
0x2,
0x0,
0x13,
},
Package(0x4) {
0x0009ffff,
0x3,
0x0,
0x10,
},
Package(0x4) {
0x000affff,
0x0,
0x0,
0x12,
},
Package(0x4) {
0x000affff,
0x1,
0x0,
0x13,
},
Package(0x4) {
0x000affff,
0x2,
0x0,
0x10,
},
Package(0x4) {
0x000affff,
0x3,
0x0,
0x11,
},
Package(0x4) {
0x000bffff,
0x0,
0x0,
0x13,
},
Package(0x4) {
0x000bffff,
0x1,
0x0,
0x10,
},
Package(0x4) {
0x000bffff,
0x2,
0x0,
0x11,
},
Package(0x4) {
0x000bffff,
0x3,
0x0,
0x12,
},
Package(0x4) {
0x000cffff,
0x0,
0x0,
0x13,
},
Package(0x4) {
0x000cffff,
0x1,
0x0,
0x10,
},
Package(0x4) {
0x000cffff,
0x2,
0x0,
0x11,
},
Package(0x4) {
0x000cffff,
0x3,
0x0,
0x12,
},
Package(0x4) {
0x0007ffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x0007ffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0x0007ffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0x0007ffff,
0x3,
0x0,
0x13,
},
Package(0x4) {
0x0001ffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x0001ffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0x0001ffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0x0001ffff,
0x3,
0x0,
0x13,
},
})
Method(_PRT) {
If(LNot(PICF)) {
Return(PICM)
}
Else {
Return(APIC)
}
}
Device(PX40) {
Name(_ADR, 0x00070000)
OperationRegion(PIRQ, PCI_Config, 0x60, 0x4)
Scope(\) {
Field(\_SB_.PCI0.PX40.PIRQ, ByteAcc, NoLock, Preserve) {
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8
}
}
}
Device(USB0) {
Name(_ADR, 0x00070002)
Name(_PRW, Package(0x2) {
0x8,
0x4,
})
}
Device(PX43) {
Name(_ADR, 0x00070003)
}
Name(BUFA, Buffer(0x6) {0x23, 0xf8, 0xdc, 0x18, 0x79, 0x0 })
Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFB, 0x1, IRQV)
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x1)
Method(_STA) {
And(PIRA, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRA, 0x80, PIRA)
}
Method(_CRS) {
And(PIRA, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRA)
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x2)
Method(_STA) {
And(PIRB, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRB, 0x80, PIRB)
}
Method(_CRS) {
And(PIRB, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRB)
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x3)
Method(_STA) {
And(PIRC, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRC, 0x80, PIRC)
}
Method(_CRS) {
And(PIRC, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRC)
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x4)
Method(_STA) {
And(PIRD, 0x80, Local0)
If(LEqual(Local0, 0x80)) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Method(_PRS) {
Return(BUFA)
}
Method(_DIS) {
Or(PIRD, 0x80, PIRD)
}
Method(_CRS) {
And(PIRD, 0xf, Local0)
ShiftLeft(0x1, Local0, IRQV)
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRQ1)
FindSetRightBit(IRQ1, Local0)
Decrement(Local0)
Store(Local0, PIRD)
}
}
Method(\_SB_.PCI0._INI) {
If(STRC(\_OS_, "Microsoft Windows")) {
}
Else {
Store(0x0, OSFL)
}
}
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(SIO1, SystemIO, 0x03f0, 0x2)
Field(SIO1, ByteAcc, NoLock, Preserve) {
INDP, 8,
DATP, 8
}
IndexField(INDP, DATP, ByteAcc, NoLock, Preserve) {
Offset(0x2),
CR02, 8,
Offset(0x7),
CR07, 8,
Offset(0x20),
CR20, 8,
CR21, 8,
CR22, 8,
CR23, 8,
CR24, 8,
CR25, 8,
CR26, 8,
Offset(0x28),
CR28, 8,
Offset(0x2a),
CR2A, 8,
CR2B, 8,
CR2C, 8,
Offset(0x30),
CR30, 8,
Offset(0x60),
CR60, 8,
CR61, 8,
CR62, 8,
CR63, 8,
CR64, 8,
CR65, 8,
Offset(0x70),
CR70, 8,
Offset(0x72),
CR72, 8,
Offset(0x74),
CR74, 8,
Offset(0xe0),
CRE0, 8,
CRE1, 8,
CRE2, 8,
CRE3, 8,
CRE4, 8,
CRE5, 8,
CRE6, 8,
CRE7, 8,
CRE8, 8,
CRE9, 8,
CREA, 8,
CREB, 8,
CREC, 8,
CRED, 8,
Offset(0xf0),
CRF0, 8,
CRF1, 8,
CRF2, 8,
CRF3, 8,
CRF4, 8,
Offset(0xf6),
CRF6, 8,
CRF7, 8,
Offset(0xf9),
CRF9, 8
}
Method(ENF1) {
Store(0x87, INDP)
Store(0x87, INDP)
}
Method(EXF1) {
Store(0xaa, INDP)
}
}
Device(FDC0) {
Name(_HID, 0x0007d041)
Method(_STA) {
ENF1()
Store(Zero, CR07)
If(CR30) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
EXF1()
Return(0x0)
}
Method(_DIS) {
ENF1()
Store(0x0, CR07)
Store(Zero, CR30)
EXF1()
}
Method(_CRS) {
Name(BUF0, Buffer(0x18) {0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3, 0x1, 0x4, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
Store(Local0, Local0)
Return(BUF0)
}
Name(_PRS, Buffer(0x1a) {0x30, 0x47, 0x1, 0xf2, 0x3, 0xf2, 0x3, 0x1, 0x4, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IOLO)
CreateByteField(Arg0, 0x3, IOHI)
CreateWordField(Arg0, 0x19, IRQL)
CreateByteField(Arg0, 0x1c, DMAV)
ENF1()
Store(Zero, CR07)
Store(One, CR30)
EXF1()
}
}
Device(UAR1) {
Name(_HID, 0x0105d041)
Name(_UID, 0x1)
Method(_STA) {
ENF1()
Store(0x2, CR07)
If(CR30) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
EXF1()
Return(0x0)
}
Method(_DIS) {
ENF1()
Store(0x2, CR07)
Store(Zero, CR30)
EXF1()
}
Method(_CRS) {
Name(BUF1, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 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)
ENF1()
Store(0x2, CR07)
Store(CR61, IOLO)
Store(CR61, IORL)
Store(CR60, IOHI)
Store(CR60, IORH)
Store(One, Local0)
ShiftLeft(Local0, CR70, IRQW)
EXF1()
Return(BUF1)
}
Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IOLO)
CreateByteField(Arg0, 0x3, IOHI)
CreateWordField(Arg0, 0x9, IRQW)
ENF1()
Store(0x2, CR07)
Store(One, CR30)
Store(IOLO, CR61)
Store(IOHI, CR60)
FindSetRightBit(IRQW, Local0)
Subtract(Local0, 0x1, CR70)
EXF1()
}
}
Device(UAR2) {
Name(_HID, 0x0105d041)
Name(_UID, 0x2)
Method(_STA) {
ENF1()
If(LEqual(CKID(), 0x9771)) {
Store(0x3, CR07)
If(LEqual(CR30, 0x1)) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
If(LEqual(IRFL, 0x0)) {
Store(0x6, CR07)
If(LEqual(CR30, 0x1)) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
}
}
Else {
Store(0x3, CR07)
And(CRF1, 0x38, Local0)
If(LEqual(Local0, 0x0)) {
If(LEqual(CR30, 0x1)) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
}
And(CRF1, 0x38, Local0)
If(LNot(LLess(Local0, 0x20))) {
If(LEqual(CR30, 0x1)) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
}
}
EXF1()
Return(0x0)
}
Method(_DIS) {
ENF1()
Store(0x3, CR07)
If(LEqual(CKID(), 0x9771)) {
If(LOr(CR60, CR61)) {
Store(0x0, CR30)
}
Else {
Store(0x6, CR07)
}
}
Store(0x0, CR30)
EXF1()
}
Method(_CRS) {
Name(BUF2, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 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)
ENF1()
Store(0x3, CR07)
If(LEqual(CKID(), 0x9771)) {
If(LOr(CR60, CR61)) {
Store(0x3, CR07)
}
Else {
Store(0x6, CR07)
}
}
Store(CR61, IOLO)
Store(CR61, IORL)
Store(CR60, IOHI)
Store(CR60, IORH)
Store(One, Local0)
ShiftLeft(Local0, CR70, IRQW)
EXF1()
Return(BUF2)
}
Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IOLO)
CreateByteField(Arg0, 0x3, IOHI)
CreateWordField(Arg0, 0x9, IRQW)
ENF1()
Store(0x3, CR07)
If(LEqual(CKID(), 0x9771)) {
If(LOr(CR60, CR61)) {
Store(0x3, CR07)
}
Else {
Store(0x6, CR07)
}
}
Store(One, CR30)
Store(IOLO, CR61)
Store(IOHI, CR60)
FindSetRightBit(IRQW, Local0)
Subtract(Local0, 0x1, CR70)
EXF1()
}
}
Device(IRDA) {
Name(_HID, 0x1005d041)
Method(_STA) {
ENF1()
If(LEqual(CKID(), 0x9771)) {
If(LEqual(IRFL, 0x1)) {
Store(0x6, CR07)
If(LEqual(CR30, 0x1)) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
}
}
Else {
Store(0x3, CR07)
And(CRF1, 0x30, Local0)
If(LEqual(Local0, 0x10)) {
If(LEqual(CR30, 0x1)) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
}
}
EXF1()
Return(0x0)
}
Method(_DIS) {
If(LEqual(DISE, 0x1)) {
ENF1()
Store(0x3, CR07)
If(LEqual(CKID(), 0x9771)) {
Store(0x6, CR07)
}
Store(0x0, CR30)
EXF1()
}
Store(Local0, Local0)
}
Method(_CRS) {
Name(BUF4, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 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)
ENF1()
Store(0x3, CR07)
If(LEqual(CKID(), 0x9771)) {
Store(0x6, CR07)
}
Store(CR61, IOLO)
Store(CR61, IORL)
Store(CR60, IOHI)
Store(CR60, IORH)
Store(0x0, IRQW)
ShiftLeft(0x1, CR70, IRQW)
EXF1()
Return(BUF4)
}
Name(_PRS, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x18, 0xc, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x18, 0xc, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IOLO)
CreateByteField(Arg0, 0x3, IOHI)
CreateWordField(Arg0, 0x9, IRQW)
ENF1()
Store(0x3, CR07)
If(LEqual(CKID(), 0x9771)) {
Store(0x6, CR07)
}
Store(One, CR30)
Store(IOLO, CR61)
Store(IOHI, CR60)
FindSetRightBit(IRQW, Local0)
Subtract(Local0, 0x1, CR70)
EXF1()
}
}
Method(CKID) {
Store(CR20, Local0)
Store(CR21, Local1)
ShiftLeft(Local0, 0x8, Local0)
Or(Local0, Local1, Local0)
Return(Local0)
}
Device(LPT1) {
Name(_HID, 0x0004d041)
Name(_UID, 0x1)
Method(_STA) {
ENF1()
Store(0x1, CR07)
And(CRF0, 0x2, Local0)
If(LNot(LEqual(Local0, 0x2))) {
If(CR30) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
}
EXF1()
Return(0x0)
}
Method(_DIS) {
ENF1()
Store(0x1, CR07)
Store(Zero, CR30)
EXF1()
}
Method(_CRS) {
Name(BUF5, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x22, 0x0, 0x0, 0x79, 0x0 })
CreateByteField(BUF5, 0x2, IOLO)
CreateByteField(BUF5, 0x3, IOHI)
CreateByteField(BUF5, 0x4, IORL)
CreateByteField(BUF5, 0x5, IORH)
CreateByteField(BUF5, 0x7, IOLE)
CreateWordField(BUF5, 0x9, IRQW)
ENF1()
Store(0x1, CR07)
Store(CR61, IOLO)
Store(IOLO, IORL)
Store(CR60, IOHI)
Store(IOHI, IORH)
If(LEqual(IOLO, 0xbc)) {
Store(0x4, IOLE)
}
Else {
Store(0x8, IOLE)
}
Store(One, Local0)
Store(CR70, Local5)
ShiftLeft(Local0, Local5, IRQW)
EXF1()
Return(BUF5)
}
Name(_PRS, Buffer(0x27) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x22, 0xb8, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x8, 0x4, 0x22, 0xb8, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IOLO)
CreateByteField(Arg0, 0x3, IOHI)
CreateByteField(Arg0, 0x4, IORL)
CreateByteField(Arg0, 0x5, IORH)
CreateWordField(Arg0, 0x9, IRQW)
ENF1()
Store(0x1, CR07)
Store(One, CR30)
Store(IOLO, CR61)
Store(IOHI, CR60)
FindSetLeftBit(IRQW, Local0)
Subtract(Local0, 0x1, Local0)
Store(Local0, CR70)
EXF1()
}
}
Device(ECP1) {
Name(_HID, 0x0104d041)
Name(_UID, 0x1)
Method(_STA) {
ENF1()
Store(0x1, CR07)
And(CRF0, 0x2, Local0)
If(LEqual(Local0, 0x2)) {
If(CR30) {
EXF1()
Return(0xf)
}
Else {
If(LOr(CR60, CR61)) {
EXF1()
Return(0xd)
}
}
}
EXF1()
Return(0x0)
}
Method(_DIS) {
ENF1()
Store(0x1, CR07)
Store(Zero, CR30)
EXF1()
}
Method(_CRS) {
Name(BUF6, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x8, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x4, 0x4, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x79, 0x0 })
CreateByteField(BUF6, 0x2, IOLO)
CreateByteField(BUF6, 0x3, IOHI)
CreateByteField(BUF6, 0x4, IORL)
CreateByteField(BUF6, 0x5, IORH)
CreateByteField(BUF6, 0x6, ALGN)
CreateByteField(BUF6, 0x7, LENG)
CreateByteField(BUF6, 0xa, IOEL)
CreateByteField(BUF6, 0xb, IOEH)
CreateByteField(BUF6, 0xc, IOML)
CreateByteField(BUF6, 0xd, IOMH)
CreateWordField(BUF6, 0x11, IRQW)
CreateByteField(BUF6, 0x14, DMAC)
ENF1()
Store(0x1, CR07)
Store(CR61, Local2)
Store(Local2, IOLO)
Store(CR60, Local3)
Store(Local3, IOHI)
Or(Local3, 0x4, Local3)
Store(Local3, IOEH)
Store(Local3, IOMH)
Store(IOLO, IORL)
Store(IOLO, IOEL)
Store(IOLO, IOML)
Store(IOHI, IORH)
Store(One, Local0)
Store(CR70, Local5)
ShiftLeft(Local0, Local5, IRQW)
Store(One, Local0)
Store(CR74, Local5)
ShiftLeft(Local0, Local5, DMAC)
Store(IOHI, Local0)
ShiftLeft(Local0, 0x8, Local0)
Or(Local0, IOLO, Local0)
If(LEqual(Local0, 0x03bc)) {
Store(0x4, ALGN)
Store(0x4, LENG)
}
EXF1()
Return(BUF6)
}
Name(_PRS, Buffer(0x48) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x4, 0x4, 0x22, 0xb0, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x4, 0x4, 0x22, 0xb8, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x4, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x22, 0xb0, 0x0, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, IOLO)
CreateByteField(Arg0, 0x3, IOHI)
CreateWordField(Arg0, 0x11, IRQW)
CreateByteField(Arg0, 0x14, DMAC)
ENF1()
Store(0x1, CR07)
Store(One, CR30)
Store(IOLO, CR61)
Store(IOHI, CR60)
FindSetLeftBit(IRQW, Local0)
Subtract(Local0, 0x1, Local0)
Store(Local0, CR70)
FindSetLeftBit(DMAC, Local1)
Subtract(Local1, 0x1, CR74)
EXF1()
}
}
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)) {
Return(BUF2)
}
Else {
Return(BUF1)
}
}
}
Device(PS2K) {
Name(_HID, 0x0303d041)
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 })
}
Method(\_SB_.PCI0.UAR1._PRW) {
If(OSFL) {
Return(Package(0x2) {
0xa,
0x4,
})
}
Else {
If(STAT) {
Return(Package(0x2) {
0xa,
0x3,
})
}
Else {
Return(Package(0x2) {
0xa,
0x1,
})
}
}
}
Method(\_SB_.PCI0.UAR2._PRW) {
If(OSFL) {
Return(Package(0x2) {
0xa,
0x4,
})
}
Else {
If(STAT) {
Return(Package(0x2) {
0xa,
0x3,
})
}
Else {
Return(Package(0x2) {
0xa,
0x1,
})
}
}
}
}
}
}
/*
APIC: Length=92, Revision=1, Checksum=102,
OEMID=Award, OEM Table ID=, OEM Revision=0x0,
Creator ID=, Creator Revision=0x0
*/