mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8235 lines
288 KiB
8235 lines
288 KiB
// CreatorID=MSFT CreatorRev=1.0.5
|
|
// FileLength=34576 FileChkSum=0xb8
|
|
|
|
DefinitionBlock("DSDT.AML", "DSDT", 0x01, "IBM ", "TP770 ", 0x00000001)
|
|
{
|
|
Scope(\_PR_)
|
|
{
|
|
Processor(CPU0, 0x1, 0xef10, 0x6)
|
|
{
|
|
}
|
|
}
|
|
Name(SPS_, 0x0)
|
|
OperationRegion(GLEN, SystemIO, 0xef20, 0x2)
|
|
Field(GLEN, WordAcc, NoLock, Preserve)
|
|
{
|
|
, 15,
|
|
BLEN, 1
|
|
}
|
|
OperationRegion(GLCR, SystemIO, 0xef28, 0x4)
|
|
Field(GLCR, DWordAcc, NoLock, Preserve)
|
|
{
|
|
PSMI, 1,
|
|
PBRL, 1,
|
|
PTPL, 1,
|
|
, 5,
|
|
PGSB, 1,
|
|
PGSI, 7,
|
|
PEOS, 1,
|
|
, 7,
|
|
PSMF, 1,
|
|
PLPL, 1,
|
|
, 6
|
|
}
|
|
OperationRegion(GPIR, SystemIO, 0xef30, 0x4)
|
|
Field(GPIR, DWordAcc, NoLock, Preserve)
|
|
{
|
|
, 1,
|
|
H8SC, 1,
|
|
, 1,
|
|
RAM0, 1,
|
|
RAM1, 1,
|
|
, 1,
|
|
IRQ8, 1,
|
|
SIRQ, 1,
|
|
THRM, 1,
|
|
BATL, 1,
|
|
LID_, 1,
|
|
, 1,
|
|
RI__, 1,
|
|
MID0, 1,
|
|
MID1, 1,
|
|
MID2, 1,
|
|
MID3, 1,
|
|
SYSA, 1,
|
|
, 4
|
|
}
|
|
OperationRegion(GPOR, SystemIO, 0xef34, 0x4)
|
|
Field(GPOR, DWordAcc, NoLock, Preserve)
|
|
{
|
|
IPDR, 1,
|
|
, 7,
|
|
EXTA, 1,
|
|
, 1,
|
|
ULTO, 1,
|
|
HDDO, 1,
|
|
EID_, 3,
|
|
SUSS, 1,
|
|
SUSC, 1,
|
|
CPUS, 1,
|
|
PCIS, 1,
|
|
ZZ__, 1,
|
|
SSS1, 1,
|
|
, 6,
|
|
PCIE, 1,
|
|
, 1,
|
|
SMB0, 1,
|
|
SMB1, 1,
|
|
, 1
|
|
}
|
|
Method(UBON, 0x0, NotSerialized)
|
|
{
|
|
If(ULTO)
|
|
{
|
|
Store(Zero, ULTO)
|
|
}
|
|
}
|
|
Method(UBOF, 0x0, NotSerialized)
|
|
{
|
|
If(ULTO)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(One, ULTO)
|
|
}
|
|
}
|
|
OperationRegion(SCIO, SystemIO, 0x15ee, 0x2)
|
|
Field(SCIO, ByteAcc, NoLock, Preserve)
|
|
{
|
|
SINX, 8,
|
|
SDAT, 8
|
|
}
|
|
IndexField(SINX, SDAT, ByteAcc, NoLock, Preserve)
|
|
{
|
|
, 4,
|
|
VDPW, 1,
|
|
CBPW, 1,
|
|
, 2,
|
|
, 16,
|
|
, 3,
|
|
SGCR, 1,
|
|
SGCL, 1,
|
|
, 3,
|
|
, 3,
|
|
SGDR, 1,
|
|
SGDL, 1,
|
|
, 3,
|
|
Offset(0x1a),
|
|
IRQE, 1,
|
|
IRQS, 3,
|
|
, 4,
|
|
, 1,
|
|
UBSL, 1,
|
|
DASD, 1,
|
|
, 21,
|
|
SMSC, 4,
|
|
, 4,
|
|
, 8,
|
|
I3ME, 1,
|
|
I3MS, 1,
|
|
I4ME, 1,
|
|
I4MS, 1,
|
|
M3ME, 1,
|
|
M3MS, 1,
|
|
M4ME, 1,
|
|
M4MS, 1,
|
|
MIQS, 8
|
|
}
|
|
OperationRegion(I2CB, SystemIO, 0x15ec, 0x2)
|
|
Field(I2CB, ByteAcc, NoLock, Preserve)
|
|
{
|
|
IND0, 8,
|
|
DAT0, 8
|
|
}
|
|
IndexField(IND0, DAT0, ByteAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x7f),
|
|
ACI_, 8
|
|
}
|
|
PowerResource(PVID, 0x0, 0x0)
|
|
{
|
|
Name(STAT, One)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Return(STAT)
|
|
}
|
|
Method(_ON_, 0x0, NotSerialized)
|
|
{
|
|
Store(One, STAT)
|
|
If(LNot(VDPW))
|
|
{
|
|
Sleep(0xa)
|
|
Store(One, VDPW)
|
|
Sleep(0xc8)
|
|
Store(0x5381, S_AX)
|
|
Store(0xa002, S_BX)
|
|
Store(0x100, S_CX)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
Method(_OFF, 0x0, NotSerialized)
|
|
{
|
|
Store(Zero, STAT)
|
|
If(LEqual(SPS_, 0x3))
|
|
{
|
|
If(VDPW)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0xa002, S_BX)
|
|
Store(0x200, S_CX)
|
|
SMPI(0x81)
|
|
Sleep(0xa)
|
|
Store(Zero, VDPW)
|
|
Sleep(0xc8)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
PowerResource(PRSD, 0x0, 0x0)
|
|
{
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Return(XOr(SGCR, One, ))
|
|
}
|
|
Method(_ON_, 0x0, NotSerialized)
|
|
{
|
|
Store(0x0, SGCR)
|
|
Store(0x1, SGDR)
|
|
Store(0x0, SGCR)
|
|
}
|
|
Method(_OFF, 0x0, NotSerialized)
|
|
{
|
|
Store(0x0, SGCR)
|
|
Store(0x1, SGDR)
|
|
Store(0x1, SGCR)
|
|
}
|
|
}
|
|
Method(HBEN, 0x0, NotSerialized)
|
|
{
|
|
If(VCDB)
|
|
{
|
|
Store(0x0, SGCL)
|
|
Store(0x0, SGDL)
|
|
Store(0x1, SGCL)
|
|
}
|
|
}
|
|
Method(HBDS, 0x0, NotSerialized)
|
|
{
|
|
If(VCDB)
|
|
{
|
|
Store(0x0, SGCL)
|
|
Store(0x0, SGDL)
|
|
Store(0x0, SGCL)
|
|
}
|
|
}
|
|
Scope(\_SB_)
|
|
{
|
|
Device(LNKA)
|
|
{
|
|
Name(_HID, 0xf0cd041)
|
|
Name(_UID, 0x1)
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
If(W98F)
|
|
{
|
|
And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, ))
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(And(\_SB_.PCI0.ISA0.PIRA, 0x80, ))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xb)
|
|
}
|
|
}
|
|
Name(_PRS, Buffer(0x6)
|
|
{
|
|
0x23, 0xf8, 0xde, 0x18, 0x79, 0x00
|
|
})
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Or(\_SB_.PCI0.ISA0.PIRA, 0x80, \_SB_.PCI0.ISA0.PIRA)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFA, Buffer(0x6)
|
|
{
|
|
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
|
|
})
|
|
CreateWordField(BUFA, 0x1, IRA1)
|
|
And(\_SB_.PCI0.ISA0.PIRA, 0x8f, Local0)
|
|
If(LLess(Local0, 0x80))
|
|
{
|
|
Store(ShiftLeft(One, Local0, ), IRA1)
|
|
}
|
|
Return(BUFA)
|
|
}
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x1, IRA2)
|
|
FindSetRightBit(IRA2, Local0)
|
|
And(\_SB_.PCI0.ISA0.PIRA, 0x70, Local1)
|
|
Or(Local1, Decrement(Local0), Local1)
|
|
Store(Local1, \_SB_.PCI0.ISA0.PIRA)
|
|
}
|
|
}
|
|
Device(LNKB)
|
|
{
|
|
Name(_HID, 0xf0cd041)
|
|
Name(_UID, 0x2)
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
If(W98F)
|
|
{
|
|
And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, ))
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(And(\_SB_.PCI0.ISA0.PIRB, 0x80, ))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xb)
|
|
}
|
|
}
|
|
Name(_PRS, Buffer(0x6)
|
|
{
|
|
0x23, 0xf8, 0xde, 0x18, 0x79, 0x00
|
|
})
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Or(\_SB_.PCI0.ISA0.PIRB, 0x80, \_SB_.PCI0.ISA0.PIRB)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFB, Buffer(0x6)
|
|
{
|
|
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
|
|
})
|
|
CreateWordField(BUFB, 0x1, IRB1)
|
|
And(\_SB_.PCI0.ISA0.PIRB, 0x8f, Local0)
|
|
If(LLess(Local0, 0x80))
|
|
{
|
|
Store(ShiftLeft(One, Local0, ), IRB1)
|
|
}
|
|
Return(BUFB)
|
|
}
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x1, IRB2)
|
|
FindSetRightBit(IRB2, Local0)
|
|
And(\_SB_.PCI0.ISA0.PIRB, 0x70, Local1)
|
|
Or(Local1, Decrement(Local0), Local1)
|
|
Store(Local1, \_SB_.PCI0.ISA0.PIRB)
|
|
}
|
|
}
|
|
Device(LNKC)
|
|
{
|
|
Name(_HID, 0xf0cd041)
|
|
Name(_UID, 0x3)
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
If(W98F)
|
|
{
|
|
And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, ))
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(And(\_SB_.PCI0.ISA0.PIRC, 0x80, ))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xb)
|
|
}
|
|
}
|
|
Name(_PRS, Buffer(0x6)
|
|
{
|
|
0x23, 0xf8, 0xde, 0x18, 0x79, 0x00
|
|
})
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Or(\_SB_.PCI0.ISA0.PIRC, 0x80, \_SB_.PCI0.ISA0.PIRC)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFC, Buffer(0x6)
|
|
{
|
|
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
|
|
})
|
|
CreateWordField(BUFC, 0x1, IRC1)
|
|
And(\_SB_.PCI0.ISA0.PIRC, 0x8f, Local0)
|
|
If(LLess(Local0, 0x80))
|
|
{
|
|
Store(ShiftLeft(One, Local0, ), IRC1)
|
|
}
|
|
Return(BUFC)
|
|
}
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x1, IRC2)
|
|
FindSetRightBit(IRC2, Local0)
|
|
And(\_SB_.PCI0.ISA0.PIRC, 0x70, Local1)
|
|
Or(Local1, Decrement(Local0), Local1)
|
|
Store(Local1, \_SB_.PCI0.ISA0.PIRC)
|
|
}
|
|
}
|
|
Device(LNKD)
|
|
{
|
|
Name(_HID, 0xf0cd041)
|
|
Name(_UID, 0x4)
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
If(W98F)
|
|
{
|
|
And(DerefOf(Index(_PRS, 0x2, )), 0x7f, Index(_PRS, 0x2, ))
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(And(\_SB_.PCI0.ISA0.PIRD, 0x80, ))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xb)
|
|
}
|
|
}
|
|
Name(_PRS, Buffer(0x6)
|
|
{
|
|
0x23, 0xf8, 0xde, 0x18, 0x79, 0x00
|
|
})
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Or(\_SB_.PCI0.ISA0.PIRD, 0x80, \_SB_.PCI0.ISA0.PIRD)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFD, Buffer(0x6)
|
|
{
|
|
0x23, 0x00, 0x00, 0x18, 0x79, 0x00
|
|
})
|
|
CreateWordField(BUFD, 0x1, IRD1)
|
|
And(\_SB_.PCI0.ISA0.PIRD, 0x8f, Local0)
|
|
If(LLess(Local0, 0x80))
|
|
{
|
|
Store(ShiftLeft(One, Local0, ), IRD1)
|
|
}
|
|
Return(BUFD)
|
|
}
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x1, IRD2)
|
|
FindSetRightBit(IRD2, Local0)
|
|
And(\_SB_.PCI0.ISA0.PIRD, 0x70, Local1)
|
|
Or(Local1, Decrement(Local0), Local1)
|
|
Store(Local1, \_SB_.PCI0.ISA0.PIRD)
|
|
}
|
|
}
|
|
Device(LID0)
|
|
{
|
|
Name(_HID, 0xd0cd041)
|
|
Method(_LID, 0x0, NotSerialized)
|
|
{
|
|
Return(PLPL)
|
|
}
|
|
Method(_PRW, 0x0, NotSerialized)
|
|
{
|
|
If(W98F)
|
|
{
|
|
Return(Package(0x2)
|
|
{
|
|
0xb,
|
|
0x4
|
|
})
|
|
}
|
|
Else
|
|
{
|
|
Return(Package(0x2)
|
|
{
|
|
0xb,
|
|
0x3
|
|
})
|
|
}
|
|
}
|
|
Method(_PSW, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWLO)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWLO)
|
|
}
|
|
}
|
|
}
|
|
Device(SLPB)
|
|
{
|
|
Name(_HID, 0xe0cd041)
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0x9,
|
|
0x3
|
|
})
|
|
Method(_PSW, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWFN)
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWEK)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWFN)
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWEK)
|
|
}
|
|
}
|
|
}
|
|
Name(ICMD, Buffer(0xe)
|
|
{
|
|
0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0xf5
|
|
})
|
|
CreateByteField(ICMD, 0x5, IDC0)
|
|
CreateByteField(ICMD, 0xc, IDC1)
|
|
Name(ICMC, Buffer(0x7)
|
|
{
|
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe1
|
|
})
|
|
CreateByteField(ICMC, 0x5, ICC0)
|
|
Name(BGTM, Buffer(0x14)
|
|
{
|
|
})
|
|
CreateDWordField(BGTM, 0x0, GTP0)
|
|
CreateDWordField(BGTM, 0x4, GTD0)
|
|
CreateDWordField(BGTM, 0x8, GTP1)
|
|
CreateDWordField(BGTM, 0xc, GTD1)
|
|
CreateDWordField(BGTM, 0x10, GTMF)
|
|
Device(PCI0)
|
|
{
|
|
Name(_HID, 0x30ad041)
|
|
Name(_ADR, 0x0)
|
|
OperationRegion(X000, PCI_Config, 0x0, 0x100)
|
|
Field(X000, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x4f),
|
|
, 7,
|
|
XPLD, 1
|
|
}
|
|
Field(X000, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x7a),
|
|
CREN, 1,
|
|
, 7
|
|
}
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0xb,
|
|
0x3
|
|
})
|
|
Method(_PSW, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWPM)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWPM)
|
|
}
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(TLCB, Buffer(0x88)
|
|
{
|
|
0x88, 0x0d, 0x00, 0x02, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00,
|
|
0x00, 0x00, 0x00, 0x01, 0x47, 0x01, 0xf8, 0x0c, 0xf8, 0x0c, 0x01, 0x08,
|
|
0x88, 0x0d, 0x00, 0x01, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x0c,
|
|
0x00, 0x00, 0xf8, 0x0c, 0x88, 0x0d, 0x00, 0x01, 0x0c, 0x03, 0x00, 0x00,
|
|
0x00, 0x0d, 0xff, 0xff, 0x00, 0x00, 0x00, 0xf3, 0x87, 0x17, 0x00, 0x00,
|
|
0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0xff, 0xff,
|
|
0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x87, 0x17,
|
|
0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0c, 0x00,
|
|
0xff, 0xff, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x00,
|
|
0x87, 0x17, 0x00, 0x00, 0x0c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x10, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0xf0, 0xff, 0x79, 0x00
|
|
})
|
|
CreateDWordField(TLCB, 0x5c, MW1N)
|
|
CreateDWordField(TLCB, 0x60, MW1X)
|
|
CreateDWordField(TLCB, 0x68, MW1L)
|
|
CreateDWordField(TLCB, 0x76, MW2N)
|
|
CreateDWordField(TLCB, 0x7a, MW2X)
|
|
CreateDWordField(TLCB, 0x82, MW2L)
|
|
Store(FRAS, MW1N)
|
|
Store(Add(Subtract(MW1X, MW1N, ), 0x1, ), MW1L)
|
|
Store(TOMP, MW2N)
|
|
Store(Add(Subtract(MW2X, MW2N, ), 0x1, ), MW2L)
|
|
Return(TLCB)
|
|
}
|
|
Name(_PRT, Package(0x5)
|
|
{
|
|
Package(0x4)
|
|
{
|
|
0x1ffff,
|
|
0x3,
|
|
\_SB_.LNKD,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x2ffff,
|
|
0x0,
|
|
\_SB_.LNKA,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x2ffff,
|
|
0x1,
|
|
\_SB_.LNKB,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x3ffff,
|
|
0x0,
|
|
\_SB_.LNKA,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x5ffff,
|
|
0x0,
|
|
\_SB_.LNKB,
|
|
0x0
|
|
}
|
|
})
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
If(LEqual(SCMP(\_OS_, "Microsoft Windows"), Zero))
|
|
{
|
|
Store(One, W98F)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, W98F)
|
|
}
|
|
If(PXDN)
|
|
{
|
|
And(PXDN, 0xffff0000, Local0)
|
|
Add(Local0, 0xffff, Index(DerefOf(Index(_PRT, 0x0, )), 0x0, ))
|
|
Add(Local0, 0x0, \_SB_.PCI0.ISA0._ADR)
|
|
Add(Local0, 0x1, \_SB_.PCI0.IDE0._ADR)
|
|
Add(Local0, 0x2, \_SB_.PCI0.USB0._ADR)
|
|
Add(Local0, 0x3, \_SB_.PCI0.PM00._ADR)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
Device(VID0)
|
|
{
|
|
Name(_ADR, 0x30000)
|
|
Name(_PR0, Package(0x1)
|
|
{
|
|
PVID
|
|
})
|
|
Name(_PR1, Package(0x1)
|
|
{
|
|
PVID
|
|
})
|
|
Name(_PR2, Package(0x1)
|
|
{
|
|
PVID
|
|
})
|
|
Method(VSWT, 0x0, NotSerialized)
|
|
{
|
|
If(\PVID._STA())
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x1000, S_BX)
|
|
Store(0x0, S_CX)
|
|
SMPI(0x81)
|
|
And(S_CL, 0x1, Local0)
|
|
And(ESI1, 0x1, Local1)
|
|
And(S_CH, 0x7, Local2)
|
|
And(Local0, Local1, Local3)
|
|
If(Local3)
|
|
{
|
|
If(LEqual(0x4, Local2))
|
|
{
|
|
Store(0x100, Local4)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x400, Local4)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(0x2, Local2))
|
|
{
|
|
Store(0x300, Local4)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(0x3, Local2))
|
|
{
|
|
Store(0x100, Local4)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x200, Local4)
|
|
}
|
|
}
|
|
}
|
|
Store(0x5381, S_AX)
|
|
Store(0x1001, S_BX)
|
|
Store(Local4, S_CX)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
Method(VEXP, 0x0, NotSerialized)
|
|
{
|
|
If(\PVID._STA())
|
|
{
|
|
If(VCDE)
|
|
{
|
|
Store(0x79, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Store(0x5381, S_AX)
|
|
Store(0x1003, S_BX)
|
|
Store(Local1, S_CH)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
Method(VECC, 0x0, NotSerialized)
|
|
{
|
|
If(\PVID._STA())
|
|
{
|
|
If(VCDH)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x2, S_BX)
|
|
Store(0x200, S_CX)
|
|
SMPI(0x81)
|
|
And(S_CH, 0x30, Local0)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1000, S_BX)
|
|
Store(0x0, S_CX)
|
|
SMPI(0x81)
|
|
And(S_CH, 0x7, Local1)
|
|
If(Local0)
|
|
{
|
|
If(LEqual(Local1, 0x1))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0xa001, S_BX)
|
|
Store(0x200, S_CX)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local1, 0x2))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0xa001, S_BX)
|
|
Store(0x100, S_CX)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(CBS0)
|
|
{
|
|
Name(_ADR, 0x20000)
|
|
OperationRegion(X200, PCI_Config, 0x0, 0x100)
|
|
Field(X200, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x40),
|
|
SVID, 16,
|
|
SSID, 16,
|
|
LGDC, 32,
|
|
Offset(0x80),
|
|
SYSC, 32,
|
|
Offset(0x91),
|
|
CCTL, 8
|
|
}
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
Store(Zero, LGDC)
|
|
And(CCTL, 0x7f, CCTL)
|
|
Or(SYSC, 0x1, SYSC)
|
|
}
|
|
Method(DWAK, 0x1, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
ISID()
|
|
}
|
|
}
|
|
Method(ISID, 0x0, NotSerialized)
|
|
{
|
|
And(SYSC, 0xffffffdf, SYSC)
|
|
Store(0x1014, SVID)
|
|
Store(0x92, SSID)
|
|
Or(SYSC, 0x20, SYSC)
|
|
}
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0xb,
|
|
0x3
|
|
})
|
|
}
|
|
Device(CBS1)
|
|
{
|
|
Name(_ADR, 0x20001)
|
|
OperationRegion(X201, PCI_Config, 0x0, 0x100)
|
|
Field(X201, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x40),
|
|
SVID, 16,
|
|
SSID, 16,
|
|
LGDC, 32,
|
|
Offset(0x80),
|
|
SYSC, 32,
|
|
Offset(0x91),
|
|
CCTL, 8
|
|
}
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
Store(Zero, LGDC)
|
|
And(CCTL, 0x7f, CCTL)
|
|
Or(SYSC, 0x1, SYSC)
|
|
}
|
|
Method(DWAK, 0x1, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
ISID()
|
|
}
|
|
}
|
|
Method(ISID, 0x0, NotSerialized)
|
|
{
|
|
And(SYSC, 0xffffffdf, SYSC)
|
|
Store(0x1014, SVID)
|
|
Store(0x92, SSID)
|
|
Or(SYSC, 0x20, SYSC)
|
|
}
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0xb,
|
|
0x3
|
|
})
|
|
}
|
|
Device(ISA0)
|
|
{
|
|
Name(_ADR, 0x10000)
|
|
OperationRegion(PIRQ, PCI_Config, 0x60, 0x60)
|
|
Field(PIRQ, AnyAcc, NoLock, Preserve)
|
|
{
|
|
PIRA, 8,
|
|
PIRB, 8,
|
|
PIRC, 8,
|
|
PIRD, 8,
|
|
Offset(0x16),
|
|
CH00, 3,
|
|
, 4,
|
|
FE00, 1,
|
|
CH01, 3,
|
|
, 4,
|
|
FE01, 1,
|
|
Offset(0x22),
|
|
P21E, 3,
|
|
, 5,
|
|
Offset(0x50),
|
|
GCR0, 1,
|
|
GCR1, 1,
|
|
, 1,
|
|
, 1,
|
|
GCR4, 1,
|
|
GCR5, 1,
|
|
GCR6, 1,
|
|
, 1,
|
|
, 1,
|
|
, 1,
|
|
, 1,
|
|
GCRB, 1,
|
|
GCRC, 1,
|
|
, 1,
|
|
, 1,
|
|
, 1,
|
|
, 16,
|
|
Offset(0x60)
|
|
}
|
|
OperationRegion(SIO_, SystemIO, 0x2e, 0x2)
|
|
Field(SIO_, ByteAcc, NoLock, Preserve)
|
|
{
|
|
INDX, 8,
|
|
DATA, 8
|
|
}
|
|
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve)
|
|
{
|
|
FER_, 8,
|
|
FAR_, 8,
|
|
PTR_, 8,
|
|
FCR_, 8,
|
|
PCR_, 8,
|
|
, 8,
|
|
PMC_, 8,
|
|
TUP_, 8,
|
|
SID_, 8,
|
|
ASC_, 8,
|
|
S0LA, 8,
|
|
S0CF, 8,
|
|
S1LA, 8,
|
|
S1CF, 8,
|
|
, 16,
|
|
S0HA, 8,
|
|
S1HA, 8,
|
|
SCF0, 8,
|
|
Offset(0x18),
|
|
SCF1, 8,
|
|
, 16,
|
|
PNP0, 8,
|
|
PNP1, 8,
|
|
Offset(0x40),
|
|
SCF2, 8,
|
|
PNP2, 8,
|
|
PBAL, 8,
|
|
PBAH, 8,
|
|
U1AL, 8,
|
|
U1AH, 8,
|
|
U2AL, 8,
|
|
U2AH, 8,
|
|
FBAL, 8,
|
|
FBAH, 8,
|
|
SBAL, 8,
|
|
SBAH, 8,
|
|
IRQ1, 8,
|
|
IRQ2, 8,
|
|
IRQ3, 8,
|
|
PNP3, 8,
|
|
SCF3, 8,
|
|
CLK_, 8
|
|
}
|
|
Method(WS87, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, DATA)
|
|
While(LNot(LEqual(DATA, Arg0)))
|
|
{
|
|
Store(Arg0, DATA)
|
|
Store(Arg0, DATA)
|
|
}
|
|
}
|
|
PowerResource(PSIO, 0x0, 0x0)
|
|
{
|
|
Name(PSTS, 0x1)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Return(PSTS)
|
|
}
|
|
Method(_ON_, 0x0, NotSerialized)
|
|
{
|
|
And(PTR_, 0xfe, Local0)
|
|
Store(Local0, PTR_)
|
|
WS87(Local0)
|
|
Store(0x1, PSTS)
|
|
}
|
|
Method(_OFF, 0x0, NotSerialized)
|
|
{
|
|
Store(0x0, PSTS)
|
|
}
|
|
}
|
|
Device(FDC0)
|
|
{
|
|
Name(_HID, 0x7d041)
|
|
Name(_PR0, Package(0x1)
|
|
{
|
|
PSIO
|
|
})
|
|
Name(DRQD, 0x0)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Store(\_SB_.PCI0.PM00.XFE_, Local0)
|
|
If(Local0)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xd)
|
|
}
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
And(PNP2, 0x80, Local0)
|
|
Store(Local0, PNP2)
|
|
WS87(Local0)
|
|
Store(Zero, \_SB_.PCI0.PM00.XFE_)
|
|
Store(Zero, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(FCRS, Buffer(0x18)
|
|
{
|
|
0x47, 0x01, 0xf0, 0x03, 0xf0, 0x03, 0x01, 0x06, 0x47, 0x01, 0xf7, 0x03,
|
|
0xf7, 0x03, 0x01, 0x01, 0x22, 0x40, 0x00, 0x2a, 0x04, 0x00, 0x79, 0x00
|
|
})
|
|
Store(0x4, DRQD)
|
|
Return(FCRS)
|
|
}
|
|
Name(_PRS, Buffer(0x18)
|
|
{
|
|
0x47, 0x01, 0xf0, 0x03, 0xf0, 0x03, 0x01, 0x06, 0x47, 0x01, 0xf7, 0x03,
|
|
0xf7, 0x03, 0x01, 0x01, 0x22, 0x40, 0x00, 0x2a, 0x04, 0x00, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
And(FBAL, 0x1, Local0)
|
|
Or(Local0, 0xfc, Local0)
|
|
Store(Local0, FBAL)
|
|
WS87(Local0)
|
|
And(FBAH, 0x3, Local0)
|
|
Store(Local0, FBAH)
|
|
WS87(Local0)
|
|
And(PNP2, 0x80, Local0)
|
|
Or(Local0, 0x36, Local0)
|
|
Store(Local0, PNP2)
|
|
WS87(Local0)
|
|
If(And(FER_, 0x8, Local1))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Or(FER_, 0x8, Local1)
|
|
Store(Local1, FER_)
|
|
WS87(Local1)
|
|
}
|
|
Store(Zero, \_SB_.PCI0.PM00.XFA_)
|
|
Store(One, \_SB_.PCI0.PM00.XFE_)
|
|
Store(0x4, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
}
|
|
Name(_FDI, Package(0x13)
|
|
{
|
|
0x1,
|
|
0x4,
|
|
0x4f,
|
|
0x0,
|
|
0x12,
|
|
0x0,
|
|
0x1,
|
|
0x0,
|
|
0xd1,
|
|
0x2,
|
|
0x25,
|
|
0x2,
|
|
0x12,
|
|
0x1b,
|
|
0xff,
|
|
0x65,
|
|
0xf6,
|
|
0xf,
|
|
0x4
|
|
})
|
|
Device(FDD0)
|
|
{
|
|
Name(_ADR, 0x0)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Store(\_SB_.PCI0.ISA0.EC0_.GUID(), Local0)
|
|
If(LEqual(Local0, 0x0))
|
|
{
|
|
Return(0xb)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x1))
|
|
{
|
|
Return(0xb)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x5))
|
|
{
|
|
Return(0xb)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x9))
|
|
{
|
|
Return(0xb)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xd))
|
|
{
|
|
Return(0xb)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Method(_LCK, 0x1, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.LCKB(Arg0)
|
|
}
|
|
Method(_EJ0, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.BEJ_()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(UAR1)
|
|
{
|
|
Name(_HID, 0x105d041)
|
|
Name(_PR0, Package(0x2)
|
|
{
|
|
PSIO,
|
|
PRSD
|
|
})
|
|
Name(_PRW, Package(0x3)
|
|
{
|
|
0xa,
|
|
0x3,
|
|
PRSD
|
|
})
|
|
Method(_PSW, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(And(FER_, 0x2, ))
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x5)
|
|
}
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
And(FER_, 0xfd, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(Zero, \_SB_.PCI0.PM00.XU1E)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFF, Buffer(0xd)
|
|
{
|
|
0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0x10, 0x00, 0x79,
|
|
0x00
|
|
})
|
|
CreateWordField(BUFF, 0x2, U1MN)
|
|
CreateWordField(BUFF, 0x4, U1MX)
|
|
CreateWordField(BUFF, 0x9, U1IQ)
|
|
ShiftLeft(And(U1AL, 0xfe, ), 0x2, Local0)
|
|
Store(Local0, U1MN)
|
|
Store(Local0, U1MX)
|
|
If(And(PNP1, 0x1, ))
|
|
{
|
|
Store(0x8, U1IQ)
|
|
}
|
|
Return(BUFF)
|
|
}
|
|
Name(_PRS, Buffer(0x37)
|
|
{
|
|
0x31, 0x00, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0x10,
|
|
0x00, 0x31, 0x01, 0x47, 0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22,
|
|
0x08, 0x00, 0x31, 0x02, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08,
|
|
0x22, 0x10, 0x00, 0x31, 0x02, 0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01,
|
|
0x08, 0x22, 0x08, 0x00, 0x38, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, IOAR)
|
|
CreateWordField(Arg0, 0x9, IRQM)
|
|
If(LEqual(IOAR, 0x3f8))
|
|
{
|
|
Store(0xfe, Local0)
|
|
Store(0x0, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0x2f8))
|
|
{
|
|
Store(0xbe, Local0)
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0x3e8))
|
|
{
|
|
Store(0xfa, Local0)
|
|
Store(0x7, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0x2e8))
|
|
{
|
|
Store(0xba, Local0)
|
|
Store(0x5, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
And(U1AH, 0x3, Local2)
|
|
Store(Local2, U1AH)
|
|
WS87(Local2)
|
|
And(U1AL, 0x1, Local2)
|
|
Or(Local0, Local2, Local0)
|
|
Store(Local0, U1AL)
|
|
WS87(Local0)
|
|
Store(Local1, \_SB_.PCI0.PM00.XU1A)
|
|
And(PNP1, 0xf0, Local0)
|
|
If(LEqual(IRQM, 0x10))
|
|
{
|
|
Or(Local0, 0x4, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRQM, 0x8))
|
|
{
|
|
Or(Local0, 0x3, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
Store(Local0, PNP1)
|
|
WS87(Local0)
|
|
Or(FER_, 0x2, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(One, \_SB_.PCI0.PM00.XU1E)
|
|
}
|
|
}
|
|
Device(LPT_)
|
|
{
|
|
Name(_HID, 0x4d041)
|
|
Name(_PR0, Package(0x1)
|
|
{
|
|
PSIO
|
|
})
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(And(PCR_, 0x5, Local1))
|
|
{
|
|
Return(Zero)
|
|
}
|
|
Else
|
|
{
|
|
If(And(FER_, 0x1, ))
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x5)
|
|
}
|
|
}
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
And(FER_, 0xfe, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(Zero, \_SB_.PCI0.PM00.XPE_)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFF, Buffer(0xd)
|
|
{
|
|
0x47, 0x01, 0xbc, 0x03, 0xbc, 0x03, 0x01, 0x03, 0x22, 0x80, 0x00, 0x79,
|
|
0x00
|
|
})
|
|
CreateWordField(BUFF, 0x2, L1MN)
|
|
CreateWordField(BUFF, 0x4, L1MX)
|
|
CreateByteField(BUFF, 0x6, L1AL)
|
|
CreateByteField(BUFF, 0x7, L1LN)
|
|
CreateWordField(BUFF, 0x9, L1IQ)
|
|
If(And(PCR_, 0x5, ))
|
|
{
|
|
Store(0x0, L1MN)
|
|
Store(0x0, L1MX)
|
|
Store(0x0, L1AL)
|
|
Store(0x0, L1LN)
|
|
Store(0x0, L1IQ)
|
|
Return(BUFF)
|
|
}
|
|
And(PBAL, 0xff, Local0)
|
|
If(LEqual(Local0, 0xef))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xde))
|
|
{
|
|
Store(0x378, L1MN)
|
|
Store(0x378, L1MX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x9e))
|
|
{
|
|
Store(0x278, L1MN)
|
|
Store(0x278, L1MX)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
And(PNP0, 0xf0, Local1)
|
|
If(LEqual(Local1, 0x0))
|
|
{
|
|
Store(0x0, L1IQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local1, 0x50))
|
|
{
|
|
Store(0x20, L1IQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local1, 0x70))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
Return(BUFF)
|
|
}
|
|
Name(_PRS, Buffer(0x4b)
|
|
{
|
|
0x30, 0x47, 0x01, 0xbc, 0x03, 0xbc, 0x03, 0x01, 0x03, 0x22, 0x80, 0x00,
|
|
0x30, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x01, 0x08, 0x22, 0x80, 0x00,
|
|
0x30, 0x47, 0x01, 0x78, 0x02, 0x78, 0x02, 0x01, 0x08, 0x22, 0x20, 0x00,
|
|
0x30, 0x47, 0x01, 0xbc, 0x03, 0xbc, 0x03, 0x01, 0x03, 0x22, 0x00, 0x00,
|
|
0x30, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x01, 0x08, 0x22, 0x00, 0x00,
|
|
0x30, 0x47, 0x01, 0x78, 0x02, 0x78, 0x02, 0x01, 0x08, 0x22, 0x00, 0x00,
|
|
0x38, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, IOAR)
|
|
CreateWordField(Arg0, 0x9, IRQM)
|
|
If(LEqual(IOAR, 0x3bc))
|
|
{
|
|
Store(0xef, Local0)
|
|
Store(0x0, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0x378))
|
|
{
|
|
Store(0xde, Local0)
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0x278))
|
|
{
|
|
Store(0x9e, Local0)
|
|
Store(0x2, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
And(PBAH, 0x3, Local2)
|
|
Store(Local2, PBAH)
|
|
WS87(Local2)
|
|
Store(Local0, PBAL)
|
|
WS87(Local0)
|
|
Store(Local1, \_SB_.PCI0.PM00.XPA_)
|
|
And(PNP0, 0xf, Local0)
|
|
If(LEqual(IRQM, 0x20))
|
|
{
|
|
Or(Local0, 0x50, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRQM, 0x80))
|
|
{
|
|
Or(Local0, 0x70, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRQM, Zero))
|
|
{
|
|
}
|
|
}
|
|
}
|
|
Store(Local0, PNP0)
|
|
WS87(Local0)
|
|
And(PCR_, 0xfa, Local0)
|
|
Store(Local0, PCR_)
|
|
WS87(Local0)
|
|
Or(FER_, 0x1, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(One, \_SB_.PCI0.PM00.XPE_)
|
|
}
|
|
}
|
|
Device(ECP_)
|
|
{
|
|
Name(_HID, 0x104d041)
|
|
Name(_PR0, Package(0x1)
|
|
{
|
|
PSIO
|
|
})
|
|
Name(DRQD, 0x0)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
And(PCR_, 0x5, Local1)
|
|
If(LEqual(Local1, 0x4))
|
|
{
|
|
If(And(FER_, 0x1, ))
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x5)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Return(Zero)
|
|
}
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
And(FER_, 0xfe, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(Zero, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
Store(Zero, \_SB_.PCI0.PM00.XPE_)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFF, Buffer(0x10)
|
|
{
|
|
0x47, 0x01, 0xbc, 0x03, 0xbc, 0x03, 0x01, 0x03, 0x22, 0x80, 0x00, 0x2a,
|
|
0x08, 0x00, 0x79, 0x00
|
|
})
|
|
CreateWordField(BUFF, 0x2, ECMN)
|
|
CreateWordField(BUFF, 0x4, ECMX)
|
|
CreateByteField(BUFF, 0x6, ECAL)
|
|
CreateByteField(BUFF, 0x7, ECLN)
|
|
CreateWordField(BUFF, 0x9, ECIQ)
|
|
CreateWordField(BUFF, 0xc, ECDQ)
|
|
If(LNot(And(PCR_, 0x4, )))
|
|
{
|
|
Store(0x0, ECMN)
|
|
Store(0x0, ECMX)
|
|
Store(0x0, ECAL)
|
|
Store(0x0, ECLN)
|
|
Store(0x0, ECIQ)
|
|
Store(0x0, ECDQ)
|
|
Return(BUFF)
|
|
}
|
|
And(PBAL, 0xff, Local0)
|
|
If(LEqual(Local0, 0xef))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xde))
|
|
{
|
|
Store(0x378, ECMN)
|
|
Store(0x378, ECMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x9e))
|
|
{
|
|
Store(0x278, ECMN)
|
|
Store(0x278, ECMX)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
And(PNP0, 0xf0, Local1)
|
|
If(LEqual(Local1, 0x50))
|
|
{
|
|
Store(0x20, ECIQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local1, 0x70))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
And(SCF1, 0x38, Local2)
|
|
If(LEqual(Local2, 0x0))
|
|
{
|
|
Store(0x0, ECDQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local2, 0x8))
|
|
{
|
|
Store(0x1, ECDQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local2, 0x10))
|
|
{
|
|
Store(0x2, ECDQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local2, 0x20))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Store(ECDQ, DRQD)
|
|
Return(BUFF)
|
|
}
|
|
Name(_PRS, Buffer(0x5d)
|
|
{
|
|
0x30, 0x47, 0x01, 0xbc, 0x03, 0xbc, 0x03, 0x01, 0x03, 0x22, 0x80, 0x00,
|
|
0x2a, 0x0b, 0x00, 0x30, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x01, 0x08,
|
|
0x22, 0x80, 0x00, 0x2a, 0x0b, 0x00, 0x30, 0x47, 0x01, 0x78, 0x02, 0x78,
|
|
0x02, 0x01, 0x08, 0x22, 0x20, 0x00, 0x2a, 0x0b, 0x00, 0x30, 0x47, 0x01,
|
|
0xbc, 0x03, 0xbc, 0x03, 0x01, 0x03, 0x22, 0x80, 0x00, 0x2a, 0x00, 0x00,
|
|
0x30, 0x47, 0x01, 0x78, 0x03, 0x78, 0x03, 0x01, 0x08, 0x22, 0x80, 0x00,
|
|
0x2a, 0x00, 0x00, 0x30, 0x47, 0x01, 0x78, 0x02, 0x78, 0x02, 0x01, 0x08,
|
|
0x22, 0x20, 0x00, 0x2a, 0x00, 0x00, 0x38, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, IOAR)
|
|
CreateWordField(Arg0, 0x9, IRQM)
|
|
CreateByteField(Arg0, 0xc, DMAM)
|
|
If(LEqual(IOAR, 0x3bc))
|
|
{
|
|
Store(0xef, Local0)
|
|
Store(0x0, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0x378))
|
|
{
|
|
Store(0xde, Local0)
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0x278))
|
|
{
|
|
Store(0x9e, Local0)
|
|
Store(0x2, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
And(PBAH, 0x3, Local2)
|
|
Store(Local2, PBAH)
|
|
WS87(Local2)
|
|
Store(Local0, PBAL)
|
|
WS87(Local0)
|
|
Store(Local1, \_SB_.PCI0.PM00.XPA_)
|
|
And(PNP0, 0xf, Local0)
|
|
If(LEqual(IRQM, 0x20))
|
|
{
|
|
Or(Local0, 0x50, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRQM, 0x80))
|
|
{
|
|
Or(Local0, 0x70, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
Store(Local0, PNP0)
|
|
WS87(Local0)
|
|
And(SCF1, 0xc7, Local1)
|
|
If(LEqual(DMAM, 0x1))
|
|
{
|
|
Or(Local1, 0x8, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(DMAM, 0x2))
|
|
{
|
|
Or(Local1, 0x10, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(DMAM, 0x8))
|
|
{
|
|
Or(Local1, 0x20, Local1)
|
|
}
|
|
}
|
|
}
|
|
Store(Local1, SCF1)
|
|
WS87(Local1)
|
|
Store(DMAM, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
Or(PCR_, 0x4, Local0)
|
|
Store(Local0, PCR_)
|
|
WS87(Local0)
|
|
Or(FER_, 0x1, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(One, \_SB_.PCI0.PM00.XPE_)
|
|
}
|
|
}
|
|
Device(FIR_)
|
|
{
|
|
Name(_HID, 0x71004d24)
|
|
Name(_CID, 0x1105d041)
|
|
Name(_PR0, Package(0x1)
|
|
{
|
|
PSIO
|
|
})
|
|
Name(DRQD, 0x0)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(And(FER_, 0x4, ))
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x5)
|
|
}
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
And(FER_, 0xfb, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(Zero, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
Store(Zero, \_SB_.PCI0.PM00.XU2E)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(BUFF, Buffer(0x10)
|
|
{
|
|
0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0x10, 0x00, 0x2a,
|
|
0x08, 0x00, 0x79, 0x00
|
|
})
|
|
CreateWordField(BUFF, 0x2, IRMN)
|
|
CreateWordField(BUFF, 0x4, IRMX)
|
|
CreateWordField(BUFF, 0x9, IRIQ)
|
|
CreateByteField(BUFF, 0xc, IRDR)
|
|
ShiftLeft(And(U2AL, 0xfe, ), 0x2, Local0)
|
|
Store(Local0, IRMN)
|
|
Store(Local0, IRMX)
|
|
If(LEqual(And(PNP1, 0xf0, ), 0x70))
|
|
{
|
|
Store(0x80, IRIQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(And(PNP1, 0xf0, ), 0x50))
|
|
{
|
|
Store(0x20, IRIQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(And(PNP1, 0xf0, ), 0x40))
|
|
{
|
|
Store(0x10, IRIQ)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(And(PNP1, 0xf0, ), 0x30))
|
|
{
|
|
Store(0x8, IRIQ)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, IRIQ)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
And(PNP3, 0x7, Local1)
|
|
If(LEqual(Local1, 0x0))
|
|
{
|
|
Store(0x0, IRDR)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local1, 0x1))
|
|
{
|
|
Store(0x1, IRDR)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local1, 0x2))
|
|
{
|
|
Store(0x2, IRDR)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local1, 0x4))
|
|
{
|
|
Store(0x8, IRDR)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, IRDR)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Store(IRDR, DRQD)
|
|
Return(BUFF)
|
|
}
|
|
Name(_PRS, Buffer(0x103)
|
|
{
|
|
0x31, 0x00, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0x10,
|
|
0x00, 0x2a, 0x0b, 0x00, 0x31, 0x01, 0x47, 0x01, 0xf8, 0x02, 0xf8, 0x02,
|
|
0x01, 0x08, 0x22, 0x08, 0x00, 0x2a, 0x0b, 0x00, 0x31, 0x02, 0x47, 0x01,
|
|
0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0x10, 0x00, 0x2a, 0x0b, 0x00,
|
|
0x31, 0x02, 0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22, 0x08,
|
|
0x00, 0x2a, 0x0b, 0x00, 0x31, 0x02, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03,
|
|
0x01, 0x08, 0x22, 0xa8, 0x00, 0x2a, 0x0b, 0x00, 0x31, 0x02, 0x47, 0x01,
|
|
0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22, 0xb0, 0x00, 0x2a, 0x0b, 0x00,
|
|
0x31, 0x02, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xa8,
|
|
0x00, 0x2a, 0x0b, 0x00, 0x31, 0x02, 0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02,
|
|
0x01, 0x08, 0x22, 0xb0, 0x00, 0x2a, 0x0b, 0x00, 0x31, 0x02, 0x47, 0x01,
|
|
0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0x10, 0x00, 0x2a, 0x00, 0x00,
|
|
0x31, 0x02, 0x47, 0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22, 0x08,
|
|
0x00, 0x2a, 0x00, 0x00, 0x31, 0x02, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03,
|
|
0x01, 0x08, 0x22, 0x10, 0x00, 0x2a, 0x00, 0x00, 0x31, 0x02, 0x47, 0x01,
|
|
0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22, 0x08, 0x00, 0x2a, 0x00, 0x00,
|
|
0x31, 0x02, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0xa8,
|
|
0x00, 0x2a, 0x00, 0x00, 0x31, 0x02, 0x47, 0x01, 0xf8, 0x02, 0xf8, 0x02,
|
|
0x01, 0x08, 0x22, 0xb0, 0x00, 0x2a, 0x00, 0x00, 0x31, 0x02, 0x47, 0x01,
|
|
0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xa8, 0x00, 0x2a, 0x00, 0x00,
|
|
0x31, 0x02, 0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22, 0xb0,
|
|
0x00, 0x2a, 0x00, 0x00, 0x38, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, IRIO)
|
|
CreateWordField(Arg0, 0x9, IRIQ)
|
|
CreateByteField(Arg0, 0xc, IRDR)
|
|
If(LEqual(IRIO, 0x3f8))
|
|
{
|
|
Store(0xfe, Local0)
|
|
Store(0x0, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRIO, 0x2f8))
|
|
{
|
|
Store(0xbe, Local0)
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRIO, 0x3e8))
|
|
{
|
|
Store(0xfa, Local0)
|
|
Store(0x7, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRIO, 0x2e8))
|
|
{
|
|
Store(0xba, Local0)
|
|
Store(0x5, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
And(U2AH, 0x3, Local2)
|
|
Store(Local2, U2AH)
|
|
WS87(Local2)
|
|
And(U2AL, 0x1, Local2)
|
|
Or(Local0, Local2, Local0)
|
|
Store(Local0, U2AL)
|
|
WS87(Local0)
|
|
Store(Local1, \_SB_.PCI0.PM00.XU2A)
|
|
And(PNP1, 0xf, Local0)
|
|
If(LEqual(IRIQ, 0x80))
|
|
{
|
|
Or(Local0, 0x70, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRIQ, 0x20))
|
|
{
|
|
Or(Local0, 0x50, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRIQ, 0x10))
|
|
{
|
|
Or(Local0, 0x40, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRIQ, 0x8))
|
|
{
|
|
Or(Local0, 0x30, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Store(Local0, PNP1)
|
|
WS87(Local0)
|
|
If(LEqual(IRDR, 0x0))
|
|
{
|
|
Store(0x0, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRDR, 0x1))
|
|
{
|
|
Store(0x1, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRDR, 0x2))
|
|
{
|
|
Store(0x2, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IRDR, 0x8))
|
|
{
|
|
Store(0x4, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
And(PNP3, 0xc0, Local1)
|
|
Or(Local1, Local0, Local1)
|
|
Store(Local1, PNP3)
|
|
WS87(Local1)
|
|
Store(IRDR, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
Or(FER_, 0x4, Local0)
|
|
Store(Local0, FER_)
|
|
WS87(Local0)
|
|
Store(One, \_SB_.PCI0.PM00.XU2E)
|
|
}
|
|
}
|
|
Device(CS10)
|
|
{
|
|
Name(_HID, 0x1000630e)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a00, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(S_BX, 0x103))
|
|
{
|
|
If(LEqual(S_CL, 0x1))
|
|
{
|
|
Store(0xf, Local7)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5, Local7)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local7)
|
|
}
|
|
Release(MSMI)
|
|
Return(Local7)
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a01, S_BX)
|
|
Store(0x100, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0xffff, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Release(MSMI)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a00, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(EDI1, Local0)
|
|
Release(MSMI)
|
|
If(LEqual(Local0, 0x3))
|
|
{
|
|
Return(Buffer(0xa)
|
|
{
|
|
0x47, 0x01, 0xf0, 0x0f, 0xf0, 0x0f, 0x01, 0x08, 0x79, 0x00
|
|
})
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x2))
|
|
{
|
|
Return(Buffer(0xa)
|
|
{
|
|
0x47, 0x01, 0x88, 0x0e, 0x88, 0x0e, 0x01, 0x08, 0x79, 0x00
|
|
})
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x1))
|
|
{
|
|
Return(Buffer(0xa)
|
|
{
|
|
0x47, 0x01, 0x38, 0x0d, 0x38, 0x0d, 0x01, 0x08, 0x79, 0x00
|
|
})
|
|
}
|
|
Else
|
|
{
|
|
Return(Buffer(0xa)
|
|
{
|
|
0x47, 0x01, 0x38, 0x05, 0x38, 0x05, 0x01, 0x08, 0x79, 0x00
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Name(_PRS, Buffer(0x27)
|
|
{
|
|
0x30, 0x47, 0x01, 0x38, 0x05, 0x38, 0x05, 0x01, 0x08, 0x30, 0x47, 0x01,
|
|
0x38, 0x0d, 0x38, 0x0d, 0x01, 0x08, 0x30, 0x47, 0x01, 0x88, 0x0e, 0x88,
|
|
0x0e, 0x01, 0x08, 0x30, 0x47, 0x01, 0xf0, 0x0f, 0xf0, 0x0f, 0x01, 0x08,
|
|
0x38, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, IOAR)
|
|
If(LEqual(IOAR, 0x538))
|
|
{
|
|
Store(0x0, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0xd38))
|
|
{
|
|
Store(0x1, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0xe88))
|
|
{
|
|
Store(0x2, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(IOAR, 0xff0))
|
|
{
|
|
Store(0x3, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a01, S_BX)
|
|
Store(0x101, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0xffff, SESI)
|
|
Store(0x0, SEDI)
|
|
Store(Local0, EDI1)
|
|
SMPI(0x81)
|
|
Release(MSMI)
|
|
}
|
|
}
|
|
Device(CS00)
|
|
{
|
|
Name(_HID, 0x630e)
|
|
Name(DRQD, 0x0)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a00, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(S_BX, 0x103))
|
|
{
|
|
If(LEqual(S_CL, 0x1))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a02, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(S_CL, 0x1))
|
|
{
|
|
Store(0xf, Local7)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5, Local7)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5, Local7)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local7)
|
|
}
|
|
Release(MSMI)
|
|
Return(Local7)
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a02, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a03, S_BX)
|
|
Store(0x100, S_CX)
|
|
Store(0x0, S_DX)
|
|
SMPI(0x81)
|
|
Store(Zero, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
Release(MSMI)
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(CCRS, Buffer(0x23)
|
|
{
|
|
0x47, 0x01, 0x30, 0x05, 0x30, 0x05, 0x01, 0x08, 0x47, 0x01, 0x88, 0x03,
|
|
0x88, 0x03, 0x01, 0x04, 0x47, 0x01, 0x20, 0x02, 0x20, 0x02, 0x01, 0x14,
|
|
0x22, 0x20, 0x00, 0x2a, 0x01, 0x00, 0x2a, 0x02, 0x00, 0x79, 0x00
|
|
})
|
|
CreateWordField(CCRS, 0x2, WSMN)
|
|
CreateWordField(CCRS, 0x4, WSMX)
|
|
CreateWordField(CCRS, 0x12, SBMN)
|
|
CreateWordField(CCRS, 0x14, SBMX)
|
|
CreateWordField(CCRS, 0x19, CSIQ)
|
|
CreateByteField(CCRS, 0x1c, CSDP)
|
|
CreateByteField(CCRS, 0x1f, CSDC)
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a02, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(ESI1, Local0)
|
|
Store(ESI2, Local1)
|
|
And(Local1, 0xf, Local1)
|
|
ShiftRight(ESI2, 0x4, Local2)
|
|
Store(EDI1, Local3)
|
|
ShiftRight(Local3, 0x4, Local4)
|
|
And(Local3, 0xf, Local3)
|
|
And(Local4, 0xf, Local4)
|
|
If(LEqual(Local3, 0x3))
|
|
{
|
|
Store(0xf40, WSMN)
|
|
Store(0xf40, WSMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local3, 0x2))
|
|
{
|
|
Store(0xe80, WSMN)
|
|
Store(0xe80, WSMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local3, 0x1))
|
|
{
|
|
Store(0x604, WSMN)
|
|
Store(0x604, WSMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local3, 0x0))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
If(LEqual(Local4, 0x0))
|
|
{
|
|
Store(0x220, SBMN)
|
|
Store(0x220, SBMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local4, 0x2))
|
|
{
|
|
Store(0x240, SBMN)
|
|
Store(0x240, SBMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local4, 0x4))
|
|
{
|
|
Store(0x260, SBMN)
|
|
Store(0x260, SBMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local4, 0x6))
|
|
{
|
|
Store(0x280, SBMN)
|
|
Store(0x280, SBMX)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
If(LEqual(Local0, 0xff))
|
|
{
|
|
Store(Zero, CSIQ)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, CSIQ)
|
|
ShiftLeft(CSIQ, Local0, CSIQ)
|
|
}
|
|
If(LEqual(Local1, 0xff))
|
|
{
|
|
Store(Zero, CSDP)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, Local6)
|
|
ShiftLeft(Local6, Local1, CSDP)
|
|
}
|
|
If(LEqual(Local2, 0xff))
|
|
{
|
|
Store(Zero, CSDC)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, Local7)
|
|
ShiftLeft(Local7, Local2, CSDC)
|
|
}
|
|
Store(CSDP, DRQD)
|
|
Or(DRQD, CSDC, DRQD)
|
|
Release(MSMI)
|
|
Return(CCRS)
|
|
}
|
|
Name(_PRS, Buffer(0x40)
|
|
{
|
|
0x30, 0x47, 0x01, 0x30, 0x05, 0x30, 0x05, 0x01, 0x08, 0x30, 0x47, 0x01,
|
|
0x04, 0x06, 0x04, 0x06, 0x01, 0x08, 0x30, 0x47, 0x01, 0x80, 0x0e, 0x80,
|
|
0x0e, 0x01, 0x08, 0x30, 0x47, 0x01, 0x40, 0x0f, 0x40, 0x0f, 0x01, 0x08,
|
|
0x38, 0x47, 0x01, 0x88, 0x03, 0x88, 0x03, 0x01, 0x04, 0x47, 0x01, 0x20,
|
|
0x02, 0x80, 0x02, 0x20, 0x14, 0x22, 0xa0, 0x9a, 0x2a, 0x0b, 0x00, 0x2a,
|
|
0x0b, 0x00, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, SSIO)
|
|
CreateWordField(Arg0, 0x12, SBIO)
|
|
CreateWordField(Arg0, 0x19, CSIQ)
|
|
CreateByteField(Arg0, 0x1c, CSDP)
|
|
CreateByteField(Arg0, 0x1f, CSDC)
|
|
If(LEqual(SSIO, 0x530))
|
|
{
|
|
Store(0x0, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SSIO, 0x604))
|
|
{
|
|
Store(0x1, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SSIO, 0xe80))
|
|
{
|
|
Store(0x2, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SSIO, 0xf40))
|
|
{
|
|
Store(0x3, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
If(LEqual(SBIO, 0x220))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SBIO, 0x230))
|
|
{
|
|
Or(Local0, 0x10, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SBIO, 0x240))
|
|
{
|
|
Or(Local0, 0x20, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SBIO, 0x250))
|
|
{
|
|
Or(Local0, 0x30, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SBIO, 0x260))
|
|
{
|
|
Or(Local0, 0x40, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(SBIO, 0x280))
|
|
{
|
|
Or(Local0, 0x60, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FindSetRightBit(CSIQ, Local1)
|
|
Decrement(Local1)
|
|
FindSetRightBit(CSDP, Local4)
|
|
Decrement(Local4)
|
|
FindSetRightBit(CSDC, Local6)
|
|
Decrement(Local6)
|
|
Store(CSDP, DRQD)
|
|
Or(DRQD, CSDC, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
ShiftLeft(Local6, 0x4, Local6)
|
|
And(Local6, 0xf0, Local6)
|
|
Or(Local4, Local6, Local4)
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a02, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a03, S_BX)
|
|
And(S_CX, 0x2, S_CX)
|
|
Or(S_CX, 0x101, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(Local1, ESI1)
|
|
Store(Local4, ESI2)
|
|
Store(Local0, EDI1)
|
|
SMPI(0x81)
|
|
Store(One, \_SB_.PCI0.PM00.XA0E)
|
|
Store(One, \_SB_.PCI0.PM00.XMSS)
|
|
Release(MSMI)
|
|
}
|
|
}
|
|
Device(CS01)
|
|
{
|
|
Name(_HID, 0x100630e)
|
|
Name(_CID, 0x2fb0d041)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1104, S_BX)
|
|
Store(0x8000, S_CX)
|
|
SMPI(0x81)
|
|
If(And(S_BH, 0x1, ))
|
|
{
|
|
If(And(S_CL, 0x1, ))
|
|
{
|
|
Store(0xf, Local7)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5, Local7)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local7)
|
|
}
|
|
Release(MSMI)
|
|
Return(Local7)
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1105, S_BX)
|
|
Store(0x8100, S_CX)
|
|
SMPI(0x81)
|
|
Release(MSMI)
|
|
}
|
|
Name(_PRS, Buffer(0xa)
|
|
{
|
|
0x47, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x08, 0x79, 0x00
|
|
})
|
|
Name(_CRS, Buffer(0xa)
|
|
{
|
|
0x47, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x08, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1105, S_BX)
|
|
Store(0x8101, S_CX)
|
|
SMPI(0x81)
|
|
Release(MSMI)
|
|
}
|
|
}
|
|
Device(CS03)
|
|
{
|
|
Name(_HID, 0x300630e)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a00, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(S_BX, 0x103))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a04, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0xff00, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(S_CL, 0x1))
|
|
{
|
|
Store(0xf, Local7)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5, Local7)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local7)
|
|
}
|
|
Release(MSMI)
|
|
Return(Local7)
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a04, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a05, S_BX)
|
|
Store(0x100, S_CX)
|
|
Store(0x0, S_DX)
|
|
SMPI(0x81)
|
|
Release(MSMI)
|
|
}
|
|
Name(_PRS, Buffer(0xd)
|
|
{
|
|
0x47, 0x01, 0x00, 0x03, 0x30, 0x03, 0x10, 0x04, 0x22, 0xa0, 0x8e, 0x79,
|
|
0x00
|
|
})
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(TBUF, Buffer(0xd)
|
|
{
|
|
0x47, 0x01, 0x30, 0x03, 0x30, 0x03, 0x01, 0x04, 0x22, 0x20, 0x00, 0x79,
|
|
0x00
|
|
})
|
|
CreateWordField(TBUF, 0x2, MDMN)
|
|
CreateWordField(TBUF, 0x4, MDMX)
|
|
CreateWordField(TBUF, 0x9, MDIQ)
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a04, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0xff00, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(ESI2, 0x3))
|
|
{
|
|
Store(0x330, MDMN)
|
|
Store(0x330, MDMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(ESI2, 0x2))
|
|
{
|
|
Store(0x320, MDMN)
|
|
Store(0x320, MDMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(ESI2, 0x1))
|
|
{
|
|
Store(0x310, MDMN)
|
|
Store(0x310, MDMX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(ESI2, 0x0))
|
|
{
|
|
Store(0x300, MDMN)
|
|
Store(0x300, MDMX)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
If(LGreater(ESI1, 0xf))
|
|
{
|
|
Store(Zero, MDIQ)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, MDIQ)
|
|
ShiftLeft(MDIQ, ESI1, MDIQ)
|
|
}
|
|
Release(MSMI)
|
|
Return(TBUF)
|
|
}
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, MDIO)
|
|
CreateWordField(Arg0, 0x9, MDIQ)
|
|
If(LEqual(MDIO, 0x330))
|
|
{
|
|
Store(0x3, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MDIO, 0x320))
|
|
{
|
|
Store(0x2, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MDIO, 0x310))
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MDIO, 0x300))
|
|
{
|
|
Store(0x0, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FindSetRightBit(MDIQ, Local0)
|
|
Decrement(Local0)
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a04, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1a05, S_BX)
|
|
Store(0x101, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(Local0, ESI1)
|
|
Store(Local1, ESI2)
|
|
SMPI(0x81)
|
|
Release(MSMI)
|
|
}
|
|
}
|
|
Device(MWV0)
|
|
{
|
|
Name(_HID, 0x60374d24)
|
|
Name(DRQD, 0x0)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x1802, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(S_BH, 0x1))
|
|
{
|
|
If(LEqual(S_CL, 0x1))
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x5)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Method(_DIS, 0x0, NotSerialized)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x1802, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1803, S_BX)
|
|
Store(0x100, S_CX)
|
|
SMPI(0x81)
|
|
Store(Zero, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
}
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(MVUB, Buffer(0x1b)
|
|
{
|
|
0x47, 0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x03,
|
|
0xf8, 0x03, 0x01, 0x08, 0x22, 0x10, 0x00, 0x22, 0x00, 0x04, 0x2a, 0x01,
|
|
0x01, 0x79, 0x00
|
|
})
|
|
CreateWordField(MVUB, 0x2, MVDN)
|
|
CreateWordField(MVUB, 0x4, MVDX)
|
|
CreateWordField(MVUB, 0x14, MVDI)
|
|
CreateByteField(MVUB, 0x17, MVDD)
|
|
CreateWordField(MVUB, 0xa, MVUN)
|
|
CreateWordField(MVUB, 0xc, MVUX)
|
|
CreateByteField(MVUB, 0xe, MVUA)
|
|
CreateByteField(MVUB, 0xf, MVUL)
|
|
CreateWordField(MVUB, 0x11, MVUI)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1802, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(EDI1, 0x4))
|
|
{
|
|
Store(0x130, MVDN)
|
|
Store(0x130, MVDX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(EDI1, 0x5))
|
|
{
|
|
Store(0x350, MVDN)
|
|
Store(0x350, MVDX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(EDI1, 0x6))
|
|
{
|
|
Store(0x770, MVDN)
|
|
Store(0x770, MVDX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(EDI1, 0x7))
|
|
{
|
|
Store(0xdb0, MVDN)
|
|
Store(0xdb0, MVDX)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
If(LGreater(ESI1, 0xf))
|
|
{
|
|
Store(Zero, MVDI)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, Local0)
|
|
ShiftLeft(Local0, ESI1, MVDI)
|
|
}
|
|
If(LGreater(ESI2, 0x7))
|
|
{
|
|
Store(Zero, MVDD)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, Local0)
|
|
ShiftLeft(Local0, ESI2, MVDD)
|
|
}
|
|
Store(MVDD, DRQD)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1804, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
If(LEqual(S_CL, 0x1))
|
|
{
|
|
If(LEqual(ESI2, 0x0))
|
|
{
|
|
Store(0x3f8, MVUN)
|
|
Store(0x3f8, MVUX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(ESI2, 0x1))
|
|
{
|
|
Store(0x2f8, MVUN)
|
|
Store(0x2f8, MVUX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(ESI2, 0x2))
|
|
{
|
|
Store(0x3e8, MVUN)
|
|
Store(0x3e8, MVUX)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(ESI2, 0x3))
|
|
{
|
|
Store(0x2e8, MVUN)
|
|
Store(0x2e8, MVUX)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x2, 0x90000002, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
If(LGreater(ESI1, 0xf))
|
|
{
|
|
Store(Zero, MVUI)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, Local0)
|
|
ShiftLeft(Local0, ESI1, MVUI)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, MVUN)
|
|
Store(0x0, MVUX)
|
|
Store(0x0, MVUA)
|
|
Store(0x0, MVUL)
|
|
Store(0x0, MVUI)
|
|
}
|
|
Return(MVUB)
|
|
}
|
|
Name(_PRS, Buffer(0x3ab)
|
|
{
|
|
0x30, 0x47, 0x01, 0x30, 0x01, 0x30, 0x01, 0x01, 0x10, 0x47, 0x01, 0xf8,
|
|
0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a,
|
|
0xc3, 0x01, 0x30, 0x47, 0x01, 0x30, 0x01, 0x30, 0x01, 0x01, 0x10, 0x47,
|
|
0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8,
|
|
0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x30, 0x01, 0x30, 0x01, 0x01,
|
|
0x10, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00,
|
|
0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x30, 0x01, 0x30,
|
|
0x01, 0x01, 0x10, 0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22,
|
|
0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x50,
|
|
0x03, 0x50, 0x03, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01,
|
|
0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47,
|
|
0x01, 0x50, 0x03, 0x50, 0x03, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x02, 0xf8,
|
|
0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01,
|
|
0x30, 0x47, 0x01, 0x50, 0x03, 0x50, 0x03, 0x01, 0x10, 0x47, 0x01, 0xe8,
|
|
0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a,
|
|
0xc3, 0x01, 0x30, 0x47, 0x01, 0x50, 0x03, 0x50, 0x03, 0x01, 0x10, 0x47,
|
|
0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8,
|
|
0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x70, 0x07, 0x70, 0x07, 0x01,
|
|
0x10, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00,
|
|
0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x70, 0x07, 0x70,
|
|
0x07, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22,
|
|
0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x70,
|
|
0x07, 0x70, 0x07, 0x01, 0x10, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01,
|
|
0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47,
|
|
0x01, 0x70, 0x07, 0x70, 0x07, 0x01, 0x10, 0x47, 0x01, 0xe8, 0x02, 0xe8,
|
|
0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01,
|
|
0x30, 0x47, 0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47, 0x01, 0xf8,
|
|
0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a,
|
|
0xc3, 0x01, 0x30, 0x47, 0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47,
|
|
0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8,
|
|
0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01,
|
|
0x10, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00,
|
|
0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0xb0, 0x0d, 0xb0,
|
|
0x0d, 0x01, 0x10, 0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22,
|
|
0xb8, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x30,
|
|
0x01, 0x30, 0x01, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01,
|
|
0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47,
|
|
0x01, 0x30, 0x01, 0x30, 0x01, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x02, 0xf8,
|
|
0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01,
|
|
0x30, 0x47, 0x01, 0x30, 0x01, 0x30, 0x01, 0x01, 0x10, 0x47, 0x01, 0xe8,
|
|
0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a,
|
|
0xc3, 0x01, 0x30, 0x47, 0x01, 0x30, 0x01, 0x30, 0x01, 0x01, 0x10, 0x47,
|
|
0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8,
|
|
0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x50, 0x03, 0x50, 0x03, 0x01,
|
|
0x10, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00,
|
|
0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x50, 0x03, 0x50,
|
|
0x03, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22,
|
|
0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x50,
|
|
0x03, 0x50, 0x03, 0x01, 0x10, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01,
|
|
0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47,
|
|
0x01, 0x50, 0x03, 0x50, 0x03, 0x01, 0x10, 0x47, 0x01, 0xe8, 0x02, 0xe8,
|
|
0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01,
|
|
0x30, 0x47, 0x01, 0x70, 0x07, 0x70, 0x07, 0x01, 0x10, 0x47, 0x01, 0xf8,
|
|
0x03, 0xf8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a,
|
|
0xc3, 0x01, 0x30, 0x47, 0x01, 0x70, 0x07, 0x70, 0x07, 0x01, 0x10, 0x47,
|
|
0x01, 0xf8, 0x02, 0xf8, 0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8,
|
|
0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x70, 0x07, 0x70, 0x07, 0x01,
|
|
0x10, 0x47, 0x01, 0xe8, 0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00,
|
|
0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x70, 0x07, 0x70,
|
|
0x07, 0x01, 0x10, 0x47, 0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22,
|
|
0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0xb0,
|
|
0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x03, 0xf8, 0x03, 0x01,
|
|
0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47,
|
|
0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47, 0x01, 0xf8, 0x02, 0xf8,
|
|
0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a, 0xc3, 0x01,
|
|
0x30, 0x47, 0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47, 0x01, 0xe8,
|
|
0x03, 0xe8, 0x03, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8, 0x00, 0x2a,
|
|
0xc3, 0x01, 0x30, 0x47, 0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47,
|
|
0x01, 0xe8, 0x02, 0xe8, 0x02, 0x01, 0x08, 0x22, 0xb8, 0x00, 0x22, 0xb8,
|
|
0x00, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x30, 0x01, 0x30, 0x01, 0x01,
|
|
0x10, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00,
|
|
0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x50, 0x03, 0x50,
|
|
0x03, 0x01, 0x10, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
|
|
0x00, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47, 0x01, 0x70,
|
|
0x07, 0x70, 0x07, 0x01, 0x10, 0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x00, 0x22, 0x00, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01, 0x30, 0x47,
|
|
0x01, 0xb0, 0x0d, 0xb0, 0x0d, 0x01, 0x10, 0x47, 0x01, 0x00, 0x00, 0x00,
|
|
0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x22, 0xb8, 0x8c, 0x2a, 0xc3, 0x01,
|
|
0x38, 0x79, 0x00
|
|
})
|
|
Method(_SRS, 0x1, NotSerialized)
|
|
{
|
|
CreateWordField(Arg0, 0x2, MVDA)
|
|
CreateWordField(Arg0, 0xa, MVUA)
|
|
CreateWordField(Arg0, 0x11, MVUI)
|
|
CreateWordField(Arg0, 0x14, MVDI)
|
|
CreateByteField(Arg0, 0x17, MVDD)
|
|
If(LEqual(MVDA, 0x130))
|
|
{
|
|
Store(0x4, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MVDA, 0x350))
|
|
{
|
|
Store(0x5, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MVDA, 0x770))
|
|
{
|
|
Store(0x6, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MVDA, 0xdb0))
|
|
{
|
|
Store(0x7, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x3, 0x90000001, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FindSetRightBit(MVDI, Local2)
|
|
Decrement(Local2)
|
|
FindSetRightBit(MVDD, Local3)
|
|
Decrement(Local3)
|
|
Store(MVDD, DRQD)
|
|
\_SB_.PCI0.DOCK.SDCM()
|
|
Store(0x5381, S_AX)
|
|
Store(0x1802, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(Local1, EDI1)
|
|
Store(Local2, ESI1)
|
|
Store(Local3, ESI2)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1803, S_BX)
|
|
Store(0x101, S_CX)
|
|
Store(0x0, S_DX)
|
|
SMPI(0x81)
|
|
Store(0x0, Local1)
|
|
Store(0x0, Local2)
|
|
Store(0xff, Local3)
|
|
If(MVUA)
|
|
{
|
|
If(MVUI)
|
|
{
|
|
If(LEqual(MVUA, 0x3f8))
|
|
{
|
|
Store(0x0, Local2)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MVUA, 0x2f8))
|
|
{
|
|
Store(0x1, Local2)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MVUA, 0x3e8))
|
|
{
|
|
Store(0x2, Local2)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(MVUA, 0x2e8))
|
|
{
|
|
Store(0x3, Local2)
|
|
}
|
|
Else
|
|
{
|
|
Fatal(0x3, 0x90000001, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
FindSetRightBit(MVUI, Local3)
|
|
Decrement(Local3)
|
|
Store(0x1, Local1)
|
|
}
|
|
}
|
|
Store(0x5381, S_AX)
|
|
Store(0x1804, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(0x0, S_DX)
|
|
Store(0x0, SESI)
|
|
Store(0x0, SEDI)
|
|
SMPI(0x81)
|
|
Store(Local1, S_CL)
|
|
Store(Local2, ESI2)
|
|
Store(Local3, ESI1)
|
|
Store(0x5381, S_AX)
|
|
Store(0x1805, S_BX)
|
|
Store(0x1, S_CH)
|
|
Store(0x0, S_DX)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
Device(PIC_)
|
|
{
|
|
Name(_HID, 0xd041)
|
|
Name(_CRS, Buffer(0x15)
|
|
{
|
|
0x47, 0x01, 0x20, 0x00, 0x20, 0x00, 0x01, 0x02, 0x47, 0x01, 0xa0, 0x00,
|
|
0xa0, 0x00, 0x01, 0x02, 0x22, 0x04, 0x00, 0x79, 0x00
|
|
})
|
|
}
|
|
Device(TIMR)
|
|
{
|
|
Name(_HID, 0x1d041)
|
|
Name(_CRS, Buffer(0xd)
|
|
{
|
|
0x47, 0x01, 0x40, 0x00, 0x40, 0x00, 0x01, 0x04, 0x22, 0x01, 0x00, 0x79,
|
|
0x00
|
|
})
|
|
}
|
|
Device(DMAC)
|
|
{
|
|
Name(_HID, 0x2d041)
|
|
Name(_CRS, Buffer(0x1d)
|
|
{
|
|
0x47, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x10, 0x47, 0x01, 0x80, 0x00,
|
|
0x80, 0x00, 0x01, 0x10, 0x47, 0x01, 0xc0, 0x00, 0xc0, 0x00, 0x01, 0x20,
|
|
0x2a, 0x10, 0x04, 0x79, 0x00
|
|
})
|
|
}
|
|
Device(SPKR)
|
|
{
|
|
Name(_HID, 0x8d041)
|
|
Name(_CRS, Buffer(0xa)
|
|
{
|
|
0x47, 0x01, 0x61, 0x00, 0x61, 0x00, 0x01, 0x01, 0x79, 0x00
|
|
})
|
|
Method(_PS0, 0x0, NotSerialized)
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HCMU)
|
|
}
|
|
Method(_PS3, 0x0, NotSerialized)
|
|
{
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HCMU)
|
|
}
|
|
}
|
|
Device(MBRD)
|
|
{
|
|
Name(_HID, 0x20cd041)
|
|
Method(_CRS, 0x0, NotSerialized)
|
|
{
|
|
Name(MBRS, Buffer(0x42)
|
|
{
|
|
0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00,
|
|
0x86, 0x09, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x01, 0x00,
|
|
0x86, 0x09, 0x00, 0x01, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0xee, 0x01,
|
|
0x86, 0x09, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0x00,
|
|
0x47, 0x01, 0x92, 0x00, 0x92, 0x00, 0x01, 0x01, 0x47, 0x01, 0xd0, 0x04,
|
|
0xd0, 0x04, 0x01, 0x02, 0x79, 0x00
|
|
})
|
|
CreateDWordField(MBRS, 0x1c, WBAS)
|
|
CreateDWordField(MBRS, 0x20, WLEN)
|
|
Subtract(TOMP, WBAS, WLEN)
|
|
Return(MBRS)
|
|
}
|
|
Method(_PS0, 0x0, NotSerialized)
|
|
{
|
|
If(W98F)
|
|
{
|
|
If(SPS_)
|
|
{
|
|
\RSTR()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(MPRC)
|
|
{
|
|
Name(_HID, 0x40cd041)
|
|
Name(_CRS, Buffer(0xd)
|
|
{
|
|
0x47, 0x01, 0xf0, 0x00, 0xf0, 0x00, 0x01, 0x10, 0x22, 0x00, 0x20, 0x79,
|
|
0x00
|
|
})
|
|
}
|
|
Device(KBD0)
|
|
{
|
|
Name(_HID, 0x303d041)
|
|
Name(_CRS, Buffer(0x15)
|
|
{
|
|
0x47, 0x01, 0x60, 0x00, 0x60, 0x00, 0x01, 0x01, 0x47, 0x01, 0x64, 0x00,
|
|
0x64, 0x00, 0x01, 0x01, 0x22, 0x02, 0x00, 0x79, 0x00
|
|
})
|
|
}
|
|
Device(MOU0)
|
|
{
|
|
Name(_HID, 0x80374d24)
|
|
Name(_CID, 0x130fd041)
|
|
Name(_CRS, Buffer(0x5)
|
|
{
|
|
0x22, 0x00, 0x10, 0x79, 0x00
|
|
})
|
|
}
|
|
Device(RTC0)
|
|
{
|
|
Name(_HID, 0xbd041)
|
|
Name(_CRS, Buffer(0xd)
|
|
{
|
|
0x47, 0x01, 0x70, 0x00, 0x70, 0x00, 0x01, 0x04, 0x22, 0x00, 0x01, 0x79,
|
|
0x00
|
|
})
|
|
}
|
|
Device(EC0_)
|
|
{
|
|
Name(_HID, 0x90cd041)
|
|
Method(_REG, 0x2, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
Store(Arg1, H8DR)
|
|
}
|
|
}
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
Store(SNS0, TMP0)
|
|
Store(SNS1, TMP1)
|
|
Store(SNS2, TMP2)
|
|
Store(SNS3, TMP3)
|
|
Store(SNS4, TMP4)
|
|
Store(SNS5, TMP5)
|
|
Store(SNS6, TMP6)
|
|
Store(SNS7, TMP7)
|
|
If(H8DR)
|
|
{
|
|
Store(GUID(), BDEV)
|
|
}
|
|
}
|
|
Name(_CRS, Buffer(0x12)
|
|
{
|
|
0x47, 0x01, 0x62, 0x00, 0x62, 0x00, 0x01, 0x01, 0x47, 0x01, 0x66, 0x00,
|
|
0x66, 0x00, 0x01, 0x01, 0x79, 0x00
|
|
})
|
|
Name(_GPE, 0x9)
|
|
OperationRegion(ECOR, EmbeddedControl, 0x0, 0x100)
|
|
Field(ECOR, ByteAcc, Lock, Preserve)
|
|
{
|
|
, 1,
|
|
HCGA, 1,
|
|
HCHK, 1,
|
|
HCSK, 1,
|
|
HCNP, 1,
|
|
HCHB, 1,
|
|
HCAC, 1,
|
|
HCTM, 1,
|
|
HCDX, 1,
|
|
HCKX, 1,
|
|
HCSM, 1,
|
|
HCID, 1,
|
|
HCWP, 1,
|
|
HCAD, 1,
|
|
HCDW, 1,
|
|
, 1,
|
|
, 8,
|
|
, 8,
|
|
, 1,
|
|
HSCL, 1,
|
|
HSLB, 1,
|
|
HSSP, 1,
|
|
HSPS, 1,
|
|
HSRM, 1,
|
|
HSDC, 1,
|
|
HSPO, 1,
|
|
HSPA, 1,
|
|
HSHA, 1,
|
|
, 1,
|
|
HS88, 1,
|
|
HS31, 1,
|
|
HS32, 1,
|
|
HS33, 1,
|
|
, 1,
|
|
HSUN, 8,
|
|
HSRP, 8,
|
|
HACC, 8,
|
|
H8ID, 8,
|
|
HSHW, 8,
|
|
HSID, 8,
|
|
HLCL, 8,
|
|
HLBL, 8,
|
|
HLMS, 8,
|
|
HICA, 8,
|
|
HAM0, 8,
|
|
HAM1, 8,
|
|
HAM2, 8,
|
|
HAM3, 8,
|
|
HAM4, 8,
|
|
HAM5, 8,
|
|
HAM6, 8,
|
|
HAM7, 8,
|
|
HAM8, 8,
|
|
HAM9, 8,
|
|
HAMA, 8,
|
|
HAMB, 8,
|
|
HAMC, 8,
|
|
HAMD, 8,
|
|
HAME, 8,
|
|
HAMF, 8,
|
|
HT00, 1,
|
|
HT01, 1,
|
|
HT02, 1,
|
|
, 4,
|
|
HT0E, 1,
|
|
HT10, 1,
|
|
HT11, 1,
|
|
HT12, 1,
|
|
, 4,
|
|
HT1E, 1,
|
|
HT20, 1,
|
|
HT21, 1,
|
|
HT22, 1,
|
|
, 4,
|
|
HT2E, 1,
|
|
HT30, 1,
|
|
HT31, 1,
|
|
HT32, 1,
|
|
, 4,
|
|
HT3E, 1,
|
|
HT40, 1,
|
|
HT41, 1,
|
|
HT42, 1,
|
|
, 4,
|
|
HT4E, 1,
|
|
HT50, 1,
|
|
HT51, 1,
|
|
HT52, 1,
|
|
, 4,
|
|
HT5E, 1,
|
|
HT60, 1,
|
|
HT61, 1,
|
|
HT62, 1,
|
|
, 4,
|
|
HT6E, 1,
|
|
HT70, 1,
|
|
HT71, 1,
|
|
HT72, 1,
|
|
, 4,
|
|
HT7E, 1,
|
|
HDID, 8,
|
|
, 8,
|
|
HATR, 8,
|
|
HT0H, 8,
|
|
HT0L, 8,
|
|
HT1H, 8,
|
|
HT1L, 8,
|
|
HFSP, 3,
|
|
, 5,
|
|
, 16,
|
|
, 8,
|
|
, 8,
|
|
HPEK, 1,
|
|
HPBP, 1,
|
|
HPIB, 1,
|
|
, 1,
|
|
HP0F, 1,
|
|
HP1F, 1,
|
|
HP2F, 1,
|
|
HP3F, 1,
|
|
, 8,
|
|
HPFN, 1,
|
|
HPH1, 1,
|
|
HPLD, 1,
|
|
HPPO, 1,
|
|
HPAC, 1,
|
|
HPH0, 1,
|
|
, 2,
|
|
HPBU, 1,
|
|
HPDE, 1,
|
|
HPM0, 1,
|
|
HPM1, 1,
|
|
HPM2, 1,
|
|
HPM3, 1,
|
|
, 2,
|
|
HB0L, 4,
|
|
, 1,
|
|
HB0C, 1,
|
|
HB0D, 1,
|
|
HB0A, 1,
|
|
HB1L, 4,
|
|
, 1,
|
|
HB1C, 1,
|
|
HB1D, 1,
|
|
HB1A, 1,
|
|
HCMU, 1,
|
|
HCKL, 1,
|
|
HCF0, 1,
|
|
HCF1, 1,
|
|
HCSL, 2,
|
|
HCTH, 1,
|
|
, 1,
|
|
, 2,
|
|
, 6,
|
|
HRSN, 8,
|
|
HPCT, 8,
|
|
HPDT, 64,
|
|
HLCM, 8,
|
|
HLDO, 4,
|
|
HLPA, 1,
|
|
HLDT, 1,
|
|
HLHR, 1,
|
|
HLCO, 1,
|
|
HLD2, 4,
|
|
HLD1, 4,
|
|
HEAD, 8,
|
|
HDTM, 16,
|
|
HRTM, 16,
|
|
HWAK, 8,
|
|
, 8,
|
|
HMPR, 8,
|
|
HMST, 5,
|
|
, 1,
|
|
HMAR, 1,
|
|
HMDN, 1,
|
|
HMAD, 8,
|
|
HMCM, 8,
|
|
HMDT, 8,
|
|
Offset(0x74),
|
|
HMBC, 8,
|
|
Offset(0x80),
|
|
Offset(0xc0),
|
|
HAKB, 16,
|
|
HAMO, 16,
|
|
Offset(0xd0),
|
|
Offset(0xe0),
|
|
HBLD, 64,
|
|
HBLV, 16,
|
|
HMID, 8,
|
|
, 8,
|
|
HCI1, 1,
|
|
HCI2, 1,
|
|
, 2,
|
|
HCDM, 1,
|
|
HCTW, 1,
|
|
HCRF, 1,
|
|
, 1,
|
|
HCNF, 1,
|
|
, 7,
|
|
HB0H, 4,
|
|
HB1H, 4,
|
|
, 8,
|
|
HBID, 64,
|
|
HBTM, 64
|
|
}
|
|
Name(HWPM, 0x0)
|
|
Name(HWLB, 0x0)
|
|
Name(HWLO, 0x0)
|
|
Name(HWDK, 0x0)
|
|
Name(HWFN, 0x0)
|
|
Name(HWEK, 0x0)
|
|
Name(HWRI, 0x0)
|
|
Method(SWAK, 0x0, NotSerialized)
|
|
{
|
|
If(HWLB)
|
|
{
|
|
Or(HAM4, 0x4, HAM4)
|
|
}
|
|
Else
|
|
{
|
|
And(HAM4, 0xfb, HAM4)
|
|
}
|
|
If(HWLO)
|
|
{
|
|
Or(HAM5, 0x4, HAM5)
|
|
}
|
|
Else
|
|
{
|
|
And(HAM5, 0xfb, HAM5)
|
|
}
|
|
If(HWDK)
|
|
{
|
|
Or(HAM6, 0x80, HAM6)
|
|
}
|
|
Else
|
|
{
|
|
And(HAM6, 0x7f, HAM6)
|
|
}
|
|
If(HWFN)
|
|
{
|
|
Or(HAM7, 0x2, Local0)
|
|
}
|
|
Else
|
|
{
|
|
And(HAM7, 0xfd, Local0)
|
|
}
|
|
If(HWEK)
|
|
{
|
|
Or(Local0, 0x4, Local0)
|
|
}
|
|
Else
|
|
{
|
|
And(Local0, 0xfb, Local0)
|
|
}
|
|
If(HWRI)
|
|
{
|
|
Or(Local0, 0x10, HAM7)
|
|
}
|
|
Else
|
|
{
|
|
And(Local0, 0xef, HAM7)
|
|
}
|
|
And(HAM4, 0x37, HAM4)
|
|
And(HAM5, 0xcf, HAM5)
|
|
And(HAM7, 0xf6, HAM7)
|
|
}
|
|
Field(ECOR, ByteAcc, Lock, Preserve)
|
|
{
|
|
Offset(0x54),
|
|
HBPU, 8,
|
|
, 8,
|
|
HBST, 16,
|
|
HBRC, 32,
|
|
HBFC, 32,
|
|
HBCC, 32,
|
|
HBVL, 16,
|
|
HBEC, 16,
|
|
HBBT, 16,
|
|
HBNF, 16,
|
|
HBTC, 16,
|
|
HBCT, 16,
|
|
, 32,
|
|
Offset(0x100)
|
|
}
|
|
Field(ECOR, ByteAcc, Lock, Preserve)
|
|
{
|
|
Offset(0x54),
|
|
HBS0, 16,
|
|
HBS1, 16,
|
|
HBS2, 16,
|
|
HBS3, 16,
|
|
HBS4, 16,
|
|
HBS5, 16,
|
|
HBS6, 16,
|
|
HBS7, 16
|
|
}
|
|
Field(ECOR, ByteAcc, Lock, Preserve)
|
|
{
|
|
Offset(0x54),
|
|
HBTS, 8,
|
|
, 8,
|
|
HBSD, 16,
|
|
HBDT, 16,
|
|
HBH0, 16,
|
|
HBL0, 16,
|
|
HBH1, 16,
|
|
HBL1, 16,
|
|
HBH2, 16,
|
|
HBL2, 16,
|
|
HBH3, 16,
|
|
HBL3, 16
|
|
}
|
|
Field(ECOR, ByteAcc, Lock, Preserve)
|
|
{
|
|
Offset(0x54),
|
|
HF_Z, 8,
|
|
HF_D, 8,
|
|
HZIP, 8,
|
|
HDVD, 8,
|
|
HMIT, 8,
|
|
HF_H, 8,
|
|
HHDD, 8,
|
|
HADP, 8,
|
|
HLS_, 8,
|
|
HF_C, 8,
|
|
HR00, 8,
|
|
HCD_, 8,
|
|
HR01, 8,
|
|
HFDD, 8,
|
|
HIMP, 8,
|
|
HNON, 8
|
|
}
|
|
Name(BF_Z, 0x81)
|
|
Name(BF_D, 0x81)
|
|
Name(BZIP, 0x81)
|
|
Name(BDVD, 0x81)
|
|
Name(BMIT, 0x0)
|
|
Name(BF_H, 0x81)
|
|
Name(BHDD, 0x81)
|
|
Name(BADP, 0x0)
|
|
Name(BLS_, 0x81)
|
|
Name(BF_C, 0x81)
|
|
Name(BR00, 0x0)
|
|
Name(BCD_, 0x81)
|
|
Name(BR01, 0x0)
|
|
Name(BFDD, 0x81)
|
|
Name(BIMP, 0x0)
|
|
Name(BNON, 0x0)
|
|
Method(LBAY, 0x1, NotSerialized)
|
|
{
|
|
Acquire(\_SB_.PCI0.ISA0.EC0_.I2CM, 0xffff)
|
|
If(Arg0)
|
|
{
|
|
Store(BF_Z, HF_Z)
|
|
Store(BF_D, HF_D)
|
|
Store(BZIP, HZIP)
|
|
Store(BDVD, HDVD)
|
|
Store(BMIT, HMIT)
|
|
Store(BF_H, HF_H)
|
|
Store(BHDD, HHDD)
|
|
Store(BADP, HADP)
|
|
Store(BLS_, HLS_)
|
|
Store(BF_C, HF_C)
|
|
Store(BR00, HR00)
|
|
Store(BCD_, HCD_)
|
|
Store(BR01, HR01)
|
|
Store(BFDD, HFDD)
|
|
Store(BIMP, HIMP)
|
|
Store(BNON, HNON)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x81, HF_Z)
|
|
Store(0x81, HF_D)
|
|
Store(0x81, HZIP)
|
|
Store(0x81, HDVD)
|
|
Store(0x0, HMIT)
|
|
Store(0x81, HF_H)
|
|
Store(0x81, HHDD)
|
|
Store(0x0, HADP)
|
|
Store(0x81, HLS_)
|
|
Store(0x81, HF_C)
|
|
Store(0x0, HR00)
|
|
Store(0x81, HCD_)
|
|
Store(0x0, HR01)
|
|
Store(0x81, HFDD)
|
|
Store(0x0, HIMP)
|
|
Store(0x0, HNON)
|
|
}
|
|
Store(\_SB_.PCI0.ISA0.EC0_.I2WB(Zero, 0x1, 0x9, 0x10), Local7)
|
|
Release(\_SB_.PCI0.ISA0.EC0_.I2CM)
|
|
If(Local7)
|
|
{
|
|
Fatal(0x1, 0x80000003, Local7)
|
|
}
|
|
}
|
|
Name(TMP0, 0xbb8)
|
|
Name(TMP1, 0xbb8)
|
|
Name(TMP2, 0xbb8)
|
|
Name(TMP3, 0xbb8)
|
|
Name(TMP4, 0xbb8)
|
|
Name(TMP5, 0xbb8)
|
|
Name(TMP6, 0xbb8)
|
|
Name(TMP7, 0xbb8)
|
|
Name(IGNR, 0x2)
|
|
Method(UPDT, 0x0, NotSerialized)
|
|
{
|
|
If(IGNR)
|
|
{
|
|
Decrement(IGNR)
|
|
}
|
|
Else
|
|
{
|
|
If(H8DR)
|
|
{
|
|
If(Acquire(\_SB_.PCI0.ISA0.EC0_.I2CM, 0x64))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(\_SB_.PCI0.ISA0.EC0_.I2RB(Zero, 0x1, 0x4), Local7)
|
|
If(Local7)
|
|
{
|
|
Fatal(0x1, 0x80000003, Local7)
|
|
}
|
|
Else
|
|
{
|
|
Store(HBS0, TMP0)
|
|
Store(HBS1, TMP1)
|
|
Store(HBS2, TMP2)
|
|
Store(HBS3, TMP3)
|
|
Store(HBS4, TMP4)
|
|
Store(HBS5, TMP5)
|
|
Store(HBS6, TMP6)
|
|
Store(HBS7, TMP7)
|
|
}
|
|
Release(\_SB_.PCI0.ISA0.EC0_.I2CM)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Name(F0ON, 0x0)
|
|
Name(F1ON, 0x0)
|
|
Method(SFNP, 0x2, NotSerialized)
|
|
{
|
|
Store(0xffff, Local0)
|
|
If(Arg0)
|
|
{
|
|
Store(Arg1, F1ON)
|
|
If(F0ON)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
If(Arg1)
|
|
{
|
|
Store(0x3, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local0)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Arg1, F0ON)
|
|
If(Arg1)
|
|
{
|
|
Store(0x7, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(F1ON)
|
|
{
|
|
Store(0x3, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local0)
|
|
}
|
|
}
|
|
}
|
|
If(LNot(LEqual(Local0, 0xffff)))
|
|
{
|
|
If(H8DR)
|
|
{
|
|
Store(Local0, HFSP)
|
|
}
|
|
Else
|
|
{
|
|
And(\_SB_.RBEC(0x2f), 0xf8, Local1)
|
|
\_SB_.WBEC(0x2f, Or(Local0, Local1, ))
|
|
}
|
|
}
|
|
}
|
|
Mutex(I2CM, 0x7)
|
|
Method(I2CR, 0x3, NotSerialized)
|
|
{
|
|
If(Acquire(I2CM, 0x3e8))
|
|
{
|
|
Return(0x8080)
|
|
}
|
|
Else
|
|
{
|
|
Store(Arg0, HCSL)
|
|
Store(Or(ShiftLeft(Arg1, 0x1, ), 0x1, ), HMAD)
|
|
Store(Arg2, HMCM)
|
|
Store(0x7, HMPR)
|
|
Store(CHKS(), Local7)
|
|
If(Local7)
|
|
{
|
|
Store(Local7, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Store(HMDT, Local0)
|
|
}
|
|
Release(I2CM)
|
|
}
|
|
Return(Local0)
|
|
}
|
|
Method(I2CW, 0x4, NotSerialized)
|
|
{
|
|
If(Acquire(I2CM, 0x3e8))
|
|
{
|
|
Return(0x8080)
|
|
}
|
|
Else
|
|
{
|
|
Store(Arg0, HCSL)
|
|
Store(Or(ShiftLeft(Arg1, 0x1, ), 0x1, ), HMAD)
|
|
Store(Arg2, HMCM)
|
|
Store(Arg3, HMDT)
|
|
Store(0x6, HMPR)
|
|
Store(CHKS(), Local0)
|
|
Release(I2CM)
|
|
Return(Local0)
|
|
}
|
|
}
|
|
Method(I2RB, 0x3, NotSerialized)
|
|
{
|
|
Store(Arg0, HCSL)
|
|
Store(ShiftLeft(Arg1, 0x1, ), HMAD)
|
|
Store(Arg2, HMCM)
|
|
Store(0xb, HMPR)
|
|
Return(CHKS())
|
|
}
|
|
Method(I2WB, 0x4, NotSerialized)
|
|
{
|
|
Store(Arg0, HCSL)
|
|
Store(ShiftLeft(Arg1, 0x1, ), HMAD)
|
|
Store(Arg2, HMCM)
|
|
Store(Arg3, HMBC)
|
|
Store(0xa, HMPR)
|
|
Return(CHKS())
|
|
}
|
|
Method(CHKS, 0x0, NotSerialized)
|
|
{
|
|
Store(0x3e8, Local0)
|
|
While(HMPR)
|
|
{
|
|
Sleep(0x1)
|
|
Decrement(Local0)
|
|
If(LNot(Local0))
|
|
{
|
|
Return(0x8080)
|
|
}
|
|
}
|
|
If(HMDN)
|
|
{
|
|
If(HMST)
|
|
{
|
|
Return(Or(0x8000, HMST, ))
|
|
}
|
|
Else
|
|
{
|
|
Return(Zero)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Return(0x8081)
|
|
}
|
|
}
|
|
Method(GUID, 0x0, NotSerialized)
|
|
{
|
|
Store(0x0, EID_)
|
|
Or(HDID, 0x80, HDID)
|
|
Store(0x14, Local0)
|
|
While(LAnd(Local0, And(HDID, 0x80, )))
|
|
{
|
|
Sleep(0x1)
|
|
Decrement(Local0)
|
|
}
|
|
Store(HDID, Local0)
|
|
If(And(Local0, 0x80, ))
|
|
{
|
|
Return(0xff)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(HDID, 0xf))
|
|
{
|
|
If(HB1A)
|
|
{
|
|
Store(0x10, Local0)
|
|
}
|
|
}
|
|
Return(Local0)
|
|
}
|
|
}
|
|
Mutex(LEDM, 0x7)
|
|
Method(BLED, 0x2, NotSerialized)
|
|
{
|
|
Acquire(LEDM, 0xffff)
|
|
Store(0x18, HLMS)
|
|
If(Arg1)
|
|
{
|
|
Store(0x18, HLBL)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, HLBL)
|
|
}
|
|
If(LEqual(Arg0, 0x0))
|
|
{
|
|
Store(0x0, HLCL)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x1))
|
|
{
|
|
Store(0x8, HLCL)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x2))
|
|
{
|
|
Store(0x10, HLCL)
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
}
|
|
Sleep(0xa)
|
|
Release(LEDM)
|
|
}
|
|
Method(SYSL, 0x2, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x0))
|
|
{
|
|
Store(0x1, Local0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x1))
|
|
{
|
|
Store(0x80, Local0)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Acquire(LEDM, 0xffff)
|
|
Store(Local0, HLMS)
|
|
If(LEqual(Arg1, 0x0))
|
|
{
|
|
Store(0x0, HLBL)
|
|
Store(0x0, HLCL)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg1, 0x1))
|
|
{
|
|
Store(0x0, HLBL)
|
|
Store(Local0, HLCL)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg1, 0x2))
|
|
{
|
|
Store(Local0, HLBL)
|
|
Store(Local0, HLCL)
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
}
|
|
Sleep(0xa)
|
|
Release(LEDM)
|
|
}
|
|
Name(BAON, 0x0)
|
|
Method(BEEP, 0x1, NotSerialized)
|
|
{
|
|
If(LGreater(Arg0, 0xf))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x0))
|
|
{
|
|
Store(0x0, HSRP)
|
|
Store(Arg0, HSUN)
|
|
Store(0x0, BAON)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0xf))
|
|
{
|
|
Store(0x8, HSRP)
|
|
Store(0x1, BAON)
|
|
Store(Arg0, HSUN)
|
|
}
|
|
Else
|
|
{
|
|
If(BAON)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(Arg0, HSUN)
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
Sleep(0xc8)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x5))
|
|
{
|
|
Sleep(0xc8)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x7))
|
|
{
|
|
Sleep(0x1f4)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Name(WBT0, 0x0)
|
|
Name(WBT1, 0x0)
|
|
Name(BT0I, Package(0xd)
|
|
{
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
0x1,
|
|
0xffffffff,
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
"ThinkPad Battery",
|
|
"",
|
|
"LION",
|
|
"IBM Corporation "
|
|
})
|
|
Name(BT0P, Package(0x4)
|
|
{
|
|
})
|
|
|
|
Device(AMW0)
|
|
{
|
|
Name(_HID, "*pnp0c14")
|
|
Name(_UID, 0x0)
|
|
|
|
Name(_WDG, Buffer() {
|
|
0x5a, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
65, 65, // Object Id (AA)
|
|
1, // Instance Count
|
|
0x05, // Flags (WMIACPI_REGFLAG_EXPENSIVE |
|
|
// WMIACPI_REGFLAG_STRING)
|
|
|
|
0x5b, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
65, 66, // Object Id (AB)
|
|
1, // Instance Count
|
|
0x06, // Flags (WMIACPI_REGFLAG_METHOD |
|
|
// WMIACPI_REGFLAG_STRING)
|
|
|
|
0x5c, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
0xa0, 0, // Notification Id
|
|
1, // Instance Count
|
|
0x08, // Flags (WMIACPI_REGFLAG_EVENT)
|
|
|
|
|
|
0x6a, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
66, 65, // Object Id (BA)
|
|
3, // Instance Count
|
|
0x01, // Flags (WMIACPI_REGFLAG_EXPENSIVE)
|
|
|
|
0x6b, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
66, 66, // Object Id (BB)
|
|
3, // Instance Count
|
|
0x02, // Flags (WMIACPI_REGFLAG_METHOD)
|
|
|
|
0x6c, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
0xb0, 0, // Notification Id
|
|
1, // Instance Count
|
|
0x08, // Flags (WMIACPI_REGFLAG_EVENT)
|
|
|
|
0x7a, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
67, 65, // Object Id (CA)
|
|
3, // Instance Count
|
|
0x00, //
|
|
|
|
})
|
|
|
|
Name(WQCA, Package(5) {
|
|
"Hello",
|
|
Buffer(3) { 1, 3, 5 },
|
|
"World",
|
|
Buffer(1) { 7 },
|
|
0x12345678
|
|
})
|
|
Name(STAA, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
|
|
Name(CCAA, 0)
|
|
|
|
Method(WCAA, 1) {
|
|
Store(Arg0, CCAA)
|
|
}
|
|
|
|
Method(WQAA, 1) {
|
|
if (LEqual(CCAA, Zero)) {
|
|
Return("Bad Data")
|
|
} else {
|
|
Return(STAA)
|
|
}
|
|
}
|
|
|
|
Method(WSAA, 2) {
|
|
Store(Arg1, STAA)
|
|
}
|
|
|
|
Name(ACEN, 0)
|
|
Name(ACED, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
|
|
|
|
Method(WEA0, 1) {
|
|
Store(Arg0, ACEN)
|
|
}
|
|
|
|
Method(WMAB, 3) {
|
|
if (LEqual(Arg1, 1))
|
|
{
|
|
Store(Arg2, ACED)
|
|
if (LEqual(ACEN, 1)) {
|
|
Notify(AMW0, 0xa0)
|
|
}
|
|
Return(Arg2)
|
|
} else {
|
|
Return(Arg1)
|
|
}
|
|
}
|
|
|
|
Name(STB0, Buffer(0x10) {
|
|
1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0
|
|
})
|
|
Name(STB1, Buffer(0x10) {
|
|
0,1,0,0, 0,2,0,0, 0,3,0,0, 0,4,0,0
|
|
})
|
|
Name(STB2, Buffer(0x10) {
|
|
0,0,1,0, 0,0,2,0, 0,0,3,0, 0,0,4,0
|
|
})
|
|
|
|
Method(WQBA, 1) {
|
|
if (LEqual(Arg0, 0)) {
|
|
Return(STB0)
|
|
}
|
|
if (LEqual(Arg0, 1)) {
|
|
Return(STB1)
|
|
}
|
|
if (LEqual(Arg0, 2)) {
|
|
Return(STB2)
|
|
}
|
|
}
|
|
|
|
Method(WSBA, 2) {
|
|
if (LEqual(Arg0, 0)) {
|
|
Store(Arg1, STB0)
|
|
}
|
|
if (LEqual(Arg0, 1)) {
|
|
Store(Arg1, STB1)
|
|
}
|
|
if (LEqual(Arg0, 2)) {
|
|
Store(Arg1, STB2)
|
|
}
|
|
}
|
|
|
|
Name(B0ED, Buffer(0x10) {
|
|
0,0,0,1, 0,0,0,2, 0,0,0,3, 0,0,0,4
|
|
})
|
|
|
|
Method(WMBB, 2) {
|
|
if (LEqual(Arg1, 1))
|
|
{
|
|
Store(Arg2, B0ED)
|
|
Notify(AMW0, 0xB0)
|
|
Return(Arg2)
|
|
} else {
|
|
Return(Arg1)
|
|
}
|
|
}
|
|
|
|
|
|
Method(_WED, 1) {
|
|
if (LEqual(Arg0, 0xA0)) {
|
|
Return(ACED)
|
|
}
|
|
if (LEqual(Arg0, 0xB0)) {
|
|
Return(B0ED)
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Device(AMW1)
|
|
{
|
|
Name(_HID, "*pnp0c14")
|
|
Name(_UID, 0x1)
|
|
|
|
Name(_WDG, Buffer() {
|
|
0x5a, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
65, 65, // Object Id (AA)
|
|
1, // Instance Count
|
|
0x05, // Flags (WMIACPI_REGFLAG_EXPENSIVE |
|
|
// WMIACPI_REGFLAG_STRING)
|
|
|
|
0x5b, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
65, 66, // Object Id (AB)
|
|
1, // Instance Count
|
|
0x06, // Flags (WMIACPI_REGFLAG_METHOD |
|
|
// WMIACPI_REGFLAG_STRING)
|
|
|
|
0x5c, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
0xa0, 0, // Notification Id
|
|
1, // Instance Count
|
|
0x08, // Flags (WMIACPI_REGFLAG_EVENT)
|
|
|
|
|
|
0x6a, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
66, 65, // Object Id (BA)
|
|
3, // Instance Count
|
|
0x01, // Flags (WMIACPI_REGFLAG_EXPENSIVE)
|
|
|
|
0x6b, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
66, 66, // Object Id (BB)
|
|
3, // Instance Count
|
|
0x02, // Flags (WMIACPI_REGFLAG_METHOD)
|
|
|
|
0x6c, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
0xb0, 0, // Notification Id
|
|
1, // Instance Count
|
|
0x08, // Flags (WMIACPI_REGFLAG_EVENT)
|
|
|
|
0x7a, 0x0f, 0xBC, 0xAB, 0xa1, 0x8e, 0xd1, 0x11, 0x00, 0xa0, 0xc9, 0x06, 0x29, 0x10, 0, 0,
|
|
67, 65, // Object Id (CA)
|
|
3, // Instance Count
|
|
0x00, //
|
|
|
|
})
|
|
|
|
Name(WQCA, Package(5) {
|
|
"Hello",
|
|
Buffer(3) { 1, 3, 5 },
|
|
"World",
|
|
Buffer(1) { 7 },
|
|
0x12345678
|
|
})
|
|
Name(STAA, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
|
|
Name(CCAA, 0)
|
|
|
|
Method(WCAA, 1) {
|
|
Store(Arg0, CCAA)
|
|
}
|
|
|
|
Method(WQAA, 1) {
|
|
if (LEqual(CCAA, Zero)) {
|
|
Return("Bad Data")
|
|
} else {
|
|
Return(STAA)
|
|
}
|
|
}
|
|
|
|
Method(WSAA, 2) {
|
|
Store(Arg1, STAA)
|
|
}
|
|
|
|
Name(ACEN, 0)
|
|
Name(ACED, "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")
|
|
|
|
Method(WEA0, 1) {
|
|
Store(Arg0, ACEN)
|
|
}
|
|
|
|
Method(WMAB, 3) {
|
|
if (LEqual(Arg1, 1))
|
|
{
|
|
Store(Arg2, ACED)
|
|
if (LEqual(ACEN, 1)) {
|
|
Notify(AMW0, 0xa0)
|
|
}
|
|
Return(Arg2)
|
|
}
|
|
|
|
Return(Arg1)
|
|
}
|
|
|
|
Name(STB0, Buffer(0x10) {
|
|
1,0,0,0, 2,0,0,0, 3,0,0,0, 4,0,0,0
|
|
})
|
|
Name(STB1, Buffer(0x10) {
|
|
0,1,0,0, 0,2,0,0, 0,3,0,0, 0,4,0,0
|
|
})
|
|
Name(STB2, Buffer(0x10) {
|
|
0,0,1,0, 0,0,2,0, 0,0,3,0, 0,0,4,0
|
|
})
|
|
|
|
Method(WQBA, 1) {
|
|
if (LEqual(Arg0, 0)) {
|
|
Return(STB0)
|
|
}
|
|
if (LEqual(Arg0, 1)) {
|
|
Return(STB1)
|
|
}
|
|
if (LEqual(Arg0, 2)) {
|
|
Return(STB2)
|
|
}
|
|
}
|
|
|
|
Method(WSBA, 2) {
|
|
if (LEqual(Arg0, 0)) {
|
|
Store(Arg1, STB0)
|
|
}
|
|
if (LEqual(Arg0, 1)) {
|
|
Store(Arg1, STB1)
|
|
}
|
|
if (LEqual(Arg0, 2)) {
|
|
Store(Arg1, STB2)
|
|
}
|
|
}
|
|
|
|
Name(B0ED, Buffer(0x10) {
|
|
0,0,0,1, 0,0,0,2, 0,0,0,3, 0,0,0,4
|
|
})
|
|
|
|
Method(WMBB, 3) {
|
|
if (LEqual(Arg1, 1))
|
|
{
|
|
Store(Arg1, B0ED)
|
|
Notify(AMW0, 0xB0)
|
|
Return(Arg2)
|
|
}
|
|
Return(Arg1)
|
|
}
|
|
|
|
|
|
Method(_WED, 1) {
|
|
if (LEqual(Arg0, 0xA0)) {
|
|
Return(ACED)
|
|
}
|
|
if (LEqual(Arg0, 0xB0)) {
|
|
Return(B0ED)
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Device(BAT0)
|
|
{
|
|
Name(_HID, 0xa0cd041)
|
|
Name(_UID, 0x0)
|
|
Name(_PCL, Package(0x1)
|
|
{
|
|
\_SB_
|
|
})
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0xb,
|
|
0x3
|
|
})
|
|
Method(_PSW, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWLB)
|
|
Store(One, WBT0)
|
|
}
|
|
Else
|
|
{
|
|
If(WBT1)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWLB)
|
|
}
|
|
Store(Zero, WBT0)
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(H8DR)
|
|
{
|
|
If(HB0A)
|
|
{
|
|
Return(0x1f)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xf)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(And(\_SB_.RBEC(0x38), 0x80, ))
|
|
{
|
|
Return(0x1f)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xf)
|
|
}
|
|
}
|
|
}
|
|
Method(_BIF, 0x0, NotSerialized)
|
|
{
|
|
Acquire(I2CM, 0xffff)
|
|
Store(I2RB(Zero, 0x1, 0x10), Local7)
|
|
If(LEqual(Local7, Zero))
|
|
{
|
|
Store(HBPU, Index(BT0I, 0x0, ))
|
|
Store(HBRC, Index(BT0I, 0x1, ))
|
|
Store(HBFC, Index(BT0I, 0x2, ))
|
|
Store(0xffffffff, Index(BT0I, 0x4, ))
|
|
Store(HBRC, Local0)
|
|
Store(Divide(Local0, 0x14, , ), Index(BT0I, 0x5, ))
|
|
Store(Divide(Local0, 0x21, , ), Index(BT0I, 0x6, ))
|
|
}
|
|
Release(I2CM)
|
|
If(Local7)
|
|
{
|
|
Fatal(0x1, 0x80000003, Local7)
|
|
}
|
|
Return(BT0I)
|
|
}
|
|
Method(_BST, 0x0, NotSerialized)
|
|
{
|
|
Acquire(I2CM, 0xffff)
|
|
Store(I2RB(Zero, 0x1, 0x10), Local7)
|
|
If(Local7)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(HBVL, Local0)
|
|
Store(Local0, Index(BT0P, 0x3, ))
|
|
Store(HBCC, Index(BT0P, 0x2, ))
|
|
Store(HBEC, Local1)
|
|
If(LNot(LLess(Local1, 0x8000)))
|
|
{
|
|
Store(Subtract(0x10000, Local1, ), Local2)
|
|
}
|
|
Else
|
|
{
|
|
Store(Local1, Local2)
|
|
}
|
|
Multiply(Local0, Local2, Local1)
|
|
Store(Divide(Local1, 0x3e8, , ), Index(BT0P, 0x1, ))
|
|
If(HB0C)
|
|
{
|
|
Store(0x2, Index(BT0P, 0x0, ))
|
|
}
|
|
Else
|
|
{
|
|
If(HB0D)
|
|
{
|
|
Store(0x1, Index(BT0P, 0x0, ))
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Index(BT0P, 0x0, ))
|
|
}
|
|
}
|
|
If(LGreater(HB0L, 0x3))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Or(DerefOf(Index(BT0P, 0x0, )), 0x4, Index(BT0P, 0x0, ))
|
|
}
|
|
}
|
|
Release(I2CM)
|
|
Return(BT0P)
|
|
}
|
|
Method(_BTP, 0x1, NotSerialized)
|
|
{
|
|
Or(HAM4, 0x10, HAM4)
|
|
Divide(Arg0, 0xa, Local0, Local1)
|
|
And(Local1, 0xff, HT0L)
|
|
And(ShiftRight(Local1, 0x8, ), 0xff, HT0H)
|
|
}
|
|
}
|
|
Name(BT1I, Package(0xd)
|
|
{
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
0x1,
|
|
0xffffffff,
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
"ThinkPad Battery",
|
|
"",
|
|
"LION",
|
|
"IBM Corporation "
|
|
})
|
|
Name(BT1P, Package(0x4)
|
|
{
|
|
})
|
|
Device(BAT1)
|
|
{
|
|
Name(_HID, 0xa0cd041)
|
|
Name(_UID, 0x1)
|
|
Name(_PCL, Package(0x1)
|
|
{
|
|
\_SB_
|
|
})
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0xb,
|
|
0x3
|
|
})
|
|
Method(_PSW, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWLB)
|
|
Store(One, WBT1)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWLB)
|
|
Store(Zero, WBT1)
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(H8DR)
|
|
{
|
|
If(HB1A)
|
|
{
|
|
Return(0x1f)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xf)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(And(\_SB_.RBEC(0x39), 0x80, ))
|
|
{
|
|
Return(0x1f)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xf)
|
|
}
|
|
}
|
|
}
|
|
Method(_BIF, 0x0, NotSerialized)
|
|
{
|
|
Acquire(I2CM, 0xffff)
|
|
Store(I2RB(Zero, 0x1, 0x11), Local7)
|
|
If(LEqual(Local7, Zero))
|
|
{
|
|
Store(HBPU, Index(BT1I, 0x0, ))
|
|
Store(HBRC, Index(BT1I, 0x1, ))
|
|
Store(HBFC, Index(BT1I, 0x2, ))
|
|
Store(0xffffffff, Index(BT1I, 0x4, ))
|
|
Store(HBRC, Local0)
|
|
Store(Divide(Local0, 0x5, , ), Index(BT1I, 0x5, ))
|
|
Store(Divide(Local0, 0xa, , ), Index(BT1I, 0x6, ))
|
|
}
|
|
Release(I2CM)
|
|
If(Local7)
|
|
{
|
|
Fatal(0x1, 0x80000003, Local7)
|
|
}
|
|
Return(BT1I)
|
|
}
|
|
Method(_BST, 0x0, NotSerialized)
|
|
{
|
|
Acquire(I2CM, 0xffff)
|
|
Store(I2RB(Zero, 0x1, 0x11), Local7)
|
|
If(Local7)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(HBVL, Local0)
|
|
Store(Local0, Index(BT1P, 0x3, ))
|
|
Store(HBCC, Index(BT1P, 0x2, ))
|
|
Store(HBEC, Local1)
|
|
If(LNot(LLess(Local1, 0x8000)))
|
|
{
|
|
Store(Subtract(0x10000, Local1, ), Local2)
|
|
}
|
|
Else
|
|
{
|
|
Store(Local1, Local2)
|
|
}
|
|
Multiply(Local0, Local2, Local1)
|
|
Store(Divide(Local1, 0x3e8, , ), Index(BT1P, 0x1, ))
|
|
If(HB1C)
|
|
{
|
|
Store(0x2, Index(BT1P, 0x0, ))
|
|
}
|
|
Else
|
|
{
|
|
If(HB1D)
|
|
{
|
|
Store(0x1, Index(BT1P, 0x0, ))
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Index(BT1P, 0x0, ))
|
|
}
|
|
}
|
|
If(LGreater(HB1L, 0x3))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Or(DerefOf(Index(BT1P, 0x0, )), 0x4, Index(BT1P, 0x0, ))
|
|
}
|
|
}
|
|
Release(I2CM)
|
|
Return(BT1P)
|
|
}
|
|
Method(_BTP, 0x1, NotSerialized)
|
|
{
|
|
Or(HAM4, 0x20, HAM4)
|
|
Divide(Arg0, 0xa, Local0, Local1)
|
|
And(Local1, 0xff, HT1L)
|
|
And(ShiftRight(Local1, 0x8, ), 0xff, HT1H)
|
|
}
|
|
}
|
|
Device(AC__)
|
|
{
|
|
Name(_HID, "ACPI0003")
|
|
Name(_UID, 0x0)
|
|
Name(_PCL, Package(0x1)
|
|
{
|
|
\_SB_
|
|
})
|
|
Method(_PSR, 0x0, NotSerialized)
|
|
{
|
|
Return(HPAC)
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
}
|
|
Method(_Q11, 0x0, NotSerialized)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x7111, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
Method(_Q13, 0x0, NotSerialized)
|
|
{
|
|
Notify(\_SB_.SLPB, 0x80)
|
|
}
|
|
Method(_Q16, 0x0, NotSerialized)
|
|
{
|
|
Return(\_SB_.PCI0.VID0.VSWT())
|
|
}
|
|
Method(_Q17, 0x0, NotSerialized)
|
|
{
|
|
Return(\_SB_.PCI0.VID0.VEXP())
|
|
}
|
|
Method(_Q20, 0x0, NotSerialized)
|
|
{
|
|
Notify(BAT0, 0x80)
|
|
Notify(BAT1, 0x80)
|
|
}
|
|
Method(_Q21, 0x0, NotSerialized)
|
|
{
|
|
Notify(BAT0, 0x80)
|
|
Notify(BAT1, 0x80)
|
|
}
|
|
Method(_Q22, 0x0, NotSerialized)
|
|
{
|
|
Notify(BAT0, 0x80)
|
|
Notify(BAT1, 0x80)
|
|
}
|
|
Method(_Q23, 0x0, NotSerialized)
|
|
{
|
|
Notify(BAT0, 0x81)
|
|
Notify(BAT1, 0x81)
|
|
Notify(BAT0, 0x80)
|
|
Notify(BAT1, 0x80)
|
|
Notify(\_TZ_.THM6, 0x80)
|
|
Notify(\_TZ_.THM7, 0x80)
|
|
}
|
|
Method(_Q24, 0x0, NotSerialized)
|
|
{
|
|
Notify(BAT0, 0x80)
|
|
}
|
|
Method(_Q25, 0x0, NotSerialized)
|
|
{
|
|
Notify(BAT1, 0x80)
|
|
}
|
|
Method(_Q26, 0x0, NotSerialized)
|
|
{
|
|
HBDS()
|
|
Notify(AC__, 0x0)
|
|
}
|
|
Method(_Q27, 0x0, NotSerialized)
|
|
{
|
|
HBEN()
|
|
Notify(AC__, 0x0)
|
|
}
|
|
Method(_Q40, 0x0, NotSerialized)
|
|
{
|
|
\_TZ_.THM0.UPSV()
|
|
Notify(\_TZ_.THM0, 0x81)
|
|
}
|
|
Method(_Q41, 0x0, NotSerialized)
|
|
{
|
|
\_TZ_.THM1.UPSV()
|
|
Notify(\_TZ_.THM1, 0x81)
|
|
}
|
|
Method(_Q42, 0x0, NotSerialized)
|
|
{
|
|
\_TZ_.THM2.UPSV()
|
|
Notify(\_TZ_.THM2, 0x81)
|
|
}
|
|
Method(_Q44, 0x0, NotSerialized)
|
|
{
|
|
\_TZ_.THM4.UPSV()
|
|
Notify(\_TZ_.THM4, 0x81)
|
|
}
|
|
Method(_Q45, 0x0, NotSerialized)
|
|
{
|
|
\_TZ_.THM5.UPSV()
|
|
Notify(\_TZ_.THM5, 0x81)
|
|
}
|
|
Method(_Q46, 0x0, NotSerialized)
|
|
{
|
|
\_TZ_.THM6.UPSV()
|
|
Notify(\_TZ_.THM6, 0x81)
|
|
}
|
|
Method(_Q47, 0x0, NotSerialized)
|
|
{
|
|
\_TZ_.THM7.UPSV()
|
|
Notify(\_TZ_.THM7, 0x81)
|
|
}
|
|
Method(_Q2A, 0x0, NotSerialized)
|
|
{
|
|
Notify(\_SB_.LID0, 0x80)
|
|
}
|
|
Method(_Q2B, 0x0, NotSerialized)
|
|
{
|
|
Notify(\_SB_.LID0, 0x80)
|
|
}
|
|
Method(_Q37, 0x0, NotSerialized)
|
|
{
|
|
If(H8DR)
|
|
{
|
|
Store(\_SB_.PCI0.ISA0.EC0_.I2CR(Zero, 0x40, 0x4), Local0)
|
|
If(LEqual(And(Local0, 0x8000, ), 0x8000))
|
|
{
|
|
Store(0x0, Local0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9012, S_BX)
|
|
Store(0x4, S_CX)
|
|
SMPI(0x81)
|
|
If(S_AH)
|
|
{
|
|
Store(0x0, Local0)
|
|
}
|
|
Else
|
|
{
|
|
And(S_CH, 0xf0, Local0)
|
|
}
|
|
}
|
|
If(LEqual(Local0, 0x10))
|
|
{
|
|
Notify(\_SB_.PCI0.DOCK, 0x0)
|
|
}
|
|
If(LEqual(Local0, 0x40))
|
|
{
|
|
Signal(\_SB_.PCI0.DOCK.CNCT)
|
|
}
|
|
If(LEqual(Local0, 0x20))
|
|
{
|
|
Notify(\_SB_.PCI0.DOCK, 0x1)
|
|
}
|
|
If(LEqual(Local0, 0x50))
|
|
{
|
|
If(H8DR)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.I2CW(Zero, 0x40, 0x5, 0xc)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9012, S_BX)
|
|
Store(0xc05, S_CX)
|
|
SMPI(0x81)
|
|
}
|
|
Signal(\_SB_.PCI0.DOCK.EJT0)
|
|
}
|
|
}
|
|
Method(_Q3B, 0x0, NotSerialized)
|
|
{
|
|
Store(SMSC, Local0)
|
|
Store(0xf, SMSC)
|
|
If(LAnd(Local0, 0x4))
|
|
{
|
|
Return(\_SB_.PCI0.VID0.VECC())
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
Method(_Q3D, 0x0, NotSerialized)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x90c0, S_BX)
|
|
Store(0x0, S_CX)
|
|
SMPI(0x81)
|
|
}
|
|
Method(_Q7F, 0x0, NotSerialized)
|
|
{
|
|
Or(ACI_, 0x1, ACI_)
|
|
And(ACI_, 0xfe, ACI_)
|
|
}
|
|
Name(HBLK, 0x1)
|
|
Name(BDEV, 0x0)
|
|
Name(BERR, 0x0)
|
|
Event(EBEJ)
|
|
Method(_Q2C, 0x0, NotSerialized)
|
|
{
|
|
If(LEqual(BERR, 0x2))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
If(HBLK)
|
|
{
|
|
Store(GUID(), BDEV)
|
|
NBEJ()
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
}
|
|
Method(_Q2D, 0x0, NotSerialized)
|
|
{
|
|
If(LEqual(BERR, 0x2))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Reset(EBEJ)
|
|
Store(GUID(), BDEV)
|
|
NBIN()
|
|
}
|
|
}
|
|
Method(_Q38, 0x0, NotSerialized)
|
|
{
|
|
Sleep(0x64)
|
|
If(LEqual(BERR, 0x2))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(GUID(), Local0)
|
|
If(LEqual(Local0, 0xf))
|
|
{
|
|
If(HBLK)
|
|
{
|
|
BLED(0x2, 0x0)
|
|
BEEP(0xa)
|
|
Store(0x2, BERR)
|
|
}
|
|
Else
|
|
{
|
|
BLED(0x0, 0x0)
|
|
If(LEqual(Local0, 0x10))
|
|
{
|
|
Notify(BAT1, 0x81)
|
|
}
|
|
}
|
|
Signal(EBEJ)
|
|
}
|
|
Else
|
|
{
|
|
If(HBLK)
|
|
{
|
|
Store(GUID(), BDEV)
|
|
NBIN()
|
|
Reset(EBEJ)
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Method(NBEJ, 0x0, NotSerialized)
|
|
{
|
|
Store(BDEV, Local0)
|
|
If(LEqual(Local0, 0xff))
|
|
{
|
|
BLED(0x0, 0x0)
|
|
Store(One, HBLK)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xf))
|
|
{
|
|
BLED(0x0, 0x0)
|
|
Store(Zero, HBLK)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x10))
|
|
{
|
|
If(HPAC)
|
|
{
|
|
BLED(0x1, 0x0)
|
|
Store(Zero, HBLK)
|
|
}
|
|
Else
|
|
{
|
|
If(HB0A)
|
|
{
|
|
BLED(0x1, 0x0)
|
|
Store(Zero, HBLK)
|
|
}
|
|
Else
|
|
{
|
|
BLED(0x2, 0x1)
|
|
BEEP(0xf)
|
|
Store(One, HBLK)
|
|
Store(0x1, BERR)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xd))
|
|
{
|
|
BLED(0x1, 0x1)
|
|
Notify(\_SB_.PCI0.ISA0.FDC0.FDD0, 0x1)
|
|
}
|
|
Else
|
|
{
|
|
BLED(0x1, 0x1)
|
|
If(\_SB_.PCI0.ISA0.GCR4)
|
|
{
|
|
Notify(\_SB_.PCI0.IDE0.IDEP.IDPS, 0x1)
|
|
}
|
|
Else
|
|
{
|
|
Notify(\_SB_.PCI0.IDE0.IDES.IDSM, 0x1)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Method(NBIN, 0x0, NotSerialized)
|
|
{
|
|
Store(BDEV, Local0)
|
|
If(LEqual(Local0, 0xff))
|
|
{
|
|
\UBON()
|
|
BLED(0x0, 0x0)
|
|
Store(One, HBLK)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xf))
|
|
{
|
|
BLED(0x0, 0x0)
|
|
Store(One, HBLK)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x10))
|
|
{
|
|
BLED(0x0, 0x0)
|
|
Notify(BAT1, 0x81)
|
|
Store(One, HBLK)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xd))
|
|
{
|
|
\UBON()
|
|
BLED(0x1, 0x1)
|
|
Notify(\_SB_.PCI0.ISA0.FDC0.FDD0, 0x0)
|
|
}
|
|
Else
|
|
{
|
|
BLED(0x1, 0x1)
|
|
\UBON()
|
|
If(\_SB_.PCI0.ISA0.GCR4)
|
|
{
|
|
Notify(\_SB_.PCI0.IDE0.IDEP.IDPS, 0x0)
|
|
}
|
|
Else
|
|
{
|
|
Notify(\_SB_.PCI0.IDE0.IDES.IDSM, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Method(LCKB, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(One, HBLK)
|
|
BLED(0x0, 0x0)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, HBLK)
|
|
}
|
|
}
|
|
Method(BEJ_, 0x0, NotSerialized)
|
|
{
|
|
BLED(0x1, 0x0)
|
|
\UBOF()
|
|
Wait(EBEJ, 0xffff)
|
|
}
|
|
Method(BPTS, 0x1, NotSerialized)
|
|
{
|
|
If(LGreater(Arg0, 0x4))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
If(LGreater(Arg0, 0x2))
|
|
{
|
|
If(BERR)
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(GUID(), BDEV)
|
|
}
|
|
LBAY(0x0)
|
|
}
|
|
Else
|
|
{
|
|
LBAY(0x0)
|
|
}
|
|
And(HAM7, 0xfe, HAM7)
|
|
If(BAON)
|
|
{
|
|
BEEP(0x0)
|
|
}
|
|
}
|
|
}
|
|
Method(BWAK, 0x1, NotSerialized)
|
|
{
|
|
If(LGreater(Arg0, 0x4))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
If(LGreater(Arg0, 0x2))
|
|
{
|
|
If(LEqual(BERR, 0x2))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(GUID(), Local3)
|
|
If(BERR)
|
|
{
|
|
If(LNot(LEqual(Local3, BDEV)))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, BERR)
|
|
BEEP(0x0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(LNot(LEqual(Local3, BDEV)))
|
|
{
|
|
Store(Local3, BDEV)
|
|
NBIN()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
Or(HAM7, 0x1, HAM7)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(IDE0)
|
|
{
|
|
Name(_ADR, 0x10001)
|
|
OperationRegion(X140, PCI_Config, 0x40, 0x10)
|
|
Field(X140, DWordAcc, NoLock, Preserve)
|
|
{
|
|
, 1,
|
|
XPI0, 1,
|
|
, 2,
|
|
, 1,
|
|
XPI1, 1,
|
|
, 2,
|
|
XPRT, 2,
|
|
, 2,
|
|
XPIS, 2,
|
|
XPSE, 1,
|
|
XPE_, 1,
|
|
, 1,
|
|
XSI0, 1,
|
|
, 2,
|
|
, 1,
|
|
XSI1, 1,
|
|
, 2,
|
|
XSRT, 2,
|
|
, 2,
|
|
XSIS, 2,
|
|
XSSE, 1,
|
|
XSE_, 1,
|
|
XVRT, 2,
|
|
XVIS, 2,
|
|
, 4,
|
|
, 24,
|
|
XEP0, 1,
|
|
XEP1, 1,
|
|
XES0, 1,
|
|
XES1, 1,
|
|
, 4,
|
|
, 8,
|
|
XUP0, 2,
|
|
, 2,
|
|
XUP1, 2,
|
|
, 2,
|
|
XUS0, 2,
|
|
, 2,
|
|
XUS1, 2,
|
|
, 2
|
|
}
|
|
Method(CHKB, 0x0, NotSerialized)
|
|
{
|
|
Store(\_SB_.PCI0.ISA0.EC0_.GUID(), Local0)
|
|
If(LEqual(Local0, 0x0))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x1))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x2))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x3))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x5))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x6))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x8))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x9))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0xb))
|
|
{
|
|
Return(0x1)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(IDEP)
|
|
{
|
|
Name(_ADR, 0x0)
|
|
Method(_GTM, 0x0, NotSerialized)
|
|
{
|
|
Subtract(0x5, XPIS, Local0)
|
|
Subtract(0x4, XPRT, Local1)
|
|
Add(Local0, Local1, Local0)
|
|
Multiply(0x1e, Local0, Local0)
|
|
If(LGreater(Local0, 0xf0))
|
|
{
|
|
Store(0x384, Local0)
|
|
}
|
|
If(XEP0)
|
|
{
|
|
Store(0x11, Local4)
|
|
If(LEqual(XUP0, 0x0))
|
|
{
|
|
Store(0x78, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(XUP0, 0x1))
|
|
{
|
|
Store(0x50, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x3c, Local1)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x10, Local4)
|
|
Store(Local0, Local1)
|
|
}
|
|
If(XPI0)
|
|
{
|
|
Or(Local4, 0x2, Local4)
|
|
}
|
|
If(XPSE)
|
|
{
|
|
Subtract(0x5, XVIS, Local2)
|
|
Subtract(0x4, XVRT, Local3)
|
|
Add(Local2, Local3, Local2)
|
|
Multiply(0x1e, Local2, Local2)
|
|
If(LGreater(Local2, 0xf0))
|
|
{
|
|
Store(0x384, Local2)
|
|
}
|
|
If(XEP1)
|
|
{
|
|
Or(Local4, 0x4, Local4)
|
|
If(LEqual(XUP1, 0x0))
|
|
{
|
|
Store(0x78, Local3)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(XUP1, 0x1))
|
|
{
|
|
Store(0x50, Local3)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x3c, Local3)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Local2, Local3)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Local0, Local2)
|
|
Store(Local1, Local3)
|
|
}
|
|
If(XPI1)
|
|
{
|
|
Or(Local4, 0x8, Local4)
|
|
}
|
|
Store(Local0, GTP0)
|
|
Store(Local1, GTD0)
|
|
Store(Local2, GTP1)
|
|
Store(Local3, GTD1)
|
|
Store(Local4, GTMF)
|
|
Return(BGTM)
|
|
}
|
|
Method(_STM, 0x3, NotSerialized)
|
|
{
|
|
CreateDWordField(Arg0, 0x0, STP0)
|
|
CreateDWordField(Arg0, 0x4, STD0)
|
|
CreateDWordField(Arg0, 0x8, STP1)
|
|
CreateDWordField(Arg0, 0xc, STD1)
|
|
CreateDWordField(Arg0, 0x10, STMF)
|
|
If(And(STMF, 0x2, ))
|
|
{
|
|
Store(One, XPI0)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XPI0)
|
|
}
|
|
If(And(STMF, 0x8, ))
|
|
{
|
|
Store(One, XPI1)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XPI1)
|
|
}
|
|
If(LGreater(STP0, 0x78))
|
|
{
|
|
If(LGreater(STP0, 0xb4))
|
|
{
|
|
If(LGreater(STP0, 0xf0))
|
|
{
|
|
Store(0x0, XPIS)
|
|
Store(0x0, XPRT)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XPIS)
|
|
Store(0x0, XPRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XPIS)
|
|
Store(0x1, XPRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XPIS)
|
|
Store(0x3, XPRT)
|
|
}
|
|
If(And(STMF, 0x1, ))
|
|
{
|
|
Store(One, XEP0)
|
|
If(LGreater(STD0, 0x3c))
|
|
{
|
|
If(LGreater(STD0, 0x50))
|
|
{
|
|
Store(0x0, XUP0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XUP0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XUP0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XEP0)
|
|
}
|
|
If(STP1)
|
|
{
|
|
Store(One, XPSE)
|
|
If(LGreater(STP1, 0x78))
|
|
{
|
|
If(LGreater(STP1, 0xb4))
|
|
{
|
|
If(LGreater(STP1, 0xf0))
|
|
{
|
|
Store(0x0, XVIS)
|
|
Store(0x0, XVRT)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XVIS)
|
|
Store(0x0, XVRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XVIS)
|
|
Store(0x1, XVRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XVIS)
|
|
Store(0x3, XVRT)
|
|
}
|
|
If(And(STMF, 0x4, ))
|
|
{
|
|
Store(One, XEP1)
|
|
If(LGreater(STD1, 0x3c))
|
|
{
|
|
If(LGreater(STD1, 0x50))
|
|
{
|
|
Store(0x0, XUP1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XUP1)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XUP1)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XEP1)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XPSE)
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(XPE_)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x1)
|
|
}
|
|
}
|
|
Device(IDPM)
|
|
{
|
|
Name(_ADR, 0x0)
|
|
Method(_GTF, 0x0, NotSerialized)
|
|
{
|
|
Store(0xa0, IDC0)
|
|
Store(0xa0, IDC1)
|
|
Return(ICMD)
|
|
}
|
|
}
|
|
Device(IDPS)
|
|
{
|
|
Name(_ADR, 0x1)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.GCR4)
|
|
{
|
|
If(XPSE)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Method(_EJ0, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.BEJ_()
|
|
}
|
|
}
|
|
Method(_LCK, 0x1, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.LCKB(Arg0)
|
|
}
|
|
Method(_GTF, 0x0, NotSerialized)
|
|
{
|
|
If(LEqual(\_SB_.PCI0.ISA0.EC0_.GUID(), 0x6))
|
|
{
|
|
Store(0xb0, IDC0)
|
|
Store(0xb0, IDC1)
|
|
Return(ICMD)
|
|
}
|
|
Else
|
|
{
|
|
Store(0xb0, ICC0)
|
|
Return(ICMC)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(IDES)
|
|
{
|
|
Name(_ADR, 0x1)
|
|
Method(_GTM, 0x0, NotSerialized)
|
|
{
|
|
Subtract(0x5, XSIS, Local0)
|
|
Subtract(0x4, XSRT, Local1)
|
|
Add(Local0, Local1, Local0)
|
|
Multiply(0x1e, Local0, Local0)
|
|
If(LGreater(Local0, 0xf0))
|
|
{
|
|
Store(0x384, Local0)
|
|
}
|
|
If(XES0)
|
|
{
|
|
Store(0x11, Local2)
|
|
If(LEqual(XUS0, 0x0))
|
|
{
|
|
Store(0x78, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(XUS0, 0x1))
|
|
{
|
|
Store(0x50, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x3c, Local1)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x10, Local2)
|
|
Store(Local0, Local1)
|
|
}
|
|
If(XSI0)
|
|
{
|
|
Or(Local2, 0x2, Local2)
|
|
}
|
|
Store(Local0, GTP0)
|
|
Store(Local1, GTD0)
|
|
Store(Zero, GTP1)
|
|
Store(Zero, GTD1)
|
|
Store(Local2, GTMF)
|
|
Return(BGTM)
|
|
}
|
|
Method(_STM, 0x3, NotSerialized)
|
|
{
|
|
CreateDWordField(Arg0, 0x0, STP0)
|
|
CreateDWordField(Arg0, 0x4, STD0)
|
|
CreateDWordField(Arg0, 0x8, STP1)
|
|
CreateDWordField(Arg0, 0xc, STD1)
|
|
CreateDWordField(Arg0, 0x10, STMF)
|
|
If(And(STMF, 0x2, ))
|
|
{
|
|
Store(One, XSI0)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XSI0)
|
|
}
|
|
If(LGreater(STP0, 0x78))
|
|
{
|
|
If(LGreater(STP0, 0xb4))
|
|
{
|
|
If(LGreater(STP0, 0xf0))
|
|
{
|
|
Store(0x0, XSIS)
|
|
Store(0x0, XSRT)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XSIS)
|
|
Store(0x0, XSRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XSIS)
|
|
Store(0x1, XSRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XSIS)
|
|
Store(0x3, XSRT)
|
|
}
|
|
If(And(STMF, 0x1, ))
|
|
{
|
|
Store(One, XES0)
|
|
If(LGreater(STD0, 0x3c))
|
|
{
|
|
If(LGreater(STD0, 0x50))
|
|
{
|
|
Store(0x0, XUS0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XUS0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XUS0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XES0)
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.GCR4)
|
|
{
|
|
Return(0x0)
|
|
}
|
|
Else
|
|
{
|
|
If(XSE_)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x1)
|
|
}
|
|
}
|
|
}
|
|
Device(IDSM)
|
|
{
|
|
Name(_ADR, 0x0)
|
|
Method(_EJ0, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.BEJ_()
|
|
}
|
|
}
|
|
Method(_LCK, 0x1, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.LCKB(Arg0)
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.GCR4)
|
|
{
|
|
Return(0x0)
|
|
}
|
|
Else
|
|
{
|
|
If(XSE_)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
}
|
|
Method(_GTF, 0x0, NotSerialized)
|
|
{
|
|
If(LEqual(\_SB_.PCI0.ISA0.EC0_.GUID(), 0x6))
|
|
{
|
|
Store(0xa0, IDC0)
|
|
Store(0xa0, IDC1)
|
|
Return(ICMD)
|
|
}
|
|
Else
|
|
{
|
|
Store(0xa0, ICC0)
|
|
Return(ICMC)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(PM00)
|
|
{
|
|
Name(_ADR, 0x10003)
|
|
OperationRegion(X3DA, PCI_Config, 0x5c, 0x4)
|
|
Field(X3DA, DWordAcc, NoLock, Preserve)
|
|
{
|
|
XA1E, 1,
|
|
XA1D, 2,
|
|
XA2E, 1,
|
|
, 1,
|
|
XA2A, 2,
|
|
XA3E, 1,
|
|
XA3A, 2,
|
|
, 15,
|
|
XA0E, 1,
|
|
, 5,
|
|
XPE_, 1
|
|
}
|
|
OperationRegion(X3DB, PCI_Config, 0x60, 0x4)
|
|
Field(X3DB, DWordAcc, NoLock, Preserve)
|
|
{
|
|
XG9A, 16,
|
|
, 4,
|
|
XGAM, 1,
|
|
, 3,
|
|
XMSS, 1,
|
|
XPA_, 2,
|
|
, 1,
|
|
XFA_, 1,
|
|
XFE_, 1,
|
|
, 2
|
|
}
|
|
OperationRegion(X3DC, PCI_Config, 0x64, 0x4)
|
|
Field(X3DC, DWordAcc, NoLock, Preserve)
|
|
{
|
|
XGAD, 16,
|
|
, 8,
|
|
XU1A, 3,
|
|
XU1E, 1,
|
|
XU2A, 3,
|
|
XU2E, 1
|
|
}
|
|
OperationRegion(SMBC, PCI_Config, 0xd2, 0x1)
|
|
Field(SMBC, ByteAcc, NoLock, Preserve)
|
|
{
|
|
SBHE, 1,
|
|
SBIS, 3
|
|
}
|
|
OperationRegion(SMBR, SystemIO, 0xefa0, 0x6)
|
|
Field(SMBR, ByteAcc, NoLock, Preserve)
|
|
{
|
|
SBHS, 8,
|
|
SBSS, 8,
|
|
SBHC, 8,
|
|
SBCM, 8,
|
|
SBAD, 8,
|
|
SBDT, 8
|
|
}
|
|
Mutex(MSMB, 0x7)
|
|
Method(RSMB, 0x2, NotSerialized)
|
|
{
|
|
Acquire(MSMB, 0xffff)
|
|
Store(SBHE, Local0)
|
|
Store(SBIS, Local1)
|
|
Store(0x0, SBIS)
|
|
Store(0x1, SBHE)
|
|
Store(0xff, Local2)
|
|
While(LAnd(And(SBHS, 0x1, ), Local2))
|
|
{
|
|
Stall(0x15)
|
|
Decrement(Local2)
|
|
}
|
|
Store(0xff, Local2)
|
|
While(LAnd(And(SBSS, 0x1, ), Local2))
|
|
{
|
|
Stall(0x15)
|
|
Decrement(Local2)
|
|
}
|
|
Store(0x1e, SBHS)
|
|
Store(0x3c, SBSS)
|
|
Store(SBHC, Local2)
|
|
Store(Or(ShiftLeft(Arg0, 0x1, ), 0x1, ), SBAD)
|
|
Store(Arg1, SBCM)
|
|
Store(0x8, SBHC)
|
|
Store(0x48, SBHC)
|
|
Store(0xff, Local2)
|
|
While(LAnd(And(SBHS, 0x1, ), Local2))
|
|
{
|
|
Stall(0x15)
|
|
Decrement(Local2)
|
|
}
|
|
Store(0xff, Local2)
|
|
While(LAnd(LNot(And(SBHS, 0x2, )), Local2))
|
|
{
|
|
Stall(0x15)
|
|
Decrement(Local2)
|
|
}
|
|
Store(Or(SBHS, 0x2, ), SBHS)
|
|
Store(SBDT, Local3)
|
|
Store(SBHC, Local2)
|
|
Store(Local1, SBIS)
|
|
Store(Local0, SBHE)
|
|
Release(MSMB)
|
|
Return(Local3)
|
|
}
|
|
}
|
|
Device(USB0)
|
|
{
|
|
Name(_ADR, 0x10002)
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0x8,
|
|
0x2
|
|
})
|
|
}
|
|
Device(DOCK)
|
|
{
|
|
Name(_ADR, 0x40000)
|
|
OperationRegion(X400, PCI_Config, 0x0, 0x100)
|
|
Field(X400, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0xd0),
|
|
KNX0, 16,
|
|
KNX1, 16,
|
|
KNY0, 16,
|
|
KNY1, 16,
|
|
, 32,
|
|
KNPC, 8,
|
|
, 24,
|
|
KND0, 8,
|
|
KNB0, 8,
|
|
KNB1, 8,
|
|
KNWC, 8,
|
|
KNT0, 8,
|
|
KNT1, 8,
|
|
KNRC, 8,
|
|
KNRS, 8,
|
|
KNAC, 8,
|
|
KNDM, 8,
|
|
KNMC, 16,
|
|
KNNB, 16,
|
|
KNNL, 16,
|
|
KNR0, 32,
|
|
KNR1, 32,
|
|
KNR2, 32,
|
|
KNR3, 32
|
|
}
|
|
Name(_PRT, Package(0xf)
|
|
{
|
|
Package(0x4)
|
|
{
|
|
0xffff,
|
|
0x3,
|
|
\_SB_.LNKD,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x1ffff,
|
|
0x0,
|
|
\_SB_.LNKB,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x2ffff,
|
|
0x0,
|
|
\_SB_.LNKC,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x4ffff,
|
|
0x0,
|
|
\_SB_.LNKA,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x4ffff,
|
|
0x1,
|
|
\_SB_.LNKB,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x4ffff,
|
|
0x2,
|
|
\_SB_.LNKC,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x4ffff,
|
|
0x3,
|
|
\_SB_.LNKD,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x5ffff,
|
|
0x0,
|
|
\_SB_.LNKB,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x5ffff,
|
|
0x1,
|
|
\_SB_.LNKC,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x5ffff,
|
|
0x2,
|
|
\_SB_.LNKD,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x5ffff,
|
|
0x3,
|
|
\_SB_.LNKA,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x6ffff,
|
|
0x0,
|
|
\_SB_.LNKC,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x6ffff,
|
|
0x1,
|
|
\_SB_.LNKD,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x6ffff,
|
|
0x2,
|
|
\_SB_.LNKA,
|
|
0x0
|
|
},
|
|
Package(0x4)
|
|
{
|
|
0x6ffff,
|
|
0x3,
|
|
\_SB_.LNKB,
|
|
0x0
|
|
}
|
|
})
|
|
Name(DOID, 0x0)
|
|
Name(SPCI, 0x7)
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
Store(GDID(), DOID)
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Store(DOID, Local0)
|
|
If(LEqual(Local0, 0x9f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x8f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x7f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x6f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x5f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0xc, Local1)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Return(Local1)
|
|
}
|
|
Name(_UID, 0x0)
|
|
Method(_BDN, 0x0, NotSerialized)
|
|
{
|
|
Return(GDID())
|
|
}
|
|
Name(_PRW, Package(0x2)
|
|
{
|
|
0xb,
|
|
0x3
|
|
})
|
|
Method(_PSW, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWDK)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWDK)
|
|
}
|
|
}
|
|
Method(_EJ0, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Sleep(0x1f4)
|
|
}
|
|
}
|
|
Method(_EJ4, 0x1, NotSerialized)
|
|
{
|
|
}
|
|
Event(CNCT)
|
|
Event(EJT0)
|
|
Method(_DCK, 0x1, NotSerialized)
|
|
{
|
|
If(Arg0)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x8231, S_BX)
|
|
Store(0xf012, S_CX)
|
|
SMPI(0x81)
|
|
Store(0x0, PCIE)
|
|
Sleep(0x12c)
|
|
If(W98F)
|
|
{
|
|
MPCI(0x8000203e, 0xff, 0x40)
|
|
Sleep(0x64)
|
|
MPCI(0x8000203e, 0xbf, 0x0)
|
|
WPCI(0x8000200c, 0x8)
|
|
WPCI(0x8000200d, 0xa8)
|
|
WPCI(0x80002019, SPCI)
|
|
WPCI(0x8000201a, 0xd)
|
|
WPCI(0x8000201c, 0xf0)
|
|
WPCI(0x8000201d, 0x0)
|
|
WPCI(0x80002020, 0xf0)
|
|
WPCI(0x80002021, 0xff)
|
|
WPCI(0x80002022, 0x0)
|
|
WPCI(0x80002023, 0x0)
|
|
WPCI(0x80002024, 0xf0)
|
|
WPCI(0x80002025, 0xff)
|
|
WPCI(0x80002026, 0x0)
|
|
WPCI(0x80002027, 0x0)
|
|
}
|
|
Store(0x31, KNPC)
|
|
Store(0x13, KND0)
|
|
Store(0x1f, KNB0)
|
|
Store(0x1f, KNB1)
|
|
Store(0xf, KNWC)
|
|
Store(0x0, KNT0)
|
|
Store(0x0, KNT1)
|
|
Store(0x0, KNRC)
|
|
Store(0x21, KNAC)
|
|
Store(0x51, KNMC)
|
|
Store(0xfff0, KNNB)
|
|
Store(0x0, KNNL)
|
|
SDCM()
|
|
If(W98F)
|
|
{
|
|
MPCI(0x80002004, 0xff, 0x7)
|
|
}
|
|
Store(Zero, \_SB_.PCI0.XPLD)
|
|
Store(Zero, \_SB_.PCI0.ISA0.P21E)
|
|
If(W98F)
|
|
{
|
|
\_SB_.PCI0.DOCK.ISA1._REG(0x2, 0x1)
|
|
\_SB_.PCI0.DOCK.IDE1._REG(0x2, 0x1)
|
|
\_SB_.PCI0.DOCK.CBS0._REG(0x2, 0x1)
|
|
\_SB_.PCI0.DOCK.CBS1._REG(0x2, 0x1)
|
|
}
|
|
Reset(\_SB_.PCI0.DOCK.CNCT)
|
|
If(H8DR)
|
|
{
|
|
Store(\_SB_.PCI0.ISA0.EC0_.I2CW(0x0, 0x40, 0x5, 0x84), Local0)
|
|
If(LEqual(And(Local0, 0x8000, ), 0x8000))
|
|
{
|
|
Return(0x0)
|
|
}
|
|
Stall(0xfa)
|
|
Stall(0xfa)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9012, S_BX)
|
|
Store(0x8405, S_CX)
|
|
SMPI(0x81)
|
|
If(S_AH)
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Wait(CNCT, 0xffff)
|
|
Store(GDID(), DOID)
|
|
}
|
|
Else
|
|
{
|
|
Reset(EJT0)
|
|
If(H8DR)
|
|
{
|
|
Store(\_SB_.PCI0.ISA0.EC0_.I2CW(0x0, 0x40, 0x5, 0x85), Local0)
|
|
If(LEqual(And(Local0, 0x8000, ), 0x8000))
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9012, S_BX)
|
|
Store(0x8505, S_CX)
|
|
SMPI(0x81)
|
|
If(S_AH)
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Wait(EJT0, 0xffff)
|
|
Store(One, \_SB_.PCI0.XPLD)
|
|
Store(0x7, \_SB_.PCI0.ISA0.P21E)
|
|
Store(0x1, PCIE)
|
|
Store(0x5381, S_AX)
|
|
Store(0x8231, S_BX)
|
|
Store(0xf000, S_CX)
|
|
SMPI(0x81)
|
|
Store(0x0, DOID)
|
|
}
|
|
Return(0x1)
|
|
}
|
|
Method(GDID, 0x0, NotSerialized)
|
|
{
|
|
If(PCIE)
|
|
{
|
|
Return(0x0)
|
|
}
|
|
Else
|
|
{
|
|
Return(RDID())
|
|
}
|
|
}
|
|
Method(RDID, 0x0, NotSerialized)
|
|
{
|
|
If(H8DR)
|
|
{
|
|
Store(0x0, Local0)
|
|
While(LNot(LEqual(Local0, 0x10)))
|
|
{
|
|
Store(\_SB_.PCI0.ISA0.EC0_.I2CR(Zero, 0x40, 0x0), Local1)
|
|
If(LAnd(LNot(LEqual(Local1, 0x8080)), LNot(LEqual(Local1, 0x8018))))
|
|
{
|
|
If(LNot(LEqual(And(Local1, 0x8000, ), 0x8000)))
|
|
{
|
|
Return(Local1)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
Increment(Local0)
|
|
}
|
|
Return(0x0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9012, S_BX)
|
|
Store(0x0, S_CX)
|
|
SMPI(0x81)
|
|
If(LEqual(S_AH, 0x0))
|
|
{
|
|
Return(S_CH)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x0)
|
|
}
|
|
}
|
|
}
|
|
Method(GMGP, 0x0, NotSerialized)
|
|
{
|
|
Store(GDID(), Local0)
|
|
If(LEqual(Local0, 0x9f))
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x8f))
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x7f))
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local1)
|
|
}
|
|
}
|
|
}
|
|
Return(Local1)
|
|
}
|
|
Method(GPCS, 0x0, NotSerialized)
|
|
{
|
|
Store(GDID(), Local0)
|
|
If(LNot(LEqual(Local0, 0x0)))
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local1)
|
|
}
|
|
Return(Local1)
|
|
}
|
|
Method(SDCM, 0x0, NotSerialized)
|
|
{
|
|
If(LEqual(PCIE, 0x1))
|
|
{
|
|
Return(0x0)
|
|
}
|
|
Store(0x0, Local0)
|
|
Or(Local0, \_SB_.PCI0.ISA0.FIR_.DRQD, Local0)
|
|
Or(Local0, \_SB_.PCI0.ISA0.ECP_.DRQD, Local0)
|
|
Or(Local0, \_SB_.PCI0.ISA0.FDC0.DRQD, Local0)
|
|
Or(Local0, \_SB_.PCI0.ISA0.CS00.DRQD, Local0)
|
|
Or(Local0, \_SB_.PCI0.ISA0.MWV0.DRQD, Local0)
|
|
XOr(Local0, 0xff, KNDM)
|
|
}
|
|
Name(PHLD, 0x0)
|
|
Method(DPTS, 0x1, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
Store(PCIE, Local0)
|
|
Store(0x0, PCIE)
|
|
Sleep(0x12c)
|
|
Store(KNPC, PHLD)
|
|
Store(Local0, PCIE)
|
|
Store(One, \_SB_.PCI0.ISA0.EC0_.HWDK)
|
|
}
|
|
}
|
|
Method(DWAK, 0x1, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
Store(PCIE, Local0)
|
|
Store(0x0, PCIE)
|
|
Sleep(0x12c)
|
|
Store(PHLD, KNPC)
|
|
Store(Local0, PCIE)
|
|
If(WDCK)
|
|
{
|
|
Notify(\_SB_.PCI0.DOCK, 0x1)
|
|
}
|
|
Else
|
|
{
|
|
If(DOID)
|
|
{
|
|
\_SB_.PCI0.DOCK.CBS0.DWAK(Arg0)
|
|
\_SB_.PCI0.DOCK.CBS1.DWAK(Arg0)
|
|
}
|
|
Else
|
|
{
|
|
If(RDID())
|
|
{
|
|
Notify(\_SB_.PCI0.DOCK, 0x0)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(ISA1)
|
|
{
|
|
Name(_ADR, 0x0)
|
|
OperationRegion(X000, PCI_Config, 0x0, 0x100)
|
|
Field(X000, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x4c),
|
|
IORT, 8,
|
|
, 8,
|
|
XBCS, 16,
|
|
Offset(0x60),
|
|
PRQA, 8,
|
|
PRQB, 8,
|
|
PRQC, 8,
|
|
PRQD, 8,
|
|
SIRQ, 8,
|
|
, 32,
|
|
TOM_, 8,
|
|
MSTA, 16,
|
|
Offset(0x76),
|
|
DMA0, 8,
|
|
DMA1, 8,
|
|
Offset(0x80),
|
|
APIC, 8,
|
|
, 8,
|
|
DLC_, 8,
|
|
Offset(0x90),
|
|
DMAC, 16,
|
|
Offset(0xb0),
|
|
GENC, 32,
|
|
Offset(0xcb),
|
|
RTCC, 8
|
|
}
|
|
Method(_REG, 0x2, NotSerialized)
|
|
{
|
|
If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1)))
|
|
{
|
|
Or(And(IORT, 0x0, ), 0x5, IORT)
|
|
Or(And(XBCS, 0xf800, ), 0x400, XBCS)
|
|
Or(And(PRQA, 0x70, ), 0x80, PRQA)
|
|
Or(And(PRQB, 0x70, ), 0x80, PRQB)
|
|
Or(And(PRQC, 0x70, ), 0x80, PRQC)
|
|
Or(And(PRQD, 0x70, ), 0x80, PRQD)
|
|
Or(And(SIRQ, 0x0, ), 0x90, SIRQ)
|
|
Or(And(TOM_, 0x1, ), 0xfa, TOM_)
|
|
Or(And(MSTA, 0x7f7f, ), 0x8080, MSTA)
|
|
Or(And(DMA0, 0x78, ), 0x4, DMA0)
|
|
Or(And(DMA1, 0x78, ), 0x4, DMA1)
|
|
Or(And(APIC, 0x80, ), 0x0, APIC)
|
|
Or(And(DLC_, 0xf0, ), 0x0, DLC_)
|
|
Or(And(DMAC, 0x300, ), 0x0, DMAC)
|
|
Or(And(GENC, 0x4002080, ), 0x1001c90d, GENC)
|
|
Or(And(RTCC, 0xc2, ), 0x25, RTCC)
|
|
}
|
|
}
|
|
}
|
|
Device(IDE1)
|
|
{
|
|
Name(_ADR, 0x1)
|
|
OperationRegion(X140, PCI_Config, 0x40, 0x10)
|
|
Field(X140, DWordAcc, NoLock, Preserve)
|
|
{
|
|
, 16,
|
|
, 1,
|
|
XTI0, 1,
|
|
, 2,
|
|
, 1,
|
|
XTI1, 1,
|
|
, 2,
|
|
XTRT, 2,
|
|
, 2,
|
|
XTIS, 2,
|
|
XTSE, 1,
|
|
XTE_, 1,
|
|
, 4,
|
|
XWRT, 2,
|
|
XWIS, 2,
|
|
, 24,
|
|
XFP0, 1,
|
|
XFP1, 1,
|
|
XFS0, 1,
|
|
XFS1, 1,
|
|
, 4,
|
|
, 8,
|
|
XVP0, 2,
|
|
, 2,
|
|
XVP1, 2,
|
|
, 2,
|
|
XVS0, 2,
|
|
, 2,
|
|
XVS1, 2,
|
|
, 2
|
|
}
|
|
Method(_REG, 0x2, NotSerialized)
|
|
{
|
|
If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1)))
|
|
{
|
|
Store(0x7, IRQS)
|
|
Store(0x1, IRQE)
|
|
Store(0x1, DASD)
|
|
If(W98F)
|
|
{
|
|
Or(ShiftLeft(SPCI, 0x10, ), 0x80000100, Local0)
|
|
WPCI(Or(Local0, 0xd, ), 0x20)
|
|
WPCI(Or(Local0, 0x20, ), 0xe1)
|
|
WPCI(Or(Local0, 0x21, ), 0xfc)
|
|
Store(0x1, XTE_)
|
|
MPCI(Or(Local0, 0x4, ), 0xff, 0x5)
|
|
}
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Store(\_SB_.PCI0.DOCK.GDID(), Local0)
|
|
If(LEqual(Local0, 0x9f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x8f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x7f))
|
|
{
|
|
Store(0xf, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local1)
|
|
}
|
|
}
|
|
}
|
|
Return(Local1)
|
|
}
|
|
Device(IDED)
|
|
{
|
|
Method(_ADR, 0x0, NotSerialized)
|
|
{
|
|
If(And(KNMC, 0x800, ))
|
|
{
|
|
If(LEqual(KNX0, 0x1e0))
|
|
{
|
|
Return(0x2)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(KNX0, 0x168))
|
|
{
|
|
Return(0x3)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x3)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Return(0x1)
|
|
}
|
|
}
|
|
Method(_GTM, 0x0, NotSerialized)
|
|
{
|
|
Subtract(0x5, XTIS, Local0)
|
|
Subtract(0x4, XTRT, Local1)
|
|
Add(Local0, Local1, Local0)
|
|
Multiply(0x1e, Local0, Local0)
|
|
If(LGreater(Local0, 0xf0))
|
|
{
|
|
Store(0x384, Local0)
|
|
}
|
|
If(XFS0)
|
|
{
|
|
Store(0x11, Local4)
|
|
If(LEqual(XVS0, 0x0))
|
|
{
|
|
Store(0x78, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(XVS0, 0x1))
|
|
{
|
|
Store(0x50, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x3c, Local1)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x10, Local4)
|
|
Store(Local0, Local1)
|
|
}
|
|
If(XTI0)
|
|
{
|
|
Or(Local4, 0x2, Local4)
|
|
}
|
|
If(XTSE)
|
|
{
|
|
Subtract(0x5, XWIS, Local2)
|
|
Subtract(0x4, XWRT, Local3)
|
|
Add(Local2, Local3, Local2)
|
|
Multiply(0x1e, Local2, Local2)
|
|
If(LGreater(Local2, 0xf0))
|
|
{
|
|
Store(0x384, Local2)
|
|
}
|
|
If(XVS1)
|
|
{
|
|
Or(Local4, 0x4, Local4)
|
|
If(LEqual(XVS1, 0x0))
|
|
{
|
|
Store(0x78, Local3)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(XVS1, 0x1))
|
|
{
|
|
Store(0x50, Local3)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x3c, Local3)
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Local2, Local3)
|
|
}
|
|
If(XTI1)
|
|
{
|
|
Or(Local4, 0x8, Local4)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Local0, Local2)
|
|
Store(Local1, Local3)
|
|
}
|
|
Store(Local0, GTP0)
|
|
Store(Local1, GTD0)
|
|
Store(Local2, GTP1)
|
|
Store(Local3, GTD1)
|
|
Store(Local4, GTMF)
|
|
Return(BGTM)
|
|
}
|
|
Method(_STM, 0x3, NotSerialized)
|
|
{
|
|
CreateDWordField(Arg0, 0x0, STP0)
|
|
CreateDWordField(Arg0, 0x4, STD0)
|
|
CreateDWordField(Arg0, 0x8, STP1)
|
|
CreateDWordField(Arg0, 0xc, STD1)
|
|
CreateDWordField(Arg0, 0x10, STMF)
|
|
If(And(STMF, 0x2, ))
|
|
{
|
|
Store(One, XTI0)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XTI0)
|
|
}
|
|
If(And(STMF, 0x4, ))
|
|
{
|
|
Store(One, XTI1)
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XTI1)
|
|
}
|
|
If(LGreater(STP0, 0x78))
|
|
{
|
|
If(LGreater(STP0, 0xb4))
|
|
{
|
|
If(LGreater(STP0, 0xf0))
|
|
{
|
|
Store(0x0, XTIS)
|
|
Store(0x0, XTRT)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XTIS)
|
|
Store(0x0, XTRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XTIS)
|
|
Store(0x1, XTRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XTIS)
|
|
Store(0x3, XTRT)
|
|
}
|
|
If(And(STMF, 0x1, ))
|
|
{
|
|
Store(One, XFS0)
|
|
If(LGreater(STD0, 0x3c))
|
|
{
|
|
If(LGreater(STD0, 0x50))
|
|
{
|
|
Store(0x0, XVS0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XVS0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XVS0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XFP0)
|
|
}
|
|
If(STP1)
|
|
{
|
|
Store(One, XTSE)
|
|
If(LGreater(STP1, 0x78))
|
|
{
|
|
If(LGreater(STP1, 0xb4))
|
|
{
|
|
If(LGreater(STP1, 0xf0))
|
|
{
|
|
Store(0x0, XWIS)
|
|
Store(0x0, XWRT)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XWIS)
|
|
Store(0x0, XWRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XWIS)
|
|
Store(0x1, XWRT)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XWIS)
|
|
Store(0x3, XWRT)
|
|
}
|
|
If(And(STMF, 0x4, ))
|
|
{
|
|
Store(One, XFS1)
|
|
If(LGreater(STD1, 0x3c))
|
|
{
|
|
If(LGreater(STD1, 0x50))
|
|
{
|
|
Store(0x0, XVS1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, XVS1)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(0x2, XVS1)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XFS1)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
Store(Zero, XTSE)
|
|
}
|
|
}
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(XTE_)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x1)
|
|
}
|
|
}
|
|
Device(IDTM)
|
|
{
|
|
Name(_ADR, 0x0)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(XTE_)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x1)
|
|
}
|
|
}
|
|
Method(_GTF, 0x0, NotSerialized)
|
|
{
|
|
Store(0xa0, IDC0)
|
|
Store(0xa0, IDC1)
|
|
Return(ICMD)
|
|
}
|
|
}
|
|
Device(IDTS)
|
|
{
|
|
Name(_ADR, 0x1)
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
If(XTSE)
|
|
{
|
|
Return(0xf)
|
|
}
|
|
Else
|
|
{
|
|
Return(0x1)
|
|
}
|
|
}
|
|
Method(_GTF, 0x0, NotSerialized)
|
|
{
|
|
Store(0xb0, IDC0)
|
|
Store(0xb0, IDC1)
|
|
Return(ICMD)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Device(USB1)
|
|
{
|
|
Name(_ADR, 0x2)
|
|
}
|
|
Device(CBS0)
|
|
{
|
|
OperationRegion(X200, PCI_Config, 0x0, 0x100)
|
|
Field(X200, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x40),
|
|
SVID, 16,
|
|
SSID, 16,
|
|
LGDC, 32,
|
|
Offset(0x80),
|
|
SYSC, 32,
|
|
Offset(0x8b),
|
|
GPI3, 8,
|
|
IRQM, 32,
|
|
, 8,
|
|
CCTL, 8,
|
|
DCTL, 8,
|
|
DIAG, 8
|
|
}
|
|
Name(_ADR, 0x0)
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.DOCK.GPCS())
|
|
{
|
|
If(LEqual(GDID(), 0x20))
|
|
{
|
|
Store(0x0, _ADR)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x20000, _ADR)
|
|
}
|
|
ISID()
|
|
Store(0x0, LGDC)
|
|
Store(0x0, GPI3)
|
|
Store(0xfba97543, IRQM)
|
|
Store(0x2, CCTL)
|
|
Store(0x62, DCTL)
|
|
Store(0x60, DIAG)
|
|
If(LEqual(\_SB_.PCI0.DOCK.GDID(), 0x20))
|
|
{
|
|
Store(0x44c073, SYSC)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x28449061, SYSC)
|
|
}
|
|
}
|
|
}
|
|
Method(DWAK, 0x1, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
_INI()
|
|
}
|
|
}
|
|
Method(_REG, 0x2, NotSerialized)
|
|
{
|
|
If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1)))
|
|
{
|
|
_INI()
|
|
}
|
|
}
|
|
Method(ISID, 0x0, NotSerialized)
|
|
{
|
|
Store(GVER(), Local0)
|
|
If(LOr(LEqual(Local0, 0x2), LEqual(Local0, 0x3)))
|
|
{
|
|
And(SYSC, 0xffffffdf, SYSC)
|
|
Store(0x1014, SVID)
|
|
Store(0xbb, SSID)
|
|
Or(SYSC, 0x20, SYSC)
|
|
}
|
|
}
|
|
}
|
|
Device(CBS1)
|
|
{
|
|
OperationRegion(X201, PCI_Config, 0x0, 0x100)
|
|
Field(X201, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0x40),
|
|
SVID, 16,
|
|
SSID, 16,
|
|
LGDC, 32,
|
|
Offset(0x80),
|
|
SYSC, 32,
|
|
Offset(0x8b),
|
|
GPI3, 8,
|
|
IRQM, 32,
|
|
, 8,
|
|
CCTL, 8,
|
|
DCTL, 8,
|
|
DIAG, 8
|
|
}
|
|
Name(_ADR, 0x1)
|
|
Method(_INI, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.DOCK.GPCS())
|
|
{
|
|
If(LEqual(GDID(), 0x20))
|
|
{
|
|
Store(0x1, _ADR)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x20001, _ADR)
|
|
}
|
|
ISID()
|
|
Store(0x0, LGDC)
|
|
Store(0x0, GPI3)
|
|
Store(0xfba97543, IRQM)
|
|
Store(0x2, CCTL)
|
|
Store(0x62, DCTL)
|
|
Store(0x60, DIAG)
|
|
If(LEqual(\_SB_.PCI0.DOCK.GDID(), 0x20))
|
|
{
|
|
Store(0x44c073, SYSC)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x28449061, SYSC)
|
|
}
|
|
}
|
|
}
|
|
Method(DWAK, 0x1, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
_INI()
|
|
}
|
|
}
|
|
Method(_REG, 0x2, NotSerialized)
|
|
{
|
|
If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1)))
|
|
{
|
|
_INI()
|
|
}
|
|
}
|
|
Method(ISID, 0x0, NotSerialized)
|
|
{
|
|
Store(GVER(), Local0)
|
|
If(LOr(LEqual(Local0, 0x2), LEqual(Local0, 0x3)))
|
|
{
|
|
And(SYSC, 0xffffffdf, SYSC)
|
|
Store(0x1014, SVID)
|
|
Store(0xbb, SSID)
|
|
Or(SYSC, 0x20, SYSC)
|
|
}
|
|
}
|
|
}
|
|
Method(GVER, 0x0, NotSerialized)
|
|
{
|
|
Store(GDID(), Local0)
|
|
If(LEqual(Local0, 0x9f))
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x8f))
|
|
{
|
|
Store(0x1, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x7f))
|
|
{
|
|
Store(0x2, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x6f))
|
|
{
|
|
Store(0x2, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x5f))
|
|
{
|
|
Store(0x3, Local1)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Local0, 0x20))
|
|
{
|
|
Store(0x3, Local1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Local1)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Return(Local1)
|
|
}
|
|
}
|
|
}
|
|
Method(RBEC, 0x1, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x9180, S_BX)
|
|
Store(0x101, S_CX)
|
|
Store(Arg0, ESI1)
|
|
SMPI(0x81)
|
|
Store(S_BL, Local7)
|
|
Release(MSMI)
|
|
Return(Local7)
|
|
}
|
|
Method(WBEC, 0x2, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x9181, S_BX)
|
|
Store(0x2, S_CX)
|
|
Store(Arg0, ESI1)
|
|
Store(Arg1, ESI2)
|
|
SMPI(0x81)
|
|
Release(MSMI)
|
|
}
|
|
Method(RPCI, 0x1, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x90c1, S_BX)
|
|
Store(0x0, S_CX)
|
|
Store(Arg0, SESI)
|
|
SMPI(0x81)
|
|
Store(S_CL, Local7)
|
|
Release(MSMI)
|
|
Return(Local7)
|
|
}
|
|
Method(WPCI, 0x2, NotSerialized)
|
|
{
|
|
Acquire(MSMI, 0xffff)
|
|
Store(0x5381, S_AX)
|
|
Store(0x90c1, S_BX)
|
|
Store(0x1, S_CH)
|
|
Store(Arg0, SESI)
|
|
Store(Arg1, S_CL)
|
|
SMPI(0x81)
|
|
If(S_AH)
|
|
{
|
|
Store(0x0, Local7)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x1, Local7)
|
|
}
|
|
Release(MSMI)
|
|
Return(Local7)
|
|
}
|
|
Method(MPCI, 0x3, NotSerialized)
|
|
{
|
|
Store(RPCI(Arg0), Local0)
|
|
And(Local0, Arg1, Local0)
|
|
Or(Local0, Arg2, Local0)
|
|
WPCI(Arg0, Local0)
|
|
Return(RPCI(Arg0))
|
|
}
|
|
}
|
|
Method(\_PTS, 0x1, NotSerialized)
|
|
{
|
|
If(LEqual(Arg0, SPS_))
|
|
{
|
|
}
|
|
Else
|
|
{
|
|
Store(Arg0, SPS_)
|
|
If(LNot(LEqual(Arg0, 0x5)))
|
|
{
|
|
Store(0x2, \_SB_.PCI0.ISA0.EC0_.IGNR)
|
|
}
|
|
If(LEqual(Arg0, 0x1))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9091, S_BX)
|
|
SMPI(0x81)
|
|
Store(One, BLEN)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x2))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9092, S_BX)
|
|
SMPI(0x81)
|
|
Store(One, BLEN)
|
|
Store(One, \_SB_.PCI0.CREN)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9093, S_BX)
|
|
SMPI(0x81)
|
|
\_SB_.PCI0.DOCK.DPTS(Arg0)
|
|
\PVID._OFF()
|
|
Store(One, BLEN)
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HCAC)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x4))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9094, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x5))
|
|
{
|
|
If(W98F)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9095, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
If(LNot(LEqual(Arg0, 0x5)))
|
|
{
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HSPA)
|
|
\_SB_.PCI0.ISA0.EC0_.BPTS(Arg0)
|
|
\_SB_.PCI0.ISA0.EC0_.SWAK()
|
|
}
|
|
}
|
|
}
|
|
Name(WAKI, Package(0x2)
|
|
{
|
|
0x0,
|
|
0x0
|
|
})
|
|
Method(\_WAK, 0x1, NotSerialized)
|
|
{
|
|
Store(SPS_, Index(WAKI, 0x1, ))
|
|
If(WBAT)
|
|
{
|
|
Store(0x1, Index(WAKI, 0x0, ))
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, Index(WAKI, 0x0, ))
|
|
}
|
|
RSTR()
|
|
If(LEqual(Arg0, 0x1))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x9099, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x2))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x909a, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
\_SB_.PCI0.DOCK.DWAK(Arg0)
|
|
\_SB_.PCI0.CBS0.DWAK(Arg0)
|
|
\_SB_.PCI0.CBS1.DWAK(Arg0)
|
|
Store(0x5381, S_AX)
|
|
Store(0x909b, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x4))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x909c, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x5))
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x909d, S_BX)
|
|
SMPI(0x81)
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
\_SB_.PCI0.ISA0.EC0_.BWAK(Arg0)
|
|
Return(WAKI)
|
|
}
|
|
Method(RSTR, 0x0, NotSerialized)
|
|
{
|
|
Store(Zero, SPS_)
|
|
Store(Zero, BLEN)
|
|
Store(Zero, \_SB_.PCI0.ISA0.EC0_.HWDK)
|
|
If(W98F)
|
|
{
|
|
Notify(\_SB_.PCI0.ISA0.LPT_, 0x0)
|
|
Notify(\_SB_.PCI0.ISA0.ECP_, 0x0)
|
|
}
|
|
}
|
|
Name(\_S0_, Package(0x4)
|
|
{
|
|
0x5,
|
|
0x5,
|
|
0x0,
|
|
0x0
|
|
})
|
|
Name(\_S1_, Package(0x4)
|
|
{
|
|
0x4,
|
|
0x4,
|
|
0x0,
|
|
0x0
|
|
})
|
|
Name(\_S4_, Package(0x4)
|
|
{
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
0x0
|
|
})
|
|
Name(\_S5_, Package(0x4)
|
|
{
|
|
0x0,
|
|
0x0,
|
|
0x0,
|
|
0x0
|
|
})
|
|
Method(_S2_, 0x0, NotSerialized)
|
|
{
|
|
If(BXPT)
|
|
{
|
|
Return(Package(0x4)
|
|
{
|
|
0x7,
|
|
0x7,
|
|
0x0,
|
|
0x0
|
|
})
|
|
}
|
|
Else
|
|
{
|
|
Return(Package(0x4)
|
|
{
|
|
0x3,
|
|
0x3,
|
|
0x0,
|
|
0x0
|
|
})
|
|
}
|
|
}
|
|
Method(_S3_, 0x0, NotSerialized)
|
|
{
|
|
If(BXPT)
|
|
{
|
|
Return(Package(0x4)
|
|
{
|
|
0x6,
|
|
0x6,
|
|
0x0,
|
|
0x0
|
|
})
|
|
}
|
|
Else
|
|
{
|
|
Return(Package(0x4)
|
|
{
|
|
0x1,
|
|
0x1,
|
|
0x0,
|
|
0x0
|
|
})
|
|
}
|
|
}
|
|
Scope(\_SI_)
|
|
{
|
|
Method(_SST, 0x1, NotSerialized)
|
|
{
|
|
If(H8DR)
|
|
{
|
|
If(LEqual(Arg0, 0x1))
|
|
{
|
|
If(SPS_)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.BEEP(0x5)
|
|
}
|
|
\_SB_.PCI0.ISA0.EC0_.SYSL(0x0, 0x1)
|
|
\_SB_.PCI0.ISA0.EC0_.SYSL(0x1, 0x0)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x2))
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.SYSL(0x0, 0x1)
|
|
\_SB_.PCI0.ISA0.EC0_.SYSL(0x1, 0x2)
|
|
And(\_SB_.PCI0.ISA0.EC0_.HAM5, 0xf7, \_SB_.PCI0.ISA0.EC0_.HAM5)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x3))
|
|
{
|
|
If(LGreater(SPS_, 0x3))
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.BEEP(0x7)
|
|
}
|
|
Else
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.BEEP(0x3)
|
|
}
|
|
If(LEqual(SPS_, 0x3))
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.SYSL(0x0, 0x0)
|
|
}
|
|
Else
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.SYSL(0x0, 0x1)
|
|
}
|
|
\_SB_.PCI0.ISA0.EC0_.SYSL(0x1, 0x1)
|
|
Or(\_SB_.PCI0.ISA0.EC0_.HAM5, 0x8, \_SB_.PCI0.ISA0.EC0_.HAM5)
|
|
}
|
|
Else
|
|
{
|
|
If(LEqual(Arg0, 0x4))
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.BEEP(0x3)
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
}
|
|
}
|
|
Method(_MSG, 0x1, NotSerialized)
|
|
{
|
|
Store(0x5381, S_AX)
|
|
Store(0x909f, S_BX)
|
|
Store(Arg0, S_CX)
|
|
SMPI(0x81)
|
|
}
|
|
}
|
|
Scope(\_GPE)
|
|
{
|
|
Method(_L08, 0x0, NotSerialized)
|
|
{
|
|
Notify(\_SB_.PCI0.USB0, 0x2)
|
|
}
|
|
Method(_L0A, 0x0, NotSerialized)
|
|
{
|
|
Notify(\_SB_.PCI0.ISA0.UAR1, 0x2)
|
|
}
|
|
Method(_L0B, 0x0, NotSerialized)
|
|
{
|
|
If(WPME)
|
|
{
|
|
Notify(\_SB_.PCI0, 0x2)
|
|
Store(Zero, WPME)
|
|
}
|
|
Else
|
|
{
|
|
If(WBAT)
|
|
{
|
|
Notify(\_SB_.PCI0.ISA0.EC0_.BAT0, 0x80)
|
|
Notify(\_SB_.PCI0.ISA0.EC0_.BAT1, 0x80)
|
|
Store(Zero, WBAT)
|
|
}
|
|
Else
|
|
{
|
|
If(WLID)
|
|
{
|
|
Notify(\_SB_.LID0, 0x2)
|
|
Store(Zero, WLID)
|
|
}
|
|
Else
|
|
{
|
|
If(WDCK)
|
|
{
|
|
Notify(\_SB_.SLPB, 0x2)
|
|
Store(Zero, WDCK)
|
|
}
|
|
Else
|
|
{
|
|
If(WFN_)
|
|
{
|
|
Notify(\_SB_.SLPB, 0x2)
|
|
Store(Zero, WFN_)
|
|
}
|
|
Else
|
|
{
|
|
If(WKBD)
|
|
{
|
|
Notify(\_SB_.SLPB, 0x2)
|
|
Store(Zero, WKBD)
|
|
}
|
|
Else
|
|
{
|
|
If(WRI_)
|
|
{
|
|
Notify(\_SB_.PCI0.CBS0, 0x2)
|
|
Store(Zero, WRI_)
|
|
}
|
|
Else
|
|
{
|
|
If(WRES)
|
|
{
|
|
Store(Zero, WRES)
|
|
}
|
|
Else
|
|
{
|
|
Not(PLPL, PLPL)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
Method(NATZ, 0x1, NotSerialized)
|
|
{
|
|
Notify(\_TZ_.THM0, Arg0)
|
|
Notify(\_TZ_.THM1, Arg0)
|
|
Notify(\_TZ_.THM2, Arg0)
|
|
If(MPGP)
|
|
{
|
|
Notify(\_TZ_.THM4, Arg0)
|
|
}
|
|
Notify(\_TZ_.THM5, Arg0)
|
|
Notify(\_TZ_.THM6, Arg0)
|
|
Notify(\_TZ_.THM7, Arg0)
|
|
}
|
|
Scope(\_TZ_)
|
|
{
|
|
Name(PSV0, 0x0)
|
|
Name(PSV1, 0x0)
|
|
Name(PSV2, 0x0)
|
|
Name(PSV3, 0x0)
|
|
Name(PSV4, 0x0)
|
|
Name(PSV5, 0x0)
|
|
Name(PSV6, 0x0)
|
|
Name(PSV7, 0x0)
|
|
Device(FAN0)
|
|
{
|
|
Name(_HID, 0xb0cd041)
|
|
Name(_UID, 0x0)
|
|
Name(_PR0, Package(0x1)
|
|
{
|
|
PFN0
|
|
})
|
|
}
|
|
Device(FAN1)
|
|
{
|
|
Name(_HID, 0xb0cd041)
|
|
Name(_UID, 0x1)
|
|
Name(_PR0, Package(0x1)
|
|
{
|
|
PFN1
|
|
})
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Return(0xb)
|
|
}
|
|
}
|
|
PowerResource(PFN0, 0x0, 0x0)
|
|
{
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.F0ON)
|
|
}
|
|
Method(_ON_, 0x0, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.SFNP(0x0, 0x1)
|
|
}
|
|
Method(_OFF, 0x0, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.SFNP(0x0, 0x0)
|
|
}
|
|
}
|
|
PowerResource(PFN1, 0x0, 0x0)
|
|
{
|
|
Method(_STA, 0x0, NotSerialized)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.F1ON)
|
|
}
|
|
Method(_ON_, 0x0, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.SFNP(0x1, 0x1)
|
|
}
|
|
Method(_OFF, 0x0, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.SFNP(0x1, 0x0)
|
|
}
|
|
}
|
|
ThermalZone(THM0)
|
|
{
|
|
Name(MODE, 0x1)
|
|
Name(TBL0, Package(0x2)
|
|
{
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd86,
|
|
0xd59
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd7c,
|
|
0xd4f
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd72,
|
|
0xd45
|
|
}
|
|
},
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd72,
|
|
0xd45
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd86,
|
|
0xd59
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd7c,
|
|
0xd4f
|
|
}
|
|
}
|
|
})
|
|
Method(UPSV, 0x0, NotSerialized)
|
|
{
|
|
If(MODE)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT00)
|
|
{
|
|
Store(0x1, PSV0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV0)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT02)
|
|
{
|
|
Store(0x1, PSV0)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV0)
|
|
}
|
|
}
|
|
}
|
|
Method(MODP, 0x1, NotSerialized)
|
|
{
|
|
Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
|
|
}
|
|
Method(_TMP, 0x0, NotSerialized)
|
|
{
|
|
\_SB_.PCI0.ISA0.EC0_.UPDT()
|
|
If(\_SB_.PCI0.ISA0.EC0_.TMP0)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.TMP0)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xbb8)
|
|
}
|
|
}
|
|
Method(_AC0, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x1)), \_SB_.PCI0.ISA0.EC0_.F0ON, )))
|
|
}
|
|
Method(_AC1, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x2)), \_SB_.PCI0.ISA0.EC0_.F1ON, )))
|
|
}
|
|
Name(_CRT, 0xdb8)
|
|
Method(_SCP, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, MODE)
|
|
Notify(\_TZ_.THM0, 0x81)
|
|
}
|
|
Name(_AL0, Package(0x1)
|
|
{
|
|
FAN0
|
|
})
|
|
Name(_AL1, Package(0x1)
|
|
{
|
|
FAN1
|
|
})
|
|
Method(_PSV, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x0)), PSV0, )))
|
|
}
|
|
Name(_PSL, Package(0x1)
|
|
{
|
|
\_PR_.CPU0
|
|
})
|
|
Method(_TC1, 0x0, NotSerialized)
|
|
{
|
|
Return(0x3)
|
|
}
|
|
Method(_TC2, 0x0, NotSerialized)
|
|
{
|
|
Return(0x4)
|
|
}
|
|
Method(_TSP, 0x0, NotSerialized)
|
|
{
|
|
Return(0x258)
|
|
}
|
|
}
|
|
ThermalZone(THM1)
|
|
{
|
|
Name(MODE, 0x1)
|
|
Name(TBL0, Package(0x2)
|
|
{
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xda4,
|
|
0xd77
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd9a,
|
|
0xd6d
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd90,
|
|
0xd63
|
|
}
|
|
},
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd90,
|
|
0xd63
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xda4,
|
|
0xd77
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd9a,
|
|
0xd6d
|
|
}
|
|
}
|
|
})
|
|
Method(UPSV, 0x0, NotSerialized)
|
|
{
|
|
If(MODE)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT10)
|
|
{
|
|
Store(0x1, PSV1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV1)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT12)
|
|
{
|
|
Store(0x1, PSV1)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV1)
|
|
}
|
|
}
|
|
}
|
|
Method(MODP, 0x1, NotSerialized)
|
|
{
|
|
Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
|
|
}
|
|
Method(_TMP, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.TMP1)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.TMP1)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xbb8)
|
|
}
|
|
}
|
|
Method(_AC0, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x1)), \_SB_.PCI0.ISA0.EC0_.F0ON, )))
|
|
}
|
|
Method(_AC1, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x2)), \_SB_.PCI0.ISA0.EC0_.F1ON, )))
|
|
}
|
|
Name(_CRT, 0xdb8)
|
|
Method(_SCP, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, MODE)
|
|
Notify(\_TZ_.THM1, 0x81)
|
|
}
|
|
Name(_AL0, Package(0x1)
|
|
{
|
|
FAN0
|
|
})
|
|
Name(_AL1, Package(0x1)
|
|
{
|
|
FAN1
|
|
})
|
|
}
|
|
ThermalZone(THM2)
|
|
{
|
|
Name(MODE, 0x1)
|
|
Name(TBL0, Package(0x2)
|
|
{
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd04,
|
|
0xcd7
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcfa,
|
|
0xccd
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcd2,
|
|
0xca5
|
|
}
|
|
},
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xcd2,
|
|
0xca5
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd04,
|
|
0xcd7
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcfa,
|
|
0xccd
|
|
}
|
|
}
|
|
})
|
|
Method(UPSV, 0x0, NotSerialized)
|
|
{
|
|
If(MODE)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT20)
|
|
{
|
|
Store(0x1, PSV2)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV2)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT22)
|
|
{
|
|
Store(0x1, PSV2)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV2)
|
|
}
|
|
}
|
|
}
|
|
Method(MODP, 0x1, NotSerialized)
|
|
{
|
|
Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
|
|
}
|
|
Method(_TMP, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.TMP2)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.TMP2)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xbb8)
|
|
}
|
|
}
|
|
Method(_AC0, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x1)), \_SB_.PCI0.ISA0.EC0_.F0ON, )))
|
|
}
|
|
Method(_AC1, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x2)), \_SB_.PCI0.ISA0.EC0_.F1ON, )))
|
|
}
|
|
Name(_CRT, 0xdcc)
|
|
Method(_SCP, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, MODE)
|
|
Notify(\_TZ_.THM2, 0x81)
|
|
}
|
|
Name(_AL0, Package(0x1)
|
|
{
|
|
FAN0
|
|
})
|
|
Name(_AL1, Package(0x1)
|
|
{
|
|
FAN1
|
|
})
|
|
}
|
|
ThermalZone(THM4)
|
|
{
|
|
Name(MODE, 0x1)
|
|
Name(TBL0, Package(0x2)
|
|
{
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd04,
|
|
0xcd7
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcfa,
|
|
0xccd
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcf0,
|
|
0xcc3
|
|
}
|
|
},
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xcf0,
|
|
0xcc3
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd04,
|
|
0xcd7
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcfa,
|
|
0xccd
|
|
}
|
|
}
|
|
})
|
|
Method(UPSV, 0x0, NotSerialized)
|
|
{
|
|
If(MODE)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT40)
|
|
{
|
|
Store(0x1, PSV4)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV4)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT42)
|
|
{
|
|
Store(0x1, PSV4)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV4)
|
|
}
|
|
}
|
|
}
|
|
Method(MODP, 0x1, NotSerialized)
|
|
{
|
|
Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
|
|
}
|
|
Method(_TMP, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.TMP4)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.TMP4)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xbb8)
|
|
}
|
|
}
|
|
Method(_AC0, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x1)), \_SB_.PCI0.ISA0.EC0_.F0ON, )))
|
|
}
|
|
Method(_AC1, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x2)), \_SB_.PCI0.ISA0.EC0_.F1ON, )))
|
|
}
|
|
Name(_CRT, 0xd22)
|
|
Method(_SCP, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, MODE)
|
|
Notify(\_TZ_.THM4, 0x81)
|
|
}
|
|
Name(_AL0, Package(0x1)
|
|
{
|
|
FAN0
|
|
})
|
|
Name(_AL1, Package(0x1)
|
|
{
|
|
FAN1
|
|
})
|
|
}
|
|
ThermalZone(THM5)
|
|
{
|
|
Name(MODE, 0x1)
|
|
Name(TBL0, Package(0x2)
|
|
{
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd04,
|
|
0xce1
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcfa,
|
|
0xcd7
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcf0,
|
|
0xccd
|
|
}
|
|
},
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xcf0,
|
|
0xccd
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd04,
|
|
0xce1
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xcfa,
|
|
0xcd7
|
|
}
|
|
}
|
|
})
|
|
Method(UPSV, 0x0, NotSerialized)
|
|
{
|
|
If(MODE)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT50)
|
|
{
|
|
Store(0x1, PSV5)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV5)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT52)
|
|
{
|
|
Store(0x1, PSV5)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV5)
|
|
}
|
|
}
|
|
}
|
|
Method(MODP, 0x1, NotSerialized)
|
|
{
|
|
Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
|
|
}
|
|
Method(_TMP, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.TMP5)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.TMP5)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xbb8)
|
|
}
|
|
}
|
|
Method(_AC0, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x1)), \_SB_.PCI0.ISA0.EC0_.F0ON, )))
|
|
}
|
|
Method(_AC1, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x2)), \_SB_.PCI0.ISA0.EC0_.F1ON, )))
|
|
}
|
|
Name(_CRT, 0xd2c)
|
|
Method(_SCP, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, MODE)
|
|
Notify(\_TZ_.THM5, 0x81)
|
|
}
|
|
Name(_AL0, Package(0x1)
|
|
{
|
|
FAN0
|
|
})
|
|
Name(_AL1, Package(0x1)
|
|
{
|
|
FAN1
|
|
})
|
|
}
|
|
ThermalZone(THM6)
|
|
{
|
|
Name(MODE, 0x1)
|
|
Name(TBL0, Package(0x2)
|
|
{
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd54,
|
|
0xd27
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd4a,
|
|
0xd1d
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd40,
|
|
0xd13
|
|
}
|
|
},
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd40,
|
|
0xd13
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd54,
|
|
0xd27
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd4a,
|
|
0xd1d
|
|
}
|
|
}
|
|
})
|
|
Method(UPSV, 0x0, NotSerialized)
|
|
{
|
|
If(MODE)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT60)
|
|
{
|
|
Store(0x1, PSV6)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV6)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT62)
|
|
{
|
|
Store(0x1, PSV6)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV6)
|
|
}
|
|
}
|
|
}
|
|
Method(MODP, 0x1, NotSerialized)
|
|
{
|
|
Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
|
|
}
|
|
Method(_TMP, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.TMP6)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.TMP6)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xbb8)
|
|
}
|
|
}
|
|
Method(_AC0, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x1)), \_SB_.PCI0.ISA0.EC0_.F0ON, )))
|
|
}
|
|
Method(_AC1, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x2)), \_SB_.PCI0.ISA0.EC0_.F1ON, )))
|
|
}
|
|
Name(_CRT, 0xd68)
|
|
Method(_SCP, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, MODE)
|
|
Notify(\_TZ_.THM6, 0x81)
|
|
}
|
|
Name(_AL0, Package(0x1)
|
|
{
|
|
FAN0
|
|
})
|
|
Name(_AL1, Package(0x1)
|
|
{
|
|
FAN1
|
|
})
|
|
}
|
|
ThermalZone(THM7)
|
|
{
|
|
Name(MODE, 0x1)
|
|
Name(TBL0, Package(0x2)
|
|
{
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd54,
|
|
0xd27
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd4a,
|
|
0xd1d
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd40,
|
|
0xd13
|
|
}
|
|
},
|
|
Package(0x3)
|
|
{
|
|
Package(0x2)
|
|
{
|
|
0xd40,
|
|
0xd13
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd54,
|
|
0xd27
|
|
},
|
|
Package(0x2)
|
|
{
|
|
0xd4a,
|
|
0xd1d
|
|
}
|
|
}
|
|
})
|
|
Method(UPSV, 0x0, NotSerialized)
|
|
{
|
|
If(MODE)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT70)
|
|
{
|
|
Store(0x1, PSV7)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV7)
|
|
}
|
|
}
|
|
Else
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.HT72)
|
|
{
|
|
Store(0x1, PSV7)
|
|
}
|
|
Else
|
|
{
|
|
Store(0x0, PSV7)
|
|
}
|
|
}
|
|
}
|
|
Method(MODP, 0x1, NotSerialized)
|
|
{
|
|
Return(Index(DerefOf(Index(TBL0, MODE, )), Arg0, ))
|
|
}
|
|
Method(_TMP, 0x0, NotSerialized)
|
|
{
|
|
If(\_SB_.PCI0.ISA0.EC0_.TMP7)
|
|
{
|
|
Return(\_SB_.PCI0.ISA0.EC0_.TMP7)
|
|
}
|
|
Else
|
|
{
|
|
Return(0xbb8)
|
|
}
|
|
}
|
|
Method(_AC0, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x1)), \_SB_.PCI0.ISA0.EC0_.F0ON, )))
|
|
}
|
|
Method(_AC1, 0x0, NotSerialized)
|
|
{
|
|
Return(DerefOf(Index(DerefOf(MODP(0x2)), \_SB_.PCI0.ISA0.EC0_.F1ON, )))
|
|
}
|
|
Name(_CRT, 0xd68)
|
|
Method(_SCP, 0x1, NotSerialized)
|
|
{
|
|
Store(Arg0, MODE)
|
|
Notify(\_TZ_.THM7, 0x81)
|
|
}
|
|
Name(_AL0, Package(0x1)
|
|
{
|
|
FAN0
|
|
})
|
|
Name(_AL1, Package(0x1)
|
|
{
|
|
FAN1
|
|
})
|
|
}
|
|
}
|
|
Mutex(MSMI, 0x7)
|
|
OperationRegion(MNVS, SystemMemory, 0x1fdf000, 0x1000)
|
|
Field(MNVS, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0xfc0),
|
|
S_AL, 8,
|
|
S_AH, 8,
|
|
, 16,
|
|
S_BL, 8,
|
|
S_BH, 8,
|
|
, 16,
|
|
S_CL, 8,
|
|
S_CH, 8,
|
|
, 16,
|
|
S_DL, 8,
|
|
S_DH, 8,
|
|
, 16,
|
|
EDI1, 8,
|
|
EDI2, 8,
|
|
EDI3, 8,
|
|
EDI4, 8,
|
|
ESI1, 8,
|
|
ESI2, 8,
|
|
ESI3, 8,
|
|
ESI4, 8,
|
|
SXAL, 8,
|
|
SXAH, 8
|
|
}
|
|
Field(MNVS, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0xfc0),
|
|
S_AX, 16,
|
|
, 16,
|
|
S_BX, 16,
|
|
, 16,
|
|
S_CX, 16,
|
|
, 16,
|
|
S_DX, 16,
|
|
, 16,
|
|
SEDI, 32,
|
|
SESI, 32,
|
|
SXAX, 16
|
|
}
|
|
Field(MNVS, DWordAcc, NoLock, Preserve)
|
|
{
|
|
Offset(0xf00),
|
|
PXDN, 32,
|
|
VCDD, 3,
|
|
VCDI, 1,
|
|
VCDS, 1,
|
|
VCDE, 1,
|
|
VCDB, 1,
|
|
VCDH, 1,
|
|
VCDR, 24,
|
|
WPME, 1,
|
|
WBAT, 1,
|
|
WLID, 1,
|
|
WDCK, 1,
|
|
WFN_, 1,
|
|
WKBD, 1,
|
|
WRI_, 1,
|
|
WRES, 1,
|
|
WKRS, 24,
|
|
MPGP, 1,
|
|
CPUT, 2,
|
|
SPDI, 29,
|
|
TOMP, 32,
|
|
FRAS, 32,
|
|
SNS0, 32,
|
|
SNS1, 32,
|
|
SNS2, 32,
|
|
SNS3, 32,
|
|
SNS4, 32,
|
|
SNS5, 32,
|
|
SNS6, 32,
|
|
SNS7, 32,
|
|
HDHD, 8,
|
|
HDSE, 8,
|
|
TTC1, 8,
|
|
TTC2, 8,
|
|
TTSP, 16,
|
|
, 16,
|
|
W98F, 1,
|
|
, 7,
|
|
H8DR, 1,
|
|
, 3,
|
|
BXPT, 1,
|
|
, 2,
|
|
, 17
|
|
}
|
|
OperationRegion(APMC, SystemIO, 0xb2, 0x1)
|
|
Field(APMC, ByteAcc, NoLock, Preserve)
|
|
{
|
|
APMD, 8
|
|
}
|
|
Event(DMMY)
|
|
Method(SMPI, 0x1, NotSerialized)
|
|
{
|
|
Store(S_AX, Local0)
|
|
Store(S_BX, Local1)
|
|
Store(S_CX, Local2)
|
|
Store(S_DX, Local3)
|
|
Store(SEDI, Local4)
|
|
Store(SESI, Local5)
|
|
Store(0x81, APMD)
|
|
While(LEqual(S_AH, 0xa6))
|
|
{
|
|
If(W98F)
|
|
{
|
|
Wait(DMMY, 0x64)
|
|
}
|
|
Else
|
|
{
|
|
Sleep(0x64)
|
|
}
|
|
Store(Local0, S_AX)
|
|
Store(Local1, S_BX)
|
|
Store(Local2, S_CX)
|
|
Store(Local3, S_DX)
|
|
Store(Local4, SEDI)
|
|
Store(Local5, SESI)
|
|
Store(0x81, APMD)
|
|
}
|
|
}
|
|
Method(MIN_, 0x2, NotSerialized)
|
|
{
|
|
If(LLess(Arg0, Arg1))
|
|
{
|
|
Return(Arg0)
|
|
}
|
|
Else
|
|
{
|
|
Return(Arg1)
|
|
}
|
|
}
|
|
Method(SLEN, 0x1, NotSerialized)
|
|
{
|
|
Return(SizeOf(Arg0))
|
|
}
|
|
Method(S2BF, 0x1, Serialized)
|
|
{
|
|
Add(SLEN(Arg0), One, Local0)
|
|
Name(BUFF, Buffer(Local0)
|
|
{
|
|
})
|
|
Store(Arg0, BUFF)
|
|
Return(BUFF)
|
|
}
|
|
Method(SCMP, 0x2, NotSerialized)
|
|
{
|
|
Store(S2BF(Arg0), Local0)
|
|
Store(S2BF(Arg1), Local1)
|
|
Store(Zero, Local4)
|
|
Store(SLEN(Arg0), Local5)
|
|
Store(SLEN(Arg1), Local6)
|
|
Store(MIN_(Local5, Local6), Local7)
|
|
While(LLess(Local4, Local7))
|
|
{
|
|
Store(DerefOf(Index(Local0, Local4, )), Local2)
|
|
Store(DerefOf(Index(Local1, Local4, )), Local3)
|
|
If(LGreater(Local2, Local3))
|
|
{
|
|
Return(One)
|
|
}
|
|
Else
|
|
{
|
|
If(LLess(Local2, Local3))
|
|
{
|
|
Return(Ones)
|
|
}
|
|
}
|
|
Increment(Local4)
|
|
}
|
|
If(LLess(Local4, Local5))
|
|
{
|
|
Return(One)
|
|
}
|
|
Else
|
|
{
|
|
If(LLess(Local4, Local6))
|
|
{
|
|
Return(Ones)
|
|
}
|
|
Else
|
|
{
|
|
Return(Zero)
|
|
}
|
|
}
|
|
}
|
|
}
|