Looking at a recent cvs commit I saw a comment about acpi changes
for an mp kernel, and it dawned on me that my attempts to play with
suspend/resume were never on an sp kernel. So I updated and built
an sp kernel to test.
This is a W500 Thinkpad. Upon hitting Fn-F4 or doing a zzz the
suspended! First time I've ever seen the moon on this laptop. I
can't wake up however--Fn-F4's, the power button and everything
else is ignored. I ran apmd first, thought that didn't seem to make
a difference.
I figure that a huge amount of acpi is working and some aml
table isn't correct, etc. If I'm missing something obvious feel free
to use the clue stick.
Following is the output of apcidump and /var/run/dmesg.boot.
Upon reading aml docs, I can only appreciate the work thats gone
into this project...
--STeve Andre'
------- apcidump
/*
RSD PTR: Checksum=162, OEMID=LENOVO, RsdtAddress=0x7ed6a472
*/
/*
RSDT: Length=88, Revision=1, Checksum=226,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID= LTP, Creator Revision=0x0
*/
/*
Entries={ 0x7ed6a700, 0x7ed6a781, 0x7ed79b6b, 0x7ed79bbd, 0x7ed79c35,
0x7ed79c71, 0x7ed79dc2, 0x7ed79f38, 0x7ed79f60, 0x7ed8d213, 0x7ead4000,
0x7ead3000, 0x7ead2000 }
*/
/*
DSDT=0x7ed6a9db
INT_MODEL=PIC
SCI_INT=9
SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0
PM1a_EVT_BLK=0x1000-0x1003
PM1a_CNT_BLK=0x1004-0x1005
PM2_CNT_BLK=0x1050-0x1050
PM2_TMR_BLK=0x1008-0x100b
PM2_GPE0_BLK=0x1020-0x102f
P_LVL2_LAT=1ms, P_LVL3_LAT=85ms
FLUSH_SIZE=0, FLUSH_STRIDE=0
DUTY_OFFSET=1, DUTY_WIDTH=3
DAY_ALRM=13, MON_ALRM=0, CENTURY=50
Flags={WBINVD,PROC_C1,P_LVL2_UP,SLP_BUTTON,RTC_S4,DCK_CAP}
*/
/*
DSDT: Length=61840, Revision=1, Checksum=109,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=MSFT, Creator Revision=0x3000000
*/
DefinitionBlock (
"acpi_dsdt.aml", //Output filename
"DSDT", //Signature
0x1, //DSDT Revision
"LENOVO", //OEMID
"TP-6F", //TABLE ID
0x1160 //OEM Revision
)
{
Scope(\_PR_) {
Processor(CPU0, 0, 0x1010, 0x6) {
}
Processor(CPU1, 1, 0x1010, 0x6) {
}
Processor(CPU2, 2, 0x1010, 0x6) {
}
Processor(CPU3, 3, 0x1010, 0x6) {
}
}
OperationRegion(MNVS, SystemMemory, 0x7ed8e000, 0x1000)
Field(MNVS, DWordAcc, NoLock, Preserve) {
Offset(0xe00),
GAPA, 32,
GAPL, 32,
DCKI, 32,
DCKS, 32,
VCDL, 1,
VCDC, 1,
VCDT, 1,
VCDD, 1,
VIGD, 1,
VCSS, 1,
VCDB, 1,
VCIN, 1,
VPDF, 1,
Offset(0xe12),
VLID, 4,
VVPO, 4,
BRLV, 4,
BRFQ, 2,
BRHB, 1,
BREV, 1,
CDFL, 8,
CDAH, 8,
PMOD, 2,
PDIR, 1,
PDMA, 1,
Offset(0xe17),
LFDC, 1,
Offset(0xe18),
C2NA, 1,
C3NA, 1,
C4NA, 1,
C6NA, 1,
Offset(0xe19),
Offset(0xe1a),
, 2,
OSSS, 1,
NHPS, 1,
NPME, 1,
Offset(0xe1b),
UOPT, 8,
BTID, 32,
Offset(0xe21),
Offset(0xe22),
TCRT, 16,
TPSV, 16,
TTC1, 16,
TTC2, 16,
TTSP, 16,
SRAH, 8,
SRHE, 8,
SRE0, 8,
SRE1, 8,
SRE2, 8,
SRE3, 8,
SRE4, 8,
SRE5, 8,
SRU0, 8,
SRU1, 8,
SRU2, 8,
SRU7, 8,
SRU3, 8,
SRU4, 8,
SRU8, 8,
SRPB, 8,
SRLP, 8,
SRSA, 8,
SRSM, 8,
CWAC, 1,
CWAS, 1,
CWUE, 1,
CWUS, 1,
Offset(0xe40),
CWAP, 16,
CWAT, 16,
DBGC, 1,
Offset(0xe45),
FS1L, 16,
FS1M, 16,
FS1H, 16,
FS2L, 16,
FS2M, 16,
FS2H, 16,
FS3L, 16,
FS3M, 16,
FS3H, 16,
TATC, 1,
, 6,
TATL, 1,
TATW, 8,
TNFT, 4,
TNTT, 4,
TDFA, 4,
TDTA, 4,
TDFD, 4,
TDTD, 4,
TCFA, 4,
TCTA, 4,
TCFD, 4,
TCTD, 4,
TSFT, 4,
TSTT, 4,
TIT0, 8,
TCR0, 16,
TPS0, 16,
TIT1, 8,
TCR1, 16,
TPS1, 16,
TIT2, 8,
TCR2, 16,
TPS2, 16,
TIF0, 8,
TIF1, 8,
TIF2, 8,
Offset(0xe75),
TCZ1, 8,
TCZ2, 8,
TCZ3, 8,
BTHI, 1,
Offset(0xe79),
HDIR, 1,
HDEH, 1,
HDSP, 1,
HDPP, 1,
HDUB, 1,
Offset(0xe7a),
TPMP, 1,
TPMS, 1,
Offset(0xe7b),
BIDE, 4,
IDET, 4,
, 1,
DTSE, 1,
Offset(0xe7d),
DTS0, 8,
DTS1, 8,
DT00, 1,
DT01, 1,
DT02, 1,
DT03, 1,
Offset(0xe80),
LIDB, 1,
C4WR, 1,
C4AC, 1,
ODDX, 1,
Offset(0xe81),
PH01, 8,
PH02, 8,
PH03, 8,
PPRQ, 8,
PPLO, 8,
PPRP, 8,
PPOR, 8,
TPRS, 8,
TPMV, 8,
MOR_, 8,
RSV0, 8,
IPAT, 4,
IPSC, 1,
IDMM, 1,
IDMS, 2,
HVCO, 3,
IF1E, 1,
ISSC, 1,
LIDS, 1,
IBIA, 2,
IBTT, 8,
ITVF, 4,
ITVM, 4,
TCG0, 1,
TCG1, 1,
Offset(0xe91),
SWGP, 8,
IPMS, 8,
IPMB, 120,
IPMR, 24,
IPMO, 24,
IPMA, 8,
ASLB, 32,
ASFT, 8,
Offset(0xeb0),
CHKC, 32,
CHKE, 32,
ATRB, 32,
DKLG, 1,
Offset(0xebd),
PPCR, 8,
TPCR, 5,
Offset(0xebf),
ATMB, 128,
PPCA, 8,
TPCA, 5,
Offset(0xed1)
}
Field(MNVS, ByteAcc, NoLock, Preserve) {
Offset(0xc00),
WITM, 8,
WSEL, 8,
WLS0, 8,
WLS1, 8,
WLS2, 8,
WLS3, 8,
WLS4, 8,
WLS5, 8,
WLS6, 8,
WLS7, 8,
WENC, 8,
WKBD, 8,
WPTY, 8,
WPAS, 1032,
WPNW, 1032,
WSPM, 8,
WSPS, 8,
WSMN, 8,
WSMX, 8,
WSEN, 8,
WSKB, 8
}
Field(MNVS, ByteAcc, NoLock, Preserve) {
Offset(0xb00),
DBGS, 1024
}
OperationRegion(GNVS, SystemMemory, 0x7ed7b013, 0x0200)
Field(GNVS, AnyAcc, Lock, Preserve) {
OSYS, 16,
SMIF, 8,
PRM0, 8,
PRM1, 8,
Offset(0x10),
PWRS, 8,
Offset(0x1e),
Offset(0x28),
APIC, 8,
MPEN, 8,
PCP0, 8,
PCP1, 8,
PPCM, 8,
PPMF, 32,
Offset(0x32),
Offset(0x3c),
IGDS, 8,
TLST, 8,
CADL, 8,
PADL, 8,
CSTE, 16,
NSTE, 16,
SSTE, 16,
NDID, 8,
DID1, 32,
DID2, 32,
DID3, 32,
DID4, 32,
DID5, 32,
KSV0, 32,
KSV1, 8,
BDSP, 8,
PTY1, 8,
PTY2, 8,
PSCL, 8,
TVF1, 8,
TVF2, 8,
GETM, 8,
BLCS, 8,
BRTL, 8,
ALSE, 8,
ALAF, 8,
LLOW, 8,
LHIH, 8,
Offset(0xdf),
PAVP, 8,
Offset(0x100),
VIDH, 16,
VIDM, 16,
VIDL, 16,
BUSH, 16,
BUSM, 16,
BUSL, 16,
HIST, 8,
LPST, 8,
LWST, 8,
FREH, 16,
FREL, 16,
SVST, 8,
GVEN, 8,
GVAC, 8,
GVDC, 8,
STCL, 8,
APCL, 8,
OSPX, 1,
OSC4, 1,
Offset(0x11a),
SPEN, 1,
, 1,
, 1,
, 1,
Offset(0x11b)
}
Scope(\_SB_) {
Method(_INI) {
If(LEqual(\SCMP(\_OS_, "Microsoft Windows"), Zero)) {
Store(0x1, \W98F)
}
Else {
If(CondRefOf(\_OSI, Local0)) {
If(\_OSI) {
"Windows 2001"
Store(0x1, \WNTF)
Store(0x1, \WXPF)
Store(0x0, \WSPV)
}
If(\_OSI) {
"Windows 2001 SP1"
Store(0x1, \WSPV)
}
If(\_OSI) {
"Windows 2001 SP2"
Store(0x2, \WSPV)
}
If(\_OSI) {
"Windows 2006"
Store(0x1, \WVIS)
}
If(\_OSI) {
"Linux"
Store(0x1, \LNUX)
}
If(\_OSI) {
"FreeBSD"
Store(0x1, \LNUX)
}
}
Else {
If(LEqual(\SCMP(\_OS_, "Microsoft Windows NT"), Zero)) {
Store(0x1, \WNTF)
}
Else {
If(LEqual(\SCMP(\_OS_, "Microsoft WindowsME: Millennium
Edition"), Zero)) {
Store(0x1, \WMEF)
Store(0x1, \W98F)
}
}
}
}
If(LNot(LLess(\_REV, 0x2))) {
Store(0x1, \H8DR)
}
Store(0x1, \OSIF)
Store(\_SB_.PCI0.LPC_.EC__.AC__._PSR(), \PWRS)
If(And(\PPMF, 0x0100)) {
TRAZ(0x1, 0x2b)
}
If(LAnd(\WXPF, LNot(LLess(\WSPV, 0x1)))) {
TRAZ(0x1, 0x50)
}
\_SB_.PCI0.LPC_.MOU_.MHID()
If(\LNUX) {
\_SB_.PCI0.LPC_.EC__.SAUM(0x2)
\UCMS(0x1c)
}
Store(\SRAH, \_SB_.PCI0.RID_)
If(VIGD) {
Store(\SRHE, \_SB_.PCI0.VID_.RID_)
}
Else {
Store(\SRHE, \_SB_.PCI0.AGP_.RID_)
}
Store(\SRE0, \_SB_.PCI0.EXP0.RID_)
Store(\SRE1, \_SB_.PCI0.EXP1.RID_)
Store(\SRE2, \_SB_.PCI0.EXP2.RID_)
Store(\SRE3, \_SB_.PCI0.EXP3.RID_)
Store(\SRU0, \_SB_.PCI0.USB0.RID_)
Store(\SRU1, \_SB_.PCI0.USB1.RID_)
Store(\SRU3, \_SB_.PCI0.USB3.RID_)
Store(\SRU7, \_SB_.PCI0.EHC0.RID_)
Store(\SRU3, \_SB_.PCI0.USB3.RID_)
Store(\SRU4, \_SB_.PCI0.USB4.RID_)
Store(\SRU8, \_SB_.PCI0.EHC1.RID_)
Store(\SRPB, \_SB_.PCI0.PCI1.RID_)
Store(\SRLP, \_SB_.PCI0.LPC_.RID_)
Store(\SRSA, \_SB_.PCI0.SATA.RID_)
Store(\SRSM, \_SB_.PCI0.SMBU.RID_)
Store(\VHYB(0x5, 0x0), Local1)
If(And(Local1, 0x80)) {
If(\WVIS) {
If(LNot(LEqual(And(Local1, 0x3), 0x3))) {
\VHYB(0x6, 0x3)
}
}
Else {
If(LEqual(And(Local1, 0x3), 0x3)) {
\VHYB(0x6, 0x2)
}
}
}
}
Device(LNKA) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x1)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRA))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRA, 0x80, \_SB_.PCI0.LPC_.PIRA)
}
Name(BUFA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFA, 0x1, IRA1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRA, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRA1)
}
Else {
Store(0x0, IRA1)
}
Return(BUFA)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRA2)
FindSetRightBit(IRA2, Local0)
And(\_SB_.PCI0.LPC_.PIRA, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRA)
}
}
Device(LNKB) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x2)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRB))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRB, 0x80, \_SB_.PCI0.LPC_.PIRB)
}
Name(BUFB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFB, 0x1, IRB1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRB, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRB1)
}
Else {
Store(0x0, IRB1)
}
Return(BUFB)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRB2)
FindSetRightBit(IRB2, Local0)
And(\_SB_.PCI0.LPC_.PIRB, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRB)
}
}
Device(LNKC) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x3)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRC))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRC, 0x80, \_SB_.PCI0.LPC_.PIRC)
}
Name(BUFC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFC, 0x1, IRC1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRC, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRC1)
}
Else {
Store(0x0, IRC1)
}
Return(BUFC)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRC2)
FindSetRightBit(IRC2, Local0)
And(\_SB_.PCI0.LPC_.PIRC, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRC)
}
}
Device(LNKD) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x4)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRD))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRD, 0x80, \_SB_.PCI0.LPC_.PIRD)
}
Name(BUFD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFD, 0x1, IRD1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRD, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRD1)
}
Else {
Store(0x0, IRD1)
}
Return(BUFD)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRD2)
FindSetRightBit(IRD2, Local0)
And(\_SB_.PCI0.LPC_.PIRD, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRD)
}
}
Device(LNKE) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x5)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRE))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRE, 0x80, \_SB_.PCI0.LPC_.PIRE)
}
Name(BUFE, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFE, 0x1, IRE1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRE, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRE1)
}
Else {
Store(0x0, IRE1)
}
Return(BUFE)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRE2)
FindSetRightBit(IRE2, Local0)
And(\_SB_.PCI0.LPC_.PIRE, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRE)
}
}
Device(LNKF) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x6)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRF))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRF, 0x80, \_SB_.PCI0.LPC_.PIRF)
}
Name(BUFF, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFF, 0x1, IRF1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRF, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRF1)
}
Else {
Store(0x0, IRF1)
}
Return(BUFF)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRF2)
FindSetRightBit(IRF2, Local0)
And(\_SB_.PCI0.LPC_.PIRF, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRF)
}
}
Device(LNKG) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x7)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRG))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRG, 0x80, \_SB_.PCI0.LPC_.PIRG)
}
Name(BUFG, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFG, 0x1, IRG1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRG, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRG1)
}
Else {
Store(0x0, IRG1)
}
Return(BUFG)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRG2)
FindSetRightBit(IRG2, Local0)
And(\_SB_.PCI0.LPC_.PIRG, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRG)
}
}
Device(LNKH) {
Name(_HID, 0x0f0cd041)
Name(_UID, 0x8)
Method(_STA) {
If(LNot(VPIR(\_SB_.PCI0.LPC_.PIRH))) {
Return(0x9)
}
Else {
Return(0xb)
}
}
Name(_PRS, Buffer(0x6) {0x23, 0xf8, 0xe, 0x18, 0x79, 0x0 })
Method(_DIS) {
Or(\_SB_.PCI0.LPC_.PIRH, 0x80, \_SB_.PCI0.LPC_.PIRH)
}
Name(BUFH, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
CreateWordField(BUFH, 0x1, IRH1)
Method(_CRS) {
And(\_SB_.PCI0.LPC_.PIRH, 0x8f, Local0)
If(VPIR(Local0)) {
ShiftLeft(0x1, Local0, IRH1)
}
Else {
Store(0x0, IRH1)
}
Return(BUFH)
}
Method(_SRS, 1) {
CreateWordField(Arg0, 0x1, IRH2)
FindSetRightBit(IRH2, Local0)
And(\_SB_.PCI0.LPC_.PIRH, 0x70, Local1)
Or(Local1, Decrement(Local0), Local1)
Store(Local1, \_SB_.PCI0.LPC_.PIRH)
}
}
Method(VPIR, 1) {
Store(0x1, Local0)
If(And(Arg0, 0x80)) {
Store(0x0, Local0)
}
Else {
And(Arg0, 0xf, Local1)
If(LLess(Local1, 0x3)) {
Store(0x0, Local0)
}
Else {
If(LOr(LEqual(Local1, 0x8), LEqual(Local1, 0xd))) {
Store(0x0, Local0)
}
}
}
Return(Local0)
}
Device(MEM_) {
Name(_HID, 0x010cd041)
Name(ME98, Buffer(0x3e) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x2, 0x0,
0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xee, 0x1, 0x86, 0x9,
0x0, 0x0, 0x0, 0x0, 0xc0, 0xfe, 0x0, 0x0, 0x14, 0x0, 0x86, 0x9, 0x0, 0x0,
0x0, 0xc0, 0xd4, 0xfe, 0x0, 0x40, 0x2b, 0x1, 0x79, 0x0 })
CreateDWordField(ME98, 0x1c, MEB0)
CreateDWordField(ME98, 0x20, MEL0)
Name(MGAP, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x79, 0x0 })
CreateDWordField(MGAP, 0x4, MGPB)
CreateDWordField(MGAP, 0x8, MGPL)
Name(MEMS, Buffer(0xce) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x86, 0x9, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0,
0x0, 0x0, 0x80, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0xc0,
0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0,
0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0,
0x86, 0x9, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0,
0x0, 0x0, 0xc0, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0,
0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0x0,
0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0,
0x86, 0x9, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0,
0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0x1, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0,
0x10, 0x0, 0x0, 0x0, 0xee, 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xfe,
0x0, 0x0, 0x14, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0xc0, 0xd4, 0xfe, 0x0, 0x40,
0x2b, 0x1, 0x79, 0x0 })
CreateDWordField(MEMS, 0x14, MC0L)
CreateDWordField(MEMS, 0x20, MC4L)
CreateDWordField(MEMS, 0x2c, MC8L)
CreateDWordField(MEMS, 0x38, MCCL)
CreateDWordField(MEMS, 0x44, MD0L)
CreateDWordField(MEMS, 0x50, MD4L)
CreateDWordField(MEMS, 0x5c, MD8L)
CreateDWordField(MEMS, 0x68, MDCL)
CreateDWordField(MEMS, 0x74, ME0L)
CreateDWordField(MEMS, 0x80, ME4L)
CreateDWordField(MEMS, 0x8c, ME8L)
CreateDWordField(MEMS, 0x98, MECL)
CreateBitField(MEMS, 0x78, MC0W)
CreateBitField(MEMS, 0xd8, MC4W)
CreateBitField(MEMS, 0x0138, MC8W)
CreateBitField(MEMS, 0x0198, MCCW)
CreateBitField(MEMS, 0x01f8, MD0W)
CreateBitField(MEMS, 0x0258, MD4W)
CreateBitField(MEMS, 0x02b8, MD8W)
CreateBitField(MEMS, 0x0318, MDCW)
CreateBitField(MEMS, 0x0378, ME0W)
CreateBitField(MEMS, 0x03d8, ME4W)
CreateBitField(MEMS, 0x0438, ME8W)
CreateBitField(MEMS, 0x0498, MECW)
CreateDWordField(MEMS, 0xac, MEB1)
CreateDWordField(MEMS, 0xb0, MEL1)
CreateDWordField(MEMS, 0xbc, MEL2)
CreateDWordField(MEMS, 0xc8, MEL3)
Method(_CRS) {
If(\W98F) {
Subtract(\MEMX, MEB0, MEL0)
Store(\GAPA, MGPB)
Store(\GAPL, MGPL)
If(LAnd(MGPB, MGPL)) {
Subtract(SizeOf(ME98), 0x2, Local0)
Name(MBF0, Buffer(Local0) { })
Add(Local0, SizeOf(MGAP), Local0)
Name(MBF1, Buffer(Local0) { })
Store(ME98, MBF0)
Concatenate(MBF0, MGAP, MBF1)
If(LNot(LEqual(\_SB_.PCI0.LPC_.TPM_._STA(), 0xf))) {
Subtract(SizeOf(MBF1), 0x2, Local0)
Name(MBF2, Buffer(Local0) { })
Add(Local0, SizeOf(\_SB_.PCI0.LPC_.TPM_.BUF1), Local0)
Name(MBF3, Buffer(Local0) { })
Store(MBF1, MBF2)
Concatenate(MBF2, \_SB_.PCI0.LPC_.TPM_.BUF1, MBF3)
Return(MBF3)
}
Else {
Return(MBF1)
}
}
Else {
If(LNot(LEqual(\_SB_.PCI0.LPC_.TPM_._STA(), 0xf))) {
Subtract(SizeOf(ME98), 0x2, Local0)
Name(MBF4, Buffer(Local0) { })
Add(Local0, SizeOf(\_SB_.PCI0.LPC_.TPM_.BUF1), Local0)
Name(MBF5, Buffer(Local0) { })
Store(ME98, MBF4)
Concatenate(MBF4, \_SB_.PCI0.LPC_.TPM_.BUF1, MBF5)
Return(MBF5)
}
Else {
Return(ME98)
}
}
}
And(\_SB_.PCI0.PAM1, 0x3, Local0)
If(Local0) {
Store(0x4000, MC0L)
If(And(Local0, 0x2)) {
Store(0x1, MC0W)
}
}
And(\_SB_.PCI0.PAM1, 0x30, Local0)
If(Local0) {
Store(0x4000, MC4L)
If(And(Local0, 0x20)) {
Store(0x1, MC4W)
}
}
And(\_SB_.PCI0.PAM2, 0x3, Local0)
If(Local0) {
Store(0x4000, MC8L)
If(And(Local0, 0x2)) {
Store(0x1, MC8W)
}
}
And(\_SB_.PCI0.PAM2, 0x30, Local0)
If(Local0) {
Store(0x4000, MCCL)
If(And(Local0, 0x20)) {
Store(0x1, MCCW)
}
}
And(\_SB_.PCI0.PAM3, 0x3, Local0)
If(Local0) {
Store(0x4000, MD0L)
If(And(Local0, 0x2)) {
Store(0x1, MD0W)
}
}
And(\_SB_.PCI0.PAM3, 0x30, Local0)
If(Local0) {
Store(0x4000, MD4L)
If(And(Local0, 0x20)) {
Store(0x1, MD4W)
}
}
And(\_SB_.PCI0.PAM4, 0x3, Local0)
If(Local0) {
Store(0x4000, MD8L)
If(And(Local0, 0x2)) {
Store(0x1, MD8W)
}
}
And(\_SB_.PCI0.PAM4, 0x30, Local0)
If(Local0) {
Store(0x4000, MDCL)
If(And(Local0, 0x20)) {
Store(0x1, MDCW)
}
}
And(\_SB_.PCI0.PAM5, 0x3, Local0)
If(Local0) {
Store(0x4000, ME0L)
If(And(Local0, 0x2)) {
Store(0x1, ME0W)
}
}
And(\_SB_.PCI0.PAM5, 0x30, Local0)
If(Local0) {
Store(0x4000, ME4L)
If(And(Local0, 0x20)) {
Store(0x1, ME4W)
}
}
And(\_SB_.PCI0.PAM6, 0x3, Local0)
If(Local0) {
Store(0x4000, ME8L)
If(And(Local0, 0x2)) {
Store(0x1, ME8W)
}
}
And(\_SB_.PCI0.PAM6, 0x30, Local0)
If(Local0) {
Store(0x4000, MECL)
If(And(Local0, 0x20)) {
Store(0x1, MECW)
}
}
Subtract(\MEMX, MEB1, MEL1)
If(LNot(LEqual(\_SB_.PCI0.LPC_.TPM_._STA(), 0xf))) {
Store(0x01400000, MEL2)
Store(0x0, MEL3)
}
Return(MEMS)
}
}
Device(LID_) {
Name(_HID, 0x0d0cd041)
Method(_LID) {
If(\H8DR) {
Return(\_SB_.PCI0.LPC_.EC__.HPLD)
}
Else {
If(And(\RBEC(0x46), 0x4)) {
Return(0x1)
}
Else {
Return(0x0)
}
}
}
Method(_PRW) {
If(LAnd(\W98F, LNot(\WMEF))) {
Return(Package(0x2) {
0x18,
0x4,
})
}
Else {
Return(Package(0x2) {
0x18,
0x3,
})
}
}
Method(_PSW, 1) {
If(\H8DR) {
If(Arg0) {
Store(0x1, \_SB_.PCI0.LPC_.EC__.HWLO)
}
Else {
Store(0x0, \_SB_.PCI0.LPC_.EC__.HWLO)
}
}
Else {
If(Arg0) {
\MBEC(0x32, 0xff, 0x4)
}
Else {
\MBEC(0x32, 0xfb, 0x0)
}
}
}
}
Device(SLPB) {
Name(_HID, 0x0e0cd041)
Method(_PRW) {
If(LAnd(\W98F, LNot(\WMEF))) {
Return(Package(0x2) {
0x18,
0x4,
})
}
Else {
Return(Package(0x2) {
0x18,
0x3,
})
}
}
Method(_PSW, 1) {
If(\H8DR) {
If(Arg0) {
Store(0x1, \_SB_.PCI0.LPC_.EC__.HWFN)
}
Else {
Store(0x0, \_SB_.PCI0.LPC_.EC__.HWFN)
}
}
Else {
If(Arg0) {
\MBEC(0x32, 0xff, 0x10)
}
Else {
\MBEC(0x32, 0xef, 0x0)
}
}
}
}
Device(PCI0) {
Device(LPC_) {
Name(_ADR, 0x001f0000)
Name(_S3D, 0x3)
Name(RID_, 0x0)
Device(SIO_) {
Name(_HID, 0x020cd041)
Name(_UID, 0x0)
Name(SCRS, Buffer(0x0112) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0,
0x1, 0x10, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x10, 0x47, 0x1, 0x24, 0x0,
0x24, 0x0, 0x1, 0x2, 0x47, 0x1, 0x28, 0x0, 0x28, 0x0, 0x1, 0x2, 0x47, 0x1,
0x2c, 0x0, 0x2c, 0x0, 0x1, 0x2, 0x47, 0x1, 0x30, 0x0, 0x30, 0x0, 0x1, 0x2,
0x47, 0x1, 0x34, 0x0, 0x34, 0x0, 0x1, 0x2, 0x47, 0x1, 0x38, 0x0, 0x38, 0x0,
0x1, 0x2, 0x47, 0x1, 0x3c, 0x0, 0x3c, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa4, 0x0,
0xa4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa8, 0x0, 0xa8, 0x0, 0x1, 0x2, 0x47, 0x1,
0xac, 0x0, 0xac, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb0, 0x0, 0xb0, 0x0, 0x1, 0x6,
0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xbc, 0x0, 0xbc, 0x0,
0x1, 0x2, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x1, 0x4, 0x47, 0x1, 0x72, 0x0,
0x72, 0x0, 0x1, 0x6, 0x47, 0x1, 0x4e, 0x16, 0x4e, 0x16, 0x1, 0x2, 0x47, 0x1,
0x2e, 0x0, 0x2e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1, 0x80,
0x47, 0x1, 0x80, 0x11, 0x80, 0x11, 0x1, 0x80, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8,
0x1, 0x10, 0x47, 0x1, 0xe0, 0x15, 0xe0, 0x15, 0x1, 0x10, 0x47, 0x1, 0x0,
0x16, 0x0, 0x16, 0x1, 0x42, 0x47, 0x1, 0x0, 0x16, 0x0, 0x16, 0x1, 0x1c, 0x86,
0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0xe0, 0x0, 0x0, 0x0, 0x10, 0x86, 0x9, 0x0, 0x1,
0x0, 0xc0, 0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0,
0xd1, 0xfe, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x80, 0xd1, 0xfe,
0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x90, 0xd1, 0xfe, 0x0, 0x10,
0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x50, 0xd4, 0xfe, 0x0, 0x70, 0x0, 0x0,
0x79, 0x0 })
Method(_CRS) {
If(LEqual(\_SB_.PCI0.LPC_.TPM_._STA(), 0xf)) {
Return(SCRS)
}
Else {
Subtract(SizeOf(SCRS), 0x2, Local0)
Name(BUF0, Buffer(Local0) { })
Add(Local0, SizeOf(\_SB_.PCI0.LPC_.TPM_.BUF1), Local0)
Name(BUF1, Buffer(Local0) { })
Store(SCRS, BUF0)
Concatenate(BUF0, \_SB_.PCI0.LPC_.TPM_.BUF1, BUF1)
Return(BUF1)
}
}
}
OperationRegion(LPCS, PCI_Config, 0x0, 0x0100)
Field(LPCS, AnyAcc, NoLock, Preserve) {
Offset(0x60),
PIRA, 8,
PIRB, 8,
PIRC, 8,
PIRD, 8,
SERQ, 8,
Offset(0x68),
PIRE, 8,
PIRF, 8,
PIRG, 8,
PIRH, 8,
Offset(0x80),
XU1A, 3,
, 1,
XU2A, 3,
Offset(0x81),
XPA_, 2,
, 2,
XFA_, 1,
Offset(0x82),
XU1E, 1,
XU2E, 1,
XPE_, 1,
XFE_, 1,
Offset(0x84),
XG1E, 1,
, 1,
XG1A, 14,
Offset(0x88),
XG2E, 1,
, 1,
XG2A, 14,
Offset(0xa0),
, 2,
CLKR, 1,
GYEN, 1,
, 3,
C4C3, 1,
, 2,
EXPE, 1,
Offset(0xa2)
}
OperationRegion(LPIO, SystemIO, 0x1180, 0x80)
Field(LPIO, DWordAcc, NoLock, Preserve) {
GU00, 8,
GU01, 8,
GU02, 8,
GU03, 8,
GI00, 8,
GI01, 8,
GI02, 8,
GI03, 8,
Offset(0xc),
GL00, 8,
GL01, 8,
GL02, 8,
GL03, 8,
Offset(0x18),
GB00, 8,
GB01, 8,
GB02, 8,
GB03, 8,
Offset(0x2c),
GV00, 8,
GV01, 8,
GV02, 8,
GV03, 8,
GU04, 8,
GU05, 8,
GU06, 8,
GU07, 8,
GI04, 8,
GI05, 8,
GI06, 8,
GI07, 8,
GL04, 8,
GL05, 8,
GL06, 8,
GL07, 8
}
Field(LPIO, DWordAcc, NoLock, Preserve) {
Offset(0xc),
, 6,
LCDP, 1,
Offset(0xe)
}
OperationRegion(PMIO, SystemIO, 0x1000, 0x80)
Field(PMIO, AnyAcc, NoLock, Preserve) {
Offset(0x42),
, 1,
SWGE, 1,
Offset(0x64),
, 9,
SCIS, 1,
Offset(0x66)
}
OperationRegion(IO_T, SystemIO, 0x0800, 0x10)
Field(IO_T, ByteAcc, NoLock, Preserve) {
TRPI, 16,
Offset(0x4),
Offset(0x6),
Offset(0x8),
TRP0, 8,
Offset(0xa),
Offset(0xb),
Offset(0xc),
Offset(0xd),
Offset(0xe),
Offset(0xf),
Offset(0x10)
}
Device(PIC_) {
Name(_HID, 0xd041)
Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1,
0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0,
0x4, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
}
Device(TIMR) {
Name(_HID, 0x0001d041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1,
0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
}
Device(HPET) {
Name(_HID, 0x0301d041)
Method(_STA) {
If(W98F) {
Return(0x0)
}
Else {
If(LAnd(\WNTF, LNot(\WXPF))) {
Return(0x0)
}
Else {
Return(0xf)
}
}
Return(0x0)
}
Name(_CRS, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0,
0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
}
Device(DMAC) {
Name(_HID, 0x0002d041)
Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x10, 0x47, 0x1, 0xc0, 0x0, 0xc0,
0x0, 0x1, 0x20, 0x2a, 0x10, 0x5, 0x79, 0x0 })
}
Device(SPKR) {
Name(_HID, 0x0008d041)
Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1,
0x1, 0x79, 0x0 })
}
Device(FPU_) {
Name(_HID, 0x040cd041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1,
0x1, 0x22, 0x0, 0x20, 0x79, 0x0 })
}
Device(RTC_) {
Name(_HID, 0x000bd041)
Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1,
0x2, 0x22, 0x0, 0x1, 0x79, 0x0 })
}
Device(KBD_) {
Name(_HID, 0x0303d041)
Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1,
0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
}
Device(MOU_) {
Name(_HID, 0x80374d24)
Name(_CID, 0x130fd041)
Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
Method(MHID) {
If(\_SB_.PCI0.LPC_.PADD) {
Store(0x80374d24, _HID)
}
Else {
Store(0x57004d24, _HID)
}
}
}
OperationRegion(IMGA, SystemIO, 0x15e0, 0x10)
Field(IMGA, ByteAcc, NoLock, Preserve) {
Offset(0x1),
Offset(0x2),
Offset(0x3),
WAKR, 16,
Offset(0xc),
GAIX, 8,
Offset(0xe),
GADT, 8,
Offset(0x10)
}
IndexField(GAIX, GADT, ByteAcc, NoLock, Preserve) {
Offset(0x41),
VAUX, 2,
, 1,
WOLE, 1,
Offset(0x42),
Offset(0x50),
, 1,
CBPW, 1,
CBSL, 1,
VDPW, 1,
PDNE, 1,
BLPL, 1,
, 1,
LEDS, 1,
TP4R, 1,
PADR, 1,
BPAD, 1,
, 1,
, 1,
PADD, 1,
Offset(0x53),
DLAN, 1,
Offset(0x60),
BUSC, 1,
BUSD, 1,
, 1,
DSCI, 1,
Offset(0x61),
EPWG, 1,
, 2,
DSCS, 1,
Offset(0x62),
CSON, 1,
URST, 1,
Offset(0x70),
GDR0, 1,
GDR1, 1,
GDR2, 1,
Offset(0x71),
GDT0, 1,
GDT1, 1,
GDT2, 1,
Offset(0xc2),
GAID, 8
}
OperationRegion(NCFG, SystemIO, 0x2e, 0x2)
Field(NCFG, ByteAcc, NoLock, Preserve) {
INDX, 8,
DATA, 8
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
Offset(0x7),
LDN_, 8,
Offset(0x20),
SIOD, 8,
Offset(0x22),
SCF2, 8,
Offset(0x24),
SCF4, 8,
, 2,
PPSE, 1,
, 4,
PNF_, 1,
FDCD, 1,
PPD_, 1,
SP2D, 1,
SP1D, 1,
, 1,
GPSR, 2,
Offset(0x27),
SRID, 8,
Offset(0x29),
SCF9, 8,
Offset(0x2b),
Offset(0x30),
LDA_, 1,
Offset(0x31),
Offset(0x60),
IOHI, 8,
IOLW, 8,
Offset(0x70),
IRQN, 4,
IRQW, 1,
Offset(0x71),
IRQT, 1,
IRQL, 1,
Offset(0x72),
Offset(0x74),
DMA0, 3,
Offset(0x75),
DMA1, 3,
Offset(0x76)
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
Offset(0xf0),
PTRS, 1,
PPMC, 1,
, 2,
PERA, 1,
PMDS, 3
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
Offset(0xf0),
STRS, 1,
SPMC, 1,
SBSY, 1,
, 4,
SBSE, 1
}
IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
Offset(0xf0),
GPPS, 8,
GPPC, 8,
GPER, 8
}
OperationRegion(CFGS, SystemIO, 0x164e, 0x2)
Field(CFGS, ByteAcc, NoLock, Preserve) {
NDXS, 8,
ATAS, 8
}
IndexField(NDXS, ATAS, ByteAcc, NoLock, Preserve) {
Offset(0x7),
LDNS, 8,
Offset(0x20),
Offset(0x21),
Offset(0x22),
Offset(0x23),
Offset(0x24),
Offset(0x25),
, 2,
PSES, 1,
, 4,
PNFS, 1,
DCDS, 1,
PPDS, 1,
SP2S, 1,
SP1S, 1,
, 1,
PSRS, 2,
Offset(0x27),
RIDS, 8,
Offset(0x29),
CCSS, 2,
CCES, 1,
MCSS, 1,
MESS, 1,
Offset(0x2a),
Offset(0x2b),
Offset(0x30),
LDAS, 1,
Offset(0x31),
Offset(0x60),
OHIS, 8,
OLWS, 8,
Offset(0x70),
RQNS, 4,
RQWS, 1,
Offset(0x71),
RQTS, 1,
RQLS, 1,
Offset(0x72),
Offset(0x74),
MA0S, 3,
Offset(0x75),
MA1S, 3,
Offset(0x76)
}
IndexField(NDXS, ATAS, ByteAcc, NoLock, Preserve) {
Offset(0xf0),
TRSS, 1,
PMCS, 1,
BSYS, 1,
, 4,
SESS, 1
}
OperationRegion(NSDL, SystemIO, 0x164c, 0x1)
Field(NSDL, ByteAcc, NoLock, Preserve) {
DLPC, 8
}
OperationRegion(NSIO, SystemIO, 0x1680, 0xc)
Field(NSIO, ByteAcc, NoLock, Preserve) {
DRST, 1,
DLPD, 1,
ULRT, 1,
ULPD, 1,
Offset(0x1),
, 4,
DKI0, 1,
Offset(0x2),
Offset(0x9),
DKI1, 1,
DKI2, 1
}
OperationRegion(DSIO, SystemIO, 0x1620, 0xc)
Field(DSIO, ByteAcc, NoLock, Preserve) {
, 1,
DUSB, 1,
Offset(0x1)
}
Device(UART) {
Name(_HID, 0x0105d041)
Name(_PRW, Package(0x2) {
0x18,
0x3,
})
Method(_PSW, 1) {
If(\H8DR) {
If(Arg0) {
Store(0x1, \_SB_.PCI0.LPC_.EC__.HWRI)
}
Else {
Store(0x0, \_SB_.PCI0.LPC_.EC__.HWRI)
}
}
Else {
If(Arg0) {
\MBEC(0x32, 0xff, 0x40)
}
Else {
\MBEC(0x32, 0xbf, 0x0)
}
}
}
Method(_STA) {
If(LEqual(SIOD, 0xff)) {
Return(0x0)
}
Else {
If(XU1E) {
Return(0xf)
}
Else {
Return(0xd)
}
}
}
Method(_DIS) {
Store(0x0, XU1E)
Store(0x3, LDN_)
Store(0x0, IRQN)
Store(0x0, LDA_)
Store(0x1, SP1D)
}
Name(U1BF, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
0x8, 0x22, 0x0, 0x0, 0x79, 0x0 })
CreateWordField(U1BF, 0x2, U1MN)
CreateWordField(U1BF, 0x4, U1MX)
CreateWordField(U1BF, 0x9, U1IQ)
Method(_CRS) {
Store(0x3, LDN_)
Or(ShiftLeft(IOHI, 0x8), IOLW, Local0)
Store(Local0, U1MN)
Store(Local0, U1MX)
Store(IRQN, Local0)
If(Local0) {
ShiftLeft(0x1, IRQN, U1IQ)
}
Else {
Store(0x0, U1IQ)
}
Return(U1BF)
}
Name(_PRS, Buffer(0x6b) {0x31, 0x0, 0x47, 0x1, 0xf8, 0x3,
0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x1, 0x47, 0x1, 0xf8, 0x2, 0xf8,
0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x1, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3,
0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x1, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1,
0x8, 0x22, 0x8, 0x0, 0x31, 0x2, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8,
0x22, 0xa8, 0x0, 0x31, 0x2, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22,
0xb0, 0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xa8,
0x0, 0x31, 0x2, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb0, 0x0,
0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, RUIL)
CreateByteField(Arg0, 0x3, RUIH)
CreateWordField(Arg0, 0x2, RUIO)
CreateWordField(Arg0, 0x9, RUIQ)
Store(0x3, LDN_)
Store(0x0, LDA_)
Store(RUIL, IOLW)
Store(RUIH, IOHI)
If(RUIQ) {
FindSetRightBit(RUIQ, Local0)
Store(Decrement(Local0), IRQN)
}
Else {
Store(0x0, IRQN)
}
Store(0x0, SP1D)
Store(0x1, LDA_)
If(LEqual(RUIO, 0x03f8)) {
Store(0x0, XU1A)
}
Else {
If(LEqual(RUIO, 0x02f8)) {
Store(0x1, XU1A)
}
Else {
If(LEqual(RUIO, 0x03e8)) {
Store(0x7, XU1A)
}
Else {
If(LEqual(RUIO, 0x02e8)) {
Store(0x5, XU1A)
}
Else {
Fatal(0x2, 0x90020000, 0x01aa)
}
}
}
}
Store(0x1, XU1E)
}
Method(_PSC) {
Store(0x3, LDN_)
If(LDA_) {
Return(0x0)
}
Else {
Return(0x3)
}
}
Method(_PS0) {
}
Method(_PS3) {
}
}
Device(LPT_) {
Name(_HID, 0x0004d041)
Method(_STA) {
If(LEqual(SIOD, 0xff)) {
Return(0x0)
}
Else {
If(LNot(LEqual(\PMOD, 0x3))) {
If(XPE_) {
Return(0xf)
}
Else {
Return(0xd)
}
}
Else {
Return(0x0)
}
}
}
Method(_DIS) {
Store(0x0, XPE_)
Store(0x1, LDN_)
Store(0x0, IRQN)
Store(0x0, LDA_)
Store(0x1, PPD_)
}
Name(PPBF, Buffer(0xd) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
0x0, 0x22, 0x0, 0x0, 0x79, 0x0 })
CreateWordField(PPBF, 0x2, LPN0)
CreateWordField(PPBF, 0x4, LPX0)
CreateByteField(PPBF, 0x7, LPL0)
CreateWordField(PPBF, 0x9, LPIQ)
Method(_CRS) {
If(LEqual(\PMOD, 0x3)) {
Return(PPBF)
}
Store(0x1, LDN_)
Or(ShiftLeft(IOHI, 0x8), IOLW, Local0)
Store(Local0, LPN0)
Store(Local0, LPX0)
If(LEqual(Local0, 0x03bc)) {
Store(0x3, LPL0)
}
Else {
Store(0x8, LPL0)
}
Store(IRQN, Local0)
If(Local0) {
ShiftLeft(0x1, IRQN, LPIQ)
}
Else {
Store(0x0, LPIQ)
}
Return(PPBF)
}
Method(_PRS) {
If(\PMOD) {
Return(PEPP)
}
Else {
Return(PLPT)
}
}
Name(PLPT, Buffer(0x4b) {0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc,
0x3, 0x1, 0x3, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1,
0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22,
0x20, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x3, 0x22, 0x20, 0x0,
0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22, 0x20, 0x0, 0x30, 0x47,
0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x80, 0x0, 0x38, 0x79, 0x0 })
Name(PEPP, Buffer(0x33) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78,
0x3, 0x1, 0x8, 0x22, 0x80, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1,
0x8, 0x22, 0x20, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x22,
0x20, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x22, 0x80, 0x0,
0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, RLIL)
CreateByteField(Arg0, 0x3, RLIH)
CreateWordField(Arg0, 0x2, RLIO)
CreateWordField(Arg0, 0x9, RLIQ)
Store(0x1, LDN_)
Store(0x0, LDA_)
Store(RLIL, IOLW)
Store(RLIH, IOHI)
If(RLIQ) {
FindSetRightBit(RLIQ, Local0)
Store(Decrement(Local0), IRQN)
}
Else {
Store(0x0, IRQN)
}
If(LEqual(\PMOD, 0x0)) {
If(\PDIR) {
Store(0x1, PMDS)
}
Else {
Store(0x0, PMDS)
}
}
Else {
If(LEqual(\PMOD, 0x1)) {
Store(0x2, PMDS)
}
Else {
Store(0x3, PMDS)
}
}
Store(0x0, PPD_)
Store(0x1, LDA_)
If(LEqual(RLIO, 0x0378)) {
Store(0x0, XPA_)
}
Else {
If(LEqual(RLIO, 0x0278)) {
Store(0x1, XPA_)
}
Else {
If(LEqual(RLIO, 0x03bc)) {
Store(0x2, XPA_)
}
Else {
Fatal(0x2, 0x90020000, 0x01cf)
}
}
}
Store(0x1, XPE_)
}
Method(_PSC) {
Store(0x1, LDN_)
If(LDA_) {
Return(0x0)
}
Else {
Return(0x3)
}
}
Method(_PS0) {
Store(0x1, LDN_)
Store(0x1, LDA_)
}
Method(_PS3) {
Store(0x1, LDN_)
Store(0x0, LDA_)
}
}
Device(ECP_) {
Name(_HID, 0x0104d041)
Method(_STA) {
If(LEqual(SIOD, 0xff)) {
Return(0x0)
}
Else {
If(LEqual(\PMOD, 0x3)) {
If(XPE_) {
Return(0xf)
}
Else {
Return(0xd)
}
}
Else {
Return(0x0)
}
}
}
Method(_DIS) {
Store(0x0, XPE_)
Store(0x1, LDN_)
Store(0x0, IRQN)
Store(0x0, LDA_)
Store(0x1, PPD_)
}
Name(EPBF, Buffer(0x18) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1,
0x0, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0,
0x79, 0x0 })
CreateWordField(EPBF, 0x2, ECN0)
CreateWordField(EPBF, 0x4, ECX0)
CreateByteField(EPBF, 0x7, ECL0)
CreateWordField(EPBF, 0xa, ECN1)
CreateWordField(EPBF, 0xc, ECX1)
CreateByteField(EPBF, 0xf, ECL1)
CreateWordField(EPBF, 0x11, ECIQ)
CreateWordField(EPBF, 0x14, ECDQ)
Method(_CRS) {
If(LNot(LEqual(\PMOD, 0x3))) {
Return(EPBF)
}
Store(0x1, LDN_)
Or(ShiftLeft(IOHI, 0x8), IOLW, Local0)
Store(Local0, ECN0)
Store(Local0, ECX0)
Add(Local0, 0x0400, ECN1)
Add(Local0, 0x0400, ECX1)
If(LEqual(Local0, 0x03bc)) {
Store(0x3, ECL0)
Store(0x3, ECL1)
}
Else {
Store(0x8, ECL0)
Store(0x8, ECL1)
}
Store(IRQN, Local0)
If(Local0) {
ShiftLeft(0x1, IRQN, ECIQ)
}
Else {
Store(0x0, ECIQ)
}
Store(DMA0, Local0)
If(LLess(Local0, 0x4)) {
ShiftLeft(0x1, Local0, ECDQ)
}
Else {
Store(0x0, ECDQ)
}
Return(EPBF)
}
Name(_PRS, Buffer(0x8d) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78,
0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0,
0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1,
0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47,
0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x3, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1,
0x3, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3,
0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a,
0xb, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78,
0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0xb, 0x0, 0x30, 0x47, 0x1,
0xbc, 0x3, 0xbc, 0x3, 0x1, 0x3, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x3,
0x22, 0x20, 0x0, 0x2a, 0xb, 0x0, 0x38, 0x79, 0x0 })
Method(_SRS, 1) {
CreateByteField(Arg0, 0x2, RLIL)
CreateByteField(Arg0, 0x3, RLIH)
CreateWordField(Arg0, 0x2, RLIO)
CreateWordField(Arg0, 0x11, RLIQ)
CreateByteField(Arg0, 0x14, RLDQ)
Store(0x1, LDN_)
Store(0x0, LDA_)
Store(0x7, PMDS)
Store(0x1, PERA)
Store(RLIL, IOLW)
Store(RLIH, IOHI)
If(RLIQ) {
FindSetRightBit(RLIQ, Local0)
Store(Decrement(Local0), IRQN)
}
Else {
Store(0x0, IRQN)
}
If(And(RLDQ, 0xf)) {
FindSetRightBit(RLDQ, Local0)
Store(Decrement(Local0), DMA0)
}
Else {
Store(0x4, DMA0)
}
Store(0x0, PPD_)
Store(0x1, LDA_)
If(LEqual(RLIO, 0x0378)) {
Store(0x0, XPA_)
}
Else {
If(LEqual(RLIO, 0x0278)) {
Store(0x1, XPA_)
}
Else {
If(LEqual(RLIO, 0x03bc)) {
Store(0x2, XPA_)
}
Else {
Fatal(0x2, 0x90020000, 0x039f)
}
}
}
Store(0x1, XPE_)
}
Method(_PSC) {
Store(0x1, LDN_)
If(LDA_) {
Return(0x0)
}
Else {
Return(0x3)
}
}
Method(_PS0) {
Store(0x1, LDN_)
Store(0x1, LDA_)
}
Method(_PS3) {
Store(0x1, LDN_)
Store(0x0, LDA_)
}
}
Scope(\_SB_.PCI0.LPC_) {
Method(LCON, 1) {
If(Arg0) {
If(EPWG) {
Store(0x1, DLPD)
Store(0x7, DLPC)
While(LNot(And(0x8, DLPC))) {
Sleep(0x1)
}
Store(0x1, DRST)
If(LNot(LEqual(SIOD, 0xff))) {
Or(SCF9, 0xa0, SCF9)
While(LNot(And(0x10, SCF9))) {
Sleep(0x1)
}
Or(SCF2, 0xeb, SCF2)
Store(0x7, LDN_)
And(0x1620, 0xff, Local0)
Store(Local0, IOLW)
ShiftRight(0x1620, 0x8, Local0)
And(Local0, 0xff, IOHI)
Store(0x1, LDA_)
Store(0x1, GPPS)
Store(0x3, GPPC)
Store(0x2, GPPS)
Store(0x3, GPPC)
Store(0x0, DUSB)
If(And(\DKLG, 0x1)) {
If(LEqual(\_SB_.GDCK.GGID(), 0x1)) {
Store(0x0, DLPD)
Store(0x0, DLPC)
}
}
}
}
}
Else {
Store(0x1, DUSB)
Store(0x0, DRST)
Store(0x0, DLPD)
Store(0x0, DLPC)
}
}
}
Device(TPM_) {
Method(_HID) {
TPHY(0x0)
If(LEqual(TPMV, 0x1)) {
Return(0x0201d824)
}
If(LEqual(TPMV, 0x2)) {
Return(0x0435cf4d)
}
If(LEqual(TPMV, 0x3)) {
Return(0x02016d08)
}
If(LEqual(TPMV, 0x4)) {
Return(0x01016d08)
}
If(LOr(LEqual(TPMV, 0x5), LEqual(TPMV, 0x6))) {
Return(0x0010a35c)
}
If(LEqual(TPMV, 0x8)) {
Return(0x00128d06)
}
If(LEqual(TPMV, 0x9)) {
Return("INTC0102")
}
Return(0x310cd041)
}
Name(_CID, 0x310cd041)
Name(_UID, 0x1)
Method(_STA) {
TPHY(0x0)
If(TPRS) {
Return(0xf)
}
Return(0x0)
}
Name(BUF1, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd4,
0xfe, 0x0, 0x50, 0x0, 0x0, 0x79, 0x0 })
Method(_CRS, 0, Serialized) {
Return(BUF1)
}
Method(UCMP, 2) {
If(LNot(LEqual(0x10, SizeOf(Arg0)))) {
Return(0x0)
}
If(LNot(LEqual(0x10, SizeOf(Arg1)))) {
Return(0x0)
}
Store(0x0, Local0)
While(LLess(Local0, 0x10)) {
If(LNot(LEqual(DerefOf(Index(Arg0, Local0)),
DerefOf(Index(Arg1, Local0))))) {
Return(0x0)
}
Increment(Local0)
}
Return(0x1)
}
Method(_DSM, 4, Serialized) {
Name(PPRC, 0x0)
Name(RQS1, Package(0x2) {
0xc,
0xd,
})
Name(TTMP, Buffer(0x1) {0x0 })
CreateByteField(TTMP, 0x0, TMPV)
If(LEqual(UCMP(Arg0, Buffer(0x10) {0xa6, 0xfa, 0xdd, 0x3d,
0x1b, 0x36, 0xb4, 0x4e, 0xa4, 0x24, 0x8d, 0x10, 0x8, 0x9d, 0x16, 0x53 }),
0x1)) {
If(LEqual(Arg2, 0x0)) {
Return(Buffer(0x1) {0x7f })
}
If(LEqual(Arg2, 0x1)) {
Return(Buffer(0x4) {0x31, 0x2e, 0x30, 0x0 })
}
If(LEqual(Arg2, 0x2)) {
If(TPRS) {
Store(0x0, PPRC)
If(LFLS()) {
Store(0x2, PPRC)
}
Else {
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x0))
{
Store(0x0, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x1))
{
Store(0x1, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x2))
{
Store(0x2, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x3))
{
Store(0x3, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x4))
{
Store(0x4, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x5))
{
Store(0x5, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x6))
{
Store(0x6, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x7))
{
Store(0x7, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x8))
{
Store(0x8, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x9))
{
Store(0x9, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0xa))
{
Store(0xa, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0xb))
{
Store(0xb, PPRQ)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0xc))
{
Store(0xc, PPRQ)
Return(0x1)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0xd))
{
Store(0xd, PPRQ)
Return(0x1)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0xe))
{
Store(0xe, PPRQ)
}
If(LNot(LLess(DerefOf(Index(Arg3, 0x0)),
0xf))) {
Return(0x1)
}
SFLS()
Return(PPRC)
}
}
Return(0x1)
}
If(LEqual(Arg2, 0x3)) {
Name(TMP1, Package(0x2) {
0x0,
0xffffffff,
})
If(LFLS()) {
Store(0x1, Index(TMP1, 0x0))
Return(TMP1)
}
Store(PPRQ, Index(TMP1, 0x1))
Return(TMP1)
}
If(LEqual(Arg2, 0x4)) {
Return(0x1)
}
If(LEqual(Arg2, 0x5)) {
Name(TMP2, Package(0x3) {
0x0,
0xffffffff,
0xffffffff,
})
If(LFLS()) {
Store(0x1, Index(TMP2, 0x0))
Return(TMP2)
}
Store(PPLO, Index(TMP2, 0x1))
If(LGreater(PPLO, 0xe)) {
Store(0xfffffff1, Index(TMP2, 0x2))
Return(TMP2)
}
If(LEqual(PPRQ, 0x1f)) {
Store(0xfffffff1, Index(TMP2, 0x2))
Return(TMP2)
}
If(PPOR) {
Store(0xfffffff0, Index(TMP2, 0x2))
Return(TMP2)
}
Store(0x0, Index(TMP2, 0x2))
Return(TMP2)
}
If(LEqual(Arg2, 0x6)) {
CreateByteField(Arg3, 0x4, LAN0)
CreateByteField(Arg3, 0x5, LAN1)
If(LOr(LEqual(LAN0, 0x65), LEqual(LAN0, 0x45))) {
If(LOr(LEqual(LAN1, 0x6e), LEqual(LAN1,
0x4e))) {
Return(0x0)
}
}
Return(0x1)
}
Return(0x1)
}
If(LEqual(UCMP(Arg0, Buffer(0x10) {0xed, 0x54, 0x60, 0x37,
0x13, 0xcc, 0x75, 0x46, 0x90, 0x1c, 0x47, 0x56, 0xd7, 0xf2, 0xd4, 0x5d }),
0x1)) {
If(LEqual(Arg2, 0x0)) {
Return(Buffer(0x1) {0x1 })
}
If(LEqual(Arg2, 0x1)) {
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x0)) {
If(LFLS()) {
Return(0x2)
}
Store(0x0, MOR_)
SFLS()
Return(0x0)
}
If(LEqual(DerefOf(Index(Arg3, 0x0)), 0x1)) {
If(LFLS()) {
Return(0x2)
}
Store(0x1, MOR_)
SFLS()
Return(0x0)
}
}
Return(0x1)
}
Return(Buffer(0x1) {0x0 })
}
Method(LFLS) {
Name(TMPB, Buffer(0x2) {0x0, 0x0 })
CreateByteField(TMPB, 0x0, LPCT)
CreateByteField(TMPB, 0x1, SSUM)
TPHY(0x0)
Store(PH02, LPCT)
If(LPCT) {
Store(0x0, SSUM)
Add(SSUM, PH01, SSUM)
Add(SSUM, PH02, SSUM)
Add(SSUM, PH03, SSUM)
Add(SSUM, PPRQ, SSUM)
Add(SSUM, PPLO, SSUM)
Add(SSUM, PPRP, SSUM)
Add(SSUM, PPOR, SSUM)
Add(SSUM, TPRS, SSUM)
Add(SSUM, TPMV, SSUM)
Add(SSUM, MOR_, SSUM)
Add(SSUM, RSV0, SSUM)
If(SSUM) {
}
Else {
Return(0x0)
}
Return(0x2)
}
}
Method(SFLS) {
Name(TMPB, Buffer(0x2) {0x0, 0x0 })
CreateByteField(TMPB, 0x0, LPCT)
CreateByteField(TMPB, 0x1, SSUM)
Store(PH02, LPCT)
If(LPCT) {
Store(0x0, SSUM)
Add(SSUM, PH01, SSUM)
Add(SSUM, PH02, SSUM)
Add(SSUM, PH03, SSUM)
Add(SSUM, PPRQ, SSUM)
Add(SSUM, PPLO, SSUM)
Add(SSUM, PPRP, SSUM)
Add(SSUM, PPOR, SSUM)
Add(SSUM, TPRS, SSUM)
Add(SSUM, TPMV, SSUM)
Add(SSUM, MOR_, SSUM)
Add(SSUM, RSV0, SSUM)
Subtract(0x0, SSUM, PH03)
TPHY(0x1)
Return(0x0)
}
Else {
Return(0x2)
}
}
}
Device(EC__) {
Name(_HID, 0x090cd041)
Name(_UID, 0x0)
Name(_GPE, 0x11)
Method(_REG, 2) {
If(LEqual(Arg0, 0x3)) {
Store(Arg1, \H8DR)
}
}
OperationRegion(ECOR, EmbeddedControl, 0x0, 0x0100)
Field(ECOR, ByteAcc, NoLock, Preserve) {
HDBM, 1,
, 1,
, 1,
HFNE, 1,
, 1,
, 1,
HLDM, 1,
Offset(0x1),
, 1,
BTCM, 1,
, 1,
, 1,
, 1,
HBPR, 1,
BTPC, 1,
Offset(0x2),
HDUE, 1,
Offset(0x3),
, 1,
HETE, 1,
, 3,
HAUM, 2,
Offset(0x5),
HSPA, 1,
Offset(0x6),
HSUN, 8,
HSRP, 8,
Offset(0xc),
HLCL, 8,
Offset(0xe),
HFNS, 2,
Offset(0xf),
, 4,
HAAA, 3,
Offset(0x10),
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,
HT03, 1,
HT10, 1,
HT11, 1,
HT12, 1,
HT13, 1,
Offset(0x23),
HANT, 8,
Offset(0x26),
, 1,
, 1,
HANA, 2,
, 1,
, 1,
Offset(0x2a),
HATR, 8,
HT0H, 8,
HT0L, 8,
HT1H, 8,
HT1L, 8,
HFSP, 8,
, 6,
HMUT, 1,
Offset(0x31),
, 2,
HUWB, 1,
Offset(0x32),
HWPM, 1,
HWLB, 1,
HWLO, 1,
HWDK, 1,
HWFN, 1,
HWBT, 1,
HWRI, 1,
HWBU, 1,
HWLU, 1,
Offset(0x34),
, 7,
HPLO, 1,
Offset(0x36),
Offset(0x38),
HB0S, 7,
HB0A, 1,
HB1S, 7,
HB1A, 1,
HCMU, 1,
, 2,
OVRQ, 1,
DCBD, 1,
DCWL, 1,
DCWW, 1,
HB1I, 1,
, 1,
KBLT, 1,
BTPW, 1,
BTDT, 1,
HUBS, 1,
BDPW, 1,
BDDT, 1,
HUBB, 1,
Offset(0x46),
, 1,
BTWK, 1,
HPLD, 1,
, 1,
HPAC, 1,
BTST, 1,
Offset(0x47),
HPBU, 1,
, 1,
HBID, 1,
, 3,
HBCS, 1,
HPNF, 1,
, 1,
GSTS, 1,
, 2,
HLBU, 1,
BDST, 1,
HCBL, 1,
Offset(0x4e),
HWAK, 16,
Offset(0x78),
TMP0, 8,
TMP1, 8,
TMP2, 8,
TMP3, 8,
TMP4, 8,
TMP5, 8,
TMP6, 8,
TMP7, 8,
Offset(0x81),
HIID, 8,
Offset(0x83),
HFNI, 8,
HSPD, 16,
Offset(0x88),
HDEC, 8,
HDEO, 8,
Offset(0x8d),
HDAA, 3,
HDAB, 3,
HDAC, 2,
Offset(0xb0),
HDEN, 32,
HDEP, 32,
HDEM, 8,
HDES, 8,
Offset(0xc0),
Offset(0xc1),
TMP9, 8,
TMPA, 8,
Offset(0xc8),
ATMX, 8,
HWAT, 8,
Offset(0xed),
, 4,
HDDD, 1
}
Method(_INI) {
If(\H8DR) {
Store(0x0, HSPA)
}
Else {
\MBEC(0x5, 0xfe, 0x0)
}
BINI()
\_SB_.PCI0.LPC_.EC__.HKEY.WGIN()
}
Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1,
0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
Method(LED_, 2) {
Or(Arg0, Arg1, Local0)
If(\H8DR) {
Store(Local0, HLCL)
}
Else {
\WBEC(0xc, Local0)
}
}
Name(BAON, 0x0)
Name(WBON, 0x0)
Method(BEEP, 1) {
If(LEqual(Arg0, 0x5)) {
Store(0x0, WBON)
}
Store(WBON, Local2)
If(BAON) {
If(LEqual(Arg0, 0x0)) {
Store(0x0, BAON)
If(WBON) {
Store(0x3, Local0)
Store(0x8, Local1)
}
Else {
Store(0x0, Local0)
Store(0x0, Local1)
}
}
Else {
Store(0xff, Local0)
Store(0xff, Local1)
If(LEqual(Arg0, 0x11)) {
Store(0x0, WBON)
}
If(LEqual(Arg0, 0x10)) {
Store(0x1, WBON)
}
}
}
Else {
Store(Arg0, Local0)
Store(0xff, Local1)
If(LEqual(Arg0, 0xf)) {
Store(Arg0, Local0)
Store(0x8, Local1)
Store(0x1, BAON)
}
If(LEqual(Arg0, 0x11)) {
Store(0x0, Local0)
Store(0x0, Local1)
Store(0x0, WBON)
}
If(LEqual(Arg0, 0x10)) {
Store(0x3, Local0)
Store(0x8, Local1)
Store(0x1, WBON)
}
}
If(LEqual(Arg0, 0x3)) {
Store(0x0, WBON)
If(Local2) {
Store(0x7, Local0)
If(LOr(LEqual(\SPS_, 0x3), LEqual(\SPS_, 0x4))) {
Store(0x0, Local2)
Store(0xff, Local0)
Store(0xff, Local1)
}
}
}
If(LEqual(Arg0, 0x7)) {
If(Local2) {
Store(0x0, Local2)
Store(0xff, Local0)
Store(0xff, Local1)
}
}
If(LAnd(\H8DR, LNot(\W98F))) {
If(LAnd(Local2, LNot(WBON))) {
Store(0x0, HSRP)
Store(0x0, HSUN)
Sleep(0x64)
}
If(LNot(LEqual(Local1, 0xff))) {
Store(Local1, HSRP)
}
If(LNot(LEqual(Local0, 0xff))) {
Store(Local0, HSUN)
}
}
Else {
If(LAnd(Local2, LNot(WBON))) {
\WBEC(0x7, 0x0)
\WBEC(0x6, 0x0)
Sleep(0x64)
}
If(LNot(LEqual(Local1, 0xff))) {
\WBEC(0x7, Local1)
}
If(LNot(LEqual(Local0, 0xff))) {
\WBEC(0x6, Local0)
}
}
If(LEqual(Arg0, 0x3)) {
}
If(LEqual(Arg0, 0x7)) {
Sleep(0x01f4)
}
}
Method(EVNT, 1) {
If(\H8DR) {
If(Arg0) {
Or(HAM7, 0x1, HAM7)
Or(HAM5, 0x4, HAM5)
}
Else {
And(HAM7, 0xfe, HAM7)
And(HAM5, 0xfb, HAM5)
}
}
Else {
If(Arg0) {
\MBEC(0x17, 0xff, 0x1)
\MBEC(0x15, 0xff, 0x4)
If(\W98F) {
\WBEC(0x18, 0xff)
}
}
Else {
\MBEC(0x17, 0xfe, 0x0)
\MBEC(0x15, 0xfb, 0x0)
If(\W98F) {
\WBEC(0x18, 0x0)
}
}
}
}
PowerResource(PUBS, 3, 0) {
Method(_STA) {
If(\H8DR) {
Store(HUBS, Local0)
}
Else {
And(\RBEC(0x3b), 0x10, Local0)
}
If(Local0) {
Return(0x1)
}
Else {
Return(0x0)
}
}
Method(_ON_) {
If(\H8DR) {
Store(0x1, HUBS)
}
Else {
\MBEC(0x3b, 0xff, 0x10)
}
}
Method(_OFF) {
If(\H8DR) {
Store(0x0, HUBS)
}
Else {
\MBEC(0x3b, 0xef, 0x0)
}
}
}
Method(LPMD) {
Store(0x0, Local0)
Store(0x0, Local1)
Store(0x0, Local2)
If(\H8DR) {
If(HPAC) {
If(HPLO) {
Store(\LPST, Local0)
}
Else {
If(LLess(HWAT, 0x5a)) {
If(HB0A) {
If(LOr(And(HB0S, 0x10),
LLess(And(HB0S, 0xf), 0x2))) {
Store(0x1, Local1)
}
}
Else {
Store(0x1, Local1)
}
If(HB1A) {
If(LOr(And(HB1S, 0x10),
LLess(And(HB1S, 0xf), 0x2))) {
Store(0x1, Local2)
}
}
Else {
Store(0x1, Local2)
}
If(LAnd(Local1, Local2)) {
Store(\LPST, Local0)
}
}
}
}
}
Else {
If(And(\RBEC(0x46), 0x10)) {
If(And(\RBEC(0x34), 0x80)) {
Store(\LPST, Local0)
}
Else {
If(LLess(\RBEC(0xc9), 0x5a)) {
Store(\RBEC(0x38), Local3)
If(And(Local3, 0x80)) {
If(LOr(And(Local3, 0x10),
LLess(And(Local3, 0xf), 0x2))) {
Store(0x1, Local1)
}
}
Else {
Store(0x1, Local2)
}
Store(\RBEC(0x39), Local3)
If(And(Local3, 0x80)) {
If(LOr(And(Local3, 0x10),
LLess(And(Local3, 0xf), 0x2))) {
Store(0x1, Local1)
}
}
Else {
Store(0x1, Local2)
}
If(LAnd(Local1, Local2)) {
Store(\LPST, Local0)
}
}
}
}
}
Return(Local0)
}
Method(CLPM) {
If(And(\PPMF, 0x1)) {
If(\OSPX) {
Notify(\_PR_.CPU0, 0x80)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x80)
}
}
Else {
Store(LPMD(), Local0)
If(Local0) {
\STEP(0x4)
}
Else {
\STEP(0x5)
}
}
}
}
Mutex(MCPU, 7)
Method(_Q10) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x1)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1001)
}
}
Method(_Q11) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x2)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1002)
}
Else {
Noop
}
}
Method(_Q12) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1003)
}
Method(_Q13) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.DHKC) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1004)
}
Else {
Notify(\_SB_.SLPB, 0x80)
}
}
Method(_Q64) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x10)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1005)
}
}
Method(_Q65) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x20)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1006)
}
}
Method(_Q16) {
If(\VPDF) {
Store(0x0, \VPDF)
If(VIGD) {
\_SB_.PCI0.VID_.VSPD()
}
}
Else {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x40)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1007)
}
Else {
If(VIGD) {
\_SB_.PCI0.VID_.VSWT()
}
Else {
\_SB_.PCI0.AGP_.VID_.VSWT()
}
}
}
}
Method(_Q17) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x80)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1008)
}
Else {
If(LNot(\WNTF)) {
VEXP()
}
}
}
Method(_Q18) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x0100)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1009)
}
Noop
}
Method(_Q66) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x0200)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x100a)
}
}
Method(_Q1A) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x0400)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x100b)
}
}
Method(_Q1B) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x100c)
}
Method(_Q62) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x1000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x100d)
}
}
Method(_Q60) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x2000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x100e)
}
}
Method(_Q61) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x4000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x100f)
}
}
Method(_Q1F) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x00020000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1012)
}
\UCMS(0xe)
}
Method(_Q67) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x00040000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1013)
}
}
Method(_Q1C) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x01000000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1019)
}
}
Method(_Q1D) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x02000000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x101a)
}
}
Method(_Q26) {
If(VIGD) {
If(\WVIS) {
\VBTD()
}
\_SB_.PCI0.LPC_.EC__.BRNS()
}
Else {
\UCMS(0x12)
}
Sleep(0x01f4)
Notify(AC__, 0x80)
Notify(\_TZ_.THM0, 0x80)
Notify(\_TZ_.THM1, 0x80)
If(\WXPF) {
Acquire(MCPU, 0xffff)
}
Store(0x1, PWRS)
If(And(\PPMF, 0x0100)) {
TRAZ(0x1, 0x2b)
}
If(And(\PPMF, 0x1)) {
If(\OSPX) {
Notify(\_PR_.CPU0, 0x80)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x80)
}
}
Else {
\STEP(0x0)
}
}
If(\WXPF) {
Sleep(0x64)
}
If(\OSC4) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
}
If(\WXPF) {
Release(MCPU)
}
If(LAnd(LNot(\WXPF), \WNTF)) {
If(LNot(\C4AC)) {
Store(0x0, \_SB_.PCI0.LPC_.C4C3)
}
}
ATMC()
}
Method(_Q27) {
If(VIGD) {
If(\WVIS) {
\VBTD()
}
\_SB_.PCI0.LPC_.EC__.BRNS()
\_SB_.PCI0.VID_.VDSP()
}
Else {
\UCMS(0x12)
}
Sleep(0x01f4)
Notify(AC__, 0x80)
Notify(\_TZ_.THM0, 0x80)
Notify(\_TZ_.THM1, 0x80)
If(\WXPF) {
Acquire(MCPU, 0xffff)
}
Store(0x0, PWRS)
If(And(\PPMF, 0x0100)) {
TRAZ(0x1, 0x2b)
}
If(And(\PPMF, 0x1)) {
If(\OSPX) {
Notify(\_PR_.CPU0, 0x80)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x80)
}
}
Else {
\STEP(0x1)
}
}
If(\WXPF) {
Sleep(0x64)
}
If(\OSC4) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
}
If(\WXPF) {
Release(MCPU)
}
If(LAnd(LNot(\WXPF), \WNTF)) {
If(LNot(\_SB_.PCI0.LPC_.EC__.HKEY.CKC4(0x0))) {
Store(0x1, \_SB_.PCI0.LPC_.C4C3)
}
}
ATMC()
If(LOr(LEqual(\_SB_.GDCK.GDID(), 0x4c004d24),
LEqual(\_SB_.GDCK.GDID(), 0x44004d24))) {
Notify(\_SB_.GDCK, 0x1)
}
}
Method(_Q2A) {
If(VIGD) {
\_SB_.PCI0.VID_.GLIS(0x1)
}
Else {
If(\WVIS) {
\_SB_.PCI0.VID_.GLIS(0x1)
}
}
If(VIGD) {
\_SB_.PCI0.VID_.VLOC(0x1)
}
Else {
\_SB_.PCI0.AGP_.VID_.VLOC(0x1)
}
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x5002)
Notify(\_SB_.LID_, 0x80)
}
Method(_Q2B) {
If(VIGD) {
\_SB_.PCI0.VID_.GLIS(0x0)
}
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x5001)
\UCMS(0xd)
Notify(\_SB_.LID_, 0x80)
}
Method(_Q3D) {
}
Method(_Q48) {
If(And(\PPMF, 0x1)) {
If(\OSPX) {
Notify(\_PR_.CPU0, 0x80)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x80)
}
}
Else {
\STEP(0x4)
}
}
}
Method(_Q49) {
If(And(\PPMF, 0x1)) {
If(\OSPX) {
Notify(\_PR_.CPU0, 0x80)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x80)
}
}
Else {
\STEP(0x5)
}
}
}
Method(_Q7F) {
Fatal(0x1, 0x80010000, 0x0395)
}
Method(_Q4E) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x6011)
}
Method(_Q4F) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x6012)
}
Method(_Q46) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x6012)
}
Method(_Q22) {
CLPM()
If(HB0A) {
Notify(BAT0, 0x80)
}
If(HB1A) {
Notify(BAT1, 0x80)
}
}
Method(_Q4A) {
CLPM()
Notify(BAT0, 0x81)
}
Method(_Q4B) {
Notify(BAT0, 0x80)
}
Method(_Q4C) {
CLPM()
_Q38()
}
Method(_Q4D) {
If(And(^BAT1.B1ST, ^BAT1.XB1S)) {
Notify(BAT1, 0x80)
}
}
Method(_Q24) {
CLPM()
Notify(BAT0, 0x80)
}
Method(_Q25) {
If(And(^BAT1.B1ST, ^BAT1.XB1S)) {
CLPM()
Notify(BAT1, 0x80)
}
}
Field(ECOR, ByteAcc, NoLock, Preserve) {
Offset(0xa0),
SBRC, 16,
SBFC, 16,
SBAE, 16,
SBRS, 16,
SBAC, 16,
SBVO, 16,
SBAF, 16,
SBBS, 16
}
Field(ECOR, ByteAcc, NoLock, Preserve) {
Offset(0xa0),
, 15,
SBCM, 1,
SBMD, 16,
SBCC, 16
}
Field(ECOR, ByteAcc, NoLock, Preserve) {
Offset(0xa0),
SBDC, 16,
SBDV, 16,
SBOM, 16,
SBSI, 16,
SBDT, 16,
SBSN, 16
}
Field(ECOR, ByteAcc, NoLock, Preserve) {
Offset(0xa0),
SBCH, 32
}
Field(ECOR, ByteAcc, NoLock, Preserve) {
Offset(0xa0),
SBMN, 128
}
Field(ECOR, ByteAcc, NoLock, Preserve) {
Offset(0xa0),
SBDN, 128
}
Mutex(BATM, 7)
Method(GBIF, 3) {
Acquire(BATM, 0xffff)
If(Arg2) {
Or(Arg0, 0x1, HIID)
Store(SBCM, Local7)
XOr(Local7, 0x1, Index(Arg1, 0x0))
Store(Arg0, HIID)
If(Local7) {
Multiply(SBFC, 0xa, Local1)
}
Else {
Store(SBFC, Local1)
}
Store(Local1, Index(Arg1, 0x2))
Or(Arg0, 0x2, HIID)
If(Local7) {
Multiply(SBDC, 0xa, Local0)
}
Else {
Store(SBDC, Local0)
}
Store(Local0, Index(Arg1, 0x1))
Divide(Local1, 0x14, Local2, Index(Arg1, 0x5))
If(Local7) {
Store(0xc8, Index(Arg1, 0x6))
}
Else {
If(SBDV) {
Divide(0x00030d40, SBDV, Local2, Index(Arg1,
0x6))
}
Else {
Store(0x0, Index(Arg1, 0x6))
}
}
Store(SBDV, Index(Arg1, 0x4))
Store(SBSN, Local0)
Name(SERN, Buffer(0x6) {0x20, 0x20, 0x20, 0x20, 0x20,
0x0 })
Store(0x4, Local2)
While(Local0) {
Divide(Local0, 0xa, Local1, Local0)
Add(Local1, 0x30, Index(SERN, Local2))
Decrement(Local2)
}
Store(SERN, Index(Arg1, 0xa))
Or(Arg0, 0x6, HIID)
Store(SBDN, Index(Arg1, 0x9))
Or(Arg0, 0x4, HIID)
Name(BTYP, Buffer(0x5) {0x0, 0x0, 0x0, 0x0, 0x0 })
Store(SBCH, BTYP)
Store(BTYP, Index(Arg1, 0xb))
Or(Arg0, 0x5, HIID)
Store(SBMN, Index(Arg1, 0xc))
}
Else {
Store(0xffffffff, Index(Arg1, 0x1))
Store(0x0, Index(Arg1, 0x5))
Store(0x0, Index(Arg1, 0x6))
Store(0xffffffff, Index(Arg1, 0x2))
}
Release(BATM)
Return(Arg1)
}
Method(GBST, 4) {
Acquire(BATM, 0xffff)
If(And(Arg1, 0x20)) {
Store(0x2, Local0)
}
Else {
If(And(Arg1, 0x40)) {
Store(0x1, Local0)
}
Else {
Store(0x0, Local0)
}
}
If(And(Arg1, 0xf)) {
}
Else {
Or(Local0, 0x4, Local0)
}
If(LEqual(And(Arg1, 0xf), 0xf)) {
Store(0x4, Local0)
Store(0x0, Local1)
Store(0x0, Local2)
Store(0x0, Local3)
}
Else {
Store(Arg0, HIID)
Store(SBVO, Local3)
If(Arg2) {
Multiply(SBRC, 0xa, Local2)
}
Else {
Store(SBRC, Local2)
}
Store(SBAC, Local1)
If(LNot(LLess(Local1, 0x8000))) {
If(And(Local0, 0x1)) {
Subtract(0x00010000, Local1, Local1)
}
Else {
Store(0x0, Local1)
}
}
Else {
If(LNot(And(Local0, 0x2))) {
Store(0x0, Local1)
}
}
If(Arg2) {
Multiply(Local3, Local1, Local1)
Divide(Local1, 0x03e8, Local7, Local1)
}
}
Store(Local0, Index(Arg3, 0x0))
Store(Local1, Index(Arg3, 0x1))
Store(Local2, Index(Arg3, 0x2))
Store(Local3, Index(Arg3, 0x3))
Release(BATM)
Return(Arg3)
}
Device(BAT0) {
Name(_HID, 0x0a0cd041)
Name(_UID, 0x0)
Name(_PCL, Package(0x1) {
\_SB_,
})
Name(B0ST, 0x0)
Name(BT0I, Package(0xd) {
0x0,
0xffffffff,
0xffffffff,
0x1,
0x2a30,
0x0,
0x0,
0x1,
0x1,
"",
"",
"",
"",
})
Name(BT0P, Package(0x4) {
})
Method(_STA) {
If(\H8DR) {
Store(HB0A, B0ST)
}
Else {
If(And(\RBEC(0x38), 0x80)) {
Store(0x1, B0ST)
}
Else {
Store(0x0, B0ST)
}
}
If(B0ST) {
Return(0x1f)
}
Else {
Return(0xf)
}
}
Method(_BIF) {
Store(0x0, Local7)
Store(0xa, Local6)
While(LAnd(LNot(Local7), Local6)) {
If(HB0A) {
If(LEqual(And(HB0S, 0xf), 0xf)) {
Sleep(0x03e8)
Decrement(Local6)
}
Else {
Store(0x1, Local7)
}
}
Else {
Store(0x0, Local6)
}
}
Return(GBIF(0x0, BT0I, Local7))
}
Method(_BST) {
XOr(DerefOf(Index(BT0I, 0x0)), 0x1, Local0)
Return(GBST(0x0, HB0S, Local0, BT0P))
}
Method(_BTP, 1) {
And(HAM4, 0xef, HAM4)
If(Arg0) {
Store(Arg0, Local1)
If(LNot(DerefOf(Index(BT0I, 0x0)))) {
Divide(Local1, 0xa, Local0, Local1)
}
And(Local1, 0xff, HT0L)
And(ShiftRight(Local1, 0x8), 0xff, HT0H)
Or(HAM4, 0x10, HAM4)
}
}
}
Device(BAT1) {
Name(_HID, 0x0a0cd041)
Name(_UID, 0x1)
Name(_PCL, Package(0x1) {
\_SB_,
})
Name(B1ST, 0x0)
Name(XB1S, 0x1)
Name(BT1I, Package(0xd) {
0x0,
0xffffffff,
0xffffffff,
0x1,
0x2a30,
0x0,
0x0,
0x1,
0x1,
"",
"",
"",
"",
})
Name(BT1P, Package(0x4) {
})
Method(_STA) {
If(\H8DR) {
Store(HB1A, B1ST)
}
Else {
If(And(\RBEC(0x39), 0x80)) {
Store(0x1, B1ST)
}
Else {
Store(0x0, B1ST)
}
}
If(B1ST) {
If(XB1S) {
Return(0x1f)
}
Else {
If(\WNTF) {
Return(0x0)
}
Else {
Return(0x1f)
}
}
}
Else {
If(\WNTF) {
Return(0x0)
}
Else {
Return(0xf)
}
}
}
Method(_BIF) {
Store(0x0, Local7)
Store(0xa, Local6)
While(LAnd(LNot(Local7), Local6)) {
If(HB1A) {
If(LEqual(And(HB1S, 0xf), 0xf)) {
Sleep(0x03e8)
Decrement(Local6)
}
Else {
Store(0x1, Local7)
}
}
Else {
Store(0x0, Local6)
}
}
Return(GBIF(0x10, BT1I, Local7))
}
Method(_BST) {
XOr(DerefOf(Index(BT1I, 0x0)), 0x1, Local0)
Return(GBST(0x10, HB1S, Local0, BT1P))
}
Method(_BTP, 1) {
And(HAM4, 0xdf, HAM4)
If(Arg0) {
Store(Arg0, Local1)
If(LNot(DerefOf(Index(BT1I, 0x0)))) {
Divide(Local1, 0xa, Local0, Local1)
}
And(Local1, 0xff, HT1L)
And(ShiftRight(Local1, 0x8), 0xff, HT1H)
Or(HAM4, 0x20, HAM4)
}
}
}
Device(AC__) {
Name(_HID, "ACPI0003")
Name(_UID, 0x0)
Name(_PCL, Package(0x1) {
\_SB_,
})
Method(_PSR) {
If(\H8DR) {
Return(HPAC)
}
Else {
If(And(\RBEC(0x46), 0x10)) {
Return(0x1)
}
Else {
Return(0x0)
}
}
}
Method(_STA) {
Return(0xf)
}
}
Device(HKEY) {
Name(_HID, 0x68004d24)
Method(_STA) {
Return(0xf)
}
Method(MHKV) {
Return(0x0100)
}
Name(DHKC, 0x0)
Name(DHKB, 0x1)
Mutex(XDHK, 7)
Name(DHKH, 0x0)
Name(DHKW, 0x0)
Name(DHKS, 0x0)
Name(DHKD, 0x0)
Name(DHKN, 0x080c)
Name(DHKT, 0x0)
Name(DHWW, 0x0)
Method(MHKA) {
Return(0x03ffffff)
}
Method(MHKN) {
Return(DHKN)
}
Method(MHKK, 1) {
If(DHKC) {
Return(And(DHKN, Arg0))
}
Else {
Return(Zero)
}
}
Method(MHKM, 2) {
Acquire(XDHK, 0xffff)
If(LGreater(Arg0, 0x20)) {
Noop
}
Else {
ShiftLeft(One, Decrement(Arg0), Local0)
If(And(Local0, 0x03ffffff)) {
If(Arg1) {
Or(Local0, DHKN, DHKN)
}
Else {
And(DHKN, XOr(Local0, 0xffffffff), DHKN)
}
}
Else {
Noop
}
}
Release(XDHK)
}
Method(MHKS) {
Notify(\_SB_.SLPB, 0x80)
}
Method(MHKC, 1) {
Store(Arg0, DHKC)
}
Method(MHKP) {
Acquire(XDHK, 0xffff)
If(DHWW) {
Store(DHWW, Local1)
Store(Zero, DHWW)
}
Else {
If(DHKW) {
Store(DHKW, Local1)
Store(Zero, DHKW)
}
Else {
If(DHKD) {
Store(DHKD, Local1)
Store(Zero, DHKD)
}
Else {
If(DHKS) {
Store(DHKS, Local1)
Store(Zero, DHKS)
}
Else {
If(DHKT) {
Store(DHKT, Local1)
Store(Zero, DHKT)
}
Else {
Store(DHKH, Local1)
Store(Zero, DHKH)
}
}
}
}
}
Release(XDHK)
Return(Local1)
}
Method(MHKE, 1) {
Store(Arg0, DHKB)
Acquire(XDHK, 0xffff)
Store(Zero, DHKH)
Store(Zero, DHKW)
Store(Zero, DHKS)
Store(Zero, DHKD)
Store(Zero, DHKT)
Store(Zero, DHWW)
Release(XDHK)
}
Method(MHKQ, 1) {
If(DHKB) {
If(DHKC) {
Acquire(XDHK, 0xffff)
If(LLess(Arg0, 0x1000)) {
}
Else {
If(LLess(Arg0, 0x2000)) {
Store(Arg0, DHKH)
}
Else {
If(LLess(Arg0, 0x3000)) {
Store(Arg0, DHKW)
}
Else {
If(LLess(Arg0, 0x4000)) {
Store(Arg0, DHKS)
}
Else {
If(LLess(Arg0, 0x5000)) {
Store(Arg0, DHKD)
}
Else {
If(LLess(Arg0, 0x6000)) {
Store(Arg0, DHKH)
}
Else {
If(LLess(Arg0,
0x7000)) {
Store(Arg0, DHKT)
}
Else {
If(LLess(Arg0,
0x8000)) {
Store(Arg0,
DHWW)
}
Else {
}
}
}
}
}
}
}
}
Release(XDHK)
Notify(HKEY, 0x80)
}
Else {
If(LEqual(Arg0, 0x1004)) {
Notify(\_SB_.SLPB, 0x80)
}
}
}
}
Method(MHKB, 1) {
If(LEqual(Arg0, 0x0)) {
\_SB_.PCI0.LPC_.EC__.BEEP(0x11)
Store(0x0, \LIDB)
}
Else {
If(LEqual(Arg0, 0x1)) {
\_SB_.PCI0.LPC_.EC__.BEEP(0x10)
Store(0x1, \LIDB)
}
Else {
}
}
}
Method(MHKD) {
If(VIGD) {
\_SB_.PCI0.VID_.VLOC(0x0)
}
Else {
\_SB_.PCI0.AGP_.VID_.VLOC(0x0)
}
}
Method(MHQC, 1) {
If(\WNTF) {
If(LEqual(Arg0, 0x0)) {
Return(\CWAC)
}
Else {
If(LEqual(Arg0, 0x1)) {
Return(\CWAP)
}
Else {
If(LEqual(Arg0, 0x2)) {
Return(\CWAT)
}
Else {
Noop
}
}
}
}
Else {
Noop
}
Return(0x0)
}
Method(MHGC) {
If(\WNTF) {
Acquire(XDHK, 0xffff)
If(CKC4(0x0)) {
Store(0x3, Local0)
}
Else {
Store(0x4, Local0)
}
Release(XDHK)
Return(Local0)
}
Else {
Noop
}
Return(0x0)
}
Method(MHSC, 1) {
If(LAnd(\CWAC, \WNTF)) {
Acquire(XDHK, 0xffff)
If(\OSC4) {
If(LEqual(Arg0, 0x3)) {
If(LNot(\CWAS)) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
Store(0x1, \CWAS)
}
}
Else {
If(LEqual(Arg0, 0x4)) {
If(\CWAS) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
Store(0x0, \CWAS)
}
}
Else {
Noop
}
}
}
Else {
If(LEqual(Arg0, 0x3)) {
If(LNot(\CWAS)) {
Store(0x0, \_SB_.PCI0.LPC_.C4C3)
Store(0x1, \CWAS)
}
}
Else {
If(LEqual(Arg0, 0x4)) {
If(\CWAS) {
Store(0x0, \CWAS)
If(LNot(CKC4(0x0))) {
Store(0x1,
\_SB_.PCI0.LPC_.C4C3)
}
}
}
Else {
Noop
}
}
}
Release(XDHK)
}
Else {
Noop
}
}
Method(CKC4, 1) {
Store(0x0, Local0)
If(\C4WR) {
If(LNot(\C4AC)) {
Or(Local0, 0x1, Local0)
}
}
If(\C4NA) {
Or(Local0, 0x2, Local0)
}
If(LAnd(\CWAC, \CWAS)) {
Or(Local0, 0x4, Local0)
}
If(LAnd(\CWUE, \CWUS)) {
Or(Local0, 0x8, Local0)
}
And(Local0, Not(Arg0), Local0)
Return(Local0)
}
Method(MHQE) {
Return(\C4WR)
}
Method(MHGE) {
If(LAnd(\C4WR, \C4AC)) {
Return(0x4)
}
Return(0x3)
}
Method(MHSE, 1) {
If(\C4WR) {
Store(\C4AC, Local0)
If(LEqual(Arg0, 0x3)) {
Store(0x0, \C4AC)
If(XOr(Local0, \C4AC)) {
If(\OSC4) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
}
Else {
Store(0x0, \_SB_.PCI0.LPC_.C4C3)
}
}
}
Else {
If(LEqual(Arg0, 0x4)) {
Store(0x1, \C4AC)
If(XOr(Local0, \C4AC)) {
If(\OSC4) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
}
Else {
If(LNot(CKC4(0x0))) {
Store(0x1,
\_SB_.PCI0.LPC_.C4C3)
}
}
}
}
}
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__.HKEY) {
Method(TDSC, 1) {
Store(0x1, Local0)
While(Local0) {
Store(\_SB_.PCI0.LPC_.EC__.HANT, Local0)
}
Store(Arg0, \_SB_.PCI0.LPC_.EC__.HANT)
If(LEqual(Arg0, 0x21)) {
\ATCC(0x0)
}
}
Method(TDSS, 1) {
\ATCC(Arg0)
}
Method(TDSG, 1) {
And(Arg0, 0xff, Local0)
Store(Local0, \_SB_.PCI0.LPC_.EC__.HDAA)
ShiftRight(Arg0, 0x8, Local0)
And(Local0, 0xff, Local1)
Store(Local1, \_SB_.PCI0.LPC_.EC__.HDAB)
ShiftRight(Arg0, 0x10, Local0)
And(Local0, 0xff, Local1)
Store(Local1, \_SB_.PCI0.LPC_.EC__.HDAC)
ShiftRight(Arg0, 0x18, Local0)
And(Local0, 0xff, Local1)
Store(Local1, \_SB_.PCI0.LPC_.EC__.HANA)
}
Method(TDGC) {
Store(\_SB_.PCI0.LPC_.EC__.HDDD, Local0)
Return(Local0)
}
Method(TDGS) {
Store(\_SB_.PCI0.LPC_.EC__.HAAA, Local0)
Return(Local0)
}
}
Scope(\_SB_.PCI0.LPC_.EC__.HKEY) {
Name(INDV, 0x0)
Method(MHQI) {
If(And(\IPMS, 0x1)) {
Or(INDV, 0x1, INDV)
}
If(And(\IPMS, 0x2)) {
Or(INDV, 0x2, INDV)
}
If(And(\IPMS, 0x4)) {
Or(INDV, 0x0100, INDV)
}
If(And(\IPMS, 0x8)) {
Or(INDV, 0x0200, INDV)
}
If(And(\IPMS, 0x10)) {
Or(INDV, 0x4, INDV)
}
Return(INDV)
}
Method(MHGI, 1) {
Name(RETB, Buffer(0x10) { })
CreateByteField(RETB, 0x0, MHGS)
ShiftLeft(0x1, Arg0, Local0)
If(And(INDV, Local0)) {
If(LEqual(Arg0, 0x0)) {
CreateField(RETB, 0x8, 0x78, BRBU)
Store(\IPMB, BRBU)
Store(0x10, MHGS)
}
Else {
If(LEqual(Arg0, 0x1)) {
CreateField(RETB, 0x8, 0x18, RRBU)
Store(\IPMR, RRBU)
Store(0x4, MHGS)
}
Else {
If(LEqual(Arg0, 0x8)) {
CreateField(RETB, 0x10, 0x18, ODBU)
CreateByteField(RETB, 0x1, MHGZ)
Store(\IPMO, ODBU)
If(LEqual(^^BDEV, 0x3)) {
If(\H8DR) {
Store(^^HPBU, Local1)
}
Else {
And(\RBEC(0x47), 0x1, Local1)
}
If(LNot(Local1)) {
Or(0x4, MHGZ, MHGZ)
}
If(LEqual(^^BSTS, 0x0)) {
Or(0x1, MHGZ, MHGZ)
Or(0x2, MHGZ, MHGZ)
}
}
Store(0x5, MHGS)
}
Else {
If(LEqual(Arg0, 0x9)) {
CreateField(RETB, 0x10, 0x8, AUBU)
Store(\IPMA, AUBU)
Store(0x1, Index(RETB, 0x1))
Store(0x3, MHGS)
}
Else {
If(LEqual(Arg0, 0x2)) {
Store(\VDYN(0x0, 0x0), Local1)
And(Local1, 0xf, Index(RETB,
0x2))
ShiftRight(Local1, 0x4,
Local1)
And(Local1, 0xf, Index(RETB,
0x1))
Store(0x3, MHGS)
}
}
}
}
}
}
Return(RETB)
}
Method(MHSI, 2) {
ShiftLeft(0x1, Arg0, Local0)
If(And(INDV, Local0)) {
If(LEqual(Arg0, 0x8)) {
If(Arg1) {
If(\H8DR) {
Store(^^HPBU, Local1)
}
Else {
And(\RBEC(0x47), 0x1, Local1)
}
If(LNot(Local1)) {
Store(^^BGID(0x0), ^^BDEV)
^^NBIN(Local1)
}
}
}
Else {
If(LEqual(Arg0, 0x2)) {
\VDYN(0x1, Arg1)
}
}
}
}
}
}
}
Name(_ADR, 0x0)
Name(_S3D, 0x2)
Name(RID_, 0x0)
Name(LRRT, Package(0x17) {
Package(0x4) {
0x0001ffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0x0002ffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0x0003ffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0x0003ffff,
0x1,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0x0003ffff,
0x2,
\_SB_.LNKC,
0x0,
},
Package(0x4) {
0x0003ffff,
0x3,
\_SB_.LNKD,
0x0,
},
Package(0x4) {
0x0019ffff,
0x0,
\_SB_.LNKE,
0x0,
},
Package(0x4) {
0x001affff,
0x0,
\_SB_.LNKE,
0x0,
},
Package(0x4) {
0x001affff,
0x1,
\_SB_.LNKF,
0x0,
},
Package(0x4) {
0x001affff,
0x2,
\_SB_.LNKG,
0x0,
},
Package(0x4) {
0x001affff,
0x3,
\_SB_.LNKH,
0x0,
},
Package(0x4) {
0x001bffff,
0x1,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0x001cffff,
0x0,
\_SB_.LNKE,
0x0,
},
Package(0x4) {
0x001cffff,
0x1,
\_SB_.LNKF,
0x0,
},
Package(0x4) {
0x001cffff,
0x2,
\_SB_.LNKG,
0x0,
},
Package(0x4) {
0x001cffff,
0x3,
\_SB_.LNKH,
0x0,
},
Package(0x4) {
0x001dffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0x001dffff,
0x1,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0x001dffff,
0x2,
\_SB_.LNKC,
0x0,
},
Package(0x4) {
0x001dffff,
0x3,
\_SB_.LNKD,
0x0,
},
Package(0x4) {
0x001fffff,
0x0,
\_SB_.LNKH,
0x0,
},
Package(0x4) {
0x001fffff,
0x2,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0x001fffff,
0x1,
\_SB_.LNKA,
0x0,
},
})
Name(ARRT, Package(0x17) {
Package(0x4) {
0x0001ffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x0002ffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x0003ffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x0003ffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0x0003ffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0x0003ffff,
0x3,
0x0,
0x13,
},
Package(0x4) {
0x0019ffff,
0x0,
0x0,
0x14,
},
Package(0x4) {
0x001affff,
0x0,
0x0,
0x14,
},
Package(0x4) {
0x001affff,
0x1,
0x0,
0x15,
},
Package(0x4) {
0x001affff,
0x2,
0x0,
0x16,
},
Package(0x4) {
0x001affff,
0x3,
0x0,
0x17,
},
Package(0x4) {
0x001bffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0x001cffff,
0x0,
0x0,
0x14,
},
Package(0x4) {
0x001cffff,
0x1,
0x0,
0x15,
},
Package(0x4) {
0x001cffff,
0x2,
0x0,
0x16,
},
Package(0x4) {
0x001cffff,
0x3,
0x0,
0x17,
},
Package(0x4) {
0x001dffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x001dffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0x001dffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0x001dffff,
0x3,
0x0,
0x13,
},
Package(0x4) {
0x001fffff,
0x0,
0x0,
0x17,
},
Package(0x4) {
0x001fffff,
0x2,
0x0,
0x10,
},
Package(0x4) {
0x001fffff,
0x1,
0x0,
0x10,
},
})
Method(_PRT) {
If(\GPIC) {
Return(ARRT)
}
Else {
Return(LRRT)
}
}
Name(_HID, 0x080ad041)
Name(_CID, 0x030ad041)
Name(_BBN, 0x0)
OperationRegion(MHCS, PCI_Config, 0x0, 0x0100)
Field(MHCS, DWordAcc, NoLock, Preserve) {
Offset(0x90),
PAM0, 8,
PAM1, 8,
PAM2, 8,
PAM3, 8,
PAM4, 8,
PAM5, 8,
PAM6, 8,
Offset(0xb0),
, 4,
TOUD, 12
}
Name(_CRS, Buffer(0x01c0) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc,
0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0,
0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff,
0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87,
0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff,
0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0,
0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0,
0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0,
0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0,
0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17,
0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0,
0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0,
0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17,
0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3,
0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x10, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xb0, 0xfe, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xd4, 0xfe, 0xff, 0xbf, 0xd4, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x0, 0x0,
0x79, 0x0 })
CreateDWordField(_CRS, 0x68, C0LN)
CreateDWordField(_CRS, 0x82, C4LN)
CreateDWordField(_CRS, 0x9c, C8LN)
CreateDWordField(_CRS, 0xb6, CCLN)
CreateDWordField(_CRS, 0xd0, D0LN)
CreateDWordField(_CRS, 0xea, D4LN)
CreateDWordField(_CRS, 0x0104, D8LN)
CreateDWordField(_CRS, 0x011e, DCLN)
CreateDWordField(_CRS, 0x0138, E0LN)
CreateDWordField(_CRS, 0x0152, E4LN)
CreateDWordField(_CRS, 0x016c, E8LN)
CreateDWordField(_CRS, 0x0186, ECLN)
CreateDWordField(_CRS, 0x0194, XXMN)
CreateDWordField(_CRS, 0x0198, XXMX)
CreateDWordField(_CRS, 0x01a0, XXLN)
CreateDWordField(_CRS, 0x01ae, F4MN)
CreateDWordField(_CRS, 0x01b2, F4MX)
CreateDWordField(_CRS, 0x01ba, F4LN)
Method(_INI, 0, Serialized) {
If(LNot(\OSIF)) {
\_SB_._INI()
}
ShiftLeft(TOUD, 0x14, Local0)
Store(Local0, \MEMX)
Store(Local0, XXMN)
Add(Subtract(XXMX, XXMN), 0x1, XXLN)
If(LNot(LEqual(And(\TPRS, 0x1), 0x1))) {
Store(0x0, F4LN)
}
If(And(PAM1, 0x3)) {
Store(0x0, C0LN)
}
If(And(PAM1, 0x30)) {
Store(0x0, C4LN)
}
If(And(PAM2, 0x3)) {
Store(0x0, C8LN)
}
If(And(PAM2, 0x30)) {
Store(0x0, CCLN)
}
If(And(PAM3, 0x3)) {
Store(0x0, D0LN)
}
If(And(PAM3, 0x30)) {
Store(0x0, D4LN)
}
If(And(PAM4, 0x3)) {
Store(0x0, D8LN)
}
If(And(PAM4, 0x30)) {
Store(0x0, DCLN)
}
If(And(PAM5, 0x3)) {
Store(0x0, E0LN)
}
If(And(PAM5, 0x30)) {
Store(0x0, E4LN)
}
If(And(PAM6, 0x3)) {
Store(0x0, E8LN)
}
If(And(PAM6, 0x30)) {
Store(0x0, ECLN)
}
}
Name(SUPP, 0x0)
Name(CTRL, 0x0)
Method(_OSC, 4) {
CreateDWordField(Arg3, 0x0, CDW1)
CreateDWordField(Arg3, 0x4, CDW2)
CreateDWordField(Arg3, 0x8, CDW3)
CreateDWordField(Arg0, 0x0, IID0)
CreateDWordField(Arg0, 0x4, IID1)
CreateDWordField(Arg0, 0x8, IID2)
CreateDWordField(Arg0, 0xc, IID3)
Name(UID0, Buffer(0x10) {0x5b, 0x4d, 0xdb, 0x33, 0xf7, 0x1f, 0x1c,
0x40, 0x96, 0x57, 0x74, 0x41, 0xc0, 0x3d, 0xd7, 0x66 })
CreateDWordField(UID0, 0x0, EID0)
CreateDWordField(UID0, 0x4, EID1)
CreateDWordField(UID0, 0x8, EID2)
CreateDWordField(UID0, 0xc, EID3)
If(LAnd(LAnd(LEqual(IID0, EID0), LEqual(IID1, EID1)),
LAnd(LEqual(IID2, EID2), LEqual(IID3, EID3)))) {
Store(CDW2, SUPP)
Store(CDW3, CTRL)
And(CTRL, 0x1d, CTRL)
If(Not(And(CDW1, 0x1))) {
If(And(CTRL, 0x1)) {
If(LNot(\VIGD)) {
Store(0x0, \_SB_.PCI0.AGP_.HPGP)
Store(0x0, \_SB_.PCI0.AGP_.GMGP)
}
Store(0x0, \_SB_.PCI0.EXP3.HPCE)
Store(0x1, \_SB_.PCI0.EXP3.HPCS)
Store(0x1, \_SB_.PCI0.EXP3.ABP_)
Store(0x1, \_SB_.PCI0.EXP3.PDS_)
Store(0x1, \NHPS)
}
If(And(CTRL, 0x4)) {
If(LNot(\VIGD)) {
Store(0x0, \_SB_.PCI0.AGP_.PMGP)
Store(0x0, \_SB_.PCI0.AGP_.GMGP)
}
Store(0x0, \_SB_.PCI0.EXP3.PMCE)
Store(0x1, \_SB_.PCI0.EXP3.PMCS)
Store(0x0, \_SB_.PCI0.LPC_.EXPE)
Store(0x1, \NPME)
}
}
If(LNot(LEqual(Arg1, 0x1))) {
Or(CDW1, 0xa, CDW1)
}
If(LNot(LEqual(CDW3, CTRL))) {
Or(CDW1, 0x10, CDW1)
}
Store(CTRL, CDW3)
}
Else {
Or(CDW1, 0x6, CDW1)
}
Return(Arg3)
}
Mutex(MDGS, 7)
Name(VDEE, 0x1)
Name(VDDA, Buffer(0x2) { })
CreateBitField(VDDA, 0x0, VUPC)
CreateBitField(VDDA, 0x1, VQDL)
CreateBitField(VDDA, 0x2, VQDC)
CreateBitField(VDDA, 0x3, VQD0)
CreateBitField(VDDA, 0x4, VQD1)
CreateBitField(VDDA, 0x5, VQD2)
CreateBitField(VDDA, 0x6, VSDL)
CreateBitField(VDDA, 0x7, VSDC)
CreateBitField(VDDA, 0x8, VSD0)
CreateBitField(VDDA, 0x9, VSD1)
CreateBitField(VDDA, 0xa, VSD2)
CreateBitField(VDDA, 0xb, MSWT)
Name(VDPU, 0x0)
Name(\VHCC, 0x0)
Device(VID_) {
Name(_ADR, 0x00020000)
Name(RID_, 0x0)
OperationRegion(VPCG, PCI_Config, 0x0, 0x0100)
Field(VPCG, DWordAcc, NoLock, Preserve) {
Offset(0xd4),
VPWR, 8
}
Name(_S3D, 0x3)
Method(_INI) {
\VUPS(0x2)
Store(\VCDL, VQDL)
Store(\VCDC, VQDC)
Store(\VCDT, VQD0)
Store(\VCDT, VQD1)
Store(\VCDD, VQD2)
}
Method(_PS0) {
Noop
}
Method(_PS1) {
Noop
}
Method(_PS2) {
Noop
}
Method(_PS3) {
Noop
}
Method(VSWT) {
If(LNot(LEqual(NADL, 0x0))) {
Store(VAHL(NADL), Local1)
}
If(LNot(LEqual(NDL2, 0x0))) {
Or(VAHL(NDL2), Local1, Local1)
}
If(LNot(LEqual(NDL3, 0x0))) {
Or(VAHL(NDL3), Local1, Local1)
}
If(LNot(LEqual(NDL4, 0x0))) {
Or(VAHL(NDL4), Local1, Local1)
}
If(LNot(LEqual(NDL5, 0x0))) {
Or(VAHL(NDL5), Local1, Local1)
}
If(Local1) {
ASWT(Local1, 0x1)
GHDS(0x1)
}
}
Method(VAHL, 1) {
If(LEqual(And(Arg0, 0x0f0f), 0x0400)) {
Return(0x1)
}
If(LEqual(And(Arg0, 0x0f0f), 0x0100)) {
Return(0x2)
}
If(LEqual(And(Arg0, 0x0f0f), 0x0300)) {
Return(0x4)
}
If(LEqual(And(Arg0, 0x0f0f), 0x0301)) {
Return(0x8)
}
If(LEqual(And(Arg0, 0x0f0f), 0x0302)) {
Return(0x10)
}
Return(0x0)
}
Method(VCAD, 1) {
Store(0x0, Local0)
If(LEqual(And(DIDL, 0x0f0f), Arg0)) {
Store(0xd, Local0)
}
If(LEqual(And(DDL2, 0x0f0f), Arg0)) {
Store(0xd, Local0)
}
If(LEqual(And(DDL3, 0x0f0f), Arg0)) {
Store(0xd, Local0)
}
If(LEqual(And(DDL4, 0x0f0f), Arg0)) {
Store(0xd, Local0)
}
If(LEqual(And(DDL5, 0x0f0f), Arg0)) {
Store(0xd, Local0)
}
If(LEqual(And(CPDL, 0x0f0f), Arg0)) {
Or(0x10, Local0, Local0)
}
If(LEqual(And(CPL2, 0x0f0f), Arg0)) {
Or(0x10, Local0, Local0)
}
If(LEqual(And(CPL3, 0x0f0f), Arg0)) {
Or(0x10, Local0, Local0)
}
If(LEqual(And(CPL4, 0x0f0f), Arg0)) {
Or(0x10, Local0, Local0)
}
If(LEqual(And(CPL5, 0x0f0f), Arg0)) {
Or(0x10, Local0, Local0)
}
If(LEqual(And(CADL, 0x0f0f), Arg0)) {
Or(0x2, Local0, Local0)
}
If(LEqual(And(CAL2, 0x0f0f), Arg0)) {
Or(0x2, Local0, Local0)
}
If(LEqual(And(CAL3, 0x0f0f), Arg0)) {
Or(0x2, Local0, Local0)
}
If(LEqual(And(CAL4, 0x0f0f), Arg0)) {
Or(0x2, Local0, Local0)
}
If(LEqual(And(CAL5, 0x0f0f), Arg0)) {
Or(0x2, Local0, Local0)
}
Return(Local0)
}
Method(VLOC, 1) {
If(LEqual(Arg0, \_SB_.LID_._LID())) {
\VSLD(Arg0)
If(LEqual(VPWR, 0x0)) {
If(Arg0) {
Store(\VEVT(0x1), Local0)
}
Else {
Store(\VEVT(0x2), Local0)
If(EXTD) {
Store(0x0, Local0)
}
}
And(0xf, Local0, Local1)
If(Local1) {
ASWT(Local1, 0x0)
Store(Arg0, CLID)
GNOT(0x2, 0x0)
}
}
}
}
Method(_DOS, 1) {
And(Arg0, 0x3, Arg0)
If(LEqual(Arg0, 0x2)) {
Store(0x14, Local0)
While(Local0) {
Decrement(Local0)
Acquire(MDGS, 0xffff)
If(LEqual(0x0, MSWT)) {
Store(0x1, MSWT)
Store(0x0, Local0)
Store(Arg0, VDEE)
}
Release(MDGS)
Sleep(0xc8)
}
}
Else {
Acquire(MDGS, 0xffff)
If(LEqual(VDEE, 0x2)) {
Store(0x0, MSWT)
}
If(LGreater(Arg0, 0x2)) {
Store(0x1, VDEE)
}
Else {
Store(Arg0, VDEE)
}
Release(MDGS)
}
}
Method(_DOD) {
Store(0x0, NDID)
If(LNot(LEqual(DIDL, 0x0))) {
Increment(NDID)
}
If(LNot(LEqual(DDL2, 0x0))) {
Increment(NDID)
}
If(LNot(LEqual(DDL3, 0x0))) {
Increment(NDID)
}
If(LNot(LEqual(DDL4, 0x0))) {
Increment(NDID)
}
If(LNot(LEqual(DDL5, 0x0))) {
Increment(NDID)
}
If(LEqual(NDID, 0x1)) {
Name(TMP1, Package(0x1) {
0xffffffff,
})
Store(Or(0x00010000, And(0x0f0f, DIDL)), Index(TMP1, 0x0))
Return(TMP1)
}
If(LEqual(NDID, 0x2)) {
Name(TMP2, Package(0x2) {
0xffffffff,
0xffffffff,
})
Store(Or(0x00010000, And(0x0f0f, DIDL)), Index(TMP2, 0x0))
Store(Or(0x00010000, And(0x0f0f, DDL2)), Index(TMP2, 0x1))
Return(TMP2)
}
If(LEqual(NDID, 0x3)) {
Name(TMP3, Package(0x3) {
0xffffffff,
0xffffffff,
0xffffffff,
})
Store(Or(0x00010000, And(0x0f0f, DIDL)), Index(TMP3, 0x0))
Store(Or(0x00010000, And(0x0f0f, DDL2)), Index(TMP3, 0x1))
Store(Or(0x00010000, And(0x0f0f, DDL3)), Index(TMP3, 0x2))
Return(TMP3)
}
If(LEqual(NDID, 0x4)) {
Name(TMP4, Package(0x4) {
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
})
Store(Or(0x00010000, And(0x0f0f, DIDL)), Index(TMP4, 0x0))
Store(Or(0x00010000, And(0x0f0f, DDL2)), Index(TMP4, 0x1))
Store(Or(0x00010000, And(0x0f0f, DDL3)), Index(TMP4, 0x2))
Store(Or(0x00010000, And(0x0f0f, DDL4)), Index(TMP4, 0x3))
Return(TMP4)
}
If(LGreater(NDID, 0x4)) {
Name(TMP5, Package(0x5) {
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
0xffffffff,
})
Store(Or(0x00010000, And(0x0f0f, DIDL)), Index(TMP5, 0x0))
Store(Or(0x00010000, And(0x0f0f, DDL2)), Index(TMP5, 0x1))
Store(Or(0x00010000, And(0x0f0f, DDL3)), Index(TMP5, 0x2))
Store(Or(0x00010000, And(0x0f0f, DDL4)), Index(TMP5, 0x3))
Store(Or(0x00010000, And(0x0f0f, DDL5)), Index(TMP5, 0x4))
Return(TMP5)
}
Return(Package(0x1) {
0x0400,
})
}
Method(ASWT, 2) {
If(LEqual(0x1, VDEE)) {
And(0x1, Arg1, Local1)
\VSDS(Arg0, Local1)
}
Else {
Store(0x14, Local0)
While(Local0) {
Decrement(Local0)
Acquire(MDGS, 0xffff)
If(LEqual(0x0, MSWT)) {
Store(0x0, Local0)
If(And(0x1, Arg1)) {
Store(0x1, VUPC)
}
Else {
Store(0x0, VUPC)
}
If(And(0x1, Arg0)) {
Store(0x1, VQDL)
}
Else {
Store(0x0, VQDL)
}
If(And(0x2, Arg0)) {
Store(0x1, VQDC)
}
Else {
Store(0x0, VQDC)
}
If(And(0x4, Arg0)) {
Store(0x1, VQD0)
}
Else {
Store(0x0, VQD0)
}
If(And(0x8, Arg0)) {
Store(0x1, VQD1)
}
Else {
Store(0x0, VQD1)
}
If(And(0x10, Arg0)) {
Store(0x1, VQD2)
}
Else {
Store(0x0, VQD2)
}
}
Release(MDGS)
Sleep(0xc8)
}
}
}
Method(VDSW, 1) {
If(LEqual(VPWR, 0x0)) {
If(Arg0) {
Store(0x0, VDPU)
Store(\VEVT(0x3), Local0)
And(0xf, Local0, Local1)
If(Local1) {
ASWT(Local1, 0x0)
GDCK(Arg0)
}
}
Else {
Store(0x1, VDPU)
Store(\VEVT(0x4), Local0)
ASWT(0x1, 0x0)
GDCK(Arg0)
}
}
}
Method(VDSP) {
If(LEqual(VPWR, 0x0)) {
If(LEqual(VDPU, 0x1)) {
Store(0x0, VDPU)
If(\_SB_.LID_._LID()) {
ASWT(0x1, 0x0)
GLID(0x1)
}
}
}
}
Method(VSPD) {
Store(\VEVT(0x6), Local0)
And(0xf, Local0, Local1)
If(Local1) {
ASWT(Local1, 0x1)
GHDS(0x0)
}
}
Device(LCD0) {
Name(_ADR, 0x0400)
Method(_DCS) {
If(DRDY) {
Return(VCAD(0x0400))
}
Else {
\VUPS(0x0)
If(\VCDL) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
}
Method(_DGS) {
Return(VQDL)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSDL)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Device(CRT0) {
Name(_ADR, 0x0100)
Method(_DCS) {
If(DRDY) {
Return(VCAD(0x0100))
}
Else {
\VUPS(0x1)
If(\VCSS) {
If(\VCDC) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Else {
If(\VCDC) {
Return(0xf)
}
Else {
Return(0xd)
}
}
}
}
Method(_DGS) {
Return(VQDC)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSDC)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Device(DVI0) {
Name(_ADR, 0x0300)
Method(_DCS) {
If(DRDY) {
Return(VCAD(0x0300))
}
Else {
\VUPS(0x0)
If(\VCDT) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
}
Method(_DGS) {
Return(VQD0)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSD0)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Device(DVI1) {
Name(_ADR, 0x0301)
Method(_DCS) {
If(DRDY) {
Return(VCAD(0x0301))
}
Else {
\VUPS(0x0)
If(\VCDT) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
}
Method(_DGS) {
Return(VQD1)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSD1)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Device(DVI2) {
Name(_ADR, 0x0302)
Method(_DCS) {
If(DRDY) {
Return(VCAD(0x0302))
}
Else {
\VUPS(0x0)
If(\VCDD) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
}
Method(_DGS) {
Return(VQD2)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSD2)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Method(DSWT, 1) {
If(VSDL) {
Store(0x1, Local0)
}
Else {
Store(0x0, Local0)
}
If(VSDC) {
Or(0x2, Local0, Local0)
}
If(VSD0) {
Or(0x4, Local0, Local0)
}
If(VSD1) {
Or(0x4, Local0, Local0)
}
If(VSD2) {
Or(0x8, Local0, Local0)
}
If(Local0) {
If(VUPC) {
\VSDS(Local0, Arg0)
}
}
Else {
Noop
}
}
OperationRegion(IGDP, PCI_Config, 0x40, 0xc0)
Field(IGDP, AnyAcc, NoLock, Preserve) {
Offset(0x12),
, 1,
GIVD, 1,
, 2,
GUMA, 3,
Offset(0x14),
, 4,
GMFN, 1,
Offset(0x18),
Offset(0xa4),
ASLE, 8,
Offset(0xa8),
GSSE, 1,
GSSB, 14,
GSES, 1,
Offset(0xb0),
, 12,
CDVL, 1,
Offset(0xb2),
Offset(0xb5),
LBPC, 8,
Offset(0xbc),
ASLS, 32
}
OperationRegion(IGDM, SystemMemory, \ASLB, 0x2000)
Field(IGDM, AnyAcc, NoLock, Preserve) {
SIGN, 128,
SIZE, 32,
OVER, 32,
SVER, 256,
VVER, 128,
GVER, 128,
MBOX, 32,
DMOD, 32,
Offset(0x100),
DRDY, 32,
CSTS, 32,
CEVT, 32,
Offset(0x120),
DIDL, 32,
DDL2, 32,
DDL3, 32,
DDL4, 32,
DDL5, 32,
DDL6, 32,
DDL7, 32,
DDL8, 32,
CPDL, 32,
CPL2, 32,
CPL3, 32,
CPL4, 32,
CPL5, 32,
CPL6, 32,
CPL7, 32,
CPL8, 32,
CADL, 32,
CAL2, 32,
CAL3, 32,
CAL4, 32,
CAL5, 32,
CAL6, 32,
CAL7, 32,
CAL8, 32,
NADL, 32,
NDL2, 32,
NDL3, 32,
NDL4, 32,
NDL5, 32,
NDL6, 32,
NDL7, 32,
NDL8, 32,
ASLP, 32,
TIDX, 32,
CHPD, 32,
CLID, 32,
CDCK, 32,
SXSW, 32,
EVTS, 32,
CNOT, 32,
NRDY, 32,
Offset(0x200),
SCIE, 1,
GEFC, 4,
GXFC, 3,
GESF, 8,
Offset(0x204),
PARM, 32,
DSLP, 32,
Offset(0x300),
ARDY, 32,
ASLC, 32,
TCHE, 32,
ALSI, 32,
BCLP, 32,
PFIT, 32,
CBLV, 32,
BCLM, 320,
CPFM, 32,
EPFM, 32,
PLUT, 592,
PFMB, 32,
DDCV, 32,
Offset(0x400),
GVD1, 49152,
PHED, 32,
BDDC, 2048
}
Name(DBTB, Package(0x15) {
0x0,
0x7,
0x38,
0x01c0,
0x0e00,
0x3f,
0x01c7,
0x0e07,
0x01f8,
0x0e38,
0x0fc0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x7000,
0x7007,
0x7038,
0x71c0,
0x7e00,
})
Name(DBTC, Package(0x15) {
0x0,
0x2,
0x1,
0x8,
0x0,
0x3,
0xa,
0x0,
0x9,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x4,
0x6,
0x5,
0xc,
0x0,
})
Name(CDCT, Package(0x5) {
Package(0x2) {
0xe4,
0x0140,
},
Package(0x2) {
0xde,
0x014d,
},
Package(0x2) {
0xde,
0x014d,
},
Package(0x2) {
0x0,
0x0,
},
Package(0x2) {
0xde,
0x014d,
},
})
Name(SUCC, 0x1)
Name(NVLD, 0x2)
Name(CRIT, 0x4)
Name(NCRT, 0x6)
Method(GSCI, 0, Serialized) {
If(LEqual(GEFC, 0x4)) {
Store(GBDA(), GXFC)
}
If(LEqual(GEFC, 0x6)) {
Store(SBCB(), GXFC)
}
Store(0x0, GEFC)
Store(0x1, \_SB_.PCI0.LPC_.SCIS)
Store(0x0, GSSE)
Store(0x0, SCIE)
Return(Zero)
}
Method(GBDA, 0, Serialized) {
If(LEqual(GESF, 0x0)) {
Store(0x0679, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x1)) {
Store(0x00010672, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x4)) {
And(PARM, 0xefff0000, PARM)
And(PARM, ShiftLeft(DerefOf(Index(DBTB, IBTT)), 0x10),
PARM)
Or(IBTT, PARM, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x5)) {
If(\_SB_.LID_._LID()) {
Store(0x1, LIDS)
}
Else {
Store(0x0, LIDS)
}
Store(IPSC, PARM)
Add(PARM, 0x1, PARM)
Add(PARM, 0x0300, PARM)
Add(PARM, 0x00010000, PARM)
Or(PARM, ShiftLeft(LIDS, 0x10), PARM)
Or(PARM, ShiftLeft(IBIA, 0x14), PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x6)) {
Store(ITVF, PARM)
Or(PARM, ShiftLeft(ITVM, 0x4), PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x7)) {
Store(GIVD, PARM)
XOr(PARM, 0x1, PARM)
Or(PARM, ShiftLeft(GMFN, 0x1), PARM)
Or(PARM, ShiftLeft(0x3, 0xb), PARM)
Or(PARM, ShiftLeft(IDMS, 0x11), PARM)
Or(ShiftLeft(DerefOf(Index(DerefOf(Index(CDCT, HVCO)),
CDVL)), 0x15), PARM, PARM)
Store(0x1, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0xa)) {
Store(0x0, PARM)
If(ISSC) {
Or(PARM, ISSC, PARM)
Or(PARM, 0x00640000, PARM)
}
Store(0x0, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0xb)) {
Store(KSV0, PARM)
Store(KSV1, GESF)
Return(SUCC)
}
Store(Zero, GESF)
Return(CRIT)
}
Name(DSFS, 0x0)
Name(EXTD, 0x0)
Method(SBCB, 0, Serialized) {
If(LEqual(GESF, 0x0)) {
Store(0x8339, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x1)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x3)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x4)) {
And(PARM, 0xffff, PARM)
If(LGreater(PARM, 0x13)) {
Store(0x0, DSFS)
}
Else {
Store(0x1, DSFS)
}
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x5)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x6)) {
Store(And(PARM, 0xf), ITVF)
Store(ShiftRight(And(PARM, 0xf0), 0x4), ITVM)
\UCMS(0x19)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x7)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x8)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x9)) {
And(PARM, 0x80000000, EXTD)
And(PARM, 0xff, Local0)
If(LNot(LGreater(Local0, 0x14))) {
Store(DerefOf(Index(DBTC, Local0)), IBTT)
}
Else {
Store(0x0, IBTT)
}
If(IBTT) {
\UCMS(0x17)
}
And(PARM, 0xff, IBTT)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0xa)) {
Store(Subtract(And(PARM, 0x3), 0x1), IPSC)
\UCMS(0x1a)
If(And(ShiftRight(PARM, 0x8), 0xff)) {
And(ShiftRight(PARM, 0x8), 0xff, IPAT)
Decrement(IPAT)
}
And(ShiftRight(PARM, 0x14), 0x7, IBIA)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0xb)) {
And(ShiftRight(PARM, 0x1), 0x1, IF1E)
If(And(PARM, ShiftLeft(0xf, 0xd))) {
And(ShiftRight(PARM, 0xd), 0xf, IDMS)
Store(0x0, IDMM)
}
Else {
And(ShiftRight(PARM, 0x11), 0xf, IDMS)
Store(0x1, IDMM)
}
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x10)) {
And(PARM, 0x1, PARM)
XOr(PARM, 0x1, PARM)
Store(PARM, DSFS)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x11)) {
Store(ShiftLeft(LIDS, 0x8), PARM)
Add(PARM, 0x0100, PARM)
Store(Zero, GESF)
Return(SUCC)
}
If(LEqual(GESF, 0x12)) {
If(And(PARM, 0x1)) {
If(LEqual(ShiftRight(PARM, 0x1), 0x1)) {
Store(0x1, ISSC)
}
Else {
Store(Zero, GESF)
Return(CRIT)
}
}
Else {
Store(0x0, ISSC)
}
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x13)) {
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
If(LEqual(GESF, 0x14)) {
And(PARM, 0xf, PAVP)
Store(Zero, GESF)
Store(Zero, PARM)
Return(SUCC)
}
Store(Zero, GESF)
Return(SUCC)
}
Method(PDRD) {
If(LNot(DRDY)) {
Sleep(ASLP)
}
Return(LNot(DRDY))
}
Method(PSTS) {
If(LGreater(CSTS, 0x2)) {
Sleep(ASLP)
}
Return(LEqual(CSTS, 0x3))
}
Method(GNOT, 2) {
If(PDRD()) {
Return(0x1)
}
Store(Arg0, CEVT)
Store(0x3, CSTS)
If(LAnd(LEqual(CHPD, 0x0), LEqual(Arg1, 0x0))) {
If(LNot(LEqual(Arg0, 0x1))) {
If(LAnd(\WXPF, LNot(\WVIS))) {
Notify(\_SB_.PCI0, Arg1)
}
Else {
Notify(\_SB_.PCI0.VID_, Arg1)
}
}
}
Notify(\_SB_.PCI0.VID_, 0x80)
Return(0x0)
}
Method(GHDS, 1) {
Store(Arg0, TIDX)
Return(GNOT(0x1, 0x0))
}
Method(GLID, 1) {
Store(Arg0, CLID)
Return(GNOT(0x2, 0x0))
}
Method(GLIS, 1) {
Store(Arg0, CLID)
Return(0x0)
}
Method(GDCK, 1) {
Store(Arg0, CDCK)
Return(GNOT(0x4, 0x80))
}
Method(GDCS, 1) {
Store(Arg0, CDCK)
}
Method(PARD) {
If(LNot(ARDY)) {
Sleep(ASLP)
}
Return(LNot(ARDY))
}
Method(AINT, 2) {
If(LNot(And(TCHE, ShiftLeft(0x1, Arg0)))) {
Return(0x1)
}
If(PARD()) {
Return(0x1)
}
If(LEqual(Arg0, 0x2)) {
XOr(PFIT, 0x7, PFIT)
Or(PFIT, 0x80000000, PFIT)
Store(0x4, ASLC)
}
Else {
If(LEqual(Arg0, 0x1)) {
Store(Arg1, BCLP)
Or(BCLP, 0x80000000, BCLP)
Store(0xa, ASLC)
}
Else {
If(LEqual(Arg0, 0x3)) {
Store(Arg1, PFMB)
Or(PFMB, 0x80000100, PFMB)
}
Else {
If(LEqual(Arg0, 0x0)) {
Store(Arg1, ALSI)
Store(0x1, ASLC)
}
Else {
Return(0x1)
}
}
}
}
Store(0x0, LBPC)
Return(0x0)
}
Name(ATPB, Buffer(0x0100) { })
CreateWordField(ATPB, 0x0, SSZE)
CreateWordField(ATPB, 0x2, VERN)
CreateDWordField(ATPB, 0x2, VMSK)
CreateDWordField(ATPB, 0x4, SFUN)
CreateDWordField(ATPB, 0x6, FLGS)
Method(ATPX, 2) {
If(LEqual(Arg0, 0x0)) {
Store(0x8, SSZE)
Store(0x1, VERN)
Store(0xf, SFUN)
Return(ATPB)
}
If(LEqual(Arg0, 0x1)) {
Store(0xa, SSZE)
Store(0xf, VMSK)
Store(0x8, FLGS)
Return(ATPB)
}
If(LEqual(Arg0, 0x2)) {
CreateByteField(Arg1, 0x2, PWST)
Store(PWST, Local0)
And(Local0, 0x1, Local0)
If(Local0) {
\VHYB(0x2, 0x0)
\VHYB(0x0, 0x1)
Sleep(0x32)
\VHYB(0x2, 0x1)
Sleep(0xc8)
\SWTT(0x1)
\VHYB(0x4, 0x0)
}
Else {
\SWTT(0x0)
\VHYB(0x2, 0x0)
\VHYB(0x0, 0x0)
}
}
If(LEqual(Arg0, 0x3)) {
CreateWordField(Arg1, 0x2, DMUX)
Store(DMUX, Local0)
And(Local0, 0x1, Local0)
\VHYB(0x1, Local0)
Store(XOr(Local0, 0x1), VIGD)
}
If(LEqual(Arg0, 0x4)) {
CreateByteField(Arg1, 0x2, MI2C)
Store(MI2C, Local0)
And(Local0, 0x1, Local0)
}
}
OperationRegion(ATRP, SystemMemory, \ATRB, 0x00010000)
Field(ATRP, AnyAcc, Lock, Preserve) {
IDX0, 262144,
IDX1, 262144
}
Method(ATRM, 2, Serialized) {
If(LNot(LLess(Arg0, 0x8000))) {
Return(GETB(Subtract(Arg0, 0x8000), Arg1, IDX1))
}
If(LGreater(Add(Arg0, Arg1), 0x8000)) {
Subtract(0x8000, Arg0, Local0)
Subtract(Arg1, Local0, Local1)
Store(GETB(Arg0, Local0, IDX0), Local3)
Store(GETB(0x0, Local1, IDX1), Local4)
Concatenate(Local3, Local4, Local5)
Return(Local5)
}
Return(GETB(Arg0, Arg1, IDX0))
}
Method(GETB, 3, Serialized) {
Multiply(Arg0, 0x8, Local0)
Multiply(Arg1, 0x8, Local1)
CreateField(Arg2, Local0, Local1, TBF3)
Return(TBF3)
}
CreateDWordField(ATPB, 0x4, SNTF)
CreateDWordField(ATPB, 0x6, IFLG)
CreateDWordField(ATPB, 0x8, ISFN)
CreateWordField(ATPB, 0xa, IFPW)
Name(SWRL, Buffer(0x7) {0x1, 0x2, 0x3, 0x80, 0x81, 0x8, 0x9 })
Method(ATIF, 2) {
If(LEqual(Arg0, 0x0)) {
Store(0xc, SSZE)
Store(0x1, VERN)
Store(0x1, SNTF)
Store(0x7, ISFN)
Return(ATPB)
}
If(LEqual(Arg0, 0x1)) {
Store(0xa, SSZE)
Store(0x3, VMSK)
Store(0x1, IFLG)
Return(ATPB)
}
If(LEqual(Arg0, 0x2)) {
Store(0xc, SSZE)
Store(0x1, VMSK)
Store(0x0, IFLG)
Store(0x0, IFPW)
Return(ATPB)
}
If(LEqual(Arg0, 0x3)) {
CreateWordField(Arg1, 0x2, SELD)
CreateWordField(Arg1, 0x4, COND)
Store(0x7, Local1)
Store(0x0, Local3)
While(Local1) {
Decrement(Local1)
Store(DerefOf(Index(SWRL, Local1)), Local2)
If(LEqual(SELD, Local2)) {
Store(0x1, Local3)
Break
}
}
If(LEqual(0x0, Local3)) {
Store(0x6, Local1)
}
Store(0x1, Local0)
Store(0x6, Local3)
Store(COND, Local4)
If(\_SB_.LID_._LID()) {
Increment(Local4)
}
While(Local3) {
Decrement(Local3)
Increment(Local1)
If(LNot(LLess(Local1, 0x7))) {
Store(0x0, Local1)
}
Store(DerefOf(Index(SWRL, Local1)), Local2)
If(LEqual(And(Local4, Local2), Local2)) {
Store(Local2, Local0)
Break
}
}
Store(0x4, SSZE)
Store(Local0, VERN)
Return(ATPB)
}
}
}
Device(AGP_) {
Name(_ADR, 0x00010000)
Name(_S3D, 0x3)
Name(RID_, 0x0)
Name(LART, Package(0x2) {
Package(0x4) {
0xffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0xffff,
0x1,
\_SB_.LNKB,
0x0,
},
})
Name(AART, Package(0x2) {
Package(0x4) {
0xffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0xffff,
0x1,
0x0,
0x11,
},
})
Method(_PRT) {
If(\GPIC) {
Return(AART)
}
Else {
Return(LART)
}
}
Mutex(MDGS, 7)
Name(VDEE, 0x1)
Name(VDDA, Buffer(0x2) { })
CreateBitField(VDDA, 0x0, VUPC)
CreateBitField(VDDA, 0x1, VQDL)
CreateBitField(VDDA, 0x2, VQDC)
CreateBitField(VDDA, 0x3, VQDT)
CreateBitField(VDDA, 0x4, VQDD)
CreateBitField(VDDA, 0x5, VSDL)
CreateBitField(VDDA, 0x6, VSDC)
CreateBitField(VDDA, 0x7, VSDT)
CreateBitField(VDDA, 0x8, VSDD)
CreateBitField(VDDA, 0xa, MSWT)
CreateBitField(VDDA, 0xb, VWST)
Device(VID_) {
Name(_ADR, 0x0)
OperationRegion(VPCG, PCI_Config, 0x0, 0x0100)
Field(VPCG, DWordAcc, NoLock, Preserve) {
Offset(0x54),
VPWR, 8
}
Name(_S3D, 0x3)
Method(_INI) {
\VUPS(0x2)
Store(\VCDL, VQDL)
Store(\VCDC, VQDC)
Store(\VCDT, VQDT)
Store(\VCDD, VQDD)
}
Method(_PS0) {
Noop
}
Method(_PS1) {
Noop
}
Method(_PS2) {
Noop
}
Method(_PS3) {
Noop
}
Method(VSWT) {
If(\WVIS) {
If(LEqual(\VHYB(0x3, 0x0), 0x3)) {
Notify(\_SB_.PCI0.VID_, 0x81)
Store(0x0, Local0)
}
Else {
Store(\VEVT(0x7), Local0)
}
}
Else {
Store(\VEVT(0x5), Local0)
}
And(0xf, Local0, Local1)
If(Local1) {
ASWT(Local1, 0x1)
}
}
Method(VLOC, 1) {
If(LEqual(Arg0, \_SB_.LID_._LID())) {
\VSLD(Arg0)
If(LEqual(VPWR, 0x0)) {
If(Arg0) {
Store(\VEVT(0x1), Local0)
}
Else {
Store(\VEVT(0x2), Local0)
}
And(0xf, Local0, Local1)
If(Local1) {
ASWT(Local1, 0x0)
}
}
}
}
Method(_DOS, 1) {
If(LEqual(Arg0, 0x2)) {
Store(0x14, Local0)
While(Local0) {
Decrement(Local0)
Acquire(MDGS, 0xffff)
If(LEqual(0x0, MSWT)) {
Store(0x1, MSWT)
Store(0x0, Local0)
Store(Arg0, VDEE)
}
Release(MDGS)
Sleep(0xc8)
}
}
Else {
Acquire(MDGS, 0xffff)
If(LEqual(VDEE, 0x2)) {
Store(0x0, MSWT)
}
If(LGreater(Arg0, 0x2)) {
Store(0x1, VDEE)
}
Else {
Store(Arg0, VDEE)
}
Release(MDGS)
}
}
Method(_DOD) {
Return(Package(0x4) {
0x0100,
0x0210,
0x0220,
0x0110,
})
}
Method(ASWT, 2) {
If(LEqual(0x1, VDEE)) {
And(0x1, Arg1, Local1)
\VSDS(Arg0, Local1)
}
Else {
Store(0x14, Local0)
While(Local0) {
Decrement(Local0)
Acquire(MDGS, 0xffff)
If(LEqual(0x0, MSWT)) {
Store(0x0, Local0)
If(And(0x1, Arg1)) {
Store(0x1, VUPC)
}
Else {
Store(0x0, VUPC)
}
If(And(0x1, Arg0)) {
Store(0x1, VQDL)
}
Else {
Store(0x0, VQDL)
}
If(And(0x2, Arg0)) {
Store(0x1, VQDC)
}
Else {
Store(0x0, VQDC)
}
If(And(0x4, Arg0)) {
Store(0x1, VQDT)
}
Else {
Store(0x0, VQDT)
}
If(And(0x8, Arg0)) {
Store(0x1, VQDD)
}
Else {
Store(0x0, VQDD)
}
}
Release(MDGS)
Sleep(0xc8)
}
If(And(0x2, Arg1)) {
Notify(VID_, 0x81)
}
Else {
Notify(VID_, 0x80)
}
}
}
Method(VDSW, 1) {
If(LEqual(VPWR, 0x0)) {
If(Arg0) {
Store(\VEVT(0x3), Local0)
}
Else {
Store(\VEVT(0x4), Local0)
}
And(0xf, Local0, Local1)
If(Local1) {
ASWT(Local1, 0x0)
}
}
}
Device(LCD0) {
Name(_ADR, 0x0110)
Method(_DCS) {
\VUPS(0x0)
If(\VCDL) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
Return(VQDL)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSDL)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Device(CRT0) {
Name(_ADR, 0x0100)
Method(_DCS) {
\VUPS(0x1)
If(\VCSS) {
If(\VCDC) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Else {
If(\VCDC) {
Return(0xf)
}
Else {
Return(0xd)
}
}
}
Method(_DGS) {
Return(VQDC)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSDC)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Device(DVI0) {
Name(_ADR, 0x0210)
Method(_DCS) {
\VUPS(0x0)
If(\VCDD) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
Return(VQDD)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSDD)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Device(DP0_) {
Name(_ADR, 0x0220)
Method(_DCS) {
\VUPS(0x0)
If(\VCDT) {
Return(0x1f)
}
Else {
Return(0x1d)
}
}
Method(_DGS) {
Return(VQDT)
}
Method(_DSS, 1) {
And(Arg0, 0x1, VSDT)
If(And(Arg0, 0x80000000)) {
If(And(Arg0, 0x40000000)) {
DSWT(0x2)
}
Else {
DSWT(0x1)
}
}
}
}
Method(DSWT, 1) {
If(VSDL) {
Store(0x1, Local0)
}
Else {
Store(0x0, Local0)
}
If(VSDC) {
Or(0x2, Local0, Local0)
}
If(VSDD) {
Or(0x8, Local0, Local0)
}
If(Local0) {
If(VUPC) {
\VSDS(Local0, Arg0)
}
}
Else {
Noop
}
}
}
OperationRegion(PEGC, PCI_Config, 0x0, 0x0100)
Field(PEGC, DWordAcc, NoLock, Preserve) {
Offset(0xec),
GMGP, 1,
HPGP, 1,
PMGP, 1
}
}
Device(IGBE) {
Name(_ADR, 0x00190000)
Name(_S3D, 0x3)
Name(RID_, 0x0)
Name(_PRW, Package(0x2) {
0xd,
0x4,
})
}
Device(EXP0) {
Name(_ADR, 0x001c0000)
Name(RID_, 0x0)
OperationRegion(P0CS, PCI_Config, 0x0, 0x0100)
Field(P0CS, DWordAcc, NoLock, Preserve) {
Offset(0x60),
RID0, 16,
PSP0, 1,
PPP0, 1
}
Name(_PRW, Package(0x2) {
0x9,
0x4,
})
Name(LPRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0xffff,
0x1,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0xffff,
0x2,
\_SB_.LNKC,
0x0,
},
Package(0x4) {
0xffff,
0x3,
\_SB_.LNKD,
0x0,
},
})
Name(APRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0xffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0xffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0xffff,
0x3,
0x0,
0x13,
},
})
Method(_PRT) {
If(\GPIC) {
Return(APRT)
}
Else {
Return(LPRT)
}
}
}
Device(EXP1) {
Name(_ADR, 0x001c0001)
Name(RID_, 0x0)
OperationRegion(P1CS, PCI_Config, 0x0, 0x0100)
Field(P1CS, DWordAcc, NoLock, Preserve) {
Offset(0x60),
RID1, 16,
PSP1, 1,
PPP1, 1
}
Name(_PRW, Package(0x2) {
0x9,
0x4,
})
Name(LPRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0xffff,
0x1,
\_SB_.LNKC,
0x0,
},
Package(0x4) {
0xffff,
0x2,
\_SB_.LNKD,
0x0,
},
Package(0x4) {
0xffff,
0x3,
\_SB_.LNKA,
0x0,
},
})
Name(APRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
0x0,
0x11,
},
Package(0x4) {
0xffff,
0x1,
0x0,
0x12,
},
Package(0x4) {
0xffff,
0x2,
0x0,
0x13,
},
Package(0x4) {
0xffff,
0x3,
0x0,
0x10,
},
})
Method(_PRT) {
If(\GPIC) {
Return(APRT)
}
Else {
Return(LPRT)
}
}
}
Device(EXP2) {
Name(_ADR, 0x001c0002)
Name(RID_, 0x0)
OperationRegion(P2CS, PCI_Config, 0x0, 0x0100)
Field(P2CS, DWordAcc, NoLock, Preserve) {
Offset(0x60),
RID2, 16,
PSP2, 1,
PPP2, 1
}
Name(_PRW, Package(0x2) {
0x9,
0x4,
})
Name(LPRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
\_SB_.LNKC,
0x0,
},
Package(0x4) {
0xffff,
0x1,
\_SB_.LNKD,
0x0,
},
Package(0x4) {
0xffff,
0x2,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0xffff,
0x3,
\_SB_.LNKB,
0x0,
},
})
Name(APRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
0x0,
0x12,
},
Package(0x4) {
0xffff,
0x1,
0x0,
0x13,
},
Package(0x4) {
0xffff,
0x2,
0x0,
0x10,
},
Package(0x4) {
0xffff,
0x3,
0x0,
0x11,
},
})
Method(_PRT) {
If(\GPIC) {
Return(APRT)
}
Else {
Return(LPRT)
}
}
}
Device(EXP3) {
Name(_ADR, 0x001c0003)
Name(RID_, 0x0)
Name(XCPF, 0x0)
OperationRegion(P3CS, PCI_Config, 0x0, 0x0100)
Field(P3CS, DWordAcc, NoLock, Preserve) {
Offset(0x5a),
ABP_, 1,
, 2,
PDC_, 1,
, 2,
PDS_, 1,
Offset(0x5b),
Offset(0x60),
RID3, 16,
PSP3, 1,
PPP3, 1,
Offset(0xdb),
, 6,
HPCE, 1,
PMCE, 1,
Offset(0xdf),
, 6,
HPCS, 1,
PMCS, 1
}
Name(_PRW, Package(0x2) {
0x9,
0x4,
})
Name(LPRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
\_SB_.LNKD,
0x0,
},
Package(0x4) {
0xffff,
0x1,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0xffff,
0x2,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0xffff,
0x3,
\_SB_.LNKC,
0x0,
},
})
Name(APRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
0x0,
0x13,
},
Package(0x4) {
0xffff,
0x1,
0x0,
0x10,
},
Package(0x4) {
0xffff,
0x2,
0x0,
0x11,
},
Package(0x4) {
0xffff,
0x3,
0x0,
0x12,
},
})
Method(_PRT) {
If(\GPIC) {
Return(APRT)
}
Else {
Return(LPRT)
}
}
Device(EXUP) {
Name(_ADR, 0x0)
Method(_RMV) {
Return(0x1)
}
}
}
Device(EXP4) {
Name(_ADR, 0x001c0004)
Name(RID_, 0x0)
OperationRegion(P4CS, PCI_Config, 0x0, 0x0100)
Field(P4CS, DWordAcc, NoLock, Preserve) {
Offset(0x60),
RID4, 16,
PSP4, 1,
PPP4, 1,
Offset(0xdf),
, 6,
HPS4, 1,
PMS4, 1
}
Name(_PRW, Package(0x2) {
0x9,
0x4,
})
Name(LPRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0xffff,
0x1,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0xffff,
0x2,
\_SB_.LNKC,
0x0,
},
Package(0x4) {
0xffff,
0x3,
\_SB_.LNKD,
0x0,
},
})
Name(APRT, Package(0x4) {
Package(0x4) {
0xffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0xffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0xffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0xffff,
0x3,
0x0,
0x13,
},
})
Method(_PRT) {
If(\GPIC) {
Return(APRT)
}
Else {
Return(LPRT)
}
}
Device(EXPD) {
Name(_ADR, 0x0)
}
}
Device(PCI1) {
Name(_ADR, 0x001e0000)
Name(_S3D, 0x2)
Name(RID_, 0x0)
Name(LPRT, Package(0x8) {
Package(0x4) {
0xffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0xffff,
0x1,
\_SB_.LNKB,
0x0,
},
Package(0x4) {
0xffff,
0x2,
\_SB_.LNKC,
0x0,
},
Package(0x4) {
0xffff,
0x3,
\_SB_.LNKD,
0x0,
},
Package(0x4) {
0x0001ffff,
0x0,
\_SB_.LNKA,
0x0,
},
Package(0x4) {
0x0002ffff,
0x0,
\_SB_.LNKF,
0x0,
},
Package(0x4) {
0x0002ffff,
0x1,
\_SB_.LNKG,
0x0,
},
Package(0x4) {
0x0008ffff,
0x0,
\_SB_.LNKE,
0x0,
},
})
Name(APRT, Package(0x8) {
Package(0x4) {
0xffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0xffff,
0x1,
0x0,
0x11,
},
Package(0x4) {
0xffff,
0x2,
0x0,
0x12,
},
Package(0x4) {
0xffff,
0x3,
0x0,
0x13,
},
Package(0x4) {
0x0001ffff,
0x0,
0x0,
0x10,
},
Package(0x4) {
0x0002ffff,
0x0,
0x0,
0x15,
},
Package(0x4) {
0x0002ffff,
0x1,
0x0,
0x16,
},
Package(0x4) {
0x0008ffff,
0x0,
0x0,
0x14,
},
})
Method(_PRT) {
If(\GPIC) {
Return(APRT)
}
Else {
Return(LPRT)
}
}
Name(_PRW, Package(0x2) {
0xb,
0x4,
})
Device(CDBS) {
Name(_ADR, 0x0)
Method(_S3D) {
If(\WMEF) {
Return(0x2)
}
Return(0x3)
}
Name(_SUN, 0x1)
}
}
Device(SATA) {
Name(_ADR, 0x001f0002)
Name(_S3D, 0x3)
Name(RID_, 0x0)
OperationRegion(IDCS, PCI_Config, 0x0, 0x0100)
Field(IDCS, DWordAcc, NoLock, Preserve) {
Offset(0x40),
, 15,
PIDE, 1,
, 15,
SIDE, 1,
Offset(0x92),
Offset(0x93),
, 1,
P1P_, 1
}
}
Device(SMBU) {
Name(_ADR, 0x001f0003)
Name(_S3D, 0x3)
Name(RID_, 0x0)
}
Device(USB0) {
Name(_ADR, 0x001d0000)
Name(_S3D, 0x2)
Name(RID_, 0x0)
OperationRegion(U0CS, PCI_Config, 0xc4, 0x4)
Field(U0CS, DWordAcc, NoLock, Preserve) {
U0EN, 2,
Offset(0x4)
}
Name(_PR0, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR1, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR2, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PRW, Package(0x3) {
0x3,
0x3,
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Method(_PSW, 1) {
If(Arg0) {
Store(0x3, U0EN)
}
Else {
Store(0x0, U0EN)
}
}
}
Device(USB1) {
Name(_ADR, 0x001d0001)
Name(_S3D, 0x2)
Name(RID_, 0x0)
OperationRegion(U1CS, PCI_Config, 0xc4, 0x4)
Field(U1CS, DWordAcc, NoLock, Preserve) {
U1EN, 2,
Offset(0x4)
}
Name(_PRW, Package(0x2) {
0x4,
0x3,
})
Method(_PSW, 1) {
If(Arg0) {
Store(0x3, U1EN)
}
Else {
Store(0x0, U1EN)
}
}
}
Device(USB2) {
Name(_ADR, 0x001d0002)
Name(_S3D, 0x2)
Name(RID_, 0x0)
OperationRegion(U2CS, PCI_Config, 0xc4, 0x4)
Field(U2CS, DWordAcc, NoLock, Preserve) {
U2EN, 2,
Offset(0x4)
}
Name(_PRW, Package(0x2) {
0xc,
0x3,
})
Method(_PSW, 1) {
If(Arg0) {
Store(0x3, U2EN)
}
Else {
Store(0x0, U2EN)
}
}
}
Device(USB3) {
Name(_ADR, 0x001a0000)
Name(_S3D, 0x2)
Name(RID_, 0x0)
OperationRegion(U3CS, PCI_Config, 0xc4, 0x4)
Field(U3CS, DWordAcc, NoLock, Preserve) {
U3EN, 2,
Offset(0x4)
}
Name(_PR0, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR1, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR2, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PRW, Package(0x3) {
0xe,
0x3,
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Method(_PSW, 1) {
If(Arg0) {
Store(0x3, U3EN)
}
Else {
Store(0x0, U3EN)
}
}
Device(URTH) {
Name(_ADR, 0x0)
Device(UPEX) {
Name(_ADR, 0x2)
}
}
}
Device(USB4) {
Name(_ADR, 0x001a0001)
Name(_S3D, 0x2)
Name(RID_, 0x0)
OperationRegion(U4CS, PCI_Config, 0xc4, 0x4)
Field(U4CS, DWordAcc, NoLock, Preserve) {
U4EN, 2,
Offset(0x4)
}
Name(_PRW, Package(0x2) {
0x5,
0x3,
})
Method(_PSW, 1) {
If(Arg0) {
Store(0x3, U4EN)
}
Else {
Store(0x0, U4EN)
}
}
}
Device(USB5) {
Name(_ADR, 0x001a0002)
Name(_S3D, 0x2)
Name(RID_, 0x0)
OperationRegion(U5CS, PCI_Config, 0xc4, 0x4)
Field(U5CS, DWordAcc, NoLock, Preserve) {
U5EN, 2,
Offset(0x4)
}
Name(_PR0, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR1, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR2, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PRW, Package(0x3) {
0x20,
0x3,
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Method(_PSW, 1) {
If(Arg0) {
Store(0x3, U5EN)
}
Else {
Store(0x0, U5EN)
}
}
Device(URTH) {
Name(_ADR, 0x0)
Device(UPDK) {
Name(_ADR, 0x1)
}
}
}
Device(EHC0) {
Name(_ADR, 0x001d0007)
Name(_S3D, 0x3)
Name(RID_, 0x0)
OperationRegion(U7CS, PCI_Config, 0x60, 0x4)
Field(U7CS, DWordAcc, NoLock, Preserve) {
Offset(0x2),
PWKI, 1,
PWUC, 6,
Offset(0x4)
}
Name(_PR0, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR1, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR2, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Method(_INI) {
Store(0x1, PWKI)
Store(0xf, PWUC)
}
Name(_PRW, Package(0x3) {
0xd,
0x3,
\_SB_.PCI0.LPC_.EC__.PUBS,
})
}
Device(EHC1) {
Name(_ADR, 0x001a0007)
Name(_S3D, 0x3)
Name(RID_, 0x0)
OperationRegion(U8CS, PCI_Config, 0x60, 0x4)
Field(U8CS, DWordAcc, NoLock, Preserve) {
Offset(0x2),
PWKI, 1,
PWUC, 4,
Offset(0x4)
}
Name(_PR0, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR1, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Name(_PR2, Package(0x1) {
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Method(_INI) {
Store(0x1, PWKI)
Store(0xf, PWUC)
}
Name(_PRW, Package(0x3) {
0xd,
0x3,
\_SB_.PCI0.LPC_.EC__.PUBS,
})
Device(URTH) {
Name(_ADR, 0x0)
Device(UPEX) {
Name(_ADR, 0x2)
}
Device(UPDK) {
Name(_ADR, 0x5)
}
}
}
Device(HDEF) {
Name(_ADR, 0x001b0000)
Name(_S3D, 0x3)
Name(RID_, 0x0)
Name(_PRW, Package(0x2) {
0xd,
0x4,
})
Method(_PSW, 1) {
Noop
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Name(BDEV, 0xff)
Name(BSTS, 0x0)
Name(BHKE, 0x0)
Method(_Q2C) {
If(LEqual(BSTS, 0x0)) {
Store(BGID(0x0), BDEV)
NBRE(BDEV)
}
}
Method(_Q2D) {
Store(BGID(0x0), BDEV)
NBIN(BDEV)
}
Method(_Q38) {
Store(BGID(0x0), Local0)
If(LEqual(Local0, 0xf)) {
BDIS()
NBEJ(BDEV)
Store(Local0, BDEV)
If(LEqual(\BIDE, 0x3)) {
Store(0x0, \_SB_.PCI0.SATA.PRIM.GTME)
Store(0x0, \_SB_.PCI0.SATA.SCND.GTME)
}
}
Else {
If(HPBU) {
}
Else {
Store(Local0, BDEV)
NBIN(Local0)
}
}
}
Name(ODEJ, 0x0)
Method(_Q44) {
If(\_SB_.PCI0.LPC_.CSON) {
Store(0x1, ODEJ)
Store(BGID(0x0), BDEV)
NBIN(BDEV)
Store(0x0, ODEJ)
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x3006)
}
}
Method(NBRE, 1) {
If(LLess(Arg0, 0xc)) {
If(LEqual(\BIDE, 0x3)) {
Notify(\_SB_.PCI0.SATA.SCND.MSTR, 0x3)
}
Else {
Notify(\_SB_.PCI0.SATA.PRT1, 0x3)
}
}
If(LEqual(Arg0, 0x10)) {
If(LOr(HPAC, HB0A)) {
If(\WNTF) {
Notify(\_SB_.PCI0.LPC_.EC__.BAT1, 0x3)
}
}
Else {
LED_(0x4, 0xc0)
BEEP(0xf)
Store(0x2, BSTS)
}
}
}
Method(NBEJ, 1) {
If(LEqual(BSTS, 0x0)) {
If(LLess(Arg0, 0xc)) {
If(LEqual(\BIDE, 0x3)) {
Notify(\_SB_.PCI0.SATA.SCND.MSTR, 0x1)
}
Else {
Notify(\_SB_.PCI0.SATA.PRT1, 0x1)
}
}
If(LEqual(Arg0, 0x10)) {
If(\WNTF) {
Notify(\_SB_.PCI0.LPC_.EC__.BAT1, 0x1)
}
Else {
Notify(\_SB_.PCI0.LPC_.EC__.BAT1, 0x81)
}
}
}
LED_(0x4, 0x0)
BEEP(0x0)
Store(0x0, BSTS)
}
Method(NBIN, 1) {
If(LLess(Arg0, 0xc)) {
BEN_(0x1)
LED_(0x4, 0x80)
If(LEqual(\BIDE, 0x3)) {
Notify(\_SB_.PCI0.SATA.SCND.MSTR, 0x1)
}
Else {
Notify(\_SB_.PCI0.SATA.PRT1, 0x1)
}
}
If(LEqual(Arg0, 0x10)) {
LED_(0x4, 0x80)
If(\WNTF) {
Store(0x1, \_SB_.PCI0.LPC_.EC__.BAT1.XB1S)
Notify(\_SB_.PCI0.LPC_.EC__.BAT1, 0x1)
}
Else {
Notify(\_SB_.PCI0.LPC_.EC__.BAT1, 0x81)
}
}
BEEP(0x0)
Store(0x0, BSTS)
}
Method(BEJ0, 1) {
If(Arg0) {
BDIS()
LED_(0x4, 0x0)
\BHDP(0x1, 0x0)
Store(0x1, BSTS)
If(BHKE) {
Store(0x0, BHKE)
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x3003)
}
}
Else {
LED_(0x4, 0x80)
Store(0x0, BSTS)
}
}
Method(BEJ3, 1) {
If(Arg0) {
BDIS()
Store(0x1, BSTS)
}
Else {
Store(0x0, BSTS)
}
}
Method(BPTS, 1) {
Store(0x1, HDBM)
If(LNot(LEqual(BSTS, 0x0))) {
Store(0xf, BDEV)
Store(0x0, BSTS)
}
Store(0x0, BHKE)
Store(0x1, Local0)
If(LNot(LEqual(BDEV, 0xf))) {
}
Else {
Store(0x0, Local0)
}
If(LNot(LLess(Arg0, 0x4))) {
Store(0x0, Local0)
}
If(Local0) {
BUWK(0x1)
}
Else {
LED_(0x4, 0x0)
BUWK(0x0)
}
}
Method(BWAK, 1) {
BUWK(0x0)
Store(BGID(0x0), Local0)
If(LEqual(BSTS, 0x0)) {
If(LNot(LEqual(Local0, BDEV))) {
NBEJ(BDEV)
Store(Local0, BDEV)
NBIN(Local0)
}
Else {
If(LOr(\LFDC, LNot(LEqual(BDEV, 0xd)))) {
If(LNot(LEqual(Local0, 0xf))) {
LED_(0x4, 0x80)
If(HPBU) {
Or(ShiftLeft(Arg0, 0x8), 0x2005, BHKE)
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(BHKE)
If(LNot(LGreater(Arg0, 0x2))) {
}
Else {
NBRE(Local0)
}
}
}
}
}
}
}
Method(BDIS) {
If(LNot(\_SB_.PCI0.LPC_.CSON)) {
Store(0x1, \_SB_.PCI0.LPC_.CSON)
Store(0xf, \IDET)
}
}
Method(BPON, 1) {
If(\_SB_.PCI0.LPC_.CSON) {
Store(0x0, \_SB_.PCI0.LPC_.CSON)
}
}
Method(BEN_, 1) {
If(\_SB_.PCI0.LPC_.CSON) {
BPON(Arg0)
If(LAnd(Arg0, LEqual(ODEJ, 0x1))) {
Store(0x9, \_SB_.PCI0.LPC_.EC__.HANT)
}
If(Arg0) {
\BYRS()
IRDY()
}
}
}
Method(BSTA, 1) {
If(\_SB_.PCI0.LPC_.CSON) {
Return(0x0)
}
BINI()
If(LEqual(Arg0, 0x1)) {
Return(LLess(BDEV, 0xc))
}
Return(0x0)
}
Method(BUWK, 1) {
If(\H8DR) {
If(Arg0) {
Store(0x1, \_SB_.PCI0.LPC_.EC__.HWBU)
}
Else {
Store(0x0, \_SB_.PCI0.LPC_.EC__.HWBU)
}
}
Else {
If(Arg0) {
\MBEC(0x32, 0xff, 0x80)
}
Else {
\MBEC(0x32, 0x7f, 0x0)
}
}
}
Method(BINI) {
If(LEqual(BDEV, 0xff)) {
Store(BGID(0x0), BDEV)
}
}
Method(BGID, 1) {
If(Arg0) {
Store(0xff, Local0)
}
Else {
If(\H8DR) {
Store(HPBU, Local1)
Store(HBID, Local2)
}
Else {
Store(RBEC(0x47), Local2)
And(Local2, 0x1, Local1)
ShiftRight(Local2, 0x2, Local2)
}
If(Local2) {
Store(0xf, Local0)
}
Else {
If(HDUB) {
Store(0xf, Local0)
}
Else {
If(LOr(LEqual(\IDET, 0x3), LEqual(\IDET, 0x6))) {
Store(\IDET, Local0)
}
Else {
Store(0x7, Local0)
}
}
}
If(LEqual(Local0, 0xf)) {
If(\H8DR) {
If(HB1A) {
Store(0x10, Local0)
}
}
Else {
If(And(\RBEC(0x39), 0x80)) {
Store(0x10, Local0)
}
}
}
If(LEqual(Local0, 0xf)) {
}
}
If(LAnd(\HDUB, LLess(Local0, 0xc))) {
Store(0xf, Local0)
}
Return(Local0)
}
Method(IRDY) {
Store(0x01f4, Local0)
Store(0x3c, Local1)
Store(Zero, Local2)
While(Local1) {
Sleep(Local0)
Store(\BCHK(), Local3)
If(LNot(Local3)) {
Break
}
If(LEqual(Local3, 0x2)) {
Store(One, Local2)
Break
}
Decrement(Local1)
}
Return(Local2)
}
}
Scope(\_SB_.PCI0.LPC_.EC__.BAT1) {
Method(_EJ0, 1) {
Store(0x0, B1ST)
Store(0x0, XB1S)
\_SB_.PCI0.LPC_.EC__.BEJ0(Arg0)
}
}
Scope(\_SB_) {
Device(GDCK) {
Name(_HID, 0x79004d24)
Name(_CID, 0x150cd041)
Name(DOID, 0xffffffff)
Name(DIDB, 0xffffffff)
Name(FLAG, 0x0)
Name(WUCT, 0x0)
Name(DHKE, 0x0)
Event(DEVT)
Method(DSTA) {
UDCK()
UDKT()
If(LOr(LEqual(GDID(), 0x4c004d24), LEqual(GDID(),
0x44004d24))) {
Store(0xf, Local0)
}
Else {
If(LNot(\W98F)) {
Store(0x0, Local0)
}
Else {
Store(0xc, Local0)
}
}
Return(Local0)
}
Method(DPTS, 1) {
If(LAnd(LNot(LLess(Arg0, 0x1)), LNot(LGreater(Arg0, 0x4)))) {
Store(0x0, DHKE)
If(DFLG(0x2, 0x2)) {
Store(0x0, DOID)
DFLG(0x1, 0x2)
}
If(LOr(LEqual(GDID(), 0x4c004d24), LEqual(GDID(),
0x44004d24))) {
\_SB_.PCI0.LPC_.EC__.DDWK(0x1)
}
Store(GDID(), DIDB)
DFLG(0x0, 0x0100)
}
}
Name(DDTM, 0x0)
Method(DWAK, 1) {
Store(0xffffffff, DOID)
If(LAnd(LNot(LLess(Arg0, 0x1)), LNot(LGreater(Arg0, 0x4)))) {
Store(0x0, DDTM)
If(LOr(LEqual(DIDB, 0x4c004d24), LEqual(DIDB,
0x44004d24))) {
Store(0x1, DDTM)
}
If(DDTM) {
Store(0x0, DDTM)
If(LEqual(GDID(), 0x4c004d24)) {
Store(0x1, DDTM)
}
If(LEqual(GDID(), 0x44004d24)) {
Store(0x1, DDTM)
}
If(DDTM) {
If(LEqual(Arg0, 0x4)) {
If(And(\_SB_.PCI0.LPC_.WAKR, 0x8)) {
DGPE()
}
}
ShiftLeft(Arg0, 0x8, DHKE)
If(LNot(DFLG(0x2, 0x8))) {
}
}
Else {
Store(0x1, \_SB_.PCI0.LPC_.BUSD)
\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x1)
\_SB_.PCI0.LPC_.EC__.DATT(0x1, 0x0)
Notify(\_SB_.GDCK, 0x0)
\DHDP(0x0)
}
}
Else {
Store(0x0, DDTM)
If(LEqual(GDID(), 0x4c004d24)) {
Store(0x1, DDTM)
}
If(LEqual(GDID(), 0x44004d24)) {
Store(0x1, DDTM)
}
If(DDTM) {
WDCK()
}
Else {
Noop
}
}
DFLG(0x1, 0x0100)
DFLG(0x1, 0x2)
DFLG(0x1, 0x10)
DFLG(0x1, 0x20)
Store(0x1, \_SB_.PCI0.LPC_.DSCI)
}
}
Method(DGPE) {
DFLG(0x0, 0x8)
}
Method(DDCK, 1) {
If(Arg0) {
\_SB_.PCI0.LPC_.EC__.LED_(0x8, 0x0)
\_SB_.PCI0.LPC_.EC__.LED_(0x9, 0x80)
\_SB_.PCI0.LPC_.LCON(0x1)
BCON(0x1)
\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x0)
\_SB_.PCI0.LPC_.EC__.DATT(0x1, 0x1)
}
Else {
\_SB_.PCI0.LPC_.EC__.LED_(0x8, 0x80)
\_SB_.PCI0.LPC_.EC__.LED_(0x9, 0xc0)
DFLG(0x0, 0x2)
\DHDP(0x0)
BCON(0x0)
\_SB_.PCI0.LPC_.LCON(0x0)
\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x1)
\_SB_.PCI0.LPC_.EC__.DATT(0x1, 0x0)
}
Return(0x1)
}
Method(DEJ0, 1) {
If(Arg0) {
Store(0x0, DOID)
UDKI()
}
DFLG(0x1, 0x2)
\_SB_.PCI0.LPC_.EC__.LED_(0x8, 0x0)
\_SB_.PCI0.LPC_.EC__.LED_(0x9, 0x0)
}
Method(DEJ3, 1) {
If(Arg0) {
DFLG(0x0, 0x10)
If(LEqual(\SPS_, 0x3)) {
PDE3()
}
}
}
Method(DEJ4, 1) {
If(Arg0) {
DFLG(0x0, 0x20)
}
}
Method(PDE3) {
Noop
}
Name(HIDE, 0x0)
Method(WDCK) {
If(LOr(DFLG(0x2, 0x10), DFLG(0x2, 0x20))) {
DDCK(0x1)
If(\W98F) {
DFLG(0x0, 0x0200)
Store(0x5, HIDE)
}
}
Else {
Notify(\_SB_.GDCK, 0x0)
}
}
Method(UDCK) {
If(DFLG(0x2, 0x8)) {
If(LNot(DFLG(0x2, 0x0100))) {
\_SB_.PCI0.LPC_.EC__.LED_(0x8, 0x80)
\_SB_.PCI0.LPC_.EC__.LED_(0x9, 0xc0)
Or(DHKE, 0x2004, DHKE)
If(LEqual(\UOPT, 0x0)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(DHKE)
}
If(\W98F) {
Notify(\_SB_.GDCK, 0x1)
}
Else {
Notify(\_SB_.GDCK, 0x3)
}
DFLG(0x1, 0x8)
}
}
}
Method(UDKI) {
If(\WNTF) {
Store(0x1, WUCT)
}
Else {
Store(0x5, WUCT)
}
}
Method(UDKT) {
If(And(DHKE, 0x2004)) {
If(LEqual(GDID(), 0x0)) {
If(LNot(Decrement(WUCT))) {
Store(0x0, DHKE)
If(LEqual(\UOPT, 0x0)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x4003)
}
}
}
}
}
Method(GDID) {
If(LEqual(DOID, 0xffffffff)) {
Store(0xffffffff, \_SB_.GDCK.G_ID)
Store(RDID(), DOID)
}
Return(DOID)
}
Method(RDID) {
Store(0x0, Local0)
If(\_SB_.PCI0.LPC_.EPWG) {
If(LEqual(\_SB_.GDCK.GGID(), 0x0)) {
If(\H8DR) {
If(\_SB_.PCI0.LPC_.EC__.EEPR()) {
Store(\_SB_.PCI0.LPC_.EC__.HDEP, Local0)
}
Else {
Store(0x4c004d24, Local0)
}
}
Else {
Store(\DCKI, Local0)
}
}
If(LEqual(\_SB_.GDCK.GGID(), 0x1)) {
Store(0x44004d24, Local0)
}
}
Return(Local0)
}
Method(RDSR) {
Store(0x0, Local0)
If(LNot(LEqual(GDID(), 0x0))) {
If(LEqual(\_SB_.GDCK.GGID(), 0x0)) {
If(\H8DR) {
If(\_SB_.PCI0.LPC_.EC__.EEPR()) {
Store(\_SB_.PCI0.LPC_.EC__.HDEN, Local0)
}
}
Else {
Store(\DCKS, Local0)
}
}
If(LEqual(\_SB_.GDCK.GGID(), 0x1)) {
Store(0x0, Local0)
}
}
Return(Local0)
}
Method(BCON, 1) {
Store(\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x2), Local0)
\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x1)
Or(\_SB_.PCI0.LPC_.SERQ, 0x40, \_SB_.PCI0.LPC_.SERQ)
And(\_SB_.PCI0.LPC_.SERQ, 0x7f, \_SB_.PCI0.LPC_.SERQ)
Store(\_SB_.PCI0.LPC_.CLKR, Local1)
If(Arg0) {
Store(0x0, \_SB_.PCI0.LPC_.CLKR)
Store(0x1, \_SB_.PCI0.LPC_.BUSC)
}
Else {
Store(0x1, \_SB_.PCI0.LPC_.BUSD)
}
Store(Local1, \_SB_.PCI0.LPC_.CLKR)
Or(\_SB_.PCI0.LPC_.SERQ, 0xc0, \_SB_.PCI0.LPC_.SERQ)
And(\_SB_.PCI0.LPC_.SERQ, 0xbf, \_SB_.PCI0.LPC_.SERQ)
If(LEqual(Local0, 0x0)) {
\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x0)
}
}
Method(DFLG, 2) {
If(LEqual(Arg0, 0x0)) {
Or(FLAG, Arg1, FLAG)
}
If(LEqual(Arg0, 0x1)) {
And(FLAG, Not(Arg1), FLAG)
}
If(And(FLAG, Arg1)) {
Return(0x1)
}
Else {
Return(0x0)
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q37) {
If(\_SB_.PCI0.LPC_.EPWG) {
Store(0x07d0, Local0)
Sleep(0x64)
Store(0xffffffff, \_SB_.GDCK.G_ID)
While(LAnd(LEqual(\_SB_.GDCK.GGID(), 0x7), Local0)) {
Sleep(0x1)
Store(0xffffffff, \_SB_.GDCK.G_ID)
Decrement(Local0)
}
Store(0xffffffff, \_SB_.GDCK.DOID)
If(LOr(LEqual(\_SB_.GDCK.GDID(), 0x4c004d24),
LEqual(\_SB_.GDCK.GDID(), 0x44004d24))) {
If(HPAC) {
Store(0x0, \_SB_.PCI0.LPC_.DRST)
Notify(\_SB_.GDCK, 0x0)
}
}
}
}
Method(EEPR) {
Store(0x0, Local0)
If(\H8DR) {
Store(0x0, HDEO)
Store(0xa, HDEC)
While(LNot(And(HDEC, 0xc0))) {
Sleep(0x1)
}
If(LNot(And(HDEC, 0x40))) {
Store(0x0, Local1)
Store(HDEN, Local2)
Store(0x4, Local3)
While(Local3) {
Add(Local1, And(Local2, 0xff), Local1)
ShiftRight(Local2, 0x8, Local2)
Decrement(Local3)
}
Store(HDEP, Local2)
Store(0x4, Local3)
While(Local3) {
Add(Local1, And(Local2, 0xff), Local1)
ShiftRight(Local2, 0x8, Local2)
Decrement(Local3)
}
Add(Local1, HDEM, Local1)
Add(Local1, HDES, Local1)
If(LNot(And(Local1, 0xff))) {
Store(0x1, Local0)
}
}
}
Return(Local0)
}
}
Method(_STA) {
Store(GGID(), Local0)
If(LNot(\W98F)) {
Store(0x0, Local1)
}
Else {
Store(0xc, Local1)
}
If(LOr(LEqual(Local0, 0x0), LEqual(Local0, 0x1))) {
Store(\_SB_.GDCK.DSTA(), Local1)
}
If(LEqual(Local0, 0x2)) {
Noop
}
Return(Local1)
}
Method(_INI) {
\_SB_.PCI0.LPC_.EC__.DATT(0x2, 0x1)
If(LEqual(GGID(), 0x7)) {
\_SB_.PCI0.LPC_.EC__.DATT(0x1, 0x0)
\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x1)
}
Else {
\_SB_.PCI0.LPC_.EC__.DATT(0x1, 0x1)
\_SB_.PCI0.LPC_.EC__.DATT(0x0, 0x0)
}
\_SB_.PCI0.LPC_.EC__.DDWK(0x0)
Store(0x1, \_SB_.PCI0.LPC_.DSCI)
}
Method(_DCK, 1) {
Store(0x0, Local0)
If(LOr(LEqual(GGID(), 0x0), LEqual(GGID(), 0x1))) {
Store(\_SB_.GDCK.DDCK(Arg0), Local0)
}
If(\VIGD) {
\_SB_.PCI0.VID_.VDSW(Arg0)
}
Else {
If(\WVIS) {
\_SB_.PCI0.VID_.GDCS(Arg0)
}
}
Return(Local0)
}
Name(UDOP, 0x0)
Method(_EJ0, 1) {
If(LEqual(GGID(), 0x0)) {
\_SB_.GDCK.DEJ0(Arg0)
}
If(LEqual(GGID(), 0x1)) {
\_SB_.GDCK.DEJ0(Arg0)
}
}
Method(XEJ3, 1) {
If(LEqual(GGID(), 0x0)) {
\_SB_.GDCK.DEJ3(Arg0)
}
If(LEqual(GGID(), 0x1)) {
\_SB_.GDCK.DEJ3(Arg0)
}
}
Method(_EJ4, 1) {
If(LEqual(GGID(), 0x0)) {
\_SB_.GDCK.DEJ4(Arg0)
}
If(LEqual(GGID(), 0x1)) {
\_SB_.GDCK.DEJ4(Arg0)
}
}
Method(PEJ3) {
If(LEqual(GGID(), 0x0)) {
\_SB_.GDCK.PDE3()
}
If(LEqual(GGID(), 0x1)) {
\_SB_.GDCK.PDE3()
}
}
Method(_BDN) {
Store(0x0, Local0)
If(LEqual(GGID(), 0x0)) {
Store(\_SB_.GDCK.RDID(), Local0)
}
If(LEqual(GGID(), 0x1)) {
Store(\_SB_.GDCK.RDID(), Local0)
}
Return(Local0)
}
Method(_UID) {
Store(0x0, Local0)
If(LEqual(GGID(), 0x0)) {
Store(\_SB_.GDCK.RDSR(), Local0)
}
If(LEqual(GGID(), 0x1)) {
Store(\_SB_.GDCK.RDSR(), Local0)
}
Return(Local0)
}
Method(GPTS, 1) {
\_SB_.GDCK.DPTS(Arg0)
\_SB_.PCI0.LPC_.EC__.RPTS(Arg0)
}
Method(GWAK, 1) {
\_SB_.GDCK.DWAK(Arg0)
\_SB_.PCI0.LPC_.EC__.RWAK(Arg0)
\_SB_.PCI0.LPC_.EC__.DDWK(0x0)
}
Method(GGPE) {
If(LEqual(GGID(), 0x0)) {
\_SB_.GDCK.DGPE()
}
If(LEqual(GGID(), 0x1)) {
\_SB_.GDCK.DGPE()
}
}
Name(G_ID, 0xffffffff)
Method(GGID) {
Store(G_ID, Local0)
If(LEqual(Local0, 0xffffffff)) {
Store(\_SB_.PCI0.LPC_.DKI0, Local0)
Store(\_SB_.PCI0.LPC_.DKI1, Local1)
Store(\_SB_.PCI0.LPC_.DKI2, Local2)
Or(Local0, ShiftLeft(Local1, 0x1), Local0)
Or(Local0, ShiftLeft(Local2, 0x2), Local0)
Store(Local0, G_ID)
}
Return(Local0)
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q50) {
Store(\_SB_.GDCK.GGID(), Local0)
If(LOr(LEqual(Local0, 0x0), LEqual(Local0, 0x1))) {
\_SB_.PCI0.LPC_.EC__.LED_(0x8, 0x80)
\_SB_.PCI0.LPC_.EC__.LED_(0x9, 0xc0)
If(\W98F) {
Notify(\_SB_.GDCK, 0x1)
}
Else {
Notify(\_SB_.GDCK, 0x3)
}
}
}
Method(DATT, 2) {
Store(0x0, Local0)
If(LEqual(Arg0, 0x0)) {
If(LEqual(Arg1, 0x1)) {
If(\H8DR) {
Or(HAM6, 0x80, HAM6)
}
Else {
\MBEC(0x16, 0xff, 0x80)
}
Store(0x1, Local0)
}
If(LEqual(Arg1, 0x0)) {
If(\H8DR) {
And(HAM6, 0x7f, HAM6)
}
Else {
\MBEC(0x16, 0x7f, 0x0)
}
}
If(LEqual(Arg1, 0x2)) {
If(\H8DR) {
If(And(HAM6, 0x80)) {
Store(0x1, Local0)
}
}
Else {
If(And(\RBEC(0x16), 0x80)) {
Store(0x1, Local0)
}
}
}
}
If(LEqual(Arg0, 0x1)) {
If(LEqual(Arg1, 0x1)) {
If(\H8DR) {
Or(HAMA, 0x1, HAMA)
}
Else {
\MBEC(0x1a, 0xff, 0x1)
}
Store(0x1, Local0)
}
If(LEqual(Arg1, 0x0)) {
If(\H8DR) {
And(HAMA, 0xfe, HAMA)
}
Else {
\MBEC(0x1a, 0xfe, 0x0)
}
}
If(LEqual(Arg1, 0x2)) {
If(\H8DR) {
If(And(HAMA, 0x1)) {
Store(0x1, Local0)
}
}
Else {
If(And(\RBEC(0x1a), 0x1)) {
Store(0x1, Local0)
}
}
}
}
If(LEqual(Arg0, 0x2)) {
If(LEqual(Arg1, 0x1)) {
If(\H8DR) {
Or(HAMB, 0x1, HAMB)
}
Else {
\MBEC(0x1b, 0xff, 0x1)
}
Store(0x1, Local0)
}
If(LEqual(Arg1, 0x0)) {
If(\H8DR) {
And(HAMB, 0xfe, HAMB)
}
Else {
\MBEC(0x1a, 0xfe, 0x0)
}
}
If(LEqual(Arg1, 0x2)) {
If(\H8DR) {
If(And(HAMB, 0x1)) {
Store(0x1, Local0)
}
}
Else {
If(And(\RBEC(0x1b), 0x1)) {
Store(0x1, Local0)
}
}
}
}
Return(Local0)
}
Method(DDWK, 1) {
Store(0x0, Local0)
If(LEqual(Arg0, 0x1)) {
If(\H8DR) {
Store(One, HWDK)
}
Else {
\MBEC(0x32, 0xff, 0x8)
}
Store(0x1, Local0)
}
If(LEqual(Arg0, 0x0)) {
If(\H8DR) {
Store(Zero, HWDK)
}
Else {
\MBEC(0x32, 0xf7, 0x0)
}
}
If(LEqual(Arg0, 0x2)) {
If(\H8DR) {
If(HWDK) {
Store(0x1, Local0)
}
}
Else {
If(And(\RBEC(0x32), 0x8)) {
Store(0x1, Local0)
}
}
}
Return(Local0)
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(RPTS, 1) {
Noop
}
Method(RWAK, 1) {
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q43) {
\UCMS(0x18)
}
Method(SAUM, 1) {
If(LGreater(Arg0, 0x3)) {
Noop
}
Else {
If(\H8DR) {
Store(Arg0, HAUM)
}
Else {
\MBEC(0x3, 0x9f, ShiftLeft(Arg0, 0x5))
}
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Name(BRTB, Package(0x3) {
Package(0x10) {
0x17,
0x33,
0x3e,
0x48,
0x52,
0x5b,
0x64,
0x6d,
0x75,
0x7d,
0x85,
0x8c,
0x9b,
0xb2,
0xcf,
0xff,
},
Package(0x10) {
0x17,
0x33,
0x3e,
0x48,
0x52,
0x5b,
0x64,
0x6d,
0x75,
0x7d,
0x85,
0x8c,
0x9b,
0xb2,
0xcf,
0xff,
},
Package(0x5) {
0x64,
0xdc,
0x33,
0x17,
0x33,
},
})
Name(BRTF, 0x1)
Method(_Q14) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x8000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1010)
}
If(\NBCF) {
If(\WVIS) {
If(LEqual(\VHYB(0x3, 0x0), 0x3)) {
Notify(\_SB_.PCI0.VID_.LCD0, 0x86)
}
}
If(\VIGD) {
Notify(\_SB_.PCI0.VID_.LCD0, 0x86)
}
Else {
Notify(\_SB_.PCI0.AGP_.VID_.LCD0, 0x86)
}
}
Else {
If(\VIGD) {
Store(\UCMS(0x15), \BRLV)
Store(\BRLV, Local0)
If(LNot(LEqual(Local0, 0xf))) {
Increment(Local0)
Store(Local0, \BRLV)
}
\UCMS(0x16)
\_SB_.PCI0.LPC_.EC__.BRNS()
}
Else {
\UCMS(0x4)
}
}
}
Method(_Q15) {
If(\VCDB) {
Store(0x0, \VCDB)
Store(\UCMS(0x15), \BRLV)
\UCMS(0x16)
\_SB_.PCI0.LPC_.EC__.BRNS()
Return(0x0)
}
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x00010000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1011)
}
If(\NBCF) {
If(\WVIS) {
If(LEqual(\VHYB(0x3, 0x0), 0x3)) {
Notify(\_SB_.PCI0.VID_.LCD0, 0x87)
}
}
If(\VIGD) {
Notify(\_SB_.PCI0.VID_.LCD0, 0x87)
}
Else {
Notify(\_SB_.PCI0.AGP_.VID_.LCD0, 0x87)
}
}
Else {
If(\VIGD) {
Store(\UCMS(0x15), \BRLV)
Store(\BRLV, Local0)
If(Local0) {
Decrement(Local0)
Store(Local0, \BRLV)
}
\UCMS(0x16)
\_SB_.PCI0.LPC_.EC__.BRNS()
}
Else {
\UCMS(0x5)
}
}
}
Method(BRNS) {
Store(\BRLV, Local0)
If(\_SB_.PCI0.VID_.DRDY) {
If(LEqual(0x0, Local0)) {
Store(DerefOf(Index(DerefOf(Index(BRTB, 0x2)), 0x3)),
Local1)
Store(DerefOf(Index(DerefOf(Index(BRTB, 0x2)), 0x0)),
Local2)
}
Else {
Store(DerefOf(Index(DerefOf(Index(BRTB, 0x2)), 0x4)),
Local1)
Store(DerefOf(Index(DerefOf(Index(BRTB, 0x2)), 0x1)),
Local2)
}
Or(Local1, ShiftLeft(Local2, 0x9), Local2)
\_SB_.PCI0.VID_.AINT(0x3, Local2)
Store(0x0, Local1)
If(\BRHB) {
Store(0x1, Local1)
}
Store(DerefOf(Index(DerefOf(Index(BRTB, Local1)), Local0)),
Local2)
\_SB_.PCI0.VID_.AINT(0x1, Local2)
}
Else {
\UCMS(0x12)
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q19) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x00800000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1018)
}
\UCMS(0x3)
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q63) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.MHKK(0x00080000)) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x1014)
}
\UCMS(0xb)
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q70) {
FNST()
}
Method(_Q72) {
FNST()
}
Method(_Q73) {
FNST()
}
Method(FNST) {
If(\H8DR) {
Store(HFNS, Local0)
Store(HFNE, Local1)
}
Else {
And(\RBEC(0xe), 0x3, Local0)
And(\RBEC(0x0), 0x8, Local1)
}
If(Local1) {
If(LEqual(Local0, 0x0)) {
\UCMS(0x11)
}
If(LEqual(Local0, 0x1)) {
\UCMS(0xf)
}
If(LEqual(Local0, 0x2)) {
\UCMS(0x10)
}
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__.HKEY) {
Name(WGFL, 0x0)
Method(WLSW) {
Return(\_SB_.PCI0.LPC_.EC__.GSTS)
}
Method(GWAN) {
Store(0x0, Local0)
If(And(WGFL, 0x1)) {
Or(Local0, 0x1, Local0)
}
If(And(WGFL, 0x8)) {
Return(Local0)
}
If(WPWS()) {
Or(Local0, 0x2, Local0)
}
If(And(WGFL, 0x4)) {
Or(Local0, 0x4, Local0)
}
Return(Local0)
}
Method(SWAN, 1) {
If(And(Arg0, 0x2)) {
WPWC(0x1)
}
Else {
WPWC(0x0)
}
If(And(Arg0, 0x4)) {
Or(WGFL, 0x4, WGFL)
\WGSV(0x2)
}
Else {
And(WGFL, Not(0x4), WGFL)
\WGSV(0x3)
}
}
Method(GBDC) {
Store(0x0, Local0)
If(And(WGFL, 0x10)) {
Or(Local0, 0x1, Local0)
}
If(And(WGFL, 0x80)) {
Return(Local0)
}
If(BPWS()) {
Or(Local0, 0x2, Local0)
}
If(And(WGFL, 0x40)) {
Or(Local0, 0x4, Local0)
}
Return(Local0)
}
Method(SBDC, 1) {
If(And(Arg0, 0x2)) {
BPWC(0x1)
}
Else {
BPWC(0x0)
}
If(And(Arg0, 0x4)) {
Or(WGFL, 0x40, WGFL)
\BLTH(0x2)
}
Else {
And(WGFL, Not(0x40), WGFL)
\BLTH(0x3)
}
}
Method(GUWB) {
Store(0x0, Local0)
If(And(WGFL, 0x0100)) {
Or(Local0, 0x1, Local0)
}
If(UPWS()) {
Or(Local0, 0x2, Local0)
}
Return(Local0)
}
Method(SUWB, 1) {
If(And(Arg0, 0x2)) {
UPWC(0x1)
}
Else {
UPWC(0x0)
}
}
Method(WPWS) {
If(\H8DR) {
Store(\_SB_.PCI0.LPC_.EC__.DCWW, Local0)
}
Else {
Store(ShiftRight(And(\RBEC(0x3a), 0x40), 0x6), Local0)
}
Return(Local0)
}
Method(WTGL) {
If(And(WGFL, 0x1)) {
WPWC(LNot(WPWS()))
}
}
Method(WPWC, 1) {
If(LAnd(Arg0, LAnd(And(WGFL, 0x1), LNot(And(WGFL, 0x8))))) {
If(\H8DR) {
Store(One, \_SB_.PCI0.LPC_.EC__.DCWW)
}
Else {
\MBEC(0x3a, 0xff, 0x40)
}
Or(WGFL, 0x2, WGFL)
}
Else {
If(\H8DR) {
Store(Zero, \_SB_.PCI0.LPC_.EC__.DCWW)
}
Else {
\MBEC(0x3a, 0xbf, 0x0)
}
And(WGFL, Not(0x2), WGFL)
}
}
Method(BPWS) {
If(\H8DR) {
Store(\_SB_.PCI0.LPC_.EC__.DCBD, Local0)
}
Else {
Store(ShiftRight(And(\RBEC(0x3a), 0x10), 0x4), Local0)
}
Return(Local0)
}
Method(BTGL) {
If(And(WGFL, 0x10)) {
BPWC(LNot(BPWS()))
}
}
Method(BPWC, 1) {
If(LAnd(Arg0, LAnd(And(WGFL, 0x10), LNot(And(WGFL, 0x80))))) {
If(\H8DR) {
Store(One, \_SB_.PCI0.LPC_.EC__.DCBD)
}
Else {
\MBEC(0x3a, 0xff, 0x10)
}
Or(WGFL, 0x20, WGFL)
}
Else {
If(\H8DR) {
Store(Zero, \_SB_.PCI0.LPC_.EC__.DCBD)
}
Else {
\MBEC(0x3a, 0xef, 0x0)
}
And(WGFL, Not(0x20), WGFL)
}
}
Method(UPWS) {
If(\H8DR) {
Store(\_SB_.PCI0.LPC_.EC__.HUWB, Local0)
}
Else {
Store(ShiftRight(And(\RBEC(0x31), 0x4), 0x2), Local0)
}
Return(Local0)
}
Method(UPWC, 1) {
If(LAnd(Arg0, And(WGFL, 0x0100))) {
If(\H8DR) {
Store(One, \_SB_.PCI0.LPC_.EC__.HUWB)
}
Else {
\MBEC(0x31, 0xff, 0x4)
}
Or(WGFL, 0x0200, WGFL)
}
Else {
If(\H8DR) {
Store(Zero, \_SB_.PCI0.LPC_.EC__.HUWB)
}
Else {
\MBEC(0x31, 0xfb, 0x0)
}
And(WGFL, Not(0x0200), WGFL)
}
\UCMS(0x1b)
}
Method(WGIN) {
Store(0x0, WGFL)
Store(\WGSV(0x1), WGFL)
If(WPWS()) {
Or(WGFL, 0x2, WGFL)
}
If(BPWS()) {
Or(WGFL, 0x20, WGFL)
}
If(UPWS()) {
Or(WGFL, 0x0200, WGFL)
}
}
Method(WGPS, 1) {
If(LNot(LLess(Arg0, 0x4))) {
\BLTH(0x5)
}
If(LNot(And(WGFL, 0x4))) {
WPWC(0x0)
}
If(LNot(And(WGFL, 0x40))) {
BPWC(0x0)
}
}
Method(WGWK, 1) {
If(And(WGFL, 0x20)) {
BPWC(0x1)
}
If(And(WGFL, 0x2)) {
WPWC(0x1)
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q41) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x7000)
}
}
Device(WMI1) {
Name(_HID, 0x140cd041)
Name(_UID, 0x1)
Name(_WDG, Buffer(0xa0) {0xe, 0x23, 0xf5, 0x51, 0x77, 0x96, 0xcd,
0x46, 0xa1, 0xcf, 0xc0, 0xb2, 0x3e, 0xe3, 0x4d, 0xb7, 0x41, 0x30, 0x5a, 0x5,
0x64, 0x9a, 0x47, 0x98, 0xf5, 0x33, 0x33, 0x4e, 0xa7, 0x7, 0x8e, 0x25, 0x1e,
0xbb, 0xc3, 0xa1, 0x41, 0x31, 0x1, 0x6, 0xef, 0x54, 0x4b, 0x6a, 0xed, 0xa5,
0x33, 0x4d, 0x94, 0x55, 0xb0, 0xd9, 0xb4, 0x8d, 0xf4, 0xb3, 0x41, 0x32, 0x1,
0x6, 0xb6, 0xeb, 0xf1, 0x74, 0x7a, 0x92, 0x7d, 0x4c, 0x95, 0xdf, 0x69, 0x8e,
0x21, 0xe8, 0xe, 0xb5, 0x41, 0x33, 0x1, 0x6, 0xff, 0x4, 0xef, 0x7e, 0x28,
0x43, 0x7c, 0x44, 0xb5, 0xbb, 0xd4, 0x49, 0x92, 0x5d, 0x53, 0x8d, 0x41, 0x34,
0x1, 0x6, 0x9e, 0x15, 0xdb, 0x8a, 0x32, 0x1e, 0x5c, 0x45, 0xbc, 0x93, 0x30,
0x8a, 0x7e, 0xd9, 0x82, 0x46, 0x41, 0x35, 0x1, 0x1, 0xfd, 0xd9, 0x51, 0x26,
0x1c, 0x91, 0x69, 0x4b, 0xb9, 0x4e, 0xd0, 0xde, 0xd5, 0x96, 0x3b, 0xd7, 0x41,
0x36, 0x1, 0x6, 0x21, 0x12, 0x90, 0x5, 0x66, 0xd5, 0xd1, 0x11, 0xb2, 0xf0,
0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10, 0x42, 0x41, 0x1, 0x0 })
Name(RETN, Package(0x5) {
"Success",
"Not Supported",
"Invalid Parameter",
"Access Denied",
"System Busy",
})
Name(ITEM, Package(0x5c) {
Package(0x2) {
0x0,
"WakeOnLAN",
},
Package(0x2) {
0x0,
"FlashOverLAN",
},
Package(0x2) {
0x1,
"EthernetLANOptionROM",
},
Package(0x2) {
0x0,
"HarddriveDMA",
},
Package(0x2) {
0x4,
"WirelessLANandWiMAXRadios",
},
Package(0x2) {
0x18,
"SerialPort",
},
Package(0x2) {
0x10,
"SerialPortIO",
},
Package(0x2) {
0x6,
"SerialPortIRQ",
},
Package(0x2) {
0x18,
"ParallelPort",
},
Package(0x2) {
0x9,
"ParallelPortMode",
},
Package(0x2) {
0x11,
"ParallelPortIO",
},
Package(0x2) {
0x7,
"ParallelPortIRQ",
},
Package(0x2) {
0x8,
"ParallelPortDMA",
},
Package(0x2) {
0x12,
"PCIINTA",
},
Package(0x2) {
0x12,
"PCIINTB",
},
Package(0x2) {
0x12,
"PCIINTC",
},
Package(0x2) {
0x12,
"PCIINTD",
},
Package(0x2) {
0x12,
"PCIINTE",
},
Package(0x2) {
0x12,
"PCIINTF",
},
Package(0x2) {
0x12,
"PCIINTG",
},
Package(0x2) {
0x12,
"PCIINTH",
},
Package(0x2) {
0x0,
"USBBIOSSupport",
},
Package(0x2) {
0x0,
"AlwaysOnUSB",
},
Package(0x2) {
0x19,
"TrackPoint",
},
Package(0x2) {
0x2,
"TouchPad",
},
Package(0x2) {
0x0,
"FnKeyLock",
},
Package(0x2) {
0xa,
"ThinkPadNumLock",
},
Package(0x2) {
0x17,
"PowerOnNumLock",
},
Package(0x2) {
0xb,
"PrimaryVideo",
},
Package(0x2) {
0xc,
"BootDisplayDevice",
},
Package(0x2) {
0x5,
"LCDBrightness",
},
Package(0x2) {
0x0,
"TimerWakeWithBattery",
},
Package(0x2) {
0x0,
"SpeedStep",
},
Package(0x2) {
0x13,
"SpeedStepModeAC",
},
Package(0x2) {
0x13,
"SpeedStepModeBattery",
},
Package(0x2) {
0x14,
"AdaptiveThermalManagementAC",
},
Package(0x2) {
0x14,
"AdaptiveThermalManagementBattery",
},
Package(0x2) {
0xd,
"CDROMSpeed",
},
Package(0x2) {
0x2,
"CPUPowerManagement",
},
Package(0x2) {
0x2,
"PCIPowerManagement",
},
Package(0x2) {
0x0,
"PowerControlBeep",
},
Package(0x2) {
0x0,
"LowBatteryAlarm",
},
Package(0x2) {
0x0,
"PasswordBeep",
},
Package(0x2) {
0x0,
"KeyboardBeep",
},
Package(0x2) {
0x1,
"ExtendedMemoryTest",
},
Package(0x2) {
0xe,
"SATAControllerMode",
},
Package(0x2) {
0x0,
"CoreMultiProcessing",
},
Package(0x2) {
0x0,
"VirtualizationTechnology",
},
Package(0x2) {
0x1,
"LegacyDevicesOnMiniDock",
},
Package(0x2) {
0x0,
"Passphrase",
},
Package(0x2) {
0x0,
"LockBIOSSetting",
},
Package(0x2) {
0x16,
"MinimumPasswordLength",
},
Package(0x2) {
0x0,
"BIOSPasswordAtUnattendedBoot",
},
Package(0x2) {
0x0,
"PasswordResetService",
},
Package(0x2) {
0x0,
"FingerprintPredesktopAuthentication",
},
Package(0x2) {
0xf,
"FingerprintReaderPriority",
},
Package(0x2) {
0x5,
"FingerprintSecurityMode",
},
Package(0x2) {
0x3,
"SecurityChip",
},
Package(0x2) {
0x0,
"BIOSUpdateByEndUsers",
},
Package(0x2) {
0x1,
"DataExecutionPrevention",
},
Package(0x2) {
0x1,
"EthernetLANAccess",
},
Package(0x2) {
0x1,
"WirelessLANAccess",
},
Package(0x2) {
0x1,
"WirelessWANAccess",
},
Package(0x2) {
0x1,
"BluetoothAccess",
},
Package(0x2) {
0x1,
"WirelessUSBAccess",
},
Package(0x2) {
0x1,
"ModemAccess",
},
Package(0x2) {
0x1,
"USBPortAccess",
},
Package(0x2) {
0x1,
"IEEE1394Access",
},
Package(0x2) {
0x1,
"SerialPortAccess",
},
Package(0x2) {
0x1,
"ParallelPortAccess",
},
Package(0x2) {
0x1,
"CardBusSlotAccess",
},
Package(0x2) {
0x1,
"ExpressCardAccess",
},
Package(0x2) {
0x1,
"PCIExpressSlotAccess",
},
Package(0x2) {
0x1,
"UltrabayAccess",
},
Package(0x2) {
0x1,
"MemoryCardSlotAccess",
},
Package(0x2) {
0x1,
"SmartCardSlotAccess",
},
Package(0x2) {
0x1,
"IntegratedCameraAccess",
},
Package(0x2) {
0x1,
"MicrophoneAccess",
},
Package(0x2) {
0x15,
"BootMode",
},
Package(0x2) {
0x1,
"StartupOptionKeys",
},
Package(0x2) {
0x1,
"BootDeviceListF12Option",
},
Package(0x2) {
0x64,
"BootOrder",
},
Package(0x2) {
0x64,
"NetworkBootOrder",
},
Package(0x2) {
0x1,
"WiMAXAccess",
},
Package(0x2) {
0x1a,
"GraphicsDevice",
},
Package(0x2) {
0x0,
"TXTFeature",
},
Package(0x2) {
0x0,
"VTdFeature",
},
Package(0x2) {
0x0,
"AMTControl",
},
Package(0x2) {
0x0,
"FingerprintPasswordAuthentication",
},
Package(0x2) {
0x1,
"FingerprintReaderAccess",
},
Package(0x2) {
0x0,
"OsDetectionForSwitchableGraphics",
},
Package(0x2) {
0x1,
"ComputraceModuleActivation",
},
})
Name(VSEL, Package(0x1b) {
Package(0x2) {
"Disable",
"Enable",
},
Package(0x2) {
"Enable",
"Disable",
},
Package(0x2) {
"Disable",
"Automatic",
},
Package(0x4) {
"Inactive",
"Disable",
"Active",
"",
},
Package(0x4) {
"On",
"",
"Off",
"",
},
Package(0x2) {
"Normal",
"High",
},
Package(0x4) {
"3",
"4",
"5",
"7",
},
Package(0x2) {
"5",
"7",
},
Package(0x3) {
"0",
"1",
"3",
},
Package(0x3) {
"OutputOnly",
"BiDirectional",
"ECP",
},
Package(0x2) {
"Independent",
"Synchronized",
},
Package(0x2) {
"PCIExpress",
"Internal",
},
Package(0x11) {
"",
"LCD",
"VGA",
"",
"DisplayPort",
"",
"",
"",
"DVI",
"",
"",
"",
"",
"",
"",
"",
"",
},
Package(0x4) {
"",
"High",
"Normal",
"Silent",
},
Package(0x2) {
"Compatibility",
"AHCI",
},
Package(0x2) {
"External",
"InternalOnly",
},
Package(0x4) {
"3F8",
"2F8",
"3E8",
"2E8",
},
Package(0x3) {
"378",
"278",
"3BC",
},
Package(0x10) {
"Disable",
"AutoSelect",
"",
"3",
"4",
"5",
"6",
"7",
"",
"9",
"10",
"11",
"",
"",
"",
"",
},
Package(0x4) {
"MaximumPerformance",
"BatteryOptimized",
"MaximumBattery",
"Automatic",
},
Package(0x4) {
"",
"",
"MaximizePerformance",
"Balanced",
},
Package(0x2) {
"Quick",
"Diagnostics",
},
Package(0xd) {
"Disable",
"",
"",
"",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
},
Package(0x4) {
"Auto",
"On",
"Off",
"",
},
Package(0x4) {
"",
"Enable",
"Disable",
"",
},
Package(0x4) {
"Disable",
"",
"Automatic",
"",
},
Package(0x4) {
"",
"IntegratedGfx",
"DiscreteGfx",
"SwitchableGfx",
},
})
Name(VLST, Package(0xf) {
"HDD0",
"HDD1",
"HDD2",
"PCILAN",
"ATAPICD0",
"ATAPICD1",
"",
"USBFDD",
"USBCD",
"USBHDD",
"",
"",
"",
"",
"NODEV",
})
Name(PENC, Package(0x2) {
"ascii",
"scancode",
})
Name(PKBD, Package(0x3) {
"us",
"fr",
"gr",
})
Name(PTYP, Package(0x8) {
"pap",
"pop",
"uhdp1",
"mhdp1",
"uhdp2",
"mhdp2",
"uhdp3",
"mhdp3",
})
Mutex(MWMI, 7)
Name(PCFG, Buffer(0x18) { })
Name(IBUF, Buffer(0x0100) { })
Name(ILEN, 0x0)
Name(PSTR, Buffer(0x81) { })
Method(WQA0, 1) {
Acquire(MWMI, 0xffff)
If(LNot(LEqual(\WMIS(0x0, Arg0), 0x0))) {
Release(MWMI)
Return("")
}
Store(DerefOf(Index(ITEM, \WITM)), Local0)
Store(DerefOf(Index(Local0, 0x0)), Local1)
Store(DerefOf(Index(Local0, 0x1)), Local2)
If(LLess(Local1, 0x64)) {
Concatenate(Local2, ",", Local6)
Store(DerefOf(Index(VSEL, Local1)), Local3)
Concatenate(Local6, DerefOf(Index(Local3, \WSEL)), Local7)
}
Else {
Store(SizeOf(VLST), Local3)
If(LNot(LGreater(\WLS0, Local3))) {
Concatenate(Local2, ",", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS0)), Local2)
}
If(LNot(LGreater(\WLS1, Local3))) {
Concatenate(Local2, ":", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS1)), Local2)
}
If(LNot(LGreater(\WLS2, Local3))) {
Concatenate(Local2, ":", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS2)), Local2)
}
If(LNot(LGreater(\WLS3, Local3))) {
Concatenate(Local2, ":", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS3)), Local2)
}
If(LNot(LGreater(\WLS4, Local3))) {
Concatenate(Local2, ":", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS4)), Local2)
}
If(LNot(LGreater(\WLS5, Local3))) {
Concatenate(Local2, ":", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS5)), Local2)
}
If(LNot(LGreater(\WLS6, Local3))) {
Concatenate(Local2, ":", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS6)), Local2)
}
If(LNot(LGreater(\WLS7, Local3))) {
Concatenate(Local2, ":", Local7)
Concatenate(Local7, DerefOf(Index(VLST, \WLS7)), Local2)
}
Store(Local2, Local7)
}
Release(MWMI)
Return(Local7)
}
Method(WMA1, 3) {
Acquire(MWMI, 0xffff)
If(LEqual(SizeOf(Arg2), 0x0)) {
Store(0x2, Local0)
}
Else {
Store(CARG(Arg2), Local0)
If(LEqual(Local0, 0x0)) {
Store(WSET(), Local0)
}
}
Release(MWMI)
Return(DerefOf(Index(RETN, Local0)))
}
Method(WMA2, 3) {
Acquire(MWMI, 0xffff)
Store(CARG(Arg2), Local0)
If(LEqual(Local0, 0x0)) {
If(LNot(LEqual(ILEN, 0x0))) {
Store(CPAS(IBUF, 0x0), Local0)
}
If(LEqual(Local0, 0x0)) {
Store(\WMIS(0x2, 0x0), Local0)
}
}
Release(MWMI)
Return(DerefOf(Index(RETN, Local0)))
}
Method(WMA3, 3) {
Acquire(MWMI, 0xffff)
Store(CARG(Arg2), Local0)
If(LEqual(Local0, 0x0)) {
If(LNot(LEqual(ILEN, 0x0))) {
Store(CPAS(IBUF, 0x0), Local0)
}
If(LEqual(Local0, 0x0)) {
Store(\WMIS(0x3, 0x0), Local0)
}
}
Release(MWMI)
Return(DerefOf(Index(RETN, Local0)))
}
Method(WMA4, 3) {
Acquire(MWMI, 0xffff)
Store(CARG(Arg2), Local0)
If(LEqual(Local0, 0x0)) {
If(LNot(LEqual(ILEN, 0x0))) {
Store(CPAS(IBUF, 0x0), Local0)
}
If(LEqual(Local0, 0x0)) {
Store(\WMIS(0x4, 0x0), Local0)
}
}
Release(MWMI)
Return(DerefOf(Index(RETN, Local0)))
}
Method(WQA5, 1) {
Acquire(MWMI, 0xffff)
Store(\WMIS(0x5, 0x0), Local0)
Store(\WSPM, Index(PCFG, 0x0))
Store(\WSPS, Index(PCFG, 0x4))
Store(\WSMN, Index(PCFG, 0x8))
Store(\WSMX, Index(PCFG, 0xc))
Store(\WSEN, Index(PCFG, 0x10))
Store(\WSKB, Index(PCFG, 0x14))
Release(MWMI)
Return(PCFG)
}
Method(WMA6, 3) {
Acquire(MWMI, 0xffff)
If(LEqual(SizeOf(Arg2), 0x0)) {
Store(0x2, Local0)
}
Else {
Store(CARG(Arg2), Local0)
If(LEqual(Local0, 0x0)) {
If(LNot(LEqual(ILEN, 0x0))) {
Store(SPAS(IBUF), Local0)
}
If(LEqual(Local0, 0x0)) {
Store(\WMIS(0x6, 0x0), Local0)
}
}
}
Release(MWMI)
Return(DerefOf(Index(RETN, Local0)))
}
Method(CARG, 1) {
Store(SizeOf(Arg0), Local0)
If(LEqual(Local0, 0x0)) {
Store(0x0, IBUF)
Store(0x0, ILEN)
Return(0x0)
}
If(LNot(LEqual(ObjectType(Arg0), 0x2))) {
Return(0x2)
}
If(LNot(LLess(Local0, 0xff))) {
Return(0x2)
}
Store(Arg0, IBUF)
Decrement(Local0)
Store(DerefOf(Index(IBUF, Local0)), Local1)
If(LOr(LEqual(Local1, 0x3b), LEqual(Local1, 0x2a))) {
Store(0x0, Index(IBUF, Local0))
Store(Local0, ILEN)
}
Else {
Store(SizeOf(Arg0), ILEN)
}
Return(0x0)
}
Method(SCMP, 3) {
Store(SizeOf(Arg0), Local0)
If(LEqual(Local0, 0x0)) {
Return(0x0)
}
Increment(Local0)
Name(STR1, Buffer(Local0) { })
Store(Arg0, STR1)
Decrement(Local0)
Store(0x0, Local1)
Store(Arg2, Local2)
While(LLess(Local1, Local0)) {
Store(DerefOf(Index(STR1, Local1)), Local3)
Store(DerefOf(Index(Arg1, Local2)), Local4)
If(LNot(LEqual(Local3, Local4))) {
Return(0x0)
}
Increment(Local1)
Increment(Local2)
}
Store(DerefOf(Index(Arg1, Local2)), Local4)
If(LEqual(Local4, 0x0)) {
Return(0x1)
}
If(LOr(LEqual(Local4, 0x2c), LEqual(Local4, 0x3a))) {
Return(0x1)
}
Return(0x0)
}
Method(GITM, 1) {
Store(0x0, Local0)
Store(SizeOf(ITEM), Local1)
While(LLess(Local0, Local1)) {
Store(DerefOf(Index(DerefOf(Index(ITEM, Local0)), 0x1)),
Local3)
If(SCMP(Local3, Arg0, 0x0)) {
Return(Local0)
}
Increment(Local0)
}
Return(Ones)
}
Method(GSEL, 3) {
Store(0x0, Local0)
Store(SizeOf(Arg0), Local1)
While(LLess(Local0, Local1)) {
Store(DerefOf(Index(Arg0, Local0)), Local2)
If(SCMP(Local2, Arg1, Arg2)) {
Return(Local0)
}
Increment(Local0)
}
Return(Ones)
}
Method(SLEN, 2) {
Store(DerefOf(Index(Arg0, Arg1)), Local0)
Return(SizeOf(Local0))
}
Method(CLRP) {
Store(0x0, \WPAS)
Store(0x0, \WPNW)
}
Method(GPAS, 2) {
Store(Arg1, Local0)
Store(0x0, Local1)
While(LNot(LGreater(Local1, 0x80))) {
Store(DerefOf(Index(Arg0, Local0)), Local2)
If(LOr(LEqual(Local2, 0x2c), LEqual(Local2, 0x0))) {
Store(0x0, Index(PSTR, Local1))
Return(Local1)
}
Store(Local2, Index(PSTR, Local1))
Increment(Local0)
Increment(Local1)
}
Store(0x0, Index(PSTR, Local1))
Return(Ones)
}
Method(CPAS, 2) {
CLRP()
Store(Arg1, Local0)
Store(GPAS(Arg0, Local0), Local1)
If(LEqual(Local1, Ones)) {
Return(0x2)
}
If(LEqual(Local1, 0x0)) {
Return(0x2)
}
Store(PSTR, \WPAS)
Add(Local0, Local1, Local0)
Increment(Local0)
Store(GSEL(PENC, Arg0, Local0), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WENC)
If(LEqual(Local6, 0x0)) {
Add(Local0, SLEN(PENC, 0x0), Local0)
If(LNot(LEqual(DerefOf(Index(Arg0, Local0)), 0x2c))) {
Return(0x2)
}
Increment(Local0)
Store(GSEL(PKBD, Arg0, Local0), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WKBD)
}
Return(0x0)
}
Method(SPAS, 1) {
CLRP()
Store(GSEL(PTYP, Arg0, 0x0), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WPTY)
Store(SLEN(PTYP, Local6), Local0)
If(LNot(LEqual(DerefOf(Index(Arg0, Local0)), 0x2c))) {
Return(0x2)
}
Increment(Local0)
Store(GPAS(Arg0, Local0), Local1)
If(LOr(LEqual(Local1, Ones), LEqual(Local1, 0x0))) {
Return(0x2)
}
Store(PSTR, \WPAS)
Add(Local0, Local1, Local0)
If(LNot(LEqual(DerefOf(Index(Arg0, Local0)), 0x2c))) {
Return(0x2)
}
Increment(Local0)
Store(GPAS(Arg0, Local0), Local1)
If(LEqual(Local1, Ones)) {
Return(0x2)
}
If(LEqual(Local1, 0x0)) {
Store(0x0, PSTR)
}
Store(PSTR, \WPNW)
Add(Local0, Local1, Local0)
Increment(Local0)
Store(GSEL(PENC, Arg0, Local0), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WENC)
If(LEqual(Local6, 0x0)) {
Add(Local0, SLEN(PENC, 0x0), Local0)
If(LNot(LEqual(DerefOf(Index(Arg0, Local0)), 0x2c))) {
Return(0x2)
}
Increment(Local0)
Store(GSEL(PKBD, Arg0, Local0), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WKBD)
}
Return(0x0)
}
Method(WSET) {
Store(ILEN, Local0)
Increment(Local0)
Store(GITM(IBUF), Local1)
If(LEqual(Local1, Ones)) {
Return(0x2)
}
Store(Local1, \WITM)
Store(DerefOf(Index(ITEM, Local1)), Local3)
Store(DerefOf(Index(Local3, 0x1)), Local4)
Store(SizeOf(Local4), Local2)
Increment(Local2)
Store(DerefOf(Index(Local3, 0x0)), Local4)
If(LLess(Local4, 0x64)) {
Store(DerefOf(Index(VSEL, Local4)), Local5)
Store(GSEL(Local5, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WSEL)
Add(Local2, SLEN(Local5, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
Else {
Store(0x3f, \WLS0)
Store(0x3f, \WLS1)
Store(0x3f, \WLS2)
Store(0x3f, \WLS3)
Store(0x3f, \WLS4)
Store(0x3f, \WLS5)
Store(0x3f, \WLS6)
Store(0x3f, \WLS7)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS0)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
If(LAnd(LLess(Local2, Local0), LEqual(Local4, 0x3a))) {
Increment(Local2)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS1)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
If(LAnd(LLess(Local2, Local0), LEqual(Local4, 0x3a))) {
Increment(Local2)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS2)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
If(LAnd(LLess(Local2, Local0), LEqual(Local4, 0x3a))) {
Increment(Local2)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS3)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
If(LAnd(LLess(Local2, Local0), LEqual(Local4, 0x3a))) {
Increment(Local2)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS4)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
If(LAnd(LLess(Local2, Local0), LEqual(Local4, 0x3a))) {
Increment(Local2)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS5)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
If(LAnd(LLess(Local2, Local0), LEqual(Local4, 0x3a))) {
Increment(Local2)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS6)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
If(LAnd(LLess(Local2, Local0), LEqual(Local4, 0x3a))) {
Increment(Local2)
Store(GSEL(VLST, IBUF, Local2), Local6)
If(LEqual(Local6, Ones)) {
Return(0x2)
}
Store(Local6, \WLS7)
Add(Local2, SLEN(VLST, Local6), Local2)
Store(DerefOf(Index(IBUF, Local2)), Local4)
}
}
If(LAnd(LEqual(Local4, 0x2c), LLess(Local2, Local0))) {
Increment(Local2)
Store(CPAS(IBUF, Local2), Local0)
If(LNot(LEqual(Local0, 0x0))) {
Return(Local0)
}
}
Return(\WMIS(0x1, 0x0))
}
Name(WQBA, Buffer(0x07c1) {0x46, 0x4f, 0x4d, 0x42, 0x1, 0x0, 0x0, 0x0,
0xb1, 0x7, 0x0, 0x0, 0x5a, 0x30, 0x0, 0x0, 0x44, 0x53, 0x0, 0x1, 0x1a, 0x7d,
0xda, 0x54, 0x98, 0x51, 0x97, 0x0, 0x1, 0x6, 0x18, 0x42, 0x10, 0x11, 0x10,
0xa, 0xd, 0x21, 0x2, 0xb, 0x83, 0x50, 0x4c, 0x18, 0x14, 0xa0, 0x45, 0x41,
0xc8, 0x5, 0x14, 0x95, 0x2, 0x21, 0xc3, 0x2, 0x14, 0xb, 0x70, 0x2e, 0x40,
0xba, 0x0, 0xe5, 0x28, 0x72, 0xc, 0x22, 0x2, 0xf7, 0xef, 0xf, 0x31, 0xe,
0x88, 0x14, 0x40, 0x48, 0xe6, 0x28, 0x28, 0x81, 0x85, 0xc0, 0x11, 0x82, 0x7e,
0x5, 0x20, 0x74, 0x88, 0x26, 0x83, 0x2, 0x9c, 0x22, 0x8, 0xd2, 0x96, 0x5,
0xe8, 0x16, 0xe0, 0x5b, 0x80, 0x76, 0x8, 0xa1, 0x55, 0x28, 0xc0, 0xa4, 0x0,
0x9f, 0x60, 0xb2, 0x28, 0x40, 0x36, 0x98, 0x6c, 0xc3, 0x91, 0x61, 0x30, 0x91,
0x63, 0x40, 0x89, 0x19, 0x3, 0x4a, 0xe7, 0x14, 0x64, 0x13, 0x58, 0xd0, 0x85,
0xa2, 0x68, 0x1a, 0x51, 0x12, 0x1c, 0xd4, 0x31, 0x44, 0x8, 0x5e, 0xae, 0x0,
0xc9, 0x13, 0x90, 0xe6, 0x79, 0xc9, 0xfa, 0x20, 0x34, 0x4, 0x36, 0x2, 0x1e,
0x45, 0x2, 0x8, 0x8b, 0xb1, 0x4c, 0x89, 0x87, 0x41, 0x79, 0x0, 0x91, 0x9c,
0xa1, 0xa2, 0x80, 0xed, 0x75, 0x22, 0x1a, 0xd6, 0x71, 0x32, 0x49, 0x70, 0xa8,
0x51, 0x5a, 0xa2, 0x0, 0xf3, 0x23, 0xd3, 0x44, 0x8e, 0xad, 0xe9, 0x11, 0xb,
0x92, 0x49, 0x1b, 0xa, 0x6a, 0xe8, 0x9e, 0xd6, 0x49, 0x79, 0xa2, 0x11, 0xf,
0xca, 0x30, 0x9, 0x3c, 0xa, 0x86, 0xc6, 0x9, 0xca, 0x82, 0x90, 0x83, 0x81,
0xa2, 0x0, 0x4f, 0xc2, 0x73, 0x2c, 0x5e, 0x80, 0xf0, 0x19, 0x93, 0xa3, 0x40,
0x8c, 0x4, 0x3e, 0x12, 0x78, 0x34, 0xc7, 0x8c, 0x5, 0xa, 0x17, 0xf0, 0x7c,
0x8e, 0x21, 0x72, 0xdc, 0x43, 0x8d, 0x71, 0x14, 0x91, 0x13, 0xbc, 0x3, 0x44,
0x31, 0x5a, 0x41, 0xf3, 0x16, 0x62, 0xb0, 0x68, 0x6, 0xeb, 0x19, 0x9c, 0xc,
0x3a, 0xc1, 0xff, 0xff, 0x8, 0xb8, 0xc, 0x8, 0x79, 0x14, 0x60, 0x75, 0x50,
0x9a, 0x86, 0x9, 0xba, 0x17, 0x60, 0x4d, 0x80, 0x31, 0x1, 0x1a, 0x31, 0xa4,
0x4c, 0x80, 0xb3, 0xfb, 0x82, 0x66, 0xd4, 0x96, 0x0, 0x73, 0x2, 0xb4, 0x9,
0xf0, 0x86, 0x20, 0x94, 0xf3, 0x8c, 0x72, 0x2c, 0xa7, 0x18, 0xe5, 0x61, 0x20,
0xe6, 0xcb, 0x40, 0xd0, 0x28, 0x31, 0x62, 0x9e, 0x4b, 0x5c, 0xc3, 0x46, 0x88,
0x11, 0xf2, 0x14, 0x2, 0xc5, 0x6d, 0x7f, 0x10, 0x64, 0xd0, 0xb8, 0xd1, 0xfb,
0xb4, 0x70, 0x56, 0x27, 0x70, 0xf4, 0x4f, 0xa, 0x26, 0xf0, 0x94, 0xf, 0xec,
0xd9, 0xe0, 0x4, 0x8e, 0x35, 0x6a, 0x8c, 0x53, 0x49, 0xe0, 0xd8, 0xf, 0x8,
0x69, 0x0, 0x51, 0x24, 0x78, 0xd4, 0x69, 0xc1, 0xe7, 0x2, 0xf, 0xed, 0xa0,
0x3d, 0xc7, 0x13, 0x8, 0x72, 0x8, 0x47, 0xf0, 0xc4, 0xf0, 0x40, 0xe0, 0x31,
0xb0, 0x9b, 0x82, 0x8f, 0x0, 0x3e, 0x21, 0xe0, 0x5d, 0x3, 0xea, 0x6a, 0xf0,
0x60, 0xc0, 0x6, 0x1d, 0xe, 0x33, 0x5e, 0xf, 0x3f, 0xdc, 0x9, 0x9c, 0xe4,
0x3, 0x6, 0x3f, 0x6c, 0x78, 0x70, 0xb8, 0x79, 0x9e, 0xcc, 0x91, 0x95, 0x2a,
0xc0, 0xec, 0xe1, 0x40, 0x7, 0x9, 0x9f, 0x36, 0xd8, 0x19, 0x0, 0x23, 0x7f,
0x10, 0xa8, 0x91, 0x19, 0xda, 0xe3, 0x7e, 0xe9, 0x30, 0xe4, 0x73, 0xc2, 0x61,
0x31, 0xb1, 0xa7, 0xe, 0x3a, 0x1e, 0xf0, 0x5f, 0x46, 0x9e, 0x33, 0x3c, 0x7d,
0xcf, 0xd7, 0x4, 0xc3, 0xe, 0x1c, 0x3d, 0x10, 0x43, 0x3f, 0x6c, 0x1c, 0xc6,
0x69, 0xf8, 0xfe, 0xe1, 0xf3, 0x2, 0x8c, 0x53, 0x80, 0x47, 0xee, 0xff, 0xff,
0x21, 0xc5, 0xa7, 0x9, 0x7e, 0xb4, 0xf0, 0x69, 0x82, 0x5d, 0xf, 0x4e, 0xe3,
0x39, 0xc0, 0xc3, 0x39, 0x2b, 0x1f, 0x26, 0xc0, 0x76, 0x3f, 0x61, 0x23, 0x7a,
0xb7, 0xf0, 0x68, 0xb0, 0xa7, 0x0, 0xf0, 0x9d, 0x5f, 0xc0, 0x79, 0xd7, 0x60,
0x83, 0x85, 0x71, 0x7e, 0x1, 0x1e, 0x27, 0x4, 0xf, 0x81, 0x1f, 0x24, 0x3c,
0x4, 0x3e, 0x80, 0xe7, 0x8f, 0x33, 0xb4, 0xd2, 0x79, 0x21, 0x7, 0x6, 0xef,
0x9c, 0x3, 0x63, 0x14, 0x3c, 0xcf, 0x63, 0xc3, 0x4, 0xa, 0xf2, 0x1a, 0x50,
0xa8, 0x67, 0x1, 0x85, 0xf1, 0xa9, 0x6, 0x78, 0xfd, 0xff, 0x4f, 0x35, 0xc0,
0xe5, 0x70, 0x80, 0x3b, 0x39, 0xc0, 0xbd, 0x17, 0xb0, 0x8b, 0xc3, 0x73, 0xd,
0x5c, 0xd1, 0xe7, 0x1a, 0xa8, 0xf7, 0x96, 0xe2, 0xc6, 0xa8, 0x6b, 0x4c, 0x90,
0x47, 0x81, 0x47, 0x9a, 0x28, 0xcf, 0x33, 0xef, 0x32, 0x11, 0x9e, 0x6d, 0x7c,
0xad, 0xf1, 0x14, 0xe2, 0xf8, 0x5a, 0x63, 0xc4, 0x97, 0x89, 0x77, 0x1b, 0xe3,
0x1e, 0xdc, 0x63, 0xcd, 0x43, 0x8e, 0x41, 0x8e, 0x26, 0xc2, 0x8b, 0x41, 0xc0,
0xc7, 0x1b, 0x1f, 0x6b, 0xc0, 0x2b, 0xe6, 0x85, 0x22, 0xb, 0xc7, 0x1a, 0x40,
0xe3, 0xff, 0xff, 0x58, 0x3, 0xdc, 0xb0, 0x1e, 0x50, 0xc0, 0x77, 0x64, 0x60,
0x37, 0x14, 0x78, 0x27, 0x14, 0xc0, 0x4f, 0xe2, 0x17, 0x80, 0x8e, 0x1c, 0x4e,
0xb, 0x22, 0x1b, 0x6f, 0x0, 0x9f, 0x2, 0xa8, 0x1a, 0x20, 0x4d, 0x13, 0x36,
0xc1, 0xf4, 0xe4, 0x82, 0xf7, 0x91, 0xc0, 0xb9, 0x49, 0x94, 0x7c, 0x58, 0x14,
0xce, 0x59, 0xf, 0x22, 0x14, 0xc4, 0x80, 0xe, 0x72, 0x9c, 0x40, 0x9f, 0x51,
0x7c, 0x10, 0x39, 0xd1, 0x27, 0x42, 0xf, 0xca, 0xc3, 0x78, 0x47, 0x61, 0x27,
0x10, 0x1f, 0x26, 0x3c, 0x76, 0x1f, 0x13, 0xf8, 0x3f, 0xc6, 0xb3, 0x31, 0xba,
0xd5, 0x60, 0xe8, 0xff, 0x7f, 0x4e, 0xe1, 0x60, 0x3e, 0x88, 0x70, 0x82, 0x8f,
0x46, 0xdd, 0x24, 0x40, 0xa5, 0xef, 0xa8, 0x0, 0xa, 0x20, 0xdf, 0xb, 0x7c,
0xe, 0x78, 0x36, 0x60, 0x63, 0x78, 0x14, 0x30, 0x9a, 0xd1, 0x79, 0xf8, 0xc9,
0xa2, 0xe2, 0x4e, 0x96, 0x82, 0x78, 0xb2, 0x8e, 0x32, 0x59, 0xf4, 0x4c, 0x7c,
0xaf, 0xf0, 0x8c, 0xde, 0xb4, 0x3c, 0x47, 0x4f, 0xd8, 0xf7, 0x10, 0x58, 0x87,
0x81, 0x90, 0xf, 0x6, 0x9e, 0x86, 0xe1, 0x3c, 0x59, 0xe, 0xe7, 0xc9, 0xf2,
0xb1, 0xf8, 0x1a, 0x2, 0x3e, 0x81, 0xb3, 0x5, 0x39, 0x3c, 0x26, 0xd6, 0xa8,
0xe8, 0x55, 0xc8, 0xc3, 0xe3, 0x97, 0x3, 0xcf, 0xe7, 0x19, 0xe1, 0x28, 0x9f,
0x24, 0x70, 0x18, 0xcf, 0x24, 0x1e, 0xa2, 0x6f, 0x45, 0xb0, 0x26, 0x72, 0xd2,
0xbe, 0x2d, 0x9c, 0x6c, 0xd0, 0xd7, 0x33, 0xcc, 0xad, 0x8, 0xf6, 0xff, 0xff,
0x56, 0x4, 0xe7, 0x82, 0x6, 0x33, 0xd3, 0xbd, 0xa, 0x15, 0xeb, 0x5e, 0x5,
0x88, 0x1d, 0xd6, 0x6b, 0x8f, 0xf, 0x56, 0x70, 0xef, 0x55, 0x70, 0x2f, 0x55,
0xcf, 0xa, 0xc7, 0x18, 0xfe, 0x61, 0x2a, 0xc6, 0x29, 0xbd, 0x76, 0x1a, 0x28,
0x4c, 0x94, 0x78, 0xef, 0x55, 0x1e, 0xe3, 0x7b, 0x15, 0xbb, 0x42, 0x85, 0x89,
0xf5, 0x72, 0x65, 0xd4, 0xd7, 0x89, 0x70, 0x81, 0x82, 0x44, 0x7a, 0xb5, 0x8a,
0x12, 0x39, 0xbe, 0x21, 0xdf, 0xab, 0xc0, 0x2b, 0xe7, 0x5e, 0x5, 0xb2, 0xff,
0xff, 0xbd, 0xa, 0x30, 0x8f, 0xf6, 0x5e, 0x5, 0xc6, 0x6b, 0x3, 0xbb, 0x21,
0xc1, 0x2, 0x7a, 0xb1, 0x2, 0xc, 0x65, 0xbe, 0x58, 0xd1, 0xbc, 0x17, 0x2b,
0xc4, 0xff, 0xff, 0x5c, 0xc2, 0xf4, 0x5c, 0xac, 0xc8, 0x3c, 0xe1, 0xdf, 0xac,
0x0, 0x4e, 0xff, 0xff, 0x6f, 0x56, 0x80, 0xb1, 0x7b, 0x11, 0xe6, 0x68, 0x5,
0x2f, 0xe5, 0xcd, 0x8a, 0xc6, 0x59, 0x86, 0x2, 0x2e, 0x88, 0xc2, 0xf8, 0x66,
0x5, 0x38, 0xba, 0xae, 0xe0, 0x86, 0xc, 0x17, 0x2c, 0x4a, 0x30, 0x1f, 0x42,
0x3c, 0x9d, 0x23, 0x7e, 0x48, 0x78, 0x9, 0x78, 0xcc, 0xf1, 0x80, 0x1f, 0x8,
0x7c, 0xb9, 0x2, 0xd3, 0xff, 0x9f, 0xc0, 0x27, 0xdf, 0xb3, 0x7c, 0x9b, 0x7a,
0xef, 0xe5, 0x7, 0xac, 0xf7, 0x2a, 0x1f, 0x7e, 0x63, 0xbd, 0x33, 0xbc, 0x5c,
0x79, 0x24, 0x51, 0x4e, 0x22, 0x94, 0xef, 0x56, 0xef, 0x55, 0x46, 0x89, 0xf8,
0x42, 0xec, 0x53, 0xb0, 0xa1, 0x8d, 0xf2, 0x54, 0x11, 0xdd, 0x78, 0x2f, 0x57,
0xe0, 0x95, 0x74, 0xb9, 0x2, 0x68, 0x32, 0xfc, 0x97, 0x2b, 0xf0, 0xdd, 0x1c,
0xb0, 0xd7, 0x24, 0x38, 0xff, 0xff, 0x6b, 0x12, 0xbf, 0x5e, 0x1, 0x7e, 0xb2,
0x5f, 0xaf, 0x68, 0xee, 0xeb, 0x15, 0x4a, 0x14, 0x84, 0x14, 0x1, 0x69, 0xa6,
0xe0, 0xb9, 0x5f, 0x1, 0x9c, 0xf8, 0xff, 0xdf, 0xaf, 0x0, 0xcb, 0xe1, 0xee,
0x57, 0x40, 0xef, 0x76, 0x4, 0x5e, 0x94, 0xb7, 0x23, 0xec, 0x15, 0xb, 0x9f,
0xf1, 0x8a, 0x45, 0xc3, 0xac, 0x44, 0xf1, 0xd6, 0x44, 0x61, 0x7c, 0xc5, 0x2,
0x26, 0xff, 0xff, 0x2b, 0x16, 0x30, 0x3b, 0x88, 0xe2, 0x46, 0xd, 0xf7, 0xe2,
0xe4, 0x5b, 0x8f, 0xe7, 0x1b, 0xd1, 0x77, 0x18, 0xcc, 0x9, 0xb, 0xc6, 0xd,
0xb, 0xfe, 0x90, 0x1e, 0x86, 0x7d, 0x92, 0x78, 0xc7, 0xf2, 0xd1, 0xca, 0x20,
0x6f, 0xc0, 0x4f, 0x56, 0xf, 0x56, 0x51, 0x8c, 0x10, 0xf0, 0x78, 0xde, 0x85,
0x7d, 0xb4, 0x7a, 0xd3, 0x32, 0x4a, 0xec, 0x58, 0xbe, 0x50, 0x3d, 0x6b, 0xf9,
0x9a, 0x65, 0x88, 0xb8, 0xf, 0xc4, 0xbe, 0x61, 0x1, 0xb6, 0xff, 0xff, 0x37,
0x2c, 0xc0, 0xd1, 0xc5, 0x81, 0x1f, 0x1c, 0xb0, 0x37, 0x2c, 0xc0, 0xe7, 0x4c,
0xc1, 0x73, 0xc3, 0x2, 0x36, 0xff, 0xff, 0x1b, 0x16, 0xc0, 0xff, 0xff, 0xff,
0xd, 0xb, 0x38, 0xdc, 0xae, 0xb0, 0xb7, 0x2c, 0xec, 0xed, 0x85, 0xac, 0x82,
0x86, 0x5a, 0x89, 0x82, 0x7f, 0xaf, 0xc, 0x43, 0x6f, 0x58, 0x80, 0xa3, 0x71,
0x7b, 0xd4, 0xe0, 0x38, 0x1b, 0x3c, 0x49, 0x60, 0xce, 0xd5, 0xb8, 0xd9, 0x1c,
0x5c, 0xe0, 0x8, 0xbd, 0x83, 0x6a, 0xee, 0xec, 0x92, 0x2, 0xe3, 0x96, 0x5,
0xf7, 0x52, 0xf5, 0xd0, 0x10, 0xe5, 0x20, 0x5e, 0x85, 0x1f, 0xac, 0x1e, 0xa5,
0x8e, 0xec, 0xf1, 0xea, 0x69, 0xd8, 0xc7, 0x2c, 0xdf, 0xb2, 0xc, 0x15, 0xe1,
0x2d, 0x8b, 0x9d, 0x21, 0xe2, 0xc5, 0x8a, 0x12, 0xe2, 0xbd, 0x22, 0xb4, 0xef,
0x5c, 0x6, 0x7f, 0x34, 0x36, 0x6a, 0xd0, 0x97, 0xe3, 0xb7, 0x2c, 0x78, 0xff,
0xff, 0x5b, 0x16, 0x7c, 0x91, 0x7f, 0x15, 0x9d, 0x8, 0x7c, 0xcb, 0x2, 0xf8,
0x11, 0xc, 0x42, 0x4e, 0x6, 0x8e, 0x3e, 0x2f, 0xe0, 0x7, 0xf0, 0x30, 0xe2,
0x21, 0xb1, 0x0, 0x3, 0xa7, 0xf7, 0x25, 0x9f, 0x29, 0xf8, 0x1, 0xc3, 0x67,
0xa, 0x76, 0x3d, 0x88, 0xfe, 0x18, 0xe0, 0x73, 0x9, 0x66, 0x70, 0xe0, 0xbf,
0x56, 0x1c, 0xba, 0x47, 0xf1, 0xfa, 0x60, 0x2, 0xf, 0x8e, 0xff, 0xff, 0x7,
0x7, 0xf7, 0xce, 0x70, 0x44, 0xbe, 0xc3, 0x78, 0x70, 0x60, 0x3b, 0x8, 0x0,
0x87, 0xc1, 0xe1, 0x43, 0xd, 0xe, 0x3d, 0x1e, 0x3, 0x87, 0xf4, 0x79, 0x8c,
0x5d, 0x18, 0x1e, 0x72, 0x3c, 0x34, 0xb0, 0x1, 0x7a, 0x68, 0xc0, 0x72, 0x12,
0x4f, 0x21, 0x87, 0x6, 0x66, 0x9, 0x43, 0x3, 0x4a, 0xf1, 0x86, 0x46, 0xff,
0xff, 0x43, 0xe3, 0x43, 0xf2, 0x61, 0x21, 0xe6, 0x53, 0x4e, 0x84, 0xf7, 0x5,
0x9f, 0xa0, 0x18, 0xfa, 0x6b, 0x8a, 0x6f, 0x17, 0xbe, 0x9, 0xe2, 0xc6, 0x7,
0xae, 0x4b, 0xa7, 0xc7, 0x7, 0x7c, 0x8e, 0x5c, 0x1e, 0x1f, 0xee, 0xe8, 0xe4,
0xf1, 0xc1, 0x70, 0x79, 0x95, 0x21, 0x47, 0x13, 0x1f, 0xad, 0xd8, 0xf0, 0xc0,
0x76, 0xd3, 0xf3, 0xf0, 0x80, 0xcf, 0x75, 0x13, 0x8c, 0x57, 0x48, 0x7e, 0x2d,
0x81, 0x71, 0x82, 0xc2, 0x5f, 0x37, 0xc1, 0xfb, 0xff, 0xbf, 0x6e, 0x2, 0xcf,
0x51, 0x70, 0xad, 0x97, 0x6c, 0x1a, 0xe4, 0x95, 0xa3, 0x58, 0x2f, 0x2, 0xa,
0xe3, 0x33, 0x1b, 0xe0, 0x68, 0xac, 0xcf, 0x6c, 0x60, 0xb9, 0x17, 0xb0, 0x1b,
0x1b, 0xdc, 0xd3, 0x1a, 0xec, 0xbb, 0xc3, 0xc3, 0xd9, 0x63, 0xda, 0xa3, 0xda,
0x3, 0x9a, 0x8f, 0xd8, 0x31, 0xde, 0xd2, 0x82, 0xc4, 0x89, 0xf0, 0x3a, 0xf0,
0xb4, 0xe6, 0x4b, 0x46, 0xbc, 0x40, 0x4f, 0x6b, 0xc6, 0x88, 0xf3, 0xd2, 0x66,
0xc4, 0x57, 0x8a, 0x10, 0xf, 0x6b, 0x3e, 0xb9, 0x19, 0xef, 0x61, 0x22, 0x5c,
0x98, 0x17, 0xb6, 0xa7, 0x35, 0x70, 0xfc, 0xff, 0x4f, 0x6b, 0x70, 0xe4, 0x5c,
0xb1, 0x1, 0x9a, 0x5c, 0xf4, 0x71, 0x87, 0x14, 0xb0, 0x5c, 0x1b, 0xd8, 0x2d,
0x5, 0xde, 0x5, 0x1b, 0x38, 0xff, 0xff, 0x8f, 0x28, 0xe0, 0xcb, 0x72, 0xc1,
0xa6, 0x39, 0x2e, 0xd8, 0x28, 0xe, 0xab, 0x1, 0xd2, 0x3c, 0xe1, 0x5f, 0xaf,
0xc1, 0x3f, 0x9, 0x5f, 0xaf, 0x1, 0xdb, 0xb7, 0x58, 0xdc, 0xf5, 0x1a, 0x58,
0xfd, 0xff, 0xaf, 0xd7, 0xc0, 0x52, 0xf0, 0x48, 0xe9, 0x9d, 0x1a, 0x5c, 0x37,
0x6d, 0x3c, 0xe8, 0x9b, 0x36, 0x4c, 0x85, 0x36, 0x7d, 0x6a, 0x34, 0x6a, 0xd5,
0xa0, 0x4c, 0x8d, 0x32, 0xd, 0x6a, 0xf5, 0xa9, 0xd4, 0x98, 0xb1, 0xa1, 0x5a,
0xda, 0x5d, 0x82, 0x8a, 0x59, 0x8c, 0x46, 0xe3, 0x28, 0x20, 0x54, 0xf6, 0x1f,
0x50, 0x20, 0xe, 0xf9, 0xd1, 0x11, 0xa0, 0x83, 0x7d, 0xa7, 0x74, 0xb, 0x27,
0x6b, 0x13, 0x88, 0xe3, 0x9b, 0x80, 0x68, 0x4, 0x44, 0x5a, 0x54, 0x0, 0xb1,
0xdc, 0x20, 0x2, 0xb2, 0x8a, 0x35, 0x9, 0xc8, 0x9a, 0xbf, 0x2f, 0x2, 0xb7,
0x4e, 0x1d, 0x40, 0x2c, 0x25, 0x8, 0x4d, 0xb4, 0x70, 0x81, 0x3a, 0x1e, 0x88,
0x6, 0x43, 0x68, 0x4, 0xe4, 0x60, 0x14, 0x2, 0xb2, 0x8c, 0xcf, 0x9d, 0xc0,
0x2d, 0xc0, 0xa, 0x10, 0x93, 0xf, 0x42, 0x5, 0x7b, 0x1, 0x65, 0xea, 0x41,
0x4, 0x64, 0xa5, 0x6b, 0x15, 0x90, 0x75, 0x83, 0x8, 0xc8, 0x59, 0xcd, 0x80,
0xb3, 0x8c, 0x6e, 0x80, 0x98, 0xc2, 0x87, 0x82, 0x40, 0xac, 0x49, 0xf, 0x28,
0x13, 0x8, 0xa2, 0xb, 0x7, 0xf1, 0x3, 0xc4, 0xa4, 0x81, 0x8, 0xc8, 0x71,
0x7e, 0x25, 0x2, 0x77, 0x1c, 0x45, 0x80, 0xd4, 0xd1, 0x70, 0x29, 0x8, 0x15,
0xff, 0x9, 0x13, 0xc8, 0xff, 0xff, 0xfd, 0x44, 0x96, 0xc0, 0x28, 0x8, 0x8d,
0xa0, 0x9, 0x84, 0xc9, 0xf3, 0x4, 0xc2, 0x42, 0xfd, 0xfd, 0x34, 0x4, 0x7,
0x51, 0x35, 0x44, 0xea, 0xa, 0x84, 0x5, 0x7e, 0x18, 0x68, 0x30, 0x4e, 0xf,
0x22, 0x20, 0x27, 0x7d, 0x52, 0x5, 0x22, 0xb9, 0x41, 0x4, 0xe4, 0xff, 0x3f })
}
}
Scope(\_SB_.PCI0.EXP4.EXPD) {
Name(_EJD, "_SB.GDCK")
}
Scope(\_SB_.PCI0.LPC_.UART) {
Name(_EJD, "_SB.GDCK")
}
Scope(\_SB_.PCI0.LPC_.LPT_) {
Name(_EJD, "_SB.GDCK")
}
Scope(\_SB_.PCI0.LPC_.ECP_) {
Name(_EJD, "_SB.GDCK")
}
Scope(\_SB_.PCI0.USB5.URTH.UPDK) {
Name(_EJD, "_SB.GDCK")
}
Scope(\_SB_.PCI0.EHC1.URTH.UPDK) {
Name(_EJD, "_SB.GDCK")
}
Scope(\_SB_.PCI0.USB3.URTH.UPEX) {
Name(_EJD, "_SB.PCI0.EXP3.EXUP")
}
Scope(\_SB_.PCI0.EHC1.URTH.UPEX) {
Name(_EJD, "_SB.PCI0.EXP3.EXUP")
}
Scope(\_SB_.PCI0.EXP3.EXUP) {
Name(_EJD, "_SB.PCI0.EHC1.URTH.UPEX")
}
Name(\_S0_, Package(0x4) {
0x0,
0x0,
0x0,
0x0,
})
Name(\_S3_, Package(0x4) {
0x5,
0x5,
0x0,
0x0,
})
Name(\_S4_, Package(0x4) {
0x6,
0x6,
0x0,
0x0,
})
Name(\_S5_, Package(0x4) {
0x7,
0x7,
0x0,
0x0,
})
Method(\_PTS, 1) {
Store(0x1, Local0)
If(LEqual(Arg0, \SPS_)) {
Store(0x0, Local0)
}
If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x6)))) {
Store(0x0, Local0)
}
If(Local0) {
Store(Arg0, \SPS_)
\_SB_.PCI0.LPC_.EC__.HKEY.MHKE(0x0)
If(\_SB_.PCI0.LPC_.EC__.KBLT) {
\UCMS(0xd)
}
If(LEqual(Arg0, 0x1)) {
Store(\_SB_.PCI0.LPC_.EC__.HFNI, \FNID)
Store(0x0, \_SB_.PCI0.LPC_.EC__.HFNI)
Store(0x0, \_SB_.PCI0.LPC_.EC__.HFSP)
}
If(LEqual(Arg0, 0x3)) {
\VVPD(0x3)
Store(\VHYB(0x7, 0x0), \VHCC)
\TRAP()
Store(\_SB_.PCI0.LPC_.EC__.AC__._PSR(), \ACST)
}
If(LEqual(Arg0, 0x4)) {
Store(\VHYB(0x7, 0x0), \VHCC)
\_SB_.SLPB._PSW(0x0)
If(And(\PPMF, 0x1)) {
\STEP(0x7)
}
\TRAP()
TPHY(0x2)
}
If(LEqual(Arg0, 0x5)) {
\TRAP()
TPHY(0x2)
}
\_SB_.PCI0.LPC_.EC__.BPTS(Arg0)
If(LNot(LLess(Arg0, 0x4))) {
Store(0x0, \_SB_.PCI0.LPC_.EC__.HWLB)
}
Else {
Store(0x1, \_SB_.PCI0.LPC_.EC__.HWLB)
}
If(LNot(LEqual(Arg0, 0x5))) {
Store(0x1, \_SB_.PCI0.LPC_.EC__.HCMU)
\_SB_.GDCK.GPTS(Arg0)
If(\W98F) {
\CBRI()
}
}
\_SB_.PCI0.LPC_.EC__.HKEY.WGPS(Arg0)
}
}
Name(WAKI, Package(0x2) {
0x0,
0x0,
})
Method(\_WAK, 1) {
If(LOr(LEqual(Arg0, 0x0), LNot(LLess(Arg0, 0x5)))) {
Return(WAKI)
}
Store(0x0, \SPS_)
Store(0x0, \_SB_.PCI0.LPC_.EC__.HCMU)
\_SB_.PCI0.LPC_.EC__.EVNT(0x1)
\_SB_.PCI0.LPC_.EC__.HKEY.MHKE(0x1)
\_SB_.PCI0.LPC_.EC__.FNST()
\UCMS(0xd)
Store(0x0, \LIDB)
If(LEqual(Arg0, 0x1)) {
Store(\_SB_.PCI0.LPC_.EC__.HFNI, \FNID)
}
If(LEqual(Arg0, 0x3)) {
THRM(0x0)
Store(\_SB_.PCI0.LPC_.EC__.AC__._PSR(), \PWRS)
If(And(\PPMF, 0x0100)) {
TRAZ(0x1, 0x2b)
}
If(\OSC4) {
Store(0x0, \_SB_.PCI0.LPC_.C4C3)
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
}
Else {
If(\WNTF) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.CKC4(0x0)) {
Store(0x0, \_SB_.PCI0.LPC_.C4C3)
}
Else {
Store(0x1, \_SB_.PCI0.LPC_.C4C3)
}
}
}
If(LNot(LEqual(\ACST, \_SB_.PCI0.LPC_.EC__.AC__._PSR()))) {
\_SB_.PCI0.LPC_.EC__.ATMC()
}
If(LAnd(\WXPF, LNot(LLess(\WSPV, 0x1)))) {
TRAZ(0x1, 0x50)
}
If(LAnd(And(\CFGD, 0x01000000), LAnd(\WXPF, LNot(LGreater(\WSPV,
0x1))))) {
If(And(\CFGD, 0xf0)) {
TRAZ(0x1, 0x48)
}
}
\VHYB(0x6, \VHCC)
If(\VIGD) {
\_SB_.PCI0.VID_.GLIS(\_SB_.LID_._LID())
Store(\_SB_.GDCK.GGID(), Local0)
If(LOr(LEqual(Local0, 0x0), LEqual(Local0, 0x1))) {
\_SB_.PCI0.VID_.GDCS(0x1)
}
Else {
\_SB_.PCI0.VID_.GDCS(0x0)
}
If(\WVIS) {
\VBTD()
}
}
Else {
If(\WVIS) {
\_SB_.PCI0.VID_.GLIS(\_SB_.LID_._LID())
Store(\_SB_.GDCK.GGID(), Local0)
If(LOr(LEqual(Local0, 0x0), LEqual(Local0, 0x1))) {
\_SB_.PCI0.VID_.GDCS(0x1)
}
Else {
\_SB_.PCI0.VID_.GDCS(0x0)
}
\VBTD()
}
}
}
If(LEqual(Arg0, 0x4)) {
\NVSS(0x0)
If(DTSE) {
THRM(0x2)
}
If(\W98F) {
Notify(\_SB_.SLPB, 0x2)
}
If(\WMEF) {
\_SB_.PCI0.LPC_.EC__.BEEP(0x5)
}
If(LNot(\W98F)) {
Store(0x0, \_SB_.PCI0.LPC_.EC__.HSPA)
}
Store(\_SB_.PCI0.LPC_.EC__.AC__._PSR(), \PWRS)
If(And(\PPMF, 0x0100)) {
TRAZ(0x1, 0x2b)
}
If(\OSC4) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
}
Else {
If(\WNTF) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.CKC4(0x0)) {
Store(0x0, \_SB_.PCI0.LPC_.C4C3)
}
Else {
Store(0x1, \_SB_.PCI0.LPC_.C4C3)
}
}
}
If(And(\PPMF, 0x1)) {
\STEP(0x8)
}
\_SB_.PCI0.LPC_.EC__.ATMC()
If(LAnd(And(\CFGD, 0x01000000), LAnd(\WXPF, LNot(LGreater(\WSPV,
0x1))))) {
If(And(\CFGD, 0xf0)) {
TRAZ(0x1, 0x48)
}
}
\VHYB(0x6, \VHCC)
}
If(XOr(\_SB_.PCI0.EXP3.PDS_, \_SB_.PCI0.EXP3.XCPF)) {
If(\_SB_.PCI0.EXP3.PDS_) {
Store(0x1, \_SB_.PCI0.EXP3.XCPF)
}
Else {
Store(0x0, \_SB_.PCI0.EXP3.XCPF)
}
Notify(\_SB_.PCI0.EXP3, 0x0)
}
\_SB_.GDCK.GWAK(Arg0)
\_SB_.PCI0.LPC_.EC__.BWAK(Arg0)
\_SB_.PCI0.LPC_.EC__.HKEY.WGWK(Arg0)
Notify(\_TZ_.THM0, 0x80)
Notify(\_TZ_.THM1, 0x80)
\VSLD(\_SB_.LID_._LID())
If(\VIGD) {
\_SB_.PCI0.VID_.GLIS(\_SB_.LID_._LID())
}
Else {
If(\WVIS) {
\_SB_.PCI0.VID_.GLIS(\_SB_.LID_._LID())
}
}
If(LAnd(\W98F, LNot(\WMEF))) {
Notify(\_SB_.PCI0.USB0, 0x0)
Notify(\_SB_.PCI0.USB1, 0x0)
}
If(LLess(Arg0, 0x4)) {
If(And(\RRBF, 0x2)) {
ShiftLeft(Arg0, 0x8, Local0)
Store(Or(0x2013, Local0), Local0)
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(Local0)
}
}
If(LEqual(Arg0, 0x4)) {
Store(0x0, Local0)
Store(\CSUM(0x0), Local1)
If(LNot(LEqual(Local1, \CHKC))) {
Store(0x1, Local0)
Store(Local1, \CHKC)
}
Store(\CSUM(0x1), Local1)
If(LNot(LEqual(Local1, \CHKE))) {
Store(0x1, Local0)
Store(Local1, \CHKE)
}
If(Local0) {
Notify(\_SB_, 0x0)
}
}
Store(Zero, \RRBF)
Return(WAKI)
}
Scope(\_SI_) {
Method(_SST, 1) {
If(LEqual(Arg0, 0x0)) {
\_SB_.PCI0.LPC_.EC__.LED_(0x0, 0x0)
\_SB_.PCI0.LPC_.EC__.LED_(0x7, 0x0)
}
If(LEqual(Arg0, 0x1)) {
If(LOr(\SPS_, \WNTF)) {
\_SB_.PCI0.LPC_.EC__.BEEP(0x5)
}
\_SB_.PCI0.LPC_.EC__.LED_(0x0, 0x80)
\_SB_.PCI0.LPC_.EC__.LED_(0x7, 0x0)
}
If(LEqual(Arg0, 0x2)) {
\_SB_.PCI0.LPC_.EC__.LED_(0x0, 0x80)
\_SB_.PCI0.LPC_.EC__.LED_(0x7, 0xc0)
}
If(LEqual(Arg0, 0x3)) {
If(LGreater(\SPS_, 0x3)) {
\_SB_.PCI0.LPC_.EC__.BEEP(0x7)
}
Else {
If(LEqual(\SPS_, 0x3)) {
\_SB_.PCI0.LPC_.EC__.BEEP(0x3)
\_SB_.GDCK.PEJ3()
}
Else {
\_SB_.PCI0.LPC_.EC__.BEEP(0x4)
}
}
If(LEqual(\SPS_, 0x3)) {
}
Else {
\_SB_.PCI0.LPC_.EC__.LED_(0x0, 0x80)
}
\_SB_.PCI0.LPC_.EC__.LED_(0x7, 0xc0)
}
If(LEqual(Arg0, 0x4)) {
\_SB_.PCI0.LPC_.EC__.BEEP(0x3)
\_SB_.PCI0.LPC_.EC__.LED_(0x7, 0xc0)
}
}
}
Scope(\_GPE) {
Method(_L18) {
Store(\_SB_.PCI0.LPC_.EC__.HWAK, Local0)
Store(Local0, \RRBF)
Sleep(0xa)
If(And(Local0, 0x2)) {
}
If(And(Local0, 0x4)) {
If(\W98F) {
Notify(\_SB_.SLPB, 0x2)
}
Else {
Notify(\_SB_.LID_, 0x2)
}
}
If(And(Local0, 0x8)) {
\_SB_.GDCK.GGPE()
Notify(\_SB_.SLPB, 0x2)
}
If(And(Local0, 0x10)) {
Notify(\_SB_.SLPB, 0x2)
}
If(And(Local0, 0x40)) {
}
If(And(Local0, 0x80)) {
Notify(\_SB_.SLPB, 0x2)
}
}
Method(_L09) {
If(\_SB_.PCI0.EXP0.PSP0) {
Store(0x1, \_SB_.PCI0.EXP0.PSP0)
Notify(\_SB_.PCI0.EXP0, 0x2)
}
If(\_SB_.PCI0.EXP1.PSP1) {
Store(0x1, \_SB_.PCI0.EXP1.PSP1)
Notify(\_SB_.PCI0.EXP1, 0x2)
}
If(\_SB_.PCI0.EXP2.PSP2) {
Store(0x1, \_SB_.PCI0.EXP2.PSP2)
Notify(\_SB_.PCI0.EXP2, 0x2)
}
If(\_SB_.PCI0.EXP3.PSP3) {
Store(0x1, \_SB_.PCI0.EXP3.PSP3)
Notify(\_SB_.PCI0.EXP3, 0x2)
}
If(\_SB_.PCI0.EXP4.PSP4) {
Store(0x1, \_SB_.PCI0.EXP4.PSP4)
Store(0x1, \_SB_.PCI0.EXP4.PMS4)
Notify(\_SB_.PCI0.EXP4, 0x2)
}
}
Method(_L01) {
If(\_SB_.PCI0.EXP3.HPCS) {
Store(0x1, \_SB_.PCI0.EXP3.HPCS)
If(\_SB_.PCI0.EXP3.ABP_) {
Store(0x1, \_SB_.PCI0.EXP3.ABP_)
}
If(\_SB_.PCI0.EXP3.PDC_) {
Store(0x1, \_SB_.PCI0.EXP3.PDC_)
Store(0x0, \_SB_.PCI0.EXP3.XCPF)
Notify(\_SB_.PCI0.EXP3, 0x0)
If(\_SB_.PCI0.EXP3.PDS_) {
Store(0x1, \_SB_.PCI0.EXP3.XCPF)
Sleep(0x64)
Notify(\_SB_.PCI0.EXP3.EXUP, 0x1)
}
}
}
}
Method(_L02) {
Store(0x0, \_SB_.PCI0.LPC_.SWGE)
If(And(\SWGP, 0x1)) {
And(\SWGP, Not(0x1), \SWGP)
If(\_SB_.PCI0.LPC_.EC__.HKEY.DHKC) {
If(DT02) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x6022)
}
}
Notify(\_TZ_.THM1, 0x80)
If(And(\PPMF, 0x1)) {
If(\OSPX) {
Notify(\_PR_.CPU0, 0x80)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x80)
}
}
Else {
If(DT00) {
\STEP(0x9)
}
Else {
\STEP(0xa)
}
}
}
}
If(LAnd(\CWUE, And(\SWGP, 0x2))) {
And(\SWGP, Not(0x2), \SWGP)
If(\OSC4) {
Notify(\_PR_.CPU0, 0x81)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x81)
}
}
Else {
If(\_SB_.PCI0.LPC_.EC__.HKEY.CKC4(0x0)) {
Store(0x0, \_SB_.PCI0.LPC_.C4C3)
}
Else {
Store(0x1, \_SB_.PCI0.LPC_.C4C3)
}
}
}
}
Method(_L06) {
If(\_SB_.PCI0.VID_.GSSE) {
\_SB_.PCI0.VID_.GSCI()
}
Else {
Store(0x1, \_SB_.PCI0.LPC_.SCIS)
}
}
}
Scope(\_SB_.PCI0.LPC_.EC__.HKEY) {
Method(MHQT, 1) {
If(LAnd(\WNTF, \TATC)) {
If(LEqual(Arg0, 0x0)) {
Store(\TATC, Local0)
Return(Local0)
}
Else {
If(LEqual(Arg0, 0x1)) {
Store(\TDFA, Local0)
Add(Local0, ShiftLeft(\TDTA, 0x4), Local0)
Add(Local0, ShiftLeft(\TDFD, 0x8), Local0)
Add(Local0, ShiftLeft(\TDTD, 0xc), Local0)
Add(Local0, ShiftLeft(\TNFT, 0x10), Local0)
Add(Local0, ShiftLeft(\TNTT, 0x14), Local0)
Return(Local0)
}
Else {
If(LEqual(Arg0, 0x2)) {
Store(\TCFA, Local0)
Add(Local0, ShiftLeft(\TCTA, 0x4), Local0)
Add(Local0, ShiftLeft(\TCFD, 0x8), Local0)
Add(Local0, ShiftLeft(\TCTD, 0xc), Local0)
Return(Local0)
}
Else {
If(LEqual(Arg0, 0x3)) {
}
Else {
If(LEqual(Arg0, 0x4)) {
Store(\TATW, Local0)
Return(Local0)
}
Else {
Noop
}
}
}
}
}
}
Return(0x0)
}
Method(MHAT, 1) {
If(LAnd(\WNTF, \TATC)) {
Store(And(Arg0, 0xff), Local0)
If(LNot(ATMV(Local0))) {
Return(0x0)
}
Store(And(ShiftRight(Arg0, 0x8), 0xff), Local0)
If(LNot(ATMV(Local0))) {
Return(0x0)
}
Store(And(Arg0, 0xf), \TCFA)
Store(And(ShiftRight(Arg0, 0x4), 0xf), \TCTA)
Store(And(ShiftRight(Arg0, 0x8), 0xf), \TCFD)
Store(And(ShiftRight(Arg0, 0xc), 0xf), \TCTD)
ATMC()
Return(0x1)
}
Return(0x0)
}
Method(MHGT, 1) {
If(LAnd(\WNTF, \TATC)) {
Store(ShiftLeft(\TSFT, 0x10), Local0)
Add(Local0, ShiftLeft(\TSTT, 0x14), Local0)
Store(And(Arg0, 0xff), Local1)
If(LNot(ATMV(Local1))) {
Return(0xffff)
}
Store(And(Arg0, 0xf), Local1)
If(LEqual(Local1, 0x0)) {
Add(Local0, \TIF0, Local0)
}
Else {
If(LEqual(Local1, 0x1)) {
Add(Local0, \TIF1, Local0)
}
Else {
If(LEqual(Local1, 0x2)) {
Add(Local0, \TIF2, Local0)
}
Else {
Add(Local0, 0xff, Local0)
}
}
}
Store(And(ShiftRight(Arg0, 0x4), 0xf), Local1)
If(LEqual(Local1, 0x0)) {
Add(Local0, ShiftLeft(\TIT0, 0x8), Local0)
}
Else {
If(LEqual(Local1, 0x1)) {
Add(Local0, ShiftLeft(\TIT1, 0x8), Local0)
}
Else {
If(LEqual(Local1, 0x2)) {
Add(Local0, ShiftLeft(\TIT2, 0x8), Local0)
}
Else {
Add(Local0, ShiftLeft(0xff, 0x8), Local0)
}
}
}
Return(Local0)
}
Return(0x0)
}
Method(ATMV, 1) {
Store(And(Arg0, 0xf), Local1)
Store(\TNFT, Local0)
If(LNot(LLess(Local1, Local0))) {
Return(0x0)
}
Store(And(ShiftRight(Arg0, 0x4), 0xf), Local2)
Store(\TNTT, Local0)
If(LNot(LLess(Local2, Local0))) {
Return(0x0)
}
If(\TATL) {
If(XOr(Local1, Local2)) {
Return(0x0)
}
}
Return(0x1)
}
Method(MHST) {
Store(\_SB_.PCI0.LPC_.EC__.HSPD, Local0)
Return(Local0)
}
Method(MHTT) {
If(\VIGD) {
Store(0x0, Local0)
}
Else {
Store(\_SB_.PCI0.LPC_.EC__.TMP3, Local0)
ShiftLeft(Local0, 0x8, Local0)
}
Or(Local0, \_SB_.PCI0.LPC_.EC__.TMP9, Local0)
ShiftLeft(Local0, 0x8, Local0)
Or(Local0, \_SB_.PCI0.LPC_.EC__.TMP0, Local0)
Return(Local0)
}
Method(MHBT) {
Name(ABUF, Buffer(0x10) { })
ATMS(0x0)
Store(\ATMB, ABUF)
Return(ABUF)
}
Method(MHFT, 1) {
FSCT(Arg0)
}
Method(MHCT, 1) {
Store(0x0, Local0)
If(\SPEN) {
Store(\LWST, Local0)
Increment(Local0)
ShiftLeft(Local0, 0x8, Local0)
}
Store(0x8, Local1)
ShiftLeft(Local1, 0x8, Local1)
If(LEqual(Arg0, 0xffffffff)) {
Or(Local1, \TPCR, Local1)
If(\SPEN) {
Or(Local0, \PPCR, Local0)
If(LNot(LAnd(\PPMF, 0x02000000))) {
Or(Local1, 0x80, Local1)
}
If(LNot(LAnd(\PPMF, 0x08000000))) {
Or(Local1, 0x40, Local1)
}
}
Else {
Or(Local1, 0xc0, Local1)
}
}
Else {
If(LAnd(\OSPX, \SPEN)) {
And(Arg0, 0x00ff0000, Local2)
ShiftRight(Local2, 0x10, Local2)
Or(Local0, Local2, Local0)
If(XOr(Local2, \PPCR)) {
Store(Local2, \PPCA)
Notify(\_PR_.CPU0, 0x80)
If(\MPEN) {
Notify(\_PR_.CPU1, 0x80)
}
}
}
If(\WVIS) {
And(Arg0, 0x1f, Local2)
Or(Local1, Local2, Local1)
If(XOr(Local2, \TPCR)) {
Store(Local2, \TPCA)
Notify(\_PR_.CPU0, 0x82)
If(\MPEN) {
Notify(\_PR_.CPU1, 0x82)
}
}
}
}
ShiftLeft(Local0, 0x10, Local0)
Or(Local0, Local1, Local0)
Return(Local0)
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(ATMC) {
If(LAnd(\WNTF, \TATC)) {
If(HPAC) {
Store(\TCFA, Local0)
Store(\TCTA, Local1)
Store(Or(ShiftLeft(Local1, 0x4), Local0), Local2)
XOr(Local2, ATMX, Local3)
Store(Local2, ATMX)
If(LEqual(\TCTA, 0x0)) {
Store(\TCR0, \TCRT)
Store(\TPS0, \TPSV)
}
Else {
If(LEqual(\TCTA, 0x1)) {
Store(\TCR1, \TCRT)
Store(\TPS1, \TPSV)
}
Else {
}
}
}
Else {
Store(\TCFD, Local0)
Store(\TCTD, Local1)
Store(Or(ShiftLeft(Local1, 0x4), Local0), Local2)
XOr(Local2, ATMX, Local3)
Store(Local2, ATMX)
If(LEqual(\TCTD, 0x0)) {
Store(\TCR0, \TCRT)
Store(\TPS0, \TPSV)
}
Else {
If(LEqual(\TCTD, 0x1)) {
Store(\TCR1, \TCRT)
Store(\TPS1, \TPSV)
}
Else {
}
}
}
If(Local3) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.DHKC) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x6030)
}
}
Notify(\_TZ_.THM0, 0x81)
THRM(0x1)
}
}
}
Scope(\_TZ_) {
ThermalZone(THM0) {
Method(_CRT) {
Return(C2K_(0x7f))
}
Method(_TMP) {
If(\H8DR) {
Store(\_SB_.PCI0.LPC_.EC__.TMP0, Local0)
Store(\_SB_.PCI0.LPC_.EC__.HT12, Local1)
Store(\_SB_.PCI0.LPC_.EC__.HT13, Local2)
}
Else {
Store(\RBEC(0x78), Local0)
Store(And(\RBEC(0x20), 0x40), Local1)
Store(And(\RBEC(0x20), 0x80), Local2)
}
If(Local2) {
Return(C2K_(0x80))
}
If(LNot(\_SB_.PCI0.LPC_.EC__.HKEY.DHKC)) {
If(Local1) {
Return(C2K_(0x80))
}
}
Return(C2K_(Local0))
}
}
ThermalZone(THM1) {
Method(_PSL) {
If(And(\PPMF, 0x01000000)) {
Return(Package(0x2) {
\_PR_.CPU0,
\_PR_.CPU1,
})
}
Return(Package(0x1) {
\_PR_.CPU0,
})
}
Method(_CRT) {
Return(\TCRT)
}
Method(_PSV) {
Return(\TPSV)
}
Method(_TC1) {
Return(\TTC1)
}
Method(_TC2) {
Return(\TTC2)
}
Method(_TSP) {
Return(\TTSP)
}
Method(_TMP) {
If(\DTSE) {
THRM(0x2)
Store(DTS1, Local0)
If(LNot(LLess(DTS0, DTS1))) {
Store(DTS0, Local0)
}
If(LNot(\_SB_.PCI0.LPC_.EC__.HKEY.DHKC)) {
If(DT02) {
Add(\TCRT, 0x1, Local0)
Return(Local0)
}
}
Return(C2K_(Local0))
}
Else {
Return(\_TZ_.THM0._TMP())
}
}
}
Method(C2K_, 1) {
Add(Multiply(Arg0, 0xa), 0x0aac, Local0)
If(LNot(LGreater(Local0, 0x0aac))) {
Store(0x0bb8, Local0)
}
If(LGreater(Local0, 0x0fac)) {
Store(0x0bb8, Local0)
}
Return(Local0)
}
}
Scope(\_SB_.PCI0.LPC_.EC__) {
Method(_Q40) {
Notify(\_TZ_.THM0, 0x80)
If(\H8DR) {
Store(\_SB_.PCI0.LPC_.EC__.HT11, Local0)
Store(\_SB_.PCI0.LPC_.EC__.HT12, Local1)
}
Else {
Store(And(\RBEC(0x20), 0x20), Local0)
Store(And(\RBEC(0x20), 0x40), Local1)
}
If(\_SB_.PCI0.LPC_.EC__.HKEY.DHKC) {
If(Local1) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x6022)
}
}
If(VIGD) {
Noop
}
Else {
\VTHR()
}
If(And(\PPMF, 0x1)) {
If(\OSPX) {
Notify(\_PR_.CPU0, 0x80)
If(And(\PPMF, 0x01000000)) {
Notify(\_PR_.CPU1, 0x80)
}
}
Else {
If(LOr(\_SB_.PCI0.LPC_.EC__.HT00, \_SB_.PCI0.LPC_.EC__.HT10))
{
\STEP(0x9)
}
Else {
\STEP(0xa)
}
}
}
}
}
Name(GPIC, 0x0)
Method(_PIC, 1) {
Store(Arg0, \GPIC)
}
OperationRegion(SMI0, SystemIO, 0xb2, 0x1)
Field(SMI0, ByteAcc, NoLock, Preserve) {
APMC, 8
}
Field(MNVS, AnyAcc, NoLock, Preserve) {
Offset(0xfc0),
CMD_, 8,
ERR_, 32,
PAR0, 32,
PAR1, 32,
PAR2, 32,
PAR3, 32
}
Mutex(MSMI, 7)
Method(SMI_, 5) {
Acquire(MSMI, 0xffff)
Store(Arg0, CMD_)
Store(Arg1, PAR0)
Store(Arg2, PAR1)
Store(Arg3, PAR2)
Store(Arg4, PAR3)
Store(0xf5, APMC)
While(LEqual(ERR_, 0x1)) {
Sleep(0x64)
Store(0xf5, APMC)
}
Store(PAR0, Local0)
Release(MSMI)
Return(Local0)
}
Method(RPCI, 1) {
Return(SMI_(0x0, 0x0, Arg0, 0x0, 0x0))
}
Method(WPCI, 2) {
SMI_(0x0, 0x1, Arg0, Arg1, 0x0)
}
Method(MPCI, 3) {
SMI_(0x0, 0x2, Arg0, Arg1, Arg2)
}
Method(RBEC, 1) {
Return(SMI_(0x0, 0x3, Arg0, 0x0, 0x0))
}
Method(WBEC, 2) {
SMI_(0x0, 0x4, Arg0, Arg1, 0x0)
}
Method(MBEC, 3) {
SMI_(0x0, 0x5, Arg0, Arg1, Arg2)
}
Method(RISA, 1) {
Return(SMI_(0x0, 0x6, Arg0, 0x0, 0x0))
}
Method(WISA, 2) {
SMI_(0x0, 0x7, Arg0, Arg1, 0x0)
}
Method(MISA, 3) {
SMI_(0x0, 0x8, Arg0, Arg1, Arg2)
}
Method(VEXP) {
SMI_(0x1, 0x0, 0x0, 0x0, 0x0)
}
Method(VUPS, 1) {
SMI_(0x1, 0x1, Arg0, 0x0, 0x0)
}
Method(VSDS, 2) {
SMI_(0x1, 0x2, Arg0, Arg1, 0x0)
}
Method(VDDC) {
SMI_(0x1, 0x3, 0x0, 0x0, 0x0)
}
Method(VVPD, 1) {
SMI_(0x1, 0x4, Arg0, 0x0, 0x0)
}
Method(VNRS, 1) {
SMI_(0x1, 0x5, Arg0, 0x0, 0x0)
}
Method(GLPW) {
Return(SMI_(0x1, 0x6, 0x0, 0x0, 0x0))
}
Method(VSLD, 1) {
SMI_(0x1, 0x7, Arg0, 0x0, 0x0)
}
Method(VEVT, 1) {
Return(SMI_(0x1, 0x8, Arg0, 0x0, 0x0))
}
Method(VTHR) {
Return(SMI_(0x1, 0x9, 0x0, 0x0, 0x0))
}
Method(VBRC, 1) {
SMI_(0x1, 0xa, Arg0, 0x0, 0x0)
}
Method(VBRG) {
Return(SMI_(0x1, 0xe, 0x0, 0x0, 0x0))
}
Method(VBTD) {
Return(SMI_(0x1, 0xf, 0x0, 0x0, 0x0))
}
Method(VHYB, 2) {
Return(SMI_(0x1, 0x10, Arg0, Arg1, 0x0))
}
Method(VDYN, 2) {
Return(SMI_(0x1, 0x11, Arg0, Arg1, 0x0))
}
Method(UCMS, 1) {
Return(SMI_(0x2, Arg0, 0x0, 0x0, 0x0))
}
Method(BHDP, 2) {
Return(SMI_(0x3, 0x0, Arg0, Arg1, 0x0))
}
Method(DHDP, 1) {
Return(SMI_(0x3, 0x1, Arg0, 0x0, 0x0))
}
Method(STEP, 1) {
SMI_(0x4, Arg0, 0x0, 0x0, 0x0)
}
Method(TRAP) {
SMI_(0x5, 0x0, 0x0, 0x0, 0x0)
}
Method(CBRI) {
SMI_(0x5, 0x1, 0x0, 0x0, 0x0)
}
Method(BCHK) {
Return(SMI_(0x5, 0x4, 0x0, 0x0, 0x0))
}
Method(BYRS) {
SMI_(0x5, 0x5, 0x0, 0x0, 0x0)
}
Method(BLTH, 1) {
Return(SMI_(0x6, Arg0, 0x0, 0x0, 0x0))
}
Method(FISP) {
SMI_(0x7, 0x0, 0x0, 0x0, 0x0)
}
Method(ATCC, 1) {
SMI_(0x8, Arg0, 0x0, 0x0, 0x0)
}
Method(WGSV, 1) {
Return(SMI_(0x9, Arg0, 0x0, 0x0, 0x0))
}
Method(THRM, 1) {
Return(SMI_(0xa, Arg0, 0x0, 0x0, 0x0))
}
Method(ATMS, 1) {
Return(SMI_(0xa, 0x3, 0x0, 0x0, 0x0))
}
Method(FSCT, 1) {
Return(SMI_(0xa, 0x4, Arg0, 0x0, 0x0))
}
Method(SWTT, 1) {
If(SMI_(0xa, 0x5, Arg0, 0x0, 0x0)) {
If(\_SB_.PCI0.LPC_.EC__.HKEY.DHKC) {
\_SB_.PCI0.LPC_.EC__.HKEY.MHKQ(0x6030)
}
}
}
Method(PPMS, 1) {
Return(SMI_(0xb, Arg0, 0x0, 0x0, 0x0))
}
Method(TRAZ, 2) {
Store(Arg1, SMIF)
If(LEqual(Arg0, 0x1)) {
Store(0x0, \_SB_.PCI0.LPC_.TRPI)
}
Return(SMIF)
}
Method(TPHY, 1) {
SMI_(0xc, Arg0, 0x0, 0x0, 0x0)
}
Method(CSUM, 1) {
Return(SMI_(0xe, Arg0, 0x0, 0x0, 0x0))
}
Method(NVSS, 1) {
Return(SMI_(0xf, Arg0, 0x0, 0x0, 0x0))
}
Method(WMIS, 2) {
Return(SMI_(0x10, Arg0, Arg1, 0x0, 0x0))
}
Method(PMON, 2) {
Store(SizeOf(Arg0), Local0)
Name(TSTR, Buffer(Local0) { })
Store(Arg0, TSTR)
Store(TSTR, \DBGS)
SMI_(0x11, Arg1, 0x0, 0x0, 0x0)
}
Method(DPIO, 2) {
If(LNot(Arg0)) {
Return(0x0)
}
If(LGreater(Arg0, 0xf0)) {
Return(0x0)
}
If(LGreater(Arg0, 0xb4)) {
If(Arg1) {
Return(0x2)
}
Else {
Return(0x1)
}
}
If(LGreater(Arg0, 0x78)) {
Return(0x3)
}
Return(0x4)
}
Method(DUDM, 2) {
If(LNot(Arg1)) {
Return(0xff)
}
If(LGreater(Arg0, 0x5a)) {
Return(0x0)
}
If(LGreater(Arg0, 0x3c)) {
Return(0x1)
}
If(LGreater(Arg0, 0x2d)) {
Return(0x2)
}
If(LGreater(Arg0, 0x1e)) {
Return(0x3)
}
If(LGreater(Arg0, 0x14)) {
Return(0x4)
}
Return(0x5)
}
Method(DMDM, 2) {
If(Arg1) {
Return(0x0)
}
If(LNot(Arg0)) {
Return(0x0)
}
If(LGreater(Arg0, 0x96)) {
Return(0x1)
}
If(LGreater(Arg0, 0x78)) {
Return(0x2)
}
Return(0x3)
}
Method(UUDM, 2) {
If(LNot(And(Arg0, 0x4))) {
Return(0x0)
}
If(And(Arg1, 0x20)) {
Return(0x14)
}
If(And(Arg1, 0x10)) {
Return(0x1e)
}
If(And(Arg1, 0x8)) {
Return(0x2d)
}
If(And(Arg1, 0x4)) {
Return(0x3c)
}
If(And(Arg1, 0x2)) {
Return(0x5a)
}
If(And(Arg1, 0x1)) {
Return(0x78)
}
Return(0x0)
}
Method(UMDM, 4) {
If(LNot(And(Arg0, 0x2))) {
Return(0x0)
}
If(And(Arg1, 0x4)) {
Return(Arg3)
}
If(And(Arg1, 0x2)) {
If(LNot(LGreater(Arg3, 0x78))) {
Return(0xb4)
}
Else {
Return(Arg3)
}
}
If(And(Arg2, 0x4)) {
If(LNot(LGreater(Arg3, 0xb4))) {
Return(0xf0)
}
Else {
Return(Arg3)
}
}
Return(0x0)
}
Method(UPIO, 4) {
If(LNot(And(Arg0, 0x2))) {
If(LEqual(Arg2, 0x2)) {
Return(0xf0)
}
Else {
Return(0x0384)
}
}
If(And(Arg1, 0x2)) {
Return(Arg3)
}
If(And(Arg1, 0x1)) {
If(LNot(LGreater(Arg3, 0x78))) {
Return(0xb4)
}
Else {
Return(Arg3)
}
}
If(LEqual(Arg2, 0x2)) {
Return(0xf0)
}
Else {
Return(0x0384)
}
}
Method(FDMA, 2) {
If(LNot(LEqual(Arg1, 0xff))) {
Return(Or(Arg1, 0x40))
}
If(LNot(LLess(Arg0, 0x3))) {
Return(Or(Subtract(Arg0, 0x2), 0x20))
}
If(Arg0) {
Return(0x12)
}
Return(0x0)
}
Method(FPIO, 1) {
If(LNot(LLess(Arg0, 0x3))) {
Return(Or(Arg0, 0x8))
}
If(LEqual(Arg0, 0x1)) {
Return(0x1)
}
Return(0x0)
}
Method(SCMP, 2) {
Store(SizeOf(Arg0), Local0)
If(LNot(LEqual(Local0, SizeOf(Arg1)))) {
Return(One)
}
Increment(Local0)
Name(STR1, Buffer(Local0) { })
Name(STR2, Buffer(Local0) { })
Store(Arg0, STR1)
Store(Arg1, STR2)
Store(Zero, Local1)
While(LLess(Local1, Local0)) {
Store(DerefOf(Index(STR1, Local1)), Local2)
Store(DerefOf(Index(STR2, Local1)), Local3)
If(LNot(LEqual(Local2, Local3))) {
Return(One)
}
Increment(Local1)
}
Return(Zero)
}
Name(SPS_, 0x0)
Name(OSIF, 0x0)
Name(W98F, 0x0)
Name(WNTF, 0x0)
Name(WMEF, 0x0)
Name(WXPF, 0x0)
Name(WVIS, 0x0)
Name(WSPV, 0x0)
Name(LNUX, 0x0)
Name(H8DR, 0x0)
Name(MEMX, 0x0)
Name(ACST, 0x0)
Name(FNID, 0x0)
Name(RRBF, 0x0)
Name(NBCF, 0x0)
}
/*
SSDT: Length=51, Revision=1, Checksum=190,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=MSFT, Creator Revision=0x3000000
*/
/*
ECDT: Length=82, Revision=1, Checksum=36,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=LNVO, Creator Revision=0x1
*/
/*
APIC: Length=120, Revision=1, Checksum=6,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=LNVO, Creator Revision=0x1
*/
/*
MCFG: Length=60, Revision=1, Checksum=86,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=LNVO, Creator Revision=0x1
*/
/*
HPET: Length=56, Revision=1, Checksum=110,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=LNVO, Creator Revision=0x1
*/
/*
SLIC: Length=374, Revision=1, Checksum=130,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID= LTP, Creator Revision=0x0
*/
/*
BOOT: Length=40, Revision=1, Checksum=108,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID= LTP, Creator Revision=0x1
*/
/*
ASF!: Length=160, Revision=16, Checksum=0,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=PTL, Creator Revision=0x1
*/
/*
SSDT: Length=1359, Revision=1, Checksum=224,
OEMID=LENOVO, OEM Table ID=TP-6F, OEM Revision=0x1160,
Creator ID=INTL, Creator Revision=0x20050513
*/
/*
SSDT: Length=1621, Revision=1, Checksum=40,
OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=628, Revision=1, Checksum=15,
OEMID=PmRef, OEM Table ID=Cpu0Tst, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20050624
*/
/*
SSDT: Length=578, Revision=1, Checksum=238,
OEMID=PmRef, OEM Table ID=ApTst, OEM Revision=0x3000,
Creator ID=INTL, Creator Revision=0x20050624
*/
------- dmesg
OpenBSD 4.7-current (GENERIC.MP) #5: Sun Apr 4 21:07:56 EDT 2010
root@paladin.hsd1.mi.comcast.net.:/usr/src/sys/arch/i386/compile/GENERIC.MP
cpu0: Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz ("GenuineIntel" 686-class)
2.80 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1
real mem = 2123657216 (2025MB)
avail mem = 2048634880 (1953MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 09/24/08, BIOS32 rev. 0 @ 0xfdc80,
SMBIOS rev. 2.4 @ 0xe0010 (74 entries)
bios0: vendor LENOVO version "6FET46WW (1.16 )" date 09/24/2008
bios0: LENOVO 4061CTO
acpi0 at bios0: rev 2
acpi0: tables DSDT FACP SSDT ECDT APIC MCFG HPET SLIC BOOT ASF! SSDT SSDT SSDT
SSDT
acpi0: wakeup devices LID_(S3) SLPB(S3) UART(S3) IGBE(S4) EXP0(S4) EXP1(S4)
EXP2(S4) EXP3(S4) EXP4(S4) PCI1(S4) USB0(S3) USB1(S3) USB2(S3) USB3(S3) USB4
(S3) USB5(S3) EHC0(S3) EHC1(S3) HDEF(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 265MHz
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz ("GenuineIntel" 686-class)
2.80 GHz
cpu1:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 2, remapped to apid 1
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (AGP_)
acpiprt2 at acpi0: bus 2 (EXP0)
acpiprt3 at acpi0: bus 3 (EXP1)
acpiprt4 at acpi0: bus -1 (EXP2)
acpiprt5 at acpi0: bus 5 (EXP3)
acpiprt6 at acpi0: bus 13 (EXP4)
acpiprt7 at acpi0: bus 21 (PCI1)
acpiec0 at acpi0
acpicpu0 at acpi0: C3, C2, C1, PSS
acpicpu1 at acpi0: C3, C2, C1, PSS
acpipwrres0 at acpi0: PUBS
acpitz0 at acpi0: critical temperature 127 degC
acpitz1 at acpi0: critical temperature 100 degC
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: SLPB
acpibat0 at acpi0: BAT0 model "42T4619" serial 30781 type LION oem "SANYO"
acpibat1 at acpi0: BAT1 not present
acpiac0 at acpi0: AC unit online
acpithinkpad0 at acpi0
acpidock0 at acpi0: GDCK not docked (0)
bios0: ROM list: 0xc0000/0xfc00 0xd0000/0x1000 0xd1000/0x1000 0xd2000/0x1000
0xde000/0x1800! 0xe0000/0x10000
cpu0: Enhanced SpeedStep 2793 MHz: speeds: 2801, 2800, 2133, 1600, 800 MHz
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel GM45 Host" rev 0x07
ppb0 at pci0 dev 1 function 0 "Intel GM45 PCIE" rev 0x07: apic 1 int 16 (irq
11)
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Mobility Radeon HD 3650" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
radeondrm0 at vga1: apic 1 int 16 (irq 11)
drm0 at radeondrm0
"Intel GM45 HECI" rev 0x07 at pci0 dev 3 function 0 not configured
pciide0 at pci0 dev 3 function 2 "Intel GM45 PT IDER" rev 0x07: DMA
(unsupported), channel 0 wired to native-PCI, channel 1 wired to native-PCI
pciide0: using apic 1 int 18 (irq 11) for native-PCI interrupt
pciide0: channel 0 ignored (not responding; disabled or no drives?)
pciide0: channel 1 ignored (not responding; disabled or no drives?)
"Intel GM45 AMT SOL" rev 0x07 at pci0 dev 3 function 3 not configured
em0 at pci0 dev 25 function 0 "Intel ICH9 IGP M AMT" rev 0x03: apic 1 int 20
(irq 11), address 00:1c:25:99:d7:77
uhci0 at pci0 dev 26 function 0 "Intel 82801I USB" rev 0x03: apic 1 int 20
(irq 11)
uhci1 at pci0 dev 26 function 1 "Intel 82801I USB" rev 0x03: apic 1 int 21
(irq 11)
uhci2 at pci0 dev 26 function 2 "Intel 82801I USB" rev 0x03: apic 1 int 22
(irq 11)
ehci0 at pci0 dev 26 function 7 "Intel 82801I USB" rev 0x03: apic 1 int 23
(irq 11)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 82801I HD Audio" rev 0x03: apic 1 int
17 (irq 11)
azalia0: codecs: Conexant CX20561, Conexant/0x2c06, using Conexant CX20561
audio0 at azalia0
ppb1 at pci0 dev 28 function 0 "Intel 82801I PCIE" rev 0x03: apic 1 int 20
(irq 11)
pci2 at ppb1 bus 2
ppb2 at pci0 dev 28 function 1 "Intel 82801I PCIE" rev 0x03: apic 1 int 21
(irq 11)
pci3 at ppb2 bus 3
iwn0 at pci3 dev 0 function 0 "Intel WiFi Link 5300" rev 0x00: apic 1 int 17
(irq 11), MIMO 3T3R, MoW, address 00:21:6a:01:d0:b6
ppb3 at pci0 dev 28 function 3 "Intel 82801I PCIE" rev 0x03: apic 1 int 23
(irq 11)
pci4 at ppb3 bus 5
ppb4 at pci0 dev 28 function 4 "Intel 82801I PCIE" rev 0x03: apic 1 int 20
(irq 11)
pci5 at ppb4 bus 13
uhci3 at pci0 dev 29 function 0 "Intel 82801I USB" rev 0x03: apic 1 int 16
(irq 11)
uhci4 at pci0 dev 29 function 1 "Intel 82801I USB" rev 0x03: apic 1 int 17
(irq 11)
uhci5 at pci0 dev 29 function 2 "Intel 82801I USB" rev 0x03: apic 1 int 18
(irq 11)
ehci1 at pci0 dev 29 function 7 "Intel 82801I USB" rev 0x03: apic 1 int 19
(irq 11)
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb5 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x93
pci6 at ppb5 bus 21
cbb0 at pci6 dev 0 function 0 "Ricoh 5C476 CardBus" rev 0xba: apic 1 int 16
(irq 11)
"Ricoh 5C832 Firewire" rev 0x04 at pci6 dev 0 function 1 not configured
sdhc0 at pci6 dev 0 function 2 "Ricoh 5C822 SD/MMC" rev 0x21: apic 1 int 18
(irq 11)
sdmmc0 at sdhc0
"Ricoh 5C843 MMC" rev 0x11 at pci6 dev 0 function 3 not configured
"Ricoh 5C592 Memory Stick" rev 0x11 at pci6 dev 0 function 4 not configured
"Ricoh 5C852 xD" rev 0x11 at pci6 dev 0 function 5 not configured
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 22 device 0 cacheline 0x0, lattimer 0xb0
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0 "Intel 82801IEM LPC" rev 0x03
ahci0 at pci0 dev 31 function 2 "Intel 82801I AHCI" rev 0x03: apic 1 int 16
(irq 11), AHCI 1.2
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 0 lun 0: <ATA, ST9500420AS, 0002> SCSI3 0/direct fixed
sd0: 476940MB, 512 bytes/sec, 976773168 sec total
sd1 at scsibus0 targ 1 lun 0: <ATA, WDC WD6400BEVT-0, 01.0> SCSI3 0/direct
fixed
sd1: 610480MB, 512 bytes/sec, 1250263728 sec total
ichiic0 at pci0 dev 31 function 3 "Intel 82801I SMBus" rev 0x03: apic 1 int 23
(irq 11)
iic0 at ichiic0
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb6 at uhci4: USB revision 1.0
uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb7 at uhci5: USB revision 1.0
uhub7 at usb7 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
aps0 at isa0 port 0x1600/31
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
mtrr: Pentium Pro MTRR support
com3 at pcmcia0 function 0 "U.S. Robotics, XJ/CC1560, Megahertz 56kbps Modem"
port 0x53f8/8: ns16550a, 16 byte fifo
scsibus1 at sdmmc0: 2 targets, initiator 0
sd2 at scsibus1 targ 1 lun 0: <SD/MMC, Drive #01, > SCSI2 0/direct fixed
sd2: 15534MB, 512 bytes/sec, 31813632 sec total
ubt0 at uhub3 port 2 "Lenovo Computer Corp ThinkPad Bluetooth with Enhanced
Data Rate II" rev 2.00/3.52 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
root on sd0a swap on sd0b dump on sd0b
WARNING: / was not properly unmounted
syncing disks... done
uhci3: host controller halted
rebooting...
OpenBSD 4.7-current (GENERIC) #6: Wed Apr 7 20:46:26 EDT 2010
root@paladin.hsd1.mi.comcast.net.:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz ("GenuineIntel" 686-class)
2.80 GHz
cpu0:
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1
real mem = 2123657216 (2025MB)
avail mem = 2048655360 (1953MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 09/24/08, BIOS32 rev. 0 @ 0xfdc80,
SMBIOS rev. 2.4 @ 0xe0010 (74 entries)
bios0: vendor LENOVO version "6FET46WW (1.16 )" date 09/24/2008
bios0: LENOVO 4061CTO
acpi0 at bios0: rev 2
acpi0: tables DSDT FACP SSDT ECDT APIC MCFG HPET SLIC BOOT ASF! SSDT SSDT SSDT
SSDT
acpi0: wakeup devices LID_(S3) SLPB(S3) UART(S3) IGBE(S4) EXP0(S4) EXP1(S4)
EXP2(S4) EXP3(S4) EXP4(S4) PCI1(S4) USB0(S3) USB1(S3) USB2(S3) USB3(S3) USB4
(S3) USB5(S3) EHC0(S3) EHC1(S3) HDEF(S4)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 266MHz
cpu at mainbus0: not configured
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins
ioapic0: misconfigured as apic 2, remapped to apid 1
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (AGP_)
acpiprt2 at acpi0: bus 2 (EXP0)
acpiprt3 at acpi0: bus 3 (EXP1)
acpiprt4 at acpi0: bus -1 (EXP2)
acpiprt5 at acpi0: bus 5 (EXP3)
acpiprt6 at acpi0: bus 13 (EXP4)
acpiprt7 at acpi0: bus 21 (PCI1)
acpiec0 at acpi0
acpicpu0 at acpi0: C3, C2, C1, PSS
acpipwrres0 at acpi0: PUBS
acpitz0 at acpi0: critical temperature 127 degC
acpitz1 at acpi0: critical temperature 100 degC
acpibtn0 at acpi0: LID_
acpibtn1 at acpi0: SLPB
acpibat0 at acpi0: BAT0 model "42T4619" serial 30781 type LION oem "SANYO"
acpibat1 at acpi0: BAT1 not present
acpiac0 at acpi0: AC unit online
acpithinkpad0 at acpi0
acpidock0 at acpi0: GDCK not docked (0)
bios0: ROM list: 0xc0000/0xfc00 0xd0000/0x1000 0xd1000/0x1000 0xd2000/0x1000
0xde000/0x1800! 0xe0000/0x10000
cpu0: Enhanced SpeedStep 2794 MHz: speeds: 2801, 2800, 2133, 1600, 800 MHz
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel GM45 Host" rev 0x07
ppb0 at pci0 dev 1 function 0 "Intel GM45 PCIE" rev 0x07: apic 1 int 16 (irq
11)
pci1 at ppb0 bus 1
vga1 at pci1 dev 0 function 0 "ATI Mobility Radeon HD 3650" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
radeondrm0 at vga1: apic 1 int 16 (irq 11)
drm0 at radeondrm0
"Intel GM45 HECI" rev 0x07 at pci0 dev 3 function 0 not configured
pciide0 at pci0 dev 3 function 2 "Intel GM45 PT IDER" rev 0x07: DMA
(unsupported), channel 0 wired to native-PCI, channel 1 wired to native-PCI
pciide0: using apic 1 int 18 (irq 11) for native-PCI interrupt
pciide0: channel 0 ignored (not responding; disabled or no drives?)
pciide0: channel 1 ignored (not responding; disabled or no drives?)
"Intel GM45 AMT SOL" rev 0x07 at pci0 dev 3 function 3 not configured
em0 at pci0 dev 25 function 0 "Intel ICH9 IGP M AMT" rev 0x03: apic 1 int 20
(irq 11), address 00:1c:25:99:d7:77
uhci0 at pci0 dev 26 function 0 "Intel 82801I USB" rev 0x03: apic 1 int 20
(irq 11)
uhci1 at pci0 dev 26 function 1 "Intel 82801I USB" rev 0x03: apic 1 int 21
(irq 11)
uhci2 at pci0 dev 26 function 2 "Intel 82801I USB" rev 0x03: apic 1 int 22
(irq 11)
ehci0 at pci0 dev 26 function 7 "Intel 82801I USB" rev 0x03: apic 1 int 23
(irq 11)
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
azalia0 at pci0 dev 27 function 0 "Intel 82801I HD Audio" rev 0x03: apic 1 int
17 (irq 11)
azalia0: codecs: Conexant CX20561, Conexant/0x2c06, using Conexant CX20561
audio0 at azalia0
ppb1 at pci0 dev 28 function 0 "Intel 82801I PCIE" rev 0x03: apic 1 int 20
(irq 11)
pci2 at ppb1 bus 2
ppb2 at pci0 dev 28 function 1 "Intel 82801I PCIE" rev 0x03: apic 1 int 21
(irq 11)
pci3 at ppb2 bus 3
iwn0 at pci3 dev 0 function 0 "Intel WiFi Link 5300" rev 0x00: apic 1 int 17
(irq 11), MIMO 3T3R, MoW, address 00:21:6a:01:d0:b6
ppb3 at pci0 dev 28 function 3 "Intel 82801I PCIE" rev 0x03: apic 1 int 23
(irq 11)
pci4 at ppb3 bus 5
ppb4 at pci0 dev 28 function 4 "Intel 82801I PCIE" rev 0x03: apic 1 int 20
(irq 11)
pci5 at ppb4 bus 13
uhci3 at pci0 dev 29 function 0 "Intel 82801I USB" rev 0x03: apic 1 int 16
(irq 11)
uhci4 at pci0 dev 29 function 1 "Intel 82801I USB" rev 0x03: apic 1 int 17
(irq 11)
uhci5 at pci0 dev 29 function 2 "Intel 82801I USB" rev 0x03: apic 1 int 18
(irq 11)
ehci1 at pci0 dev 29 function 7 "Intel 82801I USB" rev 0x03: apic 1 int 19
(irq 11)
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb5 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x93
pci6 at ppb5 bus 21
cbb0 at pci6 dev 0 function 0 "Ricoh 5C476 CardBus" rev 0xba: apic 1 int 16
(irq 11)
"Ricoh 5C832 Firewire" rev 0x04 at pci6 dev 0 function 1 not configured
sdhc0 at pci6 dev 0 function 2 "Ricoh 5C822 SD/MMC" rev 0x21: apic 1 int 18
(irq 11)
sdmmc0 at sdhc0
"Ricoh 5C843 MMC" rev 0x11 at pci6 dev 0 function 3 not configured
"Ricoh 5C592 Memory Stick" rev 0x11 at pci6 dev 0 function 4 not configured
"Ricoh 5C852 xD" rev 0x11 at pci6 dev 0 function 5 not configured
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 22 device 0 cacheline 0x0, lattimer 0xb0
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0 "Intel 82801IEM LPC" rev 0x03
ahci0 at pci0 dev 31 function 2 "Intel 82801I AHCI" rev 0x03: apic 1 int 16
(irq 11), AHCI 1.2
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 0 lun 0: <ATA, ST9500420AS, 0002> SCSI3 0/direct fixed
sd0: 476940MB, 512 bytes/sec, 976773168 sec total
sd1 at scsibus0 targ 1 lun 0: <ATA, WDC WD6400BEVT-0, 01.0> SCSI3 0/direct
fixed
sd1: 610480MB, 512 bytes/sec, 1250263728 sec total
ichiic0 at pci0 dev 31 function 3 "Intel 82801I SMBus" rev 0x03: apic 1 int 23
(irq 11)
iic0 at ichiic0
usb2 at uhci0: USB revision 1.0
uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci1: USB revision 1.0
uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci2: USB revision 1.0
uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb5 at uhci3: USB revision 1.0
uhub5 at usb5 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb6 at uhci4: USB revision 1.0
uhub6 at usb6 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb7 at uhci5: USB revision 1.0
uhub7 at usb7 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
aps0 at isa0 port 0x1600/31
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
mtrr: Pentium Pro MTRR support
com3 at pcmcia0 function 0 "U.S. Robotics, XJ/CC1560, Megahertz 56kbps Modem"
port 0x53f8/8: ns16550a, 16 byte fifo
scsibus1 at sdmmc0: 2 targets, initiator 0
sd2 at scsibus1 targ 1 lun 0: <SD/MMC, Drive #01, > SCSI2 0/direct fixed
sd2: 15534MB, 512 bytes/sec, 31813632 sec total
ubt0 at uhub3 port 2 "Lenovo Computer Corp ThinkPad Bluetooth with Enhanced
Data Rate II" rev 2.00/3.52 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
root on sd0a swap on sd0b dump on sd0b