/* * Intel ACPI Component Architecture * AML Disassembler version 20060608 * * Disassembly of dsdt.dat, Sat Nov 18 16:15:42 2006 * * * Original Table Header: * Signature "DSDT" * Length 0x00003AEE (15086) * Revision 0x01 * OEM ID "TOSINV" * OEM Table ID "SB450" * OEM Revision 0x06040000 (100925440) * Creator ID "MSFT" * Creator Revision 0x0100000E (16777230) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "TOSINV", "SB450", 0x06040000) { Name (Z000, 0x01) Name (Z001, 0x02) Name (Z002, 0x04) Name (Z003, 0x08) Name (Z004, 0x00) Name (Z005, 0x0F) Name (Z006, 0x0D) Name (Z007, 0x0B) Name (Z008, 0x09) Scope (\_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} Processor (CPU1, 0x01, 0x00008010, 0x06) {} } Name (ACPS, 0x01) Name (_S0, Package (0x04) { 0x00, 0x00, 0x00, 0x00 }) Name (RZ_X, Package (0x04) { 0x01, 0x01, 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 }) OperationRegion (\DEBG, SystemIO, 0x1080, 0x01) Field (\DEBG, ByteAcc, NoLock, Preserve) { DBGP, 8 } OperationRegion (\PMIO, SystemIO, 0x0CD6, 0x02) Field (\PMIO, ByteAcc, NoLock, Preserve) { PIDX, 8, PDAT, 8 } OperationRegion (\ECMB, SystemIO, 0x0400, 0x02) Field (\ECMB, ByteAcc, NoLock, Preserve) { MIDX, 8, MDAT, 8 } IndexField (MIDX, MDAT, ByteAcc, NoLock, Preserve) { Offset (0x8E), , 3, FLAS, 1, Offset (0xA1), COMD, 8, IND0, 8, IND1, 8, DAT0, 8, DAT1, 8, Offset (0xA8), , 7, STID, 1, CLMT, 2 } Method (RDEC, 1, NotSerialized) { Acquire (\_SB.PCI0.LPC0.EC0.MUT1, 0xFFFF) Store (Arg0, IND0) Store (0x90, COMD) Sleep (0x0A) If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } Store (DAT0, Local0) Sleep (0x01) Release (\_SB.PCI0.LPC0.EC0.MUT1) Return (Local0) } Method (WREC, 2, NotSerialized) { Acquire (\_SB.PCI0.LPC0.EC0.MUT1, 0xFFFF) Store (Arg0, IND0) Store (Arg1, DAT0) Store (0x91, COMD) Sleep (0x0A) If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } If (COMD) { Sleep (0x0A) } Release (\_SB.PCI0.LPC0.EC0.MUT1) } OperationRegion (\P01, SystemIO, 0x8001, 0x01) Field (\P01, ByteAcc, NoLock, Preserve) { PST1, 8 } Name (HTTX, 0x00) Method (_PTS, 1, NotSerialized) { Acquire (\_SB.PCI0.LPC0.EC0.MUT1, 0xFFFF) Store (0x8E, MIDX) Store (MDAT, Local0) Or (Local0, 0x01, Local0) Store (Local0, MDAT) Release (\_SB.PCI0.LPC0.EC0.MUT1) Store (0x8C, \_SB.PCI0.LPC0.BCMD) Store (Arg0, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) If (LEqual (Arg0, 0x05)) { Store (0x80, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (0x8D, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) } If (LEqual (Arg0, 0x04)) { Store (0x80, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (\_SB.PCI0.SMB.RVID, Local1) If (LGreaterEqual (Local1, 0x10)) { Store (Zero, \_SB.PCI0.SMB.RSTU) } Store (0x82, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (0x8A, \_SB.PCI0.LPC0.BCMD) Store (0x14, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (One, \_SB.PCI0.SMB.SLPS) } If (LEqual (Arg0, 0x03)) { Store (\_SB.PCI0.SMB.RVID, Local1) If (LGreaterEqual (Local1, 0x80)) { Store (Zero, \_SB.PCI0.SMB.RS3U) } Store (0x80, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (One, \_SB.PCI0.SMB.SLPS) Store (0x82, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (0x8A, \_SB.PCI0.LPC0.BCMD) Store (0x13, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } If (LEqual (And (HTTX, 0x01), 0x01)) { Store (0x91, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Store (0x01, \_SB.PCI0.SMB.GVT6) Store (0x00, \_SB.LIDF) If (LNotEqual (Arg0, 0x05)) { WREC (0xB6, Or (RDEC (0xB6), 0x01)) } } Method (_WAK, 1, NotSerialized) { Store (0x81, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) If (LEqual (Arg0, 0x03)) { Store (0x8B, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) Store (0x61, PIDX) Store (PDAT, Local0) And (Local0, 0x80, Local0) If (LEqual (Local0, 0x00)) { Notify (\_SB.PWRB, 0x02) } } If (LEqual (Arg0, 0x04)) { Store (RDEC (0xA2), Local0) If (LNotEqual (Local0, 0x00)) { Notify (\_SB.PWRB, 0x02) } } If (LEqual (Arg0, 0x01)) { And (PST1, 0x04, Local0) If (LEqual (Local0, 0x00)) { Notify (\_SB.PWRB, 0x02) } } If (LEqual (And (HTTX, 0x01), 0x01)) { Store (0x90, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Store (0x00, \_SB.PCI0.SMB.GVT6) Store (0x8A, \_SB.PCI0.LPC0.BCMD) Store (0x00, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) If (LNotEqual (Arg0, 0x05)) { WREC (0xB6, And (RDEC (0xB6), 0xFE)) } Return(Package(0x02){0x00, 0x00}) } Scope (\_SI) { Method (_SST, 1, NotSerialized) { If (LEqual (Arg0, 0x01)) { Store ("===== SST Working =====", Debug) } If (LEqual (Arg0, 0x02)) { Store ("===== SST Waking =====", Debug) } If (LEqual (Arg0, 0x03)) { Store ("===== SST Sleeping =====", Debug) } If (LEqual (Arg0, 0x04)) { Store ("===== SST Sleeping S4 =====", Debug) } } } Scope (\_SB) { Name (OSTB, Ones) OperationRegion (OSTY, SystemMemory, 0x57EB0F4C, 0x00000001) Field (OSTY, AnyAcc, NoLock, Preserve) { TPOS, 8 } Method (OSTP, 0, NotSerialized) { If (LEqual (^OSTB, Ones)) { If (CondRefOf (\_OSI, Local0)) { If (\_OSI ("Windows 2001.1")) { Store (0x20, ^OSTB) Store (0x20, ^TPOS) } Else { If (\_OSI ("Windows 2001 SP1")) { Store (0x10, ^OSTB) Store (0x10, ^TPOS) } Else { If (\_OSI ("Windows 2001")) { Store (0x08, ^OSTB) Store (0x08, ^TPOS) } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } } Else { If (CondRefOf (\_OS, Local0)) { If (^SEQL (\_OS, "Microsoft Windows")) { Store (0x01, ^OSTB) Store (0x01, ^TPOS) } Else { If (^SEQL (\_OS, "Microsoft WindowsME: Millennium Edition")) { Store (0x02, ^OSTB) Store (0x02, ^TPOS) } Else { If (^SEQL (\_OS, "Microsoft Windows NT")) { Store (0x04, ^OSTB) Store (0x04, ^TPOS) } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } } Else { Store (0x00, ^OSTB) Store (0x00, ^TPOS) } } } Return (^OSTB) } Method (OSHT, 0, NotSerialized) { \_SB.OSTP () Store (0x48, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (SEQL, 2, Serialized) { Store (SizeOf (Arg0), Local0) Store (SizeOf (Arg1), Local1) If (LNotEqual (Local0, Local1)) { Return (Zero) } Name (BUF0, Buffer (Local0) {}) Store (Arg0, BUF0) Name (BUF1, Buffer (Local0) {}) Store (Arg1, BUF1) Store (Zero, Local2) While (LLess (Local2, Local0)) { Store (DerefOf (Index (BUF0, Local2)), Local3) Store (DerefOf (Index (BUF1, Local2)), Local4) If (LNotEqual (Local3, Local4)) { Return (Zero) } Increment (Local2) } Return (One) } } Name (\GPIC, 0x00) Method (\_PIC, 1, NotSerialized) { Store (Arg0, GPIC) If (Arg0) { \_SB.PCI0.LPC0.DSPI () } } Scope (\_SB) { Name (PWRS, 0x01) Name (LIDF, 0x01) Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) { Return (0x0B) } } Device (LID) { Name (_HID, EisaId ("PNP0C0D")) Method (_LID, 0, NotSerialized) { Return (\_SB.LIDF) } } Device (BAT0) { Name (_HID, EisaId ("PNP0C0A")) Name (_UID, 0x01) Name (_PCL, Package (0x01) { \_SB }) Name (PBIF, Package (0x0D) { 0x01, 0x10CC, 0x10CC, 0x01, 0x3A98, 0x00, 0x00, 0x00, 0x00, "Main", "0000", "Li-ion", "" }) Name (PBST, Package (0x04) { 0x01, 0x0A90, 0x1000, 0x2A30 }) Method (_STA, 0, NotSerialized) { If (\_SB.PCI0.LPC0.EC0.ECOK) { If (LAnd (RDEC (0x94), 0x01)) { Return (0x1F) } Else { Return (0x0F) } } Else { Return (0x1F) } } Name (SERB, "0000") Method (_BIF, 0, NotSerialized) { If (\_SB.PCI0.LPC0.EC0.ECOK) { Store (RDEC (0xAA), Local0) Store (RDEC (0xAB), Local5) ShiftLeft (Local5, 0x08, Local5) Add (Local0, Local5, Local0) Store (RDEC (0xAC), Local1) Store (RDEC (0xAD), Local5) ShiftLeft (Local5, 0x08, Local5) Add (Local1, Local5, Local1) Store (Local1, Index (PBIF, 0x01)) Store (Local0, Index (PBIF, 0x02)) Store (0x00, Index (PBIF, 0x08)) Store (RDEC (0xDF), Local0) If (LEqual (Local0, 0x01)) { Store ("PA3457U-1BAS/BRS", Index (PBIF, 0x09)) } Else { If (LEqual (Local0, 0x11)) { Store ("PA3465U-1BAS/BRS", Index (PBIF, 0x09)) } Else { Store ("PA3451U-1BAS/BRS", Index (PBIF, 0x09)) } } Store (RDEC (0xB9), Local0) Store (RDEC (0xBA), Local5) ShiftLeft (Local5, 0x08, Local5) Add (Local0, Local5, Local0) Store (ITOS (Local0), Local1) Store (Local1, Index (PBIF, 0x0A)) } Return (PBIF) } Method (_BST, 0, NotSerialized) { If (FLAS) { Store (0x01, Index (PBST, Zero)) Store (0x78, Index (PBST, 0x01)) Store (0x0BB8, Index (PBST, 0x02)) Store (0x3A98, Index (PBST, 0x03)) Return (PBST) } Else { If (\_SB.PCI0.LPC0.EC0.ECOK) { Store (RDEC (0x94), Local1) Store (And (Local1, 0x10), Local1) ShiftRight (Local1, 0x04, Local1) Store (RDEC (0x95), Local0) Store (And (Local0, 0x01), Local0) ShiftLeft (Local1, 0x01, Local2) Or (Local0, Local2, Local3) Store (RDEC (0xC6), Local2) Multiply (Local2, 0x0100, Local1) Store (RDEC (0xC5), Local0) Add (Local1, Local0, Local1) Store (Local1, Index (PBST, 0x01)) Store (And (RDEC (0xA4), 0x7F), Local0) If (LLess (Local0, 0x0F)) { Or (Local3, 0x04, Local3) } Store (Local3, Index (PBST, 0x00)) Store (DerefOf (Index (PBIF, 0x02)), Local1) Multiply (Local1, Local0, Local2) Divide (Local2, 0x64, Local3, Local2) Add (Local2, 0x0A, Local2) Store (Local2, Index (PBST, 0x02)) Store (DerefOf (Index (PBIF, 0x04)), Local3) Store (Local3, Index (PBST, 0x03)) } Else { Store (0x01, Index (PBST, Zero)) Store (0x78, Index (PBST, 0x01)) Store (0x0BB8, Index (PBST, 0x02)) Store (0x3A98, Index (PBST, 0x03)) } Return (PBST) } } } Method (ITOS, 1, NotSerialized) { Store ("", Local0) Store (0x04, 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) } Name (CHAR, Package (0x10) { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F" }) Device (ADP0) { Name (_PCL, Package (0x01) { \_SB }) Name (_HID, "ACPI0003") Method (_PSR, 0, NotSerialized) { If (FLAS) { Return (0x01) } Else { If (\_SB.PCI0.LPC0.EC0.ECOK) { Store (RDEC (0x92), Local0) Store (And (Local0, 0x08), Local0) ShiftRight (Local0, 0x03, Local0) If (Local0) { Store (0x01, \_SB.PWRS) Return (0x01) } Else { Store (0x00, \_SB.PWRS) Return (0x00) } } Else { Return (0x01) } } } Method (_STA, 0, NotSerialized) { Return (0x0F) } } Device (PCI0) { Name (_HID, EisaId ("PNP0A03")) Name (_ADR, 0x00) Name (_UID, 0x01) Name (_BBN, 0x00) Method (_INI, 0, NotSerialized) { \_SB.OSHT () Store (0x00, \_SB.PCI0.SMB.GVT6) } OperationRegion (MREG, PCI_Config, 0x92, 0x02) Field (MREG, ByteAcc, NoLock, Preserve) { TOML, 8, TOMH, 8 } Method (TOM, 0, NotSerialized) { Multiply (TOML, 0x00010000, Local0) Multiply (TOMH, 0x01000000, Local1) Add (Local0, Local1, Local0) Return (Local0) } OperationRegion (REGS, PCI_Config, 0x59, 0x08) Field (REGS, ByteAcc, NoLock, Preserve) { SR59, 8, SR5A, 8, SR5B, 8, SR5C, 8, SR5D, 8, SR5E, 8, SR5F, 8 } Name (RSRC, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length 0x00,, ) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length 0x00,, , AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000C3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X00, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C4000, // Range Minimum 0x000C7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X01, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000C8000, // Range Minimum 0x000CBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X02, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000CC000, // Range Minimum 0x000CFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X03, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D0000, // Range Minimum 0x000D3FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X04, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D4000, // Range Minimum 0x000D7FFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X05, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000D8000, // Range Minimum 0x000DBFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X06, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x000DC000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00004000, // Length 0x00,, _X07, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0xFFFDFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length 0x00,, _X08, AddressRangeMemory, TypeStatic) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x0CF7, // Range Maximum 0x0000, // Translation Offset 0x0CF8, // Length 0x00,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xFFFF, // Range Maximum 0x0000, // Translation Offset 0xF300, // Length 0x00,, , TypeStatic) }) Method (_CRS, 0, Serialized) { CreateBitField (RSRC, \_SB.PCI0._X00._RW, C0RW) CreateDWordField (RSRC, \_SB.PCI0._X00._LEN, C0LN) Store (One, C0RW) If (LEqual (SR5A, 0x01)) { Store (Zero, C0RW) } Store (0x4000, C0LN) If (And (SR5A, 0x03)) { Store (0x00, C0LN) } CreateBitField (RSRC, \_SB.PCI0._X01._RW, C4RW) CreateDWordField (RSRC, \_SB.PCI0._X01._LEN, C4LN) Store (One, C4RW) If (LEqual (SR5A, 0x10)) { Store (Zero, C4RW) } Store (0x4000, C4LN) If (And (SR5A, 0x30)) { Store (0x00, C4LN) } CreateBitField (RSRC, \_SB.PCI0._X02._RW, C8RW) CreateDWordField (RSRC, \_SB.PCI0._X02._LEN, C8LN) Store (One, C8RW) If (LEqual (SR5B, 0x01)) { Store (Zero, C8RW) } Store (0x4000, C8LN) If (And (SR5B, 0x03)) { Store (0x00, C8LN) } CreateBitField (RSRC, \_SB.PCI0._X03._RW, CCRW) CreateDWordField (RSRC, \_SB.PCI0._X03._LEN, CCLN) Store (One, CCRW) If (LEqual (SR5B, 0x10)) { Store (Zero, CCRW) } Store (0x4000, CCLN) If (And (SR5B, 0x30)) { Store (0x00, CCLN) } CreateBitField (RSRC, \_SB.PCI0._X04._RW, D0RW) CreateDWordField (RSRC, \_SB.PCI0._X04._LEN, D0LN) Store (One, D0RW) If (LEqual (SR5C, 0x01)) { Store (Zero, D0RW) } Store (0x4000, D0LN) If (And (SR5C, 0x03)) { Store (0x00, D0LN) } CreateBitField (RSRC, \_SB.PCI0._X05._RW, D4RW) CreateDWordField (RSRC, \_SB.PCI0._X05._LEN, D4LN) Store (One, D4RW) If (LEqual (SR5C, 0x10)) { Store (Zero, D4RW) } Store (0x4000, D4LN) If (And (SR5C, 0x30)) { Store (0x00, D4LN) } CreateBitField (RSRC, \_SB.PCI0._X06._RW, D8RW) CreateDWordField (RSRC, \_SB.PCI0._X06._LEN, D8LN) Store (One, D8RW) If (LEqual (SR5D, 0x01)) { Store (Zero, D8RW) } Store (0x4000, D8LN) If (And (SR5D, 0x03)) { Store (0x00, D8LN) } CreateBitField (RSRC, \_SB.PCI0._X07._RW, DCRW) CreateDWordField (RSRC, \_SB.PCI0._X07._LEN, DCLN) Store (One, DCRW) If (LEqual (SR5D, 0x10)) { Store (Zero, DCRW) } Store (0x4000, DCLN) If (And (SR5D, 0x30)) { Store (0x00, DCLN) } CreateDWordField (RSRC, \_SB.PCI0._X08._MIN, BTMN) CreateDWordField (RSRC, \_SB.PCI0._X08._MAX, BTMX) CreateDWordField (RSRC, \_SB.PCI0._X08._LEN, BTLN) Store (\_SB.PCI0.TOM (), BTMN) Subtract (0xFEC00000, BTMN, BTLN) Subtract (Add (BTMN, BTLN), 0x01, BTMX) Return (RSRC) } Device (MEMR) { Name (_HID, EisaId ("PNP0C02")) Name (MEM1, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xE0000000, // Address Base 0x10000000, // Address Length ) }) Method (_CRS, 0, NotSerialized) { Return (MEM1) } } Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x0B) { Package (0x04) { 0x0011FFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x0012FFFF, 0x00, 0x00, 0x16 }, Package (0x04) { 0x0013FFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x0014FFFF, 0x00, 0x00, 0x10 }, Package (0x04) { 0x0014FFFF, 0x01, 0x00, 0x11 }, Package (0x04) { 0x0014FFFF, 0x02, 0x00, 0x12 }, Package (0x04) { 0x0014FFFF, 0x03, 0x00, 0x13 }, Package (0x04) { 0x000EFFFF, 0x00, 0x00, 0x13 }, Package (0x04) { 0x000EFFFF, 0x01, 0x00, 0x10 }, Package (0x04) { 0x000EFFFF, 0x02, 0x00, 0x11 }, Package (0x04) { 0x000EFFFF, 0x03, 0x00, 0x12 } }) } Else { Return (Package (0x0B) { Package (0x04) { 0x0011FFFF, 0x00, \_SB.PCI0.LPC0.LNKH, 0x00 }, Package (0x04) { 0x0012FFFF, 0x00, \_SB.PCI0.LPC0.LNKG, 0x00 }, Package (0x04) { 0x0013FFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x0014FFFF, 0x00, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x0014FFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0014FFFF, 0x02, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0014FFFF, 0x03, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x000EFFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x000EFFFF, 0x01, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x000EFFFF, 0x02, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x000EFFFF, 0x03, \_SB.PCI0.LPC0.LNKC, 0x00 } }) } } OperationRegion (BAR1, PCI_Config, 0x14, 0x04) Field (BAR1, ByteAcc, NoLock, Preserve) { Z009, 32 } Device (SATA) { Name (_ADR, 0x00120000) Name (B5EN, 0x00) Name (BA_5, 0x00) OperationRegion (SATX, PCI_Config, 0x00, 0x28) Field (SATX, AnyAcc, NoLock, Preserve) { VIDI, 32, Offset (0x24), BA05, 32 } Method (GBAA, 0, NotSerialized) { Store (BA_5, B5EN) If (LEqual (BA_5, 0xFFFFFFFF)) { Store (0x00, B5EN) Return (0xFFF80000) } Else { Store (0x01, B5EN) Return (BA_5) } } OperationRegion (BAR5, SystemMemory, GBAA, 0x0200) Field (BAR5, AnyAcc, NoLock, Preserve) { Offset (0x104), CSTX, 1, CST0, 1, Offset (0x10A), STA0, 1, Offset (0x184), CSTY, 1, CST1, 1, Offset (0x18A), STA1, 1 } Method (_INI, 0, NotSerialized) { Store (BA05, BA_5) GBAA () If (B5EN) { If (\_SB.PCI0.SATA.STA0) { Store (\_SB.PCI0.SATA.STA0, \_SB.PCI0.SATA.STA0) } If (\_SB.PCI0.SATA.STA1) { Store (\_SB.PCI0.SATA.STA1, \_SB.PCI0.SATA.STA1) } } } Device (PRID) { Name (_ADR, 0x00) Device (P_D0) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { Store (BA05, BA_5) GBAA () If (LEqual (B5EN, 0x00)) { Return (0x00) } If (\_SB.PCI0.SATA.CST0) { Return (0x0F) } Else { Return (0x00) } } } } Device (SECD) { Name (_ADR, 0x01) Device (S_D0) { Name (_ADR, 0x00) Method (_STA, 0, NotSerialized) { Store (BA05, BA_5) GBAA () If (LEqual (B5EN, 0x00)) { Return (0x00) } If (\_SB.PCI0.SATA.CST1) { Return (0x0F) } Else { Return (0x00) } } } } } Device (OHC1) { Name (_ADR, 0x00130000) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (OHC2) { Name (_ADR, 0x00130001) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (EHCI) { Name (_ADR, 0x00130002) Name (_PRW, Package (0x02) { 0x0B, 0x03 }) } Device (SMB) { Name (_ADR, 0x00140000) OperationRegion (Z00A, PCI_Config, 0x08, 0x01) Field (Z00A, ByteAcc, NoLock, Preserve) { RVID, 8 } OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02) Field (PMIO, ByteAcc, NoLock, Preserve) { INPM, 8, DAPM, 8 } IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve) { , 1, TM1E, 1, TM2E, 1, Offset (0x01), , 1, TM1S, 1, TM2S, 1, Offset (0x04), , 7, SLPS, 1, Offset (0x1C), , 3, MKME, 1, PI3E, 1, PI2E, 1, PI1E, 1, PI0E, 1, , 3, MKMS, 1, PI3S, 1, PI2S, 1, PI1S, 1, PI0S, 1, Offset (0x36), , 6, GVT6, 1, Offset (0x37), , 4, GPX1, 1, , 1, GPX3, 1, Offset (0x38), , 1, GPX4, 1, GPX5, 1, , 1, GPX6, 1, Offset (0x55), SPRE, 1, Offset (0x65), , 4, RS3U, 1, RSTU, 1, Offset (0x68), , 3, TPDE, 1, , 1 } Method (TRMD, 0, NotSerialized) { Store (Zero, SPRE) Store (Zero, TPDE) } Method (HTCD, 0, NotSerialized) { Store (Zero, PI2E) Store (Zero, TM2E) Store (PI2S, PI2S) Store (TM2S, TM2S) } } Device (IDE) { Name (_ADR, 0x00140001) Name (UDMT, Package (0x08) { 0x78, 0x5A, 0x3C, 0x2D, 0x1E, 0x14, 0x0F, 0x00 }) Name (PIOT, Package (0x06) { 0x0258, 0x0186, 0x010E, 0xB4, 0x78, 0x00 }) Name (PITR, Package (0x06) { 0x99, 0x47, 0x34, 0x22, 0x20, 0x99 }) Name (MDMT, Package (0x04) { 0x01E0, 0x96, 0x78, 0x00 }) Name (MDTR, Package (0x04) { 0x77, 0x21, 0x20, 0xFF }) OperationRegion (IDE, PCI_Config, 0x40, 0x20) Field (IDE, WordAcc, NoLock, Preserve) { PPIT, 16, SPIT, 16, PMDT, 16, SMDT, 16, PPIC, 8, SPIC, 8, PPIM, 8, SPIM, 8, Offset (0x14), PUDC, 2, SUDC, 2, Offset (0x16), PUDM, 8, SUDM, 8 } Method (ATPI, 1, NotSerialized) { Store (Arg0, Local0) And (Local0, 0xFF, Local0) Or (Local0, 0x41544900, Local0) Store (Local0, \_SB.PCI0.LPC0.INFO) } Method (GETT, 1, NotSerialized) { Store (And (Arg0, 0x0F), Local0) Store (ShiftRight (Arg0, 0x04), Local1) Return (Multiply (0x1E, Add (Add (Local0, 0x01), Add (Local1, 0x01)))) } Method (GTM, 1, NotSerialized) { CreateByteField (Arg0, 0x00, PIT1) CreateByteField (Arg0, 0x01, PIT0) CreateByteField (Arg0, 0x02, MDT1) CreateByteField (Arg0, 0x03, MDT0) CreateByteField (Arg0, 0x04, PICX) CreateByteField (Arg0, 0x05, UDCX) CreateByteField (Arg0, 0x06, UDMX) Name (BUF, Buffer (0x14) { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00 }) CreateDWordField (BUF, 0x00, PIO0) CreateDWordField (BUF, 0x04, DMA0) CreateDWordField (BUF, 0x08, PIO1) CreateDWordField (BUF, 0x0C, DMA1) CreateDWordField (BUF, 0x10, FLAG) If (And (PICX, 0x01)) { Return (BUF) } Store (GETT (PIT0), PIO0) Store (GETT (PIT1), PIO1) If (And (UDCX, 0x01)) { Or (FLAG, 0x01, FLAG) Store (DerefOf (Index (^UDMT, And (UDMX, 0x0F))), DMA0) } Else { Store (GETT (MDT0), DMA0) } If (And (UDCX, 0x02)) { Or (FLAG, 0x04, FLAG) Store (DerefOf (Index (^UDMT, ShiftRight (UDMX, 0x04))), DMA1) } Else { Store (GETT (MDT1), DMA1) } Or (FLAG, 0x1A, FLAG) Return (BUF) } Method (STM, 3, NotSerialized) { CreateDWordField (Arg0, 0x00, PIO0) CreateDWordField (Arg0, 0x04, DMA0) CreateDWordField (Arg0, 0x08, PIO1) CreateDWordField (Arg0, 0x0C, DMA1) CreateDWordField (Arg0, 0x10, FLAG) Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateByteField (BUF, 0x00, PIT1) CreateByteField (BUF, 0x01, PIT0) CreateByteField (BUF, 0x02, MDT1) CreateByteField (BUF, 0x03, MDT0) CreateByteField (BUF, 0x04, PIMX) CreateByteField (BUF, 0x05, UDCX) CreateByteField (BUF, 0x06, UDMX) Store (Match (^PIOT, MLE, PIO0, MTR, 0x00, 0x00), Local0) Divide (Local0, 0x05, Local0) Store (Match (^PIOT, MLE, PIO1, MTR, 0x00, 0x00), Local1) Divide (Local1, 0x05, Local1) Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX) Store (DerefOf (Index (^PITR, Local0)), PIT0) Store (DerefOf (Index (^PITR, Local1)), PIT1) If (And (FLAG, 0x01)) { Store (Match (^UDMT, MLE, DMA0, MTR, 0x00, 0x00), Local0) Divide (Local0, 0x07, Local0) Or (UDMX, Local0, UDMX) Or (UDCX, 0x01, UDCX) } Else { If (LNotEqual (DMA0, 0xFFFFFFFF)) { Store (Match (^MDMT, MLE, DMA0, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^MDTR, Local0)), MDT0) } } If (And (FLAG, 0x04)) { Store (Match (^UDMT, MLE, DMA1, MTR, 0x00, 0x00), Local0) Divide (Local0, 0x07, Local0) Or (UDMX, ShiftLeft (Local0, 0x04), UDMX) Or (UDCX, 0x02, UDCX) } Else { If (LNotEqual (DMA1, 0xFFFFFFFF)) { Store (Match (^MDMT, MLE, DMA1, MTR, 0x00, 0x00), Local0) Store (DerefOf (Index (^MDTR, Local0)), MDT1) } } Return (BUF) } Method (GTF, 2, NotSerialized) { CreateByteField (Arg1, 0x00, MDT1) CreateByteField (Arg1, 0x01, MDT0) CreateByteField (Arg1, 0x02, PIMX) CreateByteField (Arg1, 0x03, UDCX) CreateByteField (Arg1, 0x04, UDMX) If (LEqual (Arg0, 0xA0)) { Store (And (PIMX, 0x0F), Local0) Store (MDT0, Local1) And (UDCX, 0x01, Local2) Store (And (UDMX, 0x0F), Local3) } Else { Store (ShiftRight (PIMX, 0x04), Local0) Store (MDT1, Local1) And (UDCX, 0x02, Local2) Store (ShiftRight (UDMX, 0x04), Local3) } Name (BUF, Buffer (0x0E) { 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF }) CreateByteField (BUF, 0x01, PMOD) CreateByteField (BUF, 0x08, DMOD) CreateByteField (BUF, 0x05, CMDA) CreateByteField (BUF, 0x0C, CMDB) Store (Arg0, CMDA) Store (Arg0, CMDB) Or (Local0, 0x08, PMOD) If (Local2) { Or (Local3, 0x40, DMOD) } Else { Store (Match (^MDMT, MLE, GETT (Local1), MTR, 0x00, 0x00), Local4) If (LLess (Local4, 0x03)) { Or (0x20, Local4, DMOD) } } Return (BUF) } Device (PRID) { Name (_ADR, 0x00) Method (_GTM, 0, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (^^PPIT, VPIT) Store (^^PMDT, VMDT) Store (^^PPIC, VPIC) Store (^^PUDC, VUDC) Store (^^PUDM, VUDM) Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (STM (Arg0, Arg1, Arg2), BUF) Store (VPIT, ^^PPIT) Store (VMDT, ^^PMDT) Store (VPIM, ^^PPIM) Store (VUDC, ^^PUDC) Store (VUDM, ^^PUDM) } Device (P_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) Return (GTF (0xA0, BUF)) } } Device (P_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (^^^PMDT, VMDT) Store (^^^PPIM, VPIM) Store (^^^PUDC, VUDC) Store (^^^PUDM, VUDM) Return (GTF (0xB0, BUF)) } } Method (_STA, 0, NotSerialized) { And (PPIC, 0x01, Local0) If (LAnd (Local0, 0x01)) { Return (Z006) } Else { Return (Z005) } } Name (FWSO, "FWSO") Name (_PSC, 0x00) Method (_PS0, 0, NotSerialized) { Store (_PSC, Local0) Store (0x00, _PSC) If (LEqual (Local0, 0x03)) { Store (0x01, \_SB.PCI0.LPC0.INF) While (\_SB.PCI0.LPC0.INF) { Store (0x20, \_SB.PCI0.LPC0.BCMD) Store (Zero, \_SB.PCI0.LPC0.SMIC) If (LAnd (LEqual (\_SB.PCI0.LPC0.INF, 0x01), LGreaterEqual (\_SB.OSTB, 0x04))) { Sleep (0x01F4) } } } } Method (_PS3, 0, NotSerialized) { Store (0x03, _PSC) } } Device (SECD) { Name (_ADR, 0x01) Method (_GTM, 0, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIC) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (^^SPIT, VPIT) Store (^^SMDT, VMDT) Store (^^SPIC, VPIC) Store (^^SUDC, VUDC) Store (^^SUDM, VUDM) Return (GTM (BUF)) } Method (_STM, 3, NotSerialized) { Name (BUF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VPIT) CreateWordField (BUF, 0x02, VMDT) CreateByteField (BUF, 0x04, VPIM) CreateByteField (BUF, 0x05, VUDC) CreateByteField (BUF, 0x06, VUDM) Store (STM (Arg0, Arg1, Arg2), BUF) Store (VPIT, ^^SPIT) Store (VMDT, ^^SMDT) Store (VPIM, ^^SPIM) Store (VUDC, ^^SUDC) Store (VUDM, ^^SUDM) } Device (S_D0) { Name (_ADR, 0x00) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) Return (GTF (0xA0, BUF)) } } Device (S_D1) { Name (_ADR, 0x01) Method (_GTF, 0, NotSerialized) { Name (BUF, Buffer (0x05) { 0x00, 0x00, 0x00, 0x00, 0x00 }) CreateWordField (BUF, 0x00, VMDT) CreateByteField (BUF, 0x02, VPIM) CreateByteField (BUF, 0x03, VUDC) CreateByteField (BUF, 0x04, VUDM) Store (^^^SMDT, VMDT) Store (^^^SPIM, VPIM) Store (^^^SUDC, VUDC) Store (^^^SUDM, VUDM) Return (GTF (0xB0, BUF)) } } Method (_STA, 0, NotSerialized) { And (SPIC, 0x01, Local0) If (LAnd (Local0, 0x01)) { Return (Z006) } Else { Return (Z005) } } } } Device (LPC0) { Name (_ADR, 0x00140003) Mutex (PSMX, 0x00) OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02) Field (PIRQ, ByteAcc, NoLock, Preserve) { PIID, 8, PIDA, 8 } IndexField (PIID, PIDA, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, PIRS, 8, Offset (0x09), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Name (IPRS, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {10,11} }) Method (DSPI, 0, NotSerialized) { Store (0x00, PIRA) Store (0x00, PIRB) Store (0x00, PIRC) Store (0x00, PIRD) Store (0x00, PIRS) Store (0x00, PIRE) Store (0x00, PIRF) Store (0x00, PIRG) Store (0x00, PIRH) } Device (LNKA) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x01) Method (_STA, 0, NotSerialized) { If (PIRA) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRA) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRA, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRA) } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x02) Method (_STA, 0, NotSerialized) { If (PIRB) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRB) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRB, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRB) } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x03) Method (_STA, 0, NotSerialized) { If (PIRC) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRC) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRC, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRC) } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x04) Method (_STA, 0, NotSerialized) { If (PIRD) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRD) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRD, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRD) } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x05) Method (_STA, 0, NotSerialized) { If (PIRD) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRE) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRE, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRE) } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x06) Method (_STA, 0, NotSerialized) { If (PIRF) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRF) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRF, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRF) } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x07) Method (_STA, 0, NotSerialized) { If (PIRG) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRG) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRG, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRG) } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x08) Method (_STA, 0, NotSerialized) { If (PIRH) { Return (Z007) } Else { Return (Z008) } } Method (_PRS, 0, NotSerialized) { Return (IPRS) } Method (_DIS, 0, NotSerialized) { Store (0x00, PIRH) } Method (_CRS, 0, NotSerialized) { Store (IPRS, Local0) CreateWordField (Local0, 0x01, IRQ0) ShiftLeft (0x01, PIRH, IRQ0) Return (Local0) } Method (_SRS, 1, NotSerialized) { CreateWordField (Arg0, 0x01, IRQ0) FindSetRightBit (IRQ0, Local0) Decrement (Local0) Store (Local0, PIRH) } } OperationRegion (LPCR, PCI_Config, 0x44, 0x02) Field (LPCR, ByteAcc, NoLock, Preserve) { CMA0, 1, CMA1, 1, CMA2, 1, CMA3, 1, CMA4, 1, CMA5, 1, CMA6, 1, CMA7, 1, CMB0, 1, CMB1, 1, CMB2, 1, CMB3, 1, CMB4, 1, CMB5, 1, CMB6, 1, CMB7, 1 } Device (DMAC) { Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x01, // Alignment 0x20, // Length ) DMA (Compatibility, NotBusMaster, Transfer8_16, ) {4} }) } Device (MATH) { Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x01, // Alignment 0x0F, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {13} }) } Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {2} }) } Device (RTC) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x02, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (TIME) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {0} }) } Device (KBC0) { Name (_HID, EisaId ("PNP0303")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x01, // Alignment 0x01, // Length ) IRQ (Edge, ActiveHigh, Exclusive, ) {1} }) } Device (MSE0) { Name (_HID, EisaId ("SYN1902")) Name (_CID, Package (0x04) { 0x00112E4F, 0x02002E4F, 0x130FD041, 0x02192E4F }) Name (_CRS, ResourceTemplate () { IRQ (Edge, ActiveHigh, Exclusive, ) {12} }) } Device (SYSR) { Name (_HID, EisaId ("PNP0C02")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x1080, // Range Minimum 0x1080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B0, // Range Minimum 0x00B0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0220, // Range Minimum 0x0220, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x040B, // Range Minimum 0x040B, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x04D6, // Range Minimum 0x04D6, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0530, // Range Minimum 0x0530, // Range Maximum 0x08, // Alignment 0x08, // Length ) IO (Decode16, 0x0C00, // Range Minimum 0x0C00, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0C14, // Range Minimum 0x0C14, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C50, // Range Minimum 0x0C50, // Range Maximum 0x01, // Alignment 0x03, // Length ) IO (Decode16, 0x0C6C, // Range Minimum 0x0C6C, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0C6F, // Range Minimum 0x0C6F, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0CD4, // Range Minimum 0x0CD4, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD6, // Range Minimum 0x0CD6, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0CD8, // Range Minimum 0x0CD8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x8000, // Range Minimum 0x8000, // Range Maximum 0x01, // Alignment 0x60, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x8100, // Range Minimum 0x81FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, , TypeStatic) IO (Decode16, 0x0F40, // Range Minimum 0x0F40, // Range Maximum 0x01, // Alignment 0x08, // Length ) IO (Decode16, 0x0280, // Range Minimum 0x0280, // Range Maximum 0x01, // Alignment 0x14, // Length ) IO (Decode16, 0x087F, // Range Minimum 0x087F, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) } Device (MEM) { Name (_HID, EisaId ("PNP0C01")) Name (MSRC, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length ) Memory32Fixed (ReadOnly, 0xFFF80000, // Address Base 0x00080000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _X09) Memory32Fixed (ReadOnly, 0xC0004800, // Address Base 0x00000800, // Address Length ) }) Method (_CRS, 0, NotSerialized) { If (LGreaterEqual (TPOS, 0x04)) { CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._X09._BAS, BARX) CreateDWordField (MSRC, \_SB.PCI0.LPC0.MEM._X09._LEN, GALN) Store (0x1000, GALN) Store (\_SB.PCI0.Z009, Local0) And (Local0, 0xFFFFFFF0, BARX) } Return (MSRC) } Method (_STA, 0, NotSerialized) { Return (0x0F) } } OperationRegion (SMI0, SystemIO, 0x00000F40, 0x00000002) Field (SMI0, AnyAcc, NoLock, Preserve) { SMIC, 8 } OperationRegion (SMI1, SystemMemory, 0x57EB0E4C, 0x00000100) Field (SMI1, AnyAcc, NoLock, Preserve) { BCMD, 8, DID, 32, INFO, 32, INF0, 32, INF1, 32, INF2, 32, INF3, 32, INF4, 32, INF5, 32, INF6, 32, INF7, 32, INF8, 32, INF9, 32, INFA, 32, INFB, 32, INFC, 32, INFD, 32, INFE, 32 } Field (SMI1, AnyAcc, NoLock, Preserve) { AccessAs (ByteAcc, 0x00), Offset (0x05), INF, 8 } Device (EC0) { Name (_HID, EisaId ("PNP0C09")) Name (_GPE, 0x07) Name (ECOK, 0x00) Method (_REG, 2, NotSerialized) { If (LEqual (Arg0, 0x03)) { Store (Arg1, ECOK) Notify (\_SB.ADP0, 0x00) Notify (\_SB.BAT0, 0x80) } } OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF) Field (ERAM, ByteAcc, NoLock, Preserve) { Offset (0x90), LSCI, 8, LHKY, 8, LIDS, 1, DOCK, 1, FNST, 1, ACST, 1, BL1, 1, BL2, 1, , 1, DKIF, 1, SMIE, 1, WLST, 1, BTRT, 1, WLIF, 1, KSST, 1, BTST, 1, BION, 1, BTON, 1, B1EX, 1, , 3, B1CG, 1, Offset (0x95), B1DC, 1, , 3, B1CF, 1, Offset (0x96), L1B1, 1, L1B2, 1, Offset (0x97), Offset (0x99), BL1P, 7, Offset (0x9A), BL2P, 7, Offset (0x9B), BDED, 8, CCTV, 8, CCLT, 8, CCHT, 8, CCST, 8, CFAS, 8, Offset (0xA2), WKSV, 8, BNDT, 8, B1PT, 8, Offset (0xA8), B1RL, 8, B1RH, 8, B1FL, 8, B1FH, 8, B1DL, 8, B1DH, 8, Offset (0xB4), OTCD, 8, Offset (0xB6), WKLD, 1, WKKY, 1, WKLN, 1, Offset (0xB7), EBPS, 1, DKIN, 1, UDKN, 1, Offset (0xB8), CKCH, 1, SWI4, 1, SDPF, 1, Offset (0xB9), B1SL, 8, B1SH, 8, Offset (0xBD), B1PL, 8, B1PH, 8, Offset (0xC1), THON, 8, THOF, 8, VFON, 8, VFOF, 8, BPRL, 8, BPRH, 8 } Mutex (MUT1, 0x00) Method (_PS0, 0, NotSerialized) { Store (0x00, DFEC) } Method (_PS3, 0, NotSerialized) { Store (0x01, DFEC) } Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0066, // Range Minimum 0x0066, // Range Maximum 0x01, // Alignment 0x01, // Length ) }) Method (_Q11, 0, NotSerialized) { Store (0x11, DBGP) Store (RDEC (0x9C), Local0) Store (And (Local0, 0x7F), Local0) STEV (Local0) Notify (\_TZ.TZCR, 0x80) } Method (_Q13, 0, NotSerialized) { Store (0x13, DBGP) Notify (\_SB.ADP0, 0x00) Notify (\_SB.BAT0, 0x80) } Method (_Q14, 0, NotSerialized) { Store (0x14, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x14, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) Notify (\_SB.LID, 0x80) Store (And (RDEC (0x92), 0x01), Local0) If (LEqual (Local0, 0x01)) { Store (0x00, \_SB.LIDF) } Else { Store (0x01, \_SB.LIDF) } Notify (\_SB.LID, 0x80) } Method (_Q19, 0, NotSerialized) { Store (0x19, DBGP) Notify (\_SB.ADP0, 0x00) Notify (\_SB.BAT0, 0x80) } Method (_Q25, 0, NotSerialized) { Store (0x25, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x25, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (_Q26, 0, NotSerialized) { Store (0x26, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x26, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (_Q30, 0, NotSerialized) { Store (0x30, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x30, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (_Q31, 0, NotSerialized) { Store (0x31, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x31, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (_Q32, 0, NotSerialized) { Store (0x32, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x32, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (_Q33, 0, NotSerialized) { Store (0x33, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x33, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (_Q34, 0, NotSerialized) { Store (0x34, DBGP) Store (0x89, \_SB.PCI0.LPC0.BCMD) Store (0x34, \_SB.PCI0.LPC0.DID) Store (Zero, \_SB.PCI0.LPC0.SMIC) } Method (_Q40, 0, NotSerialized) { CHGT (CLMT) Store (RDEC (0x9C), Local0) Store (And (Local0, 0x7F), Local0) STEV (Local0) Notify (\_TZ.TZCR, 0x81) } } } Device (P2P) { Name (_ADR, 0x00140004) Name (_PRW, Package (0x02) { 0x04, 0x04 }) Method (_PRT, 0, NotSerialized) { If (GPIC) { If (STID) { Return (Package (0x08) { Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x14 }, Package (0x04) { 0x0004FFFF, 0x01, 0x00, 0x14 }, Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x000AFFFF, 0x00, 0x00, 0x16 }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x14 }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x15 }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x16 }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x17 } }) } Else { Return (Package (0x08) { Package (0x04) { 0x0004FFFF, 0x00, 0x00, 0x15 }, Package (0x04) { 0x0004FFFF, 0x01, 0x00, 0x15 }, Package (0x04) { 0x0006FFFF, 0x00, 0x00, 0x17 }, Package (0x04) { 0x000AFFFF, 0x00, 0x00, 0x16 }, Package (0x04) { 0x0007FFFF, 0x00, 0x00, 0x14 }, Package (0x04) { 0x0007FFFF, 0x01, 0x00, 0x15 }, Package (0x04) { 0x0007FFFF, 0x02, 0x00, 0x16 }, Package (0x04) { 0x0007FFFF, 0x03, 0x00, 0x17 } }) } } Else { Return (Package (0x08) { Package (0x04) { 0x0004FFFF, 0x00, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0004FFFF, 0x01, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0006FFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x000AFFFF, 0x00, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x0007FFFF, 0x00, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0007FFFF, 0x01, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x0007FFFF, 0x02, \_SB.PCI0.LPC0.LNKA, 0x00 }, Package (0x04) { 0x0007FFFF, 0x03, \_SB.PCI0.LPC0.LNKB, 0x00 } }) } } Device (LANC) { Name (_ADR, 0x00070000) Name (_PRW, Package (0x02) { 0x04, 0x00 }) } } Device (AUDO) { Name (_ADR, 0x00140002) Name (_PRW, Package (0x02) { 0x1B, 0x03 }) } Device (MODM) { Name (_ADR, 0x00140002) Name (_PRW, Package (0x02) { 0x1B, 0x03 }) } Device (AGP) { Name (_ADR, 0x00010000) Method (_PRT, 0, NotSerialized) { If (GPIC) { Return (Package (0x04) { Package (0x04) { 0x0005FFFF, 0x00, 0x00, 0x11 }, Package (0x04) { 0x0005FFFF, 0x01, 0x00, 0x12 }, Package (0x04) { 0x0005FFFF, 0x02, 0x00, 0x13 }, Package (0x04) { 0x0005FFFF, 0x03, 0x00, 0x10 } }) } Else { Return (Package (0x04) { Package (0x04) { 0x0005FFFF, 0x00, \_SB.PCI0.LPC0.LNKB, 0x00 }, Package (0x04) { 0x0005FFFF, 0x01, \_SB.PCI0.LPC0.LNKC, 0x00 }, Package (0x04) { 0x0005FFFF, 0x02, \_SB.PCI0.LPC0.LNKD, 0x00 }, Package (0x04) { 0x0005FFFF, 0x03, \_SB.PCI0.LPC0.LNKA, 0x00 } }) } } } } } Scope (\_GPE) { Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.P2P, 0x02) Store (0xA1, DEBG) Notify (\_SB.PWRB, 0x02) } Method (_L0B, 0, NotSerialized) { Store (0x0B, DBGP) Notify (\_SB.PCI0.OHC1, 0x02) Notify (\_SB.PCI0.OHC2, 0x02) } Method (_L1B, 0, NotSerialized) { Store (0x1B, DBGP) Notify (\_SB.PCI0.MODM, 0x02) Notify (\_SB.PCI0.AUDO, 0x02) } } Name (CTPB, Buffer (0x0B) { 0x28, 0x2D, 0x32, 0x34, 0x37, 0x3C, 0x55, 0x5A, 0x64, 0x66, 0x69 }) Name (MTPB, Buffer (0x0B) { 0x28, 0x2D, 0x32, 0x34, 0x37, 0x3C, 0x55, 0x5A, 0x64, 0x66, 0x69 }) Name (PTPB, Buffer (0x0B) { 0x28, 0x2D, 0x32, 0x34, 0x37, 0x3C, 0x58, 0x5D, 0x52, 0x56, 0x69 }) Name (BTPB, Buffer (0x0B) { 0x32, 0x37, 0x49, 0x50, 0x52, 0x58, 0x5A, 0x5F, 0x3C, 0x46, 0x69 }) Name (TRON, 0x00) Method (CHGT, 1, NotSerialized) { If (LEqual (Arg0, 0x00)) { Store (MTPB, CTPB) } If (LEqual (Arg0, 0x01)) { Store (PTPB, CTPB) } If (LEqual (Arg0, 0x02)) { Store (BTPB, CTPB) } CreateByteField (CTPB, 0x08, PSPL) CreateByteField (CTPB, 0x09, PSPH) CreateByteField (CTPB, 0x0A, CRTT) Store (PSPL, PASL) Store (PSPH, PASH) Store (PASH, PTMP) Store (CRTT, CTTP) WREC (0xC2, PASH) WREC (0xC1, PASL) } Name (\TPOK, 0x00) Name (\DFEC, 0x00) Name (PLCY, 0x01) Name (CTMP, 0x00) Name (TFST, 0x00) Name (EAC0, 0x2D) Name (TMPL, 0x2D) Name (TMPH, 0x46) Name (CFSP, 0x00) Name (PTMP, 0x68) Name (PASH, 0x5A) Name (PASL, 0x5A) Name (CTTP, 0x69) Method (STEV, 1, NotSerialized) { CreateByteField (CTPB, 0x00, TPL0) CreateByteField (CTPB, 0x01, TPH0) CreateByteField (CTPB, 0x02, TPL1) CreateByteField (CTPB, 0x03, TPH1) CreateByteField (CTPB, 0x04, TPL2) CreateByteField (CTPB, 0x05, TPH2) CreateByteField (CTPB, 0x06, TPL3) CreateByteField (CTPB, 0x07, TPH3) CreateByteField (CTPB, 0x08, PSPL) CreateByteField (CTPB, 0x09, PSPH) CreateByteField (CTPB, 0x0A, CRTT) Store (TPL0, EAC0) Store (Arg0, Local0) If (LLess (Local0, TPH0)) { Store (0x00, TMPL) Store (TPH0, TMPH) Store (0x00, CFSP) } Else { If (LAnd (LLess (Local0, TPH1), LGreater (Local0, TPL0))) { Store (TPL0, TMPL) Store (TPH1, TMPH) Store (0x01, CFSP) } Else { If (LAnd (LLess (Local0, TPH2), LGreater (Local0, TPL1))) { Store (TPL1, TMPL) Store (TPH2, TMPH) Store (0x02, CFSP) } Else { If (LAnd (LLess (Local0, TPH3), LGreater (Local0, TPL2))) { Store (TPL2, TMPL) Store (TPH3, TMPH) Store (0x03, CFSP) } Else { Store (TPL3, TMPL) Store (CRTT, TMPH) Store (0x04, CFSP) } } } } WREC (0x9D, TMPL) WREC (0x9E, TMPH) WREC (0xA0, CFSP) } Name (F1ST, 0x00) Scope (\_TZ) { PowerResource (PFA1, 0x00, 0x0000) { Method (_STA, 0, NotSerialized) { Return (F1ST) } Method (_ON, 0, NotSerialized) { Store (0x01, F1ST) } Method (_OFF, 0, NotSerialized) { Store (0x00, F1ST) } } Device (FAN1) { Name (_HID, EisaId ("PNP0C0B")) Name (_UID, 0x02) Name (_PR0, Package (0x01) { \_TZ.PFA1 }) } Name (ETCB, 0x00) ThermalZone (TZCR) { Method (_TMP, 0, Serialized) { If (\_SB.PCI0.LPC0.EC0.ECOK) { If (DFEC) { Store (0x00, DFEC) Return (0x0C80) } Store (RDEC (0x9C), Local0) Store (Local0, CTMP) If (LEqual (TPOK, 0x00)) { Store (RDEC (0x9D), Local1) Store (RDEC (0x9E), Local2) If (LOr (LNotEqual (TMPL, Local1), LNotEqual (TMPH, Local2))) { STEV (Local0) } Else { Store (0x01, TPOK) } } If (LEqual (TFST, 0x00)) { CHGT (CLMT) Store (0x01, TFST) STEV (CTMP) } Else { Store (TMPH, Local1) Store (TMPL, Local2) If (LOr (LLess (Local0, Local2), LGreater (Local0, Local1))) { STEV (CTMP) } Else { Store (RDEC (0x9E), Local0) If (LNotEqual (Local0, TMPH)) { STEV (CTMP) } } } Return (Add (0x0AAC, Multiply (CTMP, 0x0A))) } Else { Return (0x0C80) } } Method (_AC1, 0, NotSerialized) { Store (EAC0, Local0) Add (Local0, 0x0111, Local0) Multiply (Local0, 0x0A, Local0) Return (Local0) } Name (_AL1, Package (0x01) { \_TZ.FAN1 }) Method (_CRT, 0, NotSerialized) { Return (Add (0x0AAC, Multiply (CTTP, 0x0A))) } Method (_SCP, 1, NotSerialized) { Store (Arg0, PLCY) } Name (_PSL, Package (0x01) { \_PR.CPU0 }) Name (_TSP, 0x96) } } }