/* RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2) XSDT=0x00000000caffe210, length=36, cksum=33 */ /* XSDT: Length=156, Revision=1, Checksum=118, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=, Creator Revision=0x1000013 Entries={ 0x00000000caffa000, 0x00000000caffd000, 0x00000000caffc000, 0x00000000caffb000, 0x00000000caff9000, 0x00000000caff8000, 0x00000000caff7000, 0x00000000cafeb000, 0x00000000cafe9000, 0x00000000cafe7000, 0x00000000cafe6000, 0x00000000cafe4000, 0x00000000cafe3000, 0x00000000cafe2000, 0x00000000cafe1000 } */ /* FACP: Length=268, Revision=5, Checksum=199, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 FACS=0xcafbb000, DSDT=0xcafec000 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=57 us FLUSH_SIZE=1024, FLUSH_STRIDE=16 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=0 IAPC_BOOT_ARCH={LEGACY_DEVICES,8042,NO_ASPM} Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED,RESET_REGISTER,PCI_EXPRESS_WAKE,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON} RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xfb */ /* FACS: Length=64, HwSig=0xa26897df, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=2 */ /* DSDT: Length=41001, Revision=1, Checksum=116, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* SLIC: Length=374, Revision=1, Checksum=71, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* UEFI: Length=566, Revision=1, Checksum=207, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* ASF!: Length=165, Revision=32, Checksum=116, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* HPET: Length=56, Revision=1, Checksum=55, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 HPET Number=0 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1 Comparators=2 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x8086 Minimal Tick=128 */ /* APIC: Length=140, Revision=3, Checksum=155, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 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=1 Type=Local APIC ACPI CPU=3 Flags={ENABLED} APIC ID=2 Type=Local APIC ACPI CPU=4 Flags={ENABLED} APIC ID=3 Type=Local APIC ACPI CPU=5 Flags={DISABLED} APIC ID=0 Type=Local APIC ACPI CPU=6 Flags={DISABLED} APIC ID=0 Type=Local APIC ACPI CPU=7 Flags={DISABLED} APIC ID=0 Type=Local APIC ACPI CPU=8 Flags={DISABLED} APIC ID=0 Type=IO APIC APIC ID=0 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} */ /* MCFG: Length=60, Revision=1, Checksum=15, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 Base Address=0x00000000f0000000 Segment Group=0x0000 Start Bus=0 End Bus=63 */ /* SSDT: Length=1790, Revision=1, Checksum=175, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* BOOT: Length=40, Revision=1, Checksum=247, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* ASPT: Length=52, Revision=7, Checksum=37, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* DBGP: Length=52, Revision=1, Checksum=57, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* FPDT: Length=68, Revision=1, Checksum=4, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* MSDM: Length=85, Revision=3, Checksum=123, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* SSDT: Length=2474, Revision=1, Checksum=243, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* SSDT: Length=2706, Revision=1, Checksum=145, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x1, Creator ID=ACPI, Creator Revision=0x40000 */ /* * 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.H5AoKk, Mon Feb 29 00:33:42 2016 * * Original Table Header: * Signature "DSDT" * Length 0x0000BAF7 (47863) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support * Checksum 0x07 * OEM ID "LENOVO" * OEM Table ID "CB-01 " * OEM Revision 0x00000001 (1) * Compiler ID "ACPI" * Compiler Version 0x00040000 (262144) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "LENOVO", "CB-01 ", 0x00000001) { /* * iASL Warning: There were 4 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 (ECST, MethodObj) // Warning: Unresolved method, guessing 1 arguments 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 (ECDY, Zero) Name (SS1, Zero) Name (SS2, Zero) Name (SS3, One) Name (SS4, One) Name (IOST, 0xFFFF) Name (SP2O, 0x4E) Name (SP1O, 0x2E) Name (IO1B, 0x0600) Name (IO1L, 0x70) Name (IO2B, 0x0600) Name (IO2L, 0x20) Name (IO3B, 0x0290) Name (IO3L, 0x10) Name (SP3O, 0x2E) Name (IO4B, 0x0A20) Name (IO4L, 0x20) Name (MCHB, 0xFED10000) Name (MCHL, 0x8000) Name (EGPB, 0xFED19000) Name (EGPL, 0x1000) Name (DMIB, 0xFED18000) Name (DMIL, 0x1000) Name (IFPB, 0xFED14000) Name (IFPL, 0x1000) Name (PEBS, 0xF0000000) Name (PELN, 0x04000000) Name (SMBS, 0x0580) Name (SMBL, 0x20) 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 (HPTB, 0xFED00000) Name (HPTC, 0xFED1F404) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (DSSP, Zero) Name (FHPP, One) Name (FMBL, One) Name (FDTP, 0x02) Name (FUPS, 0x03) Name (BEL, One) Name (BEH, 0x02) Name (BRH, 0x03) Name (BTF, 0x04) Name (BYB, 0x06) Name (BWB, 0x06) Name (BELC, 0x09) Name (BRHP, 0x0A) Name (BTFC, 0x0B) Name (BEHP, 0x0C) Name (BELP, 0x0E) Name (BTL, 0x10) Name (BTFP, 0x11) Name (BSR, 0x14) Name (BCC, 0x1C) Name (BEF, 0x21) Name (BLLE, 0x22) Name (BLLC, 0x23) Name (BLCA, 0x24) Name (BLLS, 0x25) Name (BLLP, 0x26) Name (BLLD, 0x27) Name (BKF, 0x28) Name (BHBE, 0x30) Name (BHBC, 0x31) Name (BHBN, 0x32) Name (BHBM, 0x33) Name (TCGM, One) Name (TRTP, One) Name (WDTE, One) Name (TRTD, 0x02) Name (TRTI, 0x03) Name (GCDD, One) Name (DSTA, 0x0A) Name (DSLO, 0x0C) Name (DSLC, 0x0E) Name (PITS, 0x10) Name (SBCS, 0x12) Name (SALS, 0x13) Name (LSSS, 0x2A) Name (SOOT, 0x35) Name (PDBR, 0x4D) Name (DPPB, 0xFED98000) Name (DPPL, 0x8000) OperationRegion (GNVS, SystemMemory, 0xCAFBEA18, 0x00000203) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, THOF, 8, ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, DTSF, 8, Offset (0x25), REVN, 8, RES3, 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, COMA, 8, COMB, 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, PLID, 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, Offset (0xED), 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, SGGP, 8, Offset (0x19D), ALFP, 8, IMON, 8, PDTS, 8, PKGA, 8, PAMT, 8, AC0F, 8, AC1F, 8, DTS3, 8, DTS4, 8, Offset (0x1B2), XHCI, 8, XHPM, 8, Offset (0x1B7), XTUB, 32, XTUS, 32, XMPB, 32, Offset (0x1C4), LPMV, 8, Offset (0x1C6), DDRF, 8, MM64, 8, Offset (0x1E0), CCMD, 8, COMD, 8, LPT1, 8, PSTP, 8, WKMD, 8, IDER, 8, PIE0, 8, PIE1, 8, CSTS, 8, PMEE, 8, WOLE, 8, NVAD, 32, PGVI, 32, OPTF, 8, IFSE, 8, AOAC, 8, S1C0, 16, S1C1, 16, S2C0, 16, S2C1, 16, SLPS, 8, ALAT, 32 } OperationRegion (OGNS, SystemMemory, 0xCAFBCF98, 0x00000039) Field (OGNS, AnyAcc, Lock, Preserve) { OG00, 8, OG01, 8, OG02, 8, OG03, 8, OG04, 8, OG05, 8, OG06, 8, OG07, 8, OG08, 8, OG09, 8, OG10, 8, ECON, 8, TPDF, 8, CMPS, 8, ODTY, 8, ODST, 8, VTST, 8, WLFG, 8, FS35, 8, BL00, 8, BL01, 8, BL02, 8, BL03, 8, BL04, 8, BL05, 8, BL06, 8, BL07, 8, BL08, 8, BL09, 8, BL10, 8, BL11, 8, BL12, 8, BL13, 8, BL14, 8, BL15, 8, BL20, 8, BL21, 8, BL22, 8, BL23, 8, BL24, 8, BL25, 8, BL26, 8, BL27, 8, BL28, 8, BL29, 8, BL30, 8, BL31, 8, BL32, 8, BL33, 8, BL34, 8, BL35, 8, BL36, 8, BL37, 8, BL38, 8, BL39, 8, BL40, 8, KBID, 8 } OperationRegion (SMIO, SystemIO, 0xB2, 0x02) Field (SMIO, ByteAcc, NoLock, Preserve) { SMIC, 8, SMID, 8 } Scope (_SB) { 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, Zero) // _ADR: Address Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN00 ()) } Name (_UID, Zero) // _UID: Unique ID Name (PR00, Package (0x25) { Package (0x04) { 0x0014FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKF, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0006FFFF, One, LNKA, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x0018FFFF, Zero, LNKE, Zero } }) Name (AR00, Package (0x25) { Package (0x04) { 0x0014FFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x0018FFFF, Zero, Zero, 0x14 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR00) /* \_SB_.PCI0.AR00 */ } Return (PR00) /* \_SB_.PCI0.PR00 */ } OperationRegion (HBUS, PCI_Config, Zero, 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) QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000000000010000, // Range Minimum 0x000000000001FFFF, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000000010000, // Length ,, _Y0F, 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) - One) If (PM1L) { CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C0LN) // _LEN: Length C0LN = Zero } If ((PM1L == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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 == One)) { 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) + One) If (((MM64 == Zero) || (OSYS <= 0x07D3))) { CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN) // _LEN: Length MSLN = Zero } Else { CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN) // _LEN: Length CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN) // _MIN: Minimum Base Address CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX) // _MAX: Maximum Base Address M2LN = 0x00000000 If ((TUUD >= 0x1000)) { M2MN = (TUUD << 0x14) } Else { M2MN = 0x00000000 } M2MX = ((M2MN + M2LN) - One) } Return (BUF0) /* \_SB_.PCI0.BUF0 */ } Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */) Name (SUPP, Zero) Name (CTRL, Zero) Name (XCNT, Zero) Method (_OSC, 4, Serialized) // _OSC: Operating System Capabilities { Local0 = Arg3 CreateDWordField (Local0, Zero, CDW1) CreateDWordField (Local0, 0x04, CDW2) CreateDWordField (Local0, 0x08, CDW3) If (^XHC.CUID (Arg0)) { Return (^XHC.POSC (Arg1, Arg2, Arg3)) } Else { If (_OSI ("Windows 2012")) { If ((XCNT == Zero)) { ^XHC.XSEL () XCNT++ } } } If (((Arg0 == GUID) && NEXP)) { SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ If (~(CDW1 & One)) { If ((CTRL & One)) { 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) } } Device (P0P1) { Name (_ADR, 0x001E0000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (PMEE) { Return (Package (0x02) { 0x0B, 0x04 }) } Else { Return (Package (0x02) { 0x0B, Zero }) } } Name (PR04, Package (0x0C) { Package (0x04) { 0xFFFF, Zero, LNKF, Zero }, Package (0x04) { 0xFFFF, One, LNKG, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKH, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKE, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0001FFFF, One, LNKF, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKE, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKH, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0005FFFF, One, LNKE, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKG, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKF, Zero } }) Name (AR04, Package (0x0C) { Package (0x04) { 0xFFFF, Zero, Zero, 0x15 }, Package (0x04) { 0xFFFF, One, Zero, 0x16 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x17 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x15 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x17 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x14 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x16 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x15 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR04) /* \_SB_.PCI0.P0P1.AR04 */ } Return (PR04) /* \_SB_.PCI0.P0P1.PR04 */ } } Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address Scope (\_SB) { OperationRegion (PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0) Field (PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve) { Offset (0x20), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x28), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0x6C), Offset (0x6D), Offset (0x6E), XUSB, 1 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, One) // _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, ) {} }) CreateWordField (RTLA, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PARC & 0x0F)) Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, ) {} }) CreateWordField (RTLB, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PBRC & 0x0F)) Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, ) {} }) CreateWordField (RTLC, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PCRC & 0x0F)) Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, ) {} }) CreateWordField (RTLD, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PDRC & 0x0F)) Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, ) {} }) CreateWordField (RTLE, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PERC & 0x0F)) Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, ) {} }) CreateWordField (RTLF, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PFRC & 0x0F)) Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, ) {} }) CreateWordField (RTLG, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PGRC & 0x0F)) Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, ) {} }) CreateWordField (RTLH, One, IRQ0) IRQ0 = Zero IRQ0 = (One << (PHRC & 0x0F)) Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */ } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, 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, 0xFF010000, // Address Base 0x00FF0000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFED00000, // Address Base 0x00000400, // Address Length _Y10) }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSYS >= 0x07D1)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (HPAE) { CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y10._BAS, HPT0) // _BAS: Base Address If ((HPAS == One)) { 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, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x1000, // Range Minimum 0x1000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFFFF, // Range Minimum 0xFFFF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x54, // Length ) IO (Decode16, 0x0458, // Range Minimum 0x0458, // Range Maximum 0x01, // Alignment 0x28, // 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 ) IO (Decode16, 0xFD60, // Range Minimum 0xFD60, // Range Maximum 0x01, // Alignment 0x04, // 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 { If ((WDTE == One)) { Return (0x0F) } Else { Return (Zero) } } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Return (BUF0) /* \_SB_.PCI0.LPCB.CWDT.BUF0 */ } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID } OperationRegion (PKBS, SystemIO, 0x60, 0x05) Field (PKBS, ByteAcc, Lock, Preserve) { PKBD, 8, Offset (0x02), Offset (0x03), Offset (0x04), PKBC, 8 } Device (PS2K) { Method (_HID, 0, Serialized) // _HID: Hardware ID { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((OSYS == 0x07DC)) { While (One) { _T_0 = KBID /* \KBID */ If ((_T_0 == Zero)) { Return ("IDEA0100") } Else { If ((_T_0 == One)) { Return ("IDEA0102") } Else { If ((_T_0 == 0x02)) { Return ("IDEA0101") } Else { If ((_T_0 == 0x03)) { Return ("IDEA0103") } Else { Return (0x01006636) } } } } Break } } Else { Return (0x0303D041) } } Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible 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 (MSS0) { Name (_HID, EisaId ("SYN073B")) // _HID: Hardware ID Name (_CID, Package (0x03) // _CID: Compatible ID { EisaId ("SYN0700"), EisaId ("SYN0002"), EisaId ("PNP0F13") /* PS/2 Mouse */ }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TPDF == 0x04)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (MSS1) { Name (_HID, EisaId ("SYN0741")) // _HID: Hardware ID Name (_CID, Package (0x03) // _CID: Compatible ID { EisaId ("SYN0700"), EisaId ("SYN0002"), EisaId ("PNP0F13") /* PS/2 Mouse */ }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TPDF == 0x05)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (MSS3) { Name (_HID, EisaId ("SYN0742")) // _HID: Hardware ID Name (_CID, Package (0x03) // _CID: Compatible ID { EisaId ("SYN0700"), EisaId ("SYN0002"), EisaId ("PNP0F13") /* PS/2 Mouse */ }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TPDF == 0x06)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (MSS4) { Name (_HID, EisaId ("ETD0613")) // _HID: Hardware ID Name (_CID, Package (0x02) // _CID: Compatible ID { EisaId ("ETD0001"), EisaId ("PNP0F13") /* PS/2 Mouse */ }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TPDF == 0x08)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (MSS5) { Name (_HID, EisaId ("ETD0612")) // _HID: Hardware ID Name (_CID, Package (0x02) // _CID: Compatible ID { EisaId ("ETD0001"), EisaId ("PNP0F13") /* PS/2 Mouse */ }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TPDF == 0x09)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (MSS6) { Name (_HID, EisaId ("CYS8787")) // _HID: Hardware ID Name (_CID, Package (0x05) // _CID: Compatible ID { EisaId ("PNP0F13") /* PS/2 Mouse */, EisaId ("PNP0F03") /* Microsoft PS/2-style Mouse */, EisaId ("PNP0F0E"), EisaId ("PNP0F0B"), EisaId ("PNP0F12") }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((TPDF == 0x0C)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (MSS2) { Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((TPDF == 0xFF)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } } } } Mutex (MUTX, 0x00) OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 3, Serialized) { If ((Arg0 == Zero)) { P80D = ((P80D & 0xFFFFFF00) | Arg1) } If ((Arg0 == One)) { P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08)) } If ((Arg0 == 0x02)) { P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10)) } If ((Arg0 == 0x03)) { P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18)) } If ((Arg0 == 0x04)) { P80D = ((P80D & Zero) | Arg1) } If ((Arg2 == Zero)) {} If ((Arg2 == One)) { 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 { P80D = Zero P8XH (Zero, Arg0, Zero) SLPS = Arg0 If ((Arg0 == 0x03)) { P8XH (0x04, 0x53, Zero) P8XH (0x04, 0x53, One) If ((DTSE && (TCNT > One))) { TRAP (TRTD, 0x1E) } Local0 = \_SB.PCI0.LPCB.EC0.ADPT If (Local0) { \_SB.PCI0.LPCB.EC0.UWAK = One } Else { \_SB.PCI0.LPCB.EC0.UWAK = Zero } \_SB.PCI0.LPCB.EC0.S3ST = One } If ((Arg0 == 0x04)) { P8XH (0x04, 0x54, Zero) P8XH (0x04, 0x54, One) \_PR.CPU0._PPC = Zero \_SB.PCI0.LPCB.EC0.S4ST = One } If ((Arg0 == 0x05)) { P8XH (0x04, 0x55, Zero) P8XH (0x04, 0x55, One) \_SB.PCI0.LPCB.EC0.S5ST = One } If ((DBGS == Zero)) {} } Method (B_ON, 0, NotSerialized) { GP34 = Zero If ((WLFG == Zero)) { GP22 = Zero } Else { If ((WLFG == One)) { GP22 = One } Else { If ((WLFG == 0x02)) { GP22 = One } Else { GP22 = One } } } } Method (B_OF, 0, NotSerialized) { GP34 = One If ((WLFG == Zero)) { GP22 = Zero } Else { If ((WLFG == One)) { GP22 = Zero } Else { If ((WLFG == 0x02)) { GP22 = One } Else { GP22 = Zero } } } } Method (_WAK, 1, Serialized) // _WAK: Wake { P80D = Zero \_SB.PCI0.LPCB.EC0.SODD = One If (NEXP) { If ((OSCC & 0x02)) { \_SB.PCI0.NHPG () } If ((OSCC & 0x04)) { \_SB.PCI0.NPME () } } If (((\_SB.PCI0.LPCB.EC0.WLEX == One) & (\_SB.PCI0.LPCB.EC0.WLAT == One))) { GP55 = One } Else { GP55 = Zero } Sleep (0x01F4) If (((\_SB.PCI0.LPCB.EC0.BTEX == One) & (\_SB.PCI0.LPCB.EC0.BTAT == One))) { B_ON () } Else { B_OF () } If ((Arg0 == 0x03)) { P8XH (0x04, 0xE3, Zero) P8XH (0x04, 0xE3, One) SSMP = 0x70 If ((Zero == ACTT)) {} \_SB.PCI0.LPCB.EC0.S3RM = One } If (((Arg0 == 0x03) || (Arg0 == 0x04))) { Index (PLVL, Zero) = BL12 /* \BL12 */ Index (PLVL, One) = BL12 /* \BL12 */ If ((DTSE && (TCNT > One))) { TRAP (TRTD, 0x14) } If ((OSYS == 0x07D2)) { If ((CFGD & One)) { If ((\_PR.CPU0._PPC > Zero)) { \_PR.CPU0._PPC -= One PNOT () \_PR.CPU0._PPC += One PNOT () } Else { \_PR.CPU0._PPC += One PNOT () \_PR.CPU0._PPC -= One PNOT () } } } If ((RP1D == Zero)) { Notify (\_SB.PCI0.RP01, Zero) // Bus Check } If ((RP2D == Zero)) { Notify (\_SB.PCI0.RP02, Zero) // Bus Check } If ((RP3D == Zero)) { Notify (\_SB.PCI0.RP03, Zero) // Bus Check } If ((RP4D == Zero)) { Notify (\_SB.PCI0.RP04, Zero) // Bus Check } If ((RP5D == Zero)) { Notify (\_SB.PCI0.RP05, Zero) // Bus Check } If ((RP6D == Zero)) { Notify (\_SB.PCI0.RP06, Zero) // Bus Check } If ((RP7D == Zero)) { If ((DSTS == Zero)) { Notify (\_SB.PCI0.RP07, Zero) // Bus Check } } If ((RP8D == Zero)) { If ((DSTS == Zero)) { Notify (\_SB.PCI0.RP08, Zero) // Bus Check } } } If (((Arg0 == 0x03) || (Arg0 == 0x04))) { \_SB.PCI0.XHC.XWAK () } If ((Arg0 == 0x04)) { P8XH (0x04, 0xE4, Zero) P8XH (0x04, 0xE4, One) \_SB.PCI0.LPCB.EC0.S4RM = One } If ((Arg0 == 0x05)) { P8XH (0x04, 0xE5, Zero) P8XH (0x04, 0xE5, One) \_SB.PCI0.LPCB.EC0.S5RM = One } Return (Package (0x02) { Zero, Zero }) } 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 > One)) { 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 = Zero } If ((Arg0 == TRTD)) { DTSF = Arg1 TRPD = Zero Return (DTSF) /* \DTSF */ } If ((Arg0 == TRTI)) { TRPH = Zero } Return (SMIF) /* \SMIF */ } Name (DGPU, Ones) Scope (_SB.PCI0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { OSYS = 0x07D0 If (CondRefOf (\_OSI, Local0)) { If (_OSI ("Windows 2001")) { OSYS = 0x07D1 ^LPCB.EC0.OSTY = Zero } If (_OSI ("Windows 2001 SP1")) { OSYS = 0x07D1 ^LPCB.EC0.OSTY = Zero } If (_OSI ("Windows 2001 SP2")) { OSYS = 0x07D2 ^LPCB.EC0.OSTY = Zero } If (_OSI ("Windows 2001.1")) { OSYS = 0x07D3 } If (_OSI ("Windows 2006")) { OSYS = 0x07D6 ^LPCB.EC0.OSTY = One } If (_OSI ("Windows 2009")) { OSYS = 0x07D9 ^LPCB.EC0.OSTY = 0x03 } If (_OSI ("Windows 2012")) { OSYS = 0x07DC ^LPCB.EC0.OSTY = 0x04 } If (_OSI ("Linux")) { OSYS = 0x03E8 ^LPCB.EC0.OSTY = 0x02 } } If ((OSYS != 0x07DC)) { Index (PLVL, Zero) = BL12 /* \BL12 */ Index (PLVL, One) = BL12 /* \BL12 */ Index (PLVL, 0x02) = BL00 /* \BL00 */ Index (PLVL, 0x03) = BL01 /* \BL01 */ Index (PLVL, 0x04) = BL02 /* \BL02 */ Index (PLVL, 0x05) = BL03 /* \BL03 */ Index (PLVL, 0x06) = BL04 /* \BL04 */ Index (PLVL, 0x07) = BL05 /* \BL05 */ Index (PLVL, 0x08) = BL06 /* \BL06 */ Index (PLVL, 0x09) = BL07 /* \BL07 */ Index (PLVL, 0x0A) = BL08 /* \BL08 */ Index (PLVL, 0x0B) = BL09 /* \BL09 */ Index (PLVL, 0x0C) = BL10 /* \BL10 */ Index (PLVL, 0x0D) = BL11 /* \BL11 */ Index (PLVL, 0x0E) = BL12 /* \BL12 */ Index (PLVL, 0x0F) = BL13 /* \BL13 */ Index (PLVL, 0x10) = BL14 /* \BL14 */ Index (PLVL, 0x11) = BL15 /* \BL15 */ Index (^LPCB.EC0.VPC0.TBSL, Zero) = BL00 /* \BL00 */ Index (^LPCB.EC0.VPC0.TBSL, One) = BL01 /* \BL01 */ Index (^LPCB.EC0.VPC0.TBSL, 0x02) = BL02 /* \BL02 */ Index (^LPCB.EC0.VPC0.TBSL, 0x03) = BL03 /* \BL03 */ Index (^LPCB.EC0.VPC0.TBSL, 0x04) = BL04 /* \BL04 */ Index (^LPCB.EC0.VPC0.TBSL, 0x05) = BL05 /* \BL05 */ Index (^LPCB.EC0.VPC0.TBSL, 0x06) = BL06 /* \BL06 */ Index (^LPCB.EC0.VPC0.TBSL, 0x07) = BL07 /* \BL07 */ Index (^LPCB.EC0.VPC0.TBSL, 0x08) = BL08 /* \BL08 */ Index (^LPCB.EC0.VPC0.TBSL, 0x09) = BL09 /* \BL09 */ Index (^LPCB.EC0.VPC0.TBSL, 0x0A) = BL10 /* \BL10 */ Index (^LPCB.EC0.VPC0.TBSL, 0x0B) = BL11 /* \BL11 */ Index (^LPCB.EC0.VPC0.TBSL, 0x0C) = BL12 /* \BL12 */ Index (^LPCB.EC0.VPC0.TBSL, 0x0D) = BL13 /* \BL13 */ Index (^LPCB.EC0.VPC0.TBSL, 0x0E) = BL14 /* \BL14 */ Index (^LPCB.EC0.VPC0.TBSL, 0x0F) = BL15 /* \BL15 */ } Else { Index (PLV2, Zero) = BL37 /* \BL37 */ Index (PLV2, One) = BL23 /* \BL23 */ } If (((^PEG0.PEGP.GID2 == 0x0FD1) || (^PEG0.PEGP.GID2 == 0x0FD4))) { ^LPCB.EC0.VPC0.GPS1 = One } If (((^PEG0.PEGP.GID2 == 0x1140) && (^PEG0.PEGP.GID3 == 0x3902))) { ^LPCB.EC0.VPC0.GPS1 = One } DGPU = ^PEG0.PEGP.GID2 /* \_SB_.PCI0.PEG0.PEGP.GID2 */ } Method (NHPG, 0, Serialized) { ^RP01.HPEX = Zero ^RP02.HPEX = Zero ^RP03.HPEX = Zero ^RP04.HPEX = Zero ^RP05.HPEX = Zero ^RP07.HPEX = Zero ^RP08.HPEX = Zero ^RP01.HPSX = One ^RP02.HPSX = One ^RP03.HPSX = One ^RP04.HPSX = One ^RP05.HPSX = One ^RP07.HPSX = One ^RP08.HPSX = One } Method (NPME, 0, Serialized) { ^RP01.PMEX = Zero ^RP02.PMEX = Zero ^RP03.PMEX = Zero ^RP04.PMEX = Zero ^RP05.PMEX = Zero ^RP06.PMEX = Zero ^RP07.PMEX = Zero ^RP08.PMEX = Zero ^RP01.PMSX = One ^RP02.PMSX = One ^RP03.PMSX = One ^RP04.PMSX = One ^RP05.PMSX = One ^RP06.PMSX = One ^RP07.PMSX = One ^RP08.PMSX = One } } Scope (\) { Name (PICM, Zero) } 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 (_TZ) { Name (ETMD, One) Name (THLD, 0x78) ThermalZone (TZ00) { Name (PTMP, 0x0BB8) Method (_SCP, 1, Serialized) // _SCP: Set Cooling Policy { CTYP = Arg0 } Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return (0x0FA2) } Method (_TMP, 0, Serialized) // _TMP: Temperature { If (\_SB.PCI0.LPCB.ECOK ()) { \_SB.PCI0.LPCB.EC0.ENIB = 0x8400 Local0 = \_SB.PCI0.LPCB.EC0.ENDD } Else { Local0 = PTMP /* \_TZ_.TZ00.PTMP */ } If ((Local0 >= THLD)) { Return (PTMP) /* \_TZ_.TZ00.PTMP */ } Else { Local0 = (0x0AAC + (Local0 * 0x0A)) PTMP = Local0 Return (Local0) } } Method (_HOT, 0, NotSerialized) // _HOT: Hot Temperature { Return (0x0FA2) } 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 (_PSV, 0, Serialized) // _PSV: Passive Temperature { Return (0x0AAC) } Name (_TC1, Zero) // _TC1: Thermal Constant 1 Name (_TC2, Zero) // _TC2: Thermal Constant 2 Name (_TSP, Zero) // _TSP: Thermal Sampling Period } } Scope (_SB.PCI0) { Device (PDRC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00004000, // Address Length _Y11) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00008000, // Address Length _Y13) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y14) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y15) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y16) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFED90000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFF000000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadOnly, 0xFF010000, // Address Base 0x00FF0000, // Address Length ) Memory32Fixed (ReadOnly, 0xFEE00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00001000, // Address Length _Y12) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y11._BAS, RBR0) // _BAS: Base Address RBR0 = (^^LPCB.RCBA << 0x0E) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._BAS, TBR0) // _BAS: Base Address TBR0 = TBAB /* \TBAB */ CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y12._LEN, TBLN) // _LEN: Length If ((TBAB == Zero)) { TBLN = Zero } CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y13._BAS, MBR0) // _BAS: Base Address MBR0 = (MHBR << 0x0F) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y14._BAS, DBR0) // _BAS: Base Address DBR0 = (DIBR << 0x0C) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y15._BAS, EBR0) // _BAS: Base Address EBR0 = (EPBR << 0x0C) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._BAS, XBR0) // _BAS: Base Address XBR0 = (PXBR << 0x1A) CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y16._LEN, XSZ0) // _LEN: Length XSZ0 = (0x10000000 >> PXSZ) /* \_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 (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, 0x0B, Zero) P8XH (0x04, 0x0B, One) Notify (\_SB.PCI0.P0P1, 0x02) // Device Wake } Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, 0x09, Zero) P8XH (0x04, 0x09, One) If ((RP1D == Zero)) { \_SB.PCI0.RP01.HPME () Notify (\_SB.PCI0.RP01, 0x02) // Device Wake } If ((RP2D == Zero)) { \_SB.PCI0.RP02.HPME () Notify (\_SB.PCI0.RP02, 0x02) // Device Wake } If ((RP4D == Zero)) { \_SB.PCI0.RP04.HPME () Notify (\_SB.PCI0.RP04, 0x02) // Device Wake } Notify (\_SB.PCI0.PEG0, 0x02) // Device Wake Notify (\_SB.PCI0.PEG0.PEGP, 0x02) // Device Wake Notify (\_SB.PCI0.PEG1, 0x02) // Device Wake } Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, 0x0D, Zero) P8XH (0x04, 0x0D, One) Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake Notify (\_SB.PCI0.XHC, 0x02) // Device Wake If ((\_SB.PCI0.XHC.PMES && \_SB.PCI0.XHC.PMES)) { \_SB.PCI0.XHC.PMES = One } } Method (_L01, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, One, Zero) P8XH (0x04, One, One) L01C += One If (((RP1D == Zero) && \_SB.PCI0.RP01.HPSX)) { P8XH (One, One, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { \_SB.PCI0.RP01.PDCX = One \_SB.PCI0.RP01.HPSX = One If (!\_SB.PCI0.RP01.PDSX) { \_SB.PCI0.RP01.L0SE = Zero } Notify (\_SB.PCI0.RP01, Zero) // Bus Check } Else { \_SB.PCI0.RP01.HPSX = One } } If (((RP2D == Zero) && \_SB.PCI0.RP02.HPSX)) { P8XH (One, 0x02, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { \_SB.PCI0.RP02.PDCX = One \_SB.PCI0.RP02.HPSX = One If (!\_SB.PCI0.RP02.PDSX) { \_SB.PCI0.RP02.L0SE = Zero } Notify (\_SB.PCI0.RP02, Zero) // Bus Check } Else { \_SB.PCI0.RP02.HPSX = One } } If (((RP3D == Zero) && \_SB.PCI0.RP03.HPSX)) { P8XH (One, 0x03, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { \_SB.PCI0.RP03.PDCX = One \_SB.PCI0.RP03.HPSX = One If (!\_SB.PCI0.RP03.PDSX) { \_SB.PCI0.RP03.L0SE = Zero } Notify (\_SB.PCI0.RP03, Zero) // Bus Check } Else { \_SB.PCI0.RP03.HPSX = One } } If (((RP4D == Zero) && \_SB.PCI0.RP04.HPSX)) { P8XH (One, 0x04, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { \_SB.PCI0.RP04.PDCX = One \_SB.PCI0.RP04.HPSX = One If (!\_SB.PCI0.RP04.PDSX) { \_SB.PCI0.RP04.L0SE = Zero } Notify (\_SB.PCI0.RP04, Zero) // Bus Check } Else { \_SB.PCI0.RP04.HPSX = One } } } Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, 0x02, Zero) P8XH (0x04, 0x02, One) GPEC = Zero Notify (\_TZ.TZ00, 0x80) // Thermal Status Change } Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, 0xDD, Zero) P8XH (0x04, 0xDD, One) If ((\_SB.PCI0.GFX0.GSSE && !GSMI)) { P8XH (0x04, 0xDE, One) \_SB.PCI0.GFX0.GSCI () P8XH (0x04, 0xDF, One) } P8XH (0x04, 0xDC, Zero) P8XH (0x04, 0xDC, One) } Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, 0x07, Zero) P8XH (0x04, 0x07, One) \_SB.PCI0.SBUS.HSTS = 0x20 } Method (_L1F, 0, NotSerialized) // _Lxx: Level-Triggered GPE { P8XH (0x04, 0x1F, Zero) P8XH (0x04, 0x1F, One) If (GP15) { GIV1 |= 0x80 } Else { GIV1 &= 0x7F } If (IGDS) { If (\_SB.PCI0.GFX0.SCIP ()) { \_SB.PCI0.GFX0.GLID ((GIV1 && 0x80)) } Else { } } Notify (\_SB.LID0, 0x80) // Status Change } } 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 (IO_D, SystemIO, 0x0810, 0x04) Field (IO_D, ByteAcc, NoLock, Preserve) { TRPD, 8 } OperationRegion (IO_H, SystemIO, 0x1000, 0x04) Field (IO_H, ByteAcc, NoLock, Preserve) { TRPH, 8 } OperationRegion (PMIO, SystemIO, PMBS, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { , 14, PEWS, 1, Offset (0x28), Offset (0x2A), , 3, GPE3, 1, Offset (0x3C), PMEN, 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, GPBS, 0x64) Field (GPIO, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, , 3, GSO3, 1, Offset (0x05), GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), GL00, 8, , 7, GP15, 1, GL02, 6, GP22, 1, Offset (0x0F), GP24, 1, , 2, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), , 3, GV03, 1, Offset (0x2D), GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, , 2, GP34, 1, , 1, GP36, 1, , 1, GP38, 1, Offset (0x39), GL05, 8, , 2, GP50, 1, , 1, GP52, 1, , 1, GP54, 1, GP55, 1, GL07, 8, Offset (0x40), GU08, 8, GU09, 8, GU0A, 8, GU0B, 8, GIO8, 8, GIO9, 8, GIOA, 8, GIOB, 8, , 3, GP67, 1, GP68, 1, , 1, GP70, 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), Offset (0x35B0), RMW1, 4, RMW2, 4, REW1, 1, REW2, 1, Offset (0x35B4) } Method (GPI0, 4, NotSerialized) { If (((Arg0 | Arg1) == Zero)) { Return (Ones) } Else { If (((Arg0 == Zero) & (Arg1 == One))) { Return (0x0384) } } Return ((0x1E * (0x09 - (Arg2 + Arg3)))) } Method (GDMA, 2, NotSerialized) { If ((Arg0 == One)) { If ((Arg1 == One)) { Return (0x0F) } } Return (Ones) } Method (SFLG, 5, NotSerialized) { Local0 = Zero Local0 |= Arg1 Local0 |= (Arg0 << One) Local0 |= (Arg2 << 0x03) Local0 |= (Arg3 << 0x02) Local0 |= (Arg4 << 0x04) Return (Local0) } Method (SPIO, 3, NotSerialized) { Name (PBUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 /* ..... */ }) CreateByteField (PBUF, Zero, RCT) CreateByteField (PBUF, One, ISP) CreateByteField (PBUF, 0x02, FAST) CreateByteField (PBUF, 0x03, DMAE) CreateByteField (PBUF, 0x04, PIOT) If (((Arg0 == Zero) || (Arg0 == Ones))) { Return (PBUF) /* \SPIO.PBUF */ } If ((Arg0 > 0xF0)) { DMAE = One PIOT = Zero } Else { FAST = One If ((Arg1 & 0x02)) { If (((Arg0 == 0x78) & (Arg2 & 0x02))) { RCT = 0x03 ISP = 0x02 PIOT = 0x04 Return (PBUF) /* \SPIO.PBUF */ } If (((Arg0 <= 0xB4) & (Arg2 & One))) { RCT = One ISP = 0x02 PIOT = 0x03 Return (PBUF) /* \SPIO.PBUF */ } Else { RCT = Zero ISP = One PIOT = 0x02 } } } Return (PBUF) /* \SPIO.PBUF */ } Method (SDMA, 3, NotSerialized) { Name (PBUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00 /* .... */ }) CreateByteField (PBUF, Zero, PCT) CreateByteField (PBUF, One, PCB) CreateByteField (PBUF, 0x02, UDMT) CreateByteField (PBUF, 0x03, UDME) CreateByteField (PBUF, 0x04, DMAT) If (((Arg0 == Zero) || (Arg0 == Ones))) { Return (PBUF) /* \SDMA.PBUF */ } If ((Arg0 <= 0x78)) { If ((Arg1 & 0x04)) { UDME = One If (((Arg0 <= 0x0F) & (Arg2 & 0x40))) { UDMT = One PCB = One PCT = One DMAT = 0x06 Return (PBUF) /* \SDMA.PBUF */ } If (((Arg0 <= 0x14) & (Arg2 & 0x20))) { UDMT = One PCB = One PCT = One DMAT = 0x05 Return (PBUF) /* \SDMA.PBUF */ } If (((Arg0 <= 0x1E) & (Arg2 & 0x10))) { PCB = One PCT = 0x02 DMAT = 0x04 Return (PBUF) /* \SDMA.PBUF */ } If (((Arg0 <= 0x2D) & (Arg2 & 0x08))) { PCB = One PCT = One DMAT = 0x03 Return (PBUF) /* \SDMA.PBUF */ } If (((Arg0 <= 0x3C) & (Arg2 & 0x04))) { PCT = 0x02 DMAT = 0x02 Return (PBUF) /* \SDMA.PBUF */ } If (((Arg0 <= 0x5A) & (Arg2 & 0x02))) { PCT = One DMAT = One Return (PBUF) /* \SDMA.PBUF */ } If (((Arg0 <= 0x78) & (Arg2 & One))) { DMAT = Zero } } } Return (PBUF) /* \SDMA.PBUF */ } Method (SETT, 3, Serialized) { If ((Arg1 & 0x02)) { If (((Arg0 <= 0x78) && (Arg2 & 0x02))) { Return (0x0B) } If (((Arg0 <= 0xB4) && (Arg2 & One))) { Return (0x09) } } Return (0x04) } } Scope (_SB.PCI0) { 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) { If (((^^LPCB.EC0.ADPT == One) && ^^LPCB.ECOK ())) { RMW2 = Zero PWUC = Ones } Else { RMW2 = 0x0F PWUC = Zero } } Else { RMW2 = 0x0F PWUC = Zero } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) // _ADR: Address Device (PR01) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, Zero, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x0, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "UPPER", PLD_HorizontalPosition = "LEFT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Device (PR11) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { Zero, 0xFF, Zero, Zero }) } Device (PR12) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } Device (PR13) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } Device (PR14) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Alias (SBV1, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((_T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((_T_0 == 0x02)) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */ } } } Break } } Return (Zero) } } Device (PR15) { Name (_ADR, 0x05) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { Zero, 0xFF, Zero, Zero }) Alias (SBV2, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((_T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((_T_0 == 0x02)) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15.SDGV */ } } } Break } } Return (Zero) } } Device (PR16) { Name (_ADR, 0x06) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Device (PR26) { Name (_ADR, 0x06) // _ADR: Address Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x2, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x0, PLD_Dock = 0x0, PLD_Lid = 0x1, PLD_Panel = "FRONT", PLD_VerticalPosition = "UPPER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSYS == 0x07DC)) { Return (0x0F) } Else { Return (Zero) } } } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { If ((OSYS == 0x07DC)) { Return (Package (0x01) { Buffer (0x14) { /* 0000 */ 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xA0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */ } }) } Else { Return (Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0xB0, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }) } } Alias (SBV1, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((_T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((_T_0 == 0x02)) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */ } } } Break } } Return (Zero) } } Device (PR17) { Name (_ADR, 0x07) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { Zero, 0xFF, Zero, Zero }) Alias (SBV2, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((_T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((_T_0 == 0x02)) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */ } } } Break } } Return (Zero) } } Device (PR18) { Name (_ADR, 0x08) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { Zero, 0xFF, Zero, Zero }) } } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0D, 0x03 }) } Device (EHC2) { Name (_ADR, 0x001A0000) // _ADR: Address OperationRegion (PWKE, PCI_Config, 0x62, 0x04) Field (PWKE, DWordAcc, NoLock, Preserve) { , 1, PWUC, 6 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { If (((^^LPCB.EC0.ADPT == One) && ^^LPCB.ECOK ())) { RMW1 = Zero PWUC = Ones } Else { RMW1 = 0x0F PWUC = Zero } } Else { RMW1 = 0x0F PWUC = Zero } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (HUBN) { Name (_ADR, Zero) // _ADR: Address Device (PR01) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, Zero, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x0, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "UPPER", PLD_HorizontalPosition = "LEFT", PLD_Shape = "UNKNOWN", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Device (PR11) { Name (_ADR, One) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { Zero, 0xFF, Zero, Zero }) } Device (PR12) { Name (_ADR, 0x02) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x1, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Alias (SBV1, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((_T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((_T_0 == 0x02)) { Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12.SDGV */ } } } Break } } Return (Zero) } } Device (PR13) { Name (_ADR, 0x03) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x0, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) Alias (SBV2, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { While (One) { _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 /* . */ }) } Else { Return (Buffer (One) { 0x00 /* . */ }) } } Else { If ((_T_0 == One)) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Else { If ((_T_0 == 0x02)) { Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13.SDGV */ } } } Break } } Return (Zero) } } Device (PR14) { Name (_ADR, 0x04) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x0, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } Device (PR15) { Name (_ADR, 0x05) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { Zero, 0xFF, Zero, Zero }) } Device (PR16) { Name (_ADR, 0x06) // _ADR: Address Name (_UPC, Package (0x04) // _UPC: USB Port Capabilities { 0xFF, 0xFF, Zero, Zero }) Name (_PLD, Package (0x01) // _PLD: Physical Location of Device { ToPLD ( PLD_Revision = 0x1, PLD_IgnoreColor = 0x1, PLD_Red = 0x0, PLD_Green = 0x0, PLD_Blue = 0x0, PLD_Width = 0x0, PLD_Height = 0x0, PLD_UserVisible = 0x0, PLD_Dock = 0x0, PLD_Lid = 0x0, PLD_Panel = "UNKNOWN", PLD_VerticalPosition = "LOWER", PLD_HorizontalPosition = "CENTER", PLD_Shape = "HORIZONTALTRAPEZOID", PLD_GroupOrientation = 0x0, PLD_GroupToken = 0x0, PLD_GroupPosition = 0x0, PLD_Bay = 0x0, PLD_Ejectable = 0x0, PLD_EjectRequired = 0x0, PLD_CabinetNumber = 0x0, PLD_CardCageNumber = 0x0, PLD_Reference = 0x0, PLD_Rotation = 0x0, PLD_Order = 0x0, PLD_VerticalOffset = 0x0, PLD_HorizontalOffset = 0x0) }) } } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0D, 0x03 }) } Device (XHC) { Name (_ADR, 0x00140000) // _ADR: Address OperationRegion (XPRT, PCI_Config, 0x74, 0x6C) Field (XPRT, DWordAcc, NoLock, Preserve) { Offset (0x01), PMEE, 1, , 6, PMES, 1, Offset (0x5C), PR2, 32, PR2M, 32, PR3, 32, PR3M, 32 } Name (XRST, Zero) Method (CUID, 1, Serialized) { If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71"))) { Return (One) } Return (Zero) } Method (POSC, 3, Serialized) { CreateDWordField (Arg2, Zero, CDW1) CreateDWordField (Arg2, 0x08, CDW3) If ((Arg1 != One)) { CDW1 |= 0x08 } If ((XHCI == Zero)) { CDW1 |= 0x02 } If (!(CDW1 & One)) { If ((CDW3 & One)) { ESEL () } Else { XSEL () } } Return (Arg2) } Method (XSEL, 0, Serialized) { If (((XHCI == 0x02) || (XHCI == 0x03))) { XUSB = One XRST = One Local0 = Zero Local0 = (PR3 & 0xFFFFFFF0) Local0 |= XHPM /* \XHPM */ PR3 = (Local0 & PR3M) /* \_SB_.PCI0.XHC_.PR3M */ Local0 = Zero Local0 = (PR2 & 0xFFFFFFF0) Local0 |= XHPM /* \XHPM */ PR2 = (Local0 & PR2M) /* \_SB_.PCI0.XHC_.PR2M */ } } Method (ESEL, 0, Serialized) { If (((XHCI == 0x02) || (XHCI == 0x03))) { PR3 &= 0xFFFFFFF0 PR2 &= 0xFFFFFFF0 XUSB = Zero XRST = Zero } } Method (XWAK, 0, Serialized) { If (((XUSB == One) || (XRST == One))) { XSEL () } } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { Return (0x02) } Method (_S4D, 0, NotSerialized) // _S4D: S4 Device State { Return (0x02) } Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (HSP1) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR2 & One)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR2 & One)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP1._PLD.PLDP */ } } Device (HSP2) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR2 & 0x02)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR2 & 0x02)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP2._PLD.PLDP */ } } Device (HSP3) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR2 & 0x04)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR2 & 0x04)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP3._PLD.PLDP */ } } Device (HSP4) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR2 & 0x08)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR2 & 0x08)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.HSP4._PLD.PLDP */ } } Device (SSP1) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR3 & One)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR3 & One)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP1._PLD.PLDP */ } } Device (SSP2) { Name (_ADR, 0x06) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR3 & 0x02)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR3 & 0x02)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP2._PLD.PLDP */ } } Device (SSP3) { Name (_ADR, 0x07) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR3 & 0x04)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR3 & 0x04)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP3._PLD.PLDP */ } } Device (SSP4) { Name (_ADR, 0x08) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0x03, Zero, Zero }) If (!(PR3 & 0x08)) { Index (UPCP, Zero) = Zero } Return (UPCP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, /* ..r..... */ /* 0008 */ 0x69, 0x0C, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00 /* i....... */ } }) CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS) If (!(PR3 & 0x08)) { VIS &= Zero } Return (PLDP) /* \_SB_.PCI0.XHC_.RHUB.SSP4._PLD.PLDP */ } } } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0D, 0x03 }) } 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 } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0D, Zero }) } 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 (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (^^^LPCB.ECOK ()) { If (Arg0) { ^^^LPCB.EC0.PWAK = One } Else { ^^^LPCB.EC0.PWAK = Zero } } } } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR05) /* \_SB_.PCI0.RP01.AR05 */ } Return (PR05) /* \_SB_.PCI0.RP01.PR05 */ } } 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 (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR06) /* \_SB_.PCI0.RP02.AR06 */ } Return (PR06) /* \_SB_.PCI0.RP02.PR06 */ } } 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 (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR07) /* \_SB_.PCI0.RP03.AR07 */ } Return (PR07) /* \_SB_.PCI0.RP03.PR07 */ } } 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 (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Name (PR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR08) /* \_SB_.PCI0.RP04.AR08 */ } Return (PR08) /* \_SB_.PCI0.RP04.PR08 */ } } Device (RP05) { Name (_ADR, 0x001C0004) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (PMEE) { Return (Package (0x02) { 0x09, 0x04 }) } Else { Return (Package (0x02) { 0x09, Zero }) } } Name (PR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR09) /* \_SB_.PCI0.RP05.AR09 */ } Return (PR09) /* \_SB_.PCI0.RP05.PR09 */ } } Device (RP06) { Name (_ADR, 0x001C0005) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (PMEE) { Return (Package (0x02) { 0x09, 0x04 }) } Else { Return (Package (0x02) { 0x09, Zero }) } } Name (PR0C, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR0C, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR0C) /* \_SB_.PCI0.RP06.AR0C */ } Return (PR0C) /* \_SB_.PCI0.RP06.PR0C */ } } Device (RP07) { Name (_ADR, 0x001C0006) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (PMEE) { Return (Package (0x02) { 0x09, 0x04 }) } Else { Return (Package (0x02) { 0x09, Zero }) } } Name (PR0D, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKE, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKF, Zero } }) Name (AR0D, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x14 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x15 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR0D) /* \_SB_.PCI0.RP07.AR0D */ } Return (PR0D) /* \_SB_.PCI0.RP07.PR0D */ } } Device (RP08) { Name (_ADR, 0x001C0007) // _ADR: Address OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, Preserve) { Offset (0x10), L0SE, 1, Offset (0x11), Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x98), , 30, HPEX, 1, PMEX, 1 } Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x03 }) } Method (HPME, 0, Serialized) { If (PMSX) { Local0 = 0xC8 While (Local0) { PMSX = One If (PMSX) { Local0-- } Else { Local0 = Zero } } Notify (PXSX, 0x02) // Device Wake } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (PMEE) { Return (Package (0x02) { 0x09, 0x04 }) } Else { Return (Package (0x02) { 0x09, Zero }) } } Name (PR0E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR0E, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR0E) /* \_SB_.PCI0.RP08.AR0E */ } Return (PR0E) /* \_SB_.PCI0.RP08.PR0E */ } } Device (SAT0) { Name (_ADR, 0x001F0002) // _ADR: Address } Device (SAT1) { Name (_ADR, 0x001F0005) // _ADR: Address } 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 (Zero) } I2CE = Zero HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = Zero HSTS = 0xBF TXSA = (Arg0 | One) HCON = 0x44 If (COMP ()) { HSTS |= 0xFF Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } I2CE = Zero HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT0 = Arg2 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = Zero HSTS = 0xBF TXSA = (Arg0 | One) HCOM = Arg1 HCON = 0x48 If (COMP ()) { HSTS |= 0xFF Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */ } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } I2CE = Zero HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT1 = (Arg2 & 0xFF) DAT0 = ((Arg2 >> 0x08) & 0xFF) HCON = 0x4C If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } I2CE = Zero HSTS = 0xBF TXSA = (Arg0 | One) HCOM = Arg1 HCON = 0x4C If (COMP ()) { HSTS |= 0xFF Return (((DAT0 << 0x08) | DAT1)) } Return (Ones) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } I2CE = Arg3 HSTS = 0xBF TXSA = Arg0 HCOM = Arg1 DAT0 = SizeOf (Arg2) Local1 = Zero HBDR = DerefOf (Index (Arg2, Zero)) HCON = 0x54 While ((SizeOf (Arg2) > Local1)) { Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (Zero) } HSTS = 0x80 Local1++ If ((SizeOf (Arg2) > Local1)) { HBDR = DerefOf (Index (Arg2, Local1)) } } If (COMP ()) { HSTS |= 0xFF Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } I2CE = Arg2 HSTS = 0xBF TXSA = (Arg0 | One) HCOM = Arg1 HCON = 0x54 Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (Zero) } Index (TBUF, Zero) = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */ HSTS = 0x80 Local1 = One While ((Local1 < DerefOf (Index (TBUF, Zero)))) { Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (Zero) } Index (TBUF, Local1) = HBDR /* \_SB_.PCI0.SBUS.HBDR */ HSTS = 0x80 Local1++ } If (COMP ()) { HSTS |= 0xFF Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */ } Return (Zero) } Method (STRT, 0, Serialized) { Local0 = 0xC8 While (Local0) { If ((HSTS & 0x40)) { Local0-- Sleep (One) If ((Local0 == Zero)) { Return (One) } } Else { Local0 = Zero } } Local0 = 0x0FA0 While (Local0) { If ((HSTS & One)) { Local0-- Stall (0x32) If ((Local0 == Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Local0 = 0x0FA0 While (Local0) { If ((HSTS & 0x02)) { Return (One) } Else { Local0-- Stall (0x32) If ((Local0 == Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { HCON |= 0x02 HSTS |= 0xFF } } } Name (BUFN, Zero) Name (MBUF, Buffer (0x1000) {}) OperationRegion (MDBG, SystemMemory, 0xCAFB9018, 0x00001004) Field (MDBG, AnyAcc, Lock, Preserve) { MDG0, 32768 } Method (DB2H, 1, Serialized) { SHOW (Arg0) MDGC (0x20) } Method (DW2H, 1, Serialized) { Local0 = Arg0 Local1 = (Arg0 >> 0x08) Local0 &= 0xFF Local1 &= 0xFF DB2H (Local1) BUFN-- DB2H (Local0) } Method (DD2H, 1, Serialized) { Local0 = Arg0 Local1 = (Arg0 >> 0x10) Local0 &= 0xFFFF Local1 &= 0xFFFF DW2H (Local1) BUFN-- DW2H (Local0) } Method (MBGS, 1, Serialized) { Local0 = SizeOf (Arg0) Name (BUFS, Buffer (Local0) {}) BUFS = Arg0 MDGC (0x20) While (Local0) { MDGC (DerefOf (Index (BUFS, (SizeOf (Arg0) - Local0)))) Local0-- } } Method (SHOW, 1, Serialized) { MDGC (NTOC ((Arg0 >> 0x04))) MDGC (NTOC (Arg0)) } Method (LINE, 0, Serialized) { Local0 = BUFN /* \BUFN */ Local0 &= 0x0F While (Local0) { MDGC (Zero) Local0++ Local0 &= 0x0F } } Method (MDGC, 1, Serialized) { Index (MBUF, BUFN) = Arg0 BUFN += One If ((BUFN > 0x0FFF)) { BUFN &= 0x0FFF UP_L (One) } } Method (UP_L, 1, Serialized) { Local2 = Arg0 Local2 <<= 0x04 MOVE (Local2) Local3 = (0x1000 - Local2) While (Local2) { Index (MBUF, Local3) = Zero Local3++ Local2-- } } Method (MOVE, 1, Serialized) { Local4 = Arg0 BUFN = Zero Local5 = (0x1000 - Local4) While (Local5) { Local5-- Index (MBUF, BUFN) = DerefOf (Index (MBUF, Local4)) BUFN++ Local4++ } } Method (NTOC, 1, Serialized) { Local0 = (Arg0 & 0x0F) If ((Local0 < 0x0A)) { Local0 += 0x30 } Else { Local0 += 0x37 } Return (Local0) } Scope (_SB.PCI0) { Device (PEG0) { Name (_ADR, 0x00010000) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Name (PR0A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR0A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR0A) /* \_SB_.PCI0.PEG0.AR0A */ } Return (PR0A) /* \_SB_.PCI0.PEG0.PR0A */ } Device (PEGP) { Name (_ADR, Zero) // _ADR: Address OperationRegion (DGFX, PCI_Config, Zero, 0xF0) Field (DGFX, DWordAcc, Lock, Preserve) { Offset (0x0B), LNKV, 8 } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) OperationRegion (GPID, PCI_Config, Zero, 0x3F) Field (GPID, AnyAcc, NoLock, Preserve) { GID1, 16, GID2, 16, Offset (0x2E), GID3, 16 } } Device (VGA1) { Name (_ADR, One) // _ADR: Address OperationRegion (PSID, PCI_Config, 0x40, 0xC0) Field (PSID, AnyAcc, NoLock, Preserve) { NVID, 32, Offset (0x0C), SVID, 16, SSID, 16, Offset (0x28), D1LX, 8 } Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = GP38 /* \GP38 */ Local1 = GP67 /* \GP67 */ If (((Local0 == One) && (Local1 == Zero))) { Return (0x0F) } Else { Return (Zero) } } } Device (VGA) { Name (_ADR, Zero) // _ADR: Address OperationRegion (PVID, PCI_Config, Zero, 0x04) Field (PVID, AnyAcc, NoLock, Preserve) { DVI0, 16, DVI1, 16 } OperationRegion (PSID, PCI_Config, 0x40, 0xC0) Field (PSID, AnyAcc, NoLock, Preserve) { SVD2, 16, SSD2, 16, Offset (0x0C), SVID, 16, SSID, 16, Offset (0x28), D0LX, 8, Offset (0x48), LNKS, 2 } Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = GP38 /* \GP38 */ Local1 = GP67 /* \GP67 */ If (((Local0 == One) && (Local1 == Zero))) { Return (0x0F) } Else { Return (Zero) } } Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { DSEN = (Arg0 & 0x07) } Name (DOD0, Package (0x03) { 0x0110, 0x0100, 0x80007330 }) Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices { Return (DOD0) /* \_SB_.PCI0.PEG0.VGA_.DOD0 */ } Device (LCD) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (0x0110) } Method (LVLS, 1, NotSerialized) { Local0 = One Local1 = Zero If ((OSYS == 0x07DC)) { Local5 = 0x14 Local6 = PLV2 /* \PLV2 */ } Else { Local5 = 0x0F Local6 = PLVL /* \PLVL */ } While (Local0) { Local2 = (Local1 + 0x02) Local3 = DerefOf (Index (Local6, Local2)) Local4 = (Arg0 & 0xFF) If ((Local4 == Local3)) { Local0 = Zero } Local3 -= One If ((Local4 == Local3)) { Local0 = Zero } If ((Local1 >= Local5)) { Local0 = Zero } If (Local0) { Local1 += One } } Return (Local1) } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { If ((OSYS != 0x07DC)) { Return (PLVL) /* \PLVL */ } Else { Return (PLV2) /* \PLV2 */ } } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If (IGDS) { Local1 = ^^^^GFX0.DD02.LVLS (Arg0) ^^^^LPCB.EC0.BRTS = Local1 ^^^^GFX0.AINT (One, Arg0) } Else { Local1 = LVLS (Arg0) ^^^^LPCB.EC0.BRTS = Local1 } BRTL = Arg0 } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { Return (BRTL) /* \BRTL */ } } } } Device (PEG1) { Name (_ADR, 0x00010001) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Name (PR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR02, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR02) /* \_SB_.PCI0.PEG1.AR02 */ } Return (PR02) /* \_SB_.PCI0.PEG1.PR02 */ } Device (VGA1) { Name (_ADR, One) // _ADR: Address OperationRegion (PSID, PCI_Config, 0x40, 0xC0) Field (PSID, AnyAcc, NoLock, Preserve) { NVID, 32, Offset (0x0C), SVID, 16, SSID, 16, Offset (0x28), D1LX, 8 } Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = GP38 /* \GP38 */ Local1 = GP67 /* \GP67 */ If (((Local0 == One) && (Local1 == Zero))) { Return (0x0F) } Else { Return (Zero) } } } Device (VGA) { Name (_ADR, Zero) // _ADR: Address OperationRegion (PVID, PCI_Config, Zero, 0x04) Field (PVID, AnyAcc, NoLock, Preserve) { DVI0, 16, DVI1, 16 } OperationRegion (PSID, PCI_Config, 0x40, 0xC0) Field (PSID, AnyAcc, NoLock, Preserve) { SVD2, 16, SSD2, 16, Offset (0x0C), SVID, 16, SSID, 16, Offset (0x28), D0LX, 8, Offset (0x48), LNKS, 2 } Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = GP38 /* \GP38 */ Local1 = GP67 /* \GP67 */ If (((Local0 == One) && (Local1 == Zero))) { Return (0x0F) } Else { Return (Zero) } } Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { DSEN = (Arg0 & 0x07) } Name (DOD0, Package (0x03) { 0x0110, 0x0100, 0x80007330 }) Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices { Return (DOD0) /* \_SB_.PCI0.PEG1.VGA_.DOD0 */ } Device (LCD) { Method (_ADR, 0, NotSerialized) // _ADR: Address { Return (0x0110) } Method (LVLS, 1, NotSerialized) { Local0 = One Local1 = Zero If ((OSYS == 0x07DC)) { Local5 = 0x14 Local6 = PLV2 /* \PLV2 */ } Else { Local5 = 0x0F Local6 = PLVL /* \PLVL */ } While (Local0) { Local2 = (Local1 + 0x02) Local3 = DerefOf (Index (Local6, Local2)) Local4 = (Arg0 & 0xFF) If ((Local4 == Local3)) { Local0 = Zero } Local3 -= One If ((Local4 == Local3)) { Local0 = Zero } If ((Local1 >= Local5)) { Local0 = Zero } If (Local0) { Local1 += One } } Return (Local1) } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { If ((OSYS != 0x07DC)) { Return (PLVL) /* \PLVL */ } Else { Return (PLV2) /* \PLV2 */ } } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If (IGDS) { Local1 = ^^^^GFX0.DD02.LVLS (Arg0) ^^^^LPCB.EC0.BRTS = Local1 ^^^^GFX0.AINT (One, Arg0) } Else { Local1 = ^^^^PEG0.VGA.LCD.LVLS (Arg0) ^^^^LPCB.EC0.BRTS = Local1 } BRTL = Arg0 } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { Return (BRTL) /* \BRTL */ } } } } Device (PEG2) { Name (_ADR, 0x00010002) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Name (PR03, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR03, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR03) /* \_SB_.PCI0.PEG2.AR03 */ } Return (PR03) /* \_SB_.PCI0.PEG2.PR03 */ } } Device (PEG3) { Name (_ADR, 0x00060000) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x09, 0x04 }) Name (PR0B, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR0B, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR0B) /* \_SB_.PCI0.PEG3.AR0B */ } Return (PR0B) /* \_SB_.PCI0.PEG3.PR0B */ } } Device (B0D4) { Name (_ADR, 0x00040000) // _ADR: Address } Device (GFX0) { Name (_ADR, 0x00020000) // _ADR: Address Method (PCPC, 0, NotSerialized) { ECST (0x6F) } Method (PAPR, 0, NotSerialized) { } Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { DSEN = (Arg0 & 0x07) If (((Arg0 & 0x03) == Zero)) { If (CondRefOf (HDOS)) { HDOS () } } } Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices { If (CondRefOf (IDAB)) { IDAB () } Else { NDID = Zero 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 == One)) { Name (TMP1, Package (0x01) { Ones }) Index (TMP1, Zero) = (0x00010000 | DID1) Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */ } If ((NDID == 0x02)) { Name (TMP2, Package (0x02) { Ones, Ones }) Index (TMP2, Zero) = (0x00010000 | DID1) Index (TMP2, One) = (0x00010000 | DID2) Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */ } If ((NDID == 0x03)) { Name (TMP3, Package (0x03) { Ones, Ones, Ones }) Index (TMP3, Zero) = (0x00010000 | DID1) Index (TMP3, One) = (0x00010000 | DID2) Index (TMP3, 0x02) = (0x00010000 | DID3) Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */ } If ((NDID == 0x04)) { Name (TMP4, Package (0x04) { Ones, Ones, Ones, Ones }) Index (TMP4, Zero) = (0x00010000 | DID1) Index (TMP4, One) = (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) { Ones, Ones, Ones, Ones, Ones }) Index (TMP5, Zero) = (0x00010000 | DID1) Index (TMP5, One) = (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) { Ones, Ones, Ones, Ones, Ones, Ones }) Index (TMP6, Zero) = (0x00010000 | DID1) Index (TMP6, One) = (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) { Ones, Ones, Ones, Ones, Ones, Ones, Ones }) Index (TMP7, Zero) = (0x00010000 | DID1) Index (TMP7, One) = (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) { Ones, Ones, Ones, Ones, Ones, Ones, Ones, Ones }) Index (TMP8, Zero) = (0x00010000 | DID1) Index (TMP8, One) = (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 }) } Device (DD01) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID1 == Zero)) { Return (One) } 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 & 0x7F) == One) && 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 == Zero)) { Return (0x02) } Else { Return ((0xFFFF & DID2)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((LIDS == Zero)) { Return (Zero) } Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If ((((SGMD & 0x7F) == One) && CondRefOf (SNXD))) { Return (NXD2) /* \NXD2 */ } Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (((Arg0 & 0xC0000000) == 0xC0000000)) { CSTE = NSTE /* \NSTE */ } } Method (LVLS, 1, NotSerialized) { Local0 = One Local1 = Zero If ((OSYS == 0x07DC)) { Local5 = 0x14 Local6 = PLV2 /* \PLV2 */ } Else { Local5 = 0x0F Local6 = PLVL /* \PLVL */ } While (Local0) { Local2 = (Local1 + 0x02) Local3 = DerefOf (Index (Local6, Local2)) Local4 = (Arg0 & 0xFF) If ((Local4 == Local3)) { Local0 = Zero } Local3 -= One If ((Local4 == Local3)) { Local0 = Zero } If ((Local1 >= Local5)) { Local0 = Zero } If (Local0) { Local1 += One } } Return (Local1) } Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { If ((OSYS != 0x07DC)) { Return (PLVL) /* \PLVL */ } Else { Return (PLV2) /* \PLV2 */ } } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If (IGDS) { Local1 = LVLS (Arg0) ^^^LPCB.EC0.BRTS = Local1 AINT (One, Arg0) } Else { Local1 = ^^^PEG0.VGA.LCD.LVLS (Arg0) ^^^LPCB.EC0.BRTS = Local1 } BRTL = Arg0 } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { Return (BRTL) /* \BRTL */ } } Device (DD03) { Method (_ADR, 0, Serialized) // _ADR: Address { If ((DID3 == Zero)) { Return (0x03) } Else { Return ((0xFFFF & DID3)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID3 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If ((((SGMD & 0x7F) == One) && 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 == Zero)) { Return (0x04) } Else { Return ((0xFFFF & DID4)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID4 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If ((((SGMD & 0x7F) == One) && 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 == Zero)) { Return (0x05) } Else { Return ((0xFFFF & DID5)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID5 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If ((((SGMD & 0x7F) == One) && 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 == Zero)) { Return (0x06) } Else { Return ((0xFFFF & DID6)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID6 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID6)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If ((((SGMD & 0x7F) == One) && 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 == Zero)) { Return (0x07) } Else { Return ((0xFFFF & DID7)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID7 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID7)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If ((((SGMD & 0x7F) == One) && 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 == Zero)) { Return (0x08) } Else { Return ((0xFFFF & DID8)) } } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { If ((DID8 == Zero)) { Return (0x0B) } Else { Return (CDDS (DID8)) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { If ((((SGMD & 0x7F) == One) && 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 (Zero) } Method (CDDS, 1, NotSerialized) { Local0 = (Arg0 & 0x0F0F) If ((Zero == 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 ((Zero == Local0)) { Return (Zero) } If ((NADL == Local0)) { Return (One) } If ((NDL2 == Local0)) { Return (One) } If ((NDL3 == Local0)) { Return (One) } If ((NDL4 == Local0)) { Return (One) } If ((NDL5 == Local0)) { Return (One) } If ((NDL6 == Local0)) { Return (One) } If ((NDL7 == Local0)) { Return (One) } If ((NDL8 == Local0)) { Return (One) } Return (Zero) } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0xA4), ASLE, 8, Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xB0), , 12, CDVL, 1, Offset (0xB2), Offset (0xB5), LBPC, 8, Offset (0xBC), ASLS, 32 } OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, DMOD, 32, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, PLUT, 592, PFMB, 32, CCDV, 32, PCFT, 32, Offset (0x400), GVD1, 49152, PHED, 32, BDDC, 2048 } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x05) { Package (0x02) { 0xE4, 0x0140 }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { 0xDE, 0x014D }, Package (0x02) { Zero, Zero }, Package (0x02) { 0xDE, 0x014D } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { Method (GBDA, 0, Serialized) { If ((GESF == Zero)) { PARM = 0x0679 GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == One)) { 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 ^= One PARM |= (GMFN << One) PARM |= 0x1800 PARM |= (IDMS << 0x11) PARM |= (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), CDVL)) << 0x15) /* \_SB_.PCI0.GFX0.PARM */ GESF = One Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == 0x0A)) { PARM = Zero If (ISSC) { PARM |= 0x03 } GESF = Zero 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 == Zero)) { PARM = Zero PARM = 0x000F87FD GESF = Zero Return (SUCC) /* \_SB_.PCI0.GFX0.SUCC */ } If ((GESF == One)) { 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 == Zero)) { 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 >> One) & One) If ((PARM & 0x0001E000)) { 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 & One)) { If (((PARM >> One) == One)) { ISSC = One } Else { GESF = Zero Return (CRIT) /* \_SB_.PCI0.GFX0.CRIT */ } } Else { ISSC = Zero } 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 = Zero SCIS = One GSSE = Zero SCIE = Zero 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 (One) } CEVT = Arg0 CSTS = 0x03 If (((CHPD == Zero) && (Arg1 == Zero))) { If (((OSYS > 0x07D0) || (OSYS < 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } If (CondRefOf (HNOT)) { HNOT (Arg0) } Else { Notify (GFX0, 0x80) // Status Change } Return (Zero) } Method (GHDS, 1, NotSerialized) { TIDX = Arg0 Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { If ((Arg0 == One)) { CLID = 0x03 } Else { CLID = Arg0 } Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { CDCK = Arg0 Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (!ARDY) { Sleep (ASLP) } Return (!ARDY) } Method (AINT, 2, NotSerialized) { If (!(TCHE & (One << Arg0))) { Return (One) } If (PARD ()) { Return (One) } If ((Arg0 == 0x02)) { If (CPFM) { Local0 = (CPFM & 0x0F) Local1 = (EPFM & 0x0F) If ((Local0 == One)) { If ((Local1 & 0x06)) { PFIT = 0x06 } Else { If ((Local1 & 0x08)) { PFIT = 0x08 } Else { PFIT = One } } } If ((Local0 == 0x06)) { If ((Local1 & 0x08)) { PFIT = 0x08 } Else { If ((Local1 & One)) { PFIT = One } Else { PFIT = 0x06 } } } If ((Local0 == 0x08)) { If ((Local1 & One)) { PFIT = One } Else { If ((Local1 & 0x06)) { PFIT = 0x06 } Else { PFIT = 0x08 } } } } Else { PFIT ^= 0x07 } PFIT |= 0x80000000 ASLC = 0x04 } Else { If ((Arg0 == One)) { BCLP = ((Arg1 * 0xFF) / 0x64) BCLP |= 0x80000000 ASLC = 0x02 } Else { If ((Arg0 == Zero)) { ALSI = Arg1 ASLC = One } Else { Return (One) } } } ASLE = One Return (Zero) } Method (SCIP, 0, NotSerialized) { If ((OVER != Zero)) { Return (!GSMI) } Return (Zero) } Device (^^MEM2) { Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (CRS1, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x20000000, // Address Base 0x00200000, // Address Length ) Memory32Fixed (ReadWrite, 0x40000000, // Address Base 0x00200000, // Address Length ) }) Name (CRS2, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x20000000, // Address Base 0x00200000, // Address Length ) Memory32Fixed (ReadWrite, 0x40004000, // Address Base 0x00001000, // Address Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { If (IGDS) { Return (0x0F) } Return (Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If ((((PNHM & 0x0FFF0FF0) == 0x000206A0) || ((PNHM & 0x0FFF0FFF ) == 0x000306A0))) { Return (CRS1) /* \_SB_.MEM2.CRS1 */ } Return (CRS2) /* \_SB_.MEM2.CRS2 */ } } Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Name (DRET, Buffer (0x04) { 0x00 /* . */ }) If ((Arg0 == ToUUID ("6f3975e1-7a82-4f67-8b97-15bee060bedf"))) { If ((Arg2 == Zero)) { CreateWordField (DRET, Zero, F0SS) F0SS = 0x02 Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */ } If ((Arg2 == One)) { If ((^^PEG0.PEGP.LNKV == 0x03)) { Return (Zero) } Return (One) } } Return (DRET) /* \_SB_.PCI0.GFX0._DSM.DRET */ } } } Scope (\) { OperationRegion (COMP, SystemMemory, 0xCAFBEC98, 0x00000200) Field (COMP, AnyAcc, Lock, Preserve) { RSV0, 32, BDID, 8, CPFB, 8, PBTI, 8, BRLV, 8, CAVR, 8, TJMA, 16, CORE, 8, CG12, 8, CG13, 8, CG14, 8, CG15, 8, CG16, 8, CG17, 8, CG18, 8, CG19, 8, CG20, 8, CG21, 8, CG22, 8, CG23, 8, CG24, 8, CG25, 8, CG26, 8, CG27, 8, CG28, 8, CG29, 8, CG30, 8, CG31, 8, SFNO, 16, STDT, 16, BFDT, 1024, RSV1, 736, IDFD, 1024, RSV2, 1024 } } Scope (_SB.PCI0.LPCB) { Method (ECOK, 0, NotSerialized) { If ((^EC0.OKEC == One)) { Return (One) } Else { Return (Zero) } } Device (EC0) { Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID Name (_GPE, 0x17) // _GPE: General Purpose Events Name (OKEC, One) Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x03)) { OKEC = Arg1 } } OperationRegion (ECMM, SystemMemory, 0xFF000000, 0x1000) Field (ECMM, AnyAcc, Lock, Preserve) { Offset (0x800), Offset (0x85A), AASD, 8, Offset (0x890), BMFN, 72, BATD, 56, AATL, 1, AACL, 1, AAST, 1, AARW, 1, AAEN, 1, AAEW, 1, AAND, 1, Offset (0x8A1), , 1, VIDO, 1, TOUP, 1, Offset (0x8A2), ODTS, 8, OSTY, 3, , 4, ADPT, 1, PWAK, 1, MWAK, 1, LWAK, 1, RWAK, 1, WWAK, 1, UWAK, 1, KWAK, 1, TWAK, 1, CCAC, 1, AOAC, 1, BLAC, 1, PSRC, 1, BOAC, 1, LCAC, 1, AAAC, 1, ACAC, 1, S3ST, 1, S3RM, 1, S4ST, 1, S4RM, 1, S5ST, 1, S5RM, 1, Offset (0x8A7), OSTT, 8, OSST, 8, THLT, 8, TCNL, 8, MODE, 1, , 2, INIT, 1, FAN1, 1, FAN2, 1, FANT, 1, SKNM, 1, SDTM, 8, FSSN, 4, FANU, 4, PCVL, 4, , 2, SWTO, 1, TTHR, 1, TTHM, 1, THTL, 1, , 1, CTDP, 1, NPST, 4, CTMP, 8, CTML, 8, SKTA, 8, SKTB, 8, SKTC, 8, Offset (0x8B6), NTMP, 8, , 1, SKEY, 1, DIGM, 1, CDLE, 1, Offset (0x8B8), , 1, LIDF, 1, PMEE, 1, PWBE, 1, RNGE, 1, BTWE, 1, Offset (0x8B9), BRTS, 8, S35M, 1, S35S, 1, , 2, FFEN, 1, FFST, 1, Offset (0x8BB), WLAT, 1, BTAT, 1, WLEX, 1, BTEX, 1, KLSW, 1, WLOK, 1, AT3G, 1, EX3G, 1, PJID, 8, CPUJ, 3, CPNM, 3, GATY, 2, BOL0, 1, BOL1, 1, , 2, BCC0, 1, BCC1, 1, Offset (0x8BF), BPU0, 1, BPU1, 1, , 2, BOS0, 1, BOS1, 1, Offset (0x8C0), BTY0, 1, BAM0, 1, BAL0, 1, , 1, BMF0, 3, Offset (0x8C1), BST0, 8, BRC0, 16, BSN0, 16, BPV0, 16, BDV0, 16, BDC0, 16, BFC0, 16, GAU0, 8, CYC0, 8, BPC0, 16, BAC0, 16, BTW0, 8, BVL0, 8, BTM0, 8, BAT0, 8, BCG0, 16, BCT0, 8, BCI0, 8, BCM0, 8, BOT0, 8, BSSB, 16, BOV0, 8, BCF0, 8, BAD0, 8, BCV1, 16, BCV2, 16, BCV3, 16, BCV4, 16, Offset (0x8ED), BFCB, 16, Offset (0x8F1), , 6, ORRF, 1, Offset (0x8F4), BMD0, 16, BACV, 16, BDN0, 8, BTPB, 16, Offset (0x8FC) } OperationRegion (ECMP, SystemMemory, 0xFF000000, 0x1000) Field (ECMP, AnyAcc, Lock, Preserve) { } OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x5A), Offset (0x5B), FCMP, 1, Offset (0x5C), Offset (0x5D), ENIB, 16, ENDD, 8, SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 24, Offset (0x89) } OperationRegion (ECPR, EmbeddedControl, Zero, 0xFF) Field (ECPR, ByteAcc, Lock, Preserve) { } OperationRegion (CCLK, SystemIO, 0x0410, 0x04) Field (CCLK, DWordAcc, NoLock, Preserve) { , 1, DUTY, 3, THEN, 1, Offset (0x01), FTT, 1, , 8, TSTS, 1 } OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF) Field (ECRM, ByteAcc, Lock, Preserve) { Offset (0x5D), ERIB, 16, ERBD, 8, Offset (0xAA), Offset (0xAB), Offset (0xAD), , 4, Offset (0xAE), PTVL, 4, Offset (0xB0), Offset (0xB1), Offset (0xB2), Offset (0xB3), Offset (0xB4), Offset (0xB5), Offset (0xBC), Offset (0xBD) } Mutex (FAMX, 0x00) Method (FANG, 1, NotSerialized) { Acquire (FAMX, 0xFFFF) ERIB = Arg0 Local0 = ERBD /* \_SB_.PCI0.LPCB.EC0_.ERBD */ Release (FAMX) Return (Local0) } Method (FANW, 2, NotSerialized) { Acquire (FAMX, 0xFFFF) ERIB = Arg0 ERBD = Arg1 Release (FAMX) Return (Arg1) } Method (TUVR, 1, NotSerialized) { Return (0x03) } Method (THRO, 1, NotSerialized) { Return (ITHR (Arg0)) } Method (CLCK, 1, NotSerialized) { If ((Arg0 == Zero)) { THEN = Zero FTT = Zero } Else { DUTY = Arg0 THEN = One } Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */ } Method (PCLK, 0, NotSerialized) { IPCL () } Method (ITHR, 1, NotSerialized) { If ((Arg0 == Zero)) { Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */ } Else { If ((Arg0 == One)) { Return (DUTY) /* \_SB_.PCI0.LPCB.EC0_.DUTY */ } Else { If ((Arg0 == 0x02)) { Return (TTHR) /* \_SB_.PCI0.LPCB.EC0_.TTHR */ } Else { Return (0xFF) } } } } Method (IPCL, 0, NotSerialized) { Local0 = PCVL /* \_SB_.PCI0.LPCB.EC0_.PCVL */ \_PR.CPU0._PPC = Local0 PNOT () } Name (CMFP, Package (0x0E) { 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x60, 0x61, 0x62, 0x63, 0x64, 0x20, 0x21, 0x22 }) Mutex (CFMX, 0x00) Method (CFUN, 4, Serialized) { Name (ESRC, 0x05) If ((Match (CMFP, MEQ, DerefOf (Index (Arg0, Zero)), MTR, Zero, Zero) != Ones)) { Acquire (CFMX, 0xFFFF) SMID = Arg0 SFNO = Arg1 BFDT = Arg2 SMIC = 0xCE Release (CFMX) } Else { If ((DerefOf (Index (Arg0, Zero)) == 0x10)) { If ((DerefOf (Index (Arg1, Zero)) == One)) { CreateByteField (Arg2, Zero, CAPV) CAVR = CAPV /* \_SB_.PCI0.LPCB.EC0_.CFUN.CAPV */ STDT = One } Else { If ((DerefOf (Index (Arg1, Zero)) == 0x02)) { Local0 = Buffer (0x80) {} CreateByteField (Local0, Zero, BFD0) BFD0 = 0x08 STDT = One BFDT = Local0 } Else { STDT = Zero } } } Else { If ((DerefOf (Index (Arg0, Zero)) == 0x18)) { Acquire (CFMX, 0xFFFF) If ((DerefOf (Index (Arg1, Zero)) == 0x02)) { SMD0 = Zero SMAD = DerefOf (Index (Arg2, One)) SMCM = DerefOf (Index (Arg2, 0x02)) SMPR = DerefOf (Index (Arg2, Zero)) While ((~(ESRC == Zero) && ~((SMST & 0x80 ) == 0x80))) { Sleep (0x14) ESRC -= One } Local2 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */ If (((Local2 & 0x80) == 0x80)) { Local1 = Buffer (0x80) {} Index (Local1, Zero) = Local2 If ((Local2 == 0x80)) { P80H = 0xC4 Index (Local1, One) = BCNT /* \_SB_.PCI0.LPCB.EC0_.BCNT */ Local3 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */ Index (Local1, 0x02) = DerefOf (Index (Local3, Zero)) Index (Local1, 0x03) = DerefOf (Index (Local3, One)) Index (Local1, 0x04) = DerefOf (Index (Local3, 0x02)) Index (Local1, 0x05) = DerefOf (Index (Local3, 0x03)) Index (Local1, 0x06) = DerefOf (Index (Local3, 0x04)) Index (Local1, 0x07) = DerefOf (Index (Local3, 0x05)) Index (Local1, 0x08) = DerefOf (Index (Local3, 0x06)) Index (Local1, 0x09) = DerefOf (Index (Local3, 0x07)) Index (Local1, 0x0A) = DerefOf (Index (Local3, 0x08)) Index (Local1, 0x0B) = DerefOf (Index (Local3, 0x09)) Index (Local1, 0x0C) = DerefOf (Index (Local3, 0x0A)) Index (Local1, 0x0D) = DerefOf (Index (Local3, 0x0B)) Index (Local1, 0x0E) = DerefOf (Index (Local3, 0x0C)) Index (Local1, 0x0F) = DerefOf (Index (Local3, 0x0D)) Index (Local1, 0x10) = DerefOf (Index (Local3, 0x0E)) Index (Local1, 0x11) = DerefOf (Index (Local3, 0x0F)) Index (Local1, 0x12) = DerefOf (Index (Local3, 0x10)) Index (Local1, 0x13) = DerefOf (Index (Local3, 0x11)) Index (Local1, 0x14) = DerefOf (Index (Local3, 0x12)) Index (Local1, 0x15) = DerefOf (Index (Local3, 0x13)) Index (Local1, 0x16) = DerefOf (Index (Local3, 0x14)) Index (Local1, 0x17) = DerefOf (Index (Local3, 0x15)) Index (Local1, 0x18) = DerefOf (Index (Local3, 0x16)) Index (Local1, 0x19) = DerefOf (Index (Local3, 0x17)) Index (Local1, 0x1A) = DerefOf (Index (Local3, 0x18)) Index (Local1, 0x1B) = DerefOf (Index (Local3, 0x19)) Index (Local1, 0x1C) = DerefOf (Index (Local3, 0x1A)) Index (Local1, 0x1D) = DerefOf (Index (Local3, 0x1B)) Index (Local1, 0x1E) = DerefOf (Index (Local3, 0x1C)) Index (Local1, 0x1F) = DerefOf (Index (Local3, 0x1D)) Index (Local1, 0x20) = DerefOf (Index (Local3, 0x1E)) Index (Local1, 0x21) = DerefOf (Index (Local3, 0x1F)) } BFDT = Local1 STDT = One } Else { P80H = 0xC5 STDT = Zero } } Else { P80H = 0xC6 STDT = Zero } Release (CFMX) } Else { STDT = Zero } } } } Mutex (PFMX, 0x00) Method (PFUN, 4, Serialized) { Acquire (PFMX, 0xFFFF) SMID = Arg0 SFNO = Arg1 BFDT = Arg2 SMIC = 0xCF Release (PFMX) STDT = Zero } Method (CMFC, 4, Serialized) { Name (RTVL, Package (0x04) { Zero, Zero, Zero, Zero }) If ((ObjectType (Arg0) == One)) { Index (RTVL, Zero) = 0x8000 } Else { If ((DerefOf (Index (Arg0, Zero)) < 0xFE)) { Local1 = Buffer (0x82) {} CreateWordField (Local1, Zero, RTST) CreateField (Local1, 0x10, 0x0400, RTDT) If ((ToInteger (Arg0) <= 0x7F)) { CFUN (Arg0, Arg1, Arg2, Arg3) } Else { PFUN (Arg0, Arg1, Arg2, Arg3) } RTST = STDT /* \STDT */ RTDT = BFDT /* \BFDT */ Return (Local1) } Else { Index (RTVL, Zero) = 0x8000 } } Return (RTVL) /* \_SB_.PCI0.LPCB.EC0_.CMFC.RTVL */ } } Scope (EC0) { Method (BSHK, 0, NotSerialized) { If (ECOK ()) { Local1 = One If ((OSYS == 0x07D1)) { Local1 = Zero } If ((OSYS == 0x07D2)) { Local1 = Zero } If ((OSYS == 0x07D6)) { Local1 = One } If ((OSYS == 0x03E8)) { Local1 = 0x02 } If ((OSYS == 0x07D9)) { Local1 = 0x03 } If ((OSYS == 0x07DC)) { Local1 = 0x04 } Sleep (0x14) OSTY = Local1 Sleep (0x14) } } } Scope (\_SB.PCI0.LPCB) { } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_PCL, Package (0x01) // _PCL: Power Consumer List { _SB }) Name (BMDL, Zero) Name (BASC, One) Name (BFFW, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { ^^EC0.BSHK () If (ECOK ()) { If (^^EC0.BOL0) { Sleep (Zero) Return (0x1F) } Else { Sleep (Zero) Return (0x0F) } } Else { Sleep (Zero) Return (0x1F) } } Method (_BIF, 0, NotSerialized) // _BIF: Battery Information { Return (BIFX (Zero)) } Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended { Return (BIFX (One)) } Method (BIFX, 1, NotSerialized) { Name (STAX, Package (0x14) { Zero, One, 0x1770, 0x1770, One, 0x2A30, 0x0258, 0xB4, Zero, Zero, Zero, Zero, Zero, Zero, 0x0108, 0x0EC4, "PABAS0241231", "41167", "Li-Ion", "LENOVO " }) Name (STAF, Package (0x0D) { One, 0x1770, 0x1770, One, 0x2A30, 0x0258, 0xB4, 0x0108, 0x0EC4, "PABAS0241231", "41167", "Li-Ion", "LENOVO " }) If (ECOK ()) { If ((^^EC0.BAM0 == Zero)) { BASC = 0x0A } Index (STAX, One) = ^^EC0.BAM0 /* \_SB_.PCI0.LPCB.EC0_.BAM0 */ Local0 = ^^EC0.BDN0 /* \_SB_.PCI0.LPCB.EC0_.BDN0 */ BMDL = Local0 Index (STAX, 0x02) = (^^EC0.BDC0 * BASC) Sleep (Zero) Index (STAX, 0x05) = ^^EC0.BDV0 /* \_SB_.PCI0.LPCB.EC0_.BDV0 */ Sleep (Zero) If ((BFFW == One)) { Local2 = ^^EC0.BFCB /* \_SB_.PCI0.LPCB.EC0_.BFCB */ } Else { Local2 = ^^EC0.BFC0 /* \_SB_.PCI0.LPCB.EC0_.BFC0 */ } Local2 = (Local2 * BASC) Sleep (Zero) Index (STAX, 0x03) = Local2 Divide (Local2, 0x64, Local0, Local1) Local1 *= 0x0A Index (STAX, 0x06) = Local1 Divide (Local2, 0x64, Local0, Local1) Local1 *= 0x03 Index (STAX, 0x07) = Local1 Index (STAF, Zero) = DerefOf (Index (STAX, One)) Index (STAF, One) = DerefOf (Index (STAX, 0x02)) Index (STAF, 0x02) = DerefOf (Index (STAX, 0x03)) Index (STAF, 0x03) = DerefOf (Index (STAX, 0x04)) Index (STAF, 0x04) = DerefOf (Index (STAX, 0x05)) Index (STAF, 0x05) = DerefOf (Index (STAX, 0x06)) Index (STAF, 0x06) = DerefOf (Index (STAX, 0x07)) Index (STAF, 0x07) = DerefOf (Index (STAX, 0x0E)) Index (STAF, 0x08) = DerefOf (Index (STAX, 0x0F)) Index (STAF, 0x09) = DerefOf (Index (STAX, 0x10)) Index (STAF, 0x0A) = DerefOf (Index (STAX, 0x11)) Index (STAF, 0x0B) = DerefOf (Index (STAX, 0x12)) Index (STAF, 0x0C) = DerefOf (Index (STAX, 0x13)) If ((Arg0 == One)) { Return (STAX) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAX */ } Else { Return (STAF) /* \_SB_.PCI0.LPCB.BAT1.BIFX.STAF */ } } } Method (_BST, 0, NotSerialized) // _BST: Battery Status { Name (PBST, Package (0x04) { Zero, Ones, Ones, 0x1770 }) If (ECOK ()) { Index (PBST, Zero) = ^^EC0.BST0 /* \_SB_.PCI0.LPCB.EC0_.BST0 */ Sleep (Zero) Local4 = ^^EC0.BAC0 /* \_SB_.PCI0.LPCB.EC0_.BAC0 */ Local4 -= 0xFFFF Local5 = (Local4 * 0x0A) If ((^^EC0.BAM0 == Zero)) { Local4 = ((Local4 * ^^EC0.BPV0) / 0x03E8) } Local4 = Local5 Index (PBST, One) = Local4 Sleep (Zero) If ((BFFW == One)) { Local4 = (^^EC0.BFCB * BASC) /* \_SB_.PCI0.LPCB.BAT1.BASC */ Local2 = (^^EC0.GAU0 * Local4) Divide (Local2, 0x64, Local4, Local2) Index (PBST, 0x02) = Local2 Sleep (Zero) } Else { Index (PBST, 0x02) = (^^EC0.BRC0 * BASC) Sleep (Zero) } Index (PBST, 0x03) = ^^EC0.BPV0 /* \_SB_.PCI0.LPCB.EC0_.BPV0 */ Sleep (Zero) If ((^^EC0.BDN0 != BMDL)) { Notify (BAT1, 0x81) // Information Change } } Return (PBST) /* \_SB_.PCI0.LPCB.BAT1._BST.PBST */ } Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point { Local0 = (Arg0 / BASC) ^^EC0.BTPB = Local0 } } Device (ACAD) { Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID Name (_PCL, Package (0x01) // _PCL: Power Consumer List { _SB }) Method (_PSR, 0, NotSerialized) // _PSR: Power Source { Local0 = ^^EC0.ADPT /* \_SB_.PCI0.LPCB.EC0_.ADPT */ Return (Local0) } } Scope (RTC) { OperationRegion (RCM0, SystemCMOS, Zero, 0x10) Field (RCM0, ByteAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), RTCS, 8, Offset (0x02), RTCM, 8, Offset (0x04), RTCH, 8, Offset (0x06), RTCW, 8, RTCD, 8 } } } Scope (\) { Name (GPSP, Zero) Name (DCPS, Zero) } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q11, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x11 Local0 = GP38 /* \GP38 */ Local1 = GP67 /* \GP67 */ If (((OSYS >= 0x07D6) || (OSYS == 0x03E8))) { If (((Local0 == One) && (Local1 == Zero))) { Notify (^^^PEG0.VGA.LCD, 0x87) // Device-Specific } Else { Notify (^^^GFX0.DD02, 0x87) // Device-Specific } Local1 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */ If ((Local1 > Zero)) { BRTS = (Local1 - One) } } Else { If (((Local0 == One) && (Local1 == Zero))) {} Else { Local0 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */ Local0 += 0x02 ^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0))) } } Notify (VPC0, 0x80) // Status Change } Method (_Q12, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x12 Local0 = GP38 /* \GP38 */ Local1 = GP67 /* \GP67 */ If (((OSYS >= 0x07D6) || (OSYS == 0x03E8))) { If (((Local0 == One) && (Local1 == Zero))) { Notify (^^^PEG0.VGA.LCD, 0x86) // Device-Specific } Else { Notify (^^^GFX0.DD02, 0x86) // Device-Specific } Local1 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */ If ((Local1 < 0x0F)) { BRTS = (Local1 + One) } } Else { If (((Local0 == One) && (Local1 == Zero))) {} Else { Local0 = BRTS /* \_SB_.PCI0.LPCB.EC0_.BRTS */ Local0 += 0x02 ^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0))) } } Notify (VPC0, 0x80) // Status Change } Method (_Q1C, 0, NotSerialized) // _Qxx: EC Query { If ((ECOK () && Ones)) { If ((Zero == APTG)) { If ((OSYS != 0x03E8)) { If (IGDS) { ^^^GFX0.GHDS (Zero) } } } Sleep (0x01F4) Notify (VPC0, 0x80) // Status Change } } Name (DGST, 0xD1) Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x1D If (PCVL) { DCPS = One } Else { DCPS = Zero } PCLK () } Method (_Q24, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x24 Debug = "=====QUERY_24=====" Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change } Method (_Q25, 0, NotSerialized) // _Qxx: EC Query { P80H = 0xBB Debug = "=====QUERY_25=====" Sleep (0x03E8) Notify (BAT1, 0x81) // Information Change Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change } Method (_Q37, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x37 Debug = "=====QUERY_37=====" Notify (ACAD, 0x80) // Status Change Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change PWRS = One PNOT () } Method (_Q38, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x38 Debug = "=====QUERY_38=====" Notify (ACAD, 0x80) // Status Change Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change PWRS = Zero PNOT () } Method (_Q55, 0, NotSerialized) // _Qxx: EC Query { Notify (BAT1, 0x81) // Information Change } Method (_Q60, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x60 Debug = "=====QUERY_60=====" Local0 = GP34 /* \GP34 */ Local1 = GP55 /* \GP55 */ If (((Local0 == One) || (Local1 == Zero))) { GP34 = Zero GP55 = One } Else { GP34 = One GP55 = Zero } } Method (_Q65, 0, NotSerialized) // _Qxx: EC Query { P80H = 0x65 Debug = "=====QUERY_65=====" If (((WLEX == One) & (WLAT == One))) { GP55 = One } Else { GP55 = Zero } If (((BTEX == One) & (BTAT == One))) { B_ON () } Else { B_OF () } } } Scope (_SB.PCI0.LPCB.EC0) { OperationRegion (ECF2, EmbeddedControl, Zero, 0xFF) Field (ECF2, ByteAcc, Lock, Preserve) { VCMD, 8, VDAT, 8, VSTA, 8 } Device (VPC0) { Name (_HID, "VPC2004") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_VPC, 0x0140) Name (VPCD, Zero) Name (GPS1, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CFG, 0, NotSerialized) { If ((CATO == Zero)) { Local0 = SizeOf (\_PR.CPU0._PSS) Local1 = DerefOf (Index (\_PR.CPU0._PSS, One)) Local1 = DerefOf (Index (Local1, Zero)) Divide (Local1, 0x0A, Local2, Local1) Local1 *= 0x07 Local2 = Zero While ((Local0 > Local2)) { Local3 = DerefOf (Index (\_PR.CPU0._PSS, Local2)) Local3 = DerefOf (Index (Local3, Zero)) If ((Local1 >= Local3)) { Break } Local2++ } CATO = Local2 } Local0 = _VPC /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */ Local0 &= 0xFFFF Local2 = Zero Local2 += 0x07 Local2 &= 0x07 Local2 <<= 0x0D Local0 |= Local2 Local0 &= 0xFFFFE8FF If ((^^^^PEG0.PEGP.VID != 0xFFFF)) { If ((^^^^GFX0.VID == 0x8086)) { If ((^^^^PEG0.PEGP.VID == 0x10DE)) { Local0 |= 0x1500 } If ((^^^^PEG0.PEGP.VID == 0x1002)) { Local0 |= 0x1400 } } Else { If ((^^^^PEG0.PEGP.VID == 0x10DE)) { Local0 |= 0x0300 } If ((^^^^PEG0.PEGP.VID == 0x1002)) { Local0 |= 0x0200 } } } Else { Local0 |= 0x0100 } If (HYMS) { Local0 |= 0x1000 } Else { Local0 &= 0xEFFF } If ((OSYS == 0x07DC)) { Local0 |= 0x40 } Else { Local0 &= 0xFFBF } If (GPS1) { Local0 |= 0x20 } Local0 |= 0x08 Local0 |= 0x04 Local0 |= 0x02 If (ECOK ()) { Local1 = BTEX /* \_SB_.PCI0.LPCB.EC0_.BTEX */ } If (EX3G) { Local1 |= 0x02 } Else { Local1 &= 0xFD } If (WLEX) { Local1 |= 0x04 } Else { Local1 &= 0xFB } If (CMEX) { Local1 |= 0x08 } Else { Local1 &= 0xF7 } Local2 = Zero Local2 |= 0x07 Local2 &= 0x07 Local2 <<= 0x04 Local1 |= Local2 Local1 *= 0x00010000 Local0 += Local1 _VPC = Local0 Return (_VPC) /* \_SB_.PCI0.LPCB.EC0_.VPC0._VPC */ } Method (APPC, 1, Serialized) { APTG = Arg0 APEJ = Arg0 Return (Zero) } Name (TBSL, Package (0x10) { 0x02, 0x05, 0x0A, 0x0F, 0x11, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) Name (TBS2, Package (0x65) { Zero, One, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64 }) Method (DBSL, 0, NotSerialized) { If ((OSYS != 0x07DC)) { Return (TBSL) /* \_SB_.PCI0.LPCB.EC0_.VPC0.TBSL */ } Else { Return (TBS2) /* \_SB_.PCI0.LPCB.EC0_.VPC0.TBS2 */ } } Method (HALS, 0, NotSerialized) { Local0 = Zero Local0 |= 0x10 If (KLEN) { Local0 |= 0x20 } Local0 |= 0x40 If (UCEN) { Local0 |= 0x80 } Return (Local0) } Method (SALS, 1, Serialized) { If ((Arg0 == Zero)) {} If ((Arg0 == One)) {} If ((Arg0 == 0x04)) {} If ((Arg0 == 0x05)) {} If ((Arg0 == 0x06)) {} If ((Arg0 == 0x07)) {} If ((Arg0 == 0x08)) { KLEN = One } If ((Arg0 == 0x09)) { KLEN = Zero } If ((Arg0 == 0x0A)) { UCEN = One } If ((Arg0 == 0x0B)) { UCEN = Zero } Return (Zero) } Method (HODD, 0, NotSerialized) { Return (0xFF) } Method (SODD, 1, Serialized) { } Method (GBMD, 0, NotSerialized) { Local0 = 0x10000000 If ((One == CDMB)) { Local0 |= One } If ((One == BTSM)) { Local0 |= 0x02 } If ((One == FCGM)) { Local0 |= 0x04 } If ((One == MBBD)) { Local0 |= 0x08 } If ((One == SBBD)) { Local0 |= 0x10 } If ((One == LBTM)) { Local0 &= 0xFFFFFFDF } If ((One == BTIL)) { Local0 |= 0x80 } If ((One == BTPF)) { Local0 |= 0x0100 } If ((Zero == BTCM)) { Local0 |= 0x0200 } Else { Local0 |= 0x20 Local0 &= 0xFFFFFDFF } If ((One == SBIL)) { Local0 |= 0x0400 } If ((One == BTOV)) { Local0 |= 0x0800 } If ((One == SBOV)) { Local0 |= 0x1000 } If ((One == SBPF)) { Local0 |= 0x2000 } Return (Local0) } Method (SBMC, 1, NotSerialized) { If ((Arg0 == Zero)) { CDMB = Zero EDCC = One Return (Zero) } If ((Arg0 == One)) { EDCC = Zero CDMB = One Return (Zero) } If ((Arg0 == 0x02)) { CCSB = One Return (Zero) } If ((Arg0 == 0x03)) { BTSM = Zero BTCM = One LBTM = Zero Return (Zero) } If ((Arg0 == 0x04)) { BTSM = Zero BTCM = One LBTM = Zero Return (Zero) } If ((Arg0 == 0x05)) { BTSM = Zero BTCM = Zero LBTM = One Return (Zero) } If ((Arg0 == 0x06)) { CSBM = One Return (Zero) } Return (Zero) } Method (SHDC, 1, Serialized) { IPEN = Arg0 Return (Zero) } Method (SVCR, 1, Serialized) { Local0 = Zero If ((Arg0 == Zero)) { QTMD = Zero } If ((Arg0 == One)) { QTMD = One } If ((Arg0 == 0x02)) { LVAT = Zero } If ((Arg0 == 0x03)) { LVAT = One } } Method (VPCR, 1, Serialized) { If ((Arg0 == One)) { VPCD = VCMD /* \_SB_.PCI0.LPCB.EC0_.VCMD */ } Else { VPCD = VDAT /* \_SB_.PCI0.LPCB.EC0_.VDAT */ } Return (VPCD) /* \_SB_.PCI0.LPCB.EC0_.VPC0.VPCD */ } Method (VPCW, 2, Serialized) { If ((Arg0 == One)) { VCMD = Arg1 If ((Arg1 == 0x11)) { VDAT = 0x10 VCMD = Zero Return (Zero) } If ((Arg1 == 0x13)) { If ((OSYS < 0x07D6)) { Local0 = VDAT /* \_SB_.PCI0.LPCB.EC0_.VDAT */ Local0 += 0x02 ^^^^GFX0.AINT (One, DerefOf (Index (PLVL, Local0))) Return (Zero) } } } Else { VDAT = Arg1 } Return (Zero) } Method (MHCF, 1, NotSerialized) { Local0 = Arg0 (Local0 & 0x60) Local0 >>= 0x05 BFUC = Local0 If ((BFUC == One)) { BFFW = Zero } Sleep (0x14) Return (Local0) } Method (MHPF, 1, NotSerialized) { Name (BFWB, Buffer (0x25) {}) CreateByteField (BFWB, Zero, FB0) CreateByteField (BFWB, One, FB1) CreateByteField (BFWB, 0x02, FB2) CreateByteField (BFWB, 0x03, FB3) CreateField (BFWB, 0x20, 0x0100, FB4) CreateByteField (BFWB, 0x24, FB5) If ((SizeOf (Arg0) <= 0x25)) { If ((SMPR != Zero)) { FB1 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */ } Else { BFWB = Arg0 SMAD = FB2 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB2_ */ SMCM = FB3 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB3_ */ BCNT = FB5 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB5_ */ Local0 = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */ If (((Local0 & One) == Zero)) { SMD0 = FB4 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB4_ */ } SMST = Zero SMPR = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */ Local1 = 0x64 While (Local1) { Sleep (0x0A) Local1-- If ((SMST && 0x80)) { Break } } Local0 = FB0 /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.FB0_ */ If (((Local0 & One) != Zero)) { FB4 = SMD0 /* \_SB_.PCI0.LPCB.EC0_.SMD0 */ } FB1 = SMST /* \_SB_.PCI0.LPCB.EC0_.SMST */ If ((Local1 == Zero)) { SMPR = Zero FB1 = 0x92 } } Sleep (0x14) Return (BFWB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHPF.BFWB */ } } Method (MHIF, 1, NotSerialized) { Name (RETB, Buffer (0x0A) {}) While ((BFFW == Zero)) { Sleep (0xC8) } If ((Arg0 == Zero)) { Index (RETB, Zero) = FUSL /* \_SB_.PCI0.LPCB.EC0_.FUSL */ Index (RETB, One) = FUSH /* \_SB_.PCI0.LPCB.EC0_.FUSH */ Index (RETB, 0x02) = BMIL /* \_SB_.PCI0.LPCB.EC0_.BMIL */ Index (RETB, 0x03) = BMIH /* \_SB_.PCI0.LPCB.EC0_.BMIH */ Index (RETB, 0x04) = HIDL /* \_SB_.PCI0.LPCB.EC0_.HIDL */ Index (RETB, 0x05) = HIDH /* \_SB_.PCI0.LPCB.EC0_.HIDH */ Index (RETB, 0x06) = FMVL /* \_SB_.PCI0.LPCB.EC0_.FMVL */ Index (RETB, 0x07) = FMVH /* \_SB_.PCI0.LPCB.EC0_.FMVH */ Index (RETB, 0x08) = DAVL /* \_SB_.PCI0.LPCB.EC0_.DAVL */ Index (RETB, 0x09) = DAVH /* \_SB_.PCI0.LPCB.EC0_.DAVH */ } Return (RETB) /* \_SB_.PCI0.LPCB.EC0_.VPC0.MHIF.RETB */ } } Method (_Q44, 0, NotSerialized) // _Qxx: EC Query { If ((ECOK () == One)) { P8XH (0x04, 0x44, Zero) P8XH (0x04, 0x44, One) Notify (VPC0, 0x80) // Status Change } } Name (AMOD, Zero) Name (CATO, Zero) Method (_Q67, 0, NotSerialized) // _Qxx: EC Query { AMOD = \_PR.CPU0._PPC \_PR.CPU0._PPC = CATO /* \_SB_.PCI0.LPCB.EC0_.CATO */ PNOT () } Method (_Q68, 0, NotSerialized) // _Qxx: EC Query { \_PR.CPU0._PPC = AMOD /* \_SB_.PCI0.LPCB.EC0_.AMOD */ PNOT () } Method (_Q62, 0, NotSerialized) // _Qxx: EC Query { ECDX = 0xD1 Notify (^^^PEG0.PEGP, 0xD1) // Hardware-Specific If ((GPSP == One)) { ECPS = Zero GPSP = Zero Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific } } Method (_Q63, 0, NotSerialized) // _Qxx: EC Query { ECDX = 0xD2 Notify (^^^PEG0.PEGP, 0xD2) // Hardware-Specific If ((GPSP == One)) { ECPS = Zero GPSP = Zero Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific } } Method (_Q64, 0, NotSerialized) // _Qxx: EC Query { If ((GPSP == Zero)) { ECPS = One GPSP = One Notify (^^^PEG0.PEGP, 0xC0) // Hardware-Specific } } Scope (\) { Name (PLVL, Package (0x12) { 0x46, 0x1E, 0x0A, 0x0F, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x2D, 0x32, 0x37, 0x3C, 0x41, 0x46, 0x50, 0x5A, 0x64 }) Name (PLV2, Package (0x67) { 0x46, 0x1E, Zero, One, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 0x60, 0x61, 0x62, 0x63, 0x64 }) Name (APTG, Zero) Name (APEJ, Zero) Name (APSD, Zero) Name (ECDX, 0xD1) Name (ECPS, Zero) } Scope (^^PEG0.PEGP) { OperationRegion (PCRG, PCI_Config, Zero, 0x3F) Field (PCRG, AnyAcc, NoLock, Preserve) { VID, 16, DID, 16 } } Scope (^^GFX0) { OperationRegion (PCRG, PCI_Config, Zero, 0x3F) Field (PCRG, AnyAcc, NoLock, Preserve) { VID, 16, DID, 16 } } OperationRegion (ECAM, EmbeddedControl, Zero, 0xFF) Field (ECAM, ByteAcc, Lock, Preserve) { Offset (0x03), KLEN, 1, KLEX, 1, UCEN, 1, UCEX, 1, SEVP, 1, Offset (0x04), SBOV, 1, SBIL, 1, SBPF, 1, , 2, SBBD, 1, Offset (0x05), Offset (0x06), ERPM, 8, BTOV, 1, BTIL, 1, BTPF, 1, BTSG, 1, LEDF, 1, MBBD, 1, LVAT, 1, FCGM, 1, ACBL, 8, DCBL, 8, EDCC, 1, ALSC, 1, CDMB, 1, CCSB, 1, BTSM, 1, BTCM, 1, LBTM, 1, CSBM, 1, HYMS, 1, HDME, 1, HGMF, 1, SWCS, 1, IPEN, 1, DCRC, 1, CREC, 1, SGCR, 1, ODPO, 1, EODD, 1, ODPK, 1, CMEX, 1, CMON, 1, SODD, 1, ODFB, 1, EODS, 1, RTMP, 8, VTMP, 8, FNCM, 8, PINF, 3, SPST, 1, ATIT, 1, QTMD, 1, SS35, 1, Offset (0x11), BFUC, 2, Offset (0x12), FUSL, 8, FUSH, 8, BMIL, 8, BMIH, 8, HIDL, 8, HIDH, 8, FMVL, 8, FMVH, 8, DAVL, 8, DAVH, 8, KEYP, 1, BRAZ, 1, Offset (0x1D), BFFW, 1 } } Scope (_SB) { Device (LID0) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Return (GP15) /* \GP15 */ } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x1F, 0x03 }) } } Mutex (PSMX, 0x00) Method (OSMI, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) SMID = Arg0 SMIC = 0xB2 Release (PSMX) } Mutex (SSMX, 0x00) Method (SSMI, 2, NotSerialized) { Acquire (SSMX, 0xFFFF) SMID = Arg1 SMIC = Arg0 Local0 = SMID /* \SMID */ Release (SSMX) Return (Local0) } Scope (_SB.PCI0.LPCB.EC0) { Method (REGH, 0, NotSerialized) { If (((WLEX == One) & (WLAT == One))) { GP55 = One } Else { GP55 = Zero } If (((BTEX == One) & (BTAT == One))) { B_ON () } Else { B_OF () } } } Scope (_SB.PCI0.LPCB.EC0) { Method (LVCK, 0, NotSerialized) { Return (0x38) } Method (AITL, 2, NotSerialized) { Local0 = Arg1 If ((Zero == APSD)) { APSD = One If ((Arg0 == 0x10)) { OSMI (0x8A) Return (0xF0) } If ((Arg0 == 0x11)) { OSMI (0x8B) Return (0xF0) } If ((Arg0 == 0x12)) { OSMI (0x8C) Return (0xF0) } If ((Arg0 == 0x13)) { OSMI (0x8D) Return (0xF0) } } Else { Return (0xFE) } Return (0xFF) } } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) If (SS1) { Name (_S1, Package (0x04) // _S1_: S1 System State { One, Zero, Zero, Zero }) } If (SS3) { Name (_S3, Package (0x04) // _S3_: S3 System State { 0x05, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) // _S4_: S4 System State { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) // _S5_: S5 System State { 0x07, Zero, Zero, Zero }) Scope (\_SB) { OperationRegion (MAIO, SystemIO, 0xFD61, 0x03) Field (MAIO, ByteAcc, NoLock, Preserve) { MAIN, 16, MADT, 8 } Method (AMBX, 3, Serialized) { If ((Arg0 == Zero)) { MAIN = Arg1 Local2 = MADT /* \_SB_.MADT */ Return (Local2) } Else { MAIN = Arg1 MADT = Arg2 Local2 = Zero Return (Local2) } } Device (PTID) { Name (_HID, EisaId ("INT340E") /* Motherboard Resources */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _CID: Compatible ID Name (IVER, 0x00030000) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (TSDL, Package (0x0A) { Zero, "CPU Core 0 DTS", Zero, "CPU Core 1 DTS", Zero, "CPU Core 2 DTS", Zero, "CPU Core 3 DTS", Zero, "CPU Core Package DTS" }) Name (TMPV, Package (0x02) { Zero, Zero }) Name (PSDL, Package (0x04) { Zero, "Power 0", Zero, "Power 1" }) Name (PWRV, Package (0x02) { Zero, Zero }) Name (OSDL, Package (0x06) { 0x04, "Fan RPM", "RPM", 0x0C, "Battery Capacity", "mAh" }) Name (OSDV, Package (0x02) { Zero, Zero }) Method (TSDD, 0, NotSerialized) { Index (TMPV, Zero) = ((DTS1 * 0x0A) + 0x0AAC) Index (TMPV, One) = ((DTS2 * 0x0A) + 0x0AAC) Index (TMPV, 0x02) = ((DTS3 * 0x0A) + 0x0AAC) Index (TMPV, 0x03) = ((DTS4 * 0x0A) + 0x0AAC) Index (TMPV, 0x04) = ((PDTS * 0x0A) + 0x0AAC) Return (TMPV) /* \_SB_.PTID.TMPV */ } Method (PSDD, 0, NotSerialized) { Return (PWRV) /* \_SB_.PTID.PWRV */ } Method (OSDD, 0, NotSerialized) { Return (OSDV) /* \_SB_.PTID.OSDV */ } Method (SDSP, 0, NotSerialized) { Return (0x0A) } Name (PADA, Package (0x0A) { One, Ones, Ones, 0x1A, Ones, Ones, Ones, Ones, Ones, Ones }) Name (PADD, Package (0x0A) { 0x02, 0x6C, 0x68, 0x1A, 0x62, 0x63, 0x60, 0x61, 0x65, 0x64 }) Method (PADT, 0, NotSerialized) { If (PAMT) { Return (PADA) /* \_SB_.PTID.PADA */ } Return (PADD) /* \_SB_.PTID.PADD */ } Method (RPMD, 0, NotSerialized) { Name (MTMP, Buffer (0x1A) {}) Debug = "RPMD" Local0 = AMBX (Zero, 0x8AFB, Zero) Debug = Local0 Index (MTMP, 0x05) = AMBX (Zero, 0x8BFB, Zero) Index (MTMP, 0x06) = AMBX (Zero, 0x8CFB, Zero) Index (MTMP, 0x07) = AMBX (Zero, 0x8DFB, Zero) Index (MTMP, 0x08) = AMBX (Zero, 0x8EFB, Zero) Index (MTMP, 0x09) = AMBX (Zero, 0x8FFB, Zero) Index (MTMP, 0x0A) = AMBX (Zero, 0x90FB, Zero) Index (MTMP, 0x0B) = AMBX (Zero, 0x91FB, Zero) Index (MTMP, 0x0C) = AMBX (Zero, 0x92FB, Zero) Index (MTMP, 0x0D) = AMBX (Zero, 0x93FB, Zero) Index (MTMP, 0x0E) = AMBX (Zero, 0x94FB, Zero) Index (MTMP, 0x0F) = AMBX (Zero, 0x95FB, Zero) Index (MTMP, 0x10) = AMBX (Zero, 0x96FB, Zero) Index (MTMP, 0x11) = AMBX (Zero, 0x97FB, Zero) Index (MTMP, 0x12) = AMBX (Zero, 0x98FB, Zero) Index (MTMP, 0x13) = AMBX (Zero, 0x99FB, Zero) Index (MTMP, 0x14) = AMBX (Zero, 0x9AFB, Zero) Index (MTMP, 0x15) = AMBX (Zero, 0x9BFB, Zero) Index (MTMP, 0x16) = AMBX (Zero, 0x9CFB, Zero) Index (MTMP, 0x17) = AMBX (Zero, 0x9DFB, Zero) Index (MTMP, 0x18) = AMBX (Zero, 0x9EFB, Zero) Index (MTMP, 0x19) = AMBX (Zero, 0x9FFB, Zero) Index (MTMP, Zero) = AMBX (Zero, 0x86FB, Zero) Index (MTMP, One) = AMBX (Zero, 0x87FB, Zero) Index (MTMP, 0x02) = AMBX (Zero, 0x88FB, Zero) Index (MTMP, 0x03) = AMBX (Zero, 0x89FB, Zero) Debug = MTMP /* \_SB_.PTID.RPMD.MTMP */ Return (MTMP) /* \_SB_.PTID.RPMD.MTMP */ } Method (WPMD, 1, NotSerialized) { If ((SizeOf (Arg0) != 0x1A)) { Debug = SizeOf (Arg0) Debug = Arg0 Return (Ones) } Debug = "WPMD" Debug = Arg0 AMBX (One, 0x8AFB, DerefOf (Index (Arg0, 0x04))) AMBX (One, 0x8BFB, DerefOf (Index (Arg0, 0x05))) AMBX (One, 0x8CFB, DerefOf (Index (Arg0, 0x06))) AMBX (One, 0x8DFB, DerefOf (Index (Arg0, 0x07))) AMBX (One, 0x8EFB, DerefOf (Index (Arg0, 0x08))) AMBX (One, 0x8FFB, DerefOf (Index (Arg0, 0x09))) AMBX (One, 0x90FB, DerefOf (Index (Arg0, 0x0A))) AMBX (One, 0x91FB, DerefOf (Index (Arg0, 0x0B))) AMBX (One, 0x92FB, DerefOf (Index (Arg0, 0x0C))) AMBX (One, 0x93FB, DerefOf (Index (Arg0, 0x0D))) AMBX (One, 0x94FB, DerefOf (Index (Arg0, 0x0E))) AMBX (One, 0x95FB, DerefOf (Index (Arg0, 0x0F))) AMBX (One, 0x96FB, DerefOf (Index (Arg0, 0x10))) AMBX (One, 0x97FB, DerefOf (Index (Arg0, 0x11))) AMBX (One, 0x98FB, DerefOf (Index (Arg0, 0x12))) AMBX (One, 0x99FB, DerefOf (Index (Arg0, 0x13))) AMBX (One, 0x9AFB, DerefOf (Index (Arg0, 0x14))) AMBX (One, 0x9BFB, DerefOf (Index (Arg0, 0x15))) AMBX (One, 0x9CFB, DerefOf (Index (Arg0, 0x16))) AMBX (One, 0x9DFB, DerefOf (Index (Arg0, 0x17))) AMBX (One, 0x9EFB, DerefOf (Index (Arg0, 0x18))) AMBX (One, 0x9FFB, DerefOf (Index (Arg0, 0x19))) AMBX (One, 0x86FB, DerefOf (Index (Arg0, Zero))) AMBX (One, 0x87FB, DerefOf (Index (Arg0, One))) AMBX (One, 0x88FB, DerefOf (Index (Arg0, 0x02))) AMBX (One, 0x89FB, DerefOf (Index (Arg0, 0x03))) Return (Zero) } Method (ISPC, 0, NotSerialized) { Debug = "ISPC" AMBX (One, 0x10FF, 0x60) Local0 = AMBX (Zero, 0x10FF, Zero) While (Local0) { Local0 = AMBX (Zero, 0x10FF, Zero) } Return (Zero) } Method (ENPC, 0, NotSerialized) { AMBX (One, 0x10FF, 0x61) Local0 = AMBX (Zero, 0x10FF, Zero) While (Local0) { Local0 = AMBX (Zero, 0x10FF, Zero) } Return (Zero) } Method (RPCS, 0, NotSerialized) { Debug = "RPCS" AMBX (One, 0x10FF, 0x65) Local0 = AMBX (Zero, 0x10FF, Zero) While (Local0) { Local0 = AMBX (Zero, 0x10FF, Zero) } Local0 = AMBX (Zero, 0x80FB, Zero) Debug = Local0 Return (Local0) } Method (RPEC, 0, NotSerialized) { Local0 = Zero AMBX (One, 0x10FF, 0x64) Local0 = AMBX (Zero, 0x10FF, Zero) While (Local0) { Local0 = AMBX (Zero, 0x10FF, Zero) } Local1 = AMBX (Zero, 0x82FB, Zero) Local0 |= Local1 Local1 = AMBX (Zero, 0x83FB, Zero) Local0 |= (Local1 << 0x08) Local1 = AMBX (Zero, 0x84FB, Zero) Local0 |= (Local1 << 0x10) Local1 = AMBX (Zero, 0x85FB, Zero) Local0 |= (Local1 << 0x18) Return (Local0) } } } Scope (\_PR.CPU0) { Name (_PPC, Zero) // _PPC: Performance Present Capabilities Method (_PCT, 0, NotSerialized) // _PCT: Performance Control { \_PR.CPU0._PPC = \_PR.CPPC If (((CFGD & One) && (PDC0 & One))) { 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 ,) } }) } 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) { If ((PDC0 & One)) { Return (NPSS) /* External reference */ } Return (SPSS) /* \_PR_.CPU0.SPSS */ } Name (SPSS, Package (0x10) { Package (0x06) { 0x000008FC, 0x000088B8, 0x0000006E, 0x0000000A, 0x00000083, 0x00000000 }, Package (0x06) { 0x00000898, 0x00008068, 0x0000006E, 0x0000000A, 0x00000183, 0x00000001 }, Package (0x06) { 0x00000834, 0x00007997, 0x0000006E, 0x0000000A, 0x00000283, 0x00000002 }, Package (0x06) { 0x000007D0, 0x00007197, 0x0000006E, 0x0000000A, 0x00000383, 0x00000003 }, Package (0x06) { 0x0000076C, 0x00006B0E, 0x0000006E, 0x0000000A, 0x00000483, 0x00000004 }, Package (0x06) { 0x00000708, 0x000064A6, 0x0000006E, 0x0000000A, 0x00000583, 0x00000005 }, Package (0x06) { 0x000006A4, 0x00005D1D, 0x0000006E, 0x0000000A, 0x00000683, 0x00000006 }, Package (0x06) { 0x00000640, 0x000056F9, 0x0000006E, 0x0000000A, 0x00000783, 0x00000007 }, Package (0x06) { 0x000005DC, 0x000050F6, 0x0000006E, 0x0000000A, 0x00000883, 0x00000008 }, Package (0x06) { 0x00000578, 0x000049D8, 0x0000006E, 0x0000000A, 0x00000983, 0x00000009 }, Package (0x06) { 0x00000514, 0x00004418, 0x0000006E, 0x0000000A, 0x00000A83, 0x0000000A }, Package (0x06) { 0x000004B0, 0x00003E7C, 0x0000006E, 0x0000000A, 0x00000B83, 0x0000000B }, Package (0x06) { 0x0000044C, 0x000037CA, 0x0000006E, 0x0000000A, 0x00000C83, 0x0000000C }, Package (0x06) { 0x000003E8, 0x0000326B, 0x0000006E, 0x0000000A, 0x00000D83, 0x0000000D }, Package (0x06) { 0x00000384, 0x00002D2B, 0x0000006E, 0x0000000A, 0x00000E83, 0x0000000E }, Package (0x06) { 0x00000320, 0x000026E4, 0x0000006E, 0x0000000A, 0x00000F83, 0x0000000F } }) 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 (0x10) // _PSS: Performance Supported States { Package (0x06) { 0x000008FC, 0x000088B8, 0x0000000A, 0x0000000A, 0x00001700, 0x00001700 }, Package (0x06) { 0x00000898, 0x00008068, 0x0000000A, 0x0000000A, 0x00001600, 0x00001600 }, Package (0x06) { 0x00000834, 0x00007997, 0x0000000A, 0x0000000A, 0x00001500, 0x00001500 }, Package (0x06) { 0x000007D0, 0x00007197, 0x0000000A, 0x0000000A, 0x00001400, 0x00001400 }, Package (0x06) { 0x0000076C, 0x00006B0E, 0x0000000A, 0x0000000A, 0x00001300, 0x00001300 }, Package (0x06) { 0x00000708, 0x000064A6, 0x0000000A, 0x0000000A, 0x00001200, 0x00001200 }, Package (0x06) { 0x000006A4, 0x00005D1D, 0x0000000A, 0x0000000A, 0x00001100, 0x00001100 }, Package (0x06) { 0x00000640, 0x000056F9, 0x0000000A, 0x0000000A, 0x00001000, 0x00001000 }, Package (0x06) { 0x000005DC, 0x000050F6, 0x0000000A, 0x0000000A, 0x00000F00, 0x00000F00 }, Package (0x06) { 0x00000578, 0x000049D8, 0x0000000A, 0x0000000A, 0x00000E00, 0x00000E00 }, Package (0x06) { 0x00000514, 0x00004418, 0x0000000A, 0x0000000A, 0x00000D00, 0x00000D00 }, Package (0x06) { 0x000004B0, 0x00003E7C, 0x0000000A, 0x0000000A, 0x00000C00, 0x00000C00 }, Package (0x06) { 0x0000044C, 0x000037CA, 0x0000000A, 0x0000000A, 0x00000B00, 0x00000B00 }, Package (0x06) { 0x000003E8, 0x0000326B, 0x0000000A, 0x0000000A, 0x00000A00, 0x00000A00 }, Package (0x06) { 0x00000384, 0x00002D2B, 0x0000000A, 0x0000000A, 0x00000900, 0x00000900 }, 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 { If (!PSDF) { Index (DerefOf (Index (HPSD, Zero)), 0x04) = TCNT /* \TCNT */ Index (DerefOf (Index (SPSD, Zero)), 0x04) = TCNT /* \TCNT */ PSDF = Ones } If ((PDC0 & 0x0800)) { Return (HPSD) /* \_PR_.CPU0.HPSD */ } 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 ", 0xC83BE018, 0x000009AA, "APIST ", 0xCAE18A98, 0x00000303, "CPU0CST ", 0xCAE17018, 0x0000083B, "APCST ", 0xCAE16D98, 0x00000119 }) Name (CFGD, 0x0066F67F) 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) { OperationRegion (PPMT, SystemMemory, 0xCAFBCF18, 0x0029) Field (PPMT, AnyAcc, Lock, Preserve) { PGRV, 8, Offset (0x06), ACRT, 8, APSV, 8, AAC0, 8, CPID, 32, CPPC, 8, CCTP, 8, CLVL, 8, CBMI, 8, PL10, 16, PL20, 16, PLW0, 8, CTC0, 8, TAR0, 8, PPC0, 8, PL11, 16, PL21, 16, PLW1, 8, CTC1, 8, TAR1, 8, PPC1, 8, PL12, 16, PL22, 16, PLW2, 8, CTC2, 8, TAR2, 8, PPC2, 8 } } Scope (\_PR.CPU0) { Name (HI0, Zero) Name (HC0, Zero) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { \_PR.CPU0._PPC = CPPC /* \_PR_.CPPC */ Local0 = CPDC (Arg0) GCAP (Local0) Return (Local0) } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) Return (Local0) } Method (CPDC, 1, NotSerialized) { 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) Return (COSC (ToUUID ("4077a616-290c-47be-9ebd-d87058713953"), REVS, SIZE, Local2)) } Method (COSC, 4, NotSerialized) { CreateDWordField (Arg3, Zero, STS0) CreateDWordField (Arg3, 0x04, CAP0) CreateDWordField (Arg0, Zero, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, 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 Return (Arg3) } If ((Arg1 != One)) { STS0 = 0x0A Return (Arg3) } Return (Arg3) } Method (GCAP, 1, NotSerialized) { CreateDWordField (Arg0, Zero, STS0) CreateDWordField (Arg0, 0x04, CAP0) If (((STS0 == 0x06) || (STS0 == 0x0A))) { Return (Zero) } If ((STS0 & One)) { CAP0 &= 0x0BFF 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_ */ } } 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 (((PDC1 & 0x09) == 0x09)) { APPT () } If ((PDC1 & 0x18)) { APCT () } PDC0 = PDC1 /* \PDC1 */ 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 () } PDC0 = PDC2 /* \PDC2 */ 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 () } PDC0 = PDC3 /* \PDC3 */ 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 () } PDC0 = PDC4 /* \PDC4 */ 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 () } PDC0 = PDC5 /* \PDC5 */ 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 () } PDC0 = PDC6 /* \PDC6 */ 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 () } PDC0 = PDC7 /* \PDC7 */ Return (Zero) } } }