Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ACPI call for testing



Hi Joerg,

attached is a small but important patch for the ACPI subsystem.
The patch is known to fix interrupt routing issues on a number of
systems. There is a chance that it in fact fixes many of the outstanding
issues in this area. Typically signs are network devices always timing
out or a system load of 100% on an otherwise idle system with interrupt
counters racing up.

Please give the patch a try and report any regressions to an unpatched
kernel. I am also interested in reports for systems where ACPI has not
been working before. This patch is NetBSD 5.1 material, but only if it
gets tested properly.

On my shiny new ASUS M4A89TD PRO/USB3, the patch does indeed help a bit,
albeit there are some problems remaining.  Without the patch, the
system boots up, but it looses quite a lot of timer interrupts (or so
it looks.)  Keyboard repeat is quite intermittent, console beeps last
way too long, and the clock looses quite some time.  Booting without acpi
makes the box work quite well.  With acpi, using your patch, it seems
that the JMicron SATA-Controller doesn't get any interrupts, but on the SCI
(int 9) I get some form of interrupt storm, i.e. more than 90,000
interrupts per second, which more or less completely locks up one of the
cores on the machine.  Note that I had to disable pciide and jmide in order
to get the system to boot with this.

Attached please find the dmesg without acpi (boot -2, in dmesg.noacpi),
with acpi using the original GENERIC (dmesg.orig) and with acpi and your
patch (slightly modified for current, in dmesg.patch).  In addition,
there is the output of acpidump -dt and acpidump -o.

Any hint at what to try next?

Ciao,
Wolfgang
--
Wolfgang%Solfrank.net@localhost                         Wolfgang Solfrank
/*
  RSD PTR: OEM=ACPIAM, ACPI_Rev=2.0x (2)
        XSDT=0xc7d90100, length=36, cksum=59
 */
/*
  XSDT: Length=92, Revision=1, Checksum=70,
        OEMID=041310, OEM Table ID=XSDT1637, OEM Revision=0x20100413,
        Creator ID=MSFT, Creator Revision=0x97
        Entries={ 0xc7d90290, 0xc7d90390, 0xc7d90420, 0xc7da8040, 0xc7d9f8b0, 
0xc7d9f9c0, 0xc7d9fa00 }
 */
/*
  FACP: Length=244, Revision=3, Checksum=45,
        OEMID=041310, OEM Table ID=FACP1637, OEM Revision=0x20100413,
        Creator ID=MSFT, Creator Revision=0x97
        FACS=0xc7da8000, DSDT=0xc7d90460
        INT_MODEL=APIC
        Preferred_PM_Profile=Desktop (1)
        SCI_INT=9
        SMI_CMD=0xb0, ACPI_ENABLE=0xe1, ACPI_DISABLE=0x1e, S4BIOS_REQ=0x0
        PSTATE_CNT=0xe2
        PM1a_EVT_BLK=0x800-0x803
        PM1a_CNT_BLK=0x804-0x805
        PM2_CNT_BLK=0x8ff-0x8ff
        PM_TMR_BLK=0x808-0x80b
        GPE0_BLK=0x820-0x827
        CST_CNT=0xe3
        P_LVL2_LAT=101 us, P_LVL3_LAT=1001 us
        FLUSH_SIZE=1024, FLUSH_STRIDE=16
        DUTY_OFFSET=1, DUTY_WIDTH=3
        DAY_ALRM=13, MON_ALRM=0, CENTURY=50
        IAPC_BOOT_ARCH={LEGACY_DEVICES,8042}
        Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,32BIT_TIMER}
        X_FACS=0xc7da8000, X_DSDT=0xc7d90460
        X_PM1a_EVT_BLK=0x800:0[32] (IO)
        X_PM1a_CNT_BLK=0x804:0[16] (IO)
        X_PM_TMR_BLK=0x808:0[32] (IO)
        X_GPE0_BLK=0x820:0[32] (IO)
 */
/*
  FACS: Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
        Global_Lock=
        Flags=
        Version=1
 */
/*
  DSDT: Length=61491, Revision=1, Checksum=221,
        OEMID=A1656, OEM Table ID=A1656000, OEM Revision=0x0,
        Creator ID=INTL, Creator Revision=0x20060113
 */
/*
  APIC: Length=136, Revision=1, Checksum=250,
        OEMID=041310, OEM Table ID=APIC1637, OEM Revision=0x20100413,
        Creator ID=MSFT, Creator Revision=0x97
        Local APIC ADDR=0xfee00000
        Flags={PC-AT}

        Type=Local APIC
        ACPI CPU=1
        Flags={ENABLED}
        APIC ID=0

        Type=Local APIC
        ACPI CPU=2
        Flags={ENABLED}
        APIC ID=1

        Type=Local APIC
        ACPI CPU=3
        Flags={ENABLED}
        APIC ID=2

        Type=Local APIC
        ACPI CPU=4
        Flags={ENABLED}
        APIC ID=3

        Type=Local APIC
        ACPI CPU=5
        Flags={ENABLED}
        APIC ID=4

        Type=Local APIC
        ACPI CPU=6
        Flags={ENABLED}
        APIC ID=5

        Type=IO APIC
        APIC ID=6
        INT BASE=0
        ADDR=0x00000000fec00000

        Type=IO APIC
        APIC ID=7
        INT BASE=24
        ADDR=0x00000000fec20000

        Type=INT Override
        BUS=0
        IRQ=0
        INTR=2
        Flags={Polarity=conforming, Trigger=conforming}

        Type=INT Override
        BUS=0
        IRQ=9
        INTR=9
        Flags={Polarity=active-lo, Trigger=level}
 */
/*
  MCFG: Length=60, Revision=1, Checksum=104,
        OEMID=041310, OEM Table ID=OEMMCFG, OEM Revision=0x20100413,
        Creator ID=MSFT, Creator Revision=0x97

        Base Address=0x00000000e0000000
        Segment Group=0x0000
        Start Bus=0
        End Bus=255
 */
/*
  OEMB: Length=114, Revision=1, Checksum=25,
        OEMID=041310, OEM Table ID=OEMB1637, OEM Revision=0x20100413,
        Creator ID=MSFT, Creator Revision=0x97
 */
/*
  SRAT: Length=264, Revision=3, Checksum=73,
        OEMID=AMD, OEM Table ID=FAM_F_10, OEM Revision=0x2,
        Creator ID=AMD, Creator Revision=0x1
        Table Revision=1

        Type=CPU
        Flags={ENABLED}
        APIC ID=0
        Proximity Domain=0
        Clock Domain=0

        Type=CPU
        Flags={ENABLED}
        APIC ID=1
        Proximity Domain=0
        Clock Domain=1

        Type=CPU
        Flags={ENABLED}
        APIC ID=2
        Proximity Domain=0
        Clock Domain=2

        Type=CPU
        Flags={ENABLED}
        APIC ID=3
        Proximity Domain=0
        Clock Domain=3

        Type=CPU
        Flags={ENABLED}
        APIC ID=4
        Proximity Domain=0
        Clock Domain=4

        Type=CPU
        Flags={ENABLED}
        APIC ID=5
        Proximity Domain=0
        Clock Domain=5

        Type=Memory
        Flags={ENABLED}
        Base Address=0x0000000000000000
        Length=0x00000000000a0000
        Proximity Domain=0

        Type=Memory
        Flags={ENABLED}
        Base Address=0x0000000000100000
        Length=0x00000000c7f00000
        Proximity Domain=0

        Type=Memory
        Flags={ENABLED}
        Base Address=0x0000000100000000
        Length=0x0000000138000000
        Proximity Domain=0
 */
/*
  HPET: Length=56, Revision=1, Checksum=180,
        OEMID=041310, OEM Table ID=OEMHPET, OEM Revision=0x20100413,
        Creator ID=MSFT, Creator Revision=0x97
        HPET Number=2
        ADDR=0xfed00000:0[8] (Memory)   HW Rev=0x0
        Comparators=3
        Counter Size=0
        Legacy IRQ routing capable={TRUE}
        PCI Vendor ID=0x0000
        Minimal Tick=20
 */
/*
  SSDT: Length=3492, Revision=1, Checksum=129,
        OEMID=A M I, OEM Table ID=POWERNOW, OEM Revision=0x1,
        Creator ID=AMD, Creator Revision=0x1
 */
/*
 * Intel ACPI Component Architecture
 * AML Disassembler version 20100528
 *
 * Disassembly of /tmp/acpidump.27785a, Tue Jul  6 11:32:03 2010
 *
 *
 * Original Table Header:
 *     Signature        "DSDT"
 *     Length           0x0000FDB3 (64947)
 *     Revision         0x01 **** ACPI 1.0, no 64-bit math support
 *     Checksum         0x6D
 *     OEM ID           "A1656"
 *     OEM Table ID     "A1656000"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20060113 (537264403)
 */
DefinitionBlock ("/tmp/acpidump.aml", "DSDT", 1, "A1656", "A1656000", 
0x00000000)
{
    Name (OSTY, Ones)
    OperationRegion (ACMS, SystemIO, 0x72, 0x10)
    Field (ACMS, ByteAcc, NoLock, Preserve)
    {
        ICMS,   8, 
        DCMS,   8, 
                Offset (0x0E), 
        P80,    8
    }

    IndexField (ICMS, DCMS, ByteAcc, NoLock, Preserve)
    {
                Offset (0x01), 
                Offset (0x04), 
                Offset (0x08), 
        BS_A,   32
    }

    OperationRegion (CFGS, SystemMemory, BS_A, 0x0100)
    Field (CFGS, AnyAcc, NoLock, Preserve)
    {
                Offset (0x0C), 
        PCIE,   32, 
                Offset (0x7F), 
            ,   5, 
        GGN2,   1, 
                Offset (0x87), 
        GECE,   1, 
        IR_E,   1, 
                Offset (0x93), 
            ,   5, 
        OSCF,   1, 
                Offset (0x9E), 
        PRS0,   1, 
        DET0,   1, 
                Offset (0xA2), 
        PRS1,   1, 
        DET1,   1, 
                Offset (0xA6), 
        PRS2,   1, 
        DET2,   1, 
                Offset (0xAA), 
        PRS3,   1, 
        DET3,   1, 
                Offset (0xB2), 
            ,   6, 
        ABPS,   1, 
            ,   3, 
        GPPS,   1
    }

    OperationRegion (CMPT, SystemIO, 0x0C50, 0x03)
    Field (CMPT, ByteAcc, NoLock, Preserve)
    {
        CMID,   8, 
            ,   6, 
        GPCT,   2, 
        GP0I,   1, 
        GP1I,   1, 
        GP2I,   1, 
        GP3I,   1, 
        GP4I,   1, 
        GP5I,   1, 
        GP6I,   1, 
        GP7I,   1
    }

    OperationRegion (PCFG, SystemMemory, PCIE, 0x02000000)
    Field (PCFG, AnyAcc, NoLock, Preserve)
    {
                Offset (0x20078), 
                Offset (0x2007A), 
        PMSA,   1, 
                Offset (0x28078), 
                Offset (0x2807A), 
        PMSB,   1, 
                Offset (0x48078), 
                Offset (0x4807A), 
        PMSC,   1, 
                Offset (0x8800A), 
        STCL,   16, 
                Offset (0x880FC), 
        RMBA,   32, 
                Offset (0xA0004), 
        SMIE,   1, 
        SMME,   1, 
                Offset (0xA0008), 
        RVID,   8, 
                Offset (0xA0014), 
        SMB1,   32, 
                Offset (0xA0082), 
            ,   2, 
        G31O,   1, 
                Offset (0xA00E1), 
            ,   6, 
        ACIR,   1, 
                Offset (0xA4004), 
        PCMD,   2, 
                Offset (0xA807A), 
        PMS0,   1, 
                Offset (0xA8088), 
        TLS0,   4, 
                Offset (0xA907A), 
        PMS1,   1, 
                Offset (0xA9088), 
        TLS1,   4, 
                Offset (0xAA07A), 
        PMS2,   1, 
                Offset (0xAA088), 
        TLS2,   4, 
                Offset (0xAB07A), 
        PMS3,   1, 
                Offset (0xAB088), 
        TLS3,   4
    }

    OperationRegion (RMEM, SystemMemory, RMBA, 0x0200)
    Field (RMEM, AnyAcc, NoLock, Preserve)
    {
                Offset (0x04), 
        RMLN,   32
    }

    OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02)
    Field (PMIO, ByteAcc, NoLock, Preserve)
    {
        INPM,   8, 
        DAPM,   8
    }

    IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve)
    {
                Offset (0x24), 
        MMSO,   32, 
                Offset (0x60), 
        P1EB,   16
    }

    OperationRegion (ERMM, SystemMemory, MMSO, 0x1000)
    Field (ERMM, AnyAcc, NoLock, Preserve)
    {
                Offset (0x132), 
            ,   7, 
        GP51,   1, 
                Offset (0x136), 
            ,   7, 
        GP55,   1, 
                Offset (0x13A), 
            ,   7, 
        GP59,   1, 
                Offset (0x13D), 
        GP62,   8, 
                Offset (0x13F), 
            ,   7, 
        GP64,   1, 
                Offset (0x16A), 
            ,   7, 
        GE11,   1, 
            ,   7, 
        GE12,   1, 
                Offset (0x16E), 
            ,   7, 
        BATS,   1, 
                Offset (0x287), 
            ,   1, 
        CLPS,   1, 
                Offset (0x298), 
            ,   7, 
        G15A,   1, 
                Offset (0x2AF), 
            ,   2, 
        SLPS,   2, 
                Offset (0x376), 
        EPNM,   1, 
        DPPF,   1, 
                Offset (0x3BA), 
            ,   6, 
        PWDE,   1, 
                Offset (0x3BD), 
            ,   5, 
        ALLS,   1, 
                Offset (0x3EF), 
        PHYD,   1, 
            ,   1, 
            ,   1, 
        US5R,   1, 
                Offset (0x3F5), 
        GECD,   1
    }

    OperationRegion (ABIO, SystemIO, 0x0CD8, 0x08)
    Field (ABIO, DWordAcc, NoLock, Preserve)
    {
        INAB,   32, 
        DAAB,   32
    }

    Method (RDAB, 1, NotSerialized)
    {
        Store (Arg0, INAB)
        Return (DAAB)
    }

    Method (WTAB, 2, NotSerialized)
    {
        Store (Arg0, INAB)
        Store (Arg1, DAAB)
    }

    Method (RWAB, 3, NotSerialized)
    {
        And (RDAB (Arg0), Arg1, Local0)
        Or (Local0, Arg2, Local1)
        WTAB (Arg0, Local1)
    }

    Method (CABR, 3, NotSerialized)
    {
        ShiftLeft (Arg0, 0x05, Local0)
        Add (Local0, Arg1, Local1)
        ShiftLeft (Local1, 0x18, Local2)
        Add (Local2, Arg2, Local3)
        Return (Local3)
    }

    Method (GHPS, 2, NotSerialized)
    {
        If (LEqual (Arg0, Zero))
        {
            If (LEqual (Arg1, Zero))
            {
                RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFEFFF, Zero)
                RWAB (CABR (One, Zero, 0x65), 0xFFFFFEFE, Zero)
                Store (One, DET0)
            }

            If (LEqual (Arg1, 0x02))
            {
                RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFBFFF, Zero)
                RWAB (CABR (One, Zero, 0x65), 0xFFFFFBFB, Zero)
                Store (One, DET2)
            }

            Stall (0xC8)
        }

        If (LEqual (Arg0, One))
        {
            If (LEqual (Arg1, Zero))
            {
                RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFEFFF, 0x1000)
                RWAB (CABR (One, Zero, 0x65), 0xFFFFFEFE, 0x0101)
                Store (Zero, DET0)
            }

            If (LEqual (Arg1, 0x02))
            {
                RWAB (CABR (0x06, Zero, 0xC0), 0xFFFFBFFF, 0x4000)
                RWAB (CABR (One, Zero, 0x65), 0xFFFFFBFB, 0x0404)
                Store (Zero, DET2)
            }

            Stall (0xC8)
        }

        If (GGN2)
        {
            If (LEqual (Arg0, Zero))
            {
                GEN2 ()
                Store (RDAB (CABR (0x03, 0x02, 0xA5)), Local0)
                And (Local0, 0xFF, Local0)
                Store (0x01F4, Local1)
                While (LAnd (LGreater (Local1, Zero), LNotEqual (Local0, 0x10)))
                {
                    Store (RDAB (CABR (0x03, 0x02, 0xA5)), Local0)
                    And (Local0, 0xFF, Local0)
                    Decrement (Local1)
                    Stall (0xC8)
                    Stall (0xC8)
                }

                If (LNotEqual (Local0, 0x10))
                {
                    GEN1 ()
                }
            }
        }
    }

    Method (GEN2, 0, NotSerialized)
    {
        Store (0x02, TLS2)
        RWAB (CABR (0x03, 0x02, 0xA4), 0xFFFFFFFE, One)
        RWAB (CABR (0x03, 0x02, 0xA2), 0xFFFFDFFF, 0x2000)
        RWAB (CABR (0x03, 0x02, 0xC0), 0xFFFF7FFF, 0x8000)
        RWAB (CABR (0x03, 0x02, 0xA4), 0xDFFFFFFF, 0x20000000)
        Stall (0xC8)
        Stall (0xC8)
    }

    Method (GEN1, 0, NotSerialized)
    {
        Store (One, TLS2)
        RWAB (CABR (0x03, 0x02, 0xA4), 0xFFFFFFFE, Zero)
        RWAB (CABR (0x03, 0x02, 0xA2), 0xFFFFDFFF, 0x2000)
        Stall (0xC8)
        Stall (0xC8)
    }

    OperationRegion (P1E0, SystemIO, P1EB, 0x04)
    Field (P1E0, ByteAcc, NoLock, Preserve)
    {
            ,   14, 
        PEWS,   1, 
        WSTA,   1, 
            ,   14, 
        PEWD,   1
    }

    Method (SPTS, 1, NotSerialized)
    {
        Store (One, PCMD)
        Store (Arg0, P80)
        CPMS ()
        CPMS ()
        Store (One, PEWS)
    }

    Method (SWAK, 1, NotSerialized)
    {
        CPMS ()
        CPMS ()
        Store (One, PEWS)
    }

    Method (TRMD, 1, NotSerialized)
    {
    }

    Method (CPMS, 0, NotSerialized)
    {
        If (LEqual (EPNM, Zero))
        {
            Store (One, PMSA)
            Store (One, PMSB)
            Store (One, PMSC)
            Store (One, PMS0)
            Store (One, PMS1)
            Store (One, PMS2)
            Store (One, PMS3)
        }
    }

    Scope (_GPE)
    {
    }

    Name (DP80, 0x80)
    Name (DP90, 0x90)
    Name (SMIO, 0xB0)
    Name (SIOV, 0xFC)
    Name (SPIO, 0x2E)
    Name (IOPB, 0x0230)
    Name (IOPL, 0x10)
    Name (IOEB, 0x0290)
    Name (IOEL, 0x10)
    Name (IOGB, 0x0F40)
    Name (IOGL, 0x10)
    Name (IODB, 0x0A30)
    Name (IODL, 0x10)
    Name (IO1B, 0x0F40)
    Name (IO1L, 0x08)
    Name (IO3B, 0x0290)
    Name (IO3L, 0x80)
    Name (APIC, One)
    Name (PMBS, 0x0800)
    Name (PMLN, 0xA0)
    Name (GPBS, Zero)
    Name (GPLN, Zero)
    Name (SMB0, 0x0B00)
    Name (SMBB, 0x0B20)
    Name (SMBM, 0x20)
    Name (SMBL, 0x20)
    Name (AODS, 0xF5)
    Name (SMIP, 0xB0)
    Name (ACSS, One)
    Name (SBA1, 0x0B00)
    Name (SBA2, 0x0B20)
    Name (SIOP, 0x2E)
    Name (GIOB, 0x0F40)
    Name (T1OF, Zero)
    Name (T2OF, Zero)
    Name (T3OF, Zero)
    Name (CQST, 0x3C)
    Name (PCIB, 0xE0000000)
    Name (PCIL, 0x10000000)
    Name (PEHP, One)
    Name (SHPC, Zero)
    Name (PEPM, One)
    Name (PEER, One)
    Name (PECS, One)
    Name (SBRV, 0x0CD0)
    Name (SMBS, 0x0B20)
    OperationRegion (BIOS, SystemMemory, 0xC7DA8064, 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
    }

    Method (RRIO, 4, NotSerialized)
    {
        Store ("RRIO", Debug)
    }

    Method (RDMA, 3, NotSerialized)
    {
        Store ("rDMA", Debug)
    }

    Name (PICM, Zero)
    Method (_PIC, 1, NotSerialized)
    {
        If (Arg0)
        {
            Store (0xAA, DBG8)
        }
        Else
        {
            Store (0xAC, DBG8)
        }

        Store (Arg0, PICM)
    }

    Name (OSVR, Ones)
    Method (OSFL, 0, NotSerialized)
    {
        If (LNotEqual (OSVR, Ones))
        {
            Return (OSVR)
        }

        Name (TTT0, Zero)
        Store (OSYS (), TTT0)
        If (LEqual (TTT0, One))
        {
            Store (0x03, OSVR)
        }
        Else
        {
            If (LEqual (TTT0, 0x10))
            {
                Store (One, OSVR)
            }
            Else
            {
                If (LEqual (TTT0, 0x11))
                {
                    Store (0x02, OSVR)
                }
                Else
                {
                    If (LEqual (TTT0, 0x12))
                    {
                        Store (0x04, OSVR)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x13))
                        {
                            Store (Zero, OSVR)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x14))
                            {
                                Store (Zero, OSVR)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x15))
                                {
                                    Store (Zero, OSVR)
                                }
                            }
                        }
                    }
                }
            }
        }

        Return (OSVR)
    }

    Method (MCTH, 2, NotSerialized)
    {
        If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
        {
            Return (Zero)
        }

        Add (SizeOf (Arg0), One, Local0)
        Name (BUF0, Buffer (Local0) {})
        Name (BUF1, Buffer (Local0) {})
        Store (Arg0, BUF0)
        Store (Arg1, BUF1)
        While (Local0)
        {
            Decrement (Local0)
            If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
                BUF1, Local0))))
            {
                Return (Zero)
            }
        }

        Return (One)
    }

    Name (PRWP, Package (0x02)
    {
        Zero, 
        Zero
    })
    Method (GPRW, 2, NotSerialized)
    {
        Store (Arg0, Index (PRWP, Zero))
        Store (ShiftLeft (SS1, One), Local0)
        Or (Local0, ShiftLeft (SS2, 0x02), Local0)
        Or (Local0, ShiftLeft (SS3, 0x03), Local0)
        Or (Local0, ShiftLeft (SS4, 0x04), Local0)
        If (And (ShiftLeft (One, Arg1), Local0))
        {
            Store (Arg1, Index (PRWP, One))
        }
        Else
        {
            ShiftRight (Local0, One, Local0)
            If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
            {
                FindSetLeftBit (Local0, Index (PRWP, One))
            }
            Else
            {
                FindSetRightBit (Local0, Index (PRWP, One))
            }
        }

        Return (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)
    {
        Store (0x10, Local0)
        If (CondRefOf (_OSI, Local1))
        {
            If (_OSI ("Windows 2000"))
            {
                Store (0x12, Local0)
            }

            If (_OSI ("Windows 2001"))
            {
                Store (0x13, Local0)
            }

            If (_OSI ("Windows 2001 SP1"))
            {
                Store (0x13, Local0)
            }

            If (_OSI ("Windows 2001 SP2"))
            {
                Store (0x13, Local0)
            }

            If (_OSI ("Windows 2001.1"))
            {
                Store (0x14, Local0)
            }

            If (_OSI ("Windows 2001.1 SP1"))
            {
                Store (0x14, Local0)
            }

            If (_OSI ("Windows 2006"))
            {
                Store (0x15, Local0)
            }
        }
        Else
        {
            If (MCTH (_OS, "Microsoft Windows NT"))
            {
                Store (0x12, Local0)
            }
            Else
            {
                If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
                {
                    Store (0x11, Local0)
                }
            }
        }

        Return (Local0)
    }

    Scope (_PR)
    {
        Processor (P001, 0x01, 0x00000810, 0x06) {}
        Processor (P002, 0x02, 0x00000000, 0x00) {}
        Processor (P003, 0x03, 0x00000000, 0x00) {}
        Processor (P004, 0x04, 0x00000000, 0x00) {}
        Processor (P005, 0x05, 0x00000000, 0x00) {}
        Processor (P006, 0x06, 0x00000000, 0x00) {}
        Alias (P001, CPU1)
        Alias (P002, CPU2)
        Alias (P003, CPU3)
        Alias (P004, CPU4)
        Alias (P005, CPU5)
        Alias (P006, CPU6)
    }

    Scope (_SB)
    {
        Name (PR00, Package (0x1B)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0011FFFF, 
                Zero, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                One, 
                LNKB, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                LNKD, 
                Zero
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x03, 
                LNKD, 
                Zero
            }
        })
        Name (AR00, Package (0x1B)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x37
            }, 

            Package (0x04)
            {
                0x0002FFFF, 
                Zero, 
                Zero, 
                0x34
            }, 

            Package (0x04)
            {
                0x0003FFFF, 
                Zero, 
                Zero, 
                0x34
            }, 

            Package (0x04)
            {
                0x0004FFFF, 
                Zero, 
                Zero, 
                0x34
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x34
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                Zero, 
                0x35
            }, 

            Package (0x04)
            {
                0x0007FFFF, 
                Zero, 
                Zero, 
                0x35
            }, 

            Package (0x04)
            {
                0x0009FFFF, 
                Zero, 
                Zero, 
                0x35
            }, 

            Package (0x04)
            {
                0x000AFFFF, 
                Zero, 
                Zero, 
                0x36
            }, 

            Package (0x04)
            {
                0x000BFFFF, 
                Zero, 
                Zero, 
                0x36
            }, 

            Package (0x04)
            {
                0x000CFFFF, 
                Zero, 
                Zero, 
                0x36
            }, 

            Package (0x04)
            {
                0x000DFFFF, 
                Zero, 
                Zero, 
                0x36
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0012FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0013FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                Zero, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0016FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0011FFFF, 
                Zero, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                Zero, 
                Zero, 
                0x10
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                One, 
                Zero, 
                0x11
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x02, 
                Zero, 
                0x12
            }, 

            Package (0x04)
            {
                0x0015FFFF, 
                0x03, 
                Zero, 
                0x13
            }, 

            Package (0x04)
            {
                0x0014FFFF, 
                0x03, 
                Zero, 
                0x13
            }
        })
        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, 
                0x18
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x19
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x1A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x1B
            }
        })
        Name (PR13, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKH, 
                Zero
            }
        })
        Name (AR13, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x1C
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x1D
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x1E
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x1F
            }
        })
        Name (PR14, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKH, 
                Zero
            }
        })
        Name (AR14, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x2C
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x2D
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x2E
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x2F
            }
        })
        Name (PR15, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKF, 
                Zero
            }
        })
        Name (AR15, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x2E
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x2F
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x2C
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x2D
            }
        })
        Name (PR16, 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 (AR16, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x33
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x30
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x31
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x32
            }
        })
        Name (PR17, 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 (AR17, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x32
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x33
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x30
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x31
            }
        })
        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, 
                0x30
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x31
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x32
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x33
            }
        })
        Name (PR1A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKG, 
                Zero
            }
        })
        Name (AR1A, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x2F
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x2C
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x2D
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x2E
            }
        })
        Name (PR1B, 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 (AR1B, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x20
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x21
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x22
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x23
            }
        })
        Name (PR1C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKH, 
                Zero
            }
        })
        Name (AR1C, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x24
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x25
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x26
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x27
            }
        })
        Name (PR1D, 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 (AR1D, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                Zero, 
                0x28
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                Zero, 
                0x29
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                Zero, 
                0x2A
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                Zero, 
                0x2B
            }
        })
        Name (PR20, 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 (AR20, 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 (PR21, 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 (AR21, 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 (PR22, Package (0x04)
        {
            Package (0x04)
            {
                0xFFFF, 
                Zero, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                One, 
                LNKC, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x02, 
                LNKA, 
                Zero
            }, 

            Package (0x04)
            {
                0xFFFF, 
                0x03, 
                LNKB, 
                Zero
            }
        })
        Name (AR22, 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 (PR23, 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 (AR23, 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 (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 (PR0C, Package (0x08)
        {
            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                LNKE, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                One, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                LNKF, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                LNKG, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                LNKH, 
                Zero
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                LNKE, 
                Zero
            }
        })
        Name (AR0C, Package (0x08)
        {
            Package (0x04)
            {
                0x0005FFFF, 
                Zero, 
                Zero, 
                0x14
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                One, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x02, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0005FFFF, 
                0x03, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                Zero, 
                Zero, 
                0x15
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                One, 
                Zero, 
                0x16
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x02, 
                Zero, 
                0x17
            }, 

            Package (0x04)
            {
                0x0006FFFF, 
                0x03, 
                Zero, 
                0x14
            }
        })
        Name (PRSA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {4,7,10,11,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 ("PNP0A03"))
            Name (_ADR, 0x00180000)
            Method (^BN00, 0, NotSerialized)
            {
                Return (Zero)
            }

            Method (_BBN, 0, NotSerialized)
            {
                Return (BN00 ())
            }

            Name (_UID, Zero)
            Method (_PRT, 0, NotSerialized)
            {
                If (PICM)
                {
                    Return (AR00)
                }

                Return (PR00)
            }

            Method (NPTS, 1, NotSerialized)
            {
            }

            Method (NWAK, 1, NotSerialized)
            {
            }

            Device (RD8A)
            {
                Name (_ADR, Zero)
                OperationRegion (NB2, PCI_Config, Zero, 0x0100)
                Field (NB2, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x60), 
                    MI,     32, 
                    MD,     32, 
                            Offset (0x94), 
                    HI,     32, 
                    HD,     32, 
                            Offset (0xF8), 
                    API,    32, 
                    APD,    32
                }

                Device (NMEM)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x14)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y00)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y01)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.RD8A.NMEM._Y00._BAS, 
BAS1)
                        CreateDWordField (CRS, \_SB.PCI0.RD8A.NMEM._Y00._LEN, 
LEN1)
                        Store (0x3C, MI)
                        Store (MD, Local0)
                        If (And (Local0, 0x40))
                        {
                            Store (0x3A, MI)
                            And (MD, 0xFFFFFF00, BAS1)
                            ShiftLeft (And (MD, 0xFF), 0x17, LEN1)
                        }

                        CreateDWordField (CRS, \_SB.PCI0.RD8A.NMEM._Y01._BAS, 
BAS2)
                        CreateDWordField (CRS, \_SB.PCI0.RD8A.NMEM._Y01._LEN, 
LEN2)
                        Store (Zero, API)
                        Store (APD, Local1)
                        If (And (Local1, One))
                        {
                            Store (0x0100, LEN2)
                            Store (One, API)
                            And (APD, 0xFFFFFF00, BAS2)
                        }

                        Return (CRS)
                    }
                }
            }

            Device (IOMA)
            {
                Name (_ADR, 0x02)
                OperationRegion (NBF2, PCI_Config, Zero, 0x0100)
                Field (NBF2, AnyAcc, NoLock, Preserve)
                {
                    DID,    32, 
                            Offset (0x44), 
                    MBAS,   32
                }

                Device (UMEM)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x15)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y02)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.IOMA.UMEM._Y02._BAS, 
BAS3)
                        CreateDWordField (CRS, \_SB.PCI0.IOMA.UMEM._Y02._LEN, 
LEN3)
                        If (LNotEqual (DID, Ones))
                        {
                            Store (0x4000, LEN3)
                            And (MBAS, 0xFFFFFF00, BAS3)
                        }

                        Return (CRS)
                    }
                }
            }

            Device (PC02)
            {
                Name (_ADR, 0x00020000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR12)
                    }

                    Return (PR12)
                }
            }

            Device (PC03)
            {
                Name (_ADR, 0x00030000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR13)
                    }

                    Return (PR13)
                }
            }

            Device (PC04)
            {
                Name (_ADR, 0x00040000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR14)
                    }

                    Return (PR14)
                }

                Device (JMB0)
                {
                    Name (_ADR, Zero)
                    OperationRegion (CF40, PCI_Config, 0x40, 0x04)
                    Field (CF40, ByteAcc, NoLock, Preserve)
                    {
                        CHE0,   1, 
                        MULT,   1, 
                            ,   1, 
                        CAB0,   1, 
                        CHE1,   1, 
                                Offset (0x01), 
                        AHEN,   1, 
                            ,   3, 
                        PRT0,   1, 
                        AHM0,   1, 
                        PRT1,   1, 
                        AHM1,   1, 
                        CF42,   6, 
                        SWAP,   1, 
                        PATA,   1, 
                            ,   6, 
                        WTEN,   1, 
                                Offset (0x04)
                    }

                    Name (PIOT, Package (0x05)
                    {
                        0x0258, 
                        0x0186, 
                        0x014A, 
                        0xB4, 
                        0x78
                    })
                    Name (UDMA, Package (0x07)
                    {
                        0x78, 
                        0x50, 
                        0x3C, 
                        0x28, 
                        0x1E, 
                        0x14, 
                        0x0F
                    })
                    Name (MDMA, Package (0x03)
                    {
                        0x01E0, 
                        0x96, 
                        0x78
                    })
                    Name (IDEB, Buffer (0x14) {})
                    CreateDWordField (IDEB, Zero, GTM0)
                    CreateDWordField (IDEB, 0x04, GTM1)
                    CreateDWordField (IDEB, 0x08, GTM2)
                    CreateDWordField (IDEB, 0x0C, GTM3)
                    CreateDWordField (IDEB, 0x10, GTM4)
                    Name (PIO0, 0x04)
                    Name (DMA0, 0x06)
                    Name (MDA0, 0x02)
                    Name (PIO1, 0x04)
                    Name (DMA1, 0x06)
                    Name (MDA1, 0x02)
                    Name (PIO2, 0x04)
                    Name (DMA2, 0x06)
                    Name (MDA2, 0x02)
                    Name (PIO3, 0x04)
                    Name (DMA3, 0x06)
                    Name (MDA3, 0x02)
                    Name (FLGP, 0x1F)
                    Name (FLGS, 0x1F)
                    Device (IDE0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Store (DerefOf (Index (PIOT, PIO0)), Local0)
                            Store (DerefOf (Index (PIOT, PIO1)), Local2)
                            Store (0x1A, Local4)
                            If (LAnd (FLGP, One))
                            {
                                If (LNot (MULT))
                                {
                                    If (LAnd (CAB0, SWAP))
                                    {
                                        Store (0x02, DMA0)
                                    }
                                }

                                Store (DerefOf (Index (UDMA, DMA0)), Local1)
                                Or (Local4, One, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA0)), Local1)
                            }

                            If (LAnd (FLGP, 0x04))
                            {
                                If (LAnd (CAB0, SWAP))
                                {
                                    Store (0x02, DMA1)
                                }

                                Store (DerefOf (Index (UDMA, DMA1)), Local3)
                                Or (Local4, 0x04, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA1)), Local3)
                            }

                            Store (Local0, GTM0)
                            Store (Local1, GTM1)
                            Store (Local2, GTM2)
                            Store (Local3, GTM3)
                            Store (Local4, GTM4)
                            Return (IDEB)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                            Store (Arg0, IDEB)
                            Store (GTM0, Local0)
                            Store (GTM1, Local1)
                            Store (GTM2, Local2)
                            Store (GTM3, Local3)
                            Store (GTM4, Local4)
                            Store (Local4, FLGP)
                            If (LAnd (LNotEqual (Local0, Ones), LNotEqual 
(Local0, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local0, MTR, Zero, 
Zero), PIO0)
                            }

                            If (LAnd (LNotEqual (Local1, Ones), LNotEqual 
(Local1, Zero)))
                            {
                                If (LAnd (FLGP, One))
                                {
                                    Store (Match (UDMA, MEQ, Local1, MTR, Zero, 
Zero), DMA0)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local1, MTR, Zero, 
Zero), MDA0)
                                }
                            }

                            If (LAnd (LNotEqual (Local2, Ones), LNotEqual 
(Local2, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local2, MTR, Zero, 
Zero), PIO1)
                            }

                            If (LAnd (LNotEqual (Local3, Ones), LNotEqual 
(Local3, Zero)))
                            {
                                If (LAnd (FLGP, 0x04))
                                {
                                    Store (Match (UDMA, MEQ, Local3, MTR, Zero, 
Zero), DMA1)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local3, MTR, Zero, 
Zero), MDA1)
                                }
                            }
                        }

                        Device (DRV0)
                        {
                            Name (_ADR, Zero)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO0, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGP, One))
                                {
                                    Store (DMA0, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA0, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }

                        Device (DRV1)
                        {
                            Name (_ADR, One)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO1, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGP, 0x04))
                                {
                                    Store (DMA1, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA1, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }
                    }

                    Device (IDE1)
                    {
                        Name (_ADR, One)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Store (DerefOf (Index (PIOT, PIO2)), Local0)
                            Store (DerefOf (Index (PIOT, PIO3)), Local2)
                            Store (0x1A, Local4)
                            If (LAnd (FLGS, One))
                            {
                                If (LNot (MULT))
                                {
                                    If (LAnd (CAB0, LNot (SWAP)))
                                    {
                                        Store (0x02, DMA2)
                                    }
                                }

                                Store (DerefOf (Index (UDMA, DMA2)), Local1)
                                Or (Local4, One, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA2)), Local1)
                            }

                            If (LAnd (FLGS, 0x04))
                            {
                                If (LAnd (CAB0, LNot (SWAP)))
                                {
                                    Store (0x02, DMA3)
                                }

                                Store (DerefOf (Index (UDMA, DMA3)), Local3)
                                Or (Local4, 0x04, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA3)), Local3)
                            }

                            Store (Local0, GTM0)
                            Store (Local1, GTM1)
                            Store (Local2, GTM2)
                            Store (Local3, GTM3)
                            Store (Local4, GTM4)
                            Return (IDEB)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                            Store (Arg0, IDEB)
                            Store (GTM0, Local0)
                            Store (GTM1, Local1)
                            Store (GTM2, Local2)
                            Store (GTM3, Local3)
                            Store (GTM4, Local4)
                            Store (Local4, FLGS)
                            If (LAnd (LNotEqual (Local0, Ones), LNotEqual 
(Local0, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local0, MTR, Zero, 
Zero), PIO2)
                            }

                            If (LAnd (LNotEqual (Local1, Ones), LNotEqual 
(Local1, Zero)))
                            {
                                If (LAnd (FLGS, One))
                                {
                                    Store (Match (UDMA, MEQ, Local1, MTR, Zero, 
Zero), DMA2)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local1, MTR, Zero, 
Zero), MDA2)
                                }
                            }

                            If (LAnd (LNotEqual (Local2, Ones), LNotEqual 
(Local2, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local2, MTR, Zero, 
Zero), PIO3)
                            }

                            If (LAnd (LNotEqual (Local3, Ones), LNotEqual 
(Local3, Zero)))
                            {
                                If (LAnd (FLGS, 0x04))
                                {
                                    Store (Match (UDMA, MEQ, Local3, MTR, Zero, 
Zero), DMA3)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local3, MTR, Zero, 
Zero), MDA3)
                                }
                            }
                        }

                        Device (DRV0)
                        {
                            Name (_ADR, Zero)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO2, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGS, One))
                                {
                                    Store (DMA2, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA2, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }

                        Device (DRV1)
                        {
                            Name (_ADR, One)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO3, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGS, 0x04))
                                {
                                    Store (DMA3, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA3, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }
                    }
                }

                Device (JMB1)
                {
                    Name (_ADR, One)
                    OperationRegion (CF40, PCI_Config, 0x40, 0x04)
                    Field (CF40, ByteAcc, NoLock, Preserve)
                    {
                        CHE0,   1, 
                        MULT,   1, 
                            ,   1, 
                        CAB0,   1, 
                        CHE1,   1, 
                                Offset (0x01), 
                        AHEN,   1, 
                            ,   3, 
                        PRT0,   1, 
                        AHM0,   1, 
                        PRT1,   1, 
                        AHM1,   1, 
                        CF42,   6, 
                        SWAP,   1, 
                        PATA,   1, 
                            ,   6, 
                        WTEN,   1, 
                                Offset (0x04)
                    }

                    Name (PIOT, Package (0x05)
                    {
                        0x0258, 
                        0x0186, 
                        0x014A, 
                        0xB4, 
                        0x78
                    })
                    Name (UDMA, Package (0x07)
                    {
                        0x78, 
                        0x50, 
                        0x3C, 
                        0x28, 
                        0x1E, 
                        0x14, 
                        0x0F
                    })
                    Name (MDMA, Package (0x03)
                    {
                        0x01E0, 
                        0x96, 
                        0x78
                    })
                    Name (IDEB, Buffer (0x14) {})
                    CreateDWordField (IDEB, Zero, GTM0)
                    CreateDWordField (IDEB, 0x04, GTM1)
                    CreateDWordField (IDEB, 0x08, GTM2)
                    CreateDWordField (IDEB, 0x0C, GTM3)
                    CreateDWordField (IDEB, 0x10, GTM4)
                    Name (PIO0, 0x04)
                    Name (DMA0, 0x06)
                    Name (MDA0, 0x02)
                    Name (PIO1, 0x04)
                    Name (DMA1, 0x06)
                    Name (MDA1, 0x02)
                    Name (PIO2, 0x04)
                    Name (DMA2, 0x06)
                    Name (MDA2, 0x02)
                    Name (PIO3, 0x04)
                    Name (DMA3, 0x06)
                    Name (MDA3, 0x02)
                    Name (FLGP, 0x1F)
                    Name (FLGS, 0x1F)
                    Device (IDE0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Store (DerefOf (Index (PIOT, PIO0)), Local0)
                            Store (DerefOf (Index (PIOT, PIO1)), Local2)
                            Store (0x1A, Local4)
                            If (LAnd (FLGP, One))
                            {
                                If (LAnd (CAB0, SWAP))
                                {
                                    Store (0x02, DMA0)
                                }

                                Store (DerefOf (Index (UDMA, DMA0)), Local1)
                                Or (Local4, One, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA0)), Local1)
                            }

                            If (LAnd (FLGP, 0x04))
                            {
                                If (LAnd (CAB0, SWAP))
                                {
                                    Store (0x02, DMA1)
                                }

                                Store (DerefOf (Index (UDMA, DMA1)), Local3)
                                Or (Local4, 0x04, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA1)), Local3)
                            }

                            Store (Local0, GTM0)
                            Store (Local1, GTM1)
                            Store (Local2, GTM2)
                            Store (Local3, GTM3)
                            Store (Local4, GTM4)
                            Return (IDEB)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                            Store (Arg0, IDEB)
                            Store (GTM0, Local0)
                            Store (GTM1, Local1)
                            Store (GTM2, Local2)
                            Store (GTM3, Local3)
                            Store (GTM4, Local4)
                            Store (Local4, FLGP)
                            If (LAnd (LNotEqual (Local0, Ones), LNotEqual 
(Local0, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local0, MTR, Zero, 
Zero), PIO0)
                            }

                            If (LAnd (LNotEqual (Local1, Ones), LNotEqual 
(Local1, Zero)))
                            {
                                If (LAnd (FLGP, One))
                                {
                                    Store (Match (UDMA, MEQ, Local1, MTR, Zero, 
Zero), DMA0)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local1, MTR, Zero, 
Zero), MDA0)
                                }
                            }

                            If (LAnd (LNotEqual (Local2, Ones), LNotEqual 
(Local2, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local2, MTR, Zero, 
Zero), PIO1)
                            }

                            If (LAnd (LNotEqual (Local3, Ones), LNotEqual 
(Local3, Zero)))
                            {
                                If (LAnd (FLGP, 0x04))
                                {
                                    Store (Match (UDMA, MEQ, Local3, MTR, Zero, 
Zero), DMA1)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local3, MTR, Zero, 
Zero), MDA1)
                                }
                            }
                        }

                        Device (DRV0)
                        {
                            Name (_ADR, Zero)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO0, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGP, One))
                                {
                                    Store (DMA0, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA0, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }

                        Device (DRV1)
                        {
                            Name (_ADR, One)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO1, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGP, 0x04))
                                {
                                    Store (DMA1, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA1, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }
                    }

                    Device (IDE1)
                    {
                        Name (_ADR, One)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Store (DerefOf (Index (PIOT, PIO2)), Local0)
                            Store (DerefOf (Index (PIOT, PIO3)), Local2)
                            Store (0x1A, Local4)
                            If (LAnd (FLGS, One))
                            {
                                If (LAnd (CAB0, LNot (SWAP)))
                                {
                                    Store (0x02, DMA2)
                                }

                                Store (DerefOf (Index (UDMA, DMA2)), Local1)
                                Or (Local4, One, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA2)), Local1)
                            }

                            If (LAnd (FLGS, 0x04))
                            {
                                If (LAnd (CAB0, LNot (SWAP)))
                                {
                                    Store (0x02, DMA3)
                                }

                                Store (DerefOf (Index (UDMA, DMA3)), Local3)
                                Or (Local4, 0x04, Local4)
                            }
                            Else
                            {
                                Store (DerefOf (Index (MDMA, MDA3)), Local3)
                            }

                            Store (Local0, GTM0)
                            Store (Local1, GTM1)
                            Store (Local2, GTM2)
                            Store (Local3, GTM3)
                            Store (Local4, GTM4)
                            Return (IDEB)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                            Store (Arg0, IDEB)
                            Store (GTM0, Local0)
                            Store (GTM1, Local1)
                            Store (GTM2, Local2)
                            Store (GTM3, Local3)
                            Store (GTM4, Local4)
                            Store (Local4, FLGS)
                            If (LAnd (LNotEqual (Local0, Ones), LNotEqual 
(Local0, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local0, MTR, Zero, 
Zero), PIO2)
                            }

                            If (LAnd (LNotEqual (Local1, Ones), LNotEqual 
(Local1, Zero)))
                            {
                                If (LAnd (FLGS, One))
                                {
                                    Store (Match (UDMA, MEQ, Local1, MTR, Zero, 
Zero), DMA2)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local1, MTR, Zero, 
Zero), MDA2)
                                }
                            }

                            If (LAnd (LNotEqual (Local2, Ones), LNotEqual 
(Local2, Zero)))
                            {
                                Store (Match (PIOT, MEQ, Local2, MTR, Zero, 
Zero), PIO3)
                            }

                            If (LAnd (LNotEqual (Local3, Ones), LNotEqual 
(Local3, Zero)))
                            {
                                If (LAnd (FLGS, 0x04))
                                {
                                    Store (Match (UDMA, MEQ, Local3, MTR, Zero, 
Zero), DMA3)
                                }
                                Else
                                {
                                    Store (Match (MDMA, MEQ, Local3, MTR, Zero, 
Zero), MDA3)
                                }
                            }
                        }

                        Device (DRV0)
                        {
                            Name (_ADR, Zero)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO2, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGS, One))
                                {
                                    Store (DMA2, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA2, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }

                        Device (DRV1)
                        {
                            Name (_ADR, One)
                            Method (_GTF, 0, NotSerialized)
                            {
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local0)
                                Store (Buffer (0x07)
                                    {
                                        0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF
                                    }, Local1)
                                CreateByteField (Local0, One, PIOM)
                                CreateByteField (Local1, One, DMAM)
                                Store (PIO3, PIOM)
                                Or (PIOM, 0x08, PIOM)
                                If (LAnd (FLGS, 0x04))
                                {
                                    Store (DMA3, DMAM)
                                    Or (DMAM, 0x40, DMAM)
                                }
                                Else
                                {
                                    Store (MDA3, DMAM)
                                    Or (DMAM, 0x20, DMAM)
                                }

                                Concatenate (Local0, Local1, Local2)
                                Return (Local2)
                            }
                        }
                    }
                }
            }

            Device (PC05)
            {
                Name (_ADR, 0x00050000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR15)
                    }

                    Return (PR15)
                }
            }

            Device (PC06)
            {
                Name (_ADR, 0x00060000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR16)
                    }

                    Return (PR16)
                }
            }

            Device (PC07)
            {
                Name (_ADR, 0x00070000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR17)
                    }

                    Return (PR17)
                }
            }

            Device (PC09)
            {
                Name (_ADR, 0x00090000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR19)
                    }

                    Return (PR19)
                }
            }

            Device (PC0A)
            {
                Name (_ADR, 0x000A0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR1A)
                    }

                    Return (PR1A)
                }
            }

            Device (PC0B)
            {
                Name (_ADR, 0x000B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR1B)
                    }

                    Return (PR1B)
                }
            }

            Device (PC0C)
            {
                Name (_ADR, 0x000C0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR1C)
                    }

                    Return (PR1C)
                }
            }

            Device (PC0D)
            {
                Name (_ADR, 0x000D0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x18, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR1D)
                    }

                    Return (PR1D)
                }
            }

            Device (SMBS)
            {
                Name (_ADR, 0x00140000)
                OperationRegion (SMBS, PCI_Config, Zero, 0x0100)
                Field (SMBS, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x08), 
                    REV,    8, 
                            Offset (0x62), 
                    I1F,    1, 
                    I12F,   1, 
                        ,   2, 
                    MT3A,   1
                }

                OperationRegion (WIDE, PCI_Config, 0xAD, One)
                Field (WIDE, AnyAcc, NoLock, Preserve)
                {
                    DUM1,   4, 
                    SOPT,   1
                }
            }

            Device (IDEC)
            {
                Name (_ADR, 0x00140001)
                Name (UDMT, Package (0x08)
                {
                    0x78, 
                    0x5A, 
                    0x3C, 
                    0x2D, 
                    0x1E, 
                    0x14, 
                    0x0F, 
                    Zero
                })
                Name (PIOT, Package (0x06)
                {
                    0x0258, 
                    0x0186, 
                    0x010E, 
                    0xB4, 
                    0x78, 
                    Zero
                })
                Name (PITR, Package (0x06)
                {
                    0x99, 
                    0x47, 
                    0x34, 
                    0x22, 
                    0x20, 
                    0x99
                })
                Name (MDMT, Package (0x04)
                {
                    0x01E0, 
                    0x96, 
                    0x78, 
                    Zero
                })
                Name (MDTR, Package (0x04)
                {
                    0x77, 
                    0x21, 
                    0x20, 
                    0xFF
                })
                OperationRegion (IDE, PCI_Config, 0x40, 0x20)
                Field (IDE, AnyAcc, NoLock, Preserve)
                {
                    PPIT,   16, 
                    SPIT,   16, 
                    PMDT,   16, 
                    SMDT,   16, 
                    PPIC,   8, 
                    SPIC,   8, 
                    PPIM,   8, 
                    SPIM,   8, 
                            Offset (0x14), 
                    PUDC,   2, 
                    SUDC,   2, 
                            Offset (0x16), 
                    PUDM,   8, 
                    SUDM,   8
                }

                Method (GETT, 1, NotSerialized)
                {
                    Store (And (Arg0, 0x0F), Local0)
                    Store (ShiftRight (Arg0, 0x04), Local1)
                    Return (Multiply (0x1E, Add (Add (Local0, One), Add 
(Local1, 
                        One))))
                }

                Method (GTM, 1, NotSerialized)
                {
                    CreateByteField (Arg0, Zero, PIT1)
                    CreateByteField (Arg0, One, PIT0)
                    CreateByteField (Arg0, 0x02, MDT1)
                    CreateByteField (Arg0, 0x03, MDT0)
                    CreateByteField (Arg0, 0x04, PICX)
                    CreateByteField (Arg0, 0x05, UDCX)
                    CreateByteField (Arg0, 0x06, UDMX)
                    Name (BUF, Buffer (0x14)
                    {
                        /* 0000 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
0xFF, 
                        /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 
0xFF, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                    })
                    CreateDWordField (BUF, Zero, PIO0)
                    CreateDWordField (BUF, 0x04, DMA0)
                    CreateDWordField (BUF, 0x08, PIO1)
                    CreateDWordField (BUF, 0x0C, DMA1)
                    CreateDWordField (BUF, 0x10, FLAG)
                    If (And (PICX, One))
                    {
                        Return (BUF)
                    }

                    Store (GETT (PIT0), PIO0)
                    Store (GETT (PIT1), PIO1)
                    If (And (UDCX, One))
                    {
                        Or (FLAG, One, FLAG)
                        Store (DerefOf (Index (UDMT, And (UDMX, 0x0F))), DMA0)
                    }
                    Else
                    {
                        Store (GETT (MDT0), DMA0)
                    }

                    If (And (UDCX, 0x02))
                    {
                        Or (FLAG, 0x04, FLAG)
                        Store (DerefOf (Index (UDMT, ShiftRight (UDMX, 0x04))), 
DMA1)
                    }
                    Else
                    {
                        Store (GETT (MDT1), DMA1)
                    }

                    Or (FLAG, 0x1A, FLAG)
                    Return (BUF)
                }

                Method (STM, 3, NotSerialized)
                {
                    CreateDWordField (Arg0, Zero, PIO0)
                    CreateDWordField (Arg0, 0x04, DMA0)
                    CreateDWordField (Arg0, 0x08, PIO1)
                    CreateDWordField (Arg0, 0x0C, DMA1)
                    CreateDWordField (Arg0, 0x10, FLAG)
                    Name (BUF, Buffer (0x07)
                    {
                        0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                    })
                    CreateByteField (BUF, Zero, PIT1)
                    CreateByteField (BUF, One, PIT0)
                    CreateByteField (BUF, 0x02, MDT1)
                    CreateByteField (BUF, 0x03, MDT0)
                    CreateByteField (BUF, 0x04, PIMX)
                    CreateByteField (BUF, 0x05, UDCX)
                    CreateByteField (BUF, 0x06, UDMX)
                    Store (Match (PIOT, MLE, PIO0, MTR, Zero, Zero), Local0)
                    Divide (Local0, 0x05, Local0)
                    Store (Match (PIOT, MLE, PIO1, MTR, Zero, Zero), Local1)
                    Divide (Local1, 0x05, Local1)
                    Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX)
                    Store (DerefOf (Index (PITR, Local0)), PIT0)
                    Store (DerefOf (Index (PITR, Local1)), PIT1)
                    If (And (FLAG, One))
                    {
                        Store (Match (UDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
                        Divide (Local0, 0x07, Local0)
                        Or (UDMX, Local0, UDMX)
                        Or (UDCX, One, UDCX)
                    }
                    Else
                    {
                        If (LNotEqual (DMA0, Ones))
                        {
                            Store (Match (MDMT, MLE, DMA0, MTR, Zero, Zero), 
Local0)
                            Store (DerefOf (Index (MDTR, Local0)), MDT0)
                        }
                    }

                    If (And (FLAG, 0x04))
                    {
                        Store (Match (UDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
                        Divide (Local0, 0x07, Local0)
                        Or (UDMX, ShiftLeft (Local0, 0x04), UDMX)
                        Or (UDCX, 0x02, UDCX)
                    }
                    Else
                    {
                        If (LNotEqual (DMA1, Ones))
                        {
                            Store (Match (MDMT, MLE, DMA1, MTR, Zero, Zero), 
Local0)
                            Store (DerefOf (Index (MDTR, Local0)), MDT1)
                        }
                    }

                    Return (BUF)
                }

                Method (GTF, 2, NotSerialized)
                {
                    CreateByteField (Arg1, Zero, MDT1)
                    CreateByteField (Arg1, One, MDT0)
                    CreateByteField (Arg1, 0x02, PIMX)
                    CreateByteField (Arg1, 0x03, UDCX)
                    CreateByteField (Arg1, 0x04, UDMX)
                    If (LEqual (Arg0, 0xA0))
                    {
                        Store (And (PIMX, 0x0F), Local0)
                        Store (MDT0, Local1)
                        And (UDCX, One, Local2)
                        Store (And (UDMX, 0x0F), Local3)
                    }
                    Else
                    {
                        Store (ShiftRight (PIMX, 0x04), Local0)
                        Store (MDT1, Local1)
                        And (UDCX, 0x02, Local2)
                        Store (ShiftRight (UDMX, 0x04), Local3)
                    }

                    Name (BUF, Buffer (0x15)
                    {
                        /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 
0x03, 
                        /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x00, 
0x00, 
                        /* 0010 */    0x00, 0x00, 0x00, 0x00, 0xF5
                    })
                    CreateByteField (BUF, One, PMOD)
                    CreateByteField (BUF, 0x08, DMOD)
                    CreateByteField (BUF, 0x05, CMDA)
                    CreateByteField (BUF, 0x0C, CMDB)
                    CreateByteField (BUF, 0x13, CMDC)
                    Store (Arg0, CMDA)
                    Store (Arg0, CMDB)
                    Store (Arg0, CMDC)
                    Or (Local0, 0x08, PMOD)
                    If (Local2)
                    {
                        Or (Local3, 0x40, DMOD)
                    }
                    Else
                    {
                        Store (Match (MDMT, MLE, GETT (Local1), MTR, Zero, 
Zero), Local4)
                        If (LLess (Local4, 0x03))
                        {
                            Or (0x20, Local4, DMOD)
                        }
                    }

                    Return (BUF)
                }

                Device (PRID)
                {
                    Name (_ADR, Zero)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIC)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), 
^^^SMBS.SOPT))
                        {
                            Store (PPIT, VPIT)
                            Store (PMDT, VMDT)
                            Store (PPIC, VPIC)
                            Store (PUDC, VUDC)
                            Store (PUDM, VUDM)
                        }
                        Else
                        {
                            Store (SPIT, VPIT)
                            Store (SMDT, VMDT)
                            Store (SPIC, VPIC)
                            Store (SUDC, VUDC)
                            Store (SUDM, VUDM)
                        }

                        Return (GTM (BUF))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIM)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        Store (STM (Arg0, Arg1, Arg2), BUF)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), 
^^^SMBS.SOPT))
                        {
                            Store (VPIT, PPIT)
                            Store (VMDT, PMDT)
                            Store (VPIM, PPIM)
                            Store (VUDC, PUDC)
                            Store (VUDM, PUDM)
                        }
                        Else
                        {
                            Store (VPIT, SPIT)
                            Store (VMDT, SMDT)
                            Store (VPIM, SPIM)
                            Store (VUDC, SUDC)
                            Store (VUDM, SUDM)
                        }
                    }

                    Device (P_D0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), 
^^^^SMBS.SOPT))
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }
                            Else
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }

                            Return (GTF (0xA0, BUF))
                        }
                    }

                    Device (P_D1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), 
^^^^SMBS.SOPT))
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }
                            Else
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }

                            Return (GTF (0xB0, BUF))
                        }
                    }
                }

                Device (SECD)
                {
                    Name (_ADR, One)
                    Method (_GTM, 0, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIC)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), 
^^^SMBS.SOPT))
                        {
                            Store (SPIT, VPIT)
                            Store (SMDT, VMDT)
                            Store (SPIC, VPIC)
                            Store (SUDC, VUDC)
                            Store (SUDM, VUDM)
                        }
                        Else
                        {
                            Store (PPIT, VPIT)
                            Store (PMDT, VMDT)
                            Store (PPIC, VPIC)
                            Store (PUDC, VUDC)
                            Store (PUDM, VUDM)
                        }

                        Return (GTM (BUF))
                    }

                    Method (_STM, 3, NotSerialized)
                    {
                        Name (BUF, Buffer (0x07)
                        {
                            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                        })
                        CreateWordField (BUF, Zero, VPIT)
                        CreateWordField (BUF, 0x02, VMDT)
                        CreateByteField (BUF, 0x04, VPIM)
                        CreateByteField (BUF, 0x05, VUDC)
                        CreateByteField (BUF, 0x06, VUDM)
                        Store (STM (Arg0, Arg1, Arg2), BUF)
                        If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), 
^^^SMBS.SOPT))
                        {
                            Store (VPIT, SPIT)
                            Store (VMDT, SMDT)
                            Store (VPIM, SPIM)
                            Store (VUDC, SUDC)
                            Store (VUDM, SUDM)
                        }
                        Else
                        {
                            Store (VPIT, PPIT)
                            Store (VMDT, PMDT)
                            Store (VPIM, PPIM)
                            Store (VUDC, PUDC)
                            Store (VUDM, PUDM)
                        }
                    }

                    Device (S_D0)
                    {
                        Name (_ADR, Zero)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), 
^^^^SMBS.SOPT))
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }
                            Else
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }

                            Return (GTF (0xA0, BUF))
                        }
                    }

                    Device (S_D1)
                    {
                        Name (_ADR, One)
                        Method (_GTF, 0, NotSerialized)
                        {
                            Name (BUF, Buffer (0x05)
                            {
                                0x00, 0x00, 0x00, 0x00, 0x00
                            })
                            CreateWordField (BUF, Zero, VMDT)
                            CreateByteField (BUF, 0x02, VPIM)
                            CreateByteField (BUF, 0x03, VUDC)
                            CreateByteField (BUF, 0x04, VUDM)
                            If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), 
^^^^SMBS.SOPT))
                            {
                                Store (SMDT, VMDT)
                                Store (SPIM, VPIM)
                                Store (SUDC, VUDC)
                                Store (SUDM, VUDM)
                            }
                            Else
                            {
                                Store (PMDT, VMDT)
                                Store (PPIM, VPIM)
                                Store (PUDC, VUDC)
                                Store (PUDM, VUDM)
                            }

                            Return (GTF (0xB0, BUF))
                        }
                    }
                }
            }

            Device (SBAZ)
            {
                Name (_ADR, 0x00140002)
                OperationRegion (PCI, PCI_Config, Zero, 0x0100)
                Field (PCI, AnyAcc, NoLock, Preserve)
                {
                            Offset (0x42), 
                    DNSP,   1, 
                    DNSO,   1, 
                    ENSR,   1
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x1B, 0x04))
                }
            }

            Device (P0PC)
            {
                Name (_ADR, 0x00140004)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x04, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR0C)
                    }

                    Return (PR0C)
                }
            }

            Device (UHC1)
            {
                Name (_ADR, 0x00120000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC2)
            {
                Name (_ADR, 0x00120002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (USB3)
            {
                Name (_ADR, 0x00130000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC4)
            {
                Name (_ADR, 0x00130002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (USB5)
            {
                Name (_ADR, 0x00160000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC6)
            {
                Name (_ADR, 0x00160002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (UHC7)
            {
                Name (_ADR, 0x00140005)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0B, 0x04))
                }
            }

            Device (SATA)
            {
                Name (_ADR, 0x00110000)
                If (LEqual (STCL, 0x0101))
                {
                    Method (_INI, 0, NotSerialized)
                    {
                    }

                    OperationRegion (SACS, PCI_Config, Zero, 0x40)
                    Field (SACS, AnyAcc, NoLock, Preserve)
                    {
                                Offset (0x24), 
                        STB5,   32
                    }

                    Name (SPTM, Buffer (0x14)
                    {
                        /* 0000 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 
0x00, 
                        /* 0008 */    0x78, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 
0x00, 
                        /* 0010 */    0x1F, 0x00, 0x00, 0x00
                    })
                    Device (PRID)
                    {
                        Name (_ADR, Zero)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Return (SPTM)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                        }

                        Name (PRIS, Zero)
                        Method (_PS0, 0, NotSerialized)
                        {
                            OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                            Field (BAR, AnyAcc, NoLock, Preserve)
                            {
                                        Offset (0x120), 
                                    ,   7, 
                                PMBY,   1, 
                                        Offset (0x128), 
                                PMS0,   4, 
                                        Offset (0x129), 
                                PMS1,   4, 
                                        Offset (0x220), 
                                    ,   7, 
                                PSBY,   1, 
                                        Offset (0x228), 
                                PSS0,   4, 
                                        Offset (0x229), 
                                PSS1,   4, 
                                        Offset (0x2A0), 
                                    ,   7
                            }

                            If (LOr (LEqual (OSTY, 0x06), LEqual (OSTY, 0x04)))
                            {
                                If (PMS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (PMBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }

                                If (PSS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (PSBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }
                            }

                            Store (Zero, PRIS)
                        }

                        Method (_PS3, 0, NotSerialized)
                        {
                            Store (0x03, PRIS)
                        }

                        Method (_PSC, 0, NotSerialized)
                        {
                            Return (PRIS)
                        }

                        Device (P_D0)
                        {
                            Name (_ADR, Zero)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x128), 
                                    PMS0,   4, 
                                            Offset (0x129), 
                                    PMS1,   4
                                }

                                If (Not (LEqual (PMS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x120), 
                                        ,   7, 
                                    PMBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (PMBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }

                        Device (P_D1)
                        {
                            Name (_ADR, One)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x228), 
                                    PSS0,   4, 
                                            Offset (0x229), 
                                    PSS1,   4
                                }

                                If (Not (LEqual (PSS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x220), 
                                        ,   7, 
                                    PSBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (PSBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }
                    }

                    Device (SECD)
                    {
                        Name (_ADR, One)
                        Method (_GTM, 0, NotSerialized)
                        {
                            Return (SPTM)
                        }

                        Method (_STM, 3, NotSerialized)
                        {
                        }

                        Name (SECS, Zero)
                        Method (_PS0, 0, NotSerialized)
                        {
                            OperationRegion (BAR, SystemMemory, STB5, 0x0400)
                            Field (BAR, AnyAcc, NoLock, Preserve)
                            {
                                        Offset (0x1A0), 
                                    ,   7, 
                                SMBY,   1, 
                                        Offset (0x1A8), 
                                SMS0,   4, 
                                        Offset (0x1A9), 
                                SMS1,   4, 
                                        Offset (0x2A0), 
                                    ,   7, 
                                SSBY,   1, 
                                        Offset (0x2A8), 
                                SSS0,   4, 
                                        Offset (0x2A9), 
                                SSS1,   4, 
                                        Offset (0x2AC)
                            }

                            If (LOr (LEqual (OSTY, 0x06), LEqual (OSTY, 0x04)))
                            {
                                If (SMS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (SMBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }

                                If (SSS1)
                                {
                                    Store (0x32, Local0)
                                    While (LAnd (LEqual (SSBY, One), Local0))
                                    {
                                        Sleep (0xFA)
                                        Decrement (Local0)
                                    }
                                }
                            }

                            Store (Zero, SECS)
                        }

                        Method (_PS3, 0, NotSerialized)
                        {
                            Store (0x03, SECS)
                        }

                        Method (_PSC, 0, NotSerialized)
                        {
                            Return (SECS)
                        }

                        Device (S_D0)
                        {
                            Name (_ADR, Zero)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x1A8), 
                                    SMS0,   4, 
                                            Offset (0x1A9), 
                                    SMS1,   4
                                }

                                If (Not (LEqual (SMS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x1000)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x1A0), 
                                        ,   7, 
                                    SMBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (SMBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }

                        Device (S_D1)
                        {
                            Name (_ADR, One)
                            Method (_STA, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x2A8), 
                                    SSS0,   4, 
                                            Offset (0x2A9), 
                                    SSS1,   4
                                }

                                If (Not (LEqual (SSS1, Zero)))
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }

                            Name (S12P, Zero)
                            Method (_PS0, 0, NotSerialized)
                            {
                                OperationRegion (BAR, SystemMemory, STB5, 
0x0400)
                                Field (BAR, AnyAcc, NoLock, Preserve)
                                {
                                            Offset (0x2A0), 
                                        ,   7, 
                                    SSBY,   1
                                }

                                Store (0x32, Local0)
                                While (LAnd (LEqual (SSBY, One), Local0))
                                {
                                    Sleep (0xFA)
                                    Decrement (Local0)
                                }

                                Store (Zero, S12P)
                            }

                            Method (_PS3, 0, NotSerialized)
                            {
                                Store (0x03, S12P)
                            }

                            Method (_PSC, 0, NotSerialized)
                            {
                                Return (S12P)
                            }
                        }
                    }
                }
            }

            Device (PE20)
            {
                Name (_ADR, 0x00150000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x0F, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR20)
                    }

                    Return (PR20)
                }
            }

            Device (PE21)
            {
                Name (_ADR, 0x00150001)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x10, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR21)
                    }

                    Return (PR21)
                }
            }

            Device (PE22)
            {
                Name (_ADR, 0x00150002)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x11, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR22)
                    }

                    Return (PR22)
                }
            }

            Device (PE23)
            {
                Name (_ADR, 0x00150003)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x12, 0x04))
                }

                Method (_PRT, 0, NotSerialized)
                {
                    If (PICM)
                    {
                        Return (AR23)
                    }

                    Return (PR23)
                }
            }

            Device (SBRG)
            {
                Name (_ADR, 0x00140003)
                Device (PIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        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"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        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"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x00,               // Alignment
                            0x04,               // Length
                            )
                        IRQNoFlags ()
                            {0}
                    })
                }

                Device (RTC0)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IRQNoFlags ()
                            {8}
                    })
                }

                Device (SPKR)
                {
                    Name (_HID, EisaId ("PNP0800"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0061,             // Range Minimum
                            0x0061,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                    })
                }

                Device (COPR)
                {
                    Name (_HID, EisaId ("PNP0C04"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x00F0,             // Range Minimum
                            0x00F0,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IRQNoFlags ()
                            {13}
                    })
                }

                Device (EC0)
                {
                    Name (_HID, EisaId ("PNP0C09"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0062,             // Range Minimum
                            0x0062,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            _Y03)
                        IO (Decode16,
                            0x0066,             // Range Minimum
                            0x0066,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            _Y04)
                    })
                    CreateWordField (_CRS, \_SB.PCI0.SBRG.EC0._Y03._MIN, DPRT)
                    CreateWordField (_CRS, \_SB.PCI0.SBRG.EC0._Y04._MIN, CPRT)
                    Name (_GPE, 0x0A)
                    Name (REGC, Zero)
                    Method (_REG, 2, NotSerialized)
                    {
                        If (LEqual (Arg0, 0x03))
                        {
                            Store (Arg1, REGC)
                        }
                    }

                    Method (ECAV, 0, NotSerialized)
                    {
                        If (LEqual (REGC, Ones))
                        {
                            If (LGreaterEqual (_REV, 0x02))
                            {
                                Return (One)
                            }
                            Else
                            {
                                Return (Zero)
                            }
                        }

                        Return (REGC)
                    }

                    Mutex (MUEC, 0x00)
                    OperationRegion (DLYP, SystemIO, 0xE1, One)
                    Field (DLYP, ByteAcc, NoLock, Preserve)
                    {
                        DELY,   8
                    }

                    OperationRegion (ECOR, EmbeddedControl, Zero, 0xFF)
                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                        SB00,   8, 
                        SB01,   8, 
                        SB02,   8, 
                        SB03,   8, 
                        SB04,   8, 
                        SB05,   8, 
                        SB06,   8, 
                        SB07,   8, 
                        SB08,   8, 
                        SB09,   8, 
                        SB10,   8, 
                        SB11,   8, 
                        SB12,   8, 
                        SB13,   8, 
                        SB14,   8, 
                        SB15,   8, 
                        SB16,   8, 
                        SB17,   8, 
                        SB18,   8, 
                        SB19,   8, 
                        SB20,   8, 
                        SB21,   8, 
                        SB22,   8, 
                        SB23,   8, 
                        SB24,   8, 
                        SB25,   8, 
                        SB26,   8, 
                        SB27,   8, 
                        SB28,   8, 
                        SB29,   8, 
                        SB30,   8, 
                        SB31,   8, 
                        SB32,   8, 
                        SB33,   8, 
                        SB34,   8, 
                        SB35,   8, 
                        SB36,   8, 
                        SB37,   8, 
                        SB38,   8, 
                        SB40,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x04), 
                        SBW0,   16
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x29), 
                        DA0S,   8, 
                        DA1S,   8, 
                        DA2S,   8, 
                        DA3S,   8, 
                        DA0C,   8, 
                        DA1C,   8, 
                        DA2C,   8, 
                        DA3C,   8, 
                        OVGC,   8, 
                        VTTC,   8, 
                        OVGS,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x39), 
                        AD00,   8, 
                        AD01,   8, 
                        AD02,   8, 
                        AD03,   8, 
                        AD04,   8, 
                        AD05,   8, 
                        AD06,   8, 
                        AD07,   8, 
                        AD08,   8, 
                        AD09,   8, 
                        AD10,   8, 
                        AD11,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x9B), 
                        EL0M,   8, 
                        EL0N,   8, 
                        EL0P,   8, 
                        EL0C,   8, 
                        EL0D,   8, 
                        EL0X,   8, 
                        EL0L,   8, 
                        EL0S,   8, 
                        EUT0,   8, 
                        ELT0,   8, 
                        EL1M,   8, 
                        EL1N,   8, 
                        EL1P,   8, 
                        EL1C,   8, 
                        EL1D,   8, 
                        EL1X,   8, 
                        EL1L,   8, 
                        EL1S,   8, 
                        EUT1,   8, 
                        ELT1,   8, 
                        EL2M,   8, 
                        EL2N,   8, 
                        EL2P,   8, 
                        EL2C,   8, 
                        EL2D,   8, 
                        EL2X,   8, 
                        EL2L,   8, 
                        EL2S,   8, 
                        EUT2,   8, 
                        ELT2,   8, 
                        EL3M,   8, 
                        EL3N,   8, 
                        EL3P,   8, 
                        EL3C,   8, 
                        EL3D,   8, 
                        EL3X,   8, 
                        EL3L,   8, 
                        EL3S,   8, 
                        EUT3,   8, 
                        ELT3,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0xD0), 
                                Offset (0xD1), 
                            ,   6, 
                        FWUP,   1, 
                        FWFA,   1, 
                        SCIE,   1, 
                        SMIE,   1, 
                        SCRE,   1, 
                        EPUE,   1, 
                        HWME,   1, 
                        CRTC,   1, 
                        RCEN,   1, 
                        PTME,   1, 
                            ,   2, 
                        EPUR,   1, 
                            ,   3, 
                        TUBO,   1, 
                        REPU,   1, 
                        FGAM,   1, 
                        FGNE,   1, 
                        RNBV,   1
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0xC5), 
                        EBID,   8, 
                                Offset (0xC7), 
                                Offset (0xC8), 
                        ERCM,   8, 
                        ERCN,   8, 
                        ERND,   8, 
                                Offset (0xD0), 
                        FGP0,   8, 
                        FGP1,   8, 
                        FGP2,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x91), 
                        EPUM,   8, 
                        RCLE,   8, 
                                Offset (0x94), 
                        FASN,   8, 
                        CRCE,   8, 
                        HMIR,   8, 
                        HMDR,   8, 
                        HMRW,   8, 
                        HMBK,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x7D), 
                        ECWT,   8, 
                                Offset (0x7F), 
                                Offset (0x80), 
                        ECAT,   8, 
                                Offset (0x82), 
                        GBHV,   8, 
                        GBLV,   8, 
                        TVM0,   8, 
                        TVM2,   8
                    }

                    Field (ECOR, ByteAcc, Lock, Preserve)
                    {
                                Offset (0xF4), 
                        ECF4,   8, 
                        ECF5,   8, 
                        ECF6,   8, 
                        ECF7,   8
                    }

                    OperationRegion (IO, SystemIO, DPRT, 0x05)
                    Field (IO, ByteAcc, Lock, Preserve)
                    {
                        ECDA,   8, 
                                Offset (0x04), 
                        ECMD,   8
                    }

                    Field (IO, ByteAcc, Lock, Preserve)
                    {
                                Offset (0x04), 
                        OBFS,   1, 
                        IBFS,   1, 
                        IGN0,   1, 
                        CMDS,   1, 
                        BRST,   1, 
                        SCIS,   1, 
                        SMIS,   1, 
                        IGN1,   1
                    }

                    Method (_Q80, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x0B)
                    }

                    Method (_Q81, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x0D)
                    }

                    Method (_Q82, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x0C)
                    }

                    Method (_Q83, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x0C)
                    }

                    Method (_Q84, 0, NotSerialized)
                    {
                        Store (0x03, ^^ASOC.CAML)
                        Notify (ASOC, 0x05)
                    }

                    Method (_Q85, 0, NotSerialized)
                    {
                        Store (One, ^^ASOC.CAML)
                        Notify (ASOC, 0x05)
                    }

                    Method (_Q90, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x90)
                    }

                    Method (_Q91, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x91)
                    }

                    Method (_Q92, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x92)
                    }

                    Method (_Q93, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x93)
                    }

                    Method (_Q94, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x94)
                    }

                    Method (_Q95, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x95)
                    }

                    Method (_Q96, 0, NotSerialized)
                    {
                        Notify (ASOC, 0x96)
                    }

                    Method (ECRB, 2, NotSerialized)
                    {
                        If (ECAV ())
                        {
                            If (LNot (Acquire (MUEC, 0xFFFF)))
                            {
                                Store (Zero, SB01)
                                Store (Arg0, SB02)
                                Store (Zero, SB36)
                                Store (Arg1, SB40)
                                Store (Zero, SB03)
                                Store (0x0B, SB00)
                                Store (0x03E8, Local0)
                                While (Local0)
                                {
                                    Decrement (Local0)
                                    Store (SB01, Local1)
                                    If (LEqual (And (Local1, 0x80), 0x80))
                                    {
                                        And (Local1, 0x1A, Local2)
                                        If (LOr (LEqual (Local2, 0x1A), LEqual 
(Local2, 0x18)))
                                        {
                                            Release (MUEC)
                                            Return (Zero)
                                        }

                                        If (LEqual (Local2, Zero))
                                        {
                                            Break
                                        }
                                    }
                                }

                                Release (MUEC)
                                Return (One)
                            }
                        }
                    }

                    Method (ECWB, 4, NotSerialized)
                    {
                        If (ECAV ())
                        {
                            If (LNot (Acquire (MUEC, 0xFFFF)))
                            {
                                Store (Arg3, EBID)
                                Store (Zero, SB01)
                                Store (Arg0, SB02)
                                Store (Arg2, SB36)
                                Store (Arg1, SB03)
                                Store (0x0A, SB00)
                                Store (0x03E8, Local0)
                                While (Local0)
                                {
                                    Decrement (Local0)
                                    Store (SB01, Local1)
                                    If (LEqual (And (Local1, 0x80), 0x80))
                                    {
                                        And (Local1, 0x1A, Local2)
                                        If (LOr (LEqual (Local2, 0x1A), LEqual 
(Local2, 0x18)))
                                        {
                                            Release (MUEC)
                                            Return (Zero)
                                        }

                                        If (LEqual (Local2, Zero))
                                        {
                                            Break
                                        }
                                    }
                                }

                                Release (MUEC)
                                Return (One)
                            }
                        }
                    }

                    Method (ECBR, 2, NotSerialized)
                    {
                        If (ECAV ())
                        {
                            If (LNot (Acquire (MUEC, 0xFFFF)))
                            {
                                Store (Zero, SB01)
                                Store (Arg0, SB02)
                                Store (Arg1, SB03)
                                Store (0x07, SB00)
                                Store (0x03E8, Local0)
                                While (Local0)
                                {
                                    Decrement (Local0)
                                    Store (SB01, Local1)
                                    If (LEqual (And (Local1, 0x80), 0x80))
                                    {
                                        And (Local1, 0x1A, Local2)
                                        If (LOr (LEqual (Local2, 0x1A), LEqual 
(Local2, 0x18)))
                                        {
                                            Release (MUEC)
                                            ECBR (Arg0, Arg1)
                                        }

                                        If (LEqual (Local2, Zero))
                                        {
                                            Break
                                        }
                                    }
                                }

                                Release (MUEC)
                                Return (SB04)
                            }
                        }
                    }

                    Method (ECBW, 3, NotSerialized)
                    {
                        If (ECAV ())
                        {
                            If (LNot (Acquire (MUEC, 0xFFFF)))
                            {
                                Store (Zero, SB01)
                                Store (Arg0, SB02)
                                Store (Arg1, SB03)
                                Store (Arg2, SB04)
                                Store (0x06, SB00)
                                Store (0x03E8, Local0)
                                While (Local0)
                                {
                                    Decrement (Local0)
                                    Store (SB01, Local1)
                                    If (LEqual (And (Local1, 0x80), 0x80))
                                    {
                                        And (Local1, 0x1A, Local2)
                                        If (LOr (LEqual (Local2, 0x1A), LEqual 
(Local2, 0x18)))
                                        {
                                            Release (MUEC)
                                            Return (Zero)
                                        }

                                        If (LEqual (Local2, Zero))
                                        {
                                            Break
                                        }
                                    }
                                }

                                Release (MUEC)
                                Return (One)
                            }
                        }
                    }

                    Method (RFEC, 1, NotSerialized)
                    {
                    }

                    Method (RBEC, 3, NotSerialized)
                    {
                        If (ECAV ())
                        {
                            Name (RBUF, Buffer (0x20) {})
                            Store (0x64, Local0)
                            While (Local0)
                            {
                                If (LEqual (ECRB (Arg0, Arg1), One))
                                {
                                    Break
                                }

                                Decrement (Local0)
                            }

                            If (LNot (Acquire (MUEC, 0xFFFF)))
                            {
                                Store (SB04, Index (RBUF, Zero))
                                Store (SB05, Index (RBUF, One))
                                Store (SB06, Index (RBUF, 0x02))
                                Store (SB07, Index (RBUF, 0x03))
                                Store (SB08, Index (RBUF, 0x04))
                                Store (SB09, Index (RBUF, 0x05))
                                Store (SB10, Index (RBUF, 0x06))
                                Store (SB11, Index (RBUF, 0x07))
                                Store (SB12, Index (RBUF, 0x08))
                                Store (SB13, Index (RBUF, 0x09))
                                Store (SB14, Index (RBUF, 0x0A))
                                Store (SB15, Index (RBUF, 0x0B))
                                Store (SB16, Index (RBUF, 0x0C))
                                Store (SB17, Index (RBUF, 0x0D))
                                Store (SB18, Index (RBUF, 0x0E))
                                Store (SB19, Index (RBUF, 0x0F))
                                Store (SB20, Index (RBUF, 0x10))
                                Store (SB21, Index (RBUF, 0x11))
                                Store (SB22, Index (RBUF, 0x12))
                                Store (SB23, Index (RBUF, 0x13))
                                Store (SB24, Index (RBUF, 0x14))
                                Store (SB25, Index (RBUF, 0x15))
                                Store (SB26, Index (RBUF, 0x16))
                                Store (SB27, Index (RBUF, 0x17))
                                Store (SB28, Index (RBUF, 0x18))
                                Store (SB29, Index (RBUF, 0x19))
                                Store (SB30, Index (RBUF, 0x1A))
                                Store (SB31, Index (RBUF, 0x1B))
                                Store (SB32, Index (RBUF, 0x1C))
                                Store (SB33, Index (RBUF, 0x1D))
                                Store (SB34, Index (RBUF, 0x1E))
                                Store (SB35, Index (RBUF, 0x1F))
                                Release (MUEC)
                            }
                        }

                        Return (RBUF)
                    }

                    Method (WBEC, 5, NotSerialized)
                    {
                        If (ECAV ())
                        {
                            If (LNot (Acquire (MUEC, 0xFFFF)))
                            {
                                Store (DerefOf (Index (Arg3, Zero)), SB04)
                                Store (DerefOf (Index (Arg3, One)), SB05)
                                Store (DerefOf (Index (Arg3, 0x02)), SB06)
                                Store (DerefOf (Index (Arg3, 0x03)), SB07)
                                Store (DerefOf (Index (Arg3, 0x04)), SB08)
                                Store (DerefOf (Index (Arg3, 0x05)), SB09)
                                Store (DerefOf (Index (Arg3, 0x06)), SB10)
                                Store (DerefOf (Index (Arg3, 0x07)), SB11)
                                Store (DerefOf (Index (Arg3, 0x08)), SB12)
                                Store (DerefOf (Index (Arg3, 0x09)), SB13)
                                Store (DerefOf (Index (Arg3, 0x0A)), SB14)
                                Store (DerefOf (Index (Arg3, 0x0B)), SB15)
                                Store (DerefOf (Index (Arg3, 0x0C)), SB16)
                                Store (DerefOf (Index (Arg3, 0x0D)), SB17)
                                Store (DerefOf (Index (Arg3, 0x0E)), SB18)
                                Store (DerefOf (Index (Arg3, 0x0F)), SB19)
                                Store (DerefOf (Index (Arg3, 0x10)), SB20)
                                Store (DerefOf (Index (Arg3, 0x11)), SB21)
                                Store (DerefOf (Index (Arg3, 0x12)), SB22)
                                Store (DerefOf (Index (Arg3, 0x13)), SB23)
                                Store (DerefOf (Index (Arg3, 0x14)), SB24)
                                Store (DerefOf (Index (Arg3, 0x15)), SB25)
                                Store (DerefOf (Index (Arg3, 0x16)), SB26)
                                Store (DerefOf (Index (Arg3, 0x17)), SB27)
                                Store (DerefOf (Index (Arg3, 0x18)), SB28)
                                Store (DerefOf (Index (Arg3, 0x19)), SB29)
                                Store (DerefOf (Index (Arg3, 0x1A)), SB30)
                                Store (DerefOf (Index (Arg3, 0x1B)), SB31)
                                Store (DerefOf (Index (Arg3, 0x1C)), SB32)
                                Store (DerefOf (Index (Arg3, 0x1D)), SB33)
                                Store (DerefOf (Index (Arg3, 0x1E)), SB34)
                                Store (DerefOf (Index (Arg3, 0x1F)), SB35)
                                Release (MUEC)
                            }

                            Store (0x64, Local0)
                            While (Local0)
                            {
                                If (LEqual (ECWB (Arg0, Arg1, Arg2, Arg4), One))
                                {
                                    Return (Zero)
                                }

                                Decrement (Local0)
                            }
                        }

                        Return (One)
                    }
                }

                Device (UAR1)
                {
                    Name (_UID, One)
                    Method (_HID, 0, NotSerialized)
                    {
                        Return (UHID (Zero))
                    }

                    Method (_STA, 0, NotSerialized)
                    {
                        Return (DSTA (Zero))
                    }

                    Method (_DIS, 0, NotSerialized)
                    {
                        DCNT (Zero, Zero)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (DCRS (Zero, One))
                    }

                    Method (_SRS, 1, NotSerialized)
                    {
                        DSRS (Arg0, Zero)
                    }

                    Method (_PRS, 0, NotSerialized)
                    {
                        Return (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, )
                                {}
                        }
                        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, )
                                {0,1,2,3}
                        }
                        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, )
                                {0,1,2,3}
                        }
                        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, )
                                {0,1,2,3}
                        }
                        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, )
                                {0,1,2,3}
                        }
                        EndDependentFn ()
                    })
                }

                Scope (\)
                {
                    OperationRegion (RAMW, SystemMemory, 0xC7DF0000, 0x00010000)
                    Field (RAMW, ByteAcc, NoLock, Preserve)
                    {
                        PAR0,   32, 
                        PAR1,   32, 
                        PAR2,   32, 
                        PINX,   32
                    }

                    OperationRegion (IOB2, SystemIO, 0xB0, 0x02)
                    Field (IOB2, ByteAcc, NoLock, Preserve)
                    {
                        SMIC,   8, 
                        SMIS,   8
                    }

                    Method (ISMI, 1, Serialized)
                    {
                        Store (Arg0, SMIC)
                        Sleep (One)
                    }

                    Method (GNVS, 1, Serialized)
                    {
                        Store (0x80000000, PINX)
                        Store (Arg0, PAR0)
                        ISMI (0x70)
                        Return (PAR1)
                    }

                    Method (SNVS, 2, Serialized)
                    {
                        Store (0x80000001, PINX)
                        Store (Arg0, PAR0)
                        Store (Arg1, PAR1)
                        ISMI (0x70)
                    }

                    Name (ARBF, Buffer (0x10) {})
                    CreateDWordField (ARBF, Zero, REAX)
                    CreateDWordField (ARBF, 0x04, REBX)
                    CreateDWordField (ARBF, 0x08, RECX)
                    CreateDWordField (ARBF, 0x0C, REDX)
                    Method (SMSR, 1, Serialized)
                    {
                        CreateDWordField (Arg0, Zero, AEAX)
                        CreateDWordField (Arg0, 0x04, AEBX)
                        CreateDWordField (Arg0, 0x08, AECX)
                        CreateDWordField (Arg0, 0x0C, AEDX)
                        Store (0x80000003, PINX)
                        Store (AECX, PAR0)
                        Store (AEAX, PAR1)
                        Store (AEDX, PAR2)
                        ISMI (0x70)
                    }

                    Method (GMSR, 1, Serialized)
                    {
                        Store (0x80000002, PINX)
                        Store (Arg0, PAR0)
                        ISMI (0x70)
                        Store (Arg0, RECX)
                        Store (PAR1, REAX)
                        Store (PAR2, REDX)
                        Return (ARBF)
                    }

                    Method (PRID, 1, Serialized)
                    {
                        Store (0x80000004, PINX)
                        Store (Arg0, PAR0)
                        ISMI (0x70)
                        Store (PAR1, REAX)
                        Store (PAR2, REDX)
                        Return (ARBF)
                    }

                    Method (GECR, 1, Serialized)
                    {
                        Store (0x80000005, PINX)
                        Store (Arg0, PAR0)
                        ISMI (0x70)
                        Return (PAR1)
                    }

                    Method (SAGP, 2, Serialized)
                    {
                        Store (0x80000007, PINX)
                        Store (Arg0, PAR0)
                        Store (Arg1, PAR1)
                        ISMI (0x70)
                    }

                    Method (GAGP, 1, Serialized)
                    {
                        Store (0x80000008, PINX)
                        Store (Arg0, PAR0)
                        ISMI (0x70)
                        Return (PAR1)
                    }

                    Method (GTBF, 2, Serialized)
                    {
                        Store (0x80000009, PINX)
                        Store (Arg0, PAR0)
                        Store (Arg1, PAR1)
                        ISMI (0x70)
                        Return (PAR1)
                    }
                }

                Scope (\_SB.PCI0.SBRG)
                {
                    Device (ASOC)
                    {
                        Name (_HID, "ATK0110")
                        Name (_UID, 0x01010110)
                        Method (_STA, 0, NotSerialized)
                        {
                            Return (0x0F)
                        }

                        Method (_INI, 0, NotSerialized)
                        {
                            G3UP ()
                            G6UP ()
                            CUPI ()
                        }

                        Method (CUPI, 0, NotSerialized)
                        {
                            Store (GAGP ("CPUN"), Index (G3DS, 0x06))
                        }

                        Name (MBIF, Package (0x08)
                        {
                            0x03, 
                            "M4A89TD-PRO-USB3", 
                            0x04010203, 
                            0x03000100, 
                            0xE0010001, 
                            0x02, 
                            Zero, 
                            Zero
                        })
                        Name (ASBF, Buffer (0x0200) {})
                        CreateDWordField (ASBF, Zero, ASB0)
                        CreateDWordField (ASBF, 0x04, ASB1)
                        Method (GGRP, 1, Serialized)
                        {
                            Name (TTT0, Zero)
                            Store (Arg0, TTT0)
                            If (LEqual (TTT0, Zero))
                            {
                                Return (GRP0)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x03))
                                {
                                    Return (GRP3)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x04))
                                    {
                                        Return (GRP4)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x05))
                                        {
                                            Return (GRP5)
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x06))
                                            {
                                                Return (GRP6)
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0x09))
                                                {
                                                    Return (GRP9)
                                                }
                                                Else
                                                {
                                                    If (LEqual (TTT0, 0x0B))
                                                    {
                                                        Return (GRPB)
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (TTT0, 0x0E))
                                                        {
                                                            Return (GRPE)
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (TTT0, 
0x0F))
                                                            {
                                                                Return (GRPF ())
                                                            }
                                                            Else
                                                            {
                                                                If (LEqual 
(TTT0, 0x11))
                                                                {
                                                                    Return 
(GR11)
                                                                }
                                                                Else
                                                                {
                                                                    Return 
(Zero)
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }

                        Method (GITM, 1, Serialized)
                        {
                            CreateDWordField (Arg0, Zero, PRM0)
                            CreateByteField (Arg0, 0x03, GPID)
                            Store (One, ASB0)
                            Name (TTT0, Zero)
                            Store (GPID, TTT0)
                            If (LEqual (TTT0, Zero))
                            {
                                GIT0 (PRM0)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x03))
                                {
                                    GIT3 (PRM0)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x04))
                                    {
                                        GIT4 (PRM0)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x05))
                                        {
                                            CreateDWordField (Arg0, 0x04, PRM1)
                                            GIT5 (PRM0, PRM1)
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x06))
                                            {
                                                GIT6 (PRM0)
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0x09))
                                                {
                                                    GIT9 (PRM0)
                                                }
                                                Else
                                                {
                                                    If (LEqual (TTT0, 0x0B))
                                                    {
                                                        GITB (PRM0)
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (TTT0, 0x0E))
                                                        {
                                                            GITE (PRM0)
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (TTT0, 
0x0F))
                                                            {
                                                                GITF (PRM0)
                                                            }
                                                            Else
                                                            {
                                                                If (LEqual 
(TTT0, 0x11))
                                                                {
                                                                    
CreateDWordField (Arg0, 0x04, PR11)
                                                                    If (LEqual 
(And (PRM0, 0xFFFF), 0x09))
                                                                    {
                                                                        GT11 
(PRM0, PR11)
                                                                    }
                                                                    Else
                                                                    {
                                                                        Store 
(Zero, Local0)
                                                                        GT11 
(PRM0, Local0)
                                                                    }
                                                                }
                                                                Else
                                                                {
                                                                    Store 
(Zero, ASB0)
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            Return (ASBF)
                        }

                        Method (SITM, 1, Serialized)
                        {
                            CreateDWordField (Arg0, Zero, PRM0)
                            CreateDWordField (Arg0, 0x04, PRM1)
                            CreateDWordField (Arg0, 0x08, PRM2)
                            CreateByteField (Arg0, 0x03, GPID)
                            Store (One, ASB0)
                            Name (TTT0, Zero)
                            Store (GPID, TTT0)
                            If (LEqual (TTT0, Zero))
                            {
                                SIT0 (PRM0, PRM1, PRM2)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x03))
                                {
                                    SIT3 (PRM0, PRM1, PRM2)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x04))
                                    {
                                        SIT4 (PRM0, PRM1, PRM2)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x05))
                                        {
                                            SIT5 (PRM0, PRM1, PRM2)
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x06))
                                            {
                                                SIT6 (PRM0, PRM1, PRM2)
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0x09))
                                                {
                                                    SIT9 (PRM0, PRM1, PRM2)
                                                }
                                                Else
                                                {
                                                    If (LEqual (TTT0, 0x0B))
                                                    {
                                                        SITB (PRM0, PRM1, PRM2)
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (TTT0, 0x0E))
                                                        {
                                                            SITE (PRM0, PRM1, 
PRM2)
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (TTT0, 
0x0F))
                                                            {
                                                                SITF (PRM0, 
PRM1, PRM2)
                                                            }
                                                            Else
                                                            {
                                                                If (LEqual 
(TTT0, 0x11))
                                                                {
                                                                    ST11 (PRM0, 
PRM1, PRM2)
                                                                }
                                                                Else
                                                                {
                                                                    Store 
(Zero, ASB0)
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            Return (ASBF)
                        }

                        Method (OP2V, 2, NotSerialized)
                        {
                            Store (DerefOf (Index (Arg1, 0x04)), Local0)
                            Store (DerefOf (Index (Arg1, 0x05)), Local1)
                            Multiply (Arg0, Local1, Local1)
                            Add (Local0, Local1, Local0)
                            Return (Local0)
                        }

                        Method (V2OP, 2, NotSerialized)
                        {
                            Store (DerefOf (Index (Arg1, 0x04)), Local0)
                            Store (DerefOf (Index (Arg1, 0x05)), Local1)
                            Subtract (Arg0, Local0, Local0)
                            Divide (Local0, Local1, Local1, Local0)
                            Return (Local0)
                        }
                    }
                }

                Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            _Y05)
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (0x0F)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y05._BAS, 
HPT)
                        Store (0xFED00000, HPT)
                        Return (CRS)
                    }
                }

                Device (^PCIE)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x11)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0xE0000000,         // Address Base
                            0x10000000,         // Address Length
                            _Y06)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y06._BAS, BAS1)
                        CreateDWordField (CRS, \_SB.PCI0.PCIE._Y06._LEN, LEN1)
                        Store (PCIB, BAS1)
                        Store (PCIL, LEN1)
                        Return (CRS)
                    }
                }

                Device (OMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, Zero)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y07)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y08)
                    })
                    Name (CRS1, ResourceTemplate ()
                    {
                        FixedIO (
                            0x0060,             // Address
                            0x01,               // Length
                            )
                        FixedIO (
                            0x0064,             // Address
                            0x01,               // Length
                            )
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y09)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0A)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (APIC)
                        {
                            CreateDWordField (CRS, 
\_SB.PCI0.SBRG.OMSC._Y07._LEN, ML01)
                            CreateDWordField (CRS, 
\_SB.PCI0.SBRG.OMSC._Y07._BAS, MB01)
                            CreateDWordField (CRS, 
\_SB.PCI0.SBRG.OMSC._Y08._LEN, ML02)
                            CreateDWordField (CRS, 
\_SB.PCI0.SBRG.OMSC._Y08._BAS, MB02)
                            Store (0xFEC00000, MB01)
                            Store (0x1000, ML01)
                            Store (0xFEE00000, MB02)
                            Store (0x1000, ML02)
                            CreateDWordField (CRS1, 
\_SB.PCI0.SBRG.OMSC._Y09._LEN, ML03)
                            CreateDWordField (CRS1, 
\_SB.PCI0.SBRG.OMSC._Y09._BAS, MB03)
                            CreateDWordField (CRS1, 
\_SB.PCI0.SBRG.OMSC._Y0A._LEN, ML04)
                            CreateDWordField (CRS1, 
\_SB.PCI0.SBRG.OMSC._Y0A._BAS, MB04)
                            Store (0xFEC00000, MB03)
                            Store (0x1000, ML03)
                            Store (0xFEE00000, MB04)
                            Store (0x1000, ML04)
                        }

                        ShiftLeft (0x05, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (CRS)
                        }
                        Else
                        {
                            Return (CRS1)
                        }
                    }
                }

                Device (^^RMEM)
                {
                    Name (_HID, EisaId ("PNP0C01"))
                    Name (_UID, One)
                    Name (CRS, ResourceTemplate ()
                    {
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x000A0000,         // Address Length
                            )
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0B)
                        Memory32Fixed (ReadOnly,
                            0x000E0000,         // Address Base
                            0x00020000,         // Address Length
                            _Y0C)
                        Memory32Fixed (ReadWrite,
                            0x00100000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0D)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y0E)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateDWordField (CRS, \_SB.RMEM._Y0B._BAS, BAS1)
                        CreateDWordField (CRS, \_SB.RMEM._Y0B._LEN, LEN1)
                        CreateDWordField (CRS, \_SB.RMEM._Y0C._BAS, BAS2)
                        CreateDWordField (CRS, \_SB.RMEM._Y0C._LEN, LEN2)
                        CreateDWordField (CRS, \_SB.RMEM._Y0D._LEN, LEN3)
                        CreateDWordField (CRS, \_SB.RMEM._Y0E._BAS, BAS4)
                        CreateDWordField (CRS, \_SB.RMEM._Y0E._LEN, LEN4)
                        If (OSFL ()) {}
                        Else
                        {
                            If (MG1B)
                            {
                                If (LGreater (MG1B, 0x000C0000))
                                {
                                    Store (0x000C0000, BAS1)
                                    Subtract (MG1B, BAS1, LEN1)
                                }
                            }
                            Else
                            {
                                Store (0x000C0000, BAS1)
                                Store (0x00020000, LEN1)
                            }

                            If (Add (MG1B, MG1L, Local0))
                            {
                                Store (Local0, BAS2)
                                Subtract (0x00100000, BAS2, LEN2)
                            }
                        }

                        Subtract (MG2B, 0x00100000, LEN3)
                        Store (MH1B, BAS4)
                        Subtract (Zero, BAS4, LEN4)
                        Return (CRS)
                    }
                }

                Device (RMSC)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Name (_UID, 0x10)
                    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,
                            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,
                            0x00B1,             // Range Minimum
                            0x00B1,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x00E0,             // Range Minimum
                            0x00E0,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x04D0,             // Range Minimum
                            0x04D0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x040B,             // Range Minimum
                            0x040B,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x04D6,             // Range Minimum
                            0x04D6,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C00,             // Range Minimum
                            0x0C00,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0C14,             // Range Minimum
                            0x0C14,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C50,             // Range Minimum
                            0x0C50,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0C52,             // Range Minimum
                            0x0C52,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C6C,             // Range Minimum
                            0x0C6C,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0C6F,             // Range Minimum
                            0x0C6F,             // Range Maximum
                            0x00,               // Alignment
                            0x01,               // Length
                            )
                        IO (Decode16,
                            0x0CD0,             // Range Minimum
                            0x0CD0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD2,             // Range Minimum
                            0x0CD2,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD4,             // Range Minimum
                            0x0CD4,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD6,             // Range Minimum
                            0x0CD6,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x0CD8,             // Range Minimum
                            0x0CD8,             // Range Maximum
                            0x00,               // Alignment
                            0x08,               // Length
                            )
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y0F)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y12)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y11)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y10)
                        IO (Decode16,
                            0x0900,             // Range Minimum
                            0x0900,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0x0910,             // Range Minimum
                            0x0910,             // Range Maximum
                            0x00,               // Alignment
                            0x10,               // Length
                            )
                        IO (Decode16,
                            0xFE00,             // Range Minimum
                            0xFE00,             // Range Maximum
                            0x00,               // Alignment
                            0xFF,               // Length
                            )
                        IO (Decode16,
                            0x0060,             // Range Minimum
                            0x0060,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y13)
                        IO (Decode16,
                            0x0064,             // Range Minimum
                            0x0064,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y14)
                        Memory32Fixed (ReadOnly,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            _Y15)
                        Memory32Fixed (ReadOnly,
                            0xFFB80000,         // Address Base
                            0x00080000,         // Address Length
                            )
                        Memory32Fixed (ReadOnly,
                            0xFEC10000,         // Address Base
                            0x00000020,         // Address Length
                            )
                        Memory32Fixed (ReadOnly,
                            0xFED80000,         // Address Base
                            0x00001000,         // Address Length
                            )
                        Memory32Fixed (ReadWrite,
                            0x00000000,         // Address Base
                            0x00000000,         // Address Length
                            )
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0F._MIN, 
GP00)
                        CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0F._MAX, 
GP01)
                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0F._LEN, 
GP0L)
                        Store (PMBS, GP00)
                        Store (PMBS, GP01)
                        Store (PMLN, GP0L)
                        If (SMBB)
                        {
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y10._MIN, GP10)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y10._MAX, GP11)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y10._LEN, GP1L)
                            Store (SMBB, GP10)
                            Store (SMBB, GP11)
                            Store (SMBL, GP1L)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y11._MIN, GPB0)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y11._MAX, GPB1)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y11._LEN, GPBL)
                            Store (SMB0, GPB0)
                            Store (SMB0, GPB1)
                            Store (SMBM, GPBL)
                        }

                        If (GPBS)
                        {
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y12._MIN, GP20)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y12._MAX, GP21)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y12._LEN, GP2L)
                            Store (GPBS, GP20)
                            Store (GPBS, GP21)
                            Store (GPLN, GP2L)
                        }

                        ShiftLeft (One, 0x0A, Local0)
                        ShiftLeft (One, 0x0C, Local1)
                        Or (And (IOST, Local0), And (IOST, Local1), Local0)
                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y13._LEN, 
KBL0)
                        CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y14._LEN, 
KBL1)
                        If (LEqual (Local0, Zero))
                        {
                            Store (One, KBL0)
                            Store (One, KBL1)
                        }

                        If (\AOD.RAMS)
                        {
                            CreateDWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y15._BAS, RADB)
                            CreateDWordField (CRS, 
\_SB.PCI0.SBRG.RMSC._Y15._LEN, RADL)
                            Store (\AOD.RAMB, RADB)
                            Store (\AOD.RAMS, RADL)
                        }

                        Return (CRS)
                    }
                }

                Device (PS2K)
                {
                    Name (_HID, EisaId ("PNP0303"))
                    Name (_CID, EisaId ("PNP030B"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (_CRS, ResourceTemplate ()
                    {
                        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)
                {
                    Return (GPRW (0x03, 0x04))
                }

                Device (PS2M)
                {
                    Name (_HID, EisaId ("PNP0F03"))
                    Name (_CID, EisaId ("PNP0F13"))
                    Method (_STA, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0C, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (0x0F)
                        }

                        Return (Zero)
                    }

                    Name (M2R0, ResourceTemplate ()
                    {
                        IRQNoFlags ()
                            {12}
                    })
                    Name (M2R1, ResourceTemplate ()
                    {
                        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 ()
                            {12}
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        ShiftLeft (One, 0x0A, Local0)
                        If (And (IOST, Local0))
                        {
                            Return (M2R0)
                        }
                        Else
                        {
                            Return (M2R1)
                        }
                    }
                }

                Method (PS2M._PRW, 0, NotSerialized)
                {
                    Return (GPRW (0x03, 0x04))
                }

                Device (SIOR)
                {
                    Name (_HID, EisaId ("PNP0C02"))
                    Method (_UID, 0, NotSerialized)
                    {
                        Return (SPIO)
                    }

                    Name (CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y16)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y17)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y18)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y19)
                        IO (Decode16,
                            0x0000,             // Range Minimum
                            0x0000,             // Range Maximum
                            0x00,               // Alignment
                            0x00,               // Length
                            _Y1A)
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater (SPIO, 
0xF0)))
                        {
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y16._MIN, GP10)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y16._MAX, GP11)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y16._LEN, GPL1)
                            Store (SPIO, GP10)
                            Store (SPIO, GP11)
                            Store (0x02, GPL1)
                        }

                        If (IOPB)
                        {
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y17._MIN, GP20)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y17._MAX, GP21)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y17._LEN, GPL2)
                            Store (IOPB, GP20)
                            Store (IOPB, GP21)
                            Store (IOPL, GPL2)
                        }

                        If (IOEB)
                        {
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y18._MIN, GP30)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y18._MAX, GP31)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y18._LEN, GPL3)
                            Store (IOEB, GP30)
                            Store (IOEB, GP31)
                            Store (IOEL, GPL3)
                        }

                        If (IOGB)
                        {
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y19._MIN, GP40)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y19._MAX, GP41)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y19._LEN, GPL4)
                            Store (IOGB, GP40)
                            Store (IOGB, GP41)
                            Store (IOGL, GPL4)
                        }

                        If (IODB)
                        {
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y1A._MIN, GP50)
                            CreateWordField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y1A._MAX, GP51)
                            CreateByteField (CRS, 
\_SB.PCI0.SBRG.SIOR._Y1A._LEN, GPL5)
                            Store (IODB, GP50)
                            Store (IODB, GP51)
                            Store (IODL, GPL5)
                        }

                        Return (CRS)
                    }
                }

                Name (DCAT, Package (0x16)
                {
                    One, 
                    0x02, 
                    0x03, 
                    Zero, 
                    0xFF, 
                    0x08, 
                    0xFF, 
                    0xFF, 
                    0x09, 
                    0xFF, 
                    0x05, 
                    0x04, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0x0A, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF, 
                    0xFF
                })
                Name (IKEY, Package (0x02)
                {
                    Package (0x04)
                    {
                        0x87, 
                        One, 
                        0x55, 
                        0x55
                    }, 

                    Package (0x04)
                    {
                        0x87, 
                        One, 
                        0x55, 
                        0xAA
                    }
                })
                Name (KBFG, One)
                Name (MSFG, One)
                Name (UR1F, One)
                Method (ENFG, 1, NotSerialized)
                {
                    Store (Zero, Local1)
                    If (LEqual (SPIO, 0x2E))
                    {
                        Store (Zero, Local1)
                    }

                    If (LEqual (SPIO, 0x4E))
                    {
                        Store (One, Local1)
                    }

                    Store (Zero, Local0)
                    While (LNotEqual (Local0, 0x04))
                    {
                        Store (DerefOf (Index (DerefOf (Index (IKEY, Local1)), 
Local0)), 
                            INDX)
                        Increment (Local0)
                    }

                    Store (Arg0, LDN)
                }

                Method (ENTR, 0, NotSerialized)
                {
                    Store (0x87, INDX)
                    Store (One, INDX)
                    Store (0x55, INDX)
                    If (LEqual (SPIO, 0x2E))
                    {
                        Store (0x55, INDX)
                    }
                    Else
                    {
                        Store (0xAA, INDX)
                    }
                }

                Method (EXFG, 0, NotSerialized)
                {
                    Store (0x02, INDX)
                    Store (0x02, DATA)
                }

                Method (UHID, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    And (OPT0, 0x70, Local0)
                    EXFG ()
                    If (Local0)
                    {
                        Return (0x1005D041)
                    }

                    Return (0x0105D041)
                }

                Method (ORF0, 1, NotSerialized)
                {
                    ENTR ()
                    Or (OPT0, Arg0, OPT0)
                    EXFG ()
                }

                Method (ORF1, 1, NotSerialized)
                {
                    ENTR ()
                    Or (OPT1, Arg0, OPT1)
                    EXFG ()
                }

                Method (ORF2, 1, NotSerialized)
                {
                    ENTR ()
                    Or (OPT2, Arg0, OPT2)
                    EXFG ()
                }

                Method (ANF0, 1, NotSerialized)
                {
                    ENTR ()
                    And (OPT0, Arg0, OPT0)
                    EXFG ()
                }

                Method (ANF2, 1, NotSerialized)
                {
                    ENTR ()
                    And (OPT2, Arg0, OPT2)
                    EXFG ()
                }

                Method (ANF4, 1, NotSerialized)
                {
                    ENTR ()
                    And (OPT4, Arg0, OPT4)
                    EXFG ()
                }

                Method (STF0, 1, NotSerialized)
                {
                    ENTR ()
                    Store (Arg0, OPT0)
                    EXFG ()
                }

                Method (STF1, 1, NotSerialized)
                {
                    ENTR ()
                    Store (Arg0, OPT1)
                    EXFG ()
                }

                Method (SIOS, 1, NotSerialized)
                {
                    Store ("SIOS", Debug)
                    Store (Zero, GP22)
                    If (LLess (Arg0, 0x05))
                    {
                        ENFG (0x04)
                        Store (One, ACTR)
                        EXFG ()
                        ENFG (0x04)
                        ANF4 (0xFC)
                        ORF1 (0x18)
                        If (KBFG)
                        {
                            ORF0 (0x08)
                        }
                        Else
                        {
                            ANF0 (0xF7)
                        }

                        EXFG ()
                        If (MSFG)
                        {
                            If (LEqual (Arg0, One))
                            {
                                ENFG (0x06)
                                Store (Zero, ACTR)
                                EXFG ()
                            }

                            ENFG (0x04)
                            ORF0 (0x10)
                            EXFG ()
                        }
                        Else
                        {
                            ENFG (0x04)
                            ANF0 (0xEF)
                            EXFG ()
                            ENFG (0x06)
                            Store (Zero, ACTR)
                            EXFG ()
                        }

                        ENFG (0x04)
                        ANF2 (0xF0)
                        ORF2 (0x06)
                        EXFG ()
                        ENFG (0x07)
                        If (LLess (Arg0, 0x04))
                        {
                            And (OPF9, Zero, OPF9)
                            Or (OPF9, 0x02, OPF9)
                            And (OPF8, Zero, OPF8)
                            Or (OPF8, 0x12, OPF8)
                            And (OPC1, 0xFB, OPC1)
                        }

                        And (OP29, 0xEF, OP29)
                        EXFG ()
                    }
                    Else
                    {
                        ENFG (0x07)
                        If (LLess (Arg0, 0x04))
                        {
                            And (OPF9, Zero, OPF9)
                            And (OPF8, Zero, OPF8)
                            Or (OPC1, 0x04, OPC1)
                        }

                        Or (OP29, 0x10, OP29)
                        EXFG ()
                    }
                }

                Method (SIOW, 1, NotSerialized)
                {
                    Store (One, GP22)
                    Store ("SIOW", Debug)
                    ENFG (0x04)
                    Store (Zero, ACTR)
                    EXFG ()
                    STF0 (Zero)
                    STF1 (0xFF)
                    ENFG (0x07)
                    Or (OPC1, 0x04, OPC1)
                    EXFG ()
                    ENFG (0x05)
                    Or (ACTR, One, ACTR)
                    EXFG ()
                    ENFG (0x06)
                    Or (ACTR, One, ACTR)
                    EXFG ()
                    ENFG (0x04)
                    Store (One, ACTR)
                    EXFG ()
                }

                Method (SIOH, 0, NotSerialized)
                {
                    Store ("SIOH", Debug)
                }

                OperationRegion (IOID, SystemIO, SPIO, 0x02)
                Field (IOID, ByteAcc, NoLock, Preserve)
                {
                    INDX,   8, 
                    DATA,   8
                }

                IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
                {
                            Offset (0x07), 
                    LDN,    8, 
                            Offset (0x29), 
                    OP29,   8, 
                            Offset (0x30), 
                    ACTR,   8, 
                            Offset (0x60), 
                    IOAH,   8, 
                    IOAL,   8, 
                    IOH2,   8, 
                    IOL2,   8, 
                            Offset (0x70), 
                    INTR,   8, 
                            Offset (0x74), 
                    DMCH,   8, 
                            Offset (0xC0), 
                    OPC0,   8, 
                    OPC1,   8, 
                    OPC2,   8, 
                    OPC3,   8, 
                    OPC4,   8, 
                    OPC5,   8, 
                    OPC6,   8, 
                    OPC7,   8, 
                    OPC8,   8, 
                    OPC9,   8, 
                    OPCA,   8, 
                    OPCB,   8, 
                    OPCC,   8, 
                    OPCD,   8, 
                    OPCE,   8, 
                    OPCF,   8, 
                            Offset (0xF0), 
                    OPT0,   8, 
                    OPT1,   8, 
                    OPT2,   8, 
                    OPT3,   8, 
                    OPT4,   8, 
                            Offset (0xF8), 
                    OPF8,   8, 
                    OPF9,   8, 
                    OPFA,   8, 
                    OPFB,   8
                }

                OperationRegion (SITE, SystemIO, SMIO, One)
                Field (SITE, ByteAcc, NoLock, Preserve)
                {
                    IOSM,   8
                }

                Method (PS2K._PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (One, KBFG)
                    }
                    Else
                    {
                        Store (Zero, KBFG)
                    }
                }

                Method (PS2M._PSW, 1, NotSerialized)
                {
                    If (Arg0)
                    {
                        Store (One, MSFG)
                    }
                    Else
                    {
                        Store (Zero, MSFG)
                    }
                }

                Method (CGLD, 1, NotSerialized)
                {
                    Return (DerefOf (Index (DCAT, Arg0)))
                }

                Method (DSTA, 1, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    Store (ACTR, Local0)
                    EXFG ()
                    If (LEqual (Local0, 0xFF))
                    {
                        Return (Zero)
                    }

                    And (Local0, One, Local0)
                    Or (IOST, ShiftLeft (Local0, Arg0), IOST)
                    If (Local0)
                    {
                        Return (0x0F)
                    }
                    Else
                    {
                        If (And (ShiftLeft (One, Arg0), IOST))
                        {
                            Return (0x0D)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }

                Method (DCNT, 2, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, Local1)
                    Or (IOAL, Local1, Local1)
                    RRIO (Arg0, Arg1, Local1, 0x08)
                    If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03, 
                        Local1), Zero)))
                    {
                        RDMA (Arg0, Arg1, Increment (Local1))
                    }

                    Store (Arg1, ACTR)
                    EXFG ()
                }

                Name (CRS1, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y1D)
                    IRQNoFlags (_Y1B)
                        {}
                    DMA (Compatibility, NotBusMaster, Transfer8, _Y1C)
                        {}
                })
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y1B._INT, IRQM)
                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y1C._DMA, DMAM)
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y1D._MIN, IO11)
                CreateWordField (CRS1, \_SB.PCI0.SBRG._Y1D._MAX, IO12)
                CreateByteField (CRS1, \_SB.PCI0.SBRG._Y1D._LEN, LEN1)
                Name (CRS2, ResourceTemplate ()
                {
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y20)
                    IO (Decode16,
                        0x0000,             // Range Minimum
                        0x0000,             // Range Maximum
                        0x01,               // Alignment
                        0x00,               // Length
                        _Y21)
                    IRQNoFlags (_Y1E)
                        {6}
                    DMA (Compatibility, NotBusMaster, Transfer8, _Y1F)
                        {2}
                })
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y1E._INT, IRQE)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y1F._DMA, DMAE)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y20._MIN, IO21)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y20._MAX, IO22)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y20._LEN, LEN2)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y21._MIN, IO31)
                CreateWordField (CRS2, \_SB.PCI0.SBRG._Y21._MAX, IO32)
                CreateByteField (CRS2, \_SB.PCI0.SBRG._Y21._LEN, LEN3)
                Method (DCRS, 2, NotSerialized)
                {
                    ENFG (CGLD (Arg0))
                    ShiftLeft (IOAH, 0x08, IO11)
                    Or (IOAL, IO11, IO11)
                    Store (IO11, IO12)
                    Subtract (FindSetRightBit (IO11), One, Local0)
                    ShiftLeft (One, Local0, LEN1)
                    If (INTR)
                    {
                        ShiftLeft (One, INTR, IRQM)
                    }
                    Else
                    {
                        Store (Zero, IRQM)
                    }

                    If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
                    {
                        Store (Zero, DMAM)
                    }
                    Else
                    {
                        And (DMCH, 0x03, Local1)
                        ShiftLeft (One, Local1, DMAM)
                    }

                    EXFG ()
                    Return (CRS1)
                }

                Method (DSRS, 2, NotSerialized)
                {
                    CreateWordField (Arg0, 0x09, IRQM)
                    CreateByteField (Arg0, 0x0C, DMAM)
                    CreateWordField (Arg0, 0x02, IO11)
                    ENFG (CGLD (Arg1))
                    And (IO11, 0xFF, IOAL)
                    ShiftRight (IO11, 0x08, IOAH)
                    If (IRQM)
                    {
                        FindSetRightBit (IRQM, Local0)
                        Subtract (Local0, One, INTR)
                    }
                    Else
                    {
                        Store (Zero, INTR)
                    }

                    If (DMAM)
                    {
                        FindSetRightBit (DMAM, Local0)
                        Subtract (Local0, One, DMCH)
                    }
                    Else
                    {
                        Store (0x04, DMCH)
                    }

                    EXFG ()
                    DCNT (Arg1, One)
                }

                OperationRegion (GPIO, SystemIO, IO1B, 0x08)
                Field (GPIO, ByteAcc, NoLock, Preserve)
                {
                    GP10,   1, 
                    GP11,   1, 
                    GP12,   1, 
                    GP13,   1, 
                    GO14,   1, 
                    GO15,   1, 
                    GO16,   1, 
                    GO17,   1, 
                    GP20,   1, 
                    GP21,   1, 
                    GP22,   1, 
                    GP23,   1, 
                    GO24,   1, 
                    GO25,   1, 
                    GO26,   1, 
                    GO27,   1
                }
            }
        }

        Scope (\_GPE)
        {
            Method (_L18, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PC02, 0x02)
                Notify (\_SB.PCI0.PC03, 0x02)
                Notify (\_SB.PCI0.PC04, 0x02)
                Notify (\_SB.PCI0.PC05, 0x02)
                Notify (\_SB.PCI0.PC06, 0x02)
                Notify (\_SB.PCI0.PC07, 0x02)
                Notify (\_SB.PCI0.PC09, 0x02)
                Notify (\_SB.PCI0.PC0A, 0x02)
                Notify (\_SB.PCI0.PC0B, 0x02)
                Notify (\_SB.PCI0.PC0C, 0x02)
                Notify (\_SB.PCI0.PC0D, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L1B, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.SBAZ, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L04, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.P0PC, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0B, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.UHC1, 0x02)
                Notify (\_SB.PCI0.UHC2, 0x02)
                Notify (\_SB.PCI0.USB3, 0x02)
                Notify (\_SB.PCI0.UHC4, 0x02)
                Notify (\_SB.PCI0.USB5, 0x02)
                Notify (\_SB.PCI0.UHC6, 0x02)
                Notify (\_SB.PCI0.UHC7, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L0F, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PE20, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L10, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PE21, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L11, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PE22, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L12, 0, NotSerialized)
            {
                Notify (\_SB.PCI0.PE23, 0x02)
                Notify (\_SB.PWRB, 0x02)
            }

            Method (_L03, 0, NotSerialized)
            {
                \_SB.PCI0.SBRG.SIOH ()
                Notify (\_SB.PWRB, 0x02)
            }
        }

        Device (PWRB)
        {
            Name (_HID, EisaId ("PNP0C0C"))
            Name (_UID, 0xAA)
            Name (_STA, 0x0B)
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (G0T0, Package (0x07)
        {
            0x00060000, 
            "AP version", 
            0x40000000, 
            Zero, 
            Zero, 
            One, 
            0x02
        })
        Name (G0T3, Package (0x07)
        {
            0x00020003, 
            "CnQ Flag", 
            0x40000000, 
            Zero, 
            Zero, 
            One, 
            0x02
        })
        Name (G0T7, Package (0x07)
        {
            0x00070007, 
            "P State Control", 
            0x40000000, 
            Zero, 
            Zero, 
            One, 
            0x02
        })
        Name (G0T4, Package (0x07)
        {
            0x00070004, 
            "New CPU Installed", 
            One, 
            Zero, 
            Zero, 
            One, 
            0x02
        })
        Name (G0T8, Package (0x07)
        {
            0x00060008, 
            "Item capability", 
            0x40000000, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (G0T9, Package (0x07)
        {
            0x00060009, 
            "Item control", 
            0x40000000, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (GRP0, Package (0x06)
        {
            G0T0, 
            G0T3, 
            G0T7, 
            G0T4, 
            G0T8, 
            G0T9
        })
        Method (GIT0, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero)) {}
            Else
            {
                If (LEqual (TTT0, 0x03))
                {
                    Store (GNVS (0x1706), ASB1)
                }
                Else
                {
                    If (LEqual (TTT0, 0x04))
                    {
                        Store (GNVS (0x17CA), ASB1)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x08))
                        {
                            Store (Zero, Local0)
                            Or (Local0, 0x02, Local0)
                            If (IUCP ())
                            {
                                Or (Local0, 0x10, Local0)
                            }

                            Store (Local0, ASB1)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x09))
                            {
                                Store (Zero, Local0)
                                Or (Local0, 0x02, Local0)
                                Store (Local0, ASB1)
                            }
                            Else
                            {
                                Store (Zero, ASB0)
                            }
                        }
                    }
                }
            }
        }

        Method (SIT0, 3, NotSerialized)
        {
            If (And (Arg2, 0xFFFF))
            {
                Name (TTT0, Zero)
                Store (And (Arg0, 0xFFFF), TTT0)
                If (LEqual (TTT0, Zero)) {}
                Else
                {
                    If (LEqual (TTT0, One)) {}
                    Else
                    {
                        If (LEqual (TTT0, 0x03)) {}
                        Else
                        {
                            If (LEqual (TTT0, 0x07))
                            {
                                SNVS (0x1706, Arg1)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x04))
                                {
                                    SNVS (0x17CA, Arg1)
                                    Store (0x03, ASB0)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x09))
                                    {
                                        TMCM (ShiftRight (And (Arg1, 0x10), 
0x04))
                                    }
                                    Else
                                    {
                                        Store (Zero, ASB0)
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Else
            {
                Store (0x03, ASB0)
            }
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (G3C0, Package (0x07)
        {
            0x03010011, 
            "CPU Frequency", 
            Zero, 
            0x64, 
            0x4E20, 
            0x64, 
            0x01F5
        })
        Name (G3C1, Package (0x07)
        {
            0x03020012, 
            "CPU Voltage", 
            Zero, 
            Zero, 
            0xFF001F40, 
            0x7D, 
            0x4A
        })
        Name (G3C2, Package (0x07)
        {
            0x03060013, 
            "CPU Ratio", 
            Zero, 
            0x10, 
            0xFF000028, 
            0x05, 
            0x2B
        })
        Name (G3C3, Package (0x07)
        {
            0x03020015, 
            "CPU/NB Voltage", 
            Zero, 
            Zero, 
            0x04B0, 
            0x14, 
            0x0A
        })
        Name (G3SF, Package (0x07)
        {
            0x03010017, 
            "CPU Safeboot Frequency", 
            0x40000000, 
            Zero, 
            Zero, 
            One, 
            0x0100
        })
        Name (G3D1, Package (0x0A)
        {
            0x03080031, 
            "DRAM Frequency", 
            0x40000000, 
            Zero, 
            0x05, 
            "Auto", 
            "800 MHz", 
            "1066 MHz", 
            "1333 MHz", 
            "1600 MHz"
        })
        Name (G3D2, Package (0x07)
        {
            0x03020032, 
            "DRAM Voltage", 
            Zero, 
            0x30, 
            0xFE01D4C0, 
            0x0271, 
            0x81
        })
        Name (G353, Package (0x07)
        {
            0x03020053, 
            "VDDA Voltage", 
            Zero, 
            0x30, 
            0xFE035B60, 
            0x0271, 
            0x71
        })
        Name (G354, Package (0x07)
        {
            0x03020054, 
            "HT Voltage", 
            Zero, 
            0x40, 
            0xFE013880, 
            0x0271, 
            0x61
        })
        Name (G355, Package (0x07)
        {
            0x03020055, 
            "NB Voltage", 
            Zero, 
            0x30, 
            0xFE013880, 
            0x0271, 
            0xC1
        })
        Name (G356, Package (0x07)
        {
            0x03020056, 
            "SB Voltage", 
            Zero, 
            Zero, 
            0x044C, 
            0x32, 
            0x07
        })
        Name (G357, Package (0x07)
        {
            0x03020057, 
            "NB1.8 Voltage", 
            Zero, 
            Zero, 
            0x0708, 
            0x32, 
            0x07
        })
        Name (G3DS, Package (0x07)
        {
            0x030600F0, 
            "Device Select", 
            0x40000000, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (GRP3, Package (0x0D)
        {
            G3C0, 
            G3C1, 
            G3C2, 
            G3C3, 
            G3SF, 
            G3D1, 
            G3D2, 
            G353, 
            G354, 
            G355, 
            G356, 
            G357, 
            G3DS
        })
        Name (GODS, Zero)
        Name (TGRT, Zero)
        Name (TGR2, Zero)
        Name (COCS, Zero)
        Name (CDRA, Zero)
        Name (CVID, Zero)
        Name (XMPV, Zero)
        Name (VDDQ, Zero)
        Name (VDCA, Zero)
        Name (CLKB, Buffer (0x24)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0020 */    0x00, 0x00, 0x00, 0x00
        })
        CreateByteField (CLKB, 0x05, CB05)
        CreateByteField (CLKB, 0x0C, CB12)
        CreateByteField (CLKB, 0x0F, CB15)
        CreateByteField (CLKB, 0x10, CB16)
        CreateByteField (CLKB, 0x11, CB17)
        CreateByteField (CLKB, 0x14, CB20)
        CreateByteField (CLKB, 0x1A, CB26)
        CreateByteField (CLKB, 0x1B, CB27)
        CreateByteField (CLKB, 0x1C, CB28)
        Method (G3UP, 0, NotSerialized)
        {
            Multiply (0x64, 0x64, Index (G3C0, 0x04))
            Store (GAGP (0x0313), Local0)
            Store (Local0, TGRT)
            Store (GAGP (0x03FF), Local0)
            Store (Local0, TGR2)
            Store (GECR (0x33), COCS)
            Subtract (GDCR (), 0x08, Index (G3C2, 0x03))
            CPUN ()
            RMIN ()
            RINT ()
            RNUM ()
            C1UP ()
            C3UP ()
            D2UP ()
            GCDR ()
            Store (GAGP (0x0312), CVID)
            SCLL ()
        }

        Method (RDAT, 1, NotSerialized)
        {
            If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
            {
                Store (GAGP (0x0312), CVID)
            }

            If (LEqual (Arg0, 0x03))
            {
                If (LOr (GNVS (0x178A), LNot (And (COCS, 0x20))))
                {
                    If (GNVS (0x92D8))
                    {
                        SSGP (0x72, Zero)
                    }
                }
            }
        }

        Method (CPUN, 0, NotSerialized)
        {
            Store (GAGP ("CPUN"), Local0)
            Store (Local0, Index (G3DS, 0x06))
        }

        Method (RMIN, 0, NotSerialized)
        {
            Store (GAGP ("RMIN"), Index (G3C2, 0x04))
        }

        Method (RINT, 0, NotSerialized)
        {
            Store (GAGP ("RINT"), Index (G3C2, 0x05))
        }

        Method (RNUM, 0, NotSerialized)
        {
            Store (GAGP ("RNUM"), Index (G3C2, 0x06))
        }

        Method (C1UP, 0, NotSerialized)
        {
            Store (GAGP ("C1MI"), Index (G3C1, 0x04))
            Store (GAGP ("C1IN"), Index (G3C1, 0x05))
            Store (GAGP ("C1NU"), Index (G3C1, 0x06))
            Store (GDVD (), Index (G3C1, 0x03))
        }

        Method (GDVD, 0, NotSerialized)
        {
            If (LEqual (GNVS (0x178A), One))
            {
                Store (0xE0, Local0)
            }
            Else
            {
                Store (0x14, Local0)
            }

            Return (Local0)
        }

        Method (C3UP, 0, NotSerialized)
        {
            Store (GAGP ("C3MI"), Index (G3C3, 0x04))
            Store (GAGP ("C3IN"), Index (G3C3, 0x05))
            Store (GAGP ("C3NU"), Index (G3C3, 0x06))
            Store (GDND (), Index (G3C3, 0x03))
        }

        Method (GDND, 0, NotSerialized)
        {
            Store (0xE0, Local0)
            Return (Local0)
        }

        Method (D2UP, 0, NotSerialized)
        {
            Store (0xD1, Index (G3D2, 0x06))
            Store (0x30, Index (G3D2, 0x03))
        }

        Method (GCDR, 0, NotSerialized)
        {
            If (GNVS (0x262E))
            {
                Store (Subtract (GNVS (0x34DD), 0x02), Local0)
            }
            Else
            {
                Name (TTT0, Zero)
                Store (And (GNVS (0x47BC), 0x0F), TTT0)
                If (LEqual (TTT0, 0x05))
                {
                    Store (One, Local0)
                }
                Else
                {
                    If (LEqual (TTT0, 0x0F))
                    {
                        Store (0x02, Local0)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x0C))
                        {
                            Store (0x03, Local0)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x0A))
                            {
                                Store (0x04, Local0)
                            }
                            Else
                            {
                                Store (Zero, Local0)
                            }
                        }
                    }
                }
            }

            Store (Local0, CDRA)
        }

        Method (GIT3, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, 0x11))
            {
                Store (EFSB (Zero, Zero), ASB1)
            }
            Else
            {
                If (LEqual (TTT0, 0x12))
                {
                    Store (CVID, ASB1)
                }
                Else
                {
                    If (LEqual (TTT0, 0x13))
                    {
                        If (LNotEqual (GODS, 0xFF))
                        {
                            If (LGreaterEqual (GODS, 0x04))
                            {
                                Store (GAGP (0x03FF), Local1)
                                ShiftLeft (Subtract (GODS, 0x04), 0x03, Local5)
                            }
                            Else
                            {
                                Store (GAGP (0x0313), Local1)
                                ShiftLeft (GODS, 0x03, Local5)
                            }

                            ShiftRight (Local1, Local5, Local0)
                            Store (And (Local0, 0xFF), ASB1)
                        }
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x15))
                        {
                            Store (GAGP (0x0315), ASB1)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x17))
                            {
                                Store (GNVS (0x8320), ASB1)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x31))
                                {
                                    Store (CDRA, ASB1)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x55))
                                    {
                                        Store (GECV (0x03), ASB1)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x32))
                                        {
                                            Store (GECV (One), ASB1)
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x53))
                                            {
                                                Store (GECV (0x02), ASB1)
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0x54))
                                                {
                                                    Store (GECV (Zero), ASB1)
                                                }
                                                Else
                                                {
                                                    If (LEqual (TTT0, 0x61))
                                                    {
                                                        Store (GECV (0x03), 
ASB1)
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (TTT0, 0x56))
                                                        {
                                                            Store (GSBV (), 
ASB1)
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (TTT0, 
0x57))
                                                            {
                                                                Store (GN18 (), 
ASB1)
                                                            }
                                                            Else
                                                            {
                                                                If (LEqual 
(TTT0, 0xF0)) {}
                                                                Else
                                                                {
                                                                    Store 
(Zero, ASB0)
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        Method (SIT3, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, 0x11))
            {
                If (And (Arg2, 0x02))
                {
                    EFSB (One, Arg1)
                }

                If (And (Arg2, One))
                {
                    Store (GNVS (0x8320), Local0)
                    If (LEqual (Local0, 0xFF))
                    {
                        If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                        {
                            Store (Zero, ^^EC0.ERCM)
                            Store (Zero, ^^EC0.ERCN)
                            Store (Zero, ^^EC0.ERND)
                            Release (^^EC0.MUEC)
                        }
                    }
                    Else
                    {
                        PRMN (0xC8)
                        If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                        {
                            Store (TARM, ^^EC0.ERCM)
                            Store (TARN, ^^EC0.ERCN)
                            Store (TARD, ^^EC0.ERND)
                            Release (^^EC0.MUEC)
                        }
                    }

                    SNVS (0xA2B8, Add (Arg1, 0x64))
                    If (LEqual (GNVS (0x3633), One))
                    {
                        SNVS (0x3633, Zero)
                    }
                }
            }
            Else
            {
                If (LEqual (TTT0, 0x12))
                {
                    If (And (Arg2, 0x02))
                    {
                        Store (Arg1, CVID)
                        If (LLess (Arg1, GDVD ()))
                        {
                            Store (One, Local0)
                        }
                        Else
                        {
                            Store (Zero, Local0)
                        }

                        If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                        {
                            Store (Local0, ^^EC0.REPU)
                            Release (^^EC0.MUEC)
                        }

                        SAGP (0x0312, Arg1)
                    }

                    If (And (Arg2, One))
                    {
                        If (LOr (GNVS (0x178A), LNot (And (COCS, 0x20))))
                        {
                            SNVS (0x92D8, Increment (Arg1))
                        }
                        Else
                        {
                            If (LGreater (Arg1, 0x14))
                            {
                                SNVS (0x8348, Subtract (Arg1, 0x14))
                                Store (Zero, Local0)
                            }
                            Else
                            {
                                SNVS (0x8348, Subtract (0x14, Arg1))
                                Store (One, Local0)
                            }

                            SNVS (0x178B, Local0)
                        }
                    }
                }
                Else
                {
                    If (LEqual (TTT0, 0x13))
                    {
                        If (And (Arg2, 0x02))
                        {
                            If (LNotEqual (GODS, 0xFF))
                            {
                                If (LGreaterEqual (GODS, 0x04))
                                {
                                    ShiftLeft (Subtract (GODS, 0x04), 0x03, 
Local5)
                                    ShiftLeft (Arg1, Local5, Local0)
                                    ShiftLeft (0xFF, Local5, Local1)
                                    Not (Local1, Local1)
                                    And (TGR2, Local1, TGR2)
                                    Or (TGR2, Local0, TGR2)
                                }
                                Else
                                {
                                    ShiftLeft (GODS, 0x03, Local5)
                                    ShiftLeft (Arg1, Local5, Local0)
                                    ShiftLeft (0xFF, Local5, Local1)
                                    Not (Local1, Local1)
                                    And (TGRT, Local1, TGRT)
                                    Or (TGRT, Local0, TGRT)
                                }
                            }
                            Else
                            {
                                Store (TGRT, Local0)
                                SAGP (0x0313, Local0)
                                Store (TGR2, Local0)
                                SAGP (0x03FF, Local0)
                            }
                        }

                        If (And (Arg2, One))
                        {
                            SNVS (0x6390, Increment (Arg1))
                        }
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x15))
                        {
                            If (And (Arg2, 0x02))
                            {
                                If (LLess (Arg1, GDND ()))
                                {
                                    Store (One, Local0)
                                }
                                Else
                                {
                                    Store (Zero, Local0)
                                }

                                If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                                {
                                    Store (Local0, ^^EC0.RNBV)
                                    Release (^^EC0.MUEC)
                                }

                                SAGP (0x0315, Arg1)
                            }

                            If (And (Arg2, One))
                            {
                                If (LOr (GNVS (0x178A), LNot (And (COCS, 
0x20))))
                                {
                                    SNVS (0x92E8, Increment (Arg1))
                                }
                                Else
                                {
                                    If (LGreater (Arg1, 0xE0))
                                    {
                                        SNVS (0x8350, Subtract (Arg1, 0xE0))
                                        Store (Zero, Local0)
                                    }
                                    Else
                                    {
                                        SNVS (0x8350, Subtract (0xE0, Arg1))
                                        Store (One, Local0)
                                    }

                                    SNVS (0x178C, Local0)
                                }
                            }
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x17))
                            {
                                SNVS (0x8320, Arg1)
                                If (LEqual (Arg1, 0xFF))
                                {
                                    If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                                    {
                                        Store (Zero, ^^EC0.ECAT)
                                        Release (^^EC0.MUEC)
                                    }
                                }
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x31))
                                {
                                    If (And (Arg2, One))
                                    {
                                        If (Arg1)
                                        {
                                            SNVS (0x262E, 0x02)
                                            SNVS (0x34DD, Add (Arg1, 0x02))
                                            SNVS (0x3638, Add (Arg1, 0x03))
                                        }
                                        Else
                                        {
                                            SNVS (0x262E, Zero)
                                            SNVS (0x34DD, Zero)
                                            SNVS (0x3638, Zero)
                                        }

                                        Or (ASB0, 0x02, ASB0)
                                    }
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x32))
                                    {
                                        If (And (Arg2, 0x02))
                                        {
                                            SECV (One, Arg1)
                                        }

                                        If (And (Arg2, One))
                                        {
                                            SNVS (0x8358, Increment (Arg1))
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x55))
                                        {
                                            If (And (Arg2, 0x02))
                                            {
                                                SECV (0x03, Arg1)
                                            }

                                            If (And (Arg2, One))
                                            {
                                                SNVS (0x8368, Increment (Arg1))
                                            }
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x53))
                                            {
                                                If (And (Arg2, 0x02))
                                                {
                                                    SECV (0x02, Arg1)
                                                }

                                                If (And (Arg2, One))
                                                {
                                                    SNVS (0x7370, Increment 
(Arg1))
                                                }
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0x54))
                                                {
                                                    If (And (Arg2, 0x02))
                                                    {
                                                        SECV (Zero, Arg1)
                                                    }

                                                    If (And (Arg2, One))
                                                    {
                                                        SNVS (0x8360, Increment 
(Arg1))
                                                    }
                                                }
                                                Else
                                                {
                                                    If (LEqual (TTT0, 0x61))
                                                    {
                                                        If (And (Arg2, 0x02))
                                                        {
                                                            SECV (0x03, Arg1)
                                                        }

                                                        If (And (Arg2, One))
                                                        {
                                                            SNVS (0x8368, 
Increment (Arg1))
                                                        }
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (TTT0, 0x56))
                                                        {
                                                            If (And (Arg2, 
0x02))
                                                            {
                                                                SSBV (Arg1)
                                                            }

                                                            If (And (Arg2, One))
                                                            {
                                                                SNVS (0x366B, 
Increment (Arg1))
                                                            }
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (TTT0, 
0x57))
                                                            {
                                                                If (And (Arg2, 
0x02))
                                                                {
                                                                    SN18 (Arg1)
                                                                }

                                                                If (And (Arg2, 
One))
                                                                {
                                                                    SNVS 
(0x3670, Increment (Arg1))
                                                                }
                                                            }
                                                            Else
                                                            {
                                                                If (LEqual 
(TTT0, 0xF0))
                                                                {
                                                                    Store 
(Arg1, GODS)
                                                                }
                                                                Else
                                                                {
                                                                    Store 
(Zero, ASB0)
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        Method (EFSB, 2, Serialized)
        {
            Store (Zero, Local0)
            If (Arg0)
            {
                DCMN (Arg1)
            }
            Else
            {
                Store (GCMN (), Local0)
            }

            Return (Local0)
        }

        Method (GCMN, 0, NotSerialized)
        {
            Store (^^EC0.RBEC (0xD2, Zero, 0x1F), CLKB)
            Store (CB16, Local0)
            Store (CB17, Local1)
            Store (CB20, Local2)
            ShiftRight (Local2, 0x07, Local2)
            ShiftLeft (Local1, 0x03, Local1)
            Or (Local1, Local2, Local1)
            And (Local0, 0xC0, Local2)
            ShiftRight (Local2, 0x05, Local2)
            Or (Local1, Local2, Local1)
            And (Local0, 0x3F, Local0)
            Multiply (Local0, 0x02, Local0)
            Multiply (Local1, 0x32, Local1)
            Divide (Local1, Local0, , Local4)
            Subtract (Local4, 0x64, Local0)
            Return (Local0)
        }

        Method (DCMN, 1, NotSerialized)
        {
            Store (^^EC0.RBEC (0xD2, Zero, 0x1F), CLKB)
            If (And (CB12, 0x80))
            {
                And (CB16, 0x3F, Local0)
                Or (Or (ShiftRight (And (CB16, 0xC0), 0x05), ShiftLeft (
                    CB17, 0x03)), ShiftRight (And (CB20, 0x80), 0x07), 
                    Local1)
            }
            Else
            {
                Store (0x0A, Local0)
                Store (0x50, Local1)
            }

            PRMN (Add (Arg0, 0x64))
            Or (CB05, 0x10, CB05)
            ^^EC0.WBEC (0xD2, 0x05, One, CLKB, 0x05)
            Divide (Multiply (And (TARM, 0x3F), Local1), Local0, , 
                Local2)
            Or (And (TARM, 0x3F), And (ShiftLeft (And (Local2, 0x06
                ), 0x05), 0xFF), CB16)
            Store (And (ShiftRight (Local2, 0x03), 0xFF), CB17)
            Or (And (CB20, 0x7F), And (ShiftLeft (And (Local2, One
                ), 0x07), 0xFF), CB20)
            Store (Or (CB12, 0x80), CB12)
            ^^EC0.WBEC (0xD2, 0x0C, 0x09, CLKB, 0x0C)
            And (CB05, 0xFFFFFFEF, CB05)
            ^^EC0.WBEC (0xD2, 0x05, One, CLKB, 0x05)
            Store (TARM, CB16)
            Store (TARN, CB17)
            Or (And (CB20, 0x7F), TARD, CB20)
            ^^EC0.WBEC (0xD2, 0x0C, 0x09, CLKB, 0x0C)
        }

        Name (TARM, Zero)
        Name (TARN, Zero)
        Name (TARD, Zero)
        Method (PRMN, 1, NotSerialized)
        {
            Store (0x0A, Local0)
            While (LLessEqual (Local0, 0x19))
            {
                Divide (Multiply (Arg0, ShiftLeft (Local0, One)), 0x32, Local2, 
                    Local1)
                If (LNot (Local2))
                {
                    If (LLess (ShiftRight (Local1, 0x03), 0x0100))
                    {
                        Or (Local0, And (ShiftLeft (And (Local1, 0x06), 0x05), 
                            0xFF), TARM)
                        And (ShiftRight (Local1, 0x03), 0xFF, TARN)
                        And (ShiftLeft (And (Local1, One), 0x07), 0xFF, TARD)
                        Break
                    }
                }

                Increment (Local0)
            }
        }

        Method (EPCI, 2, Serialized)
        {
            Store (Zero, Local0)
            If (Arg0)
            {
                DPMN (Arg1)
            }
            Else
            {
                Store (GPMN (), Local0)
            }

            Return (Local0)
        }

        Method (GPMN, 0, NotSerialized)
        {
            Store (^^EC0.RBEC (0xD2, Zero, 0x1F), CLKB)
            And (CB28, 0x80, Local0)
            ShiftRight (Local0, 0x07, Local0)
            And (CB26, 0xC0, Local1)
            ShiftRight (Local1, 0x05, Local1)
            And (CB27, 0xFF, Local2)
            ShiftLeft (Local2, 0x03, Local2)
            Add (Local0, Local1, Local0)
            Add (Local0, Local2, Local0)
            And (CB26, 0x3F, Local1)
            Multiply (0x37EE, Local0, Local2)
            Divide (Local2, Local1, , Local3)
            Divide (Local3, 0x03E8, , Local4)
            Multiply (Local4, 0x03E8, Local4)
            Subtract (Local3, Local4, Local5)
            If (LGreater (Local5, 0x01F4))
            {
                Add (Local4, 0x03E8, Local4)
            }

            Divide (Local4, 0x03E8, , Local4)
            Divide (Local4, GDIV (CB28), , Local4)
            Return (Local4)
        }

        Method (DPMN, 1, NotSerialized)
        {
            Store (^^EC0.RBEC (0xD2, Zero, 0x1F), CLKB)
            Multiply (Arg0, 0x03E8, Local0)
            Multiply (Local0, GDIV (CB28), Local0)
            CCMN (Local0, 0x37EE)
            Store (Or (ShiftLeft (And (VCON, One), 0x07), CB28
                ), Local0)
            Store (Local0, CB28)
            Store (And (VCOM, 0x3F), CB26)
            Store (Or (ShiftLeft (ShiftRight (And (VCON, 0x06), One), 
                0x06), CB26), Local0)
            Store (Local0, CB26)
            ShiftRight (VCON, 0x03, CB27)
            ^^EC0.WBEC (0xD2, 0x1A, 0x03, CLKB, 0x1A)
        }

        Name (VCOM, Zero)
        Name (VCON, Zero)
        Method (ABS, 2, NotSerialized)
        {
            If (LLess (Arg0, Arg1))
            {
                Return (Subtract (Arg1, Arg0))
            }
            Else
            {
                Return (Subtract (Arg0, Arg1))
            }
        }

        Name (DIVD, Buffer (0x10)
        {
            /* 0000 */    0x02, 0x03, 0x05, 0x09, 0x04, 0x06, 0x0A, 0x12, 
            /* 0008 */    0x08, 0x0C, 0x14, 0x24, 0x10, 0x18, 0x28, 0x48
        })
        Method (GDIV, 1, NotSerialized)
        {
            Return (DerefOf (Index (DIVD, And (Arg0, 0x0F))))
        }

        Method (CCMN, 2, NotSerialized)
        {
            Store (Arg1, Local0)
            Store (ABS (Arg0, Arg1), Local1)
            Store (0x13, Local2)
            While (LLess (Local2, 0x19))
            {
                Add (Divide (Multiply (Arg0, Local2), Arg1, ), 0x02, 
                    Local3)
                If (LGreater (Local3, 0x0800))
                {
                    Store (0x0800, Local3)
                }

                If (LGreater (Divide (Multiply (Arg0, Local2), Arg1, ), 
                    0x02))
                {
                    Subtract (Divide (Multiply (Arg0, Local2), Arg1, ), 0x02, 
                        Local4)
                    If (LLess (Local4, 0x02))
                    {
                        Store (0x02, Local4)
                    }
                }
                Else
                {
                    Store (0x02, Local4)
                }

                While (LLessEqual (Local4, Local3))
                {
                    Store (Divide (Multiply (Arg1, Local4), Local2, ), Local0)
                    Store (ABS (Arg0, Local0), Local5)
                    If (LLess (Local5, Local1))
                    {
                        Store (Local4, VCON)
                        Store (Local2, VCOM)
                        Store (Local5, Local1)
                        If (LLess (Local5, 0x012C))
                        {
                            Break
                        }
                    }

                    Increment (Local4)
                }

                Increment (Local2)
            }
        }

        OperationRegion (SIOG, SystemIO, IO1B, 0x08)
        Field (SIOG, ByteAcc, NoLock, Preserve)
        {
            GP1X,   8, 
            GP2X,   8, 
            GP3X,   8, 
            GP4X,   8, 
            GP5X,   8, 
            GP6X,   8, 
            GP7X,   8, 
            GP8X,   8
        }

        Method (SSGP, 2, NotSerialized)
        {
            ENFG (0x07)
            Divide (Arg0, 0x10, Local0, Local1)
            ShiftLeft (One, Local0, Local0)
            Name (TTT0, Zero)
            Store (Local1, TTT0)
            If (LEqual (TTT0, One))
            {
                If (Arg1)
                {
                    And (OPC8, Not (Local0), OPC8)
                    Or (GP1X, Local0, GP1X)
                }
                Else
                {
                    Or (OPC0, Local0, OPC0)
                    Or (OPC8, Local0, OPC8)
                    And (GP1X, Not (Local0), GP1X)
                }
            }
            Else
            {
                If (LEqual (TTT0, 0x02))
                {
                    If (Arg1)
                    {
                        And (OPC9, Not (Local0), OPC9)
                        Or (GP2X, Local0, GP2X)
                    }
                    Else
                    {
                        Or (OPC1, Local0, OPC1)
                        Or (OPC9, Local0, OPC9)
                        And (GP2X, Not (Local0), GP2X)
                    }
                }
                Else
                {
                    If (LEqual (TTT0, 0x03))
                    {
                        If (Arg1)
                        {
                            And (OPCA, Not (Local0), OPCA)
                            Or (GP3X, Local0, GP3X)
                        }
                        Else
                        {
                            Or (OPC2, Local0, OPC2)
                            Or (OPCA, Local0, OPCA)
                            And (GP3X, Not (Local0), GP3X)
                        }
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x04))
                        {
                            If (Arg1)
                            {
                                And (OPCB, Not (Local0), OPCB)
                                Or (GP4X, Local0, GP4X)
                            }
                            Else
                            {
                                Or (OPC3, Local0, OPC3)
                                Or (OPCB, Local0, OPCB)
                                And (GP4X, Not (Local0), GP4X)
                            }
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x05))
                            {
                                If (Arg1)
                                {
                                    And (OPCC, Not (Local0), OPCC)
                                    Or (GP5X, Local0, GP5X)
                                }
                                Else
                                {
                                    Or (OPC4, Local0, OPC4)
                                    Or (OPCC, Local0, OPCC)
                                    And (GP5X, Not (Local0), GP5X)
                                }
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x06))
                                {
                                    If (Arg1)
                                    {
                                        And (OPCD, Not (Local0), OPCD)
                                        Or (GP6X, Local0, GP6X)
                                    }
                                    Else
                                    {
                                        Or (OPCD, Local0, OPCD)
                                        And (GP6X, Not (Local0), GP6X)
                                    }
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x07))
                                    {
                                        If (Arg1)
                                        {
                                            And (OPCE, Not (Local0), OPCE)
                                            Or (GP7X, Local0, GP7X)
                                        }
                                        Else
                                        {
                                            Or (OPCE, Local0, OPCE)
                                            And (GP7X, Not (Local0), GP7X)
                                        }
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x08))
                                        {
                                            If (Arg1)
                                            {
                                                And (OPCF, Not (Local0), OPCF)
                                                Or (GP8X, Local0, GP8X)
                                            }
                                            Else
                                            {
                                                Or (OPCF, Local0, OPCF)
                                                And (GP8X, Not (Local0), GP8X)
                                            }
                                        }
                                        Else
                                        {
                                            Store (0xFF, Local0)
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            EXFG ()
        }

        Method (GSGP, 1, NotSerialized)
        {
            ENFG (0x07)
            Divide (Arg0, 0x10, Local0, Local1)
            Name (TTT0, Zero)
            Store (Local1, TTT0)
            If (LEqual (TTT0, One))
            {
                Store (OPC8, Local2)
            }
            Else
            {
                If (LEqual (TTT0, 0x02))
                {
                    Store (OPC9, Local2)
                }
                Else
                {
                    If (LEqual (TTT0, 0x03))
                    {
                        Store (OPCA, Local2)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x04))
                        {
                            Store (OPCB, Local2)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x05))
                            {
                                Store (OPCC, Local2)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x06))
                                {
                                    Store (OPCD, Local2)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x07))
                                    {
                                        Store (OPCE, Local2)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x08))
                                        {
                                            Store (OPCF, Local2)
                                        }
                                        Else
                                        {
                                            Store (0xFF, Local2)
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            EXFG ()
            Return (And (ShiftRight (Local2, Local0), One))
        }

        Name (ECTB, Package (0x04)
        {
            Package (0x02)
            {
                0x40, 
                0x80
            }, 

            Package (0x02)
            {
                0x60, 
                0x81
            }, 

            Package (0x02)
            {
                0xB0, 
                0x82
            }, 

            Package (0x02)
            {
                0x40, 
                0x83
            }
        })
        Method (SECV, 2, NotSerialized)
        {
            Store (One, Local0)
            If (And (Arg1, One))
            {
                Store (Zero, Local0)
            }

            ShiftRight (Arg1, One, Local1)
            Add (Local1, DerefOf (Index (DerefOf (Index (ECTB, Arg0)), Zero
                )), Local1)
            SSGP (DerefOf (Index (DerefOf (Index (ECTB, Arg0)), One)), 
                Local0)
            If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
            {
                Name (TTT0, Zero)
                Store (Arg0, TTT0)
                If (LEqual (TTT0, Zero))
                {
                    Store (Local1, ^^EC0.DA0C)
                }
                Else
                {
                    If (LEqual (TTT0, One))
                    {
                        Store (Local1, ^^EC0.DA1C)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x02))
                        {
                            Store (Local1, ^^EC0.DA2C)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x03))
                            {
                                Store (Local1, ^^EC0.DA3C)
                            }
                            Else
                            {
                                Store (0xFF, Local1)
                            }
                        }
                    }
                }

                Release (^^EC0.MUEC)
            }
        }

        Method (GECV, 1, NotSerialized)
        {
            If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
            {
                Name (TTT0, Zero)
                Store (Arg0, TTT0)
                If (LEqual (TTT0, Zero))
                {
                    Store (^^EC0.DA0S, Local0)
                }
                Else
                {
                    If (LEqual (TTT0, One))
                    {
                        Store (^^EC0.DA1S, Local0)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x02))
                        {
                            Store (^^EC0.DA2S, Local0)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x03))
                            {
                                Store (^^EC0.DA3S, Local0)
                            }
                            Else
                            {
                                Store (0xFF, Local0)
                            }
                        }
                    }
                }

                Release (^^EC0.MUEC)
            }

            Subtract (Local0, DerefOf (Index (DerefOf (Index (ECTB, Arg0)), Zero
                )), Local0)
            ShiftLeft (Local0, One, Local0)
            If (GSGP (DerefOf (Index (DerefOf (Index (ECTB, Arg0)), One
                ))))
            {
                Increment (Local0)
            }

            Return (Local0)
        }

        Name (TSBV, Package (0x03)
        {
            Package (0x02)
            {
                0x20, 
                One
            }, 

            Package (0x02)
            {
                0x21, 
                0x02
            }, 

            Package (0x02)
            {
                0x23, 
                0x03
            }
        })
        Method (SSBV, 1, NotSerialized)
        {
            If (LGreater (Arg0, 0x03))
            {
                Add (Arg0, One, Arg0)
            }

            Store (One, Local0)
            If (And (Arg0, One))
            {
                Store (Zero, Local0)
            }

            SSGP (DerefOf (Index (DerefOf (Index (TSBV, Zero)), Zero)), 
                Local0)
            ShiftRight (Arg0, One, Local1)
            Store (One, Local0)
            If (And (Local1, One))
            {
                Store (Zero, Local0)
            }

            SSGP (DerefOf (Index (DerefOf (Index (TSBV, One)), Zero)), 
                Local0)
            ShiftRight (Arg0, 0x02, Local1)
            Store (One, Local0)
            If (And (Local1, One))
            {
                Store (Zero, Local0)
            }

            SSGP (DerefOf (Index (DerefOf (Index (TSBV, 0x02)), Zero)), 
                Local0)
        }

        Method (GSBV, 0, NotSerialized)
        {
            Store (Zero, Local0)
            If (GSGP (DerefOf (Index (DerefOf (Index (TSBV, Zero)), Zero
                ))))
            {
                Add (DerefOf (Index (DerefOf (Index (TSBV, Zero)), One)), 
                    Local0, Local0)
            }

            If (GSGP (DerefOf (Index (DerefOf (Index (TSBV, One)), Zero
                ))))
            {
                Add (DerefOf (Index (DerefOf (Index (TSBV, One)), One)), 
                    Local0, Local0)
            }

            If (GSGP (DerefOf (Index (DerefOf (Index (TSBV, 0x02)), Zero
                ))))
            {
                Add (DerefOf (Index (DerefOf (Index (TSBV, 0x02)), One)), 
                    Local0, Local0)
            }

            Return (Local0)
        }

        Name (TN18, Package (0x03)
        {
            Package (0x02)
            {
                0x84, 
                One
            }, 

            Package (0x02)
            {
                0x26, 
                0x02
            }, 

            Package (0x02)
            {
                0x25, 
                0x03
            }
        })
        Method (SN18, 1, NotSerialized)
        {
            If (LGreater (Arg0, 0x03))
            {
                Add (Arg0, One, Arg0)
            }

            Store (One, Local0)
            If (And (Arg0, One))
            {
                Store (Zero, Local0)
            }

            SSGP (DerefOf (Index (DerefOf (Index (TN18, Zero)), Zero)), 
                Local0)
            ShiftRight (Arg0, One, Local1)
            Store (One, Local0)
            If (And (Local1, One))
            {
                Store (Zero, Local0)
            }

            SSGP (DerefOf (Index (DerefOf (Index (TN18, One)), Zero)), 
                Local0)
            ShiftRight (Arg0, 0x02, Local1)
            Store (One, Local0)
            If (And (Local1, One))
            {
                Store (Zero, Local0)
            }

            SSGP (DerefOf (Index (DerefOf (Index (TN18, 0x02)), Zero)), 
                Local0)
        }

        Method (GN18, 0, NotSerialized)
        {
            Store (Zero, Local0)
            If (GSGP (DerefOf (Index (DerefOf (Index (TN18, Zero)), Zero
                ))))
            {
                Add (DerefOf (Index (DerefOf (Index (TN18, Zero)), One)), 
                    Local0, Local0)
            }

            If (GSGP (DerefOf (Index (DerefOf (Index (TN18, One)), Zero
                ))))
            {
                Add (DerefOf (Index (DerefOf (Index (TN18, One)), One)), 
                    Local0, Local0)
            }

            If (GSGP (DerefOf (Index (DerefOf (Index (TN18, 0x02)), Zero
                ))))
            {
                Add (DerefOf (Index (DerefOf (Index (TN18, 0x02)), One)), 
                    Local0, Local0)
            }

            Return (Local0)
        }

        Method (WBYT, 3, NotSerialized)
        {
            And (Arg0, 0xFE, Arg0)
            ASCM (Arg0, Arg1, Arg2, 0x08)
        }

        Method (RBYT, 2, NotSerialized)
        {
            Or (Arg0, One, Arg0)
            Return (And (ASCM (Arg0, Arg1, Zero, 0x08), 0xFF))
        }

        OperationRegion (SMRG, SystemIO, SMB0, 0x30)
        Field (SMRG, ByteAcc, NoLock, Preserve)
        {
            HSTS,   8, 
            SSTS,   8, 
            HSTC,   8, 
            HCMD,   8, 
            HADR,   8, 
            HDT0,   8, 
            HDT1,   8, 
            BLKD,   8
        }

        Method (ASCM, 4, Serialized)
        {
            Store (0x05, Local0)
            While (Decrement (Local0))
            {
                Store (0x1E, HSTS)
                Stall (0x0A)
                While (LAnd (And (HSTS, One), One))
                {
                    Store (0x1E, HSTS)
                    Stall (0x0A)
                }

                Store (Arg1, HCMD)
                Stall (0x0A)
                Store (Arg0, HADR)
                Stall (0x0A)
                And (Arg0, One, Local2)
                Store (Arg3, HSTC)
                Stall (0x0A)
                Store (Arg2, HDT0)
                Stall (0x0A)
                Store (0x1E, HSTS)
                Stall (0x0A)
                While (LAnd (And (HSTS, One), One))
                {
                    Store (0x1E, HSTS)
                    Stall (0x0A)
                }

                Or (HSTC, 0x40, HSTC)
                Stall (0x0A)
                Store (0xFFFF, Local1)
                While (LEqual (And (HSTS, One), One))
                {
                    Stall (0x14)
                }

                If (And (HSTS, 0x1C))
                {
                    Return (Ones)
                }

                If (Local2)
                {
                    Return (HDT0)
                }
            }

            Return (Ones)
        }

        Method (VDLC, 1, Serialized)
        {
            If (LEqual (GNVS (0x47B8), 0x05))
            {
                If (LEqual (Arg0, One))
                {
                    ^^EC0.ECBW (0x40, 0x0A, Zero)
                    ^^EC0.ECBW (0x40, 0x0B, Zero)
                    ^^EC0.ECBW (0x40, 0x0C, Zero)
                    ^^EC0.ECBW (0x40, 0x0D, Zero)
                }
                Else
                {
                    ^^EC0.ECBW (0x40, 0x0A, 0x06)
                    ^^EC0.ECBW (0x40, 0x0B, 0x06)
                    ^^EC0.ECBW (0x40, 0x0C, 0x06)
                    ^^EC0.ECBW (0x40, 0x0D, 0x06)
                }

                Store (One, Local0)
            }
            Else
            {
                ^^EC0.ECBW (0x40, 0x0A, Zero)
                ^^EC0.ECBW (0x40, 0x0B, Zero)
                ^^EC0.ECBW (0x40, 0x0C, Zero)
                ^^EC0.ECBW (0x40, 0x0D, Zero)
                Store (Arg0, Local0)
            }

            ShiftLeft (Local0, 0x04, Local0)
            Store (^^EC0.ECBR (0x40, 0x19), Local1)
            And (Local1, 0xFFFFFFEF, Local1)
            ^^EC0.ECBW (0x40, 0x19, Or (Local1, Local0))
        }

        Method (VNLC, 1, Serialized)
        {
            ^^EC0.ECBW (0x40, 0x14, Zero)
            ^^EC0.ECBW (0x40, 0x15, Zero)
            ShiftLeft (Arg0, One, Local0)
            Store (^^EC0.ECBR (0x40, 0x19), Local1)
            And (Local1, 0xFFFFFFFD, Local1)
            ^^EC0.ECBW (0x40, 0x19, Or (Local1, Local0))
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (G4T0, Package (0x04)
        {
            0x04070010, 
            "CPU Q-FAN Control", 
            0x80000000, 
            Zero
        })
        Name (G4T1, Package (0x09)
        {
            0x04080011, 
            "CPU Q-FAN Profile", 
            0x00100001, 
            Zero, 
            0x04, 
            "Performance", 
            "Optimal", 
            "Silent", 
            "Manual"
        })
        Name (G4T2, Package (0x07)
        {
            0x04080012, 
            "CPU FAN Type", 
            0x00100001, 
            Zero, 
            0x02, 
            "PWM", 
            "DC"
        })
        Name (G420, Package (0x04)
        {
            0x04070070, 
            "Chassis Q-FAN Control", 
            0x80000000, 
            Zero
        })
        Name (G421, Package (0x09)
        {
            0x04080071, 
            "Chassis Q-FAN Profile", 
            0x00100001, 
            Zero, 
            0x04, 
            "Performance", 
            "Optimal", 
            "Silent", 
            "Manual"
        })
        Name (GRP4, Package (0x05)
        {
            G4T0, 
            G4T1, 
            G420, 
            G421, 
            G4T2
        })
        Method (GIT4, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, 0x10))
            {
                Store (GNVS (0x1775), ASB1)
            }
            Else
            {
                If (LEqual (TTT0, 0x11))
                {
                    Store (GNVS (0x26C2), ASB1)
                }
                Else
                {
                    If (LEqual (TTT0, 0x12))
                    {
                        Store (GNVS (0x1777), ASB1)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x70))
                        {
                            Store (GNVS (0x1776), ASB1)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x71))
                            {
                                Store (GNVS (0x26C4), ASB1)
                            }
                            Else
                            {
                                Store (Zero, ASB0)
                            }
                        }
                    }
                }
            }
        }

        Method (SIT4, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, 0x10))
            {
                If (LNotEqual (GNVS (0x1775), Arg1))
                {
                    If (And (Arg2, One))
                    {
                        SNVS (0x1775, Arg1)
                    }
                }
            }
            Else
            {
                If (LEqual (TTT0, 0x11))
                {
                    If (LNotEqual (GNVS (0x26C2), Arg1))
                    {
                        If (And (Arg2, One))
                        {
                            SNVS (0x26C2, Arg1)
                        }
                    }
                }
                Else
                {
                    If (LEqual (TTT0, 0x12))
                    {
                        If (LNotEqual (GNVS (0x1777), Arg1))
                        {
                            If (And (Arg2, One))
                            {
                                SNVS (0x1777, Arg1)
                            }
                        }
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x70))
                        {
                            If (LNotEqual (GNVS (0x1776), Arg1))
                            {
                                If (And (Arg2, One))
                                {
                                    SNVS (0x1776, Arg1)
                                }
                            }
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x71))
                            {
                                If (LNotEqual (GNVS (0x26C4), Arg1))
                                {
                                    If (And (Arg2, One))
                                    {
                                        SNVS (0x26C4, Arg1)
                                    }
                                }
                            }
                            Else
                            {
                                Store (Zero, ASB0)
                            }
                        }
                    }
                }
            }
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (G5T0, Package (0x07)
        {
            0x05080000, 
            "AI Profile", 
            Zero, 
            Zero, 
            0x02, 
            "Auto", 
            Zero
        })
        Name (G5T2, Package (0x08)
        {
            0x05080002, 
            "AI Profile Key", 
            Zero, 
            Zero, 
            0x03, 
            "Performance", 
            "Superior", 
            "Ultimate"
        })
        Name (G5T3, Package (0x07)
        {
            0x05080003, 
            "Auto Tune", 
            Zero, 
            Zero, 
            0x03, 
            "Auto", 
            Zero
        })
        Name (G5T4, Package (0x07)
        {
            0x05080004, 
            "EZ Tune", 
            Zero, 
            Zero, 
            0x03, 
            "Auto", 
            Zero
        })
        Name (G5T5, Package (0x07)
        {
            0x05080005, 
            "Fast Tune", 
            Zero, 
            Zero, 
            0x03, 
            "Auto", 
            Zero
        })
        Name (G5T6, Package (0x07)
        {
            0x05080006, 
            "AMD Turbo Ratio", 
            Zero, 
            Zero, 
            0x03, 
            "Auto", 
            Zero
        })
        Name (G5T7, Package (0x07)
        {
            0x05080007, 
            "AMD CPB Turbo Ratio", 
            Zero, 
            Zero, 
            0x03, 
            "Auto", 
            Zero
        })
        Name (GRP5, Package (0x07)
        {
            G5T0, 
            G5T2, 
            G5T3, 
            G5T4, 
            G5T5, 
            G5T6, 
            G5T7
        })
        Name (NBCR, Zero)
        Name (DRAO, Zero)
        Name (OBID, Zero)
        Name (ATFG, Zero)
        Method (GIT5, 2, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                Store (One, ASB1)
            }
            Else
            {
                If (LEqual (TTT0, 0x02))
                {
                    UDBF (Arg1)
                    MVBF (Arg1)
                    Store (0x05, ASB1)
                }
                Else
                {
                    If (LEqual (TTT0, 0x03))
                    {
                        ATUN (Arg1)
                        Store (0x05, ASB1)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x04))
                        {
                            ESYT (Arg1)
                            Store (0x05, ASB1)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x05))
                            {
                                CRBB ()
                                Store (0x05, ASB1)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x06))
                                {
                                    TURR ()
                                    Store (0x05, ASB1)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x07))
                                    {
                                        CPBR ()
                                        Store (0x05, ASB1)
                                    }
                                    Else
                                    {
                                        Store (Zero, ASB0)
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        Method (SIT5, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                Store (Zero, ASB0)
            }
            Else
            {
                Store (Zero, ASB0)
            }
        }

        Name (FAST, Package (0x06)
        {
            0x03010011, 
            0x6E, 
            0x03080031, 
            0x02, 
            Ones, 
            Ones
        })
        Method (CRBB, 0, NotSerialized)
        {
            SNVS (0x454C, 0x08)
            SNVS (0x455C, 0x05)
            SNVS (0x4560, 0x05)
            SNVS (0x54C8, 0x0A)
            Store (GDMF (), Local0)
            If (LGreaterEqual (Local0, 0x0640))
            {
                Store (0x03, Index (FAST, 0x03))
            }
            Else
            {
                If (LLess (Local0, 0x0534))
                {
                    Store (One, Index (FAST, 0x03))
                    SNVS (0x454C, 0x05)
                    SNVS (0x455C, 0x02)
                    SNVS (0x4560, 0x02)
                    SNVS (0x54C8, 0x04)
                }
            }

            Store (0x08, OBID)
            Store (Zero, Local0)
            Store (Subtract (DerefOf (Index (ATFB, FCPU ())), 0x64), Index (
                FAST, One))
            While (LNotEqual (DerefOf (Index (FAST, Local0)), Ones))
            {
                STBF (DerefOf (Index (FAST, Local0)), OBID)
                Add (OBID, 0x04, OBID)
                STBF (DerefOf (Index (FAST, Add (Local0, One))), OBID)
                Add (OBID, 0x04, OBID)
                If (LEqual (DerefOf (Index (FAST, Local0)), 0x03060013))
                {
                    Store (DerefOf (Index (FAST, Add (Local0, One))), NBCR)
                }

                If (LEqual (DerefOf (Index (FAST, Local0)), 0x03080031))
                {
                    Store (DerefOf (Index (FAST, Add (Local0, One))), DRAO)
                }

                Add (Local0, 0x02, Local0)
            }

            STBF (Ones, OBID)
            Store (GAGP ("GDNI"), Local0)
            SNVS (0x54E0, Subtract (Local0, 0x04))
            SNVS (0x5498, Subtract (Local0, 0x04))
            GAGP ("ASRN")
            If (GXMP ())
            {
                SNVS (0x8358, Add (XMPV, One))
            }
            Else
            {
                SNVS (0x8358, Zero)
            }

            SNVS (0x178A, Zero)
            SNVS (0x178B, Zero)
            SNVS (0x8348, Zero)
            SNVS (0x178C, Zero)
            SNVS (0x8350, Zero)
            SNVS (0x8328, 0x64)
            SNVS (0x1331, One)
        }

        Method (ATUN, 1, NotSerialized)
        {
            Store (One, ATFG)
            Store (0x08, OBID)
            If (LNot (NBCR))
            {
                Divide (ShiftLeft (Arg0, One), Add (And (GAGP (0x0313), 0xFF
                    ), 0x08), Local3, Local0)
            }
            Else
            {
                Divide (ShiftLeft (Arg0, One), Add (NBCR, 0x08), Local3, 
                    Local0)
            }

            VDLC (One)
            VNLC (One)
            SCLL ()
            FAVD (0x03020012, Arg0)
            FANB (0x03020015, Local0)
            FDRB (0x03020032, Local0)
            STBF (Ones, OBID)
        }

        Method (FAVD, 2, NotSerialized)
        {
            Store (FCPU (), Local0)
            Store (GOCP (Arg1), Local1)
            Store (GDVD (), Local2)
            If (LAnd (LLess (Local0, 0x03), LGreaterEqual (Local1, 0x0258)))
            {
                If (LGreaterEqual (Local1, 0x0320))
                {
                    Add (Local2, 0x10, Local2)
                }
                Else
                {
                    Add (Local2, One, Local2)
                }
            }
            Else
            {
                If (LAnd (LAnd (LGreater (Local0, 0x02), LLess (Local0, 0x06)), 
                    LGreaterEqual (Local1, 0x03E8)))
                {
                    If (LGreaterEqual (Local1, 0x05DC))
                    {
                        Add (Local2, 0x18, Local2)
                    }
                    Else
                    {
                        Add (Local2, One, Local2)
                    }
                }
                Else
                {
                    If (LAnd (LEqual (Local0, 0x06), LGreaterEqual (Local1, 
0x07D0)))
                    {
                        If (LGreaterEqual (Local1, 0x09C4))
                        {
                            Add (Local2, 0x10, Local2)
                        }
                        Else
                        {
                            Add (Local2, One, Local2)
                        }
                    }
                    Else
                    {
                        If (LAnd (LEqual (Local0, 0x07), LGreaterEqual (Local1, 
0x0BB8)))
                        {
                            If (LGreaterEqual (Local1, 0x0DAC))
                            {
                                Add (Local2, 0x10, Local2)
                            }
                            Else
                            {
                                Add (Local2, One, Local2)
                            }
                        }
                        Else
                        {
                            If (LAnd (LEqual (Local0, 0x08), LGreaterEqual 
(Local1, 0x0258)))
                            {
                                If (LGreaterEqual (Local1, 0x0320))
                                {
                                    Add (Local2, 0x10, Local2)
                                }
                                Else
                                {
                                    Add (Local2, One, Local2)
                                }
                            }
                        }
                    }
                }
            }

            STBF (Arg0, OBID)
            Add (OBID, 0x04, OBID)
            STBF (Local2, OBID)
            Add (OBID, 0x04, OBID)
        }

        Method (GOCP, 1, NotSerialized)
        {
            Store (Multiply (GDCR (), 0x64), Local0)
            If (LGreater (Arg0, Local0))
            {
                Subtract (Arg0, Local0, Local1)
                Multiply (Local1, 0x2710, Local1)
                Divide (Local1, Local0, , Local2)
            }
            Else
            {
                Store (Zero, Local2)
            }

            Return (Local2)
        }

        Name (ANBT, Package (0x0C)
        {
            0x0834, 
            Zero, 
            0x0897, 
            0x60, 
            0x095F, 
            0x80, 
            0x0A8B, 
            0xA0, 
            0x0B0D, 
            0xC0, 
            0x1F40, 
            0xD0
        })
        Method (FANB, 2, NotSerialized)
        {
            Store (CVNB (Arg1), Local2)
            Store (Zero, Local0)
            Store (SizeOf (ANBT), Local1)
            While (LLess (Local0, Local1))
            {
                If (LLessEqual (Local2, DerefOf (Index (ANBT, Local0))))
                {
                    Store (DerefOf (Index (ANBT, Add (Local0, One))), Local3)
                    If (Local3)
                    {
                        ShiftLeft (Subtract (0x38, GNVS (0x73E8)), 0x02, Local4)
                        If (LGreater (Local3, Local4))
                        {
                            Add (GDND (), Subtract (Local3, Local4), Local4)
                        }
                        Else
                        {
                            Store (GDND (), Local4)
                        }
                    }
                    Else
                    {
                        Store (GDND (), Local4)
                    }

                    STBF (Arg0, OBID)
                    Add (OBID, 0x04, OBID)
                    STBF (Local4, OBID)
                    Add (OBID, 0x04, OBID)
                    Break
                }

                Add (Local0, 0x02, Local0)
            }
        }

        Name (ADRT, Package (0x16)
        {
            0x0497, 
            0x30, 
            0x0528, 
            0x38, 
            0x0582, 
            0x38, 
            0x05B4, 
            0x48, 
            0x05F0, 
            0x50, 
            0x062C, 
            0x58, 
            0x069A, 
            0x60, 
            0x06C2, 
            0x68, 
            0x06E0, 
            0x70, 
            0x0707, 
            0x78, 
            0x1F40, 
            0x80
        })
        Name (ATCP, Package (0x06)
        {
            0x577A, 
            0x68, 
            0x9758, 
            0x70, 
            0xFFFF, 
            0xFF
        })
        Method (FDRB, 2, NotSerialized)
        {
            If (GXMP ())
            {
                STBF (Arg0, OBID)
                Add (OBID, 0x04, OBID)
                STBF (XMPV, OBID)
                Add (OBID, 0x04, OBID)
            }
            Else
            {
                If (DRAO)
                {
                    Store (CDFE (Subtract (DRAO, One), Arg1), Local2)
                }
                Else
                {
                    Store (CDFE (Subtract (CDRA, One), Arg1), Local2)
                }

                Store (Zero, Local0)
                Store (GNVS (0x0338), Local1)
                While (LNotEqual (DerefOf (Index (ATCP, Local0)), 0xFFFF))
                {
                    If (LEqual (DerefOf (Index (ATCP, Local0)), Local1))
                    {
                        STBF (Arg0, OBID)
                        Add (OBID, 0x04, OBID)
                        STBF (DerefOf (Index (ATCP, Add (Local0, One))), OBID)
                        Add (OBID, 0x04, OBID)
                        Break
                    }

                    Add (Local0, 0x02, Local0)
                }

                If (LEqual (DerefOf (Index (ATCP, Local0)), 0xFFFF))
                {
                    Store (Zero, Local0)
                    Store (SizeOf (ADRT), Local1)
                    While (LLess (Local0, Local1))
                    {
                        If (LLessEqual (Local2, DerefOf (Index (ADRT, Local0))))
                        {
                            STBF (Arg0, OBID)
                            Add (OBID, 0x04, OBID)
                            STBF (DerefOf (Index (ADRT, Add (Local0, One))), 
OBID)
                            Add (OBID, 0x04, OBID)
                            Break
                        }

                        Add (Local0, 0x02, Local0)
                    }
                }
            }
        }

        Method (ESYT, 1, NotSerialized)
        {
            Store (0x08, OBID)
            Divide (ShiftLeft (Arg0, One), Add (And (GAGP (0x0313), 0xFF
                ), 0x08), Local3, Local0)
            FAVD (0x03020012, Arg0)
            FANB (0x03020015, Local0)
            Store (DRAO, Local1)
            Store (Zero, DRAO)
            FDRB (0x03020032, Local0)
            Store (Local1, DRAO)
            STBF (Ones, OBID)
        }

        Name (BUF1, Package (0x02)
        {
            0x03010011, 
            Ones
        })
        Method (UDBF, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                Subtract (0xCA, 0x64, Index (BUF1, One))
            }
            Else
            {
                If (LEqual (TTT0, One))
                {
                    Subtract (0xCE, 0x64, Index (BUF1, One))
                }
                Else
                {
                    If (LEqual (TTT0, 0x02))
                    {
                        Subtract (0xD2, 0x64, Index (BUF1, One))
                    }
                }
            }
        }

        Method (MVBF, 1, NotSerialized)
        {
            Store (Zero, Local0)
            Store (0x08, Local2)
            Store (SizeOf (BUF1), Local3)
            While (LNotEqual (Local0, Local3))
            {
                Add (Local0, One, Local1)
                If (LNotEqual (DerefOf (Index (BUF1, Local1)), Ones))
                {
                    STBF (DerefOf (Index (BUF1, Local0)), Local2)
                    Add (Local2, 0x04, Local2)
                    STBF (DerefOf (Index (BUF1, Local1)), Local2)
                    Add (Local2, 0x04, Local2)
                }

                STBF (Ones, Local2)
                Add (Local0, 0x02, Local0)
            }
        }

        Method (STBF, 2, NotSerialized)
        {
            Store (Arg0, Local0)
            Store (Arg1, Local1)
            Store (Zero, Local2)
            While (LNotEqual (Local2, 0x20))
            {
                Store (ShiftRight (Local0, Local2), Index (ASBF, Local1))
                Add (Local2, 0x08, Local2)
                Add (Local1, One, Local1)
            }
        }

        Name (TBRT, Package (0xD1)
        {
            0x04, 
            Zero, 
            0x22, 
            One, 
            0x03, 
            0x03, 
            0x02, 
            0x02, 
            0x02, 
            One, 
            0xFF, 
            0x04, 
            One, 
            0x22, 
            One, 
            0x03, 
            0x03, 
            0x03, 
            One, 
            0x02, 
            One, 
            0xFF, 
            0x04, 
            Zero, 
            0x20, 
            0x02, 
            0x04, 
            0x04, 
            0x03, 
            One, 
            0x03, 
            One, 
            0xFF, 
            0x04, 
            One, 
            0x20, 
            0x04, 
            0x05, 
            0x06, 
            0x05, 
            0x04, 
            0x05, 
            0x04, 
            0xFF, 
            0x03, 
            Zero, 
            0x1E, 
            0x03, 
            0x05, 
            0x05, 
            0x05, 
            Zero, 
            0x05, 
            Zero, 
            0xFF, 
            0x03, 
            Zero, 
            0x1C, 
            0x03, 
            0x05, 
            0x04, 
            0x04, 
            Zero, 
            0x04, 
            Zero, 
            0xFF, 
            0x02, 
            One, 
            0x20, 
            0x04, 
            0x05, 
            0x05, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            0xFF, 
            0x02, 
            Zero, 
            0x1F, 
            0x02, 
            0x04, 
            0x04, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            0xFF, 
            0x06, 
            0x02, 
            0x1A, 
            0x02, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            0x02, 
            0xFF, 
            0x06, 
            0x02, 
            0x1C, 
            0x02, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            0x02, 
            0xFF, 
            0x06, 
            0x02, 
            0x20, 
            0x02, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            0x02, 
            0xFF, 
            0xFF, 
            0xFF, 
            0xFF, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0xFF, 
            0x04, 
            Zero, 
            0x1E, 
            0x03, 
            0x05, 
            0x05, 
            0x03, 
            0x03, 
            0x04, 
            0x03, 
            0xFF, 
            0x04, 
            Zero, 
            0x1C, 
            0x03, 
            0x03, 
            0x04, 
            0x04, 
            0x03, 
            0x03, 
            0x03, 
            0xFF, 
            0x03, 
            One, 
            0x20, 
            0x02, 
            0x04, 
            0x04, 
            0x03, 
            Zero, 
            0x03, 
            Zero, 
            0xFF, 
            0x04, 
            One, 
            0x20, 
            0x02, 
            0x04, 
            0x04, 
            0x03, 
            0x02, 
            0x03, 
            0x02, 
            0xFF, 
            0x03, 
            Zero, 
            0x1F, 
            0x02, 
            0x03, 
            0x04, 
            0x02, 
            Zero, 
            0x02, 
            Zero, 
            0xFF, 
            0x04, 
            Zero, 
            0x1F, 
            0x02, 
            0x03, 
            0x04, 
            0x02, 
            0x03, 
            0x02, 
            0x02, 
            0xFF, 
            0xFF, 
            0xFF, 
            0xFF, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0xFF
        })
        Name (TBTT, Package (0x0B)
        {
            Zero, 
            Zero, 
            Zero, 
            One, 
            0x02, 
            0x02, 
            0x02, 
            0x02, 
            0x02, 
            One, 
            0xFF
        })
        Method (TURR, 0, NotSerialized)
        {
            Store (0x08, OBID)
            If (IUCP ())
            {
                Store (GAGP ("CPUN"), Local0)
                Store (GNVS (0x23C9), Local1)
                Store (GDCR (), Local2)
                Store (Zero, Local5)
                While (LNotEqual (DerefOf (Index (TBRT, Local5)), 0xFF))
                {
                    Increment (Local5)
                }

                Increment (Local5)
                Store (Zero, Local3)
                If (GNVS (0x1794))
                {
                    While (LNotEqual (DerefOf (Index (TBRT, Local3)), 0xFF))
                    {
                        Add (Local3, Local5, Local3)
                    }

                    Add (Local3, Local5, Local3)
                }

                While (LNotEqual (DerefOf (Index (TBRT, Local3)), 0xFF))
                {
                    If (LEqual (DerefOf (Index (TBRT, Local3)), Local0))
                    {
                        Store (DerefOf (Index (TBRT, Add (Local3, One))), 
Local4)
                        If (LOr (LEqual (Local4, 0xFF), LEqual (Local4, 
Local1)))
                        {
                            Store (DerefOf (Index (TBRT, Add (Local3, 0x02))), 
Local4)
                            If (LOr (LEqual (Local4, 0xFF), LEqual (Local4, 
Local2)))
                            {
                                Store (0x03, Local4)
                                While (LLess (Local4, Subtract (Local5, One)))
                                {
                                    STBF (Add (DerefOf (Index (G3C2, 0x03)), 
DerefOf (Index (TBRT, 
                                        Add (Local3, Local4)))), OBID)
                                    Add (OBID, 0x04, OBID)
                                    Increment (Local4)
                                }

                                Break
                            }
                        }
                    }

                    Add (Local3, Local5, Local3)
                }

                If (LEqual (DerefOf (Index (TBRT, Local3)), 0xFF))
                {
                    Store (0x03, Local4)
                    Store (Zero, Local3)
                    While (LLess (Local4, Subtract (Local5, One)))
                    {
                        STBF (Add (DerefOf (Index (G3C2, 0x03)), DerefOf (Index 
(TBTT, 
                            Add (Local3, Local4)))), OBID)
                        Add (OBID, 0x04, OBID)
                        Increment (Local4)
                    }
                }

                GAGP ("SCBC")
            }

            STBF (Ones, OBID)
        }

        Name (CPBT, Package (0x18)
        {
            0x06, 
            0x02, 
            0x20, 
            0x02, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            0x02, 
            Zero, 
            0xFF, 
            0xFF, 
            0xFF, 
            0xFF, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0x0F, 
            0xFF
        })
        Method (CPBR, 0, NotSerialized)
        {
            Store (0x08, OBID)
            If (IUCP ())
            {
                If (ULCB ())
                {
                    Store (GAGP ("CPUN"), Local0)
                    Store (GNVS (0x23C9), Local1)
                    Store (GDCR (), Local2)
                    Store (Zero, Local5)
                    While (LNotEqual (DerefOf (Index (CPBT, Local5)), 0xFF))
                    {
                        Increment (Local5)
                    }

                    Increment (Local5)
                    Store (Zero, Local3)
                    Store (GCBR (), Local6)
                    While (LNotEqual (DerefOf (Index (CPBT, Local3)), 0xFF))
                    {
                        If (LEqual (DerefOf (Index (CPBT, Local3)), Local0))
                        {
                            Store (DerefOf (Index (CPBT, Add (Local3, One))), 
Local4)
                            If (LOr (LEqual (Local4, 0xFF), LEqual (Local4, 
Local1)))
                            {
                                Store (DerefOf (Index (CPBT, Add (Local3, 
0x02))), Local4)
                                If (LOr (LEqual (Local4, 0xFF), LEqual (Local4, 
Local2)))
                                {
                                    Store (0x03, Local4)
                                    While (LLess (Local4, Subtract (Local5, 
One)))
                                    {
                                        STBF (Add (Subtract (Local6, 0x08), 
DerefOf (Index (CPBT, Add (
                                            Local3, Local4)))), OBID)
                                        Add (OBID, 0x04, OBID)
                                        Increment (Local4)
                                    }

                                    Break
                                }
                            }
                        }

                        Add (Local3, Local5, Local3)
                    }

                    GAGP ("SCBC")
                }
            }

            STBF (Ones, OBID)
        }

        Name (LLFG, Zero)
        Method (SCLL, 0, NotSerialized)
        {
            Store (GAGP ("GLLS"), LLFG)
        }

        Method (RCLL, 0, NotSerialized)
        {
            VDLC (LLFG)
        }

        Method (TMCM, 1, NotSerialized)
        {
            If (Arg0)
            {
                TMTC ()
            }
            Else
            {
                RCLL ()
            }
        }

        Method (TMTC, 0, NotSerialized)
        {
            ^^EC0.ECBW (0x40, 0x0A, 0x10)
            ^^EC0.ECBW (0x40, 0x0B, Zero)
            ^^EC0.ECBW (0x40, 0x0C, Zero)
            ^^EC0.ECBW (0x40, 0x0D, Zero)
            Store (^^EC0.ECBR (0x40, 0x19), Local0)
            Or (Local0, 0x10, Local0)
            ^^EC0.ECBW (0x40, 0x19, Local0)
        }

        Name (DFTB, Package (0x04)
        {
            0x0320, 
            0x042A, 
            0x0535, 
            0x0640
        })
        Method (CDFE, 2, NotSerialized)
        {
            Multiply (Arg1, DerefOf (Index (DFTB, Arg0)), Local0)
            Divide (Local0, 0xC8, Local1, Local0)
            If (LGreaterEqual (Local1, 0x64))
            {
                Increment (Local0)
            }

            Return (Local0)
        }

        Method (CVNB, 1, NotSerialized)
        {
            Multiply (GAGP ("GVNI"), Arg0, Local0)
            Return (Local0)
        }

        Method (GXMP, 0, NotSerialized)
        {
            If (XMPV)
            {
                Store (One, Local3)
            }
            Else
            {
                Store (Zero, Local0)
                Store (0x03, Local1)
                Store (Zero, Local3)
                While (LLessEqual (Local0, Local1))
                {
                    Add (0xA0, Multiply (0x02, Local0), Local2)
                    If (LNotEqual (RBYT (Local2, Zero), 0xFF))
                    {
                        If (LAnd (LEqual (RBYT (Local2, 0xB0), 0x0C), LEqual 
(RBYT (Local2, 
                            0xB1), 0x4A)))
                        {
                            If (RBYT (Local2, 0xBA))
                            {
                                Store (One, Local3)
                                Store (RBYT (Local2, 0xB9), Local0)
                                Add (Multiply (ShiftRight (Local0, 0x05), 
0x000186A0), Multiply (And (
                                    Local0, 0x1F), 0x1388), XMPV)
                                Subtract (XMPV, And (DerefOf (Index (G3D2, 
0x04)), 0x000FFFFF), 
                                    XMPV)
                                Divide (XMPV, DerefOf (Index (G3D2, 0x05)), 
Local5, XMPV)
                            }
                        }

                        Break
                    }

                    Add (Local0, One, Local0)
                }
            }

            Return (Local3)
        }

        Method (GDMF, 0, NotSerialized)
        {
            Store (Zero, Local0)
            Store (0x03, Local1)
            Store (Zero, Local3)
            While (LLessEqual (Local0, Local1))
            {
                Add (0xA0, Multiply (0x02, Local0), Local2)
                If (LNotEqual (RBYT (Local2, Zero), 0xFF))
                {
                    If (LAnd (LEqual (RBYT (Local2, 0xB0), 0x0C), LEqual (RBYT 
(Local2, 
                        0xB1), 0x4A)))
                    {
                        If (RBYT (Local2, 0xBA))
                        {
                            Multiply (RBYT (Local2, 0xB5), 0x07D0, Local3)
                            Divide (Local3, Multiply (RBYT (Local2, 0xBA), RBYT 
(Local2, 0xB4)), 
                                , Local3)
                        }
                    }

                    Multiply (RBYT (Local2, 0x0B), 0x07D0, Local4)
                    Divide (Local4, Multiply (RBYT (Local2, 0x0C), RBYT 
(Local2, 0x0A)), 
                        , Local4)
                    If (LLess (Local3, Local4))
                    {
                        Store (Local4, Local3)
                    }

                    Store (GNVS (0x47B8), Local4)
                    If (LOr (LOr (LEqual (Local4, One), LGreater (Local4, 
0x03)), LEqual (
                        Local4, 0x08)))
                    {
                        If (LGreaterEqual (Local3, 0x0640))
                        {
                            Store (0x0535, Local3)
                        }
                        Else
                        {
                            If (LGreaterEqual (Local3, 0x0534))
                            {
                                Store (0x042A, Local3)
                            }
                        }
                    }

                    Break
                }

                Add (Local0, One, Local0)
            }

            Return (Local3)
        }

        Method (FCPU, 0, NotSerialized)
        {
            Return (GNVS (0x47B8))
        }

        Method (GCCR, 0, NotSerialized)
        {
            If (GNVS (0x6390))
            {
                Add (GNVS (0x6390), 0x07, Local0)
            }
            Else
            {
                Store (GDCR (), Local0)
            }

            Return (Local0)
        }

        Method (GDCR, 0, NotSerialized)
        {
            Add (GNVS (0x63F9), 0x10, Local0)
            Return (Local0)
        }

        Method (GCBR, 0, NotSerialized)
        {
            Add (GNVS (0x6780), 0x10, Local0)
            Return (Local0)
        }

        Method (IUCP, 0, NotSerialized)
        {
            GMSR (0xC0010071)
            Store (REDX, Local0)
            ShiftRight (Local0, 0x11, Local0)
            And (Local0, 0x3F, Local0)
            If (Local0)
            {
                PRID (0x80000007)
                And (REDX, 0x0200, Local0)
                If (Local0)
                {
                    Store (One, Local0)
                }
                Else
                {
                    Store (Zero, Local0)
                }
            }
            Else
            {
                Store (One, Local0)
            }

            Return (Local0)
        }

        Method (ULCB, 0, NotSerialized)
        {
            GMSR (0xC0010071)
            Store (REDX, Local0)
            ShiftRight (Local0, 0x11, Local0)
            And (Local0, 0x3F, Local0)
            If (Local0)
            {
                Store (Zero, Local0)
            }
            Else
            {
                PRID (0x80000007)
                And (REDX, 0x0200, Local0)
                If (Local0)
                {
                    Store (One, Local0)
                }
                Else
                {
                    Store (Zero, Local0)
                }
            }

            Return (Local0)
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (G611, Package (0x07)
        {
            0x06020011, 
            "Vcore Voltage", 
            0x20000000, 
            Zero, 
            0x0320, 
            0x0320, 
            0x02
        })
        Name (G663, Package (0x07)
        {
            0x06020063, 
            "+3.3V Voltage", 
            0x20000000, 
            Zero, 
            0x0B9A, 
            0x0294, 
            0x02
        })
        Name (G662, Package (0x07)
        {
            0x06020062, 
            "+5V Voltage", 
            0x20000000, 
            Zero, 
            0x1194, 
            0x03E8, 
            0x02
        })
        Name (G661, Package (0x07)
        {
            0x06020061, 
            "+12V Voltage", 
            0x20000000, 
            Zero, 
            0x27D8, 
            0x0E10, 
            0x02
        })
        Name (G612, Package (0x07)
        {
            0x06030012, 
            "CPU Temperature", 
            0x20000000, 
            Zero, 
            0x0258, 
            0x015E, 
            0x02
        })
        Name (G614, Package (0x07)
        {
            0x06030014, 
            "MB Temperature", 
            0x20000000, 
            Zero, 
            0x01C2, 
            0x012C, 
            0x02
        })
        Name (G613, Package (0x07)
        {
            0x06040013, 
            "CPU Fan Speed", 
            0x20000000, 
            Zero, 
            0x0258, 
            0x19C8, 
            0x02
        })
        Name (G673, Package (0x07)
        {
            0x06040073, 
            "Chassis Fan Speed", 
            0x20000000, 
            Zero, 
            0x0258, 
            0x19C8, 
            0x02
        })
        Name (G683, Package (0x07)
        {
            0x06040083, 
            "Chassis2 Fan Speed", 
            0x20000000, 
            Zero, 
            0x0258, 
            0x19C8, 
            0x02
        })
        Name (G6C3, Package (0x07)
        {
            0x060400C3, 
            "Power Fan Speed", 
            0x20000000, 
            Zero, 
            0x0258, 
            0x19C8, 
            0x02
        })
        Name (GRP6, Package (0x0A)
        {
            G611, 
            G663, 
            G662, 
            G661, 
            G612, 
            G614, 
            G613, 
            G673, 
            G683, 
            G6C3
        })
        Method (G6UP, 0, NotSerialized)
        {
            If (LEqual (ShiftRight (DerefOf (Index (MBIF, 0x02)), 0x18), 
                0x04))
            {
                SFST ()
            }
        }

        Method (SFST, 0, NotSerialized)
        {
            If (LNotEqual (GNVS (0x1775), Zero))
            {
                Name (TTT0, Zero)
                Store (GNVS (0x3678), TTT0)
                If (LEqual (TTT0, Zero))
                {
                    Store (0x01F4, Index (G613, 0x03))
                }
                Else
                {
                    If (LEqual (TTT0, One))
                    {
                        Store (0x0190, Index (G613, 0x03))
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x02))
                        {
                            Store (0x012C, Index (G613, 0x03))
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x03))
                            {
                                Store (0xC8, Index (G613, 0x03))
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x04))
                                {
                                    Store (0x64, Index (G613, 0x03))
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x05))
                                    {
                                        Store (Zero, Index (G613, 0x03))
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Else
            {
                Store (0xC8, Index (G613, 0x03))
            }

            If (LNotEqual (GNVS (0x1775), Zero))
            {
                Name (TTT1, Zero)
                Store (GNVS (0x367B), TTT1)
                If (LEqual (TTT1, Zero))
                {
                    Store (0x01F4, Index (G673, 0x03))
                    Store (0x01F4, Index (G683, 0x03))
                }
                Else
                {
                    If (LEqual (TTT1, One))
                    {
                        Store (0x0190, Index (G673, 0x03))
                        Store (0x0190, Index (G683, 0x03))
                    }
                    Else
                    {
                        If (LEqual (TTT1, 0x02))
                        {
                            Store (0x012C, Index (G673, 0x03))
                            Store (0x012C, Index (G683, 0x03))
                        }
                        Else
                        {
                            If (LEqual (TTT1, 0x03))
                            {
                                Store (0xC8, Index (G673, 0x03))
                                Store (0xC8, Index (G683, 0x03))
                            }
                            Else
                            {
                                If (LEqual (TTT1, 0x04))
                                {
                                    Store (0x64, Index (G673, 0x03))
                                    Store (0x64, Index (G683, 0x03))
                                }
                                Else
                                {
                                    If (LEqual (TTT1, 0x05))
                                    {
                                        Store (Zero, Index (G673, 0x03))
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Else
            {
                Store (0xC8, Index (G673, 0x03))
                Store (0xC8, Index (G683, 0x03))
            }

            Name (TTT2, Zero)
            Store (GNVS (0x3680), TTT2)
            If (LEqual (TTT2, Zero))
            {
                Store (0x01F4, Index (G6C3, 0x03))
            }
            Else
            {
                If (LEqual (TTT2, One))
                {
                    Store (0x0190, Index (G6C3, 0x03))
                }
                Else
                {
                    If (LEqual (TTT2, 0x02))
                    {
                        Store (0x012C, Index (G6C3, 0x03))
                    }
                    Else
                    {
                        If (LEqual (TTT2, 0x03))
                        {
                            Store (0xC8, Index (G6C3, 0x03))
                        }
                        Else
                        {
                            If (LEqual (TTT2, 0x04))
                            {
                                Store (0x64, Index (G6C3, 0x03))
                            }
                            Else
                            {
                                If (LEqual (TTT2, 0x05))
                                {
                                    Store (Zero, Index (G6C3, 0x03))
                                }
                            }
                        }
                    }
                }
            }
        }

        Method (GIT6, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, 0x11))
            {
                Store (^^SIOR.HWV2 (), ASB1)
            }
            Else
            {
                If (LEqual (TTT0, 0x63))
                {
                    Store (^^SIOR.HWV3 (), ASB1)
                }
                Else
                {
                    If (LEqual (TTT0, 0x62))
                    {
                        Store (^^SIOR.HWV1 (), ASB1)
                        Multiply (ASB1, 0x010C, ASB1)
                        Divide (ASB1, 0x96, , ASB1)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x61))
                        {
                            Store (^^SIOR.HWV0 (), ASB1)
                            Multiply (ASB1, 0x042D, ASB1)
                            Divide (ASB1, 0xF9, , ASB1)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x12))
                            {
                                Store (^^SIOR.HWT1 (), ASB1)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x14))
                                {
                                    Store (^^SIOR.HWT2 (), ASB1)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x13))
                                    {
                                        Store (^^SIOR.HWF1 (), ASB1)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x73))
                                        {
                                            Store (^^SIOR.HWF2 (), ASB1)
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x83))
                                            {
                                                Store (^^SIOR.HWF3 (), ASB1)
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0xC3))
                                                {
                                                    Store (^^SIOR.HSF0 (), ASB1)
                                                }
                                                Else
                                                {
                                                    Store (Zero, ASB0)
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        Method (SIT6, 3, NotSerialized)
        {
        }
    }

    Scope (_SB.PCI0.SBRG.SIOR)
    {
        Method (HSF0, 0, NotSerialized)
        {
            Store (SBF0, Local0)
            If (LNotEqual (And (Local0, 0xFFFF), 0xFFFF))
            {
                If (LNotEqual (And (Local0, 0xFFFF), Zero))
                {
                    Store (0x3C, Local0)
                    Multiply (Local0, 0x2C60, Local0)
                    Divide (Local0, SBF0, , Local0)
                    Return (Local0)
                }
            }

            Return (Zero)
        }

        Method (HWV0, 0, NotSerialized)
        {
            Return (Multiply (VIV0, 0x0C))
        }

        Method (HWV1, 0, NotSerialized)
        {
            Return (Multiply (VIV1, 0x0C))
        }

        Method (HWV2, 0, NotSerialized)
        {
            Return (Multiply (VIV2, 0x0C))
        }

        Method (HWV3, 0, NotSerialized)
        {
            Return (Multiply (VIV3, 0x18))
        }

        Method (HWT1, 0, NotSerialized)
        {
            Store (TPI1, Local0)
            If (LGreater (Local0, 0x80))
            {
                Subtract (0x0100, Local0, Local0)
            }

            Add (Local0, T1OF, Local0)
            Return (Multiply (Local0, 0x0A))
        }

        Method (HWT2, 0, NotSerialized)
        {
            Store (TPI2, Local0)
            If (LGreater (Local0, 0x80))
            {
                Subtract (0x0100, Local0, Local0)
            }

            Add (Local0, T2OF, Local0)
            Return (Multiply (Local0, 0x0A))
        }

        Method (HWF1, 0, NotSerialized)
        {
            If (LEqual (ETD1, One))
            {
                Or (ShiftLeft (EFN1, 0x08), FTC1, Local0)
                Return (CF16 (Local0))
            }

            Store (FTC1, Local0)
            Store (One, Local2)
            While (LAnd (LOr (LLessEqual (Local0, FHMT), LGreaterEqual (Local0, 
                FLMT)), LEqual (Local2, One)))
            {
                If (LLessEqual (Local0, FHMT))
                {
                    Store (FTD1, Local1)
                    If (LGreater (Local1, Zero))
                    {
                        Decrement (Local1)
                        Store (Local1, FTD1)
                    }
                    Else
                    {
                        Store (Zero, Local2)
                    }
                }
                Else
                {
                    Store (FTD1, Local1)
                    If (LLess (Local1, 0x07))
                    {
                        Increment (Local1)
                        Store (Local1, FTD1)
                    }
                    Else
                    {
                        Store (Zero, Local2)
                    }
                }

                Sleep (0x012C)
                Store (FTC1, Local0)
            }

            Return (CF08 (Local0, DerefOf (Index (DTB1, FTD1))))
        }

        Method (HWF2, 0, NotSerialized)
        {
            If (LEqual (ETD2, One))
            {
                Or (ShiftLeft (EFN2, 0x08), FTC2, Local0)
                Return (CF16 (Local0))
            }

            Store (FTC2, Local0)
            Store (One, Local2)
            While (LAnd (LOr (LLessEqual (Local0, FHMT), LGreaterEqual (Local0, 
                FLMT)), LEqual (Local2, One)))
            {
                If (LLessEqual (Local0, FHMT))
                {
                    Store (FTD2, Local1)
                    If (LGreater (Local1, Zero))
                    {
                        Decrement (Local1)
                        Store (Local1, FTD2)
                    }
                    Else
                    {
                        Store (Zero, Local2)
                    }
                }
                Else
                {
                    Store (FTD2, Local1)
                    If (LLess (Local1, 0x07))
                    {
                        Increment (Local1)
                        Store (Local1, FTD2)
                    }
                    Else
                    {
                        Store (Zero, Local2)
                    }
                }

                Sleep (0x012C)
                Store (FTC2, Local0)
            }

            Return (CF08 (Local0, DerefOf (Index (DTB1, FTD2))))
        }

        Method (HWF3, 0, NotSerialized)
        {
            If (LEqual (ETD3, One))
            {
                Or (ShiftLeft (EFN3, 0x08), FTC3, Local0)
                Return (CF16 (Local0))
            }

            Store (FTC3, Local0)
            If (LLessEqual (Local0, FHM3))
            {
                Store (FTD3, Local1)
                If (LGreater (Local1, Zero))
                {
                    Decrement (Local1)
                    Store (Local1, FTD3)
                    Sleep (0x012C)
                    Store (FTC3, Local0)
                }
            }
            Else
            {
                If (LGreaterEqual (Local0, FLMT))
                {
                    Store (FTD3, Local1)
                    If (LLess (Local1, One))
                    {
                        Increment (Local1)
                        Store (Local1, FTD3)
                        Sleep (0x012C)
                        Store (FTC3, Local0)
                    }
                }
            }

            Return (CF08 (Local0, DerefOf (Index (DTB1, FTD3))))
        }

        Method (CF08, 2, NotSerialized)
        {
            If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, 0xFF)))
            {
                Return (Zero)
            }

            Divide (FTFR, Multiply (Arg0, Arg1), , Local0)
            Return (Local0)
        }

        Method (CF16, 1, NotSerialized)
        {
            If (LOr (LEqual (Arg0, Zero), LEqual (Arg0, 0xFFFF)))
            {
                Return (Zero)
            }

            Divide (FTFR, Multiply (Arg0, 0x02), , Local0)
            Return (Local0)
        }

        Name (FTFR, 0x00149970)
        Name (FHMT, 0x78)
        Name (FHM3, 0x3C)
        Name (FLMT, 0xFE)
        Name (DTB1, Package (0x08)
        {
            One, 
            0x02, 
            0x04, 
            0x08, 
            0x10, 
            0x20, 
            0x40, 
            0x80
        })
        Name (DTB2, Package (0x02)
        {
            0x02, 
            0x08
        })
        OperationRegion (ECRE, SystemIO, IOEB, 0x20)
        Field (ECRE, ByteAcc, NoLock, Preserve)
        {
                    Offset (0x05), 
            HIDX,   8, 
            HDAT,   8
        }

        IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
        {
                    Offset (0x0B), 
            FTD1,   3, 
            FTD2,   3, 
            FTD3,   1, 
                    Offset (0x0C), 
            ETD1,   1, 
            ETD2,   1, 
            ETD3,   1, 
                    Offset (0x0D), 
            FTC1,   8, 
            FTC2,   8, 
            FTC3,   8, 
                    Offset (0x18), 
            EFN1,   8, 
            EFN2,   8, 
            EFN3,   8, 
                    Offset (0x20), 
            VIV0,   8, 
            VIV1,   8, 
            VIV2,   8, 
            VIV3,   8, 
            VIV4,   8, 
            VIV5,   8, 
            VIV6,   8, 
            VIV7,   8, 
                    Offset (0x29), 
            TPI1,   8, 
            TPI2,   8, 
            TPI3,   8
        }

        OperationRegion (SBHM, SystemIO, SBRV, 0x02)
        Field (SBHM, ByteAcc, NoLock, Preserve)
        {
            SBVX,   8, 
            SBVT,   8
        }

        IndexField (SBVX, SBVT, ByteAcc, NoLock, Preserve)
        {
                    Offset (0x69), 
            SBF0,   16, 
                    Offset (0x6E), 
            SBF1,   16, 
                    Offset (0x73), 
            SBF2,   16, 
                    Offset (0x78), 
            SBF3,   16, 
                    Offset (0x7D), 
            SBF4,   16
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (G9T0, Package (0x0C)
        {
            0x09080000, 
            "AI Overclocking", 
            Zero, 
            One, 
            0x07, 
            "Manual", 
            "Auto", 
            "Standard", 
            "Profile", 
            Zero, 
            Zero, 
            "CPU Level Up"
        })
        Name (GRP9, Package (0x01)
        {
            G9T0
        })
        Method (GIT9, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                If (LNotEqual (GNVS (0x26C0), Zero))
                {
                    Store (0x06, ASB1)
                }
                Else
                {
                    Store (GNVS (0x3633), ASB1)
                }
            }
            Else
            {
                Store (Zero, ASB0)
            }
        }

        Method (SIT9, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                If (LNotEqual (GNVS (0x3633), Arg1))
                {
                    If (And (Arg2, One))
                    {
                        Store (Arg1, Local0)
                        If (LNotEqual (GNVS (0x26C0), Zero))
                        {
                            Store (Zero, Local0)
                        }

                        If (LEqual (Arg1, One))
                        {
                            SNVS (0xA2B8, 0xC8)
                        }

                        SNVS (0x3633, Local0)
                    }

                    Or (ASB0, 0x02, ASB0)
                }
            }
            Else
            {
                Store (Zero, ASB0)
            }
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (GBT0, Package (0x07)
        {
            0x0B060001, 
            "System Performance", 
            Zero, 
            Zero, 
            0x03, 
            One, 
            0x04
        })
        Name (GBT1, Package (0x07)
        {
            0x0B060002, 
            "System Performance Control", 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (GBT2, Package (0x07)
        {
            0x0B060003, 
            "System GUI", 
            0x04, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (GBT3, Package (0x07)
        {
            0x0B050006, 
            "AI Gear push up", 
            Zero, 
            One, 
            Zero, 
            One, 
            0x1F
        })
        Name (GBT4, Package (0x07)
        {
            0x0B050007, 
            "AI Gear pop down", 
            Zero, 
            One, 
            Zero, 
            One, 
            0x33
        })
        Name (GBT5, Package (0x07)
        {
            0x0B060010, 
            "Level Switch", 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (GBT6, Package (0x07)
        {
            0x0B060020, 
            "AI Gear dram voltage", 
            Zero, 
            Zero, 
            Zero, 
            One, 
            0x02
        })
        Name (GBT7, Package (0x07)
        {
            0x0B060021, 
            "AI Gear NB voltage", 
            Zero, 
            Zero, 
            Zero, 
            One, 
            0x02
        })
        Name (GBT8, Package (0x07)
        {
            0x0B060022, 
            "AI Gear load line select", 
            Zero, 
            Zero, 
            Zero, 
            One, 
            0x03
        })
        Name (GBT9, Package (0x07)
        {
            0x0B060023, 
            "AI Gear CPU voltage", 
            Zero, 
            Zero, 
            Zero, 
            0x000FFD8F, 
            0x64
        })
        Name (GBTA, Package (0x07)
        {
            0x0B060024, 
            "Set Turbo Profile", 
            Zero, 
            Zero, 
            Zero, 
            One, 
            0x02
        })
        Name (GBTB, Package (0x07)
        {
            0x0B060025, 
            "CPU Voltage Downgrade", 
            Zero, 
            Zero, 
            Zero, 
            0x02, 
            0xC8
        })
        Name (GBTC, Package (0x07)
        {
            0x0B060080, 
            "EPU version", 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (GRPB, Package (0x0D)
        {
            GBT0, 
            GBT1, 
            GBT2, 
            GBT3, 
            GBT4, 
            GBT5, 
            GBT6, 
            GBT7, 
            GBT8, 
            GBT9, 
            GBTA, 
            GBTB, 
            GBTC
        })
        Method (GITB, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, One))
            {
                Store (And (DerefOf (Index (GBT0, 0x02)), 0xFFFF), ASB1)
            }
            Else
            {
                If (LEqual (TTT0, 0x02))
                {
                    Store (DerefOf (Index (GBT1, 0x02)), ASB1)
                }
                Else
                {
                    If (LEqual (TTT0, 0x03))
                    {
                        Store (DerefOf (Index (GBT2, 0x02)), ASB1)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x06))
                        {
                            Store (GDEF (Zero), ASB1)
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x07))
                            {
                                Store (GDEF (0x05), ASB1)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x20))
                                {
                                    Store (GDEF (0x03), ASB1)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x21))
                                    {
                                        Store (GDEF (One), ASB1)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x22))
                                        {
                                            Store (GDEF (0x04), ASB1)
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x23))
                                            {
                                                Store (GDEF (0x02), ASB1)
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0x25))
                                                {
                                                    EPUB ()
                                                    Store (0x05, ASB1)
                                                }
                                                Else
                                                {
                                                    If (LEqual (TTT0, 0x80))
                                                    {
                                                        Store (0x02, ASB1)
                                                    }
                                                    Else
                                                    {
                                                        Store (Zero, ASB0)
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        Method (SITB, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, One))
            {
                If (LEqual (And (Arg2, 0xFFFF), One))
                {
                    And (Arg1, 0xFFFF, Local0)
                    Store (Local0, Index (GBT0, 0x02))
                    SICL (Local0)
                }
            }
            Else
            {
                If (LEqual (TTT0, 0x02))
                {
                    And (Arg1, 0xFF, Local0)
                    If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                    {
                        Store (Local0, ^^EC0.EPUR)
                        Release (^^EC0.MUEC)
                    }

                    If (LEqual (STCG (Local0), One))
                    {
                        Store (Local0, Index (GBT1, 0x02))
                    }
                    Else
                    {
                        Store (Zero, ASB0)
                    }
                }
                Else
                {
                    If (LEqual (TTT0, 0x06))
                    {
                        Add (Arg1, DerefOf (Index (GBT3, 0x04)), Local0)
                        AGPU (Local0, DerefOf (Index (GBT3, 0x05)))
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x07))
                        {
                            Add (Arg1, DerefOf (Index (GBT4, 0x04)), Local0)
                            AGPD (Local0, DerefOf (Index (GBT4, 0x05)))
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x10))
                            {
                                Store (And (Arg1, 0xFF), Local0)
                                AGLS (Local0)
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x20))
                                {
                                    Store (And (Arg1, 0xFF), Local0)
                                    AGDV (Local0)
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x21))
                                    {
                                        Store (And (Arg1, 0xFF), Local0)
                                        AGNV (Local0)
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x22))
                                        {
                                            Store (And (Arg1, 0xFF), Local0)
                                            AGLI (Local0)
                                        }
                                        Else
                                        {
                                            If (LEqual (TTT0, 0x23))
                                            {
                                                Store (And (Arg1, 0xFF), Local0)
                                                AGCV (Local0)
                                            }
                                            Else
                                            {
                                                If (LEqual (TTT0, 0x24))
                                                {
                                                    STPF (Arg1, Arg2)
                                                }
                                                Else
                                                {
                                                    Store (Zero, ASB0)
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }

        Name (TURP, Package (0x24)
        {
            0xA2B8, 
            0xD2, 
            0x8358, 
            Zero, 
            0x262E, 
            0x02, 
            0x34DD, 
            0x04, 
            0x3638, 
            0x05, 
            0x454C, 
            0x08, 
            0x455C, 
            0x05, 
            0x4560, 
            0x05, 
            0x54C8, 
            0x0A, 
            0x8328, 
            0x64, 
            0x3633, 
            Zero, 
            0x178A, 
            Zero, 
            0x178B, 
            Zero, 
            0x8348, 
            Zero, 
            0x178C, 
            Zero, 
            0x8350, 
            Zero, 
            0x1331, 
            One, 
            Ones, 
            Ones
        })
        Name (ATFB, Package (0x09)
        {
            0xD8, 
            0xF0, 
            0xD8, 
            0xE8, 
            0xFA, 
            0xF0, 
            0xFA, 
            0x0104, 
            0xE8
        })
        Method (STPF, 2, NotSerialized)
        {
            If (LEqual (Arg0, 0x41535553))
            {
                If (And (Arg1, One))
                {
                    Store (DerefOf (Index (ATFB, FCPU ())), Index (TURP, One))
                    If (GXMP ())
                    {
                        Store (Add (XMPV, One), Index (TURP, 0x03))
                    }

                    Store (GDMF (), Local0)
                    If (LGreaterEqual (Local0, 0x0640))
                    {
                        Store (0x05, Index (TURP, 0x07))
                        Store (0x06, Index (TURP, 0x09))
                    }
                    Else
                    {
                        If (LLess (Local0, 0x0534))
                        {
                            Store (0x03, Index (TURP, 0x07))
                            Store (0x04, Index (TURP, 0x09))
                            Store (0x05, Index (TURP, 0x0B))
                            Store (0x02, Index (TURP, 0x0D))
                            Store (0x02, Index (TURP, 0x0F))
                            Store (0x04, Index (TURP, 0x11))
                        }
                    }

                    Store (Zero, Local0)
                    While (LNotEqual (DerefOf (Index (TURP, Local0)), Ones))
                    {
                        SNVS (DerefOf (Index (TURP, Local0)), DerefOf (Index 
(TURP, Add (
                            Local0, One))))
                        Add (Local0, 0x02, Local0)
                    }
                }
            }
        }

        Name (EPUT, Package (0x1B)
        {
            0x0A, 
            0x0B, 
            0x02, 
            0x0A, 
            0x0C, 
            0x02, 
            0x0A, 
            0x0C, 
            0x02, 
            0x0A, 
            0x0E, 
            0x02, 
            0x0A, 
            0x0E, 
            0x02, 
            Zero, 
            Zero, 
            Zero, 
            0x0A, 
            0x0E, 
            0x02, 
            0x0A, 
            0x0E, 
            0x02, 
            0x0A, 
            0x0C, 
            0x02
        })
        Method (EPUB, 0, NotSerialized)
        {
            Store (0x08, OBID)
            Store (Zero, Local0)
            Store (Multiply (FCPU (), 0x03), Local1)
            While (LLess (Local0, 0x03))
            {
                STBF (DerefOf (Index (EPUT, Add (Local1, Local0))), OBID)
                Add (OBID, 0x04, OBID)
                Increment (Local0)
            }

            STBF (Ones, OBID)
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (GET1, Package (0x07)
        {
            0x0E060001, 
            "OC Status", 
            Zero, 
            Zero, 
            Zero, 
            Zero, 
            Zero
        })
        Name (GRPE, Package (0x01)
        {
            GET1
        })
        Method (GITE, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, One))
            {
                Store (CAML, ASB1)
            }
            Else
            {
                Store (Zero, ASB0)
            }
        }

        Method (SITE, 3, NotSerialized)
        {
            Store (Zero, ASB0)
        }

        Name (DFSB, Buffer (0x08)
        {
            /* 0000 */    0x00, 0x00, 0x0A, 0x0A, 0x01, 0x00, 0x01, 0x01
        })
        Name (OLTB, Buffer (0x18)
        {
            /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
            /* 0010 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00
        })
        Name (AIGC, Zero)
        Name (PICL, One)
        Name (LVIC, Zero)
        Name (CAML, Zero)
        Method (GDEF, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                If (LEqual (GNVS (0x3633), Zero))
                {
                    Multiply (0x04, GNVS (0x3633), Local0)
                }
                Else
                {
                    Multiply (0x04, One, Local0)
                }

                Return (DerefOf (Index (DFSB, Add (LVIC, Local0))))
            }
            Else
            {
                If (LEqual (TTT0, One))
                {
                    Return (GVOT (One, LVIC))
                }
                Else
                {
                    If (LEqual (TTT0, 0x02))
                    {
                        Return (GVOT (0x02, LVIC))
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x03))
                        {
                            Return (GVOT (0x03, LVIC))
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x04))
                            {
                                Return (GVOT (0x04, LVIC))
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x05))
                                {
                                    If (LEqual (GNVS (0x3633), Zero))
                                    {
                                        Multiply (0x04, GNVS (0x3633), Local0)
                                    }
                                    Else
                                    {
                                        Multiply (0x04, One, Local0)
                                    }

                                    Return (DerefOf (Index (DFSB, Add (LVIC, 
Local0))))
                                }
                                Else
                                {
                                    Return (Zero)
                                }
                            }
                        }
                    }
                }
            }
        }

        Method (AGPU, 2, NotSerialized)
        {
            Return (One)
        }

        Method (AGPD, 2, NotSerialized)
        {
            Return (One)
        }

        Method (AGLS, 1, NotSerialized)
        {
            Store (Arg0, LVIC)
            Return (One)
        }

        Method (AGDV, 1, NotSerialized)
        {
            SVOT (0x03, LVIC, Arg0)
            Return (One)
        }

        Method (AGNV, 1, NotSerialized)
        {
            SVOT (One, LVIC, Arg0)
            Return (One)
        }

        Method (AGLI, 1, NotSerialized)
        {
            SVOT (0x04, LVIC, Arg0)
            Return (One)
        }

        Method (AGCV, 1, NotSerialized)
        {
            SVOT (0x02, LVIC, Arg0)
            Return (One)
        }

        Method (SVOT, 3, NotSerialized)
        {
            Add (Arg0, Multiply (Arg1, 0x06), Local0)
            Store (Arg2, Index (OLTB, Local0))
            Return (One)
        }

        Method (GVOT, 2, NotSerialized)
        {
            Add (Arg0, Multiply (Arg1, 0x06), Local0)
            Store (DerefOf (Index (OLTB, Local0)), Local1)
            Return (Local1)
        }

        Method (STCG, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFF), TTT0)
            If (LEqual (TTT0, Zero)) {}
            Else
            {
                If (LEqual (TTT0, One)) {}
                Else
                {
                    Return (Zero)
                }
            }

            Return (One)
        }

        Method (SICL, 1, NotSerialized)
        {
            If (And (Arg0, 0x8000))
            {
                Store (One, AIGC)
                ITAT ()
            }
            Else
            {
                Store (Zero, AIGC)
                Name (TTT0, Zero)
                Store (And (Arg0, 0xFF), TTT0)
                If (LEqual (TTT0, Zero))
                {
                    SPIC (One)
                    Store (One, PICL)
                }
                Else
                {
                    If (LEqual (TTT0, One))
                    {
                        SPIC (0x02)
                        Store (0x02, PICL)
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x02))
                        {
                            SPIC (0x03)
                            Store (0x03, PICL)
                        }
                        Else
                        {
                            Return (Zero)
                        }
                    }
                }
            }

            Return (One)
        }

        Method (ITAT, 0, NotSerialized)
        {
            If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
            {
                EPUF (DerefOf (Index (OLTB, 0x14)))
                Store (VIDT (DerefOf (Index (OLTB, 0x08))), ^^EC0.EL1C)
                Store (One, ^^EC0.EL1S)
                Store (VIDT (DerefOf (Index (OLTB, 0x14))), ^^EC0.EL3C)
                Store (Zero, ^^EC0.EL3S)
                Store (One, ^^EC0.EPUE)
                Release (^^EC0.MUEC)
            }
        }

        Method (SPIC, 1, NotSerialized)
        {
            Add (Multiply (Arg0, 0x06), 0x02, Local0)
            If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
            {
                Store (Zero, ^^EC0.EPUE)
                EPUF (DerefOf (Index (OLTB, Local0)))
                Name (TTT0, Zero)
                Store (Arg0, TTT0)
                If (LEqual (TTT0, One))
                {
                    Store (VIDT (DerefOf (Index (OLTB, Local0))), ^^EC0.EL1C)
                    Store (One, ^^EC0.EL1S)
                }
                Else
                {
                    If (LEqual (TTT0, 0x03))
                    {
                        Store (VIDT (DerefOf (Index (OLTB, Local0))), 
^^EC0.EL3C)
                        Store (Zero, ^^EC0.EL3S)
                    }
                }

                Store (Arg0, ^^EC0.EPUM)
                Release (^^EC0.MUEC)
            }
        }

        Method (VIDT, 1, NotSerialized)
        {
            If (LLess (CVID, GDVD ()))
            {
                Subtract (GDVD (), CVID, Local0)
                Or (ShiftRight (Local0, One), 0x80, Local0)
                Add (Local0, Arg0, Local0)
            }
            Else
            {
                Subtract (CVID, GDVD (), Local0)
                ShiftRight (Local0, One, Local0)
                If (LGreater (Arg0, Local0))
                {
                    Subtract (Arg0, Local0, Local0)
                    Or (Local0, 0x80, Local0)
                }
                Else
                {
                    Subtract (Local0, Arg0, Local0)
                }
            }

            Return (Local0)
        }

        Method (EPUF, 1, NotSerialized)
        {
            If (LGreaterEqual (CVID, ShiftLeft (Arg0, One)))
            {
                Subtract (CVID, ShiftLeft (Arg0, One), Local0)
                Store (Zero, Local1)
                If (LLess (Local0, GDVD ()))
                {
                    Store (One, Local1)
                }
            }
            Else
            {
                Store (One, Local1)
            }

            Store (Local1, ^^EC0.REPU)
        }

        Method (RBEC, 2, NotSerialized)
        {
            Return (RSBD (Arg0, Arg1))
        }

        Method (WBEC, 3, NotSerialized)
        {
            WSBD (Arg0, Arg1, Arg2)
            Return (RSBD (Arg0, Arg1))
        }

        Method (RSBD, 2, NotSerialized)
        {
            Return (^^EC0.ECBR (Arg0, Arg1))
        }

        Method (WSBD, 3, NotSerialized)
        {
            ^^EC0.ECBW (Arg0, Arg1, Arg2)
        }

        Method (RECB, 2, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (Arg0, TTT0)
            If (LEqual (TTT0, One))
            {
                If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                {
                    If (LEqual (Arg1, Zero))
                    {
                        Store (^^EC0.TVM0, Local0)
                    }
                    Else
                    {
                        If (LEqual (Arg1, One))
                        {
                            Store (^^EC0.TVM2, Local0)
                        }
                    }

                    Release (^^EC0.MUEC)
                }
            }
            Else
            {
                Store (Zero, Local0)
            }

            Return (Local0)
        }

        Method (WECB, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (Arg0, TTT0)
            If (LEqual (TTT0, One))
            {
                If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                {
                    If (LEqual (Arg1, Zero))
                    {
                        Store (Arg2, ^^EC0.TVM0)
                    }
                    Else
                    {
                        If (LEqual (Arg1, One))
                        {
                            Store (Arg2, ^^EC0.TVM2)
                        }
                    }

                    Release (^^EC0.MUEC)
                }
            }
            Else
            {
                Return (Zero)
            }

            Return (One)
        }
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (GF01, Package (0x09)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x04, 
            "Original", 
            "Phenom II 720", 
            "Phenom II 3.0G", 
            "Phenom II 3.2G"
        })
        Name (GF02, Package (0x09)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x04, 
            "Original", 
            "Phenom II 3.0G", 
            "Phenom II 3.2G", 
            "Phenom II 3.4G"
        })
        Name (GF03, Package (0x09)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x04, 
            "Original", 
            "Phenom II 910", 
            "Phenom II 925", 
            "Phenom II 945"
        })
        Name (GF04, Package (0x09)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x04, 
            "Original", 
            "Phenom II 925", 
            "Phenom II 945", 
            "Phenom II 955"
        })
        Name (GF05, Package (0x09)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x04, 
            "Original", 
            "Phenom II 925", 
            "Phenom II 945", 
            "Phenom II 955"
        })
        Name (GF06, Package (0x09)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x04, 
            "Original", 
            "Phenom II 945", 
            "Phenom II 955", 
            "Phenom II 965"
        })
        Name (GF07, Package (0x09)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x04, 
            "Original", 
            "Phenom II 955", 
            "Phenom II 965", 
            "Phenom II 3.6G"
        })
        Name (GF08, Package (0x08)
        {
            0x0F080000, 
            "CPU Level Up", 
            Zero, 
            Zero, 
            0x03, 
            "Original", 
            "Phenom II 965", 
            "Phenom II 3.6G"
        })
        Method (GRPF, 0, NotSerialized)
        {
            Store (GNVS (0x3633), Local1)
            If (Or (LEqual (Local1, Zero), LEqual (Local1, One)))
            {
                Store (GNVS (0x57B0), Local0)
            }
            Else
            {
                Store (Zero, Local0)
            }

            Name (TTT0, Zero)
            Store (Local0, TTT0)
            If (LEqual (TTT0, One))
            {
                Return (Package (0x01)
                {
                    GF01
                })
            }
            Else
            {
                If (LEqual (TTT0, 0x02))
                {
                    Return (Package (0x01)
                    {
                        GF02
                    })
                }
                Else
                {
                    If (LEqual (TTT0, 0x03))
                    {
                        Return (Package (0x01)
                        {
                            GF03
                        })
                    }
                    Else
                    {
                        If (LEqual (TTT0, 0x04))
                        {
                            Return (Package (0x01)
                            {
                                GF04
                            })
                        }
                        Else
                        {
                            If (LEqual (TTT0, 0x05))
                            {
                                Return (Package (0x01)
                                {
                                    GF05
                                })
                            }
                            Else
                            {
                                If (LEqual (TTT0, 0x06))
                                {
                                    Return (Package (0x01)
                                    {
                                        GF06
                                    })
                                }
                                Else
                                {
                                    If (LEqual (TTT0, 0x07))
                                    {
                                        Return (Package (0x01)
                                        {
                                            GF07
                                        })
                                    }
                                    Else
                                    {
                                        If (LEqual (TTT0, 0x08))
                                        {
                                            Return (Package (0x01)
                                            {
                                                GF08
                                            })
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            Return (Package (0x00) {})
        }

        Method (GITF, 1, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                Store (GNVS (0x26C0), ASB1)
            }
            Else
            {
                Store (Zero, ASB0)
            }
        }

        Method (SITF, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, Zero))
            {
                Store (Zero, ASB0)
                If (LEqual (Arg2, Zero))
                {
                    Or (ASB0, 0x03, ASB0)
                }

                If (And (Arg2, One))
                {
                    Store (Arg1, PAR0)
                    ISMI (0xAC)
                    Store (And (PAR0, 0xFFFF), Local0)
                    If (LEqual (Local0, One))
                    {
                        Or (ASB0, 0x03, ASB0)
                    }
                }
            }
        }
    }

    Scope (_SB)
    {
        OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
        Field (PIRQ, ByteAcc, NoLock, Preserve)
        {
            PIDX,   8, 
            PDAT,   8
        }

        IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
        {
            PIRA,   8, 
            PIRB,   8, 
            PIRC,   8, 
            PIRD,   8, 
            PIRE,   8, 
            PIRF,   8, 
            PIRG,   8, 
            PIRH,   8, 
                    Offset (0x10), 
            PIRS,   8, 
                    Offset (0x13), 
            HDAD,   8, 
                    Offset (0x15), 
            GEC,    8, 
                    Offset (0x30), 
            USB1,   8, 
            USB2,   8, 
            USB3,   8, 
            USB4,   8, 
            USB5,   8, 
            USB6,   8, 
            USB7,   8, 
                    Offset (0x40), 
            IDE,    8, 
            SATA,   8, 
                    Offset (0x50), 
            GPP0,   8, 
            GPP1,   8, 
            GPP2,   8, 
            GPP3,   8
        }

        OperationRegion (KBDD, SystemIO, 0x64, One)
        Field (KBDD, ByteAcc, NoLock, Preserve)
        {
            PD64,   8
        }

        Method (IRQC, 0, NotSerialized)
        {
            INTA (0x1F)
            INTB (0x1F)
            INTC (0x1F)
            INTD (0x1F)
            Store (PD64, Local1)
            Store (0x1F, PIRE)
            Store (0x1F, PIRF)
            Store (0x1F, PIRG)
            Store (0x1F, PIRH)
        }

        Method (INTA, 1, NotSerialized)
        {
            Store (Arg0, PIRA)
            Store (Arg0, HDAD)
            Store (Arg0, GEC)
            Store (Arg0, GPP0)
            Store (Arg0, GPP0)
        }

        Method (INTB, 1, NotSerialized)
        {
            Store (Arg0, PIRB)
            Store (Arg0, USB2)
            Store (Arg0, USB4)
            Store (Arg0, USB6)
            Store (Arg0, GPP1)
            Store (Arg0, IDE)
        }

        Method (INTC, 1, NotSerialized)
        {
            Store (Arg0, PIRC)
            Store (Arg0, USB1)
            Store (Arg0, USB3)
            Store (Arg0, USB5)
            Store (Arg0, USB7)
            Store (Arg0, GPP2)
        }

        Method (INTD, 1, NotSerialized)
        {
            Store (Arg0, PIRD)
            Store (Arg0, SATA)
            Store (Arg0, GPP3)
        }

        Name (BUFA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {15}
        })
        Name (IPRA, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Name (IPRB, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Name (IPRC, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Name (IPRD, ResourceTemplate ()
        {
            IRQ (Level, ActiveLow, Shared, )
                {5,10,11}
        })
        Device (LNKA)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, One)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRA)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSA)
            }

            Method (_DIS, 0, NotSerialized)
            {
                INTA (0x1F)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRA, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                INTA (Local0)
            }
        }

        Device (LNKB)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRB)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSB)
            }

            Method (_DIS, 0, NotSerialized)
            {
                INTB (0x1F)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRB, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                INTB (Local0)
            }
        }

        Device (LNKC)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x03)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRC)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSC)
            }

            Method (_DIS, 0, NotSerialized)
            {
                INTC (0x1F)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRC, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                INTC (Local0)
            }
        }

        Device (LNKD)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x04)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRD)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSD)
            }

            Method (_DIS, 0, NotSerialized)
            {
                INTD (0x1F)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRD, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                INTD (Local0)
            }
        }

        Device (LNKE)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x05)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRE)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSE)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x1F, PIRE)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRE, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (PIRE, Local0)
                Decrement (Local0)
                Store (Local0, PIRE)
            }
        }

        Device (LNKF)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x02)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRF)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSF)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x1F, PIRF)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRF, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRF)
            }
        }

        Device (LNKG)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x03)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRG)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSG)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x1F, PIRG)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRG, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRG)
            }
        }

        Device (LNKH)
        {
            Name (_HID, EisaId ("PNP0C0F"))
            Name (_UID, 0x04)
            Method (_STA, 0, NotSerialized)
            {
                If (PIRH)
                {
                    Return (0x0B)
                }
                Else
                {
                    Return (0x09)
                }
            }

            Method (_PRS, 0, NotSerialized)
            {
                Return (PRSH)
            }

            Method (_DIS, 0, NotSerialized)
            {
                Store (0x1F, PIRH)
            }

            Method (_CRS, 0, NotSerialized)
            {
                CreateWordField (BUFA, One, IRQX)
                ShiftLeft (One, PIRH, IRQX)
                Return (BUFA)
            }

            Method (_SRS, 1, NotSerialized)
            {
                CreateWordField (Arg0, One, IRA)
                FindSetRightBit (IRA, Local0)
                Decrement (Local0)
                Store (Local0, PIRH)
            }
        }
    }

    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)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, One)
            Field (PCFG, ByteAcc, NoLock, Preserve)
            {
                XCFG,   8
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (RWPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFE, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
            Field (PCFG, WordAcc, NoLock, Preserve)
            {
                XCFG,   16
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (RDPE, 1, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            Release (MUTE)
            Return (XCFG)
        }

        Method (WBPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x0FFF)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, One)
            Field (PCFG, ByteAcc, NoLock, Preserve)
            {
                XCFG,   8
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (WWPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFE, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x02)
            Field (PCFG, WordAcc, NoLock, Preserve)
            {
                XCFG,   16
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (WDPE, 2, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            Store (Arg1, XCFG)
            Release (MUTE)
        }

        Method (RWDP, 3, NotSerialized)
        {
            Acquire (MUTE, 0x03E8)
            And (Arg0, 0xFFFFFFFC, Arg0)
            Add (Arg0, PCIB, Local0)
            OperationRegion (PCFG, SystemMemory, Local0, 0x04)
            Field (PCFG, DWordAcc, NoLock, Preserve)
            {
                XCFG,   32
            }

            And (XCFG, Arg2, Local1)
            Or (Local1, Arg1, XCFG)
            Release (MUTE)
        }

        Method (RPME, 1, NotSerialized)
        {
            Add (Arg0, 0x84, Local0)
            Store (RDPE (Local0), Local1)
            If (LEqual (Local1, Ones))
            {
                Return (Zero)
            }
            Else
            {
                If (LAnd (Local1, 0x00010000))
                {
                    WDPE (Local0, And (Local1, 0x00010000))
                    Return (One)
                }

                Return (Zero)
            }
        }
    }

    Method (SBYT, 2, NotSerialized)
    {
    }

    Method (WBYT, 3, NotSerialized)
    {
    }

    Method (WWRD, 3, NotSerialized)
    {
    }

    Method (RSBT, 2, NotSerialized)
    {
        Store (Zero, Local0)
        Return (Local0)
    }

    Method (RWRD, 2, NotSerialized)
    {
        Store (Zero, Local0)
        Return (Local0)
    }

    Method (WBLK, 4, NotSerialized)
    {
    }

    Method (RBLK, 3, NotSerialized)
    {
        Store (Zero, Local0)
        Return (Local0)
    }

    Scope (_SB.PCI0.SBRG.ASOC)
    {
        Name (ECSM, Package (0x07)
        {
            0x11060004, 
            "Embedded Controller", 
            One, 
            Zero, 
            Zero, 
            One, 
            One
        })
        Name (GP11, Package (0x07)
        {
            0x11060007, 
            "Watchdog Timer", 
            One, 
            Zero, 
            Zero, 
            One, 
            0x07D1
        })
        Name (GR11, Package (0x02)
        {
            GP11, 
            ECSM
        })
        Method (GT11, 2, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, 0x04))
            {
                If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                {
                    Store (^^EC0.HWME, ASB1)
                    Release (^^EC0.MUEC)
                }
            }
            Else
            {
                If (LEqual (TTT0, 0x07))
                {
                    If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                    {
                        Store (^^EC0.ECWT, Local0)
                        Release (^^EC0.MUEC)
                    }

                    Multiply (Local0, 0x0488, ASB1)
                }
                Else
                {
                    Store (Zero, ASB0)
                }
            }
        }

        Method (ST11, 3, NotSerialized)
        {
            Name (TTT0, Zero)
            Store (And (Arg0, 0xFFFF), TTT0)
            If (LEqual (TTT0, 0x04))
            {
                Store (One, ASB0)
            }
            Else
            {
                If (LEqual (TTT0, 0x07))
                {
                    If (LNot (Acquire (^^EC0.MUEC, 0xFFFF)))
                    {
                        If (LEqual (Arg1, Zero))
                        {
                            Store (0xFF, ^^EC0.ECWT)
                        }

                        If (LNotEqual (Arg1, Zero))
                        {
                            Divide (Arg1, 0x0488, Local1, Local0)
                            If (LGreaterEqual (Local1, 0x0244))
                            {
                                Add (Local0, One, Local0)
                            }

                            If (LEqual (Local0, Zero))
                            {
                                Store (One, Local0)
                            }

                            If (LGreater (Local0, 0x07))
                            {
                                Store (0x07, Local0)
                            }

                            Store (Local0, ^^EC0.ECWT)
                        }

                        Release (^^EC0.MUEC)
                    }

                    Store (One, ASB0)
                }
                Else
                {
                    Store (Zero, ASB0)
                }
            }
        }
    }

    Method (NPTS, 1, NotSerialized)
    {
    }

    Method (NWAK, 1, NotSerialized)
    {
    }

    Method (NB2S, 1, NotSerialized)
    {
    }

    Method (NB2W, 1, NotSerialized)
    {
    }

    Scope (_SB)
    {
        Scope (PCI0)
        {
            Name (CRS, ResourceTemplate ()
            {
                WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x00FF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0100,             // Length
                    ,, )
                IO (Decode16,
                    0x0CF8,             // Range Minimum
                    0x0CF8,             // Range Maximum
                    0x01,               // Alignment
                    0x08,               // Length
                    )
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, 
EntireRange,
                    0x0000,             // Granularity
                    0x0000,             // Range Minimum
                    0x0CF7,             // Range Maximum
                    0x0000,             // Translation Offset
                    0x0CF8,             // Length
                    ,, , TypeStatic)
                WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, 
EntireRange,
                    0x0000,             // Granularity
                    0x0D00,             // Range Minimum
                    0xFFFF,             // Range Maximum
                    0x0000,             // Translation Offset
                    0xF300,             // Length
                    ,, , TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, 
Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000A0000,         // Range Minimum
                    0x000BFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, , AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, 
Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x000C0000,         // Range Minimum
                    0x000DFFFF,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00020000,         // Length
                    ,, _Y22, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, 
Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length
                    ,, _Y23, AddressRangeMemory, TypeStatic)
                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, 
Cacheable, ReadWrite,
                    0x00000000,         // Granularity
                    0x00000000,         // Range Minimum
                    0x00000000,         // Range Maximum
                    0x00000000,         // Translation Offset
                    0x00000000,         // Length
                    ,, _Y24, AddressRangeMemory, TypeStatic)
            })
            CreateDWordField (CRS, \_SB.PCI0._Y22._MIN, MIN5)
            CreateDWordField (CRS, \_SB.PCI0._Y22._MAX, MAX5)
            CreateDWordField (CRS, \_SB.PCI0._Y22._LEN, LEN5)
            CreateDWordField (CRS, \_SB.PCI0._Y23._MIN, MIN6)
            CreateDWordField (CRS, \_SB.PCI0._Y23._MAX, MAX6)
            CreateDWordField (CRS, \_SB.PCI0._Y23._LEN, LEN6)
            CreateDWordField (CRS, \_SB.PCI0._Y24._MIN, MIN7)
            CreateDWordField (CRS, \_SB.PCI0._Y24._MAX, MAX7)
            CreateDWordField (CRS, \_SB.PCI0._Y24._LEN, LEN7)
            Method (_CRS, 0, NotSerialized)
            {
                Store (MG1L, Local0)
                If (Local0)
                {
                    Store (MG1B, MIN5)
                    Store (MG1L, LEN5)
                    Add (MIN5, Decrement (Local0), MAX5)
                }

                Store (MG2B, MIN6)
                Store (MG2L, LEN6)
                Store (MG2L, Local0)
                Add (MIN6, Decrement (Local0), MAX6)
                Store (MG3B, MIN7)
                Store (MG3L, LEN7)
                Store (MG3L, Local0)
                Add (MIN7, Decrement (Local0), MAX7)
                Return (CRS)
            }
        }
    }

    Name (WOTB, Zero)
    Name (WSSB, Zero)
    Name (WAXB, Zero)
    Method (_PTS, 1, NotSerialized)
    {
        Store (Arg0, DBG8)
        PTS (Arg0)
        Store (Zero, Index (WAKP, Zero))
        Store (Zero, Index (WAKP, One))
        If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
        {
            Sleep (0x0BB8)
        }

        Store (ASSB, WSSB)
        Store (AOTB, WOTB)
        Store (AAXB, WAXB)
        Store (Arg0, ASSB)
        Store (OSFL (), AOTB)
        Store (OSYS (), OSTP)
        Store (Zero, AAXB)
    }

    Method (_WAK, 1, NotSerialized)
    {
        ShiftLeft (Arg0, 0x04, DBG8)
        WAK (Arg0)
        If (IOWK) {}
        Else
        {
            Notify (\_SB.PWRB, 0x02)
        }

        If (ASSB)
        {
            Store (WSSB, ASSB)
            Store (WOTB, AOTB)
            Store (WAXB, AAXB)
        }

        If (DerefOf (Index (WAKP, Zero)))
        {
            Store (Zero, Index (WAKP, One))
        }
        Else
        {
            Store (Arg0, Index (WAKP, One))
        }

        Return (WAKP)
    }

    OperationRegion (IORK, SystemIO, 0xB1, One)
    Field (IORK, ByteAcc, NoLock, Preserve)
    {
        IOWK,   8
    }

    If (OSCF)
    {
        Scope (_SB.PCI0)
        {
            Method (_OSC, 4, NotSerialized)
            {
                Name (SUPP, Zero)
                Name (CTRL, Zero)
                If (LEqual (Arg0, Buffer (0x10)
                        {
                            /* 0000 */    0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 
0x1C, 0x40, 
                            /* 0008 */    0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 
0xD7, 0x66
                        }))
                {
                    CreateDWordField (Arg3, Zero, CDW1)
                    CreateDWordField (Arg3, 0x04, CDW2)
                    CreateDWordField (Arg3, 0x08, CDW3)
                    Store (CDW2, SUPP)
                    Store (CDW3, CTRL)
                    If (LNotEqual (And (SUPP, 0x16), 0x16))
                    {
                        And (CTRL, 0x1E)
                    }

                    And (CTRL, 0x1D, CTRL)
                    If (Not (And (CDW1, One)))
                    {
                        If (And (CTRL, One)) {}
                        If (And (CTRL, 0x04))
                        {
                            Store (One, EPNM)
                        }
                        Else
                        {
                            Store (Zero, EPNM)
                        }

                        If (And (CTRL, 0x10)) {}
                    }

                    If (LNotEqual (Arg1, One))
                    {
                        Or (CDW1, 0x08, CDW1)
                    }

                    If (LNotEqual (CDW3, CTRL))
                    {
                        Or (CDW1, 0x10, CDW1)
                    }

                    Store (CTRL, CDW3)
                    Return (Arg3)
                }
                Else
                {
                    Or (CDW1, 0x04, CDW1)
                    Return (Arg3)
                }
            }
        }
    }

    Scope (_SB.PCI0)
    {
        Method (_INI, 0, NotSerialized)
        {
            If (LLessEqual (RVID, 0x13)) {}
        }
    }

    Scope (\)
    {
        Method (APTS, 1, NotSerialized)
        {
            \AOD.APTS (Arg0)
        }

        Method (AWAK, 1, NotSerialized)
        {
            \AOD.AWAK (Arg0)
        }

        Device (AOD)
        {
            OperationRegion (\_SB.PCI0.RETO, PCI_Config, 0x6C, 0x20)
            Field (\_SB.PCI0.RETO, ByteAcc, NoLock, Preserve)
            {
                    ,   5, 
                CRST,   1
            }

            Name (DBG, Zero)
            Name (GDBG, One)
            Name (CDBG, Zero)
            Name (VDBG, Zero)
            Name (RDBG, Zero)
            Name (OBID, Package (0x1C)
            {
                0x09, 
                0x01010000, 
                0x01020000, 
                0x02010000, 
                0x02020000, 
                0x02030000, 
                0x02040000, 
                0x02050000, 
                0x02060000, 
                Zero, 
                One, 
                One, 
                One, 
                One, 
                One, 
                One, 
                Zero, 
                Zero, 
                0xFF, 
                "CPU Clock", 
                "PCIE Clock", 
                "DRAM Voltage", 
                "VDDA Voltage", 
                "HT Voltage", 
                "NB Voltage", 
                "SB Voltage", 
                "NB1.8 Voltage", 
                ""
            })
            Name (OBIT, Package (0x31)
            {
                0x01010000, 
                0x000186A0, 
                0x000927C0, 
                Zero, 
                0x03E8, 
                Zero, 
                0x01020000, 
                0x000186A0, 
                0x00030D40, 
                Zero, 
                0x03E8, 
                Zero, 
                0x02010000, 
                0x0001D4C0, 
                0x0003D090, 
                Zero, 
                0x0271, 
                Zero, 
                0x02020000, 
                0x00035B60, 
                0x00046CD0, 
                Zero, 
                0x0271, 
                Zero, 
                0x02030000, 
                0x00013880, 
                0x000222E0, 
                Zero, 
                0x0271, 
                Zero, 
                0x02040000, 
                0x00013880, 
                0x00030D40, 
                Zero, 
                0x0271, 
                Zero, 
                0x02050000, 
                0x0001ADB0, 
                0x000222E0, 
                Zero, 
                0x1388, 
                Zero, 
                0x02060000, 
                0x0002BF20, 
                0x00033450, 
                Zero, 
                0x1388, 
                Zero, 
                Zero
            })
            Name (OBDT, Package (0x01)
            {
                Zero
            })
            Method (BM01, 0, NotSerialized)
            {
                PWMI ()
            }

            Method (XINI, 0, NotSerialized)
            {
            }

            Method (EM01, 0, NotSerialized)
            {
            }

            Method (BM05, 1, NotSerialized)
            {
            }

            Method (EM05, 1, NotSerialized)
            {
            }

            Method (HM06, 0, NotSerialized)
            {
            }

            Method (HM07, 1, NotSerialized)
            {
            }

            Method (DISC, 0, NotSerialized)
            {
            }

            Method (CNCT, 0, NotSerialized)
            {
            }

            Name (PWMT, Buffer (0x39)
            {
                /* 0000 */    0x01, 0x01, 0x01, 0x00, 0xFF, 0x00, 0x01, 0x63, 
                /* 0008 */    0x02, 0x02, 0x01, 0x00, 0xFF, 0x00, 0x01, 0x63, 
                /* 0010 */    0x03, 0x03, 0x01, 0x00, 0xFF, 0x00, 0x01, 0x63, 
                /* 0018 */    0x04, 0x04, 0x01, 0x00, 0xFF, 0x00, 0x01, 0x63, 
                /* 0020 */    0x05, 0x05, 0x01, 0x00, 0xFF, 0x00, 0x01, 0x63, 
                /* 0028 */    0x06, 0x06, 0x01, 0x00, 0xFF, 0x00, 0x01, 0x63, 
                /* 0030 */    0x07, 0x07, 0x01, 0x00, 0xFF, 0x00, 0x01, 0x63, 
                /* 0038 */    0xFF
            })
            Method (PWMI, 0, NotSerialized)
            {
                Store (DerefOf (Index (\_SB.PCI0.SBRG.ASOC.G3D2, 0x03)), Local0)
                Store (Local0, Index (PWMT, 0x05))
                Store (DerefOf (Index (\_SB.PCI0.SBRG.ASOC.G353, 0x03)), Local0)
                Store (Local0, Index (PWMT, 0x0D))
                Store (DerefOf (Index (\_SB.PCI0.SBRG.ASOC.G354, 0x03)), Local0)
                Store (Local0, Index (PWMT, 0x15))
                Store (DerefOf (Index (\_SB.PCI0.SBRG.ASOC.G355, 0x03)), Local0)
                Store (Local0, Index (PWMT, 0x1D))
                Store (DerefOf (Index (\_SB.PCI0.SBRG.ASOC.G356, 0x03)), Local0)
                Store (Local0, Index (PWMT, 0x25))
                Store (DerefOf (Index (\_SB.PCI0.SBRG.ASOC.G357, 0x03)), Local0)
                Store (Local0, Index (PWMT, 0x2D))
            }

            Method (VTR, 1, NotSerialized)
            {
                Store (Zero, Local0)
                Store (Arg0, Local1)
                If (LEqual (PWMX, One))
                {
                    Store (Add (Divide (Subtract (Local1, 0x0001D4C0), 0x0271, 
), 
                        PMIN), Local0)
                    \_SB.PCI0.SBRG.ASOC.SIT3 (0x03020032, Local0, 0x02)
                }
                Else
                {
                    If (LEqual (PWMX, 0x02))
                    {
                        Store (Add (Divide (Subtract (Local1, 0x00035B60), 
0x0271, ), 
                            PMIN), Local0)
                        \_SB.PCI0.SBRG.ASOC.SIT3 (0x03020053, Local0, 0x02)
                    }
                    Else
                    {
                        If (LEqual (PWMX, 0x03))
                        {
                            Store (Add (Divide (Subtract (Local1, 0x00013880), 
0x0271, ), 
                                PMIN), Local0)
                            \_SB.PCI0.SBRG.ASOC.SIT3 (0x03020054, Local0, 0x02)
                        }
                        Else
                        {
                            If (LEqual (PWMX, 0x04))
                            {
                                Store (Add (Divide (Subtract (Local1, 
0x00013880), 0x0271, ), 
                                    PMIN), Local0)
                                \_SB.PCI0.SBRG.ASOC.SIT3 (0x03020055, Local0, 
0x02)
                            }
                            Else
                            {
                                If (LEqual (PWMX, 0x05))
                                {
                                    Store (Add (Divide (Subtract (Local1, 
0x0001ADB0), 0x1388, ), 
                                        PMIN), Local0)
                                    \_SB.PCI0.SBRG.ASOC.SIT3 (0x03020056, 
Local0, 0x02)
                                }
                                Else
                                {
                                    If (LEqual (PWMX, 0x06))
                                    {
                                        Store (Add (Divide (Subtract (Local1, 
0x0002BF20), 0x1388, ), 
                                            PMIN), Local0)
                                        SN18 (Local0)
                                    }
                                }
                            }
                        }
                    }
                }

                Return (Local0)
            }

            Method (RTV, 1, NotSerialized)
            {
                Store (Arg0, Local0)
                Store (Zero, Local1)
                If (LEqual (PWMX, One))
                {
                    \_SB.PCI0.SBRG.ASOC.GIT3 (0x03020032)
                    Store (\_SB.PCI0.SBRG.ASOC.ASB1, Local0)
                    Store (Add (0x0001D4C0, Multiply (Subtract (Local0, PMIN), 
0x0271)
                        ), Local1)
                }
                Else
                {
                    If (LEqual (PWMX, 0x02))
                    {
                        \_SB.PCI0.SBRG.ASOC.GIT3 (0x03020053)
                        Store (\_SB.PCI0.SBRG.ASOC.ASB1, Local0)
                        Store (Add (0x00035B60, Multiply (Subtract (Local0, 
PMIN), 0x0271)
                            ), Local1)
                    }
                    Else
                    {
                        If (LEqual (PWMX, 0x03))
                        {
                            \_SB.PCI0.SBRG.ASOC.GIT3 (0x03020054)
                            Store (\_SB.PCI0.SBRG.ASOC.ASB1, Local0)
                            Store (Add (0x00013880, Multiply (Subtract (Local0, 
PMIN), 0x0271)
                                ), Local1)
                        }
                        Else
                        {
                            If (LEqual (PWMX, 0x04))
                            {
                                \_SB.PCI0.SBRG.ASOC.GIT3 (0x03020055)
                                Store (\_SB.PCI0.SBRG.ASOC.ASB1, Local0)
                                Store (Add (0x00013880, Multiply (Subtract 
(Local0, PMIN), 0x0271)
                                    ), Local1)
                            }
                            Else
                            {
                                If (LEqual (PWMX, 0x05))
                                {
                                    \_SB.PCI0.SBRG.ASOC.GIT3 (0x03020056)
                                    Store (\_SB.PCI0.SBRG.ASOC.ASB1, Local0)
                                    Store (Add (0x0001ADB0, Multiply (Subtract 
(Local0, PMIN), 0x1388)
                                        ), Local1)
                                }
                                Else
                                {
                                    If (LEqual (PWMX, 0x06))
                                    {
                                        \_SB.PCI0.SBRG.ASOC.GIT3 (0x03020057)
                                        Store (\_SB.PCI0.SBRG.ASOC.ASB1, Local0)
                                        Store (Add (0x0002BF20, Multiply 
(Subtract (Local0, PMIN), 0x1388)
                                            ), Local1)
                                    }
                                    Else
                                    {
                                    }
                                }
                            }
                        }
                    }
                }

                Return (Local1)
            }

            Name (TN18, Package (0x03)
            {
                Package (0x02)
                {
                    0x84, 
                    One
                }, 

                Package (0x02)
                {
                    0x26, 
                    0x02
                }, 

                Package (0x02)
                {
                    0x25, 
                    0x03
                }
            })
            Method (SN18, 1, NotSerialized)
            {
                If (LGreater (Arg0, 0x03))
                {
                    Add (Arg0, One, Arg0)
                }

                Store (One, Local0)
                If (And (Arg0, One))
                {
                    Store (Zero, Local0)
                }

                \_SB.PCI0.SBRG.ASOC.SSGP (DerefOf (Index (DerefOf (Index (TN18, 
Zero)), Zero)), 
                    Local0)
                ShiftRight (Arg0, One, Local1)
                Store (One, Local0)
                If (And (Local1, One))
                {
                    Store (Zero, Local0)
                }

                \_SB.PCI0.SBRG.ASOC.SSGP (DerefOf (Index (DerefOf (Index (TN18, 
One)), Zero)), 
                    Local0)
                ShiftRight (Arg0, 0x02, Local1)
                Store (One, Local0)
                If (And (Local1, One))
                {
                    Store (Zero, Local0)
                }

                \_SB.PCI0.SBRG.ASOC.SSGP (DerefOf (Index (DerefOf (Index (TN18, 
0x02)), Zero)), 
                    Local0)
            }

            Name (QLST, Package (0x09)
            {
                0x08, 
                Package (0x05)
                {
                    0x262E, 
                    "Memory Clock Mode", 
                    Zero, 
                    0x03, 
                    Package (0x03)
                    {
                        Buffer (0x05)
                        {
                            "Auto"
                        }, 

                        Buffer (0x06)
                        {
                            "Limit"
                        }, 

                        Buffer (0x07)
                        {
                            "Manual"
                        }
                    }
                }, 

                Package (0x06)
                {
                    0x34DD, 
                    "Memclock Value", 
                    One, 
                    Buffer (0x05)
                    {
                        0x02, 0x00, 0x01, 0x03, 0x00
                    }, 

                    0x08, 
                    Package (0x08)
                    {
                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "400"
                        }, 

                        Buffer (0x04)
                        {
                            "533"
                        }, 

                        Buffer (0x04)
                        {
                            "667"
                        }, 

                        Buffer (0x04)
                        {
                            "800"
                        }, 

                        Buffer (0x05)
                        {
                            "Auto"
                        }
                    }
                }, 

                Package (0x05)
                {
                    0x2636, 
                    "DRAM Timing Mode", 
                    Zero, 
                    0x04, 
                    Package (0x04)
                    {
                        Buffer (0x05)
                        {
                            "Auto"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x05)
                        {
                            "Both"
                        }
                    }
                }, 

                Package (0x07)
                {
                    0x454C, 
                    "DCT0 CAS Latency (CL)", 
                    0x02, 
                    Buffer (0x05)
                    {
                        0x02, 0x00, 0x03, 0x03, 0x00
                    }, 

                    Buffer (0x05)
                    {
                        0x02, 0x02, 0x03, 0x03, 0x00
                    }, 

                    0x10, 
                    Package (0x10)
                    {
                        Buffer (0x05)
                        {
                            "Auto"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x06)
                        {
                            "4 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "5 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "6 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "7 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "8 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "9 CLK"
                        }, 

                        Buffer (0x07)
                        {
                            "10 CLK"
                        }, 

                        Buffer (0x07)
                        {
                            "11 CLK"
                        }, 

                        Buffer (0x07)
                        {
                            "12 CLK"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }
                    }
                }, 

                Package (0x07)
                {
                    0x454C, 
                    "DCT1 CAS Latency (CL)", 
                    0x02, 
                    Buffer (0x05)
                    {
                        0x02, 0x00, 0x03, 0x03, 0x00
                    }, 

                    Buffer (0x05)
                    {
                        0x02, 0x01, 0x03, 0x03, 0x00
                    }, 

                    0x10, 
                    Package (0x10)
                    {
                        Buffer (0x05)
                        {
                            "Auto"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x06)
                        {
                            "4 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "5 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "6 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "7 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "8 CLK"
                        }, 

                        Buffer (0x06)
                        {
                            "9 CLK"
                        }, 

                        Buffer (0x07)
                        {
                            "10 CLK"
                        }, 

                        Buffer (0x07)
                        {
                            "11 CLK"
                        }, 

                        Buffer (0x07)
                        {
                            "12 CLK"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }, 

                        Buffer (0x04)
                        {
                            "rvd"
                        }
                    }
                }, 

                Package (0x05)
                {
                    0x3633, 
                    "NB FID Control", 
                    Zero, 
                    0x02, 
                    Package (0x02)
                    {
                        Buffer (0x07)
                        {
                            "Manual"
                        }, 

                        Buffer (0x05)
                        {
                            "Auto"
                        }
                    }
                }, 

                Package (0x05)
                {
                    0x5498, 
                    "NBFID ID", 
                    Zero, 
                    0x21, 
                    Package (0x21)
                    {
                        Buffer (0x05)
                        {
                            "Auto"
                        }, 

                        Buffer (0x02)
                        {
                            "4"
                        }, 

                        Buffer (0x02)
                        {
                            "5"
                        }, 

                        Buffer (0x02)
                        {
                            "6"
                        }, 

                        Buffer (0x02)
                        {
                            "7"
                        }, 

                        Buffer (0x02)
                        {
                            "8"
                        }, 

                        Buffer (0x02)
                        {
                            "9"
                        }, 

                        Buffer (0x03)
                        {
                            "10"
                        }, 

                        Buffer (0x03)
                        {
                            "11"
                        }, 

                        Buffer (0x03)
                        {
                            "12"
                        }, 

                        Buffer (0x03)
                        {
                            "13"
                        }, 

                        Buffer (0x03)
                        {
                            "14"
                        }, 

                        Buffer (0x03)
                        {
                            "15"
                        }, 

                        Buffer (0x03)
                        {
                            "16"
                        }, 

                        Buffer (0x03)
                        {
                            "17"
                        }, 

                        Buffer (0x03)
                        {
                            "18"
                        }, 

                        Buffer (0x03)
                        {
                            "19"
                        }, 

                        Buffer (0x03)
                        {
                            "20"
                        }, 

                        Buffer (0x03)
                        {
                            "21"
                        }, 

                        Buffer (0x03)
                        {
                            "22"
                        }, 

                        Buffer (0x03)
                        {
                            "23"
                        }, 

                        Buffer (0x03)
                        {
                            "24"
                        }, 

                        Buffer (0x03)
                        {
                            "25"
                        }, 

                        Buffer (0x03)
                        {
                            "26"
                        }, 

                        Buffer (0x03)
                        {
                            "27"
                        }, 

                        Buffer (0x03)
                        {
                            "28"
                        }, 

                        Buffer (0x03)
                        {
                            "29"
                        }, 

                        Buffer (0x03)
                        {
                            "30"
                        }, 

                        Buffer (0x03)
                        {
                            "31"
                        }, 

                        Buffer (0x03)
                        {
                            "32"
                        }, 

                        Buffer (0x03)
                        {
                            "33"
                        }, 

                        Buffer (0x03)
                        {
                            "34"
                        }, 

                        Buffer (0x03)
                        {
                            "35"
                        }
                    }
                }, 

                Package (0x05)
                {
                    0x179B, 
                    "DDR3 Memory Profile", 
                    Zero, 
                    0x02, 
                    Package (0x02)
                    {
                        Buffer (0x09)
                        {
                            "Disabled"
                        }, 

                        Buffer (0x08)
                        {
                            "Enabled"
                        }
                    }
                }
            })
            OperationRegion (AODT, SystemMemory, 0x000EFE6F, 0x0100)
            Field (AODT, AnyAcc, NoLock, Preserve)
            {
                ASCD,   16, 
                ASTS,   32, 
                        Offset (0x08), 
                ASBF,   960, 
                GFXO,   1, 
                GMOD,   2, 
                        Offset (0x84), 
                RAMB,   32, 
                RAMS,   32
            }

            Name (ID01, Zero)
            Name (ID02, Zero)
            Method (SOID, 1, NotSerialized)
            {
                ShiftRight (Arg0, 0x18, ID01)
                ShiftRight (And (Arg0, 0x00FF0000), 0x10, ID02)
                Return (Zero)
            }

            Method (WROW, 4, NotSerialized)
            {
                Name (IFPK, Package (0x06)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                CreateDWordField (Arg0, Zero, BUF0)
                CreateDWordField (Arg0, 0x04, BUF1)
                CreateDWordField (Arg0, 0x08, BUF2)
                CreateDWordField (Arg0, 0x0C, BUF3)
                CreateDWordField (Arg0, 0x10, BUF4)
                CreateDWordField (Arg0, 0x14, BUF5)
                Store (BUF0, Index (IFPK, Zero))
                Store (BUF1, Index (IFPK, One))
                Store (BUF2, Index (IFPK, 0x02))
                Store (BUF3, Index (IFPK, 0x03))
                Store (BUF4, Index (IFPK, 0x04))
                Store (BUF5, Index (IFPK, 0x05))
                Store (Arg3, Local0)
                Store (Zero, Local1)
                While (Local0)
                {
                    Store (DerefOf (Index (IFPK, Local1)), Index (Arg1, Add 
(Multiply (
                        Arg2, Arg3), Local1)))
                    Increment (Local1)
                    Decrement (Local0)
                }
            }

            Method (GROW, 4, NotSerialized)
            {
                Name (IFPK, Package (0x06)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Store (Arg3, Local0)
                Store (Zero, Local1)
                While (Local0)
                {
                    Store (DerefOf (Index (Arg0, Add (Multiply (Arg2, Arg3), 
Local1
                        ))), Index (IFPK, Local1))
                    Increment (Local1)
                    Decrement (Local0)
                }

                CreateDWordField (Arg1, Zero, BUF0)
                CreateDWordField (Arg1, 0x04, BUF1)
                CreateDWordField (Arg1, 0x08, BUF2)
                CreateDWordField (Arg1, 0x0C, BUF3)
                CreateDWordField (Arg1, 0x10, BUF4)
                CreateDWordField (Arg1, 0x14, BUF5)
                Store (DerefOf (Index (IFPK, Zero)), BUF0)
                Store (DerefOf (Index (IFPK, One)), BUF1)
                Store (DerefOf (Index (IFPK, 0x02)), BUF2)
                Store (DerefOf (Index (IFPK, 0x03)), BUF3)
                Store (DerefOf (Index (IFPK, 0x04)), BUF4)
                Store (DerefOf (Index (IFPK, 0x05)), BUF5)
            }

            Method (CPTB, 2, NotSerialized)
            {
                Name (LOID, Zero)
                CreateDWordField (Arg1, Zero, BUF0)
                CreateDWordField (Arg1, 0x04, BUF1)
                CreateDWordField (Arg1, 0x08, BUF2)
                CreateDWordField (Arg1, 0x0C, BUF3)
                CreateDWordField (Arg1, 0x10, BUF4)
                Store (Zero, Local0)
                Store (DerefOf (Index (OBIT, Local0)), LOID)
                While (LOID)
                {
                    If (LEqual (LOID, Arg0))
                    {
                        Store (DerefOf (Index (OBIT, Add (Local0, Zero))), BUF0)
                        Store (DerefOf (Index (OBIT, Add (Local0, One))), BUF1)
                        Store (DerefOf (Index (OBIT, Add (Local0, 0x02))), BUF2)
                        Store (DerefOf (Index (OBIT, Add (Local0, 0x03))), BUF3)
                        Store (DerefOf (Index (OBIT, Add (Local0, 0x04))), BUF4)
                        Break
                    }

                    Add (Local0, 0x06, Local0)
                    Store (DerefOf (Index (OBIT, Local0)), LOID)
                }

                If (LEqual (LOID, Zero))
                {
                    Return (0xFF)
                }

                Return (Zero)
            }

            Method (CBTP, 1, NotSerialized)
            {
                Name (LOID, Zero)
                CreateDWordField (Arg0, Zero, BUF0)
                CreateDWordField (Arg0, 0x04, BUF1)
                CreateDWordField (Arg0, 0x08, BUF2)
                CreateDWordField (Arg0, 0x0C, BUF3)
                CreateDWordField (Arg0, 0x10, BUF4)
                CreateDWordField (Arg0, 0x14, BUF5)
                Store (Zero, Local0)
                Store (DerefOf (Index (OBIT, Local0)), LOID)
                While (LOID)
                {
                    If (LEqual (LOID, BUF0))
                    {
                        Store (BUF0, Index (OBIT, Add (Local0, Zero)))
                        Store (BUF1, Index (OBIT, Add (Local0, One)))
                        Store (BUF2, Index (OBIT, Add (Local0, 0x02)))
                        Store (BUF3, Index (OBIT, Add (Local0, 0x03)))
                        Store (BUF4, Index (OBIT, Add (Local0, 0x04)))
                        Store (BUF5, Index (OBIT, Add (Local0, 0x05)))
                        Break
                    }

                    Add (Local0, 0x06, Local0)
                    Store (DerefOf (Index (OBIT, Local0)), LOID)
                }

                If (LEqual (LOID, Zero))
                {
                    Return (0xFF)
                }

                Return (Zero)
            }

            Method (ABS, 2, NotSerialized)
            {
                If (LLess (Arg0, Arg1))
                {
                    Return (Subtract (Arg1, Arg0))
                }
                Else
                {
                    Return (Subtract (Arg0, Arg1))
                }
            }

            Name (DG01, One)
            Name (DG02, 0x02)
            Name (DG03, 0x03)
            Name (DG04, 0x04)
            Method (ADBG, 2, NotSerialized)
            {
                If (DBG)
                {
                    If (LEqual (Arg1, DG01))
                    {
                        If (GDBG)
                        {
                            Store ("[GEN]", Debug)
                            Store (Arg0, Debug)
                        }
                    }
                    Else
                    {
                        If (LEqual (Arg1, DG02))
                        {
                            If (CDBG)
                            {
                                Store ("[CLK]", Debug)
                                Store (Arg0, Debug)
                            }
                        }
                        Else
                        {
                            If (LEqual (Arg1, DG03))
                            {
                                If (VDBG)
                                {
                                    Store ("[VOL]", Debug)
                                    Store (Arg0, Debug)
                                }
                            }
                            Else
                            {
                                If (LEqual (Arg1, DG04))
                                {
                                    If (RDBG)
                                    {
                                        Store ("[RCMD]", Debug)
                                        Store (Arg0, Debug)
                                    }
                                }
                                Else
                                {
                                    Store ("[NULL]", Debug)
                                    Store (Arg0, Debug)
                                }
                            }
                        }
                    }
                }
            }

            OperationRegion (SMIX, SystemIO, SMIP, One)
            Field (SMIX, ByteAcc, NoLock, Preserve)
            {
                SMIC,   8
            }

            Name (EXBF, Buffer (0x78) {})
            Method (GCMS, 1, NotSerialized)
            {
                Name (TEMP, Buffer (0x06) {})
                CreateDWordField (TEMP, Zero, TMP1)
                CreateWordField (TEMP, 0x04, TMP2)
                Store (One, ASCD)
                CreateWordField (EXBF, Zero, CMSI)
                CreateWordField (EXBF, 0x02, CMSD)
                Store (Zero, EXBF)
                Store (Arg0, CMSI)
                Store (EXBF, ASBF)
                Store (AODS, SMIC)
                Store (ASBF, EXBF)
                Store (ASTS, TMP1)
                Store (CMSD, TMP2)
                Return (TEMP)
            }

            Method (SCMS, 2, NotSerialized)
            {
                Store (0x02, ASCD)
                CreateWordField (EXBF, Zero, CMSI)
                CreateWordField (EXBF, 0x02, CMSD)
                Store (Zero, EXBF)
                Store (Arg0, CMSI)
                Store (Arg1, CMSD)
                Store (EXBF, ASBF)
                Store (AODS, SMIC)
                Store (ASBF, EXBF)
                Return (ASTS)
            }

            Method (STNV, 2, NotSerialized)
            {
                Store (0x03, ASCD)
                CreateField (EXBF, Zero, Arg1, MOPD)
                Store (Zero, EXBF)
                Store (Arg0, MOPD)
                Store (EXBF, ASBF)
                Store (AODS, SMIC)
                Store (ASBF, EXBF)
                Return (ASTS)
            }

            Method (GETC, 1, NotSerialized)
            {
                Store (Zero, GVB2)
                Store (CCLK (Arg0), GVB1)
                Return (GVBF)
            }

            Name (WABF, Buffer (0x0C)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                /* 0008 */    0x00, 0x00, 0x00, 0x00
            })
            Method (SETC, 2, NotSerialized)
            {
                If (LEqual (Arg0, One))
                {
                    Divide (Arg1, 0x03E8, , Local0)
                    If (LGreaterEqual (Local0, 0x64))
                    {
                        Subtract (Local0, 0x64, Local0)
                        \_SB.PCI0.SBRG.ASOC.EFSB (One, Local0)
                    }
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Divide (Arg1, 0x03E8, , Local0)
                        If (LGreaterEqual (Local0, 0x64))
                        {
                            Subtract (Local0, Zero, Local0)
                            \_SB.PCI0.SBRG.ASOC.EPCI (One, Local0)
                        }
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03)) {}
                    }
                }

                Return (Zero)
            }

            Method (CINI, 0, NotSerialized)
            {
                Return (Zero)
            }

            Name (GABF, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            Method (CCLK, 1, NotSerialized)
            {
                If (LEqual (Arg0, One))
                {
                    Store (\_SB.PCI0.SBRG.ASOC.EFSB (Zero, Zero), Local1)
                    Add (Local1, 0x64, Local1)
                    Multiply (Local1, 0x03E8, Local1)
                    Return (Local1)
                }
                Else
                {
                    If (LEqual (Arg0, 0x02))
                    {
                        Store (\_SB.PCI0.SBRG.ASOC.EPCI (Zero, Zero), Local1)
                        Add (Local1, Zero, Local1)
                        Multiply (Local1, 0x03E8, Local1)
                        Return (Local1)
                    }
                    Else
                    {
                        If (LEqual (Arg0, 0x03)) {}
                    }
                }

                Store (One, GVB2)
                Return (Zero)
            }

            Name (PWIF, Buffer (0x08)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (PWIF, One, PWMX)
            CreateByteField (PWIF, 0x02, PWEN)
            CreateByteField (PWIF, 0x03, PMIN)
            CreateByteField (PWIF, 0x04, PMAX)
            CreateByteField (PWIF, 0x05, PDFT)
            CreateByteField (PWIF, 0x06, PSTP)
            CreateByteField (PWIF, 0x07, PNMD)
            Name (PXIF, Buffer (0x04)
            {
                0x00, 0x00, 0x00, 0x00
            })
            CreateByteField (PXIF, Zero, PXHI)
            CreateByteField (PXIF, One, PXNM)
            CreateByteField (PXIF, 0x02, PXEN)
            CreateByteField (PXIF, 0x03, PXIO)
            Method (VINI, 0, NotSerialized)
            {
                Name (LDFT, Zero)
                Store (DerefOf (Index (OBID, Zero)), Local0)
                Store (One, Local1)
                While (Local0)
                {
                    SOID (DerefOf (Index (OBID, Local1)))
                    If (LEqual (ID01, 0x02))
                    {
                        If (LEqual (GPIF (ID02), Zero))
                        {
                            If (LEqual (PWEN, One))
                            {
                                PWMR (PWMX)
                                If (LNot (LAnd (PXEN, PXIO)))
                                {
                                    Store (One, LDFT)
                                    Break
                                }
                            }
                        }
                    }

                    Decrement (Local0)
                    Increment (Local1)
                }

                If (LEqual (LDFT, One))
                {
                    DISC ()
                    Store (DerefOf (Index (OBID, Zero)), Local0)
                    Store (One, Local1)
                    While (Local0)
                    {
                        SOID (DerefOf (Index (OBID, Local1)))
                        If (LEqual (ID01, 0x02))
                        {
                            If (LEqual (GPIF (ID02), Zero))
                            {
                                If (LEqual (PWEN, One))
                                {
                                    FPDV (PWMX)
                                    PWMW (PWMX, PDFT)
                                }
                            }
                        }

                        Decrement (Local0)
                        Increment (Local1)
                    }
                }

                CNCT ()
            }

            Method (SETV, 2, NotSerialized)
            {
                If (LEqual (GPIF (Arg0), Zero))
                {
                    Store (VTR (Arg1), Local0)
                    WTVR (Local0, PWMX, PMAX, PMIN, PDFT, PSTP)
                }
            }

            Method (GETV, 1, NotSerialized)
            {
                If (LEqual (GPIF (Arg0), Zero))
                {
                    Store (PWMR (PWMX), Local0)
                    Store (RTV (Local0), Local1)
                    Store (Zero, GVB2)
                    Store (Local1, GVB1)
                }
                Else
                {
                    Store (Zero, GVB1)
                    Store (0x04, GVB2)
                }

                Return (GVBF)
            }

            Method (GPIF, 1, NotSerialized)
            {
                PWMI ()
                Store (Zero, Local1)
                Store (Zero, Local0)
                While (One)
                {
                    If (LEqual (DerefOf (Index (PWMT, Local1)), 0xFF))
                    {
                        Store (0xFF, Local0)
                        Break
                    }

                    If (LEqual (DerefOf (Index (PWMT, Local1)), Arg0))
                    {
                        Store (0x08, Local2)
                        Store (Zero, Local3)
                        While (Local2)
                        {
                            Store (DerefOf (Index (PWMT, Add (Local1, 
Local3))), Index (
                                PWIF, Local3))
                            Increment (Local3)
                            Decrement (Local2)
                        }

                        Break
                    }

                    Add (Local1, 0x08, Local1)
                }

                If (LEqual (Local0, 0xFF))
                {
                    Return (0xFF)
                }

                Return (Zero)
            }

            Method (WTVR, 6, NotSerialized)
            {
                Name (PTGT, Zero)
                If (LOr (LGreater (Arg0, Arg2), LLess (Arg0, Arg3)))
                {
                    Store (Arg4, PTGT)
                }
                Else
                {
                    Store (Arg0, PTGT)
                }

                Store (PWMR (Arg1), Local0)
                RMPV (PTGT, Local0, Arg5, Arg1)
                Return (Zero)
            }

            Method (PWMR, 1, NotSerialized)
            {
                Return (Zero)
            }

            Method (PWMW, 2, NotSerialized)
            {
                Return (Zero)
            }

            Method (FPDV, 1, NotSerialized)
            {
            }

            Method (RMPV, 4, NotSerialized)
            {
                Store (Arg0, Local0)
                Store (Arg1, Local1)
                While (One)
                {
                    If (LLess (ABS (Local0, Local1), Arg2))
                    {
                        Break
                    }

                    If (LGreater (Local0, Local1))
                    {
                        Add (Local1, Arg2, Local1)
                    }

                    If (LLess (Local0, Local1))
                    {
                        Subtract (Local1, Arg2, Local1)
                    }

                    PWMW (Arg3, Local1)
                    Sleep (0x64)
                }

                If (LNotEqual (Local0, Local1))
                {
                    PWMW (Arg3, Local0)
                }

                Sleep (0x02)
            }

            Name (GF01, Zero)
            Name (TSBF, Buffer (0x20)
            {
                /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
            })
            Name (GVBF, Buffer (0x05)
            {
                0x00, 0x00, 0x00, 0x00, 0x00
            })
            CreateDWordField (GVBF, Zero, GVB1)
            CreateByteField (GVBF, 0x04, GVB2)
            Method (AM01, 0, NotSerialized)
            {
                If (LNot (GF01))
                {
                    BM01 ()
                    CINI ()
                    VINI ()
                    XINI ()
                    EM01 ()
                    Store (One, GF01)
                }

                Return (Zero)
            }

            Method (AM02, 0, NotSerialized)
            {
                Return (OBID)
            }

            Method (AM03, 1, NotSerialized)
            {
                SOID (Arg0)
                If (LEqual (ID01, One))
                {
                    GETC (ID02)
                }
                Else
                {
                    If (LEqual (ID01, 0x02))
                    {
                        GETV (ID02)
                    }
                    Else
                    {
                        Store (Zero, GVB1)
                        Store (0x04, GVB2)
                        Store (GVBF, Local0)
                    }
                }

                Return (GVBF)
            }

            Method (AM04, 2, NotSerialized)
            {
                SOID (Arg0)
                If (LEqual (ID01, One))
                {
                    Store (SETC (ID02, Arg1), Local0)
                }
                Else
                {
                    If (LEqual (ID01, 0x02))
                    {
                        SETV (ID02, Arg1)
                        Store (Zero, Local0)
                    }
                    Else
                    {
                        Store (0x04, Local0)
                    }
                }

                Return (Local0)
            }

            Method (AM05, 1, NotSerialized)
            {
                Name (INFO, Buffer (0x14)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 
                    /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 
                    /* 0010 */    0x00, 0x00, 0x00, 0x00
                })
                CreateDWordField (INFO, Zero, IFID)
                CreateDWordField (INFO, 0x04, IFMI)
                CreateDWordField (INFO, 0x08, IFMX)
                CreateDWordField (INFO, 0x0C, IFSP)
                CreateField (INFO, 0x80, 0x03, IFST)
                SOID (Arg0)
                BM05 (Arg0)
                CPTB (Arg0, INFO)
                EM05 (Arg0)
                Return (INFO)
            }

            Method (AM06, 0, NotSerialized)
            {
                HM06 ()
                Return (Zero)
            }

            Method (AM07, 1, NotSerialized)
            {
                HM07 (Arg0)
                Return (Zero)
            }

            Method (AM08, 1, NotSerialized)
            {
                Name (LODT, Package (0x34)
                {
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero, 
                    Zero
                })
                Store (Zero, Local0)
                While (One)
                {
                    If (LEqual (DerefOf (Index (OBDT, Local0)), Arg0))
                    {
                        Store (Zero, Local4)
                        Break
                    }

                    If (LEqual (DerefOf (Index (OBDT, Local0)), Zero))
                    {
                        Store (0x04, Local4)
                        Break
                    }

                    Add (Local0, DerefOf (Index (OBDT, Add (Local0, One))), 
                        Local0)
                    Add (Local0, 0x02, Local0)
                }

                If (Local4) {}
                Else
                {
                    Store (DerefOf (Index (OBDT, Add (Local0, One))), Local1)
                    Add (Local1, 0x02, Local1)
                    Store (Zero, Local2)
                    While (Local1)
                    {
                        Store (DerefOf (Index (OBDT, Local0)), Index (LODT, 
Local2))
                        Decrement (Local1)
                        Increment (Local0)
                        Increment (Local2)
                    }
                }

                Return (LODT)
            }

            Name (OBSV, Package (0x09)
            {
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero, 
                Zero
            })
            Method (APTS, 1, NotSerialized)
            {
                If (LAnd (GF01, LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03))))
                {
                    Store (DerefOf (Index (OBID, Zero)), Local0)
                    Store (One, Local1)
                    Store (Zero, Local2)
                    While (Local0)
                    {
                        SOID (DerefOf (Index (OBID, Local1)))
                        If (LEqual (ID01, One))
                        {
                            GETC (ID02)
                            Store (GVB1, Local3)
                        }
                        Else
                        {
                            If (LEqual (ID01, 0x02))
                            {
                                GETV (ID02)
                                Store (GVB1, Local3)
                            }
                            Else
                            {
                                Store (Zero, Local3)
                            }
                        }

                        Store (Local3, Index (OBSV, Local2))
                        Decrement (Local0)
                        Increment (Local1)
                        Increment (Local2)
                    }
                }
            }

            Method (AWAK, 1, NotSerialized)
            {
                If (LAnd (GF01, LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03))))
                {
                    Store (DerefOf (Index (OBID, Zero)), Local0)
                    Store (One, Local1)
                    Store (Zero, Local2)
                    While (Local0)
                    {
                        Store (DerefOf (Index (OBSV, Local2)), Local3)
                        SOID (DerefOf (Index (OBID, Local1)))
                        If (LEqual (ID01, One))
                        {
                            SETC (ID02, Local3)
                        }
                        Else
                        {
                            If (LEqual (ID01, 0x02))
                            {
                                SETV (ID02, Local3)
                            }
                            Else
                            {
                            }
                        }

                        Decrement (Local0)
                        Increment (Local1)
                        Increment (Local2)
                    }
                }
            }

            Method (AM09, 0, NotSerialized)
            {
                Return (CMDV)
            }

            Method (AM10, 1, NotSerialized)
            {
                CreateDWordField (Arg0, Zero, ACMD)
                CreateField (OBUF, Zero, Multiply (SizeOf (OBUF), 0x08), TEMP)
                Store (Zero, TEMP)
                CreateDWordField (OBUF, Zero, CMDS)
                If (LEqual (ACMD, 0x00030001))
                {
                    R301 ()
                }
                Else
                {
                    If (LEqual (ACMD, 0x00030002))
                    {
                        R302 (Arg0)
                    }
                    Else
                    {
                        If (LEqual (ACMD, 0x00030003))
                        {
                            R303 (Arg0)
                        }
                        Else
                        {
                            If (LEqual (ACMD, 0x00030004))
                            {
                                R304 (Arg0)
                            }
                            Else
                            {
                                If (LEqual (ACMD, 0x00040001))
                                {
                                    R401 (Arg0)
                                }
                                Else
                                {
                                    If (LEqual (ACMD, 0x00040002))
                                    {
                                        R402 (Arg0)
                                    }
                                    Else
                                    {
                                        If (LEqual (ACMD, 0x00040003))
                                        {
                                            R403 (Arg0)
                                        }
                                        Else
                                        {
                                            If (LEqual (ACMD, 0x00040004))
                                            {
                                                R404 (Arg0)
                                            }
                                            Else
                                            {
                                                If (LEqual (ACMD, 0x00050001))
                                                {
                                                    R501 (Arg0)
                                                }
                                                Else
                                                {
                                                    Store (0x00010000, CMDS)
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                Return (OBUF)
            }

            Name (CMDL, Buffer (0x54) {})
            Method (AM11, 0, NotSerialized)
            {
                Name (TEMP, Zero)
                CreateDWordField (CMDL, Zero, CMDC)
                Add (TEMP, 0x04, TEMP)
                CreateDWordField (CMDL, TEMP, CMD1)
                Add (TEMP, 0x04, TEMP)
                Store (0x00030001, CMD1)
                CreateDWordField (CMDL, TEMP, CMD2)
                Add (TEMP, 0x04, TEMP)
                Store (0x00030002, CMD2)
                CreateDWordField (CMDL, TEMP, CMD3)
                Add (TEMP, 0x04, TEMP)
                Store (0x00030003, CMD3)
                CreateDWordField (CMDL, TEMP, CMD4)
                Add (TEMP, 0x04, TEMP)
                Store (0x00030004, CMD4)
                CreateDWordField (CMDL, TEMP, CMD5)
                Add (TEMP, 0x04, TEMP)
                Store (0x00040001, CMD5)
                CreateDWordField (CMDL, TEMP, CMD6)
                Add (TEMP, 0x04, TEMP)
                Store (0x00040002, CMD6)
                CreateDWordField (CMDL, TEMP, CMD7)
                Add (TEMP, 0x04, TEMP)
                Store (0x00040003, CMD7)
                CreateDWordField (CMDL, TEMP, CMD8)
                Add (TEMP, 0x04, TEMP)
                Store (0x00040004, CMD8)
                CreateDWordField (CMDL, TEMP, CMD9)
                Add (TEMP, 0x04, TEMP)
                Store (0x00050001, CMD9)
                Subtract (TEMP, 0x04, TEMP)
                Divide (TEMP, 0x04, , TEMP)
                Store (TEMP, CMDC)
                Return (CMDL)
            }

            Name (CMDV, One)
            Name (OBUF, Buffer (0x0400) {})
            Method (R301, 0, NotSerialized)
            {
                Store (DerefOf (Index (QLST, Zero)), Local0)
                CreateDWordField (OBUF, Zero, TMP1)
                CreateWordField (OBUF, 0x04, TMP2)
                Store (Local0, TMP2)
                Store (Zero, TMP1)
                Return (Zero)
            }

            Method (R302, 1, NotSerialized)
            {
                Name (CIDX, Zero)
                CreateWordField (Arg0, 0x04, IIDX)
                Store (One, CIDX)
                Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                    Local0)
                Increment (CIDX)
                Store (0x20, Local1)
                CreateField (OBUF, Local1, 0x0100, TMP1)
                Store (Local0, TMP1)
                Add (Local1, 0x0100, Local1)
                Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                    Local0)
                Increment (CIDX)
                CreateField (OBUF, Local1, 0x08, TMP2)
                Store (Local0, TMP2)
                Add (Local1, 0x08, Local1)
                Store (Local0, Local2)
                Divide (Local1, 0x08, , Local5)
                While (LGreater (Local2, Zero))
                {
                    Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), 
CIDX)), 
                        Local0)
                    Store (Local0, DG04)
                    Store (0x05, Local4)
                    Store (Zero, Local6)
                    While (LGreater (Local4, Zero))
                    {
                        If (LLess (Local6, SizeOf (Local0)))
                        {
                            Store (DerefOf (Index (Local0, Local6)), Index 
(OBUF, Local5))
                        }
                        Else
                        {
                            Store (Zero, Index (OBUF, Local5))
                        }

                        Increment (Local6)
                        Increment (Local5)
                        Decrement (Local4)
                    }

                    Add (Local1, 0x28, Local1)
                    Decrement (Local2)
                    Increment (CIDX)
                }

                Store (0x0370, Local1)
                Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                    Local0)
                Increment (CIDX)
                CreateField (OBUF, Local1, 0x10, TMP3)
                Store (Local0, TMP3)
                Add (Local1, 0x10, Local1)
                Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)), 
                    Local6)
                If (LEqual (ObjectType (Local6), 0x04))
                {
                    Store (SizeOf (Local6), Local2)
                    Divide (Local1, 0x08, , Local5)
                    Store (Zero, Local3)
                    While (LGreater (Local2, Zero))
                    {
                        Store (DerefOf (Index (Local6, Local3)), Local0)
                        Store (SizeOf (Local0), Local4)
                        Store (Zero, Local7)
                        While (LGreater (Local4, Zero))
                        {
                            Store (DerefOf (Index (Local0, Local7)), Index 
(OBUF, Local5))
                            Increment (Local7)
                            Increment (Local5)
                            Decrement (Local4)
                        }

                        Decrement (Local2)
                        Increment (Local3)
                    }
                }
                Else
                {
                    Store (Local0, Local2)
                    Divide (Local1, 0x08, , Local5)
                    While (LGreater (Local2, Zero))
                    {
                        Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), 
CIDX)), 
                            Local0)
                        Store (SizeOf (Local0), Local4)
                        Store (Zero, Local6)
                        While (LGreater (Local4, Zero))
                        {
                            Store (DerefOf (Index (Local0, Local6)), Index 
(OBUF, Local5))
                            Increment (Local6)
                            Increment (Local5)
                            Decrement (Local4)
                        }

                        Add (Local1, 0x80)
                        Decrement (Local2)
                        Increment (CIDX)
                    }
                }

                CreateDWordField (OBUF, Zero, TMP4)
                Store (Zero, TMP4)
                Return (Zero)
            }

            Method (R303, 1, NotSerialized)
            {
                CreateWordField (Arg0, 0x04, IITM)
                CreateDWordField (OBUF, Zero, TMP1)
                CreateWordField (OBUF, 0x04, TMP2)
                Store (DerefOf (Index (DerefOf (Index (QLST, IITM)), Zero)), 
                    Local0)
                Store (GCMS (Local0), Local1)
                CreateDWordField (Local1, Zero, TMP3)
                CreateWordField (Local1, 0x04, TMP4)
                Store (TMP3, TMP1)
                Store (TMP4, TMP2)
                Return (Zero)
            }

            Method (R304, 1, NotSerialized)
            {
                CreateWordField (Arg0, 0x04, IITM)
                CreateWordField (Arg0, 0x06, CMSD)
                CreateDWordField (OBUF, Zero, TMP1)
                Store (DerefOf (Index (DerefOf (Index (QLST, IITM)), Zero)), 
                    Local0)
                Store (SCMS (Local0, CMSD), TMP1)
                Store (Zero, CRST)
                Return (Zero)
            }

            Name (VEND, Buffer (0x05)
            {
                "ASUS"
            })
            Method (R401, 1, NotSerialized)
            {
                CreateField (OBUF, 0x20, 0x0200, TMP2)
                Store (VEND, TMP2)
                Return (Zero)
            }

            Method (R402, 1, NotSerialized)
            {
                CreateField (OBUF, 0x20, 0x08, TMP1)
                CreateField (OBUF, 0x28, 0x08, TMP2)
                Store (GMOD, TMP1)
                Store (GFXO, TMP2)
                Return (Zero)
            }

            Name (TCIP, Package (0x04)
            {
                Package (0x0A)
                {
                    Zero, 
                    0x04, 
                    Package (0x04)
                    {
                        Zero, 
                        0x02, 
                        0x0A, 
                        Buffer (0x0A)
                        {
                            "CPU VCORE"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x03, 
                        0x14, 
                        Buffer (0x06)
                        {
                            "+3.3V"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        One, 
                        0x12, 
                        Buffer (0x04)
                        {
                            "+5V"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        Zero, 
                        0x2A, 
                        Buffer (0x05)
                        {
                            "+12V"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x04, 
                        0x2A, 
                        Buffer (0x05)
                        {
                            "+12V"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x05, 
                        0x0A, 
                        Buffer (0x0C)
                        {
                            "VIN_5_FAKED"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x06, 
                        0x0A, 
                        Buffer (0x0C)
                        {
                            "VIN_6_FAKED"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x07, 
                        0x0A, 
                        Buffer (0x0C)
                        {
                            "VIN_7_FAKED"
                        }
                    }
                }, 

                Package (0x0A)
                {
                    One, 
                    0x02, 
                    Package (0x04)
                    {
                        Zero, 
                        Zero, 
                        Zero, 
                        Buffer (0x10)
                        {
                            "CPU TEMPERATURE"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        One, 
                        0xFF, 
                        Buffer (0x10)
                        {
                            "MB TERMPERATURE"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x02, 
                        0xFF, 
                        Buffer (0x0C)
                        {
                            "ASUS_TMPIN2"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x03, 
                        0xFF, 
                        Buffer (0x07)
                        {
                            "TMPIN3"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x04, 
                        0xFF, 
                        Buffer (0x07)
                        {
                            "TMPIN4"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x05, 
                        0xFF, 
                        Buffer (0x07)
                        {
                            "TMPIN5"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x06, 
                        0xFF, 
                        Buffer (0x07)
                        {
                            "TMPIN6"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x07, 
                        0xFF, 
                        Buffer (0x07)
                        {
                            "TMPIN7"
                        }
                    }
                }, 

                Package (0x0A)
                {
                    0x02, 
                    0x03, 
                    Package (0x04)
                    {
                        Zero, 
                        Zero, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "CPU FAN"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        One, 
                        0xFF, 
                        Buffer (0x0C)
                        {
                            "CHASSIS FAN"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x02, 
                        0xFF, 
                        Buffer (0x0A)
                        {
                            "POWER FAN"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x03, 
                        0xFF, 
                        Buffer (0x0D)
                        {
                            "FANIN3_FAKED"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x04, 
                        0xFF, 
                        Buffer (0x0D)
                        {
                            "FANIN4_FAKED"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x05, 
                        0xFF, 
                        Buffer (0x0D)
                        {
                            "FANIN5_FAKED"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x06, 
                        0xFF, 
                        Buffer (0x0D)
                        {
                            "FANIN6_FAKED"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x07, 
                        0xFF, 
                        Buffer (0x0D)
                        {
                            "FANIN7_FAKED"
                        }
                    }
                }, 

                Package (0x0A)
                {
                    0x03, 
                    Zero, 
                    Package (0x04)
                    {
                        Zero, 
                        Zero, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL0"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        One, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL1"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x02, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL2"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        One, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL3"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x04, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL4"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x05, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL5"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x06, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL6"
                        }
                    }, 

                    Package (0x04)
                    {
                        Zero, 
                        0x07, 
                        0xFF, 
                        Buffer (0x08)
                        {
                            "FANCTL7"
                        }
                    }
                }
            })
            Method (R403, 1, NotSerialized)
            {
                Name (TINX, Zero)
                CreateByteField (Arg0, 0x04, TCOT)
                CreateByteField (OBUF, 0x04, CNTC)
                Store (DerefOf (Index (TCIP, TCOT)), Local0)
                Store (DerefOf (Index (Local0, One)), Local1)
                Store (Local1, CNTC)
                Store ("CNTC", Debug)
                Store (CNTC, Debug)
                Store ("Local1", Debug)
                Store (Local1, Debug)
                Store (0x05, Local2)
                Store (0x02, TINX)
                While (Local1)
                {
                    Store ("Local2", Debug)
                    Store (Local2, Debug)
                    Store (DerefOf (Index (Local0, TINX)), Local7)
                    Store ("Local7", Debug)
                    Store (Local7, Debug)
                    Store (DerefOf (Index (Local7, Zero)), Index (OBUF, Local2))
                    Increment (Local2)
                    Store (DerefOf (Index (Local7, One)), Index (OBUF, Local2))
                    Increment (Local2)
                    Store (DerefOf (Index (Local7, 0x02)), Index (OBUF, Local2))
                    Increment (Local2)
                    Store (DerefOf (Index (Local7, 0x03)), Local4)
                    Store ("Local4", Debug)
                    Store (Local4, Debug)
                    Store (SizeOf (Local4), Local3)
                    If (LGreater (Local3, 0x20))
                    {
                        Store (0x1F, Local3)
                    }

                    Subtract (0x20, Local3, Local6)
                    Store ("Local3", Debug)
                    Store (Local3, Debug)
                    Store (Zero, Local5)
                    While (Local3)
                    {
                        Store (DerefOf (Index (Local4, Local5)), Index (OBUF, 
Local2))
                        Increment (Local2)
                        Increment (Local5)
                        Decrement (Local3)
                    }

                    Store ("Local6", Debug)
                    Store (Local6, Debug)
                    Store ("OBUF", Debug)
                    Store (OBUF, Debug)
                    Add (Local2, Local6, Local2)
                    Decrement (Local1)
                    Increment (TINX)
                }

                Return (Zero)
            }

            Method (R404, 1, NotSerialized)
            {
                CreateDWordField (OBUF, 0x04, VDIO)
                Store (\_SB.PCI0.SBRG.ASOC.GECV (One), Local0)
                Store (Add (0x0001D4C0, Multiply (Subtract (Local0, Zero), 
0x0271)
                    ), Local1)
                Store (Local1, VDIO)
                Return (Zero)
            }

            Method (R501, 1, NotSerialized)
            {
                CreateByteField (Arg0, 0x04, MOPV)
                If (LEqual (MOPV, One))
                {
                    Store (0x1F, Local0)
                }

                Multiply (Local0, 0x08, Local1)
                CreateField (Arg0, 0x20, Local1, MOPD)
                STNV (MOPD, Local1)
            }

            Name (WQBA, Buffer (0x0BBB)
            {
                /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00, 
                /* 0008 */    0xAB, 0x0B, 0x00, 0x00, 0x20, 0x4A, 0x00, 0x00, 
                /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54, 
                /* 0018 */    0x28, 0x5B, 0xA4, 0x00, 0x01, 0x06, 0x18, 0x42, 
                /* 0020 */    0x10, 0x15, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01, 
                /* 0028 */    0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E, 
                /* 0030 */    0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08, 
                /* 0038 */    0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E, 
                /* 0040 */    0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04, 
                /* 0048 */    0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02, 
                /* 0050 */    0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD, 
                /* 0058 */    0x02, 0xA4, 0xC3, 0x92, 0xAD, 0x08, 0x1C, 0x21, 
                /* 0060 */    0x06, 0x1C, 0xA5, 0x13, 0x5B, 0xB8, 0x61, 0x83, 
                /* 0068 */    0x17, 0x8A, 0xA2, 0x19, 0x44, 0x49, 0x50, 0xB9, 
                /* 0070 */    0x00, 0xDF, 0x08, 0x02, 0x2F, 0x57, 0x80, 0xE4, 
                /* 0078 */    0x09, 0x48, 0xB3, 0x00, 0xC3, 0x02, 0xAC, 0x0B, 
                /* 0080 */    0x90, 0x3D, 0x04, 0x2A, 0x75, 0x08, 0x28, 0x39, 
                /* 0088 */    0x43, 0x40, 0x0D, 0xA0, 0xD5, 0x09, 0x08, 0xBF, 
                /* 0090 */    0xD2, 0x29, 0x21, 0x09, 0xC2, 0x19, 0xAB, 0x78, 
                /* 0098 */    0x7C, 0xCD, 0xA2, 0xE9, 0x39, 0xC9, 0x39, 0x86, 
                /* 00A0 */    0x1C, 0x8F, 0x0B, 0x3D, 0x08, 0x1E, 0x47, 0x03, 
                /* 00A8 */    0x08, 0x93, 0x3F, 0x64, 0x05, 0x80, 0x41, 0x49, 
                /* 00B0 */    0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9, 
                /* 00B8 */    0x80, 0x0C, 0x51, 0xDA, 0xA8, 0xD1, 0x03, 0x3A, 
                /* 00C0 */    0xBF, 0x23, 0x39, 0xBB, 0xA3, 0x3B, 0x92, 0x04, 
                /* 00C8 */    0x46, 0x3D, 0xA6, 0x63, 0x2C, 0x6C, 0x46, 0x42, 
                /* 00D0 */    0x8D, 0xD1, 0x1C, 0x14, 0x09, 0x37, 0x68, 0xB4, 
                /* 00D8 */    0x44, 0x58, 0x8D, 0x2B, 0xF6, 0x99, 0x59, 0xF8, 
                /* 00E0 */    0xB0, 0x84, 0x71, 0x04, 0x07, 0x76, 0xB0, 0x16, 
                /* 00E8 */    0x0D, 0x23, 0xB4, 0x82, 0xE0, 0x34, 0x88, 0xA3, 
                /* 00F0 */    0x88, 0x12, 0x86, 0xE1, 0x19, 0x33, 0xD0, 0x51, 
                /* 00F8 */    0x32, 0xA4, 0x30, 0x41, 0x4F, 0x20, 0xC8, 0xC9, 
                /* 0100 */    0x33, 0x2C, 0x43, 0x9C, 0x01, 0xC7, 0x8A, 0x11, 
                /* 0108 */    0x2A, 0x24, 0x66, 0x20, 0xC1, 0xFF, 0xFF, 0x27, 
                /* 0110 */    0xD0, 0x35, 0x86, 0x3C, 0x03, 0x91, 0x7B, 0xC0, 
                /* 0118 */    0x09, 0x04, 0x89, 0x1E, 0x25, 0xB8, 0x71, 0x8D, 
                /* 0120 */    0xCA, 0xC6, 0x74, 0x36, 0xB8, 0x81, 0x99, 0x20, 
                /* 0128 */    0xCE, 0xE1, 0x61, 0x64, 0x40, 0x68, 0x02, 0xF1, 
                /* 0130 */    0x63, 0x87, 0x4F, 0x60, 0xF7, 0xC7, 0x01, 0x29, 
                /* 0138 */    0x44, 0xD0, 0x85, 0xE0, 0x4C, 0x6B, 0x14, 0x60, 
                /* 0140 */    0xED, 0xEC, 0x20, 0x5B, 0x10, 0x3A, 0x0B, 0xC4, 
                /* 0148 */    0x6A, 0x0C, 0x45, 0x10, 0x11, 0x82, 0x46, 0x31, 
                /* 0150 */    0x5E, 0x84, 0x50, 0x21, 0xA2, 0x44, 0x3D, 0xE7, 
                /* 0158 */    0x20, 0xB5, 0x09, 0x50, 0x06, 0x22, 0xB4, 0x60, 
                /* 0160 */    0x46, 0x60, 0xF6, 0x07, 0x41, 0x24, 0x58, 0x80, 
                /* 0168 */    0xF8, 0x23, 0xB0, 0x84, 0x13, 0x81, 0x8C, 0x8C, 
                /* 0170 */    0x86, 0x1E, 0x16, 0x7C, 0x12, 0x60, 0x07, 0x04, 
                /* 0178 */    0xCF, 0xE7, 0xD4, 0x4C, 0xE0, 0xC0, 0x10, 0xE2, 
                /* 0180 */    0x95, 0x00, 0x51, 0x47, 0x0B, 0x4A, 0x60, 0x29, 
                /* 0188 */    0x47, 0x03, 0x62, 0x7B, 0x60, 0xBA, 0x07, 0x1C, 
                /* 0190 */    0xE1, 0xB9, 0xFB, 0x72, 0x70, 0x6A, 0xFE, 0x69, 
                /* 0198 */    0x78, 0x9A, 0x0F, 0x09, 0x98, 0x21, 0x7A, 0xAC, 
                /* 01A0 */    0x07, 0x11, 0xF0, 0x10, 0xD9, 0x29, 0xC1, 0x80, 
                /* 01A8 */    0x78, 0xEF, 0xD7, 0x02, 0x32, 0x82, 0x97, 0x04, 
                /* 01B0 */    0x03, 0x7A, 0x12, 0x0F, 0x08, 0x60, 0x39, 0x68, 
                /* 01B8 */    0x1C, 0xF8, 0x09, 0x55, 0x7C, 0x07, 0xA0, 0x47, 
                /* 01C0 */    0x02, 0x36, 0xA3, 0xF8, 0x26, 0x28, 0xEB, 0xF8, 
                /* 01C8 */    0x80, 0x9E, 0x73, 0xB4, 0x67, 0x87, 0x97, 0x85, 
                /* 01D0 */    0x66, 0xAF, 0x18, 0x84, 0xE0, 0x35, 0xC0, 0x37, 
                /* 01D8 */    0x05, 0x9F, 0x46, 0x2C, 0x69, 0x75, 0x72, 0xB2, 
                /* 01E0 */    0x2A, 0x8F, 0x98, 0x82, 0x7B, 0x08, 0x5C, 0x04, 
                /* 01E8 */    0x9C, 0x86, 0xEE, 0xF1, 0x82, 0x43, 0xC1, 0x78, 
                /* 01F0 */    0xE9, 0xFF, 0x7F, 0xBC, 0xE0, 0x3E, 0x0F, 0x1C, 
                /* 01F8 */    0x2F, 0x58, 0x4E, 0x09, 0x55, 0x5D, 0x36, 0x34, 
                /* 0200 */    0x87, 0xF3, 0x6D, 0x1E, 0x9F, 0x1C, 0x2D, 0x3C, 
                /* 0208 */    0x61, 0x36, 0x96, 0xA3, 0x62, 0xC7, 0x10, 0x36, 
                /* 0210 */    0x3A, 0x3E, 0x0A, 0x0F, 0xF8, 0xB5, 0xA1, 0x58, 
                /* 0218 */    0x10, 0x99, 0x80, 0xD0, 0x91, 0xE1, 0xC0, 0xC1, 
                /* 0220 */    0xE2, 0xEC, 0x00, 0x21, 0x02, 0x0B, 0x1B, 0x39, 
                /* 0228 */    0x7A, 0xC4, 0x1E, 0xD4, 0x3B, 0x8C, 0x31, 0x1E, 
                /* 0230 */    0x08, 0x8C, 0x7A, 0x48, 0x07, 0x0F, 0x3E, 0x40, 
                /* 0238 */    0x0F, 0x1E, 0x70, 0xFA, 0xFF, 0x27, 0xB0, 0xA0, 
                /* 0240 */    0x21, 0x4B, 0xC4, 0xE0, 0xD1, 0xA7, 0x08, 0x0F, 
                /* 0248 */    0xE7, 0xDD, 0x87, 0x1F, 0x44, 0x12, 0x38, 0x3C, 
                /* 0250 */    0x84, 0x06, 0x0F, 0x9E, 0xB3, 0x8F, 0x07, 0x0F, 
                /* 0258 */    0x7E, 0x79, 0x83, 0x07, 0xD1, 0x14, 0x8E, 0x0D, 
                /* 0260 */    0x77, 0xB0, 0xF1, 0xC0, 0xC1, 0x3D, 0x5C, 0xFC, 
                /* 0268 */    0x90, 0x70, 0x67, 0x2D, 0x78, 0x3E, 0x27, 0x4F, 
                /* 0270 */    0x06, 0xF0, 0x12, 0x84, 0x3B, 0x6C, 0x01, 0x97, 
                /* 0278 */    0x11, 0x70, 0x99, 0xAB, 0xA4, 0x87, 0x2A, 0x0B, 
                /* 0280 */    0x83, 0x41, 0x9D, 0xAB, 0xC0, 0xFB, 0xFF, 0x3F, 
                /* 0288 */    0x57, 0x01, 0xF6, 0x2F, 0x53, 0xEF, 0x53, 0x3E, 
                /* 0290 */    0x57, 0x81, 0x3B, 0xDA, 0x79, 0x40, 0xE7, 0x16, 
                /* 0298 */    0x72, 0x9A, 0x41, 0x1F, 0x0A, 0x7C, 0x06, 0x78, 
                /* 02A0 */    0x92, 0x01, 0xDB, 0xA1, 0x0A, 0x38, 0x9C, 0x64, 
                /* 02A8 */    0xC0, 0x73, 0x2B, 0x7B, 0x92, 0x61, 0xFF, 0xFF, 
                /* 02B0 */    0x93, 0x0C, 0x38, 0x0F, 0x62, 0x3E, 0xC9, 0x80, 
                /* 02B8 */    0xEF, 0xE8, 0x85, 0x3B, 0x81, 0xC0, 0xF3, 0x38, 
                /* 02C0 */    0x24, 0x21, 0x1F, 0x42, 0xF0, 0x43, 0x3A, 0xA6, 
                /* 02C8 */    0x67, 0x10, 0x60, 0x28, 0xE4, 0x65, 0xE0, 0x03, 
                /* 02D0 */    0x08, 0x8D, 0x7E, 0x06, 0x01, 0xB4, 0xFF, 0xFF, 
                /* 02D8 */    0xCF, 0x20, 0xC0, 0xE5, 0xAC, 0xF0, 0x0C, 0x02, 
                /* 02E0 */    0x76, 0xF1, 0xAF, 0x3A, 0x9D, 0x07, 0x1C, 0x1C, 
                /* 02E8 */    0x42, 0x4E, 0x8E, 0x8A, 0xA8, 0xE1, 0x58, 0xEB, 
                /* 02F0 */    0x41, 0x80, 0x8C, 0xE7, 0x45, 0xC0, 0x41, 0x4F, 
                /* 02F8 */    0x8A, 0x40, 0xF7, 0xAC, 0x81, 0x3B, 0x1F, 0xC0, 
                /* 0300 */    0x3D, 0x12, 0xF2, 0x73, 0x07, 0xF8, 0xA2, 0x43, 
                /* 0308 */    0xE8, 0x98, 0x89, 0x3F, 0x51, 0x79, 0x88, 0x3E, 
                /* 0310 */    0x1B, 0x98, 0xC0, 0xA3, 0x05, 0xD7, 0x39, 0x11, 
                /* 0318 */    0x5C, 0xFF, 0xFF, 0xD1, 0xC2, 0x3B, 0x69, 0xE0, 
                /* 0320 */    0x46, 0x0B, 0xF7, 0x00, 0xFC, 0x58, 0x80, 0x39, 
                /* 0328 */    0x62, 0x82, 0xEB, 0xD0, 0x02, 0xA6, 0xEB, 0x02, 
                /* 0330 */    0xE6, 0xD2, 0x82, 0x3F, 0xB4, 0x00, 0x1F, 0xA1, 
                /* 0338 */    0x27, 0x16, 0x94, 0xB4, 0x43, 0x0B, 0xA0, 0xF9, 
                /* 0340 */    0xFF, 0x7F, 0x68, 0x01, 0x6E, 0x73, 0x7D, 0x68, 
                /* 0348 */    0x01, 0x7B, 0xB8, 0x73, 0x18, 0x95, 0x73, 0x0E, 
                /* 0350 */    0x83, 0x76, 0x68, 0xF6, 0x39, 0x0C, 0xB8, 0x1E, 
                /* 0358 */    0x26, 0xF0, 0x87, 0x4A, 0xB8, 0xB3, 0x88, 0x1F, 
                /* 0360 */    0x27, 0xDA, 0x5B, 0x80, 0xCF, 0xA7, 0xC0, 0xED, 
                /* 0368 */    0xB0, 0x86, 0x3B, 0x82, 0xC0, 0xBB, 0x14, 0x9C, 
                /* 0370 */    0x96, 0xA7, 0xF6, 0xD4, 0x7F, 0x70, 0x8D, 0x5F, 
                /* 0378 */    0x41, 0xC8, 0x3D, 0xC6, 0x77, 0x10, 0xF6, 0xFF, 
                /* 0380 */    0x3F, 0x88, 0x01, 0x37, 0x19, 0x07, 0x31, 0x54, 
                /* 0388 */    0xF0, 0x43, 0x08, 0x40, 0xA1, 0xCB, 0xC2, 0x43, 
                /* 0390 */    0x08, 0xD8, 0xA5, 0x1F, 0xC4, 0x68, 0xEC, 0x83, 
                /* 0398 */    0x18, 0xEA, 0xFF, 0x7F, 0x82, 0xC7, 0x9F, 0xC3, 
                /* 03A0 */    0x00, 0xA7, 0x67, 0x38, 0xB8, 0x51, 0x8F, 0x61, 
                /* 03A8 */    0x80, 0xA2, 0xB3, 0x28, 0x70, 0x82, 0x78, 0x0E, 
                /* 03B0 */    0x63, 0xFF, 0xFF, 0x73, 0x18, 0xF0, 0x14, 0xFC, 
                /* 03B8 */    0x12, 0xF0, 0x81, 0x85, 0x4A, 0x84, 0x41, 0x9D, 
                /* 03C0 */    0x59, 0x00, 0xDE, 0x1C, 0x90, 0x9F, 0x59, 0xC0, 
                /* 03C8 */    0x1E, 0xF2, 0xAD, 0xA1, 0x1F, 0x81, 0xFF, 0xFF, 
                /* 03D0 */    0x67, 0x16, 0xC0, 0xF5, 0x99, 0xDC, 0x63, 0xC5, 
                /* 03D8 */    0x1D, 0x22, 0xD8, 0x48, 0x42, 0xBE, 0x0A, 0xBC, 
                /* 03E0 */    0x15, 0x98, 0xC0, 0x91, 0x0F, 0x2D, 0x40, 0xF7, 
                /* 03E8 */    0x6C, 0x82, 0x1B, 0x2D, 0xDC, 0xE3, 0xC8, 0x39, 
                /* 03F0 */    0x9E, 0xD0, 0xBB, 0xF9, 0xEB, 0x03, 0x3B, 0x4D, 
                /* 03F8 */    0xB0, 0x21, 0x83, 0x57, 0xDE, 0x21, 0x10, 0xF5, 
                /* 0400 */    0xFF, 0x1F, 0xB2, 0x0F, 0x24, 0x9E, 0xC2, 0xCB, 
                /* 0408 */    0x0C, 0x66, 0x26, 0x31, 0x0E, 0x24, 0xC2, 0xB1, 
                /* 0410 */    0x78, 0x78, 0xE4, 0x28, 0x08, 0xAA, 0x33, 0x3F, 
                /* 0418 */    0x19, 0x35, 0xE8, 0x67, 0xF7, 0x84, 0x0F, 0x9E, 
                /* 0420 */    0xE9, 0xBE, 0xE1, 0x83, 0xE1, 0x30, 0x08, 0x73, 
                /* 0428 */    0xCE, 0x1E, 0x3F, 0xF8, 0x8E, 0x3D, 0xB8, 0x73, 
                /* 0430 */    0x10, 0xBC, 0xEB, 0x8A, 0x91, 0x4F, 0xE8, 0x25, 
                /* 0438 */    0x00, 0x73, 0x6B, 0xC1, 0x9E, 0x05, 0x81, 0x93, 
                /* 0440 */    0xAC, 0x83, 0x20, 0x4A, 0xC8, 0x59, 0x10, 0x54, 
                /* 0448 */    0xFF, 0xFF, 0x83, 0x10, 0xC0, 0x04, 0x6F, 0xF7, 
                /* 0450 */    0x20, 0x5D, 0x83, 0x7C, 0x1B, 0x78, 0x1A, 0x78, 
                /* 0458 */    0xF8, 0x89, 0xF2, 0x20, 0xE4, 0x8B, 0xC4, 0x0B, 
                /* 0460 */    0x41, 0x84, 0x28, 0xC7, 0x7B, 0x02, 0x11, 0x9E, 
                /* 0468 */    0x86, 0x3C, 0xE1, 0x30, 0xE1, 0x4E, 0x36, 0xCA, 
                /* 0470 */    0x4B, 0x43, 0x18, 0x43, 0xC7, 0x0A, 0x14, 0x39, 
                /* 0478 */    0x7E, 0x08, 0x1F, 0x85, 0x7C, 0x10, 0x62, 0x51, 
                /* 0480 */    0xCE, 0xB7, 0xF4, 0xFC, 0x61, 0x23, 0x67, 0x11, 
                /* 0488 */    0xD4, 0x49, 0xC0, 0x87, 0x0E, 0x0F, 0xEA, 0x09, 
                /* 0490 */    0x01, 0x13, 0x1A, 0x42, 0x47, 0x5C, 0xE0, 0x7A, 
                /* 0498 */    0xDA, 0xC0, 0xFD, 0xFF, 0x8F, 0x42, 0xE0, 0x38, 
                /* 04A0 */    0x80, 0xC0, 0x7B, 0x47, 0xF8, 0xB4, 0x0E, 0x2E, 
                /* 04A8 */    0x08, 0x9F, 0x3F, 0xE0, 0xFB, 0x44, 0x16, 0xEE, 
                /* 04B0 */    0x5B, 0xC0, 0x0B, 0x0D, 0xEE, 0xEC, 0x01, 0x7C, 
                /* 04B8 */    0xE4, 0x1E, 0x6B, 0x51, 0x02, 0x61, 0x50, 0x67, 
                /* 04C0 */    0x0F, 0xC0, 0xF9, 0xFF, 0xFF, 0xEC, 0x01, 0xD6, 
                /* 04C8 */    0x81, 0x3E, 0x7A, 0x1C, 0xE8, 0x31, 0x06, 0x89, 
                /* 04D0 */    0x11, 0xC4, 0x77, 0x0E, 0x1F, 0x7C, 0xE2, 0xBC, 
                /* 04D8 */    0x11, 0x3C, 0x7B, 0xF8, 0xC8, 0x71, 0x5C, 0x3E, 
                /* 04E0 */    0x80, 0xF8, 0xEC, 0xE1, 0x2B, 0x88, 0xF1, 0xC2, 
                /* 04E8 */    0xC4, 0x7C, 0x38, 0xF2, 0x35, 0x21, 0x5E, 0xE4, 
                /* 04F0 */    0xB0, 0x61, 0x22, 0xFB, 0xEC, 0xC1, 0x22, 0x1E, 
                /* 04F8 */    0x6B, 0xA9, 0x94, 0x83, 0x19, 0xFA, 0x4C, 0xE0, 
                /* 0500 */    0x5B, 0xC2, 0x99, 0xBD, 0x71, 0x44, 0x38, 0xAE, 
                /* 0508 */    0x93, 0x3B, 0x9F, 0x38, 0x1E, 0xD2, 0x49, 0xFB, 
                /* 0510 */    0x6C, 0x06, 0xBE, 0xE3, 0x07, 0x70, 0x38, 0x9B, 
                /* 0518 */    0x81, 0x67, 0x74, 0x70, 0x0F, 0x53, 0xE0, 0x93, 
                /* 0520 */    0x75, 0x36, 0x43, 0x0F, 0xCB, 0xE7, 0x82, 0x57, 
                /* 0528 */    0x07, 0x0F, 0x82, 0x9D, 0xCB, 0xC0, 0x75, 0xB8, 
                /* 0530 */    0x83, 0xF3, 0xFF, 0x3F, 0x97, 0x01, 0xAF, 0x73, 
                /* 0538 */    0xC7, 0x91, 0xB1, 0x53, 0x05, 0x47, 0x3C, 0xA8, 
                /* 0540 */    0x33, 0x79, 0x77, 0x39, 0x6B, 0x1F, 0x3C, 0x02, 
                /* 0548 */    0x9D, 0xE7, 0x29, 0xFB, 0x1C, 0x03, 0x73, 0x84, 
                /* 0550 */    0x1E, 0x3B, 0xF8, 0x0E, 0x26, 0xF8, 0x83, 0x0C, 
                /* 0558 */    0x1C, 0x98, 0x13, 0x38, 0xBA, 0x40, 0xA7, 0x10, 
                /* 0560 */    0xE7, 0x14, 0x9E, 0x63, 0x80, 0x91, 0x1C, 0x4B, 
                /* 0568 */    0x20, 0x2C, 0xC0, 0xB1, 0x40, 0xA2, 0x96, 0x49, 
                /* 0570 */    0x61, 0x7C, 0x32, 0xF0, 0x39, 0x06, 0xAE, 0x24, 
                /* 0578 */    0x38, 0xD4, 0xF8, 0x3C, 0xB2, 0x97, 0xBC, 0xE3, 
                /* 0580 */    0x3C, 0x91, 0x37, 0x04, 0x8F, 0xFF, 0x81, 0x06, 
                /* 0588 */    0xC6, 0xC0, 0x3D, 0xAD, 0x93, 0xF2, 0x4D, 0xEE, 
                /* 0590 */    0xB1, 0xC4, 0x67, 0x43, 0x7E, 0x5C, 0x60, 0x68, 
                /* 0598 */    0xFC, 0x74, 0x03, 0x86, 0xFF, 0xFF, 0xE9, 0x06, 
                /* 05A0 */    0xCE, 0x9D, 0xC1, 0x47, 0x0D, 0xB0, 0x5C, 0x6D, 
                /* 05A8 */    0x30, 0x58, 0xA1, 0x62, 0x34, 0x7A, 0xD7, 0x23, 
                /* 05B0 */    0xA0, 0xC7, 0xD7, 0xD7, 0x45, 0x9A, 0x42, 0x45, 
                /* 05B8 */    0x0C, 0xF1, 0x42, 0x60, 0x97, 0xC7, 0x71, 0xE4, 
                /* 05C0 */    0x59, 0x17, 0x5C, 0xD8, 0xCF, 0xBA, 0x60, 0x0F, 
                /* 05C8 */    0x75, 0x4E, 0xA2, 0x91, 0x46, 0x83, 0x3A, 0xC8, 
                /* 05D0 */    0xF0, 0x03, 0xC1, 0x63, 0x90, 0x4F, 0x1E, 0x06, 
                /* 05D8 */    0x39, 0xD1, 0xD3, 0x7A, 0x5C, 0x78, 0x1A, 0xF0, 
                /* 05E0 */    0xB8, 0xD9, 0x35, 0xC1, 0x1F, 0x04, 0x1F, 0x0F, 
                /* 05E8 */    0xF0, 0x97, 0xA0, 0x80, 0x27, 0xFA, 0xF0, 0x01, 
                /* 05F0 */    0xEB, 0x10, 0x82, 0x3F, 0x61, 0xC0, 0x1F, 0x8F, 
                /* 05F8 */    0x8F, 0x01, 0x3E, 0xD1, 0xFA, 0x48, 0x45, 0x06, 
                /* 0600 */    0x81, 0x3A, 0xBC, 0xF1, 0x91, 0x9E, 0xD6, 0xDB, 
                /* 0608 */    0x80, 0x0F, 0x09, 0x87, 0xC5, 0x0E, 0x1E, 0x3E, 
                /* 0610 */    0xA3, 0x80, 0x63, 0x3C, 0xF0, 0x6F, 0x9F, 0x4F, 
                /* 0618 */    0x07, 0xFF, 0xFF, 0x08, 0xAF, 0x0C, 0x9E, 0xAF, 
                /* 0620 */    0x0F, 0x66, 0x60, 0xB9, 0x75, 0xF8, 0xD0, 0x10, 
                /* 0628 */    0xEA, 0xA9, 0xC3, 0x33, 0x78, 0xBF, 0xF0, 0x09, 
                /* 0630 */    0x04, 0x98, 0x04, 0x36, 0x34, 0x48, 0x26, 0x73, 
                /* 0638 */    0x9D, 0xB2, 0x71, 0xDA, 0xA1, 0xC3, 0xB4, 0xC8, 
                /* 0640 */    0x03, 0x82, 0x8E, 0x06, 0x3E, 0xD2, 0xF8, 0x80, 
                /* 0648 */    0xCB, 0x0F, 0x49, 0x86, 0xB0, 0x30, 0x0A, 0x9D, 
                /* 0650 */    0x7C, 0x3C, 0x1A, 0x0F, 0x8F, 0xC0, 0x51, 0x10, 
                /* 0658 */    0x8F, 0xDC, 0x21, 0x21, 0x64, 0xE4, 0x10, 0x80, 
                /* 0660 */    0x3E, 0x2C, 0x30, 0x88, 0x87, 0x2E, 0x13, 0xF8, 
                /* 0668 */    0xD8, 0xE0, 0xF3, 0x1A, 0x9C, 0xE3, 0x91, 0x27, 
                /* 0670 */    0xE3, 0x69, 0x78, 0xDC, 0xB8, 0x53, 0x07, 0xDC, 
                /* 0678 */    0x71, 0xE0, 0x0F, 0x3A, 0xF8, 0x53, 0x20, 0x3F, 
                /* 0680 */    0x27, 0x91, 0xF3, 0x1F, 0xA8, 0x04, 0x9E, 0x0B, 
                /* 0688 */    0x40, 0x01, 0xE4, 0xAB, 0x80, 0x95, 0x1E, 0x07, 
                /* 0690 */    0xE8, 0x14, 0x42, 0x84, 0x89, 0x66, 0x78, 0x4C, 
                /* 0698 */    0xF0, 0xD3, 0x17, 0x1D, 0x8F, 0x87, 0xE5, 0xFF, 
                /* 06A0 */    0xFF, 0x20, 0xF9, 0xF1, 0x85, 0x61, 0x3F, 0x9D, 
                /* 06A8 */    0xF8, 0xD4, 0x76, 0x8C, 0xEF, 0x05, 0x8F, 0x5F, 
                /* 06B0 */    0x18, 0x58, 0x0F, 0x9B, 0xC3, 0x1A, 0x2D, 0xEC, 
                /* 06B8 */    0xD1, 0x3E, 0x3E, 0xF8, 0xEA, 0xE1, 0x89, 0xF9, 
                /* 06C0 */    0x16, 0xE7, 0x43, 0x07, 0x58, 0x0E, 0x52, 0xC0, 
                /* 06C8 */    0xE3, 0xFC, 0xC3, 0xE6, 0xF0, 0x02, 0xF1, 0x1C, 
                /* 06D0 */    0xE6, 0x83, 0x07, 0x3B, 0xF1, 0xB1, 0x53, 0x1F, 
                /* 06D8 */    0xD7, 0x75, 0x8E, 0x43, 0x9C, 0x21, 0xF8, 0x20, 
                /* 06E0 */    0x1C, 0x67, 0x91, 0xF2, 0x38, 0x53, 0x72, 0x95, 
                /* 06E8 */    0x7C, 0xE0, 0xA8, 0x1A, 0x45, 0xF0, 0xBE, 0x15, 
                /* 06F0 */    0xB0, 0x08, 0xC7, 0x08, 0x94, 0x78, 0x0A, 0x49, 
                /* 06F8 */    0x3F, 0x46, 0xA0, 0xC4, 0xC2, 0x51, 0x10, 0x1F, 
                /* 0700 */    0x23, 0x7C, 0x90, 0xB0, 0x8D, 0x63, 0x04, 0x6A, 
                /* 0708 */    0x8C, 0x3E, 0x0C, 0xF2, 0xA3, 0x00, 0x3F, 0x45, 
                /* 0710 */    0xC0, 0x3F, 0xF1, 0xE0, 0xC6, 0x0A, 0x77, 0x70, 
                /* 0718 */    0x6C, 0x85, 0x2F, 0x3D, 0x87, 0x76, 0x76, 0x0F, 
                /* 0720 */    0x09, 0x51, 0xDE, 0x5F, 0x8D, 0x18, 0x21, 0x60, 
                /* 0728 */    0xD8, 0x68, 0x1E, 0x23, 0xEE, 0xD8, 0xCE, 0x2E, 
                /* 0730 */    0x45, 0x9E, 0x53, 0xAC, 0x47, 0x25, 0x7E, 0xA4, 
                /* 0738 */    0x80, 0xF7, 0xFF, 0x27, 0xF0, 0x31, 0x0F, 0x77, 
                /* 0740 */    0xA4, 0x80, 0x33, 0x93, 0xF3, 0xC0, 0xA8, 0x1B, 
                /* 0748 */    0x8B, 0xE0, 0x8D, 0xF6, 0x92, 0x8D, 0x3D, 0x58, 
                /* 0750 */    0x00, 0x8F, 0x13, 0xA3, 0x0F, 0x16, 0xE0, 0x3A, 
                /* 0758 */    0x13, 0xF8, 0x60, 0x01, 0x5C, 0xCF, 0x07, 0x3E, 
                /* 0760 */    0x1D, 0x80, 0xF5, 0xF2, 0xC3, 0xEF, 0x07, 0x30, 
                /* 0768 */    0x4E, 0x18, 0x30, 0xCE, 0x07, 0x98, 0x1B, 0x86, 
                /* 0770 */    0xC3, 0x2C, 0x59, 0x27, 0x0C, 0x7E, 0x5C, 0x73, 
                /* 0778 */    0xA4, 0xD5, 0x6A, 0x20, 0xEC, 0x12, 0x86, 0x23, 
                /* 0780 */    0x18, 0x04, 0x4C, 0x27, 0x0B, 0x8F, 0xDA, 0x11, 
                /* 0788 */    0x28, 0x24, 0xED, 0x80, 0x81, 0x12, 0x73, 0xC0, 
                /* 0790 */    0xA0, 0x20, 0x06, 0x74, 0x52, 0x08, 0x9D, 0x45, 
                /* 0798 */    0xFD, 0xFF, 0x3F, 0x60, 0xF0, 0x83, 0x9D, 0x4F, 
                /* 07A0 */    0x0D, 0xEC, 0x72, 0xEB, 0xEB, 0x85, 0xE7, 0xE9, 
                /* 07A8 */    0x29, 0x73, 0x3C, 0x1F, 0x43, 0x0C, 0xEB, 0x8B, 
                /* 07B0 */    0x09, 0x78, 0x6E, 0x14, 0xEC, 0x34, 0x8B, 0xB9, 
                /* 07B8 */    0xB8, 0xB1, 0xB3, 0x1D, 0x3B, 0x15, 0x18, 0xE5, 
                /* 07C0 */    0x70, 0xDF, 0xC0, 0xAC, 0xE6, 0xAA, 0x80, 0x9A, 
                /* 07C8 */    0x11, 0x86, 0xC0, 0xE3, 0xF5, 0x81, 0x11, 0x4C, 
                /* 07D0 */    0xFA, 0x2E, 0x14, 0x20, 0x47, 0xE7, 0x32, 0x47, 
                /* 07D8 */    0x8F, 0x3A, 0x47, 0xF9, 0x24, 0xC5, 0x47, 0xEF, 
                /* 07E0 */    0xA3, 0xB9, 0x4F, 0x2B, 0x70, 0xCF, 0x52, 0x3E, 
                /* 07E8 */    0x42, 0x01, 0xDF, 0x81, 0xF9, 0x52, 0x80, 0x3B, 
                /* 07F0 */    0xA0, 0x80, 0xE1, 0xFA, 0x80, 0xFD, 0xFF, 0xC3, 
                /* 07F8 */    0xBC, 0xA2, 0xE0, 0xCF, 0x28, 0xC0, 0x24, 0xF0, 
                /* 0800 */    0x59, 0x0A, 0x74, 0x90, 0x3E, 0xA3, 0x00, 0xD7, 
                /* 0808 */    0xA1, 0xE2, 0xCE, 0x28, 0xE0, 0x38, 0x10, 0x1E, 
                /* 0810 */    0x3D, 0x3F, 0x47, 0xB1, 0x38, 0xC7, 0x12, 0x74, 
                /* 0818 */    0xA8, 0x97, 0x83, 0x6E, 0x9B, 0xEC, 0x58, 0x82, 
                /* 0820 */    0x8D, 0x72, 0x2C, 0x41, 0x85, 0xA0, 0xD0, 0x09, 
                /* 0828 */    0xCA, 0x27, 0x09, 0x7E, 0xC6, 0xE3, 0x20, 0x06, 
                /* 0830 */    0x74, 0xF6, 0x93, 0x04, 0x5A, 0xC5, 0x49, 0x02, 
                /* 0838 */    0x19, 0xF6, 0x5C, 0x02, 0x84, 0xFE, 0xFF, 0xE7, 
                /* 0840 */    0x12, 0xF0, 0x9E, 0x13, 0x9F, 0x26, 0xC0, 0x35, 
                /* 0848 */    0x6B, 0xFC, 0x69, 0x02, 0x7F, 0x3E, 0x01, 0x16, 
                /* 0850 */    0x47, 0x46, 0xC0, 0xD9, 0x41, 0x90, 0x1F, 0x19, 
                /* 0858 */    0x81, 0xEF, 0xB9, 0x84, 0xFF, 0xFF, 0xCF, 0x25, 
                /* 0860 */    0xE0, 0x19, 0xB6, 0xCF, 0x25, 0x80, 0x93, 0x9B, 
                /* 0868 */    0x34, 0x3F, 0x97, 0xC0, 0x1D, 0xBA, 0xE3, 0x9C, 
                /* 0870 */    0xBE, 0x10, 0x57, 0x58, 0xDF, 0x33, 0xE2, 0x27, 
                /* 0878 */    0x18, 0xE3, 0x58, 0x82, 0x0A, 0x70, 0xF8, 0x02, 
                /* 0880 */    0xB4, 0xFF, 0xFF, 0x4F, 0x23, 0xE0, 0x3F, 0x17, 
                /* 0888 */    0x7B, 0xF4, 0xFC, 0x40, 0xE2, 0x43, 0x06, 0x19, 
                /* 0890 */    0x3D, 0x8D, 0x7C, 0xF8, 0x82, 0x1E, 0xF1, 0x30, 
                /* 0898 */    0x02, 0xB4, 0x07, 0xFA, 0xF0, 0x05, 0xC6, 0xDB, 
                /* 08A0 */    0x03, 0x3F, 0x6E, 0x02, 0xAF, 0xD8, 0x87, 0x12, 
                /* 08A8 */    0xD0, 0xC1, 0xF2, 0x43, 0x09, 0xF8, 0xFF, 0xFF, 
                /* 08B0 */    0x87, 0x12, 0xF0, 0x8C, 0x1E, 0x77, 0xF6, 0x02, 
                /* 08B8 */    0xC7, 0x55, 0xC2, 0x83, 0x37, 0xE0, 0x31, 0x3D, 
                /* 08C0 */    0x16, 0x18, 0x90, 0x9D, 0x4B, 0x98, 0xEC, 0x73, 
                /* 08C8 */    0x09, 0xFA, 0x3C, 0x62, 0xAB, 0xB7, 0x63, 0x72, 
                /* 08D0 */    0x52, 0xC7, 0x08, 0x3F, 0x97, 0xA0, 0x24, 0x9F, 
                /* 08D8 */    0x4B, 0x00, 0xDA, 0x1C, 0xBA, 0xC0, 0xF1, 0xFF, 
                /* 08E0 */    0x3F, 0x74, 0x01, 0x3C, 0xB8, 0x06, 0xFA, 0x40, 
                /* 08E8 */    0x02, 0xAE, 0x7B, 0x82, 0x0F, 0x24, 0xC0, 0xF5, 
                /* 08F0 */    0x28, 0x00, 0x9E, 0x23, 0x08, 0xFE, 0xC8, 0xEC, 
                /* 08F8 */    0x03, 0x3F, 0xEE, 0xA4, 0xEF, 0x53, 0x75, 0x5C, 
                /* 0900 */    0xE3, 0x1F, 0xF1, 0x11, 0xFC, 0xFF, 0x1B, 0x3F, 
                /* 0908 */    0x7D, 0x91, 0x7B, 0x81, 0x8F, 0x25, 0x3A, 0xF0, 
                /* 0910 */    0xA3, 0x04, 0x53, 0x48, 0xEE, 0x01, 0x02, 0x25, 
                /* 0918 */    0x10, 0x8E, 0x82, 0xF8, 0x00, 0xE1, 0xF0, 0xE7, 
                /* 0920 */    0x24, 0xE8, 0x57, 0x4B, 0x7E, 0x7E, 0xC0, 0x5F, 
                /* 0928 */    0x47, 0xD8, 0x28, 0xD9, 0x71, 0x1E, 0x37, 0x4A, 
                /* 0930 */    0xB8, 0x60, 0xAF, 0x0F, 0x86, 0xB8, 0xC3, 0x13, 
                /* 0938 */    0xE1, 0x67, 0x5B, 0xCC, 0x31, 0x1F, 0xEE, 0x51, 
                /* 0940 */    0xE1, 0x51, 0x09, 0x5C, 0xB3, 0x86, 0x75, 0x58, 
                /* 0948 */    0x02, 0x3C, 0x78, 0x38, 0x4C, 0x00, 0xAD, 0xFF, 
                /* 0950 */    0xFF, 0x61, 0x09, 0xFC, 0xB3, 0xE7, 0x83, 0x38, 
                /* 0958 */    0x11, 0x0F, 0x1F, 0x03, 0x74, 0x2C, 0x6F, 0x07, 
                /* 0960 */    0xEC, 0xD8, 0xAB, 0xC3, 0x12, 0x6A, 0x0C, 0x3E, 
                /* 0968 */    0xFA, 0xFA, 0xE8, 0xC4, 0x20, 0x1F, 0x0F, 0x31, 
                /* 0970 */    0xC7, 0x16, 0x76, 0xC2, 0x07, 0xF8, 0xF6, 0xFF, 
                /* 0978 */    0x3F, 0xE1, 0x03, 0xD6, 0xCE, 0x24, 0xBE, 0x3F, 
                /* 0980 */    0x60, 0xAF, 0x2D, 0xF8, 0xA3, 0x09, 0xF0, 0x06, 
                /* 0988 */    0xF7, 0xD1, 0x04, 0x70, 0xF5, 0xFF, 0x3F, 0x9A, 
                /* 0990 */    0xE0, 0x84, 0x9E, 0x9D, 0x50, 0x67, 0x03, 0x1F, 
                /* 0998 */    0x98, 0x6C, 0x14, 0x95, 0x40, 0xBF, 0x69, 0xBC, 
                /* 09A0 */    0x9F, 0x07, 0x31, 0xF4, 0x49, 0xF0, 0x53, 0x13, 
                /* 09A8 */    0x06, 0xC2, 0x47, 0x13, 0x9F, 0x24, 0x7C, 0x9C, 
                /* 09B0 */    0xE0, 0x52, 0xE0, 0x28, 0x88, 0x8F, 0x13, 0x8E, 
                /* 09B8 */    0x79, 0x36, 0x41, 0x9F, 0x0A, 0x7C, 0x3F, 0x38, 
                /* 09C0 */    0x09, 0x6C, 0xA8, 0xF3, 0x04, 0x50, 0x19, 0x07, 
                /* 09C8 */    0xFE, 0xE8, 0x04, 0x57, 0xD8, 0xC9, 0x04, 0x64, 
                /* 09D0 */    0x27, 0x72, 0x60, 0x6E, 0xE2, 0x1C, 0x01, 0x94, 
                /* 09D8 */    0xFE, 0xFF, 0x27, 0x72, 0xE0, 0x70, 0x5A, 0xE5, 
                /* 09E0 */    0xA7, 0x01, 0x7C, 0xA0, 0xA3, 0x2A, 0x3A, 0xD6, 
                /* 09E8 */    0x93, 0x41, 0x23, 0x7E, 0x07, 0x08, 0x77, 0xEA, 
                /* 09F0 */    0xE7, 0xF9, 0x40, 0xC0, 0x8E, 0xE5, 0x3E, 0x2C, 
                /* 09F8 */    0xF1, 0xF3, 0x92, 0x4F, 0x11, 0x3E, 0x41, 0x70, 
                /* 0A00 */    0x49, 0x27, 0x08, 0x0A, 0x62, 0x40, 0xE7, 0x3D, 
                /* 0A08 */    0x5D, 0x7A, 0x10, 0xF4, 0x7C, 0xC3, 0x8F, 0xC5, 
                /* 0A10 */    0xBE, 0xB6, 0x1C, 0xC5, 0x23, 0x51, 0x82, 0xF9, 
                /* 0A18 */    0x0E, 0x01, 0xF4, 0xB6, 0x04, 0x4F, 0xDE, 0x6D, 
                /* 0A20 */    0x09, 0x44, 0x18, 0x77, 0x72, 0x16, 0x0C, 0xE1, 
                /* 0A28 */    0x28, 0x7D, 0x80, 0x80, 0x31, 0xC0, 0xC7, 0x84, 
                /* 0A30 */    0x62, 0xDF, 0x37, 0xF4, 0xBE, 0x04, 0xF3, 0x8A, 
                /* 0A38 */    0x09, 0xAE, 0xF3, 0x12, 0x30, 0x9E, 0x89, 0xFF, 
                /* 0A40 */    0xFF, 0x3E, 0xCF, 0x21, 0xE4, 0x02, 0xC0, 0x4F, 
                /* 0A48 */    0xE5, 0x60, 0x39, 0x36, 0x80, 0x67, 0x1C, 0xEC, 
                /* 0A50 */    0x0A, 0x80, 0x3F, 0x32, 0xC1, 0x3E, 0x35, 0xE2, 
                /* 0A58 */    0x8E, 0x4C, 0x60, 0x98, 0x08, 0x3B, 0xE7, 0x1C, 
                /* 0A60 */    0x08, 0xF6, 0x60, 0x02, 0xBC, 0x55, 0x1C, 0x4C, 
                /* 0A68 */    0x00, 0x2D, 0xC3, 0x0D, 0x72, 0x3E, 0x8F, 0xE4, 
                /* 0A70 */    0xC6, 0x79, 0xC3, 0xF3, 0x89, 0x84, 0x9D, 0xC4, 
                /* 0A78 */    0xD9, 0xFF, 0xFF, 0x60, 0xC2, 0x25, 0x41, 0x48, 
                /* 0A80 */    0xFE, 0x61, 0x09, 0x89, 0x8D, 0x9D, 0xFE, 0x39, 
                /* 0A88 */    0xBC, 0xB9, 0x32, 0x82, 0x62, 0x8F, 0x4B, 0xA8, 
                /* 0A90 */    0xC3, 0x84, 0x45, 0x9E, 0x26, 0x50, 0xA7, 0x69, 
                /* 0A98 */    0x9F, 0x90, 0xC9, 0x69, 0x82, 0x46, 0x3E, 0x4D, 
                /* 0AA0 */    0xA0, 0x87, 0xE6, 0x89, 0x9D, 0x06, 0x6E, 0xDC, 
                /* 0AA8 */    0xA7, 0xC1, 0x6F, 0x87, 0xFC, 0xC0, 0x04, 0x7C, 
                /* 0AB0 */    0x0F, 0x0F, 0xF8, 0xD3, 0x04, 0xEC, 0xF3, 0x0D, 
                /* 0AB8 */    0x1B, 0x74, 0xC8, 0x77, 0x87, 0x17, 0x59, 0x1F, 
                /* 0AC0 */    0x26, 0x80, 0xF9, 0xC8, 0x7D, 0x98, 0x00, 0xFF, 
                /* 0AC8 */    0xFF, 0xFF, 0xD0, 0x04, 0x5C, 0x15, 0xDA, 0xF4, 
                /* 0AD0 */    0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA, 
                /* 0AD8 */    0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0xA4, 
                /* 0AE0 */    0x9D, 0x54, 0xBD, 0x54, 0x8D, 0xD5, 0x91, 0x9E, 
                /* 0AE8 */    0x0B, 0x02, 0x71, 0xD4, 0x05, 0x0B, 0xC4, 0xD1, 
                /* 0AF0 */    0x9F, 0x40, 0x02, 0xB1, 0xB8, 0x57, 0x88, 0x40, 
                /* 0AF8 */    0x2C, 0xF5, 0x05, 0x21, 0x10, 0xCB, 0xD4, 0x01, 
                /* 0B00 */    0xC2, 0x82, 0xBC, 0xEF, 0x05, 0xE2, 0x60, 0x52, 
                /* 0B08 */    0x06, 0x40, 0xAD, 0x80, 0xB0, 0x78, 0xCB, 0x12, 
                /* 0B10 */    0x88, 0x23, 0x9A, 0x39, 0x01, 0x50, 0x37, 0x20, 
                /* 0B18 */    0x4C, 0xA0, 0x1E, 0x10, 0x26, 0xDC, 0x10, 0x08, 
                /* 0B20 */    0x8B, 0xA3, 0x08, 0x84, 0x09, 0xB6, 0x04, 0xC2, 
                /* 0B28 */    0xE2, 0x82, 0x50, 0xC1, 0x9E, 0x8E, 0xFD, 0x4C, 
                /* 0B30 */    0x3E, 0x88, 0x80, 0x1C, 0xDA, 0x14, 0x10, 0x93, 
                /* 0B38 */    0xA0, 0x0A, 0x88, 0x25, 0x78, 0x0C, 0x08, 0xC8, 
                /* 0B40 */    0x71, 0x40, 0x04, 0xE4, 0x50, 0xB6, 0x80, 0x58, 
                /* 0B48 */    0x44, 0x10, 0x01, 0x59, 0xCF, 0x1B, 0x4E, 0x40, 
                /* 0B50 */    0x16, 0x07, 0x22, 0x20, 0x8B, 0x36, 0x06, 0xC4, 
                /* 0B58 */    0x22, 0x80, 0x08, 0xC8, 0xC9, 0x5E, 0x70, 0x81, 
                /* 0B60 */    0x48, 0x4C, 0x10, 0x01, 0x39, 0xEC, 0x8A, 0x05, 
                /* 0B68 */    0xE4, 0xE8, 0x20, 0x02, 0xB2, 0x4E, 0x6F, 0x40, 
                /* 0B70 */    0x4C, 0x34, 0x88, 0x80, 0x2C, 0xFE, 0xB1, 0x21, 
                /* 0B78 */    0x20, 0x47, 0x01, 0x11, 0x90, 0x03, 0x3E, 0x28, 
                /* 0B80 */    0x02, 0x91, 0xB8, 0x20, 0x02, 0xB2, 0x46, 0x7B, 
                /* 0B88 */    0x40, 0x4C, 0x30, 0x88, 0x80, 0x2C, 0xFB, 0x07, 
                /* 0B90 */    0x25, 0x20, 0x87, 0x00, 0xD1, 0x00, 0xC9, 0xEB, 
                /* 0B98 */    0x40, 0x03, 0x24, 0xBF, 0x89, 0x40, 0x44, 0xE2, 
                /* 0BA0 */    0xAB, 0x22, 0x10, 0xD1, 0x0B, 0x22, 0x20, 0xFF, 
                /* 0BA8 */    0xFF, 0xA5, 0xFF, 0x38, 0x04, 0xE4, 0x20, 0x20, 
                /* 0BB0 */    0x02, 0x26, 0x1A, 0x81, 0xE9, 0x0B, 0x21, 0x10, 
                /* 0BB8 */    0xF9, 0xFF, 0x03
            })
            Name (_HID, EisaId ("PNP0C14"))
            Name (_UID, Zero)
            Name (_WDG, Buffer (0x28)
            {
                /* 0000 */    0x6A, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11, 
                /* 0008 */    0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00, 
                /* 0010 */    0x41, 0x41, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05, 
                /* 0018 */    0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0, 
                /* 0020 */    0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00
            })
            Method (WMAA, 3, NotSerialized)
            {
                If (LEqual (Arg0, Zero))
                {
                    If (LOr (LOr (LNotEqual (Arg1, One), LNotEqual (Arg1, 
                        0x02)), LNotEqual (Arg1, 0x06)))
                    {
                        CreateDWordField (Arg2, Zero, WIID)
                    }

                    If (LEqual (Arg1, One))
                    {
                        Return (AM01 ())
                    }
                    Else
                    {
                        If (LEqual (Arg1, 0x02))
                        {
                            Return (AM02 ())
                        }
                        Else
                        {
                            If (LEqual (Arg1, 0x03))
                            {
                                Return (AM03 (WIID))
                            }
                            Else
                            {
                                If (LEqual (Arg1, 0x04))
                                {
                                    CreateDWordField (Arg2, 0x04, IVAL)
                                    Return (AM04 (WIID, IVAL))
                                }
                                Else
                                {
                                    If (LEqual (Arg1, 0x05))
                                    {
                                        Return (AM05 (WIID))
                                    }
                                    Else
                                    {
                                        If (LEqual (Arg1, 0x06))
                                        {
                                            Return (AM06 ())
                                        }
                                        Else
                                        {
                                            If (LEqual (Arg1, 0x07))
                                            {
                                                AM07 (Arg2)
                                            }
                                            Else
                                            {
                                                If (LEqual (Arg1, 0x08))
                                                {
                                                    AM08 (WIID)
                                                }
                                                Else
                                                {
                                                    If (LEqual (Arg1, 0x09))
                                                    {
                                                        Return (AM09 ())
                                                    }
                                                    Else
                                                    {
                                                        If (LEqual (Arg1, 0x0A))
                                                        {
                                                            Return (AM10 (Arg2))
                                                        }
                                                        Else
                                                        {
                                                            If (LEqual (Arg1, 
0x0B))
                                                            {
                                                                Return (AM11 ())
                                                            }
                                                            Else
                                                            {
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }

    Name (QLST, Package (0x09)
    {
        0x08, 
        Package (0x05)
        {
            0x262E, 
            "Memory Clock Mode", 
            Zero, 
            0x03, 
            Package (0x03)
            {
                Buffer (0x05)
                {
                    "Auto"
                }, 

                Buffer (0x06)
                {
                    "Limit"
                }, 

                Buffer (0x07)
                {
                    "Manual"
                }
            }
        }, 

        Package (0x06)
        {
            0x34DD, 
            "Memclock Value", 
            One, 
            Buffer (0x05)
            {
                0x02, 0x00, 0x01, 0x03, 0x00
            }, 

            0x08, 
            Package (0x08)
            {
                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "400"
                }, 

                Buffer (0x04)
                {
                    "533"
                }, 

                Buffer (0x04)
                {
                    "667"
                }, 

                Buffer (0x04)
                {
                    "800"
                }, 

                Buffer (0x05)
                {
                    "Auto"
                }
            }
        }, 

        Package (0x05)
        {
            0x2636, 
            "DRAM Timing Mode", 
            Zero, 
            0x04, 
            Package (0x04)
            {
                Buffer (0x05)
                {
                    "Auto"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x05)
                {
                    "Both"
                }
            }
        }, 

        Package (0x07)
        {
            0x454C, 
            "DCT0 CAS Latency (CL)", 
            0x02, 
            Buffer (0x05)
            {
                0x02, 0x00, 0x03, 0x03, 0x00
            }, 

            Buffer (0x05)
            {
                0x02, 0x02, 0x03, 0x03, 0x00
            }, 

            0x10, 
            Package (0x10)
            {
                Buffer (0x05)
                {
                    "Auto"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x06)
                {
                    "4 CLK"
                }, 

                Buffer (0x06)
                {
                    "5 CLK"
                }, 

                Buffer (0x06)
                {
                    "6 CLK"
                }, 

                Buffer (0x06)
                {
                    "7 CLK"
                }, 

                Buffer (0x06)
                {
                    "8 CLK"
                }, 

                Buffer (0x06)
                {
                    "9 CLK"
                }, 

                Buffer (0x07)
                {
                    "10 CLK"
                }, 

                Buffer (0x07)
                {
                    "11 CLK"
                }, 

                Buffer (0x07)
                {
                    "12 CLK"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }
            }
        }, 

        Package (0x07)
        {
            0x454C, 
            "DCT1 CAS Latency (CL)", 
            0x02, 
            Buffer (0x05)
            {
                0x02, 0x00, 0x03, 0x03, 0x00
            }, 

            Buffer (0x05)
            {
                0x02, 0x01, 0x03, 0x03, 0x00
            }, 

            0x10, 
            Package (0x10)
            {
                Buffer (0x05)
                {
                    "Auto"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x06)
                {
                    "4 CLK"
                }, 

                Buffer (0x06)
                {
                    "5 CLK"
                }, 

                Buffer (0x06)
                {
                    "6 CLK"
                }, 

                Buffer (0x06)
                {
                    "7 CLK"
                }, 

                Buffer (0x06)
                {
                    "8 CLK"
                }, 

                Buffer (0x06)
                {
                    "9 CLK"
                }, 

                Buffer (0x07)
                {
                    "10 CLK"
                }, 

                Buffer (0x07)
                {
                    "11 CLK"
                }, 

                Buffer (0x07)
                {
                    "12 CLK"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }, 

                Buffer (0x04)
                {
                    "rvd"
                }
            }
        }, 

        Package (0x05)
        {
            0x3633, 
            "NB FID Control", 
            Zero, 
            0x02, 
            Package (0x02)
            {
                Buffer (0x07)
                {
                    "Manual"
                }, 

                Buffer (0x05)
                {
                    "Auto"
                }
            }
        }, 

        Package (0x05)
        {
            0x5498, 
            "NBFID ID", 
            Zero, 
            0x21, 
            Package (0x21)
            {
                Buffer (0x05)
                {
                    "Auto"
                }, 

                Buffer (0x02)
                {
                    "4"
                }, 

                Buffer (0x02)
                {
                    "5"
                }, 

                Buffer (0x02)
                {
                    "6"
                }, 

                Buffer (0x02)
                {
                    "7"
                }, 

                Buffer (0x02)
                {
                    "8"
                }, 

                Buffer (0x02)
                {
                    "9"
                }, 

                Buffer (0x03)
                {
                    "10"
                }, 

                Buffer (0x03)
                {
                    "11"
                }, 

                Buffer (0x03)
                {
                    "12"
                }, 

                Buffer (0x03)
                {
                    "13"
                }, 

                Buffer (0x03)
                {
                    "14"
                }, 

                Buffer (0x03)
                {
                    "15"
                }, 

                Buffer (0x03)
                {
                    "16"
                }, 

                Buffer (0x03)
                {
                    "17"
                }, 

                Buffer (0x03)
                {
                    "18"
                }, 

                Buffer (0x03)
                {
                    "19"
                }, 

                Buffer (0x03)
                {
                    "20"
                }, 

                Buffer (0x03)
                {
                    "21"
                }, 

                Buffer (0x03)
                {
                    "22"
                }, 

                Buffer (0x03)
                {
                    "23"
                }, 

                Buffer (0x03)
                {
                    "24"
                }, 

                Buffer (0x03)
                {
                    "25"
                }, 

                Buffer (0x03)
                {
                    "26"
                }, 

                Buffer (0x03)
                {
                    "27"
                }, 

                Buffer (0x03)
                {
                    "28"
                }, 

                Buffer (0x03)
                {
                    "29"
                }, 

                Buffer (0x03)
                {
                    "30"
                }, 

                Buffer (0x03)
                {
                    "31"
                }, 

                Buffer (0x03)
                {
                    "32"
                }, 

                Buffer (0x03)
                {
                    "33"
                }, 

                Buffer (0x03)
                {
                    "34"
                }, 

                Buffer (0x03)
                {
                    "35"
                }
            }
        }, 

        Package (0x05)
        {
            0x179B, 
            "DDR3 Memory Profile", 
            Zero, 
            0x02, 
            Package (0x02)
            {
                Buffer (0x09)
                {
                    "Disabled"
                }, 

                Buffer (0x08)
                {
                    "Enabled"
                }
            }
        }
    })
    Name (_S0, Package (0x04)
    {
        Zero, 
        Zero, 
        Zero, 
        Zero
    })
    If (SS1)
    {
        Name (_S1, Package (0x04)
        {
            One, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS3)
    {
        Name (_S3, Package (0x04)
        {
            0x03, 
            Zero, 
            Zero, 
            Zero
        })
    }

    If (SS4)
    {
        Name (_S4, Package (0x04)
        {
            0x04, 
            Zero, 
            Zero, 
            Zero
        })
    }

    Name (_S5, Package (0x04)
    {
        0x05, 
        Zero, 
        Zero, 
        Zero
    })
    Method (PTS, 1, NotSerialized)
    {
        If (Arg0)
        {
            \_SB.PCI0.SBRG.SIOS (Arg0)
            SPTS (Arg0)
            NPTS (Arg0)
            NB2S (Arg0)
        }
    }

    Method (WAK, 1, NotSerialized)
    {
        \_SB.PCI0.SBRG.SIOW (Arg0)
        SWAK (Arg0)
        NWAK (Arg0)
        NB2W (Arg0)
        \_SB.PCI0.SBRG.ASOC.RDAT (Arg0)
    }

    Scope (\_PR.P001)
    {
        Name (_PCT, Package (0x02)
        {
            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x00000000C0010062, // Address
                    ,)
            }, 

            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x0000000000000000, // Address
                    ,)
            }
        })
        Name (_PSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                0x00000000, 
                0x00000000
            }, 

            Package (0x06)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                0x00000001, 
                0x00000001
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                0x00000002, 
                0x00000002
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                0x00000003, 
                0x00000003
            }
        })
        Name (XPSS, Package (0x04)
        {
            Package (0x08)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }
        })
        Name (_PSD, Package (0x01)
        {
            Package (0x05)
            {
                0x05, 
                0x00, 
                0x00000000, 
                0x000000FC, 
                0x00000006
            }
        })
        Name (_PPC, 0x00)
        Name (_CST, Package (0x02)
        {
            One, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000814, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x4B, 
                One
            }
        })
    }

    Scope (\_PR.P002)
    {
        Name (_PCT, Package (0x02)
        {
            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x00000000C0010062, // Address
                    ,)
            }, 

            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x0000000000000000, // Address
                    ,)
            }
        })
        Name (_PSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                0x00000000, 
                0x00000000
            }, 

            Package (0x06)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                0x00000001, 
                0x00000001
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                0x00000002, 
                0x00000002
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                0x00000003, 
                0x00000003
            }
        })
        Name (XPSS, Package (0x04)
        {
            Package (0x08)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }
        })
        Name (_PSD, Package (0x01)
        {
            Package (0x05)
            {
                0x05, 
                0x00, 
                0x00000000, 
                0x000000FC, 
                0x00000006
            }
        })
        Name (_PPC, 0x00)
        Name (_CST, Package (0x02)
        {
            One, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000814, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x4B, 
                One
            }
        })
    }

    Scope (\_PR.P003)
    {
        Name (_PCT, Package (0x02)
        {
            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x00000000C0010062, // Address
                    ,)
            }, 

            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x0000000000000000, // Address
                    ,)
            }
        })
        Name (_PSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                0x00000000, 
                0x00000000
            }, 

            Package (0x06)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                0x00000001, 
                0x00000001
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                0x00000002, 
                0x00000002
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                0x00000003, 
                0x00000003
            }
        })
        Name (XPSS, Package (0x04)
        {
            Package (0x08)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }
        })
        Name (_PSD, Package (0x01)
        {
            Package (0x05)
            {
                0x05, 
                0x00, 
                0x00000000, 
                0x000000FC, 
                0x00000006
            }
        })
        Name (_PPC, 0x00)
        Name (_CST, Package (0x02)
        {
            One, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000814, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x4B, 
                One
            }
        })
    }

    Scope (\_PR.P004)
    {
        Name (_PCT, Package (0x02)
        {
            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x00000000C0010062, // Address
                    ,)
            }, 

            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x0000000000000000, // Address
                    ,)
            }
        })
        Name (_PSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                0x00000000, 
                0x00000000
            }, 

            Package (0x06)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                0x00000001, 
                0x00000001
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                0x00000002, 
                0x00000002
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                0x00000003, 
                0x00000003
            }
        })
        Name (XPSS, Package (0x04)
        {
            Package (0x08)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }
        })
        Name (_PSD, Package (0x01)
        {
            Package (0x05)
            {
                0x05, 
                0x00, 
                0x00000000, 
                0x000000FC, 
                0x00000006
            }
        })
        Name (_PPC, 0x00)
        Name (_CST, Package (0x02)
        {
            One, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000814, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x4B, 
                One
            }
        })
    }

    Scope (\_PR.P005)
    {
        Name (_PCT, Package (0x02)
        {
            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x00000000C0010062, // Address
                    ,)
            }, 

            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x0000000000000000, // Address
                    ,)
            }
        })
        Name (_PSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                0x00000000, 
                0x00000000
            }, 

            Package (0x06)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                0x00000001, 
                0x00000001
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                0x00000002, 
                0x00000002
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                0x00000003, 
                0x00000003
            }
        })
        Name (XPSS, Package (0x04)
        {
            Package (0x08)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }
        })
        Name (_PSD, Package (0x01)
        {
            Package (0x05)
            {
                0x05, 
                0x00, 
                0x00000000, 
                0x000000FC, 
                0x00000006
            }
        })
        Name (_PPC, 0x00)
        Name (_CST, Package (0x02)
        {
            One, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000814, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x4B, 
                One
            }
        })
    }

    Scope (\_PR.P006)
    {
        Name (_PCT, Package (0x02)
        {
            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x00000000C0010062, // Address
                    ,)
            }, 

            ResourceTemplate ()
            {
                Register (FFixedHW, 
                    0x40,               // Bit Width
                    0x00,               // Bit Offset
                    0x0000000000000000, // Address
                    ,)
            }
        })
        Name (_PSS, Package (0x04)
        {
            Package (0x06)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                0x00000000, 
                0x00000000
            }, 

            Package (0x06)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                0x00000001, 
                0x00000001
            }, 

            Package (0x06)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                0x00000002, 
                0x00000002
            }, 

            Package (0x06)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                0x00000003, 
                0x00000003
            }
        })
        Name (XPSS, Package (0x04)
        {
            Package (0x08)
            {
                0x00000C80, 
                0x00004EB6, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000960, 
                0x00003A45, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000640, 
                0x00002904, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }, 

            Package (0x08)
            {
                0x00000320, 
                0x000018D8, 
                0x00000004, 
                0x00000004, 
                Buffer (0x08)
                {
                    /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }, 

                Buffer (0x08)
                {
                    /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                }
            }
        })
        Name (_PSD, Package (0x01)
        {
            Package (0x05)
            {
                0x05, 
                0x00, 
                0x00000000, 
                0x000000FC, 
                0x00000006
            }
        })
        Name (_PPC, 0x00)
        Name (_CST, Package (0x02)
        {
            One, 
            Package (0x04)
            {
                ResourceTemplate ()
                {
                    Register (SystemIO, 
                        0x08,               // Bit Width
                        0x00,               // Bit Offset
                        0x0000000000000814, // Address
                        0x01,               // Access Size
                        )
                }, 

                0x02, 
                0x4B, 
                One
            }
        })
    }
}

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.33 (GENERIC) #0: Wed Jun 30 18:00:57 MEST 2010
        ws%ws.solfrank.net@localhost:/src/obj/sys/arch/amd64/compile/GENERIC
total memory = 8189 MB
avail memory = 7923 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
System manufacturer System Product Name (System Version)
mainbus0 (root)
mainbus0: Intel MP Specification (Version 1.4) (TEMPLATE             )
cpu0 at mainbus0 apid 0: AMD 686-class, 3211MHz, id 0x100fa0
cpu1 at mainbus0 apid 1: AMD 686-class, 3211MHz, id 0x100fa0
cpu2 at mainbus0 apid 2: AMD 686-class, 3211MHz, id 0x100fa0
cpu3 at mainbus0 apid 3: AMD 686-class, 3211MHz, id 0x100fa0
cpu4 at mainbus0 apid 4: AMD 686-class, 3211MHz, id 0x100fa0
cpu5 at mainbus0 apid 5: AMD 686-class, 3211MHz, id 0x100fa0
mpbios: bus 0 is type PCI   
mpbios: bus 1 is type PCI   
mpbios: bus 2 is type PCI   
mpbios: bus 3 is type PCI   
mpbios: bus 4 is type PCI   
mpbios: bus 5 is type PCI   
mpbios: bus 6 is type PCI   
mpbios: bus 7 is type ISA   
ioapic0 at mainbus0 apid 6: pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0 apid 7: pa 0xfec20000, version 21, 32 pins
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x1002 product 0x5a11 (rev. 0x02)
ppb0 at pci0 dev 2 function 0: vendor 0x1002 product 0x5a16 (rev. 0x00)
ppb0: unsupported PCI Express version
pci1 at ppb0 bus 6
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
vga0 at pci1 dev 0 function 0: vendor 0x1002 product 0x954f (rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
radeondrm0 at vga0: ATI Radeon HD 4350
radeondrm0: Initialized radeon 1.29.0 20080613
hdaudio0 at pci1 dev 0 function 1: HD Audio Controller
hdaudio0: interrupting at ioapic1 pin 1
hdafg0 at hdaudio0 vendor 0x1002 product 0xAA01 nid 0x01 (firmware 
configuration)
hdafg0: DAC0:02, Digital Digital Other Out: Jack (Unknown, 03)
hdafg0: 2ch/0ch 32000Hz-48000Hz 16/16
audio0 at hdafg0: half duplex, playback
ppb1 at pci0 dev 4 function 0: vendor 0x1002 product 0x5a18 (rev. 0x00)
ppb1: unsupported PCI Express version
pci2 at ppb1 bus 5
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
jmide0 at pci2 dev 0 function 0: vendor 0x197b product 0x2361
jmide0: 1 PATA port, 1 SATA port
jmide0: interrupting at ioapic1 pin 20
ahcisata0 at jmide0
ahcisata0: AHCI revision 1.0, 2 ports, 32 command slots, features 0xc722e000
atabus0 at ahcisata0 channel 0
atabus1 at ahcisata0 channel 1
jmide0: PCI IDE interface used
jmide0: bus-master DMA support present
jmide0: primary channel wired to native-PCI mode
jmide0: primary channel is unused
jmide0: secondary channel wired to native-PCI mode
jmide0: secondary channel is PATA
atabus2 at jmide0 channel 1
ppb2 at pci0 dev 5 function 0: vendor 0x1002 product 0x5a19 (rev. 0x00)
ppb2: unsupported PCI Express version
pci3 at ppb2 bus 4
pci3: i/o space, memory space enabled, rd/line, wr/inv ok
fwohci0 at pci3 dev 0 function 0: vendor 0x1106 product 0x3403 (rev. 0x00)
fwohci0: interrupting at ioapic1 pin 22
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:1e:8c:00:00:2f:0a:f2
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
ppb3 at pci0 dev 6 function 0: vendor 0x1002 product 0x5a1a (rev. 0x00)
ppb3: unsupported PCI Express version
pci4 at ppb3 bus 3
pci4: i/o space, memory space enabled, rd/line, wr/inv ok
re0 at pci4 dev 0 function 0: RealTek 8168/8111 PCIe Gigabit Ethernet (rev. 
0x06)
re0: interrupting at ioapic1 pin 27
re0: Unknown revision (0x2c000000)
re0: Ethernet address 48:5b:39:b3:c5:68
re0: using 256 tx descriptors
rgephy0 at re0 phy 7: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 4
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ppb4 at pci0 dev 7 function 0: vendor 0x1002 product 0x5a1b (rev. 0x00)
ppb4: unsupported PCI Express version
pci5 at ppb4 bus 2
pci5: memory space enabled, rd/line, wr/inv ok
vendor 0x1033 product 0x0194 (USB serial bus, interface 0x30, revision 0x03) at 
pci5 dev 0 function 0 not configured
ahcisata1 at pci0 dev 17 function 0: vendor 0x1002 product 0x4391
ahcisata1: interrupting at ioapic0 pin 19
ahcisata1: AHCI revision 1.2, 6 ports, 32 command slots, features 0xf732e000
atabus3 at ahcisata1 channel 0
atabus4 at ahcisata1 channel 1
atabus5 at ahcisata1 channel 2
atabus6 at ahcisata1 channel 3
atabus7 at ahcisata1 channel 4
atabus8 at ahcisata1 channel 5
ohci0 at pci0 dev 18 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci0: interrupting at ioapic0 pin 18
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ehci0 at pci0 dev 18 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci0: interrupting at ioapic0 pin 17
ehci0: dropped intr workaround enabled
ehci0: EHCI version 1.0
ehci0: companion controller, 5 ports each: ohci0
usb1 at ehci0: USB revision 2.0
ohci1 at pci0 dev 19 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci1: interrupting at ioapic0 pin 18
ohci1: OHCI version 1.0, legacy support
usb2 at ohci1: USB revision 1.0
ehci1 at pci0 dev 19 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci1: interrupting at ioapic0 pin 17
ehci1: dropped intr workaround enabled
ehci1: EHCI version 1.0
ehci1: companion controller, 5 ports each: ohci1
usb3 at ehci1: USB revision 2.0
piixpm0 at pci0 dev 20 function 0
piixpm0: vendor 0x1002 product 0x4385 (rev. 0x41)
piixpm0: SMBus disabled
hdaudio1 at pci0 dev 20 function 2: HD Audio Controller
hdaudio1: interrupting at ioapic0 pin 16
hdafg1 at hdaudio1 vendor 0x10EC product 0x0892 nid 0x01 (firmware 
configuration)
hdafg1: DAC0:02, Analog Speaker: Jack (Green, 14)
hdafg1: DAC0:04, Analog Speaker: Jack (Orange, 16)
hdafg1: DAC0:03, Analog Speaker: Jack (Black, 15)
hdafg1: DAC0:05, Analog Speaker: Jack (Grey, 17)
hdafg1: DAC1:25, Analog HP Out: Jack (Green, 1B)
hdafg1: DAC2:06, Digital SPDIF Out: Jack (Orange, 1E)
hdafg1: DAC3:10, Digital SPDIF Out: Fixed Function (Unknown, 11)
hdafg1: ADC4:08, Analog Mic In: Jack (Pink, 18)
hdafg1: ADC4:08, Analog Line In: Jack (Blue, 1A)
hdafg1: ADC5:09, Analog Mic In: Jack (Pink, 19)
hdafg1: 8ch/2ch 32000Hz-192000Hz 16/16 20/32 24/32
audio1 at hdafg1: full duplex, playback, capture, independent
pcib0 at pci0 dev 20 function 3: vendor 0x1002 product 0x439d (rev. 0x40)
ppb5 at pci0 dev 20 function 4: vendor 0x1002 product 0x4384 (rev. 0x40)
pci6 at ppb5 bus 1
pci6: i/o space, memory space enabled
ahc0 at pci6 dev 5 function 0: Adaptec 2940 Ultra2 SCSI adapter
ahc0: interrupting at ioapic0 pin 20
ahc0: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
scsibus0 at ahc0: 16 targets, 8 luns per target
ohci2 at pci0 dev 20 function 5: vendor 0x1002 product 0x4399 (rev. 0x00)
ohci2: interrupting at ioapic0 pin 18
ohci2: OHCI version 1.0, legacy support
usb4 at ohci2: USB revision 1.0
ohci3 at pci0 dev 22 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci3: interrupting at ioapic0 pin 18
ohci3: OHCI version 1.0, legacy support
usb5 at ohci3: USB revision 1.0
ehci2 at pci0 dev 22 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci2: interrupting at ioapic0 pin 17
ehci2: dropped intr workaround enabled
ehci2: EHCI version 1.0
ehci2: companion controller, 4 ports each: ohci3
usb6 at ehci2: USB revision 2.0
pchb1 at pci0 dev 24 function 0: vendor 0x1022 product 0x1200 (rev. 0x00)
pchb2 at pci0 dev 24 function 1: vendor 0x1022 product 0x1201 (rev. 0x00)
pchb3 at pci0 dev 24 function 2: vendor 0x1022 product 0x1202 (rev. 0x00)
amdtemp0 at pci0 dev 24 function 3: AMD CPU Temperature Sensors (Family10h / 
Family11h)
pchb4 at pci0 dev 24 function 4: vendor 0x1022 product 0x1204 (rev. 0x00)
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
attimer0 at isa0 port 0x40-0x43
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker
sysbeep0 at pcppi0
attimer0: attached to pcppi0
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
ieee1394if0: bus manager 0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 3211345400 Hz quality 3000
scsibus0: waiting 2 seconds for devices to settle...
uhub0 at usb1: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub0: 5 ports with 5 removable, self powered
uhub1 at usb0: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 5 ports with 5 removable, self powered
uhub2 at usb3: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 5 ports with 5 removable, self powered
uhub3 at usb2: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 5 ports with 5 removable, self powered
uhub4 at usb4: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 2 ports with 2 removable, self powered
uhub5 at usb5: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub5: 4 ports with 4 removable, self powered
uhub6 at usb6: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub6: 4 ports with 4 removable, self powered
ahcisata1 port 0: device present, speed: 3.0Gb/s
ahcisata1 port 2: device present, speed: 3.0Gb/s
ahcisata1 port 1: device present, speed: 3.0Gb/s
ahcisata1 port 3: device present, speed: 3.0Gb/s
atapibus0 at atabus2: 2 targets
cd0 at atapibus0 drive 0: <PIONEER BD-RW   BDR-101A, FGTP000668WL, 1.01> cdrom 
removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
cd0(jmide0:1:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)
wd0 at atabus3 drive 0: <SAMSUNG HE502IJ>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd0(ahcisata1:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd1 at atabus4 drive 0: <SAMSUNG HE502IJ>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd1(ahcisata1:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd2 at atabus5 drive 0: <SAMSUNG HE502IJ>
wd2: drive supports 16-sector PIO transfers, LBA48 addressing
wd2: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd2: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd2(ahcisata1:2:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd3 at atabus6 drive 0: <SAMSUNG HE502IJ>
wd3: drive supports 16-sector PIO transfers, LBA48 addressing
wd3: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd3: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd3(ahcisata1:3:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
uhub7 at uhub2 port 1: vendor 0x0424 product 0x2502, class 9/0, rev 2.00/0.01, 
addr 2
uhub7: single transaction translator
uhub7: 2 ports with 0 removable, self powered
uhidev0 at uhub1 port 5 configuration 1 interface 0
uhidev0: A4Tech Wireless Battery Free Optical Mouse, rev 2.00/0.01, addr 2, 
iclass 3/1
ums0 at uhidev0: 8 buttons and Z dir
wsmouse0 at ums0 mux 0
uhub8 at uhub7 port 1: vendor 0x0424 product 0x2504, class 9/0, rev 2.00/0.01, 
addr 3
uhub8: multiple transaction translators
uhub8: 4 ports with 4 removable, self powered
umass0 at uhub7 port 2 configuration 1 interface 0
umass0: SMSC USB2223, rev 2.00/3.60, addr 4
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, 4 luns per target
sd0 at scsibus1 target 0 lun 0: <SMSC, 223 U HS-CF, 3.60> disk removable
sd0: drive offline
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd0: unable to open device, error = 19
sd1 at scsibus1 target 0 lun 1: <SMSC, 223 U HS-MS, 3.60> disk removable
sd1: drive offline
sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1: unable to open device, error = 19
sd2 at scsibus1 target 0 lun 2: <SMSC, 223 U HS-SM, 3.60> disk removable
sd2: drive offline
sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2: unable to open device, error = 19
sd3 at scsibus1 target 0 lun 3: <SMSC, 223 U HS-SD/MMC, 3.60> disk removable
sd3: drive offline
sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3: unable to open device, error = 19
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio2 at pad0: half duplex, playback, capture
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

raid0: RAID Level 1
raid0: Components: /dev/wd0a /dev/wd1a
raid0: Total Sectors: 134217664 (65535 MB)
raid1: RAID Level 1
raid1: Components: /dev/wd2a /dev/wd3a
raid1: Total Sectors: 134217664 (65535 MB)
raid2: RAID Level 5
raid2: Components: /dev/wd0e /dev/wd1e /dev/wd2e /dev/wd3e
raid2: Total Sectors: 2527665792 (1234211 MB)
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

boot device: raid0
root on raid0a dumps on raid0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.33 (GENERIC) #0: Wed Jun 30 18:00:57 MEST 2010
        ws%ws.solfrank.net@localhost:/src/obj/sys/arch/amd64/compile/GENERIC
total memory = 8189 MB
avail memory = 7923 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
System manufacturer System Product Name (System Version)
mainbus0 (root)
cpu0 at mainbus0 apid 0: AMD 686-class, 3210MHz, id 0x100fa0
cpu1 at mainbus0 apid 1: AMD 686-class, 3210MHz, id 0x100fa0
cpu2 at mainbus0 apid 2: AMD 686-class, 3210MHz, id 0x100fa0
cpu3 at mainbus0 apid 3: AMD 686-class, 3210MHz, id 0x100fa0
cpu4 at mainbus0 apid 4: AMD 686-class, 3210MHz, id 0x100fa0
cpu5 at mainbus0 apid 5: AMD 686-class, 3210MHz, id 0x100fa0
ioapic0 at mainbus0 apid 6: pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0 apid 7: pa 0xfec20000, version 21, 32 pins
acpi0 at mainbus0: Intel ACPICA 20100528
acpi0: X/RSDT: OemId <041310,XSDT1637,20100413>, AslId <MSFT,00000097>
ACPI Error (dswload-0772): [PCI0] Namespace lookup failure, AE_NOT_FOUND
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20100528/psloop-326)
ACPI Error (psparse-0633): Method parse/execution failed [\] (Node 
0xffffffff80d84e20), AE_NOT_FOUND
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
ACPI-Fast 32-bit timer
attimer1 at acpi0 (TMR, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
acpiec0 at acpi0 (EC0, PNP0C09): io 0x62,0x66
UAR1 (PNP0501) at acpi0 not configured
aibs0 at acpi0 (ASOC, ATK0110-16843024): ASUSTeK AI Booster
aibs0: VSIF not found
aibs0: TSIF not found
aibs0: FSIF not found
aibs0: no sensors found
hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff
timecounter: Timecounter "hpet0" frequency 14318180 Hz quality 2000
pckbc1 at acpi0 (PS2K, PNP0303) (kbd port): io 0x60,0x64 irq 1
acpibut0 at acpi0 (PWRB, PNP0C0C-170): ACPI Power Button
acpiwmi0 at acpi0 (AOD, PNP0C14-0): ACPI WMI Interface
acpiwmibus at acpiwmi0 not configured
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x1002 product 0x5a11 (rev. 0x02)
vendor 0x1002 product 0x5a23 (system, subclass 0x06) at pci0 dev 0 function 2 
not configured
ppb0 at pci0 dev 2 function 0: vendor 0x1002 product 0x5a16 (rev. 0x00)
ppb0: unsupported PCI Express version
pci1 at ppb0 bus 6
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
vga0 at pci1 dev 0 function 0: vendor 0x1002 product 0x954f (rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
radeondrm0 at vga0: ATI Radeon HD 4350
radeondrm0: Initialized radeon 1.29.0 20080613
hdaudio0 at pci1 dev 0 function 1: HD Audio Controller
hdaudio0: interrupting at ioapic1 pin 1
hdafg0 at hdaudio0 vendor 0x1002 product 0xAA01 nid 0x01 (firmware 
configuration)
hdafg0: DAC0:02, Digital Digital Other Out: Jack (Unknown, 03)
hdafg0: 2ch/0ch 32000Hz-48000Hz 16/16
audio0 at hdafg0: half duplex, playback
ppb1 at pci0 dev 4 function 0: vendor 0x1002 product 0x5a18 (rev. 0x00)
ppb1: unsupported PCI Express version
pci2 at ppb1 bus 5
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
jmide0 at pci2 dev 0 function 0: vendor 0x197b product 0x2361
jmide0: 1 PATA port, 1 SATA port
jmide0: interrupting at ioapic1 pin 20
ahcisata0 at jmide0
ahcisata0: AHCI revision 1.0, 2 ports, 32 command slots, features 0xc722e000
atabus0 at ahcisata0 channel 0
atabus1 at ahcisata0 channel 1
jmide0: PCI IDE interface used
jmide0: bus-master DMA support present
jmide0: primary channel wired to native-PCI mode
jmide0: primary channel is unused
jmide0: secondary channel wired to native-PCI mode
jmide0: secondary channel is PATA
atabus2 at jmide0 channel 1
ppb2 at pci0 dev 5 function 0: vendor 0x1002 product 0x5a19 (rev. 0x00)
ppb2: unsupported PCI Express version
pci3 at ppb2 bus 4
pci3: i/o space, memory space enabled, rd/line, wr/inv ok
fwohci0 at pci3 dev 0 function 0: vendor 0x1106 product 0x3403 (rev. 0x00)
fwohci0: interrupting at ioapic1 pin 22
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:1e:8c:00:00:2f:0a:f2
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
ppb3 at pci0 dev 6 function 0: vendor 0x1002 product 0x5a1a (rev. 0x00)
ppb3: unsupported PCI Express version
pci4 at ppb3 bus 3
pci4: i/o space, memory space enabled, rd/line, wr/inv ok
re0 at pci4 dev 0 function 0: RealTek 8168/8111 PCIe Gigabit Ethernet (rev. 
0x06)
re0: interrupting at ioapic1 pin 27
re0: Unknown revision (0x2c000000)
re0: Ethernet address 48:5b:39:b3:c5:68
re0: using 256 tx descriptors
rgephy0 at re0 phy 7: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 4
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ppb4 at pci0 dev 7 function 0: vendor 0x1002 product 0x5a1b (rev. 0x00)
ppb4: unsupported PCI Express version
pci5 at ppb4 bus 2
pci5: memory space enabled, rd/line, wr/inv ok
vendor 0x1033 product 0x0194 (USB serial bus, interface 0x30, revision 0x03) at 
pci5 dev 0 function 0 not configured
ahcisata1 at pci0 dev 17 function 0: vendor 0x1002 product 0x4391
ahcisata1: interrupting at ioapic0 pin 19
ahcisata1: AHCI revision 1.2, 6 ports, 32 command slots, features 0xf732e000
atabus3 at ahcisata1 channel 0
atabus4 at ahcisata1 channel 1
atabus5 at ahcisata1 channel 2
atabus6 at ahcisata1 channel 3
atabus7 at ahcisata1 channel 4
atabus8 at ahcisata1 channel 5
ohci0 at pci0 dev 18 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci0: interrupting at ioapic0 pin 18
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ehci0 at pci0 dev 18 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci0: interrupting at ioapic0 pin 17
ehci0: dropped intr workaround enabled
ehci0: EHCI version 1.0
ehci0: companion controller, 5 ports each: ohci0
usb1 at ehci0: USB revision 2.0
ohci1 at pci0 dev 19 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci1: interrupting at ioapic0 pin 18
ohci1: OHCI version 1.0, legacy support
usb2 at ohci1: USB revision 1.0
ehci1 at pci0 dev 19 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci1: interrupting at ioapic0 pin 17
ehci1: dropped intr workaround enabled
ehci1: EHCI version 1.0
ehci1: companion controller, 5 ports each: ohci1
usb3 at ehci1: USB revision 2.0
piixpm0 at pci0 dev 20 function 0
piixpm0: vendor 0x1002 product 0x4385 (rev. 0x41)
piixpm0: SMBus disabled
hdaudio1 at pci0 dev 20 function 2: HD Audio Controller
hdaudio1: interrupting at ioapic0 pin 16
hdafg1 at hdaudio1 vendor 0x10EC product 0x0892 nid 0x01 (firmware 
configuration)
hdafg1: DAC0:02, Analog Speaker: Jack (Green, 14)
hdafg1: DAC0:04, Analog Speaker: Jack (Orange, 16)
hdafg1: DAC0:03, Analog Speaker: Jack (Black, 15)
hdafg1: DAC0:05, Analog Speaker: Jack (Grey, 17)
hdafg1: DAC1:25, Analog HP Out: Jack (Green, 1B)
hdafg1: DAC2:06, Digital SPDIF Out: Jack (Orange, 1E)
hdafg1: DAC3:10, Digital SPDIF Out: Fixed Function (Unknown, 11)
hdafg1: ADC4:08, Analog Mic In: Jack (Pink, 18)
hdafg1: ADC4:08, Analog Line In: Jack (Blue, 1A)
hdafg1: ADC5:09, Analog Mic In: Jack (Pink, 19)
hdafg1: 8ch/2ch 32000Hz-192000Hz 16/16 20/32 24/32
audio1 at hdafg1: full duplex, playback, capture, independent
pcib0 at pci0 dev 20 function 3: vendor 0x1002 product 0x439d (rev. 0x40)
ppb5 at pci0 dev 20 function 4: vendor 0x1002 product 0x4384 (rev. 0x40)
pci6 at ppb5 bus 1
pci6: i/o space, memory space enabled
ahc0 at pci6 dev 5 function 0: Adaptec 2940 Ultra2 SCSI adapter
ahc0: interrupting at ioapic0 pin 20
ahc0: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
scsibus0 at ahc0: 16 targets, 8 luns per target
ohci2 at pci0 dev 20 function 5: vendor 0x1002 product 0x4399 (rev. 0x00)
ohci2: interrupting at ioapic0 pin 18
ohci2: OHCI version 1.0, legacy support
usb4 at ohci2: USB revision 1.0
ohci3 at pci0 dev 22 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci3: interrupting at ioapic0 pin 18
ohci3: OHCI version 1.0, legacy support
usb5 at ohci3: USB revision 1.0
ehci2 at pci0 dev 22 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci2: interrupting at ioapic0 pin 17
ehci2: dropped intr workaround enabled
ehci2: EHCI version 1.0
ehci2: companion controller, 4 ports each: ohci3
usb6 at ehci2: USB revision 2.0
pchb1 at pci0 dev 24 function 0: vendor 0x1022 product 0x1200 (rev. 0x00)
pchb2 at pci0 dev 24 function 1: vendor 0x1022 product 0x1201 (rev. 0x00)
pchb3 at pci0 dev 24 function 2: vendor 0x1022 product 0x1202 (rev. 0x00)
amdtemp0 at pci0 dev 24 function 3: AMD CPU Temperature Sensors (Family10h / 
Family11h)
pchb4 at pci0 dev 24 function 4: vendor 0x1022 product 0x1204 (rev. 0x00)
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
ieee1394if0: bus manager 0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 3210916870 Hz quality 3000
scsibus0: waiting 2 seconds for devices to settle...
uhub0 at usb0: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 5 ports with 5 removable, self powered
uhub1 at usb1: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 5 ports with 5 removable, self powered
uhub2 at usb2: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 5 ports with 5 removable, self powered
uhub3 at usb3: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 5 ports with 5 removable, self powered
uhub4 at usb4: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 2 ports with 2 removable, self powered
uhub5 at usb5: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub5: 4 ports with 4 removable, self powered
uhub6 at usb6: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub6: 4 ports with 4 removable, self powered
ahcisata1 port 2: device present, speed: 3.0Gb/s
ahcisata1 port 0: device present, speed: 3.0Gb/s
ahcisata1 port 1: device present, speed: 3.0Gb/s
ahcisata1 port 3: device present, speed: 3.0Gb/s
atapibus0 at atabus2: 2 targets
cd0 at atapibus0 drive 0: <PIONEER BD-RW   BDR-101A, FGTP000668WL, 1.01> cdrom 
removable
cd0: 32-bit data port
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
cd0(jmide0:1:0): using PIO mode 4, Ultra-DMA mode 4 (Ultra/66) (using DMA)
wd0 at atabus3 drive 0: <SAMSUNG HE502IJ>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd0(ahcisata1:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd1 at atabus4 drive 0: <SAMSUNG HE502IJ>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd1(ahcisata1:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd2 at atabus5 drive 0: <SAMSUNG HE502IJ>
wd2: drive supports 16-sector PIO transfers, LBA48 addressing
wd2: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd2: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd2(ahcisata1:2:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd3 at atabus6 drive 0: <SAMSUNG HE502IJ>
wd3: drive supports 16-sector PIO transfers, LBA48 addressing
wd3: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd3: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd3(ahcisata1:3:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
uhub7 at uhub3 port 1: vendor 0x0424 product 0x2502, class 9/0, rev 2.00/0.01, 
addr 2
uhub7: single transaction translator
uhub7: 2 ports with 0 removable, self powered
uhidev0 at uhub0 port 5 configuration 1 interface 0
uhidev0: A4Tech Wireless Battery Free Optical Mouse, rev 2.00/0.01, addr 2, 
iclass 3/1
ums0 at uhidev0: 8 buttons and Z dir
wsmouse0 at ums0 mux 0
uhub8 at uhub7 port 1: vendor 0x0424 product 0x2504, class 9/0, rev 2.00/0.01, 
addr 3
uhub8: multiple transaction translators
uhub8: 4 ports with 4 removable, self powered
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
umass0 at uhub7 port 2 configuration 1 interface 0
umass0: SMSC USB2223, rev 2.00/3.60, addr 4
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, 4 luns per target
sd0 at scsibus1 target 0 lun 0: <SMSC, 223 U HS-CF, 3.60> disk removable
sd0: drive offline
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd0: unable to open device, error = 19
sd1 at scsibus1 target 0 lun 1: <SMSC, 223 U HS-MS, 3.60> disk removable
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
sd1: drive offline
sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1: unable to open device, error = 19
sd2 at scsibus1 target 0 lun 2: <SMSC, 223 U HS-SM, 3.60> disk removable
sd2: drive offline
sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2: unable to open device, error = 19
sd3 at scsibus1 target 0 lun 3: <SMSC, 223 U HS-SD/MMC, 3.60> disk removable
sd3: drive offline
sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3: unable to open device, error = 19
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio2 at pad0: half duplex, playback, capture
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

raid0: RAID Level 1
raid0: Components: /dev/wd0a /dev/wd1a
raid0: Total Sectors: 134217664 (65535 MB)
raid1: RAID Level 1
raid1: Components: /dev/wd2a /dev/wd3a
raid1: Total Sectors: 134217664 (65535 MB)
raid2: RAID Level 5
raid2: Components: /dev/wd0e /dev/wd1e /dev/wd2e /dev/wd3e
raid2: Total Sectors: 2527665792 (1234211 MB)
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

boot device: raid0
root on raid0a dumps on raid0b
/: replaying log to memory
root file system type: ffs
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff802271b5 cs 8 rflags 202 cr2  0 cpl 6 rsp 
ffff8000534529e8
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.33 (GENERIC) #3: Tue Jul  6 14:22:31 MEST 2010
        ws%pc.Solfrank.net@localhost:/src/obj/sys/arch/amd64/compile/GENERIC
total memory = 8189 MB
avail memory = 7923 MB
timecounter: Timecounters tick every 10.000 msec
userconf: configure system autoconfiguration:
uc> disable jmide
[226] jmide* disabled
uc> disable pciide
[218] pciide* disabled
uc> quit
Continuing...
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
System manufacturer System Product Name (System Version)
mainbus0 (root)
cpu0 at mainbus0 apid 0: AMD 686-class, 3210MHz, id 0x100fa0
cpu1 at mainbus0 apid 1: AMD 686-class, 3210MHz, id 0x100fa0
cpu2 at mainbus0 apid 2: AMD 686-class, 3210MHz, id 0x100fa0
cpu3 at mainbus0 apid 3: AMD 686-class, 3210MHz, id 0x100fa0
cpu4 at mainbus0 apid 4: AMD 686-class, 3210MHz, id 0x100fa0
cpu5 at mainbus0 apid 5: AMD 686-class, 3210MHz, id 0x100fa0
ioapic0 at mainbus0 apid 6: pa 0xfec00000, version 21, 24 pins
ioapic1 at mainbus0 apid 7: pa 0xfec20000, version 21, 32 pins
acpi0 at mainbus0: Intel ACPICA 20100528
acpi0: X/RSDT: OemId <041310,XSDT1637,20100413>, AslId <MSFT,00000097>
ACPI Error (dswload-0772): [PCI0] Namespace lookup failure, AE_NOT_FOUND
ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20100528/psloop-326)
ACPI Error (psparse-0633): Method parse/execution failed [\] (Node 
0xffffffff80d84e20), AE_NOT_FOUND
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
ACPI-Fast 32-bit timer
NMEM (PNP0C02) at acpi0 not configured
UMEM (PNP0C02) at acpi0 not configured
attimer1 at acpi0 (TMR, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
acpiec0 at acpi0 (EC0, PNP0C09): io 0x62,0x66
UAR1 (PNP0501) at acpi0 not configured
aibs0 at acpi0 (ASOC, ATK0110-16843024): ASUSTeK AI Booster
aibs0: VSIF not found
aibs0: TSIF not found
aibs0: FSIF not found
aibs0: no sensors found
hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff
timecounter: Timecounter "hpet0" frequency 14318180 Hz quality 2000
OMSC (PNP0C02) at acpi0 not configured
RMSC (PNP0C02) at acpi0 not configured
pckbc1 at acpi0 (PS2K, PNP0303) (kbd port): io 0x60,0x64 irq 1
SIOR (PNP0C02) at acpi0 not configured
PCIE (PNP0C02) at acpi0 not configured
RMEM (PNP0C01) at acpi0 not configured
acpibut0 at acpi0 (PWRB, PNP0C0C-170): ACPI Power Button
acpiwmi0 at acpi0 (AOD, PNP0C14-0): ACPI WMI Interface
acpiwmibus at acpiwmi0 not configured
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x1002 product 0x5a11 (rev. 0x02)
ppb0 at pci0 dev 2 function 0: vendor 0x1002 product 0x5a16 (rev. 0x00)
ppb0: unsupported PCI Express version
pci1 at ppb0 bus 6
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
vga0 at pci1 dev 0 function 0: vendor 0x1002 product 0x954f (rev. 0x00)
wsdisplay0 at vga0 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
radeondrm0 at vga0: ATI Radeon HD 4350
radeondrm0: Initialized radeon 1.29.0 20080613
hdaudio0 at pci1 dev 0 function 1: HD Audio Controller
hdaudio0: interrupting at ioapic1 pin 1
hdafg0 at hdaudio0 vendor 0x1002 product 0xAA01 nid 0x01 (firmware 
configuration)
hdafg0: DAC0:02, Digital Digital Other Out: Jack (Unknown, 03)
hdafg0: 2ch/0ch 32000Hz-48000Hz 16/16
audio0 at hdafg0: half duplex, playback
ppb1 at pci0 dev 4 function 0: vendor 0x1002 product 0x5a18 (rev. 0x00)
ppb1: unsupported PCI Express version
pci2 at ppb1 bus 5
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
vendor 0x197b product 0x2361 (IDE mass storage, interface 0x85, revision 0x02) 
at pci2 dev 0 function 0 not configured
ppb2 at pci0 dev 5 function 0: vendor 0x1002 product 0x5a19 (rev. 0x00)
ppb2: unsupported PCI Express version
pci3 at ppb2 bus 4
pci3: i/o space, memory space enabled, rd/line, wr/inv ok
fwohci0 at pci3 dev 0 function 0: vendor 0x1106 product 0x3403 (rev. 0x00)
fwohci0: interrupting at ioapic1 pin 22
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:1e:8c:00:00:2f:0a:f2
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
fwohci0: Initiate bus reset
ppb3 at pci0 dev 6 function 0: vendor 0x1002 product 0x5a1a (rev. 0x00)
ppb3: unsupported PCI Express version
pci4 at ppb3 bus 3
pci4: i/o space, memory space enabled, rd/line, wr/inv ok
re0 at pci4 dev 0 function 0: RealTek 8168/8111 PCIe Gigabit Ethernet (rev. 
0x06)
re0: interrupting at ioapic1 pin 27
re0: Unknown revision (0x2c000000)
re0: Ethernet address 48:5b:39:b3:c5:68
re0: using 256 tx descriptors
rgephy0 at re0 phy 7: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 4
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
ppb4 at pci0 dev 7 function 0: vendor 0x1002 product 0x5a1b (rev. 0x00)
ppb4: unsupported PCI Express version
pci5 at ppb4 bus 2
pci5: memory space enabled, rd/line, wr/inv ok
vendor 0x1033 product 0x0194 (USB serial bus, interface 0x30, revision 0x03) at 
pci5 dev 0 function 0 not configured
ahcisata0 at pci0 dev 17 function 0: vendor 0x1002 product 0x4391
ahcisata0: interrupting at ioapic0 pin 19
ahcisata0: AHCI revision 1.2, 6 ports, 32 command slots, features 0xf732e000
atabus0 at ahcisata0 channel 0
atabus1 at ahcisata0 channel 1
atabus2 at ahcisata0 channel 2
atabus3 at ahcisata0 channel 3
atabus4 at ahcisata0 channel 4
atabus5 at ahcisata0 channel 5
ohci0 at pci0 dev 18 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci0: interrupting at ioapic0 pin 18
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
ehci0 at pci0 dev 18 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci0: interrupting at ioapic0 pin 17
ehci0: dropped intr workaround enabled
ehci0: EHCI version 1.0
ehci0: companion controller, 5 ports each: ohci0
usb1 at ehci0: USB revision 2.0
ohci1 at pci0 dev 19 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci1: interrupting at ioapic0 pin 18
ohci1: OHCI version 1.0, legacy support
usb2 at ohci1: USB revision 1.0
ehci1 at pci0 dev 19 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci1: interrupting at ioapic0 pin 17
ehci1: dropped intr workaround enabled
ehci1: EHCI version 1.0
ehci1: companion controller, 5 ports each: ohci1
usb3 at ehci1: USB revision 2.0
piixpm0 at pci0 dev 20 function 0
piixpm0: vendor 0x1002 product 0x4385 (rev. 0x41)
piixpm0: SMBus disabled
hdaudio1 at pci0 dev 20 function 2: HD Audio Controller
hdaudio1: interrupting at ioapic0 pin 16
hdafg1 at hdaudio1 vendor 0x10EC product 0x0892 nid 0x01 (firmware 
configuration)
hdafg1: DAC0:02, Analog Speaker: Jack (Green, 14)
hdafg1: DAC0:04, Analog Speaker: Jack (Orange, 16)
hdafg1: DAC0:03, Analog Speaker: Jack (Black, 15)
hdafg1: DAC0:05, Analog Speaker: Jack (Grey, 17)
hdafg1: DAC1:25, Analog HP Out: Jack (Green, 1B)
hdafg1: DAC2:06, Digital SPDIF Out: Jack (Orange, 1E)
hdafg1: DAC3:10, Digital SPDIF Out: Fixed Function (Unknown, 11)
hdafg1: ADC4:08, Analog Mic In: Jack (Pink, 18)
hdafg1: ADC4:08, Analog Line In: Jack (Blue, 1A)
hdafg1: ADC5:09, Analog Mic In: Jack (Pink, 19)
hdafg1: 8ch/2ch 32000Hz-192000Hz 16/16 20/32 24/32
audio1 at hdafg1: full duplex, playback, capture, independent
pcib0 at pci0 dev 20 function 3: vendor 0x1002 product 0x439d (rev. 0x40)
ppb5 at pci0 dev 20 function 4: vendor 0x1002 product 0x4384 (rev. 0x40)
pci6 at ppb5 bus 1
pci6: i/o space, memory space enabled
ahc0 at pci6 dev 5 function 0: Adaptec 2940 Ultra2 SCSI adapter
ahc0: interrupting at ioapic0 pin 20
ahc0: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
scsibus0 at ahc0: 16 targets, 8 luns per target
ohci2 at pci0 dev 20 function 5: vendor 0x1002 product 0x4399 (rev. 0x00)
ohci2: interrupting at ioapic0 pin 18
ohci2: OHCI version 1.0, legacy support
usb4 at ohci2: USB revision 1.0
ohci3 at pci0 dev 22 function 0: vendor 0x1002 product 0x4397 (rev. 0x00)
ohci3: interrupting at ioapic0 pin 18
ohci3: OHCI version 1.0, legacy support
usb5 at ohci3: USB revision 1.0
ehci2 at pci0 dev 22 function 2: vendor 0x1002 product 0x4396 (rev. 0x00)
ehci2: interrupting at ioapic0 pin 17
ehci2: dropped intr workaround enabled
ehci2: EHCI version 1.0
ehci2: companion controller, 4 ports each: ohci3
usb6 at ehci2: USB revision 2.0
pchb1 at pci0 dev 24 function 0: vendor 0x1022 product 0x1200 (rev. 0x00)
pchb2 at pci0 dev 24 function 1: vendor 0x1022 product 0x1201 (rev. 0x00)
pchb3 at pci0 dev 24 function 2: vendor 0x1022 product 0x1202 (rev. 0x00)
amdtemp0 at pci0 dev 24 function 3: AMD CPU Temperature Sensors (Family10h / 
Family11h)
pchb4 at pci0 dev 24 function 4: vendor 0x1022 product 0x1204 (rev. 0x00)
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
fwohci0: BUS reset
fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode
ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
ieee1394if0: bus manager 0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 3210952010 Hz quality 3000
scsibus0: waiting 2 seconds for devices to settle...
uhub0 at usb0: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 5 ports with 5 removable, self powered
uhub1 at usb1: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 5 ports with 5 removable, self powered
uhub2 at usb2: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 5 ports with 5 removable, self powered
uhub3 at usb3: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 5 ports with 5 removable, self powered
uhub4 at usb5: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub4: 4 ports with 4 removable, self powered
uhub5 at usb6: vendor 0x1002 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub5: 4 ports with 4 removable, self powered
uhub6 at usb4: vendor 0x1002 OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub6: 2 ports with 2 removable, self powered
ahcisata0 port 0: device present, speed: 3.0Gb/s
ahcisata0 port 1: device present, speed: 3.0Gb/s
ahcisata0 port 2: device present, speed: 3.0Gb/s
ahcisata0 port 3: device present, speed: 3.0Gb/s
wd0 at atabus0 drive 0: <SAMSUNG HE502IJ>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd0(ahcisata0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd1 at atabus1 drive 0: <SAMSUNG HE502IJ>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd1(ahcisata0:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd2 at atabus2 drive 0: <SAMSUNG HE502IJ>
wd2: drive supports 16-sector PIO transfers, LBA48 addressing
wd2: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd2: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd2(ahcisata0:2:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
wd3 at atabus3 drive 0: <SAMSUNG HE502IJ>
wd3: drive supports 16-sector PIO transfers, LBA48 addressing
wd3: 465 GB, 969021 cyl, 16 head, 63 sec, 512 bytes/sect x 976773168 sectors
wd3: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 7
wd3(ahcisata0:3:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133) 
(using DMA)
uhub7 at uhub3 port 1: vendor 0x0424 product 0x2502, class 9/0, rev 2.00/0.01, 
addr 2
uhub7: single transaction translator
uhub7: 2 ports with 0 removable, self powered
uhidev0 at uhub0 port 5 configuration 1 interface 0
uhidev0: A4Tech Wireless Battery Free Optical Mouse, rev 2.00/0.01, addr 2, 
iclass 3/1
ums0 at uhidev0: 8 buttons and Z dir
wsmouse0 at ums0 mux 0
uhub8 at uhub7 port 1: vendor 0x0424 product 0x2504, class 9/0, rev 2.00/0.01, 
addr 3
uhub8: multiple transaction translators
uhub8: 4 ports with 4 removable, self powered
umass0 at uhub7 port 2 configuration 1 interface 0
umass0: SMSC USB2223, rev 2.00/3.60, addr 4
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, 4 luns per target
sd0 at scsibus1 target 0 lun 0: <SMSC, 223 U HS-CF, 3.60> disk removable
sd0: drive offline
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd0: unable to open device, error = 19
sd1 at scsibus1 target 0 lun 1: <SMSC, 223 U HS-MS, 3.60> disk removable
sd1: drive offline
sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1: unable to open device, error = 19
sd2 at scsibus1 target 0 lun 2: <SMSC, 223 U HS-SM, 3.60> disk removable
sd2: drive offline
sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2: unable to open device, error = 19
sd3 at scsibus1 target 0 lun 3: <SMSC, 223 U HS-SD/MMC, 3.60> disk removable
sd3: drive offline
sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3: unable to open device, error = 19
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio2 at pad0: half duplex, playback, capture
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

raid0: RAID Level 1
raid0: Components: /dev/wd0a /dev/wd1a
raid0: Total Sectors: 134217664 (65535 MB)
raid1: RAID Level 1
raid1: Components: /dev/wd2a /dev/wd3a
raid1: Total Sectors: 134217664 (65535 MB)
raid2: RAID Level 5
raid2: Components: /dev/wd0e /dev/wd1e /dev/wd2e /dev/wd3e
raid2: Total Sectors: 2527665792 (1234211 MB)
sd0(umass0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd1(umass0:0:0:1):  Check Condition on CDB: 0x00 20 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd2(umass0:0:0:2):  Check Condition on CDB: 0x00 40 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

sd3(umass0:0:0:3):  Check Condition on CDB: 0x00 60 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Medium Not Present

boot device: raid0
root on raid0a dumps on raid0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

Attachment: dsdt
Description: Binary data



Home | Main Index | Thread Index | Old Index