/* RSD PTR: OEM=ACRSYS, ACPI_Rev=2.0x (2) XSDT=0xbded17b1, length=36, cksum=106 */ /* XSDT: Length=92, Revision=1, Checksum=229, OEMID=ACRSYS, OEM Table ID=ACRPRDCT, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Entries={ 0xbdedb871, 0xbdedb9d9, 0xbdedbb4f, 0xbdedbe03, 0xbdedbe61, 0xbdedbe9d, 0xbdedbed5 } */ /* FACP: Length=244, Revision=3, Checksum=1, OEMID=AMD, OEM Table ID=ANT, OEM Revision=0x6040000, Creator ID=ATI, Creator Revision=0xf4240 FACS=0xbdeddfc0, DSDT=0xbded180d INT_MODEL=PIC Preferred_PM_Profile=Mobile (2) SCI_INT=9 SMI_CMD=0xb0, ACPI_ENABLE=0xf0, ACPI_DISABLE=0xf1, S4BIOS_REQ=0x0 PSTATE_CNT=0x0 PM1a_EVT_BLK=0x8000-0x8003 PM1a_CNT_BLK=0x8004-0x8005 PM2_CNT_BLK=0x8200-0x8200 PM_TMR_BLK=0x8008-0x800b GPE0_BLK=0x8020-0x8027 P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us FLUSH_SIZE=0, FLUSH_STRIDE=0 DUTY_OFFSET=1, DUTY_WIDTH=3 DAY_ALRM=13, MON_ALRM=0, CENTURY=0 IAPC_BOOT_ARCH= Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,TMR_VAL_EXT} X_FACS=0xbdeddfc0, X_DSDT=0xbded180d X_PM1a_EVT_BLK=0x8000:0[32] (IO) X_PM1a_CNT_BLK=0x8004:0[16] (IO) X_PM_TMR_BLK=0x8008:0[32] (IO) X_GPE0_BLK=0x8020:0[64] (IO) */ /* FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000 Global_Lock= Flags= Version=1 */ /* DSDT: Length=41060, Revision=1, Checksum=115, OEMID=Acer, OEM Table ID=SB700, OEM Revision=0x6040000, Creator ID=MSFT, Creator Revision=0x3000000 */ /* SLIC: Length=374, Revision=1, Checksum=158, OEMID=ACRSYS, OEM Table ID=ACRPRDCT, OEM Revision=0x6040000, Creator ID=LOHR, Creator Revision=0x0 */ /* SSDT: Length=692, Revision=1, Checksum=43, OEMID=PTLTD, OEM Table ID=POWERNOW, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 */ /* APIC: Length=94, Revision=1, Checksum=62, 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-lo, Trigger=level} */ /* MCFG: Length=60, Revision=1, Checksum=94, OEMID=PTLTD, OEM Table ID= MCFG, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x0 Base Address= 0x00000000e0000000 Segment Group= 0x0000 Start Bus= 0 End Bus= 9 */ /* HPET: Length=56, Revision=1, Checksum=154, OEMID=PTLTD, OEM Table ID=HPETTBL, OEM Revision=0x6040000, Creator ID= LTP, Creator Revision=0x1 HPET Number=2 ADDR=0xfed00000:0[8] (Memory) HW Rev=0x1 Comparitors=3 Counter Size=0 Legacy IRQ routing capable={TRUE} PCI Vendor ID=0x4353 Minimal Tick=20 */ /* ASF!: Length=299, Revision=32, Checksum=75, OEMID= DMA, OEM Table ID=AMDTBL, OEM Revision=0x6040000, Creator ID=PTL, Creator Revision=0x1 */ /* * Intel ACPI Component Architecture * AML Disassembler version 20070320 * * Disassembly of /tmp/acpidump.qHYeeN, Mon Aug 25 23:40:08 2008 * * * Original Table Header: * Signature "DSDT" * Length 0x0000A2F4 (41716) * Revision 0x01 * OEM ID "Acer" * OEM Table ID "SB700" * OEM Revision 0x06040000 (100925440) * Creator ID "MSFT" * Creator Revision 0x03000000 (50331648) */ DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "Acer", "SB700", 0x06040000) { Name (Z000, 0x01) Name (Z001, 0x02) Name (Z002, 0x04) Name (Z003, 0x08) Name (Z004, 0x00) Name (Z005, 0x0F) Name (Z006, 0x0D) Name (Z007, 0x0B) Name (Z008, 0x09) Scope (\_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} Processor (CPU1, 0x01, 0x00000000, 0x00) {} } Name (_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (_S3, Package (0x04) { 0x03, 0x03, 0x00, 0x00 }) Name (_S4, Package (0x04) { 0x04, 0x04, 0x00, 0x00 }) Name (_S5, Package (0x04) { 0x05, 0x05, 0x00, 0x00 }) Name (CRTS, 0x00) OperationRegion (\DEB2, SystemIO, 0x80, 0x02) Field (\DEB2, WordAcc, NoLock, Preserve) { P80H, 16 } OperationRegion (\PMIO, SystemIO, 0x0CD6, 0x02) Field (\PMIO, ByteAcc, NoLock, Preserve) { PIDX, 8, PDAT, 8 } OperationRegion (\P01, SystemIO, 0x8001, 0x01) Field (\P01, ByteAcc, NoLock, Preserve) { PST1, 8 } OperationRegion (MNVS, SystemMemory, 0xBDEDDE74, 0xAA55) Field (MNVS, 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, UMAS, 8, CPUS, 8, PTYP, 8, KBTP, 8, PJID, 8, SFIR, 8, SBTH, 8, EBID, 8 } Name (HTTX, 0x00) Method (_PTS, 1, NotSerialized) { If (LLessEqual (\_SB.PCI0.SMB.RVID, 0x13)) { Store (Zero, \_SB.PCI0.SMB.PWDE) } If (LEqual (Arg0, 0x05)) { Store (0x05, P80H) Store (One, \_SB.PCI0.SMB.SLPS) } If (LEqual (Arg0, 0x04)) { Store (0x04, P80H) \_SB.PCI0.LPC0.PHSS (0x0E) Store (One, \_SB.PCI0.SMB.SLPS) } If (LEqual (Arg0, 0x03)) { Store (0x03, P80H) Store (Zero, \_SB.PCI0.SMB.RSTU) Store (One, \_SB.PCI0.SMB.SLPS) } } Method (_WAK, 1, NotSerialized) { Store (0xE0, P80H) \_GPE._L1A () Store (0xE1, P80H) If (LEqual (\_SB.TPOS, 0x80)) { Store (0xE2, P80H) Store (One, \_SB.PCI0.SMB.MT3A) } Store (\_SB.PCI0.SMB.PEWS, \_SB.PCI0.SMB.PEWS) Store (One, \_SB.PCI0.SMB.HECO) Store (0xE3, P80H) Store (0x81, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (0xE4, P80H) If (LEqual (Arg0, 0x03)) { Store (0x13, P80H) If (LOr (LEqual (PJID, 0x00), LEqual (PJID, 0x02))) { Notify (\_SB.PCI0.PB9, 0x00) } Store (0x23, P80H) Store (One, \_SB.PCI0.SMB.RSTU) Store (One, \_SB.PCI0.SMB.IR9S) Store (One, \_SB.PCI0.SMB.IR9E) Store (0x33, P80H) If (LEqual (\_SB.TPOS, 0x40)) { Notify (\_SB.PWRB, 0x02) } Store (0x63, P80H) } If (LEqual (Arg0, 0x04)) { Store (0x14, P80H) \_SB.PCI0.LPC0.PHSS (0x0F) Store (0x24, P80H) If (GPIC) { Store (0x34, P80H) \_SB.PCI0.LPC0.DSPI () } Store (0x44, P80H) Notify (\_SB.PWRB, 0x02) Store (0x64, P80H) } Notify (\_SB.PCI0, 0x00) } Scope (\_SI) { Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Store ("===== SST Working =====", Debug) } If (LEqual (Arg0, 0x02)) { Store ("===== SST Waking =====", Debug) } If (LEqual (Arg0, 0x03)) { Store ("===== SST Sleeping =====", Debug) } If (LEqual (Arg0, 0x04)) { Store ("===== SST Sleeping S4 =====", Debug) } } } Scope (\_SB) { Name (LINX, 0x00) Name (OSSP, 0x00) Name (OSTB, Ones) OperationRegion (OSTY, SystemMemory, 0xBDEDDDFC, 0x00000001) Field (OSTY, AnyAcc, NoLock, Preserve) { TPOS, 8 } Method (OSTP, 0, NotSerialized) { If (LEqual (^OSTB, Ones)) { If (CondRefOf (\_OSI, Local0)) { Store (0x00, ^OSTB) Store (0x00, ^TPOS) If (\_OSI ("Windows 2001")) { Store (0x08, ^OSTB) Store (0x08, ^TPOS) } If (\_OSI ("Windows 2001.1")) { Store (0x20, ^OSTB) Store (0x20, ^TPOS) } If (\_OSI ("Windows 2001 SP1")) { Store (0x10, ^OSTB) Store (0x10, ^TPOS) } If (\_OSI ("Windows 2001 SP2")) { Store (0x11, ^OSTB) Store (0x11, ^TPOS) } If (\_OSI ("Windows 2001 SP3")) { Store (0x12, ^OSTB) Store (0x12, ^TPOS) } If (\_OSI ("Windows 2006")) { Store (0x40, ^OSTB) Store (0x40, ^TPOS) Store (0x40, OSYS) } If (\_OSI ("Windows 2006 SP1")) { Store (0x01, OSSP) Store (0x40, ^OSTB) Store (0x40, ^TPOS) } If (\_OSI ("Linux")) { Store (0x01, LINX) Store (0x80, ^OSTB) Store (0x80, ^TPOS) } } Else { If (CondRefOf (\_OS, Local0)) { If (^SEQL (\_OS, "Microsoft Windows")) { Store (0x01, ^OSTB) Store (0x01, ^TPOS) } Else { If (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, ^OSTB) Store (0x02, ^TPOS) } Else { If (^SEQL (\_OS, "Microsoft Windows NT")) { Store (0x04, ^OSTB) Store (0x04, ^TPOS) } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } Store (0xB0, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) If (LEqual (TPOS, 0x80)) { Store (One, \_SB.PCI0.SMB.MT3A) } } Return (^OSTB) } Method (OSHT, 0, NotSerialized) { \_SB.OSTP () Store (0x48, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (SEQL, 2, Serialized) { Store (SizeOf (Arg0), Local0) Store (SizeOf (Arg1), Local1) If (LNotEqual (Local0, Local1)) { Return (Zero) } Name (BUF0, Buffer (Local0) {}) Store (Arg0, BUF0) Name (BUF1, Buffer (Local0) {}) Store (Arg1, BUF1) Store (Zero, Local2) While (LLess (Local2, Local0)) { Store (DerefOf (Index (BUF0, Local2)), Local3) Store (DerefOf (Index (BUF1, Local2)), Local4) If (LNotEqual (Local3, Local4)) { Return (Zero) } Increment (Local2) } Return (One) } } Name (\GPIC, 0x00) Method (\_PIC, 1, NotSerialized) { Store (Arg0, GPIC) If (Arg0) { \_SB.PCI0.LPC0.DSPI () } } Scope (\_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (LNot (\_SB.PCI0.SMB.GM4C)) } } Device (WMID) { Name (_HID, "PNP0C14") Name (_UID, 0x00) Name (ERRD, 0x00010000) Name (BUFF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateByteField (BUFF, 0x00, BF00) CreateByteField (BUFF, 0x01, BF01) CreateByteField (BUFF, 0x02, BF02) CreateByteField (BUFF, 0x03, BF03) CreateByteField (BUFF, 0x04, BF04) Name (BUF1, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (AADS, Buffer (0x04) { 0x00 }) CreateField (AADS, 0x00, 0x04, AS00) CreateField (AADS, 0x04, 0x01, AS01) CreateField (AADS, 0x05, 0x01, AS02) CreateField (AADS, 0x10, 0x10, AS03) Name (BAEF, 0x00) Name (BADF, 0x00) Name (BADG, Package (0x0D) { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00, 0x00010000 }) Name (WLDS, 0x00) Name (WLED, 0x00) Name (BTDS, 0x00) Name (BTED, 0x00) Name (BLDS, 0x00) Name (BLED, 0x00) Name (NTDC, 0x00) Name (NTDV, 0x00) Name (WLSD, 0x0100) Name (WLSE, 0x0101) Name (BLTD, 0x0200) Name (BLTE, 0x0201) Name (LBL0, 0x0300) Name (LBL1, 0x0301) Name (LBL2, 0x0302) Name (LBL3, 0x0303) Name (LBL4, 0x0304) Name (LBL5, 0x0305) Name (LBL6, 0x0306) Name (LBL7, 0x0307) Name (LBL8, 0x0308) Name (LBL9, 0x0309) Name (LBLA, 0x030A) Name (LBLB, 0x030B) Name (LBLC, 0x030C) Name (LBLD, 0x030D) Name (LBLE, 0x030E) Name (LBLF, 0x030F) Name (VAPO, 0x0600) Name (VAPI, 0x0601) Name (CADI, 0x0401) Name (CADO, 0x0400) Name (GSEE, 0x0501) Name (GSED, 0x0502) Name (WBBO, 0x0701) Name (WBBI, 0x0700) Name (G3MD, 0x0800) Name (G3ME, 0x0801) Name (LANI, 0x0900) Name (LANO, 0x0901) Name (LDOF, 0x0A00) Name (LDON, 0x0A01) Name (BBSB, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateField (BBSB, 0x00, 0x10, BBD0) CreateField (BBSB, 0x10, 0x10, BBD1) Name (TLS0, 0x00) Name (TLS1, 0x01) Name (TLS2, 0x02) Name (TLS3, 0x03) Name (TLS4, 0x04) Name (TLS5, 0x05) Name (TLS6, 0x06) Name (TLS7, 0x07) Name (BCDS, Package (0x0D) { 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000 }) Name (BDDS, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateField (BDDS, 0x00, 0x10, BDD0) CreateField (BDDS, 0x10, 0x10, BDD1) Name (DSY0, Buffer (0x28) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (DSY1, Buffer (0x18) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (DSY2, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (DSY3, Buffer (0x18) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (DSY4, Buffer (0x10) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) Name (DSY5, Buffer (0x28) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0018 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0020 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateField (DSY0, 0x00, 0x40, DY00) CreateField (DSY0, 0x40, 0x40, DY01) CreateField (DSY0, 0x80, 0x40, DY02) CreateField (DSY0, 0xC0, 0x40, DY03) CreateField (DSY0, 0x0100, 0x40, DY04) CreateField (DSY1, 0x00, 0x40, DY10) CreateField (DSY1, 0x40, 0x40, DY11) CreateField (DSY1, 0x80, 0x40, DY12) CreateField (DSY2, 0x00, 0x40, DY20) CreateField (DSY2, 0x40, 0x10, DY21) CreateField (DSY2, 0x50, 0x10, DY22) CreateField (DSY0, 0x00, 0xC0, DSX4) Name (BEDS, Package (0x13) { 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000, 0x00010000 }) Name (WIT0, 0x00) Name (DSY6, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateField (DSY6, 0x00, 0x20, DY60) CreateField (DSY6, 0x20, 0x20, DY61) CreateField (DSY6, 0x40, 0x20, DY62) CreateField (DSY6, 0x60, 0x20, DY63) CreateField (DSY6, 0x80, 0x20, DY64) Name (WPRW, Buffer (0x14) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateField (WPRW, 0x00, 0x08, WWD0) CreateField (WPRW, 0x08, 0x08, WWD1) CreateField (WPRW, 0x10, 0x08, WWD2) CreateField (WPRW, 0x18, 0x08, WWD3) CreateField (WPRW, 0x20, 0x08, WWD4) CreateField (WPRW, 0x28, 0x20, WWD5) Name (WPCI, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) CreateField (WPCI, 0x00, 0x08, WPIR) CreateField (WPCI, 0x08, 0x03, WPIF) CreateField (WPCI, 0x0B, 0x05, WPID) CreateField (WPCI, 0x10, 0x08, WPIB) Name (BFDS, Package (0x04) { 0x02, 0x02, 0x02, 0x02 }) Name (GSTS, 0x00) Name (BFEF, 0x00) Name (BGEF, 0x00) Name (BGDS, Package (0x01) { 0x01 }) Method (AAF1, 0, NotSerialized) { Store (\_SB.PCI0.LPC0.EC0.WLEX, AS00) Store (\_SB.PCI0.LPC0.EC0.BTEX, AS01) Store (0x00, AS02) Store (0x00, AS03) } Method (Z009, 1, NotSerialized) { Store (\_SB.PCI0.LPC0.EC0.WLAT, Local0) Store (Local0, Index (BADG, 0x00)) Store (\_SB.PCI0.LPC0.EC0.BTAT, Local0) Store (Local0, Index (BADG, 0x01)) Store (\_SB.PCI0.LPC0.EC0.BRTS, Local0) Store (Local0, Index (BADG, 0x02)) Store (0x01, Local0) Store (Local0, Index (BADG, 0x07)) Store (0x00, Local0) Store (Local0, Index (BADG, 0x08)) Store (\_SB.PCI0.LPC0.EC0.LANC, Local0) Store (Local0, Index (BADG, 0x0B)) If (LOr (LEqual (PJID, 0x02), LEqual (PJID, 0x03))) { Store (ERRD, Index (BADG, 0x0B)) } Store (\_SB.PCI0.LPC0.EC0.LCDS, Local0) Store (Local0, Index (BADG, 0x0C)) } Method (Z00A, 2, NotSerialized) { Store (Arg1, BUFF) Store (Arg0, Local0) Store (BF00, Local1) Store (Local0, Debug) Store (Local1, Debug) Store (0x00, Local2) While (One) { Name (_T_0, 0x00) Store (Local1, _T_0) If (LEqual (_T_0, 0x00)) { While (One) { Name (_T_1, 0x00) Store (Local0, _T_1) If (LEqual (_T_1, 0x04)) { Store (0x00, \_SB.PCI0.LPC0.EC0.WLAT) } Else { If (LEqual (_T_1, 0x05)) { Store (0x00, \_SB.PCI0.LPC0.EC0.BTAT) } Else { If (LEqual (_T_1, 0x06)) { Store (0x00, \_SB.PCI0.LPC0.EC0.BRTS) } Else { If (LEqual (_T_1, 0x07)) { Store (0x00, BAEF) } Else { Store (0x01, Local2) } } } } Break } } Else { While (One) { Name (_T_2, 0x00) Store (Local0, _T_2) If (LEqual (_T_2, 0x04)) { Store (0x01, \_SB.PCI0.LPC0.EC0.WLAT) Store (0x00, Index (BADG, 0x03)) } Else { If (LEqual (_T_2, 0x05)) { Store (0x01, \_SB.PCI0.LPC0.EC0.BTAT) Store (0x00, Index (BADG, 0x04)) } Else { If (LEqual (_T_2, 0x06)) { Store (Local1, \_SB.PCI0.LPC0.EC0.BRTS) Store (0x00, Index (BADG, 0x05)) } Else { If (LEqual (_T_2, 0x07)) { Store (0x01, BAEF) Store (0x00, Index (BADG, 0x06)) } Else { Store (0x01, Local2) } } } } Break } } Break } If (LEqual (Local2, 0x01)) { While (One) { Name (_T_3, 0x00) Store (Local0, _T_3) If (LEqual (_T_3, 0x04)) { Store (0x02, Index (BADG, 0x03)) } Else { If (LEqual (_T_3, 0x05)) { Store (0x03, Index (BADG, 0x03)) } Else { If (LEqual (_T_3, 0x06)) { Store (0x04, Index (BADG, 0x03)) } } } Break } } } Method (Z00B, 0, NotSerialized) { If (LEqual (BGEF, 0x01)) { Store (NTDV, Local0) If (LNotEqual (Local0, 0x00)) { Store (0x00, NTDV) Return (Local0) } } If (LEqual (BAEF, 0x01)) { Store (NTDC, Local0) If (LNotEqual (Local0, 0x00)) { Store (0x00, NTDC) Return (Local0) } } If (LEqual (BFEF, 0x01)) {} } Method (Z00C, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, BUFF) Store (0x00, BBSB) If (LEqual (Local0, 0x01)) { Store (SBTH, BBD0) } Else { If (LEqual (Local0, 0x02)) { Store (BF00, SBTH) } Else { Store (ERRD, BBSB) } } } Method (Z00D, 2, NotSerialized) { Store (Arg1, BUFF) Store (ERRD, Index (BCDS, BF00)) } Method (Z00E, 1, NotSerialized) { Store (DSY5, DSY0) Store (Arg0, Local0) Store (\_SB.PHWM (0x00, Arg0), Local2) Store (Local2, DSY6) Store (DY60, DY00) Store (DY61, DY01) Store (DY62, DY02) Store (DY63, DY03) } Method (Z00F, 1, NotSerialized) { Store (DSY3, DSY1) Store (Arg0, DY00) Store (\_SB.PHWM (0x01, Arg0), Local2) Store (Local2, DSY6) Store (DY60, DY10) Store (DY61, DY11) Store (0x00, WIT0) Store (WIT0, DY12) } Method (Z00G, 1, NotSerialized) { Store (DSY3, DSY1) Store (\_SB.PHWM (0x02, Arg0), Local2) Store (Local2, DSY6) Store (DY60, DY10) Store (DY61, DY11) Store (0x00, WIT0) Store (WIT0, DY12) } Method (Z00H, 2, NotSerialized) { Store (0x00010000, Index (BCDS, 0x09)) } Method (Z00I, 0, NotSerialized) { Store (\_SB.PCI0.LPC0.EC0.THFN, Local0) Multiply (Local0, 0x64, Local1) Store (Local1, Index (BCDS, 0x0A)) } Method (Z00J, 0, NotSerialized) { Store (\_SB.PCI0.LPC0.EC0.CTMP, Index (BCDS, 0x0B)) } Method (Z00K, 1, NotSerialized) { Store (Arg0, Local0) Store (\_SB.PHWM (0x03, Arg0), Local2) Store (Local2, DY20) Store (Local2, DSY6) Store (DSY4, DSY2) Store (DY60, DY20) } Method (Z00L, 1, NotSerialized) { Store (Arg0, Local0) Store (Arg0, DY20) Store (\_SB.PHWM (0x04, Arg0), Local2) Store (Local2, DSY6) Store (DY61, BUFF) } Method (Z00M, 0, NotSerialized) { Store (\_SB.PHWM (0x05, 0x00), Local2) Store (Local2, BUFF) Store (BUFF, Index (BCDS, 0x0C)) } Method (PCID, 1, NotSerialized) { Store (\_SB.PHWM (0x03, Arg0), Local2) Store (Local2, DSY6) } Method (Z00N, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, BUFF) If (LEqual (\_SB.PCI0.LPC0.EC0.BDC0, 0x00)) { Store (0x00020000, Local1) Decrement (Local0) Store (Local1, Index (BEDS, Local0)) } Else { While (One) { Name (_T_0, 0x00) Store (Local0, _T_0) If (LEqual (_T_0, 0x01)) { Store (0x00, Index (BEDS, 0x00)) } Else { If (LEqual (_T_0, 0x02)) { Store (\_SB.PCI0.LPC0.EC0.BPTC, Index (BEDS, 0x01)) } Else { If (LEqual (_T_0, 0x03)) { Store (\_SB.PCI0.LPC0.EC0.BPV0, Index (BEDS, 0x02)) } Else { If (LEqual (_T_0, 0x04)) { Store (\_SB.PCI0.LPC0.EC0.BSCU, Index (BEDS, 0x03)) } Else { If (LEqual (_T_0, 0x05)) { Store (\_SB.PCI0.LPC0.EC0.BRC0, Index (BEDS, 0x04)) } Else { If (LEqual (_T_0, 0x06)) { Store (\_SB.PCI0.LPC0.EC0.BFC0, Index (BEDS, 0x05)) } Else { If (LEqual (_T_0, 0x07)) { Store (\_SB.PCI0.LPC0.EC0.BSCY, Index (BEDS, 0x06)) } Else { If (LEqual (_T_0, 0x08)) { Store (\_SB.PCI0.LPC0.EC0.BDC0, Index (BEDS, 0x07)) } Else { If (LEqual (_T_0, 0x09)) { Store (\_SB.PCI0.LPC0.EC0.BDV0, Index (BEDS, 0x08)) } Else { If (LEqual (_T_0, 0x0A)) { Store (\_SB.PCI0.LPC0.EC0.BDAD, Index (BEDS, 0x09)) } Else { If (LEqual (_T_0, 0x0B)) { Store (\_SB.PCI0.LPC0.EC0.BSN0, Index (BEDS, 0x0A)) } Else { If (LEqual (_T_0, 0x0C)) { If (LEqual (\_SB.PCI0.LPC0.EC0.ACIS, 0x01)) { Store (0x00, \_SB.PCI0.LPC0.EC0.PSRC) Store (0x01, Index (BEDS, 0x0B)) } Else { Store (0x00020000, Index (BEDS, 0x0B)) } } Else { If (LEqual (_T_0, 0x0D)) { Store (Local1, \_SB.PCI0.LPC0.EC0.BTMA) Store (0x01, \_SB.PCI0.LPC0.EC0.SCCF) Store (0x01, Index (BEDS, 0x0C)) } Else { If (LEqual (_T_0, 0x0E)) { Store (Local1, \_SB.PCI0.LPC0.EC0.BTPV) Store (0x00, \_SB.PCI0.LPC0.EC0.SCHG) Store (0x01, \_SB.PCI0.LPC0.EC0.SCPF) Store (0x01, Index (BEDS, 0x0D)) } Else { If (LEqual (_T_0, 0x0F)) { Store (\_SB.PCI0.LPC0.EC0.BDFC, Index (BEDS, 0x0E)) } Else { If (LEqual (_T_0, 0x10)) { Store (\_SB.PCI0.LPC0.EC0.BDME, Index (BEDS, 0x0F)) } Else { If (LEqual (_T_0, 0x11)) { Store (0x03E8, Index (BEDS, 0x10)) } Else { If (LEqual (_T_0, 0x12)) { Store (0x0100, Index (BEDS, 0x11)) } Else { If (LEqual (_T_0, 0x13)) { Store (BF00, Local1) Store (BF04, BF00) Store (Local1, BF04) While (One) { Name (_T_1, 0x00) Store (BF04, _T_1) If (LEqual (_T_1, 0x03)) { Store (\_SB.PCI0.LPC0.EC0.BATM, Index (BEDS, 0x12)) } Else { If (LEqual (_T_1, 0x08)) { Store (\_SB.PCI0.LPC0.EC0.BTTC, Index (BEDS, 0x12)) } Else { If (LEqual (_T_1, 0x09)) { Store (\_SB.PCI0.LPC0.EC0.BPV0, Index (BEDS, 0x12)) } Else { If (LEqual (_T_1, 0x0A)) { Store (\_SB.PCI0.LPC0.EC0.BSCU, Index (BEDS, 0x12)) } Else { If (LEqual (_T_1, 0x17)) { Store (\_SB.PCI0.LPC0.EC0.BSCY, Index (BEDS, 0x12)) } Else { If (LEqual (_T_1, 0x18)) { Store (\_SB.PCI0.LPC0.EC0.BDC0, Index (BEDS, 0x12)) } Else { If (LEqual (_T_1, 0x19)) { Store (\_SB.PCI0.LPC0.EC0.BDV0, Index (BEDS, 0x12)) } Else { If (LEqual (_T_1, 0x1B)) { Store (\_SB.PCI0.LPC0.EC0.BDAD, Index (BEDS, 0x12)) } Else { } } } } } } } } Break } } Else { } } } } } } } } } } } } } } } } } } } Break } } } Method (Z00O, 0, NotSerialized) { Store (0x01, GSTS) Return (GSTS) } Method (Z00P, 1, NotSerialized) { } Method (Z00Q, 1, NotSerialized) { } Method (Z00R, 1, NotSerialized) { } Method (Z00S, 1, NotSerialized) { } Method (Z00T, 1, NotSerialized) { Store (Arg0, Local0) If (LEqual (Local0, 0x01)) { Store (0x01, BGEF) } Else { Store (0x00, BGEF) } Store (0x00, Index (BGDS, 0x00)) } Name (_WDG, Buffer (0xDC) { /* 0000 */ 0x09, 0x4E, 0x76, 0x95, 0x56, 0xFB, 0x83, 0x4E, /* 0008 */ 0xB3, 0x1A, 0x37, 0x76, 0x1F, 0x60, 0x99, 0x4A, /* 0010 */ 0x41, 0x41, 0x01, 0x01, 0x58, 0xF2, 0xF4, 0x6A, /* 0018 */ 0x01, 0xB4, 0xFD, 0x42, 0xBE, 0x91, 0x3D, 0x4A, /* 0020 */ 0xC2, 0xD7, 0xC0, 0xD3, 0x42, 0x41, 0x01, 0x02, /* 0028 */ 0xAC, 0x61, 0x1A, 0xCC, 0x56, 0x42, 0xA3, 0x41, /* 0030 */ 0xB9, 0xE0, 0x05, 0xA4, 0x45, 0xAD, 0xE2, 0xF5, /* 0038 */ 0x80, 0x00, 0x01, 0x08, 0x53, 0x44, 0x8C, 0xE7, /* 0040 */ 0x27, 0x02, 0x61, 0x48, 0x9E, 0xDE, 0xF5, 0x60, /* 0048 */ 0x0B, 0x4A, 0x3D, 0x39, 0x42, 0x42, 0x01, 0x02, /* 0050 */ 0x7B, 0x4F, 0xE0, 0xAA, 0xC5, 0xB3, 0x65, 0x48, /* 0058 */ 0x95, 0xD6, 0x9F, 0xAC, 0x7F, 0xF3, 0xE9, 0x2B, /* 0060 */ 0x42, 0x43, 0x01, 0x02, 0x79, 0x4C, 0xF9, 0xCF, /* 0068 */ 0x77, 0x6C, 0xF7, 0x4A, 0xAC, 0x56, 0x7D, 0xD0, /* 0070 */ 0xCE, 0x01, 0xC9, 0x97, 0x42, 0x44, 0x01, 0x02, /* 0078 */ 0xC5, 0x2E, 0x77, 0x79, 0xB1, 0x04, 0xFD, 0x4B, /* 0080 */ 0x84, 0x3C, 0x61, 0xE7, 0xF7, 0x7B, 0x6C, 0xC9, /* 0088 */ 0x42, 0x45, 0x01, 0x02, 0xB7, 0xA0, 0xC9, 0xA7, /* 0090 */ 0x9D, 0x4C, 0x72, 0x4C, 0x83, 0xBB, 0x53, 0xA3, /* 0098 */ 0x45, 0x91, 0x71, 0xDF, 0x42, 0x46, 0x01, 0x02, /* 00A0 */ 0x4F, 0x06, 0x3A, 0x65, 0x3A, 0xA2, 0x5F, 0x48, /* 00A8 */ 0xB3, 0xD9, 0x13, 0xF6, 0x53, 0x2A, 0x01, 0x82, /* 00B0 */ 0x42, 0x47, 0x01, 0x02, 0xA7, 0xB1, 0x85, 0xDB, /* 00B8 */ 0x9A, 0x06, 0xBB, 0x4A, 0xA2, 0xB5, 0xD1, 0x86, /* 00C0 */ 0xA2, 0x1B, 0x80, 0xF1, 0x81, 0x00, 0x01, 0x08, /* 00C8 */ 0x91, 0x6B, 0x91, 0x36, 0x64, 0x1A, 0x83, 0x45, /* 00D0 */ 0x84, 0xD0, 0x53, 0x83, 0x0F, 0xB9, 0x10, 0x8D, /* 00D8 */ 0x82, 0x00, 0x01, 0x08 }) Method (WQAA, 1, NotSerialized) { AAF1 () Store (AADS, BUFF) Return (BUFF) } Method (WMBA, 3, NotSerialized) { While (One) { Name (_T_0, 0x00) Store (Arg1, _T_0) If (LNotEqual (Match (Package (0x08) { 0x01, 0x02, 0x03, 0x08, 0x09, 0x0A, 0x0C, 0x0D }, MEQ, _T_0, MTR, 0x00, 0x00), Ones)) { Store (0x00, Local0) } Else { If (LNotEqual (Match (Package (0x05) { 0x04, 0x05, 0x06, 0x07, 0x0B }, MEQ, _T_0, MTR, 0x00, 0x00), Ones)) { If (LEqual (Arg1, 0x07)) { Store (Arg2, BUFF) If (BF00) { Store (0x01, BAEF) } } Store (0x01, Local0) } } Break } If (Local0) { Z00A (Arg1, Arg2) } Else { Z009 (Arg1) } Store (DerefOf (Index (BADG, Subtract (Arg1, 0x01))), BUFF) Return (BUFF) } Method (_WED, 1, NotSerialized) { If (LGreaterEqual (Arg0, 0x80)) { If (LLess (Arg0, 0x83)) { Return (Z00B ()) } } } Method (WMBB, 3, NotSerialized) { Z00C (Arg1, Arg2) If (LEqual (Arg1, 0x01)) { Store (BBSB, BUFF) } If (LEqual (Arg1, 0x02)) { Store (BBD1, BUFF) } Return (BUFF) } Method (WMBC, 3, NotSerialized) { Z00D (Arg1, Arg2) If (LLess (Arg1, 0x0A)) { Subtract (Arg1, 0x01, Local0) Store (DerefOf (Index (BCDS, Subtract (Arg1, 0x01))), BUFF) } Else { ShiftRight (DerefOf (Index (BCDS, Subtract (Arg1, 0x0A))), 0x10, BUFF) } Return (BUFF) } Method (WMBD, 3, NotSerialized) { If (LEqual (Arg1, 0x01)) { Store (Arg2, BUFF) Store (BUFF, Local0) Store (Arg2, WIT0) Z00E (WIT0) Return (DSY0) } If (LEqual (Arg1, 0x02)) { Store (Arg2, Local0) Z00F (Arg2) Return (DSY1) } If (LEqual (Arg1, 0x03)) { Store (Arg2, Local0) Z00G (Arg2) Return (DSY1) } If (LEqual (Arg1, 0x04)) { Z00H (Arg1, Arg2) ShiftRight (DerefOf (Index (BCDS, Add (Arg1, 0x05))), 0x10, BUFF) Return (BUFF) } If (LEqual (Arg1, 0x05)) { Z00H (Arg1, Arg2) Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF) Return (BUFF) } If (LEqual (Arg1, 0x06)) { Z00I () Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF) Return (BUFF) } If (LEqual (Arg1, 0x07)) { Z00J () Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF) Return (BUFF) } If (LEqual (Arg1, 0x08)) { Store (Arg2, WPRW) Store (WWD1, WPIR) Store (WWD2, WPIF) Store (WWD3, WPID) Store (WWD4, WPIB) Concatenate (WPCI, WWD0, Local0) Z00K (Local0) Return (DSY2) } If (LEqual (Arg1, 0x09)) { Store (Arg2, DSY6) Store (DY60, Local0) Store (Arg2, DSY0) Store (DY01, WPRW) Store (WWD1, WPIR) Store (WWD2, WPIF) Store (WWD3, WPID) Store (WWD4, WPIB) Store (WPCI, Local1) Concatenate (DY60, WPCI, Local0) Concatenate (Local0, WWD0, Local1) Z00L (Local1) Return (BUFF) } If (LEqual (Arg1, 0x0A)) { Z00M () Store (DerefOf (Index (BCDS, Add (Arg1, 0x02))), BUFF) Return (BUFF) } If (LEqual (Arg1, 0x0B)) { PCID (Arg2) Return (DSY6) } } Method (WMBE, 3, NotSerialized) { Z00N (Arg1, Arg2) Store (BUFF, Debug) Store (BEDS, Debug) Store (DerefOf (Index (BEDS, Subtract (Arg1, 0x01))), BUFF) Store (BUFF, Debug) Return (BUFF) } Method (WMBF, 3, NotSerialized) { If (LGreater (Arg1, 0x04)) { Store (0x02, BF00) Store (0x00, BF01) Store (0x00, BF02) Store (0x00, BF03) Return (BUFF) } If (Z00O ()) { Store (Arg2, BUFF) If (LEqual (Arg1, 0x01)) { Z00P (BF00) } Else { If (LEqual (Arg1, 0x02)) { Z00Q (BF00) } Else { If (LEqual (Arg1, 0x03)) { Z00R (BF00) } Else { Z00S (BF00) } } } Store (DerefOf (Index (BFDS, Subtract (Arg1, 0x01))), BUFF) Store (BUFF, Debug) } Else { Store (0x03, BF00) Store (0x00, BF01) Store (0x00, BF02) Store (0x00, BF03) } Return (BUFF) } Method (WMBG, 3, NotSerialized) { Store (Arg2, BUFF) Z00T (BF00) Store (DerefOf (Index (BGDS, Subtract (Arg1, 0x01))), BUFF) Store (BUFF, Debug) Return (BUFF) } } OperationRegion (SMI2, SystemMemory, 0xBDEDDCDC, 0x00000120) Field (SMI2, AnyAcc, NoLock, Preserve) { WCMD, 8, WDID, 32, TPID, 8, DI00, 320 } Field (SMI2, AnyAcc, NoLock, Preserve) { Offset (0x06), D000, 32, D001, 32, D002, 32, D003, 32, D004, 32 } Method (PHWM, 2, NotSerialized) { Acquire (\_SB.PCI0.LPC0.PSMX, 0xFFFF) Store (0xE0, WCMD) Store (0x57, TPID) Store (Arg0, WDID) Store (Arg1, DI00) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (DI00, Local0) Release (\_SB.PCI0.LPC0.PSMX) Return (Local0) } Device (PCI0) { Name (_HID, EisaId ("PNP0A08")) Name (_CID, 0x030AD041) Name (_ADR, 0x00) Name (_UID, 0x01) Name (_BBN, 0x00) Name (SUPP, 0x00) Name (CTRL, 0x00) Method (XOSC, 4, NotSerialized) { CreateDWordField (Arg3, 0x00, CDW1) CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40, /* 0008 */ 0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66 })) { Store (CDW2, SUPP) Store (CDW3, CTRL) If (LNotEqual (And (SUPP, 0x16), 0x16)) { And (CTRL, 0x1E, CTRL) } And (CTRL, 0x1D, CTRL) If (Not (And (CDW1, 0x01))) { If (And (CTRL, 0x01)) {} If (And (CTRL, 0x04)) { Store (One, \_SB.PCI0.SMB.EPNM) Store (One, \_SB.PCI0.SMB.DPPF) Store (One, \_SB.PCI0.SMB.FNGS) } Else { Store (0x00, \_SB.PCI0.SMB.EPNM) Store (0x00, \_SB.PCI0.SMB.DPPF) Store (0x00, \_SB.PCI0.SMB.FNGS) } } If (LNotEqual (Arg1, One)) { Or (CDW1, 0x08, CDW1) } If (LNotEqual (CDW3, CTRL)) { Or (CDW1, 0x10, CDW1) } Store (CTRL, CDW3) Return (Arg3) } Else { Or (CDW1, 0x04, CDW1) Return (Arg3) } } Method (_INI, 0, NotSerialized) { Store (0xF1, P80H) \_SB.OSTP () \_SB.PCI0.LPC0.PHSS (0x76) If (LLess (PJID, 0x02)) { \_SB.PCI0.AMD3.HTCS () } \_GPE._L1A () If (LOr (LEqual (PJID, 0x00), LEqual (PJID, 0x02))) { \_SB.PCI0.LPC0.PHSS (0x5A) Notify (\_SB.PCI0.PB9, 0x00) } If (LAnd (LGreaterEqual (TPOS, 0x04), LLess (TPOS, 0x40))) { Store (And (\_SB.PCI0.SMB.GM4C, 0x01), Local0) Store (Local0, \_SB.PCI0.LPC0.INFO) Store (0x8F, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) } } OperationRegion (NBRV, PCI_Config, 0x08, 0x01) Field (NBRV, ByteAcc, NoLock, Preserve) { PREV, 8 } OperationRegion (NBBR, PCI_Config, 0x1C, 0x08) Field (NBBR, DWordAcc, NoLock, Preserve) { BR3L, 32, BR3H, 32 } OperationRegion (NBBI, PCI_Config, 0x84, 0x04) Field (NBBI, DWordAcc, NoLock, Preserve) { PARB, 32 } OperationRegion (NBMS, PCI_Config, 0x60, 0x08) Field (NBMS, DWordAcc, NoLock, Preserve) { MIDX, 32, MIDR, 32 } Mutex (NBMM, 0x00) Method (NBMR, 1, NotSerialized) { Acquire (NBMM, 0xFFFF) And (Arg0, 0x7F, Local0) Store (Local0, MIDX) Store (MIDR, Local0) Store (0x7F, MIDX) Release (NBMM) Return (Local0) } Method (NBMW, 2, NotSerialized) { Acquire (NBMM, 0xFFFF) And (Arg0, 0x7F, Local0) Or (Local0, 0x80, Local0) Store (Local0, MIDX) Store (Arg1, MIDR) Store (And (Local0, 0x7F, Local0), MIDX) Release (NBMM) } OperationRegion (NBXP, PCI_Config, 0xE0, 0x08) Field (NBXP, DWordAcc, NoLock, Preserve) { NBXI, 32, NBXD, 32 } Mutex (NBXM, 0x00) Method (NBXR, 1, NotSerialized) { Acquire (NBXM, 0xFFFF) Store (Arg0, NBXI) Store (NBXD, Local0) Store (0x00, NBXI) Release (NBXM) Return (Local0) } Method (NBXW, 2, NotSerialized) { Acquire (NBXM, 0xFFFF) Store (Arg0, NBXI) Store (Arg1, NBXD) Store (0x00, NBXI) Release (NBXM) } Method (GFXM, 0, NotSerialized) { Store (NBMR (0x08), Local0) And (Local0, 0x0F, Local0) Return (Local0) } Method (GPPM, 0, NotSerialized) { Store (NBMR (0x31), Local0) And (Local0, 0x0F, Local0) Return (Local0) } Method (XPTR, 2, NotSerialized) { If (LAnd (LLess (Arg0, 0x02), LGreater (Arg0, 0x07))) { Return (0x00) } Else { Store (0x01, Local0) If (LLess (Arg0, 0x04)) { Add (Arg0, 0x02, Local1) } Else { Add (Arg0, 0x11, Local1) } ShiftLeft (Local0, Local1, Local0) Store (NBMR (0x08), Local2) If (Arg1) { And (Local2, Not (Local0), Local2) } Else { Or (Local2, Local0, Local2) } NBMW (0x08, Local2) Return (Ones) } } Name (PX3L, 0x80000000) Name (PX3H, 0x80000000) Name (PX3S, 0x10000000) Name (PX3K, 0xF0000000) Mutex (BR3X, 0x00) Method (BR3M, 0, NotSerialized) { Store (PARB, Local0) ShiftRight (Local0, 0x10, Local0) And (Local0, 0x07, Local0) If (Local0) { ShiftLeft (0x01, Local0, Local1) Subtract (0x1000, Local1, Local1) ShiftLeft (Local1, 0x14, Local1) Store (Local1, PX3K) ShiftRight (0x00100000, Local0, Local0) Store (Local0, PX3S) } Acquire (BR3X, 0xFFFF) Store (NBMR (0x00), Local0) And (Local0, 0xFFFFFFF7, Local0) NBMW (0x00, Local0) Store (BR3L, Local0) And (Local0, PX3K, Local0) Store (Local0, PX3L) Store (BR3H, Local0) And (Local0, 0xFF, Local0) Store (Local0, PX3H) Store (NBMR (0x00), Local0) Or (Local0, 0x08, Local0) NBMW (0x00, Local0) Release (BR3X) Return (PX3L) } OperationRegion (K8ST, SystemMemory, 0xBDEDDF74, 0x00000048) Field (K8ST, AnyAcc, NoLock, Preserve) { C0_0, 16, C2_0, 16, C4_0, 16, C6_0, 16, C8_0, 16, CA_0, 16, CC_0, 16, CE_0, 16, D0_0, 16, D2_0, 16, D4_0, 16, D6_0, 16, D8_0, 16, DA_0, 16, DC_0, 16, DE_0, 16, E0_0, 16, E2_0, 16, E4_0, 16, E6_0, 16, E8_0, 16, EA_0, 16, EC_0, 16, EE_0, 16, F0_0, 16, F2_0, 16, F4_0, 16, F6_0, 16, F8_0, 16, FA_0, 16, FC_0, 16, FE_0, 16, TOML, 32, TOMH, 32 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C1FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C2000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C5FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C6000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000C9FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000CA000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CDFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000CE000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D1FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y08, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D2000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y09, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D5FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y0A, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D6000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y0B, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000D9FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y0C, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000DA000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y0D, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DDFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y0E, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000DE000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y0F, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E0000, // Range Minimum 0x000E1FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y10, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E2000, // Range Minimum 0x000E3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y11, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E4000, // Range Minimum 0x000E5FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y12, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E6000, // Range Minimum 0x000E7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y13, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000E8000, // Range Minimum 0x000E9FFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y14, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000EA000, // Range Minimum 0x000EBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y15, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000EC000, // Range Minimum 0x000EDFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y16, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000EE000, // Range Minimum 0x000EFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00002000, // Length 0x00,, _Y17, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y18, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFFFFFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _Y19, AddressRangeMemory, TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length 0x00,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length 0x00,, , TypeStatic) }) Method (_CRS, 0, Serialized) { CreateBitField (RSRC, \_SB.PCI0._Y00._RW, C0RW) CreateDWordField (RSRC, \_SB.PCI0._Y00._LEN, C0LN) Store (One, C0RW) Store (0x2000, C0LN) If (And (C0_0, 0x1818)) { Store (0x00, C0LN) } CreateBitField (RSRC, \_SB.PCI0._Y01._RW, C2RW) CreateDWordField (RSRC, \_SB.PCI0._Y01._LEN, C2LN) Store (One, C2RW) Store (0x2000, C2LN) If (And (C2_0, 0x1818)) { Store (0x00, C2LN) } CreateBitField (RSRC, \_SB.PCI0._Y02._RW, C4RW) CreateDWordField (RSRC, \_SB.PCI0._Y02._LEN, C4LN) Store (One, C4RW) Store (0x2000, C4LN) If (And (C4_0, 0x1818)) { Store (0x00, C4LN) } CreateBitField (RSRC, \_SB.PCI0._Y03._RW, C6RW) CreateDWordField (RSRC, \_SB.PCI0._Y03._LEN, C6LN) Store (One, C6RW) Store (0x2000, C6LN) If (And (C6_0, 0x1818)) { Store (0x00, C6LN) } CreateBitField (RSRC, \_SB.PCI0._Y04._RW, C8RW) CreateDWordField (RSRC, \_SB.PCI0._Y04._LEN, C8LN) Store (One, C8RW) Store (0x2000, C8LN) If (And (C8_0, 0x1818)) { Store (0x00, C8LN) } CreateBitField (RSRC, \_SB.PCI0._Y05._RW, CARW) CreateDWordField (RSRC, \_SB.PCI0._Y05._LEN, CALN) Store (One, CARW) Store (0x2000, CALN) If (And (CA_0, 0x1818)) { Store (0x00, CALN) } CreateBitField (RSRC, \_SB.PCI0._Y06._RW, CCRW) CreateDWordField (RSRC, \_SB.PCI0._Y06._LEN, CCLN) Store (One, CCRW) Store (0x2000, CCLN) If (And (CC_0, 0x1818)) { Store (0x00, CCLN) } CreateBitField (RSRC, \_SB.PCI0._Y07._RW, CERW) CreateDWordField (RSRC, \_SB.PCI0._Y07._LEN, CELN) Store (One, CERW) Store (0x2000, CELN) If (And (CE_0, 0x1818)) { Store (0x00, CELN) } CreateBitField (RSRC, \_SB.PCI0._Y08._RW, D0RW) CreateDWordField (RSRC, \_SB.PCI0._Y08._LEN, D0LN) Store (One, D0RW) Store (0x2000, D0LN) If (And (D0_0, 0x1818)) { Store (0x00, D0LN) } CreateBitField (RSRC, \_SB.PCI0._Y09._RW, D2RW) CreateDWordField (RSRC, \_SB.PCI0._Y09._LEN, D2LN) Store (One, D2RW) Store (0x2000, D2LN) If (And (D2_0, 0x1818)) { Store (0x00, D2LN) } CreateBitField (RSRC, \_SB.PCI0._Y0A._RW, D4RW) CreateDWordField (RSRC, \_SB.PCI0._Y0A._LEN, D4LN) Store (One, D4RW) Store (0x2000, D4LN) If (And (D4_0, 0x1818)) { Store (0x00, D4LN) } CreateBitField (RSRC, \_SB.PCI0._Y0B._RW, D6RW) CreateDWordField (RSRC, \_SB.PCI0._Y0B._LEN, D6LN) Store (One, D6RW) Store (0x2000, D6LN) If (And (D6_0, 0x1818)) { Store (0x00, D6LN) } CreateBitField (RSRC, \_SB.PCI0._Y0C._RW, D8RW) CreateDWordField (RSRC, \_SB.PCI0._Y0C._LEN, D8LN) Store (One, D8RW) Store (0x2000, D8LN) If (And (D8_0, 0x1818)) { Store (0x00, D8LN) } CreateBitField (RSRC, \_SB.PCI0._Y0D._RW, DARW) CreateDWordField (RSRC, \_SB.PCI0._Y0D._LEN, DALN) Store (One, DARW) Store (0x2000, DALN) If (And (DA_0, 0x1818)) { Store (0x00, DALN) } CreateBitField (RSRC, \_SB.PCI0._Y0E._RW, DCRW) CreateDWordField (RSRC, \_SB.PCI0._Y0E._LEN, DCLN) Store (One, DCRW) Store (0x2000, DCLN) If (And (DC_0, 0x1818)) { Store (0x00, DCLN) } CreateBitField (RSRC, \_SB.PCI0._Y0F._RW, DERW) CreateDWordField (RSRC, \_SB.PCI0._Y0F._LEN, DELN) Store (One, DERW) Store (0x2000, DELN) If (And (DE_0, 0x1818)) { Store (0x00, DELN) } CreateBitField (RSRC, \_SB.PCI0._Y10._RW, E0RW) CreateDWordField (RSRC, \_SB.PCI0._Y10._LEN, E0LN) Store (One, E0RW) Store (0x2000, E0LN) If (And (E0_0, 0x1818)) { Store (0x00, E0LN) } CreateBitField (RSRC, \_SB.PCI0._Y11._RW, E2RW) CreateDWordField (RSRC, \_SB.PCI0._Y11._LEN, E2LN) Store (One, E2RW) Store (0x2000, E2LN) If (And (E2_0, 0x1818)) { Store (0x00, E2LN) } CreateBitField (RSRC, \_SB.PCI0._Y12._RW, E4RW) CreateDWordField (RSRC, \_SB.PCI0._Y12._LEN, E4LN) Store (One, E4RW) Store (0x2000, E4LN) If (And (E4_0, 0x1818)) { Store (0x00, E4LN) } CreateBitField (RSRC, \_SB.PCI0._Y13._RW, E6RW) CreateDWordField (RSRC, \_SB.PCI0._Y13._LEN, E6LN) Store (One, E6RW) Store (0x2000, E6LN) If (And (E6_0, 0x1818)) { Store (0x00, E6LN) } CreateBitField (RSRC, \_SB.PCI0._Y14._RW, E8RW) CreateDWordField (RSRC, \_SB.PCI0._Y14._LEN, E8LN) Store (One, E8RW) Store (0x2000, E8LN) If (And (E8_0, 0x1818)) { Store (0x00, E8LN) } CreateBitField (RSRC, \_SB.PCI0._Y15._RW, EARW) CreateDWordField (RSRC, \_SB.PCI0._Y15._LEN, EALN) Store (One, EARW) Store (0x2000, EALN) If (And (EA_0, 0x1818)) { Store (0x00, EALN) } CreateBitField (RSRC, \_SB.PCI0._Y16._RW, ECRW) CreateDWordField (RSRC, \_SB.PCI0._Y16._LEN, ECLN) Store (One, ECRW) Store (0x2000, ECLN) If (And (EC_0, 0x1818)) { Store (0x00, ECLN) } CreateBitField (RSRC, \_SB.PCI0._Y17._RW, EERW) CreateDWordField (RSRC, \_SB.PCI0._Y17._LEN, EELN) Store (One, EERW) Store (0x2000, EELN) If (And (EE_0, 0x1818)) { Store (0x00, EELN) } CreateDWordField (RSRC, \_SB.PCI0._Y18._MIN, BT1S) CreateDWordField (RSRC, \_SB.PCI0._Y18._MAX, BT1M) CreateDWordField (RSRC, \_SB.PCI0._Y18._LEN, BT1L) CreateDWordField (RSRC, \_SB.PCI0._Y19._MIN, BT2S) CreateDWordField (RSRC, \_SB.PCI0._Y19._MAX, BT2M) CreateDWordField (RSRC, \_SB.PCI0._Y19._LEN, BT2L) Store (BR3M (), Local0) Store (PX3H, Local2) Store (PX3S, Local1) If (Local2) { Store (0x00, Local1) Store (TOML, Local0) } Store (TOML, BT1S) Store (Subtract (Local0, 0x01), BT1M) Subtract (Local0, TOML, BT1L) Store (Add (Local0, Local1), BT2S) Store (Add (Subtract (BT2M, BT2S), 0x01), BT2L) Return (RSRC) } Device (MEMR) { Name (_HID, EisaId ("PNP0C02")) Name (MEM1, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y1A) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y1B) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y1C) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y1A._BAS, MB01) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y1A._LEN, ML01) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y1B._BAS, MB02) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y1B._LEN, ML02) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y1C._BAS, MB03) CreateDWordField (MEM1, \_SB.PCI0.MEMR._Y1C._LEN, ML03) If (GPIC) { Store (0xFEC00000, MB01) Store (0xFEC10000, MB02) Store (0xFEE00000, MB03) Store (0x1000, ML01) Store (0x1000, ML02) Store (0x1000, ML03) } Return (MEM1) } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x16) { Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x0002FFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x0003FFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x0009FFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x000AFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x0011FFFF, 0x00, 0x00, 0x16 }, Package (0x04) { 0x0012FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0012FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0012FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0013FFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x0013FFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x0013FFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0x0014FFFF, 0x05, 0x00, 0x11 }, Package (0x04) { 0x0014FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0014FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0014FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0014FFFF, 0x03, 0x00, 0x13 } }) } Else { Return (Package (0x15) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x0004FFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0011FFFF, 0x00, \_SB.PCI0.LPC0.LNKG, 0x00 }, Package (0x04) { 0x0012FFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x0012FFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0012FFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0013FFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x0013FFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0013FFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0014FFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x0014FFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0014FFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0014FFFF, 0x03, \_SB.PCI0.LPC0.LNKD, 0x00 } }) } } OperationRegion (BAR1, PCI_Config, 0x14, 0x04) Field (BAR1, ByteAcc, NoLock, Preserve) { Z00U, 32 } Name (HTLV, 0x56) Device (AMD3) { Name (_ADR, 0x00180003) OperationRegion (HTCR, PCI_Config, 0x64, 0x04) Field (HTCR, ByteAcc, NoLock, Preserve) { HTCE, 1, Offset (0x02), HTL, 7, Offset (0x03), HHL, 4 } Method (HTCS, 0, NotSerialized) { Store (HTLV, Local0) Add (Local0, HHL, HTL) Store (One, HTCE) } } Device (PB2) { Name (_ADR, 0x00020000) OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, ByteAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), SLST, 16 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } OperationRegion (XPEX, SystemMemory, 0xE0010100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC02, 32 } Method (XPDL, 0, NotSerialized) { If (And (VC02, 0x00020000)) { Return (Ones) } Else { Return (Zero) } } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (0x00, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (0x00, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, Not (0x07), Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPLP, 1, NotSerialized) { Store (0x0101, Local1) Store (\_SB.PCI0.NBXR (0x65), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } \_SB.PCI0.NBXW (0x65, Local2) } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, Not (0x20), Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (0x01, Local2) While (LAnd (Local1, Local2)) { Sleep (0x01) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (0x00, Local2) } } And (Local0, Not (0x20), Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Device (DGFX) { Name (_ADR, 0x00) OperationRegion (PCFG, PCI_Config, 0x00, 0x50) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SVID, 32, Offset (0x4C), SMID, 32 } Name (SWIT, 0x01) Name (CRTA, 0x01) Name (LCDA, 0x01) Name (TVAA, 0x01) Name (DVIA, 0x01) Name (VLDF, 0x01) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { Return (Package (0x04) { 0x00010100, 0x00010110, 0x0200, 0x0210 }) } Device (CRT) { Method (_ADR, 0, NotSerialized) { Return (0x0100) } } Device (LCD) { Method (_ADR, 0, NotSerialized) { Return (0x0110) } Method (_BCL, 0, NotSerialized) { Store (0xC0, P80H) Return (Package (0x0C) { 0x64, 0x46, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Store (0xC1, P80H) Divide (Arg0, 0x0A, Local0, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.LPC0.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Store (0xC2, P80H) Multiply (\_SB.PCI0.LPC0.EC0.BRTS, 0x0A, Local0) Add (Local0, 0x01, Local0) Sleep (0x64) Return (Local0) } } Device (TV) { Method (_ADR, 0, NotSerialized) { Return (0x0200) } } Device (DVI) { Method (_ADR, 0, NotSerialized) { Return (0x0210) } } } Name (_PRW, Package (0x02) { 0x18, 0x04 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x11 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKB, 0x00 } }) } } } Device (PB3) { Name (_ADR, 0x00030000) OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, ByteAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), SLST, 16 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } OperationRegion (XPEX, SystemMemory, 0xE0018100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC02, 32 } Method (XPDL, 0, NotSerialized) { If (And (VC02, 0x00020000)) { Return (Ones) } Else { Return (Zero) } } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (0x00, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (0x00, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, Not (0x07), Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPLP, 1, NotSerialized) { Store (0x0101, Local1) Store (\_SB.PCI0.NBXR (0x65), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } \_SB.PCI0.NBXW (0x65, Local2) } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, Not (0x20), Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (0x01, Local2) While (LAnd (Local1, Local2)) { Sleep (0x01) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (0x00, Local2) } } And (Local0, Not (0x20), Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Device (DGFX) { Name (_ADR, 0x00) OperationRegion (PCFG, PCI_Config, 0x00, 0x50) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SVID, 32, Offset (0x4C), SMID, 32 } } Name (_PRW, Package (0x02) { 0x18, 0x04 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x12 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKC, 0x00 } }) } } } Device (PB4) { Name (_ADR, 0x00040000) Name (_PRW, Package (0x02) { 0x18, 0x04 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x13 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKD, 0x00 } }) } } OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, ByteAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), SLST, 16 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } OperationRegion (XPEX, SystemMemory, 0xE0020100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC0S, 32 } Method (XPDL, 0, NotSerialized) { Store (Zero, Local0) If (And (VC0S, 0x00020000)) { Store (Ones, Local0) } Return (Local0) } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (0x00, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (0x00, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, Not (0x07), Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPLP, 1, NotSerialized) { Store (0x1010, Local1) Store (\_SB.PCI0.NBXR (0x00010065), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } \_SB.PCI0.NBXW (0x00010065, Local2) } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, Not (0x20), Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (0x01, Local2) While (LAnd (Local1, Local2)) { Sleep (0x01) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (0x00, Local2) } } And (Local0, Not (0x20), Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Device (NCRD) { Name (_ADR, 0x00) OperationRegion (PCFG, PCI_Config, 0x00, 0x08) Field (PCFG, DWordAcc, NoLock, Preserve) { DVID, 32, PCMS, 32 } Method (_RMV, 0, NotSerialized) { Return (0x01) } } } Device (PB5) { Name (_ADR, 0x00050000) Name (_PRW, Package (0x02) { 0x18, 0x04 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x10 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKA, 0x00 } }) } } } Device (PB6) { Name (_ADR, 0x00060000) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x11 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKB, 0x00 } }) } } } Device (PB7) { Name (_ADR, 0x00070000) Name (_PRW, Package (0x02) { 0x18, 0x04 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x11 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x12 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKC, 0x00 } }) } } } Device (PB9) { Name (_ADR, 0x00090000) OperationRegion (XPCB, PCI_Config, 0x58, 0x24) Field (XPCB, ByteAcc, NoLock, Preserve) { Offset (0x10), LKCN, 16, LKST, 16, Offset (0x1A), SLST, 16 } OperationRegion (XPRI, PCI_Config, 0xE0, 0x08) Field (XPRI, ByteAcc, NoLock, Preserve) { XPIR, 32, XPID, 32 } OperationRegion (XPEX, SystemMemory, 0xE0038100, 0x0100) Field (XPEX, DWordAcc, NoLock, Preserve) { Offset (0x28), VC0S, 32 } Method (XPDL, 0, NotSerialized) { Store (Zero, Local0) If (And (VC0S, 0x00020000)) { Store (Ones, Local0) } Return (Local0) } Method (XPRD, 1, NotSerialized) { Store (Arg0, XPIR) Store (XPID, Local0) Store (0x00, XPIR) Return (Local0) } Method (XPWR, 2, NotSerialized) { Store (Arg0, XPIR) Store (Arg1, XPID) Store (0x00, XPIR) } Method (XPRT, 0, NotSerialized) { Store (XPRD (0xA2), Local0) And (Local0, Not (0x07), Local0) ShiftRight (Local0, 0x04, Local1) And (Local1, 0x07, Local1) Or (Local0, Local1, Local0) Or (Local0, 0x0100, Local0) XPWR (0xA2, Local0) } Method (XPLP, 1, NotSerialized) { Store (0x8080, Local1) Store (\_SB.PCI0.NBXR (0x00010065), Local2) If (Arg0) { And (Local2, Not (Local1), Local2) } Else { Or (Local2, Local1, Local2) } \_SB.PCI0.NBXW (0x00010065, Local2) } Method (XPR2, 0, NotSerialized) { Store (LKCN, Local0) And (Local0, Not (0x20), Local0) Store (Local0, LKCN) Or (Local0, 0x20, Local0) Store (Local0, LKCN) Store (0x64, Local1) Store (0x01, Local2) While (LAnd (Local1, Local2)) { Sleep (0x01) Store (LKST, Local3) If (And (Local3, 0x0800)) { Decrement (Local1) } Else { Store (0x00, Local2) } } And (Local0, Not (0x20), Local0) Store (Local0, LKCN) If (LNot (Local2)) { Return (Ones) } Else { Return (Zero) } } Device (J380) { Name (_ADR, 0x00) OperationRegion (PCFG, PCI_Config, 0x00, 0xFF) Field (PCFG, ByteAcc, NoLock, Preserve) { DVID, 32, Offset (0x2C), SSID, 32, Offset (0xAC), , 6, D3EF, 1, Offset (0xB2), LAT0, 8, Offset (0xCF), ATRB, 8, Offset (0xD3), PMC0, 8 } Method (_RMV, 0, NotSerialized) { Return (0x01) } } Device (J381) { Name (_ADR, 0x01) Method (_RMV, 0, NotSerialized) { Return (0x01) } } Device (J382) { Name (_ADR, 0x02) Method (_RMV, 0, NotSerialized) { Return (0x01) } } Device (J383) { Name (_ADR, 0x03) Method (_RMV, 0, NotSerialized) { Return (0x01) } } Device (J384) { Name (_ADR, 0x04) Method (_RMV, 0, NotSerialized) { Return (0x01) } } } Device (PB10) { Name (_ADR, 0x000A0000) Name (_PRW, Package (0x02) { 0x18, 0x04 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0xFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0xFFFF, 0x02, 0x00, 0x10 }, Package (0x04) { 0xFFFF, 0x03, 0x00, 0x11 } }) } Else { Return (Package (0x04) { Package (0x04) { 0xFFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0xFFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0xFFFF, 0x02, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0xFFFF, 0x03, \_SB.PCI0.LPC0.LNKB, 0x00 } }) } } } Scope (\_GPE) { Method (_L18, 0, NotSerialized) { Notify (\_SB.PCI0.PB2, 0x02) Notify (\_SB.PCI0.PB4, 0x02) Notify (\_SB.PCI0.PB5, 0x02) Notify (\_SB.PCI0.PB6, 0x02) Notify (\_SB.PCI0.PB7, 0x02) Notify (\_SB.PCI0.PB9, 0x02) Notify (\_SB.PCI0.PB10, 0x02) } } Device (OHC0) { Name (_ADR, 0x00120000) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (OHC1) { Name (_ADR, 0x00120001) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (OHC2) { Name (_ADR, 0x00130000) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (OHC3) { Name (_ADR, 0x00130001) } Device (OHC4) { Name (_ADR, 0x00140005) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (EHC0) { Name (_ADR, 0x00120002) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (EHC1) { Name (_ADR, 0x00130002) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (SATA) { Name (_ADR, 0x00110000) Name (B5EN, 0x00) Name (BA_5, 0x00) Name (SBAR, 0xF0508000) OperationRegion (SATX, PCI_Config, 0x00, 0x28) Field (SATX, AnyAcc, NoLock, Preserve) { VIDI, 32, Offset (0x24), BA05, 32 } Method (GBAA, 0, Serialized) { Store (BA05, BA_5) If (LEqual (BA_5, 0xFFFFFFFF)) { Store (0x00, B5EN) Return (SBAR) } Else { Store (0x01, B5EN) Return (BA_5) } } OperationRegion (BAR5, SystemMemory, GBAA, 0x1000) Field (BAR5, AnyAcc, NoLock, Preserve) { Offset (0x120), , 7, PMBY, 1, Offset (0x128), PMS0, 4, Offset (0x129), PMS1, 4, Offset (0x12C), DET0, 4, Offset (0x130), Offset (0x132), PRC0, 1, Offset (0x1A0), , 7, SMBY, 1, Offset (0x1A8), SMS0, 4, Offset (0x1A9), SMS1, 4, Offset (0x1AC), DET1, 4, Offset (0x1B0), Offset (0x1B2), PRC1, 1, Offset (0x220), , 7, PSBY, 1, Offset (0x228), PSS0, 4, Offset (0x229), PSS1, 4, Offset (0x22C), DET2, 4, Offset (0x230), Offset (0x232), PRC2, 1, Offset (0x2A0), , 7, SSBY, 1, Offset (0x2A8), SSS0, 4, Offset (0x2A9), SSS1, 4, Offset (0x2AC), DET3, 4, Offset (0x2B0), Offset (0x2B2), PRC3, 1 } Method (_INI, 0, NotSerialized) { GBAA () } Device (PRID) { Name (_ADR, 0x00) Name (SPTM, Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) Method (_GTM, 0, NotSerialized) { Return (SPTM) } Method (_STM, 3, NotSerialized) { Store (Arg0, SPTM) } Name (PRIS, 0x00) Method (_PS0, 0, NotSerialized) { GBAA () If (LAnd (LOr (LEqual (TPOS, 0x40), LEqual (TPOS, 0x04)), \_SB.PCI0.SATA.B5EN)) { If (\_SB.PCI0.SATA.PMS1) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.PMBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } If (\_SB.PCI0.SATA.PSS1) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.PSBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } } Store (0x00, PRIS) } Method (_PS3, 0, NotSerialized) { Store (0x03, PRIS) } Method (_PSC, 0, NotSerialized) { Return (PRIS) } Device (P_D0) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { GBAA () If (LEqual (B5EN, 0x00)) { Return (0x00) } If (Not (LEqual (\_SB.PCI0.SATA.PMS1, 0x00))) { Return (0x0F) } Else { Return (0x00) } } Name (S12P, 0x00) Method (_PS0, 0, NotSerialized) { GBAA () If (LAnd (LAnd (LNotEqual (TPOS, 0x40), LNotEqual (TPOS, 0x04)), \_SB.PCI0.SATA.B5EN)) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.PMBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } Store (0x00, S12P) } Method (_PS3, 0, NotSerialized) { Store (0x03, S12P) } Method (_PSC, 0, NotSerialized) { Return (S12P) } Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Return (Local0) } } Device (P_D1) { Name (_ADR, 0x01) Method (_STA, 0, NotSerialized) { GBAA () If (LEqual (B5EN, 0x00)) { Return (0x00) } If (Not (LEqual (\_SB.PCI0.SATA.SMS1, 0x00))) { Return (0x0F) } Else { Return (0x00) } } Name (S12P, 0x00) Method (_PS0, 0, NotSerialized) { GBAA () If (LAnd (LAnd (LNotEqual (TPOS, 0x40), LNotEqual (TPOS, 0x04)), \_SB.PCI0.SATA.B5EN)) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.PSBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } Store (0x00, S12P) } Method (_PS3, 0, NotSerialized) { Store (0x03, S12P) } Method (_PSC, 0, NotSerialized) { Return (S12P) } Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Return (Local0) } } } Device (SECD) { Name (_ADR, 0x01) Name (SPTM, Buffer (0x14) { /* 0000 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0008 */ 0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, /* 0010 */ 0x1F, 0x00, 0x00, 0x00 }) Method (_GTM, 0, NotSerialized) { Return (SPTM) } Method (_STM, 3, NotSerialized) { Store (Arg0, SPTM) } Name (SECS, 0x00) Method (_PS0, 0, NotSerialized) { GBAA () If (LAnd (LOr (LEqual (TPOS, 0x40), LEqual (TPOS, 0x04)), \_SB.PCI0.SATA.B5EN)) { If (\_SB.PCI0.SATA.SMS1) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.SMBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } If (\_SB.PCI0.SATA.SSS1) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.SSBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } } Store (0x00, SECS) } Method (_PS3, 0, NotSerialized) { Store (0x03, SECS) } Method (_PSC, 0, NotSerialized) { Return (SECS) } Device (S_D0) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { GBAA () If (LEqual (B5EN, 0x00)) { Return (0x00) } If (Not (LEqual (\_SB.PCI0.SATA.PSS1, 0x00))) { Return (0x0F) } Else { Return (0x00) } } Name (S12P, 0x00) Method (_PS0, 0, NotSerialized) { GBAA () If (LAnd (LAnd (LNotEqual (TPOS, 0x40), LNotEqual (TPOS, 0x04)), \_SB.PCI0.SATA.B5EN)) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.SMBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } Store (0x00, S12P) } Method (_PS3, 0, NotSerialized) { Store (0x03, S12P) } Method (_PSC, 0, NotSerialized) { Return (S12P) } Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Return (Local0) } } Device (S_D1) { Name (_ADR, 0x01) Method (_STA, 0, NotSerialized) { GBAA () If (LEqual (B5EN, 0x00)) { Return (0x00) } If (Not (LEqual (\_SB.PCI0.SATA.SSS0, 0x00))) { Return (0x0F) } Else { Return (0x00) } } Name (S12P, 0x00) Method (_PS0, 0, NotSerialized) { GBAA () If (LAnd (LAnd (LNotEqual (TPOS, 0x40), LNotEqual (TPOS, 0x04)), \_SB.PCI0.SATA.B5EN)) { Store (0x32, Local0) While (LAnd (LEqual (\_SB.PCI0.SATA.SSBY, 0x01), Local0)) { Sleep (0xFA) Decrement (Local0) } } Store (0x00, S12P) } Method (_PS3, 0, NotSerialized) { Store (0x03, S12P) } Method (_PSC, 0, NotSerialized) { Return (S12P) } Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x46, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local0) Return (Local0) } } } } Device (SMB) { Name (_ADR, 0x00140000) OperationRegion (Z00V, PCI_Config, 0x08, 0x0100) Field (Z00V, AnyAcc, NoLock, Preserve) { RVID, 8, Offset (0x0C), HPBS, 32, Offset (0x5A), I1F, 1, I12F, 1, , 2, MT3A, 1, Offset (0x5C), , 10, HPET, 1, Offset (0xF0), EIDX, 8, Offset (0xF4), EDAT, 32 } OperationRegion (WIDE, PCI_Config, 0xAD, 0x01) Field (WIDE, AnyAcc, NoLock, Preserve) { DUM1, 4, SOPT, 1 } OperationRegion (SMB2, SystemIO, 0x8040, 0x06) Field (SMB2, ByteAcc, NoLock, Preserve) { Z00W, 8, Z00X, 8, Z00Y, 8, Z00Z, 8, Z010, 8, Z011, 8 } OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02) Field (PMIO, ByteAcc, NoLock, Preserve) { INPM, 8, DAPM, 8 } IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve) { , 1, TM1E, 1, TM2E, 1, Offset (0x01), , 1, TM1S, 1, TM2S, 1, Offset (0x02), , 1, IR9E, 1, Offset (0x04), , 7, SLPS, 1, , 1, IR9S, 1, Offset (0x07), , 7, CLPS, 1, Offset (0x0D), EV0S, 1, EV1S, 1, Offset (0x10), , 6, PWDE, 1, Offset (0x1C), , 3, MKME, 1, PI3E, 1, PI2E, 1, PI1E, 1, PI0E, 1, , 3, MKMS, 1, PI3S, 1, PI2S, 1, PI1S, 1, PI0S, 1, Offset (0x20), P1EB, 16, Offset (0x36), , 5, GE5C, 1, GE6C, 1, Offset (0x37), EV0C, 1, EV1C, 1, , 2, GM1C, 1, GM2C, 1, GM3C, 1, Offset (0x38), , 1, GM4C, 1, GM5C, 1, , 1, GM6C, 1, Offset (0x3A), , 4, GM1S, 1, GM2S, 1, GM3S, 1, Offset (0x3B), , 1, GM4S, 1, GM5S, 1, , 1, GM6S, 1, Offset (0x55), SPRE, 1, , 1, , 1, EPNM, 1, DPPF, 1, FNGS, 1, , 1, HIHP, 1, Offset (0x61), , 7, R617, 1, Offset (0x65), , 4, RSTU, 1, Offset (0x68), , 3, TPDE, 1, , 1, Offset (0x7C), , 2, BLNK, 2, Offset (0x92), , 5, GE5S, 1, GE6S, 1, GV7S, 1, Offset (0x94), GP8O, 1, GP9O, 1, GP8E, 1, GP9E, 1, GP8I, 1, GP9I, 1, GP8L, 1, GP9L, 1, Offset (0x9A), , 7, HECO, 1, Offset (0xA8), PI4E, 1, PI5E, 1, PI6E, 1, PI7E, 1, Offset (0xA9), PI4S, 1, PI5S, 1, PI6S, 1, PI7S, 1 } OperationRegion (P1E0, SystemIO, P1EB, 0x04) Field (P1E0, ByteAcc, NoLock, Preserve) { , 14, PEWS, 1, WSTA, 1, , 14, PEWD, 1 } OperationRegion (GPIO, PCI_Config, 0x00, 0x0100) Field (GPIO, AnyAcc, NoLock, Preserve) { Offset (0x50), G49O, 1, G50O, 1, G51O, 1, G52O, 1, G49E, 1, G50E, 1, G51E, 1, G52E, 1, Offset (0x52), G53O, 1, G54O, 1, G55O, 1, G56O, 1, G53E, 1, G54E, 1, G55E, 1, G56E, 1, Offset (0x56), , 3, G64O, 1, , 3, G64E, 1, Offset (0x5A), G70O, 1, G71O, 1, G72O, 1, G73O, 1, G70E, 1, G71E, 1, G72E, 1, G73E, 1, G70S, 1, G71S, 1, G72S, 1, G73S, 1, G70F, 1, G71F, 1, G72F, 1, G73F, 1, Offset (0x7E), , 1, G66O, 1, , 3, G66E, 1, Offset (0x7F), , 1, G66S, 1, Offset (0x80), , 3, G03O, 1, , 3, G03E, 1, , 3, G03S, 1, Offset (0x82), G13O, 1, , 3, G13E, 1, Offset (0xA6), , 3, G48O, 1, , 3, G48E, 1, Offset (0xA8), , 1, G05O, 1, , 1, G07O, 1, G08O, 1, G09O, 1, Offset (0xA9), , 1, G05E, 1, , 1, G07E, 1, G08E, 1, G09E, 1, Offset (0xAA), , 3, G07S, 1, Offset (0xBC), G33O, 1, G34O, 1, G35O, 1, G36O, 1, G33E, 1, G34E, 1, G35E, 1, G36E, 1, G33S, 1, G34S, 1, G35S, 1, G36S, 1, G33F, 1, G34F, 1, G35F, 1, G36F, 1 } Method (TRMD, 0, NotSerialized) { Store (Zero, SPRE) Store (Zero, TPDE) } Method (HTCD, 0, NotSerialized) { Store (Zero, PI2E) Store (Zero, TM2E) Store (PI2S, PI2S) Store (TM2S, TM2S) } } Device (IDE) { Name (_ADR, 0x00140001) Name (UDMT, Package (0x08) { 0x78, 0x5A, 0x3C, 0x2D, 0x1E, 0x14, 0x0F, 0x00 }) Name (PIOT, Package (0x06) { 0x0258, 0x0186, 0x010E, 0xB4, 0x78, 0x00 }) Name (PITR, Package (0x06) { 0x99, 0x47, 0x34, 0x22, 0x20, 0x99 }) Name (MDMT, Package (0x04) { 0x01E0, 0x96, 0x78, 0x00 }) Name (MDTR, Package (0x04) { 0x77, 0x21, 0x20, 0xFF }) OperationRegion (IDE, PCI_Config, 0x40, 0x20) Field (IDE, WordAcc, NoLock, Preserve) { PPIT, 16, SPIT, 16, PMDT, 16, SMDT, 16, PPIC, 8, SPIC, 8, PPIM, 8, SPIM, 8, Offset (0x14), PUDC, 2, SUDC, 2, Offset (0x16), PUDM, 8, SUDM, 8 } Method (ATPI, 1, NotSerialized) { Store (Arg0, Local0) And (Local0, 0xFF, Local0) Or (Local0, 0x41544900, Local0) Store (Local0, \_SB.PCI0.LPC0.INFO) } Method (GETT, 1, NotSerialized) { Store (And (Arg0, 0x0F), Local0) Store (ShiftRight (Arg0, 0x04), Local1) Return (Multiply (0x1E, Add (Add (Local0, 0x01), Add (Local1, 0x01)))) } Method (GTM, 1, NotSerialized) { CreateByteField (Arg0, 0x00, PIT1) CreateByteField (Arg0, 0x01, PIT0) CreateByteField (Arg0, 0x02, MDT1) CreateByteField (Arg0, 0x03, MDT0) CreateByteField (Arg0, 0x04, PICX) CreateByteField (Arg0, 0x05, UDCX) CreateByteField (Arg0, 0x06, UDMX) Name (BUF, Buffer (0x14) { /* 0000 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 0008 */ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (BUF, 0x00, PIO0) CreateDWordField (BUF, 0x04, DMA0) CreateDWordField (BUF, 0x08, PIO1) CreateDWordField (BUF, 0x0C, DMA1) CreateDWordField (BUF, 0x10, FLAG) If (And (PICX, 0x01)) { Return (BUF) } Store (GETT (PIT0), PIO0) Store (GETT (PIT1), PIO1) If (And (UDCX, 0x01)) { Or (FLAG, 0x01, FLAG) Store (DerefOf (Index (^UDMT, And (UDMX, 0x0F))), DMA0) } Else { Store (GETT (MDT0), DMA0) } If (And (UDCX, 0x02)) { Or (FLAG, 0x04, FLAG) Store (DerefOf (Index (^UDMT, ShiftRight (UDMX, 0x04))), DMA1) } Else { Store (GETT (MDT1), DMA1) } Or (FLAG, 0x1A, FLAG) Return (BUF) } Method (STM, 3, NotSerialized) { CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateByteField (BUF, 0x00, PIT1) CreateByteField (BUF, 0x01, PIT0) CreateByteField (BUF, 0x02, MDT1) CreateByteField (BUF, 0x03, MDT0) CreateByteField (BUF, 0x04, PIMX) CreateByteField (BUF, 0x05, UDCX) CreateByteField (BUF, 0x06, UDMX) Store (Match (^PIOT, MLE, PIO0, MTR, 0x00, 0x00), Local0) Divide (Local0, 0x05, Local0) Store (Match (^PIOT, MLE, PIO1, MTR, 0x00, 0x00), Local1) Divide (Local1, 0x05, Local1) Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX) Store (DerefOf (Index (^PITR, Local0)), PIT0) Store (DerefOf (Index (^PITR, Local1)), PIT1) If (And (FLAG, 0x01)) { Store (Match (^UDMT, MLE, DMA0, MTR, 0x00, 0x00), Local0) Divide (Local0, 0x07, Local0) Or (UDMX, Local0, UDMX) Or (UDCX, 0x01, UDCX) } Else { If (LNotEqual (DMA0, 0xFFFFFFFF)) { Store (Match (^MDMT, MLE, DMA0, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^MDTR, Local0)), MDT0) } } If (And (FLAG, 0x04)) { Store (Match (^UDMT, MLE, DMA1, MTR, 0x00, 0x00), Local0) Divide (Local0, 0x07, Local0) Or (UDMX, ShiftLeft (Local0, 0x04), UDMX) Or (UDCX, 0x02, UDCX) } Else { If (LNotEqual (DMA1, 0xFFFFFFFF)) { Store (Match (^MDMT, MLE, DMA1, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^MDTR, Local0)), MDT1) } } Return (BUF) } Method (GTF, 2, NotSerialized) { CreateByteField (Arg1, 0x00, MDT1) CreateByteField (Arg1, 0x01, MDT0) CreateByteField (Arg1, 0x02, PIMX) CreateByteField (Arg1, 0x03, UDCX) CreateByteField (Arg1, 0x04, UDMX) If (LEqual (Arg0, 0xA0)) { Store (And (PIMX, 0x0F), Local0) Store (MDT0, Local1) And (UDCX, 0x01, Local2) Store (And (UDMX, 0x0F), Local3) } Else { Store (ShiftRight (PIMX, 0x04), Local0) Store (MDT1, Local1) And (UDCX, 0x02, Local2) Store (ShiftRight (UDMX, 0x04), Local3) } Name (BUF, Buffer (0x15) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0xF5 }) CreateByteField (BUF, 0x01, PMOD) CreateByteField (BUF, 0x08, DMOD) CreateByteField (BUF, 0x05, CMDA) CreateByteField (BUF, 0x0C, CMDB) CreateByteField (BUF, 0x13, CMDC) Store (Arg0, CMDA) Store (Arg0, CMDB) Store (Arg0, CMDC) Or (Local0, 0x08, PMOD) If (Local2) { Or (Local3, 0x40, DMOD) } Else { Store (Match (^MDMT, MLE, GETT (Local1), MTR, 0x00, 0x00), Local4) If (LLess (Local4, 0x03)) { Or (0x20, Local4, DMOD) } } Return (BUF) } Device (PRID) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) If (\_SB.PCI0.SMB.SOPT) { Store (^^PPIT, VPIT) Store (^^PMDT, VMDT) Store (^^PPIC, VPIC) Store (^^PUDC, VUDC) Store (^^PUDM, VUDM) } Else { Store (^^SPIT, VPIT) Store (^^SMDT, VMDT) Store (^^SPIC, VPIC) Store (^^SUDC, VUDC) Store (^^SUDM, VUDM) } Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (STM (Arg0, Arg1, Arg2), BUF) If (\_SB.PCI0.SMB.SOPT) { Store (VPIT, ^^PPIT) Store (VMDT, ^^PMDT) Store (VPIM, ^^PPIM) Store (VUDC, ^^PUDC) Store (VUDM, ^^PUDM) } Else { Store (VPIT, ^^SPIT) Store (VMDT, ^^SMDT) Store (VPIM, ^^SPIM) Store (VUDC, ^^SUDC) Store (VUDM, ^^SUDM) } } Device (P_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) If (\_SB.PCI0.SMB.SOPT) { Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) } Else { Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) } Return (GTF (0xA0, BUF)) } } Device (P_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) If (\_SB.PCI0.SMB.SOPT) { Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) } Else { Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) } Return (GTF (0xB0, BUF)) } } Method (_STA, 0, NotSerialized) { And (PPIC, 0x01, Local0) If (LAnd (Local0, 0x01)) { Return (Z008) } Else { Return (Z005) } } } Device (SECD) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) If (LGreaterEqual (\_SB.PCI0.SMB.RVID, 0x3A)) { If (\_SB.PCI0.SMB.SOPT) { Store (^^PPIT, VPIT) Store (^^PMDT, VMDT) Store (^^PPIC, VPIC) Store (^^PUDC, VUDC) Store (^^PUDM, VUDM) } Else { Store (^^SPIT, VPIT) Store (^^SMDT, VMDT) Store (^^SPIC, VPIC) Store (^^SUDC, VUDC) Store (^^SUDM, VUDM) } } Else { If (\_SB.PCI0.SMB.SOPT) { Store (^^SPIT, VPIT) Store (^^SMDT, VMDT) Store (^^SPIC, VPIC) Store (^^SUDC, VUDC) Store (^^SUDM, VUDM) } Else { Store (^^PPIT, VPIT) Store (^^PMDT, VMDT) Store (^^PPIC, VPIC) Store (^^PUDC, VUDC) Store (^^PUDM, VUDM) } } Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (STM (Arg0, Arg1, Arg2), BUF) If (LGreaterEqual (\_SB.PCI0.SMB.RVID, 0x3A)) { If (\_SB.PCI0.SMB.SOPT) { Store (VPIT, ^^PPIT) Store (VMDT, ^^PMDT) Store (VPIM, ^^PPIM) Store (VUDC, ^^PUDC) Store (VUDM, ^^PUDM) } Else { Store (VPIT, ^^SPIT) Store (VMDT, ^^SMDT) Store (VPIM, ^^SPIM) Store (VUDC, ^^SUDC) Store (VUDM, ^^SUDM) } } Else { If (\_SB.PCI0.SMB.SOPT) { Store (VPIT, ^^SPIT) Store (VMDT, ^^SMDT) Store (VPIM, ^^SPIM) Store (VUDC, ^^SUDC) Store (VUDM, ^^SUDM) } Else { Store (VPIT, ^^PPIT) Store (VMDT, ^^PMDT) Store (VPIM, ^^PPIM) Store (VUDC, ^^PUDC) Store (VUDM, ^^PUDM) } } } Device (S_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) If (LGreaterEqual (\_SB.PCI0.SMB.RVID, 0x3A)) { If (\_SB.PCI0.SMB.SOPT) { Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) } Else { Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) } } Else { If (\_SB.PCI0.SMB.SOPT) { Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) } Else { Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) } } Return (GTF (0xA0, BUF)) } } Device (S_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) If (LGreaterEqual (\_SB.PCI0.SMB.RVID, 0x3A)) { If (\_SB.PCI0.SMB.SOPT) { Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) } Else { Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) } } Else { If (\_SB.PCI0.SMB.SOPT) { Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) } Else { Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) } } Return (GTF (0xB0, BUF)) } } Method (_STA, 0, NotSerialized) { And (SPIC, 0x01, Local0) If (LAnd (Local0, 0x01)) { Return (Z008) } Else { Return (Z005) } } } } Device (HDA) { Name (_ADR, 0x00140002) Name (_PRW, Package (0x02) { 0x1B, 0x03 }) } Device (LPC0) { Name (_ADR, 0x00140003) Mutex (PSMX, 0x00) OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02) Field (PIRQ, ByteAcc, NoLock, Preserve) { PIID, 8, PIDA, 8 } IndexField (PIID, PIDA, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, PIRS, 8, Offset (0x09), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Name (IPRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10,11} }) Name (UPRS, ResourceTemplate () { IRQ (Level, ActiveLow, Exclusive, ) {3,4,5,7} }) Method (DSPI, 0, NotSerialized) { Store (0x00, PIRA) Store (0x00, PIRB) Store (0x00, PIRC) Store (0x00, PIRD) Store (0x00, PIRE) Store (0x00, PIRF) Store (0x00, PIRG) Store (0x00, PIRH) } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If (PIRA) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRA) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRA, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (PIRB) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRB) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRB, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (PIRC) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRC) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRC, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (PIRD) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRD) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRD, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (PIRE) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRE) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRE, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (PIRF) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRF) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRF, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (PIRG) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRG) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRG, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (PIRH) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRH) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRH, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRH) } } OperationRegion (LCLM, SystemIO, 0x0C50, 0x03) Field (LCLM, ByteAcc, NoLock, Preserve) { CLMI, 8, CLMD, 8, CLGP, 8 } OperationRegion (ECTH, SystemIO, 0x68, 0x06) Field (ECTH, ByteAcc, NoLock, Preserve) { ECPI, 8, Offset (0x02), Offset (0x03), Offset (0x04), ECPD, 8 } IndexField (CLMI, CLMD, ByteAcc, NoLock, Preserve) { IDRG, 8, Offset (0x02), TSTS, 8, TINT, 8, Offset (0x12), I2CC, 8, GPIO, 8 } Method (RGPM, 0, NotSerialized) { Store (\_SB.PCI0.LPC0.GPIO, Local0) And (Local0, Not (0xC0), Local0) Store (Local0, \_SB.PCI0.LPC0.GPIO) Store (\_SB.PCI0.LPC0.CLGP, Local1) Return (Local1) } OperationRegion (LPCR, PCI_Config, 0x00, 0x7F) Field (LPCR, ByteAcc, NoLock, Preserve) { Offset (0x44), CMA0, 1, CMA1, 1, CMA2, 1, CMA3, 1, CMA4, 1, CMA5, 1, CMA6, 1, CMA7, 1, CMB0, 1, CMB1, 1, CMB2, 1, CMB3, 1, CMB4, 1, CMB5, 1, CMB6, 1, CMB7, 1, Offset (0x48), , 2, ENW0, 1, Offset (0x4A), IOP0, 1, IOP1, 1, IOP2, 1, IOP3, 1, Offset (0x4B), ENW1, 1, Offset (0x64), IOB1, 16, IOB2, 16, Offset (0x74), AWR0, 1, , 1, AWR1, 1 } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {13} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {2} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (TIME) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {0} }) } Device (KBC0) { Name (_HID, EisaId ("PNP0303")) Method (_STA, 0, NotSerialized) { If (LEqual (KBTP, 0x4A)) { Return (0x00) } Else { Return (0x0F) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) } Device (KBCJ) { Name (_HID, EisaId ("PNP0320")) Method (_STA, 0, NotSerialized) { If (LEqual (KBTP, 0x4A)) { Return (0x0F) } Else { Return (0x00) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) } Device (MSE0) { Name (_HID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Method (_STA, 0, NotSerialized) { If (LOr (LEqual (PTYP, 0x02), LEqual (PTYP, 0x04))) { Return (0x0F) } Else { If (LEqual (PTYP, 0x01)) { Return (0x00) } Else { Return (0x0F) } } } Method (_PSW, 1, NotSerialized) { } } Device (MSS0) { Name (_HID, EisaId ("SYN1B17")) Name (_CID, Package (0x03) { 0x00072E4F, 0x02002E4F, 0x130FD041 }) Method (_STA, 0, NotSerialized) { If (LEqual (PTYP, 0x01)) { Return (0x0F) } Else { Return (0x00) } } Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) Method (_PSW, 1, NotSerialized) { } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Method (_STA, 0, NotSerialized) { If (PJID) { Return (0x00) } Else { Return (0x0F) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x006C, // Range Minimum 0x006C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0220, // Range Minimum 0x0220, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x040B, // Range Minimum 0x040B, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D6, // Range Minimum 0x04D6, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0530, // Range Minimum 0x0530, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0C00, // Range Minimum 0x0C00, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0C14, // Range Minimum 0x0C14, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C50, // Range Minimum 0x0C50, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x0C6C, // Range Minimum 0x0C6C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C6F, // Range Minimum 0x0C6F, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0CD0, // Range Minimum 0x0CD0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD2, // Range Minimum 0x0CD2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD4, // Range Minimum 0x0CD4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD6, // Range Minimum 0x0CD6, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD8, // Range Minimum 0x0CD8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x8000, // Range Minimum 0x8000, // Range Maximum 0x01, // Alignment 0x60, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x8100, // Range Minimum 0x81FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x8200, // Range Minimum 0x82FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, , TypeStatic) IO (Decode16, 0x0F40, // Range Minimum 0x0F40, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x087F, // Range Minimum 0x087F, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (SYSC) { Name (_HID, EisaId ("PNP0C02")) Method (_STA, 0, NotSerialized) { If (PJID) { Return (0x0F) } Else { Return (0x00) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0068, // Range Minimum 0x0068, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x006C, // Range Minimum 0x006C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x1080, // Range Minimum 0x1080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00B8, // Range Minimum 0x00B8, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0220, // Range Minimum 0x0220, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x040B, // Range Minimum 0x040B, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D6, // Range Minimum 0x04D6, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0530, // Range Minimum 0x0530, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0C00, // Range Minimum 0x0C00, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0C14, // Range Minimum 0x0C14, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C50, // Range Minimum 0x0C50, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x0C6C, // Range Minimum 0x0C6C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C6F, // Range Minimum 0x0C6F, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0CD0, // Range Minimum 0x0CD0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD2, // Range Minimum 0x0CD2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD4, // Range Minimum 0x0CD4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD6, // Range Minimum 0x0CD6, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD8, // Range Minimum 0x0CD8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x8000, // Range Minimum 0x8000, // Range Maximum 0x01, // Alignment 0x60, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x8100, // Range Minimum 0x81FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x8200, // Range Minimum 0x82FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, , TypeStatic) IO (Decode16, 0x0F40, // Range Minimum 0x0F40, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x087F, // Range Minimum 0x087F, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0xFD60, // Range Minimum 0xFD60, // Range Maximum 0x01, // Alignment 0x04, // Length ) }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Name (MSRC, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFF00000, // Address Base 0x00100000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y1D) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._Y1D._BAS, BARX) CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._Y1D._LEN, GALN) Store (\_SB.PCI0.Z00U, Local0) If (Local0) { Store (0x1000, GALN) And (Local0, 0xFFFFFFF0, BARX) } Return (MSRC) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } OperationRegion (SMI0, SystemIO, 0x00000F40, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0xBDEDDCDC, 0x00000120) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 1024 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8, INF1, 32 } Method (PHSS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0xA0, BCMD) Store (Arg0, DID) Store (Zero, SMIC) Release (PSMX) } Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y1E) }) Method (_STA, 0, NotSerialized) { If (LEqual (\_SB.PCI0.SMB.HPET, One)) { Return (0x0F) } Else { Return (0x00) } } Mutex (HPSM, 0x00) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.PCI0.LPC0.HPET._Y1E._BAS, HPT) Acquire (HPSM, 0xFFFF) Store (\_SB.PCI0.SMB.HIHP, Local0) Store (Zero, \_SB.PCI0.SMB.HIHP) If (LNotEqual (\_SB.PCI0.SMB.HPBS, 0x00)) { Store (\_SB.PCI0.SMB.HPBS, HPT) } Store (Local0, \_SB.PCI0.SMB.HIHP) Release (HPSM) And (HPT, 0xFFFFFFC0, HPT) Return (CRS) } } Method (ECOK, 0, NotSerialized) { If (LEqual (\_SB.PCI0.LPC0.EC0.Z012, 0x01)) { If (LEqual (OSYS, 0x40)) { Store (0x01, \_SB.PCI0.LPC0.EC0.OSIF) } Else { Store (0x00, \_SB.PCI0.LPC0.EC0.OSIF) } Return (0x01) } Else { Return (0x00) } } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x03) Name (Z012, Zero) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, Z012) } } OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x08), BATM, 16, Offset (0x19), BATD, 56, Offset (0x60), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMDR, 32, BCNT, 8, SMAA, 8, SMD0, 8, SMD1, 8, Offset (0x90), Offset (0x91), Offset (0x92), Offset (0x93), Offset (0x94), ERIB, 16, ERBD, 8, Offset (0x98), Offset (0x99), OSIF, 1, Offset (0x9A), BAL1, 1, BAL2, 1, BAL3, 1, BAL4, 1, BCL1, 1, BCL2, 1, BCL3, 1, BCL4, 1, BPU1, 1, BPU2, 1, BPU3, 1, BPU4, 1, BOS1, 1, BOS2, 1, BOS3, 1, BOS4, 1, PHDD, 1, IFDD, 1, IODD, 1, SHDD, 1, LS20, 1, EFDD, 1, ECRT, 1, LANC, 1, SBTN, 1, VIDO, 1, VOLD, 1, VOLU, 1, MUTE, 1, CONT, 1, BRGT, 1, HBTN, 1, S4SE, 1, SKEY, 1, BKEY, 1, TKEY, 1, FKEY, 1, DVDM, 1, DIGM, 1, CDLK, 1, , 1, LIDO, 1, PMEE, 1, PBET, 1, RIIN, 1, BTWK, 1, DKIN, 1, Offset (0xA0), , 6, SWTH, 1, HWTH, 1, DKT0, 1, DKT1, 1, , 2, OSUD, 1, OSDK, 1, OSSU, 1, DKCG, 1, ODTS, 8, S1LD, 1, S3LD, 1, VGAQ, 1, PCMQ, 1, PCMR, 1, ADPT, 1, SYS6, 1, SYS7, 1, PWAK, 1, MWAK, 1, LWAK, 1, RWAK, 1, , 2, KWAK, 1, MSWK, 1, CCAC, 1, AOAC, 1, BLAC, 1, PSRC, 1, BOAC, 1, LCAC, 1, AAAC, 1, ACAC, 1, PCEC, 8, THON, 8, THSD, 8, Offset (0xAA), TCON, 8, THRS, 8, THSE, 8, FSSN, 4, FANU, 4, PTVL, 3, , 3, TTSR, 1, TTHR, 1, TSTH, 1, TSBC, 1, TSBF, 1, TSPL, 1, TSBT, 1, , 2, THTA, 1, CTMP, 8, LTMP, 8, SKTA, 8, SKTB, 8, SKTC, 8, SKTD, 8, NBTP, 8, LANP, 1, LCDS, 1, Offset (0xB8), BTPV, 8, BRTS, 8, CTRS, 8, WLAT, 1, BTAT, 1, WLEX, 1, BTEX, 1, KLSW, 1, WLOK, 1, Offset (0xBC), PJID, 8, CPUN, 8, THFN, 8, MLED, 1, SCHG, 1, SCCF, 1, SCPF, 1, ACIS, 1, Offset (0xC0), , 4, BTMF, 3, BTY0, 1, BST0, 8, BRC0, 16, BSN0, 16, BPV0, 16, BDV0, 16, BDC0, 16, BFC0, 16, GAU0, 8, BSCY, 8, BSCU, 16, BAC0, 16, BTW0, 8, BATV, 8, BPTC, 8, BTTC, 8, BTMA, 16, BTSC, 8, BCIX, 8, CCBA, 8, CBOT, 8, BTSS, 16, OVCC, 8, CCFC, 8, BADC, 8, BSC1, 16, BSC2, 16, BSC3, 16, BSC4, 16, BDME, 16, Offset (0xEE), Offset (0xEF), Offset (0xF0), BTS1, 8, BTS2, 8, BSCS, 16, BDAD, 16, BACV, 16, BDFC, 16 } Method (PCLK, 0, NotSerialized) { Store (PTVL, Local0) Store (Local0, P80H) Store (0x04, Local1) If (LGreater (Local1, 0x00)) { Decrement (Local1) } If (LLessEqual (Local0, Local1)) { Store (Local0, \_PR.CPU0._PPC) If (LEqual (CPUS, 0x00)) { Store (Local0, \_PR.CPU1._PPC) } } Else { Store (Local1, \_PR.CPU0._PPC) If (LEqual (CPUS, 0x00)) { Store (Local1, \_PR.CPU1._PPC) } } Notify (\_PR.CPU0, 0x80) If (LEqual (CPUS, 0x00)) { Notify (\_PR.CPU1, 0x80) } } Method (_Q11, 0, NotSerialized) { If (LEqual (OSYS, 0x40)) { Store (0x87, P80H) If (UMAS) { Notify (\_SB.PCI0.AGP.VGA.LCD, 0x87) } Else { Notify (\_SB.PCI0.PB2.DGFX.LCD, 0x87) } If (LEqual (\_SB.WMID.BAEF, 0x01)) { Store (\_SB.PCI0.LPC0.EC0.BRTS, Local1) Store (\_SB.WMID.LBL0, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (\_SB.WMID, 0x80) } } Else { If (LEqual (\_SB.WMID.BAEF, 0x01)) { Store (\_SB.PCI0.LPC0.EC0.BRTS, Local1) Store (\_SB.WMID.LBL0, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (\_SB.WMID, 0x80) } } } Method (_Q12, 0, NotSerialized) { If (LEqual (OSYS, 0x40)) { Store (0x86, P80H) If (UMAS) { Notify (\_SB.PCI0.AGP.VGA.LCD, 0x86) } Else { Notify (\_SB.PCI0.PB2.DGFX.LCD, 0x86) } If (LEqual (\_SB.WMID.BAEF, 0x01)) { Store (\_SB.PCI0.LPC0.EC0.BRTS, Local1) Store (\_SB.WMID.LBL0, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (\_SB.WMID, 0x80) } } Else { If (LEqual (\_SB.WMID.BAEF, 0x01)) { Store (\_SB.PCI0.LPC0.EC0.BRTS, Local1) Store (\_SB.WMID.LBL0, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (\_SB.WMID, 0x80) } } } Method (_Q15, 0, NotSerialized) { Store (0x15, P80H) Notify (\_SB.LID, 0x80) } Method (_Q16, 0, NotSerialized) { Store (0x16, P80H) Notify (\_SB.LID, 0x80) } Method (_Q1D, 0, NotSerialized) { Store (0x1D, P80H) \_SB.PCI0.LPC0.EC0.PCLK () Notify (\_TZ.THRM, 0x80) Sleep (0x1E) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) } Method (_Q22, 0, NotSerialized) { Notify (\_SB.PCI0.LPC0.BAT1, 0x80) } Method (_Q25, 0, NotSerialized) { Store (0x25, P80H) Notify (\_SB.PCI0.LPC0.BAT1, 0x81) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) } Method (_Q27, 0, NotSerialized) { Notify (\_TZ.THRM, 0x80) } Method (_Q2A, 0, NotSerialized) { Store (0x1F, \_SB.PCI0.SMB.Z00W) Sleep (0x32) Store (0xC0, \_SB.PCI0.SMB.Z010) Sleep (0x32) Store (0x01, \_SB.PCI0.SMB.Z00Z) Sleep (0x32) Store (0x00, \_SB.PCI0.SMB.Z011) Sleep (0x32) Store (0x4C, \_SB.PCI0.SMB.Z00Y) Sleep (0x32) Store (0x1F, \_SB.PCI0.SMB.Z00W) Sleep (0x32) } Method (_Q2B, 0, NotSerialized) { Store (0x1F, \_SB.PCI0.SMB.Z00W) Sleep (0x32) Store (0xC0, \_SB.PCI0.SMB.Z010) Sleep (0x32) Store (0x03, \_SB.PCI0.SMB.Z00Z) Sleep (0x32) Store (0x01, \_SB.PCI0.SMB.Z011) Sleep (0x32) Store (0x4C, \_SB.PCI0.SMB.Z00Y) Sleep (0x32) Store (0x1F, \_SB.PCI0.SMB.Z00W) Sleep (0x32) } Method (_Q34, 0, NotSerialized) { If (LEqual (\_SB.WMID.BAEF, 0x01)) { Store (\_SB.PCI0.LPC0.EC0.BTAT, Local1) Store (\_SB.WMID.BLTD, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (\_SB.WMID, 0x80) } } Method (_Q37, 0, NotSerialized) { Store (0x37, P80H) Notify (\_SB.PCI0.LPC0.ACAD, 0x80) Sleep (0x03E8) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) Notify (\_PR.CPU0, 0x80) If (LEqual (CPUS, 0x00)) { Notify (\_PR.CPU1, 0x80) } } Method (_Q38, 0, NotSerialized) { Store (0x38, P80H) Notify (\_SB.PCI0.LPC0.ACAD, 0x80) Sleep (0x03E8) Notify (\_SB.PCI0.LPC0.BAT1, 0x80) Notify (\_PR.CPU0, 0x80) If (LEqual (CPUS, 0x00)) { Notify (\_PR.CPU1, 0x80) } } Method (_Q4F, 0, NotSerialized) { If (LEqual (\_SB.WMID.BAEF, One)) { Store (0x01, Local1) If (LEqual (\_SB.PCI0.LPC0.EC0.LANC, 0x01)) { Store (0x00, Local1) } Store (\_SB.WMID.LANI, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (WMID, 0x80) } } Method (_Q50, 0, NotSerialized) { If (LEqual (\_SB.WMID.BAEF, One)) { Store (0x00, Local1) If (LEqual (\_SB.PCI0.LPC0.EC0.LCDS, 0x01)) { Store (0x01, Local1) } Store (\_SB.WMID.LDOF, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (WMID, 0x80) } } Method (_Q60, 0, NotSerialized) { If (LEqual (\_SB.WMID.BAEF, 0x01)) { Store (\_SB.PCI0.LPC0.EC0.WLAT, Local1) Store (\_SB.WMID.WLSD, Local2) Add (Local2, Local1, Local2) Store (Local2, \_SB.WMID.NTDC) Notify (\_SB.WMID, 0x80) } } Method (_Q43, 0, NotSerialized) { } OperationRegion (CCLK, SystemIO, 0x8010, 0x04) Field (CCLK, DWordAcc, NoLock, Preserve) { , 1, DUTY, 3, THEN, 1, Offset (0x01), , 9, TSTS, 1 } Mutex (FAMX, 0x00) Method (FANG, 1, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (ERBD, Local0) Release (FAMX) Return (Local0) } Method (FANW, 2, NotSerialized) { Acquire (FAMX, 0xFFFF) Store (Arg0, ERIB) Store (Arg1, ERBD) Release (FAMX) Return (Arg1) } Method (TUVR, 1, NotSerialized) { Return (0x03) } Method (THRO, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Return (THEN) } Else { If (LEqual (Arg0, 0x01)) { Return (DUTY) } Else { If (LEqual (Arg0, 0x02)) { Return (TTHR) } Else { Return (0xFF) } } } } Method (CLCK, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (0x00, THEN) } Else { Store (Arg0, DUTY) Store (0x01, THEN) } Return (THEN) } } Device (MIR) { Name (_HID, EisaId ("ENE0100")) Method (_STA, 0, NotSerialized) { If (PJID) { Return (0x00) } Else { Return (0x0F) } } Method (_CRS, 0, NotSerialized) { Name (BUF0, ResourceTemplate () { IO (Decode16, 0xFD60, // Range Minimum 0xFD60, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {4} }) Return (BUF0) } Name (_PRS, ResourceTemplate () { IO (Decode16, 0xFD60, // Range Minimum 0xFD60, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {4} }) } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { \_SB }) Method (_PSR, 0, NotSerialized) { If (ECOK ()) { Store (\_SB.PCI0.LPC0.EC0.ADPT, Local0) If (UMAS) { If (Local0) { \_SB.PCI0.AGP.VGA.AFN4 (0x01) } Else { \_SB.PCI0.AGP.VGA.AFN4 (0x02) } } Return (Local0) } Return (0x01) } } Device (BAT1) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (_PCL, Package (0x01) { \_SB }) Name (PBIF, Package (0x0D) { 0x01, 0x19C8, 0x19C8, 0x01, 0x39D0, 0x0294, 0xC6, 0x0108, 0x0EC4, "Primary ", "", "Lion", "Acer" }) Name (PBST, Package (0x04) { 0x01, 0xFFFFFFFF, 0xFFFFFFFF, 0x39D0 }) Method (_STA, 0, NotSerialized) { If (ECOK ()) { If (\_SB.PCI0.LPC0.EC0.BAL1) { Sleep (0x14) Return (0x1F) } Else { Sleep (0x14) Return (0x0F) } } Else { Sleep (0x14) Return (0x1F) } } Method (_BIF, 0, NotSerialized) { If (ECOK ()) { Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BDC0, Index (PBIF, 0x01)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BFC0, Index (PBIF, 0x02)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BDV0, Index (PBIF, 0x04)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BDC0, Local2) Divide (Local2, 0x64, Local6, Local2) Multiply (Local2, 0x05, Local3) Store (Local3, Index (PBIF, 0x05)) Multiply (Local2, 0x03, Local4) Store (Local4, Index (PBIF, 0x06)) If (LGreaterEqual (OSYS, 0x40)) { ToHexString (\_SB.PCI0.LPC0.EC0.BSN0, Local2) Mid (Local2, 0x02, 0x04, Local3) Store (Local3, Index (PBIF, 0x0A)) Sleep (0x14) } Store (\_SB.PCI0.LPC0.EC0.BATD, Index (PBIF, 0x09)) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BTMF, Local1) Sleep (0x14) If (LEqual (Local1, 0x01)) { Store ("SANYO ", Index (PBIF, 0x0C)) } Else { If (LEqual (Local1, 0x02)) { Store ("SONY ", Index (PBIF, 0x0C)) } Else { If (LEqual (Local1, 0x04)) { Store ("PANASONIC ", Index (PBIF, 0x0C)) } Else { If (LEqual (Local1, 0x03)) { Store ("Simplo ", Index (PBIF, 0x0C)) } Else { Store ("COMPAL ", Index (PBIF, 0x0C)) } } } } } Return (PBIF) } Method (_BST, 0, NotSerialized) { If (ECOK ()) { Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BST0, Local0) And (Local0, 0x07, Local0) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.GAU0, Local2) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BPV0, Local3) Sleep (0x14) Store (\_SB.PCI0.LPC0.EC0.BFC0, Local1) If (Local2) { Multiply (Local2, Local1, Local2) Divide (Local2, 0x64, Local6, Local2) If (Local6) { Increment (Local2) } } Store (\_SB.PCI0.LPC0.EC0.BAC0, Local1) If (And (Local1, 0x8000, Local1)) { Store (\_SB.PCI0.LPC0.EC0.BAC0, Local1) Subtract (0xFFFF, Local1, Local1) } Else { Store (0x00, Local1) } Store (Local0, Index (PBST, 0x00)) Store (Local1, Index (PBST, 0x01)) Store (Local2, Index (PBST, 0x02)) Store (Local3, Index (PBST, 0x03)) } Return (PBST) } } } Device (P2P) { Name (_ADR, 0x00140004) Name (_PRW, Package (0x02) { 0x04, 0x05 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x01) { Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x14 } }) } Else { Return (Package (0x01) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPC0.LNKE, 0x00 } }) } } } Device (AGP) { Name (_ADR, 0x00010000) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x02) { Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x0005FFFF, 0x01, 0x00, 0x13 } }) } Else { Return (Package (0x02) { Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0005FFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 } }) } } Device (VGA) { Name (_ADR, 0x00050000) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (ATIB, Buffer (0x0100) {}) Name (SWIT, 0x01) Name (CRTA, 0x01) Name (LCDA, 0x01) Name (TVAA, 0x01) Name (VLDF, 0x01) OperationRegion (VIDS, PCI_Config, 0x00, 0xC8) Field (VIDS, DWordAcc, NoLock, Preserve) { VID0, 16, DID0, 16 } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_DOS, 1, NotSerialized) { Store (And (Arg0, 0x03), SWIT) } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x00010100, 0x00010110, 0x0200 }) } Device (CRT) { Method (_ADR, 0, NotSerialized) { Return (0x0100) } } Device (LCD) { Method (_ADR, 0, NotSerialized) { Return (0x0110) } Method (_BCL, 0, NotSerialized) { Store (0xC0, P80H) Return (Package (0x0C) { 0x64, 0x46, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64 }) } Method (_BCM, 1, NotSerialized) { Store (0xC1, P80H) Divide (Arg0, 0x0A, Local0, Local1) Decrement (Local1) Store (Local1, \_SB.PCI0.LPC0.EC0.BRTS) } Method (_BQC, 0, NotSerialized) { Store (0xC2, P80H) Multiply (\_SB.PCI0.LPC0.EC0.BRTS, 0x0A, Local0) Add (Local0, 0x01, Local0) Sleep (0x64) Return (Local0) } } Device (TV) { Method (_ADR, 0, NotSerialized) { Return (0x0200) } } Method (ATIF, 2, Serialized) { If (LEqual (Arg0, 0x00)) { Return (AF00 ()) } If (LEqual (Arg0, 0x01)) { Return (AF01 ()) } If (LEqual (Arg0, 0x02)) { Return (AF02 ()) } If (LEqual (Arg0, 0x03)) { Return (AF03 (DerefOf (Index (Arg1, 0x02)), DerefOf (Index (Arg1, 0x04)))) } Else { CreateWordField (ATIB, 0x00, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (0x00, SSZE) Store (0x00, VERN) Store (0x00, NMSK) Store (0x00, SFUN) Return (ATIB) } } Method (AF00, 0, NotSerialized) { Store (0xF0, P80H) CreateWordField (ATIB, 0x00, SSZE) CreateWordField (ATIB, 0x02, VERN) CreateDWordField (ATIB, 0x04, NMSK) CreateDWordField (ATIB, 0x08, SFUN) Store (0x0C, SSZE) Store (0x01, VERN) If (CondRefOf (\_SB.PCI0.AGP.VGA.XTPX, Local4)) { Store (0x11, NMSK) } Else { Store (0x51, NMSK) } Store (NMSK, MSKN) Store (0x07, SFUN) Return (ATIB) } Name (NCOD, 0x81) Method (AF01, 0, NotSerialized) { Store (0xF1, P80H) CreateWordField (ATIB, 0x00, SSZE) CreateDWordField (ATIB, 0x02, VMSK) CreateDWordField (ATIB, 0x06, FLGS) Store (0x03, VMSK) Store (0x0A, SSZE) Store (0x01, FLGS) Store (0x81, NCOD) Return (ATIB) } Name (PSBR, Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (MSKN, 0x00) Name (SEXM, 0x00) Name (STHG, 0x00) Name (STHI, 0x00) Name (SFPG, 0x00) Name (SFPI, 0x00) Name (SSPS, 0x00) Name (SSDM, 0x0A) Name (SCDY, 0x00) Name (SACT, Buffer (0x06) { 0x01, 0x02, 0x08, 0x03, 0x09, 0x0A }) Method (AF02, 0, NotSerialized) { Store (0xF2, P80H) CreateBitField (PSBR, 0x00, PDSW) CreateBitField (PSBR, 0x01, PEXM) CreateBitField (PSBR, 0x02, PTHR) CreateBitField (PSBR, 0x03, PFPS) CreateBitField (PSBR, 0x04, PSPS) CreateBitField (PSBR, 0x05, PDCC) CreateBitField (PSBR, 0x06, PXPS) CreateWordField (ATIB, 0x00, SSZE) CreateDWordField (ATIB, 0x02, PSBI) CreateByteField (ATIB, 0x06, EXPM) CreateByteField (ATIB, 0x07, THRM) CreateByteField (ATIB, 0x08, THID) CreateByteField (ATIB, 0x09, FPWR) CreateByteField (ATIB, 0x0A, FPID) CreateByteField (ATIB, 0x0B, SPWR) Store (0x0C, SSZE) Store (PSBR, PSBI) If (PDSW) { Store (0x82, P80H) Store (Zero, PDSW) } If (PEXM) { Store (SEXM, EXPM) Store (Zero, SEXM) Store (Zero, PEXM) } If (PTHR) { Store (STHG, THRM) Store (STHI, THID) Store (Zero, STHG) Store (Zero, STHI) Store (Zero, PTHR) } If (PFPS) { Store (SFPG, FPWR) Store (SFPI, FPWR) Store (Zero, SFPG) Store (Zero, SFPI) Store (Zero, PFPS) } If (PSPS) { Store (SSPS, SPWR) Store (Zero, PSPS) } If (PXPS) { Store (0xA2, P80H) Store (Zero, PXPS) } Return (ATIB) } Method (AF03, 2, NotSerialized) { Store (0xF3, P80H) CreateWordField (ATIB, 0x00, SSZE) CreateWordField (ATIB, 0x02, SSDP) CreateWordField (ATIB, 0x04, SCDP) Store (Arg0, SSDP) Store (Arg1, SCDP) Name (NXTD, 0x06) Name (CIDX, 0x06) Store (SSDP, Local1) And (Local1, 0x0B, Local1) Store (SCDP, Local2) If (CondRefOf (\_SB.LID._LID, Local4)) { And (Local2, Not (0x01), Local2) Or (Local2, \_SB.LID._LID (), Local2) } Else { Or (Local2, 0x01, Local2) } Store (Local2, P80H) Store (Zero, Local0) While (LLess (Local0, SizeOf (SACT))) { Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (Local3, Local1)) { Store (Local0, CIDX) Store (SizeOf (SACT), Local0) } Else { Increment (Local0) } } Store (CIDX, Local0) While (LLess (Local0, SizeOf (SACT))) { Increment (Local0) If (LEqual (Local0, SizeOf (SACT))) { Store (0x00, Local0) } Store (DerefOf (Index (SACT, Local0)), Local3) If (LEqual (And (Local3, Local2), Local3)) { Store (Local0, NXTD) Store (SizeOf (SACT), Local0) } } If (LEqual (NXTD, SizeOf (SACT))) { Store (Zero, SSDP) } Else { Store (NXTD, Local0) Store (DerefOf (Index (SACT, Local0)), Local3) And (SSDP, Not (0x0B), SSDP) Or (SSDP, Local3, SSDP) } Store (0x04, SSZE) Store (SSDP, P80H) Return (ATIB) } Method (AFN0, 0, Serialized) { If (And (MSKN, 0x01)) { CreateBitField (PSBR, 0x00, PDSW) Store (One, PDSW) Notify (VGA, NCOD) } } Method (AFN3, 2, Serialized) { If (And (MSKN, 0x08)) { Store (Arg0, Local0) Store (Local0, SFPI) Store (Arg1, Local0) Store (And (Local0, 0x03, Local0), SFPG) CreateBitField (PSBR, 0x03, PFPS) Store (One, PFPS) Notify (VGA, NCOD) } } Method (AFN4, 1, Serialized) { If (And (MSKN, 0x10)) { Store (Arg0, Local0) Store (SSPS, Local1) Store (Local0, SSPS) If (LEqual (Local0, Local1)) {} Else { CreateBitField (PSBR, 0x04, PSPS) Store (One, PSPS) Notify (VGA, NCOD) } } } Method (AFN5, 0, Serialized) { If (And (MSKN, 0x20)) { CreateBitField (PSBR, 0x05, PDCC) Store (One, PDCC) Notify (VGA, NCOD) } } Method (AFN6, 0, Serialized) { If (And (MSKN, 0x40)) { CreateBitField (PSBR, 0x06, PXPS) Store (One, PXPS) Notify (VGA, NCOD) } } } } Scope (\_SB.PCI0.AGP.VGA) { Name (ATPB, Buffer (0x0100) {}) Name (DSID, 0xFFFFFFFF) Method (XTPX, 2, Serialized) { If (LEqual (Arg0, 0x00)) { Return (PX00 ()) } If (LEqual (Arg0, 0x01)) { Return (PX01 ()) } If (LEqual (Arg0, 0x02)) { Return (PX02 (DerefOf (Index (Arg1, 0x02)))) } If (LEqual (Arg0, 0x03)) { Return (PX03 (DerefOf (Index (Arg1, 0x02)))) } CreateWordField (ATPB, 0x00, SSZE) CreateWordField (ATPB, 0x02, VERN) CreateDWordField (ATPB, 0x04, SFUN) Store (0x00, SSZE) Store (0x00, VERN) Store (0x00, SFUN) Return (ATPB) } Method (PX00, 0, NotSerialized) { Store (0xE0, P80H) CreateWordField (ATPB, 0x00, SSZE) CreateWordField (ATPB, 0x02, VERN) CreateDWordField (ATPB, 0x04, SFUN) Store (0x08, SSZE) Store (0x01, VERN) Store (0x07, SFUN) Store (\_SB.PCI0.PB2.DGFX.SVID, Local0) If (LNotEqual (Local0, 0xFFFFFFFF)) { Store (Local0, \_SB.PCI0.AGP.VGA.DSID) } Return (ATPB) } Method (PX01, 0, NotSerialized) { Store (0xE1, P80H) CreateWordField (ATPB, 0x00, SSZE) CreateDWordField (ATPB, 0x02, VMSK) CreateDWordField (ATPB, 0x06, FLGS) Store (0x0A, SSZE) Store (0x0F, VMSK) Store (0x0F, FLGS) Return (ATPB) } Method (PX02, 1, NotSerialized) { CreateWordField (ATPB, 0x00, SSZE) CreateByteField (ATPB, 0x02, PWST) Store (0x03, SSZE) And (Arg0, 0x01, PWST) Name (HPOK, 0x00) Store (0x01, \_SB.PCI0.SMB.G72F) Store (0x01, \_SB.PCI0.SMB.G36F) If (PWST) { Store (0x11E2, P80H) Store (One, \_SB.PCI0.SMB.G72O) Store (Zero, \_SB.PCI0.SMB.G72E) Sleep (0x32) Store (One, \_SB.PCI0.SMB.G36O) Store (Zero, \_SB.PCI0.SMB.G36E) Store (0x12E2, P80H) Store (0x00, HPOK) Sleep (0x64) Sleep (0x64) \_SB.PCI0.XPTR (0x02, 0x01) Sleep (0x14) Store (0x00, Local2) While (LLess (Local2, 0x0F)) { Store (0x08, \_SB.PCI0.PB2.SLST) Store (0x01, Local4) Store (0xC8, Local5) While (LAnd (Local4, Local5)) { Store (\_SB.PCI0.PB2.XPRD (0xA5), Local6) And (Local6, 0x7F, Local6) If (LAnd (LGreaterEqual (Local6, 0x10), LNotEqual (Local6, 0x7F))) { Store (0x00, Local4) } Else { Sleep (0x05) Decrement (Local5) } } If (LNot (Local4)) { Store (\_SB.PCI0.PB2.XPDL (), Local5) If (Local5) { \_SB.PCI0.PB2.XPRT () Sleep (0x05) Increment (Local2) } Else { Store (0x10, \_SB.PCI0.LPC0.INFO) Store (0x87, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) If (LEqual (\_SB.PCI0.PB2.XPR2 (), Ones)) { Store (0x01, HPOK) Store (0x10, Local2) } Else { Store (0x00, HPOK) Store (0x10, Local2) } } } Else { Store (0x10, Local2) } } If (LNot (HPOK)) { Store (0x13E2, P80H) Store (\_SB.PCI0.PB2.DGFX.DVID, Local7) Sleep (0x0A) Store (0x01, Local4) Store (0x05, Local5) While (LAnd (Local4, Local5)) { Store (\_SB.PCI0.PB2.XPRD (0xA5), Local6) And (Local6, 0x7F, Local6) If (LLessEqual (Local6, 0x04)) { Store (0x00, Local4) } Else { Store (\_SB.PCI0.PB2.DGFX.DVID, Local7) Sleep (0x05) Decrement (Local5) } } \_SB.PCI0.XPTR (0x02, 0x00) } Store (0x14E2, P80H) } Else { Store (0x02E2, P80H) Store (Zero, \_SB.PCI0.SMB.G36O) Store (Zero, \_SB.PCI0.SMB.G36E) Store (Zero, \_SB.PCI0.SMB.G72O) Store (Zero, \_SB.PCI0.SMB.G72E) Store (0x03E2, P80H) Store (0x08, \_SB.PCI0.PB2.SLST) Store (\_SB.PCI0.PB2.DGFX.DVID, Local7) Sleep (0x0A) Store (0x01, Local4) Store (0x05, Local5) While (LAnd (Local4, Local5)) { Store (\_SB.PCI0.PB2.XPRD (0xA5), Local6) And (Local6, 0x7F, Local6) If (LLessEqual (Local6, 0x04)) { Store (0x00, Local4) } Else { Store (\_SB.PCI0.PB2.DGFX.DVID, Local7) Sleep (0x05) Decrement (Local5) } } \_SB.PCI0.XPTR (0x02, 0x00) Store (0x02, HPOK) Store (0x04E2, P80H) } If (HPOK) { If (LAnd (LEqual (HPOK, 0x01), LNotEqual (\_SB.PCI0.AGP.VGA.DSID, 0xFFFFFFFF))) { Store (\_SB.PCI0.AGP.VGA.DSID, Local7) Store (Local7, \_SB.PCI0.PB2.DGFX.SMID) Sleep (0x0A) } Notify (\_SB.PCI0.PB2, 0x00) } } Method (PX03, 1, NotSerialized) { CreateWordField (ATPB, 0x00, SSZE) CreateWordField (ATPB, 0x02, DPSW) Store (0x04, SSZE) And (Arg0, 0x01, DPSW) If (DPSW) { Store (0x02E3, P80H) Acquire (\_SB.PCI0.LPC0.PSMX, 0xFFFF) Store (0x02, \_SB.PCI0.LPC0.INFO) Store (0x85, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Release (\_SB.PCI0.LPC0.PSMX) } Else { Store (0x01E3, P80H) Acquire (\_SB.PCI0.LPC0.PSMX, 0xFFFF) Store (0x01, \_SB.PCI0.LPC0.INFO) Store (0x85, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Release (\_SB.PCI0.LPC0.PSMX) } } } Scope (\_SB.PCI0.AGP.VGA) { OperationRegion (REVD, SystemMemory, 0xBDEDDE6C, 0x00000008) Field (REVD, AnyAcc, NoLock, Preserve) { SROM, 32, VROM, 32 } Name (TVGA, Buffer (0x0004) { 0x00 }) Method (XTRM, 2, Serialized) { Add (Arg0, Arg1, Local0) If (LLessEqual (Local0, SROM)) { Multiply (Arg1, 0x08, Local1) Multiply (Arg0, 0x08, Local2) Store (VROM, TVGA) CreateField (TVGA, Local2, Local1, TEMP) Name (RETB, Buffer (Arg1) {}) Store (TEMP, RETB) Return (RETB) } Else { If (LLess (Arg0, SROM)) { Subtract (SROM, Arg0, Local3) Multiply (Local3, 0x08, Local1) Multiply (Arg0, 0x08, Local2) Store (VROM, TVGA) CreateField (TVGA, Local2, Local1, TEM) Name (RETC, Buffer (Local3) {}) Store (TEM, RETC) Return (RETC) } Else { Name (RETD, Buffer (0x01) {}) Return (RETD) } } } } } } Scope (\_GPE) { Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.P2P, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.OHC0, 0x02) Notify (\_SB.PCI0.OHC1, 0x02) Notify (\_SB.PCI0.OHC2, 0x02) Notify (\_SB.PCI0.OHC3, 0x02) Notify (\_SB.PCI0.OHC4, 0x02) Notify (\_SB.PCI0.EHC0, 0x02) Notify (\_SB.PCI0.EHC1, 0x02) } Method (_L0E, 0, NotSerialized) { If (LEqual (\_SB.WMID.BGEF, 0x01)) { If (LNotEqual (CRTS, 0x01)) { Store (0x01, CRTS) Store (\_SB.WMID.VAPI, Local0) } Else { Store (0x00, CRTS) Store (\_SB.WMID.VAPO, Local0) } Store (Local0, \_SB.WMID.NTDV) Notify (\_SB.WMID, 0x82) } } Method (_L19, 0, NotSerialized) { Store (\_SB.PCI0.SMB.GM4C, Local0) Not (Local0, Local0) And (Local0, 0x01, \_SB.PCI0.SMB.GM4C) Store (0x01, \_SB.PCI0.SMB.GM4S) If (LAnd (LGreaterEqual (\_SB.TPOS, 0x04), LLess (\_SB.TPOS, 0x40))) { Store (And (\_SB.PCI0.SMB.GM4C, 0x01), Local0) Store (Local0, \_SB.PCI0.LPC0.INFO) Store (0x8F, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Notify (\_SB.LID, 0x80) } Mutex (Z013, 0x00) Method (_L1A, 0, NotSerialized) { Name (HPOK, 0x00) Acquire (Z013, 0xFFFF) If (\_SB.PCI0.SMB.GM5C) { Sleep (0x14) Store (\_SB.PCI0.LPC0.RGPM (), Local0) If (And (Local0, 0x20)) { Store (0x00, \_SB.PCI0.SMB.GM5C) Store ("HotPlug:04: Removal Event", Debug) Store (0x08, \_SB.PCI0.PB4.SLST) Store (\_SB.PCI0.PB4.NCRD.DVID, Local7) Sleep (0x0A) Store (0x01, Local4) Store (0x05, Local5) While (LAnd (Local4, Local5)) { Store (\_SB.PCI0.PB4.XPRD (0xA5), Local6) And (Local6, 0x7F, Local6) If (LLessEqual (Local6, 0x04)) { Store (0x00, Local4) } Else { Store (\_SB.PCI0.PB4.NCRD.DVID, Local7) Sleep (0x05) Decrement (Local5) } } \_SB.PCI0.XPTR (0x04, 0x00) \_SB.PCI0.PB4.XPLP (0x00) Sleep (0x1388) Store (0x01, HPOK) } } Else { Sleep (0x14) Store (\_SB.PCI0.LPC0.RGPM (), Local0) If (LNot (And (Local0, 0x20))) { Store (0x01, \_SB.PCI0.SMB.GM5C) Store ("HotPlug:04: Insertion Event", Debug) Store (0x00, HPOK) \_SB.PCI0.PB4.XPLP (0x01) Sleep (0xC8) \_SB.PCI0.XPTR (0x04, 0x01) Sleep (0x14) Store (0x00, Local2) While (LLess (Local2, 0x0F)) { Store (0x08, \_SB.PCI0.PB4.SLST) Store (0x01, Local4) Store (0xC8, Local5) While (LAnd (Local4, Local5)) { Store (\_SB.PCI0.PB4.XPRD (0xA5), Local6) And (Local6, 0x7F, Local6) If (LAnd (LGreaterEqual (Local6, 0x10), LNotEqual (Local6, 0x7F))) { Store ("HotPlug:04: TrainingState=0x10", Debug) Store (0x00, Local4) } Else { Sleep (0x05) Decrement (Local5) } } If (LNot (Local4)) { Store ("HotPlug:04: Check VC Negotiation Pending", Debug) Store (\_SB.PCI0.PB4.XPDL (), Local5) If (Local5) { Store ("HotPlug:04: Retraining Link", Debug) \_SB.PCI0.PB4.XPRT () Sleep (0x05) Increment (Local2) } Else { Store ("HotPlug:04: Device OK", Debug) Store (0x20, \_SB.PCI0.LPC0.INFO) Store (0x87, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) If (LEqual (\_SB.PCI0.PB4.XPR2 (), Ones)) { Store (0x01, HPOK) Store (0x10, Local2) } Else { Store ("HotPlug:04: Common Clock Retraining Failed", Debug) Store (0x00, HPOK) Store (0x10, Local2) } } } Else { Store ("HotPlug:04: TrainingState Timeout", Debug) Store (0x10, Local2) } } If (LNot (HPOK)) { Store ("HotPlug:04: Insertion Failed: Disable Training & PowerDown", Debug) Store (\_SB.PCI0.PB4.NCRD.DVID, Local7) Sleep (0x0A) Store (0x01, Local4) Store (0x05, Local5) While (LAnd (Local4, Local5)) { Store (\_SB.PCI0.PB4.XPRD (0xA5), Local6) And (Local6, 0x7F, Local6) If (LLessEqual (Local6, 0x04)) { Store (0x00, Local4) } Else { Store (\_SB.PCI0.PB4.NCRD.DVID, Local7) Sleep (0x05) Decrement (Local5) } } \_SB.PCI0.XPTR (0x04, 0x00) \_SB.PCI0.PB4.XPLP (0x00) } } } If (HPOK) { Notify (\_SB.PCI0.PB4, 0x00) } Release (Z013) } Method (_L1B, 0, NotSerialized) { Notify (\_SB.PCI0.HDA, 0x02) } Method (_L1C, 0, NotSerialized) { Name (HPOK, 0x00) Store (0xCA, P80H) If (LNotEqual (PJID, 0x03)) { If (LOr (LEqual (EBID, 0x03), LNotEqual (PJID, 0x01))) { If (\_SB.PCI0.SMB.GM6C) { Store (0xCB, P80H) Sleep (0x14) Store (\_SB.PCI0.LPC0.RGPM (), Local0) If (And (Local0, 0x40)) { Store (0x00, \_SB.PCI0.SMB.GM6C) Store (0x08, \_SB.PCI0.PB9.SLST) Store (0x01, HPOK) } } Else { Store (0xCC, P80H) Sleep (0x14) Store (\_SB.PCI0.LPC0.RGPM (), Local0) If (LNot (And (Local0, 0x40))) { Store (0x01, \_SB.PCI0.SMB.GM6C) Store (0x08, \_SB.PCI0.PB9.SLST) Store (0x01, HPOK) } } If (HPOK) { If (And (\_SB.PCI0.PB9.SLST, 0x40)) { Store (0xCD, P80H) \_SB.PCI0.LPC0.PHSS (0x5A) Stall (0xFF) } Notify (\_SB.PCI0.PB9, 0x00) } } } } } Scope (_TZ) { Name (DTMP, 0x0BBA) Name (DAC0, 0x0CA0) Name (DPSV, 0x0E30) Name (TBSE, 0x0AAC) Name (DCRT, 0x127C) ThermalZone (THRM) { Method (_TMP, 0, NotSerialized) { If (\_SB.PCI0.LPC0.ECOK ()) { Multiply (\_SB.PCI0.LPC0.EC0.CTMP, 0x0A, Local0) Add (Local0, 0x0AAC, Local0) Return (Local0) } Return (DTMP) } Method (_AC0, 0, NotSerialized) { Return (DAC0) } Method (_CRT, 0, NotSerialized) { Return (DCRT) } Method (_PSV, 0, NotSerialized) { Return (DPSV) } Method (_PSL, 0, Serialized) { If (CPUS) { Return (Package (0x01) { \_PR.CPU0 }) } Else { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } } Name (_TC1, 0x02) Name (_TC2, 0x05) Name (_TSP, 0x012C) } ThermalZone (Z014) { Method (_TMP, 0, NotSerialized) { If (\_SB.PCI0.LPC0.ECOK ()) { Multiply (\_SB.PCI0.LPC0.EC0.SKTA, 0x0A, Local0) Add (Local0, 0x0AAC, Local0) Return (Local0) } Return (DTMP) } Method (_AC0, 0, NotSerialized) { Return (DAC0) } Method (_CRT, 0, NotSerialized) { Return (DCRT) } Method (_PSV, 0, NotSerialized) { Return (DPSV) } Method (_PSL, 0, Serialized) { If (CPUS) { Return (Package (0x01) { \_PR.CPU0 }) } Else { Return (Package (0x02) { \_PR.CPU0, \_PR.CPU1 }) } } Name (_TC1, 0x02) Name (_TC2, 0x05) Name (_TSP, 0x012C) } } Scope (\_SB.PCI0.SMB) { Mutex (SBX0, 0x00) OperationRegion (SMB1, SystemIO, 0x8050, 0x10) Field (SMB1, ByteAcc, NoLock, Preserve) { HSTS, 8, SLVS, 8, HCNT, 8, HCMD, 8, HADD, 8, DAT0, 8, DAT1, 8, BLKD, 8, PECR, 8, CAUX, 8, ASFS, 8, SMK0, 8, SMK1, 8, SLMC, 8, RADD, 8, SADD, 8 } Method (SBI, 0, NotSerialized) { Store (Package (0x02) { 0x10, 0x00 }, Local0) Store (Buffer (0x05) { 0x10, 0x20, 0x03, 0x0A, 0x00 }, Index (Local0, 0x01)) Return (Local0) } Method (SWBD, 1, NotSerialized) { Store (Arg0, Local0) Store (0x00, Local2) Store (HSTS, Local3) Store (And (Local3, 0x80), Local1) While (LNotEqual (Local1, 0x80)) { If (LLess (Local0, 0x0A)) { Store (0x18, Local2) Store (0x00, Local1) } Else { Sleep (0x0A) Subtract (Local0, 0x0A, Local0) Store (HSTS, Local3) Store (And (Local3, 0x80), Local1) } } If (LNotEqual (Local2, 0x18)) { Store (And (HSTS, 0x1C), Local1) If (Local1) { Store (0x07, Local2) } } Return (Local2) } Method (SWTC, 1, NotSerialized) { Store (Arg0, Local0) Store (0x07, Local2) Store (0x01, Local1) While (LEqual (Local1, 0x01)) { Store (And (HSTS, 0x1F), Local3) If (LNotEqual (Local3, 0x00)) { If (LEqual (Local3, 0x01)) { If (LLess (Local0, 0x0A)) { Store (0x18, Local2) Store (0x00, Local1) } Else { Sleep (0x0A) Subtract (Local0, 0x0A, Local0) } } Else { Store (0x07, Local2) Store (0x00, Local1) } } Else { Store (0x00, Local2) Store (0x00, Local1) } } Store (Or (HSTS, 0x1F), HSTS) Return (Local2) } Method (SBR, 3, NotSerialized) { Store (Package (0x22) { 0x07, 0x00, 0x00 }, Local0) Store (And (Arg0, 0x5F), Local4) If (LNotEqual (Local4, 0x03)) { If (LNotEqual (Local4, 0x05)) { If (LNotEqual (Local4, 0x07)) { If (LNotEqual (Local4, 0x09)) { If (LNotEqual (Local4, 0x0B)) { Store (0x19, Index (Local0, 0x00)) Return (Local0) } } } } } If (LEqual (Acquire (SBX0, 0xFFFF), 0x00)) { Store (Or (ShiftLeft (Arg1, 0x01), 0x01), HADD) Store (Arg2, HCMD) Store (Or (HSTS, 0x1F), HSTS) Store (And (Arg0, 0xA0), Local1) Store (Or (And (HCNT, 0x5F), Local1), HCNT) If (LEqual (Local4, 0x03)) { Store (Or (And (HCNT, 0xA0), 0x40), HCNT) } If (LEqual (Local4, 0x05)) { Store (Or (And (HCNT, 0xA0), 0x44), HCNT) } If (LEqual (Local4, 0x07)) { Store (Or (And (HCNT, 0xA0), 0x48), HCNT) } If (LEqual (Local4, 0x09)) { Store (Or (And (HCNT, 0xA0), 0x4C), HCNT) } If (LEqual (Local4, 0x0B)) { Store (Or (HSTS, 0x80), HSTS) Store (0x00, DAT0) Store (Or (And (HCNT, 0xA0), 0x54), HCNT) } Store (SWTC (0x03E8), Local1) Store (Local1, Index (Local0, 0x00)) If (LEqual (Local1, 0x00)) { If (LEqual (Local4, 0x05)) { Store (0x01, Index (Local0, 0x01)) Store (DAT0, Index (Local0, 0x02)) } If (LEqual (Local4, 0x07)) { Store (0x01, Index (Local0, 0x01)) Store (DAT0, Index (Local0, 0x02)) } If (LEqual (Local4, 0x09)) { Store (0x02, Index (Local0, 0x01)) Store (DAT1, Local2) ShiftLeft (Local2, 0x08, Local2) Add (Local2, DAT0, Local2) Store (Local2, Index (Local0, 0x02)) } If (LEqual (Local4, 0x0B)) { Store (SWBD (0x01F4), Local1) If (LNotEqual (Local1, 0x00)) { Store (Local1, Index (Local0, 0x00)) } Else { Store (DAT0, Index (Local0, 0x01)) Store (DAT0, Local1) Store (HCNT, Local2) Store (0x00, Local2) While (LLess (Local2, Local1)) { Add (0x02, Local2, Local3) Store (BLKD, Index (Local0, Local3)) Add (0x01, Local2, Local2) } Store (Or (HSTS, 0x80), HSTS) } } } Store (And (HCNT, 0x5F), HCNT) Release (SBX0) } Return (Local0) } Method (SBW, 5, NotSerialized) { Store (Package (0x01) { 0x07 }, Local0) Store (And (Arg0, 0x5F), Local4) If (LNotEqual (Local4, 0x02)) { If (LNotEqual (Local4, 0x04)) { If (LNotEqual (Local4, 0x06)) { If (LNotEqual (Local4, 0x08)) { If (LNotEqual (Local4, 0x0A)) { Store (0x19, Index (Local0, 0x00)) Return (Local0) } } } } } If (LEqual (Acquire (SBX0, 0xFFFF), 0x00)) { Store (ShiftLeft (Arg1, 0x01), HADD) Store (Arg2, HCMD) Store (Or (HSTS, 0x1F), HSTS) Store (And (Arg0, 0xA0), Local1) Store (Or (And (HCNT, 0x5F), Local1), HCNT) If (LEqual (Local4, 0x02)) { Store (Or (And (HCNT, 0xA0), 0x40), HCNT) } If (LEqual (Local4, 0x04)) { Store (Or (And (HCNT, 0xA0), 0x44), HCNT) } If (LEqual (Local4, 0x06)) { Store (Arg4, DAT0) Store (Or (And (HCNT, 0xA0), 0x48), HCNT) } If (LEqual (Local4, 0x08)) { And (Arg4, 0xFF, DAT0) ShiftRight (Arg4, 0x08, DAT1) Store (Or (And (HCNT, 0xA0), 0x4C), HCNT) } If (LEqual (Local4, 0x0A)) { Store (Or (HSTS, 0x80), HSTS) Store (HCNT, Local1) Store (Arg3, DAT0) Store (0x00, Local2) While (LLess (Local2, Arg3)) { Store (Index (Arg4, Local2), BLKD) Add (0x01, Local2, Local2) } Store (Or (And (HCNT, 0xA0), 0x54), HCNT) } Store (SWTC (0x03E8), Index (Local0, 0x00)) Store (And (HCNT, 0x5F), HCNT) Release (SBX0) } Return (Local0) } } Scope (\_SB.PCI0.SMB) { Name (ASD, Buffer (0x04) { 0xFF, 0xFF, 0xFF, 0xFF }) Device (OW00) { Name (_HID, "MGMT201") Name (_UID, 0x02010300) Method (_STA, 0, NotSerialized) { Return (ASFE) } Method (INFO, 0, NotSerialized) { Name (BUFF, Buffer (0x1A) { /* 0000 */ 0x02, 0x10, 0x01, 0x03, 0x00, 0x04, 0x01, 0x00, /* 0008 */ 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x01, /* 0010 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, /* 0018 */ 0x00, 0x01 }) Store (WTQ (), Local0) Store (Local0, Index (BUFF, 0x14)) Return (BUFF) } Method (WTV, 0, NotSerialized) { Return (0x80000000) } Method (WTR, 0, NotSerialized) { } Method (WTQ, 0, NotSerialized) { Store (0xAF, \_SB.PCI0.LPC0.BCMD) Store (0x02, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) Return (\_SB.PCI0.LPC0.INFO) } Method (WTC, 1, NotSerialized) { Store (0x00, Local1) Store (0x01, Local2) While (LNotEqual (Local2, 0xFF)) { Store (Index (\_SB.PCI0.SMB.ASD, Local1), Local2) If (LNotEqual (Local2, 0xFF)) { STOP (Local2) STRT (Local2, Arg0) Add (Local1, 0x01, Local1) } } } Method (WAQ, 0, NotSerialized) { Return (0x01) } Method (WAC, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (0x00, Local1) Store (0x01, Local2) While (LNotEqual (Local2, 0xFF)) { Store (Index (\_SB.PCI0.SMB.ASD, Local1), Local2) If (LNotEqual (Local2, 0xFF)) { STOP (Local2) Add (Local1, 0x01, Local1) } } } } Name (MSG, Buffer (0x20) {}) Method (STRT, 2, NotSerialized) { Store (0x13, Index (MSG, 0x00)) Store (0x10, Index (MSG, 0x01)) Store (And (Arg1, 0xFF), Index (MSG, 0x02)) Store (ShiftRight (Arg1, 0x08), Index (MSG, 0x03)) Store (0x20, Index (MSG, 0x04)) Store (0x6F, Index (MSG, 0x05)) Store (0x10, Index (MSG, 0x06)) Store (0x68, Index (MSG, 0x07)) Store (0x10, Index (MSG, 0x08)) Store (0xFF, Index (MSG, 0x09)) Store (0xFF, Index (MSG, 0x0A)) Store (0x23, Index (MSG, 0x0B)) Store (0x00, Index (MSG, 0x0C)) \_SB.PCI0.SMB.SBW (0x0A, Arg0, 0x02, 0x0D, MSG) } Method (STOP, 1, NotSerialized) { Store (0x14, Index (MSG, 0x00)) Store (0x10, Index (MSG, 0x01)) \_SB.PCI0.SMB.SBW (0x0A, Arg0, 0x02, 0x02, MSG) } } Device (OW01) { Name (_HID, "MGMT201") Name (_UID, 0x02010400) Method (_STA, 0, NotSerialized) { Return (ASFE) } Method (INFO, 0, NotSerialized) { Name (BUFF, Buffer (0x1A) { /* 0000 */ 0x02, 0x10, 0x01, 0x04, 0x00, 0x04, 0x01, 0x00, /* 0008 */ 0x00, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x01, /* 0010 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, /* 0018 */ 0x00, 0x01 }) Store (WTQ (), Local0) Store (Local0, Index (BUFF, 0x14)) Return (BUFF) } Method (WTV, 0, NotSerialized) { Return (\_SB.PCI0.SMB.OW00.WTV ()) } Method (WTR, 0, NotSerialized) { Return (\_SB.PCI0.SMB.OW00.WTR ()) } Method (WTQ, 0, NotSerialized) { Return (\_SB.PCI0.SMB.OW00.WTQ ()) } Method (WTC, 1, NotSerialized) { Return (\_SB.PCI0.SMB.OW00.WTC (Arg0)) } Method (WAQ, 0, NotSerialized) { Return (\_SB.PCI0.SMB.OW00.WAQ ()) } Method (WAC, 1, NotSerialized) { Return (\_SB.PCI0.SMB.OW00.WAC (Arg0)) } } } Scope (\_SB) { Name (ASFE, 0x00) Device (ASF) { Name (_HID, "ASF0001") Method (_STA, 0, NotSerialized) { Return (ASFE) } Method (GPWT, 0, NotSerialized) { Store (0xAF, \_SB.PCI0.LPC0.BCMD) Store (0x01, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) Return (\_SB.PCI0.LPC0.INFO) } Method (SPWT, 1, NotSerialized) { Store (0xAF, \_SB.PCI0.LPC0.BCMD) Store (0x02, \_SB.PCI0.LPC0.DID) Store (Arg0, \_SB.PCI0.LPC0.INFO) Store (Zero, \_SB.PCI0.LPC0.SMIC) } } } Scope (\_PR.CPU0) { Name (_PCT, Package (0x02) { ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000C0010062, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Name (_PSS, Package (0x02) { Package (0x06) { 0x0000076C, 0x00003D04, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, Package (0x06) { 0x000003E8, 0x00001AB8, 0x00000000, 0x00000000, 0x00000001, 0x00000001 } }) Name (XPSS, Package (0x02) { Package (0x08) { 0x0000076C, 0x00003D04, 0x00000000, 0x00000000, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, Package (0x08) { 0x000003E8, 0x00001AB8, 0x00000000, 0x00000000, Buffer (0x08) { /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }) Name (_PSD, Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00000000, 0x000000FD, 0x00000001 } }) Name (_PPC, 0x00) } Scope (\_PR.CPU1) { Name (_PCT, Package (0x02) { ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x00000000C0010062, // Address ,) }, ResourceTemplate () { Register (FFixedHW, 0x40, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) } }) Name (_PSS, Package (0x02) { Package (0x06) { 0x0000076C, 0x00003D04, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }, Package (0x06) { 0x000003E8, 0x00001AB8, 0x00000000, 0x00000000, 0x00000001, 0x00000001 } }) Name (XPSS, Package (0x02) { Package (0x08) { 0x0000076C, 0x00003D04, 0x00000000, 0x00000000, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }, Package (0x08) { 0x000003E8, 0x00001AB8, 0x00000000, 0x00000000, Buffer (0x08) { /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Buffer (0x08) { /* 0000 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } }) Name (_PSD, Package (0x01) { Package (0x05) { 0x05, 0x00, 0x00000001, 0x000000FD, 0x00000001 } }) Name (_PPC, 0x00) } }