/* * Intel ACPI Component Architecture * AML Disassembler version 20040715 * * Disassembly of dsdt.dat, Wed Aug 18 19:36:18 2004 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "PTLTD ", "635", 100925440) { Name (_S0, Package (0x02) { 0x00, 0x00 }) Name (_S3, Package (0x02) { 0x03, 0x03 }) Name (_S4, Package (0x02) { 0x04, 0x04 }) Name (_S5, Package (0x02) { 0x05, 0x05 }) Scope (_SI) { Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Store ("===== SST Working =====", Debug) } If (LEqual (Arg0, 0x02)) { Store ("===== SST Working S2 =====", Debug) } If (LEqual (Arg0, 0x03)) { Store ("===== SST Sleeping S3 =====", Debug) } If (LEqual (Arg0, 0x04)) { Store ("===== SST Sleeping S4 =====", Debug) } If (LEqual (Arg0, 0x00)) { Store ("===== S/W Power OFF =====", Debug) } } } Scope (_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} } Scope (_GPE) { Method (STA1, 0, NotSerialized) { Store (One, \_SB.PCI0.AGP.VGA.LCDA) Store (Zero, \_SB.PCI0.AGP.VGA.CRTA) Store (Zero, \_SB.PCI0.AGP.VGA.TVAT) } Method (STA2, 0, NotSerialized) { Store (Zero, \_SB.PCI0.AGP.VGA.LCDA) Store (One, \_SB.PCI0.AGP.VGA.CRTA) Store (Zero, \_SB.PCI0.AGP.VGA.TVAT) } Method (STA3, 0, NotSerialized) { Store (One, \_SB.PCI0.AGP.VGA.LCDA) Store (One, \_SB.PCI0.AGP.VGA.CRTA) Store (Zero, \_SB.PCI0.AGP.VGA.TVAT) } Method (STA4, 0, NotSerialized) { Store (Zero, \_SB.PCI0.AGP.VGA.LCDA) Store (Zero, \_SB.PCI0.AGP.VGA.CRTA) Store (One, \_SB.PCI0.AGP.VGA.TVAT) } Mutex (GLCK, 0x00) Method (_L02, 0, NotSerialized) { If (LEqual (\_SB.PCI0.AGP.VGA.SWIT, 0x00)) { Store (\_SB.PCI0.PPB.SH73, Local2) Or (\_SB.PCI0.PPB.SH73, 0x10, \_SB.PCI0.PPB.SH73) Store (0x07, \_SB.PCI0.LPC.SYSR.STAN) } Acquire (\_GPE.GLCK, 0xFFFF) PHSR (0x83) Release (\_GPE.GLCK) If (LEqual (\_SB.PCI0.AGP.VGA.SWIT, 0x00)) { Store (\_SB.PCI0.LPC.SYSR.STAN, Local0) If (LNot (LEqual (Local0, 0x07))) { If (LEqual (Local0, 0x01)) { STA1 () } If (LEqual (Local0, 0x02)) { STA2 () } If (LEqual (Local0, 0x03)) { STA3 () } If (LEqual (Local0, 0x04)) { STA4 () } Notify (\_SB.PCI0.AGP.VGA, 0x80) } Store (Local2, \_SB.PCI0.PPB.SH73) } } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0, 0x02) Notify (\_SB.PCI0.LPC.COM1, 0x02) Notify (\_SB.PCI0.CRB0, 0x02) Notify (\_SB.PCI0.MDM0, 0x02) Notify (\_SB.PCI0.ENET, 0x02) Notify (\_SB.PWB, 0x02) } Method (_L08, 0, NotSerialized) { Acquire (\_GPE.GLCK, 0xFFFF) Store (\_SB.PCI0.LPC.PMRD (0xA8), Local0) If (And (Local0, 0x01, Local3)) { Store (0x01, \_SB.LID.LIDF) Notify (\_SB.LID, 0x80) Store (\_SB.PCI0.LPC.PMRD (0xB8), Local4) Store (\_SB.PCI0.LPC.PMRD (0xB7), Local5) And (Local4, 0xFE, Local4) \_SB.PCI0.LPC.PMWT (0xB8, Local4) Store (\_SB.PCI0.LPC.PMRD (0xB5), Local3) If (And (Local3, 0x01)) { Store (\_SB.PCI0.LPC.PMRD (0xB7), Local7) And (Local7, 0xFE, Local7) \_SB.PCI0.LPC.PMWT (0xB7, Local7) \_SB.PCI0.LPC.PMWT (0xFD, 0x00) Store (0x01, \_SB.LID.LIDF) } Else { Store (\_SB.PCI0.LPC.PMRD (0xB7), Local7) Or (Local7, 0x01, Local7) \_SB.PCI0.LPC.PMWT (0xB7, Local7) \_SB.PCI0.LPC.PMWT (0xFD, 0x01) Store (0x00, \_SB.LID.LIDF) } Store (\_SB.PCI0.LPC.PMRD (0xA8), Local6) And (Local6, 0xFE, Local6) \_SB.PCI0.LPC.PMWT (0xA8, Local6) \_SB.PCI0.LPC.PMWT (0xF0, 0x00) Or (Local4, 0x01, Local4) \_SB.PCI0.LPC.PMWT (0xB8, Local4) Notify (\_SB.LID, 0x80) } And (\_SB.PCI0.LPC.PMRD (0xAC), 0xEF, Local7) \_SB.PCI0.LPC.PMWT (0xAC, Local7) \_SB.PCI0.LPC.PMWT (0xF0, 0x00) Release (\_GPE.GLCK) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.MDM0, 0x02) Notify (\_SB.PCI0.ENET, 0x02) } Method (_L27, 0, NotSerialized) { Acquire (\_GPE.GLCK, 0xFFFF) Store (\_SB.PCI0.LPC.PMRD (0xAB), Local0) Store (\_SB.PCI0.LPC.PMRD (0xAF), Local4) And (Local4, 0x04, Local7) If (LNot (LEqual (Local7, Zero))) { \_SB.PCI0.LPC.PMMW (0x01E8, 0x00) } If (LNot (LLess (Local4, 0x01))) { \_TZ.THRM.TCHK () } If (And (Local0, 0x01, Local3)) { Notify (\_SB.ACAD, 0x80) And (\_SB.PCI0.LPC.PMRD (0xAB), 0xFE, Local2) \_SB.PCI0.LPC.PMWT (0xAB, Local2) \_SB.PCI0.LPC.PMWT (0xF0, 0x00) PHSR (0x8C) } If (And (Local0, 0x02, Local3)) { Notify (\_SB.ACAD, 0x80) Store (\_SB.PCI0.LPC.PMRD (0xA1), Local1) Store (\_SB.PCI0.LPC.PMRD (0xF1), Local4) If (LNot (LEqual (And (Local1, 0x01, Local3), And (Local4, 0x01, Local5)))) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local6) \_SB.PCI0.LPC.PMWT (0xF1, Local6) Notify (\_SB.BAT0, 0x81) } If (LNot (LEqual (And (Local1, 0x02, Local3), And (Local4, 0x02, Local5)))) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local6) \_SB.PCI0.LPC.PMWT (0xF1, Local6) Notify (\_SB.BAT0, 0x80) } If (LNot (LEqual (And (Local1, 0x04, Local3), And (Local4, 0x04, Local5)))) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local6) \_SB.PCI0.LPC.PMWT (0xF1, Local6) Notify (\_SB.BAT0, 0x80) } If (LNot (LEqual (And (Local1, 0x08, Local3), And (Local4, 0x08, Local5)))) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local6) \_SB.PCI0.LPC.PMWT (0xF1, Local6) Notify (\_SB.BAT0, 0x80) } If (LNot (LEqual (And (Local1, 0x10, Local3), And (Local4, 0x10, Local5)))) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local6) \_SB.PCI0.LPC.PMWT (0xF1, Local6) Notify (\_SB.BAT0, 0x80) } If (LNot (LEqual (And (Local1, 0x20, Local3), And (Local4, 0x20, Local5)))) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local6) \_SB.PCI0.LPC.PMWT (0xF1, Local6) Notify (\_SB.BAT0, 0x80) } If (LNot (LEqual (And (Local1, 0x80, Local3), And (Local4, 0x80, Local5)))) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local6) \_SB.PCI0.LPC.PMWT (0xF1, Local6) Notify (\_SB.BAT0, 0x80) } And (\_SB.PCI0.LPC.PMRD (0xAB), 0xFD, Local2) \_SB.PCI0.LPC.PMWT (0xAB, Local2) \_SB.PCI0.LPC.PMWT (0xF0, 0x00) } Release (\_GPE.GLCK) } } Scope (_SB) { Mutex (PSMX, 0x00) Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { \_SB }) Name (INIT, 0x01) Name (ACFG, 0x00) Method (_PSR, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) And (0x01, \_SB.PCI0.LPC.PMRD (0xA0), Local0) Store (Local0, ACFG) Store (Local0, INIT) Release (PSMX) If (LEqual (\_TZ.THRM.FWAK, 0x01)) { Add (\_TZ.THRM.FCOU, 0x01, \_TZ.THRM.FCOU) } If (LEqual (\_TZ.THRM.FCOU, 0x02)) { Store (0x00, \_TZ.THRM.FCOU) Store (0x00, \_TZ.THRM.FWAK) \_TZ.THRM.TCHK () } Return (ACFG) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) And (\_SB.PCI0.LPC.PMRD (0xA1), 0x01, Local0) Store (Local0, FSTA) Release (PSMX) If (LEqual (Local0, 0x00)) { Return (0x0F) } Else { Return (0x1F) } } Method (_BIF, 0, NotSerialized) { And (\_SB.PCI0.LPC.PMRD (0xA1), 0x01, Local0) If (Local0) { UPBI () } Else { IVBI () IVBS () } Store (Zero, FBIF) Return (PBIF) } Method (_BST, 0, NotSerialized) { UPBS () Return (PBST) } Method (IVBI, 0, NotSerialized) { Store (0xFFFFFFFF, Index (PBIF, 0x01)) Store (0xFFFFFFFF, Index (PBIF, 0x02)) Store (0xFFFFFFFF, Index (PBIF, 0x04)) Store ("Bad", Index (PBIF, 0x09)) Store ("Bad", Index (PBIF, 0x0A)) Store ("Bad", Index (PBIF, 0x0B)) Store ("Bad", Index (PBIF, 0x0C)) Store (One, FBIF) } Method (IVBS, 0, NotSerialized) { Store (Zero, Index (PBST, 0x00)) Store (0xFFFFFFFF, Index (PBST, 0x01)) Store (0xFFFFFFFF, Index (PBST, 0x02)) Store (0xFFFFFFFF, Index (PBST, 0x03)) Store (One, \_SB.BAT0.FSTA) } Method (UPBI, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (\_SB.PCI0.LPC.PMRD (0x00), Local0) Store (\_SB.PCI0.LPC.PMRD (0x01), Local1) Multiply (Local1, 0x0100, Local2) Or (Local0, Local2, Local3) Store (Local3, Index (PBIF, 0x00)) Store (\_SB.PCI0.LPC.PMRD (0x02), Local0) Store (\_SB.PCI0.LPC.PMRD (0x03), Local1) Store (\_SB.PCI0.LPC.PMRD (0x49), Local2) Multiply (Local1, 0x0100, Local3) Multiply (Local2, 0x00010000, Local4) Or (Local3, Local0, Local5) Or (Local4, Local5, Local6) Store (Local6, Index (PBIF, 0x01)) Store (\_SB.PCI0.LPC.PMRD (0x04), Local0) Store (\_SB.PCI0.LPC.PMRD (0x05), Local1) Store (\_SB.PCI0.LPC.PMRD (0x4A), Local2) Multiply (Local1, 0x0100, Local3) Multiply (Local2, 0x00010000, Local4) Or (Local3, Local0, Local5) Or (Local4, Local5, Local6) Store (Local6, Index (PBIF, 0x02)) Store (\_SB.PCI0.LPC.PMRD (0x06), Local0) Store (\_SB.PCI0.LPC.PMRD (0x07), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBIF, 0x03)) Store (\_SB.PCI0.LPC.PMRD (0x08), Local0) Store (\_SB.PCI0.LPC.PMRD (0x09), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBIF, 0x04)) Store (\_SB.PCI0.LPC.PMRD (0x0A), Local0) Store (\_SB.PCI0.LPC.PMRD (0x0B), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBIF, 0x05)) Store (\_SB.PCI0.LPC.PMRD (0x0C), Local0) Store (\_SB.PCI0.LPC.PMRD (0x0D), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBIF, 0x06)) Store (\_SB.PCI0.LPC.PMRD (0x0E), Local0) Store (\_SB.PCI0.LPC.PMRD (0x0F), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBIF, 0x07)) Store (\_SB.PCI0.LPC.PMRD (0x10), Local0) Store (\_SB.PCI0.LPC.PMRD (0x11), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBIF, 0x08)) If (LEqual (\_SB.PCI0.LPC.PMRD (0x16), 0x00)) { Store ("PC-VP-WP21/OP-570-74002", Index (PBIF, 0x09)) Store ("", Index (PBIF, 0x0A)) Store ("NiMH", Index (PBIF, 0x0B)) } Else { Store ("PC-VP-WP22/OP-570-74001", Index (PBIF, 0x09)) Store ("", Index (PBIF, 0x0A)) Store ("Lion", Index (PBIF, 0x0B)) } Store ("FIC ", Index (PBIF, 0x0C)) Release (PSMX) Return (PBIF) } Method (UPBS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (\_SB.PCI0.LPC.PMRD (0x1A), Local0) Store (\_SB.PCI0.LPC.PMRD (0x1B), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBST, 0x00)) Store (\_SB.PCI0.LPC.PMRD (0x1C), Local0) Store (\_SB.PCI0.LPC.PMRD (0x1D), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBST, 0x01)) Store (\_SB.PCI0.LPC.PMRD (0x1E), Local0) Store (\_SB.PCI0.LPC.PMRD (0x1F), Local1) Store (\_SB.PCI0.LPC.PMRD (0x4B), Local2) Multiply (Local1, 0x0100, Local3) Multiply (Local2, 0x00010000, Local4) Or (Local3, Local0, Local5) Or (Local4, Local5, Local6) Store (Local6, Index (PBST, 0x02)) Store (\_SB.PCI0.LPC.PMRD (0x20), Local0) Store (\_SB.PCI0.LPC.PMRD (0x21), Local1) Multiply (Local1, 0x0100, Local2) Or (Local2, Local0, Local3) Store (Local3, Index (PBST, 0x03)) Release (PSMX) Return (PBST) } Method (_BTP, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (\_SB.PCI0.LPC.PMRD (0xB2), Local0) And (Local0, 0x7F, Local0) \_SB.PCI0.LPC.PMWT (0xB2, Local0) Store (Arg0, Local0) Store (Local0, Local6) And (Local0, 0xFF, Local1) \_SB.PCI0.LPC.PMWT (0x22, Local1) Store (Local6, Local0) And (Local0, 0xFF00, Local1) ShiftRight (Local1, 0x08, Local2) \_SB.PCI0.LPC.PMWT (0x23, Local2) Store (Local6, Local0) And (Local0, 0x00FF0000, Local1) ShiftRight (Local1, 0x10, Local2) \_SB.PCI0.LPC.PMWT (0x4C, Local2) Store (\_SB.PCI0.LPC.PMRD (0xF1), Local3) If (And (Local3, 0x80, Local3)) { Store (\_SB.PCI0.LPC.PMRD (0xA1), Local4) \_SB.PCI0.LPC.PMWT (0xF1, Local4) } Store (\_SB.PCI0.LPC.PMRD (0xB2), Local0) Or (Local0, 0x80, Local0) \_SB.PCI0.LPC.PMWT (0xB2, Local0) Release (PSMX) } Name (_PCL, Package (0x01) { \_SB }) Name (FBIF, 0x01) Name (FSTA, 0x01) Name (GGFG, 0x00) Name (PBIF, Package (0x0D) { 0x01, 0x78, 0x64, 0x01, 0x2580, 0x05, 0x05, 0x01, 0x01, "???", "???", "???", "???" }) Name (PBST, Package (0x04) { 0x01, 0x78, 0x64, 0x2580 }) Name (PSTA, 0x1F) } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Name (LIDF, 0x01) Method (_LID, 0, NotSerialized) { Return (LIDF) } Name (_PRW, Package (0x02) { 0x08, 0x03 }) } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_BBN, 0x00) Method (_INI, 0, NotSerialized) { If (LEqual (\_SB.PCI0.LPC.PMRD (0xF8), 0x00)) { Store (0x00, \_TZ.THRM.CPUT) } If (LEqual (\_SB.PCI0.LPC.PMRD (0xF8), 0x01)) { Store (0x01, \_TZ.THRM.CPUT) } If (LEqual (\_SB.PCI0.LPC.PMRD (0xF8), 0x02)) { Store (0x02, \_TZ.THRM.CPUT) } If (LEqual (\_SB.PCI0.LPC.PMRD (0xF8), 0x03)) { Store (0x03, \_TZ.THRM.CPUT) } } Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100, 0x00) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8, 0x00) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x04000000, 0xFFEDFFFF, 0x00000000, 0x00000000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x000CC000, 0x000DFFFF, 0x00000000, 0x00018000) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRES, 0x60, RAMT) CreateDWordField (CRES, 0x6C, RAMR) ShiftLeft (\_SB.PCI0.MAH, 0x1C, Local0) ShiftLeft (\_SB.PCI0.MAL, 0x14, Local1) Add (Local1, Local0, Local2) Store (Local2, RAMT) Subtract (0xFFEE0000, RAMT, RAMR) Return (CRES) } OperationRegion (MA, PCI_Config, 0xAE, 0x02) Field (MA, ByteAcc, NoLock, Preserve) { MAL, 8, MAH, 8 } Device (PPB) { Name (_ADR, 0x00) OperationRegion (NB00, PCI_Config, 0x00, 0xFF) Field (NB00, ByteAcc, NoLock, Preserve) { Offset (0x73), SH73, 8 } } Device (AGP) { Name (_ADR, 0x00010000) Device (VGA) { Name (_ADR, 0x00) Name (SWIT, 0x01) Name (CRTA, 0x01) Name (LCDA, 0x01) Name (TVAT, 0x01) Method (_INI, 0, NotSerialized) { Store (One, \_SB.PCI0.AGP.VGA.CRTA) Store (One, \_SB.PCI0.AGP.VGA.LCDA) Store (Zero, \_SB.PCI0.AGP.VGA.TVAT) Notify (\_SB.PCI0.AGP.VGA, 0x80) Sleep (0xC8) } Method (_DOS, 1, NotSerialized) { Store ("VGA --_DOS", Debug) Store (Arg0, SWIT) } Method (_DOD, 0, NotSerialized) { Store ("VGA --_DOD", Debug) Return (Package (0x03) { 0x00010100, 0x00010110, 0x00010200 }) } Device (CRT) { Name (_ADR, 0x0100) Method (_DCS, 0, NotSerialized) { Store ("CRT --_DCS", Debug) If (CRTA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("CRT --_DGS", Debug) If (LEqual (CRTA, 0x01)) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) { Store ("CRT --_DSS", Debug) } } Device (LCD) { Name (_ADR, 0x0110) Method (_DCS, 0, NotSerialized) { Store ("LCD --_DCS", Debug) If (LCDA) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("LCD --_DGS", Debug) Store (LCDA, Local0) If (LCDA) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) { } } Device (TV) { Name (_ADR, 0x0200) Method (_DCS, 0, NotSerialized) { Store ("TV --_DCS", Debug) If (TVAT) { Return (0x1F) } Else { Return (0x1D) } } Method (_DGS, 0, NotSerialized) { Store ("TV --_DGS", Debug) If (LEqual (TVAT, 0x01)) { Return (0x01) } Else { Return (0x00) } } Method (_DSS, 1, NotSerialized) { Store ("TV --_DSS", Debug) } } } } Device (IDEC) { Name (_ADR, 0x00020005) Name (IO5T, Package (0x03) { Package (0x07) { 0x78, 0xB4, 0x014A, 0x0186, 0x0258, 0x78, 0x96 }, Package (0x07) { 0x06, 0x07, 0x1C, 0x1C, 0x1C, 0x06, 0x07 }, Package (0x07) { 0x04, 0x09, 0x03, 0x09, 0x1E, 0x04, 0x06 } }) Name (IO6T, Package (0x03) { Package (0x07) { 0x78, 0xB4, 0x014A, 0x0186, 0x0258, 0x78, 0xB4 }, Package (0x07) { 0x09, 0x0A, 0x26, 0x26, 0x26, 0x09, 0x0A }, Package (0x07) { 0x05, 0x0C, 0x04, 0x0C, 0x28, 0x05, 0x0C } }) Name (UM5T, Package (0x06) { 0x0B, 0x07, 0x05, 0x04, 0x02, 0x01 }) Name (UM6T, Package (0x07) { 0x0F, 0x0A, 0x07, 0x05, 0x03, 0x02, 0x01 }) Name (PIO5, Package (0x05) { 0x3A, 0x25, 0x1F, 0x10, 0x0A }) Name (PIO6, Package (0x05) { 0x4E, 0x32, 0x2A, 0x16, 0x0E }) Name (CRCT, Package (0x07) { 0x06, 0x04, 0x03, 0x01, 0x01, 0x01, 0x01 }) Name (INTT, Package (0x05) { 0x02, 0x02, 0x02, 0x04, 0x06 }) Name (DMAT, Package (0x05) { 0x00, 0x01, 0x01, 0x01, 0x02 }) Name (RMFL, 0x01) OperationRegion (CF40, PCI_Config, 0x40, 0x18) Field (CF40, WordAcc, NoLock, Preserve) { , 1, IOR0, 1, UDM0, 1, UM60, 1, UCT0, 4, CRC0, 4, INI0, 4, ATT0, 6, Offset (0x03), RCT0, 6, Offset (0x04), , 1, IOR1, 1, UDM1, 1, UM61, 1, UCT1, 4, CRC1, 4, INI1, 4, ATT1, 6, Offset (0x07), RCT1, 6, Offset (0x08), , 1, IOR2, 1, UDM2, 1, UM62, 1, UCT2, 4, CRC2, 4, INI2, 4, ATT2, 6, Offset (0x0B), RCT2, 6, Offset (0x0C), , 1, IOR3, 1, UDM3, 1, UM63, 1, UCT3, 4, CRC3, 4, INI3, 4, ATT3, 6, Offset (0x0F), RCT3, 6, Offset (0x10), , 1, CHE0, 1, Offset (0x12), , 1, CHE1, 1, Offset (0x14), , 30, REMP, 1, Offset (0x18) } Name (IDEP, Buffer (0x14) {}) CreateDWordField (IDEP, 0x00, GTM0) CreateDWordField (IDEP, 0x04, GTM1) CreateDWordField (IDEP, 0x08, GTM2) CreateDWordField (IDEP, 0x0C, GTM3) CreateDWordField (IDEP, 0x10, GTM4) Device (IDE0) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Store (0xFFFFFFFF, Local0) Store (0xFFFFFFFF, Local1) Store (0xFFFFFFFF, Local2) Store (0xFFFFFFFF, Local3) Store (0x10, Local4) Store (REMP, RMFL) Store (0x00, REMP) If (CHE0) { If (LNot (LEqual (ATT0, 0x00))) { Add (RCT0, 0x01, Local5) Add (ATT0, 0x01, Local6) Add (Local5, Local6, Local5) Multiply (UM60, 0x05, Local6) Subtract (0x14, Local6, Local7) Multiply (Local5, Local7, Local0) ShiftRight (Local0, 0x01, Local0) If (LNot (LGreater (Local0, 0xB4))) { Store (Local0, Local1) } If (IOR0) { Or (Local4, 0x02, Local4) } If (UDM0) { Add (UCT0, 0x01, Local5) Multiply (Local5, Local7, Local6) ShiftRight (Local6, 0x01, Local1) Or (Local4, 0x01, Local4) } } If (LNot (LEqual (ATT1, 0x00))) { Add (RCT1, 0x01, Local5) Add (ATT1, 0x01, Local6) Add (Local5, Local6, Local5) Multiply (UM61, 0x05, Local6) Subtract (0x14, Local6, Local7) Multiply (Local5, Local7, Local2) ShiftRight (Local2, 0x01, Local2) If (LNot (LGreater (Local2, 0xB4))) { Store (Local2, Local3) } If (IOR1) { Or (Local4, 0x08, Local4) } If (UDM1) { Add (UCT1, 0x01, Local5) Multiply (Local5, Local7, Local6) ShiftRight (Local6, 0x01, Local3) Or (Local4, 0x04, Local4) } } } Store (RMFL, REMP) Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEP) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEP) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) Store (REMP, RMFL) Store (0x00, REMP) If (LAnd (LNot (LEqual (Local1, 0xFFFFFFFF)), LNot (LEqual (Local1, 0x00)))) { If (And (Local4, 0x01)) { Store (0x01, UDM0) If (LLess (Local1, 0x14)) { Store (0x01, UM60) Store (0x01, UCT0) } Else { Store (0x00, UM60) Divide (Local1, 0x0A, Local6, Local5) Decrement (Local5) Store (Local5, UCT0) Store (Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00), Local5) Store (DerefOf (Index (CRCT, Local5)), CRC0) } } } If (LAnd (LNot (LEqual (Local0, 0xFFFFFFFF)), LNot (LEqual (Local0, 0x00)))) { If (UM60) { Store (Match (DerefOf (Index (IO6T, 0x00)), MEQ, Local0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x01)), Local6)), ATT0) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x02)), Local6)), RCT0) } Else { Store (Match (DerefOf (Index (IO5T, 0x00)), MEQ, Local0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x01)), Local6)), ATT0) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x02)), Local6)), RCT0) Store (DerefOf (Index (INTT, Local6)), INI0) } } If (LAnd (LNot (LEqual (Local3, 0xFFFFFFFF)), LNot (LEqual (Local3, 0x00)))) { If (And (Local4, 0x04)) { Store (0x01, UDM1) If (LLess (Local3, 0x14)) { Store (0x01, UM61) Store (0x01, UCT1) } Else { Store (0x00, UM61) Divide (Local3, 0x0A, Local6, Local5) Decrement (Local5) Store (Local5, UCT1) Store (Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00), Local5) Store (DerefOf (Index (CRCT, Local5)), CRC1) } } } If (LAnd (LNot (LEqual (Local2, 0xFFFFFFFF)), LNot (LEqual (Local2, 0x00)))) { If (UM61) { Store (Match (DerefOf (Index (IO6T, 0x00)), MEQ, Local2, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x01)), Local6)), ATT1) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x02)), Local6)), RCT1) } Else { Store (Match (DerefOf (Index (IO5T, 0x00)), MEQ, Local2, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x01)), Local6)), ATT1) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x02)), Local6)), RCT1) Store (DerefOf (Index (INTT, Local6)), INI1) } } Store (RMFL, REMP) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local6) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) Store (REMP, RMFL) Store (0x00, REMP) If (LNot (LEqual (ATT0, 0x00))) { Add (ATT0, RCT0, Local5) If (UM60) { Store (Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00), MODE) } Else { Store (Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00), MODE) } If (UDM0) { If (UM60) { Store (Match (UM6T, MEQ, UCT0, MTR, 0x00, 0x00), UMOD) } Else { Store (Match (UM5T, MEQ, UCT0, MTR, 0x00, 0x00), UMOD) } Or (UMOD, 0x40, UMOD) } Else { Store (DerefOf (Index (DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Or (MODE, 0x08, MODE) } Store (RMFL, REMP) Concatenate (Local6, Local7, Local5) Return (Local5) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local6) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) Store (REMP, RMFL) Store (0x00, REMP) If (LNot (LEqual (ATT1, 0x00))) { Add (ATT1, RCT1, Local5) If (UM61) { Store (Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00), MODE) } Else { Store (Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00), MODE) } If (UDM1) { If (UM61) { Store (Match (UM6T, MEQ, UCT1, MTR, 0x00, 0x00), UMOD) } Else { Store (Match (UM5T, MEQ, UCT1, MTR, 0x00, 0x00), UMOD) } Or (UMOD, 0x40, UMOD) } Else { Store (DerefOf (Index (DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Or (MODE, 0x08, MODE) } Store (RMFL, REMP) Concatenate (Local6, Local7, Local5) Return (Local5) } } } Device (IDE1) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Store (0xFFFFFFFF, Local0) Store (0xFFFFFFFF, Local1) Store (0xFFFFFFFF, Local2) Store (0xFFFFFFFF, Local3) Store (0x10, Local4) Store (REMP, RMFL) Store (0x00, REMP) If (CHE1) { If (LNot (LEqual (ATT2, 0x00))) { Add (RCT2, 0x01, Local5) Add (ATT2, 0x01, Local6) Add (Local5, Local6, Local5) Multiply (UM62, 0x05, Local6) Subtract (0x14, Local6, Local7) Multiply (Local5, Local7, Local0) ShiftRight (Local0, 0x01, Local0) If (LNot (LGreater (Local0, 0xB4))) { Store (Local0, Local1) } If (IOR2) { Or (Local4, 0x02, Local4) } If (UDM2) { Add (UCT2, 0x01, Local5) Multiply (Local5, Local7, Local6) ShiftRight (Local6, 0x01, Local1) Or (Local4, 0x01, Local4) } } If (LNot (LEqual (ATT3, 0x00))) { Add (RCT3, 0x01, Local5) Add (ATT3, 0x01, Local6) Add (Local5, Local6, Local5) Multiply (UM63, 0x05, Local6) Subtract (0x14, Local6, Local7) Multiply (Local5, Local7, Local2) ShiftRight (Local2, 0x01, Local2) If (LNot (LGreater (Local2, 0xB4))) { Store (Local2, Local3) } If (IOR3) { Or (Local4, 0x08, Local4) } If (UDM3) { Add (UCT3, 0x01, Local5) Multiply (Local5, Local7, Local6) ShiftRight (Local6, 0x01, Local3) Or (Local4, 0x04, Local4) } } } Store (RMFL, REMP) Store (Local0, GTM0) Store (Local1, GTM1) Store (Local2, GTM2) Store (Local3, GTM3) Store (Local4, GTM4) Return (IDEP) } Method (_STM, 3, NotSerialized) { Store (Arg0, IDEP) Store (GTM0, Local0) Store (GTM1, Local1) Store (GTM2, Local2) Store (GTM3, Local3) Store (GTM4, Local4) Store (REMP, RMFL) Store (0x00, REMP) If (LAnd (LNot (LEqual (Local1, 0xFFFFFFFF)), LNot (LEqual (Local1, 0x00)))) { If (And (Local4, 0x01)) { Store (0x01, UDM2) If (LLess (Local1, 0x14)) { Store (0x01, UM62) Store (0x01, UCT2) } Else { Store (0x00, UM62) Divide (Local1, 0x0A, Local6, Local5) Decrement (Local5) Store (Local5, UCT2) Store (Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00), Local5) Store (DerefOf (Index (CRCT, Local5)), CRC2) } } } If (LAnd (LNot (LEqual (Local0, 0xFFFFFFFF)), LNot (LEqual (Local0, 0x00)))) { If (UM62) { Store (Match (DerefOf (Index (IO6T, 0x00)), MEQ, Local0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x01)), Local6)), ATT2) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x02)), Local6)), RCT2) } Else { Store (Match (DerefOf (Index (IO5T, 0x00)), MEQ, Local0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x01)), Local6)), ATT2) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x02)), Local6)), RCT2) Store (DerefOf (Index (INTT, Local6)), INI2) } } If (LAnd (LNot (LEqual (Local3, 0xFFFFFFFF)), LNot (LEqual (Local3, 0x00)))) { If (And (Local4, 0x04)) { Store (0x01, UDM3) If (LLess (Local3, 0x14)) { Store (0x01, UM63) Store (0x01, UCT3) } Else { Store (0x00, UM63) Divide (Local3, 0x0A, Local6, Local5) Decrement (Local5) Store (Local5, UCT3) Store (Match (UM5T, MEQ, Local5, MTR, 0x00, 0x00), Local5) Store (DerefOf (Index (CRCT, Local5)), CRC3) } } } If (LAnd (LNot (LEqual (Local2, 0xFFFFFFFF)), LNot (LEqual (Local2, 0x00)))) { If (UM63) { Store (Match (DerefOf (Index (IO6T, 0x00)), MEQ, Local2, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x01)), Local6)), ATT3) Store (DerefOf (Index (DerefOf (Index (IO6T, 0x02)), Local6)), RCT3) } Else { Store (Match (DerefOf (Index (IO5T, 0x00)), MEQ, Local2, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x01)), Local6)), ATT3) Store (DerefOf (Index (DerefOf (Index (IO5T, 0x02)), Local6)), RCT3) Store (DerefOf (Index (INTT, Local6)), INI3) } } Store (RMFL, REMP) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local6) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) Store (REMP, RMFL) Store (0x00, REMP) If (LNot (LEqual (ATT2, 0x00))) { Add (ATT2, RCT2, Local5) If (UM62) { Store (Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00), MODE) } Else { Store (Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00), MODE) } If (UDM2) { If (UM62) { Store (Match (UM6T, MEQ, UCT2, MTR, 0x00, 0x00), UMOD) } Else { Store (Match (UM5T, MEQ, UCT2, MTR, 0x00, 0x00), UMOD) } Or (UMOD, 0x40, UMOD) } Else { Store (DerefOf (Index (DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Or (MODE, 0x08, MODE) } Store (RMFL, REMP) Concatenate (Local6, Local7, Local5) Return (Local5) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local6) Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) Store (REMP, RMFL) Store (0x00, REMP) If (LNot (LEqual (ATT3, 0x00))) { Add (ATT3, RCT3, Local5) If (UM63) { Store (Match (PIO6, MEQ, Local5, MTR, 0x00, 0x00), MODE) } Else { Store (Match (PIO5, MEQ, Local5, MTR, 0x00, 0x00), MODE) } If (UDM3) { If (UM63) { Store (Match (UM6T, MEQ, UCT3, MTR, 0x00, 0x00), UMOD) } Else { Store (Match (UM5T, MEQ, UCT3, MTR, 0x00, 0x00), UMOD) } Or (UMOD, 0x40, UMOD) } Else { Store (DerefOf (Index (DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Or (MODE, 0x08, MODE) } Store (RMFL, REMP) Concatenate (Local6, Local7, Local5) Return (Local5) } } } } Scope (\_SB.PCI0) { Method (_PRT, 0, NotSerialized) { Return (Package (0x0B) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 }, Package (0x04) { 0x0002FFFF, 0x01, \_SB.PCI0.LPC.LNKB, 0x00 }, Package (0x04) { 0x0002FFFF, 0x02, \_SB.PCI0.LPC.LNKC, 0x00 }, Package (0x04) { 0x0002FFFF, 0x03, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, \_SB.PCI0.LPC.LNKE, 0x00 }, Package (0x04) { 0x0003FFFF, 0x01, \_SB.PCI0.LPC.LNKF, 0x00 }, Package (0x04) { 0x0003FFFF, 0x02, \_SB.PCI0.LPC.LNKG, 0x00 }, Package (0x04) { 0x0003FFFF, 0x03, \_SB.PCI0.LPC.LNKH, 0x00 }, Package (0x04) { 0x0004FFFF, 0x00, \_SB.PCI0.LPC.LNKD, 0x00 }, Package (0x04) { 0x000CFFFF, 0x00, \_SB.PCI0.LPC.LNKA, 0x00 } }) } } Device (LPC) { Name (_ADR, 0x00020000) OperationRegion (PCFG, PCI_Config, 0x00, 0x0100) Field (PCFG, ByteAcc, NoLock, Preserve) { Offset (0x41), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x60), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8, Offset (0x74), ACPB, 16 } OperationRegion (SOW, SystemIO, 0x8000, 0xA0) Field (SOW, WordAcc, NoLock, Preserve) { Offset (0x10), DUTY, 8, Offset (0x1A), , 1, RLSL, 1, Offset (0x20), , 2, SLP, 1, WK, 1, Offset (0x2B), , 5, SSL, 1, SWK, 1, GPE0, 1, Offset (0x49), LGMS, 1, Offset (0x62), , 6, ALED, 2, Offset (0x64), , 2, MID0, 1, Offset (0x65), , 3, SUSA, 1 } OperationRegion (PMIF, SystemIO, 0x68, 0x08) Field (PMIF, ByteAcc, NoLock, Preserve) { PMUD, 8, Offset (0x04), PMUC, 8, Offset (0x08) } Mutex (ELCK, 0x00) Method (WIBF, 0, NotSerialized) { Store (0x0009FFFF, Local6) Noop Noop Store (PMUC, Local2) And (Local2, 0x22, Local2) If (And (Local2, 0x20, Local3)) { Return (0x01) } And (Local2, 0x02, Local2) While (LAnd (LNot (LEqual (Local2, 0x00)), LNot (LEqual (Local6, 0x00)))) { Noop Noop Store (PMUC, Local2) Decrement (Local6) If (And (Local2, 0x20, Local3)) { Return (0x01) } And (Local2, 0x02, Local2) } Return (0x00) } Method (WOBF, 0, NotSerialized) { Store (0x009FFFFF, Local6) Noop Noop Store (PMUC, Local3) And (Local3, 0x21, Local3) If (And (Local3, 0x20, Local2)) { Return (0x01) } While (LAnd (LEqual (Local3, 0x00), LNot (LEqual (Local6, 0x00)))) { Noop Noop Store (PMUC, Local3) And (Local3, 0x21, Local3) If (And (Local3, 0x20, Local2)) { Return (0x01) } Decrement (Local6) } Return (0x00) } Method (RCMD, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) Store (Local0, PMUC) Noop Noop Noop Noop Noop Noop Noop Noop Noop Noop If (WIBF ()) { Return (0x01) } Store (Local1, PMUD) If (WOBF ()) { Return (0x01) } Return (0x00) } Method (WCMD, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) Store (Local0, PMUC) If (WIBF ()) { Return (0x01) } Store (Local1, PMUD) If (WIBF ()) { Return (0x01) } Return (0x00) } Method (PMRD, 1, NotSerialized) { Acquire (ELCK, 0xFFFF) Store (Zero, EDFG) Store (0x14, RECT) While (LAnd (LEqual (EDFG, 0x00), LNot (LEqual (RECT, 0x00)))) { Store (Arg0, Local0) Store (0x03E8, Local6) Store (PMUC, Local1) And (Local1, 0x13, Local1) While (LAnd (LNot (LEqual (Local1, 0x00)), LNot (LEqual (Local6, 0x00)))) { Sleep (0x02) Store (PMUC, Local1) And (Local1, 0x13, Local1) If (And (Local1, 0x01, Local2)) { Store (PMUD, Local3) } Decrement (Local6) } While (RCMD (0x80, Local0)) { Noop Noop Store (PMUC, Local5) If (And (Local5, 0x01, Local2)) { Store (PMUD, Local5) } } Store (0x07D0, Local6) Store (PMUC, Local1) And (Local1, 0x10, Local1) While (LAnd (LNot (LEqual (Local1, 0x00)), LNot (LEqual (Local6, 0x00)))) { Noop Noop Store (PMUC, Local1) And (Local1, 0x10, Local1) Decrement (Local6) } Store (PMUC, Local1) And (Local1, 0x20, Local1) If (LEqual (Local1, 0x00)) { Store (One, EDFG) } Decrement (RECT) } Store (PMUD, Local4) Release (ELCK) Return (Local4) } Method (PMWT, 2, NotSerialized) { Acquire (ELCK, 0xFFFF) Store (Zero, EDFG) Store (0x14, RECT) While (LAnd (LEqual (EDFG, 0x00), LNot (LEqual (RECT, 0x00)))) { Store (Arg0, Local0) Store (0x03E8, Local6) Store (PMUC, Local1) And (Local1, 0x13, Local1) While (LAnd (LNot (LEqual (Local1, 0x00)), LNot (LEqual (Local6, 0x00)))) { Sleep (0x01) Store (PMUC, Local1) And (Local1, 0x13, Local1) Decrement (Local6) } While (WCMD (0x81, Local0)) { Noop Noop Store (PMUC, Local5) If (And (Local5, 0x01, Local2)) { Store (PMUD, Local5) } } Store (Arg1, PMUD) Store (0x07D0, Local6) Store (PMUC, Local1) And (Local1, 0x12, Local1) While (LAnd (LNot (LEqual (Local1, 0x00)), LNot (LEqual (Local6, 0x00)))) { Store (0x00, ED) Noop Noop Store (0x00, ED) Store (PMUC, Local1) And (Local1, 0x12, Local1) Decrement (Local6) } Store (PMUC, Local1) And (Local1, 0x20, Local1) If (LEqual (Local1, 0x00)) { Store (One, EDFG) } Decrement (RECT) } Release (ELCK) } Method (PMMW, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) And (Local0, 0xFF, Local2) And (Local0, 0xFF00, Local3) ShiftRight (Local3, 0x08, Local3) Add (Local2, Local3, Local4) Add (Local4, 0xC1, Local4) Add (Local4, Local1, Local7) And (Local7, 0xFF, Local7) PMWR (0x043F, Local7) PMWR (Local0, Local1) } Method (PMWR, 2, NotSerialized) { Acquire (ELCK, 0xFFFF) Store (Zero, EDFG) Store (0x14, RECT) While (LAnd (LEqual (EDFG, 0x00), LNot (LEqual (RECT, 0x00)))) { Store (0x03E8, Local6) Store (PMUC, Local1) And (Local1, 0x13, Local1) While (LAnd (LNot (LEqual (Local1, 0x00)), LNot (LEqual (Local6, 0x00)))) { Sleep (0x01) Store (PMUC, Local1) And (Local1, 0x13, Local1) Decrement (Local6) } Store (Arg0, Local0) While (WCM2 (0xC1, Local0)) { Store (0x00, ED) Noop Noop Store (0x00, ED) Store (PMUC, Local5) If (And (Local5, 0x01, Local2)) { Store (PMUD, Local5) } } Store (Arg1, PMUD) Store (0x07D0, Local6) Store (PMUC, Local1) And (Local1, 0x12, Local1) While (LAnd (LNot (LEqual (Local1, 0x00)), LNot (LEqual (Local6, 0x00)))) { Store (0x00, ED) Noop Noop Store (0x00, ED) Store (PMUC, Local1) And (Local1, 0x12, Local1) Decrement (Local6) } Store (PMUC, Local1) And (Local1, 0x20, Local1) If (LEqual (Local1, 0x00)) { Store (One, EDFG) } Decrement (RECT) } Release (ELCK) } Method (WCM2, 2, NotSerialized) { Store (Arg0, Local0) Store (Arg1, Local1) Store (Arg1, Local2) And (Local1, 0xFF, Local1) And (Local2, 0xFF00, Local2) ShiftRight (Local2, 0x08, Local2) Store (Local0, PMUC) If (WIBF ()) { Return (0x01) } Store (Local2, PMUD) If (WIBF ()) { Return (0x01) } Store (Local1, PMUD) If (WIBF ()) { Return (0x01) } Return (0x00) } Name (EDFG, 0x00) Name (RECT, 0x00) OperationRegion (DELY, SystemIO, 0xED, 0x01) Field (DELY, ByteAcc, NoLock, Preserve) { ED, 8 } Method (SMST, 0, NotSerialized) { Store (0x10, Local6) Store (PMRD (0x70), Local0) While (LAnd (LNot (LEqual (Local0, 0x00)), LNot (LEqual (Local6, 0x00)))) { Sleep (0x05) Store (PMRD (0x70), Local0) Decrement (Local6) } Store (0x10, Local6) Store (PMRD (0x71), Local1) While (LAnd (LNot (LEqual (Local1, 0x80)), LNot (LEqual (Local6, 0x00)))) { Sleep (0x05) Store (PMRD (0x71), Local1) Decrement (Local6) } } Method (SMWT, 3, NotSerialized) { Acquire (ELCK, 0xFFFF) Store (0x06, Local6) Store (Arg0, Local0) Store (Arg1, Local1) Store (Arg2, Local2) While (LNot (LEqual (Local6, 0x00))) { PMWT (0x71, 0x00) PMWT (0x72, Local0) PMWT (0x73, Local1) PMWT (0x74, Local2) PMWT (0x70, 0x06) SMST () Decrement (Local6) } Release (ELCK) } Method (SMWD, 4, NotSerialized) { Acquire (ELCK, 0xFFFF) Store (0x06, Local6) Store (Arg0, Local0) Store (Arg1, Local1) Store (Arg2, Local2) Store (Arg3, Local3) While (LNot (LEqual (Local6, 0x00))) { PMWT (0x71, 0x00) PMWT (0x72, Local0) PMWT (0x73, Local1) PMWT (0x74, Local2) PMWT (0x75, Local3) PMWT (0x70, 0x08) SMST () Decrement (Local6) } Release (ELCK) } OperationRegion (SIIO, SystemIO, 0x2E, 0x02) Field (SIIO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { CR00, 8, CR01, 8, CR02, 8, CR03, 8, CR04, 8, CR05, 8, CR06, 8, CR07, 8, CR08, 8, CR09, 8, CR0A, 8, CR0B, 8, CR0C, 8, CR0D, 8, CR0E, 8, CR0F, 8, CR10, 8, CR11, 8, CR12, 8, CR13, 8, CR14, 8, CR15, 8, CR16, 8, CR17, 8, CR18, 8, CR19, 8, CR1A, 8, CR1B, 8, CR1C, 8, CR1D, 8, CR1E, 8, CR1F, 8, CR20, 8, CR21, 8, CR22, 8, CR23, 8, CR24, 8, CR25, 8, CR26, 8, CR27, 8, CR28, 8, CR29, 8, CR2A, 8, CR2B, 8, CR2C, 8, CR2D, 8, CR2E, 8, CR2F, 8, CR30, 8, CR31, 8, CR32, 8, CR33, 8, CR34, 8, CR35, 8, CR36, 8, CR37, 8, CR38, 8, CR39, 8, CR3A, 8, CR3B, 8, CR3C, 8, CR3D, 8, CR3E, 8, CR3F, 8, CR40, 8, CR41, 8, CR42, 8, CR43, 8, CR44, 8, CR45, 8, CR46, 8, CR47, 8, CR48, 8, CR49, 8, CR4A, 8, CR4B, 8 } Method (ENFG, 0, NotSerialized) { Acquire (MTIO, 0xFFFF) Store (0x55, INDX) } Method (EXFG, 0, NotSerialized) { Store (0xAA, INDX) Release (MTIO) } Device (LPT) { Method (_HID, 0, NotSerialized) { ENFG () NAnd (CR01, 0x08, Local0) And (CR04, 0x02, Local1) EXFG () If (LAnd (Local0, Local1)) { Return (0x0104D041) } Else { Return (0x0004D041) } } Method (_STA, 0, NotSerialized) { ENFG () And (CR23, 0xC0, Local0) And (CR01, 0x04, Local1) EXFG () If (LAnd (Local0, Local1)) { Return (0x0F) } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) { \_SB.PCI0.LPC.COM1.SAVE () ENFG () EXFG () } Name (CRSA, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} }) Name (CRSB, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Method (_CRS, 0, NotSerialized) { CreateWordField (CRSA, 0x02, IOAL) CreateWordField (CRSA, 0x04, IOAH) CreateByteField (CRSA, 0x07, LENA) CreateWordField (CRSA, 0x09, IRAX) Store (Zero, IOAL) Store (Zero, IOAH) Store (Zero, LENA) Store (Zero, IRAX) CreateWordField (CRSB, 0x02, IOBL) CreateWordField (CRSB, 0x04, IOBH) CreateByteField (CRSB, 0x07, LENB) CreateWordField (CRSB, 0x0A, IOCL) CreateWordField (CRSB, 0x0C, IOCH) CreateByteField (CRSB, 0x0F, LENC) CreateWordField (CRSB, 0x11, IRBX) CreateByteField (CRSB, 0x14, DMAX) Store (Zero, IOBL) Store (Zero, IOBH) Store (Zero, LENB) Store (Zero, IOCL) Store (Zero, IOCH) Store (Zero, LENC) Store (Zero, IRBX) Store (Zero, DMAX) ENFG () ShiftLeft (CR23, 0x02, Local0) Store (Local0, IOAL) Store (Local0, IOAH) Store (Local0, IOBL) Store (Local0, IOBH) Add (Local0, 0x0400, IOCL) Add (Local0, 0x0400, IOCH) If (LEqual (Local0, 0x03BC)) { Store (0x04, LENA) Store (0x04, LENB) Store (0x04, LENC) } Else { Store (0x08, LENA) Store (0x08, LENB) Store (0x08, LENC) } And (CR27, 0x0F, Local0) ShiftLeft (One, Local0, IRAX) ShiftLeft (One, Local0, IRBX) And (CR26, 0x0F, Local0) ShiftLeft (One, Local0, DMAX) NAnd (CR01, 0x08, Local0) And (CR04, 0x02, Local1) EXFG () If (LAnd (Local0, Local1)) { Return (CRSB) } Else { Return (CRSA) } } Name (PRSA, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IRQNoFlags () {5} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IRQNoFlags () {7} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {5} } EndDependentFn () }) Name (PRSB, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IO (Decode16, 0x0778, 0x0778, 0x08, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IO (Decode16, 0x0678, 0x0678, 0x08, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x08, 0x08) IO (Decode16, 0x0778, 0x0778, 0x08, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x08, 0x08) IO (Decode16, 0x0678, 0x0678, 0x08, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } EndDependentFn () }) Method (_PRS, 0, NotSerialized) { ENFG () NAnd (CR01, 0x08, Local0) And (CR04, 0x02, Local1) EXFG () If (LAnd (Local0, Local1)) { Return (PRSB) } Else { Return (PRSA) } } Method (_SRS, 1, NotSerialized) { ENFG () NAnd (CR01, 0x08, Local0) And (CR04, 0x02, Local1) If (LAnd (Local0, Local1)) { Store (Arg0, CRSB) CreateWordField (CRSB, 0x02, IOB) CreateWordField (CRSB, 0x11, IRQB) CreateByteField (CRSB, 0x14, DMAX) ShiftRight (IOB, 0x02, CR23) FindSetRightBit (DMAX, Local0) Decrement (Local0) And (CR26, 0xF0, CR26) Or (CR26, Local0, CR26) FindSetRightBit (IRQB, Local0) } Else { Store (Arg0, CRSA) CreateWordField (CRSA, 0x02, IOA) CreateWordField (CRSA, 0x09, IRQA) ShiftRight (IOA, 0x02, CR23) FindSetRightBit (IRQA, Local0) } And (CR27, 0xF0, CR27) If (Local0) { Decrement (Local0) Or (CR27, Local0, CR27) } Or (CR01, 0x04, CR01) And (CR07, 0xEF, CR07) EXFG () } Method (_PSC, 0, NotSerialized) { ENFG () And (CR01, 0x04, Local0) EXFG () If (Local0) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) { ENFG () Or (CR01, 0x04, CR01) EXFG () } Method (_PS3, 0, NotSerialized) { \_SB.PCI0.LPC.COM1.SAVE () } } Device (COM1) { Name (_HID, EisaId ("PNP0501")) Method (_STA, 0, NotSerialized) { And (\_SB.PCI0.LPC.PMRD (0xFF), 0x01, Local7) If (Local7) { Return (0x00) } Else { ENFG () And (CR24, 0xC0, Local0) And (CR02, 0x08, Local1) EXFG () If (LAnd (Local0, Local1)) { Return (0x0F) } Else { Return (0x0D) } } } Method (_DIS, 0, NotSerialized) { \_SB.PCI0.LPC.COM1.SAVE () ENFG () And (CR24, 0x3F, CR24) And (CR28, 0x0F, CR28) EXFG () } Name (RSRC, ResourceTemplate () { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {4} }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x02, IO1L) CreateWordField (RSRC, 0x04, IO1H) CreateWordField (RSRC, 0x09, IRQX) Store (Zero, IO1L) Store (Zero, IO1H) Store (Zero, IRQX) ENFG () And (CR24, 0xC0, Local0) And (CR02, 0x08, Local1) If (LAnd (Local0, Local1)) { ShiftLeft (CR24, 0x02, Local0) Store (Local0, IO1L) Store (Local0, IO1H) ShiftRight (CR28, 0x04, Local0) ShiftLeft (One, Local0, IRQX) } Else { Store (Zero, IO1L) Store (Zero, IO1H) Store (Zero, IRQX) } EXFG () Return (RSRC) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {4} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { Store (Arg0, RSRC) CreateWordField (RSRC, 0x02, IO1L) CreateWordField (RSRC, 0x09, IRQX) ENFG () ShiftRight (IO1L, 0x02, CR24) FindSetRightBit (IRQX, Local0) Decrement (Local0) And (CR28, 0x0F, CR28) ShiftLeft (Local0, 0x04, Local0) Or (CR28, Local0, CR28) Or (CR02, 0x08, CR02) And (CR07, 0xBF, CR07) EXFG () } Method (_PSC, 0, NotSerialized) { ENFG () And (CR02, 0x08, Local0) EXFG () If (Local0) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) { ENFG () Or (CR02, 0x08, CR02) EXFG () } Method (_PS3, 0, NotSerialized) { \_SB.PCI0.LPC.COM1.SAVE () } Method (_PSW, 1, NotSerialized) { If (Arg0) { Or (\_SB.PCI0.LPC.PMRD (0xB8), 0x80, Local0) \_SB.PCI0.LPC.PMWT (0xB8, Local0) } Else { And (\_SB.PCI0.LPC.PMRD (0xB8), 0x7F, Local0) \_SB.PCI0.LPC.PMWT (0xB8, Local0) } } Name (SV24, 0x00) Name (IRQV, 0x00) Method (SAVE, 0, NotSerialized) { ENFG () And (CR02, 0x08, Local0) ShiftRight (CR24, 0x06, Local1) If (LAnd (Local0, Local1)) { Store (CR24, SV24) ShiftRight (CR28, 0x04, IRQV) } EXFG () } Method (REST, 0, NotSerialized) { If (LNot (LEqual (SV24, Zero))) { ENFG () Or (CR02, 0x08, CR02) Store (SV24, CR24) And (CR28, 0x0F, CR28) ShiftLeft (IRQV, 0x04, Local0) Or (CR28, Local0, CR28) EXFG () } } } Name (FLAG, 0xFF) Name (SV0A, 0x00) Name (SV0C, 0x00) Method (MODE, 0, NotSerialized) { If (LEqual (FLAG, 0xFF)) { ENFG () And (CR02, 0x80, Local0) Store (CR25, Local1) And (CR0C, 0x38, Local2) Store (CR2B, Local3) EXFG () If (LOr (LEqual (Local0, Zero), LEqual (Local1, Zero))) { Store (0x00, Local7) } Else { If (LEqual (Local2, Zero)) { Store (0x01, Local7) } Else { If (LEqual (Local3, Zero)) { Store (0x02, Local7) } Else { Store (0x03, Local7) } } } Store (Local7, FLAG) Return (FLAG) } Else { Return (FLAG) } } Device (FIRA) { Name (_HID, EisaId ("SMCF010")) Name (_CID, 0x1005D041) Method (_STA, 0, NotSerialized) { If (LEqual (MODE (), 0x03)) { ENFG () And (CR02, 0x80, Local0) EXFG () If (Local0) { Return (0x0F) } Else { Return (0x05) } } Else { Return (0x00) } } Method (_DIS, 0, NotSerialized) { ENFG () And (CR25, 0x3F, CR25) And (CR28, 0xF0, CR28) EXFG () } Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x02, IO1L) CreateWordField (RSRC, 0x02, IO1H) CreateWordField (RSRC, 0x0A, IO2L) CreateWordField (RSRC, 0x0A, IO2H) CreateWordField (RSRC, 0x11, IRQX) CreateByteField (RSRC, 0x14, DMAX) Store (Zero, IO1L) Store (Zero, IO1H) Store (Zero, IO2L) Store (Zero, IO2H) Store (Zero, IRQX) Store (Zero, DMAX) ENFG () And (CR25, 0xC0, Local0) And (CR02, 0x80, Local1) If (LAnd (Local0, Local1)) { ShiftLeft (CR25, 0x02, Local0) Store (Local0, IO1L) Store (Local0, IO1H) ShiftLeft (CR2B, 0x03, Local0) Store (Local0, IO2L) Store (Local0, IO2H) And (CR28, 0x0F, Local5) ShiftLeft (One, Local5, IRQX) And (CR2C, 0x0F, Local5) ShiftLeft (One, Local5, DMAX) } EXFG () Return (RSRC) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IO (Decode16, 0x07F8, 0x07F8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IO (Decode16, 0x06F8, 0x06F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IO (Decode16, 0x07E8, 0x07E8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IO (Decode16, 0x06E8, 0x06E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IO (Decode16, 0x07F8, 0x07F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IO (Decode16, 0x06F8, 0x06F8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IO (Decode16, 0x07E8, 0x07E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IO (Decode16, 0x06E8, 0x06E8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { Store (Arg0, RSRC) CreateWordField (RSRC, 0x02, IO1X) CreateWordField (RSRC, 0x0A, IO2X) CreateWordField (RSRC, 0x11, IRQX) CreateByteField (RSRC, 0x14, DMAX) ENFG () ShiftRight (IO1X, 0x02, CR25) ShiftRight (IO2X, 0x03, CR2B) FindSetRightBit (IRQX, Local0) If (Local0) { Decrement (Local0) And (CR28, 0xF0, CR28) Or (CR28, Local0, CR28) } FindSetRightBit (DMAX, Local0) If (Local0) { Decrement (Local0) And (Local0, 0x0F, CR2C) } Or (CR02, 0x80, CR02) EXFG () } Method (_PSC, 0, NotSerialized) { ENFG () And (CR02, 0x80, Local0) EXFG () If (Local0) { Return (0x00) } Else { Return (0x03) } } Method (_PS0, 0, NotSerialized) { ENFG () Or (CR02, 0x80, CR02) If (SV0A) { Store (SV0A, CR0A) Store (SV0C, CR0C) } EXFG () } Method (_PS3, 0, NotSerialized) { ENFG () If (CR0A) { Store (CR0A, SV0A) Store (CR0C, SV0C) } EXFG () } } Device (IRDA) { Name (_HID, EisaId ("PNP0510")) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x00, 0x00) IRQNoFlags () {} }) Method (_STA, 0, NotSerialized) { If (LEqual (MODE (), 0x02)) { ENFG () And (CR02, 0x80, Local0) EXFG () If (Local0) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } Method (_SRS, 1, NotSerialized) { CreateByteField (Arg0, 0x02, IOLO) CreateByteField (Arg0, 0x03, IOHI) CreateByteField (Arg0, 0x09, IRQL) ENFG () ShiftRight (IOLO, 0x02, CR25) Or (CR25, 0x80, CR25) FindSetRightBit (IRQL, Local0) If (Local0) { Decrement (Local0) And (CR28, 0xF0, CR28) Or (CR28, Local0, CR28) } Or (CR02, 0x80, CR02) EXFG () } Method (_CRS, 0, NotSerialized) { And (_STA (), 0x02, Local0) If (LEqual (Local0, Zero)) { Return (RSRC) } Name (BUF0, ResourceTemplate () { IO (Decode16, 0x02F8, 0x02F8, 0x08, 0x08) IRQNoFlags () {3} }) CreateByteField (BUF0, 0x02, IOLO) CreateByteField (BUF0, 0x03, IOHI) CreateByteField (BUF0, 0x04, IORL) CreateByteField (BUF0, 0x05, IORH) CreateByteField (BUF0, 0x09, IRQL) CreateByteField (BUF0, 0x0A, IRQH) ENFG () Store (CR25, Local0) And (CR25, 0xC0, Local1) ShiftRight (Local1, 0x06, Local1) And (Local0, 0x3F, Local0) ShiftLeft (Local0, 0x02, Local0) Store (Local0, IOLO) Store (Local1, IOHI) Store (IOLO, IORL) Store (IOHI, IORH) And (CR28, 0x0F, Local5) ShiftLeft (One, Local5, IRQL) EXFG () Return (BUF0) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {4} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03F8, 0x03F8, 0x01, 0x08) IRQNoFlags () {3} } EndDependentFn () }) Method (_DIS, 0, NotSerialized) { ENFG () And (CR02, 0x7F, CR02) EXFG () } Method (_PS0, 0, NotSerialized) { ENFG () Or (CR02, 0x80, CR02) If (SV0A) { Store (SV0A, CR0A) Store (SV0C, CR0C) } EXFG () } Method (_PS3, 0, NotSerialized) { ENFG () If (CR0A) { Store (CR0A, SV0A) Store (CR0C, SV0C) } And (CR02, 0x7F, CR02) EXFG () } } Mutex (MTIO, 0x00) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {10} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRA, 0x80, \_SB.PCI0.LPC.PIRA) } Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RSRC, 0x01, IRQ0) If (LEqual (And (\_SB.PCI0.LPC.PIRA, 0x80), Zero)) { And (\_SB.PCI0.LPC.PIRA, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) } Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRA, 0x70), \_SB.PCI0.LPC.PIRA) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRA, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {10} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRB, 0x80, \_SB.PCI0.LPC.PIRB) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (\_SB.PCI0.LPC.PIRB, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRB, 0x70), \_SB.PCI0.LPC.PIRB) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRB, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRC, 0x80, \_SB.PCI0.LPC.PIRC) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (\_SB.PCI0.LPC.PIRC, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRC, 0x70), \_SB.PCI0.LPC.PIRC) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRC, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRD, 0x80, \_SB.PCI0.LPC.PIRD) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (\_SB.PCI0.LPC.PIRD, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRD, 0x70), \_SB.PCI0.LPC.PIRD) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRD, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRE, 0x80, \_SB.PCI0.LPC.PIRE) } Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) CreateWordField (RSRC, 0x01, IRQ0) If (LEqual (And (\_SB.PCI0.LPC.PIRE, 0x80), Zero)) { And (\_SB.PCI0.LPC.PIRE, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) } Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRE, 0x70), \_SB.PCI0.LPC.PIRE) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRE, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRF, 0x80, \_SB.PCI0.LPC.PIRF) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (\_SB.PCI0.LPC.PIRF, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRF, 0x70), \_SB.PCI0.LPC.PIRF) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRF, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRG, 0x80, \_SB.PCI0.LPC.PIRG) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (\_SB.PCI0.LPC.PIRG, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRG, 0x70), \_SB.PCI0.LPC.PIRG) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRG, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PIRH, 0x80, \_SB.PCI0.LPC.PIRH) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x01, IRQ0) And (\_SB.PCI0.LPC.PIRH, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.LPC.PIRH, 0x70), \_SB.PCI0.LPC.PIRH) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.LPC.PIRH, 0x80)) { Return (0x09) } Return (0x0B) } } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x10) IO (Decode16, 0x0081, 0x0081, 0x01, 0x0F) IO (Decode16, 0x00C0, 0x00C0, 0x01, 0x20) IO (Decode16, 0x0480, 0x0480, 0x01, 0x10) DMA (Compatibility, NotBusMaster, Transfer16) {4} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x01, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x01, 0x02) IRQ (Edge, ActiveHigh, Exclusive) {2} }) } Device (TIME) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x01, 0x04) IRQNoFlags () {0} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x02) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x8000, 0x8000, 0x01, 0x90) IO (Decode16, 0x8100, 0x8100, 0x01, 0x20) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x01) IO (Decode16, 0x002E, 0x002E, 0x01, 0x01) IO (Decode16, 0x002F, 0x002F, 0x01, 0x01) IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x02) IO (Decode16, 0x0068, 0x0068, 0x01, 0x01) IO (Decode16, 0x006A, 0x006A, 0x01, 0x01) IO (Decode16, 0x006C, 0x006C, 0x01, 0x01) IO (Decode16, 0x006E, 0x006E, 0x01, 0x01) Memory32Fixed (ReadWrite, 0x000CC000, 0x00003C00) Memory32Fixed (ReadWrite, 0x000D0000, 0x00006000) Memory32Fixed (ReadWrite, 0x000D6000, 0x00001001) Memory32Fixed (ReadWrite, 0xFED00000, 0x00001001) Memory32Fixed (ReadOnly, 0xFEC00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFEE00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFFC00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFFE00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFFE80000, 0x00080000) }) Name (Z000, ResourceTemplate () { IO (Decode16, 0x8000, 0x8000, 0x01, 0x90) IO (Decode16, 0x8100, 0x8100, 0x01, 0x20) IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IO (Decode16, 0xFE00, 0xFE00, 0x01, 0x01) IO (Decode16, 0x002E, 0x002E, 0x01, 0x01) IO (Decode16, 0x002F, 0x002F, 0x01, 0x01) IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x02) IO (Decode16, 0x0068, 0x0068, 0x01, 0x01) IO (Decode16, 0x006A, 0x006A, 0x01, 0x01) IO (Decode16, 0x006C, 0x006C, 0x01, 0x01) IO (Decode16, 0x006E, 0x006E, 0x01, 0x01) Memory32Fixed (ReadOnly, 0xFEC00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFEE00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFFC00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFFE00000, 0x00001000) Memory32Fixed (ReadOnly, 0xFFE80000, 0x00080000) }) Method (_CRS, 0, NotSerialized) { If (LEqual (SizeOf (_OS), 0x27)) { Return (Z000) } Else { Return (RSRC) } } OperationRegion (OEMD, SystemMemory, 0x000FE6FE, 0x01) Field (OEMD, AnyAcc, NoLock, Preserve) { , 1, , 1, STAN, 3, Offset (0x01) } } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x0F) IRQ (Edge, ActiveHigh, Exclusive) {13} }) } Device (KBC) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQNoFlags () {1} }) } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Method (_STA, 0, NotSerialized) { And (\_SB.PCI0.LPC.PMRD (0xFF), 0x80, Local0) If (Local0) { Return (0x00) } Else { Return (0x0F) } } Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive) {12} }) } } Device (USB0) { Name (_ADR, 0x00030000) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRW, Package (0x02) { 0x0E, 0x03 }) } Device (USB1) { Name (_ADR, 0x00030001) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRW, Package (0x02) { 0x04, 0x03 }) } Device (USB2) { Name (_ADR, 0x00030002) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRW, Package (0x02) { 0x07, 0x03 }) } Device (USB3) { Name (_ADR, 0x00030003) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRW, Package (0x02) { 0x06, 0x03 }) } Device (AUDO) { Name (_ADR, 0x00020007) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (MDM0) { Name (_ADR, 0x00020006) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRW, Package (0x02) { 0x05, 0x03 }) } Device (ENET) { Name (_ADR, 0x00040000) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (CRB0) { Name (_ADR, 0x000C0000) OperationRegion (CRD0, PCI_Config, 0xA4, 0x04) Field (CRD0, DWordAcc, Lock, Preserve) { PWST, 2, Offset (0x01), PMEN, 1, , 6, PMST, 1 } Method (_INI, 0, NotSerialized) { Store (0x00, PWST) Store (0x00, PMST) } } Device (IE94) { Name (_ADR, 0x00020003) Method (_STA, 0, NotSerialized) { Return (0x0F) } } } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x1FDFFE2D, 0x00000120) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2008 } Field (SMI1, AnyAcc, NoLock, Preserve) { DMY, 40, INF, 8 } Device (PWB) { Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) { Return (0x0B) } } OperationRegion (P80G, SystemIO, 0x80, 0x01) Field (P80G, ByteAcc, NoLock, Preserve) { DBPG, 8 } } Scope (_TZ) { Mutex (THR0, 0x00) PowerResource (FN10, 0x00, 0x0000) { Method (_ON, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PMRD (0xFF), 0x04, Local0) \_SB.PCI0.LPC.PMWT (0xFF, Local0) If (LEqual (\_TZ.THRM.FWAK, 0x00)) { PHSR (0x84) } } Method (_OFF, 0, NotSerialized) { And (\_SB.PCI0.LPC.PMRD (0xFF), 0xFB, Local0) \_SB.PCI0.LPC.PMWT (0xFF, Local0) If (LEqual (\_TZ.THRM.FWAK, 0x00)) { PHSR (0x85) } } Method (_STA, 0, NotSerialized) { And (\_SB.PCI0.LPC.PMRD (0xFF), 0x04, Local7) ShiftRight (Local7, 0x02, Local7) Return (Local7) } } PowerResource (FN11, 0x00, 0x0000) { Method (_ON, 0, NotSerialized) { Or (\_SB.PCI0.LPC.PMRD (0xFF), 0x02, Local0) \_SB.PCI0.LPC.PMWT (0xFF, Local0) If (LEqual (\_TZ.THRM.FWAK, 0x00)) { PHSR (0x86) } } Method (_OFF, 0, NotSerialized) { And (\_SB.PCI0.LPC.PMRD (0xFF), 0xFD, Local0) \_SB.PCI0.LPC.PMWT (0xFF, Local0) If (LEqual (\_TZ.THRM.FWAK, 0x00)) { PHSR (0x87) } } Method (_STA, 0, NotSerialized) { And (\_SB.PCI0.LPC.PMRD (0xFF), 0x02, Local7) ShiftRight (Local7, 0x01, Local7) Return (Local7) } } Device (FN1) { Name (_HID, EisaId ("PNP0C0B")) Name (_UID, 0x01) Name (_PR0, Package (0x02) { FN10, FN11 }) Method (_INI, 0, NotSerialized) { Store (\_SB.PCI0.LPC.PMRD (0xAF), Local0) And (Local0, 0x04, Local0) If (LNot (LEqual (Local0, Zero))) { \_SB.PCI0.LPC.PMMW (0xAA, 0x043F) \_SB.PCI0.LPC.PMMW (0x00, 0x01E8) Store (One, \_TZ.THRM.TERR) } } } Device (FN2) { Name (_HID, EisaId ("PNP0C0B")) Name (_UID, 0x02) Name (_PR0, Package (0x01) { FN11 }) } ThermalZone (THRM) { Name (INIT, 0x00) Name (MODE, 0x00) Name (CPUT, 0x00) Name (HILD, Package (0x04) { 0x2D, 0x37, 0x50, 0x5A }) Name (LOLD, Package (0x04) { 0x00, 0x23, 0x2D, 0x46 }) Name (Z001, Package (0x04) { 0x2D, 0x37, 0x4A, 0x55 }) Name (Z002, Package (0x04) { 0x00, 0x23, 0x2D, 0x40 }) Name (Z003, Package (0x04) { 0x2D, 0x37, 0x4A, 0x55 }) Name (Z004, Package (0x04) { 0x00, 0x23, 0x2D, 0x40 }) Name (HILM, Package (0x04) { 0x2D, 0x37, 0x45, 0x59 }) Name (LOLM, Package (0x04) { 0x00, 0x23, 0x2D, 0x3B }) Name (TERR, 0x00) Name (FFAN, 0x00) Name (FWAK, 0x00) Name (FCOU, 0x00) Method (_CRT, 0, NotSerialized) { If (LEqual (\_TZ.THRM.CPUT, 0x00)) { Store (DerefOf (Index (HILD, 0x03)), Local0) } If (LEqual (\_TZ.THRM.CPUT, 0x01)) { Store (DerefOf (Index (HILM, 0x03)), Local0) } If (LEqual (\_TZ.THRM.CPUT, 0x02)) { Store (DerefOf (Index (Z001, 0x03)), Local0) } If (LEqual (\_TZ.THRM.CPUT, 0x03)) { Store (DerefOf (Index (Z003, 0x03)), Local0) } Multiply (Local0, 0x0A, Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } Method (_PSV, 0, NotSerialized) { If (LEqual (\_TZ.THRM.CPUT, 0x00)) { Store (DerefOf (Index (LOLD, 0x03)), Local0) } If (LEqual (\_TZ.THRM.CPUT, 0x01)) { Store (DerefOf (Index (LOLM, 0x03)), Local0) } If (LEqual (\_TZ.THRM.CPUT, 0x02)) { Store (DerefOf (Index (Z002, 0x03)), Local0) } If (LEqual (\_TZ.THRM.CPUT, 0x03)) { Store (DerefOf (Index (Z004, 0x03)), Local0) } Multiply (Local0, 0x0A, Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } Name (_PSL, Package (0x01) { \_PR.CPU0 }) Method (_AC0, 0, NotSerialized) { Add (DerefOf (Index (HILD, 0x01)), DerefOf (Index (LOLM, 0x02)), Local1) Multiply (Local1, 0x0A, Local1) Store (Divide (Local1, 0x02, ), Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } Name (_AL0, Package (0x01) { FN1 }) Method (_AC1, 0, NotSerialized) { Add (DerefOf (Index (HILM, 0x00)), DerefOf (Index (LOLM, 0x01)), Local1) Multiply (Local1, 0x0A, Local1) Store (Divide (Local1, 0x02, ), Local0) Add (Local0, 0x0AAA, Local0) Return (Local0) } Name (_AL1, Package (0x01) { FN2 }) Method (_SCP, 1, NotSerialized) { If (INIT) { Store (Arg0, MODE) } Else { XOr (\_SB.ACAD.ACFG, One, MODE) Store (One, INIT) } TCHK () Notify (\_TZ.THRM, 0x81) } Method (_TMP, 0, NotSerialized) { If (\_TZ.THRM.TERR) { \_TZ.FN10._ON () \_TZ.FN11._ON () Return (0x0D98) } Else { If (THIN) { TCHK () } Store (\_SB.PCI0.LPC.PMRD (0xE7), Local0) Multiply (Local0, 0x0A, Local0) Add (Local0, 0x0AAA, Local0) If (LEqual (Local0, 0x0AAA)) { Store (0x0D98, Local0) } Return (Local0) } } Method (FANF, 0, NotSerialized) { } Name (_TC1, 0x04) Name (_TC2, 0x03) Name (_TSP, 0x96) Name (THIN, 0x01) Method (TCHK, 0, NotSerialized) { Acquire (THR0, 0xFFFF) Store (\_SB.PCI0.LPC.PMRD (0xAF), Local7) And (Local7, 0x04, Local7) If (LNot (LEqual (Local7, Zero))) { \_SB.PCI0.LPC.PMMW (0xAA, 0x043F) \_SB.PCI0.LPC.PMMW (0x00, 0x01E8) Store (One, \_TZ.THRM.TERR) \_TZ.FN10._ON () \_TZ.FN11._ON () } Else { Store (\_SB.PCI0.LPC.PMRD (0xE7), Local1) Store (0x00, Local3) While (LLess (Local3, 0x04)) { If (LEqual (\_TZ.THRM.CPUT, 0x00)) { Store (DerefOf (Index (LOLD, Local3)), Local5) Store (DerefOf (Index (HILD, Local3)), Local6) } If (LEqual (\_TZ.THRM.CPUT, 0x01)) { Store (DerefOf (Index (LOLM, Local3)), Local5) Store (DerefOf (Index (HILM, Local3)), Local6) } If (LEqual (\_TZ.THRM.CPUT, 0x02)) { Store (DerefOf (Index (Z002, Local3)), Local5) Store (DerefOf (Index (Z001, Local3)), Local6) } If (LEqual (\_TZ.THRM.CPUT, 0x03)) { Store (DerefOf (Index (Z004, Local3)), Local5) Store (DerefOf (Index (Z003, Local3)), Local6) } If (LGreater (Local1, Local5)) { If (LLess (Local1, Local6)) { \_SB.PCI0.LPC.PMWT (0xE4, Local6) \_SB.PCI0.LPC.PMWT (0xE5, Local5) If (THIN) { Store (Zero, THIN) } Break } } Increment (Local3) } } And (\_SB.PCI0.LPC.PMRD (0xAD), 0xFE, Local5) \_SB.PCI0.LPC.PMWT (0xAD, Local5) And (\_SB.PCI0.LPC.PMRD (0xAF), 0xF8, Local5) \_SB.PCI0.LPC.PMWT (0xAF, Local5) \_SB.PCI0.LPC.PMWT (0xF0, 0x00) Notify (\_TZ.THRM, 0x80) Release (THR0) } } } Method (_WAK, 1, NotSerialized) { Store (0x66, \_SB.DBPG) Store (0x00, \_SB.PCI0.LPC.ALED) Store (0x01, \_TZ.THRM.THIN) If (LNot (LGreater (Arg0, 0x03))) { Store (0x01, \_TZ.THRM.FWAK) Store (0x00, \_TZ.THRM.FCOU) PHSR (0x82) And (\_SB.PCI0.LPC.PMRD (0xFD), 0x01, Local3) If (Local3) { \_SB.PCI0.LPC.PMWT (0xFD, 0x00) } Else { Or (\_SB.PCI0.LPC.PMRD (0xB8), 0x01, Local1) \_SB.PCI0.LPC.PMWT (0xB8, Local1) \_SB.PCI0.LPC.PMWT (0xFD, 0x00) } Or (\_SB.PCI0.LPC.PMRD (0xBA), 0x08, Local2) \_SB.PCI0.LPC.PMWT (0xBA, Local2) And (\_SB.PCI0.LPC.PMRD (0xE0), 0xFE, Local0) \_SB.PCI0.LPC.PMWT (0xE0, Local0) } If (LEqual (Arg0, 0x04)) { Notify (\_SB.PWB, 0x02) } Return(Package(0x02){0x00, 0x00}) } Method (_PTS, 1, NotSerialized) { Store (0x65, \_SB.DBPG) Store (Arg0, \_SB.DBPG) If (LNot (LGreater (Arg0, 0x03))) { Store (0x00, \_SB.PCI0.LPC.SUSA) PHSR (0x81) And (\_SB.PCI0.LPC.PMRD (0xFD), 0x01, Local3) If (Local3) {} Else { And (\_SB.PCI0.LPC.PMRD (0xB8), 0xFE, Local1) \_SB.PCI0.LPC.PMWT (0xB8, Local1) } And (\_SB.PCI0.LPC.PMRD (0xBA), 0xF7, Local2) \_SB.PCI0.LPC.PMWT (0xBA, Local2) Or (\_SB.PCI0.LPC.PMRD (0xE0), 0x01, Local0) \_SB.PCI0.LPC.PMWT (0xE0, Local0) } Else { Store (0x00, \_SB.PCI0.LPC.ALED) } If (LEqual (Arg0, 0x04)) { \_SB.PCI0.LPC.PMWT (0xB6, 0x00) \_SB.PCI0.LPC.PMWT (0xB8, 0x00) } If (LEqual (Arg0, 0x05)) { \_SB.PCI0.LPC.PMWT (0xB6, 0x00) \_SB.PCI0.LPC.PMWT (0xB8, 0x00) } } Method (PHSR, 1, NotSerialized) { Store (Arg0, \_SB.BCMD) Store (Zero, \_SB.SMIC) } }