/* * Intel ACPI Component Architecture * AML Disassembler version 20030619 * * Disassembly of presario-2144ea-dsdt, Wed Jun 25 22:45:09 2003 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "ATI", "U1_M1535", 100925440) { OperationRegion (DBG, SystemIO, 0x80, 0x01) Field (DBG, ByteAcc, NoLock, Preserve) { P80H, 8 } OperationRegion (PMIO, SystemIO, 0x8000, 0x30) Field (PMIO, ByteAcc, NoLock, Preserve) { PMS1, 16, PME1, 16, PMC1, 16, Offset (0x08), ATMR, 32, Offset (0x10), , 1, TRDC, 3, TREN, 1 } Scope (_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} } 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 }) Method (VTOB, 1, NotSerialized) { Store (0x01, Local0) ShiftLeft (Local0, Arg0, Local0) Return (Local0) } Method (BTOV, 1, NotSerialized) { ShiftRight (Arg0, 0x01, Local0) Store (0x00, Local1) While (Local0) { Increment (Local1) ShiftRight (Local0, 0x01, Local0) } Return (Local1) } Method (MKWD, 2, NotSerialized) { If (And (Arg1, 0x80)) { Store (0xFFFF0000, Local0) } Else { Store (Zero, Local0) } Or (Local0, Arg0, Local0) Or (Local0, ShiftLeft (Arg1, 0x08), Local0) Return (Local0) } Method (GBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (TIDX, Arg2) } Method (PBFE, 3, NotSerialized) { CreateByteField (Arg0, Arg1, TIDX) Store (Arg2, TIDX) } Method (ITOS, 1, NotSerialized) { Store (Buffer (0x09) { 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Local0) Store (Buffer (0x11) { "0123456789ABCDEF" }, Local7) Store (0x08, Local1) Store (0x00, Local2) Store (0x00, Local3) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) If (Local4) { Store (Ones, Local3) } If (Local3) { GBFE (Local7, Local4, RefOf (Local5)) PBFE (Local0, Local2, Local5) Increment (Local2) } } Return (Local0) } Scope (\_SB) { Name (ECEN, 0x00) Name (ACCG, 0x00) Name (PRCT, 0x00) Name (S4WF, 0x00) Method (ECOK, 0, NotSerialized) { If (LAnd (ECEN, 0x01)) { Return (0x01) } Else { Return (0x00) } } Device (PCI0) { Name (_PRW, Package (0x02) { 0x09, 0x05 }) Name (_PRT, Package (0x0B) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.PCI0.ISA.LNKA, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.PCI0.ISA.LNKU, 0x00 }, Package (0x04) { 0x000FFFFF, 0x00, \_SB.PCI0.ISA.LNKE, 0x00 }, Package (0x04) { 0x0008FFFF, 0x00, \_SB.PCI0.ISA.LNKG, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, \_SB.PCI0.ISA.LNKH, 0x00 }, Package (0x04) { 0x0012FFFF, 0x00, \_SB.PCI0.ISA.LNKB, 0x00 }, Package (0x04) { 0x0009FFFF, 0x00, \_SB.PCI0.ISA.LNKD, 0x00 }, Package (0x04) { 0x0009FFFF, 0x01, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000CFFFF, 0x00, \_SB.PCI0.ISA.LNKC, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.ISA.LNKF, 0x00 }, Package (0x04) { 0x000AFFFF, 0x01, \_SB.PCI0.ISA.LNKF, 0x00 } }) Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_BBN, 0x00) OperationRegion (MREG, PCI_Config, 0xB8, 0x14) Field (MREG, ByteAcc, NoLock, Preserve) { CS0, 8, CS1, 8, CS2, 8, CS3, 8, Offset (0x10), FBSL, 8, FBSM, 8 } Method (TOM, 0, NotSerialized) { Multiply (FBSL, 0x00010000, Local0) Multiply (FBSM, 0x01000000, Local1) Add (Local0, Local1, Local0) Return (Local0) } OperationRegion (VGAM, SystemMemory, 0x000C0002, 0x01) Field (VGAM, ByteAcc, Lock, Preserve) { VSIZ, 8 } OperationRegion (REGS, PCI_Config, 0x90, 0x70) Field (REGS, ByteAcc, NoLock, Preserve) { SR90, 8, SR91, 8, SR92, 8, SR93, 8, Offset (0x6E), SRFE, 8, SRFF, 8 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, SubDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100, 0x00) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000, 0x00) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x000C0000, 0x000C3FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x000C4000, 0x000C7FFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x000C8000, 0x000CBFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x000CC000, 0x000CFFFF, 0x00000000, 0x00004000, 0x00) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000D0000, 0x000D7FFF, 0x00000000, 0x00008000) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000, 0x00) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, 0x00100000, 0xFFFDFFFF, 0x00000000, 0xFFEE0000, 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) }) Method (_CRS, 0, Serialized) { CreateDWordField (RSRC, 0xC0, VMAX) CreateDWordField (RSRC, 0xC8, VLEN) ShiftLeft (VSIZ, 0x09, Local0) Add (Local0, 0x000BFFFF, VMAX) Add (Local0, 0x00020000, VLEN) CreateDWordField (RSRC, 0xD7, BTMN) CreateDWordField (RSRC, 0xDB, BTMX) CreateDWordField (RSRC, 0xE3, BTLN) Store (\_SB.PCI0.TOM (), BTMN) Subtract (0xFFF80000, BTMN, BTLN) Subtract (Add (BTMN, BTLN), 0x01, BTMX) Return (RSRC) } Device (AGPB) { Name (_ADR, 0x00010000) Device (VGA) { Name (_ADR, 0x00050000) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS2, 0, NotSerialized) { Store (0x02, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (DISW, 0x01) Name (NDSP, 0x00) Name (VRSM, 0x00) Name (TGLT, Package (0x04) { Package (0x08) { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x02, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, Package (0x08) { 0x01, 0x02, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01 } }) Name (TGLP, 0x00) Method (NDGS, 0, NotSerialized) { And (^LCD._DGS, 0x01, Local0) Or (Local0, ShiftLeft (And (^CRT._DGS, 0x01), 0x01), Local0) Or (Local0, ShiftLeft (And (^TV._DGS, 0x01), 0x02), Local0) Store (DerefOf (Index (DerefOf (Index (TGLT, TGLP)), Local0)), Local1) And (Local1, 0x01, ^LCD._DGS) ShiftRight (And (Local1, 0x02), 0x01, ^CRT._DGS) ShiftRight (And (Local1, 0x04), 0x02, ^TV._DGS) } Method (USTS, 1, NotSerialized) { Store (\_SB.PCI0.ISA.HPSS (0x0F, 0x00), Local0) And (Local0, 0x0F, Local1) If (LEqual (Local1, 0x03)) { Store (0x01, TGLP) } Else { If (LEqual (Local1, 0x05)) { Store (0x02, TGLP) } Else { If (LEqual (Local1, 0x07)) { Store (0x03, TGLP) } Else { Store (0x00, TGLP) } } } Return (Local0) } Method (_INI, 0, NotSerialized) { Store (USTS (0x00), Local1) Or (ShiftRight (And (Local1, 0x10), 0x03), 0x1D, ^LCD._DCS) Or (Or (ShiftLeft (And (Local1, 0x02), 0x03), ShiftRight (And (Local1, 0x20), 0x04)), 0x0D, ^CRT._DCS) Or (Or (ShiftLeft (And (Local1, 0x04), 0x02), ShiftRight (And (Local1, 0x40), 0x05)), 0x0D, ^TV._DCS) ShiftRight (Local1, 0x04, NDSP) Store (ShiftRight (And (^LCD._DCS, 0x02), 0x01), ^LCD._DGS) Store (ShiftRight (And (^CRT._DCS, 0x02), 0x01), ^CRT._DGS) Store (ShiftRight (And (^TV._DCS, 0x02), 0x01), ^TV._DGS) NDGS () } Method (_DOS, 1, NotSerialized) { If (LAnd (LEqual (And (Arg0, 0x03), 0x00), LEqual (And (DISW, 0x03), 0x02))) { Notify (\_SB.PCI0.ISA.HPCI, 0x89) } Store (Arg0, DISW) } Method (_DOD, 0, NotSerialized) { Return (Package (0x03) { 0x00010100, 0x00010110, 0x00010200 }) } Method (DRUL, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Store (USTS (0x01), Local2) } Else { Store (USTS (0x00), Local2) } Store (^CRT._DCS, Local1) Or (ShiftLeft (And (Local2, 0x02), 0x03), And (^CRT._DCS, 0x0F), ^CRT._DCS) Store (^TV._DCS, Local3) Or (Or (ShiftLeft (And (Local2, 0x04), 0x02), ShiftRight (And (Local2, 0x40), 0x05)), And (Local3, 0x0D), ^TV._DCS) If (LEqual (Arg0, 0x01)) { If (LOr (LAnd (^CRT._DGS, LNot (And (^CRT._DCS, 0x10))), LAnd (^TV._DGS, LNot (And (^TV._DCS, 0x10))))) { NDGS () Return (0x00) } Else { Notify (VGA, 0x80) Return (0x00) } } If (LEqual (Arg0, 0x02)) { If (And (Local2, 0x02)) { Store (0x01, ^CRT._DGS) If (\_SB.PCI0.ISA.DISB) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } Store ("CRT Connected VGA.DRUL(2) called", Debug) } Else { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) Store ("CRT DisConnected VGA.DRUL(2) called", Debug) } Notify (VGA, 0x80) } If (LEqual (Arg0, 0x04)) { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) Notify (VGA, 0x80) } If (LEqual (Arg0, 0x03)) { If (LNot (LEqual (ShiftRight (And (Local1, 0x10), 0x03), And (Local2, 0x02)))) { If (And (Local2, 0x02)) { Store (0x01, ^CRT._DGS) If (\_SB.PCI0.ISA.DISB) { Store (0x01, ^LCD._DGS) } Else { Store (0x00, ^LCD._DGS) } } Else { Store (0x00, ^CRT._DGS) Store (0x01, ^LCD._DGS) } Store ("Resume VGA.DRUL(3) called", Debug) Notify (VGA, 0x80) } } Return (Zero) } Device (LCD) { Name (_ADR, 0x0110) Name (_PSC, 0x00) Name (_S3D, 0x03) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^TV._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("LCD._DSS(1) called", Debug) Or (NDSP, 0x01, NDSP) } Else { Store ("LCD._DSS(0) called", Debug) And (NDSP, 0xFE, NDSP) } And (Local0, 0xC0000000, Local0) If (LEqual (Local0, 0x80000000)) { Store ("LCD._DSS(8000000x) called", Debug) \_SB.PCI0.ISA.HPSS (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNot (LEqual (Local0, 0x00))) { Store ("LCD._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) USTS (0x00) NDGS () } } Name (_DGS, 0x00) } Device (CRT) { Name (_ADR, 0x0100) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^LCD._PSC)), LNot (^^TV._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("CRT._DSS(1) called", Debug) Or (NDSP, 0x02, NDSP) } Else { Store ("CRT._DSS(0) called", Debug) And (NDSP, 0xFD, NDSP) } And (Local0, 0xC0000000, Local0) If (LEqual (Local0, 0x80000000)) { Store ("CRT._DSS(8000000x) called", Debug) \_SB.PCI0.ISA.HPSS (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNot (LEqual (Local0, 0x00))) { Store ("CRT._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) USTS (0x00) NDGS () } } Name (_DGS, 0x00) } Device (TV) { Name (_ADR, 0x0200) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LAnd (LAnd (VRSM, LNot (^^CRT._PSC)), LNot (^^LCD._PSC))) { If (_PSC) { DRUL (0x03) } Store (0x00, VRSM) } Store (0x00, _PSC) } Method (_PS1, 0, NotSerialized) { Store (0x01, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_DCS, 0x1B) Method (_DSS, 1, NotSerialized) { Store (Arg0, Local0) If (And (Local0, 0x01)) { Store ("TV_._DSS(1) called", Debug) Or (NDSP, 0x04, NDSP) } Else { Store ("TV_._DSS(0) called", Debug) And (NDSP, 0xFB, NDSP) } And (Local0, 0xC0000000, Local0) If (LEqual (Local0, 0x80000000)) { Store ("TV_._DSS(8000000x) called", Debug) \_SB.PCI0.ISA.HPSS (0x01, NDSP) } And (Local0, 0x80000000, Local0) If (LNot (LEqual (Local0, 0x00))) { Store ("TV_._DSS, update next _DGS", Debug) Or (And (^^LCD._DCS, 0xFD), ShiftLeft (And (NDSP, 0x01), 0x01), ^^LCD._DCS) Or (And (^^CRT._DCS, 0xFD), And (NDSP, 0x02), ^^CRT._DCS) Or (And (^^TV._DCS, 0xFD), ShiftRight (And (NDSP, 0x04), 0x01), ^^TV._DCS) USTS (0x00) NDGS () } } Name (_DGS, 0x00) } } Name (_PRT, Package (0x01) { Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.ISA.LNKC, 0x00 } }) } Device (IDE) { Name (_ADR, 0x00100000) Name (UDMT, Package (0x08) { 0x1E, 0x2D, 0x3C, 0x5A, 0x78, 0x78, 0x78, 0x14 }) Name (PIOT, Package (0x05) { 0x78, 0xB4, 0xF0, 0x017F, 0x0258 }) Name (PIOC, Package (0x05) { 0x04, 0x06, 0x08, 0x0D, 0x10 }) Name (CBCT, Package (0x05) { 0x31, 0x33, 0x01, 0x03, 0x0A }) Name (DACT, Package (0x05) { 0x03, 0x03, 0x04, 0x05, 0x08 }) Name (DRCT, Package (0x05) { 0x01, 0x03, 0x04, 0x08, 0x08 }) Name (PXLM, Package (0x05) { 0x02, 0x01, 0x00, 0x00, 0x00 }) OperationRegion (PCI, PCI_Config, 0x00, 0x60) Field (PCI, ByteAcc, NoLock, Preserve) { Offset (0x09), , 4, SCHE, 1, PCHE, 1, Offset (0x0A), Offset (0x0D), Offset (0x4B), U66E, 1, Offset (0x4C), Offset (0x53), CDFI, 1, CDUD, 1, Offset (0x54), PFTH, 8, SFTH, 8, PUDC, 8, SUDC, 8, PAST, 8, PCBT, 8, PTM0, 8, PTM1, 8, SAST, 8, SCBT, 8, STM0, 8, STM1, 8 } Method (STM, 3, NotSerialized) { Name (A100, 0x00) Store (Buffer (0x06) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, Local7) CreateByteField (Local7, 0x00, TM0) CreateByteField (Local7, 0x01, TM1) CreateByteField (Local7, 0x02, UDC) CreateByteField (Local7, 0x03, AST) CreateByteField (Local7, 0x04, CBT) CreateByteField (Local7, 0x05, U66) CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Store (FLAG, Local6) Name (W49M, 0x00) Name (W53M, 0x00) Name (W62M, 0x00) Name (W64M, 0x00) Name (W88M, 0x00) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateDWordField (Arg1, 0x62, W49A) CreateDWordField (Arg1, 0x6A, W53A) CreateDWordField (Arg1, 0x7C, W62A) CreateDWordField (Arg1, 0x80, W64A) CreateDWordField (Arg1, 0xB0, W88A) Store (W49A, W49M) Store (W53A, W53M) Store (W62A, W62M) Store (W64A, W64M) Store (W88A, W88M) } Else { Store (0x00, W49M) Store (0x00, W53M) Store (0x00, W62M) Store (0x00, W64M) Store (0x00, W88M) } If (LAnd (And (0x38, W88M), Ones)) { Or (0x01, Local6, Local6) If (And (0x20, W88M)) { Store (0x08, DMA0) Or (A100, 0x00100010, A100) } Else { If (And (0x10, W88M)) { Store (0x1E, DMA0) Or (A100, 0x10, A100) } Else { Store (0x2D, DMA0) } } } Else { If (And (0x07, W88M)) { Or (0x0100, A100, A100) If (And (0x04, W88M)) { Store (0x3C, DMA0) } Else { If (And (0x02, W88M)) { Store (0x5A, DMA0) } Else { Store (0x78, DMA0) } } } } Store (Ones, Local4) If (LOr (DMA0, PIO0)) { If (LAnd (DMA0, LNot (PIO0))) { If (And (Local6, 0x01)) { If (LLess (DMA0, 0x1E)) { Store (0x07, Local0) } Else { Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0) } Or (Local0, 0x08, UDC) If (LLess (DMA0, 0x3C)) { Store (One, U66) } } Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^DACT, Local0)), Local2) Store (DerefOf (Index (^DRCT, Local0)), Local3) Add (Local3, ShiftLeft (Local2, 0x04), TM0) Store (Local0, Local4) } If (LAnd (LNot (DMA0), PIO0)) { Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^DACT, Local0)), Local2) Store (DerefOf (Index (^DRCT, Local0)), Local3) Add (Local3, ShiftLeft (Local2, 0x04), TM0) Store (Local0, Local4) } If (LAnd (DMA0, PIO0)) { If (And (Local6, 0x01)) { If (LLess (DMA0, 0x1E)) { Store (0x07, Local0) } Else { Store (Match (^UDMT, MGE, DMA0, MTR, 0x00, 0x00), Local0) } Or (Local0, 0x08, UDC) If (LLess (DMA0, 0x3C)) { Store (One, U66) } } If (LNot (LLess (PIO0, DMA0))) { Store (Match (^PIOT, MGE, PIO0, MTR, 0x00, 0x00), Local0) Store (Local0, Local4) } Else { Store (Match (^PIOT, MGE, DMA0, MTR, 0x00, 0x00), Local0) Store (Local0, Local4) } Store (DerefOf (Index (^DACT, Local0)), Local2) Store (DerefOf (Index (^DRCT, Local0)), Local3) Add (Local3, ShiftLeft (Local2, 0x04), TM0) } } Store (Ones, Local5) If (LEqual (Local4, Ones)) { If (LEqual (Local5, Ones)) { Store (Zero, CBT) } Else { Store (DerefOf (Index (^CBCT, Local5)), CBT) } } Else { If (LEqual (Local5, Ones)) { Store (DerefOf (Index (^CBCT, Local4)), CBT) } Else { If (LNot (LLess (Local4, Local5))) { Store (DerefOf (Index (^CBCT, Local4)), CBT) } Else { Store (DerefOf (Index (^CBCT, Local5)), CBT) } } } Store (0x02, AST) Return (Local7) } Method (GTF0, 3, NotSerialized) { Store (Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local7, 0x01, MODE) If (And (Arg1, 0x08)) { And (Arg1, 0x07, Local0) If (LEqual (Local0, 0x07)) { Store (0x05, MODE) } Else { Subtract (0x04, Local0, MODE) } Or (MODE, 0x40, MODE) } Else { And (Arg2, 0x0F, Local0) Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1) Store (DerefOf (Index (^PXLM, Local1)), MODE) Or (MODE, 0x20, MODE) } Concatenate (Local7, Local7, Local6) And (Arg2, 0x0F, Local0) Store (Match (^DRCT, MEQ, Local0, MTR, 0x00, 0x00), Local1) Subtract (0x04, Local1, MODE) Or (MODE, 0x08, MODE) Concatenate (Local6, Local7, Local5) Return (Local5) } Device (PRIM) { Name (_ADR, 0x00) Name (_PSC, 0x00) OperationRegion (HDIO, SystemIO, 0x01F0, 0x08) Field (HDIO, ByteAcc, NoLock, Preserve) { Offset (0x01), Offset (0x02), Offset (0x03), Offset (0x04), Offset (0x05), Offset (0x06), HDSL, 8, HDCM, 8 } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_GTM, 0, NotSerialized) { Store ("GTM - Primary Controller", Debug) Return (Buffer (0x14) { 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00 }) } Method (_STM, 3, NotSerialized) { Store ("STM - Primary Controller", Debug) Store (^^STM (Arg0, Arg1, Arg2), Local0) CreateByteField (Local0, 0x00, TM0) CreateByteField (Local0, 0x01, TM1) CreateByteField (Local0, 0x02, UDC) CreateByteField (Local0, 0x03, AST) CreateByteField (Local0, 0x04, CBT) CreateByteField (Local0, 0x05, U66) Store (TM0, ^^PTM0) Store (TM1, ^^PTM1) Store (UDC, ^^PUDC) Store (AST, ^^PAST) Store (CBT, ^^PCBT) If (U66) { Store (U66, ^^U66E) } Store (0x55, ^^PFTH) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store ("GTF - Primary Master", Debug) Store (^^^GTF0 (^^^PCHE, ^^^PUDC, ^^^PTM0), Local0) Return (Local0) } Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { If (LEqual (\_SB.PCI0.ISA.TOOS, 0x04)) { Store (0xA0, HDSL) While (And (HDCM, 0x80)) { Sleep (0x05) } } Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } } Device (SECN) { Name (_ADR, 0x01) Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Method (_GTM, 0, NotSerialized) { Store ("GTM - Secondary Controller", Debug) Return (Buffer (0x14) { 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00 }) } Method (_STM, 3, NotSerialized) { Store ("STM - Secondary Controller", Debug) Store (^^STM (Arg0, Arg1, Arg2), Local0) CreateByteField (Local0, 0x00, TM0) CreateByteField (Local0, 0x01, TM1) CreateByteField (Local0, 0x02, UDC) CreateByteField (Local0, 0x03, AST) CreateByteField (Local0, 0x04, CBT) CreateByteField (Local0, 0x05, U66) Store (TM0, ^^STM0) Store (TM1, ^^STM1) Store (UDC, ^^SUDC) Store (AST, ^^SAST) Store (CBT, ^^SCBT) If (U66) { Store (U66, ^^U66E) } Store (0x55, ^^SFTH) } Device (MAST) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store ("GTF - Secondary Master", Debug) Store (^^^GTF0 (^^^SCHE, ^^^SUDC, ^^^STM0), Local0) Return (Local0) } Method (_PS0, 0, NotSerialized) { Store (0x00, _PSC) } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } Name (_PSC, 0x00) } } } Device (USB1) { Name (_ADR, 0x00020000) Name (_S3D, 0x02) } Device (USB2) { Name (_ADR, 0x000F0000) Name (_S3D, 0x02) Method (_STA, 0, NotSerialized) { If (\_SB.PCI0.ISA.USB2) { Return (0x0F) } Else { Return (0x00) } } } Device (MDEM) { Name (_ADR, 0x00080000) Name (_PRW, Package (0x02) { 0x09, 0x04 }) } Device (AUDI) { Name (_ADR, 0x00060000) } Device (LAN) { Name (_ADR, 0x00120000) Name (_PRW, Package (0x02) { 0x09, 0x05 }) Method (_PSW, 1, NotSerialized) { If (\_SB.ECOK ()) { Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF) If (Arg0) { Store (0x01, \_SB.PCI0.ISA.EC0.WOLE) } Else { Store (0x00, \_SB.PCI0.ISA.EC0.WOLE) } Release (\_SB.PCI0.ISA.EC0.MUT1) } } } Device (IEEE) { Name (_ADR, 0x000C0000) } Device (CBUS) { Name (_ADR, 0x000A0000) } Device (MINI) { Name (_ADR, 0x00090000) } Device (ISA) { Name (_ADR, 0x00070000) OperationRegion (ISAR, PCI_Config, 0x00, 0x9F) Field (ISAR, ByteAcc, NoLock, Preserve) { Offset (0x77), , 6, MDNE, 1, Offset (0x7E), , 7, USB2, 1 } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x8004, 0x8004, 0x01, 0x02) }) OperationRegion (MNVS, SystemMemory, 0x0F6FFE1D, 0x10) Field (MNVS, AnyAcc, Lock, Preserve) { TOOS, 8, LIDS, 8, ACST, 8, TV, 1, FIR, 1, COMM, 1, LPT, 1 } // problem here OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x0F6FFE2D, 0x00000120) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2048 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), STSB, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x05), PNLR, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x105), BDST, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x106), DKSN, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10A), DKTP, 8 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10B), VGAB, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { Offset (0x10F), WOLE, 1, DISB, 1, CPTY, 1, FDDS, 1 } /* Hangs sometimes when called with arguments 0x0f and 0x00 */ /* Fixed by Berke DURAK on 20030626 */ Mutex (PSMX, 0x00) Method (HPSS, 2, NotSerialized) { If (LAnd(LEqual(Arg0,0x0F),LEqual(Arg1,0x00))) { Store ("HPSS(0x0f,0x00) called, ignoring (workaround by Berke Durak)", Debug) Store (Zero, Local0) } Else { Acquire (\_SB.PCI0.ISA.PSMX, 0xFFFF) Store (Arg1, STSB) Store (0x80, BCMD) Store (Arg0, DID) Store (Zero, SMIC) Store (STSB, Local0) Release (\_SB.PCI0.ISA.PSMX) } Return (Local0) } Method (QCSS, 1, NotSerialized) { Acquire (\_SB.PCI0.ISA.PSMX, 0xFFFF) Store (0x90, BCMD) Store (Arg0, DID) Store (Zero, SMIC) Release (\_SB.PCI0.ISA.PSMX) } OperationRegion (PUSB, PCI_Config, 0x74, 0x01) Field (PUSB, ByteAcc, NoLock, Preserve) { PIRU, 4, Offset (0x01) } OperationRegion (PIRX, PCI_Config, 0x48, 0x04) Field (PIRX, ByteAcc, NoLock, Preserve) { PIRA, 4, PIRB, 4, PIRC, 4, PIRD, 4, PIRE, 4, PIRF, 4, PIRG, 4, PIRH, 4 } Name (IPRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {3,4,6,10} }) Name (Z000, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {5,7} }) Name (Z001, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {7,11} }) Name (IXLT, Package (0x10) { 0x00, 0x0200, 0x08, 0x0400, 0x10, 0x20, 0x80, 0x40, 0x02, 0x0800, 0x00, 0x1000, 0x00, 0x4000, 0x00, 0x8000 }) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If (PIRA) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRA) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRA, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (PIRB) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (Z001) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRB) } Method (_CRS, 0, NotSerialized) { Store (Z001, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRB, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (PIRC) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRC) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRC, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (PIRD) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRD) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRD, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (PIRE) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRE) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRE, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (PIRF) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (Z001) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRF) } Method (_CRS, 0, NotSerialized) { Store (Z001, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRF, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (PIRG) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRG) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRG, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (PIRH) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (Z000) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRH) } Method (_CRS, 0, NotSerialized) { Store (Z000, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRH, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRH) } } Device (LNKU) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x09) Method (_STA, 0, NotSerialized) { If (PIRU) { Return (0x0B) } Else { Return (0x09) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRU) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRA0) Store (PIRU, Local1) Store (DerefOf (Index (IXLT, Local1)), IRA0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRA0) Store (Match (IXLT, MEQ, IRA0, MGT, 0x00, 0x00), PIRU) } } 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) DMA (Compatibility, NotBusMaster, Transfer8_16) {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) IRQ (Edge, ActiveHigh, Exclusive) {0} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x01, 0x04) IRQ (Edge, ActiveHigh, Exclusive) {8} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x01, 0x0F) IRQ (Edge, ActiveHigh, Exclusive) {13} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x01, 0x01) }) } Device (KBC0) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x01, 0x01) IO (Decode16, 0x0064, 0x0064, 0x01, 0x01) IRQ (Edge, ActiveHigh, Exclusive) {1} }) Name (KBS3, 0x00) Name (_PSC, 0x00) Name (PS2D, 0x044C) } Device (MSE0) { Name (_HID, "SYN0105") Name (_CID, Package (0x03) { 0x00012E4F, 0x02002E4F, 0x130FD041 }) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive) {12} }) } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0080, 0x0080, 0x01, 0x01) IO (Decode16, 0x00B0, 0x00B1, 0x01, 0x04) IO (Decode16, 0x0092, 0x0092, 0x01, 0x01) IO (Decode16, 0x040B, 0x040B, 0x01, 0x01) IO (Decode16, 0x0480, 0x0480, 0x01, 0x10) IO (Decode16, 0x04D0, 0x04D0, 0x01, 0x02) IO (Decode16, 0x04D6, 0x04D6, 0x01, 0x01) IO (Decode16, 0x8000, 0x8000, 0x01, 0x80) IO (Decode16, 0xFF00, 0xFF00, 0x01, 0x02) IO (Decode16, 0x8004, 0x8004, 0x01, 0x02) IO (Decode16, 0xFE00, 0xFE00, 0x01, 0xFF) Memory32Fixed (ReadWrite, 0xE0500000, 0x00001000) Memory32Fixed (ReadWrite, 0xD0500000, 0x00001000) }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Name (MSRC, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x000DC000, 0x00004000) Memory32Fixed (ReadOnly, 0x000EC000, 0x00014000) Memory32Fixed (ReadOnly, 0xFFF80000, 0x00080000) }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (SIOD) { Name (_HID, EisaId ("PNP0A05")) OperationRegion (SIIO, SystemIO, 0x03F0, 0x02) Field (SIIO, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x22), CR22, 8, Offset (0x30), CR30, 8, Offset (0x60), CR60, 8, CR61, 8, Offset (0x70), CR70, 8, Offset (0x74), CR74, 8, Offset (0xF0), CRF0, 8, CRF1, 8, CRF2, 8, Offset (0xF4), CRF4, 8, CRF5, 8 } Method (ENFG, 1, NotSerialized) { Acquire (MTIO, 0xFFFF) Store (0x51, INDX) Store (0x23, INDX) Store (0x07, INDX) Store (Arg0, DATA) } Method (EXFG, 0, NotSerialized) { Store (0xBB, INDX) Release (MTIO) } Device (FDC) { Name (_HID, EisaId ("PNP0700")) Method (_STA, 0, NotSerialized) { Store ("FDC_STA", Debug) ENFG (0x00) And (CR30, 0x01, Local0) And (CR60, 0x03, Local1) EXFG () If (LEqual (\_SB.PCI0.ISA.FDDS, 0x00)) { ENFG (0x00) Store (0x00, CR30) Store (0x00, CR60) Store (0x00, CR61) Store (0x04, CR74) Store (0x00, CR70) EXFG () Return (0x00) } If (LAnd (Local0, Local1)) { Return (0x0F) } Else { Return (0x0D) } } Method (_DIS, 0, NotSerialized) { ENFG (0x00) Store (0x00, CR30) Store (0x00, CR60) Store (0x00, CR61) Store (0x04, CR74) Store (0x00, CR70) EXFG () } Name (RSRC, ResourceTemplate () { IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x02, IO1L) CreateWordField (RSRC, 0x04, IO1H) CreateWordField (RSRC, 0x0A, IO2L) CreateWordField (RSRC, 0x0C, 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 (0x00) Store (CR30, Local0) Store (CR60, Local1) If (LAnd (Local0, Local1)) { Store (_PRS, RSRC) } EXFG () Return (RSRC) } Name (_PRS, ResourceTemplate () { IO (Decode16, 0x03F0, 0x03F0, 0x01, 0x06) IO (Decode16, 0x03F7, 0x03F7, 0x01, 0x01) IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} }) Method (_SRS, 1, NotSerialized) { Store (Arg0, RSRC) CreateWordField (RSRC, 0x02, IOX) CreateWordField (RSRC, 0x11, IRQX) CreateByteField (RSRC, 0x14, DMAX) ENFG (0x00) And (IOX, 0xFF, CR61) ShiftRight (IOX, 0x08, CR60) FindSetRightBit (IRQX, Local0) If (Local0) { Decrement (Local0) } Store (Local0, CR70) FindSetRightBit (DMAX, Local0) If (Local0) { Decrement (Local0) } Store (Local0, CR74) Store (0x01, CR30) EXFG () } } Device (LPT) { Method (_HID, 0, NotSerialized) { ENFG (0x03) And (CRF0, 0x02, Local0) EXFG () If (Local0) { Return (0x0104D041) } Else { Return (0x0004D041) } } Method (_STA, 0, NotSerialized) { Store ("LPT_STA", Debug) ENFG (0x03) And (CR30, 0x01, Local0) And (CR61, 0xFC, Local1) EXFG () If (LAnd (Local0, Local1)) { Return (0x0F) } Else { Return (0x0D) } } Method (_DIS, 0, NotSerialized) { ENFG (0x03) Store (0x00, CR30) Store (0x00, CR60) Store (0x00, CR61) Store (0x00, CR70) Store (0x04, CR70) 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 (0x03) Store (CR60, IOAL) ShiftLeft (IOAL, 0x08, Local1) Or (CR61, Local1, Local2) Store (Local2, IOAL) Store (Local2, IOAH) Store (Local2, IOBL) Store (Local2, IOBH) And (CRF0, 0x02, Local0) If (Local0) { Add (Local2, 0x0400, IOCL) Add (Local2, 0x0400, IOCH) If (LEqual (Local2, 0x03BC)) { Store (0x04, LENA) Store (0x04, LENB) Store (0x04, LENC) } Else { Store (0x08, LENA) Store (0x08, LENB) Store (0x08, LENC) } } Store (CR70, Local1) ShiftLeft (One, Local1, IRAX) ShiftLeft (One, Local1, IRBX) Store (CR74, Local1) ShiftLeft (One, Local1, DMAX) EXFG () If (Local0) { Return (CRSB) } Else { Return (CRSA) } } Name (PRSA, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {7} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IRQNoFlags () {5} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IRQNoFlags () {5} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {5} } EndDependentFn () }) Name (PRSB, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {2} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {5} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) IRQNoFlags () {7} DMA (Compatibility, NotBusMaster, Transfer8) {3} } EndDependentFn () }) Method (_PRS, 0, NotSerialized) { ENFG (0x03) And (CRF0, 0x02, Local0) EXFG () If (Local0) { Return (PRSB) } Else { Return (PRSA) } } Method (_SRS, 1, NotSerialized) { ENFG (0x03) And (CRF0, 0x02, Local0) If (Local0) { Store (Arg0, CRSB) CreateWordField (CRSB, 0x02, IOB) CreateWordField (CRSB, 0x11, IRQB) CreateByteField (CRSB, 0x14, DMAX) And (IOB, 0xFF, CR61) ShiftRight (IOB, 0x08, CR60) FindSetRightBit (IRQB, Local0) If (Local0) { Decrement (Local0) } Store (Local0, CR70) FindSetRightBit (DMAX, Local0) If (Local0) { Decrement (Local0) } Store (Local0, CR74) } Else { Store (Arg0, CRSA) CreateWordField (CRSA, 0x02, IOA) CreateWordField (CRSA, 0x09, IRQA) And (IOA, 0xFF, CR61) ShiftRight (IOA, 0x08, CR60) FindSetRightBit (IRQA, Local0) If (Local0) { Decrement (Local0) } Store (Local0, CR70) } Store (0x01, CR30) EXFG () } } Device (COM1) { Name (_HID, EisaId ("PNP0501")) Method (_STA, 0, NotSerialized) { Store ("COM1_STA", Debug) ENFG (0x04) And (CR22, 0x10, Local0) And (CR30, 0x01, Local1) And (CRF1, 0x18, Local2) EXFG () If (Local0) { Return (0x00) } Else { If (LEqual (Local2, 0x00)) { If (And (Local1, 0x01)) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } } Method (_DIS, 0, NotSerialized) { ENFG (0x04) Store (0x00, CR30) Store (0x00, CR60) Store (0x00, CR61) Store (0x00, CR70) 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 (0x04) And (CR30, 0x01, Local0) If (Local0) { Store (CR60, IO1L) ShiftLeft (IO1L, 0x08, Local1) Or (CR61, Local1, Local2) Store (Local2, IO1L) Store (Local2, IO1H) Store (CR70, Local1) ShiftLeft (One, Local1, 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} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { Store (Arg0, RSRC) CreateWordField (RSRC, 0x02, IO1L) CreateWordField (RSRC, 0x09, IRQX) ENFG (0x04) And (IO1L, 0xFF, CR61) ShiftRight (IO1L, 0x08, CR60) FindSetRightBit (IRQX, Local0) If (Local0) { Decrement (Local0) } Store (Local0, CR70) Store (0x01, CR30) EXFG () } Name (_PRW, Package (0x02) { 0x0A, 0x04 }) Name (SV60, 0x00) Name (SV61, 0x00) Name (IRQV, 0x00) Method (SAVE, 0, NotSerialized) { ENFG (0x04) And (CR30, 0x01, Local0) If (Local0) { Store (CR60, SV60) Store (CR61, SV61) Store (CR70, IRQV) } EXFG () } Method (REST, 0, NotSerialized) { If (LNot (LEqual (SV60, Zero))) { ENFG (0x04) Or (CR30, 0x01, CR30) Store (SV60, CR60) Store (SV61, CR61) Store (IRQV, CR70) EXFG () } } } Device (FIR) { Name (_HID, EisaId ("ALI5123")) Name (_CID, 0x1005D041) Method (_STA, 0, NotSerialized) { Store ("ALI5123_STA", Debug) If (LEqual (\_SB.PCI0.PMU.FIRC, 0x00)) { Return (0x0C) } ENFG (0x05) And (CR22, 0x20, Local0) And (CR30, 0x81, Local1) EXFG () If (Local0) { Return (0x00) } Else { If (And (Local1, 0x80)) { If (And (Local1, 0x01)) { Return (0x0F) } Else { Return (0x0D) } } Else { Return (0x00) } } } Method (_DIS, 0, NotSerialized) { ENFG (0x05) And (CR30, 0xFE, CR30) EXFG () } Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, 0x0100, 0x01, 0x08) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} }) Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, 0x02, IO1L) CreateWordField (RSRC, 0x04, IO1H) CreateWordField (RSRC, 0x09, IRQX) CreateWordField (RSRC, 0x0C, DMAX) ENFG (0x05) And (CR30, 0x01, Local0) If (Local0) { Store (CR60, IO1L) ShiftLeft (IO1L, 0x08, Local1) Or (CR61, Local1, Local2) Store (Local2, IO1L) Store (Local2, IO1H) Store (CR70, Local1) ShiftLeft (One, Local1, IRQX) Store (CR74, Local2) ShiftLeft (One, Local2, DMAX) } Else { Store (Zero, IO1L) Store (Zero, IO1H) Store (Zero, IRQX) Store (0x04, DMAX) } EXFG () Return (RSRC) } Name (_PRS, ResourceTemplate () { StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {0} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {1} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02F8, 0x02F8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x02E8, 0x02E8, 0x01, 0x08) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8) {3} } StartDependentFn (0x00, 0x01) { IO (Decode16, 0x03E8, 0x03E8, 0x01, 0x08) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8) {3} } EndDependentFn () }) Method (_SRS, 1, NotSerialized) { Store (Arg0, RSRC) CreateWordField (RSRC, 0x02, IO1L) CreateWordField (RSRC, 0x09, IRQX) CreateWordField (RSRC, 0x0C, DMAX) ENFG (0x05) And (IO1L, 0xFF, CR61) ShiftRight (IO1L, 0x08, CR60) FindSetRightBit (IRQX, Local0) If (Local0) { Decrement (Local0) } Store (Local0, CR70) FindSetRightBit (DMAX, Local1) If (Local1) { Decrement (Local1) } Store (Local1, CR74) Or (CR30, 0x01, CR30) EXFG () } } Mutex (MTIO, 0x00) } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) }) Name (_GPE, 0x18) Name (SEL0, 0xF0) Name (BFLG, 0x00) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECEN) Acquire (MUT1, 0xFFFF) Store (ADP, Local0) Release (MUT1) If (Local0) { Store (0x00, \_SB.PCI0.PMU.CRUN) Store (0x00, TREN) } Else { Store (0x01, \_SB.PCI0.PMU.CRUN) If (0x01) { Store (0x0C, TRDC) Store (0x01, TREN) } } } } OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) Field (ERAM, ByteAcc, Lock, Preserve) { Offset (0x04), CMCM, 8, CMD1, 8, CMD2, 8, CMD3, 8, Offset (0x18), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 256, BCNT, 8, SMAA, 8, S1D0, 8, S1D1, 8, SM2A, 8, S2D0, 8, S2D1, 8, SM3A, 8, LIDS, 1, DV1S, 1, EXFD, 1, RFSW, 1, , 1, CRTS, 1, SLPS, 1, DCKS, 1, EJBS, 1, , 1, , 1, , 1, , 1, , 1, DV2S, 1, DV3S, 1, WK10, 16, EVTP, 16, BTM3, 8, DCID, 8, DPWR, 1, UDR0, 1, UDR5, 1, EQBF, 1, LDDS, 1, CRST, 1, DCWT, 1, QVCC, 1, HP4D, 8, WAKP, 16, POLL, 1, ADP, 1, ALRT, 1, B1WE, 1, B1WS, 1, B2WE, 1, B2WS, 1, BWAK, 1, PWRE, 1, ALLB, 1, AUXB, 1, S2DR, 1, F1B4, 1, F1B5, 1, F1B6, 1, RSMA, 1, S1LD, 1, S2LD, 1, ACWR, 1, PTSV, 3, PMEE, 1, ENCB, 1, F3B0, 1, F3B1, 1, RFLD, 1, F3B3, 1, SW8B, 1, WOLE, 1, WORE, 1, S4FG, 1, TMSS, 2, OSMD, 1, F4B3, 1, BANK, 4, CTMP, 8, S2DC, 8, BPD, 8, BT1I, 16, BT1C, 16, BT1V, 16, BT1S, 8, BT2I, 16, BT2C, 16, BT2V, 16, BT2S, 8, Q8CF, 1, , 3, KLED, 1, Offset (0x67), TTMP, 8, HPCB, 8, R69F, 2, , 1, Offset (0x6A), BTEC, 8, UBDM, 4, UBPC, 3, Offset (0x6C), BTCS, 8, BMDL, 8, CBDM, 4, CBPC, 3, Offset (0x6F), HP6F, 8, HP70, 8, TRDV, 8, RSMT, 16, PWSL, 8, PWSM, 8, , 1, , 1, PREF, 1, UPP1, 1, UPP2, 1, , 1, , 1, BTOF, 1, SUSB, 1, SUSC, 1, CPWR, 1, CBTN, 1, FAN, 1, , 1, , 1, S4IN, 1, FANL, 16, QU7A, 8, QU7B, 8, QU7C, 8, QU7D, 8, QU7E, 8, QU7F, 8 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), SMW0, 16 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), SMB0, 8 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD0, 64 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD1, 128 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD2, 192 } Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x1C), FLD3, 256 } Mutex (CMUT, 0x00) Method (CMC2, 3, NotSerialized) { Acquire (CMUT, 0xFFFF) Store (Arg2, CMD2) Store (Arg1, CMD1) Store (Arg0, CMCM) While (CMCM) {} Release (CMUT) } Mutex (MUT0, 0x00) Mutex (MUT1, 0x00) Method (SMRD, 4, NotSerialized) { If (LNot (ECOK ())) { Return (0xFF) } If (LNot (LEqual (Arg0, 0x07))) { If (LNot (LEqual (Arg0, 0x09))) { If (LNot (LEqual (Arg0, 0x0B))) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, 0x01)) { And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) } If (LEqual (Local1, 0x80)) { Store (0x00, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Else { If (LEqual (Arg0, 0x07)) { Store (SMB0, Arg3) } If (LEqual (Arg0, 0x09)) { Store (SMW0, Arg3) } If (LEqual (Arg0, 0x0B)) { Store (BCNT, Local3) ShiftRight (0x0100, 0x03, Local2) If (LGreater (Local3, Local2)) { Store (Local2, Local3) } If (LLess (Local3, 0x09)) { Store (FLD0, Local2) } Else { If (LLess (Local3, 0x11)) { Store (FLD1, Local2) } Else { If (LLess (Local3, 0x19)) { Store (FLD2, Local2) } Else { Store (FLD3, Local2) } } } Increment (Local3) Store (Buffer (Local3) {}, Local4) Decrement (Local3) Store (Zero, Local5) While (LGreater (Local3, Local5)) { GBFE (Local2, Local5, RefOf (Local6)) PBFE (Local4, Local5, Local6) Increment (Local5) } PBFE (Local4, Local5, 0x00) Store (Local4, Arg3) } } Release (MUT0) Return (Local0) } Method (SMWR, 4, NotSerialized) { If (LNot (ECOK ())) { Return (0xFF) } If (LNot (LEqual (Arg0, 0x06))) { If (LNot (LEqual (Arg0, 0x08))) { If (LNot (LEqual (Arg0, 0x0A))) { Return (0x19) } } } Acquire (MUT0, 0xFFFF) Store (0x04, Local0) While (LGreater (Local0, 0x01)) { If (LEqual (Arg0, 0x06)) { Store (Arg3, SMB0) } If (LEqual (Arg0, 0x08)) { Store (Arg3, SMW0) } If (LEqual (Arg0, 0x0A)) { Store (Arg3, SMD0) } And (SMST, 0x40, SMST) Store (Arg2, SMCM) Store (Arg1, SMAD) Store (Arg0, SMPR) While (LNot (And (SMST, 0xBF, Local1))) { Sleep (0x02) } If (LEqual (Local1, 0x80)) { Store (0x00, Local0) } Else { Decrement (Local0) } } If (Local0) { Store (And (Local1, 0x1F), Local0) } Release (MUT0) Return (Local0) } Name (ACFL, 0x00) Method (SMSL, 0, NotSerialized) { Store ("CMBatt - SMSL", Debug) If (LNot (ECOK ())) { Return (0xFF) } Acquire (\_SB.PCI0.ISA.EC0.MUT1, 0xFFFF) If (LNot (\_SB.PCI0.ISA.EC0.SMRD (0x09, 0x14, 0x01, RefOf (Local0)))) { Store (Local0, SEL0) Store (SEL0, Debug) If (LEqual (ALRT, 0x01)) { \_SB.BAT1.IVBI () \_SB.BAT1.IVBS () Store (0x00, ALRT) } Store (\_SB.ACAD.CHAC (SEL0), Local1) Store (\_SB.BAT1.CHBP (SEL0), Local2) Or (SEL0, 0x0FFF, Local0) SMWR (0x08, 0x14, 0x01, Local0) If (LAnd (Local1, \_SB.ACAD.ACP)) { Store ("CMBatt - Notify(ACAD,0x80): AC_Inserted", Debug) Store (0x00, \_SB.PCI0.PMU.CRUN) Store (0x00, TRDC) Store (0x00, TREN) Notify (\_SB.ACAD, 0x80) Store (0x02, ACFL) } If (And (0x04, Local2)) { \_SB.BAT1.B1CK () } If (And (0x02, Local2)) { \_SB.BAT1.B1ST () } If (And (0x01, Local2)) { \_SB.BAT1.B1IF () } If (LAnd (Local1, LNot (\_SB.ACAD.ACP))) { Store ("CMBatt - Notify(ACAD, 0x80): AC_Removed", Debug) Store (0x01, \_SB.PCI0.PMU.CRUN) If (0x01) { Store (0x0C, TRDC) Store ("AC remove! Set Throttle Duty Cycle ---: ", Debug) Store (TRDC, Debug) Store (0x01, TREN) } Notify (\_SB.ACAD, 0x80) Store (0x01, ACFL) } } Store (0x3C, Local4) If (\_SB.BAT1.REPT) { Store (0x02, Local4) } If (BFLG) { Store (0x01, Local5) While (LNot (And (BFLG, 0x01))) { Increment (Local5) ShiftRight (BFLG, 0x01, BFLG) } ShiftRight (BFLG, 0x01, BFLG) If (LGreater (Local4, Local5)) { Store (Local5, Local4) } } Store (Local4, BPD) BPOL () Release (\_SB.PCI0.ISA.EC0.MUT1) If (ACFL) { Decrement (ACFL) Store (\_SB.PCI0.ISA.HPSS (0x12, ACFL), Local0) CMC2 (0xC4, Local0, 0x82) Notify (HPCI, 0x8A) Store (0x00, ACFL) Store (0x01, \