/* * Intel ACPI Component Architecture * AML Disassembler version 20060912 * * Disassembly of dsdt.dat, Mon May 14 23:47:38 2007 * * * Original Table Header: * Signature "DSDT" * Length 0x000038D5 (14549) * Revision 0x01 * OEM ID "MTC " * OEM Table ID "7521" * OEM Revision 0x06040000 (100925440) * Creator ID "MSFT" * Creator Revision 0x0100000B (16777227) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "MTC ", "7521", 0x06040000) { OperationRegion (CMOS, SystemIO, 0x70, 0x02) Field (CMOS, ByteAcc, NoLock, Preserve) { IN70, 8, DA71, 8 } IndexField (IN70, DA71, ByteAcc, NoLock, Preserve) { SEC, 8, SECA, 8, MIN, 8, MINA, 8, HOU, 8, HOUA, 8, Offset (0x0B), , 5, REGB, 1, Offset (0x0C), Offset (0x7E), DAYA, 8, MONA, 8 } OperationRegion (BTT0, SystemMemory, 0x0400, 0x0100) Field (BTT0, ByteAcc, NoLock, Preserve) { Offset (0xDF), GADP, 1, GBAT, 1, GLID, 1, GBTC, 1, GBST, 2, RIIN, 1, PS2M, 1, GBAR, 16, GCBA, 16, GAVE, 16, GTEM, 16, GCCB, 16, GCCC, 16, GAVC, 16, GLTS, 16, GTTE, 16, GTDC, 16, GFCC, 16, GTDV, 16, GTSN, 16, GCQS, 16, GPST, 16, GRST, 16 } Scope (\_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} } Name (\_S0, Package (0x02) { 0x00, 0x00 }) Name (\_S3, Package (0x02) { 0x03, 0x03 }) Name (\_S4, Package (0x02) { 0x04, 0x04 }) Name (\_S5, Package (0x02) { 0x05, 0x05 }) Scope (_SI) { Method (_SST, 1, NotSerialized) { If (And (LGreaterEqual (Arg0, 0x01), LLessEqual (Arg0, 0x02) )) { Store ("==================================== SI_Working", Debug) } If (LEqual (Arg0, 0x03)) { Store ("==================================== SI_S1 or S2 or S3", Debug) } If (LEqual (Arg0, 0x04)) { Store ("==================================== SI_S4", Debug) } } } Method (\_PTS, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Store ("------------- System S0 to S1 mode -------------", Debug) \_SB.PHS (0x80) } If (And (LGreaterEqual (Arg0, 0x02), LLessEqual (Arg0, 0x03) )) { Store ("------------- System S0 to (S2 or S3) mode -------------", Debug) \_SB.PHS (0x85) } If (LEqual (Arg0, 0x04)) { Store ("------------- System S0 to S4 mode -------------", Debug) \_SB.PHS (0x82) } If (LEqual (Arg0, 0x05)) { Store ("------------- System S0 to S5 mode -------------", Debug) \_SB.PHS (0x84) } } Method (\_WAK, 1, NotSerialized) { \_SB.PHS (0x94) If (LEqual (RIIN, 0x01)) { Notify (\_SB.PWRB, 0x02) Store (0x00, RIIN) } If (LEqual (Arg0, 0x01)) { Store ("------------- System S1 to\tS0 mode\t-------------", Debug) \_SB.PHS (0x81) } If (And (LGreaterEqual (Arg0, 0x02), LLessEqual (Arg0, 0x03) )) { Store ("------------- System (S3 or S2) to\tS0 mode\t-------------", Debug) \_SB.PHS (0x86) } If (LEqual (Arg0, 0x04)) { Store ("------------- System S4 to\tS0 mode\t-------------", Debug) Notify (\_SB.PWRB, 0x02) \_SB.PHS (0x83) } } Scope (\_GPE) { Method (_L0F, 0, NotSerialized) { Store ("=========================================== GPE_L0F", Debug) } } Scope (_SB) { Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) } Device (SLPB) { Name (_HID, EisaId ("PNP0C0E")) Name (_PRW, Package (0x02) { 0x0F, 0x04 }) Method (_PSW, 1, NotSerialized) { } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Name (LIDS, One) Method (_LID, 0, NotSerialized) { Store ("-------------- SIS LID Switch --------------", Debug) Store (LIDS, Debug) Return (LIDS) } } Device (ACAD) { Name (_HID, "ACPI0003") Name (_PCL, Package (0x01) { \_SB }) Name (ACP, 0x00) Method (_PSR, 0, NotSerialized) { Store (GADP, Local0) Return (Local0) } Method (_STA, 0, NotSerialized) { Store ("--------------------------------------- AC_STA", Debug) Return (0x0F) } Method (CHAC, 0, NotSerialized) { Store ("---------------------------- AC _CHAC", Debug) \_SB.PHS (0x90) Store (GADP, Local0) If (LNotEqual (Local0, ACP)) { FLPA () } } Method (FLPA, 0, NotSerialized) { Store (GADP, ACP) Notify (\_SB.ACAD, 0x00) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (_PCL, Package (0x01) { \_SB }) Name (PBIF, Package (0x0D) { 0x01, 0xFFFFFFFF, 0xFFFFFFFF, 0x01, 0xFFFFFFFF, 0x01F4, 0x00, 0x40, 0x40, "Internal Battery", "\t", "\t", "MTC Corporation" }) Name (BSTB, Package (0x04) { 0x00, 0xFFFFFFFF, 0xFFFFFFFF, 0x2710 }) Name (CHAR, Package (0x10) { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }) Method (ITOS, 1, NotSerialized) { Store ("", Local0) Store (0x05, Local1) While (Local1) { Decrement (Local1) And (ShiftRight (Arg0, ShiftLeft (Local1, 0x02)), 0x0F, Local4) Store (DerefOf (Index (CHAR, Local4)), Local2) Concatenate (Local0, Local2, Local5) Store (Local5, Local0) } Return (Local0) } Method (_STA, 0, NotSerialized) { \_SB.PHS (0x90) Store (GBAT, Local0) If (Or (Local0, Local0)) { Return (0x1F) } Else { Return (0x0F) } } Method (_BIF, 0, NotSerialized) { \_SB.PHS (0x90) Store (GBAT, Local0) If (Or (Local0, Local0)) { DBIF () Store ("------------------------- BATTERY _BIF from EC", Debug) Store (0x01, Index (PBIF, 0x00)) Store (GTDC, Index (PBIF, 0x01)) Store (GFCC, Index (PBIF, 0x02)) Store (0x01, Index (PBIF, 0x03)) Store (GTDV, Index (PBIF, 0x04)) Store (0x01F4, Index (PBIF, 0x05)) Store (0x00, Index (PBIF, 0x06)) Store (0x40, Index (PBIF, 0x07)) Store (0x40, Index (PBIF, 0x08)) Store ("Internal battery", Index (PBIF, 0x09)) Store (GTSN, Local0) Store (ITOS (ToBCD (Local0)), Local1) Store ("", Index (PBIF, 0x0A)) If (GBTC) { Store ("LION", Index (PBIF, 0x0B)) } Else { Store ("NiMH", Index (PBIF, 0x0B)) } Store ("MTC Corporation ", Index (PBIF, 0x0C)) } Else { DBIF () } Return (PBIF) } Method (DBIF, 0, NotSerialized) { Store ("------------------------- BATTERY _BIF from default", Debug) Store (0x01, Index (PBIF, 0x00)) Store (0xFFFFFFFF, Index (PBIF, 0x01)) Store (0xFFFFFFFF, Index (PBIF, 0x02)) Store (0x01, Index (PBIF, 0x03)) Store (0xFFFFFFFF, Index (PBIF, 0x04)) Store (0x01F4, Index (PBIF, 0x05)) Store (0x00, Index (PBIF, 0x06)) Store (0x40, Index (PBIF, 0x07)) Store (0x40, Index (PBIF, 0x08)) Store ("7521 ", Index (PBIF, 0x09)) Store ("7521 ", Index (PBIF, 0x0A)) Store ("\t ", Index (PBIF, 0x0B)) Store ("MTC Corporation", Index (PBIF, 0x0C)) } Method (_BST, 0, NotSerialized) { \_SB.PHS (0x90) Store (GBAT, Local0) If (Or (Local0, Local0)) { Store ("------------------------- BATTERY _BST from EC", Debug) Store (GBST, Local0) Store (0x01, Index (BSTB, 0x00)) If (LEqual (Local0, 0x03)) { Store (0x02, Index (BSTB, 0x00)) } If (LEqual (Local0, 0x02)) { Store (GADP, Local4) If (LEqual (Local4, 0x00)) { Store (0x05, Index (BSTB, 0x00)) } Else { Store (0x06, Index (BSTB, 0x00)) } } Store (GCCC, Local1) Not (Local1, Local1) And (Local1, 0xFFFF, Local1) Store (Local1, Index (BSTB, 0x01)) Store (GBAR, Local2) Store (Local2, Index (BSTB, 0x02)) Store (GCCB, Local3) Store (Local3, Index (BSTB, 0x03)) } Else { DBST () } Return (BSTB) } Method (DBST, 0, NotSerialized) { Store ("------------------------- BATTERY _BST from default", Debug) Store (0x00, Index (BSTB, 0x00)) Store (0xFFFFFFFF, Index (BSTB, 0x01)) Store (0xFFFFFFFF, Index (BSTB, 0x02)) Store (0x2710, Index (BSTB, 0x03)) } Method (IN, 0, NotSerialized) { _BST () _BIF () Notify (\_SB.ACAD, 0x00) Notify (\_SB.BAT0, 0x00) Notify (\_SB.BAT0, 0x80) Notify (\_SB.BAT0, 0x81) \_SB.ACAD.FLPA () } Method (OUT, 0, NotSerialized) { DBST () DBIF () Notify (\_SB.ACAD, 0x00) Notify (\_SB.BAT0, 0x01) Notify (\_SB.BAT0, 0x80) Notify (\_SB.BAT0, 0x81) \_SB.ACAD.FLPA () } } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {9} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.EIO.PIRA, 0x80, \_SB.PCI0.EIO.PIRA) } Method (_CRS, 0, NotSerialized) { Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y00) {} }) CreateWordField (RSRC, \_SB.LNKA._CRS._Y00._INT, IRQ0) If (LEqual (And (\_SB.PCI0.EIO.PIRA, 0x80), Zero)) { And (\_SB.PCI0.EIO.PIRA, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) } Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.EIO.PIRA, 0x70), \_SB.PCI0.EIO.PIRA) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.EIO.PIRA, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y01) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.EIO.PIRB, 0x80, \_SB.PCI0.EIO.PIRB) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, \_SB.LNKB._Y01._INT, IRQ0) And (\_SB.PCI0.EIO.PIRB, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.EIO.PIRB, 0x70), \_SB.PCI0.EIO.PIRB) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.EIO.PIRB, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9,11} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y02) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.EIO.PIRC, 0x80, \_SB.PCI0.EIO.PIRC) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, \_SB.LNKC._Y02._INT, IRQ0) And (\_SB.PCI0.EIO.PIRC, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.EIO.PIRC, 0x70), \_SB.PCI0.EIO.PIRC) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.EIO.PIRC, 0x80)) { Return (0x09) } Return (0x0B) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Name (_PRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,5,7,9} }) Name (RSRC, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, _Y03) {} }) Method (_DIS, 0, NotSerialized) { Or (\_SB.PCI0.EIO.PIRD, 0x80, \_SB.PCI0.EIO.PIRD) } Method (_CRS, 0, NotSerialized) { CreateWordField (RSRC, \_SB.LNKD._Y03._INT, IRQ0) And (\_SB.PCI0.EIO.PIRD, 0x0F, Local0) ShiftLeft (0x01, Local0, IRQ0) Return (RSRC) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Or (Local0, And (\_SB.PCI0.EIO.PIRD, 0x70), \_SB.PCI0.EIO.PIRD) } Method (_STA, 0, NotSerialized) { If (And (\_SB.PCI0.EIO.PIRD, 0x80)) { Return (0x09) } Return (0x0B) } } OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x15FFFEBC, 0x00000100) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 2000 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } Mutex (PSMX, 0x01) Method (PHS, 1, Serialized) { Acquire (PSMX, 0xFFFF) Store (Arg0, BCMD) Store (Zero, SMIC) Store (Zero, BCMD) Release (PSMX) Return (INF) } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_BBN, 0x00) Name (CRES, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length ,, , TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00018000, // Length ,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x04000000, // Range Minimum 0xFFFDFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y04, AddressRangeMemory, TypeStatic) }) Method (_CRS, 0, NotSerialized) { CreateDWordField (CRES, \_SB.PCI0._Y04._MIN, RAMT) CreateDWordField (CRES, \_SB.PCI0._Y04._LEN, RAMR) ShiftLeft (\_SB.PCI0.MAH, 0x1C, Local0) ShiftLeft (\_SB.PCI0.MAL, 0x14, Local1) Add (Local1, Local0, Local2) Store (Local2, RAMT) Subtract (0xFFE00000, RAMT, RAMR) Return (CRES) } OperationRegion (MA, PCI_Config, 0xAE, 0x02) Field (MA, ByteAcc, NoLock, Preserve) { MAL, 8, MAH, 8 } Name (_PRT, Package (0x07) { Package (0x04) { 0x0001FFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x0001FFFF, 0x01, \_SB.LNKB, 0x00 }, Package (0x04) { 0x0001FFFF, 0x02, \_SB.LNKC, 0x00 }, Package (0x04) { 0x0001FFFF, 0x03, \_SB.LNKD, 0x00 }, Package (0x04) { 0x0002FFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x0008FFFF, 0x00, \_SB.LNKA, 0x00 }, Package (0x04) { 0x0008FFFF, 0x01, \_SB.LNKA, 0x00 } }) Device (IDEC) { Name (_ADR, 0x01) Name (RTT, Package (0x10) { 0x0C, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0D, 0x0E, 0x0F, 0x0F }) Name (DATT, Package (0x08) { 0x08, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x0C }) Name (UDTT, Package (0x08) { 0x00, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 }) Name (IDET, Package (0x03) { Package (0x07) { 0x78, 0xB4, 0xF0, 0x0186, 0x0258, 0x96, 0x01E0 }, Package (0x07) { 0x03, 0x03, 0x04, 0x06, 0x08, 0x03, 0x08 }, Package (0x07) { 0x01, 0x03, 0x04, 0x07, 0x0C, 0x02, 0x08 } }) Name (UDT, Package (0x01) { Package (0x08) { 0x00, 0x04, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00 } }) Name (UDMT, Package (0x06) { 0x07, 0x05, 0x03, 0x02, 0x01, 0x00 }) Name (PIOT, Package (0x05) { 0x00, 0x07, 0x04, 0x03, 0x01 }) Name (DMAT, Package (0x05) { 0x00, 0x01, 0x01, 0x01, 0x02 }) OperationRegion (CF41, PCI_Config, 0x40, 0x0C) Field (CF41, WordAcc, NoLock, Preserve) { RCT0, 4, Offset (0x01), DAT0, 3, , 1, UDT0, 3, UDC0, 1, RCT1, 4, Offset (0x03), DAT1, 3, , 1, UDT1, 3, UDC1, 1, RCT2, 4, Offset (0x05), DAT2, 3, , 1, UDT2, 3, UDC2, 1, RCT3, 4, Offset (0x07), DAT3, 3, , 1, UDT3, 3, UDC3, 1, Offset (0x0A), , 1, C0EN, 1, C1EN, 1 } Name (IDEP, Buffer (0x14) {}) CreateDWordField (IDEP, 0x00, GTM0) CreateDWordField (IDEP, 0x04, GTM1) CreateDWordField (IDEP, 0x08, GTM2) CreateDWordField (IDEP, 0x0C, GTM3) CreateDWordField (IDEP, 0x10, GTM4) Device (IDE0) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Store (0xFFFFFFFF, Local0) Store (0xFFFFFFFF, Local1) Store (0xFFFFFFFF, Local2) Store (0xFFFFFFFF, Local3) Store (0x10, Local4) If (^^C0EN) { If (NAnd (LEqual (^^DAT0, 0x00), LEqual (^^RCT0, 0x0E))) { If (LEqual (\_SB.PCI0.IDEC.UDC0, 0x01)) { Store (DerefOf (Index (\_SB.PCI0.IDEC.UDTT, \_SB.PCI0.IDEC.UDT0)), Local1) Multiply (Local1, 0x0A, Local1) Or (Local4, 0x01, Local4) } Store (DerefOf (Index (\_SB.PCI0.IDEC.RTT, \_SB.PCI0.IDEC.RCT0)), Local5) Store (DerefOf (Index (\_SB.PCI0.IDEC.DATT, \_SB.PCI0.IDEC.DAT0)), Local6) Add (Local5, Local6, Local5) Multiply (Local5, 0x1E, Local0) If (LEqual (Local6, 0x03)) { Or (Local4, 0x02, Local4) } If (LEqual (\_SB.PCI0.IDEC.UDC0, 0x00)) { Store (Local0, Local1) } } If (NAnd (LEqual (^^DAT1, 0x00), LEqual (^^RCT1, 0x0E))) { If (LEqual (\_SB.PCI0.IDEC.UDC1, 0x01)) { Store (DerefOf (Index (\_SB.PCI0.IDEC.UDTT, \_SB.PCI0.IDEC.UDT1)), Local3) Multiply (Local3, 0x0A, Local3) Or (Local4, 0x04, Local4) } Store (DerefOf (Index (\_SB.PCI0.IDEC.RTT, \_SB.PCI0.IDEC.RCT1)), Local5) Store (DerefOf (Index (\_SB.PCI0.IDEC.DATT, \_SB.PCI0.IDEC.DAT1)), Local6) Add (Local5, Local6, Local5) Multiply (Local5, 0x1E, Local2) If (LEqual (Local6, 0x03)) { Or (Local4, 0x08, Local4) } If (LEqual (\_SB.PCI0.IDEC.UDC1, 0x00)) { Store (Local2, Local3) } } } Store (Local0, ^^GTM0) Store (Local1, ^^GTM1) Store (Local2, ^^GTM2) Store (Local3, ^^GTM3) Store (Local4, ^^GTM4) Return (^^IDEP) } Method (_STM, 3, NotSerialized) { Store (Arg0, ^^IDEP) Store (^^GTM0, Local0) Store (^^GTM1, Local1) Store (^^GTM2, Local2) Store (^^GTM3, Local3) Store (^^GTM4, Local4) If (LNotEqual (Local1, 0xFFFFFFFF)) { If (And (Local4, 0x01)) { Store (0x01, ^^UDC0) Divide (Local1, 0x0A, Local5, Local1) Store (Match (\_SB.PCI0.IDEC.UDTT, MEQ, Local1, MTR, 0x00, 0x00), Local5) Store (Local5, ^^UDT0) } } If (LNotEqual (Local0, 0xFFFFFFFF)) { Store (Match (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x00)), MEQ, Local0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x01)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.DATT, MEQ, Local7, MTR, 0x00, 0x00), ^^DAT0) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x02)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.RTT, MEQ, Local7, MTR, 0x00, 0x00), ^^RCT0) } If (LNotEqual (Local3, 0xFFFFFFFF)) { If (And (Local4, 0x04)) { Store (0x01, ^^UDC1) Divide (Local3, 0x0A, Local5, Local3) Store (Match (\_SB.PCI0.IDEC.UDTT, MEQ, Local3, MTR, 0x00, 0x00), Local5) Store (Local5, ^^UDT1) } } If (LNotEqual (Local2, 0xFFFFFFFF)) { Store (Match (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x00)), MEQ, Local2, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x01)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.DATT, MEQ, Local7, MTR, 0x00, 0x00), ^^DAT1) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x02)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.RTT, MEQ, Local7, MTR, 0x00, 0x00), ^^RCT1) } } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local6) Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (NAnd (LEqual (^^^DAT0, 0x00), LEqual (^^^RCT0, 0x0E))) { If (^^^UDC0) { Store (Match (\_SB.PCI0.IDEC.UDMT, MEQ, ^^^UDT0, MTR, 0x00, 0x00), UMOD) Or (UMOD, 0x40, UMOD) } Else { Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT0, MTR, 0x00, 0x00), MODE) Store (DerefOf (Index (\_SB.PCI0.IDEC.DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT0, MTR, 0x00, 0x00), MODE) Or (MODE, 0x08, MODE) } Concatenate (Local6, Local7, Local5) Return (Local5) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local6) Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (NAnd (LEqual (^^^DAT1, 0x00), LEqual (^^^RCT1, 0x0E))) { If (^^^UDC1) { Store (Match (\_SB.PCI0.IDEC.UDMT, MEQ, ^^^UDT1, MTR, 0x00, 0x00), UMOD) Or (UMOD, 0x40, UMOD) } Else { Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT1, MTR, 0x00, 0x00), MODE) Store (DerefOf (Index (\_SB.PCI0.IDEC.DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT1, MTR, 0x00, 0x00), MODE) Or (MODE, 0x08, MODE) } Concatenate (Local6, Local7, Local5) Return (Local5) } } } Device (IDE1) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Store (0xFFFFFFFF, Local0) Store (0xFFFFFFFF, Local1) Store (0xFFFFFFFF, Local2) Store (0xFFFFFFFF, Local3) Store (0x10, Local4) If (^^C1EN) { If (NAnd (LEqual (^^DAT2, 0x00), LEqual (^^RCT2, 0x0E))) { If (LEqual (\_SB.PCI0.IDEC.UDC2, 0x01)) { Store (DerefOf (Index (\_SB.PCI0.IDEC.UDTT, \_SB.PCI0.IDEC.UDT2)), Local1) Multiply (Local1, 0x0A, Local1) Or (Local4, 0x01, Local4) } Store (DerefOf (Index (\_SB.PCI0.IDEC.RTT, \_SB.PCI0.IDEC.RCT2)), Local5) Store (DerefOf (Index (\_SB.PCI0.IDEC.DATT, \_SB.PCI0.IDEC.DAT2)), Local6) Add (Local5, Local6, Local5) Multiply (Local5, 0x1E, Local0) If (LEqual (Local6, 0x03)) { Or (Local4, 0x02, Local4) } If (LEqual (\_SB.PCI0.IDEC.UDC2, 0x00)) { Store (Local0, Local1) } } If (NAnd (LEqual (^^DAT3, 0x00), LEqual (^^RCT3, 0x0E))) { If (LEqual (\_SB.PCI0.IDEC.UDC3, 0x01)) { Store (DerefOf (Index (\_SB.PCI0.IDEC.UDTT, \_SB.PCI0.IDEC.UDT3)), Local3) Multiply (Local3, 0x0A, Local3) Or (Local4, 0x04, Local4) } Store (DerefOf (Index (\_SB.PCI0.IDEC.RTT, \_SB.PCI0.IDEC.RCT3)), Local5) Store (DerefOf (Index (\_SB.PCI0.IDEC.DATT, \_SB.PCI0.IDEC.DAT3)), Local6) Add (Local5, Local6, Local5) Multiply (Local5, 0x1E, Local2) If (LEqual (Local6, 0x03)) { Or (Local4, 0x08, Local4) } If (LEqual (\_SB.PCI0.IDEC.UDC3, 0x00)) { Store (Local2, Local3) } } } Store (Local0, ^^GTM0) Store (Local1, ^^GTM1) Store (Local2, ^^GTM2) Store (Local3, ^^GTM3) Store (Local4, ^^GTM4) Return (^^IDEP) } Method (_STM, 3, NotSerialized) { Store (Arg0, ^^IDEP) Store (^^GTM0, Local0) Store (^^GTM1, Local1) Store (^^GTM2, Local2) Store (^^GTM3, Local3) Store (^^GTM4, Local4) If (LNotEqual (Local1, 0xFFFFFFFF)) { If (And (Local4, 0x01)) { Store (0x01, ^^UDC2) Divide (Local1, 0x0A, Local5, Local1) Store (Match (\_SB.PCI0.IDEC.UDTT, MEQ, Local1, MTR, 0x00, 0x00), Local5) Store (Local5, ^^UDT2) } } If (LNotEqual (Local0, 0xFFFFFFFF)) { Store (Match (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x00)), MEQ, Local0, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x01)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.DATT, MEQ, Local7, MTR, 0x00, 0x00), ^^DAT2) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x02)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.RTT, MEQ, Local7, MTR, 0x00, 0x00), ^^RCT2) } If (LNotEqual (Local3, 0xFFFFFFFF)) { If (And (Local4, 0x04)) { Store (0x01, ^^UDC3) Divide (Local3, 0x0A, Local5, Local3) Store (Match (\_SB.PCI0.IDEC.UDTT, MEQ, Local3, MTR, 0x00, 0x00), Local5) Store (Local5, ^^UDT3) } } If (LNotEqual (Local2, 0xFFFFFFFF)) { Store (Match (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x00)), MEQ, Local2, MTR, 0x00, 0x00), Local6) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x01)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.DATT, MEQ, Local7, MTR, 0x00, 0x00), ^^DAT3) Store (DerefOf (Index (DerefOf (Index (\_SB.PCI0.IDEC.IDET, 0x02)), Local6)), Local7) Store (Match (\_SB.PCI0.IDEC.RTT, MEQ, Local7, MTR, 0x00, 0x00), ^^RCT3) } } Device (DRV0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local6) Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (NAnd (LEqual (^^^DAT2, 0x00), LEqual (^^^RCT2, 0x0E))) { If (^^^UDC2) { Store (Match (\_SB.PCI0.IDEC.UDMT, MEQ, ^^^UDT2, MTR, 0x00, 0x00), UMOD) Or (UMOD, 0x40, UMOD) } Else { Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT2, MTR, 0x00, 0x00), MODE) Store (DerefOf (Index (\_SB.PCI0.IDEC.DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT2, MTR, 0x00, 0x00), MODE) Or (MODE, 0x08, MODE) } Concatenate (Local6, Local7, Local5) Return (Local5) } } Device (DRV1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local6) Store (Buffer (0x07) { /* 0000 */ 0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF }, Local7) CreateByteField (Local6, 0x01, MODE) CreateByteField (Local7, 0x01, UMOD) If (NAnd (LEqual (^^^DAT3, 0x00), LEqual (^^^RCT3, 0x0E))) { If (^^^UDC3) { Store (Match (\_SB.PCI0.IDEC.UDMT, MEQ, ^^^UDT3, MTR, 0x00, 0x00), UMOD) Or (UMOD, 0x40, UMOD) } Else { Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT3, MTR, 0x00, 0x00), MODE) Store (DerefOf (Index (\_SB.PCI0.IDEC.DMAT, MODE)), UMOD) Or (UMOD, 0x20, UMOD) } Store (Match (\_SB.PCI0.IDEC.PIOT, MEQ, ^^^RCT3, MTR, 0x00, 0x00), MODE) Or (MODE, 0x08, MODE) } Concatenate (Local6, Local7, Local5) Return (Local5) } } } } Device (AGP) { Name (_ADR, 0x00020000) } Device (LAN) { Name (_ADR, 0x00010001) Name (_PRW, Package (0x02) { 0x0C, 0x04 }) Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Noop } Else { Noop } } } Device (USB1) { Name (_ADR, 0x00010002) } Device (AUD) { Name (_ADR, 0x00010004) } Device (MOD) { Name (_ADR, 0x00010006) Name (_PRW, Package (0x02) { 0x0A, 0x04 }) Method (_PSW, 1, NotSerialized) { If (LEqual (Arg0, Zero)) { Noop } Else { Noop } } } Device (EIO) { Name (_ADR, 0x00010000) OperationRegion (PIRQ, PCI_Config, 0x41, 0x04) Field (PIRQ, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8 } OperationRegion (INTE, PCI_Config, 0x47, 0x01) Field (INTE, ByteAcc, NoLock, Preserve) { , 2, PSEN, 1, KYEN, 1 } } Device (DMA1) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode10, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x06, // Length ) IRQNoFlags () {8} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (TMR) { Name (_HID, EisaId ("PNP0100")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (SPKR) { Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_CRS, 0, NotSerialized) { Name (SMEM, ResourceTemplate () { Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x000A0000, // Address Length ) Memory32Fixed (ReadOnly, 0x000DC000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFFE0000, // Address Base 0x00020000, // Address Length ) }) Return (SMEM) } } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Method (_STA, 0, NotSerialized) { Return (0x0F) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0398, // Range Minimum 0x0398, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0481, // Range Minimum 0x0481, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x0487, // Range Minimum 0x0487, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0489, // Range Minimum 0x0489, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x048F, // Range Minimum 0x048F, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x80FF, // Range Minimum 0x80FF, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x8000, // Range Minimum 0x8000, // Range Maximum 0x01, // Alignment 0xFF, // Length ) }) } Device (EC) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x02) Name (ECOK, 0x00) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECOK) } } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x04), CMCM, 8, CMD1, 8, CMD2, 8, CMD3, 8, Offset (0x18), SMPR, 8, SMST, 8, SMAD, 8, SMCM, 8, SMD0, 264, SMAA, 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 (0xA4), ADP, 1, BATP, 1, LIDP, 1, BTCH, 1, BST, 2, Offset (0xA5), Offset (0xA9), SLPT, 3, , 1, Offset (0xB8), ENP, 16, ENW, 16, CQS, 16, PST, 16, RST, 16, PQS, 16, WQS, 16, MTNR, 8, QPSW, 1, , 6, QWUT, 1, DSTR, 16, NMC1, 8, NMC2, 7, LAMP, 1, EXS, 16, WDTR, 16, ICT, 16, Offset (0xE0), BARC, 16, BATS, 16, AVGE, 16, TEMP, 16, BATV, 16, BATC, 16, AVGC, 16, RLTS, 16, RTTE, 16, BTDC, 16, LFCC, 16, BTDV, 16, BTSN, 16 } Mutex (MTX0, 0x00) Mutex (MTX1, 0x00) Method (_Q32, 0, NotSerialized) { Store ("====== Power Button event =================", Debug) Notify (\_SB.PWRB, 0x80) } Method (_Q15, 0, NotSerialized) { Store ("====== FN+F12 SLEEP Button event =================", Debug) \_SB.PHS (0x87) Notify (\_SB.SLPB, 0x80) } Method (_Q14, 0, NotSerialized) { Store ("====== FN+F11 PANNEL ON/OFF event ================", Debug) \_SB.PHS (0x88) } Method (_Q13, 0, NotSerialized) { Store ("====== FN+F10 BATTERY LOW BEEP ON/OFF event ======", Debug) \_SB.PHS (0x89) } Method (_Q0E, 0, NotSerialized) { Store ("====== FN+F5 Display Switch event =================", Debug) \_SB.PHS (0x8C) } Method (_Q0F, 0, NotSerialized) { Store ("====== FN+F6 event =================", Debug) \_SB.PHS (0x8D) } Method (_Q10, 0, NotSerialized) { Store ("====== FN+F7 event =================", Debug) \_SB.PHS (0x8E) } Method (_Q11, 0, NotSerialized) { Store ("====== FN+F8 event =================", Debug) \_SB.PHS (0x8F) } Method (_Q36, 0, NotSerialized) { Store ("=============== AC IN event =================", Debug) \_SB.PHS (0x8B) Notify (\_SB.ACAD, 0x00) } Method (_QB6, 0, NotSerialized) { Store ("=============== AC OUT event =================", Debug) \_SB.PHS (0x8B) Notify (\_SB.ACAD, 0x01) } Method (_Q41, 0, NotSerialized) { Store ("=============== BATTERY IN event =================", Debug) \_SB.PHS (0x8B) \_SB.BAT0.IN () } Method (_QC1, 0, NotSerialized) { Store ("=============== BATTERY OUT event =================", Debug) \_SB.PHS (0x8B) \_SB.BAT0.OUT () } Method (_Q34, 0, NotSerialized) { Store ("=============== BATTERY LOW event =================", Debug) \_SB.PHS (0x8A) Notify (\_SB.BAT0, 0x80) } Method (_Q31, 0, NotSerialized) { Store ("=============== LID OPEN event =================", Debug) Store (One, \_SB.LID.LIDS) Notify (\_SB.LID, 0x80) } Method (_QB1, 0, NotSerialized) { Store ("=============== LID CLOSE event =================", Debug) Store (Zero, \_SB.LID.LIDS) Notify (\_SB.LID, 0x80) } Method (_Q42, 0, NotSerialized) { Store ("============ QSB Pressed/Released event ==============", Debug) Store (\_SB.PCI0.EC.PST, Local0) And (Local0, 0x0FC0, Local0) FindSetRightBit (Local0, Local0) If (LNotEqual (Local0, 0x00)) { If (LEqual (Local0, 0x07)) { Store (0x90, Local0) } Else { Add (Local0, 0x79, Local0) } Notify (\_SB.PCI0.ESB, Local0) } Store (Zero, \_SB.PCI0.EC.PST) } } Device (PS2M) { Name (_HID, EisaId ("PNP0F13")) Name (_CRS, ResourceTemplate () { IRQNoFlags () {12} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (PS2K) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (LPT) { Name (MCD, 0x13) Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (B_SR, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (B_PR, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (B_DI, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) } Device (LPTB) { Name (MCD, 0x14) Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (_SRS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (_PRS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (_DIS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (ECP) { Name (MCD, 0x15) Name (_HID, EisaId ("PNP0401")) Name (_UID, 0x01) Name (RSRC, ResourceTemplate () { DMA (Compatibility, NotBusMaster, Transfer8, ) {} IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (B_SR, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (B_PR, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (B_DI, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (EPP) { Name (MCD, 0x17) Name (_HID, EisaId ("PNP0400")) Name (_UID, 0x01) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (B_SR, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (B_PR, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (B_DI, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (COMA) { Name (MCD, 0x0E) Name (_HID, EisaId ("PNP0500")) Name (_UID, 0x01) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (_SRS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (_PRS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (_DIS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (COMB) { Name (MCD, 0x0F) Name (_HID, EisaId ("PNP0500")) Name (_UID, 0x02) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (B_SR, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (B_PR, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (B_DI, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (IRDA) { Name (MCD, 0x11) Name (_HID, EisaId ("PNP0510")) Name (_UID, 0x02) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (B_SR, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (B_PR, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (B_DI, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (BASK) { Name (MCD, 0x12) Name (_HID, EisaId ("PNP0501")) Name (_UID, 0x02) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (B_SR, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (B_PR, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (B_DI, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (FIR) { Name (MCD, 0x10) Name (_HID, EisaId ("NSC6001")) Name (_CID, 0x1005D041) Name (_UID, 0x02) Name (RSRC, ResourceTemplate () { DMA (Compatibility, NotBusMaster, Transfer8, ) {} IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (_SRS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (_PRS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (_DIS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (FDC) { Name (MCD, 0x16) Name (_HID, EisaId ("PNP0700")) Name (_UID, 0x01) Name (RSRC, ResourceTemplate () { IO (Decode16, 0x0100, // Range Minimum 0x0100, // Range Maximum 0x01, // Alignment 0x06, // Length ) IO (Decode16, 0x0107, // Range Minimum 0x0107, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQNoFlags () {} DMA (Compatibility, NotBusMaster, Transfer8, ) {} }) Method (_CRS, 0, NotSerialized) { If (And (_STA (), 0x02)) { Acquire (PSMX, 0xFFFF) Store (0x00, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Return (RSRC) } Method (_SRS, 1, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x01, BCMD) Store (MCD, DID) Store (Arg0, INFO) Store (Zero, SMIC) Release (PSMX) } Method (_PRS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x02, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INFO, Local0) Release (PSMX) Return (Local0) } Method (_DIS, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x03, BCMD) Store (MCD, DID) Store (Zero, SMIC) Release (PSMX) } Method (_STA, 0, NotSerialized) { Acquire (PSMX, 0xFFFF) Store (0x04, BCMD) Store (MCD, DID) Store (Zero, SMIC) Store (INF, Local0) Release (PSMX) Return (Local0) } } Device (ESB) { Name (_HID, EisaId ("MTC0001")) Method (SLED, 1, NotSerialized) { If (LLess (Arg0, 0x04)) { Store (0x00, \_SB.PCI0.EC.ICT) Store (0x00, \_SB.PCI0.EC.NMC2) If (LNotEqual (Arg0, 0x00)) { If (LEqual (Arg0, 0x01)) { Store (0x02, \_SB.PCI0.EC.NMC2) Store (0x5000, \_SB.PCI0.EC.ICT) } Else { If (LEqual (Arg0, 0x03)) { Store (0x01, \_SB.PCI0.EC.NMC2) Store (0x2000, \_SB.PCI0.EC.ICT) } If (LEqual (Arg0, 0x02)) { Store (0x1000, \_SB.PCI0.EC.ICT) } } } } } } Device (CRD0) { Name (_ADR, 0x00080000) } Device (CRD1) { Name (_ADR, 0x00080001) } } } }