/* * Intel ACPI Component Architecture * AML Disassembler version 20100528 * * Disassembly of DSDT.dat, Wed Jun 15 21:36:42 2011 * * * Original Table Header: * Signature "DSDT" * Length 0x0000E0D7 (57559) * Revision 0x01 **** ACPI 1.0, no 64-bit math support * Checksum 0x7B * OEM ID "HP " * OEM Table ID "1640 " * OEM Revision 0xF0000000 (4026531840) * Compiler ID "MSFT" * Compiler Version 0x01000013 (16777235) */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "HP ", "1640 ", 0xF0000000) { External (\_PR_.C003._PPC) External (\_PR_.C002._PPC) External (\_PR_.C001._PPC) External (\_PR_.C000._PPC, IntObj) OperationRegion (DBG0, SystemIO, 0x80, One) Field (DBG0, ByteAcc, NoLock, Preserve) { IO80, 8 } OperationRegion (DEB2, SystemIO, 0x80, 0x02) Field (DEB2, WordAcc, NoLock, Preserve) { P80H, 16 } OperationRegion (ACMS, SystemIO, 0x72, 0x02) Field (ACMS, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x8A), EDGC, 8, EDRS, 8, HBUC, 8, HBUS, 8, Offset (0xC0), BTWL, 2, BTLS, 1, WWLS, 1, BWLS, 1, WBTS, 1, Offset (0xC2), BRAC, 8, BRDC, 8, VRAM, 8, DOST, 8, PFID, 8, Offset (0xC8), WAKS, 8, HOTS, 8, PSZE, 8, Offset (0xE0), OFEA, 8, Offset (0xE2), CWD0, 8, CWD1, 8, CWD2, 8, CWD3, 8, CWDF, 8, CWCS, 8, Offset (0xF0), FMWA, 8 } OperationRegion (PSMI, SystemIO, 0xB0, 0x02) Field (PSMI, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8 } OperationRegion (PMRG, SystemIO, 0x0CD6, 0x02) Field (PMRG, ByteAcc, NoLock, Preserve) { PMRI, 8, PMRD, 8 } IndexField (PMRI, PMRD, ByteAcc, NoLock, Preserve) { Offset (0x24), MMSO, 32, Offset (0x60), P1EB, 16, Offset (0xC8), , 2, SPRE, 1, TPDE, 1, Offset (0xF0), , 3, RSTU, 1 } OperationRegion (GSMM, SystemMemory, MMSO, 0x1000) Field (GSMM, AnyAcc, NoLock, Preserve) { Offset (0x132), , 7, GP51, 1, Offset (0x136), , 7, GP55, 1, Offset (0x13A), , 7, GP59, 1, Offset (0x13F), , 7, GP64, 1, Offset (0x160), , 7, GE01, 1, Offset (0x16A), , 7, GE11, 1, , 7, GE12, 1, Offset (0x16E), , 7, BATS, 1, Offset (0x1FF), , 1, G01S, 1, Offset (0x203), , 1, G01E, 1, Offset (0x207), , 1, TR01, 1, , 1, TR03, 1, Offset (0x20B), , 1, TL01, 1, Offset (0x20D), , 7, ACIR, 1, Offset (0x287), , 1, CLPS, 1, Offset (0x298), , 7, G15A, 1, Offset (0x2AF), , 2, SLPS, 2, Offset (0x376), EPNM, 1, DPPF, 1, Offset (0x3BA), , 6, PWDE, 1, Offset (0x3BD), , 5, ALLS, 1, Offset (0x3DE), BLNK, 2, Offset (0x3EF), PHYD, 1, Offset (0xE80), , 2, ECES, 1 } OperationRegion (P1E0, SystemIO, P1EB, 0x04) Field (P1E0, ByteAcc, NoLock, Preserve) { , 14, PEWS, 1, WSTA, 1, , 14, PEWD, 1 } OperationRegion (IOCC, SystemIO, 0x0400, 0x80) Field (IOCC, ByteAcc, NoLock, Preserve) { Offset (0x01), , 2, RTCS, 1 } Name (PCM1, Zero) Name (IW1S, Zero) Name (IW2S, Zero) Method (OT80, 1, NotSerialized) { Store (Arg0, APMD) Store (0xE5, APMC) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) } Name (PS48, Zero) Name (PS49, Zero) Name (PS4A, Zero) Name (PS4B, Zero) Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Store (Arg0, Index (PRWP, Zero)) Store (Arg1, Index (PRWP, One)) If (LAnd (LEqual (DAS3, Zero), LEqual (DAS1, Zero))) { If (LLessEqual (Arg1, 0x03)) { Store (Zero, Index (PRWP, One)) } } Else { If (LAnd (LEqual (DAS3, Zero), LEqual (Arg1, 0x03))) { Store (One, Index (PRWP, One)) } If (LAnd (LEqual (DAS1, Zero), LEqual (Arg1, One))) { Store (Zero, Index (PRWP, One)) } } Return (PRWP) } Method (SPTS, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Zero, RSTU) } Store (One, CLPS) Store (One, SLPS) Store (PEWS, PEWS) } Method (SWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (One, RSTU) } Store (PEWS, PEWS) Store (Zero, PEWD) } Method (TRMD, 1, NotSerialized) { Store (Arg0, SPRE) Store (Arg0, TPDE) } Method (CHKH, 0, NotSerialized) { } OperationRegion (MBOX, SystemMemory, 0xCFEBCA18, 0x00000352) Field (MBOX, AnyAcc, NoLock, Preserve) { PCI1, 8, PCI2, 8, PCI3, 8, PCI4, 8, PCI5, 8, PCI6, 8, PCI7, 8, PCI8, 8, NLCK, 8, ZIPE, 8, COMA, 8, CAIO, 8, CAIP, 8, CAMD, 8, CADA, 8, COMB, 8, CBIO, 8, CBIP, 8, CBMD, 8, CBDA, 8, FHSD, 8, COMC, 8, CCIO, 8, CCIP, 8, CCMD, 8, CCDA, 8, COMD, 8, CDIO, 8, CDIP, 8, CDMD, 8, CDDA, 8, LPT1, 8, L1IO, 8, L1IP, 8, L1MD, 8, L1DA, 8, LPT2, 8, L2IO, 8, L2IP, 8, L2MD, 8, L2DA, 8, LPT3, 8, L3IO, 8, L3IP, 8, L3MD, 8, L3DA, 8, FDDC, 8, FDWP, 8, HGMP, 8, LGMP, 8, MIDI, 8, AZLA, 8, AUDO, 8, MODM, 8, IDEC, 8, SSED, 8, PACT, 8, SCFG, 8, AMOD, 8, IMOD, 8, LCFG, 8, IDLY, 8, PMTP, 8, PMIO, 8, PMBM, 8, PMTM, 8, PSTP, 8, PSIO, 8, PSBM, 8, PSTM, 8, IDE0, 8, IDE1, 8, IDE2, 8, IDE3, 8, IDE4, 8, IDE5, 8, IDE6, 8, IDE7, 8, HIUB, 8, LUBS, 8, PLYT, 8, EDCG, 8, SDFY, 8, SDTC, 8, SDRP, 8, SDCL, 8, SDRC, 8, SDRE, 8, FC2L, 8, FC3L, 8, FCS4, 8, APIM, 8, HPTS, 8, HPTA, 8, EMAS, 8, VGAO, 8, SOFF, 8, KBPO, 8, MSPO, 8, USBB, 8, EVTL, 8, SYBE, 8, ETLC, 8, ACPV, 8, TPMD, 8, TPMO, 8, TPMC, 8, TPMM, 8, TPCC, 8, TPLC, 8, TPLR, 32, QBOT, 8, QTBT, 8, PBOT, 8, M256, 8, PEGF, 8, ORTS, 16, BMTP, 8, BNPT, 8, LNMT, 8, NBTO, 8, NABD, 8, NEBD, 8, NLBD, 8, DFBT, 16, NPSP, 16, LANG, 8, UACL, 8, SUPS, 8, DVET, 8, S3RS, 8, DAS1, 8, DAS3, 8, WKPM, 8, WKMD, 8, WKS5, 8, HOUR, 8, MINS, 8, SECS, 8, DOFM, 8, NBTV, 64, BTOD, 64, SPVP, 16, POPD, 16, USPW, 16, HDPW, 16, SAHP, 16, SAHF, 8, SUVF, 8, USRF, 8, UMPW, 8, SMHP, 16, SAMP, 16, SAMF, 8, SPFA, 8, SPFB, 8, SPFC, 8, SPFD, 8, SPFE, 8, SPFF, 8, SPFG, 8, SPFH, 8, SPFI, 8, SPFJ, 8, SPFK, 8, SPFL, 8, SPFM, 8, SPFN, 8, SPFO, 8, SPFP, 8, SPFQ, 8, SPFR, 8, SPFS, 8, SPFT, 8, SPFU, 8, SPFV, 8, SPFW, 8, SPFX, 8, SPFY, 8, SPFZ, 8, SPF0, 8, SPF1, 8, SPF2, 8, SPF3, 8, SPF4, 8, SPF5, 8, CRD0, 8, CRD1, 8, CRD2, 8, CRD3, 8, CRD4, 8, CRD5, 8, CRD6, 8, CRD7, 8, SPCR, 8, KRSV, 64, LIMF, 8, LIMS, 8, IGMT, 8, PWST, 8, PNOW, 8, FNON, 8, TRON, 8, PCRR, 8, C4EN, 8, C43D, 8, MPST, 8, VTSP, 8, VTFT, 8, PFMP, 8, PVAT, 8, OHC0, 8, OHC1, 8, OHC2, 8, OHC3, 8, EHC0, 8, EHC1, 8, EHC2, 8, SATE, 8, EC1E, 8, ESVM, 8, MCLC, 8, MCLV, 8, HTFR, 8, HTWD, 8, GSPL, 8, P2G2, 8, P2LA, 8, P2LW, 8, P2SP, 8, P2LI, 8, P2CM, 8, P3G2, 8, P3GL, 8, P3LA, 8, P3LW, 8, P3SP, 8, P3LI, 8, P3CM, 8, P4G2, 8, P4LA, 8, P4LI, 8, P4CM, 8, P5G2, 8, P5LA, 8, P5LI, 8, P5CM, 8, P6G2, 8, P6LA, 8, P6LI, 8, P6CM, 8, P7G2, 8, P7LA, 8, P7LI, 8, P7CM, 8, P8LA, 8, P8VT, 8, P8CM, 8, P9G2, 8, P9LA, 8, P9LI, 8, P9CM, 8, PAG2, 8, PALA, 8, PALI, 8, PACM, 8, UMAR, 8, CPST, 8, OSCS, 8, SSSW, 8, OBLS, 8, SVFS, 8, AHCM, 8, AORS, 8, XGPS, 8, CMEN, 8, CMPC, 8, CMHT, 8, CBIF, 8, TCFN, 8, LDIS, 8, GFL0, 8, GL0C, 8, GL0M, 8, GFL1, 8, GL1C, 8, GL1M, 8, GFL2, 8, GL2C, 8, GL2M, 8, GFL3, 8, GL3C, 8, GL3M, 8, ALST, 8, TPMS, 8, HDAU, 8, WLSH, 8, CTFW, 8, PSIC, 8, LASO, 8, SSCL, 8, SMSO, 8, SMMS, 8, CMEW, 8, SOTP, 8, NSVC, 8, HXMD, 8, ILST, 8, PSDM, 8, TCP0, 8, TCP1, 8, ATNB, 8, PCP0, 8, PCP1, 8, PWMN, 8, TNBH, 8, THTE, 8, ADSC, 8, ACTM, 8, DCTM, 8, CBCC, 8, ONTM, 8, OFTM, 8, PHCT, 8, PHFQ, 8, TMZE, 8, NDPS, 8, LPTY, 8, VDRM, 8, ILSW, 8, EXUS, 8, PWPL, 8, AFUC, 8, SP0P, 8, SP1P, 8, SP2P, 8, SP3P, 8, SP4P, 8, SP5P, 8, FCRD, 8, M92D, 8, RELT, 8, OLOR, 8, ILOR, 8, AIRC, 8, TRAN, 8, CRSV, 640, TPRV, 1760, FDLY, 8, CDBT, 8, FPBT, 8, CPBT, 8, CPTR, 8, DSME, 8, FANO, 8, VGAF, 8, OSFG, 8, DSVM, 8, SEHD, 8, BATE, 8, FNKY, 8, IWEN, 8, IWTR, 8, SBCT, 8, IPCY, 8, SMP0, 8, SMP1, 8, SMP2, 8, SMP3, 8, SMP4, 8, SMP5, 8, SMP6, 8, SMP7, 8, HWCT, 8, HWBC, 8, HWBF, 1024, ORSV, 120 } Name (ECON, Zero) Name (KBWU, Zero) Name (TPWU, Zero) OperationRegion (NVST, SystemMemory, 0xCFEBCD6A, 0x00000148) Field (NVST, AnyAcc, Lock, Preserve) { SMIF, 8, PRM0, 8, PRM1, 8, BRTL, 8, TLST, 8, IGDS, 8, LCDA, 16, CSTE, 16, NSTE, 16, CADL, 16, PADL, 16, LIDS, 8, PWRS, 8, BVAL, 32, ADDL, 16, BCMD, 8, DID, 32, INFO, 2048, TOML, 8, TOMH, 8, CEBP, 8, C0LS, 8, C1LS, 8, C0HS, 8, C1HS, 8, ROMS, 32, MUXF, 8, PDDN, 8, WSD0, 8, WSD1, 8, WSD2, 8, WSD3, 8, WSD4, 8, WSD5, 8, WSD6, 8, WSD7, 8, PPCM, 8, PPCN, 8, NCPU, 8, MCPU, 8, ECPU, 8, DCKS, 8, CLGO, 8, WM0D, 8, IWEV, 64, IWVM, 8, PWDT, 16, PHGT, 16, SCML, 8 } Method (SCMP, 2, NotSerialized) { Name (STG1, Buffer (0x50) {}) Name (STG2, Buffer (0x50) {}) Store (Arg0, STG1) Store (Arg1, STG2) If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Store (Zero, Local0) While (LLess (Local0, SizeOf (Arg0))) { If (LNotEqual (DerefOf (Index (STG1, Local0)), DerefOf (Index ( STG2, Local0)))) { Return (Zero) } Increment (Local0) } Return (One) } Name (WNOS, Zero) Method (CKOS, 0, NotSerialized) { If (LEqual (WNOS, Zero)) { If (SCMP (_OS, "Microsoft Windows")) { Store (One, WNOS) } If (SCMP (_OS, "Microsoft Windows NT")) { Store (0x02, WNOS) } If (SCMP (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x03, WNOS) } If (CondRefOf (_OSI, Local0)) { If (SCMP (_OS, "Windows 2006")) { Store (0x05, WNOS) } Else { If (SCMP (_OS, "Windows 2009")) { Store (0x06, WNOS) } Else { Store (0x04, WNOS) } } } } Return (WNOS) } Name (MYOS, Zero) Name (HTTS, Zero) Method (SEQL, 2, Serialized) { Store (SizeOf (Arg0), Local0) Store (SizeOf (Arg1), Local1) If (LNotEqual (Local0, Local1)) { Return (Zero) } Name (BUF0, Buffer (Local0) {}) Store (Arg0, BUF0) Name (BUF1, Buffer (Local0) {}) Store (Arg1, BUF1) Store (Zero, Local2) While (LLess (Local2, Local0)) { Store (DerefOf (Index (BUF0, Local2)), Local3) Store (DerefOf (Index (BUF1, Local2)), Local4) If (LNotEqual (Local3, Local4)) { Return (Zero) } Increment (Local2) } Return (One) } Name (OSTB, Ones) Name (TPOS, Zero) Name (LINX, Zero) Name (OSSP, Zero) Method (OSTP, 0, NotSerialized) { If (LEqual (OSTB, Ones)) { If (CondRefOf (_OSI, Local0)) { Store (Zero, OSTB) Store (Zero, TPOS) If (_OSI ("Windows 2001")) { Store (0x08, OSTB) Store (0x08, TPOS) } If (_OSI ("Windows 2001.1")) { Store (0x20, OSTB) Store (0x20, TPOS) } If (_OSI ("Windows 2001 SP1")) { Store (0x10, OSTB) Store (0x10, TPOS) } If (_OSI ("Windows 2001 SP2")) { Store (0x11, OSTB) Store (0x11, TPOS) } If (_OSI ("Windows 2001 SP3")) { Store (0x12, OSTB) Store (0x12, TPOS) } If (_OSI ("Windows 2006")) { Store (0x40, OSTB) Store (0x40, TPOS) } If (_OSI ("Windows 2006 SP1")) { Store (0x41, OSTB) Store (0x40, TPOS) Store (One, OSSP) } If (_OSI ("Windows 2009")) { Store (One, OSSP) Store (0x50, OSTB) Store (0x40, TPOS) } If (_OSI ("Linux")) { Store (One, LINX) Store (0x80, OSTB) Store (0x80, TPOS) } } Else { If (CondRefOf (_OS, Local0)) { If (SEQL (_OS, "Microsoft Windows")) { Store (One, OSTB) Store (One, TPOS) } Else { If (SEQL (_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, OSTB) Store (0x02, TPOS) } Else { If (SEQL (_OS, "Microsoft Windows NT")) { Store (0x04, OSTB) Store (0x04, TPOS) } Else { Store (Zero, OSTB) Store (Zero, TPOS) } } } } Else { Store (Zero, OSTB) Store (Zero, TPOS) } } } Return (OSTB) } OperationRegion (H1DA, SystemMemory, 0xCFEBEF98, 0x0000003E) Field (H1DA, AnyAcc, Lock, Preserve) { H1SG, 32, RCKP, 8, IAOR, 8, CDAT, 32, HDSM, 16, HD1H, 64, HD2H, 64, OD1H, 64, WDI0, 8, WDI1, 8, WDI2, 8, WDI3, 8, WSI0, 8, WSI1, 8, WSI2, 8, WSI3, 8, BVI0, 8, BVI1, 8, BPI0, 8, BPI1, 8, BTSV, 16, BTSS, 16, WWVD, 16, WWDD, 16, WWSV, 16, WWSS, 16, FACM, 16 } OperationRegion (EPRM, SystemMemory, 0xFFE20000, 0x00000100) Field (EPRM, AnyAcc, Lock, Preserve) { SERN, 80, MDID, 256, GUID, 64, UUID, 128, SKUN, 96, LCOD, 24, MACA, 48, KBMX, 8, CHID, 8, OSKU, 8, QKPM, 8, WPFL, 8, DBSW, 8, WPCR, 8, WINA, 8, GPSA, 8, MSME, 8, Offset (0x89), PTRV, 24, ODDC, 8, WIN7, 8, IMID, 8, Offset (0x90), WSYH, 8, WSYL, 8, WSDM, 8, WSDD, 8 } Method (CKPT, 4, NotSerialized) { Store (PTRV, Local0) If (LOr (LEqual (Local0, 0x00FFFFFF), LEqual (Local0, Zero))) { Return (Zero) } And (Local0, 0xFF, Local1) If (LNotEqual (ISDG (Local1), One)) { Return (Zero) } Subtract (Local1, 0x30, Local1) ShiftRight (Local0, 0x08, Local2) And (Local2, 0xFF, Local2) If (LNotEqual (ISDG (Local2), One)) { Return (Zero) } Subtract (Local2, 0x30, Local2) ShiftRight (Local0, 0x10, Local3) And (Local3, 0xFF, Local3) If (LNotEqual (ISDG (Local3), One)) { Return (Zero) } Subtract (Local3, 0x30, Local3) If (And (Arg3, One)) { If (LEqual (Arg0, Local1)) { If (LEqual (Arg1, Local2)) { If (LEqual (Arg2, Local3)) { Return (One) } } } } If (And (Arg3, 0x02)) { If (LGreaterEqual (Local1, Arg0)) { If (LGreater (Local1, Arg0)) { Return (One) } If (LGreaterEqual (Local2, Arg1)) { If (LGreater (Local2, Arg1)) { Return (One) } If (LGreater (Local3, Arg2)) { Return (One) } } } } If (And (Arg3, 0x04)) { If (LLessEqual (Local1, Arg0)) { If (LLess (Local1, Arg0)) { Return (One) } If (LLessEqual (Local2, Arg1)) { If (LLess (Local2, Arg1)) { Return (One) } If (LLess (Local3, Arg2)) { Return (One) } } } } Return (Zero) } Method (ISDG, 1, NotSerialized) { Store (Arg0, Local0) If (LAnd (LLessEqual (Local0, 0x39), LGreaterEqual (Local0, 0x30))) { Return (One) } Return (Zero) } Scope (_PR) { Processor (C000, 0x00, 0x00000410, 0x06) {} Processor (C001, 0x01, 0x00000000, 0x00) {} Processor (C002, 0x02, 0x00000000, 0x00) {} Processor (C003, 0x03, 0x00000000, 0x00) {} } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (LEqual (DAS3, One)) { Name (_S3, Package (0x04) { 0x03, Zero, Zero, Zero }) } Name (_S4, Package (0x04) { 0x04, Zero, Zero, Zero }) Name (_S5, Package (0x04) { 0x05, Zero, Zero, Zero }) Scope (_GPE) { Method (_L08, 0, NotSerialized) { Notify (\_SB.PCI0.PB5, 0x02) Notify (\_SB.PCI0.PB6, 0x02) } Method (_L03, 0, NotSerialized) { If (DSME) { Sleep (0x64) If (\_SB.PCI0.PB6.PSDS) { Store (0x04, BCMD) \_SB.WSMI (Zero) Sleep (0x64) Store (Zero, TR03) Notify (\_SB.PCI0.PB6, Zero) } Else { Store (One, TR03) Notify (\_SB.PCI0.PB6, Zero) } } } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.LPC0.PS2K, 0x02) Notify (\_SB.PCI0.LPC0.PS2M, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L18, 0, NotSerialized) { Notify (\_SB.PCI0.USB0, 0x02) Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PCI0.USB4, 0x02) Notify (\_SB.PCI0.USB5, 0x02) Notify (\_SB.PCI0.USB6, 0x02) Notify (\_SB.PWRB, 0x02) } } Name (GPIC, Zero) Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) If (GPIC) { \_SB.DSPI () } } Name (SAV0, Zero) Name (SAV1, Zero) Name (SGSS, Zero) Method (_PTS, 1, NotSerialized) { Store (One, \_SB.PCI0.SMBS.G35S) Store (Zero, \_SB.PCI0.SMBS.G35E) Store (Zero, \_SB.PCI0.SMBS.G35O) Store (\_SB.PCI0.SMBS.G52O, SAV0) Store (\_SB.PCI0.SMBS.G53O, SAV1) If (LOr (LEqual (\_SB.PCI0.LPC0.EC0.SW2S, Zero), LNotEqual (Arg0, 0x03))) { Store (Zero, \_SB.PCI0.SMBS.UREN) Store (Zero, \_SB.PCI0.LPC0.EC0.UPWR) } Else { Store (One, \_SB.PCI0.SMBS.UREN) Store (One, \_SB.PCI0.LPC0.EC0.UPWR) } If (ECON) { Store (\_SB.PCI0.PB6.PSWF, \_SB.PCI0.LPC0.EC0.LANP) } SPTS (Arg0) If (LEqual (Arg0, One)) { Store (0x51, IO80) \_SB.S80H (0x51) } If (LEqual (Arg0, 0x03)) { S34E () Store (Zero, \_SB.PCI0.SMBS.G52O) Store (Zero, \_SB.PCI0.SMBS.G53O) Store (One, \_SB.PCI0.SMBS.G99S) Store (0x53, IO80) \_SB.S80H (0x53) Store (One, \_SB.PCI0.SMBS.SLPS) } If (LEqual (Arg0, 0x04)) { Subtract (\_TZ.TPC, 0x0A, Local0) If (And (LEqual (\_TZ.HOTF, One), LGreaterEqual (\_SB.PCI0.LPC0.EC0.RTMP, Local0))) { Store (OFEA, Local1) Or (Local1, 0x08, Local1) Store (Local1, OFEA) } S34E () Store (0x54, IO80) \_SB.S80H (0x54) Store (One, \_SB.PCI0.SMBS.SLPS) Store (One, \_SB.PCI0.SMBS.RSTU) } If (LEqual (Arg0, 0x05)) { Store (One, \_SB.PCI0.SMBS.G45S) Store (0x55, IO80) \_SB.S80H (0x55) \_SB.GSMI (0x52) Store (Zero, \_SB.PCI0.LPC0.EC0.BLKB) } } Method (S34E, 0, NotSerialized) { \_SB.PCI0.LPC0.EC0.KTWU () Store (\_SB.PCI0.SMBS.G45O, SGSS) Store (Zero, \_SB.PCI0.SMBS.M103) } Method (_WAK, 1, NotSerialized) { SWAK (Arg0) If (LEqual (Arg0, One)) { Store (0xE1, IO80) \_SB.S80H (0xE1) Store (0xF1, \_SB.PCI0.P2P.PR4B) } If (LEqual (Arg0, 0x03)) { S34W () Store (SAV0, \_SB.PCI0.SMBS.G52O) Store (SAV1, \_SB.PCI0.SMBS.G53O) CHKH () Store (0xE3, IO80) \_SB.S80H (0xE3) } If (LEqual (Arg0, 0x04)) { S34W () \_SB.PCI0._INI () Store (0xE4, IO80) \_SB.S80H (0xE4) } Return (Zero) } Method (S34W, 0, NotSerialized) { \_SB.PCI0.ACEL.INIT () \_SB.WMID.W05W (0x03) If (ECON) { If (LAnd (LEqual (\_SB.PCI0.LPC0.EC0.LLBW, One), LNot (\_SB.PCI0.LPC0.EC0.SW2S))) { Notify (\_SB.BAT0, 0x80) } } If (LLessEqual (OSTB, 0x50)) { And (WAKS, One, Local0) If (Local0) { Notify (\_SB.PWRB, 0x02) } Else { And (FMWA, One, Local0) If (Local0) { Notify (\_SB.PWRB, 0x02) } } } Store (FNKY, \_SB.PCI0.LPC0.EC0.ACKY) If (SGSS) { Store (\_SB.PCI0.NBXR (0x65), Local0) And (Local0, 0xFFFF0000, Local0) \_SB.PCI0.NBXW (0x65, Local0) Store (\_SB.PCI0.NBMR (0x2E), Local0) And (Local0, 0xFF88FF8F, Local0) \_SB.PCI0.NBMW (0x2E, Local0) Store (One, \_SB.PCI0.SMBS.G45O) Store (Zero, \_SB.PCI0.SMBS.G45E) Store (One, \_SB.PCI0.SMBS.G35O) Store (Zero, \_SB.PCI0.SMBS.G35E) } Else { Store (Zero, \_SB.PCI0.SMBS.G35O) Store (Zero, \_SB.PCI0.SMBS.G35E) Store (Zero, \_SB.PCI0.SMBS.G45O) Store (Zero, \_SB.PCI0.SMBS.G45E) Store (\_SB.PCI0.NBXR (0x65), Local0) Or (Local0, 0xFFFF, Local0) \_SB.PCI0.NBXW (0x65, Local0) Store (\_SB.PCI0.NBMR (0x2E), Local0) Or (Local0, 0x00770070, Local0) \_SB.PCI0.NBMW (0x2E, Local0) } Store (One, \_SB.PCI0.SMBS.UREN) Store (One, \_SB.PCI0.LPC0.EC0.UPWR) Store (One, \_SB.PCI0.SMBS.M103) Store (One, \_SB.PCI0.SMBS.G67E) Store (One, \_SB.PCI0.SMBS.E07E) If (ECON) { If (LEqual (OSTB, 0x50)) { Store (One, \_SB.PCI0.LPC0.EC0.WIN7) } } } Scope (_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) { Return (0x0B) } } Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) OperationRegion (SCTH, PCI_Config, 0x7A, One) Field (SCTH, ByteAcc, NoLock, Preserve) { RSMF, 1 } Method (_INI, 0, NotSerialized) { If (LEqual (GPIC, Zero)) {} Else { DSPI () } OSTP () CHKH () If (CondRefOf (_OSI, Local0)) { Store (Zero, MYOS) } Else { If (LEqual (SizeOf (_OS), 0x14)) { Store (One, MYOS) } Else { If (LEqual (SizeOf (_OS), 0x27)) { Store (0x02, MYOS) } Else { Store (0x03, MYOS) } } } } OperationRegion (NBMS, PCI_Config, 0x60, 0x08) Field (NBMS, DWordAcc, NoLock, Preserve) { MIDX, 32, MIDR, 32 } Mutex (NBMM, 0x00) Method (NBMR, 1, NotSerialized) { Acquire (NBMM, 0xFFFF) And (Arg0, 0x7F, Local0) Store (Local0, MIDX) Store (MIDR, Local0) Store (0x7F, MIDX) Release (NBMM) Return (Local0) } Method (NBMW, 2, NotSerialized) { Acquire (NBMM, 0xFFFF) And (Arg0, 0x7F, Local0) Or (Local0, 0x80, Local0) Store (Local0, MIDX) Store (Arg1, MIDR) Store (And (Local0, 0x7F, Local0), MIDX) Release (NBMM) } OperationRegion (NBXP, PCI_Config, 0xE0, 0x08) Field (NBXP, DWordAcc, NoLock, Preserve) { NBXI, 32, NBXD, 32 } Mutex (NBXM, 0x00) Method (NBXR, 1, NotSerialized) { Acquire (NBXM, 0xFFFF) Store (Arg0, NBXI) Store (NBXD, Local0) Store (Zero, NBXI) Release (NBXM) Return (Local0) } Method (NBXW, 2, NotSerialized) { Acquire (NBXM, 0xFFFF) Store (Arg0, NBXI) Store (Arg1, NBXD) Store (Zero, NBXI) Release (NBXM) } Method (GFXM, 0, NotSerialized) { Store (NBMR (0x08), Local0) And (Local0, 0x0F, Local0) Return (Local0) } Method (GPPM, 0, NotSerialized) { Store (NBMR (0x31), Local0) And (Local0, 0x0F, Local0) Return (Local0) } Method (XPTR, 2, NotSerialized) { If (LAnd (LLess (Arg0, 0x02), LGreater (Arg0, 0x07))) { Return (Zero) } Else { Store (One, Local0) If (LLess (Arg0, 0x04)) { Add (Arg0, 0x02, Local1) } Else { Add (Arg0, 0x11, Local1) } ShiftLeft (Local0, Local1, Local0) Store (NBMR (0x08), Local2) If (Arg1) { And (Local2, Not (Local0), Local2) } Else { Or (Local2, Local0, Local2) } NBMW (0x08, Local2) Return (Ones) } } Method (GPPX, 0, NotSerialized) { Store (NBMR (0x2D), Local0) ShiftRight (Local0, 0x07, Local0) And (Local0, 0x0F, Local0) Return (Local0) } Name (_UID, One) Name (_BBN, Zero) Name (SUPP, Zero) Name (CTRL, Zero) Name (AMHP, Zero) Method (XOSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, CDW1) CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66 })) { Store (CDW2, SUPP) Store (CDW3, CTRL) If (LNotEqual (And (SUPP, 0x16), 0x16)) { And (CTRL, 0x1E, CTRL) } And (CTRL, 0x19, CTRL) If (Not (And (CDW1, One))) { If (And (CTRL, One)) {} If (And (CTRL, 0x04)) { Store (One, ^SMBS.EPNM) Store (Zero, ^SMBS.DPPF) Store (One, ^SMBS.PWDE) } Else { Store (Zero, ^SMBS.EPNM) Store (One, ^SMBS.DPPF) Store (Zero, ^SMBS.PWDE) } If (And (CTRL, 0x10)) {} } If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LNotEqual (CDW3, CTRL)) { Or (CDW1, 0x10, CDW1) } Store (CTRL, CDW3) Return (Arg3) } Else { Or (CDW1, 0x04, CDW1) Return (Arg3) } } Method (TOM, 0, NotSerialized) { Multiply (TOML, 0x00010000, Local0) Multiply (TOMH, 0x01000000, Local1) Add (Local0, Local1, Local0) Return (Local0) } OperationRegion (NBBR, PCI_Config, 0x1C, 0x08) Field (NBBR, DWordAcc, NoLock, Preserve) { BR3L, 32, BR3H, 32 } OperationRegion (NBBI, PCI_Config, 0x84, 0x04) Field (NBBI, DWordAcc, NoLock, Preserve) { PARB, 32 } Name (PX3L, 0x80000000) Name (PX3H, 0x80000000) Name (PX3S, 0x10000000) Name (PX3K, 0xF0000000) Mutex (BR3X, 0x00) Method (BR3M, 0, NotSerialized) { Store (PARB, Local0) ShiftRight (Local0, 0x10, Local0) And (Local0, 0x07, Local0) If (Local0) { ShiftLeft (One, Local0, Local1) Subtract (0x1000, Local1, Local1) ShiftLeft (Local1, 0x14, Local1) Store (Local1, PX3K) ShiftLeft (One, Local0, Local1) Multiply (Local1, 0x00100000, Local1) Store (Local1, PX3S) } Acquire (BR3X, 0xFFFF) Store (NBMR (Zero), Local0) And (Local0, 0xFFFFFFF7, Local0) NBMW (Zero, Local0) Store (BR3L, Local0) And (Local0, PX3K, Local0) Store (Local0, PX3L) Store (BR3H, Local0) And (Local0, 0xFF, Local0) Store (Local0, PX3H) Store (NBMR (Zero), Local0) Or (Local0, 0x08, Local0) NBMW (Zero, Local0) Release (BR3X) Return (PX3L) } Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length 0x00,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadOnly, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadOnly, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadOnly, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFFFDFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0xF0000000, // Range Minimum 0xFED3FFFF, // Range Maximum 0x00000000, // Translation Offset 0x10000000, // Length 0x00,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0xFED45000, // Range Minimum 0xFFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x012BB000, // Length 0x00,, , AddressRangeMemory, TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRES, \_SB.PCI0._Y00._MIN, BTMN) CreateDWordField (CRES, \_SB.PCI0._Y00._MAX, BTMX) CreateDWordField (CRES, \_SB.PCI0._Y00._LEN, BTLN) CreateDWordField (CRES, \_SB.PCI0._Y01._MIN, BTN1) CreateDWordField (CRES, \_SB.PCI0._Y01._MAX, BTX1) CreateDWordField (CRES, \_SB.PCI0._Y01._LEN, BTL1) Store (TOM (), BTMN) Subtract (BR3M (), BTMN, BTLN) Subtract (Add (BTMN, BTLN), One, BTMX) Store (PX3S, Local0) Add (Local0, BR3M (), Local0) Store (Local0, BTN1) Store (BTX1, Local1) Subtract (Local1, Local0, Local2) Store (Local2, BTL1) Return (CRES) } Device (MEMR) { Name (_HID, EisaId ("PNP0C02")) Name (MEM1, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y02) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y03) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y04) Memory32Fixed (ReadOnly, 0xFEC10000, // Address Base 0x00000020, // Address Length ) Memory32Fixed (ReadOnly, 0xFED80000, // Address Base 0x00001000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y02._BAS, MB01) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y02._LEN, ML01) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y03._BAS, MB02) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y03._LEN, ML02) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y04._BAS, PEBS) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y04._LEN, PELN) If (GPIC) { Store (0xFEC00000, MB01) Store (0xFEE00000, MB02) Store (0x1000, ML01) Store (0x1000, ML02) } Store (BR3M (), PEBS) Store (PX3S, PELN) Return (MEM1) } } OperationRegion (NBRV, PCI_Config, 0x08, One) Field (NBRV, ByteAcc, NoLock, Preserve) { PREV, 8 } Method (XCMP, 2, NotSerialized) { If (LNotEqual (0x10, SizeOf (Arg0))) { Return (Zero) } If (LNotEqual (0x10, SizeOf (Arg1))) { Return (Zero) } Store (Zero, Local0) While (LLess (Local0, 0x10)) { If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index ( Arg1, Local0)))) { Return (Zero) } Increment (Local0) } Return (One) } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (PICM) } Else { Return (APIC) } } Name (PICM, Package (0x31) { Package (0x04) { 0x0001FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0001FFFF, One, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, LNKD, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKB, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0003FFFF, One, LNKA, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0005FFFF, One, LNKC, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0006FFFF, One, LNKD, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKB, Zero }, Package (0x04) { 0x0007FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0007FFFF, One, LNKA, Zero }, Package (0x04) { 0x0007FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0007FFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x0009FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0009FFFF, One, LNKC, Zero }, Package (0x04) { 0x0009FFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x0009FFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x000AFFFF, Zero, LNKC, Zero }, Package (0x04) { 0x000AFFFF, One, LNKD, Zero }, Package (0x04) { 0x000AFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x000AFFFF, 0x03, LNKB, Zero }, Package (0x04) { 0x0014FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0014FFFF, One, LNKB, Zero }, Package (0x04) { 0x0014FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0014FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0012FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0012FFFF, One, LNKB, Zero }, Package (0x04) { 0x0013FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0013FFFF, One, LNKB, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x0011FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0015FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0015FFFF, One, LNKB, Zero }, Package (0x04) { 0x0015FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0015FFFF, 0x03, LNKD, Zero } }) Name (APIC, Package (0x31) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x11 }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0007FFFF, One, Zero, 0x10 }, Package (0x04) { 0x0007FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0007FFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x0009FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0009FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0009FFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x0009FFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x000AFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x000AFFFF, One, Zero, 0x13 }, Package (0x04) { 0x000AFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x000AFFFF, 0x03, Zero, 0x11 }, Package (0x04) { 0x0014FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0014FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0014FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0014FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0012FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0012FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0013FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0013FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0011FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0015FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0015FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0015FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0015FFFF, 0x03, Zero, 0x13 } }) Device (AGP) { Name (_ADR, 0x00010000) Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (PIC) } Else { Return (APIC) } } Name (PIC, Package (0x04) { Package (0x04) { 0x0005FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0005FFFF, One, LNKD, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKB, Zero } }) Name (APIC, Package (0x04) { Package (0x04) { 0x0005FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x11 } }) Name (PXEN, 0x80000001) Name (PXID, 0x00020000) Name (PXMX, 0x80000000) Device (VGA) { Name (_ADR, 0x00050000) Name (SWIT, One) Name (CRTA, One) Name (LCDA, One) Name (TV0A, One) Name (HDTV, One) Name (BRTB, Package (0x0D) { 0x64, 0x32, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { Return (Package (0x04) { 0x00010100, 0x00010110, 0x00010200, 0x00010210 }) } Device (CRT) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { Store ("CRT -- _DCS", Debug) If (CRTA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("CRT -- _DGS", Debug) If (CRTA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("CRT -- _DSS", Debug) } } Device (TV0) { Name (_ADR, 0x0200) Method (_DCS, 0, NotSerialized) { Store ("TV -- _DCS", Debug) If (TV0A) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("TV -- _DCS", Debug) If (TV0A) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("TV -- _DSS", Debug) } } Device (LCD) { Name (_ADR, 0x0110) Method (_DCS, 0, NotSerialized) { Store ("LCD -- _DCS", Debug) If (LCDA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("LCD -- _DCS", Debug) If (LCDA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("LCD -- _DSS", Debug) } Method (_BCL, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { Return (BRTB) } } Method (_BCM, 1, NotSerialized) { If (LEqual (TPOS, 0x40)) { Store (Arg0, BRTL) Store (0x72, BCMD) Stall (0xFF) Stall (0xFF) BSMI (Zero) } } Method (_BQC, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { Store (0x73, BCMD) Stall (0xFF) Stall (0xFF) BSMI (Zero) Return (BRTL) } } } Device (HDMI) { Name (_ADR, 0x0210) Method (_DCS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (HDTV) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (HDTV) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("HDMI TV -- _DSS", Debug) } } Name (ATIB, Buffer (0x0100) {}) Method (ATIF, 2, Serialized) { If (LEqual (Arg0, Zero)) { Return (AF00 ()) } If (LEqual (Arg0, One)) { Return (AF01 ()) } If (LEqual (Arg0, 0x02)) { Return (AF02 ()) } If (LEqual (Arg0, 0x03)) { Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1, 0x04)))) } If (LEqual (Arg0, 0x0F)) { Return (AF15 ()) } Else { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (Zero, SSZE) Store (Zero, VERN) Store (Zero, NMSK) Store (Zero, SFUN) Return (ATIB) } } Method (AF00, 0, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (0x0C, SSZE) Store (One, VERN) If (LEqual (PXEN, 0x80000000)) { Store (0x11, NMSK) } Else { Store (0x51, NMSK) } Store (NMSK, MSKN) Store (0x4007, SFUN) Return (ATIB) } Method (AF01, 0, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateDWordField (ATIB, 0x02, VMSK) CreateDWordField (ATIB, 0x06, FLGS) Store (0x0A, SSZE) Store (0x0B, VMSK) Store (0x0A, SSZE) Store (0x0B, FLGS) Return (ATIB) } Name (PSBR, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (MSKN, Zero) Name (SEXM, Zero) Name (STHG, Zero) Name (STHI, Zero) Name (SFPG, Zero) Name (SFPI, Zero) Name (SSPS, Zero) Name (SSDM, 0x0A) Name (SCDY, Zero) Name (SACT, Buffer (0x07) { 0x01, 0x02, 0x08, 0x80, 0x03, 0x09, 0x81 }) Method (AF02, 0, NotSerialized) { CreateBitField (PSBR, Zero, PDSW) CreateBitField (PSBR, One, PEXM) CreateBitField (PSBR, 0x02, PTHR) CreateBitField (PSBR, 0x03, PFPS) CreateBitField (PSBR, 0x04, PSPS) CreateBitField (PSBR, 0x05, PDCC) CreateBitField (PSBR, 0x06, PXPS) CreateWordField (ATIB, Zero, SSZE) CreateDWordField (ATIB, 0x02, PSBI) CreateByteField (ATIB, 0x06, EXPM) CreateByteField (ATIB, 0x07, THRM) CreateByteField (ATIB, 0x08, THID) CreateByteField (ATIB, 0x09, FPWR) CreateByteField (ATIB, 0x0A, FPID) CreateByteField (ATIB, 0x0B, SPWR) Store (0x0C, SSZE) Store (PSBR, PSBI) If (PDSW) { Store (Zero, PDSW) } If (PEXM) { Store (SEXM, EXPM) Store (Zero, SEXM) Store (Zero, PEXM) } If (PTHR) { Store (STHG, THRM) Store (STHI, THID) Store (Zero, STHG) Store (Zero, STHI) Store (Zero, PTHR) } If (PFPS) { Store (SFPG, FPWR) Store (SFPI, FPWR) Store (Zero, SFPG) Store (Zero, SFPI) Store (Zero, PFPS) } If (PSPS) { Store (SSPS, SPWR) Store (Zero, PSPS) } If (PXPS) { Store (Zero, PXPS) } Return (ATIB) } Method (AF03, 2, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, SSDP) CreateWordField (ATIB, 0x04, SCDP) Store (Arg0, SSDP) Store (Arg1, SCDP) Name (NXTD, 0x06) Name (CIDX, 0x06) Store (SSDP, Local1) And (Local1, 0x8B, Local1) Store (SCDP, Local2) If (CondRefOf (^^^^LID._LID, Local4)) { And (Local2, 0xFFFFFFFE, Local2) Or (Local2, ^^^^LID._LID (), Local2) } Else { Or (Local2, One, Local2) } Store (Local2, P80H) Store (Zero, Local0) While (LLess (Local0, SizeOf (SACT))) { Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (Local3, Local1)) { Store (Local0, CIDX) Store (SizeOf (SACT), Local0) } Else { Increment (Local0) } } Store (CIDX, Local0) While (LLess (Local0, SizeOf (SACT))) { Increment (Local0) If (LEqual (Local0, SizeOf (SACT))) { Store (Zero, Local0) } Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (And (Local3, Local2), Local3)) { Store (Local0, NXTD) Store (SizeOf (SACT), Local0) } } If (LEqual (NXTD, SizeOf (SACT))) { Store (Zero, SSDP) } Else { Store (NXTD, Local0) Store (DerefOf (Index (SACT, Local0)), Local3) And (SSDP, 0xFFFFFFF4, SSDP) Or (SSDP, Local3, SSDP) } Store (0x04, SSZE) Store (SSDP, P80H) Return (ATIB) } Method (AFN0, 0, Serialized) { If (And (MSKN, One)) { CreateBitField (PSBR, Zero, PDSW) Store (One, PDSW) Notify (VGA, 0x81) } } Method (AFN3, 2, Serialized) { If (And (MSKN, 0x08)) { Store (Arg0, Local0) Store (Local0, SFPI) Store (Arg1, Local0) Store (And (Local0, 0x03, Local0), SFPG) CreateBitField (PSBR, 0x03, PFPS) Store (One, PFPS) Notify (VGA, 0x81) } } Method (AFN4, 1, Serialized) { If (And (MSKN, 0x10)) { Store (Arg0, Local0) Store (SSPS, Local1) Store (Local0, SSPS) If (LEqual (PX6F, One)) { Store (Zero, PX6F) Store (0xFF, Local1) } If (LEqual (Local0, Local1)) {} Else { CreateBitField (PSBR, 0x04, PSPS) Store (One, PSPS) Notify (VGA, 0x81) } } } Method (AFN5, 0, Serialized) { If (And (MSKN, 0x20)) { CreateBitField (PSBR, 0x05, PDCC) Store (One, PDCC) Notify (VGA, 0x81) } } Method (AFN6, 0, Serialized) { If (And (MSKN, 0x40)) { CreateBitField (PSBR, 0x06, PXPS) Store (One, PXPS) Notify (VGA, 0x81) } } Method (AF15, 0, NotSerialized) { Store (0xFF, P80H) CreateWordField (ATIB, 0x02, DSZE) Store (0x08, DSZE) Acquire (^^^LPC0.PSMX, 0xFFFF) Store (0x8D, BCMD) Store (0x0F, DID) Store (ATIB, INFO) BSMI (Zero) Store (INFO, ATIB) Release (^^^LPC0.PSMX) Return (ATIB) } } Scope (VGA) { OperationRegion (REVD, SystemMemory, 0xCFE8D018, 0x0000FA04) Field (REVD, AnyAcc, NoLock, Preserve) { SROM, 32, VROM, 512000 } Name (TVGA, Buffer (0xFA00) { 0x00 }) Method (ATRM, 2, Serialized) { Add (Arg0, Arg1, Local0) If (LLessEqual (Local0, SROM)) { Multiply (Arg1, 0x08, Local1) Multiply (Arg0, 0x08, Local2) Store (VROM, TVGA) CreateField (TVGA, Local2, Local1, TEMP) Name (RETB, Buffer (Arg1) {}) Store (TEMP, RETB) Return (RETB) } Else { If (LLess (Arg0, SROM)) { Subtract (SROM, Arg0, Local3) Multiply (Local3, 0x08, Local1) Multiply (Arg0, 0x08, Local2) Store (VROM, TVGA) CreateField (TVGA, Local2, Local1, TEM) Name (RETC, Buffer (Local3) {}) Store (TEM, RETC) Return (RETC) } Else { Name (RETD, Buffer (One) {}) Return (RETD) } } } } Scope (VGA) { Name (ATPB, Buffer (0x0100) {}) Name (DSID, Ones) Name (HSID, Ones) Name (CNT0, Buffer (0x05) { 0x05, 0x00, 0x00, 0x10, 0x01 }) Name (CNT1, Buffer (0x05) { 0x05, 0x01, 0x00, 0x00, 0x01 }) Name (CNT2, Buffer (0x05) { 0x07, 0x03, 0x00, 0x10, 0x02 }) Name (CNT3, Buffer (0x05) { 0x07, 0x07, 0x00, 0x20, 0x02 }) Name (CNT4, Buffer (0x05) { 0x00, 0x09, 0x00, 0x30, 0x02 }) Name (CNT5, Buffer (0x05) { 0x05, 0x00, 0x01, 0x10, 0x01 }) Name (CNT6, Buffer (0x05) { 0x05, 0x01, 0x01, 0x00, 0x01 }) Name (CNT7, Buffer (0x05) { 0x07, 0x03, 0x01, 0x10, 0x02 }) Name (CNT8, Buffer (0x05) { 0x07, 0x07, 0x01, 0x20, 0x02 }) Name (CNT9, Buffer (0x05) { 0x00, 0x09, 0x01, 0x30, 0x02 }) Method (ATPX, 2, Serialized) { If (LEqual (Arg0, Zero)) { Return (PX00 ()) } If (LEqual (Arg0, One)) { Return (PX01 ()) } If (LEqual (Arg0, 0x02)) { PX02 (DerefOf (Index (Arg1, 0x02))) Return (ATPB) } If (LEqual (Arg0, 0x03)) { PX03 (DerefOf (Index (Arg1, 0x02))) Return (ATPB) } If (LEqual (Arg0, 0x04)) { PX04 (DerefOf (Index (Arg1, 0x02))) Return (ATPB) } If (LEqual (Arg0, 0x06)) { PX06 (DerefOf (Index (Arg1, 0x02))) Return (ATPB) } If (LEqual (Arg0, 0x08)) { Return (PX08 ()) } If (LEqual (Arg0, 0x09)) { Return (PX09 ()) } CreateWordField (ATPB, Zero, SSZE) CreateWordField (ATPB, 0x02, VERN) CreateDWordField (ATPB, 0x04, SFUN) Store (Zero, SSZE) Store (Zero, VERN) Store (Zero, SFUN) Return (ATPB) } Method (PX00, 0, NotSerialized) { Store (0xE0, P80H) CreateWordField (ATPB, Zero, SSZE) CreateWordField (ATPB, 0x02, VERN) CreateDWordField (ATPB, 0x04, SFUN) Store (0x08, SSZE) Store (One, VERN) If (LOr (LEqual (IWVM, One), LEqual (VGAF, Zero))) { Store (Zero, SFUN) Return (ATPB) } If (LEqual (PXEN, 0x80000000)) { Store (Zero, SFUN) } If (LEqual (PXMX, 0x80000000)) { Store (0x27, SFUN) } Else { Store (0x01A2, SFUN) } If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.VGA.SVID, Local0) Store (^^^PB3.HDAU.SVID, Local1) } Else { Store (^^^PB2.VGA.SVID, Local0) Store (^^^PB2.HDAU.SVID, Local1) } If (LNotEqual (Local0, Ones)) { Store (Local0, DSID) } If (LNotEqual (Local1, Ones)) { Store (Local1, HSID) } Return (ATPB) } Method (PX01, 0, NotSerialized) { Store (0xE1, P80H) CreateWordField (ATPB, Zero, SSZE) CreateDWordField (ATPB, 0x02, VMSK) CreateDWordField (ATPB, 0x06, FLGS) Store (0x0A, SSZE) Store (0x7F, VMSK) Store (0x4B, FLGS) Return (ATPB) } Method (PX02, 1, NotSerialized) { CreateWordField (ATPB, Zero, SSZE) CreateByteField (ATPB, 0x02, PWST) Store (0x03, SSZE) And (Arg0, One, PWST) Name (HPOK, Zero) If (PWST) { Store (0x11E2, P80H) Store (NBXR (0x65), Local0) And (Local0, 0xFFFF0000, Local0) NBXW (0x65, Local0) Store (NBMR (0x2E), Local0) And (Local0, 0xFF88FF8F, Local0) NBMW (0x2E, Local0) Store (One, ^^^SMBS.G45O) Store (Zero, ^^^SMBS.G45E) Store (One, ^^^LPC0.EC0.SBVO) Sleep (0x0A) Sleep (0x64) Store (One, ^^^SMBS.G32E) While (LEqual (^^^SMBS.G32I, Zero)) {} Store (One, ^^^SMBS.G35O) Store (Zero, ^^^SMBS.G35E) Store (0x12E2, P80H) Store (Zero, HPOK) Sleep (0x64) Sleep (0x64) If (LEqual (PXID, ^^^PB3._ADR)) { XPTR (0x03, One) } Else { XPTR (0x02, One) } Sleep (0x14) Store (Zero, Local2) While (LLess (Local2, 0x0F)) { If (LEqual (PXID, ^^^PB3._ADR)) { Store (One, ^^^PB3.PDC3) } Else { Store (One, ^^^PB2.PDC2) } Store (One, Local4) Store (0xC8, Local5) While (LAnd (Local4, Local5)) { If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.XPRD (0xA5), Local6) } Else { Store (^^^PB2.XPRD (0xA5), Local6) } And (Local6, 0x7F, Local6) If (LAnd (LGreaterEqual (Local6, 0x10), LNotEqual (Local6, 0x7F))) { Store (Zero, Local4) } Else { Sleep (0x05) Decrement (Local5) } } If (LNot (Local4)) { If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.XPDL (), Local5) } Else { Store (^^^PB2.XPDL (), Local5) } If (Local5) { If (LEqual (PXID, ^^^PB3._ADR)) { ^^^PB3.XPRT () } Else { ^^^PB2.XPRT () } Sleep (0x05) Increment (Local2) } Else { If (LEqual (PXID, ^^^PB3._ADR)) { Store (0x18, MUXF) } Else { Store (0x10, MUXF) } Store (Zero, Local0) If (LEqual (PXID, ^^^PB3._ADR)) { If (LEqual (^^^PB3.XPR2 (), Ones)) { Store (One, Local0) } } Else { If (LEqual (^^^PB2.XPR2 (), Ones)) { Store (One, Local0) } } If (Local0) { Store (One, HPOK) Store (0x10, Local2) } Else { Store (Zero, HPOK) Store (0x10, Local2) } } } Else { Store (0x10, Local2) } } If (LNot (HPOK)) { Store (0x13E2, P80H) If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.VGA.DVID, Local7) } Else { Store (^^^PB2.VGA.DVID, Local7) } Sleep (0x0A) Store (One, Local4) Store (0x05, Local5) While (LAnd (Local4, Local5)) { If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.XPRD (0xA5), Local6) } Else { Store (^^^PB2.XPRD (0xA5), Local6) } And (Local6, 0x7F, Local6) If (LLessEqual (Local6, 0x04)) { Store (Zero, Local4) } Else { If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.VGA.DVID, Local7) } Else { Store (^^^PB2.VGA.DVID, Local7) } Sleep (0x05) Decrement (Local5) } } If (LEqual (PXID, ^^^PB3._ADR)) { XPTR (0x03, Zero) } Else { XPTR (0x02, Zero) } } Store (0x14E2, P80H) } Else { Store (0x02E2, P80H) If (LEqual (PXID, ^^^PB3._ADR)) { Store (0x18, MUXF) } Else { Store (0x10, MUXF) } Store (Zero, ^^^SMBS.G35O) Store (Zero, ^^^SMBS.G35E) Sleep (0x0A) Store (Zero, ^^^SMBS.G45O) Store (Zero, ^^^SMBS.G45E) Store (Zero, ^^^LPC0.EC0.SBVO) Store (0x03E2, P80H) If (LEqual (PXID, ^^^PB3._ADR)) { Store (One, ^^^PB3.PDC3) Store (^^^PB3.VGA.DVID, Local7) } Else { Store (One, ^^^PB2.PDC2) Store (^^^PB2.VGA.DVID, Local7) } Sleep (0x0A) Store (One, Local4) Store (0x05, Local5) While (LAnd (Local4, Local5)) { If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.XPRD (0xA5), Local6) } Else { Store (^^^PB2.XPRD (0xA5), Local6) } And (Local6, 0x7F, Local6) If (LLessEqual (Local6, 0x04)) { Store (Zero, Local4) } Else { If (LEqual (PXID, ^^^PB3._ADR)) { Store (^^^PB3.VGA.DVID, Local7) } Else { Store (^^^PB2.VGA.DVID, Local7) } Sleep (0x05) Decrement (Local5) } } If (LEqual (PXID, ^^^PB3._ADR)) { XPTR (0x03, Zero) Store (NBXR (0x65), Local0) Or (Local0, 0xFF00, Local0) NBXW (0x65, Local0) Store (NBMR (0x2E), Local0) Or (Local0, 0x00440040, Local0) NBMW (0x2E, Local0) } Else { XPTR (0x02, Zero) Store (NBXR (0x65), Local0) Or (Local0, 0xFFFF, Local0) NBXW (0x65, Local0) Store (NBMR (0x2E), Local0) Or (Local0, 0x00770070, Local0) NBMW (0x2E, Local0) } Store (0x02, HPOK) Store (0x04E2, P80H) } If (HPOK) { If (LAnd (LEqual (HPOK, One), LNotEqual (DSID, Ones))) { If (LEqual (PXID, ^^^PB3._ADR)) { Store (DSID, Local7) Store (Local7, ^^^PB3.VGA.SMID) Sleep (0x0A) Store (HSID, Local7) If (LNotEqual (Local7, Ones)) { Store (Local7, ^^^PB3.HDAU.SMID) } } Else { Store (DSID, Local7) Store (Local7, ^^^PB2.VGA.SMID) Sleep (0x0A) Store (HSID, Local7) If (LNotEqual (Local7, Ones)) { Store (Local7, ^^^PB2.HDAU.SMID) } } Sleep (0x0A) Store (0x78, BCMD) BSMI (Zero) } If (LEqual (PXID, ^^^PB3._ADR)) { Notify (PB3, Zero) } Else { Notify (PB2, Zero) } } } Method (PX03, 1, NotSerialized) { CreateWordField (ATPB, Zero, SSZE) CreateWordField (ATPB, 0x02, DPSW) Store (0x04, SSZE) And (Arg0, One, DPSW) If (DPSW) { Store (0x02E3, P80H) Store (Zero, MUXF) } Else { Store (0x01E3, P80H) Store (One, MUXF) Sleep (0x01F4) } Store (0x85, BCMD) BSMI (Zero) } Method (PX04, 1, NotSerialized) { Store (0xE4, P80H) CreateWordField (ATPB, Zero, SSZE) CreateWordField (ATPB, 0x02, ICSW) Store (0x04, SSZE) And (Arg0, One, ICSW) If (ICSW) { Store (0x02E4, P80H) } Else { Store (0x01E4, P80H) } } Name (PX6F, Zero) Method (PX06, 1, NotSerialized) { Store (0xE6, P80H) CreateWordField (ATPB, Zero, SSZE) CreateWordField (ATPB, 0x02, ATGD) Store (0x04, SSZE) And (Arg0, One, ATGD) Store (One, PX6F) If (ATGD) { Store (0x02E6, P80H) Notify (ACAD, 0x80) } Else { Store (0x01E6, P80H) Notify (ACAD, 0x80) } } Method (PX08, 0, NotSerialized) { Store (0xE8, P80H) CreateWordField (ATPB, Zero, CNUM) CreateWordField (ATPB, 0x02, CSSZ) Store (0x0A, CNUM) Store (0x05, CSSZ) CreateField (ATPB, 0x20, 0x28, CTI0) Store (CNT0, CTI0) CreateField (ATPB, 0x48, 0x28, CTI1) Store (CNT1, CTI1) CreateField (ATPB, 0x70, 0x28, CTI2) CreateByteField (CNT2, Zero, FLG2) If (LEqual (LPTY, One)) { If (LEqual (M92D, One)) { Store (Zero, FLG2) } If (LEqual (M92D, 0x02)) { Store (0x07, FLG2) } } Store (CNT2, CTI2) CreateField (ATPB, 0x98, 0x28, CTI3) CreateByteField (CNT3, Zero, FLG3) If (LEqual (LPTY, Zero)) { Store (0x07, FLG3) } If (LEqual (LPTY, One)) { Store (Zero, FLG3) If (LEqual (M92D, 0x02)) { Store (0x07, FLG3) } } If (LEqual (LPTY, 0x02)) { Store (Zero, FLG3) If (LEqual (M92D, 0x02)) { Store (0x07, FLG3) } } Store (CNT3, CTI3) CreateField (ATPB, 0xC0, 0x28, CTI4) Store (CNT4, CTI4) CreateField (ATPB, 0xE8, 0x28, CTI5) Store (CNT5, CTI5) CreateField (ATPB, 0x0110, 0x28, CTI6) Store (CNT6, CTI6) CreateField (ATPB, 0x0138, 0x28, CTI7) CreateByteField (CNT7, Zero, FLG7) If (LEqual (LPTY, One)) { If (LEqual (M92D, One)) { Store (Zero, FLG7) } If (LEqual (M92D, 0x02)) { Store (0x07, FLG7) } } Store (CNT7, CTI7) CreateField (ATPB, 0x0160, 0x28, CTI8) CreateByteField (CNT8, Zero, FLG8) If (LEqual (LPTY, Zero)) { Store (0x07, FLG8) } If (LEqual (LPTY, One)) { Store (Zero, FLG8) } If (LEqual (LPTY, 0x02)) { Store (Zero, FLG8) } If (LEqual (M92D, 0x02)) { Store (0x07, FLG8) } Store (CNT8, CTI8) CreateField (ATPB, 0x0188, 0x28, CTI9) CreateByteField (CNT9, Zero, FLG9) If (LEqual (M92D, 0x02)) { Store (0x07, FLG9) } Store (CNT9, CTI9) Return (ATPB) } Method (PX09, 0, NotSerialized) { Store (0xE9, P80H) CreateWordField (ATPB, Zero, CNUM) CreateWordField (ATPB, 0x02, CSSZ) Store (Zero, CNUM) Store (Zero, CSSZ) CreateByteField (ATPB, 0x04, ATI0) CreateByteField (ATPB, 0x05, HPD0) CreateByteField (ATPB, 0x06, DDC0) Store (Zero, ATI0) Store (Zero, HPD0) Store (Zero, DDC0) CreateByteField (ATPB, 0x07, ATI1) CreateByteField (ATPB, 0x08, HPD1) CreateByteField (ATPB, 0x09, DDC1) Store (Zero, ATI1) Store (Zero, HPD1) Store (Zero, DDC1) Return (ATPB) } } } Device (PB2) { Name (_ADR, 0x00020000) Method (_PRW, 0, NotSerialized) { If (LEqual (WKPM, One)) { Return (GPRW (0x08, 0x05)) } Else { Return (GPRW (0x08, Zero)) } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) } } OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, AnyAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), , 3, PDC2, 1, , 2, PDS2, 1, Offset (0x1B), HPCS, 1, Offset (0x20), Offset (0x22), PMES, 1 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } OperationRegion (XPEX, SystemMemory, 0xF7010100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC02, 32 } OperationRegion (PCFG, PCI_Config, Zero, 0x20) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, PCMS, 32, Offset (0x18), SBUS, 32 } Method (XPDL, 0, NotSerialized) { If (And (VC02, 0x00020000)) { Return (Ones) } Else { Return (Zero) } } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (Zero, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (Zero, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, 0xFFFFFFF8, Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPLP, 1, NotSerialized) { Store (NBMR (0x08), Local0) ShiftRight (Local0, 0x08, Local0) And (Local0, 0x0F, Local0) If (Local0) { Store (0x0F0F, Local1) } Else { Store (0xFFFF, Local1) } Store (NBXR (0x65), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } NBXW (0x65, Local2) } Method (XPLL, 1, NotSerialized) { Store (NBMR (0x08), Local0) ShiftRight (Local0, 0x08, Local0) And (Local0, 0x0F, Local0) If (Local0) { Store (NBMR (0x07), Local2) If (LAnd (Local2, 0x0201F000)) { Store (0x00550050, Local1) Store (NBXR (0x65), Local2) If (LAnd (Not (Local2), 0xF0F0)) { Store (0x00110010, Local3) } Store (Local1, Local3) } Else { Store (0x00110010, Local1) Store (Local1, Local3) Store (NBXR (0x65), Local2) If (LAnd (Not (Local2), 0xFFFF)) { Store (Zero, Local3) } } Store (NBMR (0x2E), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local3, Local2) } NBMW (0x2E, Local2) } Else { Store (NBMR (0x07), Local2) If (LAnd (Local2, 0x0201F000)) { Store (0x00550050, Local1) Store (NBXR (0x65), Local2) If (LAnd (Local2, 0xFFFF)) { Store (0x00110010, Local3) } Store (Local1, Local3) } Else { Store (0x00110010, Local1) Store (Local1, Local3) Store (NBXR (0x65), Local2) If (LAnd (Local2, 0xFFFF)) { Store (Zero, Local3) } } Store (NBMR (0x2E), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local3, Local2) } NBMW (0x2E, Local2) } } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (One, Local2) While (LAnd (Local1, Local2)) { Sleep (One) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (Zero, Local2) } } And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Device (VGA) { Name (_ADR, Zero) OperationRegion (PCFG, PCI_Config, Zero, 0x50) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SVID, 32, Offset (0x4C), SMID, 32 } Name (SWIT, One) Name (CRTA, One) Name (LCDA, One) Name (TV0A, One) Name (HDTV, One) Name (BRTB, Package (0x0D) { 0x64, 0x32, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { Return (Package (0x04) { 0x00010100, 0x00010110, 0x00010200, 0x00010210 }) } Device (CRT) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { Store ("CRT -- _DCS", Debug) If (CRTA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("CRT -- _DGS", Debug) If (CRTA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("CRT -- _DSS", Debug) } } Device (TV0) { Name (_ADR, 0x0200) Method (_DCS, 0, NotSerialized) { Store ("TV -- _DCS", Debug) If (TV0A) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("TV -- _DCS", Debug) If (TV0A) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("TV -- _DSS", Debug) } } Device (LCD) { Name (_ADR, 0x0110) Method (_DCS, 0, NotSerialized) { Store ("LCD -- _DCS", Debug) If (LCDA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("LCD -- _DCS", Debug) If (LCDA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("LCD -- _DSS", Debug) } Method (_BCL, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { Return (BRTB) } } Method (_BCM, 1, NotSerialized) { If (LEqual (TPOS, 0x40)) { Store (Arg0, BRTL) Store (0x72, BCMD) Stall (0xFF) Stall (0xFF) BSMI (Zero) } } Method (_BQC, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { Store (0x73, BCMD) Stall (0xFF) Stall (0xFF) BSMI (Zero) Return (BRTL) } } } Device (HDMI) { Name (_ADR, 0x0210) Method (_DCS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (HDTV) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (HDTV) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("HDMI TV -- _DSS", Debug) } } Name (ATIB, Buffer (0x0100) {}) Method (ATIF, 2, Serialized) { If (LEqual (Arg0, Zero)) { Return (AF00 ()) } If (LEqual (Arg0, One)) { Return (AF01 ()) } If (LEqual (Arg0, 0x02)) { Return (AF02 ()) } If (LEqual (Arg0, 0x03)) { Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1, 0x04)))) } If (LEqual (Arg0, 0x0F)) { Return (AF15 ()) } Else { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (Zero, SSZE) Store (Zero, VERN) Store (Zero, NMSK) Store (Zero, SFUN) Return (ATIB) } } Method (AF00, 0, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (0x0C, SSZE) Store (One, VERN) If (LEqual (^^^AGP.PXEN, 0x80000000)) { Store (0x11, NMSK) } Else { Store (0x51, NMSK) } Store (NMSK, MSKN) Store (0x4007, SFUN) Return (ATIB) } Method (AF01, 0, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateDWordField (ATIB, 0x02, VMSK) CreateDWordField (ATIB, 0x06, FLGS) Store (0x0A, SSZE) Store (0x0B, VMSK) Store (0x0A, SSZE) Store (0x0B, FLGS) Return (ATIB) } Name (PSBR, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (MSKN, Zero) Name (SEXM, Zero) Name (STHG, Zero) Name (STHI, Zero) Name (SFPG, Zero) Name (SFPI, Zero) Name (SSPS, Zero) Name (SSDM, 0x0A) Name (SCDY, Zero) Name (SACT, Buffer (0x07) { 0x01, 0x02, 0x08, 0x80, 0x03, 0x09, 0x81 }) Method (AF02, 0, NotSerialized) { CreateBitField (PSBR, Zero, PDSW) CreateBitField (PSBR, One, PEXM) CreateBitField (PSBR, 0x02, PTHR) CreateBitField (PSBR, 0x03, PFPS) CreateBitField (PSBR, 0x04, PSPS) CreateBitField (PSBR, 0x05, PDCC) CreateBitField (PSBR, 0x06, PXPS) CreateWordField (ATIB, Zero, SSZE) CreateDWordField (ATIB, 0x02, PSBI) CreateByteField (ATIB, 0x06, EXPM) CreateByteField (ATIB, 0x07, THRM) CreateByteField (ATIB, 0x08, THID) CreateByteField (ATIB, 0x09, FPWR) CreateByteField (ATIB, 0x0A, FPID) CreateByteField (ATIB, 0x0B, SPWR) Store (0x0C, SSZE) Store (PSBR, PSBI) If (PDSW) { Store (Zero, PDSW) } If (PEXM) { Store (SEXM, EXPM) Store (Zero, SEXM) Store (Zero, PEXM) } If (PTHR) { Store (STHG, THRM) Store (STHI, THID) Store (Zero, STHG) Store (Zero, STHI) Store (Zero, PTHR) } If (PFPS) { Store (SFPG, FPWR) Store (SFPI, FPWR) Store (Zero, SFPG) Store (Zero, SFPI) Store (Zero, PFPS) } If (PSPS) { Store (SSPS, SPWR) Store (Zero, PSPS) } If (PXPS) { Store (Zero, PXPS) } Return (ATIB) } Method (AF03, 2, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, SSDP) CreateWordField (ATIB, 0x04, SCDP) Store (Arg0, SSDP) Store (Arg1, SCDP) Name (NXTD, 0x06) Name (CIDX, 0x06) Store (SSDP, Local1) And (Local1, 0x8B, Local1) Store (SCDP, Local2) If (CondRefOf (^^^^LID._LID, Local4)) { And (Local2, 0xFFFFFFFE, Local2) Or (Local2, ^^^^LID._LID (), Local2) } Else { Or (Local2, One, Local2) } Store (Local2, P80H) Store (Zero, Local0) While (LLess (Local0, SizeOf (SACT))) { Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (Local3, Local1)) { Store (Local0, CIDX) Store (SizeOf (SACT), Local0) } Else { Increment (Local0) } } Store (CIDX, Local0) While (LLess (Local0, SizeOf (SACT))) { Increment (Local0) If (LEqual (Local0, SizeOf (SACT))) { Store (Zero, Local0) } Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (And (Local3, Local2), Local3)) { Store (Local0, NXTD) Store (SizeOf (SACT), Local0) } } If (LEqual (NXTD, SizeOf (SACT))) { Store (Zero, SSDP) } Else { Store (NXTD, Local0) Store (DerefOf (Index (SACT, Local0)), Local3) And (SSDP, 0xFFFFFFF4, SSDP) Or (SSDP, Local3, SSDP) } Store (0x04, SSZE) Store (SSDP, P80H) Return (ATIB) } Method (AFN0, 0, Serialized) { If (And (MSKN, One)) { CreateBitField (PSBR, Zero, PDSW) Store (One, PDSW) Notify (VGA, 0x81) } } Method (AFN3, 2, Serialized) { If (And (MSKN, 0x08)) { Store (Arg0, Local0) Store (Local0, SFPI) Store (Arg1, Local0) Store (And (Local0, 0x03, Local0), SFPG) CreateBitField (PSBR, 0x03, PFPS) Store (One, PFPS) Notify (VGA, 0x81) } } Method (AFN4, 1, Serialized) { If (And (MSKN, 0x10)) { Store (Arg0, Local0) Store (SSPS, Local1) Store (Local0, SSPS) If (LEqual (^^^AGP.VGA.PX6F, One)) { Store (Zero, ^^^AGP.VGA.PX6F) Store (0xFF, Local1) } If (LEqual (Local0, Local1)) {} Else { CreateBitField (PSBR, 0x04, PSPS) Store (One, PSPS) Notify (VGA, 0x81) } } } Method (AFN5, 0, Serialized) { If (And (MSKN, 0x20)) { CreateBitField (PSBR, 0x05, PDCC) Store (One, PDCC) Notify (VGA, 0x81) } } Method (AFN6, 0, Serialized) { If (And (MSKN, 0x40)) { CreateBitField (PSBR, 0x06, PXPS) Store (One, PXPS) Notify (VGA, 0x81) } } Method (AF15, 0, NotSerialized) { Store (0xFF, P80H) CreateWordField (ATIB, 0x02, DSZE) Store (0x08, DSZE) Acquire (^^^LPC0.PSMX, 0xFFFF) Store (0x8D, BCMD) Store (0x0F, DID) Store (ATIB, INFO) BSMI (Zero) Store (INFO, ATIB) Release (^^^LPC0.PSMX) Return (ATIB) } } Device (HDAU) { Name (_ADR, One) OperationRegion (PCFG, PCI_Config, Zero, 0x50) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SVID, 32, Offset (0x4C), SMID, 32 } } } Device (PB3) { Name (_ADR, 0x00030000) Method (_PRW, 0, NotSerialized) { If (LEqual (WKPM, One)) { Return (GPRW (0x08, 0x04)) } Else { Return (GPRW (0x08, Zero)) } } Name (_HPP, Package (0x04) { 0x10, 0x40, One, Zero }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) } } OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, AnyAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), , 3, PDC3, 1, , 2, PDS3, 1, Offset (0x1B), HPCS, 1, Offset (0x20), Offset (0x22), PMES, 1 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } OperationRegion (XPEX, SystemMemory, 0xF7018100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC0S, 32 } OperationRegion (PCFG, PCI_Config, Zero, 0x20) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, PCMS, 32, Offset (0x18), SBUS, 32 } Method (XPDL, 0, NotSerialized) { If (And (VC0S, 0x00020000)) { Return (Ones) } Else { Return (Zero) } } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (Zero, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (Zero, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, 0xFFFFFFF8, Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPLP, 1, NotSerialized) { Store (NBMR (0x08), Local0) ShiftRight (Local0, 0x08, Local0) And (Local0, 0x0F, Local0) If (Local0) { Store (0xF0F0, Local1) Store (NBXR (0x65), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } NBXW (0x65, Local2) } } Method (XPLL, 1, NotSerialized) { Store (NBMR (0x08), Local0) ShiftRight (Local0, 0x08, Local0) And (Local0, 0x0F, Local0) If (Local0) { Store (NBMR (0x07), Local2) If (LAnd (Local2, 0x0201F000)) { Store (0x00440040, Local1) Store (Local1, Local3) } Else { Store (0x00550050, Local1) Store (Local1, Local3) Store (NBXR (0x65), Local2) If (LAnd (Not (Local2), 0x0F0F)) { Store (0x00440040, Local3) } } Store (NBMR (0x2E), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local3, Local2) } NBMW (0x2E, Local2) } } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (One, Local2) While (LAnd (Local1, Local2)) { Sleep (One) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (Zero, Local2) } } And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Method (XPPB, 0, NotSerialized) { Store (_ADR, Local0) Store (ShiftLeft (Local0, 0x10), Local1) Store (ShiftRight (Local0, 0x03), Local1) Store (And (Local0, 0x0F), Local2) Store (Or (Local1, Local2), Local3) Return (Local3) } Method (XPPR, 1, NotSerialized) { If (Arg0) { XPLL (One) XPLP (One) Sleep (0xC8) XPTR (ShiftLeft (XPPB (), 0x03), One) Sleep (0x14) } Else { XPTR (ShiftLeft (XPPB (), 0x03), Zero) XPLP (Zero) XPLL (Zero) } Return (Ones) } Method (_DSM, 4, Serialized) { If (LEqual (XCMP (Arg0, Buffer (0x10) { /* 0000 */ 0xD0, 0x37, 0xC9, 0xE5, 0x53, 0x35, 0x7A, 0x4D, /* 0008 */ 0x91, 0x17, 0xEA, 0x4D, 0x19, 0xC3, 0x43, 0x4D }), One)) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x2D }) } If (LEqual (Arg2, 0x02)) { Store (0xAA02, P80H) Return (Package (0x01) { Package (0x04) { 0x02, 0x80, Zero, 0x0C } }) } If (LEqual (Arg2, 0x03)) { Store (0xAA03, P80H) Store (DerefOf (Index (Arg3, Zero)), Local0) If (LEqual (Local0, 0x80)) { Return (Package (0x01) { Package (0x02) { "en", Unicode ("ATI XGP Slot") } }) } Else { Return (Package (0x01) { Package (0x02) { "en", Unicode ("Unknown") } }) } } If (LEqual (Arg2, 0x05)) { If (LEqual (Arg1, One)) { Return (One) } } Return (One) } Return (Buffer (One) { 0x00 }) } Device (VGA) { Name (_ADR, Zero) OperationRegion (PCFG, PCI_Config, Zero, 0x50) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SVID, 32, Offset (0x4C), SMID, 32 } Name (SWIT, One) Name (CRTA, One) Name (LCDA, One) Name (TV0A, One) Name (HDTV, One) Name (BRTB, Package (0x0D) { 0x64, 0x32, Zero, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { Return (Package (0x04) { 0x00010100, 0x00010110, 0x00010200, 0x00010210 }) } Device (CRT) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { Store ("CRT -- _DCS", Debug) If (CRTA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("CRT -- _DGS", Debug) If (CRTA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("CRT -- _DSS", Debug) } } Device (TV0) { Name (_ADR, 0x0200) Method (_DCS, 0, NotSerialized) { Store ("TV -- _DCS", Debug) If (TV0A) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("TV -- _DCS", Debug) If (TV0A) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("TV -- _DSS", Debug) } } Device (LCD) { Name (_ADR, 0x0110) Method (_DCS, 0, NotSerialized) { Store ("LCD -- _DCS", Debug) If (LCDA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("LCD -- _DCS", Debug) If (LCDA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("LCD -- _DSS", Debug) } Method (_BCL, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { Return (BRTB) } } Method (_BCM, 1, NotSerialized) { If (LEqual (TPOS, 0x40)) { Store (Arg0, BRTL) Store (0x72, BCMD) Stall (0xFF) Stall (0xFF) BSMI (Zero) } } Method (_BQC, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { Store (0x73, BCMD) Stall (0xFF) Stall (0xFF) BSMI (Zero) Return (BRTL) } } } Device (HDMI) { Name (_ADR, 0x0210) Method (_DCS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (HDTV) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("HDMI TV -- _DCS", Debug) If (HDTV) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { Store ("HDMI TV -- _DSS", Debug) } } Method (_RMV, 0, NotSerialized) { If (LNotEqual (^^^AGP.PXMX, 0x80000000)) { Return (Zero) } Else { Return (One) } } Name (ATIB, Buffer (0x0100) {}) Method (ATIF, 2, Serialized) { If (LEqual (Arg0, Zero)) { Return (AF00 ()) } If (LEqual (Arg0, One)) { Return (AF01 ()) } If (LEqual (Arg0, 0x02)) { Return (AF02 ()) } If (LEqual (Arg0, 0x03)) { Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1, 0x04)))) } If (LEqual (Arg0, 0x0F)) { Return (AF15 ()) } Else { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (Zero, SSZE) Store (Zero, VERN) Store (Zero, NMSK) Store (Zero, SFUN) Return (ATIB) } } Method (AF00, 0, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (0x0C, SSZE) Store (One, VERN) If (LEqual (^^^AGP.PXEN, 0x80000000)) { Store (0x11, NMSK) } Else { Store (0x51, NMSK) } Store (NMSK, MSKN) Store (0x4007, SFUN) Return (ATIB) } Method (AF01, 0, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateDWordField (ATIB, 0x02, VMSK) CreateDWordField (ATIB, 0x06, FLGS) Store (0x0A, SSZE) Store (0x0B, VMSK) Store (0x0A, SSZE) Store (0x0B, FLGS) Return (ATIB) } Name (PSBR, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (MSKN, Zero) Name (SEXM, Zero) Name (STHG, Zero) Name (STHI, Zero) Name (SFPG, Zero) Name (SFPI, Zero) Name (SSPS, Zero) Name (SSDM, 0x0A) Name (SCDY, Zero) Name (SACT, Buffer (0x07) { 0x01, 0x02, 0x08, 0x80, 0x03, 0x09, 0x81 }) Method (AF02, 0, NotSerialized) { CreateBitField (PSBR, Zero, PDSW) CreateBitField (PSBR, One, PEXM) CreateBitField (PSBR, 0x02, PTHR) CreateBitField (PSBR, 0x03, PFPS) CreateBitField (PSBR, 0x04, PSPS) CreateBitField (PSBR, 0x05, PDCC) CreateBitField (PSBR, 0x06, PXPS) CreateWordField (ATIB, Zero, SSZE) CreateDWordField (ATIB, 0x02, PSBI) CreateByteField (ATIB, 0x06, EXPM) CreateByteField (ATIB, 0x07, THRM) CreateByteField (ATIB, 0x08, THID) CreateByteField (ATIB, 0x09, FPWR) CreateByteField (ATIB, 0x0A, FPID) CreateByteField (ATIB, 0x0B, SPWR) Store (0x0C, SSZE) Store (PSBR, PSBI) If (PDSW) { Store (Zero, PDSW) } If (PEXM) { Store (SEXM, EXPM) Store (Zero, SEXM) Store (Zero, PEXM) } If (PTHR) { Store (STHG, THRM) Store (STHI, THID) Store (Zero, STHG) Store (Zero, STHI) Store (Zero, PTHR) } If (PFPS) { Store (SFPG, FPWR) Store (SFPI, FPWR) Store (Zero, SFPG) Store (Zero, SFPI) Store (Zero, PFPS) } If (PSPS) { Store (SSPS, SPWR) Store (Zero, PSPS) } If (PXPS) { Store (Zero, PXPS) } Return (ATIB) } Method (AF03, 2, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateWordField (ATIB, 0x02, SSDP) CreateWordField (ATIB, 0x04, SCDP) Store (Arg0, SSDP) Store (Arg1, SCDP) Name (NXTD, 0x06) Name (CIDX, 0x06) Store (SSDP, Local1) And (Local1, 0x8B, Local1) Store (SCDP, Local2) If (CondRefOf (^^^^LID._LID, Local4)) { And (Local2, 0xFFFFFFFE, Local2) Or (Local2, ^^^^LID._LID (), Local2) } Else { Or (Local2, One, Local2) } Store (Local2, P80H) Store (Zero, Local0) While (LLess (Local0, SizeOf (SACT))) { Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (Local3, Local1)) { Store (Local0, CIDX) Store (SizeOf (SACT), Local0) } Else { Increment (Local0) } } Store (CIDX, Local0) While (LLess (Local0, SizeOf (SACT))) { Increment (Local0) If (LEqual (Local0, SizeOf (SACT))) { Store (Zero, Local0) } Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (And (Local3, Local2), Local3)) { Store (Local0, NXTD) Store (SizeOf (SACT), Local0) } } If (LEqual (NXTD, SizeOf (SACT))) { Store (Zero, SSDP) } Else { Store (NXTD, Local0) Store (DerefOf (Index (SACT, Local0)), Local3) And (SSDP, 0xFFFFFFF4, SSDP) Or (SSDP, Local3, SSDP) } Store (0x04, SSZE) Store (SSDP, P80H) Return (ATIB) } Method (AFN0, 0, Serialized) { If (And (MSKN, One)) { CreateBitField (PSBR, Zero, PDSW) Store (One, PDSW) Notify (VGA, 0x81) } } Method (AFN3, 2, Serialized) { If (And (MSKN, 0x08)) { Store (Arg0, Local0) Store (Local0, SFPI) Store (Arg1, Local0) Store (And (Local0, 0x03, Local0), SFPG) CreateBitField (PSBR, 0x03, PFPS) Store (One, PFPS) Notify (VGA, 0x81) } } Method (AFN4, 1, Serialized) { If (And (MSKN, 0x10)) { Store (Arg0, Local0) Store (SSPS, Local1) Store (Local0, SSPS) If (LEqual (^^^AGP.VGA.PX6F, One)) { Store (Zero, ^^^AGP.VGA.PX6F) Store (0xFF, Local1) } If (LEqual (Local0, Local1)) {} Else { CreateBitField (PSBR, 0x04, PSPS) Store (One, PSPS) Notify (VGA, 0x81) } } } Method (AFN5, 0, Serialized) { If (And (MSKN, 0x20)) { CreateBitField (PSBR, 0x05, PDCC) Store (One, PDCC) Notify (VGA, 0x81) } } Method (AFN6, 0, Serialized) { If (And (MSKN, 0x40)) { CreateBitField (PSBR, 0x06, PXPS) Store (One, PXPS) Notify (VGA, 0x81) } } Method (AF15, 0, NotSerialized) { Store (0xFF, P80H) CreateWordField (ATIB, 0x02, DSZE) Store (0x08, DSZE) Acquire (^^^LPC0.PSMX, 0xFFFF) Store (0x8D, BCMD) Store (0x0F, DID) Store (ATIB, INFO) BSMI (Zero) Store (INFO, ATIB) Release (^^^LPC0.PSMX) Return (ATIB) } } Device (HDAU) { Name (_ADR, One) OperationRegion (PCFG, PCI_Config, Zero, 0x50) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SVID, 32, Offset (0x4C), SMID, 32 } } } Device (PB5) { Name (_ADR, 0x00050000) Method (_PRW, 0, NotSerialized) { If (LEqual (WKPM, One)) { Return (GPRW (0x08, 0x05)) } Else { Return (GPRW (0x08, Zero)) } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) } } OperationRegion (XPEX, SystemMemory, 0xF7020100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC0S, 32 } OperationRegion (PCFG, PCI_Config, Zero, 0x20) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, PCMS, 32, Offset (0x18), SBUS, 32 } OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, AnyAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), , 3, PSDC, 1, , 2, PSDS, 1, Offset (0x1B), HPCS, 1, Offset (0x20), Offset (0x22), PMES, 1 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } Method (XPDL, 0, NotSerialized) { Store (Zero, Local0) If (And (VC0S, 0x00020000)) { Store (Ones, Local0) } Return (Local0) } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (Zero, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (Zero, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, 0xFFFFFFF8, Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPPB, 0, NotSerialized) { Store (_ADR, Local0) Store (ShiftRight (Local0, 0x10), Local1) Store (ShiftLeft (Local1, 0x03), Local1) Store (And (Local0, 0x0F), Local2) Store (Or (Local1, Local2), Local3) Return (Local3) } Method (XPCN, 0, NotSerialized) { Store (Zero, Local1) Store (XPPB (), Local0) If (LGreater (0x04, Local0)) { Store (Zero, Local1) } If (LGreater (0x08, Local0)) { Store (0x00010000, Local1) } If (LGreater (0x0B, Local0)) { Store (0x00020000, Local1) } Return (Local1) } Method (XPPD, 0, NotSerialized) { Store (XPPB (), Local0) Store (GPPX (), Local2) Store (GFXM (), Local3) Store (Zero, Local1) If (LEqual (0x10, Local0)) { Store (0xFFFF, Local1) If (Local3) { Store (0x0F0F, Local1) } } If (LEqual (0x18, Local0)) { Store (0xF0F0, Local1) } If (LEqual (0x20, Local0)) { Store (0x1010, Local1) } If (LEqual (0x28, Local0)) { Store (0x2020, Local1) } If (LEqual (0x30, Local0)) { Store (0x4040, Local1) } If (LEqual (0x38, Local0)) { Store (0x8080, Local1) } If (LEqual (0x48, Local0)) { Store (Zero, Local1) If (LEqual (0x02, Local2)) { Store (0x0303, Local1) } If (LEqual (0x03, Local2)) { Store (0x0101, Local1) } } If (LEqual (0x50, Local0)) { Store (Zero, Local1) If (LEqual (0x03, Local2)) { Store (0x0202, Local1) } } Return (Local1) } Method (XPLP, 1, NotSerialized) { Store (XPPD (), Local1) If (LNotEqual (Zero, Local1)) { Store (NBXR (Add (0x65, XPCN ())), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } NBXW (Add (0x65, XPCN ()), Local2) } } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (One, Local2) While (LAnd (Local1, Local2)) { Sleep (One) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (Zero, Local2) } } And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Method (XPLL, 1, NotSerialized) { Store (GFXM (), Local0) Store (XPPB (), Local1) Store (Zero, Local2) If (LEqual (0x10, Local1)) { Store (One, Local2) Store (0x00770070, Local3) If (Local0) { Store (0x00330030, Local3) } } If (LAnd (LEqual (0x18, Local1), Local0)) { Store (One, Local2) Store (0x00440040, Local3) } Store (NBMR (0x07), Local0) Store (NBXR (0x65), Local1) If (LAnd (Local0, 0x0201F000)) { Store (0x00440040, Local4) Store (Local4, Local5) If (LAnd (Not (Local1), 0xF0F0)) { Store (Zero, Local5) } } Else { Store (0x00110010, Local4) Store (Local4, Local5) If (LAnd (Not (Local1), 0x0F0F)) { Store (Zero, Local5) } } If (Local2) { Store (Or (Local3, Local4), Local6) Store (And (Local5, Local4), Local0) Store (Or (Local3, Local0), Local7) Store (NBMR (0x2E), Local0) If (Arg0) { And (Local0, Not (Local6), Local0) } Else { Or (Local0, Local7, Local0) } NBMW (0x2E, Local0) } } Method (XPPR, 1, NotSerialized) { If (Arg0) { XPLL (One) XPLP (One) Sleep (0xC8) XPTR (ShiftLeft (XPPB (), 0x03), One) Sleep (0x14) } Else { XPTR (ShiftLeft (XPPB (), 0x03), Zero) XPLP (Zero) XPLL (Zero) } Return (Ones) } Device (XPDV) { Name (_ADR, Zero) OperationRegion (PCFG, PCI_Config, Zero, 0x08) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, PCMS, 32 } } } Device (PB6) { Name (_ADR, 0x00060000) Name (_PRW, Package (0x02) { 0x08, 0x04 }) Name (PSWF, Zero) Method (_PSW, 1, NotSerialized) { If (DSME) { If (PSDS) { Store (Arg0, PSWF) } Else { Store (Zero, PSWF) } } Else { Store (Arg0, PSWF) } } Method (_RMV, 0, NotSerialized) { Return (Zero) } Method (_STA, 0, NotSerialized) { If (PSDS) { Return (0x0F) } Else { Return (Zero) } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) } } OperationRegion (XPEX, SystemMemory, 0xF7020100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC0S, 32 } OperationRegion (PCFG, PCI_Config, Zero, 0x20) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, PCMS, 32, Offset (0x18), SBUS, 32 } OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, AnyAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), , 3, PSDC, 1, , 2, PSDS, 1, Offset (0x1B), HPCS, 1, Offset (0x20), Offset (0x22), PMES, 1 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } Method (XPDL, 0, NotSerialized) { Store (Zero, Local0) If (And (VC0S, 0x00020000)) { Store (Ones, Local0) } Return (Local0) } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (Zero, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (Zero, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, 0xFFFFFFF8, Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPPB, 0, NotSerialized) { Store (_ADR, Local0) Store (ShiftRight (Local0, 0x10), Local1) Store (ShiftLeft (Local1, 0x03), Local1) Store (And (Local0, 0x0F), Local2) Store (Or (Local1, Local2), Local3) Return (Local3) } Method (XPCN, 0, NotSerialized) { Store (Zero, Local1) Store (XPPB (), Local0) If (LGreater (0x04, Local0)) { Store (Zero, Local1) } If (LGreater (0x08, Local0)) { Store (0x00010000, Local1) } If (LGreater (0x0B, Local0)) { Store (0x00020000, Local1) } Return (Local1) } Method (XPPD, 0, NotSerialized) { Store (XPPB (), Local0) Store (GPPX (), Local2) Store (GFXM (), Local3) Store (Zero, Local1) If (LEqual (0x10, Local0)) { Store (0xFFFF, Local1) If (Local3) { Store (0x0F0F, Local1) } } If (LEqual (0x18, Local0)) { Store (0xF0F0, Local1) } If (LEqual (0x20, Local0)) { Store (0x1010, Local1) } If (LEqual (0x28, Local0)) { Store (0x2020, Local1) } If (LEqual (0x30, Local0)) { Store (0x4040, Local1) } If (LEqual (0x38, Local0)) { Store (0x8080, Local1) } If (LEqual (0x48, Local0)) { Store (Zero, Local1) If (LEqual (0x02, Local2)) { Store (0x0303, Local1) } If (LEqual (0x03, Local2)) { Store (0x0101, Local1) } } If (LEqual (0x50, Local0)) { Store (Zero, Local1) If (LEqual (0x03, Local2)) { Store (0x0202, Local1) } } Return (Local1) } Method (XPLP, 1, NotSerialized) { Store (XPPD (), Local1) If (LNotEqual (Zero, Local1)) { Store (NBXR (Add (0x65, XPCN ())), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } NBXW (Add (0x65, XPCN ()), Local2) } } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (One, Local2) While (LAnd (Local1, Local2)) { Sleep (One) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (Zero, Local2) } } And (Local0, 0xFFFFFFDF, Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Method (XPLL, 1, NotSerialized) { Store (GFXM (), Local0) Store (XPPB (), Local1) Store (Zero, Local2) If (LEqual (0x10, Local1)) { Store (One, Local2) Store (0x00770070, Local3) If (Local0) { Store (0x00330030, Local3) } } If (LAnd (LEqual (0x18, Local1), Local0)) { Store (One, Local2) Store (0x00440040, Local3) } Store (NBMR (0x07), Local0) Store (NBXR (0x65), Local1) If (LAnd (Local0, 0x0201F000)) { Store (0x00440040, Local4) Store (Local4, Local5) If (LAnd (Not (Local1), 0xF0F0)) { Store (Zero, Local5) } } Else { Store (0x00110010, Local4) Store (Local4, Local5) If (LAnd (Not (Local1), 0x0F0F)) { Store (Zero, Local5) } } If (Local2) { Store (Or (Local3, Local4), Local6) Store (And (Local5, Local4), Local0) Store (Or (Local3, Local0), Local7) Store (NBMR (0x2E), Local0) If (Arg0) { And (Local0, Not (Local6), Local0) } Else { Or (Local0, Local7, Local0) } NBMW (0x2E, Local0) } } Method (XPPR, 1, NotSerialized) { If (Arg0) { XPLL (One) XPLP (One) Sleep (0xC8) XPTR (ShiftLeft (XPPB (), 0x03), One) Sleep (0x14) } Else { XPTR (ShiftLeft (XPPB (), 0x03), Zero) XPLP (Zero) XPLL (Zero) } Return (Ones) } Device (XPDV) { Name (_ADR, Zero) OperationRegion (PCFG, PCI_Config, Zero, 0x08) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, PCMS, 32 } } } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Method (_STA, 0, NotSerialized) { If (LAnd (^^SMBS.HPAD, Ones)) { If (LEqual (TPOS, 0x40)) { Return (0x0F) } } Return (Zero) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y05) }) CreateDWordField (BUF0, \_SB.PCI0.HPET._CRS._Y05._BAS, HPEB) Store (^^SMBS.HPAD, Local0) And (Local0, 0xFFFFFFC0, HPEB) Return (BUF0) } } Device (AZAL) { Name (_ADR, 0x00140002) } Device (USB0) { Name (_ADR, 0x00120000) Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x18, 0x03)) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB1) { Name (_ADR, 0x00130000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x18, 0x03)) } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB2) { Name (_ADR, 0x00160000) Device (RHUB) { Name (_ADR, Zero) Device (PRT0) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB3) { Name (_ADR, 0x00140005) Device (RHUB) { Name (_ADR, Zero) Device (PRT0) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) } Device (PRT1) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB4) { Name (_ADR, 0x00120002) Device (RHUB) { Name (_ADR, Zero) Device (PRT2) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x18, 0x03)) } } Device (USB5) { Name (_ADR, 0x00130002) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x18, 0x03)) } } Device (USB6) { Name (_ADR, 0x00160002) Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x18, 0x03)) } } Device (SMBS) { Name (_ADR, 0x00140000) OperationRegion (IRQF, PCI_Config, Zero, 0x0100) Field (IRQF, AnyAcc, NoLock, Preserve) { Offset (0x08), RVID, 8, Offset (0x62), IRQK, 1, IRQM, 1, Offset (0x63), Offset (0xAD), SA1E, 1, , 3, SA2E, 1, Offset (0xE1), , 6, ACIR, 1, Offset (0xF8), EIDX, 8, Offset (0xFC), EDAT, 32 } OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02) Field (PMIO, ByteAcc, NoLock, Preserve) { INPM, 8, DAPM, 8 } IndexField (INPM, DAPM, AnyAcc, NoLock, Preserve) { Offset (0x24), MMSO, 32, Offset (0x2C), BMBS, 16, Offset (0x50), HPAD, 32, Offset (0x60), P1EB, 16, Offset (0xF0), , 3, RSTU, 1, , 3, UREN, 1 } OperationRegion (ERMM, SystemMemory, MMSO, 0x1000) Field (ERMM, AnyAcc, NoLock, Preserve) { Offset (0x105), , 5, G06E, 1, G06O, 1, G06I, 1, , 5, G07E, 1, G07O, 1, G07I, 1, Offset (0x10A), , 5, G11E, 1, G11O, 1, G11I, 1, , 5, G12E, 1, G12O, 1, G12I, 1, , 5, G13E, 1, G13O, 1, G13I, 1, , 5, G14E, 1, G14O, 1, G14I, 1, , 5, G15E, 1, G15O, 1, G15I, 1, , 5, G16E, 1, G16O, 1, G16I, 1, Offset (0x113), , 5, G20E, 1, G20O, 1, G20I, 1, , 5, G21E, 1, G21O, 1, G21I, 1, Offset (0x11A), , 5, G27E, 1, G27O, 1, G27I, 1, Offset (0x11F), , 5, G32E, 1, G32O, 1, G32I, 1, Offset (0x122), , 2, G35S, 1, , 2, G35E, 1, G35O, 1, G35I, 1, Offset (0x128), GP41, 8, Offset (0x12B), , 5, G44E, 1, G44O, 1, G44I, 1, , 2, G45S, 1, , 2, G45E, 1, G45O, 1, G45I, 1, GP46, 8, Offset (0x132), , 5, G51E, 1, G51O, 1, G51I, 1, , 5, G52E, 1, G52O, 1, G52I, 1, , 5, G53E, 1, G53O, 1, G53I, 1, Offset (0x136), , 5, G55E, 1, G55O, 1, G55I, 1, , 5, G56E, 1, G56O, 1, G56I, 1, , 5, G57E, 1, G57O, 1, G57I, 1, , 5, G58E, 1, G58O, 1, G58I, 1, , 5, G59E, 1, G59O, 1, G59I, 1, Offset (0x13E), GP63, 8, , 5, G64E, 1, G64O, 1, G64I, 1, Offset (0x162), , 2, G99S, 1, , 2, G99E, 1, G99O, 1, G99I, 1, Offset (0x164), , 7, GE05, 1, , 5, G66E, 1, G66O, 1, G66I, 1, , 5, G67E, 1, Offset (0x16A), GE11, 8, Offset (0x16E), , 7, GE15, 1, , 7, GE16, 1, Offset (0x174), GE21, 8, , 7, GE22, 1, Offset (0x1A5), GPA6, 8, Offset (0x1A9), , 5, GAAE, 1, GAAO, 1, GAAI, 1, Offset (0x1AE), , 5, PD0E, 1, PD0O, 1, PD0I, 1, , 5, PD1E, 1, PD1O, 1, PD1I, 1, , 5, GB1E, 1, GB1O, 1, GB1I, 1, , 5, GB2E, 1, GB2O, 1, GB2I, 1, , 5, GB3E, 1, GB3O, 1, GB3I, 1, , 5, GB4E, 1, GB4O, 1, GB4I, 1, , 5, GB5E, 1, GB5O, 1, GB5I, 1, , 5, GB6E, 1, GB6O, 1, GB6I, 1, Offset (0x1FF), , 1, E01S, 1, , 3, E05S, 1, , 9, E15S, 1, E16S, 1, , 6, E22S, 1, Offset (0x203), , 1, E01E, 1, , 3, E05E, 1, , 1, E07E, 1, , 7, E15E, 1, E16E, 1, , 6, E22E, 1, Offset (0x207), , 1, E01C, 1, , 3, E05C, 1, , 9, E15C, 1, E16C, 1, , 6, E22C, 1, Offset (0x20B), , 1, E01L, 1, , 3, E05L, 1, , 9, E15L, 1, E16L, 1, , 6, E22L, 1, Offset (0x287), , 1, CLPS, 1, Offset (0x298), , 7, G15A, 1, Offset (0x2AF), , 2, SLPS, 2, Offset (0x361), , 6, MT3A, 1, Offset (0x376), EPNM, 1, DPPF, 1, Offset (0x3BA), , 6, PWDE, 1, Offset (0x3BD), , 5, ALLS, 1, Offset (0x3C7), , 2, TFTE, 1, Offset (0x3DE), BLNK, 2, Offset (0x3EF), PHYD, 1, Offset (0x3FF), F0CT, 8, F0MS, 8, F0FQ, 8, F0LD, 8, F0MD, 8, F0MP, 8, LT0L, 8, LT0H, 8, MT0L, 8, MT0H, 8, HT0L, 8, HT0H, 8, LRG0, 8, LHC0, 8, Offset (0x40F), F1CT, 8, F1MS, 8, F1FQ, 8, F1LD, 8, F1MD, 8, F1MP, 8, LT1L, 8, LT1H, 8, MT1L, 8, MT1H, 8, HT1L, 8, HT1H, 8, LRG1, 8, LHC1, 8, Offset (0x41F), F2CT, 8, F2MS, 8, F2FQ, 8, F2LD, 8, F2MD, 8, F2MP, 8, LT2L, 8, LT2H, 8, MT2L, 8, MT2H, 8, HT2L, 8, HT2H, 8, LRG2, 8, LHC2, 8, Offset (0x42F), F3CT, 8, F3MS, 8, F3FQ, 8, F3LD, 8, F3MD, 8, F3MP, 8, LT3L, 8, LT3H, 8, MT3L, 8, MT3H, 8, HT3L, 8, HT3H, 8, LRG3, 8, LHC3, 8, Offset (0xD06), MX07, 8, Offset (0xD0E), MX15, 8, MX16, 8, Offset (0xD14), MX21, 8, Offset (0xD1A), MX27, 8, Offset (0xD1F), MX32, 8, Offset (0xD2B), MX44, 8, Offset (0xD3A), MX59, 8, Offset (0xD65), M102, 8, M103, 8, Offset (0xDAE), M175, 8, M176, 8, Offset (0xDB3), M180, 8, Offset (0xDB5), M182, 8, Offset (0xE01), MS02, 8, MS03, 8, MS04, 8, Offset (0xE3F), MS40, 8, Offset (0xE80), , 2, ECES, 1 } OperationRegion (P1E0, SystemIO, P1EB, 0x04) Field (P1E0, ByteAcc, NoLock, Preserve) { , 14, PEWS, 1, WSTA, 1, , 14, PEWD, 1 } OperationRegion (SMBI, SystemIO, And (BMBS, 0xFFE0), 0x10) Field (SMBI, ByteAcc, NoLock, Preserve) { HSTS, 8, HSSA, 8, HCTR, 8, HCMD, 8, SLVA, 8, SDT0, 8, SDT1, 8 } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (0x1F, HSTS) Store (Arg0, SLVA) Store (Arg1, HCMD) Store (Arg2, SDT0) Store (0x48, HCTR) If (COMP ()) { Or (HSTS, 0x1F, HSTS) Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (0x1F, HSTS) Store (Or (Arg0, One), SLVA) Store (Arg1, HCMD) Store (0x48, HCTR) If (COMP ()) { Or (HSTS, 0x1F, HSTS) Return (SDT0) } Return (0xFFFF) } Method (STRT, 0, Serialized) { Store (0x4E20, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KEL () } } Else { Store (0x07D0, Local1) Store (Zero, Local0) While (Local1) { If (And (HSSA, One)) { Decrement (Local1) Stall (0x32) If (LEqual (Local1, Zero)) { Or (HSSA, 0x02, HSSA) } } Else { Return (Zero) } } } } Return (One) } Method (COMP, 0, Serialized) { Store (0x4E20, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KEL () } } Else { Return (One) } } Return (Zero) } Method (KEL, 0, Serialized) { Or (HCTR, 0x02, HCTR) Or (HSTS, 0x1F, HSTS) } } Device (LPC0) { Name (_ADR, 0x00140003) Mutex (PSMX, 0x00) Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IRQNoFlags () {13} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) Method (_CRS, 0, Serialized) { If (LAnd (^^^SMBS.HPAD, Ones)) { Return (BUF0) } Return (BUF1) } } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) Method (_CRS, 0, Serialized) { If (LAnd (^^^SMBS.HPAD, Ones)) { Return (BUF0) } Return (BUF1) } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Name (_PRW, Package (0x02) { 0x19, 0x03 }) Method (_PSW, 1, NotSerialized) { If (ECON) { Store (Arg0, KBWU) } } } Device (PS2M) { Method (_HID, 0, NotSerialized) { Return ("*SYN1E1E") } Name (_CID, Package (0x03) { EisaId ("SYN1E00"), EisaId ("SYN0002"), EisaId ("PNP0F13") }) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Name (_PRW, Package (0x02) { 0x19, 0x03 }) Method (_PSW, 1, NotSerialized) { If (ECON) { Store (Arg0, TPWU) } } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0xD0, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D6, // Range Minimum 0x04D6, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0550, // Range Minimum 0x0550, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x077A, // Range Minimum 0x077A, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C00, // Range Minimum 0x0C00, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0C14, // Range Minimum 0x0C14, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C50, // Range Minimum 0x0C50, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x0C6C, // Range Minimum 0x0C6C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C6F, // Range Minimum 0x0C6F, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0CD0, // Range Minimum 0x0CD0, // Range Maximum 0x01, // Alignment 0x0C, // Length ) IO (Decode16, 0x0380, // Range Minimum 0x0380, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Name (MSRC, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadWrite, 0xFFF00000, // Address Base 0x00100000, // Address Length _Y06) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._Y06._LEN, PSIZ) CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._Y06._BAS, PBAS) Store (ROMS, PSIZ) Subtract (ROMS, One, Local0) Subtract (Ones, Local0, PBAS) Return (MSRC) } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_UID, One) Method (_CRS, 0, NotSerialized) { Name (BFFR, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Return (BFFR) } OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 8, BATD, 16, Offset (0x40), SW2S, 1, , 2, ADPP, 1, TAPM, 1, Offset (0x41), WIN7, 1, , 3, RFLG, 1, PFN2, 1, WOLF, 1, PFLG, 1, , 4, BLKB, 1, , 1, BTON, 1, Offset (0x43), BBDA, 1, , 2, ACKY, 1, Offset (0x4E), LIDE, 1, , 2, TLDP, 1, Offset (0x52), LIDS, 1, , 1, , 1, TLID, 1, Offset (0x58), RTMP, 8, ECT1, 8, ECT2, 8, RG5B, 8, Offset (0x5F), SBVO, 1, Offset (0x69), , 6, BDSO, 1, Offset (0x70), BADC, 16, BFCC, 16, BADV, 16, BDVO, 8, Offset (0x7E), BATP, 8, Offset (0x82), MBST, 8, MCUR, 16, MBRM, 16, MBCV, 16, Offset (0x8D), , 5, MBFC, 1, Offset (0xA0), QBHK, 8, Offset (0xA2), QBBB, 8, Offset (0xA4), MBTS, 1, MBTF, 1, , 5, LLBW, 1, MBTC, 1, , 2, MBNH, 1, Offset (0xA6), MBDC, 8, Offset (0xAA), , 1, MMBC, 1, , 5, RCDS, 1, Offset (0xAD), SARS, 8, Offset (0xAF), MCER, 8, Offset (0xB2), RPM1, 8, RPM2, 8, OCPL, 4, OCPH, 4, Offset (0xBC), MCEA, 8, Offset (0xCF), DLYC, 8, EBPL, 1, Offset (0xD2), , 7, DLYE, 1, Offset (0xD6), DBPL, 8, Offset (0xDB), PSKB, 1, PSTP, 1, PSBA, 1, LANP, 1, , 1, UPWR, 1, Offset (0xE0), DLYT, 8, Offset (0xE2), EBRL, 8, Offset (0xE6), SFHK, 8, Offset (0xF4), SFAN, 8, Offset (0xF9), FTCF, 1 } Name (BATO, Zero) Name (BATN, Zero) Name (BATF, 0xC0) Method (_REG, 2, NotSerialized) { If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) { Store (One, ECON) Store (SW2S, PWRS) Store (PPCM, OCPH) W7RF () If (FNKY) { Store (One, ACKY) } Else { Store (Zero, ACKY) } } } Method (BPOL, 1, NotSerialized) { Store (Arg0, DBPL) Store (One, EBPL) } Method (BPOM, 0, NotSerialized) { Store (Zero, DBPL) Store (Zero, EBPL) } Name (_GPE, 0x05) Method (_Q09, 0, NotSerialized) { Notify (BAT0, 0x80) Notify (ACAD, 0x80) If (LEqual (^^^^WMID.WMI5, 0x05)) { ^^^^WMID.GWEV (0x05, Zero) Store (Zero, ^^^^WMID.WMI5) } } Method (_Q20, 0, NotSerialized) { CBCD () CPUS () GBAS () If (And (0x40, BATF)) { Notify (BAT0, 0x81) } If (And (0x02, BATF)) { Notify (ACAD, 0x80) } Notify (BAT0, 0x80) BPOL (0x05) } Method (GBAS, 0, NotSerialized) { Store (Zero, BATF) Store (MBTS, Local0) Store (SW2S, Local1) ShiftLeft (Local0, 0x06, Local0) ShiftLeft (Local1, One, Local1) If (LNotEqual (And (BATO, 0x40), Local0)) { Or (BATF, 0x40, BATF) } If (LNotEqual (And (BATO, 0x02), Local1)) { Or (BATF, 0x02, BATF) } Store (BATF, BATO) } Method (_Q21, 0, NotSerialized) { CBCD () Notify (ACAD, 0x80) Notify (BAT0, 0x80) CPUS () If (SW2S) { ^^^^WMID.GWEV (0x03, Zero) } } Method (_Q22, 0, NotSerialized) { Store (Zero, LLBW) Notify (BAT0, 0x80) } Method (_Q80, 0, NotSerialized) { Store ("_Q80 : Temperature Up/Down", Debug) Notify (\_TZ.THRM, 0x80) } Method (_Q8A, 0, NotSerialized) { If (LIDE) { Store ("_Q8A : LID Switch Event", Debug) Store (Zero, LIDE) Notify (LID, 0x80) ^^^ACEL.JACC () } } Mutex (VGMX, 0x00) Method (_Q0D, 0, NotSerialized) { Store ("_Q0D : Switch Display (Fn+F4)", Debug) Store (0x70, BCMD) BSMI (Zero) GNSD () If (IWVM) { Notify (^^^AGP.VGA, 0x80) } Else { If (LEqual (And (^^^PB2.VGA.DVID, 0xFFFF), 0xFFFF)) { Store (And (NSTE, One), ^^^AGP.VGA.LCDA) Store (ShiftRight (And (NSTE, 0x02), One), ^^^AGP.VGA.CRTA) Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^^AGP.VGA.TV0A) Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^^AGP.VGA.HDTV) Notify (^^^AGP.VGA, 0x80) } Else { Store (And (NSTE, One), ^^^PB2.VGA.LCDA) Store (ShiftRight (And (NSTE, 0x02), One), ^^^PB2.VGA.CRTA) Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^^PB2.VGA.TV0A) Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^^PB2.VGA.HDTV) Notify (^^^PB2.VGA, 0x80) } } } Method (_Q11, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { If (IWVM) { Notify (^^^AGP.VGA.LCD, 0x86) } Else { If (LEqual (And (^^^PB2.VGA.DVID, 0xFFFF), 0xFFFF)) { Notify (^^^AGP.VGA.LCD, 0x86) } Else { Notify (^^^PB2.VGA.LCD, 0x86) } } } Else { Store (One, BRTL) Store (0x74, BCMD) BSMI (Zero) } } Method (_Q10, 0, NotSerialized) { If (LEqual (TPOS, 0x40)) { If (IWVM) { Notify (^^^AGP.VGA.LCD, 0x87) } Else { If (LEqual (And (^^^PB2.VGA.DVID, 0xFFFF), 0xFFFF)) { Notify (^^^AGP.VGA.LCD, 0x87) } Else { Notify (^^^PB2.VGA.LCD, 0x87) } } } Else { Store (0x02, BRTL) Store (0x74, BCMD) BSMI (Zero) } } Method (_Q15, 0, NotSerialized) { Store ("!!! Wireless Button pressed !!!", Debug) If (BTLS) { Store (Zero, BTLS) Store (Zero, ^^^SMBS.G52O) Store (Zero, ^^^SMBS.G53O) Store (Zero, BTON) } Else { Store (One, BTLS) If (^^^^WMID.WMIF) { If (And (LEqual (BWLS, One), LEqual (And (BTWL, 0x02), 0x02))) { Store (One, ^^^SMBS.G53O) } } Else { Store (One, ^^^SMBS.G53O) } If (^^^^WMID.WMIF) { If (And (LEqual (WWLS, One), LEqual (And (BTWL, One), One))) { Store (One, ^^^SMBS.G52O) } } Else { Store (One, ^^^SMBS.G52O) } If (LEqual (WBTS, One)) { If (^^^^WMID.WMIF) { If (LAnd (LEqual (WWLS, One), LEqual (And (BTWL, One), One))) { Store (One, BTON) } Else { Store (Zero, BTON) } } Else { If (LEqual (And (BTWL, One), One)) { Store (One, BTON) } Else { Store (Zero, BTON) } } } Else { If (^^^^WMID.WMIF) { If (LAnd (LEqual (BWLS, One), LEqual (And (BTWL, 0x02), 0x02))) { Store (One, BTON) } Else { Store (Zero, BTON) } } Else { If (LEqual (And (BTWL, 0x02), 0x02)) { Store (One, BTON) } Else { Store (Zero, BTON) } } } } ^^^^WMID.GWEV (0x05, Zero) } Method (_Q16, 0, NotSerialized) { Store ("!!! DVD/Music Button pressed !!!", Debug) ^^^^WMID.GWEV (0x04, Zero) } Method (_Q8E, 0, NotSerialized) { Store ("!!! Down CPU speed. !!!", Debug) Store (\_PR.C000._PPC, Local0) Store (PPCM, Local1) If (LLess (Local0, Local1)) { Add (Local0, One, Local0) } Store (Local0, \_PR.C000._PPC) Notify (\_PR.C000, 0x80) If (LGreater (ECPU, One)) { Store (Local0, \_PR.C001._PPC) Notify (\_PR.C001, 0x80) } If (LGreater (ECPU, 0x02)) { Store (Local0, \_PR.C002._PPC) Notify (\_PR.C002, 0x80) } If (LGreater (ECPU, 0x03)) { Store (Local0, \_PR.C003._PPC) Notify (\_PR.C003, 0x80) } Store (Local0, OCPL) } Method (_Q8F, 0, NotSerialized) { Store ("!!! Up CPU speed !!!", Debug) Store (\_PR.C000._PPC, Local0) If (Local0) { Subtract (Local0, One, Local0) Store (Local0, \_PR.C000._PPC) Notify (\_PR.C000, 0x80) If (LGreater (ECPU, One)) { Store (Local0, \_PR.C001._PPC) Notify (\_PR.C001, 0x80) } If (LGreater (ECPU, 0x02)) { Store (Local0, \_PR.C002._PPC) Notify (\_PR.C002, 0x80) } If (LGreater (ECPU, 0x03)) { Store (Local0, \_PR.C003._PPC) Notify (\_PR.C003, 0x80) } } Store (Local0, OCPL) } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), SMW0, 16 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), SMB0, 8 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), FLD0, 64 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), FLD1, 128 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), FLD2, 192 } Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), FLD3, 256 } Mutex (MUT0, 0x00) Method (SMRD, 4, NotSerialized) { If (LNot (ECON)) { Return (0xFF) } If (LNotEqual (Arg0, 0x07)) { If (LNotEqual (Arg0, 0x09)) { If (LNotEqual (Arg0, 0x0B)) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, One)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) Increment (Local3) If (LEqual (Local3, 0x32)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) } } If (LEqual (Local1, 0x80)) { Store (Zero, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Else { If (LEqual (Arg0, 0x07)) { Store (SMB0, Arg3) } If (LEqual (Arg0, 0x09)) { Store (SMW0, Arg3) } If (LEqual (Arg0, 0x0B)) { Store (BCNT, Local3) ShiftRight (0x0100, 0x03, Local2) If (LGreater (Local3, Local2)) { Store (Local2, Local3) } If (LLess (Local3, 0x09)) { Store (FLD0, Local2) } Else { If (LLess (Local3, 0x11)) { Store (FLD1, Local2) } Else { If (LLess (Local3, 0x19)) { Store (FLD2, Local2) } Else { Store (FLD3, Local2) } } } Increment (Local3) Store (Buffer (Local3) {}, Local4) Decrement (Local3) Store (Zero, Local5) While (LGreater (Local3, Local5)) { GBFE (Local2, Local5, RefOf (Local6)) PBFE (Local4, Local5, Local6) Increment (Local5) } PBFE (Local4, Local5, Zero) Store (Local4, Arg3) } } Release (MUT0) Return (Local0) } Method (SMWR, 4, NotSerialized) { If (LNot (ECON)) { Return (0xFF) } If (LNotEqual (Arg0, 0x06)) { If (LNotEqual (Arg0, 0x08)) { If (LNotEqual (Arg0, 0x0A)) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, One)) { If (LEqual (Arg0, 0x06)) { Store (Arg3, SMB0) } If (LEqual (Arg0, 0x08)) { Store (Arg3, SMW0) } If (LEqual (Arg0, 0x0A)) { Store (Arg3, SMD0) } And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) Increment (Local3) If (LEqual (Local3, 0x32)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) Store (Zero, Local3) } } If (LEqual (Local1, 0x80)) { Store (Zero, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Release (MUT0) Return (Local0) } Method (GSHK, 0, Serialized) { If (ECON) { Store (SFHK, Local0) } Return (Local0) } Method (SSHK, 1, Serialized) { If (ECON) { Store (Arg0, SFHK) } } Name (DISS, Buffer (0x0A) { /* 0000 */ 0x01, 0x02, 0x10, 0x04, 0x20, 0x03, 0x11, 0x05, /* 0008 */ 0x21, 0x01 }) Name (SWII, 0x0A) Method (GNSD, 0, Serialized) { Store (Zero, Local0) Store (CSTE, Local1) Store (ADDL, Local2) While (LLess (Local0, SWII)) { Store (DerefOf (Index (DISS, Local0)), Local3) If (LEqual (Local3, Local1)) { While (LLess (Local0, SWII)) { Store (Local0, Local4) Increment (Local4) Store (DerefOf (Index (DISS, Local4)), Local5) If (LEqual (And (Local2, Local5), Local5)) { Store (Local5, NSTE) Store (SWII, Local0) } Else { Increment (Local0) } } } Else { Increment (Local0) } } } Method (CPUS, 0, NotSerialized) { Store (Zero, Local0) Store (Local0, \_PR.C000._PPC) Notify (\_PR.C000, 0x80) If (LGreater (ECPU, One)) { Store (Local0, \_PR.C001._PPC) Notify (\_PR.C001, 0x80) } If (LGreater (ECPU, 0x02)) { Store (Local0, \_PR.C002._PPC) Notify (\_PR.C002, 0x80) } If (LGreater (ECPU, 0x03)) { Store (Local0, \_PR.C003._PPC) Notify (\_PR.C003, 0x80) } } Method (KTWU, 0, NotSerialized) { If (ECON) { Store (KBWU, PSKB) Store (TPWU, PSTP) } Else { Store (Zero, PSKB) Store (Zero, PSTP) } } Method (W7RF, 0, NotSerialized) { If (ECON) { Store (Zero, WIN7) Store (Zero, RFLG) If (LEqual (OSTB, 0x50)) { Store (One, WIN7) } If (LEqual (OSTB, 0x80)) { Store (One, RFLG) } If (IWVM) { Store (Zero, WIN7) } } Else { Store (Zero, WIN7) Store (Zero, RFLG) } } Method (CBCD, 0, NotSerialized) { If (ECON) { Store (MBDC, Local0) And (Local0, 0xE4, Local0) Store (Local0, MBDC) } } } OperationRegion (LCLM, SystemIO, 0x0C50, 0x03) Field (LCLM, ByteAcc, NoLock, Preserve) { CLMI, 8, CLMD, 8, CLGP, 8 } IndexField (CLMI, CLMD, ByteAcc, NoLock, Preserve) { IDRG, 8, Offset (0x02), TSTS, 8, TINT, 8, Offset (0x12), I2CC, 8, GPIO, 8 } Method (RGPM, 0, NotSerialized) { Store (GPIO, Local0) And (Local0, 0xFFFFFF3F, Local0) Store (Local0, GPIO) Store (CLGP, Local1) Return (Local1) } } Device (P2P) { Name (_ADR, 0x00140004) Method (_PRW, 0, NotSerialized) { If (LEqual (WKPM, One)) { Return (GPRW (0x04, 0x05)) } Else { Return (GPRW (0x04, Zero)) } } OperationRegion (PCPC, PCI_Config, Zero, 0xFF) Field (PCPC, ByteAcc, NoLock, Preserve) { Offset (0x04), PCMD, 8, Offset (0x1C), IOW1, 8, IOW2, 8, Offset (0x48), PR48, 8, PR49, 8, PR4A, 8, PR4B, 8 } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (PIC) } Else { Return (APIC) } } Name (PIC, Package (0x0E) { Package (0x04) { 0x0004FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0004FFFF, One, LNKF, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0005FFFF, One, LNKF, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKG, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKH, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKF, Zero }, Package (0x04) { 0x0006FFFF, One, LNKG, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKH, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0007FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0007FFFF, One, LNKH, Zero }, Package (0x04) { 0x0007FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0007FFFF, 0x03, LNKF, Zero } }) Name (APIC, Package (0x0E) { Package (0x04) { 0x0004FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x16 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x17 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x16 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0007FFFF, One, Zero, 0x17 }, Package (0x04) { 0x0007FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0007FFFF, 0x03, Zero, 0x15 } }) } Device (SATA) { Name (_ADR, 0x00110000) } Device (IDE) { Name (_ADR, 0x00140001) Name (UDMT, Package (0x08) { 0x78, 0x5A, 0x3C, 0x2D, 0x1E, 0x14, Zero, Zero }) Name (PIOT, Package (0x06) { 0x0258, 0x0186, 0x010E, 0xB4, 0x78, Zero }) Name (PITR, Package (0x06) { 0x99, 0x47, 0x34, 0x22, 0x20, 0x99 }) Name (MDMT, Package (0x04) { 0x01E0, 0x96, 0x78, Zero }) Name (MDTR, Package (0x04) { 0x77, 0x21, 0x20, 0xFF }) OperationRegion (IDE, PCI_Config, 0x40, 0x20) Field (IDE, WordAcc, NoLock, Preserve) { PPIT, 16, SPIT, 16, PMDT, 16, SMDT, 16, PPIC, 8, SPIC, 8, PPIM, 8, SPIM, 8, Offset (0x14), PUDC, 2, SUDC, 2, Offset (0x16), PUDM, 8, SUDM, 8 } Method (GETT, 1, NotSerialized) { Store (And (Arg0, 0x0F), Local0) Store (ShiftRight (Arg0, 0x04), Local1) Return (Multiply (0x1E, Add (Add (Local0, One), Add (Local1, One)))) } Method (GTM, 1, NotSerialized) { CreateByteField (Arg0, Zero, PIT1) CreateByteField (Arg0, One, PIT0) CreateByteField (Arg0, 0x02, MDT1) CreateByteField (Arg0, 0x03, MDT0) CreateByteField (Arg0, 0x04, PICX) CreateByteField (Arg0, 0x05, UDCX) CreateByteField (Arg0, 0x06, UDMX) Name (BUF, Buffer (0x14) { /* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (BUF, Zero, PIO0) CreateDWordField (BUF, 0x04, DMA0) CreateDWordField (BUF, 0x08, PIO1) CreateDWordField (BUF, 0x0C, DMA1) CreateDWordField (BUF, 0x10, FLAG) If (And (PICX, One)) { Return (BUF) } Store (GETT (PIT0), PIO0) Store (GETT (PIT1), PIO1) If (And (UDCX, One)) { Or (FLAG, One, FLAG) Store (DerefOf (Index (UDMT, And (UDMX, 0x0F))), DMA0) } Else { If (LNotEqual (MDT0, 0xFF)) { Store (GETT (MDT0), DMA0) } } If (And (UDCX, 0x02)) { Or (FLAG, 0x04, FLAG) Store (DerefOf (Index (UDMT, ShiftRight (UDMX, 0x04))), DMA1) } Else { If (LNotEqual (MDT1, 0xFF)) { Store (GETT (MDT1), DMA1) } } Or (FLAG, 0x1A, FLAG) Return (BUF) } Method (STM, 3, NotSerialized) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateByteField (BUF, Zero, PIT1) CreateByteField (BUF, One, PIT0) CreateByteField (BUF, 0x02, MDT1) CreateByteField (BUF, 0x03, MDT0) CreateByteField (BUF, 0x04, PIMX) CreateByteField (BUF, 0x05, UDCX) CreateByteField (BUF, 0x06, UDMX) Store (Match (PIOT, MLE, PIO0, MTR, Zero, Zero), Local0) Divide (Local0, 0x05, Local0) Store (Match (PIOT, MLE, PIO1, MTR, Zero, Zero), Local1) Divide (Local1, 0x05, Local1) Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX) Store (DerefOf (Index (PITR, Local0)), PIT0) Store (DerefOf (Index (PITR, Local1)), PIT1) If (And (FLAG, One)) { Store (Match (UDMT, MLE, DMA0, MTR, Zero, Zero), Local0) Divide (Local0, 0x06, Local0) Or (UDMX, Local0, UDMX) Or (UDCX, One, UDCX) } Else { If (LNotEqual (DMA0, Ones)) { Store (Match (MDMT, MLE, DMA0, MTR, Zero, Zero), Local0) Store (DerefOf (Index (MDTR, Local0)), MDT0) } } If (And (FLAG, 0x04)) { Store (Match (UDMT, MLE, DMA1, MTR, Zero, Zero), Local0) Divide (Local0, 0x06, Local0) Or (UDMX, ShiftLeft (Local0, 0x04), UDMX) Or (UDCX, 0x02, UDCX) } Else { If (LNotEqual (DMA1, Ones)) { Store (Match (MDMT, MLE, DMA1, MTR, Zero, Zero), Local0) Store (DerefOf (Index (MDTR, Local0)), MDT1) } } Return (BUF) } Method (GTF, 2, NotSerialized) { CreateByteField (Arg1, Zero, MDT1) CreateByteField (Arg1, One, MDT0) CreateByteField (Arg1, 0x02, PIMX) CreateByteField (Arg1, 0x03, UDCX) CreateByteField (Arg1, 0x04, UDMX) If (LEqual (Arg0, 0xA0)) { Store (And (PIMX, 0x0F), Local0) Store (MDT0, Local1) And (UDCX, One, Local2) Store (And (UDMX, 0x0F), Local3) } Else { Store (ShiftRight (PIMX, 0x04), Local0) Store (MDT1, Local1) And (UDCX, 0x02, Local2) Store (ShiftRight (UDMX, 0x04), Local3) } Name (BUF, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF }) CreateByteField (BUF, One, PMOD) CreateByteField (BUF, 0x08, DMOD) CreateByteField (BUF, 0x05, CMDA) CreateByteField (BUF, 0x0C, CMDB) Store (Arg0, CMDA) Store (Arg0, CMDB) Or (Local0, 0x08, PMOD) If (Local2) { Or (Local3, 0x40, DMOD) } Else { If (LNotEqual (Local1, 0xFF)) { Store (Match (MDMT, MLE, GETT (Local1), MTR, Zero, Zero), Local4) If (LLess (Local4, 0x03)) { Or (0x20, Local4, DMOD) } } } Return (BUF) } Device (PRID) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (PPIT, VPIT) Store (PMDT, VMDT) Store (PPIC, VPIC) Store (PUDC, VUDC) Store (PUDM, VUDM) Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (STM (Arg0, Arg1, Arg2), BUF) Store (VPIT, PPIT) Store (VMDT, PMDT) Store (VPIM, PPIM) Store (VUDC, PUDC) Store (VUDM, PUDM) } Device (P_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (PMDT, VMDT) Store (PPIM, VPIM) Store (PUDC, VUDC) Store (PUDM, VUDM) Return (GTF (0xA0, BUF)) } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (PMDT, VMDT) Store (PPIM, VPIM) Store (PUDC, VUDC) Store (PUDM, VUDM) Return (GTF (0xB0, BUF)) } } } Device (SECD) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (SPIT, VPIT) Store (SMDT, VMDT) Store (SPIC, VPIC) Store (SUDC, VUDC) Store (SUDM, VUDM) Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (STM (Arg0, Arg1, Arg2), BUF) Store (VPIT, SPIT) Store (VMDT, SMDT) Store (VPIM, SPIM) Store (VUDC, SUDC) Store (VUDM, SUDM) } Device (S_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (SMDT, VMDT) Store (SPIM, VPIM) Store (SUDC, VUDC) Store (SUDM, VUDM) Return (GTF (0xA0, BUF)) } } Device (S_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (SMDT, VMDT) Store (SPIM, VPIM) Store (SUDC, VUDC) Store (SUDM, VUDM) Return (GTF (0xB0, BUF)) } } } } Device (ACEL) { Name (_HID, EisaId ("HPQ0004")) Name (DEVP, 0xFF) Name (CURS, 0xFF) Method (_INI, 0, NotSerialized) { INIT () } Name (_CRS, ResourceTemplate () { Interrupt (ResourceConsumer, Edge, ActiveLow, Exclusive, ,, ) { 0x00000016, } }) Method (_STA, 0, NotSerialized) { If (LEqual (DEVP, 0xFF)) { Store (0x0F, Local0) Store (^^SMBS.SRDB (0x39, 0x20), Local1) If (LEqual (Local1, 0xFFFF)) { Store (Zero, Local0) } Store (Local0, DEVP) } Return (DEVP) } Method (INIT, 0, Serialized) { If (_STA ()) { ^^SMBS.SWRB (0x38, 0x20, 0x47) ^^SMBS.SWRB (0x38, 0x21, 0x0A) ^^SMBS.SWRB (0x38, 0x32, 0x14) ^^SMBS.SWRB (0x38, 0x33, 0x02) ^^SMBS.SWRB (0x38, 0x30, 0x95) Store (^^SMBS.SRDB (0x39, 0x23), Local0) ^^SMBS.SWRB (0x38, 0x36, 0x11) ^^SMBS.SWRB (0x38, 0x37, One) ^^SMBS.SWRB (0x38, 0x34, 0x2A) Store (0xFF, CURS) JACC () } } Method (JACC, 0, Serialized) { If (_STA ()) { If (ECON) { Store (^^LPC0.EC0.SW2S, Local0) } Else { Store (PWRS, Local0) } If (LAnd (LEqual (^^^LID._LID (), Zero), LEqual (Local0, Zero))) { If (LNotEqual (CURS, One)) { Store (One, CURS) ^^SMBS.SWRB (0x38, 0x22, 0x82) } } Else { If (LNotEqual (CURS, Zero)) { Store (Zero, CURS) ^^SMBS.SWRB (0x38, 0x22, 0x81) } } } } Method (CLRI, 0, Serialized) { Store (Zero, Local2) If (LEqual (^^LPC0.EC0.SW2S, Zero)) { If (LEqual (^^^BAT0._STA (), 0x1F)) { If (ECON) { If (LLessEqual (^^LPC0.EC0.MBRM, 0x96)) { Store (One, Local2) } } } } Return (Local2) } Method (ALRD, 1, Serialized) { Store (^^SMBS.SRDB (0x39, Arg0), Local0) Return (Local0) } Method (ALWR, 2, Serialized) { Store (^^SMBS.SWRB (0x38, Arg0, Arg1), Local0) Return (Local0) } Method (ALED, 1, Serialized) { If (Arg0) { Store (One, ^^SMBS.G55O) } Else { Store (Zero, ^^SMBS.G55O) } } Method (ALID, 1, Serialized) { Return (^^^LID._LID ()) } Method (ADSN, 0, Serialized) { Store (Zero, Local0) Return (Local0) } } } OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02) Field (PIRQ, ByteAcc, NoLock, Preserve) { PIDX, 8, PDAT, 8 } IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, Offset (0x10), PIRS, 8, Offset (0x13), HDAD, 8, Offset (0x15), GEC, 8, Offset (0x30), USB1, 8, USB2, 8, USB3, 8, USB4, 8, USB5, 8, USB6, 8, USB7, 8, Offset (0x40), IDE, 8, SATA, 8, Offset (0x50), GPP0, 8, GPP1, 8, GPP2, 8, GPP3, 8 } OperationRegion (KBDD, SystemIO, 0x64, One) Field (KBDD, ByteAcc, NoLock, Preserve) { PD64, 8 } Method (DSPI, 0, NotSerialized) { INTA (0x1F) INTB (0x1F) INTC (0x1F) INTD (0x1F) Store (PD64, Local1) Store (0x1F, PIRE) Store (0x1F, PIRF) Store (0x1F, PIRG) Store (0x1F, PIRH) } Method (INTA, 1, NotSerialized) { Store (Arg0, PIRA) Store (Arg0, HDAD) Store (Arg0, GEC) Store (Arg0, GPP0) Store (Arg0, GPP0) } Method (INTB, 1, NotSerialized) { Store (Arg0, PIRB) Store (Arg0, USB2) Store (Arg0, USB4) Store (Arg0, USB6) Store (Arg0, GPP1) Store (Arg0, IDE) } Method (INTC, 1, NotSerialized) { Store (Arg0, PIRC) Store (Arg0, USB1) Store (Arg0, USB3) Store (Arg0, USB5) Store (Arg0, USB7) Store (Arg0, GPP2) } Method (INTD, 1, NotSerialized) { Store (Arg0, PIRD) Store (Arg0, SATA) Store (Arg0, GPP3) } Name (PRS1, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,10,11,12,14,15} }) Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {15} }) Name (IPRA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Name (IPRB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Name (IPRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Name (IPRD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { If (PIRA) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { INTA (0x1F) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRA, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (PIRB) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { INTB (0x1F) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRB, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (PIRC) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { INTC (0x1F) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRC, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (PIRD) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { INTD (0x1F) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRD, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (PIRE) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { Store (0x1F, PIRE) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRE, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (PIRF) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { Store (0x1F, PIRF) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRF, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (PIRG) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { Store (0x1F, PIRG) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRG, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (PIRH) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (PRS1) } Method (_DIS, 0, NotSerialized) { Store (0x1F, PIRH) } Method (_CRS, 0, NotSerialized) { CreateWordField (BUFA, One, IRQX) ShiftLeft (One, PIRH, IRQX) Return (BUFA) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Decrement (Local0) Store (Local0, PIRH) } } Method (GSMI, 1, NotSerialized) { Store (Arg0, APMD) Store (0xE4, APMC) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) } Method (S80H, 1, NotSerialized) { Store (Arg0, APMD) Store (0xE5, APMC) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) } Method (BSMI, 1, NotSerialized) { Store (Arg0, APMD) Store (0xBE, APMC) Stall (0xFF) } Method (WSMI, 1, NotSerialized) { Store (Arg0, APMD) Store (0xC0, APMC) Stall (0xFF) } Method (HSMI, 1, NotSerialized) { Store (Arg0, APMD) Store (0xD5, APMC) Stall (0xFF) } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { _SB }) Name (ACWT, Zero) Method (_PSR, 0, NotSerialized) { If (ECON) { Store (^^PCI0.LPC0.EC0.SW2S, Local0) If (Local0) { If (LEqual (^^PCI0.LPC0.EC0.SARS, One)) { ^^PCI0.AGP.VGA.AFN4 (One) } } Else { ^^PCI0.AGP.VGA.AFN4 (0x02) } } Else { Store (One, Local0) If (LEqual (^^PCI0.LPC0.EC0.SARS, One)) { ^^PCI0.AGP.VGA.AFN4 (One) } } Return (Local0) } } Name (FBAS, Zero) Method (VTOB, 1, NotSerialized) { Store (One, Local0) ShiftLeft (Local0, Arg0, Local0) Return (Local0) } Method (BTOV, 1, NotSerialized) { ShiftRight (Arg0, One, Local0) Store (Zero, Local1) While (Local0) { Increment (Local1) ShiftRight (Local0, One, Local0) } Return (Local1) } Method (MKWD, 2, NotSerialized) { If (And (Arg1, 0x80)) { Store (0xFFFF0000, Local0) } Else { Store (Zero, Local0) } Or (Local0, Arg0, Local0) Or (Local0, ShiftLeft (Arg1, 0x08), Local0) Return (Local0) } Method (POSW, 1, NotSerialized) { If (And (Arg0, 0x8000)) { If (LEqual (Arg0, 0xFFFF)) { Return (Ones) } Else { Not (Arg0, Local0) Increment (Local0) And (Local0, 0xFFFF, Local0) Return (Local0) } } Else { Return (Arg0) } } Method (GBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (TIDX, Arg2) } Method (PBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (Arg2, TIDX) } Method (ITOS, 1, NotSerialized) { Store (Buffer (0x05) { 0x20, 0x20, 0x20, 0x20, 0x20 }, Local0) Store (Buffer (0x11) { "0123456789ABCDEF" }, Local7) Store (0x05, Local1) Store (Zero, Local2) Store (Zero, Local3) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) GBFE (Local7, Local4, RefOf (Local5)) PBFE (Local0, Local2, Local5) Increment (Local2) } Return (Local0) } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_PCL, Package (0x01) { _SB }) Name (PBIF, Package (0x0D) { One, Ones, Ones, One, Ones, 0xFA, 0x96, 0x0A, 0x19, "BAT1", " ", " ", " " }) Name (PBST, Package (0x04) { Zero, Ones, Ones, 0x2710 }) Name (BAST, Zero) Name (B1ST, 0x0F) Name (B1WT, Zero) Method (_STA, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPC0.EC0.MBTS) { Store (0x1F, B1ST) } Else { Store (0x0F, B1ST) } } Else { Store (0x0F, B1ST) } Return (B1ST) } Method (_BIF, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPC0.EC0.MBTS) { UPBI () } Else { IVBI () } } Else { IVBI () } Return (PBIF) } Method (_BST, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPC0.EC0.MBTS) { UPBS () } Else { IVBS () } } Else { IVBS () } Return (PBST) } Method (UPBI, 0, NotSerialized) { Store (0x07, Local0) Store (0x0C, Local1) Store (0x09, Local3) If (^^PCI0.LPC0.EC0.MMBC) { Store (0x05, Local0) Store (0x0A, Local1) Store (0x07, Local3) } If (LNot (^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x10, RefOf (Local5)))) { If (LAnd (Local5, LNot (And (Local5, 0x8000)))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) Store (Local5, Index (PBIF, 0x02)) Divide (Local5, 0x64, , Local2) Add (Local2, One, Local2) Multiply (Local2, Local1, Local4) Add (Local4, 0x02, Index (PBIF, 0x05)) Multiply (Local2, Local0, Local4) Add (Local4, 0x02, Index (PBIF, 0x06)) Multiply (Local2, Local3, Local4) Add (Local4, 0x02, FBAS) } } If (^^PCI0.LPC0.EC0.MBNH) { Store ("OANI$", Index (PBIF, 0x09)) Store ("NiMH", Index (PBIF, 0x0B)) } Else { Store ("LION", Index (PBIF, 0x0B)) } Store (Local5, Index (PBIF, One)) Store (^^PCI0.LPC0.EC0.BADV, Index (PBIF, 0x04)) Store ("Primary", Index (PBIF, 0x09)) UPUM () Store (One, Index (PBIF, Zero)) } Method (UPUM, 0, NotSerialized) { Store (Buffer (0x0A) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00 }, Local0) Store (Buffer (0x05) { 0x36, 0x35, 0x35, 0x33, 0x35 }, Local6) Store (Buffer (0x05) { 0x31, 0x32, 0x33, 0x32, 0x31 }, Local7) Store ("Hewlett-Packard", Index (PBIF, 0x0C)) } Method (UPBS, 0, NotSerialized) { If (LEqual (CKPT (One, 0x02, Zero, 0x03), One)) { Store (^^PCI0.LPC0.EC0.MCUR, Local5) Store (POSW (Local5), Index (PBST, One)) } Store (^^PCI0.LPC0.EC0.MBRM, Local5) If (LNot (And (Local5, 0x8000))) { ShiftRight (Local5, 0x05, Local5) ShiftLeft (Local5, 0x05, Local5) If (LNotEqual (Local5, DerefOf (Index (PBST, 0x02)))) { Store (Local5, Index (PBST, 0x02)) } } If (LAnd (LEqual (^^PCI0.LPC0.EC0.LLBW, One), LNot (^^PCI0.LPC0.EC0.SW2S))) { Store (FBAS, Index (PBST, 0x02)) } Store (^^PCI0.LPC0.EC0.MBCV, Index (PBST, 0x03)) Store (^^PCI0.LPC0.EC0.MBST, Index (PBST, Zero)) } Method (IVBI, 0, NotSerialized) { Store (Ones, Index (PBIF, One)) Store (Ones, Index (PBIF, 0x02)) Store (Ones, Index (PBIF, 0x04)) Store ("Bad", Index (PBIF, 0x09)) Store (" ", Index (PBIF, 0x0A)) Store ("Bad", Index (PBIF, 0x0B)) Store ("Bad", Index (PBIF, 0x0C)) } Method (IVBS, 0, NotSerialized) { Store (Zero, Index (PBST, Zero)) Store (Ones, Index (PBST, One)) Store (Ones, Index (PBST, 0x02)) Store (0x2710, Index (PBST, 0x03)) } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { If (ECON) { If (^^PCI0.LPC0.EC0.LIDS) { Store (Zero, Local0) Store (One, ^^PCI0.SMBS.G56O) } Else { Store (One, Local0) Store (Zero, ^^PCI0.SMBS.G56O) } } Else { Store (One, Local0) } Return (Local0) } } Device (QLB0) { Name (_HID, "HPQ0007") Method (_STA, 0, NotSerialized) { Return (Zero) } } Device (WMID) { Name (WCDS, Package (0x32) { 0x04, 0x04, 0x04, Zero, 0x04, 0x04, Zero, Zero, 0x04, 0x04, 0x0C, Zero, Zero, Zero, Zero, 0x06, Zero, Zero, 0x04, 0x04, 0x04, Zero, 0x04, 0x80, 0x04, 0x04, 0x04, Zero, 0x04, 0x04, 0x04, Zero, Zero, Zero, Zero, 0x04, Zero, Zero, 0x04, Zero, 0x04, 0x04, 0x04, Zero, Zero, Zero, Zero, Zero, Zero, Zero }) Method (CSTA, 0, NotSerialized) { Store (Package (0x03) { Zero, 0x04, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }, Local0) Store (One, IAOR) Store (0xC2, APMC) If (LEqual (IAOR, One)) { Store (0x1C, Index (Local0, Zero)) } Else { Store (IAOR, Index (Local0, Zero)) Store (And (CDAT, 0xFF), Index (DerefOf (Index (Local0, 0x02 )), Zero)) } Return (Local0) } Method (CACT, 1, NotSerialized) { Store (Package (0x02) { Zero, Zero }, Local0) Store (0x02, IAOR) Store (Arg0, CDAT) Store (0xC2, APMC) If (LEqual (IAOR, 0x02)) { Store (0x1C, Index (Local0, Zero)) } Else { Store (IAOR, Index (Local0, Zero)) } Store (Zero, CDAT) Return (Local0) } Method (CDAC, 1, NotSerialized) { Store (Package (0x02) { Zero, Zero }, Local0) Store (0x03, IAOR) Store (Arg0, CDAT) Store (0xC2, APMC) If (LEqual (IAOR, 0x03)) { Store (0x1C, Index (Local0, Zero)) } Else { Store (IAOR, Index (Local0, Zero)) } Store (Zero, CDAT) Return (Local0) } Method (HWMC, 2, NotSerialized) { CreateDWordField (Arg1, Zero, SGIN) CreateDWordField (Arg1, 0x04, COMD) CreateDWordField (Arg1, 0x08, CMDT) CreateDWordField (Arg1, 0x0C, DSZI) CreateByteField (Arg1, 0x10, D008) CreateDWordField (Arg1, 0x10, D032) CreateField (Arg1, 0x10, 0x0400, D128) If (LEqual (Arg0, One)) { Store (Zero, Local0) } If (LEqual (Arg0, 0x02)) { Store (0x04, Local0) } If (LEqual (Arg0, 0x03)) { Store (0x80, Local0) } If (LEqual (Arg0, 0x04)) { Store (0x0400, Local0) } If (LEqual (Arg0, 0x05)) { Store (0x1000, Local0) } Store (Buffer (Add (0x08, Local0)) {}, Local1) CreateDWordField (Local1, Zero, SIOU) CreateDWordField (Local1, 0x04, RETC) Store (DSZI, Local5) If (LGreater (DSZI, 0x02F0)) { Store (0x02F0, Local5) } CreateField (Arg1, Zero, Multiply (Add (Local5, 0x10), 0x08), DAIN) Store (0x4C494146, SIOU) Store (0x02, RETC) If (LEqual (SGIN, 0x55434553)) { Store (0x03, RETC) If (LEqual (COMD, One)) { Store (0x04, RETC) If (LEqual (CMDT, 0x10)) { Store (GWSD (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x07)) { If (DSZI) { Store (DerefOf (Index (Arg1, 0x10)), Local3) Store (GBIF (Local3), Local2) Store (Zero, RETC) } Else { Store (0x05, RETC) } } If (LEqual (CMDT, One)) { Store (GDST (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x08)) { Store (GBBT (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x09)) { Store (GHKS (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x0A)) { Store (GHKF (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x0C)) { Store (GBBV (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x04)) { Store (GDKS (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x13)) { Store (GBBS (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x0F)) { Store (GSAS (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x1B)) { Store (GWDI (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x1D)) { Store (GSDC (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x1E)) { Store (GBUS (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x1F)) { Store (GBCC (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x0D)) { Store (GFRC (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x29)) { Store (GFCS (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x2B)) { Store (GBCO (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x2A)) { Store (GPES (), Local2) Store (Zero, RETC) } } If (LEqual (COMD, 0x02)) { Store (0x04, RETC) If (LAnd (LGreater (CMDT, Zero), LLessEqual (CMDT, 0x32))) { If (LLess (DSZI, DerefOf (Index (WCDS, Subtract (CMDT, One) )))) { Store (0x05, RETC) } Else { CreateDWordField (Arg1, 0x10, DDWD) If (LEqual (CMDT, One)) { Store (SDST (DDWD), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x09)) { Store (SHKS (DDWD), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x0A)) { Store (SHKF (DDWD), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x10)) { If (LEqual (CKPT (One, 0x02, Zero, 0x03), One)) { If (LNotEqual (DSZI, 0x08)) { Store (0x05, RETC) } Else { CreateField (Arg1, 0x80, 0x40, DB08) Store (SWSD (DB08), Local2) Store (Zero, RETC) } } Else { If (LNotEqual (DSZI, DerefOf (Index (WCDS, Subtract (CMDT, One ))))) { Store (0x05, RETC) } Else { CreateField (Arg1, 0x80, 0x30, DB06) Store (SWSD (DB06), Local2) Store (Zero, RETC) } } } If (LEqual (CMDT, 0x13)) { Store (SBBS (DDWD), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x1B)) { CreateByteField (Arg1, 0x10, SWD0) CreateByteField (Arg1, 0x11, SWD1) CreateByteField (Arg1, 0x12, SWD2) CreateByteField (Arg1, 0x13, SWD3) Store (SWDS (SWD0, SWD1, SWD2, SWD3), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x1D)) { If (LNotEqual (DSZI, DerefOf (Index (WCDS, Subtract (CMDT, One ))))) { Store (0x05, RETC) } Else { CreateByteField (Arg1, 0x10, SDC0) CreateByteField (Arg1, 0x11, SDC1) CreateByteField (Arg1, 0x12, SDC2) CreateByteField (Arg1, 0x13, SDC3) Store (SSDC (SDC0, SDC1, SDC2, SDC3), Local2) Store (Zero, RETC) } } If (LEqual (CMDT, 0x1E)) { Store (SBUS (DDWD), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x1F)) { If (LNotEqual (DSZI, DerefOf (Index (WCDS, Subtract (CMDT, One ))))) { Store (0x05, RETC) } Else { CreateByteField (Arg1, 0x10, BCC0) CreateByteField (Arg1, 0x11, BCC1) CreateByteField (Arg1, 0x12, BCC2) CreateByteField (Arg1, 0x13, BCC3) Store (SBCC (BCC0, BCC1, BCC2, BCC3), Local2) Store (Zero, RETC) } } If (LEqual (CMDT, 0x29)) { Store (SFCS (DDWD), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x2A)) { Store (SPES (DDWD), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x2B)) { If (LNotEqual (DSZI, DerefOf (Index (WCDS, Subtract (CMDT, One ))))) { Store (0x05, RETC) } Else { CreateByteField (Arg1, 0x10, BCO0) CreateByteField (Arg1, 0x11, BCO1) CreateByteField (Arg1, 0x12, BCO2) CreateByteField (Arg1, 0x13, BCO3) Store (SBCO (BCO0, BCO1, BCO2, BCO3), Local2) Store (Zero, RETC) } } } } } If (LEqual (COMD, 0x00020002)) { If (LEqual (CMDT, One)) { Store (CSTA (), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x02)) { Store (CACT (DAIN), Local2) Store (Zero, RETC) } If (LEqual (CMDT, 0x03)) { Store (CDAC (DAIN), Local2) Store (Zero, RETC) } } } If (LEqual (RETC, Zero)) { Store (DerefOf (Index (Local2, Zero)), RETC) If (LEqual (RETC, Zero)) { If (LLessEqual (DerefOf (Index (Local2, One)), Local0)) { Store (Zero, Local0) While (LLess (Local0, DerefOf (Index (Local2, One)))) { Store (DerefOf (Index (DerefOf (Index (Local2, 0x02)), Local0)), Index (Local1, Add (Local0, 0x08))) Increment (Local0) } Store (0x53534150, SIOU) } Else { Store (0x05, RETC) } } } Return (Local1) } Name (_HID, "PNP0C14") Name (_UID, Zero) Name (WMIF, Zero) Name (WEI0, Zero) Name (WED0, Zero) Name (WEI1, Zero) Name (WED1, Zero) Name (WEVI, Zero) Name (BUFF, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (WMI5, Zero) CreateByteField (BUFF, Zero, OB0) CreateByteField (BUFF, One, OB1) CreateByteField (BUFF, 0x02, OB2) CreateByteField (BUFF, 0x03, OB3) Name (_WDG, Buffer (0x50) { /* 0000 */ 0x34, 0xF0, 0xB7, 0x5F, 0x63, 0x2C, 0xE9, 0x45, /* 0008 */ 0xBE, 0x91, 0x3D, 0x44, 0xE2, 0xC7, 0x07, 0xE4, /* 0010 */ 0x41, 0x44, 0x01, 0x02, 0x79, 0x42, 0xF2, 0x95, /* 0018 */ 0x7B, 0x4D, 0x34, 0x43, 0x93, 0x87, 0xAC, 0xCD, /* 0020 */ 0xC6, 0x7E, 0xF6, 0x1C, 0x80, 0x00, 0x01, 0x08, /* 0028 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, /* 0030 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, /* 0038 */ 0x41, 0x45, 0x01, 0x00, 0xD4, 0x2B, 0x99, 0xD0, /* 0040 */ 0x7C, 0xA4, 0xFE, 0x4E, 0xB0, 0x72, 0x32, 0x4A, /* 0048 */ 0xEC, 0x92, 0x29, 0x6C, 0x42, 0x43, 0x01, 0x00 }) Method (WMAD, 3, Serialized) { Return (HWMC (Arg1, Arg2)) } Method (GDST, 0, NotSerialized) { Store ("HP WMI Command 0x1 (BIOS Read)", Debug) Store (0x70, BCMD) BSMI (Zero) Store (ADDL, OB0) Store (Zero, OB1) Store (Zero, OB2) Store (Zero, OB3) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) { 0x01, 0x02, 0x03, 0x04 } }, Local0) Store (OB0, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (OB1, Index (DerefOf (Index (Local0, 0x02)), One)) Store (OB2, Index (DerefOf (Index (Local0, 0x02)), 0x02)) Store (OB3, Index (DerefOf (Index (Local0, 0x02)), 0x03)) Return (Local0) } Method (SDST, 1, NotSerialized) { Store ("HP WMI Command 0x1 (BIOS Write)", Debug) And (Arg0, 0x1F, Local0) Store (0x70, BCMD) BSMI (Zero) If (LEqual (Local0, CSTE)) { Return (Package (0x02) { Zero, Zero }) } Else { If (VGAF) { If (LEqual (Local0, One)) { Store ("LCD", Debug) Store (One, ^^PCI0.PB2.VGA.LCDA) Store (Zero, ^^PCI0.PB2.VGA.CRTA) Store (Zero, ^^PCI0.PB2.VGA.TV0A) Store (Zero, ^^PCI0.PB2.VGA.HDTV) } If (LEqual (Local0, 0x02)) { Store ("CRT", Debug) Store (Zero, ^^PCI0.PB2.VGA.LCDA) Store (One, ^^PCI0.PB2.VGA.CRTA) Store (Zero, ^^PCI0.PB2.VGA.TV0A) Store (Zero, ^^PCI0.PB2.VGA.HDTV) } If (LEqual (Local0, 0x03)) { Store ("LCD+CRT", Debug) Store (One, ^^PCI0.PB2.VGA.LCDA) Store (One, ^^PCI0.PB2.VGA.CRTA) Store (Zero, ^^PCI0.PB2.VGA.TV0A) Store (Zero, ^^PCI0.PB2.VGA.HDTV) } If (LEqual (Local0, 0x04)) { Store ("TV", Debug) Store (Zero, ^^PCI0.PB2.VGA.LCDA) Store (Zero, ^^PCI0.PB2.VGA.CRTA) Store (One, ^^PCI0.PB2.VGA.TV0A) Store (Zero, ^^PCI0.PB2.VGA.HDTV) } If (LEqual (Local0, 0x05)) { Store ("LCD+TV", Debug) Store (One, ^^PCI0.PB2.VGA.LCDA) Store (Zero, ^^PCI0.PB2.VGA.CRTA) Store (One, ^^PCI0.PB2.VGA.TV0A) Store (Zero, ^^PCI0.PB2.VGA.HDTV) } If (LEqual (Local0, 0x06)) { Store ("CRT+TV", Debug) Store (Zero, ^^PCI0.PB2.VGA.LCDA) Store (One, ^^PCI0.PB2.VGA.CRTA) Store (One, ^^PCI0.PB2.VGA.TV0A) Store (Zero, ^^PCI0.PB2.VGA.HDTV) } If (LEqual (Local0, 0x07)) { Store ("LCD+CRT+TV", Debug) Store (One, ^^PCI0.PB2.VGA.LCDA) Store (One, ^^PCI0.PB2.VGA.CRTA) Store (One, ^^PCI0.PB2.VGA.TV0A) Store (Zero, ^^PCI0.PB2.VGA.HDTV) } If (LEqual (Local0, 0x10)) { Store ("HDMI", Debug) Store (Zero, ^^PCI0.PB2.VGA.LCDA) Store (Zero, ^^PCI0.PB2.VGA.CRTA) Store (Zero, ^^PCI0.PB2.VGA.TV0A) Store (One, ^^PCI0.PB2.VGA.HDTV) } If (LNotEqual (TPOS, 0x40)) { Notify (PCI0, Zero) } Else { Notify (^^PCI0.PB2.VGA, Zero) } Sleep (0x02EE) Notify (^^PCI0.PB2.VGA, 0x80) } Else { If (LEqual (Local0, One)) { Store ("LCD", Debug) Store (One, ^^PCI0.AGP.VGA.LCDA) Store (Zero, ^^PCI0.AGP.VGA.CRTA) Store (Zero, ^^PCI0.AGP.VGA.TV0A) Store (Zero, ^^PCI0.AGP.VGA.HDTV) } If (LEqual (Local0, 0x02)) { Store ("CRT", Debug) Store (Zero, ^^PCI0.AGP.VGA.LCDA) Store (One, ^^PCI0.AGP.VGA.CRTA) Store (Zero, ^^PCI0.AGP.VGA.TV0A) Store (Zero, ^^PCI0.AGP.VGA.HDTV) } If (LEqual (Local0, 0x03)) { Store ("LCD+CRT", Debug) Store (One, ^^PCI0.AGP.VGA.LCDA) Store (One, ^^PCI0.AGP.VGA.CRTA) Store (Zero, ^^PCI0.AGP.VGA.TV0A) Store (Zero, ^^PCI0.AGP.VGA.HDTV) } If (LEqual (Local0, 0x04)) { Store ("TV", Debug) Store (Zero, ^^PCI0.AGP.VGA.LCDA) Store (Zero, ^^PCI0.AGP.VGA.CRTA) Store (One, ^^PCI0.AGP.VGA.TV0A) Store (Zero, ^^PCI0.AGP.VGA.HDTV) } If (LEqual (Local0, 0x05)) { Store ("LCD+TV", Debug) Store (One, ^^PCI0.AGP.VGA.LCDA) Store (Zero, ^^PCI0.AGP.VGA.CRTA) Store (One, ^^PCI0.AGP.VGA.TV0A) Store (Zero, ^^PCI0.AGP.VGA.HDTV) } If (LEqual (Local0, 0x06)) { Store ("CRT+TV", Debug) Store (Zero, ^^PCI0.AGP.VGA.LCDA) Store (One, ^^PCI0.AGP.VGA.CRTA) Store (One, ^^PCI0.AGP.VGA.TV0A) Store (Zero, ^^PCI0.AGP.VGA.HDTV) } If (LEqual (Local0, 0x07)) { Store ("LCD+CRT+TV", Debug) Store (One, ^^PCI0.AGP.VGA.LCDA) Store (One, ^^PCI0.AGP.VGA.CRTA) Store (One, ^^PCI0.AGP.VGA.TV0A) Store (Zero, ^^PCI0.AGP.VGA.HDTV) } If (LEqual (Local0, 0x10)) { Store ("HDMI", Debug) Store (Zero, ^^PCI0.AGP.VGA.LCDA) Store (Zero, ^^PCI0.AGP.VGA.CRTA) Store (Zero, ^^PCI0.AGP.VGA.TV0A) Store (One, ^^PCI0.AGP.VGA.HDTV) } If (LNotEqual (TPOS, 0x40)) { Notify (PCI0, Zero) } Else { Notify (^^PCI0.AGP.VGA, Zero) } Sleep (0x02EE) Notify (^^PCI0.AGP.VGA, 0x80) } Return (Package (0x02) { Zero, Zero }) } } Method (GDKS, 0, NotSerialized) { Store ("HP WMI Command 0x04 (BIOS Read)", Debug) Store (Package (0x03) { Zero, One, Buffer (One) { 0x00 } }, Local0) If (LEqual (^^PCI0.LPC0.EC0.TLID, One)) { Store (Package (0x03) { Zero, One, Buffer (One) { 0x04 } }, Local0) } Return (Local0) } Method (GBIF, 1, NotSerialized) { Store ("HP WMI Command 0x7 (BIOS Read)", Debug) Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF) If (LNot (ECON)) { Store (Package (0x02) { 0x0D, Zero }, Local0) Sleep (0x96) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } If (Arg0) { Store (Package (0x02) { 0x06, Zero }, Local0) Sleep (0x96) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } If (LNot (^^PCI0.LPC0.EC0.MBTS)) { Store (Package (0x02) { 0x34, Zero }, Local0) Sleep (0x96) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } Else { If (LEqual (IPCY, One)) { If (^^PCI0.LPC0.EC0.BDSO) { Store (^^PCI0.LPC0.EC0.MBST, Local1) Store (^^PCI0.LPC0.EC0.MBDC, Local2) If (And (And (Local1, 0x02), LEqual (Local2, 0x19))) { Store (Package (0x02) { 0x36, Zero }, Local0) Sleep (0x96) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } Else { If (And (And (Local1, One), LEqual (Local2, 0x1A))) { Store (Package (0x02) { 0x36, Zero }, Local0) Sleep (0x96) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } } } Else { Store (Package (0x02) { 0x37, Zero }, Local0) Sleep (0x96) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } } } Store (Package (0x03) { Zero, 0x80, Buffer (0x80) {} }, Local0) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x18, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), One)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Zero)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x10, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x03)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x02)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x0F, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x05)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x04)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x0C, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x07)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x06)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x17, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x09)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x08)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x08, RefOf (Local1)) Subtract (Local1, 0x0AAA, Local1) Divide (Local1, 0x0A, Local2, Local1) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0B)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0A)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x09, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0D)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0C)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x0A, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0F)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x0E)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x19, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x11)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x10)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x16, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x13)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x12)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3F, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x15)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x14)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3E, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x17)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x16)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3D, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x19)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x18)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x3C, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x1B)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x1A)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x1C, RefOf (Local1)) Store (ITOS (ToBCD (Local1)), Local3) Store (0x1C, Local2) Store (Zero, Local4) Store (SizeOf (Local3), Local1) While (Local1) { GBFE (Local3, Local4, RefOf (Local5)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local5) Decrement (Local1) Increment (Local2) Increment (Local4) } Store (0x20, Index (DerefOf (Index (Local0, 0x02)), Local2)) Increment (Local2) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x1B, RefOf (Local1)) And (Local1, 0x1F, Local7) Store (ITOS (ToBCD (Local7)), Local6) And (Local1, 0x01E0, Local7) ShiftRight (Local7, 0x05, Local7) Store (ITOS (ToBCD (Local7)), Local5) ShiftRight (Local1, 0x09, Local7) Add (Local7, 0x07BC, Local7) Store (ITOS (ToBCD (Local7)), Local4) Store (0x02, Local1) Store (0x03, Local7) While (Local1) { GBFE (Local5, Local7, RefOf (Local3)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local3) Decrement (Local1) Increment (Local2) Increment (Local7) } Store ("/", Index (DerefOf (Index (Local0, 0x02)), Local2)) Increment (Local2) Store (0x02, Local1) Store (0x03, Local7) While (Local1) { GBFE (Local6, Local7, RefOf (Local3)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local3) Decrement (Local1) Increment (Local2) Increment (Local7) } Store ("/", Index (DerefOf (Index (Local0, 0x02)), Local2)) Increment (Local2) Store (0x04, Local1) Store (One, Local7) While (Local1) { GBFE (Local4, Local7, RefOf (Local3)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local3) Decrement (Local1) Increment (Local2) Increment (Local7) } Store (Zero, Index (DerefOf (Index (Local0, 0x02)), Local2)) ^^PCI0.LPC0.EC0.SMRD (0x0B, 0x16, 0x20, RefOf (Local1)) Store (SizeOf (Local1), Local3) Store (0x2C, Local2) Store (Zero, Local4) While (Local3) { GBFE (Local1, Local4, RefOf (Local5)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local5) Decrement (Local3) Increment (Local2) Increment (Local4) } ^^PCI0.LPC0.EC0.SMRD (0x0B, 0x16, 0x70, RefOf (Local1)) GBFE (Local1, Zero, RefOf (Local5)) If (LEqual (Local5, 0x36)) { Store (SizeOf (Local1), Local3) Store (0x3E, Local2) Store (Zero, Local4) } Else { Store (0x03, Local3) Store (0x3E, Local2) Store (Zero, Local4) Store (Buffer (0x04) { "N/A" }, Local1) } While (Local3) { GBFE (Local1, Local4, RefOf (Local5)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local5) Decrement (Local3) Increment (Local2) Increment (Local4) } If (LEqual (IPCY, One)) { ^^PCI0.LPC0.EC0.SMRD (0x0B, 0x16, 0x21, RefOf (Local1)) Store (SizeOf (Local1), Local3) Store (0x4F, Local2) Store (Zero, Local4) While (Local3) { GBFE (Local1, Local4, RefOf (Local5)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local5) Decrement (Local3) Increment (Local2) Increment (Local4) } ^^PCI0.LPC0.EC0.SMRD (0x0B, 0x16, 0x22, RefOf (Local1)) Store (SizeOf (Local1), Local3) Store (0x56, Local2) Store (Zero, Local4) While (Local3) { GBFE (Local1, Local4, RefOf (Local5)) PBFE (DerefOf (Index (Local0, 0x02)), Local2, Local5) Decrement (Local3) Increment (Local2) Increment (Local4) } ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, Zero, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x5B)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x5A)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x1B, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x5D)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x5C)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x14, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x5F)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x5E)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x15, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x61)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x60)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x0B, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x63)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x62)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x11, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x65)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x64)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x12, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x67)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x66)) ^^PCI0.LPC0.EC0.SMRD (0x09, 0x16, 0x13, RefOf (Local1)) Divide (Local1, 0x0100, Local2, Index (DerefOf (Index (Local0, 0x02)), 0x69)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), 0x68)) Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x6A)) } Sleep (0x96) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } Method (GBBT, 0, NotSerialized) { Store ("HP WMI Command 0x8 (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x80, Buffer (0x80) { /* 0000 */ 0x31, 0x01, 0x9B, 0x01, 0xAE, 0x01, 0x9D, 0x01, /* 0008 */ 0xB6, 0x01, 0xB7, 0x01, 0xFF, 0xFF, 0x00, 0x00 } }, Local0) Return (Local0) } Method (GHKS, 0, NotSerialized) { Store ("HP WMI Command 0x9 (BIOS Read)", Debug) Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local0) Store (^^PCI0.LPC0.EC0.GSHK (), Index (DerefOf (Index (Local0, 0x02)), Zero)) Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } Method (SHKS, 1, NotSerialized) { Store ("HP WMI Command 0x9 (BIOS Write)", Debug) Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF) ^^PCI0.LPC0.EC0.SSHK (Arg0) Release (^^PCI0.LPC0.EC0.MUT0) Return (Package (0x02) { Zero, Zero }) } Method (GHKF, 0, NotSerialized) { Store ("HP WMI Command 0xA (BIOS Read)", Debug) Return (HKFR ()) } Method (SHKF, 1, NotSerialized) { Store ("HP WMI Command 0xA (BIOS Write)", Debug) And (Arg0, 0xFF, Local1) And (Arg0, 0xFF00, Local3) ShiftRight (Local3, 0x08, Local2) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local0) Store (Local1, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (Arg0, 0x01AE)) { If (LEqual (OSTB, 0x50)) { Store (One, ^^PCI0.LPC0.EC0.RCDS) } Else { Store (0x70, BCMD) BSMI (Zero) ^^PCI0.LPC0.EC0.GNSD () If (VGAF) { Store (And (NSTE, One), ^^PCI0.PB2.VGA.LCDA) Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.PB2.VGA.CRTA) Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.PB2.VGA.TV0A) Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.PB2.VGA.HDTV) Notify (^^PCI0.PB2.VGA, 0x80) } Else { Store (And (NSTE, One), ^^PCI0.AGP.VGA.LCDA) Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.AGP.VGA.CRTA) Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.AGP.VGA.TV0A) Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.AGP.VGA.HDTV) Notify (^^PCI0.AGP.VGA, 0x80) } Store (NSTE, Index (DerefOf (Index (Local0, 0x02)), 0x02)) Store (CSTE, Index (DerefOf (Index (Local0, 0x02)), 0x03)) } } Return (Local0) } Method (HKFR, 0, NotSerialized) { Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local0) If (ECON) { Store (^^PCI0.LPC0.EC0.QBHK, Local1) } Release (^^PCI0.LPC0.EC0.MUT0) If (LEqual (Local1, 0x0D)) { Store ("Fn+ESC Pressed", Debug) Store (0x31, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (One, Index (DerefOf (Index (Local0, 0x02)), One)) } If (LEqual (Local1, One)) { Store ("Fn+F1 Pressed", Debug) Store (0x9B, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (One, Index (DerefOf (Index (Local0, 0x02)), One)) } If (LEqual (Local1, 0x04)) { Store ("Fn+F4 Pressed", Debug) Store (0x70, BCMD) BSMI (Zero) ^^PCI0.LPC0.EC0.GNSD () If (VGAF) { Store (And (NSTE, One), ^^PCI0.PB2.VGA.LCDA) Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.PB2.VGA.CRTA) Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.PB2.VGA.TV0A) Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.PB2.VGA.HDTV) Notify (^^PCI0.PB2.VGA, 0x80) } Else { Store (And (NSTE, One), ^^PCI0.AGP.VGA.LCDA) Store (ShiftRight (And (NSTE, 0x02), One), ^^PCI0.AGP.VGA.CRTA) Store (ShiftRight (And (NSTE, 0x04), 0x02), ^^PCI0.AGP.VGA.TV0A) Store (ShiftRight (And (NSTE, 0x10), 0x04), ^^PCI0.AGP.VGA.HDTV) Notify (^^PCI0.AGP.VGA, 0x80) } Store (0xAE, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (One, Index (DerefOf (Index (Local0, 0x02)), One)) Store (NSTE, Index (DerefOf (Index (Local0, 0x02)), 0x02)) Store (CSTE, Index (DerefOf (Index (Local0, 0x02)), 0x03)) } If (LEqual (Local1, 0x06)) { Store ("Fn+F6 Pressed", Debug) Store (0x9D, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (One, Index (DerefOf (Index (Local0, 0x02)), One)) } If (LEqual (Local1, 0x07)) { Store ("Fn+F7 Pressed", Debug) If (LEqual (TPOS, 0x40)) { If (LEqual (And (^^PCI0.PB2.VGA.DVID, 0xFFFF), 0xFFFF)) { Notify (^^PCI0.AGP.VGA.LCD, 0x87) } Else { Notify (^^PCI0.PB2.VGA.LCD, 0x87) } } Else { Store (0x02, BRTL) Store (0x74, BCMD) BSMI (Zero) } Sleep (0x32) Store (0xB6, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (One, Index (DerefOf (Index (Local0, 0x02)), One)) } If (LEqual (Local1, 0x08)) { Store ("Fn+F8 Pressed", Debug) If (LEqual (TPOS, 0x40)) { If (LEqual (And (^^PCI0.PB2.VGA.DVID, 0xFFFF), 0xFFFF)) { Notify (^^PCI0.AGP.VGA.LCD, 0x86) } Else { Notify (^^PCI0.PB2.VGA.LCD, 0x86) } } Else { Store (One, BRTL) Store (0x74, BCMD) BSMI (Zero) } Sleep (0x32) Store (0xB7, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (One, Index (DerefOf (Index (Local0, 0x02)), One)) } If (LEqual (Local1, 0x0B)) { Store ("Fn+B Pressed", Debug) If (LOr (LEqual (PFID, One), LEqual (PFID, 0x03))) { Store (0x9C, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) } If (LOr (LEqual (PFID, 0x05), LEqual (PFID, 0x0A))) { Store (0x9C, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) } If (LEqual (PFID, 0x0C)) { Store (0x9C, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) } } Return (Local0) } Method (GBBV, 0, NotSerialized) { Store ("HP WMI Command 0xC (BIOS Read)", Debug) Acquire (^^PCI0.LPC0.EC0.MUT0, 0xFFFF) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local0) If (ECON) { Store (^^PCI0.LPC0.EC0.QBBB, Local1) Store (Zero, ^^PCI0.LPC0.EC0.QBBB) } If (LEqual (Local1, 0x04)) { Store (0x42, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x02, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } If (LEqual (Local1, 0x20)) { Store (0x8D, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } If (LEqual (Local1, 0x21)) { Store (0x8E, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } If (LEqual (Local1, 0x22)) { Store (0x8F, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } If (LEqual (Local1, 0x23)) { Store (0x90, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } If (LEqual (Local1, 0x24)) { Store (0x91, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } If (LEqual (Local1, 0x25)) { Store (0x92, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } If (LEqual (Local1, 0x26)) { Store (0x93, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0x21, Index (DerefOf (Index (Local0, 0x02)), One)) If (LEqual (CPBT, Zero)) { Store (One, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), 0x02)) } } Release (^^PCI0.LPC0.EC0.MUT0) Return (Local0) } Method (GFRC, 0, NotSerialized) { Store ("HP WMI Command 0x0D (BIOS Read)", Debug) Store (0x03, BCMD) WSMI (Zero) Store (WM0D, Local0) Or (Local0, 0x02, Local0) Or (Local0, 0x10, Local0) Or (Local0, 0x20, Local0) Store (Zero, Local1) Or (Local1, DSVM, Local1) If (LEqual (CKPT (One, 0x02, Zero, 0x03), One)) { Or (Local1, 0x10, Local1) } Else { And (Local1, 0xEF, Local1) } Store (Package (0x03) { Zero, 0x80, Buffer (0x80) {} }, Local2) Store (Local0, Index (DerefOf (Index (Local2, 0x02)), Zero)) Store (Local1, Index (DerefOf (Index (Local2, 0x02)), One)) Return (Local2) } Method (GSAS, 0, NotSerialized) { Store ("HP WMI Command 0x0F (BIOS Read)", Debug) Store (Zero, Local0) If (ECON) { If (LEqual (^^PCI0.LPC0.EC0.ADPP, One)) { Store (^^PCI0.LPC0.EC0.SARS, Local0) } } If (LLessEqual (Local0, One)) { Store (One, Local0) } Else { If (LAnd (LGreater (Local0, One), LLess (Local0, 0x04))) { Store (0x02, Local0) } Else { If (LEqual (Local0, 0x04)) { Store (0x03, Local0) } } } Store (Package (0x03) { Zero, 0x04, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }, Local1) Store (Local0, Index (DerefOf (Index (Local1, 0x02)), Zero)) Return (Local1) } Method (GWSD, 0, NotSerialized) { Store ("HP WMI Command 0x10 (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x80, Buffer (0x80) {} }, Local0) Store (Zero, Local1) Add (Local1, CWD0, Local1) Add (Local1, CWD1, Local1) Add (Local1, CWD2, Local1) Add (Local1, CWD3, Local1) Add (Local1, CWDF, Local1) And (Local1, 0xFF, Local1) If (And (LEqual (CWCS, Local1), LEqual (CWDF, 0x38))) { Store (Zero, Local1) If (LEqual (CKPT (One, 0x02, Zero, 0x03), One)) { ShiftRight (CWD0, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (CWD0, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) } ShiftRight (CWD1, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (CWD1, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) ShiftRight (CWD2, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (CWD2, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) ShiftRight (CWD3, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (CWD3, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) } Else { Store (Zero, Local1) If (LEqual (CKPT (One, 0x02, Zero, 0x03), One)) { ShiftRight (WSYH, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (WSYH, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) } ShiftRight (WSYL, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (WSYL, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) ShiftRight (WSDM, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (WSDM, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) ShiftRight (WSDD, 0x04, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) Add (Local1, One, Local1) And (WSDD, 0x0F, Local2) Add (Local2, 0x30, Local2) Store (Local2, Index (DerefOf (Index (Local0, 0x02)), Local1)) } Return (Local0) } Method (SWSD, 1, NotSerialized) { Store ("HP WMI Command 0x10 (BIOS Write)", Debug) Store (Zero, Local1) If (LEqual (SizeOf (Arg0), 0x08)) { ShiftLeft (DerefOf (Index (Arg0, Local1)), 0x04, Local2) And (Local2, 0xF0, Local2) Add (Local1, One, Local1) Or (Local2, And (DerefOf (Index (Arg0, Local1)), 0x0F), Local2) Store (Local2, CWD0) Add (Local1, One, Local1) } Else { Store (Zero, CWD0) } ShiftLeft (DerefOf (Index (Arg0, Local1)), 0x04, Local2) And (Local2, 0xF0, Local2) Add (Local1, One, Local1) Or (Local2, And (DerefOf (Index (Arg0, Local1)), 0x0F), Local2) Store (Local2, CWD1) Add (Local1, One, Local1) ShiftLeft (DerefOf (Index (Arg0, Local1)), 0x04, Local2) And (Local2, 0xF0, Local2) Add (Local1, One, Local1) Or (Local2, And (DerefOf (Index (Arg0, Local1)), 0x0F), Local2) Store (Local2, CWD2) Add (Local1, One, Local1) ShiftLeft (DerefOf (Index (Arg0, Local1)), 0x04, Local2) And (Local2, 0xF0, Local2) Add (Local1, One, Local1) Or (Local2, And (DerefOf (Index (Arg0, Local1)), 0x0F), Local2) Store (Local2, CWD3) Store (0x38, CWDF) Store (Zero, Local1) Add (Local1, CWD0, Local1) Add (Local1, CWD1, Local1) Add (Local1, CWD2, Local1) Add (Local1, CWD3, Local1) Add (Local1, CWDF, Local1) And (Local1, 0xFF, Local1) Store (Local1, CWCS) Return (Package (0x02) { Zero, Zero }) } Method (GBBS, 0, NotSerialized) { Store ("HP WMI Command 0x13 (BIOS Read)", Debug) Store (Zero, Local0) If (ECON) { Store (^^PCI0.LPC0.EC0.BBDA, Local0) } If (Local0) { Store (Package (0x03) { Zero, 0x04, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }, Local1) } Else { Store (Package (0x03) { Zero, 0x04, Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 } }, Local1) } Return (Local1) } Method (SBBS, 1, NotSerialized) { Store ("HP WMI Command 0x13 (BIOS Write)", Debug) Store (Arg0, Local0) If (Local0) { Store (Zero, ^^PCI0.LPC0.EC0.BBDA) } Else { Store (One, ^^PCI0.LPC0.EC0.BBDA) } Return (Package (0x02) { Zero, Zero }) } Method (GWDI, 0, NotSerialized) { Store ("HP WMI Command 0x1B (BIOS Read)", Debug) Store (One, WMIF) Store (Buffer (0x10) {}, Local0) Store (0x10, OB0) Store (Zero, OB1) Store (One, Index (Local0, Zero)) Store (Zero, Index (Local0, One)) Store (Zero, Index (Local0, 0x02)) Store (Zero, Index (Local0, 0x03)) Store (Zero, Index (Local0, 0x04)) Store (Zero, Index (Local0, 0x05)) Store (And (BTWL, One), OB2) Store (And (BTWL, 0x02), OB3) ShiftRight (OB3, One, OB3) Add (OB2, OB3, Local1) Store (Local1, Index (Local0, 0x06)) If (WBTS) { Add (Local1, One, Local1) } Store (Local1, Index (Local0, 0x07)) Store (Zero, Index (Local0, 0x08)) Store (Zero, Index (Local0, 0x09)) Store (Zero, Index (Local0, 0x0A)) Store (Zero, Index (Local0, 0x0B)) Store (Zero, Index (Local0, 0x0C)) Store (Zero, Index (Local0, 0x0D)) Store (Zero, Index (Local0, 0x0E)) Store (Zero, Index (Local0, 0x0F)) If (OB2) { Store (Buffer (0x10) {}, Local1) Store (Zero, Index (Local1, Zero)) Store (Zero, Index (Local1, One)) Store (WDI0, Index (Local1, 0x02)) Store (WDI1, Index (Local1, 0x03)) Store (WDI2, Index (Local1, 0x04)) Store (WDI3, Index (Local1, 0x05)) Store (WSI0, Index (Local1, 0x06)) Store (WSI1, Index (Local1, 0x07)) Store (WSI2, Index (Local1, 0x08)) Store (WSI3, Index (Local1, 0x09)) Store (OB1, Index (Local1, 0x0A)) Store (^^PCI0.SMBS.G52O, Local2) Or (Local2, ShiftLeft (WWLS, One), Local2) Or (Local2, 0x04, Local2) Or (Local2, ShiftLeft (BTLS, 0x03), Local2) Store (Local2, Index (Local1, 0x0B)) Store (Zero, Index (Local1, 0x0C)) Store (Zero, Index (Local1, 0x0D)) Store (Zero, Index (Local1, 0x0E)) Store (Zero, Index (Local1, 0x0F)) Add (OB0, 0x10, OB0) Concatenate (Local0, Local1, Local0) } If (WBTS) { Store (Buffer (0x10) {}, Local1) Store (One, Index (Local1, Zero)) Store (One, Index (Local1, One)) Store (BVI0, Index (Local1, 0x02)) Store (BVI1, Index (Local1, 0x03)) Store (BPI0, Index (Local1, 0x04)) Store (BPI1, Index (Local1, 0x05)) Store (Zero, Index (Local1, 0x06)) Store (Zero, Index (Local1, 0x07)) Store (Zero, Index (Local1, 0x08)) Store (Zero, Index (Local1, 0x09)) Store (OB1, Index (Local1, 0x0A)) Store (^^PCI0.SMBS.G52O, Local2) Or (Local2, ShiftLeft (WWLS, One), Local2) Or (Local2, 0x04, Local2) Or (Local2, ShiftLeft (BTLS, 0x03), Local2) Store (Local2, Index (Local1, 0x0B)) Store (Zero, Index (Local1, 0x0C)) Store (Zero, Index (Local1, 0x0D)) Store (Zero, Index (Local1, 0x0E)) Store (Zero, Index (Local1, 0x0F)) Add (OB0, 0x10, OB0) Concatenate (Local0, Local1, Local0) } Increment (OB1) If (OB3) { Store (Buffer (0x10) {}, Local1) Store (One, Index (Local1, Zero)) Store (One, Index (Local1, One)) Store (BVI0, Index (Local1, 0x02)) Store (BVI1, Index (Local1, 0x03)) Store (BPI0, Index (Local1, 0x04)) Store (BPI1, Index (Local1, 0x05)) Store (Zero, Index (Local1, 0x06)) Store (Zero, Index (Local1, 0x07)) Store (Zero, Index (Local1, 0x08)) Store (Zero, Index (Local1, 0x09)) Store (OB1, Index (Local1, 0x0A)) Store (^^PCI0.SMBS.G53O, Local2) Or (Local2, ShiftLeft (BWLS, One), Local2) Or (Local2, 0x04, Local2) Or (Local2, ShiftLeft (BTLS, 0x03), Local2) Store (Local2, Index (Local1, 0x0B)) Store (Zero, Index (Local1, 0x0C)) Store (Zero, Index (Local1, 0x0D)) Store (Zero, Index (Local1, 0x0E)) Store (Zero, Index (Local1, 0x0F)) Add (OB0, 0x10, OB0) Concatenate (Local0, Local1, Local0) } Store (Package (0x03) {}, Local1) Store (Zero, Index (Local1, Zero)) Store (OB0, Index (Local1, One)) Store (Local0, Index (Local1, 0x02)) Return (Local1) } Method (SWDS, 4, NotSerialized) { Store ("HP WMI Command 0x1B (BIOS Write)", Debug) If (BTWL) { If (LOr (LEqual (BTLS, One), LEqual (Arg2, 0xFF))) { If (LEqual (Arg2, 0xFF)) { Store (Arg3, BTLS) } If (LEqual (BTWL, One)) { Store (Arg3, WWLS) Store (Arg3, ^^PCI0.SMBS.G52O) If (WBTS) { Store (Arg3, ^^PCI0.LPC0.EC0.BTON) } Else { Store (Zero, ^^PCI0.LPC0.EC0.BTON) } } If (LEqual (BTWL, 0x02)) { Store (Arg3, BWLS) Store (Arg3, ^^PCI0.SMBS.G53O) Store (Arg3, ^^PCI0.LPC0.EC0.BTON) } If (LEqual (BTWL, 0x03)) { If (Arg2) { Store (Arg3, BWLS) Store (Arg3, ^^PCI0.SMBS.G53O) Store (Arg3, ^^PCI0.LPC0.EC0.BTON) If (LEqual (Arg2, 0xFF)) { Store (Arg3, WWLS) Store (Arg3, ^^PCI0.SMBS.G52O) } } Else { Store (Arg3, WWLS) Store (Arg3, ^^PCI0.SMBS.G52O) } If (LEqual (Arg2, 0xFE)) { Store (Arg3, WWLS) Store (Arg3, ^^PCI0.SMBS.G52O) Store (Arg3, BWLS) Store (Arg3, ^^PCI0.SMBS.G53O) Store (Arg3, ^^PCI0.LPC0.EC0.BTON) } } } Return (Package (0x02) { Zero, Zero }) } Else { Return (Package (0x02) { 0x0D, Zero }) } } Method (GSDC, 0, NotSerialized) { Store ("HP WMI Command 0x1D (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local0) Store (EDGC, Index (DerefOf (Index (Local0, 0x02)), Zero)) If (LEqual (EDRS, 0xFF)) { Store (Zero, EDRS) } Store (EDRS, Index (DerefOf (Index (Local0, 0x02)), One)) Return (Local0) } Method (SSDC, 4, NotSerialized) { Store ("HP WMI Command 0x1D (BIOS Write)", Debug) Store (Arg0, EDGC) Return (Package (0x02) { Zero, Zero }) } Method (GBUS, 0, NotSerialized) { Store ("HP WMI Command 0x1E (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local2) If (LAnd (HBUC, One)) { Store (One, Local0) } Else { Store (Zero, Local0) } Store (HBUS, Local1) Store (Local0, Index (DerefOf (Index (Local2, 0x02)), Zero)) Store (Local1, Index (DerefOf (Index (Local2, 0x02)), One)) Return (Local2) } Method (SBUS, 1, NotSerialized) { Store ("HP WMI Command 0x1E (BIOS Write)", Debug) Store (Arg0, HBUC) Return (Package (0x02) { Zero, Zero }) } Method (GBCC, 0, NotSerialized) { Store ("HP WMI Command 0x1F (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local0) If (ECON) { If (LEqual (^^PCI0.LPC0.EC0.MBTS, One)) { Store (Zero, Local1) Store (^^PCI0.LPC0.EC0.MBST, Local2) If (And (Local2, One)) { Or (Local1, 0x02, Local1) } If (And (Local2, 0x02)) { Or (Local1, One, Local1) } Store (Local1, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { Store (0xFF, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Store (0xFF, Index (DerefOf (Index (Local0, 0x02)), One)) } Else { Store (0x35, Index (DerefOf (Index (Local0, Zero)), Zero)) } Return (Local0) } Method (SBCC, 4, NotSerialized) { Store ("HP WMI Command 0x1F (BIOS Write)", Debug) Store (Package (0x03) { Zero, Zero, Buffer (0x04) {} }, Local0) If (ECON) { If (LEqual (Arg0, Zero)) { If (LEqual (^^PCI0.LPC0.EC0.MBTS, One)) { Store (^^PCI0.LPC0.EC0.MBST, Local1) And (Local1, 0x03, Local1) If (And (And (Local1, 0x02), ShiftLeft (Arg1, One) )) { Store (0x36, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { If (And (And (Local1, One), ShiftRight (Arg1, One) )) { Store (0x36, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { If (And (LEqual (^^PCI0.LPC0.EC0.SW2S, Zero), LEqual (Arg1, One))) { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { Store (^^PCI0.LPC0.EC0.MBDC, Local1) If (LEqual (Arg1, Zero)) { And (Local1, 0xE0, Local1) Store (Local1, ^^PCI0.LPC0.EC0.MBDC) Return (Local0) } If (LEqual (Arg1, One)) { And (Local1, 0xF9, Local1) Or (Local1, 0x09, Local1) } If (LEqual (Arg1, 0x02)) { And (Local1, 0xFA, Local1) Or (Local1, 0x0A, Local1) } Store (Local1, ^^PCI0.LPC0.EC0.MBDC) Sleep (0x64) Store (^^PCI0.LPC0.EC0.MBDC, Local1) While (LNotEqual (And (Local1, 0x10), 0x10)) { Sleep (0x64) Store (^^PCI0.LPC0.EC0.MBDC, Local1) } } } } } Else { Store (0x34, Index (DerefOf (Index (Local0, 0x02)), Zero)) } } Else { If (LAnd (LEqual (Arg0, 0x63), LEqual (^^PCI0.LPC0.EC0.SW2S, One))) { Store (^^PCI0.LPC0.EC0.MBDC, Local1) Store (Arg1, Local2) Name (_T_0, Zero) Store (Local2, _T_0) If (LEqual (_T_0, Zero)) { And (Local1, 0xE0, Local1) Store (Local1, ^^PCI0.LPC0.EC0.MBDC) Return (Local0) } Else { If (LEqual (_T_0, One)) { And (Local1, 0xFA, Local1) Or (Local1, 0x0A, Local1) } Else { If (LEqual (_T_0, 0x02)) { And (Local1, 0xFC, Local1) Or (Local1, 0x0C, Local1) } Else { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } } } Store (Local1, ^^PCI0.LPC0.EC0.MBDC) Sleep (0x64) Store (^^PCI0.LPC0.EC0.MBDC, Local1) While (LNotEqual (And (Local1, 0x10), 0x10)) { Sleep (0x64) Store (^^PCI0.LPC0.EC0.MBDC, Local1) } } Else { Store (0x34, Index (DerefOf (Index (Local0, 0x02)), Zero)) } } } Else { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Return (Local0) } Method (GFCS, 0, NotSerialized) { Store ("HP WMI Command 0x29 (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }, Local0) If (^^PCI0.LPC0.EC0.FTCF) { Store (FACM, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { Store (Zero, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Return (Local0) } Method (SFCS, 1, Serialized) { Store ("HP WMI Command 0x29 (BIOS Write)", Debug) Store (Arg0, FACM) HSMI (One) Return (Package (0x02) { Zero, Zero }) } Method (GPES, 0, NotSerialized) { Store ("HP WMI Command 0x2A (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }, Local0) Store (Zero, SMP0) Store (Zero, SMP1) Store (One, SMP2) Store (0x76, SMP3) Store (0x03, BCMD) HSMI (0x03) Store (SMP4, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } Method (SPES, 1, Serialized) { Store ("HP WMI Command 0x2A (BIOS Write)", Debug) If (LEqual (Arg0, One)) { Store (Zero, SMP0) Store (One, SMP1) Store (One, SMP2) Store (0x76, SMP3) Store (Zero, SMP4) Store (0x03, BCMD) HSMI (0x03) Store (Zero, SMP0) Store (One, SMP1) Store (One, SMP2) Store (0x77, SMP3) Store (Zero, SMP4) HSMI (0x03) } Return (Package (0x02) { Zero, Zero }) } Method (GBCO, 0, NotSerialized) { Store ("HP WMI Command 0x2B (BIOS Read)", Debug) Store (Package (0x03) { Zero, 0x04, Buffer (0x04) {} }, Local0) If (ECON) { If (^^PCI0.LPC0.EC0.MBTS) { If (^^PCI0.LPC0.EC0.BDSO) { If (^^PCI0.LPC0.EC0.SW2S) { Store (^^PCI0.LPC0.EC0.MBST, Local2) And (Local2, 0x03, Local2) Name (_T_0, Zero) Store (Local2, _T_0) If (LEqual (_T_0, Zero)) { Store (^^PCI0.LPC0.EC0.BDVO, Local1) If (LEqual (Local1, 0xC5)) { Store (0x04, Local1) } Else { Store (Zero, Local1) } } Else { If (LEqual (_T_0, One)) { Store (0x02, Local1) } Else { If (LEqual (_T_0, 0x02)) { Store (^^PCI0.LPC0.EC0.MCUR, Local2) If (LLessEqual (Local2, 0x0200)) { Store (0x03, Local1) } Else { Store (One, Local1) } } Else { Store (0x37, Index (DerefOf (Index (Local0, Zero)), Zero)) Return (Local0) } } } } Else { Store (0x02, Local1) } } Else { Store (0x37, Index (DerefOf (Index (Local0, Zero)), Zero)) Return (Local0) } } Else { Store (0xFF, Local1) } Store (Local1, Index (DerefOf (Index (Local0, 0x02)), Zero)) Store (0xFF, Index (DerefOf (Index (Local0, 0x02)), One)) } Else { Store (0x35, Index (DerefOf (Index (Local0, Zero)), Zero)) } Return (Local0) } Method (SBCO, 4, NotSerialized) { Store ("HP WMI Command 0x2B (BIOS Write)", Debug) Store (Package (0x03) { Zero, Zero, Buffer (0x04) {} }, Local0) If (ECON) { If (LEqual (Arg0, Zero)) { If (^^PCI0.LPC0.EC0.MBTS) { If (^^PCI0.LPC0.EC0.BDSO) { Store (^^PCI0.LPC0.EC0.MBST, Local1) Name (_T_0, Zero) Store (Arg1, _T_0) If (LEqual (_T_0, Zero)) { Store (0x40, Local1) } Else { If (LEqual (_T_0, One)) { If (LEqual (^^PCI0.LPC0.EC0.SW2S, Zero)) { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } If (^^PCI0.LPC0.EC0.MBFC) { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } Store (0x41, Local1) } Else { If (LEqual (_T_0, 0x02)) { If (And (Local1, One)) { Store (0x36, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } Store (0x42, Local1) } Else { If (LEqual (_T_0, 0x03)) { If (LEqual (^^PCI0.LPC0.EC0.SW2S, Zero)) { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } If (^^PCI0.LPC0.EC0.MBFC) { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } Store (0x43, Local1) } Else { If (LEqual (_T_0, 0x04)) { Store (0x44, Local1) } Else { If (LEqual (_T_0, 0x05)) { Store (0x45, Local1) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), Zero)) Return (Local0) } } } } } } Store (Local1, ^^PCI0.LPC0.EC0.BDVO) Sleep (0x64) Store (^^PCI0.LPC0.EC0.BDVO, Local1) While (LNotEqual (And (Local1, 0x80), 0x80)) { Sleep (0x64) Store (^^PCI0.LPC0.EC0.BDVO, Local1) } And (Local1, 0x30, Local1) Name (_T_1, Zero) Store (Local1, _T_1) If (LEqual (_T_1, Zero)) { Store (Zero, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { If (LEqual (_T_1, 0x10)) { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { If (LEqual (_T_1, 0x20)) { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { If (LEqual (_T_1, 0x30)) { Store (0x37, Index (DerefOf (Index (Local0, 0x02)), Zero)) } } } } } Else { Store (0x37, Index (DerefOf (Index (Local0, 0x02)), Zero)) } } Else { Store (0x34, Index (DerefOf (Index (Local0, 0x02)), Zero)) } } Else { If (LEqual (Arg0, One)) { Store (0x34, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Else { Store (0x03, Index (DerefOf (Index (Local0, 0x02)), Zero)) } } } Else { Store (0x35, Index (DerefOf (Index (Local0, 0x02)), Zero)) } Return (Local0) } Method (GWEV, 2, NotSerialized) { If (LEqual (WEI0, Zero)) { Store (Arg0, WEI0) Store (Arg1, WED0) } Else { Store (Arg0, WEI1) Store (Arg1, WED1) } Notify (WMID, 0x80) } Method (_WED, 1, NotSerialized) { Store (Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Local0) CreateDWordField (Local0, Zero, EVID) CreateDWordField (Local0, 0x04, EVDA) Store (WEI0, EVID) Store (WED0, EVDA) If (LNotEqual (WEI1, Zero)) { Store (WEI1, WEI0) Store (WED1, WED0) Store (WEI0, EVID) Store (WED0, EVDA) Store (Zero, WEI1) Store (Zero, WED1) If (LEqual (WEVI, Zero)) { Store (One, WEVI) Notify (WMID, 0x80) } } Else { Store (Zero, WEI0) Store (Zero, WED0) } Return (Local0) } Method (W05W, 1, NotSerialized) { Store (0x05, WMI5) Multiply (Arg0, 0x0A, Local0) Store (Local0, ^^PCI0.LPC0.EC0.DLYT) } Name (WQAE, Buffer (0x08A9) { /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, /* 0008 */ 0x99, 0x08, 0x00, 0x00, 0x8A, 0x3A, 0x00, 0x00, /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, /* 0018 */ 0x98, 0x4B, 0x9C, 0x00, 0x01, 0x06, 0x18, 0x42, /* 0020 */ 0x10, 0x13, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, /* 0028 */ 0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E, /* 0030 */ 0x84, 0x1C, 0x40, 0x88, 0x59, 0x50, 0x08, 0x21, /* 0038 */ 0x10, 0xEA, 0x4F, 0x20, 0xBF, 0x02, 0x10, 0x3A, /* 0040 */ 0x14, 0x20, 0x53, 0x80, 0x41, 0x01, 0x4E, 0x11, /* 0048 */ 0x44, 0xD0, 0xAB, 0x00, 0x9B, 0x02, 0x4C, 0x0A, /* 0050 */ 0xB0, 0x28, 0x40, 0xBB, 0x00, 0xCB, 0x02, 0x74, /* 0058 */ 0x0B, 0x90, 0x0E, 0x4B, 0x44, 0x82, 0xA3, 0xC4, /* 0060 */ 0x80, 0xA3, 0x74, 0x62, 0x0B, 0x37, 0x6C, 0xF0, /* 0068 */ 0x42, 0x51, 0x34, 0x83, 0x28, 0x09, 0x2A, 0x17, /* 0070 */ 0xE0, 0x1B, 0x41, 0xE0, 0xE5, 0x0A, 0x90, 0x3C, /* 0078 */ 0x01, 0x69, 0x16, 0x60, 0x58, 0x80, 0x75, 0x01, /* 0080 */ 0xB2, 0x87, 0x40, 0xA5, 0x0E, 0x01, 0x25, 0x67, /* 0088 */ 0x08, 0xA8, 0x01, 0xB4, 0x3A, 0x01, 0xE1, 0x57, /* 0090 */ 0x3A, 0x25, 0x24, 0x41, 0x38, 0x63, 0x15, 0x8F, /* 0098 */ 0xAF, 0x59, 0x34, 0x3D, 0x27, 0x39, 0xC7, 0x90, /* 00A0 */ 0xE3, 0x71, 0xA1, 0x07, 0xC1, 0x05, 0x78, 0x18, /* 00A8 */ 0x06, 0x1D, 0xB2, 0x22, 0x6B, 0x80, 0xC1, 0x58, /* 00B0 */ 0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9, /* 00B8 */ 0x80, 0x0C, 0x51, 0x12, 0x1C, 0x6A, 0xD4, 0x96, /* 00C0 */ 0x28, 0xC0, 0xFC, 0x38, 0x34, 0xBB, 0xB6, 0xC7, /* 00C8 */ 0x42, 0x20, 0x99, 0xB4, 0xA1, 0xA0, 0xA4, 0x40, /* 00D0 */ 0x68, 0x6C, 0x67, 0xEA, 0x19, 0x45, 0x3C, 0x52, /* 00D8 */ 0xC3, 0x24, 0xF0, 0x28, 0x22, 0x1B, 0x8D, 0x43, /* 00E0 */ 0x63, 0x87, 0xE1, 0x61, 0x06, 0x3B, 0x88, 0xC3, /* 00E8 */ 0x38, 0xE6, 0xC8, 0x09, 0x3C, 0xA1, 0x23, 0x3D, /* 00F0 */ 0xF2, 0xC2, 0xE6, 0x29, 0xD4, 0x18, 0xCD, 0x41, /* 00F8 */ 0x11, 0xB8, 0xD0, 0x18, 0x19, 0x10, 0xF2, 0x3C, /* 0100 */ 0x7E, 0x8D, 0xC4, 0x04, 0x76, 0x2F, 0xC0, 0x1A, /* 0108 */ 0xA6, 0x60, 0x1B, 0x9B, 0x98, 0xFE, 0xFF, 0x10, /* 0110 */ 0x47, 0x1E, 0xA3, 0xAD, 0xB9, 0x0B, 0x29, 0x4C, /* 0118 */ 0x8C, 0x28, 0xC1, 0xE2, 0x55, 0x3C, 0x0D, 0xA1, /* 0120 */ 0x3C, 0x29, 0x84, 0x8A, 0x54, 0x19, 0x8A, 0x86, /* 0128 */ 0x1E, 0xA5, 0x42, 0x01, 0xCE, 0xE6, 0x21, 0xDC, /* 0130 */ 0x1A, 0x41, 0x85, 0x10, 0x2B, 0x52, 0xAC, 0xF6, /* 0138 */ 0x07, 0x41, 0x42, 0x2E, 0x5B, 0xC7, 0x07, 0x47, /* 0140 */ 0x1A, 0x0D, 0xEA, 0x50, 0xE0, 0xB1, 0x7B, 0xDC, /* 0148 */ 0xCF, 0x02, 0x3E, 0x08, 0x9C, 0x5B, 0x90, 0xA3, /* 0150 */ 0x3B, 0x8B, 0x47, 0x85, 0x83, 0xF6, 0xF0, 0xD8, /* 0158 */ 0x6D, 0xC0, 0x67, 0x08, 0x9F, 0x02, 0xF0, 0xAE, /* 0160 */ 0x01, 0x35, 0xFD, 0x83, 0x67, 0x82, 0xE0, 0x50, /* 0168 */ 0x43, 0xF4, 0xA8, 0xC3, 0x9D, 0xC0, 0x21, 0x32, /* 0170 */ 0x40, 0x4F, 0xEA, 0xB8, 0xB1, 0x83, 0x3B, 0x99, /* 0178 */ 0x83, 0x7E, 0x6F, 0x68, 0xF6, 0xC6, 0x40, 0x08, /* 0180 */ 0x8E, 0xC7, 0x97, 0x05, 0x36, 0xE1, 0x04, 0x96, /* 0188 */ 0x3F, 0x08, 0xD4, 0xC8, 0x0C, 0xED, 0x51, 0x9E, /* 0190 */ 0x56, 0xCC, 0x90, 0xCF, 0x0C, 0x26, 0xB0, 0x58, /* 0198 */ 0x08, 0x29, 0x80, 0xD0, 0x78, 0xC0, 0x7F, 0x03, /* 01A0 */ 0x78, 0xC0, 0xF0, 0xCD, 0xC0, 0xF3, 0x35, 0xC1, /* 01A8 */ 0xB0, 0x10, 0x32, 0xB2, 0x0A, 0x8F, 0x87, 0x8E, /* 01B0 */ 0xC2, 0xD7, 0x83, 0xC3, 0x39, 0xAD, 0x78, 0x26, /* 01B8 */ 0x18, 0x0E, 0x42, 0x27, 0x09, 0x8B, 0x1A, 0x36, /* 01C0 */ 0x3D, 0x39, 0xF0, 0x43, 0x03, 0xBB, 0x19, 0x9C, /* 01C8 */ 0xC1, 0x23, 0x80, 0x47, 0x72, 0x42, 0xFE, 0x98, /* 01D0 */ 0x78, 0x60, 0xF0, 0x01, 0xF1, 0xDE, 0xA7, 0x4C, /* 01D8 */ 0x46, 0x70, 0xA6, 0x06, 0xF4, 0x71, 0xC0, 0xFF, /* 01E0 */ 0xFF, 0xA1, 0xF0, 0x21, 0x7A, 0x7C, 0xA7, 0x7C, /* 01E8 */ 0xBC, 0x96, 0x00, 0x21, 0x59, 0xE3, 0x84, 0x7E, /* 01F0 */ 0x87, 0xF0, 0xF1, 0xC3, 0x47, 0x16, 0x47, 0x84, /* 01F8 */ 0x90, 0x93, 0x53, 0x00, 0x1A, 0xF8, 0x74, 0xCF, /* 0200 */ 0x2E, 0xC2, 0xE9, 0x7A, 0x52, 0x0E, 0x34, 0x0C, /* 0208 */ 0x3A, 0x4E, 0x70, 0x9C, 0x07, 0xC0, 0x31, 0x4E, /* 0210 */ 0xF8, 0xE7, 0x02, 0xF8, 0x03, 0xE4, 0xA7, 0x8C, /* 0218 */ 0x57, 0x8C, 0x04, 0x8E, 0x39, 0x42, 0xF4, 0xB9, /* 0220 */ 0xC6, 0x23, 0xC4, 0xC2, 0x3F, 0x55, 0x14, 0x3E, /* 0228 */ 0x10, 0x32, 0x46, 0x70, 0x01, 0x7A, 0x8C, 0xC0, /* 0230 */ 0x37, 0xE0, 0x18, 0xD1, 0x47, 0x09, 0xAE, 0xFE, /* 0238 */ 0xA0, 0x41, 0x07, 0x88, 0xFB, 0xFF, 0x0F, 0x10, /* 0240 */ 0x3E, 0xA8, 0x07, 0x08, 0x7C, 0xA3, 0x1F, 0x3D, /* 0248 */ 0xD0, 0xE3, 0xB2, 0xE8, 0xF3, 0x80, 0x8C, 0x9F, /* 0250 */ 0x68, 0x34, 0x2F, 0x7E, 0x3A, 0xE0, 0x87, 0x0F, /* 0258 */ 0xF0, 0x80, 0x7A, 0x48, 0x38, 0x50, 0xCC, 0xB4, /* 0260 */ 0x39, 0xE8, 0xB3, 0xCB, 0xA1, 0x63, 0x87, 0x0B, /* 0268 */ 0xFE, 0x13, 0x08, 0xB8, 0xE4, 0x1D, 0xC2, 0x40, /* 0270 */ 0x31, 0x62, 0xFC, 0x39, 0xC8, 0xA7, 0x30, 0xF0, /* 0278 */ 0xFF, 0xFF, 0x4F, 0x61, 0xB8, 0x11, 0xF0, 0x20, /* 0280 */ 0xAF, 0x05, 0x9F, 0xB6, 0xA8, 0x74, 0x18, 0xD4, /* 0288 */ 0x81, 0x0B, 0x30, 0x09, 0x1A, 0xE1, 0x59, 0xA2, /* 0290 */ 0x36, 0x08, 0x01, 0xBF, 0x4D, 0xBC, 0x6D, 0xF9, /* 0298 */ 0x16, 0x10, 0xE7, 0xC8, 0x7B, 0x3B, 0x70, 0x11, /* 02A0 */ 0x8C, 0x08, 0xA7, 0x1D, 0xCA, 0x63, 0x88, 0x18, /* 02A8 */ 0x23, 0xCA, 0xE3, 0x96, 0x51, 0xDE, 0xB6, 0x5E, /* 02B0 */ 0x00, 0xE2, 0x9D, 0xE5, 0xF3, 0x96, 0x31, 0x82, /* 02B8 */ 0x47, 0x7E, 0xE0, 0x62, 0x62, 0xDF, 0x13, 0xFA, /* 02C0 */ 0xB9, 0xF9, 0xC0, 0x05, 0x38, 0xFB, 0xFF, 0x1F, /* 02C8 */ 0xB8, 0x00, 0x0E, 0x05, 0x3D, 0x0C, 0xA1, 0x87, /* 02D0 */ 0xE1, 0xA9, 0x9C, 0xCB, 0x13, 0xE5, 0xA9, 0x44, /* 02D8 */ 0x8C, 0x1A, 0x26, 0xEA, 0x33, 0x94, 0x2F, 0x1A, /* 02E0 */ 0x3E, 0x10, 0x81, 0xEF, 0xCC, 0x05, 0xFC, 0xFE, /* 02E8 */ 0xFF, 0x07, 0x22, 0x38, 0x02, 0xCF, 0x34, 0xA0, /* 02F0 */ 0xF4, 0x39, 0x03, 0x81, 0x9C, 0x8A, 0x0F, 0x35, /* 02F8 */ 0xC0, 0x48, 0xF4, 0xAB, 0xC1, 0x27, 0x1A, 0x2A, /* 0300 */ 0x13, 0x06, 0x75, 0xA8, 0x01, 0x4C, 0x5E, 0x61, /* 0308 */ 0x9E, 0x46, 0xCF, 0xF9, 0x59, 0xC6, 0xA7, 0x1A, /* 0310 */ 0x1F, 0x4A, 0x8D, 0x63, 0x88, 0x97, 0x99, 0x87, /* 0318 */ 0x1A, 0x1F, 0x0B, 0x5E, 0x49, 0x7D, 0xA8, 0x31, /* 0320 */ 0x54, 0x9C, 0x87, 0x1A, 0x9F, 0x48, 0x03, 0x45, /* 0328 */ 0x7D, 0xB3, 0x79, 0xB6, 0x31, 0x7A, 0x7C, 0xDF, /* 0330 */ 0x50, 0x0D, 0xF1, 0x50, 0xC3, 0x84, 0xBD, 0x23, /* 0338 */ 0xF4, 0xC1, 0xF5, 0xA1, 0x06, 0x1C, 0xFF, 0xFF, /* 0340 */ 0x43, 0x0D, 0xC0, 0xFF, 0xFF, 0xFF, 0xA1, 0x06, /* 0348 */ 0x70, 0x74, 0x34, 0x80, 0x73, 0x64, 0xC4, 0x1D, /* 0350 */ 0x0D, 0xC0, 0x75, 0x28, 0x05, 0x0E, 0x47, 0x03, /* 0358 */ 0xE0, 0x71, 0x14, 0x02, 0xF3, 0x85, 0xC6, 0x47, /* 0360 */ 0x21, 0x60, 0xF1, 0xFF, 0x3F, 0x0A, 0xE1, 0x64, /* 0368 */ 0x9F, 0x83, 0x50, 0x42, 0x8F, 0x42, 0x80, 0x54, /* 0370 */ 0xC8, 0xA7, 0x88, 0x67, 0x1F, 0x5F, 0x7E, 0x1E, /* 0378 */ 0x08, 0x22, 0xBC, 0xE6, 0xFB, 0x14, 0xE4, 0x43, /* 0380 */ 0xBE, 0x8F, 0x42, 0x0C, 0xC6, 0x50, 0xBE, 0x06, /* 0388 */ 0xF9, 0x28, 0xC4, 0xA0, 0x5E, 0x83, 0x7C, 0xDF, /* 0390 */ 0x37, 0xC8, 0x91, 0x18, 0xFB, 0x99, 0xC0, 0x47, /* 0398 */ 0x21, 0x26, 0xED, 0x28, 0x04, 0x28, 0xFC, 0xFF, /* 03A0 */ 0x1F, 0x85, 0x00, 0xFE, 0xFF, 0xFF, 0x8F, 0x42, /* 03A8 */ 0x80, 0xB3, 0x00, 0x47, 0x03, 0xD0, 0x4D, 0xEB, /* 03B0 */ 0x51, 0x08, 0xBC, 0x77, 0x96, 0xD3, 0x3E, 0x01, /* 03B8 */ 0x9F, 0x85, 0x00, 0xB3, 0xFF, 0xFF, 0xB3, 0x10, /* 03C0 */ 0x30, 0x3B, 0x0A, 0x45, 0x3D, 0xE8, 0x57, 0xA1, /* 03C8 */ 0x27, 0x80, 0x17, 0x80, 0x18, 0x61, 0xDE, 0x81, /* 03D0 */ 0x5E, 0x32, 0xD9, 0x5D, 0xDC, 0x38, 0x4F, 0x2E, /* 03D8 */ 0xA7, 0x6D, 0x94, 0x97, 0x20, 0x1F, 0x28, 0x9E, /* 03E0 */ 0x85, 0x0C, 0xF5, 0x2E, 0x14, 0xF4, 0x8D, 0xDC, /* 03E8 */ 0xA3, 0x8C, 0x19, 0x3F, 0xC4, 0xF3, 0x90, 0x21, /* 03F0 */ 0x9E, 0x85, 0x00, 0x76, 0xFD, 0xFF, 0xCF, 0x42, /* 03F8 */ 0x00, 0xFF, 0xFF, 0xFF, 0x47, 0x03, 0xF8, 0x2F, /* 0400 */ 0x00, 0x9F, 0x85, 0x80, 0xE7, 0x09, 0xE0, 0x41, /* 0408 */ 0xDB, 0x67, 0x21, 0x80, 0x33, 0x87, 0xCB, 0xF3, /* 0410 */ 0x0F, 0x7A, 0x60, 0xEF, 0x11, 0x9E, 0xF5, 0x71, /* 0418 */ 0xBF, 0x5E, 0x7A, 0xE0, 0x0F, 0x05, 0xCF, 0x42, /* 0420 */ 0x0C, 0xEB, 0x98, 0x7C, 0x16, 0x62, 0x10, 0x2F, /* 0428 */ 0x9A, 0x86, 0x78, 0xE1, 0xF4, 0x61, 0xC0, 0xFF, /* 0430 */ 0x7F, 0xBC, 0xC0, 0xAF, 0x9C, 0x06, 0x0A, 0x12, /* 0438 */ 0xE8, 0x59, 0x08, 0x60, 0xFC, 0xFF, 0xFF, 0x2C, /* 0440 */ 0x04, 0x90, 0x71, 0x8D, 0x3A, 0x0B, 0x01, 0xCB, /* 0448 */ 0x63, 0x0C, 0x3B, 0xAD, 0x24, 0xF8, 0xFF, 0x3F, /* 0450 */ 0x0B, 0x01, 0x9F, 0x5C, 0x46, 0x0E, 0x42, 0x98, /* 0458 */ 0x88, 0x6F, 0x05, 0x1F, 0x33, 0x01, 0xA5, 0xE7, /* 0460 */ 0xA0, 0x17, 0x77, 0x63, 0x04, 0x7E, 0x91, 0x78, /* 0468 */ 0xCC, 0x64, 0x47, 0x4D, 0xC3, 0x3C, 0x0B, 0x19, /* 0470 */ 0xEF, 0x30, 0xCE, 0xE0, 0x09, 0xDE, 0x93, 0x7F, /* 0478 */ 0x16, 0x62, 0x60, 0xC7, 0x18, 0xEC, 0x51, 0xC8, /* 0480 */ 0xA0, 0x06, 0x8F, 0x1D, 0x22, 0x4C, 0xA0, 0x67, /* 0488 */ 0x21, 0x16, 0x6A, 0xDC, 0x3A, 0x7F, 0xF8, 0x2C, /* 0490 */ 0x04, 0xBC, 0xFF, 0xFF, 0x67, 0x21, 0xC0, 0xD3, /* 0498 */ 0x61, 0xC3, 0x67, 0x0D, 0xF0, 0x0C, 0xDF, 0xA3, /* 04A0 */ 0x3A, 0x87, 0xC7, 0x63, 0xE0, 0x92, 0x55, 0xC7, /* 04A8 */ 0x09, 0x83, 0xE5, 0x5E, 0xA7, 0x6C, 0x9C, 0x61, /* 04B0 */ 0xE8, 0x20, 0xAC, 0x0E, 0x48, 0xC3, 0xC1, 0xDC, /* 04B8 */ 0x43, 0x0E, 0xE2, 0x7C, 0xD8, 0x40, 0xAD, 0x08, /* 04C0 */ 0x4E, 0xC7, 0x24, 0x0F, 0xDA, 0x5A, 0x28, 0xA4, /* 04C8 */ 0x80, 0x46, 0x03, 0x32, 0xBC, 0x33, 0x9F, 0x96, /* 04D0 */ 0x28, 0x88, 0x01, 0x7D, 0x02, 0xB2, 0x8D, 0x73, /* 04D8 */ 0x00, 0x6A, 0x2F, 0x9A, 0x02, 0x39, 0xDA, 0x60, /* 04E0 */ 0xF4, 0x5F, 0x16, 0xE8, 0x6C, 0x7C, 0x0D, 0xE0, /* 04E8 */ 0x1A, 0x20, 0x74, 0x30, 0x30, 0xB4, 0xD5, 0xDC, /* 04F0 */ 0x62, 0x50, 0x60, 0xC6, 0x7F, 0x70, 0x31, 0x81, /* 04F8 */ 0x8F, 0x2E, 0xF8, 0xB3, 0x00, 0xEE, 0xFF, 0x3F, /* 0500 */ 0x5C, 0x8F, 0xF6, 0x5D, 0xA0, 0xEA, 0xC9, 0xEA, /* 0508 */ 0x8A, 0x60, 0x75, 0x97, 0x17, 0x08, 0x33, 0x32, /* 0510 */ 0x41, 0x7D, 0x07, 0x02, 0x50, 0x00, 0xF9, 0x0E, /* 0518 */ 0xE0, 0xA3, 0xD3, 0x73, 0x00, 0x9B, 0x48, 0x88, /* 0520 */ 0x30, 0xD1, 0x8C, 0x8E, 0x98, 0x30, 0x2A, 0xFA, /* 0528 */ 0x84, 0x29, 0x88, 0x27, 0xEC, 0x58, 0x13, 0x46, /* 0530 */ 0xCF, 0xC4, 0x77, 0x1B, 0x36, 0x62, 0x4C, 0x88, /* 0538 */ 0xDB, 0x06, 0xB4, 0x09, 0x06, 0xF5, 0x3D, 0x08, /* 0540 */ 0xD6, 0x90, 0xF9, 0x58, 0x7C, 0x67, 0xC0, 0x4D, /* 0548 */ 0x19, 0x8C, 0x73, 0x62, 0xD7, 0x04, 0x0B, 0x9C, /* 0550 */ 0x33, 0xC8, 0xE1, 0x31, 0xD7, 0x2F, 0x7E, 0x5B, /* 0558 */ 0xF2, 0xE8, 0xF8, 0x41, 0xC1, 0x37, 0x1C, 0x86, /* 0560 */ 0xFD, 0x30, 0xE6, 0x19, 0xBD, 0x8A, 0xF9, 0xE6, /* 0568 */ 0x86, 0x81, 0xF5, 0x78, 0x39, 0xAC, 0xD1, 0xC2, /* 0570 */ 0x1E, 0xDA, 0xAB, 0x87, 0xCF, 0x2D, 0x3E, 0x4F, /* 0578 */ 0x18, 0x23, 0xAC, 0x2F, 0x2C, 0xE0, 0x00, 0xFC, /* 0580 */ 0xFF, 0xBF, 0x5A, 0xC1, 0xBE, 0x6B, 0x80, 0xE7, /* 0588 */ 0x26, 0xE4, 0xBB, 0x06, 0xC0, 0xDA, 0xFF, 0xFF, /* 0590 */ 0x5D, 0x03, 0xFE, 0x35, 0xC1, 0x77, 0x0D, 0xE0, /* 0598 */ 0x3D, 0x74, 0xDF, 0x35, 0x80, 0x6B, 0xF6, 0xBB, /* 05A0 */ 0x06, 0xEA, 0x18, 0x60, 0x85, 0x77, 0x0D, 0x68, /* 05A8 */ 0xB7, 0xB4, 0x57, 0xB4, 0x87, 0x2A, 0x6B, 0xBA, /* 05B0 */ 0x6C, 0xA0, 0xD4, 0x5C, 0x36, 0x00, 0x6D, 0xFF, /* 05B8 */ 0xFF, 0xCB, 0x06, 0xB0, 0x91, 0x32, 0x61, 0x54, /* 05C0 */ 0xF8, 0x09, 0x53, 0x10, 0x4F, 0xD8, 0xC1, 0x2E, /* 05C8 */ 0x1B, 0xA0, 0x88, 0x71, 0xD9, 0x00, 0xFD, 0xD8, /* 05D0 */ 0x5E, 0x36, 0x80, 0xC1, 0x3D, 0x81, 0xDF, 0x36, /* 05D8 */ 0x80, 0x37, 0xA4, 0x6F, 0x1B, 0xC0, 0xF4, 0xFF, /* 05E0 */ 0x0F, 0x31, 0xFF, 0x6D, 0x03, 0xC5, 0x61, 0x95, /* 05E8 */ 0xB7, 0x0D, 0x88, 0x87, 0x77, 0x46, 0x60, 0x55, /* 05F0 */ 0xD7, 0x0D, 0x94, 0x9E, 0xEB, 0x06, 0x40, 0x02, /* 05F8 */ 0x31, 0x13, 0x46, 0xC5, 0x9F, 0x30, 0x05, 0xF1, /* 0600 */ 0x84, 0x1D, 0xED, 0xBA, 0x01, 0x8A, 0x20, 0xD7, /* 0608 */ 0x0D, 0xD0, 0xCF, 0xEB, 0x94, 0xC1, 0xFA, 0xFF, /* 0610 */ 0xBF, 0x6E, 0x60, 0x2F, 0x0A, 0x98, 0xFB, 0x06, /* 0618 */ 0xF0, 0x86, 0xE5, 0xF7, 0x0D, 0xC0, 0xC7, 0xE5, /* 0620 */ 0x1B, 0x73, 0xDF, 0x00, 0x6C, 0xFE, 0xFF, 0xEF, /* 0628 */ 0x1B, 0x00, 0x13, 0x2E, 0x0A, 0xB8, 0xFB, 0x06, /* 0630 */ 0xF0, 0xBE, 0x48, 0xFB, 0xBE, 0x01, 0x5C, 0x83, /* 0638 */ 0x49, 0xF8, 0xFF, 0xDF, 0xF5, 0xE8, 0x0B, 0x40, /* 0640 */ 0x51, 0x60, 0x50, 0x43, 0xF2, 0x99, 0x00, 0x3F, /* 0648 */ 0xBA, 0x83, 0x3B, 0xA6, 0xE0, 0x4C, 0x12, 0x1C, /* 0650 */ 0x6A, 0xE0, 0xBE, 0x02, 0x3C, 0xCD, 0x9F, 0xD6, /* 0658 */ 0x7B, 0xBD, 0xE7, 0xF1, 0x24, 0x10, 0x92, 0x1D, /* 0660 */ 0x61, 0x7C, 0x6C, 0x43, 0x9C, 0x0C, 0xC8, 0x41, /* 0668 */ 0xDC, 0x47, 0xF7, 0x88, 0xEF, 0xE1, 0x86, 0x49, /* 0670 */ 0xE0, 0x21, 0x33, 0x34, 0x0E, 0x8D, 0x1D, 0x86, /* 0678 */ 0xEF, 0x02, 0xC1, 0x0E, 0xE2, 0x30, 0xCE, 0xD7, /* 0680 */ 0x04, 0x9E, 0xD0, 0x83, 0xC0, 0x7B, 0xF9, 0xA3, /* 0688 */ 0x41, 0xF1, 0x77, 0x03, 0x4A, 0x60, 0xB8, 0xD0, /* 0690 */ 0x98, 0x91, 0xFA, 0x6C, 0xFF, 0x8E, 0x70, 0x24, /* 0698 */ 0x26, 0xB0, 0x7B, 0x48, 0x59, 0x13, 0xA0, 0xF1, /* 06A0 */ 0x96, 0x43, 0x20, 0x7A, 0xC3, 0x91, 0x2D, 0x14, /* 06A8 */ 0xCD, 0x2D, 0xCA, 0xFB, 0x42, 0x14, 0x3B, 0x43, /* 06B0 */ 0x10, 0x46, 0x94, 0x60, 0x41, 0x9E, 0xD6, 0x62, /* 06B8 */ 0x45, 0x79, 0x66, 0x37, 0x42, 0xC4, 0x10, 0xAF, /* 06C0 */ 0x0C, 0x81, 0x5E, 0x12, 0xC2, 0x07, 0x79, 0xEC, /* 06C8 */ 0x89, 0xD3, 0xFE, 0x20, 0x88, 0xF8, 0x17, 0x82, /* 06D0 */ 0x3C, 0x80, 0x28, 0xD2, 0x68, 0x50, 0xE7, 0x06, /* 06D8 */ 0x8F, 0xDD, 0x87, 0x10, 0x5F, 0xFE, 0x7D, 0xB8, /* 06E0 */ 0xF7, 0xE8, 0x0E, 0xEE, 0x45, 0xFE, 0xA0, 0x3D, /* 06E8 */ 0x3C, 0x76, 0xC2, 0xF0, 0x41, 0x03, 0x8E, 0x6B, /* 06F0 */ 0x40, 0x4D, 0xFF, 0x19, 0x01, 0x2C, 0x97, 0x7F, /* 06F8 */ 0xF8, 0xE3, 0xF1, 0x3D, 0xC1, 0xF3, 0x39, 0xE1, /* 0700 */ 0x04, 0x96, 0x3F, 0x08, 0xD4, 0x71, 0x84, 0xCF, /* 0708 */ 0xF3, 0x85, 0xC3, 0x90, 0xCF, 0x02, 0x87, 0xC5, /* 0710 */ 0xC4, 0x0A, 0xF8, 0xFF, 0x9F, 0x4C, 0xD8, 0x78, /* 0718 */ 0xC0, 0x7F, 0x0F, 0x79, 0xFD, 0xF7, 0xCD, 0xC0, /* 0720 */ 0xF3, 0x35, 0xC1, 0x88, 0x10, 0x72, 0x32, 0x1E, /* 0728 */ 0x34, 0xE8, 0xD9, 0xF8, 0x80, 0xE1, 0xEB, 0x09, /* 0730 */ 0x3B, 0x77, 0x70, 0x51, 0xE7, 0x0E, 0xD4, 0xD1, /* 0738 */ 0xC1, 0xA7, 0x06, 0x76, 0xB3, 0xC1, 0x1C, 0xB7, /* 0740 */ 0xF9, 0x59, 0x03, 0xFC, 0x23, 0x84, 0x7F, 0x7B, /* 0748 */ 0xF0, 0xBC, 0x7C, 0x65, 0x78, 0x75, 0x48, 0xE0, /* 0750 */ 0x90, 0x23, 0x44, 0x8F, 0xCB, 0x23, 0xC4, 0x9C, /* 0758 */ 0x6F, 0x30, 0x43, 0x04, 0xD7, 0x59, 0x00, 0x1C, /* 0760 */ 0x43, 0x04, 0x3E, 0x67, 0x4C, 0x9F, 0x71, 0x60, /* 0768 */ 0xFE, 0xFF, 0xCF, 0x38, 0xEC, 0xD2, 0xC3, 0x07, /* 0770 */ 0x6A, 0x78, 0x13, 0xF8, 0xFE, 0x8C, 0x3B, 0xD2, /* 0778 */ 0x18, 0x9C, 0x1F, 0x33, 0x1E, 0x76, 0x18, 0xF8, /* 0780 */ 0xFB, 0x8E, 0x67, 0x70, 0x34, 0x3E, 0xA0, 0x18, /* 0788 */ 0x21, 0xF8, 0x73, 0xC9, 0x73, 0x8A, 0x35, 0x0F, /* 0790 */ 0x52, 0x33, 0x7A, 0x67, 0x38, 0x04, 0x76, 0xB3, /* 0798 */ 0xC2, 0x1D, 0x38, 0x3C, 0x04, 0x3E, 0x80, 0x56, /* 07A0 */ 0x27, 0x47, 0x4E, 0x3F, 0xA7, 0x84, 0x1B, 0x3E, /* 07A8 */ 0xBF, 0x0A, 0x60, 0x0E, 0x41, 0x38, 0x85, 0x36, /* 07B0 */ 0x7D, 0x6A, 0x34, 0x6A, 0xD5, 0xA0, 0x4C, 0x8D, /* 07B8 */ 0x32, 0x0D, 0x6A, 0xF5, 0xA9, 0xD4, 0x98, 0xB1, /* 07C0 */ 0x0B, 0x8B, 0x03, 0xBE, 0x02, 0x74, 0x1C, 0xB0, /* 07C8 */ 0x3C, 0x0A, 0x1D, 0xC1, 0xC8, 0x9B, 0x40, 0x20, /* 07D0 */ 0x0E, 0x0B, 0x42, 0x23, 0xBD, 0x71, 0x04, 0x62, /* 07D8 */ 0xC9, 0xEF, 0x2F, 0x81, 0x58, 0xEE, 0x03, 0x45, /* 07E0 */ 0x20, 0x0E, 0x68, 0x02, 0x9C, 0xAA, 0x00, 0xA7, /* 07E8 */ 0xAF, 0x01, 0x81, 0x38, 0x32, 0x08, 0x15, 0xFA, /* 07F0 */ 0x35, 0x13, 0x88, 0x63, 0x82, 0xD0, 0x50, 0x3E, /* 07F8 */ 0x40, 0x98, 0xF4, 0x17, 0x80, 0x00, 0x89, 0x11, /* 0800 */ 0x10, 0x16, 0xEE, 0xE5, 0x20, 0x10, 0x4B, 0x7B, /* 0808 */ 0x2D, 0x08, 0xC4, 0x42, 0xAC, 0x80, 0xB0, 0xB8, /* 0810 */ 0x20, 0x34, 0x9C, 0x16, 0x10, 0x26, 0xC9, 0x0C, /* 0818 */ 0x08, 0x0B, 0x04, 0x42, 0xE5, 0x3F, 0xD3, 0x04, /* 0820 */ 0x62, 0x91, 0x6E, 0x00, 0xE9, 0xBA, 0x05, 0xE2, /* 0828 */ 0x20, 0x7A, 0x40, 0x98, 0x0C, 0x3F, 0x20, 0x2C, /* 0830 */ 0x34, 0x08, 0x8D, 0xF6, 0x6C, 0x10, 0x20, 0x31, /* 0838 */ 0x04, 0xC2, 0xE2, 0x3B, 0x02, 0x61, 0xE2, 0xDF, /* 0840 */ 0x44, 0x02, 0x71, 0x4A, 0x4B, 0x10, 0x37, 0xA5, /* 0848 */ 0x01, 0x06, 0x11, 0x90, 0x93, 0x6A, 0x02, 0x62, /* 0850 */ 0xB9, 0x41, 0x34, 0x24, 0xF2, 0xB0, 0x10, 0x90, /* 0858 */ 0x93, 0x82, 0x68, 0xC0, 0xC4, 0x14, 0x90, 0xFF, /* 0860 */ 0xFF, 0x43, 0x13, 0x88, 0x80, 0x9C, 0xCA, 0x15, /* 0868 */ 0x10, 0x8B, 0x08, 0x22, 0x20, 0x27, 0x7B, 0x52, /* 0870 */ 0x09, 0xC8, 0x39, 0x41, 0x74, 0x04, 0x20, 0xBA, /* 0878 */ 0x80, 0x58, 0x3E, 0x10, 0x01, 0x39, 0x96, 0x2F, /* 0880 */ 0x20, 0x16, 0x12, 0x44, 0x40, 0x4E, 0xF4, 0xF3, /* 0888 */ 0x09, 0x44, 0xE2, 0x81, 0x68, 0x10, 0xE4, 0x3F, /* 0890 */ 0x21, 0x20, 0x67, 0x04, 0x11, 0x10, 0x79, 0x12, /* 0898 */ 0x05, 0x21, 0x9A, 0x3E, 0x62, 0x02, 0x71, 0x6A, /* 08A0 */ 0x10, 0x9A, 0xEC, 0x27, 0x14, 0x84, 0xFC, 0xFF, /* 08A8 */ 0x01 }) } } Scope (_TZ) { Name (TPC, 0x64) Name (TPTM, 0x4B) Name (TPAS, 0x5F) Name (PSVT, 0x41) Name (PSVM, Zero) Name (DHOT, 0x5A) Name (HOTF, Zero) ThermalZone (THRM) { Method (_TMP, 0, NotSerialized) { If (ECON) { Store (\_SB.PCI0.LPC0.EC0.RTMP, Local0) If (LGreaterEqual (Local0, TPC)) { Store (One, HOTF) } Else { If (LLess (Local0, DHOT)) { Store (Zero, HOTF) } } Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Else { Return (Add (0x0AAC, Multiply (TPTM, 0x0A))) } } Method (_HOT, 0, Serialized) { If (LEqual (TPOS, 0x40)) { Return (Add (0x0AAC, Multiply (TPC, 0x0A))) } } Method (_CRT, 0, Serialized) { If (LNotEqual (TPOS, 0x40)) { Return (Add (0x0AAC, Multiply (TPC, 0x0A))) } } Method (_PSL, 0, NotSerialized) { If (LEqual (ECPU, 0x04)) { Return (Package (0x04) { \_PR.C000, \_PR.C001, \_PR.C002, \_PR.C003 }) } Else { If (LEqual (ECPU, 0x03)) { Return (Package (0x03) { \_PR.C000, \_PR.C001, \_PR.C002 }) } Else { If (LEqual (ECPU, 0x02)) { Return (Package (0x02) { \_PR.C000, \_PR.C001 }) } Else { Return (Package (0x01) { \_PR.C000 }) } } } } Method (_PSV, 0, NotSerialized) { If (LAnd (LEqual (PSVM, One), LEqual (OSTB, 0x50))) { Return (Add (0x0AAC, Multiply (PSVT, 0x0A))) } Else { Return (Add (0x0AAC, Multiply (TPAS, 0x0A))) } } Method (_SCP, 1, Serialized) { If (LAnd (LEqual (ECON, One), LEqual (OSTB, 0x50))) { Store (Arg0, PSVM) Store (PSVM, \_SB.PCI0.LPC0.EC0.TAPM) } } Method (_TC1, 0, NotSerialized) { Return (0x02) } Method (_TC2, 0, NotSerialized) { Return (0x03) } Method (_TSP, 0, NotSerialized) { Return (0x1E) } Name (REGN, "Processor Thermal Zone") Name (FMAX, 0x1388) Name (FMIN, 0x0960) Method (FRSP, 0, NotSerialized) { Store (Zero, Local2) If (ECON) { Store (\_SB.PCI0.LPC0.EC0.RPM1, Local0) Store (\_SB.PCI0.LPC0.EC0.RPM2, Local1) ShiftLeft (Local1, 0x08, Local1) Or (Local0, Local1, Local0) If (LNotEqual (Local0, Zero)) { Divide (0x00075300, Local0, , Local2) } } Return (Local2) } Method (FSSP, 1, NotSerialized) { If (ECON) { If (Arg0) { Store (Zero, \_SB.PCI0.LPC0.EC0.SFAN) } Else { Store (One, \_SB.PCI0.LPC0.EC0.SFAN) } } } } } }