Jump to content
3 posts in this topic

Recommended Posts

Hello there people!

 

First of all i have installed snow leopard and my machine is functioning ok restart works however sleep and shutdown do not work

 

When shutting the machine down i get the message cpu halted and then the machine does not power off

 

When putting the machine to sleep pretty much the same thing happens my machine does not power down

 

 

After doing some research it was suggested that it could be down to the ACPI settings, however i know my motherboard supports ACPI 2.0

 

so then i went on to look at my dsdt.aml and have the following 10 errors

 

 

 

 

CODE

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20091214 [Dec 16 2009]

Copyright © 2000 - 2009 Intel Corporation

Supports ACPI Specification Revision 4.0

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 4478: Method (OCOP, 1, NotSerialized)

Warning 1088 - Not all control paths return a value ^ (OCOP)

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 5192: Method (PROC, 3, NotSerialized)

Warning 1088 - Not all control paths return a value ^ (PROC)

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 6200: Store (PROC (Local0, Local1, Zero), Local2)

Warning 1093 - Called method may not always return a value ^

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 8927: Release (SMBA)

Warning 1100 - Statement is unreachable ^

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 11866: Method (VGET, 1, NotSerialized)

Warning 1088 - Not all control paths return a value ^ (VGET)

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 11911: Method (TGET, 1, NotSerialized)

Warning 1088 - Not all control paths return a value ^ (TGET)

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 11973: Method (FGET, 1, NotSerialized)

Warning 1088 - Not all control paths return a value ^ (FGET)

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 12009: Store (VGET (Local0), Local1)

Warning 1093 - Called method may not always return a value ^

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 12051: Store (TGET (Local0), Local1)

Warning 1093 - Called method may not always return a value ^

 

/Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 12084: Store (FGET (Local0), Local1)

Warning 1093 - Called method may not always return a value ^

 

ASL Input: /Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 12339 lines, 426109 bytes, 4750 keywords

AML Output: /Users/Ian/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 38374 bytes, 993 named objects, 3757 executable opcodes

 

Compilation complete. 0 Errors, 10 Warnings, 0 Remarks, 46 Optimizations

 

 

Here is my dsdt.aml file

/*
* Intel ACPI Component Architecture
* AML Disassembler version 20091214
*
* Disassembly of ./dsdt.dat, Mon Jan 11 17:26:25 2010
*
*
* Original Table Header:
*     Signature        "DSDT"
*     Length           0x000095E6 (38374)
*     Revision         0x01 **** ACPI 1.0, no 64-bit math support
*     Checksum         0x70
*     OEM ID           "A0543"
*     OEM Table ID     "A0543000"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20080926 (537397542)
*/
DefinitionBlock ("./dsdt.aml", "DSDT", 1, "A0543", "A0543000", 0x00000000)
{
   Method (DTGP, 5, NotSerialized)
   {
       If (LEqual (Arg0, Buffer (0x10)
               {
                   /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                   /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
               }))
       {
           If (LEqual (Arg1, One))
           {
               If (LEqual (Arg2, Zero))
               {
                   Store (Buffer (One)
                       {
                           0x03
                       }, Arg4)
                   Return (One)
               }

               If (LEqual (Arg2, One))
               {
                   Return (One)
               }
           }
       }

       Store (Buffer (One)
           {
               0x00
           }, Arg4)
       Return (Zero)
   }

   Scope (_PR)
   {
       Processor (CPU1, 0x01, 0x00000810, 0x06)
       {
           OperationRegion (STBL, SystemMemory, 0x7FF8E0B0, 0x01C6)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x7FF80507)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS0, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS0, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS0)
               CreateDWordField (Arg3, 0x04, CAP0)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID0, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID0, Zero, EID0)
               CreateDWordField (UID0, 0x04, EID1)
               CreateDWordField (UID0, 0x08, EID2)
               CreateDWordField (UID0, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS0)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS0)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP0, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }
       }
   }

   Scope (_PR)
   {
       Processor (CPU2, 0x02, 0x00000810, 0x06)
       {
           OperationRegion (STBL, SystemMemory, 0x7FF8E280, 0x013A)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x7FF80707)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS1, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS1, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS1)
               CreateDWordField (Arg3, 0x04, CAP1)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID0, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID0, Zero, EID0)
               CreateDWordField (UID0, 0x04, EID1)
               CreateDWordField (UID0, 0x08, EID2)
               CreateDWordField (UID0, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS1)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS1)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP1, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }
       }
   }

   Scope (_PR)
   {
       Processor (CPU3, 0x03, 0x00000810, 0x06)
       {
           OperationRegion (STBL, SystemMemory, 0x7FF8E3C0, 0x013A)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x7FF80907)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS2, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS2, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS2)
               CreateDWordField (Arg3, 0x04, CAP2)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID0, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID0, Zero, EID0)
               CreateDWordField (UID0, 0x04, EID1)
               CreateDWordField (UID0, 0x08, EID2)
               CreateDWordField (UID0, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS2)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS2)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP2, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }
       }
   }

   Scope (_PR)
   {
       Processor (CPU4, 0x04, 0x00000810, 0x06)
       {
           OperationRegion (STBL, SystemMemory, 0x7FF8E500, 0x013A)
           Name (NCPU, 0x04)
           Name (TYPE, 0x80000000)
           Name (HNDL, 0x80000000)
           Name (CFGD, 0x7FF80B07)
           Name (TBLD, 0x80)
           Method (_PDC, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, REVS)
               CreateDWordField (Arg0, 0x04, SIZE)
               Store (SizeOf (Arg0), Local0)
               Store (Subtract (Local0, 0x08), Local1)
               CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
               Name (STS3, Buffer (0x04)
               {
                   0x00, 0x00, 0x00, 0x00
               })
               Concatenate (STS3, TEMP, Local2)
               _OSC (Buffer (0x10)
                   {
                       /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                       /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
                   }, REVS, SIZE, Local2)
           }

           Method (_OSC, 4, NotSerialized)
           {
               CreateDWordField (Arg3, Zero, STS3)
               CreateDWordField (Arg3, 0x04, CAP3)
               CreateDWordField (Arg0, Zero, IID0)
               CreateDWordField (Arg0, 0x04, IID1)
               CreateDWordField (Arg0, 0x08, IID2)
               CreateDWordField (Arg0, 0x0C, IID3)
               Name (UID0, Buffer (0x10)
               {
                   /* 0000 */    0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47, 
                   /* 0008 */    0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
               })
               CreateDWordField (UID0, Zero, EID0)
               CreateDWordField (UID0, 0x04, EID1)
               CreateDWordField (UID0, 0x08, EID2)
               CreateDWordField (UID0, 0x0C, EID3)
               If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)), 
                   LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
               {
                   Store (0x06, STS3)
                   Return (Arg3)
               }

               If (LNotEqual (Arg1, One))
               {
                   Store (0x0A, STS3)
                   Return (Arg3)
               }

               Or (And (TYPE, 0x7FFFFFFF), CAP3, TYPE)
               If (And (CFGD, One))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), LEqual (And (TYPE, 
                       0x09), 0x09)), LNot (And (TBLD, One))))
                   {
                       Or (TBLD, One, TBLD)
                       Load (STBL, HNDL)
                   }
               }

               If (And (CFGD, 0xF0))
               {
                   If (LAnd (LAnd (And (CFGD, 0x01000000), And (TYPE, 0x18
                       )), LNot (And (TBLD, 0x02))))
                   {
                       Or (TBLD, 0x02, TBLD)
                   }
               }

               Return (Arg3)
           }
       }
   }

   Name (DP80, 0x80)
   Name (DP90, 0x90)
   Name (IOHW, 0x0290)
   Name (CPUC, 0x04)
   Name (ACPH, 0xDE)
   Name (PMBS, 0x0800)
   Name (FHDC, 0xD9)
   Name (PMLN, 0x80)
   Name (GPBS, 0x0480)
   Name (GPLN, 0x40)
   Name (SMBS, 0x0400)
   Name (SMBL, 0x20)
   Name (SMBH, One)
   Name (PM30, 0x0830)
   Name (SUSW, 0xFF)
   Name (HTBA, 0xFED1F404)
   Name (APIC, One)
   Name (SPIO, 0x2E)
   Name (P0CT, 0x82)
   Name (P1CT, 0x83)
   Name (P2CT, 0x84)
   Name (EAQF, One)
   Name (CFTE, One)
   Name (PCIB, 0xF0000000)
   Name (PCIL, 0x04000000)
   OperationRegion (BIOS, SystemMemory, 0x7FF8E064, 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), 
       ASSB,   8, 
       AOTB,   8, 
       AAXB,   32
   }

   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)
       }

       If (LEqual (PICM, Zero))
       {
           Store (0xAC, DBG8)
       }

       Store (One, OSVR)
       If (MCTH (_OS, "Microsoft Windows NT"))
       {
           Store (Zero, OSVR)
       }
       Else
       {
           If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
           {
               Store (0x02, 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, 0x80, One)
   Field (DEB0, ByteAcc, NoLock, Preserve)
   {
       DBG8,   8
   }

   OperationRegion (DEB1, SystemIO, 0x90, 0x02)
   Field (DEB1, WordAcc, NoLock, Preserve)
   {
       DBG9,   16
   }

   Scope (_SB)
   {
       Name (PR00, Package (0x16)
       {
           Package (0x04)
           {
               0x0001FFFF, 
               Zero, 
               LNKA, 
               Zero
           }, 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

           Package (0x04)
           {
               0x001BFFFF, 
               Zero, 
               LNKD, 
               Zero
           }
       })
       Name (AR00, Package (0x16)
       {
           Package (0x04)
           {
               0x0001FFFF, 
               Zero, 
               Zero, 
               0x10
           }, 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

           Package (0x04)
           {
               0x001DFFFF, 
               Zero, 
               Zero, 
               0x14
           }, 

           Package (0x04)
           {
               0x001FFFFF, 
               Zero, 
               Zero, 
               0x16
           }, 

           Package (0x04)
           {
               0x001FFFFF, 
               One, 
               Zero, 
               0x17
           }, 

           Package (0x04)
           {
               0x001BFFFF, 
               Zero, 
               Zero, 
               0x13
           }
       })
       Name (PR01, 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 (AR01, 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 (PR02, 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 (AR02, 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 (PR03, Package (0x0F)
       {
           Package (0x04)
           {
               0x0008FFFF, 
               Zero, 
               LNKE, 
               Zero
           }, 

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

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

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

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

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

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

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

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

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

           Package (0x04)
           {
               0x0001FFFF, 
               0x03, 
               LNKF, 
               Zero
           }, 

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

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

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

           Package (0x04)
           {
               0x0002FFFF, 
               0x03, 
               LNKG, 
               Zero
           }
       })
       Name (AR03, Package (0x0F)
       {
           Package (0x04)
           {
               0x0008FFFF, 
               Zero, 
               Zero, 
               0x14
           }, 

           Package (0x04)
           {
               0x000FFFFF, 
               Zero, 
               Zero, 
               0x14
           }, 

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

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

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               Zero, 
               0x14
           }, 

           Package (0x04)
           {
               0x0001FFFF, 
               Zero, 
               Zero, 
               0x16
           }, 

           Package (0x04)
           {
               0x0001FFFF, 
               One, 
               Zero, 
               0x17
           }, 

           Package (0x04)
           {
               0x0001FFFF, 
               0x02, 
               Zero, 
               0x14
           }, 

           Package (0x04)
           {
               0x0001FFFF, 
               0x03, 
               Zero, 
               0x15
           }, 

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

           Package (0x04)
           {
               0x0002FFFF, 
               One, 
               Zero, 
               0x14
           }, 

           Package (0x04)
           {
               0x0002FFFF, 
               0x02, 
               Zero, 
               0x15
           }, 

           Package (0x04)
           {
               0x0002FFFF, 
               0x03, 
               Zero, 
               0x16
           }
       })
       Name (PR04, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               LNKA, 
               Zero
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               LNKD, 
               Zero
           }
       })
       Name (AR04, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               Zero, 
               0x10
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               Zero, 
               0x13
           }
       })
       Name (PR05, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               LNKB, 
               Zero
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               LNKA, 
               Zero
           }
       })
       Name (AR05, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               Zero, 
               0x11
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               Zero, 
               0x10
           }
       })
       Name (PR06, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               LNKC, 
               Zero
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               LNKB, 
               Zero
           }
       })
       Name (AR06, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               Zero, 
               0x12
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               Zero, 
               0x11
           }
       })
       Name (PR07, Package (0x01)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               LNKD, 
               Zero
           }
       })
       Name (AR07, Package (0x01)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               Zero, 
               0x13
           }
       })
       Name (PR08, Package (0x01)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               LNKA, 
               Zero
           }
       })
       Name (AR08, Package (0x01)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               Zero, 
               0x10
           }
       })
       Name (PR09, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               LNKB, 
               Zero
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               LNKA, 
               Zero
           }
       })
       Name (AR09, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF, 
               Zero, 
               Zero, 
               0x11
           }, 

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

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

           Package (0x04)
           {
               0xFFFF, 
               0x03, 
               Zero, 
               0x10
           }
       })
       Name (PRSA, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {3,4,5,6,7,10,11,12,14,15}
       })
       Alias (PRSA, PRSB)
       Alias (PRSA, PRSC)
       Alias (PRSA, PRSD)
       Alias (PRSA, PRSE)
       Alias (PRSA, PRSF)
       Alias (PRSA, PRSG)
       Alias (PRSA, PRSH)
       Device (PCI0)
       {
           Name (_HID, EisaId ("PNP0A08"))
           Name (_CID, EisaId ("PNP0A03"))
           Name (_ADR, Zero)
           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 (_S3D, 0, NotSerialized)
           {
               If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
               {
                   Return (0x02)
               }
               Else
               {
                   Return (0x03)
               }
           }

           Device (MCH)
           {
               Name (_HID, EisaId ("PNP0C01"))
               Name (_UID, 0x0A)
               Name (_CRS, ResourceTemplate ()
               {
                   Memory32Fixed (ReadWrite,
                       0xFED13000,         // Address Base
                       0x00007000,         // Address Length
                       )
               })
           }

           Method (NPTS, 1, NotSerialized)
           {
           }

           Method (NWAK, 1, NotSerialized)
           {
           }

           Device (P0P1)
           {
               Name (_ADR, 0x00010000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

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

                   Return (PR01)
               }
           }

           Device (P0P2)
           {
               Name (_ADR, 0x00030000)
               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR02)
                   }

                   Return (PR02)
               }
           }

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

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

                   Return (PR03)
               }
           }

           Device (P0P4)
           {
               Name (_ADR, 0x001C0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

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

                   Return (PR04)
               }
           }

           Device (P0P5)
           {
               Name (_ADR, 0x001C0001)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

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

                   Return (PR05)
               }
           }

           Device (P0P6)
           {
               Name (_ADR, 0x001C0002)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

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

                   Return (PR06)
               }
           }

           Device (P0P7)
           {
               Name (_ADR, 0x001C0003)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

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

                   Return (PR07)
               }

               Device (LAN)
               {
                   Name (_ADR, Zero)
                   Name (_PRW, Package (0x02)
                   {
                       0x0B, 
                       0x04
                   })
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x04)
                           {
                               "built-in", 
                               Buffer (One)
                               {
                                   0x01
                               }, 

                               "device_type", 
                               Buffer (0x09)
                               {
                                   "ethernet"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
           }

           Device (P0P8)
           {
               Name (_ADR, 0x001C0004)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

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

                   Return (PR08)
               }
           }

           Device (P0P9)
           {
               Name (_ADR, 0x001C0005)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }

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

                   Return (PR09)
               }

               Device (JMF0)
               {
                   Name (_ADR, Zero)
                   Name (REGF, One)
                   Method (_REG, 2, NotSerialized)
                   {
                       If (LEqual (Arg0, 0x02))
                       {
                           Store (Arg1, REGF)
                       }
                   }

                   Name (TIM0, Package (0x08)
                   {
                       Package (0x04)
                       {
                           0x78, 
                           0xB4, 
                           0xF0, 
                           0x0384
                       }, 

                       Package (0x04)
                       {
                           0x23, 
                           0x21, 
                           0x10, 
                           Zero
                       }, 

                       Package (0x04)
                       {
                           0x0B, 
                           0x09, 
                           0x04, 
                           Zero
                       }, 

                       Package (0x06)
                       {
                           0x70, 
                           0x49, 
                           0x36, 
                           0x27, 
                           0x19, 
                           0x14
                       }, 

                       Package (0x06)
                       {
                           Zero, 
                           One, 
                           0x02, 
                           One, 
                           0x02, 
                           One
                       }, 

                       Package (0x06)
                       {
                           Zero, 
                           Zero, 
                           Zero, 
                           One, 
                           One, 
                           One
                       }, 

                       Package (0x04)
                       {
                           0x04, 
                           0x03, 
                           0x02, 
                           Zero
                       }, 

                       Package (0x04)
                       {
                           0x02, 
                           One, 
                           Zero, 
                           Zero
                       }
                   })
                   Name (TMD0, Buffer (0x14) {})
                   CreateDWordField (TMD0, Zero, PIO0)
                   CreateDWordField (TMD0, 0x04, DMA0)
                   CreateDWordField (TMD0, 0x08, PIO1)
                   CreateDWordField (TMD0, 0x0C, DMA1)
                   CreateDWordField (TMD0, 0x10, CHNF)
                   OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
                   Field (CFG2, DWordAcc, NoLock, Preserve)
                   {
                           ,   3, 
                       CBID,   1, 
                               Offset (0x04), 
                       SMPM,   3, 
                       SMIO,   1, 
                       SMUD,   3, 
                       SMUE,   1, 
                       SSPM,   3, 
                       SSIO,   1, 
                       SSUD,   3, 
                       SSUE,   1, 
                       PMPM,   3, 
                       PMIO,   1, 
                       PMUD,   3, 
                       PMUE,   1, 
                       PSPM,   3, 
                       PSIO,   1, 
                       PSUD,   3, 
                       PSUE,   1
                   }

                   Name (GMPT, Zero)
                   Name (GMUE, Zero)
                   Name (GMUT, Zero)
                   Name (GMCR, Zero)
                   Name (GSPT, Zero)
                   Name (GSUE, Zero)
                   Name (GSUT, Zero)
                   Name (GSCR, Zero)
                   Device (CHN1)
                   {
                       Name (_ADR, One)
                       Method (_GTM, 0, NotSerialized)
                       {
                           ShiftLeft (SSIO, One, Local0)
                           Or (Local0, SMIO, Local0)
                           Return (GTM (SMUE, SMIO, SMUD, SSUE, SSIO, SSUD, Local0))
                       }

                       Method (_STM, 3, NotSerialized)
                       {
                           Store (Arg0, Debug)
                           Store (Arg0, TMD0)
                           Store (GTF (Zero, Arg1), ATA2)
                           Store (GTF (One, Arg2), ATA3)
                       }

                       Device (DRV0)
                       {
                           Name (_ADR, Zero)
                           Method (_GTF, 0, NotSerialized)
                           {
                               Return (RATA (ATA2))
                           }
                       }

                       Device (DRV1)
                       {
                           Name (_ADR, One)
                           Method (_GTF, 0, NotSerialized)
                           {
                               Return (RATA (ATA3))
                           }
                       }
                   }

                   Method (GTM, 7, Serialized)
                   {
                       Store (Ones, PIO0)
                       Store (Ones, PIO1)
                       Store (Ones, DMA0)
                       Store (Ones, DMA1)
                       Store (0x10, CHNF)
                       If (REGF) {}
                       Else
                       {
                           Return (TMD0)
                       }

                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg0)), 
                           PIO0)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg3)), 
                           PIO1)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg0)), 
                           DMA0)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg3)), 
                           DMA1)
                       If (And (Arg6, One))
                       {
                           Or (CHNF, 0x02, CHNF)
                       }

                       If (And (Arg6, 0x02))
                       {
                           Or (CHNF, 0x08, CHNF)
                       }

                       If (Arg0)
                       {
                           Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Arg2)), 
                               DMA0)
                           Or (CHNF, One, CHNF)
                       }

                       If (Arg3)
                       {
                           Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Arg5)), 
                               DMA1)
                           Or (CHNF, 0x04, CHNF)
                       }

                       Store (TMD0, Debug)
                       Return (TMD0)
                   }

                   Name (AT01, Buffer (0x07)
                   {
                       0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                   })
                   Name (AT02, Buffer (0x07)
                   {
                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
                   })
                   Name (AT03, Buffer (0x07)
                   {
                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
                   })
                   Name (AT04, Buffer (0x07)
                   {
                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
                   })
                   Name (ATA0, Buffer (0x1D) {})
                   Name (ATA1, Buffer (0x1D) {})
                   Name (ATA2, Buffer (0x1D) {})
                   Name (ATA3, Buffer (0x1D) {})
                   Name (ATAB, Buffer (0x1D) {})
                   CreateByteField (ATAB, Zero, CMDC)
                   Method (GTFB, 3, Serialized)
                   {
                       Multiply (CMDC, 0x38, Local0)
                       Add (Local0, 0x08, Local1)
                       CreateField (ATAB, Local1, 0x38, CMDX)
                       Multiply (CMDC, 0x07, Local0)
                       CreateByteField (ATAB, Add (Local0, 0x02), A001)
                       CreateByteField (ATAB, Add (Local0, 0x06), A005)
                       Store (Arg0, CMDX)
                       Store (Arg1, A001)
                       Store (Arg2, A005)
                       Increment (CMDC)
                   }

                   Method (GTF, 2, Serialized)
                   {
                       Store (Arg1, Debug)
                       Store (Zero, CMDC)
                       Name (ID49, 0x0C00)
                       Name (ID59, Zero)
                       Name (ID53, 0x04)
                       Name (ID63, 0x0F00)
                       Name (ID88, 0x0F00)
                       Name (IRDY, One)
                       Name (PIOT, Zero)
                       Name (DMAT, Zero)
                       If (LEqual (SizeOf (Arg1), 0x0200))
                       {
                           CreateWordField (Arg1, 0x62, IW49)
                           Store (IW49, ID49)
                           CreateWordField (Arg1, 0x6A, IW53)
                           Store (IW53, ID53)
                           CreateWordField (Arg1, 0x7E, IW63)
                           Store (IW63, ID63)
                           CreateWordField (Arg1, 0x76, IW59)
                           Store (IW59, ID59)
                           CreateWordField (Arg1, 0xB0, IW88)
                           Store (IW88, ID88)
                       }

                       Store (0xA0, Local7)
                       If (Arg0)
                       {
                           Store (0xB0, Local7)
                           And (CHNF, 0x08, IRDY)
                           If (And (CHNF, 0x10))
                           {
                               Store (PIO1, PIOT)
                           }
                           Else
                           {
                               Store (PIO0, PIOT)
                           }

                           If (And (CHNF, 0x04))
                           {
                               If (And (CHNF, 0x10))
                               {
                                   Store (DMA1, DMAT)
                               }
                               Else
                               {
                                   Store (DMA0, DMAT)
                               }
                           }
                       }
                       Else
                       {
                           And (CHNF, 0x02, IRDY)
                           Store (PIO0, PIOT)
                           If (And (CHNF, One))
                           {
                               Store (DMA0, DMAT)
                           }
                       }

                       If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
                           )), DMAT))
                       {
                           Store (DMAT, Local1)
                           If (LGreater (Local1, 0x05))
                           {
                               Store (0x05, Local1)
                           }

                           GTFB (AT01, Or (0x40, Local1), Local7)
                       }
                       Else
                       {
                       }

                       If (IRDY)
                       {
                           And (PIOT, 0x07, Local0)
                           Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0
                               )), Local1)
                           GTFB (AT01, Local1, Local7)
                       }
                       Else
                       {
                           If (And (ID49, 0x0400))
                           {
                               GTFB (AT01, One, Local7)
                           }
                       }

                       If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
                       {
                           GTFB (AT03, And (ID59, 0xFF), Local7)
                       }

                       Store (ATAB, Debug)
                       Return (ATAB)
                   }

                   Method (RATA, 1, NotSerialized)
                   {
                       CreateByteField (Arg0, Zero, CMDN)
                       Multiply (CMDN, 0x38, Local0)
                       CreateField (Arg0, 0x08, Local0, RETB)
                       Store (RETB, Debug)
                       Return (RETB)
                   }
               }

               Device (JMF1)
               {
                   Name (_ADR, One)
                   Name (REGF, One)
                   Method (_REG, 2, NotSerialized)
                   {
                       If (LEqual (Arg0, 0x02))
                       {
                           Store (Arg1, REGF)
                       }
                   }

                   Name (TIM0, Package (0x08)
                   {
                       Package (0x04)
                       {
                           0x78, 
                           0xB4, 
                           0xF0, 
                           0x0384
                       }, 

                       Package (0x04)
                       {
                           0x23, 
                           0x21, 
                           0x10, 
                           Zero
                       }, 

                       Package (0x04)
                       {
                           0x0B, 
                           0x09, 
                           0x04, 
                           Zero
                       }, 

                       Package (0x06)
                       {
                           0x70, 
                           0x49, 
                           0x36, 
                           0x27, 
                           0x19, 
                           0x14
                       }, 

                       Package (0x06)
                       {
                           Zero, 
                           One, 
                           0x02, 
                           One, 
                           0x02, 
                           One
                       }, 

                       Package (0x06)
                       {
                           Zero, 
                           Zero, 
                           Zero, 
                           One, 
                           One, 
                           One
                       }, 

                       Package (0x04)
                       {
                           0x04, 
                           0x03, 
                           0x02, 
                           Zero
                       }, 

                       Package (0x04)
                       {
                           0x02, 
                           One, 
                           Zero, 
                           Zero
                       }
                   })
                   Name (TMD0, Buffer (0x14) {})
                   CreateDWordField (TMD0, Zero, PIO0)
                   CreateDWordField (TMD0, 0x04, DMA0)
                   CreateDWordField (TMD0, 0x08, PIO1)
                   CreateDWordField (TMD0, 0x0C, DMA1)
                   CreateDWordField (TMD0, 0x10, CHNF)
                   OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
                   Field (CFG2, DWordAcc, NoLock, Preserve)
                   {
                           ,   3, 
                       CBID,   1, 
                               Offset (0x04), 
                       SMPM,   3, 
                       SMIO,   1, 
                       SMUD,   3, 
                       SMUE,   1, 
                       SSPM,   3, 
                       SSIO,   1, 
                       SSUD,   3, 
                       SSUE,   1, 
                       PMPM,   3, 
                       PMIO,   1, 
                       PMUD,   3, 
                       PMUE,   1, 
                       PSPM,   3, 
                       PSIO,   1, 
                       PSUD,   3, 
                       PSUE,   1
                   }

                   Name (GMPT, Zero)
                   Name (GMUE, Zero)
                   Name (GMUT, Zero)
                   Name (GMCR, Zero)
                   Name (GSPT, Zero)
                   Name (GSUE, Zero)
                   Name (GSUT, Zero)
                   Name (GSCR, Zero)
                   Device (CHN1)
                   {
                       Name (_ADR, One)
                       Method (_STA, 0, NotSerialized)
                       {
                           Return (0x0B)
                       }
                   }

                   Device (CHN0)
                   {
                       Name (_ADR, Zero)
                       Method (_GTM, 0, NotSerialized)
                       {
                           ShiftLeft (SSIO, One, Local0)
                           Or (Local0, SMIO, Local0)
                           Return (GTM (SMUE, SMIO, SMUD, SSUE, SSIO, SSUD, Local0))
                       }

                       Method (_STM, 3, NotSerialized)
                       {
                           Store (Arg0, Debug)
                           Store (Arg0, TMD0)
                           Store (GTF (Zero, Arg1), ATA2)
                           Store (GTF (One, Arg2), ATA3)
                       }

                       Device (DRV0)
                       {
                           Name (_ADR, Zero)
                           Method (_GTF, 0, NotSerialized)
                           {
                               Return (RATA (ATA2))
                           }
                       }

                       Device (DRV1)
                       {
                           Name (_ADR, One)
                           Method (_GTF, 0, NotSerialized)
                           {
                               Return (RATA (ATA3))
                           }
                       }
                   }

                   Method (GTM, 7, Serialized)
                   {
                       Store (Ones, PIO0)
                       Store (Ones, PIO1)
                       Store (Ones, DMA0)
                       Store (Ones, DMA1)
                       Store (0x10, CHNF)
                       If (REGF) {}
                       Else
                       {
                           Return (TMD0)
                       }

                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg0)), 
                           PIO0)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg3)), 
                           PIO1)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg0)), 
                           DMA0)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Arg3)), 
                           DMA1)
                       If (And (Arg6, One))
                       {
                           Or (CHNF, 0x02, CHNF)
                       }

                       If (And (Arg6, 0x02))
                       {
                           Or (CHNF, 0x08, CHNF)
                       }

                       If (Arg0)
                       {
                           Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Arg2)), 
                               DMA0)
                           Or (CHNF, One, CHNF)
                       }

                       If (Arg3)
                       {
                           Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Arg5)), 
                               DMA1)
                           Or (CHNF, 0x04, CHNF)
                       }

                       Store (TMD0, Debug)
                       Return (TMD0)
                   }

                   Name (AT01, Buffer (0x07)
                   {
                       0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
                   })
                   Name (AT02, Buffer (0x07)
                   {
                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
                   })
                   Name (AT03, Buffer (0x07)
                   {
                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
                   })
                   Name (AT04, Buffer (0x07)
                   {
                       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
                   })
                   Name (ATA0, Buffer (0x1D) {})
                   Name (ATA1, Buffer (0x1D) {})
                   Name (ATA2, Buffer (0x1D) {})
                   Name (ATA3, Buffer (0x1D) {})
                   Name (ATAB, Buffer (0x1D) {})
                   CreateByteField (ATAB, Zero, CMDC)
                   Method (GTFB, 3, Serialized)
                   {
                       Multiply (CMDC, 0x38, Local0)
                       Add (Local0, 0x08, Local1)
                       CreateField (ATAB, Local1, 0x38, CMDX)
                       Multiply (CMDC, 0x07, Local0)
                       CreateByteField (ATAB, Add (Local0, 0x02), A001)
                       CreateByteField (ATAB, Add (Local0, 0x06), A005)
                       Store (Arg0, CMDX)
                       Store (Arg1, A001)
                       Store (Arg2, A005)
                       Increment (CMDC)
                   }

                   Method (GTF, 2, Serialized)
                   {
                       Store (Arg1, Debug)
                       Store (Zero, CMDC)
                       Name (ID49, 0x0C00)
                       Name (ID59, Zero)
                       Name (ID53, 0x04)
                       Name (ID63, 0x0F00)
                       Name (ID88, 0x0F00)
                       Name (IRDY, One)
                       Name (PIOT, Zero)
                       Name (DMAT, Zero)
                       If (LEqual (SizeOf (Arg1), 0x0200))
                       {
                           CreateWordField (Arg1, 0x62, IW49)
                           Store (IW49, ID49)
                           CreateWordField (Arg1, 0x6A, IW53)
                           Store (IW53, ID53)
                           CreateWordField (Arg1, 0x7E, IW63)
                           Store (IW63, ID63)
                           CreateWordField (Arg1, 0x76, IW59)
                           Store (IW59, ID59)
                           CreateWordField (Arg1, 0xB0, IW88)
                           Store (IW88, ID88)
                       }

                       Store (0xA0, Local7)
                       If (Arg0)
                       {
                           Store (0xB0, Local7)
                           And (CHNF, 0x08, IRDY)
                           If (And (CHNF, 0x10))
                           {
                               Store (PIO1, PIOT)
                           }
                           Else
                           {
                               Store (PIO0, PIOT)
                           }

                           If (And (CHNF, 0x04))
                           {
                               If (And (CHNF, 0x10))
                               {
                                   Store (DMA1, DMAT)
                               }
                               Else
                               {
                                   Store (DMA0, DMAT)
                               }
                           }
                       }
                       Else
                       {
                           And (CHNF, 0x02, IRDY)
                           Store (PIO0, PIOT)
                           If (And (CHNF, One))
                           {
                               Store (DMA0, DMAT)
                           }
                       }

                       If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
                           )), DMAT))
                       {
                           Store (DMAT, Local1)
                           If (LGreater (Local1, 0x05))
                           {
                               Store (0x05, Local1)
                           }

                           GTFB (AT01, Or (0x40, Local1), Local7)
                       }
                       Else
                       {
                       }

                       If (IRDY)
                       {
                           And (PIOT, 0x07, Local0)
                           Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0
                               )), Local1)
                           GTFB (AT01, Local1, Local7)
                       }
                       Else
                       {
                           If (And (ID49, 0x0400))
                           {
                               GTFB (AT01, One, Local7)
                           }
                       }

                       If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
                       {
                           GTFB (AT03, And (ID59, 0xFF), Local7)
                       }

                       Store (ATAB, Debug)
                       Return (ATAB)
                   }

                   Method (RATA, 1, NotSerialized)
                   {
                       CreateByteField (Arg0, Zero, CMDN)
                       Multiply (CMDN, 0x38, Local0)
                       CreateField (Arg0, 0x08, Local0, RETB)
                       Store (RETB, Debug)
                       Return (RETB)
                   }
               }
           }

           Device (SBRG)
           {
               Name (_ADR, 0x001F0000)
               Method (SPTS, 1, NotSerialized)
               {
                   Store (One, PS1S)
                   Store (One, PS1E)
                   Store (One, SLPS)
               }

               Method (SWAK, 1, NotSerialized)
               {
                   Store (Zero, SLPS)
                   Store (Zero, PS1E)
                   If (LNot (GNVS (0x8370)))
                   {
                       Notify (PWRB, 0x02)
                   }
               }

               OperationRegion (PMS0, SystemIO, PMBS, 0x04)
               Field (PMS0, ByteAcc, NoLock, Preserve)
               {
                       ,   10, 
                   RTCS,   1, 
                       ,   4, 
                   WAKS,   1, 
                           Offset (0x03), 
                   PWBT,   1, 
                           Offset (0x04)
               }

               OperationRegion (SMIE, SystemIO, PM30, 0x08)
               Field (SMIE, ByteAcc, NoLock, Preserve)
               {
                       ,   4, 
                   PS1E,   1, 
                       ,   31, 
                   PS1S,   1, 
                           Offset (0x08)
               }

               Scope (\_SB)
               {
                   Name (SLPS, Zero)
                   Device (SLPB)
                   {
                       Name (_HID, EisaId ("PNP0C0E"))
                       Method (_STA, 0, NotSerialized)
                       {
                           If (LNotEqual (SUSW, 0xFF))
                           {
                               Return (0x0F)
                           }

                           Return (Zero)
                       }

                       Method (SBEV, 0, NotSerialized)
                       {
                           If (SLPS)
                           {
                               Notify (SLPB, 0x02)
                           }
                           Else
                           {
                               Notify (SLPB, 0x80)
                           }
                       }

                       Method (\_GPE._L1B, 0, NotSerialized)
                       {
                           \_SB.SLPB.SBEV ()
                       }

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

               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
                           )
                   })
               }

               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
                           )
                       IO (Decode16,
                           0x0050,             // Range Minimum
                           0x0050,             // Range Maximum
                           0x01,               // Alignment
                           0x04,               // Length
                           )
                   })
               }

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

               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 (FDC)
               {
                   Name (_HID, EisaId ("PNP0700"))
                   Name (_FDE, Package (0x05)
                   {
                       One, 
                       Zero, 
                       0x02, 
                       0x02, 
                       0x02
                   })
                   Method (_STA, 0, NotSerialized)
                   {
                       Return (DSTA (0x03))
                   }

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

                   Method (_CRS, 0, NotSerialized)
                   {
                       DCRS (0x03, One)
                       Store (IRQM, IRQE)
                       Store (DMAM, DMAE)
                       Store (IO11, IO21)
                       Store (IO12, IO22)
                       Store (0x06, LEN2)
                       Add (IO21, 0x07, IO31)
                       Store (IO31, IO32)
                       Store (One, LEN3)
                       Return (CRS2)
                   }

                   Method (_SRS, 1, NotSerialized)
                   {
                       DSRS (Arg0, 0x03)
                       CreateWordField (Arg0, One, IRQE)
                       CreateByteField (Arg0, 0x04, DMAE)
                       ENFG (CGLD (0x03))
                       If (IRQE)
                       {
                           FindSetRightBit (IRQE, Local0)
                           Subtract (Local0, One, INTR)
                       }
                       Else
                       {
                           Store (Zero, INTR)
                       }

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

                       EXFG ()
                   }

                   Name (_PRS, ResourceTemplate ()
                   {
                       StartDependentFn (0x00, 0x00)
                       {
                           IO (Decode16,
                               0x03F0,             // Range Minimum
                               0x03F0,             // Range Maximum
                               0x01,               // Alignment
                               0x06,               // Length
                               )
                           IO (Decode16,
                               0x03F7,             // Range Minimum
                               0x03F7,             // Range Maximum
                               0x01,               // Alignment
                               0x01,               // Length
                               )
                           IRQNoFlags ()
                               {6}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {2}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x03F0,             // Range Minimum
                               0x03F0,             // Range Maximum
                               0x01,               // Alignment
                               0x06,               // Length
                               )
                           IO (Decode16,
                               0x03F7,             // Range Minimum
                               0x03F7,             // Range Maximum
                               0x01,               // Alignment
                               0x01,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x0370,             // Range Minimum
                               0x0370,             // Range Maximum
                               0x01,               // Alignment
                               0x06,               // Length
                               )
                           IO (Decode16,
                               0x0377,             // Range Minimum
                               0x0377,             // Range Maximum
                               0x01,               // Alignment
                               0x01,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       EndDependentFn ()
                   })
               }

               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
                           _Y00)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           )
                       IO (Decode16,
                           0x0290,             // Range Minimum
                           0x0290,             // Range Maximum
                           0x00,               // Alignment
                           0x08,               // Length
                           )
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater (SPIO, 0xF0)))
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._MIN, GP10)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._MAX, GP11)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y00._LEN, GPL1)
                           Store (SPIO, GP10)
                           Store (SPIO, GP11)
                           Store (0x02, GPL1)
                       }

                       Return (CRS)
                   }
               }

               Name (DCAT, Package (0x15)
               {
                   0x02, 
                   0x03, 
                   One, 
                   Zero, 
                   0xFF, 
                   0x07, 
                   0xFF, 
                   0xFF, 
                   0x07, 
                   0xFF, 
                   0xFF, 
                   0xFF, 
                   0xFF, 
                   0xFF, 
                   0xFF, 
                   0xFF, 
                   0x07, 
                   0x08, 
                   0x09, 
                   0xFF, 
                   0xFF
               })
               Mutex (IOCF, 0x00)
               Method (ENFG, 1, NotSerialized)
               {
                   Acquire (IOCF, 0xFFFF)
                   Store (0x87, INDX)
                   Store (0x87, INDX)
                   Store (Arg0, LDN)
               }

               Method (EXFG, 0, NotSerialized)
               {
                   Store (0xAA, INDX)
                   Release (IOCF)
               }

               Method (LPTM, 1, NotSerialized)
               {
                   ENFG (CGLD (Arg0))
                   And (OPT0, 0x02, Local0)
                   EXFG ()
                   Return (Local0)
               }

               Method (UHID, 1, NotSerialized)
               {
                   If (LEqual (Arg0, One))
                   {
                       ENFG (CGLD (Arg0))
                       And (OPT1, 0x38, Local0)
                       EXFG ()
                       If (Local0)
                       {
                           Return (0x1005D041)
                       }
                   }

                   Return (0x0105D041)
               }

               Method (SIOK, 1, NotSerialized)
               {
                   ENFG (0x0A)
                   If (LGreater (Arg0, One))
                   {
                       Or (CRE4, 0x10, CRE4)
                   }

                   Store (CRE3, Local0)
                   EXFG ()
               }

               Method (SIOS, 1, NotSerialized)
               {
                   Store ("SIOS", Debug)
                   SIOK (Arg0)
               }

               Method (SIOW, 1, NotSerialized)
               {
                   Store ("SIOW", Debug)
                   SIOK (Zero)
               }

               Method (SIOH, 0, NotSerialized)
               {
                   Store ("SIOH", Debug)
                   ENFG (0x0A)
                   If (And (OPT3, 0x10))
                   {
                       Notify (PS2K, 0x02)
                   }

                   If (And (OPT3, 0x20))
                   {
                       Notify (PS2M, 0x02)
                   }

                   EXFG ()
                   SIOK (Zero)
               }

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

               IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
               {
                           Offset (0x07), 
                   LDN,    8, 
                           Offset (0x22), 
                   FDCP,   1, 
                       ,   2, 
                   LPTP,   1, 
                   URAP,   1, 
                   URBP,   1, 
                           Offset (0x30), 
                   ACTR,   8, 
                           Offset (0x60), 
                   IOAH,   8, 
                   IOAL,   8, 
                   IOH2,   8, 
                   IOL2,   8, 
                           Offset (0x70), 
                   INTR,   4, 
                           Offset (0x74), 
                   DMCH,   3, 
                           Offset (0xE0), 
                   CRE0,   8, 
                   CRE1,   8, 
                   CRE2,   8, 
                   CRE3,   8, 
                   CRE4,   8, 
                   CRE5,   8, 
                   CRE6,   8, 
                           Offset (0xF0), 
                   OPT0,   8, 
                   OPT1,   8, 
                   OPT2,   8, 
                   OPT3,   8, 
                           Offset (0xF5), 
                   OPT5,   8, 
                   OPT6,   8, 
                           Offset (0xF9), 
                   OPT9,   8
               }

               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)
                   }

                   If (LEqual (Arg0, 0x05))
                   {
                       ShiftRight (Local0, 0x02, Local0)
                   }

                   If (LEqual (Arg0, 0x08))
                   {
                       ShiftRight (Local0, One, Local0)
                   }

                   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))
                   If (LEqual (Arg0, 0x05))
                   {
                       ShiftLeft (IOH2, 0x08, Local1)
                       Or (IOL2, Local1, Local1)
                   }
                   Else
                   {
                       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, Local1)
                   Store (One, Local2)
                   If (LEqual (Arg0, 0x05))
                   {
                       ShiftLeft (Arg1, 0x02, Local1)
                       ShiftLeft (Local2, 0x02, Local2)
                   }

                   If (LEqual (Arg0, 0x08))
                   {
                       ShiftLeft (Arg1, One, Local1)
                       ShiftLeft (Local2, One, Local2)
                   }

                   Store (ACTR, Local0)
                   Not (Local2, Local3)
                   And (Local0, Local3, Local0)
                   Or (Local0, Local1, Local0)
                   Store (Local0, ACTR)
                   EXFG ()
               }

               Name (CRS1, ResourceTemplate ()
               {
                   IRQNoFlags ()
                       {}
                   DMA (Compatibility, NotBusMaster, Transfer8, _Y01)
                       {}
                   IO (Decode16,
                       0x0000,             // Range Minimum
                       0x0000,             // Range Maximum
                       0x01,               // Alignment
                       0x00,               // Length
                       _Y02)
               })
               CreateWordField (CRS1, One, IRQM)
               CreateByteField (CRS1, \_SB.PCI0.SBRG._Y01._DMA, DMAM)
               CreateWordField (CRS1, \_SB.PCI0.SBRG._Y02._MIN, IO11)
               CreateWordField (CRS1, \_SB.PCI0.SBRG._Y02._MAX, IO12)
               CreateByteField (CRS1, \_SB.PCI0.SBRG._Y02._LEN, LEN1)
               Name (CRS2, ResourceTemplate ()
               {
                   IRQNoFlags ()
                       {6}
                   DMA (Compatibility, NotBusMaster, Transfer8, _Y03)
                       {2}
                   IO (Decode16,
                       0x0000,             // Range Minimum
                       0x0000,             // Range Maximum
                       0x01,               // Alignment
                       0x00,               // Length
                       _Y04)
                   IO (Decode16,
                       0x0000,             // Range Minimum
                       0x0000,             // Range Maximum
                       0x01,               // Alignment
                       0x00,               // Length
                       _Y05)
               })
               CreateWordField (CRS2, One, IRQE)
               CreateByteField (CRS2, \_SB.PCI0.SBRG._Y03._DMA, DMAE)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y04._MIN, IO21)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y04._MAX, IO22)
               CreateByteField (CRS2, \_SB.PCI0.SBRG._Y04._LEN, LEN2)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y05._MIN, IO31)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y05._MAX, IO32)
               CreateByteField (CRS2, \_SB.PCI0.SBRG._Y05._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, One, IRQM)
                   CreateByteField (Arg0, 0x04, DMAM)
                   CreateWordField (Arg0, 0x08, IO11)
                   ENFG (CGLD (Arg1))
                   And (IO11, 0xFF, IOAL)
                   ShiftRight (IO11, 0x08, IOAH)
                   If (IRQM)
                   {
                       FindSetRightBit (IRQM, Local0)
                       Subtract (Local0, One, INTR)
                   }
                   Else
                   {
                       Store (Zero, INTR)
                   }

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

                   EXFG ()
                   DCNT (Arg1, One)
               }

               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,
                           0x0044,             // Range Minimum
                           0x0044,             // Range Maximum
                           0x00,               // Alignment
                           0x1C,               // Length
                           )
                       IO (Decode16,
                           0x0062,             // Range Minimum
                           0x0062,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0065,             // Range Minimum
                           0x0065,             // Range Maximum
                           0x00,               // Alignment
                           0x0B,               // Length
                           )
                       IO (Decode16,
                           0x0072,             // Range Minimum
                           0x0072,             // Range Maximum
                           0x00,               // Alignment
                           0x0E,               // Length
                           )
                       IO (Decode16,
                           0x0080,             // Range Minimum
                           0x0080,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0084,             // Range Minimum
                           0x0084,             // Range Maximum
                           0x00,               // Alignment
                           0x03,               // Length
                           )
                       IO (Decode16,
                           0x0088,             // Range Minimum
                           0x0088,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x008C,             // Range Minimum
                           0x008C,             // Range Maximum
                           0x00,               // Alignment
                           0x03,               // Length
                           )
                       IO (Decode16,
                           0x0090,             // Range Minimum
                           0x0090,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0x00A2,             // Range Minimum
                           0x00A2,             // Range Maximum
                           0x00,               // Alignment
                           0x1E,               // Length
                           )
                       IO (Decode16,
                           0x00E0,             // Range Minimum
                           0x00E0,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0x04D0,             // Range Minimum
                           0x04D0,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y06)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y07)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y08)
                       Memory32Fixed (ReadWrite,
                           0xFED1C000,         // Address Base
                           0x00004000,         // Address Length
                           )
                       Memory32Fixed (ReadWrite,
                           0xFED20000,         // Address Base
                           0x00020000,         // Address Length
                           )
                       Memory32Fixed (ReadWrite,
                           0xFED50000,         // Address Base
                           0x00040000,         // Address Length
                           )
                       Memory32Fixed (ReadWrite,
                           0xFFB00000,         // Address Base
                           0x00100000,         // Address Length
                           )
                       Memory32Fixed (ReadWrite,
                           0xFFF00000,         // Address Base
                           0x00100000,         // Address Length
                           )
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y06._MIN, GP00)
                       CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y06._MAX, GP01)
                       CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y06._LEN, GP0L)
                       Store (PMBS, GP00)
                       Store (PMBS, GP01)
                       Store (PMLN, GP0L)
                       If (SMBH)
                       {
                           If (SMBS)
                           {
                               CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y07._MIN, GP10)
                               CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y07._MAX, GP11)
                               CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y07._LEN, GP1L)
                               Store (SMBS, GP10)
                               Store (SMBS, GP11)
                               Store (SMBL, GP1L)
                           }
                       }

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

                       Return (CRS)
                   }
               }

               Device (P3F6)
               {
                   Name (_HID, EisaId ("PNP0C02"))
                   Name (_UID, 0x03F6)
                   Method (_STA, 0, NotSerialized)
                   {
                       Store (0x0F, Local1)
                       Store (^^^IDE0.PAMD, Local0)
                       And (Local0, 0xF5, Local0)
                       If (LEqual (Local0, 0x80))
                       {
                           Store (Zero, Local1)
                       }

                       Store (^^^IDE1.SAMD, Local0)
                       And (Local0, 0xF5, Local0)
                       If (LEqual (Local0, 0x80))
                       {
                           Store (Zero, Local1)
                       }

                       Return (Local1)
                   }

                   Name (CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x03F6,             // Range Minimum
                           0x03F6,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       Return (CRS)
                   }
               }

               OperationRegion (IODC, PCI_Config, 0x80, 0x0A)
               Field (IODC, ByteAcc, NoLock, Preserve)
               {
                   CADC,   3, 
                       ,   1, 
                   CBDC,   3, 
                           Offset (0x01), 
                   LPDC,   2, 
                       ,   2, 
                   FDDC,   1, 
                           Offset (0x02), 
                   CAEN,   1, 
                   CBEN,   1, 
                   LPEN,   1, 
                   FDEN,   1, 
                           Offset (0x03), 
                   GLEN,   1, 
                   GHEN,   1, 
                   KBEN,   1, 
                   MCEN,   1, 
                   C1EN,   1, 
                   C2EN,   1, 
                           Offset (0x04), 
                   G1EN,   1, 
                       ,   6, 
                   G1D1,   1, 
                   G1D2,   8, 
                           Offset (0x08), 
                   G2EN,   1, 
                       ,   3, 
                   G2D1,   4, 
                   G2D2,   8
               }

               Method (PDEC, 2, NotSerialized)
               {
                   If (LEqual (Arg0, Zero))
                   {
                       If (LEqual (Arg1, 0x03F8))
                       {
                           Store (Zero, CADC)
                       }

                       If (LEqual (Arg1, 0x02F8))
                       {
                           Store (One, CADC)
                       }

                       If (LEqual (Arg1, 0x02E8))
                       {
                           Store (0x05, CADC)
                       }

                       If (LEqual (Arg1, 0x03E8))
                       {
                           Store (0x07, CADC)
                       }

                       Store (One, CAEN)
                   }

                   If (LEqual (Arg0, One))
                   {
                       If (LEqual (Arg1, 0x03F8))
                       {
                           Store (Zero, CBDC)
                       }

                       If (LEqual (Arg1, 0x02F8))
                       {
                           Store (One, CBDC)
                       }

                       If (LEqual (Arg1, 0x02E8))
                       {
                           Store (0x05, CBDC)
                       }

                       If (LEqual (Arg1, 0x03E8))
                       {
                           Store (0x07, CBDC)
                       }

                       Store (One, CBEN)
                   }

                   If (LEqual (Arg0, 0x02))
                   {
                       If (LEqual (Arg1, 0x0378))
                       {
                           Store (Zero, LPDC)
                       }

                       If (LEqual (Arg1, 0x0278))
                       {
                           Store (One, LPDC)
                       }

                       If (LEqual (Arg1, 0x03BC))
                       {
                           Store (0x02, LPDC)
                       }

                       Store (One, LPEN)
                   }

                   If (LEqual (Arg0, 0x08))
                   {
                       If (LEqual (Arg1, 0x0200))
                       {
                           Store (One, GLEN)
                           Store (Zero, GHEN)
                       }

                       If (LEqual (Arg1, 0x0208))
                       {
                           Store (Zero, GLEN)
                           Store (One, GHEN)
                       }
                   }
               }

               Device (HPET)
               {
                   Name (_HID, EisaId ("PNP0103"))
                   Name (CRS, ResourceTemplate ()
                   {
                       IRQNoFlags ()
                           {0}
                       IRQNoFlags ()
                           {8}
                       Memory32Fixed (ReadOnly,
                           0xFED00000,         // Address Base
                           0x00000400,         // Address Length
                           _Y09)
                   })
                   OperationRegion (HPTC, SystemMemory, HTBA, 0x04)
                   Field (HPTC, ByteAcc, NoLock, Preserve)
                   {
                       HPTS,   2, 
                           ,   5, 
                       HPTE,   1, 
                               Offset (0x04)
                   }

                   Method (_STA, 0, NotSerialized)
                   {
                       If (LEqual (OSFL (), Zero))
                       {
                           If (HPTE)
                           {
                               Return (0x0F)
                           }
                       }
                       Else
                       {
                           If (HPTE)
                           {
                               Return (0x0B)
                           }
                       }

                       Return (Zero)
                   }

                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y09._BAS, HPT)
                       Multiply (HPTS, 0x1000, Local0)
                       Add (Local0, 0xFED00000, HPT)
                       Return (CRS)
                   }
               }

               Scope (\)
               {
                   OperationRegion (RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000)
                   Field (RAMW, ByteAcc, NoLock, Preserve)
                   {
                       PAR0,   32, 
                       PAR1,   32
                   }

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

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

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

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

               Scope (\_SB.PCI0.SBRG)
               {
                   Scope (\)
                   {
                       Field (RAMW, ByteAcc, NoLock, Preserve)
                       {
                                   Offset (0x08), 
                           ADSP,   32, 
                           CFEQ,   16, 
                           CFSB,   8, 
                           AITU,   8, 
                           CPMU,   8, 
                           FSBF,   16, 
                           MEMF,   8, 
                           CHTP,   8, 
                           CHTE,   8, 
                           NOST,   4, 
                           NOSS,   4, 
                           NOS1,   4, 
                           NOS2,   4, 
                           OCPI,   4, 
                           OVCP,   4, 
                           CPUQ,   1, 
                           CQFS,   3, 
                           CQFT,   4, 
                           OVID,   8, 
                           UVID,   8, 
                           AIDI,   8, 
                           MMOV,   4, 
                           CPOV,   4, 
                           CHQ1,   1, 
                           CQS1,   3, 
                           CQF1,   4
                       }
                   }

                   OperationRegion (SSMI, SystemIO, 0xB2, 0x02)
                   Field (SSMI, ByteAcc, NoLock, Preserve)
                   {
                       SMIC,   8, 
                       SMID,   8
                   }

                   OperationRegion (GPIO, SystemIO, GPBS, 0x40)
                   Field (GPIO, ByteAcc, NoLock, Preserve)
                   {
                               Offset (0x0C), 
                       GPOL,   32, 
                               Offset (0x38), 
                       GPOM,   32
                   }

                   Device (ASOC)
                   {
                       Name (_HID, "ATK0110")
                       Name (_UID, 0x01010110)
                       Method (_STA, 0, NotSerialized)
                       {
                           If (AIDI)
                           {
                               Return (Zero)
                           }
                           Else
                           {
                               Return (0x0F)
                           }
                       }

                       Name (MBIF, Package (0x08)
                       {
                           0x02, 
                           "P5W-DH   ", 
                           One, 
                           One, 
                           0x20000002, 
                           One, 
                           Zero, 
                           Zero
                       })
                       Method (ASIF, 0, NotSerialized)
                       {
                           Return (MBIF)
                       }

                       Name (BTCM, 0x48)
                       Name (WDCM, 0x4C)
                       Name (BLCM, 0x54)
                       Name (OC01, Package (0x06)
                       {
                           0x01010000, 
                           "CPU FSB", 
                           0x2710, 
                           0xAFC8, 
                           0x015F, 
                           0x00010003
                       })
                       Name (OC02, Package (0x06)
                       {
                           0x01060001, 
                           "CPU Multiplier", 
                           0x06, 
                           0x1C, 
                           0x17, 
                           0x00010003
                       })
                       Name (OC03, Package (0x06)
                       {
                           0x02010002, 
                           "Memory Freq", 
                           Zero, 
                           Zero, 
                           0x04, 
                           0x00010000
                       })
                       Name (OC04, Package (0x06)
                       {
                           0x07010003, 
                           "PCI Express", 
                           0x2710, 
                           0x332C, 
                           0x20, 
                           0x00010000
                       })
                       Name (OC05, Package (0x06)
                       {
                           0x05050004, 
                           "OC Profile", 
                           Zero, 
                           0x0A, 
                           0x0B, 
                           0x00010003
                       })
                       Name (OC06, Package (0x06)
                       {
                           0x08050005, 
                           "Turbo NOS", 
                           0x67, 
                           0x82, 
                           0x06, 
                           0x00010003
                       })
                       Name (OC07, Package (0x06)
                       {
                           0x08050006, 
                           "TwinTurbo NOS", 
                           Zero, 
                           One, 
                           0x02, 
                           0x00010000
                       })
                       Name (OC08, Package (0x06)
                       {
                           0x04040007, 
                           "FAN-Boost", 
                           0x2EE0, 
                           0x36B0, 
                           0x02, 
                           0x00010000
                       })
                       Name (OC09, Package (0x06)
                       {
                           0x01020008, 
                           "CPU Voltage", 
                           0x2AF8, 
                           0x4268, 
                           0x30, 
                           0x00010003
                       })
                       Name (OC0A, Package (0x06)
                       {
                           0x02020009, 
                           "DRAM Voltage", 
                           0x0708, 
                           0x0834, 
                           0x09, 
                           0x00010007
                       })
                       Name (OC0B, Package (0x06)
                       {
                           0x0702000A, 
                           "PCIE Voltage", 
                           0x05DC, 
                           0x0640, 
                           0x05, 
                           0x00010007
                       })
                       Name (OC0C, Package (0x06)
                       {
                           0x0106000B, 
                           "CPU HT", 
                           Zero, 
                           One, 
                           0x02, 
                           0x00010003
                       })
                       Name (OC0D, Package (0x06)
                       {
                           0x0906000C, 
                           "AI Overclock Tuner", 
                           Zero, 
                           0x04, 
                           0x05, 
                           0x00010003
                       })
                       Name (OC0E, Package (0x06)
                       {
                           0x0806000D, 
                           "NOS Mode", 
                           Zero, 
                           One, 
                           0x02, 
                           0x00010003
                       })
                       Name (OC0F, Package (0x06)
                       {
                           0x0806000E, 
                           "Sensitivity", 
                           Zero, 
                           0x02, 
                           0x03, 
                           0x00010003
                       })
                       Name (QCFN, Package (0x05)
                       {
                           0x04060003, 
                           "CPU Q-Fan Control", 
                           Zero, 
                           One, 
                           0x00030001
                       })
                       Name (QFLO, Package (0x06)
                       {
                           0x04050004, 
                           "CPU Q-Fan Ratio", 
                           0x3C, 
                           0x5A, 
                           0x05, 
                           One
                       })
                       Name (QFTP, Package (0x06)
                       {
                           0x04030005, 
                           "CPU Target Temperature", 
                           0x26, 
                           0x3E, 
                           0x09, 
                           0x00030001
                       })
                       Name (CFE1, Package (0x05)
                       {
                           0x04060006, 
                           "Chassis1 Q-Fan Control", 
                           Zero, 
                           One, 
                           Zero
                       })
                       Name (CFR1, Package (0x06)
                       {
                           0x04050007, 
                           "Chassis1 Q-Fan Ratio", 
                           0x3C, 
                           0x5A, 
                           0x05, 
                           Zero
                       })
                       Name (CFT1, Package (0x06)
                       {
                           0x04030008, 
                           "Chassis1 Target Temperature", 
                           0x26, 
                           0x3E, 
                           0x09, 
                           Zero
                       })
                       Name (EACF, Package (0x06)
                       {
                           0x04050009, 
                           "CPU Smart Fan Profile", 
                           Zero, 
                           0x02, 
                           0x03, 
                           Zero
                       })
                       Name (EAFC, Package (0x06)
                       {
                           0x0405000A, 
                           "Chassis Smart Fan Profile", 
                           Zero, 
                           0x02, 
                           0x03, 
                           Zero
                       })
                       Name (OBUF, Package (0x17)
                       {
                           OC01, 
                           OC02, 
                           OC03, 
                           OC04, 
                           OC05, 
                           OC06, 
                           OC07, 
                           OC08, 
                           OC09, 
                           OC0A, 
                           OC0B, 
                           OC0C, 
                           OC0D, 
                           OC0E, 
                           QCFN, 
                           QFLO, 
                           QFTP, 
                           CFE1, 
                           CFR1, 
                           CFT1, 
                           EACF, 
                           EAFC, 
                           OC0F
                       })
                       Name (OCVO, Zero)
                       Method (OCIF, 0, NotSerialized)
                       {
                           Store (OVID, Local0)
                           If (OVCP)
                           {
                               Store (0x08, Local2)
                           }
                           Else
                           {
                               Store (Zero, Local2)
                           }

                           Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), Zero)), 
                               Local1)
                           While (LNotEqual (Local0, Local1))
                           {
                               Increment (Local2)
                               If (LGreaterEqual (Local2, 0x31))
                               {
                                   Store (Local0, Local1)
                                   Store (0x12, Local2)
                               }
                               Else
                               {
                                   Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), Zero)), 
                                       Local1)
                               }
                           }

                           Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), 0x02)), 
                               Local1)
                           Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), One)), 
                               Local3)
                           Decrement (Local3)
                           Subtract (Local3, 0x64, Local3)
                           Multiply (Local3, 0x0A, Local3)
                           Store (Local3, Index (OC09, 0x02))
                           Store (Local1, Local3)
                           Add (Local1, 0x07, Local1)
                           Store (Local1, Index (OC09, 0x04))
                           Decrement (Local3)
                           Store (Local3, OCVO)
                           If (CFTE)
                           {
                               Store (0x00030001, Index (CFT1, 0x05))
                           }

                           If (EAQF)
                           {
                               Store (Zero, Index (QFLO, 0x05))
                               Store (Zero, Index (QFTP, 0x05))
                               Store (Zero, Index (CFR1, 0x05))
                               Store (Zero, Index (CFT1, 0x05))
                               Store (0x00010003, Index (EACF, 0x05))
                               Store (0x00010003, Index (EAFC, 0x05))
                           }

                           Return (OBUF)
                       }

                       Name (OTOV, Package (0x31)
                       {
                           Package (0x03)
                           {
                               0x2A, 
                               0x06A4, 
                               One
                           }, 

                           Package (0x03)
                           {
                               0x0B, 
                               0x0697, 
                               0x02
                           }, 

                           Package (0x03)
                           {
                               0x2B, 
                               0x068B, 
                               0x03
                           }, 

                           Package (0x03)
                           {
                               0x0C, 
                               0x067E, 
                               0x04
                           }, 

                           Package (0x03)
                           {
                               0x2C, 
                               0x0672, 
                               0x05
                           }, 

                           Package (0x03)
                           {
                               0x0D, 
                               0x0665, 
                               0x06
                           }, 

                           Package (0x03)
                           {
                               0x2D, 
                               0x0659, 
                               0x07
                           }, 

                           Package (0x03)
                           {
                               0x0E, 
                               0x064C, 
                               0x08
                           }, 

                           Package (0x03)
                           {
                               0x2A, 
                               0x0640, 
                               0x09
                           }, 

                           Package (0x03)
                           {
                               0x0B, 
                               0x0633, 
                               0x0A
                           }, 

                           Package (0x03)
                           {
                               0x2B, 
                               0x0627, 
                               0x0B
                           }, 

                           Package (0x03)
                           {
                               0x0C, 
                               0x061A, 
                               0x0C
                           }, 

                           Package (0x03)
                           {
                               0x2C, 
                               0x060E, 
                               0x0D
                           }, 

                           Package (0x03)
                           {
                               0x0D, 
                               0x0601, 
                               0x0E
                           }, 

                           Package (0x03)
                           {
                               0x2D, 
                               0x05F5, 
                               0x0F
                           }, 

                           Package (0x03)
                           {
                               0x0E, 
                               0x05E8, 
                               0x10
                           }, 

                           Package (0x03)
                           {
                               0x2E, 
                               0x05DC, 
                               0x11
                           }, 

                           Package (0x03)
                           {
                               0x0F, 
                               0x05CF, 
                               0x12
                           }, 

                           Package (0x03)
                           {
                               0x2F, 
                               0x05C3, 
                               0x13
                           }, 

                           Package (0x03)
                           {
                               0x10, 
                               0x05B6, 
                               0x14
                           }, 

                           Package (0x03)
                           {
                               0x30, 
                               0x05AA, 
                               0x15
                           }, 

                           Package (0x03)
                           {
                               0x11, 
                               0x059D, 
                               0x16
                           }, 

                           Package (0x03)
                           {
                               0x31, 
                               0x0591, 
                               0x17
                           }, 

                           Package (0x03)
                           {
                               0x12, 
                               0x0584, 
                               0x18
                           }, 

                           Package (0x03)
                           {
                               0x32, 
                               0x0578, 
                               0x19
                           }, 

                           Package (0x03)
                           {
                               0x13, 
                               0x056B, 
                               0x1A
                           }, 

                           Package (0x03)
                           {
                               0x33, 
                               0x055F, 
                               0x1B
                           }, 

                           Package (0x03)
                           {
                               0x14, 
                               0x0552, 
                               0x1C
                           }, 

                           Package (0x03)
                           {
                               0x34, 
                               0x0546, 
                               0x1D
                           }, 

                           Package (0x03)
                           {
                               0x15, 
                               0x0539, 
                               0x1E
                           }, 

                           Package (0x03)
                           {
                               0x35, 
                               0x052D, 
                               0x1F
                           }, 

                           Package (0x03)
                           {
                               0x16, 
                               0x0520, 
                               0x20
                           }, 

                           Package (0x03)
                           {
                               0x36, 
                               0x0514, 
                               0x21
                           }, 

                           Package (0x03)
                           {
                               0x17, 
                               0x0507, 
                               0x22
                           }, 

                           Package (0x03)
                           {
                               0x37, 
                               0x04FB, 
                               0x23
                           }, 

                           Package (0x03)
                           {
                               0x18, 
                               0x04EE, 
                               0x24
                           }, 

                           Package (0x03)
                           {
                               0x38, 
                               0x04E2, 
                               0x25
                           }, 

                           Package (0x03)
                           {
                               0x19, 
                               0x04D5, 
                               0x26
                           }, 

                           Package (0x03)
                           {
                               0x39, 
                               0x04C9, 
                               0x27
                           }, 

                           Package (0x03)
                           {
                               0x1A, 
                               0x04BC, 
                               0x28
                           }, 

                           Package (0x03)
                           {
                               0x3A, 
                               0x04B0, 
                               0x29
                           }, 

                           Package (0x03)
                           {
                               0x1B, 
                               0x04A3, 
                               0x2A
                           }, 

                           Package (0x03)
                           {
                               0x3B, 
                               0x0497, 
                               0x2B
                           }, 

                           Package (0x03)
                           {
                               0x1C, 
                               0x048A, 
                               0x2C
                           }, 

                           Package (0x03)
                           {
                               0x3C, 
                               0x047E, 
                               0x2D
                           }, 

                           Package (0x03)
                           {
                               0x1D, 
                               0x0471, 
                               0x2E
                           }, 

                           Package (0x03)
                           {
                               0x3D, 
                               0x0465, 
                               0x2F
                           }, 

                           Package (0x03)
                           {
                               0x1E, 
                               0x0458, 
                               0x30
                           }, 

                           Package (0x03)
                           {
                               0x3E, 
                               0x044C, 
                               0x31
                           }
                       })
                       OperationRegion (DBGE, SystemIO, 0x80, 0x04)
                       Field (DBGE, WordAcc, NoLock, Preserve)
                       {
                           DBGG,   22
                       }

                       Method (OCOP, 1, NotSerialized)
                       {
                           Store (DerefOf (Index (OC01, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (FSBF, Local0)
                               Multiply (Local0, 0x64, Local1)
                               Store (Local1, Index (CPUO, One))
                               Subtract (Local0, 0x64, Local2)
                               Store (Local2, Index (CPUO, 0x02))
                               Return (CPUO)
                           }

                           Store (DerefOf (Index (OC02, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (CPMU, Local0)
                               Subtract (Local0, 0x06, Local2)
                               Store (Local2, Index (CPUM, One))
                               Return (CPUM)
                           }

                           Store (DerefOf (Index (OC03, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Return (MEMO)
                           }

                           Store (DerefOf (Index (OC04, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Return (PCIO)
                           }

                           Store (DerefOf (Index (OC05, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (OCPI, Local0)
                               Store (Local0, Index (OCPO, 0x02))
                               Return (OCPO)
                           }

                           Store (DerefOf (Index (OC06, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (NOS1, Local0)
                               Increment (Local0)
                               Store (Local0, Index (AOCO, 0x02))
                               Return (AOCO)
                           }

                           Store (DerefOf (Index (OC07, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (NOS2, Local0)
                               Store (Local0, Index (AOC2, 0x02))
                               Return (AOC2)
                           }

                           Store (DerefOf (Index (OC08, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Return (FANB)
                           }

                           Store (DerefOf (Index (OC09, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (UVID, Index (CPUV, 0x02))
                               If (UVID)
                               {
                                   Store (UVID, Local0)
                                   Decrement (Local0)
                                   Store (Local0, Index (CPUV, 0x02))
                                   Store (DerefOf (Index (DerefOf (Index (OTOV, Local0)), One)), 
                                       Local1)
                                   Store (Local1, Index (CPUV, One))
                               }
                               Else
                               {
                                   Store (OVID, Local0)
                                   If (OVCP)
                                   {
                                       Store (0x08, Local2)
                                   }
                                   Else
                                   {
                                       Store (Zero, Local2)
                                   }

                                   Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), Zero)), 
                                       Local1)
                                   While (LNotEqual (Local0, Local1))
                                   {
                                       Increment (Local2)
                                       If (LGreaterEqual (Local2, 0x31))
                                       {
                                           Store (Local0, Local1)
                                           Store (0x12, Local2)
                                       }
                                       Else
                                       {
                                           Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), Zero)), 
                                               Local1)
                                       }
                                   }

                                   Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), One)), 
                                       Local1)
                                   Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), 0x02)), 
                                       Local2)
                                   Decrement (Local2)
                                   Store (Local2, Index (CPUV, 0x02))
                                   Store (Local1, Index (CPUV, One))
                               }

                               Return (CPUV)
                           }

                           Store (DerefOf (Index (OC0A, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LEqual (MMOV, Zero))
                               {
                                   Store (MMOV, Index (RAMV, 0x02))
                               }
                               Else
                               {
                                   Subtract (MMOV, One, Local2)
                                   Store (Local2, Index (RAMV, 0x02))
                               }

                               Store (0x03, Index (RAMV, 0x03))
                               Return (RAMV)
                           }

                           Store (DerefOf (Index (OC0B, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LEqual (CPOV, Zero))
                               {
                                   Store (CPOV, Index (PCIV, 0x02))
                               }
                               Else
                               {
                                   Subtract (CPOV, One, Local2)
                                   Store (Local2, Index (PCIV, 0x02))
                               }

                               Store (0x03, Index (PCIV, 0x03))
                               Return (PCIV)
                           }

                           Store (DerefOf (Index (OC0C, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (CHTP, Local2)
                               Store (CHTE, Local3)
                               Store (Local3, Index (PRHT, 0x02))
                               If (LEqual (CHTP, 0x55))
                               {
                                   Store (One, Index (PRHT, 0x03))
                               }
                               Else
                               {
                                   Store (Zero, Index (PRHT, 0x03))
                               }

                               Return (PRHT)
                           }

                           Store (DerefOf (Index (OC0D, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (0x04, Index (AITM, One))
                               Store (AITU, Index (AITM, 0x02))
                               Return (AITM)
                           }

                           Store (DerefOf (Index (OC0E, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (NOST, Index (NOSM, 0x02))
                               Return (NOSM)
                           }

                           Store (DerefOf (Index (OC0F, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (NOSS, Index (SENS, 0x02))
                               Return (SENS)
                           }

                           Store (DerefOf (Index (QCFN, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (CPUQ, Index (CQFN, 0x02))
                               Return (CQFN)
                           }

                           If (EAQF)
                           {
                               Store (DerefOf (Index (EACF, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Store (CQFS, Index (EACC, 0x02))
                                   Return (EACC)
                               }
                           }
                           Else
                           {
                               Store (DerefOf (Index (QFLO, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Store (CQFS, Index (QFNR, 0x02))
                                   If (LEqual (DerefOf (Index (CQFN, 0x02)), One))
                                   {
                                       Store (One, Index (QFNR, 0x03))
                                   }
                                   Else
                                   {
                                       Store (Zero, Index (QFNR, 0x03))
                                   }

                                   Return (QFNR)
                               }

                               Store (DerefOf (Index (QFTP, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Store (CQFT, Index (QFNT, 0x02))
                                   If (LEqual (DerefOf (Index (CQFN, 0x02)), One))
                                   {
                                       Store (0x03, Index (QFNT, 0x03))
                                   }
                                   Else
                                   {
                                       Store (Zero, Index (QFNT, 0x03))
                                   }

                                   Return (QFNT)
                               }
                           }

                           Store (DerefOf (Index (CFE1, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (CHQ1, Index (CQE1, 0x02))
                               Return (CQE1)
                           }

                           If (EAQF)
                           {
                               Store (DerefOf (Index (EAFC, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Store (CQS1, Index (EAFF, 0x02))
                                   Return (EAFF)
                               }
                           }
                           Else
                           {
                               Store (DerefOf (Index (CFR1, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Store (CQS1, Index (CQR1, 0x02))
                                   If (LEqual (DerefOf (Index (CQE1, 0x02)), One))
                                   {
                                       Store (One, Index (CQR1, 0x03))
                                   }
                                   Else
                                   {
                                       Store (Zero, Index (CQR1, 0x03))
                                   }

                                   Return (CQR1)
                               }

                               Store (DerefOf (Index (CFT1, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Store (CQF1, Index (CQT1, 0x02))
                                   If (LEqual (DerefOf (Index (CQE1, 0x02)), One))
                                   {
                                       Store (0x03, Index (CQT1, 0x03))
                                   }
                                   Else
                                   {
                                       Store (Zero, Index (CQT1, 0x03))
                                   }

                                   Return (CQT1)
                               }
                           }
                       }

                       Name (CPUO, Package (0x04)
                       {
                           0x01010000, 
                           0x4E20, 
                           0x64, 
                           One
                       })
                       Name (CPUM, Package (0x04)
                       {
                           0x01060001, 
                           0x0E, 
                           Zero, 
                           One
                       })
                       Name (MEMO, Package (0x09)
                       {
                           0x02010002, 
                           0xD034, 
                           Zero, 
                           Zero, 
                           "Auto", 
                           "1:3", 
                           "1:4", 
                           "1:2", 
                           "3:8"
                       })
                       Name (PCIO, Package (0x04)
                       {
                           0x07010003, 
                           0x2710, 
                           Zero, 
                           Zero
                       })
                       Name (OCPO, Package (0x0F)
                       {
                           0x05050004, 
                           0x64, 
                           Zero, 
                           One, 
                           "Overclock 5", 
                           "Overclock 10", 
                           "Overclock 15", 
                           "Overclock 20", 
                           "Overclock 30", 
                           "FSB888/DDR2-667", 
                           "FSB900/DDR2-600", 
                           "FSB950/DDR2-633", 
                           "FSB1000/DDR2-667", 
                           "FSB1066/DDR2-533", 
                           "FSB1066/DDR2-710"
                       })
                       Name (AOCO, Package (0x0B)
                       {
                           0x08050005, 
                           0x64, 
                           Zero, 
                           One, 
                           "Disabled", 
                           "103", 
                           "105", 
                           "107", 
                           "110", 
                           "115", 
                           "120"
                       })
                       Name (AOC2, Package (0x0C)
                       {
                           0x08050006, 
                           0x64, 
                           Zero, 
                           Zero, 
                           "Disabled", 
                           "103", 
                           "105", 
                           "107", 
                           "110", 
                           "115", 
                           "120", 
                           "130"
                       })
                       Name (FANB, Package (0x06)
                       {
                           0x04040007, 
                           Zero, 
                           Zero, 
                           Zero, 
                           "Disabled", 
                           "Enabled"
                       })
                       Name (CPUV, Package (0x04)
                       {
                           0x01020008, 
                           0x0578, 
                           Zero, 
                           One
                       })
                       Name (RAMV, Package (0x0C)
                       {
                           0x02020009, 
                           0x0708, 
                           Zero, 
                           Zero, 
                           "1.800V", 
                           "1.900V", 
                           "1.950V", 
                           "2.000V", 
                           "2.100V", 
                           "2.150V", 
                           "2.200V", 
                           "2.300V"
                       })
                       Name (PCIV, Package (0x08)
                       {
                           0x0702000A, 
                           0x05DC, 
                           Zero, 
                           Zero, 
                           "1.50V", 
                           "1.55V", 
                           "1.60V", 
                           "1.65V"
                       })
                       Name (PRHT, Package (0x06)
                       {
                           0x0106000B, 
                           Zero, 
                           One, 
                           One, 
                           "Disabled", 
                           "Enabled"
                       })
                       Name (AITM, Package (0x09)
                       {
                           0x0906000C, 
                           Zero, 
                           One, 
                           One, 
                           "Manual", 
                           "Auto", 
                           "Standard", 
                           "OC Profile", 
                           "AI NOS"
                       })
                       Name (NOSM, Package (0x06)
                       {
                           0x0806000D, 
                           Zero, 
                           Zero, 
                           One, 
                           "Auto", 
                           "Manual"
                       })
                       Name (SENS, Package (0x07)
                       {
                           0x0806000E, 
                           Zero, 
                           Zero, 
                           One, 
                           "Normal", 
                           "Sensitive", 
                           "Less-Sensitive"
                       })
                       Name (CQFN, Package (0x06)
                       {
                           0x04060003, 
                           Zero, 
                           Zero, 
                           One, 
                           "Disabled", 
                           "Enabled"
                       })
                       Name (QFNR, Package (0x09)
                       {
                           0x04050004, 
                           0x5A, 
                           Zero, 
                           One, 
                           "Auto", 
                           "90", 
                           "80", 
                           "70", 
                           "60"
                       })
                       Name (EACC, Package (0x07)
                       {
                           0x04050009, 
                           Zero, 
                           Zero, 
                           One, 
                           "Optimal", 
                           "Silent", 
                           "Performance"
                       })
                       Name (EAFF, Package (0x07)
                       {
                           0x0405000A, 
                           Zero, 
                           Zero, 
                           One, 
                           "Optimal", 
                           "Silent", 
                           "Performance"
                       })
                       Name (QFNT, Package (0x0F)
                       {
                           0x04030005, 
                           0x42, 
                           0x05, 
                           One, 
                           "51", 
                           "54", 
                           "57", 
                           "60", 
                           "63", 
                           "66", 
                           "69", 
                           "72", 
                           "75", 
                           "78", 
                           "81"
                       })
                       Name (CQE1, Package (0x06)
                       {
                           0x04060006, 
                           Zero, 
                           Zero, 
                           One, 
                           "Disabled", 
                           "Enabled"
                       })
                       Name (CQR1, Package (0x09)
                       {
                           0x04050007, 
                           0x5A, 
                           Zero, 
                           One, 
                           "Auto", 
                           "90", 
                           "80", 
                           "70", 
                           "60"
                       })
                       Name (CQT1, Package (0x0F)
                       {
                           0x04030008, 
                           0x42, 
                           0x05, 
                           One, 
                           "51", 
                           "54", 
                           "57", 
                           "60", 
                           "63", 
                           "66", 
                           "69", 
                           "72", 
                           "75", 
                           "78", 
                           "81"
                       })
                       Name (CPTT, Package (0x03)
                       {
                           0x41, 
                           0x4B, 
                           0x37
                       })
                       Name (CSTT, Package (0x03)
                       {
                           0x32, 
                           0x3C, 
                           0x28
                       })
                       Name (FANO, Package (0x03)
                       {
                           0xC0, 
                           0x90, 
                           0xF0
                       })
                       Name (OCST, Package (0x17)
                       {
                           Package (0x02)
                           {
                               0x01010000, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x01060001, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x02010002, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x07010003, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x05050004, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x08050005, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x08050006, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04040007, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x01020008, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x02020009, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x0702000A, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x0106000B, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x0906000C, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x0806000D, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04060003, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04050004, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04030005, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04060006, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04050007, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04030008, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x04050009, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x0405000A, 
                               One
                           }, 

                           Package (0x02)
                           {
                               0x0806000E, 
                               One
                           }
                       })
                       Method (PROC, 3, NotSerialized)
                       {
                           Store (DerefOf (Index (OC01, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (Arg1, Local2)
                               If (LGreaterEqual (Local2, 0xFA))
                               {
                                   Subtract (Local2, 0xFA, Local7)
                                   Store (DerefOf (Index (DerefOf (Index (ECKF, Local7)), Zero)), 
                                       Local3)
                                   Store (DerefOf (Index (DerefOf (Index (ECKF, Local7)), One)), 
                                       Local5)
                                   Store (DerefOf (Index (DerefOf (Index (ECKF, Local7)), 0x02)), 
                                       Local6)
                               }
                               Else
                               {
                                   Store (DerefOf (Index (DerefOf (Index (CKFG, Local2)), Zero)), 
                                       Local3)
                                   Store (DerefOf (Index (DerefOf (Index (CKFG, Local2)), One)), 
                                       Local5)
                                   Store (DerefOf (Index (DerefOf (Index (CKFG, Local2)), 0x02)), 
                                       Local6)
                               }

                               Store (RCKB (Zero), Local4)
                               And (Local4, 0x9F, Local4)
                               If (LEqual (Local3, Local4))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       If (LLessEqual (AITU, 0x02))
                                       {
                                           Add (Local2, 0x64, Local2)
                                           If (LGreaterEqual (FSBF, Local2))
                                           {
                                               Subtract (FSBF, Local2, Local0)
                                           }
                                           Else
                                           {
                                               Subtract (Local2, FSBF, Local0)
                                           }

                                           If (LGreater (Local0, 0x14))
                                           {
                                               Store (0x03, Index (DerefOf (Index (OCST, Zero)), One))
                                               Return (0x03)
                                           }
                                           Else
                                           {
                                               Store (One, Index (DerefOf (Index (OCST, Zero)), One))
                                               Return (One)
                                           }
                                       }
                                       Else
                                       {
                                           Store (0x03, Index (DerefOf (Index (OCST, Zero)), One))
                                           Return (0x03)
                                       }
                                   }
                                   Else
                                   {
                                       Add (Local2, 0x64, Local2)
                                       If (LGreaterEqual (FSBF, Local2))
                                       {
                                           Subtract (FSBF, Local2, Local0)
                                       }
                                       Else
                                       {
                                           Subtract (Local2, FSBF, Local0)
                                       }

                                       Store (Local2, FSBF)
                                       If (LLessEqual (AITU, 0x02))
                                       {
                                           Store (Zero, AITU)
                                           Store (0xFF, SMID)
                                           Store (0xAB, SMIC)
                                           Store (Zero, SMID)
                                           Store (0xAB, SMIC)
                                           If (LGreater (Local0, 0x14))
                                           {
                                               Store (0x03, Index (DerefOf (Index (OCST, Zero)), One))
                                               Return (0x03)
                                           }
                                           Else
                                           {
                                               WCKB (0x0B, Local5)
                                               WCKB (0x0E, Local6)
                                               WCKB (Zero, Local4)
                                               WCLK ()
                                               Store (One, Index (DerefOf (Index (OCST, Zero)), One))
                                               Return (One)
                                           }
                                       }
                                       Else
                                       {
                                           Store (Zero, AITU)
                                           Store (0xFF, SMID)
                                           Store (0xAB, SMIC)
                                           Store (Zero, SMID)
                                           Store (0xAB, SMIC)
                                           Store (0x03, Index (DerefOf (Index (OCST, Zero)), One))
                                           Return (0x03)
                                       }
                                   }
                               }
                               Else
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (0x03, Index (DerefOf (Index (OCST, Zero)), One))
                                       Return (0x03)
                                   }
                                   Else
                                   {
                                       Add (Local2, 0x64, Local2)
                                       Store (Local2, FSBF)
                                       Store (Zero, AITU)
                                       Store (0xFF, SMID)
                                       Store (0xAB, SMIC)
                                       Store (Zero, SMID)
                                       Store (0xAB, SMIC)
                                       Store (0x03, Index (DerefOf (Index (OCST, Zero)), One))
                                       Return (0x03)
                                   }
                               }
                           }

                           Store (DerefOf (Index (OC02, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Add (Arg1, 0x08, Local0)
                               If (LNotEqual (Local0, CPMU))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (0x03, Index (DerefOf (Index (OCST, One)), One))
                                       Return (0x03)
                                   }
                                   Else
                                   {
                                       Store (Arg1, CPMU)
                                       Store (One, SMID)
                                       Store (0xAB, SMIC)
                                       Store (0x03, Index (DerefOf (Index (OCST, One)), One))
                                       Return (0x03)
                                   }
                               }
                               Else
                               {
                                   Store (One, Index (DerefOf (Index (OCST, One)), One))
                                   Return (One)
                               }
                           }

                           Store (DerefOf (Index (OC0E, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LNotEqual (Arg1, NOST))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (0x03, Index (DerefOf (Index (OCST, 0x0D)), One))
                                       Return (0x03)
                                   }
                                   Else
                                   {
                                       Store (Arg1, NOST)
                                       Store (0x03, SMID)
                                       Store (0xAB, SMIC)
                                       Store (0x03, Index (DerefOf (Index (OCST, 0x0D)), One))
                                       Return (0x03)
                                   }
                               }
                               Else
                               {
                                   Store (One, Index (DerefOf (Index (OCST, 0x0D)), One))
                                   Return (One)
                               }
                           }

                           Store (DerefOf (Index (OC0F, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LNotEqual (Arg1, NOSS))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (0x03, Index (DerefOf (Index (OCST, 0x16)), One))
                                       Return (0x03)
                                   }
                                   Else
                                   {
                                       Store (Arg1, NOSS)
                                       Store (0x05, SMID)
                                       Store (0xAB, SMIC)
                                       Store (0x03, Index (DerefOf (Index (OCST, 0x16)), One))
                                       Return (0x03)
                                   }
                               }
                               Else
                               {
                                   Store (One, Index (DerefOf (Index (OCST, 0x16)), One))
                                   Return (One)
                               }
                           }

                           Store (DerefOf (Index (OC0A, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Add (Arg1, One, Local4)
                               If (LNotEqual (Local4, MMOV))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x09)), One))
                                       Return (One)
                                   }
                                   Else
                                   {
                                       Store (Arg1, Local0)
                                       Store (Local4, MMOV)
                                       Subtract (0x07, Local0, Local2)
                                       ShiftLeft (Local2, 0x05, Local2)
                                       ENFG (0x09)
                                       Store (OPT5, Local3)
                                       And (Local3, 0x1F, Local3)
                                       Or (Local3, Local2, Local3)
                                       Store (Local3, OPT5)
                                       EXFG ()
                                       Store (0x0C, SMID)
                                       Store (0xAB, SMIC)
                                       Store (One, Index (DerefOf (Index (OCST, 0x09)), One))
                                       Return (One)
                                   }
                               }
                               Else
                               {
                                   Store (One, Index (DerefOf (Index (OCST, 0x09)), One))
                                   Return (One)
                               }
                           }

                           Store (DerefOf (Index (OC0B, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Add (Arg1, One, Local4)
                               If (LNotEqual (Local4, CPOV))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x0A)), One))
                                       Return (One)
                                   }
                                   Else
                                   {
                                       Store (Arg1, Local0)
                                       Store (Local4, CPOV)
                                       Subtract (0x03, Local0, Local2)
                                       ShiftLeft (Local2, 0x03, Local2)
                                       ENFG (0x09)
                                       Store (OPT5, Local3)
                                       And (Local3, 0xE7, Local3)
                                       Or (Local3, Local2, Local3)
                                       Store (Local3, OPT5)
                                       EXFG ()
                                       Store (0x0D, SMID)
                                       Store (0xAB, SMIC)
                                       Store (One, Index (DerefOf (Index (OCST, 0x0A)), One))
                                       Return (One)
                                   }
                               }
                               Else
                               {
                                   Store (One, Index (DerefOf (Index (OCST, 0x0A)), One))
                                   Return (One)
                               }
                           }

                           Store (DerefOf (Index (OC0C, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LNotEqual (CHTP, 0x55))
                               {
                                   Store (Zero, Index (DerefOf (Index (OCST, 0x0B)), One))
                                   Return (Zero)
                               }
                               Else
                               {
                                   If (LNotEqual (Arg1, CHTE))
                                   {
                                       If (LEqual (Arg2, Zero))
                                       {
                                           Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), One))
                                           Return (0x03)
                                       }
                                       Else
                                       {
                                           Store (Arg1, CHTE)
                                           Store (0x02, SMID)
                                           Store (0xAB, SMIC)
                                           Store (0x03, Index (DerefOf (Index (OCST, 0x0B)), One))
                                           Return (0x03)
                                       }
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x0B)), One))
                                       Return (One)
                                   }
                               }
                           }

                           Store (DerefOf (Index (OC06, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LNotEqual (Arg1, Zero))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x05)), One))
                                       Return (One)
                                   }
                                   Else
                                   {
                                       Subtract (Arg1, One, Local4)
                                       Store (Local4, NOS1)
                                       Store (0x04, SMID)
                                       Store (0xAB, SMIC)
                                       If (LGreaterEqual (FSBF, 0x010A))
                                       {
                                           Store (DerefOf (Index (DerefOf (Index (NOSD, Arg1)), Zero)), 
                                               Local5)
                                           Store (DerefOf (Index (DerefOf (Index (NOSD, Arg1)), Zero)), 
                                               Local6)
                                       }
                                       Else
                                       {
                                           Store (DerefOf (Index (DerefOf (Index (NOSC, Arg1)), Zero)), 
                                               Local5)
                                           Store (DerefOf (Index (DerefOf (Index (NOSC, Arg1)), Zero)), 
                                               Local6)
                                       }

                                       RCLK ()
                                       WCKB (0x0C, Local6)
                                       WCLK ()
                                       Return (One)
                                   }
                               }
                               Else
                               {
                                   Return (One)
                               }
                           }

                           Store (DerefOf (Index (OC07, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (Zero, Index (DerefOf (Index (OCST, 0x06)), One))
                               Return (Zero)
                           }

                           Store (DerefOf (Index (OC05, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LEqual (Arg2, Zero))
                               {
                                   Store (OCPI, Local0)
                                   If (LNotEqual (Arg1, Local0))
                                   {
                                       Store (0x03, Index (DerefOf (Index (OCST, 0x04)), One))
                                       Return (0x03)
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x04)), One))
                                       Return (One)
                                   }
                               }
                               Else
                               {
                                   Store (OCPI, Local0)
                                   If (LNotEqual (Arg1, Local0))
                                   {
                                       Store (Arg1, OCPI)
                                       Store (0x06, SMID)
                                       Store (0xAB, SMIC)
                                       Store (0x03, Index (DerefOf (Index (OCST, 0x04)), One))
                                       Return (0x03)
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x04)), One))
                                       Return (One)
                                   }
                               }
                           }

                           Store (DerefOf (Index (OC09, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (UVID, Local0)
                               If (LEqual (Arg2, Zero))
                               {
                                   Store (One, Index (DerefOf (Index (OCST, 0x08)), One))
                                   Return (One)
                               }
                               Else
                               {
                                   Store (Arg1, Local2)
                                   Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), Zero)), 
                                       Local3)
                                   Store (DerefOf (Index (DerefOf (Index (OTOV, Local2)), One)), 
                                       Local4)
                                   ENFG (0x0B)
                                   Or (ACTR, One, ACTR)
                                   Store (Local3, OPT1)
                                   And (OPT0, 0x7F, OPT0)
                                   EXFG ()
                                   Store (Local4, Index (CPUV, One))
                                   Store (Local2, Index (CPUV, 0x02))
                                   Increment (Local2)
                                   Store (Local2, UVID)
                                   Store (0x07, SMID)
                                   Store (0xAB, SMIC)
                                   If (LLessEqual (Local2, 0x07))
                                   {
                                       And (GPOL, 0xFFEFFFFF, GPOL)
                                       Store (Zero, OVCP)
                                       Store (0x08, SMID)
                                       Store (0xAB, SMIC)
                                   }
                                   Else
                                   {
                                       Or (GPOL, 0x00100000, GPOL)
                                       Store (One, OVCP)
                                       Store (0x08, SMID)
                                       Store (0xAB, SMIC)
                                   }

                                   Return (One)
                               }
                           }

                           Store (DerefOf (Index (OC0D, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               Store (AITU, Local0)
                               If (LEqual (Arg2, Zero))
                               {
                                   If (LLessEqual (Arg1, 0x02))
                                   {
                                       If (LLessEqual (Local0, 0x02))
                                       {
                                           If (LEqual (Local0, Zero))
                                           {
                                               If (LNotEqual (Arg1, Zero))
                                               {
                                                   Store (CFSB, Local1)
                                                   Store (FSBF, Local2)
                                                   If (LGreaterEqual (Local1, 0xFA))
                                                   {
                                                       Subtract (Local1, 0xFA, Local7)
                                                       Store (DerefOf (Index (DerefOf (Index (ECKF, Local7)), Zero)), 
                                                           Local3)
                                                   }
                                                   Else
                                                   {
                                                       Store (DerefOf (Index (DerefOf (Index (CKFG, Local1)), Zero)), 
                                                           Local3)
                                                   }

                                                   Store (RCKB (Zero), Local4)
                                                   And (Local4, 0x9F, Local4)
                                                   Add (Local1, 0x64, Local1)
                                                   If (LNotEqual (Local3, Local4))
                                                   {
                                                       Store (0x03, Index (DerefOf (Index (OCST, 0x0C)), One))
                                                       Return (0x03)
                                                   }
                                                   Else
                                                   {
                                                       If (LGreater (Local1, Local2))
                                                       {
                                                           Subtract (Local1, Local2, Local1)
                                                       }
                                                       Else
                                                       {
                                                           Subtract (Local2, Local1, Local1)
                                                       }

                                                       If (LGreater (Local1, 0x14))
                                                       {
                                                           Store (0x03, Index (DerefOf (Index (OCST, 0x0C)), One))
                                                           Return (0x03)
                                                       }
                                                       Else
                                                       {
                                                           Store (One, Index (DerefOf (Index (OCST, 0x0C)), One))
                                                           Return (One)
                                                       }
                                                   }
                                               }
                                               Else
                                               {
                                                   Store (One, Index (DerefOf (Index (OCST, 0x0C)), One))
                                                   Return (One)
                                               }
                                           }
                                           Else
                                           {
                                               Store (One, Index (DerefOf (Index (OCST, 0x0C)), One))
                                               Return (One)
                                           }
                                       }
                                       Else
                                       {
                                           Store (0x03, Index (DerefOf (Index (OCST, 0x0C)), One))
                                           Return (0x03)
                                       }
                                   }
                                   Else
                                   {
                                       If (LLessEqual (Local0, 0x02))
                                       {
                                           Store (0x03, Index (DerefOf (Index (OCST, 0x0C)), One))
                                           Return (0x03)
                                       }
                                       Else
                                       {
                                           If (LEqual (Local0, Arg1))
                                           {
                                               Store (One, Index (DerefOf (Index (OCST, 0x0C)), One))
                                               Return (One)
                                           }
                                           Else
                                           {
                                               Store (0x03, Index (DerefOf (Index (OCST, 0x0C)), One))
                                               Return (0x03)
                                           }
                                       }
                                   }
                               }
                               Else
                               {
                                   Store (Arg1, AITU)
                                   Store (0xFF, SMID)
                                   Store (0xAB, SMIC)
                                   Store (DerefOf (Index (DerefOf (Index (OCST, 0x0C)), One)), 
                                       Local2)
                                   If (LEqual (Local2, One))
                                   {
                                       If (LEqual (Arg1, One))
                                       {
                                           Store (CFSB, Local3)
                                           Add (Local3, 0x64, Local1)
                                           Store (Local1, FSBF)
                                           If (LGreaterEqual (Local3, 0xFA))
                                           {
                                               Subtract (Local3, 0xFA, Local7)
                                               Store (DerefOf (Index (DerefOf (Index (ECKF, Local7)), One)), 
                                                   Local4)
                                               Store (DerefOf (Index (DerefOf (Index (ECKF, Local7)), 0x02)), 
                                                   Local5)
                                           }
                                           Else
                                           {
                                               Store (DerefOf (Index (DerefOf (Index (CKFG, Local3)), One)), 
                                                   Local4)
                                               Store (DerefOf (Index (DerefOf (Index (CKFG, Local3)), 0x02)), 
                                                   Local5)
                                           }

                                           Store (Zero, SMID)
                                           Store (0xAB, SMIC)
                                           RCLK ()
                                           WCKB (0x0B, Local4)
                                           WCKB (0x0E, Local5)
                                           WCLK ()
                                       }

                                       If (LEqual (Arg1, 0x02))
                                       {
                                           Store (CFSB, Local3)
                                           Add (Local3, 0x64, Local1)
                                           Store (Local1, FSBF)
                                           Store (DerefOf (Index (DerefOf (Index (CKFG, Local3)), One)), 
                                               Local4)
                                           Store (DerefOf (Index (DerefOf (Index (CKFG, Local3)), 0x02)), 
                                               Local5)
                                           Store (Zero, SMID)
                                           Store (0xAB, SMIC)
                                           RCLK ()
                                           WCKB (0x0B, Local4)
                                           WCKB (0x0E, Local5)
                                           WCLK ()
                                       }
                                   }

                                   Return (Local2)
                               }
                           }

                           Store (DerefOf (Index (QCFN, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LNotEqual (Arg1, CPUQ))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x0E)), One))
                                       Return (One)
                                   }
                                   Else
                                   {
                                       Store (Arg1, Local4)
                                       Store (Arg1, CPUQ)
                                       Store (Zero, ^^SIOR.BSEL)
                                       Store (Local4, ^^SIOR.CFNS)
                                       Store (One, Index (DerefOf (Index (OCST, 0x0E)), One))
                                       Store (0x09, SMID)
                                       Store (0xAB, SMIC)
                                       Return (One)
                                   }
                               }
                               Else
                               {
                                   Store (One, Index (DerefOf (Index (OCST, 0x0E)), One))
                                   Return (One)
                               }
                           }

                           If (EAQF)
                           {
                               Store (DerefOf (Index (EACF, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   If (LNotEqual (Arg1, CQFS))
                                   {
                                       If (LEqual (Arg2, Zero))
                                       {
                                           Store (One, Index (DerefOf (Index (OCST, 0x14)), One))
                                           Return (One)
                                       }
                                       Else
                                       {
                                           Store (Arg1, Local0)
                                           Store (Local0, CQFS)
                                           Store (Zero, ^^SIOR.BSEL)
                                           Store (DerefOf (Index (CPTT, Arg1)), ^^SIOR.TRGT)
                                           Store (DerefOf (Index (FANO, Arg1)), ^^SIOR.CSUP)
                                           Store (DerefOf (Index (FANO, Arg1)), ^^SIOR.CSDN)
                                           Store (DerefOf (Index (FANO, Arg1)), ^^SIOR.CFOV)
                                           Store (Zero, ^^SIOR.CFNS)
                                           Sleep (0x03E8)
                                           Store (One, ^^SIOR.CFNS)
                                           Store (One, Index (DerefOf (Index (OCST, 0x14)), One))
                                           Store (0x0A, SMID)
                                           Store (0xAB, SMIC)
                                           Return (One)
                                       }
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x14)), One))
                                       Return (One)
                                   }
                               }
                           }
                           Else
                           {
                               Store (DerefOf (Index (QFLO, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Subtract (0x04, Arg1, Local0)
                                   If (LNotEqual (Local0, CQFS))
                                   {
                                       If (LEqual (Arg2, Zero))
                                       {
                                           Store (One, Index (DerefOf (Index (OCST, 0x0F)), One))
                                           Return (One)
                                       }
                                       Else
                                       {
                                           Store (Local0, CQFS)
                                           Multiply (Arg1, 0x0A, Local2)
                                           Add (Local2, 0x3C, Local2)
                                           Store (Zero, ^^SIOR.BSEL)
                                           Store (Local2, ^^SIOR.CSUP)
                                           Store (One, Index (DerefOf (Index (OCST, 0x0F)), One))
                                           Store (0x0A, SMID)
                                           Store (0xAB, SMIC)
                                           Return (One)
                                       }
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x0F)), One))
                                       Return (One)
                                   }
                               }

                               Store (DerefOf (Index (QFTP, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   If (LNotEqual (Arg1, CQFT))
                                   {
                                       If (LEqual (Arg2, Zero))
                                       {
                                           Store (One, Index (DerefOf (Index (OCST, 0x10)), One))
                                           Return (One)
                                       }
                                       Else
                                       {
                                           Store (Arg1, CQFT)
                                           Store (Arg1, Local0)
                                           Multiply (Local0, 0x03, Local0)
                                           Add (Local0, 0x26, Local0)
                                           Store (Zero, ^^SIOR.BSEL)
                                           Store (Local0, ^^SIOR.TRGT)
                                           Store (0x0B, SMID)
                                           Store (0xAB, SMIC)
                                           Store (One, Index (DerefOf (Index (OCST, 0x10)), One))
                                           Return (One)
                                       }
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x10)), One))
                                       Return (One)
                                   }
                               }
                           }

                           Store (DerefOf (Index (CFE1, Zero)), Local1)
                           If (LEqual (Arg0, Local1))
                           {
                               If (LNotEqual (Arg1, CHQ1))
                               {
                                   If (LEqual (Arg2, Zero))
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x11)), One))
                                       Return (One)
                                   }
                                   Else
                                   {
                                       Store (Arg1, CHQ1)
                                       Store (One, Index (DerefOf (Index (OCST, 0x11)), One))
                                       Store (Zero, ^^SIOR.BSEL)
                                       Store (Arg1, ^^SIOR.CHNS)
                                       Store (0x0E, SMID)
                                       Store (0xAB, SMIC)
                                       If (LEqual (Arg1, Zero))
                                       {
                                           Store (Zero, ^^SIOR.BSEL)
                                           Store (Zero, ^^SIOR.CHNS)
                                           Sleep (0x64)
                                           Store (0xFF, ^^SIOR.SFOV)
                                       }

                                       Return (One)
                                   }
                               }
                               Else
                               {
                                   Store (One, Index (DerefOf (Index (OCST, 0x11)), One))
                                   Return (One)
                               }
                           }

                           If (EAQF)
                           {
                               Store (DerefOf (Index (EAFC, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   If (LNotEqual (Arg1, CQS1))
                                   {
                                       If (LEqual (Arg2, Zero))
                                       {
                                           Store (One, Index (DerefOf (Index (OCST, 0x15)), One))
                                           Return (One)
                                       }
                                       Else
                                       {
                                           Store (Arg1, Local0)
                                           Store (Local0, CQS1)
                                           Store (Zero, ^^SIOR.BSEL)
                                           Store (DerefOf (Index (CSTT, Arg1)), ^^SIOR.SYST)
                                           Store (DerefOf (Index (FANO, Arg1)), ^^SIOR.SSUP)
                                           Store (DerefOf (Index (FANO, Arg1)), ^^SIOR.SSDN)
                                           Store (DerefOf (Index (FANO, Arg1)), ^^SIOR.SFOV)
                                           Store (Zero, ^^SIOR.CHNS)
                                           Sleep (0x03E8)
                                           Store (One, ^^SIOR.CHNS)
                                           Store (One, Index (DerefOf (Index (OCST, 0x15)), One))
                                           Store (0x0F, SMID)
                                           Store (0xAB, SMIC)
                                           Return (One)
                                       }
                                   }
                                   Else
                                   {
                                       Store (0x02, Index (DerefOf (Index (OCST, 0x15)), One))
                                       Return (One)
                                   }
                               }
                           }
                           Else
                           {
                               Store (DerefOf (Index (CFR1, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   Store (Arg1, Local0)
                                   Subtract (0x04, Local0, Local0)
                                   If (LNotEqual (Local0, CQS1))
                                   {
                                       If (LEqual (Arg2, Zero))
                                       {
                                           Store (One, Index (DerefOf (Index (OCST, 0x12)), One))
                                           Return (One)
                                       }
                                       Else
                                       {
                                           Store (Local0, CQS1)
                                           Multiply (Arg1, 0x0A, Local2)
                                           Add (Local2, 0x3C, Local2)
                                           Store (Zero, ^^SIOR.BSEL)
                                           Store (Local2, ^^SIOR.SSUP)
                                           Store (One, Index (DerefOf (Index (OCST, 0x12)), One))
                                           Store (0x0F, SMID)
                                           Store (0xAB, SMIC)
                                           Return (One)
                                       }
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x12)), One))
                                       Return (One)
                                   }
                               }

                               Store (DerefOf (Index (CFT1, Zero)), Local1)
                               If (LEqual (Arg0, Local1))
                               {
                                   If (LNotEqual (Arg1, CQF1))
                                   {
                                       If (LEqual (Arg2, Zero))
                                       {
                                           Store (One, Index (DerefOf (Index (OCST, 0x13)), One))
                                           Return (One)
                                       }
                                       Else
                                       {
                                           Store (Arg1, CQF1)
                                           Store (Arg1, Local0)
                                           Multiply (Local0, 0x03, Local0)
                                           Add (Local0, 0x26, Local0)
                                           Store (Zero, ^^SIOR.BSEL)
                                           Store (Local0, ^^SIOR.SYST)
                                           Store (0x10, SMID)
                                           Store (0xAB, SMIC)
                                           Store (One, Index (DerefOf (Index (OCST, 0x13)), One))
                                           Return (One)
                                       }
                                   }
                                   Else
                                   {
                                       Store (One, Index (DerefOf (Index (OCST, 0x13)), One))
                                       Return (One)
                                   }
                               }
                           }
                       }

                       Name (PREB, Package (0x2E)
                       {
                           0x01010000, 
                           Zero, 
                           0x01060001, 
                           Zero, 
                           0x02010002, 
                           Zero, 
                           0x07010003, 
                           Zero, 
                           0x05050004, 
                           Zero, 
                           0x08050005, 
                           Zero, 
                           0x08050006, 
                           Zero, 
                           0x04040007, 
                           Zero, 
                           0x01020008, 
                           Zero, 
                           0x02020009, 
                           Zero, 
                           0x0702000A, 
                           Zero, 
                           0x0106000B, 
                           Zero, 
                           0x0906000C, 
                           Zero, 
                           0x0806000D, 
                           Zero, 
                           0x04060003, 
                           Zero, 
                           0x04050004, 
                           Zero, 
                           0x04030005, 
                           Zero, 
                           0x04060006, 
                           Zero, 
                           0x04050007, 
                           Zero, 
                           0x04030008, 
                           Zero, 
                           0x04050009, 
                           Zero, 
                           0x0405000A, 
                           Zero, 
                           0x0806000E, 
                           Zero
                       })
                       Method (GPRE, 1, NotSerialized)
                       {
                           If (LEqual (Arg0, Zero))
                           {
                               Store (CFSB, Index (PREB, One))
                               Store (CPMU, Index (PREB, 0x03))
                               Store (One, Index (PREB, 0x13))
                               Store (One, Index (PREB, 0x15))
                               Store (One, Index (PREB, 0x17))
                               Store (One, Index (PREB, 0x19))
                               Store (OCVO, Local2)
                               Store (Local2, Index (PREB, 0x11))
                               Store (Zero, Index (PREB, 0x05))
                               Store (Zero, Index (PREB, 0x07))
                               Store (Zero, Index (PREB, 0x09))
                               Store (Zero, Index (PREB, 0x0B))
                               Store (Zero, Index (PREB, 0x0D))
                               Store (Zero, Index (PREB, 0x0F))
                               Store (Zero, Index (PREB, 0x1B))
                               Store (Zero, Index (PREB, 0x1D))
                               Store (Zero, Index (PREB, 0x1F))
                               Store (Zero, Index (PREB, 0x21))
                               Return (PREB)
                           }
                           Else
                           {
                               Subtract (FSBF, 0x64, Local0)
                               Store (Local0, Index (PREB, One))
                               Store (CPMU, Index (PREB, 0x03))
                               Store (0x02, Index (PREB, 0x15))
                               Store (One, Index (PREB, 0x17))
                               Store (AITU, Index (PREB, 0x19))
                               Store (NOST, Index (PREB, 0x1B))
                               Store (CPUQ, Index (PREB, 0x1D))
                               Store (CQFS, Index (PREB, 0x1F))
                               Store (CQFT, Index (PREB, 0x21))
                               Store (NOS1, Index (PREB, 0x0B))
                               If (UVID)
                               {
                                   Store (UVID, Local0)
                                   Decrement (Local0)
                                   Store (Local0, Index (PREB, 0x11))
                               }
                               Else
                               {
                                   Store (OCVO, Index (PREB, 0x11))
                               }

                               Store (Zero, Index (PREB, 0x05))
                               Store (Zero, Index (PREB, 0x07))
                               Store (Zero, Index (PREB, 0x09))
                               Store (Zero, Index (PREB, 0x0F))
                               If (LEqual (MMOV, Zero))
                               {
                                   Store (MMOV, Index (PREB, 0x13))
                               }
                               Else
                               {
                                   Subtract (MMOV, One, Local4)
                                   Store (Local4, Index (PREB, 0x13))
                               }

                               If (LEqual (CPOV, Zero))
                               {
                                   Store (CPOV, Index (PREB, 0x15))
                               }
                               Else
                               {
                                   Subtract (CPOV, One, Local4)
                                   Store (Local4, Index (PREB, 0x15))
                               }

                               Return (PREB)
                           }
                       }

                       Method (SPRE, 2, NotSerialized)
                       {
                           Store (DerefOf (Index (DerefOf (Index (PREB, Zero)), Zero)), 
                               Local0)
                           Store (DerefOf (Index (DerefOf (Index (PREB, Zero)), One)), 
                               Local1)
                           Store (PROC (Local0, Local1, Zero), Local2)
                           PROC (Local0, Local1, One)
                       }

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

                       Field (SMRG, ByteAcc, NoLock, Preserve)
                       {
                                   Offset (0x05), 
                           HDTW,   16
                       }

                       Name (CLKB, Buffer (0x20) {})
                       Method (RCLK, 0, NotSerialized)
                       {
                           USMB ()
                           RBLK (0xD2, 0x16, CLKB)
                           LSMB ()
                       }

                       Method (WCLK, 0, NotSerialized)
                       {
                           USMB ()
                           WBLK (0xD2, 0x16, 0x16, CLKB)
                           LSMB ()
                       }

                       Method (USMB, 0, NotSerialized)
                       {
                           Store (GPOM, Local0)
                           Or (Local0, One, Local0)
                           Store (Local0, GPOM)
                       }

                       Method (LSMB, 0, NotSerialized)
                       {
                           Store (GPOM, Local0)
                           And (Local0, 0xFFFFFFFE, Local0)
                           Store (Local0, GPOM)
                       }

                       Method (RCKB, 1, NotSerialized)
                       {
                           RCLK ()
                           Store (DerefOf (Index (CLKB, Arg0)), Local0)
                           Return (Local0)
                       }

                       Method (WCKB, 2, NotSerialized)
                       {
                           Store (Arg1, Index (CLKB, Arg0))
                       }

                       Name (DATA, Package (0x02)
                       {
                           Zero, 
                           Zero
                       })
                       Name (NOSC, Package (0x08)
                       {
                           Package (0x02)
                           {
                               0x09, 
                               0x09
                           }, 

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

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

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

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

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

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

                           Package (0x02)
                           {
                               0xF1, 
                               0xF1
                           }
                       })
                       Name (NOSD, Package (0x08)
                       {
                           Package (0x02)
                           {
                               0xB2, 
                               0xB2
                           }, 

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

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

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

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

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

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

                           Package (0x02)
                           {
                               0xFF, 
                               0xFF
                           }
                       })
                       Name (CKFG, Package (0xFA)
                       {
                           Package (0x03)
                           {
                               0x85, 
                               0xDA, 
                               0x09
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x57, 
                               0xBB
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xE0, 
                               0xC3
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xDD, 
                               0x76
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x8F, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x03, 
                               0x8B
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xE0, 
                               0xE9
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x55, 
                               0xA9
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x8F, 
                               0xFA
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xDF, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xDB, 
                               0x75
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xD9, 
                               0x3F
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x4F, 
                               0x0D
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xDC, 
                               0xAD
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x55, 
                               0xD6
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x53, 
                               0x9C
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x4F, 
                               0x20
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x02, 
                               0x7B
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xDD, 
                               0xFB
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x8B, 
                               0xA9
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x4F, 
                               0x33
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x8D, 
                               0xF4
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xD9, 
                               0x92
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x05, 
                               0xE9
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x4F, 
                               0x46
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xDB, 
                               0xEE
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x51, 
                               0x96
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x89, 
                               0x7F
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x4F, 
                               0x59
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x88, 
                               0x61
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x53, 
                               0xF4
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0xD8, 
                               0xB1
                           }, 

                           Package (0x03)
                           {
                               0x85, 
                               0x4F, 
                               0x6C
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDA, 
                               0x09
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xE2, 
                               0xED
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x52, 
                               0x2F
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xE0, 
                               0xC3
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x8B, 
                               0x6E
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDA, 
                               0x23
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x8E, 
                               0xCB
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x03, 
                               0x8B
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDA, 
                               0x35
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD9, 
                               0x1D
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xE0, 
                               0xF5
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x8F, 
                               0xFA
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x87, 
                               0x0A
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDB, 
                               0x71
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x54, 
                               0x9F
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD9, 
                               0x3F
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDE, 
                               0xE1
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDD, 
                               0xC8
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD9, 
                               0x50
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x55, 
                               0xD6
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD7, 
                               0x1B
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDD, 
                               0xE2
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD6, 
                               0x05
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x02, 
                               0x7B
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD7, 
                               0x30
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x04, 
                               0xBF
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDB, 
                               0xC0
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x4F, 
                               0x33
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x03, 
                               0xA1
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDC, 
                               0xF3
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD5, 
                               0x0B
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x05, 
                               0xE9
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x89, 
                               0x75
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x8B, 
                               0xBD
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x50, 
                               0x6F
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x51, 
                               0x96
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x51, 
                               0x9A
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x51, 
                               0x9E
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xDA, 
                               0xE5
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x88, 
                               0x61
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x4E, 
                               0x3D
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD5, 
                               0x40
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD8, 
                               0xB3
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x4F, 
                               0x6C
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x52, 
                               0xDF
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD7, 
                               0x9E
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x4E, 
                               0x51
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x87, 
                               0x4C
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD9, 
                               0xF9
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x03, 
                               0xB7
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD4, 
                               0x45
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x8B, 
                               0xEE
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD5, 
                               0x75
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD8, 
                               0xEF
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD7, 
                               0xCD
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x89, 
                               0xAA
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD8, 
                               0xFF
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x86, 
                               0x37
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0x8A, 
                               0xD9
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD6, 
                               0xBF
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD7, 
                               0xEC
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD6, 
                               0xC9
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD7, 
                               0xF7
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD5, 
                               0xAA
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD4, 
                               0x85
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD2, 
                               0x37
                           }, 

                           Package (0x03)
                           {
                               0x81, 
                               0xD3, 
                               0x65
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDA, 
                               0x09
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xE2, 
                               0xED
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x57, 
                               0xBB
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDD, 
                               0x69
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xE0, 
                               0xC3
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x88, 
                               0x17
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDD, 
                               0x76
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDA, 
                               0x23
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8F, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDD, 
                               0x83
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x03, 
                               0x8B
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8B, 
                               0x78
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xE0, 
                               0xE9
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD9, 
                               0x1D
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x55, 
                               0xA9
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x53, 
                               0x70
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8F, 
                               0xFA
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x06, 
                               0xEB
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDF, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDB, 
                               0x71
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDB, 
                               0x75
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8D, 
                               0xC8
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD9, 
                               0x3F
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8C, 
                               0xAD
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x4F, 
                               0x0D
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDD, 
                               0xC8
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDC, 
                               0xAD
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x54, 
                               0xB3
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x55, 
                               0xD6
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x51, 
                               0x59
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x53, 
                               0x9C
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDD, 
                               0xE2
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x4F, 
                               0x20
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x50, 
                               0x43
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x02, 
                               0x7B
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x87, 
                               0x20
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDD, 
                               0xF8
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x04, 
                               0xBF
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8B, 
                               0xA9
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDB, 
                               0xC2
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x4F, 
                               0x33
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x89, 
                               0x6B
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8D, 
                               0xF4
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDC, 
                               0xF3
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD9, 
                               0x92
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x05, 
                               0xE8
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x05, 
                               0xE9
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD5, 
                               0x13
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x4F, 
                               0x46
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x8B, 
                               0xBD
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xDB, 
                               0xEE
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x86, 
                               0x11
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x51, 
                               0x96
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD9, 
                               0xB4
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x89, 
                               0x7F
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x51, 
                               0x9E
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x4F, 
                               0x59
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD9, 
                               0xC3
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x88, 
                               0x61
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD7, 
                               0x82
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0x53, 
                               0xF4
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD5, 
                               0x40
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD8, 
                               0xB1
                           }, 

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

                           Package (0x03)
                           {
                               0x82, 
                               0x4F, 
                               0x6C
                           }, 

                           Package (0x03)
                           {
                               0x82, 
                               0xD7, 
                               0x97
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4E, 
                               0x4D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD7, 
                               0x9E
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD9, 
                               0xEC
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD7, 
                               0xA5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x87, 
                               0x4C
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x8A, 
                               0xBF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4F, 
                               0x7F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x03, 
                               0xB7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD7, 
                               0xB6
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD3, 
                               0x20
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x8B, 
                               0xEE
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD7, 
                               0xC1
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x51, 
                               0xDB
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD8, 
                               0xEF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0x7D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x51, 
                               0xE3
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x89, 
                               0xAA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD4, 
                               0x5F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4D, 
                               0x4C
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x86, 
                               0x37
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD7, 
                               0xDF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0x02
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD6, 
                               0xBF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x13
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x14
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD6, 
                               0xC9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD2, 
                               0x29
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD7, 
                               0xF8
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0xAA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4D, 
                               0x63
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD4, 
                               0x87
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD2, 
                               0x37
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4E, 
                               0x93
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0xBA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD6, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0x18
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x02, 
                               0xA1
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0x1F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0x20
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0xCD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD3, 
                               0x7B
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x50, 
                               0xFD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x8A, 
                               0xFD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x87, 
                               0x7D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x89, 
                               0xD5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0xE0
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4C, 
                               0x5B
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0x33
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4E, 
                               0xB9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x03, 
                               0xD5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0xF4
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD5, 
                               0xF7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD3, 
                               0xA1
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD3, 
                               0xA4
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x88, 
                               0xB9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD4, 
                               0xD7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x89, 
                               0xE9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD4, 
                               0xDD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0x47
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x03, 
                               0xDC
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0x5D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x86, 
                               0x67
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD4, 
                               0xEB
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0x65
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x0B
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4E, 
                               0xDF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0x6D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x3F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x40
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD3, 
                               0xD2
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4D, 
                               0xBB
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4D, 
                               0xBD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x1E
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x87, 
                               0xA4
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0x64
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x84, 
                               0x17
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD3, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x87, 
                               0xA9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x02, 
                               0xB9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD0, 
                               0x5F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x31
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD2, 
                               0xC5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD3, 
                               0xF9
                           }
                       })
                       Name (ECKF, Package (0x65)
                       {
                           Package (0x03)
                           {
                               0x80, 
                               0xD2, 
                               0xCB
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x14
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0x78
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xA2
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xA4
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x44
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xAA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4C, 
                               0xB3
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4D, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xB2
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD2, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xB7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x86, 
                               0x8D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x57
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x28
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD2, 
                               0xF5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x2B
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xC7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0x95
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x03, 
                               0xFA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xCF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x6A
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xD3
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xD7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x48, 
                               0x03
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x87, 
                               0xD0
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xDF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD0, 
                               0xAD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x6A
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xE6
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x6C
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD0, 
                               0xB7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xEF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x87, 
                               0xDA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x48, 
                               0x11
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xF7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xF9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x90
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD1, 
                               0xFF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x83, 
                               0x08
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0xBD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0x99
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x53
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD0, 
                               0xD5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x56
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xA3
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x86, 
                               0xB3
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xA7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xAA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x83, 
                               0x0F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCD, 
                               0x3F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xD0, 
                               0xE9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0xD2
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xB5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCE, 
                               0x7F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x84
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x85
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0x86
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               Zero, 
                               0x6A
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCD, 
                               0x51
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x6E
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xC8
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x87, 
                               0xFE
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0xE6
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x84, 
                               0x53
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               Zero, 
                               0x6C
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xD5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x02, 
                               0xE1
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0xEF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xDB
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               One, 
                               0xA8
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCE, 
                               0xA5
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xE2
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x82
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4B, 
                               0xFA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x85
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               Zero, 
                               0x6F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xEE
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCC, 
                               0x3D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCC, 
                               0x3F
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCD, 
                               0x7D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x83, 
                               0x25
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xFA
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCF, 
                               0xFC
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x86, 
                               0xDD
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCB, 
                               0x0E
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x48, 
                               0x59
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCE, 
                               0xC9
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x49, 
                               0x99
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               One, 
                               0xB0
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCB, 
                               0x17
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x83, 
                               0x2C
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x02, 
                               0xEF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x86, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               Zero, 
                               0x74
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x84, 
                               0x6D
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x48, 
                               0x67
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0xCE, 
                               0xDF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x4A, 
                               0xE7
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0xAF
                           }, 

                           Package (0x03)
                           {
                               0x80, 
                               0x85, 
                               0xB0
                           }
                       })
                       Mutex (SMBA, 0x00)
                       Method (SMBC, 4, NotSerialized)
                       {
                           Acquire (SMBA, 0xFFFF)
                           Store (0xFF, HSTS)
                           Sleep (0x0A)
                           Store (HSTS, Local0)
                           And (Local0, 0x1F, Local0)
                           Store (0xFF, Local1)
                           While (LAnd (LGreater (Local1, Zero), LNotEqual (Local0, Zero)))
                           {
                               Decrement (Local1)
                               Store (0xFF, HSTS)
                               Sleep (0x0A)
                               Store (HSTS, Local0)
                               And (Local0, 0x1F, Local0)
                           }

                           If (Local0)
                           {
                               Store (0x02, HSTC)
                               Sleep (0x0A)
                               Store (Zero, HSTC)
                               Store (0xFF, HSTS)
                               Sleep (0x0A)
                               Store (HSTS, Local0)
                               And (Local0, 0x1F, Local0)
                               Store (0xFF, Local1)
                               While (LAnd (LGreater (Local1, Zero), LNotEqual (Local0, Zero)))
                               {
                                   Decrement (Local1)
                                   Store (0xFF, HSTS)
                                   Sleep (0x0A)
                                   Store (HSTS, Local0)
                                   And (Local0, 0x1F, Local0)
                               }

                               If (Local0)
                               {
                                   Store (One, Index (DATA, Zero))
                                   Return (DATA)
                               }
                           }

                           Store (Arg1, HCMD)
                           Store (Arg0, HADR)
                           And (Arg0, One, Local0)
                           If (LNot (Local0))
                           {
                               And (Arg2, 0x04, Local0)
                               If (Local0)
                               {
                                   Store (Arg3, HDTW)
                               }
                               Else
                               {
                                   Store (Arg3, HDT0)
                               }
                           }

                           Store (Arg2, HSTC)
                           Sleep (0x0A)
                           Store (HSTS, Local0)
                           Store (0xFF, Local1)
                           While (LGreater (Local1, Zero))
                           {
                               And (Local0, 0x1C, Local2)
                               If (Local2)
                               {
                                   Store (One, Index (DATA, Zero))
                                   Return (DATA)
                               }

                               And (Local0, 0x02, Local2)
                               If (Local2)
                               {
                                   Store (Zero, Index (DATA, Zero))
                                   And (Arg2, 0x04, Local2)
                                   If (Local0)
                                   {
                                       Store (HDTW, Index (DATA, One))
                                   }
                                   Else
                                   {
                                       Store (HDT0, Index (DATA, One))
                                   }

                                   Return (DATA)
                               }

                               Sleep (0x0A)
                               Store (HSTS, Local0)
                               Decrement (Local1)
                           }

                           Store (One, Index (DATA, Zero))
                           Return (DATA)
                           Release (SMBA)
                       }

                       Method (SMBL, 2, NotSerialized)
                       {
                           OperationRegion (SMB0, SystemIO, SMBS, 0x10)
                           Field (SMB0, ByteAcc, NoLock, Preserve)
                           {
                               HSTS,   8, 
                                       Offset (0x02), 
                               HSTC,   8, 
                               HCMD,   8, 
                               HADR,   8, 
                               HDT0,   8, 
                                       Offset (0x07), 
                               BLKD,   8
                           }

                           Store (Zero, HCMD)
                           Sleep (0x02)
                           Store (Arg0, HADR)
                           Sleep (0x02)
                           Store (0xFF, HSTS)
                           Sleep (0x02)
                           Store (0x54, HSTC)
                           Store (0xFF, Local0)
                           While (Local0)
                           {
                               Decrement (Local0)
                               Sleep (0x02)
                               If (And (HSTS, 0x02))
                               {
                                   Store (Zero, Local0)
                                   Store (One, Local1)
                               }
                           }

                           Store (HDT0, Local2)
                           Return (Local2)
                       }

                       Method (WBLK, 4, NotSerialized)
                       {
                           Acquire (SMBA, 0xFFFF)
                           Store (HSTC, Local0)
                           Store (Arg2, Local0)
                           Store (Zero, Local1)
                           While (Local0)
                           {
                               Store (DerefOf (Index (Arg3, Local1)), BLKD)
                               Decrement (Local0)
                               Increment (Local1)
                           }

                           Store (HSTC, Local0)
                           Store (Arg2, HDT0)
                           SMBL (Arg0, Arg1)
                           Release (SMBA)
                       }

                       Method (RBLK, 3, NotSerialized)
                       {
                           Acquire (SMBA, 0xFFFF)
                           Or (Arg0, One, Local0)
                           Store (SMBL (Local0, Arg1), Local1)
                           Store (HSTC, Local0)
                           Add (Local1, One, Local2)
                           Store (Zero, Local1)
                           While (Local0)
                           {
                               Store (BLKD, Index (Arg2, Local1))
                               Decrement (Local0)
                               Increment (Local1)
                           }

                           Release (SMBA)
                       }

                       Method (AIOC, 1, NotSerialized)
                       {
                           Store (DerefOf (Index (DATA, Zero)), Local0)
                           If (Local0)
                           {
                               Return (One)
                           }

                           Store (DerefOf (Index (DATA, One)), Local0)
                           And (Local0, 0xB8, Local4)
                           If (LAnd (LGreaterEqual (Arg0, 0x64), LLess (Arg0, 0x85)))
                           {
                               Store (0xCD, Local0)
                               Store (0x98, Local2)
                               Multiply (Arg0, 0x04, Local1)
                               Multiply (Local1, 0x0D, Local1)
                               Multiply (Local1, 0x03E8, Local1)
                               Divide (Local1, 0x37EE, Local3, Local1)
                               Subtract (Local1, 0x03, Local1)
                               Subtract (Local1, 0x0100, Local1)
                           }
                           Else
                           {
                               If (LAnd (LGreaterEqual (Arg0, 0x85), LLess (Arg0, 0xBE)))
                               {
                                   Store (0xCD, Local0)
                                   Store (0x90, Local2)
                                   Multiply (Arg0, 0x03, Local1)
                                   Multiply (Local1, 0x0D, Local1)
                                   Multiply (Local1, 0x03E8, Local1)
                                   Divide (Local1, 0x37EE, Local3, Local1)
                                   Subtract (Local1, 0x03, Local1)
                                   Subtract (Local1, 0x0100, Local1)
                               }
                               Else
                               {
                                   If (LAnd (LGreaterEqual (Arg0, 0xBE), LLess (Arg0, 0xC8)))
                                   {
                                       Store (0xCC, Local0)
                                       Store (0x90, Local2)
                                       Multiply (Arg0, 0x03, Local1)
                                       Multiply (Local1, 0x0C, Local1)
                                       Multiply (Local1, 0x03E8, Local1)
                                       Divide (Local1, 0x37EE, Local3, Local1)
                                       Subtract (Local1, 0x03, Local1)
                                       Subtract (Local1, 0x0100, Local1)
                                   }
                                   Else
                                   {
                                       If (LAnd (LGreaterEqual (Arg0, 0xC8), LLess (Arg0, 0x010B)))
                                       {
                                           Store (0xCC, Local0)
                                           Store (0x88, Local2)
                                           Multiply (Arg0, 0x02, Local1)
                                           Multiply (Local1, 0x0C, Local1)
                                           Multiply (Local1, 0x03E8, Local1)
                                           Divide (Local1, 0x37EE, Local3, Local1)
                                           Subtract (Local1, 0x03, Local1)
                                           Subtract (Local1, 0x0100, Local1)
                                       }
                                       Else
                                       {
                                           Return (One)
                                       }
                                   }
                               }
                           }

                           SMBC (0xD3, 0x08, 0x48, Zero)
                           Store (DerefOf (Index (DATA, Zero)), Local3)
                           If (Local3)
                           {
                               Return (One)
                           }

                           Store (DerefOf (Index (DATA, One)), Local3)
                           If (LOr (LNotEqual (Local2, Local4), LNotEqual (Local0, Local3)))
                           {
                               Return (0x02)
                           }

                           SMBC (0xD2, 0x08, 0x48, Local0)
                           Store (DerefOf (Index (DATA, Zero)), Local3)
                           If (Local3)
                           {
                               Return (One)
                           }

                           SMBC (0xD2, 0x09, 0x48, Local1)
                           Store (DerefOf (Index (DATA, Zero)), Local3)
                           If (Local3)
                           {
                               Return (One)
                           }

                           SMBC (0xD2, 0x0B, 0x48, Local2)
                           Store (DerefOf (Index (DATA, Zero)), Local3)
                           If (Local3)
                           {
                               Return (One)
                           }

                           Return (Zero)
                       }
                   }

                   Scope (ASOC)
                   {
                       Name (G0T0, Package (0x07)
                       {
                           0x00060001, 
                           "flag", 
                           Zero, 
                           Zero, 
                           Zero, 
                           One, 
                           0x04
                       })
                       Name (ASBF, Buffer (0x08)
                       {
                           /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                       })
                       CreateDWordField (ASBF, Zero, ASB0)
                       CreateDWordField (ASBF, 0x04, ASB1)
                       Method (GGRP, 1, NotSerialized)
                       {
                           Name (T0_0, Zero)
                           Store (Arg0, T0_0)
                           If (LEqual (T0_0, Zero))
                           {
                               Return (GRP0)
                           }
                           Else
                           {
                               If (LEqual (T0_0, 0x0A))
                               {
                                   Return (GRPA)
                               }
                               Else
                               {
                                   Return (Zero)
                               }
                           }
                       }

                       Method (GITM, 1, NotSerialized)
                       {
                           CreateDWordField (Arg0, Zero, PRM0)
                           ShiftRight (PRM0, 0x18, Local0)
                           Store (One, ASB0)
                           Name (T0_0, Zero)
                           Store (Local0, T0_0)
                           If (LEqual (T0_0, Zero))
                           {
                               GIT0 (PRM0)
                           }
                           Else
                           {
                               If (LEqual (T0_0, 0x0A))
                               {
                                   GITA (PRM0)
                               }
                               Else
                               {
                                   Store (Zero, ASB0)
                               }
                           }

                           Return (ASBF)
                       }

                       Method (SITM, 1, NotSerialized)
                       {
                           CreateDWordField (Arg0, Zero, PRM0)
                           CreateDWordField (Arg0, 0x04, PRM1)
                           CreateDWordField (Arg0, 0x08, PRM2)
                           ShiftRight (PRM0, 0x18, Local0)
                           Store (One, ASB0)
                           Name (T0_0, Zero)
                           Store (Local0, T0_0)
                           If (LEqual (T0_0, Zero))
                           {
                               SIT0 (PRM0, PRM1, PRM2)
                           }
                           Else
                           {
                               If (LEqual (T0_0, 0x0A))
                               {
                                   SITA (PRM0, PRM1, PRM2)
                               }
                               Else
                               {
                                   Store (Zero, ASB0)
                               }
                           }

                           Return (ASBF)
                       }

                       Name (GRP0, Package (0x01)
                       {
                           G0T0
                       })
                       Method (GIT0, 1, NotSerialized)
                       {
                           Store (And (Arg0, 0xFF), Local0)
                           Name (T0_0, Zero)
                           Store (Local0, T0_0)
                           If (LEqual (T0_0, One))
                           {
                               Store (GNVS (0x12B8), ASB1)
                               Or (ShiftLeft (GNVS (0x12B7), One), ASB1, ASB1)
                           }
                           Else
                           {
                               Store (Zero, ASB0)
                           }
                       }

                       Method (SIT0, 3, NotSerialized)
                       {
                           Store (And (Arg0, 0xFF), Local0)
                           Name (T0_0, Zero)
                           Store (Local0, T0_0)
                           If (LEqual (T0_0, One))
                           {
                               SNVS (0x12B8, Arg1)
                           }
                           Else
                           {
                               Store (Zero, ASB0)
                           }
                       }
                   }
               }

               Scope (ASOC)
               {
                   Name (ALAE, Package (0x04)
                   {
                       0x0A070001, 
                       "Music Alarm", 
                       Zero, 
                       Zero
                   })
                   Name (ALSU, Package (0x04)
                   {
                       0x0A070002, 
                       "Sunday", 
                       Zero, 
                       One
                   })
                   Name (ALMO, Package (0x04)
                   {
                       0x0A070003, 
                       "Monday", 
                       Zero, 
                       One
                   })
                   Name (ALTU, Package (0x04)
                   {
                       0x0A070004, 
                       "Tuesday", 
                       Zero, 
                       One
                   })
                   Name (ALWE, Package (0x04)
                   {
                       0x0A070005, 
                       "Wednesday", 
                       Zero, 
                       One
                   })
                   Name (ALTH, Package (0x04)
                   {
                       0x0A070006, 
                       "Thursday", 
                       Zero, 
                       One
                   })
                   Name (ALFR, Package (0x04)
                   {
                       0x0A070007, 
                       "Friday", 
                       Zero, 
                       One
                   })
                   Name (ALSA, Package (0x04)
                   {
                       0x0A070008, 
                       "Saturday", 
                       Zero, 
                       One
                   })
                   Name (ALAH, Package (0x07)
                   {
                       0x0A060009, 
                       "Alarm Hour", 
                       Zero, 
                       0x0C, 
                       Zero, 
                       One, 
                       0x18
                   })
                   Name (ALAM, Package (0x07)
                   {
                       0x0A06000A, 
                       "Alarm Mins", 
                       Zero, 
                       Zero, 
                       Zero, 
                       One, 
                       0x3C
                   })
                   Name (ALAC, Package (0x09)
                   {
                       0x0A08000B, 
                       "Music Alarm Drive", 
                       Zero, 
                       0x03, 
                       0x04, 
                       "Primary IDE Master", 
                       "Primary IDE Slave", 
                       "Secondary IDE Master", 
                       "Secondary IDE Slave"
                   })
                   Name (ALAT, Package (0x07)
                   {
                       0x0A06000C, 
                       "Starting Track", 
                       Zero, 
                       0x10, 
                       Zero, 
                       One, 
                       0x20
                   })
                   Name (ALAR, Package (0x08)
                   {
                       0x0A08000D, 
                       "Repeat", 
                       Zero, 
                       Zero, 
                       0x03, 
                       "none", 
                       "Single", 
                       "All"
                   })
                   Name (ALAL, Package (0x09)
                   {
                       0x0A08000E, 
                       "Length", 
                       Zero, 
                       Zero, 
                       0x04, 
                       "10 mins", 
                       "20 mins", 
                       "30 mins", 
                       "1 hour"
                   })
                   Name (ALAV, Package (0x07)
                   {
                       0x0A06000F, 
                       "Volume", 
                       Zero, 
                       0x0F, 
                       Zero, 
                       One, 
                       0x20
                   })
                   Name (GRPA, Package (0x0F)
                   {
                       ALAE, 
                       ALSU, 
                       ALMO, 
                       ALTU, 
                       ALWE, 
                       ALTH, 
                       ALFR, 
                       ALSA, 
                       ALAH, 
                       ALAM, 
                       ALAC, 
                       ALAT, 
                       ALAR, 
                       ALAL, 
                       ALAV
                   })
                   Method (GITA, 1, NotSerialized)
                   {
                       Store (And (Arg0, 0xFF), Local0)
                       Name (T0_0, Zero)
                       Store (Local0, T0_0)
                       If (LEqual (T0_0, One))
                       {
                           Store (GNVS (0x15E3), ASB1)
                       }
                       Else
                       {
                           If (LEqual (T0_0, 0x02))
                           {
                               Store (GNVS (0x15E4), ASB1)
                           }
                           Else
                           {
                               If (LEqual (T0_0, 0x03))
                               {
                                   Store (GNVS (0x15E5), ASB1)
                               }
                               Else
                               {
                                   If (LEqual (T0_0, 0x04))
                                   {
                                       Store (GNVS (0x15E6), ASB1)
                                   }
                                   Else
                                   {
                                       If (LEqual (T0_0, 0x05))
                                       {
                                           Store (GNVS (0x15E7), ASB1)
                                       }
                                       Else
                                       {
                                           If (LEqual (T0_0, 0x06))
                                           {
                                               Store (GNVS (0x15E8), ASB1)
                                           }
                                           Else
                                           {
                                               If (LEqual (T0_0, 0x07))
                                               {
                                                   Store (GNVS (0x15E9), ASB1)
                                               }
                                               Else
                                               {
                                                   If (LEqual (T0_0, 0x08))
                                                   {
                                                       Store (GNVS (0x15EA), ASB1)
                                                   }
                                                   Else
                                                   {
                                                       If (LEqual (T0_0, 0x09))
                                                       {
                                                           Store (GNVS (0x52E8), ASB1)
                                                       }
                                                       Else
                                                       {
                                                           If (LEqual (T0_0, 0x0A))
                                                           {
                                                               Store (GNVS (0x6298), ASB1)
                                                           }
                                                           Else
                                                           {
                                                               If (LEqual (T0_0, 0x0B))
                                                               {
                                                                   Store (GNVS (0x15EB), ASB1)
                                                               }
                                                               Else
                                                               {
                                                                   If (LEqual (T0_0, 0x0C))
                                                                   {
                                                                       Store (GNVS (0x52E0), ASB1)
                                                                   }
                                                                   Else
                                                                   {
                                                                       If (LEqual (T0_0, 0x0D))
                                                                       {
                                                                           Store (GNVS (0x2580), ASB1)
                                                                       }
                                                                       Else
                                                                       {
                                                                           If (LEqual (T0_0, 0x0E))
                                                                           {
                                                                               Store (GNVS (0x2582), ASB1)
                                                                           }
                                                                           Else
                                                                           {
                                                                               If (LEqual (T0_0, 0x0F))
                                                                               {
                                                                                   Store (GNVS (0x52F0), ASB1)
                                                                               }
                                                                               Else
                                                                               {
                                                                                   Store (Zero, ASB0)
                                                                               }
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }

                   Method (SITA, 3, NotSerialized)
                   {
                       Store (And (Arg0, 0xFF), Local0)
                       Name (T0_0, Zero)
                       Store (Local0, T0_0)
                       If (LEqual (T0_0, One))
                       {
                           SNVS (0x15E3, Arg1)
                       }
                       Else
                       {
                           If (LEqual (T0_0, 0x02))
                           {
                               SNVS (0x15E4, Arg1)
                           }
                           Else
                           {
                               If (LEqual (T0_0, 0x03))
                               {
                                   SNVS (0x15E5, Arg1)
                               }
                               Else
                               {
                                   If (LEqual (T0_0, 0x04))
                                   {
                                       SNVS (0x15E6, Arg1)
                                   }
                                   Else
                                   {
                                       If (LEqual (T0_0, 0x05))
                                       {
                                           SNVS (0x15E7, Arg1)
                                       }
                                       Else
                                       {
                                           If (LEqual (T0_0, 0x06))
                                           {
                                               SNVS (0x15E8, Arg1)
                                           }
                                           Else
                                           {
                                               If (LEqual (T0_0, 0x07))
                                               {
                                                   SNVS (0x15E9, Arg1)
                                               }
                                               Else
                                               {
                                                   If (LEqual (T0_0, 0x08))
                                                   {
                                                       SNVS (0x15EA, Arg1)
                                                   }
                                                   Else
                                                   {
                                                       If (LEqual (T0_0, 0x09))
                                                       {
                                                           SNVS (0x52E8, Arg1)
                                                       }
                                                       Else
                                                       {
                                                           If (LEqual (T0_0, 0x0A))
                                                           {
                                                               SNVS (0x6298, Arg1)
                                                           }
                                                           Else
                                                           {
                                                               If (LEqual (T0_0, 0x0B))
                                                               {
                                                                   SNVS (0x15EB, Arg1)
                                                               }
                                                               Else
                                                               {
                                                                   If (LEqual (T0_0, 0x0C))
                                                                   {
                                                                       SNVS (0x52E0, Arg1)
                                                                   }
                                                                   Else
                                                                   {
                                                                       If (LEqual (T0_0, 0x0D))
                                                                       {
                                                                           SNVS (0x2580, Arg1)
                                                                       }
                                                                       Else
                                                                       {
                                                                           If (LEqual (T0_0, 0x0E))
                                                                           {
                                                                               SNVS (0x2582, Arg1)
                                                                           }
                                                                           Else
                                                                           {
                                                                               If (LEqual (T0_0, 0x0F))
                                                                               {
                                                                                   SNVS (0x52F0, Arg1)
                                                                               }
                                                                               Else
                                                                               {
                                                                                   Store (Zero, ASB0)
                                                                               }
                                                                           }
                                                                       }
                                                                   }
                                                               }
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }

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

               Scope (\_GPE)
               {
                   Method (_L1C, 0, NotSerialized)
                   {
                       Notify (\_SB.PCI0.SBRG.ASOC, One)
                       Sleep (0x03E8)
                   }
               }

               Scope (ASOC)
               {
                   Name (VESF, Zero)
                   Name (VESL, Zero)
                   Method (SPLV, 1, Serialized)
                   {
                       Store (And (Arg0, 0xFFFF), Local0)
                       If (LAnd (LEqual (VESL, 0xFF), LEqual (Local0, 0xFF)))
                       {
                           Store (Zero, Local0)
                       }
                       Else
                       {
                           Store (Local0, VESL)
                           Store (VESL, PAR0)
                           Store (VESF, PAR1)
                           ISMI (0x88)
                           Store (And (PAR0, 0xFFFF), Local0)
                           If (And (VESL, 0x4000))
                           {
                               Or (VESF, 0x02, VESF)
                           }
                           Else
                           {
                               And (VESF, 0xFFFD, VESF)
                           }

                           If (LEqual (VESL, 0xFF))
                           {
                               Or (VESF, 0x03, VESF)
                           }
                           Else
                           {
                               And (VESF, 0xFFFC, VESF)
                           }
                       }

                       Return (Local0)
                   }

                   Method (GPLV, 0, Serialized)
                   {
                       Return (VESL)
                   }
               }

               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 (0x1D, 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 (CRS1, ResourceTemplate ()
                   {
                       IRQNoFlags ()
                           {12}
                   })
                   Name (CRS2, 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 (CRS1)
                       }
                       Else
                       {
                           Return (CRS2)
                       }
                   }
               }

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

               Device (OMSC)
               {
                   Name (_HID, EisaId ("PNP0C02"))
                   Name (_UID, Zero)
                   Name (CRS, ResourceTemplate ()
                   {
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y0B)
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y0C)
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       If (APIC)
                       {
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0B._LEN, ML01)
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0B._BAS, MB01)
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0C._LEN, ML02)
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y0C._BAS, MB02)
                           Store (0xFEC00000, MB01)
                           Store (0x1000, ML01)
                           Store (0xFEE00000, MB02)
                           Store (0x1000, ML02)
                       }

                       Return (CRS)
                   }
               }

               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
                           _Y0D)
                       Memory32Fixed (ReadOnly,
                           0x000E0000,         // Address Base
                           0x00020000,         // Address Length
                           _Y0E)
                       Memory32Fixed (ReadWrite,
                           0x00100000,         // Address Base
                           0x00000000,         // Address Length
                           _Y0F)
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y10)
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateDWordField (CRS, \_SB.RMEM._Y0D._BAS, BAS1)
                       CreateDWordField (CRS, \_SB.RMEM._Y0D._LEN, LEN1)
                       CreateDWordField (CRS, \_SB.RMEM._Y0E._BAS, BAS2)
                       CreateDWordField (CRS, \_SB.RMEM._Y0E._LEN, LEN2)
                       CreateDWordField (CRS, \_SB.RMEM._Y0F._LEN, LEN3)
                       CreateDWordField (CRS, \_SB.RMEM._Y10._BAS, BAS4)
                       CreateDWordField (CRS, \_SB.RMEM._Y10._LEN, LEN4)
                       If (LNot (OSFL ()))
                       {
                           If (MG1B)
                           {
                               If (LGreater (MG1B, 0x000C0000))
                               {
                                   Store (0x000C0000, BAS1)
                                   Subtract (MG1B, BAS1, LEN1)
                               }
                               Else
                               {
                                   Store (MG1B, BAS1)
                                   Store (MG1L, LEN1)
                               }

                               Add (MG1B, MG1L, BAS2)
                               Subtract (0x00100000, BAS2, LEN2)
                           }
                       }

                       Subtract (MG2B, 0x00100000, LEN3)
                       Add (MG2B, MG2L, BAS4)
                       Subtract (Zero, BAS4, LEN4)
                       Return (CRS)
                   }
               }

               Device (UAR1)
               {
                   Name (_UID, One)
                   Name (_HID, EisaId ("PNP0501"))
                   Method (_STA, 0, NotSerialized)
                   {
                       Return (DSTA (Zero))
                   }

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

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

                   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, )
                               {}
                       }
                       EndDependentFn ()
                   })
               }

               Method (UAR1._PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x08, 0x04))
               }
           }

           Device (USB2)
           {
               Name (_ADR, 0x001D0001)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x04, 0x04))
               }
           }

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

           Device (USB4)
           {
               Name (_ADR, 0x001D0003)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0E, 0x04))
               }
           }

           Device (MC97)
           {
               Name (_ADR, 0x001E0003)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x05, 0x04))
               }
           }

           Device (USB1)
           {
               Name (_ADR, 0x001D0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x03, 0x04))
               }
           }

           Device (EUSB)
           {
               Name (_ADR, 0x001D0007)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0D, 0x04))
               }
           }

           Device (IDE0)
           {
               Name (_ADR, 0x001F0001)
               Name (^NATA, Package (0x01)
               {
                   0x001F0001
               })
               Name (REGF, One)
               Method (_REG, 2, NotSerialized)
               {
                   If (LEqual (Arg0, 0x02))
                   {
                       Store (Arg1, REGF)
                   }
               }

               Name (TIM0, Package (0x08)
               {
                   Package (0x04)
                   {
                       0x78, 
                       0xB4, 
                       0xF0, 
                       0x0384
                   }, 

                   Package (0x04)
                   {
                       0x23, 
                       0x21, 
                       0x10, 
                       Zero
                   }, 

                   Package (0x04)
                   {
                       0x0B, 
                       0x09, 
                       0x04, 
                       Zero
                   }, 

                   Package (0x06)
                   {
                       0x70, 
                       0x49, 
                       0x36, 
                       0x27, 
                       0x19, 
                       0x0F
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       One, 
                       0x02, 
                       One, 
                       0x02, 
                       One
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       Zero, 
                       One, 
                       One, 
                       One
                   }, 

                   Package (0x04)
                   {
                       0x04, 
                       0x03, 
                       0x02, 
                       Zero
                   }, 

                   Package (0x04)
                   {
                       0x02, 
                       One, 
                       Zero, 
                       Zero
                   }
               })
               Name (TMD0, Buffer (0x14) {})
               CreateDWordField (TMD0, Zero, PIO0)
               CreateDWordField (TMD0, 0x04, DMA0)
               CreateDWordField (TMD0, 0x08, PIO1)
               CreateDWordField (TMD0, 0x0C, DMA1)
               CreateDWordField (TMD0, 0x10, CHNF)
               OperationRegion (CFG2, PCI_Config, 0x40, 0x20)
               Field (CFG2, DWordAcc, NoLock, Preserve)
               {
                   PMPT,   4, 
                   PSPT,   4, 
                   PMRI,   6, 
                           Offset (0x02), 
                   SMPT,   4, 
                   SSPT,   4, 
                   SMRI,   6, 
                           Offset (0x04), 
                   PSRI,   4, 
                   SSRI,   4, 
                           Offset (0x08), 
                   PM3E,   1, 
                   PS3E,   1, 
                   SM3E,   1, 
                   SS3E,   1, 
                           Offset (0x0A), 
                   PMUT,   2, 
                       ,   2, 
                   PSUT,   2, 
                           Offset (0x0B), 
                   SMUT,   2, 
                       ,   2, 
                   SSUT,   2, 
                           Offset (0x0C), 
                           Offset (0x14), 
                   PM6E,   1, 
                   PS6E,   1, 
                   SM6E,   1, 
                   SS6E,   1, 
                   PMCR,   1, 
                   PSCR,   1, 
                   SMCR,   1, 
                   SSCR,   1, 
                       ,   4, 
                   PMAE,   1, 
                   PSAE,   1, 
                   SMAE,   1, 
                   SSAE,   1
               }

               Name (GMPT, Zero)
               Name (GMUE, Zero)
               Name (GMUT, Zero)
               Name (GMCR, Zero)
               Name (GSPT, Zero)
               Name (GSUE, Zero)
               Name (GSUT, Zero)
               Name (GSCR, Zero)
               Device (CHN0)
               {
                   Name (_ADR, Zero)
                   Method (_GTM, 0, NotSerialized)
                   {
                       ShiftLeft (PSCR, One, Local1)
                       Or (PMCR, Local1, Local0)
                       ShiftLeft (PMAE, 0x02, Local3)
                       ShiftLeft (PM6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (PM3E, Local3, Local1)
                       ShiftLeft (PMPT, 0x04, Local3)
                       Or (Local1, Local3, Local1)
                       ShiftLeft (PSAE, 0x02, Local3)
                       ShiftLeft (PS6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (PS3E, Local3, Local2)
                       ShiftLeft (PSPT, 0x04, Local3)
                       Or (Local2, Local3, Local2)
                       Return (GTM (PMRI, Local1, PMUT, PSRI, Local2, PSUT, Local0))
                   }

                   Method (_STM, 3, NotSerialized)
                   {
                       Store (Arg0, Debug)
                       Store (Arg0, TMD0)
                       ShiftLeft (PMAE, 0x02, Local3)
                       ShiftLeft (PM6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (PM3E, Local3, Local0)
                       ShiftLeft (PMPT, 0x04, Local3)
                       Or (Local0, Local3, Local0)
                       ShiftLeft (PSAE, 0x02, Local3)
                       ShiftLeft (PS6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (PS3E, Local3, Local1)
                       ShiftLeft (PSPT, 0x04, Local3)
                       Or (Local1, Local3, Local1)
                       Store (PMRI, GMPT)
                       Store (Local0, GMUE)
                       Store (PMUT, GMUT)
                       Store (PMCR, GMCR)
                       Store (PSRI, GSPT)
                       Store (Local1, GSUE)
                       Store (PSUT, GSUT)
                       Store (PSCR, GSCR)
                       STM ()
                       Store (GMPT, PMRI)
                       Store (GMUE, Local0)
                       Store (GMUT, PMUT)
                       Store (GMCR, PMCR)
                       Store (GSUE, Local1)
                       Store (GSUT, PSUT)
                       Store (GSCR, PSCR)
                       If (And (Local0, One))
                       {
                           Store (One, PM3E)
                       }
                       Else
                       {
                           Store (Zero, PM3E)
                       }

                       If (And (Local0, 0x02))
                       {
                           Store (One, PM6E)
                       }
                       Else
                       {
                           Store (Zero, PM6E)
                       }

                       If (And (Local0, 0x04))
                       {
                           Store (One, PMAE)
                       }
                       Else
                       {
                           Store (Zero, PMAE)
                       }

                       If (And (Local1, One))
                       {
                           Store (One, PS3E)
                       }
                       Else
                       {
                           Store (Zero, PS3E)
                       }

                       If (And (Local1, 0x02))
                       {
                           Store (One, PS6E)
                       }
                       Else
                       {
                           Store (Zero, PS6E)
                       }

                       If (And (Local1, 0x04))
                       {
                           Store (One, PSAE)
                       }
                       Else
                       {
                           Store (Zero, PSAE)
                       }

                       Store (GTF (Zero, Arg1), ATA0)
                       Store (GTF (One, Arg2), ATA1)
                   }

                   Device (DRV0)
                   {
                       Name (_ADR, Zero)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Return (RATA (ATA0))
                       }
                   }

                   Device (DRV1)
                   {
                       Name (_ADR, One)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Return (RATA (ATA1))
                       }
                   }
               }

               Device (CHN1)
               {
                   Name (_ADR, One)
                   Method (_GTM, 0, NotSerialized)
                   {
                       ShiftLeft (SSCR, One, Local1)
                       Or (SMCR, Local1, Local0)
                       ShiftLeft (SMAE, 0x02, Local3)
                       ShiftLeft (SM6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (SM3E, Local3, Local1)
                       ShiftLeft (SMPT, 0x04, Local3)
                       Or (Local1, Local3, Local1)
                       ShiftLeft (SSAE, 0x02, Local3)
                       ShiftLeft (SS6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (SS3E, Local3, Local2)
                       ShiftLeft (SSPT, 0x04, Local3)
                       Or (Local2, Local3, Local2)
                       Return (GTM (SMRI, Local1, SMUT, SSRI, Local2, SSUT, Local0))
                   }

                   Method (_STM, 3, NotSerialized)
                   {
                       Store (Arg0, Debug)
                       Store (Arg0, TMD0)
                       ShiftLeft (SMAE, 0x02, Local3)
                       ShiftLeft (SM6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (SM3E, Local3, Local0)
                       ShiftLeft (SMPT, 0x04, Local3)
                       Or (Local0, Local3, Local0)
                       ShiftLeft (SSAE, 0x02, Local3)
                       ShiftLeft (SS6E, One, Local4)
                       Or (Local3, Local4, Local3)
                       Or (SS3E, Local3, Local1)
                       ShiftLeft (SSPT, 0x04, Local3)
                       Or (Local1, Local3, Local1)
                       Store (SMRI, GMPT)
                       Store (Local0, GMUE)
                       Store (SMUT, GMUT)
                       Store (SMCR, GMCR)
                       Store (SSRI, GSPT)
                       Store (Local1, GSUE)
                       Store (SSUT, GSUT)
                       Store (SSCR, GSCR)
                       STM ()
                       Store (GMPT, SMRI)
                       Store (GMUE, Local0)
                       Store (GMUT, SMUT)
                       Store (GMCR, SMCR)
                       Store (GSUE, Local1)
                       Store (GSUT, SSUT)
                       Store (GSCR, SSCR)
                       If (And (Local0, One))
                       {
                           Store (One, SM3E)
                       }
                       Else
                       {
                           Store (Zero, SM3E)
                       }

                       If (And (Local0, 0x02))
                       {
                           Store (One, SM6E)
                       }
                       Else
                       {
                           Store (Zero, SM6E)
                       }

                       If (And (Local0, 0x04))
                       {
                           Store (One, SMAE)
                       }
                       Else
                       {
                           Store (Zero, SMAE)
                       }

                       If (And (Local1, One))
                       {
                           Store (One, SS3E)
                       }
                       Else
                       {
                           Store (Zero, SS3E)
                       }

                       If (And (Local1, 0x02))
                       {
                           Store (One, SS6E)
                       }
                       Else
                       {
                           Store (Zero, SS6E)
                       }

                       If (And (Local1, 0x04))
                       {
                           Store (One, SSAE)
                       }
                       Else
                       {
                           Store (Zero, SSAE)
                       }

                       Store (GTF (Zero, Arg1), ATA2)
                       Store (GTF (One, Arg2), ATA3)
                   }

                   Device (DRV0)
                   {
                       Name (_ADR, Zero)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Return (RATA (ATA2))
                       }
                   }

                   Device (DRV1)
                   {
                       Name (_ADR, One)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Return (RATA (ATA3))
                       }
                   }
               }

               Method (GTM, 7, Serialized)
               {
                   Store (Ones, PIO0)
                   Store (Ones, PIO1)
                   Store (Ones, DMA0)
                   Store (Ones, DMA1)
                   Store (0x10, CHNF)
                   If (REGF) {}
                   Else
                   {
                       Return (TMD0)
                   }

                   If (And (Arg1, 0x20))
                   {
                       Or (CHNF, 0x02, CHNF)
                   }

                   Store (Match (DerefOf (Index (TIM0, One)), MEQ, Arg0, MTR, 
                       Zero, Zero), Local6)
                   Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), 
                       Local7)
                   Store (Local7, DMA0)
                   Store (Local7, PIO0)
                   If (And (Arg4, 0x20))
                   {
                       Or (CHNF, 0x08, CHNF)
                   }

                   Store (Match (DerefOf (Index (TIM0, 0x02)), MEQ, Arg3, MTR, 
                       Zero, Zero), Local6)
                   Store (DerefOf (Index (DerefOf (Index (TIM0, Zero)), Local6)), 
                       Local7)
                   Store (Local7, DMA1)
                   Store (Local7, PIO1)
                   If (And (Arg1, 0x07))
                   {
                       Store (Arg2, Local5)
                       If (And (Arg1, 0x02))
                       {
                           Add (Local5, 0x02, Local5)
                       }

                       If (And (Arg1, 0x04))
                       {
                           Add (Local5, 0x04, Local5)
                       }

                       Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), 
                           DMA0)
                       Or (CHNF, One, CHNF)
                   }

                   If (And (Arg4, 0x07))
                   {
                       Store (Arg5, Local5)
                       If (And (Arg4, 0x02))
                       {
                           Add (Local5, 0x02, Local5)
                       }

                       If (And (Arg4, 0x04))
                       {
                           Add (Local5, 0x04, Local5)
                       }

                       Store (DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local5)), 
                           DMA1)
                       Or (CHNF, 0x04, CHNF)
                   }

                   Store (TMD0, Debug)
                   Return (TMD0)
               }

               Method (STM, 0, Serialized)
               {
                   If (REGF) {}
                   Else
                   {
                       Store (Zero, GMUE)
                       Store (Zero, GMUT)
                       Store (Zero, GSUE)
                       Store (Zero, GSUT)
                       If (And (CHNF, One))
                       {
                           Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA0, MTR, 
                               Zero, Zero), Local0)
                           If (LGreater (Local0, 0x05))
                           {
                               Store (0x05, Local0)
                           }

                           Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 
                               GMUT)
                           Or (GMUE, One, GMUE)
                           If (LGreater (Local0, 0x02))
                           {
                               Or (GMUE, 0x02, GMUE)
                           }

                           If (LGreater (Local0, 0x04))
                           {
                               And (GMUE, 0xFD, GMUE)
                               Or (GMUE, 0x04, GMUE)
                           }
                       }
                       Else
                       {
                           If (Or (LEqual (PIO0, Ones), LEqual (PIO0, Zero)))
                           {
                               If (And (LLess (DMA0, Ones), LGreater (DMA0, Zero)))
                               {
                                   Store (DMA0, PIO0)
                                   Or (GMUE, 0x80, GMUE)
                               }
                           }
                       }

                       If (And (CHNF, 0x04))
                       {
                           Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMA1, MTR, 
                               Zero, Zero), Local0)
                           If (LGreater (Local0, 0x05))
                           {
                               Store (0x05, Local0)
                           }

                           Store (DerefOf (Index (DerefOf (Index (TIM0, 0x04)), Local0)), 
                               GSUT)
                           Or (GSUE, One, GSUE)
                           If (LGreater (Local0, 0x02))
                           {
                               Or (GSUE, 0x02, GSUE)
                           }

                           If (LGreater (Local0, 0x04))
                           {
                               And (GSUE, 0xFD, GSUE)
                               Or (GSUE, 0x04, GSUE)
                           }
                       }
                       Else
                       {
                           If (Or (LEqual (PIO1, Ones), LEqual (PIO1, Zero)))
                           {
                               If (And (LLess (DMA1, Ones), LGreater (DMA1, Zero)))
                               {
                                   Store (DMA1, PIO1)
                                   Or (GSUE, 0x80, GSUE)
                               }
                           }
                       }

                       If (And (CHNF, 0x02))
                       {
                           Or (GMUE, 0x20, GMUE)
                       }

                       If (And (CHNF, 0x08))
                       {
                           Or (GSUE, 0x20, GSUE)
                       }

                       And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO0, MTR, 
                           Zero, Zero), 0x07, Local0)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, One)), Local0)), 
                           Local1)
                       Store (Local1, GMPT)
                       If (LLess (Local0, 0x03))
                       {
                           Or (GMUE, 0x50, GMUE)
                       }

                       And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIO1, MTR, 
                           Zero, Zero), 0x07, Local0)
                       Store (DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0)), 
                           Local1)
                       Store (Local1, GSPT)
                       If (LLess (Local0, 0x03))
                       {
                           Or (GSUE, 0x50, GSUE)
                       }
                   }
               }

               Name (AT01, Buffer (0x07)
               {
                   0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
               })
               Name (AT02, Buffer (0x07)
               {
                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
               })
               Name (AT03, Buffer (0x07)
               {
                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
               })
               Name (AT04, Buffer (0x07)
               {
                   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
               })
               Name (ATA0, Buffer (0x1D) {})
               Name (ATA1, Buffer (0x1D) {})
               Name (ATA2, Buffer (0x1D) {})
               Name (ATA3, Buffer (0x1D) {})
               Name (ATAB, Buffer (0x1D) {})
               CreateByteField (ATAB, Zero, CMDC)
               Method (GTFB, 3, Serialized)
               {
                   Multiply (CMDC, 0x38, Local0)
                   Add (Local0, 0x08, Local1)
                   CreateField (ATAB, Local1, 0x38, CMDX)
                   Multiply (CMDC, 0x07, Local0)
                   CreateByteField (ATAB, Add (Local0, 0x02), A001)
                   CreateByteField (ATAB, Add (Local0, 0x06), A005)
                   Store (Arg0, CMDX)
                   Store (Arg1, A001)
                   Store (Arg2, A005)
                   Increment (CMDC)
               }

               Method (GTF, 2, Serialized)
               {
                   Store (Arg1, Debug)
                   Store (Zero, CMDC)
                   Name (ID49, 0x0C00)
                   Name (ID59, Zero)
                   Name (ID53, 0x04)
                   Name (ID63, 0x0F00)
                   Name (ID88, 0x0F00)
                   Name (IRDY, One)
                   Name (PIOT, Zero)
                   Name (DMAT, Zero)
                   If (LEqual (SizeOf (Arg1), 0x0200))
                   {
                       CreateWordField (Arg1, 0x62, IW49)
                       Store (IW49, ID49)
                       CreateWordField (Arg1, 0x6A, IW53)
                       Store (IW53, ID53)
                       CreateWordField (Arg1, 0x7E, IW63)
                       Store (IW63, ID63)
                       CreateWordField (Arg1, 0x76, IW59)
                       Store (IW59, ID59)
                       CreateWordField (Arg1, 0xB0, IW88)
                       Store (IW88, ID88)
                   }

                   Store (0xA0, Local7)
                   If (Arg0)
                   {
                       Store (0xB0, Local7)
                       And (CHNF, 0x08, IRDY)
                       If (And (CHNF, 0x10))
                       {
                           Store (PIO1, PIOT)
                       }
                       Else
                       {
                           Store (PIO0, PIOT)
                       }

                       If (And (CHNF, 0x04))
                       {
                           If (And (CHNF, 0x10))
                           {
                               Store (DMA1, DMAT)
                           }
                           Else
                           {
                               Store (DMA0, DMAT)
                           }
                       }
                   }
                   Else
                   {
                       And (CHNF, 0x02, IRDY)
                       Store (PIO0, PIOT)
                       If (And (CHNF, One))
                       {
                           Store (DMA0, DMAT)
                       }
                   }

                   If (LAnd (LAnd (And (ID53, 0x04), And (ID88, 0xFF00
                       )), DMAT))
                   {
                       Store (Match (DerefOf (Index (TIM0, 0x03)), MLE, DMAT, MTR, 
                           Zero, Zero), Local1)
                       If (LGreater (Local1, 0x05))
                       {
                           Store (0x05, Local1)
                       }

                       GTFB (AT01, Or (0x40, Local1), Local7)
                   }
                   Else
                   {
                       If (LAnd (And (ID63, 0xFF00), PIOT))
                       {
                           And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, 
                               Zero, Zero), 0x03, Local0)
                           Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x07)), Local0
                               )), Local1)
                           GTFB (AT01, Local1, Local7)
                       }
                   }

                   If (IRDY)
                   {
                       And (Match (DerefOf (Index (TIM0, Zero)), MGE, PIOT, MTR, 
                           Zero, Zero), 0x07, Local0)
                       Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x06)), Local0
                           )), Local1)
                       GTFB (AT01, Local1, Local7)
                   }
                   Else
                   {
                       If (And (ID49, 0x0400))
                       {
                           GTFB (AT01, One, Local7)
                       }
                   }

                   If (LAnd (And (ID59, 0x0100), And (ID59, 0xFF)))
                   {
                       GTFB (AT03, And (ID59, 0xFF), Local7)
                   }

                   Store (ATAB, Debug)
                   Return (ATAB)
               }

               Method (RATA, 1, NotSerialized)
               {
                   CreateByteField (Arg0, Zero, CMDN)
                   Multiply (CMDN, 0x38, Local0)
                   CreateField (Arg0, 0x08, Local0, RETB)
                   Store (RETB, Debug)
                   Return (RETB)
               }
           }

           Device (IDE1)
           {
               Name (_ADR, 0x001F0002)
           }
       }

       Scope (\_GPE)
       {
           Method (_L09, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.P0P1, 0x02)
               Notify (\_SB.PCI0.P0P4, 0x02)
               Notify (\_SB.PCI0.P0P5, 0x02)
               Notify (\_SB.PCI0.P0P6, 0x02)
               Notify (\_SB.PCI0.P0P7, 0x02)
               Notify (\_SB.PCI0.P0P8, 0x02)
               Notify (\_SB.PCI0.P0P9, 0x02)
           }

           Method (_L0B, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.P0P3, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }

           Method (_L1D, 0, NotSerialized)
           {
               \_SB.PCI0.SBRG.SIOH ()
           }

           Method (_L08, 0, NotSerialized)
           {
               \_SB.PCI0.SBRG.SIOH ()
           }

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

           Method (_L0C, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.USB3, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }

           Method (_L0E, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.USB4, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }

           Method (_L05, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.MC97, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }

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

           Method (_L0D, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.EUSB, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }
       }

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

   OperationRegion (_SB.PCI0.SBRG.PIX0, PCI_Config, 0x60, 0x0C)
   Field (\_SB.PCI0.SBRG.PIX0, ByteAcc, NoLock, Preserve)
   {
       PIRA,   8, 
       PIRB,   8, 
       PIRC,   8, 
       PIRD,   8, 
               Offset (0x08), 
       PIRE,   8, 
       PIRF,   8, 
       PIRG,   8, 
       PIRH,   8
   }

   Scope (_SB)
   {
       Name (BUFA, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {15}
       })
       CreateWordField (BUFA, One, IRA0)
       Device (LNKA)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, One)
           Method (_STA, 0, NotSerialized)
           {
               And (PIRA, 0x80, Local0)
               If (Local0)
               {
                   Return (0x09)
               }
               Else
               {
                   Return (0x0B)
               }
           }

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRA, 0x80, PIRA)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRA, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               Return (BUFA)
           }

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

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

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRB, 0x80, PIRB)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRB, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               Return (BUFA)
           }

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

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

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRC, 0x80, PIRC)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRC, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               Return (BUFA)
           }

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

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

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRD, 0x80, PIRD)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRD, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               Return (BUFA)
           }

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

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

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRE, 0x80, PIRE)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRE, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               Return (BUFA)
           }

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

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

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRF, 0x80, PIRF)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRF, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               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, 0x07)
           Method (_STA, 0, NotSerialized)
           {
               And (PIRG, 0x80, Local0)
               If (Local0)
               {
                   Return (0x09)
               }
               Else
               {
                   Return (0x0B)
               }
           }

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRG, 0x80, PIRG)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRG, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               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, 0x08)
           Method (_STA, 0, NotSerialized)
           {
               And (PIRH, 0x80, Local0)
               If (Local0)
               {
                   Return (0x09)
               }
               Else
               {
                   Return (0x0B)
               }
           }

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

           Method (_DIS, 0, NotSerialized)
           {
               Or (PIRH, 0x80, PIRH)
           }

           Method (_CRS, 0, NotSerialized)
           {
               And (PIRH, 0x0F, Local0)
               ShiftLeft (One, Local0, IRA0)
               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, 0xFFFF)
           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, 0xFFFF)
           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, 0xFFFF)
           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, 0xFFFF)
           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, 0xFFFF)
           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, 0xFFFF)
           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, 0xFFFF)
           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)
           }
       }
   }

   Scope (_SB)
   {
       Scope (PCI0)
       {
           OperationRegion (IOB2, SystemIO, 0xB2, 0x02)
           Field (IOB2, ByteAcc, NoLock, Preserve)
           {
               SMIC,   8, 
               SMIS,   8
           }

           Method (IOSB, 0, NotSerialized)
           {
               If (CondRefOf (_OSI, Local0))
               {
                   Store (0x58, SMIC)
               }
               Else
               {
                   Store (0x85, SMIC)
               }
           }
       }
   }

   Scope (_SB.PCI0.SBRG.SIOR)
   {
       Method (HWV0, 0, NotSerialized)
       {
           Return (Multiply (VCOR, 0x08))
       }

       Method (HWV1, 0, NotSerialized)
       {
           Return (Multiply (V12V, 0x08))
       }

       Method (HWV3, 0, NotSerialized)
       {
           Return (Multiply (V33V, 0x08))
       }

       Method (HWV5, 0, NotSerialized)
       {
           Return (Multiply (V50V, 0x08))
       }

       Method (HWT0, 0, NotSerialized)
       {
           Store (MBTE, Local1)
           Multiply (Local1, 0x0A, Local1)
           Return (Local1)
       }

       Method (HWT1, 0, NotSerialized)
       {
           SBNK (One)
           Store (TSR1, Local1)
           Multiply (Local1, 0x0A, Local1)
           Store (TSR2, Local2)
           Multiply (Local2, 0x05, Local2)
           Add (Local1, Local2, Local1)
           Return (Local1)
       }

       Method (HWT2, 0, NotSerialized)
       {
           SBNK (0x02)
           Store (TSR1, Local1)
           Multiply (Local1, 0x0A, Local1)
           Store (TSR2, Local2)
           Multiply (Local2, 0x05, Local2)
           Add (Local1, Local2, Local1)
           Return (Local1)
       }

       Name (FNDT, Package (0x08)
       {
           One, 
           0x02, 
           0x04, 
           0x08, 
           0x10, 
           0x20, 
           0x40, 
           0x80
       })
       Method (HWF0, 0, Serialized)
       {
           SBNK (Zero)
           Store (FAN1, Local0)
           And (FD21, 0x20, Local1)
           ShiftRight (Local1, 0x03, Local1)
           And (FDR1, 0x30, Local2)
           ShiftRight (Local2, 0x04, Local2)
           Or (Local1, Local2, Local1)
           While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (
               LLess (Local0, 0x64), LGreater (Local1, Zero))))
           {
               If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
               {
                   Increment (Local1)
               }
               Else
               {
                   Decrement (Local1)
               }

               ShiftLeft (Local1, 0x03, Local2)
               And (Local2, 0x20, Local2)
               And (FD21, 0xDF, Local3)
               Or (Local2, Local3, Local3)
               Store (Local3, FD21)
               ShiftLeft (Local1, 0x04, Local2)
               And (Local2, 0x30, Local2)
               And (FDR1, 0xCF, Local3)
               Or (Local2, Local3, Local3)
               Or (Local3, One, Local3)
               Store (Local3, FDR1)
               Sleep (0x012C)
               Store (FAN1, Local0)
           }

           If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
           {
               Return (Zero)
           }

           If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
           {
               Return (Ones)
           }

           Store (DerefOf (Index (FNDT, Local1)), Local2)
           Multiply (Local0, Local2, Local0)
           Divide (0x00149970, Local0, Local1, Local0)
           Return (Local0)
       }

       Method (HWF1, 0, Serialized)
       {
           SBNK (Zero)
           Store (FAN2, Local0)
           And (FD21, 0x40, Local1)
           ShiftRight (Local1, 0x04, Local1)
           And (FDR1, 0xC0, Local2)
           ShiftRight (Local2, 0x06, Local2)
           Or (Local1, Local2, Local1)
           While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (
               LLess (Local0, 0x64), LGreater (Local1, Zero))))
           {
               If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
               {
                   Increment (Local1)
               }
               Else
               {
                   Decrement (Local1)
               }

               ShiftLeft (Local1, 0x04, Local2)
               And (Local2, 0x40, Local2)
               And (FD21, 0xBF, Local3)
               Or (Local2, Local3, Local3)
               Store (Local3, FD21)
               ShiftLeft (Local1, 0x06, Local2)
               And (Local2, 0xC0, Local2)
               And (FDR1, 0x3F, Local3)
               Or (Local2, Local3, Local3)
               Or (Local3, One, Local3)
               Store (Local3, FDR1)
               Sleep (0x012C)
               Store (FAN2, Local0)
           }

           If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
           {
               Return (Zero)
           }

           If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
           {
               Return (Ones)
           }

           Store (DerefOf (Index (FNDT, Local1)), Local2)
           Multiply (Local0, Local2, Local0)
           Divide (0x00149970, Local0, Local1, Local0)
           Return (Local0)
       }

       Method (HWF2, 0, Serialized)
       {
           SBNK (Zero)
           Store (FAN3, Local0)
           And (FD21, 0x80, Local1)
           ShiftRight (Local1, 0x05, Local1)
           And (FD13, 0xC0, Local2)
           ShiftRight (Local2, 0x06, Local2)
           Or (Local1, Local2, Local1)
           While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (
               LLess (Local0, 0x64), LGreater (Local1, Zero))))
           {
               If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
               {
                   Increment (Local1)
               }
               Else
               {
                   Decrement (Local1)
               }

               ShiftLeft (Local1, 0x05, Local2)
               And (Local2, 0x80, Local2)
               And (FD21, 0x7F, Local3)
               Or (Local2, Local3, Local3)
               Store (Local3, FD21)
               ShiftLeft (Local1, 0x06, Local2)
               And (Local2, 0xC0, Local2)
               And (FD13, 0x3F, Local3)
               Or (Local2, Local3, Local3)
               Store (Local3, FD13)
               Sleep (0x012C)
               Store (FAN3, Local0)
           }

           If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
           {
               Return (Zero)
           }

           If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
           {
               Return (Ones)
           }

           Store (DerefOf (Index (FNDT, Local1)), Local2)
           Multiply (Local0, Local2, Local0)
           Divide (0x00149970, Local0, Local1, Local0)
           Return (Local0)
       }

       Method (HWF3, 0, Serialized)
       {
           SBNK (Zero)
           Store (FAN5, Local0)
           And (FD15, 0x80, Local1)
           ShiftRight (Local1, 0x05, Local1)
           And (FND4, 0x03, Local2)
           Or (Local1, Local2, Local1)
           While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (
               LLess (Local0, 0x64), LGreater (Local1, Zero))))
           {
               If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
               {
                   Increment (Local1)
               }
               Else
               {
                   Decrement (Local1)
               }

               ShiftLeft (Local1, 0x05, Local2)
               And (Local2, 0x80, Local2)
               And (FD15, 0x7F, Local3)
               Or (Local2, Local3, Local3)
               Store (Local3, FD15)
               And (Local1, 0x03, Local2)
               And (FND4, 0xFC, Local3)
               Or (Local2, Local3, Local3)
               Store (Local3, FND4)
               Sleep (0x012C)
               Store (FAN5, Local0)
           }

           If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
           {
               Return (Zero)
           }

           If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
           {
               Return (Ones)
           }

           Store (DerefOf (Index (FNDT, Local1)), Local2)
           Multiply (Local0, Local2, Local0)
           Divide (0x00149970, Local0, Local1, Local0)
           Return (Local0)
       }

       Method (HWF4, 0, Serialized)
       {
           SBNK (0x05)
           Store (FAN4, Local0)
           SBNK (Zero)
           And (FND4, 0x80, Local1)
           ShiftRight (Local1, 0x05, Local1)
           And (FND4, 0x0C, Local2)
           ShiftRight (Local2, 0x02, Local2)
           Or (Local1, Local2, Local1)
           While (LOr (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)), LAnd (
               LLess (Local0, 0x64), LGreater (Local1, Zero))))
           {
               If (LAnd (LGreater (Local0, 0xE6), LLess (Local1, 0x07)))
               {
                   Increment (Local1)
               }
               Else
               {
                   Decrement (Local1)
               }

               ShiftLeft (Local1, 0x05, Local2)
               And (Local2, 0x80, Local2)
               ShiftLeft (Local1, 0x02, Local3)
               And (Local3, 0x0C, Local3)
               Or (Local2, Local3, Local2)
               And (FND4, 0x73, Local3)
               Or (Local2, Local3, Local3)
               Store (Local3, FND4)
               Sleep (0x012C)
               SBNK (0x05)
               Store (FAN4, Local0)
               SBNK (Zero)
           }

           If (LAnd (LEqual (Local0, 0xFF), LEqual (Local1, 0x07)))
           {
               Return (Zero)
           }

           If (LAnd (LEqual (Local0, Zero), LEqual (Local1, Zero)))
           {
               Return (Ones)
           }

           Store (DerefOf (Index (FNDT, Local1)), Local2)
           Multiply (Local0, Local2, Local0)
           Divide (0x00149970, Local0, Local1, Local0)
           Return (Local0)
       }

       Method (SBNK, 1, Serialized)
       {
           Store (Arg0, BSEL)
           Sleep (0x64)
       }

       OperationRegion (HWRE, SystemIO, IOHW, 0x0A)
       Field (HWRE, ByteAcc, NoLock, Preserve)
       {
                   Offset (0x05), 
           HIDX,   8, 
           HDAT,   8
       }

       IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
       {
                   Offset (0x01), 
           SFOV,   8, 
           CFPO,   8, 
           CFOV,   8, 
           CHNM,   1, 
           CFNM,   1, 
           CHNS,   2, 
           CFNS,   2, 
                   Offset (0x05), 
           SYST,   8, 
           TRGT,   8, 
                   Offset (0x08), 
           SSDN,   8, 
           CSDN,   8, 
           SSUP,   8, 
           CSUP,   8, 
                   Offset (0x20), 
           VCOR,   8, 
           V12V,   8, 
                   Offset (0x23), 
           V33V,   8, 
                   Offset (0x25), 
           V50V,   8, 
                   Offset (0x27), 
           MBTE,   8, 
           FAN1,   8, 
           FAN2,   8, 
           FAN3,   8, 
                   Offset (0x3F), 
           FAN5,   8, 
                   Offset (0x47), 
           FDR1,   8, 
                   Offset (0x4B), 
           FD13,   8, 
           FD15,   8, 
                   Offset (0x4E), 
           BSEL,   3, 
                   Offset (0x4F), 
                   Offset (0x50), 
           TSR1,   8, 
               ,   7, 
           TSR2,   1, 
                   Offset (0x53), 
           FAN4,   8, 
                   Offset (0x59), 
           FND4,   8, 
                   Offset (0x5D), 
           FD21,   8
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (CORV, Package (0x05)
       {
           0x06020000, 
           "Vcore Voltage", 
           0x0352, 
           0x0640, 
           One
       })
       Name (V3VV, Package (0x05)
       {
           0x06020001, 
           " +3.3 Voltage", 
           0x0B9A, 
           0x0E2E, 
           One
       })
       Name (V5VV, Package (0x05)
       {
           0x06020002, 
           " +5 Voltage", 
           0x1194, 
           0x157C, 
           One
       })
       Name (VV12, Package (0x05)
       {
           0x06020003, 
           " +12 Voltage", 
           0x27D8, 
           0x35E8, 
           One
       })
       Name (VPAR, Package (0x04)
       {
           Package (0x03)
           {
               Zero, 
               One, 
               Zero
           }, 

           Package (0x03)
           {
               0x22, 
               0x22, 
               Zero
           }, 

           Package (0x03)
           {
               0x16, 
               0x0A, 
               Zero
           }, 

           Package (0x03)
           {
               0x38, 
               0x0A, 
               Zero
           }
       })
       Name (VBUF, Package (0x05)
       {
           0x04, 
           CORV, 
           V3VV, 
           V5VV, 
           VV12
       })
       Method (VGET, 1, NotSerialized)
       {
           If (LEqual (Arg0, Zero))
           {
               Return (^^SIOR.HWV0 ())
           }

           If (LEqual (Arg0, One))
           {
               Return (^^SIOR.HWV3 ())
           }

           If (LEqual (Arg0, 0x02))
           {
               Return (^^SIOR.HWV5 ())
           }

           If (LEqual (Arg0, 0x03))
           {
               Return (^^SIOR.HWV1 ())
           }
       }

       Name (CPUT, Package (0x05)
       {
           0x06030000, 
           "CPU Temperature", 
           0x0258, 
           0x03B6, 
           0x00010001
       })
       Name (MBTP, Package (0x05)
       {
           0x06030001, 
           "MB Temperature", 
           0x01C2, 
           0x03B6, 
           0x00010001
       })
       Name (TBUF, Package (0x03)
       {
           0x02, 
           CPUT, 
           MBTP
       })
       Method (TGET, 1, NotSerialized)
       {
           If (LEqual (Arg0, Zero))
           {
               Return (^^SIOR.HWT1 ())
           }

           If (LEqual (Arg0, One))
           {
               Return (^^SIOR.HWT0 ())
           }
       }

       Name (CPUF, Package (0x05)
       {
           0x06040000, 
           "CPU FAN Speed", 
           Zero, 
           0x1C20, 
           0x00010001
       })
       Name (CHF1, Package (0x05)
       {
           0x06040001, 
           "CHASSIS1 FAN Speed", 
           0x0320, 
           0x1C20, 
           0x00010001
       })
       Name (CHF2, Package (0x05)
       {
           0x06040002, 
           "CHASSIS2 FAN Speed", 
           0x0320, 
           0x1C20, 
           0x00010001
       })
       Name (PWF1, Package (0x05)
       {
           0x06040003, 
           "POWER1 FAN Speed", 
           0x0320, 
           0x1C20, 
           0x00010001
       })
       Name (PWF2, Package (0x05)
       {
           0x06040004, 
           "POWER2 FAN Speed", 
           0x0320, 
           0x1C20, 
           0x00010001
       })
       Name (FBUF, Package (0x06)
       {
           0x05, 
           CPUF, 
           CHF1, 
           CHF2, 
           PWF1, 
           PWF2
       })
       Method (FGET, 1, NotSerialized)
       {
           If (LEqual (Arg0, Zero))
           {
               Return (^^SIOR.HWF1 ())
           }

           If (LEqual (Arg0, One))
           {
               Return (^^SIOR.HWF0 ())
           }

           If (LEqual (Arg0, 0x02))
           {
               Return (^^SIOR.HWF4 ())
           }

           If (LEqual (Arg0, 0x03))
           {
               Return (^^SIOR.HWF3 ())
           }

           If (LEqual (Arg0, 0x04))
           {
               Return (^^SIOR.HWF2 ())
           }
       }

       Method (VSIF, 0, NotSerialized)
       {
           Return (VBUF)
       }

       Method (RVLT, 1, NotSerialized)
       {
           And (Arg0, 0xFFFF, Local0)
           Store (VGET (Local0), Local1)
           Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), Zero)), 
               Local2)
           Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), One)), 
               Local3)
           Store (DerefOf (Index (DerefOf (Index (VPAR, Local0)), 0x02)), 
               Local4)
           Multiply (Local1, Add (Local2, Local3), Local5)
           Divide (Local5, Local3, , Local5)
           Add (Local5, Local4, Local5)
           Return (Local5)
       }

       Method (SVLT, 1, NotSerialized)
       {
           And (DerefOf (Index (Arg0, Zero)), 0xFFFF, Local0)
           Store (DerefOf (Index (VBUF, Zero)), Local1)
           If (LGreaterEqual (Local0, Local1))
           {
               Return (Zero)
           }

           Increment (Local0)
           Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (VBUF, 
               Local0)), One))
           Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (VBUF, 
               Local0)), 0x02))
           Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (VBUF, 
               Local0)), 0x03))
           Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (VBUF, 
               Local0)), 0x04))
           Return (One)
       }

       Method (TSIF, 0, NotSerialized)
       {
           Return (TBUF)
       }

       Method (RTMP, 1, NotSerialized)
       {
           And (Arg0, 0xFFFF, Local0)
           Store (TGET (Local0), Local1)
           Return (Local1)
       }

       Method (STMP, 1, NotSerialized)
       {
           Store (And (DerefOf (Index (Arg0, Zero)), 0xFFFF), Local0)
           Store (DerefOf (Index (TBUF, Zero)), Local1)
           If (LGreaterEqual (Local0, Local1))
           {
               Return (Zero)
           }

           Increment (Local0)
           Store (DerefOf (Index (Arg0, One)), Index (DerefOf (Index (TBUF, 
               Local0)), One))
           Store (DerefOf (Index (Arg0, 0x02)), Index (DerefOf (Index (TBUF, 
               Local0)), 0x02))
           Store (DerefOf (Index (Arg0, 0x03)), Index (DerefOf (Index (TBUF, 
               Local0)), 0x03))
           Store (DerefOf (Index (Arg0, 0x04)), Index (DerefOf (Index (TBUF, 
               Local0)), 0x04))
           Return (One)
       }

       Method (FSIF, 0, NotSerialized)
       {
           Return (FBUF)
       }

       Method (RFAN, 1, NotSerialized)
       {
           And (Arg0, 0xFFFF, Local0)
           Store (FGET (Local0), Local1)
           Return (Local1)
       }

       Method (SFAN, 1, NotSerialized)
       {
           Return (Zero)
       }
   }

   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
                   0x00000000,         // Range Minimum
                   0x00000000,         // Range Maximum
                   0x00000000,         // Translation Offset
                   0x00000000,         // Length
                   ,, _Y11, AddressRangeMemory, TypeStatic)
           })
           CreateDWordField (CRS, \_SB.PCI0._Y11._MIN, MIN6)
           CreateDWordField (CRS, \_SB.PCI0._Y11._MAX, MAX6)
           CreateDWordField (CRS, \_SB.PCI0._Y11._LEN, LEN6)
           Method (_CRS, 0, NotSerialized)
           {
               Store (MG2B, MIN6)
               Add (MIN6, 0x00010000, MIN6)
               Store (MG2L, LEN6)
               Subtract (LEN6, 0x00010000, LEN6)
               Store (LEN6, Local0)
               Add (MIN6, Decrement (Local0), MAX6)
               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 (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 (PMS0, SystemIO, PMBS, 0x04)
   Field (PMS0, ByteAcc, NoLock, Preserve)
   {
           ,   10, 
       RTCS,   1, 
           ,   4, 
       WAKS,   1, 
               Offset (0x03), 
       PWBT,   1, 
           ,   1, 
       RTCE,   1, 
               Offset (0x04)
   }

   OperationRegion (SMIE, SystemIO, PM30, 0x08)
   Field (SMIE, ByteAcc, NoLock, Preserve)
   {
           ,   4, 
       PS1E,   1, 
           ,   31, 
       PS1S,   1, 
               Offset (0x08)
   }

   OperationRegion (_SB.PCI0.SKPD, PCI_Config, ACPH, 0x02)
   Field (\_SB.PCI0.SKPD, ByteAcc, NoLock, Preserve)
   {
       APWR,   8, 
       SPLV,   3, 
       OSFG,   2, 
               Offset (0x02)
   }

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

   Scope (_SB.PCI0.IDE0)
   {
       OperationRegion (PAR9, PCI_Config, 0x09, One)
       Field (PAR9, ByteAcc, NoLock, Preserve)
       {
           PAMD,   8
       }
   }

   Scope (_SB.PCI0.IDE1)
   {
       OperationRegion (SAR9, PCI_Config, 0x09, One)
       Field (SAR9, ByteAcc, NoLock, Preserve)
       {
           SAMD,   8
       }
   }

   Name (_S0, Package (0x04)
   {
       Zero, 
       Zero, 
       Zero, 
       Zero
   })
   If (SS1)
   {
       Name (_S1, Package (0x04)
       {
           One, 
           Zero, 
           Zero, 
           Zero
       })
   }

   If (SS3)
   {
       Name (_S3, Package (0x04)
       {
           0x05, 
           Zero, 
           Zero, 
           Zero
       })
   }

   If (SS4)
   {
       Name (_S4, Package (0x04)
       {
           0x06, 
           Zero, 
           Zero, 
           Zero
       })
   }

   Name (_S5, Package (0x04)
   {
       0x07, 
       Zero, 
       Zero, 
       Zero
   })
   Scope (_SB.PCI0)
   {
       Method (_INI, 0, NotSerialized)
       {
       }
   }

   Method (PTS, 1, NotSerialized)
   {
       If (Arg0)
       {
           \_SB.PCI0.SBRG.SIOS (Arg0)
           \_SB.PCI0.NPTS (Arg0)
           \_SB.PCI0.SBRG.SPTS (Arg0)
       }
   }

   Method (WAK, 1, NotSerialized)
   {
       \_SB.PCI0.SBRG.SIOW (Arg0)
       \_SB.PCI0.NWAK (Arg0)
       \_SB.PCI0.SBRG.SWAK (Arg0)
   }
}

 

 

I have found fixes for other processors but not mine!

 

I am running a

 

intel core2extreme e6800

4gb ddr2 800mhz ram

nvidia geforce 8800gt flashed to mac book pro rom

asus p5wdh deluxe

 

 

Please could someone help me

 

Thanks in advance

 

Ian

 

 

I'm thinking yu're a bit crazy to paste your dsdt code in a post...

sorry... but is what I really think... If every mate paste a dsdt and me or you click on quote&reply ...

  • 1 month later...

Exactly.

 

Delete the DSDT part, and zip up your DSDT.dsl and attach it to your post instead.

 

Most of your errors are in code sections that can be deleted entirely - it's for ASUS Probe on Windows, OS X doesn't care about it.

×
×
  • Create New...