/* RSD PTR: OEM=PTLTD, ACPI_Rev=2.0x (2) XSDT=0x7fed75e6, length=36, cksum=21 */ /* XSDT: Length=156, Revision=1, Checksum=181, OEMID=SECCSD, OEM Table ID=LH43STAR, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0x7fedfb9a, 0x7fedfc8e, 0x7fedfcf6, 0x7fedfd2e, 0x7fedfd6a, 0x7fedfd9c, 0x7fedfdc2, 0x7fedfe2a, 0x7fedfe62, 0x7fedfe8a, 0x7fed8f0f, 0x7fed887d, 0x7fed7c0e, 0x7fed7b68, 0x7fed7682 } */ /* FACP: Length=244, Revision=3, Checksum=47, OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000, Creator ID=ALAN, Creator Revision=0x1 FACS=0x7fee2fc0, DSDT=0x7fed955e INT_MODEL=PIC Preferred_PM_Profile=Mobile (2) 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=35 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=3, DUTY_WIDTH=1 DAY_ALRM=13, MON_ALRM=0, CENTURY=50 IAPC_BOOT_ARCH= Flags={WBINVD,PROC_C1,SLP_BUTTON} X_FACS=0x7fee2fc0, X_DSDT=0x7fed955e X_PM1a_EVT_BLK=0x1000:0[32] (IO) X_PM1a_CNT_BLK=0x1004:0[16] (IO) X_PM_TMR_BLK=0x1008:0[32] (IO) X_GPE0_BLK=0x1028:0[64] (IO) */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=1 */ /* DSDT: Length=26056, Revision=2, Checksum=39, OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000, Creator ID=INTL, Creator Revision=0x20050624 */ /* APIC: Length=104, Revision=1, Checksum=204, OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000, Creator ID=LOHR, Creator Revision=0x5a 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={ENABLED} 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 NMI ACPI CPU=0 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} Type=Local NMI ACPI CPU=1 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} */ /* HPET: Length=56, Revision=1, Checksum=10, OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000, Creator ID=LOHR, Creator Revision=0x5a HPET Number=0 ADDR=0xfed00000:0[0] (Memory) HW Rev=0x1 Comparitors=2 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x8086 Minimal Tick=128 */ /* MCFG: Length=60, Revision=1, Checksum=50, OEMID=INTEL, OEM Table ID=CRESTLNE, OEM Revision=0x6040000, Creator ID=LOHR, Creator Revision=0x5a Base Address= 0x00000000e0000000 Segment Group= 0x0000 Start Bus= 0 End Bus= 255 */ /* TCPA: Length=50, Revision=1, Checksum=180, OEMID=Intel, OEM Table ID= CRESTLN, OEM Revision=0x6040000, Creator ID=LOH, Creator Revision=0x5a52 */ /* TMOR: Length=38, Revision=1, Checksum=235, OEMID=PTLTD, OEM Table ID=, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0x3 */ /* APIC: Length=104, Revision=1, Checksum=19, OEMID=PTLTD, OEM Table ID= APIC, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 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={ENABLED} APIC ID=1 Type=IO APIC APIC ID=2 INT BASE=0 ADDR=0x00000000fec00000 Type=Local NMI ACPI CPU=0 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} Type=Local NMI ACPI CPU=1 LINT Pin=1 Flags={Polarity=active-hi, Trigger=edge} Type=INT Override BUS=0 IRQ=0 INTR=2 Flags={Polarity=active-hi, Trigger=edge} Type=INT Override BUS=0 IRQ=9 INTR=9 Flags={Polarity=active-hi, Trigger=level} */ /* HPET: Length=56, Revision=1, Checksum=214, OEMID=PTLTD, OEM Table ID=HPETTBL, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 HPET Number=0 ADDR=0xfed00000:0[0] (Memory) HW Rev=0xff Comparitors=31 Counter Size=1 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0xffff Minimal Tick=0 */ /* BOOT: Length=40, Revision=1, Checksum=165, OEMID=PTLTD, OEM Table ID=$SBFTBL$, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* SLIC: Length=374, Revision=1, Checksum=222, OEMID=SECCSD, OEM Table ID=LH43STAR, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 */ /* SSDT: Length=1615, Revision=1, Checksum=114, OEMID=SataRe, OEM Table ID=SataPri, OEM Revision=0x1000, Creator ID=INTL, Creator Revision=0x20050624 */ /* SSDT: Length=1682, Revision=1, Checksum=42, OEMID=SataRe, OEM Table ID=SataSec, OEM Revision=0x1000, Creator ID=INTL, Creator Revision=0x20050624 */ /* SSDT: Length=607, Revision=1, Checksum=200, OEMID=PmRef, OEM Table ID=Cpu0Tst, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20050624 */ /* SSDT: Length=166, Revision=1, Checksum=109, OEMID=PmRef, OEM Table ID=Cpu1Tst, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20050624 */ /* SSDT: Length=1254, Revision=1, Checksum=118, OEMID=PmRef, OEM Table ID=CpuPm, OEM Revision=0x3000, Creator ID=INTL, Creator Revision=0x20050624 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20041119 * * Disassembly of /tmp/acpidump.c8RGXO, Fri Oct 19 22:17:12 2007 */ DefinitionBlock ("DSDT.aml", "DSDT", 2, "INTEL ", "CRESTLNE", 100925440) { External (_PSS, IntObj) Mutex (MUTX, 0x00) OperationRegion (PRT0, SystemIO, 0x80, 0x04) Field (PRT0, DWordAcc, Lock, Preserve) { P80H, 32 } Method (P8XH, 2, Serialized) { If (LEqual (Arg0, Zero)) { Store (Or (And (P80D, 0xFFFFFF00), Arg1), P80D) } If (LEqual (Arg0, One)) { Store (Or (And (P80D, 0xFFFF00FF), ShiftLeft (Arg1, 0x08)), P80D) } If (LEqual (Arg0, 0x02)) { Store (Or (And (P80D, 0xFF00FFFF), ShiftLeft (Arg1, 0x10)), P80D) } If (LEqual (Arg0, 0x03)) { Store (Or (And (P80D, 0x00FFFFFF), ShiftLeft (Arg1, 0x18)), P80D) } Store (P80D, P80H) } Method (_PIC, 1, NotSerialized) { Store (Arg0, GPIC) } Method (_PTS, 1, NotSerialized) { P8XH (Zero, 0xAA) Store (\_SB.PCI0.LPCB.H_EC.B1DF, BFCC) If (LEqual (Arg0, 0x04)) { \_SB.SECB (0x9B, One) } If (LEqual (Arg0, 0x05)) { \_SB.SECB (0xA8, Zero) \_SB.SECS (0xA9) \_SB.SECS (0xAB) } If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { Store (One, BCNT) } } Method (_WAK, 1, NotSerialized) { P8XH (One, 0xAB) If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04))) { If (And (CFGD, 0x01000000)) { If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1))) { TRAP (0x3D) } } } If (LEqual (RP1D, Zero)) { Notify (\_SB.PCI0.RP01, Zero) } If (LEqual (RP2D, Zero)) { Notify (\_SB.PCI0.RP02, Zero) } If (LEqual (RP3D, Zero)) { Notify (\_SB.PCI0.RP03, Zero) } If (LEqual (RP4D, Zero)) { Notify (\_SB.PCI0.RP04, Zero) } If (LEqual (RP5D, Zero)) { Notify (\_SB.PCI0.RP05, Zero) } If (LEqual (RP6D, Zero)) { Notify (\_SB.PCI0.RP06, Zero) } If (LEqual (Arg0, 0x03)) { If (LNot (LEqual (\_SB.PCI0.LPCB.H_EC.TIST, TZON))) { Store (\_SB.PCI0.LPCB.H_EC.TIST, TZON) CPRN () } } If (LOr (LEqual (GSCI, 0x03), LEqual (GSCI, 0x04))) { CCRN () } If (LNot (LEqual (\_SB.PCI0.LPCB.H_EC.B1DF, BFCC))) { Notify (\_SB.BAT1, 0x80) Notify (\_SB.BAT1, 0x81) } \_SB.PCI0.LPCB.H_EC._REG (0x03, One) If (LEqual (Arg0, 0x03)) { TRAP (0x46) } If (LEqual (Arg0, 0x04)) { If (DTSE) { TRAP (0x47) } Notify (\_TZ.TZ01, 0x80) } Store (\_SB.PCI0.LPCB.H_EC.ACEX, PWRS) Notify (\_PR.CPU0, 0x81) Notify (\_PR.CPU1, 0x81) If (LEqual (Arg0, 0x04)) { \_SB.SECS (0xA6) } If (LEqual (Arg0, 0x03)) { \_SB.SECS (0x9A) } If (LEqual (OSYS, 0x07D6)) { Store (\_SB.SECB (0xA7, Zero), Local1) If (Local1) { Notify (\_SB.PCI0.LPCB.H_EC.MBTN, 0x02) } } If (LEqual (OSYS, 0x07D6)) { \_SB.SECB (0xA8, One) } Else { \_SB.SECB (0xA8, Zero) } If (LEqual (Arg0, 0x04)) { If (LEqual (OSYS, 0x07D6)) { Notify (\_SB.PWRB, 0x02) } } \_PR.RPPC () P8XH (Zero, 0xCD) Return (Package (0x02) { Zero, Zero }) } Method (GETB, 3, Serialized) { Multiply (Arg0, 0x08, Local0) Multiply (Arg1, 0x08, Local1) CreateField (Arg2, Local0, Local1, TBF3) Return (TBF3) } Method (PNOT, 0, Serialized) { If (MPEN) { If (And (PDC0, 0x08)) { Notify (\_PR.CPU0, 0x80) If (And (PDC0, 0x10)) { Sleep (0x64) Notify (\_PR.CPU0, 0x81) } } If (And (PDC1, 0x08)) { Notify (\_PR.CPU1, 0x80) If (And (PDC1, 0x10)) { Sleep (0x64) Notify (\_PR.CPU1, 0x81) } } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) Notify (\_PR.CPU0, 0x81) } Notify (\_SB.BAT1, 0x80) } Method (CPRN, 0, Serialized) { If (MPEN) { If (And (PDC0, 0x08)) { Notify (\_PR.CPU0, 0x80) Sleep (0x64) } If (And (PDC1, 0x08)) { Notify (\_PR.CPU1, 0x80) Sleep (0x64) } } Else { Notify (\_PR.CPU0, 0x80) Sleep (0x64) } } Method (CCRN, 0, Serialized) { If (MPEN) { If (And (PDC0, 0x10)) { Notify (\_PR.CPU0, 0x81) } If (And (PDC1, 0x10)) { Notify (\_PR.CPU1, 0x81) } } Else { Notify (\_PR.CPU0, 0x81) } } Method (TRAP, 1, Serialized) { Store (Arg0, SMIF) Store (Zero, TRP0) Return (SMIF) } Scope (_SB) { Method (_INI, 0, NotSerialized) { If (DTSE) { TRAP (0x47) } Store (0x07D0, OSYS) If (CondRefOf (_OSI, Local0)) { If (_OSI ("Linux")) { Store (One, LINX) } If (_OSI ("Windows 2001")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP1")) { Store (0x07D1, OSYS) } If (_OSI ("Windows 2001 SP2")) { Store (0x07D2, OSYS) } If (_OSI ("Windows 2006")) { Store (0x07D6, OSYS) } } If (LAnd (MPEN, LEqual (OSYS, 0x07D1))) { TRAP (0x3D) } TRAP (0x2B) TRAP (0x32) TRAP (0x48) If (LEqual (OSYS, 0x07D6)) { SECB (0xA8, One) } Else { SECB (0xA8, Zero) } } Mutex (MSEC, 0x00) Method (SECS, 1, Serialized) { Acquire (MSEC, 0xFFFF) Store (Arg0, SECI) Store (Zero, TRP1) Release (MSEC) } Method (SECB, 2, Serialized) { Acquire (MSEC, 0xFFFF) Store (Arg0, SECI) Store (Arg1, DB00) Store (Zero, TRP1) Store (DB00, Local0) Release (MSEC) Return (Local0) } Method (SECW, 3, Serialized) { Acquire (MSEC, 0xFFFF) Store (Arg0, SECI) Store (Arg1, DB00) Store (Arg2, DW00) Store (Zero, TRP1) Store (DW00, Local1) Release (MSEC) Return (Local1) } } OperationRegion (GNVS, SystemMemory, 0x7FEE2DBC, 0x0100) Field (GNVS, AnyAcc, Lock, Preserve) { OSYS, 16, SMIF, 8, PRM0, 8, PRM1, 8, SCIF, 8, PRM2, 8, PRM3, 8, LCKF, 8, PRM4, 8, PRM5, 8, P80D, 32, LIDS, 8, PWRS, 8, DBGS, 8, LINX, 8, Offset (0x14), ACT1, 8, ACTT, 8, PSVT, 8, TC1V, 8, TC2V, 8, TSPV, 8, CRTT, 8, DTSE, 8, DTS1, 8, DTS2, 8, SECI, 8, DB00, 8, DW00, 16, BFCC, 16, TPMD, 8, TZON, 8, TPOS, 8, PVFN, 8, APIC, 8, MPEN, 8, PCP0, 8, PCP1, 8, PPCM, 8, PPCS, 8, DMED, 8, Offset (0x32), DCKS, 8, PDKS, 8, SMCP, 8, COMA, 8, COMB, 8, FIRP, 8, LPTP, 8, LPTM, 8, Offset (0x3C), IGDS, 8, TLST, 8, CADL, 8, PADL, 8, CSTE, 16, NSTE, 16, SSTE, 16, NDID, 8, DID1, 32, DID2, 32, DID3, 32, DID4, 32, DID5, 32, DIAG, 8, NIST, 8, RIST, 8, GSCI, 8, RCST, 8, CCST, 8, RCNT, 8, VMNP, 8, Offset (0x67), BLCS, 8, BRTL, 8, Offset (0x74), MEFE, 8, BCNT, 8, Offset (0x78), TPMP, 8, TPME, 8, Offset (0x82), GTF0, 56, GTF2, 56, IDEM, 8, GTF1, 56, Offset (0xAA), ASLB, 32, IBTT, 8, IPAT, 8, ITVF, 8, ITVM, 8, IPSC, 8, IBLC, 8, IBIA, 8, ISSC, 8, I409, 8, I509, 8, I609, 8, I709, 8, IDMM, 8, IDMS, 8, IF1E, 8, HVCO, 8, NXD1, 32, NXD2, 32, NXD3, 32, NXD4, 32, NXD5, 32, NXD6, 32, NXD7, 32, NXD8, 32 } Name (DSEN, One) Name (ECON, Zero) Name (GPIC, Zero) Name (CTYP, Zero) Name (L01C, Zero) Name (VFN0, Zero) Name (VFN1, Zero) Name (VDRV, Zero) Scope (_GPE) { Method (_L01, 0, NotSerialized) { Add (L01C, One, L01C) P8XH (Zero, One) P8XH (One, L01C) If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.RP01.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP01.PDCX) { Store (One, \_SB.PCI0.RP01.PDCX) Store (One, \_SB.PCI0.RP01.HPSX) } Else { Store (One, \_SB.PCI0.RP01.HPSX) } } If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.RP02.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP02.PDCX) { Store (One, \_SB.PCI0.RP02.PDCX) Store (One, \_SB.PCI0.RP02.HPSX) Notify (\_SB.PCI0.RP02, Zero) } Else { Store (One, \_SB.PCI0.RP02.HPSX) } } If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.RP03.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP03.PDCX) { Store (One, \_SB.PCI0.RP03.PDCX) Store (One, \_SB.PCI0.RP03.HPSX) Notify (\_SB.PCI0.RP03, Zero) } Else { Store (One, \_SB.PCI0.RP03.HPSX) } } If (LAnd (LEqual (RP4D, Zero), \_SB.PCI0.RP04.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP04.PDCX) { Store (One, \_SB.PCI0.RP04.PDCX) Store (One, \_SB.PCI0.RP04.HPSX) Notify (\_SB.PCI0.RP04, Zero) } Else { Store (One, \_SB.PCI0.RP04.HPSX) } } If (LAnd (LEqual (RP5D, Zero), \_SB.PCI0.RP05.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP05.PDCX) { Store (One, \_SB.PCI0.RP05.PDCX) Store (One, \_SB.PCI0.RP05.HPSX) Notify (\_SB.PCI0.RP05, Zero) } Else { Store (One, \_SB.PCI0.RP05.HPSX) } } If (LAnd (LEqual (RP6D, Zero), \_SB.PCI0.RP06.HPSX)) { Sleep (0x64) If (\_SB.PCI0.RP06.PDCX) { Store (One, \_SB.PCI0.RP06.PDCX) Store (One, \_SB.PCI0.RP06.HPSX) Notify (\_SB.PCI0.RP06, Zero) } Else { Store (One, \_SB.PCI0.RP06.HPSX) } } } Method (_L02, 0, NotSerialized) { Store (Zero, GPEC) Notify (\_TZ.TZ01, 0x80) } Method (_L09, 0, NotSerialized) { If (\_SB.PCI0.RP01.PSPX) { Store (One, \_SB.PCI0.RP01.PSPX) Store (One, \_SB.PCI0.RP01.PMSX) Notify (\_SB.PCI0.RP01, 0x02) } If (\_SB.PCI0.RP02.PSPX) { Store (One, \_SB.PCI0.RP02.PSPX) Store (One, \_SB.PCI0.RP02.PMSX) Notify (\_SB.PCI0.RP02, 0x02) } If (\_SB.PCI0.RP03.PSPX) { Store (One, \_SB.PCI0.RP03.PSPX) Store (One, \_SB.PCI0.RP03.PMSX) Notify (\_SB.PCI0.RP03, 0x02) } If (\_SB.PCI0.RP04.PSPX) { Store (One, \_SB.PCI0.RP04.PSPX) Store (One, \_SB.PCI0.RP04.PMSX) Notify (\_SB.PCI0.RP04, 0x02) } If (\_SB.PCI0.RP05.PSPX) { Store (One, \_SB.PCI0.RP05.PSPX) Store (One, \_SB.PCI0.RP05.PMSX) Notify (\_SB.PCI0.RP05, 0x02) } If (\_SB.PCI0.RP06.PSPX) { Store (One, \_SB.PCI0.RP06.PSPX) Store (One, \_SB.PCI0.RP06.PMSX) Notify (\_SB.PCI0.RP06, 0x02) } } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.PCIB, 0x02) } Method (_L18, 0, NotSerialized) { Notify (\_SB.PWRB, 0x02) } } Scope (_PR) { Processor (CPU0, 0x00, 0x00001010, 0x06) {} Processor (CPU1, 0x01, 0x00001010, 0x06) {} Method (RPPC, 0, NotSerialized) { If (LEqual (OSYS, 0x07D2)) { If (And (CFGD, One)) { Store (GSCI, Local0) Store (TZON, Local1) If (LNot (LLess (TZON, 0x02))) { Store (Zero, TZON) } Else { Increment (TZON) } Store (One, GSCI) PNOT () Store (Local0, GSCI) Store (Local1, TZON) PNOT () } } } } Scope (_TZ) { PowerResource (FN00, 0x00, 0x0000) { Method (_STA, 0, Serialized) { Return (VFN0) } Method (_ON, 0, Serialized) { If (ECON) { If (DTSE) { \_SB.SECB (0x9C, 0x05) } } Store (One, VFN0) } Method (_OFF, 0, Serialized) { If (ECON) { If (DTSE) { \_SB.SECB (0x9C, One) } } Store (Zero, VFN0) } } Device (FAN0) { Name (_HID, EisaId ("PNP0C0B")) Name (_UID, Zero) Name (_PR0, Package (0x01) { FN00 }) } ThermalZone (TZ00) { Method (_AC0, 0, Serialized) { Return (Add (0x0AAC, Multiply (ACTT, 0x0A))) } Name (_AL0, Package (0x01) { FAN0 }) Method (_CRT, 0, Serialized) { Return (Add (0x0AAC, Multiply (CRTT, 0x0A))) } Method (_SCP, 1, Serialized) { Store (Arg0, CTYP) } Method (_TMP, 0, Serialized) { If (ECON) { Store (\_SB.PCI0.LPCB.H_EC.CTMP, Local0) If (LNot (LEqual (Local0, 0xFF))) { Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Else { Return (0x0C1C) } } Return (0x0C1C) } Method (_PSL, 0, Serialized) { If (MPEN) { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } Return (Package (0x01) { \_PR.CPU0 }) } Method (_PSV, 0, Serialized) { Return (Add (0x0AAC, Multiply (PSVT, 0x0A))) } Method (_TC1, 0, Serialized) { Return (TC1V) } Method (_TC2, 0, Serialized) { Return (TC2V) } Method (_TSP, 0, Serialized) { Return (TSPV) } } ThermalZone (TZ01) { Method (_CRT, 0, Serialized) { Return (Add (0x0AAC, Multiply (CRTT, 0x0A))) } Method (_TMP, 0, Serialized) { If (DTSE) { If (LNot (LLess (DTS1, DTS2))) { Return (Add (0x0AAC, Multiply (DTS1, 0x0A))) } Return (Add (0x0AAC, Multiply (DTS2, 0x0A))) } If (ECON) { Store (\_SB.PCI0.LPCB.H_EC.CTMP, Local0) If (LNot (LEqual (Local0, 0xFF))) { Return (Add (0x0AAC, Multiply (Local0, 0x0A))) } Else { Return (0x0C1C) } } Return (0x0C1C) } } } Scope (_SB) { Device (PCI0) { Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } Name (_HID, EisaId ("PNP0A08")) Name (_CID, 0x030AD041) Device (MCHC) { Name (_ADR, Zero) OperationRegion (HBUS, PCI_Config, 0x40, 0xC0) Field (HBUS, DWordAcc, NoLock, Preserve) { EPEN, 1, , 11, EPBR, 20, Offset (0x08), MHEN, 1, , 13, MHBR, 18, Offset (0x20), PXEN, 1, PXSZ, 2, , 23, PXBR, 6, Offset (0x28), DIEN, 1, , 11, DIBR, 20, Offset (0x30), IPEN, 1, , 11, IPBR, 20, 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 (0x62), TUUD, 16, Offset (0x70), , 4, TLUD, 12 } } Name (BUF0, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, 0x00000000, 0x00000CF7, 0x00000000, 0x00000CF8) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x00000000, 0x00000D00, 0x0000FFFF, 0x00000000, 0x0000F300) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000C3FFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C4000, 0x000C7FFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000C8000, 0x000CBFFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000CC000, 0x000CFFFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D0000, 0x000D3FFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D4000, 0x000D7FFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D8000, 0x000DBFFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000DC000, 0x000DFFFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E0000, 0x000E3FFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E4000, 0x000E7FFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000E8000, 0x000EBFFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000EC000, 0x000EFFFF, 0x00000000, 0x00004000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000F0000, 0x000FFFFF, 0x00000000, 0x00010000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0xDFFFFFFF, 0x00000000, 0x00000000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0xF0000000, 0xFEBFFFFF, 0x00000000, 0x0EC00000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0xFED40000, 0xFED44FFF, 0x00000000, 0x00000000) }) Method (_CRS, 0, Serialized) { If (^MCHC.PM1L) { CreateDWordField (BUF0, 0x7C, C0LN) Store (Zero, C0LN) } If (LEqual (^MCHC.PM1L, One)) { CreateBitField (BUF0, 0x0358, C0RW) Store (Zero, C0RW) } If (^MCHC.PM1H) { CreateDWordField (BUF0, 0x96, C4LN) Store (Zero, C4LN) } If (LEqual (^MCHC.PM1H, One)) { CreateBitField (BUF0, 0x0428, C4RW) Store (Zero, C4RW) } If (^MCHC.PM2L) { CreateDWordField (BUF0, 0xB0, C8LN) Store (Zero, C8LN) } If (LEqual (^MCHC.PM2L, One)) { CreateBitField (BUF0, 0x04F8, C8RW) Store (Zero, C8RW) } If (^MCHC.PM2H) { CreateDWordField (BUF0, 0xCA, CCLN) Store (Zero, CCLN) } If (LEqual (^MCHC.PM2H, One)) { CreateBitField (BUF0, 0x05C8, CCRW) Store (Zero, CCRW) } If (^MCHC.PM3L) { CreateDWordField (BUF0, 0xE4, D0LN) Store (Zero, D0LN) } If (LEqual (^MCHC.PM3L, One)) { CreateBitField (BUF0, 0x0698, D0RW) Store (Zero, D0RW) } If (^MCHC.PM3H) { CreateDWordField (BUF0, 0xFE, D4LN) Store (Zero, D4LN) } If (LEqual (^MCHC.PM3H, One)) { CreateBitField (BUF0, 0x0768, D4RW) Store (Zero, D4RW) } If (^MCHC.PM4L) { CreateDWordField (BUF0, 0x0118, D8LN) Store (Zero, D8LN) } If (LEqual (^MCHC.PM4L, One)) { CreateBitField (BUF0, 0x0838, D8RW) Store (Zero, D8RW) } If (^MCHC.PM4H) { CreateDWordField (BUF0, 0x0132, DCLN) Store (Zero, DCLN) } If (LEqual (^MCHC.PM4H, One)) { CreateBitField (BUF0, 0x0908, DCRW) Store (Zero, DCRW) } If (^MCHC.PM5L) { CreateDWordField (BUF0, 0x014C, E0LN) Store (Zero, E0LN) } If (LEqual (^MCHC.PM5L, One)) { CreateBitField (BUF0, 0x09D8, E0RW) Store (Zero, E0RW) } If (^MCHC.PM5H) { CreateDWordField (BUF0, 0x0166, E4LN) Store (Zero, E4LN) } If (LEqual (^MCHC.PM5H, One)) { CreateBitField (BUF0, 0x0AA8, E4RW) Store (Zero, E4RW) } If (^MCHC.PM6L) { CreateDWordField (BUF0, 0x0180, E8LN) Store (Zero, E8LN) } If (LEqual (^MCHC.PM6L, One)) { CreateBitField (BUF0, 0x0B78, E8RW) Store (Zero, E8RW) } If (^MCHC.PM6H) { CreateDWordField (BUF0, 0x019A, ECLN) Store (Zero, ECLN) } If (LEqual (^MCHC.PM6H, One)) { CreateBitField (BUF0, 0x0C48, ECRW) Store (Zero, ECRW) } If (^MCHC.PM0H) { CreateDWordField (BUF0, 0x01B4, F0LN) Store (Zero, F0LN) } If (LEqual (^MCHC.PM0H, One)) { CreateBitField (BUF0, 0x0D18, F0RW) Store (Zero, F0RW) } CreateDWordField (BUF0, 0x01C2, M1MN) CreateDWordField (BUF0, 0x01C6, M1MX) CreateDWordField (BUF0, 0x01CE, M1LN) CreateDWordField (BUF0, 0x01DC, M2MN) CreateDWordField (BUF0, 0x01E0, M2MX) CreateDWordField (BUF0, 0x01E8, M2LN) ShiftLeft (^MCHC.PXBR, 0x1A, M1MX) ShiftRight (0x10000000, ^MCHC.PXSZ, Local0) Add (M1MX, Local0, M2MN) Add (Subtract (M2MX, M2MN), One, M2LN) Subtract (M1MX, One, M1MX) ShiftLeft (^MCHC.TLUD, 0x14, M1MN) Add (Subtract (M1MX, M1MN), One, M1LN) Return (BUF0) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x17) { Package (0x04) { 0x0001FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x03, Zero, 0x10 } }) } Else { Return (Package (0x17) { Package (0x04) { 0x0001FFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x0002FFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x0003FFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, ^LPCB.LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, ^LPCB.LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, ^LPCB.LNKD, Zero }, Package (0x04) { 0x0007FFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x0019FFFF, Zero, ^LPCB.LNKE, Zero }, Package (0x04) { 0x001AFFFF, Zero, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, ^LPCB.LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x02, ^LPCB.LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, ^LPCB.LNKG, Zero }, Package (0x04) { 0x001CFFFF, Zero, ^LPCB.LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, ^LPCB.LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, ^LPCB.LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001DFFFF, Zero, ^LPCB.LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, ^LPCB.LNKC, Zero }, Package (0x04) { 0x001FFFFF, Zero, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001FFFFF, One, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, ^LPCB.LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x03, ^LPCB.LNKA, Zero } }) } } Device (PDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, One) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, 0x00004000) Memory32Fixed (ReadWrite, 0x00000000, 0x00004000) Memory32Fixed (ReadWrite, 0x00000000, 0x00001000) Memory32Fixed (ReadWrite, 0x00000000, 0x00001000) Memory32Fixed (ReadWrite, 0x00000000, 0x00000000) Memory32Fixed (ReadWrite, 0xFED20000, 0x00020000) Memory32Fixed (ReadWrite, 0xFED40000, 0x00005000) Memory32Fixed (ReadWrite, 0xFED45000, 0x0004B000) }) Method (_CRS, 0, Serialized) { CreateDWordField (BUF0, 0x04, RBR0) ShiftLeft (^^LPCB.RCBA, 0x0E, RBR0) CreateDWordField (BUF0, 0x10, MBR0) ShiftLeft (^^MCHC.MHBR, 0x0E, MBR0) CreateDWordField (BUF0, 0x1C, DBR0) ShiftLeft (^^MCHC.DIBR, 0x0C, DBR0) CreateDWordField (BUF0, 0x28, EBR0) ShiftLeft (^^MCHC.EPBR, 0x0C, EBR0) CreateDWordField (BUF0, 0x34, XBR0) ShiftLeft (^^MCHC.PXBR, 0x1A, XBR0) CreateDWordField (BUF0, 0x38, XSZ0) ShiftRight (0x10000000, ^^MCHC.PXSZ, XSZ0) Return (BUF0) } } Device (PEGP) { Name (_ADR, 0x00010000) Device (NVID) { Name (_ADR, Zero) Device (AMW0) { Name (_HID, "PNP0C14") Name (_UID, Zero) Name (_WDG, Buffer (0x3C) { 0xA7, 0x1D, 0x85, 0x2E, 0x53, 0xD0, 0x5F, 0x49, 0x9D, 0xFA, 0x1A, 0x4A, 0xD6, 0x2E, 0x6A, 0x86, 0x41, 0x43, 0x01, 0x00, 0x3B, 0x6D, 0x43, 0x71, 0xDD, 0xFB, 0x72, 0x4C, 0xBC, 0xB8, 0x43, 0x5B, 0xFE, 0x0D, 0x64, 0xF9, 0x42, 0x43, 0x01, 0x00, 0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00 }) Name (STAC, Buffer (0x04) { 0x01, 0x46, 0x0A, 0x00 }) Method (WQAC, 1, NotSerialized) { Store ("MXMTCConfigData", Debug) Return (STAC) } Name (STBC, Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }) Method (WQBC, 1, NotSerialized) { Store ("Get MXMTCControlData: STBC = ", Debug) Store (STBC, Debug) Return (STBC) } Method (WSBC, 2, NotSerialized) { Store (Arg1, STBC) Store ("Set MXMTCControlData: STBC = ", Debug) Store (STBC, Debug) } Name (WQBA, Buffer (0x02AE) { 0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 0x9E, 0x02, 0x00, 0x00, 0xC0, 0x0B, 0x00, 0x00, 0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 0x28, 0xD9, 0x85, 0x00, 0x01, 0x06, 0x18, 0x42, 0x10, 0x07, 0x10, 0x0A, 0x4B, 0x61, 0x02, 0xC9, 0x21, 0x52, 0x3C, 0x18, 0x94, 0x05, 0x10, 0x43, 0x88, 0x57, 0x04, 0x44, 0x04, 0x84, 0xBC, 0x0A, 0xB0, 0x29, 0xC0, 0x24, 0x88, 0xFA, 0xF7, 0x87, 0x28, 0x09, 0x0E, 0x25, 0x04, 0x42, 0x12, 0x05, 0x98, 0x17, 0xA0, 0x5B, 0x80, 0x61, 0x01, 0xB6, 0x05, 0x98, 0x16, 0xE0, 0x18, 0x92, 0x4A, 0x03, 0xA7, 0x04, 0x96, 0x02, 0x21, 0xA1, 0x02, 0x94, 0x0B, 0xF0, 0x2D, 0x40, 0x3B, 0xA2, 0x24, 0x0B, 0xB0, 0x0C, 0x23, 0x02, 0x8F, 0x82, 0xA1, 0x71, 0x68, 0xEC, 0x30, 0x2C, 0x13, 0x4C, 0x83, 0x38, 0x8C, 0xB2, 0x91, 0x45, 0x60, 0xDC, 0x4E, 0x05, 0xC8, 0x15, 0x20, 0x4C, 0x80, 0x78, 0x54, 0x61, 0x34, 0x07, 0x45, 0xE0, 0x42, 0x63, 0x64, 0x40, 0xC8, 0xA3, 0x00, 0xAB, 0xA3, 0xD0, 0xA4, 0x12, 0xD8, 0xBD, 0x00, 0x65, 0x02, 0x2C, 0x0A, 0x10, 0x27, 0xC0, 0x9A, 0x00, 0x63, 0x48, 0x32, 0x28, 0x40, 0x9B, 0x00, 0x5B, 0x20, 0x42, 0x0F, 0xD4, 0x19, 0x8A, 0x46, 0x70, 0x02, 0x51, 0x6A, 0x46, 0x11, 0x48, 0xAC, 0x1A, 0x01, 0x85, 0x12, 0x34, 0x46, 0xB0, 0x10, 0x81, 0xC2, 0x86, 0x37, 0x46, 0x98, 0x03, 0x88, 0xD1, 0xFE, 0x20, 0x48, 0x20, 0x05, 0xE3, 0x66, 0x91, 0x46, 0x83, 0x1A, 0x6B, 0x82, 0x63, 0xF7, 0x68, 0x4E, 0xB8, 0x73, 0x01, 0xD2, 0xE7, 0x26, 0x90, 0xA3, 0x3B, 0xB8, 0x3A, 0x07, 0x4D, 0x86, 0xC7, 0xB0, 0x1E, 0x06, 0xD8, 0x29, 0x00, 0xEF, 0x1A, 0x50, 0xD3, 0x3F, 0x78, 0x26, 0x08, 0x0E, 0x35, 0x44, 0x8F, 0x3A, 0xDC, 0x09, 0x1C, 0xFB, 0x91, 0x30, 0x88, 0xB3, 0x3B, 0x6E, 0xAC, 0xC3, 0xC9, 0x68, 0xD0, 0xA5, 0x0A, 0x30, 0x7B, 0x00, 0xD0, 0xD0, 0x12, 0x9C, 0xF6, 0x99, 0x84, 0x7E, 0x0F, 0x38, 0x9F, 0x9E, 0x21, 0x89, 0xFC, 0x41, 0xA0, 0x46, 0xE6, 0xFF, 0x3F, 0xB4, 0xC7, 0x78, 0x5A, 0x31, 0x43, 0x3E, 0x0B, 0x1C, 0x16, 0x13, 0x0B, 0xA1, 0x4D, 0x6A, 0x3C, 0x40, 0x40, 0xE1, 0xD1, 0x40, 0x08, 0x6F, 0x06, 0x9E, 0xAF, 0x09, 0x46, 0x86, 0x90, 0x93, 0xF1, 0xA0, 0x06, 0xE0, 0x41, 0xD7, 0x3A, 0x32, 0x8D, 0x27, 0xA6, 0x21, 0xCF, 0xE8, 0x00, 0x22, 0xBF, 0x32, 0x78, 0x0C, 0x41, 0x02, 0xF9, 0xC4, 0x60, 0xB8, 0xC7, 0x81, 0x13, 0x78, 0x02, 0xF0, 0x59, 0x40, 0x10, 0x92, 0x00, 0x21, 0x51, 0xE3, 0xA7, 0x47, 0x08, 0x7E, 0x7A, 0x78, 0x93, 0x30, 0x28, 0x1F, 0xD2, 0x99, 0xF9, 0x90, 0xE1, 0x11, 0xC2, 0x07, 0xC4, 0x7B, 0x9F, 0x3B, 0x19, 0xC1, 0x29, 0x7B, 0xA4, 0xE0, 0xB0, 0x7E, 0x0E, 0x20, 0xC0, 0xAF, 0x0F, 0x8F, 0x0D, 0x09, 0x7C, 0xAE, 0x08, 0x8C, 0x1D, 0xAA, 0xFD, 0x0A, 0x40, 0x08, 0x1E, 0xED, 0x51, 0xE0, 0x54, 0x23, 0x1C, 0x2D, 0x78, 0x08, 0x8A, 0x1C, 0x03, 0x4A, 0xCC, 0x18, 0x50, 0x03, 0x38, 0x85, 0xD0, 0xE7, 0x73, 0x04, 0x47, 0x14, 0x25, 0xF6, 0x21, 0x19, 0xDA, 0x08, 0xE1, 0x1F, 0x39, 0x4E, 0xC1, 0xF7, 0x8B, 0x23, 0x3D, 0xAD, 0x23, 0x78, 0x91, 0xF0, 0x08, 0x30, 0xE1, 0xCE, 0x28, 0xA8, 0x38, 0x30, 0xF4, 0xFF, 0x7F, 0x4C, 0x01, 0xDC, 0x7A, 0x3B, 0xA6, 0x80, 0x3E, 0xC0, 0x31, 0x05, 0x50, 0xFC, 0xFF, 0x3F, 0xA6, 0x00, 0x87, 0xA8, 0xC7, 0x14, 0xF4, 0x40, 0x0C, 0x7C, 0x2E, 0xA1, 0x0D, 0xFF, 0x96, 0xC1, 0x8E, 0x03, 0x87, 0x74, 0x6A, 0x8F, 0x28, 0x80, 0x29, 0x79, 0x47, 0x14, 0x50, 0x8C, 0x14, 0xD6, 0xF1, 0x04, 0x18, 0x05, 0x3C, 0x9B, 0xA0, 0x22, 0x1D, 0x4F, 0x80, 0xCE, 0xFF, 0xFF, 0x78, 0x02, 0x58, 0xB8, 0x9A, 0xBC, 0x92, 0x84, 0x7D, 0x1E, 0x78, 0x1D, 0x89, 0x14, 0xE3, 0x41, 0xE2, 0xB5, 0xE4, 0xC1, 0x24, 0x46, 0x98, 0x08, 0x8F, 0x27, 0x1E, 0x47, 0xC0, 0xB7, 0x82, 0x28, 0x91, 0x8E, 0x3E, 0xC4, 0x83, 0x49, 0x28, 0x63, 0x3E, 0xA3, 0x84, 0x89, 0xF9, 0x04, 0x70, 0x22, 0xEF, 0x27, 0x46, 0x0A, 0x73, 0x2A, 0x8F, 0x27, 0x2C, 0xC4, 0xF1, 0x04, 0xA0, 0x85, 0xE2, 0xE3, 0x09, 0x3A, 0x2C, 0x84, 0xFE, 0xFF, 0xC7, 0x13, 0xDC, 0xE1, 0xC1, 0xA7, 0x0C, 0xFC, 0x85, 0x0C, 0xC6, 0xF9, 0x04, 0x30, 0x24, 0xF0, 0x7C, 0x02, 0xCA, 0xDB, 0x18, 0xE6, 0x80, 0x02, 0x8C, 0x14, 0xDA, 0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0x4C, 0x9C, 0x52, 0xBC, 0x6C, 0x8D, 0xDF, 0xF2, 0x9E, 0x09, 0x02, 0xB1, 0x20, 0x0A, 0x81, 0x38, 0xCC, 0xF3, 0x42, 0x20, 0x96, 0xA2, 0x01, 0x84, 0x85, 0x06, 0xA1, 0x42, 0xA9, 0x05, 0xE2, 0x98, 0x20, 0x34, 0x92, 0x0A, 0x10, 0xF6, 0xFF, 0x07 }) } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), DSEN) } Method (_DOD, 0, NotSerialized) { Name (PSIZ, Zero) Name (PPTR, Zero) Store (0x1E, SMIF) Store (0x02, PVFN) Store (Zero, TRP0) Store (CADL, Local0) Store (CADL, Local1) While (Local1) { If (And (Local1, One)) { Increment (PSIZ) } ShiftRight (Local1, One, Local1) } If (LOr (LEqual (PSIZ, Zero), LGreater (PSIZ, 0x04))) { Return (Package (0x01) { 0x00010118 }) } Else { If (LEqual (PSIZ, 0x02)) { Name (VID2, Package (0x02) { 0x00010118, 0x00010100 }) If (And (Local0, One)) { Store (0x00010118, Index (VID2, PPTR)) Increment (PPTR) } If (And (Local0, 0x02)) { Store (0x00010100, Index (VID2, PPTR)) Increment (PPTR) } If (And (Local0, 0x04)) { Store (0x00010200, Index (VID2, PPTR)) Increment (PPTR) } If (And (Local0, 0x08)) { Store (0x00010120, Index (VID2, PPTR)) Increment (PPTR) } Return (VID2) } If (LEqual (PSIZ, 0x03)) { Name (VID3, Package (0x03) { 0x00010118, 0x00010100, 0x00010200 }) If (And (Local0, One)) { Store (0x00010118, Index (VID3, PPTR)) Increment (PPTR) } If (And (Local0, 0x02)) { Store (0x00010100, Index (VID3, PPTR)) Increment (PPTR) } If (And (Local0, 0x04)) { Store (0x00010200, Index (VID3, PPTR)) Increment (PPTR) } If (And (Local0, 0x08)) { Store (0x00010120, Index (VID3, PPTR)) Increment (PPTR) } Return (VID3) } If (LEqual (PSIZ, 0x04)) { Name (VID4, Package (0x04) { 0x00010118, 0x00010100, 0x00010200, 0x00010120 }) If (And (Local0, One)) { Store (0x00010118, Index (VID4, PPTR)) Increment (PPTR) } If (And (Local0, 0x02)) { Store (0x00010100, Index (VID4, PPTR)) Increment (PPTR) } If (And (Local0, 0x04)) { Store (0x00010200, Index (VID4, PPTR)) Increment (PPTR) } If (And (Local0, 0x08)) { Store (0x00010120, Index (VID4, PPTR)) Increment (PPTR) } Return (VID4) } Name (VID1, Package (0x01) { 0x00010118 }) If (And (Local0, One)) { Store (0x00010118, Index (VID1, Zero)) } If (And (Local0, 0x02)) { Store (0x00010100, Index (VID1, Zero)) } If (And (Local0, 0x04)) { Store (0x00010200, Index (VID1, Zero)) } If (And (Local0, 0x08)) { Store (0x00010120, Index (VID1, Zero)) } Return (VID1) } } Device (CRT1) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { Store (0x1E, SMIF) Store (One, PVFN) Store (Zero, TRP0) If (And (CSTE, 0x02)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (NSTE, 0x02)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (LCD) { Name (_ADR, 0x0118) Method (_DCS, 0, NotSerialized) { Store (0x1E, SMIF) Store (One, PVFN) Store (Zero, TRP0) If (And (CSTE, One)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (NSTE, One)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } Method (_BCL, 0, NotSerialized) { Store (One, VDRV) Return (Package (0x08) { 0x0A, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x64 }) } Method (_BCM, 1, NotSerialized) { Store (Arg0, BRTL) Store (0x12, SMIF) Store (Zero, TRP0) } } Device (TV) { Name (_ADR, 0x0200) Method (_DCS, 0, NotSerialized) { Store (0x1E, SMIF) Store (One, PVFN) Store (Zero, TRP0) If (And (CSTE, 0x04)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (NSTE, 0x04)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DVI) { Name (_ADR, 0x0120) Method (_DCS, 0, NotSerialized) { Store (0x1E, SMIF) Store (One, PVFN) Store (Zero, TRP0) If (And (CSTE, 0x08)) { Return (0x1F) } Return (0x1D) } Method (_DGS, 0, NotSerialized) { If (And (NSTE, 0x08)) { Return (One) } Return (Zero) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKD, Zero } }) } } } Device (GFX0) { Name (_ADR, 0x00020000) Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x07), DSEN) } Method (_DOD, 0, NotSerialized) { Store (Zero, NDID) If (LNot (LEqual (DIDL, Zero))) { Store (SDDL (DID1), DID1) } If (LNot (LEqual (DDL2, Zero))) { Store (SDDL (DID2), DID2) } If (LNot (LEqual (DDL3, Zero))) { Store (SDDL (DID3), DID3) } If (LNot (LEqual (DDL4, Zero))) { Store (SDDL (DID4), DID4) } If (LNot (LEqual (DDL5, Zero))) { Store (SDDL (DID5), DID5) } If (LEqual (NDID, One)) { Name (TMP1, Package (0x01) { 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP1, Zero)) Return (TMP1) } If (LEqual (NDID, 0x02)) { Name (TMP2, Package (0x02) { 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP2, Zero)) Store (Or (0x00010000, DID2), Index (TMP2, One)) Return (TMP2) } If (LEqual (NDID, 0x03)) { Name (TMP3, Package (0x03) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP3, Zero)) Store (Or (0x00010000, DID2), Index (TMP3, One)) Store (Or (0x00010000, DID3), Index (TMP3, 0x02)) Return (TMP3) } If (LEqual (NDID, 0x04)) { Name (TMP4, Package (0x04) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP4, Zero)) Store (Or (0x00010000, DID2), Index (TMP4, One)) Store (Or (0x00010000, DID3), Index (TMP4, 0x02)) Store (Or (0x00010000, DID4), Index (TMP4, 0x03)) Return (TMP4) } If (LGreater (NDID, 0x04)) { Name (TMP5, Package (0x05) { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF }) Store (Or (0x00010000, DID1), Index (TMP5, Zero)) Store (Or (0x00010000, DID2), Index (TMP5, One)) Store (Or (0x00010000, DID3), Index (TMP5, 0x02)) Store (Or (0x00010000, DID4), Index (TMP5, 0x03)) Store (Or (0x00010000, DID4), Index (TMP5, 0x04)) Return (TMP5) } Return (Package (0x01) { 0x0400 }) } Device (DD01) { Method (_ADR, 0, Serialized) { If (LEqual (DID1, Zero)) { Return (One) } Else { Return (And (0xFFFF, DID1)) } } Method (_DCS, 0, NotSerialized) { Return (CDDS (DID1)) } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID1)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD02) { Method (_ADR, 0, Serialized) { If (LEqual (DID2, Zero)) { Return (0x02) } Else { Return (And (0xFFFF, DID2)) } } Method (_DCS, 0, NotSerialized) { Return (CDDS (DID2)) } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID2)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD03) { Method (_ADR, 0, Serialized) { If (LEqual (DID3, Zero)) { Return (0x03) } Else { Return (And (0xFFFF, DID3)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID3, Zero)) { Return (0x0B) } Else { Return (CDDS (DID3)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID3)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD04) { Method (_ADR, 0, Serialized) { If (LEqual (DID4, Zero)) { Return (0x04) } Else { Return (And (0xFFFF, DID4)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID4, Zero)) { Return (0x0B) } Else { Return (CDDS (DID4)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID4)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Device (DD05) { Method (_ADR, 0, Serialized) { If (LEqual (DID5, Zero)) { Return (0x05) } Else { Return (And (0xFFFF, DID5)) } } Method (_DCS, 0, NotSerialized) { If (LEqual (DID5, Zero)) { Return (0x0B) } Else { Return (CDDS (DID5)) } } Method (_DGS, 0, NotSerialized) { Return (NDDS (DID5)) } Method (_DSS, 1, NotSerialized) { If (LEqual (And (Arg0, 0xC0000000), 0xC0000000)) { Store (NSTE, CSTE) } } } Method (SDDL, 1, NotSerialized) { Increment (NDID) Store (And (Arg0, 0x0F0F), Local0) Or (0x80000000, Local0, Local1) If (LEqual (DIDL, Local0)) { Return (Local1) } If (LEqual (DDL2, Local0)) { Return (Local1) } If (LEqual (DDL3, Local0)) { Return (Local1) } If (LEqual (DDL4, Local0)) { Return (Local1) } If (LEqual (DDL5, Local0)) { Return (Local1) } If (LEqual (DDL6, Local0)) { Return (Local1) } If (LEqual (DDL7, Local0)) { Return (Local1) } If (LEqual (DDL8, Local0)) { Return (Local1) } Return (Zero) } Method (CDDS, 1, NotSerialized) { If (LEqual (CADL, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL2, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL3, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL4, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL5, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL6, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL7, And (Arg0, 0x0F0F))) { Return (0x1F) } If (LEqual (CAL8, And (Arg0, 0x0F0F))) { Return (0x1F) } Return (0x1D) } Method (NDDS, 1, NotSerialized) { If (LEqual (NADL, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL2, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL3, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL4, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL5, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL6, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL7, And (Arg0, 0x0F0F))) { Return (One) } If (LEqual (NDL8, And (Arg0, 0x0F0F))) { Return (One) } Return (Zero) } Scope (^^PCI0) { OperationRegion (MCHP, PCI_Config, 0x40, 0xC0) Field (MCHP, AnyAcc, NoLock, Preserve) { Offset (0x60), TASM, 10, Offset (0x62) } } OperationRegion (IGDP, PCI_Config, 0x40, 0xC0) Field (IGDP, AnyAcc, NoLock, Preserve) { Offset (0x12), , 1, GIVD, 1, , 2, GUMA, 3, Offset (0x14), , 4, GMFN, 1, Offset (0x18), Offset (0xA4), ASLE, 8, Offset (0xA8), GSSE, 1, GSSB, 14, GSES, 1, Offset (0xB0), Offset (0xB1), CDVL, 5, Offset (0xB2), Offset (0xB5), LBPC, 8, Offset (0xBC), ASLS, 32 } OperationRegion (IGDM, SystemMemory, ASLB, 0x2000) Field (IGDM, AnyAcc, NoLock, Preserve) { SIGN, 128, SIZE, 32, OVER, 32, SVER, 256, VVER, 128, GVER, 128, MBOX, 32, Offset (0x100), DRDY, 32, CSTS, 32, CEVT, 32, Offset (0x120), DIDL, 32, DDL2, 32, DDL3, 32, DDL4, 32, DDL5, 32, DDL6, 32, DDL7, 32, DDL8, 32, CPDL, 32, CPL2, 32, CPL3, 32, CPL4, 32, CPL5, 32, CPL6, 32, CPL7, 32, CPL8, 32, CADL, 32, CAL2, 32, CAL3, 32, CAL4, 32, CAL5, 32, CAL6, 32, CAL7, 32, CAL8, 32, NADL, 32, NDL2, 32, NDL3, 32, NDL4, 32, NDL5, 32, NDL6, 32, NDL7, 32, NDL8, 32, ASLP, 32, TIDX, 32, CHPD, 32, CLID, 32, CDCK, 32, SXSW, 32, EVTS, 32, CNOT, 32, NRDY, 32, Offset (0x200), SCIE, 1, GEFC, 4, GXFC, 3, GESF, 8, Offset (0x204), PARM, 32, DSLP, 32, Offset (0x300), ARDY, 32, ASLC, 32, TCHE, 32, ALSI, 32, BCLP, 32, PFIT, 32, CBLV, 32, BCLM, 320, CPFM, 32, EPFM, 32, Offset (0x400), GVD1, 57344 } Name (DBTB, Package (0x15) { Zero, 0x07, 0x38, 0x01C0, 0x0E00, 0x3F, 0x01C7, 0x0E07, 0x01F8, 0x0E38, 0x0FC0, Zero, Zero, Zero, Zero, Zero, 0x7000, 0x7007, 0x7038, 0x71C0, 0x7E00 }) Name (CDCT, Package (0x03) { Package (0x03) { 0xC8, 0x0140, 0x0190 }, Package (0x03) { 0xC8, 0x014D, 0x0190 }, Package (0x03) { 0xDE, 0x014D, 0x017D } }) Name (SUCC, One) Name (NVLD, 0x02) Name (CRIT, 0x04) Name (NCRT, 0x06) Method (GSCI, 0, Serialized) { Method (GBDA, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (0x0279, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (0x0240, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x04)) { And (PARM, 0xEFFF0000, PARM) And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10), PARM) Or (IBTT, PARM, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (IPSC, PARM) Or (PARM, ShiftLeft (IPAT, 0x08), PARM) Add (PARM, 0x0100, PARM) Or (PARM, ShiftLeft (LIDS, 0x10), PARM) Add (PARM, 0x00010000, PARM) Or (PARM, ShiftLeft (IBIA, 0x14), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (ITVF, PARM) Or (PARM, ShiftLeft (ITVM, 0x04), PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x07)) { Store (GIVD, PARM) XOr (PARM, One, PARM) Or (PARM, ShiftLeft (GMFN, One), PARM) Or (PARM, 0x1000, PARM) If (IDMM) { Or (PARM, ShiftLeft (IDMS, 0x11), PARM) } Else { Or (PARM, ShiftLeft (IDMS, 0x0D), PARM) } Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), Subtract (CDVL, One))), 0x15), PARM, PARM) Store (One, GESF) Return (SUCC) } If (LEqual (GESF, 0x0A)) { Store (Zero, PARM) If (ISSC) { Or (PARM, 0x03, PARM) } Store (Zero, GESF) Return (SUCC) } Store (Zero, GESF) Return (CRIT) } Method (SBCB, 0, Serialized) { If (LEqual (GESF, Zero)) { Store (Zero, PARM) Store (0xF7FD, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, One)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x03)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x04)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x05)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x06)) { Store (And (PARM, 0x0F), ITVF) Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x07)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x08)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x09)) { And (PARM, 0xFF, IBTT) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0A)) { And (PARM, 0xFF, IPSC) If (And (ShiftRight (PARM, 0x08), 0xFF)) { And (ShiftRight (PARM, 0x08), 0xFF, IPAT) Decrement (IPAT) } And (ShiftRight (PARM, 0x14), 0x07, IBIA) Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x0B)) { And (ShiftRight (PARM, One), One, IF1E) If (And (PARM, 0x0001E000)) { And (ShiftRight (PARM, 0x0D), 0x0F, IDMS) Store (Zero, IDMM) } Else { And (ShiftRight (PARM, 0x11), 0x0F, IDMS) Store (One, IDMM) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x10)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x11)) { Store (ShiftLeft (LIDS, 0x08), PARM) Add (PARM, 0x0100, PARM) Store (Zero, GESF) Return (SUCC) } If (LEqual (GESF, 0x12)) { If (And (PARM, One)) { If (LEqual (ShiftRight (PARM, One), One)) { Store (One, ISSC) } Else { Store (Zero, GESF) Return (CRIT) } } Else { Store (Zero, ISSC) } Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } If (LEqual (GESF, 0x13)) { Store (Zero, GESF) Store (Zero, PARM) Return (SUCC) } Store (Zero, GESF) Return (SUCC) } If (LEqual (GEFC, 0x04)) { Store (GBDA (), GXFC) } If (LEqual (GEFC, 0x06)) { Store (SBCB (), GXFC) } Store (Zero, GEFC) Store (One, SCIS) Store (Zero, GSSE) Store (Zero, SCIE) Return (Zero) } Method (PDRD, 0, NotSerialized) { If (LNot (DRDY)) { Sleep (ASLP) } Return (LNot (DRDY)) } Method (PSTS, 0, NotSerialized) { If (LGreater (CSTS, 0x02)) { Sleep (ASLP) } Return (LEqual (CSTS, 0x03)) } Method (GNOT, 2, NotSerialized) { If (PDRD ()) { Return (One) } If (PSTS ()) { Return (One) } Store (Arg0, CEVT) Store (0x03, CSTS) If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero))) { If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (PCI0, Arg1) } Else { Notify (GFX0, Arg1) } } Notify (GFX0, 0x80) If (LNot (PSTS ())) { Store (Zero, CEVT) } Return (Zero) } Method (GHDS, 1, NotSerialized) { Store (Arg0, TIDX) Return (GNOT (One, Zero)) } Method (GLID, 1, NotSerialized) { Store (Arg0, CLID) Return (GNOT (0x02, Zero)) } Method (GDCK, 1, NotSerialized) { Store (Arg0, CDCK) Return (GNOT (0x04, Zero)) } Method (PARD, 0, NotSerialized) { If (LNot (ARDY)) { Sleep (ASLP) } Return (LNot (ARDY)) } Method (AINT, 2, NotSerialized) { If (LNot (And (TCHE, ShiftLeft (One, Arg0)))) { Return (One) } If (PARD ()) { Return (One) } If (LEqual (Arg0, 0x02)) { If (CPFM) { And (CPFM, 0x0F, Local0) And (EPFM, 0x0F, Local1) If (LEqual (Local0, One)) { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { Store (One, PFIT) } } } If (LEqual (Local0, 0x06)) { If (And (Local1, 0x08)) { Store (0x08, PFIT) } Else { If (And (Local1, One)) { Store (One, PFIT) } Else { Store (0x06, PFIT) } } } If (LEqual (Local0, 0x08)) { If (And (Local1, One)) { Store (One, PFIT) } Else { If (And (Local1, 0x06)) { Store (0x06, PFIT) } Else { Store (0x08, PFIT) } } } } Else { XOr (PFIT, 0x07, PFIT) } Or (PFIT, 0x80000000, PFIT) Store (0x04, ASLC) } Else { If (LEqual (Arg0, One)) { Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) Or (BCLP, 0x80000000, BCLP) Store (0x02, ASLC) } Else { If (LEqual (Arg0, Zero)) { Store (Arg1, ALSI) Store (One, ASLC) } Else { Return (One) } } } Store (Zero, LBPC) Return (Zero) } } Scope (\) { Method (HKDS, 1, Serialized) { If (IGDS) { If (LEqual (Zero, And (0x03, DSEN))) { If (LEqual (TRAP (Arg0), Zero)) { If (LNot (LEqual (CADL, PADL))) { Store (CADL, PADL) If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D6))) { Notify (\_SB.PCI0, Zero) } Else { Notify (\_SB.PCI0.GFX0, Zero) } Sleep (0x02EE) } Notify (\_SB.PCI0.GFX0, 0x80) } } If (LEqual (One, And (0x03, DSEN))) { If (LEqual (TRAP (Increment (Arg0)), Zero)) { Notify (\_SB.PCI0.GFX0, 0x81) } } } Else { If (LEqual (Zero, DSEN)) { Store (Arg0, PVFN) If (LEqual (TRAP (0x1E), Zero)) { If (LNot (LEqual (CADL, PADL))) { Store (CADL, PADL) If (LNot (LLess (OSYS, 0x07D1))) { Notify (\_SB.PCI0, Zero) } Else { Notify (\_SB.PCI0.PEGP.NVID, Zero) } Sleep (0x02EE) } Notify (\_SB.PCI0.PEGP.NVID, 0x80) } } If (LEqual (One, DSEN)) { Store (Increment (Arg0), PVFN) If (LEqual (TRAP (0x1E), Zero)) { Notify (\_SB.PCI0.PEGP.NVID, 0x81) } } } } Method (LSDS, 1, Serialized) { If (Arg0) { HKDS (0x0C) } Else { HKDS (0x0E) } If (LNot (LEqual (And (0x03, DSEN), One))) { Sleep (0x32) While (LEqual (And (0x03, DSEN), 0x02)) { Sleep (0x32) } } } Method (BRTN, 1, Serialized) { If (LEqual (And (DID1, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD01, Arg0) } If (LEqual (And (DID2, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD02, Arg0) } If (LEqual (And (DID3, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD03, Arg0) } If (LEqual (And (DID4, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD04, Arg0) } If (LEqual (And (DID5, 0x0F00), 0x0400)) { Notify (\_SB.PCI0.GFX0.DD05, Arg0) } } } Scope (\) { OperationRegion (IO_T, SystemIO, 0x0800, 0x10) Field (IO_T, ByteAcc, NoLock, Preserve) { Offset (0x08), TRP0, 8 } OperationRegion (SECT, SystemIO, 0x0900, 0x10) Field (SECT, ByteAcc, NoLock, Preserve) { Offset (0x02), Offset (0x04), Offset (0x06), Offset (0x08), TRP1, 8, Offset (0x0A), Offset (0x0B), Offset (0x0C), Offset (0x0D), Offset (0x0E), Offset (0x0F), Offset (0x10) } OperationRegion (PMIO, SystemIO, 0x1000, 0x80) Field (PMIO, ByteAcc, NoLock, Preserve) { Offset (0x42), , 1, GPEC, 1, Offset (0x64), , 9, SCIS, 1, Offset (0x66) } OperationRegion (GPIO, SystemIO, 0x1180, 0x3C) Field (GPIO, ByteAcc, NoLock, Preserve) { GU00, 8, GU01, 8, GU02, 8, GU03, 8, GIO0, 8, GIO1, 8, GIO2, 8, GIO3, 8, Offset (0x0C), GL00, 8, GL01, 8, GL02, 8, , 3, GP27, 1, GP28, 1, Offset (0x10), Offset (0x18), GB00, 8, GB01, 8, GB02, 8, GB03, 8, Offset (0x2C), GIV0, 8, GIV1, 8, GIV2, 8, GIV3, 8, GU04, 8, GU05, 8, GU06, 8, GU07, 8, GIO4, 8, GIO5, 8, GIO6, 8, GIO7, 8, , 2, GP34, 1, , 2, GP37, 1, Offset (0x39), GL05, 8, GL06, 8, GL07, 8 } 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, HDAD, 1, Offset (0x341A), RP1D, 1, RP2D, 1, RP3D, 1, RP4D, 1, RP5D, 1, RP6D, 1 } Name (_S0, Package (0x03) { Zero, Zero, Zero }) Name (_S3, Package (0x03) { 0x05, 0x05, Zero }) Name (_S4, Package (0x03) { 0x06, 0x06, Zero }) Name (_S5, Package (0x03) { 0x07, 0x07, Zero }) Method (GETP, 1, Serialized) { If (LEqual (And (Arg0, 0x09), Zero)) { 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, Zero) If (Arg0) { Or (TMPF, One, 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 (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x2301) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, One))) { Return (0x2101) } } Return (0x1001) } } Method (SDMA, 1, Serialized) { If (LNot (LGreater (Arg0, 0x14))) { Return (One) } If (LNot (LGreater (Arg0, 0x1E))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x2D))) { Return (One) } If (LNot (LGreater (Arg0, 0x3C))) { Return (0x02) } If (LNot (LGreater (Arg0, 0x5A))) { Return (One) } Return (Zero) } Method (SETT, 3, Serialized) { If (And (Arg1, 0x02)) { If (LAnd (LNot (LGreater (Arg0, 0x78)), And (Arg2, 0x02))) { Return (0x0B) } If (LAnd (LNot (LGreater (Arg0, 0xB4)), And (Arg2, One))) { Return (0x09) } } Return (0x04) } } Device (HDEF) { Name (_ADR, 0x001B0000) OperationRegion (HDAR, PCI_Config, 0x4C, 0x10) Field (HDAR, WordAcc, NoLock, Preserve) { DCKA, 1, Offset (0x01), DCKM, 1, , 6, DCKS, 1, Offset (0x08), , 15, PMES, 1 } Name (_PRW, Package (0x02) { 0x0D, 0x04 }) } Device (RP01) { Name (_ADR, 0x001C0000) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKD, Zero } }) } } } Device (RP02) { Name (_ADR, 0x001C0001) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKA, Zero } }) } } } Device (RP03) { Name (_ADR, 0x001C0002) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKB, Zero } }) } } } Device (RP04) { Name (_ADR, 0x001C0003) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKD, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKC, Zero } }) } } } Device (RP05) { Name (_ADR, 0x001C0004) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKA, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKD, Zero } }) } } } Device (RP06) { Name (_ADR, 0x001C0005) OperationRegion (PXCS, PCI_Config, 0x40, 0xC0) Field (PXCS, AnyAcc, NoLock, WriteAsZeros) { Offset (0x12), , 13, LASX, 1, Offset (0x1A), ABPX, 1, , 2, PDCX, 1, , 2, PDSX, 1, Offset (0x1B), LSCX, 1, Offset (0x20), Offset (0x22), PSPX, 1, Offset (0x9C), , 30, HPSX, 1, PMSX, 1 } Device (PXSX) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (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 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, Zero, ^^LPCB.LNKB, Zero }, Package (0x04) { 0xFFFF, One, ^^LPCB.LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, ^^LPCB.LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, ^^LPCB.LNKA, Zero } }) } } } Device (USB1) { Name (_ADR, 0x001D0000) OperationRegion (U1CS, PCI_Config, 0xC4, 0x04) Field (U1CS, DWordAcc, NoLock, Preserve) { U1EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U1EN) } Else { Store (Zero, U1EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB2) { Name (_ADR, 0x001D0001) OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) Field (U2CS, DWordAcc, NoLock, Preserve) { U2EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U2EN) } Else { Store (Zero, U2EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB3) { Name (_ADR, 0x001D0002) OperationRegion (U2CS, PCI_Config, 0xC4, 0x04) Field (U2CS, DWordAcc, NoLock, Preserve) { U3EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U3EN) } Else { Store (Zero, U3EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB4) { Name (_ADR, 0x001A0000) OperationRegion (U4CS, PCI_Config, 0xC4, 0x04) Field (U4CS, DWordAcc, NoLock, Preserve) { U4EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U4EN) } Else { Store (Zero, U4EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (USB5) { Name (_ADR, 0x001A0001) OperationRegion (U5CS, PCI_Config, 0xC4, 0x04) Field (U5CS, DWordAcc, NoLock, Preserve) { U5EN, 2 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, U5EN) } Else { Store (Zero, U5EN) } } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (EHC1) { Name (_ADR, 0x001D0007) OperationRegion (U7CS, PCI_Config, 0x54, 0x04) Field (U7CS, DWordAcc, NoLock, Preserve) { , 15, PMES, 1 } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (EHC2) { Name (_ADR, 0x001A0007) OperationRegion (UFCS, PCI_Config, 0x54, 0x04) Field (UFCS, DWordAcc, NoLock, Preserve) { , 15, PMES, 1 } Method (_S3D, 0, NotSerialized) { Return (0x02) } Method (_S4D, 0, NotSerialized) { Return (0x02) } } Device (PCIB) { Name (_ADR, 0x001E0000) Device (CDB0) { Name (_ADR, 0x00090000) OperationRegion (CBD0, PCI_Config, Zero, 0xF0) Field (CBD0, AnyAcc, NoLock, Preserve) { Offset (0x3C), CD3C, 8, Offset (0x44), CD44, 32, Offset (0xE0), PWST, 8, PMES, 8 } Method (_INI, 0, NotSerialized) { Or (CD3C, 0xFF, CD3C) Store (Zero, CD44) } Method (_PS0, 0, NotSerialized) { And (PWST, 0xFC, PWST) } Method (_PS3, 0, NotSerialized) { Or (PWST, 0x03, PWST) } } Device (SDHC) { Name (_ADR, 0x00090001) OperationRegion (SDHC, PCI_Config, Zero, 0xF0) Field (SDHC, AnyAcc, NoLock, Preserve) { Offset (0x3C), SD3C, 8, Offset (0x84), SD84, 8 } Method (_INI, 0, NotSerialized) { Or (SD3C, 0xFF, SD3C) } Method (_PS0, 0, NotSerialized) { And (SD84, 0xFC, SD84) } Method (_PS3, 0, NotSerialized) { Or (SD84, 0x03, SD84) } } Device (MMHC) { Name (_ADR, 0x00090002) OperationRegion (MMHC, PCI_Config, Zero, 0xF0) Field (MMHC, AnyAcc, NoLock, Preserve) { Offset (0x3C), MM3C, 8, Offset (0x84), MM84, 8 } Method (_INI, 0, NotSerialized) { Or (MM3C, 0xFF, MM3C) } Method (_PS0, 0, NotSerialized) { And (MM84, 0xFC, MM84) } Method (_PS3, 0, NotSerialized) { Or (MM84, 0x03, MM84) } } Device (MSHC) { Name (_ADR, 0x00090003) OperationRegion (MSHC, PCI_Config, Zero, 0xF0) Field (MSHC, AnyAcc, NoLock, Preserve) { Offset (0x3C), MS3C, 8, Offset (0x84), MS84, 8 } Method (_INI, 0, NotSerialized) { Or (MS3C, 0xFF, MS3C) } Method (_PS0, 0, NotSerialized) { And (MS84, 0xFC, MS84) } Method (_PS3, 0, NotSerialized) { Or (MS84, 0x03, MS84) } } Device (XDHC) { Name (_ADR, 0x00090004) OperationRegion (XDHC, PCI_Config, Zero, 0xF0) Field (XDHC, AnyAcc, NoLock, Preserve) { Offset (0x3C), XD3C, 8, Offset (0x84), XD84, 8 } Method (_INI, 0, NotSerialized) { Or (XD3C, 0xFF, XD3C) } Method (_PS0, 0, NotSerialized) { And (XD84, 0xFC, XD84) } Method (_PS3, 0, NotSerialized) { Or (XD84, 0x03, XD84) } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x03) { Package (0x04) { 0x0009FFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x0009FFFF, One, Zero, 0x11 }, Package (0x04) { 0x0009FFFF, 0x02, Zero, 0x12 } }) } Else { Return (Package (0x03) { Package (0x04) { 0x0009FFFF, Zero, ^^LPCB.LNKA, Zero }, Package (0x04) { 0x0009FFFF, One, ^^LPCB.LNKB, Zero }, Package (0x04) { 0x0009FFFF, 0x02, ^^LPCB.LNKC, Zero } }) } } } Device (LPCB) { Name (_ADR, 0x001F0000) OperationRegion (LPC0, PCI_Config, 0x40, 0xC0) Field (LPC0, AnyAcc, NoLock, Preserve) { 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, IOD2, 8, IOD3, 8, Offset (0x4C), G3BA, 16, G3AR, 16, Offset (0xB0), RAEN, 1, , 13, RCBA, 18 } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, One) Method (_DIS, 0, Serialized) { Store (0x80, PARC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) Method (_CRS, 0, Serialized) { Name (RTLA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLA, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PARC, 0x0F), IRQ0) Return (RTLA) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PARC) } Method (_STA, 0, Serialized) { If (And (PARC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_DIS, 0, Serialized) { Store (0x80, PBRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Method (_CRS, 0, Serialized) { Name (RTLB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLB, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PBRC, 0x0F), IRQ0) Return (RTLB) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PBRC) } Method (_STA, 0, Serialized) { If (And (PBRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_DIS, 0, Serialized) { Store (0x80, PCRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {10} }) Method (_CRS, 0, Serialized) { Name (RTLC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLC, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PCRC, 0x0F), IRQ0) Return (RTLC) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PCRC) } Method (_STA, 0, Serialized) { If (And (PCRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_DIS, 0, Serialized) { Store (0x80, PDRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Method (_CRS, 0, Serialized) { Name (RTLD, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLD, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PDRC, 0x0F), IRQ0) Return (RTLD) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PDRC) } Method (_STA, 0, Serialized) { If (And (PDRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_DIS, 0, Serialized) { Store (0x80, PERC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) Method (_CRS, 0, Serialized) { Name (RTLE, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLE, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PERC, 0x0F), IRQ0) Return (RTLE) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PERC) } Method (_STA, 0, Serialized) { If (And (PERC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_DIS, 0, Serialized) { Store (0x80, PFRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {10} }) Method (_CRS, 0, Serialized) { Name (RTLF, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLF, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PFRC, 0x0F), IRQ0) Return (RTLF) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PFRC) } Method (_STA, 0, Serialized) { If (And (PFRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_DIS, 0, Serialized) { Store (0x80, PGRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Method (_CRS, 0, Serialized) { Name (RTLG, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLG, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PGRC, 0x0F), IRQ0) Return (RTLG) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PGRC) } Method (_STA, 0, Serialized) { If (And (PGRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_DIS, 0, Serialized) { Store (0x80, PHRC) } Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Method (_CRS, 0, Serialized) { Name (RTLH, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RTLH, One, IRQ0) Store (Zero, IRQ0) ShiftLeft (One, And (PHRC, 0x0F), IRQ0) Return (RTLH) } Method (_SRS, 1, Serialized) { CreateWordField (Arg0, One, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PHRC) } Method (_STA, 0, Serialized) { If (And (PHRC, 0x80)) { Return (0x09) } Else { Return (0x0B) } } } Device (H_EC) { Name (_HID, EisaId ("PNP0C09")) Name (_UID, One) Method (_CRS, 0, NotSerialized) { Name (BFFR, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x00, 0x01) IO (Decode16, 0x0066, 0x0066, 0x00, 0x01) }) Return (BFFR) } OperationRegion (ECR, EmbeddedControl, Zero, 0xFF) Field (ECR, ByteAcc, Lock, Preserve) { Offset (0x18), SPTR, 8, SSTS, 8, SADR, 8, SCMD, 8, SBFR, 256, SCNT, 8, Offset (0x80), B1EX, 1, , 1, ACEX, 1, Offset (0x81), SWBE, 1, DCBE, 1, Offset (0x82), WLST, 1, Offset (0x83), LIDS, 1, Offset (0x84), B1ST, 8, Offset (0x86), BRIT, 8, Offset (0xA0), B1RP, 16, B1RA, 16, B1PR, 16, B1VO, 16, Offset (0xB0), B1DA, 16, B1DF, 16, B1DV, 16, B1DL, 16, Offset (0xC0), CTMP, 8, Offset (0xC7), TIST, 8, Offset (0xD0), B1TI, 16, B1SE, 16, B1CR, 16, B1TM, 16 } Device (MBTN) { Name (_HID, EisaId ("PNP0C32")) Name (_UID, One) Method (_STA, 0, NotSerialized) { If (LEqual (OSYS, 0x07D6)) { Return (0x0F) } Else { Return (Zero) } } Method (GHID, 0, NotSerialized) { If (DMED) { Notify (MBTN, 0x02) } Return (Buffer (One) { 0x01 }) } } Method (_REG, 2, NotSerialized) { If (LAnd (LEqual (Arg0, 0x03), LEqual (Arg1, One))) { Store (One, ECON) Store (ACEX, PWRS) } } Name (_GPE, 0x17) Method (_Q51, 0, NotSerialized) { Store (One, PWRS) Notify (ADP1, 0x80) Store (0x2B, SMIF) Store (Zero, TRP0) If (LNot (LLess (OSYS, 0x07D1))) { CCRN () } } Method (_Q52, 0, NotSerialized) { Store (Zero, PWRS) Notify (ADP1, 0x80) Store (0x2B, SMIF) Store (Zero, TRP0) If (LNot (LLess (OSYS, 0x07D1))) { CCRN () } } Method (_Q53, 0, NotSerialized) { Notify (BAT1, 0x80) Notify (BAT1, 0x81) } Method (_Q54, 0, NotSerialized) { Notify (BAT1, 0x80) Notify (BAT1, 0x81) } Method (_Q57, 0, NotSerialized) { } Method (_Q58, 0, NotSerialized) { } Method (_Q5B, 0, NotSerialized) { Notify (SLPB, 0x80) } Method (_Q5C, 0, NotSerialized) { SECS (0x86) } Method (_Q5D, 0, NotSerialized) { } Method (_Q5E, 0, NotSerialized) { Store (LIDS, \LIDS) Notify (LID0, 0x80) } Method (_Q5F, 0, NotSerialized) { Store (LIDS, \LIDS) Notify (LID0, 0x80) } Method (_Q60, 0, NotSerialized) { If (LEqual (B1EX, One)) { Notify (BAT1, 0x80) } } Method (_Q61, 0, NotSerialized) { If (LEqual (B1EX, One)) { Notify (BAT1, 0x80) } } Method (_Q63, 0, NotSerialized) { If (LAnd (LNot (LLess (OSYS, 0x07D6)), VDRV)) { SECS (0x88) Notify (^^^PEGP.NVID.LCD, 0x87) } Else { SECS (0x88) } } Method (_Q64, 0, NotSerialized) { If (LAnd (LNot (LLess (OSYS, 0x07D6)), VDRV)) { SECS (0x89) Notify (^^^PEGP.NVID.LCD, 0x86) } Else { SECS (0x89) } } Method (_Q65, 0, NotSerialized) { Notify (\_TZ.TZ00, 0x80) } Method (_Q66, 0, NotSerialized) { If (LEqual (B1EX, One)) { Notify (BAT1, 0x80) } } Method (_Q68, 0, NotSerialized) { SECS (0x8A) } Method (_Q69, 0, NotSerialized) { SECS (0x8B) } Method (_Q6A, 0, NotSerialized) { } Method (_Q6B, 0, NotSerialized) { } Method (_Q6F, 0, NotSerialized) { If (LEqual (GSCI, One)) { Store (DIAG, Local1) If (Local1) { Store (Zero, TZON) CPRN () } Else { Store (TIST, Local0) Store (Local0, TZON) CPRN () } } Else { If (LEqual (GSCI, 0x02)) { CPRN () } Else { If (LEqual (GSCI, 0x03)) { If (MPEN) { Store (0x04, GSCI) } If (LNot (LLess (RCNT, One))) { If (LLess (RCST, CCST)) { CCRN () } Else { Store (Zero, GSCI) } } Else { CCRN () } } Else { If (LEqual (GSCI, Zero)) { CCRN () } } } } } Method (_Q70, 0, NotSerialized) { Notify (MBTN, 0x80) } Method (_Q71, 0, NotSerialized) { SECS (0xAA) } Method (_Q72, 0, NotSerialized) { SECS (0x87) } Method (_Q73, 0, NotSerialized) { Store (One, GSCI) If (LNot (LGreater (TIST, 0x02))) { Store (TIST, Local0) Store (Local0, TZON) Store (DIAG, Local1) If (Local1) { Sleep (0x64) } Else { CPRN () } } Else { Store (Zero, TZON) CPRN () } } Method (_Q74, 0, NotSerialized) { SECS (0x8C) } Method (_Q75, 0, NotSerialized) { SECS (0x8D) } Method (_Q76, 0, NotSerialized) { SECS (0x94) } Method (_Q77, 0, NotSerialized) { SECS (0x95) } Method (_Q78, 0, NotSerialized) { } Method (_Q79, 0, NotSerialized) { SECS (0x8E) } Method (_Q7A, 0, NotSerialized) { SECS (0x8F) } Method (_Q7B, 0, NotSerialized) { SECS (0x90) } Method (_Q7C, 0, NotSerialized) { SECS (0x91) } Method (_Q7D, 0, NotSerialized) { SECS (0x92) } Method (_Q7E, 0, NotSerialized) { SECS (0x93) } Method (_Q7F, 0, NotSerialized) { Notify (ADP1, 0x80) } } Scope (\_SB) { Device (ADP1) { Name (_HID, "ACPI0003") Method (_PSR, 0, NotSerialized) { If (LEqual (ECON, Zero)) { Store (SECB (0x85, 0x02), Local0) } Else { Store (^^PCI0.LPCB.H_EC.ACEX, Local0) } Return (Local0) } Method (_PCL, 0, NotSerialized) { Return (_SB) } Method (_STA, 0, NotSerialized) { If (LEqual (ECON, Zero)) { Store (0x0F, Local0) } Else { If (LEqual (^^PCI0.LPCB.H_EC.ACEX, Zero)) { Store (0x1F, Local0) } Else { Store (0x0F, Local0) } } Return (Local0) } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, One) Name (BATI, Package (0x0D) { One, 0xFFFFFFFF, 0xFFFFFFFF, One, 0xFFFFFFFF, 0x03, 0x0A, One, One, "Unknown", "Unknown", "Unknown", "Unknown" }) Method (_BIF, 0, NotSerialized) { If (LEqual (ECON, Zero)) { Store (SECW (0x82, 0xB0, Zero), Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (BATI, One)) } Else { Store (Local0, Index (BATI, One)) } Store (SECW (0x82, 0xB2, Zero), Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (BATI, 0x02)) } Else { Store (Local0, Index (BATI, 0x02)) } Store (SECW (0x82, 0xB4, Zero), Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (BATI, 0x04)) } Else { Store (Local0, Index (BATI, 0x04)) } Store (Zero, Index (BATI, 0x05)) Store (SECW (0x82, 0xB6, Zero), Local0) If (LEqual (Local0, 0xFFFF)) { Store (Zero, Index (BATI, 0x06)) } Else { Store (Local0, Index (BATI, 0x06)) } } Else { Store (^^PCI0.LPCB.H_EC.B1DA, Local0) ShiftLeft (Local0, 0x08, Local1) And (Local1, 0xFF00, Local1) ShiftRight (Local0, 0x08, Local0) Or (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (BATI, One)) } Else { Store (Local0, Index (BATI, One)) } Store (^^PCI0.LPCB.H_EC.B1DF, Local0) ShiftLeft (Local0, 0x08, Local1) And (Local1, 0xFF00, Local1) ShiftRight (Local0, 0x08, Local0) Or (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (BATI, 0x02)) } Else { Store (Local0, Index (BATI, 0x02)) } Store (^^PCI0.LPCB.H_EC.B1DV, Local0) ShiftLeft (Local0, 0x08, Local1) And (Local1, 0xFF00, Local1) ShiftRight (Local0, 0x08, Local0) Or (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (BATI, 0x04)) } Else { Store (Local0, Index (BATI, 0x04)) } Store (Zero, Index (BATI, 0x05)) Store (^^PCI0.LPCB.H_EC.B1DL, Local0) ShiftLeft (Local0, 0x08, Local1) And (Local1, 0xFF00, Local1) ShiftRight (Local0, 0x08, Local0) Or (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (BATI, 0x06)) } Else { Store (Local0, Index (BATI, 0x06)) } } Store ("", Index (BATI, 0x09)) Store ("", Index (BATI, 0x0A)) Store ("LION", Index (BATI, 0x0B)) Store ("SAMSUNG Electronics", Index (BATI, 0x0C)) Return (BATI) } Name (STAT, Package (0x04) { Zero, Zero, Zero, Zero }) Method (_BST, 0, NotSerialized) { If (LEqual (ECON, Zero)) { Store (SECB (0x81, 0x84), Local0) If (LAnd (LNot (LEqual (Local0, Zero)), LNot (LEqual (Local0, 0x05)))) { If (LEqual (PWRS, One)) { Store (0x02, Local0) } Else { Store (One, Local0) } } Store (Local0, Index (STAT, Zero)) Store (SECW (0x82, 0xA4, Zero), Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (STAT, One)) } Else { If (LNot (LLess (Local0, 0x8000))) { XOr (Local0, 0xFFFF, Local0) Increment (Local0) } Store (Local0, Index (STAT, One)) } Store (SECW (0x82, 0xA2, Zero), Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (STAT, 0x02)) } Else { Store (Local0, Index (STAT, 0x02)) } Store (SECW (0x82, 0xA6, Zero), Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (STAT, 0x03)) } Else { Store (Local0, Index (STAT, 0x03)) } } Else { Store (^^PCI0.LPCB.H_EC.B1ST, Local0) If (LAnd (LNot (LEqual (Local0, Zero)), LNot (LEqual (Local0, 0x05)))) { If (LEqual (PWRS, One)) { Store (0x02, Local0) } Else { Store (One, Local0) } } Store (Local0, Index (STAT, Zero)) Store (^^PCI0.LPCB.H_EC.B1PR, Local0) ShiftLeft (Local0, 0x08, Local1) And (Local1, 0xFF00, Local1) ShiftRight (Local0, 0x08, Local0) Or (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (STAT, One)) } Else { If (LNot (LLess (Local0, 0x8000))) { XOr (Local0, 0xFFFF, Local0) Increment (Local0) } Store (Local0, Index (STAT, One)) } Store (^^PCI0.LPCB.H_EC.B1RA, Local0) ShiftLeft (Local0, 0x08, Local1) And (Local1, 0xFF00, Local1) ShiftRight (Local0, 0x08, Local0) Or (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (STAT, 0x02)) } Else { Store (Local0, Index (STAT, 0x02)) } Store (^^PCI0.LPCB.H_EC.B1VO, Local0) ShiftLeft (Local0, 0x08, Local1) And (Local1, 0xFF00, Local1) ShiftRight (Local0, 0x08, Local0) Or (Local0, Local1, Local0) If (LEqual (Local0, 0xFFFF)) { Store (0xFFFFFFFF, Index (STAT, 0x03)) } Else { Store (Local0, Index (STAT, 0x03)) } } Return (STAT) } Method (_STA, 0, NotSerialized) { If (LEqual (ECON, Zero)) { If (LEqual (SECB (0x85, Zero), One)) { Store (0x1F, Local0) } Else { Store (0x0F, Local0) } } Else { If (LEqual (^^PCI0.LPCB.H_EC.B1EX, One)) { Store (0x1F, Local0) } Else { Store (0x0F, Local0) } } Return (Local0) } Method (_PCL, 0, NotSerialized) { Return (_SB) } } Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (LIDS) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_PRW, Package (0x02) { 0x18, 0x04 }) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) } } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x20) IO (Decode16, 0x0081, 0x0081, 0x01, 0x11) IO (Decode16, 0x0093, 0x0093, 0x01, 0x0D) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) DMA (Compatibility, NotBusMaster, Transfer8_16) {4} }) } Device (FWHD) { Name (_HID, EisaId ("INT0800")) Name (_CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFF000000, 0x01000000) }) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (_CID, 0x010CD041) Name (BUF0, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, 0x00000400) }) Method (_STA, 0, NotSerialized) { If (LNot (LLess (OSYS, 0x07D1))) { If (HPAE) { Return (0x0F) } } Else { If (HPAE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, Serialized) { If (HPAE) { CreateDWordField (BUF0, 0x04, HPT0) If (LEqual (HPAS, One)) { 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")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) IO (Decode16, 0x0024, 0x0024, 0x01, 0x02) IO (Decode16, 0x0028, 0x0028, 0x01, 0x02) IO (Decode16, 0x002C, 0x002C, 0x01, 0x02) IO (Decode16, 0x0030, 0x0030, 0x01, 0x02) IO (Decode16, 0x0034, 0x0034, 0x01, 0x02) IO (Decode16, 0x0038, 0x0038, 0x01, 0x02) IO (Decode16, 0x003C, 0x003C, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IO (Decode16, 0x00A4, 0x00A4, 0x01, 0x02) IO (Decode16, 0x00A8, 0x00A8, 0x01, 0x02) IO (Decode16, 0x00AC, 0x00AC, 0x01, 0x02) IO (Decode16, 0x00B0, 0x00B0, 0x01, 0x02) IO (Decode16, 0x00B4, 0x00B4, 0x01, 0x02) IO (Decode16, 0x00B8, 0x00B8, 0x01, 0x02) IO (Decode16, 0x00BC, 0x00BC, 0x01, 0x02) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IRQNoFlags () {2} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x01) IRQNoFlags () {13} }) } Device (LDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, 0x002E, 0x01, 0x02) IO (Decode16, 0x004E, 0x004E, 0x01, 0x02) IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) IO (Decode16, 0x0063, 0x0063, 0x01, 0x01) IO (Decode16, 0x0065, 0x0065, 0x01, 0x01) IO (Decode16, 0x0067, 0x0067, 0x01, 0x01) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x0092, 0x0092, 0x01, 0x01) IO (Decode16, 0x00B2, 0x00B2, 0x01, 0x02) IO (Decode16, 0x0680, 0x0680, 0x01, 0x20) IO (Decode16, 0x06B0, 0x06B0, 0x01, 0x50) IO (Decode16, 0x0800, 0x0800, 0x01, 0x10) IO (Decode16, 0x0900, 0x0900, 0x01, 0x10) IO (Decode16, 0x1000, 0x1000, 0x01, 0x80) IO (Decode16, 0x1180, 0x1180, 0x01, 0x40) IO (Decode16, 0x1640, 0x1640, 0x01, 0x10) IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x01) }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x08) IRQNoFlags () {8} }) } Device (TIMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IO (Decode16, 0x0050, 0x0050, 0x10, 0x04) IRQNoFlags () {0} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQ (Edge, ActiveHigh, Exclusive) {1} }) } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive) {12} }) } } Device (PATA) { Name (_ADR, 0x001F0001) 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, Zero) Method (_GTM, 0, NotSerialized) { Name (PBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (PBUF, Zero, 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, One), And (ICR3, One), And (ICR0, One), SDT0, And (ICR1, One)), 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, One), 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) { CreateDWordField (Arg0, Zero, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) If (LEqual (SizeOf (Arg1), 0x0200)) { And (PRIT, 0xC0F0, PRIT) And (SYNC, 0x02, SYNC) Store (Zero, 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) 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, One)) { Or (SYNC, One, SYNC) Store (SDMA (DMA0), SDT0) If (LLess (DMA0, 0x1E)) { Or (ICR3, One, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, One, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, One, ICR1) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0xBF0F, PRIT) Store (Zero, PSIT) And (SYNC, One, SYNC) Store (Zero, SDT1) And (ICR0, One, ICR0) And (ICR1, One, ICR1) And (ICR3, One, ICR3) And (ICR5, One, 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) } } } } Device (P_D0) { Name (_ADR, Zero) Method (_GTF, 0, NotSerialized) { Name (PIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, One, PMD0) CreateByteField (PIB0, 0x08, DMD0) 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 (One, PMD0) } If (And (SYNC, One)) { Store (Or (SDT0, 0x40), DMD0) If (And (ICR1, One)) { If (And (ICR0, One)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, One)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (PIB0) } } Device (P_D1) { Name (_ADR, One) Method (_GTF, 0, NotSerialized) { Name (PIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (PIB1, One, 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 (One, 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) } Return (PIB1) } } } } Device (SATA) { Name (_ADR, 0x001F0002) OperationRegion (SACS, PCI_Config, 0x40, 0xC0) Field (SACS, DWordAcc, NoLock, Preserve) { PRIT, 16, SECT, 16, PSIT, 4, SSIT, 4, Offset (0x08), SYNC, 4, Offset (0x0A), SDT0, 2, , 2, SDT1, 2, Offset (0x0B), SDT2, 2, , 2, SDT3, 2, Offset (0x14), ICR0, 4, ICR1, 4, ICR2, 4, ICR3, 4, ICR4, 4, ICR5, 4, Offset (0x50), MAPV, 2 } } Device (SBUS) { Name (_ADR, 0x001F0003) OperationRegion (SMBP, PCI_Config, 0x40, 0xC0) Field (SMBP, DWordAcc, NoLock, Preserve) { , 2, I2CE, 1 } OperationRegion (SMBI, SystemIO, 0x1C00, 0x10) Field (SMBI, ByteAcc, NoLock, Preserve) { HSTS, 8, Offset (0x02), HCON, 8, HCOM, 8, TXSA, 8, DAT0, 8, DAT1, 8, HBDR, 8, PECR, 8, RXSA, 8, SDAT, 16 } Method (SSXB, 2, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRXB, 1, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (0x44, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRB, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (Arg2, DAT0) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDB, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x48, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (DAT0) } Return (0xFFFF) } Method (SWRW, 3, Serialized) { If (STRT ()) { Return (Zero) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) And (Arg2, 0xFF, DAT0) And (ShiftRight (Arg2, 0x08), 0xFF, DAT1) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SRDW, 2, Serialized) { If (STRT ()) { Return (0xFFFF) } Store (Zero, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x4C, HCON) If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (Or (ShiftLeft (DAT1, 0x08), DAT0)) } Return (0xFFFFFFFF) } Method (SBLW, 4, Serialized) { If (STRT ()) { Return (Zero) } Store (Arg3, I2CE) Store (0xBF, HSTS) Store (Arg0, TXSA) Store (Arg1, HCOM) Store (SizeOf (Arg2), DAT0) Store (Zero, Local1) Store (DerefOf (Index (Arg2, Zero)), HBDR) Store (0x54, HCON) While (LGreater (SizeOf (Arg2), Local1)) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (0x80, HSTS) Increment (Local1) If (LGreater (SizeOf (Arg2), Local1)) { Store (DerefOf (Index (Arg2, Local1)), HBDR) } } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (One) } Return (Zero) } Method (SBLR, 3, Serialized) { Name (TBUF, Buffer (0x0100) {}) If (STRT ()) { Return (Zero) } Store (Arg2, I2CE) Store (0xBF, HSTS) Store (Or (Arg0, One), TXSA) Store (Arg1, HCOM) Store (0x54, HCON) Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (DAT0, Index (TBUF, Zero)) Store (0x80, HSTS) Store (One, Local1) While (LLess (Local1, DerefOf (Index (TBUF, Zero)))) { Store (0x0FA0, Local0) While (LAnd (LNot (And (HSTS, 0x80)), Local0)) { Decrement (Local0) Stall (0x32) } If (LNot (Local0)) { KILL () Return (Zero) } Store (HBDR, Index (TBUF, Local1)) Store (0x80, HSTS) Increment (Local1) } If (COMP ()) { Or (HSTS, 0xFF, HSTS) Return (TBUF) } Return (Zero) } Method (STRT, 0, Serialized) { Store (0xC8, Local0) While (Local0) { If (And (HSTS, 0x40)) { Decrement (Local0) Sleep (One) If (LEqual (Local0, Zero)) { Return (One) } } Else { Store (Zero, Local0) } } Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, One)) { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } Else { Return (Zero) } } Return (One) } Method (COMP, 0, Serialized) { Store (0x0FA0, Local0) While (Local0) { If (And (HSTS, 0x02)) { Return (One) } Else { Decrement (Local0) Stall (0x32) If (LEqual (Local0, Zero)) { KILL () } } } Return (Zero) } Method (KILL, 0, Serialized) { Or (HCON, 0x02, HCON) Or (HSTS, 0xFF, HSTS) } } } } Scope (\_SB.PCI0.SATA) { Device (PRID) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Name (PBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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) Return (PBUF) } Method (_STM, 3, NotSerialized) { 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, 0xC0F0, PRIT) And (SYNC, 0x0E, SYNC) Store (0x00, SDT0) And (ICR0, 0x0E, ICR0) And (ICR1, 0x0E, ICR1) And (ICR3, 0x0E, ICR3) And (ICR5, 0x0E, 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) 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) } Or (ICR1, 0x01, ICR1) } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (PRIT, 0xBF0F, PRIT) Store (0x00, PSIT) And (SYNC, 0x0D, SYNC) Store (0x00, SDT1) And (ICR0, 0x0D, ICR0) And (ICR1, 0x0D, ICR1) And (ICR3, 0x0D, ICR3) And (ICR5, 0x0D, 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) } Or (ICR1, 0x02, ICR1) } } } Device (P_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (PIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (PIB0, 0x01, PMD0) CreateByteField (PIB0, 0x08, DMD0) 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) } Return (PIB0) } } Device (P_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (PIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) 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) } Return (PIB1) } } } } Scope (\_SB.PCI0.SATA) { Device (SECD) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Name (SBUF, Buffer (0x14) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (SBUF, 0x00, PIO0) CreateDWordField (SBUF, 0x04, DMA0) CreateDWordField (SBUF, 0x08, PIO1) CreateDWordField (SBUF, 0x0C, DMA1) CreateDWordField (SBUF, 0x10, FLAG) Store (GETP (SECT), PIO0) Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04), And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) If (LEqual (DMA0, 0xFFFFFFFF)) { Store (PIO0, DMA0) } If (And (SECT, 0x4000)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x0384, PIO1) } Else { Store (GETT (SSIT), PIO1) } } Else { Store (0xFFFFFFFF, PIO1) } Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08), And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) If (LEqual (DMA1, 0xFFFFFFFF)) { Store (PIO1, DMA1) } Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08), SECT), FLAG) If (And (LEqual (PIO0, 0xFFFFFFFF), LEqual (DMA0, 0xFFFFFFFF))) { Store (0x78, PIO0) Store (0x14, DMA0) Store (0x03, FLAG) } Return (SBUF) } Method (_STM, 3, NotSerialized) { 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 (SECT, 0xC0F0, SECT) And (SYNC, 0x0B, SYNC) Store (0x00, SDT2) And (ICR0, 0x0B, ICR0) And (ICR1, 0x0B, ICR1) And (ICR3, 0x0B, ICR3) And (ICR5, 0x0B, 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) Or (SECT, 0x8004, SECT) If (LAnd (And (FLAG, 0x02), And (W490, 0x0800))) { Or (SECT, 0x02, SECT) } Or (SECT, SETP (PIO0, W530, W640), SECT) If (And (FLAG, 0x01)) { Or (SYNC, 0x04, SYNC) Store (SDMA (DMA0), SDT2) If (LLess (DMA0, 0x1E)) { Or (ICR3, 0x04, ICR3) } If (LLess (DMA0, 0x3C)) { Or (ICR0, 0x04, ICR0) } If (And (W930, 0x2000)) { Or (ICR1, 0x04, ICR1) } } } If (LEqual (SizeOf (Arg2), 0x0200)) { And (SECT, 0xBF0F, SECT) Store (0x00, SSIT) And (SYNC, 0x07, SYNC) Store (0x00, SDT3) And (ICR0, 0x07, ICR0) And (ICR1, 0x07, ICR1) And (ICR3, 0x07, ICR3) And (ICR5, 0x07, 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 (SECT, 0x8040, SECT) If (LAnd (And (FLAG, 0x08), And (W491, 0x0800))) { Or (SECT, 0x20, SECT) } If (And (FLAG, 0x10)) { Or (SECT, 0x4000, SECT) If (LGreater (PIO1, 0xF0)) { Or (SECT, 0x80, SECT) } Else { Or (SECT, 0x10, SECT) Store (SETT (PIO1, W531, W641), SSIT) } } If (And (FLAG, 0x04)) { Or (SYNC, 0x08, SYNC) Store (SDMA (DMA1), SDT3) If (LLess (DMA1, 0x1E)) { Or (ICR3, 0x08, ICR3) } If (LLess (DMA1, 0x3C)) { Or (ICR0, 0x08, ICR0) } If (And (W931, 0x2000)) { Or (ICR1, 0x08, ICR1) } } } } Device (S_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (SIB0, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }) CreateByteField (SIB0, 0x01, PMD0) CreateByteField (SIB0, 0x08, DMD0) If (And (SECT, 0x02)) { If (LEqual (And (SECT, 0x09), 0x08)) { Store (0x08, PMD0) } Else { Store (0x0A, PMD0) ShiftRight (And (SECT, 0x0300), 0x08, Local0) ShiftRight (And (SECT, 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, 0x04)) { Store (Or (SDT2, 0x40), DMD0) If (And (ICR1, 0x04)) { If (And (ICR0, 0x04)) { Add (DMD0, 0x02, DMD0) } If (And (ICR3, 0x04)) { Store (0x45, DMD0) } } } Else { Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) } Return (SIB0) } } Device (S_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (SIB1, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }) CreateByteField (SIB1, 0x01, PMD1) CreateByteField (SIB1, 0x08, DMD1) If (And (SECT, 0x20)) { If (LEqual (And (SECT, 0x90), 0x80)) { Store (0x08, PMD1) } Else { Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 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, 0x08)) { Store (Or (SDT3, 0x40), DMD1) If (And (ICR1, 0x08)) { If (And (ICR0, 0x08)) { Add (DMD1, 0x02, DMD1) } If (And (ICR3, 0x08)) { Store (0x45, DMD1) } } } Else { Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) } Return (SIB1) } } } } Scope (\_PR.CPU0) { Name (_TPC, 0x00) Method (_PTC, 0, NotSerialized) { If (And (PDC0, 0x04)) { Return (Package (0x02) { ResourceTemplate () { Register (FFixedHW, 0x00, 0x00, 0x0000000000000000) }, ResourceTemplate () { Register (FFixedHW, 0x00, 0x00, 0x0000000000000000) } }) } Return (Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x04, 0x01, 0x0000000000001010) }, ResourceTemplate () { Register (SystemIO, 0x04, 0x01, 0x0000000000001010) } }) } Name (TSSI, Package (0x08) { Package (0x05) { 0x64, 0x03E8, 0x00, 0x00, 0x00 }, Package (0x05) { 0x58, 0x036B, 0x00, 0x0F, 0x00 }, Package (0x05) { 0x4B, 0x02EE, 0x00, 0x0E, 0x00 }, Package (0x05) { 0x3F, 0x0271, 0x00, 0x0D, 0x00 }, Package (0x05) { 0x32, 0x01F4, 0x00, 0x0C, 0x00 }, Package (0x05) { 0x26, 0x0177, 0x00, 0x0B, 0x00 }, Package (0x05) { 0x19, 0xFA, 0x00, 0x0A, 0x00 }, Package (0x05) { 0x0D, 0x7D, 0x00, 0x09, 0x00 } }) Name (TSSM, Package (0x08) { Package (0x05) { 0x64, 0x03E8, 0x00, 0x00, 0x00 }, Package (0x05) { 0x58, 0x036B, 0x00, 0x1E, 0x00 }, Package (0x05) { 0x4B, 0x02EE, 0x00, 0x1C, 0x00 }, Package (0x05) { 0x3F, 0x0271, 0x00, 0x1A, 0x00 }, Package (0x05) { 0x32, 0x01F4, 0x00, 0x18, 0x00 }, Package (0x05) { 0x26, 0x0177, 0x00, 0x16, 0x00 }, Package (0x05) { 0x19, 0xFA, 0x00, 0x14, 0x00 }, Package (0x05) { 0x0D, 0x7D, 0x00, 0x12, 0x00 } }) Name (TSSF, 0x00) Method (_TSS, 0, NotSerialized) { If (LAnd (LNot (TSSF), CondRefOf (_PSS))) { Store (_PSS, Local0) Store (SizeOf (Local0), Local1) Decrement (Local1) Store (DerefOf (Index (DerefOf (Index (Local0, Local1)), 0x01)), Local2) Store (0x00, Local3) While (LLess (Local3, SizeOf (TSSI))) { Store (Divide (Multiply (Local2, Subtract (0x08, Local3)), 0x08, ), Local4) Store (Local4, Index (DerefOf (Index (TSSI, Local3)), 0x01)) Store (Local4, Index (DerefOf (Index (TSSM, Local3)), 0x01)) Increment (Local3) } Store (Ones, TSSF) } If (And (PDC0, 0x04)) { Return (TSSM) } Return (TSSI) } Method (_TSD, 0, NotSerialized) { If (LAnd (And (CFGD, 0x01000000), LNot (And (PDC0, 0x04)))) { Return (Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00, 0xFD, 0x02 } }) } Return (Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00, 0xFC, 0x01 } }) } } Scope (\_PR.CPU1) { Name (_TPC, 0x00) Method (_PTC, 0, NotSerialized) { Return (\_PR.CPU0._PTC ()) } Method (_TSS, 0, NotSerialized) { Return (\_PR.CPU0._TSS ()) } Method (_TSD, 0, NotSerialized) { If (LAnd (And (CFGD, 0x01000000), LNot (And (PDC1, 0x04)))) { Return (Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00, 0xFD, 0x02 } }) } Return (Package (0x01) { Package (0x05) { 0x05, 0x00, 0x01, 0xFC, 0x01 } }) } } Scope (\) { Name (SSDT, Package (0x0C) { "CPU0IST ", 0x7FED848D, 0x00000328, "CPU1IST ", 0x7FED87B5, 0x000000C8, "CPU0CST ", 0x7FED7E6D, 0x0000059B, "CPU1CST ", 0x7FED8408, 0x00000085 }) Name (CFGD, 0x113F69F7) Name (\PDC0, 0x80000000) Name (\PDC1, 0x80000000) Name (\SDTL, 0x00) } Scope (\_PR.CPU0) { Name (HI0, 0x00) Name (HC0, 0x00) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS0, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS0, TEMP, Local2) _OSC (Buffer (0x10) { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, 0x00, STS0) CreateDWordField (Arg3, 0x04, CAP0) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID0, Buffer (0x10) { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID0, 0x00, EID0) CreateDWordField (UID0, 0x04, EID1) CreateDWordField (UID0, 0x08, EID2) CreateDWordField (UID0, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, STS0) Return (Arg3) } If (LNot (LEqual (Arg1, 0x01))) { Store (0x0A, STS0) Return (Arg3) } Or (And (PDC0, 0x7FFFFFFF), CAP0, PDC0) Store (And (PDC0, 0xFF), PCP0) If (And (CFGD, 0x01)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC0, 0x09), 0x09)), LNot (And (SDTL, 0x01)))) { Or (SDTL, 0x01, SDTL) OperationRegion (IST0, SystemMemory, DerefOf (Index (SSDT, 0x01)), DerefOf (Index (SSDT, 0x02))) Load (IST0, HI0) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC0, 0x18)), LNot (And (SDTL, 0x02)))) { Or (SDTL, 0x02, SDTL) OperationRegion (CST0, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08))) Load (CST0, HC0) } } Return (Arg3) } } Scope (\_PR.CPU1) { Name (HI1, 0x00) Name (HC1, 0x00) Method (_PDC, 1, NotSerialized) { CreateDWordField (Arg0, 0x00, REVS) CreateDWordField (Arg0, 0x04, SIZE) Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Name (STS1, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Concatenate (STS1, TEMP, Local2) _OSC (Buffer (0x10) { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }, REVS, SIZE, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, 0x00, STS1) CreateDWordField (Arg3, 0x04, CAP1) CreateDWordField (Arg0, 0x00, IID0) CreateDWordField (Arg0, 0x04, IID1) CreateDWordField (Arg0, 0x08, IID2) CreateDWordField (Arg0, 0x0C, IID3) Name (UID1, Buffer (0x10) { 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53 }) CreateDWordField (UID1, 0x00, EID0) CreateDWordField (UID1, 0x04, EID1) CreateDWordField (UID1, 0x08, EID2) CreateDWordField (UID1, 0x0C, EID3) If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3))))) { Store (0x06, STS1) Return (Arg3) } If (LNot (LEqual (Arg1, 0x01))) { Store (0x0A, STS1) Return (Arg3) } Or (And (PDC1, 0x7FFFFFFF), CAP1, PDC1) Store (And (PDC1, 0xFF), PCP1) If (And (CFGD, 0x01)) { If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (PDC1, 0x09), 0x09)), LNot (And (SDTL, 0x10)))) { Or (SDTL, 0x10, SDTL) OperationRegion (IST1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05))) Load (IST1, HI1) } } If (And (CFGD, 0xF0)) { If (LAnd (LAnd (And (CFGD, 0x01000000), And (PDC1, 0x18)), LNot (And (SDTL, 0x20)))) { Or (SDTL, 0x20, SDTL) OperationRegion (CST1, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B))) Load (CST1, HC1) } } Return (Arg3) } } }