/* * Intel ACPI Component Architecture * AML Disassembler version 20040514 * * Disassembly of dsdt.aml, Mon May 24 10:00:49 2004 */ DefinitionBlock ("DSDT.aml", "DSDT", 1, "1ABMQ", "1ABMQ005", 5) { Scope (\_PR) { Processor (CPU1, 0x01, 0x00000410, 0x07) { Method (_CST, 0, NotSerialized) { Name (ACST, Package (0x03) { 0x02, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x00000000000005FF) }, 0x02, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x0000000000000415) }, 0x03, 0x01, 0x01F4 } }) Add (\PMBS, 0x14, Local0) Store (Local0, Index (DerefOf (Index (DerefOf (Index (ACST, 0x01)), 0x00)), 0x07)) Store (ShiftRight (Local0, 0x08), Index (DerefOf (Index (DerefOf (Index (ACST, 0x01)), 0x00)), 0x08)) Add (\PMBS, 0x15, Local0) Store (Local0, Index (DerefOf (Index (DerefOf (Index (ACST, 0x02)), 0x00)), 0x07)) Store (ShiftRight (Local0, 0x08), Index (DerefOf (Index (DerefOf (Index (ACST, 0x02)), 0x00)), 0x08)) Name (BCST, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x00000000000005FF) }, 0x02, 0x01, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x0000000000000415) }, 0x03, 0x01, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x0000000000000416) }, 0x04, 0x02, 0xFA } }) Add (\PMBS, 0x14, Local0) Store (Local0, Index (DerefOf (Index (DerefOf (Index (BCST, 0x01)), 0x00)), 0x07)) Store (ShiftRight (Local0, 0x08), Index (DerefOf (Index (DerefOf (Index (BCST, 0x01)), 0x00)), 0x08)) Add (\PMBS, 0x15, Local0) Store (Local0, Index (DerefOf (Index (DerefOf (Index (BCST, 0x02)), 0x00)), 0x07)) Store (ShiftRight (Local0, 0x08), Index (DerefOf (Index (DerefOf (Index (BCST, 0x02)), 0x00)), 0x08)) Add (\PMBS, 0x16, Local0) Store (Local0, Index (DerefOf (Index (DerefOf (Index (BCST, 0x03)), 0x00)), 0x07)) Store (ShiftRight (Local0, 0x08), Index (DerefOf (Index (DerefOf (Index (BCST, 0x01)), 0x00)), 0x08)) If (\_SB.BATO) { Return (BCST) } Else { Return (ACST) } } Name (_PCT, Package (0x02) { ResourceTemplate () { Register (SystemIO, 0x10, 0x00, 0x00000000000000B2) }, ResourceTemplate () { Register (SystemIO, 0x08, 0x00, 0x00000000000000B3) } }) Name (NPSS, 0x06) Name (_PSS, Package (0x0A) { Package (0x06) { 0x06A4, 0x5FB4, 0x000A, 0x006E, 0x0086, 0x0000 }, Package (0x06) { 0x06A4, 0x5FB4, 0x000A, 0x006E, 0x0086, 0x0000 }, Package (0x06) { 0x06A4, 0x5FB4, 0x000A, 0x006E, 0x0086, 0x0000 }, Package (0x06) { 0x06A4, 0x5FB4, 0x000A, 0x006E, 0x0086, 0x0000 }, Package (0x06) { 0x06A4, 0x5FB4, 0x000A, 0x006E, 0x0086, 0x0000 }, Package (0x06) { 0x0578, 0x4C2C, 0x000A, 0x006E, 0x0186, 0x0001 }, Package (0x06) { 0x04B0, 0x3E80, 0x000A, 0x006E, 0x0286, 0x0002 }, Package (0x06) { 0x03E8, 0x32C8, 0x000A, 0x006E, 0x0386, 0x0003 }, Package (0x06) { 0x0320, 0x251C, 0x000A, 0x006E, 0x0486, 0x0004 }, Package (0x06) { 0x0258, 0x1770, 0x000A, 0x006E, 0x0586, 0x0005 } }) Method (_PPC, 0, NotSerialized) { If (\_SB.BATO) { If (LNot (LGreater (SizeOf (_PSS), NPSS))) { Return (0x01) } Else { Return (Add (Subtract (SizeOf (_PSS), NPSS), 0x01)) } } Else { If (LNot (LGreater (SizeOf (_PSS), NPSS))) { Return (0x00) } Else { Return (Subtract (SizeOf (_PSS), NPSS)) } } } } } OperationRegion (BIOS, SystemMemory, 0x3FF50064, 0xFF) Field (BIOS, ByteAcc, NoLock, Preserve) { SS1, 1, SS2, 1, SS3, 1, SS4, 1, Offset (0x01), IOST, 16, SPIO, 16, PMBS, 16, PMLN, 8, SMBS, 16, SMLN, 8, IO1B, 16, IO1L, 8, IO2B, 16, IO2L, 8, TOPM, 32, ROMS, 32, APCB, 32, APCL, 16, MG1B, 32, MG1L, 32, MG2B, 32, MG2L, 32 } Method (RRIO, 4, NotSerialized) { Store ("RRIO", Debug) } Method (RDMA, 3, NotSerialized) { Store ("rDMA", Debug) } Name (PICM, 0x00) Method (_PIC, 1, NotSerialized) { If (Arg0) { Store (0xAA, DBG8) } Else { Store (0x55, DBG8) } Store (Arg0, PICM) } Method (OSFL, 0, NotSerialized) { Store (0x00, Local0) Return (Local0) } Method (MCTH, 2, NotSerialized) { If (LLess (SizeOf (Arg0), SizeOf (Arg1))) { Return (Zero) } Add (SizeOf (Arg0), 0x01, Local0) Name (BUF0, Buffer (Local0) {}) Name (BUF1, Buffer (Local0) {}) Store (Arg0, BUF0) Store (Arg1, BUF1) While (Local0) { Decrement (Local0) If (LNot (LEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (BUF1, Local0))))) { Return (Zero) } } Return (One) } Method (GPRW, 2, NotSerialized) { Name (PRWP, Package (0x02) { 0x00, 0x00 }) Store (Arg0, Index (PRWP, 0x00)) Store (Arg1, Index (PRWP, 0x01)) Return (PRWP) } Name (WAKP, Package (0x02) { 0x00, 0x00 }) OperationRegion (DEB0, SystemIO, 0x80, 0x01) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, 0x90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Scope (\_SB) { Name (PR00, Package (0x08) { Package (0x04) { 0x001FFFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x001FFFFF, 0x00, LNKC, 0x00 }, Package (0x04) { 0x001DFFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x001DFFFF, 0x01, LNKD, 0x00 }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x00, LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, LNKB, 0x00 }, Package (0x04) { 0x001DFFFF, 0x03, LNKH, 0x00 } }) Name (AR00, Package (0x08) { Package (0x04) { 0x001FFFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x001FFFFF, 0x00, 0x00, 0x12 }, Package (0x04) { 0x001DFFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x001DFFFF, 0x01, 0x00, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0001FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0001FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x001DFFFF, 0x03, 0x00, 0x17 } }) Name (PR01, Package (0x01) { Package (0x04) { 0xFFFF, 0x00, LNKA, 0x00 } }) Name (PR02, Package (0x05) { Package (0x04) { 0x0004FFFF, 0x00, LNKE, 0x00 }, Package (0x04) { 0x0004FFFF, 0x01, LNKF, 0x00 }, Package (0x04) { 0x0003FFFF, 0x00, LNKG, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, LNKB, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, LNKC, 0x00 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {10,11} }) Name (PRSB, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {11} }) Name (PRSC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {10} }) Alias (PRSC, PRSD) Alias (PRSB, PRSE) Alias (PRSB, PRSF) Alias (PRSB, PRSG) Alias (PRSC, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_BBN, 0x00) Name (_UID, 0x00) Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR00) } Return (PR00) } Device (SBRG) { Name (_ADR, 0x001F0000) Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, 0x0020, 0x00, 0x02) IO (Decode16, 0x00A0, 0x00A0, 0x00, 0x02) IRQNoFlags () {2} }) } Device (DMAD) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8) {4} IO (Decode16, 0x0000, 0x0000, 0x00, 0x10) IO (Decode16, 0x0081, 0x0081, 0x00, 0x03) IO (Decode16, 0x0087, 0x0087, 0x00, 0x01) IO (Decode16, 0x0089, 0x0089, 0x00, 0x03) IO (Decode16, 0x008F, 0x008F, 0x00, 0x01) IO (Decode16, 0x00C0, 0x00C0, 0x00, 0x20) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, 0x0040, 0x00, 0x04) IRQNoFlags () {0} }) } Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, 0x0070, 0x00, 0x02) IRQNoFlags () {8} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CID, 0x0B03D041) Method (_STA, 0, NotSerialized) { ShiftLeft (0x01, 0x0A, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (0x00) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x00, 0x01) IO (Decode16, 0x0064, 0x0064, 0x00, 0x01) IRQNoFlags () {1} }) } Device (PS2M) { Name (_HID, EisaId ("PNP0F12")) Name (_CID, 0x130FD041) Method (_STA, 0, NotSerialized) { ShiftLeft (0x01, 0x0C, Local0) If (And (IOST, Local0)) { Return (0x0F) } Return (0x00) } Name (CRS1, ResourceTemplate () { IRQNoFlags () {12} }) Name (CRS2, ResourceTemplate () { IO (Decode16, 0x0060, 0x0060, 0x00, 0x01) IO (Decode16, 0x0064, 0x0064, 0x00, 0x01) IRQNoFlags () {12} }) Method (_CRS, 0, NotSerialized) { ShiftLeft (0x01, 0x0A, Local0) If (And (IOST, Local0)) { Return (CRS1) } Else { Return (CRS2) } } } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, 0x0061, 0x00, 0x01) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, 0x00F0, 0x00, 0x10) IRQNoFlags () {13} }) } Device (LPTE) { Method (_HID, 0, NotSerialized) { If (LPTM (0x02)) { Return (0x0104D041) } Else { Return (0x0004D041) } } Method (_STA, 0, NotSerialized) { Return (DSTA (0x02)) } Method (_DIS, 0, NotSerialized) { DCNT (0x02, 0x00) } Method (_CRS, 0, NotSerialized) { DCRS (0x02) If (LPTM (0x02)) { Store (IRQM, IRQE) Store (DMAM, DMAE) Store (IO11, IO21) Store (IO12, IO22) Store (LEN1, LEN2) Add (IO21, 0x0400, IO31) Store (IO31, IO32) Store (LEN2, LEN3) Return (CRS2) } Else { Return (CRS1) } } Method (_SRS, 1, NotSerialized) { DSRS (Arg0, 0x02) } Method (_PRS, 0, NotSerialized) { If (LPTM (0x02)) { Return (EPPR) } Else { Return (LPPR) } } Name (LPPR, ResourceTemplate () { StartDependentFnNoPri () { IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) } StartDependentFnNoPri () { IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) } StartDependentFnNoPri () { IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) } EndDependentFn()}) Name (EPPR, ResourceTemplate () { IRQNoFlags () {3,4,5,6,7,10,11,12} StartDependentFnNoPri () { DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3} IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) } StartDependentFnNoPri () { DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3} IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) } StartDependentFnNoPri () { DMA (Compatibility, NotBusMaster, Transfer8) {1,2,3} IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) } StartDependentFnNoPri () { DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x0378, 0x0378, 0x01, 0x08) IO (Decode16, 0x0778, 0x0778, 0x01, 0x08) } StartDependentFnNoPri () { DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x0278, 0x0278, 0x01, 0x08) IO (Decode16, 0x0678, 0x0678, 0x01, 0x08) } StartDependentFnNoPri () { DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IO (Decode16, 0x07BC, 0x07BC, 0x01, 0x04) } EndDependentFn () }) } Device (SIOR) { Name (_HID, EisaId ("PNP0C02")) Method (_UID, 0, NotSerialized) { Return (SPIO) } Name (CRS, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x00, 0x00) IO (Decode16, 0x0000, 0x0000, 0x00, 0x00) }) Method (_CRS, 0, NotSerialized) { If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0))) { CreateWordField (CRS, 0x02, GP10) CreateWordField (CRS, 0x04, GP11) CreateByteField (CRS, 0x07, GPL1) Store (SPIO, GP10) Store (SPIO, GP11) Store (0x02, GPL1) } If (IO1B) { CreateWordField (CRS, 0x0A, GP20) CreateWordField (CRS, 0x0C, GP21) CreateByteField (CRS, 0x0F, GPL2) Store (IO1B, GP20) Store (IO1B, GP21) Store (IO1L, GPL2) } Return (CRS) } } Name (DCAT, Package (0x15) { 0x02, 0xFF, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x06, 0x07, 0x08, 0x09, 0xFF }) Method (ENFG, 1, NotSerialized) { Store (0x87, INDX) Store (0x87, INDX) Store (Arg0, LDN) } Method (EXFG, 0, NotSerialized) { Store (0xAA, INDX) } Method (LPTM, 1, NotSerialized) { ENFG (CGLD (Arg0)) And (OPT0, 0x02, Local0) EXFG () Return (Local0) } Method (UHID, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { ENFG (CGLD (Arg0)) And (OPT1, 0x38, Local0) EXFG () If (Local0) { Return (0x1005D041) } } Return (0x0105D041) } Method (SIOK, 1, NotSerialized) { ENFG (0x0A) And (0xFF, OPT3, OPT3) And (Arg0, 0x05, Local0) And (OPT9, 0xFA, OPT9) Or (OPT9, Local0, OPT9) Store (And (Arg0, 0x01), ACTR) EXFG () } Method (PS2K._PSW, 1, NotSerialized) { ENFG (0x0A) And (OPT6, 0xEF, OPT6) If (Arg0) { Or (OPT6, 0x10, OPT6) } EXFG () } Method (PS2M._PSW, 1, NotSerialized) { ENFG (0x0A) And (OPT6, 0xDF, OPT6) If (Arg0) { Or (OPT6, 0x20, OPT6) } EXFG () } Method (SIOS, 1, NotSerialized) { Store ("SIOS", Debug) SIOK (Ones) } Method (SIOW, 1, NotSerialized) { Store ("SIOW", Debug) SIOK (Zero) } Method (SIOH, 0, NotSerialized) { Store ("SIOH", Debug) ENFG (0x0A) If (And (OPT3, 0x10)) { Notify (PS2K, 0x02) } If (And (OPT3, 0x20)) { Notify (PS2M, 0x02) } SIOK (Zero) } OperationRegion (IOID, SystemIO, SPIO, 0x02) Field (IOID, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x07), LDN, 8, Offset (0x22), FDCP, 1, , 2, LPTP, 1, URAP, 1, URBP, 1, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, IOH2, 8, IOL2, 8, Offset (0x70), INTR, 8, Offset (0x74), DMCH, 8, Offset (0xE0), CRE0, 8, CRE1, 8, CRE2, 8, CRE3, 8, CRE4, 8, Offset (0xF0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, Offset (0xF6), OPT6, 8, Offset (0xF9), OPT9, 8 } Method (CGLD, 1, NotSerialized) { Return (DerefOf (Index (DCAT, Arg0))) } Method (DSTA, 1, NotSerialized) { Store (0x00, Local0) ShiftLeft (0x01, Arg0, Local1) If (And (IOST, Local1)) { ENFG (CGLD (Arg0)) If (ACTR) { Store (0x0F, Local0) } Else { Store (0x0D, Local0) } EXFG () } Return (Local0) } Method (DCNT, 2, NotSerialized) { ENFG (CGLD (Arg0)) ShiftLeft (IOAH, 0x08, Local1) Or (IOAL, Local1, Local1) RRIO (Arg0, Arg1, Local1, 0x08) If (LAnd (LLess (DMCH, 0x04), LNot (LEqual (And (DMCH, 0x03, Local1), 0x00)))) { RDMA (Arg0, Arg1, Increment (Local1)) } Store (Arg1, ACTR) EXFG () } Name (CRS1, ResourceTemplate () { IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8) {} IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) }) CreateWordField (CRS1, 0x01, IRQM) CreateByteField (CRS1, 0x04, DMAM) CreateWordField (CRS1, 0x08, IO11) CreateWordField (CRS1, 0x0A, IO12) CreateByteField (CRS1, 0x0D, LEN1) Name (CRS2, ResourceTemplate () { IRQNoFlags () {6} DMA (Compatibility, NotBusMaster, Transfer8) {2} IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) IO (Decode16, 0x0000, 0x0000, 0x01, 0x00) }) CreateWordField (CRS2, 0x01, IRQE) CreateByteField (CRS2, 0x04, DMAE) CreateWordField (CRS2, 0x08, IO21) CreateWordField (CRS2, 0x0A, IO22) CreateByteField (CRS2, 0x0D, LEN2) CreateWordField (CRS2, 0x10, IO31) CreateWordField (CRS2, 0x12, IO32) CreateByteField (CRS2, 0x15, LEN3) Method (DCRS, 1, NotSerialized) { ENFG (CGLD (Arg0)) ShiftLeft (IOAH, 0x08, IO11) Or (IOAL, IO11, IO11) Store (IO11, IO12) Subtract (FindSetRightBit (IO11), 0x01, Local0) ShiftLeft (0x01, Local0, LEN1) If (INTR) { ShiftLeft (0x01, INTR, IRQM) } Else { Store (0x00, IRQM) } If (Or (LGreater (DMCH, 0x03), LEqual (And (DMCH, 0x03, Local1), 0x00))) { Store (0x00, DMAM) } Else { ShiftLeft (0x01, Local1, DMAM) } EXFG () Return (CRS1) } Method (DSRS, 2, NotSerialized) { CreateWordField (Arg0, 0x01, IRQM) CreateByteField (Arg0, 0x04, DMAM) CreateWordField (Arg0, 0x08, IO11) ENFG (CGLD (Arg1)) And (IO11, 0xFF, IOAL) ShiftRight (IO11, 0x08, IOAH) If (IRQM) { FindSetRightBit (IRQM, Local0) Subtract (Local0, 0x01, INTR) } Else { Store (0x00, INTR) } If (DMAM) { FindSetRightBit (DMAM, Local0) Subtract (Local0, 0x01, DMCH) } Else { Store (0x04, DMCH) } EXFG () DCNT (Arg1, 0x01) } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x01) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0010, 0x0010, 0x00, 0x10) IO (Decode16, 0x0022, 0x0022, 0x00, 0x1E) IO (Decode16, 0x0044, 0x0044, 0x00, 0x1C) IO (Decode16, 0x0063, 0x0063, 0x00, 0x01) IO (Decode16, 0x0065, 0x0065, 0x00, 0x01) IO (Decode16, 0x0067, 0x0067, 0x00, 0x09) IO (Decode16, 0x0072, 0x0072, 0x00, 0x0E) IO (Decode16, 0x0080, 0x0080, 0x00, 0x01) IO (Decode16, 0x0084, 0x0084, 0x00, 0x03) IO (Decode16, 0x0088, 0x0088, 0x00, 0x01) IO (Decode16, 0x008C, 0x008C, 0x00, 0x03) IO (Decode16, 0x0090, 0x0090, 0x00, 0x10) IO (Decode16, 0x00A2, 0x00A2, 0x00, 0x1E) IO (Decode16, 0x00E0, 0x00E0, 0x00, 0x10) IO (Decode16, 0x04D0, 0x04D0, 0x00, 0x02) }) } Scope (\_SB) { Name (BATO, 0x00) Device (LID0) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (0x00) } } } Scope (\_GPE) { Method (_L0B, 0, NotSerialized) { Sleep (0x03E8) Or (\_SB.PCI0.P0P2.CBC0.RE1, 0x80, \_SB.PCI0.P0P2.CBC0.RE1) Notify (\_SB.PCI0.P0P2, 0x02) Notify (\_SB.PCI0.P0P2.CBC0, 0x02) Notify (\_SB.PCI0.P0P2.ILNK, 0x02) Notify (\_SB.PCI0.P0P2.LAN, 0x02) Notify (\_SB.PCI0.P0P2.MPC0, 0x02) Notify (\_SB.PCI0.P0P2.MPC1, 0x02) Notify (\_SB.PWRB, 0x02) } } Mutex (\MUEC, 0x00) Name (\ECFG, 0x00) Scope (\_SB.PCI0.SBRG) { Device (EC) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x1C) Name (CTID, 0x01) Name (ECOK, 0x00) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECOK) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, 0x0062, 0x01, 0x01) IO (Decode16, 0x0066, 0x0066, 0x01, 0x01) }) OperationRegion (EC, EmbeddedControl, 0x60, 0x3F) Field (EC, ByteAcc, NoLock, Preserve) { SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 264, SMAA, 8, Offset (0x30), Offset (0x31), CTMP, 8, ECIF, 8, EHKY, 8, Offset (0x35), BATP, 8, BA18, 8, BA10, 8, BA19, 8, BA01, 8, BA0A, 8, BA0F, 8, BA09, 8 } Name (BIF0, Package (0x0D) { 0x01, 0x0E10, 0x0E10, 0x01, 0x39D0, 0x012C, 0x64, 0x01, 0x01, "G551", "1", "LION", "ECS Corp." }) OperationRegion (PMIO, SystemIO, 0x0410, 0x2A) Field (PMIO, ByteAcc, NoLock, Preserve) { PCNT, 8, Offset (0x18), , 3, USBS, 2, Offset (0x1C), , 3, UB1E, 1, Offset (0x20), GSMI, 1, Offset (0x29), KSMI, 1 } Device (ADP0) { Name (_HID, "ACPI0003") Name (BFLG, 0x01) Name (ACP, 0x01) Name (INIT, 0x01) Method (_PSR, 0, NotSerialized) { If (\_SB.PCI0.SBRG.EC.ADP0.ACP) { Return (One) } Else { Return (Zero) } } Method (_STA, 0, NotSerialized) { If (\_SB.PCI0.SBRG.EC.ECOK) { If (\_SB.PCI0.SBRG.EC.ADP0.INIT) { Store (0x00, GSMI) Store (ECIF, Local7) Store (0x01, GSMI) And (Local7, 0x02, Local0) If (LEqual (Local0, 0x02)) { Store (0x01, \_SB.PCI0.SBRG.EC.ADP0.BFLG) } Else { Store (0x00, \_SB.PCI0.SBRG.EC.ADP0.BFLG) } And (Local7, 0x01, Local0) If (LEqual (Local0, 0x01)) { Store (0x01, \_SB.PCI0.SBRG.EC.ADP0.ACP) } Else { Store (0x00, \_SB.PCI0.SBRG.EC.ADP0.ACP) } } Store (0x00, \_SB.PCI0.SBRG.EC.ADP0.INIT) } Return (0x0F) } Method (TMCL, 0, NotSerialized) { Store (CTMP, Local0) Store (PCNT, Local1) And (Local1, 0x0E, Local1) If (LNot (LLess (Local0, 0x5A))) { If (LEqual (Local1, 0x00)) { Store (0x0E, Local1) } Else { If (LNot (LEqual (Local1, 0x02))) { Subtract (Local1, 0x02, Local1) } } } Else { If (LLess (Local0, 0x4B)) { If (LNot (LEqual (Local1, 0x00))) { Add (Local1, 0x02, Local1) } } } Or (Local1, 0x10, Local1) Store (Local1, PCNT) } Name (_PCL, Package (0x01) { \_SB }) } Name (STAT, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x2710 }) Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (_PCL, Package (0x01) { \_SB }) Method (_STA, 0, NotSerialized) { If (\_SB.PCI0.SBRG.EC.ADP0.BFLG) { Return (0x1F) } Else { Return (0x0F) } Sleep (0x64) } Method (_BIF, 0, NotSerialized) { If (\_SB.PCI0.SBRG.EC.ECOK) { Store (0x00, GSMI) UPBI () Store (0x01, GSMI) } Else { IVBI () } Return (BIF0) } Method (_BST, 0, NotSerialized) { If (\_SB.PCI0.SBRG.EC.ECOK) { Store (0x00, GSMI) UPBS () Store (0x01, GSMI) } Else { IVBS () } Return (STAT) } Method (IVBI, 0, NotSerialized) { Store (0xFFFFFFFF, Index (BIF0, 0x01)) Store (0xFFFFFFFF, Index (BIF0, 0x02)) Store (0xFFFFFFFF, Index (BIF0, 0x04)) Store ("Bad", Index (BIF0, 0x09)) Store (" ", Index (BIF0, 0x0A)) Store ("Bad", Index (BIF0, 0x0B)) Store ("Bad", Index (BIF0, 0x0C)) } Method (IVBS, 0, NotSerialized) { Store (0x00, Index (STAT, 0x00)) Store (0xFFFFFFFF, Index (STAT, 0x01)) Store (0xFFFFFFFF, Index (STAT, 0x02)) Store (0x2710, Index (STAT, 0x03)) } Method (UPBI, 0, NotSerialized) { Store (0x00, Local0) Store (0x00, Local1) Store (0x00, Local2) Store (0x00, Local3) Store (BA18, Local0) Store (BA18, Local1) ShiftLeft (Local0, 0x08, Local0) Or (Local0, Local1, Local0) Store (Local0, Index (BIF0, 0x01)) Store (BA10, Local0) Store (BA10, Local1) ShiftLeft (Local0, 0x08, Local0) Or (Local0, Local1, Local1) Store (Local1, Index (BIF0, 0x02)) Store (0x39D0, Local2) Store (Local2, Index (BIF0, 0x04)) Store (0x065E, Local3) Store (Local3, Index (BIF0, 0x05)) Store ("1", Index (BIF0, 0x0A)) Store ("LION", Index (BIF0, 0x0B)) Store (CTID, Local0) If (LEqual (Local0, 0x00)) { Store ("G551", Index (BIF0, 0x09)) Store ("ECS Corp.", Index (BIF0, 0x0C)) } Else { Store ("Batt", Index (BIF0, 0x09)) Store ("Note Book", Index (BIF0, 0x0C)) } } Method (UPBS, 0, NotSerialized) { Store (0x00, Local0) Store (0x00, Local1) Store (0x00, Local2) Store (0x00, Local3) Store (0x00, Local4) Store (0x00, Local7) Store (ECIF, Local7) And (Local7, 0x02, Local0) If (LEqual (Local0, 0x02)) { And (Local7, 0x01, Local0) If (LEqual (Local0, 0x01)) { And (Local7, 0x10, Local1) If (LEqual (Local1, 0x10)) { Or (Local4, 0x02, Local4) } } Else { Or (Local4, 0x01, Local4) And (Local7, 0x08, Local0) If (LEqual (Local0, 0x08)) { Or (Local4, 0x04, Local4) } } And (Local7, 0x01, Local0) If (LEqual (Local0, 0x01)) { And (Local7, 0x10, Local0) If (LEqual (Local0, 0x10)) { Store (BA0A, Local0) Store (BA0A, Local1) ShiftLeft (Local0, 0x08, Local0) Or (Local0, Local1, Local1) And (Local1, 0x8000, Local0) If (LEqual (Local0, 0x8000)) { Store (0xFFFFFFFF, Local1) } Store (Local1, Index (STAT, 0x01)) } Else { Store (0x00, Index (STAT, 0x01)) } } Else { Store (BA0A, Local0) Store (BA0A, Local1) ShiftLeft (Local0, 0x08, Local0) Or (Local0, Local1, Local1) XOr (Local1, 0xFFFF, Local1) And (Local1, 0x8000, Local0) If (LEqual (Local0, 0x8000)) { Store (0xFFFFFFFF, Local1) } Store (Local1, Index (STAT, 0x01)) } Store (BA0F, Local0) Store (BA0F, Local2) ShiftLeft (Local0, 0x08, Local0) Or (Local0, Local2, Local2) Store (Local2, Index (STAT, 0x02)) Store (BA09, Local0) Store (BA09, Local3) ShiftLeft (Local0, 0x08, Local0) Or (Local0, Local3, Local3) Store (Local3, Index (STAT, 0x03)) Store (Local4, Index (STAT, 0x00)) Sleep (0x64) } Else { IVBS () } } } Method (_Q01, 0, NotSerialized) { Noop } Method (_Q33, 0, NotSerialized) { Store (0x00, GSMI) Store (ECIF, Local7) Store (0x01, GSMI) And (Local7, 0x02, Local0) If (LEqual (Local0, 0x02)) { Store (0x01, \_SB.PCI0.SBRG.EC.ADP0.BFLG) \_SB.PCI0.SBRG.EC.BAT0.UPBI () \_SB.PCI0.SBRG.EC.BAT0.UPBS () Notify (\_SB.PCI0.SBRG.EC.BAT0, 0x00) } Else { Store (0x00, \_SB.PCI0.SBRG.EC.ADP0.BFLG) \_SB.PCI0.SBRG.EC.BAT0.IVBI () \_SB.PCI0.SBRG.EC.BAT0.IVBS () Notify (\_SB.PCI0.SBRG.EC.ADP0, 0x00) Sleep (0x14) Notify (\_SB.PCI0.SBRG.EC.BAT0, 0x01) } Notify (\_SB.PCI0.SBRG.EC.ADP0, 0x00) } Method (_Q34, 0, NotSerialized) { Store (0x00, GSMI) Store (ECIF, Local7) Store (0x01, GSMI) And (Local7, 0x01, Local0) If (LEqual (Local0, 0x01)) { Store (0x01, \_SB.PCI0.SBRG.EC.ADP0.ACP) } Else { Store (0x00, \_SB.PCI0.SBRG.EC.ADP0.ACP) } Notify (\_SB.PCI0.SBRG.EC.ADP0, 0x00) } Method (_Q35, 0, NotSerialized) { Notify (\_SB.LID0, 0x80) } } } Device (OSYS) { Name (_HID, EisaId ("PNP0C02")) Name (_UID, 0x02) Name (CRS, ResourceTemplate () { FixedIO (0x0200, 0x10) FixedIO (0x06A0, 0x01) IO (Decode16, 0x0000, 0x0000, 0x00, 0x00) IO (Decode16, 0x0000, 0x0000, 0x00, 0x00) IO (Decode16, 0x0000, 0x0000, 0x00, 0x00) IO (Decode16, 0x04C0, 0x04C0, 0x00, 0x10) Memory32Fixed (ReadOnly, 0xFFF00000, 0x00100000) Memory32Fixed (ReadOnly, 0xFFB00000, 0x00100000) Memory32Fixed (ReadOnly, 0x00000000, 0x00000000) Memory32Fixed (ReadOnly, 0x00000000, 0x00000000) }) Method (_CRS, 0, NotSerialized) { CreateWordField (CRS, 0x0A, GP00) CreateWordField (CRS, 0x0C, GP01) CreateByteField (CRS, 0x0F, GP0L) Store (PMBS, GP00) Store (PMBS, GP01) Store (PMLN, GP0L) If (LAnd (LNot (LEqual (SPIO, 0x03F0)), LGreater (SPIO, 0xF0))) { CreateWordField (CRS, 0x12, GP10) CreateWordField (CRS, 0x14, GP11) CreateByteField (CRS, 0x17, GPL1) Store (SPIO, GP10) Store (SPIO, GP11) Store (0x02, GPL1) } If (IO2B) { CreateWordField (CRS, 0x1A, GP30) CreateWordField (CRS, 0x1C, GP31) CreateByteField (CRS, 0x1F, GP3L) Store (IO2B, GP30) Store (IO2B, GP31) Store (IO2L, GP3L) } If (APCB) { CreateDWordField (CRS, 0x48, ML01) CreateDWordField (CRS, 0x44, MB01) CreateDWordField (CRS, 0x54, ML02) CreateDWordField (CRS, 0x50, MB02) Store (APCB, MB01) Store (APCL, ML01) Store (0xFEE00000, MB02) Store (0x1000, ML02) } Return (CRS) } } Device (\_SB.SYSM) { Name (_HID, EisaId ("PNP0C01")) Name (_UID, 0x01) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, 0x000A0000) Memory32Fixed (ReadOnly, 0x00000000, 0x00000000) Memory32Fixed (ReadOnly, 0x000E0000, 0x00020000) Memory32Fixed (ReadWrite, 0x00100000, 0x00000000) Memory32Fixed (ReadOnly, 0x00000000, 0x00000000) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, 0x10, BAS1) CreateDWordField (CRS, 0x14, LEN1) CreateDWordField (CRS, 0x1C, BAS2) CreateDWordField (CRS, 0x20, LEN2) CreateDWordField (CRS, 0x2C, LEN3) CreateDWordField (CRS, 0x34, BAS4) CreateDWordField (CRS, 0x38, LEN4) If (OSFL ()) {} Else { If (MG1B) { If (LGreater (MG1B, 0x000C0000)) { Store (0x000C0000, BAS1) Subtract (MG1B, BAS1, LEN1) } } Else { Store (0x000C0000, BAS1) Store (0x00020000, LEN1) } If (Add (MG1B, MG1L, Local0)) { Store (Local0, BAS2) Subtract (0x00100000, BAS2, LEN2) } } Subtract (MG2B, 0x00100000, LEN3) Add (MG2B, MG2L, BAS4) Subtract (0x00, BAS4, LEN4) Return (CRS) } } Mutex (\MUIO, 0x00) Name (FRPR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x07F8, 0x07F8, 0x04, 0x08) IRQNoFlags () {3,4,5} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFnNoPri () { IO (Decode16, 0x06F8, 0x06F8, 0x04, 0x08) IRQNoFlags () {3,4,5} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFnNoPri () { IO (Decode16, 0x07E8, 0x07E8, 0x04, 0x08) IRQNoFlags () {3,4,5} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } StartDependentFnNoPri () { IO (Decode16, 0x06E8, 0x06E8, 0x04, 0x08) IRQNoFlags () {3,4,5} DMA (Compatibility, NotBusMaster, Transfer8) {0,1,3} } EndDependentFn () }) Name (FBUF, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {9} DMA (Compatibility, NotBusMaster, Transfer8) {3} }) Method (FRCR, 3, NotSerialized) { CreateByteField (FBUF, 0x02, IOLO) CreateByteField (FBUF, 0x03, IOHI) CreateWordField (FBUF, 0x02, IOHL) CreateWordField (FBUF, 0x04, IORL) CreateByteField (FBUF, 0x06, ALMN) CreateByteField (FBUF, 0x07, LENG) CreateWordField (FBUF, 0x09, IRQX) CreateWordField (FBUF, 0x0C, DMAX) Acquire (\MUIO, 0xFFFF) ENFG (0x06) Store (IOAH, IOHI) Store (IOAL, IOLO) Store (IOHL, IORL) Store (Arg1, ALMN) Store (Arg2, LENG) Store (One, Local0) ShiftLeft (Local0, INTR, IRQX) Store (One, Local0) ShiftLeft (Local0, DMCH, DMAX) EXFG () Release (\MUIO) Return (FBUF) } Method (FRSR, 2, NotSerialized) { CreateByteField (Arg0, 0x02, IOLB) CreateByteField (Arg0, 0x03, IOHB) CreateWordField (Arg0, 0x09, IIRQ) CreateWordField (Arg0, 0x0C, IDMA) Acquire (\MUIO, 0xFFFF) ENFG (0x06) Store (IOLB, IOAL) Store (IOHB, IOAH) FindSetRightBit (IIRQ, Local0) Subtract (Local0, 0x01, INTR) FindSetRightBit (IDMA, Local0) Subtract (Local0, 0x01, DMCH) Store (One, ACTR) EXFG () Release (\MUIO) } Method (PCRS, 3, NotSerialized) { CreateByteField (PBUF, 0x02, IOLO) CreateByteField (PBUF, 0x03, IOHI) CreateWordField (PBUF, 0x02, IOHL) CreateWordField (PBUF, 0x04, IORL) CreateByteField (PBUF, 0x06, ALMN) CreateByteField (PBUF, 0x07, LENG) CreateByteField (PBUF, 0x09, IRQL) Acquire (\MUIO, 0xFFFF) ENFG (0x06) Store (IOAH, IOHI) Store (IOAL, IOLO) Store (IOHL, IORL) Store (Arg1, ALMN) Store (Arg2, LENG) If (LEqual (IOLO, 0xBC)) { Store (0x04, LENG) } Else { Store (Arg2, LENG) } Store (One, Local0) ShiftLeft (Local0, INTR, IRQL) EXFG () Release (\MUIO) Return (PBUF) } Method (PSRS, 2, NotSerialized) { CreateByteField (Arg0, 0x02, POLB) CreateByteField (Arg0, 0x03, POHB) CreateByteField (Arg0, 0x09, PIRQ) Acquire (\MUIO, 0xFFFF) ENFG (0x06) Store (POLB, IOAL) Store (POHB, IOAH) FindSetRightBit (PIRQ, Local0) Subtract (Local0, 0x01, INTR) Store (One, ACTR) EXFG () Release (\MUIO) } Name (C2PR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x07F8, 0x07F8, 0x04, 0x08) IRQNoFlags () {3} } StartDependentFnNoPri () { IO (Decode16, 0x06F8, 0x06F8, 0x04, 0x08) IRQNoFlags () {3,4,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x07E8, 0x07E8, 0x04, 0x08) IRQNoFlags () {3,4,10,11} } StartDependentFnNoPri () { IO (Decode16, 0x06E8, 0x06E8, 0x04, 0x08) IRQNoFlags () {3,4,10,11} } EndDependentFn () }) Name (PBUF, ResourceTemplate () { IO (Decode16, 0x0000, 0x0000, 0x01, 0x08) IRQNoFlags () {0} }) Device (FIR) { Method (_HID, 0, NotSerialized) { Acquire (\MUIO, 0xFFFF) ENFG (0x06) And (OPT0, 0x01, Local1) EXFG () Release (\MUIO) If (Local1) { Return (0x1005A35C) } Else { Return (0x1005D041) } } Method (_STA, 0, NotSerialized) { Acquire (\MUIO, 0xFFFF) ENFG (0x06) And (ACTR, 0x01, Local1) EXFG () Release (\MUIO) If (Local1) { Return (0x0F) } Else { If (LAnd (IOAH, IOAL)) { Return (0x0D) } Else { Return (0x00) } } } Method (_DIS, 0, NotSerialized) { DDIS (0x06) } Method (_CRS, 0, NotSerialized) { ENFG (0x06) And (OPT0, 0x01, Local1) EXFG () If (Local1) { Return (FRCR (0x06, 0x01, 0x08)) } Else { Return (PCRS (0x06, 0x01, 0x08)) } } Method (_SRS, 1, NotSerialized) { ENFG (0x06) And (OPT0, 0x01, Local1) EXFG () If (Local1) { FRSR (Arg0, 0x06) } Else { PSRS (Arg0, 0x06) } } Method (_PRS, 0, NotSerialized) { ENFG (0x06) And (OPT0, 0x01, Local1) EXFG () If (Local1) { Return (FRPR) } Else { Return (C2PR) } } Method (DDIS, 1, NotSerialized) { ENFG (0x06) Store (Zero, ACTR) EXFG () } } } Device (SMBS) { Name (_ADR, 0x001F0003) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x07, 0x03)) } } Device (AUDI) { Name (_ADR, 0x001F0005) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x05, 0x03)) } } Device (MODM) { Name (_ADR, 0x001F0006) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x05, 0x04)) } } Device (IDE0) { Name (_ADR, 0x001F0001) Name (REGF, 0x01) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x02)) { Store (Arg1, REGF) } } OperationRegion (BAR0, PCI_Config, 0x00, 0x0100) Field (BAR0, DWordAcc, NoLock, Preserve) { Offset (0x40), TIMP, 16, TIMS, 16, STMP, 4, STMS, 4, Offset (0x48), UDMP, 2, UDMS, 2, Offset (0x4A), UDTP, 6, Offset (0x4B), UDTS, 6, Offset (0x54), PCB0, 2, SCB0, 2, PCA0, 2, SCA0, 2, , 4, FPB0, 2, FSB0, 2 } Name (TIM0, Package (0x09) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, 0x00 }, Package (0x04) { 0x0B, 0x09, 0x04, 0x00 }, Package (0x06) { 0x70, 0x49, 0x36, 0x27, 0x19, 0x0F }, Package (0x06) { 0x00, 0x01, 0x02, 0x01, 0x02, 0x01 }, Package (0x06) { 0x00, 0x00, 0x00, 0x01, 0x01, 0x01 }, Package (0x06) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 }, Package (0x04) { 0x04, 0x03, 0x02, 0x00 }, Package (0x04) { 0x02, 0x01, 0x00, 0x00 } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, 0x00, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) Name (GTIM, 0x00) Name (GSTM, 0x00) Name (GUDM, 0x00) Name (GUDT, 0x00) Name (GCB0, 0x00) Name (GFB0, 0x00) Device (CHN0) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Return (GTM (TIMP, STMP, UDMP, UDTP, PCB0, FPB0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) Store (TIMP, GTIM) Store (UDTP, GUDT) If (STM ()) { Store (GTIM, TIMP) Store (GSTM, STMP) Store (GUDM, UDMP) Store (GUDT, UDTP) Store (GCB0, PCB0) Store (GFB0, FPB0) } Store (GTF (0x00, Arg1), ATA0) Store (GTF (0x01, Arg2), ATA1) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Return (GTM (TIMS, STMS, UDMS, UDTS, SCB0, FSB0)) } Method (_STM, 3, NotSerialized) { Store (Arg0, Debug) Store (Arg0, TMD0) Store (TIMS, GTIM) Store (UDTS, GUDT) If (STM ()) { Store (GTIM, TIMS) Store (GSTM, STMS) Store (GUDM, UDMS) Store (GUDT, UDTS) Store (GCB0, SCB0) Store (GFB0, FSB0) } Store (GTF (0x00, Arg1), ATA2) Store (GTF (0x01, Arg2), ATA3) } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Return (RATA (ATA3)) } } } Method (GTM, 6, Serialized) { Store (Ones, PIO0) Store (PIO0, PIO1) Store (PIO0, DMA0) Store (PIO0, DMA1) Store (Zero, CHNF) If (REGF) {} Else { Return (TMD0) } If (And (Arg0, 0x02)) { Or (CHNF, 0x02, CHNF) } ShiftRight (And (Arg0, 0x3300), 0x08, Local5) Store (Match (DerefOf (Index (TIM0, 0x01)), MLE, Local5, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local6)), Local7) Store (Local7, DMA0) If (And (Arg0, 0x08)) { Store (0x0384, PIO0) } Else { Store (Local7, PIO0) } If (And (Arg0, 0x20)) { Or (CHNF, 0x08, CHNF) } If (And (Arg0, 0x4000)) { Or (CHNF, 0x10, CHNF) Store (Match (DerefOf (Index (TIM0, 0x02)), MLE, Arg1, MTR, 0x00, 0x00), Local5) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x00)), Local5)), Local6) Store (Local6, DMA1) If (And (Arg0, 0x80)) { Store (0x0384, PIO1) } Else { Store (Local6, PIO1) } } If (And (Arg2, 0x01)) { And (Arg3, 0x03, Local5) If (LAnd (And (Arg5, 0x01), LEqual (Local5, 0x01))) { Add (Local5, 0x04, Local5) } Else { If (And (Arg4, 0x01)) { Add (Local5, 0x02, Local5) } } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA0) Or (CHNF, 0x01, CHNF) } If (And (Arg2, 0x02)) { And (ShiftRight (Arg3, 0x04), 0x03, Local5) If (LAnd (And (Arg5, 0x02), LEqual (Local5, 0x01))) { Add (Local5, 0x04, Local5) } Else { If (And (Arg4, 0x02)) { Add (Local5, 0x02, Local5) } } Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), DMA1) Or (CHNF, 0x04, CHNF) } Store (TMD0, Debug) Return (TMD0) } Method (STM, 0, Serialized) { If (REGF) {} Else { Return (0x00) } And (GTIM, 0x8044, GTIM) Store (0x00, GSTM) Store (0x00, GUDM) Store (0x00, GCB0) And (GUDT, 0xCC, GUDT) Store (0x00, GFB0) If (And (CHNF, 0x01)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, 0x00, 0x00), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Or (GUDT, DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), GUDT) Or (GCB0, DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Local0)), GCB0) Or (GFB0, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), GFB0) Or (GUDM, 0x01, GUDM) } Else { If (Or (LEqual (PIO0, Ones), LEqual (PIO0, 0x00))) { If (And (LLess (DMA0, Ones), LGreater (DMA0, 0x00))) { Store (DMA0, PIO0) Or (GTIM, 0x08, GTIM) } } } If (And (CHNF, 0x04)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, 0x00, 0x00), Local0) If (LGreater (Local0, 0x05)) { Store (0x05, Local0) } Or (GUDT, ShiftLeft (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 0x04), GUDT) Or (GCB0, ShiftLeft (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Local0)), 0x01), GCB0) Or (GFB0, ShiftLeft (DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0)), 0x01), GFB0) Or (GUDM, 0x02, GUDM) } Else { If (Or (LEqual (PIO1, Ones), LEqual (PIO1, 0x00))) { If (And (LLess (DMA1, Ones), LGreater (DMA1, 0x00))) { Store (DMA1, PIO1) Or (GTIM, 0x80, GTIM) } } } If (And (CHNF, 0x02)) { Or (GTIM, 0x03, GTIM) } If (And (CHNF, 0x08)) { Or (GTIM, 0x30, GTIM) } And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO0, MTR, 0x00, 0x00), 0x03, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x01)), Local0)), Local1) ShiftLeft (Local1, 0x08, Local2) Or (GTIM, Local2, GTIM) If (And (CHNF, 0x10)) { Or (GTIM, 0x4000, GTIM) And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIO1, MTR, 0x00, 0x00), 0x03, Local0) Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), GSTM) } Return (0x01) } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, 0x00, CMDC) Method (GTFB, 3, Serialized) { Multiply (CMDC, 0x38, Local0) Add (Local0, 0x08, Local1) CreateField (ATAB, Local1, 0x38, CMDX) Multiply (CMDC, 0x07, Local0) CreateByteField (ATAB, Add (Local0, 0x02), A001) CreateByteField (ATAB, Add (Local0, 0x06), A005) Store (Arg0, CMDX) Store (Arg1, A001) Store (Arg2, A005) Increment (CMDC) } Method (GTF, 2, Serialized) { Store (Arg1, Debug) Store (0x00, CMDC) Name (ID49, 0x0C00) Name (ID59, 0x00) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, 0x01) Name (PIOT, 0x00) Name (DMAT, 0x00) If (LEqual (SizeOf (Arg1), 0x0200)) { CreateWordField (Arg1, 0x62, IW49) Store (IW49, ID49) CreateWordField (Arg1, 0x6A, IW53) Store (IW53, ID53) CreateWordField (Arg1, 0x7E, IW63) Store (IW63, ID63) CreateWordField (Arg1, 0x76, IW59) Store (IW59, ID59) CreateWordField (Arg1, 0xB0, IW88) Store (IW88, ID88) } Store (0xA0, Local7) If (Arg0) { Store (0xB0, Local7) And (CHNF, 0x08, IRDY) If (And (CHNF, 0x10)) { Store (PIO1, PIOT) } Else { Store (PIO0, PIOT) } If (And (CHNF, 0x04)) { If (And (CHNF, 0x10)) { Store (DMA1, DMAT) } Else { Store (DMA0, DMAT) } } } Else { And (CHNF, 0x02, IRDY) Store (PIO0, PIOT) If (And (CHNF, 0x01)) { Store (DMA0, DMAT) } } If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00)), DMAT)) { Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, 0x00, 0x00), Local1) If (LGreater (Local1, 0x05)) { Store (0x05, Local1) } GTFB (AT01, Or (0x40, Local1), Local7) } Else { If (LAnd (And (ID63, 0xFF00), PIOT)) { And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0) Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x08)), Local0)), Local1) GTFB (AT01, Local1, Local7) } } If (IRDY) { And (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR, 0x00, 0x00), 0x03, Local0) Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0)), Local1) GTFB (AT01, Local1, Local7) } Else { If (And (ID49, 0x0400)) { GTFB (AT01, 0x01, Local7) } } If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF))) { GTFB (AT03, And (ID59, 0xFF), Local7) } Store (ATAB, Debug) Return (ATAB) } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, 0x00, CMDN) Multiply (CMDN, 0x38, Local0) CreateField (Arg0, 0x08, Local0, RETB) Store (RETB, Debug) Return (RETB) } } Device (USB1) { Name (_ADR, 0x001D0000) OperationRegion (BAR0, PCI_Config, 0xC0, 0x05) Field (BAR0, ByteAcc, NoLock, Preserve) { UBL1, 16, Offset (0x04), USBW, 8 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (0x00, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x03, 0x03)) } } Device (USB2) { Name (_ADR, 0x001D0001) OperationRegion (BAR0, PCI_Config, 0xC0, 0x05) Field (BAR0, ByteAcc, NoLock, Preserve) { UBL1, 16, Offset (0x04), USBW, 8 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (0x00, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x04, 0x03)) } } Device (USB3) { Name (_ADR, 0x001D0002) OperationRegion (BAR0, PCI_Config, 0xC0, 0x05) Field (BAR0, ByteAcc, NoLock, Preserve) { UBL1, 16, Offset (0x04), USBW, 8 } Method (_PSW, 1, NotSerialized) { If (Arg0) { Store (0x03, USBW) } Else { Store (0x00, USBW) } } Method (_PRW, 0, NotSerialized) { Return (GPRW (0x0C, 0x03)) } } Device (P0P2) { Name (_ADR, 0x001E0000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) Method (_PRT, 0, NotSerialized) { Return (PR02) } Device (CBC0) { Name (_ADR, 0x00040000) OperationRegion (PMES, PCI_Config, 0xE0, 0x02) Field (PMES, ByteAcc, NoLock, Preserve) { RE0, 8, RE1, 8 } Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } Device (ILNK) { Name (_ADR, 0x00040001) } Device (LAN) { Name (_ADR, 0x00030000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } Device (MPC0) { Name (_ADR, 0x00020000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } Device (MPC1) { Name (_ADR, 0x00060000) Name (_PRW, Package (0x02) { 0x0B, 0x04 }) } } Device (P0P1) { Name (_ADR, 0x00010000) Method (_PRT, 0, NotSerialized) { Return (PR01) } } } Scope (\_GPE) { Method (_L07, 0, NotSerialized) { Notify (\_SB.PCI0.SMBS, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.AUDI, 0x02) Notify (\_SB.PCI0.MODM, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PWRB, 0x02) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } } Scope (\_SB) { OperationRegion (\_SB.PCI0.SBRG.IROR, PCI_Config, 0x00, 0xFF) Field (\_SB.PCI0.SBRG.IROR, ByteAcc, NoLock, Preserve) { Offset (0x60), PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x68), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared) {15} }) CreateWordField (BUFA, 0x01, ICRS) Method (LSTA, 1, NotSerialized) { And (Arg0, 0x80, Local0) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (LCRS, 1, NotSerialized) { And (Arg0, 0x0F, Local0) ShiftLeft (0x01, Local0, ICRS) Return (BUFA) } Method (LSRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, ISRS) FindSetRightBit (ISRS, Local0) Return (Decrement (Local0)) } Method (LDIS, 1, NotSerialized) { Return (Or (Arg0, 0x80)) } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRA)) } Method (_PRS, 0, NotSerialized) { Return (PRSA) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRA), PIRA) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRA)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRB)) } Method (_PRS, 0, NotSerialized) { Return (PRSB) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRB), PIRB) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRB)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRC)) } Method (_PRS, 0, NotSerialized) { Return (PRSC) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRC), PIRC) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRC)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRD)) } Method (_PRS, 0, NotSerialized) { Return (PRSD) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRD), PIRD) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRD)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRE)) } Method (_PRS, 0, NotSerialized) { Return (PRSE) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRE), PIRE) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRE)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRF)) } Method (_PRS, 0, NotSerialized) { Return (PRSF) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRF), PIRF) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRF)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRG)) } Method (_PRS, 0, NotSerialized) { Return (PRSG) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRG), PIRG) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRG)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { Return (LSTA (PIRH)) } Method (_PRS, 0, NotSerialized) { Return (PRSH) } Method (_DIS, 0, NotSerialized) { Store (LDIS (PIRH), PIRH) } Method (_CRS, 0, NotSerialized) { Return (LCRS (PIRH)) } Method (_SRS, 1, NotSerialized) { Store (LSRS (Arg0), PIRH) } } } Scope (\_SB) { Scope (PCI0) { Name (CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, 0x0000, 0x00FF, 0x0000, 0x0100) IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0000, 0x0CF7, 0x0000, 0x0CF8) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, 0x0D00, 0xFFFF, 0x0000, 0xF300) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x000A0000, 0x000BFFFF, 0x00000000, 0x00020000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000) }) CreateDWordField (CRS, 0x5C, MIN5) CreateDWordField (CRS, 0x60, MAX5) CreateDWordField (CRS, 0x68, LEN5) CreateDWordField (CRS, 0x76, MIN6) CreateDWordField (CRS, 0x7A, MAX6) CreateDWordField (CRS, 0x82, LEN6) Method (_CRS, 0, NotSerialized) { Store (MG1B, MIN5) Store (MG1L, LEN5) Store (MG1L, Local0) If (Local0) { Add (MIN5, Decrement (Local0), MAX5) } Store (MG2B, MIN6) Store (MG2L, LEN6) Store (MG2L, Local0) Add (MIN6, Decrement (Local0), MAX6) Return (CRS) } } } Name (\_SB.PCI0._S1D, 0x02) Name (\_SB.PCI0.P0P1._S1D, 0x02) Name (\_SB.PCI0.USB1._S1D, 0x02) Name (\_SB.PCI0.USB2._S1D, 0x02) Name (\_SB.PCI0.USB3._S1D, 0x02) Name (\_SB.PCI0._S3D, 0x02) Name (\_SB.PCI0.P0P1._S3D, 0x02) Name (\_SB.PCI0.USB1._S3D, 0x02) Name (\_SB.PCI0.USB2._S3D, 0x02) Name (\_SB.PCI0.USB3._S3D, 0x02) Name (\_SB.PCI0._S4D, 0x02) Name (\_SB.PCI0.P0P1._S4D, 0x02) Name (IOXB, 0x05C0) Name (IOXL, 0x10) OperationRegion (GPIO, SystemIO, 0x0500, 0x10) Field (GPIO, ByteAcc, NoLock, Preserve) { Offset (0x0F), , 1, GP25, 1 } Method (_PTS, 1, NotSerialized) { Store (Arg0, DBG8) PTS (Arg0) Store (0x00, Index (WAKP, 0x00)) Store (0x00, Index (WAKP, 0x01)) Store (0x00, GP25) } Method (_WAK, 1, NotSerialized) { Store (0x01, GP25) ShiftLeft (Arg0, 0x04, DBG8) WAK (Arg0) If (DerefOf (Index (WAKP, 0x00))) { Store (0x00, Index (WAKP, 0x01)) } Else { Store (Arg0, Index (WAKP, 0x01)) } If (\_SB.PCI0.SBRG.EC.ECOK) { Store (\_SB.PCI0.SBRG.EC.ECIF, Local7) And (Local7, 0x01, Local0) If (LEqual (Local0, 0x01)) { Store (0x01, \_SB.PCI0.SBRG.EC.ADP0.ACP) } Else { Store (0x00, \_SB.PCI0.SBRG.EC.ADP0.ACP) } And (Local7, 0x02, Local0) If (LEqual (Local0, 0x02)) { Store (0x01, \_SB.PCI0.SBRG.EC.ADP0.BFLG) \_SB.PCI0.SBRG.EC.BAT0.UPBI () \_SB.PCI0.SBRG.EC.BAT0.UPBS () Notify (\_SB.PCI0.SBRG.EC.BAT0, 0x00) } Else { Store (0x00, \_SB.PCI0.SBRG.EC.ADP0.BFLG) \_SB.PCI0.SBRG.EC.BAT0.IVBI () \_SB.PCI0.SBRG.EC.BAT0.IVBS () Notify (\_SB.PCI0.SBRG.EC.ADP0, 0x00) Sleep (0x14) Notify (\_SB.PCI0.SBRG.EC.BAT0, 0x01) } Notify (\_SB.PCI0.SBRG.EC.ADP0, 0x00) } Return (WAKP) } Name (_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (_S1, Package (0x04) { 0x02, 0x00, 0x00, 0x00 }) Name (_S3, Package (0x04) { 0x05, 0x00, 0x00, 0x00 }) Name (_S4, Package (0x04) { 0x06, 0x00, 0x00, 0x00 }) Name (_S5, Package (0x04) { 0x07, 0x00, 0x00, 0x00 }) Method (PTS, 1, NotSerialized) { If (Arg0) {} } Method (WAK, 1, NotSerialized) { } }