/* RSD PTR: OEM=Sony, ACPI_Rev=2.0x (2) XSDT=0x00000000daffee18, length=36, cksum=253 */ /* XSDT: Length=116, Revision=1, Checksum=190, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=MSFT, Creator Revision=0x10013 Entries={ 0x00000000daf9ad98, 0x00000000daffdf18, 0x00000000dafe6d18, 0x00000000daf9b018, 0x00000000daf9cc18, 0x00000000dafe6c98, 0x00000000daf90018, 0x00000000daf8f018, 0x00000000dafe5b18, 0x00000000daf9ac18 } */ /* FACP: Length=244, Revision=4, Checksum=255, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=MSFT, Creator Revision=0x10013 FACS=0xdafe5e40, DSDT=0xdaf82018 INT_MODEL=APIC Preferred_PM_Profile=Mobile (2) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0 PSTATE_CNT=0x80 PM1a_EVT_BLK=0x400-0x403 PM1a_CNT_BLK=0x404-0x405 PM2_CNT_BLK=0x450-0x450 PM_TMR_BLK=0x408-0x40b GPE0_BLK=0x420-0x42f CST_CNT=0x85 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us FLUSH_SIZE=1024, FLUSH_STRIDE=16 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH={8042,NO_ASPM} Flags={WBINVD,C1_SUPPORTED,POWER_BUTTON,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON} RESET_REG=0x64:0[8] (IO), RESET_VALUE=0xfe */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=33816, Revision=1, Checksum=58, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=INTL, Creator Revision=0x20091112 */ /* APIC: Length=204, Revision=2, Checksum=60, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=MSFT, Creator Revision=0x10013 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=1 Flags={ENABLED} APIC ID=0 Type=Local APIC ACPI CPU=2 Flags={ENABLED} APIC ID=2 Type=Local APIC ACPI CPU=3 Flags={ENABLED} APIC ID=1 Type=Local APIC ACPI CPU=4 Flags={ENABLED} APIC ID=3 Type=Local APIC ACPI CPU=5 Flags={DISABLED} APIC ID=4 Type=Local APIC ACPI CPU=6 Flags={DISABLED} APIC ID=5 Type=Local APIC ACPI CPU=7 Flags={DISABLED} APIC ID=6 Type=Local APIC ACPI CPU=8 Flags={DISABLED} APIC ID=7 Type=Local APIC ACPI CPU=9 Flags={DISABLED} APIC ID=8 Type=Local APIC ACPI CPU=10 Flags={DISABLED} APIC ID=9 Type=Local APIC ACPI CPU=11 Flags={DISABLED} APIC ID=10 Type=Local APIC ACPI CPU=12 Flags={DISABLED} APIC ID=11 Type=Local APIC ACPI CPU=13 Flags={DISABLED} APIC ID=12 Type=Local APIC ACPI CPU=14 Flags={DISABLED} APIC ID=13 Type=Local APIC ACPI CPU=15 Flags={DISABLED} APIC ID=14 Type=Local APIC ACPI CPU=16 Flags={DISABLED} APIC ID=15 Type=IO APIC APIC ID=2 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} */ /* HPET: Length=56, Revision=1, Checksum=150, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=MSFT, Creator Revision=0x3 HPET Number=0 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1 Comparators=7 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x8086 Minimal Tick=14318 Flags=0x00 */ /* SSDT: Length=2612, Revision=1, Checksum=200, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=INTL, Creator Revision=0x20091112 */ /* SLIC: Length=374, Revision=1, Checksum=91, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=Sony, Creator Revision=0x1000000 */ /* MCFG: Length=60, Revision=1, Checksum=124, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=MSFT, Creator Revision=0x97 Base Address=0x00000000f8000000 Segment Group=0x0000 Start Bus=0 End Bus=63 */ /* SSDT: Length=2035, Revision=1, Checksum=160, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=INTL, Creator Revision=0x20091112 */ /* SSDT: Length=2634, Revision=1, Checksum=227, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=INTL, Creator Revision=0x20091112 */ /* ECDT: Length=193, Revision=1, Checksum=63, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=MSFT, Creator Revision=0x3 EC_CONTROL=0x66:0[8] (IO) EC_DATA=0x62:0[8] (IO) UID=0, GPE_BIT=0x17 EC_ID=\_SB.PCI0.LPCB.EC */ /* SSDT: Length=311, Revision=1, Checksum=157, OEMID=Sony, OEM Table ID=VAIO, OEM Revision=0x20110415, Creator ID=INTL, Creator Revision=0x20091112 */ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20150515-64 * Copyright (c) 2000 - 2015 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of /tmp/acpidump.JQZ7M4, Thu Jun 18 09:24:14 2015 * * Original Table Header: * Signature "DSDT" * Length 0x0000A130 (41264) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support * Checksum 0x41 * OEM ID "Sony" * OEM Table ID "VAIO" * OEM Revision 0x20110415 (537986069) * Compiler ID "INTL" * Compiler Version 0x20091112 (537465106) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "Sony", "VAIO", 0x20110415) { /* * iASL Warning: There were 3 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. To specify the tables needed to resolve * external control method references, the -e option can be used to * specify the filenames. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (, MethodObj, ) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ External (HDOS, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (HNOT, MethodObj) // Warning: Unresolved method, guessing 1 arguments External (IDAB, MethodObj) // Warning: Unresolved method, guessing 0 arguments External (HWID, IntObj) External (NPSS, IntObj) Name (SS1, 0x01) Name (SS2, 0x00) Name (SS3, 0x01) Name (SS4, 0x01) Name (IOST, 0x4400) Name (TOPM, 0xDF9FFFFF) Name (ROMS, 0xFFE00000) Name (MG1B, 0x00000000) Name (MG1L, 0x00000000) Name (MG2B, 0xDFA00000) Name (MG2L, 0x1CA10000) 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, 0xF8000000) Name (PELN, 0x04000000) Name (TTTB, 0xFED20000) Name (TTTL, 0x00020000) Name (SMBS, 0xEFA0) Name (SMBL, 0x10) Name (PBLK, 0x0410) Name (PMBS, 0x0400) Name (PMLN, 0x80) Name (LVL2, 0x0414) Name (LVL3, 0x0415) Name (LVL4, 0x0416) Name (SMIP, 0xB2) Name (GPBS, 0x0500) Name (GPLN, 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, 0x00) Name (AOTB, 0x00) Name (AAXB, 0x00) Name (PEHP, 0x00) Name (SHPC, 0x01) Name (PEPM, 0x00) Name (PEER, 0x00) Name (PECS, 0x00) Name (ITKE, 0x00) Name (FMBL, 0x01) Name (FDTP, 0x02) Name (FUPS, 0x03) Name (BSH, 0x00) Name (BEL, 0x01) Name (BEH, 0x02) Name (BRH, 0x03) Name (BTF, 0x04) Name (BHC, 0x05) Name (BYB, 0x06) Name (BPH, 0x07) Name (BSHS, 0x08) Name (BELS, 0x09) Name (BRHS, 0x0A) Name (BTFS, 0x0B) Name (BEHS, 0x0C) Name (BPHS, 0x0D) Name (BTL, 0x10) Name (BSR, 0x14) Name (BSC, 0x1B) Name (BCC, 0x1C) Name (BOF, 0x20) Name (BEF, 0x21) Name (BLLE, 0x22) Name (BLLC, 0x23) Name (BLCA, 0x24) Name (BLLS, 0x25) Name (BLLP, 0x26) Name (BLLD, 0x27) Name (BHBE, 0x30) Name (BHBC, 0x31) Name (BHBN, 0x32) Name (BHBM, 0x33) Name (TRTP, 0x01) Name (WDTE, 0x01) Name (TRTD, 0x02) Name (TRTI, 0x03) Name (GCDD, 0x01) 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 (MBEC, 0x00) OperationRegion (GNVS, SystemMemory, 0xDAF9CE18, 0x01B1) 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, BNUM, 8, B0SC, 8, Offset (0x25), REVN, 8, Offset (0x28), APIC, 8, TCNT, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPMF, 32, C67L, 8, 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, SBV1, 8, SBV2, 8, Offset (0xEB), DSEN, 8, ECON, 8, GPIC, 8, CTYP, 8, L01C, 8, VFN0, 8, VFN1, 8, VFN2, 8, VFN3, 8, VFN4, 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, SGMD, 8, SGFL, 8, PWOK, 8, HLRS, 8, DSEL, 8, ESEL, 8, PSEL, 8, PWEN, 8, PRST, 8, MXD1, 32, MXD2, 32, MXD3, 32, MXD4, 32, MXD5, 32, MXD6, 32, MXD7, 32, MXD8, 32, GBAS, 16, Offset (0x19D), ALFP, 8, IMON, 8, PDTS, 8, PKGA, 8, PAMT, 8, AC0F, 8, AC1F, 8, DTS3, 8, DTS4, 8, RSV2, 8, RSV3, 8, BCEN, 8, ALER, 8, Q45T, 8, SBRL, 8, SYSD, 8, SGWA, 8, SGIN, 8, TPID, 8, DGST, 8 } Scope (\_SB) { Name (PR00, Package (0x1E) { Package (0x04) { 0x0004FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0004FFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x001FFFFF, 0x00, LNKF, 0x00 }, Package (0x04) { 0x001FFFFF, 0x01, LNKD, 0x00 }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x001FFFFF, 0x03, LNKA, 0x00 }, Package (0x04) { 0x001DFFFF, 0x01, LNKD, 0x00 }, Package (0x04) { 0x001DFFFF, 0x02, LNKA, 0x00 }, Package (0x04) { 0x001DFFFF, 0x03, LNKC, 0x00 }, Package (0x04) { 0x001DFFFF, 0x00, LNKH, 0x00 }, Package (0x04) { 0x001AFFFF, 0x01, LNKF, 0x00 }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x001AFFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x0016FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0016FFFF, 0x01, LNKD, 0x00 }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0016FFFF, 0x03, LNKB, 0x00 }, Package (0x04) { 0x001AFFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, 0x00 }, Package (0x04) { 0x001BFFFF, 0x00, LNKG, 0x00 }, Package (0x04) { 0x001CFFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x001CFFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, 0x00 } }) Name (AR00, Package (0x1E) { Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0004FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x15 }, Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001FFFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x001DFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0x001DFFFF, 0x03, 0x00, 0x12 }, Package (0x04) { 0x001DFFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x001AFFFF, 0x01, 0x00, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001AFFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x0016FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0016FFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x0016FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0016FFFF, 0x03, 0x00, 0x11 }, Package (0x04) { 0x001AFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x001BFFFF, 0x00, 0x00, 0x16 }, Package (0x04) { 0x001CFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x001CFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x001CFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, 0x00, 0x13 } }) Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, LNKD, 0x00 } }) Name (AR02, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x13 } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x01, LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x02, LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x03, LNKB, 0x00 } }) Name (AR04, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x11 } }) Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x01, LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x02, LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x03, LNKC, 0x00 } }) Name (AR05, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x12 } }) Name (PR01, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, LNKD, 0x00 } }) Name (AR01, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x13 } }) Name (PR03, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x01, LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x02, LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x03, LNKA, 0x00 } }) Name (AR03, Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x10 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {1,3,4,5,6,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") /* PCI Express Bus */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID Name (_ADR, 0x00) // _ADR: Address Method (^BN00, 0, NotSerialized) { Return (0x00) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN00 ()) } Name (_UID, 0x00) // _UID: Unique ID Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR00 ()) } Return (PR00 ()) } OperationRegion (HBUS, PCI_Config, 0x00, 0x0100) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0x40), EPEN, 1, , 11, EPBR, 20, Offset (0x48), MHEN, 1, , 14, MHBR, 17, Offset (0x50), GCLK, 1, Offset (0x54), D0EN, 1, Offset (0x60), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset (0x68), DIEN, 1, , 11, DIBR, 20, Offset (0x70), , 20, MEBR, 12, Offset (0x80), , 4, PM0H, 2, Offset (0x81), PM1L, 2, , 2, PM1H, 2, Offset (0x82), PM2L, 2, , 2, PM2H, 2, Offset (0x83), PM3L, 2, , 2, PM3H, 2, Offset (0x84), PM4L, 2, , 2, PM4H, 2, Offset (0x85), PM5L, 2, , 2, PM5H, 2, Offset (0x86), PM6L, 2, , 2, PM6H, 2, Offset (0x87), Offset (0xA8), , 20, TUUD, 19, Offset (0xBC), , 20, TLUD, 12, Offset (0xC8), , 7, HTSE, 1 } OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x1100) Field (MCHT, ByteAcc, NoLock, Preserve) { } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, _Y00) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length ,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0B, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length ,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length ,, _Y0D, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEAFFFFF, // Range Maximum 0x00000000, // Translation Offset 0xFEB00000, // Length ,, _Y0E, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0xFED40000, // Range Minimum 0xFED44FFF, // Range Maximum 0x00000000, // Translation Offset 0x00005000, // Length ,, , AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address PBMX = ((\PELN >> 0x14) - 0x02) CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length PBLN = ((\PELN >> 0x14) - 0x01) If (PM1L) { CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN) // _LEN: Length C0LN = Zero } If ((PM1L == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C0RW) // _RW_: Read-Write Status C0RW = Zero } If (PM1H) { CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C4LN) // _LEN: Length C4LN = Zero } If ((PM1H == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C4RW) // _RW_: Read-Write Status C4RW = Zero } If (PM2L) { CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, C8LN) // _LEN: Length C8LN = Zero } If ((PM2L == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y03._RW, C8RW) // _RW_: Read-Write Status C8RW = Zero } If (PM2H) { CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, CCLN) // _LEN: Length CCLN = Zero } If ((PM2H == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y04._RW, CCRW) // _RW_: Read-Write Status CCRW = Zero } If (PM3L) { CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D0LN) // _LEN: Length D0LN = Zero } If ((PM3L == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D0RW) // _RW_: Read-Write Status D0RW = Zero } If (PM3H) { CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D4LN) // _LEN: Length D4LN = Zero } If ((PM3H == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D4RW) // _RW_: Read-Write Status D4RW = Zero } If (PM4L) { CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, D8LN) // _LEN: Length D8LN = Zero } If ((PM4L == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y07._RW, D8RW) // _RW_: Read-Write Status D8RW = Zero } If (PM4H) { CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, DCLN) // _LEN: Length DCLN = Zero } If ((PM4H == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y08._RW, DCRW) // _RW_: Read-Write Status DCRW = Zero } If (PM5L) { CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E0LN) // _LEN: Length E0LN = Zero } If ((PM5L == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E0RW) // _RW_: Read-Write Status E0RW = Zero } If (PM5H) { CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E4LN) // _LEN: Length E4LN = Zero } If ((PM5H == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E4RW) // _RW_: Read-Write Status E4RW = Zero } If (PM6L) { CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, E8LN) // _LEN: Length E8LN = Zero } If ((PM6L == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, E8RW) // _RW_: Read-Write Status E8RW = Zero } If (PM6H) { CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, ECLN) // _LEN: Length ECLN = Zero } If ((PM6H == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, ECRW) // _RW_: Read-Write Status ECRW = Zero } If (PM0H) { CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, F0LN) // _LEN: Length F0LN = Zero } If ((PM0H == 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y0D._RW, F0RW) // _RW_: Read-Write Status F0RW = Zero } CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN) // _MIN: Minimum Base Address CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX) // _MAX: Maximum Base Address CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN) // _LEN: Length M1MN = (TLUD << 0x14) M1LN = ((M1MX - M1MN) + 0x01) Return (BUF0) /* \_SB_.PCI0.BUF0 */ } Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */) Name (SUPP, 0x00) Name (CTRL, 0x00) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { Local0 = Arg3 CreateDWordField (Local0, 0x00, CDW1) CreateDWordField (Local0, 0x04, CDW2) CreateDWordField (Local0, 0x08, CDW3) If (((Arg0 == GUID) && NEXP)) { SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ If (~(CDW1 & 0x01)) { If ((CTRL & 0x01)) { NHPG () } If ((CTRL & 0x04)) { NPME () } } If ((Arg1 != One)) { CDW1 |= 0x08 } If ((CDW3 != CTRL)) { CDW1 |= 0x10 } CDW3 = CTRL /* \_SB_.PCI0.CTRL */ OSCC = CTRL /* \_SB_.PCI0.CTRL */ Return (Local0) } Else { CDW1 |= 0x04 Return (Local0) } } Scope (\_SB.PCI0) { Method (AR00, 0, NotSerialized) { Return (\_SB.AR00) } Method (PR00, 0, NotSerialized) { Return (\_SB.PR00) } Method (AR01, 0, NotSerialized) { Return (\_SB.AR01) } Method (PR01, 0, NotSerialized) { Return (\_SB.PR01) } Method (AR02, 0, NotSerialized) { Return (\_SB.AR02) } Method (PR02, 0, NotSerialized) { Return (\_SB.PR02) } Method (AR03, 0, NotSerialized) { Return (\_SB.AR03) } Method (PR03, 0, NotSerialized) { Return (\_SB.PR03) } Method (AR04, 0, NotSerialized) { Return (\_SB.AR04) } Method (PR04, 0, NotSerialized) { Return (\_SB.PR04) } Method (AR05, 0, NotSerialized) { Return (\_SB.AR05) } Method (PR05, 0, NotSerialized) { Return (\_SB.PR05) } } Device (B0D4) { Name (_ADR, 0x00040000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } } Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address Scope (\_SB) { OperationRegion (\_SB.PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0) Field (\_SB.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 (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PARC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSA) /* \_SB_.PRSA */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y0F) {} }) CreateWordField (RTLA, \_SB.LNKA._CRS._Y0F._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PARC & 0x0F)) Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PARC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PARC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PBRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSB) /* \_SB_.PRSB */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y10) {} }) CreateWordField (RTLB, \_SB.LNKB._CRS._Y10._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PBRC & 0x0F)) Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PBRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PBRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PCRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSC) /* \_SB_.PRSC */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y11) {} }) CreateWordField (RTLC, \_SB.LNKC._CRS._Y11._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PCRC & 0x0F)) Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PCRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PCRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PDRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSD) /* \_SB_.PRSD */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y12) {} }) CreateWordField (RTLD, \_SB.LNKD._CRS._Y12._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PDRC & 0x0F)) Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PDRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PDRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PERC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSE) /* \_SB_.PRSE */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y13) {} }) CreateWordField (RTLE, \_SB.LNKE._CRS._Y13._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PERC & 0x0F)) Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PERC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PERC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PFRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSF) /* \_SB_.PRSF */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y14) {} }) CreateWordField (RTLF, \_SB.LNKF._CRS._Y14._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PFRC & 0x0F)) Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PFRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PFRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PGRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSG) /* \_SB_.PRSG */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y15) {} }) CreateWordField (RTLG, \_SB.LNKG._CRS._Y15._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PGRC & 0x0F)) Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PGRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PGRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x08) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { PHRC |= 0x80 } Method (_PRS, 0, Serialized) // _PRS: Possible Resource Settings { Return (PRSH) /* \_SB_.PRSH */ } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y16) {} }) CreateWordField (RTLH, \_SB.LNKH._CRS._Y16._INT, IRQ0) // _INT: Interrupts IRQ0 = Zero IRQ0 = (0x01 << (PHRC & 0x0F)) Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Local0-- PHRC = Local0 } Method (_STA, 0, Serialized) // _STA: Status { If ((PHRC & 0x80)) { Return (0x09) } Else { Return (0x0B) } } } } OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { Offset (0x40), IOD0, 8, IOD1, 8, Offset (0xB0), RAEN, 1, , 13, RCBA, 18 } Device (DMAC) { Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { 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 (FWHD) { Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (_UID, 0x00) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length _Y17) }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSYS >= 0x07D1)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (0x00) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (HPAE) { CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y17._BAS, HPT0) // _BAS: Base Address If ((HPAS == 0x01)) { HPT0 = 0xFED01000 } If ((HPAS == 0x02)) { HPT0 = 0xFED02000 } If ((HPAS == 0x03)) { HPT0 = 0xFED03000 } } Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */ } } Device (IPIC) { Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { 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") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { 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, 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 0x10, // Length ) IO (Decode16, 0x1100, // Range Minimum 0x1100, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { 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 (CWDT) { Name (_HID, EisaId ("INT3F0D") /* ACPI Motherboard Resources */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0454, // Range Minimum 0x0454, // Range Maximum 0x04, // Alignment 0x04, // Length ) }) Method (_STA, 0, Serialized) // _STA: Status { Return (0x0F) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */ } } OperationRegion (PKBS, SystemIO, 0x60, 0x05) Field (PKBS, ByteAcc, Lock, Preserve) { PKBD, 8, Offset (0x02), Offset (0x03), Offset (0x04), PKBC, 8 } Device (PS2K) { Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { 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 () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) } Device (PS2M) { Name (SYNP, 0x03272E4F) Name (ALPS, 0x00059005) Method (_HID, 0, NotSerialized) // _HID: Hardware ID { If (((SYSD & 0x38) == 0x00)) { Return (SYNP) /* \_SB_.PCI0.LPCB.PS2M.SYNP */ } Else { Return (SYNP) /* \_SB_.PCI0.LPCB.PS2M.SYNP */ } } Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IRQNoFlags () {12} } EndDependentFn () }) } } Device (SBUS) { Name (_ADR, 0x001F0003) // _ADR: Address 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, (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 (0x00) } I2CE = 0x00 HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (0x01) } Return (0x00) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = 0x00 HSTS = 0xBF TXSA = (Arg0 | 0x01) HCON = 0x44 If (COMP ()) { HSTS |= 0xFF Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (0x00) } I2CE = 0x00 HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT0 = Arg2 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (0x01) } Return (0x00) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = 0x00 HSTS = 0xBF TXSA = (Arg0 | 0x01) HCOM = Arg1 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (0x00) } I2CE = 0x00 HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT1 = (Arg2 & 0xFF) DAT0 = ((Arg2 >> 0x08) & 0xFF) HCON = 0x4C If (COMP ()) { HSTS |= 0xFF Return (0x01) } Return (0x00) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = 0x00 HSTS = 0xBF TXSA = (Arg0 | 0x01) HCOM = Arg1 HCON = 0x4C If (COMP ()) { HSTS |= 0xFF Return (((DAT0 << 0x08) | DAT1)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (0x00) } I2CE = Arg3 HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT0 = SizeOf (Arg2) Local1 = 0x00 HBDR = DerefOf (Index (Arg2, 0x00)) HCON = 0x54 While ((SizeOf (Arg2) > Local1)) { Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (0x00) } HSTS = 0x80 Local1++ If ((SizeOf (Arg2) > Local1)) { HBDR = DerefOf (Index (Arg2, Local1)) } } If (COMP ()) { HSTS |= 0xFF Return (0x01) } Return (0x00) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (0x00) } I2CE = Arg2 HSTS = 0xBF TXSA = (Arg0 | 0x01) HCOM = Arg1 HCON = 0x54 Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (0x00) } Index (TBUF, 0x00) = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */ HSTS = 0x80 Local1 = 0x01 While ((Local1 < DerefOf (Index (TBUF, 0x00)))) { Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (0x00) } Index (TBUF, Local1) = HBDR /* \_SB_.PCI0.SBUS.HBDR */ HSTS = 0x80 Local1++ } If (COMP ()) { HSTS |= 0xFF Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */ } Return (0x00) } Method (STRT, 0, Serialized) { Local0 = 0xC8 While (Local0) { If ((HSTS & 0x40)) { Local0-- Sleep (0x01) If ((Local0 == 0x00)) { Return (0x01) } } Else { Local0 = 0x00 } } Local0 = 0x0FA0 While (Local0) { If ((HSTS & 0x01)) { Local0-- Stall (0x32) If ((Local0 == 0x00)) { KILL () } } Else { Return (0x00) } } Return (0x01) } Method (COMP, 0, Serialized) { Local0 = 0x0FA0 While (Local0) { If ((HSTS & 0x02)) { Return (0x01) } Else { Local0-- Stall (0x32) If ((Local0 == 0x00)) { KILL () } } } Return (0x00) } Method (KILL, 0, Serialized) { HCON |= 0x02 HSTS |= 0xFF } } Device (USB1) { Name (_ADR, 0x001D0001) // _ADR: Address OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { U1EN = 0x03 } Else { U1EN = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, 0x00) // _ADR: Address Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x03, 0x03)) } } Device (USB2) { Name (_ADR, 0x001D0002) // _ADR: Address OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { U1EN = 0x03 } Else { U1EN = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, 0x00) // _ADR: Address Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x04, 0x03)) } } Device (USB3) { Name (_ADR, 0x001D0003) // _ADR: Address OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { U1EN = 0x03 } Else { U1EN = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, 0x00) // _ADR: Address Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0C, 0x03)) } } Device (USB4) { Name (_ADR, 0x001D0004) // _ADR: Address OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { U1EN = 0x03 } Else { U1EN = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, 0x00) // _ADR: Address Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0E, 0x03)) } } Device (USB5) { Name (_ADR, 0x001A0001) // _ADR: Address OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { U1EN = 0x03 } Else { U1EN = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, 0x00) // _ADR: Address Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x05, 0x03)) } } Device (USB6) { Name (_ADR, 0x001A0002) // _ADR: Address OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { U1EN = 0x03 } Else { U1EN = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, 0x00) // _ADR: Address Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x20, 0x03)) } } Device (USB7) { Name (_ADR, 0x001A0003) // _ADR: Address OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { U1EN = 0x03 } Else { U1EN = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, 0x00) // _ADR: Address Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x25, 0x03)) } } Device (EHC1) { Name (_ADR, 0x001D0000) // _ADR: Address OperationRegion (PWKE, PCI_Config, 0x62, 0x04) Field (PWKE, DWordAcc, NoLock, Preserve) { , 1, PWUC, 8 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { PWUC = Ones } Else { PWUC = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Name (PLDT, Buffer (0x10) {}) CreateField (PLDT, 0x00, 0x20, DW00) CreateField (PLDT, 0x20, 0x20, DW01) CreateField (PLDT, 0x40, 0x20, DW02) CreateField (PLDT, 0x60, 0x20, DW03) Device (RHUB) { Name (_ADR, 0x00) // _ADR: Address Device (IHUB) { Name (_ADR, 0x01) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0x00, 0xFF, 0x00, 0x00 }) Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0x00, 0xFF, 0x00, 0x00 }) } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x00, 0x00, 0x00 }) Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { DW00 = 0x81 DW01 = 0x00 DW02 = 0x1159 DW03 = 0x03 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */ } } Device (PRT3) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x00, 0x00, 0x00 }) Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { DW00 = 0x81 DW01 = 0x00 DW02 = 0x1159 DW03 = 0x03 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */ } } Device (PRT4) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0x00, 0xFF, 0x00, 0x00 }) } Device (PRT5) { Name (_ADR, 0x05) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x00, 0x00, 0x00 }) Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { DW00 = 0x81 DW01 = 0x00 DW02 = 0x1159 DW03 = 0x03 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */ } } Device (PRT6) { Name (_ADR, 0x06) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0x00, 0x00, 0x00 }) Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { DW00 = 0x81 DW01 = 0x00 DW02 = 0x1159 DW03 = 0x03 Return (PLDT) /* \_SB_.PCI0.EHC1.PLDT */ } } } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0D, 0x03)) } } Device (EHC2) { Name (_ADR, 0x001A0000) // _ADR: Address OperationRegion (PWKE, PCI_Config, 0x62, 0x04) Field (PWKE, DWordAcc, NoLock, Preserve) { , 1, PWUC, 8 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { PWUC = Ones } Else { PWUC = 0x00 } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Name (PLDT, Buffer (0x10) {}) CreateField (PLDT, 0x00, 0x20, DW00) CreateField (PLDT, 0x20, 0x20, DW01) CreateField (PLDT, 0x40, 0x20, DW02) CreateField (PLDT, 0x60, 0x20, DW03) Device (RHUB) { Name (_ADR, 0x00) // _ADR: Address Device (IHUB) { Name (_ADR, 0x01) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0x00, 0xFF, 0x00, 0x00 }) Device (PRT1) { Name (_ADR, 0x01) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0x00, 0xFF, 0x00, 0x00 }) } Device (PRT2) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, 0x00, 0x00 }) Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { DW00 = 0x81 DW01 = 0x00 DW02 = 0x00 DW03 = 0x00 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */ } } Device (PRT3) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, 0x00, 0x00 }) Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { DW00 = 0x81 DW01 = 0x00 DW02 = 0x00 DW03 = 0x00 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */ } } Device (PRT4) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0x00, 0xFF, 0x00, 0x00 }) } Device (PRT5) { Name (_ADR, 0x05) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0x00, 0xFF, 0x00, 0x00 }) } Device (PRT6) { Name (_ADR, 0x06) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, 0x00, 0x00 }) Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { DW00 = 0x81 DW01 = 0x00 DW02 = 0x00 DW03 = 0x00 Return (PLDT) /* \_SB_.PCI0.EHC2.PLDT */ } } } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0D, 0x03)) } } Device (PEG0) { Name (_ADR, 0x00010000) // _ADR: Address Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR01 ()) } Return (PR01 ()) } Device (PEGP) { Name (_ADR, 0xFFFF) // _ADR: Address } } Device (HDEF) { Name (_ADR, 0x001B0000) // _ADR: Address 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 } } Device (RP01) { Name (_ADR, 0x001C0000) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x98), , 30, HPEX, 1, PMEX, 1 } 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, PMPD, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, 0x00) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = 0x01 If (PMSX) { Local0-- } Else { Local0 = 0x00 } } Notify (PXSX, 0x02) // Device Wake Return (0x01) } Else { Return (0x00) } } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR02 ()) } Return (PR02 ()) } } Device (RP02) { Name (_ADR, 0x001C0001) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x98), , 30, HPEX, 1, PMEX, 1 } 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, PMPD, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, 0x00) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = 0x01 If (PMSX) { Local0-- } Else { Local0 = 0x00 } } Notify (PXSX, 0x02) // Device Wake Return (0x01) } Else { Return (0x00) } } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR03 ()) } Return (PR03 ()) } } Device (RP03) { Name (_ADR, 0x001C0002) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x98), , 30, HPEX, 1, PMEX, 1 } 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, PMPD, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, 0x00) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = 0x01 If (PMSX) { Local0-- } Else { Local0 = 0x00 } } Notify (PXSX, 0x02) // Device Wake Return (0x01) } Else { Return (0x00) } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR04 ()) } Return (PR04 ()) } } Device (RP04) { Name (_ADR, 0x001C0003) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x98), , 30, HPEX, 1, PMEX, 1 } 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, PMPD, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, 0x00) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = 0x01 If (PMSX) { Local0-- } Else { Local0 = 0x00 } } Notify (PXSX, 0x02) // Device Wake Return (0x01) } Else { Return (0x00) } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x03)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR05 ()) } Return (PR05 ()) } Device (AGBE) { Name (_ADR, 0xFFFF) // _ADR: Address } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.B0D4, 0x02) // Device Wake Notify (\_SB.PCI0.RP03, 0x02) // Device Wake Notify (\_SB.PCI0.RP04, 0x02) // Device Wake } Method (_L03, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB1, 0x02) // Device Wake } Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB2, 0x02) // Device Wake } Method (_L0C, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB3, 0x02) // Device Wake } Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB4, 0x02) // Device Wake } Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB5, 0x02) // Device Wake } Method (_L20, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB6, 0x02) // Device Wake } Method (_L25, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB7, 0x02) // Device Wake } Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake } } } Mutex (MUTX, 0x00) Scope (\) { Name (RTL0, Buffer (0x10) { /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */ /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */ }) Name (ICL0, Package (0x12) { 0x64, 0x64, 0x0A, 0x10, 0x16, 0x1C, 0x22, 0x28, 0x2E, 0x34, 0x3A, 0x40, 0x46, 0x4C, 0x52, 0x58, 0x5E, 0x64 }) Name (I10B, Buffer (0x08) {}) CreateField (I10B, 0x00, 0x08, I_AL) CreateField (I10B, 0x08, 0x08, I_AH) CreateField (I10B, 0x10, 0x08, I_BL) CreateField (I10B, 0x18, 0x08, I_BH) CreateField (I10B, 0x20, 0x08, I_CL) CreateField (I10B, 0x28, 0x08, I_CH) CreateField (I10B, 0x30, 0x08, I_DL) CreateField (I10B, 0x38, 0x08, I_DH) OperationRegion (XCMS, SystemIO, 0x72, 0x02) Field (XCMS, ByteAcc, NoLock, Preserve) { XIND, 8, XDAT, 8 } IndexField (XIND, XDAT, ByteAcc, NoLock, Preserve) { Offset (0x60), CM60, 8, CM61, 8, Offset (0x6C), CM6C, 8, CM6D, 8, CM6E, 8, CM6F, 8, Offset (0x75), CM75, 8, Offset (0x78), ATFR, 8 } } Name (BFER, 0x00) Mutex (RWCM, 0x00) Method (DBGC, 3, NotSerialized) { } OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If ((Arg0 == 0x00)) { P80D = ((P80D & 0xFFFFFF00) | Arg1) } If ((Arg0 == 0x01)) { P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08)) } If ((Arg0 == 0x02)) { P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10)) } If ((Arg0 == 0x03)) { P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18)) } P80H = P80D /* \P80D */ } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8 } Method (\_PIC, 1, NotSerialized) // _PIC: Interrupt Model { GPIC = Arg0 PICM = Arg0 } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { \DBGC (0x50, Arg0, BCEN) P80D = 0x00 P8XH (0x00, Arg0) CM75 = 0x00 PHSB (0xEB, 0x00) If ((Arg0 == 0x03)) { If ((DTSE && (TCNT > 0x01))) { TRAP (\TRTD, 0x1E) } Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) LIDS = \_SB.PCI0.LPCB.EC.LSTE Release (\_SB.PCI0.LPCB.EC.MECR) } Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) PHSB (0xF9, 0x4A) Release (\_SB.PCI0.LPCB.EC.MECR) If ((DBGS == 0x00)) {} \DBGC (0x50, 0x80, BCEN) } Name (TEM1, 0x00) Name (TEM2, 0x00) Name (TEM3, 0x00) Method (_WAK, 1, Serialized) // _WAK: Wake { \DBGC (0x53, Arg0, BCEN) P8XH (0x01, 0xAB) If (NEXP) { If ((OSCC & 0x02)) { \_SB.PCI0.NHPG () } If ((OSCC & 0x04)) { \_SB.PCI0.NPME () } } If (((Arg0 == 0x03) || (Arg0 == 0x04))) { If (CM75) { CM75 = 0x00 Notify (\_SB.PWRB, 0x02) // Device Wake } Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) TEM1 = \_SB.PCI0.LPCB.EC.RPWR TEM2 = \_SB.PCI0.LPCB.EC.BATP TEM3 = \_SB.PCI0.LPCB.EC.LSTE Release (\_SB.PCI0.LPCB.EC.MECR) If ((LIDS != TEM3)) { LIDS = TEM3 /* \TEM3 */ Notify (\_SB.LID0, 0x80) // Status Change } If ((PWRS != TEM1)) { PWRS = TEM1 /* \TEM1 */ Notify (\_SB.ADP1, 0x80) // Status Change PNOT () } If ((BNUM != TEM2)) { BNUM = TEM2 /* \TEM2 */ Notify (\_SB.BAT0, 0x81) // Information Change } If ((DTSE && (TCNT > 0x01))) { TRAP (\TRTD, 0x14) } Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) If ((GP54 == 0x00)) { If (DGST) { PHSW (0xF9, 0x4B, 0x10) } Else { PHSB (0xF9, 0x4A) } } Else { Local0 = (SYSD & 0x07) If ((Local0 != 0x00)) { PHSW (0xF9, 0x4B, 0x10) } } Release (\_SB.PCI0.LPCB.EC.MECR) If ((RP1D == 0x00)) { Notify (\_SB.PCI0.RP01, 0x00) // Bus Check } If ((RP2D == 0x00)) { Notify (\_SB.PCI0.RP02, 0x00) // Bus Check } If ((RP3D == 0x00)) { Notify (\_SB.PCI0.RP03, 0x00) // Bus Check } If ((RP4D == 0x00)) { Notify (\_SB.PCI0.RP04, 0x00) // Bus Check } } \DBGC (0x53, 0x80, BCEN) Return (Package (0x02) { 0x00, 0x00 }) } Method (GETB, 3, Serialized) { Local0 = (Arg0 * 0x08) Local1 = (Arg1 * 0x08) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) /* \GETB.TBF3 */ } Method (PNOT, 0, Serialized) { If ((TCNT > 0x01)) { If ((PDC0 & 0x08)) { Notify (\_PR.CPU0, 0x80) // Performance Capability Change If ((PDC0 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU0, 0x81) // C-State Change } } If ((PDC1 & 0x08)) { Notify (\_PR.CPU1, 0x80) // Performance Capability Change If ((PDC1 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU1, 0x81) // C-State Change } } If ((PDC2 & 0x08)) { Notify (\_PR.CPU2, 0x80) // Performance Capability Change If ((PDC2 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU2, 0x81) // C-State Change } } If ((PDC3 & 0x08)) { Notify (\_PR.CPU3, 0x80) // Performance Capability Change If ((PDC3 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU3, 0x81) // C-State Change } } If ((PDC4 & 0x08)) { Notify (\_PR.CPU4, 0x80) // Performance Capability Change If ((PDC4 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU4, 0x81) // C-State Change } } If ((PDC5 & 0x08)) { Notify (\_PR.CPU5, 0x80) // Performance Capability Change If ((PDC5 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU5, 0x81) // C-State Change } } If ((PDC6 & 0x08)) { Notify (\_PR.CPU6, 0x80) // Performance Capability Change If ((PDC6 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU6, 0x81) // C-State Change } } If ((PDC7 & 0x08)) { Notify (\_PR.CPU7, 0x80) // Performance Capability Change If ((PDC7 & 0x10)) { Sleep (0x64) Notify (\_PR.CPU7, 0x81) // C-State Change } } } Else { Notify (\_PR.CPU0, 0x80) // Performance Capability Change Sleep (0x64) Notify (\_PR.CPU0, 0x81) // C-State Change } } Method (TRAP, 2, Serialized) { SMIF = Arg1 If ((Arg0 == \TRTP)) { TRP0 = 0x00 } Return (SMIF) /* \SMIF */ } Scope (\_SB.PCI0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { OSYS = 0x07D0 If (CondRefOf (\_OSI, Local0)) { If (\_OSI ("Linux")) { OSYS = 0x03E8 } If (\_OSI ("Windows 2001")) { OSYS = 0x07D1 } If (\_OSI ("Windows 2001 SP1")) { OSYS = 0x07D1 } If (\_OSI ("Windows 2001 SP2")) { OSYS = 0x07D2 } If (\_OSI ("Windows 2001.1")) { OSYS = 0x07D3 } If (\_OSI ("Windows 2006")) { OSYS = 0x07D6 } If (\_OSI ("Windows 2009")) { OSYS = 0x07D9 } } If (((OSYS == 0x07D1) || (OSYS == 0x07D2))) { Local1 = 0x00 Local1 = PHS (0xC1) Local1 &= 0x0F If ((Local1 > 0x0F)) { Local1 = 0x0F PHSB (0xC2, Local1) } Local2 = DerefOf (Index (\BTL0, Local1)) If ((IGDS & IGDS)) { BRTL = Local2 } Else { ALER = 0x00 Local3 = (Match (ICL0, MEQ, Local2, MTR, 0x00, 0x02) - 0x02) Local3 = DerefOf (Index (RTL0, Local3)) BRTL = Local2 I_AL = 0x82 I_AH = 0xA0 I_BL = 0x05 I_BH = 0x01 I_CL = Local3 PHDD (0xE2, I10B) } } } Method (NHPG, 0, Serialized) { ^RP01.HPEX = 0x00 ^RP02.HPEX = 0x00 ^RP03.HPEX = 0x00 ^RP04.HPEX = 0x00 ^RP01.HPSX = 0x01 ^RP02.HPSX = 0x01 ^RP03.HPSX = 0x01 ^RP04.HPSX = 0x01 } Method (NPME, 0, Serialized) { ^RP01.PMEX = 0x00 ^RP02.PMEX = 0x00 ^RP03.PMEX = 0x00 ^RP04.PMEX = 0x00 ^RP01.PMSX = 0x01 ^RP02.PMSX = 0x01 ^RP03.PMSX = 0x01 ^RP04.PMSX = 0x01 } } Scope (\) { Name (PICM, 0x00) Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Index (PRWP, 0x00) = Arg0 Local0 = (SS1 << 0x01) Local0 |= (SS2 << 0x02) Local0 |= (SS3 << 0x03) Local0 |= (SS4 << 0x04) If (((0x01 << Arg1) & Local0)) { Index (PRWP, 0x01) = Arg1 } Else { Local0 >>= 0x01 FindSetLeftBit (Local0, Index (PRWP, 0x01)) } Return (PRWP) /* \PRWP */ } } Scope (\_SB.PCI0) { Device (GFX0) { Name (_ADR, 0x00020000) // _ADR: Address Method (PCPC, 0, NotSerialized) { } Method (PAPR, 0, NotSerialized) { } Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { \DBGC (0x66, 0x01, BCEN) DSEN = (Arg0 & 0x07) If (((Arg0 & 0x03) == 0x00)) { If (CondRefOf (HDOS)) { HDOS () } } } Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices { \DBGC (0x66, 0x02, BCEN) If (CondRefOf (IDAB)) { IDAB () } Else { NDID = 0x00 If ((DIDL != Zero)) { DID1 = SDDL (DIDL) } If ((DDL2 != Zero)) { DID2 = SDDL (DDL2) } If ((DDL3 != Zero)) { DID3 = SDDL (DDL3) } If ((DDL4 != Zero)) { DID4 = SDDL (DDL4) } If ((DDL5 != Zero)) { DID5 = SDDL (DDL5) } If ((DDL6 != Zero)) { DID6 = SDDL (DDL6) } If ((DDL7 != Zero)) { DID7 = SDDL (DDL7) } If ((DDL8 != Zero)) { DID8 = SDDL (DDL8) } } If ((NDID == 0x01)) { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) Index (TMP1, 0x00) = (0x00010000 | DID1) Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */ } If ((NDID == 0x02)) { Name (TMP2, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP2, 0x00) = (0x00010000 | DID1) Index (TMP2, 0x01) = (0x00010000 | DID2) Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */ } If ((NDID == 0x03)) { Name (TMP3, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP3, 0x00) = (0x00010000 | DID1) Index (TMP3, 0x01) = (0x00010000 | DID2) Index (TMP3, 0x02) = (0x00010000 | DID3) Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */ } If ((NDID == 0x04)) { Name (TMP4, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP4, 0x00) = (0x00010000 | DID1) Index (TMP4, 0x01) = (0x00010000 | DID2) Index (TMP4, 0x02) = (0x00010000 | DID3) Index (TMP4, 0x03) = (0x00010000 | DID4) Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */ } If ((NDID == 0x05)) { Name (TMP5, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP5, 0x00) = (0x00010000 | DID1) Index (TMP5, 0x01) = (0x00010000 | DID2) Index (TMP5, 0x02) = (0x00010000 | DID3) Index (TMP5, 0x03) = (0x00010000 | DID4) Index (TMP5, 0x04) = (0x00010000 | DID5) Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */ } If ((NDID == 0x06)) { Name (TMP6, Package (0x06) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP6, 0x00) = (0x00010000 | DID1) Index (TMP6, 0x01) = (0x00010000 | DID2) Index (TMP6, 0x02) = (0x00010000 | DID3) Index (TMP6, 0x03) = (0x00010000 | DID4) Index (TMP6, 0x04) = (0x00010000 | DID5) Index (TMP6, 0x05) = (0x00010000 | DID6) Return (TMP6) /* \_SB_.PCI0.GFX0._DOD.TMP6 */ } If ((NDID == 0x07)) { Name (TMP7, Package (0x07) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP7, 0x00) = (0x00010000 | DID1) Index (TMP7, 0x01) = (0x00010000 | DID2) Index (TMP7, 0x02) = (0x00010000 | DID3) Index (TMP7, 0x03) = (0x00010000 | DID4) Index (TMP7, 0x04) = (0x00010000 | DID5) Index (TMP7, 0x05) = (0x00010000 | DID6) Index (TMP7, 0x06) = (0x00010000 | DID7) Return (TMP7) /* \_SB_.PCI0.GFX0._DOD.TMP7 */ } If ((NDID == 0x08)) { Name (TMP8, Package (0x08) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Index (TMP8, 0x00) = (0x00010000 | DID1) Index (TMP8, 0x01) = (0x00010000 | DID2) Index (TMP8, 0x02) = (0x00010000 | DID3) Index (TMP8, 0x03) = (0x00010000 | DID4) Index (TMP8, 0x04) = (0x00010000 | DID5) Index (TMP8, 0x05) = (0x00010000 | DID6) Index (TMP8, 0x06) = (0x00010000 | DID7) Index (TMP8, 0x07) = (0x00010000 | DID8) Return (TMP8) /* \_SB_.PCI0.GFX0._DOD.TMP8 */ } If ((NDID == 0x09)) { If (CondRefOf (HWID)) { Return (HWID) /* External reference */ } } Return (Package (0x01) { 0x0400 }) } Name (RTL0, Buffer (0x10) { /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */ /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */ }) Name (ICL0, Package (0x12) { 0x64, 0x64, 0x0A, 0x10, 0x16, 0x1C, 0x22, 0x28, 0x2E, 0x34, 0x3A, 0x40, 0x46, 0x4C, 0x52, 0x58, 0x5E, 0x64 }) Device (DD01) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID1 == 0x00)) { Return (0x01) } Else { Return ((0xFFFF & DID1)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (CDDS (DID1)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD1) /* \NXD1 */ } Return (NDDS (DID1)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD02) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID2 == 0x00)) { Return (0x02) } Else { Return ((0xFFFF & DID2)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((LIDS == 0x00)) { Return (0x00) } Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD2) /* \NXD2 */ } Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { Return (ICL0) /* \_SB_.PCI0.GFX0.ICL0 */ } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { PHSD (0xDA, 0x08) Local1 = PHS (0xFA) Local1 &= 0x01 If (Local1) { ALER = 0x01 BRTL = Arg0 Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific } Else { ALER = 0x00 If (((Arg0 >= 0x00) && (Arg0 <= 0xFF))) { Local0 = (Match (ICL0, MEQ, Arg0, MTR, 0x00, 0x02) - 0x02) Local0 = DerefOf (Index (RTL0, Local0)) \_SB.PCI0.GFX0.AINT (0x01, Local0) BRTL = Arg0 } } \DBGC (0x66, 0x81, BCEN) } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { \DBGC (0x66, 0x82, BCEN) Return (BRTL) /* \BRTL */ } } Device (DD03) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID3 == 0x00)) { Return (0x03) } Else { Return ((0xFFFF & DID3)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID3 == 0x00)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD3) /* \NXD3 */ } Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD04) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID4 == 0x00)) { Return (0x04) } Else { Return ((0xFFFF & DID4)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID4 == 0x00)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD4) /* \NXD4 */ } Return (NDDS (DID4)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD05) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID5 == 0x00)) { Return (0x05) } Else { Return ((0xFFFF & DID5)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID5 == 0x00)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD5) /* \NXD5 */ } Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD06) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID6 == 0x00)) { Return (0x06) } Else { Return ((0xFFFF & DID6)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID6 == 0x00)) { Return (0x0B) } Else { Return (CDDS (DID6)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD6) /* \NXD6 */ } Return (NDDS (DID6)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD07) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID7 == 0x00)) { Return (0x07) } Else { Return ((0xFFFF & DID7)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID7 == 0x00)) { Return (0x0B) } Else { Return (CDDS (DID7)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD7) /* \NXD7 */ } Return (NDDS (DID7)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Device (DD08) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID8 == 0x00)) { Return (0x08) } Else { Return ((0xFFFF & DID8)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID8 == 0x00)) { Return (0x0B) } Else { Return (CDDS (DID8)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If (((SGMD == 0x01) && CondRefOf (SNXD))) { Return (NXD8) /* \NXD8 */ } Return (NDDS (DID8)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } } Method (SDDL, 1, NotSerialized) { NDID++ Local0 = (Arg0 & 0x0F0F) Local1 = (0x80000000 | Local0) If ((DIDL == Local0)) { Return (Local1) } If ((DDL2 == Local0)) { Return (Local1) } If ((DDL3 == Local0)) { Return (Local1) } If ((DDL4 == Local0)) { Return (Local1) } If ((DDL5 == Local0)) { Return (Local1) } If ((DDL6 == Local0)) { Return (Local1) } If ((DDL7 == Local0)) { Return (Local1) } If ((DDL8 == Local0)) { Return (Local1) } Return (0x00) } Method (CDDS, 1, NotSerialized) { Local0 = (Arg0 & 0x0F0F) If ((0x00 == Local0)) { Return (0x1D) } If ((CADL == Local0)) { Return (0x1F) } If ((CAL2 == Local0)) { Return (0x1F) } If ((CAL3 == Local0)) { Return (0x1F) } If ((CAL4 == Local0)) { Return (0x1F) } If ((CAL5 == Local0)) { Return (0x1F) } If ((CAL6 == Local0)) { Return (0x1F) } If ((CAL7 == Local0)) { Return (0x1F) } If ((CAL8 == Local0)) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { Local0 = (Arg0 & 0x0F0F) If ((0x00 == Local0)) { Return (0x00) } If ((NADL == Local0)) { Return (0x01) } If ((NDL2 == Local0)) { Return (0x01) } If ((NDL3 == Local0)) { Return (0x01) } If ((NDL4 == Local0)) { Return (0x01) } If ((NDL5 == Local0)) { Return (0x01) } If ((NDL6 == Local0)) { Return (0x01) } If ((NDL7 == Local0)) { Return (0x01) } If ((NDL8 == Local0)) { Return (0x01) } Return (0x00) } Scope (\_SB.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) { 0x00, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x05) { Package (0x02) { 0xE4, 0x0140 }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { 0x00, 0x00 }, Package (0x02) { 0xDE, 0x014D } }) Name (SUCC, 0x01) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { If ((GESF == 0x08)) { If (SGIN) { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) PHSW (0xF9, 0x4B, 0x0C) Release (\_SB.PCI0.LPCB.EC.MECR) SGIN = 0x00 DGST = 0x01 } } Method (GBDA, 0, Serialized) { If ((GESF == 0x00)) { PARM = 0x0679 GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x01)) { PARM = 0x0240 GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x04)) { PARM &= 0xEFFF0000 PARM &= (DerefOf (Index (DBTB, IBTT)) << 0x10) PARM |= IBTT /* \_SB_.PCI0.GFX0.PARM */ GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x05)) { PARM = IPSC /* \IPSC */ PARM |= (IPAT << 0x08) PARM += 0x0100 PARM |= (LIDS << 0x10) PARM += 0x00010000 PARM |= (IBIA << 0x14) GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x06)) { PARM = ITVF /* \ITVF */ PARM |= (ITVM << 0x04) GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x07)) { PARM = GIVD /* \_SB_.PCI0.GFX0.GIVD */ PARM ^= 0x01 PARM |= (GMFN << 0x01) PARM |= (0x03 << 0x0B) PARM |= (IDMS << 0x11) PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) << 0x15) /* \_SB_.PCI0.GFX0.PARM */ GESF = 0x01 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0A)) { PARM = 0x00 If (ISSC) { PARM |= 0x03 } GESF = 0x00 Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0B)) { PARM = KSV0 /* \KSV0 */ GESF = KSV1 /* \KSV1 */ Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } GESF = Zero Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */ } Method (SBCB, 0, Serialized) { If ((GESF == 0x00)) { PARM = 0x00 PARM = 0x000F87FD GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x01)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x03)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x04)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x05)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x06)) { ITVF = (PARM & 0x0F) ITVM = ((PARM & 0xF0) >> 0x04) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x07)) { If ((PARM == 0x00)) { Local0 = CLID /* \_SB_.PCI0.GFX0.CLID */ If ((0x80000000 & Local0)) { CLID &= 0x0F GLID (CLID) } } GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x08)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x09)) { IBTT = (PARM & 0xFF) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0A)) { IPSC = (PARM & 0xFF) If (((PARM >> 0x08) & 0xFF)) { IPAT = ((PARM >> 0x08) & 0xFF) IPAT-- } IBIA = ((PARM >> 0x14) & 0x07) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0B)) { IF1E = ((PARM >> 0x01) & 0x01) If ((PARM & (0x0F << 0x0D))) { IDMS = ((PARM >> 0x0D) & 0x0F) } Else { IDMS = ((PARM >> 0x11) & 0x0F) } GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x10)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x11)) { PARM = (LIDS << 0x08) PARM += 0x0100 GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x12)) { If ((PARM & 0x01)) { If (((PARM >> 0x01) == 0x01)) { ISSC = 0x01 } Else { GESF = Zero Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */ } } Else { ISSC = 0x00 } GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x13)) { GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x14)) { PAVP = (PARM & 0x0F) GESF = Zero PARM = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GEFC == 0x04)) { GXFC = GBDA () } If ((GEFC == 0x06)) { GXFC = SBCB () } GEFC = 0x00 SCIS = 0x01 GSSE = 0x00 SCIE = 0x00 Return (Zero) } Method (PDRD, 0, NotSerialized) { If (!DRDY) { Sleep (ASLP) } Return (!DRDY) } Method (PSTS, 0, NotSerialized) { If ((CSTS > 0x02)) { Sleep (ASLP) } Return ((CSTS == 0x03)) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (0x01) } CEVT = Arg0 CSTS = 0x03 If (((CHPD == 0x00) && (Arg1 == 0x00))) { If (((OSYS > 0x07D0) || (OSYS < 0x07D6))) { Notify (\_SB.PCI0, Arg1) } Else { Notify (\_SB.PCI0.GFX0, Arg1) } } If (CondRefOf (HNOT)) { HNOT (Arg0) } Else { Notify (\_SB.PCI0.GFX0, 0x80) // Status Change } Return (0x00) } Method (GHDS, 1, NotSerialized) { TIDX = Arg0 Return (GNOT (0x01, 0x00)) } Method (GLID, 1, NotSerialized) { If ((Arg0 == 0x01)) { CLID = 0x03 } Else { CLID = Arg0 } Return (GNOT (0x02, 0x00)) } Method (GDCK, 1, NotSerialized) { CDCK = Arg0 Return (GNOT (0x04, 0x00)) } Method (PARD, 0, NotSerialized) { If (!ARDY) { Sleep (ASLP) } Return (!ARDY) } Method (AINT, 2, NotSerialized) { If (!(TCHE & (0x01 << Arg0))) { Return (0x01) } If (PARD ()) { Return (0x01) } If ((Arg0 == 0x02)) { If (CPFM) { Local0 = (CPFM & 0x0F) Local1 = (EPFM & 0x0F) If ((Local0 == 0x01)) { If ((Local1 & 0x06)) { PFIT = 0x06 } Else { If ((Local1 & 0x08)) { PFIT = 0x08 } Else { PFIT = 0x01 } } } If ((Local0 == 0x06)) { If ((Local1 & 0x08)) { PFIT = 0x08 } Else { If ((Local1 & 0x01)) { PFIT = 0x01 } Else { PFIT = 0x06 } } } If ((Local0 == 0x08)) { If ((Local1 & 0x01)) { PFIT = 0x01 } Else { If ((Local1 & 0x06)) { PFIT = 0x06 } Else { PFIT = 0x08 } } } } Else { PFIT ^= 0x07 } PFIT |= 0x80000000 ASLC = 0x04 } Else { If ((Arg0 == 0x01)) { BCLP &= 0xFFFF0000 If (((BCLP & 0x30000000) == 0x30000000)) { BCLP |= (Arg1 * 0x64) /* \_SB_.PCI0.GFX0.BCLP */ } Else { If (((BCLP & 0x30000000) == 0x20000000)) { BCLP |= (Arg1 * 0x0A) /* \_SB_.PCI0.GFX0.BCLP */ } Else { If (((BCLP & 0x30000000) == 0x10000000)) { BCLP |= Arg1 /* \_SB_.PCI0.GFX0.BCLP */ } Else { BCLP = Arg1 } } } BCLP |= 0x80000000 ASLC = 0x02 } Else { If ((Arg0 == 0x00)) { ALSI = Arg1 ASLC = 0x01 } Else { Return (0x01) } } } ASLE = 0x01 Return (0x00) } Method (SCIP, 0, NotSerialized) { If ((OVER != 0x00)) { Return (!GSMI) } Return (0x00) } Device (\_SB.MEM2) { Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x20000000, // Address Base 0x00200000, // Address Length ) Memory32Fixed (ReadWrite, 0x40000000, // Address Base 0x00200000, // Address Length ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (IGDS) { Return (CRS) /* \_SB_.MEM2.CRS_ */ } } } Method (SBRI, 1, NotSerialized) { If (((Arg0 >= 0x00) && (Arg0 <= 0xFF))) { \_SB.PCI0.GFX0.AINT (0x01, Arg0) } } Method (GBRI, 0, NotSerialized) { Local0 = BCLP /* \_SB_.PCI0.GFX0.BCLP */ Local0 &= 0xFF Return (Local0) } } } Scope (\) { OperationRegion (IO_T, SystemIO, 0x1000, 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 (PMIO, SystemIO, 0x0400, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x28), Offset (0x2A), , 3, GPE3, 1, Offset (0x3C), , 1, UPRW, 1, Offset (0x42), , 1, GPEC, 1 } Field (PMIO, ByteAcc, NoLock, WriteAsZeros) { Offset (0x20), Offset (0x22), , 3, GPS3, 1, Offset (0x64), , 9, SCIS, 1, Offset (0x66) } OperationRegion (GPIO, SystemIO, 0x0500, 0x64) Field (GPIO, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), GL00, 8, GL01, 8, GL02, 8, , 3, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, GL04, 8, GL05, 8, , 6, GP54, 1, Offset (0x3B), GL07, 8, Offset (0x40), GU08, 8, GU09, 8, GU0A, 8, GU0B, 8, GIO8, 8, GIO9, 8, GIOA, 8, GIOB, 8, , 4, GPKB, 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, Offset (0x359C), UP0D, 1, UP1D, 1, UP2D, 1, UP3D, 1, UP4D, 1, UP5D, 1, UP6D, 1, UP7D, 1, UP8D, 1, UP9D, 1, UPAD, 1, UPBD, 1, UPCD, 1, UPDD, 1, , 1, Offset (0x359E) } } Scope (\_SB.PCI0) { Device (SAT0) { Name (_ADR, 0x001F0002) // _ADR: Address } } 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) {} } Scope (\_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length _Y18) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00008000, // Address Length _Y1A) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y1B) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y1C) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y1D) 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 _Y19) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y18._BAS, RBR0) // _BAS: Base Address RBR0 = (\_SB.PCI0.LPCB.RCBA << 0x0E) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._BAS, TBR0) // _BAS: Base Address TBR0 = TBAB /* \TBAB */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._LEN, TBLN) // _LEN: Length If ((TBAB == 0x00)) { TBLN = 0x00 } CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1A._BAS, MBR0) // _BAS: Base Address MBR0 = (\_SB.PCI0.MHBR << 0x0F) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1B._BAS, DBR0) // _BAS: Base Address DBR0 = (\_SB.PCI0.DIBR << 0x0C) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1C._BAS, EBR0) // _BAS: Base Address EBR0 = (\_SB.PCI0.EPBR << 0x0C) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1D._BAS, XBR0) // _BAS: Base Address XBR0 = (\_SB.PCI0.PXBR << 0x1A) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1D._LEN, XSZ0) // _LEN: Length XSZ0 = (0x10000000 >> \_SB.PCI0.PXSZ) Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */ } } } Method (BRTN, 1, Serialized) { If (((DID1 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD01, Arg0) } If (((DID2 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD02, Arg0) } If (((DID3 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD03, Arg0) } If (((DID4 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD04, Arg0) } If (((DID5 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD05, Arg0) } If (((DID6 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD06, Arg0) } If (((DID7 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD07, Arg0) } If (((DID8 & 0x0F00) == 0x0400)) { Notify (\_SB.PCI0.GFX0.DD08, Arg0) } } Scope (\_GPE) { Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE { L01C += 0x01 P8XH (0x00, 0x01) P8XH (0x01, L01C) If (((RP1D == 0x00) && \_SB.PCI0.RP01.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { \_SB.PCI0.RP01.PDCX = 0x01 \_SB.PCI0.RP01.HPSX = 0x01 If (!\_SB.PCI0.RP01.PDSX) { \_SB.PCI0.RP01.L0SE = 0x00 } Notify (\_SB.PCI0.RP01, 0x00) // Bus Check } Else { \_SB.PCI0.RP01.HPSX = 0x01 } } If (((RP2D == 0x00) && \_SB.PCI0.RP02.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { \_SB.PCI0.RP02.PDCX = 0x01 \_SB.PCI0.RP02.HPSX = 0x01 If (!\_SB.PCI0.RP02.PDSX) { \_SB.PCI0.RP02.L0SE = 0x00 } Notify (\_SB.PCI0.RP02, 0x00) // Bus Check } Else { \_SB.PCI0.RP02.HPSX = 0x01 } } If (((RP3D == 0x00) && \_SB.PCI0.RP03.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { \_SB.PCI0.RP03.PDCX = 0x01 \_SB.PCI0.RP03.HPSX = 0x01 If (!\_SB.PCI0.RP03.PDSX) { \_SB.PCI0.RP03.L0SE = 0x00 } Notify (\_SB.PCI0.RP03, 0x00) // Bus Check } Else { \_SB.PCI0.RP03.HPSX = 0x01 } } If (((RP4D == 0x00) && \_SB.PCI0.RP04.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { \_SB.PCI0.RP04.PDCX = 0x01 \_SB.PCI0.RP04.HPSX = 0x01 If (!\_SB.PCI0.RP04.PDSX) { \_SB.PCI0.RP04.L0SE = 0x00 } Notify (\_SB.PCI0.RP04, 0x00) // Bus Check } Else { \_SB.PCI0.RP04.HPSX = 0x01 } } } Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE { If ((\_SB.PCI0.GFX0.GSSE && !GSMI)) { \_SB.PCI0.GFX0.GSCI () } } Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE { \_SB.PCI0.SBUS.HSTS = 0x20 } Method (_L1B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PWRB, 0x02) // Device Wake } } OperationRegion (SMI0, SystemMemory, 0xDAF8B918, 0x0420) Field (SMI0, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 4096 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), INFB, 8 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), INFD, 32 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), INDD, 64 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), SXBF, 8320 } Field (SMI0, AnyAcc, NoLock, Preserve) { Offset (0x05), INF1, 8, INF2, 8 } OperationRegion (SMI1, SystemIO, 0x00001100, 0x00000004) Field (SMI1, AnyAcc, NoLock, Preserve) { SMIC, 8 } Mutex (MPHS, 0x00) Method (PHS0, 1, NotSerialized) { BCMD = Arg0 SMIC = Zero While ((BCMD == Arg0)) {} BCMD = 0x00 } Method (PHS, 1, Serialized) { Acquire (MPHS, 0xFFFF) DID = 0x00 PHS0 (Arg0) Local0 = INFD /* \INFD */ Release (MPHS) Return (Local0) } Method (PHSD, 2, Serialized) { Acquire (MPHS, 0xFFFF) DID = 0x00 INFD = Arg1 PHS0 (Arg0) Local0 = INFD /* \INFD */ Release (MPHS) Return (Local0) } Method (PHDD, 2, Serialized) { Acquire (MPHS, 0xFFFF) DID = 0x00 INDD = Arg1 PHS0 (Arg0) Local0 = INDD /* \INDD */ Release (MPHS) Return (Local0) } Method (PHSW, 3, Serialized) { Acquire (MPHS, 0xFFFF) DID = 0x00 INF1 = Arg1 INF2 = Arg2 PHS0 (Arg0) Local0 = INFB /* \INFB */ Release (MPHS) Return (Local0) } Method (PHSB, 2, Serialized) { Acquire (MPHS, 0xFFFF) DID = 0x00 INFB = Arg1 PHS0 (Arg0) Local0 = INFB /* \INFB */ Release (MPHS) Return (Local0) } Scope (\_SB) { Scope (PCI0) { Scope (LPCB) { Device (EC) { Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID Mutex (MECR, 0x00) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { 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) /* \_SB_.PCI0.LPCB.EC__._CRS.BFFR */ } OperationRegion (ECF2, EmbeddedControl, 0x00, 0xFF) Field (ECF2, ByteAcc, Lock, Preserve) { , 3, PRCP, 1, , 1, LSTE, 1, BATP, 1, RPWR, 1, , 4, CHGE, 1, LVDS, 1, , 1, AUAM, 1, ENR0, 8, ENR1, 8, ESR0, 16, BSTS, 8, WKSR, 8, Offset (0x0A), LSDH, 8, LSDL, 8, Offset (0x19), ISID, 8, Offset (0x20), BTPL, 8, BTPH, 8, BSNL, 8, BSNH, 8, BDCL, 8, BDCH, 8, BDVL, 8, BDVH, 8, BAVL, 8, BAVH, 8, BACL, 8, BACH, 8, RSCL, 8, RSCH, 8, BRCL, 8, BRCH, 8, FCCL, 8, FCCH, 8, , 4, FDCH, 1, FUCH, 1, DCHG, 1, BTIT, 1, BSTH, 8, OMFL, 8, OMFH, 8, IBMF, 8, ASSR, 8, Offset (0x40), TS1R, 8, TS1L, 8, TS2R, 8, TS2L, 8, TS3R, 8, TS3L, 8, F1FL, 8, F1FH, 8, F2FL, 8, F2FH, 8, T1U1, 8, T1U2, 8, T1U3, 8, T1U4, 8, T1U5, 8, T1U6, 8, T1U7, 8, T1D1, 8, T1D2, 8, T1D3, 8, T1L1, 8, T2R1, 8, T2U1, 8, T3L1, 8, T3L2, 8, Offset (0x60), SMBN, 8, SPTR, 8, SSTS, 8, SADR, 8, SCMD, 8, SBFR, 256, SCNT, 8, Offset (0xE8), ALFS, 1, , 1, DGPW, 1, Offset (0xE9), Offset (0xEF), , 6, ECAK, 1, CMST, 1, ALSL, 8, ALSH, 8 } Method (_INI, 0, NotSerialized) // _INI: Initialize { If ((_REV >= 0x02)) { ECON = One } Else { ECON = 0x00 } } Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (((Arg0 == 0x03) && (Arg1 == 0x01))) { BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */ B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */ PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */ Notify (\_SB.BAT0, 0x81) // Information Change PNOT () ECON = Arg1 \ECON = Arg1 } } Name (_GPE, 0x17) // _GPE: General Purpose Events Method (_Q21, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x21) PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */ Notify (\_SB.ADP1, 0x81) // Information Change Notify (\_SB.BAT0, 0x80) // Status Change PNOT () } Method (_Q22, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x22) PWRS = RPWR /* \_SB_.PCI0.LPCB.EC__.RPWR */ Notify (\_SB.ADP1, 0x81) // Information Change Notify (\_SB.BAT0, 0x80) // Status Change PNOT () } Method (_Q23, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x23) B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */ BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */ Notify (\_SB.BAT0, 0x81) // Information Change } Method (_Q24, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x24) B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */ BNUM = BATP /* \_SB_.PCI0.LPCB.EC__.BATP */ Notify (\_SB.BAT0, 0x81) // Information Change } Method (_Q25, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x25) B0SC = RSCL /* \_SB_.PCI0.LPCB.EC__.RSCL */ Notify (\_SB.BAT0, 0x80) // Status Change } Method (_Q26, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x26) } Method (_Q27, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x27) } Method (_Q29, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x29) Notify (\_SB.LID0, 0x80) // Status Change } Method (_Q2A, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x2A) Notify (\_SB.LID0, 0x80) // Status Change } Method (_Q2B, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x2B) Notify (\_SB.PCI0.LPCB.SNC, 0x94) // Device-Specific } Method (_Q2C, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x2C) Notify (\_SB.PCI0.LPCB.SNC, 0x94) // Device-Specific } Method (_Q32, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x32) Notify (\_SB.PWRB, 0x80) // Status Change } Method (_Q34, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x34) Notify (\_TZ.TZ00, 0x80) // Thermal Status Change If ((TCNT > 0x01)) { Notify (\_TZ.TZ01, 0x80) // Thermal Status Change } } Method (_Q45, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x45) Q45T++ ALER = 0x02 Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific } Name (HF1P, 0x81) Name (HF1R, 0x01) Name (HF5P, 0x85) Name (HF5R, 0x05) Name (HF6P, 0x86) Name (HF6R, 0x06) Name (HF7P, 0x87) Name (HF7R, 0x07) Name (HF8P, 0x88) Name (HF8R, 0x08) Name (HF9P, 0x89) Name (HF9R, 0x09) Name (HFAP, 0x8A) Name (HFAR, 0x0A) Name (HFBP, 0x8B) Name (HFBR, 0x0B) Name (HFCP, 0x8C) Name (HFCR, 0x0C) Name (HFDP, 0x8D) Name (HFDR, 0x0D) Name (HS1P, 0x90) Name (HS1R, 0x10) Name (HS2P, 0x91) Name (HS2R, 0x11) Name (HUPP, 0x95) Name (HUPR, 0x15) Name (HDWP, 0x96) Name (HDWR, 0x16) Name (HMUP, 0x97) Name (HMUR, 0x17) Name (HTRP, 0x99) Name (HTRR, 0x19) Name (HCUP, 0x9A) Name (HCUR, 0x1A) Name (HCDP, 0x9B) Name (HCDR, 0x1B) Name (HEJP, 0x9F) Name (HEJR, 0x1F) Name (HAVP, 0xA1) Name (HAVR, 0x21) Name (HVOP, 0xA5) Name (HVOR, 0x25) Name (HABP, 0xA6) Name (HABR, 0x26) Method (_Q50, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x50) SECR (HF1P) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q51, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x51) SECR (HF1R) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q58, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x58) SECR (HF5P) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q59, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x59) SECR (HF5R) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q5A, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x5A) SECR (HF6P) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q5B, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x5B) SECR (HF6R) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q5C, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x5C) SECR (HF7P) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q5D, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x5D) SECR (HF7R) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q60, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x60) SECR (HF9P) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q61, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x61) SECR (HF9R) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q62, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x62) SECR (HFAP) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q63, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x63) SECR (HFAR) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q66, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x66) SECR (HFCP) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q67, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x67) SECR (HFCR) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q84, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x84) SECR (HVOP) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q85, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x85) SECR (HVOR) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q86, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x86) SECR (HABP) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (_Q87, 0, NotSerialized) // _Qxx: EC Query { P8XH (0x00, 0x87) SECR (HABR) Notify (\_SB.PCI0.LPCB.SNC, 0x92) // Device-Specific } Method (SECR, 1, NotSerialized) { \_SB.PCI0.LPCB.SNC.XECR = Arg0 } Method (GECR, 0, NotSerialized) { Return (\_SB.PCI0.LPCB.SNC.XECR) } } } } } Scope (\_SB) { Device (BAT0) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, 0x00) // _UID: Unique ID Name (PSTA, 0x00) Method (_STA, 0, NotSerialized) // _STA: Status { \DBGC (0xB0, 0x00, BCEN) Sleep (0x05) If ((ECON == 0x00)) { Local1 = 0x00 } Else { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) Local1 = \_SB.PCI0.LPCB.EC.BATP Release (\_SB.PCI0.LPCB.EC.MECR) } If ((Local1 == 0x00)) { Local0 = 0x0F } Else { Local0 = 0x1F } PSTA = Local0 \DBGC (0xB0, 0x80, BCEN) Return (Local0) } Name (MULV, 0x00) Name (BATI, Package (0x0D) { 0x00, 0x2710, 0x2710, 0x00, 0xFFFFFFFF, 0x03E8, 0x01, 0x64, 0x64, "", "", "LiOn", "Sony Corp." }) Method (_BIF, 0, NotSerialized) // _BIF: Battery Information { \DBGC (0xB1, 0x00, BCEN) MULV = 0x01 Sleep (0x05) If ((ECON == 0x00)) {} Else { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) Local0 = (\_SB.PCI0.LPCB.EC.OMFH & 0x80) If (Local0) { Index (BATI, 0x00) = 0x00 MULV = 0x0A } Else { Index (BATI, 0x00) = 0x01 } Local0 = \_SB.PCI0.LPCB.EC.BDCH Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BDCL) Index (BATI, 0x01) = (Local0 * MULV) Local0 = \_SB.PCI0.LPCB.EC.FCCH Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.FCCL) Index (BATI, 0x02) = (Local0 * MULV) Local0 = \_SB.PCI0.LPCB.EC.BAVH Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BAVL) Index (BATI, 0x04) = (Local0 * MULV) Release (\_SB.PCI0.LPCB.EC.MECR) } \DBGC (0xB1, 0x80, BCEN) Return (BATI) /* \_SB_.BAT0.BATI */ } Name (PKG0, Package (0x04) { 0x02, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Method (_BST, 0, NotSerialized) // _BST: Battery Status { \DBGC (0xB2, 0x00, BCEN) Sleep (0x05) If ((ECON == 0x00)) {} Else { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) If ((\_SB.PCI0.LPCB.EC.CHGE == 0x01)) { Local0 = \_SB.PCI0.LPCB.EC.RSCL If ((Local0 == 0x64)) { Index (PKG0, 0x00) = 0x00 } Else { Index (PKG0, 0x00) = 0x02 } } Else { Index (PKG0, 0x00) = 0x01 } Name (MULV, 0x00) Local0 = (\_SB.PCI0.LPCB.EC.OMFH & 0x80) If (Local0) { MULV = 0x0A } Else { MULV = 0x01 } Local0 = \_SB.PCI0.LPCB.EC.BRCH Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BRCL) Index (PKG0, 0x02) = (Local0 * MULV) Local0 = \_SB.PCI0.LPCB.EC.BACH Local0 = ((Local0 << 0x08) | \_SB.PCI0.LPCB.EC.BACL) If ((Local0 && 0x8000)) { Local0 = (~Local0 + 0x01) Local0 &= 0xFFFF } Local1 = \_SB.PCI0.LPCB.EC.BAVH Local1 = ((Local1 << 0x08) | \_SB.PCI0.LPCB.EC.BAVL) Local1 /= 0x03E8 Index (PKG0, 0x01) = (Local0 * Local1) Release (\_SB.PCI0.LPCB.EC.MECR) } \DBGC (0xB2, 0x80, BCEN) Return (PKG0) /* \_SB_.BAT0.PKG0 */ } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { \DBGC (0xB3, 0x80, BCEN) Return (\_SB) } } } Scope (\_SB) { Device (ADP1) { Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID Method (_PSR, 0, NotSerialized) // _PSR: Power Source { \DBGC (0x40, 0x00, BCEN) If ((ECON == 0x00)) { Local0 = (PHSB (0xD4, 0x00) & 0x80) } Else { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) Local0 = \_SB.PCI0.LPCB.EC.RPWR Release (\_SB.PCI0.LPCB.EC.MECR) } If ((Local0 == 0x00)) { \DBGC (0x40, 0x80, BCEN) Return (0x00) } Else { \DBGC (0x40, 0x81, BCEN) Return (0x01) } } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { \DBGC (0x42, 0x80, BCEN) Return (\_SB) } } Device (LID0) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { \DBGC (0x41, 0x00, BCEN) If (ECON) { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) Local0 = \_SB.PCI0.LPCB.EC.LSTE Release (\_SB.PCI0.LPCB.EC.MECR) } Else { Local0 = (PHSB (0xD4, 0x00) & 0x20) } \DBGC (0x41, 0x80, BCEN) Return (Local0) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x1B, 0x04 }) } } Scope (\_TZ) { ThermalZone (TZ00) { Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (CRTT * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { Return ((0x0AAC + (PSVT * 0x0A))) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (ECON) { Local0 = \_SB.PCI0.LPCB.EC.TS1R Return ((0x0AAC + (Local0 * 0x0A))) } Return (0x0BC2) } } ThermalZone (TZ01) { Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return ((0x0AAC + (CRTT * 0x0A))) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (ECON) { Local0 = \_SB.PCI0.LPCB.EC.TS1R Return ((0x0AAC + (Local0 * 0x0A))) } Return (0x0BD6) } Method (_PSL, 0, Serialized) // _PSL: Passive List { If ((TCNT == 0x08)) { Return (Package (0x08) { \_PR.CPU0, \_PR.CPU1, \_PR.CPU2, \_PR.CPU3, \_PR.CPU4, \_PR.CPU5, \_PR.CPU6, \_PR.CPU7 }) } If ((TCNT == 0x04)) { Return (Package (0x04) { \_PR.CPU0, \_PR.CPU1, \_PR.CPU2, \_PR.CPU3 }) } If ((TCNT == 0x02)) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_TC1, 0, Serialized) // _TC1: Thermal Constant 1 { Return (TC1V) /* \TC1V */ } Method (_TC2, 0, Serialized) // _TC2: Thermal Constant 2 { Return (TC2V) /* \TC2V */ } Method (_TSP, 0, Serialized) // _TSP: Thermal Sampling Period { Return (TSPV) /* \TSPV */ } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { Return ((0x0AAC + (PSVT * 0x0A))) } } } Scope (\) { Name (BTL0, Buffer (0x10) { /* 0000 */ 0x0A, 0x10, 0x16, 0x1C, 0x22, 0x28, 0x2E, 0x34, /* ...."(.4 */ /* 0008 */ 0x3A, 0x40, 0x46, 0x4C, 0x52, 0x58, 0x5E, 0x64 /* :@FLRX^d */ }) } Scope (\_SB) { Scope (PCI0) { Scope (LPCB) { Device (SNC) { Name (_HID, EisaId ("SNY5001")) // _HID: Hardware ID Name (CPUT, 0x00) Name (UPBR, 0x00) Name (DNBR, 0x00) Name (RTL1, Buffer (0x10) { /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */ /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */ }) Method (_INI, 0, NotSerialized) // _INI: Initialize { ALER = 0x00 } Method (GB16, 0, NotSerialized) { Local1 = 0x00 Local1 = PHS (0xC1) Local1 &= 0x0F If ((Local1 > 0x0F)) { Local1 = 0x0F PHSB (0xC2, Local1) } Return (Local1) } Method (SB16, 1, NotSerialized) { If ((Arg0 > 0x0F)) { Return (0x00) } PHSB (0xC2, Arg0) Local0 = DerefOf (Index (\BTL0, Arg0)) If ((IGDS & IGDS)) { \_SB.PCI0.GFX0.DD02._BCM (Local0) } Else { \_SB.PCI0.PEG0.VGA.LCD._BCM (Local0) } Return (0x00) } Method (PWAK, 0, NotSerialized) { \DBGC (0xF3, 0x00, BCEN) If (((OSYS == 0x07D1) || (OSYS == 0x07D2))) { Local1 = 0x00 Local1 = PHS (0xC1) Local1 &= 0x0F If ((Local1 > 0x0F)) { Local1 = 0x0F PHSB (0xC2, Local1) } Local2 = DerefOf (Index (BTL0, Local1)) If ((IGDS & IGDS)) { BRTL = Local2 } Else { ALER = 0x00 Local3 = (Match (ICL0, MEQ, Local2, MTR, 0x00, 0x02) - 0x02) Local3 = DerefOf (Index (RTL0, Local3)) BRTL = Local2 I_AL = 0x82 I_AH = 0xA0 I_BL = 0x05 I_BH = 0x01 I_CL = Local3 PHDD (0xE2, I10B) } } PNOT () \DBGC (0xF3, 0x80, BCEN) Return (Zero) } Name (EVS0, 0x07) Name (EVS1, 0x00) Name (EVS2, 0x00) Mutex (MSNE, 0x00) Method (GSNE, 1, NotSerialized) { Acquire (MSNE, 0xFFFF) \DBGC (0xF1, 0x00, BCEN) Local1 = ((Arg0 & 0xFF000000) >> 0x18) Local2 = ((Arg0 & 0x00FF0000) >> 0x10) Local3 = (Arg0 & 0xFFFF) Local0 = 0x00 If ((Local1 == 0x00)) { If ((Local2 == 0x00)) { Local0 = (Arg0 & 0xFFFF0000) Local0 = (Local0 | 0x07) } If ((Local2 == 0x01)) { Local0 = (Arg0 & 0xFFFF0000) Local0 = (Local0 | 0x00) } If ((Local2 == 0x02)) { Local0 = (Arg0 & 0xFFFF0000) Local0 = (Local0 | 0x00) } } Else { If ((Local1 == 0x01)) { If ((Local2 == 0x00)) { Local0 = (Arg0 & 0xFFFF0000) Local0 = (Local0 | EVS0) } If ((Local2 == 0x01)) { Local0 = (Arg0 & 0xFFFF0000) Local0 = (Local0 | EVS1) } If ((Local2 == 0x02)) { Local0 = (Arg0 & 0xFFFF0000) Local0 = (Local0 | EVS2) } } Else { Local0 = Ones } } \DBGC (0xF1, 0x80, BCEN) Release (MSNE) Return (Local0) } Method (SSNE, 1, NotSerialized) { Acquire (MSNE, 0xFFFF) \DBGC (0xF4, 0x00, BCEN) Local1 = ((Arg0 & 0xFF000000) >> 0x18) Local2 = ((Arg0 & 0x00FF0000) >> 0x10) Local3 = (Arg0 & 0xFFFF) Local0 = 0x00 If ((Local1 == 0x00)) { If ((Local2 == 0x00)) { EVS0 = (Arg0 | EVS0) } If ((Local2 == 0x01)) { EVS1 = (Arg0 | EVS1) } If ((Local2 == 0x02)) { EVS2 = (Arg0 | EVS2) } } Else { If ((Local1 == 0x01)) { If ((Local2 == 0x00)) { EVS0 = (EVS0 & ~Arg0) } If ((Local2 == 0x01)) { EVS1 = (EVS1 & ~Arg0) } If ((Local2 == 0x02)) { EVS2 = (EVS2 & ~Arg0) } } } \DBGC (0xF4, 0x80, BCEN) Release (MSNE) } Method (SODV, 1, NotSerialized) { \DBGC (0xF6, 0x00, BCEN) If ((DSEN != 0x00)) { Return (Ones) } AODV = Arg0 If (!(AODV & CADD)) { AODV = 0x01 } If ((CADD != PADD)) { PADD = CADD /* \CADD */ Notify (\_SB.PCI0, 0x00) // Bus Check Local0 = (PNHM & 0x000FFFF0) Sleep (0x02EE) } \DBGC (0xF6, 0x80, BCEN) Return (Zero) } Mutex (MIDB, 0x00) Method (RBMF, 1, Serialized) { Acquire (MIDB, 0xFFFF) \DBGC (0xF7, 0x00, BCEN) Local0 = (Arg0 & 0x00010000) Local0 = PHSD (0xDC, Local0) If ((Local0 == 0x02)) { Sleep (0x1388) } \DBGC (0xF7, 0x80, BCEN) Release (MIDB) Return (Local0) } Method (RSBI, 1, Serialized) { Return (Zero) } Method (CBMF, 1, Serialized) { Acquire (MIDB, 0xFFFF) Local0 = ((Arg0 & 0x0001FFFF) | 0x02000000) Local0 = PHSD (0xDC, Local0) Release (MIDB) Return (Zero) } Method (EAWK, 1, Serialized) { Acquire (MIDB, 0xFFFF) PHSB (0xD3, 0x00) Local0 = ~Arg0 Release (MIDB) Return (Local0) } Name (SNI0, 0x53636E53) Name (SNI1, 0x6F707075) Name (SNI2, 0x64657472) Name (SNI3, 0x0100) Name (SNI4, 0x32560000) Name (SNIA, 0xCE3C) Name (SNN0, 0x00) Name (SNN1, 0x00) Name (SNN2, 0x0100) Name (SNN3, 0x014B) Name (SNN4, 0x0135) Name (SNN5, 0x013A) Name (SNN6, 0x00) Name (SNN7, 0x00) Name (SNN8, 0x00) Name (SNN9, 0x013F) Name (SNNA, 0x011D) Name (SNNB, 0x0114) Name (SNNC, 0x00) Name (SNND, 0x00) Name (SNNE, 0x0148) Name (SNNF, 0x0122) Name (XECR, 0x00) Name (ENMK, 0xFFE2) Name (ENCR, 0x00) Name (ESR, 0x00) Method (SN00, 1, NotSerialized) { Local1 = (Arg0 & 0xFF) If ((Local1 == 0x00)) { Return (SNI0) /* \_SB_.PCI0.LPCB.SNC_.SNI0 */ } If ((Local1 == 0x01)) { Return (SNI1) /* \_SB_.PCI0.LPCB.SNC_.SNI1 */ } If ((Local1 == 0x02)) { Return (SNI2) /* \_SB_.PCI0.LPCB.SNC_.SNI2 */ } If ((Local1 == 0x03)) { Return (SNI3) /* \_SB_.PCI0.LPCB.SNC_.SNI3 */ } If ((Local1 == 0x04)) { Return (SNI4) /* \_SB_.PCI0.LPCB.SNC_.SNI4 */ } If ((Local1 == 0x10)) { Return (SNIA) /* \_SB_.PCI0.LPCB.SNC_.SNIA */ } If (((Local1 >= 0x20) && (Local1 <= 0x2F))) { Local2 = SNGN (Local1) Return (Local2) } Return (0x00) } Method (SNGN, 1, NotSerialized) { Local1 = (Arg0 & 0x0F) If ((Local1 == 0x00)) { Return (SNN0) /* \_SB_.PCI0.LPCB.SNC_.SNN0 */ } If ((Local1 == 0x01)) { Return (SNN1) /* \_SB_.PCI0.LPCB.SNC_.SNN1 */ } If ((Local1 == 0x02)) { Return (SNN2) /* \_SB_.PCI0.LPCB.SNC_.SNN2 */ } If ((Local1 == 0x03)) { Return (SNN3) /* \_SB_.PCI0.LPCB.SNC_.SNN3 */ } If ((Local1 == 0x04)) { Return (SNN4) /* \_SB_.PCI0.LPCB.SNC_.SNN4 */ } If ((Local1 == 0x05)) { Return (SNN5) /* \_SB_.PCI0.LPCB.SNC_.SNN5 */ } If ((Local1 == 0x06)) { Return (SNN6) /* \_SB_.PCI0.LPCB.SNC_.SNN6 */ } If ((Local1 == 0x07)) { Return (SNN7) /* \_SB_.PCI0.LPCB.SNC_.SNN7 */ } If ((Local1 == 0x08)) { Return (SNN8) /* \_SB_.PCI0.LPCB.SNC_.SNN8 */ } If ((Local1 == 0x09)) { Return (SNN9) /* \_SB_.PCI0.LPCB.SNC_.SNN9 */ } If ((Local1 == 0x0A)) { Return (SNNA) /* \_SB_.PCI0.LPCB.SNC_.SNNA */ } If ((Local1 == 0x0B)) { Return (SNNB) /* \_SB_.PCI0.LPCB.SNC_.SNNB */ } If ((Local1 == 0x0C)) { Return (SNNC) /* \_SB_.PCI0.LPCB.SNC_.SNNC */ } If ((Local1 == 0x0D)) { Return (SNND) /* \_SB_.PCI0.LPCB.SNC_.SNND */ } If ((Local1 == 0x0E)) { Return (SNNE) /* \_SB_.PCI0.LPCB.SNC_.SNNE */ } If ((Local1 == 0x0F)) { Return (SNNF) /* \_SB_.PCI0.LPCB.SNC_.SNNF */ } Return (0x00) } Mutex (SNM0, 0x00) Method (SN01, 0, NotSerialized) { Acquire (SNM0, 0xFFFF) Local1 = PHS (0xD6) Local1 &= ~ENMK Local2 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ Local1 |= Local2 Release (SNM0) Return (Local1) } Method (SN02, 1, NotSerialized) { Acquire (SNM0, 0xFFFF) Local1 = Arg0 If ((Local1 != 0x00)) { Local2 = (Local1 & ~ENMK) If ((Local2 != 0x00)) { PHSD (0xD7, Local2) } Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ If ((Local2 != 0x00)) { Local3 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ ENCR = (Local3 | Local2) } } Release (SNM0) } Method (SN03, 1, NotSerialized) { Acquire (SNM0, 0xFFFF) Local1 = Arg0 If ((Local1 != 0x00)) { Local2 = (Local1 & ~ENMK) If ((Local2 != 0x00)) { PHSD (0xD8, Local1) } Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ If ((Local2 != 0x00)) { Local3 = (ENCR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ ENCR = (Local3 & ~Local2) } } Release (SNM0) } Method (SN04, 0, NotSerialized) { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) Sleep (0x05) Local1 = \_SB.PCI0.LPCB.EC.ESR0 Release (\_SB.PCI0.LPCB.EC.MECR) Local1 &= ~ENMK Local2 = (ESR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ Local1 |= Local2 Return (Local1) } Method (SN05, 1, NotSerialized) { Local1 = Arg0 If ((Local1 != 0x00)) { Local2 = (Local1 & ~ENMK) If ((Arg0 == 0x08)) { Local2 &= ~0x08 } If ((Local2 != 0x00)) { PHSD (0xDA, Local1) } Local2 = (Local1 & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ If ((Local2 != 0x00)) { Local3 = (ESR & ENMK) /* \_SB_.PCI0.LPCB.SNC_.ENMK */ ESR = (Local3 & ~Local2) } } } Mutex (SNM1, 0x00) Mutex (SNM2, 0x00) Name (SNBF, Buffer (0x0410) {}) CreateField (SNBF, 0x00, 0x20, SNBD) Method (SN06, 1, NotSerialized) { Acquire (SNM2, 0xFFFF) SNBF = Arg0 SNCM () Release (SNM2) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNCM, 0, NotSerialized) { Acquire (SNM1, 0xFFFF) Local0 = DerefOf (Index (SNBF, 0x00)) \DBGC (0xF0, Local0, BCEN) Local0 &= 0x0F If ((Local0 == 0x00)) { SNF0 (SNBF) } Else { If ((Local0 == 0x02)) { SNF2 (SNBF) } Else { If ((Local0 == 0x03)) { SNF3 (SNBF) } Else { If ((Local0 == 0x04)) { SNF4 (SNBF) } Else { If ((Local0 == 0x05)) { SNF5 (SNBF) } Else { If ((Local0 == 0x06)) { SNF6 (SNBF) } Else { If ((Local0 == 0x07)) { SNF7 (SNBF) } Else { If ((Local0 == 0x08)) { SNF8 (SNBF) } Else { If ((Local0 == 0x09)) { SNF9 (SNBF) } Else { If ((Local0 == 0x0A)) { SNFA (SNBF) } Else { If ((Local0 == 0x0B)) { SNFB (SNBF) } Else { If ((Local0 == 0x0C)) { SNFC (SNBF) } Else { If ((Local0 == 0x0E)) { SNFE (SNBF) } Else { If ((Local0 == 0x0F)) { SNFF (SNBF) } Else { } } } } } } } } } } } } } } Release (SNM1) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SN07, 1, NotSerialized) { Acquire (SNM2, 0xFFFF) Local0 = Arg0 SNBD = Local0 SNCM () Release (SNM2) Return (SNBD) /* \_SB_.PCI0.LPCB.SNC_.SNBD */ } Method (SNF0, 1, NotSerialized) { \DBGC (0x70, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF1, 1, NotSerialized) { \DBGC (0x71, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF2, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Local1 = 0x04 PHSB (0xD0, Local1) } Else { If ((Local0 == 0x01)) { Local1 = 0x04 PHSB (0xD1, Local1) } Else { If ((Local0 == 0x02)) { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) Sleep (0x05) Local1 = \_SB.PCI0.LPCB.EC.GECR () Release (\_SB.PCI0.LPCB.EC.MECR) Index (SNBF, 0x00) = Local1 } Else { } } } \DBGC (0x72, 0x80, BCEN) } Name (BRTB, Buffer (0x10) { /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */ /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */ }) Name (DEFU, Buffer (0x09) { /* 0000 */ 0x01, 0x23, 0x02, 0x01, 0x0B, 0x00, 0xDC, 0x00, /* .#...... */ /* 0008 */ 0x00 /* . */ }) Method (BRBR, 1, NotSerialized) { If (((Arg0 >= 0x00) && (Arg0 <= 0xFF))) { Local2 = (SYSD & 0x07) If (((Local2 == 0x00) || (Local2 == 0x03))) { \_SB.PCI0.GFX0.SBRI (Arg0) } Else { \_SB.PCI0.PEG0.VGA.SBRI (Arg0) } } } Method (GTBR, 0, NotSerialized) { Local1 = (SYSD & 0x07) If (((Local1 == 0x00) || (Local1 == 0x03))) { Local2 = \_SB.PCI0.GFX0.GBRI () } Else { Local2 = \_SB.PCI0.PEG0.VGA.GBRI () } Return (Local2) } Method (GLCD, 0, NotSerialized) { Local2 = 0x00 If ((CM60 != 0x00)) { Local2 = 0x01 } Return (Local2) } Method (SNF3, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Local1 = 0x00 While ((Local1 <= 0x0F)) { Index (SNBF, Local1) = DerefOf (Index (BRTB, Local1)) Local1++ } Local1 = 0x00 While ((Local1 <= 0x08)) { Index (SNBF, (Local1 + 0x10)) = DerefOf (Index (DEFU, Local1 )) Local1++ } } Else { If ((Local0 == 0x01)) { Local2 = GLCD () Local1 = (~GPKB & 0x01) Index (SNBF, 0x00) = Local1 |= (Local2 << 0x01) } Else { If ((Local0 == 0x10)) { Acquire (SNM0, 0xFFFF) Local1 = PHS (0xF7) Local1 &= 0x00FFFFFF Index (SNBF, 0x00) = Local1 Index (SNBF, 0x01) = (Local1 >> 0x08) Index (SNBF, 0x02) = (Local1 >> 0x10) Release (SNM0) } Else { If ((Local0 == 0x20)) { Local1 = (ALER & 0x03) Index (SNBF, 0x00) = Local1 } Else { If ((Local0 == 0x21)) { Local1 = PHS (0xFA) Local1 &= 0x01 Index (SNBF, 0x00) = Local1 } Else { If ((Local0 == 0x22)) { Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x01) If (Local1) { PHSB (0xFB, 0xA1) } Else { PHSB (0xFB, 0xA0) } } Else { If ((Local0 == 0x30)) { Local1 = DerefOf (Index (SNBF, 0x02)) Local2 = PHS (0xFA) Local2 &= 0x01 If (Local2) { BRBR (Local1) } } Else { If ((Local0 == 0x31)) { Index (SNBF, 0x00) = GTBR () } Else { If ((Local0 == 0x40)) { Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x03) If ((Local1 != 0x03)) { Local1 <<= 0x08 PHSD (0xF0, (Local1 | 0xA015)) } } Else { If ((Local0 == 0x41)) { Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x01) Local1 <<= 0x08 PHSD (0xF0, (Local1 | 0xA016)) } Else { If ((Local0 == 0x42)) { Local1 = (DerefOf (Index (SNBF, 0x02)) & 0x03) If ((Local1 == 0x00)) { PHSD (0xF0, 0xA317) } Else { If ((Local1 == 0x01)) { PHSD (0xF0, 0xA017) } Else { If ((Local1 == 0x02)) { PHSD (0xF0, 0xA117) } Else { If ((Local1 == 0x03)) { PHSD (0xF0, 0xA217) } } } } } } } } } } } } } } } \DBGC (0x73, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF4, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Local1 = PHS (0xE7) SNBF = Local1 } If ((Local0 == 0x01)) { Local1 = ((Local1 = SN04 () & 0x10) >> 0x04) Index (SNBF, 0x00) = Local1 } Else { If ((Local0 == 0x02)) { Local1 = PHS (0xDD) Index (SNBF, 0x00) = (Local1 & 0x01) } Else { If ((Local0 == 0x03)) { Local1 = PHS (0xDD) Local1 = ((Local1 & 0x06) >> 0x01) Index (SNBF, 0x00) = Local1 } Else { If ((Local0 == 0x04)) { Local1 = DerefOf (Index (SNBF, 0x02)) Local1 &= 0x03 PHSD (0xDE, Local1) } Else { If ((Local0 == 0x05)) { Local1 = PHS (0xDD) Local1 = ((Local1 & 0x30) >> 0x04) Index (SNBF, 0x00) = Local1 } Else { If ((Local0 == 0x06)) { Local1 = DerefOf (Index (SNBF, 0x02)) Local1 &= 0x03 PHSD (0xDF, Local1) } Else { If ((Local0 == 0x09)) { Local1 = PHS (0xDD) Local1 = ((Local1 & 0x3000) >> 0x0C) Index (SNBF, 0x00) = Local1 } Else { If ((Local0 == 0x0A)) { Local1 = DerefOf (Index (SNBF, 0x02)) Local1 &= 0x03 PHSD (0xEC, Local1) } Else { } } } } } } } } \DBGC (0x74, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF5, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Acquire (\_SB.PCI0.LPCB.EC.MECR, 0xFFFF) Sleep (0x05) Local1 = PHS (0xCA) Release (\_SB.PCI0.LPCB.EC.MECR) Local1 &= 0x0F If ((Local1 == 0x05)) { Local1 = 0x01 } Else { Local1 = 0x00 } Index (SNBF, 0x00) = Local1 \DBGC (0x75, 0x80, BCEN) } Else { If ((Local0 == 0x01)) { Local2 = DerefOf (Index (SNBF, 0x02)) Local2 &= 0x01 ATFR = Local2 } Else { } } Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF6, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Local1 = PHSD (0xF1, 0x12) } Else { If ((Local0 == 0x01)) { Local1 = PHSD (0xF1, 0x13) } Else { Local1 = 0x00 } } Index (SNBF, 0x00) = Local1 Index (SNBF, 0x01) = (Local1 >> 0x08) \DBGC (0x76, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF7, 1, NotSerialized) { \DBGC (0x77, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF8, 1, NotSerialized) { \DBGC (0x78, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNF9, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Local1 = PHS (0xE4) Index (SNBF, 0x00) = (Local1 & 0x35) } Else { If ((Local0 == 0x01)) { Local1 = DerefOf (Index (SNBF, 0x02)) Local1 &= 0x31 PHSD (0xE5, Local1) } Else { If ((Local0 == 0x02)) { Local1 = PHS (0xF3) Index (SNBF, 0x00) = Local1 } } } \DBGC (0x79, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNFA, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Index (SNBF, 0x00) = CM60 /* \CM60 */ Index (SNBF, 0x01) = 0x00 } Else { } \DBGC (0x7A, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNFB, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Acquire (MIDB, 0xFFFF) Local1 = PHSD (0xDC, 0x00) If ((Local1 == 0x02)) { Sleep (0x1388) } Release (MIDB) Index (SNBF, 0x00) = (Local1 & 0x07) } \DBGC (0x7B, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNFC, 1, NotSerialized) { \DBGC (0x7C, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNFD, 1, NotSerialized) { \DBGC (0x7D, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNFE, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Local1 = PHS (0xC7) Local1 &= 0xFF If ((Local1 == 0xFE)) { Local1 = 0x01 } Else { Local1 = 0x00 } Index (SNBF, 0x00) = Local1 Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Else { If ((Local0 == 0x01)) { Local2 = DerefOf (Index (SNBF, 0x02)) Local2 &= 0x01 If ((Local2 == 0x00)) { Local3 = 0xA0 } Else { Local3 = 0xA1 } PHSB (0xC8, Local3) } Else { } } \DBGC (0x7E, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } Method (SNFF, 1, NotSerialized) { Local0 = DerefOf (Index (SNBF, 0x01)) If ((Local0 == 0x00)) { Local1 = 0x03 Index (SNBF, 0x00) = Local1 } If ((Local0 == 0x01)) { Local1 = 0x00 Local1 = PHS (0xF2) P8XH (0x00, Local1) Local1 &= 0x03 Index (SNBF, 0x00) = Local1 } Else { If ((Local0 == 0x02)) { Local1 = DerefOf (Index (SNBF, 0x02)) P8XH (0x00, Local1) Local1 &= 0x03 PHSB (0xE8, Local1) } } \DBGC (0x7F, 0x80, BCEN) Return (SNBF) /* \_SB_.PCI0.LPCB.SNC_.SNBF */ } } } } } Scope (\) { Name (\AODV, 0x00) Name (\CADD, 0x00) Name (\PADD, 0x00) } Name (\_S0, Package (0x04) // _S0_: S0 System State { 0x00, 0x00, 0x00, 0x00 }) If (SS3) { Name (\_S3, Package (0x04) // _S3_: S3 System State { 0x05, 0x00, 0x00, 0x00 }) } If (SS4) { Name (\_S4, Package (0x04) // _S4_: S4 System State { 0x06, 0x00, 0x00, 0x00 }) } Name (\_S5, Package (0x04) // _S5_: S5 System State { 0x07, 0x00, 0x00, 0x00 }) Method (PTS, 1, NotSerialized) { If (Arg0) {} } Method (WAK, 1, NotSerialized) { } Scope (\_SB.PCI0.PEG0) { Device (VGA) { Method (_ADR, 0, Serialized) // _ADR: Address { \DBGC (0x65, 0x00, BCEN) Return (0x00) } OperationRegion (ATFX, PCI_Config, 0x00, 0x50) Field (ATFX, AnyAcc, NoLock, Preserve) { ATID, 16, Offset (0x4C), SSID, 32 } Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (I10B, Buffer (0x08) {}) CreateField (I10B, 0x00, 0x08, I_AL) CreateField (I10B, 0x08, 0x08, I_AH) CreateField (I10B, 0x10, 0x08, I_BL) CreateField (I10B, 0x18, 0x08, I_BH) CreateField (I10B, 0x20, 0x08, I_CL) CreateField (I10B, 0x28, 0x08, I_CH) CreateField (I10B, 0x30, 0x08, I_DL) CreateField (I10B, 0x38, 0x08, I_DH) Name (RTL0, Buffer (0x10) { /* 0000 */ 0x0D, 0x10, 0x14, 0x19, 0x1E, 0x25, 0x2D, 0x36, /* .....%-6 */ /* 0008 */ 0x41, 0x50, 0x5F, 0x76, 0x8D, 0xAB, 0xD2, 0xFF /* AP_v.... */ }) Name (ICL0, Package (0x12) { 0x64, 0x64, 0x0A, 0x10, 0x16, 0x1C, 0x22, 0x28, 0x2E, 0x34, 0x3A, 0x40, 0x46, 0x4C, 0x52, 0x58, 0x5E, 0x64 }) Method (SBRI, 1, NotSerialized) { I_AL = 0x82 I_AH = 0xA0 I_BL = 0x05 I_BH = 0x01 I_CL = Arg0 PHDD (0xE2, I10B) } Name (SSBR, 0x00) Method (GBRI, 0, NotSerialized) { I_AL = 0x82 I_AH = 0xA0 I_BL = 0x05 I_BH = 0x00 I_CL = 0x00 I10B = PHDD (0xE2, I10B) SSBR = DerefOf (Index (I10B, 0x04)) Return (SSBR) /* \_SB_.PCI0.PEG0.VGA_.SSBR */ } Device (LCD) { Name (_ADR, 0x0110) // _ADR: Address Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { Return (ICL0) /* \_SB_.PCI0.PEG0.VGA_.ICL0 */ } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { PHSD (0xDA, 0x08) Local1 = PHS (0xFA) Local1 &= 0x01 If ((Local1 == 0x01)) { ALER = 0x01 BRTL = Arg0 Notify (\_SB.PCI0.LPCB.SNC, 0x93) // Device-Specific } Else { ALER = 0x00 Local0 = (Match (ICL0, MEQ, Arg0, MTR, 0x00, 0x02) - 0x02) Local0 = DerefOf (Index (RTL0, Local0)) BRTL = Arg0 I_AL = 0x82 I_AH = 0xA0 I_BL = 0x05 I_BH = 0x01 I_CL = Local0 PHDD (0xE2, I10B) } \DBGC (0x65, 0x81, BCEN) } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { \DBGC (0x65, 0x82, BCEN) Return (BRTL) /* \BRTL */ } Name (_DCS, 0x1F) // _DCS: Display Current Status Name (_DGS, 0x01) // _DGS: Display Graphics State Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If ((Arg0 & 0x40000000)) { If ((Arg0 & 0x01)) { _DCS = 0x1F } Else { _DCS = 0x1D } } Else { } } } Device (CRT) { Name (_ADR, 0x0100) // _ADR: Address Name (_DCS, 0x1F) // _DCS: Display Current Status Name (_DGS, 0x01) // _DGS: Display Graphics State Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If ((Arg0 & 0x40000000)) { If ((Arg0 & 0x01)) { _DCS = 0x1F } Else { _DCS = 0x1D } } Else { } } } Device (TV) { Name (_ADR, 0x0200) // _ADR: Address Name (_DCS, 0x0D) // _DCS: Display Current Status Name (_DGS, 0x00) // _DGS: Display Graphics State Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If ((Arg0 & 0x40000000)) { If ((Arg0 & 0x01)) { _DCS = 0x1F } Else { _DCS = 0x1D } } Else { } } } Device (DFP1) { Name (_ADR, 0x0210) // _ADR: Address Name (_DCS, 0x1F) // _DCS: Display Current Status Name (_DGS, 0x01) // _DGS: Display Graphics State Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If ((Arg0 & 0x40000000)) { If ((Arg0 & 0x01)) { _DCS = 0x1F } Else { _DCS = 0x1D } } Else { } } } Name (SWIT, 0x01) Name (_DOD, Package (0x04) // _DOD: Display Output Devices { 0x00010100, 0x00010110, 0x00010200, 0x00010210 }) Name (ATIB, Buffer (0x0100) {}) Method (XTIF, 2, Serialized) { If ((Arg0 == 0x00)) { Return (AF00 ()) } If ((Arg0 == 0x01)) { Return (AF01 ()) } If ((Arg0 == 0x02)) { Return (AF02 ()) } If ((Arg0 == 0x03)) { Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1, 0x04)))) } If ((Arg0 == 0x05)) { Return (AF05 ()) } If ((Arg0 == 0x06)) { Return (AF06 (DerefOf (Index (Arg1, 0x03)))) } If ((Arg0 == 0x07)) { Return (AF07 ()) } If ((Arg0 == 0x08)) { Return (AF08 (DerefOf (Index (Arg1, 0x02)))) } Else { CreateWordField (ATIB, 0x00, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) SSZE = 0x00 VERN = 0x00 NMSK = 0x00 SFUN = 0x00 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } } Method (AF00, 0, NotSerialized) { CreateWordField (ATIB, 0x00, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) SSZE = 0x0C VERN = 0x01 NMSK = 0x00 MSKN = NMSK /* \_SB_.PCI0.PEG0.VGA_.AF00.NMSK */ SFUN = 0x00 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Method (AF01, 0, NotSerialized) { CreateWordField (ATIB, 0x00, SSZE) CreateDWordField (ATIB, 0x02, VMSK) CreateDWordField (ATIB, 0x06, FLGS) SSZE = 0x0A VMSK = 0x03 FLGS = 0x01 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Name (PSBR, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Name (MSKN, 0x00) Name (SEXM, 0x00) Name (STHG, 0x00) Name (STHI, 0x00) Name (SFPG, 0x00) Name (SFPI, 0x00) Name (SSPS, 0x00) Name (SSDM, 0x0A) Name (SCDY, 0x00) Name (SACT, Buffer (0x06) { 0x01, 0x02, 0x08, 0x03, 0x09, 0x0A /* ...... */ }) Method (AF02, 0, NotSerialized) { CreateBitField (PSBR, 0x00, PDSW) CreateBitField (PSBR, 0x01, PEXM) CreateBitField (PSBR, 0x02, PTHR) CreateBitField (PSBR, 0x03, PFPS) CreateBitField (PSBR, 0x04, PSPS) CreateBitField (PSBR, 0x05, PDCC) CreateWordField (ATIB, 0x00, SSZE) CreateDWordField (ATIB, 0x02, PSBI) CreateByteField (ATIB, 0x06, EXPM) CreateByteField (ATIB, 0x07, THRM) CreateByteField (ATIB, 0x08, THID) CreateByteField (ATIB, 0x09, FPWR) CreateByteField (ATIB, 0x0A, FPID) CreateByteField (ATIB, 0x0B, SPWR) SSZE = 0x0C PSBI = PSBR /* \_SB_.PCI0.PEG0.VGA_.PSBR */ If (PDSW) { PDSW = Zero } If (PEXM) { EXPM = SEXM /* \_SB_.PCI0.PEG0.VGA_.SEXM */ SEXM = Zero PEXM = Zero } If (PTHR) { THRM = STHG /* \_SB_.PCI0.PEG0.VGA_.STHG */ THID = STHI /* \_SB_.PCI0.PEG0.VGA_.STHI */ STHG = Zero STHI = Zero PTHR = Zero } If (PFPS) { FPWR = SFPG /* \_SB_.PCI0.PEG0.VGA_.SFPG */ FPWR = SFPI /* \_SB_.PCI0.PEG0.VGA_.SFPI */ SFPG = Zero SFPI = Zero PFPS = Zero } If (PSPS) { SPWR = SSPS /* \_SB_.PCI0.PEG0.VGA_.SSPS */ PSPS = Zero } Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Method (AF03, 2, NotSerialized) { CreateWordField (ATIB, 0x00, SSZE) CreateWordField (ATIB, 0x02, SSDP) CreateWordField (ATIB, 0x04, SCDP) SSDP = Arg0 SCDP = Arg1 Name (NXTD, 0x06) Name (CIDX, 0x06) Local1 = SSDP /* \_SB_.PCI0.PEG0.VGA_.AF03.SSDP */ Local1 &= 0x0B Local2 = SCDP /* \_SB_.PCI0.PEG0.VGA_.AF03.SCDP */ If (CondRefOf (\_SB.LID._LID, Local4)) { Local2 &= ~0x01 } Else { Local2 |= 0x01 } Local0 = Zero While ((Local0 < SizeOf (SACT))) { Local3 = DerefOf (Index (SACT, Local0)) If ((Local3 == Local1)) { CIDX = Local0 Local0 = SizeOf (SACT) } Else { Local0++ } } Local0 = CIDX /* \_SB_.PCI0.PEG0.VGA_.AF03.CIDX */ While ((Local0 < SizeOf (SACT))) { Local0++ If ((Local0 == SizeOf (SACT))) { Local0 = 0x00 } Local3 = DerefOf (Index (SACT, Local0)) If (((Local3 & Local2) == Local3)) { NXTD = Local0 Local0 = SizeOf (SACT) } } If ((NXTD == SizeOf (SACT))) { SSDP = Zero } Else { Local0 = NXTD /* \_SB_.PCI0.PEG0.VGA_.AF03.NXTD */ Local3 = DerefOf (Index (SACT, Local0)) SSDP &= ~0x0B SSDP |= Local3 } SSZE = 0x04 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Method (AF05, 0, NotSerialized) { CreateWordField (ATIB, 0x00, SSZE) CreateByteField (ATIB, 0x02, TSEF) CreateByteField (ATIB, 0x03, TVIF) SSZE = 0x04 TSEF = 0x00 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Method (AF06, 1, NotSerialized) { CreateWordField (ATIB, 0x00, SSZE) CreateByteField (ATIB, 0x02, TSEF) CreateByteField (ATIB, 0x03, TVIF) SSZE = 0x04 TSEF = 0x00 TVIF = Arg0 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Method (AF07, 0, NotSerialized) { CreateWordField (ATIB, 0x00, SSZE) CreateByteField (ATIB, 0x02, XMOD) SSZE = 0x03 XMOD = 0x00 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Method (AF08, 1, NotSerialized) { CreateWordField (ATIB, 0x00, SSZE) CreateByteField (ATIB, 0x02, XMOD) SSZE = 0x03 XMOD = Arg0 Return (ATIB) /* \_SB_.PCI0.PEG0.VGA_.ATIB */ } Method (AFN0, 0, Serialized) { If ((MSKN & 0x01)) { CreateBitField (PSBR, 0x00, PDSW) PDSW = One Notify (VGA, 0x81) // Information Change } } Method (AFN1, 1, Serialized) { If ((MSKN & 0x02)) { Local0 = Arg0 Local0 &= 0x03 SEXM = Local0 CreateBitField (PSBR, 0x01, PEXM) PEXM = One Notify (VGA, 0x81) // Information Change } } Method (AFN2, 2, Serialized) { If ((MSKN & 0x04)) { Local0 = Arg0 STHI = Local0 Local0 = Arg1 STHG = Local0 &= 0x03 CreateBitField (PSBR, 0x02, PTHS) PTHS = One Notify (VGA, 0x81) // Information Change } } Method (AFN3, 2, Serialized) { If ((MSKN & 0x08)) { Local0 = Arg0 SFPI = Local0 Local0 = Arg1 SFPG = Local0 &= 0x03 CreateBitField (PSBR, 0x03, PFPS) PFPS = One Notify (VGA, 0x81) // Information Change } } Method (AFN4, 1, Serialized) { If ((MSKN & 0x10)) { Local0 = Arg0 Local1 = SSPS /* \_SB_.PCI0.PEG0.VGA_.SSPS */ SSPS = Local0 If ((Local0 == Local1)) {} Else { CreateBitField (PSBR, 0x04, PSPS) PSPS = One Notify (VGA, 0x81) // Information Change } } } Method (AFN5, 0, Serialized) { If ((MSKN & 0x20)) { CreateBitField (PSBR, 0x05, PDCC) PDCC = One Notify (VGA, 0x81) // Information Change } } } } Scope (\_PR.CPU0) { Name (_PPC, Zero) // _PPC: Performance Present Capabilities Method (_PCT, 0, NotSerialized) // _PCT: Performance Control { \DBGC (0xC5, Zero, BCEN) If (((CFGD & One) && (PDC0 & One))) { \DBGC (0xC5, 0x80, BCEN) Return (Package (0x02) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) } \DBGC (0xC5, 0x81, BCEN) Return (Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x10, // Bit Width 0x00, // Bit Offset 0x0000000000001000, // Address ,) }, ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x00000000000000B3, // Address ,) } }) } Method (XPSS, 0, NotSerialized) { \DBGC (0xC6, Zero, BCEN) If ((PDC0 & One)) { \DBGC (0xC6, 0x80, BCEN) Return (NPSS) /* External reference */ } \DBGC (0xC6, 0x81, BCEN) Return (SPSS) /* \_PR_.CPU0.SPSS */ } Name (SPSS, Package (0x08) { Package (0x06) { 0x000008FD, 0x000088B8, 0x0000006E, 0x0000000A, 0x00000083, 0x00000000 }, Package (0x06) { 0x000008FC, 0x000088B8, 0x0000006E, 0x0000000A, 0x00000183, 0x00000001 }, Package (0x06) { 0x00000708, 0x000064A6, 0x0000006E, 0x0000000A, 0x00000283, 0x00000002 }, Package (0x06) { 0x00000640, 0x000056F9, 0x0000006E, 0x0000000A, 0x00000383, 0x00000003 }, Package (0x06) { 0x00000578, 0x000049D8, 0x0000006E, 0x0000000A, 0x00000483, 0x00000004 }, Package (0x06) { 0x000004B0, 0x00003E7C, 0x0000006E, 0x0000000A, 0x00000583, 0x00000005 }, Package (0x06) { 0x000003E8, 0x0000326B, 0x0000006E, 0x0000000A, 0x00000683, 0x00000006 }, Package (0x06) { 0x00000320, 0x000026E4, 0x0000006E, 0x0000000A, 0x00000783, 0x00000007 } }) Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Name (_PSS, Package (0x08) // _PSS: Performance Supported States { Package (0x06) { 0x000008FD, 0x000088B8, 0x0000000A, 0x0000000A, 0x00001D00, 0x00001D00 }, Package (0x06) { 0x000008FC, 0x000088B8, 0x0000000A, 0x0000000A, 0x00001700, 0x00001700 }, Package (0x06) { 0x00000708, 0x000064A6, 0x0000000A, 0x0000000A, 0x00001200, 0x00001200 }, Package (0x06) { 0x00000640, 0x000056F9, 0x0000000A, 0x0000000A, 0x00001000, 0x00001000 }, Package (0x06) { 0x00000578, 0x000049D8, 0x0000000A, 0x0000000A, 0x00000E00, 0x00000E00 }, Package (0x06) { 0x000004B0, 0x00003E7C, 0x0000000A, 0x0000000A, 0x00000C00, 0x00000C00 }, Package (0x06) { 0x000003E8, 0x0000326B, 0x0000000A, 0x0000000A, 0x00000A00, 0x00000A00 }, Package (0x06) { 0x00000320, 0x000026E4, 0x0000000A, 0x0000000A, 0x00000800, 0x00000800 } }) Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 } Name (PSDF, Zero) Method (_PSD, 0, NotSerialized) // _PSD: Power State Dependencies { \DBGC (0xC7, Zero, BCEN) If (!PSDF) { Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */ Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */ PSDF = Ones } If ((PDC0 & 0x0800)) { \DBGC (0xC7, 0x80, BCEN) Return (HPSD) /* \_PR_.CPU0.HPSD */ } \DBGC (0xC7, 0x81, BCEN) Return (SPSD) /* \_PR_.CPU0.SPSD */ } Name (HPSD, Package (0x01) { Package (0x05) { 0x05, Zero, Zero, 0xFE, 0x80 } }) Name (SPSD, Package (0x01) { Package (0x05) { 0x05, Zero, Zero, 0xFC, 0x80 } }) } Scope (\) { Name (SSDT, Package (0x0C) { "CPU0IST ", 0x01802018, 0x000007F3, "APIST ", 0xDADBDA98, 0x00000303, "CPU0CST ", 0xDADBC718, 0x0000067C, "APCST ", 0xDADBBD98, 0x00000119 }) Name (CFGD, 0x0070F6FF) Name (\PDC0, 0x80000000) Name (\PDC1, 0x80000000) Name (\PDC2, 0x80000000) Name (\PDC3, 0x80000000) Name (\PDC4, 0x80000000) Name (\PDC5, 0x80000000) Name (\PDC6, 0x80000000) Name (\PDC7, 0x80000000) Name (\SDTL, Zero) } Scope (\_PR.CPU0) { Name (HI0, Zero) Name (HC0, Zero) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { \DBGC (0xCB, Zero, BCEN) Local0 = CPDC (Arg0) GCAP (Local0) \DBGC (0xCB, 0x80, BCEN) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { \DBGC (0xCB, One, BCEN) Local0 = COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) \DBGC (0xCB, 0x81, BCEN) Return (Local0) } Method (CPDC, 1, NotSerialized) { \DBGC (0xCB, 0x02, BCEN) CreateDWordField (Arg0, Zero, REVS) CreateDWordField (Arg0, 0x04, SIZE) Local0 = SizeOf (Arg0) Local1 = (Local0 - 0x08) CreateField (Arg0, 0x40, (Local1 * 0x08), TEMP) Name (STS0, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) Concatenate (STS0, TEMP, Local2) \DBGC (0xCB, 0x82, BCEN) Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)) } Method (COSC, 4, NotSerialized) { \DBGC (0xCB, 0x03, BCEN) 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, ToUUID ("4077a616-290c-47be-9ebd-d87058713953")) CreateDWordField (UID0, Zero, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (!(((IID0 == EID0) && (IID1 == EID1)) && (( IID2 == EID2) && (IID3 == EID3)))) { STS0 = 0x06 \DBGC (0xCB, 0x83, BCEN) Return (Arg3) } If ((Arg1 != One)) { STS0 = 0x0A \DBGC (0xCB, 0x84, BCEN) Return (Arg3) } \DBGC (0xCB, 0x85, BCEN) Return (Arg3) } Method (GCAP, 1, NotSerialized) { \DBGC (0xCB, 0x06, BCEN) CreateDWordField (Arg0, Zero, STS0) CreateDWordField (Arg0, 0x04, CAP0) If (((STS0 == 0x06) || (STS0 == 0x0A))) { \DBGC (0xCB, 0x86, BCEN) Return (Zero) } If ((STS0 & One)) { CAP0 &= 0x0BFF \DBGC (0xCB, 0x87, BCEN) Return (Zero) } PDC0 = ((PDC0 & 0x7FFFFFFF) | CAP0) /* \_PR_.CPU0.GCAP.CAP0 */ If ((CFGD & 0x3E)) { If ((((CFGD & 0x0400) && (PDC0 & 0x18)) && ! (SDTL & 0x02))) { SDTL |= 0x02 OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08))) Load (CST0, HC0) /* \_PR_.CPU0.HC0_ */ } } \DBGC (0xCB, 0x88, BCEN) Return (Zero) } } Scope (\_PR.CPU1) { Name (HI1, Zero) Name (HC1, Zero) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { Local0 = \_PR.CPU0.CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS1) CreateDWordField (Arg0, 0x04, CAP1) If (((STS1 == 0x06) || (STS1 == 0x0A))) { Return (Zero) } If ((STS1 & One)) { CAP1 &= 0x0BFF Return (Zero) } PDC1 = ((PDC1 & 0x7FFFFFFF) | CAP1) /* \_PR_.CPU1.GCAP.CAP1 */ If (((PDC0 & 0x09) == 0x09)) { APPT () } If ((PDC0 & 0x18)) { APCT () } Return (Zero) } Method (APCT, 0, NotSerialized) { If (((CFGD & 0x2E) && !(SDTL & 0x20))) { SDTL |= 0x20 OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B))) Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */ } } Method (APPT, 0, NotSerialized) { If (((CFGD & One) && !(SDTL & 0x10))) { SDTL |= 0x10 OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05))) Load (IST1, HI1) /* \_PR_.CPU1.HI1_ */ } } } Scope (\_PR.CPU2) { Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { Local0 = \_PR.CPU0.CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS2) CreateDWordField (Arg0, 0x04, CAP2) If (((STS2 == 0x06) || (STS2 == 0x0A))) { Return (Zero) } If ((STS2 & One)) { CAP2 &= 0x0BFF Return (Zero) } PDC2 = ((PDC2 & 0x7FFFFFFF) | CAP2) /* \_PR_.CPU2.GCAP.CAP2 */ If (((PDC2 & 0x09) == 0x09)) { \_PR.CPU1.APPT () } If ((PDC2 & 0x18)) { \_PR.CPU1.APCT () } Return (Zero) } } Scope (\_PR.CPU3) { Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { Local0 = \_PR.CPU0.CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS3) CreateDWordField (Arg0, 0x04, CAP3) If (((STS3 == 0x06) || (STS3 == 0x0A))) { Return (Zero) } If ((STS3 & One)) { CAP3 &= 0x0BFF Return (Zero) } PDC3 = ((PDC3 & 0x7FFFFFFF) | CAP3) /* \_PR_.CPU3.GCAP.CAP3 */ If (((PDC3 & 0x09) == 0x09)) { \_PR.CPU1.APPT () } If ((PDC3 & 0x18)) { \_PR.CPU1.APCT () } Return (Zero) } } Scope (\_PR.CPU4) { Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { Local0 = \_PR.CPU0.CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS4) CreateDWordField (Arg0, 0x04, CAP4) If (((STS4 == 0x06) || (STS4 == 0x0A))) { Return (Zero) } If ((STS4 & One)) { CAP4 &= 0x0BFF Return (Zero) } PDC4 = ((PDC4 & 0x7FFFFFFF) | CAP4) /* \_PR_.CPU4.GCAP.CAP4 */ If (((PDC4 & 0x09) == 0x09)) { \_PR.CPU1.APPT () } If ((PDC4 & 0x18)) { \_PR.CPU1.APCT () } Return (Zero) } } Scope (\_PR.CPU5) { Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { Local0 = \_PR.CPU0.CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS5) CreateDWordField (Arg0, 0x04, CAP5) If (((STS5 == 0x06) || (STS5 == 0x0A))) { Return (Zero) } If ((STS5 & One)) { CAP5 &= 0x0BFF Return (Zero) } PDC5 = ((PDC5 & 0x7FFFFFFF) | CAP5) /* \_PR_.CPU5.GCAP.CAP5 */ If (((PDC5 & 0x09) == 0x09)) { \_PR.CPU1.APPT () } If ((PDC5 & 0x18)) { \_PR.CPU1.APCT () } Return (Zero) } } Scope (\_PR.CPU6) { Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { Local0 = \_PR.CPU0.CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS6) CreateDWordField (Arg0, 0x04, CAP6) If (((STS6 == 0x06) || (STS6 == 0x0A))) { Return (Zero) } If ((STS6 & One)) { CAP6 &= 0x0BFF Return (Zero) } PDC6 = ((PDC6 & 0x7FFFFFFF) | CAP6) /* \_PR_.CPU6.GCAP.CAP6 */ If (((PDC6 & 0x09) == 0x09)) { \_PR.CPU1.APPT () } If ((PDC6 & 0x18)) { \_PR.CPU1.APCT () } Return (Zero) } } Scope (\_PR.CPU7) { Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { Local0 = \_PR.CPU0.CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = \_PR.CPU0.COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS7) CreateDWordField (Arg0, 0x04, CAP7) If (((STS7 == 0x06) || (STS7 == 0x0A))) { Return (Zero) } If ((STS7 & One)) { CAP7 &= 0x0BFF Return (Zero) } PDC7 = ((PDC7 & 0x7FFFFFFF) | CAP7) /* \_PR_.CPU7.GCAP.CAP7 */ If (((PDC7 & 0x09) == 0x09)) { \_PR.CPU1.APPT () } If ((PDC7 & 0x18)) { \_PR.CPU1.APCT () } Return (Zero) } } Scope (\) { Name (STFE, Buffer (0x07) { 0x10, 0x06, 0x00, 0x00, 0x00, 0x00, 0xEF /* ....... */ }) Name (STFD, Buffer (0x07) { 0x90, 0x06, 0x00, 0x00, 0x00, 0x00, 0xEF /* ....... */ }) Name (FZTF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5 /* ....... */ }) Name (DCFL, Buffer (0x07) { 0xC1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB1 /* ....... */ }) Name (SCBF, Buffer (0x15) {}) Name (CMDC, 0x00) Method (GTFB, 2, Serialized) { Local0 = (CMDC * 0x38) CreateField (SCBF, Local0, 0x38, CMDX) Local0 = (CMDC * 0x07) CreateByteField (SCBF, (Local0 + 0x01), A001) CMDX = Arg0 A001 = Arg1 CMDC++ } } Scope (\_SB.PCI0.SAT0) { Device (SPT0) { Name (_ADR, 0xFFFF) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { \DBGC (0xB8, 0x00, BCEN) CMDC = 0x00 GTFB (FZTF, 0x00) \DBGC (0xB8, 0x80, BCEN) Return (SCBF) /* \SCBF */ } } Device (SPT1) { Method (_ADR, 0, Serialized) // _ADR: Address { \DBGC (0xB9, 0x00, BCEN) Return (0x0001FFFF) } } } }