/* RSD PTR: Checksum=125, OEMID=DELL, RsdtAddress=0x276e600e */ /* RSDT: Length=48, Revision=1, Checksum=161, OEMID=DELL, OEM Table ID=Montara, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x276ebed2, 0x276ebfd8, 0x276e603e } */ /* DSDT=0x276e64a4 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=0x1020-0x1020 PM2_TMR_BLK=0x1008-0x100b PM2_GPE0_BLK=0x1028-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,SLP_BUTTON,DCK_CAP} */ /* DSDT: Length=23086, Revision=1, Checksum=43, OEMID=INTEL, OEM Table ID=MONTARAG, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000e */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x1, //DSDT Revision "INTEL", //OEMID "MONTARAG", //TABLE ID 0x6040000 //OEM Revision ) { OperationRegion(PORT, SystemIO, 0x80, 0x2) Field(PORT, ByteAcc, NoLock, Preserve) { P80H, 8, P81H, 8 } OperationRegion(IO_T, SystemIO, 0x0800, 0x10) Field(IO_T, ByteAcc, NoLock, Preserve) { TRP0, 8 } OperationRegion(A_IO, SystemIO, 0x1000, 0x30) Field(A_IO, ByteAcc, NoLock, Preserve) { PMS0, 8, PMS1, 8, PME0, 8, PME1, 8, PMC0, 8, PMC1, 8, Offset(0x8), TMR0, 8, TMR1, 8, TMR2, 8, TMR3, 8, Offset(0x10), PRC0, 8, PRC1, 8, PRC2, 8, PRC3, 8, Offset(0x2a), GPS0, 8, GPS1, 8 } OperationRegion(GPIO, SystemIO, 0x1180, 0x3c) Field(GPIO, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset(0xc), GL00, 8, GL01, 8, GL02, 8, GL03, 8, Offset(0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset(0x2c), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, , 1, DRST, 1, , 4, LDBK, 1, Offset(0x39), GL05, 8, GL06, 8, GL07, 8 } OperationRegion(MNVS, SystemMemory, 0x276ecd79, 0x40) Field(MNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, DBGS, 8, DCKS, 4, CDCK, 4, FPEN, 8, FPST, 8, LIDS, 8, PWRS, 8, Offset(0x14), CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, TZON, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, Offset(0x20), BVAL, 32, TMP0, 8, TMP1, 8, TMP2, 8, TMP3, 8, TMP4, 32, TMP5, 32, IGDS, 8, LCDA, 16, TLST, 8, CADL, 16, PADL, 16, CSTE, 16, NSTE, 16, SSTE, 16 } Mutex(MUTX, 0) Name(_S0_, Package(0x3) { 0x0, 0x0, 0x0, }) Name(_S3_, Package(0x3) { 0x5, 0x5, 0x0, }) Name(_S4_, Package(0x3) { 0x6, 0x6, 0x0, }) Name(_S5_, Package(0x3) { 0x7, 0x7, 0x0, }) Scope(\_PR_) { Processor(CPU0, 0, 0x1010, 0x6) { Method(_CST) { If(PWRS) { Return(Package(0x5) { 0x4, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x1, 0x1, 0x03e8, }, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x14, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x2, 0x1, 0x01f4, }, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x3, 0x55, 0xfa, }, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x16, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x3, 0xb9, 0x64, }, }) } Else { Return(Package(0x5) { 0x4, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x1, 0x1, 0x03e8, }, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x14, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x2, 0x1, 0x01f4, }, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x3, 0x55, 0xfa, }, Package(0x4) { Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x16, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }, 0x3, 0xb9, 0x64, }, }) } } } } Name(\GPIC, 0x0) Name(\CTYP, 0x0) Name(\ECON, 0x0) Name(\DSEN, 0x1) Name(\WEND, 0x0) Name(\HSAV, 0x0) Name(\INWK, 0x0) Method(\_PIC, 1) { Store(Arg0, GPIC) } Method(_PTS, 1) { Store(Arg0, P80H) Store(\_SB_.PCI0.PCIB.DHID, \HSAV) If(LEqual(Arg0, 0x5)) { \_SB_.PHS_(0x9a) \_SB_.PHS1(0x9c, 0xff) Store(Zero, LDBK) \_SB_.PHS_(0x9d) } If(LEqual(Arg0, 0x4)) { \_SB_.PHS_(0x9a) \_SB_.PHS1(0x98, 0x14) } If(LEqual(\_SB_.MEDB._STA(), 0xf)) { Store(One, \_SB_.MEDB.DCBF) } Else { Store(Zero, \_SB_.MEDB.DCBF) } Store(Zero, \_SB_.MEDB.S4FL) Store(Zero, \_SB_.MEDB.SPUD) And(GL03, 0xe5, GL03) } Method(_WAK, 1) { Store(0x0, P80H) Store(\HSAV, \_SB_.PCI0.PCIB.DHID) \_SB_.PHS1(0x98, 0x0) If(LEqual(Arg0, 0x4)) { Notify(\_SB_.PWRB, 0x2) Store(One, \_SB_.MEDB.S4FL) } If(LEqual(\_SB_.MEDB.DCBF, One)) { If(LEqual(\_SB_.MEDB._STA(), Zero)) { Store(One, \_SB_.MEDB.SPUD) Notify(\_SB_.MEDB, 0x1) Store(Zero, \_SB_.MEDB.DCST) } } Else { If(LEqual(\_SB_.MEDB._STA(), 0xf)) { Notify(\_SB_.MEDB, 0x0) Store(One, \_SB_.MEDB.DCST) } } Store(\_SB_.PCI0.LPCB.H_EC.ACEX, PWRS) Notify(\_SB_.BAT1, 0x1) Notify(\_SB_.BAT1, 0x81) Notify(\_SB_.BAT2, 0x1) Notify(\_SB_.BAT2, 0x81) Return(Package(0x2) { 0x0, 0x0, }) } Scope(\_GPE) { Method(_L05) { Notify(\_SB_.PCI0.MODM, 0x2) Notify(\_SB_.PWRB, 0x2) } Method(_L0B) { Notify(\_SB_.PCI0.PCIB, 0x2) } Method(_L14) { If(\_SB_.MEDB.DSFL) { \_SB_.MEDB.EVNT() Signal(\_SB_.MEDB.DSYN) Store(Zero, \_SB_.MEDB.DSFL) } Else { Store(One, \_SB_.MEDB.DSFL) If(LEqual(\_SB_.MEDB.ICNF, 0x0)) { If(IGDS) { Store(0x10, SMIF) Store(0x0, TRP0) } Store(0x1, \_SB_.MEDB.ICNF) } Wait(\_SB_.MEDB.DSYN, 0xffff) Reset(\_SB_.MEDB.DSYN) If(LEqual(\_SB_.MEDB.ICNF, 0x1)) { If(IGDS) { Store(0x12, SMIF) Store(0x0, TRP0) } Store(0x0, \_SB_.MEDB.ICNF) } } } Method(_L15) { If(\_SB_.MEDB.DSFL) { \_SB_.MEDB.EVNT() Signal(\_SB_.MEDB.DSYN) Store(Zero, \_SB_.MEDB.DSFL) } Else { Store(One, \_SB_.MEDB.DSFL) If(LEqual(\_SB_.MEDB.ICNF, 0x0)) { If(IGDS) { Store(0x10, SMIF) Store(0x0, TRP0) } Store(0x1, \_SB_.MEDB.ICNF) } Wait(\_SB_.MEDB.DSYN, 0xffff) Reset(\_SB_.MEDB.DSYN) If(LEqual(\_SB_.MEDB.ICNF, 0x1)) { If(IGDS) { Store(0x12, SMIF) Store(0x0, TRP0) } Store(0x0, \_SB_.MEDB.ICNF) } } } Method(_L1D) { Notify(\_SB_.PWRB, 0x2) If(ECON) { If(LNot(LEqual(LIDS, \_SB_.PCI0.LPCB.H_EC.LIDI))) { Store(\_SB_.PCI0.LPCB.H_EC.LIDI, LIDS) If(IGDS) { LSDS(LIDS) } Else { Store(0x2a, SMIF) Store(0x0, TRP0) } Sleep(0x01f4) Sleep(0x01f4) Notify(\_SB_.LID0, 0x80) } If(LNot(LEqual(PWRS, \_SB_.PCI0.LPCB.H_EC.ACEX))) { Store(\_SB_.PCI0.LPCB.H_EC.ACEX, PWRS) Store(0x2b, SMIF) Store(0x0, TRP0) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT2, 0x80) Notify(\_PR_.CPU0, 0x80) Sleep(0x64) Notify(\_PR_.CPU0, 0x81) } } } } Method(BTTM, 1) { If(FPEN) { If(FPST) { If(LNot(LLess(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT2, 0x80) } } Else { If(LNot(LGreater(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT2, 0x80) } } } Else { If(PWRS) { If(LNot(LLess(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT2, 0x80) } } Else { If(LNot(LGreater(Arg0, BVAL))) { Store(Arg0, BVAL) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT2, 0x80) } } } } Method(HKDS, 1, Serialized) { If(LEqual(0x0, DSEN)) { Store(Arg0, SMIF) Store(0x0, TRP0) If(LEqual(SMIF, 0x0)) { If(LNot(LEqual(CADL, PADL))) { Store(CADL, PADL) If(LEqual(OSYS, 0x07d1)) { Notify(\_SB_.PCI0, 0x0) } Else { Notify(\_SB_.PCI0.GFX0, 0x0) } Sleep(0x02ee) } Notify(\_SB_.PCI0.GFX0, 0x80) } } If(LEqual(0x1, DSEN)) { Store(Increment(Arg0), SMIF) Store(0x0, TRP0) If(LEqual(SMIF, 0x0)) { Notify(\_SB_.PCI0.GFX0, 0x81) } } } Method(LSDS, 1, Serialized) { If(Arg0) { HKDS(0xc) } Else { HKDS(0xe) } } Method(PNOT, 0, Serialized) { Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT2, 0x80) Notify(\_PR_.CPU0, 0x80) Sleep(0x64) Notify(\_PR_.CPU0, 0x81) } Scope(\_TZ_) { PowerResource(PFAN, 0, 0) { Method(_STA) { Return(FANE) } Method(_ON_) { Store(0x1, FANE) } Method(_OFF) { Store(0x0, FANE) } } Name(FANE, 0x1) Device(FAN0) { Name(_HID, 0x0b0cd041) Name(_PR0, Package(0x1) { PFAN, }) } ThermalZone(THRM) { Method(_TMP, 0, Serialized) { If(LEqual(\ECON, 0x1)) { If(LEqual(\_SB_.PCI0.LPCB.H_EC.TZF5, One)) { If(LNot(LEqual(\TZON, 0x5))) { Store(0x5, \TZON) PNOT() } } Else { If(LEqual(\_SB_.PCI0.LPCB.H_EC.TZF4, One)) { If(LNot(LEqual(\TZON, 0x4))) { Store(0x4, \TZON) PNOT() } } Else { If(LNot(LEqual(\TZON, 0x0))) { Store(0x0, \TZON) PNOT() } } } Store(\_SB_.PCI0.LPCB.H_EC.CTMP, Local0) If(LNot(LEqual(Local0, 0xff))) { Return(Add(0x0aac, Multiply(Local0, 0xa, ), )) } Else { Return(0x0bb8) } } Else { Return(0x0bb8) } } Method(_AC0, 0, Serialized) { Store(0x41, Local0) Return(Add(0x0aac, Multiply(Local0, 0xa, ), )) } Name(_AL0, Package(0x1) { FAN0, }) Method(XPSV, 0, Serialized) { Store(0x78, Local0) Return(Add(0x0aac, Multiply(Local0, 0xa, ), )) } Name(XPSL, Package(0x1) { \_PR_.CPU0, }) Method(_CRT, 0, Serialized) { Store(0x54, Local0) Return(Add(0x0aac, Multiply(Local0, 0xa, ), )) } Method(_SCP, 1, Serialized) { Store("Not Support", Debug) } Name(_TC1, 0x4) Name(_TC2, 0x3) Name(_TSP, 0x96) } } Scope(\_SB_) { OperationRegion(PHSD, SystemMemory, 0x276fcdbd, 0x00000190) Field(PHSD, AnyAcc, NoLock, Preserve) { BCMD, 8, DID_, 32, INFO, 3152, Offset(0x190) } Field(PHSD, AnyAcc, NoLock, Preserve) { Offset(0x5), INF_, 8, INF1, 8, INF2, 8, INF3, 8 } Field(PHSD, AnyAcc, NoLock, Preserve) { Offset(0x5), INFW, 16 } Field(PHSD, AnyAcc, NoLock, Preserve) { Offset(0x5), INFD, 32 } OperationRegion(PHSI, SystemIO, 0x0000fe00, 0x00000002) Field(PHSI, AnyAcc, NoLock, Preserve) { SMIC, 8 } Mutex(MPHS, 0) Method(PHS_, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Zero, SMIC) Store(0x0, BCMD) Store(INF_, Local7) Release(MPHS) Return(Local7) } Method(PHSR, 1, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Zero, SMIC) Store(0x0, BCMD) Store(INFD, Local7) Release(MPHS) Return(Local7) } Method(PHS1, 2, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Arg1, INF_) Store(Zero, SMIC) Store(0x0, BCMD) Store(INF_, Local7) Release(MPHS) Return(Local7) } Method(PHS2, 3, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Arg1, INF_) Store(Arg2, INF1) Store(Zero, SMIC) Store(0x0, BCMD) Store(INFW, Local7) Release(MPHS) Return(Local7) } Method(PHS4, 5, Serialized) { Acquire(MPHS, 0xffff) Store(Arg0, BCMD) Store(Arg1, INF_) Store(Arg2, INF1) Store(Arg3, INF2) Store(Arg4, INF3) Store(Zero, SMIC) Store(0x0, BCMD) Store(INFD, Local7) Release(MPHS) Return(Local7) } Device(MEDB) { Name(_CID, "*PNP0C15") Name(_HID, "*SEC0002") Name(_UID, 0x2) Name(_BDN, 0x2) Event(DSYN) Event(DEVT) Method(_STA) { If(LEqual(OSYS, 0x07d0)) { If(LEqual(S4FL, One)) { If(LEqual(SPUD, One)) { Return(0xf) } } } Store(GPS0, Local0) And(Local0, 0x80, Local0) Store(Local0, GPS0) Store(GPS0, Local0) And(Local0, 0x80, Local0) If(LEqual(Local0, 0x80)) { Return(0xf) } Else { Return(0x0) } } Method(_DCK, 1) { If(LEqual(Arg0, 0x0)) { Sleep(0xc8) Return(0x1) } Else { Store(Zero, DRST) Sleep(0x1e) \_SB_.PHS_(0x90) Sleep(0x01f4) Sleep(0x01f4) Store(One, DRST) Sleep(0x01f4) Sleep(0x01f4) Sleep(0x01f4) Sleep(0x01f4) Store(One, \_SB_.MEDB.DCST) Store(Zero, \_SB_.MEDB.SPUD) If(IGDS) { HKDS(0x13) } Return(0x1) } } Method(_EJ0, 1) { Store(Zero, \_SB_.MEDB.DCST) Store(Zero, DRST) \_SB_.PHS_(0x91) Sleep(0x01f4) If(LEqual(SPUD, Zero)) { If(LEqual(ICNF, 0x0)) { Store(0x2, ICNF) If(IGDS) { Store(0x11, SMIF) Store(0x0, TRP0) } } Wait(DEVT, 0xffff) Reset(DEVT) If(LEqual(ICNF, 0x2)) { If(IGDS) { Store(0x12, SMIF) Store(0x0, TRP0) } Store(0x0, ICNF) } } Else { Store(Zero, \_SB_.MEDB.SPUD) } Sleep(0x01f4) If(IGDS) { HKDS(0x13) } Return(0x1) } Method(_EJ3, 1) { Store(Zero, DRST) \_SB_.PHS_(0x91) Sleep(0x01f4) If(LEqual(SPUD, Zero)) { } Else { Store(Zero, \_SB_.MEDB.SPUD) } Store(Zero, \_SB_.MEDB.DCST) Return(0x1) } Name(DCBF, 0x0) Name(DCST, 0x0) Name(DSFL, 0x0) Name(SPUD, 0x0) Name(ICNF, 0x0) Name(S4FL, 0x0) Method(EVNT) { Sleep(0xfa) Store(GPS0, Local0) And(Local0, 0x30, Local0) Store(Local0, GPS0) Store(GPS0, Local0) And(Local0, 0x30, Local0) Store(GIV0, Local1) And(Local1, 0x30, Local1) If(LNot(LEqual(Local0, Local1))) { If(LNot(LEqual(\_SB_.MEDB.DCST, Zero))) { Store(One, \_SB_.MEDB.SPUD) Notify(\_SB_.MEDB, 0x1) } Signal(\_SB_.MEDB.DEVT) Sleep(0xc8) } Else { If(LEqual(\_SB_.MEDB.DCST, Zero)) { Notify(\_SB_.MEDB, 0x0) } Sleep(0xc8) } XOr(GIV0, 0x30, GIV0) Sleep(0x1e) Store(GPS0, Local0) And(Local0, 0x30, Local0) Store(Local0, GPS0) } } Device(ADP1) { Name(_HID, "ACPI0003") Method(_PSR) { If(LEqual(\WEND, One)) { Store(Zero, \WEND) \_SB_.PHS_(0x97) Notify(\_PR_.CPU0, 0x80) Sleep(0x64) Notify(\_PR_.CPU0, 0x81) } If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS1(0x81, 0x2), Local0) } Else { Store(\_SB_.PCI0.LPCB.H_EC.ACEX, Local0) } Return(Local0) } Method(_PCL) { Return(Package(0x2) { \_SB_.BAT1, \_SB_.BAT2, }) } Method(_STA) { If(LEqual(\ECON, 0x0)) { Store(0xf, Local0) } Else { If(LEqual(\_SB_.PCI0.LPCB.H_EC.ACEX, 0x0)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Return(Local0) } } Device(BAT1) { Name(_HID, 0x0a0cd041) Name(_UID, 0x1) Name(BATI, Package(0xd) { 0x1, 0xffffffff, 0xffffffff, 0x1, 0xffffffff, 0xa, 0x3, 0x1, 0x1, "Unknown", "Unknown", "Unknown", "Unknown", }) Method(_BIF) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x8c, 0xb0, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(\_SB_.PHS2(0x8c, 0xb2, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) Store(Local0, Local2) } Store(\_SB_.PHS2(0x8c, 0xb4, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x4, )) } Else { Store(Local0, Index(BATI, 0x4, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B1AF, Local3) Store(\_SB_.PCI0.LPCB.H_EC.B1VL, Local4) Store(Local3, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(Local3, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) Store(Local0, Local2) } Store(Local4, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x4, )) } Else { Store(Local0, Index(BATI, 0x4, )) } } Store(Local2, Local0) Divide(Local0, 0x64, Local2, Local1) If(LNot(LLess(Local2, 0x32))) { Increment(Local1) } Multiply(Local1, 0xa, Local0) Store(Local0, Index(BATI, 0x5, )) Multiply(Local1, 0x3, Local0) Store(Local0, Index(BATI, 0x6, )) Store("", Index(BATI, 0x9, )) Store("", Index(BATI, 0xa, )) Store("LION", Index(BATI, 0xb, )) Store("DELL Computer Corporation", Index(BATI, 0xc, )) Return(BATI) } Name(STAT, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Method(_BST) { If(LEqual(\WEND, One)) { Store(Zero, \WEND) \_SB_.PHS_(0x97) Notify(\_PR_.CPU0, 0x80) Sleep(0x64) Notify(\_PR_.CPU0, 0x81) } If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x8b, 0x84, 0x0), Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(And(Local0, 0x4, )))) { If(LEqual(\PWRS, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(\_SB_.PHS2(0x8c, 0xa4, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x1, )) } Else { If(LNot(LLess(Local0, 0x8000))) { XOr(Local0, 0xffff, Local0) Increment(Local0) } Store(Local0, Index(STAT, 0x1, )) } Store(\_SB_.PHS2(0x8c, 0xa2, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(\_SB_.PHS2(0x8c, 0xa6, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x3, )) } Else { Store(Local0, Index(STAT, 0x3, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B1RR, Local3) Store(\_SB_.PCI0.LPCB.H_EC.B1PV, Local4) Store(Local3, Local0) And(Local0, 0xff, Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(And(Local0, 0x4, )))) { If(LEqual(\PWRS, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(Local4, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x1, )) } Else { If(LNot(LLess(Local0, 0x8000))) { XOr(Local0, 0xffff, Local0) Increment(Local0) } Store(Local0, Index(STAT, 0x1, )) } Store(Local3, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(Local4, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x3, )) } Else { Store(Local0, Index(STAT, 0x3, )) } } Return(STAT) } Method(_STA) { If(LEqual(\ECON, 0x0)) { If(LEqual(\_SB_.PHS1(0x81, 0x0), 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Else { If(LEqual(\_SB_.PCI0.LPCB.H_EC.B1EX, 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Return(Local0) } Method(_PCL) { Return(\_SB_) } } Device(BAT2) { Name(_HID, 0x0a0cd041) Name(_UID, 0x2) Name(BATI, Package(0xd) { 0x1, 0xffffffff, 0xffffffff, 0x1, 0xffffffff, 0xa, 0x3, 0x1, 0x1, "Unknown", "Unknown", "Unknown", "Unknown", }) Method(_BIF) { If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x8c, 0xb8, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(\_SB_.PHS2(0x8c, 0xba, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) Store(Local0, Local2) } Store(\_SB_.PHS2(0x8c, 0xbc, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x4, )) } Else { Store(Local0, Index(BATI, 0x4, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B2AF, Local3) Store(\_SB_.PCI0.LPCB.H_EC.B2VL, Local4) Store(Local3, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x1, )) } Else { Store(Local0, Index(BATI, 0x1, )) } Store(Local3, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x2, )) } Else { Store(Local0, Index(BATI, 0x2, )) Store(Local0, Local2) } Store(Local4, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(BATI, 0x4, )) } Else { Store(Local0, Index(BATI, 0x4, )) } } Store(Local2, Local0) Divide(Local0, 0x64, Local2, Local1) If(LNot(LLess(Local2, 0x32))) { Increment(Local1) } Multiply(Local1, 0xa, Local0) Store(Local0, Index(BATI, 0x5, )) Multiply(Local1, 0x3, Local0) Store(Local0, Index(BATI, 0x6, )) Store("", Index(BATI, 0x9, )) Store("", Index(BATI, 0xa, )) Store("LION", Index(BATI, 0xb, )) Store("DELL Computer Corporation", Index(BATI, 0xc, )) Return(BATI) } Name(STAT, Package(0x4) { 0x0, 0x0, 0x0, 0x0, }) Method(_BST) { If(LEqual(\WEND, One)) { Store(Zero, \WEND) \_SB_.PHS_(0x97) Notify(\_PR_.CPU0, 0x80) Sleep(0x64) Notify(\_PR_.CPU0, 0x81) } If(LEqual(\ECON, 0x0)) { Store(\_SB_.PHS2(0x8b, 0x85, 0x0), Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(And(Local0, 0x4, )))) { If(LEqual(\PWRS, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(\_SB_.PHS2(0x8c, 0xac, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x1, )) } Else { If(LNot(LLess(Local0, 0x8000))) { XOr(Local0, 0xffff, Local0) Increment(Local0) } Store(Local0, Index(STAT, 0x1, )) } Store(\_SB_.PHS2(0x8c, 0xaa, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(\_SB_.PHS2(0x8c, 0xae, 0x0), Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x3, )) } Else { Store(Local0, Index(STAT, 0x3, )) } } Else { Store(\_SB_.PCI0.LPCB.H_EC.B2RR, Local3) Store(\_SB_.PCI0.LPCB.H_EC.B2PV, Local4) Store(Local3, Local0) And(Local0, 0xff, Local0) If(LAnd(LNot(LEqual(Local0, 0x0)), LNot(And(Local0, 0x4, )))) { If(LEqual(\PWRS, 0x1)) { Store(0x2, Local0) } Else { Store(0x1, Local0) } } Store(Local0, Index(STAT, 0x0, )) Store(Local4, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x1, )) } Else { If(LNot(LLess(Local0, 0x8000))) { XOr(Local0, 0xffff, Local0) Increment(Local0) } Store(Local0, Index(STAT, 0x1, )) } Store(Local3, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x2, )) } Else { Store(Local0, Index(STAT, 0x2, )) } Store(Local4, Local0) ShiftRight(Local0, 0x10, Local0) And(Local0, 0xffff, Local0) ShiftLeft(Local0, 0x8, Local1) And(Local1, 0xff00, Local1) ShiftRight(Local0, 0x8, Local0) Or(Local0, Local1, Local0) If(LEqual(Local0, 0xffff)) { Store(0xffffffff, Index(STAT, 0x3, )) } Else { Store(Local0, Index(STAT, 0x3, )) } } Return(STAT) } Method(_STA) { If(LEqual(\ECON, 0x0)) { If(LEqual(\_SB_.PHS1(0x81, 0x1), 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Else { If(LEqual(\_SB_.PCI0.LPCB.H_EC.B2EX, 0x1)) { Store(0x1f, Local0) } Else { Store(0xf, Local0) } } Return(Local0) } Method(_PCL) { Return(\_SB_) } } Device(LID0) { Name(_HID, 0x0d0cd041) Name(_PRW, Package(0x2) { 0x1d, 0x3, }) Method(_PSW, 1) { If(\ECON) { If(Arg0) { Store(One, \_SB_.PCI0.LPCB.H_EC.LIDE) } Else { Store(Zero, \_SB_.PCI0.LPCB.H_EC.LIDE) } } } Method(_STA) { Return(0xf) } Method(_LID) { If(\ECON) { If(LEqual(\_SB_.PCI0.LPCB.H_EC.LIDI, 0x1)) { Return(0x1) } } Return(0x0) } } Device(SLPB) { Name(_HID, 0x0e0cd041) Method(_STA) { Return(0xf) } } Device(PWRB) { Name(_HID, 0x0c0cd041) Name(_PRW, Package(0x2) { 0x1d, 0x4, }) } Device(PCI0) { Method(_INI) { If(CondRefOf(_OSI, Local0)) { Store(0x07d1, OSYS) \_SB_.PHS1(0x92, 0x3) } Else { If(LEqual(SizeOf(_OS_), 0x14)) { Store(0x07d0, OSYS) \_SB_.PHS1(0x92, 0x2) } Else { If(LEqual(SizeOf(_OS_), 0x27)) { Store(0x07cf, OSYS) \_SB_.PHS1(0x92, 0x1) } Else { Store(0x07ce, OSYS) \_SB_.PHS1(0x92, 0x0) } } } If(LNot(LGreater(OSYS, 0x07cf))) { Store(0x1, ECON) } \_SB_.PHS1(0x98, 0x0) } Method(_S3D) { Return(0x2) } Method(_S4D) { Return(0x2) } Name(_HID, 0x030ad041) Name(_ADR, 0x0) Name(_BBN, 0x0) OperationRegion(HBUS, PCI_Config, 0x40, 0xc0) Field(HBUS, DWordAcc, NoLock, Preserve) { Offset(0x18), , 7, HENA, 1, , 4, PM0H, 2, Offset(0x1a), PM1L, 2, , 2, PM1H, 2, Offset(0x1b), PM2L, 2, , 2, PM2H, 2, Offset(0x1c), PM3L, 2, , 2, PM3H, 2, Offset(0x1d), PM4L, 2, , 2, PM4H, 2, Offset(0x1e), PM5L, 2, , 2, PM5H, 2, Offset(0x1f), PM6L, 2, , 2, PM6H, 2, Offset(0x20) } Name(BUF0, Buffer(0x0201) {0x88, 0xe, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x18, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x87, 0x18, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xff, 0x3f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc, 0x0, 0xff, 0x7f, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xbf, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xc, 0x0, 0xff, 0xff, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0xff, 0x3f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xd, 0x0, 0xff, 0x7f, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xd, 0x0, 0xff, 0xbf, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xd, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0x3f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xe, 0x0, 0xff, 0x7f, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xe, 0x0, 0xff, 0xbf, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x0, 0xff, 0xff, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x18, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { If(PM1L) { CreateDWordField(BUF0, 0x80, C0LN) Store(Zero, C0LN) } If(LEqual(PM1L, 0x1)) { CreateBitField(BUF0, 0x0378, C0RW) Store(Zero, C0RW) } If(PM1H) { CreateDWordField(BUF0, 0x9b, C4LN) Store(Zero, C4LN) } If(LEqual(PM1H, 0x1)) { CreateBitField(BUF0, 0x0450, C4RW) Store(Zero, C4RW) } If(PM2L) { CreateDWordField(BUF0, 0xb6, C8LN) Store(Zero, C8LN) } If(LEqual(PM2L, 0x1)) { CreateBitField(BUF0, 0x0528, C8RW) Store(Zero, C8RW) } If(PM2H) { CreateDWordField(BUF0, 0xd1, CCLN) Store(Zero, CCLN) } If(LEqual(PM2H, 0x1)) { CreateBitField(BUF0, 0x0600, CCRW) Store(Zero, CCRW) } If(PM3L) { CreateDWordField(BUF0, 0xec, D0LN) Store(Zero, D0LN) } If(LEqual(PM3L, 0x1)) { CreateBitField(BUF0, 0x06d8, D0RW) Store(Zero, D0RW) } If(PM3H) { CreateDWordField(BUF0, 0x0107, D4LN) Store(Zero, D4LN) } If(LEqual(PM3H, 0x1)) { CreateBitField(BUF0, 0x07b0, D4RW) Store(Zero, D4RW) } If(PM4L) { CreateDWordField(BUF0, 0x0122, D8LN) Store(Zero, D8LN) } If(LEqual(PM4L, 0x1)) { CreateBitField(BUF0, 0x0888, D8RW) Store(Zero, D8RW) } If(PM4H) { CreateDWordField(BUF0, 0x013d, DCLN) Store(Zero, DCLN) } If(LEqual(PM4H, 0x1)) { CreateBitField(BUF0, 0x0960, DCRW) Store(Zero, DCRW) } If(PM5L) { CreateDWordField(BUF0, 0x0158, E0LN) Store(Zero, E0LN) } If(LEqual(PM5L, 0x1)) { CreateBitField(BUF0, 0x0a38, E0RW) Store(Zero, E0RW) } If(PM5H) { CreateDWordField(BUF0, 0x0173, E4LN) Store(Zero, E4LN) } If(LEqual(PM5H, 0x1)) { CreateBitField(BUF0, 0x0b10, E4RW) Store(Zero, E4RW) } If(PM6L) { CreateDWordField(BUF0, 0x018e, E8LN) Store(Zero, E8LN) } If(LEqual(PM6L, 0x1)) { CreateBitField(BUF0, 0x0be8, E8RW) Store(Zero, E8RW) } If(PM6H) { CreateDWordField(BUF0, 0x01a9, ECLN) Store(Zero, ECLN) } If(LEqual(PM6H, 0x1)) { CreateBitField(BUF0, 0x0cc0, ECRW) Store(Zero, ECRW) } If(PM0H) { CreateDWordField(BUF0, 0x01c4, F0LN) Store(Zero, F0LN) } If(LEqual(PM0H, 0x1)) { CreateBitField(BUF0, 0x0d98, F0RW) Store(Zero, F0RW) } CreateDWordField(BUF0, 0x01d3, M1MN) CreateDWordField(BUF0, 0x01d7, M1MX) CreateDWordField(BUF0, 0x01df, M1LN) Multiply(0x02000000, \_SB_.PCI0.MBUS.DRB3, M1MN) Add(Subtract(M1MX, M1MN, ), 0x1, M1LN) ShiftRight(And(\_SB_.PCI0.LPCB.HPTE, 0x00038000, ), 0xf, Local0) If(And(Local0, 0x4, )) { CreateDWordField(BUF0, 0x01ee, M2MN) CreateDWordField(BUF0, 0x01f2, M2MX) CreateDWordField(BUF0, 0x01fa, M2LN) Store(0xfed00000, M2MN) Store(0xfed003ff, M2MX) Store(0x0400, M2LN) If(LEqual(Local0, 0x5)) { Store(0xfed01000, M2MN) Store(0xfed013ff, M2MX) } If(LEqual(Local0, 0x6)) { Store(0xfed02000, M2MN) Store(0xfed023ff, M2MX) } If(LEqual(Local0, 0x7)) { Store(0xfed03000, M2MN) Store(0xfed033ff, M2MX) } } Return(BUF0) } Method(_PRT) { If(GPIC) { Return(Package(0x7) { Package(0x4) { 0x0002ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x001dffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x001dffff, 0x1, 0x0, 0x13, }, Package(0x4) { 0x001dffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x001dffff, 0x3, 0x0, 0x17, }, Package(0x4) { 0x001fffff, 0x0, 0x0, 0x12, }, Package(0x4) { 0x001fffff, 0x1, 0x0, 0x11, }, }) } Else { Return(Package(0x7) { Package(0x4) { 0x0002ffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x001dffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x001dffff, 0x1, \_SB_.PCI0.LPCB.LNKD, 0x0, }, Package(0x4) { 0x001dffff, 0x2, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x001dffff, 0x3, \_SB_.PCI0.LPCB.LNKH, 0x0, }, Package(0x4) { 0x001fffff, 0x0, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x001fffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, }) } } Device(MBUS) { Name(_ADR, 0x1) OperationRegion(MBUS, PCI_Config, 0x40, 0xc0) Field(MBUS, DWordAcc, NoLock, Preserve) { DRB0, 8, DRB1, 8, DRB2, 8, DRB3, 8 } } Device(GFX0) { Name(_ADR, 0x00020000) OperationRegion(VNVS, SystemMemory, 0x276ecdb9, 0x00010004) Field(VNVS, AnyAcc, Lock, Preserve) { RSIZ, 32, RBUF, 524288 } Method(_DOS, 1) { Store(And(Arg0, 0x3, ), DSEN) } Method(_DOD) { If(LEqual(LCDA, 0x0110)) { Return(Package(0x6) { 0x00010100, 0x00010110, 0x00010200, 0x00010300, 0x00010500, 0x00010600, }) } Return(Package(0x6) { 0x00010100, 0x00010200, 0x00010300, 0x00010400, 0x00010500, 0x00010600, }) } Method(_ROM, 2) { Store(Arg0, Local0) Store(Arg1, Local1) If(LGreater(Local1, 0x1000)) { Store(0x1000, Local1) } If(LGreater(Add(Local0, Local1, ), RSIZ)) { Store(0x0, Local0) } Multiply(Local0, 0x8, Local2) Multiply(Local1, 0x8, Local3) Name(ROM1, Buffer(RSIZ) { }) Name(ROM2, Buffer(Local1) { }) Store(RBUF, ROM1) CreateField(ROM1, Local2, Local3, TMPB) Store(TMPB, ROM2) Return(ROM2) } Device(CRT1) { Name(_ADR, 0x0100) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0101, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0101, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DTV1) { Name(_ADR, 0x0200) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0202, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0202, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DFP1) { Name(_ADR, 0x0300) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0404, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0404, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(LCD_) { Method(_ADR) { If(LEqual(LCDA, 0x0110)) { Return(0x0110) } Return(0x0400) } Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x0808, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x0808, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } Method(_BCL) { Return(Package(0x8) { 0x50, 0x3c, 0x0, 0x14, 0x28, 0x3c, 0x50, 0x64, }) } Method(_BCM, 1) { Store(Arg0, P80H) } } Device(DTV2) { Name(_ADR, 0x0500) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x1010, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x1010, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DFP2) { Name(_ADR, 0x0600) Method(_DCS) { Store(0x1, SMIF) Store(0x0, TRP0) If(And(CSTE, 0x2020, )) { Return(0x1f) } Return(0x1d) } Method(_DGS) { If(And(NSTE, 0x2020, )) { Return(0x1) } Return(0x0) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000, ), 0xc0000000)) { Store(NSTE, CSTE) } } } } Device(PCIB) { Name(_ADR, 0x001e0000) OperationRegion(PBUS, PCI_Config, 0x44, 0x4) Field(PBUS, DWordAcc, NoLock, Preserve) { DHID, 8 } Device(CDB0) { Name(_ADR, 0x00030000) OperationRegion(CBD0, PCI_Config, 0x0, 0xf0) Field(CBD0, AnyAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 8, Offset(0x44), CD44, 32, Offset(0xa5), CDA5, 8, Offset(0xe1), PMES, 8 } Method(_INI) { Or(CD3C, 0xff, CD3C) Store(0x0, CD44) } } Device(CDB1) { Name(_ADR, 0x00030001) OperationRegion(CBD1, PCI_Config, 0x0, 0xf0) Field(CBD1, AnyAcc, NoLock, Preserve) { Offset(0x3c), CD3C, 8, Offset(0x44), CD44, 32, Offset(0xe1), PMES, 8 } Method(_INI) { Or(CD3C, 0xff, CD3C) Store(0x0, CD44) } } Device(OHCI) { Name(_ADR, 0x00030002) } Device(LANC) { Name(_ADR, 0x00050000) Name(_PRW, Package(0x2) { 0xb, 0x4, }) } Device(MPC0) { Name(_ADR, 0x00040000) Name(_PRW, Package(0x2) { 0xb, 0x3, }) } Device(MPC1) { Name(_ADR, 0x00040001) Name(_PRW, Package(0x2) { 0xb, 0x3, }) } Method(_PRT) { If(GPIC) { Return(Package(0x6) { Package(0x4) { 0x0003ffff, 0x0, 0x0, 0x10, }, Package(0x4) { 0x0003ffff, 0x1, 0x0, 0x11, }, Package(0x4) { 0x0003ffff, 0x2, 0x0, 0x12, }, Package(0x4) { 0x0004ffff, 0x0, 0x0, 0x14, }, Package(0x4) { 0x0004ffff, 0x1, 0x0, 0x15, }, Package(0x4) { 0x0005ffff, 0x0, 0x0, 0x13, }, }) } Else { Return(Package(0x6) { Package(0x4) { 0x0003ffff, 0x0, \_SB_.PCI0.LPCB.LNKA, 0x0, }, Package(0x4) { 0x0003ffff, 0x1, \_SB_.PCI0.LPCB.LNKB, 0x0, }, Package(0x4) { 0x0003ffff, 0x2, \_SB_.PCI0.LPCB.LNKC, 0x0, }, Package(0x4) { 0x0004ffff, 0x0, \_SB_.PCI0.LPCB.LNKE, 0x0, }, Package(0x4) { 0x0004ffff, 0x1, \_SB_.PCI0.LPCB.LNKF, 0x0, }, Package(0x4) { 0x0005ffff, 0x0, \_SB_.PCI0.LPCB.LNKD, 0x0, }, }) } } } Device(LPCB) { Name(_ADR, 0x001f0000) OperationRegion(LPC0, PCI_Config, 0x40, 0xc0) Field(LPC0, AnyAcc, NoLock, Preserve) { Offset(0x20), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset(0x28), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, Offset(0x90), HPTE, 32, Offset(0xa0), LDE0, 8, LDE1, 8, Offset(0xa6), LDEN, 8 } Method(IRQ5, 0, Serialized) { Name(BUF1, Buffer(0x6) {0x23, 0x20, 0x0, 0x18, 0x79, 0x0 }) Return(BUF1) } Method(IRQA, 0, Serialized) { Name(BUF2, Buffer(0x6) {0x23, 0x0, 0x4, 0x18, 0x79, 0x0 }) Return(BUF2) } Method(IRQB, 0, Serialized) { Name(BUF3, Buffer(0x6) {0x23, 0x0, 0x8, 0x18, 0x79, 0x0 }) Return(BUF3) } Device(LNKA) { Name(_HID, 0x0f0cd041) Name(_UID, 0x1) Method(_DIS, 0, Serialized) { Store(0x80, PIRA) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLA, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRA, 0xf, ), IRQ0) Return(RTLA) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRA) } Method(_STA, 0, Serialized) { If(And(PIRA, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKB) { Name(_HID, 0x0f0cd041) Name(_UID, 0x2) Method(_DIS, 0, Serialized) { Store(0x80, PIRB) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLB, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLB, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRB, 0xf, ), IRQ0) Return(RTLB) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRB) } Method(_STA, 0, Serialized) { If(And(PIRB, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKC) { Name(_HID, 0x0f0cd041) Name(_UID, 0x3) Method(_DIS, 0, Serialized) { Store(0x80, PIRC) } Method(_PRS, 0, Serialized) { Return(IRQB()) } Method(_CRS, 0, Serialized) { Name(RTLC, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLC, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRC, 0xf, ), IRQ0) Return(RTLC) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRC) } Method(_STA, 0, Serialized) { If(And(PIRC, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKD) { Name(_HID, 0x0f0cd041) Name(_UID, 0x4) Method(_DIS, 0, Serialized) { Store(0x80, PIRD) } Method(_PRS, 0, Serialized) { Return(IRQB()) } Method(_CRS, 0, Serialized) { Name(RTLD, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLD, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRD, 0xf, ), IRQ0) Return(RTLD) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRD) } Method(_STA, 0, Serialized) { If(And(PIRD, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKE) { Name(_HID, 0x0f0cd041) Name(_UID, 0x5) Method(_DIS, 0, Serialized) { Store(0x80, PIRE) } Method(_PRS, 0, Serialized) { Return(IRQ5()) } Method(_CRS, 0, Serialized) { Name(RTLE, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLE, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRE, 0xf, ), IRQ0) Return(RTLE) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRE) } Method(_STA, 0, Serialized) { If(And(PIRE, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKF) { Name(_HID, 0x0f0cd041) Name(_UID, 0x6) Method(_DIS, 0, Serialized) { Store(0x80, PIRF) } Method(_PRS, 0, Serialized) { Return(IRQ5()) } Method(_CRS, 0, Serialized) { Name(RTLF, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLF, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRF, 0xf, ), IRQ0) Return(RTLF) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRF) } Method(_STA, 0, Serialized) { If(And(PIRF, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKG) { Name(_HID, 0x0f0cd041) Name(_UID, 0x7) Method(_DIS, 0, Serialized) { Store(0x80, PIRG) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLG, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLG, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRG, 0xf, ), IRQ0) Return(RTLG) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRG) } Method(_STA, 0, Serialized) { If(And(PIRG, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(LNKH) { Name(_HID, 0x0f0cd041) Name(_UID, 0x8) Method(_DIS, 0, Serialized) { Store(0x80, PIRH) } Method(_PRS, 0, Serialized) { Return(IRQA()) } Method(_CRS, 0, Serialized) { Name(RTLH, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 }) CreateWordField(RTLH, 0x1, IRQ0) Store(Zero, IRQ0) ShiftLeft(0x1, And(PIRH, 0xf, ), IRQ0) Return(RTLH) } Method(_SRS, 1, Serialized) { CreateWordField(Arg0, 0x1, IRQ0) FindSetRightBit(IRQ0, Local0) Decrement(Local0) Store(Local0, PIRH) } Method(_STA, 0, Serialized) { If(And(PIRH, 0x80, )) { Return(0x9) } Else { Return(0xb) } } } Device(TIMR) { Name(_HID, 0x0001d041) Name(BUF0, Buffer(0x12) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x79, 0x0 }) Name(BUF1, Buffer(0x15) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x10, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { If(And(HPTE, 0x00020000, )) { Return(BUF0) } Return(BUF1) } } Device(IPIC) { Name(_HID, 0xd041) Name(_CRS, Buffer(0x8d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 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, 0xa0, 0x0, 0xa0, 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, 0x2, 0x47, 0x1, 0xb4, 0x0, 0xb4, 0x0, 0x1, 0x2, 0x47, 0x1, 0xb8, 0x0, 0xb8, 0x0, 0x1, 0x2, 0x47, 0x1, 0xbc, 0x0, 0xbc, 0x0, 0x1, 0x2, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 }) } Device(RTC_) { Name(_HID, 0x000bd041) Name(BUF0, Buffer(0xa) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x8, 0x79, 0x0 }) Name(BUF1, Buffer(0xd) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x8, 0x22, 0x0, 0x1, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { If(And(HPTE, 0x00020000, )) { Return(BUF0) } Return(BUF1) } } Device(MATH) { Name(_HID, 0x040cd041) Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x1, 0x22, 0x0, 0x20, 0x79, 0x0 }) } Device(DMAC) { Name(_HID, 0x0002d041) Name(_CRS, Buffer(0x2d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x20, 0x47, 0x1, 0x81, 0x0, 0x81, 0x0, 0x1, 0xf, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x2, 0x47, 0x1, 0x93, 0x0, 0x93, 0x0, 0x1, 0xd, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x1, 0x79, 0x0 }) } Device(MBRD) { Name(_HID, 0x020cd041) Name(_CRS, Buffer(0x76) {0x47, 0x1, 0x2e, 0x0, 0x2e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x47, 0x1, 0x63, 0x0, 0x63, 0x0, 0x1, 0x1, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0x1, 0x47, 0x1, 0x67, 0x0, 0x67, 0x0, 0x1, 0x1, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x1, 0x47, 0x1, 0x92, 0x0, 0x92, 0x0, 0x1, 0x1, 0x47, 0x1, 0xb2, 0x0, 0xb2, 0x0, 0x1, 0x2, 0x47, 0x1, 0x0, 0x6, 0x0, 0x6, 0x1, 0x10, 0x47, 0x1, 0x0, 0x7, 0x0, 0x7, 0x1, 0x10, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x10, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1, 0x80, 0x47, 0x1, 0x80, 0x11, 0x80, 0x11, 0x1, 0x40, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc1, 0xfe, 0x0, 0x0, 0x1, 0x0, 0x79, 0x0 }) } Device(FWHD) { Name(_HID, 0x0008d425) Name(_CRS, Buffer(0xe) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0x80, 0xff, 0x0, 0x0, 0x80, 0x0, 0x79, 0x0 }) } Device(HPET) { Name(_HID, 0x0301d041) Name(BUF0, Buffer(0x14) {0x22, 0x1, 0x0, 0x22, 0x0, 0x1, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 }) Method(_STA) { ShiftRight(And(HPTE, 0x00038000, ), 0xf, Local0) If(LEqual(OSYS, 0x07d1)) { If(And(Local0, 0x4, )) { Return(0xf) } } Else { If(And(Local0, 0x4, )) { Return(0xb) } } Return(0x0) } Method(_CRS, 0, Serialized) { ShiftRight(And(HPTE, 0x00038000, ), 0xf, Local0) If(And(Local0, 0x4, )) { CreateDWordField(BUF0, 0xa, HPT0) If(LEqual(Local0, 0x5)) { Store(0xfed01000, HPT0) } If(LEqual(Local0, 0x6)) { Store(0xfed02000, HPT0) } If(LEqual(Local0, 0x7)) { Store(0xfed03000, HPT0) } } Return(BUF0) } } Device(H_EC) { Name(_HID, 0x090cd041) Name(_UID, 0x1) Method(_CRS) { Name(BFFR, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x0, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x0, 0x1, 0x79, 0x0 }) Return(BFFR) } OperationRegion(ECR_, EmbeddedControl, 0x0, 0xff) Field(ECR_, DWordAcc, Lock, Preserve) { Offset(0x80), B1EX, 1, B2EX, 1, ACEX, 1, Offset(0x81), SWBE, 1, DCBE, 1, Offset(0x82), Offset(0x83), LIDI, 1, , 3, LIDE, 1, Offset(0x84), B1ST, 8, B2ST, 8, Offset(0xa0), B1RR, 32, B1PV, 32, B2RR, 32, B2PV, 32, B1AF, 32, B1VL, 32, B2AF, 32, B2VL, 32, CTMP, 8, Offset(0xc4), LTMP, 8, Offset(0xca), TZF4, 1, TZF5, 1, Offset(0xd0), B1TI, 16, B1SE, 16, B1CR, 16, B1TM, 16, B2TI, 16, B2SE, 16, B2CR, 16, B2TM, 16 } Method(_REG, 2) { If(LAnd(LEqual(Arg0, 0x3), LEqual(Arg1, 0x1))) { Store(0x1, ECON) If(LNot(LEqual(LIDS, LIDI))) { Store(LIDI, LIDS) If(IGDS) { LSDS(LIDS) } Else { Store(0x2a, SMIF) Store(0x0, TRP0) } Notify(\_SB_.LID0, 0x80) } If(LNot(LEqual(ACEX, PWRS))) { Store(ACEX, PWRS) Store(0x2b, SMIF) Store(0x0, TRP0) Notify(\_SB_.BAT1, 0x80) Notify(\_SB_.BAT2, 0x80) } } If(LEqual(\_SB_.MEDB._STA(), 0xf)) { Store(One, \_SB_.MEDB.DCST) } Else { Store(Zero, \_SB_.MEDB.DCST) } } Name(_GPE, 0x1c) Method(_Q50) { Store(0x50, P80H) Notify(\_SB_.PWRB, 0x80) } Method(_Q51) { Store(0x51, P80H) \_SB_.PHS_(0x82) Store(0x1, \PWRS) Notify(\_SB_.ADP1, 0x80) } Method(_Q52) { Store(0x52, P80H) \_SB_.PHS_(0x82) Store(0x0, \PWRS) Notify(\_SB_.ADP1, 0x80) } Method(_Q53) { Store(0x53, P80H) Notify(\_SB_.BAT1, 0x1) Notify(\_SB_.BAT1, 0x81) } Method(_Q54) { Store(0x54, P80H) Notify(\_SB_.BAT1, 0x1) Notify(\_SB_.BAT1, 0x81) } Method(_Q55) { Store(0x53, P80H) Notify(\_SB_.BAT2, 0x1) Notify(\_SB_.BAT2, 0x81) } Method(_Q56) { Store(0x54, P80H) Notify(\_SB_.BAT2, 0x1) Notify(\_SB_.BAT2, 0x81) } Method(_Q58) { Notify(\_SB_.MEDB, 0x1) } Method(_Q5B) { Store(0x5b, P80H) Notify(\_SB_.SLPB, 0x80) } Method(_Q5D) { Store(0x5d, P80H) If(IGDS) { Store(0x1, TLST) HKDS(0xa) } } Method(_Q5E) { Store(LIDI, LIDS) If(IGDS) { LSDS(LIDS) } Else { Store(0x2a, SMIF) Store(0x0, TRP0) } Sleep(0x01f4) Sleep(0x01f4) Notify(\_SB_.LID0, 0x80) } Method(_Q5F) { Store(LIDI, LIDS) If(IGDS) { LSDS(LIDS) } Else { Store(0x2a, SMIF) Store(0x0, TRP0) } Sleep(0x01f4) Sleep(0x01f4) Notify(\_SB_.LID0, 0x80) } Method(_Q63) { \_SB_.PHS_(0x9e) } Method(_Q64) { \_SB_.PHS_(0x9f) } Method(_Q65) { Notify(\_TZ_.THRM, 0x80) } Method(_Q66) { Notify(\_SB_.BAT1, 0x80) } Method(_Q67) { Notify(\_SB_.BAT2, 0x80) } Method(_Q6C) { \_SB_.PHS_(0xa0) } Method(_Q6D) { If(LEqual(TZF5, One)) { Store(0x5, TZON) PNOT() } Else { If(LEqual(TZF4, One)) { Store(0x4, TZON) PNOT() } Else { If(LNot(LEqual(TZON, Zero))) { Store(0x0, TZON) PNOT() } } } } } Device(SIOD) { Name(_HID, 0x050ad041) OperationRegion(N393, SystemIO, 0x2e, 0x2) Field(N393, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } Method(SETD, 1, Serialized) { Store(0x7, INDX) Stall(0x32) Store(Arg0, DATA) Stall(0x32) } Method(READ, 1, Serialized) { Store(Arg0, INDX) Stall(0x32) Store(DATA, Local0) Stall(0x32) Return(Local0) } Method(WRIT, 2, Serialized) { Store(Arg0, INDX) Stall(0x32) Store(Arg1, DATA) Stall(0x32) } Method(LTST) { If(LEqual(OSYS, 0x07d0)) { Return(0xf) } Else { Return(\_SB_.MEDB._STA()) } } Device(COMA) { Name(_HID, 0x0105d041) Name(_EJD, "_SB.MEDB") Method(_STA) { If(LEqual(\_SB_.MEDB._STA(), Zero)) { Return(0x0) } If(CMAP) { SETD(0x3) If(READ(0x30)) { Return(0xf) } Return(0xd) } Return(0x0) } Method(_DIS) { SETD(0x3) WRIT(0x30, 0x0) And(LDEN, 0xfe, LDEN) } Method(_CRS) { If(LEqual(\_SB_.MEDB._STA(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0xd) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 }) SETD(0x3) If(CMAP) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) Store(READ(0x60), IOH0) Store(READ(0x61), IOL0) Store(READ(0x60), IOH1) Store(READ(0x61), IOL1) Store(0x8, LEN0) And(READ(0x70), 0xf, Local0) If(Local0) { ShiftLeft(One, Local0, IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { If(LEqual(\_SB_.MEDB._STA(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0x6b) {0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 }) Return(BUF0) } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x9, IRQW) SETD(0x3) WRIT(0x30, 0x0) WRIT(0x61, IOLO) WRIT(0x60, IOHI) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) And(LDE0, 0xf8, LDE0) If(LEqual(IOHI, 0x3)) { If(LEqual(IOLO, 0xf8)) { Or(LDE0, 0x0, LDE0) } Else { Or(LDE0, 0x7, LDE0) } } Else { If(LEqual(IOLO, 0xf8)) { Or(LDE0, 0x1, LDE0) } Else { Or(LDE0, 0x5, LDE0) } } Or(LDEN, 0x1, LDEN) If(\_SB_.MEDB._STA()) { SETD(0x3) WRIT(0x30, 0x1) } } Method(_PS0) { SETD(0x3) WRIT(0xf0, 0x82) WRIT(0x30, 0x1) Or(LDEN, 0x1, LDEN) } Method(_PS3) { SETD(0x3) WRIT(0x30, 0x0) } } Device(SIR_) { Name(_HID, 0x1005d041) Name(_UID, 0x1) Method(_STA) { If(CMBP) { SETD(0x2) If(LNot(LEqual(READ(0x74), 0x4))) { Return(0x0) } If(READ(0x30)) { Return(0xf) } Return(0xd) } Return(0x0) } Method(_DIS) { SETD(0x2) WRIT(0x30, 0x0) And(LDEN, 0xfd, LDEN) } Method(_CRS) { Name(BUF0, Buffer(0xd) {0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x79, 0x0 }) SETD(0x2) If(CMBP) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) Store(READ(0x60), IOH0) Store(READ(0x61), IOL0) Store(READ(0x60), IOH1) Store(READ(0x61), IOL1) Store(0x8, LEN0) And(READ(0x70), 0xf, Local0) If(Local0) { ShiftLeft(One, Local0, IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x6b) {0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 }) Return(BUF0) } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x9, IRQW) SETD(0x2) WRIT(0x30, 0x0) WRIT(0x61, IOLO) WRIT(0x60, IOHI) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) And(LDE0, 0x8f, LDE0) If(LEqual(IOHI, 0x3)) { If(LEqual(IOLO, 0xf8)) { Or(LDE0, 0x0, LDE0) } Else { Or(LDE0, 0x70, LDE0) } } Else { If(LEqual(IOLO, 0xf8)) { Or(LDE0, 0x10, LDE0) } Else { Or(LDE0, 0x50, LDE0) } } Or(LDEN, 0x2, LDEN) WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x2) WRIT(0xf0, 0x82) WRIT(0x30, 0x1) Or(LDEN, 0x2, LDEN) } Method(_PS3) { SETD(0x2) WRIT(0x30, 0x0) } } Device(FIR_) { Name(_HID, 0x0160633a) Name(_UID, 0x2) Method(_STA) { If(CMBP) { SETD(0x2) If(LEqual(READ(0x74), 0x4)) { Return(0x0) } If(READ(0x30)) { Return(0xf) } Return(0xd) } Return(0x0) } Method(_DIS) { SETD(0x2) WRIT(0x30, 0x0) And(LDEN, 0xfd, LDEN) } Method(_CRS) { Name(BUF0, Buffer(0x10) {0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x8, 0x0, 0x79, 0x0 }) SETD(0x2) If(CMBP) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) CreateByteField(BUF0, 0xc, DMA0) CreateByteField(BUF0, 0xd, DMA1) Store(READ(0x60), IOH0) Store(READ(0x61), IOL0) Store(READ(0x60), IOH1) Store(READ(0x61), IOL1) Store(0x8, LEN0) And(READ(0x70), 0xf, Local0) If(Local0) { ShiftLeft(One, Local0, IRQW) } Else { Store(Zero, IRQW) } Store(READ(0x74), Local0) If(LEqual(Local0, 0x4)) { Store(Zero, DMA0) } Else { ShiftLeft(One, Local0, DMA0) } } Return(BUF0) } Method(_PRS) { Name(BUF0, Buffer(0x83) {0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x10, 0x0, 0x2a, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x8, 0x0, 0x31, 0x8, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x8, 0x0, 0x38, 0x79, 0x0 }) Return(BUF0) } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOLO) CreateByteField(Arg0, 0x3, IOHI) CreateWordField(Arg0, 0x9, IRQW) CreateByteField(Arg0, 0xc, DMA0) Store(DMA0, P80H) SETD(0x2) WRIT(0x30, 0x0) WRIT(0x61, IOLO) WRIT(0x60, IOHI) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) FindSetRightBit(DMA0, Local0) If(LNot(LEqual(DMA0, Zero))) { Decrement(Local0) } WRIT(0x74, Local0) And(LDE0, 0x8f, LDE0) If(LEqual(IOHI, 0x3)) { If(LEqual(IOLO, 0xf8)) { Or(LDE0, 0x0, LDE0) } Else { Or(LDE0, 0x70, LDE0) } } Else { If(LEqual(IOLO, 0xf8)) { Or(LDE0, 0x10, LDE0) } Else { Or(LDE0, 0x50, LDE0) } } Or(LDEN, 0x2, LDEN) WRIT(0x30, 0x1) } Method(_PS0) { SETD(0x2) WRIT(0xf0, 0x82) WRIT(0x30, 0x1) Or(LDEN, 0x2, LDEN) } Method(_PS3) { SETD(0x2) WRIT(0x30, 0x0) } } Device(POUT) { Name(_HID, 0x0004d041) Name(_UID, 0x1) Method(_EJD) { If(LEqual(OSYS, 0x07d0)) { Return("_SB.PCI0.LPCB.MBRD") } Return("_SB.MEDB") } Method(_STA) { If(LEqual(LTST(), Zero)) { Return(0x0) } SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x0)) { If(LPTP) { SETD(0x1) If(READ(0x30)) { Return(0xf) } Return(0xd) } } Return(0x0) } Method(_DIS) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x0)) { WRIT(0x30, 0x0) } And(LDEN, 0xfb, LDEN) } Method(_CRS) { If(LEqual(LTST(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0xd) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x79, 0x0 }) SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x0)) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) SETD(0x1) Store(READ(0x61), IOL0) Store(READ(0x60), IOH0) Store(IOL0, IOL1) Store(IOH0, IOH1) Store(0x4, LEN0) If(And(READ(0x70), 0xf, )) { ShiftLeft(One, And(READ(0x70), 0xf, ), IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { If(LEqual(LTST(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0x51) {0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x4, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x38, 0x79, 0x0 }) Return(BUF0) } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOL0) CreateByteField(Arg0, 0x3, IOH0) CreateWordField(Arg0, 0x9, IRQW) SETD(0x1) WRIT(0x30, 0x0) WRIT(0xf0, And(READ(0xf0), 0xf, )) WRIT(0x74, 0x4) WRIT(0x61, IOL0) WRIT(0x60, IOH0) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) And(LDE1, 0xfc, LDE1) If(LEqual(IOH0, 0x3)) { If(LEqual(IOL0, 0x78)) { Or(LDE1, 0x0, LDE1) } Else { Or(LDE1, 0x2, LDE1) } } Else { Or(LDE1, 0x1, LDE1) } Or(LDEN, 0x4, LDEN) If(LTST()) { SETD(0x1) WRIT(0x30, 0x1) } } Method(_PS0) { SETD(0x1) WRIT(0x30, 0x1) Or(LDEN, 0x4, LDEN) } Method(_PS3) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x0)) { WRIT(0x30, 0x0) } } } Device(PBID) { Name(_HID, 0x0004d041) Name(_UID, 0x2) Method(_EJD) { If(LEqual(OSYS, 0x07d0)) { Return("_SB.PCI0.LPCB.MBRD") } Return("_SB.MEDB") } Method(_STA) { If(LEqual(LTST(), Zero)) { Return(0x0) } SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x20)) { If(LPTP) { SETD(0x1) If(READ(0x30)) { Return(0xf) } Return(0xd) } } Return(0x0) } Method(_DIS) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x20)) { WRIT(0x30, 0x0) } And(LDEN, 0xfb, LDEN) } Method(_CRS) { If(LEqual(LTST(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0xd) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x79, 0x0 }) SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x20)) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateWordField(BUF0, 0x9, IRQW) SETD(0x1) Store(READ(0x61), IOL0) Store(READ(0x60), IOH0) Store(IOL0, IOL1) Store(IOH0, IOH1) Store(0x4, LEN0) If(And(READ(0x70), 0xf, )) { ShiftLeft(One, And(READ(0x70), 0xf, ), IRQW) } Else { Store(Zero, IRQW) } } Return(BUF0) } Method(_PRS) { If(LEqual(LTST(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0x51) {0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x80, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x4, 0x22, 0x20, 0x0, 0x31, 0x8, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x22, 0x20, 0x0, 0x38, 0x79, 0x0 }) Return(BUF0) } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOL0) CreateByteField(Arg0, 0x3, IOH0) CreateWordField(Arg0, 0x9, IRQW) SETD(0x1) WRIT(0x30, 0x0) WRIT(0xf0, Or(0x20, And(READ(0xf0), 0xf, ), )) WRIT(0x74, 0x4) WRIT(0x61, IOL0) WRIT(0x60, IOH0) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) And(LDE1, 0xfc, LDE1) If(LEqual(IOH0, 0x3)) { If(LEqual(IOL0, 0x78)) { Or(LDE1, 0x0, LDE1) } Else { Or(LDE1, 0x2, LDE1) } } Else { Or(LDE1, 0x1, LDE1) } Or(LDEN, 0x4, LDEN) If(LTST()) { SETD(0x1) WRIT(0x30, 0x1) } } Method(_PS0) { SETD(0x1) WRIT(0x30, 0x1) Or(LDEN, 0x4, LDEN) } Method(_PS3) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0x20)) { WRIT(0x30, 0x0) } } } Device(PECP) { Name(_HID, 0x0104d041) Name(_UID, 0x3) Method(_EJD) { If(LEqual(OSYS, 0x07d0)) { Return("_SB.PCI0.LPCB.MBRD") } Return("_SB.MEDB") } Method(_STA) { If(LEqual(LTST(), Zero)) { Return(0x0) } SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0xe0)) { If(LPTP) { SETD(0x1) If(READ(0x30)) { Return(0xf) } Return(0xd) } } Return(0x0) } Method(_DIS) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0xe0)) { WRIT(0x30, 0x0) } And(LDEN, 0xfb, LDEN) } Method(_CRS) { If(LEqual(LTST(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0x18) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x2, 0x1, 0x79, 0x0 }) If(LEqual(And(READ(0xf0), 0xe0, ), 0xe0)) { CreateByteField(BUF0, 0x2, IOL0) CreateByteField(BUF0, 0x3, IOH0) CreateByteField(BUF0, 0x4, IOL1) CreateByteField(BUF0, 0x5, IOH1) CreateByteField(BUF0, 0x7, LEN0) CreateByteField(BUF0, 0xa, IOL2) CreateByteField(BUF0, 0xb, IOH2) CreateByteField(BUF0, 0xc, IOL3) CreateByteField(BUF0, 0xd, IOH3) CreateByteField(BUF0, 0xf, LEN1) CreateWordField(BUF0, 0x11, IRQW) CreateByteField(BUF0, 0x14, DMA0) SETD(0x1) Store(READ(0x61), IOL0) Store(READ(0x60), IOH0) Store(IOL0, IOL1) Store(IOH0, IOH1) Store(IOL0, IOL2) Store(Add(0x4, IOH0, ), IOH2) Store(IOL0, IOL3) Store(Add(0x4, IOH0, ), IOH3) Store(0x8, LEN0) Store(0x8, LEN1) And(READ(0x70), 0xf, Local0) If(Local0) { ShiftLeft(One, Local0, IRQW) } Else { Store(Zero, IRQW) } Store(READ(0x74), Local0) If(LEqual(Local0, 0x4)) { Store(Zero, DMA0) } Else { ShiftLeft(One, Local0, DMA0) } } Return(BUF0) } Method(_PRS) { If(LEqual(LTST(), Zero)) { Name(BUF1, Buffer(0x10) {0x31, 0x8, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x22, 0x0, 0x0, 0x38, 0x79, 0x0 }) Return(BUF1) } Name(BUF0, Buffer(0xc3) {0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x8, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x2, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x2, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x2, 0x1, 0x31, 0x8, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x2, 0x1, 0x38, 0x79, 0x0 }) Return(BUF0) } Method(_SRS, 1) { CreateByteField(Arg0, 0x2, IOL0) CreateByteField(Arg0, 0x3, IOH0) CreateWordField(Arg0, 0x11, IRQW) CreateByteField(Arg0, 0x14, DMA0) SETD(0x1) WRIT(0x30, 0x0) WRIT(0xf0, Or(0xf0, READ(0xf0), )) WRIT(0x61, IOL0) WRIT(0x60, IOH0) FindSetRightBit(IRQW, Local0) If(LNot(LEqual(IRQW, Zero))) { Decrement(Local0) } WRIT(0x70, Local0) FindSetRightBit(DMA0, Local0) If(LNot(LEqual(DMA0, Zero))) { Decrement(Local0) } WRIT(0x74, Local0) And(LDE1, 0xfc, LDE1) If(LEqual(IOH0, 0x3)) { Or(LDE1, 0x0, LDE1) } Else { Or(LDE1, 0x1, LDE1) } Or(LDEN, 0x4, LDEN) If(LTST()) { SETD(0x1) WRIT(0x30, 0x1) } } Method(_PS0) { SETD(0x1) WRIT(0x30, 0x1) Or(LDEN, 0x4, LDEN) } Method(_PS3) { SETD(0x1) If(LEqual(And(READ(0xf0), 0xe0, ), 0xe0)) { WRIT(0x30, 0x0) } } } } Device(PS2K) { Name(_HID, 0x0303d041) Name(_CRS, Buffer(0x16) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x23, 0x2, 0x0, 0x1, 0x79, 0x0 }) } Device(PS2M) { Name(_HID, 0x02002e4f) Name(_CID, 0x130fd041) Name(_CRS, Buffer(0x6) {0x23, 0x0, 0x10, 0x1, 0x79, 0x0 }) Name(_PSC, 0x0) Method(_PS0) { Store(One, \WEND) Store(Zero, _PSC) } Method(_PS3) { Store(0x3, _PSC) } } } Device(USB0) { Name(_ADR, 0x001d0000) Device(HUB0) { Name(_ADR, 0x0) Device(POT0) { Name(_ADR, 0x1) } Device(POT1) { Name(_ADR, 0x2) } } } Device(USB1) { Name(_ADR, 0x001d0001) Device(HUB1) { Name(_ADR, 0x0) Device(POT2) { Name(_ADR, 0x1) Name(_EJD, "_SB.MEDB") } Device(POT3) { Name(_ADR, 0x2) } } } Device(USB2) { Name(_ADR, 0x001d0002) Device(HUB2) { Name(_ADR, 0x0) Device(POT4) { Name(_EJD, "_SB.MEDB") Name(_ADR, 0x1) } Device(POT5) { Name(_ADR, 0x2) Name(_EJD, "_SB.MEDB") } } } Device(USB7) { Name(_ADR, 0x001d0007) Device(RHUB) { Name(_ADR, 0x0) Name(_EJD, "_SB.MEDB") } } Name(PUAL, Package(0x1) { 0x001f0001, }) Device(IDEC) { Name(_ADR, 0x001f0001) OperationRegion(IDEC, PCI_Config, 0x40, 0x18) Field(IDEC, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset(0x8), SYNC, 4, Offset(0xa), SDT0, 2, , 2, SDT1, 2, Offset(0xb), SDT2, 2, , 2, SDT3, 2, Offset(0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4 } Device(PRID) { Name(_ADR, 0x0) Method(_GTM) { Name(PBUF, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 }) CreateDWordField(PBUF, 0x0, PIO0) CreateDWordField(PBUF, 0x4, DMA0) CreateDWordField(PBUF, 0x8, PIO1) CreateDWordField(PBUF, 0xc, DMA1) CreateDWordField(PBUF, 0x10, FLAG) Store(GETP(PRIT), PIO0) Store(GDMA(And(SYNC, 0x1, ), And(ICR3, 0x1, ), And(ICR0, 0x1, ), SDT0, And(ICR1, 0x1, )), DMA0) If(LEqual(DMA0, 0xffffffff)) { Store(PIO0, DMA0) } If(And(PRIT, 0x4000, )) { If(LEqual(And(PRIT, 0x90, ), 0x80)) { Store(0x0384, PIO1) } Else { Store(GETT(PSIT), PIO1) } } Else { Store(0xffffffff, PIO1) } Store(GDMA(And(SYNC, 0x2, ), And(ICR3, 0x2, ), And(ICR0, 0x2, ), SDT1, And(ICR1, 0x2, )), DMA1) If(LEqual(DMA1, 0xffffffff)) { Store(PIO1, DMA1) } Store(GETF(And(SYNC, 0x1, ), And(SYNC, 0x2, ), PRIT), FLAG) Return(PBUF) } Method(_STM, 3) { CreateDWordField(Arg0, 0x0, PIO0) CreateDWordField(Arg0, 0x4, DMA0) CreateDWordField(Arg0, 0x8, PIO1) CreateDWordField(Arg0, 0xc, DMA1) CreateDWordField(Arg0, 0x10, FLAG) Store(0x4, ICR2) If(LEqual(SizeOf(Arg1), 0x0200)) { And(PRIT, 0x40f0, PRIT) And(SYNC, 0xe, SYNC) Store(0x0, SDT0) And(ICR0, 0xe, ICR0) And(ICR1, 0xe, ICR1) And(ICR3, 0xe, ICR3) And(ICR5, 0xe, ICR5) CreateWordField(Arg1, 0x62, W490) CreateWordField(Arg1, 0x6a, W530) CreateWordField(Arg1, 0x7e, W630) CreateWordField(Arg1, 0x80, W640) CreateWordField(Arg1, 0xb0, W880) CreateWordField(Arg1, 0xba, W930) Or(PRIT, 0x8004, PRIT) If(LAnd(And(FLAG, 0x2, ), And(W490, 0x0800, ))) { Or(PRIT, 0x2, PRIT) } Or(PRIT, SETP(PIO0, W530, W640), PRIT) If(And(FLAG, 0x1, )) { Or(SYNC, 0x1, SYNC) Store(SDMA(DMA0), SDT0) If(LLess(DMA0, 0x1e)) { Or(ICR3, 0x1, ICR3) } If(LLess(DMA0, 0x3c)) { Or(ICR0, 0x1, ICR0) } If(And(W930, 0x2000, )) { Or(ICR1, 0x1, ICR1) } } } If(LEqual(SizeOf(Arg2), 0x0200)) { And(PRIT, 0x3f0f, PRIT) Store(0x0, PSIT) And(SYNC, 0xd, SYNC) Store(0x0, SDT1) And(ICR0, 0xd, ICR0) And(ICR1, 0xd, ICR1) And(ICR3, 0xd, ICR3) And(ICR5, 0xd, ICR5) CreateWordField(Arg2, 0x62, W491) CreateWordField(Arg2, 0x6a, W531) CreateWordField(Arg2, 0x7e, W631) CreateWordField(Arg2, 0x80, W641) CreateWordField(Arg2, 0xb0, W881) CreateWordField(Arg2, 0xba, W931) Or(PRIT, 0x8040, PRIT) If(LAnd(And(FLAG, 0x8, ), And(W491, 0x0800, ))) { Or(PRIT, 0x20, PRIT) } If(And(FLAG, 0x10, )) { Or(PRIT, 0x4000, PRIT) If(LGreater(PIO1, 0xf0)) { Or(PRIT, 0x80, PRIT) } Else { Or(PRIT, 0x10, PRIT) Store(SETT(PIO1, W531, W641), PSIT) } } If(And(FLAG, 0x4, )) { Or(SYNC, 0x2, SYNC) Store(SDMA(DMA1), SDT1) If(LLess(DMA1, 0x1e)) { Or(ICR3, 0x2, ICR3) } If(LLess(DMA1, 0x3c)) { Or(ICR0, 0x2, ICR0) } If(And(W931, 0x2000, )) { Or(ICR1, 0x2, ICR1) } } } } Device(P_D0) { Name(_ADR, 0x0) Method(_GTF) { Name(PIB0, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xa0, 0xef }) CreateByteField(PIB0, 0x1, PMD0) CreateByteField(PIB0, 0x8, DMD0) If(And(PRIT, 0x2, )) { If(LEqual(And(PRIT, 0x9, ), 0x8)) { Store(0x8, PMD0) } Else { Store(0xa, PMD0) ShiftRight(And(PRIT, 0x0300, ), 0x8, Local0) ShiftRight(And(PRIT, 0x3000, ), 0xc, Local1) Add(Local0, Local1, Local2) If(LEqual(0x3, Local2)) { Store(0xb, PMD0) } If(LEqual(0x5, Local2)) { Store(0xc, PMD0) } } } Else { Store(0x1, PMD0) } If(And(SYNC, 0x1, )) { Store(Or(SDT0, 0x40, ), DMD0) If(And(ICR1, 0x1, )) { If(And(ICR0, 0x1, )) { Add(DMD0, 0x2, DMD0) } If(And(ICR3, 0x1, )) { Store(0x45, DMD0) } } } Else { Or(Subtract(And(PMD0, 0x7, ), 0x2, ), 0x20, DMD0) } Return(PIB0) } } Device(P_D1) { Name(_ADR, 0x1) Method(_GTF) { Name(PIB1, Buffer(0xe) {0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef, 0x3, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xef }) CreateByteField(PIB1, 0x1, PMD1) CreateByteField(PIB1, 0x8, DMD1) If(And(PRIT, 0x20, )) { If(LEqual(And(PRIT, 0x90, ), 0x80)) { Store(0x8, PMD1) } Else { Add(And(PSIT, 0x3, ), ShiftRight(And(PSIT, 0xc, ), 0x2, ), Local0) If(LEqual(0x5, Local0)) { Store(0xc, PMD1) } Else { If(LEqual(0x3, Local0)) { Store(0xb, PMD1) } Else { Store(0xa, PMD1) } } } } Else { Store(0x1, PMD1) } If(And(SYNC, 0x2, )) { Store(Or(SDT1, 0x40, ), DMD1) If(And(ICR1, 0x2, )) { If(And(ICR0, 0x2, )) { Add(DMD1, 0x2, DMD1) } If(And(ICR3, 0x2, )) { Store(0x45, DMD1) } } } Else { Or(Subtract(And(PMD1, 0x7, ), 0x2, ), 0x20, DMD1) } Return(PIB1) } } Method(_PS0) { } Method(_PS3) { } } Method(GETP, 1, Serialized) { If(LEqual(And(Arg0, 0x9, ), 0x0)) { Return(0xffffffff) } If(LEqual(And(Arg0, 0x9, ), 0x8)) { Return(0x0384) } ShiftRight(And(Arg0, 0x0300, ), 0x8, Local0) ShiftRight(And(Arg0, 0x3000, ), 0xc, Local1) Return(Multiply(0x1e, Subtract(0x9, Add(Local0, Local1, ), ), )) } Method(GDMA, 5, Serialized) { If(Arg0) { If(LAnd(Arg1, Arg4)) { Return(0x14) } If(LAnd(Arg2, Arg4)) { Return(Multiply(Subtract(0x4, Arg3, ), 0xf, )) } Return(Multiply(Subtract(0x4, Arg3, ), 0x1e, )) } Return(0xffffffff) } Method(GETT, 1, Serialized) { Return(Multiply(0x1e, Subtract(0x9, Add(