/* RSD PTR: Checksum=103, OEMID=DELL, RsdtAddress=0x7fed6744 */ /* RSDT: Length=88, Revision=1, Checksum=214, OEMID=DELL, OEM Table ID=M08, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* Entries={ 0x7fedeaec, 0x7fedec54, 0x7fedecbc, 0x7fedecf4, 0x7fedee8a, 0x7feded62, 0x7feded88, 0x7fededfa, 0x7fedee62, 0x7fed798e, 0x7fed6dc0, 0x7fed6d1a, 0x7fed6834 } */ /* DSDT=0x7fed7c3b 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=57ms 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,RTC_S4} */ /* DSDT: Length=28337, Revision=2, Checksum=61, OEMID=TOSCPL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000, Creator ID=INTL, Creator Revision=0x20060608 */ DefinitionBlock ( "acpi_dsdt.aml", //Output filename "DSDT", //Signature 0x2, //DSDT Revision "TOSCPL", //OEMID "CRESTLNE", //TABLE ID 0x6040000 //OEM Revision ) { Name(Z000, One) Name(Z001, 0x2) Name(Z002, 0x4) Name(Z003, 0x8) Name(Z004, Zero) Name(Z005, 0xf) Name(Z006, 0xd) Name(Z007, 0xb) Name(Z008, 0x9) Name(ECDY, Zero) Name(WFLG, Zero) Name(FLID, Zero) OperationRegion(EJC1, SystemIO, 0x01f2, 0x6) Field(EJC1, ByteAcc, NoLock, Preserve) { E1F2, 8, E1F3, 8, E1F4, 8, E1F5, 8, E1F6, 8, E1F7, 8 } Mutex(MUTX, 0) Name(SLID, Zero) OperationRegion(PRT0, SystemIO, 0x80, 0x4) Field(PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method(P8XH, 2, Serialized) { If(LEqual(Arg0, Zero)) { Store(Or(And(P80D, 0xffffff00), Arg1), P80D) } If(LEqual(Arg0, One)) { Store(Or(And(P80D, 0xffff00ff), ShiftLeft(Arg1, 0x8)), P80D) } If(LEqual(Arg0, 0x2)) { Store(Or(And(P80D, 0xff00ffff), ShiftLeft(Arg1, 0x10)), P80D) } If(LEqual(Arg0, 0x3)) { Store(Or(And(P80D, 0x00ffffff), ShiftLeft(Arg1, 0x18)), P80D) } Store(P80D, P80H) } Method(_PIC, 1) { Store(Arg0, GPIC) } Method(_PTS, 1) { Store(Zero, P80D) P8XH(Zero, Arg0) If(LEqual(Arg0, 0x5)) { Store(Zero, \_SB_.PCI0.LPCB.EC0_.SLPN) Store(\_SB_.PCI0.LPCB.EC0_.SYS7, \_SB_.PCI0.LPCB.EC0_.PWAK) \_SB_.PHSR(0x4b) } If(LEqual(Arg0, 0x4)) { Store(One, \_SB_.PCI0.LPCB.EC0_.SLPN) Store(\_SB_.PCI0.LPCB.EC0_.SYS7, \_SB_.PCI0.LPCB.EC0_.PWAK) Store(WFLG, \_SB_.PCI0.LPCB.EC0_.LWAK) \_SB_.PCI0.LPCB.PHSS(0xe) } If(LEqual(Arg0, 0x3)) { Store(One, \_SB_.PCI0.LPCB.EC0_.SLPN) Store(\_SB_.PCI0.LPCB.EC0_.SYS7, \_SB_.PCI0.LPCB.EC0_.PWAK) Store(WFLG, \_SB_.PCI0.LPCB.EC0_.LWAK) Store(SLID, \_SB_.PCI0.LPCB.EC0_.LIDW) } If(IGDS) { If(LEqual(Arg0, 0x5)) { \_SB_.PCI0.LPCB.PHSS(0x8f) } } } Method(_WAK, 1) { P8XH(One, 0xab) If(LEqual(Arg0, 0x3)) { If(LOr(LEqual(OSYS, 0x07d1), LEqual(OSYS, 0x07d2))) { TRAP(0x3e) } } If(LOr(LEqual(Arg0, 0x3), LEqual(Arg0, 0x4))) { If(And(CFGD, 0x01000000)) { If(LAnd(And(CFGD, 0xf0), LEqual(OSYS, 0x07d1))) { TRAP(0x3d) } } } If(LEqual(RP1D, Zero)) { Notify(\_SB_.PCI0.RP01, Zero) } If(LEqual(RP2D, Zero)) { Notify(\_SB_.PCI0.RP02, Zero) } If(LEqual(RP3D, Zero)) { Notify(\_SB_.PCI0.RP03, Zero) } If(LEqual(RP4D, Zero)) { Notify(\_SB_.PCI0.RP04, Zero) } If(LEqual(RP5D, Zero)) { Notify(\_SB_.PCI0.RP05, Zero) } If(LEqual(RP6D, Zero)) { Notify(\_SB_.PCI0.RP06, Zero) } If(LEqual(Arg0, 0x3)) { P8XH(Zero, 0x30) TRAP(0x46) } If(LEqual(Arg0, 0x4)) { P8XH(Zero, 0x40) \_SB_.PCI0.LPCB.PHSS(0xf) Store(WAKF, Local0) Store(Zero, WAKF) And(Local0, 0x5, Local0) If(LEqual(Local0, One)) { P8XH(Zero, 0x41) Notify(\_SB_.PWRB, 0x2) } If(DTSE) { TRAP(0x47) If(LAnd(\_SB_.PCI0.LPCB.ECOK(), LEqual(ECDY, Zero))) { If(LNot(LLess(DTS1, DTS2))) { Store(DTS1, \_SB_.PCI0.LPCB.EC0_.SKTA) } Else { Store(DTS2, \_SB_.PCI0.LPCB.EC0_.SKTA) } } Else { \_SB_.PCI0.LPCB.PHSS(0x10) } } } \_PR_.RPPC() Return(Package(0x2) { Zero, Zero, }) } Method(GETB, 3, Serialized) { Multiply(Arg0, 0x8, Local0) Multiply(Arg1, 0x8, Local1) CreateField(Arg2, Local0, Local1, TBF3) Return(TBF3) } Method(PNOT, 0, Serialized) { If(MPEN) { If(And(PDC0, 0x8)) { Notify(\_PR_.CPU0, 0x80) If(And(PDC0, 0x10)) { Sleep(0x64) Notify(\_PR_.CPU0, 0x81) } } If(And(PDC1, 0x8)) { Notify(\_PR_.CPU1, 0x80) If(And(PDC1, 0x10)) { Sleep(0x64) Notify(\_PR_.CPU1, 0x81) } } } Else { Notify(\_PR_.CPU0, 0x80) Sleep(0x64) Notify(\_PR_.CPU0, 0x81) } } Method(TRAP, 1, Serialized) { Store(Arg0, SMIF) Store(Zero, TRP0) Return(SMIF) } Scope(_SB_) { Method(_INI) { Store(0x9999, MARK) If(DTSE) { TRAP(0x47) ^PCI0.LPCB.PHSS(0x10) } Store(0x07d0, OSYS) If(CondRefOf(_OSI, Local0)) { If(_OSI) { "Linux" Store(One, LINX) Store(Zero, ECDY) } If(_OSI) { "Windows 2001" Store(0x07d1, OSYS) } If(_OSI) { "Windows 2001 SP1" Store(0x07d1, OSYS) } If(_OSI) { "Windows 2001 SP2" Store(0x07d2, OSYS) } If(_OSI) { "Windows 2006" Store(0x07d6, OSYS) } } If(LAnd(MPEN, LEqual(OSYS, 0x07d1))) { TRAP(0x3d) } TRAP(0x2b) } } OperationRegion(GNVS, SystemMemory, 0x7fee1e3c, 0x0100) Field(GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, LINX, 8, Offset(0x14), ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, Offset(0x28), APIC, 8, MPEN, 8, PCP0, 8, PCP1, 8, PPCM, 8, Offset(0x32), CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, 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, Offset(0x67), BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset(0x6e), EMAE, 8, EMAP, 16, EMAL, 16, Offset(0x74), MEFE, 8, Offset(0x78), TPMP, 8, TPME, 8, Offset(0x82), GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, Offset(0xaa), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, MARK, 16, BRAD, 8, BTEN, 8, VVEN, 8, BGTL, 8, TMEE, 1, Offset(0xcd), SCU0, 1, SCU1, 1, SCU2, 1, SCU3, 1, Offset(0xce), XKSP, 1, XKIN, 1, XKID, 1, XKOK, 1, Offset(0xcf), BGU1, 8, BST1, 8, BFC1, 16, WKLN, 8, WAKF, 8, DSMD, 8, BAYS, 8, HAPE, 1, Offset(0xd8), DTSM, 1, Offset(0xd9), ODT1, 8, ODT2, 8, DTSW, 8, HORZ, 16, VERT, 16, OES1, 8, OES2, 8, HDPT, 8, TVFM, 8 } Name(DSEN, One) Name(ECON, Zero) Name(GPIC, Zero) Name(CTYP, Zero) Name(L01C, Zero) Name(VFN0, Zero) Name(VFN1, Zero) Scope(_GPE) { Method(_L01) { Add(L01C, One, L01C) P8XH(Zero, One) P8XH(One, L01C) If(LAnd(LEqual(RP1D, Zero), \_SB_.PCI0.RP01.HPSX)) { Sleep(0x64) If(\_SB_.PCI0.RP01.PDCX) { Store(One, \_SB_.PCI0.RP01.PDCX) Store(One, \_SB_.PCI0.RP01.HPSX) Notify(\_SB_.PCI0.RP01, Zero) } Else { Store(One, \_SB_.PCI0.RP01.HPSX) } } If(LAnd(LEqual(RP2D, Zero), \_SB_.PCI0.RP02.HPSX)) { Sleep(0x64) If(\_SB_.PCI0.RP02.PDCX) { Store(One, \_SB_.PCI0.RP02.PDCX) Store(One, \_SB_.PCI0.RP02.HPSX) Notify(\_SB_.PCI0.RP02, Zero) } Else { Store(One, \_SB_.PCI0.RP02.HPSX) } } If(LAnd(LEqual(RP3D, Zero), \_SB_.PCI0.RP03.HPSX)) { Sleep(0x64) If(\_SB_.PCI0.RP03.PDCX) { Store(One, \_SB_.PCI0.RP03.PDCX) Store(One, \_SB_.PCI0.RP03.HPSX) Notify(\_SB_.PCI0.RP03, Zero) } Else { Store(One, \_SB_.PCI0.RP03.HPSX) } } If(LAnd(LEqual(RP4D, Zero), \_SB_.PCI0.RP04.HPSX)) { Sleep(0x64) If(\_SB_.PCI0.RP04.PDCX) { Store(One, \_SB_.PCI0.RP04.PDCX) Store(One, \_SB_.PCI0.RP04.HPSX) Notify(\_SB_.PCI0.RP04, Zero) } Else { Store(One, \_SB_.PCI0.RP04.HPSX) } } If(LAnd(LEqual(RP5D, Zero), \_SB_.PCI0.RP05.HPSX)) { Sleep(0x64) If(\_SB_.PCI0.RP05.PDCX) { Store(One, \_SB_.PCI0.RP05.PDCX) Store(One, \_SB_.PCI0.RP05.HPSX) Notify(\_SB_.PCI0.RP05, Zero) } Else { Store(One, \_SB_.PCI0.RP05.HPSX) } } If(LAnd(LEqual(RP6D, Zero), \_SB_.PCI0.RP06.HPSX)) { Sleep(0x64) If(\_SB_.PCI0.RP06.PDCX) { Store(One, \_SB_.PCI0.RP06.PDCX) Store(One, \_SB_.PCI0.RP06.HPSX) Notify(\_SB_.PCI0.RP06, Zero) } Else { Store(One, \_SB_.PCI0.RP06.HPSX) } } } Method(_L03) { Notify(\_SB_.PCI0.USB1, 0x2) } Method(_L04) { Notify(\_SB_.PCI0.USB2, 0x2) } Method(_L05) { Notify(\_SB_.PCI0.USB5, 0x2) } Method(_L06) { If(\_SB_.PCI0.GFX0.GSSE) { \_SB_.PCI0.GFX0.GSCI() } Else { Store(One, SCIS) } } Method(_L09) { If(\_SB_.PCI0.RP01.PSPX) { Store(One, \_SB_.PCI0.RP01.PSPX) Store(One, \_SB_.PCI0.RP01.PMSX) Notify(\_SB_.PCI0.RP01, 0x2) } If(\_SB_.PCI0.RP02.PSPX) { Store(One, \_SB_.PCI0.RP02.PSPX) Store(One, \_SB_.PCI0.RP02.PMSX) Notify(\_SB_.PCI0.RP02, 0x2) } If(\_SB_.PCI0.RP03.PSPX) { Store(One, \_SB_.PCI0.RP03.PSPX) Store(One, \_SB_.PCI0.RP03.PMSX) Notify(\_SB_.PCI0.RP03, 0x2) } If(\_SB_.PCI0.RP04.PSPX) { Store(One, \_SB_.PCI0.RP04.PSPX) Store(One, \_SB_.PCI0.RP04.PMSX) Notify(\_SB_.PCI0.RP04, 0x2) } If(\_SB_.PCI0.RP05.PSPX) { Store(One, \_SB_.PCI0.RP05.PSPX) Store(One, \_SB_.PCI0.RP05.PMSX) Notify(\_SB_.PCI0.RP05, 0x2) } If(\_SB_.PCI0.RP06.PSPX) { Store(One, \_SB_.PCI0.RP06.PSPX) Store(One, \_SB_.PCI0.RP06.PMSX) Notify(\_SB_.PCI0.RP06, 0x2) } } Method(_L0B) { Notify(\_SB_.PCI0.PCIB, 0x2) } Method(_L0C) { Notify(\_SB_.PCI0.USB3, 0x2) } Method(_L0D) { If(\_SB_.PCI0.EHC1.PMES) { Store(One, \_SB_.PCI0.EHC1.PMES) Notify(\_SB_.PCI0.EHC1, 0x2) } If(\_SB_.PCI0.EHC2.PMES) { Store(One, \_SB_.PCI0.EHC2.PMES) Notify(\_SB_.PCI0.EHC2, 0x2) } If(\_SB_.PCI0.HDEF.PMES) { Store(One, \_SB_.PCI0.HDEF.PMES) Notify(\_SB_.PCI0.HDEF, 0x2) } } Method(_L0E) { Notify(\_SB_.PCI0.USB4, 0x2) } Method(_L1B) { Not(LPOL, LPOL) If(LEqual(SLID, Zero)) { If(IGDS) { \_SB_.PCI0.LPCB.PHSS(0xc) Store(CADL, Local0) Store(CSTE, Local1) If(LEqual(Local0, 0x9)) { Store(Local1, P80H) If(LEqual(P80H, One)) { If(LEqual(\_SB_.PCI0.LPCB.EC0_.LIDP, One)) { } Else { If(LEqual(FLID, One)) { \_SB_.PCI0.GFX0.GHDS(0x2) Store(Zero, FLID) } Else { } } } If(LEqual(P80H, 0x9)) { If(LEqual(FLID, One)) { \_SB_.PCI0.GFX0.GHDS(0x2) Store(Zero, FLID) } Else { Store(Zero, FLID) } } If(LEqual(P80H, 0x8)) { If(LEqual(\_SB_.PCI0.LPCB.EC0_.LIDP, One)) { \_SB_.PCI0.GFX0.GHDS(0x2) Store(One, FLID) } } } } Else { \_SB_.PCI0.LPCB.PHSS(0xc) Store(CADL, Local0) Store(CSTE, Local1) If(LEqual(Local0, 0x3)) { If(LEqual(Local1, One)) { \_SB_.PCI0.PEGP.VGA_.STBL(0x2) Store(One, FLID) } If(LEqual(Local1, 0x2)) { If(LEqual(\_SB_.PCI0.LPCB.EC0_.LIDP, One)) { } Else { If(LEqual(FLID, Zero)) { \_SB_.PCI0.PEGP.VGA_.STBL(0x2) } Else { \_SB_.PCI0.PEGP.VGA_.STBL(One) Store(Zero, FLID) } } } } Else { \_SB_.PCI0.PEGP.VGA_.STBL(One) } } } Notify(\_SB_.LID0, 0x80) } } Scope(_PR_) { Processor(CPU0, 0, 0x1010, 0x6) { } Processor(CPU1, 1, 0x1010, 0x6) { } Method(RPPC) { If(LEqual(OSYS, 0x07d2)) { If(And(CFGD, One)) { If(LGreater(^CPU0._PPC, Zero)) { Subtract(^CPU0._PPC, One, ^CPU0._PPC) PNOT() Add(^CPU0._PPC, One, ^CPU0._PPC) PNOT() } Else { Add(^CPU0._PPC, One, ^CPU0._PPC) PNOT() Subtract(^CPU0._PPC, One, ^CPU0._PPC) PNOT() } } } } } Name(FWSO, "FWSO") Name(_PSC, Zero) Method(_PS0) { Store(_PSC, Local0) Store(Zero, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Scope(_SB_) { Device(LID0) { Name(_HID, 0x0d0cd041) Method(_LID) { Return(LPOL) } Name(_PRW, Package(0x2) { 0x1b, 0x3, }) Method(_PSW, 1) { Store(Arg0, SLID) } } Device(PWRB) { Name(_HID, 0x0c0cd041) } Device(SLPB) { Name(_HID, 0x0e0cd041) } Name(WINF, 0x80) Name(WPAK, 0x1000) Name(WSMI, 0xe0) Name(WMID, 0x57) Device(AMW0) { Mutex(WMIX, 1) Name(_HID, "PNP0C14") Name(_UID, Zero) Method(STBY, 3) { CreateByteField(Arg0, Arg1, TMP_) Store(Arg2, TMP_) } Method(STWD, 3) { CreateWordField(Arg0, Arg1, TMP_) Store(Arg2, TMP_) } Method(STDW, 3) { CreateDWordField(Arg0, Arg1, TMP_) Store(Arg2, TMP_) } Method(CLBY, 1) { Store(Zero, Local0) While(LLess(Local0, SizeOf(Arg0))) { STBY(Arg0, Local0, Zero) Increment(Local0) } } Name(_WDG, Buffer(0x64) {0xbc, 0xdc, 0x9d, 0x8d, 0x97, 0xa9, 0xda, 0x11, 0xb0, 0x12, 0xb6, 0x22, 0xa1, 0xef, 0x54, 0x92, 0x41, 0x41, 0x1, 0x0, 0xce, 0x93, 0x5, 0xa8, 0x97, 0xa9, 0xda, 0x11, 0xb0, 0x12, 0xb6, 0x22, 0xa1, 0xef, 0x54, 0x92, 0x42, 0x41, 0x1, 0x2, 0x94, 0x59, 0xbb, 0x9d, 0x97, 0xa9, 0xda, 0x11, 0xb0, 0x12, 0xb6, 0x22, 0xa1, 0xef, 0x54, 0x92, 0xd0, 0x0, 0x1, 0x8, 0xe0, 0x6c, 0x77, 0xa3, 0x88, 0x1e, 0xdb, 0x11, 0xa9, 0x8b, 0x8, 0x0, 0x20, 0xc, 0x9a, 0x66, 0x42, 0x43, 0x1, 0x0, 0x21, 0x12, 0x90, 0x5, 0x66, 0xd5, 0xd1, 0x11, 0xb2, 0xf0, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10, 0x4d, 0x4f, 0x1, 0x0 }) Name(INFO, Buffer(WINF) { }) Name(ECD0, Zero) Method(WED0, 1) { Store(Arg0, ECD0) Return(Arg0) } Method(WCAA, 1) { Return(Arg0) } Method(WQAA, 1) { Acquire(WMIX, 0xffff) CLBY(INFO) If(LNot(LEqual(Arg0, Zero))) { Store(INFO, Local1) } Else { STDW(INFO, Zero, 0x4c4c4544) STDW(INFO, 0x4, 0x494d5720) STDW(INFO, 0x8, One) STDW(INFO, 0xc, WPAK) Store(INFO, Local1) } Release(WMIX) Return(Local1) } Method(WSAA, 2) { Return(Arg1) } Method(WMI_, 2) { Return(PHWM(Arg0, Arg1)) } Method(WMBA, 3) { CreateDWordField(Arg2, 0x28, WBUF) Add(WBUF, 0x2c, Local1) If(LNot(LGreater(Local1, WPAK))) { Store(WMI_(Arg2, Local1), Local0) } Return(Local0) } Method(_WED, 1) { CLBY(INFO) Return(INFO) } Name(WQMO, Buffer(0x04fd) {0x46, 0x4f, 0x4d, 0x42, 0x1, 0x0, 0x0, 0x0, 0xed, 0x4, 0x0, 0x0, 0xd8, 0x15, 0x0, 0x0, 0x44, 0x53, 0x0, 0x1, 0x1a, 0x7d, 0xda, 0x54, 0x28, 0xd5, 0x8a, 0x0, 0x1, 0x6, 0x18, 0x42, 0x10, 0xd, 0x10, 0x22, 0x21, 0x4, 0x12, 0x1, 0xa1, 0xc8, 0x2c, 0xc, 0x86, 0x10, 0x38, 0x2e, 0x84, 0x1c, 0x40, 0x48, 0x1c, 0x14, 0x4a, 0x8, 0x84, 0xfa, 0x13, 0xc8, 0xaf, 0x0, 0x84, 0xe, 0x5, 0xc8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x4, 0x11, 0xf4, 0x2a, 0xc0, 0xa6, 0x0, 0x93, 0x2, 0x2c, 0xa, 0xd0, 0x2e, 0xc0, 0xb2, 0x0, 0xdd, 0x2, 0xa4, 0xc3, 0x12, 0x91, 0xe0, 0x28, 0x31, 0xe0, 0x28, 0x9d, 0xd8, 0xc2, 0xd, 0x1b, 0xbc, 0x50, 0x14, 0xcd, 0x20, 0x4a, 0x82, 0xca, 0x5, 0xf8, 0x46, 0x10, 0x78, 0xb9, 0x2, 0x24, 0x4f, 0x40, 0x9a, 0x5, 0x18, 0x16, 0x60, 0x5d, 0x80, 0xec, 0x21, 0x50, 0xa9, 0x43, 0x40, 0xc9, 0x19, 0x2, 0x6a, 0x0, 0xad, 0x4e, 0x40, 0xf8, 0x95, 0x4e, 0x9, 0x49, 0x10, 0xce, 0x58, 0xc5, 0xe3, 0x6b, 0x16, 0x4d, 0xcf, 0x49, 0xce, 0x31, 0xe4, 0x78, 0x5c, 0xe8, 0x41, 0xf0, 0x40, 0xa, 0x40, 0x58, 0x78, 0x8, 0x45, 0x80, 0x41, 0x49, 0x18, 0xb, 0x75, 0x31, 0x6a, 0xd4, 0x48, 0xd9, 0x80, 0xc, 0x51, 0xda, 0xa8, 0xd1, 0x3, 0x3a, 0xbf, 0x23, 0x39, 0xbb, 0xa3, 0x3b, 0x92, 0x4, 0x46, 0x3d, 0xa6, 0x63, 0x2c, 0x6c, 0x46, 0x42, 0x8d, 0xd1, 0x1c, 0x14, 0x81, 0xc6, 0xd, 0xda, 0x12, 0x61, 0x35, 0xae, 0xd8, 0x67, 0x66, 0xe1, 0xc3, 0x12, 0xc6, 0x11, 0x1c, 0x58, 0x82, 0x46, 0xd1, 0x34, 0xc7, 0xb3, 0xd, 0x91, 0xe0, 0x20, 0x42, 0x63, 0x64, 0x40, 0xc8, 0xf3, 0xb0, 0x5, 0x7a, 0xe4, 0x9, 0xec, 0x1e, 0x51, 0xa, 0x11, 0x34, 0xdf, 0x13, 0xa9, 0x51, 0x80, 0x36, 0xc, 0xd9, 0x3a, 0x1b, 0x68, 0xa8, 0xb1, 0x1a, 0x43, 0x11, 0x44, 0x84, 0xa0, 0x51, 0xc, 0x16, 0x21, 0x54, 0x88, 0xff, 0x7f, 0x94, 0xa8, 0xa7, 0x14, 0x24, 0x6a, 0x65, 0x20, 0x42, 0xb, 0x66, 0x4, 0x66, 0x7f, 0x10, 0x24, 0xc6, 0x99, 0x41, 0x87, 0x5, 0xcb, 0x0, 0x91, 0x11, 0x41, 0xa3, 0x61, 0x67, 0x1, 0xf, 0xc7, 0x33, 0x69, 0x7e, 0x62, 0x1a, 0x9c, 0x9, 0xc6, 0x3e, 0x3f, 0x50, 0x51, 0x7, 0x7, 0x4a, 0x60, 0x29, 0x3, 0x27, 0xb6, 0xc7, 0xa5, 0xf1, 0x9d, 0x71, 0xd4, 0x10, 0xa7, 0x7e, 0x66, 0xfe, 0x47, 0x78, 0xb, 0x3e, 0x2, 0xf0, 0x31, 0x78, 0xb0, 0x87, 0x10, 0xf0, 0x8, 0xd9, 0x19, 0xc0, 0x80, 0x78, 0xef, 0x93, 0x26, 0x73, 0xf1, 0x59, 0x0, 0xc6, 0xf0, 0xe1, 0x1a, 0x1f, 0x85, 0xc6, 0xc3, 0xce, 0x7, 0x6c, 0x5c, 0x1c, 0xde, 0x87, 0x82, 0x13, 0x2e, 0x16, 0x44, 0x1, 0x20, 0x24, 0xeb, 0x7c, 0x80, 0x9e, 0xf5, 0xb1, 0x5, 0x7c, 0x18, 0x68, 0xf6, 0xe, 0x41, 0x8, 0x5e, 0x4, 0x7c, 0x74, 0xf0, 0x71, 0xc3, 0xe3, 0x7e, 0xde, 0x0, 0xc3, 0xe1, 0xc0, 0xc3, 0xf1, 0x69, 0x3, 0xb8, 0x8c, 0x80, 0x4b, 0x7b, 0x52, 0x98, 0x40, 0x92, 0x9f, 0x0, 0x12, 0x3, 0x83, 0x3a, 0x10, 0xf8, 0x60, 0x1, 0x57, 0x12, 0x1c, 0x6a, 0x78, 0x9e, 0xd8, 0x3, 0xc2, 0xff, 0xff, 0x28, 0x4f, 0xe4, 0xc5, 0xc0, 0xd3, 0x7f, 0xc, 0x80, 0x71, 0x40, 0xf0, 0xb4, 0x4e, 0xca, 0x37, 0x8f, 0x7, 0x9, 0xf, 0x2a, 0x4c, 0x2, 0x9f, 0x12, 0x18, 0x1a, 0x3f, 0x6e, 0x80, 0x75, 0xd4, 0xf8, 0x3, 0x2, 0xbc, 0x93, 0xc4, 0xf9, 0xf5, 0x39, 0x0, 0x1d, 0x1a, 0x4e, 0x91, 0x81, 0xbc, 0x6, 0x9c, 0xf4, 0x29, 0x79, 0x7c, 0x9, 0x7c, 0xe6, 0x80, 0x7d, 0x37, 0x38, 0x8c, 0x83, 0x9, 0x11, 0xe1, 0x3d, 0xe0, 0xa9, 0xc3, 0x77, 0x8d, 0x47, 0x81, 0x40, 0x11, 0x7a, 0x3b, 0x73, 0xd0, 0x53, 0x88, 0x51, 0xa2, 0x9d, 0x55, 0x98, 0x7, 0x8e, 0x28, 0x3e, 0x72, 0x18, 0xe1, 0xdd, 0xc3, 0x77, 0x82, 0x7, 0x90, 0xd6, 0x26, 0x27, 0xdc, 0x40, 0xcf, 0x1c, 0x2c, 0xda, 0x99, 0x45, 0x16, 0x40, 0x14, 0x69, 0x34, 0xa8, 0x33, 0x82, 0x4f, 0x3, 0x9e, 0xd6, 0x53, 0x8c, 0x8f, 0x12, 0x6, 0x39, 0xc3, 0x3, 0x7b, 0x4e, 0x78, 0xc, 0xf0, 0x80, 0xd9, 0xfd, 0xc0, 0xc7, 0x9, 0x9f, 0xb, 0xf0, 0xae, 0x1, 0x35, 0x43, 0x1f, 0x36, 0xe0, 0x1c, 0x3a, 0xf0, 0xa7, 0x9, 0xfc, 0xc1, 0x2, 0x3f, 0x1e, 0x5f, 0x73, 0xd8, 0x84, 0x13, 0x58, 0xfe, 0x20, 0x50, 0x23, 0x33, 0xb4, 0x67, 0x79, 0x5a, 0xaf, 0x1, 0x3e, 0xed, 0x98, 0xc0, 0xe7, 0xd, 0xff, 0xff, 0xff, 0x39, 0x1e, 0xf, 0xf8, 0x15, 0x9f, 0x2e, 0xc8, 0x5d, 0xc1, 0xf3, 0xf5, 0xd9, 0x85, 0xd9, 0x18, 0xf, 0x6a, 0x14, 0x3e, 0xe0, 0xe0, 0xce, 0x2e, 0x3e, 0x2, 0xf8, 0xec, 0x2, 0x3c, 0x27, 0xf1, 0x2c, 0x1, 0xde, 0x43, 0x80, 0x4f, 0x24, 0xf1, 0x1e, 0xb6, 0x60, 0x8c, 0x18, 0xf, 0x79, 0xc6, 0x55, 0xf, 0x43, 0x17, 0x1, 0xab, 0xbb, 0xaf, 0xa0, 0x8e, 0x5e, 0x60, 0x82, 0x7a, 0xcd, 0xc0, 0x9d, 0x5e, 0x80, 0xcf, 0x29, 0xb, 0xde, 0xff, 0xff, 0x94, 0x5, 0xdc, 0xaf, 0xa, 0xfc, 0x88, 0x2, 0x6, 0xc8, 0xce, 0x4e, 0x27, 0x42, 0x78, 0x2f, 0x79, 0xe, 0xf1, 0xed, 0xca, 0x7, 0x93, 0x20, 0xcf, 0x1, 0x11, 0x9e, 0xb2, 0xf8, 0x7d, 0x20, 0x4a, 0xcc, 0x3, 0x8a, 0x14, 0xc5, 0x88, 0x41, 0x9e, 0xb0, 0x7c, 0x3d, 0x89, 0x61, 0xe8, 0x60, 0xe1, 0xc2, 0x47, 0x78, 0xca, 0x2, 0x2c, 0x5e, 0xb2, 0x30, 0xa7, 0x2c, 0x98, 0x6f, 0x3, 0x9f, 0xb2, 0xc0, 0xf1, 0xff, 0x3f, 0x65, 0x81, 0x6b, 0xdc, 0x4f, 0x59, 0xc0, 0x4c, 0xfa, 0x73, 0x92, 0x9c, 0x6a, 0xf4, 0x4, 0x50, 0xf4, 0x83, 0x5, 0x85, 0xf1, 0x29, 0xb, 0x70, 0x25, 0xef, 0x80, 0x0, 0x9a, 0xb3, 0x93, 0x6f, 0xb, 0x6, 0x3b, 0x66, 0x5f, 0x32, 0x7c, 0x4a, 0x4, 0xc3, 0x21, 0xc3, 0x77, 0xaa, 0x43, 0x79, 0xe4, 0x78, 0xa, 0xf0, 0x11, 0xb, 0xec, 0x71, 0x8e, 0x1, 0x3a, 0xae, 0xf8, 0x88, 0xe5, 0xff, 0xff, 0x11, 0xb, 0xe0, 0xc6, 0x1, 0x4, 0x7f, 0xea, 0x80, 0x75, 0xf, 0x8, 0xeb, 0x43, 0x7, 0xf0, 0x90, 0xfd, 0x10, 0xd0, 0x19, 0xc6, 0x92, 0x41, 0x64, 0xe3, 0x5c, 0x43, 0xc7, 0x68, 0xf1, 0xb, 0xd5, 0x4d, 0x21, 0xf6, 0xc1, 0x70, 0xd9, 0x40, 0x2, 0xf5, 0x70, 0x2d, 0x98, 0x42, 0xa2, 0x68, 0x34, 0x1a, 0x3, 0x13, 0x18, 0xc1, 0x19, 0xc4, 0x80, 0xce, 0x8, 0xa1, 0x43, 0x19, 0x4e, 0xc5, 0x79, 0x8, 0xf5, 0xff, 0x27, 0x18, 0xea, 0xc6, 0x44, 0x67, 0xe7, 0xf9, 0xf3, 0xdb, 0x88, 0x4f, 0x4, 0x6, 0xf6, 0x15, 0xe2, 0x2d, 0x3, 0x2c, 0xc3, 0xf2, 0xe2, 0x9e, 0x0, 0x8e, 0xf1, 0x24, 0x13, 0x54, 0x73, 0xac, 0x41, 0xcd, 0xc1, 0x57, 0x81, 0x37, 0x32, 0x13, 0xf8, 0xa, 0x6, 0xb6, 0xd3, 0xc, 0x46, 0xdf, 0x9d, 0x0, 0x14, 0x40, 0x3e, 0xa, 0xf8, 0xbe, 0xfc, 0x36, 0xc0, 0x66, 0xf1, 0xca, 0x6c, 0x34, 0x9f, 0x3f, 0x11, 0x43, 0x47, 0x89, 0x19, 0x3a, 0x5, 0xf1, 0xd0, 0x1d, 0x74, 0xe8, 0xe8, 0xe3, 0x80, 0x4f, 0x56, 0xb8, 0x60, 0x87, 0x2f, 0x68, 0x93, 0x3b, 0xda, 0x13, 0xf3, 0x2c, 0x3c, 0x4f, 0xdc, 0xdc, 0xc1, 0x74, 0x44, 0x82, 0x31, 0x78, 0xcc, 0xe4, 0xc1, 0x2c, 0x70, 0xf2, 0xa0, 0xf8, 0xff, 0x4f, 0x1e, 0x26, 0x3c, 0x26, 0xec, 0xe1, 0x90, 0x1e, 0x3a, 0x3c, 0x32, 0x3e, 0x4e, 0x9f, 0x7e, 0x18, 0xf6, 0xe9, 0x9c, 0x4b, 0xd1, 0x33, 0xd2, 0x1d, 0xe3, 0x99, 0xb, 0x3, 0xeb, 0x91, 0x73, 0x58, 0xa3, 0x85, 0x3d, 0xe0, 0xe7, 0x10, 0xdf, 0x61, 0x7c, 0xe0, 0x61, 0xb0, 0x3e, 0xbd, 0x80, 0xe3, 0xf8, 0x5, 0xff, 0x34, 0x0, 0x9e, 0x3, 0x88, 0xc7, 0xf0, 0x2, 0xc2, 0x8f, 0x2f, 0x3a, 0xff, 0x52, 0xa1, 0x8b, 0x93, 0x3c, 0x18, 0xd4, 0x69, 0xa, 0x70, 0x75, 0x7a, 0x3, 0xcf, 0x55, 0x1f, 0x77, 0x96, 0xc2, 0xfd, 0xff, 0xcf, 0x52, 0x30, 0xe, 0xbf, 0xbe, 0xc0, 0xfb, 0x2e, 0x65, 0x84, 0x3, 0x79, 0x96, 0x2, 0x7b, 0xec, 0x67, 0x88, 0xe, 0x1, 0x3e, 0x4b, 0x1, 0xfc, 0x78, 0x7d, 0xf8, 0x3c, 0x3, 0x37, 0xf0, 0xe9, 0x17, 0x68, 0xfd, 0xff, 0x4f, 0x21, 0xe0, 0x3f, 0x46, 0xf8, 0x88, 0x83, 0x3b, 0xfa, 0x2, 0xb7, 0x83, 0x31, 0x3f, 0x63, 0xe0, 0x8e, 0x63, 0xc0, 0xe3, 0xe4, 0x8c, 0x3b, 0x4d, 0x78, 0x8, 0x7c, 0x0, 0xad, 0x4e, 0x8f, 0x9c, 0x7a, 0x4e, 0x9, 0x77, 0x1c, 0xe0, 0x53, 0xc2, 0xd, 0x0, 0xa3, 0xd0, 0xa6, 0x4f, 0x8d, 0x46, 0xad, 0x1a, 0x94, 0xa9, 0x51, 0xa6, 0x41, 0xad, 0x3e, 0x95, 0x1a, 0x33, 0xa6, 0x3, 0xce, 0xaf, 0x3, 0x1d, 0xf, 0x1c, 0xea, 0x85, 0x20, 0x10, 0x4b, 0x7a, 0x75, 0x8, 0xc4, 0xa2, 0x3c, 0x80, 0xb0, 0xb8, 0x26, 0x40, 0x98, 0xf0, 0x37, 0x81, 0x40, 0x1c, 0x1b, 0x84, 0x8a, 0xa5, 0x97, 0x91, 0xf1, 0x19, 0x44, 0x40, 0xe, 0xe1, 0x3, 0x88, 0x45, 0x2, 0x11, 0x38, 0x51, 0x2, 0x4a, 0x9d, 0x80, 0x30, 0xa1, 0xaf, 0x6, 0x81, 0xf8, 0xff, 0xf }) } OperationRegion(SMI2, SystemMemory, 0x7fee1f3d, 0x00001010) Field(SMI2, AnyAcc, NoLock, Preserve) { WCMD, 8, TPID, 8, WDID, 32, DI00, 32768 } Field(SMI2, AnyAcc, NoLock, Preserve) { AccessAs(ByteAcc, 0), Offset(0x6), WCCL, 16, WCSE, 16, WCA1, 32, WCA2, 32, WCA3, 32, WCA4, 32, WCR1, 32, WCR2, 32, WCR3, 32, WCR4, 32 } Mutex(PSMX, 0) Method(PHWM, 2) { Acquire(PSMX, 0xffff) Store(WSMI, WCMD) Store(WMID, TPID) Store(Arg1, WDID) Store(Arg0, DI00) Store(Zero, SMIC) Release(PSMX) Name(RETB, Buffer(0x1000) { }) Store(DI00, RETB) Return(RETB) } Device(PCI0) { Method(_S3D) { Return(0x2) } Method(_S4D) { Return(0x2) } Name(_HID, 0x080ad041) Name(_CID, 0x030ad041) Device(MCHC) { Name(_ADR, Zero) OperationRegion(HBUS, PCI_Config, 0x40, 0xc0) Field(HBUS, DWordAcc, NoLock, Preserve) { EPEN, 1, , 11, EPBR, 20, Offset(0x8), MHEN, 1, , 13, MHBR, 18, Offset(0x20), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset(0x28), DIEN, 1, , 11, DIBR, 20, Offset(0x30), IPEN, 1, , 11, IPBR, 20, Offset(0x50), , 4, PM0H, 2, Offset(0x51), PM1L, 2, , 2, PM1H, 2, Offset(0x52), PM2L, 2, , 2, PM2H, 2, Offset(0x53), PM3L, 2, , 2, PM3H, 2, Offset(0x54), PM4L, 2, , 2, PM4H, 2, Offset(0x55), PM5L, 2, , 2, PM5H, 2, Offset(0x56), PM6L, 2, , 2, PM6H, 2, Offset(0x57), , 7, HENA, 1, Offset(0x62), TUUD, 16, Offset(0x70), , 4, TLUD, 12 } } Name(BUF0, Buffer(0x0208) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x87, 0x17, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xc, 0x0, 0x0, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x87, 0x17, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf3, 0x0, 0x0, 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, 0xf, 0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0xff, 0xbf, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0xe, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd4, 0xfe, 0xff, 0x4f, 0xd4, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { If(^MCHC.PM1L) { CreateDWordField(BUF0, 0x7c, C0LN) Store(Zero, C0LN) } If(LEqual(^MCHC.PM1L, One)) { CreateBitField(BUF0, 0x0358, C0RW) Store(Zero, C0RW) } If(^MCHC.PM1H) { CreateDWordField(BUF0, 0x96, C4LN) Store(Zero, C4LN) } If(LEqual(^MCHC.PM1H, One)) { CreateBitField(BUF0, 0x0428, C4RW) Store(Zero, C4RW) } If(^MCHC.PM2L) { CreateDWordField(BUF0, 0xb0, C8LN) Store(Zero, C8LN) } If(LEqual(^MCHC.PM2L, One)) { CreateBitField(BUF0, 0x04f8, C8RW) Store(Zero, C8RW) } If(^MCHC.PM2H) { CreateDWordField(BUF0, 0xca, CCLN) Store(Zero, CCLN) } If(LEqual(^MCHC.PM2H, One)) { CreateBitField(BUF0, 0x05c8, CCRW) Store(Zero, CCRW) } If(^MCHC.PM3L) { CreateDWordField(BUF0, 0xe4, D0LN) Store(Zero, D0LN) } If(LEqual(^MCHC.PM3L, One)) { CreateBitField(BUF0, 0x0698, D0RW) Store(Zero, D0RW) } If(^MCHC.PM3H) { CreateDWordField(BUF0, 0xfe, D4LN) Store(Zero, D4LN) } If(LEqual(^MCHC.PM3H, One)) { CreateBitField(BUF0, 0x0768, D4RW) Store(Zero, D4RW) } If(^MCHC.PM4L) { CreateDWordField(BUF0, 0x0118, D8LN) Store(Zero, D8LN) } If(LEqual(^MCHC.PM4L, One)) { CreateBitField(BUF0, 0x0838, D8RW) Store(Zero, D8RW) } If(^MCHC.PM4H) { CreateDWordField(BUF0, 0x0132, DCLN) Store(Zero, DCLN) } If(LEqual(^MCHC.PM4H, One)) { CreateBitField(BUF0, 0x0908, DCRW) Store(Zero, DCRW) } If(^MCHC.PM5L) { CreateDWordField(BUF0, 0x014c, E0LN) Store(Zero, E0LN) } If(LEqual(^MCHC.PM5L, One)) { CreateBitField(BUF0, 0x09d8, E0RW) Store(Zero, E0RW) } If(^MCHC.PM5H) { CreateDWordField(BUF0, 0x0166, E4LN) Store(Zero, E4LN) } If(LEqual(^MCHC.PM5H, One)) { CreateBitField(BUF0, 0x0aa8, E4RW) Store(Zero, E4RW) } If(^MCHC.PM6L) { CreateDWordField(BUF0, 0x0180, E8LN) Store(Zero, E8LN) } If(LEqual(^MCHC.PM6L, One)) { CreateBitField(BUF0, 0x0b78, E8RW) Store(Zero, E8RW) } If(^MCHC.PM6H) { CreateDWordField(BUF0, 0x019a, ECLN) Store(Zero, ECLN) } If(LEqual(^MCHC.PM6H, One)) { CreateBitField(BUF0, 0x0c48, ECRW) Store(Zero, ECRW) } If(^MCHC.PM0H) { CreateDWordField(BUF0, 0x01b4, F0LN) Store(Zero, F0LN) } If(LEqual(^MCHC.PM0H, One)) { CreateBitField(BUF0, 0x0d18, F0RW) Store(Zero, F0RW) } If(TPRS) { CreateDWordField(BUF0, 0x0202, TPML) Store(0x5000, TPML) } CreateDWordField(BUF0, 0x01c2, M1MN) CreateDWordField(BUF0, 0x01c6, M1MX) CreateDWordField(BUF0, 0x01ce, M1LN) CreateDWordField(BUF0, 0x01dc, M2MN) CreateDWordField(BUF0, 0x01e0, M2MX) CreateDWordField(BUF0, 0x01e8, M2LN) ShiftLeft(^MCHC.PXBR, 0x1a, M1MX) ShiftRight(0x10000000, ^MCHC.PXSZ, Local0) Add(M1MX, Local0, M2MN) Add(Subtract(M2MX, M2MN), One, M2LN) Subtract(M1MX, One, M1MX) ShiftLeft(^MCHC.TLUD, 0x14, M1MN) Add(Subtract(M1MX, M1MN), One, M1LN) Return(BUF0) } Method(_PRT) { If(GPIC) { Return(Package(0x17) { Package(0x4) { 0x0001ffff, Zero, Zero, 0x10, }, Package(0x4) { 0x0002ffff, Zero, Zero, 0x10, }, Package(0x4) { 0x0003ffff, Zero, Zero, 0x10, }, Package(0x4) { 0x0003ffff, One, Zero, 0x11, }, Package(0x4) { 0x0003ffff, 0x2, Zero, 0x12, }, Package(0x4) { 0x0003ffff, 0x3, Zero, 0x13, }, Package(0x4) { 0x0007ffff, Zero, Zero, 0x10, }, Package(0x4) { 0x0019ffff, Zero, Zero, 0x14, }, Package(0x4) { 0x001affff, Zero, Zero, 0x10, }, Package(0x4) { 0x001affff, One, Zero, 0x15, }, Package(0x4) { 0x001affff, 0x2, Zero, 0x12, }, Package(0x4) { 0x001bffff, Zero, Zero, 0x16, }, Package(0x4) { 0x001cffff, Zero, Zero, 0x11, }, Package(0x4) { 0x001cffff, One, Zero, 0x10, }, Package(0x4) { 0x001cffff, 0x2, Zero, 0x12, }, Package(0x4) { 0x001cffff, 0x3, Zero, 0x13, }, Package(0x4) { 0x001dffff, Zero, Zero, 0x17, }, Package(0x4) { 0x001dffff, One, Zero, 0x13, }, Package(0x4) { 0x001dffff, 0x2, Zero, 0x12, }, Package(0x4) { 0x001fffff, Zero, Zero, 0x12, }, Package(0x4) { 0x001fffff, One, Zero, 0x12, }, Package(0x4) { 0x001fffff, 0x2, Zero, 0x12, }, Package(0x4) { 0x001fffff, 0x3, Zero, 0x10, }, }) } Else { Return(Package(0x17) { Package(0x4) { 0x0001ffff, Zero, ^LPCB.LNKA, Zero, }, Package(0x4) { 0x0002ffff, Zero, ^LPCB.LNKA, Zero, }, Package(0x4) { 0x0003ffff, Zero, ^LPCB.LNKA, Zero, }, Package(0x4) { 0x0003ffff, One, ^LPCB.LNKB, Zero, }, Package(0x4) { 0x0003ffff, 0x2, ^LPCB.LNKC, Zero, }, Package(0x4) { 0x0003ffff, 0x3, ^LPCB.LNKD, Zero, }, Package(0x4) { 0x0007ffff, Zero, ^LPCB.LNKA, Zero, }, Package(0x4) { 0x0019ffff, Zero, ^LPCB.LNKE, Zero, }, Package(0x4) { 0x001affff, Zero, ^LPCB.LNKA, Zero, }, Package(0x4) { 0x001affff, One, ^LPCB.LNKF, Zero, }, Package(0x4) { 0x001affff, 0x2, ^LPCB.LNKC, Zero, }, Package(0x4) { 0x001bffff, Zero, ^LPCB.LNKG, Zero, }, Package(0x4) { 0x001cffff, Zero, ^LPCB.LNKB, Zero, }, Package(0x4) { 0x001cffff, One, ^LPCB.LNKA, Zero, }, Package(0x4) { 0x001cffff, 0x2, ^LPCB.LNKC, Zero, }, Package(0x4) { 0x001cffff, 0x3, ^LPCB.LNKD, Zero, }, Package(0x4) { 0x001dffff, Zero, ^LPCB.LNKH, Zero, }, Package(0x4) { 0x001dffff, One, ^LPCB.LNKD, Zero, }, Package(0x4) { 0x001dffff, 0x2, ^LPCB.LNKC, Zero, }, Package(0x4) { 0x001fffff, Zero, ^LPCB.LNKD, Zero, }, Package(0x4) { 0x001fffff, One, ^LPCB.LNKD, Zero, }, Package(0x4) { 0x001fffff, 0x2, ^LPCB.LNKD, Zero, }, Package(0x4) { 0x001fffff, 0x3, ^LPCB.LNKA, Zero, }, }) } } Device(PDRC) { Name(_HID, 0x020cd041) Name(_UID, One) Name(BUF0, Buffer(0x62) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd2, 0xfe, 0x0, 0x0, 0x2, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x50, 0xd4, 0xfe, 0x0, 0xb0, 0x4, 0x0, 0x79, 0x0 }) Method(_CRS, 0, Serialized) { CreateDWordField(BUF0, 0x4, RBR0) ShiftLeft(^^LPCB.RCBA, 0xe, RBR0) CreateDWordField(BUF0, 0x10, MBR0) ShiftLeft(^^MCHC.MHBR, 0xe, MBR0) CreateDWordField(BUF0, 0x1c, DBR0) ShiftLeft(^^MCHC.DIBR, 0xc, DBR0) CreateDWordField(BUF0, 0x28, EBR0) ShiftLeft(^^MCHC.EPBR, 0xc, EBR0) CreateDWordField(BUF0, 0x34, XBR0) ShiftLeft(^^MCHC.PXBR, 0x1a, XBR0) CreateDWordField(BUF0, 0x38, XSZ0) ShiftRight(0x10000000, ^^MCHC.PXSZ, XSZ0) If(TPRS) { CreateDWordField(BUF0, 0x50, TPML) Store(Zero, TPML) } Return(BUF0) } } Device(PEGP) { Name(_ADR, 0x00010000) Method(_PRT) { If(GPIC) { Return(Package(0x4) { Package(0x4) { 0xffff, Zero, Zero, 0x10, }, Package(0x4) { 0xffff, One, Zero, 0x11, }, Package(0x4) { 0xffff, 0x2, Zero, 0x12, }, Package(0x4) { 0xffff, 0x3, Zero, 0x13, }, }) } Else { Return(Package(0x4) { Package(0x4) { 0xffff, Zero, ^^LPCB.LNKA, Zero, }, Package(0x4) { 0xffff, One, ^^LPCB.LNKB, Zero, }, Package(0x4) { 0xffff, 0x2, ^^LPCB.LNKC, Zero, }, Package(0x4) { 0xffff, 0x3, ^^LPCB.LNKD, Zero, }, }) } } Device(VGA_) { Name(_ADR, Zero) Name(SWIT, One) Name(CRTA, One) Name(LCDA, One) Name(TVAA, One) Name(VLDF, One) OperationRegion(VIDS, PCI_Config, Zero, 0xc8) Field(VIDS, DWordAcc, NoLock, Preserve) { VDID, 32 } Method(_STA) { Return(0xf) } Name(_PSC, Zero) Method(_PS0) { Store(Zero, _PSC) } Method(_PS1) { Store(One, _PSC) } Method(_PS3) { Store(0x3, _PSC) } Method(_DOS, 1) { Store(And(Arg0, 0x3), SWIT) } Method(_DOD) { Return(Package(0x3) { 0x00010100, 0x00010110, 0x0200, }) } Device(CRT_) { Method(_ADR) { Return(0x0100) } Method(_DCS) { ^^^^LPCB.PHSS(0xc) Store(CADL, Local0) Store(CSTE, Local1) And(Local0, 0x2, Local0) And(Local1, 0x2, Local1) If(Local0) { Store(One, CRTA) } Else { Store(Zero, CRTA) } If(CRTA) { If(LEqual(Local1, 0x2)) { Return(0x1f) } Else { Return(0x1d) } } Else { If(LEqual(Local1, 0x2)) { Return(0xf) } Else { Return(0xd) } } } Method(_DGS) { If(CRTA) { Return(One) } Else { Return(Zero) } } Method(_DSS, 1) { } } Device(LCD_) { Method(_ADR) { Return(0x0110) } Method(_DCS) { ^^^^LPCB.PHSS(0xc) Store(CADL, Local0) Store(CSTE, Local1) And(Local0, One, Local0) And(Local1, One, Local1) If(Local0) { Store(One, LCDA) } Else { Store(Zero, LCDA) } If(LCDA) { If(LEqual(Local1, One)) { Return(0x1f) } Else { Return(0x1d) } } Else { If(LEqual(Local1, One)) { Return(0xf) } Else { Return(0xd) } } } Method(_DGS) { If(LCDA) { Return(One) } Else { Return(Zero) } } Method(_DSS, 1) { } Method(_BCL) { Return(Package(0xa) { 0x46, 0x28, Zero, 0xa, 0x14, 0x1e, 0x28, 0x32, 0x3c, 0x46, }) } Method(_BCM, 1) { Divide(Arg0, 0xa, Local0, Local1) Store(Local1, ^^^^LPCB.EC0_.BRTS) } Method(_BQC) { Multiply(^^^^LPCB.EC0_.BRTS, 0xa, Local0) Return(Local0) } } Device(TV__) { Method(_ADR) { Return(0x0200) } Method(_DCS) { ^^^^LPCB.PHSS(0xc) Store(CADL, Local0) Store(CSTE, Local1) And(Local0, 0x4, Local0) And(Local1, 0x4, Local1) If(Local0) { Store(One, TVAA) } Else { Store(Zero, TVAA) } If(TVAA) { If(LEqual(Local1, 0x4)) { Return(0x1f) } Else { Return(0x1d) } } Else { If(LEqual(Local1, 0x4)) { Return(0xf) } Else { Return(0xd) } } } Method(_DGS) { If(TVAA) { Return(One) } Else { Return(Zero) } } Method(_DSS, 1) { } } Method(DSSW) { If(LEqual(SWIT, Zero)) { ^^^LPCB.PHSS(0xc) Store(CADL, Local0) Store(CSTE, Local1) If(LGreater(Local1, One)) { And(Local0, Local1, VLDF) And(VLDF, 0xfe, VLDF) } If(VLDF) { If(LEqual(Local0, 0x3)) { If(LEqual(Local1, One)) { STBL(0x4) } If(LEqual(Local1, 0x3)) { STBL(0x2) } If(LEqual(Local1, 0x2)) { STBL(One) } } If(LEqual(Local0, 0x5)) { If(LEqual(Local1, One)) { STBL(0x6) } If(LEqual(Local1, 0x5)) { STBL(0x3) } If(LEqual(Local1, 0x4)) { STBL(One) } } If(LEqual(Local0, 0x7)) { If(LEqual(Local1, One)) { STBL(0x4) } If(LEqual(Local1, 0x3)) { STBL(0x2) } If(LEqual(Local1, 0x2)) { STBL(0x6) } If(LEqual(Local1, 0x5)) { STBL(0x3) } If(LEqual(Local1, 0x4)) { STBL(One) } } } Else { Store(One, VLDF) STBL(One) } } Else { If(LEqual(SWIT, One)) { ^^^LPCB.PHSS(One) } } } Method(STBL, 1) { If(LEqual(Arg0, One)) { Store(Zero, CRTA) Store(One, LCDA) Store(Zero, TVAA) } If(LEqual(Arg0, 0x2)) { Store(One, CRTA) Store(Zero, LCDA) Store(Zero, TVAA) } If(LEqual(Arg0, 0x3)) { Store(Zero, CRTA) Store(Zero, LCDA) Store(One, TVAA) } If(LEqual(Arg0, 0x4)) { Store(One, CRTA) Store(One, LCDA) Store(Zero, TVAA) } If(LEqual(Arg0, 0x5)) { Store(Zero, CRTA) Store(One, LCDA) Store(One, TVAA) } If(LEqual(Arg0, 0x6)) { Store(One, CRTA) Store(Zero, LCDA) Store(One, TVAA) } If(LEqual(Arg0, 0x7)) { Store(One, CRTA) Store(One, LCDA) Store(One, TVAA) } Notify(VGA_, 0x80) } } } Device(GFX0) { Name(_ADR, 0x00020000) Method(_DOS, 1) { Store(And(Arg0, 0x7), DSEN) } Method(_DOD) { Store(Zero, NDID) If(LNot(LEqual(DIDL, Zero))) { Store(SDDL(DID1), DID1) } If(LNot(LEqual(DDL2, Zero))) { Store(SDDL(DID2), DID2) } If(LNot(LEqual(DDL3, Zero))) { Store(SDDL(DID3), DID3) } If(LNot(LEqual(DDL4, Zero))) { Store(SDDL(DID4), DID4) } If(LNot(LEqual(DDL5, Zero))) { Store(SDDL(DID5), DID5) } If(LEqual(NDID, One)) { Name(TMP1, Package(0x1) { 0xffffffff, }) Store(Or(0x00010000, DID1), Index(TMP1, Zero)) Return(TMP1) } If(LEqual(NDID, 0x2)) { Name(TMP2, Package(0x2) { 0xffffffff, 0xffffffff, }) Store(Or(0x00010000, DID1), Index(TMP2, Zero)) Store(Or(0x00010000, DID2), Index(TMP2, One)) Return(TMP2) } If(LEqual(NDID, 0x3)) { Name(TMP3, Package(0x3) { 0xffffffff, 0xffffffff, 0xffffffff, }) Store(Or(0x00010000, DID1), Index(TMP3, Zero)) Store(Or(0x00010000, DID2), Index(TMP3, One)) Store(Or(0x00010000, DID3), Index(TMP3, 0x2)) Return(TMP3) } If(LEqual(NDID, 0x4)) { Name(TMP4, Package(0x4) { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, }) Store(Or(0x00010000, DID1), Index(TMP4, Zero)) Store(Or(0x00010000, DID2), Index(TMP4, One)) Store(Or(0x00010000, DID3), Index(TMP4, 0x2)) Store(Or(0x00010000, DID4), Index(TMP4, 0x3)) Return(TMP4) } If(LGreater(NDID, 0x4)) { Name(TMP5, Package(0x5) { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, }) Store(Or(0x00010000, DID1), Index(TMP5, Zero)) Store(Or(0x00010000, DID2), Index(TMP5, One)) Store(Or(0x00010000, DID3), Index(TMP5, 0x2)) Store(Or(0x00010000, DID4), Index(TMP5, 0x3)) Store(Or(0x00010000, DID4), Index(TMP5, 0x4)) Return(TMP5) } Return(Package(0x1) { 0x0400, }) } Device(DD01) { Method(_ADR, 0, Serialized) { If(LEqual(DID1, Zero)) { Return(One) } Else { Return(And(0xffff, DID1)) } } Method(_DCS) { Return(CDDS(DID1)) } Method(_DGS) { Return(NDDS(DID1)) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DD02) { Method(_ADR, 0, Serialized) { If(LEqual(DID2, Zero)) { Return(0x2) } Else { Return(And(0xffff, DID2)) } } Method(_DCS) { Return(CDDS(DID2)) } Method(_DGS) { Return(NDDS(DID2)) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DD03) { Method(_ADR, 0, Serialized) { If(LEqual(DID3, Zero)) { Return(0x3) } Else { Return(And(0xffff, DID3)) } } Method(_DCS) { If(LEqual(DID3, Zero)) { Return(0xb) } Else { Return(CDDS(DID3)) } } Method(_DGS) { Return(NDDS(DID3)) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DD04) { Method(_ADR, 0, Serialized) { If(LEqual(DID4, Zero)) { Return(0x4) } Else { Return(And(0xffff, DID4)) } } Method(_DCS) { If(LEqual(DID4, Zero)) { Return(0xb) } Else { Return(CDDS(DID4)) } } Method(_DGS) { Return(NDDS(DID4)) } Method(_DSS, 1) { If(LEqual(And(Arg0, 0xc0000000), 0xc0000000)) { Store(NSTE, CSTE) } } } Device(DD05) { Method(_ADR, 0, Serialized) { If(LEqual(DID5, Zero)) { Return(0x5) } Else { Return(And(0xffff, DID5)) } } Method(_DCS) { If(LEqual(DID5, Zero)) { Return(0xb) } Else { Return(CDDS(DID5)) } } Method(_DGS) {