/* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20160108-64 * Copyright (c) 2000 - 2016 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of dsdt.aml, Fri Feb 10 19:38:35 2017 * * Original Table Header: * Signature "DSDT" * Length 0x000077F7 (30711) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support * Checksum 0x1D * OEM ID "10400" * OEM Table ID "10400000" * OEM Revision 0x00000000 (0) * Compiler ID "INTL" * Compiler Version 0x20051117 (537202967) */ DefinitionBlock ("dsdt.aml", "DSDT", 1, "10400", "10400000", 0x00000000) { Scope (_PR) { Processor (P001, 0x01, 0x00000810, 0x06) {} Alias (P001, CPU1) Processor (P002, 0x02, 0x00000000, 0x00) {} Alias (P002, CPU2) Processor (P003, 0x03, 0x00000000, 0x00) {} Alias (P003, CPU3) Processor (P004, 0x04, 0x00000000, 0x00) {} Alias (P004, CPU4) Processor (P005, 0x05, 0x00000000, 0x00) {} Alias (P005, CPU5) Processor (P006, 0x06, 0x00000000, 0x00) {} Alias (P006, CPU6) Processor (P007, 0x07, 0x00000000, 0x00) {} Alias (P007, CPU7) Processor (P008, 0x08, 0x00000000, 0x00) {} Alias (P008, CPU8) Processor (P009, 0x09, 0x00000000, 0x00) {} Alias (P009, CPU9) Processor (P010, 0x0A, 0x00000000, 0x00) {} Processor (P011, 0x0B, 0x00000000, 0x00) {} Processor (P012, 0x0C, 0x00000000, 0x00) {} Processor (P013, 0x0D, 0x00000000, 0x00) {} Processor (P014, 0x0E, 0x00000000, 0x00) {} Processor (P015, 0x0F, 0x00000000, 0x00) {} Processor (P016, 0x10, 0x00000000, 0x00) {} Processor (P017, 0x11, 0x00000000, 0x00) {} Processor (P018, 0x12, 0x00000000, 0x00) {} Processor (P019, 0x13, 0x00000000, 0x00) {} Processor (P020, 0x14, 0x00000000, 0x00) {} Processor (P021, 0x15, 0x00000000, 0x00) {} Processor (P022, 0x16, 0x00000000, 0x00) {} Processor (P023, 0x17, 0x00000000, 0x00) {} Processor (P024, 0x18, 0x00000000, 0x00) {} Processor (P025, 0x19, 0x00000000, 0x00) {} Processor (P026, 0x1A, 0x00000000, 0x00) {} Processor (P027, 0x1B, 0x00000000, 0x00) {} Processor (P028, 0x1C, 0x00000000, 0x00) {} Processor (P029, 0x1D, 0x00000000, 0x00) {} Processor (P030, 0x1E, 0x00000000, 0x00) {} Processor (P031, 0x1F, 0x00000000, 0x00) {} Processor (P032, 0x20, 0x00000000, 0x00) {} } Name (DP80, 0x80) Name (DP90, 0x90) Name (WKTP, Zero) Name (SPIO, 0x2E) Name (IOHB, 0x0A10) Name (IOHL, 0x10) Name (SMIP, 0xB2) Name (PMBS, 0x0800) Name (PMLN, 0x80) Name (GPBS, 0x0500) Name (GPLN, 0x80) Name (SMBS, Zero) Name (SMBL, Zero) Name (PM30, 0x0830) Name (SUSW, 0xFF) Name (TPBA, 0xFED40000) Name (TPBL, 0x5000) Name (APIC, One) Name (SHPC, Zero) Name (PEPM, One) Name (PEER, One) Name (PECS, One) Name (PCIB, 0xE0000000) Name (PCIL, 0x10000000) Name (SMIT, 0xB2) Name (CMRQ, 0xE0) Name (CMER, 0xE1) Name (CMOR, 0xE3) Name (PEHP, Zero) OperationRegion (BIOS, SystemMemory, 0xBF79E064, 0xFF) Field (BIOS, ByteAcc, NoLock, Preserve) { SS1, 1, SS2, 1, SS3, 1, SS4, 1, Offset (0x01), IOST, 16, TOPM, 32, ROMS, 32, MG1B, 32, MG1L, 32, MG2B, 32, MG2L, 32, Offset (0x1C), DMAX, 8, HPTA, 32, CPB0, 32, CPB1, 32, CPB2, 32, CPB3, 32, ASSB, 8, AOTB, 8, AAXB, 32, SMIF, 8, DTSE, 8, DTS1, 8, DTS2, 8, MPEN, 8, TPMF, 8, MG3B, 32, MG3L, 32, MH1B, 32, MH1L, 32, OSTP, 8, KBEN, 8, B1SE, 8, B1SU, 8, DIOH, 8, VGAR, 8, B0SE, 8, B0SU, 8, AERS, 8, WPIO, 16, B1IB, 16, B1IL, 16, B0IB, 16, B0IL, 16, B1MB, 32, B1ML, 32, BMGB, 32, BMGL, 32, B0MB, 32, B0ML, 32, B1VB, 32, B1VL, 32 } Method (RRIO, 4, NotSerialized) { Debug = "RRIO" } Method (RDMA, 3, NotSerialized) { Debug = "rDMA" } Name (PICM, Zero) Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model { If (Arg0) { DBG8 = 0xAA } Else { DBG8 = 0xAC } PICM = Arg0 } Name (OSVR, Ones) Method (OSFL, 0, NotSerialized) { If ((OSVR != Ones)) { Return (OSVR) /* \OSVR */ } Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler _T_0 = OSYS () If ((_T_0 == One)) { OSVR = 0x03 } ElseIf ((_T_0 == 0x10)) { OSVR = One } ElseIf ((_T_0 == 0x11)) { OSVR = 0x02 } ElseIf ((_T_0 == 0x12)) { OSVR = 0x04 } ElseIf ((_T_0 == 0x13)) { OSVR = Zero } ElseIf ((_T_0 == 0x14)) { OSVR = Zero } ElseIf ((_T_0 == 0x15)) { OSVR = Zero } ElseIf ((_T_0 == 0x16)) { OSVR = Zero } ElseIf ((_T_0 == 0x17)) { OSVR = Zero } ElseIf ((_T_0 == 0x18)) { OSVR = Zero } Return (OSVR) /* \OSVR */ } Method (MCTH, 2, NotSerialized) { If ((SizeOf (Arg0) < SizeOf (Arg1))) { Return (Zero) } Local0 = (SizeOf (Arg0) + One) Name (BUF0, Buffer (Local0) {}) Name (BUF1, Buffer (Local0) {}) BUF0 = Arg0 BUF1 = Arg1 While (Local0) { Local0-- If ((DerefOf (BUF0 [Local0]) != DerefOf (BUF1 [Local0] ))) { Return (Zero) } } Return (One) } Name (PRWP, Package (0x02) { Zero, Zero }) Method (GPRW, 2, NotSerialized) { PRWP [Zero] = Arg0 Local0 = (SS1 << One) Local0 |= (SS2 << 0x02) Local0 |= (SS3 << 0x03) Local0 |= (SS4 << 0x04) If (((One << Arg1) & Local0)) { PRWP [One] = Arg1 } Else { Local0 >>= One If (((OSFL () == One) || (OSFL () == 0x02))) { FindSetLeftBit (Local0, PRWP [One]) } Else { FindSetRightBit (Local0, PRWP [One]) } } Return (PRWP) /* \PRWP */ } Name (WAKP, Package (0x02) { Zero, Zero }) OperationRegion (DEB0, SystemIO, DP80, One) Field (DEB0, ByteAcc, NoLock, Preserve) { DBG8, 8 } OperationRegion (DEB1, SystemIO, DP90, 0x02) Field (DEB1, WordAcc, NoLock, Preserve) { DBG9, 16 } Method (OSYS, 0, NotSerialized) { Local0 = 0x10 If (CondRefOf (_OSI, Local1)) { If (_OSI ("Windows 2000")) { Local0 = 0x12 } If (_OSI ("Windows 2001")) { Local0 = 0x13 } If (_OSI ("Windows 2001 SP1")) { Local0 = 0x13 } If (_OSI ("Windows 2001 SP2")) { Local0 = 0x13 } If (_OSI ("Windows 2001.1")) { Local0 = 0x14 } If (_OSI ("Windows 2001.1 SP1")) { Local0 = 0x14 } If (_OSI ("Windows 2006")) { Local0 = 0x15 } If (_OSI ("Windows 2006 SP1")) { Local0 = 0x16 } If (_OSI ("Windows 2006.1")) { Local0 = 0x17 } If (_OSI ("Windows 2009")) { Local0 = 0x18 } } ElseIf (MCTH (_OS, "Microsoft Windows NT")) { Local0 = 0x12 } ElseIf (MCTH (_OS, "Microsoft WindowsME: Millennium Edition")) { Local0 = 0x11 } Return (Local0) } Scope (_SB) { Name (PR00, Package (0x43) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0002FFFF, One, LNKB, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0005FFFF, One, LNKB, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0006FFFF, One, LNKB, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0007FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0007FFFF, One, LNKB, Zero }, Package (0x04) { 0x0007FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0007FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0008FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0008FFFF, One, LNKB, Zero }, Package (0x04) { 0x0008FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0008FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0009FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0009FFFF, One, LNKB, Zero }, Package (0x04) { 0x0009FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0009FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x000AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x000AFFFF, One, LNKB, Zero }, Package (0x04) { 0x000AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x000AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x000DFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001FFFFF, Zero, LNKC, Zero }, Package (0x04) { 0x001FFFFF, One, LNKD, Zero }, Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero }, Package (0x04) { 0x001DFFFF, One, LNKD, Zero }, Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero }, Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x001AFFFF, One, LNKF, Zero }, Package (0x04) { 0x001AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero }, Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero }, Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero }, Package (0x04) { 0x001CFFFF, One, LNKA, Zero }, Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0012FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero } }) Name (AR00, Package (0x42) { Package (0x04) { 0xFFFF, Zero, Zero, 0x2F }, Package (0x04) { 0xFFFF, One, Zero, 0x2E }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x2E }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x2D }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x1D }, Package (0x04) { 0x0002FFFF, One, Zero, 0x29 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x28 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x2A }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x18 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x22 }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x23 }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x24 }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x19 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x23 }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x24 }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x22 }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x1A }, Package (0x04) { 0x0005FFFF, One, Zero, 0x19 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x1B }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x1D }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x1B }, Package (0x04) { 0x0006FFFF, One, Zero, 0x26 }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x25 }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x27 }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x1E }, Package (0x04) { 0x0007FFFF, One, Zero, 0x25 }, Package (0x04) { 0x0007FFFF, 0x02, Zero, 0x27 }, Package (0x04) { 0x0007FFFF, 0x03, Zero, 0x26 }, Package (0x04) { 0x0008FFFF, Zero, Zero, 0x1F }, Package (0x04) { 0x0008FFFF, One, Zero, 0x27 }, Package (0x04) { 0x0008FFFF, 0x02, Zero, 0x26 }, Package (0x04) { 0x0008FFFF, 0x03, Zero, 0x25 }, Package (0x04) { 0x0009FFFF, Zero, Zero, 0x20 }, Package (0x04) { 0x0009FFFF, One, Zero, 0x2A }, Package (0x04) { 0x0009FFFF, 0x02, Zero, 0x2F }, Package (0x04) { 0x0009FFFF, 0x03, Zero, 0x29 }, Package (0x04) { 0x000AFFFF, Zero, Zero, 0x21 }, Package (0x04) { 0x000AFFFF, One, Zero, 0x1F }, Package (0x04) { 0x000AFFFF, 0x02, Zero, 0x2E }, Package (0x04) { 0x000AFFFF, 0x03, Zero, 0x2D }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x2B }, Package (0x04) { 0x0016FFFF, One, Zero, 0x2C }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x2D }, Package (0x04) { 0x0016FFFF, 0x03, Zero, 0x2E }, Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0x001FFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 }, Package (0x04) { 0x001DFFFF, One, Zero, 0x13 }, Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0x001AFFFF, One, Zero, 0x15 }, Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 }, Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 }, Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0x001CFFFF, One, Zero, 0x10 }, Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 }, Package (0x04) { 0x0012FFFF, Zero, Zero, 0x1A }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x1C }, Package (0x04) { 0x0001FFFF, One, Zero, 0x28 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x29 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x2F } }) Name (PR11, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR11, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x1C }, Package (0x04) { 0xFFFF, One, Zero, 0x28 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x29 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x2F } }) Name (PR12, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR12, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x1D }, Package (0x04) { 0xFFFF, One, Zero, 0x29 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x28 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x2A } }) Name (PR13, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR13, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x18 }, Package (0x04) { 0xFFFF, One, Zero, 0x22 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x23 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x24 } }) Name (PR14, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR14, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x19 }, Package (0x04) { 0xFFFF, One, Zero, 0x23 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x24 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x22 } }) Name (PR15, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR15, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x1A }, Package (0x04) { 0xFFFF, One, Zero, 0x19 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x1B }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x1D } }) Name (PR16, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR16, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x1B }, Package (0x04) { 0xFFFF, One, Zero, 0x26 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x25 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x27 } }) Name (PR17, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR17, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x1E }, Package (0x04) { 0xFFFF, One, Zero, 0x25 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x27 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x26 } }) Name (PR18, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR18, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x1F }, Package (0x04) { 0xFFFF, One, Zero, 0x27 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x26 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x25 } }) Name (PR19, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR19, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x20 }, Package (0x04) { 0xFFFF, One, Zero, 0x2A }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x2F }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x29 } }) Name (PR1A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR1A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x21 }, Package (0x04) { 0xFFFF, One, Zero, 0x1F }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x2E }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x2D } }) Name (PR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR04, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR05, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKC, Zero }, Package (0x04) { 0xFFFF, One, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKB, Zero } }) Name (AR06, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x12 }, Package (0x04) { 0xFFFF, One, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 } }) Name (PR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (AR07, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Name (PR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR08, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x10 }, Package (0x04) { 0xFFFF, One, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 } }) Name (PR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKB, Zero }, Package (0x04) { 0xFFFF, One, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKD, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKA, Zero } }) Name (AR09, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x11 }, Package (0x04) { 0xFFFF, One, Zero, 0x12 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 } }) Name (PR50, Package (0x31) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0001FFFF, One, LNKB, Zero }, Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0002FFFF, One, LNKB, Zero }, Package (0x04) { 0x0002FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0002FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0003FFFF, One, LNKB, Zero }, Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0003FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0004FFFF, One, LNKB, Zero }, Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0005FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0005FFFF, One, LNKB, Zero }, Package (0x04) { 0x0005FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0005FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0006FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0006FFFF, One, LNKB, Zero }, Package (0x04) { 0x0006FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0006FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0007FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0007FFFF, One, LNKB, Zero }, Package (0x04) { 0x0007FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0007FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0008FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0008FFFF, One, LNKB, Zero }, Package (0x04) { 0x0008FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0008FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x0009FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0009FFFF, One, LNKB, Zero }, Package (0x04) { 0x0009FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0009FFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x000AFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x000AFFFF, One, LNKB, Zero }, Package (0x04) { 0x000AFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x000AFFFF, 0x03, LNKD, Zero }, Package (0x04) { 0x000DFFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero }, Package (0x04) { 0x0016FFFF, One, LNKB, Zero }, Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero }, Package (0x04) { 0x0016FFFF, 0x03, LNKD, Zero } }) Name (AR50, Package (0x30) { Package (0x04) { 0xFFFF, Zero, Zero, 0x47 }, Package (0x04) { 0xFFFF, One, Zero, 0x46 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x46 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x45 }, Package (0x04) { 0x0001FFFF, Zero, Zero, 0x34 }, Package (0x04) { 0x0001FFFF, One, Zero, 0x40 }, Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x41 }, Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x47 }, Package (0x04) { 0x0002FFFF, Zero, Zero, 0x35 }, Package (0x04) { 0x0002FFFF, One, Zero, 0x41 }, Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x40 }, Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x42 }, Package (0x04) { 0x0003FFFF, Zero, Zero, 0x30 }, Package (0x04) { 0x0003FFFF, One, Zero, 0x3A }, Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x3B }, Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x3C }, Package (0x04) { 0x0004FFFF, Zero, Zero, 0x31 }, Package (0x04) { 0x0004FFFF, One, Zero, 0x3B }, Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x3C }, Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x3A }, Package (0x04) { 0x0005FFFF, Zero, Zero, 0x32 }, Package (0x04) { 0x0005FFFF, One, Zero, 0x31 }, Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x33 }, Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x35 }, Package (0x04) { 0x0006FFFF, Zero, Zero, 0x33 }, Package (0x04) { 0x0006FFFF, One, Zero, 0x3E }, Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x3D }, Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x3F }, Package (0x04) { 0x0007FFFF, Zero, Zero, 0x36 }, Package (0x04) { 0x0007FFFF, One, Zero, 0x3D }, Package (0x04) { 0x0007FFFF, 0x02, Zero, 0x3F }, Package (0x04) { 0x0007FFFF, 0x03, Zero, 0x3E }, Package (0x04) { 0x0008FFFF, Zero, Zero, 0x37 }, Package (0x04) { 0x0008FFFF, One, Zero, 0x3F }, Package (0x04) { 0x0008FFFF, 0x02, Zero, 0x3E }, Package (0x04) { 0x0008FFFF, 0x03, Zero, 0x3D }, Package (0x04) { 0x0009FFFF, Zero, Zero, 0x38 }, Package (0x04) { 0x0009FFFF, One, Zero, 0x42 }, Package (0x04) { 0x0009FFFF, 0x02, Zero, 0x47 }, Package (0x04) { 0x0009FFFF, 0x03, Zero, 0x41 }, Package (0x04) { 0x000AFFFF, Zero, Zero, 0x39 }, Package (0x04) { 0x000AFFFF, One, Zero, 0x37 }, Package (0x04) { 0x000AFFFF, 0x02, Zero, 0x46 }, Package (0x04) { 0x000AFFFF, 0x03, Zero, 0x45 }, Package (0x04) { 0x0016FFFF, Zero, Zero, 0x43 }, Package (0x04) { 0x0016FFFF, One, Zero, 0x44 }, Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x45 }, Package (0x04) { 0x0016FFFF, 0x03, Zero, 0x46 } }) Name (PR61, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR61, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x34 }, Package (0x04) { 0xFFFF, One, Zero, 0x40 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x41 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x47 } }) Name (PR62, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR62, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x35 }, Package (0x04) { 0xFFFF, One, Zero, 0x41 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x40 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x42 } }) Name (PR63, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR63, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x30 }, Package (0x04) { 0xFFFF, One, Zero, 0x3A }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x3B }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x3C } }) Name (PR64, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR64, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x31 }, Package (0x04) { 0xFFFF, One, Zero, 0x3B }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x3C }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x3A } }) Name (PR65, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR65, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x32 }, Package (0x04) { 0xFFFF, One, Zero, 0x31 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x33 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x35 } }) Name (PR66, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR66, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x33 }, Package (0x04) { 0xFFFF, One, Zero, 0x3E }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x3D }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x3F } }) Name (PR67, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR67, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x36 }, Package (0x04) { 0xFFFF, One, Zero, 0x3D }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x3F }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x3E } }) Name (PR68, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR68, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x37 }, Package (0x04) { 0xFFFF, One, Zero, 0x3F }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x3E }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x3D } }) Name (PR69, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR69, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x38 }, Package (0x04) { 0xFFFF, One, Zero, 0x42 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x47 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x41 } }) Name (PR6A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKA, Zero }, Package (0x04) { 0xFFFF, One, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKC, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKD, Zero } }) Name (AR6A, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x39 }, Package (0x04) { 0xFFFF, One, Zero, 0x37 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x46 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x45 } }) Name (PR01, Package (0x01) { Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero } }) Name (AR01, Package (0x01) { Package (0x04) { 0x0004FFFF, Zero, Zero, 0x10 } }) Name (PRSA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {3,4,6,7,10,11,12,14,15} }) Alias (PRSA, PRSB) Alias (PRSA, PRSC) Alias (PRSA, PRSD) Alias (PRSA, PRSE) Alias (PRSA, PRSF) Alias (PRSA, PRSG) Alias (PRSA, PRSH) Device (PCI0) { Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID Name (_ADR, Zero) // _ADR: Address Method (^BN00, 0, NotSerialized) { Return (Zero) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN00 ()) } Name (_UID, Zero) // _UID: Unique ID Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR00) /* \_SB_.AR00 */ } Return (PR00) /* \_SB_.PR00 */ } Device (IOH) { Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID Name (_UID, 0x0A) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) }) } Method (NPTS, 1, NotSerialized) { SPME (Zero) } Method (NWAK, 1, NotSerialized) { CPME (Zero) } Device (NPE2) { Name (_ADR, 0x00020000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR12) /* \_SB_.AR12 */ } Return (PR12) /* \_SB_.PR12 */ } } Device (NPE3) { Name (_ADR, 0x00030000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR13) /* \_SB_.AR13 */ } Return (PR13) /* \_SB_.PR13 */ } } Device (NPE4) { Name (_ADR, 0x00040000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR14) /* \_SB_.AR14 */ } Return (PR14) /* \_SB_.PR14 */ } } Device (NPE5) { Name (_ADR, 0x00050000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR15) /* \_SB_.AR15 */ } Return (PR15) /* \_SB_.PR15 */ } } Device (NPE6) { Name (_ADR, 0x00060000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR16) /* \_SB_.AR16 */ } Return (PR16) /* \_SB_.PR16 */ } } Device (NPE7) { Name (_ADR, 0x00070000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR17) /* \_SB_.AR17 */ } Return (PR17) /* \_SB_.PR17 */ } } Device (NPE8) { Name (_ADR, 0x00080000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR18) /* \_SB_.AR18 */ } Return (PR18) /* \_SB_.PR18 */ } } Device (NPE9) { Name (_ADR, 0x00090000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR19) /* \_SB_.AR19 */ } Return (PR19) /* \_SB_.PR19 */ } } Device (NPEA) { Name (_ADR, 0x000A0000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR1A) /* \_SB_.AR1A */ } Return (PR1A) /* \_SB_.PR1A */ } } Device (P0P1) { Name (_ADR, 0x001E0000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0B, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR01) /* \_SB_.AR01 */ } Return (PR01) /* \_SB_.PR01 */ } } Device (SATA) { Name (_ADR, 0x001F0002) // _ADR: Address Name (^NATA, Package (0x01) { 0x001F0002 }) Name (\FZTF, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF5 /* ....... */ }) Name (REGF, One) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x02)) { REGF = Arg1 } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Local1 = (PSCR << One) Local0 = (PMCR | Local1) Local3 = (PMAE << 0x02) Local4 = (PM6E << One) Local3 |= Local4 Local1 = (PM3E | Local3) Local3 = (PMPT << 0x04) Local1 |= Local3 Local3 = (PSAE << 0x02) Local4 = (PS6E << One) Local3 |= Local4 Local2 = (PS3E | Local3) Local3 = (PSPT << 0x04) Local2 |= Local3 Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { Debug = Arg0 TMD0 = Arg0 Local3 = (PMAE << 0x02) Local4 = (PM6E << One) Local3 |= Local4 Local0 = (PM3E | Local3) Local3 = (PMPT << 0x04) Local0 |= Local3 Local3 = (PSAE << 0x02) Local4 = (PS6E << One) Local3 |= Local4 Local1 = (PS3E | Local3) Local3 = (PSPT << 0x04) Local1 |= Local3 GMPT = PMRI /* \_SB_.PCI0.SATA.PMRI */ GMUE = Local0 GMUT = PMUT /* \_SB_.PCI0.SATA.PMUT */ GMCR = PMCR /* \_SB_.PCI0.SATA.PMCR */ GSPT = PSRI /* \_SB_.PCI0.SATA.PSRI */ GSUE = Local1 GSUT = PSUT /* \_SB_.PCI0.SATA.PSUT */ GSCR = PSCR /* \_SB_.PCI0.SATA.PSCR */ STM () PMRI = GMPT /* \_SB_.PCI0.SATA.GMPT */ Local0 = GMUE /* \_SB_.PCI0.SATA.GMUE */ PMUT = GMUT /* \_SB_.PCI0.SATA.GMUT */ PMCR = GMCR /* \_SB_.PCI0.SATA.GMCR */ Local1 = GSUE /* \_SB_.PCI0.SATA.GSUE */ PSUT = GSUT /* \_SB_.PCI0.SATA.GSUT */ PSCR = GSCR /* \_SB_.PCI0.SATA.GSCR */ If ((Local0 & One)) { PM3E = One } Else { PM3E = Zero } If ((Local0 & 0x02)) { PM6E = One } Else { PM6E = Zero } If ((Local0 & 0x04)) { PMAE = One } Else { PMAE = Zero } If ((Local1 & One)) { PS3E = One } Else { PS3E = Zero } If ((Local1 & 0x02)) { PS6E = One } Else { PS6E = Zero } If ((Local1 & 0x04)) { PSAE = One } Else { PSAE = Zero } ATA0 = GTF (Zero, Arg1) ATA1 = GTF (One, Arg2) } Device (DRV0) { Name (_ADR, Zero) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Local1 = (SSCR << One) Local0 = (SMCR | Local1) Local3 = (SMAE << 0x02) Local4 = (SM6E << One) Local3 |= Local4 Local1 = (SM3E | Local3) Local3 = (SMPT << 0x04) Local1 |= Local3 Local3 = (SSAE << 0x02) Local4 = (SS6E << One) Local3 |= Local4 Local2 = (SS3E | Local3) Local3 = (SSPT << 0x04) Local2 |= Local3 Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { Debug = Arg0 TMD0 = Arg0 Local3 = (SMAE << 0x02) Local4 = (SM6E << One) Local3 |= Local4 Local0 = (SM3E | Local3) Local3 = (SMPT << 0x04) Local0 |= Local3 Local3 = (SSAE << 0x02) Local4 = (SS6E << One) Local3 |= Local4 Local1 = (SS3E | Local3) Local3 = (SSPT << 0x04) Local1 |= Local3 GMPT = SMRI /* \_SB_.PCI0.SATA.SMRI */ GMUE = Local0 GMUT = SMUT /* \_SB_.PCI0.SATA.SMUT */ GMCR = SMCR /* \_SB_.PCI0.SATA.SMCR */ GSPT = SSRI /* \_SB_.PCI0.SATA.SSRI */ GSUE = Local1 GSUT = SSUT /* \_SB_.PCI0.SATA.SSUT */ GSCR = SSCR /* \_SB_.PCI0.SATA.SSCR */ STM () SMRI = GMPT /* \_SB_.PCI0.SATA.GMPT */ Local0 = GMUE /* \_SB_.PCI0.SATA.GMUE */ SMUT = GMUT /* \_SB_.PCI0.SATA.GMUT */ SMCR = GMCR /* \_SB_.PCI0.SATA.GMCR */ Local1 = GSUE /* \_SB_.PCI0.SATA.GSUE */ SSUT = GSUT /* \_SB_.PCI0.SATA.GSUT */ SSCR = GSCR /* \_SB_.PCI0.SATA.GSCR */ If ((Local0 & One)) { SM3E = One } Else { SM3E = Zero } If ((Local0 & 0x02)) { SM6E = One } Else { SM6E = Zero } If ((Local0 & 0x04)) { SMAE = One } Else { SMAE = Zero } If ((Local1 & One)) { SS3E = One } Else { SS3E = Zero } If ((Local1 & 0x02)) { SS6E = One } Else { SS6E = Zero } If ((Local1 & 0x04)) { SSAE = One } Else { SSAE = Zero } ATA2 = GTF (Zero, Arg1) ATA3 = GTF (One, Arg2) } Device (DRV0) { Name (_ADR, Zero) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { PIO0 = Ones PIO1 = Ones DMA0 = Ones DMA1 = Ones CHNF = 0x10 If (REGF) {} Else { Return (TMD0) /* \_SB_.PCI0.SATA.TMD0 */ } If ((Arg1 & 0x20)) { CHNF |= 0x02 } Local6 = Match (DerefOf (TIM0 [One]), MEQ, Arg0, MTR, Zero, Zero) Local7 = DerefOf (DerefOf (TIM0 [Zero]) [Local6]) DMA0 = Local7 PIO0 = Local7 If ((Arg4 & 0x20)) { CHNF |= 0x08 } Local6 = Match (DerefOf (TIM0 [0x02]), MEQ, Arg3, MTR, Zero, Zero) Local7 = DerefOf (DerefOf (TIM0 [Zero]) [Local6]) DMA1 = Local7 PIO1 = Local7 If ((Arg1 & 0x07)) { Local5 = Arg2 If ((Arg1 & 0x02)) { Local5 += 0x02 } If ((Arg1 & 0x04)) { Local5 += 0x04 } DMA0 = DerefOf (DerefOf (TIM0 [0x03]) [Local5]) CHNF |= One } If ((Arg4 & 0x07)) { Local5 = Arg5 If ((Arg4 & 0x02)) { Local5 += 0x02 } If ((Arg4 & 0x04)) { Local5 += 0x04 } DMA1 = DerefOf (DerefOf (TIM0 [0x03]) [Local5]) CHNF |= 0x04 } Debug = TMD0 /* \_SB_.PCI0.SATA.TMD0 */ Return (TMD0) /* \_SB_.PCI0.SATA.TMD0 */ } Method (STM, 0, Serialized) { If (REGF) { GMUE = Zero GMUT = Zero GSUE = Zero GSUT = Zero If ((CHNF & One)) { Local0 = Match (DerefOf (TIM0 [0x03]), MLE, DMA0, MTR, Zero, Zero) If ((Local0 > 0x05)) { Local0 = 0x05 } GMUT = DerefOf (DerefOf (TIM0 [0x04]) [Local0]) GMUE |= One If ((Local0 > 0x02)) { GMUE |= 0x02 } If ((Local0 > 0x04)) { GMUE &= 0xFD GMUE |= 0x04 } } ElseIf (((PIO0 == Ones) | (PIO0 == Zero))) { If (((DMA0 < Ones) & (DMA0 > Zero))) { PIO0 = DMA0 /* \_SB_.PCI0.SATA.DMA0 */ GMUE |= 0x80 } } If ((CHNF & 0x04)) { Local0 = Match (DerefOf (TIM0 [0x03]), MLE, DMA1, MTR, Zero, Zero) If ((Local0 > 0x05)) { Local0 = 0x05 } GSUT = DerefOf (DerefOf (TIM0 [0x04]) [Local0]) GSUE |= One If ((Local0 > 0x02)) { GSUE |= 0x02 } If ((Local0 > 0x04)) { GSUE &= 0xFD GSUE |= 0x04 } } ElseIf (((PIO1 == Ones) | (PIO1 == Zero))) { If (((DMA1 < Ones) & (DMA1 > Zero))) { PIO1 = DMA1 /* \_SB_.PCI0.SATA.DMA1 */ GSUE |= 0x80 } } If ((CHNF & 0x02)) { GMUE |= 0x20 } If ((CHNF & 0x08)) { GSUE |= 0x20 } Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIO0, MTR, Zero, Zero) & 0x07) Local1 = DerefOf (DerefOf (TIM0 [One]) [Local0]) GMPT = Local1 If ((Local0 < 0x03)) { GMUE |= 0x50 } Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIO1, MTR, Zero, Zero) & 0x07) Local1 = DerefOf (DerefOf (TIM0 [0x02]) [Local0]) GSPT = Local1 If ((Local0 < 0x03)) { GSUE |= 0x50 } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF /* ....... */ }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 /* ....... */ }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 /* ....... */ }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 /* ....... */ }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Local0 = (CMDC * 0x38) Local1 = (Local0 + 0x08) CreateField (ATAB, Local1, 0x38, CMDX) Local0 = (CMDC * 0x07) CreateByteField (ATAB, (Local0 + 0x02), A001) CreateByteField (ATAB, (Local0 + 0x06), A005) CMDX = Arg0 A001 = Arg1 A005 = Arg2 CMDC++ } Method (GTF, 2, Serialized) { Debug = Arg1 CMDC = Zero Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If ((SizeOf (Arg1) == 0x0200)) { CreateWordField (Arg1, 0x62, IW49) ID49 = IW49 /* \_SB_.PCI0.SATA.GTF_.IW49 */ CreateWordField (Arg1, 0x6A, IW53) ID53 = IW53 /* \_SB_.PCI0.SATA.GTF_.IW53 */ CreateWordField (Arg1, 0x7E, IW63) ID63 = IW63 /* \_SB_.PCI0.SATA.GTF_.IW63 */ CreateWordField (Arg1, 0x76, IW59) ID59 = IW59 /* \_SB_.PCI0.SATA.GTF_.IW59 */ CreateWordField (Arg1, 0xB0, IW88) ID88 = IW88 /* \_SB_.PCI0.SATA.GTF_.IW88 */ } Local7 = 0xA0 If (Arg0) { Local7 = 0xB0 IRDY = (CHNF & 0x08) If ((CHNF & 0x10)) { PIOT = PIO1 /* \_SB_.PCI0.SATA.PIO1 */ } Else { PIOT = PIO0 /* \_SB_.PCI0.SATA.PIO0 */ } If ((CHNF & 0x04)) { If ((CHNF & 0x10)) { DMAT = DMA1 /* \_SB_.PCI0.SATA.DMA1 */ } Else { DMAT = DMA0 /* \_SB_.PCI0.SATA.DMA0 */ } } } Else { IRDY = (CHNF & 0x02) PIOT = PIO0 /* \_SB_.PCI0.SATA.PIO0 */ If ((CHNF & One)) { DMAT = DMA0 /* \_SB_.PCI0.SATA.DMA0 */ } } If ((((ID53 & 0x04) && (ID88 & 0xFF00)) && DMAT)) { Local1 = Match (DerefOf (TIM0 [0x03]), MLE, DMAT, MTR, Zero, Zero) If ((Local1 > 0x05)) { Local1 = 0x05 } GTFB (AT01, (0x40 | Local1), Local7) } ElseIf (((ID63 & 0xFF00) && PIOT)) { Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIOT, MTR, Zero, Zero) & 0x03) Local1 = (0x20 | DerefOf (DerefOf (TIM0 [0x07]) [Local0])) GTFB (AT01, Local1, Local7) } If (IRDY) { Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIOT, MTR, Zero, Zero) & 0x07) Local1 = (0x08 | DerefOf (DerefOf (TIM0 [0x06]) [Local0])) GTFB (AT01, Local1, Local7) } ElseIf ((ID49 & 0x0400)) { GTFB (AT01, One, Local7) } If (((ID59 & 0x0100) && (ID59 & 0xFF))) { GTFB (AT03, (ID59 & 0xFF), Local7) } Debug = ATAB /* \_SB_.PCI0.SATA.ATAB */ Return (ATAB) /* \_SB_.PCI0.SATA.ATAB */ } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Local0 = (CMDN * 0x38) CreateField (Arg0, 0x08, Local0, RETB) Debug = RETB /* \_SB_.PCI0.SATA.RATA.RETB */ Return (Concatenate (RETB, FZTF)) } } Device (SAT1) { Name (_ADR, 0x001F0005) // _ADR: Address Name (REGF, One) Method (_REG, 2, NotSerialized) // _REG: Region Availability { If ((Arg0 == 0x02)) { REGF = Arg1 } } Name (TIM0, Package (0x08) { Package (0x04) { 0x78, 0xB4, 0xF0, 0x0384 }, Package (0x04) { 0x23, 0x21, 0x10, Zero }, Package (0x04) { 0x0B, 0x09, 0x04, Zero }, Package (0x06) { 0x78, 0x5A, 0x3C, 0x28, 0x1E, 0x14 }, Package (0x06) { Zero, One, 0x02, One, 0x02, One }, Package (0x06) { Zero, Zero, Zero, One, One, One }, Package (0x04) { 0x04, 0x03, 0x02, Zero }, Package (0x04) { 0x02, One, Zero, Zero } }) Name (TMD0, Buffer (0x14) {}) CreateDWordField (TMD0, Zero, PIO0) CreateDWordField (TMD0, 0x04, DMA0) CreateDWordField (TMD0, 0x08, PIO1) CreateDWordField (TMD0, 0x0C, DMA1) CreateDWordField (TMD0, 0x10, CHNF) OperationRegion (CFG2, PCI_Config, 0x40, 0x20) Field (CFG2, DWordAcc, NoLock, Preserve) { PMPT, 4, PSPT, 4, PMRI, 6, Offset (0x02), SMPT, 4, SSPT, 4, SMRI, 6, Offset (0x04), PSRI, 4, SSRI, 4, Offset (0x08), PM3E, 1, PS3E, 1, SM3E, 1, SS3E, 1, Offset (0x0A), PMUT, 2, , 2, PSUT, 2, Offset (0x0B), SMUT, 2, , 2, SSUT, 2, Offset (0x0C), Offset (0x14), PM6E, 1, PS6E, 1, SM6E, 1, SS6E, 1, PMCR, 1, PSCR, 1, SMCR, 1, SSCR, 1, , 4, PMAE, 1, PSAE, 1, SMAE, 1, SSAE, 1 } Name (GMPT, Zero) Name (GMUE, Zero) Name (GMUT, Zero) Name (GMCR, Zero) Name (GSPT, Zero) Name (GSUE, Zero) Name (GSUT, Zero) Name (GSCR, Zero) Device (CHN0) { Name (_ADR, Zero) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Local1 = (PSCR << One) Local0 = (PMCR | Local1) Local3 = (PMAE << 0x02) Local4 = (PM6E << One) Local3 |= Local4 Local1 = (PM3E | Local3) Local3 = (PMPT << 0x04) Local1 |= Local3 Local3 = (PSAE << 0x02) Local4 = (PS6E << One) Local3 |= Local4 Local2 = (PS3E | Local3) Local3 = (PSPT << 0x04) Local2 |= Local3 Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0)) } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { Debug = Arg0 TMD0 = Arg0 Local3 = (PMAE << 0x02) Local4 = (PM6E << One) Local3 |= Local4 Local0 = (PM3E | Local3) Local3 = (PMPT << 0x04) Local0 |= Local3 Local3 = (PSAE << 0x02) Local4 = (PS6E << One) Local3 |= Local4 Local1 = (PS3E | Local3) Local3 = (PSPT << 0x04) Local1 |= Local3 GMPT = PMRI /* \_SB_.PCI0.SAT1.PMRI */ GMUE = Local0 GMUT = PMUT /* \_SB_.PCI0.SAT1.PMUT */ GMCR = PMCR /* \_SB_.PCI0.SAT1.PMCR */ GSPT = PSRI /* \_SB_.PCI0.SAT1.PSRI */ GSUE = Local1 GSUT = PSUT /* \_SB_.PCI0.SAT1.PSUT */ GSCR = PSCR /* \_SB_.PCI0.SAT1.PSCR */ STM () PMRI = GMPT /* \_SB_.PCI0.SAT1.GMPT */ Local0 = GMUE /* \_SB_.PCI0.SAT1.GMUE */ PMUT = GMUT /* \_SB_.PCI0.SAT1.GMUT */ PMCR = GMCR /* \_SB_.PCI0.SAT1.GMCR */ Local1 = GSUE /* \_SB_.PCI0.SAT1.GSUE */ PSUT = GSUT /* \_SB_.PCI0.SAT1.GSUT */ PSCR = GSCR /* \_SB_.PCI0.SAT1.GSCR */ If ((Local0 & One)) { PM3E = One } Else { PM3E = Zero } If ((Local0 & 0x02)) { PM6E = One } Else { PM6E = Zero } If ((Local0 & 0x04)) { PMAE = One } Else { PMAE = Zero } If ((Local1 & One)) { PS3E = One } Else { PS3E = Zero } If ((Local1 & 0x02)) { PS6E = One } Else { PS6E = Zero } If ((Local1 & 0x04)) { PSAE = One } Else { PSAE = Zero } ATA0 = GTF (Zero, Arg1) ATA1 = GTF (One, Arg2) } Device (DRV0) { Name (_ADR, Zero) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA0)) } } Device (DRV1) { Name (_ADR, One) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA1)) } } } Device (CHN1) { Name (_ADR, One) // _ADR: Address Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode { Local1 = (SSCR << One) Local0 = (SMCR | Local1) Local3 = (SMAE << 0x02) Local4 = (SM6E << One) Local3 |= Local4 Local1 = (SM3E | Local3) Local3 = (SMPT << 0x04) Local1 |= Local3 Local3 = (SSAE << 0x02) Local4 = (SS6E << One) Local3 |= Local4 Local2 = (SS3E | Local3) Local3 = (SSPT << 0x04) Local2 |= Local3 Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0)) } Method (_STM, 3, NotSerialized) // _STM: Set Timing Mode { Debug = Arg0 TMD0 = Arg0 Local3 = (SMAE << 0x02) Local4 = (SM6E << One) Local3 |= Local4 Local0 = (SM3E | Local3) Local3 = (SMPT << 0x04) Local0 |= Local3 Local3 = (SSAE << 0x02) Local4 = (SS6E << One) Local3 |= Local4 Local1 = (SS3E | Local3) Local3 = (SSPT << 0x04) Local1 |= Local3 GMPT = SMRI /* \_SB_.PCI0.SAT1.SMRI */ GMUE = Local0 GMUT = SMUT /* \_SB_.PCI0.SAT1.SMUT */ GMCR = SMCR /* \_SB_.PCI0.SAT1.SMCR */ GSPT = SSRI /* \_SB_.PCI0.SAT1.SSRI */ GSUE = Local1 GSUT = SSUT /* \_SB_.PCI0.SAT1.SSUT */ GSCR = SSCR /* \_SB_.PCI0.SAT1.SSCR */ STM () SMRI = GMPT /* \_SB_.PCI0.SAT1.GMPT */ Local0 = GMUE /* \_SB_.PCI0.SAT1.GMUE */ SMUT = GMUT /* \_SB_.PCI0.SAT1.GMUT */ SMCR = GMCR /* \_SB_.PCI0.SAT1.GMCR */ Local1 = GSUE /* \_SB_.PCI0.SAT1.GSUE */ SSUT = GSUT /* \_SB_.PCI0.SAT1.GSUT */ SSCR = GSCR /* \_SB_.PCI0.SAT1.GSCR */ If ((Local0 & One)) { SM3E = One } Else { SM3E = Zero } If ((Local0 & 0x02)) { SM6E = One } Else { SM6E = Zero } If ((Local0 & 0x04)) { SMAE = One } Else { SMAE = Zero } If ((Local1 & One)) { SS3E = One } Else { SS3E = Zero } If ((Local1 & 0x02)) { SS6E = One } Else { SS6E = Zero } If ((Local1 & 0x04)) { SSAE = One } Else { SSAE = Zero } ATA2 = GTF (Zero, Arg1) ATA3 = GTF (One, Arg2) } Device (DRV0) { Name (_ADR, Zero) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA2)) } } Device (DRV1) { Name (_ADR, One) // _ADR: Address Method (_GTF, 0, NotSerialized) // _GTF: Get Task File { Return (RATA (ATA3)) } } } Method (GTM, 7, Serialized) { PIO0 = Ones PIO1 = Ones DMA0 = Ones DMA1 = Ones CHNF = 0x10 If (REGF) {} Else { Return (TMD0) /* \_SB_.PCI0.SAT1.TMD0 */ } If ((Arg1 & 0x20)) { CHNF |= 0x02 } Local6 = Match (DerefOf (TIM0 [One]), MEQ, Arg0, MTR, Zero, Zero) Local7 = DerefOf (DerefOf (TIM0 [Zero]) [Local6]) DMA0 = Local7 PIO0 = Local7 If ((Arg4 & 0x20)) { CHNF |= 0x08 } Local6 = Match (DerefOf (TIM0 [0x02]), MEQ, Arg3, MTR, Zero, Zero) Local7 = DerefOf (DerefOf (TIM0 [Zero]) [Local6]) DMA1 = Local7 PIO1 = Local7 If ((Arg1 & 0x07)) { Local5 = Arg2 If ((Arg1 & 0x02)) { Local5 += 0x02 } If ((Arg1 & 0x04)) { Local5 += 0x04 } DMA0 = DerefOf (DerefOf (TIM0 [0x03]) [Local5]) CHNF |= One } If ((Arg4 & 0x07)) { Local5 = Arg5 If ((Arg4 & 0x02)) { Local5 += 0x02 } If ((Arg4 & 0x04)) { Local5 += 0x04 } DMA1 = DerefOf (DerefOf (TIM0 [0x03]) [Local5]) CHNF |= 0x04 } Debug = TMD0 /* \_SB_.PCI0.SAT1.TMD0 */ Return (TMD0) /* \_SB_.PCI0.SAT1.TMD0 */ } Method (STM, 0, Serialized) { If (REGF) { GMUE = Zero GMUT = Zero GSUE = Zero GSUT = Zero If ((CHNF & One)) { Local0 = Match (DerefOf (TIM0 [0x03]), MLE, DMA0, MTR, Zero, Zero) If ((Local0 > 0x05)) { Local0 = 0x05 } GMUT = DerefOf (DerefOf (TIM0 [0x04]) [Local0]) GMUE |= One If ((Local0 > 0x02)) { GMUE |= 0x02 } If ((Local0 > 0x04)) { GMUE &= 0xFD GMUE |= 0x04 } } ElseIf (((PIO0 == Ones) | (PIO0 == Zero))) { If (((DMA0 < Ones) & (DMA0 > Zero))) { PIO0 = DMA0 /* \_SB_.PCI0.SAT1.DMA0 */ GMUE |= 0x80 } } If ((CHNF & 0x04)) { Local0 = Match (DerefOf (TIM0 [0x03]), MLE, DMA1, MTR, Zero, Zero) If ((Local0 > 0x05)) { Local0 = 0x05 } GSUT = DerefOf (DerefOf (TIM0 [0x04]) [Local0]) GSUE |= One If ((Local0 > 0x02)) { GSUE |= 0x02 } If ((Local0 > 0x04)) { GSUE &= 0xFD GSUE |= 0x04 } } ElseIf (((PIO1 == Ones) | (PIO1 == Zero))) { If (((DMA1 < Ones) & (DMA1 > Zero))) { PIO1 = DMA1 /* \_SB_.PCI0.SAT1.DMA1 */ GSUE |= 0x80 } } If ((CHNF & 0x02)) { GMUE |= 0x20 } If ((CHNF & 0x08)) { GSUE |= 0x20 } Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIO0, MTR, Zero, Zero) & 0x07) Local1 = DerefOf (DerefOf (TIM0 [One]) [Local0]) GMPT = Local1 If ((Local0 < 0x03)) { GMUE |= 0x50 } Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIO1, MTR, Zero, Zero) & 0x07) Local1 = DerefOf (DerefOf (TIM0 [0x02]) [Local0]) GSPT = Local1 If ((Local0 < 0x03)) { GSUE |= 0x50 } } } Name (AT01, Buffer (0x07) { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF /* ....... */ }) Name (AT02, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90 /* ....... */ }) Name (AT03, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6 /* ....... */ }) Name (AT04, Buffer (0x07) { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91 /* ....... */ }) Name (ATA0, Buffer (0x1D) {}) Name (ATA1, Buffer (0x1D) {}) Name (ATA2, Buffer (0x1D) {}) Name (ATA3, Buffer (0x1D) {}) Name (ATAB, Buffer (0x1D) {}) CreateByteField (ATAB, Zero, CMDC) Method (GTFB, 3, Serialized) { Local0 = (CMDC * 0x38) Local1 = (Local0 + 0x08) CreateField (ATAB, Local1, 0x38, CMDX) Local0 = (CMDC * 0x07) CreateByteField (ATAB, (Local0 + 0x02), A001) CreateByteField (ATAB, (Local0 + 0x06), A005) CMDX = Arg0 A001 = Arg1 A005 = Arg2 CMDC++ } Method (GTF, 2, Serialized) { Debug = Arg1 CMDC = Zero Name (ID49, 0x0C00) Name (ID59, Zero) Name (ID53, 0x04) Name (ID63, 0x0F00) Name (ID88, 0x0F00) Name (IRDY, One) Name (PIOT, Zero) Name (DMAT, Zero) If ((SizeOf (Arg1) == 0x0200)) { CreateWordField (Arg1, 0x62, IW49) ID49 = IW49 /* \_SB_.PCI0.SAT1.GTF_.IW49 */ CreateWordField (Arg1, 0x6A, IW53) ID53 = IW53 /* \_SB_.PCI0.SAT1.GTF_.IW53 */ CreateWordField (Arg1, 0x7E, IW63) ID63 = IW63 /* \_SB_.PCI0.SAT1.GTF_.IW63 */ CreateWordField (Arg1, 0x76, IW59) ID59 = IW59 /* \_SB_.PCI0.SAT1.GTF_.IW59 */ CreateWordField (Arg1, 0xB0, IW88) ID88 = IW88 /* \_SB_.PCI0.SAT1.GTF_.IW88 */ } Local7 = 0xA0 If (Arg0) { Local7 = 0xB0 IRDY = (CHNF & 0x08) If ((CHNF & 0x10)) { PIOT = PIO1 /* \_SB_.PCI0.SAT1.PIO1 */ } Else { PIOT = PIO0 /* \_SB_.PCI0.SAT1.PIO0 */ } If ((CHNF & 0x04)) { If ((CHNF & 0x10)) { DMAT = DMA1 /* \_SB_.PCI0.SAT1.DMA1 */ } Else { DMAT = DMA0 /* \_SB_.PCI0.SAT1.DMA0 */ } } } Else { IRDY = (CHNF & 0x02) PIOT = PIO0 /* \_SB_.PCI0.SAT1.PIO0 */ If ((CHNF & One)) { DMAT = DMA0 /* \_SB_.PCI0.SAT1.DMA0 */ } } If ((((ID53 & 0x04) && (ID88 & 0xFF00)) && DMAT)) { Local1 = Match (DerefOf (TIM0 [0x03]), MLE, DMAT, MTR, Zero, Zero) If ((Local1 > 0x05)) { Local1 = 0x05 } GTFB (AT01, (0x40 | Local1), Local7) } ElseIf (((ID63 & 0xFF00) && PIOT)) { Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIOT, MTR, Zero, Zero) & 0x03) Local1 = (0x20 | DerefOf (DerefOf (TIM0 [0x07]) [Local0])) GTFB (AT01, Local1, Local7) } If (IRDY) { Local0 = (Match (DerefOf (TIM0 [Zero]), MGE, PIOT, MTR, Zero, Zero) & 0x07) Local1 = (0x08 | DerefOf (DerefOf (TIM0 [0x06]) [Local0])) GTFB (AT01, Local1, Local7) } ElseIf ((ID49 & 0x0400)) { GTFB (AT01, One, Local7) } If (((ID59 & 0x0100) && (ID59 & 0xFF))) { GTFB (AT03, (ID59 & 0xFF), Local7) } Debug = ATAB /* \_SB_.PCI0.SAT1.ATAB */ Return (ATAB) /* \_SB_.PCI0.SAT1.ATAB */ } Method (RATA, 1, NotSerialized) { CreateByteField (Arg0, Zero, CMDN) Local0 = (CMDN * 0x38) CreateField (Arg0, 0x08, Local0, RETB) Debug = RETB /* \_SB_.PCI0.SAT1.RATA.RETB */ Return (Concatenate (RETB, FZTF)) } } Device (USB0) { Name (_ADR, 0x001D0000) // _ADR: Address OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If (((OSFL () == One) || (OSFL () == 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { USBW = 0x03 } Else { USBW = Zero } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x03, 0x04)) } } Device (USB1) { Name (_ADR, 0x001D0001) // _ADR: Address OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If (((OSFL () == One) || (OSFL () == 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { USBW = 0x03 } Else { USBW = Zero } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x04, 0x04)) } } Device (USB2) { Name (_ADR, 0x001D0002) // _ADR: Address OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If (((OSFL () == One) || (OSFL () == 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { USBW = 0x03 } Else { USBW = Zero } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0C, 0x04)) } } Device (USB5) { Name (_ADR, 0x001D0003) // _ADR: Address OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If (((OSFL () == One) || (OSFL () == 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { USBW = 0x03 } Else { USBW = Zero } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x20, 0x04)) } } Device (EUSB) { Name (_ADR, 0x001D0007) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0D, 0x04)) } } Device (USB3) { Name (_ADR, 0x001A0000) // _ADR: Address OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If (((OSFL () == One) || (OSFL () == 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { USBW = 0x03 } Else { USBW = Zero } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0E, 0x04)) } } Device (USB4) { Name (_ADR, 0x001A0001) // _ADR: Address OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If (((OSFL () == One) || (OSFL () == 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { USBW = 0x03 } Else { USBW = Zero } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x05, 0x04)) } } Device (USB6) { Name (_ADR, 0x001A0002) // _ADR: Address OperationRegion (BAR0, PCI_Config, 0xC4, One) Field (BAR0, ByteAcc, NoLock, Preserve) { USBW, 2, Offset (0x01) } Method (_S3D, 0, NotSerialized) // _S3D: S3 Device State { If (((OSFL () == One) || (OSFL () == 0x02))) { Return (0x02) } Else { Return (0x03) } } Method (_PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { USBW = 0x03 } Else { USBW = Zero } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x20, 0x04)) } } Device (USBE) { Name (_ADR, 0x001A0007) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0D, 0x04)) } } Device (GBE) { Name (_ADR, 0x00190000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x0D, 0x04)) } } Device (P0P4) { Name (_ADR, 0x001C0000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR04) /* \_SB_.AR04 */ } Return (PR04) /* \_SB_.PR04 */ } } Device (P0P5) { Name (_ADR, 0x001C0001) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR05) /* \_SB_.AR05 */ } Return (PR05) /* \_SB_.PR05 */ } } Device (P0P6) { Name (_ADR, 0x001C0002) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR06) /* \_SB_.AR06 */ } Return (PR06) /* \_SB_.PR06 */ } } Device (P0P7) { Name (_ADR, 0x001C0003) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR07) /* \_SB_.AR07 */ } Return (PR07) /* \_SB_.PR07 */ } } Device (P0P8) { Name (_ADR, 0x001C0004) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR08) /* \_SB_.AR08 */ } Return (PR08) /* \_SB_.PR08 */ } } Device (P0P9) { Name (_ADR, 0x001C0005) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR09) /* \_SB_.AR09 */ } Return (PR09) /* \_SB_.PR09 */ } } Device (SBRG) { Name (_ADR, 0x001F0000) // _ADR: Address Device (IELK) { Name (_HID, "AWY0001") // _HID: Hardware ID OperationRegion (RXA0, PCI_Config, 0xA0, 0x20) Field (RXA0, ByteAcc, NoLock, Preserve) { , 9, PBLV, 1, Offset (0x10), , 1, PBMS, 1, , 1, PMCS, 1, ECNS, 1, Offset (0x11), ECT1, 16, ELEN, 1, Offset (0x14) } Method (\_GPE._L0A, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.SBRG.IELK, 0x81) // Information Change \_SB.PCI0.SBRG.IELK.PMCS = One } Method (_STA, 0, NotSerialized) // _STA: Status { If (ELEN) { Return (0x0F) } Else { Return (Zero) } } Method (SMOD, 1, NotSerialized) { } Method (GPBS, 0, NotSerialized) { Return ((PBLV ^ One)) } } Method (SPTS, 1, NotSerialized) { PS1S = One PS1E = One SLPS = One } Method (SWAK, 1, NotSerialized) { SLPS = Zero PS1E = Zero If (((Arg0 == One) && RTCS)) {} ElseIf (((Arg0 == 0x03) && BRTC)) {} Else { Notify (PWRB, 0x02) // Device Wake } } OperationRegion (APMP, SystemIO, SMIP, 0x02) Field (APMP, ByteAcc, NoLock, Preserve) { APMC, 8, APMS, 8 } Field (APMP, ByteAcc, NoLock, Preserve) { Offset (0x01), , 1, BRTC, 1 } OperationRegion (PMS0, SystemIO, PMBS, 0x04) Field (PMS0, ByteAcc, NoLock, Preserve) { , 10, RTCS, 1, , 4, WAKS, 1, Offset (0x03), PWBT, 1, Offset (0x04) } OperationRegion (SMIE, SystemIO, PM30, 0x08) Field (SMIE, ByteAcc, NoLock, Preserve) { , 4, PS1E, 1, , 31, PS1S, 1, Offset (0x08) } Scope (\_SB) { Name (SLPS, Zero) Device (SLPB) { Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If ((SUSW != 0xFF)) { Return (0x0F) } Return (Zero) } Method (SBEV, 0, NotSerialized) { If (SLPS) { Notify (SLPB, 0x02) // Device Wake } Else { Notify (SLPB, 0x80) // Status Change } } Method (\_GPE._L1E, 0, NotSerialized) // _Lxx: Level-Triggered GPE { \_SB.SLPB.SBEV () } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (Package (0x02) { 0x1B, 0x04 }) } } } Device (PIC) { Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } Device (DMAD) { Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0081, // Range Minimum 0x0081, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0087, // Range Minimum 0x0087, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0089, // Range Minimum 0x0089, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x008F, // Range Minimum 0x008F, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x00C0, // Range Minimum 0x00C0, // Range Maximum 0x00, // Alignment 0x20, // Length ) }) } Device (TMR) { Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x00, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } Device (RTC0) { Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) } Device (SPKR) { Name (_HID, EisaId ("PNP0800") /* Microsoft Sound System Compatible Device */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x00, // Alignment 0x01, // Length ) }) } Device (COPR) { Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */) // _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x00F0, // Range Minimum 0x00F0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IRQNoFlags () {13} }) } Device (PS2K) { Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */) // _HID: Hardware ID Name (_CID, EisaId ("PNP030B")) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (One << 0x0A) If ((IOST & Local0)) { Return (0x0F) } Return (Zero) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0060, // Range Minimum 0x0060, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0064, // Range Minimum 0x0064, // Range Maximum 0x00, // Alignment 0x01, // Length ) IRQNoFlags () {1} }) } Method (PS2K._PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x02, One)) } Device (PS2M) { Name (_HID, EisaId ("PNP0F03") /* Microsoft PS/2-style Mouse */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0F13") /* PS/2 Mouse */) // _CID: Compatible ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (One << 0x0C) If ((IOST & Local0)) { Return (0x0F) } Return (Zero) } Name (M2R0, ResourceTemplate () { IRQNoFlags () {12} }) Name (M2R1, ResourceTemplate () { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) IRQNoFlags () {12} }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (One << 0x0A) If ((IOST & Local0)) { Return (M2R0) /* \_SB_.PCI0.SBRG.PS2M.M2R0 */ } Else { Return (M2R1) /* \_SB_.PCI0.SBRG.PS2M.M2R1 */ } } } Method (PS2M._PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x02, One)) } Device (SIOR) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Method (_UID, 0, NotSerialized) // _UID: Unique ID { Return (SPIO) /* \SPIO */ } Name (CRS, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y00) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y01) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (((SPIO != 0x03F0) && (SPIO > 0xF0))) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._MIN, GP10) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._MAX, GP11) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._LEN, GPL1) // _LEN: Length GP10 = SPIO /* \SPIO */ GP11 = SPIO /* \SPIO */ GPL1 = 0x02 } If (IOHB) { CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y01._MIN, GP30) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y01._MAX, GP31) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y01._LEN, GPL3) // _LEN: Length GP30 = IOHB /* \IOHB */ GP31 = IOHB /* \IOHB */ GPL3 = IOHL /* \IOHL */ } Return (CRS) /* \_SB_.PCI0.SBRG.SIOR.CRS_ */ } } Name (DCAT, Package (0x16) { 0x03, 0x02, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x09, 0xFF, 0xFF, 0xFF, 0xFF }) Method (CGLD, 1, NotSerialized) { Return (DerefOf (DCAT [Arg0])) } Method (ENFG, 1, NotSerialized) { INDX = 0x87 INDX = 0x87 LDN = Arg0 } Method (EXFG, 0, NotSerialized) { INDX = 0xAA } Name (KBFG, One) Name (MSFG, One) OperationRegion (KBRW, SystemIO, 0x60, 0x05) Field (KBRW, ByteAcc, NoLock, Preserve) { KP60, 8, Offset (0x04), KP64, 8 } OperationRegion (KB64, SystemIO, 0x64, One) Field (KB64, ByteAcc, NoLock, Preserve) { , 1, KRDY, 1, Offset (0x01) } Method (PS2K._PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { KBFG = One } Else { KBFG = Zero } } Method (PS2M._PSW, 1, NotSerialized) // _PSW: Power State Wake { If (Arg0) { MSFG = One } Else { MSFG = Zero } } Method (SIOS, 1, NotSerialized) { Debug = "SIOS" If ((Arg0 == One)) { ENFG (0x09) PSMI = 0x31 OPT3 |= 0x80 EXFG () } If ((Arg0 == 0x03)) { ENFG (0x09) PSMI = 0x33 OPT3 |= 0x20 EXFG () } If ((Arg0 == 0x04)) { PSMI = 0x34 } If ((Arg0 == 0x05)) { PSMI = 0x35 } If ((Arg0 == One)) { ENFG (0x0A) If (KBFG) { CRE0 |= 0x41 } Else { CRE0 &= 0xBE } If (MSFG) { CRE0 |= 0x22 CRE6 |= 0x80 } Else { CRE0 &= 0xDD CRE6 &= 0x7F } If ((KBFG || MSFG)) { CRE4 |= 0x04 } EXFG () } } Method (SIOW, 1, NotSerialized) { Debug = "SIOW" ENFG (0x0A) CRE4 &= 0xFB CRE0 &= 0x9C CRE6 &= 0x7F CRE3 &= Zero EXFG () ENFG (0x09) OPT3 &= 0x1F EXFG () } Method (SIOH, 0, NotSerialized) { Debug = "SIOH" ENFG (0x0A) If ((CRE3 & One)) { Notify (PS2K, 0x02) // Device Wake } If ((CRE3 & 0x02)) { Notify (PS2M, 0x02) // Device Wake } } OperationRegion (IOID, SystemIO, SPIO, 0x02) Field (IOID, ByteAcc, NoLock, Preserve) { INDX, 8, DATA, 8 } OperationRegion (MIPT, SystemIO, SMIT, One) Field (MIPT, ByteAcc, NoLock, Preserve) { PSMI, 8 } IndexField (INDX, DATA, ByteAcc, NoLock, Preserve) { Offset (0x07), LDN, 8, Offset (0x22), FDCP, 1, , 2, LPTP, 1, Offset (0x30), ACTR, 8, Offset (0x60), IOAH, 8, IOAL, 8, IOH2, 8, IOL2, 8, Offset (0x70), INTR, 8, Offset (0x74), DMCH, 8, Offset (0xE0), CRE0, 8, CRE1, 8, CRE2, 8, CRE3, 8, CRE4, 8, CRE5, 8, CRE6, 8, Offset (0xF0), OPT0, 8, OPT1, 8, OPT2, 8, OPT3, 8, OPT4, 8, Offset (0xF6), OPT6, 8 } Method (DSTA, 1, NotSerialized) { ENFG (CGLD (Arg0)) Local0 = ACTR /* \_SB_.PCI0.SBRG.ACTR */ EXFG () If ((Local0 == 0xFF)) { Return (Zero) } Local0 &= One IOST |= (Local0 << Arg0) If (Local0) { Return (0x0F) } ElseIf (((One << Arg0) & IOST)) { Return (0x0D) } Else { Return (Zero) } } Method (DCNT, 2, NotSerialized) { ENFG (CGLD (Arg0)) Local1 = (IOAH << 0x08) Local1 |= IOAL If (((DMCH < 0x04) && ((Local1 = (DMCH & 0x03)) != Zero))) { RDMA (Arg0, Arg1, Local1++) } ACTR = Arg1 RRIO (Arg0, Arg1, Local1, 0x08) EXFG () } Name (CRS1, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y04) IRQNoFlags (_Y02) {} DMA (Compatibility, NotBusMaster, Transfer8, _Y03) {} }) CreateWordField (CRS1, \_SB.PCI0.SBRG._Y02._INT, IRQM) // _INT: Interrupts CreateByteField (CRS1, \_SB.PCI0.SBRG._Y03._DMA, DMAM) // _DMA: Direct Memory Access CreateWordField (CRS1, \_SB.PCI0.SBRG._Y04._MIN, IO11) // _MIN: Minimum Base Address CreateWordField (CRS1, \_SB.PCI0.SBRG._Y04._MAX, IO12) // _MAX: Maximum Base Address CreateByteField (CRS1, \_SB.PCI0.SBRG._Y04._LEN, LEN1) // _LEN: Length Name (CRS2, ResourceTemplate () { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y07) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x00, // Length _Y08) IRQNoFlags (_Y05) {6} DMA (Compatibility, NotBusMaster, Transfer8, _Y06) {2} }) CreateWordField (CRS2, \_SB.PCI0.SBRG._Y05._INT, IRQE) // _INT: Interrupts CreateByteField (CRS2, \_SB.PCI0.SBRG._Y06._DMA, DMAE) // _DMA: Direct Memory Access CreateWordField (CRS2, \_SB.PCI0.SBRG._Y07._MIN, IO21) // _MIN: Minimum Base Address CreateWordField (CRS2, \_SB.PCI0.SBRG._Y07._MAX, IO22) // _MAX: Maximum Base Address CreateByteField (CRS2, \_SB.PCI0.SBRG._Y07._LEN, LEN2) // _LEN: Length CreateWordField (CRS2, \_SB.PCI0.SBRG._Y08._MIN, IO31) // _MIN: Minimum Base Address CreateWordField (CRS2, \_SB.PCI0.SBRG._Y08._MAX, IO32) // _MAX: Maximum Base Address CreateByteField (CRS2, \_SB.PCI0.SBRG._Y08._LEN, LEN3) // _LEN: Length Method (DCRS, 2, NotSerialized) { ENFG (CGLD (Arg0)) IO11 = (IOAH << 0x08) IO11 |= IOAL /* \_SB_.PCI0.SBRG.IO11 */ IO12 = IO11 /* \_SB_.PCI0.SBRG.IO11 */ Local0 = (FindSetRightBit (IO11) - One) LEN1 = (One << Local0) If (INTR) { IRQM = (One << INTR) /* \_SB_.PCI0.SBRG.INTR */ } Else { IRQM = Zero } If (((DMCH > 0x03) || (Arg1 == Zero))) { DMAM = Zero } Else { Local1 = (DMCH & 0x03) DMAM = (One << Local1) } EXFG () Return (CRS1) /* \_SB_.PCI0.SBRG.CRS1 */ } Method (DSRS, 2, NotSerialized) { CreateWordField (Arg0, 0x09, IRQM) CreateByteField (Arg0, 0x0C, DMAM) CreateWordField (Arg0, 0x02, IO11) ENFG (CGLD (Arg1)) Local1 = (IOAH << 0x08) Local1 |= IOAL RRIO (Arg1, Zero, Local1, 0x08) RRIO (Arg1, One, IO11, 0x08) IOAL = (IO11 & 0xFF) IOAH = (IO11 >> 0x08) If (IRQM) { FindSetRightBit (IRQM, Local0) INTR = (Local0 - One) } Else { INTR = Zero } If (DMAM) { FindSetRightBit (DMAM, Local0) DMCH = (Local0 - One) } Else { DMCH = 0x04 } EXFG () DCNT (Arg1, One) } OperationRegion (WIOR, SystemIO, WPIO, 0x02) Field (WIOR, ByteAcc, NoLock, Preserve) { WINX, 8, WDAT, 8 } IndexField (WINX, WDAT, ByteAcc, NoLock, Preserve) { Offset (0x07), SLDN, 8, Offset (0x26), , 2, URBP, 1, URAP, 1, Offset (0x30), SCTR, 8, Offset (0x60), SOAH, 8, SOAL, 8, SOH2, 8, SOL2, 8, Offset (0x70), SNTR, 8, Offset (0x74), SMCH, 8 } Method (SSTA, 1, NotSerialized) { SLDN = CGLD (Arg0) Local0 = SCTR /* \_SB_.PCI0.SBRG.SCTR */ If ((Local0 == 0xFF)) { Return (Zero) } Local0 &= One IOST |= (Local0 << Arg0) If (Local0) { Return (0x0F) } ElseIf (((One << Arg0) & IOST)) { Return (0x0D) } Else { Return (Zero) } } Method (SCNT, 2, NotSerialized) { SLDN = CGLD (Arg0) Local1 = (SOAH << 0x08) Local1 |= SOAL If (((SMCH < 0x04) && ((Local1 = (SMCH & 0x03)) != Zero))) { RDMA (Arg0, Arg1, Local1++) } SCTR = Arg1 RRIO (Arg0, Arg1, Local1, 0x08) } Method (SCRS, 2, NotSerialized) { SLDN = CGLD (Arg0) IO11 = (SOAH << 0x08) IO11 |= SOAL /* \_SB_.PCI0.SBRG.IO11 */ IO12 = IO11 /* \_SB_.PCI0.SBRG.IO11 */ Local0 = (FindSetRightBit (IO11) - One) LEN1 = (One << Local0) If (INTR) { IRQM = (One << SNTR) /* \_SB_.PCI0.SBRG.SNTR */ } Else { IRQM = Zero } If (((SMCH > 0x03) || (Arg1 == Zero))) { DMAM = Zero } Else { Local1 = (SMCH & 0x03) DMAM = (One << Local1) } Return (CRS1) /* \_SB_.PCI0.SBRG.CRS1 */ } Method (SSRS, 2, NotSerialized) { CreateWordField (Arg0, 0x09, IRQM) CreateByteField (Arg0, 0x0C, DMAM) CreateWordField (Arg0, 0x02, IO11) SLDN = CGLD (Arg1) Local1 = (SOAH << 0x08) Local1 |= SOAL RRIO (Arg1, Zero, Local1, 0x08) RRIO (Arg1, One, IO11, 0x08) SOAL = (IO11 & 0xFF) SOAH = (IO11 >> 0x08) If (IRQM) { FindSetRightBit (IRQM, Local0) SNTR = (Local0 - One) } Else { INTR = Zero } If (DMAM) { FindSetRightBit (DMAM, Local0) SMCH = (Local0 - One) } Else { SMCH = 0x04 } SCNT (Arg1, One) } Device (UAR1) { Name (_UID, One) // _UID: Unique ID Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (SSTA (Zero)) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { SCNT (Zero, Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (SCRS (Zero, Zero)) } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { SSRS (Arg0, Zero) } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (CMPR) /* \_SB_.PCI0.SBRG.UAR1.CMPR */ } Name (CMPR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {4} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } EndDependentFn () }) } Device (UAR2) { Name (_UID, 0x02) // _UID: Unique ID Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (SSTA (One)) } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { SCNT (One, Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (SCRS (One, Zero)) } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { SSRS (Arg0, One) } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (CMPR) /* \_SB_.PCI0.SBRG.UAR2.CMPR */ } Name (CMPR, ResourceTemplate () { StartDependentFn (0x00, 0x00) { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03F8, // Range Minimum 0x03F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02F8, // Range Minimum 0x02F8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x03E8, // Range Minimum 0x03E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } StartDependentFnNoPri () { IO (Decode16, 0x02E8, // Range Minimum 0x02E8, // Range Maximum 0x01, // Alignment 0x08, // Length ) IRQNoFlags () {3,4,5,6,7,10,11,12} DMA (Compatibility, NotBusMaster, Transfer8, ) {} } EndDependentFn () }) } Device (RMSC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x10) // _UID: Unique ID Name (CRS, ResourceTemplate () { IO (Decode16, 0x0010, // Range Minimum 0x0010, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0022, // Range Minimum 0x0022, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x0044, // Range Minimum 0x0044, // Range Maximum 0x00, // Alignment 0x0A, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x00, // Alignment 0x02, // Length _Y0C) IO (Decode16, 0x0050, // Range Minimum 0x0050, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0062, // Range Minimum 0x0062, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x00, // Alignment 0x0B, // Length ) IO (Decode16, 0x0072, // Range Minimum 0x0072, // Range Maximum 0x00, // Alignment 0x0E, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x0084, // Range Minimum 0x0084, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0088, // Range Minimum 0x0088, // Range Maximum 0x00, // Alignment 0x01, // Length ) IO (Decode16, 0x008C, // Range Minimum 0x008C, // Range Maximum 0x00, // Alignment 0x03, // Length ) IO (Decode16, 0x0090, // Range Minimum 0x0090, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x00A2, // Range Minimum 0x00A2, // Range Maximum 0x00, // Alignment 0x1E, // Length ) IO (Decode16, 0x00E0, // Range Minimum 0x00E0, // Range Maximum 0x00, // Alignment 0x10, // Length ) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x00, // Alignment 0x08, // Length ) IO (Decode16, 0x04D0, // Range Minimum 0x04D0, // Range Maximum 0x00, // Alignment 0x02, // Length ) Memory32Fixed (ReadOnly, 0x00000400, // Address Base 0x00000100, // Address Length ) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y09) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0A) IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x00, // Alignment 0x00, // Length _Y0B) Memory32Fixed (ReadWrite, 0xFED1C000, // Address Base 0x00004000, // Address Length ) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y0D) Memory32Fixed (ReadWrite, 0x00000000, // Address Base 0x00000000, // Address Length _Y0E) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y09._MIN, GP00) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y09._MAX, GP01) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y09._LEN, GP0L) // _LEN: Length GP00 = PMBS /* \PMBS */ GP01 = PMBS /* \PMBS */ GP0L = PMLN /* \PMLN */ If (SMBS) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0A._MIN, GP10) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0A._MAX, GP11) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0A._LEN, GP1L) // _LEN: Length GP10 = SMBS /* \SMBS */ GP11 = SMBS /* \SMBS */ GP1L = SMBL /* \SMBL */ } If (GPBS) { CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0B._MIN, GP20) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0B._MAX, GP21) // _MAX: Maximum Base Address CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0B._LEN, GP2L) // _LEN: Length GP20 = GPBS /* \GPBS */ GP21 = GPBS /* \GPBS */ GP2L = GPLN /* \GPLN */ } CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._MIN, TPM0) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._MAX, TPM1) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._MAX, TPML) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0D._LEN, TML1) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0D._BAS, TMB1) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0E._LEN, TML2) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0E._BAS, TMB2) // _BAS: Base Address TMB1 = 0xFED20000 TML1 = (TPBA - 0xFED20000) If (TPMF) { TMB2 = (TPBA + TPBL) /* \TPBL */ TPM0 = Zero TPM1 = Zero TPML = Zero } Else { TMB2 = (TPBA + Zero) } TML2 = (0xFED90000 - TMB2) /* \_SB_.PCI0.SBRG.RMSC._CRS.TMB2 */ Return (CRS) /* \_SB_.PCI0.SBRG.RMSC.CRS_ */ } } Device (HPET) { Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y0F) }) OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04) Field (LPCR, AnyAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1, Offset (0x04) } Method (_STA, 0, NotSerialized) // _STA: Status { If ((OSFL () == Zero)) { If (HPTE) { Return (0x0F) } } ElseIf (HPTE) { Return (0x0B) } Return (Zero) } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT) // _BAS: Base Address Local0 = (HPTS * 0x1000) HPT = (Local0 + 0xFED00000) Return (CRS) /* \_SB_.PCI0.SBRG.HPET.CRS_ */ } } OperationRegion (RX80, PCI_Config, Zero, 0xFF) Field (RX80, ByteAcc, NoLock, Preserve) { Offset (0x80), LPCD, 16, LPCE, 16 } Name (DBPT, Package (0x04) { Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x08) { 0x03F8, 0x02F8, 0x0220, 0x0228, 0x0238, 0x02E8, 0x0338, 0x03E8 }, Package (0x03) { 0x0378, 0x0278, 0x03BC }, Package (0x02) { 0x03F0, 0x0370 } }) Name (DDLT, Package (0x04) { Package (0x02) { Zero, 0xFFF8 }, Package (0x02) { 0x04, 0xFF8F }, Package (0x02) { 0x08, 0xFCFF }, Package (0x02) { 0x0C, 0xEFFF } }) Method (RRIO, 4, NotSerialized) { If (((Arg0 <= 0x03) && (Arg0 >= Zero))) { Local0 = Match (DerefOf (DBPT [Arg0]), MEQ, Arg2, MTR, Zero, Zero) If ((Local0 != Ones)) { Local1 = DerefOf (DerefOf (DDLT [Arg0]) [Zero]) Local2 = DerefOf (DerefOf (DDLT [Arg0]) [One]) Local0 <<= Local1 LPCD &= Local2 LPCD |= Local0 WX82 (Arg0, Arg1) } } If ((Arg0 == 0x08)) { If ((Arg2 == 0x0200)) { WX82 (0x08, Arg0) } ElseIf ((Arg2 == 0x0208)) { WX82 (0x09, Arg0) } } If (((Arg0 <= 0x0D) && (Arg0 >= 0x0A))) { WX82 (Arg0, Arg1) } } Method (WX82, 2, NotSerialized) { Local0 = (One << Arg0) If (Arg1) { LPCE |= Local0 } Else { Local0 = ~Local0 LPCE &= Local0 } } Method (RDMA, 3, NotSerialized) { } Device (^PCIE) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, 0x11) // _UID: Unique ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xE0000000, // Address Base 0x10000000, // Address Length _Y10) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (CRS, \_SB.PCI0.PCIE._Y10._BAS, BAS1) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.PCIE._Y10._LEN, LEN1) // _LEN: Length BAS1 = PCIB /* \PCIB */ LEN1 = PCIL /* \PCIL */ Return (CRS) /* \_SB_.PCI0.PCIE.CRS_ */ } } Device (OMSC) { Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y11) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y12) }) Name (CRS1, ResourceTemplate () { FixedIO ( 0x0060, // Address 0x01, // Length ) FixedIO ( 0x0064, // Address 0x01, // Length ) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y13) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y14) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (APIC) { CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y11._LEN, ML01) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y11._BAS, MB01) // _BAS: Base Address CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y12._LEN, ML02) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y12._BAS, MB02) // _BAS: Base Address MB01 = 0xFEC00000 ML01 = 0x1000 MB02 = 0xFEE00000 ML02 = 0x1000 CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y13._LEN, ML03) // _LEN: Length CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y13._BAS, MB03) // _BAS: Base Address CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y14._LEN, ML04) // _LEN: Length CreateDWordField (CRS1, \_SB.PCI0.SBRG.OMSC._Y14._BAS, MB04) // _BAS: Base Address MB03 = 0xFEC00000 ML03 = 0x1000 MB04 = 0xFEE00000 ML04 = 0x1000 } Local0 = (0x05 << 0x0A) If ((IOST & Local0)) { Return (CRS) /* \_SB_.PCI0.SBRG.OMSC.CRS_ */ } Else { Return (CRS1) /* \_SB_.PCI0.SBRG.OMSC.CRS1 */ } } } Device (^^RMEM) { Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y15) Memory32Fixed (ReadOnly, 0x000E0000, // Address Base 0x00020000, // Address Length _Y16) Memory32Fixed (ReadOnly, 0x00000000, // Address Base 0x00000000, // Address Length _Y17) }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { CreateDWordField (CRS, \_SB.RMEM._Y15._BAS, BAS1) // _BAS: Base Address CreateDWordField (CRS, \_SB.RMEM._Y15._LEN, LEN1) // _LEN: Length CreateDWordField (CRS, \_SB.RMEM._Y16._BAS, BAS2) // _BAS: Base Address CreateDWordField (CRS, \_SB.RMEM._Y16._LEN, LEN2) // _LEN: Length CreateDWordField (CRS, \_SB.RMEM._Y17._BAS, BAS4) // _BAS: Base Address CreateDWordField (CRS, \_SB.RMEM._Y17._LEN, LEN4) // _LEN: Length If (OSFL ()) {} ElseIf (MG1B) { If ((MG1B > 0x000C0000)) { BAS1 = 0x000C0000 LEN1 = (MG1B - BAS1) /* \_SB_.RMEM._CRS.BAS1 */ } } Else { BAS1 = 0x000C0000 LEN1 = 0x00020000 } BAS4 = MH1B /* \MH1B */ LEN4 = (Zero - BAS4) /* \_SB_.RMEM._CRS.BAS4 */ Return (CRS) /* \_SB_.RMEM.CRS_ */ } } } Device (NPE1) { Name (_ADR, 0x00010000) // _ADR: Address Device (KWL1) { Name (_ADR, Zero) // _ADR: Address OperationRegion (PMCS, PCI_Config, 0x44, 0x02) Field (PMCS, ByteAcc, NoLock, Preserve) { POST, 2 } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { Stall (0x1E) POST = Zero Stall (0x1E) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { POST = 0x03 } } Device (KWL2) { Name (_ADR, One) // _ADR: Address OperationRegion (PMCS, PCI_Config, 0x44, 0x02) Field (PMCS, ByteAcc, NoLock, Preserve) { POST, 2 } Method (_PS0, 0, NotSerialized) // _PS0: Power State 0 { Stall (0x1E) POST = Zero Stall (0x1E) } Method (_PS3, 0, NotSerialized) // _PS3: Power State 3 { POST = 0x03 } } Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR11) /* \_SB_.AR11 */ } Return (PR11) /* \_SB_.PR11 */ } } } Device (BR50) { Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // _HID: Hardware ID Name (_CID, EisaId ("PNP0A03") /* PCI Bus */) // _CID: Compatible ID Name (_ADR, Zero) // _ADR: Address Method (^BN50, 0, NotSerialized) { Return (0x50) } Method (_BBN, 0, NotSerialized) // _BBN: BIOS Bus Number { Return (BN50 ()) } Name (_UID, 0x50) // _UID: Unique ID Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR50) /* \_SB_.AR50 */ } Return (PR50) /* \_SB_.PR50 */ } Device (IOH1) { Name (_HID, EisaId ("PNP0C01") /* System Board */) // _HID: Hardware ID Name (_UID, 0x0B) // _UID: Unique ID Name (CRS, ResourceTemplate () { Memory32Fixed (ReadWrite, 0xFBF00000, // Address Base 0x00100000, // Address Length _Y18) }) CreateDWordField (CRS, \_SB.BR50.IOH1._Y18._BAS, BAS1) // _BAS: Base Address CreateDWordField (CRS, \_SB.BR50.IOH1._Y18._LEN, LEN1) // _LEN: Length Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (B1VL) { BAS1 = B1VB /* \B1VB */ LEN1 = B1VL /* \B1VL */ } Else { BAS1 = Zero LEN1 = Zero } Return (CRS) /* \_SB_.BR50.IOH1.CRS_ */ } } Device (NPE1) { Name (_ADR, 0x00010000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR61) /* \_SB_.AR61 */ } Return (PR61) /* \_SB_.PR61 */ } } Device (NPE2) { Name (_ADR, 0x00020000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR62) /* \_SB_.AR62 */ } Return (PR62) /* \_SB_.PR62 */ } } Device (NPE3) { Name (_ADR, 0x00030000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR63) /* \_SB_.AR63 */ } Return (PR63) /* \_SB_.PR63 */ } } Device (NPE4) { Name (_ADR, 0x00040000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR64) /* \_SB_.AR64 */ } Return (PR64) /* \_SB_.PR64 */ } } Device (NPE5) { Name (_ADR, 0x00050000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR65) /* \_SB_.AR65 */ } Return (PR65) /* \_SB_.PR65 */ } } Device (NPE6) { Name (_ADR, 0x00060000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR66) /* \_SB_.AR66 */ } Return (PR66) /* \_SB_.PR66 */ } } Device (NPE7) { Name (_ADR, 0x00070000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR67) /* \_SB_.AR67 */ } Return (PR67) /* \_SB_.PR67 */ } } Device (NPE8) { Name (_ADR, 0x00080000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR68) /* \_SB_.AR68 */ } Return (PR68) /* \_SB_.PR68 */ } } Device (NPE9) { Name (_ADR, 0x00090000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR69) /* \_SB_.AR69 */ } Return (PR69) /* \_SB_.PR69 */ } } Device (NPEA) { Name (_ADR, 0x000A0000) // _ADR: Address Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) // _PRT: PCI Routing Table { If (PICM) { Return (AR6A) /* \_SB_.AR6A */ } Return (PR6A) /* \_SB_.PR6A */ } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.NPE2, 0x02) // Device Wake Notify (\_SB.PCI0.NPE3, 0x02) // Device Wake Notify (\_SB.PCI0.NPE4, 0x02) // Device Wake Notify (\_SB.PCI0.NPE5, 0x02) // Device Wake Notify (\_SB.PCI0.NPE6, 0x02) // Device Wake Notify (\_SB.PCI0.NPE7, 0x02) // Device Wake Notify (\_SB.PCI0.NPE8, 0x02) // Device Wake Notify (\_SB.PCI0.NPE9, 0x02) // Device Wake Notify (\_SB.PCI0.NPEA, 0x02) // Device Wake Notify (\_SB.PCI0.P0P4, 0x02) // Device Wake Notify (\_SB.PCI0.P0P5, 0x02) // Device Wake Notify (\_SB.PCI0.P0P6, 0x02) // Device Wake Notify (\_SB.PCI0.P0P7, 0x02) // Device Wake Notify (\_SB.PCI0.P0P8, 0x02) // Device Wake Notify (\_SB.PCI0.P0P9, 0x02) // Device Wake Notify (\_SB.PCI0.NPE1, 0x02) // Device Wake Notify (\_SB.BR50.NPE1, 0x02) // Device Wake Notify (\_SB.BR50.NPE2, 0x02) // Device Wake Notify (\_SB.BR50.NPE3, 0x02) // Device Wake Notify (\_SB.BR50.NPE4, 0x02) // Device Wake Notify (\_SB.BR50.NPE5, 0x02) // Device Wake Notify (\_SB.BR50.NPE6, 0x02) // Device Wake Notify (\_SB.BR50.NPE7, 0x02) // Device Wake Notify (\_SB.BR50.NPE8, 0x02) // Device Wake Notify (\_SB.BR50.NPE9, 0x02) // Device Wake Notify (\_SB.BR50.NPEA, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L0B, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.P0P1, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L03, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB0, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L04, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB1, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L0C, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB2, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L20, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB5, 0x02) // Device Wake Notify (\_SB.PCI0.USB6, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L0D, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.EUSB, 0x02) // Device Wake Notify (\_SB.PCI0.USBE, 0x02) // Device Wake Notify (\_SB.PCI0.GBE, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L0E, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB3, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L05, 0, NotSerialized) // _Lxx: Level-Triggered GPE { Notify (\_SB.PCI0.USB4, 0x02) // Device Wake Notify (\_SB.PWRB, 0x02) // Device Wake } Method (_L02, 0, NotSerialized) // _Lxx: Level-Triggered GPE { \_SB.PCI0.SBRG.SIOH () } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Name (_UID, 0xAA) // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status } } OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C) Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve) { PIRA, 8, PIRB, 8, PIRC, 8, PIRD, 8, Offset (0x08), PIRE, 8, PIRF, 8, PIRG, 8, PIRH, 8 } Scope (_SB) { Name (BUFA, ResourceTemplate () { IRQ (Level, ActiveLow, Shared, ) {15} }) CreateWordField (BUFA, One, IRA0) Device (LNKA) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRA & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSA) /* \_SB_.PRSA */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRA |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRA & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRA = Local0 } } Device (LNKB) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x02) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRB & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSB) /* \_SB_.PRSB */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRB |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRB & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRB = Local0 } } Device (LNKC) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x03) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRC & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSC) /* \_SB_.PRSC */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRC |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRC & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRC = Local0 } } Device (LNKD) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x04) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRD & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSD) /* \_SB_.PRSD */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRD |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRD & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRD = Local0 } } Device (LNKE) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x05) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRE & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSE) /* \_SB_.PRSE */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRE |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRE & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRE = Local0 } } Device (LNKF) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x06) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRF & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSF) /* \_SB_.PRSF */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRF |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRF & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRF = Local0 } } Device (LNKG) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRG & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSG) /* \_SB_.PRSG */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRG |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRG & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRG = Local0 } } Device (LNKH) { Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */) // _HID: Hardware ID Name (_UID, 0x08) // _UID: Unique ID Method (_STA, 0, NotSerialized) // _STA: Status { Local0 = (PIRH & 0x80) If (Local0) { Return (0x09) } Else { Return (0x0B) } } Method (_PRS, 0, NotSerialized) // _PRS: Possible Resource Settings { Return (PRSH) /* \_SB_.PRSH */ } Method (_DIS, 0, NotSerialized) // _DIS: Disable Device { PIRH |= 0x80 } Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Local0 = (PIRH & 0x0F) IRA0 = (One << Local0) Return (BUFA) /* \_SB_.BUFA */ } Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { CreateWordField (Arg0, One, IRA) FindSetRightBit (IRA, Local0) Local0-- PIRH = Local0 } } } Scope (_SB.PCI0) { Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Name (SUPP, Zero) Name (CTRL, Zero) CreateDWordField (Arg3, Zero, CDW1) CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) { SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */ CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */ If (((SUPP & 0x16) != 0x16)) { CTRL &= 0x1E } If (!PEHP) { CTRL &= 0x1E } If (!SHPC) { CTRL &= 0x1D } If (!PEPM) { CTRL &= 0x1B } If (!(PEER & AERS)) { CTRL &= 0x17 } If (!PECS) { CTRL &= 0x0F } If (~(CDW1 & One)) { If ((CTRL & One)) {} If ((CTRL & 0x04)) {} If ((CTRL & 0x10)) {} } If ((Arg1 != One)) { CDW1 |= 0x08 } If ((CDW3 != CTRL)) { CDW1 |= 0x10 } CDW3 = CTRL /* \_SB_.PCI0._OSC.CTRL */ Return (Arg3) } Else { CDW1 |= 0x04 Return (Arg3) } } } Scope (_SB.BR50) { Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities { Name (SUPP, Zero) Name (CTRL, Zero) CreateDWordField (Arg3, Zero, CDW1) CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) If ((Arg0 == ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)) { SUPP = CDW2 /* \_SB_.BR50._OSC.CDW2 */ CTRL = CDW3 /* \_SB_.BR50._OSC.CDW3 */ If (((SUPP & 0x16) != 0x16)) { CTRL &= 0x1E } If (!PEHP) { CTRL &= 0x1E } If (!SHPC) { CTRL &= 0x1D } If (!PEPM) { CTRL &= 0x1B } If (!(PEER & AERS)) { CTRL &= 0x17 } If (!PECS) { CTRL &= 0x0F } If (~(CDW1 & One)) { If ((CTRL & One)) {} If ((CTRL & 0x04)) {} If ((CTRL & 0x10)) {} } If ((Arg1 != One)) { CDW1 |= 0x08 } If ((CDW3 != CTRL)) { CDW1 |= 0x10 } CDW3 = CTRL /* \_SB_.BR50._OSC.CTRL */ Return (Arg3) } Else { CDW1 |= 0x04 Return (Arg3) } } } Scope (_SB) { Name (XCPD, Zero) Name (XNPT, One) Name (XCAP, 0x02) Name (XDCP, 0x04) Name (XDCT, 0x08) Name (XDST, 0x0A) Name (XLCP, 0x0C) Name (XLCT, 0x10) Name (XLST, 0x12) Name (XSCP, 0x14) Name (XSCT, 0x18) Name (XSST, 0x1A) Name (XRCT, 0x1C) Mutex (MUTE, 0x00) Method (RBPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) Local0 = (Arg0 + PCIB) /* \PCIB */ OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } Release (MUTE) Return (XCFG) /* \_SB_.RBPE.XCFG */ } Method (RWPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) Arg0 &= 0xFFFFFFFE Local0 = (Arg0 + PCIB) /* \PCIB */ OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } Release (MUTE) Return (XCFG) /* \_SB_.RWPE.XCFG */ } Method (RDPE, 1, NotSerialized) { Acquire (MUTE, 0x03E8) Arg0 &= 0xFFFFFFFC Local0 = (Arg0 + PCIB) /* \PCIB */ OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Release (MUTE) Return (XCFG) /* \_SB_.RDPE.XCFG */ } Method (WBPE, 2, NotSerialized) { Acquire (MUTE, 0x0FFF) Local0 = (Arg0 + PCIB) /* \PCIB */ OperationRegion (PCFG, SystemMemory, Local0, One) Field (PCFG, ByteAcc, NoLock, Preserve) { XCFG, 8 } XCFG = Arg1 Release (MUTE) } Method (WWPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) Arg0 &= 0xFFFFFFFE Local0 = (Arg0 + PCIB) /* \PCIB */ OperationRegion (PCFG, SystemMemory, Local0, 0x02) Field (PCFG, WordAcc, NoLock, Preserve) { XCFG, 16 } XCFG = Arg1 Release (MUTE) } Method (WDPE, 2, NotSerialized) { Acquire (MUTE, 0x03E8) Arg0 &= 0xFFFFFFFC Local0 = (Arg0 + PCIB) /* \PCIB */ OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } XCFG = Arg1 Release (MUTE) } Method (RWDP, 3, NotSerialized) { Acquire (MUTE, 0x03E8) Arg0 &= 0xFFFFFFFC Local0 = (Arg0 + PCIB) /* \PCIB */ OperationRegion (PCFG, SystemMemory, Local0, 0x04) Field (PCFG, DWordAcc, NoLock, Preserve) { XCFG, 32 } Local1 = (XCFG & Arg2) XCFG = (Local1 | Arg1) Release (MUTE) } Method (RPME, 1, NotSerialized) { Local0 = (Arg0 + 0x84) Local1 = RDPE (Local0) If ((Local1 == Ones)) { Return (Zero) } ElseIf ((Local1 && 0x00010000)) { WDPE (Local0, (Local1 & 0x00010000)) Return (One) } } Method (SPME, 1, NotSerialized) { Local0 = (Arg0 + 0x0188) Local1 = RBPE (Local0) WBPE (Local0, (Local1 | 0x04)) Local0 = (Arg0 + 0x018C) Local1 = RBPE (Local0) WBPE (Local0, (Local1 | One)) } Method (CPME, 1, NotSerialized) { Local0 = (Arg0 + 0x0188) Local1 = RBPE (Local0) WBPE (Local0, (Local1 & 0xFB)) Local0 = (Arg0 + 0x018C) Local1 = RBPE (Local0) WBPE (Local0, (Local1 & 0xFE)) } } Scope (_SB) { Device (MI0) { Name (_HID, EisaId ("IPI0001")) // _HID: Hardware ID Name (_STR, Unicode ("IPMI_KCS")) // _STR: Description String Name (_UID, Zero) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0CA2, // Range Minimum 0x0CA2, // Range Maximum 0x00, // Alignment 0x02, // Length ) }) Method (_IFT, 0, NotSerialized) // _IFT: IPMI Interface Type { Return (One) } Method (_SRV, 0, NotSerialized) // _SRV: IPMI Spec Revision { Return (0x0200) } OperationRegion (BMIO, SystemIO, 0x0CA2, One) Field (BMIO, ByteAcc, NoLock, Preserve) { BMCD, 8 } Method (_STA, 0, NotSerialized) // _STA: Status { If ((BMCD == 0xFF)) { Return (Zero) } ElseIf (((_OSI ("Windows 2006") || _OSI ("Windows 2006.1")) || _OSI ("Windows 2009"))) { Return (0x0F) } Else { Return (0x0B) } } } } Scope (_SB) { } Scope (_SB) { Scope (PCI0) { Name (_PXM, Zero) // _PXM: Device Proximity Name (CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, _Y19) IO (Decode16, 0x0CF8, // Range Minimum 0x0CF8, // Range Maximum 0x01, // Alignment 0x08, // Length ) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0000, // Range Minimum 0x03AF, // Range Maximum 0x0000, // Translation Offset 0x03B0, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x03E0, // Range Minimum 0x03FF, // Range Maximum 0x0000, // Translation Offset 0x0020, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x03B0, // Range Minimum 0x03BB, // Range Maximum 0x0000, // Translation Offset 0x000C, // Length ,, _Y1A, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x03C0, // Range Minimum 0x03DF, // Range Maximum 0x0000, // Translation Offset 0x0020, // Length ,, _Y1B, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0400, // Range Minimum 0x041F, // Range Maximum 0x0000, // Translation Offset 0x0020, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x164E, // Range Minimum 0x164F, // Range Maximum 0x0000, // Translation Offset 0x0002, // Length ,, , TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xEFFF, // Range Maximum 0x0000, // Translation Offset 0xE300, // Length ,, _Y1C, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, _Y1D, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000C0000, // Range Minimum 0x000DFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, _Y1E, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y1F, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y20, AddressRangeMemory, TypeStatic) }) CreateWordField (CRS, \_SB.PCI0._Y19._MIN, MIN0) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0._Y19._MAX, MAX0) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.PCI0._Y19._LEN, LEN0) // _LEN: Length CreateWordField (CRS, \_SB.PCI0._Y1A._MIN, MIN1) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0._Y1A._MAX, MAX1) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.PCI0._Y1A._LEN, LEN1) // _LEN: Length CreateWordField (CRS, \_SB.PCI0._Y1B._MIN, MIN2) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0._Y1B._MAX, MAX2) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.PCI0._Y1B._LEN, LEN2) // _LEN: Length CreateWordField (CRS, \_SB.PCI0._Y1C._MIN, MIN3) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.PCI0._Y1C._MAX, MAX3) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.PCI0._Y1C._LEN, LEN3) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0._Y1D._MIN, MIN4) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.PCI0._Y1D._MAX, MAX4) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.PCI0._Y1D._LEN, LEN4) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0._Y1E._MIN, MIN5) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.PCI0._Y1E._MAX, MAX5) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.PCI0._Y1E._LEN, LEN5) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0._Y1F._MIN, MIN6) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.PCI0._Y1F._MAX, MAX6) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.PCI0._Y1F._LEN, LEN6) // _LEN: Length CreateDWordField (CRS, \_SB.PCI0._Y20._MIN, MIN7) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.PCI0._Y20._MAX, MAX7) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.PCI0._Y20._LEN, LEN7) // _LEN: Length Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (DIOH) { Local0 = B0SE /* \B0SE */ MIN0 = Local0 Local0 = B0SU /* \B0SU */ MAX0 = Local0 Local0 = (B0SU - B0SE) /* \B0SE */ LEN0 = (Local0 + One) } If ((DIOH && VGAR)) { MIN1 = Zero MAX1 = Zero LEN1 = Zero MIN2 = Zero MAX2 = Zero LEN2 = Zero MIN4 = Zero MAX4 = Zero LEN4 = Zero } Else { Noop } If (DIOH) { MIN3 = 0x0D00 MAX3 = B0IL /* \B0IL */ LEN3 = ((MAX3 - MIN3) + One) } Local0 = MG1L /* \MG1L */ If (Local0) { MIN5 = MG1B /* \MG1B */ LEN5 = MG1L /* \MG1L */ MAX5 = (MIN5 + Local0--) } MIN6 = MG2B /* \MG2B */ LEN6 = MG2L /* \MG2L */ Local0 = MG2L /* \MG2L */ If (Local0) { MAX6 = (MIN6 + Local0--) } MIN7 = MG3B /* \MG3B */ LEN7 = MG3L /* \MG3L */ Local0 = MG3L /* \MG3L */ If (Local0) { MAX7 = (MIN7 + Local0--) } Return (CRS) /* \_SB_.PCI0.CRS_ */ } } } Name (WOTB, Zero) Name (WSSB, Zero) Name (WAXB, Zero) Method (_PTS, 1, NotSerialized) // _PTS: Prepare To Sleep { DBG8 = Arg0 PTS (Arg0) WAKP [Zero] = Zero WAKP [One] = Zero If (((Arg0 == 0x04) && (OSFL () == 0x02))) { Sleep (0x0BB8) } WSSB = ASSB /* \ASSB */ WOTB = AOTB /* \AOTB */ WAXB = AAXB /* \AAXB */ ASSB = Arg0 AOTB = OSFL () OSTP = OSYS () AAXB = Zero } Method (_WAK, 1, NotSerialized) // _WAK: Wake { DBG8 = (Arg0 << 0x04) WAK (Arg0) If (ASSB) { ASSB = WSSB /* \WSSB */ AOTB = WOTB /* \WOTB */ AAXB = WAXB /* \WAXB */ } If (DerefOf (WAKP [Zero])) { WAKP [One] = Zero } Else { WAKP [One] = Arg0 } Return (WAKP) /* \WAKP */ } Scope (_SB) { Scope (BR50) { Name (_PXM, One) // _PXM: Device Proximity Name (_SLI, Package (0x04) // _SLI: System Locality Information { 0x15, 0x0A, 0x15, 0x0A }) Method (BN50, 0, NotSerialized) { Return (B1SE) /* \B1SE */ } Method (_STA, 0, NotSerialized) // _STA: Status { If ((B1SE != Zero)) { Return (0x0F) } Return (Zero) } Name (CRS, ResourceTemplate () { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode, 0x0000, // Granularity 0x0000, // Range Minimum 0x0000, // Range Maximum 0x0000, // Translation Offset 0x0000, // Length ,, _Y21) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x03B0, // Range Minimum 0x03BB, // Range Maximum 0x0000, // Translation Offset 0x000C, // Length ,, _Y22, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x03C0, // Range Minimum 0x03DF, // Range Maximum 0x0000, // Translation Offset 0x0020, // Length ,, _Y23, TypeStatic) WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange, 0x0000, // Granularity 0x0D00, // Range Minimum 0xEFFF, // Range Maximum 0x0000, // Translation Offset 0xE300, // Length ,, _Y24, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x000A0000, // Range Minimum 0x000BFFFF, // Range Maximum 0x00000000, // Translation Offset 0x00020000, // Length ,, _Y25, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y26, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y27, AddressRangeMemory, TypeStatic) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x00000000, // Range Maximum 0x00000000, // Translation Offset 0x00000000, // Length ,, _Y28, AddressRangeMemory, TypeStatic) }) CreateWordField (CRS, \_SB.BR50._Y21._MIN, MIN0) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.BR50._Y21._MAX, MAX0) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.BR50._Y21._LEN, LEN0) // _LEN: Length CreateWordField (CRS, \_SB.BR50._Y22._MIN, MIN1) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.BR50._Y22._MAX, MAX1) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.BR50._Y22._LEN, LEN1) // _LEN: Length CreateWordField (CRS, \_SB.BR50._Y23._MIN, MIN2) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.BR50._Y23._MAX, MAX2) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.BR50._Y23._LEN, LEN2) // _LEN: Length CreateWordField (CRS, \_SB.BR50._Y24._MIN, MIN3) // _MIN: Minimum Base Address CreateWordField (CRS, \_SB.BR50._Y24._MAX, MAX3) // _MAX: Maximum Base Address CreateWordField (CRS, \_SB.BR50._Y24._LEN, LEN3) // _LEN: Length CreateDWordField (CRS, \_SB.BR50._Y25._MIN, MIN4) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.BR50._Y25._MAX, MAX4) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.BR50._Y25._LEN, LEN4) // _LEN: Length CreateDWordField (CRS, \_SB.BR50._Y26._MIN, MIN5) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.BR50._Y26._MAX, MAX5) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.BR50._Y26._LEN, LEN5) // _LEN: Length CreateDWordField (CRS, \_SB.BR50._Y27._MIN, MIN6) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.BR50._Y27._MAX, MAX6) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.BR50._Y27._LEN, LEN6) // _LEN: Length CreateDWordField (CRS, \_SB.BR50._Y28._MIN, MIN7) // _MIN: Minimum Base Address CreateDWordField (CRS, \_SB.BR50._Y28._MAX, MAX7) // _MAX: Maximum Base Address CreateDWordField (CRS, \_SB.BR50._Y28._LEN, LEN7) // _LEN: Length Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { If (DIOH) { Local0 = B1SE /* \B1SE */ MIN0 = Local0 Local0 = B1SU /* \B1SU */ MAX0 = Local0 Local0 = (B1SU - B1SE) /* \B1SE */ LEN0 = (Local0 + One) } If (VGAR) { Noop } Else { MIN1 = Zero MAX1 = Zero LEN1 = Zero MIN2 = Zero MAX2 = Zero LEN2 = Zero MIN4 = Zero MAX4 = Zero LEN4 = Zero } If (DIOH) { MIN3 = B1IB /* \B1IB */ MAX3 = B1IL /* \B1IL */ If (B1IL) { LEN3 = ((B1IL - B1IB) + One) } Else { LEN3 = Zero } } MIN6 = B1MB /* \B1MB */ LEN6 = B1ML /* \B1ML */ Local0 = B1ML /* \B1ML */ If (Local0) { MAX6 = (MIN6 + Local0--) } MIN7 = BMGB /* \BMGB */ LEN7 = BMGL /* \BMGL */ Local0 = BMGL /* \BMGL */ If (Local0) { MAX7 = (MIN7 + Local0--) } Return (CRS) /* \_SB_.BR50.CRS_ */ } } Scope (PCI0) { Name (_SLI, Package (0x04) // _SLI: System Locality Information { 0x0A, 0x15, 0x0A, 0x15 }) } } Scope (_SB.PCI0) { OperationRegion (TVID, SystemMemory, 0xFED40F00, 0x02) Field (TVID, WordAcc, NoLock, Preserve) { VIDT, 16 } } Device (_SB.PCI0.SBRG.TPM) { Name (_HID, EisaId ("PNP0C31")) // _HID: Hardware ID Name (_CID, EisaId ("PNP0C31")) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { If (TPMF) { If ((VIDT != 0x8086)) { Return (0x0F) } Return (Zero) } Else { Return (Zero) } } } Device (_SB.PCI0.ITPM) { Name (_HID, "INTC0102") // _HID: Hardware ID Name (_CID, EisaId ("PNP0C31")) // _CID: Compatible ID Name (_UID, One) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFED40000, // Address Base 0x00005000, // Address Length ) }) Method (_STA, 0, NotSerialized) // _STA: Status { If (TPMF) { If ((VIDT == 0x8086)) { Return (0x0F) } Return (Zero) } Return (Zero) } } Scope (_SB.PCI0.SBRG.TPM) { Name (TAAX, Zero) OperationRegion (MIPT, SystemIO, SMIT, One) Field (MIPT, ByteAcc, NoLock, Preserve) { PSMI, 8 } Name (PPI1, Package (0x02) { Zero, Zero }) Name (PPI2, Package (0x03) { Zero, Zero, Zero }) Name (MBUF, Buffer (0x04) {}) CreateByteField (MBUF, Zero, BUF0) CreateByteField (MBUF, One, BUF1) CreateByteField (MBUF, 0x02, BUF2) CreateByteField (MBUF, 0x03, BUF3) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */)) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { Return (Buffer (One) { 0x7F /* . */ }) } ElseIf ((_T_0 == One)) { Return ("1.0") } ElseIf ((_T_0 == 0x02)) { TAAX = AAXB /* \AAXB */ BUF0 = CMRQ /* \CMRQ */ BUF1 = 0xF0 BUF2 = ToInteger (DerefOf (Arg3 [Zero])) BUF3 = One AAXB = MBUF /* \_SB_.PCI0.SBRG.TPM_.MBUF */ PSMI = 0xFB Sleep (0x03E8) AAXB = TAAX /* \_SB_.PCI0.SBRG.TPM_.TAAX */ Return (Zero) } ElseIf ((_T_0 == 0x03)) { TAAX = AAXB /* \AAXB */ BUF0 = CMRQ /* \CMRQ */ BUF1 = 0x0F BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.SBRG.TPM_.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local3 = BUF2 /* \_SB_.PCI0.SBRG.TPM_.BUF2 */ PPI1 [Zero] = Zero PPI1 [One] = Local3 AAXB = TAAX /* \_SB_.PCI0.SBRG.TPM_.TAAX */ Return (PPI1) /* \_SB_.PCI0.SBRG.TPM_.PPI1 */ } ElseIf ((_T_0 == 0x04)) { Return (0x02) } ElseIf ((_T_0 == 0x05)) { TAAX = AAXB /* \AAXB */ BUF0 = CMRQ /* \CMRQ */ BUF1 = 0xF0 BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.SBRG.TPM_.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local3 = (BUF2 >> 0x04) BUF0 = CMER /* \CMER */ BUF1 = 0xFF BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.SBRG.TPM_.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local6 = BUF2 /* \_SB_.PCI0.SBRG.TPM_.BUF2 */ Local4 = (CMER + One) BUF0 = Local4 BUF1 = 0xFF BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.SBRG.TPM_.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local7 = BUF2 /* \_SB_.PCI0.SBRG.TPM_.BUF2 */ Local2 = (Local7 * 0x0100) Local2 += Local6 PPI2 [Zero] = Zero PPI2 [One] = Local3 If ((Local2 == 0xFFF0)) { PPI2 [0x02] = 0xFFFFFFF0 } ElseIf ((Local2 == 0xFFF1)) { PPI2 [0x02] = 0xFFFFFFF1 } Else { PPI2 [0x02] = Local2 } AAXB = TAAX /* \_SB_.PCI0.SBRG.TPM_.TAAX */ Return (PPI2) /* \_SB_.PCI0.SBRG.TPM_.PPI2 */ } ElseIf ((_T_0 == 0x06)) { Return (Zero) } Else { } } ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d"))) { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler _T_1 = ToInteger (Arg2) If ((_T_1 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } ElseIf ((_T_1 == One)) { TAAX = AAXB /* \AAXB */ BUF0 = CMOR /* \CMOR */ BUF1 = 0xFE BUF2 = ToInteger (DerefOf (Arg3 [Zero])) BUF3 = One AAXB = MBUF /* \_SB_.PCI0.SBRG.TPM_.MBUF */ PSMI = 0xFB Sleep (0x0BB8) AAXB = TAAX /* \_SB_.PCI0.SBRG.TPM_.TAAX */ Return (Zero) } Else { } } Return (Buffer (One) { 0x00 /* . */ }) } } Scope (_SB.PCI0.ITPM) { Name (TAAX, Zero) OperationRegion (MIPT, SystemIO, SMIT, One) Field (MIPT, ByteAcc, NoLock, Preserve) { PSMI, 8 } Name (PPI1, Package (0x02) { Zero, Zero }) Name (PPI2, Package (0x03) { Zero, Zero, Zero }) Name (MBUF, Buffer (0x04) {}) CreateByteField (MBUF, Zero, BUF0) CreateByteField (MBUF, One, BUF1) CreateByteField (MBUF, 0x02, BUF2) CreateByteField (MBUF, 0x03, BUF3) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 == ToUUID ("3dddfaa6-361b-4eb4-a424-8d10089d1653") /* Physical Presence Interface */)) { Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler _T_0 = ToInteger (Arg2) If ((_T_0 == Zero)) { Return (Buffer (One) { 0x7F /* . */ }) } ElseIf ((_T_0 == One)) { Return ("1.0") } ElseIf ((_T_0 == 0x02)) { TAAX = AAXB /* \AAXB */ BUF0 = CMRQ /* \CMRQ */ BUF1 = 0xF0 BUF2 = ToInteger (DerefOf (Arg3 [Zero])) BUF3 = One AAXB = MBUF /* \_SB_.PCI0.ITPM.MBUF */ PSMI = 0xFB Sleep (0x03E8) AAXB = TAAX /* \_SB_.PCI0.ITPM.TAAX */ Return (Zero) } ElseIf ((_T_0 == 0x03)) { TAAX = AAXB /* \AAXB */ BUF0 = CMRQ /* \CMRQ */ BUF1 = 0x0F BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.ITPM.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local3 = BUF2 /* \_SB_.PCI0.ITPM.BUF2 */ PPI1 [Zero] = Zero PPI1 [One] = Local3 AAXB = TAAX /* \_SB_.PCI0.ITPM.TAAX */ Return (PPI1) /* \_SB_.PCI0.ITPM.PPI1 */ } ElseIf ((_T_0 == 0x04)) { Return (0x02) } ElseIf ((_T_0 == 0x05)) { TAAX = AAXB /* \AAXB */ BUF0 = CMRQ /* \CMRQ */ BUF1 = 0xF0 BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.ITPM.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local3 = (BUF2 >> 0x04) BUF0 = CMER /* \CMER */ BUF1 = 0xFF BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.ITPM.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local6 = BUF2 /* \_SB_.PCI0.ITPM.BUF2 */ Local4 = (CMER + One) BUF0 = Local4 BUF1 = 0xFF BUF2 = Zero BUF3 = Zero AAXB = MBUF /* \_SB_.PCI0.ITPM.MBUF */ PSMI = 0xFB Sleep (0x03E8) MBUF = AAXB /* \AAXB */ Local7 = BUF2 /* \_SB_.PCI0.ITPM.BUF2 */ Local2 = (Local7 * 0x0100) Local2 += Local6 PPI2 [Zero] = Zero PPI2 [One] = Local3 If ((Local2 == 0xFFF0)) { PPI2 [0x02] = 0xFFFFFFF0 } ElseIf ((Local2 == 0xFFF1)) { PPI2 [0x02] = 0xFFFFFFF1 } Else { PPI2 [0x02] = Local2 } AAXB = TAAX /* \_SB_.PCI0.ITPM.TAAX */ Return (PPI2) /* \_SB_.PCI0.ITPM.PPI2 */ } ElseIf ((_T_0 == 0x06)) { Return (Zero) } Else { } } ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d"))) { Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler _T_1 = ToInteger (Arg2) If ((_T_1 == Zero)) { Return (Buffer (One) { 0x03 /* . */ }) } ElseIf ((_T_1 == One)) { TAAX = AAXB /* \AAXB */ BUF0 = CMOR /* \CMOR */ BUF1 = 0xFE BUF2 = ToInteger (DerefOf (Arg3 [Zero])) BUF3 = One AAXB = MBUF /* \_SB_.PCI0.ITPM.MBUF */ PSMI = 0xFB Sleep (0x0BB8) AAXB = TAAX /* \_SB_.PCI0.ITPM.TAAX */ Return (Zero) } Else { } } Return (Buffer (One) { 0x00 /* . */ }) } } Name (_S0, Package (0x04) // _S0_: S0 System State { Zero, Zero, Zero, Zero }) If (SS1) { Name (_S1, Package (0x04) // _S1_: S1 System State { One, Zero, Zero, Zero }) } If (SS4) { Name (_S4, Package (0x04) // _S4_: S4 System State { 0x06, Zero, Zero, Zero }) } Name (_S5, Package (0x04) // _S5_: S5 System State { 0x07, Zero, Zero, Zero }) Method (PTS, 1, NotSerialized) { If (Arg0) { \_SB.PCI0.SBRG.SIOS (Arg0) \_SB.PCI0.NPTS (Arg0) \_SB.PCI0.SBRG.SPTS (Arg0) } } Method (WAK, 1, NotSerialized) { \_SB.PCI0.SBRG.SIOW (Arg0) \_SB.PCI0.NWAK (Arg0) \_SB.PCI0.SBRG.SWAK (Arg0) Notify (\_SB.PWRB, 0x02) // Device Wake } }