/* * Intel ACPI Component Architecture * AML Disassembler version 20090521 * * Disassembly of DSDT.dat, Sat May 22 13:46:10 2010 * * * Original Table Header: * Signature "DSDT" * Length 0x0000A611 (42513) * Revision 0x01 **** ACPI 1.0, no 64-bit math support * Checksum 0x83 * OEM ID "TOSINV" * OEM Table ID "TOSINV00" * OEM Revision 0x00000001 (1) * Compiler ID "MSFT" * Compiler Version 0x01000013 (16777235) */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "TOSINV", "TOSINV00", 0x00000001) { Name (SP2O, 0x4E) Name (SP1O, 0x164E) Name (IO1B, 0x0600) Name (IO1L, 0x70) Name (IO2B, 0x0680) Name (IO2L, 0x20) Name (IO3B, 0x0290) Name (IO3L, 0x10) Name (MCHB, 0xFED10000) Name (MCHL, 0x4000) Name (EGPB, 0xFED19000) Name (EGPL, 0x1000) Name (DMIB, 0xFED18000) Name (DMIL, 0x1000) Name (IFPB, 0xFED14000) Name (IFPL, 0x1000) Name (PEBS, 0xE0000000) Name (PELN, 0x10000000) Name (TTTB, 0xFED20000) Name (TTTL, 0x00020000) Name (SMBS, 0xEFA0) Name (PBLK, 0x0410) Name (PMBS, 0x0400) Name (PMLN, 0x80) Name (LVL2, 0x0414) Name (LVL3, 0x0415) Name (LVL4, 0x0416) Name (SMIP, 0xB2) Name (GPBS, 0x0500) Name (GPLN, 0x40) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (PM30, 0x0430) Name (SRCB, 0xFED1C000) Name (SRCL, 0x4000) Name (SUSW, 0xFF) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, One) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (TRTP, One) Name (TRTD, 0x02) Name (TRTI, 0x03) Name (GCDD, One) Name (DSTA, 0x0A) Name (DSLO, 0x0C) Name (DSLC, 0x0E) Name (PITS, 0x10) Name (SBCS, 0x12) Name (SALS, 0x13) Name (LSSS, 0x2A) Name (PSSS, 0x2B) Name (SOOT, 0x35) Name (ESCS, 0x48) Name (PDBR, 0x4D) Name (SMBL, 0x10) OperationRegion (GPIO, SystemIO, 0x0500, 0x3C) Field (GPIO, ByteAcc, NoLock, Preserve) { Offset (0x0C), , 17, BTRS, 1, , 11, GP29, 1, Offset (0x10), Offset (0x38), , 1, , 1, CPEN, 1, , 4, GP39, 1, Offset (0x3A), GP48, 1 } OperationRegion (PMBA, SystemIO, 0x0400, 0x80) Field (PMBA, ByteAcc, NoLock, Preserve) { Offset (0x10), , 1, THDT, 4, Offset (0x28), , 2, SPST, 1, Offset (0x30), , 4, SSMI, 1, Offset (0x3C), , 1, POEN, 1, Offset (0x42), , 1, GPEC, 1, Offset (0x64), , 9, SCIS, 1, Offset (0x66) } OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x3000), Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, PATD, 1, SATD, 1, SMBD, 1, HDAD, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, RP5D, 1, RP6D, 1, Offset (0x3518), USBP, 3 } OperationRegion (MBOX, SystemMemory, 0xB7CBE618, 0x000002BC) 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, AC30, 8, TPMD, 8, TPMO, 8, TPMC, 8, TPMM, 8, TPCC, 8, TPLC, 8, TPLR, 32, QBOT, 8, BOTQ, 8, PBOT, 8, M256, 8, PEGF, 8, OSYS, 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, POPW, 16, USPW, 16, HDPW, 16, KRSV, 480, LANE, 8, AORS, 8, P0HP, 8, P1HP, 8, P4HP, 8, P5HP, 8, P0IL, 8, P1IL, 8, P2IL, 8, PEGS, 8, D2F1, 8, IGMT, 8, DTSZ, 8, CLKC, 8, CKSC, 8, BOTT, 8, PANT, 8, TVTP, 8, U201, 8, U202, 8, U111, 8, U112, 8, U113, 8, U114, 8, U115, 8, UPPC, 8, UP00, 8, UP01, 8, UP02, 8, UP03, 8, UP04, 8, UP05, 8, UP06, 8, UP07, 8, UP08, 8, UP09, 8, UP10, 8, UP11, 8, P80R, 8, WDOG, 8, WDTO, 16, WDTB, 16, MASF, 8, MAMT, 8, ABXP, 8, SPIL, 8, PWDW, 8, HETO, 8, AWTR, 16, EOPT, 8, ASFB, 8, MBTX, 8, IDER, 8, SOLE, 8, PRE0, 8, PRE1, 8, PRE2, 8, PRE3, 8, PRE4, 8, PRE5, 8, PRA0, 8, PRA1, 8, PRA2, 8, PRA3, 8, PRA4, 8, PRA5, 8, PRV0, 8, PRV1, 8, PRV2, 8, PRV3, 8, PRV4, 8, PRV5, 8, PAA0, 8, PAA1, 8, PAA2, 8, PAA3, 8, PAA4, 8, PAA5, 8, L0S0, 8, L0S1, 8, L0S2, 8, L0S3, 8, L0S4, 8, L0S5, 8, AL10, 8, AL11, 8, AL12, 8, AL13, 8, AL14, 8, AL15, 8, PES0, 8, PES1, 8, PES2, 8, PES3, 8, PES4, 8, PES5, 8, PRU0, 8, PRU1, 8, PRU2, 8, PRU3, 8, PRU4, 8, PRU5, 8, PRF0, 8, PRF1, 8, PRF2, 8, PRF3, 8, PRF4, 8, PRF5, 8, PRN0, 8, PRN1, 8, PRN2, 8, PRN3, 8, PRN4, 8, PRN5, 8, PRC0, 8, PRC1, 8, PRC2, 8, PRC3, 8, PRC4, 8, PRC5, 8, CTD0, 8, CTD1, 8, CTD2, 8, CTD3, 8, CTD4, 8, CTD5, 8, PIE0, 8, PIE1, 8, PIE2, 8, PIE3, 8, PIE4, 8, PIE5, 8, SFE0, 8, SFE1, 8, SFE2, 8, SFE3, 8, SFE4, 8, SFE5, 8, SNE0, 8, SNE1, 8, SNE2, 8, SNE3, 8, SNE4, 8, SNE5, 8, SCE0, 8, SCE1, 8, SCE2, 8, SCE3, 8, SCE4, 8, SCE5, 8, MCE0, 8, MCE1, 8, MCE2, 8, MCE3, 8, MCE4, 8, MCE5, 8, PCE0, 8, PCE1, 8, PCE2, 8, PCE3, 8, PCE4, 8, PCE5, 8, PTC0, 8, PTC1, 8, PTC2, 8, PTC3, 8, PTC4, 8, PTC5, 8, DAPM, 8, DPMA, 8, DL0S, 8, DAL1, 8, PEGA, 8, PGAA, 8, PGL0, 8, PL0A, 8, PGL1, 8, PGES, 8, PAVP, 8, ISTC, 8, TRML, 8, FNON, 8, TRON, 8, NXMD, 8, PCRR, 8, C4EN, 8, C43D, 8, EMTT, 8, PROH, 8, DFSB, 8, TUBM, 8, TSTE, 8, BPST, 8, QKS4, 8, POPU, 8, POPD, 8, C4ET, 8, NXFE, 8, VTST, 8, VTFE, 8, S5FG, 8, CSTS, 8, ENCS, 8, DEC4, 8, HC4E, 8, ENC6, 8, CSTR, 8, CMPE, 8, CSMD, 8, DTSE, 8, DTSC, 8, RAID, 8, PSHM, 8, PEXC, 8, DTST, 8, TXTS, 8, VTDE, 8, SMRR, 8, CART, 8, CATT, 8, ITPM, 8, STBE, 8, PEBE, 8, PCBE, 8, EHBE, 8, UHBE, 8, HABE, 8, MTME, 8, MTSD, 8, MTML, 8, ERS2, 8, GLPM, 8, CRSV, 520, ISTM, 8, ISTS, 8, PTDV, 8, WKOL, 8, WOWL, 8, WLEX, 8, ICIR, 8, IREX, 8, IWEX, 8, CRWK, 8, ILED, 8, XDBT, 8, TBMM, 8, TMEX, 8, AKWE, 8, SSPW, 8, TM01, 8, TM02, 8, HDD0, 8, HDD1, 8, HDD2, 8, HDD3, 8, HDD4, 8, HDD5, 8, USCM, 8, HCEC, 8, RPON, 8, RPOF, 8, HDDC, 8, MFGM, 8, IDAF, 8, ORSV, 312, HPOP, 8, LOCF, 8, PSTA, 8, CCMP, 8, DTP1, 8, SCBK, 8, SCBF, 8, FUBN, 8, KLED, 8, FNZL, 8, LTIM, 8, RGBP, 8, KBLE, 8, FBBP, 8, IHDD, 8, DRSV, 680 } OperationRegion (IO_T, SystemIO, 0x0800, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { Offset (0x02), Offset (0x04), Offset (0x06), Offset (0x08), TRP0, 8, Offset (0x0A), Offset (0x0B), Offset (0x0C), Offset (0x0D), Offset (0x0E), Offset (0x0F), Offset (0x10) } OperationRegion (IO_D, SystemIO, 0x0810, 0x08) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (IO_H, SystemIO, 0x0820, 0x04) Field (IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8 } OperationRegion (NVST, SystemMemory, 0xB7CBE8D4, 0x00000312) Field (NVST, AnyAcc, Lock, Preserve) { SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, CRTT, 8, Offset (0x15), DTS1, 8, DTS2, 8, DTSF, 8, BNUM, 8, APIC, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, BDSP, 8, PTY1, 8, PTY2, 8, PSCL, 8, TVF1, 8, TVF2, 8, GETM, 8, BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, EMAE, 8, EMAP, 16, EMAL, 16, MEFE, 8, DSTS, 8, TPMP, 8, TPME, 8, GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 8, ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IPC, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, LCDA, 16, BVAL, 32, KSV0, 32, KSV1, 8, USBM, 32, TPID, 8, TCON, 8, TCTM, 8, MSRR, 8, CPUT, 8, BTLT, 8, Offset (0x100), ACPS, 8, CPUS, 8, CPUL, 8, ECRO, 8, ECRM, 8, ECRS, 8, ECRD, 8, REVD, 8 } Name (INIF, Zero) Name (CAGA, Package (0x0D) { Zero }) Name (CAGB, Package (0x10) { Zero }) Name (CAGC, Package (0x1A) { Zero }) Name (CAGD, Package (0x13) { Zero }) Name (FNKC, Buffer (0x50) { 0x00 }) Name (RETP, Package (0x06) { Zero }) Name (USAC, Zero) Name (BTCG, One) Name (OVEE, Zero) Name (BLEW, Zero) Name (OVET, 0x3C) Name (BLET, 0x32) Name (MSRS, Zero) Name (BINO, 0x46) Name (PWBS, Zero) Name (ACBS, Zero) Name (ACBW, Zero) Mutex (MUTS, 0x00) Mutex (MUTE, 0x00) OperationRegion (PSMI, SystemIO, 0xB2, 0x02) Field (PSMI, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8 } Field (NVST, AnyAcc, Lock, Preserve) { Offset (0x108), EGST, 8, LCDS, 4, CECS, 1, CECP, 1, HDMI, 1, HKMD, 1, TSBK, 1, SDAT, 1, DCIR, 1, DBTN, 2, HKEM, 1, HSEM, 1, IECC, 1, HSWK, 8, LCMD, 8, SVCF, 8, SWB0, 32, SWB1, 32, SWB2, 32, SWB3, 32, SWB4, 32, SWB5, 32, SWB6, 32, SWB7, 32, KYB0, 32, Offset (0x14E), IEC0, 8, IEC1, 8, IEC2, 8, CECC, 8, CECE, 32, CECI, 16, CECZ, 8, CECF, 8, CEC1, 32, CEC2, 32, CEC3, 32, CEC4, 32, CEC5, 32, LENA, 8, LENB, 8, LENC, 8, LEND, 8, IFNK, 640, ICMD, 2560, RESL, 32, RESV, 16, USC1, 32, USC2, 32, VGAM, 8, TJET, 8 } Field (NVST, AnyAcc, Lock, Preserve) { Offset (0x12E), KYBF, 8, KYBA, 248 } Field (NVST, AnyAcc, Lock, Preserve) { Offset (0x10E), SWBF, 256, KYBB, 256, Offset (0x172), F0CM, 8, JFNK, 224, CYCC, 16, BTV1, 32, BTV2, 32, ILLU, 8 } OperationRegion (WNBD, SystemMemory, 0xFF800100, 0x0100) Field (WNBD, ByteAcc, Lock, Preserve) { Offset (0x02), LRPM, 8, HRPM, 8, RCPU, 8, EVCT, 8, Offset (0x08), , 4, PERN, 1, ECSL, 1, POFL, 1, Offset (0x0A), VGAT, 8, THRF, 3, , 1, PR10, 4, Offset (0x11), BCM1, 40, Offset (0x17), FKST, 2, Offset (0x18), CMW1, 32, CMW2, 32, CMW3, 32, CMW4, 32, CMW5, 32, CMR1, 32, CMR2, 32, CMR3, 32, CMR4, 32, CMR5, 32, EC92, 8, EC93, 8, EC94, 8, EC95, 8, EC96, 8, EC99, 8, EC9A, 8, EC9C, 8, EC9D, 8, EC9E, 8, EC9F, 8, ECA0, 8, ECA2, 8, ECA3, 8, ECA4, 8, ECA5, 8, ECA7, 8, ECA8, 8, ECA9, 8, ECAA, 8, ECAB, 8, ECAC, 8, ECAD, 8, ECAE, 8, ECAF, 8, ECB6, 8, ECB8, 8, ECB9, 8, ECBA, 8, ECBD, 8, ECBE, 8, ECBF, 8, ECC0, 8, ECC1, 8, ECC2, 8, ECC5, 8, ECC6, 8, ECC8, 8, ECC9, 8, ECCA, 8, ECCB, 8, ECD7, 8, ECDB, 8, ECDF, 8, ECE2, 8, ECE3, 8, Offset (0x6F), HDS0, 16, HDS1, 16, HDST, 16, HDSS, 8, BCM2, 64, PHC1, 32, PHC2, 32, BATI, 8, PHC3, 32, PHC4, 32, PWMS, 8, B1VT, 16, B1CC, 16, B1TP, 8, MFAN, 16, EVTC, 4, Offset (0x98), ADVT, 8, ACCA, 8, ACCR, 16, Offset (0x9E), HSRL, 8, BSS1, 8, BSS2, 8, PHMT, 1, , 5, DVLK, 1, LAG2, 1, PWRT, 8, Offset (0xA6), EWRB, 32, ERDB, 32, Offset (0xB0), BCV1, 16, BCV2, 32, Offset (0xB8), SCRI, 1 } Method (RDEC, 3, Serialized) { Acquire (MUTE, 0xFFFF) Store (Arg0, ECRO) Store (Arg1, ECRM) Store (Arg2, ECRS) FLNK (0xFF, 0x0E) Store (ECRD, Local0) Release (MUTE) Return (Local0) } Method (WREC, 4, Serialized) { Acquire (MUTE, 0xFFFF) Store (Arg0, ECRO) Store (Arg1, ECRM) Store (Arg2, ECRS) Store (Arg3, ECRD) FLNK (0xFF, 0x0F) Release (MUTE) } Method (FLNK, 2, Serialized) { If (LEqual (IECC, Zero)) { Add (IEC2, 0x03, IEC2) Decrement (IEC1) Subtract (IEC0, 0x0B, IEC0) Store (One, IECC) } If (LEqual (Arg0, 0xFF)) { Store (Arg1, SVCF) } Else { Store (Arg1, SWB0) } Store (Arg0, LCMD) Store (0xFF, APMD) Store (0xE3, APMC) Return (And (SWB0, 0xFF)) } Method (CECK, 0, NotSerialized) { Store (0x08, Local2) While (Local2) { If (LEqual (CMW1, Ones)) { If (LEqual (CMW2, Ones)) { If (LEqual (CMW3, Ones)) { If (LEqual (CMW4, Ones)) { If (LEqual (CMW5, Ones)) { Store (One, Local2) } } } } } If (LNotEqual (Local2, One)) { Sleep (0x96) } Decrement (Local2) } } Method (TINC, 2, NotSerialized) { CreateDWordField (Arg1, Arg0, DCMD) Return (DCMD) } Method (TINI, 0, NotSerialized) { Name (TMPB, Buffer (0x0154) { 0x00 }) FLNK (0xFF, Zero) CopyObject (ICMD, TMPB) Store (Zero, Local2) Store (Zero, Local1) While (LLess (Local1, LENA)) { Store (TINC (Local2, TMPB), Local0) Store (Local0, Index (CAGA, Local1)) Add (Local2, 0x04, Local2) Increment (Local1) } Store (Zero, Local1) While (LLess (Local1, LENB)) { Store (TINC (Local2, TMPB), Local0) Store (Local0, Index (CAGB, Local1)) Add (Local2, 0x04, Local2) Increment (Local1) } Store (Zero, Local1) While (LLess (Local1, LENC)) { Store (TINC (Local2, TMPB), Local0) Store (Local0, Index (CAGC, Local1)) Add (Local2, 0x04, Local2) Increment (Local1) } Store (Zero, Local1) While (LLess (Local1, LEND)) { Store (TINC (Local2, TMPB), Local0) Store (Local0, Index (CAGD, Local1)) Add (Local2, 0x04, Local2) Increment (Local1) } Store (IFNK, FNKC) Store (Zero, ICMD) Store (Zero, IFNK) If (And (EC94, One)) { If (BTCG) { Store (One, F0CM) FLNK (0xFF, Zero) Store (Zero, BTCG) } } } Method (PARG, 1, NotSerialized) { CreateDWordField (Arg0, Zero, LARG) Return (LARG) } Method (CKIF, 0, NotSerialized) { If (LEqual (INIF, Zero)) { Acquire (MUTS, 0xFFFF) Store (0x0F, ILLU) TINI () CLRB () Release (MUTS) Store (One, INIF) } } Method (CHKB, 0, Serialized) { Store (0x0F, Local0) If (LEqual (And (ECE2, 0xC0), 0xC0)) { Return (Zero) } If (LLess (OSYS, 0x07D6)) { Return (Zero) } Return (Local0) } Device (_SB.HSB1) { Name (_HID, EisaId ("PNP0C32")) Name (_UID, One) Method (_STA, 0, NotSerialized) { Return (CHKB ()) } Method (GHID, 0, NotSerialized) { Return (Buffer (One) { 0x01 }) } } Mutex (MUTM, 0x00) Name (RETA, Package (0x06) { Zero }) Name (HDSP, 0x0F) Name (SYBZ, Zero) Name (HDSB, Zero) Name (HDSD, Zero) Name (RFMD, 0xA0) Name (VADV, 0xBE) Name (VACC, 0x0100) Name (ECRT, Package (0x08) { Zero }) Method (CLRB, 0, NotSerialized) { Store (Zero, Local0) While (LLess (Local0, 0x08)) { Store (Zero, Index (ECRT, Local0)) Increment (Local0) } Store (Zero, EWRB) Store (Zero, ERDB) } Method (CKPC, 0, NotSerialized) { If (LEqual (EWRB, Zero)) { Store (Zero, Local0) While (LLess (Local0, 0x08)) { Store (DerefOf (Index (ECRT, Local0)), Local1) If (LEqual (And (Local1, 0xFF000000), 0xFD000000)) { Store (Add (And (Local1, 0x00FFFFFF), 0xFF000000), Index (ECRT, Local0)) Increment (Local0) Store (Add (And (Local1, 0x00FFFFFF), ShiftLeft (Local0, 0x18) ), EWRB) Break } Increment (Local0) } } } Method (CKSM, 0, NotSerialized) { If (LNotEqual (ERDB, Zero)) { Store (And (ShiftRight (ERDB, 0x18), 0xFF), Local0) If (LLessEqual (Local0, 0x08)) { Store (Local0, Local1) Decrement (Local0) Store (Add (And (ERDB, 0x00FFFFFF), 0xFE000000), Index (ECRT, Local0)) If (LEqual (Local1, 0x02)) { Store (Zero, HDSB) } } Store (Zero, ERDB) } CKPC () } Method (RDSM, 1, NotSerialized) { Acquire (MUTM, 0xFFFF) CKSM () Store (Arg0, Local0) Decrement (Local0) Store (DerefOf (Index (ECRT, Local0)), Local1) If (LEqual (And (Local1, 0xFF000000), 0xFE000000)) { Store (Zero, Index (ECRT, Local0)) } Release (MUTM) Return (Local1) } Method (WRSM, 4, NotSerialized) { If (LOr (LOr (LEqual (Arg0, 0x94), LEqual (Arg0, 0x91)), LEqual ( Arg0, 0x92))) { RDSM (Arg1) } Acquire (MUTM, 0xFFFF) Add (Arg0, Add (ShiftLeft (Arg1, 0x18), Add (ShiftLeft (Arg3, 0x10), ShiftLeft (Arg2, 0x08))), Local3) Store (One, Local2) Store (Zero, Local1) CKSM () Store (And (ShiftRight (Local3, 0x18), 0xFF), Local0) Decrement (Local0) If (LOr (LOr (LEqual (Arg0, 0x94), LEqual (Arg0, 0x91)), LEqual ( Arg0, 0x92))) { Store (Zero, Index (ECRT, Local0)) } Else { Store (DerefOf (Index (ECRT, Local0)), Local1) } If (LEqual (Local1, Zero)) { If (LEqual (EWRB, Zero)) { Store (0xFF000000, Index (ECRT, Local0)) Store (Local3, EWRB) } Else { Store (Add (And (Local3, 0x00FFFFFF), 0xFD000000), Index (ECRT, Local0)) } Store (Zero, Local2) } Else { If (LEqual (And (Local1, 0xFF000000), 0xFE000000)) { Store (0x02, Local2) } } Release (MUTM) Return (Local2) } Method (GRPA, 6, Serialized) { Store (DerefOf (Index (CAGD, Zero)), Local7) Store (DerefOf (Index (CAGD, 0x04)), Local6) Store (DerefOf (Index (CAGD, 0x05)), Local5) Store (DerefOf (Index (CAGD, 0x0D)), Local4) Store (DerefOf (Index (CAGD, 0x03)), Index (RETA, Zero)) Store (Local7, Index (RETA, One)) Store (Local7, Index (RETA, 0x02)) Store (Local7, Index (RETA, 0x03)) Store (Local7, Index (RETA, 0x04)) Store (Local7, Index (RETA, 0x05)) Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, Zero)) { Store (ShiftLeft (ECA3, 0x0D), Index (RETA, 0x02)) Store (0xE000, Index (RETA, 0x03)) Store (Local7, Index (RETA, Zero)) } Else { If (LEqual (_T_0, One)) { If (LEqual (Arg2, One)) { Store (0x0A, RFMD) WRSM (0x94, One, 0x08, Zero) Store (Local7, Index (RETA, Zero)) } Else { If (LEqual (Arg2, 0x10)) { Store (0xA0, RFMD) WRSM (0x94, One, 0x08, One) Store (Local7, Index (RETA, Zero)) } } } Else { If (LEqual (_T_0, 0x02)) { If (LEqual (Arg2, Zero)) { Store (DerefOf (Index (CAGD, 0x06)), Index (RETA, 0x03)) Store (Local7, Index (RETA, Zero)) } Else { If (LEqual (Arg2, 0xFFFF)) { Store (0x0200, Index (RETA, 0x03)) Store (Local7, Index (RETA, Zero)) } } } Else { If (LEqual (_T_0, 0x03)) { If (LEqual (Arg2, Zero)) { And (Arg3, 0xFFFF, Local0) ShiftLeft (Add (ShiftRight (Local0, 0x08), And (Local0, 0xFF) ), 0x10, Local1) Add (Local1, Local0, Local1) Acquire (MUTS, 0xFFFF) FLNK (Arg1, Local1) If (LEqual (SWB0, Zero)) { Store (Local0, Index (CAGD, 0x06)) Store (Local7, Index (RETA, Zero)) } Release (MUTS) } } Else { If (LEqual (_T_0, 0x04)) { If (LOr (LEqual (Arg2, One), LEqual (Arg2, 0x02))) { If (LEqual (Arg5, Zero)) { If (LEqual (SYBZ, Zero)) { Store (Local7, Index (RETA, Zero)) } Else { Store (Local6, Index (RETA, Zero)) } } Else { If (LEqual (Arg5, One)) { If (LEqual (SYBZ, 0x03)) { Store (Local5, Index (RETA, Zero)) } Else { Store (Arg2, Local0) If (LEqual (Local0, One)) { If (And (EC94, One)) { Store (B1VT, Index (RETA, 0x02)) Store (Local7, Index (RETA, Zero)) } Else { Store (0x02, Local0) } } If (LEqual (Local0, 0x02)) { Store (0xFF, Index (RETA, 0x02)) Store (Local7, Index (RETA, Zero)) } } } } } } Else { If (LEqual (_T_0, 0x05)) { If (LEqual (And (Arg2, 0xFFFFFFFE), Zero)) { If (LEqual (Arg5, Zero)) { If (LEqual (SYBZ, Zero)) { Store (Local7, Index (RETA, Zero)) } Else { Store (Local6, Index (RETA, Zero)) } } Else { If (LEqual (Arg5, One)) { If (LEqual (SYBZ, 0x03)) { Store (Local5, Index (RETA, Zero)) } Else { If (LEqual (Arg3, Zero)) { If (LEqual (Arg2, Zero)) { Add (ShiftLeft (HRPM, 0x08), LRPM, Local1) Store (Local1, Index (RETA, 0x02)) Store (Local7, Index (RETA, Zero)) } } Else { If (LEqual (Arg3, One)) { If (LEqual (Arg2, Zero)) { Add (ShiftLeft (HRPM, 0x08), LRPM, Local1) Store (Local1, Index (RETA, 0x02)) Store (MFAN, Index (RETA, 0x03)) Store (Local7, Index (RETA, Zero)) } } } } } } } } Else { If (LEqual (_T_0, 0x07)) { If (LAnd (LEqual (Arg2, Zero), LEqual (Arg3, Zero))) { If (LEqual (Arg5, Zero)) { If (LNotEqual (SYBZ, 0x03)) { Store (One, MSRS) Store (0xFF, TCTM) Store (Local7, Index (RETA, Zero)) If (TSBK) { Notify (\_SB.VALZ, 0x80) } Else { WRSM (0x94, 0x04, 0x5A, 0x45) } } Else { Store (Local6, Index (RETA, Zero)) } } Else { If (LEqual (Arg5, One)) { If (LEqual (SYBZ, 0x03)) { Store (Local5, Index (RETA, Zero)) } Else { If (LEqual (MSRS, One)) { Store (Local6, Index (RETA, Zero)) } Else { If (IGDS) { Add (ShiftLeft (VGAT, 0x18), Add (ShiftLeft (MSRR, 0x10), ShiftLeft (TCTM, 0x08)), Local0) } Else { Add (0xFF000000, Add (ShiftLeft (MSRR, 0x10), ShiftLeft (TCTM, 0x08 )), Local0) } If (LEqual (And (EC92, 0x08), 0x08)) { If (LNotEqual (ADVT, 0xFF)) { Store (ADVT, Local1) Store (Local1, VADV) } Else { Store (VADV, Local1) } Store (Add (Local0, Local1), Index (RETA, 0x02)) If (LNotEqual (And (ACCR, 0xFF00), 0xFF00)) { Store (ACCR, Local1) Store (Local1, VACC) } Else { Store (VACC, Local1) } Store (Local1, Local0) Store (Add (ShiftLeft (ACCA, 0x10), Local0), Index (RETA, 0x03)) } Else { Store (Add (Local0, 0xFF), Index (RETA, 0x02)) Store (0xFFFF, Index (RETA, 0x03)) } Store (Local7, Index (RETA, Zero)) } } } } } } Else { If (LEqual (_T_0, 0x08)) { If (LEqual (Arg4, 0x9D)) { Store (DerefOf (Index (CAGD, 0x02)), Index (RETA, Zero)) } Else { If (LEqual (Arg5, Zero)) { Store (One, Local0) Add (Local4, One, Local1) If (LEqual (Arg4, 0x98)) { If (LAnd (LNotEqual (Arg2, One), LNotEqual (Arg2, 0x02))) { Store (Zero, Local0) } } Else { If (LEqual (Arg4, 0xA9)) { If (LAnd (LNotEqual (Arg2, One), LNotEqual (Arg2, 0x02))) { If (LAnd (LNotEqual (Arg2, Local4), LNotEqual (Arg2, Local1))) { Store (Zero, Local0) } } } Else { If (LEqual (Arg4, 0x9A)) { If (LNotEqual (And (Arg2, 0xFFFFFFFE), Zero)) { Store (Zero, Local0) } } Else { If (LEqual (Arg4, 0x9B)) { If (LGreater (Arg2, 0x02)) { Store (Zero, Local0) } } Else { If (LOr (LEqual (Arg4, 0xA0), LEqual (Arg4, 0x9D))) { If (LNotEqual (Arg3, Zero)) { Store (Zero, Local0) } } } } } } If (Local0) { If (LEqual (SYBZ, 0x03)) { Store (Local6, Index (RETA, Zero)) } Else { If (LEqual (Arg4, 0xA9)) { If (LOr (LEqual (Arg2, 0x02), LEqual (Arg2, Local1))) { Store (Local7, Index (RETA, Zero)) } Else { If (LEqual (Arg2, Local4)) { Store (Local7, Index (RETA, Zero)) } Else { If (LEqual (Arg2, One)) { Store (Local7, Index (RETA, Zero)) } } } } Else { If (LEqual (SYBZ, Zero)) { Store (Local7, Index (RETA, Zero)) } Else { Store (Local6, Index (RETA, Zero)) } } } } } Else { If (LEqual (Arg5, One)) { If (LEqual (SYBZ, 0x03)) { Store (Local5, Index (RETA, Zero)) } Else { If (LEqual (Arg4, 0x98)) { Store (Arg2, Local0) If (LEqual (Local0, One)) { If (And (EC94, One)) { Store (B1CC, Index (RETA, 0x02)) Store (B1TP, Index (RETA, 0x03)) Store (Local7, Index (RETA, Zero)) } Else { Store (0x02, Local0) } } If (LEqual (Local0, 0x02)) { Store (0xFFFF, Index (RETA, 0x02)) Store (0xFF, Index (RETA, 0x03)) Store (Local7, Index (RETA, Zero)) } } Else { If (LEqual (Arg4, 0x9A)) { If (LEqual (Arg2, Zero)) { Store (PWMS, Index (RETA, 0x02)) Store (Local7, Index (RETA, Zero)) } } Else { If (LEqual (Arg4, 0x9B)) { If (LEqual (Arg2, Zero)) { Store (PHC1, Index (RETA, 0x03)) Store (PHC2, Index (RETA, 0x02)) Store (Zero, PHC1) Store (Zero, PHC2) Store (Local7, Index (RETA, Zero)) } Else { If (LEqual (Arg2, One)) { Store (BATI, Index (RETA, 0x02)) Store (Zero, BATI) Store (Local7, Index (RETA, Zero)) } Else { If (LEqual (Arg2, 0x02)) { Store (PHC3, Index (RETA, 0x03)) Store (PHC4, Index (RETA, 0x02)) Store (Zero, PHC3) Store (Zero, PHC4) Store (Local7, Index (RETA, Zero)) } } } } Else { If (LEqual (Arg4, 0x9D)) { If (LEqual (Arg3, Zero)) { Store (HDSD, Index (RETA, 0x02)) Store (Local7, Index (RETA, Zero)) } } Else { If (LEqual (Arg4, 0xA0)) { If (LEqual (Arg3, Zero)) { Store (And (EVTC, 0x0B), Index (RETA, 0x02)) Store (Local7, Index (RETA, Zero)) } } Else { If (LEqual (Arg4, 0xA9)) { Add (Local4, One, Local1) If (LEqual (Arg2, One)) { If (And (EC94, One)) { Add (ECAE, ShiftLeft (ECAF, 0x08), Local2) Store (ECAA, Local0) Store (ECAB, Local1) ShiftLeft (Local1, 0x08, Local1) Add (Local0, Local1, Local0) Multiply (Local0, Local2, Local0) Divide (Local0, 0x03E8, Local1, Local4) Divide (Local0, 0x2710, Local1, Local3) Store (ECAC, Local0) Store (ECAD, Local1) ShiftLeft (Local1, 0x08, Local1) Add (Local0, Local1, Local0) Multiply (Local0, Local2, Local0) Divide (Local0, 0x2710, Local1, Local0) Add (ShiftLeft (Local0, 0x10), Local3, Local1) Store (Local1, Index (RETA, 0x04)) Store (ECA4, Local0) Store (Local4, Local1) Multiply (Local1, Local0, Local4) Divide (Local4, 0x64, Local1, Local0) Add (Local0, One, Local0) Divide (Local0, 0x0A, Local1, Local0) Add (ShiftLeft (Local0, 0x10), BSS1, Local1) Add (Local1, ShiftLeft (BSS2, 0x08), Index (RETA, 0x02)) Store (ShiftLeft (BCV1, 0x10), Index (RETA, 0x03)) Store (BCV2, Index (RETA, 0x05)) Store (Local7, Index (RETA, Zero)) } Else { Store (0xFFFF, Index (RETA, 0x02)) Store (0xFFFF, Index (RETA, 0x03)) Store (0xFFFF, Index (RETA, 0x04)) Store (0xFFFF, Index (RETA, 0x05)) Store (Local7, Index (RETA, Zero)) } } Else { If (LAnd (LEqual (Arg2, Local4), LEqual (And (EC94, One), One))) { Add (ECAE, ShiftLeft (ECAF, 0x08), Local2) Store (Local2, Index (RETA, 0x02)) Store (Local7, Index (RETA, Zero)) } Else { If (LOr (LEqual (Arg2, 0x02), LEqual (Arg2, Local1))) { Store (0xFFFF, Index (RETA, 0x02)) Store (0xFFFF, Index (RETA, 0x03)) Store (0xFFFF, Index (RETA, 0x04)) Store (0xFFFF, Index (RETA, 0x05)) Store (Local7, Index (RETA, Zero)) } } } } } } } } } } } } } } Else { If (LEqual (_T_0, 0x09)) { If (LEqual (Arg3, Zero)) { If (LEqual (And (Arg2, 0xF4), Zero)) { Store (Arg2, EVTC) Store (Local7, Index (RETA, Zero)) } } } Else { If (LEqual (_T_0, 0x0C)) { If (And (LEqual (OVET, 0x3C), LEqual (BLET, 0x32))) { Subtract (CPUT, One, Local0) Store (Local0, OVET) Subtract (CPUT, 0x06, Local0) Store (Local0, BLET) Store (Local0, BTLT) } Store (OVET, Local0) Store (Local0, Index (RETA, 0x02)) Store (BLET, Local0) Store (Local0, Index (RETA, 0x03)) Store (Local7, Index (RETA, Zero)) } Else { Store (DerefOf (Index (CAGD, 0x02)), Index (RETA, Zero)) } } } } } } } } } } Return (RETA) } Method (GRPB, 7, Serialized) { Store (DerefOf (Index (CAGD, Zero)), Local7) Store (DerefOf (Index (CAGD, One)), Local6) Store (DerefOf (Index (CAGD, 0x03)), Local5) Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, Zero)) { Or (Or (Or (Arg2, Arg3), Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (CECS, Index (RETP, 0x02)) Store (One, Index (RETP, 0x04)) Store (Local6, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, One)) { If (LEqual (And (Arg2, 0xFFFE), Zero)) { Store (Arg2, CECS) FLNK (0xFF, One) Store (Local6, Index (RETP, Zero)) } Else { Store (Local5, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x02)) { Store (CECP, Index (RETP, 0x02)) Store (Local7, Index (RETP, One)) Store (Local6, Index (RETP, Zero)) } Else { If (LEqual (_T_0, 0x03)) { If (LEqual (And (Arg2, 0xFFFE), Zero)) { Store (Arg2, CECP) FLNK (0xFF, 0x02) Store (Local6, Index (RETP, Zero)) } Else { Store (Local5, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x04)) { Or (Or (Arg3, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (One, Local0) If (LEqual (Arg2, 0xC1)) { FLNK (0xFF, 0x10) } Else { If (LEqual (Arg2, 0xC3)) { FLNK (0xFF, 0x11) } Else { If (LEqual (Arg2, 0xC4)) { FLNK (0xFF, 0x12) } Else { If (LEqual (Arg2, 0xC5)) { FLNK (0xFF, 0x13) } Else { If (LEqual (Arg2, 0xC7)) { FLNK (0xFF, 0x14) } Else { If (LEqual (Arg2, 0xC8)) { FLNK (0xFF, 0x15) } Else { Store (Zero, Local0) } } } } } } If (LEqual (Local0, One)) { Store (CEC1, Index (RETP, One)) Store (CEC2, Index (RETP, 0x02)) Store (CEC3, Index (RETP, 0x03)) Store (CEC4, Index (RETP, 0x04)) Store (CEC5, Index (RETP, 0x05)) Store (Local7, Index (RETP, Zero)) } } } Else { If (LEqual (_T_0, 0x05)) { Store (And (Arg6, 0x00FF0000), Local0) If (LEqual (Local0, 0x00C00000)) { If (LEqual (And (Arg6, 0xFF000000), Zero)) { CECK () And (Arg2, 0xFFFF, Local1) Add (ShiftLeft (Arg3, 0x10), Local1, CMW1) Add (ShiftRight (Arg3, 0x10), ShiftLeft (Arg4, 0x10), CMW2) Add (ShiftRight (Arg4, 0x10), ShiftLeft (Arg5, 0x10), CMW3) And (Arg2, 0xFFFF0000, Local1) Add (ShiftRight (Arg5, 0x10), Local1, CMW4) Store (Zero, CMW5) FLNK (0xFF, 0x16) } Else { CECK () Add (ShiftRight (Arg6, 0x18), 0x1000, Local1) Add (Local1, ShiftLeft (Arg2, 0x10), CMW1) Add (ShiftRight (Arg2, 0x10), ShiftLeft (Arg3, 0x10), CMW2) Add (ShiftRight (Arg3, 0x10), ShiftLeft (Arg4, 0x10), CMW3) Add (ShiftRight (Arg4, 0x10), ShiftLeft (Arg5, 0x10), CMW4) Store (ShiftRight (Arg5, 0x10), CMW5) FLNK (0xFF, 0x17) } Store (Local7, Index (RETP, Zero)) } Else { If (LEqual (Local0, 0x00C20000)) { CECK () And (Arg6, 0xFF000000, Local1) Add (Local1, 0x00800000, Local1) Add (ShiftRight (Local1, 0x10), ShiftLeft (Arg2, 0x10), CMW1) Add (ShiftRight (Arg2, 0x10), ShiftLeft (Arg3, 0x10), CMW2) Add (ShiftRight (Arg3, 0x10), ShiftLeft (Arg4, 0x10), CMW3) Add (ShiftRight (Arg4, 0x10), ShiftLeft (Arg5, 0x10), CMW4) Store (ShiftRight (Arg5, 0x10), CMW5) FLNK (0xFF, 0x18) Store (Local7, Index (RETP, Zero)) } Else { If (LEqual (Local0, 0x00C90000)) { Or (Or (Arg3, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { If (LEqual (And (Arg2, 0xFFFFFF00), Zero)) { Store (Arg2, CEC2) FLNK (0xFF, 0x19) Store (Local7, Index (RETP, Zero)) } } } } } } Else { If (LEqual (_T_0, 0x06)) { Or (Or (Arg3, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (Zero, Index (RETP, 0x02)) If (LEqual (HSWK, 0xE8)) { Store (0x0131, Index (RETP, 0x02)) } Else { If (LEqual (HSWK, 0xE9)) { Store (0x20, Index (RETP, 0x02)) Store (0x90, Index (RETP, 0x03)) } } Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x09)) { Or (Or (Arg3, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { If (LEqual (Arg2, 0x5A00)) { If (LEqual (HSWK, 0xE9)) { Store (Zero, HSWK) } If (LEqual (HSWK, 0xE8)) { Store (Zero, HSWK) } Store (Local7, Index (RETP, Zero)) } } } Else { If (LEqual (_T_0, 0x0A)) { Or (Or (Or (Arg2, Arg3), Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (FLNK (Arg1, 0xFF), Local0) If (LNotEqual (Local0, 0xFF)) { Store (Local7, Index (RETP, Zero)) Store (Local0, Index (RETP, 0x02)) } } } Else { If (LEqual (_T_0, 0x0B)) { Or (Or (Arg3, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { If (LEqual (And (Arg2, 0xFFFE), Zero)) { Store (Arg2, Local1) Store (FLNK (Arg1, Local1), Local0) If (LNotEqual (Local0, 0xFF)) { Store (Local7, Index (RETP, Zero)) } } } } } } } } } } } } } } Name (PTST, 0xFF) Method (GRPC, 6, Serialized) { Store (DerefOf (Index (CAGD, Zero)), Local7) Store (DerefOf (Index (CAGD, One)), Local6) Store (DerefOf (Index (CAGD, 0x03)), Local5) Name (_T_0, Zero) Store (Arg0, _T_0) If (LEqual (_T_0, Zero)) { If (LEqual (PTST, 0xFF)) { Store (FLNK (Arg1, 0x0F), PTST) } Store (PTST, Index (RETP, 0x02)) Store (Local7, Index (RETP, Zero)) } Else { If (LEqual (_T_0, One)) { If (LEqual (And (Arg2, 0xFFFE), Zero)) { Store (Arg2, PTST) FLNK (Arg1, Arg2) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x02)) { Store (One, Local0) If (LEqual (HKEM, One)) { Store (0x03, Local0) } If (LEqual (HSEM, One)) { Add (Local0, 0x08, Local0) } Store (Local0, Index (RETP, 0x02)) Store (Local7, Index (RETP, Zero)) } Else { If (LEqual (_T_0, 0x03)) { Or (Or (Or (Arg2, Arg3), Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (RESV, Index (RETP, 0x02)) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x04)) { Or (Or (Arg2, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { If (LEqual (Arg3, One)) { If (LNotEqual (And (EC93, 0x22), Zero)) { Add (ShiftLeft (And (EC93, 0x08), 0x06), ShiftRight (And ( EC93, 0x10), 0x04), Local3) If (LEqual (PR10, 0x02)) { ShiftLeft (FLNK (0x35, 0x02), 0x0B, Local0) Or (Local3, And (Local0, 0x0800), Index (RETP, 0x02)) Store (Local7, Index (RETP, Zero)) } Else { If (LEqual (PR10, One)) { ShiftLeft (FLNK (0x35, 0x02), 0x0D, Local0) Or (Local3, And (Local0, 0x2000), Index (RETP, 0x02)) Store (Local7, Index (RETP, Zero)) } Else { Store (Local3, Index (RETP, 0x02)) Store (Local7, Index (RETP, Zero)) } } } } Else { If (LEqual (Arg3, 0x03)) { If (LEqual (PR10, One)) { Store (0x2000, Index (RETP, 0x02)) Store (Local7, Index (RETP, Zero)) } } } } } Else { If (LEqual (_T_0, 0x05)) { Store (Zero, Index (RETP, 0x03)) If (LEqual (EGST, 0x21)) { Store (EGST, Index (RETP, 0x03)) } Store (Local7, Index (RETP, Zero)) } Else { If (LEqual (_T_0, 0x06)) { Store (Zero, Local0) Store (FLNK (Arg1, 0xFF), Local0) Store (Local0, Index (RETP, 0x02)) Store (Local6, Index (RETP, 0x03)) Store (Local7, Index (RETP, Zero)) } Else { If (LEqual (_T_0, 0x07)) { If (LEqual (Arg2, 0x03)) { Store (Zero, Index (RETP, 0x03)) ShiftLeft (FLNK (Arg1, 0xFF), 0x04, Local0) Store (And (Local0, 0x10), Index (RETP, 0x03)) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x08)) { If (LEqual (And (Arg2, One), One)) { Store (And (ShiftRight (Arg2, One), One), Local0) Store (Local0, HKEM) WREC (0xDB, 0x10, 0x04, Local0) Store (And (ShiftRight (Arg2, 0x03), One), Local0) Store (Local0, HSEM) WREC (0xDB, 0x20, 0x05, Local0) If (LEqual (Local0, Zero)) { If (LEqual (HSWK, 0xDC)) { Notify (\_SB.HSB1, 0x02) Store (Zero, HSWK) } } Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x09)) { Or (Arg4, Arg5, Local0) If (LEqual (Local0, Zero)) { If (LEqual (Arg3, 0x0200)) { If (LNotEqual (FLNK (Arg1, Arg2), 0xFF)) { Store (Local7, Index (RETP, Zero)) } } Else { If (LOr (LEqual (Arg3, 0x0800), LEqual (Arg3, 0x2000))) { If (LEqual (And (Arg2, 0xFFFE), Zero)) { FLNK (0x35, Arg2) Store (Local7, Index (RETP, Zero)) } } } } } Else { If (LEqual (_T_0, 0x0A)) { If (LEqual (Arg3, One)) { If (LEqual (And (Arg2, 0xFFFC), Zero)) { If (LEqual (And (Arg2, 0x03), 0x02)) { Store (0x07, Local0) } Else { ShiftLeft (Arg2, One, Local0) Add (Local0, One, Local0) } FLNK (Arg1, Local0) Store (Local7, Index (RETP, Zero)) } } } Else { If (LEqual (_T_0, 0x0B)) { If (LEqual (And (Arg2, 0xFFFE), Zero)) { FLNK (Arg1, Arg2) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x0C)) { If (LEqual (Arg2, Zero)) { If (LEqual (And (Arg3, 0xFFFE), Zero)) { Store (Local7, Index (RETP, Zero)) } } } Else { If (LEqual (_T_0, 0x0F)) { Or (Or (Or (Arg2, Arg3), Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (ShiftRight (DerefOf (Index (CAGD, 0x07)), 0x10), Index ( RETP, 0x02)) Store (And (DerefOf (Index (CAGD, 0x07)), 0xFFFF), Index ( RETP, 0x03)) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x16)) { Or (Or (Or (Arg2, Arg3), Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { FLNK (Arg1, 0xF1) If (LNotEqual (SWB0, Ones)) { Store (SWB0, Local0) } Store (0x8005, Index (RETP, One)) Store (Local0, Index (RETP, 0x02)) Store (0xFFFE, Index (RETP, 0x03)) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x17)) { Or (Or (Or (Arg2, Arg3), Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { FLNK (Arg1, 0xF2) If (LNotEqual (SWB0, Ones)) { Store (SWB0, Local0) } Store (0x8004, Index (RETP, One)) Store (Local0, Index (RETP, 0x02)) Store (0x0FFF, Index (RETP, 0x03)) Store (One, Index (RETP, 0x04)) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x18)) { Or (Or (Arg3, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (Arg2, SWB1) FLNK (Arg1, 0xF3) Store (Local7, Index (RETP, Zero)) } } Else { If (LEqual (_T_0, 0x19)) { Or (Or (Arg3, Arg4), Arg5, Local0) If (LEqual (Local0, Zero)) { Store (Arg2, SWB1) FLNK (Arg1, 0xF4) Store (Local7, Index (RETP, Zero)) } } } } } } } } } } } } } } } } } } } } Device (_SB.VALZ) { Name (_HID, "TOS1900") Method (_DDN, 0, NotSerialized) { Return ("VALZeneral") } Method (ENAB, 0, NotSerialized) { Acquire (MUTS, 0xFFFF) If (LEqual (TSBK, Zero)) { FLNK (0x14, Zero) } Store (One, TSBK) Release (MUTS) If (LNotEqual (CECC, Zero)) { Notify (VALZ, 0x80) } } Method (HMB1, 0, NotSerialized) { Name (RETB, Buffer (0x1C) {}) Name (HBT1, Package (0x06) { Buffer (0x1C) {}, Zero, Zero, Zero, Zero, Zero }) CKIF () If (And (EC94, One)) { Acquire (MUTS, 0xFFFF) If (BTCG) { Store (One, F0CM) FLNK (0xFF, Zero) Store (Zero, BTCG) } Store (JFNK, RETB) Store (RETB, Index (HBT1, Zero)) Store (CYCC, Index (HBT1, One)) Release (MUTS) } Return (HBT1) } Method (HMB2, 0, NotSerialized) { Return (Package (0x06) { Buffer (0x1C) { 0x00 }, Zero, Zero, Zero, Zero, Zero }) } Method (THEV, 0, Serialized) { Acquire (MUTS, 0xFFFF) Store (0x28, DTSF) Store (Zero, TRPD) Release (MUTS) If (LEqual (TCTM, 0xFF)) { Store (One, MSRS) Notify (VALZ, 0x80) } Else { Store (Zero, MSRS) } } Method (INFO, 0, NotSerialized) { If (LEqual (MSRS, One)) { THEV () } Acquire (MUTS, 0xFFFF) Store (Zero, Local0) If (LNotEqual (CECC, Zero)) { FLNK (0xFF, 0x03) If (LNotEqual (CECE, Zero)) { Release (MUTS) Return (CECE) } Else { FLNK (0xFF, 0x04) } } If (LAnd (LEqual (KYB0, Zero), LNotEqual (EVCT, Zero))) { FLNK (0x11, EVCT) } If (LNotEqual (KYB0, Zero)) { Store (KYBF, Local0) CopyObject (KYBA, SWBF) CopyObject (SWBF, KYBB) Store (Zero, SWBF) If (LEqual (Local0, 0xFE)) { Store (Zero, Local0) } If (LEqual (And (Local0, 0xF0), 0x90)) { Add (Local0, 0x0B00, Local0) } Add (Local0, 0x0100, Local0) } Release (MUTS) Return (Local0) } Method (SPFC, 6, NotSerialized) { CKIF () Add (ShiftLeft (PARG (Arg0), 0x10), And (PARG (Arg1), 0xFFFF ), Local2) Store (Match (CAGA, MEQ, Local2, MTR, Zero, Zero), Local6) If (LNotEqual (Local6, Ones)) { Store (DerefOf (Index (FNKC, Local6)), Local5) Return (GRPA (Local6, Local5, PARG (Arg2), PARG (Arg3), PARG (Arg4), PARG (Arg5))) } Else { Acquire (MUTS, 0xFFFF) Store (DerefOf (Index (CAGD, 0x02)), Index (RETP, Zero)) Store (DerefOf (Index (CAGD, Zero)), Local0) Store (Local0, Index (RETP, One)) Store (Local0, Index (RETP, 0x02)) Store (Local0, Index (RETP, 0x03)) Store (Local0, Index (RETP, 0x04)) Store (Local0, Index (RETP, 0x05)) Store (Match (CAGB, MEQ, Local2, MTR, Zero, Zero), Local6) If (LNotEqual (Local6, Ones)) { Store (DerefOf (Index (FNKC, Add (Local6, LENA))), Local5) GRPB (Local6, Local5, PARG (Arg2), PARG (Arg3), PARG (Arg4), PARG ( Arg5), PARG (Arg1)) } Else { Store (Match (CAGC, MEQ, Local2, MTR, Zero, Zero), Local6) If (LNotEqual (Local6, Ones)) { Store (DerefOf (Index (FNKC, Add (Add (Local6, LENA), LENB ))), Local5) GRPC (Local6, Local5, PARG (Arg2), PARG (Arg3), PARG (Arg4), PARG ( Arg5)) } Else { And (Local2, 0xFFFF0000, Local2) If (LEqual (DerefOf (Index (CAGD, 0x08)), Local2)) { If (LNotEqual (USAC, Zero)) { Store (DerefOf (Index (CAGD, 0x0B)), Index (RETP, Zero)) } Else { Store (DerefOf (Index (CAGD, 0x0A)), Index (RETP, Zero)) Store (One, USAC) } } Else { If (LEqual (DerefOf (Index (CAGD, 0x09)), Local2)) { If (LEqual (USAC, Zero)) { Store (DerefOf (Index (CAGD, 0x0C)), Index (RETP, Zero)) } Else { Store (DerefOf (Index (CAGD, 0x0A)), Index (RETP, Zero)) Store (Zero, USAC) } } } } } Release (MUTS) Return (RETP) } } Method (_STA, 0, NotSerialized) { If (LLess (OSYS, 0x07D6)) { Return (Zero) } Else { Return (0x0B) } } } Device (_SB.FWEX) { Name (_HID, "TOS1901") Method (FWES, 1, NotSerialized) { Acquire (MUTS, 0xFFFF) Name (FWEB, Buffer (0x20) {}) Store (DerefOf (Index (Arg0, Zero)), Local4) Store (Zero, Local7) If (LEqual (Local4, One)) { If (^^PCI0.LPC.EC0.ECOK) { Store (RCPU, Index (FWEB, Zero)) Store (VGAT, Index (FWEB, One)) Store (LRPM, Index (FWEB, 0x02)) Store (HRPM, Index (FWEB, 0x03)) Store (Zero, Index (FWEB, 0x04)) Store (Zero, Index (FWEB, 0x05)) Store (RDEC (0xA0, 0xFF, Zero), Index (FWEB, 0x06)) } Release (MUTS) Return (FWEB) } If (LEqual (Local4, 0x81)) { Store (DerefOf (Index (Arg0, One)), Local0) If (LEqual (Local0, 0xFF)) { Store (EVCT, Local0) Store (Local0, Index (FWEB, Zero)) Release (MUTS) Return (FWEB) } Else { If (LEqual (Local0, 0xFE)) { Store (FKST, Local0) Store (Local0, Index (FWEB, Zero)) Release (MUTS) Return (FWEB) } Else { Store (One, Local7) } } } Store (0x20, Local0) Store (One, Local1) Store (Zero, Local3) While (Local0) { Store (ShiftLeft (DerefOf (Index (Arg0, Local1)), 0x18), Local2) Add (And (ShiftRight (Local3, 0x08), 0x00FFFFFF), Local2, Local3) If (LEqual (Local1, 0x04)) { Store (Local3, Local5) Store (Local3, SWB0) } Else { If (LEqual (Local1, 0x08)) { Store (Local3, SWB1) } Else { If (LEqual (Local1, 0x0C)) { Store (Local3, SWB2) } Else { If (LEqual (Local1, 0x10)) { Store (Local3, SWB3) } Else { If (LEqual (Local1, 0x14)) { Store (Local3, SWB4) } Else { If (LEqual (Local1, 0x18)) { Store (Local3, SWB5) } Else { If (LEqual (Local1, 0x1C)) { Store (Local3, SWB6) } Else { If (LEqual (Local1, 0x20)) { Store (Local3, SWB7) } } } } } } } } Decrement (Local0) Add (Local1, One, Local1) } If (LEqual (Local7, One)) { Store (0x11, Local4) Store (EVCT, Local5) } FLNK (Local4, Local5) Store (SWB0, Local1) Store (Zero, Local2) While (LNotEqual (Local2, 0x20)) { If (LEqual (Local2, 0x04)) { Store (SWB1, Local1) } Else { If (LEqual (Local2, 0x08)) { Store (SWB2, Local1) } Else { If (LEqual (Local2, 0x0C)) { Store (SWB3, Local1) } Else { If (LEqual (Local2, 0x10)) { Store (SWB4, Local1) } Else { If (LEqual (Local2, 0x14)) { Store (SWB5, Local1) } Else { If (LEqual (Local2, 0x18)) { Store (SWB6, Local1) } Else { If (LEqual (Local2, 0x1C)) { Store (SWB7, Local1) } } } } } } } Store (Local1, Index (FWEB, Local2)) Divide (Local1, 0x0100, Local0, Local1) Add (Local2, One, Local2) } Store (Zero, Local0) If (LNotEqual (LCMD, Zero)) { Store (Zero, Local2) While (LNotEqual (Local2, 0x20)) { Store (0xFF, Index (FWEB, Local2)) Add (Local2, One, Local2) } } Store (Local0, SWB0) Store (Local0, SWB1) Store (Local0, SWB2) Store (Local0, SWB3) Store (Local0, SWB4) Store (Local0, SWB5) Store (Local0, SWB6) Store (Local0, SWB7) If (LEqual (Local7, One)) { Store (EVCT, Index (FWEB, 0x1F)) } Release (MUTS) Return (FWEB) } Method (_STA, 0, NotSerialized) { If (LLess (OSYS, 0x07D0)) { Return (Zero) } Else { Return (0x0B) } } } Method (WFNK, 1, NotSerialized) { Acquire (MUTS, 0xFFFF) If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { Store (And (ShiftRight (ECB6, 0x03), One), Local0) If (LNotEqual (Local0, PWBS)) { WREC (0xB6, 0x08, 0x03, PWBS) } If (LNotEqual (ECC8, ACBS)) { WREC (0xC8, 0xFF, Zero, ACBS) } If (LNotEqual (ECC9, ACBW)) { WREC (0xC9, 0xFF, Zero, ACBW) } CLRB () Store (Zero, HDSB) Store (Zero, SYBZ) Store (One, F0CM) FLNK (0xFF, Zero) Store (Zero, BTCG) } If (LGreater (OSYS, 0x07D5)) { If (LEqual (Arg0, 0x04)) { Store (HKMD, Local0) WREC (0xDB, One, Zero, Local0) } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { Store (HKEM, Local0) WREC (0xDB, 0x10, 0x04, Local0) Store (HSEM, Local0) WREC (0xDB, 0x20, 0x05, Local0) FLNK (0x10, One) FLNK (0x15, 0xFF) FLNK (0xFF, 0x22) Store (0x0F, ILLU) } If (LNotEqual (EVCT, Zero)) { FLNK (0x11, EVCT) If (LEqual (RDEC (0xDB, 0x20, 0x05), Zero)) { Store (And (KYB0, 0xFF), Local0) If (LEqual (Local0, 0xDC)) { Notify (\_SB.HSB1, 0x02) } Else { Store (KYB0, HSWK) } Store (Zero, KYB0) } } } Else { If (LNotEqual (EVCT, Zero)) { Notify (\_SB.FWEX, 0x80) } FLNK (0x15, 0xFF) } FLNK (0xFF, 0x30) Release (MUTS) } Method (SFNK, 1, NotSerialized) { Acquire (MUTS, 0xFFFF) If (LGreater (OSYS, 0x07D5)) { Store (Zero, EVTC) Store (0x03, SYBZ) Store (Zero, MSRS) Store (Zero, HSWK) If (LEqual (Arg0, 0x04)) { Store (RDEC (0xDB, One, Zero), HKMD) } } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { Store (And (ShiftRight (ECB6, 0x03), One), PWBS) Store (ECC8, ACBS) Store (ECC9, ACBW) } Else { If (LEqual (Arg0, 0x05)) { If (LEqual (ECC8, Zero)) { WREC (0xC8, 0xFF, Zero, 0x3F) If (LEqual (ECC9, Zero)) { WREC (0xC9, 0xFF, Zero, 0x03) } } } } If (LGreater (Arg0, 0x02)) { Store (Zero, HDSD) FLNK (0xFF, 0x21) } Release (MUTS) } Scope (_PR) { Processor (CPU0, 0x01, 0x00000410, 0x06) {} Processor (CPU1, 0x02, 0x00000410, 0x06) {} Processor (CPU2, 0x03, 0x00000410, 0x06) {} Processor (CPU3, 0x04, 0x00000410, 0x06) {} } OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08) ), P80D) } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10) ), P80D) } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18) ), P80D) } Store (P80D, P80H) } Method (TRAP, 2, Serialized) { Store (Arg1, SMIF) If (LEqual (Arg0, TRTP)) { Store (Zero, TRP0) } If (LEqual (Arg0, TRTD)) { Store (Arg1, DTSF) Store (Zero, TRPD) Return (DTSF) } If (LEqual (Arg0, TRTI)) { Store (Zero, TRPH) } Return (SMIF) } OperationRegion (CMS1, SystemIO, 0x72, 0x02) Field (CMS1, ByteAcc, NoLock, Preserve) { CMSI, 8, CMSD, 8 } Method (CMSW, 2, NotSerialized) { Store (Arg0, CMSI) Store (Arg1, CMSD) } Method (CLTF, 0, NotSerialized) { Store (Zero, TCON) Store (Zero, TCTM) Store (Zero, MSRR) Store (Zero, OVEE) Store (Zero, BLEW) Store (Zero, PHMT) } Method (_PTS, 1, NotSerialized) { Acquire (MUTS, 0xFFFF) Release (MUTS) If (LEqual (Arg0, 0x03)) { Store (0x53, P80H) } If (LEqual (Arg0, 0x04)) { CMSW (0x3F, 0x3F) } SFNK (Arg0) If (LEqual (Arg0, 0x05)) { If (LLess (OSYS, 0x07D6)) { If (LEqual (\_SB.PCI0.HMBR.CPID, 0x03)) { If (LEqual (\_SB.PCI0.EXP2.PXS2.WVID, 0x8086)) { Store (One, RP2D) Notify (\_SB.PCI0.EXP2, Zero) } } } } Return (Zero) } Method (_WAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { CLTF () Store (One, SSMI) If (POFL) { Store (One, POEN) Store (Zero, USBP) Store (Zero, POEN) Store (Zero, POFL) } Acquire (MUTS, 0xFFFF) \_SB.OSMI (0xC2) Release (MUTS) Notify (\_SB.PCI0.EXP5, Zero) If (SCFG) { FLNK (0xFF, 0x31) If (\_SB.PCI0.LPC.EC0.ECOK) { Store (Zero, \_SB.PCI0.LPC.EC0.SATC) WREC (0xD4, 0xFF, Zero, 0x1E) } } Store (0xE3, P80H) } If (LEqual (Arg0, 0x04)) { CLTF () If (\_SB.PCI0.LPC.EC0.ECOK) { If (RDEC (0xA2, 0xFF, Zero)) { Notify (\_SB.PWRB, 0x02) } } If (SCFG) { FLNK (0xFF, 0x31) If (\_SB.PCI0.LPC.EC0.ECOK) { Store (Zero, \_SB.PCI0.LPC.EC0.SATC) WREC (0xD4, 0xFF, Zero, 0x1E) } } Store (0xE4, P80H) } Acquire (MUTS, 0xFFFF) FLNK (0x16, 0xF1) Release (MUTS) WFNK (Arg0) Return (Zero) } If (LEqual (DAS3, One)) { Name (_S3, Package (0x04) { 0x05, 0x05, Zero, Zero }) } Name (_S4, Package (0x04) { 0x06, 0x06, Zero, Zero }) Name (_S5, Package (0x04) { 0x07, 0x07, Zero, Zero }) Scope (_GPE) { Method (_L01, 0, NotSerialized) { If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.EXP1.HPCS)) { Sleep (0x64) If (\_SB.PCI0.EXP1.PDC1) { Store (One, \_SB.PCI0.EXP1.PDC1) Store (One, \_SB.PCI0.EXP1.HPCS) Notify (\_SB.PCI0.EXP1, Zero) } Else { Store (One, \_SB.PCI0.EXP1.HPCS) } } If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.EXP2.HPCS)) { Sleep (0x64) If (\_SB.PCI0.EXP2.PDC2) { Store (One, \_SB.PCI0.EXP2.PDC2) Store (One, \_SB.PCI0.EXP2.HPCS) Notify (\_SB.PCI0.EXP2, Zero) } Else { Store (One, \_SB.PCI0.EXP2.HPCS) } } If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.EXP3.HPCS)) { Sleep (0x64) If (\_SB.PCI0.EXP3.PDC3) { Store (One, \_SB.PCI0.EXP3.PDC3) Store (One, \_SB.PCI0.EXP3.HPCS) Notify (\_SB.PCI0.EXP3, Zero) } Else { Store (One, \_SB.PCI0.EXP3.HPCS) } } If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.EXP4.HPCS)) { Sleep (0x64) If (\_SB.PCI0.EXP4.PDC4) { Store (One, \_SB.PCI0.EXP4.PDC4) Store (One, \_SB.PCI0.EXP4.HPCS) Notify (\_SB.PCI0.EXP4, Zero) } Else { Store (One, \_SB.PCI0.EXP4.HPCS) } } If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.EXP5.HPCS)) { Sleep (0x64) If (\_SB.PCI0.EXP5.PDC5) { Store (One, \_SB.PCI0.EXP5.PDC5) Store (One, \_SB.PCI0.EXP5.HPCS) Notify (\_SB.PCI0.EXP5, Zero) } Else { Store (One, \_SB.PCI0.EXP5.HPCS) } } If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.EXP6.HPCS)) { Sleep (0x64) If (\_SB.PCI0.EXP6.PDC6) { Store (One, \_SB.PCI0.EXP6.PDC6) Store (One, \_SB.PCI0.EXP6.HPCS) Notify (\_SB.PCI0.EXP6, Zero) } Else { Store (One, \_SB.PCI0.EXP6.HPCS) } } } Method (_L02, 0, NotSerialized) { If (LEqual (TCON, 0xAA)) { If (LNot (OVEE)) { If (TSBK) { If (LEqual (And (EVTC, 0x08), 0x08)) { Acquire (MUTS, 0xFFFF) Subtract (TCTM, Zero, Local0) Store (Local0, OVET) Subtract (TCTM, 0x05, Local0) Store (Local0, BLET) Store (Local0, BTLT) If (LLess (BINO, BLET)) { Store (0x19B6, CECI) } FLNK (0xFF, 0x05) Release (MUTS) Notify (\_SB.VALZ, 0x80) } } Store (Zero, BLEW) Store (One, OVEE) } } Else { If (LEqual (TCON, 0xBB)) { If (LNot (BLEW)) { If (TSBK) { If (LEqual (And (EVTC, 0x08), 0x08)) { Acquire (MUTS, 0xFFFF) Store (0x19B7, CECI) FLNK (0xFF, 0x05) Store (0x46, BINO) Release (MUTS) Notify (\_SB.VALZ, 0x80) } } Store (Zero, OVEE) Store (One, BLEW) } Store (0x55, TCON) } } If (LOr (LOr (LEqual (TCON, 0xAA), LEqual (TCON, 0xBB)), LEqual ( TCON, 0x55))) { Sleep (0xC8) } Else { Sleep (0x03E8) } If (LNotEqual (TCON, Zero)) { Acquire (MUTS, 0xFFFF) Store (0x20, DTSF) Store (Zero, TRPD) Release (MUTS) } } Method (_L06, 0, NotSerialized) { If (\_SB.PCI0.OVGA.GSSE) { \_SB.PCI0.OVGA.GSCI () } Else { Store (One, SCIS) } } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.UHC1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.UHC2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.UHC5, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.UHC3, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.UHC4, 0x02) Notify (\_SB.PWRB, 0x02) } } Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) } Scope (_TZ) { PowerResource (FN00, 0x00, 0x0000) { Method (_STA, 0, Serialized) { Return (One) } Method (_ON, 0, Serialized) { } Method (_OFF, 0, Serialized) { } } Device (FAN) { Name (_HID, EisaId ("PNP0C0B")) Name (_UID, Zero) Name (_PR0, Package (0x01) { FN00 }) } ThermalZone (THRM) { Method (_TMP, 0, Serialized) { If (\_SB.PCI0.LPC.EC0.ECOK) { Store (EC9C, Local0) Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Return (0x0BB8) } Method (_AC0, 0, Serialized) { If (LLess (FNON, 0x28)) { Return (0x0D68) } Else { Return (Add (0x0AAC, Multiply (FNON, 0x0A))) } } Method (_PSV, 0, Serialized) { If (LNotEqual (PERN, One)) { If (LLess (TRON, 0x64)) { Return (0x0E58) } Else { Return (0x0EF8) } } Else { If (LLess (TRON, 0x64)) { Return (0x0EBC) } Else { Return (0x0F20) } } } Method (_CRT, 0, Serialized) { If (LNotEqual (PERN, One)) { If (LLess (TRON, 0x64)) { Return (0x0E58) } Else { Return (0x0EF8) } } Else { If (LLess (TRON, 0x64)) { Return (0x0EBC) } Else { Return (0x0F20) } } } Method (_SCP, 1, Serialized) { Store (Arg0, CTYP) } Name (_AL0, Package (0x01) { FAN }) Method (_PSL, 0, Serialized) { If (CMPE) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Name (_TC1, 0x02) Name (_TC2, 0x05) Name (_TSP, 0x012C) } } Method (GETP, 1, Serialized) { If (LEqual (And (Arg0, 0x09), Zero)) { Return (Ones) } If (LEqual (And (Arg0, 0x09), 0x08)) { Return (0x0384) } ShiftRight (And (Arg0, 0x0300), 0x08, Local0) ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)) )) } Method (GDMA, 5, Serialized) { If (Arg0) { If (Arg1) { Return (0x14) } If (Arg2) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (Ones) } Method (GETT, 1, Serialized) { Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02 ), 0x03), And (Arg0, 0x03))))) } Method (GETF, 3, Serialized) { Name (TMPF, Zero) If (Arg0) { Or (TMPF, One, TMPF) } If (And (Arg2, 0x02)) { Or (TMPF, 0x02, TMPF) } If (Arg1) { Or (TMPF, 0x04, TMPF) } If (And (Arg2, 0x20)) { Or (TMPF, 0x08, TMPF) } If (And (Arg2, 0x4000)) { Or (TMPF, 0x10, TMPF) } Return (TMPF) } Method (SETP, 3, Serialized) { If (LGreater (Arg0, 0xF0)) { Return (0x08) } Else { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, Serialized) { If (LLessEqual (Arg0, 0x14)) { Return (One) } If (LLessEqual (Arg0, 0x1E)) { Return (0x02) } If (LLessEqual (Arg0, 0x2D)) { Return (One) } If (LLessEqual (Arg0, 0x3C)) { Return (0x02) } If (LLessEqual (Arg0, 0x5A)) { Return (One) } Return (Zero) } Method (SETT, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One))) { Return (0x09) } } Return (0x04) } Scope (_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { If (^^PCI0.LPC.EC0.ECOK) { If (RDEC (0x92, One, Zero)) { Return (Zero) } Else { Return (One) } } Else { Return (One) } } Name (_PRW, Package (0x02) { 0x0D, 0x04 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { If (RDEC (0x92, One, Zero)) { WREC (0xB6, One, Zero, One) } Else { WREC (0xB6, One, Zero, Zero) } } Else { WREC (0xB6, One, Zero, Zero) } } } Device (ADP0) { Name (_PCL, Package (0x01) { _SB }) Name (_HID, "ACPI0003") Method (_PSR, 0, NotSerialized) { If (^^PCI0.LPC.EC0.ECOK) { And (ShiftRight (EC92, 0x03), One, Local0) If (Local0) { Return (One) } Else { Return (Zero) } } Else { Return (One) } } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, One) Name (_PCL, Package (0x01) { _SB }) Name (BIF1, Package (0x0D) { Zero, 0x10CC, 0x10CC, One, 0x3A98, Zero, Zero, Zero, Zero, "PA3478U-1BAS/BRS", "0000", "Li-ion", "" }) Method (_STA, 0, NotSerialized) { If (^^PCI0.LPC.EC0.ECOK) { If (And (EC94, One)) { Return (0x1F) } Else { Return (0x0F) } } Else { Return (0x0F) } } Name (BST1, Package (0x04) { One, 0x0A90, 0x1000, 0x23A0 }) Method (_BIF, 0, NotSerialized) { If (^^PCI0.LPC.EC0.ECOK) { Store (ECAE, Local0) Store (ECAF, Local5) ShiftLeft (Local5, 0x08, Local5) Add (Local0, Local5, Local0) Store (Local0, Index (BIF1, 0x04)) Store (Local0, Local2) Store (ECAA, Local0) Store (ECAB, Local5) ShiftLeft (Local5, 0x08, Local5) Add (Local0, Local5, Local0) Multiply (Local0, Local2, Local0) Divide (Local0, 0x03E8, Local3, Local0) Store (Local0, Index (BIF1, 0x02)) Store (ECAC, Local1) Store (ECAD, Local5) ShiftLeft (Local5, 0x08, Local5) Add (Local1, Local5, Local1) Multiply (Local1, Local2, Local1) Divide (Local1, 0x03E8, Local3, Local1) Store (Local1, Index (BIF1, One)) Store (Local0, Index (BIF1, 0x08)) Concatenate (BCM1, BCM2, Local0) Store (Local0, Index (BIF1, 0x09)) Store (ECB9, Local0) Store (ECBA, Local5) ShiftLeft (Local5, 0x08, Local5) Add (Local0, Local5, Local0) Store (ITOS (Local0), Local1) Store (Local1, Index (BIF1, 0x0A)) } Else { Store (Ones, Index (BIF1, One)) Store (Ones, Index (BIF1, 0x04)) } Return (BIF1) } Method (_BST, 0, NotSerialized) { If (^^PCI0.LPC.EC0.ECOK) { And (ShiftRight (EC94, 0x04), One, Local1) And (EC95, One, Local0) ShiftLeft (Local1, One, Local2) Or (Local0, Local2, Local3) Store (ECC6, Local2) Multiply (Local2, 0x0100, Local1) Store (ECC5, Local0) Add (Local1, Local0, Local1) Add (ECAE, ShiftLeft (ECAF, 0x08), Local4) Multiply (Local1, Local4, Local1) Divide (Local1, 0x03E8, Local0, Local1) Store (Local1, Index (BST1, One)) Store (ECA4, Local0) If (LLess (Local0, 0x0F)) { Or (Local3, 0x04, Local3) } Store (Local3, Index (BST1, Zero)) Store (DerefOf (Index (BIF1, 0x02)), Local1) Multiply (Local1, Local0, Local2) Divide (Local2, 0x64, Local3, Local2) Add (Local2, One, Local2) Store (Local2, Index (BST1, 0x02)) Store (DerefOf (Index (BIF1, 0x04)), Local3) Store (Local3, Index (BST1, 0x03)) } Else { Store (One, Index (BST1, Zero)) Store (Ones, Index (BST1, One)) Store (Ones, Index (BST1, 0x02)) Store (Ones, Index (BST1, 0x03)) } Return (BST1) } } Method (ITOS, 1, NotSerialized) { Store ("", Local0) Store (0x04, Local1) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) Store (DerefOf (Index (CHAR, Local4)), Local2) Concatenate (Local0, Local2, Local5) Store (Local5, Local0) } Return (Local0) } Name (CHAR, Package (0x10) { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }) Device (BT) { Name (_HID, "TOS6205") Method (_STA, 0, NotSerialized) { And (ShiftRight (EC93, 0x05), One, Local2) Store (Zero, Local0) If (Local2) { Store (0x0F, Local0) } Return (Local0) } Method (BTST, 0, NotSerialized) { Store (Zero, Local0) If (LEqual (And (EC93, 0x20), 0x20)) { And (EC93, 0xC0, Local0) If (LEqual (And (EC93, 0x10), 0x10)) { Add (Local0, One, Local0) } } Return (Local0) } Method (AUSB, 0, NotSerialized) { } Method (DUSB, 0, NotSerialized) { Store (Zero, BTRS) Acquire (MUTS, 0xFFFF) FLNK (0x16, 0xFC) Release (MUTS) Sleep (0x96) } Method (BTPO, 0, NotSerialized) { Store (RDEC (0x93, 0x20, 0x05), Local2) If (Local2) { Store (RDEC (0x93, 0x10, 0x04), Local3) If (Local3) { WREC (0x93, 0x80, 0x07, One) WREC (0x93, 0x40, 0x06, One) Acquire (MUTS, 0xFFFF) FLNK (0x16, 0xFA) Release (MUTS) Store (One, BTRS) } } } Method (BTPF, 0, NotSerialized) { If (^^PCI0.LPC.EC0.ECOK) { Store (RDEC (0x93, 0x20, 0x05), Local2) If (Local2) { Sleep (0xFA) } } } } OperationRegion (PSMI, SystemIO, 0xB2, 0x02) Field (PSMI, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8 } Method (OSMI, 1, NotSerialized) { Store (Arg0, APMD) Store (0xBE, APMC) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) Stall (0xFF) } Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Device (HMBR) { Name (_ADR, Zero) OperationRegion (BDF0, PCI_Config, Zero, 0xFF) Field (BDF0, AnyAcc, NoLock, Preserve) { Offset (0xE0), , 42, CPID, 3 } } Method (_INI, 0, NotSerialized) { If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03E8, OSYS) } Else { Store (0x07D0, OSYS) If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) } If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) } If (LNotEqual (OSYS, 0x07D6)) { If (_OSI ("Windows 2006 SP1")) { Store (0x07D6, OSYS) } Else { If (_OSI ("Windows 2006 SP2")) { Store (0x07D6, OSYS) } } } } } } Name (_BBN, Zero) OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { EPEN, 1, , 11, EPBR, 20, Offset (0x08), MHEN, 1, , 13, MHBR, 18, Offset (0x20), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset (0x28), DIEN, 1, , 11, DIBR, 20, Offset (0x30), IPEN, 1, , 11, IPBR, 20, Offset (0x50), , 4, PM0H, 2, Offset (0x51), PM1L, 2, , 2, PM1H, 2, Offset (0x52), PM2L, 2, , 2, PM2H, 2, Offset (0x53), PM3L, 2, , 2, PM3H, 2, Offset (0x54), PM4L, 2, , 2, PM4H, 2, Offset (0x55), PM5L, 2, , 2, PM5H, 2, Offset (0x56), PM6L, 2, , 2, PM6H, 2, Offset (0x57), , 7, HENA, 1, Offset (0x62), TUUD, 16, Offset (0x70), , 4, TLUD, 12, Offset (0x89), , 3, GTSE, 1, Offset (0x8A) } OperationRegion (MCHT, SystemMemory, 0xFED11000, 0xFF) Field (MCHT, ByteAcc, NoLock, Preserve) { Offset (0x1E), T0IS, 16, Offset (0x5E), T1IS, 16, Offset (0xEF), ESCS, 8 } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length ,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0B, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y0D, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFED40000, // Range Minimum 0xFED44FFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) { If (PM1L) { CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN) Store (Zero, C0LN) } If (LEqual (PM1L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW) Store (Zero, C0RW) } If (PM1H) { CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN) Store (Zero, C4LN) } If (LEqual (PM1H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW) Store (Zero, C4RW) } If (PM2L) { CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN) Store (Zero, C8LN) } If (LEqual (PM2L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW) Store (Zero, C8RW) } If (PM2H) { CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN) Store (Zero, CCLN) } If (LEqual (PM2H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW) Store (Zero, CCRW) } If (PM3L) { CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN) Store (Zero, D0LN) } If (LEqual (PM3L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW) Store (Zero, D0RW) } If (PM3H) { CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN) Store (Zero, D4LN) } If (LEqual (PM3H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW) Store (Zero, D4RW) } If (PM4L) { CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN) Store (Zero, D8LN) } If (LEqual (PM4L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW) Store (Zero, D8RW) } If (PM4H) { CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN) Store (Zero, DCLN) } If (LEqual (PM4H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW) Store (Zero, DCRW) } If (PM5L) { CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN) Store (Zero, E0LN) } If (LEqual (PM5L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW) Store (Zero, E0RW) } If (PM5H) { CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN) Store (Zero, E4LN) } If (LEqual (PM5H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW) Store (Zero, E4RW) } If (PM6L) { CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN) Store (Zero, E8LN) } If (LEqual (PM6L, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW) Store (Zero, E8RW) } If (PM6H) { CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN) Store (Zero, ECLN) } If (LEqual (PM6H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW) Store (Zero, ECRW) } If (PM0H) { CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN) Store (Zero, F0LN) } If (LEqual (PM0H, One)) { CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW) Store (Zero, F0RW) } CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN) CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX) CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN) ShiftLeft (TLUD, 0x14, M1MN) Add (Subtract (M1MX, M1MN), One, M1LN) Return (BUF0) } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x1B) { Package (0x04) { 0x0001FFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, ^LPC.LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, ^LPC.LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, ^LPC.LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, ^LPC.LNKD, Zero }, Package (0x04) { 0x0019FFFF, Zero, ^LPC.LNKE, Zero }, Package (0x04) { 0x001AFFFF, Zero, ^LPC.LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, ^LPC.LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x001AFFFF, 0x03, ^LPC.LNKD, Zero }, Package (0x04) { 0x001BFFFF, Zero, ^LPC.LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, ^LPC.LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, ^LPC.LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, ^LPC.LNKD, Zero }, Package (0x04) { 0x001DFFFF, Zero, ^LPC.LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, ^LPC.LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, ^LPC.LNKA, Zero }, Package (0x04) { 0x001FFFFF, Zero, ^LPC.LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, ^LPC.LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, ^LPC.LNKC, Zero }, Package (0x04) { 0x001FFFFF, 0x03, ^LPC.LNKA, Zero } }) } Else { Return (Package (0x1B) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 } }) } } Device (OVGA) { Name (_ADR, 0x00020000) Name (BCML, 0x64) Method (_STA, 0, NotSerialized) { If (IGDS) { Return (Zero) } Else { Return (0x0F) } } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x07), DSEN) } Method (_DOD, 0, NotSerialized) { Store (Zero, NDID) If (LNotEqual (DIDL, Zero)) { Store (SDDL (DID1), DID1) } If (LNotEqual (DDL2, Zero)) { Store (SDDL (DID2), DID2) } If (LNotEqual (DDL3, Zero)) { Store (SDDL (DID3), DID3) } If (LNotEqual (DDL4, Zero)) { Store (SDDL (DID4), DID4) } If (LNotEqual (DDL5, Zero)) { Store (SDDL (DID5), DID5) } If (LEqual (NDID, One)) { Name (TMP1, Package (0x01) { Ones }) Store (Or (0x00010000, DID1), Index (TMP1, Zero)) Return (TMP1) } If (LEqual (NDID, 0x02)) { Name (TMP2, Package (0x02) { Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP2, Zero)) Store (Or (0x00010000, DID2), Index (TMP2, One)) Return (TMP2) } If (LEqual (NDID, 0x03)) { Name (TMP3, Package (0x03) { Ones, Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP3, Zero)) Store (Or (0x00010000, DID2), Index (TMP3, One)) Store (Or (0x00010000, DID3), Index (TMP3, 0x02)) Return (TMP3) } If (LEqual (NDID, 0x04)) { Name (TMP4, Package (0x04) { Ones, Ones, Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP4, Zero)) Store (Or (0x00010000, DID2), Index (TMP4, One)) Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) Store (Or (0x00010000, DID4), Index (TMP4, 0x03)) Return (TMP4) } If (LGreater (NDID, 0x04)) { Name (TMP5, Package (0x05) { Ones, Ones, Ones, Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) Store (Or (0x00010000, DID5), Index (TMP5, 0x04)) Return (TMP5) } Return (Package (0x01) { 0x0400 }) } Device (DD01) { Method (_ADR, 0, Serialized) { If (LEqual (DID1, Zero)) { Return (One) } Else { Return (And (0xFFFF, DID1)) } } Method (_DCS, 0, NotSerialized) { Return (CDDS (DID1)) } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID1)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD02) { Method (_ADR, 0, Serialized) { If (LEqual (DID2, Zero)) { Return (0x02) } Else { Return (And (0xFFFF, DID2)) } } Method (_DCS, 0, NotSerialized) { Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD03) { Method (_ADR, 0, Serialized) { If (LEqual (DID3, Zero)) { Return (0x03) } Else { Return (And (0xFFFF, DID3)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID3, Zero)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Name (BRLV, Package (0x0A) { 0x5A, 0x23, 0x0A, 0x19, 0x23, 0x32, 0x3C, 0x4B, 0x5A, 0x64 }) Method (_BCL, 0, NotSerialized) { Return (BRLV) } Method (_BQC, 0, Serialized) { Return (BCML) } Method (_BCM, 1, Serialized) { Acquire (MUTS, 0xFFFF) Store (Arg0, BCML) Store (SizeOf (BRLV), Local0) While (Local0) { Decrement (Local0) Store (DerefOf (Index (BRLV, Local0)), Local1) If (LEqual (Arg0, Local1)) { Break } } Subtract (Local0, 0x02, Local0) Store (Local0, BRTL) OSMI (0xA2) Release (MUTS) } } Device (DD04) { Method (_ADR, 0, Serialized) { If (LEqual (DID4, Zero)) { Return (0x04) } Else { Return (And (0xFFFF, DID4)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID4, Zero)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID4)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD05) { Method (_ADR, 0, Serialized) { If (LEqual (DID5, Zero)) { Return (0x05) } Else { Return (And (0xFFFF, DID5)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID5, Zero)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Method (SDDL, 1, NotSerialized) { Increment (NDID) Store (And (Arg0, 0x0F0F), Local0) Or (0x80000000, Local0, Local1) If (LEqual (DIDL, Local0)) { Return (Local1) } If (LEqual (DDL2, Local0)) { Return (Local1) } If (LEqual (DDL3, Local0)) { Return (Local1) } If (LEqual (DDL4, Local0)) { Return (Local1) } If (LEqual (DDL5, Local0)) { Return (Local1) } If (LEqual (DDL6, Local0)) { Return (Local1) } If (LEqual (DDL7, Local0)) { Return (Local1) } If (LEqual (DDL8, Local0)) { Return (Local1) } Return (Zero) } Method (CDDS, 1, NotSerialized) { If (LEqual (CADL, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL2, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL3, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL4, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL5, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL6, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL7, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL8, And (Arg0, 0x0F0F))) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { If (LEqual (NADL, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL2, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL3, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL4, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL5, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL6, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL7, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL8, And (Arg0, 0x0F0F))) { Return (One) } Return (Zero) } Method (STBL, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (0x0400, NADL) Store (Zero, NDL2) } Else { Acquire (MUTS, 0xFFFF) OSMI (0xA8) Store (CSTE, Local0) OSMI (0xFF) ShiftRight (Local0, One, Local0) While (LNot (And (PADL, Local0))) { ShiftRight (Local0, One, Local0) If (LEqual (Local0, Zero)) { Store (0x08, Local0) } } Release (MUTS) If (LEqual (Local0, One)) { Store (0x0400, NADL) } If (LEqual (Local0, 0x02)) { Store (0x0100, NADL) } If (LEqual (Local0, 0x04)) { Store (0x0300, NADL) } If (LEqual (Local0, 0x08)) { Store (0x0500, NADL) } Store (Zero, NDL2) } } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0xA4), ASLE, 8, Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xB0), , 12, CDVL, 1, Offset (0xB2), Offset (0xB5), LBPC, 8, Offset (0xBC), ASLS, 32 } OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, CCDV, 32, PCFT, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x05) { Package (0x02) { 0xE4, 0x0140 }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { Zero, Zero }, Package (0x02) { 0xDE, 0x014D } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { Method (GBDA, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (0x0679, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x0240, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xEFFF0000, PARM) And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), PARM) Or (IBTT, PARM, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Add (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Acquire (MUTS, 0xFFFF) OSMI (0x56) Store (PRM1, PARM) Store (Zero, GESF) Release (MUTS) Return (SUCC) } If (LEqual (GESF, 0x07)) { Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1800, PARM) Or (PARM, ShiftLeft (IDMS, 0x11), PARM) Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL )), 0x15), PARM, PARM) Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (PARM, 0x03, PARM) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0B)) { Store (KSV0, PARM) Store (KSV1, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (Zero, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x06)) { Acquire (MUTS, 0xFFFF) Store (PARM, PRM0) OSMI (0x57) Store (Zero, GESF) Store (Zero, PARM) Release (MUTS) Return (SUCC) } If (LEqual (GESF, 0x07)) { If (LEqual (PARM, Zero)) { Store (CLID, Local0) If (And (0x80000000, Local0)) { And (CLID, 0x0F, CLID) GLID (CLID) } } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x09)) { And (PARM, 0xFF, IBTT) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0A)) { And (PARM, 0xFF, IPSC) If (And (ShiftRight (PARM, 0x08), 0xFF)) { And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (PARM, 0x14), 0x07, IBIA) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { And (ShiftRight (PARM, One), One, IF1E) If (And (PARM, 0x0001E000)) { And (ShiftRight (PARM, 0x0D), 0x0F, IDMS) } Else { And (ShiftRight (PARM, 0x11), 0x0F, IDMS) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x11)) { Store (ShiftLeft (LIDS, 0x08), PARM) Add (PARM, 0x0100, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { If (And (PARM, One)) { If (LEqual (ShiftRight (PARM, One), One)) { Store (One, ISSC) } Else { Store (Zero, GESF) Return (CRIT) } } Else { Store (Zero, ISSC) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x14)) { And (PARM, 0x0F, PAVP) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (One, SCIS) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { Sleep (ASLP) } Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (LGreater (CSTS, 0x02)) { Sleep (ASLP) } Return (LEqual (CSTS, 0x03)) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } Store (Arg0, CEVT) Store (0x03, CSTS) If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) { If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (OVGA, Arg1) } } Notify (OVGA, 0x80) Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { Store (Arg0, CLID) Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (LNot (ARDY)) { Sleep (ASLP) } Return (LNot (ARDY)) } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LEqual (Arg0, 0x02)) { If (CPFM) { And (CPFM, 0x0F, Local0) And (EPFM, 0x0F, Local1) If (LEqual (Local0, One)) { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { If (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } Else { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } Else { If (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } } } Store (Zero, LBPC) Return (Zero) } Method (SCIP, 0, NotSerialized) { If (LNotEqual (OVER, Zero)) { Return (LNot (GSMI)) } Return (Zero) } } Device (P32) { Name (_ADR, 0x001E0000) Method (_PRW, 0, NotSerialized) { If (LEqual (WKPM, One)) { Return (Package (0x02) { 0x0B, 0x04 }) } Else { Return (Package (0x02) { 0x0B, Zero }) } } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x00) {}) } Else { Return (Package (0x00) {}) } } } Device (LPC) { Name (_ADR, 0x001F0000) OperationRegion (PRR0, PCI_Config, 0x60, 0x04) Field (PRR0, AnyAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion (PRR1, PCI_Config, 0x68, 0x04) Field (PRR1, AnyAcc, NoLock, Preserve) { PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } OperationRegion (PRR2, PCI_Config, 0x80, 0x02) Field (PRR2, AnyAcc, NoLock, Preserve) { IODL, 8, IODH, 8 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { If (And (PIRA, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRA, 0x80, PIRA) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRA, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRA, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (And (PIRB, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRB, 0x80, PIRB) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRB, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRB, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (And (PIRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRC, 0x80, PIRC) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRC, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (And (PIRD, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRD, 0x80, PIRD) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRD, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRD, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (And (PIRE, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRE, 0x80, PIRE) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRE, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRE, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (And (PIRF, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRF, 0x80, PIRF) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRF, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRF, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (And (PIRG, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRG, 0x80, PIRG) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRG, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRG, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (And (PIRH, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PIRH, 0x80, PIRH) } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {0} }) CreateWordField (BUF0, One, IRQW) If (And (PIRH, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PIRH, 0x0F), IRQW) Return (BUF0) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, One, IRQW) FindSetRightBit (IRQW, Local0) If (LNotEqual (IRQW, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PIRH) } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0800, // Range Minimum 0x0800, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0810, // Range Minimum 0x0810, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0820, // Range Minimum 0x0820, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x006C, // Range Minimum 0x006C, // Range Maximum 0x01, // Alignment 0x01, // Length ) Memory32Fixed (ReadWrite, 0xF8000000, // Address Base 0x04000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED10000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED18000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED19000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEC00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00070000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEE00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFF800000, // Address Base 0x00800000, // Address Length ) }) } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x11, // Length ) IO (Decode16, 0x0093, // Range Minimum 0x0093, // Range Maximum 0x01, // Alignment 0x0D, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) Method (_CRS, 0, Serialized) { If (LEqual (HPTS, One)) { Return (BUF0) } Else { Return (BUF1) } } } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (BUF0, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y0E) }) Method (_STA, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D1)) { If (LEqual (HPTS, One)) { Return (0x0F) } Else { Return (Zero) } } Else { If (HPTS) { Return (0x0B) } Else { Return (Zero) } } } Method (_CRS, 0, Serialized) { If (LEqual (HPTS, One)) { CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y0E._BAS, HPT0) If (LEqual (HPTA, One)) { Store (0xFED01000, HPT0) } If (LEqual (HPTA, 0x02)) { Store (0xFED02000, HPT0) } If (LEqual (HPTA, 0x03)) { Store (0xFED03000, HPT0) } } Return (BUF0) } } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (FPU) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) Method (_CRS, 0, Serialized) { If (HPTS) { Return (BUF0) } Return (BUF1) } } Device (KBC) { 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} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (MOUE) { Method (_HID, 0, NotSerialized) { If (LEqual (TPID, One)) { Return (0x130FD041) } Return (0x1B192E4F) } Name (_CID, Package (0x03) { EisaId ("SYN1900"), EisaId ("SYN0002"), EisaId ("PNP0F13") }) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Method (PWCG, 0, NotSerialized) { Notify (ADP0, Zero) Notify (BAT0, 0x80) Notify (BAT0, 0x81) } Method (INEV, 1, NotSerialized) { Acquire (MUTS, 0xFFFF) Store (Arg0, CECI) FLNK (0xFF, 0x05) Release (MUTS) If (TSBK) { Notify (VALZ, 0x80) } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x16) Name (ECOK, Zero) Name (SATC, Zero) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { If (LEqual (Arg1, One)) { Store (One, ECOK) Store (KSST, Local0) Notify (ADP0, Zero) Notify (BAT0, 0x80) Acquire (MUTS, 0xFFFF) FLNK (0xFF, 0x22) If (LGreater (OSYS, 0x07D5)) { WREC (0xDB, One, Zero, One) FLNK (0x14, One) Store (One, HKEM) WREC (0xDB, 0x10, 0x04, One) Store (One, HSEM) WREC (0xDB, 0x20, 0x05, One) If (LNotEqual (EVCT, Zero)) { FLNK (0x11, EVCT) Store (And (KYB0, 0xFF), HSWK) Store (Zero, KYB0) } FLNK (0x10, One) FLNK (0x15, 0xFF) } Else { WREC (0xDB, One, Zero, Zero) FLNK (0x15, 0xFF) } Release (MUTS) _Q41 () } Else { Store (Zero, ECOK) } } Acquire (MUTS, 0xFFFF) FLNK (0x30, Zero) Release (MUTS) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x90), Offset (0x91), Offset (0x92), LIDE, 1, DOCK, 1, FNST, 1, ACST, 1, , 1, , 1, , 1, Offset (0x93), SMIE, 1, WLST, 1, BTRT, 1, WLIF, 1, KSST, 1, BTST, 1, BION, 1, BTON, 1, B1EX, 1, , 3, B1CG, 1, Offset (0x95), B1DC, 1, , 3, B1CF, 1, Offset (0x96), L1B1, 1, , 3, L1B2, 1, Offset (0x97), CPTO, 8, Offset (0x99), BL1P, 7, Offset (0x9A), BL2P, 7, Offset (0x9B), Offset (0x9C), CCTV, 8, CCLT, 8, CCHT, 8, CCST, 8, CFAS, 8, Offset (0xA2), WKSV, 8, BNDT, 8, B1PT, 8, Offset (0xA7), BLEC, 1, Offset (0xA8), B1RL, 8, B1RH, 8, B1FL, 8, B1FH, 8, B1DL, 8, B1DH, 8, B1VL, 8, B1VH, 8, Offset (0xB4), OTCD, 8, Offset (0xB6), WKLD, 1, WKKY, 1, WKLN, 1, Offset (0xB8), , 1, SWI4, 1, SDPF, 1, Offset (0xB9), B1SL, 8, B1SH, 8, POHV, 8, Offset (0xBD), B1PL, 8, B1PH, 8, Offset (0xC1), THOF, 8, THON, 8, VFON, 8, VFOF, 8, BPRL, 8, BPRH, 8, Offset (0xC8), BUT0, 1, BUT1, 1, BUT2, 1, BUT3, 1, BUT4, 1, BUT5, 1, , 1, Offset (0xC9), BU0W, 1, BU1W, 1, BU2W, 1, BU3W, 1, BU4W, 1, BU5W, 1, , 1, Offset (0xCA), PDSE, 8, VGAL, 8, ECTR, 8, Offset (0xCF), VGAR, 8, Offset (0xD1), VGAS, 8, Offset (0xD7), CPUD, 8, Offset (0xD9), PANT, 8, Offset (0xDB), VKEY, 1, , 3, KEMU, 1, HEMU, 1, Offset (0xDF), BCEL, 8, Offset (0xE3), CCIR, 1 } Method (_Q11, 0, NotSerialized) { Store (0x11, P80H) Acquire (MUTS, 0xFFFF) OSMI (0xC2) Release (MUTS) Notify (\_TZ.THRM, 0x81) } Method (_Q13, 0, NotSerialized) { PWCG () } Method (_Q14, 0, NotSerialized) { Notify (LID0, 0x80) } Method (_Q19, 0, NotSerialized) { Store (One, BTCG) PWCG () } Method (_Q25, 0, NotSerialized) { If (IGDS) { Store (Zero, LAG2) If (LEqual (VGAM, Zero)) { If (HKEM) { If (LEqual (^^^PEGP.VGA.DOSA, Zero)) { Store (One, LAG2) } } } ^^^PEGP.VGA.UDCS () ^^^PEGP.VGA.UDGS () If (^^^PEGP.VGA.DOSA) { Acquire (MUTS, 0xFFFF) OSMI (0xA7) Release (MUTS) } Else { If (LNotEqual (PADL, One)) { Notify (^^^PEGP.VGA, 0x80) } } } Else { If (DSEN) { Acquire (MUTS, 0xFFFF) OSMI (0xA8) Store (CSTE, NSTE) OSMI (0xFF) ShiftRight (NSTE, One, NSTE) While (LNot (And (PADL, NSTE))) { ShiftRight (NSTE, One, NSTE) If (LEqual (NSTE, Zero)) { Store (0x08, NSTE) } } OSMI (0xA7) Release (MUTS) } Else { ^^^OVGA.STBL (One) ^^^OVGA.GHDS (Zero) } } } Method (_Q26, 0, NotSerialized) { If (IGDS) { Store (Zero, ^^^PEGP.VGA.CRT._DGS) Store (One, ^^^PEGP.VGA.LCD._DGS) Store (Zero, ^^^PEGP.VGA.DFP1._DGS) Store (Zero, ^^^PEGP.VGA.DFP2._DGS) If (^^^PEGP.VGA.DOSA) { Store (One, NSTE) Acquire (MUTS, 0xFFFF) OSMI (0xA7) Release (MUTS) } Else { Store (Zero, ^^^PEGP.VGA.CSTT) Notify (^^^PEGP.VGA, 0x80) } } Else { If (DSEN) { Acquire (MUTS, 0xFFFF) Store (One, NSTE) OSMI (0xA7) Release (MUTS) } Else { ^^^OVGA.STBL (Zero) ^^^OVGA.GHDS (Zero) } } } Method (_Q27, 0, NotSerialized) { } Method (_Q28, 0, NotSerialized) { If (ECOK) { If (LEqual (And (EC93, 0x30), 0x30)) { WREC (0x93, 0x80, 0x07, One) WREC (0x93, 0x40, 0x06, One) Store (One, BTRS) } } Notify (BT, Zero) } Method (_Q29, 0, NotSerialized) { If (ECOK) { If (LEqual (And (EC93, 0x30), 0x30)) { WREC (0x93, 0x80, 0x07, Zero) WREC (0x93, 0x40, 0x06, Zero) Store (Zero, BTRS) } } Notify (BT, Zero) } Method (_Q31, 0, NotSerialized) { Acquire (MUTS, 0xFFFF) If (LEqual (THRF, Zero)) { Store (Zero, PRM0) } Else { Store (0x02, PRM0) } OSMI (0xC0) Release (MUTS) Notify (\_TZ.THRM, 0x81) } Method (_Q32, 0, NotSerialized) { } Method (_Q33, 0, NotSerialized) { } Method (_Q34, 0, NotSerialized) { } Method (_Q36, 0, NotSerialized) { Acquire (MUTS, 0xFFFF) Store (PWRT, PRM0) OSMI (0xC4) Release (MUTS) } Method (_Q40, 0, NotSerialized) { Acquire (MUTS, 0xFFFF) OSMI (0xC1) Release (MUTS) Notify (\_TZ.THRM, 0x81) } Method (_Q41, 0, NotSerialized) { Store (And (CPUS, 0x80), Local0) Store (And (CPUS, 0x7F), Local1) If (LEqual (Local0, Zero)) { If (LEqual (THRF, Zero)) { Store (CPUL, ACPS) } Else { Decrement (Local1) Store (Local1, ACPS) } } Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU1, 0x80) } Method (_Q45, 0, NotSerialized) { Acquire (MUTS, 0xFFFF) Store (0x28, DTSF) Store (Zero, TRPD) Release (MUTS) If (LEqual (TCTM, 0xFF)) { Store (One, MSRS) WRSM (0x94, 0x04, 0x5A, 0x45) } Else { Store (Zero, MSRS) } } Method (CMRC, 0, Serialized) { Store (Ones, CMR1) Store (Ones, CMR2) Store (Ones, CMR3) Store (Ones, CMR4) Store (Ones, CMR5) } Method (CMWC, 0, Serialized) { Store (Ones, CMW1) Store (Ones, CMW2) Store (Ones, CMW3) Store (Ones, CMW4) Store (Ones, CMW5) } Method (CMRR, 0, Serialized) { Store (CMR1, CEC1) Store (CMR2, CEC2) Store (CMR3, CEC3) Store (CMR4, CEC4) Store (CMR5, CEC5) CMRC () } Method (CECR, 0, Serialized) { Acquire (MUTS, 0xFFFF) If (LEqual (CMR1, Ones)) { If (LEqual (CMR2, Ones)) { If (LEqual (CMR3, Ones)) { If (LEqual (CMR4, Ones)) { If (LEqual (CMR5, Ones)) { Return (Zero) } } } } } Release (MUTS) Return (One) } Method (_Q50, 0, NotSerialized) { INEV (0x1581) } Method (_Q51, 0, NotSerialized) { INEV (0x1580) } Method (_Q52, 0, NotSerialized) { If (LEqual (CECR (), One)) { Acquire (MUTS, 0xFFFF) CMRR () FLNK (0xFF, 0x06) Release (MUTS) INEV (0x1500) } } Method (_Q53, 0, NotSerialized) { If (LEqual (CECR (), One)) { Acquire (MUTS, 0xFFFF) CMRR () FLNK (0xFF, 0x07) Release (MUTS) INEV (0x1501) } } Method (_Q54, 0, NotSerialized) { If (LEqual (CECR (), One)) { Acquire (MUTS, 0xFFFF) CMRR () FLNK (0xFF, 0x08) Release (MUTS) INEV (0x1502) } } Method (_Q55, 0, NotSerialized) { If (TSBK) { If (LEqual (CECR (), One)) { Acquire (MUTS, 0xFFFF) Add (And (CMR1, 0xFF), 0x1400, CECI) And (CECI, 0xFF, CECZ) FLNK (0xFF, 0x05) CMRC () Release (MUTS) Notify (VALZ, 0x80) } } } Method (_Q56, 0, NotSerialized) { If (TSBK) { If (LEqual (CECR (), One)) { Acquire (MUTS, 0xFFFF) Add (And (CMR1, 0xFF), 0x1600, CECI) FLNK (0xFF, 0x05) CMRC () Release (MUTS) Notify (VALZ, 0x80) } } } Method (_Q59, 0, NotSerialized) { Acquire (MUTS, 0xFFFF) FLNK (0x16, 0xFB) Release (MUTS) } Method (_Q60, 0, NotSerialized) { If (LLess (OSYS, 0x07D6)) { Notify (FWEX, 0x80) } Else { If (TSBK) { Notify (VALZ, 0x80) } Else { If (LNotEqual (EVCT, Zero)) { Acquire (MUTS, 0xFFFF) FLNK (0x11, EVCT) Store (And (KYB0, 0xFF), Local0) Store (Zero, KYB0) Release (MUTS) } } } } Method (_Q61, 0, NotSerialized) { If (LNotEqual (HSEM, One)) { Notify (HSB1, 0x80) } } Method (_Q63, 0, NotSerialized) { If (IGDS) { Notify (^^^PEGP.VGA.LCD, 0x87) } Else { Notify (^^^OVGA.DD03, 0x87) } } Method (_Q64, 0, NotSerialized) { If (IGDS) { Notify (^^^PEGP.VGA.LCD, 0x86) } Else { Notify (^^^OVGA.DD03, 0x86) } } Method (_Q71, 0, NotSerialized) { Acquire (MUTS, 0xFFFF) OSMI (0xFD) Release (MUTS) } Method (_Q80, 0, NotSerialized) { If (Not (GP39)) { Acquire (MUTS, 0xFFFF) Store (0x80, APMD) Store (0xBE, APMC) Release (MUTS) } } Method (_Q81, 0, NotSerialized) { If (Not (GP39)) { Acquire (MUTS, 0xFFFF) Store (0x81, APMD) Store (0xBE, APMC) Release (MUTS) } } Method (_Q82, 0, NotSerialized) { If (TSBK) { If (LEqual (And (EVTC, 0x02), 0x02)) { INEV (0x19B2) } } } Method (_Q83, 0, NotSerialized) { If (TSBK) { If (LEqual (And (EVTC, 0x02), 0x02)) { INEV (0x19B3) } } } Method (_Q84, 0, NotSerialized) { If (TSBK) { INEV (0x0401) } } Method (_Q85, 0, NotSerialized) { If (LEqual (TCON, 0x11)) { Acquire (MUTS, 0xFFFF) Store (0x1F, DTSF) Store (Zero, TRPD) Release (MUTS) } } Method (_Q87, 0, NotSerialized) { If (LNotEqual (SYBZ, 0x03)) { Acquire (MUTM, 0xFFFF) CKSM () Release (MUTM) } } Method (_Q89, 0, NotSerialized) { If (TSBK) { If (LEqual (And (EVTC, 0x08), 0x08)) { If (And (LEqual (OVET, 0x3C), LEqual (BLET, 0x32))) { Subtract (CPUT, One, Local0) Store (Local0, OVET) Subtract (CPUT, 0x06, Local0) Store (Local0, BLET) } Acquire (MUTS, 0xFFFF) Store (0x28, DTSF) Store (Zero, TRPD) Store (TCTM, BINO) Release (MUTS) } } } Method (_Q98, 0, NotSerialized) { If (ECOK) { If (LLess (SATC, 0x05)) { If (SCFG) { FLNK (0xFF, 0x31) } Increment (SATC) WREC (0xD4, 0xFF, Zero, 0x1E) } } } } } Device (UHC1) { Name (_ADR, 0x001D0000) Name (_PRW, Package (0x02) { 0x03, 0x03 }) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x51, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x59, 0x11, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } } } Device (UHC2) { Name (_ADR, 0x001D0001) Name (_PRW, Package (0x02) { 0x04, 0x03 }) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x59, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } } Device (UHC3) { Name (_ADR, 0x001D0002) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0x02, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x11, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } } Device (USB4) { Name (_ADR, 0x001D0003) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } } Device (UHC4) { Name (_ADR, 0x001A0000) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } } Device (UHC5) { Name (_ADR, 0x001A0001) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } } Device (ECHI) { Name (_ADR, 0x001D0007) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x51, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x59, 0x11, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT3) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, Zero, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x59, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT4) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT5) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, 0x02, Zero, Zero }) Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x11, 0x12, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 }) } Device (PRT6) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT7) { Name (_ADR, 0x07) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT8) { Name (_ADR, 0x08) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } } Device (EHII) { Name (_ADR, 0x001A0007) OperationRegion (USBR, PCI_Config, 0xC4, One) Field (USBR, AnyAcc, NoLock, Preserve) { URES, 8 } Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, URES) } If (LEqual (Arg0, One)) { Store (0x03, URES) } } Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT2) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT3) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Device (PRT4) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) } } } Device (EXP1) { Name (_ADR, 0x001C0000) OperationRegion (P1CS, PCI_Config, 0x40, 0x0100) Field (P1CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD1, 1, Offset (0x1A), ABP1, 1, , 2, PDC1, 1, , 2, PDS1, 1, Offset (0x20), RID1, 16, PSP1, 1, PPP1, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS1) { Name (_ADR, Zero) } Name (_PRW, Package (0x02) { 0x09, 0x04 }) Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKD, Zero } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) } } } Device (EXP2) { Name (_ADR, 0x001C0001) OperationRegion (P2CS, PCI_Config, 0x40, 0x0100) Field (P2CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD2, 1, Offset (0x1A), ABP2, 1, , 2, PDC2, 1, , 2, PDS2, 1, Offset (0x20), RID2, 16, PSP2, 1, PPP2, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS2) { Name (_ADR, Zero) OperationRegion (B3F0, PCI_Config, Zero, 0x10) Field (B3F0, AnyAcc, NoLock, Preserve) { WVID, 16 } Method (_PS0, 0, NotSerialized) { If (LLess (OSYS, 0x07D6)) { If (LEqual (^^^HMBR.CPID, 0x03)) { If (LEqual (WVID, 0x8086)) { Sleep (0x64) } } } } Method (_PS3, 0, NotSerialized) { } } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKA, Zero } }) } Else { 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 } }) } } } Device (EXP3) { Name (_ADR, 0x001C0002) OperationRegion (P3CS, PCI_Config, 0x40, 0x0100) Field (P3CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD3, 1, Offset (0x1A), ABP3, 1, , 2, PDC3, 1, , 2, PDS3, 1, Offset (0x20), RID3, 16, PSP3, 1, PPP3, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS3) { Name (_ADR, Zero) } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKB, Zero } }) } Else { 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 } }) } } } Device (EXP4) { Name (_ADR, 0x001C0003) OperationRegion (P4CS, PCI_Config, 0x40, 0x0100) Field (P4CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD4, 1, Offset (0x1A), ABP4, 1, , 2, PDC4, 1, , 2, PDS4, 1, Offset (0x20), RID4, 16, PSP4, 1, PPP4, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS4) { Name (_ADR, Zero) } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKD, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKC, Zero } }) } Else { 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 } }) } } } Device (EXP5) { Name (_ADR, 0x001C0004) OperationRegion (P5CS, PCI_Config, 0x40, 0x0100) Field (P5CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD5, 1, Offset (0x1A), ABP5, 1, , 2, PDC5, 1, , 2, PDS5, 1, Offset (0x20), RID5, 16, PSP5, 1, PPP5, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS5) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (One) } } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKD, Zero } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) } } } Device (EXP6) { Name (_ADR, 0x001C0005) OperationRegion (P6CS, PCI_Config, 0x40, 0x0100) Field (P6CS, AnyAcc, NoLock, Preserve) { Offset (0x10), , 4, LKD6, 1, Offset (0x1A), ABP6, 1, , 2, PDC6, 1, , 2, PDS6, 1, Offset (0x20), RID6, 16, PSP6, 1, PPP6, 1, Offset (0x9C), , 30, HPCS, 1, PMCS, 1 } Device (PXS6) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { Return (One) } } Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKA, Zero } }) } Else { 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 } }) } } } Device (AZAL) { Name (_ADR, 0x001B0000) Method (_PRW, 0, NotSerialized) { If (LEqual (WKMD, One)) { Return (Package (0x02) { 0x0D, 0x04 }) } Else { Return (Package (0x02) { 0x0D, Zero }) } } } Device (PEGP) { Name (_ADR, 0x00010000) Method (_PRT, 0, NotSerialized) { If (LEqual (GPIC, Zero)) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPC.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPC.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPC.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPC.LNKD, Zero } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) } } Device (VGA) { Name (_ADR, Zero) Name (CSTT, Zero) Name (DOSA, One) Name (BCML, 0x64) Method (_STA, 0, NotSerialized) { If (IGDS) { Return (0x0F) } Else { Return (Zero) } } Method (_INI, 0, NotSerialized) { UDCS () UDGS () } Method (_DOS, 1, NotSerialized) { Store (Arg0, DOSA) } Method (_DOD, 0, NotSerialized) { If (VGAM) { Return (Package (0x04) { 0x0100, 0x0110, 0x0210, 0x0220 }) } Else { Return (Package (0x04) { 0x00010100, 0x00010110, 0x80073330, 0x80006342 }) } } Device (CRT) { Name (_ADR, 0x0100) Name (_DCS, 0x1F) Name (_DGS, Zero) Method (_DSS, 1, NotSerialized) { And (_DCS, 0xFFFFFFFD, _DCS) And (Arg0, One, Local0) ShiftLeft (Local0, One, Local0) Or (_DCS, Local0, _DCS) } } Device (LCD) { Name (_ADR, 0x0110) Name (_DCS, 0x1F) Name (_DGS, Zero) Method (_DSS, 1, NotSerialized) { And (_DCS, 0xFFFFFFFD, _DCS) And (Arg0, One, Local0) ShiftLeft (Local0, One, Local0) Or (_DCS, Local0, _DCS) } Name (BRLV, Package (0x0A) { 0x5A, 0x23, 0x0A, 0x19, 0x23, 0x32, 0x3C, 0x4B, 0x5A, 0x64 }) Method (_BCL, 0, NotSerialized) { Return (BRLV) } Method (_BQC, 0, Serialized) { Return (BCML) } Method (_BCM, 1, Serialized) { Acquire (MUTS, 0xFFFF) Store (Arg0, BCML) Store (SizeOf (BRLV), Local0) While (Local0) { Decrement (Local0) Store (DerefOf (Index (BRLV, Local0)), Local1) If (LEqual (Arg0, Local1)) { Break } } Subtract (Local0, 0x02, Local0) Store (Local0, BRTL) OSMI (0xA2) Release (MUTS) } } Device (DFP1) { Method (_ADR, 0, NotSerialized) { If (VGAM) { Return (0x0210) } Else { Return (0x80073330) } } Name (_DCS, 0x1F) Name (_DGS, Zero) Method (_DSS, 1, NotSerialized) { And (_DCS, 0xFFFFFFFD, _DCS) And (Arg0, One, Local0) ShiftLeft (Local0, One, Local0) Or (_DCS, Local0, _DCS) } } Device (DFP2) { Method (_ADR, 0, NotSerialized) { If (VGAM) { Return (0x0220) } Else { Return (0x80006342) } } Name (_DCS, 0x1F) Name (_DGS, Zero) Method (_DSS, 1, NotSerialized) { And (_DCS, 0xFFFFFFFD, _DCS) And (Arg0, One, Local0) ShiftLeft (Local0, One, Local0) Or (_DCS, Local0, _DCS) } } Method (UDCS, 0, NotSerialized) { And (^LCD._DCS, 0xFFFFFFFD, ^LCD._DCS) And (^CRT._DCS, 0xFFFFFFFD, ^CRT._DCS) And (^DFP1._DCS, 0xFFFFFFFD, ^DFP1._DCS) And (^DFP2._DCS, 0xFFFFFFFD, ^DFP2._DCS) Acquire (MUTS, 0xFFFF) OSMI (0xA8) Release (MUTS) Store (CSTE, CSTT) If (LEqual (CSTT, One)) { Or (^LCD._DCS, 0x02, ^LCD._DCS) } If (LEqual (CSTT, 0x02)) { Or (^CRT._DCS, 0x02, ^CRT._DCS) } If (LEqual (CSTT, 0x04)) { Or (^DFP1._DCS, 0x02, ^DFP1._DCS) } If (LEqual (CSTT, 0x08)) { Or (^DFP2._DCS, 0x02, ^DFP2._DCS) } } Method (UDGS, 0, NotSerialized) { And (^LCD._DGS, 0xFFFFFFFE, ^LCD._DGS) And (^CRT._DGS, 0xFFFFFFFE, ^CRT._DGS) And (^DFP1._DGS, 0xFFFFFFFE, ^DFP1._DGS) And (^DFP2._DGS, 0xFFFFFFFE, ^DFP2._DGS) And (^LCD._DCS, 0x02, Local1) And (^CRT._DCS, 0x02, Local2) And (^DFP1._DCS, 0x02, Local3) And (^DFP2._DCS, 0x02, Local4) ShiftRight (Local1, One, Local1) ShiftLeft (Local3, One, Local3) ShiftLeft (Local4, 0x02, Local4) Or (Local1, Local2, Local1) Or (Local1, Local3, Local1) Or (Local1, Local4, Local1) Acquire (MUTS, 0xFFFF) OSMI (0xFF) Release (MUTS) ShiftRight (CSTT, One, CSTT) While (LNot (And (PADL, CSTT))) { ShiftRight (CSTT, One, CSTT) If (LEqual (CSTT, Zero)) { Store (0x08, CSTT) } } If (LEqual (CSTT, One)) { Or (^LCD._DGS, One, ^LCD._DGS) } If (LEqual (CSTT, 0x02)) { Or (^CRT._DGS, One, ^CRT._DGS) } If (LEqual (CSTT, 0x04)) { Or (^DFP1._DGS, One, ^DFP1._DGS) } If (LEqual (CSTT, 0x08)) { Or (^DFP2._DGS, One, ^DFP2._DGS) } Store (CSTT, NSTE) } Name (ATIB, Buffer (0x80) {}) Method (ATIF, 2, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (AF00 ()) } If (LEqual (Arg0, 0x05)) { Return (AF05 ()) } If (LEqual (Arg0, 0x06)) { AF06 (Arg1) Return (ATIB) } 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) Store (Zero, NMSK) Store (0x30, SFUN) Return (ATIB) } Method (AF05, 0, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateByteField (ATIB, 0x02, TSEF) CreateByteField (ATIB, 0x03, TVIF) Store (0x04, SSZE) Store (Zero, TSEF) Acquire (MUTS, 0xFFFF) OSMI (0x56) Store (PRM1, TVIF) Release (MUTS) Return (ATIB) } Method (AF06, 1, NotSerialized) { CreateWordField (ATIB, Zero, SSZE) CreateByteField (ATIB, 0x02, TSEF) CreateByteField (ATIB, 0x03, TVIF) Store (0x04, SSZE) Store (Zero, TSEF) Store (Arg0, TVIF) Acquire (MUTS, 0xFFFF) Store (TVIF, PRM0) OSMI (0x57) Release (MUTS) } } } Device (SAT0) { Name (_ADR, 0x001F0002) Device (LOC4) { Name (_ADR, 0x0004FFFF) Method (_RMV, 0, NotSerialized) { If (SCFG) { FLNK (0xFF, 0x31) } Return (One) } } Device (CHA4) { Name (_ADR, 0x04) Device (ESTA) { Name (_ADR, Zero) Method (_RMV, 0, NotSerialized) { If (SCFG) { FLNK (0xFF, 0x31) } Return (One) } } } OperationRegion (SACS, PCI_Config, 0x40, 0xC0) Field (SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset (0x50), MAPV, 2 } Device (PRID) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (PBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, Zero, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GDMA (And (SYNC, One), And (ICR3, One), And (ICR0, One), SDT0, And (ICR1, One)), DMA0) If (LEqual (DMA0, Ones)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (Ones, PIO1) } Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) If (LEqual (DMA1, Ones)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, One), And (SYNC, 0x02), PRIT), FLAG) Return (PBUF) /*}*/ } Method (_STM, 3, NotSerialized) { If (LEqual (SCFG, Zero)) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x40F0, PRIT) And (SYNC, 0x0E, SYNC) Store (Zero, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, One)) { Or (SYNC, One, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, One, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, One, ICR0) } Or (ICR1, One, ICR1) } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (Zero, PSIT) And (SYNC, 0x0D, SYNC) Store (Zero, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x02, SYNC) Store (SDMA (DMA1), SDT1) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x02, ICR0) } Or (ICR1, 0x02, ICR1) } } } } Device (P_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (PIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, One, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, One)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, One)) { If (And (ICR0, One)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, One)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) /*}*/ } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (PIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, One, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR1, 0x02)) { If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) /*}*/ } } } Device (SECD) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (SBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, Zero, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) If (LEqual (DMA0, Ones)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (Ones, PIO1) } Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) If (LEqual (DMA1, Ones)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), SECT), FLAG) Return (SBUF) /*}*/ } Method (_STM, 3, NotSerialized) { If (LEqual (SCFG, Zero)) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (SECT, 0x40F0, SECT) And (SYNC, 0x0B, SYNC) Store (Zero, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, One)) { Or (SYNC, 0x04, SYNC) Store (SDMA (DMA0), SDT2) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } Or (ICR1, 0x04, ICR1) } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0x3F0F, SECT) Store (Zero, SSIT) And (SYNC, 0x07, SYNC) Store (Zero, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x08, SYNC) Store (SDMA (DMA1), SDT3) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x08, ICR0) } Or (ICR1, 0x08, ICR1) } } } } Device (S_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (SIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, One, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR1, 0x04)) { If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) /*}*/ } } Device (S_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (SIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, One, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x08)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR1, 0x08)) { If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) /*}*/ } } } } Device (SAT1) { Name (_ADR, 0x001F0005) OperationRegion (SACS, PCI_Config, 0x40, 0xC0) Field (SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset (0x50), MAPV, 2 } Device (PRID) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (PBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, Zero, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GDMA (And (SYNC, One), And (ICR3, One), And (ICR0, One), SDT0, And (ICR1, One)), DMA0) If (LEqual (DMA0, Ones)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (Ones, PIO1) } Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) If (LEqual (DMA1, Ones)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, One), And (SYNC, 0x02), PRIT), FLAG) Return (PBUF) /*}*/ } Method (_STM, 3, NotSerialized) { If (LEqual (SCFG, Zero)) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x40F0, PRIT) And (SYNC, 0x0E, SYNC) Store (Zero, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, One)) { Or (SYNC, One, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, One, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, One, ICR0) } Or (ICR1, One, ICR1) } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (Zero, PSIT) And (SYNC, 0x0D, SYNC) Store (Zero, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x02, SYNC) Store (SDMA (DMA1), SDT1) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x02, ICR0) } Or (ICR1, 0x02, ICR1) } } } } Device (P_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (PIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, One, PMD0) CreateByteField (PIB0, 0x08, DMD0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, One)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, One)) { If (And (ICR0, One)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, One)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) /*}*/ } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (PIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, One, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR1, 0x02)) { If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (PIB1) /*}*/ } } } Device (SECD) { Name (_ADR, One) Method (_GTM, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (SBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, Zero, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) If (LEqual (DMA0, Ones)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (Ones, PIO1) } Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) If (LEqual (DMA1, Ones)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), SECT), FLAG) Return (SBUF) /*}*/ } Method (_STM, 3, NotSerialized) { If (LEqual (SCFG, Zero)) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (SECT, 0x40F0, SECT) And (SYNC, 0x0B, SYNC) Store (Zero, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, One)) { Or (SYNC, 0x04, SYNC) Store (SDMA (DMA0), SDT2) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } Or (ICR1, 0x04, ICR1) } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0x3F0F, SECT) Store (Zero, SSIT) And (SYNC, 0x07, SYNC) Store (Zero, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x08, SYNC) Store (SDMA (DMA1), SDT3) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x08, ICR0) } Or (ICR1, 0x08, ICR1) } } } } Device (S_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (SIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, One, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (One, PMD0) } If (And (SYNC, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR1, 0x04)) { If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) /*}*/ } } Device (S_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { /*If (LEqual (SCFG, Zero)) {*/ Name (SIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, One, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (One, PMD1) } If (And (SYNC, 0x08)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR1, 0x08)) { If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) /*}*/ } } } } } } }