/* RSD PTR: OEM=LENOVO, ACPI_Rev=2.0x (2) XSDT=0x00000000aaffe210, length=36, cksum=65 */ /* XSDT: Length=164, Revision=1, Checksum=87, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=, Creator Revision=0x1000013 Entries={ 0x00000000aaffa000, 0x00000000aaffd000, 0x00000000aaffc000, 0x00000000aaffb000, 0x00000000aaff9000, 0x00000000aaff8000, 0x00000000aaff7000, 0x00000000aafec000, 0x00000000aafea000, 0x00000000aafe8000, 0x00000000aafe6000, 0x00000000aafe5000, 0x00000000aafe3000, 0x00000000aafe2000, 0x00000000aafe1000, 0x00000000aafe0000 } */ /* FACP: Length=268, Revision=5, Checksum=56, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 FACS=0xaafbb000, DSDT=0xaafed000 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,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON} RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xfb */ /* FACS: Length=64, HwSig=0x1af650c9, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=2 */ /* DSDT: Length=39944, Revision=1, Checksum=135, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* SLIC: Length=374, Revision=1, Checksum=56, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* UEFI: Length=566, Revision=1, Checksum=2, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* ASF!: Length=165, Revision=32, Checksum=101, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* HPET: Length=56, Revision=1, Checksum=40, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, 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 Flags=0x00 */ /* APIC: Length=140, Revision=3, Checksum=140, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, 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=0, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 Base Address=0x00000000f0000000 Segment Group=0x0000 Start Bus=0 End Bus=63 */ /* WDAT: Length=548, Revision=1, Checksum=80, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* SSDT: Length=4200, Revision=1, Checksum=34, OEMID=INSYDE, OEM Table ID=CR CRB, OEM Revision=0x1000, Creator ID=ACPI, Creator Revision=0x40000 */ /* BOOT: Length=40, Revision=1, Checksum=232, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* ASPT: Length=52, Revision=7, Checksum=22, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* DBGP: Length=52, Revision=1, Checksum=42, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* FPDT: Length=68, Revision=1, Checksum=85, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* MSDM: Length=85, Revision=3, Checksum=254, OEMID=LENOVO, OEM Table ID=CB-01, OEM Revision=0x10, Creator ID=ACPI, Creator Revision=0x40000 */ /* SSDT: Length=2276, Revision=1, Checksum=90, OEMID=INSYDE, OEM Table ID=CR CRB, OEM Revision=0x3000, Creator ID=ACPI, Creator Revision=0x40000 */ /* SSDT: Length=2850, Revision=1, Checksum=244, OEMID=INSYDE, OEM Table ID=CR CRB, OEM Revision=0x3000, Creator ID=ACPI, Creator Revision=0x40000 */ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20190703 (64-bit version) * Copyright (c) 2000 - 2019 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of /tmp/acpidump.w2CCBj/acpdump.din, Mon Oct 21 11:35:05 2019 * * Original Table Header: * Signature "DSDT" * Length 0x0000C00A (49162) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support * Checksum 0xBA * OEM ID "LENOVO" * OEM Table ID "CB-01 " * OEM Revision 0x00000010 (16) * Compiler ID "ACPI" * Compiler Version 0x00040000 (262144) */ DefinitionBlock ("", "DSDT", 1, "LENOVO", "CB-01 ", 0x00000010) { /* * iASL Warning: There were 4 external control methods found during * disassembly, but only 0 were resolved (4 unresolved). Additional * ACPI tables may be required to properly disassemble the code. This * resulting disassembler output file may not compile because the * disassembler did not know how many arguments to assign to the * unresolved methods. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * * To specify the tables needed to resolve external control method * references, the -e option can be used to specify the filenames. * 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 (_SB_.PCI0.IEIT.EITV, MethodObj) // Warning: Unknown method, guessing 0 arguments External (_SB_.PCI0.LPCB.H_EC.AMBT, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.CFSP, IntObj) External (_SB_.PCI0.LPCB.H_EC.CPAP, IntObj) External (_SB_.PCI0.LPCB.H_EC.CPUE, IntObj) External (_SB_.PCI0.LPCB.H_EC.CPUP, IntObj) External (_SB_.PCI0.LPCB.H_EC.CVRT, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.DIM0, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.DIM1, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.FANT, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.GTVR, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.MCAP, IntObj) External (_SB_.PCI0.LPCB.H_EC.MCHP, IntObj) External (_SB_.PCI0.LPCB.H_EC.MCRT, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.PCAD, IntObj) External (_SB_.PCI0.LPCB.H_EC.PDT0, IntObj) External (_SB_.PCI0.LPCB.H_EC.PDT1, IntObj) External (_SB_.PCI0.LPCB.H_EC.PDT2, IntObj) External (_SB_.PCI0.LPCB.H_EC.PDT3, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEC0, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEC1, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEC2, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEC3, IntObj) External (_SB_.PCI0.LPCB.H_EC.PECC, IntObj) External (_SB_.PCI0.LPCB.H_EC.PECD, IntObj) External (_SB_.PCI0.LPCB.H_EC.PECH, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.PECI, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEHI, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEPL, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEPM, IntObj) External (_SB_.PCI0.LPCB.H_EC.PEWL, IntObj) External (_SB_.PCI0.LPCB.H_EC.PMAX, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.PMDT, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.PPDT, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.PRC0, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRC1, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRCL, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRCM, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRCS, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRFC, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRIN, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRS0, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRS1, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRS2, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRS3, IntObj) External (_SB_.PCI0.LPCB.H_EC.PRS4, IntObj) External (_SB_.PCI0.LPCB.H_EC.PSTE, IntObj) External (_SB_.PCI0.LPCB.H_EC.PWFC, IntObj) External (_SB_.PCI0.LPCB.H_EC.PWRL, IntObj) External (_SB_.PCI0.LPCB.H_EC.SKNT, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.SYAP, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.SYSP, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.TSD0, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.TSD1, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.TSD2, UnknownObj) External (_SB_.PCI0.LPCB.H_EC.TSD3, UnknownObj) External (_TZ_.TZ00._TMP, IntObj) External (_TZ_.TZ01._TMP, IntObj) External (HDOS, MethodObj) // Warning: Unknown method, guessing 0 arguments External (HNOT, MethodObj) // Warning: Unknown method, guessing 1 arguments External (HWID, IntObj) External (NPSS, IntObj) External (TNOT, MethodObj) // Warning: Unknown method, guessing 0 arguments 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 (TTTB, 0xFED20000) Name (TTTL, 0x00020000) 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 (SUSW, 0xFF) Name (HPTB, 0xFED00000) Name (HPTC, 0xFED1F404) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (ITKE, Zero) Name (DSSP, Zero) Name (FHPP, Zero) 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 (BLR, 0x18) Name (BLH, 0x19) Name (BCH, 0x16) 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, 0xAAFBDC98, 0x00000204) 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, VFN5, 8, VFN6, 8, VFN7, 8, VFN8, 8, VFN9, 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 (0x1CB), PSKE, 8, PSME, 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, TBEP, 8 } OperationRegion (OGNS, SystemMemory, 0xAAFBCF98, 0x00000014) 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, OWMI, 64 } 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, DenseTranslation) 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, DenseTranslation) 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)) } ElseIf (_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 } Mutex (\MUEC, 0x00) Name (\LIDF, One) Name (\BWRN, 0x0A) Name (\BLOW, 0x05) Name (\BCRT, Zero) Name (\MIEC, One) Name (\OSVR, Zero) Method (MCTH, 2, NotSerialized) { If ((SizeOf (Arg0) < SizeOf (Arg1))) { Return (Zero) } Local0 = (SizeOf (Arg0) + One) Name (BUF0, Buffer (Local0){}) Name (BUF1, Buffer (Local0){}) BUF0 = Arg0 BUF1 = Arg1 While (Local0) { Local0-- If ((DerefOf (BUF0 [Local0]) != DerefOf (BUF1 [Local0] ))) { Return (Zero) } } Return (One) } Scope (\) { OperationRegion (ECMS, SystemIO, 0x72, 0x02) Field (ECMS, ByteAcc, Lock, Preserve) { EIND, 8, EDAT, 8 } IndexField (EIND, EDAT, ByteAcc, NoLock, Preserve) { } } Device (H_EC) { Name (_GPE, 0x17) // _GPE: General Purpose Events Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x03)) { ECON = Arg1 IPPC = \_PR.CPPC If ((Arg1 == One)) { If (((LSTE && One) == Zero)) { LIDS = One } Else { LIDS = Zero } } PWRS = ACS /* \_SB_.PCI0.LPCB.H_EC.ACS_ */ Sleep (One) PNOT () } If (CondRefOf (\_OSI, Local0)) { If (_OSI ("FreeBSD")) { OSVR = 0x06 } If (_OSI ("HP-UX")) { OSVR = 0x07 } If (_OSI ("OpenVMS")) { OSVR = 0x08 } If (_OSI ("Windows 2001")) { OSVR = 0x04 } If (_OSI ("Windows 2001 SP2")) { OSVR = 0x04 } If (_OSI ("Windows 2001 SP3")) { OSVR = 0x04 } If (_OSI ("Windows 2001.1")) { OSVR = 0x05 } If (_OSI ("Windows 2001.1 SP1")) { OSVR = 0x05 } If (_OSI ("Windows 2006")) { OSVR = 0x0C } If (_OSI ("Windows 2006 SP1")) { OSVR = 0x0D } If (_OSI ("Windows 2006.1")) { OSVR = 0x11 } If (_OSI ("Windows 2009")) { OSVR = 0x0E } If (_OSI ("Windows 2009 SP1")) { OSVR = 0x0E } If (_OSI ("Windows 2012")) { OSVR = 0x10 } If (_OSI ("Linux")) { OSVR = 0x03 } } Else { If (MCTH (_OS, "Microsoft Windows NT")) { OSVR = 0x0F } If (MCTH (_OS, "Microsoft Windows")) { OSVR = One } If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { OSVR = 0x02 } If (MCTH (_OS, "FreeBSD")) { OSVR = 0x06 } If (MCTH (_OS, "HP-UX")) { OSVR = 0x07 } If (MCTH (_OS, "OpenVMS")) { OSVR = 0x08 } If (MCTH (_OS, "Linux")) { OSVR = 0x03 } } OSVN = OSVR /* \OSVR */ } Method (ECAV, 0, NotSerialized) { If ((ECON == One)) { Return (One) } Else { Return (Zero) } } OperationRegion (ECRM, EmbeddedControl, Zero, 0xFF) Field (ECRM, ByteAcc, NoLock, Preserve) { VCMD, 8, VDAT, 8, VSTA, 8, Offset (0x06), BSNV, 8, Offset (0x08), BCST, 8, BCSP, 8, Offset (0x1E), BTP1, 16, B1RD, 1, B1FU, 1, B1LO, 1, B1CL, 1, , 2, B1TW, 1, B1NG, 1, B1PC, 8, B1ST, 16, B1FC, 16, B1RM, 16, B1TP, 16, B1VT, 16, B1CR, 16, B1FG, 16, Offset (0x38), , 1, BTPF, 1, Offset (0x3B), CUBL, 8, B1SS, 8, Offset (0x3E), IPPC, 8, Offset (0x40), Offset (0x41), BTEX, 1, W3GE, 1, WLEX, 1, CMEX, 1, , 1, APFG, 1, PCBP, 1, PTED, 1, OSVN, 8, Offset (0x44), Offset (0x45), , 1, , 1, , 1, Offset (0x46), Offset (0x47), Offset (0x48), ACS, 1, BT1S, 1, BT2S, 1, Offset (0x49), EDCC, 1, ALSC, 1, CDMB, 1, CCSB, 1, BTSM, 1, BTCM, 1, LBTM, 1, CSBM, 1, HYMS, 1, HDME, 1, HGMF, 1, SWCS, 1, CREC, 1, DCRC, 1, ALSS, 1, Offset (0x4B), IPEN, 1, MBBD, 1, SBBD, 1, Offset (0x4C), EDCF, 1, BTCF, 1, HSMG, 1, O72H, 1, BLEG, 1, BTMF, 1, ATOM, 1, Offset (0x4D), Offset (0x4E), LSTE, 1, Offset (0x4F), SLPT, 8, ECMD, 8, EDA1, 8, EDA2, 8, EDA3, 8, EDA4, 8, EDA5, 8, Offset (0x5D), BFUE, 8, Offset (0x60), SPTC, 8, SSTS, 8, SADR, 8, SCMD, 8, SDAT, 16, SDA2, 16, SDA4, 32, SDA5, 32, SDA6, 32, SDA7, 32, SDA8, 32, SDA9, 32, SDAA, 32, SBCT, 8, SALA, 8, SAD0, 8, SAD1, 8, FNCM, 8, FN0S, 16, FN1S, 16, FN2S, 16, CPUT, 8, GPUT, 8, PCHT, 8, DRMT, 8, SYST, 8, CLOW, 8, CMID, 8, CHIH, 8, GLOW, 8, GMID, 8, GHIH, 8, PLOW, 8, PMID, 8, PHIH, 8, DLOW, 8, DMID, 8, DHIH, 8, SLOW, 8, SMID, 8, SHIH, 8, Offset (0xE0), DBG1, 8, DBG2, 8 } Device (BAT1) { Name (BTDC, 0x098A) Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (_SB) /* \_SB_ */ } Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = 0x0F If (ECAV ()) { If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (BT1S) { Local0 = 0x1F } Sleep (One) } Release (MUEC) } } Return (Local0) } Name (BIF1, Package (0x0D) { Zero, Ones, Ones, One, 0x2A30, Ones, Ones, 0x10, 0x20, "OEM Battery 1", "000000", "LiIon ", "SMP " }) Method (_BIF, 0, NotSerialized) // _BIF: Battery Information { If (ECAV ()) { HSMG = One If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (B1RD) { BIF1 [0x02] = (B1FC * 0x0A) Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */ Local0 *= BWRN /* \BWRN */ Divide (Local0, 0x64, Local1, Local2) BIF1 [0x05] = (Local2 * 0x0A) Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */ Local0 *= BLOW /* \BLOW */ Divide (Local0, 0x64, Local1, Local2) BIF1 [0x06] = (Local2 * 0x0A) SSTS = Zero SCMD = 0x21 SADR = 0x16 SPTC = 0x0B Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIF1 [0x09] = SM2S () Local0 = Zero } Else { Local0-- } } SSTS = Zero SCMD = 0x20 SADR = 0x16 SPTC = 0x0B Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIF1 [0x0C] = SM2S () Local0 = Zero } Else { Local0-- } } SSTS = Zero SCMD = 0x1C SADR = 0x16 SPTC = 0x09 Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIF1 [0x0A] = DC2S (SDAT) Local0 = Zero } Else { Local0-- } } SSTS = Zero SCMD = 0x18 SADR = 0x16 SPTC = 0x09 Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIF1 [One] = (SDAT * 0x0A) BTDC = (SDAT * 0x0A) Local0 = Zero } Else { Local0-- } } } } Release (MUEC) } HSMG = Zero } Return (BIF1) /* \_SB_.PCI0.LPCB.H_EC.BAT1.BIF1 */ } Name (BIX1, Package (0x14) { Zero, Zero, Ones, Ones, One, 0x2A30, Ones, Ones, 0x10, 0x20, Ones, 0x00017700, 0xEA60, 0x1388, 0x07D0, 0x01F4, "OEM Battery 1", "000000", "LiIon ", "SMP " }) Method (_BIX, 0, NotSerialized) // _BIX: Battery Information Extended { If (ECAV ()) { HSMG = One If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (B1RD) { BIX1 [0x03] = (B1FC * 0x0A) Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */ Local0 *= BWRN /* \BWRN */ Divide (Local0, 0x64, Local1, Local2) BIX1 [0x06] = (Local2 * 0x0A) Local0 = B1FC /* \_SB_.PCI0.LPCB.H_EC.B1FC */ Local0 *= BLOW /* \BLOW */ Divide (Local0, 0x64, Local1, Local2) BIX1 [0x07] = (Local2 * 0x0A) SSTS = Zero SCMD = 0x21 SADR = 0x16 SPTC = 0x0B Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIX1 [0x10] = SM2S () Local0 = Zero } Else { Local0-- } } SSTS = Zero SCMD = 0x20 SADR = 0x16 SPTC = 0x0B Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIX1 [0x13] = SM2S () Local0 = Zero } Else { Local0-- } } SSTS = Zero SCMD = 0x1C SADR = 0x16 SPTC = 0x09 Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIX1 [0x11] = DC2S (SDAT) Local0 = Zero } Else { Local0-- } } SSTS = Zero SCMD = 0x18 SADR = 0x16 SPTC = 0x09 Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIX1 [0x02] = (SDAT * 0x0A) BTDC = (SDAT * 0x0A) Local0 = Zero } Else { Local0-- } } SSTS = Zero SCMD = 0x17 SADR = 0x16 SPTC = 0x09 Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { BIX1 [0x0A] = SDAT /* \_SB_.PCI0.LPCB.H_EC.SDAT */ Local0 = Zero } Else { Local0-- } } } } Release (MUEC) } HSMG = Zero } Return (BIX1) /* \_SB_.PCI0.LPCB.H_EC.BAT1.BIX1 */ } Method (_DSM, 3, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("4c2067e3-887d-475c-9720-4af1d3ed602e") /* Battery Thermal Limit */)) { If ((Arg2 == One)) { Return (0x64) } If ((Arg2 == 0x02)) { Return (One) } If ((Arg2 == 0x03)) { Return (0x20) } } } Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point { If (ECAV ()) { If ((Acquire (MUEC, 0xA000) == Zero)) { BTP1 = (Arg0 / 0x0A) } } } Name (BST1, Package (0x04) { Zero, Zero, Zero, Zero }) Method (_BST, 0, NotSerialized) // _BST: Battery Status { If (ECAV ()) { If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (B1RD) { Local0 = (B1SS & 0x03) If ((B1PC <= BCRT)) { Local0 |= 0x04 } BST1 [Zero] = Local0 If (((B1CR & 0x8000) == 0x8000)) { Local0 = (~B1CR + One) } Else { Local0 = B1CR /* \_SB_.PCI0.LPCB.H_EC.B1CR */ } Local0 &= 0xFFFF BST1 [One] = (Local0 * 0x0A) BST1 [0x02] = (B1RM * 0x0A) BST1 [0x03] = B1VT /* \_SB_.PCI0.LPCB.H_EC.B1VT */ } } Release (MUEC) } } Return (BST1) /* \_SB_.PCI0.LPCB.H_EC.BAT1.BST1 */ } } Method (\SM2S, 0, NotSerialized) { Name (CHAR, Zero) Name (STR1, Buffer (0x25) { "0000000000 " }) CHAR = \_SB.PCI0.LPCB.H_EC.SDAT STR1 [Zero] = CHAR /* \SM2S.CHAR */ STR1 [One] = (CHAR >> 0x08) CHAR = \_SB.PCI0.LPCB.H_EC.SDA2 STR1 [0x02] = CHAR /* \SM2S.CHAR */ STR1 [0x03] = (CHAR >> 0x08) CHAR = \_SB.PCI0.LPCB.H_EC.SDA4 STR1 [0x04] = (CHAR >> Zero) STR1 [0x05] = (CHAR >> 0x08) STR1 [0x06] = (CHAR >> 0x10) STR1 [0x07] = (CHAR >> 0x18) CHAR = \_SB.PCI0.LPCB.H_EC.SDA5 STR1 [0x08] = (CHAR >> Zero) STR1 [0x09] = (CHAR >> 0x08) STR1 [0x0A] = (CHAR >> 0x10) STR1 [0x0B] = (CHAR >> 0x18) CHAR = \_SB.PCI0.LPCB.H_EC.SDA6 STR1 [0x0C] = (CHAR >> Zero) STR1 [0x0D] = (CHAR >> 0x08) STR1 [0x0E] = (CHAR >> 0x10) STR1 [0x0F] = (CHAR >> 0x18) CHAR = \_SB.PCI0.LPCB.H_EC.SDA7 STR1 [0x10] = (CHAR >> Zero) STR1 [0x11] = (CHAR >> 0x08) STR1 [0x12] = (CHAR >> 0x10) STR1 [0x13] = (CHAR >> 0x18) CHAR = \_SB.PCI0.LPCB.H_EC.SDA8 STR1 [0x14] = (CHAR >> Zero) STR1 [0x15] = (CHAR >> 0x08) STR1 [0x16] = (CHAR >> 0x10) STR1 [0x17] = (CHAR >> 0x18) CHAR = \_SB.PCI0.LPCB.H_EC.SDA9 STR1 [0x18] = (CHAR >> Zero) STR1 [0x19] = (CHAR >> 0x08) STR1 [0x1A] = (CHAR >> 0x10) STR1 [0x1B] = (CHAR >> 0x18) CHAR = \_SB.PCI0.LPCB.H_EC.SDAA STR1 [0x1C] = (CHAR >> Zero) STR1 [0x1D] = (CHAR >> 0x08) STR1 [0x1E] = (CHAR >> 0x10) STR1 [0x1F] = (CHAR >> 0x18) STR1 [\_SB.PCI0.LPCB.H_EC.SBCT] = Zero Return (STR1) /* \SM2S.STR1 */ } Method (\DC2S, 1, NotSerialized) { Name (STR1, Buffer (0x07) { "000000" }) Local1 = Arg0 Local3 = 0x05 While ((Local1 > Zero)) { Local0 = Zero Divide (Local1, 0x0A, Local0, Local1) Local0 &= 0x0F Local0 |= 0x30 STR1 [Local3] = Local0 Local3-- } STR1 [0x06] = Zero Return (STR1) /* \DC2S.STR1 */ } Method (_Q9F, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { \_PR.CPPC = IPPC /* \_SB_.PCI0.LPCB.H_EC.IPPC */ \_PR.CPU0._PPC = \_PR.CPPC PNOT () } Method (_QA0, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Sleep (0x01F4) PWRS = ACS /* \_SB_.PCI0.LPCB.H_EC.ACS_ */ Notify (AC, 0x80) // Status Change Notify (BAT1, 0x80) // Status Change PNOT () } Method (_QD0, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If (ECON) { If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (((LSTE && One) == Zero)) { LIDF = One LIDS = One } Else { LIDF = Zero LIDS = Zero } } Release (MUEC) } } If (IGDS) { ^^^GFX0.GLID (LIDS) } Notify (LID, 0x80) // Status Change } Method (_QD1, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If (((OSVR == 0x10) || (OSVR == 0x03))) { P8XH (Zero, 0xD1, One) Notify (^^^GFX0.DD02, 0x87) // Device-Specific } } Method (_QD2, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If (((OSVR == 0x10) || (OSVR == 0x03))) { P8XH (Zero, 0xD2, One) Notify (^^^GFX0.DD02, 0x86) // Device-Specific } } Method (_QB1, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Sleep (0x01F4) Notify (BAT1, 0x81) // Information Change Notify (BAT1, 0x80) // Status Change PNOT () } Method (_QB3, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Sleep (0x01F4) Notify (BAT1, 0x80) // Status Change } Method (_QEB, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Notify (SLPB, 0x80) // Status Change } Method (_QE1, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If ((_OSI ("Windows 2006") || _OSI ("Windows 2009"))){} Else { If ((APTG == One)) { If ((ECON == One)) { Notify (VPC0, 0x80) // Status Change } } If ((APTG == Zero)) { ^^^GFX0.GHDS (One) } } } Method (SADC, 1, Serialized) { If (ECAV ()) { If ((Acquire (MUEC, 0xA000) == Zero)) { EDA1 = 0x86 EDA2 = Zero EDA3 = Arg0 ECMD = 0xB6 Local0 = 0x7F While ((Local0 && ECMD)) { Sleep (One) Local0-- } If ((ECMD == Zero)) { Local0 = EDA1 /* \_SB_.PCI0.LPCB.H_EC.EDA1 */ } Else { Local0 = Ones } Release (MUEC) Return (Local0) } } Return (Ones) } } Scope (\_SB) { Device (SLPB) { Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x07, 0x03 }) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x1E, 0x04 }) } Device (LID) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { If (ECON) { If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (((^^PCI0.LPCB.H_EC.LSTE && One) == Zero)) { LIDF = One LIDS = One } Else { LIDF = Zero LIDS = Zero } } Release (MUEC) } } Return (LIDF) /* \LIDF */ } } Device (AC) { Name (_HID, "ACPI0003" /* Power Source Device */) // _HID: Hardware ID Method (_PSR, 0, NotSerialized) // _PSR: Power Source { If (^^PCI0.LPCB.H_EC.ECAV ()) { If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { Local0 = ^^PCI0.LPCB.H_EC.ACS /* \_SB_.PCI0.LPCB.H_EC.ACS_ */ } Release (MUEC) } Return (Local0) } Else { Return (One) } } Method (_PCL, 0, NotSerialized) // _PCL: Power Consumer List { Return (_SB) /* \_SB_ */ } } } Name (APTG, Zero) Name (APEJ, Zero) Name (PSLV, Zero) Name (PSCL, Zero) Scope (H_EC) { Device (VPC0) { Name (_HID, "VPC2004") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_VPC, 0xE20E) Name (VPCD, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_CFG, 0, NotSerialized) { Local0 = _VPC /* \_SB_.PCI0.LPCB.H_EC.VPC0._VPC */ Local0 &= 0xFFFF Local1 = Zero Local0 |= 0xE000 Local0 |= 0x0100 If (ECAV ()) { If ((BTEX == One)) { Local1 |= One } Else { Local1 &= 0xFE } If ((WLEX == One)) { Local1 |= 0x04 } Else { Local1 &= 0xFB } If ((CMEX == One)) { Local1 |= 0x08 } Else { Local1 &= 0xF7 } } Local1 &= 0x8F Local1 |= 0x70 Local1 *= 0x00010000 Local0 += Local1 _VPC = Local0 APFG = One Return (_VPC) /* \_SB_.PCI0.LPCB.H_EC.VPC0._VPC */ } Method (VPCR, 1, Serialized) { If ((Arg0 == One)) { VPCD = VCMD /* \_SB_.PCI0.LPCB.H_EC.VCMD */ } Else { VPCD = VDAT /* \_SB_.PCI0.LPCB.H_EC.VDAT */ } Return (VPCD) /* \_SB_.PCI0.LPCB.H_EC.VPC0.VPCD */ } Method (VPCW, 2, Serialized) { If ((Arg0 == One)) { VCMD = Arg1 } Else { VDAT = Arg1 } Return (Zero) } Method (APPC, 1, Serialized) { APTG = Arg0 APEJ = Arg0 If ((APTG == One)) { APFG = One } Else { APFG = Zero } Return (Zero) } Method (DBSL, 0, NotSerialized) { If ((OSVR == 0x10)) { Return (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 }) } ElseIf ((OSVR == 0x03)) { Return (Package (0x0B) { 0x64, 0x5A, 0x50, 0x46, 0x3C, 0x32, 0x28, 0x1E, 0x14, 0x0A, 0x05 }) } Else { Return (Package (0x10) { 0x64, 0x5A, 0x50, 0x46, 0x3C, 0x32, 0x28, 0x23, 0x1E, 0x19, 0x14, 0x11, 0x0F, 0x0A, 0x05, 0x02 }) } } Method (SBSL, 1, Serialized) { Local0 = Arg0 If ((Local0 == One)) { BSNV = 0x05 } If ((Local0 == 0x02)) { BSNV = 0x08 } Return (Zero) } Method (HALS, 0, NotSerialized) { Return (Zero) } Method (SALS, 1, Serialized) { Return (Zero) } Method (HODD, 0, NotSerialized) { Return (0xFF) } Method (SODD, 1, Serialized) { Return (Zero) } Method (STHT, 1, Serialized) { Return (Zero) } Method (BASL, 1, Serialized) { Local0 = Arg0 Local0 &= 0xFFFF Local1 = (Arg0 & 0xFFFF0000) Local1 = (Local1 / 0x00010000) If (((Local0 == Zero) || (Local0 == Ones))){} Else { BCST = Local0 BCSP = Local1 } Return (Zero) } Method (GBMD, 0, NotSerialized) { Local0 = 0x10000000 If ((Zero == EDCC)) { Local0 |= One } If ((Zero == CSBM)) { Local0 |= 0x02 } Local0 |= 0x0400 If ((One == MBBD)) { Local0 |= 0x08 } If ((One == SBBD)) { Local0 |= 0x10 } If ((One == BTSM)) { Local0 |= 0x20 } If ((BLEG == Zero)) { Local0 |= 0x80 } If ((BTPF == One)) { Local0 |= 0x0100 } Else { Local0 &= 0xFFFFFEFF } If ((BTSM == One)) { Local0 &= 0xFFFFFDFF } Else { Local0 |= 0x0200 } If ((O72H == One)) { Local0 |= 0x0800 } Else { Local0 &= 0xFFFFF7FF } Return (Local0) } Method (SBMC, 1, NotSerialized) { If ((Arg0 == Zero)) { CDMB = Zero EDCC = One EDCF = One Return (Zero) } If ((Arg0 == One)) { EDCC = Zero CDMB = One Return (Zero) } If ((Arg0 == 0x03)) { BTSM = One LBTM = Zero Return (Zero) } If ((Arg0 == 0x05)) { LBTM = One BTCF = One BTSM = Zero Return (Zero) } If ((Arg0 == 0x06)) { CSBM = One Return (Zero) } Return (Zero) } Name (PNUM, 0x02) Method (MHST, 1, NotSerialized) { If ((Arg0 == Zero)) { Local0 = 0x0041CDB4 Divide (Local0, PNUM, Local1, Local0) Divide (Local0, FN0S, Local1, Local0) Local0 &= 0xFFFF Local0 |= 0x01010000 Return (Local0) } If ((Arg0 == 0x40)) { Return (0x01010001) } Return (Zero) } Method (MHTT, 1, NotSerialized) { Local0 = Zero If ((Arg0 == Zero)) { Return (Local0) } If ((Arg0 == One)) { Local0 = CPUT /* \_SB_.PCI0.LPCB.H_EC.CPUT */ Return (Local0) } Return (Zero) } Method (MHBT, 1, NotSerialized) { Name (MHB0, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ }) CreateByteField (MHB0, Zero, BT0) CreateByteField (MHB0, One, BT1) CreateByteField (MHB0, 0x02, BT2) CreateByteField (MHB0, 0x03, BT3) CreateByteField (MHB0, 0x04, BT4) CreateByteField (MHB0, 0x05, BT5) CreateByteField (MHB0, 0x06, BT6) CreateByteField (MHB0, 0x07, BT7) CreateByteField (MHB0, 0x08, BT8) CreateByteField (MHB0, 0x09, BT9) CreateByteField (MHB0, 0x0A, BTA) CreateByteField (MHB0, 0x0B, BTB) CreateByteField (MHB0, 0x0C, BTC) CreateByteField (MHB0, 0x0D, BTD) CreateByteField (MHB0, 0x0E, BTE) CreateByteField (MHB0, 0x0F, BTF) If ((Arg0 == Zero)) { Return (MHB0) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHBT.MHB0 */ } If ((Arg0 == One)) { BT0 = 0x03 BT1 = CLOW /* \_SB_.PCI0.LPCB.H_EC.CLOW */ BT2 = CMID /* \_SB_.PCI0.LPCB.H_EC.CMID */ BT3 = CHIH /* \_SB_.PCI0.LPCB.H_EC.CHIH */ Return (MHB0) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHBT.MHB0 */ } Return (MHB0) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHBT.MHB0 */ } Method (MHFT, 1, NotSerialized) { Local0 = Arg0 Local1 = Arg0 Local0 &= 0xFF Local1 &= 0xFF00 If ((Local1 == Zero)) { If ((Local0 == One)) { FNCM = One Return (One) } ElseIf ((Local0 == 0x80)) { FNCM = 0x80 Return (One) } Else { FNCM = 0xFF Return (One) } } Else { Return (Ones) } Return (Zero) } Method (MHCT, 1, Serialized) { Local0 = Zero If ((Arg0 == Ones)) { PSCL = \_PR.CPU0._PPC Local0 |= SizeOf (\_PR.CPU0._PSS) Local0 <<= 0x08 Local0 |= PSCL /* \_SB_.PCI0.LPCB.PSCL */ Local0 <<= 0x08 Local0 |= Zero Local0 <<= 0x08 Local0 |= 0xC0 Return (Local0) } Else { Local1 = Arg0 Local1 >>= 0x10 Local1 &= 0xFF PSCL = Local1 \_PR.CPU0._PPC = PSCL /* \_SB_.PCI0.LPCB.PSCL */ Notify (\_PR.CPU0, 0x80) // Performance Capability Change Notify (\_PR.CPU1, 0x80) // Performance Capability Change Notify (\_PR.CPU2, 0x80) // Performance Capability Change Notify (\_PR.CPU3, 0x80) // Performance Capability Change } } Method (SVCR, 1, NotSerialized) { If ((Arg0 == 0x02)) { ATOM = Zero } If ((Arg0 == 0x03)) { ATOM = One } Return (Zero) } Method (MHCF, 1, NotSerialized) { Local0 = Arg0 Local0 &= 0x20 If ((Local0 == Zero)) { BFUE &= 0xFD } Else { BFUE |= 0x02 } Local0 = 0x32 While (Local0) { Sleep (0x02) Local1 = (BFUE & 0x04) If ((Local1 == Zero)) { Local0-- } Else { Local0 = Zero } } Return (Arg0) } Method (MHPF, 1, NotSerialized) { Name (CHAR, Zero) Name (STR1, Buffer (0x12) { /* 0000 */ 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, // 00000000 /* 0008 */ 0x30, 0x30, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, // 00...... /* 0010 */ 0x09, 0x00 // .. }) If (ECAV ()) { HSMG = One If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (One) { CreateWordField (Arg0, 0x04, DAT0) CreateWordField (Arg0, 0x06, DAT2) CreateDWordField (Arg0, 0x08, DAT4) CreateDWordField (Arg0, 0x0C, DAT5) CreateDWordField (Arg0, 0x10, DAT6) CreateDWordField (Arg0, 0x14, DAT7) CreateDWordField (Arg0, 0x18, DAT8) CreateDWordField (Arg0, 0x1C, DAT9) CreateDWordField (Arg0, 0x20, DATA) CreateByteField (Arg0, 0x24, CONT) CreateByteField (Arg0, One, STAT) CreateByteField (Arg0, 0x03, ACMD) CreateByteField (Arg0, 0x02, AADR) CreateByteField (Arg0, Zero, APTC) Local1 = 0x32 While (Local1) { SDAT = DAT0 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT0 */ SDA2 = DAT2 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT2 */ SDA4 = DAT4 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT4 */ SDA5 = DAT5 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT5 */ SDA6 = DAT6 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT6 */ SDA7 = DAT7 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT7 */ SDA8 = DAT8 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT8 */ SDA9 = DAT9 /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DAT9 */ SDAA = DATA /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.DATA */ SBCT = CONT /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.CONT */ SSTS = STAT /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.STAT */ SCMD = ACMD /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.ACMD */ If ((ACMD == 0x37)) { P8XH (Zero, ACMD, One) Sleep (0x01F4) } SADR = AADR /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.AADR */ SPTC = APTC /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHPF.APTC */ Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { If ((SSTS == 0x80)) { DAT0 = SDAT /* \_SB_.PCI0.LPCB.H_EC.SDAT */ DAT2 = SDA2 /* \_SB_.PCI0.LPCB.H_EC.SDA2 */ DAT4 = SDA4 /* \_SB_.PCI0.LPCB.H_EC.SDA4 */ DAT5 = SDA5 /* \_SB_.PCI0.LPCB.H_EC.SDA5 */ DAT6 = SDA6 /* \_SB_.PCI0.LPCB.H_EC.SDA6 */ DAT7 = SDA7 /* \_SB_.PCI0.LPCB.H_EC.SDA7 */ DAT8 = SDA8 /* \_SB_.PCI0.LPCB.H_EC.SDA8 */ DAT9 = SDA9 /* \_SB_.PCI0.LPCB.H_EC.SDA9 */ DATA = SDAA /* \_SB_.PCI0.LPCB.H_EC.SDAA */ CONT = SBCT /* \_SB_.PCI0.LPCB.H_EC.SBCT */ STAT = SSTS /* \_SB_.PCI0.LPCB.H_EC.SSTS */ ACMD = SCMD /* \_SB_.PCI0.LPCB.H_EC.SCMD */ AADR = SADR /* \_SB_.PCI0.LPCB.H_EC.SADR */ APTC = SPTC /* \_SB_.PCI0.LPCB.H_EC.SPTC */ Local0 = Zero Local1 = Zero } Else { Local0 = Zero Local1-- If ((Local1 == Zero)) { DBG2++ } } } Else { Local0-- If ((Local0 == Zero)) { DBG1++ } } } } } } Release (MUEC) } HSMG = Zero } Return (Arg0) } Method (MHIF, 1, NotSerialized) { Name (CHAR, Zero) Name (BFIM, Buffer (0x0A) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x00, 0x00 // .. }) If (ECAV ()) { HSMG = One If ((Acquire (MUEC, 0xA000) == Zero)) { If (MIEC) { If (One) { Local1 = Arg0 If ((Local1 == Zero)) { SSTS = Zero SCMD = 0x37 SADR = 0x16 SPTC = 0x0B Local0 = 0x32 While (Local0) { Sleep (0x02) If ((SPTC == Zero)) { If ((SSTS == 0x80)) { CHAR = SDAT /* \_SB_.PCI0.LPCB.H_EC.SDAT */ BFIM [0x02] = CHAR /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHIF.CHAR */ BFIM [0x03] = (CHAR >> 0x08) CHAR = SDA2 /* \_SB_.PCI0.LPCB.H_EC.SDA2 */ BFIM [0x04] = CHAR /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHIF.CHAR */ BFIM [0x05] = (CHAR >> 0x08) CHAR = SDA4 /* \_SB_.PCI0.LPCB.H_EC.SDA4 */ BFIM [0x06] = (CHAR >> Zero) BFIM [0x07] = (CHAR >> 0x08) BFIM [0x08] = (CHAR >> 0x10) BFIM [0x09] = (CHAR >> 0x18) Local0 = Zero } Else { Local0-- P8XH (Zero, 0x99, One) } } Else { Local0-- } } } } } Release (MUEC) } HSMG = Zero } Sleep (0x01F4) Return (BFIM) /* \_SB_.PCI0.LPCB.H_EC.VPC0.MHIF.BFIM */ } } Method (_Q44, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { If ((ECON == One)) { If (((^^^GFX0.CADL == 0x0100) && (^^^GFX0.CAL2 == Zero))) { If ((OSVR == 0x0E)) { CUBL = ^^^GFX0.BRT1 /* \_SB_.PCI0.GFX0.BRT1 */ } } ElseIf ((OSVR == 0x0E)) { If ((^^^GFX0.BRT1 > CUBL)) { Notify (^^^GFX0.DD02, 0x87) // Device-Specific } If ((^^^GFX0.BRT1 < CUBL)) { Notify (^^^GFX0.DD02, 0x86) // Device-Specific } } If ((APFG == One)) { Notify (VPC0, 0x80) // Status Change } } } } Device (DMAC) { Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x11, // Length ) IO (Decode16, 0x0093, // Range Minimum 0x0093, // Range Maximum 0x01, // Alignment 0x0D, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (FWHD) { Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (_UID, 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) } } ElseIf (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 ) }) } 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 (AMW0) { Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_WDG, Buffer (0x3C) { /* 0000 */ 0x6C, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11, // l....... /* 0008 */ 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00, // ....)... /* 0010 */ 0x41, 0x41, 0x01, 0x01, 0x6D, 0x0F, 0xBC, 0xAB, // AA..m... /* 0018 */ 0xA1, 0x8E, 0xD1, 0x11, 0x00, 0xA0, 0xC9, 0x06, // ........ /* 0020 */ 0x29, 0x10, 0x00, 0x00, 0x41, 0x42, 0x01, 0x02, // )...AB.. /* 0028 */ 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, // !...f... /* 0030 */ 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, // ......). /* 0038 */ 0x42, 0x41, 0x01, 0x00 // BA.. }) Method (WQAA, 1, NotSerialized) { SSMP = 0xC4 Return (OWMI) /* \OWMI */ } Method (WMAB, 3, NotSerialized) { If ((Arg1 == One)) { OWMI = Arg2 SSMP = 0xC5 Return (Zero) } } Name (WQBA, Buffer (0x0336) { /* 0000 */ 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, // FOMB.... /* 0008 */ 0x26, 0x03, 0x00, 0x00, 0xDC, 0x09, 0x00, 0x00, // &....... /* 0010 */ 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, // DS...}.T /* 0018 */ 0x18, 0xC8, 0x84, 0x00, 0x01, 0x06, 0x18, 0x42, // .......B /* 0020 */ 0x10, 0x05, 0x10, 0x12, 0x2E, 0x81, 0x42, 0x04, // ......B. /* 0028 */ 0x8A, 0x40, 0x24, 0xA9, 0x30, 0x28, 0x0D, 0x20, // .@$.0(. /* 0030 */ 0x92, 0x03, 0x21, 0x17, 0x4C, 0x4C, 0x80, 0x08, // ..!.LL.. /* 0038 */ 0x08, 0x79, 0x15, 0x60, 0x53, 0x80, 0x49, 0x10, // .y.`S.I. /* 0040 */ 0xF5, 0xEF, 0x0F, 0x51, 0x12, 0x1C, 0x4A, 0x08, // ...Q..J. /* 0048 */ 0x84, 0x24, 0x0A, 0x30, 0x2F, 0x40, 0xB7, 0x00, // .$.0/@.. /* 0050 */ 0xC3, 0x02, 0x6C, 0x0B, 0x30, 0x2D, 0xC0, 0x31, // ..l.0-.1 /* 0058 */ 0x24, 0x95, 0x06, 0x4E, 0x09, 0x2C, 0x05, 0x42, // $..N.,.B /* 0060 */ 0x42, 0x05, 0x28, 0x17, 0xE0, 0x5B, 0x80, 0x76, // B.(..[.v /* 0068 */ 0x44, 0x49, 0x16, 0x60, 0x19, 0x46, 0x04, 0x1E, // DI.`.F.. /* 0070 */ 0x45, 0x64, 0xA3, 0x71, 0x68, 0xEC, 0x30, 0x2C, // Ed.qh.0, /* 0078 */ 0x13, 0x4C, 0x83, 0x38, 0x8C, 0xB2, 0x91, 0x45, // .L.8...E /* 0080 */ 0xE0, 0x09, 0x75, 0x2A, 0x40, 0xAE, 0x00, 0x61, // ..u*@..a /* 0088 */ 0x02, 0xC4, 0xA3, 0x0A, 0xA3, 0x39, 0x28, 0x22, // .....9(" /* 0090 */ 0x1A, 0x1A, 0x25, 0x66, 0x4C, 0x04, 0xB6, 0x73, // ..%fL..s /* 0098 */ 0x6C, 0x8D, 0xE2, 0x34, 0x0A, 0x17, 0x20, 0x1D, // l..4.. . /* 00A0 */ 0x43, 0x23, 0x38, 0xAE, 0x04, 0x1D, 0xCE, 0x40, // C#8....@ /* 00A8 */ 0x53, 0x88, 0x16, 0xA1, 0x20, 0x01, 0x9A, 0xA1, // S... ... /* 00B0 */ 0x04, 0x18, 0xE4, 0x40, 0xC2, 0x86, 0x3B, 0x1E, // ...@..;. /* 00B8 */ 0x43, 0xF4, 0x3B, 0x24, 0x29, 0x15, 0x60, 0x11, // C.;$).`. /* 00C0 */ 0x4A, 0x3E, 0x05, 0x18, 0x9C, 0x81, 0x50, 0xCE, // J>....P. /* 00C8 */ 0xC6, 0x03, 0x8B, 0xE8, 0x19, 0x24, 0x88, 0x73, // .....$.s /* 00D0 */ 0x28, 0x18, 0x19, 0x10, 0xF2, 0x2C, 0xC0, 0xFA, // (....,.. /* 00D8 */ 0x18, 0x09, 0x81, 0xDD, 0x23, 0x4B, 0x21, 0x82, // ....#K!. /* 00E0 */ 0x46, 0x72, 0x56, 0x35, 0x0A, 0xD0, 0x06, 0x22, // FrV5..." /* 00E8 */ 0x5B, 0x02, 0xC4, 0x4D, 0x40, 0x58, 0x8D, 0xA1, // [..M@X.. /* 00F0 */ 0x08, 0x22, 0x42, 0xD0, 0x28, 0xC6, 0x8B, 0x10, // ."B.(... /* 00F8 */ 0x2A, 0x44, 0x94, 0x88, 0xE7, 0x17, 0x24, 0x6A, // *D....$j /* 0100 */ 0x65, 0x20, 0x42, 0x0B, 0x66, 0x04, 0x66, 0x7F, // e B.f.f. /* 0108 */ 0x10, 0x24, 0xE8, 0xBB, 0x40, 0x16, 0x40, 0x14, // .$..@.@. /* 0110 */ 0x69, 0x34, 0xA8, 0x53, 0x40, 0x82, 0xA7, 0x02, // i4.S@... /* 0118 */ 0x9F, 0x08, 0x0E, 0xEA, 0x08, 0x4F, 0xEA, 0x18, // .....O.. /* 0120 */ 0x83, 0x9C, 0xE9, 0x79, 0xD5, 0x79, 0x1C, 0x20, // ...y.y. /* 0128 */ 0x03, 0x67, 0x43, 0xB3, 0x83, 0xF3, 0x01, 0x14, // .gC..... /* 0130 */ 0xD7, 0x80, 0xFA, 0xFF, 0x5F, 0x0C, 0x1E, 0x0B, // ...._... /* 0138 */ 0xD8, 0x6C, 0xC3, 0x61, 0x86, 0xE8, 0x21, 0x87, // .l.a..!. /* 0140 */ 0x3B, 0x81, 0x43, 0x64, 0x80, 0x1E, 0xD1, 0x13, // ;.Cd.... /* 0148 */ 0x01, 0x76, 0x6A, 0x27, 0xF3, 0x38, 0x50, 0xAA, // .vj'.8P. /* 0150 */ 0x00, 0xB3, 0x03, 0xD7, 0x24, 0x13, 0x1C, 0x8F, // ....$... /* 0158 */ 0xCF, 0x01, 0x9E, 0xCF, 0x09, 0x27, 0xB0, 0xFC, // .....'.. /* 0160 */ 0x41, 0xA0, 0x46, 0x66, 0x68, 0x8F, 0xF4, 0xB4, // A.Ffh... /* 0168 */ 0x5E, 0x07, 0x7C, 0x0C, 0x38, 0x2C, 0x26, 0xF6, // ^.|.8,&. /* 0170 */ 0x30, 0x41, 0xC7, 0x03, 0x7E, 0xC5, 0x47, 0x03, // 0A..~.G. /* 0178 */ 0x21, 0x3C, 0x16, 0x78, 0xBE, 0x3E, 0x52, 0xE8, // !<.x.>R. /* 0180 */ 0x6C, 0x21, 0x2B, 0xE3, 0x41, 0x0D, 0xC0, 0xA7, // l!+.A... /* 0188 */ 0x04, 0xFC, 0x48, 0x8C, 0x1C, 0xE6, 0x50, 0x0C, // ..H...P. /* 0190 */ 0x17, 0xDC, 0xD7, 0x03, 0x83, 0xC4, 0x38, 0x2E, // ......8. /* 0198 */ 0x16, 0x18, 0x42, 0x67, 0x01, 0x8B, 0x1A, 0x3F, // ..Bg...? /* 01A0 */ 0x3D, 0x5C, 0xF0, 0x73, 0x05, 0x3B, 0x32, 0x44, // =\.s.;2D /* 01A8 */ 0x7D, 0x16, 0xF0, 0x90, 0xCE, 0xCC, 0xC7, 0x0F, // }....... /* 01B0 */ 0x8F, 0x10, 0x3E, 0x20, 0xDE, 0xFB, 0xDC, 0xC9, // ..> .... /* 01B8 */ 0x08, 0xCE, 0xC5, 0x80, 0x16, 0x78, 0xB8, 0x00, // .....x.. /* 01C0 */ 0xCD, 0xCD, 0xC3, 0x60, 0x70, 0x46, 0x0E, 0xFF, // ...`pF.. /* 01C8 */ 0x56, 0xE1, 0xCB, 0x85, 0xCF, 0x11, 0xEF, 0x20, // V...... /* 01D0 */ 0x26, 0x28, 0x0F, 0x98, 0xFE, 0xFF, 0x81, 0xF9, // &(...... /* 01D8 */ 0xD0, 0x3D, 0xEC, 0x08, 0xC1, 0xCF, 0xF9, 0xD1, // .=...... /* 01E0 */ 0xE0, 0x21, 0x24, 0xC2, 0xD1, 0xC3, 0x38, 0x72, // .!$...8r /* 01E8 */ 0x98, 0xC0, 0x22, 0xC7, 0x86, 0x86, 0xE7, 0xA7, // .."..... /* 01F0 */ 0x89, 0xE8, 0x47, 0x13, 0x32, 0x7C, 0xD8, 0x28, // ..G.2|.( /* 01F8 */ 0xA7, 0x10, 0xD7, 0xC7, 0x92, 0x08, 0x75, 0x41, // ......uA /* 0200 */ 0xE8, 0x8C, 0x62, 0x84, 0x03, 0x8A, 0x72, 0xBA, // ..b...r. /* 0208 */ 0x2F, 0x00, 0x3E, 0x51, 0x70, 0x02, 0xCB, 0x79, // /.>Qp..y /* 0210 */ 0x0A, 0xF8, 0x24, 0x43, 0x65, 0x3F, 0x1A, 0x7C, // ..$Ce?.| /* 0218 */ 0x98, 0x01, 0x68, 0x84, 0xFF, 0x30, 0x03, 0x86, // ..h..0.. /* 0220 */ 0xFF, 0xFF, 0x61, 0x06, 0x6E, 0xE8, 0xF3, 0x06, // ..a.n... /* 0228 */ 0x9D, 0xD4, 0xB3, 0x03, 0x58, 0x47, 0x08, 0xEF, // ....XG.. /* 0230 */ 0x00, 0x01, 0x3C, 0x86, 0x80, 0x3B, 0x3A, 0x78, // ..<..;:x /* 0238 */ 0x08, 0x7C, 0x00, 0xAD, 0xDE, 0x36, 0xC8, 0x88, // .|...6.. /* 0240 */ 0x4E, 0x0C, 0x77, 0xC8, 0x80, 0x19, 0xE7, 0x34, // N.w....4 /* 0248 */ 0xA1, 0x13, 0x8A, 0xA3, 0x80, 0xC8, 0xC6, 0xD3, // ........ /* 0250 */ 0xC4, 0x27, 0x06, 0x2A, 0x9F, 0x4A, 0xD0, 0xD8, // .'.*.J.. /* 0258 */ 0x21, 0xC4, 0x39, 0xA2, 0xF7, 0x17, 0xF8, 0x22, // !.9...." /* 0260 */ 0xC1, 0x75, 0x08, 0xE3, 0xF2, 0x28, 0x24, 0x0E, // .u...($. /* 0268 */ 0x42, 0xE3, 0xF2, 0xD0, 0x08, 0x1C, 0x05, 0xF1, // B....... /* 0270 */ 0x57, 0xC3, 0x51, 0x21, 0x74, 0xB6, 0xC1, 0x9D, // W.Q!t... /* 0278 */ 0x12, 0x3C, 0x96, 0x67, 0x09, 0x0F, 0xE2, 0x18, // .<.g.... /* 0280 */ 0x1C, 0x0D, 0x42, 0x1F, 0x32, 0x1F, 0x39, 0xF0, // ..B.2.9. /* 0288 */ 0x77, 0x14, 0x9F, 0x63, 0xF8, 0x45, 0xE0, 0x79, // w..c.E.y /* 0290 */ 0x02, 0x2C, 0x27, 0x16, 0xDC, 0x4E, 0xCF, 0x84, // .,'..N.. /* 0298 */ 0xFD, 0xFF, 0x67, 0xC2, 0x06, 0xC2, 0x8E, 0x3A, // ..g....: /* 02A0 */ 0x7C, 0x0C, 0x3E, 0x89, 0x9C, 0x85, 0x09, 0xD8, // |.>..... /* 02A8 */ 0x39, 0x06, 0x7C, 0x67, 0x1C, 0xDC, 0xE1, 0x01, // 9.|g.... /* 02B0 */ 0x1E, 0x90, 0x6F, 0x0A, 0x3E, 0x11, 0x3C, 0x2D, // ..o.>.<- /* 02B8 */ 0xB0, 0x39, 0x3C, 0x1C, 0xF8, 0x68, 0xC0, 0xE0, // .9<..h.. /* 02C0 */ 0xB9, 0x84, 0x91, 0xEB, 0xDB, 0x62, 0x59, 0xE3, // .....bY. /* 02C8 */ 0x42, 0x0D, 0xD4, 0x87, 0x13, 0x86, 0xFD, 0x4C, // B......L /* 02D0 */ 0xE0, 0xE3, 0xC8, 0x71, 0x3E, 0x11, 0x3C, 0x12, // ...q>.<. /* 02D8 */ 0x61, 0x60, 0x3D, 0x74, 0x0E, 0x6B, 0xB4, 0xB0, // a`=t.k.. /* 02E0 */ 0x47, 0xFC, 0x40, 0x81, 0xC3, 0x08, 0xEB, 0xD3, // G.@..... /* 02E8 */ 0x16, 0x38, 0x4E, 0x47, 0xF0, 0x51, 0x7D, 0x1C, // .8NG.Q}. /* 02F0 */ 0x00, 0xC7, 0xED, 0x81, 0xCD, 0xE1, 0xDC, 0x8C, // ........ /* 02F8 */ 0x12, 0x24, 0x62, 0x30, 0x0F, 0xC1, 0x18, 0xBE, // .$b0.... /* 0300 */ 0xB2, 0x18, 0xE8, 0x99, 0x25, 0xC6, 0xF1, 0x84, // ....%... /* 0308 */ 0x78, 0x06, 0xC0, 0x2B, 0xB4, 0xE9, 0x53, 0xA3, // x..+..S. /* 0310 */ 0x51, 0xAB, 0x06, 0x65, 0x6A, 0x94, 0x69, 0x50, // Q..ej.iP /* 0318 */ 0xAB, 0x4F, 0xA5, 0xC6, 0x8C, 0x9D, 0xAA, 0xC8, // .O...... /* 0320 */ 0xF3, 0x41, 0x83, 0x76, 0x24, 0x10, 0x1A, 0x92, // .A.v$... /* 0328 */ 0x42, 0x20, 0x16, 0xB1, 0x26, 0x19, 0x39, 0x70, // B ..&.9p /* 0330 */ 0x19, 0x44, 0x40, 0xFE, 0xFF, 0x03 // .D@... }) } Device (PS2K) { Name (_HID, "IDEA0104") // _HID: Hardware ID Name (_CID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) } Device (PS2M) { Name (PSMS, Zero) Name (SHID, 0x04232E4F) Name (SCID, 0x130FD041) Name (CHID, 0x01006D42) Name (CCID, 0x130FD041) Name (THID, 0x41C18C4E) Name (TCID, 0x130FD041) Name (_HID, EisaId ("ETD061A")) // _HID: Hardware ID Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID Name (AHID, 0x2216A906) Name (ACID, 0x130FD041) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IRQNoFlags () {12} } EndDependentFn () }) } } } } Name (EMFG, Zero) 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 */ } CMSP (P80D) } OperationRegion (SPRT, SystemIO, 0xB2, 0x02) Field (SPRT, ByteAcc, Lock, Preserve) { SSMP, 8 } Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { GPIC = Arg0 PICM = Arg0 } OperationRegion (CMS1, SystemIO, 0x72, 0x02) Field (CMS1, ByteAcc, NoLock, Preserve) { CMSI, 8, CMSD, 8 } IndexField (CMSI, CMSD, ByteAcc, NoLock, Preserve) { Offset (0x40), CM40, 8, CM41, 8, CM42, 8, CM43, 8, CM44, 8, CM45, 8, CM46, 8, CM47, 8, CM48, 8, CM49, 8, CM4A, 8, CM4B, 8, CM4C, 8, CM4D, 8, CM4E, 8, CM4F, 8, Offset (0x74), TYOS, 8 } Method (CMSR, 1, NotSerialized) { CMSI = Arg0 Local0 = CMSD /* \CMSD */ Return (Local0) } Method (CMSW, 2, NotSerialized) { CMSI = Arg0 CMSD = Arg1 } Method (CMSP, 1, NotSerialized) { CM4F = CM4E /* \CM4E */ CM4E = CM4D /* \CM4D */ CM4D = CM4C /* \CM4C */ CM4C = CM4B /* \CM4B */ CM4B = CM4A /* \CM4A */ CM4A = CM49 /* \CM49 */ CM49 = CM48 /* \CM48 */ CM48 = CM47 /* \CM47 */ CM47 = CM46 /* \CM46 */ CM46 = CM45 /* \CM45 */ CM45 = CM44 /* \CM44 */ CM44 = CM43 /* \CM43 */ CM43 = CM42 /* \CM42 */ CM42 = CM41 /* \CM41 */ CM41 = CM40 /* \CM40 */ CM40 = Arg0 } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { P80D = Zero P8XH (Zero, Arg0, One) SLPS = Arg0 Local1 = Arg0 \_SB.PCI0.LPCB.H_EC.SLPT |= Local1 If ((Arg0 == 0x03)) { If ((DTSE && (TCNT > One))) { TRAP (TRTD, 0x1E) } } If ((DBGS == Zero)){} If ((((Arg0 == 0x03) || (Arg0 == 0x04)) || (Arg0 == 0x05))) { If ((PFLV == FDTP)) { GP27 = One } } EMFG = \_SB.PCI0.LPCB.H_EC.APFG If ((CondRefOf (\_OSI, Local0) && (Arg0 == 0x04))) { If (_OSI ("Linux")) { OSVR = 0x03 } Else { If (_OSI ("FreeBSD")) { OSVR = 0x06 } If (_OSI ("HP-UX")) { OSVR = 0x07 } If (_OSI ("OpenVMS")) { OSVR = 0x08 } If (_OSI ("Windows 2001 SP1")) { OSVR = 0x09 } If (_OSI ("Windows 2001 SP2")) { OSVR = 0x0A } If (_OSI ("Windows 2001 SP3")) { OSVR = 0x0B } If (_OSI ("Windows 2006")) { OSVR = 0x0C } If (_OSI ("Windows 2006 SP1")) { OSVR = 0x0D } If (_OSI ("Windows 2009")) { OSVR = 0x0E } If (_OSI ("Windows 2012")) { OSVR = 0x10 } } TYOS = OSVR /* \OSVR */ } If ((Arg0 == 0x03)) { P8XH (Zero, 0x53, One) } If ((Arg0 == 0x04)) { P8XH (Zero, 0x54, One) } If ((Arg0 == 0x05)) { P8XH (Zero, 0x55, One) } } Method (_WAK, 1, Serialized) // _WAK: Wake { P80D = Zero P8XH (Zero, Arg0, One) If (NEXP) { If ((OSCC & 0x02)) { \_SB.PCI0.NHPG () } If ((OSCC & 0x04)) { \_SB.PCI0.NPME () } } If ((Arg0 == 0x03)) { SSMP = 0x70 } If (((Arg0 == 0x03) || (Arg0 == 0x04))) { \_SB.PCI0.LPCB.H_EC.APFG = EMFG /* \EMFG */ 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 () } } } P8XH (Zero, 0x11, One) If ((ECON == One)) { If (((LIDS == \_SB.PCI0.LPCB.H_EC.LSTE) & (\_SB.PCI0.LPCB.H_EC.LSTE == Zero))) { If (\_SB.PCI0.LPCB.H_EC.LSTE) { LIDS = Zero } Else { LIDS = One } If (IGDS) { If (\_SB.PCI0.GFX0.GLID (LIDS)) { \_SB.PCI0.GFX0.CLID |= 0x80000000 } } } P8XH (Zero, 0x22, One) If ((\_SB.PCI0.LPCB.H_EC.ACS != PWRS)) { PWRS = \_SB.PCI0.LPCB.H_EC.ACS PNOT () } } P8XH (Zero, 0x33, One) 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 () \_PR.CPU0.CTLD () } If ((CondRefOf (\_OSI, Local0) && (Arg0 == 0x04))) { If (_OSI ("FreeBSD")) { OSVR = 0x06 } If (_OSI ("HP-UX")) { OSVR = 0x07 } If (_OSI ("OpenVMS")) { OSVR = 0x08 } If (_OSI ("Windows 2001 SP1")) { OSVR = 0x09 } If (_OSI ("Windows 2001 SP2")) { OSVR = 0x0A } If (_OSI ("Windows 2001 SP3")) { OSVR = 0x0B } If (_OSI ("Windows 2006")) { OSVR = 0x0C } If (_OSI ("Windows 2006 SP1")) { OSVR = 0x0D } If (_OSI ("Windows 2009")) { OSVR = 0x0E } If (_OSI ("Windows 2012")) { OSVR = 0x10 } If (_OSI ("Linux")) { OSVR = 0x03 } \_SB.PCI0.LPCB.H_EC.OSVN = OSVR /* \OSVR */ } If ((Arg0 == 0x03)) { P8XH (Zero, 0xE3, One) } If ((Arg0 == 0x04)) { P8XH (Zero, 0xE4, One) } If ((Arg0 == 0x05)) { P8XH (Zero, 0xE5, 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 */ } Scope (_SB.PCI0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { OSYS = 0x07D0 If (CondRefOf (\_OSI, Local0)) { If (_OSI ("Windows 2001")) { OSYS = 0x07D1 } If (_OSI ("Windows 2001 SP1")) { OSYS = 0x07D1 } If (_OSI ("Windows 2001 SP2")) { OSYS = 0x07D2 } If (_OSI ("Windows 2001.1")) { OSYS = 0x07D3 } If (_OSI ("Windows 2006")) { OSYS = 0x07D6 } If (_OSI ("Windows 2009")) { OSYS = 0x07D9 } } } Method (NHPG, 0, Serialized) { ^RP01.HPEX = Zero ^RP02.HPEX = Zero ^RP03.HPEX = Zero ^RP04.HPEX = Zero ^RP01.HPSX = One ^RP02.HPSX = One ^RP03.HPSX = One ^RP04.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 (_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 (ReadOnly, 0xFF000000, // Address Base 0x01000000, // 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, xx=0x00-0xFF { Notify (\_SB.PCI0.P0P1, 0x02) // Device Wake } Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { 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 ((RP3D == Zero)) { \_SB.PCI0.RP03.HPME () Notify (\_SB.PCI0.RP03, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } If ((RP4D == Zero)) { \_SB.PCI0.RP04.HPME () Notify (\_SB.PCI0.RP04, 0x02) // Device Wake } If ((RP5D == Zero)) { \_SB.PCI0.RP05.HPME () Notify (\_SB.PCI0.RP05, 0x02) // Device Wake } If ((RP6D == Zero)) { \_SB.PCI0.RP06.HPME () Notify (\_SB.PCI0.RP06, 0x02) // Device Wake } If ((RP7D == Zero)) { \_SB.PCI0.RP07.HPME () Notify (\_SB.PCI0.RP07, 0x02) // Device Wake } If ((RP8D == Zero)) { \_SB.PCI0.RP08.HPME () Notify (\_SB.PCI0.RP08, 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 Notify (\_SB.PCI0.PEG2, 0x02) // Device Wake Notify (\_SB.PCI0.PEG3, 0x02) // Device Wake } Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake Notify (\_SB.PCI0.HDEF, 0x02) // Device Wake Notify (\_SB.PCI0.GLAN, 0x02) // Device Wake Notify (\_SB.PWRB, 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, xx=0x00-0xFF { 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 } } If (((RP5D == Zero) && \_SB.PCI0.RP05.HPSX)) { P8XH (One, 0x05, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP05.PDCX) { \_SB.PCI0.RP05.PDCX = One \_SB.PCI0.RP05.HPSX = One If (!\_SB.PCI0.RP05.PDSX) { \_SB.PCI0.RP05.L0SE = Zero } Notify (\_SB.PCI0.RP05, Zero) // Bus Check } Else { \_SB.PCI0.RP05.HPSX = One } } If (((RP6D == Zero) && \_SB.PCI0.RP06.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP06.PDCX) { \_SB.PCI0.RP06.PDCX = One \_SB.PCI0.RP06.HPSX = One If (!\_SB.PCI0.RP06.PDSX) { \_SB.PCI0.RP06.L0SE = Zero } Notify (\_SB.PCI0.RP06, Zero) // Bus Check } Else { \_SB.PCI0.RP06.HPSX = One } } If (((RP7D == Zero) && \_SB.PCI0.RP07.HPSX)) { P8XH (One, 0x07, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP07.PDCX) { \_SB.PCI0.RP07.PDCX = One \_SB.PCI0.RP07.HPSX = One If (!\_SB.PCI0.RP07.PDSX) { \_SB.PCI0.RP07.L0SE = Zero } If (ECON){} } Else { \_SB.PCI0.RP07.HPSX = One } } If (((RP8D == Zero) && \_SB.PCI0.RP08.HPSX)) { P8XH (One, 0x08, One) P8XH (Zero, L01C, One) Sleep (0x64) If (\_SB.PCI0.RP08.PDCX) { \_SB.PCI0.RP08.PDCX = One \_SB.PCI0.RP08.HPSX = One If (!\_SB.PCI0.RP08.PDSX) { \_SB.PCI0.RP08.L0SE = Zero } If (ECON){} } Else { \_SB.PCI0.RP08.HPSX = One } } } Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { GPEC = Zero If (CondRefOf (\_SB.PCI0.IEIT.EITV)) { \_SB.PCI0.IEIT.EITV () } If (CondRefOf (\TNOT)) { TNOT () } } Method (_L06, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { If ((\_SB.PCI0.GFX0.GSSE && !GSMI)) { \_SB.PCI0.GFX0.GSCI () } } Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { \_SB.PCI0.SBUS.HSTS = 0x20 } Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF { } } 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, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), GL00, 8, GL01, 8, GL02, 8, GP24, 1, , 2, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, GL04, 8, GL05, 8, GL06, 8, GL07, 8, Offset (0x40), GU08, 8, GU09, 8, GU0A, 8, GU0B, 8, GIO8, 8, GIO9, 8, GIOA, 8, GIOB, 8, GL08, 8, 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) } Method (GPI0, 4, NotSerialized) { If (((Arg0 | Arg1) == Zero)) { Return (Ones) } ElseIf (((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 (GLAN) { Name (_ADR, 0x00190000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (WOLE) { Return (Package (0x02) { 0x0D, 0x04 }) } Else { Return (Package (0x02) { 0x0D, Zero }) } } } Device (EHC1) { Name (_ADR, 0x001D0000) // _ADR: Address OperationRegion (PWKE, PCI_Config, 0x62, 0x04) Field (PWKE, DWordAcc, NoLock, Preserve) { , 1, PWUC, 8 } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { PWUC = Ones } Else { PWUC = 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 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCA, Package (0x04) { 0xFF, Zero, Zero, Zero }) Return (UPCA) /* \_SB_.PCI0.EHC1.HUBN.PR01._UPC.UPCA */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0....... } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01._PLD.PLDP */ } Device (PR11) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR11._PLD.PLDP */ } } Device (PR12) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR12._PLD.PLDP */ } } Device (PR13) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xE1, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR13._PLD.PLDP */ } } Device (PR14) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xE1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14._PLD.PLDP */ } Alias (SBV1, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { Switch (ToInteger (Arg2)) { Case (Zero) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 // . }) } Else { Return (Buffer (One) { 0x00 // . }) } } Case (One) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Case (0x02) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR14.SDGV */ } } } Return (Zero) } } Device (PR15) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15._PLD.PLDP */ } Alias (SBV2, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { Switch (ToInteger (Arg2)) { Case (Zero) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 // . }) } Else { Return (Buffer (One) { 0x00 // . }) } } Case (One) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Case (0x02) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR15.SDGV */ } } } Return (Zero) } } Device (PR16) { Name (_ADR, 0x06) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16._PLD.PLDP */ } Alias (SBV1, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { Switch (ToInteger (Arg2)) { Case (Zero) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 // . }) } Else { Return (Buffer (One) { 0x00 // . }) } } Case (One) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Case (0x02) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR16.SDGV */ } } } Return (Zero) } } Device (PR17) { Name (_ADR, 0x07) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17._PLD.PLDP */ } Alias (SBV2, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { Switch (ToInteger (Arg2)) { Case (Zero) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 // . }) } Else { Return (Buffer (One) { 0x00 // . }) } } Case (One) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Case (0x02) { Return (SDGV) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR17.SDGV */ } } } Return (Zero) } } Device (PR18) { Name (_ADR, 0x08) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC1.HUBN.PR01.PR18._PLD.PLDP */ } } } } 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) { PWUC = Ones } Else { 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 Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCA, Package (0x04) { 0xFF, Zero, Zero, Zero }) Return (UPCA) /* \_SB_.PCI0.EHC2.HUBN.PR01._UPC.UPCA */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0....... } }) Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01._PLD.PLDP */ } Device (PR11) { Name (_ADR, One) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xE1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR11._PLD.PLDP */ } } Device (PR12) { Name (_ADR, 0x02) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR12._PLD.PLDP */ } Device (TPN0) { Name (_ADR, 0x02) // _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 = "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 = 0xFFFF, PLD_HorizontalOffset = 0xFFFF) }) } } Device (PR13) { Name (_ADR, 0x03) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xE0, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13._PLD.PLDP */ } Alias (SBV2, SDGV) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8"))) { Switch (ToInteger (Arg2)) { Case (Zero) { If ((Arg1 == One)) { Return (Buffer (One) { 0x07 // . }) } Else { Return (Buffer (One) { 0x00 // . }) } } Case (One) { If ((SDGV == 0xFF)) { Return (Zero) } Else { Return (One) } } Case (0x02) { Return (SDGV) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR13.SDGV */ } } } Return (Zero) } } Device (PR15) { Name (_ADR, 0x05) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR15._PLD.PLDP */ } } Device (PR14) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { 0xFF, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR14._PLD.PLDP */ } Device (CAM0) { Name (_ADR, 0x04) // _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 = "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 = 0xFFFF, PLD_HorizontalOffset = 0xFFFF) }) } } Device (PR16) { Name (_ADR, 0x06) // _ADR: Address Method (_UPC, 0, Serialized) // _UPC: USB Port Capabilities { Name (UPCP, Package (0x04) { Zero, 0xFF, Zero, Zero }) Return (UPCP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._UPC.UPCP */ } Method (_PLD, 0, Serialized) // _PLD: Physical Location of Device { Name (PLDP, Package (0x01) { Buffer (0x10) { /* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0008 */ 0xB1, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // ........ } }) Return (PLDP) /* \_SB_.PCI0.EHC2.HUBN.PR01.PR16._PLD.PLDP */ } } } } 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)) { 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 (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)) { 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 (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)) { 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 (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)) { 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 (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)) { 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 (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)) { 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 (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)) { 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 (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)) { 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 (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 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { If (WKMD) { Return (Package (0x02) { 0x0D, 0x04 }) } Else { Return (Package (0x02) { 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, 0x04 }) } 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 (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, 0x04 }) } 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 (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, 0x04 }) } 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, 0x03 }) } Else { Return (Package (0x02) { 0x09, Zero }) } } 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, 0x04 }) } 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 (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, 0x04 }) } 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, 0x04 }) } 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, 0x04 }) } 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, 0x04 }) } 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 (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 (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) } TBUF [Zero] = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */ HSTS = 0x80 Local1 = One While ((Local1 < DerefOf (TBUF [Zero]))) { Local0 = 0x0FA0 While ((!(HSTS & 0x80) && Local0)) { Local0-- Stall (0x32) } If (!Local0) { KILL () Return (Zero) } 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 } } } 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 }) Name (BRT1, Zero) Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices { Name (DTMX, Package (0x04) { 0x00010100, 0x00010110, 0x00010200, 0x00010210 }) Return (DTMX) /* \_SB_.PCI0.PEG0.PEGP._DOD.DTMX */ } Device (DD02) { Method (_ADR, 0, Serialized) // _ADR: Address { Return (0x0110) } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Return (0x1F) } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Return (One) } Name (BCL0, Package (0x12) { 0x50, 0x32, 0x02, 0x05, 0x0A, 0x0F, 0x11, 0x14, 0x19, 0x1E, 0x23, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) Method (_BCL, 0, Serialized) // _BCL: Brightness Control Levels { Return (BCL0) /* \_SB_.PCI0.PEG0.PEGP.DD02.BCL0 */ } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { Local0 = Arg0 Local1 = 0x02 While ((DerefOf (BCL0 [Local1]) != Local0)) { Local1++ } Local0 = (Local1 - 0x02) ^^^^LPCB.H_EC.SADC (Local0) BRT1 = Local0 } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { P8XH (0x04, 0x77, Zero) Local0 = ^^^^LPCB.H_EC.CUBL /* \_SB_.PCI0.LPCB.H_EC.CUBL */ Local0 = DerefOf (BCL0 [Local0 += 0x02]) Return (Local0) } } } } 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 (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 Name (BRT1, Zero) 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)){} 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 }) TMP1 [Zero] = (0x00010000 | DID1) Return (TMP1) /* \_SB_.PCI0.GFX0._DOD.TMP1 */ } If ((NDID == 0x02)) { Name (TMP2, Package (0x02) { Ones, Ones }) TMP2 [Zero] = (0x00010000 | DID1) TMP2 [One] = (0x00010000 | DID2) Return (TMP2) /* \_SB_.PCI0.GFX0._DOD.TMP2 */ } If ((NDID == 0x03)) { Name (TMP3, Package (0x03) { Ones, Ones, Ones }) TMP3 [Zero] = (0x00010000 | DID1) TMP3 [One] = (0x00010000 | DID2) TMP3 [0x02] = (0x00010000 | DID3) Return (TMP3) /* \_SB_.PCI0.GFX0._DOD.TMP3 */ } If ((NDID == 0x04)) { Name (TMP4, Package (0x04) { Ones, Ones, Ones, Ones }) TMP4 [Zero] = (0x00010000 | DID1) TMP4 [One] = (0x00010000 | DID2) TMP4 [0x02] = (0x00010000 | DID3) TMP4 [0x03] = (0x00010000 | DID4) Return (TMP4) /* \_SB_.PCI0.GFX0._DOD.TMP4 */ } If ((NDID == 0x05)) { Name (TMP5, Package (0x05) { Ones, Ones, Ones, Ones, Ones }) TMP5 [Zero] = (0x00010000 | DID1) TMP5 [One] = (0x00010000 | DID2) TMP5 [0x02] = (0x00010000 | DID3) TMP5 [0x03] = (0x00010000 | DID4) TMP5 [0x04] = (0x00010000 | DID5) Return (TMP5) /* \_SB_.PCI0.GFX0._DOD.TMP5 */ } If ((NDID == 0x06)) { Name (TMP6, Package (0x06) { Ones, Ones, Ones, Ones, Ones, Ones }) TMP6 [Zero] = (0x00010000 | DID1) TMP6 [One] = (0x00010000 | DID2) TMP6 [0x02] = (0x00010000 | DID3) TMP6 [0x03] = (0x00010000 | DID4) TMP6 [0x04] = (0x00010000 | DID5) 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 }) TMP7 [Zero] = (0x00010000 | DID1) TMP7 [One] = (0x00010000 | DID2) TMP7 [0x02] = (0x00010000 | DID3) TMP7 [0x03] = (0x00010000 | DID4) TMP7 [0x04] = (0x00010000 | DID5) TMP7 [0x05] = (0x00010000 | DID6) 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 }) TMP8 [Zero] = (0x00010000 | DID1) TMP8 [One] = (0x00010000 | DID2) TMP8 [0x02] = (0x00010000 | DID3) TMP8 [0x03] = (0x00010000 | DID4) TMP8 [0x04] = (0x00010000 | DID5) TMP8 [0x05] = (0x00010000 | DID6) TMP8 [0x06] = (0x00010000 | DID7) 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 */ } } Name (BCL0, Package (0x0D) { 0x64, 0x43, One, 0x06, 0x0B, 0x10, 0x18, 0x20, 0x28, 0x31, 0x3A, 0x43, 0x64 }) Name (BCL1, Package (0x0D) { 0x64, 0x50, 0x05, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) Method (_BCL, 0, NotSerialized) // _BCL: Brightness Control Levels { If ((OSVR == 0x10)) { Return (Package (0x67) { 0x64, 0x32, 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 }) } ElseIf ((OSVR == 0x03)) { Return (BCL1) /* \_SB_.PCI0.GFX0.DD02.BCL1 */ } Else { Return (BCL0) /* \_SB_.PCI0.GFX0.DD02.BCL0 */ } } Method (_BCM, 1, NotSerialized) // _BCM: Brightness Control Method { If ((OSVR == 0x10)){} ElseIf (((Arg0 >= Zero) && (Arg0 <= 0x64))) { If ((OSVR == 0x03)) { AINT (One, Arg0) BRTL = Arg0 } Else { AINT (One, Arg0) Local0 = Arg0 BRTL = Arg0 Local1 = 0x02 While ((Local0 != DerefOf (BCL0 [Local1]))) { Local1++ } Local0 = (Local1 - 0x02) ^^^LPCB.H_EC.CUBL = Local0 BRT1 = Local0 } } } Method (_BQC, 0, NotSerialized) // _BQC: Brightness Query Current { If ((OSVR == 0x10)){} Else { 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 (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 (DerefOf (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, Serialized) { 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 } ElseIf ((Local1 & 0x08)) { PFIT = 0x08 } Else { PFIT = One } } If ((Local0 == 0x06)) { If ((Local1 & 0x08)) { PFIT = 0x08 } ElseIf ((Local1 & One)) { PFIT = One } Else { PFIT = 0x06 } } If ((Local0 == 0x08)) { If ((Local1 & One)) { PFIT = One } ElseIf ((Local1 & 0x06)) { PFIT = 0x06 } Else { PFIT = 0x08 } } } Else { PFIT ^= 0x07 } PFIT |= 0x80000000 ASLC = 0x04 } ElseIf ((Arg0 == One)) { BCLP = ((Arg1 * 0xFF) / 0x64) BCLP |= 0x80000000 ASLC = 0x02 } ElseIf ((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 */ } } } 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) { 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 (0x2E) { 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", 0x03, "CPU Core VR (IMVP) Temperature", 0x03, "CPU GT VR (IMVP) Temperature", 0x03, "Heat Exchanger Fan Temperature", 0x03, "Skin Temperature", 0x03, "Ambient Temperature", 0x03, "Minicard Region Temperature", 0x02, "Channel 0 DIMM Temperature", 0x02, "Channel 1 DIMM Temperature", Zero, "CPU Package Temperature", 0x05, "PCH DTS Temperature from PCH", Zero, "CPU PECI reading", 0x05, "SA DTS Temperature from PCH", 0x02, "TS-on-DIMM0 Temperature", 0x02, "TS-on-DIMM1 Temperature", 0x02, "TS-on-DIMM2 Temperature", 0x02, "TS-on-DIMM3 Temperature", 0x02, "TZ00 _TMP", 0x02, "TZ01 _TMP" }) Name (PSDL, Package (0x0C) { Zero, "CPU Power", One, "Gfx Core Power", 0x0A, "System Power", Zero, "CPU Average Power", One, "Gfx Core Average Power", 0x0A, "System Average Power" }) Name (OSDL, Package (0x06) { Zero, "CPU Fan Speed", "RPM", Zero, "CPU energy", "RAW" }) Method (TSDD, 0, NotSerialized) { Name (TMPV, Package (0x17) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 }) TMPV [Zero] = ((DTS1 * 0x0A) + 0x0AAC) TMPV [One] = ((DTS2 * 0x0A) + 0x0AAC) TMPV [0x02] = ((DTS3 * 0x0A) + 0x0AAC) TMPV [0x03] = ((DTS4 * 0x0A) + 0x0AAC) TMPV [0x04] = ((PDTS * 0x0A) + 0x0AAC) If (\ECON) { TMPV [0x05] = ((\_SB.PCI0.LPCB.H_EC.CVRT * 0x0A) + 0x0AAC) TMPV [0x06] = ((\_SB.PCI0.LPCB.H_EC.GTVR * 0x0A) + 0x0AAC) TMPV [0x07] = ((\_SB.PCI0.LPCB.H_EC.FANT * 0x0A) + 0x0AAC) TMPV [0x08] = ((\_SB.PCI0.LPCB.H_EC.SKNT * 0x0A) + 0x0AAC) TMPV [0x09] = ((\_SB.PCI0.LPCB.H_EC.AMBT * 0x0A) + 0x0AAC) TMPV [0x0A] = ((\_SB.PCI0.LPCB.H_EC.MCRT * 0x0A) + 0x0AAC) TMPV [0x0B] = ((\_SB.PCI0.LPCB.H_EC.DIM0 * 0x0A) + 0x0AAC) TMPV [0x0C] = ((\_SB.PCI0.LPCB.H_EC.DIM1 * 0x0A) + 0x0AAC) TMPV [0x0D] = ((\_SB.PCI0.LPCB.H_EC.PMAX * 0x0A) + 0x0AAC) TMPV [0x0E] = ((\_SB.PCI0.LPCB.H_EC.PPDT * 0x0A) + 0x0AAC) TMPV [0x0F] = ((\_SB.PCI0.LPCB.H_EC.PECH * 0x0A) + 0x0AAC) TMPV [0x10] = ((\_SB.PCI0.LPCB.H_EC.PMDT * 0x0A) + 0x0AAC) TMPV [0x11] = ((\_SB.PCI0.LPCB.H_EC.TSD0 * 0x0A) + 0x0AAC) TMPV [0x12] = ((\_SB.PCI0.LPCB.H_EC.TSD1 * 0x0A) + 0x0AAC) TMPV [0x13] = ((\_SB.PCI0.LPCB.H_EC.TSD2 * 0x0A) + 0x0AAC) TMPV [0x14] = ((\_SB.PCI0.LPCB.H_EC.TSD3 * 0x0A) + 0x0AAC) } TMPV [0x15] = \_TZ.TZ00._TMP /* External reference */ TMPV [0x16] = \_TZ.TZ01._TMP /* External reference */ Return (TMPV) /* \_SB_.PTID.TSDD.TMPV */ } Method (PSDD, 0, NotSerialized) { Name (PWRV, Package (0x06) { 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000 }) If (\ECON) { PWRV [Zero] = \_SB.PCI0.LPCB.H_EC.CPUP /* External reference */ PWRV [One] = \_SB.PCI0.LPCB.H_EC.MCHP /* External reference */ PWRV [0x02] = (\_SB.PCI0.LPCB.H_EC.SYSP * 0x0A) PWRV [0x03] = \_SB.PCI0.LPCB.H_EC.CPAP /* External reference */ PWRV [0x04] = \_SB.PCI0.LPCB.H_EC.MCAP /* External reference */ PWRV [0x05] = (\_SB.PCI0.LPCB.H_EC.SYAP * 0x0A) } Return (PWRV) /* \_SB_.PTID.PSDD.PWRV */ } Method (OSDD, 0, NotSerialized) { Name (OSDV, Package (0x02) { 0x80000000, 0x80000000 }) If (\ECON) { OSDV [Zero] = \_SB.PCI0.LPCB.H_EC.CFSP /* External reference */ OSDV [One] = \_SB.PCI0.LPCB.H_EC.CPUE /* External reference */ } Return (OSDV) /* \_SB_.PTID.OSDD.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, 0x06A4, 0x06A0, 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){}) If (\ECON) { MTMP [Zero] = \_SB.PCI0.LPCB.H_EC.PRCL /* External reference */ MTMP [One] = \_SB.PCI0.LPCB.H_EC.PRC0 /* External reference */ MTMP [0x02] = \_SB.PCI0.LPCB.H_EC.PRC1 /* External reference */ MTMP [0x03] = \_SB.PCI0.LPCB.H_EC.PRCM /* External reference */ MTMP [0x04] = \_SB.PCI0.LPCB.H_EC.PRIN /* External reference */ MTMP [0x05] = \_SB.PCI0.LPCB.H_EC.PSTE /* External reference */ MTMP [0x06] = \_SB.PCI0.LPCB.H_EC.PCAD /* External reference */ MTMP [0x07] = \_SB.PCI0.LPCB.H_EC.PEWL /* External reference */ MTMP [0x08] = \_SB.PCI0.LPCB.H_EC.PWRL /* External reference */ MTMP [0x09] = \_SB.PCI0.LPCB.H_EC.PECD /* External reference */ MTMP [0x0A] = \_SB.PCI0.LPCB.H_EC.PEHI /* External reference */ MTMP [0x0B] = \_SB.PCI0.LPCB.H_EC.PECI /* External reference */ MTMP [0x0C] = \_SB.PCI0.LPCB.H_EC.PEPL /* External reference */ MTMP [0x0D] = \_SB.PCI0.LPCB.H_EC.PEPM /* External reference */ MTMP [0x0E] = \_SB.PCI0.LPCB.H_EC.PWFC /* External reference */ MTMP [0x0F] = \_SB.PCI0.LPCB.H_EC.PECC /* External reference */ MTMP [0x10] = \_SB.PCI0.LPCB.H_EC.PDT0 /* External reference */ MTMP [0x11] = \_SB.PCI0.LPCB.H_EC.PDT1 /* External reference */ MTMP [0x12] = \_SB.PCI0.LPCB.H_EC.PDT2 /* External reference */ MTMP [0x13] = \_SB.PCI0.LPCB.H_EC.PDT3 /* External reference */ MTMP [0x14] = \_SB.PCI0.LPCB.H_EC.PRFC /* External reference */ MTMP [0x15] = \_SB.PCI0.LPCB.H_EC.PRS0 /* External reference */ MTMP [0x16] = \_SB.PCI0.LPCB.H_EC.PRS1 /* External reference */ MTMP [0x17] = \_SB.PCI0.LPCB.H_EC.PRS2 /* External reference */ MTMP [0x18] = \_SB.PCI0.LPCB.H_EC.PRS3 /* External reference */ MTMP [0x19] = \_SB.PCI0.LPCB.H_EC.PRS4 /* External reference */ } Return (MTMP) /* \_SB_.PTID.RPMD.MTMP */ } Method (WPMD, 1, NotSerialized) { If ((SizeOf (Arg0) != 0x1A)) { Return (Ones) } If (\ECON) { \_SB.PCI0.LPCB.H_EC.PRCL = DerefOf (Arg0 [Zero]) \_SB.PCI0.LPCB.H_EC.PRC0 = DerefOf (Arg0 [One]) \_SB.PCI0.LPCB.H_EC.PRC1 = DerefOf (Arg0 [0x02]) \_SB.PCI0.LPCB.H_EC.PRCM = DerefOf (Arg0 [0x03]) \_SB.PCI0.LPCB.H_EC.PRIN = DerefOf (Arg0 [0x04]) \_SB.PCI0.LPCB.H_EC.PSTE = DerefOf (Arg0 [0x05]) \_SB.PCI0.LPCB.H_EC.PCAD = DerefOf (Arg0 [0x06]) \_SB.PCI0.LPCB.H_EC.PEWL = DerefOf (Arg0 [0x07]) \_SB.PCI0.LPCB.H_EC.PWRL = DerefOf (Arg0 [0x08]) \_SB.PCI0.LPCB.H_EC.PECD = DerefOf (Arg0 [0x09]) \_SB.PCI0.LPCB.H_EC.PEHI = DerefOf (Arg0 [0x0A]) \_SB.PCI0.LPCB.H_EC.PECI = DerefOf (Arg0 [0x0B]) \_SB.PCI0.LPCB.H_EC.PEPL = DerefOf (Arg0 [0x0C]) \_SB.PCI0.LPCB.H_EC.PEPM = DerefOf (Arg0 [0x0D]) \_SB.PCI0.LPCB.H_EC.PWFC = DerefOf (Arg0 [0x0E]) \_SB.PCI0.LPCB.H_EC.PECC = DerefOf (Arg0 [0x0F]) \_SB.PCI0.LPCB.H_EC.PDT0 = DerefOf (Arg0 [0x10]) \_SB.PCI0.LPCB.H_EC.PDT1 = DerefOf (Arg0 [0x11]) \_SB.PCI0.LPCB.H_EC.PDT2 = DerefOf (Arg0 [0x12]) \_SB.PCI0.LPCB.H_EC.PDT3 = DerefOf (Arg0 [0x13]) \_SB.PCI0.LPCB.H_EC.PRFC = DerefOf (Arg0 [0x14]) \_SB.PCI0.LPCB.H_EC.PRS0 = DerefOf (Arg0 [0x15]) \_SB.PCI0.LPCB.H_EC.PRS1 = DerefOf (Arg0 [0x16]) \_SB.PCI0.LPCB.H_EC.PRS2 = DerefOf (Arg0 [0x17]) \_SB.PCI0.LPCB.H_EC.PRS3 = DerefOf (Arg0 [0x18]) \_SB.PCI0.LPCB.H_EC.PRS4 = DerefOf (Arg0 [0x19]) \_SB.PCI0.LPCB.H_EC.ECMD 0x67 } Return (Zero) } Method (ISPC, 0, NotSerialized) { If (\ECON) { \_SB.PCI0.LPCB.H_EC.ECMD 0x65 } Return (Zero) } Method (ENPC, 0, NotSerialized) { If (\ECON) { \_SB.PCI0.LPCB.H_EC.ECMD 0x66 } Return (Zero) } Method (RPCS, 0, NotSerialized) { If (\ECON) { Local0 = \_SB.PCI0.LPCB.H_EC.PRCS /* External reference */ } Return (Local0) } Method (RPEC, 0, NotSerialized) { Local0 = Zero If (\ECON) { Local1 = \_SB.PCI0.LPCB.H_EC.PEC0 /* External reference */ Local0 |= Local1 Local1 = \_SB.PCI0.LPCB.H_EC.PEC1 /* External reference */ Local0 |= (Local1 << 0x08) Local1 = \_SB.PCI0.LPCB.H_EC.PEC2 /* External reference */ Local0 |= (Local1 << 0x10) Local1 = \_SB.PCI0.LPCB.H_EC.PEC3 /* External reference */ 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 (0x0D) { Package (0x06) { 0x00000709, 0x00004268, 0x0000006E, 0x0000000A, 0x00000083, 0x00000000 }, Package (0x06) { 0x00000708, 0x00004268, 0x0000006E, 0x0000000A, 0x00000183, 0x00000001 }, Package (0x06) { 0x000006A4, 0x00003DB6, 0x0000006E, 0x0000000A, 0x00000283, 0x00000002 }, Package (0x06) { 0x00000640, 0x0000391C, 0x0000006E, 0x0000000A, 0x00000383, 0x00000003 }, Package (0x06) { 0x000005DC, 0x0000353F, 0x0000006E, 0x0000000A, 0x00000483, 0x00000004 }, Package (0x06) { 0x00000578, 0x000030D3, 0x0000006E, 0x0000000A, 0x00000583, 0x00000005 }, Package (0x06) { 0x00000514, 0x00002D20, 0x0000006E, 0x0000000A, 0x00000683, 0x00000006 }, Package (0x06) { 0x000004B0, 0x000028E3, 0x0000006E, 0x0000000A, 0x00000783, 0x00000007 }, Package (0x06) { 0x0000044C, 0x00002558, 0x0000006E, 0x0000000A, 0x00000883, 0x00000008 }, Package (0x06) { 0x000003E8, 0x00002146, 0x0000006E, 0x0000000A, 0x00000983, 0x00000009 }, Package (0x06) { 0x00000384, 0x00001DE3, 0x0000006E, 0x0000000A, 0x00000A83, 0x0000000A }, Package (0x06) { 0x00000320, 0x000019FC, 0x0000006E, 0x0000000A, 0x00000B83, 0x0000000B }, Package (0x06) { 0x00000306, 0x0000162D, 0x0000006E, 0x0000000A, 0x00000C83, 0x0000000C } }) 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 (0x0D) // _PSS: Performance Supported States { Package (0x06) { 0x00000709, 0x00004268, 0x0000000A, 0x0000000A, 0x00001200, 0x00001200 }, Package (0x06) { 0x00000708, 0x00004268, 0x0000000A, 0x0000000A, 0x00001200, 0x00001200 }, Package (0x06) { 0x000006A4, 0x00003DB6, 0x0000000A, 0x0000000A, 0x00001100, 0x00001100 }, Package (0x06) { 0x00000640, 0x0000391C, 0x0000000A, 0x0000000A, 0x00001000, 0x00001000 }, Package (0x06) { 0x000005DC, 0x0000353F, 0x0000000A, 0x0000000A, 0x00000F00, 0x00000F00 }, Package (0x06) { 0x00000578, 0x000030D3, 0x0000000A, 0x0000000A, 0x00000E00, 0x00000E00 }, Package (0x06) { 0x00000514, 0x00002D20, 0x0000000A, 0x0000000A, 0x00000D00, 0x00000D00 }, Package (0x06) { 0x000004B0, 0x000028E3, 0x0000000A, 0x0000000A, 0x00000C00, 0x00000C00 }, Package (0x06) { 0x0000044C, 0x00002558, 0x0000000A, 0x0000000A, 0x00000B00, 0x00000B00 }, Package (0x06) { 0x000003E8, 0x00002146, 0x0000000A, 0x0000000A, 0x00000A00, 0x00000A00 }, Package (0x06) { 0x00000384, 0x00001DE3, 0x0000000A, 0x0000000A, 0x00000900, 0x00000900 }, Package (0x06) { 0x00000320, 0x000019FC, 0x0000000A, 0x0000000A, 0x00000800, 0x00000800 }, Package (0x06) { 0x00000306, 0x0000162D, 0x0000000A, 0x0000000A, 0x00000700, 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) { DerefOf (HPSD [Zero]) [0x04] = TCNT /* \TCNT */ DerefOf (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 ", 0xA8992018, 0x000008E4, "APIST ", 0xAAE18A98, 0x00000303, "CPU0CST ", 0xAAE17018, 0x0000083B, "APCST ", 0xAAE16D98, 0x00000119 }) Name (CFGD, 0x0066F6FF) 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, 0xAAFBCF18, 0x0029) Field (PPMT, AnyAcc, Lock, Preserve) { PGRV, 8, Offset (0x05), CNTD, 8, 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 (CTLD, 0, NotSerialized) { If ((\ECON == One)) { If ((CondRefOf (\_PR.CNTD) && CondRefOf (\_SB.PTID.WPMD))) { If (\_PR.CNTD) { Name (BUFF, Buffer (0x1A) { /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x0A, // ......0. /* 0008 */ 0x01, 0xA5, 0x00, 0x21, 0x00, 0x00, 0x07, 0x00, // ...!.... /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........ /* 0018 */ 0x00, 0x00 // .. }) \_SB.PTID.WPMD (BUFF) \_SB.PTID.ISPC () } } } } Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Local0 = COSC (Arg0, Arg1, Arg2, Arg3) GCAP (Local0) CTLD () 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 (SSDT [0x07]), DerefOf (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 (SSDT [0x0A]), DerefOf (SSDT [0x0B])) Load (CST1, HC1) /* \_PR_.CPU1.HC1_ */ } } Method (APPT, 0, NotSerialized) { If (((CFGD & One) && !(SDTL & 0x10))) { SDTL |= 0x10 OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (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) } } }