/* RSD PTR: Checksum=197, OEMID=LENOVO, RsdtAddress=0x7bb6a472 */ /* RSDT: Length=92, Revision=1, Checksum=26, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x7bb6a700, 0x7bb6a781, 0x7bb79b6b, 0x7bb79bbd, 0x7bb79c35, 0x7bb79c71, 0x7bb79dc2, 0x7bb79f38, 0x7bb79f60, 0x7bb8d213, 0x7b907000, 0x7b8d4000, 0x7b8d3000, 0x7b8d2000 } */ /* DSDT=0x7bb6a9db 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=163, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=MSFT, Creator Revision=0x3000000 */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "LENOVO", //OEMID "TP-7U", //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, 0x7bb8e000, 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, 0x7bb7b013, 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=174, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=MSFT, Creator Revision=0x3000000 */ /* ECDT: Length=82, Revision=1, Checksum=20, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=LNVO, Creator Revision=0x1 */ /* APIC: Length=120, Revision=1, Checksum=246, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=LNVO, Creator Revision=0x1 */ /* MCFG: Length=60, Revision=1, Checksum=70, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=LNVO, Creator Revision=0x1 */ /* HPET: Length=56, Revision=1, Checksum=94, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=LNVO, Creator Revision=0x1 */ /* SLIC: Length=374, Revision=1, Checksum=107, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID= LTP, Creator Revision=0x0 */ /* BOOT: Length=40, Revision=1, Checksum=92, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID= LTP, Creator Revision=0x1 */ /* ASF!: Length=160, Revision=16, Checksum=228, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=PTL, Creator Revision=0x1 */ /* SSDT: Length=1359, Revision=1, Checksum=208, OEMID=LENOVO, OEM Table ID=TP-7U, OEM Revision=0x1160, Creator ID=INTL, Creator Revision=0x20050513 */ /* TCPA: Length=50, Revision=0, Checksum=130, OEMID=, OEM Table ID=, OEM Revision=0x0, Creator ID=, Creator Revision=0x0 */ /* SSDT: Length=1621, Revision=1, Checksum=182, 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 */