/* RSD PTR: OEM=PTLTD, ACPI_Rev=1.0x (0) RSDT=0x5f6e30a5, cksum=151 */ /* RSDT: Length=64, Revision=1, Checksum=36, OEMID=PTLTD, OEM Table ID= RSDT, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x5f6e7e78, 0x5f6e7efc, 0x5f6e7fd8, 0x5f6e7f9c, 0x5f6e34e2, 0x5f6e3304, 0x5f6e30e5 } */ /* FACP: Length=132, Revision=2, Checksum=152, OEMID=MATBIO, OEM Table ID=CFR4-2, OEM Revision=0x6040000, Creator ID=MEI, Creator Revision=0x1 FACS=0x5f6e8fc0, DSDT=0x5f6e392b INT_MODEL=PIC Preferred_PM_Profile=Unspecified (0) SCI_INT=9 SMI_CMD=0xb2, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PSTATE_CNT=0x80 PM1a_EVT_BLK=0x1000-0x1003 PM1a_CNT_BLK=0x1004-0x1005 PM2_CNT_BLK=0x1020-0x1020 PM_TMR_BLK=0x1008-0x100b GPE0_BLK=0x1028-0x102f CST_CNT=0x85 P_LVL2_LAT=1 us, P_LVL3_LAT=85 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH={8042} Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,RESET_REGISTER} RESET_REG=0xb2:0[8] (IO), RESET_VALUE=0xb4 */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=0 */ /* DSDT: Length=17741, Revision=1, Checksum=106, OEMID=MATBIO, OEM Table ID=CFR4-2, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x100000e */ /* APIC: Length=98, Revision=1, Checksum=9, OEMID=MATBIO, OEM Table ID=CFR4-2, OEM Revision=0x6040000, Creator ID=MEI, Creator Revision=0x1 Local APIC ADDR=0xfee00000 Flags={PC-AT} Type=Local APIC ACPI CPU=0 Flags={ENABLED} APIC ID=0 Type=Local APIC ACPI CPU=1 Flags={DISABLED} APIC ID=1 Type=IO APIC APIC ID=1 INT BASE=0 ADDR=0x00000000fec00000 Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=conforming, Trigger=conforming} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-hi, Trigger=level} Type=Local APIC NMI ACPI CPU=0 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} */ /* BOOT: Length=40, Revision=1, Checksum=154, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 CMOS Index=0x41 */ /* MCFG: Length=60, Revision=1, Checksum=87, OEMID=MATBIO, OEM Table ID=CFR4-2, OEM Revision=0x6040000, Creator ID=MEI, Creator Revision=0x1 Base Address=0x00000000e0000000 Segment Group=0x0000 Start Bus=0 End Bus=255 */ /* SSDT: Length=565, Revision=1, Checksum=12, OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20030224 Data={ 53 53 44 54 35 02 00 00 01 0c 50 6d 52 65 66 00 43 70 75 30 49 73 74 00 00 30 00 00 49 4e 54 4c 24 02 03 20 10 40 21 5c 2e 5f 50 52 5f 43 50 55 30 14 09 5f 50 50 43 00 a4 0a 00 14 40 0b 5f 50 43 54 00 a0 38 7b 43 46 47 44 0b 00 40 00 a4 12 2c 02 11 14 0a 11 82 0c 00 01 08 00 00 00 08 00 00 00 00 00 00 79 00 11 14 0a 11 82 0c 00 01 08 00 00 02 08 00 00 00 00 00 00 79 00 a0 41 04 90 7b 43 46 47 44 0a 02 00 7b 50 44 43 30 0a 01 00 a4 12 2c 02 11 14 0a 11 82 0c 00 7f 00 00 00 00 00 00 00 00 00 00 00 79 00 11 14 0a 11 82 0c 00 7f 00 00 00 00 00 00 00 00 00 00 00 79 00 a4 12 2c 02 11 14 0a 11 82 0c 00 01 10 00 00 b2 00 00 00 00 00 00 00 79 00 11 14 0a 11 82 0c 00 01 08 00 00 b3 00 00 00 00 00 00 00 79 00 14 2e 5f 50 53 53 00 a0 22 90 92 7b 43 46 47 44 0b 00 40 00 90 7b 43 46 47 44 0a 02 00 7b 50 44 43 30 0a 01 00 a4 4e 50 53 53 a4 53 50 53 53 08 53 50 53 53 12 47 08 04 12 20 06 0c b0 04 00 00 0c 88 13 00 00 0c 6e 00 00 00 0c 0a 00 00 00 0c 83 00 00 00 0c 00 00 00 00 12 20 06 0c e8 03 00 00 0c a0 0f 00 00 0c 6e 00 00 00 0c 0a 00 00 00 0c 83 01 00 00 0c 01 00 00 00 12 20 06 0c 20 03 00 00 0c b8 0b 00 00 0c 6e 00 00 00 0c 0a 00 00 00 0c 83 02 00 00 0c 02 00 00 00 12 20 06 0c 58 02 00 00 0c b8 0b 00 00 0c 6e 00 00 00 0c 0a 00 00 00 0c 83 03 00 00 0c 03 00 00 00 08 4e 50 53 53 12 47 08 04 12 20 06 0c b0 04 00 00 0c 88 13 00 00 0c 0a 00 00 00 0c 0a 00 00 00 0c 0d 0c 00 00 0c 0d 0c 00 00 12 20 06 0c e8 03 00 00 0c a0 0f 00 00 0c 0a 00 00 00 0c 0a 00 00 00 0c 0b 0a 00 00 0c 0b 0a 00 00 12 20 06 0c 20 03 00 00 0c b8 0b 00 00 0c 0a 00 00 00 0c 0a 00 00 00 0c 09 08 00 00 0c 09 08 00 00 12 20 06 0c 58 02 00 00 0c b8 0b 00 00 0c 0a 00 00 00 0c 0a 00 00 00 0c 07 06 00 00 0c 07 06 00 00 } */ /* SSDT: Length=478, Revision=1, Checksum=128, OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001, Creator ID=INTL, Creator Revision=0x20030224 Data={ 53 53 44 54 de 01 00 00 01 80 50 6d 52 65 66 00 43 70 75 30 43 73 74 00 01 30 00 00 49 4e 54 4c 24 02 03 20 10 49 1b 5c 2e 5f 50 52 5f 43 50 55 30 14 4c 1a 5f 43 53 54 00 a0 2f 7b 43 46 47 44 0b 00 40 00 a4 12 23 02 0a 01 12 1e 04 11 14 0a 11 82 0c 00 7f 01 01 00 09 08 00 00 00 00 00 00 79 00 0a 01 0a 01 0b e8 03 a0 41 09 90 7b 43 46 47 44 0a 80 00 92 50 57 52 53 a4 12 4f 07 05 0a 04 12 1e 04 11 14 0a 11 82 0c 00 7f 00 00 00 00 00 00 00 00 00 00 00 79 00 0a 01 0a 01 0b e8 03 12 1e 04 11 14 0a 11 82 0c 00 01 08 00 00 14 10 00 00 00 00 00 00 79 00 0a 02 0a 01 0b f4 01 12 1d 04 11 14 0a 11 82 0c 00 01 08 00 00 15 10 00 00 00 00 00 00 79 00 0a 03 0a 55 0a fa 12 1d 04 11 14 0a 11 82 0c 00 01 08 00 00 16 10 00 00 00 00 00 00 79 00 0a 03 0a b9 0a 64 a0 4d 06 7b 43 46 47 44 0a 40 00 a4 12 41 06 04 0a 03 12 1e 04 11 14 0a 11 82 0c 00 7f 00 00 00 00 00 00 00 00 00 00 00 79 00 0a 01 0a 01 0b e8 03 12 1e 04 11 14 0a 11 82 0c 00 01 08 00 00 14 10 00 00 00 00 00 00 79 00 0a 02 0a 01 0b f4 01 12 1d 04 11 14 0a 11 82 0c 00 01 08 00 00 15 10 00 00 00 00 00 00 79 00 0a 03 0a 55 0a fa a0 4f 04 7b 43 46 47 44 0a 20 00 a4 12 43 04 03 0a 02 12 1e 04 11 14 0a 11 82 0c 00 7f 00 00 00 00 00 00 00 00 00 00 00 79 00 0a 01 0a 01 0b e8 03 12 1e 04 11 14 0a 11 82 0c 00 01 08 00 00 14 10 00 00 00 00 00 00 79 00 0a 02 0a 01 0b f4 01 a4 12 23 02 0a 01 12 1e 04 11 14 0a 11 82 0c 00 7f 00 00 00 00 00 00 00 00 00 00 00 79 00 0a 01 0a 01 0b e8 03 } */ /* SSDT: Length=543, Revision=1, Checksum=237, OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20030224 Data={ 53 53 44 54 1f 02 00 00 01 ed 50 6d 52 65 66 00 43 70 75 50 6d 00 00 00 00 30 00 00 49 4e 54 4c 24 02 03 20 10 4d 07 5c 00 08 53 53 44 54 12 43 05 0c 0d 43 50 55 30 49 53 54 20 00 0c e2 34 6e 5f 0c 35 02 00 00 0d 43 50 55 31 49 53 54 20 00 0c 00 00 00 00 0c 53 ff 00 f0 0d 43 50 55 30 43 53 54 20 00 0c 04 33 6e 5f 0c de 01 00 00 0d 43 50 55 31 43 53 54 20 00 0c 00 00 00 00 0c 53 ff 00 f0 08 43 46 47 44 0c f2 82 d8 06 08 5c 50 44 43 30 0c 00 00 00 80 08 5c 50 44 43 31 0c 00 00 00 80 10 45 0a 5c 2e 5f 50 52 5f 43 50 55 30 08 48 49 30 5f 0a 00 08 48 43 30 5f 0a 00 14 4a 08 5f 50 44 43 01 8a 68 0a 08 43 41 50 30 70 43 41 50 30 50 44 43 30 a0 41 07 90 7b 43 46 47 44 0b 00 40 00 93 7b 50 44 43 30 0a 0a 00 0a 0a a0 2c 7b 43 46 47 44 0a 03 00 5b 80 49 53 54 30 00 83 88 53 53 44 54 0a 01 00 83 88 53 53 44 54 0a 02 00 5b 20 49 53 54 30 48 49 30 5f a0 2c 7b 43 46 47 44 0a 10 00 5b 80 43 53 54 30 00 83 88 53 53 44 54 0a 07 00 83 88 53 53 44 54 0a 08 00 5b 20 43 53 54 30 48 43 30 5f 10 46 0d 5c 2e 5f 50 52 5f 43 50 55 31 08 48 49 31 5f 0a 00 08 48 43 31 5f 0a 00 14 4b 0b 5f 50 44 43 01 8a 68 0a 08 43 41 50 31 70 43 41 50 31 50 44 43 31 a0 41 07 90 7b 43 46 47 44 0b 00 40 00 93 7b 50 44 43 31 0a 0a 00 0a 0a a0 2c 7b 43 46 47 44 0a 03 00 5b 80 49 53 54 31 00 83 88 53 53 44 54 0a 04 00 83 88 53 53 44 54 0a 05 00 5b 20 49 53 54 31 48 49 31 5f a0 2c 7b 43 46 47 44 0a 10 00 5b 80 43 53 54 31 00 83 88 53 53 44 54 0a 0a 00 83 88 53 53 44 54 0a 0b 00 5b 20 43 53 54 31 48 43 31 5f a0 30 93 7b 50 44 43 31 0a 0a 00 0a 0a a0 23 93 57 54 48 54 0a 01 70 0a 00 57 54 48 54 5c 2e 5f 53 42 5f 50 53 52 56 0a c9 0a 02 0a 01 0a 00 0a 00 } */ /* * Intel ACPI Component Architecture * AML Disassembler version 20131218-32 [Aug 28 2014] * Copyright (c) 2000 - 2013 Intel Corporation * * Disassembly of /tmp/acpidump.6CqDpO, Mon Mar 16 18:02:10 2015 * * Original Table Header: * Signature "DSDT" * Length 0x00004B13 (19219) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support * Checksum 0x99 * OEM ID "MATBIO" * OEM Table ID "CFR4-2" * OEM Revision 0x06040000 (100925440) * Compiler ID "MSFT" * Compiler Version 0x0100000E (16777230) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "MATBIO", "CFR4-2", 0x06040000) { Scope (_SB) { OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x5F6E8D4D, 0x00000200) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 4056 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x05), INF, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x05), INFD, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x05), INFP, 128 } Mutex (PSMX, 0x01) Method (PSRV, 5, Serialized) { Acquire (PSMX, 0xFFFF) If (Arg2) { Store (Arg3, INFO) } Store (Arg1, DID) Store (Arg0, BCMD) Store (0x00, SMIC) If (LEqual (Arg4, 0x00)) { Store (Zero, Local0) } Else { If (LEqual (Arg4, 0x01)) { Store (INF, Local0) } Else { If (LEqual (Arg4, 0x03)) { Store (INFD, Local0) } Else { If (LEqual (Arg4, 0x04)) { Store (INFP, Local0) } Else { Store (INFO, Local0) } } } } Release (PSMX) Return (Local0) } Method (ECWR, 2, NotSerialized) { And (Arg0, 0xFF, Local0) And (Arg1, 0xFF, Local1) PSRV (0x99, Add (Local0, ShiftLeft (Local1, 0x10)), 0x00, 0x00, 0x00) } Method (RRTC, 1, NotSerialized) { And (Arg0, 0xFF, Local0) Return (PSRV (0x92, 0x05, 0x01, Local0, 0x01)) } } Method (MIN, 2, NotSerialized) { If (LLess (Arg0, Arg1)) { Return (Arg0) } Else { Return (Arg1) } } Method (SLEN, 1, NotSerialized) { Return (SizeOf (Arg0)) } Method (S2BF, 1, Serialized) { Add (SLEN (Arg0), One, Local0) Name (BUFF, Buffer (Local0) {}) Store (Arg0, BUFF) Return (BUFF) } Method (SCMP, 2, NotSerialized) { Store (S2BF (Arg0), Local0) Store (S2BF (Arg1), Local1) Store (Zero, Local4) Store (SLEN (Arg0), Local5) Store (SLEN (Arg1), Local6) Store (MIN (Local5, Local6), Local7) While (LLess (Local4, Local7)) { Store (DerefOf (Index (Local0, Local4)), Local2) Store (DerefOf (Index (Local1, Local4)), Local3) If (LGreater (Local2, Local3)) { Return (One) } Else { If (LLess (Local2, Local3)) { Return (Ones) } } Increment (Local4) } If (LLess (Local4, Local5)) { Return (One) } Else { If (LLess (Local4, Local6)) { Return (Ones) } Else { Return (Zero) } } } Name (OSID, 0x00) Method (CKOS, 0, NotSerialized) { If (OSID) { Return (OSID) } If (CondRefOf (\_OSI, Local0)) { Store (0x82, OSID) } Else { If (LEqual (SCMP (\_OS, "Microsoft Windows NT"), Zero)) { Store (0x81, OSID) } Else { If (LEqual (SCMP (\_OS, "Microsoft Windows"), Zero)) { Store (0x01, OSID) } Else { If (LEqual (SCMP (\_OS, "Microsoft WindowsME: Millennium Edition"), Zero)) { Store (0x02, OSID) } Else { Store (0xFF, OSID) } } } } Return (OSID) } Scope (\) { Name (WTHT, Zero) Name (APIC, One) Name (GV3E, One) Name (HTTE, Zero) } Method (GINI, 0, NotSerialized) { Store (\_SB.PSRV (0xC9, 0x01, 0x01, 0x01, 0x03), APIC) Store (\_SB.PSRV (0xC9, 0x01, 0x01, 0x02, 0x03), GV3E) Store (\_SB.PSRV (0xC9, 0x01, 0x01, 0x03, 0x03), HTTE) } Method (PNOT, 0, Serialized) { If (HTTE) { If (LEqual (And (PDC0, 0x0A), 0x0A)) { Notify (\_PR.CPU0, 0x80) } If (LEqual (And (PDC1, 0x0A), 0x0A)) { Notify (\_PR.CPU1, 0x80) } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) } Notify (\_SB.BATA, 0x80) } Scope (\) { Name (GTF0, Buffer (0x07) {}) Name (GTF2, Buffer (0x07) {}) Name (IDEM, Zero) } Method (AINI, 0, NotSerialized) { Store (\_SB.PSRV (0x94, 0x01, 0x01, 0x01, 0x03), IDEM) } Method (GETP, 1, Serialized) { If (LEqual (And (Arg0, 0x09), 0x00)) { Return (0xFFFFFFFF) } If (LEqual (And (Arg0, 0x09), 0x08)) { Return (0x0384) } ShiftRight (And (Arg0, 0x0300), 0x08, Local0) ShiftRight (And (Arg0, 0x3000), 0x0C, Local1) Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1)) )) } Method (GDMA, 5, Serialized) { If (Arg0) { If (LAnd (Arg1, Arg4)) { Return (0x14) } If (LAnd (Arg2, Arg4)) { Return (Multiply (Subtract (0x04, Arg3), 0x0F)) } Return (Multiply (Subtract (0x04, Arg3), 0x1E)) } Return (0xFFFFFFFF) } Method (GETT, 1, Serialized) { Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02 ), 0x03), And (Arg0, 0x03))))) } Method (GETF, 3, Serialized) { Name (TMPF, 0x00) If (Arg0) { Or (TMPF, 0x01, TMPF) } If (And (Arg2, 0x02)) { Or (TMPF, 0x02, TMPF) } If (Arg1) { Or (TMPF, 0x04, TMPF) } If (And (Arg2, 0x20)) { Or (TMPF, 0x08, TMPF) } If (And (Arg2, 0x4000)) { Or (TMPF, 0x10, TMPF) } Return (TMPF) } Method (SETP, 3, Serialized) { If (LGreater (Arg0, 0xF0)) { Return (0x08) } Else { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, 0x01))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, Serialized) { If (LLessEqual (Arg0, 0x14)) { Return (0x01) } If (LLessEqual (Arg0, 0x1E)) { Return (0x02) } If (LLessEqual (Arg0, 0x2D)) { Return (0x01) } If (LLessEqual (Arg0, 0x3C)) { Return (0x02) } If (LLessEqual (Arg0, 0x5A)) { Return (0x01) } Return (0x00) } Method (SETT, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, 0x01))) { Return (0x09) } } Return (0x04) } OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000) Field (RCRB, DWordAcc, Lock, Preserve) { Offset (0x1000), Offset (0x3000), Offset (0x3404), HPAS, 2, , 5, HPAE, 1, Offset (0x3418), , 1, PATD, 1, SATD, 1, SMBD, 1, AZAD, 1, A97D, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1 } Scope (\) { Name (PWRS, 0x01) } Scope (_SB) { Method (ECPF, 3, NotSerialized) { If (LEqual (Arg0, 0x0100)) { Store (\_SB.PCI0.LPCB.EC0.EC01 (), PWRS) Return (PWRS) } If (LEqual (Arg0, 0x0101)) { Return (\_SB.PCI0.LPCB.EC0.EC02 (Arg1)) } If (LEqual (Arg0, 0x0110)) { Return (\_SB.PCI0.LPCB.EC0.EC03 (Arg1, Arg2)) } If (LEqual (Arg0, 0x0111)) { Return (\_SB.PCI0.LPCB.EC0.EC04 (Arg1, Arg2)) } If (LEqual (Arg0, 0x0112)) { Return (\_SB.PCI0.LPCB.EC0.EC05 (Arg1, Arg2)) } If (LEqual (Arg0, 0x0200)) { Return (\_SB.PCI0.LPCB.EC0.EC06 ()) } If (LEqual (Arg0, 0x0201)) { Return (\_SB.PCI0.LPCB.EC0.EC07 ()) } If (LEqual (Arg0, 0x0202)) { Return (\_SB.PCI0.LPCB.EC0.EC08 ()) } If (LEqual (Arg0, 0x0203)) { Return (\_SB.PCI0.LPCB.EC0.EC09 ()) } If (LEqual (Arg0, 0x0204)) { Return (\_SB.PCI0.LPCB.EC0.EC0A ()) } If (LEqual (Arg0, 0x0205)) { Return (\_SB.PCI0.LPCB.EC0.EC0B (Arg1)) } If (LEqual (Arg0, 0x0206)) { Return (\_SB.PCI0.LPCB.EC0.EC0C (Arg1)) } If (LEqual (Arg0, 0x0207)) { Return (\_SB.PCI0.LPCB.EC0.EC0D (Arg1)) } If (LEqual (Arg0, 0x0208)) { Return (\_SB.PCI0.LPCB.EC0.EC0E (Arg1)) } If (LEqual (Arg0, 0x0209)) { Return (\_SB.PCI0.LPCB.EC0.EC0F (Arg1)) } If (LEqual (Arg0, 0x020A)) { Return (\_SB.PCI0.LPCB.EC0.EC10 (Arg1, Arg2)) } If (LEqual (Arg0, 0x0215)) { Return (\_SB.PCI0.LPCB.EC0.Z000 ()) } Return (0xFFFFFFFF) } } Scope (\_SB) { Device (LID) { Name (_HID, EisaId ("PNP0C0D")) // _HID: Hardware ID Name (_UID, 0x00) // _UID: Unique ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Return (\_SB.ECPF (0x0200, 0x00, 0x00)) } Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x1B, 0x04 }) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { \_SB.ECPF (0x0207, Arg0, 0x00) } } } Scope (\_SB) { Name (\_SB.BAST, 0x00) Device (BATA) { Name (_HID, EisaId ("PNP0C0A")) // _HID: Hardware ID Name (_UID, 0x00) // _UID: Unique ID Name (A_PU, 0xFF) Method (_BIF, 0, Serialized) // _BIF: Battery Information { Name (BIFR, Package (0x0D) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, Buffer (0x10) {}, Buffer (0x10) {}, Buffer (0x10) {}, Buffer (0x10) {} }) Store (\_SB.ECPF (0x0111, 0x00, 0x00), A_PU) Store (A_PU, Index (BIFR, 0x00)) If (A_PU) { Store (0x01, Local1) While (LLessEqual (Local1, 0x08)) { Store (\_SB.ECPF (0x0111, 0x00, Local1), Index (BIFR, Local1)) Increment (Local1) } } Else { Store (0x01, Local1) While (LLessEqual (Local1, 0x08)) { Store (\_SB.ECPF (0x0111, 0x00, Local1), Local2) If (LAnd (LNotEqual (Local2, 0xFFFFFFFF), LAnd (LNotEqual (Local1, 0x03), LNotEqual (Local1, 0x04)))) { Multiply (Local2, 0x0A, Local2) } Store (Local2, Index (BIFR, Local1)) Increment (Local1) } } Store (\_SB.ECPF (0x0111, 0x00, 0x09), Index (BIFR, 0x09)) Store (\_SB.ECPF (0x0111, 0x00, 0x0A), Index (BIFR, 0x0A)) Store (\_SB.ECPF (0x0111, 0x00, 0x0B), Index (BIFR, 0x0B)) Store ("Panasonic", Index (BIFR, 0x0C)) Return (BIFR) } Method (_BST, 0, Serialized) // _BST: Battery Status { Name (BSTR, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Store (\_SB.ECPF (0x0110, 0x00, 0x00), Index (BSTR, 0x00)) If (LGreater (A_PU, 0x01)) { Store (\_SB.ECPF (0x0111, 0x00, 0x00), A_PU) } If (A_PU) { Store (\_SB.ECPF (0x0110, 0x00, 0x01), Index (BSTR, 0x01)) Store (\_SB.ECPF (0x0110, 0x00, 0x02), Index (BSTR, 0x02)) } Else { Store (\_SB.ECPF (0x0110, 0x00, 0x01), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Store (Local0, Index (BSTR, 0x01)) } Else { Store (Multiply (Local0, 0x0A), Index (BSTR, 0x01)) } Store (\_SB.ECPF (0x0110, 0x00, 0x02), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Store (Local0, Index (BSTR, 0x02)) } Else { Store (Multiply (Local0, 0x0A), Index (BSTR, 0x02)) } } Store (\_SB.ECPF (0x0110, 0x00, 0x03), Index (BSTR, 0x03)) Return (BSTR) } Name (_PCL, Package (0x01) // _PCL: Power Consumer List { \_SB }) Method (_STA, 0, Serialized) // _STA: Status { If (LEqual (\_SB.ECPF (0x0101, 0x00, 0x00), 0x01)) { Return (0x1F) } Else { Return (0x0F) } } Method (_BTP, 1, NotSerialized) // _BTP: Battery Trip Point { If (LGreater (A_PU, 0x01)) { Store (\_SB.ECPF (0x0111, 0x00, 0x00), A_PU) } If (A_PU) { Store (Arg0, Local1) } Else { Store (Divide (Arg0, 0x0A, ), Local1) } If (LGreaterEqual (Local1, 0x00010000)) { Store (Zero, Local0) } Else { Store (Local1, Local0) } \_SB.ECPF (0x0112, 0x00, Local0) } } } Scope (\_SB) { Device (AC) { Name (_HID, "ACPI0003") // _HID: Hardware ID Name (_UID, 0x00) // _UID: Unique ID Method (_PSR, 0, NotSerialized) // _PSR: Power Source { Return (\_SB.ECPF (0x0100, 0x00, 0x00)) } Name (_PCL, Package (0x01) // _PCL: Power Consumer List { \_SB }) } Method (ADAC, 0, Serialized) { Store (\_SB.ECPF (0x0100, 0x00, 0x00), Local0) \_SB.PSRV (0xC9, 0x03, 0x01, Local0, 0x00) PNOT () } } Scope (\_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) // _HID: Hardware ID Name (_UID, 0x00) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } } } Scope (\_SB) { Device (HKEY) { Name (_HID, EisaId ("MAT0019")) // _HID: Hardware ID Name (SIFR, Package (0x0E) { 0x01, 0x00, 0x15, 0x01, 0xFF, 0x15, 0x01, 0x7F, 0x00, 0x01, 0x00, 0x00, 0x0A, 0xFF }) Name (HDAT, Buffer (0x20) {}) Name (HINP, Zero) Name (HOUP, Zero) Mutex (HDMX, 0x00) Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } Method (_INI, 0, NotSerialized) // _INI: Initialize { HRES () } Method (HRES, 0, Serialized) { Acquire (HDMX, 0xFFFF) Or (0x01000000, 0x00, Local1) Store (\_SB.PSRV (0x96, 0x19003434, 0x01, Local1, 0x03), Local0) Store (And (ShiftRight (Local0, 0x08), 0xFF), Index (SIFR, 0x07)) Store (And (Local0, 0xFF), Index (SIFR, 0x04)) Or (0x02000000, 0x00, Local1) Store (And (\_SB.PSRV (0x96, 0x19003434, 0x01, Local1, 0x01), 0x01), Index (SIFR, 0x08)) Store (\_SB.ECPF (0x0215, 0x00, 0x00), Local0) Or (Local0, 0x01, Local0) Or (Local0, 0x02, Local0) Store (Local0, Index (SIFR, 0x0A)) Release (HDMX) } Method (HSAV, 0, Serialized) { Acquire (HDMX, 0xFFFF) Store (DerefOf (Index (SIFR, 0x04)), Local0) Add (ShiftLeft (DerefOf (Index (SIFR, 0x07)), 0x08), Local0, Local0) Or (0x01000000, 0x00010000, Local1) Or (Local1, Local0, Local1) \_SB.PSRV (0x96, 0x19003434, 0x01, Local1, 0x03) Store (And (DerefOf (Index (SIFR, 0x08)), 0x01), Local0) Or (0x02000000, 0x00010000, Local1) Or (Local1, Local0, Local1) \_SB.PSRV (0x96, 0x19003434, 0x01, Local1, 0x01) Release (HDMX) } Method (HIND, 1, Serialized) { Acquire (HDMX, 0xFFFF) Store (Arg0, Index (HDAT, HINP)) Increment (HINP) Divide (HINP, 0x20, HINP) If (LEqual (HINP, HOUP)) { Increment (HOUP) Divide (HOUP, 0x20, HOUP) } Release (HDMX) } Method (HINF, 0, Serialized) { Acquire (HDMX, 0xFFFF) If (LEqual (HINP, HOUP)) { Store (Zero, Local0) } Else { Store (DerefOf (Index (HDAT, HOUP)), Local0) Increment (HOUP) Divide (HOUP, 0x20, HOUP) } Store (LNotEqual (HINP, HOUP), Local1) Release (HDMX) If (Local1) { Notify (\_SB.HKEY, 0x80) } Return (Local0) } Method (SQTY, 0, NotSerialized) { Return (0x0E) } Method (SINF, 0, NotSerialized) { Store (\_SB.ECPF (0x0215, 0x00, 0x00), Local0) Or (Local0, 0x01, Local0) Or (Local0, 0x02, Local0) Store (Local0, Index (SIFR, 0x0A)) Return (SIFR) } Method (SSET, 2, Serialized) { If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x07))) { Store (Arg1, Index (SIFR, Arg0)) Or (0x04000000, 0x00020000, Local0) Or (Local0, Arg1, Local0) \_SB.PSRV (0x96, 0x19003434, 0x01, Local0, 0x03) } If (LEqual (Arg0, 0x08)) { Store (Arg1, Index (SIFR, Arg0)) \_SB.ECPF (0x0209, Arg1, 0x00) } If (LEqual (Arg0, 0x80)) { If (LEqual (Arg1, 0x01)) { Store (0xE201, Local0) } Else { Store (0xE200, Local0) } \_SB.ECPF (0x0208, Arg1, 0x00) } If (LEqual (Arg0, 0x0D)) { Store (Arg1, Index (SIFR, Arg0)) Or (0x04000000, 0x00030000, Local0) Or (Local0, Arg1, Local0) \_SB.PSRV (0x96, 0x19003434, 0x01, Local0, 0x03) } } Method (HACT, 0, NotSerialized) { Notify (PWRB, 0x80) } } } Scope (\_PR) { Processor (CPU0, 0x00, 0x00001010, 0x06) {} Processor (CPU1, 0x01, 0x00001010, 0x06) {} } Scope (\_TZ) { ThermalZone (TZC) { Name (INIT, Zero) Name (CSCP, Zero) Name (PSV, 0x0DCA) Name (CRT, 0x0E2E) Method (INIP, 0, NotSerialized) { If (LEqual (INIT, Zero)) { Store (\_SB.ECPF (0x0204, Zero, Zero), CRT) Store (\_SB.ECPF (0x0203, Zero, Zero), PSV) Store (\_SB.ECPF (0x0202, Zero, Zero), _TC2) Store (One, INIT) } } Name (_TC1, Zero) // _TC1: Thermal Constant 1 Name (_TC2, 0x0C) // _TC2: Thermal Constant 2 Name (_TSP, 0x28) // _TSP: Thermal Sampling Period Method (_TMP, 0, NotSerialized) // _TMP: Temperature { Store (\_SB.ECPF (0x0201, Zero, Zero), Local0) If (LGreater (Local0, CRT)) { \_SB.PSRV (0x9C, 0x00, 0x00, 0x00, 0x00) } Return (Local0) } Method (_PSV, 0, NotSerialized) // _PSV: Passive Temperature { \_TZ.TZC.INIP () Return (PSV) } Method (_PSL, 0, Serialized) // _PSL: Passive List { If (HTTE) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_CRT, 0, NotSerialized) // _CRT: Critical Temperature { \_TZ.TZC.INIP () Return (CRT) } Method (_SCP, 1, NotSerialized) // _SCP: Set Cooling Policy { Store (Arg0, CSCP) Store (Zero, INIT) \_TZ.TZC.INIP () Notify (\_TZ.TZC, 0x81) } } } Scope (\_SI) { Method (_SST, 1, NotSerialized) // _SST: System Status { If (LAnd (LNotEqual (Arg0, 0x04), LNotEqual (Arg0, 0x00))) { \_SB.PSRV (0x92, 0x01, 0x01, Arg0, 0x00) } } } Name (_S0, Package (0x03) // _S0_: S0 System State { 0x00, 0x00, 0x00 }) Name (_S3, Package (0x03) // _S3_: S3 System State { 0x05, 0x05, 0x00 }) Name (_S4, Package (0x03) // _S4_: S4 System State { 0x06, 0x06, 0x00 }) Name (_S5, Package (0x03) // _S5_: S5 System State { 0x07, 0x07, 0x00 }) Name (FWSO, "FWSO") Method (_WAK, 1, NotSerialized) // _WAK: Wake { \_SB.PSRV (0x92, 0x03, 0x01, \CKOS (), 0x00) If (LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03))) { Store (\_SB.PSRV (0x93, 0x01, 0x00, 0x00, 0x03), Local0) If (LOr (LEqual (Local0, 0x06), LEqual (Local0, 0x01))) { Notify (\_SB.PWRB, 0x02) } } If (LAnd (LGreaterEqual (Arg0, 0x03), LLessEqual (Arg0, 0x05))) { \_SB.HKEY.HRES () } \_SB.ECPF (0x0206, 0x00, 0x00) Store (\_SB.ECPF (0x0101, 0x00, 0x00), Local0) If (XOr (\_SB.BAST, Local0)) { If (LEqual (Local0, 0x01)) { Notify (\_SB.BATA, 0x00) } Else { Notify (\_SB.BATA, 0x01) } } \_SB.ADAC () \_SB.PSRV (0xB8, 0x01, 0x00, 0x00, 0x00) Return (Package (0x02) { 0x00, 0x00 }) } Scope (_GPE) { Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.PCIB, 0x02) } Method (_L1B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.PCIB, 0x02) } } Scope (\_SB) { Name (\GPIC, 0x00) Method (\_PIC, 1, NotSerialized) // _PIC: Interrupt Model { Store (Arg0, GPIC) } Device (PCI0) { Method (_INI, 0, NotSerialized) // _INI: Initialize { \_SB.PSRV (0x92, 0x03, 0x01, \CKOS (), 0x00) GINI () AINI () \_SB.PSRV (0xB8, 0x01, 0x00, 0x00, 0x00) } Name (_HID, EisaId ("PNP0A08")) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03")) // _CID: Compatible ID Name (_ADR, 0x00) // _ADR: Address Name (_BBN, 0x00) // _BBN: BIOS Bus Number OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { Offset (0x50), , 4, PM0H, 2, Offset (0x51), PM1L, 2, , 2, PM1H, 2, Offset (0x52), PM2L, 2, , 2, PM2H, 2, Offset (0x53), PM3L, 2, , 2, PM3H, 2, Offset (0x54), PM4L, 2, , 2, PM4H, 2, Offset (0x55), PM5L, 2, , 2, PM5H, 2, Offset (0x56), PM6L, 2, , 2, PM6H, 2, Offset (0x57), , 7, HENA, 1, Offset (0x5C), , 3, TOUD, 5 } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000CF7, // Range Maximum 0x00000000, // Translation Offset 0x00000CF8, // Length 0x00,, , TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, // Granularity 0x00000D00, // Range Minimum 0x0000FFFF, // Range Maximum 0x00000000, // Translation Offset 0x0000F300, // Length 0x00,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _Y0B, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000F0000, // Range Minimum 0x000FFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00010000, // Length 0x00,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFEBFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y0D, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (PM1L) { CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN) // _LEN: Length Store (Zero, C0LN) } If (LEqual (PM1L, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW) // _RW_: Read-Write Status Store (Zero, C0RW) } If (PM1H) { CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN) // _LEN: Length Store (Zero, C4LN) } If (LEqual (PM1H, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW) // _RW_: Read-Write Status Store (Zero, C4RW) } If (PM2L) { CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN) // _LEN: Length Store (Zero, C8LN) } If (LEqual (PM2L, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW) // _RW_: Read-Write Status Store (Zero, C8RW) } If (PM2H) { CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN) // _LEN: Length Store (Zero, CCLN) } If (LEqual (PM2H, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW) // _RW_: Read-Write Status Store (Zero, CCRW) } If (PM3L) { CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN) // _LEN: Length Store (Zero, D0LN) } If (LEqual (PM3L, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW) // _RW_: Read-Write Status Store (Zero, D0RW) } If (PM3H) { CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN) // _LEN: Length Store (Zero, D4LN) } If (LEqual (PM3H, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW) // _RW_: Read-Write Status Store (Zero, D4RW) } If (PM4L) { CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN) // _LEN: Length Store (Zero, D8LN) } If (LEqual (PM4L, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW) // _RW_: Read-Write Status Store (Zero, D8RW) } If (PM4H) { CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN) // _LEN: Length Store (Zero, DCLN) } If (LEqual (PM4H, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW) // _RW_: Read-Write Status Store (Zero, DCRW) } If (PM5L) { CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN) // _LEN: Length Store (Zero, E0LN) } If (LEqual (PM5L, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW) // _RW_: Read-Write Status Store (Zero, E0RW) } If (PM5H) { CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN) // _LEN: Length Store (Zero, E4LN) } If (LEqual (PM5H, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW) // _RW_: Read-Write Status Store (Zero, E4RW) } If (PM6L) { CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN) // _LEN: Length Store (Zero, E8LN) } If (LEqual (PM6L, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW) // _RW_: Read-Write Status Store (Zero, E8RW) } If (PM6H) { CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN) // _LEN: Length Store (Zero, ECLN) } If (LEqual (PM6H, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW) // _RW_: Read-Write Status Store (Zero, ECRW) } If (PM0H) { CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN) // _LEN: Length Store (Zero, F0LN) } If (LEqual (PM0H, 0x01)) { CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW) // _RW_: Read-Write Status Store (Zero, F0RW) } CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN) // _MIN: Minimum Base Address CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX) // _MAX: Maximum Base Address CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN) // _LEN: Length ShiftLeft (TOUD, 0x1B, M1MN) Add (Subtract (M1MX, M1MN), 0x01, M1LN) Return (BUF0) } Device (OPRM) { Name (_HID, EisaId ("PNP0C02")) // _HID: Hardware ID Name (_UID, 0x1000) // _UID: Unique ID Name (RSRC, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length ) }) Method (ISSD, 1, NotSerialized) { Store (0x03, Local0) If (And (Arg0, 0x4000)) { Store (0x30, Local0) } Store (ShiftRight (Subtract (Arg0, 0x000C0000), 0x0F), Local1) If (LEqual (Local1, 0x00)) { Add (Multiply (\_SB.PCI0.PM1H, 0x10), \_SB.PCI0.PM1L, Local2) } If (LEqual (Local1, 0x01)) { Add (Multiply (\_SB.PCI0.PM2H, 0x10), \_SB.PCI0.PM2L, Local2) } If (LEqual (Local1, 0x02)) { Add (Multiply (\_SB.PCI0.PM3H, 0x10), \_SB.PCI0.PM3L, Local2) } If (LEqual (Local1, 0x03)) { Add (Multiply (\_SB.PCI0.PM4H, 0x10), \_SB.PCI0.PM4L, Local2) } If (LEqual (Local1, 0x04)) { Add (Multiply (\_SB.PCI0.PM5H, 0x10), \_SB.PCI0.PM5L, Local2) } If (LEqual (Local1, 0x05)) { Add (Multiply (\_SB.PCI0.PM6H, 0x10), \_SB.PCI0.PM6L, Local2) } Return (And (Local2, Local0)) } Method (ROMS, 1, NotSerialized) { If (ISSD (Arg0)) { OperationRegion (XROM, SystemMemory, Arg0, 0x04) Field (XROM, ByteAcc, NoLock, Preserve) { SIG, 16, SIZ, 8 } If (LEqual (SIG, 0xAA55)) { Return (Multiply (SIZ, 0x0200)) } } Return (Zero) } Method (MRSC, 2, Serialized) { Name (BUFF, Buffer (Subtract (SizeOf (Arg0), 0x02)) {}) Store (Zero, Local0) While (LLess (Local0, Subtract (SizeOf (Arg0), 0x02))) { Store (DerefOf (Index (Arg0, Local0)), Index (BUFF, Local0)) Increment (Local0) } Concatenate (BUFF, Arg1, Local1) Return (Local1) } Method (RSVA, 3, Serialized) { Name (FXRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y0E) }) CreateDWordField (FXRS, \_SB.PCI0.OPRM.RSVA._Y0E._BAS, ROMB) // _BAS: Base Address CreateDWordField (FXRS, \_SB.PCI0.OPRM.RSVA._Y0E._LEN, ROML) // _LEN: Length Store (Arg1, ROMB) Subtract (Arg2, Arg1, ROML) CreateDWordField (Arg0, 0x04, ABAS) CreateDWordField (Arg0, 0x08, ALEN) If (LAnd (LEqual (ABAS, Zero), LEqual (ALEN, Zero))) { Return (FXRS) } Return (MRSC (Arg0, FXRS)) } Method (ALAD, 2, NotSerialized) { Return (Multiply (Divide (Subtract (Add (Arg0, Arg1), One), Arg1, ), Arg1)) } Method (OPRR, 1, NotSerialized) { Store (Arg0, Local7) Store (0x000C0000, Local0) While (LLess (Local0, 0x000E0000)) { Store (ROMS (Local0), Local1) If (LEqual (Local1, Zero)) { Store (ALAD (Local0, 0x4000), Local2) Store (ALAD (Local0, 0x0800), Local3) If (LNotEqual (Local0, Local2)) { If (LAnd (LNotEqual (Local0, Local3), ROMS (Local3))) { Store (RSVA (Local7, Local0, Local3), Local7) Store (Local3, Local0) } Else { Store (RSVA (Local7, Local0, Local2), Local7) Store (0x000E0000, Local0) } } Else { Store (0x000E0000, Local0) } } Else { Add (Local0, Local1, Local0) } } Return (Local7) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (OPRR (RSRC)) } } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (GPIC) { Return (PIC4) } Else { Return (PIC5) } } Name (PIC4, Package (0x0A) { Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x001DFFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x001DFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, 0x00, 0x10 }, Package (0x04) { 0x001EFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x001EFFFF, 0x01, 0x00, 0x14 }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x001FFFFF, 0x03, 0x00, 0x10 } }) Name (PIC5, Package (0x0A) { Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package (0x04) { 0x001DFFFF, 0x00, \_SB.PCI0.LPCB.LNKH, 0x00 }, Package (0x04) { 0x001DFFFF, 0x01, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package (0x04) { 0x001DFFFF, 0x02, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package (0x04) { 0x001DFFFF, 0x03, \_SB.PCI0.LPCB.LNKA, 0x00 }, Package (0x04) { 0x001EFFFF, 0x00, \_SB.PCI0.LPCB.LNKB, 0x00 }, Package (0x04) { 0x001EFFFF, 0x01, \_SB.PCI0.LPCB.LNKE, 0x00 }, Package (0x04) { 0x001FFFFF, 0x00, \_SB.PCI0.LPCB.LNKC, 0x00 }, Package (0x04) { 0x001FFFFF, 0x01, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package (0x04) { 0x001FFFFF, 0x03, \_SB.PCI0.LPCB.LNKA, 0x00 } }) Scope (\) { Name (CSTE, 0x00) Name (NSTE, 0x00) } Device (GFX0) { Name (_ADR, 0x00020000) // _ADR: Address Method (_DOS, 1, NotSerialized) // _DOS: Disable Output Switching { Store (And (Arg0, 0x03), Local0) \_SB.PSRV (0xB9, 0x20, 0x01, Local0, 0x00) } Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices { Name (TMP2, Package (0x02) { 0x80000100, 0x80000410 }) Return (TMP2) } Device (CRT1) { Method (_ADR, 0, Serialized) // _ADR: Address { Store (0x80000100, Local0) Return (And (0xFFFF, Local0)) } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Store (\_SB.PSRV (0xB9, 0x01, 0x00, 0x00, 0x03), Local0) If (And (Local0, 0x0101)) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Store (NSTE, Local0) If (And (Local0, 0x0101)) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (LCD1) { Method (_ADR, 0, Serialized) // _ADR: Address { Store (0x80000410, Local0) Return (And (0xFFFF, Local0)) } Method (_DCS, 0, NotSerialized) // _DCS: Display Current Status { Store (\_SB.PSRV (0xB9, 0x01, 0x00, 0x00, 0x03), Local0) If (And (Local0, 0x0808)) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) // _DGS: Display Graphics State { Store (NSTE, Local0) If (And (Local0, 0x0808)) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) // _DSS: Device Set State { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } } Device (USB1) { Name (_ADR, 0x001D0000) // _ADR: Address } Device (USB2) { Name (_ADR, 0x001D0001) // _ADR: Address } Device (USB3) { Name (_ADR, 0x001D0002) // _ADR: Address } Device (USB4) { Name (_ADR, 0x001D0003) // _ADR: Address } Device (EHCI) { Name (_ADR, 0x001D0007) // _ADR: Address } Device (PCIB) { Name (_ADR, 0x001E0000) // _ADR: Address Device (CDB1) { Name (_ADR, 0x00050000) // _ADR: Address } Device (LAN) { Name (_ADR, 0x00010000) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x0B, 0x04 }) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (GPIC) { Return (PIC6) } Else { Return (PIC7) } } Name (PIC6, Package (0x06) { Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x16 }, Package (0x04) { 0x0005FFFF, 0x01, 0x00, 0x14 }, Package (0x04) { 0x0005FFFF, 0x02, 0x00, 0x17 }, Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x15 }, Package (0x04) { 0x0004FFFF, 0x01, 0x00, 0x13 } }) Name (PIC7, Package (0x06) { Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.LPCB.LNKG, 0x00 }, Package (0x04) { 0x0005FFFF, 0x01, \_SB.PCI0.LPCB.LNKE, 0x00 }, Package (0x04) { 0x0005FFFF, 0x02, \_SB.PCI0.LPCB.LNKH, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPCB.LNKD, 0x00 }, Package (0x04) { 0x0004FFFF, 0x00, \_SB.PCI0.LPCB.LNKF, 0x00 }, Package (0x04) { 0x0004FFFF, 0x01, \_SB.PCI0.LPCB.LNKD, 0x00 } }) } Device (AUD0) { Name (_ADR, 0x001E0002) // _ADR: Address } Device (MODM) { Name (_ADR, 0x001E0003) // _ADR: Address Name (_PRW, Package (0x02) // _PRW: Power Resources for Wake { 0x05, 0x03 }) Name (MPSW, 0x00) Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { Store (ShiftLeft (0x00, 0x18), Local0) Or (Local0, And (_ADR, 0x00FF0000), Local0) Or (Local0, ShiftLeft (And (_ADR, 0xFF), 0x08), Local0) Or (Local0, Arg0, Local0) Store (Local0, MPSW) } } Device (LPCB) { Name (_ADR, 0x001F0000) // _ADR: Address OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { PMBA, 16, Offset (0x08), GPBA, 16, Offset (0x20), PARC, 8, PBRC, 8, PCRC, 8, PDRC, 8, Offset (0x28), PERC, 8, PFRC, 8, PGRC, 8, PHRC, 8, Offset (0x40), IOD0, 8, IOD1, 8, Offset (0x44), GEN1, 16, Offset (0x48), GEN2, 16, Offset (0x60), , 2, CREN, 1, Offset (0xB0), RCBA, 32 } Device (MBRD) { Name (_HID, EisaId ("PNP0C02")) // _HID: Hardware ID Name (_UID, 0x1F) // _UID: Unique ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0900, // Range Minimum 0x0900, // Range Maximum 0x01, // Alignment 0x20, // Length _Y0F) IO (Decode16, 0x092C, // Range Minimum 0x092C, // Range Maximum 0x01, // Alignment 0x54, // Length ) IO (Decode16, 0xFE00, // Range Minimum 0xFE00, // Range Maximum 0x02, // Alignment 0x02, // Length ) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (BUF0, \_SB.PCI0.LPCB.MBRD._Y0F._MIN, G1MN) // _MIN: Minimum Base Address CreateWordField (BUF0, \_SB.PCI0.LPCB.MBRD._Y0F._MAX, G1MX) // _MAX: Maximum Base Address And (^^GEN1, 0xFF80, G1MN) Store (G1MN, G1MX) Return (BUF0) } } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x11, // Length ) IO (Decode16, 0x0093, // Range Minimum 0x0093, // Range Maximum 0x01, // Alignment 0x0D, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (FWHD) { Name (_HID, EisaId ("INT0800")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadOnly, 0xFF000000, // Address Base 0x01000000, // Address Length ) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) // _HID: Hardware ID Name (BUF0, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y10) }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (\CKOS (), 0x82)) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (0x00) } Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (HPAE) { CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y10._BAS, HPT0) // _BAS: Base Address If (LEqual (HPAS, 0x01)) { Store (0xFED01000, HPT0) } If (LEqual (HPAS, 0x02)) { Store (0xFED02000, HPT0) } If (LEqual (HPAS, 0x03)) { Store (0xFED03000, HPT0) } } Return (BUF0) } } Device (IPIC) { Name (_HID, EisaId ("PNP0000")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0024, // Range Minimum 0x0024, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0028, // Range Minimum 0x0028, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002C, // Range Minimum 0x002C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0030, // Range Minimum 0x0030, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0034, // Range Minimum 0x0034, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0038, // Range Minimum 0x0038, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x003C, // Range Minimum 0x003C, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A4, // Range Minimum 0x00A4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A8, // Range Minimum 0x00A8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00AC, // Range Minimum 0x00AC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B4, // Range Minimum 0x00B4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00BC, // Range Minimum 0x00BC, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {13} }) } Device (MBD0) { Name (_HID, EisaId ("PNP0C02")) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0800, // Range Minimum 0x0800, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x1000, // Range Minimum 0x1000, // Range Maximum 0x01, // Alignment 0x80, // Length _Y11) IO (Decode16, 0x1180, // Range Minimum 0x1180, // Range Maximum 0x01, // Alignment 0x40, // Length _Y12) Memory32Fixed (ReadWrite, 0xE0000000, // Address Base 0x10000000, // Address Length ) Memory32Fixed (ReadWrite, 0xF0000000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xF0004000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xF0005000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xF0008000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0xFED20000, // Address Base 0x00070000, // Address Length ) }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { CreateWordField (BUF0, \_SB.PCI0.LPCB.MBD0._Y11._MIN, PMMN) // _MIN: Minimum Base Address CreateWordField (BUF0, \_SB.PCI0.LPCB.MBD0._Y11._MAX, PMMX) // _MAX: Maximum Base Address And (^^PMBA, 0xFF80, PMMN) Store (PMMN, PMMX) CreateWordField (BUF0, \_SB.PCI0.LPCB.MBD0._Y12._MIN, GPMN) // _MIN: Minimum Base Address CreateWordField (BUF0, \_SB.PCI0.LPCB.MBD0._Y12._MAX, GPMX) // _MAX: Maximum Base Address And (^^GPBA, 0xFFC0, GPMN) Store (GPMN, GPMX) Return (BUF0) } } Device (MBD1) { Name (_HID, EisaId ("PNP0C02")) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFEC00000, // Address Base 0x00001000, // Address Length ) Memory32Fixed (ReadWrite, 0xFEE00000, // Address Base 0x00001000, // Address Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { Store (\CKOS (), Local0) If (LOr (LEqual (Local0, 0x01), LEqual (Local0, 0x02))) { If (LOr (APIC, HTTE)) { Return (0x0B) } } Return (0x00) } } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {8} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (HPAE) { Return (BUF0) } Return (BUF1) } } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) // _HID: Hardware ID Name (BUF0, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) }) Name (BUF1, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x10, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { If (HPAE) { Return (BUF0) } Return (BUF1) } } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (TPM) { Name (_HID, EisaId ("IFX0101")) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0920, // Range Minimum 0x0920, // Range Maximum 0x01, // Alignment 0x0C, // Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { Return (\_SB.PSRV (0xCA, 0x00, 0x00, 0x00, 0x03)) } } Name (\ECST, 0x00) Device (EC0) { Name (_HID, EisaId ("PNP0C09")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) Mutex (ECEX, 0x00) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECST) If (LEqual (Arg1, 0x01)) { Store (EC01 (), PWRS) \_SB.PSRV (0xC9, 0x03, 0x01, PWRS, 0x00) PNOT () } } } Method (_INI, 0, NotSerialized) // _INI: Initialize { INI2 () } Name (_GPE, 0x1D) // _GPE: General Purpose Events OperationRegion (ECR, EmbeddedControl, 0x00, 0xFF) Field (ECR, ByteAcc, NoLock, Preserve) { BRST, 8, CTRL, 8, Offset (0x04), ECCR, 8, DAT1, 8, DAT2, 8, DAT3, 8, Offset (0x17), SLPT, 8 } Name (LHKQ, Ones) Method (HCNV, 1, Serialized) { Store (0xFFFFFFFF, Local0) If (LAnd (LGreaterEqual (Arg0, 0x0A), LLessEqual (Arg0, 0x15))) { Subtract (Arg0, 0x09, Local0) If (And (0x00, ShiftLeft (0x01, Local0))) { Store (0xFFFFFFFF, Local0) } } If (LAnd (LGreaterEqual (Arg0, 0x70), LLessEqual (Arg0, 0x7B))) { Add (Arg0, 0x11, Local0) Subtract (Arg0, 0x6F, Local1) If (And (0x00, ShiftLeft (0x01, Local1))) { Store (0xFFFFFFFF, Local0) } Else { If (LHKQ) { Store (EC86 (0x28), LHKQ) } If (LAnd (LHKQ, LNotEqual (LHKQ, Subtract (Local0, 0x80)))) { Store (0xFFFFFFFF, Local0) } } } If (LAnd (LGreaterEqual (Arg0, 0x81), LLessEqual (Arg0, 0x82))) { Subtract (Arg0, 0x51, Local0) } If (LNotEqual (Local0, 0xFFFFFFFF)) { \_SB.HKEY.HIND (Local0) Notify (\_SB.HKEY, 0x80) } Else { } } Method (_Q0A, 0, Serialized) // _Qxx: EC Query { HCNV (0x0A) } Method (_Q0B, 0, Serialized) // _Qxx: EC Query { HCNV (0x0B) } Method (_Q0D, 0, Serialized) // _Qxx: EC Query { HCNV (0x0D) } Method (_Q0E, 0, Serialized) // _Qxx: EC Query { HCNV (0x0E) } Method (_Q0F, 0, Serialized) // _Qxx: EC Query { HCNV (0x0F) } Method (_Q10, 0, Serialized) // _Qxx: EC Query { HCNV (0x10) } Method (_Q11, 0, Serialized) // _Qxx: EC Query { HCNV (0x11) } Method (_Q12, 0, Serialized) // _Qxx: EC Query { HCNV (0x12) } Method (_Q13, 0, Serialized) // _Qxx: EC Query { HCNV (0x13) } Method (_Q14, 0, Serialized) // _Qxx: EC Query { HCNV (0x14) } Method (_Q15, 0, Serialized) // _Qxx: EC Query { HCNV (0x15) } Method (_Q70, 0, Serialized) // _Qxx: EC Query { HCNV (0x70) } Method (_Q71, 0, Serialized) // _Qxx: EC Query { HCNV (0x71) } Method (_Q73, 0, Serialized) // _Qxx: EC Query { HCNV (0x73) } Method (_Q74, 0, Serialized) // _Qxx: EC Query { HCNV (0x74) } Method (_Q75, 0, Serialized) // _Qxx: EC Query { HCNV (0x75) } Method (_Q76, 0, Serialized) // _Qxx: EC Query { HCNV (0x76) } Method (_Q77, 0, Serialized) // _Qxx: EC Query { HCNV (0x77) } Method (_Q78, 0, Serialized) // _Qxx: EC Query { HCNV (0x78) } Method (_Q79, 0, Serialized) // _Qxx: EC Query { HCNV (0x79) } Method (_Q7A, 0, Serialized) // _Qxx: EC Query { HCNV (0x7A) } Method (_Q7B, 0, Serialized) // _Qxx: EC Query { HCNV (0x7B) } Method (_Q81, 0, Serialized) // _Qxx: EC Query { HCNV (0x81) } Method (_Q82, 0, Serialized) // _Qxx: EC Query { HCNV (0x82) } Method (_Q0C, 0, Serialized) // _Qxx: EC Query { \_SB.CHGD () } Method (_Q72, 0, NotSerialized) // _Qxx: EC Query { } Method (INI2, 0, NotSerialized) { } Method (_Q23, 0, Serialized) // _Qxx: EC Query { } Method (_Q9F, 0, Serialized) // _Qxx: EC Query { Notify (\_SB.BATA, 0x81) } Method (_QA0, 0, Serialized) // _Qxx: EC Query { Notify (\_SB.BATA, 0x80) } Method (EC8D, 1, Serialized) { If (LEqual (ECST, 0x00)) { Store (ShiftLeft (Arg0, 0x08), Local0) Store (Add (Local0, 0x88), Local0) Store (\_SB.PSRV (0xC3, Local0, 0x00, 0x00, 0x03), Local0) If (And (Local0, 0xFF)) { Return (0xFFFFFFFF) } Else { Store (And (ShiftRight (Local0, 0x08), 0xFFFF), Local0) Return (Local0) } } Else { Acquire (ECEX, 0xFFFF) Store (Arg0, DAT1) Store (0x88, ECCR) Store (0xC8, Local4) While (LAnd (LNotEqual (Local4, 0x00), LNotEqual (ECCR, 0x00))) { Stall (0x19) Decrement (Local4) } Store (DAT1, Local1) Store (DAT2, Local2) Release (ECEX) If (LEqual (Local4, 0x00)) { Return (0xFFFFFFFF) } Store (Add (ShiftLeft (Local2, 0x08), Local1), Local0) Return (Local0) } } Method (EC03, 2, Serialized) { If (LEqual (Arg1, 0x00)) { If (LEqual (Arg0, 0x00)) { Store (EC86 (0x6A), Local0) } If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x00) } Else { Return (Local0) } } If (LEqual (Arg1, 0x01)) { If (LEqual (Arg0, 0x00)) { Store (EC8D (0x6C), Local0) } If (LGreaterEqual (Local0, 0xFFFF)) { Return (0xFFFFFFFF) } Else { Return (Local0) } } If (LEqual (Arg1, 0x02)) { If (LEqual (Arg0, 0x00)) { Store (EC8D (0x6E), Local0) } If (LGreaterEqual (Local0, 0xFFFF)) { Return (0xFFFFFFFF) } Else { Return (Local0) } } If (LEqual (Arg1, 0x03)) { If (LEqual (Arg0, 0x00)) { Store (EC8D (0x70), Local0) EC82 (0x41, 0x00) } If (LGreaterEqual (Local0, 0xFFFF)) { Return (0xFFFFFFFF) } Else { Return (Local0) } } } Method (_Q5C, 0, Serialized) // _Qxx: EC Query { Notify (\_TZ.TZC, 0x80) } Method (_Q80, 0, Serialized) // _Qxx: EC Query { Store (EC01 (), PWRS) \_SB.PSRV (0xC9, 0x03, 0x01, PWRS, 0x00) PNOT () Notify (\_SB.AC, 0x80) } Method (_Q83, 0, Serialized) // _Qxx: EC Query { Notify (\_SB.LID, 0x80) } Method (_QA3, 0, Serialized) // _Qxx: EC Query { \_SB.PSRV (0xD5, 0x00, 0x00, 0x00, 0x00) } Method (EC06, 0, Serialized) { Store (0x09, Local0) Store (0x02, Local1) Store (EC89 (Local0, Local1), Local2) If (LEqual (Local2, 0xFFFFFFFF)) { Return (0x01) } Else { Return (Local2) } } Method (EC07, 0, Serialized) { Return (EC88 (EC87 (0x04, 0xC8))) } Method (EC08, 0, Serialized) { Return (0x03) } Method (EC09, 0, Serialized) { Return (EC88 (EC87 (0x04, 0xC5))) } Method (EC0A, 0, Serialized) { Return (EC88 (EC87 (0x04, 0xC6))) } Method (EC0B, 1, Serialized) { EC83 (0x0B, Arg0) Return (0x00) } Method (EC01, 0, Serialized) { Return (And (EC86 (0x08), 0x01)) } Method (EC02, 1, Serialized) { Store (EC86 (0x08), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x00) } If (LEqual (Arg0, 0x00)) { If (And (Local0, 0x04)) { Return (0x01) } Else { Return (0x00) } } } Method (EC04, 2, Serialized) { Name (BUF, Buffer (0x10) {}) If (LEqual (Arg0, 0x00)) { If (LEqual (Arg1, 0x00)) { Store (EC85 (0x60), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x01) } Else { Return (Local0) } } If (LEqual (Arg1, 0x01)) { Store (EC85 (0x62), Local0) If (LOr (LEqual (Local0, 0x00), LGreaterEqual (Local0, 0xFFFF))) { Return (0xFFFFFFFF) } Else { Return (Local0) } } If (LEqual (Arg1, 0x02)) { Store (EC85 (0x64), Local0) If (LOr (LEqual (Local0, 0x00), LGreaterEqual (Local0, 0xFFFF))) { Return (0xFFFFFFFF) } Else { Return (Local0) } } If (LEqual (Arg1, 0x03)) { Return (One) } If (LEqual (Arg1, 0x04)) { Store (EC85 (0x68), Local0) If (LOr (LEqual (Local0, 0x00), LGreaterEqual (Local0, 0xFFFF))) { Return (0xFFFFFFFF) } Else { Return (Local0) } } If (LEqual (Arg1, 0x05)) { Store (EC85 (0x72), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x00) } Else { Return (Local0) } } If (LEqual (Arg1, 0x06)) { Store (EC85 (0x74), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x00) } Else { Return (Local0) } } If (LEqual (Arg1, 0x07)) { Store (EC85 (0x76), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x01) } Else { Return (Local0) } } If (LEqual (Arg1, 0x08)) { Store (EC85 (0x78), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x01) } Else { Return (Local0) } } If (LEqual (Arg1, 0x09)) { Store (0x00, BUF) Store (EC84 (0x8C, 0x0C), BUF) Return (BUF) } If (LEqual (Arg1, 0x0A)) { Store (0x00, BUF) Store (EC85 (0x9A), Local0) Store (EC8C (Local0, 0x05), BUF) Return (BUF) } If (LEqual (Arg1, 0x0B)) { Store (0x00, BUF) Store (EC84 (0x9C, 0x08), BUF) Return (BUF) } If (LEqual (Arg1, 0x0C)) { Store ("Panasonic", BUF) Return (BUF) } } } Method (EC05, 2, Serialized) { If (LEqual (Arg0, 0x00)) { EC82 (0xF0, Arg1) } } Method (EC0C, 1, Serialized) { Store (And (Arg0, 0x07), SLPT) Return (0x00) } Method (EC0D, 1, Serialized) { If (LEqual (Arg0, 0x01)) { Store (0x98, Local0) } Else { If (LEqual (Arg0, 0x00)) { Store (0x81, Local0) } Else { Return (0xFFFFFFFF) } } Return (EC8B (0x43, Local0)) } Method (EC0E, 1, Serialized) { If (LNotEqual (EC8A (0x00, 0x23, And (EC87 (0x00, 0x23), 0xFD)), 0x00)) { Return (0xFFFFFFFF) } If (LEqual (Arg0, 0x01)) { Store (0x80, Local0) } Else { Store (0x00, Local0) } If (LEqual (EC8A (0x01, 0x9C, 0xFF), 0x00)) { Return (EC8A (0x01, 0x9D, Local0)) } Else { Return (0xFFFFFFFF) } } Method (EC0F, 1, Serialized) { If (LEqual (Arg0, 0x01)) { Store (0x01, Local0) } Else { If (LEqual (Arg0, 0x00)) { Store (0x00, Local0) } Else { Return (0xFFFFFFFF) } } EC83 (0x17, Local0) Return (0xFFFFFFFF) } Method (EC10, 2, Serialized) { Store (EC89 (Arg0, Arg1), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0x00) } Else { Return (Local0) } } Method (Z000, 0, Serialized) { Store (EC86 (0x15), Local0) And (Local0, 0x80, Local0) Return (Local0) } Method (EC82, 2, Serialized) { If (LEqual (ECST, 0x00)) { If (LAnd (LGreaterEqual (Arg0, 0xF0), LLessEqual (Arg0, 0xF3))) { Store (ShiftLeft (Arg1, 0x08), Local0) } Else { Store (0x00, Local0) } Store (Add (ShiftLeft (Local0, 0x08), Arg0), Local0) Store (Add (ShiftLeft (Local0, 0x08), 0xDD), Local0) Store (\_SB.PSRV (0xC3, Local0, 0x00, 0x00, 0x03), Local0) If (And (Local0, 0x400000FF)) { Return (0xFFFFFFFF) } Else { If (LAnd (LGreaterEqual (Arg0, 0x20), LLessEqual (Arg0, 0x37))) { Store (And (ShiftRight (Local0, 0x08), 0x0080FFFF), Local0) Return (Local0) } Else { Return (0x00) } } } Acquire (ECEX, 0xFFFF) If (LAnd (LGreaterEqual (Arg0, 0xF0), LLessEqual (Arg0, 0xF3))) { Store (And (Arg1, 0xFF), DAT2) Store (And (ShiftRight (Arg1, 0x08), 0xFF), DAT3) } Store (Arg0, DAT1) Store (0xDD, ECCR) Store (0xC8, Local4) While (LAnd (LNotEqual (Local4, 0x00), LNotEqual (ECCR, 0x00))) { Stall (0x19) Decrement (Local4) } Store (DAT1, Local1) Store (DAT2, Local2) Store (DAT3, Local3) Release (ECEX) If (LOr (LEqual (Local4, 0x00), And (Local3, 0x40))) { Return (0xFFFFFFFF) } If (LAnd (LGreaterEqual (Arg0, 0x20), LLessEqual (Arg0, 0x37))) { Store (Add (ShiftLeft (Local2, 0x08), Local1), Local0) If (And (Local3, 0x80)) { Or (Local0, 0x00800000) } Return (Local0) } Return (0x00) } Method (EC83, 2, Serialized) { If (LEqual (ECST, 0x00)) { If (LEqual (Arg0, 0x0B)) { \_SB.ECWR (0x0B, Arg1) } If (LEqual (Arg0, 0x17)) { \_SB.ECWR (0x17, Arg1) } } Else { Acquire (ECEX, 0xFFFF) Store (Arg0, DAT1) Store (Arg1, DAT2) Store (0xB5, ECCR) Store (0xC8, Local1) While (LAnd (LNotEqual (Local1, 0x00), LNotEqual (ECCR, 0x00))) { Stall (0x19) Decrement (Local1) } Release (ECEX) } } Method (EC89, 2, Serialized) { If (LOr (LOr (LLess (Arg0, 0x01), LGreater (Arg0, 0x10)), LGreater ( Arg1, 0x07))) { Return (0xFFFFFFFF) } Store (EC87 (0x12, 0xEF), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0xFFFFFFFF) } Store (0x0A, Local1) While (LAnd (LNotEqual (Local1, 0x00), LEqual (EC87 (0x12, 0xEF), Local0))) { Sleep (0x01) Decrement (Local1) } If (LEqual (Local1, 0x00)) { Return (0xFFFFFFFF) } Store (EC87 (0x12, Add (0xEF, Arg0)), Local0) If (LEqual (Local0, 0xFFFFFFFF)) { Return (0xFFFFFFFF) } Return (And (ShiftRight (Local0, Arg1), 0x01)) } Method (EC84, 2, Serialized) { Name (EBUF, Buffer (0x10) {}) Store (0x00, Local0) If (LGreater (Arg1, 0x00)) { While (LLess (Local0, Arg1)) { Store (EC86 (Add (Arg0, Local0)), Local1) If (LEqual (Local1, 0xFFFFFFFF)) { Break } Store (Local1, Index (EBUF, Local0)) Increment (Local0) } If (LNotEqual (Local0, Arg1)) { Store (0x00, EBUF) } } Return (EBUF) } Method (EC85, 1, Serialized) { Add (Arg0, 0x01, Local1) Store (0xFFFFFFFF, Local0) If (LLessEqual (Local1, 0xFF)) { Store (EC86 (Local1), Local2) If (LLessEqual (Local2, 0xFF)) { ShiftLeft (Local2, 0x08, Local2) Store (EC86 (Arg0), Local3) If (LLessEqual (Local3, 0xFF)) { Add (Local3, Local2, Local0) } } } Return (Local0) } Method (EC86, 1, Serialized) { Store (0xFFFFFFFF, Local0) If (LLessEqual (Arg0, 0x7F)) { Store (EC87 (0x13, Or (Arg0, 0x80)), Local0) } Else { If (LLessEqual (Arg0, 0xFF)) { Store (EC87 (0x14, Arg0), Local0) } } Return (Local0) } Method (EC8F, 2, Serialized) { Store (0xFFFFFFFF, Local0) If (LLessEqual (Arg0, 0x7F)) { Store (EC8A (0x13, Or (Arg0, 0x80), Arg1), Local0) } Else { If (LLessEqual (Arg0, 0xFF)) { Store (EC8A (0x14, Arg0, Arg1), Local0) } } Return (Local0) } Method (EC87, 2, Serialized) { If (LEqual (ECST, 0x00)) { Store (Arg0, Local0) Store (Add (ShiftLeft (Local0, 0x08), Arg1), Local0) Store (Add (ShiftLeft (Local0, 0x10), 0xBA), Local0) Store (\_SB.PSRV (0xC3, Local0, 0x00, 0x00, 0x03), Local0) If (And (Local0, 0xFF)) { Return (0xFFFFFFFF) } Else { Return (And (ShiftRight (Local0, 0x08), 0xFF)) } } Acquire (ECEX, 0xFFFF) Store (0xFFFFFFFF, Local0) If (LAnd (LLessEqual (Arg1, 0xFF), LLessEqual (Arg0, 0x17))) { Store (Arg1, DAT2) Store (Arg0, DAT3) Store (0xBA, ECCR) Store (0xC8, Local1) While (LAnd (LNotEqual (Local1, 0x00), LNotEqual (ECCR, 0x00))) { Stall (0x19) Decrement (Local1) } If (LEqual (Local1, 0x00)) { Store (0xFFFFFFFF, Local0) } Else { Store (DAT1, Local0) } } Release (ECEX) Return (Local0) } Method (EC8B, 2, Serialized) { Store (0xFFFFFFFF, Local0) If (LLessEqual (Arg0, 0x7F)) { Store (EC8A (0x13, Or (Arg0, 0x80), Arg1), Local0) } Else { If (LLessEqual (Arg0, 0xFF)) { Store (EC8A (0x14, Arg0, Arg1), Local0) } } Return (Local0) } Method (EC8A, 3, Serialized) { If (LEqual (ECST, 0x00)) { Store (Arg0, Local0) Store (Add (ShiftLeft (Local0, 0x08), Arg1), Local0) Store (Add (ShiftLeft (Local0, 0x08), Arg2), Local0) Store (Add (ShiftLeft (Local0, 0x08), 0xBB), Local0) Store (\_SB.PSRV (0xC3, Local0, 0x00, 0x00, 0x03), Local0) If (And (Local0, 0xFF)) { Return (0xFFFFFFFF) } Else { Return (0x00) } } Acquire (ECEX, 0xFFFF) Store (0xFFFFFFFF, Local0) If (LAnd (LLessEqual (Arg1, 0xFF), LLessEqual (Arg0, 0x17))) { Store (Arg2, DAT1) Store (Arg1, DAT2) Store (Arg0, DAT3) Store (0xBB, ECCR) Store (0xC8, Local1) While (LAnd (LNotEqual (Local1, 0x00), LNotEqual (ECCR, 0x00))) { Stall (0x19) Decrement (Local1) } If (LEqual (Local1, 0x00)) { Store (0xFFFFFFFF, Local0) } Else { Store (0x00, Local0) } } Release (ECEX) Return (Local0) } Method (EC8E, 1, Serialized) { And (Arg0, 0xFF, Local0) Return (\_SB.PSRV (0x98, Local0, 0x00, 0x00, 0x01)) } Method (EC88, 1, Serialized) { If (LGreater (Arg0, 0xFF)) { Store (0xFFFFFFFF, Local0) } Else { Add (Arg0, 0x11, Local0) If (LEqual (And (Arg0, 0x80), 0x00)) { Add (Local0, 0x0100, Local0) } Multiply (Local0, 0x0A, Local0) } Return (Local0) } Method (EC8C, 2, Serialized) { Name (BUF, Buffer (0x10) {}) Store (0x00, BUF) If (LOr (LLess (Arg1, 0x01), LGreater (Arg1, 0x10))) { Return (BUF) } Store (Arg0, Local0) Store (0x00, Local1) While (LLess (Local1, Arg1)) { Divide (Local0, 0x0A, Local2, Local0) Subtract (Arg1, Local1, Local3) Decrement (Local3) Add (Local2, 0x30, Index (BUF, Local3)) Increment (Local1) } Return (BUF) } } Device (K101) { Name (_HID, EisaId ("PNP0303")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LNotEqual (\_SB.PSRV (0x97, 0x05000000, 0x01, 0x5000, 0x03), 0x01)) { Return (0x0F) } Else { Return (0x00) } } } Device (K106) { Name (_HID, EisaId ("PNP0320")) // _HID: Hardware ID Name (_CID, EisaId ("PNP0303")) // _CID: Compatible ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) Method (_STA, 0, NotSerialized) // _STA: Status { If (LEqual (\_SB.PSRV (0x97, 0x05000000, 0x01, 0x5000, 0x03), 0x01)) { Return (0x0F) } Else { Return (0x00) } } } Device (MOUS) { Name (_HID, EisaId ("PNP0F13")) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQNoFlags () {12} }) Method (_STA, 0, NotSerialized) // _STA: Status { Store (\_SB.PSRV (0x97, 0x06000000, 0x01, 0x6000, 0x01), Local0) If (LEqual (Local0, 0x01)) { Return (0x00) } Else { Return (0x0F) } OperationRegion (BDA, SystemMemory, 0x0400, 0x0100) Field (BDA, ByteAcc, NoLock, Preserve) { Offset (0x10), , 2, MFLG, 1 } If (MFLG) { Return (0x0F) } Else { Return (0x00) } } } Device (MOU3) { Name (_HID, EisaId ("SYN0002")) // _HID: Hardware ID Name (_CID, EisaId ("PNP0F13")) // _CID: Compatible ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IRQNoFlags () {12} }) Method (_STA, 0, NotSerialized) // _STA: Status { Store (\_SB.PSRV (0x97, 0x06000000, 0x01, 0x6000, 0x01), Local0) If (LEqual (Local0, 0x01)) { Return (0x0F) } Else { Return (0x00) } OperationRegion (BDA, SystemMemory, 0x0400, 0x0100) Field (BDA, ByteAcc, NoLock, Preserve) { Offset (0x10), , 2, MFLG, 1 } If (MFLG) { Return (0x0F) } Else { Return (0x00) } } } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x01) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PARC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {11} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y13) {} }) CreateWordField (RTLA, \_SB.PCI0.LPCB.LNKA._CRS._Y13._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PARC, 0x0F), IRQ0) Return (RTLA) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PARC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PBRC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {9} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y14) {} }) CreateWordField (RTLB, \_SB.PCI0.LPCB.LNKB._CRS._Y14._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PBRC, 0x0F), IRQ0) Return (RTLB) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PBRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PCRC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {9} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y15) {} }) CreateWordField (RTLC, \_SB.PCI0.LPCB.LNKC._CRS._Y15._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PCRC, 0x0F), IRQ0) Return (RTLC) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PCRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PDRC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {7} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y16) {} }) CreateWordField (RTLD, \_SB.PCI0.LPCB.LNKD._CRS._Y16._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PDRC, 0x0F), IRQ0) Return (RTLD) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PDRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PERC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y17) {} }) CreateWordField (RTLE, \_SB.PCI0.LPCB.LNKE._CRS._Y17._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PERC, 0x0F), IRQ0) Return (RTLE) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PERC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PFRC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {5} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y18) {} }) CreateWordField (RTLF, \_SB.PCI0.LPCB.LNKF._CRS._Y18._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PFRC, 0x0F), IRQ0) Return (RTLF) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PFRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PGRC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {3} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y19) {} }) CreateWordField (RTLG, \_SB.PCI0.LPCB.LNKG._CRS._Y19._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PGRC, 0x0F), IRQ0) Return (RTLG) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PGRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) // _HID: Hardware ID Name (_UID, 0x08) // _UID: Unique ID Method (_DIS, 0, Serialized) // _DIS: Disable Device { Store (0x80, PHRC) } Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings { IRQ (Level, ActiveLow, Shared, ) {10} }) Method (_CRS, 0, Serialized) // _CRS: Current Resource Settings { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y1A) {} }) CreateWordField (RTLH, \_SB.PCI0.LPCB.LNKH._CRS._Y1A._INT, IRQ0) // _INT: Interrupts Store (Zero, IRQ0) ShiftLeft (0x01, And (PHRC, 0x0F), IRQ0) Return (RTLH) } Method (_SRS, 1, Serialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PHRC) } Method (_STA, 0, Serialized) // _STA: Status { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } } Device (PATA) { Name (_ADR, 0x001F0001) // _ADR: Address OperationRegion (PACS, PCI_Config, 0x40, 0xC0) Field (PACS, DWordAcc, NoLock, Preserve) { PRIT, 16, Offset (0x04), PSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4 } Device (PRID) { Name (_ADR, 0x00) // _ADR: Address Name (NCM0, 0x03) Name (NCM1, 0x03) Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Name (PBUF, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, 0x00, PIO0) CreateDWordField (PBUF, 0x04, DMA0) CreateDWordField (PBUF, 0x08, PIO1) CreateDWordField (PBUF, 0x0C, DMA1) CreateDWordField (PBUF, 0x10, FLAG) Store (GETP (PRIT), PIO0) Store (GDMA (And (SYNC, 0x01), And (ICR3, 0x01), And (ICR0, 0x01), SDT0, And (ICR1, 0x01)), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (PRIT, 0x4000)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (PSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02), And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x01), And (SYNC, 0x02), PRIT), FLAG) If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF))) { Store (0x78, PIO0) Store (0x14, DMA0) Store (0x03, FLAG) } Return (PBUF) } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0x40F0, PRIT) And (SYNC, 0x02, SYNC) Store (0x00, SDT0) And (ICR0, 0x02, ICR0) And (ICR1, 0x02, ICR1) And (ICR3, 0x02, ICR3) And (ICR5, 0x02, ICR5) CreateWordField (Arg1, 0x62, W490) CreateWordField (Arg1, 0x6A, W530) CreateWordField (Arg1, 0x7E, W630) CreateWordField (Arg1, 0x80, W640) CreateWordField (Arg1, 0xB0, W880) CreateWordField (Arg1, 0xBA, W930) CreateWordField (Arg1, 0xAC, W860) Or (PRIT, 0x8004, PRIT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (PRIT, 0x02, PRIT) } Or (PRIT, SETP (PIO0, W530, W640), PRIT) If (And (FLAG, 0x01)) { Or (SYNC, 0x01, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x01, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x01, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, 0x01, ICR1) } } Store (0x03, NCM0) If (LGreaterEqual (SizeOf (Arg1), 0x0102)) { If (And (DerefOf (Index (Arg1, 0x0100)), One)) { Or (NCM0, 0x04, NCM0) } } Store (\_SB.PSRV (0x97, 0x03000000, 0x01, 0x3000, 0x03), Local3) If (Local3) { If (And (W860, 0x0400)) { \_SB.PSRV (0x97, 0x03000000, 0x01, 0x3100, 0x00) } Else { Or (NCM0, 0x08, NCM0) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0x3F0F, PRIT) Store (0x00, PSIT) And (SYNC, 0x01, SYNC) Store (0x00, SDT1) And (ICR0, 0x01, ICR0) And (ICR1, 0x01, ICR1) And (ICR3, 0x01, ICR3) And (ICR5, 0x01, ICR5) CreateWordField (Arg2, 0x62, W491) CreateWordField (Arg2, 0x6A, W531) CreateWordField (Arg2, 0x7E, W631) CreateWordField (Arg2, 0x80, W641) CreateWordField (Arg2, 0xB0, W881) CreateWordField (Arg2, 0xBA, W931) Or (PRIT, 0x8040, PRIT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (PRIT, 0x20, PRIT) } If (And (FLAG, 0x10)) { Or (PRIT, 0x4000, PRIT) If (LGreater (PIO1, 0xF0)) { Or (PRIT, 0x80, PRIT) } Else { Or (PRIT, 0x10, PRIT) Store (SETT (PIO1, W531, W641), PSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x02, SYNC) Store (SDMA (DMA1), SDT1) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x02, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x02, ICR0) } If (And (W931, 0x2000)) { Or (ICR1, 0x02, ICR1) } } Store (0x03, NCM1) If (LGreaterEqual (SizeOf (Arg2), 0x0102)) { If (And (DerefOf (Index (Arg2, 0x0100)), One)) { Or (NCM1, 0x04, NCM1) } } } } Device (P_D0) { Name (_ADR, 0x00) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Name (PIB0, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) Name (FLK0, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5 }) Name (SMX0, Buffer (0x0E) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF9 }) CreateByteField (PIB0, 0x01, PMD0) CreateByteField (PIB0, 0x08, DMD0) CreateDWordField (SMX0, 0x09, MXA0) If (And (PRIT, 0x02)) { If (LEqual (And (PRIT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (PRIT, 0x0300), 0x08, Local0) ShiftRight (And (PRIT, 0x3000), 0x0C, Local1) Add (Local0, Local1, Local2) If (LEqual (0x03, Local2)) { Store (0x0B, PMD0) } If (LEqual (0x05, Local2)) { Store (0x0C, PMD0) } } } Else { Store (0x01, PMD0) } If (And (SYNC, 0x01)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, 0x01)) { If (And (ICR0, 0x01)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x01)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } If (And (NCM0, 0x08)) { Store (\_SB.PSRV (0x97, 0x03000000, 0x01, 0x3000, 0x03), Local3) If (Local3) { Or (Local3, 0xE0000000, Local3) Store (Local3, MXA0) Concatenate (PIB0, SMX0, Local4) } Else { Store (PIB0, Local4) } } Else { Store (PIB0, Local4) } If (And (NCM0, 0x04)) { Concatenate (Local4, FLK0, Local0) } Else { Store (Local4, Local0) } Return (Local0) } } Device (P_D1) { Name (_ADR, 0x01) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Name (PIB1, Buffer (0x0E) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) Name (FLK1, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5 }) CreateByteField (PIB1, 0x01, PMD1) CreateByteField (PIB1, 0x08, DMD1) If (And (PRIT, 0x20)) { If (LEqual (And (PRIT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C), 0x02), Local0) If (LEqual (0x05, Local0)) { Store (0x0C, PMD1) } Else { If (LEqual (0x03, Local0)) { Store (0x0B, PMD1) } Else { Store (0x0A, PMD1) } } } } Else { Store (0x01, PMD1) } If (And (SYNC, 0x02)) { Store (Or (SDT1, 0x40), DMD1) If (And (ICR1, 0x02)) { If (And (ICR0, 0x02)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x02)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } If (And (NCM1, 0x04)) { Concatenate (PIB1, FLK1, Local0) } Else { Store (PIB1, Local0) } Return (Local0) } } } } Device (SBUS) { Name (_ADR, 0x001F0003) // _ADR: Address } } Method (CHGD, 0, NotSerialized) { If (\_SB.PSRV (0xB9, 0x22, 0x00, 0x00, 0x01)) { Notify (\_SB.PCI0, 0x00) Sleep (0x03E8) Store (\_SB.PSRV (0xB9, 0x07, 0x00, 0x00, 0x03), NSTE) Store (NSTE, Local0) Notify (\_SB.PCI0.GFX0, 0x80) } } } Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { \_SB.PSRV (0xB8, 0x00, 0x00, 0x00, 0x00) If (LNotEqual (Arg0, 0x05)) { \_SB.PSRV (0x92, 0x02, 0x00, 0x00, 0x00) } If (LEqual (Arg0, 0x03)) { \_SB.PSRV (0xC7, \_SB.PCI0.MODM.MPSW, 0x00, 0x00, 0x00) \_SB.PSRV (0x90, 0x00, 0x01, 0x03, 0x00) \_SB.PSRV (0x91, 0x10, 0x01, 0x01, 0x00) \_SB.PSRV (0x91, 0x40, 0x01, 0x01, 0x00) } If (LEqual (Arg0, 0x04)) { \_SB.PSRV (0x90, 0x00, 0x01, 0x04, 0x00) } If (LEqual (Arg0, 0x05)) { \_SB.PSRV (0x90, 0x00, 0x01, 0x05, 0x00) } If (LAnd (LGreaterEqual (Arg0, 0x03), LLessEqual (Arg0, 0x05))) { \_SB.HKEY.HSAV () } Store (\_SB.ECPF (0x0101, 0x00, 0x00), \_SB.BAST) \_SB.ECPF (0x0206, Arg0, 0x00) } Scope (\_PR.CPU0) { Method (_PPC, 0, NotSerialized) // _PPC: Performance Present Capabilites { Return (0x00) } Method (_PCT, 0, NotSerialized) // _PCT: Performance Control { If (And (CFGD, 0x4000)) { Return (Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000800, // Address ,) }, ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000802, // Address ,) } }) } If (LAnd (And (CFGD, 0x02), And (PDC0, 0x01))) { Return (Package (0x02) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) } Return (Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x10, // Bit Width 0x00, // Bit Offset 0x00000000000000B2, // Address ,) }, ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x00000000000000B3, // Address ,) } }) } Method (_PSS, 0, NotSerialized) // _PSS: Performance Supported States { If (LAnd (LNot (And (CFGD, 0x4000)), LAnd (And (CFGD, 0x02), And (PDC0, 0x01)))) { Return (NPSS) } Return (SPSS) } Name (SPSS, Package (0x04) { Package (0x06) { 0x000004B0, 0x00001388, 0x0000006E, 0x0000000A, 0x00000083, 0x00000000 }, Package (0x06) { 0x000003E8, 0x00000FA0, 0x0000006E, 0x0000000A, 0x00000183, 0x00000001 }, Package (0x06) { 0x00000320, 0x00000BB8, 0x0000006E, 0x0000000A, 0x00000283, 0x00000002 }, Package (0x06) { 0x00000258, 0x00000BB8, 0x0000006E, 0x0000000A, 0x00000383, 0x00000003 } }) Name (NPSS, Package (0x04) { Package (0x06) { 0x000004B0, 0x00001388, 0x0000000A, 0x0000000A, 0x00000C0D, 0x00000C0D }, Package (0x06) { 0x000003E8, 0x00000FA0, 0x0000000A, 0x0000000A, 0x00000A0B, 0x00000A0B }, Package (0x06) { 0x00000320, 0x00000BB8, 0x0000000A, 0x0000000A, 0x00000809, 0x00000809 }, Package (0x06) { 0x00000258, 0x00000BB8, 0x0000000A, 0x0000000A, 0x00000607, 0x00000607 } }) } Scope (\_PR.CPU0) { Method (_CST, 0, NotSerialized) // _CST: C-States { If (And (CFGD, 0x4000)) { Return (Package (0x02) { 0x01, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x01, // Bit Offset 0x0000000000000809, // Address ,) }, 0x01, 0x01, 0x03E8 } }) } If (LAnd (And (CFGD, 0x80), LNot (PWRS))) { Return (Package (0x05) { 0x04, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001014, // Address ,) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001015, // Address ,) }, 0x03, 0x55, 0xFA }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001016, // Address ,) }, 0x03, 0xB9, 0x64 } }) } If (And (CFGD, 0x40)) { Return (Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001014, // Address ,) }, 0x02, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001015, // Address ,) }, 0x03, 0x55, 0xFA } }) } If (And (CFGD, 0x20)) { Return (Package (0x03) { 0x02, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000001014, // Address ,) }, 0x02, 0x01, 0x01F4 } }) } Return (Package (0x02) { 0x01, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, 0x01, 0x01, 0x03E8 } }) } } Scope (\) { Name (SSDT, Package (0x0C) { "CPU0IST ", 0x5F6E34E2, 0x00000235, "CPU1IST ", 0x00000000, 0xF000FF53, "CPU0CST ", 0x5F6E3304, 0x000001DE, "CPU1CST ", 0x00000000, 0xF000FF53 }) Name (CFGD, 0x06D882F2) Name (\PDC0, 0x80000000) Name (\PDC1, 0x80000000) } Scope (\_PR.CPU0) { Name (HI0, 0x00) Name (HC0, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x08, CAP0) Store (CAP0, PDC0) If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC0, 0x0A ), 0x0A))) { If (And (CFGD, 0x03)) { OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02 ))) Load (IST0, HI0) } If (And (CFGD, 0x10)) { OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08 ))) Load (CST0, HC0) } } } } Scope (\_PR.CPU1) { Name (HI1, 0x00) Name (HC1, 0x00) Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities { CreateDWordField (Arg0, 0x08, CAP1) Store (CAP1, PDC1) If (LAnd (And (CFGD, 0x4000), LEqual (And (PDC1, 0x0A ), 0x0A))) { If (And (CFGD, 0x03)) { OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05 ))) Load (IST1, HI1) } If (And (CFGD, 0x10)) { OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B ))) Load (CST1, HC1) } } If (LEqual (And (PDC1, 0x0A), 0x0A)) { If (LEqual (WTHT, 0x01)) { Store (0x00, WTHT) \_SB.PSRV (0xC9, 0x02, 0x01, 0x00, 0x00) } } } } }