/* * Intel ACPI Component Architecture * AML Disassembler version 20090521 * * Disassembly of DSDT.dat, Mon Apr 11 14:12:53 2011 * * * Original Table Header: * Signature "DSDT" * Length 0x00011AFE (72446) * Revision 0x02 * Checksum 0x53 * OEM ID "TOSCPL" * OEM Table ID "CALPELLA" * OEM Revision 0x00000001 (1) * Compiler ID "INTL" * Compiler Version 0x20050624 (537200164) */ DefinitionBlock ("DSDT.aml", "DSDT", 2, "TOSCPL", "CALPELLA", 0x00000001) { External (TNOT, MethodObj) // 0 Arguments External (PDC7) External (PDC6) External (PDC5) External (PDC4) External (PDC3) External (PDC2) External (PDC1) External (PDC0) External (CFGD) External (HNOT, MethodObj) // 1 Arguments External (SNXD) External (IDAB) External (HDOS, MethodObj) // 0 Arguments External (ECST, MethodObj) // 1 Arguments External (\_PR_.CPU0._PPC) External (\_SB_.PCI0.IEIT.EITV, MethodObj) // 0 Arguments Name (DU00, Package (0x04) { 0x07, 0x0B, 0x09, 0x12 }) Name (DU10, Package (0x04) { 0x07, 0x0B, 0x09, 0x12 }) Name (ALAA, Package (0x03) { 0x0B, 0x04, 0x12 }) Name (WQAA, Package (0x0F) { 0x07, 0x03, 0x02, 0x06, 0x04, 0x05, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }) Name (BQAA, Package (0x0F) { 0x07, 0x03, 0x02, 0x06, 0x04, 0x05, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17 }) Method (PIDC, 1, NotSerialized) { If (LEqual (PJID, 0x92)) { If (LEqual (Arg0, 0xA0)) { Return (0x0001F351) } If (LEqual (Arg0, 0xA2)) { Return (0x0630) } Return (Match (WQAA, MEQ, Arg0, MTR, Zero, Zero)) } Else { If (LEqual (PJID, 0x93)) { If (LEqual (Arg0, 0xA0)) { Return (0x0001F351) } If (LEqual (Arg0, 0xA2)) { Return (0x0620) } Return (Match (DU00, MEQ, Arg0, MTR, Zero, Zero)) } Else { If (LEqual (PJID, 0x94)) { If (LEqual (Arg0, 0xA0)) { Return (0x0001F351) } If (LEqual (Arg0, 0xA2)) { Return (0x0610) } Return (Match (DU10, MEQ, Arg0, MTR, Zero, Zero)) } Else { If (LEqual (PJID, 0x97)) { If (LEqual (Arg0, 0xA0)) { Return (0x0001F351) } If (LEqual (Arg0, 0xA2)) { Return (0x0601) } Return (Match (ALAA, MEQ, Arg0, MTR, Zero, Zero)) } Else { If (LEqual (PJID, 0x99)) { If (LEqual (Arg0, 0xA0)) { Return (0x0001F351) } If (LEqual (Arg0, 0xA2)) { Return (0x0640) } Return (Match (BQAA, MEQ, Arg0, MTR, Zero, Zero)) } } } } } Return (Match (DU00, MEQ, Arg0, MTR, Zero, Zero)) } Name (SP2O, 0x4E) Name (SP1O, 0x4E) Name (IO1B, 0x0600) Name (IO1L, 0x70) Name (IO2B, 0x0680) Name (IO2L, 0x20) Name (IO3B, 0x0290) Name (IO3L, 0x10) Name (SP3O, 0x2E) Name (IO4B, 0x0A20) Name (IO4L, 0x20) 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 (PMLN, 0x80) Name (LVL2, 0x0414) Name (LVL3, 0x0415) Name (LVL4, 0x0416) Name (SMIP, 0xB2) Name (GPBS, 0x0500) Name (GPLN, 0x80) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (PM30, 0x0430) Name (SRCB, 0xFED1C000) Name (SRCL, 0x4000) Name (SUSW, 0xFF) Name (HPTB, 0xFED00000) Name (HPTC, 0xFED1F404) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, Zero) Name (SHPC, One) Name (PEPM, Zero) Name (PEER, Zero) Name (PECS, Zero) Name (ITKE, Zero) Name (DSSP, Zero) Name (FHPP, One) Name (FMBL, One) Name (FDTP, 0x02) Name (BRF, One) Name (BPH, 0x02) Name (BLC, 0x03) Name (BRFS, 0x04) Name (BPHS, 0x05) Name (BLCT, 0x06) Name (BRF4, 0x07) Name (BEP, 0x08) Name (BBF, 0x09) Name (BOF, 0x0A) Name (BPT, 0x0B) Name (SRAF, 0x0C) Name (WWP, 0x0D) Name (SDOE, 0x0E) 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 (SOOT, 0x35) Name (PDBR, 0x4D) Name (SMBL, 0x10) Name (TCGM, One) OperationRegion (GNVS, SystemMemory, 0x9B72FE18, 0x0172) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, Offset (0x25), REVN, 8, Offset (0x28), APIC, 8, TCNT, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, Offset (0x32), NATP, 8, CMAP, 8, CMBP, 8, LPTP, 8, FDCP, 8, CMCP, 8, CIRP, 8, SMSC, 8, W381, 8, SMC1, 8, IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, KSV0, 32, KSV1, 8, Offset (0x67), BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, Offset (0x6E), EMAE, 8, EMAP, 16, EMAL, 16, Offset (0x74), MEFE, 8, DSTS, 8, Offset (0x78), TPMP, 8, TPME, 8, MORD, 8, TCGP, 8, PPRP, 32, PPRQ, 8, LPPR, 8, GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 8, Offset (0xAA), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IPCF, 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, PAVP, 8, Offset (0xE1), OSCC, 8, NEXP, 8, SDGV, 8, SDDV, 8, Offset (0xEB), DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, Offset (0x100), NVGA, 32, NVHA, 32, AMDA, 32, DID6, 32, DID7, 32, DID8, 32, EBAS, 32, CPSP, 32, EECP, 32, EVCP, 32, XBAS, 32, OBS1, 32, OBS2, 32, OBS3, 32, OBS4, 32, OBS5, 32, OBS6, 32, OBS7, 32, OBS8, 32, Offset (0x157), ATMC, 8, PTMC, 8, ATRA, 8, PTRA, 8, PNHM, 32, TBAB, 32, TBAH, 32, RTIP, 8, TSOD, 8, ATPC, 8, PTPC, 8, PFLV, 8, BREV, 8, DPBM, 8, DPCM, 8, DPDM, 8, ALFP, 8, IMON, 8 } OperationRegion (OEMN, SystemMemory, 0x9B72EF18, 0x005F) Field (OEMN, AnyAcc, Lock, Preserve) { MARK, 16, VVEN, 16, BGU1, 8, BST1, 8, BFC1, 16, BDN1, 8, WAKF, 8, WWLN, 8, TPID, 8, CIRE, 8, STPH, 8, HORZ, 16, VERT, 16, OES1, 8, OES2, 8, TOUD, 8, CEEV, 16, ALMF, 8, ALMM, 8, ALMH, 8, ALMD, 8, ALMO, 8, ALMY, 8, PMID, 16, PPID, 16, HAPE, 8, CEV1, 32, CEV2, 32, CEV3, 32, CEVD, 8, CEVN, 8, CCM1, 32, CCM2, 32, CCM3, 32, CCM4, 32, CCMD, 8, CCMN, 8, CME1, 32, CME2, 32, CME3, 32, CME4, 32, CMEN, 8, TMFA, 8, PJID, 8, VBRI, 8, BTON, 8, CECM, 8, SATM, 8, DVID, 16, PWMF, 32 } Scope (_SB) { Name (PR00, Package (0x2B) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001FFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001CFFFF, One, LNKB, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, One, LNKD, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, 0x03, LNKB, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0005FFFF, One, LNKB, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0006FFFF, One, LNKB, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKD, Zero } }) Name (AR00, Package (0x2B) { 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) { 0x001FFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x12 }, 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, 0x10 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, 0x03, Zero, 0x11 }, 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) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x13 } }) Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR02, 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 } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR04, 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 } }) Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR05, 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 } }) Name (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR06, 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 } }) Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR07, 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 } }) Name (PR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR08, 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 } }) Name (PR0E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR0E, 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 } }) Name (PR0F, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR0F, 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 } }) Name (PR01, Package (0x04) { Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero } }) Name (AR01, Package (0x04) { Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 } }) Name (PR0A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR0A, 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 } }) Name (PR0C, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR0C, 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 } }) Name (PR80, Package (0x2A) { Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0005FFFF, One, LNKB, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0006FFFF, One, LNKB, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001FFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001CFFFF, One, LNKB, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, One, LNKD, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, 0x03, LNKB, Zero } }) Name (AR80, Package (0x2A) { 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) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x12 }, 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, 0x10 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, 0x03, Zero, 0x11 } }) Name (PR82, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR82, 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 } }) Name (PR8A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR8A, 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 } }) Name (PR8C, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR8C, 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 } }) Name (PR84, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR84, 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 } }) Name (PR85, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR85, 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 } }) Name (PR86, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR86, 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 } }) Name (PR87, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR87, 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 } }) Name (PR88, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR88, 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 } }) Name (PR8E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR8E, 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 } }) Name (PR8F, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR8F, 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 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) { Return (BN00 ()) } Name (_UID, Zero) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00 ()) } Return (PR00 ()) } OperationRegion (HMCH, PCI_Config, Zero, 0x40) Field (HMCH, DWordAcc, NoLock, Preserve) { VID0, 16, DID0, 16 } OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { EPEN, 1, , 11, EPBR, 20, Offset (0x08), MHEN, 1, , 13, MHBR, 18, Offset (0x10), IIEN, 1, , 11, DIBI, 20, Offset (0x28), DIEN, 1, , 11, DIBR, 20, Offset (0x30), IPEN, 1, , 11, IPBR, 20, Offset (0x62), TUUD, 16, Offset (0x6C), , 20, TSEG, 12, , 4, TLUD, 12, Offset (0x89), , 3, GTSE, 1, Offset (0x8A) } OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100) Field (MCHT, ByteAcc, NoLock, Preserve) { Offset (0xD40), ADVE, 1, , 11, ADVT, 20, Offset (0x101E), T0IS, 16, Offset (0x105E), T1IS, 16, Offset (0x10EF), ESCS, 8 } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FE, // Range Maximum 0x0000, // Translation Offset 0x00FF, // 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 0x0000FDFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F100, // Length ,, , TypeStatic) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x0000FF28, // Range Minimum 0x0000FF2B, // Range Maximum 0x00000000, // Translation Offset 0x00000004, // 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 ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEAFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, , 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) { CreateWordField (BUF0, 0x0A, PBMX) Store (Subtract (ShiftRight (PELN, 0x14), 0x02), PBMX) CreateWordField (BUF0, 0x0E, PBLN) Store (Subtract (ShiftRight (PELN, 0x14), One), PBLN) If (^^CPBG.IMCH.PM1L) { CreateDWordField (BUF0, 0x96, C0LN) Store (Zero, C0LN) } If (LEqual (^^CPBG.IMCH.PM1L, One)) { CreateBitField (BUF0, 0x0428, C0RW) Store (Zero, C0RW) } If (^^CPBG.IMCH.PM1H) { CreateDWordField (BUF0, 0xB0, C4LN) Store (Zero, C4LN) } If (LEqual (^^CPBG.IMCH.PM1H, One)) { CreateBitField (BUF0, 0x04F8, C4RW) Store (Zero, C4RW) } If (^^CPBG.IMCH.PM2L) { CreateDWordField (BUF0, 0xCA, C8LN) Store (Zero, C8LN) } If (LEqual (^^CPBG.IMCH.PM2L, One)) { CreateBitField (BUF0, 0x05C8, C8RW) Store (Zero, C8RW) } If (^^CPBG.IMCH.PM2H) { CreateDWordField (BUF0, 0xE4, CCLN) Store (Zero, CCLN) } If (LEqual (^^CPBG.IMCH.PM2H, One)) { CreateBitField (BUF0, 0x0698, CCRW) Store (Zero, CCRW) } If (^^CPBG.IMCH.PM3L) { CreateDWordField (BUF0, 0xFE, D0LN) Store (Zero, D0LN) } If (LEqual (^^CPBG.IMCH.PM3L, One)) { CreateBitField (BUF0, 0x0768, D0RW) Store (Zero, D0RW) } If (^^CPBG.IMCH.PM3H) { CreateDWordField (BUF0, 0x0118, D4LN) Store (Zero, D4LN) } If (LEqual (^^CPBG.IMCH.PM3H, One)) { CreateBitField (BUF0, 0x0838, D4RW) Store (Zero, D4RW) } If (^^CPBG.IMCH.PM4L) { CreateDWordField (BUF0, 0x0132, D8LN) Store (Zero, D8LN) } If (LEqual (^^CPBG.IMCH.PM4L, One)) { CreateBitField (BUF0, 0x0908, D8RW) Store (Zero, D8RW) } If (^^CPBG.IMCH.PM4H) { CreateDWordField (BUF0, 0x014C, DCLN) Store (Zero, DCLN) } If (LEqual (^^CPBG.IMCH.PM4H, One)) { CreateBitField (BUF0, 0x09D8, DCRW) Store (Zero, DCRW) } If (^^CPBG.IMCH.PM5L) { CreateDWordField (BUF0, 0x0166, E0LN) Store (Zero, E0LN) } If (LEqual (^^CPBG.IMCH.PM5L, One)) { CreateBitField (BUF0, 0x0AA8, E0RW) Store (Zero, E0RW) } If (^^CPBG.IMCH.PM5H) { CreateDWordField (BUF0, 0x0180, E4LN) Store (Zero, E4LN) } If (LEqual (^^CPBG.IMCH.PM5H, One)) { CreateBitField (BUF0, 0x0B78, E4RW) Store (Zero, E4RW) } If (^^CPBG.IMCH.PM6L) { CreateDWordField (BUF0, 0x019A, E8LN) Store (Zero, E8LN) } If (LEqual (^^CPBG.IMCH.PM6L, One)) { CreateBitField (BUF0, 0x0C48, E8RW) Store (Zero, E8RW) } If (^^CPBG.IMCH.PM6H) { CreateDWordField (BUF0, 0x01B4, ECLN) Store (Zero, ECLN) } If (LEqual (^^CPBG.IMCH.PM6H, One)) { CreateBitField (BUF0, 0x0D18, ECRW) Store (Zero, ECRW) } If (^^CPBG.IMCH.PM0H) { CreateDWordField (BUF0, 0x01CE, F0LN) Store (Zero, F0LN) } If (LEqual (^^CPBG.IMCH.PM0H, One)) { CreateBitField (BUF0, 0x0DE8, F0RW) Store (Zero, F0RW) } CreateDWordField (BUF0, 0x01DC, M1MN) CreateDWordField (BUF0, 0x01E0, M1MX) CreateDWordField (BUF0, 0x01E8, M1LN) If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { If (LGreaterEqual (PNHM, 0x000106E1)) { Store (^IO10.TOLM, Local0) ShiftLeft (Increment (Local0), 0x1A, M1MN) } Else { Store (^IIO0.TOLM, Local0) ShiftLeft (Increment (Local0), 0x1A, M1MN) } } Else { If (LGreaterEqual (TLUD, TSEG)) { ShiftLeft (TSEG, 0x14, M1MN) } Else { ShiftLeft (TLUD, 0x14, M1MN) } } Add (Subtract (M1MX, M1MN), One, M1LN) Return (BUF0) } Name (GUID, Buffer (0x10) { /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66 }) Name (SUPP, Zero) Name (CTRL, Zero) Method (_OSC, 4, Serialized) { Store (Arg3, Local0) CreateDWordField (Local0, Zero, CDW1) CreateDWordField (Local0, 0x04, CDW2) CreateDWordField (Local0, 0x08, CDW3) If (LAnd (LEqual (Arg0, GUID), NEXP)) { Store (CDW2, SUPP) Store (CDW3, CTRL) If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LNotEqual (CDW3, CTRL)) { Or (CDW1, 0x10, CDW1) } Store (CTRL, CDW3) Store (CTRL, OSCC) Return (Local0) } Else { Or (CDW1, 0x04, CDW1) Return (Local0) } } Scope (\_SB.PCI0) { Method (AR00, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR80) } Else { Return (^^AR00) } } Method (PR00, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR80) } Else { Return (^^PR00) } } Method (AR02, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR82) } Else { Return (^^AR02) } } Method (PR02, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR82) } Else { Return (^^PR02) } } Method (AR04, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR84) } Else { Return (^^AR04) } } Method (PR04, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR84) } Else { Return (^^PR04) } } Method (AR05, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR85) } Else { Return (^^AR05) } } Method (PR05, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR85) } Else { Return (^^PR05) } } Method (AR06, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR86) } Else { Return (^^AR06) } } Method (PR06, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR86) } Else { Return (^^PR06) } } Method (AR07, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR87) } Else { Return (^^AR07) } } Method (PR07, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR87) } Else { Return (^^PR07) } } Method (AR08, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR88) } Else { Return (^^AR08) } } Method (PR08, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR88) } Else { Return (^^PR08) } } Method (AR0A, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (AR8A) } Else { Return (^^AR0A) } } Method (PR0A, 0, NotSerialized) { If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { Return (PR8A) } Else { Return (^^PR0A) } } } Device (P0P2) { Name (_ADR, 0x00010000) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR02 ()) } Return (PR02 ()) } Device (VGA) { Name (_ADR, Zero) Name (SWIT, One) Name (CRTA, One) Name (LCDA, One) Name (TVAA, One) Name (DI1A, One) Name (DI2A, One) Name (VLDF, One) OperationRegion (VIDS, PCI_Config, Zero, 0xC8) Field (VIDS, DWordAcc, NoLock, Preserve) { VDID, 32 } OperationRegion (NVHM, SystemMemory, NVHA, 0x00010400) Field (NVHM, AnyAcc, NoLock, Preserve) { Offset (0x100), Offset (0x104), RVBS, 32, Offset (0x400), RBF1, 262144, RBF2, 262144 } Method (_ROM, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) If (LGreater (Local1, 0x1000)) { Store (0x1000, Local1) } If (LGreater (Local0, 0x00010000)) { Return (Buffer (Local1) { 0x00 }) } If (LGreater (Local0, RVBS)) { Return (Buffer (Local1) { 0x00 }) } Multiply (Local1, 0x08, Local3) Name (ROM1, Buffer (0x8000) { 0x00 }) Name (ROM2, Buffer (Local1) { 0x00 }) If (LLess (Local0, 0x8000)) { Store (RBF1, ROM1) } Else { Subtract (Local0, 0x8000, Local0) Store (RBF2, ROM1) } Multiply (Local0, 0x08, Local2) CreateField (ROM1, Local2, Local3, TMPB) Store (TMPB, ROM2) Return (ROM2) } Name (_PSC, Zero) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { If (LEqual (VVEN, 0x1002)) { Return (Package (0x05) { 0x00010100, 0x00010110, 0x0200, 0x0210, 0x0220 }) } Else { Return (Package (0x04) { 0x00010100, 0x00010110, 0x0200, 0x0120 }) } } Device (CRT) { Method (_ADR, 0, NotSerialized) { Return (0x0100) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x02, Local0) And (Local1, 0x02, Local1) If (Local0) { Store (One, CRTA) } Else { Store (Zero, CRTA) } If (CRTA) { If (LEqual (Local1, 0x02)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x02)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (CRTA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (LCD) { Method (_ADR, 0, NotSerialized) { Return (0x0110) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, One, Local0) And (Local1, One, Local1) If (Local0) { Store (One, LCDA) } Else { Store (Zero, LCDA) } If (LCDA) { If (LEqual (Local1, One)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, One)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (LCDA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } Method (_PS0, 0, NotSerialized) { If (^^^^LPCB.ECOK ()) { Store (One, ^^^^LPCB.EC0.ILED) } } Method (_PS3, 0, NotSerialized) { If (^^^^LPCB.ECOK ()) { Store (Zero, ^^^^LPCB.EC0.ILED) } } Name (PBCL, Package (0x1C) { Package (0x08) { 0x0C, 0x10, 0x15, 0x1E, 0x2C, 0x3A, 0x4B, 0x62 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1C, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x0F, 0x13, 0x1C, 0x27, 0x34, 0x41, 0x5A }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0A, 0x0E, 0x13, 0x1D, 0x2B, 0x39, 0x47, 0x5F }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1E, 0x2E, 0x3E, 0x4D, 0x62 }, Package (0x08) { 0x0B, 0x10, 0x15, 0x1F, 0x2D, 0x3C, 0x4B, 0x64 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x2B, 0x3A, 0x4C, 0x63 }, Package (0x08) { 0x0B, 0x0E, 0x13, 0x1C, 0x2C, 0x31, 0x4C, 0x63 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x28, 0x37, 0x4B, 0x60 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x2B, 0x3B, 0x4D, 0x64 }, Package (0x08) { 0x0B, 0x10, 0x14, 0x1C, 0x2C, 0x3C, 0x4E, 0x64 }, Package (0x08) { 0x0B, 0x10, 0x13, 0x1B, 0x2B, 0x3C, 0x4C, 0x64 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1D, 0x2C, 0x3C, 0x4E, 0x64 }, Package (0x08) { 0x0B, 0x0D, 0x11, 0x1A, 0x27, 0x38, 0x4A, 0x62 }, Package (0x08) { 0x0B, 0x0F, 0x13, 0x1C, 0x29, 0x37, 0x45, 0x5D }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x19, 0x28, 0x37, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1A, 0x29, 0x39, 0x4A, 0x60 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1E, 0x2D, 0x3E, 0x50, 0x64 }, Package (0x08) { 0x0A, 0x0D, 0x0F, 0x18, 0x25, 0x32, 0x41, 0x55 }, Package (0x08) { 0x0A, 0x0D, 0x10, 0x18, 0x27, 0x36, 0x47, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x19, 0x28, 0x37, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x1B, 0x28, 0x39, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x28, 0x37, 0x4B, 0x60 }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1E, 0x2E, 0x3E, 0x4D, 0x62 }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x10, 0x13, 0x1B, 0x2B, 0x3C, 0x4C, 0x64 } }) Name (BCLJ, Package (0x08) { 0x08, 0x14, 0x20, 0x2C, 0x3A, 0x48, 0x56, 0x64 }) Name (BCLC, Package (0x0A) { 0x64, 0x2C, 0x08, 0x14, 0x20, 0x2C, 0x3A, 0x48, 0x56, 0x64 }) Method (_BCL, 0, NotSerialized) { Store (DerefOf (Index (BCLJ, 0x07)), Local0) Store (Local0, Index (BCLC, Zero)) Store (DerefOf (Index (BCLJ, 0x03)), Local1) Store (Local1, Index (BCLC, One)) Return (BCLC) } Method (_BCM, 1, NotSerialized) { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64))) { Store (Match (BCLJ, MEQ, Arg0, MTR, Zero, Zero), Local1) If (LNotEqual (Local1, Ones)) { Store (Local1, ^^^^LPCB.EC0.BRTS) } Store (Package (0x08) { 0x64, 0x5A, 0x50, 0x46, 0x3C, 0x32, 0x28, 0x1E }, Local2) If (LEqual (PPID, 0x205C)) { Store (DerefOf (Index (PBCL, Zero)), Local2) } If (LEqual (PPID, 0x1100)) { Store (DerefOf (Index (PBCL, One)), Local2) } If (LEqual (PPID, 0x4136)) { Store (DerefOf (Index (PBCL, 0x02)), Local2) } If (LEqual (PPID, 0x021C)) { Store (DerefOf (Index (PBCL, 0x03)), Local2) } If (LEqual (PPID, 0x1321)) { Store (DerefOf (Index (PBCL, 0x04)), Local2) } If (LEqual (PPID, 0x3154)) { Store (DerefOf (Index (PBCL, 0x05)), Local2) } If (LEqual (PPID, 0x01BC)) { Store (DerefOf (Index (PBCL, 0x06)), Local2) } If (LEqual (PPID, 0x091B)) { Store (DerefOf (Index (PBCL, 0x07)), Local2) } If (LEqual (PPID, 0x1444)) { Store (DerefOf (Index (PBCL, 0x08)), Local2) } If (LEqual (PPID, 0x3741)) { Store (DerefOf (Index (PBCL, 0x09)), Local2) } If (LEqual (PPID, 0x01E6)) { Store (DerefOf (Index (PBCL, 0x0A)), Local2) } If (LEqual (PPID, 0x163C)) { Store (DerefOf (Index (PBCL, 0x0B)), Local2) } If (LEqual (PPID, 0x22EC)) { Store (DerefOf (Index (PBCL, 0x0C)), Local2) } If (LEqual (PPID, 0x1680)) { Store (DerefOf (Index (PBCL, 0x0D)), Local2) } If (LEqual (PPID, 0x5541)) { Store (DerefOf (Index (PBCL, 0x0E)), Local2) } If (LEqual (PPID, 0x0230)) { Store (DerefOf (Index (PBCL, 0x0F)), Local2) } If (LEqual (PPID, 0x3641)) { Store (DerefOf (Index (PBCL, 0x10)), Local2) } If (LEqual (PPID, 0x139E)) { Store (DerefOf (Index (PBCL, 0x11)), Local2) } If (LEqual (PPID, 0x1711)) { Store (DerefOf (Index (PBCL, 0x12)), Local2) } If (LEqual (PPID, 0x544B)) { Store (DerefOf (Index (PBCL, 0x13)), Local2) } If (LEqual (PPID, 0x01CA)) { Store (DerefOf (Index (PBCL, 0x14)), Local2) } If (LEqual (PPID, 0x14B6)) { Store (DerefOf (Index (PBCL, 0x15)), Local2) } If (LEqual (PPID, 0x129E)) { Store (DerefOf (Index (PBCL, 0x16)), Local2) } If (LEqual (PPID, 0x027B)) { Store (DerefOf (Index (PBCL, 0x17)), Local2) } If (LEqual (PPID, 0x029B)) { Store (DerefOf (Index (PBCL, 0x18)), Local2) } If (LEqual (PPID, 0x01DA)) { Store (DerefOf (Index (PBCL, 0x19)), Local2) } If (LEqual (PPID, 0x1324)) { Store (DerefOf (Index (PBCL, 0x1A)), Local2) } If (LEqual (PPID, 0x1598)) { Store (DerefOf (Index (PBCL, 0x1B)), Local2) } Store (DerefOf (Index (Local2, Local1)), Local3) } If (IGDS) { ^^^^GFX0.AINT (One, Local3) } Else { If (LEqual (DID0, 0xD132)) { ^^^^P0P3.VGA.AINT (One, Local3) } Else { AINT (One, Local3) } } } Method (_BQC, 0, NotSerialized) { Store (^^^^LPCB.EC0.BRTS, Local1) Store (DerefOf (Index (BCLJ, Local1)), Local0) Return (Local0) } } Device (TV) { Method (_ADR, 0, NotSerialized) { Return (0x0200) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x04, Local0) And (Local1, 0x04, Local1) If (Local0) { Store (One, TVAA) } Else { Store (Zero, TVAA) } If (TVAA) { If (LEqual (Local1, 0x04)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x04)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (TVAA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (DDI1) { Method (_ADR, 0, NotSerialized) { If (LEqual (VVEN, 0x1002)) { Return (0x0210) } Else { Return (0x0120) } } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x08, Local0) And (Local1, 0x08, Local1) If (Local0) { Store (One, DI1A) } Else { Store (Zero, DI1A) } If (DI1A) { If (LEqual (Local1, 0x08)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x08)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (DI1A) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (DDI2) { Method (_ADR, 0, NotSerialized) { Return (0x0220) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x80, Local0) And (Local1, 0x80, Local1) If (Local0) { Store (One, DI2A) } Else { Store (Zero, DI2A) } If (DI2A) { If (LEqual (Local1, 0x80)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x80)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (DI2A) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Method (DSSW, 0, NotSerialized) { If (LEqual (SWIT, Zero)) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) If (LGreater (Local1, One)) { And (Local0, Local1, VLDF) And (VLDF, 0xFE, VLDF) } If (VLDF) { If (LEqual (Local0, 0x03)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x02)) { STBL (One) } If (LEqual (Local1, 0x03)) { STBL (0x02) } } If (LEqual (Local0, 0x05)) { If (LEqual (Local1, One)) { STBL (0x05) } If (LEqual (Local1, 0x04)) { STBL (One) } If (LEqual (Local1, 0x05)) { STBL (0x04) } } If (LEqual (Local0, 0x07)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x04) } If (LEqual (Local1, 0x02)) { STBL (One) } If (LEqual (Local1, 0x07)) { STBL (One) } } If (LEqual (Local0, 0x09)) { If (LEqual (Local1, One)) { STBL (0x09) } If (LEqual (Local1, 0x09)) { STBL (0x08) } If (LEqual (Local1, 0x08)) { STBL (One) } } If (LEqual (Local0, 0x0B)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x09) } If (LEqual (Local1, 0x09)) { STBL (0x08) } If (LEqual (Local1, 0x08)) { STBL (One) } } If (LOr (LEqual (Local0, 0x0D), LEqual (Local0, 0x0F))) { If (LEqual (Local1, One)) { STBL (0x09) } If (LEqual (Local1, 0x09)) { STBL (0x08) } If (LEqual (Local1, 0x08)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x04) } If (LEqual (Local1, 0x04)) { STBL (One) } } If (LEqual (Local0, 0x81)) { If (LEqual (Local1, One)) { STBL (0x81) } If (LEqual (Local1, 0x81)) { STBL (0x80) } If (LEqual (Local1, 0x80)) { STBL (One) } } If (LEqual (Local0, 0x83)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x81) } If (LEqual (Local1, 0x81)) { STBL (0x80) } If (LEqual (Local1, 0x80)) { STBL (One) } } If (LOr (LEqual (Local0, 0x85), LEqual (Local0, 0x87))) { If (LEqual (Local1, One)) { STBL (0x81) } If (LEqual (Local1, 0x81)) { STBL (0x80) } If (LEqual (Local1, 0x80)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x04) } If (LEqual (Local1, 0x04)) { STBL (One) } } } Else { Store (One, VLDF) STBL (One) } } Else { If (LEqual (SWIT, One)) {} } } Method (STBL, 1, NotSerialized) { If (LEqual (Arg0, One)) { Store (One, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x02)) { Store (Zero, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x03)) { Store (One, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x04)) { Store (Zero, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x05)) { Store (One, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x06)) { Store (Zero, LCDA) Store (One, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x07)) { Store (One, LCDA) Store (One, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x08)) { Store (Zero, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x09)) { Store (One, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x0B)) { Store (One, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x0D)) { Store (One, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x0F)) { Store (One, LCDA) Store (One, CRTA) Store (One, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x80)) { Store (Zero, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x81)) { Store (One, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x83)) { Store (One, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x85)) { Store (One, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x87)) { Store (One, LCDA) Store (One, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (One, DI2A) } Notify (VGA, 0x80) } Method (AINT, 2, NotSerialized) { If (LEqual (VVEN, 0x10DE)) { If (LEqual (DID0, 0xD132)) { ^^^P0P3.VGA.NINT (One, Arg1) Return (Zero) } Else { NINT (One, Arg1) Return (Zero) } } Else { If (LEqual (VVEN, 0x1002)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), VBRI) CSMI (0x03) Return (Zero) } Else { Return (Zero) } } } OperationRegion (GPPB, PCI_Config, 0xB4, 0x14) Field (GPPB, ByteAcc, NoLock, Preserve) { PBCI, 8, PBNP, 8, PBLS, 8, PBCC, 8, PBCM, 32, PBDI, 32, PBDO, 32, PBMX, 32 } Method (NINT, 2, NotSerialized) { If (LEqual (DVID, 0x0CB0)) { Store (Arg1, Local1) Store (Zero, Local0) Multiply (Local1, 0x0A, Local3) ShiftLeft (Local3, 0x08, Local3) Store (Local3, PBDI) While (LLess (Local0, 0x03E8)) { Store (One, PBMX) Store (0x86100000, PBCM) Stall (0x64) And (PBCM, 0xFF, Local2) Increment (Local0) If (LEqual (Local2, One)) { Store (0x03E8, Local0) } } Store (Zero, PBCM) Store (Zero, PBMX) Return (Zero) } Return (Zero) } } } Device (P0P3) { Name (_ADR, 0x00030000) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR02 ()) } Return (PR02 ()) } Device (VGA) { Name (_ADR, Zero) Name (SWIT, One) Name (CRTA, One) Name (LCDA, One) Name (TVAA, One) Name (DI1A, One) Name (DI2A, One) Name (VLDF, One) OperationRegion (VIDS, PCI_Config, Zero, 0xC8) Field (VIDS, DWordAcc, NoLock, Preserve) { VDID, 32 } OperationRegion (NVHM, SystemMemory, NVHA, 0x00010400) Field (NVHM, AnyAcc, NoLock, Preserve) { Offset (0x100), Offset (0x104), RVBS, 32, Offset (0x400), RBF1, 262144, RBF2, 262144 } Method (_ROM, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) If (LGreater (Local1, 0x1000)) { Store (0x1000, Local1) } If (LGreater (Local0, 0x00010000)) { Return (Buffer (Local1) { 0x00 }) } If (LGreater (Local0, RVBS)) { Return (Buffer (Local1) { 0x00 }) } Multiply (Local1, 0x08, Local3) Name (ROM1, Buffer (0x8000) { 0x00 }) Name (ROM2, Buffer (Local1) { 0x00 }) If (LLess (Local0, 0x8000)) { Store (RBF1, ROM1) } Else { Subtract (Local0, 0x8000, Local0) Store (RBF2, ROM1) } Multiply (Local0, 0x08, Local2) CreateField (ROM1, Local2, Local3, TMPB) Store (TMPB, ROM2) Return (ROM2) } Name (_PSC, Zero) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { If (LEqual (VVEN, 0x1002)) { Return (Package (0x05) { 0x00010100, 0x00010110, 0x0200, 0x0210, 0x0220 }) } Else { Return (Package (0x04) { 0x00010100, 0x00010110, 0x0200, 0x0120 }) } } Device (CRT) { Method (_ADR, 0, NotSerialized) { Return (0x0100) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x02, Local0) And (Local1, 0x02, Local1) If (Local0) { Store (One, CRTA) } Else { Store (Zero, CRTA) } If (CRTA) { If (LEqual (Local1, 0x02)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x02)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (CRTA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (LCD) { Method (_ADR, 0, NotSerialized) { Return (0x0110) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, One, Local0) And (Local1, One, Local1) If (Local0) { Store (One, LCDA) } Else { Store (Zero, LCDA) } If (LCDA) { If (LEqual (Local1, One)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, One)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (LCDA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } Method (_PS0, 0, NotSerialized) { If (^^^^LPCB.ECOK ()) { Store (One, ^^^^LPCB.EC0.ILED) } } Method (_PS3, 0, NotSerialized) { If (^^^^LPCB.ECOK ()) { Store (Zero, ^^^^LPCB.EC0.ILED) } } Name (PBCL, Package (0x1C) { Package (0x08) { 0x0C, 0x10, 0x15, 0x1E, 0x2C, 0x3A, 0x4B, 0x62 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1C, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x0F, 0x13, 0x1C, 0x27, 0x34, 0x41, 0x5A }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0A, 0x0E, 0x13, 0x1D, 0x2B, 0x39, 0x47, 0x5F }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1E, 0x2E, 0x3E, 0x4D, 0x62 }, Package (0x08) { 0x0B, 0x10, 0x15, 0x1F, 0x2D, 0x3C, 0x4B, 0x64 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x2B, 0x3A, 0x4C, 0x63 }, Package (0x08) { 0x0B, 0x0E, 0x13, 0x1C, 0x2C, 0x31, 0x4C, 0x63 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x28, 0x37, 0x4B, 0x60 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x2B, 0x3B, 0x4D, 0x64 }, Package (0x08) { 0x0B, 0x10, 0x14, 0x1C, 0x2C, 0x3C, 0x4E, 0x64 }, Package (0x08) { 0x0B, 0x10, 0x13, 0x1B, 0x2B, 0x3C, 0x4C, 0x64 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1D, 0x2C, 0x3C, 0x4E, 0x64 }, Package (0x08) { 0x0B, 0x0D, 0x11, 0x1A, 0x27, 0x38, 0x4A, 0x62 }, Package (0x08) { 0x0B, 0x0F, 0x13, 0x1C, 0x29, 0x37, 0x45, 0x5D }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x19, 0x28, 0x37, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1A, 0x29, 0x39, 0x4A, 0x60 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1E, 0x2D, 0x3E, 0x50, 0x64 }, Package (0x08) { 0x0A, 0x0D, 0x0F, 0x18, 0x25, 0x32, 0x41, 0x55 }, Package (0x08) { 0x0A, 0x0D, 0x10, 0x18, 0x27, 0x36, 0x47, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x19, 0x28, 0x37, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x1B, 0x28, 0x39, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x28, 0x37, 0x4B, 0x60 }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1E, 0x2E, 0x3E, 0x4D, 0x62 }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x10, 0x13, 0x1B, 0x2B, 0x3C, 0x4C, 0x64 } }) Name (BCLJ, Package (0x08) { 0x08, 0x14, 0x20, 0x2C, 0x3A, 0x48, 0x56, 0x64 }) Name (BCLC, Package (0x0A) { 0x64, 0x2C, 0x08, 0x14, 0x20, 0x2C, 0x3A, 0x48, 0x56, 0x64 }) Method (_BCL, 0, NotSerialized) { Store (DerefOf (Index (BCLJ, 0x07)), Local0) Store (Local0, Index (BCLC, Zero)) Store (DerefOf (Index (BCLJ, 0x03)), Local1) Store (Local1, Index (BCLC, One)) Return (BCLC) } Method (_BCM, 1, NotSerialized) { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64))) { Store (Match (BCLJ, MEQ, Arg0, MTR, Zero, Zero), Local1) If (LNotEqual (Local1, Ones)) { Store (Local1, ^^^^LPCB.EC0.BRTS) } Store (Package (0x08) { 0x64, 0x5A, 0x50, 0x46, 0x3C, 0x32, 0x28, 0x1E }, Local2) If (LEqual (PPID, 0x205C)) { Store (DerefOf (Index (PBCL, Zero)), Local2) } If (LEqual (PPID, 0x1100)) { Store (DerefOf (Index (PBCL, One)), Local2) } If (LEqual (PPID, 0x4136)) { Store (DerefOf (Index (PBCL, 0x02)), Local2) } If (LEqual (PPID, 0x021C)) { Store (DerefOf (Index (PBCL, 0x03)), Local2) } If (LEqual (PPID, 0x1321)) { Store (DerefOf (Index (PBCL, 0x04)), Local2) } If (LEqual (PPID, 0x3154)) { Store (DerefOf (Index (PBCL, 0x05)), Local2) } If (LEqual (PPID, 0x01BC)) { Store (DerefOf (Index (PBCL, 0x06)), Local2) } If (LEqual (PPID, 0x091B)) { Store (DerefOf (Index (PBCL, 0x07)), Local2) } If (LEqual (PPID, 0x1444)) { Store (DerefOf (Index (PBCL, 0x08)), Local2) } If (LEqual (PPID, 0x3741)) { Store (DerefOf (Index (PBCL, 0x09)), Local2) } If (LEqual (PPID, 0x01E6)) { Store (DerefOf (Index (PBCL, 0x0A)), Local2) } If (LEqual (PPID, 0x163C)) { Store (DerefOf (Index (PBCL, 0x0B)), Local2) } If (LEqual (PPID, 0x22EC)) { Store (DerefOf (Index (PBCL, 0x0C)), Local2) } If (LEqual (PPID, 0x1680)) { Store (DerefOf (Index (PBCL, 0x0D)), Local2) } If (LEqual (PPID, 0x5541)) { Store (DerefOf (Index (PBCL, 0x0E)), Local2) } If (LEqual (PPID, 0x0230)) { Store (DerefOf (Index (PBCL, 0x0F)), Local2) } If (LEqual (PPID, 0x3641)) { Store (DerefOf (Index (PBCL, 0x10)), Local2) } If (LEqual (PPID, 0x139E)) { Store (DerefOf (Index (PBCL, 0x11)), Local2) } If (LEqual (PPID, 0x1711)) { Store (DerefOf (Index (PBCL, 0x12)), Local2) } If (LEqual (PPID, 0x544B)) { Store (DerefOf (Index (PBCL, 0x13)), Local2) } If (LEqual (PPID, 0x01CA)) { Store (DerefOf (Index (PBCL, 0x14)), Local2) } If (LEqual (PPID, 0x14B6)) { Store (DerefOf (Index (PBCL, 0x15)), Local2) } If (LEqual (PPID, 0x129E)) { Store (DerefOf (Index (PBCL, 0x16)), Local2) } If (LEqual (PPID, 0x027B)) { Store (DerefOf (Index (PBCL, 0x17)), Local2) } If (LEqual (PPID, 0x029B)) { Store (DerefOf (Index (PBCL, 0x18)), Local2) } If (LEqual (PPID, 0x01DA)) { Store (DerefOf (Index (PBCL, 0x19)), Local2) } If (LEqual (PPID, 0x1324)) { Store (DerefOf (Index (PBCL, 0x1A)), Local2) } If (LEqual (PPID, 0x1598)) { Store (DerefOf (Index (PBCL, 0x1B)), Local2) } Store (DerefOf (Index (Local2, Local1)), Local3) } If (IGDS) { ^^^^GFX0.AINT (One, Local3) } Else { If (LEqual (DID0, 0xD132)) { AINT (One, Local3) } Else { ^^^^P0P2.VGA.AINT (One, Local3) } } } Method (_BQC, 0, NotSerialized) { Store (^^^^LPCB.EC0.BRTS, Local1) Store (DerefOf (Index (BCLJ, Local1)), Local0) Return (Local0) } } Device (TV) { Method (_ADR, 0, NotSerialized) { Return (0x0200) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x04, Local0) And (Local1, 0x04, Local1) If (Local0) { Store (One, TVAA) } Else { Store (Zero, TVAA) } If (TVAA) { If (LEqual (Local1, 0x04)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x04)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (TVAA) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (DDI1) { Method (_ADR, 0, NotSerialized) { If (LEqual (VVEN, 0x1002)) { Return (0x0210) } Else { Return (0x0120) } } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x08, Local0) And (Local1, 0x08, Local1) If (Local0) { Store (One, DI1A) } Else { Store (Zero, DI1A) } If (DI1A) { If (LEqual (Local1, 0x08)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x08)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (DI1A) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Device (DDI2) { Method (_ADR, 0, NotSerialized) { Return (0x0220) } Method (_DCS, 0, NotSerialized) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) And (Local0, 0x80, Local0) And (Local1, 0x80, Local1) If (Local0) { Store (One, DI2A) } Else { Store (Zero, DI2A) } If (DI2A) { If (LEqual (Local1, 0x80)) { Return (0x1F) } Else { Return (0x1D) } } Else { If (LEqual (Local1, 0x80)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DGS, 0, NotSerialized) { If (DI2A) { Return (One) } Else { Return (Zero) } } Method (_DSS, 1, NotSerialized) { } } Method (DSSW, 0, NotSerialized) { If (LEqual (SWIT, Zero)) { CSMI (0x02) Store (CADL, Local0) Store (CSTE, Local1) If (LGreater (Local1, One)) { And (Local0, Local1, VLDF) And (VLDF, 0xFE, VLDF) } If (VLDF) { If (LEqual (Local0, 0x03)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x02)) { STBL (One) } If (LEqual (Local1, 0x03)) { STBL (0x02) } } If (LEqual (Local0, 0x05)) { If (LEqual (Local1, One)) { STBL (0x05) } If (LEqual (Local1, 0x04)) { STBL (One) } If (LEqual (Local1, 0x05)) { STBL (0x04) } } If (LEqual (Local0, 0x07)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x04) } If (LEqual (Local1, 0x02)) { STBL (One) } If (LEqual (Local1, 0x07)) { STBL (One) } } If (LEqual (Local0, 0x09)) { If (LEqual (Local1, One)) { STBL (0x09) } If (LEqual (Local1, 0x09)) { STBL (0x08) } If (LEqual (Local1, 0x08)) { STBL (One) } } If (LEqual (Local0, 0x0B)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x09) } If (LEqual (Local1, 0x09)) { STBL (0x08) } If (LEqual (Local1, 0x08)) { STBL (One) } } If (LOr (LEqual (Local0, 0x0D), LEqual (Local0, 0x0F))) { If (LEqual (Local1, One)) { STBL (0x09) } If (LEqual (Local1, 0x09)) { STBL (0x08) } If (LEqual (Local1, 0x08)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x04) } If (LEqual (Local1, 0x04)) { STBL (One) } } If (LEqual (Local0, 0x81)) { If (LEqual (Local1, One)) { STBL (0x81) } If (LEqual (Local1, 0x81)) { STBL (0x80) } If (LEqual (Local1, 0x80)) { STBL (One) } } If (LEqual (Local0, 0x83)) { If (LEqual (Local1, One)) { STBL (0x03) } If (LEqual (Local1, 0x03)) { STBL (0x02) } If (LEqual (Local1, 0x02)) { STBL (0x81) } If (LEqual (Local1, 0x81)) { STBL (0x80) } If (LEqual (Local1, 0x80)) { STBL (One) } } If (LOr (LEqual (Local0, 0x85), LEqual (Local0, 0x87))) { If (LEqual (Local1, One)) { STBL (0x81) } If (LEqual (Local1, 0x81)) { STBL (0x80) } If (LEqual (Local1, 0x80)) { STBL (0x05) } If (LEqual (Local1, 0x05)) { STBL (0x04) } If (LEqual (Local1, 0x04)) { STBL (One) } } } Else { Store (One, VLDF) STBL (One) } } Else { If (LEqual (SWIT, One)) {} } } Method (STBL, 1, NotSerialized) { If (LEqual (Arg0, One)) { Store (One, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x02)) { Store (Zero, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x03)) { Store (One, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x04)) { Store (Zero, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x05)) { Store (One, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x06)) { Store (Zero, LCDA) Store (One, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x07)) { Store (One, LCDA) Store (One, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x08)) { Store (Zero, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x09)) { Store (One, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x0B)) { Store (One, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x0D)) { Store (One, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x0F)) { Store (One, LCDA) Store (One, CRTA) Store (One, TVAA) Store (One, DI1A) Store (Zero, DI2A) } If (LEqual (Arg0, 0x80)) { Store (Zero, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x81)) { Store (One, LCDA) Store (Zero, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x83)) { Store (One, LCDA) Store (One, CRTA) Store (Zero, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x85)) { Store (One, LCDA) Store (Zero, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (One, DI2A) } If (LEqual (Arg0, 0x87)) { Store (One, LCDA) Store (One, CRTA) Store (One, TVAA) Store (Zero, DI1A) Store (One, DI2A) } Notify (^^^P0P2.VGA, 0x80) } Method (AINT, 2, NotSerialized) { If (LEqual (VVEN, 0x10DE)) { If (LEqual (DID0, 0xD132)) { NINT (One, Arg1) Return (Zero) } Else { ^^^P0P2.VGA.NINT (One, Arg1) Return (Zero) } } Else { If (LEqual (VVEN, 0x1002)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), VBRI) CSMI (0x03) Return (Zero) } Else { Return (Zero) } } } OperationRegion (GPPB, PCI_Config, 0xB4, 0x14) Field (GPPB, ByteAcc, NoLock, Preserve) { PBCI, 8, PBNP, 8, PBLS, 8, PBCC, 8, PBCM, 32, PBDI, 32, PBDO, 32, PBMX, 32 } Method (NINT, 2, NotSerialized) { If (LEqual (DVID, 0x0CB0)) { Store (Arg1, Local1) Store (Zero, Local0) Multiply (Local1, 0x0A, Local3) ShiftLeft (Local3, 0x08, Local3) Store (Local3, PBDI) While (LLess (Local0, 0x03E8)) { Store (One, PBMX) Store (0x86100000, PBCM) Stall (0x64) And (PBCM, 0xFF, Local2) Increment (Local0) If (LEqual (Local2, One)) { Store (0x03E8, Local0) } } Store (Zero, PBCM) Store (Zero, PBMX) Return (Zero) } Return (Zero) } } } Device (GFX0) { Name (_ADR, 0x00020000) Method (_DSM, 4, NotSerialized) { Return (^^P0P2.VGA._DSM (Arg0, Arg1, Arg2, Arg3)) } Method (PCPC, 0, NotSerialized) { ECST (0x6F) } Method (PAPR, 0, NotSerialized) { Return (Zero) } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x07), DSEN) If (LEqual (And (Arg0, 0x03), Zero)) { If (CondRefOf (HDOS)) { HDOS () } } } Method (_DOD, 0, NotSerialized) { If (CondRefOf (IDAB)) {} Else { Store (Zero, NDID) Store (SDDL (DIDL), DID1) Store (SDDL (DDL2), DID2) Store (SDDL (DDL3), DID3) Store (SDDL (DDL4), DID4) If (LNotEqual (DDL5, Zero)) { Store (SDDL (DDL5), DID5) } If (LNotEqual (DDL6, Zero)) { Store (SDDL (DDL6), DID6) } If (LNotEqual (DDL7, Zero)) { Store (SDDL (DDL7), DID7) } If (LNotEqual (DDL8, Zero)) { Store (SDDL (DDL8), DID8) } } If (LEqual (NDID, One)) { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP1, Zero)) Return (TMP1) } If (LEqual (NDID, 0x02)) { Name (TMP2, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP2, Zero)) Store (Or (0x00010000, DID2), Index (TMP2, One)) Return (TMP2) } If (LEqual (NDID, 0x03)) { Name (TMP3, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) 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) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) 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 (LEqual (NDID, 0x05)) { Name (TMP5, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) Store (Or (0x00010000, DID5), Index (TMP5, 0x04)) Return (TMP5) } If (LEqual (NDID, 0x06)) { Name (TMP6, Package (0x06) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP6, Zero)) Store (Or (0x00010000, DID2), Index (TMP6, One)) Store (Or (0x00010000, DID3), Index (TMP6, 0x02)) Store (Or (0x00010000, DID4), Index (TMP6, 0x03)) Store (Or (0x00010000, DID5), Index (TMP6, 0x04)) Store (Or (0x00010000, DID6), Index (TMP6, 0x05)) Return (TMP6) } If (LEqual (NDID, 0x07)) { Name (TMP7, Package (0x07) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP7, Zero)) Store (Or (0x00010000, DID2), Index (TMP7, One)) Store (Or (0x00010000, DID3), Index (TMP7, 0x02)) Store (Or (0x00010000, DID4), Index (TMP7, 0x03)) Store (Or (0x00010000, DID5), Index (TMP7, 0x04)) Store (Or (0x00010000, DID6), Index (TMP7, 0x05)) Store (Or (0x00010000, DID7), Index (TMP7, 0x06)) Return (TMP7) } If (LEqual (NDID, 0x08)) { Name (TMP8, Package (0x08) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP8, Zero)) Store (Or (0x00010000, DID2), Index (TMP8, One)) Store (Or (0x00010000, DID3), Index (TMP8, 0x02)) Store (Or (0x00010000, DID4), Index (TMP8, 0x03)) Store (Or (0x00010000, DID5), Index (TMP8, 0x04)) Store (Or (0x00010000, DID6), Index (TMP8, 0x05)) Store (Or (0x00010000, DID7), Index (TMP8, 0x06)) Store (Or (0x00010000, DID8), Index (TMP8, 0x07)) Return (TMP8) } 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) { If (CondRefOf (SNXD)) { Return (NXD1) } 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) { If (LEqual (LIDS, Zero)) { Return (Zero) } Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) { If (CondRefOf (SNXD)) { Return (NXD2) } Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Name (PBCL, Package (0x1C) { Package (0x08) { 0x0C, 0x10, 0x15, 0x1E, 0x2C, 0x3A, 0x4B, 0x62 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1C, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x0F, 0x13, 0x1C, 0x27, 0x34, 0x41, 0x5A }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0A, 0x0E, 0x13, 0x1D, 0x2B, 0x39, 0x47, 0x5F }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1E, 0x2E, 0x3E, 0x4D, 0x62 }, Package (0x08) { 0x0B, 0x10, 0x15, 0x1F, 0x2D, 0x3C, 0x4B, 0x64 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x2B, 0x3A, 0x4C, 0x63 }, Package (0x08) { 0x0B, 0x0E, 0x13, 0x1C, 0x2C, 0x31, 0x4C, 0x63 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x28, 0x37, 0x4B, 0x60 }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x2B, 0x3B, 0x4D, 0x64 }, Package (0x08) { 0x0B, 0x10, 0x14, 0x1C, 0x2C, 0x3C, 0x4E, 0x64 }, Package (0x08) { 0x0B, 0x10, 0x13, 0x1B, 0x2B, 0x3C, 0x4C, 0x64 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1D, 0x2C, 0x3C, 0x4E, 0x64 }, Package (0x08) { 0x0B, 0x0D, 0x11, 0x1A, 0x27, 0x38, 0x4A, 0x62 }, Package (0x08) { 0x0B, 0x0F, 0x13, 0x1C, 0x29, 0x37, 0x45, 0x5D }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x19, 0x28, 0x37, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1A, 0x29, 0x39, 0x4A, 0x60 }, Package (0x08) { 0x0B, 0x0F, 0x14, 0x1E, 0x2D, 0x3E, 0x50, 0x64 }, Package (0x08) { 0x0A, 0x0D, 0x0F, 0x18, 0x25, 0x32, 0x41, 0x55 }, Package (0x08) { 0x0A, 0x0D, 0x10, 0x18, 0x27, 0x36, 0x47, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x19, 0x28, 0x37, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x11, 0x1B, 0x28, 0x39, 0x48, 0x5F }, Package (0x08) { 0x0B, 0x0E, 0x12, 0x1B, 0x28, 0x37, 0x4B, 0x60 }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1E, 0x2E, 0x3E, 0x4D, 0x62 }, Package (0x08) { 0x0A, 0x0F, 0x14, 0x1D, 0x2A, 0x38, 0x46, 0x5F }, Package (0x08) { 0x0B, 0x10, 0x13, 0x1B, 0x2B, 0x3C, 0x4C, 0x64 } }) Name (BCLJ, Package (0x08) { 0x08, 0x14, 0x20, 0x2C, 0x3A, 0x48, 0x56, 0x64 }) Name (BCLC, Package (0x0A) { 0x64, 0x2C, 0x08, 0x14, 0x20, 0x2C, 0x3A, 0x48, 0x56, 0x64 }) Method (_BCL, 0, NotSerialized) { Store (DerefOf (Index (BCLJ, 0x07)), Local0) Store (Local0, Index (BCLC, Zero)) Store (DerefOf (Index (BCLJ, 0x03)), Local1) Store (Local1, Index (BCLC, One)) Return (BCLC) } Method (_BCM, 1, NotSerialized) { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x64))) { Store (Match (BCLJ, MEQ, Arg0, MTR, Zero, Zero), Local1) If (LNotEqual (Local1, Ones)) { Store (Local1, ^^^LPCB.EC0.BRTS) } Store (Package (0x08) { 0x64, 0x5A, 0x50, 0x46, 0x3C, 0x32, 0x28, 0x1E }, Local2) If (LEqual (PPID, 0x205C)) { Store (DerefOf (Index (PBCL, Zero)), Local2) } If (LEqual (PPID, 0x1100)) { Store (DerefOf (Index (PBCL, One)), Local2) } If (LEqual (PPID, 0x4136)) { Store (DerefOf (Index (PBCL, 0x02)), Local2) } If (LEqual (PPID, 0x021C)) { Store (DerefOf (Index (PBCL, 0x03)), Local2) } If (LEqual (PPID, 0x1321)) { Store (DerefOf (Index (PBCL, 0x04)), Local2) } If (LEqual (PPID, 0x3154)) { Store (DerefOf (Index (PBCL, 0x05)), Local2) } If (LEqual (PPID, 0x01BC)) { Store (DerefOf (Index (PBCL, 0x06)), Local2) } If (LEqual (PPID, 0x091B)) { Store (DerefOf (Index (PBCL, 0x07)), Local2) } If (LEqual (PPID, 0x1444)) { Store (DerefOf (Index (PBCL, 0x08)), Local2) } If (LEqual (PPID, 0x3741)) { Store (DerefOf (Index (PBCL, 0x09)), Local2) } If (LEqual (PPID, 0x01E6)) { Store (DerefOf (Index (PBCL, 0x0A)), Local2) } If (LEqual (PPID, 0x163C)) { Store (DerefOf (Index (PBCL, 0x0B)), Local2) } If (LEqual (PPID, 0x22EC)) { Store (DerefOf (Index (PBCL, 0x0C)), Local2) } If (LEqual (PPID, 0x1680)) { Store (DerefOf (Index (PBCL, 0x0D)), Local2) } If (LEqual (PPID, 0x5541)) { Store (DerefOf (Index (PBCL, 0x0E)), Local2) } If (LEqual (PPID, 0x0230)) { Store (DerefOf (Index (PBCL, 0x0F)), Local2) } If (LEqual (PPID, 0x3641)) { Store (DerefOf (Index (PBCL, 0x10)), Local2) } If (LEqual (PPID, 0x139E)) { Store (DerefOf (Index (PBCL, 0x11)), Local2) } If (LEqual (PPID, 0x1711)) { Store (DerefOf (Index (PBCL, 0x12)), Local2) } If (LEqual (PPID, 0x544B)) { Store (DerefOf (Index (PBCL, 0x13)), Local2) } If (LEqual (PPID, 0x01CA)) { Store (DerefOf (Index (PBCL, 0x14)), Local2) } If (LEqual (PPID, 0x14B6)) { Store (DerefOf (Index (PBCL, 0x15)), Local2) } If (LEqual (PPID, 0x129E)) { Store (DerefOf (Index (PBCL, 0x16)), Local2) } If (LEqual (PPID, 0x027B)) { Store (DerefOf (Index (PBCL, 0x17)), Local2) } If (LEqual (PPID, 0x029B)) { Store (DerefOf (Index (PBCL, 0x18)), Local2) } If (LEqual (PPID, 0x01DA)) { Store (DerefOf (Index (PBCL, 0x19)), Local2) } If (LEqual (PPID, 0x1324)) { Store (DerefOf (Index (PBCL, 0x1A)), Local2) } If (LEqual (PPID, 0x1598)) { Store (DerefOf (Index (PBCL, 0x1B)), Local2) } Store (DerefOf (Index (Local2, Local1)), Local3) } If (IGDS) { AINT (One, Local3) } Else { If (LEqual (DID0, 0xD132)) { ^^^P0P3.VGA.AINT (One, Local3) } Else { ^^^P0P2.VGA.AINT (One, Local3) } } } Method (_BQC, 0, NotSerialized) { Store (^^^LPCB.EC0.BRTS, Local1) Store (DerefOf (Index (BCLJ, Local1)), Local0) Return (Local0) } Method (_PS0, 0, NotSerialized) { If (^^^LPCB.ECOK ()) { Store (One, ^^^LPCB.EC0.ILED) } } Method (_PS3, 0, NotSerialized) { If (^^^LPCB.ECOK ()) { Store (Zero, ^^^LPCB.EC0.ILED) } } } 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) { If (CondRefOf (SNXD)) { Return (NXD3) } Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } 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) { If (CondRefOf (SNXD)) { Return (NXD4) } 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) { If (CondRefOf (SNXD)) { Return (NXD5) } Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD06) { Method (_ADR, 0, Serialized) { If (LEqual (DID6, Zero)) { Return (0x06) } Else { Return (And (0xFFFF, DID6)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID6, Zero)) { Return (0x0B) } Else { Return (CDDS (DID6)) } } Method (_DGS, 0, NotSerialized) { If (CondRefOf (SNXD)) { Return (NXD6) } Return (NDDS (DID6)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD07) { Method (_ADR, 0, Serialized) { If (LEqual (DID7, Zero)) { Return (0x07) } Else { Return (And (0xFFFF, DID7)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID7, Zero)) { Return (0x0B) } Else { Return (CDDS (DID7)) } } Method (_DGS, 0, NotSerialized) { If (CondRefOf (SNXD)) { Return (NXD7) } Return (NDDS (DID7)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD08) { Method (_ADR, 0, Serialized) { If (LEqual (DID8, Zero)) { Return (0x08) } Else { Return (And (0xFFFF, DID8)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID8, Zero)) { Return (0x0B) } Else { Return (CDDS (DID8)) } } Method (_DGS, 0, NotSerialized) { If (CondRefOf (SNXD)) { Return (NXD8) } Return (NDDS (DID8)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Method (SDDL, 1, NotSerialized) { Increment (NDID) If (LEqual (Arg0, Zero)) { Return (Zero) } 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) { Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (0x1D) } If (LEqual (CADL, Local0)) { Return (0x1F) } If (LEqual (CAL2, Local0)) { Return (0x1F) } If (LEqual (CAL3, Local0)) { Return (0x1F) } If (LEqual (CAL4, Local0)) { Return (0x1F) } If (LEqual (CAL5, Local0)) { Return (0x1F) } If (LEqual (CAL6, Local0)) { Return (0x1F) } If (LEqual (CAL7, Local0)) { Return (0x1F) } If (LEqual (CAL8, Local0)) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { If (LLess (OSYS, 0x07D6)) { If (LEqual (EKEY, One)) { Return (NDES (Arg0)) } } Store (And (Arg0, 0x0F0F), Local0) If (LEqual (Zero, Local0)) { Return (Zero) } If (LEqual (NADL, Local0)) { Return (One) } If (LEqual (NDL2, Local0)) { Return (One) } If (LEqual (NDL3, Local0)) { Return (One) } If (LEqual (NDL4, Local0)) { Return (One) } If (LEqual (NDL5, Local0)) { Return (One) } If (LEqual (NDL6, Local0)) { Return (One) } If (LEqual (NDL7, Local0)) { Return (One) } If (LEqual (NDL8, Local0)) { Return (One) } Return (Zero) } Method (BRTN, 1, Serialized) { If (LEqual (And (DID1, 0x0F00), 0x0400)) { Notify (DD01, Arg0) } If (LEqual (And (DID2, 0x0F00), 0x0400)) { Notify (DD02, Arg0) } If (LEqual (And (DID3, 0x0F00), 0x0400)) { Notify (DD03, Arg0) } If (LEqual (And (DID4, 0x0F00), 0x0400)) { Notify (DD04, Arg0) } If (LEqual (And (DID5, 0x0F00), 0x0400)) { Notify (DD05, Arg0) } } 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)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) 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 (0x000F87FD, 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)) { Store (And (PARM, 0x0F), ITVF) Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Store (Zero, GESF) Store (Zero, PARM) 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 (GFX0, Arg1) } } If (CondRefOf (HNOT)) { HNOT (Arg0) } Else { Notify (GFX0, 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 (One, ASLE) Return (Zero) } Method (SCIP, 0, NotSerialized) { If (LNotEqual (OVER, Zero)) { Return (LNot (GSMI)) } Return (Zero) } Name (NDC1, 0x0400) Name (NDC2, Zero) Name (NDC3, Zero) Name (EKEY, Zero) Method (STBL, 1, NotSerialized) { Store (One, EKEY) Store (0x0400, NDC1) Store (Zero, NDC2) Store (Zero, NDC3) If (LEqual (Arg0, One)) { Store (0x0400, NDC1) } If (LEqual (Arg0, 0x02)) { Store (0x0100, NDC1) } If (LEqual (Arg0, 0x03)) { Store (0x0400, NDC1) Store (0x0100, NDC2) } If (LEqual (Arg0, 0x04)) { Store (0x0200, NDC1) } If (LEqual (Arg0, 0x05)) { Store (0x0400, NDC1) Store (0x0200, NDC2) } If (LEqual (Arg0, 0x06)) { Store (0x0100, NDC1) Store (0x0200, NDC2) } If (LEqual (Arg0, 0x07)) { Store (0x0400, NDC1) Store (0x0100, NDC2) Store (0x0200, NDC3) } If (LEqual (Arg0, 0x08)) { Store (0x0300, NDC1) } If (LEqual (Arg0, 0x09)) { Store (0x0400, NDC1) Store (0x0300, NDC2) } GHDS (Zero) } Method (NDES, 1, NotSerialized) { If (LEqual (NDC1, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDC2, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDC3, And (Arg0, 0x0F0F))) { Return (One) } Return (Zero) } Method (CDTB, 1, NotSerialized) { Store (Arg0, Local0) If (LEqual (Zero, Local0)) { Return (Zero) } If (LEqual (CADL, Local0)) { Return (One) } If (LEqual (CAL2, Local0)) { Return (One) } If (LEqual (CAL3, Local0)) { Return (One) } If (LEqual (CAL4, Local0)) { Return (One) } If (LEqual (CAL5, Local0)) { Return (One) } If (LEqual (CAL6, Local0)) { Return (One) } If (LEqual (CAL7, Local0)) { Return (One) } If (LEqual (CAL8, Local0)) { Return (One) } Return (Zero) } Method (ADTB, 1, NotSerialized) { Store (Arg0, Local0) If (LEqual (Zero, Local0)) { Return (Zero) } If (LEqual (CPDL, Local0)) { Return (One) } If (LEqual (CPL2, Local0)) { Return (One) } If (LEqual (CPL3, Local0)) { Return (One) } If (LEqual (CPL4, Local0)) { Return (One) } If (LEqual (CPL5, Local0)) { Return (One) } If (LEqual (CPL6, Local0)) { Return (One) } If (LEqual (CPL7, Local0)) { Return (One) } If (LEqual (CPL8, Local0)) { Return (One) } Return (Zero) } Method (EKTB, 0, NotSerialized) { Name (CSCA, Package (0x02) { Zero, Zero }) Store (Zero, Local1) Store (Zero, Local2) If (LEqual (CDTB (0x0400), One)) { Or (Local1, One, Local1) } If (LEqual (CDTB (0x0300), One)) { Or (Local1, 0x08, Local1) } If (LEqual (CDTB (0x0100), One)) { Or (Local1, 0x02, Local1) } If (LEqual (ADTB (0x0400), One)) { Or (Local2, One, Local2) } If (LEqual (ADTB (0x0300), One)) { Or (Local2, 0x08, Local2) } If (LEqual (ADTB (0x0100), One)) { Or (Local2, 0x02, Local2) } Store (Local1, Index (CSCA, Zero)) Store (Local2, Index (CSCA, One)) Return (CSCA) } } Device (P0P1) { Name (_ADR, 0x001E0000) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR01) } Return (PR01) } } Device (LPCB) { Name (_ADR, 0x001F0000) Scope (\_SB) { OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0) Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve) { Offset (0x20), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x28), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8 } Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (LPOL) } Name (_PRW, Package (0x02) { 0x1B, 0x04 }) } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_DIS, 0, Serialized) { Or (PARC, 0x80, PARC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLA, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PARC, 0x0F), IRQ0) Return (RTLA) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PARC) } Method (_STA, 0, Serialized) { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_DIS, 0, Serialized) { Or (PBRC, 0x80, PBRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLB, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PBRC, 0x0F), IRQ0) Return (RTLB) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PBRC) } Method (_STA, 0, Serialized) { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_DIS, 0, Serialized) { Or (PCRC, 0x80, PCRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLC, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PCRC, 0x0F), IRQ0) Return (RTLC) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PCRC) } Method (_STA, 0, Serialized) { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_DIS, 0, Serialized) { Or (PDRC, 0x80, PDRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLD, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PDRC, 0x0F), IRQ0) Return (RTLD) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PDRC) } Method (_STA, 0, Serialized) { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_DIS, 0, Serialized) { Or (PERC, 0x80, PERC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLE, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PERC, 0x0F), IRQ0) Return (RTLE) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PERC) } Method (_STA, 0, Serialized) { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_DIS, 0, Serialized) { Or (PFRC, 0x80, PFRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLF, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PFRC, 0x0F), IRQ0) Return (RTLF) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PFRC) } Method (_STA, 0, Serialized) { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_DIS, 0, Serialized) { Or (PGRC, 0x80, PGRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,10,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLG, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PGRC, 0x0F), IRQ0) Return (RTLG) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PGRC) } Method (_STA, 0, Serialized) { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_DIS, 0, Serialized) { Or (PHRC, 0x80, PHRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,7,11,12,14,15} }) Method (_CRS, 0, Serialized) { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLH, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PHRC, 0x0F), IRQ0) Return (RTLH) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PHRC) } Method (_STA, 0, Serialized) { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (HAPS) { Name (_HID, "TOS620A") Name (ECPT, Zero) Name (ECRS, Zero) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x07), Ones)) { If (HAPE) { Return (0x0F) } Else { Return (Zero) } } Else { Return (Zero) } } Method (PTLV, 1, NotSerialized) { If (^^PCI0.LPCB.ECOK ()) { Store (Arg0, ^^PCI0.LPCB.EC0.HAPL) Store (Arg0, ECPT) } Else { Store (Arg0, ECPT) } } Method (RSSS, 0, NotSerialized) { If (^^PCI0.LPCB.ECOK ()) { Store (One, ^^PCI0.LPCB.EC0.HAPR) } Else { Store (One, ECRS) } } } } OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x40), IOD0, 8, IOD1, 8, Offset (0xB0), RAEN, 1, , 13, RCBA, 18 } Method (ECOK, 0, NotSerialized) { If (LEqual (^EC0.ECCN, One)) { Return (One) } Else { Return (Zero) } } OperationRegion (LPEC, SystemIO, 0xFF2C, 0x04) Field (LPEC, ByteAcc, NoLock, Preserve) { ECFA, 8, ECFB, 16, ECFD, 8 } Mutex (PHMX, 0x00) Method (PHMR, 1, NotSerialized) { Acquire (PHMX, 0xFFFF) If (LNotEqual (STPH, 0xAA)) { Store (Arg0, ECFB) Store (ECFD, Local0) Store (0x23F4, ECFB) } Else { Store (Zero, Local0) } Release (PHMX) Return (Local0) } Method (PHMW, 2, NotSerialized) { Acquire (PHMX, 0xFFFF) If (LNotEqual (STPH, 0xAA)) { Store (Arg0, ECFB) Store (Arg1, ECFD) Store (0x23F4, ECFB) } Release (PHMX) Return (Arg1) } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x17) Name (ECCN, Zero) 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 ) }) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECCN) Store (One, ECRD) Store (PHMR (0xA3F4), Local0) And (Local0, 0xF8, Local0) If (LGreaterEqual (OSYS, 0x07D9)) { Or (Local0, 0x03, Local0) PHMW (0xA3F4, Local0) } Else { If (LGreaterEqual (OSYS, 0x07D6)) { Or (Local0, One, Local0) PHMW (0xA3F4, Local0) } Else { If (LEqual (OSYS, 0x03E8)) { Or (Local0, 0x02, Local0) PHMW (0xA3F4, Local0) } Else { If (LLess (OSYS, 0x07D6)) { If (LNotEqual (OSYS, Zero)) { PHMW (0xA3F4, Local0) } } } } } } } Method (VAFC, 6, NotSerialized) { Return (^^^^VALZ.SPFC (Arg0, Arg1, Arg2, Arg3, Arg4, Arg5)) } OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { BTDT, 1, BTPW, 1, BTDS, 1, BTPS, 1, BTSW, 1, BTWK, 1, WMXD, 1, WMXS, 1, FNSF, 2, ID3G, 1, UWBI, 1, , 1, PW3G, 1, UWBP, 1, Offset (0x02), ECRD, 1, ODDO, 1, OQEN, 1, Offset (0x03), Offset (0x04), , 1, NTMP, 1, NTHT, 1, Offset (0x05), HKEV, 1, HKHS, 1, , 1, LEDO, 1, CIRF, 1, KBST, 1, ALEX, 1, Offset (0x06), FANP, 8, CLME, 1, Offset (0x08), IRX0, 1, IRX1, 1, CECS, 1, HDCS, 1, HDPO, 1, , 2, BSCC, 1, CECE, 16, WFAT, 8, ECOB, 1, TJET, 2, ILED, 1, , 1, JETD, 1, Offset (0x0D), CNFR, 3, Offset (0x0E), SNDS, 8, REVS, 8, Offset (0x20), CMID, 8, PANB, 8, PAE1, 32, PAE2, 32, PAE3, 32, PAE4, 32, Offset (0x35), KBBM, 5, , 2, KBBL, 1, KBBT, 6, Offset (0x37), Offset (0x60), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 24, Offset (0x90), Offset (0x91), Offset (0x92), Offset (0x93), Offset (0x94), ENIB, 16, ENDD, 8, SCAC, 1, SCDC, 1, SCAD, 1, UWAK, 1, SLCP, 1, , 2, SLMU, 1, SCBL, 8, Offset (0x9A), BAL0, 1, BAL1, 1, BAL2, 1, BAL3, 1, BBC0, 1, BBC1, 1, BBC2, 1, BBC3, 1, Offset (0x9C), PHDD, 1, IFDD, 1, IODD, 1, SHDD, 1, S120, 1, EFDD, 1, CRTD, 1, SPWR, 1, SBTN, 1, VIDO, 1, VOLD, 1, VOLU, 1, MUTE, 1, HKMD, 1, Offset (0x9E), S4ST, 1, SKEY, 1, BKEY, 1, TOUP, 1, FNBN, 1, , 1, DIGM, 1, Offset (0x9F), , 1, LIDF, 1, Offset (0xA0), DKSP, 1, DKIN, 1, DKID, 1, DKOK, 1, Offset (0xA1), DKPW, 1, Offset (0xA2), BTNS, 8, OSTY, 3, PCMQ, 1, PCMR, 1, ADPT, 1, SLLS, 1, SYS7, 1, PWAK, 1, MWAK, 1, LWAK, 1, , 1, WLED, 1, Offset (0xA5), Offset (0xAA), TCNL, 8, TMPI, 8, TMSD, 8, FASN, 4, FASU, 4, PCVL, 4, , 2, SWTO, 1, HWTO, 1, MODE, 1, FANS, 2, INIT, 1, FAN1, 1, FAN2, 1, FANT, 1, SKNM, 1, CTMP, 8, LIDE, 1, PMEE, 1, PWBE, 1, RNGE, 1, BTWE, 1, DCKE, 1, Offset (0xB2), SKTA, 8, SKTB, 8, SKTC, 8, Offset (0xB6), TOHK, 16, Offset (0xB9), BRTS, 8, CNTS, 8, WLAT, 1, BTAT, 1, WLEX, 1, BTEX, 1, KLSW, 1, WLOK, 1, Offset (0xBC), PTID, 8, CPUT, 8, HAPL, 2, HAPR, 1, Offset (0xBF), GHID, 8, , 4, BMF0, 3, BTY0, 1, BST0, 8, BRC0, 16, BSN0, 16, BPV0, 16, BDV0, 16, BDC0, 16, BFC0, 16, GAU0, 8, CYC0, 8, BPC0, 16, BAC0, 16, BAT0, 8, BTW0, 16, Offset (0xDE), BSSB, 16, , 4, BMF1, 3, BTY1, 1, BST1, 8, Offset (0xE3), BCV1, 16, BCV2, 16, BCV3, 16, BCV4, 16, Offset (0xF0), Offset (0xF4), MFDE, 16, Offset (0xF8), BDN0, 8 } Name (BCLJ, Package (0x08) { 0x08, 0x14, 0x20, 0x2C, 0x3A, 0x48, 0x56, 0x64 }) Method (_Q11, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D6)) { If (IGDS) { ^^^GFX0.BRTN (0x87) } Else { If (LEqual (DID0, 0xD132)) { Notify (^^^P0P3.VGA.LCD, 0x87) } Else { Notify (^^^P0P2.VGA.LCD, 0x87) } } } Else { If (IGDS) { Store (BRTS, Local1) Store (DerefOf (Index (BCLJ, Local1)), Local0) ^^^GFX0.DD02._BCM (Local0) } Else { Store (BRTS, Local1) Store (DerefOf (Index (BCLJ, Local1)), Local0) If (LEqual (DID0, 0xD132)) { ^^^P0P3.VGA.LCD._BCM (Local0) } Else { ^^^P0P2.VGA.LCD._BCM (Local0) } } } } Method (_Q12, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D6)) { If (IGDS) { ^^^GFX0.BRTN (0x86) } Else { If (LEqual (DID0, 0xD132)) { Notify (^^^P0P3.VGA.LCD, 0x86) } Else { Notify (^^^P0P2.VGA.LCD, 0x86) } } } Else { If (IGDS) { Store (BRTS, Local1) Store (DerefOf (Index (BCLJ, Local1)), Local0) ^^^GFX0.DD02._BCM (Local0) } Else { Store (BRTS, Local1) Store (DerefOf (Index (BCLJ, Local1)), Local0) If (LEqual (DID0, 0xD132)) { ^^^P0P3.VGA.LCD._BCM (Local0) } Else { ^^^P0P2.VGA.LCD._BCM (Local0) } } } } Method (_Q13, 0, NotSerialized) { If (LNotEqual (PIDC (0x02), Ones)) { Store (BTSW, FCPW) } If (KLSW) { Store (PW3G, OF3G) } Else { Store (Zero, OF3G) } } Method (_Q1A, 0, NotSerialized) { Store ("=====QUERY_1A=====", Debug) If (LNotEqual (PIDC (0x02), Ones)) { Store (BTSW, FCPW) } Notify (BT, 0x90) If (LNotEqual (PIDC (0x0E), Ones)) { If (Or (JETD, UWBI)) { Store (BTSW, UWBP) } } If (KLSW) { Store (PW3G, OF3G) } Else { Store (Zero, OF3G) } } Method (_Q1C, 0, NotSerialized) { Store ("=====QUERY_1C=====", Debug) If (VIDO) { If (IGDS) { ^^^GFX0.GHDS (Zero) } Else { ^^^P0P2.VGA.DSSW () } Store (Zero, VIDO) } } Method (_Q1D, 0, NotSerialized) { Store ("=====QUERY_1D=====", Debug) PCLK () } Method (_Q1E, 0, NotSerialized) { Store ("=====QUERY_1E=====", Debug) PCLK () } Method (_Q1F, 0, NotSerialized) { Store ("=====QUERY_1F=====", Debug) HTEV (0x80) } Method (_Q20, 0, NotSerialized) { Store (0x20, P80H) Notify (ALSD, 0x80) Sleep (0x64) Notify (ALSD, 0x82) } Method (_Q25, 0, NotSerialized) { Store ("=====QUERY_25=====", Debug) Sleep (0x03E8) Notify (BAT1, 0x81) Sleep (0x03E8) Notify (BAT1, 0x80) } Method (_Q37, 0, NotSerialized) { Store ("=====QUERY_37=====", Debug) If (LAnd (LGreaterEqual (OSYS, 0x07D1), LLess (OSYS, 0x07D2))) { OPPC () } Notify (ACAD, 0x80) Sleep (0x03E8) Notify (BAT1, 0x80) } Method (_Q38, 0, NotSerialized) { Store ("=====QUERY_38=====", Debug) Notify (ACAD, 0x80) Sleep (0x03E8) Notify (BAT1, 0x80) } Mutex (CECQ, 0x00) Method (_Q50, 0, NotSerialized) { Store (CECE, Local0) Store (Zero, CECE) Acquire (CECQ, 0xFFFF) If (LEqual (Local0, 0x1500)) { Store (CMID, CCMD) Store (PANB, CCMN) Store (PAE1, CCM1) Store (PAE2, CCM2) Store (PAE3, CCM3) Store (PAE4, CCM4) } Else { If (LEqual (Local0, 0x1501)) { Store (PANB, CMEN) Store (PAE1, CME1) Store (PAE2, CME2) Store (PAE3, CME3) Store (PAE4, CME4) } Else { If (LEqual (Local0, 0x1502)) { Store (CMID, CEVD) Store (PANB, CEVN) Store (PAE1, CEV1) Store (PAE2, CEV2) Store (PAE3, CEV3) } } } Store (Local0, CEEV) Store (One, ^^^^VALZ.CECF) Notify (VALZ, 0x80) Release (CECQ) } Method (_Q53, 0, NotSerialized) { } Method (_Q64, 0, NotSerialized) { If (LNotEqual (PIDC (0x07), Ones)) { Notify (HAPS, 0x80) } } Method (_Q65, 0, NotSerialized) { If (LNotEqual (PIDC (0x07), Ones)) { Notify (HAPS, 0x81) } } Method (_Q66, 0, NotSerialized) { If (TMFA) { If (LEqual (\_PR.CPU0._PPC, Zero)) { Store (One, \_PR.CPU0._PPC) Notify (\_PR.CPU0, 0x80) Notify (\_PR.CPU1, 0x80) Notify (\_PR.CPU2, 0x80) Notify (\_PR.CPU3, 0x80) Notify (\_PR.CPU4, 0x80) Notify (\_PR.CPU5, 0x80) Notify (\_PR.CPU6, 0x80) Notify (\_PR.CPU7, 0x80) } } } Method (_Q67, 0, NotSerialized) { If (TMFA) { If (LNotEqual (\_PR.CPU0._PPC, Zero)) { Store (Zero, \_PR.CPU0._PPC) Notify (\_PR.CPU0, 0x80) Notify (\_PR.CPU1, 0x80) Notify (\_PR.CPU2, 0x80) Notify (\_PR.CPU3, 0x80) Notify (\_PR.CPU4, 0x80) Notify (\_PR.CPU5, 0x80) Notify (\_PR.CPU6, 0x80) Notify (\_PR.CPU7, 0x80) } } } Method (_Q68, 0, NotSerialized) { If (LNotEqual (PIDC (0x15), Ones)) { Notify (SAT0, Zero) Notify (SAT1, Zero) } } Device (BT) { Name (_HID, "TOS6205") Method (_STA, 0, NotSerialized) { If (BTON) { Return (0x0F) } Else { Return (Zero) } } Method (DUSB, 0, NotSerialized) { Store (Zero, BTDT) } Method (AUSB, 0, NotSerialized) { Store (One, BTDT) } Method (BTPO, 0, NotSerialized) { Store (One, BTPW) Store (Zero, BTPR) Sleep (0x14) Store (One, BTRS) } Method (BTPF, 0, NotSerialized) { Store (Zero, BTPW) Store (Zero, BTRS) Store (One, BTPR) } Method (BTST, 0, NotSerialized) { Store (BTSW, Local3) If (Local3) { ShiftLeft (BTDT, 0x06, Local0) ShiftLeft (BTPW, 0x07, Local1) } Else { Store (Zero, BTDT) Store (Zero, BTPW) Store (Zero, BTRS) Store (One, BTPR) Store (Zero, Local0) Store (Zero, Local1) } Or (Local0, Local1, Local2) Or (Local2, Local3, Local2) Return (Local2) } } OperationRegion (CCLK, SystemIO, 0x0410, 0x04) Field (CCLK, DWordAcc, NoLock, Preserve) { , 1, DUTY, 3, THEN, 1, Offset (0x01), FTT, 1, , 8, TSTS, 1 } OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF) Field (ECRM, ByteAcc, Lock, Preserve) { Offset (0x94), ERIB, 16, ERBD, 8, Offset (0xAC), SDTM, 8, FSSN, 4, FANU, 4, PTVL, 3, , 4, TTHR, 1, Offset (0xBC), PJID, 8, Offset (0xBE), Offset (0xF9), RFRD, 16 } Mutex (FAMX, 0x00) Method (FANG, 1, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (ERBD, Local0) Release (FAMX) Return (Local0) } Method (FANW, 2, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (Arg1, ERBD) Release (FAMX) Return (Arg1) } Method (TUVR, 1, NotSerialized) { Return (0x03) } Method (THRO, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Return (THEN) } Else { If (LEqual (Arg0, One)) { Return (DUTY) } Else { If (LEqual (Arg0, 0x02)) { Return (TTHR) } Else { Return (0xFF) } } } } Method (CLCK, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Store (Zero, THEN) Store (Zero, FTT) } Else { Store (Arg0, DUTY) Store (One, THEN) } Return (THEN) } Method (PCLK, 0, NotSerialized) { Store (PTVL, Local0) If (LEqual (Local0, Zero)) { Store (Zero, THEN) Store (Zero, FTT) } Else { Decrement (Local0) Store (Not (Local0), Local1) And (Local1, 0x07, Local1) Store (Local1, DUTY) Store (One, THEN) } } Device (MIR) { Name (_HID, EisaId ("ENE0200")) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x03), Ones)) { If (CIRE) { Return (0x0F) } Else { Return (Zero) } } Else { Return (Zero) } } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0xFF28, // Range Minimum 0xFF28, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {4} }) Return (BUF0) } Name (_PRS, ResourceTemplate () { IO (Decode16, 0xFF28, // Range Minimum 0xFF28, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {4} }) } Method (NTFY, 0, NotSerialized) { Store (One, ^^^^VALZ.TECF) Notify (VALZ, 0x80) Return (0xAA) } Scope (\_SB) { Device (VALZ) { Name (_HID, EisaId ("TOS1900")) Name (_DDN, "VALZeneral") Name (TECF, Zero) Name (CECF, Zero) Name (INFF, Zero) Method (_STA, 0, NotSerialized) { Return (0x0B) } Method (ENAB, 0, NotSerialized) { } Method (INFO, 0, NotSerialized) { If (TECF) { Store (Zero, TECF) Store (^^PCI0.LPCB.EC0.TOHK, Local0) Store (Zero, ^^PCI0.LPCB.EC0.TOHK) } Else { If (CECF) { Store (Zero, CECF) Store (CEEV, Local0) Store (Zero, CEEV) } Else { Store (Zero, Local0) } } Return (Local0) } Method (ODLS, 0, NotSerialized) { Return (One) } Method (ODLT, 0, NotSerialized) { Name (ODLS, Buffer (One) { 0x00 }) Store (SATM, Index (ODLS, Zero)) Return (ODLS) } Method (ODLB, 0, NotSerialized) { Name (ODST, Buffer (0x0F) { 0x00 }) If (LEqual (SATM, 0x02)) { Store (^^PCI0.SAT0.VEN1, Index (ODST, Zero)) Store (^^PCI0.SAT0.VEN2, Index (ODST, One)) Store (^^PCI0.SAT0.DEV1, Index (ODST, 0x02)) Store (^^PCI0.SAT0.DEV2, Index (ODST, 0x03)) Store (^^PCI0.SAT0.SVD1, Index (ODST, 0x04)) Store (^^PCI0.SAT0.SVD2, Index (ODST, 0x05)) Store (^^PCI0.SAT0.SSD1, Index (ODST, 0x06)) Store (^^PCI0.SAT0.SSD2, Index (ODST, 0x07)) Store (^^PCI0.SAT0.RVID, Index (ODST, 0x08)) Store (0x04, Index (ODST, 0x09)) } Else { Store (^^PCI0.SAT1.VEN1, Index (ODST, Zero)) Store (^^PCI0.SAT1.VEN2, Index (ODST, One)) Store (^^PCI0.SAT1.DEV1, Index (ODST, 0x02)) Store (^^PCI0.SAT1.DEV2, Index (ODST, 0x03)) Store (^^PCI0.SAT1.SVD1, Index (ODST, 0x04)) Store (^^PCI0.SAT1.SVD2, Index (ODST, 0x05)) Store (^^PCI0.SAT1.SSD1, Index (ODST, 0x06)) Store (^^PCI0.SAT1.SSD2, Index (ODST, 0x07)) Store (^^PCI0.SAT1.RVID, Index (ODST, 0x08)) Store (0x04, Index (ODST, 0x09)) } Return (ODST) } Method (ODPO, 1, NotSerialized) { If (LNotEqual (PIDC (0x15), Ones)) { If (LEqual (Arg0, One)) { Store (One, ODIO) Store (One, ODDE) } Else { Store (Zero, ODIO) Store (Zero, ODDE) } } } Method (SPFC, 6, NotSerialized) { Name (TSFR, Package (0x06) {}) Store (Zero, Index (TSFR, Zero)) Store (Zero, Index (TSFR, One)) Store (Zero, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, 0x03)) Store (Zero, Index (TSFR, 0x04)) Store (Zero, Index (TSFR, 0x05)) CreateDWordField (Arg0, Zero, TOI0) CreateDWordField (Arg1, Zero, TOI1) CreateDWordField (Arg2, Zero, TOI2) CreateDWordField (Arg3, Zero, TOI3) CreateDWordField (Arg4, Zero, TOI4) CreateDWordField (Arg5, Zero, TOI5) If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x96))) { Store (Zero, Index (TSFR, Zero)) Store (0xFF00, Index (TSFR, 0x02)) Store (PIDC (0xA2), Index (TSFR, 0x03)) Return (TSFR) } Name (BUSY, Zero) Name (COMT, Zero) Name (ACET, Zero) If (LAnd (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA7)), LEqual (TOI2, Zero)), LEqual (TOI3, Zero))) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { Store (Zero, Index (TSFR, Zero)) } Else { If (LAnd (LEqual (TOI5, One), LEqual (COMT, 0x80))) { Store (^^PCI0.LPCB.PHMR (0xC5F6), Local1) And (Local1, One, ACET) Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xB4F4), 0x18, Local1) Store (Zero, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x76) Store (^^PCI0.LPCB.INFO, Local2) ShiftLeft (Local2, 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0xB1F7), 0x08, Local3) If (LEqual (ACET, One)) { Or (Local3, ^^PCI0.LPCB.PHMR (0xE7F8), Local4) } Else { Or (Local3, 0xFF, Local4) } Or (Local2, Local4, Index (TSFR, 0x02)) And (0xFF, ^^PCI0.LPCB.PHMR (0xE9F8), Local5) ShiftLeft (Local5, 0x10, Local5) If (LEqual (ACET, One)) { ShiftLeft (^^PCI0.LPCB.PHMR (0xEAF8), 0x08, Local6) Or (Local6, ^^PCI0.LPCB.PHMR (0xEBF8), Local6) } Else { Store (0xFFFF, Local6) } Or (Local5, Local6, Index (TSFR, 0x03)) } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA1))) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { If (LEqual (TOI2, 0x02)) { Store (0x8300, Index (TSFR, Zero)) } Else { Store (Zero, Index (TSFR, Zero)) } } Else { If (LAnd (LEqual (TOI5, One), LEqual (COMT, 0x80))) { If (LEqual (TOI2, One)) { Store (^^PCI0.LPCB.PHMR (0x9AF4), Local1) And (Local1, One, Local1) If (LEqual (Local1, One)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xC7F4), 0x08, Local2) Or (Local2, ^^PCI0.LPCB.PHMR (0xC6F4), Local2) Divide (Local2, 0x64, Local3, Index (TSFR, 0x02)) } Else { Store (Zero, Index (TSFR, Zero)) Store (0xFF, Index (TSFR, 0x02)) } } Else { Store (0x8300, Index (TSFR, Zero)) Store (0xFF, Index (TSFR, 0x02)) } } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA8)), LEqual ( TOI4, 0x98))) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { If (LEqual (TOI2, 0x02)) { Store (0x8300, Index (TSFR, Zero)) } Else { Store (Zero, Index (TSFR, Zero)) } } Else { If (LAnd (LEqual (TOI5, One), LEqual (COMT, 0x80))) { If (LEqual (TOI2, One)) { Store (^^PCI0.LPCB.PHMR (0x9AF4), Local1) And (Local1, One, Local1) If (LEqual (Local1, One)) { Store (Zero, Index (TSFR, Zero)) Store (^^PCI0.LPCB.PHMR (0xD7F4), Index (TSFR, 0x03)) Store (^^PCI0.LPCB.PHMR (0xD1F4), Local2) And (Local2, 0x80, Local2) If (LLess (Local2, 0x80)) { ShiftLeft (^^PCI0.LPCB.PHMR (0xD1F4), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0xD0F4), Index (TSFR, 0x02)) } Else { ShiftLeft (^^PCI0.LPCB.PHMR (0xD1F4), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0xD0F4), Local1) Subtract (0xFFFF, Local1, Index (TSFR, 0x02)) } } Else { Store (Zero, Index (TSFR, Zero)) Store (0xFFFF, Index (TSFR, 0x02)) Store (0xFF, Index (TSFR, 0x03)) } } Else { Store (0x8300, Index (TSFR, Zero)) Store (0xFFFF, Index (TSFR, 0x02)) Store (0xFF, Index (TSFR, 0x03)) } } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x2A))) { Store (Zero, Index (TSFR, Zero)) Store (ShiftLeft (^^PCI0.LPCB.PHMR (0xB9F4), 0x0D, Local0), Index (TSFR, 0x02)) Store (ShiftLeft (^^PCI0.LPCB.PHMR (0x93F8), 0x0D, Local1), Index (TSFR, 0x03)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x42))) { If (LOr (LEqual (TOI2, One), LEqual (TOI2, 0x10))) { ^^PCI0.LPCB.PHMW (0x94F8, TOI2) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x9F))) { If (LEqual (TOI2, Zero)) { Store (^^PCI0.LPCB.PHMR (0xD7F8), Local0) ShiftLeft (Local0, 0x08, Local0) Store (^^PCI0.LPCB.PHMR (0xD8F8), Local1) Or (Local0, Local1, Local2) If (LEqual (Local2, 0xFFFF)) { Store (Zero, Index (TSFR, 0x03)) } Else { Store (Local2, Index (TSFR, 0x03)) } Store (Zero, Index (TSFR, Zero)) } Else { If (LEqual (TOI2, 0xFFFF)) { Store (Zero, Index (TSFR, Zero)) Store (0x0200, Index (TSFR, 0x03)) } Else { Store (0x8300, Index (TSFR, Zero)) } } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x9F))) { If (LEqual (TOI2, Zero)) { ShiftRight (TOI3, 0x08, Local0) And (TOI3, 0xFF, Local1) ^^PCI0.LPCB.PHMW (0xD7F8, Local0) ^^PCI0.LPCB.PHMW (0xD8F8, Local1) ^^PCI0.LPCB.PHMW (0xD9F8, One) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA2))) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { If (LOr (LEqual (TOI3, Zero), LEqual (TOI3, One))) { Store (Zero, Index (TSFR, Zero)) } ShiftRight (^^PCI0.LPCB.PHMR (0xADF4), 0x04, Local1) If (LGreaterEqual (TOI2, Local1)) { Store (0x8300, Index (TSFR, Zero)) } } Else { If (LAnd (LAnd (LEqual (TOI3, Zero), LEqual (TOI5, One)), LEqual ( COMT, 0x80))) { ShiftRight (^^PCI0.LPCB.PHMR (0xADF4), 0x04, Local1) If (LLess (TOI2, Local1)) { If (LEqual (TOI2, Zero)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xECF8), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0xEDF8), Index (TSFR, 0x02)) } Else { If (LEqual (TOI2, One)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xEEF8), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0xEFF8), Index (TSFR, 0x02)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { If (LAnd (LAnd (LEqual (TOI3, One), LEqual (TOI5, One)), LEqual ( COMT, 0x80))) { ShiftRight (^^PCI0.LPCB.PHMR (0xADF4), 0x04, Local1) If (LLess (TOI2, Local1)) { If (LEqual (TOI2, Zero)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xECF8), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0xEDF8), Index (TSFR, 0x02)) Multiply (^^PCI0.LPCB.PHMR (0x95F8), 0x64, Index (TSFR, 0x03)) } Else { If (LEqual (TOI2, One)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xEEF8), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0xEFF8), Index (TSFR, 0x02)) Multiply (^^PCI0.LPCB.PHMR (0x96F8), 0x64, Index (TSFR, 0x03)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA6)), LEqual ( TOI2, Zero))) { If (LNotEqual (PIDC (0x07), Ones)) { If (HAPE) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { If (LOr (LOr (LOr (LEqual (TOI3, Zero), LEqual (TOI3, One)), LEqual (TOI3, 0x0200)), LEqual (TOI3, 0x0201))) { Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { If (LAnd (LEqual (TOI5, One), LEqual (COMT, 0x80))) { If (LEqual (TOI3, One)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xE3F8), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0xE2F8), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0xE1F8), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0xE0F8), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0xE5F8), 0x08, Local5) Or (Local5, ^^PCI0.LPCB.PHMR (0xE4F8), Index (TSFR, 0x04)) Return (TSFR) } Else { If (LEqual (TOI3, Zero)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0x59F5), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0x58F5), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x57F5), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x56F5), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0x5BF5), 0x08, Local5) Or (Local5, ^^PCI0.LPCB.PHMR (0x5AF5), Index (TSFR, 0x04)) Return (TSFR) } Else { If (LEqual (TOI3, 0x0200)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0x69F5), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0x68F5), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x67F5), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x66F5), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0x6BF5), 0x08, Local5) Or (Local5, ^^PCI0.LPCB.PHMR (0x6AF5), Local6) Add (Local6, ^^PCI0.LPCB.PHMR (0x5EF5), Index (TSFR, 0x04)) Return (TSFR) } Else { If (LEqual (TOI3, 0x0201)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0x69F5), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0x68F5), Local1) Add (Local1, ^^PCI0.LPCB.PHMR (0x5DF5), Local2) ShiftLeft (Local2, 0x10, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x67F5), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x66F5), Local3) Add (Local3, ^^PCI0.LPCB.PHMR (0x5CF5), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0x6BF5), 0x08, Local2) Or (Local2, ^^PCI0.LPCB.PHMR (0x6AF5), Index (TSFR, 0x04)) Return (TSFR) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } } Else { Store (0x8000, Index (TSFR, Zero)) } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA8)), LEqual ( TOI4, 0x9A))) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { ShiftRight (^^PCI0.LPCB.PHMR (0xADF4), 0x04, Local1) If (LGreaterEqual (TOI2, Local1)) { Store (0x8300, Index (TSFR, Zero)) } Else { Store (Zero, Index (TSFR, Zero)) } } Else { If (LAnd (LEqual (TOI5, One), LEqual (COMT, 0x80))) { ShiftRight (^^PCI0.LPCB.PHMR (0xADF4), 0x04, Local1) If (LLess (TOI2, Local1)) { If (LEqual (TOI2, Zero)) { Store (Zero, Index (TSFR, Zero)) Store (^^PCI0.LPCB.PHMR (0x99F8), Index (TSFR, 0x02)) } Else { If (LEqual (TOI2, One)) { Store (Zero, Index (TSFR, Zero)) Store (^^PCI0.LPCB.PHMR (0x9AF8), Index (TSFR, 0x02)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA8)), LEqual ( TOI4, 0x9B))) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { Store (Zero, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI2, Zero), LEqual (TOI5, One)), LEqual ( COMT, 0x80))) { ShiftLeft (^^PCI0.LPCB.PHMR (0x9BF8), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0x9CF8), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x9DF8), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x9EF8), Local3) Or (Local2, Local3, Index (TSFR, 0x03)) ShiftLeft (^^PCI0.LPCB.PHMR (0x9FF8), 0x18, Local4) ShiftLeft (^^PCI0.LPCB.PHMR (0xA0F8), 0x10, Local5) Or (Local4, Local5, Local5) ShiftLeft (^^PCI0.LPCB.PHMR (0xA1F8), 0x08, Local6) Or (Local6, ^^PCI0.LPCB.PHMR (0xA2F8), Local6) Or (Local5, Local6, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Or (^^PCI0.LPCB.PHMR (0xDFF8), 0x02, Local1) ^^PCI0.LPCB.PHMW (0xDFF8, Local1) } Else { If (LAnd (LAnd (LEqual (TOI2, One), LEqual (TOI5, One)), LEqual ( COMT, 0x80))) { And (0xFF, ^^PCI0.LPCB.PHMR (0xA3F8), Local1) Store (Local1, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Or (^^PCI0.LPCB.PHMR (0xDFF8), 0x04, Local1) ^^PCI0.LPCB.PHMW (0xDFF8, Local1) } Else { If (LAnd (LAnd (LEqual (TOI2, 0x02), LEqual (TOI5, One)), LEqual ( COMT, 0x80))) { ShiftLeft (^^PCI0.LPCB.PHMR (0xABF8), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0xAAF8), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0xA9F8), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0xA8F8), Local3) Or (Local2, Local3, Index (TSFR, 0x03)) ShiftLeft (^^PCI0.LPCB.PHMR (0xA7F8), 0x18, Local4) ShiftLeft (^^PCI0.LPCB.PHMR (0xA6F8), 0x10, Local5) Or (Local4, Local5, Local5) ShiftLeft (^^PCI0.LPCB.PHMR (0xA5F8), 0x08, Local6) Or (Local6, ^^PCI0.LPCB.PHMR (0xA4F8), Local6) Or (Local5, Local6, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Or (^^PCI0.LPCB.PHMR (0xDFF8), 0x08, Local1) ^^PCI0.LPCB.PHMW (0xDFF8, Local1) } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } } } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA8)), LEqual ( TOI4, 0xA0))) { If (LEqual (TOI3, Zero)) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { Store (Zero, Index (TSFR, Zero)) } Else { If (LAnd (LEqual (TOI5, One), LEqual (COMT, 0x80))) { Store (Zero, Index (TSFR, Zero)) Store (^^PCI0.LPCB.PHMR (0xDBF8), Local1) Store (0x0B, Local2) And (Local1, Local2, Index (TSFR, 0x02)) } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0xA0))) { And (TOI2, 0xF4, Local0) If (LAnd (LEqual (TOI3, Zero), LEqual (Local0, Zero))) { ^^PCI0.LPCB.PHMW (0xDBF8, TOI2) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA8)), LEqual ( TOI4, 0x9D))) { If (LEqual (TOI3, Zero)) { If (LEqual (TOI5, Zero)) { Store (Zero, Index (TSFR, Zero)) } Else { If (LEqual (TOI5, One)) { Store (^^PCI0.LPCB.PHMR (0xDFF8), Local0) And (Local0, One, Local0) Store (Local0, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x9D))) { If (LEqual (TOI3, Zero)) { If (LOr (LEqual (TOI2, Zero), LEqual (TOI2, One))) { ^^PCI0.LPCB.PHMW (0xDFF8, TOI2) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xA8)), LEqual ( TOI4, 0xA9))) { Store (Zero, BUSY) Store (0x80, COMT) If (LAnd (LEqual (TOI5, Zero), LNotEqual (BUSY, 0x40))) { If (LOr (LEqual (TOI2, 0x02), LEqual (TOI2, 0x8002))) { Store (0x8300, Index (TSFR, Zero)) } Else { Store (Zero, Index (TSFR, Zero)) } } Else { If (LAnd (LEqual (TOI5, One), LEqual (COMT, 0x80))) { If (LEqual (TOI2, One)) { Store (Zero, Index (TSFR, Zero)) Store (^^PCI0.LPCB.PHMR (0x9AF4), Local1) And (Local1, One, Local1) If (LEqual (Local1, One)) { ShiftLeft (^^PCI0.LPCB.PHMR (0x60F5), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0x61F5), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0xDFF4), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0xDEF4), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0xE6F4), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0xE5F4), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0xE4F4), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0xE3F4), Local4) Or (Local2, Local4, Index (TSFR, 0x03)) ShiftLeft (^^PCI0.LPCB.PHMR (0x62F5), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0x63F5), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x64F5), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x65F5), Local4) Or (Local2, Local4, Index (TSFR, 0x04)) ShiftLeft (^^PCI0.LPCB.PHMR (0xEAF4), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0xE9F4), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0xE8F4), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0xE7F4), Local4) Or (Local2, Local4, Index (TSFR, 0x05)) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (0xFFFF, Index (TSFR, 0x03)) Store (0xFFFF, Index (TSFR, 0x04)) Store (0xFFFF, Index (TSFR, 0x05)) } } Else { If (LEqual (TOI2, 0x8001)) { Store (Zero, Index (TSFR, Zero)) Store (^^PCI0.LPCB.PHMR (0x9AF4), Local1) And (Local1, One, Local1) If (LEqual (Local1, One)) { ShiftLeft (^^PCI0.LPCB.PHMR (0x6CF5), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0x6DF5), Local1) Store (Local1, Index (TSFR, 0x02)) } Else { Store (0xFFFF, Index (TSFR, 0x02)) } } Else { Store (0x8300, Index (TSFR, Zero)) Store (0xFFFF, Index (TSFR, 0x02)) Store (0xFFFF, Index (TSFR, 0x03)) Store (0xFFFF, Index (TSFR, 0x04)) Store (0xFFFF, Index (TSFR, 0x05)) } } } Else { If (LAnd (LOr (LEqual (TOI5, Zero), LEqual (TOI5, One)), LEqual ( BUSY, 0x40))) { Store (0x8D20, Index (TSFR, Zero)) } Else { If (LAnd (LAnd (LEqual (TOI5, One), LNotEqual (BUSY, 0x40)), LNotEqual (COMT, 0x80))) { Store (0x8D50, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xAA))) { Store (Zero, Index (TSFR, Zero)) Store (^^PCI0.LPCB.PHMR (0xD2F8), Index (TSFR, 0x02)) Store (^^PCI0.LPCB.PHMR (0xD3F8), Index (TSFR, 0x03)) Return (TSFR) } } } } } } } } } } } } } } } } } If (LNotEqual (PIDC (0x11), Ones)) { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x015C))) { Store (^^PCI0.LPCB.PHMR (0x8FF7), Local0) And (Local0, 0x02, Local0) If (Local0) { Store (Zero, Index (TSFR, Zero)) Store (0x800E, Index (TSFR, One)) Store (^^PCI0.LPCB.PHMR (0x36F4), Local0) And (Local0, 0x3F, Local0) ShiftLeft (Local0, 0x10, Local0) Store (^^PCI0.LPCB.PHMR (0x35F4), Local1) And (Local1, 0x1F, Local1) Or (Local0, Local1, Local1) Store (Local1, Index (TSFR, 0x02)) Store (0x003C001A, Index (TSFR, 0x03)) Store (0x000F0002, Index (TSFR, 0x04)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x015C))) { Store (^^PCI0.LPCB.PHMR (0x8FF7), Local0) And (Local0, 0x02, Local0) If (Local0) { And (TOI2, 0x1F, Local1) Or (And (Local1, One, Local2), And (Local1, 0x04, Local3), Local4) If (Local4) { Store (0x8300, Index (TSFR, Zero)) } Else { And (TOI2, 0x1F, Local1) Add (And (Local1, One, Local2), ShiftRight (And (Local1, 0x02, Local3), One, Local3), Local4) Add (Local4, ShiftRight (And (Local1, 0x04, Local3), 0x02, Local3), Local4) Add (Local4, ShiftRight (And (Local1, 0x08, Local3), 0x03, Local3), Local4) Add (Local4, ShiftRight (And (Local1, 0x10, Local3), 0x04, Local3), Local4) If (LOr (LEqual (Local4, Zero), LGreater (Local4, One))) { Store (0x8300, Index (TSFR, Zero)) } Else { And (ShiftRight (TOI2, 0x10, Local2), 0x3F, Local2) If (LOr (LEqual (Local2, Zero), LGreater (Local2, 0x3C))) { Store (0x8300, Index (TSFR, Zero)) } Else { If (And (TOI2, 0xFFC0FFE0, Local3)) { Store (0x8300, Index (TSFR, Zero)) } Else { Store (Local1, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x82) Store (Local2, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x83) Store (Zero, Index (TSFR, Zero)) ^^PCI0.LPCB.PHMW (0x35F4, Local1) ^^PCI0.LPCB.PHMW (0x36F4, Local2) } } } } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } } } If (LNotEqual (PIDC (0x12), Ones)) { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x015D))) { Store (One, Index (TSFR, Zero)) Store (Zero, Index (TSFR, One)) ^^PCI0.LPCB.PHSS (0x7E) Store (^^PCI0.LPCB.INFO, Index (TSFR, 0x02)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x015D))) { Store (One, Index (TSFR, Zero)) If (LOr (LEqual (TOI2, Zero), LEqual (TOI2, One))) { Store (TOI2, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x7F) } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } } } If (LNotEqual (PIDC (0x13), Ones)) { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x015E))) { Store (Zero, Index (TSFR, Zero)) Store (Zero, Index (TSFR, One)) ^^PCI0.LPCB.PHSS (0x81) Store (^^PCI0.LPCB.INFO, Index (TSFR, 0x02)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x015E))) { Store (Zero, Index (TSFR, Zero)) If (LOr (LEqual (TOI2, Zero), LEqual (TOI2, One))) { Store (TOI2, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x80) Store (^^PCI0.LPCB.PHMR (0x97F4), Local0) If (LEqual (TOI2, Zero)) { And (Local0, 0x7F, Local0) } Else { Or (Local0, 0x80, Local0) } ^^PCI0.LPCB.PHMW (0x97F4, Local0) } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } } } If (LNotEqual (PIDC (0x14), Ones)) { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x95))) { Store (^^PCI0.LPCB.PHMR (0x8FF7), Local0) And (Local0, 0x02, Local0) If (Local0) { Store (^^PCI0.LPCB.PHMR (0x35F4), Local0) And (Local0, 0x80, Local0) If (Local0) { Store (One, Index (TSFR, 0x02)) } Else { Store (Zero, Index (TSFR, 0x02)) } Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x95))) { Store (^^PCI0.LPCB.PHMR (0x8FF7), Local0) And (Local0, 0x02, Local0) If (Local0) { Store (^^PCI0.LPCB.PHMR (0x35F4), Local0) And (Local0, 0x1F, Local0) If (LEqual (Local0, 0x04)) { Store (Zero, Index (TSFR, Zero)) If (LEqual (TOI2, Zero)) { Store (^^PCI0.LPCB.PHMR (0x35F4), Local0) And (Local0, 0xFFFFFFFFFFFFFF7F, Local1) ^^PCI0.LPCB.PHMW (0x35F4, Local1) } Else { If (LEqual (TOI2, One)) { Store (^^PCI0.LPCB.PHMR (0x35F4), Local0) Or (Local0, 0x80, Local1) ^^PCI0.LPCB.PHMW (0x35F4, Local1) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8400, Index (TSFR, Zero)) } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } } } If (LNotEqual (PIDC (0x09), Ones)) { If (LEqual (TOI0, 0xF100)) { If (LEqual (INFF, Zero)) { Store (One, INFF) Store (0x44, Index (TSFR, Zero)) } Else { Store (0x8100, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LEqual (TOI0, 0xF200)) { If (LEqual (INFF, One)) { Store (Zero, INFF) Store (0x44, Index (TSFR, Zero)) } Else { Store (0x8200, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x0150))) { If (LEqual (INFF, One)) { Store (Zero, Index (TSFR, Zero)) If (LEqual (TOI5, Zero)) { Store (0x800C, Index (TSFR, One)) ^^PCI0.LPCB.PHSS (0x74) Or (ShiftLeft (One, 0x13, Local0), ^^PCI0.LPCB.INFO, Local1) Store (Local1, Index (TSFR, 0x02)) Or (ShiftLeft (Zero, One, Local0), One, Local1) Or (ShiftLeft (Zero, 0x02, Local2), Local1, Local3) Or (ShiftLeft (One, 0x03, Local4), Local3, Local5) Or (ShiftLeft (One, 0x04, Local6), Local5, Local7) ShiftLeft (One, 0x13, Local0) Or (Local0, Local7, Index (TSFR, 0x03)) Or (Local0, Zero, Index (TSFR, 0x04)) } Else { If (LEqual (TOI5, 0x0100)) { Store (0x8001, Index (TSFR, One)) Store (One, Index (TSFR, 0x02)) } Else { If (LEqual (TOI5, 0x0101)) { Store (0x800C, Index (TSFR, One)) Or (ShiftLeft (Zero, One, Local0), One, Local1) Or (ShiftLeft (Zero, 0x02, Local2), Local1, Local3) Or (ShiftLeft (One, 0x03, Local4), Local3, Local5) Or (ShiftLeft (One, 0x04, Local6), Local5, Local7) ShiftLeft (One, 0x13, Local0) Or (Local0, Local7, Index (TSFR, 0x02)) } Else { If (LEqual (TOI5, 0x0200)) { Store (0x800D, Index (TSFR, One)) Or (ShiftLeft (^^PCI0.LPCB.EC0.SCDC, One, Local0), ^^PCI0.LPCB.EC0.SCAC, Local1) Or (ShiftLeft (^^PCI0.LPCB.EC0.SCAD, 0x02, Local2), Local1, Local3) Or (ShiftLeft (^^PCI0.LPCB.EC0.SCBL, 0x10, Local4), Local3, Index (TSFR, 0x02)) Store (0x00640005, Index (TSFR, 0x03)) Store (0x000A0004, Index (TSFR, 0x04)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } } Else { Store (0x8200, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x0150))) { If (LEqual (INFF, One)) { Store (Zero, Index (TSFR, Zero)) If (LEqual (TOI5, Zero)) { If (LEqual (And (TOI2, 0x00080000), 0x00080000)) { If (LEqual (TOI2, 0x00080000)) { Store (Zero, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x73) } Else { If (LAnd (LAnd (LEqual (And (TOI2, One), One), LGreaterEqual (And (TOI2, 0x1F), 0x03)), LLessEqual (And (TOI2, 0x1F ), 0x1F))) { Store (TOI2, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x73) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { If (LEqual (TOI5, 0x0200)) { If (LAnd (LLessEqual (And (TOI2, 0x00FF0000), 0x00640000), LLessEqual (And (TOI2, 0x0F), 0x07))) { Store (TOI2, Local0) And (Local0, One, ^^PCI0.LPCB.EC0.SCAC) ShiftRight (TOI2, One, Local0) And (Local0, One, ^^PCI0.LPCB.EC0.SCDC) ShiftRight (TOI2, 0x02, Local0) And (Local0, One, ^^PCI0.LPCB.EC0.SCAD) ShiftRight (TOI2, 0x10, Local0) And (Local0, 0x7F, ^^PCI0.LPCB.EC0.SCBL) } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8200, Index (TSFR, Zero)) } Return (TSFR) } } } } } If (LNotEqual (PIDC (0x15), Ones)) { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x76))) { If (LAnd (LAnd (LEqual (TOI2, Zero), LEqual (TOI3, Zero)), LEqual ( TOI4, Zero))) { If (LNotEqual (PIDC (0x15), Ones)) { Store (Zero, Index (TSFR, Zero)) Store (0x0100, Local0) Store (ODDE, Local1) And (Not (Local1, Local1), One, Local1) Add (Local0, Local1, Local3) Store (Local3, Index (TSFR, 0x02)) } Else { Store (0x8000, Index (TSFR, Zero)) } } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x76))) { If (LAnd (LAnd (LEqual (TOI3, Zero), LEqual (TOI4, Zero)), LEqual ( TOI5, Zero))) { Store (TOI2, Local0) And (Local0, 0x0100, Local0) ShiftRight (Local0, 0x08, Local0) If (Local0) { If (LNotEqual (PIDC (0x15), Ones)) { Store (TOI2, Local1) And (Local1, 0x03, Local1) If (LEqual (Local1, One)) { ODPO (Zero) Store (^^PCI0.LPCB.PHMR (0x02F4), Local2) And (Local2, 0xFD, Local2) Or (Local2, 0x04, Local2) ^^PCI0.LPCB.PHMW (0x02F4, Local2) } Else { If (LEqual (Local1, Zero)) { Store (^^PCI0.LPCB.PHMR (0x02F4), Local2) Or (Local2, 0x02, Local2) ^^PCI0.LPCB.PHMW (0x02F4, Local2) } Else { Store (^^PCI0.LPCB.PHMR (0x02F4), Local2) And (Local2, 0xFD, Local2) ^^PCI0.LPCB.PHMW (0x02F4, Local2) } } Store (Zero, Index (TSFR, Zero)) Store (Zero, Index (TSFR, 0x02)) Return (TSFR) } Else { Store (0x8000, Index (TSFR, Zero)) Return (TSFR) } } Else { Store (0x8300, Index (TSFR, Zero)) Return (TSFR) } } Else { Store (0x8300, Index (TSFR, Zero)) Return (TSFR) } } } } If (LNotEqual (PIDC (0x16), Ones)) { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x97))) { If (LAnd (LAnd (LEqual (TOI4, Zero), LEqual (TOI5, Zero)), LEqual ( TOI2, Zero))) { If (LEqual (TOI3, One)) { Store (Zero, Index (TSFR, Zero)) And (^^PCI0.LPCB.PHMR (0x0CF4), One, Local0) If (Local0) { Store (One, Index (TSFR, 0x02)) } Else { Store (Zero, Index (TSFR, 0x02)) } } Else { Store (0x8300, Index (TSFR, Zero)) } } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x97))) { Store (Zero, Index (TSFR, Zero)) If (LAnd (LEqual (TOI4, Zero), LEqual (TOI5, Zero))) { If (LEqual (TOI3, Zero)) { If (LEqual (TOI2, Zero)) { And (^^PCI0.LPCB.PHMR (0x0CF4), 0xF9, Local0) ^^PCI0.LPCB.PHMW (0x0CF4, Local0) } Else { If (LEqual (TOI2, One)) { And (^^PCI0.LPCB.PHMR (0x0CF4), 0xF9, Local0) Or (Local0, 0x04, Local0) ^^PCI0.LPCB.PHMW (0x0CF4, Local0) } Else { If (LEqual (TOI2, 0x02)) { And (^^PCI0.LPCB.PHMR (0x0CF4), 0xF9, Local0) Or (Local0, 0x06, Local0) ^^PCI0.LPCB.PHMW (0x0CF4, Local0) } } } } Else { If (LEqual (TOI3, One)) { If (LEqual (TOI2, Zero)) { And (^^PCI0.LPCB.PHMR (0x0CF4), 0xFFFE, Local0) ^^PCI0.LPCB.PHMW (0x0CF4, Local0) } Else { Or (^^PCI0.LPCB.PHMR (0x0CF4), One, Local0) ^^PCI0.LPCB.PHMW (0x0CF4, Local0) } } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } } } If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xB7))) { Store (^^PCI0.LPCB.PHMR (0x34F4), Local0) And (Local0, One, Local1) If (Local1) { Store (ShiftRight (And (Local0, 0x02), One), Index (TSFR, 0x02)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0xB7))) { Store (^^PCI0.LPCB.PHMR (0x34F4), Local0) And (Local0, One, Local1) If (Local1) { Store (Zero, Index (TSFR, Zero)) If (LEqual (TOI2, Zero)) { And (Local0, 0xFFFFFFFFFFFFFFFD, Local1) ^^PCI0.LPCB.PHMW (0x34F4, Local1) } Else { If (LEqual (TOI2, One)) { Or (Local0, 0x02, Local1) ^^PCI0.LPCB.PHMW (0x34F4, Local1) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } } If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x56)), LEqual ( TOI3, One))) { Store (^^PCI0.LPCB.PHMR (0xBBF4), Local0) And (Local0, One, Local0) Store (^^PCI0.LPCB.PHMR (0xBBF4), Local1) And (Local1, 0x10, Local1) Or (ShiftLeft (Local0, 0x09, Local0), ShiftRight (Local1, 0x04, Local1), Local2) Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) And (Local0, 0x20, Local0) Or (ShiftLeft (Local0, 0x08, Local0), Local2, Local2) Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) And (Local0, 0x40, Local0) Or (ShiftLeft (Local0, 0x05, Local0), Local2, Local2) Store (Local2, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x56)), LEqual ( TOI3, 0xFFFF))) { Store (^^PCI0.LPCB.PHMR (0xBBF4), Local1) And (Local1, 0x10, Local1) ShiftRight (Local1, 0x04, Local2) Store (Local2, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x56)), LEqual ( TOI3, 0x0200))) { If (LEqual (TOI2, Zero)) { Store (^^PCI0.LPCB.PHMR (0xBBF4), Local0) And (Local0, 0xFFFFFFFFFFFFFFFE, Local0) ^^PCI0.LPCB.PHMW (0xBBF4, Local0) } Else { Store (^^PCI0.LPCB.PHMR (0xBBF4), Local0) Or (Local0, One, Local0) ^^PCI0.LPCB.PHMW (0xBBF4, Local0) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x56)), LEqual ( TOI3, 0x03))) { Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) And (Local0, 0x04, Local0) If (Local0) { Store (Zero, Index (TSFR, Zero)) Store (0x2000, Index (TSFR, 0x02)) } Else { Store (0x8300, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x56)), LEqual ( TOI3, 0x2000))) { If (LEqual (TOI2, Zero)) { Store (Zero, OF3G) Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) And (Local0, 0xFFFFFFFFFFFFFFDF, Local1) ^^PCI0.LPCB.PHMW (0x01F4, Local1) } Else { Store (One, OF3G) Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) Or (Local0, 0x20, Local1) ^^PCI0.LPCB.PHMW (0x01F4, Local1) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x56)), LEqual ( TOI3, 0xFFFF))) { If (LEqual (TOI2, Zero)) { Store (^^PCI0.LPCB.PHMR (0xBBF4), Local0) And (Local0, 0xFFFFFFFFFFFFFFEF, Local1) ^^PCI0.LPCB.PHMW (0xBBF4, Local1) } Else { Store (^^PCI0.LPCB.PHMR (0xBBF4), Local0) Or (Local0, 0x10, Local1) ^^PCI0.LPCB.PHMW (0xBBF4, Local1) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x56)), LEqual ( TOI3, 0x0800))) { If (LEqual (TOI2, Zero)) { Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) And (Local0, 0xFFFFFFFFFFFFFFBF, Local1) ^^PCI0.LPCB.PHMW (0x01F4, Local1) } Else { Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) Or (Local0, 0x40, Local1) ^^PCI0.LPCB.PHMW (0x01F4, Local1) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x050E))) { Store (^^PCI0.LPCB.PHMR (0x9EF4), Local0) And (Local0, 0x08, Local0) If (Local0) { Store (Zero, Index (TSFR, 0x02)) } Else { Store (One, Index (TSFR, 0x02)) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x050E))) { If (LEqual (TOI2, Zero)) { Store (^^PCI0.LPCB.PHMR (0x9EF4), Local0) Or (Local0, 0x08, Local0) ^^PCI0.LPCB.PHMW (0x9EF4, Local0) } Else { Store (^^PCI0.LPCB.PHMR (0x9EF4), Local0) And (Local0, 0xFFFFFFFFFFFFFFF7, Local0) ^^PCI0.LPCB.PHMW (0x9EF4, Local0) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x5A)), LEqual ( TOI3, One))) { Store (^^PCI0.LPCB.PHMR (0x01F4), Local0) If (LEqual (TOI2, Zero)) { And (Local0, 0xFFFFFFFFFFFFFFFC, Local0) } Else { If (LEqual (TOI2, One)) { And (Local0, 0xFFFFFFFFFFFFFFFC, Local0) Or (Local0, One, Local0) } Else { If (LEqual (TOI2, 0x02)) { And (Local0, 0xFFFFFFFFFFFFFFFC, Local0) Or (Local0, 0x02, Local0) } } } ^^PCI0.LPCB.PHMW (0x01F4, Local0) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x7F))) { Store (^^PCI0.LPCB.PHMR (0x07F4), Local0) And (Local0, One, Local0) Store (Local0, Index (TSFR, 0x02)) Store (One, Index (TSFR, 0x03)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x7F))) { Store (^^PCI0.LPCB.PHMR (0x07F4), Local0) If (LEqual (TOI2, Zero)) { And (Local0, 0xFFFFFFFFFFFFFFFE, Local0) } Else { If (LEqual (TOI2, One)) { Or (Local0, One, Local0) } } ^^PCI0.LPCB.PHMW (0x07F4, Local0) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x62))) { If (LEqual (OES1, 0x55)) { If (LEqual (OES2, 0x30)) { Store (Zero, Index (TSFR, 0x03)) } Else { If (LEqual (OES2, 0x31)) { Store (Zero, Index (TSFR, 0x03)) } Else { Store (0x21, Index (TSFR, 0x03)) } } } Else { Store (0x21, Index (TSFR, 0x03)) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x11))) { If (LEqual (HORZ, 0x0280)) { If (LEqual (VERT, 0x01E0)) { Store (Zero, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } Else { If (LEqual (HORZ, 0x0320)) { If (LEqual (VERT, 0x0258)) { Store (0x0100, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x01E0)) { Store (0x0400, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } } Else { If (LEqual (HORZ, 0x0400)) { If (LEqual (VERT, 0x0300)) { Store (0x0200, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x0258)) { Store (0x0300, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x0240)) { Store (0x1200, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } } } Else { If (LEqual (HORZ, 0x0500)) { If (LEqual (VERT, 0x0400)) { Store (0x0500, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x0258)) { Store (0x0800, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x0320)) { Store (0x0900, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x0300)) { Store (0x0D00, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } } } } Else { If (LEqual (HORZ, 0x0578)) { If (LEqual (VERT, 0x041A)) { Store (0x0600, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } Else { If (LEqual (HORZ, 0x0640)) { If (LEqual (VERT, 0x04B0)) { Store (0x0700, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x0384)) { Store (0x1100, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } } Else { If (LEqual (HORZ, 0x05A0)) { If (LEqual (VERT, 0x0384)) { Store (0x0A00, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } Else { If (LEqual (HORZ, 0x0690)) { If (LEqual (VERT, 0x041A)) { Store (0x0B00, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x03B1)) { Store (0x0F00, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } } Else { If (LEqual (HORZ, 0x0780)) { If (LEqual (VERT, 0x04B0)) { Store (0x0C00, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LEqual (VERT, 0x0438)) { Store (0x0E00, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } } Else { If (LEqual (HORZ, 0x0556)) { If (LEqual (VERT, 0x0300)) { Store (0x1000, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } Else { Store (0xFFFF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } } } } } } } } } } } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0xC000)), LEqual ( TOI2, Zero))) { Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xC000)), LEqual ( TOI2, 0x03))) { Store (Zero, Local0) Store (Zero, Local1) ShiftLeft (HDMS, 0x04, Local1) Or (Local0, Local1, Local2) Store (Local2, Index (TSFR, 0x03)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x1E))) { And (TOI2, 0x02, Local0) If (LEqual (Local0, 0x02)) { Store (Zero, ^^PCI0.LPCB.EC0.HKEV) } Else { Store (One, ^^PCI0.LPCB.EC0.HKEV) } And (TOI2, 0x08, Local1) If (LEqual (Local1, 0x08)) { Store (Zero, ^^PCI0.LPCB.EC0.HKHS) } Else { Store (One, ^^PCI0.LPCB.EC0.HKHS) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x1E))) { Store (^^PCI0.LPCB.EC0.HKEV, Local0) Store (^^PCI0.LPCB.EC0.HKHS, Local1) If (LAnd (LEqual (Local0, One), LEqual (Local1, One))) { Store (One, Index (TSFR, 0x02)) } Else { If (LAnd (LEqual (Local0, One), LEqual (Local1, Zero))) { Store (0x09, Index (TSFR, 0x02)) } Else { If (LAnd (LEqual (Local0, Zero), LEqual (Local1, One))) { Store (0x03, Index (TSFR, 0x02)) } Else { Store (0x0B, Index (TSFR, 0x02)) } } } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x47))) { Store (Zero, Index (TSFR, 0x02)) ShiftRight (^^PCI0.LPCB.PHMR (0x08F4), 0x04, Local0) And (Local0, 0xFFFFFFFFFFFFFF01, Local1) If (LEqual (Local1, One)) { Store (0x0131, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, 0x03)) } Else { If (^^PCI0.LPCB.PHMR (0x0BF4)) { Store (0x20, Index (TSFR, 0x02)) Store (^^PCI0.LPCB.PHMR (0x0BF4), Index (TSFR, 0x03)) } } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x47)), LEqual ( TOI2, 0x5A00))) { ^^PCI0.LPCB.PHMW (0x0BF4, Zero) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x61))) { Store (^^PCI0.LPCB.EC0.CIRF, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x61))) { Store (TOI2, ^^PCI0.LPCB.EC0.CIRF) Store (TOI2, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x72) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x010E))) { Or (ALMF, 0x02, ALMF) ^^PCI0.LPCB.PHSS (0x75) Or (ShiftLeft (ALMY, 0x0A, Local0), ShiftLeft (ALMO, 0x06, Local1), Local2) Or (ShiftLeft (ALMD, One, Local0), Local2, Local3) Store (0x8005, Index (TSFR, One)) Store (Local3, Index (TSFR, 0x02)) Store (0x03FE, Index (TSFR, 0x03)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x010F))) { Or (ALMF, One, ALMF) ^^PCI0.LPCB.PHSS (0x75) Or (ShiftLeft (ALMH, 0x07, Local0), ShiftLeft (ALMM, One, Local1), Local2) If (LEqual (Local2, Zero)) { Store (One, Local2) } Store (0x8004, Index (TSFR, One)) Store (Local2, Index (TSFR, 0x02)) Store (0x0FFF, Index (TSFR, 0x03)) Store (One, Index (TSFR, 0x04)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x010E))) { If (LEqual (TOI2, Zero)) { Store (Zero, ALMF) } Else { ShiftRight (TOI2, One, Local0) And (Local0, 0x1F, ALMD) ShiftRight (TOI2, 0x06, Local0) And (Local0, 0x0F, ALMO) ShiftRight (TOI2, 0x0A, Local0) And (Local0, 0x3F, ALMY) Store (0x88, ALMF) ^^PCI0.LPCB.PHSS (0x75) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x010F))) { If (LEqual (TOI2, Zero)) { Store (Zero, ALMF) } Else { ShiftRight (TOI2, One, Local0) And (Local0, 0x3F, ALMM) ShiftRight (TOI2, 0x07, Local0) And (Local0, 0x1F, ALMH) Store (0x84, ALMF) ^^PCI0.LPCB.PHSS (0x75) } Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x75))) { Store (PMID, Index (TSFR, 0x04)) Store (PPID, Index (TSFR, 0x05)) Store (Zero, Index (TSFR, Zero)) Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x014E))) { If (LNotEqual (PIDC (0x06), Ones)) { Store (One, Index (TSFR, One)) ShiftRight (^^PCI0.LPCB.PHMR (0x05F4), 0x03, Local0) Store (And (Local0, 0xFFFFFFFFFFFFFF01, Local1), Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x014E))) { If (LNotEqual (PIDC (0x06), Ones)) { Store (TOI2, ^^PCI0.LPCB.INFO) ^^PCI0.LPCB.PHSS (0x84) And (^^PCI0.LPCB.PHMR (0x05F4), 0xFFFFFFFFFFFFFFF7, Local1) Or (ShiftLeft (TOI2, 0x03, Local0), Local1, Local2) ^^PCI0.LPCB.PHMW (0x05F4, Local2) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x6D)), LEqual ( TOI2, Zero))) { If (HAPE) { If (LEqual (TOI3, One)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xE3F8), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0xE2F8), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0xE1F8), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0xE0F8), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0xE5F8), 0x08, Local5) Or (Local5, ^^PCI0.LPCB.PHMR (0xE4F8), Index (TSFR, 0x04)) Return (TSFR) } Else { If (LEqual (TOI3, Zero)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0x59F5), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0x58F5), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x57F5), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x56F5), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0x5BF5), 0x08, Local5) Or (Local5, ^^PCI0.LPCB.PHMR (0x5AF5), Index (TSFR, 0x04)) Return (TSFR) } Else { If (LEqual (TOI3, 0x0200)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0x69F5), 0x18, Local1) ShiftLeft (^^PCI0.LPCB.PHMR (0x68F5), 0x10, Local2) Or (Local1, Local2, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x67F5), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x66F5), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0x6BF5), 0x08, Local5) Or (Local5, ^^PCI0.LPCB.PHMR (0x6AF5), Local6) Add (Local6, ^^PCI0.LPCB.PHMR (0x5EF5), Index (TSFR, 0x04)) Return (TSFR) } Else { If (LEqual (TOI3, 0x0201)) { Store (Zero, Index (TSFR, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0x69F5), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0x68F5), Local1) Add (Local1, ^^PCI0.LPCB.PHMR (0x5DF5), Local2) ShiftLeft (Local2, 0x10, Local2) ShiftLeft (^^PCI0.LPCB.PHMR (0x67F5), 0x08, Local3) Or (Local3, ^^PCI0.LPCB.PHMR (0x66F5), Local3) Add (Local3, ^^PCI0.LPCB.PHMR (0x5CF5), Local4) Or (Local2, Local4, Index (TSFR, 0x02)) ShiftLeft (^^PCI0.LPCB.PHMR (0x6BF5), 0x08, Local2) Or (Local2, ^^PCI0.LPCB.PHMR (0x6AF5), Index (TSFR, 0x04)) Return (TSFR) } Else { Store (0x8000, Index (TSFR, Zero)) } } } } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x6D)), LEqual ( TOI2, Zero))) { If (HAPE) { If (LOr (LEqual (TOI3, 0x0100), LEqual (TOI3, 0x0102))) { Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0xB0))) { If (LNotEqual (PIDC (0x17), Ones)) { If (HAPE) { If (LAnd (LEqual (TOI2, Zero), LEqual (TOI3, 0xFFFF))) { Store (0x91, P80H) Store (Zero, Index (TSFR, Zero)) Store (0x02, Index (TSFR, 0x02)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0xB0))) { If (LNotEqual (PIDC (0x17), Ones)) { If (HAPE) { If (LEqual (TOI2, Zero)) { Store (^^PCI0.LPCB.PHMR (0xB8F4), Local0) And (Local0, 0xFE, Local0) ^^PCI0.LPCB.PHMW (0xB8F4, Local0) Store (Zero, Index (TSFR, Zero)) } Else { If (LEqual (TOI2, One)) { Store (^^PCI0.LPCB.PHMR (0xB8F4), Local0) Or (Local0, One, Local0) ^^PCI0.LPCB.PHMW (0xB8F4, Local0) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8300, Index (TSFR, Zero)) } } } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x0154))) { If (CECM) { Store (^^PCI0.LPCB.EC0.CECS, Index (TSFR, 0x02)) Store (One, Index (TSFR, Zero)) Store (Zero, Index (TSFR, One)) Store (One, Index (TSFR, 0x04)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x0154))) { If (CECM) { Store (One, Index (TSFR, Zero)) Store (TOI2, ^^PCI0.LPCB.INFO) If (LEqual (TOI2, Zero)) { Store (One, ^^PCI0.LPCB.EC0.CMID) Store (Zero, ^^PCI0.LPCB.EC0.PANB) Store (One, ^^PCI0.LPCB.EC0.BSCC) Store (Zero, ^^PCI0.LPCB.EC0.CECS) ^^PCI0.LPCB.PHSS (0x70) } Else { If (LEqual (TOI2, One)) { Store (Zero, ^^PCI0.LPCB.EC0.CMID) Store (Zero, ^^PCI0.LPCB.EC0.PANB) Store (One, ^^PCI0.LPCB.EC0.BSCC) Store (One, ^^PCI0.LPCB.EC0.CECS) ^^PCI0.LPCB.PHSS (0x70) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF300), LEqual (TOI1, 0x0155))) { If (CECM) { And (^^PCI0.LPCB.EC0.CNFR, One, Local0) If (LEqual (Local0, One)) { Store (One, Index (TSFR, 0x02)) } Else { Store (Zero, Index (TSFR, 0x02)) } Store (One, Index (TSFR, Zero)) Store (Zero, Index (TSFR, One)) Store (Zero, Index (TSFR, 0x04)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xF400), LEqual (TOI1, 0x0155))) { If (CECM) { Store (One, Index (TSFR, Zero)) Store (TOI2, ^^PCI0.LPCB.INFO) If (LEqual (TOI2, Zero)) { And (^^PCI0.LPCB.EC0.CNFR, 0xFE, ^^PCI0.LPCB.EC0.CNFR) ^^PCI0.LPCB.PHSS (0x71) } Else { If (LEqual (TOI2, One)) { Or (^^PCI0.LPCB.EC0.CNFR, One, ^^PCI0.LPCB.EC0.CNFR) ^^PCI0.LPCB.PHSS (0x71) } Else { Store (0x8300, Index (TSFR, Zero)) } } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x8F)), LEqual ( TOI2, 0xC1))) { If (CECM) { Or (ShiftLeft (CCMN, 0x08, Local0), CCMD, Local1) Or (ShiftLeft (CCM4, 0x10, Local0), Local1, Local2) Store (Local2, Index (TSFR, 0x02)) Store (CCM1, Index (TSFR, 0x03)) Store (CCM2, Index (TSFR, 0x04)) Store (CCM3, Index (TSFR, 0x05)) Store (^^PCI0.LPCB.EC0.REVS, Local0) And (Local0, 0x7F, ^^PCI0.LPCB.EC0.REVS) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x8F)), LEqual ( TOI2, 0xC3))) { If (CECM) { Or (ShiftLeft (CMEN, 0x18, Local0), 0x00C3008F, Local1) Store (Local1, Index (TSFR, One)) Store (CME1, Index (TSFR, 0x02)) Store (CME2, Index (TSFR, 0x03)) Store (CME3, Index (TSFR, 0x04)) Store (CME4, Index (TSFR, 0x05)) Store (^^PCI0.LPCB.EC0.REVS, Local0) And (Local0, 0xEF, ^^PCI0.LPCB.EC0.REVS) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x8F)), LEqual ( TOI2, 0xC4))) { If (CECM) { Store (^^PCI0.LPCB.EC0.SNDS, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x8F)), LEqual ( TOI2, 0xC5))) { If (CECM) { Store (^^PCI0.LPCB.EC0.REVS, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x8F)), LEqual ( TOI2, 0xC7))) { If (CECM) { Or (ShiftLeft (CEVN, 0x08, Local0), CEVD, Local1) Store (Local1, Index (TSFR, 0x02)) Store (CEV1, Index (TSFR, 0x03)) Store (CEV2, Index (TSFR, 0x04)) Store (CEV3, Index (TSFR, 0x05)) Store (^^PCI0.LPCB.EC0.REVS, Local0) And (Local0, 0xBF, ^^PCI0.LPCB.EC0.REVS) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LAnd (LEqual (TOI0, 0xFE00), LEqual (TOI1, 0x8F)), LEqual ( TOI2, 0xC8))) { If (CECM) { Store (^^PCI0.LPCB.EC0.CNFR, Index (TSFR, 0x02)) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x00C0008F))) { If (CECM) { Store (TOI2, ^^PCI0.LPCB.EC0.CMID) Store (ShiftRight (TOI2, 0x08, Local0), ^^PCI0.LPCB.EC0.PANB) Store (And (ShiftRight (Local0, 0x08, Local1), 0xFFFF), ^^PCI0.LPCB.EC0.PAE4) Store (TOI3, ^^PCI0.LPCB.EC0.PAE1) Store (TOI4, ^^PCI0.LPCB.EC0.PAE2) Store (TOI5, ^^PCI0.LPCB.EC0.PAE3) Store (One, ^^PCI0.LPCB.EC0.BSCC) Store (^^PCI0.LPCB.EC0.SNDS, Local0) And (ShiftRight (Local0, 0x04, Local1), 0x03, Local2) If (LOr (LEqual (Local2, One), LEqual (Local2, 0x02))) { Store (0x20, Index (TSFR, Zero)) } Else { Store (Zero, Index (TSFR, Zero)) } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (And (TOI1, 0x00FFFFFF), 0x00C0008F))) { If (CECM) { Store (ShiftRight (TOI1, 0x18, Local1), ^^PCI0.LPCB.EC0.CMID) Store (0x10, ^^PCI0.LPCB.EC0.PANB) Store (TOI2, ^^PCI0.LPCB.EC0.PAE1) Store (TOI3, ^^PCI0.LPCB.EC0.PAE2) Store (TOI4, ^^PCI0.LPCB.EC0.PAE3) Store (TOI5, ^^PCI0.LPCB.EC0.PAE4) Store (One, ^^PCI0.LPCB.EC0.BSCC) Store (^^PCI0.LPCB.EC0.SNDS, Local0) And (ShiftRight (Local0, 0x04, Local1), 0x03, Local2) If (LOr (LEqual (Local2, One), LEqual (Local2, 0x02))) { Store (0x20, Index (TSFR, Zero)) } Else { Store (Zero, Index (TSFR, Zero)) } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (And (TOI1, 0x00FFFFFF), 0x00C2008F))) { If (CECM) { Store (0x80, ^^PCI0.LPCB.EC0.CMID) Store (ShiftRight (TOI1, 0x18, Local1), ^^PCI0.LPCB.EC0.PANB) Store (TOI2, ^^PCI0.LPCB.EC0.PAE1) Store (TOI3, ^^PCI0.LPCB.EC0.PAE2) Store (TOI4, ^^PCI0.LPCB.EC0.PAE3) Store (TOI5, ^^PCI0.LPCB.EC0.PAE4) Store (One, ^^PCI0.LPCB.EC0.BSCC) Store (^^PCI0.LPCB.EC0.SNDS, Local0) And (ShiftRight (Local0, 0x04, Local1), 0x03, Local2) If (LOr (LEqual (Local2, One), LEqual (Local2, 0x02))) { Store (0x20, Index (TSFR, Zero)) } Else { Store (Zero, Index (TSFR, Zero)) } } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { If (LAnd (LEqual (TOI0, 0xFF00), LEqual (TOI1, 0x00C9008F))) { If (CECM) { Store (TOI2, ^^PCI0.LPCB.EC0.CNFR) Store (Zero, Index (TSFR, Zero)) } Else { Store (0x8000, Index (TSFR, Zero)) } Return (TSFR) } Else { Store (0x8000, Index (TSFR, Zero)) } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } } Return (TSFR) } Method (EXCN, 0, NotSerialized) { Store (^^PCI0.LPCB.PHMR (0x9BF8), Local1) Add (Local1, One, Local1) ^^PCI0.LPCB.PHMW (0x9BF8, Local1) } Name (CMMS, Buffer (0x1C) {}) Name (PHMA, Package (0x06) { Zero, Zero, Zero, Zero, Zero, Zero }) Name (PHMB, Package (0x06) { Zero, Zero, Zero, Zero, Zero, Zero }) Method (HMB1, 0, NotSerialized) { If (LEqual (^^PCI0.LPCB.EC0.BAL0, One)) { CreateByteField (CMMS, Zero, CPN1) CreateByteField (CMMS, One, CPN2) CreateByteField (CMMS, 0x02, CPN3) CreateByteField (CMMS, 0x03, CPN4) CreateByteField (CMMS, 0x04, CPN5) CreateByteField (CMMS, 0x05, CPN6) CreateByteField (CMMS, 0x06, CPN7) CreateByteField (CMMS, 0x07, CPN8) CreateByteField (CMMS, 0x08, CPN9) CreateByteField (CMMS, 0x09, CPNA) CreateByteField (CMMS, 0x0A, CPNB) CreateByteField (CMMS, 0x0B, CPNC) CreateByteField (CMMS, 0x0C, MN01) CreateByteField (CMMS, 0x0D, MN02) CreateByteField (CMMS, 0x0E, MN03) CreateByteField (CMMS, 0x0F, MN04) CreateByteField (CMMS, 0x10, MN05) CreateByteField (CMMS, 0x11, MN06) CreateByteField (CMMS, 0x12, MN07) CreateByteField (CMMS, 0x13, MN08) CreateByteField (CMMS, 0x14, MN09) CreateByteField (CMMS, 0x15, MN0A) CreateByteField (CMMS, 0x16, MN0B) CreateByteField (CMMS, 0x17, MN0C) CreateWordField (CMMS, 0x18, MFDA) CreateWordField (CMMS, 0x1A, SRNM) Store (^^PCI0.LPCB.PHMR (0xACF8), CPN1) Store (^^PCI0.LPCB.PHMR (0xADF8), CPN2) Store (^^PCI0.LPCB.PHMR (0xAEF8), CPN3) Store (^^PCI0.LPCB.PHMR (0xAFF8), CPN4) Store (^^PCI0.LPCB.PHMR (0xB0F8), CPN5) Store (^^PCI0.LPCB.PHMR (0xB1F8), CPN6) Store (^^PCI0.LPCB.PHMR (0xB2F8), CPN7) Store (^^PCI0.LPCB.PHMR (0xB3F8), CPN8) Store (^^PCI0.LPCB.PHMR (0xB4F8), CPN9) Store (^^PCI0.LPCB.PHMR (0xB5F8), CPNA) Store (^^PCI0.LPCB.PHMR (0xB6F8), CPNB) Store (^^PCI0.LPCB.PHMR (0xB7F8), CPNC) Store (^^PCI0.LPCB.PHMR (0xB8F8), MN01) Store (^^PCI0.LPCB.PHMR (0xB9F8), MN02) Store (^^PCI0.LPCB.PHMR (0xBAF8), MN03) Store (^^PCI0.LPCB.PHMR (0xBBF8), MN04) Store (^^PCI0.LPCB.PHMR (0xBCF8), MN05) Store (^^PCI0.LPCB.PHMR (0xBDF8), MN06) Store (^^PCI0.LPCB.PHMR (0xBEF8), MN07) Store (^^PCI0.LPCB.PHMR (0xBFF8), MN08) Store (^^PCI0.LPCB.PHMR (0xC0F8), MN09) Store (^^PCI0.LPCB.PHMR (0xC1F8), MN0A) Store (^^PCI0.LPCB.PHMR (0xC2F8), MN0B) Store (^^PCI0.LPCB.PHMR (0xC3F8), MN0C) ShiftLeft (^^PCI0.LPCB.PHMR (0xF5F4), 0x08, Local1) Or (Local1, ^^PCI0.LPCB.PHMR (0xF4F4), Local1) Store (Local1, MFDA) ShiftLeft (^^PCI0.LPCB.PHMR (0xC5F4), 0x08, Local2) Or (Local2, ^^PCI0.LPCB.PHMR (0xC4F4), Local2) Store (Local2, SRNM) Store (CMMS, Index (PHMA, Zero)) ShiftLeft (^^PCI0.LPCB.PHMR (0xC5F8), 0x08, Local0) Store (^^PCI0.LPCB.PHMR (0xC4F8), Local1) Or (Local0, Local1, Local1) ToBCD (Local1, Index (PHMA, One)) Return (PHMA) } Else { Return (PHMB) } } Method (HMB2, 0, NotSerialized) { Return (PHMB) } } } Method (HSWK, 1, NotSerialized) { If (LGreaterEqual (Arg0, 0x03)) { HTEV (0x02) } } Method (HTEV, 1, NotSerialized) { Store (PHMR (0xBFF4), Local0) If (LEqual (Local0, One)) { PHMW (0xBFF4, Zero) Sleep (0x64) Notify (HKFA, Arg0) } If (LNotEqual (PIDC (0x05), Ones)) { If (LEqual (Local0, 0x02)) { PHMW (0xBFF4, Zero) Notify (HKFB, Arg0) } If (LEqual (Local0, 0x03)) { PHMW (0xBFF4, Zero) Notify (HKFC, Arg0) } If (LEqual (Local0, 0x04)) { PHMW (0xBFF4, Zero) Notify (HKFD, Arg0) } If (LEqual (Local0, 0x05)) { PHMW (0xBFF4, Zero) Notify (HKFE, Arg0) } If (LEqual (Local0, 0x06)) { PHMW (0xBFF4, Zero) Notify (HKFF, Arg0) } } } Device (HKFA) { Name (_HID, "PNP0C32") Name (_UID, One) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x04), Ones)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (HOTS ()) } Else { Return (Zero) } } Else { Return (Zero) } } Method (GHID, 0, NotSerialized) { HTEV (0x02) Return (Buffer (One) { 0x01 }) } } Device (HKFB) { Name (_HID, "PNP0C32") Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x05), Ones)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (HOTS ()) } Else { Return (Zero) } } Else { Return (Zero) } } Method (GHID, 0, NotSerialized) { HTEV (0x02) Return (Buffer (One) { 0x02 }) } } Device (HKFC) { Name (_HID, "PNP0C32") Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x05), Ones)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (HOTS ()) } Else { Return (Zero) } } Else { Return (Zero) } } Method (GHID, 0, NotSerialized) { HTEV (0x02) Return (Buffer (One) { 0x03 }) } } Device (HKFD) { Name (_HID, "PNP0C32") Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x05), Ones)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (HOTS ()) } Else { Return (Zero) } } Else { Return (Zero) } } Method (GHID, 0, NotSerialized) { HTEV (0x02) Return (Buffer (One) { 0x04 }) } } Device (HKFE) { Name (_HID, "PNP0C32") Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x05), Ones)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (HOTS ()) } Else { Return (Zero) } } Else { Return (Zero) } } Method (GHID, 0, NotSerialized) { HTEV (0x02) Return (Buffer (One) { 0x05 }) } } Device (HKFF) { Name (_HID, "PNP0C32") Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (LNotEqual (PIDC (0x05), Ones)) { If (LGreaterEqual (OSYS, 0x07D6)) { Return (HOTS ()) } Else { Return (Zero) } } Else { Return (Zero) } } Method (GHID, 0, NotSerialized) { HTEV (0x02) Return (Buffer (One) { 0x06 }) } } Method (HOTS, 0, NotSerialized) { And (PHMR (0x2FF7), 0x0F, Local0) If (LEqual (Local0, Zero)) { Return (Zero) } Else { Return (0x0F) } } Method (EKVR, 0, NotSerialized) { Return (One) } Name (CSTT, Package (0x08) { Zero, One, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 }) Name (CADT, Package (0x08) { Zero, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70 }) Method (DOSS, 0, NotSerialized) { If (IGDS) { Store (^^^GFX0.EKTB (), Local0) Store (DerefOf (Index (Local0, Zero)), CSTE) Store (DerefOf (Index (Local0, One)), CADL) } Else { CSMI (0x02) } Name (DSPY, Zero) If (And (CSTE, One)) { Or (DSPY, One, DSPY) } If (And (CSTE, 0x02)) { Or (DSPY, 0x02, DSPY) } If (And (CSTE, 0x04)) { If (LNot (IGDS)) { Or (DSPY, 0x04, DSPY) } } If (And (CSTE, 0x08)) { Or (DSPY, 0x08, DSPY) } If (And (CSTE, 0x80)) { Or (DSPY, 0x80, DSPY) } If (And (CADL, One)) { Or (DSPY, 0x0100, DSPY) } If (And (CADL, 0x02)) { Or (DSPY, 0x0200, DSPY) } If (And (CADL, 0x04)) { If (LNot (IGDS)) { Or (DSPY, 0x0400, DSPY) } } If (And (CADL, 0x08)) { Or (DSPY, 0x0800, DSPY) } If (And (CADL, 0x80)) { Or (DSPY, 0x8000, DSPY) } Return (DSPY) } Method (DOSW, 1, NotSerialized) { If (IGDS) { ^^^GFX0.STBL (Arg0) } Else { ^^^P0P2.VGA.STBL (Arg0) } } Method (ANTW, 1, NotSerialized) { Store (ShiftRight (And (Arg0, One), Zero, Local0), WLAT) Store (ShiftRight (And (Arg0, 0x02), One, Local1), BTAT) Store (ShiftRight (And (Arg0, 0x04), 0x02, Local2), PW3G) Store (ShiftRight (And (Arg0, 0x08), 0x03, Local2), WMXS) Store (PW3G, OF3G) Return (One) } Method (ANTR, 0, NotSerialized) { Store (Zero, Local1) Or (ShiftLeft (WLAT, Zero, Local0), Local1, Local1) Or (ShiftLeft (BTAT, One, Local0), Local1, Local1) Or (ShiftLeft (WLEX, 0x02, Local0), Local1, Local1) Or (ShiftLeft (BTEX, 0x03, Local0), Local1, Local1) Or (ShiftLeft (KLSW, 0x04, Local0), Local1, Local1) Or (ShiftLeft (ID3G, 0x05, Local0), Local1, Local1) Or (ShiftLeft (PW3G, 0x06, Local0), Local1, Local1) Or (ShiftLeft (WMXD, 0x07, Local0), Local1, Local1) Or (ShiftLeft (WMXS, 0x08, Local0), Local1, Local1) Return (Local1) } Method (TPAF, 2, NotSerialized) { If (LAnd (LGreaterEqual (OSYS, 0x07D1), LLessEqual (OSYS, 0x07D2))) { Store (Arg0, PPCA) Store (Arg1, PPCD) OPPC () Notify (\_PR.CPU0, 0x80) Notify (\_PR.CPU1, 0x80) Notify (\_PR.CPU2, 0x80) Notify (\_PR.CPU3, 0x80) Notify (\_PR.CPU4, 0x80) Notify (\_PR.CPU5, 0x80) Notify (\_PR.CPU6, 0x80) Notify (\_PR.CPU7, 0x80) } Return (Arg0) } Scope (\_SB) { Name (PPCA, Zero) Name (PPCD, Zero) Method (OPPC, 0, NotSerialized) { If (LAnd (LGreaterEqual (OSYS, 0x07D1), LLessEqual (OSYS, 0x07D2))) { If (LAnd (And (CFGD, One), And (PDC0, One))) { If (LEqual (^PCI0.LPCB.ACAD._PSR (), Zero)) { Store (PPCD, \_PR.CPU0._PPC) } Else { Store (PPCA, \_PR.CPU0._PPC) } } } } } Device (ALSD) { Name (_HID, "ACPI0008") Method (_STA, 0, NotSerialized) { If (ALEX) { Return (0x0F) } Else { Return (Zero) } } Method (_ALI, 0, NotSerialized) { Store (Or (ShiftLeft (PHMR (0x33F4), 0x08), PHMR (0x32F4)), Local0) If (LGreaterEqual (Local0, 0xBF)) { Return (0xBF) } Else { If (LGreaterEqual (Local0, 0x37)) { Return (0x37) } Else { If (LGreaterEqual (Local0, 0x15)) { Return (0x15) } Else { If (LGreaterEqual (Local0, 0x09)) { Return (0x09) } Else { If (LGreaterEqual (Local0, 0x04)) { Return (0x04) } Else { If (LGreaterEqual (Local0, 0x03)) { Return (0x03) } Else { If (LGreaterEqual (Local0, 0x02)) { Return (0x02) } Else { Return (One) } } } } } } } } Name (_ALR, Package (0x08) { Package (0x02) { Zero, One }, Package (0x02) { 0x0E, 0x02 }, Package (0x02) { 0x1C, 0x03 }, Package (0x02) { 0x2B, 0x04 }, Package (0x02) { 0x39, 0x09 }, Package (0x02) { 0x47, 0x15 }, Package (0x02) { 0x56, 0x37 }, Package (0x02) { 0x64, 0xBF } }) } } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { _SB }) Method (_PSR, 0, NotSerialized) { If (ECOK ()) { Store (^^EC0.ADPT, Local0) Sleep (0x0A) Return (Local0) } Else { Store (One, ACPW) Sleep (0x0A) If (LGreaterEqual (OSYS, 0x07D6)) { Return (ACPW) } Else { Return (Not (ACPW)) } } } } 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 (HPET) { Name (_HID, EisaId ("PNP0103")) Name (_UID, Zero) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) Method (_STA, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D1)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, Serialized) { If (HPAE) { CreateDWordField (BUF0, 0x04, HPT0) If (LEqual (HPAS, One)) { Store (0xFED01000, HPT0) } If (LEqual (HPAS, 0x02)) { Store (0xFED02000, HPT0) } If (LEqual (HPAS, 0x03)) { Store (0xFED03000, HPT0) } } Return (BUF0) } } Device (IPIC) { 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 (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) 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, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // 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, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x006C, // Range Minimum 0x006C, // 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, 0x1000, // Range Minimum 0x1000, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x1004, // Range Minimum 0x1004, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // 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, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFF2C, // Range Minimum 0xFF2C, // Range Maximum 0x01, // Alignment 0x54, // Length ) }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, 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} }) } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, One) Name (_PCL, Package (0x01) { _SB }) Name (BMDL, Zero) Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (^^EC0.BAL0) { Sleep (0x14) Return (0x1F) } Else { Sleep (0x14) Return (0x0F) } } Else { Sleep (0x14) Return (0x1F) } } Method (_BIF, 0, NotSerialized) { Name (STAT, Package (0x0D) { One, 0x1770, 0x1770, One, 0x2A30, 0x0258, 0xB4, 0x0108, 0x0EC4, "PA3533U ", "41167", "Li-Ion", "COMPAL " }) Name (CMMA, Buffer (0x0C) {}) CreateByteField (CMMA, Zero, APN1) CreateByteField (CMMA, One, APN2) CreateByteField (CMMA, 0x02, APN3) CreateByteField (CMMA, 0x03, APN4) CreateByteField (CMMA, 0x04, APN5) CreateByteField (CMMA, 0x05, APN6) CreateByteField (CMMA, 0x06, APN7) CreateByteField (CMMA, 0x07, APN8) CreateByteField (CMMA, 0x08, APN9) CreateByteField (CMMA, 0x09, Z000) CreateByteField (CMMA, 0x0A, Z001) CreateByteField (CMMA, 0x0B, Z002) Store (PHMR (0xACF8), APN1) Store (PHMR (0xADF8), APN2) Store (PHMR (0xAEF8), APN3) Store (PHMR (0xAFF8), APN4) Store (PHMR (0xB0F8), APN5) Store (PHMR (0xB1F8), APN6) Store (PHMR (0xB2F8), APN7) Store (PHMR (0xB3F8), APN8) Store (PHMR (0xB4F8), APN9) Store (PHMR (0xB5F8), Z000) Store (PHMR (0xB6F8), Z001) Store (PHMR (0xB7F8), Z002) Store (CMMA, Index (STAT, 0x09)) If (ECOK ()) { Store (^^EC0.BDN0, Local0) Store (Local0, BMDL) Store (^^EC0.BFC0, BFC1) Sleep (0x14) Store (^^EC0.BDC0, Index (STAT, One)) Sleep (0x14) Store (^^EC0.BDV0, Index (STAT, 0x04)) Sleep (0x14) } Else { Store ("Li-Ion", Index (STAT, 0x0B)) Store (BFC1, Index (STAT, One)) } If (BFC1) { Divide (BFC1, 0x64, Local0, Local1) Multiply (Local1, 0x0A, Local1) Store (Local1, Index (STAT, 0x05)) Divide (BFC1, 0x64, Local0, Local1) Multiply (Local1, 0x03, Local1) Store (Local1, Index (STAT, 0x06)) Store (BFC1, Index (STAT, 0x02)) } Return (STAT) } Method (_BST, 0, NotSerialized) { Name (PBST, Package (0x04) { Zero, 0xFFFFFFFF, 0xFFFFFFFF, 0x2A30 }) Store (0x2A30, Local3) If (ECOK ()) { Sleep (0x14) Store (^^EC0.BST0, BST1) Sleep (0x14) Store (^^EC0.BAC0, Local4) Subtract (0xFFFF, Local4, Local4) Sleep (0x14) Store (^^EC0.BRC0, Local2) Sleep (0x14) Store (^^EC0.BPV0, Local3) Sleep (0x14) } Store (BST1, Index (PBST, Zero)) Store (Local4, Index (PBST, One)) Store (Local2, Index (PBST, 0x02)) Store (Local3, Index (PBST, 0x03)) If (ECOK ()) { If (LNotEqual (^^EC0.BDN0, BMDL)) { Notify (BAT1, 0x81) } } Return (PBST) } } OperationRegion (SMI0, SystemIO, 0x0800, 0x10) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x9B787E18, 0x0006) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 8 } Mutex (PSMX, 0x00) Method (PHSS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x80, BCMD) Store (Arg0, DID) Store (Zero, SMIC) Release (PSMX) } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) } Device (PS2M) { Method (_HID, 0, NotSerialized) { Return (PIDC (0xA0)) } Name (_CID, Package (0x03) { EisaId ("SYN0700"), EisaId ("SYN0002"), EisaId ("PNP0F13") }) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IRQNoFlags () {12} } EndDependentFn () }) } } Device (EHC1) { Name (_ADR, 0x001D0000) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (One, ^^LPCB.EC0.UWAK) } } } Device (USB1) { Name (_ADR, 0x001D0001) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } Device (PRT2) { Name (_ADR, 0x02) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } } Name (_PRW, Package (0x02) { 0x03, 0x03 }) } Device (USB2) { Name (_ADR, 0x001D0002) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } Device (PRT2) { Name (_ADR, 0x02) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } } Name (_PRW, Package (0x02) { 0x04, 0x03 }) } Device (USB3) { Name (_ADR, 0x001D0003) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } Device (PRT2) { Name (_ADR, 0x02) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } } } Device (USB4) { Name (_ADR, 0x001D0004) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } Device (PRT2) { Name (_ADR, 0x02) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) } Device (EHC2) { Name (_ADR, 0x001A0000) Name (_PRW, Package (0x02) { 0x0D, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (One, ^^LPCB.EC0.UWAK) } } } Device (USB5) { Name (_ADR, 0x001A0001) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } Device (PRT2) { Name (_ADR, 0x02) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } } Name (_PRW, Package (0x02) { 0x05, 0x03 }) } Device (USB6) { Name (_ADR, 0x001A0002) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } Device (PRT2) { Name (_ADR, 0x02) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } } Name (_PRW, Package (0x02) { 0x20, 0x03 }) } Device (USB7) { Name (_ADR, 0x001A0003) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) Store (One, ^^LPCB.EC0.UWAK) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } Device (PRT2) { Name (_ADR, 0x02) Method (_DSM, 4, Serialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x8F, 0x70, 0xFC, 0xA5, 0x75, 0x87, 0xA6, 0x4B, /* 0008 */ 0xBD, 0x0C, 0xBA, 0x90, 0xA1, 0xEC, 0x72, 0xF8 })) { Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Name (_T_1, Zero) Store (ToInteger (Arg1), _T_1) If (LEqual (_T_1, One)) { Return (Buffer (One) { 0x07 }) } Else { Return (Buffer (One) { 0x00 }) } } Else { If (LEqual (_T_0, One)) { Return (One) } Else { If (LEqual (_T_0, 0x02)) { Return (SDGV) } Else { Return (Zero) } } } } Else { Return (Zero) } } } } Name (_PRW, Package (0x02) { 0x25, 0x03 }) } Device (HDEF) { Name (_ADR, 0x001B0000) OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), , 15, PMES, 1 } Name (_PRW, Package (0x02) { 0x0D, 0x03 }) } Device (RP01) { Name (_ADR, 0x001C0000) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x05 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (One, ^^^LPCB.EC0.PWAK) } Else { Store (Zero, ^^^LPCB.EC0.PWAK) } } } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR04 ()) } Return (PR04 ()) } } Device (RP02) { Name (_ADR, 0x001C0001) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Method (_PRW, 0, NotSerialized) { If (WWLN) { Return (Package (0x02) { 0x09, 0x03 }) } Else { Return (Package (0x02) { 0x09, Zero }) } } } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR05 ()) } Return (PR05 ()) } } Device (RP03) { Name (_ADR, 0x001C0002) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_RMV, One) Name (_PRW, Package (0x02) { 0x09, 0x03 }) } Name (_PRW, Package (0x02) { 0x09, 0x03 }) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR06 ()) } Return (PR06 ()) } } Device (RP04) { Name (_ADR, 0x001C0003) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR07 ()) } Return (PR07 ()) } } Device (RP05) { Name (_ADR, 0x001C0004) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR08 ()) } Return (PR08 ()) } } Device (RP07) { Name (_ADR, 0x001C0006) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR0E) } Return (PR0E) } } Device (RP08) { Name (_ADR, 0x001C0007) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1, , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR0F) } Return (PR0F) } } Device (IO10) { Name (_ADR, 0x00080000) OperationRegion (IBUS, PCI_Config, 0xD0, 0xE0) Field (IBUS, DWordAcc, NoLock, Preserve) { , 26, TOLM, 6, , 26, TOHM, 38, Offset (0xB0), VTEN, 1, , 11, VTBA, 20 } } Device (IO1X) { Name (_ADR, 0x00080001) OperationRegion (PBIC, PCI_Config, Zero, 0xF0) Field (PBIC, DWordAcc, NoLock, Preserve) { Offset (0x7C), SR0, 32, SR1, 32, SR2, 32, SR3, 32, SR4, 32, SR5, 32, SR6, 32, SR7, 32, SR8, 32, SR9, 32 } } Device (IIO0) { Name (_ADR, 0x00140000) OperationRegion (IBUS, PCI_Config, 0xD0, 0xE0) Field (IBUS, DWordAcc, NoLock, Preserve) { , 26, TOLM, 6, , 26, TOHM, 38, Offset (0xB0), VTEN, 1, , 11, VTBA, 20 } } Device (IIOX) { Name (_ADR, 0x00140001) OperationRegion (PBIC, PCI_Config, Zero, 0xF0) Field (PBIC, DWordAcc, NoLock, Preserve) { Offset (0x7C), SR0, 32, SR1, 32, SR2, 32, SR3, 32, SR4, 32, SR5, 32, SR6, 32, SR7, 32, SR8, 32, SR9, 32 } } Device (PEG3) { Name (_ADR, 0x00030000) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR0A ()) } Return (PR0A ()) } } Device (PEG4) { Name (_ADR, 0x00040000) } Device (PEG5) { Name (_ADR, 0x00050000) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR0C) } Return (PR0C) } } Device (PEG6) { Name (_ADR, 0x00060000) } } } Scope (_PR) { Processor (CPU0, 0x01, 0x00000410, 0x06) {} Processor (CPU1, 0x02, 0x00000410, 0x06) {} Processor (CPU2, 0x03, 0x00000410, 0x06) {} Processor (CPU3, 0x04, 0x00000410, 0x06) {} Processor (CPU4, 0x05, 0x00000410, 0x06) {} Processor (CPU5, 0x06, 0x00000410, 0x06) {} Processor (CPU6, 0x07, 0x00000410, 0x06) {} Processor (CPU7, 0x08, 0x00000410, 0x06) {} } Mutex (MUTX, 0x00) 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) } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8 } Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) Store (Arg0, PICM) } Method (_PTS, 1, NotSerialized) { Store (Zero, P80D) P8XH (Zero, Arg0) If (LEqual (Arg0, 0x03)) { Add (MARK, One, MARK) } Store (Zero, \_SB.PCI0.LPCB.EC0.BTPW) Store (Zero, BTRS) Store (Zero, BTPR) Store (Zero, OF3G) If (LNotEqual (PIDC (0x02), Ones)) { If (\_SB.PCI0.LPCB.EC0.BTSW) { Store (Zero, FCPW) } } If (LEqual (Arg0, 0x04)) { Store (\_SB.PCI0.LPCB.PHMR (0x9EF4), Local0) Or (Local0, One, Local0) \_SB.PCI0.LPCB.PHMW (0x9EF4, Local0) \_SB.PCI0.LPCB.PHSS (0x0E) } If (LEqual (TCGM, One)) {} } Method (_WAK, 1, Serialized) { P8XH (One, 0xAB) If (LNotEqual (PIDC (0x10), Ones)) { If (LEqual (RP3D, Zero)) { Notify (\_SB.PCI0.RP03, Zero) } } If (LEqual (RP5D, Zero)) { Notify (\_SB.PCI0.RP05, Zero) } If (NEXP) { If (And (OSCC, 0x02)) { \_SB.PCI0.NHPG () } If (And (OSCC, 0x04)) { \_SB.PCI0.NPME () } } If (LEqual (Arg0, 0x03)) { P8XH (Zero, 0x30) } If (LEqual (Arg0, 0x04)) { P8XH (Zero, 0x40) Store (\_SB.PCI0.LPCB.PHMR (0x9EF4), Local0) Or (Local0, 0x02, Local0) \_SB.PCI0.LPCB.PHMW (0x9EF4, Local0) \_SB.PCI0.LPCB.PHSS (0x0F) If (LLess (OSYS, 0x07D6)) { Notify (\_SB.PWRB, 0x02) } } If (\_SB.PCI0.LPCB.EC0.KLSW) { Store (\_SB.PCI0.LPCB.EC0.PW3G, OF3G) } Else { Store (Zero, OF3G) } If (LNotEqual (PIDC (0x02), Ones)) { Store (\_SB.PCI0.LPCB.EC0.BTSW, FCPW) } \_SB.PCI0.LPCB.EC0.HSWK (Arg0) If (LNotEqual (PIDC (0x15), Ones)) { If (LEqual (And (\_SB.PCI0.LPCB.PHMR (0x02F4), 0x02), 0x02)) { \_SB.VALZ.ODPO (One) } Else { If (LEqual (And (\_SB.PCI0.LPCB.PHMR (0x02F4), 0x02), Zero)) { \_SB.VALZ.ODPO (Zero) } } } Return (Package (0x02) { Zero, Zero }) } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) } Method (PNOT, 0, Serialized) { If (LGreater (TCNT, One)) { If (And (PDC0, 0x08)) { Notify (\_PR.CPU0, 0x80) If (And (PDC0, 0x10)) { Sleep (0x64) Notify (\_PR.CPU0, 0x81) } } If (And (PDC1, 0x08)) { Notify (\_PR.CPU1, 0x80) If (And (PDC1, 0x10)) { Sleep (0x64) Notify (\_PR.CPU1, 0x81) } } If (And (PDC2, 0x08)) { Notify (\_PR.CPU2, 0x80) If (And (PDC2, 0x10)) { Sleep (0x64) Notify (\_PR.CPU2, 0x81) } } If (And (PDC3, 0x08)) { Notify (\_PR.CPU3, 0x80) If (And (PDC3, 0x10)) { Sleep (0x64) Notify (\_PR.CPU3, 0x81) } } If (And (PDC4, 0x08)) { Notify (\_PR.CPU4, 0x80) If (And (PDC4, 0x10)) { Sleep (0x64) Notify (\_PR.CPU4, 0x81) } } If (And (PDC5, 0x08)) { Notify (\_PR.CPU5, 0x80) If (And (PDC5, 0x10)) { Sleep (0x64) Notify (\_PR.CPU5, 0x81) } } If (And (PDC6, 0x08)) { Notify (\_PR.CPU6, 0x80) If (And (PDC6, 0x10)) { Sleep (0x64) Notify (\_PR.CPU6, 0x81) } } If (And (PDC7, 0x08)) { Notify (\_PR.CPU7, 0x80) If (And (PDC7, 0x10)) { Sleep (0x64) Notify (\_PR.CPU7, 0x81) } } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) } } 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) } Scope (_SB.PCI0) { Method (_INI, 0, NotSerialized) { Store (0x07D0, OSYS) If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (0x03E8, 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 (_OSI ("Windows 2009")) { Store (0x07D9, OSYS) } } } Method (NHPG, 0, Serialized) { Store (Zero, ^RP01.HPEX) Store (Zero, ^RP02.HPEX) Store (Zero, ^RP03.HPEX) Store (Zero, ^RP04.HPEX) Store (One, ^RP01.HPSX) Store (One, ^RP02.HPSX) Store (One, ^RP03.HPSX) Store (One, ^RP04.HPSX) } Method (NPME, 0, Serialized) { Store (Zero, ^RP01.PMEX) Store (Zero, ^RP02.PMEX) Store (Zero, ^RP03.PMEX) Store (Zero, ^RP04.PMEX) Store (Zero, ^RP05.PMEX) Store (Zero, ^RP07.PMEX) Store (Zero, ^RP08.PMEX) Store (One, ^RP01.PMSX) Store (One, ^RP02.PMSX) Store (One, ^RP03.PMSX) Store (One, ^RP04.PMSX) Store (One, ^RP05.PMSX) Store (One, ^RP07.PMSX) Store (One, ^RP08.PMSX) } } Scope (\) { Name (PICM, Zero) } Scope (_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, One) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFED90000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED45000, // Address Base 0x0004B000, // Address Length ) Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length ) }) Method (_CRS, 0, Serialized) { CreateDWordField (BUF0, 0x04, RBR0) ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0) If (LEqual (^^TMRP.TRID, 0x3B32)) { CreateDWordField (BUF0, 0x4C, TMB0) ShiftLeft (^^TMRP.TARB, 0x0C, TMB0) } Else { Store (Zero, TTDR) CreateDWordField (BUF0, 0x40, TMR1) ShiftLeft (^^TMRP.TBAR, 0x0C, TMR1) CreateDWordField (BUF0, 0x4C, TMB1) ShiftLeft (^^TMRP.TARB, 0x0C, TMB1) Store (One, TTDR) } If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { CreateDWordField (BUF0, 0x14, MBLN) Store (Zero, MBLN) } Else { CreateDWordField (BUF0, 0x10, MBR0) ShiftLeft (MHBR, 0x0E, MBR0) } CreateDWordField (BUF0, 0x1C, DBR0) ShiftLeft (DIBR, 0x0C, DBR0) If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { ShiftLeft (DIBI, 0x0C, DBR0) } If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { CreateDWordField (BUF0, 0x2C, EBLN) Store (Zero, EBLN) } Else { CreateDWordField (BUF0, 0x28, EBR0) ShiftLeft (EPBR, 0x0C, EBR0) } CreateDWordField (BUF0, 0x34, XBR0) ShiftLeft (^^^CPBG.IMCH.PXBR, 0x14, XBR0) CreateDWordField (BUF0, 0x38, XSZ0) ShiftRight (0x10000000, ^^^CPBG.IMCH.PXSZ, XSZ0) CreateDWordField (BUF0, 0x64, VTB0) CreateDWordField (BUF0, 0x68, VTLN) If (Or (LEqual (And (PNHM, 0x000FFFF0), 0x000106E0), LEqual (And ( PNHM, 0x000FFFF0), 0x000106A0))) { If (LGreaterEqual (PNHM, 0x000106E1)) { If (^^IO10.VTEN) { ShiftLeft (^^IO10.VTBA, 0x0C, VTB0) } Else { Store (Zero, VTLN) } } Else { If (^^IIO0.VTEN) { ShiftLeft (^^IIO0.VTBA, 0x0C, VTB0) } Else { Store (Zero, VTLN) } } } Else { If (ADVE) { ShiftLeft (ADVT, 0x0C, VTB0) } Else { Store (Zero, VTLN) } } Return (BUF0) } } } Method (BRTN, 1, Serialized) { If (LEqual (And (DID1, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD01, Arg0) } If (LEqual (And (DID2, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD02, Arg0) } If (LEqual (And (DID3, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD03, Arg0) } If (LEqual (And (DID4, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD04, Arg0) } If (LEqual (And (DID5, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD05, Arg0) } If (LEqual (And (DID6, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD06, Arg0) } If (LEqual (And (DID7, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD07, Arg0) } If (LEqual (And (DID8, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD08, Arg0) } } Scope (\) { OperationRegion (IO_T, SystemIO, 0x1004, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { TRPI, 16, 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, 0x1000, 0x04) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (IO_H, SystemIO, 0x1000, 0x04) Field (IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8 } OperationRegion (PMIO, SystemIO, 0x0400, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x20), , 2, SPST, 1, Offset (0x42), , 1, GPEC, 1, Offset (0x64), , 9, SCIS, 1, Offset (0x66) } OperationRegion (GPIO, SystemIO, GPBS, 0x64) Field (GPIO, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), HDMS, 1, Offset (0x0D), GL01, 8, , 1, OF3G, 1, , 4, BTEN, 1, FCPW, 1, , 3, GP27, 1, GP28, 1, , 2, ACPW, 1, Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), HDHP, 1, Offset (0x2D), , 3, LPOL, 1, Offset (0x2E), GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GL06, 8, GU07, 8, GIO4, 8, GIO5, 8, , 4, ODIO, 1, Offset (0x37), GIO7, 8, , 2, BTPR, 1, BTRS, 1, , 1, , 1, Offset (0x39), GL05, 8, , 4, ODDE, 1, Offset (0x3B), GL07, 8, Offset (0x40), GU08, 8, GU09, 8, GU0A, 8, GU0B, 8, GIO8, 8, GIO9, 8, GIOA, 8, GIOB, 8, , 3, UWBP, 1, Offset (0x49), GL09, 8, GL0A, 8, GL0B, 8 } OperationRegion (RCRB, SystemMemory, SRCB, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x3000), Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, , 1, SATD, 1, SMBD, 1, HDAD, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, RP5D, 1, RP6D, 1, RP7D, 1, RP8D, 1, TTDR, 1 } Method (GETP, 1, Serialized) { If (LEqual (And (Arg0, 0x09), Zero)) { Return (0xFFFFFFFF) } 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 (LAnd (Arg1, Arg4)) { Return (0x14) } If (LAnd (Arg2, Arg4)) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (0xFFFFFFFF) } 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.PCI0) { Device (SAT0) { Name (_ADR, 0x001F0002) OperationRegion (SACA, PCI_Config, Zero, 0x40) Field (SACA, DWordAcc, NoLock, Preserve) { VEN1, 8, VEN2, 8, DEV1, 8, DEV2, 8, Offset (0x08), RVID, 8, Offset (0x2C), SVD1, 8, SVD2, 8, SSD1, 8, SSD2, 8 } 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 (POR1) { Name (_ADR, One) } Device (POR2) { Name (_ADR, 0x02) } Device (POR3) { Name (_ADR, 0x03) } Device (POR4) { Name (_ADR, 0x0004FFFF) Method (_EJ0, 1, NotSerialized) { ^^^^VALZ.ODPO (One) } Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x1C, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00 }) } Device (DEV4) { Name (_ADR, 0x04) Device (ODDP) { Name (_ADR, Zero) Method (_EJ0, 1, NotSerialized) { ^^^^^VALZ.ODPO (One) } Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x1C, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00 }) } } } Device (SAT1) { Name (_ADR, 0x001F0005) OperationRegion (SACA, PCI_Config, Zero, 0x40) Field (SACA, DWordAcc, NoLock, Preserve) { VEN1, 8, VEN2, 8, DEV1, 8, DEV2, 8, Offset (0x08), RVID, 8, Offset (0x2C), SVD1, 8, SVD2, 8, SSD1, 8, SSD2, 8 } 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 (IDE1) { Name (_ADR, Zero) Name (SPTM, Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) Method (_GTM, 0, NotSerialized) { Return (SPTM) } Method (_STM, 3, NotSerialized) { Store (Arg0, SPTM) } Device (P_D0) { Name (_ADR, Zero) Method (_EJ0, 1, NotSerialized) { ^^^^^VALZ.ODPO (One) Sleep (0x64) Notify (VALZ, 0x80) } Name (_PLD, Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x30, 0x1C, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00 }) } Device (P_D1) { Name (_ADR, One) } } Device (SECD) { Name (_ADR, One) Name (SPTM, Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) Method (_GTM, 0, NotSerialized) { Return (SPTM) } Method (_STM, 3, NotSerialized) { Store (Arg0, SPTM) } Device (S_D0) { Name (_ADR, Zero) } Device (S_D1) { Name (_ADR, One) } } } Device (SBUS) { Name (_ADR, 0x001F0003) OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) Field (SMBP, DWordAcc, NoLock, Preserve) { , 2, I2CE, 1 } OperationRegion (SMPB, PCI_Config, 0x20, 0x04) Field (SMPB, DWordAcc, NoLock, Preserve) { , 5, SBAR, 11 } OperationRegion (SMBI, SystemIO, ShiftLeft (SBAR, 0x05), 0x10) Field (SMBI, ByteAcc, NoLock, Preserve) { HSTS, 8, Offset (0x02), HCON, 8, HCOM, 8, TXSA, 8, DAT0, 8, DAT1, 8, HBDR, 8, PECR, 8, RXSA, 8, SDAT, 16 } Method (SSXB, 2, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (0x44, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (Arg2, DAT0) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) And (Arg2, 0xFF, DAT1) And (ShiftRight (Arg2, 0x08), 0xFF, DAT0) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (Or (ShiftLeft (DAT0, 0x08), DAT1)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } Store (Arg3, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (SizeOf (Arg2), DAT0) Store (Zero, Local1) Store (DerefOf (Index (Arg2, Zero)), HBDR) Store (0x54, HCON) While (LGreater (SizeOf (Arg2), Local1)) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (0x80, HSTS) Increment (Local1) If (LGreater (SizeOf (Arg2), Local1)) { Store (DerefOf (Index (Arg2, Local1)), HBDR) } } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } Store (Arg2, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x54, HCON) Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (DAT0, Index (TBUF, Zero)) Store (0x80, HSTS) Store (One, Local1) While (LLess (Local1, DerefOf (Index (TBUF, Zero)))) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (HBDR, Index (TBUF, Local1)) Store (0x80, HSTS) Increment (Local1) } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (TBUF) } Return (Zero) } Method (STRT, 0, Serialized) { Store (0xC8, Local0) While (Local0) { If (And (HSTS, 0x40)) { Decrement (Local0) Sleep (One) If (LEqual (Local0, Zero)) { Return (One) } } Else { Store (Zero, Local0) } } Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, 0x02)) { Return (One) } Else { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { Or (HCON, 0x02, HCON) Or (HSTS, 0xFF, HSTS) } } Device (TMRP) { Name (_ADR, 0x001F0006) OperationRegion (TRCS, PCI_Config, Zero, 0x50) Field (TRCS, DWordAcc, NoLock, Preserve) { Offset (0x02), TRID, 16, Offset (0x10), SPTP, 1, , 11, TBAR, 20, Offset (0x40), SPEN, 1, , 11, TARB, 20 } } } Scope (_GPE) { Method (_L01, 0, NotSerialized) { Add (L01C, One, L01C) P8XH (Zero, One) P8XH (One, L01C) If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { Store (One, \_SB.PCI0.RP01.PDCX) Store (One, \_SB.PCI0.RP01.HPSX) Notify (\_SB.PCI0.RP01, Zero) } Else { Store (One, \_SB.PCI0.RP01.HPSX) } } If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { Store (One, \_SB.PCI0.RP02.PDCX) Store (One, \_SB.PCI0.RP02.HPSX) Notify (\_SB.PCI0.RP02, Zero) } Else { Store (One, \_SB.PCI0.RP02.HPSX) } } If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { If (\_SB.PCI0.RP03.PDSX) { \_SB.VALZ.EXCN () } Store (One, \_SB.PCI0.RP03.PDCX) Store (One, \_SB.PCI0.RP03.HPSX) Notify (\_SB.PCI0.RP03, Zero) } Else { Store (One, \_SB.PCI0.RP03.HPSX) } } If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { Store (One, \_SB.PCI0.RP04.PDCX) Store (One, \_SB.PCI0.RP04.HPSX) Notify (\_SB.PCI0.RP04, Zero) } Else { Store (One, \_SB.PCI0.RP04.HPSX) } } If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP05.PDCX) { Store (One, \_SB.PCI0.RP05.PDCX) Store (One, \_SB.PCI0.RP05.HPSX) Sleep (0x64) If (\_SB.PCI0.RP05.PDSX) { \_SB.CSMI (Zero) } Notify (\_SB.PCI0.RP05, Zero) } Else { Store (One, \_SB.PCI0.RP05.HPSX) } } If (LAnd (LEqual (RP7D, Zero), \_SB.PCI0.RP07.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP07.PDCX) { Store (One, \_SB.PCI0.RP07.PDCX) Store (One, \_SB.PCI0.RP07.HPSX) } Else { Store (One, \_SB.PCI0.RP07.HPSX) } } If (LAnd (LEqual (RP8D, Zero), \_SB.PCI0.RP08.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP08.PDCX) { Store (One, \_SB.PCI0.RP08.PDCX) Store (One, \_SB.PCI0.RP08.HPSX) } Else { Store (One, \_SB.PCI0.RP08.HPSX) } } } Method (_L02, 0, NotSerialized) { Store (Zero, GPEC) If (CondRefOf (\_SB.PCI0.IEIT.EITV)) { \_SB.PCI0.IEIT.EITV () } If (CondRefOf (TNOT)) { TNOT () } } Method (_L06, 0, NotSerialized) { If (LAnd (\_SB.PCI0.GFX0.GSSE, LNot (GSMI))) { \_SB.PCI0.GFX0.GSCI () } } Method (_L07, 0, NotSerialized) { } Mutex (CECG, 0x00) Method (_L10, 0, NotSerialized) { Acquire (CECG, 0xFFFF) Not (HDHP, HDHP) Or (0x1580, HDMS, CEEV) Store (One, \_SB.VALZ.CECF) Notify (\_SB.VALZ, 0x80) Release (CECG) } Method (_L15, 0, NotSerialized) { P8XH (Zero, 0xA1) } Method (_L1B, 0, NotSerialized) { Not (LPOL, LPOL) Notify (\_SB.LID0, 0x80) } Method (_L09, 0, NotSerialized) { If (\_SB.PCI0.RP01.PSPX) { Store (One, \_SB.PCI0.RP01.PSPX) Store (One, \_SB.PCI0.RP01.PMSX) } Notify (\_SB.PCI0.RP01, 0x02) Notify (\_SB.PCI0.RP02, 0x02) Notify (\_SB.PCI0.RP03, 0x02) Notify (\_SB.PCI0.RP04, 0x02) Notify (\_SB.PCI0.RP05, 0x02) Notify (\_SB.PCI0.RP07, 0x02) Notify (\_SB.PCI0.RP08, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.EHC1, 0x02) Notify (\_SB.PCI0.EHC2, 0x02) Notify (\_SB.PCI0.HDEF, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB4, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB5, 0x02) } Method (_L20, 0, NotSerialized) { Notify (\_SB.PCI0.USB6, 0x02) } Method (_L25, 0, NotSerialized) { Notify (\_SB.PCI0.USB7, 0x02) } } Scope (_SB) { Device (CPBG) { Name (_HID, EisaId ("PNP0A03")) Name (_UID, 0xFF) Method (_BBN, 0, NotSerialized) { Return (Subtract (ShiftRight (PELN, 0x14), One)) } Name (_ADR, Zero) Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x00FF, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0001, // Length ,, ) }) Method (_CRS, 0, Serialized) { CreateWordField (BUF0, 0x08, PBMN) Store (Subtract (ShiftRight (PELN, 0x14), One), PBMN) CreateWordField (BUF0, 0x0A, PBMX) Store (Subtract (ShiftRight (PELN, 0x14), One), PBMX) Return (BUF0) } Device (IMCH) { Name (_ADR, One) OperationRegion (PBUS, PCI_Config, Zero, 0xC0) Field (PBUS, DWordAcc, NoLock, Preserve) { Offset (0x40), , 4, PM0H, 2, Offset (0x41), PM1L, 2, , 2, PM1H, 2, Offset (0x42), PM2L, 2, , 2, PM2H, 2, Offset (0x43), PM3L, 2, , 2, PM3H, 2, Offset (0x44), PM4L, 2, , 2, PM4H, 2, Offset (0x45), PM5L, 2, , 2, PM5H, 2, Offset (0x46), PM6L, 2, , 2, PM6H, 2, Offset (0x47), Offset (0x48), , 7, HENA, 1, Offset (0x50), PXEN, 1, PXSZ, 2, , 17, PXBR, 12 } } } } Scope (_SB) { OperationRegion (ASMI, SystemIO, 0xB2, 0x02) Field (ASMI, ByteAcc, NoLock, Preserve) { APMC, 8, APMD, 8 } Mutex (CSMX, 0x00) Method (CSMI, 1, NotSerialized) { Acquire (CSMX, 0xFFFF) Store (Arg0, APMD) Store (0xEE, APMC) Release (CSMX) } } Scope (_SB.PCI0.EHC1) { Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Device (USBF) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device (USBG) { Name (_ADR, 0x07) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device (USBH) { Name (_ADR, 0x08) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } } } } Scope (_SB.PCI0.EHC2) { Device (RHUB) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) Name (_UPC, Package (0x04) { Zero, 0xFF, Zero, Zero }) Device (USBA) { Name (_ADR, One) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device (USBB) { Name (_ADR, 0x02) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device (USBC) { Name (_ADR, 0x03) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device (USBD) { Name (_ADR, 0x04) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device (USBE) { Name (_ADR, 0x05) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } Device (USBF) { Name (_ADR, 0x06) Name (_UPC, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Buffer (0x10) { 0x81, 0x00, 0x30, 0x00 }) } } } } Scope (_SB.PCI0) { Name (OTM, "OTMACPI 2009-Nov-12 18:18:51") } Scope (_SB.PCI0.P0P2) { OperationRegion (RPCI, SystemMemory, 0xE0008000, 0x1000) Field (RPCI, DWordAcc, Lock, Preserve) { Offset (0xB0), ASPM, 2, , 2, LNKD, 1, Offset (0x214), Offset (0x216), LNKS, 4, Offset (0x224), Offset (0x225), DQDA, 1, Offset (0xC28), HCLQ, 1, Offset (0xC34), , 30, PEDQ, 1, PIDQ, 1, Offset (0xDFC), PEPO, 3, Offset (0xE08), , 31, ROE0, 1, Offset (0xE28), , 31, ROE1, 1, Offset (0xE48), , 31, ROE2, 1, Offset (0xE68), , 31, ROE3, 1, Offset (0xE88), , 31, ROE4, 1, Offset (0xEA8), , 31, ROE5, 1, Offset (0xEC8), , 31, ROE6, 1, Offset (0xEE8), , 31, ROE7, 1, Offset (0xF08), , 31, ROE8, 1, Offset (0xF28), , 31, ROE9, 1, Offset (0xF48), , 31, ROEA, 1, Offset (0xF68), , 31, ROEB, 1, Offset (0xF88), , 31, ROEC, 1, Offset (0xFA8), , 31, ROED, 1, Offset (0xFC8), , 31, ROEE, 1, Offset (0xFE8), , 31, ROEF, 1 } OperationRegion (DMIB, SystemMemory, 0xFED18000, 0x1000) Field (DMIB, DWordAcc, Lock, Preserve) { Offset (0xC34), LLGE, 1, , 28, PCGE, 1, , 1, LGGE, 1 } } Scope (_SB.PCI0.P0P2.VGA) { Method (GOBT, 1, NotSerialized) { Name (OVK0, Buffer (0xE2) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0028 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0030 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0038 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0040 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0048 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0058 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0060 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0068 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0070 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0078 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0080 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0088 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0090 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0098 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00A0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00A8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00B0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00B8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00C0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00C8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00D0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00D8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 00E0 */ 0x00, 0x00 }) Name (OVK1, Buffer (0xE2) { /* 0000 */ 0x50, 0x35, 0x88, 0xB6, 0x62, 0x63, 0x4B, 0xB6, /* 0008 */ 0x4B, 0x56, 0xE2, 0x00, 0x00, 0x00, 0x01, 0x00, /* 0010 */ 0x32, 0x37, 0x34, 0x35, 0x39, 0x31, 0x32, 0x35, /* 0018 */ 0x33, 0x36, 0x38, 0x37, 0x47, 0x65, 0x6E, 0x75, /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66, /* 0050 */ 0x6F, 0x72, 0x20, 0x36, 0x35, 0x32, 0x32, 0x39, /* 0058 */ 0x37, 0x5F, 0x63, 0x70, 0x75, 0x7A, 0x5F, 0x43, /* 0060 */ 0x6F, 0x6D, 0x70, 0x61, 0x6C, 0x5F, 0x4E, 0x20, /* 0068 */ 0x2D, 0x20, 0x33, 0x25, 0x42, 0x4A, 0x28, 0x22, /* 0070 */ 0x5F, 0x55, 0x49, 0x43, 0x3B, 0x33, 0x2F, 0x2B, /* 0078 */ 0x25, 0x5F, 0x53, 0x3E, 0x24, 0x21, 0x4B, 0x3F, /* 0080 */ 0x3A, 0x4B, 0x2A, 0x5A, 0x5C, 0x59, 0x4D, 0x2C, /* 0088 */ 0x45, 0x38, 0x3D, 0x37, 0x39, 0x28, 0x2B, 0x45, /* 0090 */ 0x5B, 0x20, 0x48, 0x51, 0x3C, 0x4F, 0x2E, 0x59, /* 0098 */ 0x22, 0x2C, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x70, /* 00A0 */ 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, /* 00A8 */ 0x30, 0x30, 0x39, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 00B0 */ 0x49, 0x41, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, /* 00B8 */ 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, /* 00C0 */ 0x6C, 0x6C, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, /* 00C8 */ 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, /* 00D0 */ 0x65, 0x64, 0x2D, 0x32, 0x37, 0x34, 0x35, 0x39, /* 00D8 */ 0x31, 0x32, 0x35, 0x33, 0x36, 0x38, 0x37, 0x28, /* 00E0 */ 0x52, 0x29 }) Name (OVK2, Buffer (0xE2) { /* 0000 */ 0x76, 0xEF, 0xEC, 0x5F, 0xDB, 0xF7, 0x94, 0x46, /* 0008 */ 0x4B, 0x56, 0xE2, 0x00, 0x00, 0x00, 0x01, 0x00, /* 0010 */ 0x32, 0x37, 0x34, 0x35, 0x39, 0x31, 0x32, 0x35, /* 0018 */ 0x33, 0x36, 0x38, 0x37, 0x47, 0x65, 0x6E, 0x75, /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66, /* 0050 */ 0x6F, 0x72, 0x20, 0x36, 0x34, 0x37, 0x34, 0x39, /* 0058 */ 0x32, 0x5F, 0x63, 0x70, 0x75, 0x7A, 0x5F, 0x43, /* 0060 */ 0x6F, 0x6D, 0x70, 0x61, 0x6C, 0x5F, 0x4E, 0x20, /* 0068 */ 0x2D, 0x20, 0x34, 0x26, 0x43, 0x4B, 0x29, 0x23, /* 0070 */ 0x58, 0x56, 0x48, 0x42, 0x3A, 0x32, 0x2C, 0x34, /* 0078 */ 0x26, 0x40, 0x54, 0x3F, 0x25, 0x2E, 0x4C, 0x20, /* 0080 */ 0x3B, 0x48, 0x2D, 0x5D, 0x5B, 0x58, 0x4A, 0x2D, /* 0088 */ 0x46, 0x39, 0x3C, 0x38, 0x3A, 0x2B, 0x2C, 0x44, /* 0090 */ 0x5F, 0x51, 0x4B, 0x50, 0x3B, 0x4E, 0x2F, 0x5A, /* 0098 */ 0x23, 0x2D, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x70, /* 00A0 */ 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, /* 00A8 */ 0x30, 0x30, 0x39, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 00B0 */ 0x49, 0x41, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, /* 00B8 */ 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, /* 00C0 */ 0x6C, 0x6C, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, /* 00C8 */ 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, /* 00D0 */ 0x65, 0x64, 0x2D, 0x32, 0x37, 0x34, 0x35, 0x39, /* 00D8 */ 0x31, 0x32, 0x35, 0x33, 0x36, 0x38, 0x37, 0x28, /* 00E0 */ 0x52, 0x29 }) Name (OVK3, Buffer (0xE2) { /* 0000 */ 0x99, 0x24, 0x84, 0x4B, 0xA2, 0x29, 0xD3, 0x99, /* 0008 */ 0x4B, 0x56, 0xE2, 0x00, 0x00, 0x00, 0x01, 0x00, /* 0010 */ 0x32, 0x37, 0x34, 0x35, 0x39, 0x31, 0x32, 0x35, /* 0018 */ 0x33, 0x36, 0x38, 0x37, 0x47, 0x65, 0x6E, 0x75, /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66, /* 0050 */ 0x6F, 0x72, 0x20, 0x36, 0x35, 0x32, 0x38, 0x30, /* 0058 */ 0x37, 0x5F, 0x63, 0x70, 0x75, 0x7A, 0x5F, 0x43, /* 0060 */ 0x6F, 0x6D, 0x70, 0x61, 0x6C, 0x5F, 0x4E, 0x20, /* 0068 */ 0x2D, 0x20, 0x30, 0x21, 0x4D, 0x40, 0x21, 0x3A, /* 0070 */ 0x56, 0x23, 0x5C, 0x57, 0x49, 0x42, 0x5C, 0x5B, /* 0078 */ 0x3F, 0x2C, 0x20, 0x49, 0x3F, 0x37, 0x54, 0x46, /* 0080 */ 0x40, 0x55, 0x31, 0x3E, 0x25, 0x3F, 0x29, 0x48, /* 0088 */ 0x53, 0x58, 0x5D, 0x56, 0x58, 0x4E, 0x47, 0x5E, /* 0090 */ 0x35, 0x52, 0x23, 0x46, 0x56, 0x35, 0x3A, 0x34, /* 0098 */ 0x5F, 0x5C, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x70, /* 00A0 */ 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, /* 00A8 */ 0x30, 0x30, 0x39, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 00B0 */ 0x49, 0x41, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, /* 00B8 */ 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, /* 00C0 */ 0x6C, 0x6C, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, /* 00C8 */ 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, /* 00D0 */ 0x65, 0x64, 0x2D, 0x32, 0x37, 0x34, 0x35, 0x39, /* 00D8 */ 0x31, 0x32, 0x35, 0x33, 0x36, 0x38, 0x37, 0x28, /* 00E0 */ 0x52, 0x29 }) Name (OVK4, Buffer (0xE2) { /* 0000 */ 0xEA, 0x09, 0xF0, 0xA1, 0xD6, 0x69, 0xB1, 0x44, /* 0008 */ 0x4B, 0x56, 0xE2, 0x00, 0x00, 0x00, 0x01, 0x00, /* 0010 */ 0x32, 0x37, 0x34, 0x35, 0x39, 0x31, 0x32, 0x35, /* 0018 */ 0x33, 0x36, 0x38, 0x37, 0x47, 0x65, 0x6E, 0x75, /* 0020 */ 0x69, 0x6E, 0x65, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 0028 */ 0x49, 0x41, 0x20, 0x43, 0x65, 0x72, 0x74, 0x69, /* 0030 */ 0x66, 0x69, 0x65, 0x64, 0x20, 0x4F, 0x70, 0x74, /* 0038 */ 0x69, 0x6D, 0x75, 0x73, 0x20, 0x52, 0x65, 0x61, /* 0040 */ 0x64, 0x79, 0x20, 0x4D, 0x6F, 0x74, 0x68, 0x65, /* 0048 */ 0x72, 0x62, 0x6F, 0x61, 0x72, 0x64, 0x20, 0x66, /* 0050 */ 0x6F, 0x72, 0x20, 0x36, 0x36, 0x39, 0x32, 0x33, /* 0058 */ 0x30, 0x5F, 0x4E, 0x57, 0x51, 0x41, 0x41, 0x5F, /* 0060 */ 0x4F, 0x70, 0x74, 0x69, 0x6D, 0x75, 0x73, 0x20, /* 0068 */ 0x2D, 0x20, 0x5A, 0x56, 0x3E, 0x34, 0x27, 0x3B, /* 0070 */ 0x2A, 0x3A, 0x2E, 0x22, 0x51, 0x27, 0x31, 0x33, /* 0078 */ 0x2C, 0x5A, 0x59, 0x4D, 0x3E, 0x4C, 0x29, 0x56, /* 0080 */ 0x2B, 0x3F, 0x51, 0x5B, 0x5F, 0x2E, 0x3D, 0x57, /* 0088 */ 0x51, 0x57, 0x55, 0x29, 0x4E, 0x36, 0x2B, 0x3C, /* 0090 */ 0x57, 0x30, 0x50, 0x33, 0x51, 0x35, 0x31, 0x22, /* 0098 */ 0x2E, 0x28, 0x20, 0x2D, 0x20, 0x43, 0x6F, 0x70, /* 00A0 */ 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, /* 00A8 */ 0x30, 0x30, 0x39, 0x20, 0x4E, 0x56, 0x49, 0x44, /* 00B0 */ 0x49, 0x41, 0x20, 0x43, 0x6F, 0x72, 0x70, 0x6F, /* 00B8 */ 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x41, /* 00C0 */ 0x6C, 0x6C, 0x20, 0x52, 0x69, 0x67, 0x68, 0x74, /* 00C8 */ 0x73, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, /* 00D0 */ 0x65, 0x64, 0x2D, 0x32, 0x37, 0x34, 0x35, 0x39, /* 00D8 */ 0x31, 0x32, 0x35, 0x33, 0x36, 0x38, 0x37, 0x28, /* 00E0 */ 0x52, 0x29 }) CreateWordField (Arg0, 0x02, USRG) If (LEqual (USRG, 0x564B)) { If (LEqual (SVID, 0x0A7210DE)) { Return (OVK1) } Else { If (LEqual (SVID, 0x0A2B10DE)) { Return (OVK2) } Else { If (LEqual (SVID, 0x0A2910DE)) { Return (OVK3) } Else { If (LEqual (SVID, 0x0A7010DE)) { Return (OVK4) } Else { Return (OVK0) } } } } } Return (Zero) } } Scope (_SB.PCI0.P0P2.VGA) { Name (OMPR, 0x02) Method (NVOP, 4, NotSerialized) { P8XH (Zero, 0x11) Store ("------- NV OPTIMUS DSM --------", Debug) If (LNotEqual (Arg1, 0x0100)) { Return (0x80000001) } Name (_T_0, Zero) Store (ToInteger (Arg2), _T_0) If (LEqual (_T_0, Zero)) { Store (Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, Local0) Divide (Zero, 0x08, Local2, Local1) ShiftLeft (One, Local2, Local2) Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1 )) Divide (0x1A, 0x08, Local2, Local1) ShiftLeft (One, Local2, Local2) Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1 )) Divide (0x10, 0x08, Local2, Local1) ShiftLeft (One, Local2, Local2) Or (DerefOf (Index (Local0, Local1)), Local2, Index (Local0, Local1 )) Return (Local0) } Else { If (LEqual (_T_0, 0x1A)) { CreateField (Arg3, 0x18, 0x02, OPCE) CreateField (Arg3, Zero, One, FLCH) If (ToInteger (FLCH)) { Store (OPCE, OMPR) } Store (Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, Local0) CreateField (Local0, Zero, One, OPEN) CreateField (Local0, 0x03, 0x02, CGCS) CreateField (Local0, 0x06, One, SHPC) CreateField (Local0, 0x18, 0x03, DGPC) Store (One, OPEN) Store (Zero, SHPC) Store (One, DGPC) If (DGPG) { Store (0x03, CGCS) } Return (Local0) } Else { If (LEqual (_T_0, 0x10)) { Return (GOBT (Arg3)) } } } Return (0x80000002) } } Scope (_SB.PCI0.P0P2.VGA) { OperationRegion (PCIS, SystemMemory, 0xE0100000, 0x0500) Field (PCIS, ByteAcc, Lock, Preserve) { SVID, 32, NCMD, 16, Offset (0x10), NBR0, 32, NBR1, 32, Offset (0x1C), NBR2, 32, Offset (0x24), NBR3, 32, Offset (0x3C), NIRQ, 16, Offset (0x40), SSID, 32, Offset (0x88), NASP, 8, Offset (0x114), NTVC, 32, Offset (0x48B), NHDA, 8 } Name (NBF0, Zero) Name (NBF1, Zero) Name (NBF2, Zero) Name (NBF3, Zero) Name (NBF4, Zero) Name (NBF5, Zero) Name (NBF6, Zero) Name (NBF7, Zero) Name (NBF8, Zero) Method (NBAK, 0, NotSerialized) { Store (NCMD, NBF0) Store (NBR0, NBF1) Store (NBR1, NBF2) Store (NBR2, NBF3) Store (NBR3, NBF4) Store (NIRQ, NBF5) Store (SSID, NBF6) Store (NASP, NBF7) Store (NTVC, NBF8) } Method (NRST, 0, NotSerialized) { Store (NBF0, NCMD) Store (NBF1, NBR0) Store (NBF2, NBR1) Store (NBF3, NBR2) Store (NBF4, NBR3) Store (NBF5, NIRQ) Store (NBF6, SSID) Store (NBF7, NASP) Store (NBF8, NTVC) } OperationRegion (GPIO, SystemIO, 0x0500, 0x60) Field (GPIO, ByteAcc, Lock, Preserve) { Offset (0x0C), Offset (0x0E), DGPW, 1, , 1, , 1, DGPG, 1, Offset (0x38), , 21, DGRS, 1, , 1, Offset (0x3B), , 1, DGSP, 1 } Name (DGOS, Zero) Method (_PS0, 0, NotSerialized) { P8XH (Zero, 0x12) If (DGOS) { _ON () Store (Zero, DGOS) } } Method (_PS3, 0, NotSerialized) { P8XH (Zero, 0x13) If (LEqual (OMPR, 0x03)) { _OFF () Store (One, DGOS) Store (0x02, OMPR) } } Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_ON, 0, Serialized) { Store (Zero, DGRS) Sleep (0x64) Store (One, DGPW) Sleep (0x32) Sleep (0x32) Store (One, DGRS) Sleep (0x64) If (LEqual (DGPG, One)) { P8XH (Zero, 0xE8) } Store (Zero, LLGE) Store (Zero, LGGE) Store (Zero, PEPO) Store (Zero, ROE0) Store (Zero, ROE1) Store (Zero, ROE2) Store (Zero, ROE3) Store (Zero, ROE4) Store (Zero, ROE5) Store (Zero, ROE6) Store (Zero, ROE7) Store (Zero, ROE8) Store (Zero, ROE9) Store (Zero, ROEA) Store (Zero, ROEB) Store (Zero, ROEC) Store (Zero, ROED) Store (Zero, ROEE) Store (Zero, ROEF) Store (Zero, PCGE) Store (Zero, HCLQ) Store (Zero, PEDQ) Store (Zero, LNKD) Store (One, LLGE) Store (One, LGGE) While (LLess (LNKS, 0x07)) { Sleep (One) } NRST () If (LEqual (DGSP, Zero)) { And (NHDA, 0xFFFFFFFFFFFFFFFD, NHDA) } } Method (_OFF, 0, Serialized) { NBAK () Store (Zero, LLGE) Store (Zero, LGGE) Store (One, LNKD) While (LNotEqual (LNKS, Zero)) { Sleep (One) } Store (One, PEDQ) Store (Zero, LNKD) While (LNotEqual (PIDQ, One)) { Sleep (One) } Store (One, PCGE) Store (One, HCLQ) Store (0x03, PEPO) Store (One, ROE0) Store (One, ROE1) Store (One, ROE2) Store (One, ROE3) Store (One, ROE4) Store (One, ROE5) Store (One, ROE6) Store (One, ROE7) Store (One, ROE8) Store (One, ROE9) Store (One, ROEA) Store (One, ROEB) Store (One, ROEC) Store (One, ROED) Store (One, ROEE) Store (One, ROEF) Store (One, LLGE) Store (One, LGGE) Store (Zero, DGRS) Sleep (0x32) Sleep (0x32) Store (Zero, DGPW) Sleep (0x64) If (LEqual (DGPG, Zero)) { P8XH (Zero, 0xE9) } } } Scope (\) { Method (CMPB, 2, NotSerialized) { Store (SizeOf (Arg0), Local1) If (LNotEqual (Local1, SizeOf (Arg1))) { Return (Zero) } Store (Zero, Local0) While (LLess (Local0, Local1)) { If (LNotEqual (DerefOf (Index (Arg0, Local0)), DerefOf (Index ( Arg1, Local0)))) { Return (Zero) } Increment (Local0) } Return (One) } } Scope (_SB.PCI0.P0P2.VGA) { Method (_DSM, 4, NotSerialized) { Store ("----- DGPU _DSM --------", Debug) P8XH (Zero, 0x10) If (CMPB (Arg0, Buffer (0x10) { /* 0000 */ 0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47, /* 0008 */ 0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0 })) { Return (NVOP (Arg0, Arg1, Arg2, Arg3)) } Return (Zero) } } Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) }