/* RSD PTR: OEM=Sony, ACPI_Rev=2.0x (2) XSDT=0x7f6ee120, length=36, cksum=238 */ /* XSDT: Length=100, Revision=1, Checksum=81, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=, Creator Revision=0x1000013 Entries={ 0x7f6ed000, 0x7f6ec000, 0x7f6eb000, 0x7f6ea000, 0x7f6e9000, 0x7f6e8000, 0x7f6e1000, 0x7f6df000 } */ /* FACP: Length=244, Revision=3, Checksum=36, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 FACS=0x7f6a6000, DSDT=0x7f6e2000 INT_MODEL=PIC Preferred_PM_Profile=Mobile (2) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0xf2 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x400-0x403 PM1a_CNT_BLK=0x404-0x407 PM2_CNT_BLK=0x420-0x420 PM_TMR_BLK=0x408-0x40b GPE0_BLK=0x600-0x607 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us FLUSH_SIZE=1024, FLUSH_STRIDE=16 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=0, MON_ALRM=0, CENTURY=0 IAPC_BOOT_ARCH={LEGACY_DEVICES,NO_ASPM} Flags={WBINVD,C1_SUPPORTED,POWER_BUTTON,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PLATFORM_CLOCK} RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xfb X_FACS=0x7f6a6000, X_DSDT=0x7f6e2000 X_PM1a_EVT_BLK=0x400:0[32] (IO) X_PM1a_CNT_BLK=0x404:0[32] (IO) X_PM2_CNT_BLK=0x420:0[8] (IO) X_PM_TMR_BLK=0x408:0[32] (IO) X_GPE0_BLK=0x600:0[64] (IO) */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=22349, Revision=1, Checksum=91, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 */ /* HPET: Length=56, Revision=1, Checksum=245, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 HPET Number=0 ADDR=0xfed00000:0[64] (Memory) HW Rev=0x1 Comparators=2 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x8086 Minimal Tick=128 */ /* APIC: Length=104, Revision=1, Checksum=240, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=0 Flags={ENABLED} APIC ID=0 Type=Local APIC ACPI CPU=1 Flags={ENABLED} APIC ID=1 Type=IO APIC APIC ID=8 INT BASE=0 ADDR=0x00000000fec00000 Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=conforming, Trigger=conforming} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-hi, Trigger=level} Type=Local APIC NMI ACPI CPU=0 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} Type=Local APIC NMI ACPI CPU=1 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} */ /* MCFG: Length=60, Revision=1, Checksum=93, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 Base Address=0x00000000e0000000 Segment Group=0x0000 Start Bus=0 End Bus=255 */ /* SLIC: Length=374, Revision=1, Checksum=226, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 */ /* ASF!: Length=165, Revision=32, Checksum=13, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 */ /* BOOT: Length=40, Revision=1, Checksum=245, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=MSFT, Creator Revision=0x1000013 */ /* SSDT: Length=1230, Revision=2, Checksum=172, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20100113, Creator ID=INTL, Creator Revision=0x20051117 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20100915 * * Disassembly of /tmp/acpidump.xsnqQH, Mon Oct 18 21:37:10 2010 * * Original Table Header: * Signature "DSDT" * Length 0x00005BF7 (23543) * Revision 0x01 **** ACPI 1.0, no 64-bit math support * Checksum 0x0B * OEM ID "Sony" * OEM Table ID "VAIO" * OEM Revision 0x20100113 (537919763) * Compiler ID "MSFT" * Compiler Version 0x01000013 (16777235) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "Sony", "VAIO", 0x20100113) { Name (ECOK, Zero) OperationRegion (GPIO, SystemIO, 0x0500, 0x40) Field (GPIO, ByteAcc, NoLock, Preserve) { } OperationRegion (PMBA, SystemIO, 0x0410, 0x80) Field (PMBA, ByteAcc, NoLock, Preserve) { } OperationRegion (RCRB, SystemMemory, 0xFED10000, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { } OperationRegion (MBOX, SystemMemory, 0x7F6DE910, 0x000002DE) Field (MBOX, AnyAcc, NoLock, Preserve) { PCI1, 8, PCI2, 8, PCI3, 8, PCI4, 8, PCI5, 8, PCI6, 8, PCI7, 8, PCI8, 8, NLCK, 8, ZIPE, 8, COMA, 8, CAIO, 8, CAIP, 8, CAMD, 8, CADA, 8, COMB, 8, CBIO, 8, CBIP, 8, CBMD, 8, CBDA, 8, FHSD, 8, COMC, 8, CCIO, 8, CCIP, 8, CCMD, 8, CCDA, 8, COMD, 8, CDIO, 8, CDIP, 8, CDMD, 8, CDDA, 8, LPT1, 8, L1IO, 8, L1IP, 8, L1MD, 8, L1DA, 8, LPT2, 8, L2IO, 8, L2IP, 8, L2MD, 8, L2DA, 8, LPT3, 8, L3IO, 8, L3IP, 8, L3MD, 8, L3DA, 8, FDDC, 8, FDWP, 8, HGMP, 8, LGMP, 8, MIDI, 8, AZLA, 8, LANE, 8, AUDO, 8, MODM, 8, IDEC, 8, SCFG, 8, AIBT, 8, P0HP, 8, P1HP, 8, P2HP, 8, P0IL, 8, P1IL, 8, P2IL, 8, IDLY, 8, PMTP, 8, PMIO, 8, PMBM, 8, PMTM, 8, PSTP, 8, PSIO, 8, PSBM, 8, PSTM, 8, IDE0, 8, IDE1, 8, IDE2, 8, IDE3, 8, IDE4, 8, IDE5, 8, IDE6, 8, IDE7, 8, PEGS, 8, D2F1, 8, IGMT, 8, DTSZ, 8, CLKC, 8, CKSC, 8, BOTT, 8, PANT, 8, TVTP, 8, HIUB, 8, LUBS, 8, U201, 8, U202, 8, U111, 8, U112, 8, U113, 8, U114, 8, U115, 8, UCEN, 8, UPPC, 8, UP00, 8, UP01, 8, UP02, 8, UP03, 8, UP04, 8, UP05, 8, UP06, 8, UP07, 8, UP08, 8, UP09, 8, SDI0, 8, SDI1, 8, SDI2, 8, P80R, 8, PLYT, 8, EDCG, 8, SDFY, 8, SDTC, 8, SDRP, 8, SDCL, 8, SDRC, 8, SDRE, 8, FC2L, 8, FC3L, 8, FCS4, 8, APIM, 8, HPTS, 8, HPTA, 8, EMAS, 8, MASF, 8, WDOG, 8, WDTO, 16, WDTB, 16, MAMT, 8, ABXP, 8, SPIL, 8, PWDW, 8, HETO, 8, AWTR, 16, EOPT, 8, ASFB, 8, MBTX, 8, IDER, 8, SOLE, 8, EYLS, 8, EYLH, 8, TPMD, 8, TPMO, 8, TPMC, 8, TPMM, 8, TPCC, 8, TPLC, 8, TPLR, 32, PCE1, 48, PCE2, 48, PCE3, 48, PCE4, 48, PCE5, 48, PCE6, 48, PCE7, 48, PCE8, 48, PCE9, 48, PCE0, 48, PCEA, 48, PCEB, 48, PCEC, 48, PCED, 48, PCEE, 48, PCEF, 48, PCEG, 48, PCEH, 48, PCEI, 48, DAPM, 8, DPMA, 8, DL0S, 8, DAL1, 8, PEGA, 8, PGAA, 8, PGL0, 8, PL0A, 8, PGL1, 8, PGES, 8, ISTC, 8, TRML, 8, FNON, 8, TRON, 8, NXMD, 8, PCRR, 8, C4EN, 8, C43D, 8, EMTT, 8, PROH, 8, DFSB, 8, TUBM, 8, TSTE, 8, BPST, 8, DAS1, 8, DAS3, 8, WKPM, 8, WKMD, 8, WKS5, 8, HOUR, 8, MINS, 8, SECS, 8, DOFM, 8, QKS4, 8, CAPM, 8, POPU, 8, POPD, 8, NXFE, 8, VTST, 8, VTFE, 8, S5FG, 8, CSTS, 8, ENCS, 8, DEC4, 8, HC4E, 8, CSTR, 8, CMPE, 8, MAXC, 8, CSMD, 8, DTSE, 8, DTSC, 8, QBOT, 8, BOTQ, 8, PBOT, 8, RAID, 8, OSYS, 16 } OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } OperationRegion (IO_T, SystemIO, 0x0800, 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, 0x0810, 0x04) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (SSMI, SystemIO, 0xB2, 0x02) Field (SSMI, ByteAcc, NoLock, Preserve) { SMIC, 8, SMIS, 8 } OperationRegion (CMOS, SystemIO, 0x70, 0x04) Field (CMOS, ByteAcc, NoLock, Preserve) { IDX0, 7, Offset (0x01), DAT0, 8, IDX1, 7, Offset (0x03), DAT1, 8 } IndexField (IDX1, DAT1, ByteAcc, NoLock, Preserve) { Offset (0x3E), RTS3, 8 } OperationRegion (GPE0, SystemIO, 0x0600, 0x40) Field (GPE0, ByteAcc, NoLock, Preserve) { , 13, EGPS, 1, Offset (0x04), , 13, EGPE, 1, Offset (0x18), , 1, SGPE, 1 } OperationRegion (IO_H, SystemIO, 0x0820, 0x04) Field (IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8 } OperationRegion (NVST, SystemMemory, 0x7F6DEBEE, 0x0000013E) Field (NVST, AnyAcc, Lock, Preserve) { SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, CRTT, 8, Offset (0x15), DTS1, 8, DTS2, 8, DTSF, 8, BNUM, 8, APIC, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, BDSP, 8, PTY1, 8, PTY2, 8, PSCL, 8, TVF1, 8, TVF2, 8, GETM, 8, BLCS, 8, BRTL, 8, ALSE, 8, ALAF, 8, LLOW, 8, LHIH, 8, EMAE, 8, EMAP, 16, EMAL, 16, MEFE, 8, DSTS, 8, TPMP, 8, TPME, 8, GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, BID, 8, ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32, GSMI, 8, DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, LCDA, 16, BVAL, 32, KSV0, 32, KSV1, 8, STSF, 8, STP0, 32, STP1, 32, LCDB, 8, EDID, 1024 } Mutex (MUTX, 0x00) Name (_S0, Package (0x04) { Zero, Zero, Zero, Zero }) If (LEqual (DAS3, One)) { Name (_S3, Package (0x04) { 0x05, Zero, Zero, Zero }) } Name (_S4, Package (0x04) { 0x06, Zero, Zero, Zero }) Name (_S5, Package (0x04) { 0x07, Zero, Zero, Zero }) Scope (_PR) { Processor (CPU0, 0x00, 0x00000410, 0x06) {} Processor (CPU1, 0x01, 0x00000410, 0x06) {} } Name (CNT0, One) Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) } Method (_PTS, 1, NotSerialized) { Store (Zero, P80D) P8XH (Zero, Arg0) If (LEqual (Arg0, 0x03)) { \_SB.PCI0.LPCB.SPIC.SAVE () } If (LEqual (Arg0, 0x04)) { \_SB.PCI0.LPCB.SPIC.SAVE () } If (ECON) { Store (Arg0, \_SB.PCI0.LPCB.H8EC.SSIF) } Else { WECS (0x72, Arg0) } If (LLess (OSYS, 0x07D6)) { ISTP (0x09, Zero) } Return (Zero) } Method (_WAK, 1, NotSerialized) { P8XH (One, 0xAB) If (LEqual (\_SB.PCI0.RP01.RP1D, Zero)) { Notify (\_SB.PCI0.RP01, Zero) } If (LEqual (\_SB.PCI0.RP02.RP2D, Zero)) { Notify (\_SB.PCI0.RP02, Zero) } If (LEqual (Arg0, 0x03)) { If (ECON) { Store (\_SB.PCI0.LPCB.H8EC.SWUR, Local0) } Else { Store (RECS (0x22), Local0) } If (LNotEqual (Local0, 0x02)) { Notify (\_SB.PWRB, 0x02) } \_SB.PCI0.LPCB.SPIC.RSTR () P8XH (Zero, 0xE3) If (DTSE) { TRAP (0x02, 0x14) } If (ECON) { Store (\_SB.PCI0.LPCB.H8EC.B0ST, Local0) And (Local0, One, Local0) If (Local0) { Sleep (0x14) Notify (\_SB.BAT0, 0x81) } } } If (LEqual (Arg0, 0x04)) { \_SB.PCI0.LPCB.SPIC.RSTR () If (DTSE) { TRAP (0x02, 0x1E) } If (ECON) { Store (\_SB.PCI0.LPCB.H8EC.B0ST, Local0) And (Local0, One, Local0) If (Local0) { Sleep (0x14) Notify (\_SB.BAT0, 0x81) } } Notify (\_SB.PWRB, 0x02) } Store (Zero, \_SB.PCI0.LPCB.SNC.ENCR) Store (Zero, \_SB.PCI0.LPCB.SNC.ESR) Store (Zero, \_SB.PCI0.LPCB.SNC.ECR) Store (Zero, \_SB.PCI0.LPCB.H8EC.HKEV) P8XH (Zero, 0xCD) Return (Package (0x02) { Zero, Zero }) } Scope (_GPE) { Method (_L00, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L01, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L02, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L08, 0, NotSerialized) { If (\_SB.PCI0.RP01.PSP1) { Store (One, \_SB.PCI0.RP01.PSP1) Store (One, \_SB.PCI0.RP01.PMS1) Notify (\_SB.PCI0.RP01, 0x02) } } Method (_L09, 0, NotSerialized) { If (\_SB.PCI0.RP02.PSP2) { Store (One, \_SB.PCI0.RP02.PSP2) Store (One, \_SB.PCI0.RP02.PMS2) Notify (\_SB.PCI0.RP02, 0x02) } } Method (_L1A, 0, NotSerialized) { P8XH (Zero, 0x1A) If (LAnd (LEqual (\_SB.PCI0.RP01.RP1D, Zero), \_SB.PCI0.RP01.HPS1)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDC1) { Store (One, \_SB.PCI0.RP01.PDC1) Store (One, \_SB.PCI0.RP01.HPS1) Notify (\_SB.PCI0.RP01, Zero) } Else { Store (One, \_SB.PCI0.RP01.HPS1) } } } Method (_L1B, 0, NotSerialized) { P8XH (Zero, 0x1B) If (LAnd (LEqual (\_SB.PCI0.RP02.RP2D, Zero), \_SB.PCI0.RP02.HPS2)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDC2) { Store (One, \_SB.PCI0.RP02.PDC2) Store (One, \_SB.PCI0.RP02.HPS2) Notify (\_SB.PCI0.RP02, Zero) } Else { Store (One, \_SB.PCI0.RP02.HPS2) } } } Method (_L1C, 0, NotSerialized) { If (\_SB.PCI0.EHC1.PMES) { Store (One, \_SB.PCI0.EHC1.PMES) Notify (\_SB.PCI0.EHC1, 0x02) } } } Method (PNOT, 0, Serialized) { Notify (\_SB.BAT0, 0x80) Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) If (CMPE) { Notify (\_PR.CPU1, 0x80) Sleep (0x64) Notify (\_PR.CPU1, 0x81) } } Method (BTTM, 1, Serialized) { If (PWRS) { If (LGreaterEqual (Arg0, BVAL)) { Store (Arg0, BVAL) Notify (\_SB.BAT0, 0x80) } } Else { If (LLessEqual (Arg0, BVAL)) { Store (0x63, P80H) Store (Arg0, BVAL) Notify (\_SB.BAT0, 0x80) } } } 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) } Name (TRTA, 0x04) Name (SATR, 0xF0) Mutex (LSTP, 0x00) Method (TRAP, 2, Serialized) { Store (Arg1, SMIF) If (LEqual (Arg0, One)) { Store (Zero, TRP0) } If (LEqual (Arg0, 0x02)) { Store (Arg1, DTSF) Store (Zero, TRPD) Return (DTSF) } If (LEqual (Arg0, 0x03)) { Store (Arg1, SMIS) Store (Arg0, SMIC) } If (LEqual (Arg0, TRTA)) { Store (Zero, TRPH) } Return (SMIF) } Method (ISTP, 2, Serialized) { Acquire (LSTP, 0xFFFF) Acquire (LSHE, 0xFFFF) Store (Arg0, STSF) Store (Arg1, STP0) TRAP (TRTA, SATR) Store (STP0, Local0) Release (LSHE) Release (LSTP) Return (Local0) } OperationRegion (SHEC, SystemIO, 0x2000, 0x08) Field (SHEC, ByteAcc, Lock, Preserve) { SHDP, 8, Offset (0x04), SHCP, 8, Offset (0x08) } Method (SHSC, 1, Serialized) { While (And (SHCP, 0x02)) { Noop } Store (Arg0, SHCP) While (And (SHCP, 0x02)) { Noop } } Method (SHSD, 1, Serialized) { While (And (SHCP, 0x02)) { Noop } Store (Arg0, SHDP) While (And (SHCP, 0x02)) { Noop } } Method (SHRD, 0, Serialized) { While (LNot (And (SHCP, One))) { Noop } Return (SHDP) } Mutex (LSHE, 0x00) Method (RECS, 1, Serialized) { Acquire (LSHE, 0xFFFF) SHSC (0x92) SHSD (Arg0) Store (SHRD (), Local0) Release (LSHE) Return (Local0) } Method (WECS, 2, Serialized) { Acquire (LSHE, 0xFFFF) SHSC (0x97) SHSD (Arg0) SHSD (Arg1) Release (LSHE) } Method (SPIR, 2, Serialized) { Acquire (LSHE, 0xFFFF) SHSC (0x94) SHSD (Arg0) SHSC (0x95) SHSD (Arg1) Release (LSHE) } Scope (_TZ) { ThermalZone (ATF0) { Method (_TMP, 0, Serialized) { If (ECON) { Return (Add (0x0AAC, Multiply (\_SB.PCI0.LPCB.H8EC.RTMP, 0x0A))) } Else { Return (Add (0x0AAC, Multiply (RECS (Zero), 0x0A))) } } Method (_PSV, 0, Serialized) { If (ECON) { Return (Add (0x0AAC, Multiply (\_SB.PCI0.LPCB.H8EC.PSV, 0x0A))) } Else { Return (Add (0x0AAC, Multiply (RECS (0x06), 0x0A))) } } Method (_CRT, 0, Serialized) { If (ECON) { Return (Add (0x0AAC, Multiply (\_SB.PCI0.LPCB.H8EC.CRT, 0x0A))) } Else { Return (Add (0x0AAC, Multiply (RECS (0x05), 0x0A))) } } Method (_SCP, 1, Serialized) { Store (Arg0, CTYP) } Method (_PSL, 0, Serialized) { If (CMPE) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Name (_TC1, One) Name (_TC2, 0x02) Name (_TSP, 0x32) } } Scope (_SB) { Method (_INI, 0, NotSerialized) { If (DTSE) {} Store (0x07D0, OSYS) If (CondRefOf (_OSI, Local0)) { 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) } } } Name (SBIF, Package (0x0D) { Zero, Ones, Ones, One, Ones, Ones, 0x78, Zero, One, "", "", "Lion", "Sony Corporation" }) Name (SBST, Package (0x04) { One, Ones, Ones, Ones }) Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, Zero) Name (_PCL, Package (0x01) { _SB }) Method (_STA, 0, NotSerialized) { If (ECON) { And (^^PCI0.LPCB.H8EC.B0ST, One, Local0) } Else { And (RECS (0x07), One, Local0) } If (Local0) { Return (0x1F) } Return (0x0F) } Method (_BIF, 0, NotSerialized) { If (ECON) { Store (^^PCI0.LPCB.H8EC.SM18, Local0) And (Local0, 0xFF, Local1) ShiftLeft (Local1, 0x08, Local1) And (Local0, 0xFF00, Local2) ShiftRight (Local2, 0x08, Local2) Add (Local1, Local2, Local1) If (LEqual (Local1, 0xFFFF)) { Store (Ones, Local1) } Else { Multiply (Local1, 0x0A, Local1) } Store (Local1, Index (SBIF, One)) Store (^^PCI0.LPCB.H8EC.SM10, Local0) And (Local0, 0xFF, Local2) ShiftLeft (Local2, 0x08, Local2) And (Local0, 0xFF00, Local3) ShiftRight (Local3, 0x08, Local3) Add (Local2, Local3, Local2) If (LEqual (Local2, 0xFFFF)) { Store (Ones, Local2) } Else { Multiply (Local2, 0x0A, Local2) } Store (Local2, Index (SBIF, 0x02)) Store (^^PCI0.LPCB.H8EC.SM19, Local0) And (Local0, 0xFF, Local3) ShiftLeft (Local3, 0x08, Local3) And (Local0, 0xFF00, Local4) ShiftRight (Local4, 0x08, Local4) Add (Local3, Local4, Local3) If (LEqual (Local3, 0xFFFF)) { Store (Ones, Local3) } Store (Local3, Index (SBIF, 0x04)) Divide (Local1, 0x0A, , Local4) Store (Local4, Index (SBIF, 0x05)) Divide (Local1, 0x19, , Local5) Store (Local5, Index (SBIF, 0x06)) Divide (Local1, 0x64, , Local6) Store (Local6, Index (SBIF, 0x07)) Divide (Local1, 0x64, , Local7) Store (Local7, Index (SBIF, 0x08)) } Else { And (RECS (0x0C), 0xFF, Local0) And (RECS (0x0D), 0xFF, Local1) Add (ShiftLeft (Local0, 0x08), Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Else { Multiply (Local0, 0x0A, Local0) } Store (Local0, Index (SBIF, One)) And (RECS (0x0A), 0xFF, Local0) And (RECS (0x0B), 0xFF, Local1) Add (ShiftLeft (Local0, 0x08), Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Else { Multiply (Local0, 0x0A, Local0) } Store (Local0, Index (SBIF, 0x02)) And (RECS (0x0E), 0xFF, Local0) And (RECS (0x0F), 0xFF, Local1) Add (ShiftLeft (Local0, 0x08), Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Store (Local0, Index (SBIF, 0x04)) And (RECS (0x08), 0xFF, Local0) And (RECS (0x09), 0xFF, Local1) Add (ShiftLeft (Local0, 0x08), Local1, Local0) Multiply (Local0, 0x0A, Local0) Store (Local0, Index (SBIF, 0x05)) } Return (SBIF) } Method (_BST, 0, NotSerialized) { If (ECON) { Store (^^PCI0.LPCB.H8EC.B0ST, Local0) And (Local0, 0x0C, Local0) ShiftRight (Local0, 0x02, Local0) Store (Local0, Index (SBST, Zero)) Store (^^PCI0.LPCB.H8EC.SM0F, Local1) And (Local1, 0xFF, Local2) ShiftLeft (Local2, 0x08, Local2) And (Local1, 0xFF00, Local3) ShiftRight (Local3, 0x08, Local3) Add (Local2, Local3, Local2) If (LEqual (Local2, 0xFFFF)) { Store (Ones, Local2) } Else { Multiply (Local2, 0x0A, Local2) } Store (Local2, Index (SBST, 0x02)) Store (^^PCI0.LPCB.H8EC.SM09, Local4) And (Local4, 0xFF, Local5) ShiftLeft (Local5, 0x08, Local5) And (Local4, 0xFF00, Local6) ShiftRight (Local6, 0x08, Local6) Add (Local5, Local6, Local5) If (LEqual (Local5, 0xFFFF)) { Store (Ones, Local5) } Store (Local5, Index (SBST, 0x03)) Store (^^PCI0.LPCB.H8EC.SM0B, Local0) ShiftLeft (And (Local0, 0xFF), 0x08, Local1) ShiftRight (And (Local0, 0xFF00), 0x08, Local0) Add (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Else { If (LGreaterEqual (Local0, 0x8000)) { XOr (Local0, 0xFFFF, Local0) Increment (Local0) } Multiply (Local0, Local5, Local0) Divide (Local0, 0x03E8, , Local0) } Store (Local0, Index (SBST, One)) } Else { And (RECS (0x07), 0xFF, Local0) ShiftRight (And (Local0, 0x0C), 0x02, Index (SBST, Zero)) And (RECS (0x12), 0xFF, Local0) And (RECS (0x13), 0xFF, Local1) Add (ShiftLeft (Local0, 0x08), Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Else { Multiply (Local0, 0x0A, Local0) } Store (Local0, Index (SBST, 0x02)) And (RECS (0x14), 0xFF, Local0) And (RECS (0x15), 0xFF, Local1) Add (ShiftLeft (Local0, 0x08), Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (Ones, Local0) } Store (Local0, Index (SBST, 0x03)) And (RECS (0x16), 0xFF, Local1) And (RECS (0x17), 0xFF, Local2) ShiftLeft (Local1, 0x08, Local1) Add (Local1, Local2, Local1) If (LEqual (Local1, 0xFFFF)) { Store (Ones, Local1) } Else { If (LGreaterEqual (Local1, 0x8000)) { XOr (Local1, 0xFFFF, Local1) Increment (Local1) } Multiply (Local1, Local0, Local1) Divide (Local1, 0x03E8, , Local1) } Store (Local1, Index (SBST, One)) } Return (SBST) } } Device (AC) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { _SB }) Method (_PSR, 0, NotSerialized) { If (ECON) { Store (^^PCI0.LPCB.H8EC.ACPW, PWRS) } Else { And (RECS (0x04), One, PWRS) } Return (PWRS) } } Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { If (ECON) { Store (^^PCI0.LPCB.H8EC.LSTE, Local0) } Else { Store (And (RECS (0x04), 0x02), Local0) } If (Local0) { Store (Zero, LIDS) } Else { Store (One, LIDS) } Return (LIDS) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (PCI0) { Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Device (GFX0) { Name (_ADR, 0x00020000) Name (DSEN, Zero) Method (_INI, 0, NotSerialized) { If (LLess (OSYS, 0x07D6)) { ISTP (0x0A, Zero) Store (ISTP (0x07, Zero), Local0) Or (Local0, 0x80000000, BCLP) } } Method (_DOS, 1, NotSerialized) { Store (Arg0, DSEN) } Method (_DOD, 0, NotSerialized) { If (LEqual (NDID, One)) { Name (TMP1, Package (0x01) { Ones }) Store (Or (0x00010000, DID1), Index (TMP1, Zero)) Return (TMP1) } If (LEqual (NDID, 0x02)) { Name (TMP2, Package (0x02) { Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP2, Zero)) Store (Or (0x00010000, DID2), Index (TMP2, One)) Return (TMP2) } If (LEqual (NDID, 0x03)) { Name (TMP3, Package (0x03) { Ones, Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP3, Zero)) Store (Or (0x00010000, DID2), Index (TMP3, One)) Store (Or (0x00010000, DID3), Index (TMP3, 0x02)) Return (TMP3) } If (LEqual (NDID, 0x04)) { Name (TMP4, Package (0x04) { Ones, Ones, Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP4, Zero)) Store (Or (0x00010000, DID2), Index (TMP4, One)) Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) Store (Or (0x00010000, DID4), Index (TMP4, 0x03)) Return (TMP4) } Name (TMP5, Package (0x05) { Ones, Ones, Ones, Ones, Ones }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) Store (Or (0x00010000, DID5), Index (TMP5, 0x04)) Return (TMP5) } Device (DD01) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID1)) } Method (_DCS, 0, NotSerialized) { Return (GDCS (DID1, 0x0100)) } Method (_DGS, 0, NotSerialized) { Return (GDNS (DID1)) } Method (_DSS, 1, NotSerialized) { } } Device (DD02) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID2)) } Method (_DCS, 0, NotSerialized) { Return (GDCS (DID2, 0x0200)) } Method (_DGS, 0, NotSerialized) { Return (GDNS (DID2)) } Method (_DSS, 1, NotSerialized) { } } Device (DD03) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID3)) } Method (_DCS, 0, NotSerialized) { Return (GDCS (DID3, 0x0400)) } Method (_DGS, 0, NotSerialized) { Return (GDNS (DID3)) } Method (_DSS, 1, NotSerialized) { } } Device (DD04) { Method (_ADR, 0, Serialized) { Return (And (0xFFFF, DID4)) } Method (_DCS, 0, NotSerialized) { Return (GDCS (DID4, 0x0800)) } Method (_DGS, 0, NotSerialized) { Return (GDNS (DID4)) } Method (_DSS, 1, NotSerialized) { } Method (_DDC, 1, NotSerialized) { Store (ISTP (One, Zero), Local0) If (LEqual (And (Local0, 0x03), One)) { If (LLessEqual (Arg0, One)) { Return (EDID) } } Return (Zero) } Name (VTBL, Package (0x0B) { 0x64, 0x64, 0x04, 0x10, 0x1C, 0x28, 0x34, 0x40, 0x4C, 0x58, 0x64 }) Method (_BCL, 0, NotSerialized) { Return (VTBL) } Method (_BCM, 1, NotSerialized) { Store (Match (VTBL, MEQ, Arg0, MTR, Zero, 0x02), Local0) If (LEqual (Local0, Ones)) { Return (Zero) } Store (Arg0, BRTL) Subtract (Local0, 0x02, Local0) Store (Local0, LCDB) Store (ISTP (0x07, Zero), Local0) AINT (One, Local0) } Method (_BQC, 0, NotSerialized) { Return (BRTL) } } Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (OPRN, 0, Serialized) { If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (GDCS, 2, NotSerialized) { If (CAD1) { If (LEqual (CAD1, And (0xFFFF, Arg0))) { Return (0x1F) } If (LEqual (CAD2, And (0xFFFF, Arg0))) { Return (0x1F) } If (LEqual (CAD3, And (0xFFFF, Arg0))) { Return (0x1F) } If (LEqual (CAD4, And (0xFFFF, Arg0))) { Return (0x1F) } If (LEqual (CAD5, And (0xFFFF, Arg0))) { Return (0x1F) } Return (0x1D) } Else { If (And (CSTE, Arg1)) { Return (0x1F) } Return (0x1D) } } Method (GDNS, 1, NotSerialized) { If (LEqual (NAD1, And (0xFFFF, Arg0))) { Return (One) } If (LEqual (NAD2, And (0xFFFF, Arg0))) { Return (One) } If (LEqual (NAD3, And (0xFFFF, Arg0))) { Return (One) } If (LEqual (NAD4, And (0xFFFF, Arg0))) { Return (One) } If (LEqual (NAD5, And (0xFFFF, Arg0))) { Return (One) } Return (Zero) } Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { If (ASLP) { Sleep (ASLP) } Else { Sleep (0x32) } } Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (And (CSTS, 0xFFFFFFFE)) { If (ASLP) { Sleep (ASLP) } Else { Sleep (0x32) } } Return (CSTS) } Method (PCEV, 0, NotSerialized) { If (CEVT) { If (ASLP) { Sleep (ASLP) } Else { Sleep (0x32) } } Return (CEVT) } Method (GNOT, 1, NotSerialized) { If (PDRD ()) { Return (One) } If (PSTS ()) { Return (One) } If (PCEV ()) { Return (One) } If (And (DSEN, 0x03)) { Return (One) } Store (ShiftLeft (One, Arg0), CEVT) If (LEqual (CHPD, Zero)) { Store (0x03, CSTS) If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (PCI0, Zero) } Else { Notify (GFX0, Zero) } If (PSTS ()) { Store (Zero, CEVT) Store (Zero, CSTS) Return (One) } } Store (0x03, CSTS) Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) If (LEqual (GNOT (Zero), Zero)) { Notify (GFX0, 0x80) If (PSTS ()) { Store (Zero, CEVT) Store (Zero, CSTS) Return (One) } Store (Zero, CEVT) Return (Zero) } Else { Notify (GFX0, 0x80) Return (One) } } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) If (LEqual (GNOT (0x02), Zero)) { Notify (GFX0, 0x80) If (PSTS ()) { Store (Zero, CEVT) Store (Zero, CSTS) Return (One) } Store (Zero, CEVT) Return (Zero) } Else { Notify (GFX0, 0x80) Return (One) } } Method (PARD, 0, NotSerialized) { If (LNot (And (ARDY, One))) { If (ASLP) { Sleep (ASLP) } Else { Sleep (0x32) } } Return (LNot (And (ARDY, One))) } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LEqual (Arg0, 0x02)) { Store (Arg1, PFIT) Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Arg1, 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) } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), Offset (0xA0), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xA4), ASLE, 8, Offset (0xB0), GCR, 32, 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, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 256, CPDL, 256, CAD1, 32, CAD2, 32, CAD3, 32, CAD4, 32, CAD5, 32, CAD6, 32, CAD7, 32, CAD8, 32, NAD1, 32, NAD2, 32, NAD3, 32, NAD4, 32, NAD5, 32, NAD6, 32, NAD7, 32, NAD8, 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, Offset (0x400), GVD1, 57344 } Method (GSCI, 0, NotSerialized) { If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (GBDA, 0, NotSerialized) { If (LEqual (GESF, Zero)) { Store (0x0239, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xFFFFFF00, 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) XOr (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (0x03, PARM) } Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, NotSerialized) { If (LEqual (GESF, Zero)) { Store (0x0320, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { ShiftRight (PARM, 0x1C, Local0) If (LEqual (Local0, Zero)) { Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (NVLD) } 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) } Store (Zero, GESF) Return (CRIT) } Name (OPBS, 0xFFFFFF00) Method (OPTS, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (ASLS, OPBS) } } Method (OWAK, 1, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (OPBS, ASLS) Store (One, GSES) } } } Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Device (SCHC) { Name (_ADR, Zero) OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0x90), SMCR, 32, SMDR, 32 } Method (RMBR, 2, Serialized) { Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0) Or (0xD0000000, Local0, SMCR) Return (SMDR) } Method (WMBR, 3, Serialized) { Store (Arg2, SMDR) Or (ShiftLeft (Arg0, 0x10), ShiftLeft (Arg1, 0x08), Local0) Or (0xE0000000, Local0, SMCR) } } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length ,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadOnly, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadOnly, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y02, AddressRangeMemory, TypeStatic) }) OperationRegion (GFX0.BSMA, PCI_Config, 0x5C, 0x04) Field (GFX0.BSMA, ByteAcc, NoLock, Preserve) { IBSM, 32 } OperationRegion (GFX0.BSML, PCI_Config, 0x52, 0x02) Field (GFX0.BSML, ByteAcc, NoLock, Preserve) { , 4, IGMS, 3 } Method (_CRS, 0, Serialized) { Store (^SCHC.RMBR (0x02, 0x03), Local0) If (And (Local0, 0x02)) { CreateBitField (BUF0, \_SB.PCI0._Y00._RW, E0RW) Store (One, E0RW) } If (And (Local0, 0x04)) { CreateBitField (BUF0, \_SB.PCI0._Y01._RW, F0RW) Store (One, F0RW) } CreateDWordField (BUF0, \_SB.PCI0._Y02._MIN, M1MN) CreateDWordField (BUF0, \_SB.PCI0._Y02._MAX, M1MX) CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, M1LN) CreateDWordField (BUF0, \_SB.PCI0._Y03._MIN, IMIN) CreateDWordField (BUF0, \_SB.PCI0._Y03._MAX, IMAX) CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, ILEN) And (^SCHC.RMBR (0x02, 0x08), 0xF0000000, M1MN) Add (Subtract (M1MX, M1MN), One, M1LN) Store (IBSM, IMIN) Store (IGMS, Local0) If (LEqual (Local0, One)) { Store (0x00100000, ILEN) } If (LEqual (Local0, 0x02)) { Store (0x00400000, ILEN) } If (LEqual (Local0, 0x03)) { Store (0x00800000, ILEN) } Add (IMIN, Decrement (ILEN), IMAX) Return (BUF0) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x0C) { Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x16 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x001EFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001EFFFF, One, Zero, 0x11 }, Package (0x04) { 0x001EFFFF, 0x02, Zero, 0x12 } }) } Else { Return (Package (0x0C) { Package (0x04) { 0x0002FFFF, Zero, ^LPCB.LNKC, Zero }, Package (0x04) { 0x001AFFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001BFFFF, Zero, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001CFFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001CFFFF, One, ^LPCB.LNKB, Zero }, Package (0x04) { 0x001DFFFF, Zero, ^LPCB.LNKF, Zero }, Package (0x04) { 0x001DFFFF, One, ^LPCB.LNKG, Zero }, Package (0x04) { 0x001DFFFF, 0x02, ^LPCB.LNKH, Zero }, Package (0x04) { 0x001DFFFF, 0x03, ^LPCB.LNKE, Zero }, Package (0x04) { 0x001EFFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001EFFFF, One, ^LPCB.LNKB, Zero }, Package (0x04) { 0x001EFFFF, 0x02, ^LPCB.LNKC, Zero } }) } } Device (PDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, One) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y05) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length _Y04) Memory32Fixed (ReadWrite, 0x40000000, // Address Base 0x40000000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEC00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x0000C000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEE00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFC00000, // Address Base 0x00040000, // Address Length ) }) Method (_CRS, 0, Serialized) { CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y04._BAS, RBR0) ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0) Store (^^SCHC.RMBR (Zero, Zero), Local0) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y05._BAS, ECB0) And (Local0, 0xF0000000, ECB0) If (And (Local0, One)) { CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y05._LEN, ECS0) Store (0x10000000, ECS0) } Return (BUF0) } } Device (HDEF) { Name (_ADR, 0x001B0000) OperationRegion (HDCS, PCI_Config, 0x54, 0x04) Field (HDCS, DWordAcc, NoLock, Preserve) { PWST, 2, , 13, PMES, 1 } OperationRegion (HDCL, PCI_Config, 0x40, One) Field (HDCL, ByteAcc, NoLock, Preserve) { LMVE, 1, Offset (0x01) } OperationRegion (HDFD, PCI_Config, 0xFC, One) Field (HDFD, ByteAcc, NoLock, Preserve) { , 1, MSDS, 1, Offset (0x01) } Method (_PS0, 0, NotSerialized) { Store (Zero, PWST) Sleep (0x14) Store (One, LMVE) Store (One, MSDS) } Method (_PS3, 0, NotSerialized) { Noop } } Device (RP01) { Name (_ADR, 0x001C0000) OperationRegion (P1CS, PCI_Config, 0x40, 0xC0) Field (P1CS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LAS1, 1, Offset (0x1A), ABP1, 1, , 2, PDC1, 1, , 2, PDS1, 1, LSC1, 1, Offset (0x20), Offset (0x22), PSP1, 1, Offset (0x9C), , 30, HPS1, 1, PMS1, 1, Offset (0xBC), RP1D, 1 } Device (MLAN) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x08, 0x03 }) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKD, Zero } }) } } } Device (RP02) { Name (_ADR, 0x001C0001) OperationRegion (P2CS, PCI_Config, 0x40, 0xC0) Field (P2CS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LAS2, 1, Offset (0x1A), ABP2, 1, , 2, PDC2, 1, , 2, PDS2, 1, Offset (0x1B), LSC2, 1, Offset (0x20), Offset (0x22), PSP2, 1, Offset (0x9C), , 30, HPS2, 1, PMS2, 1, Offset (0xBC), RP2D, 1 } Device (WLAN) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x03 }) OperationRegion (WLCS, PCI_Config, Zero, 0x04) Field (WLCS, AnyAcc, NoLock, Preserve) { VID, 16, DID, 16 } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKA, Zero } }) } } } Device (USB1) { Name (_ADR, 0x001D0000) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Name (_PRW, Package (0x02) { Zero, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB2) { Name (_ADR, 0x001D0001) OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) Field (U2CS, DWordAcc, NoLock, Preserve) { U2EN, 2 } Name (_PRW, Package (0x02) { 0x02, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U2EN) } Else { Store (Zero, U2EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB3) { Name (_ADR, 0x001D0002) OperationRegion (U3CS, PCI_Config, 0xC4, 0x04) Field (U3CS, DWordAcc, NoLock, Preserve) { U3EN, 2 } Name (_PRW, Package (0x02) { 0x04, 0x03 }) Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U3EN) } Else { Store (Zero, U3EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USBC) { Name (_ADR, 0x001A0000) } Device (EHC1) { Name (_ADR, 0x001D0007) OperationRegion (U7CS, PCI_Config, 0x54, 0x04) Field (U7CS, DWordAcc, NoLock, Preserve) { , 15, PMES, 1 } Device (HUB7) { Name (_ADR, Zero) Device (PRT1) { Name (_ADR, One) } Device (PRT2) { Name (_ADR, 0x02) } Device (PRT3) { Name (_ADR, 0x03) } Device (PRT4) { Name (_ADR, 0x04) } Device (PRT5) { Name (_ADR, 0x05) } Device (PRT6) { Name (_ADR, 0x06) } } Name (_PRW, Package (0x02) { 0x07, 0x03 }) Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (LPCB) { Name (_ADR, 0x001F0000) OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x20), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0xB0), RAEN, 1, , 13, RCBA, 18 } OperationRegion (GEN2, PCI_Config, 0x88, 0x04) Field (GEN2, AnyAcc, NoLock, Preserve) { G2DA, 32 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_STA, 0, NotSerialized) { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PARC, 0x80, PARC) } Method (_CRS, 0, NotSerialized) { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLA, One, IRQ0) If (And (PARC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PARC, 0x0F), IRQ0) Return (RTLA) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PARC) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PBRC, 0x80, PBRC) } Method (_CRS, 0, NotSerialized) { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLB, One, IRQ0) If (And (PBRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PBRC, 0x0F), IRQ0) Return (RTLB) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PBRC) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PCRC, 0x80, PCRC) } Method (_CRS, 0, NotSerialized) { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLC, One, IRQ0) If (And (PCRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PCRC, 0x0F), IRQ0) Return (RTLC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PCRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PDRC, 0x80, PDRC) } Method (_CRS, 0, NotSerialized) { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLD, One, IRQ0) If (And (PDRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PDRC, 0x0F), IRQ0) Return (RTLD) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PDRC) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PERC, 0x80, PERC) } Method (_CRS, 0, NotSerialized) { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLE, One, IRQ0) If (And (PERC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PERC, 0x0F), IRQ0) Return (RTLE) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PERC) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PFRC, 0x80, PFRC) } Method (_CRS, 0, NotSerialized) { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLF, One, IRQ0) If (And (PFRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PFRC, 0x0F), IRQ0) Return (RTLF) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PFRC) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PGRC, 0x80, PGRC) } Method (_CRS, 0, NotSerialized) { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLG, One, IRQ0) If (And (PGRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PGRC, 0x0F), IRQ0) Return (RTLG) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PGRC) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } Method (_DIS, 0, NotSerialized) { Or (PHRC, 0x80, PHRC) } Method (_CRS, 0, NotSerialized) { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {} }) CreateWordField (RTLH, One, IRQ0) If (And (PHRC, 0x80)) { Store (Zero, Local0) } Else { Store (One, Local0) } ShiftLeft (Local0, And (PHRC, 0x0F), IRQ0) Return (RTLH) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,10,11,12} }) Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) If (LNotEqual (IRQ0, Zero)) { And (Local0, 0x7F, Local0) Decrement (Local0) } Else { Or (Local0, 0x80, Local0) } Store (Local0, PHRC) } } Device (H8EC) { Name (_HID, EisaId ("PNP0C09")) Name (_UID, One) Name (WONF, Zero) Name (WOFF, Zero) Name (SONF, Zero) Name (SOFF, Zero) Method (_CRS, 0, NotSerialized) { Name (BFFR, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Return (BFFR) } OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF) Field (ECF2, ByteAcc, Lock, Preserve) { RTMP, 8, LTMP, 8, MTMP, 8, GTMP, 8, ACPW, 1, LSTE, 1, CRTS, 1, UDR, 1, DCKS, 1, FANS, 1, , 1, DWKC, 1, CRT, 8, PSV, 8, B0ST, 8, SM01, 16, SM10, 16, SM18, 16, SM19, 16, SM0D, 16, SM0F, 16, SM09, 16, SM0B, 16, SM08, 16, AVRT, 16, CHCU, 16, HKEV, 1, EBCF, 1, LBHA, 1, , 1, BCHA, 1, Offset (0x1F), HKCD, 8, WLSL, 1, BTSL, 1, WWSL, 1, WLPW, 1, BTPW, 1, WWPW, 1, WWRF, 1, WMSL, 1, EVDO, 1, HSDP, 1, EDG, 1, , 1, , 1, GPSP, 1, Offset (0x22), SWUR, 8, Offset (0x24), ACPC, 1, ENTP, 1, USBO, 1, Offset (0x25), ACPS, 1, Offset (0x26), ENPS, 1, Offset (0x27), USBP, 1, Offset (0x28), S5LR, 1, S4LR, 1, S3LR, 1, Offset (0x29), , 1, Offset (0x2A), MODF, 8, Offset (0x2C), SIOP, 8, SIRQ, 8, SFN0, 8, SFN1, 8, SFN2, 8, SFN3, 8, SFN4, 8, SFN5, 8, SFN6, 8, SFN7, 8, SIMS, 1, WSWS, 1, Offset (0x37), PNDC, 8, Offset (0x39), Offset (0x3A), Offset (0x3B), Offset (0x3D), Offset (0x3F), Offset (0x41), Offset (0x43), Offset (0x45), Offset (0x47), Offset (0x49), Offset (0x4B), Offset (0x4D), Offset (0x4F), Offset (0x51), Offset (0x53), Offset (0x62), THMP, 2, Offset (0x63), Offset (0x64), SOPS, 1, UOPS, 1, Offset (0x65), SOPP, 1, , 1, BTPS, 1, Offset (0x66), DNGL, 1, Offset (0x70), HSST, 1, HSCP, 1, Offset (0x71), Offset (0x72), SSIF, 8, Offset (0xA0), PDST, 1, Offset (0xA1), Offset (0xE0), BCCS, 8, Offset (0xE2), Offset (0xE3), Offset (0xE4), Offset (0xE5), Offset (0xE6), Offset (0xE7), Offset (0xE8), Offset (0xEA), Offset (0xEC) } Method (_REG, 2, NotSerialized) { If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) { Store (One, ECOK) } } Name (_GPE, 0x0D) Method (_Q01, 0, NotSerialized) { Store (0x11, P80H) Sleep (0x14) Notify (BAT0, 0x81) } Method (_Q02, 0, NotSerialized) { Store (0x22, P80H) Sleep (0x14) Notify (BAT0, 0x81) } Method (_Q03, 0, NotSerialized) { Store (0x33, P80H) } Method (_Q04, 0, NotSerialized) { Store (0x44, P80H) Notify (AC, 0x80) PNOT () } Method (_Q05, 0, NotSerialized) { Store (0x55, P80H) Notify (AC, 0x80) PNOT () } Method (_Q08, 0, NotSerialized) { Store (0x88, P80H) Notify (LID0, 0x80) } Method (_Q09, 0, NotSerialized) { Store (0x99, P80H) Notify (LID0, 0x80) } Method (_Q0A, 0, NotSerialized) { Store (0xAA, P80H) If (ECON) { Store (HKEV, Local0) } Else { And (RECS (0x1E), One, Local0) } If (Local0) { If (ECON) { Store (HKCD, ^^SNC.ECR) } Else { Store (RECS (0x1F), ^^SNC.ECR) } ^^SNC.SNNE (0x0100) } } Method (_Q0B, 0, NotSerialized) { Store (0xBB, P80H) If (ECON) { Store (HKEV, Local0) } Else { And (RECS (0x1E), One, Local0) } If (Local0) { If (ECON) { Store (HKCD, ^^SNC.ECR) } Else { Store (RECS (0x1F), ^^SNC.ECR) } ^^SNC.SNNE (0x0100) } } Method (_Q0C, 0, NotSerialized) { Store (0xCC, P80H) If (LGreaterEqual (OSYS, 0x07D6)) { If (IGDS) { Notify (GFX0, 0x81) } Else { } } } Method (_Q0D, 0, NotSerialized) { Store (0xDD, P80H) Notify (PWRB, 0x80) } Method (_Q0E, 0, NotSerialized) { Store (0xEE, P80H) Notify (\_TZ.ATF0, 0x81) } Method (_Q10, 0, NotSerialized) { Store (0x10, P80H) ^^SNC.SNNE (0x0101) } Method (_Q12, 0, NotSerialized) { Store (0x12, P80H) Notify (\_TZ.ATF0, 0x80) } Method (_Q13, 0, NotSerialized) { Store (0x13, P80H) If (ECON) { Store (WSWS, Local0) } Else { And (RECS (0x36), 0x02, Local0) ShiftRight (Local0, One, Local0) } If (LNot (Local0)) { Store (One, WONF) Store (Zero, WOFF) Store (Zero, SONF) Store (Zero, SOFF) ^^SNC.SNNE (0x0124) } } Method (_Q14, 0, NotSerialized) { Store (0x14, P80H) If (ECON) { Store (WSWS, Local0) } Else { And (RECS (0x36), 0x02, Local0) ShiftRight (Local0, One, Local0) } If (Local0) { Store (Zero, WONF) Store (One, WOFF) Store (Zero, SONF) Store (Zero, SOFF) ^^SNC.SNNE (0x0124) } } Method (_Q15, 0, NotSerialized) { Store (0x15, P80H) If (ECON) { Store (SIMS, Local0) } Else { And (RECS (0x36), One, Local0) } If (LNot (Local0)) { Store (Zero, WONF) Store (Zero, WOFF) Store (One, SONF) Store (Zero, SOFF) ^^SNC.SNNE (0x0124) } } Method (_Q16, 0, NotSerialized) { Store (0x16, P80H) If (ECON) { Store (SIMS, Local0) } Else { And (RECS (0x36), One, Local0) } If (Local0) { Store (Zero, WONF) Store (Zero, WOFF) Store (Zero, SONF) Store (One, SOFF) ^^SNC.SNNE (0x0124) } } Method (_Q20, 0, NotSerialized) { ^^SNC.SNNE (0x0132) } } Device (SPIC) { Name (_HID, EisaId ("SNY6001")) Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0xC000, // Range Minimum 0xC000, // Range Maximum 0x01, // Alignment 0x20, // Length _Y06) IRQNoFlags (_Y07) {11} }) CreateWordField (BUF0, \_SB.PCI0.LPCB.SPIC._CRS._Y06._MIN, IO0S) CreateWordField (BUF0, \_SB.PCI0.LPCB.SPIC._CRS._Y06._MAX, IO0E) CreateWordField (BUF0, \_SB.PCI0.LPCB.SPIC._CRS._Y07._INT, IRQN) Store (0xC000, IO0S) Store (0xC000, IO0E) Store (0x0800, IRQN) If (ECON) { Store (^^H8EC.SIOP, Local0) Store (^^H8EC.SIRQ, Local1) } Else { Store (RECS (0x2C), Local0) Store (RECS (0x2D), Local1) } If (LEqual (Local0, One)) { Store (0xC800, IO0S) Store (0xC800, IO0E) } If (LEqual (Local0, 0x02)) { Store (0xD000, IO0S) Store (0xD000, IO0E) } If (LEqual (Local0, 0x03)) { Store (0xD800, IO0S) Store (0xD800, IO0E) } If (LEqual (Local1, 0x06)) { Store (0x40, IRQN) } If (LEqual (Local1, 0x09)) { Store (0x0200, IRQN) } If (LEqual (Local1, 0x0A)) { Store (0x0400, IRQN) } Return (BUF0) } Method (_PRS, 0, Serialized) { Name (BUF0, ResourceTemplate () { StartDependentFn (0x00, 0x02) { IO (Decode16, 0xC000, // Range Minimum 0xC000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IRQNoFlags () {6,9,10,11} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0xC800, // Range Minimum 0xC800, // Range Maximum 0x01, // Alignment 0x20, // Length ) IRQNoFlags () {6,9,10,11} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0xD000, // Range Minimum 0xD000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IRQNoFlags () {6,9,10,11} } StartDependentFn (0x00, 0x02) { IO (Decode16, 0xD800, // Range Minimum 0xD800, // Range Maximum 0x01, // Alignment 0x20, // Length ) IRQNoFlags () {6,9,10,11} } EndDependentFn () }) Return (BUF0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x02, IO0S) CreateWordField (Arg0, 0x04, IO0E) CreateWordField (Arg0, 0x09, IRQN) Store (0x001CC001, Local0) Store (Zero, Local1) Store (0x0B, Local2) If (LEqual (IO0S, 0xC800)) { Store (0x001CC801, Local0) Store (One, Local1) } If (LEqual (IO0S, 0xD000)) { Store (0x001CD001, Local0) Store (0x02, Local1) } If (LEqual (IO0S, 0xD800)) { Store (0x001CD801, Local0) Store (0x03, Local1) } If (LEqual (IRQN, 0x40)) { Store (0x06, Local2) } If (LEqual (IRQN, 0x0200)) { Store (0x09, Local2) } If (LEqual (IRQN, 0x0400)) { Store (0x0A, Local2) } Store (Local0, ^^G2DA) If (ECON) { Store (Local1, ^^H8EC.SIOP) Store (Local2, ^^H8EC.SIRQ) } Else { SPIR (Local1, Local2) } Store (0x0F, _STA) } Name (_STA, 0x0D) Name (SAVF, Zero) Name (SIOP, Zero) Name (SIRQ, Zero) Name (G2DA, Zero) Method (SAVE, 0, NotSerialized) { If (ECON) { Store (^^H8EC.SIOP, SIOP) Store (^^H8EC.SIRQ, SIRQ) } Else { Store (RECS (0x2C), SIOP) Store (RECS (0x2D), SIRQ) } Store (^^G2DA, G2DA) Store (One, SAVF) } Method (RSTR, 0, NotSerialized) { If (LEqual (SAVF, One)) { If (ECON) { Store (SIOP, ^^H8EC.SIOP) Store (SIRQ, ^^H8EC.SIRQ) } Else { SPIR (SIOP, SIRQ) } Store (G2DA, ^^G2DA) Store (Zero, SAVF) } } } Device (FWHD) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (_CID, EisaId ("PNP0C01")) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) Method (_STA, 0, NotSerialized) { If (LGreaterEqual (OSYS, 0x07D1)) { Return (0x0F) } Else { Return (0x0B) } } Method (_CRS, 0, Serialized) { 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 (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 (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } 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, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x04, // 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, 0x2000, // Range Minimum 0x2000, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x2004, // Range Minimum 0x2004, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0820, // Range Minimum 0x0820, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x01, // Alignment 0x0C, // Length ) IO (Decode16, 0x0374, // Range Minimum 0x0374, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0377, // Range Minimum 0x0377, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x03F4, // Range Minimum 0x03F4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x03F7, // Range Minimum 0x03F7, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0410, // Range Minimum 0x0410, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0600, // Range Minimum 0x0600, // Range Maximum 0x01, // Alignment 0x40, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0x60, // Length ) IO (Decode16, 0x1040, // Range Minimum 0x1040, // Range Maximum 0x01, // Alignment 0x40, // Length ) }) } Device (SNC) { Name (_HID, EisaId ("SNY5001")) Method (_INI, 0, NotSerialized) { SNIN () } Method (PWAK, 0, NotSerialized) { Sleep (0x0A) PNOT () Return (Zero) } Method (ECON, 1, NotSerialized) { And (Arg0, One, \ECON) Return (\ECON) } Method (GBRT, 0, NotSerialized) { Return (LCDB) } Method (SBRT, 1, Serialized) { If (LAnd (LGreaterEqual (Arg0, Zero), LLessEqual (Arg0, 0x08))) { Store (Arg0, LCDB) Store (ISTP (0x07, Zero), Local0) ^^^GFX0.AINT (One, Local0) } Else { } } Method (EAWK, 1, Serialized) { Store (ISTP (0x06, Zero), Local0) If (LEqual (Local0, Ones)) { Return (Not (Arg0)) } Return (Arg0) } Name (FNL0, Package (0x10) { 0x0100, 0x0101, Zero, 0x0124, 0x0132, 0x0125, Zero, 0x0121, 0x0105, 0x0114, 0x0119, 0x0122, 0x0130, 0x0115, 0x0131, Zero }) Name (FNL1, Package (0x10) { 0x0100, 0x0101, 0x0113, 0x0124, 0x0132, 0x0125, 0x011D, 0x0121, 0x0105, 0x0114, 0x0119, 0x0122, 0x0130, 0x0115, 0x0131, Zero }) Name (CFGI, Package (0x30) {}) Name (ENCR, Zero) Name (ESR, Zero) Mutex (LENR, 0x00) Name (BUFF, Buffer (0x0410) {}) CreateDWordField (BUFF, Zero, BUFS) CreateByteField (BUFF, Zero, BUF0) CreateByteField (BUFF, One, BUF1) CreateByteField (BUFF, 0x02, BUF2) CreateByteField (BUFF, 0x03, BUF3) Name (ECR, Zero) Method (SN00, 1, NotSerialized) { If (LAnd (LGreaterEqual (Arg0, Zero), LLess (Arg0, 0x30))) { Return (DerefOf (Index (CFGI, Arg0))) } Return (Zero) } Method (SN01, 0, NotSerialized) { Return (ENCR) } Method (SN02, 1, NotSerialized) { And (Arg0, 0xFFFF, Local0) Acquire (LENR, 0xFFFF) Or (ENCR, Local0, ENCR) Release (LENR) } Method (SN03, 1, NotSerialized) { Not (Arg0, Local0) And (Local0, 0xFFFF, Local0) Acquire (LENR, 0xFFFF) And (ENCR, Local0, ENCR) Release (LENR) } Method (SN04, 0, NotSerialized) { Return (ESR) } Method (SN05, 1, NotSerialized) { Not (Arg0, Local0) And (Local0, 0xFFFF, Local0) And (ESR, Local0, ESR) } Method (SN06, 1, NotSerialized) { Return (SNCF (Arg0, One)) } Method (SN07, 1, NotSerialized) { Return (SNCF (Arg0, Zero)) } Method (SNIN, 0, NotSerialized) { Store (Zero, Local0) While (LLess (Local0, SizeOf (CFGI))) { Store (Zero, Index (CFGI, Local0)) Increment (Local0) } Store (0x53636E53, Index (CFGI, Zero)) Store (0x6F707075, Index (CFGI, One)) Store (0x64657472, Index (CFGI, 0x02)) Store (0x0100, Index (CFGI, 0x03)) Store (0x33550000, Index (CFGI, 0x04)) If (LEqual (OSYS, 0x07D6)) { Store (FNL1, Local0) } Else { Store (FNL0, Local0) } Store (Zero, Local1) While (LLess (Local1, SizeOf (Local0))) { If (DerefOf (Index (Local0, Local1))) { Or (DerefOf (Index (CFGI, 0x10)), ShiftLeft (One, Local1), Index (CFGI, 0x10)) Store (DerefOf (Index (Local0, Local1)), Index (CFGI, Add (Local1, 0x20))) } Increment (Local1) } UVPS () } Method (SNCF, 2, Serialized) { Store (Arg0, BUFF) Store (And (BUF0, 0x0F), Local0) Name (_T_0, Zero) Store (DerefOf (Index (CFGI, Add (Local0, 0x20))), _T_0) If (LEqual (_T_0, Zero)) {} Else { If (LEqual (_T_0, 0x0100)) { F100 () } Else { If (LEqual (_T_0, 0x0101)) { F101 () } Else { If (LEqual (_T_0, 0x0113)) { F113 () } Else { If (LEqual (_T_0, 0x0105)) { F105 () } Else { If (LEqual (_T_0, 0x0114)) { F114 () } Else { If (LEqual (_T_0, 0x0115)) { F115 () } Else { If (LEqual (_T_0, 0x011D)) { F11D () } Else { If (LEqual (_T_0, 0x0119)) { F119 () } Else { If (LEqual (_T_0, 0x0121)) { F121 () } Else { If (LEqual (_T_0, 0x0122)) { F122 () } Else { If (LEqual (_T_0, 0x0124)) { F124 () } Else { If (LEqual (_T_0, 0x0125)) { F125 () } Else { If (LEqual (_T_0, 0x0130)) { F130 () } Else { If (LEqual (_T_0, 0x0131)) { F131 () } Else { If (LEqual (_T_0, 0x0132)) { F132 () } Else { } } } } } } } } } } } } } } } } If (Arg1) { Return (BUFF) } Else { Return (BUFS) } } Method (SNNE, 1, Serialized) { Store (Zero, Local0) While (LLess (Local0, 0x10)) { If (LEqual (Arg0, DerefOf (Index (CFGI, Add (0x20, Local0) )))) { Or (ESR, ShiftLeft (One, Local0), ESR) If (And (ENCR, ShiftLeft (One, Local0))) { Notify (SNC, Add (0x90, Local0)) } } Increment (Local0) } } Method (F100, 0, NotSerialized) { Name (_T_0, Zero) Store (BUF1, _T_0) If (LEqual (_T_0, Zero)) { Store (One, ^^H8EC.HKEV) } Else { If (LEqual (_T_0, One)) { Store (Zero, ^^H8EC.HKEV) } Else { If (LEqual (_T_0, 0x02)) { Store (ECR, BUF0) } } } } Method (F113, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (One, BUF0) } If (LEqual (BUF1, One)) { Store (^^H8EC.DDRG, Local0) Store (And (Local0, One), BUF0) } If (LEqual (BUF1, 0x02)) { Store (And (BUF2, One), Local0) Store (Local0, ^^H8EC.DDRG) } } Scope (^H8EC) { Field (ECF2, ByteAcc, Lock, Preserve) { Offset (0x3A), DDRG, 8 } } Method (F101, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (One, ^^H8EC.BCHA) } Else { If (LEqual (BUF1, One)) { Store (Zero, ^^H8EC.BCHA) } } } Method (F105, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (And (^^H8EC.PDST, One), BUF0) } Else { If (LEqual (BUF1, One)) { Store (And (BUF2, One), ^^H8EC.PDST) ISTP (0x08, And (BUF2, One)) } } } Method (F114, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (^^H8EC.MODF, BUF0) } } Method (F115, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { And (^^H8EC.BCCS, 0xF1, BUF0) } Else { If (LEqual (BUF1, One)) { And (BUF2, 0xF3, ^^H8EC.BCCS) } } } Method (F11D, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (Zero, Local0) Store (Zero, Local1) While (LLess (Local0, SizeOf (DCID))) { Store (DerefOf (Index (DerefOf (Index (DCID, Local0)), Zero)), Local2) If (LEqual (GPID (), Local2)) { Store (DerefOf (Index (DerefOf (Index (DCID, Local0)), One)), Local1) Break } Else { Increment (Local0) } } Store (Local1, BUF0) } } Name (DCID, Package (0x04) { Package (0x02) { 0x03, Zero }, Package (0x02) { One, One }, Package (0x02) { Zero, Zero }, Package (0x02) { 0x02, Zero } }) Field (GPIO, ByteAcc, NoLock, Preserve) { Offset (0x28), PID0, 1, PID1, 1, Offset (0x29) } Method (GPID, 0, NotSerialized) { Store (Zero, Local0) Or (Local0, ShiftLeft (PID0, Zero), Local0) Or (Local0, ShiftLeft (PID1, One), Local0) Return (Local0) } Method (F119, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (^^H8EC.S5LR, Local0) Or (Local0, ShiftLeft (^^H8EC.S4LR, One), Local0) Or (Local0, ShiftLeft (^^H8EC.S3LR, 0x02), Local0) Store (Local0, BUF0) } If (LEqual (BUF1, One)) { And (BUF2, One, ^^H8EC.S5LR) ShiftRight (And (BUF2, 0x02), One, ^^H8EC.S4LR) ShiftRight (And (BUF2, 0x04), 0x02, ^^H8EC.S3LR) } } Method (F121, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (One, ^^H8EC.LBHA) } Else { If (LEqual (BUF1, One)) { Store (Zero, ^^H8EC.LBHA) } Else { If (LEqual (BUF1, 0x02)) { If (LEqual (^^H8EC.SWUR, One)) { Store (One, BUF0) } Else { Store (Zero, BUF0) } } } } } Method (F122, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (0x02, BUF0) } Else { If (LEqual (BUF1, One)) { And (^^H8EC.THMP, 0x03, BUF0) } Else { If (LEqual (BUF1, 0x02)) { And (BUF2, 0x03, Local0) Store (Local0, ^^H8EC.THMP) } } } } Name (WLAP, Zero) Name (BLTH, Zero) Name (WNED, Zero) Name (WNHP, Zero) Name (WNEV, Zero) Name (WMAX, Zero) Name (WGPS, Zero) Name (V_WL, One) Name (V_WX, One) Method (F124, 0, NotSerialized) { Store (Zero, WLAP) Store (Zero, BLTH) Store (Zero, WNED) Store (Zero, WNHP) Store (Zero, WNEV) Store (Zero, WMAX) Store (Zero, WGPS) Store (^^^RP02.WLAN.VID, Local1) Store (^^^RP02.WLAN.DID, Local2) If (LEqual (Local1, 0x8086)) { If (LEqual (Local2, 0x4232)) { Store (One, WLAP) Store (Zero, ^^H8EC.WMSL) } Else { If (LEqual (Local2, 0x4235)) { Store (One, WLAP) Store (Zero, ^^H8EC.WMSL) } Else { If (LEqual (Local2, 0x423C)) { Store (One, WLAP) Store (One, WMAX) } Else { Noop } } } } If (LEqual (Local1, 0x168C)) { Store (Zero, ^^H8EC.WMSL) If (LEqual (Local2, 0x2A)) { Store (One, WLAP) } Else { Noop } } Store (^^H8EC.BTPS, Local1) If (Local1) { Store (One, BLTH) } Store (^^H8EC.EDG, Local1) If (Local1) { Store (One, WNED) } Store (^^H8EC.HSDP, Local1) If (Local1) { Store (One, WNHP) } Store (^^H8EC.EVDO, Local1) If (Local1) { Store (One, WNEV) } Store (^^H8EC.GPSP, Local1) If (Local1) { Store (One, WGPS) } Store (And (DerefOf (Index (BUFF, One)), 0x0F), Local0) If (LEqual (Local0, Zero)) { Store (Zero, Local3) If (WLAP) { Store (Zero, Index (BUFF, Local3)) Add (Local3, One, Local3) } If (BLTH) { Store (0x10, Index (BUFF, Local3)) Add (Local3, One, Local3) } If (WNED) { Store (0x20, Index (BUFF, Local3)) Add (Local3, One, Local3) } If (WNHP) { Store (0x21, Index (BUFF, Local3)) Add (Local3, One, Local3) } If (WNEV) { Store (0x22, Index (BUFF, Local3)) Add (Local3, One, Local3) } If (WGPS) { Store (0x23, Index (BUFF, Local3)) Add (Local3, One, Local3) } If (WMAX) { Store (0x30, Index (BUFF, Local3)) Add (Local3, One, Local3) } Store (0xFF, Index (BUFF, Local3)) } Else { If (LEqual (Local0, One)) { Store (Zero, Index (BUFF, Zero)) Store (Zero, Local1) If (LEqual (^^H8EC.WONF, One)) { Or (Local1, One, Local1) } Else { If (LEqual (^^H8EC.WOFF, One)) { Or (Local1, One, Local1) } Else { If (LEqual (^^H8EC.SONF, One)) { Or (Local1, 0x02, Local1) } Else { If (LEqual (^^H8EC.SOFF, One)) { Or (Local1, 0x02, Local1) } Else { Noop } } } } Store (Zero, ^^H8EC.WONF) Store (Zero, ^^H8EC.WOFF) Store (Zero, ^^H8EC.SONF) Store (Zero, ^^H8EC.SOFF) Store (Local1, Index (BUFF, Zero)) } Else { If (LEqual (Local0, 0x02)) { Store (Zero, Index (BUFF, Zero)) If (^^H8EC.SIMS) { Noop } Else { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, 0x02, Local2) Store (Local2, Index (BUFF, Zero)) } If (^^H8EC.WSWS) { Noop } Else { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, One, Local2) Store (Local2, Index (BUFF, Zero)) } } Else { If (LEqual (Local0, 0x03)) { Store (Zero, Index (BUFF, Zero)) If (WLAP) { Store (Zero, Index (BUFF, Zero)) If (^^H8EC.WLSL) { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, 0x02, Local2) Store (Local2, Index (BUFF, Zero)) } Else { Noop } If (LAnd (^^H8EC.WLPW, V_WL)) { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, One, Local2) Store (Local2, Index (BUFF, Zero)) } Else { Noop } } } Else { If (LEqual (Local0, 0x04)) { If (WLAP) { Store (And (DerefOf (Index (BUFF, 0x02)), 0x02), Local1) If (LEqual (Local1, 0x02)) { Store (One, ^^H8EC.WLSL) } Else { Store (Zero, ^^H8EC.WLSL) } Store (And (DerefOf (Index (BUFF, 0x02)), One), Local1) If (LEqual (Local1, One)) { Store (One, V_WL) Store (One, ^^H8EC.WLPW) } Else { Store (Zero, V_WL) If (LAnd (WMAX, V_WX)) { Noop } Else { Store (Zero, ^^H8EC.WLPW) } } } } Else { If (LEqual (Local0, 0x05)) { Store (Zero, Index (BUFF, Zero)) If (BLTH) { Store (Zero, Index (BUFF, Zero)) If (^^H8EC.BTSL) { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, 0x02, Local2) Store (Local2, Index (BUFF, Zero)) } Else { Noop } If (^^H8EC.BTPW) { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, One, Local2) Store (Local2, Index (BUFF, Zero)) } Else { Noop } } } Else { If (LEqual (Local0, 0x06)) { If (BLTH) { Store (And (DerefOf (Index (BUFF, 0x02)), 0x02), Local1) If (LEqual (Local1, 0x02)) { Store (One, ^^H8EC.BTSL) } Else { Store (Zero, ^^H8EC.BTSL) } If (^^H8EC.WSWS) { Store (Zero, ^^H8EC.BTPW) } Else { Store (And (DerefOf (Index (BUFF, 0x02)), One), Local1) If (LEqual (Local1, One)) { Store (One, ^^H8EC.BTPW) } Else { Store (Zero, ^^H8EC.BTPW) } } } } Else { If (LEqual (Local0, 0x07)) { Store (Zero, Index (BUFF, Zero)) Store (Zero, Local1) Or (Local1, WNED, Local1) Or (Local1, WNHP, Local1) Or (Local1, WNEV, Local1) If (Local1) { Store (Zero, Index (BUFF, Zero)) If (^^H8EC.WWRF) { Store (DerefOf (Index (BUFF, Zero)), Local3) Or (Local3, 0x04, Local3) Store (Local3, Index (BUFF, Zero)) } Else { Store (DerefOf (Index (BUFF, Zero)), Local3) And (Local3, 0xFB, Local3) Store (Local3, Index (BUFF, Zero)) } If (^^H8EC.WWSL) { Store (DerefOf (Index (BUFF, Zero)), Local3) Or (Local3, 0x02, Local3) Store (Local3, Index (BUFF, Zero)) } Else { Noop } If (^^H8EC.WWPW) { Store (DerefOf (Index (BUFF, Zero)), Local3) Or (Local3, One, Local3) Store (Local3, Index (BUFF, Zero)) } } } Else { If (LEqual (Local0, 0x08)) { Store (Zero, Local1) Or (Local1, WNED, Local1) Or (Local1, WNHP, Local1) Or (Local1, WNEV, Local1) If (Local1) { Store (And (DerefOf (Index (BUFF, 0x02)), 0x07), Local2) And (Local2, One, Local3) If (LEqual (Local3, One)) { Store (One, ^^H8EC.WWPW) } Else { Store (Zero, ^^H8EC.WWPW) } And (Local2, 0x04, Local3) If (LEqual (Local3, 0x04)) { Store (One, ^^H8EC.WWRF) } Else { Store (Zero, ^^H8EC.WWRF) } And (Local2, 0x02, Local3) If (LEqual (Local3, 0x02)) { Store (One, ^^H8EC.WWSL) } Else { Store (Zero, ^^H8EC.WWSL) } Store (And (DerefOf (Index (BUFF, 0x03)), 0x9F), Local2) And (Local2, 0x80, Local3) If (LEqual (Local3, 0x80)) { And (Local2, 0x1F, Local3) Store (Local3, ^^H8EC.PNDC) } } } Else { If (LEqual (Local0, 0x09)) { Store (Zero, Index (BUFF, Zero)) If (WMAX) { Store (Zero, Index (BUFF, Zero)) If (^^H8EC.WMSL) { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, 0x02, Local2) Store (Local2, Index (BUFF, Zero)) } Else { Noop } If (LAnd (^^H8EC.WLPW, V_WX)) { Store (DerefOf (Index (BUFF, Zero)), Local2) Or (Local2, One, Local2) Store (Local2, Index (BUFF, Zero)) } Else { Noop } } } Else { If (LEqual (Local0, 0x0A)) { If (WMAX) { Store (And (DerefOf (Index (BUFF, 0x02)), 0x02), Local1) If (LEqual (Local1, 0x02)) { Store (One, ^^H8EC.WMSL) } Else { Store (Zero, ^^H8EC.WMSL) } Store (And (DerefOf (Index (BUFF, 0x02)), One), Local1) If (LEqual (Local1, One)) { Store (One, V_WX) Store (One, ^^H8EC.WLPW) } Else { Store (Zero, V_WX) If (LAnd (WLAP, V_WL)) { Noop } Else { Store (Zero, ^^H8EC.WLPW) } } } } Else { Noop } } } } } } } } } } } } Method (UVPS, 0, NotSerialized) { Store (Zero, Local0) Store (Zero, Local1) Store (Zero, Local2) Store (Zero, Local3) If (\ECON) { Store (^^H8EC.WLPW, Local1) Store (^^H8EC.WLSL, Local2) Store (^^H8EC.WMSL, Local3) } Else { Store (RECS (0x20), Local0) And (Local0, 0x08, Local1) ShiftRight (Local1, 0x03, Local1) And (Local0, One, Local2) ShiftRight (Local2, Zero, Local2) And (Local0, 0x80, Local3) ShiftRight (Local3, 0x07, Local3) } And (Local1, Local2, V_WL) And (Local1, Local3, V_WX) } Method (F125, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { Store (^^H8EC.SFN0, Index (BUFF, Zero)) Store (^^H8EC.SFN1, Index (BUFF, One)) Store (^^H8EC.SFN2, Index (BUFF, 0x02)) Store (^^H8EC.SFN3, Index (BUFF, 0x03)) Store (^^H8EC.SFN4, Index (BUFF, 0x04)) Store (^^H8EC.SFN5, Index (BUFF, 0x05)) Store (^^H8EC.SFN6, Index (BUFF, 0x06)) Store (^^H8EC.SFN7, Index (BUFF, 0x07)) } } Method (F130, 0, NotSerialized) { If (LEqual (BUF1, Zero)) {} If (LEqual (BUF1, One)) {} } Method (F131, 0, NotSerialized) { If (LEqual (BUF1, Zero)) { If (^^H8EC.HSCP) { Store (One, BUF0) } Else { Store (Zero, BUF0) } } Else { If (LEqual (BUF1, One)) { If (^^H8EC.HSST) { Store (One, BUF0) } Else { Store (Zero, BUF0) } } Else { If (LEqual (BUF1, 0x02)) { If (^^H8EC.HSCP) { If (BUF2) { Store (One, ^^H8EC.HSST) } Else { Store (Zero, ^^H8EC.HSST) } } Else { Store (Zero, ^^H8EC.HSST) } } Else { Noop } } } } Method (F132, 0, NotSerialized) { Store (0xF6, P80H) Name (CMDP, Buffer (0x02) { 0x00, 0x00 }) Name (RTNW, Buffer (0x02) { 0x00, 0x00 }) Store (BUF2, Index (CMDP, Zero)) Store (BUF3, Index (CMDP, One)) CreateBitField (CMDP, One, I_ET) CreateBitField (RTNW, One, O_ET) Name (TMNT, Buffer (0x10) { /* 0000 */ 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (TETH, Buffer (0x10) { /* 0000 */ 0x03, 0x01, 0x86, 0x80, 0x10, 0x81, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) If (LEqual (BUF1, Zero)) { Store (Zero, P80H) Concatenate (TETH, TMNT, Local1) Store (Local1, BUFF) } Else { If (LEqual (BUF1, One)) { Store (One, P80H) Store (Ones, RTNW) If (\ECON) { Store (^^H8EC.ENPS, Local1) } Else { Store (RECS (0x26), Local1) } If (Local1) { Store (Zero, O_ET) } Store (RTNW, BUFF) } Else { If (LEqual (BUF1, 0x02)) { Store (0x02, P80H) If (I_ET) { If (\ECON) { Store (Zero, ^^H8EC.ENPS) } Else { WECS (0x26, Zero) } Sleep (0xFA) } } Else { If (LEqual (BUF1, 0x03)) { Store (0x03, P80H) If (I_ET) { If (\ECON) { Store (One, ^^H8EC.ENPS) } Else { WECS (0x26, One) } } } Else { If (LEqual (BUF1, 0x04)) { Store (0x04, P80H) Store (Zero, RTNW) Store (One, O_ET) Store (RTNW, BUFF) } Else { If (LEqual (BUF1, 0x05)) { Store (0x05, P80H) Store (Ones, RTNW) If (\ECON) { Store (^^H8EC.DNGL, Local2) } Else { Store (RECS (0x66), Local2) } If (LNot (Local2)) { Store (Zero, O_ET) } Store (RTNW, BUFF) } Else { Store (0x04, P80H) Noop } } } } } } } } 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} }) } Device (PS2M) { Name (_HID, EisaId ("SNY9010")) Name (_CID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } } Device (PATA) { Name (_ADR, 0x001F0001) OperationRegion (PACS, PCI_Config, 0x40, 0xC0) Field (PACS, DWordAcc, NoLock, Preserve) { Offset (0x20), C133, 1, Offset (0x40), PIM0, 3, Offset (0x41), MDM0, 2, Offset (0x42), SDM0, 3, , 11, PPE0, 1, USD0, 1, PIM1, 3, Offset (0x45), MDM1, 2, Offset (0x46), SDM1, 3, , 11, PPE1, 1, USD1, 1 } Method (GETP, 1, Serialized) { If (LEqual (Arg0, Zero)) { Return (0x0258) } If (LEqual (Arg0, One)) { Return (0x017F) } If (LEqual (Arg0, 0x02)) { Return (0xF0) } If (LEqual (Arg0, 0x03)) { Return (0xB4) } If (LEqual (Arg0, 0x04)) { Return (0x78) } Return (Ones) } Method (GETD, 1, Serialized) { If (LEqual (Arg0, Zero)) { Return (0x70) } If (LEqual (Arg0, One)) { Return (0x49) } If (LEqual (Arg0, 0x02)) { Return (0x36) } If (LEqual (Arg0, 0x03)) { Return (0x27) } If (LEqual (Arg0, 0x04)) { Return (0x19) } If (LEqual (Arg0, 0x05)) { Return (0x11) } If (LEqual (Arg0, 0x06)) { Return (0x0D) } Return (Ones) } Method (GETM, 1, Serialized) { If (LEqual (Arg0, Zero)) { Return (0x01E0) } If (LEqual (Arg0, One)) { Return (0x96) } If (LEqual (Arg0, 0x02)) { Return (0x78) } Return (Ones) } Method (GETF, 0, Serialized) { Name (TMPF, 0x1A) If (USD0) { Or (TMPF, One, TMPF) } If (USD1) { Or (TMPF, 0x04, TMPF) } Return (TMPF) } Method (SETP, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0xBC), And (Arg2, 0x02))) { Return (0x04) } } Return (0x03) } Method (SETD, 3, Serialized) { If (And (Arg1, 0x04)) { If (LAnd (LLessEqual (Arg0, 0x0F), And (Arg2, 0x40))) { Store (One, C133) Return (0x06) } If (LAnd (LLessEqual (Arg0, 0x14), And (Arg2, 0x20))) { Return (0x05) } If (LAnd (LLessEqual (Arg0, 0x1E), And (Arg2, 0x10))) { Return (0x04) } If (LAnd (LLessEqual (Arg0, 0x2D), And (Arg2, 0x08))) { Return (0x03) } If (LAnd (LLessEqual (Arg0, 0x3C), And (Arg2, 0x04))) { Return (0x02) } If (LAnd (LLessEqual (Arg0, 0x5A), And (Arg2, 0x02))) { Return (One) } } Return (Zero) } Method (SETM, 2, Serialized) { If (LAnd (LLessEqual (Arg0, 0x4B), And (Arg1, 0x00040000))) { Return (0x02) } If (LAnd (LLessEqual (Arg0, 0x53), And (Arg1, 0x00020000))) { Return (One) } Return (Zero) } Device (PRID) { Name (_ADR, Zero) Method (_GTM, 0, NotSerialized) { Name (PBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, Zero, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PIM0), PIO0) If (USD0) { Store (GETD (SDM0), DMA0) } Else { Store (GETM (MDM0), DMA0) } Store (GETP (PIM1), PIO1) If (USD1) { Store (GETD (SDM1), DMA1) } Else { Store (GETM (MDM1), DMA1) } Store (GETF (), FLAG) Return (PBUF) } Method (_STM, 3, NotSerialized) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { Store (Zero, USD0) Store (Zero, PPE0) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7C, W620) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) Store (One, PPE0) Store (SETP (PIO0, W530, W640), PIM0) If (And (FLAG, One)) { Store (One, USD0) Store (SETD (DMA0, W530, W880), SDM0) } Else { Store (SETM (DMA0, W620), MDM0) } } If (LEqual (SizeOf (Arg2), 0x0200)) { Store (Zero, USD1) Store (Zero, PPE1) CreateWordField (Arg1, 0x62, W491) CreateWordField (Arg1, 0x6A, W531) CreateWordField (Arg1, 0x7C, W621) CreateWordField (Arg1, 0x80, W641) CreateWordField (Arg1, 0xB0, W881) Store (One, PPE1) Store (SETP (PIO1, W531, W641), PIM1) If (And (FLAG, 0x04)) { Store (One, USD1) Store (SETD (DMA1, W531, W881), SDM1) } Else { Store (SETM (DMA1, W621), MDM1) } } } Device (P_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Name (PIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, One, PMD0) CreateByteField (PIB0, 0x08, DMD0) Store (Or (PIM0, 0x08), PMD0) If (USD0) { Store (Or (SDM0, 0x40), DMD0) } Else { Store (Or (MDM0, 0x20), DMD0) } Return (PIB0) } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Name (PIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, One, PMD1) CreateByteField (PIB1, 0x08, DMD1) Store (Or (PIM1, 0x08), PMD1) If (USD1) { Store (Or (SDM1, 0x40), DMD1) } Else { Store (Or (MDM1, 0x20), DMD1) } Return (PIB1) } } } } } } Scope (\) { Name (SSDT, Package (0x0C) { "CPU0IST ", 0x7F658C90, 0x000001F7, "CPU1IST ", 0x7F658F10, 0x000000D0, "CPU0CST ", 0x7F657690, 0x00000650, "CPU1CST ", 0x7F656F10, 0x00000083 }) Name (CFGD, 0x013B6EB1) Name (NOPS, 0x80000000) Name (\PDC0, 0x80000000) Name (\PDC1, 0x80000000) Name (\SDTL, Zero) } Scope (\_PR.CPU0) { Name (HI0, Zero) Name (HC0, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS0, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS0, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS0) CreateDWordField (Arg3, 0x04, CAP0) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, Index (STS0, Zero)) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, Index (STS0, Zero)) Return (Arg3) } Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0, 0x09), 0x09)), LNot (And (SDTL, One)))) { Or (SDTL, One, SDTL) OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, One)), DerefOf (Index (SSDT, 0x02 ))) Load (IST0, HI0) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18 )), LNot (And (SDTL, 0x02)))) { Or (SDTL, 0x02, SDTL) OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08 ))) Load (CST0, HC0) } } Return (Arg3) } } Scope (\_PR.CPU1) { Name (HI1, Zero) Name (HC1, Zero) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS1, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS1, TEMP, Local2) _OSC (Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS1) CreateDWordField (Arg3, 0x04, CAP1) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, Buffer (0x10) { /* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, /* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID1, Zero, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, Index (STS1, Zero)) Return (Arg3) } If (LNotEqual (Arg1, One)) { Store (0x0A, Index (STS1, Zero)) Return (Arg3) } Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1) If (And (CFGD, One)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC1, 0x09), 0x09)), LNot (And (SDTL, 0x10)))) { Or (SDTL, 0x10, SDTL) OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05 ))) Load (IST1, HI1) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC1, 0x18 )), LNot (And (SDTL, 0x20)))) { Or (SDTL, 0x20, SDTL) OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B ))) Load (CST1, HC1) } } Return (Arg3) } } }