/* RSD PTR: OEM=ALASKA, ACPI_Rev=2.0x (2) XSDT=0x000000008dbf1078, length=36, cksum=8 */ /* XSDT: Length=108, Revision=1, Checksum=119, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009, Creator ID=AMI, Creator Revision=0x10013 Entries={ 0x000000008dbf6388, 0x000000008dbf6498, 0x000000008dbf6510, 0x000000008dbf6558, 0x000000008dbf6598, 0x000000008dbf6710, 0x000000008dbf6748, 0x000000008dbf7140, 0x000000008dbf90b0 } */ /* FACP: Length=268, Revision=5, Checksum=125, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009, Creator ID=AMI, Creator Revision=0x10013 FACS=0x8dbfa080, DSDT=0x8dbf1178 INT_MODEL=APIC Preferred_PM_Profile=Desktop (1) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xa0, ACPI_DISABLE=0xa1, S4BIOS_REQ=0x0 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x800-0x803 PM1a_CNT_BLK=0x804-0x805 PM_TMR_BLK=0x808-0x80b GPE0_BLK=0x820-0x827 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us FLUSH_SIZE=1024, FLUSH_STRIDE=16 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH={LEGACY_DEVICES} Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,32BIT_TIMER,RESET_REGISTER,PLATFORM_CLOCK,S4_RTC_VALID,REMOTE_POWER_ON} RESET_REG=0xcf9:0[8] (IO), RESET_VALUE=0x6 */ /* FACS: Length=64, HwSig=0xfd4fa628, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=2 */ /* DSDT: Length=21005, Revision=2, Checksum=236, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x0, Creator ID=INTL, Creator Revision=0x20051117 */ /* APIC: Length=114, Revision=3, Checksum=6, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009, Creator ID=AMI, Creator Revision=0x10013 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=1 Flags={ENABLED} APIC ID=16 Type=Local APIC ACPI CPU=2 Flags={ENABLED} APIC ID=17 Type=Local APIC ACPI CPU=3 Flags={ENABLED} APIC ID=18 Type=Local APIC ACPI CPU=4 Flags={ENABLED} APIC ID=19 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-lo, Trigger=level} Type=Local APIC NMI ACPI CPU=ALL LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} */ /* FPDT: Length=68, Revision=1, Checksum=82, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009, Creator ID=AMI, Creator Revision=0x10013 */ /* MCFG: Length=60, Revision=1, Checksum=132, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009, Creator ID=MSFT, Creator Revision=0x10013 Base Address=0x00000000e0000000 Segment Group=0x0000 Start Bus=0 End Bus=255 */ /* SLIC: Length=374, Revision=1, Checksum=23, OEMID=AMI, OEM Table ID=APTIO, OEM Revision=0x1072009, Creator ID=AMI, Creator Revision=0x10013 */ /* HPET: Length=56, Revision=1, Checksum=174, OEMID=ALASKA, OEM Table ID=A M I, OEM Revision=0x1072009, Creator ID=AMI, Creator Revision=0x5 HPET Number=0 ADDR=0x00000000fed00000:0[64] (Memory) HW Rev=0x10 Comparators=2 Counter Size=0 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x1022 Minimal Tick=14318 */ /* SSDT: Length=2552, Revision=1, Checksum=54, OEMID=AMD, OEM Table ID=PUMORI, OEM Revision=0x1, Creator ID=AMD, Creator Revision=0x1 */ /* SSDT: Length=8046, Revision=2, Checksum=8, OEMID=AMD, OEM Table ID=PUMORI, OEM Revision=0x1, Creator ID=MSFT, Creator Revision=0x4000000 */ /* CRAT: Length=680, Revision=1, Checksum=140, OEMID=AMD, OEM Table ID=PUMORI, OEM Revision=0x1, Creator ID=AMD, Creator Revision=0x1 */ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20150515-64 * Copyright (c) 2000 - 2015 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of /tmp/acpidump.EUPRKU, Tue Aug 16 11:06:51 2016 * * Original Table Header: * Signature "DSDT" * Length 0x00007B2B (31531) * Revision 0x02 * Checksum 0xBF * OEM ID "ALASKA" * OEM Table ID "A M I" * OEM Revision 0x00000000 (0) * Compiler ID "INTL" * Compiler Version 0x20051117 (537202967) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 2, "ALASKA", "A M I", 0x00000000) { /* * iASL Warning: There were 1 external control methods found during * disassembly, but additional ACPI tables to resolve these externals * were not specified. This resulting disassembler output file may not * compile because the disassembler did not know how many arguments * to assign to these methods. To specify the tables needed to resolve * external control method references, the -e option can be used to * specify the filenames. Note: SSDTs can be dynamically loaded at * runtime and may or may not be available via the host OS. * Example iASL invocations: * iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml * iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml * iasl -e ssdt*.aml -d dsdt.aml * * In addition, the -fe option can be used to specify a file containing * control method external declarations with the associated method * argument counts. Each line of the file must be of the form: * External (, MethodObj, ) * Invocation: * iasl -fe refs.txt -d dsdt.aml * * The following methods were unresolved and many not compile properly * because the disassembler had to guess at the number of arguments * required for each: */ External (_SB_.ALIC, MethodObj) // Warning: Unresolved method, guessing 6 arguments Name (SP1O, 0x2E) Name (IO1B, 0x0A00) Name (IO1L, 0x20) Name (IO2B, 0x0A20) Name (IO2L, 0x10) Name (IO3B, 0x0A30) Name (IO3L, 0x10) Name (SMBB, 0x0B20) Name (SMBL, 0x20) Name (SMB0, 0x0B00) Name (SMBM, 0x10) Name (PMBS, 0x0800) Name (PMLN, 0xA0) Name (SMIO, 0xB2) Name (GPBS, Zero) Name (GPLN, Zero) Name (APCB, 0xFEC00000) Name (APCL, 0x1000) Name (SPIB, 0xFEC10000) Name (SPIL, 0x1000) Name (HPTB, 0xFED00000) Name (HPTL, 0x1000) Name (GIOB, 0xFED80100) Name (IOMB, 0xFED80D00) Name (SSMB, 0xFED80200) Name (PEBS, 0xE0000000) Name (PEBL, 0x10000000) Name (PXNO, 0x02) Name (DSSP, Zero) Name (FHPP, Zero) Name (ACPH, 0xDE) Name (ASSB, Zero) Name (AOTB, Zero) Name (AAXB, Zero) Name (PEHP, One) Name (SHPC, One) Name (PEER, One) Name (PECS, One) Name (ITKE, Zero) Name (SRSI, 0xB2) Name (CSMI, 0x61) Name (PEPM, One) Name (CPVD, One) Name (HIDK, "MSFT0001") Name (HIDM, "MSFT0003") Name (CIDK, 0x0303D041) Name (CIDM, 0x030FD041) Name (ATIS, 0xB0) Name (MBEC, Zero) Name (PICM, Zero) Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { If (Arg0) { DBG8 = 0xAA } Else { DBG8 = 0xAC } PICM = Arg0 } Name (OSVR, Ones) Method (OSFL, 0, NotSerialized) { If ((OSVR != Ones)) { Return (OSVR) /* \OSVR */ } If ((PICM == Zero)) { DBG8 = 0xAC } OSVR = 0x03 If (CondRefOf (_OSI, Local0)) { If (_OSI ("Windows 2001")) { OSVR = 0x04 } If (_OSI ("Windows 2001.1")) { OSVR = 0x05 } 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 = 0x0F } } Else { If (MCTH (_OS, "Microsoft Windows NT")) { OSVR = Zero } If (MCTH (_OS, "Microsoft Windows")) { OSVR = One } If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { OSVR = 0x02 } If (MCTH (_OS, "Linux")) { OSVR = 0x03 } If (MCTH (_OS, "FreeBSD")) { OSVR = 0x06 } If (MCTH (_OS, "HP-UX")) { OSVR = 0x07 } If (MCTH (_OS, "OpenVMS")) { OSVR = 0x08 } } Return (OSVR) /* \OSVR */ } 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 (Index (BUF0, Local0)) != DerefOf (Index (BUF1, Local0 )))) { Return (Zero) } } Return (One) } Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { Index (PRWP, Zero) = Arg0 Local0 = (SS1 << One) Local0 |= (SS2 << 0x02) Local0 |= (SS3 << 0x03) Local0 |= (SS4 << 0x04) If (((One << Arg1) & Local0)) { Index (PRWP, One) = Arg1 } Else { Local0 >>= One If (((OSFL () == One) || (OSFL () == 0x02))) { FindSetLeftBit (Local0, Index (PRWP, One)) } Else { FindSetRightBit (Local0, Index (PRWP, One)) } } Return (PRWP) /* \PRWP */ } Name (WAKP, Package (0x02) { Zero, Zero }) OperationRegion (DEB0, SystemIO, 0x80, One) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, 0x90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Name (SS1, Zero) Name (SS2, Zero) Name (SS3, One) Name (SS4, One) Name (IOST, 0x8001) Name (TOPM, 0x00000000) Name (ROMS, 0xFFE00000) Name (VGAF, One) OperationRegion (DEB2, SystemIO, 0x80, 0x02) Field (DEB2, WordAcc, NoLock, Preserve) { P80H, 16 } Name (OSTY, Ones) OperationRegion (ACMS, SystemIO, 0x72, 0x10) Field (ACMS, ByteAcc, NoLock, Preserve) { ICMS, 8, DCMS, 8, Offset (0x0E), P80, 8 } Name (PCIE, 0xE0000000) Name (OSCF, Zero) Name (GGN2, One) OperationRegion (CMPT, SystemIO, 0x0C50, 0x03) Field (CMPT, ByteAcc, NoLock, Preserve) { CMID, 8, , 6, GPCT, 2, GP0I, 1, GP1I, 1, GP2I, 1, GP3I, 1, GP4I, 1, GP5I, 1, GP6I, 1, GP7I, 1 } OperationRegion (PCFG, SystemMemory, PCIE, 0x02000000) Field (PCFG, AnyAcc, NoLock, Preserve) { Offset (0x20078), Offset (0x2007A), PMSA, 1, Offset (0x28078), Offset (0x2807A), PMSB, 1, Offset (0x48078), Offset (0x4807A), PMSC, 1, Offset (0x8800A), STCL, 16, Offset (0x880FC), RMBA, 32, Offset (0xA0004), SMIE, 1, SMME, 1, Offset (0xA0008), RVID, 8, Offset (0xA0014), SMB1, 32, Offset (0xA0082), , 2, G31O, 1, Offset (0xA00E1), , 6, ACIR, 1, Offset (0xA4004), PCMD, 2, Offset (0xA807A), PMS0, 1, Offset (0xA8088), TLS0, 4, Offset (0xA907A), PMS1, 1, Offset (0xA9088), TLS1, 4, Offset (0xAA07A), PMS2, 1, Offset (0xAA088), TLS2, 4, Offset (0xAB07A), PMS3, 1, Offset (0xAB088), TLS3, 4 } OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02) Field (PMIO, ByteAcc, NoLock, Preserve) { INPM, 8, DAPM, 8 } IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve) { Offset (0x24), MMSO, 32, Offset (0x50), HPAD, 32, Offset (0x60), P1EB, 16 } OperationRegion (ERMM, SystemMemory, MMSO, 0x1000) Field (ERMM, AnyAcc, NoLock, Preserve) { Offset (0x105), , 5, G06E, 1, G06O, 1, G06I, 1, G07B, 8, Offset (0x10A), G0BB, 8, Offset (0x10D), G0EB, 8, Offset (0x113), , 5, G14E, 1, G14O, 1, G14I, 1, , 5, G15E, 1, G15O, 1, G15I, 1, Offset (0x11B), , 7, G1CI, 1, Offset (0x11F), , 7, G20I, 1, Offset (0x122), , 5, G23E, 1, G23O, 1, G23I, 1, Offset (0x12B), , 5, G2CE, 1, G2CO, 1, G2CI, 1, , 5, G2DE, 1, G2DO, 1, G2DI, 1, Offset (0x132), , 5, G33E, 1, G33O, 1, G33I, 1, Offset (0x134), , 5, G35E, 1, G35O, 1, Offset (0x136), , 5, G37E, 1, G37O, 1, G37I, 1, Offset (0x13F), , 7, G40I, 1, Offset (0x164), , 7, GE05, 1, , 7, GE06, 1, Offset (0x16E), , 7, GE15, 1, , 7, GE16, 1, Offset (0x175), , 7, GE22, 1, Offset (0x1A9), , 5, GAAE, 1, GAAO, 1, GAAI, 1, , 5, GABE, 1, GABO, 1, Offset (0x1AE), GAFB, 8, GB0B, 8, Offset (0x1FF), , 9, GESA, 1, Offset (0x207), , 5, E05C, 1, E06C, 1, Offset (0x208), E08C, 1, E09C, 1, Offset (0x209), E10C, 1, Offset (0x20A), , 5, E1DC, 1, Offset (0x2AF), , 2, SLPS, 2, Offset (0x376), EPNM, 1, DPPF, 1, Offset (0x3BA), , 6, PWDE, 1, Offset (0x3BD), , 5, ALLS, 1, Offset (0x3EF), PHYD, 1, , 1, , 1, US5R, 1, Offset (0x3F5), GECD, 1, Offset (0xD05), G06M, 8, G07M, 8, Offset (0xD0A), G0BM, 8, Offset (0xD0D), G0EM, 8, Offset (0xD13), G14M, 8, Offset (0xD1B), G1CM, 8, Offset (0xD1F), G20M, 8, Offset (0xD22), G23M, 8, Offset (0xD2C), G2DM, 8, Offset (0xD36), G37M, 8, Offset (0xD6F), G70M, 8, Offset (0xD75), G76M, 8, Offset (0xDA9), GAAM, 8, Offset (0xDAE), GAFM, 8, GB0M, 8, Offset (0xE7F), , 2, IMCS, 1 } OperationRegion (ABIO, SystemIO, 0x0CD8, 0x08) Field (ABIO, DWordAcc, NoLock, Preserve) { INAB, 32, DAAB, 32 } Method (RDAB, 1, NotSerialized) { INAB = Arg0 Return (DAAB) /* \DAAB */ } Method (WTAB, 2, NotSerialized) { INAB = Arg0 DAAB = Arg1 } Method (RWAB, 3, NotSerialized) { Local0 = (RDAB (Arg0) & Arg1) Local1 = (Local0 | Arg2) WTAB (Arg0, Local1) } Method (CABR, 3, NotSerialized) { Local0 = (Arg0 << 0x05) Local1 = (Local0 + Arg1) Local2 = (Local1 << 0x18) Local3 = (Local2 + Arg2) Return (Local3) } Method (GHPS, 2, NotSerialized) { If ((Arg0 == Zero)) { RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFBFFF, Zero) RWAB (CABR (One, Zero, 0x65), 0xFFFFFBFB, Zero) Stall (0xC8) } If ((Arg0 == One)) { RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFBFFF, 0x4000) RWAB (CABR (One, Zero, 0x65), 0xFFFFFBFB, 0x0404) Stall (0xC8) } If (GGN2) { If ((Arg0 == Zero)) { GEN2 () Local0 = RDAB (CABR (0x03, 0x02, 0xA5)) Local0 &= 0xFF Local1 = 0x01F4 While (((Local1 > Zero) && (Local0 != 0x10))) { Local0 = RDAB (CABR (0x03, 0x02, 0xA5)) Local0 &= 0xFF Local1-- Stall (0xC8) Stall (0xC8) } If ((Local0 != 0x10)) { GEN1 () } } } } Method (GEN2, 0, NotSerialized) { TLS2 = 0x02 RWAB (CABR (0x03, 0x02, 0xA4), 0xFFFFFFFE, One) RWAB (CABR (0x03, 0x02, 0xA2), 0xFFFFDFFF, 0x2000) RWAB (CABR (0x03, 0x02, 0xC0), 0xFFFF7FFF, 0x8000) RWAB (CABR (0x03, 0x02, 0xA4), 0xDFFFFFFF, 0x20000000) Stall (0xC8) Stall (0xC8) } Method (GEN1, 0, NotSerialized) { TLS2 = One RWAB (CABR (0x03, 0x02, 0xA4), 0xFFFFFFFE, Zero) RWAB (CABR (0x03, 0x02, 0xA2), 0xFFFFDFFF, 0x2000) Stall (0xC8) Stall (0xC8) } OperationRegion (P1E0, SystemIO, P1EB, 0x04) Field (P1E0, ByteAcc, NoLock, Preserve) { , 14, PEWS, 1, WSTA, 1, , 14, PEWD, 1 } Method (SPTS, 1, NotSerialized) { PCMD = One P80 = Arg0 If (IMCS) { IBSE () } CPMS () CPMS () PEWS = One } Method (SWAK, 1, NotSerialized) { If (PICM) { \_SB.IRQC () } CPMS () CPMS () PEWS = One If (IMCS) { IBWE () } } Method (TRMD, 1, NotSerialized) { } Method (CPMS, 0, NotSerialized) { If ((EPNM == Zero)) { PMSA = One PMSB = One PMSC = One PMS0 = One PMS1 = One PMS2 = One PMS3 = One } } Scope (_GPE) { } OperationRegion (IMIO, SystemIO, 0x3E, 0x02) Field (IMIO, ByteAcc, NoLock, Preserve) { IMCX, 8, IMCA, 8 } IndexField (IMCX, IMCA, ByteAcc, NoLock, Preserve) { Offset (0x80), MSTI, 8, MITS, 8, MRG0, 8, MRG1, 8, MRG2, 8, MRG3, 8 } Method (WACK, 0, NotSerialized) { Local0 = Zero While ((Local0 != 0xFA)) { Local0 = MRG0 /* \MRG0 */ Sleep (0x0A) } } Method (IBSE, 0, NotSerialized) { MRG0 = Zero MRG1 = 0xB5 MRG2 = Zero MSTI = 0x96 WACK () MRG0 = Zero MRG1 = Zero MRG2 = Zero MSTI = 0x80 WACK () Local0 = MRG2 /* \MRG2 */ Local0 &= 0xFE MRG0 = Zero MRG1 = Zero MRG2 = Local0 MSTI = 0x81 WACK () MRG0 = Zero MRG1 = One MRG2 = Zero MSTI = 0x98 WACK () MRG0 = Zero MRG1 = 0xB4 MRG2 = Zero MSTI = 0x96 WACK () } Method (IBWE, 0, NotSerialized) { MRG0 = Zero MRG1 = 0xB5 MRG2 = Zero MSTI = 0x96 WACK () MRG0 = Zero MRG1 = Zero MRG2 = Zero MSTI = 0x80 WACK () Local0 = MRG2 /* \MRG2 */ Local0 |= One MRG0 = Zero MRG1 = Zero MRG2 = Local0 MSTI = 0x81 WACK () } Scope (_SB) { Name (PR00, Package (0x2B) { Package (0x04) { 0x0014FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0014FFFF, One, LNKB, Zero }, Package (0x04) { 0x0014FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0014FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0012FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0012FFFF, One, LNKB, Zero }, Package (0x04) { 0x0013FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0013FFFF, One, LNKB, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x0010FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0010FFFF, One, LNKB, Zero }, Package (0x04) { 0x0011FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0015FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0015FFFF, One, LNKB, Zero }, Package (0x04) { 0x0015FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0015FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0001FFFF, One, LNKC, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0002FFFF, One, LNKD, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKB, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0003FFFF, One, LNKA, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKC, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKB, Zero }, Package (0x04) { 0x0005FFFF, One, LNKC, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKD, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKC, Zero }, Package (0x04) { 0x0006FFFF, One, LNKD, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKA, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKB, Zero }, Package (0x04) { 0x0007FFFF, Zero, LNKD, Zero }, Package (0x04) { 0x0007FFFF, One, LNKA, Zero }, Package (0x04) { 0x0007FFFF, 0x02, LNKB, Zero }, Package (0x04) { 0x0007FFFF, 0x03, LNKC, Zero } }) Name (AR00, Package (0x2B) { Package (0x04) { 0x0014FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0014FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0014FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0014FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0012FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0012FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0013FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0013FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0010FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0010FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0011FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0015FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0015FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0015FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0015FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x12 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x13 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x11 }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x0007FFFF, One, Zero, 0x10 }, Package (0x04) { 0x0007FFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0x0007FFFF, 0x03, Zero, 0x12 } }) Name (PR20, 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 (AR20, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR21, 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 (AR21, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR22, 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 (AR22, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR23, 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 (AR23, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR12, 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 (AR12, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR13, 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 (AR13, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR14, 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 (AR14, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR15, 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 (AR15, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR16, 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 (AR16, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR17, 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 (AR17, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {4,5,7,10,11,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 ("PNP0A03") /* PCI Bus */) // _HID: Hardware ID Name (_ADR, 0x00180000) // _ADR: Address Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN00 ()) } Name (_UID, Zero) // _UID: Unique ID Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR00) /* \_SB_.AR00 */ } Return (PR00) /* \_SB_.PR00 */ } Name (CPRB, One) Name (LVGA, 0x01) Name (STAV, 0x0F) Name (BRB, 0x0000) Name (BRL, 0x0100) Name (IOB, 0x1000) Name (IOL, 0xF000) Name (MBB, 0xC0000000) Name (MBL, 0x40000000) Name (MABL, 0x00000000) Name (MABH, 0x00000000) Name (MALL, 0x00000000) Name (MALH, 0x00000000) Name (MAML, 0x00000000) Name (MAMH, 0x00000000) Name (CRS1, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x007F, // Range Maximum 0x0000, // Translation Offset 0x0080, // Length ,, _Y00) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x03AF, // Range Maximum 0x0000, // Translation Offset 0x03B0, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x03E0, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0918, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0000, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, _Y02, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0x0FFF, // Range Maximum 0x0000, // Translation Offset 0x0300, // Length ,, _Y01, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x02000000, // Range Minimum 0xFFDFFFFF, // Range Maximum 0x00000000, // Translation Offset 0xFDFC0000, // Length ,, _Y04, AddressRangeMemory, TypeStatic) QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000000000000000, // Range Minimum 0x0000000000000000, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000000000000, // Length ,, _Y05, AddressRangeMemory, TypeStatic) }) Name (CRS2, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0080, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0080, // Length ,, _Y06) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0000, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, _Y08, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0000, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, _Y07, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x80000000, // Range Minimum 0xFFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x80000000, // Length ,, _Y0A, AddressRangeMemory, TypeStatic) QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000000000000000, // Range Minimum 0x0000000000000000, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000000000000, // Length ,, _Y0B, AddressRangeMemory, TypeStatic) }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (STAV) /* \_SB_.PCI0.STAV */ } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (CPRB) { CreateWordField (CRS1, \_SB.PCI0._Y00._MIN, MIN0) // _MIN: Minimum Base Address CreateWordField (CRS1, \_SB.PCI0._Y00._MAX, MAX0) // _MAX: Maximum Base Address CreateWordField (CRS1, \_SB.PCI0._Y00._LEN, LEN0) // _LEN: Length MIN0 = BRB /* \_SB_.PCI0.BRB_ */ LEN0 = BRL /* \_SB_.PCI0.BRL_ */ Local0 = LEN0 /* \_SB_.PCI0._CRS.LEN0 */ MAX0 = (MIN0 + Local0--) CreateWordField (CRS1, \_SB.PCI0._Y01._MIN, MIN1) // _MIN: Minimum Base Address CreateWordField (CRS1, \_SB.PCI0._Y01._MAX, MAX1) // _MAX: Maximum Base Address CreateWordField (CRS1, \_SB.PCI0._Y01._LEN, LEN1) // _LEN: Length If ((IOB == 0x1000)) { Local0 = IOL /* \_SB_.PCI0.IOL_ */ MAX1 = (IOB + Local0--) Local0 = (MAX1 - MIN1) /* \_SB_.PCI0._CRS.MIN1 */ LEN1 = (Local0 + One) } Else { MIN1 = IOB /* \_SB_.PCI0.IOB_ */ LEN1 = IOL /* \_SB_.PCI0.IOL_ */ Local0 = LEN1 /* \_SB_.PCI0._CRS.LEN1 */ MAX1 = (MIN1 + Local0--) } If (((LVGA == One) || (LVGA == 0x55))) { If (VGAF) { CreateWordField (CRS1, \_SB.PCI0._Y02._MIN, IMN1) // _MIN: Minimum Base Address CreateWordField (CRS1, \_SB.PCI0._Y02._MAX, IMX1) // _MAX: Maximum Base Address CreateWordField (CRS1, \_SB.PCI0._Y02._LEN, ILN1) // _LEN: Length IMN1 = 0x03B0 IMX1 = 0x03DF ILN1 = 0x30 CreateDWordField (CRS1, \_SB.PCI0._Y03._MIN, VMN1) // _MIN: Minimum Base Address CreateDWordField (CRS1, \_SB.PCI0._Y03._MAX, VMX1) // _MAX: Maximum Base Address CreateDWordField (CRS1, \_SB.PCI0._Y03._LEN, VLN1) // _LEN: Length VMN1 = 0x000A0000 VMX1 = 0x000BFFFF VLN1 = 0x00020000 VGAF = Zero } } CreateDWordField (CRS1, \_SB.PCI0._Y04._MIN, MIN3) // _MIN: Minimum Base Address CreateDWordField (CRS1, \_SB.PCI0._Y04._MAX, MAX3) // _MAX: Maximum Base Address CreateDWordField (CRS1, \_SB.PCI0._Y04._LEN, LEN3) // _LEN: Length MIN3 = MBB /* \_SB_.PCI0.MBB_ */ LEN3 = MBL /* \_SB_.PCI0.MBL_ */ Local0 = LEN3 /* \_SB_.PCI0._CRS.LEN3 */ MAX3 = (MIN3 + Local0--) If ((MALH || MALL)) { CreateDWordField (CRS1, \_SB.PCI0._Y05._MIN, MN8L) // _MIN: Minimum Base Address Local0 = (0xB4 + 0x04) CreateDWordField (CRS1, Local0, MN8H) MN8L = MABL /* \_SB_.PCI0.MABL */ MN8H = MABH /* \_SB_.PCI0.MABH */ CreateDWordField (CRS1, \_SB.PCI0._Y05._MAX, MX8L) // _MAX: Maximum Base Address Local1 = (0xBC + 0x04) CreateDWordField (CRS1, Local1, MX8H) CreateDWordField (CRS1, \_SB.PCI0._Y05._LEN, LN8L) // _LEN: Length Local2 = (0xCC + 0x04) CreateDWordField (CRS1, Local2, LN8H) MN8L = MABL /* \_SB_.PCI0.MABL */ MN8H = MABH /* \_SB_.PCI0.MABH */ LN8L = MALL /* \_SB_.PCI0.MALL */ LN8H = MALH /* \_SB_.PCI0.MALH */ MX8L = MAML /* \_SB_.PCI0.MAML */ MX8H = MAMH /* \_SB_.PCI0.MAMH */ } Return (CRS1) /* \_SB_.PCI0.CRS1 */ } Else { CreateWordField (CRS2, \_SB.PCI0._Y06._MIN, MIN2) // _MIN: Minimum Base Address CreateWordField (CRS2, \_SB.PCI0._Y06._MAX, MAX2) // _MAX: Maximum Base Address CreateWordField (CRS2, \_SB.PCI0._Y06._LEN, LEN2) // _LEN: Length MIN2 = BRB /* \_SB_.PCI0.BRB_ */ LEN2 = BRL /* \_SB_.PCI0.BRL_ */ Local1 = LEN2 /* \_SB_.PCI0._CRS.LEN2 */ MAX2 = (MIN2 + Local1--) CreateWordField (CRS2, \_SB.PCI0._Y07._MIN, MIN4) // _MIN: Minimum Base Address CreateWordField (CRS2, \_SB.PCI0._Y07._MAX, MAX4) // _MAX: Maximum Base Address CreateWordField (CRS2, \_SB.PCI0._Y07._LEN, LEN4) // _LEN: Length MIN4 = IOB /* \_SB_.PCI0.IOB_ */ LEN4 = IOL /* \_SB_.PCI0.IOL_ */ Local1 = LEN4 /* \_SB_.PCI0._CRS.LEN4 */ MAX4 = (MIN4 + Local1--) If (LVGA) { CreateWordField (CRS2, \_SB.PCI0._Y08._MIN, IMN2) // _MIN: Minimum Base Address CreateWordField (CRS2, \_SB.PCI0._Y08._MAX, IMX2) // _MAX: Maximum Base Address CreateWordField (CRS2, \_SB.PCI0._Y08._LEN, ILN2) // _LEN: Length IMN2 = 0x03B0 IMX2 = 0x03DF ILN2 = 0x30 CreateDWordField (CRS2, \_SB.PCI0._Y09._MIN, VMN2) // _MIN: Minimum Base Address CreateDWordField (CRS2, \_SB.PCI0._Y09._MAX, VMX2) // _MAX: Maximum Base Address CreateDWordField (CRS2, \_SB.PCI0._Y09._LEN, VLN2) // _LEN: Length VMN2 = 0x000A0000 VMX2 = 0x000BFFFF VLN2 = 0x00020000 } CreateDWordField (CRS2, \_SB.PCI0._Y0A._MIN, MIN5) // _MIN: Minimum Base Address CreateDWordField (CRS2, \_SB.PCI0._Y0A._MAX, MAX5) // _MAX: Maximum Base Address CreateDWordField (CRS2, \_SB.PCI0._Y0A._LEN, LEN5) // _LEN: Length MIN5 = MBB /* \_SB_.PCI0.MBB_ */ LEN5 = MBL /* \_SB_.PCI0.MBL_ */ Local1 = LEN5 /* \_SB_.PCI0._CRS.LEN5 */ MAX5 = (MIN5 + Local1--) If ((MALH || MALL)) { CreateDWordField (CRS2, \_SB.PCI0._Y0B._MIN, MN9L) // _MIN: Minimum Base Address Local0 = (0x72 + 0x04) CreateDWordField (CRS2, Local0, MN9H) CreateDWordField (CRS2, \_SB.PCI0._Y0B._MAX, MX9L) // _MAX: Maximum Base Address Local1 = (0x7A + 0x04) CreateDWordField (CRS2, Local1, MX9H) CreateDWordField (CRS2, \_SB.PCI0._Y0B._LEN, LN9L) // _LEN: Length Local2 = (0x8A + 0x04) CreateDWordField (CRS2, Local2, LN9H) MN9L = MABL /* \_SB_.PCI0.MABL */ MN9H = MABH /* \_SB_.PCI0.MABH */ LN9L = MALL /* \_SB_.PCI0.MALL */ LN9H = MALH /* \_SB_.PCI0.MALH */ MX9L = MAML /* \_SB_.PCI0.MAML */ MX9H = MAMH /* \_SB_.PCI0.MAMH */ } Return (CRS2) /* \_SB_.PCI0.CRS2 */ } } Scope (\_SB) { Scope (PCI0) { Device (AMDN) { Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID Name (_UID, 0xC8) // _UID: Unique ID Name (_STA, 0x0F) // _STA: Status Name (NPTR, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y0C) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (NPTR, \_SB.PCI0.AMDN._Y0C._LEN, PL) // _LEN: Length CreateDWordField (NPTR, \_SB.PCI0.AMDN._Y0C._BAS, PB) // _BAS: Base Address PB = PEBS /* \PEBS */ PL = PEBL /* \PEBL */ Return (NPTR) /* \_SB_.PCI0.AMDN.NPTR */ } } } } Method (NPTS, 1, NotSerialized) { APTS (Arg0) } Method (NWAK, 1, NotSerialized) { AWAK (Arg0) } Device (IDEC) { Name (_ADR, 0x00140001) // _ADR: Address Name (UDMT, Package (0x08) { 0x78, 0x5A, 0x3C, 0x2D, 0x1E, 0x14, 0x0F, Zero }) Name (PIOT, Package (0x06) { 0x0258, 0x0186, 0x010E, 0xB4, 0x78, Zero }) Name (PITR, Package (0x06) { 0x99, 0x47, 0x34, 0x22, 0x20, 0x99 }) Name (MDMT, Package (0x04) { 0x01E0, 0x96, 0x78, Zero }) Name (MDTR, Package (0x04) { 0x77, 0x21, 0x20, 0xFF }) OperationRegion (IDE, PCI_Config, 0x40, 0x20) Field (IDE, AnyAcc, NoLock, Preserve) { PPIT, 16, SPIT, 16, PMDT, 16, SMDT, 16, PPIC, 8, SPIC, 8, PPIM, 8, SPIM, 8, Offset (0x14), PUDC, 2, SUDC, 2, Offset (0x16), PUDM, 8, SUDM, 8 } Method (GETT, 1, NotSerialized) { Local0 = (Arg0 & 0x0F) Local1 = (Arg0 >> 0x04) Return ((0x1E * ((Local0 + One) + (Local1 + One) ))) } Method (GTM, 1, NotSerialized) { CreateByteField (Arg0, Zero, PIT1) CreateByteField (Arg0, One, PIT0) CreateByteField (Arg0, 0x02, MDT1) CreateByteField (Arg0, 0x03, MDT0) CreateByteField (Arg0, 0x04, PICX) CreateByteField (Arg0, 0x05, UDCX) CreateByteField (Arg0, 0x06, UDMX) Name (BUF, Buffer (0x14) { /* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */ /* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* ........ */ /* 0010 */ 0x00, 0x00, 0x00, 0x00 /* .... */ }) CreateDWordField (BUF, Zero, PIO0) CreateDWordField (BUF, 0x04, DMA0) CreateDWordField (BUF, 0x08, PIO1) CreateDWordField (BUF, 0x0C, DMA1) CreateDWordField (BUF, 0x10, FLAG) If ((PICX & One)) { Return (BUF) /* \_SB_.PCI0.IDEC.GTM_.BUF_ */ } PIO0 = GETT (PIT0) PIO1 = GETT (PIT1) If ((UDCX & One)) { FLAG |= One DMA0 = DerefOf (Index (UDMT, (UDMX & 0x0F))) } Else { DMA0 = GETT (MDT0) } If ((UDCX & 0x02)) { FLAG |= 0x04 DMA1 = DerefOf (Index (UDMT, (UDMX >> 0x04))) } Else { DMA1 = GETT (MDT1) } FLAG |= 0x1A Return (BUF) /* \_SB_.PCI0.IDEC.GTM_.BUF_ */ } Method (STM, 3, NotSerialized) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 /* ....... */ }) CreateByteField (BUF, Zero, PIT1) CreateByteField (BUF, One, PIT0) CreateByteField (BUF, 0x02, MDT1) CreateByteField (BUF, 0x03, MDT0) CreateByteField (BUF, 0x04, PIMX) CreateByteField (BUF, 0x05, UDCX) CreateByteField (BUF, 0x06, UDMX) Local0 = Match (PIOT, MLE, PIO0, MTR, Zero, Zero) Divide (Local0, 0x05, Local0) Local1 = Match (PIOT, MLE, PIO1, MTR, Zero, Zero) Divide (Local1, 0x05, Local1) PIMX = ((Local1 << 0x04) | Local0) PIT0 = DerefOf (Index (PITR, Local0)) PIT1 = DerefOf (Index (PITR, Local1)) If ((FLAG & One)) { Local0 = Match (UDMT, MLE, DMA0, MTR, Zero, Zero) Divide (Local0, 0x07, Local0) UDMX |= Local0 UDCX |= One } Else { If ((DMA0 != 0xFFFFFFFF)) { Local0 = Match (MDMT, MLE, DMA0, MTR, Zero, Zero) MDT0 = DerefOf (Index (MDTR, Local0)) } } If ((FLAG & 0x04)) { Local0 = Match (UDMT, MLE, DMA1, MTR, Zero, Zero) Divide (Local0, 0x07, Local0) UDMX |= (Local0 << 0x04) UDCX |= 0x02 } Else { If ((DMA1 != 0xFFFFFFFF)) { Local0 = Match (MDMT, MLE, DMA1, MTR, Zero, Zero) MDT1 = DerefOf (Index (MDTR, Local0)) } } Return (BUF) /* \_SB_.PCI0.IDEC.STM_.BUF_ */ } Method (GTF, 2, NotSerialized) { CreateByteField (Arg1, Zero, MDT1) CreateByteField (Arg1, One, MDT0) CreateByteField (Arg1, 0x02, PIMX) CreateByteField (Arg1, 0x03, UDCX) CreateByteField (Arg1, 0x04, UDMX) If ((Arg0 == 0xA0)) { Local0 = (PIMX & 0x0F) Local1 = MDT0 /* \_SB_.PCI0.IDEC.GTF_.MDT0 */ Local2 = (UDCX & One) Local3 = (UDMX & 0x0F) } Else { Local0 = (PIMX >> 0x04) Local1 = MDT1 /* \_SB_.PCI0.IDEC.GTF_.MDT1 */ Local2 = (UDCX & 0x02) Local3 = (UDMX >> 0x04) } Name (BUF, Buffer (0x15) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03, /* ........ */ /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x00, 0x00, /* ........ */ /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0xF5 /* ..... */ }) CreateByteField (BUF, One, PMOD) CreateByteField (BUF, 0x08, DMOD) CreateByteField (BUF, 0x05, CMDA) CreateByteField (BUF, 0x0C, CMDB) CreateByteField (BUF, 0x13, CMDC) CMDA = Arg0 CMDB = Arg0 CMDC = Arg0 PMOD = (Local0 | 0x08) If (Local2) { DMOD = (Local3 | 0x40) } Else { Local4 = Match (MDMT, MLE, GETT (Local1), MTR, Zero, Zero) If ((Local4 < 0x03)) { DMOD = (0x20 | Local4) } } Return (BUF) /* \_SB_.PCI0.IDEC.GTF_.BUF_ */ } Device (PRID) { Name (_ADR, Zero) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 /* ....... */ }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) VPIT = PPIT /* \_SB_.PCI0.IDEC.PPIT */ VMDT = PMDT /* \_SB_.PCI0.IDEC.PMDT */ VPIC = PPIC /* \_SB_.PCI0.IDEC.PPIC */ VUDC = PUDC /* \_SB_.PCI0.IDEC.PUDC */ VUDM = PUDM /* \_SB_.PCI0.IDEC.PUDM */ Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ....... */ }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) BUF = STM (Arg0, Arg1, Arg2) PPIT = VPIT /* \_SB_.PCI0.IDEC.PRID._STM.VPIT */ PMDT = VMDT /* \_SB_.PCI0.IDEC.PRID._STM.VMDT */ PPIM = VPIM /* \_SB_.PCI0.IDEC.PRID._STM.VPIM */ PUDC = VUDC /* \_SB_.PCI0.IDEC.PRID._STM.VUDC */ PUDM = VUDM /* \_SB_.PCI0.IDEC.PRID._STM.VUDM */ } Device (P_D0) { Name (_ADR, Zero) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 /* ..... */ }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) VMDT = PMDT /* \_SB_.PCI0.IDEC.PMDT */ VPIM = PPIM /* \_SB_.PCI0.IDEC.PPIM */ VUDC = PUDC /* \_SB_.PCI0.IDEC.PUDC */ VUDM = PUDM /* \_SB_.PCI0.IDEC.PUDM */ Return (GTF (0xA0, BUF)) } } Device (P_D1) { Name (_ADR, One) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 /* ..... */ }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) VMDT = PMDT /* \_SB_.PCI0.IDEC.PMDT */ VPIM = PPIM /* \_SB_.PCI0.IDEC.PPIM */ VUDC = PUDC /* \_SB_.PCI0.IDEC.PUDC */ VUDM = PUDM /* \_SB_.PCI0.IDEC.PUDM */ Return (GTF (0xB0, BUF)) } } } Device (SECD) { Name (_ADR, One) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 /* ....... */ }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) VPIT = SPIT /* \_SB_.PCI0.IDEC.SPIT */ VMDT = SMDT /* \_SB_.PCI0.IDEC.SMDT */ VPIC = SPIC /* \_SB_.PCI0.IDEC.SPIC */ VUDC = SUDC /* \_SB_.PCI0.IDEC.SUDC */ VUDM = SUDM /* \_SB_.PCI0.IDEC.SUDM */ Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ....... */ }) CreateWordField (BUF, Zero, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) BUF = STM (Arg0, Arg1, Arg2) SPIT = VPIT /* \_SB_.PCI0.IDEC.SECD._STM.VPIT */ SMDT = VMDT /* \_SB_.PCI0.IDEC.SECD._STM.VMDT */ SPIM = VPIM /* \_SB_.PCI0.IDEC.SECD._STM.VPIM */ SUDC = VUDC /* \_SB_.PCI0.IDEC.SECD._STM.VUDC */ SUDM = VUDM /* \_SB_.PCI0.IDEC.SECD._STM.VUDM */ } Device (S_D0) { Name (_ADR, Zero) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 /* ..... */ }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) VMDT = SMDT /* \_SB_.PCI0.IDEC.SMDT */ VPIM = SPIM /* \_SB_.PCI0.IDEC.SPIM */ VUDC = SUDC /* \_SB_.PCI0.IDEC.SUDC */ VUDM = SUDM /* \_SB_.PCI0.IDEC.SUDM */ Return (GTF (0xA0, BUF)) } } Device (S_D1) { Name (_ADR, One) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 /* ..... */ }) CreateWordField (BUF, Zero, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) VMDT = SMDT /* \_SB_.PCI0.IDEC.SMDT */ VPIM = SPIM /* \_SB_.PCI0.IDEC.SPIM */ VUDC = SUDC /* \_SB_.PCI0.IDEC.SUDC */ VUDM = SUDM /* \_SB_.PCI0.IDEC.SUDM */ Return (GTF (0xB0, BUF)) } } } } Device (SBAZ) { Name (_ADR, 0x00140002) // _ADR: Address OperationRegion (PCI, PCI_Config, Zero, 0x0100) Field (PCI, AnyAcc, NoLock, Preserve) { Offset (0x42), DNSP, 1, DNSO, 1, ENSR, 1 } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x1B, 0x04)) } } Device (SBRG) { Name (_ADR, 0x00140003) // _ADR: Address OperationRegion (RMBS, PCI_Config, Zero, 0x0100) Field (RMBS, ByteAcc, NoLock, Preserve) { Offset (0x6C), LR2S, 16, LR2E, 16 } Method (SPTS, 1, NotSerialized) { } Method (SWAK, 1, NotSerialized) { If (PICM) { IRQC () } } Scope (\_SB) { Name (SLPS, Zero) } OperationRegion (SMI0, SystemIO, SMIO, One) Field (SMI0, ByteAcc, NoLock, Preserve) { SMIC, 8 } Scope (\_SB) { Scope (PCI0) { Device (S900) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x0700) // _UID: Unique ID Name (_STA, 0x0F) // _STA: Status Name (CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x00, // Alignment 0x09, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x00, // Alignment 0x0E, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0088, // Range Minimum 0x0088, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x008C, // Range Minimum 0x008C, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x00B1, // Range Minimum 0x00B1, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x040B, // Range Minimum 0x040B, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x04D6, // Range Minimum 0x04D6, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0C00, // Range Minimum 0x0C00, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0C14, // Range Minimum 0x0C14, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0C50, // Range Minimum 0x0C50, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0C52, // Range Minimum 0x0C52, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0C6C, // Range Minimum 0x0C6C, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0C6F, // Range Minimum 0x0C6F, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0CD0, // Range Minimum 0x0CD0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD2, // Range Minimum 0x0CD2, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD4, // Range Minimum 0x0CD4, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD6, // Range Minimum 0x0CD6, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD8, // Range Minimum 0x0CD8, // Range Maximum 0x00, // Alignment 0x08, // Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0D) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y10) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0F) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0E) IO (Decode16, 0x0900, // Range Minimum 0x0900, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0910, // Range Minimum 0x0910, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x00, // Alignment 0xFF, // Length ) IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x00, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x00, // Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y11) Memory32Fixed (ReadWrite, 0xFEE00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED80000, // Address Base 0x00010000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED61000, // Address Base 0x00010000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y12) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y13) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y14) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (CRS, \_SB.PCI0.S900._Y0D._MIN, PBB) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.S900._Y0D._MAX, PBH) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.S900._Y0D._LEN, PML) // _LEN: Length PBB = PMBS /* \PMBS */ PBH = PMBS /* \PMBS */ PML = PMLN /* \PMLN */ If (SMBB) { CreateWordField (CRS, \_SB.PCI0.S900._Y0E._MIN, SMB1) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.S900._Y0E._MAX, SMH1) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.S900._Y0E._LEN, SML1) // _LEN: Length SMB1 = SMBB /* \SMBB */ SMH1 = SMBB /* \SMBB */ SML1 = SMBL /* \SMBL */ CreateWordField (CRS, \_SB.PCI0.S900._Y0F._MIN, SMB0) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.S900._Y0F._MAX, SMH0) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.S900._Y0F._LEN, SML0) // _LEN: Length SMB0 = SMB0 /* \_SB_.PCI0.S900._CRS.SMB0 */ SMH0 = SMB0 /* \_SB_.PCI0.S900._CRS.SMB0 */ SML0 = SMBM /* \SMBM */ } If (GPBS) { CreateWordField (CRS, \_SB.PCI0.S900._Y10._MIN, IGB) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.S900._Y10._MAX, IGH) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.S900._Y10._LEN, IGL) // _LEN: Length IGB = GPBS /* \GPBS */ IGH = GPBS /* \GPBS */ IGL = GPLN /* \GPLN */ } If (APCB) { CreateDWordField (CRS, \_SB.PCI0.S900._Y11._BAS, APB) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.S900._Y11._LEN, APL) // _LEN: Length APB = APCB /* \APCB */ APL = APCL /* \APCL */ } If (SPIB) { CreateDWordField (CRS, \_SB.PCI0.S900._Y12._BAS, SPIB) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.S900._Y12._LEN, SPIL) // _LEN: Length SPIB = \SPIB SPIL = \SPIL } If (HPTB) { CreateDWordField (CRS, \_SB.PCI0.S900._Y13._BAS, HXTB) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.S900._Y13._LEN, HXTL) // _LEN: Length HXTB = HPTB /* \HPTB */ HXTL = HPTL /* \HPTL */ } CreateDWordField (CRS, \_SB.PCI0.S900._Y14._BAS, ROMB) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.S900._Y14._LEN, ROML) // _LEN: Length If (^^SBRG.LR2S) { ROMB = (^^SBRG.LR2S << 0x10) ROML = (((^^SBRG.LR2E - ^^SBRG.LR2S) + One) << 0x10) } Else { ROMB = ROMS /* \ROMS */ ROML = (Zero - ROMS) /* \ROMS */ } Return (CRS) /* \_SB_.PCI0.S900.CRS_ */ } } } } Device (SIO1) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x0111) // _UID: Unique ID Name (CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y15) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y16) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y17) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y18) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (((SP1O < 0x03F0) && (SP1O > 0xF0))) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y15._MIN, GPI0) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y15._MAX, GPI1) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.SIO1._Y15._LEN, GPIL) // _LEN: Length GPI0 = SP1O /* \SP1O */ GPI1 = SP1O /* \SP1O */ GPIL = 0x02 } If (IO1B) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y16._MIN, GP10) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y16._MAX, GP11) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.SIO1._Y16._LEN, GPL1) // _LEN: Length GP10 = IO1B /* \IO1B */ GP11 = IO1B /* \IO1B */ GPL1 = IO1L /* \IO1L */ } If (IO2B) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y17._MIN, GP20) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y17._MAX, GP21) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.SIO1._Y17._LEN, GPL2) // _LEN: Length GP20 = IO2B /* \IO2B */ GP21 = IO2B /* \IO2B */ GPL2 = IO2L /* \IO2L */ } If (IO3B) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y18._MIN, GP30) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.SIO1._Y18._MAX, GP31) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.SIO1._Y18._LEN, GPL3) // _LEN: Length GP30 = IO3B /* \IO3B */ GP31 = IO3B /* \IO3B */ GPL3 = IO3L /* \IO3L */ } Return (CRS) /* \_SB_.PCI0.SBRG.SIO1.CRS_ */ } Name (DCAT, Package (0x11) { One, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A }) Mutex (MUT0, 0x00) Method (ENFG, 1, NotSerialized) { Acquire (MUT0, 0x0FFF) INDX = 0x87 INDX = One INDX = 0x55 If ((SP1O == 0x2E)) { INDX = 0x55 } Else { INDX = 0xAA } LDN = Arg0 } Method (EXFG, 0, NotSerialized) { INDX = 0x02 DATA = 0x02 Release (MUT0) } Method (UHID, 1, NotSerialized) { Return (0x0105D041) } OperationRegion (IOID, SystemIO, SP1O, 0x02) Field (IOID, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x07), LDN, 8, Offset (0x21), SCF1, 8, SCF2, 8, SCF3, 8, SCF4, 8, SCF5, 8, SCF6, 8, SCF7, 8, SCF8, 8, CKCF, 8, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, IOH2, 8, IOL2, 8, Offset (0x70), INTR, 4, REV, 4, Offset (0x74), DMCH, 8, Offset (0xE0), RGE0, 8, RGE1, 8, RGE2, 8, RGE3, 8, RGE4, 8, RGE5, 8, RGE6, 8, RGE7, 8, RGE8, 8, RGE9, 8, Offset (0xF0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, OPT4, 8, OPT5, 8, OPT6, 8, OPT7, 8, OPT8, 8, OPT9, 8, OPTA, 8, OPTB, 8 } Method (CGLD, 1, NotSerialized) { Return (DerefOf (Index (DCAT, Arg0))) } Method (DSTA, 1, NotSerialized) { ENFG (CGLD (Arg0)) Local0 = ACTR /* \_SB_.PCI0.SBRG.SIO1.ACTR */ If ((Local0 == 0xFF)) { Return (Zero) } Local0 &= One If ((Arg0 < 0x10)) { IOST |= (Local0 << Arg0) } If (Local0) { Return (0x0F) } Else { If ((Arg0 < 0x10)) { If (((One << Arg0) & IOST)) { Return (0x0D) } Else { Return (Zero) } } Else { Local0 = ((IOAH << 0x08) | IOAL) /* \_SB_.PCI0.SBRG.SIO1.IOAL */ If (Local0) { Return (0x0D) } Local0 = ((IOH2 << 0x08) | IOL2) /* \_SB_.PCI0.SBRG.SIO1.IOL2 */ If (Local0) { Return (0x0D) } Return (Zero) } } EXFG () } Method (DCNT, 2, NotSerialized) { ENFG (CGLD (Arg0)) If (((DMCH < 0x04) && ((Local1 = (DMCH & 0x03)) != Zero))) { RDMA (Arg0, Arg1, Local1++) } ACTR = Arg1 Local1 = (IOAH << 0x08) Local1 |= IOAL RRIO (Arg0, Arg1, Local1, 0x08) EXFG () } Name (CRS1, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y1B) IRQNoFlags (_Y19) {} DMA (Compatibility, NotBusMaster, Transfer8, _Y1A) {} }) CreateWordField (CRS1, \_SB.PCI0.SBRG.SIO1._Y19._INT, IRQM) // _INT: Interrupts CreateByteField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1A._DMA, DMAM) // _DMA: Direct Memory Access CreateWordField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1B._MIN, IO11) // _MIN: Minimum Base Address CreateWordField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1B._MAX, IO12) // _MAX: Maximum Base Address CreateByteField (CRS1, \_SB.PCI0.SBRG.SIO1._Y1B._LEN, LEN1) // _LEN: Length Method (DCRS, 2, NotSerialized) { ENFG (CGLD (Arg0)) IO11 = (IOAH << 0x08) IO11 |= IOAL /* \_SB_.PCI0.SBRG.SIO1.IO11 */ IO12 = IO11 /* \_SB_.PCI0.SBRG.SIO1.IO11 */ LEN1 = 0x08 If (INTR) { IRQM = (One << INTR) /* \_SB_.PCI0.SBRG.SIO1.INTR */ } Else { IRQM = Zero } If (((DMCH > 0x03) || (Arg1 == Zero))) { DMAM = Zero } Else { Local1 = (DMCH & 0x03) DMAM = (One << Local1) } EXFG () Return (CRS1) /* \_SB_.PCI0.SBRG.SIO1.CRS1 */ } Method (DSRS, 2, NotSerialized) { CreateWordField (Arg0, 0x09, IRQM) CreateByteField (Arg0, 0x0C, DMAM) CreateWordField (Arg0, 0x02, IO11) ENFG (CGLD (Arg1)) IOAL = (IO11 & 0xFF) IOAH = (IO11 >> 0x08) If (IRQM) { FindSetRightBit (IRQM, Local0) INTR = (Local0 - One) } Else { INTR = Zero } If (DMAM) { FindSetRightBit (DMAM, Local0) DMCH = (Local0 - One) } Else { DMCH = 0x04 } EXFG () DCNT (Arg1, One) Local2 = Arg1 If ((Local2 > Zero)) { Local2 -= One } } } Name (PMFG, Zero) Method (SIOS, 1, NotSerialized) { Debug = "SIOS" If ((0x05 != Arg0)) { ^SIO1.ENFG (0x04) If (KBFG) { ^SIO1.OPT0 |= 0x08 } Else { ^SIO1.OPT0 &= 0xF7 } If (MSFG) { ^SIO1.OPT0 |= 0x10 } Else { ^SIO1.OPT0 &= 0xEF } ^SIO1.OPT1 = 0xFF Local0 = (0xBF & ^SIO1.OPT2) /* \_SB_.PCI0.SBRG.SIO1.OPT2 */ ^SIO1.OPT2 = Local0 ^SIO1.EXFG () } } Method (SIOW, 1, NotSerialized) { Debug = "SIOW" ^SIO1.ENFG (0x04) PMFG = ^SIO1.OPT1 /* \_SB_.PCI0.SBRG.SIO1.OPT1 */ ^SIO1.OPT1 = 0xFF ^SIO1.OPT0 &= 0xE7 Local0 = (0x40 | ^SIO1.OPT2) /* \_SB_.PCI0.SBRG.SIO1.OPT2 */ ^SIO1.OPT2 = Local0 ^SIO1.EXFG () } Method (SIOH, 0, NotSerialized) { If ((PMFG & 0x08)) { Notify (PS2K, 0x02) // Device Wake } If ((PMFG & 0x10)) { Notify (PS2M, 0x02) // Device Wake } } Device (UAR1) { Name (_UID, One) // _UID: Unique ID Method (_HID, 0, NotSerialized) // _HID: Hardware ID { Return (^^SIO1.UHID (Zero)) } Method (_STA, 0, Serialized) // _STA: Status { If ((IOST & One)) { Return (0x0F) } Else { Return (Zero) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { ^^SIO1.DCNT (Zero, Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (^^SIO1.DCRS (Zero, Zero)) } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { ^^SIO1.DSRS (Arg0, Zero) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } EndDependentFn () }) } Device (CIR) { Name (_HID, EisaId ("ITE8713")) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((IOST & 0x8000)) { Return (0x0F) } Else { Return (Zero) } } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { ^^SIO1.DCNT (0x10, Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (^^SIO1.DCRS (0x10, Zero)) } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { ^^SIO1.DSRS (Arg0, 0x10) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03E0, // Range Minimum 0x03E0, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {10} } StartDependentFnNoPri () { IO (Decode16, 0x03E0, // Range Minimum 0x03E0, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x02E0, // Range Minimum 0x02E0, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} } StartDependentFnNoPri () { IO (Decode16, 0x0298, // Range Minimum 0x0298, // Range Maximum 0x08, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} } EndDependentFn () }) } Device (PIC) { 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 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (DMAD) { Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0087, // Range Minimum 0x0087, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0089, // Range Minimum 0x0089, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x008F, // Range Minimum 0x008F, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x00, // Alignment 0x20, // Length ) }) } Device (TMR) { 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 0x00, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (RTC0) { 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 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) } Device (NBRM) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x99) // _UID: Unique ID Name (CRS, ResourceTemplate () { }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (CRS) /* \_SB_.PCI0.SBRG.NBRM.CRS_ */ } } Device (RMSC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x10) // _UID: Unique ID Name (CRS1, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x0044, // Range Minimum 0x0044, // Range Maximum 0x00, // Alignment 0x1C, // Length ) IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x00, // Alignment 0x0B, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x00, // Alignment 0x0E, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0088, // Range Minimum 0x0088, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x008C, // Range Minimum 0x008C, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) }) Name (CRS2, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x0044, // Range Minimum 0x0044, // Range Maximum 0x00, // Alignment 0x1C, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x00, // Alignment 0x0E, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0088, // Range Minimum 0x0088, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x008C, // Range Minimum 0x008C, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If ((MBEC & 0xFFFF)) { Return (CRS1) /* \_SB_.PCI0.SBRG.RMSC.CRS1 */ } Else { Return (CRS2) /* \_SB_.PCI0.SBRG.RMSC.CRS2 */ } } } Device (COPR) { 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 0x00, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (PS2K) { Method (_HID, 0, NotSerialized) // _HID: Hardware ID { Return (HIDK) /* \HIDK */ } Method (_CID, 0, NotSerialized) // _CID: Compatible ID { Return (CIDK) /* \CIDK */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((IOST & 0x0400)) { Return (0x0F) } Else { Return (Zero) } } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x01, // Length ) IRQNoFlags () {1} } EndDependentFn () }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { KBFG = Arg0 } } Scope (\) { Name (KBFG, One) } Device (PS2M) { Method (_HID, 0, NotSerialized) // _HID: Hardware ID { Return (HIDM) /* \HIDM */ } Method (_CID, 0, NotSerialized) // _CID: Compatible ID { Return (CIDM) /* \CIDM */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((IOST & 0x4000)) { Return (0x0F) } Else { Return (Zero) } } Name (CRS1, ResourceTemplate () { IRQNoFlags () {12} }) Name (CRS2, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x01, // Length ) IRQNoFlags () {12} }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If ((IOST & 0x0400)) { Return (CRS1) /* \_SB_.PCI0.SBRG.PS2M.CRS1 */ } Else { Return (CRS2) /* \_SB_.PCI0.SBRG.PS2M.CRS2 */ } } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { StartDependentFn (0x00, 0x00) { IRQNoFlags () {12} } EndDependentFn () }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { MSFG = Arg0 } } Scope (\) { Name (MSFG, One) } } Device (OHC1) { Name (_ADR, 0x00120000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (EHC1) { Name (_ADR, 0x00120002) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (OHC2) { Name (_ADR, 0x00130000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (EHC2) { Name (_ADR, 0x00130002) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (OHC3) { Name (_ADR, 0x00160000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (EHC3) { Name (_ADR, 0x00160002) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (OHC4) { Name (_ADR, 0x00140005) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (XHC0) { Name (_ADR, 0x00100000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (XHC1) { Name (_ADR, 0x00100001) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } } Device (SATA) { Name (_ADR, 0x00110000) // _ADR: Address Method (_INI, 0, NotSerialized) // _INI: Initialize { } OperationRegion (SACS, PCI_Config, Zero, 0x40) Field (SACS, AnyAcc, NoLock, Preserve) { Offset (0x24), STB5, 32 } Name (SPTM, Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* x....... */ /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* x....... */ /* 0010 */ 0x1F, 0x00, 0x00, 0x00 /* .... */ }) Device (PRID) { Name (_ADR, Zero) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Return (SPTM) /* \_SB_.PCI0.SATA.SPTM */ } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { } Method (_STA, 0, NotSerialized) // _STA: Status { If ((STCL == 0x0101)) { Local1 = 0x0F } Else { Local1 = Zero } Return (Local1) } Name (PRIS, Zero) Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x120), , 7, PMBY, 1, Offset (0x128), PMS0, 4, Offset (0x129), PMS1, 4, Offset (0x220), , 7, PSBY, 1, Offset (0x228), PSS0, 4, Offset (0x229), PSS1, 4, Offset (0x2A0), , 7 } If (((OSVR == 0x06) || (OSVR == 0x04))) { If (PMS1) { Local0 = 0x32 While (((PMBY == One) && Local0)) { Sleep (0xFA) Local0-- } } If (PSS1) { Local0 = 0x32 While (((PSBY == One) && Local0)) { Sleep (0xFA) Local0-- } } } PRIS = Zero } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { PRIS = 0x03 } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { Return (PRIS) /* \_SB_.PCI0.SATA.PRID.PRIS */ } Device (P_D0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x128), PMS0, 4, Offset (0x129), PMS1, 4 } If (~(PMS1 == Zero)) { Return (0x0F) } Else { Return (Zero) } } Name (S12P, Zero) Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x120), , 7, PMBY, 1 } Local0 = 0x32 While (((PMBY == One) && Local0)) { Sleep (0xFA) Local0-- } S12P = Zero } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { S12P = 0x03 } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { Return (S12P) /* \_SB_.PCI0.SATA.PRID.P_D0.S12P */ } } Device (P_D1) { Name (_ADR, One) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x228), PSS0, 4, Offset (0x229), PSS1, 4 } If (~(PSS1 == Zero)) { Return (0x0F) } Else { Return (Zero) } } Name (S12P, Zero) Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x220), , 7, PSBY, 1 } Local0 = 0x32 While (((PSBY == One) && Local0)) { Sleep (0xFA) Local0-- } S12P = Zero } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { S12P = 0x03 } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { Return (S12P) /* \_SB_.PCI0.SATA.PRID.P_D1.S12P */ } } } Device (SECD) { Name (_ADR, One) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Return (SPTM) /* \_SB_.PCI0.SATA.SPTM */ } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { } Name (SECS, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If ((STCL == 0x0101)) { Local1 = 0x0F } Else { Local1 = Zero } Return (Local1) } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x1A0), , 7, SMBY, 1, Offset (0x1A8), SMS0, 4, Offset (0x1A9), SMS1, 4, Offset (0x2A0), , 7, SSBY, 1, Offset (0x2A8), SSS0, 4, Offset (0x2A9), SSS1, 4, Offset (0x2AC) } If (((OSVR == 0x06) || (OSVR == 0x04))) { If (SMS1) { Local0 = 0x32 While (((SMBY == One) && Local0)) { Sleep (0xFA) Local0-- } } If (SSS1) { Local0 = 0x32 While (((SSBY == One) && Local0)) { Sleep (0xFA) Local0-- } } } SECS = Zero } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { SECS = 0x03 } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { Return (SECS) /* \_SB_.PCI0.SATA.SECD.SECS */ } Device (S_D0) { Name (_ADR, Zero) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x1A8), SMS0, 4, Offset (0x1A9), SMS1, 4 } If (~(SMS1 == Zero)) { Return (0x0F) } Else { Return (Zero) } } Name (S12P, Zero) Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { OperationRegion (BAR, SystemMemory, STB5, 0x1000) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x1A0), , 7, SMBY, 1 } Local0 = 0x32 While (((SMBY == One) && Local0)) { Sleep (0xFA) Local0-- } S12P = Zero } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { S12P = 0x03 } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { Return (S12P) /* \_SB_.PCI0.SATA.SECD.S_D0.S12P */ } } Device (S_D1) { Name (_ADR, One) // _ADR: Address Method (_STA, 0, NotSerialized) // _STA: Status { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x2A8), SSS0, 4, Offset (0x2A9), SSS1, 4 } If (~(SSS1 == Zero)) { Return (0x0F) } Else { Return (Zero) } } Name (S12P, Zero) Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { OperationRegion (BAR, SystemMemory, STB5, 0x0400) Field (BAR, AnyAcc, NoLock, Preserve) { Offset (0x2A0), , 7, SSBY, 1 } Local0 = 0x32 While (((SSBY == One) && Local0)) { Sleep (0xFA) Local0-- } S12P = Zero } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { S12P = 0x03 } Method (_PSC, 0, NotSerialized) // _PSC: Power State Current { Return (S12P) /* \_SB_.PCI0.SATA.SECD.S_D1.S12P */ } } } } Device (PE20) { Name (_ADR, 0x00150000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0F, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR20) /* \_SB_.AR20 */ } Return (PR20) /* \_SB_.PR20 */ } } Device (PE21) { Name (_ADR, 0x00150001) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x10, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR21) /* \_SB_.AR21 */ } Return (PR21) /* \_SB_.PR21 */ } } Device (PE22) { Name (_ADR, 0x00150002) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x11, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR22) /* \_SB_.AR22 */ } Return (PR22) /* \_SB_.PR22 */ } } Device (PE23) { Name (_ADR, 0x00150003) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x12, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR23) /* \_SB_.AR23 */ } Return (PR23) /* \_SB_.PR23 */ } } Device (GNBD) { Name (_ADR, Zero) // _ADR: Address Scope (\) { OperationRegion (ATFB, SystemMemory, 0xFFFFFF00, 0x0105) Field (ATFB, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2048 } Field (ATFB, AnyAcc, NoLock, Preserve) { Offset (0x05), INF0, 8, INF1, 8, INF2, 8, INF3, 8, INF4, 8, INF5, 8, INF6, 8, INF7, 8 } Field (ATFB, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } } OperationRegion (NBRV, PCI_Config, 0x08, One) Field (NBRV, ByteAcc, NoLock, Preserve) { PREV, 8 } OperationRegion (NBBR, PCI_Config, 0x1C, 0x08) Field (NBBR, DWordAcc, NoLock, Preserve) { BR3L, 32, BR3H, 32 } OperationRegion (NBBI, PCI_Config, 0x84, 0x04) Field (NBBI, DWordAcc, NoLock, Preserve) { PARB, 32 } OperationRegion (NBMS, PCI_Config, 0x60, 0x08) Field (NBMS, DWordAcc, NoLock, Preserve) { MIDX, 32, MIDR, 32 } Mutex (NBMM, 0x00) Method (NBMR, 1, NotSerialized) { Acquire (NBMM, 0xFFFF) Local0 = (Arg0 & 0x7F) MIDX = Local0 Local0 = MIDR /* \_SB_.PCI0.GNBD.MIDR */ MIDX = 0x7F Release (NBMM) Return (Local0) } Method (NBMW, 2, NotSerialized) { Acquire (NBMM, 0xFFFF) Local0 = (Arg0 & 0x7F) Local0 |= 0x80 MIDX = Local0 MIDR = Arg1 MIDX = Local0 &= 0x7F Release (NBMM) } OperationRegion (NBXP, PCI_Config, 0xE0, 0x08) Field (NBXP, DWordAcc, NoLock, Preserve) { NBXI, 32, NBXD, 32 } Mutex (NBXM, 0x00) Method (NBXR, 1, NotSerialized) { Acquire (NBXM, 0xFFFF) NBXI = Arg0 Local0 = NBXD /* \_SB_.PCI0.GNBD.NBXD */ NBXI = Zero Release (NBXM) Return (Local0) } Method (NBXW, 2, NotSerialized) { Acquire (NBXM, 0xFFFF) NBXI = Arg0 NBXD = Arg1 NBXI = Zero Release (NBXM) } Method (GFXM, 0, NotSerialized) { Local0 = NBMR (0x08) Local0 &= 0x0F Return (Local0) } Method (GPPM, 0, NotSerialized) { Local0 = NBMR (0x67) Local0 &= 0xF0 Return (Local0) } Method (GPPX, 0, NotSerialized) { Local0 = NBMR (0x2D) Local0 >>= 0x07 Local0 &= 0x0F Return (Local0) } Method (XPTR, 2, NotSerialized) { If (((Arg0 < 0x02) && (Arg0 > 0x07))) { Return (Zero) } Else { Local0 = GPPM () Local1 = GPPX () Local0 = One If ((Arg0 < 0x04)) { Local1 = (Arg0 + 0x02) } Else { Local1 = (Arg0 + 0x11) } Local0 <<= Local1 Local2 = NBMR (0x08) If (Arg1) { Local2 &= ~Local0 } Else { Local2 |= Local0 } NBMW (0x08, Local2) Return (Ones) } } Name (PX3L, 0x80000000) Name (PX3H, 0x80000000) Name (PX3S, 0x10000000) Name (PX3K, 0xF0000000) Mutex (BR3X, 0x00) Method (BR3M, 0, NotSerialized) { Local0 = PARB /* \_SB_.PCI0.GNBD.PARB */ Local0 >>= 0x10 Local0 &= 0x07 If (Local0) { Local1 = (One << Local0) Local1 -= 0x1000 Local1 <<= 0x14 PX3K = Local1 Local0 >>= 0x00100000 PX3S = Local0 } Acquire (BR3X, 0xFFFF) Local0 = NBMR (Zero) Local0 &= 0xFFFFFFF7 NBMW (Zero, Local0) Local0 = BR3L /* \_SB_.PCI0.GNBD.BR3L */ Local0 &= PX3K /* \_SB_.PCI0.GNBD.PX3K */ PX3L = Local0 Local0 = BR3H /* \_SB_.PCI0.GNBD.BR3H */ Local0 &= 0xFF PX3H = Local0 Local0 = NBMR (Zero) Local0 |= 0x08 NBMW (Zero, Local0) Release (BR3X) Return (PX3L) /* \_SB_.PCI0.GNBD.PX3L */ } OperationRegion (NB2, PCI_Config, Zero, 0x0100) Field (NB2, AnyAcc, NoLock, Preserve) { Offset (0x60), MI, 32, MD, 32, Offset (0x90), TOM, 32, OI, 32, OD, 32, Offset (0xE0), LI, 32, LD, 32 } Device (BROD) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x14) // _UID: Unique ID Name (UMAS, 0x30000000) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y1C) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (CRS, \_SB.PCI0.GNBD.BROD._Y1C._BAS, BAS1) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.GNBD.BROD._Y1C._LEN, LEN1) // _LEN: Length LEN1 = UMAS /* \_SB_.PCI0.GNBD.BROD.UMAS */ BAS1 = (TOM - LEN1) /* \_SB_.PCI0.GNBD.BROD._CRS.LEN1 */ Return (CRS) /* \_SB_.PCI0.GNBD.BROD.CRS_ */ } } } Device (BR12) { Name (_ADR, 0x00020000) // _ADR: Address Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR12) /* \_SB_.AR12 */ } Return (PR12) /* \_SB_.PR12 */ } } Device (BR13) { Name (_ADR, 0x00030000) // _ADR: Address Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR13) /* \_SB_.AR13 */ } Return (PR13) /* \_SB_.PR13 */ } } Device (BR14) { Name (_ADR, 0x00040000) // _ADR: Address Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR14) /* \_SB_.AR14 */ } Return (PR14) /* \_SB_.PR14 */ } Device (LOM) { Name (_ADR, Zero) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x08, 0x04)) } } } Device (BR15) { Name (_ADR, 0x00050000) // _ADR: Address Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR15) /* \_SB_.AR15 */ } Return (PR15) /* \_SB_.PR15 */ } } Device (BR16) { Name (_ADR, 0x00060000) // _ADR: Address Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR16) /* \_SB_.AR16 */ } Return (PR16) /* \_SB_.PR16 */ } } Device (BR17) { Name (_ADR, 0x00070000) // _ADR: Address Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR17) /* \_SB_.AR17 */ } Return (PR17) /* \_SB_.PR17 */ } } Device (P0PC) { Name (_ADR, 0x00140004) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x04, 0x04)) } } } Scope (\_GPE) { Method (_L1B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.SBAZ, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.OHC1, 0x02) // Device Wake Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake Notify (\_SB.PCI0.OHC2, 0x02) // Device Wake Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake Notify (\_SB.PCI0.OHC3, 0x02) // Device Wake Notify (\_SB.PCI0.EHC3, 0x02) // Device Wake Notify (\_SB.PCI0.OHC4, 0x02) // Device Wake Notify (\_SB.PCI0.XHC0, 0x02) // Device Wake Notify (\_SB.PCI0.XHC1, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L0F, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.PE20, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L10, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.PE21, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L11, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.PE22, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L12, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.PE23, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L08, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.BR14.LOM, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.P0PC, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Name (_UID, 0xAA) // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status } } Scope (_SB) { OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02) Field (PIRQ, ByteAcc, NoLock, Preserve) { PIDX, 8, PDAT, 8 } IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, Offset (0x10), PIRS, 8, Offset (0x13), HDAD, 8, Offset (0x15), GEC, 8, Offset (0x30), USB1, 8, USB2, 8, USB3, 8, USB4, 8, USB5, 8, USB6, 8, USB7, 8, Offset (0x40), IDE, 8, SATA, 8, Offset (0x50), GPP0, 8, GPP1, 8, GPP2, 8, GPP3, 8 } OperationRegion (KBDD, SystemIO, 0x64, One) Field (KBDD, ByteAcc, NoLock, Preserve) { PD64, 8 } Method (IRQC, 0, NotSerialized) { INTA (0x1F) INTB (0x1F) INTC (0x1F) INTD (0x1F) Local1 = PD64 /* \_SB_.PD64 */ PIRE = 0x1F PIRF = 0x1F PIRG = 0x1F PIRH = 0x1F } Method (INTA, 1, NotSerialized) { PIRA = Arg0 HDAD = Arg0 GEC = Arg0 GPP0 = Arg0 GPP0 = Arg0 } Method (INTB, 1, NotSerialized) { PIRB = Arg0 USB2 = Arg0 USB4 = Arg0 USB6 = Arg0 GPP1 = Arg0 IDE = Arg0 } Method (INTC, 1, NotSerialized) { PIRC = Arg0 USB1 = Arg0 USB3 = Arg0 USB5 = Arg0 USB7 = Arg0 GPP2 = Arg0 } Method (INTD, 1, NotSerialized) { PIRD = Arg0 SATA = Arg0 GPP3 = Arg0 } Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {15} }) Name (IPRA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Name (IPRB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Name (IPRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Name (IPRD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {5,10,11} }) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRA) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSA) /* \_SB_.PRSA */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { INTA (0x1F) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRA) /* \_SB_.PIRA */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- INTA (Local0) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRB) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSB) /* \_SB_.PRSB */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { INTB (0x1F) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRB) /* \_SB_.PIRB */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- INTB (Local0) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRC) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSC) /* \_SB_.PRSC */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { INTC (0x1F) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRC) /* \_SB_.PIRC */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- INTC (Local0) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRD) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSD) /* \_SB_.PRSD */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { INTD (0x1F) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRD) /* \_SB_.PIRD */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- INTD (Local0) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRE) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSE) /* \_SB_.PRSE */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRE = 0x1F } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRE) /* \_SB_.PIRE */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (PIRE, Local0) Local0-- PIRE = Local0 } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRF) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSF) /* \_SB_.PRSF */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRF = 0x1F } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRF) /* \_SB_.PIRF */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRF = Local0 } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRG) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSG) /* \_SB_.PRSG */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRG = 0x1F } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRG) /* \_SB_.PIRG */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRG = Local0 } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { If (PIRH) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSH) /* \_SB_.PRSH */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRH = 0x1F } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUFA, One, IRQX) IRQX = (One << PIRH) /* \_SB_.PIRH */ Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRH = Local0 } } } Scope (_SB.PCI0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { OSFL () If ((RVID <= 0x13)) {} If (IMCS) { IBWE () } } } Scope (_SB) { Scope (PCI0) { Scope (SBRG) { Method (RRIO, 4, NotSerialized) { Debug = "RRIO" } Method (RDMA, 3, NotSerialized) { Debug = "rDMA" } } } } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y1D) }) Method (_STA, 0, NotSerialized) // _STA: Status { If (((HPAD & 0x03) == 0x03)) { If ((OSVR >= 0x0C)) { Return (0x0F) } HPAD = (HPAD & 0xFFFFFFE0) Return (One) } Return (One) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (CRS, \HPET._Y1D._BAS, HPT) // _BAS: Base Address HPT = 0xFED00000 Return (CRS) /* \HPET.CRS_ */ } } Scope (_SB.PCI0) { Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Name (SUPP, Zero) Name (CTRL, Zero) If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) { CreateDWordField (Arg3, Zero, CDW1) CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ If (((SUPP & 0x16) != 0x16)) { (CTRL & 0x1E) } If (!PEHP) { CTRL &= 0x1E } If (!SHPC) { CTRL &= 0x1D } If (!PEPM) { CTRL &= 0x1B } If (!PEER) { CTRL &= 0x15 } If (!PECS) { CTRL &= 0x0F } If (OSCF) { If (~(CDW1 & One)) { If ((CTRL & One)) {} If ((CTRL & 0x04)) { EPNM = One } Else { EPNM = Zero } If ((CTRL & 0x10)) {} } } If ((Arg1 != One)) { CDW1 |= 0x08 } If ((CDW3 != CTRL)) { CDW1 |= 0x10 } CDW3 = CTRL /* \_SB_.PCI0._OSC.CTRL */ Return (Arg3) } Else { CDW1 |= 0x04 Return (Arg3) } } } Scope (_PR) { OperationRegion (SSDT, SystemMemory, 0xFFFF0000, 0xFFFF) Name (DCOR, 0x02) Name (TBLD, 0x04) Name (NPSS, 0x05) Name (HNDL, 0x80000000) Name (APSS, Package (0x0A) { Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF }, Package (0x06) { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF } }) Processor (P000, 0x01, 0x00000810, 0x06) { Name (TYPE, 0x80000000) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x08, DAT0) TYPE = DAT0 /* \_PR_.P000._PDC.DAT0 */ If (((TBLD == Zero) && (NPSS != Zero))) { If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero))) { TBLD = One Load (SSDT, HNDL) /* \_PR_.HNDL */ } } } } Processor (P001, 0x02, 0x00000810, 0x06) { Name (TYPE, 0x80000000) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x08, DAT0) TYPE = DAT0 /* \_PR_.P001._PDC.DAT0 */ If (((TBLD == Zero) && (NPSS != Zero))) { If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero))) { TBLD = One Load (SSDT, HNDL) /* \_PR_.HNDL */ } } } } Processor (P002, 0x03, 0x00000810, 0x06) { Name (TYPE, 0x80000000) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x08, DAT0) TYPE = DAT0 /* \_PR_.P002._PDC.DAT0 */ If (((TBLD == Zero) && (NPSS != Zero))) { If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero))) { TBLD = One Load (SSDT, HNDL) /* \_PR_.HNDL */ } } } } Processor (P003, 0x04, 0x00000810, 0x06) { Name (TYPE, 0x80000000) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x08, DAT0) TYPE = DAT0 /* \_PR_.P003._PDC.DAT0 */ If (((TBLD == Zero) && (NPSS != Zero))) { If ((((TYPE & 0x1B) == 0x1B) || (DCOR == Zero))) { TBLD = One Load (SSDT, HNDL) /* \_PR_.HNDL */ } } } } } Name (WOTB, Zero) Name (WSSB, Zero) Name (WAXB, Zero) Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { DBG8 = Arg0 If (((Arg0 == 0x04) && (OSFL () == 0x02))) { Sleep (0x0BB8) } PTS (Arg0) Index (WAKP, Zero) = Zero Index (WAKP, One) = Zero WSSB = ASSB /* \ASSB */ WOTB = AOTB /* \AOTB */ WAXB = AAXB /* \AAXB */ ASSB = Arg0 AOTB = OSFL () AAXB = Zero \_SB.SLPS = One } Method (_WAK, 1, NotSerialized) // _WAK: Wake { If ((Arg0 <= 0x03)) { Notify (\_SB.PWRB, 0x02) // Device Wake } DBG8 = (Arg0 << 0x04) WAK (Arg0) If (ASSB) { ASSB = WSSB /* \WSSB */ AOTB = WOTB /* \WOTB */ AAXB = WAXB /* \WAXB */ } If (DerefOf (Index (WAKP, Zero))) { Index (WAKP, One) = Zero } Else { Index (WAKP, One) = Arg0 } Return (WAKP) /* \WAKP */ } Device (OMSC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x0E11) // _UID: Unique ID } Device (_SB.RMEM) { Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID } Scope (_SB) { Scope (\_GPE) { Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Name (HPOK, Zero) Notify (\_SB.PCI0.PE22, Zero) // Bus Check } } } OperationRegion (SMIM, SystemMemory, 0xFED80200, 0x0100) Field (SMIM, AnyAcc, NoLock, Preserve) { Offset (0x98), , 5, GEL5, 1 } Method (PWAK, 1, NotSerialized) { If (GE05) { GEL5 = Zero } Else { GEL5 = One } } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) If (SS3) { Name (_S3, Package (0x04) // _S3_: S3 System State { 0x03, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) // _S4_: S4 System State { 0x04, Zero, Zero, Zero }) } Name (_S5, Package (0x04) // _S5_: S5 System State { 0x05, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) { SPTS (Arg0) \_SB.PCI0.NPTS (Arg0) } } Method (WAK, 1, NotSerialized) { SWAK (Arg0) \_SB.PCI0.NWAK (Arg0) PWAK (Arg0) } Method (_SB._OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Return (Arg3) } Scope (\_PR.P000) { Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000C0010062, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Name (_PSS, Package (0x04) // _PSS: Performance Supported States { Package (0x06) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, 0x00000000, 0x00000000 }, Package (0x06) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, 0x00000001, 0x00000001 }, Package (0x06) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, 0x00000002, 0x00000002 }, Package (0x06) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, 0x00000003, 0x00000003 } }) Name (XPSS, Package (0x04) { Package (0x08) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } } }) Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FC, 0x00000004 } }) Name (PPCV, 0x00) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCV) /* \_PR_.P000.PPCV */ } Name (_CST, Package (0x02) // _CST: C-States { 0x01, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001771, // Address 0x01, // Access Size ) }, 0x02, 0x0064, 0x00000000 } }) Name (_CSD, Package (0x01) // _CSD: C-State Dependencies { Package (0x06) { 0x06, 0x00, 0x00000000, 0x000000FE, 0x00000002, 0x00000000 } }) } Scope (\_PR.P001) { Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000C0010062, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Name (_PSS, Package (0x04) // _PSS: Performance Supported States { Package (0x06) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, 0x00000000, 0x00000000 }, Package (0x06) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, 0x00000001, 0x00000001 }, Package (0x06) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, 0x00000002, 0x00000002 }, Package (0x06) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, 0x00000003, 0x00000003 } }) Name (XPSS, Package (0x04) { Package (0x08) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } } }) Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FC, 0x00000004 } }) Name (PPCV, 0x00) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCV) /* \_PR_.P001.PPCV */ } Name (_CST, Package (0x02) // _CST: C-States { 0x01, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001771, // Address 0x01, // Access Size ) }, 0x02, 0x0064, 0x00000000 } }) Name (_CSD, Package (0x01) // _CSD: C-State Dependencies { Package (0x06) { 0x06, 0x00, 0x00000000, 0x000000FE, 0x00000002, 0x00000000 } }) } Scope (\_PR.P002) { Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000C0010062, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Name (_PSS, Package (0x04) // _PSS: Performance Supported States { Package (0x06) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, 0x00000000, 0x00000000 }, Package (0x06) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, 0x00000001, 0x00000001 }, Package (0x06) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, 0x00000002, 0x00000002 }, Package (0x06) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, 0x00000003, 0x00000003 } }) Name (XPSS, Package (0x04) { Package (0x08) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } } }) Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FC, 0x00000004 } }) Name (PPCV, 0x00) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCV) /* \_PR_.P002.PPCV */ } Name (_CST, Package (0x02) // _CST: C-States { 0x01, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001771, // Address 0x01, // Access Size ) }, 0x02, 0x0064, 0x00000000 } }) Name (_CSD, Package (0x01) // _CSD: C-State Dependencies { Package (0x06) { 0x06, 0x00, 0x00000001, 0x000000FE, 0x00000002, 0x00000000 } }) } Scope (\_PR.P003) { Name (_PCT, Package (0x02) // _PCT: Performance Control { ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000C0010062, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Name (_PSS, Package (0x04) // _PSS: Performance Supported States { Package (0x06) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, 0x00000000, 0x00000000 }, Package (0x06) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, 0x00000001, 0x00000001 }, Package (0x06) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, 0x00000002, 0x00000002 }, Package (0x06) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, 0x00000003, 0x00000003 } }) Name (XPSS, Package (0x04) { Package (0x08) { 0x000006A4, 0x00000CD3, 0x00000004, 0x00000004, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x000005DC, 0x00000B47, 0x00000004, 0x00000004, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x00000514, 0x000009C5, 0x00000004, 0x00000004, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } }, Package (0x08) { 0x0000044C, 0x000008A2, 0x00000004, 0x00000004, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ }, Buffer (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /* ........ */ } } }) Name (_PSD, Package (0x01) // _PSD: Power State Dependencies { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FC, 0x00000004 } }) Name (PPCV, 0x00) Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilities { Return (PPCV) /* \_PR_.P003.PPCV */ } Name (_CST, Package (0x02) // _CST: C-States { 0x01, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001771, // Address 0x01, // Access Size ) }, 0x02, 0x0064, 0x00000000 } }) Name (_CSD, Package (0x01) // _CSD: C-State Dependencies { Package (0x06) { 0x06, 0x00, 0x00000001, 0x000000FE, 0x00000002, 0x00000000 } }) } Scope (\_SB) { Name (A001, 0x06) Name (AD02, 0x04) Alias (AD02, A027) Name (AD03, 0x03) Alias (AD03, A028) Name (AD04, 0x00) Alias (AD04, A029) Name (AD05, 0x03) Alias (AD05, A030) Name (AD06, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00 }) Alias (AD06, A031) Name (AD08, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00 }) Alias (AD08, A032) Name (A033, 0x00) Name (A034, 0x00) Name (A035, 0x01) Name (A036, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (A037, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (A038, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (AD09, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Alias (AD09, A016) Name (A039, Package (0x08) { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }) Name (A040, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (A014, 0x00) Name (AD10, Package (0x04) { 0x6A, 0x66, 0x60, 0x56 }) Alias (AD10, A042) Method (A043, 1, Serialized) { Local1 = DerefOf (Index (Arg0, 0x02)) Local0 = A003 () A034 = Local1 Local2 = ((0x01 << 0x05) | (0x01 << 0x06)) Local3 = ((A034 << 0x05) | (A035 << 0x06)) A004 (0x00, 0x60, 0xF4, ~Local2, (Local2 & Local3)) If ((Local1 == Local0)) { Return (0x00) } A011 (A034) If ((A027 == 0x04)) { A002 (0x01) } If (((A027 <= 0x01) || (A027 >= 0x04))) { Return (0x00) } If ((A033 == 0x00)) { Return (0x00) } A044 () Return (0x00) } Method (A045, 1, NotSerialized) { Local7 = A046 (Arg0) Local0 = DerefOf (Index (Local7, 0x02)) If ((Local0 != 0x02)) { Return (Local7) } A044 () Return (Local7) } Method (A046, 1, NotSerialized) { Name (A047, 0x00) A014 = 0x00 Local7 = Buffer (0x0A) {} CreateWordField (Local7, 0x00, A048) A048 = 0x03 CreateByteField (Local7, 0x02, A049) A049 = 0x01 If (((A027 <= 0x01) || (A027 >= 0x04))) { Return (Local7) } If ((A033 == 0x00)) { Return (Local7) } CreateWordField (Arg0, 0x02, A050) CreateWordField (Arg0, 0x04, A051) CreateWordField (Arg0, 0x06, A052) CreateByteField (Arg0, 0x08, A053) CreateByteField (Arg0, 0x09, A054) A047 = ((A050 >> 0x08) & 0xFF) While ((A014 <= A001)) { If ((A015 (A014) == 0x01)) { Local1 = A012 (((A014 + 0x02) << 0x03), 0x18) Local2 = ((Local1 >> 0x10) & 0xFF) Local1 = ((Local1 >> 0x08) & 0xFF) If (((A047 >= Local1) && (A047 <= Local2))) { Break } } A014++ } If ((A014 > A001)) { Return (Local7) } If ((DerefOf (Index (A036, A014)) == 0x00)) { Index (A036, A014) = A050 /* \_SB_.A046.A050 */ } Else { If ((DerefOf (Index (A036, A014)) != A050)) { Return (Local7) } } Index (A040, A014) = 0x00 If ((A054 == 0x00)) { Index (A036, A014) = 0x00 } If ((A054 == 0x01)) { Index (A040, A014) = 0x01 } If ((A054 == 0x02)) { Index (A038, A014) = 0x01 } If ((A054 == 0x03)) { Index (A038, A014) = 0x02 } If (((A051 & A052) == 0x01)) { Index (A038, A014) = DerefOf (Index (A031, A014)) } A049 = 0x02 Return (Local7) } Method (A015, 1, Serialized) { If ((DerefOf (Index (A031, Arg0)) == 0x00)) { Return (0x00) } Return (0x01) } Method (A055, 1, Serialized) { Local7 = Buffer (0x0100) {} Index (Local7, 0x00) = 0x03 Index (Local7, 0x01) = 0x00 Index (Local7, 0x02) = 0x00 A033 = DerefOf (Index (Arg0, 0x02)) Local0 = A007 (0x00, 0x60, 0xF4) If ((A033 == 0x01)) { If (((Local0 & 0x01) == 0x01)) { Return (Local7) } Local0 |= 0x01 } If ((A033 == 0x00)) { If (((Local0 & 0x01) == 0x00)) { Return (Local7) } Local0 &= ~0x01 } Local0 |= (A027 << 0x01) A006 (0x00, 0x60, 0xF4, Local0) A056 (RefOf (A037), RefOf (A036)) A011 (A034) If ((A027 == 0x04)) { A002 (0x01) } If (((A027 > 0x01) && (A027 < 0x04))) { If ((A027 == 0x02)) { A056 (RefOf (A031), RefOf (A016)) A014 = 0x00 While ((A014 <= A001)) { If ((DerefOf (Index (A032, A014)) != 0x00)) { Index (A016, A014) = DerefOf (Index (A032, A014)) } A014++ } } Else { A056 (RefOf (A039), RefOf (A016)) Index (A016, 0x06) = DerefOf (Index (A031, 0x06)) } A044 () } Return (Local7) } Name (A057, Package (0x08) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Method (A044, 0, Serialized) { A014 = 0x00 A056 (RefOf (A039), RefOf (A057)) While ((A014 <= A001)) { If ((A015 (A014) == 0x01)) { Index (A057, A014) = A058 (A014) } A014++ } If ((Match (A040, MEQ, 0x01, MTR, 0x00, 0x00) != Ones)) { A056 (RefOf (A039), RefOf (A057)) } If ((Match (A057, MEQ, 0x02, MTR, 0x00, 0x00) != Ones)) { A059 (0x02, 0x01) A002 (0x02) } A014 = 0x00 While ((A014 <= A001)) { If ((A015 (A014) == 0x00)) { A014++ } Else { Local0 = DerefOf (Index (A016, A014)) Local2 = DerefOf (Index (A057, A014)) If ((Local0 == Local2)) { A014++ } Else { Index (A016, A014) = Local2 A060 (A014, Local2) A014++ } } } If ((Match (A057, MEQ, 0x02, MTR, 0x00, 0x00) == Ones)) { A002 (0x01) A059 (0x01, 0x00) } A013 () } Method (A058, 1, NotSerialized) { Local0 = 0x02 Local1 = A003 () If ((DerefOf (Index (A036, Arg0)) == 0x00)) { If (((Local1 == 0x01) || (A027 == 0x03))) { Local0 = 0x01 } If (((Local1 == 0x00) && (A027 == 0x03))) { If ((Arg0 == 0x06)) { Local0 = 0x02 } } If ((DerefOf (Index (A032, Arg0)) != 0x00)) { Local0 = DerefOf (Index (A032, Arg0)) } } Else { Local0 = DerefOf (Index (A038, Arg0)) } Local2 = DerefOf (Index (A031, A014)) If ((Local2 < Local0)) { Local0 = Local2 } Return (Local0) } Method (A060, 2, NotSerialized) { If ((Arg0 == 0x06)) { A004 (0x00, 0x60, 0x80, ~0x40, 0x40) } A061 (Arg0, Arg1) If ((DerefOf (Index (A036, Arg0)) != 0x00)) { A062 (Arg0, 0xA1, ~0x1000, 0x00) } Else { A062 (Arg0, 0xA1, ~0x1000, 0x1000) } Local1 = ((Arg0 + 0x02) << 0x03) Local3 = (A063 (Arg0, 0xA5) & 0x3F) A064 (Arg0, 0x01, Local3) If ((Local3 >= 0x10)) { A065 (Arg0) Local2 = 0x01 While (Local2) { A066 (Local1, 0x68, ~0x00, 0x20) Sleep (0x1E) While ((A012 (Local1, 0x68) & 0x08000000)) { Sleep (0x0A) } Local2 = 0x00 If ((Arg1 == 0x01)) { If ((A067 (Arg0) != 0x01)) { Local2 = 0x01 } } } A068 (Arg0) } Else { } If ((Arg0 == 0x06)) { A004 (0x00, 0x60, 0x80, ~0x40, 0x00) } } Name (A069, Package (0x09) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (A070, 0x00) Name (A071, 0x00) Name (A072, 0x00) Method (A065, 1, Serialized) { A070 = 0x00 A071 = 0x00 Local1 = ((Arg0 + 0x02) << 0x03) If ((Arg0 == 0x06)) { Index (A069, 0x00) = A073 (0x00, 0x00) A073 (0x00, 0x01) Return (0x00) } Local3 = A012 (Local1, 0x18) Local3 = ((Local3 >> 0x08) & 0xFF) Local2 = (Local3 << 0x08) Local3 = A012 (Local2, 0x0C) Local3 = ((Local3 >> 0x10) & 0xFF) If (((Local3 & 0x80) != 0x00)) { Local0 = 0x07 } Else { Local0 = 0x00 } Local4 = 0x00 While ((Local4 <= Local0)) { A070 = A074 ((Local2 + Local4), 0x10) If ((A070 == 0x00)) { Local4++ } Else { A070 += 0x10 A071 = A012 ((Local2 + Local4), A070) Index (A069, Local4) = (A071 & 0x0FCB) A066 ((Local2 + Local4), A070, ~0x03, 0x00) Local4++ } } A072 = A012 (Local1, 0x68) A066 (Local1, 0x68, ~0x03, 0x00) } Method (A068, 1, Serialized) { A070 = 0x00 A071 = 0x00 If ((Arg0 == 0x06)) { A073 (DerefOf (Index (A069, 0x00)), 0x01) Return (0x00) } Local1 = ((Arg0 + 0x02) << 0x03) Local3 = A012 (Local1, 0x18) Local3 = ((Local3 >> 0x08) & 0xFF) A066 (Local1, 0x68, ~0x03, (A072 & 0x03)) Local2 = (Local3 << 0x08) Local3 = A012 (Local2, 0x0C) Local3 = ((Local3 >> 0x10) & 0xFF) If (((Local3 & 0x80) != 0x00)) { Local0 = 0x07 } Else { Local0 = 0x00 } Local4 = 0x00 While ((Local4 <= Local0)) { A070 = A074 ((Local2 + Local4), 0x10) If ((A070 == 0x00)) { Local4++ } Else { A070 += 0x10 A026 ((Local2 + Local4), A070, DerefOf (Index (A069, Local4))) Local4++ } } } Method (A061, 2, NotSerialized) { Local0 = ((Arg0 + 0x02) << 0x03) If ((Arg1 == 0x01)) { A066 (Local0, 0x88, ~0x2F, 0x21) A062 (Arg0, 0xA4, ~0x20000001, 0x00) } Else { A062 (Arg0, 0xA4, ~0x20000001, 0x20000001) A066 (Local0, 0x88, ~0x2F, 0x02) } } Method (A056, 2, NotSerialized) { Local1 = SizeOf (Arg0) Local0 = 0x00 While ((Local0 < Local1)) { Index (DerefOf (Arg1), Local0) = DerefOf (Index (DerefOf (Arg0), Local0)) Local0++ } } Method (A003, 0, NotSerialized) { Return ((A034 & A035)) } Name (A019, 0x00) Name (A020, 0x00) Name (A021, 0x00) Name (A022, 0x00) Name (A023, 0x00) Name (A075, 0x00) Name (A076, 0x00) Name (A077, Buffer (0x10) { /* 0000 */ 0x01, 0x02, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, /* ........ */ /* 0008 */ 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10 /* ........ */ }) Method (A078, 1, NotSerialized) { Name (A047, 0x00) Name (A079, 0x00) A014 = 0x00 Local7 = Buffer (0x0A) {} A047 = DerefOf (Index (Arg0, 0x03)) A079 = DerefOf (Index (Arg0, 0x04)) Index (Local7, 0x00) = 0x03 Index (Local7, 0x01) = 0x00 Index (Local7, 0x02) = A079 /* \_SB_.A078.A079 */ Return (Local7) While ((A014 <= A001)) { If ((A015 (A014) == 0x01)) { Local1 = A012 (((A014 + 0x02) << 0x03), 0x18) Local2 = ((Local1 >> 0x10) & 0xFF) Local1 = ((Local1 >> 0x08) & 0xFF) If (((A047 >= Local1) && (A047 <= Local2))) { Break } } A014++ } If ((A014 > A001)) { Return (Local7) } If ((A080 (A014, 0x01) <= A079)) { Return (Local7) } Local1 = DerefOf (Index (A077, A079)) A081 (A014, 0x01, 0x00) A081 (A014, 0x02, Local1) A013 () Index (Local7, 0x02) = Local1 Return (Local7) } Method (A082, 1, Serialized) { Local0 = DerefOf (Index (Arg0, 0x04)) Local1 = DerefOf (Index (Arg0, 0x02)) Local4 = ((Local1 >> 0x03) - 0x02) If ((Local0 == 0x01)) { Local2 = 0x06 } Else { Local2 = 0x04 } Local3 = A012 (Local1, 0x68) A066 (Local1, 0x68, ~0x03, 0x00) Local0 = A083 (Local4, Local2) A066 (Local1, 0x68, ~0x03, (Local3 & 0x03)) A013 () Local7 = Buffer (0x0A) {} CreateWordField (Local7, 0x00, A048) CreateByteField (Local7, 0x02, A049) CreateByteField (Local7, 0x03, A084) A048 = 0x04 A049 = 0x00 A084 = Local0 Return (Local7) } Name (A085, Buffer (0x0A) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00 /* .. */ }) Method (A083, 2, Serialized) { Local4 = 0x00 Local7 = A018 (Arg0) Local1 = DerefOf (Index (Local7, 0x07)) If ((Local1 != 0x01)) { Return (Local4) } Local2 = Arg1 While ((Local2 != 0x08)) { Local5 = 0x01 If ((Local2 == 0x06)) { Index (A032, Arg0) = 0x00 A062 (Arg0, 0xA2, ~0x2000, 0x00) If (((A027 > 0x01) && (A027 < 0x04))) { A035 = 0x00 A044 () } Else { A061 (Arg0, DerefOf (Index (A031, Arg0))) } A081 (Arg0, 0x01, 0x00) A086 (Arg0, 0x00) Local2 = 0x01 Local3 = 0x00 } If ((Local2 == 0x01)) { Local1 = (A063 (Arg0, 0xA5) & 0x3F) If ((Local1 > 0x04)) { Local2 = 0x02 Local3 = 0x00 Local5 = 0x00 } Else { If ((Local3 < 0x50)) { Sleep (0x01) Local3++ } Else { Local2 = 0x04 } } } If (((Local5 == 0x01) && (Local2 == 0x02))) { Local1 = A063 (Arg0, 0xA5) Local1 &= 0x3F If (((Local1 >= 0x10) && (Local1 <= 0x13))) { Local2 = 0x05 Local5 = 0x00 } Else { If ((Local3 < 0x50)) { Sleep (0x01) Local3++ Local5 = 0x00 } Else { Local2 = 0x04 If ((DerefOf (Index (A032, Arg0)) == 0x01)) { Local5 = 0x00 } Else { If ((A087 (Arg0) == 0x01)) { A062 (Arg0, 0xA2, ~0x2000, 0x2000) Index (A032, Arg0) = 0x01 A061 (Arg0, 0x01) Local2 = 0x07 } } } } } If (((Local5 == 0x01) && (Local2 == 0x04))) { A086 (Arg0, 0x01) A081 (Arg0, 0x00, 0x00) A088 (Arg0) Local0 = ((Arg0 + 0x02) << 0x03) Local1 = A012 (Local0, 0x18) Local1 = ((Local1 >> 0x08) & 0xFF) Local0 = (Local1 << 0x08) Local0 = A012 (Local0, 0x00) If ((Local0 == 0xFFFFFFFF)) {} Index (A032, Arg0) = 0x01 Local2 = 0x00 } If (((Local5 == 0x01) && (Local2 == 0x07))) { If (CondRefOf (\_SB.ALIC, Local6)) { Local1 = ((Arg0 + 0x02) << 0x03) \_SB.ALIC (Local1, 0x00, Sleep (0x02), \_SB.ALIC (Local1, 0x01, Local3 = 0x00, Local2 = 0x01, Local5 = 0x00, Else { Local2 = 0x04 }), If (((Local5 == 0x01) && (Local2 == 0x05))) { Local4 = 0x01 Local2 = 0x00 A089 (Arg0) A090 (Arg0) }, If (((Local5 == 0x01) && (Local2 == 0x00))) { If (((A027 > 0x01) && (A027 < 0x04))) { A035 = 0x01 A044 () } Local2 = 0x08 }) } } } Return (Local4) } Method (A081, 3, Serialized) { Local7 = A018 (Arg0) A019 = DerefOf (Index (Local7, 0x00)) A020 = DerefOf (Index (Local7, 0x01)) A021 = DerefOf (Index (Local7, 0x02)) A022 = DerefOf (Index (Local7, 0x03)) A076 = A080 (Arg0, 0x01) If ((Arg1 == 0x00)) { A091 (Arg0, A021, (A021 + (A076 - 0x01)), 0x01) A008 (A019, A020, 0x01) } If ((Arg1 == 0x01)) { A008 (A019, A020, 0x00) A091 (Arg0, A021, (A021 + (A076 - 0x01)), 0x00) } If ((Arg1 != 0x02)) { Return (0x00) } If ((Arg2 == 0x00)) { Local2 = A080 (Arg0, 0x00) } Else { Local2 = Arg2 } If ((A076 <= Local2)) { Return (0x00) } Local1 = A092 (Arg0) If ((Local1 == 0x00)) { Local3 = (A021 + Local2) Local4 = A022 /* \_SB_.A022 */ } Else { Local4 = (A022 - Local2) Local3 = A021 /* \_SB_.A021 */ } A091 (Arg0, Local3, Local4, 0x01) If ((A019 > A020)) { Local3 = A020 /* \_SB_.A020 */ Local4 = A019 /* \_SB_.A019 */ } Else { Local4 = A020 /* \_SB_.A020 */ Local3 = A019 /* \_SB_.A019 */ } If ((Local1 == 0x00)) { Local3 += Local2 } Else { Local4 -= Local2 } A008 (Local3, Local4, 0x01) Return (0x00) } Method (A087, 1, NotSerialized) { Local1 = Buffer (0x10) {} Local0 = 0x00 While ((Local0 <= 0x03)) { Local2 = A063 (Arg0, (Local0 + 0xA5)) Index (Local1, (Local0 * 0x04)) = Local2 Index (Local1, ((Local0 * 0x04) + 0x01)) = ( Local2 >> 0x08) Index (Local1, ((Local0 * 0x04) + 0x02)) = ( Local2 >> 0x10) Index (Local1, ((Local0 * 0x04) + 0x03)) = ( Local2 >> 0x18) Local0++ } Local0 = 0x00 While ((Local0 < 0x0F)) { If (((DerefOf (Index (Local1, Local0)) == 0x2A) && (DerefOf (Index ( Local1, (Local0 + 0x01))) == 0x09))) { Return (0x01) } Local0++ } Return (0x00) } Method (A092, 1, Serialized) { Local7 = A018 (Arg0) A019 = DerefOf (Index (Local7, 0x00)) A020 = DerefOf (Index (Local7, 0x01)) Local0 = 0x00 If ((A019 > A020)) { Local0 = 0x01 } Local1 = (A063 (Arg0, 0x50) & 0x01) Return (((Local0 ^ Local1) & 0x01)) } Method (A086, 2, NotSerialized) { Local7 = A018 (Arg0) A075 = DerefOf (Index (Local7, 0x04)) A023 = ((DerefOf (Index (Local7, (0x05 + 0x01))) << 0x08) | DerefOf (Index (Local7, 0x05))) A004 (0x00, 0xE0, ((A023 << 0x10) | (0x0800 + (0x0100 * A075))), ~0x01, Arg1) } Name (A093, Buffer (0x07) { 0x00, 0x01, 0x02, 0x04, 0x08, 0x0C, 0x10 /* ....... */ }) Method (A080, 2, NotSerialized) { If ((Arg1 == 0x00)) { Local0 = ((A063 (Arg0, 0xA2) >> 0x04) & 0x07) Local1 = DerefOf (Index (A093, Local0)) } Else { Local7 = A018 (Arg0) A019 = DerefOf (Index (Local7, 0x00)) A020 = DerefOf (Index (Local7, 0x01)) If ((A019 > A020)) { Local1 = (A019 - A020) /* \_SB_.A020 */ } Else { Local1 = (A020 - A019) /* \_SB_.A019 */ } Local1++ } Return (Local1) } Method (A091, 4, Serialized) { Local7 = A018 (Arg0) A021 = Arg1 A022 = Arg2 A023 = ((DerefOf (Index (Local7, (0x05 + 0x01))) << 0x08) | DerefOf (Index (Local7, 0x05))) If ((A021 > A022)) { Local1 = (A021 - A022) /* \_SB_.A022 */ Local2 = A022 /* \_SB_.A022 */ } Else { Local1 = (A022 - A021) /* \_SB_.A021 */ Local2 = A021 /* \_SB_.A021 */ } Local3 = (((0x01 << (Local1 + 0x01)) - 0x01) << Local2) Local4 = ~Local3 If ((Arg3 == 0x01)) { Local3 = 0x00 } A004 (0x00, 0xE0, ((A023 << 0x10) | 0x8023), Local4, Local3) Stall (0x0A) } Name (A094, Package (0x01) { Package (0x02) { 0x10831969, 0x00 } }) Method (A089, 1, Serialized) { Local6 = ((Arg0 + 0x02) << 0x03) Local2 = A074 (Local6, 0x10) If ((Local2 != 0x00)) { Local0 = A012 (Local6, 0x18) Local0 = ((Local0 >> 0x08) & 0xFF) Local1 = (Local0 << 0x08) Local0 = A012 (Local1, 0x0C) Local0 = ((Local0 >> 0x10) & 0xFF) If (((Local0 & 0x80) != 0x00)) { Local4 = 0x07 } Else { Local4 = 0x00 } Local3 = 0x08 Local5 = 0x00 While ((Local5 <= Local4)) { Local2 = A074 ((Local1 + Local5), 0x10) If ((Local2 != 0x00)) { Local0 = (A012 ((Local1 + Local5), (Local2 + 0x04)) & 0x07) Local6 = A012 ((Local1 + Local5), 0x00) Local7 = 0x00 While ((Local7 < SizeOf (A094))) { If ((DerefOf (Index (DerefOf (Index (A094, Local7)), 0x00)) == Local6)) { Local0 = DerefOf (Index (DerefOf (Index (A094, Local7)), 0x01)) } Local7++ } If ((Local0 < Local3)) { Local3 = Local0 } } Local5++ } If ((Local3 != 0x08)) { Local6 = ((Arg0 + 0x02) << 0x03) Local2 = A074 (Local6, 0x10) Local0 = (A012 (Local6, (Local2 + 0x04)) & 0x07) If ((Local0 < Local3)) { Local3 = Local0 } Local3 <<= 0x05 A066 (Local6, (Local2 + 0x08), ~0xE0, Local3) Local5 = 0x00 While ((Local5 <= Local4)) { Local2 = A074 ((Local1 + Local5), 0x10) If ((Local2 != 0x00)) { A066 (Local1, (Local2 + 0x08), ~0xE0, Local3) } Local5++ } } } } Method (A088, 1, Serialized) { Local0 = ((Arg0 + 0x02) << 0x03) Local1 = A074 (Local0, 0x10) If ((Local1 != 0x00)) { A066 (Local0, (Local1 + 0x08), ~0xE0, 0x00) } } Method (A090, 1, Serialized) { Local7 = A018 (Arg0) Local0 = DerefOf (Index (Local7, 0x09)) If ((Local0 == 0x00)) { Return (0x00) } Local1 = ((Arg0 + 0x02) << 0x03) Local0 = A012 (Local1, 0x18) Local2 = (Local0 & 0xFF00) Local0 = A012 (Local2, 0x0C) Local0 = ((Local0 >> 0x10) & 0xFF) If (((Local0 & 0x80) != 0x00)) { Local3 = 0x07 } Else { Local3 = 0x00 } Local4 = 0x00 Local5 = 0x00 While ((Local4 <= Local3)) { Local6 = A074 ((Local2 | Local4), 0x10) If ((Local6 == 0x00)) { Local4++ } Else { If (((A012 ((Local2 | Local4), (Local6 + 0x0C )) & (0x01 << 0x12)) != 0x00)) { Local5 = 0x01 } Else { Local5 = 0x00 Break } Local4++ } } If ((Local5 == 0x00)) { Return (0x00) } Local4 = 0x00 While ((Local4 <= Local3)) { Local6 = A074 ((Local2 | Local4), 0x10) If ((Local6 == 0x00)) { Local4++ } Else { A066 ((Local2 | Local4), (Local6 + 0x10), 0xFFFFFFFF, (0x01 << 0x08)) Local4++ } } } Name (AD01, 0xE0000000) Alias (AD01, A095) Name (AD07, Package (0x08) { Buffer (0x0A) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00 /* .. */ }, Buffer (0x0A) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00 /* .. */ }, Buffer (0x0A) { /* 0000 */ 0x04, 0x04, 0x04, 0x04, 0x01, 0x30, 0x01, 0x00, /* .....0.. */ /* 0008 */ 0x01, 0x00 /* .. */ }, Buffer (0x0A) { /* 0000 */ 0x05, 0x05, 0x05, 0x05, 0x02, 0x30, 0x01, 0x00, /* .....0.. */ /* 0008 */ 0x01, 0x00 /* .. */ }, Buffer (0x0A) { /* 0000 */ 0x06, 0x06, 0x06, 0x06, 0x03, 0x30, 0x01, 0x03, /* .....0.. */ /* 0008 */ 0x01, 0x00 /* .. */ }, Buffer (0x0A) { /* 0000 */ 0x07, 0x07, 0x07, 0x07, 0x04, 0x30, 0x01, 0x01, /* .....0.. */ /* 0008 */ 0x01, 0x00 /* .. */ }, Buffer (0x0A) { /* 0000 */ 0x00, 0x03, 0x00, 0x03, 0x00, 0x30, 0x01, 0x00, /* .....0.. */ /* 0008 */ 0x01, 0x00 /* .. */ }, Buffer (0x0A) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* ........ */ /* 0008 */ 0x00, 0x00 /* .. */ } }) Alias (AD07, A096) Method (A018, 1, NotSerialized) { Return (DerefOf (Index (A096, Arg0))) } Method (A012, 2, Serialized) { Local0 = (A095 + (Arg0 << 0x0C)) Local0 += Arg1 OperationRegion (A097, SystemMemory, Local0, 0x04) Field (A097, DWordAcc, NoLock, Preserve) { A098, 32 } Return (A098) /* \_SB_.A012.A098 */ } Method (A026, 3, Serialized) { Local0 = (A095 + (Arg0 << 0x0C)) Local0 += Arg1 OperationRegion (A097, SystemMemory, Local0, 0x04) Field (A097, DWordAcc, NoLock, Preserve) { A098, 32 } A098 = Arg2 } Method (A066, 4, Serialized) { Local0 = A012 (Arg0, Arg1) Local0 = ((Local0 & Arg2) | Arg3) A026 (Arg0, Arg1, Local0) } Mutex (A099, 0x00) Method (A063, 2, NotSerialized) { Acquire (A099, 0xFFFF) Local0 = ((Arg0 + 0x02) << 0x03) A026 (Local0, 0xE0, Arg1) Local0 = A012 (Local0, 0xE4) Release (A099) Return (Local0) } Method (A064, 3, NotSerialized) { Acquire (A099, 0xFFFF) Local0 = ((Arg0 + 0x02) << 0x03) A026 (Local0, 0xE0, Arg1) A026 (Local0, 0xE4, Arg2) Release (A099) } Method (A062, 4, NotSerialized) { Local0 = A063 (Arg0, Arg1) Local0 = ((Local0 & Arg2) | Arg3) A064 (Arg0, Arg1, Local0) } Mutex (A100, 0x00) Method (A007, 3, NotSerialized) { Acquire (A100, 0xFFFF) A026 (Arg0, Arg1, Arg2) Local0 = A012 (Arg0, (Arg1 + 0x04)) Release (A100) Return (Local0) } Method (A006, 4, NotSerialized) { Acquire (A100, 0xFFFF) A026 (Arg0, Arg1, Arg2) A026 (Arg0, (Arg1 + 0x04), Arg3) Release (A100) } Method (A004, 5, NotSerialized) { Local0 = A007 (Arg0, Arg1, Arg2) Local0 = ((Local0 & Arg3) | Arg4) A006 (Arg0, Arg1, Arg2, Local0) } Method (A074, 2, NotSerialized) { Local1 = 0x34 If ((A012 (Arg0, 0x00) == 0xFFFFFFFF)) { Return (0x00) } Local0 = 0x01 While ((Local0 == 0x01)) { Local1 = (A012 (Arg0, Local1) & 0xFF) If ((Local1 == 0x00)) { Break } If (((A012 (Arg0, Local1) & 0xFF) == Arg1)) { Local0 = 0x00 } Else { Local1++ } } Return (Local1) } Method (A073, 2, Serialized) { OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02) Field (PMIO, ByteAcc, NoLock, Preserve) { PMRI, 8, PMRD, 8 } IndexField (PMRI, PMRD, ByteAcc, NoLock, Preserve) { Offset (0xE0), ABAR, 32 } OperationRegion (ACFG, SystemIO, ABAR, 0x08) Field (ACFG, DWordAcc, NoLock, Preserve) { ABIX, 32, ABDA, 32 } Local0 = 0x00 If ((Arg1 == 0x00)) { ABIX = 0x80000068 Local0 = ABDA /* \_SB_.A073.ABDA */ Return (Local0) } Else { ABIX = 0x80000068 Local0 = ABDA /* \_SB_.A073.ABDA */ Local0 = ((Local0 & 0xFFFFFFFC) | Arg0) ABDA = Local0 } } Name (A101, Buffer (0x0100) {}) Method (ALIB, 2, NotSerialized) { If ((Arg0 == 0x01)) { Return (A043 (Arg1)) } If ((Arg0 == 0x02)) { Return (A045 (Arg1)) } If ((Arg0 == 0x03)) { Return (A055 (Arg1)) } If ((Arg0 == 0x04)) { Return (A078 (Arg1)) } If ((Arg0 == 0x05)) { Return (A102 ()) } If ((Arg0 == 0x06)) { Return (A082 (Arg1)) } Return (0x00) } Method (A102, 0, Serialized) { Return (0x00) } Method (A005, 1, NotSerialized) { While (((A007 (0x00, 0xB8, 0xE0003004) & 0x02) != 0x02)) {} Local0 = A007 (0x00, 0xB8, 0xE0003000) Local0 = ((Local0 & 0xFFFE0000) | (~(Local0 & 0x01) & 0x01)) Local0 |= (Arg0 << 0x01) A006 (0x00, 0xB8, 0xE0003000, Local0) While (((A007 (0x00, 0xB8, 0xE0003004) & 0x01) != 0x01)) {} While (((A007 (0x00, 0xB8, 0xE0003004) & 0x02) != 0x02)) {} } Method (A067, 1, NotSerialized) { Local1 = A063 (Arg0, 0xA4) Local2 = (Local1 >> 0x0D) Local2 &= 0x03 Local2++ Return (Local2) } Method (A059, 2, Serialized) { If ((Arg0 == 0x01)) { Local3 = DerefOf (Index (A042, A029)) } Else { Local3 = DerefOf (Index (A042, A028)) } Local5 = A007 (0x00, 0xB8, 0x0001F428) If (((Local5 & (0x01 << 0x05)) != 0x00)) { A006 (0x00, 0xB8, 0x0001F428, (Local5 & ~(0x01 << 0x05) )) A005 (0x16) } Local4 = A012 (0xC5, 0x0170) If (((Local4 & (0x01 << 0x0E)) == 0x00)) { A026 (0xC5, 0x0170, (Local4 | (0x01 << 0x0E))) } Local2 = (A007 (0x00, 0xB8, 0xE000203C) & 0x04) Local1 = (A007 (0x00, 0xB8, 0xE0002040) & 0x01) While (((Local1 << 0x02) != Local2)) { Local1 = (A007 (0x00, 0xB8, 0xE0002040) & 0x01) } Local1 = A007 (0x00, 0xB8, 0xE000203C) If ((Arg0 == 0x01)) { Local1 &= 0xFFFFFFFD } Else { Local1 |= 0x02 } A006 (0x00, 0xB8, 0xE000203C, Local1) Local1 &= ~(0xFF << 0x08) Local1 |= (Local3 << 0x08) Local2 = (~Local1 & 0x04) Local1 = ((Local1 & ~0x04) | Local2) A006 (0x00, 0xB8, 0xE000203C, Local1) If ((Arg1 != 0x00)) { While (((Local1 << 0x02) != Local2)) { Local1 = (A007 (0x00, 0xB8, 0xE0002040) & 0x01) } } If (((Local4 & (0x01 << 0x0E)) == 0x00)) { A026 (0xC5, 0x0170, Local4) } If (((Local5 & (0x01 << 0x05)) != 0x00)) { A006 (0x00, 0xB8, 0x0001F428, Local5) A005 (0x16) } } Method (A002, 1, NotSerialized) { Local1 = A003 () Local5 = 0x00 A004 (0x00, 0xB8, 0x0001F300, 0xFFFFFFFE, 0x00) A005 (0x09) If ((Local1 == 0x00)) { A006 (0x00, 0xB8, 0x0001F954, 0x00) A004 (0x00, 0xB8, 0x0001F200, 0xFFFFFFFE, 0x00) A004 (0x00, 0xB8, 0x0001F2A0, 0xFFFFFFFE, 0x01) A004 (0x00, 0xB8, 0x0001F2C0, 0xFFFFFFFE, 0x01) Local6 = 0x00050001 } Else { If ((Arg0 == 0x01)) { Local5 = A007 (0x00, 0xB8, 0x0001FE00) A006 (0x00, 0xB8, 0x0001F954, Local5) A004 (0x00, 0xB8, 0x0001F200, 0xFFFFFFFE, 0x01) A004 (0x00, 0xB8, 0x0001F2A0, 0xFFFFFFFE, 0x01) A004 (0x00, 0xB8, 0x0001F2C0, 0xFFFFFFFE, 0x00) } Else { A004 (0x00, 0xB8, 0x0001F200, 0xFFFFFFFE, 0x01) A004 (0x00, 0xB8, 0x0001F2A0, 0xFFFFFFFE, 0x00) A004 (0x00, 0xB8, 0x0001F2C0, 0xFFFFFFFE, 0x01) } Local6 = 0x01 } A004 (0x00, 0xB8, 0x0001F300, 0xFF00FFFE, Local6) A005 (0x09) } Method (A008, 3, NotSerialized) { If ((Arg0 > Arg1)) { Local3 = Arg1 Local4 = Arg0 } Else { Local3 = Arg0 Local4 = Arg1 } Local0 = A007 (0x00, 0xB8, 0x0001F39C) Local0 &= 0x18 If ((Arg2 == 0x00)) { Local0 = (((Local4 << 0x18) | (Local3 << 0x10)) | (Local0 | 0x03)) } If ((Arg2 == 0x01)) { Local0 = (((Local4 << 0x18) | (Local3 << 0x10)) | (Local0 | 0x03)) } A006 (0x00, 0xB8, 0x0001F39C, Local0) A005 ((0x03 - Arg2)) } Method (A009, 1, NotSerialized) { } Name (A010, 0x00) Method (A011, 1, NotSerialized) { If ((A010 == 0x00)) { If ((A012 (0x08, 0x00) == 0xFFFFFFFF)) { Local1 = (A007 (0x00, 0xB8, 0x0001F428) & 0x02) If ((Local1 == 0x02)) { A010 = 0x01 } } } If ((A010 == 0x01)) { If ((Arg0 == 0x00)) { Local0 = 0x20 } Else { Local0 = 0x21 } A005 (Local0) } } Method (A013, 0, NotSerialized) { A014 = 0x00 Local1 = 0x00 While ((A014 <= A001)) { If ((A015 (A014) == 0x00)) { A014++ } Else { If ((DerefOf (Index (A016, A014)) == 0x02)) { Local1 |= A017 (A014) } A014++ } } Local2 = (Local1 << 0x18) Local2 |= ((Local1 >> 0x08) & 0xFF00) Local2 |= ((Local1 << 0x08) & 0x00FF0000) A006 (0x00, 0xB8, 0x0001F610, Local2) A005 (0x08) } Method (A017, 1, NotSerialized) { Local7 = A018 (Arg0) A019 = DerefOf (Index (Local7, 0x00)) A020 = DerefOf (Index (Local7, 0x01)) A021 = DerefOf (Index (Local7, 0x02)) A022 = DerefOf (Index (Local7, 0x03)) A023 = ((DerefOf (Index (Local7, (0x05 + 0x01))) << 0x08) | DerefOf (Index (Local7, 0x05))) Local5 = A007 (0x00, 0xE0, ((A023 << 0x10) | 0x8023)) Local5 >>= A021 /* \_SB_.A021 */ Local2 = (0x01 << ((A022 - A021) + 0x01)) Local2 -= 0x01 Local5 &= Local2 If ((A019 > A020)) { Local3 = A020 /* \_SB_.A020 */ Local4 = A019 /* \_SB_.A019 */ Local1 = ((A022 - A021) - (Local4 - Local3)) } Else { Local4 = A020 /* \_SB_.A020 */ Local3 = A019 /* \_SB_.A019 */ Local1 = 0x00 } Local2 = (0x01 << ((Local4 - Local3) + 0x01)) Local2 = ((Local2 - 0x01) << Local1) Local2 &= ~Local5 Local2 = ((Local2 - 0x01) << (Local3 - Local1)) Return (Local2) } Name (A024, 0x00) Name (A025, 0x00) Method (AWAK, 1, NotSerialized) { If ((Arg0 == 0x03)) { If ((A024 == 0x01)) { Local0 = A012 (0xC5, 0x0170) A026 (0xC5, 0x0170, (Local0 & ~(0x01 << 0x0E))) A024 = 0x00 } If ((A025 == 0x01)) { Local0 = A007 (0x00, 0xB8, 0x0001F428) A006 (0x00, 0xB8, 0x0001F428, (Local0 | (0x01 << 0x05))) A005 (0x16) A025 = 0x00 } } Local1 = A003 () A011 (Local1) } Method (APTS, 1, NotSerialized) { If ((Arg0 == 0x03)) { A011 (0x01) Local0 = A007 (0x00, 0xB8, 0x0001F428) If (((Local0 & (0x01 << 0x05)) != 0x00)) { A006 (0x00, 0xB8, 0x0001F428, (Local0 & ~(0x01 << 0x05) )) A005 (0x16) A025 = 0x01 } Local0 = A012 (0xC5, 0x0170) If (((Local0 & (0x01 << 0x0E)) == 0x00)) { A026 (0xC5, 0x0170, (Local0 | (0x01 << 0x0E))) A024 = 0x01 } Local2 = A007 (0x00, 0x60, 0xF4) Local2 = (Local0 & ~0x01) A006 (0x00, 0x60, 0xF4, Local2) } } } }