Advertisement
CGarces

Acer Aspire 5315 DSDT

Mar 14th, 2015
570
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 358.40 KB | None | 0 0
  1. /*
  2.  * Intel ACPI Component Architecture
  3.  * AML Disassembler version 20140926-64 [Oct  1 2014]
  4.  * Copyright (c) 2000 - 2014 Intel Corporation
  5.  *
  6.  * Disassembly of dsdt.dat, Sat Mar 14 12:37:11 2015
  7.  *
  8.  * Original Table Header:
  9.  *     Signature        "DSDT"
  10.  *     Length           0x00008129 (33065)
  11.  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
  12.  *     Checksum         0x2C
  13.  *     OEM ID           "ACRSYS"
  14.  *     OEM Table ID     "ACRPRDCT"
  15.  *     OEM Revision     0x00000001 (1)
  16.  *     Compiler ID      "MSFT"
  17.  *     Compiler Version 0x01000013 (16777235)
  18.  */
  19. DefinitionBlock ("dsdt.aml", "DSDT", 1, "ACRSYS", "ACRPRDCT", 0x00000001)
  20. {
  21.     OperationRegion (PORT, SystemIO, 0x80, One)
  22.     Field (PORT, ByteAcc, NoLock, Preserve)
  23.     {
  24.         P80H,   8
  25.     }
  26.  
  27.     OperationRegion (GPIO, SystemIO, 0x0500, 0x3B)
  28.     Field (GPIO, ByteAcc, NoLock, Preserve)
  29.     {
  30.         Offset (0x0C),
  31.             ,   1,
  32.         CRTS,   1,
  33.         Offset (0x2C),
  34.             ,   1,
  35.         GPE1,   1,
  36.             ,   9,
  37.         LPDL,   1,
  38.         Offset (0x38),
  39.             ,   1,
  40.             ,   1,
  41.         CPEN,   1
  42.     }
  43.  
  44.     OperationRegion (PMBA, SystemIO, 0x0400, 0x80)
  45.     Field (PMBA, ByteAcc, NoLock, Preserve)
  46.     {
  47.         Offset (0x28),
  48.             ,   2,
  49.         SPST,   1,
  50.         Offset (0x42),
  51.             ,   1,
  52.         GPEC,   1,
  53.         Offset (0x64),
  54.             ,   9,
  55.         SCIS,   1,
  56.         Offset (0x66)
  57.     }
  58.  
  59.     OperationRegion (RCRB, SystemMemory, 0xFED1C000, 0x4000)
  60.     Field (RCRB, DWordAcc, Lock, Preserve)
  61.     {
  62.         Offset (0x1000),
  63.         Offset (0x3000),
  64.         Offset (0x3404),
  65.         HPAS,   2,
  66.             ,   5,
  67.         HPAE,   1,
  68.         Offset (0x3418),
  69.             ,   1,
  70.         PATD,   1,
  71.         SATD,   1,
  72.         SMBD,   1,
  73.         HDAD,   1,
  74.         Offset (0x341A),
  75.         RP1D,   1,
  76.         RP2D,   1,
  77.         RP3D,   1,
  78.         RP4D,   1,
  79.         RP5D,   1,
  80.         RP6D,   1
  81.     }
  82.  
  83.     OperationRegion (MBOX, SystemMemory, 0x7F6BCD90, 0x000000F9)
  84.     Field (MBOX, AnyAcc, NoLock, Preserve)
  85.     {
  86.         PCI1,   8,
  87.         PCI2,   8,
  88.         PCI3,   8,
  89.         PCI4,   8,
  90.         PCI5,   8,
  91.         PCI6,   8,
  92.         PCI7,   8,
  93.         PCI8,   8,
  94.         NLCK,   8,
  95.         ZIPE,   8,
  96.         COMA,   8,
  97.         CAIO,   8,
  98.         CAIP,   8,
  99.         CAMD,   8,
  100.         CADA,   8,
  101.         COMB,   8,
  102.         CBIO,   8,
  103.         CBIP,   8,
  104.         CBMD,   8,
  105.         CBDA,   8,
  106.         LPT1,   8,
  107.         L1IO,   8,
  108.         L1IP,   8,
  109.         L1MD,   8,
  110.         L1DA,   8,
  111.         FDDC,   8,
  112.         FDWP,   8,
  113.         AZLA,   8,
  114.         LANE,   8,
  115.         IDEC,   8,
  116.         PACT,   8,
  117.         SCFG,   8,
  118.         AIBT,   8,
  119.         AMOD,   8,
  120.         P0HP,   8,
  121.         P2HP,   8,
  122.         P0IL,   8,
  123.         P2IL,   8,
  124.         IDLY,   8,
  125.         PMTP,   8,
  126.         PMIO,   8,
  127.         PMBM,   8,
  128.         PMTM,   8,
  129.         PSTP,   8,
  130.         PSIO,   8,
  131.         PSBM,   8,
  132.         PSTM,   8,
  133.         IDE0,   8,
  134.         IDE1,   8,
  135.         IDE2,   8,
  136.         IDE3,   8,
  137.         IDE4,   8,
  138.         IDE5,   8,
  139.         IDE6,   8,
  140.         IDE7,   8,
  141.         PEGS,   8,
  142.         IGMT,   8,
  143.         CLKC,   8,
  144.         CKSC,   8,
  145.         ASLB,   32,
  146.         NDID,   8,
  147.         DID1,   32,
  148.         DID2,   32,
  149.         DID3,   32,
  150.         DID4,   32,
  151.         DID5,   32,
  152.         LUBS,   8,
  153.         U201,   8,
  154.         U202,   8,
  155.         U111,   8,
  156.         U112,   8,
  157.         U113,   8,
  158.         U114,   8,
  159.         U115,   8,
  160.         UPPC,   8,
  161.         UP00,   8,
  162.         UP01,   8,
  163.         UP02,   8,
  164.         UP03,   8,
  165.         UP04,   8,
  166.         UP05,   8,
  167.         UP06,   8,
  168.         UP07,   8,
  169.         UP08,   8,
  170.         UP09,   8,
  171.         IBTT,   8,
  172.         IPAT,   8,
  173.         ITVF,   8,
  174.         ITVM,   8,
  175.         IPSC,   8,
  176.         IBLC,   8,
  177.         IBIA,   8,
  178.         ISSC,   8,
  179.         I409,   8,
  180.         I509,   8,
  181.         I609,   8,
  182.         I709,   8,
  183.         IDMM,   8,
  184.         IDMS,   8,
  185.         IF1E,   8,
  186.         HVCO,   8,
  187.         GSMI,   8,
  188.         PLYT,   8,
  189.         EDCG,   8,
  190.         SDFY,   8,
  191.         SDTC,   8,
  192.         SDRP,   8,
  193.         SDCL,   8,
  194.         SDRC,   8,
  195.         SDRE,   8,
  196.         FC2L,   8,
  197.         FC3L,   8,
  198.         FCS4,   8,
  199.         APIM,   8,
  200.         HPTS,   8,
  201.         HPTA,   8,
  202.         EMAS,   8,
  203.         MASF,   8,
  204.         ASFB,   8,
  205.         MBTX,   8,
  206.         XPRO,   8,
  207.         IDER,   8,
  208.         SOLE,   8,
  209.         EYLS,   8,
  210.         EYLH,   8,
  211.         TPMD,   8,
  212.         TPMO,   8,
  213.         TPMC,   8,
  214.         ISTC,   8,
  215.         TRML,   8,
  216.         FNON,   8,
  217.         TRON,   8,
  218.         NXMD,   8,
  219.         PCRR,   8,
  220.         C4EN,   8,
  221.         C43D,   8,
  222.         EMTT,   8,
  223.         PROH,   8,
  224.         DFSB,   8,
  225.         TUBM,   8,
  226.         TSEN,   8,
  227.         BPST,   8,
  228.         DAS1,   8,
  229.         DAS3,   8,
  230.         WKPM,   8,
  231.         WKMD,   8,
  232.         WKS5,   8,
  233.         HOUR,   8,
  234.         MINS,   8,
  235.         SECS,   8,
  236.         DOFM,   8,
  237.         QKS4,   8,
  238.         CAPM,   8,
  239.         POPU,   8,
  240.         POPD,   8,
  241.         NXFE,   8,
  242.         VTST,   8,
  243.         VTFE,   8,
  244.         S5FG,   8,
  245.         CSTS,   8,
  246.         ENCS,   8,
  247.         DEC4,   8,
  248.         HC4E,   8,
  249.         CSTR,   8,
  250.         CMPE,   8,
  251.         CSMD,   8,
  252.         DTSE,   8,
  253.         DTSC,   8,
  254.         QBOT,   8,
  255.         QEBT,   8,
  256.         PBOT,   8,
  257.         RAID,   8,
  258.         OSYS,   16
  259.     }
  260.  
  261.     OperationRegion (CMS1, SystemIO, 0x72, 0x02)
  262.     Field (CMS1, ByteAcc, NoLock, Preserve)
  263.     {
  264.         CMSI,   8,
  265.         CMSD,   8
  266.     }
  267.  
  268.     Method (CMSW, 2, NotSerialized)
  269.     {
  270.         Store (Arg0, CMSI) /* \CMSI */
  271.         Store (Arg1, CMSD) /* \CMSD */
  272.     }
  273.  
  274.     OperationRegion (SMIO, SystemIO, 0xB2, 0x02)
  275.     Field (SMIO, ByteAcc, NoLock, Preserve)
  276.     {
  277.         APMC,   8,
  278.         APMD,   8
  279.     }
  280.  
  281.     Method (OSMI, 1, NotSerialized)
  282.     {
  283.         Store (Arg0, APMD) /* \APMD */
  284.         Store (0xB2, APMC) /* \APMC */
  285.         Stall (0xFF)
  286.         Stall (0xFF)
  287.         Stall (0xFF)
  288.         Stall (0xFF)
  289.         Stall (0xFF)
  290.         Stall (0xFF)
  291.     }
  292.  
  293.     OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
  294.     Field (IO_T, ByteAcc, NoLock, Preserve)
  295.     {
  296.         Offset (0x02),
  297.         Offset (0x04),
  298.         Offset (0x06),
  299.         Offset (0x08),
  300.         TRP0,   8,
  301.         Offset (0x0A),
  302.         Offset (0x0B),
  303.         Offset (0x0C),
  304.         Offset (0x0D),
  305.         Offset (0x0E),
  306.         Offset (0x0F),
  307.         Offset (0x10)
  308.     }
  309.  
  310.     OperationRegion (IO_D, SystemIO, 0x0810, 0x08)
  311.     Field (IO_D, ByteAcc, NoLock, Preserve)
  312.     {
  313.         TRPD,   8
  314.     }
  315.  
  316.     OperationRegion (NVST, SystemMemory, 0x7F6BCE89, 0x00000063)
  317.     Field (NVST, AnyAcc, Lock, Preserve)
  318.     {
  319.         SMIF,   8,
  320.         PRM0,   8,
  321.         PRM1,   8,
  322.         BRTL,   8,
  323.         IGDS,   8,
  324.         TLST,   8,
  325.         CADL,   8,
  326.         PADL,   8,
  327.         CSTE,   16,
  328.         NSTE,   16,
  329.         SSTE,   16,
  330.         LCDA,   16,
  331.         LIDS,   8,
  332.         PWRS,   8,
  333.         BVAL,   32,
  334.         CMPF,   8,
  335.         CSTF,   8,
  336.         GTF0,   56,
  337.         GTF2,   56,
  338.         IDEM,   8,
  339.         EDTS,   8,
  340.         DTS1,   8,
  341.         DTS2,   8,
  342.         DTSF,   8,
  343.         PPMF,   32,
  344.         TSTE,   8,
  345.         KBTP,   8,
  346.         MIRT,   8,
  347.         OTHR,   8,
  348.         DI00,   320
  349.     }
  350.  
  351.     Mutex (PSMX, 0x00)
  352.     Method (IHWM, 2, NotSerialized)
  353.     {
  354.         Acquire (PSMX, 0xFFFF)
  355.         Store (Arg0, PRM0) /* \PRM0 */
  356.         Store (Arg1, DI00) /* \DI00 */
  357.         Store (0x60, APMC) /* \APMC */
  358.         Store (DI00, Local0)
  359.         Release (PSMX)
  360.         Return (Local0)
  361.     }
  362.  
  363.     Scope (_PR)
  364.     {
  365.         Processor (CPU0, 0x01, 0x00000410, 0x06) {}
  366.         Processor (CPU1, 0x02, 0x00000410, 0x06) {}
  367.     }
  368.  
  369.     Name (ECON, Zero)
  370.     Name (CTYP, Zero)
  371.     Name (DSEN, One)
  372.     Name (SYSF, Zero)
  373.     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
  374.     {
  375.         If (LEqual (Arg0, One))
  376.         {
  377.             Store (0x51, P80H) /* \P80H */
  378.         }
  379.  
  380.         If (LEqual (Arg0, 0x03))
  381.         {
  382.             If (LAnd (DTSE, CMPE))
  383.             {
  384.                 Store (0x1E, DTSF) /* \DTSF */
  385.                 Store (Zero, TRPD) /* \TRPD */
  386.             }
  387.  
  388.             Store (0x53, P80H) /* \P80H */
  389.         }
  390.  
  391.         If (LEqual (Arg0, 0x04))
  392.         {
  393.             Store (0x54, P80H) /* \P80H */
  394.             OSMI (0x82)
  395.             CMSW (0x3F, 0x3F)
  396.         }
  397.  
  398.         If (LEqual (Arg0, 0x05))
  399.         {
  400.             Store (One, SYSF) /* \SYSF */
  401.         }
  402.     }
  403.  
  404.     Method (_WAK, 1, NotSerialized)  // _WAK: Wake
  405.     {
  406.         If (LEqual (Arg0, One))
  407.         {
  408.             Store (0xE1, P80H) /* \P80H */
  409.         }
  410.  
  411.         If (LEqual (Arg0, 0x03))
  412.         {
  413.             If (LAnd (DTSE, CMPE))
  414.             {
  415.                 Store (0x14, DTSF) /* \DTSF */
  416.                 Store (Zero, TRPD) /* \TRPD */
  417.             }
  418.  
  419.             OSMI (0x81)
  420.             Store (0xE3, P80H) /* \P80H */
  421.         }
  422.  
  423.         If (LEqual (Arg0, 0x04))
  424.         {
  425.             If (LAnd (DTSE, CMPE))
  426.             {
  427.                 Store (0x14, DTSF) /* \DTSF */
  428.                 Store (Zero, TRPD) /* \TRPD */
  429.             }
  430.         }
  431.  
  432.         Return (Zero)
  433.     }
  434.  
  435.     Name (_S0, Package (0x04)  // _S0_: S0 System State
  436.     {
  437.         Zero,
  438.         Zero,
  439.         Zero,
  440.         Zero
  441.     })
  442.     Name (_S3, Package (0x04)  // _S3_: S3 System State
  443.     {
  444.         0x05,
  445.         0x05,
  446.         Zero,
  447.         Zero
  448.     })
  449.     Name (_S4, Package (0x04)  // _S4_: S4 System State
  450.     {
  451.         0x06,
  452.         0x06,
  453.         Zero,
  454.         Zero
  455.     })
  456.     Name (_S5, Package (0x04)  // _S5_: S5 System State
  457.     {
  458.         0x07,
  459.         0x07,
  460.         Zero,
  461.         Zero
  462.     })
  463.     Name (MXM2, Buffer (0x45)
  464.     {
  465.         /* 0000 */  0x4D, 0x58, 0x4D, 0x5F, 0x02, 0x01, 0x3D, 0x00,  /* MXM_..=. */
  466.         /* 0008 */  0x30, 0x12, 0xB8, 0xFF, 0xF9, 0x3E, 0x00, 0x00,  /* 0....>.. */
  467.         /* 0010 */  0xFA, 0xFF, 0xF9, 0x3E, 0x20, 0x31, 0xA2, 0xFF,  /* ...> 1.. */
  468.         /* 0018 */  0xF9, 0x3E, 0x10, 0x8F, 0xFA, 0xF7, 0xF9, 0x3E,  /* .>.....> */
  469.         /* 0020 */  0x10, 0xAF, 0xFA, 0xF7, 0xF9, 0x3E, 0x10, 0xBF,  /* .....>.. */
  470.         /* 0028 */  0xFA, 0xF7, 0xF9, 0x3E, 0x02, 0x6E, 0x00, 0x00,  /* ...>.n.. */
  471.         /* 0030 */  0x12, 0x7D, 0x00, 0x00, 0x03, 0x64, 0x00, 0x00,  /* .}...d.. */
  472.         /* 0038 */  0x13, 0x64, 0x00, 0x00, 0xE5, 0x0D, 0x11, 0x02,  /* .d...... */
  473.         /* 0040 */  0x00, 0x00, 0x00, 0x00, 0x5F                     /* ...._ */
  474.     })
  475.     Scope (_GPE)
  476.     {
  477.         Method (_L01, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  478.         {
  479.             Sleep (0x64)
  480.             If (LAnd (LEqual (RP1D, Zero), \_SB.PCI0.EXP1.HPCS))
  481.             {
  482.                 Sleep (0x05DC)
  483.                 If (\_SB.PCI0.EXP1.PDC1)
  484.                 {
  485.                     Store (One, \_SB.PCI0.EXP1.PDC1)
  486.                     Store (One, \_SB.PCI0.EXP1.HPCS)
  487.                     Notify (\_SB.PCI0.EXP1, Zero) // Bus Check
  488.                 }
  489.                 Else
  490.                 {
  491.                     Store (One, \_SB.PCI0.EXP1.HPCS)
  492.                 }
  493.             }
  494.  
  495.             If (LAnd (LEqual (RP2D, Zero), \_SB.PCI0.EXP2.HPCS))
  496.             {
  497.                 If (\_SB.PCI0.EXP2.PDC2)
  498.                 {
  499.                     Store (One, \_SB.PCI0.EXP2.PDC2)
  500.                     Store (One, \_SB.PCI0.EXP2.HPCS)
  501.                     Notify (\_SB.PCI0.EXP2, Zero) // Bus Check
  502.                 }
  503.                 Else
  504.                 {
  505.                     Store (One, \_SB.PCI0.EXP2.HPCS)
  506.                 }
  507.             }
  508.  
  509.             If (LAnd (LEqual (RP3D, Zero), \_SB.PCI0.EXP3.HPCS))
  510.             {
  511.                 If (\_SB.PCI0.EXP3.PDC3)
  512.                 {
  513.                     Store (One, \_SB.PCI0.EXP3.PDC3)
  514.                     Store (One, \_SB.PCI0.EXP3.HPCS)
  515.                     Notify (\_SB.PCI0.EXP3, Zero) // Bus Check
  516.                 }
  517.                 Else
  518.                 {
  519.                     Store (One, \_SB.PCI0.EXP3.HPCS)
  520.                 }
  521.             }
  522.         }
  523.  
  524.         Method (_L02, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  525.         {
  526.             Store (Zero, GPEC) /* \GPEC */
  527.             Notify (\_TZ.TZ01, 0x80) // Thermal Status Change
  528.         }
  529.  
  530.         Method (_L03, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  531.         {
  532.             Notify (\_SB.PCI0.UHC1, 0x02) // Device Wake
  533.         }
  534.  
  535.         Method (_L04, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  536.         {
  537.             Notify (\_SB.PCI0.UHC2, 0x02) // Device Wake
  538.         }
  539.  
  540.         Method (_L05, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  541.         {
  542.             Notify (\_SB.PCI0.UHC5, 0x02) // Device Wake
  543.         }
  544.  
  545.         Method (_L06, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  546.         {
  547.             If (\_SB.PCI0.OVGA.GSSE)
  548.             {
  549.                 \_SB.PCI0.OVGA.GSCI ()
  550.             }
  551.             Else
  552.             {
  553.                 Store (One, SCIS) /* \SCIS */
  554.             }
  555.         }
  556.  
  557.         Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  558.         {
  559.             Store (One, \_SB.PCI0.EXP3.PSP3)
  560.             Store (One, \_SB.PCI0.EXP3.PMCS)
  561.             Notify (\_SB.PCI0.EXP3, 0x02) // Device Wake
  562.         }
  563.  
  564.         Method (_L0B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  565.         {
  566.             Notify (\_SB.PCI0.P32, 0x02) // Device Wake
  567.         }
  568.  
  569.         Method (_L0C, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  570.         {
  571.             Notify (\_SB.PCI0.UHC3, 0x02) // Device Wake
  572.         }
  573.  
  574.         Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  575.         {
  576.             If (\_SB.PCI0.EHC1.PMES)
  577.             {
  578.                 Store (One, \_SB.PCI0.EHC1.PMES)
  579.                 Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
  580.             }
  581.  
  582.             If (\_SB.PCI0.EHC2.PMES)
  583.             {
  584.                 Store (One, \_SB.PCI0.EHC2.PMES)
  585.                 Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
  586.             }
  587.  
  588.             If (\_SB.PCI0.AZAL.PMES)
  589.             {
  590.                 Store (One, \_SB.PCI0.AZAL.PMES)
  591.                 Notify (\_SB.PCI0.AZAL, 0x02) // Device Wake
  592.             }
  593.         }
  594.  
  595.         Method (_L0E, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  596.         {
  597.             Notify (\_SB.PCI0.UHC4, 0x02) // Device Wake
  598.         }
  599.  
  600.         Method (_L11, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  601.         {
  602.             If (LEqual (\_SB.PCI0.WMID.BGEF, One))
  603.             {
  604.                 If (LEqual (CRTS, One))
  605.                 {
  606.                     Store (\_SB.PCI0.WMID.VAPI, Local0)
  607.                     Store (One, GPE1) /* \GPE1 */
  608.                 }
  609.                 Else
  610.                 {
  611.                     Store (\_SB.PCI0.WMID.VAPO, Local0)
  612.                     Store (Zero, GPE1) /* \GPE1 */
  613.                 }
  614.  
  615.                 Store (Local0, \_SB.PCI0.WMID.NTDV)
  616.                 Notify (\_SB.PCI0.WMID, 0x82) // Device-Specific Change
  617.             }
  618.         }
  619.  
  620.         Method (_L1B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
  621.         {
  622.             If (LEqual (SYSF, Zero))
  623.             {
  624.                 Not (LPDL, LPDL) /* \LPDL */
  625.                 Notify (\_SB.PCI0.LPC.LID0, 0x80) // Status Change
  626.             }
  627.         }
  628.  
  629.         Method (_E1C, 0, NotSerialized)  // _Exx: Edge-Triggered GPE
  630.         {
  631.         }
  632.     }
  633.  
  634.     Name (GPIC, Zero)
  635.     Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
  636.     {
  637.         Store (Arg0, GPIC) /* \GPIC */
  638.     }
  639.  
  640.     Scope (_TZ)
  641.     {
  642.         ThermalZone (TZ01)
  643.         {
  644.             Method (_CRT, 0, Serialized)  // _CRT: Critical Temperature
  645.             {
  646.                 Return (0x0EF8)
  647.             }
  648.  
  649.             Method (_TMP, 0, Serialized)  // _TMP: Temperature
  650.             {
  651.                 If (ECON)
  652.                 {
  653.                     If (DTSE)
  654.                     {
  655.                         Store (DTS2, Local1)
  656.                         If (LGreaterEqual (DTS1, DTS2))
  657.                         {
  658.                             Store (DTS1, Local1)
  659.                         }
  660.  
  661.                         Store (Local1, \_SB.PCI0.LPC.EC0.SKTA)
  662.                         Return (Add (0x0AAC, Multiply (Local1, 0x0A)))
  663.                     }
  664.                 }
  665.  
  666.                 Return (0x0BB8)
  667.             }
  668.         }
  669.     }
  670.  
  671.     Method (SCMP, 2, NotSerialized)
  672.     {
  673.         Name (STG1, Buffer (0x50) {})
  674.         Name (STG2, Buffer (0x50) {})
  675.         Store (Arg0, STG1) /* \SCMP.STG1 */
  676.         Store (Arg1, STG2) /* \SCMP.STG2 */
  677.         If (LNotEqual (SizeOf (Arg0), SizeOf (Arg1)))
  678.         {
  679.             Return (Zero)
  680.         }
  681.  
  682.         Store (Zero, Local0)
  683.         While (LLess (Local0, SizeOf (Arg0)))
  684.         {
  685.             If (LNotEqual (DerefOf (Index (STG1, Local0)), DerefOf (Index (
  686.                 STG2, Local0))))
  687.             {
  688.                 Return (Zero)
  689.             }
  690.  
  691.             Increment (Local0)
  692.         }
  693.  
  694.         Return (One)
  695.     }
  696.  
  697.     Method (GETP, 1, Serialized)
  698.     {
  699.         If (LEqual (And (Arg0, 0x09), Zero))
  700.         {
  701.             Return (Ones)
  702.         }
  703.  
  704.         If (LEqual (And (Arg0, 0x09), 0x08))
  705.         {
  706.             Return (0x0384)
  707.         }
  708.  
  709.         ShiftRight (And (Arg0, 0x0300), 0x08, Local0)
  710.         ShiftRight (And (Arg0, 0x3000), 0x0C, Local1)
  711.         Return (Multiply (0x1E, Subtract (0x09, Add (Local0, Local1))
  712.             ))
  713.     }
  714.  
  715.     Method (GDMA, 5, Serialized)
  716.     {
  717.         If (Arg0)
  718.         {
  719.             If (LAnd (Arg1, Arg4))
  720.             {
  721.                 Return (0x14)
  722.             }
  723.  
  724.             If (LAnd (Arg2, Arg4))
  725.             {
  726.                 Return (Multiply (Subtract (0x04, Arg3), 0x0F))
  727.             }
  728.  
  729.             Return (Multiply (Subtract (0x04, Arg3), 0x1E))
  730.         }
  731.  
  732.         Return (Ones)
  733.     }
  734.  
  735.     Method (GETT, 1, Serialized)
  736.     {
  737.         Return (Multiply (0x1E, Subtract (0x09, Add (And (ShiftRight (Arg0, 0x02
  738.             ), 0x03), And (Arg0, 0x03)))))
  739.     }
  740.  
  741.     Method (GETF, 3, Serialized)
  742.     {
  743.         Name (TMPF, Zero)
  744.         If (Arg0)
  745.         {
  746.             Or (TMPF, One, TMPF) /* \GETF.TMPF */
  747.         }
  748.  
  749.         If (And (Arg2, 0x02))
  750.         {
  751.             Or (TMPF, 0x02, TMPF) /* \GETF.TMPF */
  752.         }
  753.  
  754.         If (Arg1)
  755.         {
  756.             Or (TMPF, 0x04, TMPF) /* \GETF.TMPF */
  757.         }
  758.  
  759.         If (And (Arg2, 0x20))
  760.         {
  761.             Or (TMPF, 0x08, TMPF) /* \GETF.TMPF */
  762.         }
  763.  
  764.         If (And (Arg2, 0x4000))
  765.         {
  766.             Or (TMPF, 0x10, TMPF) /* \GETF.TMPF */
  767.         }
  768.  
  769.         Return (TMPF) /* \GETF.TMPF */
  770.     }
  771.  
  772.     Method (SETP, 3, Serialized)
  773.     {
  774.         If (LGreater (Arg0, 0xF0))
  775.         {
  776.             Return (0x08)
  777.         }
  778.         Else
  779.         {
  780.             If (And (Arg1, 0x02))
  781.             {
  782.                 If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  783.                 {
  784.                     Return (0x2301)
  785.                 }
  786.  
  787.                 If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  788.                 {
  789.                     Return (0x2101)
  790.                 }
  791.             }
  792.  
  793.             Return (0x1001)
  794.         }
  795.     }
  796.  
  797.     Method (SDMA, 1, Serialized)
  798.     {
  799.         If (LLessEqual (Arg0, 0x14))
  800.         {
  801.             Return (One)
  802.         }
  803.  
  804.         If (LLessEqual (Arg0, 0x1E))
  805.         {
  806.             Return (0x02)
  807.         }
  808.  
  809.         If (LLessEqual (Arg0, 0x2D))
  810.         {
  811.             Return (One)
  812.         }
  813.  
  814.         If (LLessEqual (Arg0, 0x3C))
  815.         {
  816.             Return (0x02)
  817.         }
  818.  
  819.         If (LLessEqual (Arg0, 0x5A))
  820.         {
  821.             Return (One)
  822.         }
  823.  
  824.         Return (Zero)
  825.     }
  826.  
  827.     Method (SETT, 3, Serialized)
  828.     {
  829.         If (And (Arg1, 0x02))
  830.         {
  831.             If (LAnd (LLessEqual (Arg0, 0x78), And (Arg2, 0x02)))
  832.             {
  833.                 Return (0x0B)
  834.             }
  835.  
  836.             If (LAnd (LLessEqual (Arg0, 0xB4), And (Arg2, One)))
  837.             {
  838.                 Return (0x09)
  839.             }
  840.         }
  841.  
  842.         Return (0x04)
  843.     }
  844.  
  845.     Scope (_SB)
  846.     {
  847.         Device (PCI0)
  848.         {
  849.             Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
  850.             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
  851.             Name (_ADR, Zero)  // _ADR: Address
  852.             Device (WMI1)
  853.             {
  854.                 Name (_HID, EisaId ("PNP0C14") /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
  855.                 Name (_UID, "MXM2")  // _UID: Unique ID
  856.                 Name (_WDG, Buffer (0x3C)
  857.                 {
  858.                     /* 0000 */  0x3C, 0x5C, 0xCB, 0xF6, 0xAE, 0x9C, 0xBD, 0x4E,  /* <\.....N */
  859.                     /* 0008 */  0xB5, 0x77, 0x93, 0x1E, 0xA3, 0x2A, 0x2C, 0xC0,  /* .w...*,. */
  860.                     /* 0010 */  0x4D, 0x58, 0x01, 0x02, 0x57, 0x93, 0x8A, 0xF2,  /* MX..W... */
  861.                     /* 0018 */  0x4B, 0xCF, 0x1A, 0x4A, 0x88, 0x93, 0xBB, 0x1F,  /* K..J.... */
  862.                     /* 0020 */  0x58, 0xEE, 0xA1, 0xAF, 0xD1, 0x00, 0x01, 0x08,  /* X....... */
  863.                     /* 0028 */  0x21, 0x12, 0x90, 0x05, 0x66, 0xD5, 0xD1, 0x11,  /* !...f... */
  864.                     /* 0030 */  0xB2, 0xF0, 0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10,  /* ......). */
  865.                     /* 0038 */  0x58, 0x4D, 0x01, 0x00                           /* XM.. */
  866.                 })
  867.                 Method (WMMX, 3, NotSerialized)
  868.                 {
  869.                     If (LGreaterEqual (SizeOf (Arg2), 0x04))
  870.                     {
  871.                         CreateDWordField (Arg2, Zero, FUNC)
  872.                         CreateDWordField (Arg2, 0x04, ARGS)
  873.                         If (LEqual (FUNC, 0x494D584D))
  874.                         {
  875.                             Return (^^PEGP.VGA.MXMI (ARGS))
  876.                         }
  877.                         Else
  878.                         {
  879.                             If (LEqual (FUNC, 0x534D584D))
  880.                             {
  881.                                 Return (^^PEGP.VGA.MXMS (ARGS))
  882.                             }
  883.                             Else
  884.                             {
  885.                                 If (LEqual (FUNC, 0x584D584D))
  886.                                 {
  887.                                     If (LGreaterEqual (SizeOf (Arg1), 0x08))
  888.                                     {
  889.                                         Return (One)
  890.                                     }
  891.                                 }
  892.                             }
  893.                         }
  894.                     }
  895.  
  896.                     Return (Zero)
  897.                 }
  898.  
  899.                 Name (WQBA, Buffer (0x029C)
  900.                 {
  901.                     /* 0000 */  0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,  /* FOMB.... */
  902.                     /* 0008 */  0x8B, 0x02, 0x00, 0x00, 0x0C, 0x08, 0x00, 0x00,  /* ........ */
  903.                     /* 0010 */  0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,  /* DS...}.T */
  904.                     /* 0018 */  0x18, 0xD2, 0x83, 0x00, 0x01, 0x06, 0x18, 0x42,  /* .......B */
  905.                     /* 0020 */  0x10, 0x05, 0x10, 0x8A, 0xE6, 0x80, 0x42, 0x04,  /* ......B. */
  906.                     /* 0028 */  0x92, 0x43, 0xA4, 0x30, 0x30, 0x28, 0x0B, 0x20,  /* .C.00(.  */
  907.                     /* 0030 */  0x86, 0x90, 0x0B, 0x26, 0x26, 0x40, 0x04, 0x84,  /* ...&&@.. */
  908.                     /* 0038 */  0xBC, 0x0A, 0xB0, 0x29, 0xC0, 0x24, 0x88, 0xFA,  /* ...).$.. */
  909.                     /* 0040 */  0xF7, 0x87, 0x28, 0x09, 0x0E, 0x25, 0x04, 0x42,  /* ..(..%.B */
  910.                     /* 0048 */  0x12, 0x05, 0x98, 0x17, 0xA0, 0x5B, 0x80, 0x61,  /* .....[.a */
  911.                     /* 0050 */  0x01, 0xB6, 0x05, 0x98, 0x16, 0xE0, 0x18, 0x92,  /* ........ */
  912.                     /* 0058 */  0x4A, 0x03, 0xA7, 0x04, 0x96, 0x02, 0x21, 0xA1,  /* J.....!. */
  913.                     /* 0060 */  0x02, 0x94, 0x0B, 0xF0, 0x2D, 0x40, 0x3B, 0xA2,  /* ....-@;. */
  914.                     /* 0068 */  0x24, 0x0B, 0xB0, 0x0C, 0x23, 0x02, 0x8F, 0x82,  /* $...#... */
  915.                     /* 0070 */  0xA1, 0x71, 0x68, 0xEC, 0x30, 0x2C, 0x13, 0x4C,  /* .qh.0,.L */
  916.                     /* 0078 */  0x83, 0x38, 0x8C, 0xB2, 0x91, 0x45, 0x60, 0xDC,  /* .8...E`. */
  917.                     /* 0080 */  0x4E, 0x05, 0xC8, 0x15, 0x20, 0x4C, 0x80, 0x78,  /* N... L.x */
  918.                     /* 0088 */  0x54, 0x61, 0x34, 0x07, 0x45, 0xE0, 0x42, 0x63,  /* Ta4.E.Bc */
  919.                     /* 0090 */  0x64, 0x40, 0xC8, 0xA3, 0x00, 0xAB, 0xA3, 0xD0,  /* d@...... */
  920.                     /* 0098 */  0xA4, 0x12, 0xD8, 0xBD, 0x00, 0x8D, 0x02, 0xB4,  /* ........ */
  921.                     /* 00A0 */  0x09, 0x70, 0x28, 0x40, 0xA1, 0x00, 0x6B, 0x18,  /* .p(@..k. */
  922.                     /* 00A8 */  0x72, 0x06, 0x21, 0x5B, 0xD8, 0xC2, 0x68, 0x50,  /* r.![..hP */
  923.                     /* 00B0 */  0x80, 0x45, 0x14, 0x8D, 0xE0, 0x2C, 0x2A, 0x9E,  /* .E...,*. */
  924.                     /* 00B8 */  0x93, 0x50, 0x02, 0xDA, 0x1B, 0x82, 0xF0, 0x8C,  /* .P...... */
  925.                     /* 00C0 */  0xD9, 0x18, 0x9E, 0x10, 0x83, 0x54, 0x86, 0x21,  /* .....T.! */
  926.                     /* 00C8 */  0x88, 0xB8, 0x11, 0x8E, 0xA5, 0xFD, 0x41, 0x10,  /* ......A. */
  927.                     /* 00D0 */  0xF9, 0xAB, 0xD7, 0xB8, 0x1D, 0x69, 0x34, 0xA8,  /* .....i4. */
  928.                     /* 00D8 */  0xB1, 0x26, 0x38, 0x76, 0x8F, 0xE6, 0x84, 0x3B,  /* .&8v...; */
  929.                     /* 00E0 */  0x17, 0x20, 0x7D, 0x6E, 0x02, 0x39, 0xBA, 0xD3,  /* . }n.9.. */
  930.                     /* 00E8 */  0xA8, 0x73, 0xD0, 0x64, 0x78, 0x0C, 0x2B, 0xC1,  /* .s.dx.+. */
  931.                     /* 00F0 */  0x7F, 0x80, 0x4F, 0x01, 0x78, 0xD7, 0x80, 0x9A,  /* ..O.x... */
  932.                     /* 00F8 */  0xFE, 0xC1, 0x33, 0x41, 0x70, 0xA8, 0x21, 0x7A,  /* ..3Ap.!z */
  933.                     /* 0100 */  0xD4, 0xE1, 0x4E, 0xE0, 0xBC, 0x8E, 0x84, 0x41,  /* ..N....A */
  934.                     /* 0108 */  0x1C, 0xD1, 0x71, 0x63, 0x67, 0x75, 0x32, 0x07,  /* ..qcgu2. */
  935.                     /* 0110 */  0x5D, 0xAA, 0x00, 0xB3, 0x07, 0x00, 0x0D, 0x2E,  /* ]....... */
  936.                     /* 0118 */  0xC1, 0x69, 0x9F, 0x49, 0xE8, 0xF7, 0x80, 0xF3,  /* .i.I.... */
  937.                     /* 0120 */  0xE9, 0x79, 0x6C, 0x6C, 0x10, 0xA8, 0x91, 0xF9,  /* .yll.... */
  938.                     /* 0128 */  0xFF, 0x0F, 0xED, 0x41, 0x9E, 0x56, 0xCC, 0x90,  /* ...A.V.. */
  939.                     /* 0130 */  0xCF, 0x02, 0x87, 0xC5, 0xC4, 0x1E, 0x19, 0xE8,  /* ........ */
  940.                     /* 0138 */  0x78, 0xC0, 0x7F, 0x00, 0x78, 0x34, 0x88, 0xF0,  /* x...x4.. */
  941.                     /* 0140 */  0x66, 0xE0, 0xF9, 0x9A, 0x60, 0x50, 0x08, 0x39,  /* f...`P.9 */
  942.                     /* 0148 */  0x19, 0x0F, 0x4A, 0xCC, 0xF9, 0x80, 0xCC, 0x25,  /* ..J....% */
  943.                     /* 0150 */  0xC4, 0x43, 0xC0, 0x31, 0xC4, 0x08, 0x7A, 0x46,  /* .C.1..zF */
  944.                     /* 0158 */  0x45, 0x23, 0x6B, 0x22, 0x3E, 0x03, 0x78, 0xDC,  /* E#k">.x. */
  945.                     /* 0160 */  0x96, 0x05, 0x42, 0x09, 0x0C, 0xEC, 0x73, 0xC3,  /* ..B...s. */
  946.                     /* 0168 */  0x3B, 0x84, 0x61, 0x71, 0xA3, 0x09, 0xEC, 0xF3,  /* ;.aq.... */
  947.                     /* 0170 */  0x85, 0x05, 0x0E, 0x0A, 0x05, 0xEB, 0xBB, 0x42,  /* .......B */
  948.                     /* 0178 */  0xCC, 0xE7, 0x81, 0xE3, 0x3C, 0x60, 0x0B, 0x9F,  /* ....<`.. */
  949.                     /* 0180 */  0x28, 0x01, 0x3E, 0x24, 0x8F, 0x06, 0xDE, 0x20,  /* (.>$...  */
  950.                     /* 0188 */  0xE1, 0x5B, 0x3F, 0x02, 0x10, 0xE0, 0x27, 0x06,  /* .[?...'. */
  951.                     /* 0190 */  0x13, 0x58, 0x1E, 0x30, 0x7A, 0x94, 0xF6, 0x2B,  /* .X.0z..+ */
  952.                     /* 0198 */  0x00, 0x21, 0xF8, 0x8B, 0xC5, 0x53, 0xC0, 0xEB,  /* .!...S.. */
  953.                     /* 01A0 */  0x40, 0x84, 0x63, 0x81, 0x29, 0x72, 0x6C, 0x68,  /* @.c.)rlh */
  954.                     /* 01A8 */  0x78, 0x7E, 0x70, 0x88, 0x1E, 0xF5, 0x5C, 0xC2,  /* x~p...\. */
  955.                     /* 01B0 */  0x1F, 0x4D, 0x94, 0x53, 0x38, 0x1C, 0x1F, 0x39,  /* .M.S8..9 */
  956.                     /* 01B8 */  0x8C, 0x10, 0xFE, 0x49, 0xE3, 0xC9, 0xC3, 0x9A,  /* ...I.... */
  957.                     /* 01C0 */  0xEF, 0x00, 0x9A, 0xD2, 0x5B, 0xC0, 0xFB, 0x83,  /* ....[... */
  958.                     /* 01C8 */  0x47, 0x80, 0x11, 0x20, 0xE1, 0x68, 0x82, 0x89,  /* G.. .h.. */
  959.                     /* 01D0 */  0x7C, 0x3A, 0x01, 0xD5, 0xFF, 0xFF, 0x74, 0x02,  /* |:....t. */
  960.                     /* 01D8 */  0xB8, 0xBA, 0x01, 0x14, 0x37, 0x6A, 0x9D, 0x49,  /* ....7j.I */
  961.                     /* 01E0 */  0x7C, 0x2C, 0xF1, 0xAD, 0xE4, 0xBC, 0x43, 0xC5,  /* |,....C. */
  962.                     /* 01E8 */  0x7F, 0x93, 0x78, 0x3A, 0xF1, 0x34, 0x1E, 0x4C,  /* ..x:.4.L */
  963.                     /* 01F0 */  0x42, 0x44, 0x89, 0x18, 0x21, 0xA2, 0xEF, 0x27,  /* BD..!..' */
  964.                     /* 01F8 */  0x46, 0x08, 0x15, 0x31, 0x6C, 0xA4, 0x37, 0x80,  /* F..1l.7. */
  965.                     /* 0200 */  0xE7, 0x13, 0xE3, 0x84, 0x08, 0xF4, 0x74, 0xC2,  /* ......t. */
  966.                     /* 0208 */  0x42, 0x3E, 0x34, 0xA4, 0xE1, 0x74, 0x02, 0x50,  /* B>4..t.P */
  967.                     /* 0210 */  0xE0, 0xFF, 0x7F, 0x3A, 0x81, 0x1F, 0xF5, 0x74,  /* ...:...t */
  968.                     /* 0218 */  0x82, 0x1E, 0xAE, 0x4F, 0x19, 0x18, 0xE4, 0x03,  /* ...O.... */
  969.                     /* 0220 */  0xF2, 0xA9, 0xC3, 0xF7, 0x1F, 0x13, 0xF8, 0x78,  /* .......x */
  970.                     /* 0228 */  0xC2, 0x45, 0x1D, 0x4F, 0x50, 0xA7, 0x07, 0x1F,  /* .E.OP... */
  971.                     /* 0230 */  0x4F, 0xD8, 0x19, 0xE1, 0x2C, 0x1E, 0x03, 0x7C,  /* O...,..| */
  972.                     /* 0238 */  0x3A, 0xC1, 0xDC, 0x13, 0x7C, 0x3A, 0x01, 0xDB,  /* :...|:.. */
  973.                     /* 0240 */  0x68, 0x60, 0x1C, 0x4F, 0xC0, 0x77, 0x74, 0xC1,  /* h`.O.wt. */
  974.                     /* 0248 */  0x1D, 0x4F, 0xC0, 0x30, 0x18, 0x18, 0xE7, 0x13,  /* .O.0.... */
  975.                     /* 0250 */  0xE0, 0x31, 0x5E, 0xDC, 0x31, 0xC0, 0x43, 0xE0,  /* .1^.1.C. */
  976.                     /* 0258 */  0x03, 0x78, 0xDC, 0x38, 0x3D, 0x2B, 0x9D, 0x14,  /* .x.8=+.. */
  977.                     /* 0260 */  0xF2, 0x24, 0xC2, 0x07, 0x85, 0x39, 0xB0, 0xE0,  /* .$...9.. */
  978.                     /* 0268 */  0x14, 0xDA, 0xF4, 0xA9, 0xD1, 0xA8, 0x55, 0x83,  /* ......U. */
  979.                     /* 0270 */  0x32, 0x35, 0xCA, 0x34, 0xA8, 0xD5, 0xA7, 0x52,  /* 25.4...R */
  980.                     /* 0278 */  0x63, 0xC6, 0xCE, 0x19, 0x0E, 0xF8, 0x10, 0xD0,  /* c....... */
  981.                     /* 0280 */  0x89, 0xC0, 0xF2, 0x9E, 0x0D, 0x02, 0xB1, 0x0C,  /* ........ */
  982.                     /* 0288 */  0x0A, 0x81, 0x58, 0xFA, 0xAB, 0x45, 0x20, 0x0E,  /* ..X..E . */
  983.                     /* 0290 */  0x0E, 0xA2, 0xFF, 0x3F, 0x88, 0x23, 0xD2, 0x0A,  /* ...?.#.. */
  984.                     /* 0298 */  0xC4, 0xFF, 0x7F, 0x7F                           /* .... */
  985.                 })
  986.             }
  987.  
  988.             Method (_INI, 0, NotSerialized)  // _INI: Initialize
  989.             {
  990.                 Store (Zero, SYSF) /* \SYSF */
  991.                 If (CondRefOf (_OSI, Local0))
  992.                 {
  993.                     If (_OSI ("Linux"))
  994.                     {
  995.                         Store (0x03E8, OSYS) /* \OSYS */
  996.                         OSMI (0x70)
  997.                     }
  998.  
  999.                     If (_OSI ("Windows 2006"))
  1000.                     {
  1001.                         Store (0x07D6, OSYS) /* \OSYS */
  1002.                     }
  1003.                     Else
  1004.                     {
  1005.                         Store (0x07D1, OSYS) /* \OSYS */
  1006.                     }
  1007.                 }
  1008.                 Else
  1009.                 {
  1010.                     Store (0x07D0, OSYS) /* \OSYS */
  1011.                 }
  1012.  
  1013.                 If (DTSE)
  1014.                 {
  1015.                     Store (0x1D, P80H) /* \P80H */
  1016.                     Store (0x14, DTSF) /* \DTSF */
  1017.                     Store (Zero, TRPD) /* \TRPD */
  1018.                     Store (0x1F, P80H) /* \P80H */
  1019.                 }
  1020.             }
  1021.  
  1022.             Method (_OSC, 4, NotSerialized)  // _OSC: Operating System Capabilities
  1023.             {
  1024.                 Store (Arg2, Local0)
  1025.                 Multiply (Local0, 0x04, Local1)
  1026.                 Name (BUF1, Buffer (Local1) {})
  1027.                 Store (Arg3, BUF1) /* \_SB_.PCI0._OSC.BUF1 */
  1028.                 Store (Zero, Local1)
  1029.                 Store (Zero, Local2)
  1030.                 While (Local0)
  1031.                 {
  1032.                     Multiply (Local1, 0x04, Local2)
  1033.                     CreateDWordField (BUF1, Local2, CAPB)
  1034.                     If (Arg1)
  1035.                     {
  1036.                         If (LEqual (Local1, Zero))
  1037.                         {
  1038.                             And (CAPB, 0xFFFFFFFC, CAPB) /* \_SB_.PCI0._OSC.CAPB */
  1039.                         }
  1040.                     }
  1041.                     Else
  1042.                     {
  1043.                     }
  1044.  
  1045.                     Increment (Local1)
  1046.                     Decrement (Local0)
  1047.                 }
  1048.  
  1049.                 Return (BUF1) /* \_SB_.PCI0._OSC.BUF1 */
  1050.             }
  1051.  
  1052.             Name (_BBN, Zero)  // _BBN: BIOS Bus Number
  1053.             OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
  1054.             Field (HBUS, DWordAcc, NoLock, Preserve)
  1055.             {
  1056.                 Offset (0x50),
  1057.                     ,   4,
  1058.                 PM0H,   2,
  1059.                 Offset (0x51),
  1060.                 PM1L,   2,
  1061.                     ,   2,
  1062.                 PM1H,   2,
  1063.                 Offset (0x52),
  1064.                 PM2L,   2,
  1065.                     ,   2,
  1066.                 PM2H,   2,
  1067.                 Offset (0x53),
  1068.                 PM3L,   2,
  1069.                     ,   2,
  1070.                 PM3H,   2,
  1071.                 Offset (0x54),
  1072.                 PM4L,   2,
  1073.                     ,   2,
  1074.                 PM4H,   2,
  1075.                 Offset (0x55),
  1076.                 PM5L,   2,
  1077.                     ,   2,
  1078.                 PM5H,   2,
  1079.                 Offset (0x56),
  1080.                 PM6L,   2,
  1081.                     ,   2,
  1082.                 PM6H,   2,
  1083.                 Offset (0x57),
  1084.                     ,   7,
  1085.                 HENA,   1,
  1086.                 Offset (0x62),
  1087.                 TUUD,   16,
  1088.                 Offset (0x70),
  1089.                     ,   4,
  1090.                 TLUD,   12
  1091.             }
  1092.  
  1093.             Name (BUF0, ResourceTemplate ()
  1094.             {
  1095.                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  1096.                     0x0000,             // Granularity
  1097.                     0x0000,             // Range Minimum
  1098.                     0x00FF,             // Range Maximum
  1099.                     0x0000,             // Translation Offset
  1100.                     0x0100,             // Length
  1101.                     0x00,, )
  1102.                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1103.                     0x00000000,         // Granularity
  1104.                     0x00000000,         // Range Minimum
  1105.                     0x00000CF7,         // Range Maximum
  1106.                     0x00000000,         // Translation Offset
  1107.                     0x00000CF8,         // Length
  1108.                     0x00,, , TypeStatic)
  1109.                 IO (Decode16,
  1110.                     0x0CF8,             // Range Minimum
  1111.                     0x0CF8,             // Range Maximum
  1112.                     0x01,               // Alignment
  1113.                     0x08,               // Length
  1114.                     )
  1115.                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  1116.                     0x00000000,         // Granularity
  1117.                     0x00000D00,         // Range Minimum
  1118.                     0x0000FFFF,         // Range Maximum
  1119.                     0x00000000,         // Translation Offset
  1120.                     0x0000F300,         // Length
  1121.                     0x00,, , TypeStatic)
  1122.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1123.                     0x00000000,         // Granularity
  1124.                     0x000A0000,         // Range Minimum
  1125.                     0x000BFFFF,         // Range Maximum
  1126.                     0x00000000,         // Translation Offset
  1127.                     0x00020000,         // Length
  1128.                     0x00,, , AddressRangeMemory, TypeStatic)
  1129.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1130.                     0x00000000,         // Granularity
  1131.                     0x000C0000,         // Range Minimum
  1132.                     0x000C3FFF,         // Range Maximum
  1133.                     0x00000000,         // Translation Offset
  1134.                     0x00004000,         // Length
  1135.                     0x00,, _Y00, AddressRangeMemory, TypeStatic)
  1136.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1137.                     0x00000000,         // Granularity
  1138.                     0x000C4000,         // Range Minimum
  1139.                     0x000C7FFF,         // Range Maximum
  1140.                     0x00000000,         // Translation Offset
  1141.                     0x00004000,         // Length
  1142.                     0x00,, _Y01, AddressRangeMemory, TypeStatic)
  1143.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1144.                     0x00000000,         // Granularity
  1145.                     0x000C8000,         // Range Minimum
  1146.                     0x000CBFFF,         // Range Maximum
  1147.                     0x00000000,         // Translation Offset
  1148.                     0x00004000,         // Length
  1149.                     0x00,, _Y02, AddressRangeMemory, TypeStatic)
  1150.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1151.                     0x00000000,         // Granularity
  1152.                     0x000CC000,         // Range Minimum
  1153.                     0x000CFFFF,         // Range Maximum
  1154.                     0x00000000,         // Translation Offset
  1155.                     0x00004000,         // Length
  1156.                     0x00,, _Y03, AddressRangeMemory, TypeStatic)
  1157.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1158.                     0x00000000,         // Granularity
  1159.                     0x000D0000,         // Range Minimum
  1160.                     0x000D3FFF,         // Range Maximum
  1161.                     0x00000000,         // Translation Offset
  1162.                     0x00004000,         // Length
  1163.                     0x00,, _Y04, AddressRangeMemory, TypeStatic)
  1164.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1165.                     0x00000000,         // Granularity
  1166.                     0x000D4000,         // Range Minimum
  1167.                     0x000D7FFF,         // Range Maximum
  1168.                     0x00000000,         // Translation Offset
  1169.                     0x00004000,         // Length
  1170.                     0x00,, _Y05, AddressRangeMemory, TypeStatic)
  1171.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1172.                     0x00000000,         // Granularity
  1173.                     0x000D8000,         // Range Minimum
  1174.                     0x000DBFFF,         // Range Maximum
  1175.                     0x00000000,         // Translation Offset
  1176.                     0x00004000,         // Length
  1177.                     0x00,, _Y06, AddressRangeMemory, TypeStatic)
  1178.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1179.                     0x00000000,         // Granularity
  1180.                     0x000DC000,         // Range Minimum
  1181.                     0x000DFFFF,         // Range Maximum
  1182.                     0x00000000,         // Translation Offset
  1183.                     0x00004000,         // Length
  1184.                     0x00,, _Y07, AddressRangeMemory, TypeStatic)
  1185.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1186.                     0x00000000,         // Granularity
  1187.                     0x000E0000,         // Range Minimum
  1188.                     0x000E3FFF,         // Range Maximum
  1189.                     0x00000000,         // Translation Offset
  1190.                     0x00004000,         // Length
  1191.                     0x00,, _Y08, AddressRangeMemory, TypeStatic)
  1192.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1193.                     0x00000000,         // Granularity
  1194.                     0x000E4000,         // Range Minimum
  1195.                     0x000E7FFF,         // Range Maximum
  1196.                     0x00000000,         // Translation Offset
  1197.                     0x00004000,         // Length
  1198.                     0x00,, _Y09, AddressRangeMemory, TypeStatic)
  1199.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1200.                     0x00000000,         // Granularity
  1201.                     0x000E8000,         // Range Minimum
  1202.                     0x000EBFFF,         // Range Maximum
  1203.                     0x00000000,         // Translation Offset
  1204.                     0x00004000,         // Length
  1205.                     0x00,, _Y0A, AddressRangeMemory, TypeStatic)
  1206.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1207.                     0x00000000,         // Granularity
  1208.                     0x000EC000,         // Range Minimum
  1209.                     0x000EFFFF,         // Range Maximum
  1210.                     0x00000000,         // Translation Offset
  1211.                     0x00004000,         // Length
  1212.                     0x00,, _Y0B, AddressRangeMemory, TypeStatic)
  1213.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1214.                     0x00000000,         // Granularity
  1215.                     0x000F0000,         // Range Minimum
  1216.                     0x000FFFFF,         // Range Maximum
  1217.                     0x00000000,         // Translation Offset
  1218.                     0x00010000,         // Length
  1219.                     0x00,, _Y0C, AddressRangeMemory, TypeStatic)
  1220.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  1221.                     0x00000000,         // Granularity
  1222.                     0x00000000,         // Range Minimum
  1223.                     0xFEBFFFFF,         // Range Maximum
  1224.                     0x00000000,         // Translation Offset
  1225.                     0xFEC00000,         // Length
  1226.                     0x00,, _Y0D, AddressRangeMemory, TypeStatic)
  1227.             })
  1228.             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1229.             {
  1230.                 If (PM1L)
  1231.                 {
  1232.                     CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)  // _LEN: Length
  1233.                     Store (Zero, C0LN) /* \_SB_.PCI0._CRS.C0LN */
  1234.                 }
  1235.  
  1236.                 If (LEqual (PM1L, One))
  1237.                 {
  1238.                     CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)  // _RW_: Read-Write Status
  1239.                     Store (Zero, C0RW) /* \_SB_.PCI0._CRS.C0RW */
  1240.                 }
  1241.  
  1242.                 If (PM1H)
  1243.                 {
  1244.                     CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)  // _LEN: Length
  1245.                     Store (Zero, C4LN) /* \_SB_.PCI0._CRS.C4LN */
  1246.                 }
  1247.  
  1248.                 If (LEqual (PM1H, One))
  1249.                 {
  1250.                     CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)  // _RW_: Read-Write Status
  1251.                     Store (Zero, C4RW) /* \_SB_.PCI0._CRS.C4RW */
  1252.                 }
  1253.  
  1254.                 If (PM2L)
  1255.                 {
  1256.                     CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)  // _LEN: Length
  1257.                     Store (Zero, C8LN) /* \_SB_.PCI0._CRS.C8LN */
  1258.                 }
  1259.  
  1260.                 If (LEqual (PM2L, One))
  1261.                 {
  1262.                     CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)  // _RW_: Read-Write Status
  1263.                     Store (Zero, C8RW) /* \_SB_.PCI0._CRS.C8RW */
  1264.                 }
  1265.  
  1266.                 If (PM2H)
  1267.                 {
  1268.                     CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)  // _LEN: Length
  1269.                     Store (Zero, CCLN) /* \_SB_.PCI0._CRS.CCLN */
  1270.                 }
  1271.  
  1272.                 If (LEqual (PM2H, One))
  1273.                 {
  1274.                     CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)  // _RW_: Read-Write Status
  1275.                     Store (Zero, CCRW) /* \_SB_.PCI0._CRS.CCRW */
  1276.                 }
  1277.  
  1278.                 If (PM3L)
  1279.                 {
  1280.                     CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)  // _LEN: Length
  1281.                     Store (Zero, D0LN) /* \_SB_.PCI0._CRS.D0LN */
  1282.                 }
  1283.  
  1284.                 If (LEqual (PM3L, One))
  1285.                 {
  1286.                     CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)  // _RW_: Read-Write Status
  1287.                     Store (Zero, D0RW) /* \_SB_.PCI0._CRS.D0RW */
  1288.                 }
  1289.  
  1290.                 If (PM3H)
  1291.                 {
  1292.                     CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)  // _LEN: Length
  1293.                     Store (Zero, D4LN) /* \_SB_.PCI0._CRS.D4LN */
  1294.                 }
  1295.  
  1296.                 If (LEqual (PM3H, One))
  1297.                 {
  1298.                     CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)  // _RW_: Read-Write Status
  1299.                     Store (Zero, D4RW) /* \_SB_.PCI0._CRS.D4RW */
  1300.                 }
  1301.  
  1302.                 If (PM4L)
  1303.                 {
  1304.                     CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)  // _LEN: Length
  1305.                     Store (Zero, D8LN) /* \_SB_.PCI0._CRS.D8LN */
  1306.                 }
  1307.  
  1308.                 If (LEqual (PM4L, One))
  1309.                 {
  1310.                     CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)  // _RW_: Read-Write Status
  1311.                     Store (Zero, D8RW) /* \_SB_.PCI0._CRS.D8RW */
  1312.                 }
  1313.  
  1314.                 If (PM4H)
  1315.                 {
  1316.                     CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)  // _LEN: Length
  1317.                     Store (Zero, DCLN) /* \_SB_.PCI0._CRS.DCLN */
  1318.                 }
  1319.  
  1320.                 If (LEqual (PM4H, One))
  1321.                 {
  1322.                     CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)  // _RW_: Read-Write Status
  1323.                     Store (Zero, DCRW) /* \_SB_.PCI0._CRS.DCRW */
  1324.                 }
  1325.  
  1326.                 If (PM5L)
  1327.                 {
  1328.                     CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)  // _LEN: Length
  1329.                     Store (Zero, E0LN) /* \_SB_.PCI0._CRS.E0LN */
  1330.                 }
  1331.  
  1332.                 If (LEqual (PM5L, One))
  1333.                 {
  1334.                     CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)  // _RW_: Read-Write Status
  1335.                     Store (Zero, E0RW) /* \_SB_.PCI0._CRS.E0RW */
  1336.                 }
  1337.  
  1338.                 If (PM5H)
  1339.                 {
  1340.                     CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)  // _LEN: Length
  1341.                     Store (Zero, E4LN) /* \_SB_.PCI0._CRS.E4LN */
  1342.                 }
  1343.  
  1344.                 If (LEqual (PM5H, One))
  1345.                 {
  1346.                     CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)  // _RW_: Read-Write Status
  1347.                     Store (Zero, E4RW) /* \_SB_.PCI0._CRS.E4RW */
  1348.                 }
  1349.  
  1350.                 If (PM6L)
  1351.                 {
  1352.                     CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)  // _LEN: Length
  1353.                     Store (Zero, E8LN) /* \_SB_.PCI0._CRS.E8LN */
  1354.                 }
  1355.  
  1356.                 If (LEqual (PM6L, One))
  1357.                 {
  1358.                     CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)  // _RW_: Read-Write Status
  1359.                     Store (Zero, E8RW) /* \_SB_.PCI0._CRS.E8RW */
  1360.                 }
  1361.  
  1362.                 If (PM6H)
  1363.                 {
  1364.                     CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)  // _LEN: Length
  1365.                     Store (Zero, ECLN) /* \_SB_.PCI0._CRS.ECLN */
  1366.                 }
  1367.  
  1368.                 If (LEqual (PM6H, One))
  1369.                 {
  1370.                     CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)  // _RW_: Read-Write Status
  1371.                     Store (Zero, ECRW) /* \_SB_.PCI0._CRS.ECRW */
  1372.                 }
  1373.  
  1374.                 If (PM0H)
  1375.                 {
  1376.                     CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)  // _LEN: Length
  1377.                     Store (Zero, F0LN) /* \_SB_.PCI0._CRS.F0LN */
  1378.                 }
  1379.  
  1380.                 If (LEqual (PM0H, One))
  1381.                 {
  1382.                     CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)  // _RW_: Read-Write Status
  1383.                     Store (Zero, F0RW) /* \_SB_.PCI0._CRS.F0RW */
  1384.                 }
  1385.  
  1386.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)  // _MIN: Minimum Base Address
  1387.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)  // _MAX: Maximum Base Address
  1388.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)  // _LEN: Length
  1389.                 ShiftLeft (TLUD, 0x14, M1MN) /* \_SB_.PCI0._CRS.M1MN */
  1390.                 Add (Subtract (M1MX, M1MN), One, M1LN) /* \_SB_.PCI0._CRS.M1LN */
  1391.                 Return (BUF0) /* \_SB_.PCI0.BUF0 */
  1392.             }
  1393.  
  1394.             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table// _ADR: Address
  1395.                 Device (R394)
  1396.                 {
  1397.                     Name (_ADR, Zero)  // _ADR: Address
  1398.                 }
  1399.  
  1400.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  1401.                 {
  1402.                     If (LEqual (GPIC, Zero))
  1403.                     {
  1404.                         Return (Package (0x02)
  1405.                         {
  1406.                             Package (0x04)
  1407.                             {
  1408.                                 0xFFFF,
  1409.                                 Zero,
  1410.                                 ^^LPC.LNKE,
  1411.                                 Zero
  1412.                             },
  1413.  
  1414.                             Package (0x04)
  1415.                             {
  1416.                                 0xFFFF,
  1417.                                 One,
  1418.                                 ^^LPC.LNKG,
  1419.                                 Zero
  1420.                             }
  1421.                         })
  1422.                     }
  1423.                     Else
  1424.                     {
  1425.                         Return (Package (0x02)
  1426.                         {
  1427.                             Package (0x04)
  1428.                             {
  1429.                                 0xFFFF,
  1430.                                 Zero,
  1431.                                 Zero,
  1432.                                 0x14
  1433.                             },
  1434.  
  1435.                             Package (0x04)
  1436.                             {
  1437.                                 0xFFFF,
  1438.                                 One,
  1439.                                 Zero,
  1440.                                 0x16
  1441.                             }
  1442.                         })
  1443.                     }
  1444.                 }
  1445.             }
  1446.  
  1447.             Device (LPC)
  1448.             {
  1449.                 Name (_ADR, 0x001F0000)  // _ADR: Address
  1450.                 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
  1451.                 Field (LPC0, AnyAcc, NoLock, Preserve)
  1452.                 {
  1453.                     Offset (0x20),
  1454.                     PARC,   8,
  1455.                     PBRC,   8,
  1456.                     PCRC,   8,
  1457.                     PDRC,   8,
  1458.                     Offset (0x28),
  1459.                     PERC,   8,
  1460.                     PFRC,   8,
  1461.                     PGRC,   8,
  1462.                     PHRC,   8,
  1463.                     Offset (0x40),
  1464.                     IOD0,   8,
  1465.                     IOD1,   8,
  1466.                     CMA0,   1,
  1467.                     CMB0,   1,
  1468.                     LP0E,   1,
  1469.                     FDDE,   1,
  1470.                     Offset (0x44),
  1471.                     DIO1,   16,
  1472.                     RIO1,   8,
  1473.                     Offset (0x60),
  1474.                         ,   7,
  1475.                     C4O3,   1
  1476.                 }
  1477.  
  1478.                 OperationRegion (PRR0, PCI_Config, 0x60, 0x04)
  1479.                 Field (PRR0, AnyAcc, NoLock, Preserve)
  1480.                 {
  1481.                     PIRA,   8,
  1482.                     PIRB,   8,
  1483.                     PIRC,   8,
  1484.                     PIRD,   8
  1485.                 }
  1486.  
  1487.                 OperationRegion (PRR1, PCI_Config, 0x68, 0x04)
  1488.                 Field (PRR1, AnyAcc, NoLock, Preserve)
  1489.                 {
  1490.                     PIRE,   8,
  1491.                     PIRF,   8,
  1492.                     PIRG,   8,
  1493.                     PIRH,   8
  1494.                 }
  1495.  
  1496.                 OperationRegion (PRR2, PCI_Config, 0x80, 0x02)
  1497.                 Field (PRR2, AnyAcc, NoLock, Preserve)
  1498.                 {
  1499.                     IODL,   8,
  1500.                     IODH,   8
  1501.                 }
  1502.  
  1503.                 Device (LNKA)
  1504.                 {
  1505.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1506.                     Name (_UID, One)  // _UID: Unique ID
  1507.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1508.                     {
  1509.                         If (And (PIRA, 0x80))
  1510.                         {
  1511.                             Return (0x09)
  1512.                         }
  1513.                         Else
  1514.                         {
  1515.                             Return (0x0B)
  1516.                         }
  1517.                     }
  1518.  
  1519.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1520.                     {
  1521.                         Or (PIRA, 0x80, PIRA) /* \_SB_.PCI0.LPC_.PIRA */
  1522.                     }
  1523.  
  1524.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1525.                     {
  1526.                         Name (BUF0, ResourceTemplate ()
  1527.                         {
  1528.                             IRQ (Level, ActiveLow, Shared, )
  1529.                                 {0}
  1530.                         })
  1531.                         CreateWordField (BUF0, One, IRQW)
  1532.                         If (And (PIRA, 0x80))
  1533.                         {
  1534.                             Store (Zero, Local0)
  1535.                         }
  1536.                         Else
  1537.                         {
  1538.                             Store (One, Local0)
  1539.                         }
  1540.  
  1541.                         ShiftLeft (Local0, And (PIRA, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKA._CRS.IRQW */
  1542.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKA._CRS.BUF0 */
  1543.                     }
  1544.  
  1545.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1546.                     {
  1547.                         IRQ (Level, ActiveLow, Shared, )
  1548.                             {3,4,5,7,9,10,11,12}
  1549.                     })
  1550.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  1551.                     {
  1552.                         CreateWordField (Arg0, One, IRQW)
  1553.                         FindSetRightBit (IRQW, Local0)
  1554.                         If (LNotEqual (IRQW, Zero))
  1555.                         {
  1556.                             And (Local0, 0x7F, Local0)
  1557.                             Decrement (Local0)
  1558.                         }
  1559.                         Else
  1560.                         {
  1561.                             Or (Local0, 0x80, Local0)
  1562.                         }
  1563.  
  1564.                         Store (Local0, PIRA) /* \_SB_.PCI0.LPC_.PIRA */
  1565.                     }
  1566.                 }
  1567.  
  1568.                 Device (LNKB)
  1569.                 {
  1570.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1571.                     Name (_UID, 0x02)  // _UID: Unique ID
  1572.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1573.                     {
  1574.                         If (And (PIRB, 0x80))
  1575.                         {
  1576.                             Return (0x09)
  1577.                         }
  1578.                         Else
  1579.                         {
  1580.                             Return (0x0B)
  1581.                         }
  1582.                     }
  1583.  
  1584.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1585.                     {
  1586.                         Or (PIRB, 0x80, PIRB) /* \_SB_.PCI0.LPC_.PIRB */
  1587.                     }
  1588.  
  1589.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1590.                     {
  1591.                         Name (BUF0, ResourceTemplate ()
  1592.                         {
  1593.                             IRQ (Level, ActiveLow, Shared, )
  1594.                                 {0}
  1595.                         })
  1596.                         CreateWordField (BUF0, One, IRQW)
  1597.                         If (And (PIRB, 0x80))
  1598.                         {
  1599.                             Store (Zero, Local0)
  1600.                         }
  1601.                         Else
  1602.                         {
  1603.                             Store (One, Local0)
  1604.                         }
  1605.  
  1606.                         ShiftLeft (Local0, And (PIRB, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKB._CRS.IRQW */
  1607.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKB._CRS.BUF0 */
  1608.                     }
  1609.  
  1610.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1611.                     {
  1612.                         IRQ (Level, ActiveLow, Shared, )
  1613.                             {3,4,5,7,9,10,11,12}
  1614.                     })
  1615.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  1616.                     {
  1617.                         CreateWordField (Arg0, One, IRQW)
  1618.                         FindSetRightBit (IRQW, Local0)
  1619.                         If (LNotEqual (IRQW, Zero))
  1620.                         {
  1621.                             And (Local0, 0x7F, Local0)
  1622.                             Decrement (Local0)
  1623.                         }
  1624.                         Else
  1625.                         {
  1626.                             Or (Local0, 0x80, Local0)
  1627.                         }
  1628.  
  1629.                         Store (Local0, PIRB) /* \_SB_.PCI0.LPC_.PIRB */
  1630.                     }
  1631.                 }
  1632.  
  1633.                 Device (LNKC)
  1634.                 {
  1635.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1636.                     Name (_UID, 0x03)  // _UID: Unique ID
  1637.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1638.                     {
  1639.                         If (And (PIRC, 0x80))
  1640.                         {
  1641.                             Return (0x09)
  1642.                         }
  1643.                         Else
  1644.                         {
  1645.                             Return (0x0B)
  1646.                         }
  1647.                     }
  1648.  
  1649.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1650.                     {
  1651.                         Or (PIRC, 0x80, PIRC) /* \_SB_.PCI0.LPC_.PIRC */
  1652.                     }
  1653.  
  1654.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1655.                     {
  1656.                         Name (BUF0, ResourceTemplate ()
  1657.                         {
  1658.                             IRQ (Level, ActiveLow, Shared, )
  1659.                                 {0}
  1660.                         })
  1661.                         CreateWordField (BUF0, One, IRQW)
  1662.                         If (And (PIRC, 0x80))
  1663.                         {
  1664.                             Store (Zero, Local0)
  1665.                         }
  1666.                         Else
  1667.                         {
  1668.                             Store (One, Local0)
  1669.                         }
  1670.  
  1671.                         ShiftLeft (Local0, And (PIRC, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKC._CRS.IRQW */
  1672.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKC._CRS.BUF0 */
  1673.                     }
  1674.  
  1675.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1676.                     {
  1677.                         IRQ (Level, ActiveLow, Shared, )
  1678.                             {3,4,5,7,9,10,11,12}
  1679.                     })
  1680.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  1681.                     {
  1682.                         CreateWordField (Arg0, One, IRQW)
  1683.                         FindSetRightBit (IRQW, Local0)
  1684.                         If (LNotEqual (IRQW, Zero))
  1685.                         {
  1686.                             And (Local0, 0x7F, Local0)
  1687.                             Decrement (Local0)
  1688.                         }
  1689.                         Else
  1690.                         {
  1691.                             Or (Local0, 0x80, Local0)
  1692.                         }
  1693.  
  1694.                         Store (Local0, PIRC) /* \_SB_.PCI0.LPC_.PIRC */
  1695.                     }
  1696.                 }
  1697.  
  1698.                 Device (LNKD)
  1699.                 {
  1700.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1701.                     Name (_UID, 0x04)  // _UID: Unique ID
  1702.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1703.                     {
  1704.                         If (And (PIRD, 0x80))
  1705.                         {
  1706.                             Return (0x09)
  1707.                         }
  1708.                         Else
  1709.                         {
  1710.                             Return (0x0B)
  1711.                         }
  1712.                     }
  1713.  
  1714.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1715.                     {
  1716.                         Or (PIRD, 0x80, PIRD) /* \_SB_.PCI0.LPC_.PIRD */
  1717.                     }
  1718.  
  1719.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1720.                     {
  1721.                         Name (BUF0, ResourceTemplate ()
  1722.                         {
  1723.                             IRQ (Level, ActiveLow, Shared, )
  1724.                                 {0}
  1725.                         })
  1726.                         CreateWordField (BUF0, One, IRQW)
  1727.                         If (And (PIRD, 0x80))
  1728.                         {
  1729.                             Store (Zero, Local0)
  1730.                         }
  1731.                         Else
  1732.                         {
  1733.                             Store (One, Local0)
  1734.                         }
  1735.  
  1736.                         ShiftLeft (Local0, And (PIRD, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKD._CRS.IRQW */
  1737.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKD._CRS.BUF0 */
  1738.                     }
  1739.  
  1740.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1741.                     {
  1742.                         IRQ (Level, ActiveLow, Shared, )
  1743.                             {3,4,5,7,9,10,11,12}
  1744.                     })
  1745.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  1746.                     {
  1747.                         CreateWordField (Arg0, One, IRQW)
  1748.                         FindSetRightBit (IRQW, Local0)
  1749.                         If (LNotEqual (IRQW, Zero))
  1750.                         {
  1751.                             And (Local0, 0x7F, Local0)
  1752.                             Decrement (Local0)
  1753.                         }
  1754.                         Else
  1755.                         {
  1756.                             Or (Local0, 0x80, Local0)
  1757.                         }
  1758.  
  1759.                         Store (Local0, PIRD) /* \_SB_.PCI0.LPC_.PIRD */
  1760.                     }
  1761.                 }
  1762.  
  1763.                 Device (LNKE)
  1764.                 {
  1765.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1766.                     Name (_UID, 0x05)  // _UID: Unique ID
  1767.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1768.                     {
  1769.                         If (And (PIRE, 0x80))
  1770.                         {
  1771.                             Return (0x09)
  1772.                         }
  1773.                         Else
  1774.                         {
  1775.                             Return (0x0B)
  1776.                         }
  1777.                     }
  1778.  
  1779.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1780.                     {
  1781.                         Or (PIRE, 0x80, PIRE) /* \_SB_.PCI0.LPC_.PIRE */
  1782.                     }
  1783.  
  1784.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1785.                     {
  1786.                         Name (BUF0, ResourceTemplate ()
  1787.                         {
  1788.                             IRQ (Level, ActiveLow, Shared, )
  1789.                                 {0}
  1790.                         })
  1791.                         CreateWordField (BUF0, One, IRQW)
  1792.                         If (And (PIRE, 0x80))
  1793.                         {
  1794.                             Store (Zero, Local0)
  1795.                         }
  1796.                         Else
  1797.                         {
  1798.                             Store (One, Local0)
  1799.                         }
  1800.  
  1801.                         ShiftLeft (Local0, And (PIRE, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKE._CRS.IRQW */
  1802.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKE._CRS.BUF0 */
  1803.                     }
  1804.  
  1805.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1806.                     {
  1807.                         IRQ (Level, ActiveLow, Shared, )
  1808.                             {3,4,5,7,9,10,11,12}
  1809.                     })
  1810.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  1811.                     {
  1812.                         CreateWordField (Arg0, One, IRQW)
  1813.                         FindSetRightBit (IRQW, Local0)
  1814.                         If (LNotEqual (IRQW, Zero))
  1815.                         {
  1816.                             And (Local0, 0x7F, Local0)
  1817.                             Decrement (Local0)
  1818.                         }
  1819.                         Else
  1820.                         {
  1821.                             Or (Local0, 0x80, Local0)
  1822.                         }
  1823.  
  1824.                         Store (Local0, PIRE) /* \_SB_.PCI0.LPC_.PIRE */
  1825.                     }
  1826.                 }
  1827.  
  1828.                 Device (LNKF)
  1829.                 {
  1830.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1831.                     Name (_UID, 0x06)  // _UID: Unique ID
  1832.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1833.                     {
  1834.                         If (And (PIRF, 0x80))
  1835.                         {
  1836.                             Return (0x09)
  1837.                         }
  1838.                         Else
  1839.                         {
  1840.                             Return (0x0B)
  1841.                         }
  1842.                     }
  1843.  
  1844.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1845.                     {
  1846.                         Or (PIRF, 0x80, PIRF) /* \_SB_.PCI0.LPC_.PIRF */
  1847.                     }
  1848.  
  1849.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1850.                     {
  1851.                         Name (BUF0, ResourceTemplate ()
  1852.                         {
  1853.                             IRQ (Level, ActiveLow, Shared, )
  1854.                                 {0}
  1855.                         })
  1856.                         CreateWordField (BUF0, One, IRQW)
  1857.                         If (And (PIRF, 0x80))
  1858.                         {
  1859.                             Store (Zero, Local0)
  1860.                         }
  1861.                         Else
  1862.                         {
  1863.                             Store (One, Local0)
  1864.                         }
  1865.  
  1866.                         ShiftLeft (Local0, And (PIRF, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKF._CRS.IRQW */
  1867.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKF._CRS.BUF0 */
  1868.                     }
  1869.  
  1870.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1871.                     {
  1872.                         IRQ (Level, ActiveLow, Shared, )
  1873.                             {3,4,5,7,9,10,11,12}
  1874.                     })
  1875.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  1876.                     {
  1877.                         CreateWordField (Arg0, One, IRQW)
  1878.                         FindSetRightBit (IRQW, Local0)
  1879.                         If (LNotEqual (IRQW, Zero))
  1880.                         {
  1881.                             And (Local0, 0x7F, Local0)
  1882.                             Decrement (Local0)
  1883.                         }
  1884.                         Else
  1885.                         {
  1886.                             Or (Local0, 0x80, Local0)
  1887.                         }
  1888.  
  1889.                         Store (Local0, PIRF) /* \_SB_.PCI0.LPC_.PIRF */
  1890.                     }
  1891.                 }
  1892.  
  1893.                 Device (LNKG)
  1894.                 {
  1895.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1896.                     Name (_UID, 0x07)  // _UID: Unique ID
  1897.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1898.                     {
  1899.                         If (And (PIRG, 0x80))
  1900.                         {
  1901.                             Return (0x09)
  1902.                         }
  1903.                         Else
  1904.                         {
  1905.                             Return (0x0B)
  1906.                         }
  1907.                     }
  1908.  
  1909.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1910.                     {
  1911.                         Or (PIRG, 0x80, PIRG) /* \_SB_.PCI0.LPC_.PIRG */
  1912.                     }
  1913.  
  1914.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1915.                     {
  1916.                         Name (BUF0, ResourceTemplate ()
  1917.                         {
  1918.                             IRQ (Level, ActiveLow, Shared, )
  1919.                                 {0}
  1920.                         })
  1921.                         CreateWordField (BUF0, One, IRQW)
  1922.                         If (And (PIRG, 0x80))
  1923.                         {
  1924.                             Store (Zero, Local0)
  1925.                         }
  1926.                         Else
  1927.                         {
  1928.                             Store (One, Local0)
  1929.                         }
  1930.  
  1931.                         ShiftLeft (Local0, And (PIRG, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKG._CRS.IRQW */
  1932.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKG._CRS.BUF0 */
  1933.                     }
  1934.  
  1935.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1936.                     {
  1937.                         IRQ (Level, ActiveLow, Shared, )
  1938.                             {3,4,5,7,9,10,11,12}
  1939.                     })
  1940.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  1941.                     {
  1942.                         CreateWordField (Arg0, One, IRQW)
  1943.                         FindSetRightBit (IRQW, Local0)
  1944.                         If (LNotEqual (IRQW, Zero))
  1945.                         {
  1946.                             And (Local0, 0x7F, Local0)
  1947.                             Decrement (Local0)
  1948.                         }
  1949.                         Else
  1950.                         {
  1951.                             Or (Local0, 0x80, Local0)
  1952.                         }
  1953.  
  1954.                         Store (Local0, PIRG) /* \_SB_.PCI0.LPC_.PIRG */
  1955.                     }
  1956.                 }
  1957.  
  1958.                 Device (LNKH)
  1959.                 {
  1960.                     Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1961.                     Name (_UID, 0x08)  // _UID: Unique ID
  1962.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1963.                     {
  1964.                         If (And (PIRH, 0x80))
  1965.                         {
  1966.                             Return (0x09)
  1967.                         }
  1968.                         Else
  1969.                         {
  1970.                             Return (0x0B)
  1971.                         }
  1972.                     }
  1973.  
  1974.                     Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
  1975.                     {
  1976.                         Or (PIRH, 0x80, PIRH) /* \_SB_.PCI0.LPC_.PIRH */
  1977.                     }
  1978.  
  1979.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  1980.                     {
  1981.                         Name (BUF0, ResourceTemplate ()
  1982.                         {
  1983.                             IRQ (Level, ActiveLow, Shared, )
  1984.                                 {0}
  1985.                         })
  1986.                         CreateWordField (BUF0, One, IRQW)
  1987.                         If (And (PIRH, 0x80))
  1988.                         {
  1989.                             Store (Zero, Local0)
  1990.                         }
  1991.                         Else
  1992.                         {
  1993.                             Store (One, Local0)
  1994.                         }
  1995.  
  1996.                         ShiftLeft (Local0, And (PIRH, 0x0F), IRQW) /* \_SB_.PCI0.LPC_.LNKH._CRS.IRQW */
  1997.                         Return (BUF0) /* \_SB_.PCI0.LPC_.LNKH._CRS.BUF0 */
  1998.                     }
  1999.  
  2000.                     Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  2001.                     {
  2002.                         IRQ (Level, ActiveLow, Shared, )
  2003.                             {3,4,5,7,9,10,11,12}
  2004.                     })
  2005.                     Method (_SRS, 1, NotSerialized)  // _SRS: Set Resource Settings
  2006.                     {
  2007.                         CreateWordField (Arg0, One, IRQW)
  2008.                         FindSetRightBit (IRQW, Local0)
  2009.                         If (LNotEqual (IRQW, Zero))
  2010.                         {
  2011.                             And (Local0, 0x7F, Local0)
  2012.                             Decrement (Local0)
  2013.                         }
  2014.                         Else
  2015.                         {
  2016.                             Or (Local0, 0x80, Local0)
  2017.                         }
  2018.  
  2019.                         Store (Local0, PIRH) /* \_SB_.PCI0.LPC_.PIRH */
  2020.                     }
  2021.                 }
  2022.  
  2023.                 Device (SYSR)
  2024.                 {
  2025.                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
  2026.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2027.                     {
  2028.                         If (LGreaterEqual (OSYS, 0x07D6))
  2029.                         {
  2030.                             If (LOr (And (OTHR, 0x02), And (OTHR, 0x40)))
  2031.                             {
  2032.                                 Return (Zero)
  2033.                             }
  2034.                             Else
  2035.                             {
  2036.                                 Return (0x0F)
  2037.                             }
  2038.                         }
  2039.                         Else
  2040.                         {
  2041.                             Return (Zero)
  2042.                         }
  2043.                     }
  2044.  
  2045.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2046.                     {
  2047.                         IO (Decode16,
  2048.                             0x002E,             // Range Minimum
  2049.                             0x002E,             // Range Maximum
  2050.                             0x01,               // Alignment
  2051.                             0x02,               // Length
  2052.                             )
  2053.                         IO (Decode16,
  2054.                             0x004E,             // Range Minimum
  2055.                             0x004E,             // Range Maximum
  2056.                             0x01,               // Alignment
  2057.                             0x02,               // Length
  2058.                             )
  2059.                         IO (Decode16,
  2060.                             0x0068,             // Range Minimum
  2061.                             0x0068,             // Range Maximum
  2062.                             0x01,               // Alignment
  2063.                             0x01,               // Length
  2064.                             )
  2065.                         IO (Decode16,
  2066.                             0x006C,             // Range Minimum
  2067.                             0x006C,             // Range Maximum
  2068.                             0x01,               // Alignment
  2069.                             0x01,               // Length
  2070.                             )
  2071.                         IO (Decode16,
  2072.                             0x164E,             // Range Minimum
  2073.                             0x164E,             // Range Maximum
  2074.                             0x01,               // Alignment
  2075.                             0x02,               // Length
  2076.                             )
  2077.                         IO (Decode16,
  2078.                             0x0061,             // Range Minimum
  2079.                             0x0061,             // Range Maximum
  2080.                             0x01,               // Alignment
  2081.                             0x01,               // Length
  2082.                             )
  2083.                         IO (Decode16,
  2084.                             0x0070,             // Range Minimum
  2085.                             0x0070,             // Range Maximum
  2086.                             0x01,               // Alignment
  2087.                             0x01,               // Length
  2088.                             )
  2089.                         IO (Decode16,
  2090.                             0x0080,             // Range Minimum
  2091.                             0x0080,             // Range Maximum
  2092.                             0x01,               // Alignment
  2093.                             0x01,               // Length
  2094.                             )
  2095.                         IO (Decode16,
  2096.                             0x0092,             // Range Minimum
  2097.                             0x0092,             // Range Maximum
  2098.                             0x01,               // Alignment
  2099.                             0x01,               // Length
  2100.                             )
  2101.                         IO (Decode16,
  2102.                             0x00B2,             // Range Minimum
  2103.                             0x00B2,             // Range Maximum
  2104.                             0x01,               // Alignment
  2105.                             0x02,               // Length
  2106.                             )
  2107.                         IO (Decode16,
  2108.                             0x0063,             // Range Minimum
  2109.                             0x0063,             // Range Maximum
  2110.                             0x01,               // Alignment
  2111.                             0x01,               // Length
  2112.                             )
  2113.                         IO (Decode16,
  2114.                             0x0065,             // Range Minimum
  2115.                             0x0065,             // Range Maximum
  2116.                             0x01,               // Alignment
  2117.                             0x01,               // Length
  2118.                             )
  2119.                         IO (Decode16,
  2120.                             0x0067,             // Range Minimum
  2121.                             0x0067,             // Range Maximum
  2122.                             0x01,               // Alignment
  2123.                             0x01,               // Length
  2124.                             )
  2125.                         IO (Decode16,
  2126.                             0x0600,             // Range Minimum
  2127.                             0x0600,             // Range Maximum
  2128.                             0x01,               // Alignment
  2129.                             0x10,               // Length
  2130.                             )
  2131.                         IO (Decode16,
  2132.                             0x0610,             // Range Minimum
  2133.                             0x0610,             // Range Maximum
  2134.                             0x01,               // Alignment
  2135.                             0x01,               // Length
  2136.                             )
  2137.                         IO (Decode16,
  2138.                             0x0800,             // Range Minimum
  2139.                             0x0800,             // Range Maximum
  2140.                             0x01,               // Alignment
  2141.                             0x10,               // Length
  2142.                             )
  2143.                         IO (Decode16,
  2144.                             0x0810,             // Range Minimum
  2145.                             0x0810,             // Range Maximum
  2146.                             0x01,               // Alignment
  2147.                             0x08,               // Length
  2148.                             )
  2149.                         IO (Decode16,
  2150.                             0x0400,             // Range Minimum
  2151.                             0x0400,             // Range Maximum
  2152.                             0x01,               // Alignment
  2153.                             0x80,               // Length
  2154.                             )
  2155.                         IO (Decode16,
  2156.                             0x0500,             // Range Minimum
  2157.                             0x0500,             // Range Maximum
  2158.                             0x01,               // Alignment
  2159.                             0x40,               // Length
  2160.                             )
  2161.                         Memory32Fixed (ReadWrite,
  2162.                             0xE0000000,         // Address Base
  2163.                             0x10000000,         // Address Length
  2164.                             )
  2165.                         Memory32Fixed (ReadWrite,
  2166.                             0xFED1C000,         // Address Base
  2167.                             0x00004000,         // Address Length
  2168.                             )
  2169.                         Memory32Fixed (ReadWrite,
  2170.                             0xFED14000,         // Address Base
  2171.                             0x00004000,         // Address Length
  2172.                             )
  2173.                         Memory32Fixed (ReadWrite,
  2174.                             0xFED18000,         // Address Base
  2175.                             0x00001000,         // Address Length
  2176.                             )
  2177.                         Memory32Fixed (ReadWrite,
  2178.                             0xFED19000,         // Address Base
  2179.                             0x00001000,         // Address Length
  2180.                             )
  2181.                         Memory32Fixed (ReadWrite,
  2182.                             0xFEC00000,         // Address Base
  2183.                             0x00001000,         // Address Length
  2184.                             )
  2185.                         Memory32Fixed (ReadWrite,
  2186.                             0xFEE00000,         // Address Base
  2187.                             0x00001000,         // Address Length
  2188.                             )
  2189.                         Memory32Fixed (ReadWrite,
  2190.                             0x32000000,         // Address Base
  2191.                             0x00000100,         // Address Length
  2192.                             )
  2193.                     })
  2194.                 }
  2195.  
  2196.                 Device (SYSC)
  2197.                 {
  2198.                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
  2199.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2200.                     {
  2201.                         If (LGreaterEqual (OSYS, 0x07D6))
  2202.                         {
  2203.                             If (LOr (And (OTHR, 0x02), And (OTHR, 0x40)))
  2204.                             {
  2205.                                 Return (0x0F)
  2206.                             }
  2207.                             Else
  2208.                             {
  2209.                                 Return (Zero)
  2210.                             }
  2211.                         }
  2212.                         Else
  2213.                         {
  2214.                             Return (0x0F)
  2215.                         }
  2216.                     }
  2217.  
  2218.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2219.                     {
  2220.                         IO (Decode16,
  2221.                             0x002E,             // Range Minimum
  2222.                             0x002E,             // Range Maximum
  2223.                             0x01,               // Alignment
  2224.                             0x02,               // Length
  2225.                             )
  2226.                         IO (Decode16,
  2227.                             0x004E,             // Range Minimum
  2228.                             0x004E,             // Range Maximum
  2229.                             0x01,               // Alignment
  2230.                             0x02,               // Length
  2231.                             )
  2232.                         IO (Decode16,
  2233.                             0x164E,             // Range Minimum
  2234.                             0x164E,             // Range Maximum
  2235.                             0x01,               // Alignment
  2236.                             0x02,               // Length
  2237.                             )
  2238.                         IO (Decode16,
  2239.                             0x0061,             // Range Minimum
  2240.                             0x0061,             // Range Maximum
  2241.                             0x01,               // Alignment
  2242.                             0x01,               // Length
  2243.                             )
  2244.                         IO (Decode16,
  2245.                             0x0070,             // Range Minimum
  2246.                             0x0070,             // Range Maximum
  2247.                             0x01,               // Alignment
  2248.                             0x01,               // Length
  2249.                             )
  2250.                         IO (Decode16,
  2251.                             0x0080,             // Range Minimum
  2252.                             0x0080,             // Range Maximum
  2253.                             0x01,               // Alignment
  2254.                             0x01,               // Length
  2255.                             )
  2256.                         IO (Decode16,
  2257.                             0x0092,             // Range Minimum
  2258.                             0x0092,             // Range Maximum
  2259.                             0x01,               // Alignment
  2260.                             0x01,               // Length
  2261.                             )
  2262.                         IO (Decode16,
  2263.                             0x00B2,             // Range Minimum
  2264.                             0x00B2,             // Range Maximum
  2265.                             0x01,               // Alignment
  2266.                             0x02,               // Length
  2267.                             )
  2268.                         IO (Decode16,
  2269.                             0x0063,             // Range Minimum
  2270.                             0x0063,             // Range Maximum
  2271.                             0x01,               // Alignment
  2272.                             0x01,               // Length
  2273.                             )
  2274.                         IO (Decode16,
  2275.                             0x0065,             // Range Minimum
  2276.                             0x0065,             // Range Maximum
  2277.                             0x01,               // Alignment
  2278.                             0x01,               // Length
  2279.                             )
  2280.                         IO (Decode16,
  2281.                             0x0067,             // Range Minimum
  2282.                             0x0067,             // Range Maximum
  2283.                             0x01,               // Alignment
  2284.                             0x01,               // Length
  2285.                             )
  2286.                         IO (Decode16,
  2287.                             0x0600,             // Range Minimum
  2288.                             0x0600,             // Range Maximum
  2289.                             0x01,               // Alignment
  2290.                             0x10,               // Length
  2291.                             )
  2292.                         IO (Decode16,
  2293.                             0x0610,             // Range Minimum
  2294.                             0x0610,             // Range Maximum
  2295.                             0x01,               // Alignment
  2296.                             0x01,               // Length
  2297.                             )
  2298.                         IO (Decode16,
  2299.                             0x0800,             // Range Minimum
  2300.                             0x0800,             // Range Maximum
  2301.                             0x01,               // Alignment
  2302.                             0x10,               // Length
  2303.                             )
  2304.                         IO (Decode16,
  2305.                             0x0810,             // Range Minimum
  2306.                             0x0810,             // Range Maximum
  2307.                             0x01,               // Alignment
  2308.                             0x08,               // Length
  2309.                             )
  2310.                         IO (Decode16,
  2311.                             0x0400,             // Range Minimum
  2312.                             0x0400,             // Range Maximum
  2313.                             0x01,               // Alignment
  2314.                             0x80,               // Length
  2315.                             )
  2316.                         IO (Decode16,
  2317.                             0x0500,             // Range Minimum
  2318.                             0x0500,             // Range Maximum
  2319.                             0x01,               // Alignment
  2320.                             0x40,               // Length
  2321.                             )
  2322.                         IO (Decode16,
  2323.                             0xFF2C,             // Range Minimum
  2324.                             0xFF2C,             // Range Maximum
  2325.                             0x01,               // Alignment
  2326.                             0x04,               // Length
  2327.                             )
  2328.                         Memory32Fixed (ReadWrite,
  2329.                             0xE0000000,         // Address Base
  2330.                             0x10000000,         // Address Length
  2331.                             )
  2332.                         Memory32Fixed (ReadWrite,
  2333.                             0xFED1C000,         // Address Base
  2334.                             0x00004000,         // Address Length
  2335.                             )
  2336.                         Memory32Fixed (ReadWrite,
  2337.                             0xFED14000,         // Address Base
  2338.                             0x00004000,         // Address Length
  2339.                             )
  2340.                         Memory32Fixed (ReadWrite,
  2341.                             0xFED18000,         // Address Base
  2342.                             0x00001000,         // Address Length
  2343.                             )
  2344.                         Memory32Fixed (ReadWrite,
  2345.                             0xFED19000,         // Address Base
  2346.                             0x00001000,         // Address Length
  2347.                             )
  2348.                         Memory32Fixed (ReadWrite,
  2349.                             0xFEC00000,         // Address Base
  2350.                             0x00001000,         // Address Length
  2351.                             )
  2352.                         Memory32Fixed (ReadWrite,
  2353.                             0xFEE00000,         // Address Base
  2354.                             0x00001000,         // Address Length
  2355.                             )
  2356.                         Memory32Fixed (ReadWrite,
  2357.                             0x32000000,         // Address Base
  2358.                             0x00000100,         // Address Length
  2359.                             )
  2360.                     })
  2361.                 }
  2362.  
  2363.                 Device (DMAC)
  2364.                 {
  2365.                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
  2366.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2367.                     {
  2368.                         IO (Decode16,
  2369.                             0x0000,             // Range Minimum
  2370.                             0x0000,             // Range Maximum
  2371.                             0x01,               // Alignment
  2372.                             0x20,               // Length
  2373.                             )
  2374.                         IO (Decode16,
  2375.                             0x0081,             // Range Minimum
  2376.                             0x0081,             // Range Maximum
  2377.                             0x01,               // Alignment
  2378.                             0x11,               // Length
  2379.                             )
  2380.                         IO (Decode16,
  2381.                             0x0093,             // Range Minimum
  2382.                             0x0093,             // Range Maximum
  2383.                             0x01,               // Alignment
  2384.                             0x0D,               // Length
  2385.                             )
  2386.                         IO (Decode16,
  2387.                             0x00C0,             // Range Minimum
  2388.                             0x00C0,             // Range Maximum
  2389.                             0x01,               // Alignment
  2390.                             0x20,               // Length
  2391.                             )
  2392.                         DMA (Compatibility, NotBusMaster, Transfer8_16, )
  2393.                             {4}
  2394.                     })
  2395.                 }
  2396.  
  2397.                 Device (RTC)
  2398.                 {
  2399.                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
  2400.                     Name (BUF0, ResourceTemplate ()
  2401.                     {
  2402.                         IO (Decode16,
  2403.                             0x0070,             // Range Minimum
  2404.                             0x0070,             // Range Maximum
  2405.                             0x01,               // Alignment
  2406.                             0x08,               // Length
  2407.                             )
  2408.                     })
  2409.                     Name (BUF1, ResourceTemplate ()
  2410.                     {
  2411.                         IO (Decode16,
  2412.                             0x0070,             // Range Minimum
  2413.                             0x0070,             // Range Maximum
  2414.                             0x01,               // Alignment
  2415.                             0x08,               // Length
  2416.                             )
  2417.                         IRQNoFlags ()
  2418.                             {8}
  2419.                     })
  2420.                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  2421.                     {
  2422.                         If (LEqual (HPTS, One))
  2423.                         {
  2424.                             Return (BUF0) /* \_SB_.PCI0.LPC_.RTC_.BUF0 */
  2425.                         }
  2426.                         Else
  2427.                         {
  2428.                             Return (BUF1) /* \_SB_.PCI0.LPC_.RTC_.BUF1 */
  2429.                         }
  2430.                     }
  2431.                 }
  2432.  
  2433.                 Device (HPET)
  2434.                 {
  2435.                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
  2436.                     Name (BUF0, ResourceTemplate ()
  2437.                     {
  2438.                         IRQNoFlags ()
  2439.                             {0}
  2440.                         IRQNoFlags ()
  2441.                             {8}
  2442.                         Memory32Fixed (ReadOnly,
  2443.                             0xFED00000,         // Address Base
  2444.                             0x00000400,         // Address Length
  2445.                             _Y0E)
  2446.                     })
  2447.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2448.                     {
  2449.                         If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D7)))
  2450.                         {
  2451.                             If (LEqual (HPTS, One))
  2452.                             {
  2453.                                 Return (0x0F)
  2454.                             }
  2455.                             Else
  2456.                             {
  2457.                                 Return (Zero)
  2458.                             }
  2459.                         }
  2460.                         Else
  2461.                         {
  2462.                             If (HPTS)
  2463.                             {
  2464.                                 Return (0x0B)
  2465.                             }
  2466.                             Else
  2467.                             {
  2468.                                 Return (Zero)
  2469.                             }
  2470.                         }
  2471.                     }
  2472.  
  2473.                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  2474.                     {
  2475.                         If (LEqual (HPTS, One))
  2476.                         {
  2477.                             CreateDWordField (BUF0, \_SB.PCI0.LPC.HPET._Y0E._BAS, HPT0)  // _BAS: Base Address
  2478.                             If (LEqual (HPTA, One))
  2479.                             {
  2480.                                 Store (0xFED01000, HPT0) /* \_SB_.PCI0.LPC_.HPET._CRS.HPT0 */
  2481.                             }
  2482.  
  2483.                             If (LEqual (HPTA, 0x02))
  2484.                             {
  2485.                                 Store (0xFED02000, HPT0) /* \_SB_.PCI0.LPC_.HPET._CRS.HPT0 */
  2486.                             }
  2487.  
  2488.                             If (LEqual (HPTA, 0x03))
  2489.                             {
  2490.                                 Store (0xFED03000, HPT0) /* \_SB_.PCI0.LPC_.HPET._CRS.HPT0 */
  2491.                             }
  2492.                         }
  2493.  
  2494.                         Return (BUF0) /* \_SB_.PCI0.LPC_.HPET.BUF0 */
  2495.                     }
  2496.                 }
  2497.  
  2498.                 Device (PIC)
  2499.                 {
  2500.                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
  2501.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2502.                     {
  2503.                         IO (Decode16,
  2504.                             0x0020,             // Range Minimum
  2505.                             0x0020,             // Range Maximum
  2506.                             0x01,               // Alignment
  2507.                             0x02,               // Length
  2508.                             )
  2509.                         IO (Decode16,
  2510.                             0x0024,             // Range Minimum
  2511.                             0x0024,             // Range Maximum
  2512.                             0x01,               // Alignment
  2513.                             0x02,               // Length
  2514.                             )
  2515.                         IO (Decode16,
  2516.                             0x0028,             // Range Minimum
  2517.                             0x0028,             // Range Maximum
  2518.                             0x01,               // Alignment
  2519.                             0x02,               // Length
  2520.                             )
  2521.                         IO (Decode16,
  2522.                             0x002C,             // Range Minimum
  2523.                             0x002C,             // Range Maximum
  2524.                             0x01,               // Alignment
  2525.                             0x02,               // Length
  2526.                             )
  2527.                         IO (Decode16,
  2528.                             0x0030,             // Range Minimum
  2529.                             0x0030,             // Range Maximum
  2530.                             0x01,               // Alignment
  2531.                             0x02,               // Length
  2532.                             )
  2533.                         IO (Decode16,
  2534.                             0x0034,             // Range Minimum
  2535.                             0x0034,             // Range Maximum
  2536.                             0x01,               // Alignment
  2537.                             0x02,               // Length
  2538.                             )
  2539.                         IO (Decode16,
  2540.                             0x0038,             // Range Minimum
  2541.                             0x0038,             // Range Maximum
  2542.                             0x01,               // Alignment
  2543.                             0x02,               // Length
  2544.                             )
  2545.                         IO (Decode16,
  2546.                             0x003C,             // Range Minimum
  2547.                             0x003C,             // Range Maximum
  2548.                             0x01,               // Alignment
  2549.                             0x02,               // Length
  2550.                             )
  2551.                         IO (Decode16,
  2552.                             0x00A0,             // Range Minimum
  2553.                             0x00A0,             // Range Maximum
  2554.                             0x01,               // Alignment
  2555.                             0x02,               // Length
  2556.                             )
  2557.                         IO (Decode16,
  2558.                             0x00A4,             // Range Minimum
  2559.                             0x00A4,             // Range Maximum
  2560.                             0x01,               // Alignment
  2561.                             0x02,               // Length
  2562.                             )
  2563.                         IO (Decode16,
  2564.                             0x00A8,             // Range Minimum
  2565.                             0x00A8,             // Range Maximum
  2566.                             0x01,               // Alignment
  2567.                             0x02,               // Length
  2568.                             )
  2569.                         IO (Decode16,
  2570.                             0x00AC,             // Range Minimum
  2571.                             0x00AC,             // Range Maximum
  2572.                             0x01,               // Alignment
  2573.                             0x02,               // Length
  2574.                             )
  2575.                         IO (Decode16,
  2576.                             0x00B0,             // Range Minimum
  2577.                             0x00B0,             // Range Maximum
  2578.                             0x01,               // Alignment
  2579.                             0x02,               // Length
  2580.                             )
  2581.                         IO (Decode16,
  2582.                             0x00B4,             // Range Minimum
  2583.                             0x00B4,             // Range Maximum
  2584.                             0x01,               // Alignment
  2585.                             0x02,               // Length
  2586.                             )
  2587.                         IO (Decode16,
  2588.                             0x00B8,             // Range Minimum
  2589.                             0x00B8,             // Range Maximum
  2590.                             0x01,               // Alignment
  2591.                             0x02,               // Length
  2592.                             )
  2593.                         IO (Decode16,
  2594.                             0x00BC,             // Range Minimum
  2595.                             0x00BC,             // Range Maximum
  2596.                             0x01,               // Alignment
  2597.                             0x02,               // Length
  2598.                             )
  2599.                         IO (Decode16,
  2600.                             0x04D0,             // Range Minimum
  2601.                             0x04D0,             // Range Maximum
  2602.                             0x01,               // Alignment
  2603.                             0x02,               // Length
  2604.                             )
  2605.                         IRQNoFlags ()
  2606.                             {2}
  2607.                     })
  2608.                 }
  2609.  
  2610.                 Device (FPU)
  2611.                 {
  2612.                     Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
  2613.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2614.                     {
  2615.                         IO (Decode16,
  2616.                             0x00F0,             // Range Minimum
  2617.                             0x00F0,             // Range Maximum
  2618.                             0x01,               // Alignment
  2619.                             0x01,               // Length
  2620.                             )
  2621.                         IRQNoFlags ()
  2622.                             {13}
  2623.                     })
  2624.                 }
  2625.  
  2626.                 Device (TIMR)
  2627.                 {
  2628.                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
  2629.                     Name (BUF0, ResourceTemplate ()
  2630.                     {
  2631.                         IO (Decode16,
  2632.                             0x0040,             // Range Minimum
  2633.                             0x0040,             // Range Maximum
  2634.                             0x01,               // Alignment
  2635.                             0x04,               // Length
  2636.                             )
  2637.                         IO (Decode16,
  2638.                             0x0050,             // Range Minimum
  2639.                             0x0050,             // Range Maximum
  2640.                             0x10,               // Alignment
  2641.                             0x04,               // Length
  2642.                             )
  2643.                     })
  2644.                     Name (BUF1, ResourceTemplate ()
  2645.                     {
  2646.                         IO (Decode16,
  2647.                             0x0040,             // Range Minimum
  2648.                             0x0040,             // Range Maximum
  2649.                             0x01,               // Alignment
  2650.                             0x04,               // Length
  2651.                             )
  2652.                         IO (Decode16,
  2653.                             0x0050,             // Range Minimum
  2654.                             0x0050,             // Range Maximum
  2655.                             0x10,               // Alignment
  2656.                             0x04,               // Length
  2657.                             )
  2658.                         IRQNoFlags ()
  2659.                             {0}
  2660.                     })
  2661.                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  2662.                     {
  2663.                         If (HPTS)
  2664.                         {
  2665.                             Return (BUF0) /* \_SB_.PCI0.LPC_.TIMR.BUF0 */
  2666.                         }
  2667.  
  2668.                         Return (BUF1) /* \_SB_.PCI0.LPC_.TIMR.BUF1 */
  2669.                     }
  2670.                 }
  2671.  
  2672.                 Device (FWHD)
  2673.                 {
  2674.                     Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */)  // _HID: Hardware ID
  2675.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2676.                     {
  2677.                         Memory32Fixed (ReadOnly,
  2678.                             0xFFF00000,         // Address Base
  2679.                             0x00100000,         // Address Length
  2680.                             )
  2681.                     })
  2682.                 }
  2683.  
  2684.                 Device (KBC0)
  2685.                 {
  2686.                     Name (_HID, EisaId ("PNP0303") /* IBM Enhanced Keyboard (101/102-key, PS/2 Mouse) */)  // _HID: Hardware ID
  2687.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2688.                     {
  2689.                         If (LEqual (KBTP, 0x4A))
  2690.                         {
  2691.                             Return (Zero)
  2692.                         }
  2693.                         Else
  2694.                         {
  2695.                             Return (0x0F)
  2696.                         }
  2697.                     }
  2698.  
  2699.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2700.                     {
  2701.                         IO (Decode16,
  2702.                             0x0060,             // Range Minimum
  2703.                             0x0060,             // Range Maximum
  2704.                             0x01,               // Alignment
  2705.                             0x01,               // Length
  2706.                             )
  2707.                         IO (Decode16,
  2708.                             0x0064,             // Range Minimum
  2709.                             0x0064,             // Range Maximum
  2710.                             0x01,               // Alignment
  2711.                             0x01,               // Length
  2712.                             )
  2713.                         IRQ (Edge, ActiveHigh, Exclusive, )
  2714.                             {1}
  2715.                     })
  2716.                 }
  2717.  
  2718.                 Device (KBCJ)
  2719.                 {
  2720.                     Name (_HID, EisaId ("PNP0320"))  // _HID: Hardware ID
  2721.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2722.                     {
  2723.                         If (LEqual (KBTP, 0x4A))
  2724.                         {
  2725.                             Return (0x0F)
  2726.                         }
  2727.                         Else
  2728.                         {
  2729.                             Return (Zero)
  2730.                         }
  2731.                     }
  2732.  
  2733.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2734.                     {
  2735.                         IO (Decode16,
  2736.                             0x0060,             // Range Minimum
  2737.                             0x0060,             // Range Maximum
  2738.                             0x01,               // Alignment
  2739.                             0x01,               // Length
  2740.                             )
  2741.                         IO (Decode16,
  2742.                             0x0064,             // Range Minimum
  2743.                             0x0064,             // Range Maximum
  2744.                             0x01,               // Alignment
  2745.                             0x01,               // Length
  2746.                             )
  2747.                         IRQ (Edge, ActiveHigh, Exclusive, )
  2748.                             {1}
  2749.                     })
  2750.                 }
  2751.  
  2752.                 Device (MSE0)
  2753.                 {
  2754.                     Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */)  // _HID: Hardware ID
  2755.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2756.                     {
  2757.                         If (LEqual (And (TSTE, One), One))
  2758.                         {
  2759.                             Return (Zero)
  2760.                         }
  2761.                         Else
  2762.                         {
  2763.                             Return (0x0F)
  2764.                         }
  2765.                     }
  2766.  
  2767.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2768.                     {
  2769.                         IRQ (Edge, ActiveHigh, Exclusive, )
  2770.                             {12}
  2771.                     })
  2772.                 }
  2773.  
  2774.                 Device (MSS0)
  2775.                 {
  2776.                     Name (_HID, EisaId ("SYN1B07"))  // _HID: Hardware ID
  2777.                     Name (_CID, Package (0x03)  // _CID: Compatible ID
  2778.                     {
  2779.                         EisaId ("SYN1B00"),
  2780.                         EisaId ("SYN0002"),
  2781.                         EisaId ("PNP0F13") /* PS/2 Mouse */
  2782.                     })
  2783.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2784.                     {
  2785.                         If (LEqual (And (TSTE, One), One))
  2786.                         {
  2787.                             Return (0x0F)
  2788.                         }
  2789.                         Else
  2790.                         {
  2791.                             Return (Zero)
  2792.                         }
  2793.                     }
  2794.  
  2795.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2796.                     {
  2797.                         IRQ (Edge, ActiveHigh, Exclusive, )
  2798.                             {12}
  2799.                     })
  2800.                 }
  2801.  
  2802.                 Device (EC0)
  2803.                 {
  2804.                     Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
  2805.                     Name (_UID, One)  // _UID: Unique ID
  2806.                     Name (_GPE, 0x1C)  // _GPE: General Purpose Events
  2807.                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  2808.                     {
  2809.                         Name (BFFR, ResourceTemplate ()
  2810.                         {
  2811.                             IO (Decode16,
  2812.                                 0x0062,             // Range Minimum
  2813.                                 0x0062,             // Range Maximum
  2814.                                 0x00,               // Alignment
  2815.                                 0x01,               // Length
  2816.                                 )
  2817.                             IO (Decode16,
  2818.                                 0x0066,             // Range Minimum
  2819.                                 0x0066,             // Range Maximum
  2820.                                 0x00,               // Alignment
  2821.                                 0x01,               // Length
  2822.                                 )
  2823.                         })
  2824.                         Return (BFFR) /* \_SB_.PCI0.LPC_.EC0_._CRS.BFFR */
  2825.                     }
  2826.  
  2827.                     Name (_ADR, 0x00020000)  // _ADR: Address
  2828.                     OperationRegion (HDCS, PCI_Config, Zero, One)
  2829.                     Field (HDCS, ByteAcc, NoLock, Preserve)
  2830.                     {
  2831.                         OBV,    8
  2832.                     }
  2833.  
  2834.                     OperationRegion (ERAM, EmbeddedControl, Zero, 0xFF)
  2835.                     Field (ERAM, ByteAcc, Lock, Preserve)
  2836.                     {
  2837.                         Offset (0x60),
  2838.                         SMPR,   8,
  2839.                         SMST,   8,
  2840.                         SMAD,   8,
  2841.                         SMCM,   8,
  2842.                         SMDR,   32,
  2843.                         BCNT,   8,
  2844.                         SMAA,   8,
  2845.                         SMD0,   8,
  2846.                         SMD1,   8,
  2847.                         Offset (0x90),
  2848.                         Offset (0x91),
  2849.                         Offset (0x92),
  2850.                         Offset (0x93),
  2851.                         Offset (0x94),
  2852.                         ERIB,   16,
  2853.                         ERBD,   8,
  2854.                         Offset (0x98),
  2855.                         Offset (0x99),
  2856.                         OSIF,   1,
  2857.                         Offset (0x9A),
  2858.                         BAL1,   1,
  2859.                         BAL2,   1,
  2860.                         BAL3,   1,
  2861.                         BAL4,   1,
  2862.                         BCL1,   1,
  2863.                         BCL2,   1,
  2864.                         BCL3,   1,
  2865.                         BCL4,   1,
  2866.                         BPU1,   1,
  2867.                         BPU2,   1,
  2868.                         BPU3,   1,
  2869.                         BPU4,   1,
  2870.                         BOS1,   1,
  2871.                         BOS2,   1,
  2872.                         BOS3,   1,
  2873.                         BOS4,   1,
  2874.                         PHDD,   1,
  2875.                         IFDD,   1,
  2876.                         IODD,   1,
  2877.                         SHDD,   1,
  2878.                         LS20,   1,
  2879.                         EFDD,   1,
  2880.                         ECRT,   1,
  2881.                         LANC,   1,
  2882.                         SBTN,   1,
  2883.                         VIDO,   1,
  2884.                         VOLD,   1,
  2885.                         VOLU,   1,
  2886.                         MUTE,   1,
  2887.                         CONT,   1,
  2888.                         BRGT,   1,
  2889.                         HBTN,   1,
  2890.                         S4SE,   1,
  2891.                         SKEY,   1,
  2892.                         BKEY,   1,
  2893.                         TKEY,   1,
  2894.                         FKEY,   1,
  2895.                         DVDM,   1,
  2896.                         DIGM,   1,
  2897.                         CDLK,   1,
  2898.                             ,   1,
  2899.                         LIDO,   1,
  2900.                         PMEE,   1,
  2901.                         PBET,   1,
  2902.                         RIIN,   1,
  2903.                         BTWK,   1,
  2904.                         DKIN,   1,
  2905.                         Offset (0xA0),
  2906.                             ,   6,
  2907.                         SWTH,   1,
  2908.                         HWTH,   1,
  2909.                         DKT0,   1,
  2910.                         DKT1,   1,
  2911.                             ,   2,
  2912.                         OSUD,   1,
  2913.                         OSDK,   1,
  2914.                         OSSU,   1,
  2915.                         DKCG,   1,
  2916.                         ODTS,   8,
  2917.                         S1LD,   1,
  2918.                         S3LD,   1,
  2919.                         VGAQ,   1,
  2920.                         PCMQ,   1,
  2921.                         PCMR,   1,
  2922.                         ADPT,   1,
  2923.                         SYS6,   1,
  2924.                         SYS7,   1,
  2925.                         PWAK,   1,
  2926.                         MWAK,   1,
  2927.                         LWAK,   1,
  2928.                         RWAK,   1,
  2929.                             ,   2,
  2930.                         KWAK,   1,
  2931.                         MSWK,   1,
  2932.                         CCAC,   1,
  2933.                         AOAC,   1,
  2934.                         BLAC,   1,
  2935.                         PSRC,   1,
  2936.                         BOAC,   1,
  2937.                         LCAC,   1,
  2938.                         AAAC,   1,
  2939.                         ACAC,   1,
  2940.                         PCEC,   8,
  2941.                         THON,   8,
  2942.                         THSD,   8,
  2943.                         THEM,   8,
  2944.                         TCON,   8,
  2945.                         THRS,   8,
  2946.                         THSE,   8,
  2947.                         FSSN,   4,
  2948.                         FANU,   4,
  2949.                         PTVL,   3,
  2950.                             ,   3,
  2951.                         TTSR,   1,
  2952.                         TTHR,   1,
  2953.                         TSTH,   1,
  2954.                         TSBC,   1,
  2955.                         TSBF,   1,
  2956.                         TSPL,   1,
  2957.                         TSBT,   1,
  2958.                             ,   2,
  2959.                         THTA,   1,
  2960.                         CTMP,   8,
  2961.                         LTMP,   8,
  2962.                         SKTA,   8,
  2963.                         SKTB,   8,
  2964.                         SKTC,   8,
  2965.                         SKTD,   8,
  2966.                         NBTP,   8,
  2967.                         LANP,   1,
  2968.                         LCDS,   1,
  2969.                         Offset (0xB8),
  2970.                         BTPV,   8,
  2971.                         BRTS,   8,
  2972.                         CTRS,   8,
  2973.                         WLAT,   1,
  2974.                         BTAT,   1,
  2975.                         WLEX,   1,
  2976.                         BTEX,   1,
  2977.                         KLSW,   1,
  2978.                         WLOK,   1,
  2979.                         Offset (0xBC),
  2980.                         PJID,   8,
  2981.                         CPUN,   8,
  2982.                         THFN,   8,
  2983.                         MLED,   1,
  2984.                         SCHG,   1,
  2985.                         SCCF,   1,
  2986.                         SCPF,   1,
  2987.                         ACIS,   1,
  2988.                         OSTY,   1,
  2989.                         Offset (0xC0),
  2990.                             ,   7,
  2991.                         BTY0,   1,
  2992.                         BST0,   8,
  2993.                         BRC0,   16,
  2994.                         BSN0,   16,
  2995.                         BPV0,   16,
  2996.                         BDV0,   16,
  2997.                         BDC0,   16,
  2998.                         BFC0,   16,
  2999.                         GAU0,   8,
  3000.                         BSCY,   8,
  3001.                         BSCU,   16,
  3002.                         BAC0,   16,
  3003.                         BTW0,   8,
  3004.                         BATV,   8,
  3005.                         BPTC,   8,
  3006.                         BTTC,   8,
  3007.                         BTMA,   16,
  3008.                         BTSC,   8,
  3009.                         BCIX,   8,
  3010.                         CCBA,   8,
  3011.                         CBOT,   8,
  3012.                         BTSS,   16,
  3013.                         OVCC,   8,
  3014.                         CCFC,   8,
  3015.                         BADC,   8,
  3016.                         BSC1,   16,
  3017.                         BSC2,   16,
  3018.                         BSC3,   16,
  3019.                         BSC4,   16,
  3020.                         BDME,   16,
  3021.                         Offset (0xEE),
  3022.                         Offset (0xEF),
  3023.                         Offset (0xF0),
  3024.                         BTS1,   8,
  3025.                         BTS2,   8,
  3026.                         BSCS,   16,
  3027.                         BDAD,   16,
  3028.                         BACV,   16,
  3029.                         BDFC,   16
  3030.                     }
  3031.  
  3032.                     OperationRegion (CCLK, SystemIO, 0x0410, 0x04)
  3033.                     Field (CCLK, DWordAcc, NoLock, Preserve)
  3034.                     {
  3035.                             ,   1,
  3036.                         DUTY,   3,
  3037.                         THEN,   1,
  3038.                         Offset (0x01),
  3039.                         FTT,    1,
  3040.                             ,   8,
  3041.                         TSTS,   1
  3042.                     }
  3043.  
  3044.                     Mutex (FAMX, 0x00)
  3045.                     Method (FANG, 1, NotSerialized)
  3046.                     {
  3047.                         Acquire (FAMX, 0xFFFF)
  3048.                         Store (Arg0, ERIB) /* \_SB_.PCI0.LPC_.EC0_.ERIB */
  3049.                         Store (ERBD, Local0)
  3050.                         Release (FAMX)
  3051.                         Return (Local0)
  3052.                     }
  3053.  
  3054.                     Method (FANW, 2, NotSerialized)
  3055.                     {
  3056.                         Acquire (FAMX, 0xFFFF)
  3057.                         Store (Arg0, ERIB) /* \_SB_.PCI0.LPC_.EC0_.ERIB */
  3058.                         Store (Arg1, ERBD) /* \_SB_.PCI0.LPC_.EC0_.ERBD */
  3059.                         Release (FAMX)
  3060.                         Return (Arg1)
  3061.                     }
  3062.  
  3063.                     Method (TUVR, 1, NotSerialized)
  3064.                     {
  3065.                         Return (0x03)
  3066.                     }
  3067.  
  3068.                     Method (THRO, 1, NotSerialized)
  3069.                     {
  3070.                         If (LEqual (Arg0, Zero))
  3071.                         {
  3072.                             Return (THEN) /* \_SB_.PCI0.LPC_.EC0_.THEN */
  3073.                         }
  3074.                         Else
  3075.                         {
  3076.                             If (LEqual (Arg0, One))
  3077.                             {
  3078.                                 Return (DUTY) /* \_SB_.PCI0.LPC_.EC0_.DUTY */
  3079.                             }
  3080.                             Else
  3081.                             {
  3082.                                 If (LEqual (Arg0, 0x02))
  3083.                                 {
  3084.                                     Return (TTHR) /* \_SB_.PCI0.LPC_.EC0_.TTHR */
  3085.                                 }
  3086.                                 Else
  3087.                                 {
  3088.                                     Return (0xFF)
  3089.                                 }
  3090.                             }
  3091.                         }
  3092.                     }
  3093.  
  3094.                     Method (CLCK, 1, NotSerialized)
  3095.                     {
  3096.                         If (LEqual (Arg0, Zero))
  3097.                         {
  3098.                             Store (Zero, THEN) /* \_SB_.PCI0.LPC_.EC0_.THEN */
  3099.                         }
  3100.                         Else
  3101.                         {
  3102.                             Store (Arg0, DUTY) /* \_SB_.PCI0.LPC_.EC0_.DUTY */
  3103.                             Store (One, THEN) /* \_SB_.PCI0.LPC_.EC0_.THEN */
  3104.                         }
  3105.  
  3106.                         Return (THEN) /* \_SB_.PCI0.LPC_.EC0_.THEN */
  3107.                     }
  3108.  
  3109.                     Method (PCLK, 0, NotSerialized)
  3110.                     {
  3111.                         Store (PTVL, Local0)
  3112.                         If (LEqual (Local0, Zero))
  3113.                         {
  3114.                             Store (Zero, THEN) /* \_SB_.PCI0.LPC_.EC0_.THEN */
  3115.                         }
  3116.                         Else
  3117.                         {
  3118.                             Not (Local0, Local0)
  3119.                             Add (Local0, One, Local0)
  3120.                             And (Local0, 0x07, Local0)
  3121.                             Store (Local0, DUTY) /* \_SB_.PCI0.LPC_.EC0_.DUTY */
  3122.                             If (LEqual (Local0, Zero))
  3123.                             {
  3124.                                 Store (Zero, THEN) /* \_SB_.PCI0.LPC_.EC0_.THEN */
  3125.                             }
  3126.                             Else
  3127.                             {
  3128.                                 Store (One, THEN) /* \_SB_.PCI0.LPC_.EC0_.THEN */
  3129.                             }
  3130.                         }
  3131.                     }
  3132.  
  3133.                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
  3134.                     {
  3135.                         If (LEqual (Arg0, 0x03))
  3136.                         {
  3137.                             Store (Arg1, ECON) /* \ECON */
  3138.                             If (LEqual (LIDO, ^^^OVGA.CLID))
  3139.                             {
  3140.                                 If (LEqual (LIDO, Zero))
  3141.                                 {
  3142.                                     ^^^OVGA.GLID (One)
  3143.                                 }
  3144.                                 Else
  3145.                                 {
  3146.                                     ^^^OVGA.GLID (Zero)
  3147.                                 }
  3148.                             }
  3149.                             Else
  3150.                             {
  3151.                                 If (LNot (^^^OVGA.GLID (LIDO)))
  3152.                                 {
  3153.                                     Store (LIDO, LIDS) /* \LIDS */
  3154.                                     Notify (LID0, 0x80) // Status Change
  3155.                                 }
  3156.                             }
  3157.                         }
  3158.                     }
  3159.  
  3160.                     Method (_Q11, 0, NotSerialized)  // _Qxx: EC Query
  3161.                     {
  3162.                         If (LGreaterEqual (OSYS, 0x07D6))
  3163.                         {
  3164.                             If (LEqual (OBV, 0xFF))
  3165.                             {
  3166.                                 Notify (^^^PEGP.VGA.LCD, 0x87) // Device-Specific
  3167.                             }
  3168.                             Else
  3169.                             {
  3170.                                 Notify (^^^OVGA.DD03, 0x87) // Device-Specific
  3171.                             }
  3172.                         }
  3173.                         Else
  3174.                         {
  3175.                             If (LEqual (^^^WMID.BAEF, One))
  3176.                             {
  3177.                                 Store (BRTS, Local1)
  3178.                                 Store (^^^WMID.LBL0, Local2)
  3179.                                 Add (Local2, Local1, Local2)
  3180.                                 Store (Local2, ^^^WMID.NTDC) /* \_SB_.PCI0.WMID.NTDC */
  3181.                                 Notify (WMID, 0x80) // Status Change
  3182.                             }
  3183.                         }
  3184.                     }
  3185.  
  3186.                     Method (_Q12, 0, NotSerialized)  // _Qxx: EC Query
  3187.                     {
  3188.                         If (LGreaterEqual (OSYS, 0x07D6))
  3189.                         {
  3190.                             If (LEqual (OBV, 0xFF))
  3191.                             {
  3192.                                 Notify (^^^PEGP.VGA.LCD, 0x86) // Device-Specific
  3193.                             }
  3194.                             Else
  3195.                             {
  3196.                                 Notify (^^^OVGA.DD03, 0x86) // Device-Specific
  3197.                             }
  3198.                         }
  3199.                         Else
  3200.                         {
  3201.                             If (LEqual (^^^WMID.BAEF, One))
  3202.                             {
  3203.                                 Store (BRTS, Local1)
  3204.                                 Store (^^^WMID.LBL0, Local2)
  3205.                                 Add (Local2, Local1, Local2)
  3206.                                 Store (Local2, ^^^WMID.NTDC) /* \_SB_.PCI0.WMID.NTDC */
  3207.                                 Notify (WMID, 0x80) // Status Change
  3208.                             }
  3209.                         }
  3210.                     }
  3211.  
  3212.                     Method (_Q1C, 0, NotSerialized)  // _Qxx: EC Query
  3213.                     {
  3214.                     }
  3215.  
  3216.                     Method (_Q1D, 0, NotSerialized)  // _Qxx: EC Query
  3217.                     {
  3218.                         PCLK ()
  3219.                     }
  3220.  
  3221.                     Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query
  3222.                     {
  3223.                         Notify (BAT0, 0x80) // Status Change
  3224.                     }
  3225.  
  3226.                     Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query
  3227.                     {
  3228.                         Notify (BAT0, 0x81) // Information Change
  3229.                         Notify (BAT0, 0x80) // Status Change
  3230.                     }
  3231.  
  3232.                     Method (_Q34, 0, NotSerialized)  // _Qxx: EC Query
  3233.                     {
  3234.                         Store (0x34, P80H) /* \P80H */
  3235.                         If (LEqual (^^^WMID.BAEF, One))
  3236.                         {
  3237.                             Store (BTAT, Local1)
  3238.                             Store (^^^WMID.BLTD, Local2)
  3239.                             Add (Local2, Local1, Local2)
  3240.                             Store (Local2, ^^^WMID.NTDC) /* \_SB_.PCI0.WMID.NTDC */
  3241.                             Notify (WMID, 0x80) // Status Change
  3242.                         }
  3243.                     }
  3244.  
  3245.                     Method (_Q37, 0, NotSerialized)  // _Qxx: EC Query
  3246.                     {
  3247.                         Notify (AC, Zero) // Bus Check
  3248.                         Sleep (0x03F0)
  3249.                         Notify (BAT0, 0x80) // Status Change
  3250.                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
  3251.                         OSMI (0x60)
  3252.                     }
  3253.  
  3254.                     Method (_Q38, 0, NotSerialized)  // _Qxx: EC Query
  3255.                     {
  3256.                         Notify (AC, One) // Device Check
  3257.                         Sleep (0x03F0)
  3258.                         Notify (BAT0, 0x80) // Status Change
  3259.                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
  3260.                         OSMI (0x61)
  3261.                     }
  3262.  
  3263.                     Method (_Q60, 0, NotSerialized)  // _Qxx: EC Query
  3264.                     {
  3265.                         Store (0x60, P80H) /* \P80H */
  3266.                         If (LEqual (^^^WMID.BAEF, One))
  3267.                         {
  3268.                             Store (WLAT, Local1)
  3269.                             Store (^^^WMID.WLSD, Local2)
  3270.                             Add (Local2, Local1, Local2)
  3271.                             Store (Local2, ^^^WMID.NTDC) /* \_SB_.PCI0.WMID.NTDC */
  3272.                             Notify (WMID, 0x80) // Status Change
  3273.                         }
  3274.                     }
  3275.  
  3276.                     Method (_Q4F, 0, NotSerialized)  // _Qxx: EC Query
  3277.                     {
  3278.                         If (LEqual (^^^WMID.BAEF, One))
  3279.                         {
  3280.                             Store (One, Local1)
  3281.                             If (LEqual (LANC, One))
  3282.                             {
  3283.                                 Store (Zero, Local1)
  3284.                             }
  3285.  
  3286.                             Store (^^^WMID.LANI, Local2)
  3287.                             Add (Local2, Local1, Local2)
  3288.                             Store (Local2, ^^^WMID.NTDC) /* \_SB_.PCI0.WMID.NTDC */
  3289.                             Notify (WMID, 0x80) // Status Change
  3290.                         }
  3291.                     }
  3292.  
  3293.                     Method (_Q50, 0, NotSerialized)  // _Qxx: EC Query
  3294.                     {
  3295.                         If (LEqual (^^^WMID.BAEF, One))
  3296.                         {
  3297.                             Store (Zero, Local1)
  3298.                             If (LEqual (LCDS, One))
  3299.                             {
  3300.                                 Store (One, Local1)
  3301.                             }
  3302.  
  3303.                             Store (^^^WMID.LDOF, Local2)
  3304.                             Add (Local2, Local1, Local2)
  3305.                             Store (Local2, ^^^WMID.NTDC) /* \_SB_.PCI0.WMID.NTDC */
  3306.                             Notify (WMID, 0x80) // Status Change
  3307.                         }
  3308.                     }
  3309.                 }
  3310.  
  3311.                 Device (BAT0)
  3312.                 {
  3313.                     Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
  3314.                     Name (_UID, One)  // _UID: Unique ID
  3315.                     Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
  3316.                     {
  3317.                         _SB
  3318.                     })
  3319.                     Name (PBIF, Package (0x0D)
  3320.                     {
  3321.                         One,
  3322.                         0x0FA0,
  3323.                         0x0FA0,
  3324.                         One,
  3325.                         0x39D0,
  3326.                         0x0190,
  3327.                         0x78,
  3328.                         0x0108,
  3329.                         0x0EC4,
  3330.                         "Li_Ion 4000mA ",
  3331.                         "",
  3332.                         "Lion",
  3333.                         "Acer   "
  3334.                     })
  3335.                     Name (PBST, Package (0x04)
  3336.                     {
  3337.                         One,
  3338.                         Ones,
  3339.                         Ones,
  3340.                         0x39D0
  3341.                     })
  3342.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  3343.                     {
  3344.                         If (ECON)
  3345.                         {
  3346.                             If (^^EC0.BAL1)
  3347.                             {
  3348.                                 Sleep (0x64)
  3349.                                 Return (0x1F)
  3350.                             }
  3351.                             Else
  3352.                             {
  3353.                                 Sleep (0x64)
  3354.                                 Return (0x0F)
  3355.                             }
  3356.                         }
  3357.                         Else
  3358.                         {
  3359.                             Sleep (0x64)
  3360.                             Return (0x1F)
  3361.                         }
  3362.                     }
  3363.  
  3364.                     Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
  3365.                     {
  3366.                         If (ECON)
  3367.                         {
  3368.                             Sleep (0x64)
  3369.                             Store (^^EC0.BDC0, Index (PBIF, One))
  3370.                             Sleep (0x64)
  3371.                             Store (^^EC0.BFC0, Index (PBIF, 0x02))
  3372.                             Sleep (0x64)
  3373.                             Store (^^EC0.BDV0, Index (PBIF, 0x04))
  3374.                             Sleep (0x64)
  3375.                             Store (^^EC0.BDC0, Local2)
  3376.                             Divide (Local2, 0x64, Local6, Local2)
  3377.                             Multiply (Local2, 0x05, Local3)
  3378.                             Store (Local3, Index (PBIF, 0x05))
  3379.                             Multiply (Local2, 0x03, Local4)
  3380.                             Store (Local4, Index (PBIF, 0x06))
  3381.                             Store (^^EC0.BTY0, Local1)
  3382.                             Sleep (0x64)
  3383.                             If (LEqual (Local1, One))
  3384.                             {
  3385.                                 Store ("GC86508SAT0 ", Index (PBIF, 0x09))
  3386.                                 Store ("SANYO ", Index (PBIF, 0x0C))
  3387.                             }
  3388.                             Else
  3389.                             {
  3390.                                 If (LEqual (Local1, 0x02))
  3391.                                 {
  3392.                                     Store ("GC86503SY90 ", Index (PBIF, 0x09))
  3393.                                     Store ("SONY ", Index (PBIF, 0x0C))
  3394.                                 }
  3395.                                 Else
  3396.                                 {
  3397.                                     If (LEqual (Local1, 0x04))
  3398.                                     {
  3399.                                         Store ("GC86503PAG0 ", Index (PBIF, 0x09))
  3400.                                         Store ("PANASONIC ", Index (PBIF, 0x0C))
  3401.                                     }
  3402.                                     Else
  3403.                                     {
  3404.                                         If (LEqual (Local1, 0x05))
  3405.                                         {
  3406.                                             Store ("GC86508SM60 ", Index (PBIF, 0x09))
  3407.                                             Store ("SAMSUNG ", Index (PBIF, 0x0C))
  3408.                                         }
  3409.                                         Else
  3410.                                         {
  3411.                                             Store ("BCL3100LiON ", Index (PBIF, 0x09))
  3412.                                             Store ("COMPAL ", Index (PBIF, 0x0C))
  3413.                                         }
  3414.                                     }
  3415.                                 }
  3416.                             }
  3417.                         }
  3418.  
  3419.                         Return (PBIF) /* \_SB_.PCI0.LPC_.BAT0.PBIF */
  3420.                     }
  3421.  
  3422.                     Method (_BST, 0, NotSerialized)  // _BST: Battery Status
  3423.                     {
  3424.                         If (ECON)
  3425.                         {
  3426.                             Sleep (0x64)
  3427.                             Store (^^EC0.BST0, Local0)
  3428.                             And (Local0, 0x07, Local0)
  3429.                             Store (Local0, Index (PBST, Zero))
  3430.                             Sleep (0x64)
  3431.                             Store (^^EC0.GAU0, Local2)
  3432.                             Sleep (0x64)
  3433.                             Store (^^EC0.BPV0, Local3)
  3434.                             Sleep (0x64)
  3435.                             Store (^^EC0.BFC0, Local1)
  3436.                             Sleep (0x64)
  3437.                             If (Local2)
  3438.                             {
  3439.                                 Multiply (Local2, Local1, Local2)
  3440.                                 Divide (Local2, 0x64, Local6, Local2)
  3441.                                 If (Local6)
  3442.                                 {
  3443.                                     Increment (Local2)
  3444.                                 }
  3445.                             }
  3446.  
  3447.                             Store (^^EC0.BAC0, Local1)
  3448.                             If (And (Local1, 0x8000, Local1))
  3449.                             {
  3450.                                 Store (^^EC0.BAC0, Local1)
  3451.                                 Subtract (0xFFFF, Local1, Local1)
  3452.                             }
  3453.                             Else
  3454.                             {
  3455.                                 Store (Zero, Local1)
  3456.                             }
  3457.  
  3458.                             Sleep (0x64)
  3459.                             Store (Local1, Index (PBST, One))
  3460.                             Store (Local2, Index (PBST, 0x02))
  3461.                             Store (Local3, Index (PBST, 0x03))
  3462.                         }
  3463.  
  3464.                         Return (PBST) /* \_SB_.PCI0.LPC_.BAT0.PBST */
  3465.                     }
  3466.                 }
  3467.  
  3468.                 Device (AC)
  3469.                 {
  3470.                     Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
  3471.                     Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
  3472.                     {
  3473.                         _SB
  3474.                     })
  3475.                     Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
  3476.                     {
  3477.                         If (ECON)
  3478.                         {
  3479.                             Store (^^EC0.ADPT, PWRS) /* \PWRS */
  3480.                         }
  3481.  
  3482.                         Return (PWRS) /* \PWRS */
  3483.                     }
  3484.                 }
  3485.  
  3486.                 Device (PWRB)
  3487.                 {
  3488.                     Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
  3489.                 }
  3490.  
  3491.                 Device (LID0)
  3492.                 {
  3493.                     Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
  3494.                     Method (_LID, 0, NotSerialized)  // _LID: Lid Status
  3495.                     {
  3496.                         Return (LPDL) /* \LPDL */
  3497.                     }
  3498.                 }
  3499.  
  3500.                 Device (SLPB)
  3501.                 {
  3502.                     Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
  3503.                 }
  3504.             }
  3505.  
  3506.             Device (UHC1)
  3507.             {
  3508.                 Name (_ADR, 0x001D0000)  // _ADR: Address
  3509.                 Device (HUB1)
  3510.                 {
  3511.                     Name (_ADR, Zero)  // _ADR: Address
  3512.                     Device (PRT1)
  3513.                     {
  3514.                         Name (_ADR, One)  // _ADR: Address
  3515.                     }
  3516.  
  3517.                     Device (PRT2)
  3518.                     {
  3519.                         Name (_ADR, 0x02)  // _ADR: Address
  3520.                         Name (_EJD, "\\_SB.PCI0.EXP1.PXS1")  // _EJD: Ejection Dependent Device
  3521.                     }
  3522.                 }
  3523.  
  3524.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3525.                 {
  3526.                     0x03,
  3527.                     0x03
  3528.                 })
  3529.                 OperationRegion (USBR, PCI_Config, 0xC4, One)
  3530.                 Field (USBR, AnyAcc, NoLock, Preserve)
  3531.                 {
  3532.                     URES,   8
  3533.                 }
  3534.  
  3535.                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
  3536.                 {
  3537.                     If (LEqual (Arg0, Zero))
  3538.                     {
  3539.                         Store (Zero, URES) /* \_SB_.PCI0.UHC1.URES */
  3540.                     }
  3541.  
  3542.                     If (LEqual (Arg0, One))
  3543.                     {
  3544.                         Store (0x03, URES) /* \_SB_.PCI0.UHC1.URES */
  3545.                     }
  3546.                 }
  3547.             }
  3548.  
  3549.             Device (UHC2)
  3550.             {
  3551.                 Name (_ADR, 0x001D0001)  // _ADR: Address
  3552.                 Device (HUB2)
  3553.                 {
  3554.                     Name (_ADR, Zero)  // _ADR: Address
  3555.                     Device (PRT1)
  3556.                     {
  3557.                         Name (_ADR, One)  // _ADR: Address
  3558.                     }
  3559.  
  3560.                     Device (PRT2)
  3561.                     {
  3562.                         Name (_ADR, 0x02)  // _ADR: Address
  3563.                     }
  3564.                 }
  3565.  
  3566.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3567.                 {
  3568.                     0x04,
  3569.                     0x03
  3570.                 })
  3571.                 OperationRegion (USBR, PCI_Config, 0xC4, One)
  3572.                 Field (USBR, AnyAcc, NoLock, Preserve)
  3573.                 {
  3574.                     URES,   8
  3575.                 }
  3576.  
  3577.                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
  3578.                 {
  3579.                     If (LEqual (Arg0, Zero))
  3580.                     {
  3581.                         Store (Zero, URES) /* \_SB_.PCI0.UHC2.URES */
  3582.                     }
  3583.  
  3584.                     If (LEqual (Arg0, One))
  3585.                     {
  3586.                         Store (One, URES) /* \_SB_.PCI0.UHC2.URES */
  3587.                     }
  3588.                 }
  3589.             }
  3590.  
  3591.             Device (UHC3)
  3592.             {
  3593.                 Name (_ADR, 0x001D0002)  // _ADR: Address
  3594.                 Device (HUB3)
  3595.                 {
  3596.                     Name (_ADR, Zero)  // _ADR: Address
  3597.                     Device (PRT1)
  3598.                     {
  3599.                         Name (_ADR, One)  // _ADR: Address
  3600.                     }
  3601.  
  3602.                     Device (PRT2)
  3603.                     {
  3604.                         Name (_ADR, 0x02)  // _ADR: Address
  3605.                     }
  3606.                 }
  3607.  
  3608.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3609.                 {
  3610.                     0x0C,
  3611.                     0x03
  3612.                 })
  3613.                 OperationRegion (USBR, PCI_Config, 0xC4, One)
  3614.                 Field (USBR, AnyAcc, NoLock, Preserve)
  3615.                 {
  3616.                     URES,   8
  3617.                 }
  3618.  
  3619.                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
  3620.                 {
  3621.                     If (LEqual (Arg0, Zero))
  3622.                     {
  3623.                         Store (Zero, URES) /* \_SB_.PCI0.UHC3.URES */
  3624.                     }
  3625.  
  3626.                     If (LEqual (Arg0, One))
  3627.                     {
  3628.                         Store (One, URES) /* \_SB_.PCI0.UHC3.URES */
  3629.                     }
  3630.                 }
  3631.             }
  3632.  
  3633.             Device (UHC4)
  3634.             {
  3635.                 Name (_ADR, 0x001A0000)  // _ADR: Address
  3636.                 Device (HUB4)
  3637.                 {
  3638.                     Name (_ADR, Zero)  // _ADR: Address
  3639.                     Device (PRT1)
  3640.                     {
  3641.                         Name (_ADR, One)  // _ADR: Address
  3642.                     }
  3643.  
  3644.                     Device (PRT2)
  3645.                     {
  3646.                         Name (_ADR, 0x02)  // _ADR: Address
  3647.                     }
  3648.                 }
  3649.  
  3650.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3651.                 {
  3652.                     0x0E,
  3653.                     0x03
  3654.                 })
  3655.                 OperationRegion (USBR, PCI_Config, 0xC4, One)
  3656.                 Field (USBR, AnyAcc, NoLock, Preserve)
  3657.                 {
  3658.                     URES,   8
  3659.                 }
  3660.  
  3661.                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
  3662.                 {
  3663.                     If (LEqual (Arg0, Zero))
  3664.                     {
  3665.                         Store (Zero, URES) /* \_SB_.PCI0.UHC4.URES */
  3666.                     }
  3667.  
  3668.                     If (LEqual (Arg0, One))
  3669.                     {
  3670.                         Store (One, URES) /* \_SB_.PCI0.UHC4.URES */
  3671.                     }
  3672.                 }
  3673.             }
  3674.  
  3675.             Device (UHC5)
  3676.             {
  3677.                 Name (_ADR, 0x001A0001)  // _ADR: Address
  3678.                 Device (HUB5)
  3679.                 {
  3680.                     Name (_ADR, Zero)  // _ADR: Address
  3681.                     Device (PRT1)
  3682.                     {
  3683.                         Name (_ADR, One)  // _ADR: Address
  3684.                     }
  3685.  
  3686.                     Device (PRT2)
  3687.                     {
  3688.                         Name (_ADR, 0x02)  // _ADR: Address
  3689.                     }
  3690.                 }
  3691.  
  3692.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3693.                 {
  3694.                     0x05,
  3695.                     0x03
  3696.                 })
  3697.                 OperationRegion (USBR, PCI_Config, 0xC4, One)
  3698.                 Field (USBR, AnyAcc, NoLock, Preserve)
  3699.                 {
  3700.                     URES,   8
  3701.                 }
  3702.  
  3703.                 Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
  3704.                 {
  3705.                     If (LEqual (Arg0, Zero))
  3706.                     {
  3707.                         Store (Zero, URES) /* \_SB_.PCI0.UHC5.URES */
  3708.                     }
  3709.  
  3710.                     If (LEqual (Arg0, One))
  3711.                     {
  3712.                         Store (0x03, URES) /* \_SB_.PCI0.UHC5.URES */
  3713.                     }
  3714.                 }
  3715.             }
  3716.  
  3717.             Device (EHC1)
  3718.             {
  3719.                 Name (_ADR, 0x001D0007)  // _ADR: Address
  3720.                 OperationRegion (U7CS, PCI_Config, 0x54, 0x04)
  3721.                 Field (U7CS, DWordAcc, NoLock, Preserve)
  3722.                 {
  3723.                         ,   15,
  3724.                     PMES,   1
  3725.                 }
  3726.  
  3727.                 Device (HUB7)
  3728.                 {
  3729.                     Name (_ADR, Zero)  // _ADR: Address
  3730.                     Device (PRT1)
  3731.                     {
  3732.                         Name (_ADR, One)  // _ADR: Address
  3733.                     }
  3734.  
  3735.                     Device (PRT2)
  3736.                     {
  3737.                         Name (_ADR, 0x02)  // _ADR: Address
  3738.                         Name (_EJD, "\\_SB.PCI0.EXP1.PXS1")  // _EJD: Ejection Dependent Device
  3739.                     }
  3740.  
  3741.                     Device (PRT3)
  3742.                     {
  3743.                         Name (_ADR, 0x03)  // _ADR: Address
  3744.                     }
  3745.  
  3746.                     Device (PRT4)
  3747.                     {
  3748.                         Name (_ADR, 0x04)  // _ADR: Address
  3749.                     }
  3750.  
  3751.                     Device (PRT5)
  3752.                     {
  3753.                         Name (_ADR, 0x05)  // _ADR: Address
  3754.                     }
  3755.  
  3756.                     Device (PRT6)
  3757.                     {
  3758.                         Name (_ADR, 0x06)  // _ADR: Address
  3759.                     }
  3760.                 }
  3761.  
  3762.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3763.                 {
  3764.                     0x0D,
  3765.                     0x03
  3766.                 })
  3767.                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
  3768.                 {
  3769.                     Return (0x02)
  3770.                 }
  3771.  
  3772.                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
  3773.                 {
  3774.                     Return (0x02)
  3775.                 }
  3776.             }
  3777.  
  3778.             Device (EHC2)
  3779.             {
  3780.                 Name (_ADR, 0x001A0007)  // _ADR: Address
  3781.                 OperationRegion (UFCS, PCI_Config, 0x54, 0x04)
  3782.                 Field (UFCS, DWordAcc, NoLock, Preserve)
  3783.                 {
  3784.                         ,   15,
  3785.                     PMES,   1
  3786.                 }
  3787.  
  3788.                 Device (HUB7)
  3789.                 {
  3790.                     Name (_ADR, Zero)  // _ADR: Address
  3791.                     Device (PRT1)
  3792.                     {
  3793.                         Name (_ADR, One)  // _ADR: Address
  3794.                     }
  3795.  
  3796.                     Device (PRT2)
  3797.                     {
  3798.                         Name (_ADR, 0x02)  // _ADR: Address
  3799.                         Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  3800.                         {
  3801.                             Return (Zero)
  3802.                         }
  3803.                     }
  3804.  
  3805.                     Device (PRT3)
  3806.                     {
  3807.                         Name (_ADR, 0x03)  // _ADR: Address
  3808.                         Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  3809.                         {
  3810.                             Return (Zero)
  3811.                         }
  3812.                     }
  3813.  
  3814.                     Device (PRT4)
  3815.                     {
  3816.                         Name (_ADR, 0x04)  // _ADR: Address
  3817.                         Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  3818.                         {
  3819.                             Return (Zero)
  3820.                         }
  3821.                     }
  3822.                 }
  3823.  
  3824.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3825.                 {
  3826.                     0x0D,
  3827.                     0x03
  3828.                 })
  3829.                 Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
  3830.                 {
  3831.                     Return (0x02)
  3832.                 }
  3833.  
  3834.                 Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
  3835.                 {
  3836.                     Return (0x02)
  3837.                 }
  3838.             }
  3839.  
  3840.             Device (EXP1)
  3841.             {
  3842.                 Name (_ADR, 0x001C0000)  // _ADR: Address
  3843.                 OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)
  3844.                 Field (P1CS, AnyAcc, NoLock, Preserve)
  3845.                 {
  3846.                     Offset (0x10),
  3847.                         ,   4,
  3848.                     LKD1,   1,
  3849.                     Offset (0x1A),
  3850.                     ABP1,   1,
  3851.                         ,   2,
  3852.                     PDC1,   1,
  3853.                         ,   2,
  3854.                     PDS1,   1,
  3855.                     Offset (0x20),
  3856.                     RID1,   16,
  3857.                     PSP1,   1,
  3858.                     PPP1,   1,
  3859.                     Offset (0x9C),
  3860.                         ,   30,
  3861.                     HPCS,   1,
  3862.                     PMCS,   1
  3863.                 }
  3864.  
  3865.                 Device (PXS1)
  3866.                 {
  3867.                     Name (_ADR, Zero)  // _ADR: Address
  3868.                     OperationRegion (P1FG, PCI_Config, Zero, 0x08)
  3869.                     Field (P1FG, DWordAcc, NoLock, Preserve)
  3870.                     {
  3871.                         P1ID,   32
  3872.                     }
  3873.  
  3874.                     Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  3875.                     {
  3876.                         Return (One)
  3877.                     }
  3878.  
  3879.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  3880.                     {
  3881.                         If (LEqual (P1ID, Ones))
  3882.                         {
  3883.                             Return (Zero)
  3884.                         }
  3885.                         Else
  3886.                         {
  3887.                             Return (0x0F)
  3888.                         }
  3889.                     }
  3890.  
  3891.                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3892.                     {
  3893.                         0x09,
  3894.                         0x04
  3895.                     })
  3896.                     Name (_EJD, "\\_SB.PCI0.EHC1.HUB7.PRT2")  // _EJD: Ejection Dependent Device
  3897.                     Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  3898.                     {
  3899.                         If (LEqual (GPIC, Zero))
  3900.                         {
  3901.                             Return (Package (0x04)
  3902.                             {
  3903.                                 Package (0x04)
  3904.                                 {
  3905.                                     0xFFFF,
  3906.                                     Zero,
  3907.                                     ^^^LPC.LNKA,
  3908.                                     Zero
  3909.                                 },
  3910.  
  3911.                                 Package (0x04)
  3912.                                 {
  3913.                                     0xFFFF,
  3914.                                     One,
  3915.                                     ^^^LPC.LNKB,
  3916.                                     Zero
  3917.                                 },
  3918.  
  3919.                                 Package (0x04)
  3920.                                 {
  3921.                                     0xFFFF,
  3922.                                     0x02,
  3923.                                     ^^^LPC.LNKC,
  3924.                                     Zero
  3925.                                 },
  3926.  
  3927.                                 Package (0x04)
  3928.                                 {
  3929.                                     0xFFFF,
  3930.                                     0x03,
  3931.                                     ^^^LPC.LNKD,
  3932.                                     Zero
  3933.                                 }
  3934.                             })
  3935.                         }
  3936.                         Else
  3937.                         {
  3938.                             Return (Package (0x04)
  3939.                             {
  3940.                                 Package (0x04)
  3941.                                 {
  3942.                                     0xFFFF,
  3943.                                     Zero,
  3944.                                     Zero,
  3945.                                     0x10
  3946.                                 },
  3947.  
  3948.                                 Package (0x04)
  3949.                                 {
  3950.                                     0xFFFF,
  3951.                                     One,
  3952.                                     Zero,
  3953.                                     0x11
  3954.                                 },
  3955.  
  3956.                                 Package (0x04)
  3957.                                 {
  3958.                                     0xFFFF,
  3959.                                     0x02,
  3960.                                     Zero,
  3961.                                     0x12
  3962.                                 },
  3963.  
  3964.                                 Package (0x04)
  3965.                                 {
  3966.                                     0xFFFF,
  3967.                                     0x03,
  3968.                                     Zero,
  3969.                                     0x13
  3970.                                 }
  3971.                             })
  3972.                         }
  3973.                     }
  3974.                 }
  3975.             }
  3976.  
  3977.             Device (EXP2)
  3978.             {
  3979.                 Name (_ADR, 0x001C0001)  // _ADR: Address
  3980.                 OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)
  3981.                 Field (P2CS, AnyAcc, NoLock, Preserve)
  3982.                 {
  3983.                     Offset (0x10),
  3984.                         ,   4,
  3985.                     LKD2,   1,
  3986.                     Offset (0x1A),
  3987.                     ABP2,   1,
  3988.                         ,   2,
  3989.                     PDC2,   1,
  3990.                         ,   2,
  3991.                     PDS2,   1,
  3992.                     Offset (0x20),
  3993.                     RID2,   16,
  3994.                     PSP2,   1,
  3995.                     PPP2,   1,
  3996.                     Offset (0x9C),
  3997.                         ,   30,
  3998.                     HPCS,   1,
  3999.                     PMCS,   1
  4000.                 }
  4001.  
  4002.                 Device (PXS2)
  4003.                 {
  4004.                     Name (_ADR, Zero)  // _ADR: Address
  4005.                 }
  4006.  
  4007.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  4008.                 {
  4009.                     If (LEqual (GPIC, Zero))
  4010.                     {
  4011.                         Return (Package (0x04)
  4012.                         {
  4013.                             Package (0x04)
  4014.                             {
  4015.                                 0xFFFF,
  4016.                                 Zero,
  4017.                                 ^^LPC.LNKB,
  4018.                                 Zero
  4019.                             },
  4020.  
  4021.                             Package (0x04)
  4022.                             {
  4023.                                 0xFFFF,
  4024.                                 One,
  4025.                                 ^^LPC.LNKC,
  4026.                                 Zero
  4027.                             },
  4028.  
  4029.                             Package (0x04)
  4030.                             {
  4031.                                 0xFFFF,
  4032.                                 0x02,
  4033.                                 ^^LPC.LNKD,
  4034.                                 Zero
  4035.                             },
  4036.  
  4037.                             Package (0x04)
  4038.                             {
  4039.                                 0xFFFF,
  4040.                                 0x03,
  4041.                                 ^^LPC.LNKA,
  4042.                                 Zero
  4043.                             }
  4044.                         })
  4045.                     }
  4046.                     Else
  4047.                     {
  4048.                         Return (Package (0x04)
  4049.                         {
  4050.                             Package (0x04)
  4051.                             {
  4052.                                 0xFFFF,
  4053.                                 Zero,
  4054.                                 Zero,
  4055.                                 0x11
  4056.                             },
  4057.  
  4058.                             Package (0x04)
  4059.                             {
  4060.                                 0xFFFF,
  4061.                                 One,
  4062.                                 Zero,
  4063.                                 0x12
  4064.                             },
  4065.  
  4066.                             Package (0x04)
  4067.                             {
  4068.                                 0xFFFF,
  4069.                                 0x02,
  4070.                                 Zero,
  4071.                                 0x13
  4072.                             },
  4073.  
  4074.                             Package (0x04)
  4075.                             {
  4076.                                 0xFFFF,
  4077.                                 0x03,
  4078.                                 Zero,
  4079.                                 0x10
  4080.                             }
  4081.                         })
  4082.                     }
  4083.                 }
  4084.             }
  4085.  
  4086.             Device (EXP3)
  4087.             {
  4088.                 Name (_ADR, 0x001C0002)  // _ADR: Address
  4089.                 OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
  4090.                 Field (P3CS, AnyAcc, NoLock, Preserve)
  4091.                 {
  4092.                     Offset (0x10),
  4093.                         ,   4,
  4094.                     LKD3,   1,
  4095.                     Offset (0x1A),
  4096.                     ABP3,   1,
  4097.                         ,   2,
  4098.                     PDC3,   1,
  4099.                         ,   2,
  4100.                     PDS3,   1,
  4101.                     Offset (0x20),
  4102.                     RID3,   16,
  4103.                     PSP3,   1,
  4104.                     PPP3,   1,
  4105.                     Offset (0x9C),
  4106.                         ,   30,
  4107.                     HPCS,   1,
  4108.                     PMCS,   1
  4109.                 }
  4110.  
  4111.                 Device (PXS3)
  4112.                 {
  4113.                     Name (_ADR, Zero)  // _ADR: Address
  4114.                 }
  4115.  
  4116.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  4117.                 {
  4118.                     0x09,
  4119.                     0x04
  4120.                 })
  4121.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  4122.                 {
  4123.                     If (LEqual (GPIC, Zero))
  4124.                     {
  4125.                         Return (Package (0x04)
  4126.                         {
  4127.                             Package (0x04)
  4128.                             {
  4129.                                 0xFFFF,
  4130.                                 Zero,
  4131.                                 ^^LPC.LNKC,
  4132.                                 Zero
  4133.                             },
  4134.  
  4135.                             Package (0x04)
  4136.                             {
  4137.                                 0xFFFF,
  4138.                                 One,
  4139.                                 ^^LPC.LNKD,
  4140.                                 Zero
  4141.                             },
  4142.  
  4143.                             Package (0x04)
  4144.                             {
  4145.                                 0xFFFF,
  4146.                                 0x02,
  4147.                                 ^^LPC.LNKA,
  4148.                                 Zero
  4149.                             },
  4150.  
  4151.                             Package (0x04)
  4152.                             {
  4153.                                 0xFFFF,
  4154.                                 0x03,
  4155.                                 ^^LPC.LNKB,
  4156.                                 Zero
  4157.                             }
  4158.                         })
  4159.                     }
  4160.                     Else
  4161.                     {
  4162.                         Return (Package (0x04)
  4163.                         {
  4164.                             Package (0x04)
  4165.                             {
  4166.                                 0xFFFF,
  4167.                                 Zero,
  4168.                                 Zero,
  4169.                                 0x12
  4170.                             },
  4171.  
  4172.                             Package (0x04)
  4173.                             {
  4174.                                 0xFFFF,
  4175.                                 One,
  4176.                                 Zero,
  4177.                                 0x13
  4178.                             },
  4179.  
  4180.                             Package (0x04)
  4181.                             {
  4182.                                 0xFFFF,
  4183.                                 0x02,
  4184.                                 Zero,
  4185.                                 0x10
  4186.                             },
  4187.  
  4188.                             Package (0x04)
  4189.                             {
  4190.                                 0xFFFF,
  4191.                                 0x03,
  4192.                                 Zero,
  4193.                                 0x11
  4194.                             }
  4195.                         })
  4196.                     }
  4197.                 }
  4198.             }
  4199.  
  4200.             Device (EXP4)
  4201.             {
  4202.                 Name (_ADR, 0x001C0003)  // _ADR: Address
  4203.                 OperationRegion (P4CS, PCI_Config, 0x40, 0x0100)
  4204.                 Field (P4CS, AnyAcc, NoLock, Preserve)
  4205.                 {
  4206.                     Offset (0x10),
  4207.                         ,   4,
  4208.                     LKD4,   1,
  4209.                     Offset (0x1A),
  4210.                     ABP4,   1,
  4211.                         ,   2,
  4212.                     PDC4,   1,
  4213.                         ,   2,
  4214.                     PDS4,   1,
  4215.                     Offset (0x20),
  4216.                     RID4,   16,
  4217.                     PSP4,   1,
  4218.                     PPP4,   1,
  4219.                     Offset (0x9C),
  4220.                         ,   30,
  4221.                     HPCS,   1,
  4222.                     PMCS,   1
  4223.                 }
  4224.  
  4225.                 Device (PXS4)
  4226.                 {
  4227.                     Name (_ADR, Zero)  // _ADR: Address
  4228.                 }
  4229.  
  4230.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  4231.                 {
  4232.                     If (LEqual (GPIC, Zero))
  4233.                     {
  4234.                         Return (Package (0x04)
  4235.                         {
  4236.                             Package (0x04)
  4237.                             {
  4238.                                 0xFFFF,
  4239.                                 Zero,
  4240.                                 ^^LPC.LNKD,
  4241.                                 Zero
  4242.                             },
  4243.  
  4244.                             Package (0x04)
  4245.                             {
  4246.                                 0xFFFF,
  4247.                                 One,
  4248.                                 ^^LPC.LNKA,
  4249.                                 Zero
  4250.                             },
  4251.  
  4252.                             Package (0x04)
  4253.                             {
  4254.                                 0xFFFF,
  4255.                                 0x02,
  4256.                                 ^^LPC.LNKB,
  4257.                                 Zero
  4258.                             },
  4259.  
  4260.                             Package (0x04)
  4261.                             {
  4262.                                 0xFFFF,
  4263.                                 0x03,
  4264.                                 ^^LPC.LNKC,
  4265.                                 Zero
  4266.                             }
  4267.                         })
  4268.                     }
  4269.                     Else
  4270.                     {
  4271.                         Return (Package (0x04)
  4272.                         {
  4273.                             Package (0x04)
  4274.                             {
  4275.                                 0xFFFF,
  4276.                                 Zero,
  4277.                                 Zero,
  4278.                                 0x13
  4279.                             },
  4280.  
  4281.                             Package (0x04)
  4282.                             {
  4283.                                 0xFFFF,
  4284.                                 One,
  4285.                                 Zero,
  4286.                                 0x10
  4287.                             },
  4288.  
  4289.                             Package (0x04)
  4290.                             {
  4291.                                 0xFFFF,
  4292.                                 0x02,
  4293.                                 Zero,
  4294.                                 0x11
  4295.                             },
  4296.  
  4297.                             Package (0x04)
  4298.                             {
  4299.                                 0xFFFF,
  4300.                                 0x03,
  4301.                                 Zero,
  4302.                                 0x12
  4303.                             }
  4304.                         })
  4305.                     }
  4306.                 }
  4307.             }
  4308.  
  4309.             Device (EXP5)
  4310.             {
  4311.                 Name (_ADR, 0x001C0004)  // _ADR: Address
  4312.                 OperationRegion (P5CS, PCI_Config, 0x40, 0x0100)
  4313.                 Field (P5CS, AnyAcc, NoLock, Preserve)
  4314.                 {
  4315.                     Offset (0x10),
  4316.                         ,   4,
  4317.                     LKD5,   1,
  4318.                     Offset (0x1A),
  4319.                     ABP5,   1,
  4320.                         ,   2,
  4321.                     PDC5,   1,
  4322.                         ,   2,
  4323.                     PDS5,   1,
  4324.                     Offset (0x20),
  4325.                     RID5,   16,
  4326.                     PSP5,   1,
  4327.                     PPP5,   1,
  4328.                     Offset (0x9C),
  4329.                         ,   30,
  4330.                     HPCS,   1,
  4331.                     PMCS,   1
  4332.                 }
  4333.  
  4334.                 Device (PXS5)
  4335.                 {
  4336.                     Name (_ADR, Zero)  // _ADR: Address
  4337.                     Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  4338.                     {
  4339.                         Return (One)
  4340.                     }
  4341.                 }
  4342.  
  4343.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  4344.                 {
  4345.                     0x09,
  4346.                     0x04
  4347.                 })
  4348.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  4349.                 {
  4350.                     If (LEqual (GPIC, Zero))
  4351.                     {
  4352.                         Return (Package (0x04)
  4353.                         {
  4354.                             Package (0x04)
  4355.                             {
  4356.                                 0xFFFF,
  4357.                                 Zero,
  4358.                                 ^^LPC.LNKA,
  4359.                                 Zero
  4360.                             },
  4361.  
  4362.                             Package (0x04)
  4363.                             {
  4364.                                 0xFFFF,
  4365.                                 One,
  4366.                                 ^^LPC.LNKB,
  4367.                                 Zero
  4368.                             },
  4369.  
  4370.                             Package (0x04)
  4371.                             {
  4372.                                 0xFFFF,
  4373.                                 0x02,
  4374.                                 ^^LPC.LNKC,
  4375.                                 Zero
  4376.                             },
  4377.  
  4378.                             Package (0x04)
  4379.                             {
  4380.                                 0xFFFF,
  4381.                                 0x03,
  4382.                                 ^^LPC.LNKD,
  4383.                                 Zero
  4384.                             }
  4385.                         })
  4386.                     }
  4387.                     Else
  4388.                     {
  4389.                         Return (Package (0x04)
  4390.                         {
  4391.                             Package (0x04)
  4392.                             {
  4393.                                 0xFFFF,
  4394.                                 Zero,
  4395.                                 Zero,
  4396.                                 0x10
  4397.                             },
  4398.  
  4399.                             Package (0x04)
  4400.                             {
  4401.                                 0xFFFF,
  4402.                                 One,
  4403.                                 Zero,
  4404.                                 0x11
  4405.                             },
  4406.  
  4407.                             Package (0x04)
  4408.                             {
  4409.                                 0xFFFF,
  4410.                                 0x02,
  4411.                                 Zero,
  4412.                                 0x12
  4413.                             },
  4414.  
  4415.                             Package (0x04)
  4416.                             {
  4417.                                 0xFFFF,
  4418.                                 0x03,
  4419.                                 Zero,
  4420.                                 0x13
  4421.                             }
  4422.                         })
  4423.                     }
  4424.                 }
  4425.             }
  4426.  
  4427.             Device (EXP6)
  4428.             {
  4429.                 Name (_ADR, 0x001C0005)  // _ADR: Address
  4430.                 OperationRegion (P6CS, PCI_Config, 0x40, 0x0100)
  4431.                 Field (P6CS, AnyAcc, NoLock, Preserve)
  4432.                 {
  4433.                     Offset (0x10),
  4434.                         ,   4,
  4435.                     LKD6,   1,
  4436.                     Offset (0x1A),
  4437.                     ABP6,   1,
  4438.                         ,   2,
  4439.                     PDC6,   1,
  4440.                         ,   2,
  4441.                     PDS6,   1,
  4442.                     Offset (0x20),
  4443.                     RID6,   16,
  4444.                     PSP6,   1,
  4445.                     PPP6,   1,
  4446.                     Offset (0x9C),
  4447.                         ,   30,
  4448.                     HPCS,   1,
  4449.                     PMCS,   1
  4450.                 }
  4451.  
  4452.                 Device (PXS6)
  4453.                 {
  4454.                     Name (_ADR, Zero)  // _ADR: Address
  4455.                     Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  4456.                     {
  4457.                         Return (One)
  4458.                     }
  4459.                 }
  4460.  
  4461.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  4462.                 {
  4463.                     0x09,
  4464.                     0x04
  4465.                 })
  4466.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  4467.                 {
  4468.                     If (LEqual (GPIC, Zero))
  4469.                     {
  4470.                         Return (Package (0x04)
  4471.                         {
  4472.                             Package (0x04)
  4473.                             {
  4474.                                 0xFFFF,
  4475.                                 Zero,
  4476.                                 ^^LPC.LNKB,
  4477.                                 Zero
  4478.                             },
  4479.  
  4480.                             Package (0x04)
  4481.                             {
  4482.                                 0xFFFF,
  4483.                                 One,
  4484.                                 ^^LPC.LNKC,
  4485.                                 Zero
  4486.                             },
  4487.  
  4488.                             Package (0x04)
  4489.                             {
  4490.                                 0xFFFF,
  4491.                                 0x02,
  4492.                                 ^^LPC.LNKD,
  4493.                                 Zero
  4494.                             },
  4495.  
  4496.                             Package (0x04)
  4497.                             {
  4498.                                 0xFFFF,
  4499.                                 0x03,
  4500.                                 ^^LPC.LNKA,
  4501.                                 Zero
  4502.                             }
  4503.                         })
  4504.                     }
  4505.                     Else
  4506.                     {
  4507.                         Return (Package (0x04)
  4508.                         {
  4509.                             Package (0x04)
  4510.                             {
  4511.                                 0xFFFF,
  4512.                                 Zero,
  4513.                                 Zero,
  4514.                                 0x11
  4515.                             },
  4516.  
  4517.                             Package (0x04)
  4518.                             {
  4519.                                 0xFFFF,
  4520.                                 One,
  4521.                                 Zero,
  4522.                                 0x12
  4523.                             },
  4524.  
  4525.                             Package (0x04)
  4526.                             {
  4527.                                 0xFFFF,
  4528.                                 0x02,
  4529.                                 Zero,
  4530.                                 0x13
  4531.                             },
  4532.  
  4533.                             Package (0x04)
  4534.                             {
  4535.                                 0xFFFF,
  4536.                                 0x03,
  4537.                                 Zero,
  4538.                                 0x10
  4539.                             }
  4540.                         })
  4541.                     }
  4542.                 }
  4543.             }
  4544.  
  4545.             Device (AZAL)
  4546.             {
  4547.                 Name (_ADR, 0x001B0000)  // _ADR: Address
  4548.                 OperationRegion (HDCS, PCI_Config, 0x54, 0x04)
  4549.                 Field (HDCS, DWordAcc, NoLock, Preserve)
  4550.                 {
  4551.                         ,   15,
  4552.                     PMES,   1
  4553.                 }
  4554.  
  4555.                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
  4556.                 {
  4557.                     If (LEqual (WKMD, One))
  4558.                     {
  4559.                         Return (Package (0x02)
  4560.                         {
  4561.                             0x0D,
  4562.                             0x04
  4563.                         })
  4564.                     }
  4565.                     Else
  4566.                     {
  4567.                         Return (Package (0x02)
  4568.                         {
  4569.                             0x0D,
  4570.                             Zero
  4571.                         })
  4572.                     }
  4573.                 }
  4574.             }
  4575.  
  4576.             Device (AUDO)
  4577.             {
  4578.                 Name (_ADR, 0x001E0002)  // _ADR: Address
  4579.             }
  4580.  
  4581.             Device (MODM)
  4582.             {
  4583.                 Name (_ADR, 0x001E0003)  // _ADR: Address
  4584.                 Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
  4585.                 {
  4586.                     If (LEqual (WKMD, One))
  4587.                     {
  4588.                         Return (Package (0x02)
  4589.                         {
  4590.                             0x05,
  4591.                             0x04
  4592.                         })
  4593.                     }
  4594.                     Else
  4595.                     {
  4596.                         Return (Package (0x02)
  4597.                         {
  4598.                             0x05,
  4599.                             Zero
  4600.                         })
  4601.                     }
  4602.                 }
  4603.             }
  4604.  
  4605.             Device (PEGP)
  4606.             {
  4607.                 Name (_ADR, 0x00010000)  // _ADR: Address
  4608.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  4609.                 {
  4610.                     If (LEqual (GPIC, Zero))
  4611.                     {
  4612.                         Return (Package (0x04)
  4613.                         {
  4614.                             Package (0x04)
  4615.                             {
  4616.                                 0xFFFF,
  4617.                                 Zero,
  4618.                                 ^^LPC.LNKA,
  4619.                                 Zero
  4620.                             },
  4621.  
  4622.                             Package (0x04)
  4623.                             {
  4624.                                 0xFFFF,
  4625.                                 One,
  4626.                                 ^^LPC.LNKE,
  4627.                                 Zero
  4628.                             },
  4629.  
  4630.                             Package (0x04)
  4631.                             {
  4632.                                 0xFFFF,
  4633.                                 One,
  4634.                                 ^^LPC.LNKC,
  4635.                                 Zero
  4636.                             },
  4637.  
  4638.                             Package (0x04)
  4639.                             {
  4640.                                 0xFFFF,
  4641.                                 One,
  4642.                                 ^^LPC.LNKD,
  4643.                                 Zero
  4644.                             }
  4645.                         })
  4646.                     }
  4647.                     Else
  4648.                     {
  4649.                         Return (Package (0x04)
  4650.                         {
  4651.                             Package (0x04)
  4652.                             {
  4653.                                 0xFFFF,
  4654.                                 Zero,
  4655.                                 Zero,
  4656.                                 0x10
  4657.                             },
  4658.  
  4659.                             Package (0x04)
  4660.                             {
  4661.                                 0xFFFF,
  4662.                                 One,
  4663.                                 Zero,
  4664.                                 0x14
  4665.                             },
  4666.  
  4667.                             Package (0x04)
  4668.                             {
  4669.                                 0xFFFF,
  4670.                                 0x02,
  4671.                                 Zero,
  4672.                                 0x12
  4673.                             },
  4674.  
  4675.                             Package (0x04)
  4676.                             {
  4677.                                 0xFFFF,
  4678.                                 0x03,
  4679.                                 Zero,
  4680.                                 0x13
  4681.                             }
  4682.                         })
  4683.                     }
  4684.                 }
  4685.  
  4686.                 Device (VGA)
  4687.                 {
  4688.                     Name (_ADR, Zero)  // _ADR: Address
  4689.                     Name (SWIT, One)
  4690.                     Name (CRTA, One)
  4691.                     Name (LCDA, One)
  4692.                     Name (TVAA, One)
  4693.                     Name (VLDF, One)
  4694.                     OperationRegion (VIDS, PCI_Config, Zero, 0xC8)
  4695.                     Field (VIDS, DWordAcc, NoLock, Preserve)
  4696.                     {
  4697.                         VDID,   32
  4698.                     }
  4699.  
  4700.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  4701.                     {
  4702.                         Return (0x0F)
  4703.                     }
  4704.  
  4705.                     Name (_PSC, Zero)  // _PSC: Power State Current
  4706.                     Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
  4707.                     {
  4708.                         Store (Zero, _PSC) /* \_SB_.PCI0.PEGP.VGA_._PSC */
  4709.                     }
  4710.  
  4711.                     Method (_PS1, 0, NotSerialized)  // _PS1: Power State 1
  4712.                     {
  4713.                         Store (One, _PSC) /* \_SB_.PCI0.PEGP.VGA_._PSC */
  4714.                     }
  4715.  
  4716.                     Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
  4717.                     {
  4718.                         Store (0x03, _PSC) /* \_SB_.PCI0.PEGP.VGA_._PSC */
  4719.                     }
  4720.  
  4721.                     Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
  4722.                     {
  4723.                         Store (And (Arg0, 0x03), SWIT) /* \_SB_.PCI0.PEGP.VGA_.SWIT */
  4724.                     }
  4725.  
  4726.                     Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
  4727.                     {
  4728.                         Return (Package (0x03)
  4729.                         {
  4730.                             0x00010100,
  4731.                             0x00010110,
  4732.                             0x0200
  4733.                         })
  4734.                     }
  4735.  
  4736.                     Device (CRT)
  4737.                     {
  4738.                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
  4739.                         {
  4740.                             Return (0x0100)
  4741.                         }
  4742.  
  4743.                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  4744.                         {
  4745.                             OSMI (0x90)
  4746.                             Store (CADL, Local0)
  4747.                             Store (CSTE, Local1)
  4748.                             And (Local0, 0x02, Local0)
  4749.                             And (Local1, 0x02, Local1)
  4750.                             If (Local0)
  4751.                             {
  4752.                                 Store (One, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  4753.                             }
  4754.                             Else
  4755.                             {
  4756.                                 Store (Zero, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  4757.                             }
  4758.  
  4759.                             If (CRTA)
  4760.                             {
  4761.                                 If (LEqual (Local1, 0x02))
  4762.                                 {
  4763.                                     Return (0x1F)
  4764.                                 }
  4765.                                 Else
  4766.                                 {
  4767.                                     Return (0x1D)
  4768.                                 }
  4769.                             }
  4770.                             Else
  4771.                             {
  4772.                                 If (LEqual (Local1, 0x02))
  4773.                                 {
  4774.                                     Return (0x0F)
  4775.                                 }
  4776.                                 Else
  4777.                                 {
  4778.                                     Return (0x0D)
  4779.                                 }
  4780.                             }
  4781.                         }
  4782.  
  4783.                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  4784.                         {
  4785.                             If (CRTA)
  4786.                             {
  4787.                                 Return (One)
  4788.                             }
  4789.                             Else
  4790.                             {
  4791.                                 Return (Zero)
  4792.                             }
  4793.                         }
  4794.  
  4795.                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  4796.                         {
  4797.                         }
  4798.  
  4799.                         Method (MXMX, 1, NotSerialized)
  4800.                         {
  4801.                             Return (One)
  4802.                         }
  4803.                     }
  4804.  
  4805.                     Device (LCD)
  4806.                     {
  4807.                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
  4808.                         {
  4809.                             Return (0x0110)
  4810.                         }
  4811.  
  4812.                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  4813.                         {
  4814.                             OSMI (0x90)
  4815.                             Store (CADL, Local0)
  4816.                             Store (CSTE, Local1)
  4817.                             And (Local0, One, Local0)
  4818.                             And (Local1, One, Local1)
  4819.                             If (Local0)
  4820.                             {
  4821.                                 Store (One, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  4822.                             }
  4823.                             Else
  4824.                             {
  4825.                                 Store (Zero, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  4826.                             }
  4827.  
  4828.                             If (LCDA)
  4829.                             {
  4830.                                 If (LEqual (Local1, One))
  4831.                                 {
  4832.                                     Return (0x1F)
  4833.                                 }
  4834.                                 Else
  4835.                                 {
  4836.                                     Return (0x1D)
  4837.                                 }
  4838.                             }
  4839.                             Else
  4840.                             {
  4841.                                 If (LEqual (Local1, One))
  4842.                                 {
  4843.                                     Return (0x0F)
  4844.                                 }
  4845.                                 Else
  4846.                                 {
  4847.                                     Return (0x0D)
  4848.                                 }
  4849.                             }
  4850.                         }
  4851.  
  4852.                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  4853.                         {
  4854.                             If (LCDA)
  4855.                             {
  4856.                                 Return (One)
  4857.                             }
  4858.                             Else
  4859.                             {
  4860.                                 Return (Zero)
  4861.                             }
  4862.                         }
  4863.  
  4864.                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  4865.                         {
  4866.                         }
  4867.  
  4868.                         Method (MXMX, 1, NotSerialized)
  4869.                         {
  4870.                             Return (One)
  4871.                         }
  4872.  
  4873.                         Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
  4874.                         {
  4875.                             Return (Package (0x0C)
  4876.                             {
  4877.                                 0x46,
  4878.                                 0x28,
  4879.                                 0x0A,
  4880.                                 0x14,
  4881.                                 0x1E,
  4882.                                 0x28,
  4883.                                 0x32,
  4884.                                 0x3C,
  4885.                                 0x46,
  4886.                                 0x50,
  4887.                                 0x5A,
  4888.                                 0x64
  4889.                             })
  4890.                         }
  4891.  
  4892.                         Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
  4893.                         {
  4894.                             Divide (Arg0, 0x0A, Local0, Local1)
  4895.                             Decrement (Local1)
  4896.                             Store (Local1, ^^^^LPC.EC0.BRTS) /* \_SB_.PCI0.LPC_.EC0_.BRTS */
  4897.                         }
  4898.  
  4899.                         Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
  4900.                         {
  4901.                             Multiply (^^^^LPC.EC0.BRTS, 0x0A, Local0)
  4902.                             Add (Local0, One, Local0)
  4903.                             Sleep (0x64)
  4904.                             Return (Local0)
  4905.                         }
  4906.                     }
  4907.  
  4908.                     Device (HDV0)
  4909.                     {
  4910.                         Name (_ADR, 0x80000210)  // _ADR: Address
  4911.                         Method (MXMX, 1, NotSerialized)
  4912.                         {
  4913.                             Return (One)
  4914.                         }
  4915.                     }
  4916.  
  4917.                     Device (TV)
  4918.                     {
  4919.                         Method (_ADR, 0, NotSerialized)  // _ADR: Address
  4920.                         {
  4921.                             Return (0x0200)
  4922.                         }
  4923.  
  4924.                         Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  4925.                         {
  4926.                             OSMI (0x90)
  4927.                             Store (CADL, Local0)
  4928.                             Store (CSTE, Local1)
  4929.                             And (Local0, 0x04, Local0)
  4930.                             And (Local1, 0x04, Local1)
  4931.                             If (Local0)
  4932.                             {
  4933.                                 Store (One, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  4934.                             }
  4935.                             Else
  4936.                             {
  4937.                                 Store (Zero, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  4938.                             }
  4939.  
  4940.                             If (TVAA)
  4941.                             {
  4942.                                 If (LEqual (Local1, 0x04))
  4943.                                 {
  4944.                                     Return (0x1F)
  4945.                                 }
  4946.                                 Else
  4947.                                 {
  4948.                                     Return (0x1D)
  4949.                                 }
  4950.                             }
  4951.                             Else
  4952.                             {
  4953.                                 If (LEqual (Local1, 0x04))
  4954.                                 {
  4955.                                     Return (0x0F)
  4956.                                 }
  4957.                                 Else
  4958.                                 {
  4959.                                     Return (0x0D)
  4960.                                 }
  4961.                             }
  4962.                         }
  4963.  
  4964.                         Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  4965.                         {
  4966.                             If (TVAA)
  4967.                             {
  4968.                                 Return (One)
  4969.                             }
  4970.                             Else
  4971.                             {
  4972.                                 Return (Zero)
  4973.                             }
  4974.                         }
  4975.  
  4976.                         Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  4977.                         {
  4978.                         }
  4979.                     }
  4980.  
  4981.                     Method (DSSW, 0, NotSerialized)
  4982.                     {
  4983.                         If (LEqual (SWIT, Zero))
  4984.                         {
  4985.                             OSMI (0x90)
  4986.                             Store (CADL, Local0)
  4987.                             Store (CSTE, Local1)
  4988.                             If (LGreater (Local1, One))
  4989.                             {
  4990.                                 And (Local0, Local1, VLDF) /* \_SB_.PCI0.PEGP.VGA_.VLDF */
  4991.                                 And (VLDF, 0xFE, VLDF) /* \_SB_.PCI0.PEGP.VGA_.VLDF */
  4992.                             }
  4993.  
  4994.                             If (VLDF)
  4995.                             {
  4996.                                 If (LEqual (Local0, 0x03))
  4997.                                 {
  4998.                                     If (LEqual (Local1, One))
  4999.                                     {
  5000.                                         STBL (0x04)
  5001.                                     }
  5002.  
  5003.                                     If (LEqual (Local1, 0x03))
  5004.                                     {
  5005.                                         STBL (0x02)
  5006.                                     }
  5007.  
  5008.                                     If (LEqual (Local1, 0x02))
  5009.                                     {
  5010.                                         STBL (One)
  5011.                                     }
  5012.                                 }
  5013.  
  5014.                                 If (LEqual (Local0, 0x05))
  5015.                                 {
  5016.                                     If (LEqual (Local1, One))
  5017.                                     {
  5018.                                         STBL (0x06)
  5019.                                     }
  5020.  
  5021.                                     If (LEqual (Local1, 0x05))
  5022.                                     {
  5023.                                         STBL (0x03)
  5024.                                     }
  5025.  
  5026.                                     If (LEqual (Local1, 0x04))
  5027.                                     {
  5028.                                         STBL (One)
  5029.                                     }
  5030.                                 }
  5031.  
  5032.                                 If (LEqual (Local0, 0x07))
  5033.                                 {
  5034.                                     If (LEqual (Local1, One))
  5035.                                     {
  5036.                                         STBL (0x04)
  5037.                                     }
  5038.  
  5039.                                     If (LEqual (Local1, 0x03))
  5040.                                     {
  5041.                                         STBL (0x02)
  5042.                                     }
  5043.  
  5044.                                     If (LEqual (Local1, 0x02))
  5045.                                     {
  5046.                                         STBL (0x06)
  5047.                                     }
  5048.  
  5049.                                     If (LEqual (Local1, 0x05))
  5050.                                     {
  5051.                                         STBL (0x03)
  5052.                                     }
  5053.  
  5054.                                     If (LEqual (Local1, 0x04))
  5055.                                     {
  5056.                                         STBL (One)
  5057.                                     }
  5058.                                 }
  5059.                             }
  5060.                             Else
  5061.                             {
  5062.                                 Store (One, VLDF) /* \_SB_.PCI0.PEGP.VGA_.VLDF */
  5063.                                 STBL (One)
  5064.                             }
  5065.                         }
  5066.                         Else
  5067.                         {
  5068.                             If (LEqual (SWIT, One))
  5069.                             {
  5070.                                 OSMI (0x91)
  5071.                             }
  5072.                         }
  5073.                     }
  5074.  
  5075.                     Method (STBL, 1, NotSerialized)
  5076.                     {
  5077.                         If (LEqual (Arg0, One))
  5078.                         {
  5079.                             Store (Zero, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  5080.                             Store (One, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  5081.                             Store (Zero, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  5082.                         }
  5083.  
  5084.                         If (LEqual (Arg0, 0x02))
  5085.                         {
  5086.                             Store (One, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  5087.                             Store (Zero, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  5088.                             Store (Zero, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  5089.                         }
  5090.  
  5091.                         If (LEqual (Arg0, 0x03))
  5092.                         {
  5093.                             Store (Zero, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  5094.                             Store (Zero, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  5095.                             Store (One, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  5096.                         }
  5097.  
  5098.                         If (LEqual (Arg0, 0x04))
  5099.                         {
  5100.                             Store (One, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  5101.                             Store (One, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  5102.                             Store (Zero, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  5103.                         }
  5104.  
  5105.                         If (LEqual (Arg0, 0x05))
  5106.                         {
  5107.                             Store (Zero, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  5108.                             Store (One, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  5109.                             Store (One, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  5110.                         }
  5111.  
  5112.                         If (LEqual (Arg0, 0x06))
  5113.                         {
  5114.                             Store (One, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  5115.                             Store (Zero, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  5116.                             Store (One, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  5117.                         }
  5118.  
  5119.                         If (LEqual (Arg0, 0x07))
  5120.                         {
  5121.                             Store (One, CRTA) /* \_SB_.PCI0.PEGP.VGA_.CRTA */
  5122.                             Store (One, LCDA) /* \_SB_.PCI0.PEGP.VGA_.LCDA */
  5123.                             Store (One, TVAA) /* \_SB_.PCI0.PEGP.VGA_.TVAA */
  5124.                         }
  5125.  
  5126.                         Notify (VGA, 0x80) // Status Change
  5127.                     }
  5128.  
  5129.                     Method (MXMI, 1, NotSerialized)
  5130.                     {
  5131.                         Return (0x21)
  5132.                     }
  5133.  
  5134.                     Method (MXMS, 1, NotSerialized)
  5135.                     {
  5136.                         Return (MXM2) /* \MXM2 */
  5137.                     }
  5138.                 }
  5139.             }
  5140.  
  5141.             Device (OVGA)
  5142.             {
  5143.                 Name (_ADR, 0x00020000)  // _ADR: Address
  5144.                 Method (_DOS, 1, NotSerialized)  // _DOS: Disable Output Switching
  5145.                 {
  5146.                     Store (And (Arg0, 0x07), DSEN) /* \DSEN */
  5147.                 }
  5148.  
  5149.                 Method (_DOD, 0, NotSerialized)  // _DOD: Display Output Devices
  5150.                 {
  5151.                     Store (Zero, NDID) /* \NDID */
  5152.                     If (LNotEqual (DIDL, Zero))
  5153.                     {
  5154.                         Store (SDDL (DID1), DID1) /* \DID1 */
  5155.                     }
  5156.  
  5157.                     If (LNotEqual (DDL2, Zero))
  5158.                     {
  5159.                         Store (SDDL (DID2), DID2) /* \DID2 */
  5160.                     }
  5161.  
  5162.                     If (LNotEqual (DDL3, Zero))
  5163.                     {
  5164.                         Store (SDDL (DID3), DID3) /* \DID3 */
  5165.                     }
  5166.  
  5167.                     If (LNotEqual (DDL4, Zero))
  5168.                     {
  5169.                         Store (SDDL (DID4), DID4) /* \DID4 */
  5170.                     }
  5171.  
  5172.                     If (LNotEqual (DDL5, Zero))
  5173.                     {
  5174.                         Store (SDDL (DID5), DID5) /* \DID5 */
  5175.                     }
  5176.  
  5177.                     If (LEqual (NDID, One))
  5178.                     {
  5179.                         Name (TMP1, Package (0x01)
  5180.                         {
  5181.                             Ones
  5182.                         })
  5183.                         Store (Or (0x00010000, DID1), Index (TMP1, Zero))
  5184.                         Return (TMP1) /* \_SB_.PCI0.OVGA._DOD.TMP1 */
  5185.                     }
  5186.  
  5187.                     If (LEqual (NDID, 0x02))
  5188.                     {
  5189.                         Name (TMP2, Package (0x02)
  5190.                         {
  5191.                             Ones,
  5192.                             Ones
  5193.                         })
  5194.                         Store (Or (0x00010000, DID1), Index (TMP2, Zero))
  5195.                         Store (Or (0x00010000, DID2), Index (TMP2, One))
  5196.                         Return (TMP2) /* \_SB_.PCI0.OVGA._DOD.TMP2 */
  5197.                     }
  5198.  
  5199.                     If (LEqual (NDID, 0x03))
  5200.                     {
  5201.                         Name (TMP3, Package (0x03)
  5202.                         {
  5203.                             Ones,
  5204.                             Ones,
  5205.                             Ones
  5206.                         })
  5207.                         Store (Or (0x00010000, DID1), Index (TMP3, Zero))
  5208.                         Store (Or (0x00010000, DID2), Index (TMP3, One))
  5209.                         Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
  5210.                         Return (TMP3) /* \_SB_.PCI0.OVGA._DOD.TMP3 */
  5211.                     }
  5212.  
  5213.                     If (LEqual (NDID, 0x04))
  5214.                     {
  5215.                         Name (TMP4, Package (0x04)
  5216.                         {
  5217.                             Ones,
  5218.                             Ones,
  5219.                             Ones,
  5220.                             Ones
  5221.                         })
  5222.                         Store (Or (0x00010000, DID1), Index (TMP4, Zero))
  5223.                         Store (Or (0x00010000, DID2), Index (TMP4, One))
  5224.                         Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
  5225.                         Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
  5226.                         Return (TMP4) /* \_SB_.PCI0.OVGA._DOD.TMP4 */
  5227.                     }
  5228.  
  5229.                     If (LGreater (NDID, 0x04))
  5230.                     {
  5231.                         Name (TMP5, Package (0x05)
  5232.                         {
  5233.                             Ones,
  5234.                             Ones,
  5235.                             Ones,
  5236.                             Ones,
  5237.                             Ones
  5238.                         })
  5239.                         Store (Or (0x00010000, DID1), Index (TMP5, Zero))
  5240.                         Store (Or (0x00010000, DID2), Index (TMP5, One))
  5241.                         Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
  5242.                         Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
  5243.                         Store (Or (0x00010000, DID4), Index (TMP5, 0x04))
  5244.                         Return (TMP5) /* \_SB_.PCI0.OVGA._DOD.TMP5 */
  5245.                     }
  5246.  
  5247.                     Return (Package (0x01)
  5248.                     {
  5249.                         0x0400
  5250.                     })
  5251.                 }
  5252.  
  5253.                 Device (DD01)
  5254.                 {
  5255.                     Method (_ADR, 0, Serialized)  // _ADR: Address
  5256.                     {
  5257.                         If (LEqual (DID1, Zero))
  5258.                         {
  5259.                             Return (One)
  5260.                         }
  5261.                         Else
  5262.                         {
  5263.                             Return (And (0xFFFF, DID1))
  5264.                         }
  5265.                     }
  5266.  
  5267.                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  5268.                     {
  5269.                         Return (CDDS (DID1))
  5270.                     }
  5271.  
  5272.                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  5273.                     {
  5274.                         Return (NDDS (DID1))
  5275.                     }
  5276.  
  5277.                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  5278.                     {
  5279.                         If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  5280.                         {
  5281.                             Store (NSTE, CSTE) /* \CSTE */
  5282.                         }
  5283.                     }
  5284.                 }
  5285.  
  5286.                 Device (DD02)
  5287.                 {
  5288.                     Method (_ADR, 0, Serialized)  // _ADR: Address
  5289.                     {
  5290.                         If (LEqual (DID2, Zero))
  5291.                         {
  5292.                             Return (0x02)
  5293.                         }
  5294.                         Else
  5295.                         {
  5296.                             Return (And (0xFFFF, DID2))
  5297.                         }
  5298.                     }
  5299.  
  5300.                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  5301.                     {
  5302.                         Return (CDDS (DID2))
  5303.                     }
  5304.  
  5305.                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  5306.                     {
  5307.                         Return (NDDS (DID2))
  5308.                     }
  5309.  
  5310.                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  5311.                     {
  5312.                         If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  5313.                         {
  5314.                             Store (NSTE, CSTE) /* \CSTE */
  5315.                         }
  5316.                     }
  5317.                 }
  5318.  
  5319.                 Device (DD03)
  5320.                 {
  5321.                     Method (_ADR, 0, Serialized)  // _ADR: Address
  5322.                     {
  5323.                         If (LEqual (DID3, Zero))
  5324.                         {
  5325.                             Return (0x03)
  5326.                         }
  5327.                         Else
  5328.                         {
  5329.                             Return (And (0xFFFF, DID3))
  5330.                         }
  5331.                     }
  5332.  
  5333.                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  5334.                     {
  5335.                         If (LEqual (DID3, Zero))
  5336.                         {
  5337.                             Return (0x0B)
  5338.                         }
  5339.                         Else
  5340.                         {
  5341.                             Return (CDDS (DID3))
  5342.                         }
  5343.                     }
  5344.  
  5345.                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  5346.                     {
  5347.                         Return (NDDS (DID3))
  5348.                     }
  5349.  
  5350.                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  5351.                     {
  5352.                         If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  5353.                         {
  5354.                             Store (NSTE, CSTE) /* \CSTE */
  5355.                         }
  5356.                     }
  5357.  
  5358.                     Method (_BCL, 0, NotSerialized)  // _BCL: Brightness Control Levels
  5359.                     {
  5360.                         Return (Package (0x0C)
  5361.                         {
  5362.                             0x46,
  5363.                             0x28,
  5364.                             0x0A,
  5365.                             0x14,
  5366.                             0x1E,
  5367.                             0x28,
  5368.                             0x32,
  5369.                             0x3C,
  5370.                             0x46,
  5371.                             0x50,
  5372.                             0x5A,
  5373.                             0x64
  5374.                         })
  5375.                     }
  5376.  
  5377.                     Method (_BCM, 1, NotSerialized)  // _BCM: Brightness Control Method
  5378.                     {
  5379.                         Divide (Arg0, 0x0A, Local0, Local1)
  5380.                         Decrement (Local1)
  5381.                         Store (Local1, ^^^LPC.EC0.BRTS) /* \_SB_.PCI0.LPC_.EC0_.BRTS */
  5382.                     }
  5383.  
  5384.                     Method (_BQC, 0, NotSerialized)  // _BQC: Brightness Query Current
  5385.                     {
  5386.                         Multiply (^^^LPC.EC0.BRTS, 0x0A, Local0)
  5387.                         Add (Local0, One, Local0)
  5388.                         Sleep (0x64)
  5389.                         Return (Local0)
  5390.                     }
  5391.                 }
  5392.  
  5393.                 Device (DD04)
  5394.                 {
  5395.                     Method (_ADR, 0, Serialized)  // _ADR: Address
  5396.                     {
  5397.                         If (LEqual (DID4, Zero))
  5398.                         {
  5399.                             Return (0x04)
  5400.                         }
  5401.                         Else
  5402.                         {
  5403.                             Return (And (0xFFFF, DID4))
  5404.                         }
  5405.                     }
  5406.  
  5407.                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  5408.                     {
  5409.                         If (LEqual (DID4, Zero))
  5410.                         {
  5411.                             Return (0x0B)
  5412.                         }
  5413.                         Else
  5414.                         {
  5415.                             Return (CDDS (DID4))
  5416.                         }
  5417.                     }
  5418.  
  5419.                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  5420.                     {
  5421.                         Return (NDDS (DID4))
  5422.                     }
  5423.  
  5424.                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  5425.                     {
  5426.                         If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  5427.                         {
  5428.                             Store (NSTE, CSTE) /* \CSTE */
  5429.                         }
  5430.                     }
  5431.                 }
  5432.  
  5433.                 Device (DD05)
  5434.                 {
  5435.                     Method (_ADR, 0, Serialized)  // _ADR: Address
  5436.                     {
  5437.                         If (LEqual (DID5, Zero))
  5438.                         {
  5439.                             Return (0x05)
  5440.                         }
  5441.                         Else
  5442.                         {
  5443.                             Return (And (0xFFFF, DID5))
  5444.                         }
  5445.                     }
  5446.  
  5447.                     Method (_DCS, 0, NotSerialized)  // _DCS: Display Current Status
  5448.                     {
  5449.                         If (LEqual (DID5, Zero))
  5450.                         {
  5451.                             Return (0x0B)
  5452.                         }
  5453.                         Else
  5454.                         {
  5455.                             Return (CDDS (DID5))
  5456.                         }
  5457.                     }
  5458.  
  5459.                     Method (_DGS, 0, NotSerialized)  // _DGS: Display Graphics State
  5460.                     {
  5461.                         Return (NDDS (DID5))
  5462.                     }
  5463.  
  5464.                     Method (_DSS, 1, NotSerialized)  // _DSS: Device Set State
  5465.                     {
  5466.                         If (LEqual (And (Arg0, 0xC0000000), 0xC0000000))
  5467.                         {
  5468.                             Store (NSTE, CSTE) /* \CSTE *//* \_SB_.PCI0.OVGA.PARM */
  5469.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5470.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5471.                         }
  5472.  
  5473.                         If (LEqual (GESF, One))
  5474.                         {
  5475.                             Store (0x0240, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5476.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5477.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5478.                         }
  5479.  
  5480.                         If (LEqual (GESF, 0x04))
  5481.                         {
  5482.                             And (PARM, 0xEFFF0000, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5483.                             And (PARM, ShiftLeft (DerefOf (Index (DBTB, IBTT)), 0x10),
  5484.                                 PARM) /* \_SB_.PCI0.OVGA.PARM */
  5485.                             Or (IBTT, PARM, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5486.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5487.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5488.                         }
  5489.  
  5490.                         If (LEqual (GESF, 0x05))
  5491.                         {
  5492.                             Store (IPSC, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5493.                             Or (PARM, ShiftLeft (IPAT, 0x08), PARM) /* \_SB_.PCI0.OVGA.PARM */
  5494.                             Add (PARM, 0x0100, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5495.                             Or (PARM, ShiftLeft (LIDS, 0x10), PARM) /* \_SB_.PCI0.OVGA.PARM */
  5496.                             Add (PARM, 0x00010000, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5497.                             Or (PARM, ShiftLeft (IBIA, 0x14), PARM) /* \_SB_.PCI0.OVGA.PARM */
  5498.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5499.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5500.                         }
  5501.  
  5502.                         If (LEqual (GESF, 0x06))
  5503.                         {
  5504.                             Store (ITVF, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5505.                             Or (PARM, ShiftLeft (ITVM, 0x04), PARM) /* \_SB_.PCI0.OVGA.PARM */
  5506.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5507.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5508.                         }
  5509.  
  5510.                         If (LEqual (GESF, 0x07))
  5511.                         {
  5512.                             Store (GIVD, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5513.                             XOr (PARM, One, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5514.                             Or (PARM, ShiftLeft (GMFN, One), PARM) /* \_SB_.PCI0.OVGA.PARM */
  5515.                             Or (PARM, 0x1000, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5516.                             If (LLess (TASM, 0x04))
  5517.                             {
  5518.                                 Or (PARM, 0x00020000, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5519.                             }
  5520.                             Else
  5521.                             {
  5522.                                 If (LLess (TASM, 0x08))
  5523.                                 {
  5524.                                     Or (PARM, 0x00040000, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5525.                                 }
  5526.                                 Else
  5527.                                 {
  5528.                                     Or (PARM, 0x00060000, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5529.                                 }
  5530.                             }
  5531.  
  5532.                             Or (ShiftLeft (DerefOf (Index (DerefOf (Index (CDCT, HVCO)), Subtract (
  5533.                                 CDVL, One))), 0x15), PARM, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5534.                             Store (One, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5535.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5536.                         }
  5537.  
  5538.                         If (LEqual (GESF, 0x0A))
  5539.                         {
  5540.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5541.                             If (ISSC)
  5542.                             {
  5543.                                 Or (0x03, PARM, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5544.                             }
  5545.  
  5546.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5547.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5548.                         }
  5549.  
  5550.                         Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5551.                         Return (CRIT) /* \_SB_.PCI0.OVGA.CRIT */
  5552.                     }
  5553.  
  5554.                     Method (SBCB, 0, Serialized)
  5555.                     {
  5556.                         If (LEqual (GESF, Zero))
  5557.                         {
  5558.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5559.                             Store (0xF7FD, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5560.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5561.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5562.                         }
  5563.  
  5564.                         If (LEqual (GESF, One))
  5565.                         {
  5566.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5567.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5568.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5569.                         }
  5570.  
  5571.                         If (LEqual (GESF, 0x03))
  5572.                         {
  5573.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5574.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5575.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5576.                         }
  5577.  
  5578.                         If (LEqual (GESF, 0x04))
  5579.                         {
  5580.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5581.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5582.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5583.                         }
  5584.  
  5585.                         If (LEqual (GESF, 0x05))
  5586.                         {
  5587.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5588.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5589.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5590.                         }
  5591.  
  5592.                         If (LEqual (GESF, 0x06))
  5593.                         {
  5594.                             Store (And (PARM, 0x0F), ITVF) /* \ITVF */
  5595.                             Store (ShiftRight (And (PARM, 0xF0), 0x04), ITVM) /* \ITVM */
  5596.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5597.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5598.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5599.                         }
  5600.  
  5601.                         If (LEqual (GESF, 0x07))
  5602.                         {
  5603.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5604.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5605.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5606.                         }
  5607.  
  5608.                         If (LEqual (GESF, 0x08))
  5609.                         {
  5610.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5611.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5612.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5613.                         }
  5614.  
  5615.                         If (LEqual (GESF, 0x09))
  5616.                         {
  5617.                             And (PARM, 0xFF, IBTT) /* \IBTT */
  5618.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5619.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5620.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5621.                         }
  5622.  
  5623.                         If (LEqual (GESF, 0x0A))
  5624.                         {
  5625.                             And (PARM, 0xFF, IPSC) /* \IPSC */
  5626.                             If (And (ShiftRight (PARM, 0x08), 0xFF))
  5627.                             {
  5628.                                 And (ShiftRight (PARM, 0x08), 0xFF, IPAT) /* \IPAT */
  5629.                                 Decrement (IPAT)
  5630.                             }
  5631.  
  5632.                             And (ShiftRight (PARM, 0x14), 0x07, IBIA) /* \IBIA */
  5633.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5634.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5635.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5636.                         }
  5637.  
  5638.                         If (LEqual (GESF, 0x0B))
  5639.                         {
  5640.                             And (ShiftRight (PARM, One), One, IF1E) /* \IF1E */
  5641.                             If (And (PARM, 0x0001E000))
  5642.                             {
  5643.                                 And (ShiftRight (PARM, 0x0D), 0x0F, IDMS) /* \IDMS */
  5644.                                 Store (Zero, IDMM) /* \IDMM */
  5645.                             }
  5646.                             Else
  5647.                             {
  5648.                                 And (ShiftRight (PARM, 0x11), 0x0F, IDMS) /* \IDMS */
  5649.                                 Store (One, IDMM) /* \IDMM */
  5650.                             }
  5651.  
  5652.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5653.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5654.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5655.                         }
  5656.  
  5657.                         If (LEqual (GESF, 0x10))
  5658.                         {
  5659.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5660.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5661.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5662.                         }
  5663.  
  5664.                         If (LEqual (GESF, 0x11))
  5665.                         {
  5666.                             Store (ShiftLeft (LIDS, 0x08), PARM) /* \_SB_.PCI0.OVGA.PARM */
  5667.                             Add (PARM, 0x0100, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5668.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5669.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5670.                         }
  5671.  
  5672.                         If (LEqual (GESF, 0x12))
  5673.                         {
  5674.                             If (And (PARM, One))
  5675.                             {
  5676.                                 If (LEqual (ShiftRight (PARM, One), One))
  5677.                                 {
  5678.                                     Store (One, ISSC) /* \ISSC */
  5679.                                 }
  5680.                                 Else
  5681.                                 {
  5682.                                     Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5683.                                     Return (CRIT) /* \_SB_.PCI0.OVGA.CRIT */
  5684.                                 }
  5685.                             }
  5686.                             Else
  5687.                             {
  5688.                                 Store (Zero, ISSC) /* \ISSC */
  5689.                             }
  5690.  
  5691.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5692.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5693.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5694.                         }
  5695.  
  5696.                         If (LEqual (GESF, 0x13))
  5697.                         {
  5698.                             Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5699.                             Store (Zero, PARM) /* \_SB_.PCI0.OVGA.PARM */
  5700.                             Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5701.                         }
  5702.  
  5703.                         Store (Zero, GESF) /* \_SB_.PCI0.OVGA.GESF */
  5704.                         Return (SUCC) /* \_SB_.PCI0.OVGA.SUCC */
  5705.                     }
  5706.  
  5707.                     If (LEqual (GEFC, 0x04))
  5708.                     {
  5709.                         Store (GBDA (), GXFC) /* \_SB_.PCI0.OVGA.GXFC */
  5710.                     }
  5711.  
  5712.                     If (LEqual (GEFC, 0x06))
  5713.                     {
  5714.                         Store (SBCB (), GXFC) /* \_SB_.PCI0.OVGA.GXFC */
  5715.                     }
  5716.  
  5717.                     Store (Zero, GEFC) /* \_SB_.PCI0.OVGA.GEFC */
  5718.                     Store (One, SCIS) /* \SCIS */
  5719.                     Store (Zero, GSSE) /* \_SB_.PCI0.OVGA.GSSE */
  5720.                     Store (Zero, SCIE) /* \_SB_.PCI0.OVGA.SCIE */
  5721.                     Return (Zero)
  5722.                 }
  5723.  
  5724.                 Method (PDRD, 0, NotSerialized)
  5725.                 {
  5726.                     If (LNot (DRDY))
  5727.                     {
  5728.                         Sleep (ASLP)
  5729.                     }
  5730.  
  5731.                     Return (LNot (DRDY))
  5732.                 }
  5733.  
  5734.                 Method (PSTS, 0, NotSerialized)
  5735.                 {
  5736.                     If (LGreater (CSTS, 0x02))
  5737.                     {
  5738.                         Sleep (ASLP)
  5739.                     }
  5740.  
  5741.                     Return (LEqual (CSTS, 0x03))
  5742.                 }
  5743.  
  5744.                 Method (GNOT, 2, NotSerialized)
  5745.                 {
  5746.                     If (PDRD ())
  5747.                     {
  5748.                         Return (One)
  5749.                     }
  5750.  
  5751.                     If (PSTS ())
  5752.                     {
  5753.                         Return (One)
  5754.                     }
  5755.  
  5756.                     Store (Arg0, CEVT) /* \_SB_.PCI0.OVGA.CEVT */
  5757.                     Store (0x03, CSTS) /* \_SB_.PCI0.OVGA.CSTS */
  5758.                     If (LAnd (LEqual (CHPD, Zero), LEqual (Arg1, Zero)))
  5759.                     {
  5760.                         If (LOr (LGreater (OSYS, 0x07D0), LLess (OSYS, 0x07D7)))
  5761.                         {
  5762.                             Notify (PCI0, Arg1)
  5763.                         }
  5764.                         Else
  5765.                         {
  5766.                             Notify (OVGA, Arg1)
  5767.                         }
  5768.                     }
  5769.  
  5770.                     Notify (OVGA, 0x80) // Status Change
  5771.                     If (LNot (PSTS ()))
  5772.                     {
  5773.                         Store (Zero, CEVT) /* \_SB_.PCI0.OVGA.CEVT */
  5774.                     }
  5775.  
  5776.                     Return (Zero)
  5777.                 }
  5778.  
  5779.                 Method (GHDS, 1, NotSerialized)
  5780.                 {
  5781.                     Store (Arg0, TIDX) /* \_SB_.PCI0.OVGA.TIDX */
  5782.                     Return (GNOT (One, Zero))
  5783.                 }
  5784.  
  5785.                 Method (GLID, 1, NotSerialized)
  5786.                 {
  5787.                     Store (0x010D, P80H) /* \P80H */
  5788.                     Store (Arg0, CLID) /* \_SB_.PCI0.OVGA.CLID */
  5789.                     Return (GNOT (0x02, Zero))
  5790.                 }
  5791.  
  5792.                 Method (GDCK, 1, NotSerialized)
  5793.                 {
  5794.                     Store (Arg0, CDCK) /* \_SB_.PCI0.OVGA.CDCK */
  5795.                     Return (GNOT (0x04, 0x80))
  5796.                 }
  5797.  
  5798.                 Method (PARD, 0, NotSerialized)
  5799.                 {
  5800.                     If (LNot (ARDY))
  5801.                     {
  5802.                         Sleep (ASLP)
  5803.                     }
  5804.  
  5805.                     Return (LNot (ARDY))
  5806.                 }
  5807.  
  5808.                 Method (AINT, 2, NotSerialized)
  5809.                 {
  5810.                     If (LNot (And (TCHE, ShiftLeft (One, Arg0))))
  5811.                     {
  5812.                         Return (One)
  5813.                     }
  5814.  
  5815.                     If (PARD ())
  5816.                     {
  5817.                         Return (One)
  5818.                     }
  5819.  
  5820.                     If (LEqual (Arg0, 0x02))
  5821.                     {
  5822.                         XOr (PFIT, 0x07, PFIT) /* \_SB_.PCI0.OVGA.PFIT */
  5823.                         Or (PFIT, 0x80000000, PFIT) /* \_SB_.PCI0.OVGA.PFIT */
  5824.                         Store (0x04, ASLC) /* \_SB_.PCI0.OVGA.ASLC */
  5825.                     }
  5826.                     Else
  5827.                     {
  5828.                         If (LEqual (Arg0, One))
  5829.                         {
  5830.                             Store (Divide (Multiply (Arg1, 0xFF), 0x64, ), BCLP) /* \_SB_.PCI0.OVGA.BCLP */
  5831.                             Or (BCLP, 0x80000000, BCLP) /* \_SB_.PCI0.OVGA.BCLP */
  5832.                             Store (0x02, ASLC) /* \_SB_.PCI0.OVGA.ASLC */
  5833.                         }
  5834.                         Else
  5835.                         {
  5836.                             If (LEqual (Arg0, Zero))
  5837.                             {
  5838.                                 Store (Arg1, ALSI) /* \_SB_.PCI0.OVGA.ALSI */
  5839.                                 Store (One, ASLC) /* \_SB_.PCI0.OVGA.ASLC */
  5840.                             }
  5841.                             Else
  5842.                             {
  5843.                                 Return (One)
  5844.                             }
  5845.                         }
  5846.                     }
  5847.  
  5848.                     Store (Zero, LBPC) /* \_SB_.PCI0.OVGA.LBPC */
  5849.                     Return (Zero)
  5850.                 }
  5851.  
  5852.                 Method (SCIP, 0, NotSerialized)
  5853.                 {
  5854.                     If (LNotEqual (OVER, Zero))
  5855.                     {
  5856.                         Return (LNot (GSMI))
  5857.                     }
  5858.  
  5859.                     Return (Zero)
  5860.                 }
  5861.             }
  5862.  
  5863.             Device (IDEC)
  5864.             {
  5865.                 Name (_ADR, 0x001F0001)  // _ADR: Address
  5866.                 OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
  5867.                 Field (PACS, DWordAcc, NoLock, Preserve)
  5868.                 {
  5869.                     PRIT,   16,
  5870.                     Offset (0x04),
  5871.                     PSIT,   4,
  5872.                     Offset (0x08),
  5873.                     SYNC,   4,
  5874.                     Offset (0x0A),
  5875.                     SDT0,   2,
  5876.                         ,   2,
  5877.                     SDT1,   2,
  5878.                     Offset (0x14),
  5879.                     ICR0,   4,
  5880.                     ICR1,   4,
  5881.                     ICR2,   4,
  5882.                     ICR3,   4,
  5883.                     ICR4,   4,
  5884.                     ICR5,   4
  5885.                 }
  5886.  
  5887.                 Device (PRID)
  5888.                 {
  5889.                     Name (_ADR, Zero)  // _ADR: Address
  5890.                     Method (_GTM, 0, NotSerialized)  // _GTM: Get Timing Mode
  5891.                     {
  5892.                         Name (PBUF, Buffer (0x14)
  5893.                         {
  5894.                             /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  5895.                             /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  5896.                             /* 0010 */  0x00, 0x00, 0x00, 0x00                           /* .... */
  5897.                         })
  5898.                         CreateDWordField (PBUF, Zero, PIO0)
  5899.                         CreateDWordField (PBUF, 0x04, DMA0)
  5900.                         CreateDWordField (PBUF, 0x08, PIO1)
  5901.                         CreateDWordField (PBUF, 0x0C, DMA1)
  5902.                         CreateDWordField (PBUF, 0x10, FLAG)
  5903.                         Store (GETP (PRIT), PIO0) /* \_SB_.PCI0.IDEC.PRID._GTM.PIO0 */
  5904.                         Store (GDMA (And (SYNC, One), And (ICR3, One),
  5905.                             And (ICR0, One), SDT0, And (ICR1, One)), DMA0) /* \_SB_.PCI0.IDEC.PRID._GTM.DMA0 */
  5906.                         If (LEqual (DMA0, Ones))
  5907.                         {
  5908.                             Store (PIO0, DMA0) /* \_SB_.PCI0.IDEC.PRID._GTM.DMA0 */
  5909.                         }
  5910.  
  5911.                         If (And (PRIT, 0x4000))
  5912.                         {
  5913.                             If (LEqual (And (PRIT, 0x90), 0x80))
  5914.                             {
  5915.                                 Store (0x0384, PIO1) /* \_SB_.PCI0.IDEC.PRID._GTM.PIO1 */
  5916.                             }
  5917.                             Else
  5918.                             {
  5919.                                 Store (GETT (PSIT), PIO1) /* \_SB_.PCI0.IDEC.PRID._GTM.PIO1 */
  5920.                             }
  5921.                         }
  5922.                         Else
  5923.                         {
  5924.                             Store (Ones, PIO1) /* \_SB_.PCI0.IDEC.PRID._GTM.PIO1 */
  5925.                         }
  5926.  
  5927.                         Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
  5928.                             And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) /* \_SB_.PCI0.IDEC.PRID._GTM.DMA1 */
  5929.                         If (LEqual (DMA1, Ones))
  5930.                         {
  5931.                             Store (PIO1, DMA1) /* \_SB_.PCI0.IDEC.PRID._GTM.DMA1 */
  5932.                         }
  5933.  
  5934.                         Store (GETF (And (SYNC, One), And (SYNC, 0x02),
  5935.                             PRIT), FLAG) /* \_SB_.PCI0.IDEC.PRID._GTM.FLAG */
  5936.                         If (And (LEqual (PIO0, Ones), LEqual (DMA0, Ones)))
  5937.                         {
  5938.                             Store (0x78, PIO0) /* \_SB_.PCI0.IDEC.PRID._GTM.PIO0 */
  5939.                             Store (0x14, DMA0) /* \_SB_.PCI0.IDEC.PRID._GTM.DMA0 */
  5940.                             Store (0x03, FLAG) /* \_SB_.PCI0.IDEC.PRID._GTM.FLAG */
  5941.                         }
  5942.  
  5943.                         Return (PBUF) /* \_SB_.PCI0.IDEC.PRID._GTM.PBUF */
  5944.                     }
  5945.  
  5946.                     Method (_STM, 3, NotSerialized)  // _STM: Set Timing Mode
  5947.                     {
  5948.                         CreateDWordField (Arg0, Zero, PIO0)
  5949.                         CreateDWordField (Arg0, 0x04, DMA0)
  5950.                         CreateDWordField (Arg0, 0x08, PIO1)
  5951.                         CreateDWordField (Arg0, 0x0C, DMA1)
  5952.                         CreateDWordField (Arg0, 0x10, FLAG)
  5953.                         If (LEqual (SizeOf (Arg1), 0x0200))
  5954.                         {
  5955.                             And (PRIT, 0x40F0, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  5956.                             And (SYNC, 0x02, SYNC) /* \_SB_.PCI0.IDEC.SYNC */
  5957.                             Store (Zero, SDT0) /* \_SB_.PCI0.IDEC.SDT0 */
  5958.                             And (ICR0, 0x02, ICR0) /* \_SB_.PCI0.IDEC.ICR0 */
  5959.                             And (ICR1, 0x02, ICR1) /* \_SB_.PCI0.IDEC.ICR1 */
  5960.                             And (ICR3, 0x02, ICR3) /* \_SB_.PCI0.IDEC.ICR3 */
  5961.                             And (ICR5, 0x02, ICR5) /* \_SB_.PCI0.IDEC.ICR5 */
  5962.                             CreateWordField (Arg1, 0x62, W490)
  5963.                             CreateWordField (Arg1, 0x6A, W530)
  5964.                             CreateWordField (Arg1, 0x7E, W630)
  5965.                             CreateWordField (Arg1, 0x80, W640)
  5966.                             CreateWordField (Arg1, 0xB0, W880)
  5967.                             CreateWordField (Arg1, 0xBA, W930)
  5968.                             Or (PRIT, 0x8004, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  5969.                             If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
  5970.                             {
  5971.                                 Or (PRIT, 0x02, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  5972.                             }
  5973.  
  5974.                             Or (PRIT, SETP (PIO0, W530, W640), PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  5975.                             If (And (FLAG, One))
  5976.                             {
  5977.                                 Or (SYNC, One, SYNC) /* \_SB_.PCI0.IDEC.SYNC */
  5978.                                 Store (SDMA (DMA0), SDT0) /* \_SB_.PCI0.IDEC.SDT0 */
  5979.                                 If (LLess (DMA0, 0x1E))
  5980.                                 {
  5981.                                     Or (ICR3, One, ICR3) /* \_SB_.PCI0.IDEC.ICR3 */
  5982.                                 }
  5983.  
  5984.                                 If (LLess (DMA0, 0x3C))
  5985.                                 {
  5986.                                     Or (ICR0, One, ICR0) /* \_SB_.PCI0.IDEC.ICR0 */
  5987.                                 }
  5988.  
  5989.                                 If (And (W930, 0x2000))
  5990.                                 {
  5991.                                     Or (ICR1, One, ICR1) /* \_SB_.PCI0.IDEC.ICR1 */
  5992.                                 }
  5993.                             }
  5994.                         }
  5995.  
  5996.                         If (LEqual (SizeOf (Arg2), 0x0200))
  5997.                         {
  5998.                             And (PRIT, 0x3F0F, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  5999.                             Store (Zero, PSIT) /* \_SB_.PCI0.IDEC.PSIT */
  6000.                             And (SYNC, One, SYNC) /* \_SB_.PCI0.IDEC.SYNC */
  6001.                             Store (Zero, SDT1) /* \_SB_.PCI0.IDEC.SDT1 */
  6002.                             And (ICR0, One, ICR0) /* \_SB_.PCI0.IDEC.ICR0 */
  6003.                             And (ICR1, One, ICR1) /* \_SB_.PCI0.IDEC.ICR1 */
  6004.                             And (ICR3, One, ICR3) /* \_SB_.PCI0.IDEC.ICR3 */
  6005.                             And (ICR5, One, ICR5) /* \_SB_.PCI0.IDEC.ICR5 */
  6006.                             CreateWordField (Arg2, 0x62, W491)
  6007.                             CreateWordField (Arg2, 0x6A, W531)
  6008.                             CreateWordField (Arg2, 0x7E, W631)
  6009.                             CreateWordField (Arg2, 0x80, W641)
  6010.                             CreateWordField (Arg2, 0xB0, W881)
  6011.                             CreateWordField (Arg2, 0xBA, W931)
  6012.                             Or (PRIT, 0x8040, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  6013.                             If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
  6014.                             {
  6015.                                 Or (PRIT, 0x20, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  6016.                             }
  6017.  
  6018.                             If (And (FLAG, 0x10))
  6019.                             {
  6020.                                 Or (PRIT, 0x4000, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  6021.                                 If (LGreater (PIO1, 0xF0))
  6022.                                 {
  6023.                                     Or (PRIT, 0x80, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  6024.                                 }
  6025.                                 Else
  6026.                                 {
  6027.                                     Or (PRIT, 0x10, PRIT) /* \_SB_.PCI0.IDEC.PRIT */
  6028.                                     Store (SETT (PIO1, W531, W641), PSIT) /* \_SB_.PCI0.IDEC.PSIT */
  6029.                                 }
  6030.                             }
  6031.  
  6032.                             If (And (FLAG, 0x04))
  6033.                             {
  6034.                                 Or (SYNC, 0x02, SYNC) /* \_SB_.PCI0.IDEC.SYNC */
  6035.                                 Store (SDMA (DMA1), SDT1) /* \_SB_.PCI0.IDEC.SDT1 */
  6036.                                 If (LLess (DMA1, 0x1E))
  6037.                                 {
  6038.                                     Or (ICR3, 0x02, ICR3) /* \_SB_.PCI0.IDEC.ICR3 */
  6039.                                 }
  6040.  
  6041.                                 If (LLess (DMA1, 0x3C))
  6042.                                 {
  6043.                                     Or (ICR0, 0x02, ICR0) /* \_SB_.PCI0.IDEC.ICR0 */
  6044.                                 }
  6045.  
  6046.                                 If (And (W931, 0x2000))
  6047.                                 {
  6048.                                     Or (ICR1, 0x02, ICR1) /* \_SB_.PCI0.IDEC.ICR1 */
  6049.                                 }
  6050.                             }
  6051.                         }
  6052.                     }
  6053.  
  6054.                     Device (P_D0)
  6055.                     {
  6056.                         Name (_ADR, Zero)  // _ADR: Address
  6057.                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6058.                         {
  6059.                             Name (PIB0, Buffer (0x0E)
  6060.                             {
  6061.                                 /* 0000 */  0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,  /* ........ */
  6062.                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF               /* ...... */
  6063.                             })
  6064.                             CreateByteField (PIB0, One, PMD0)
  6065.                             CreateByteField (PIB0, 0x08, DMD0)
  6066.                             If (And (PRIT, 0x02))
  6067.                             {
  6068.                                 If (LEqual (And (PRIT, 0x09), 0x08))
  6069.                                 {
  6070.                                     Store (0x08, PMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.PMD0 */
  6071.                                 }
  6072.                                 Else
  6073.                                 {
  6074.                                     Store (0x0A, PMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.PMD0 */
  6075.                                     ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
  6076.                                     ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
  6077.                                     Add (Local0, Local1, Local2)
  6078.                                     If (LEqual (0x03, Local2))
  6079.                                     {
  6080.                                         Store (0x0B, PMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.PMD0 */
  6081.                                     }
  6082.  
  6083.                                     If (LEqual (0x05, Local2))
  6084.                                     {
  6085.                                         Store (0x0C, PMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.PMD0 */
  6086.                                     }
  6087.                                 }
  6088.                             }
  6089.                             Else
  6090.                             {
  6091.                                 Store (One, PMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.PMD0 */
  6092.                             }
  6093.  
  6094.                             If (And (SYNC, One))
  6095.                             {
  6096.                                 Store (Or (SDT0, 0x40), DMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.DMD0 */
  6097.                                 If (And (ICR1, One))
  6098.                                 {
  6099.                                     If (And (ICR0, One))
  6100.                                     {
  6101.                                         Add (DMD0, 0x02, DMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.DMD0 */
  6102.                                     }
  6103.  
  6104.                                     If (And (ICR3, One))
  6105.                                     {
  6106.                                         Store (0x45, DMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.DMD0 */
  6107.                                     }
  6108.                                 }
  6109.                             }
  6110.                             Else
  6111.                             {
  6112.                                 Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.DMD0 */
  6113.                             }
  6114.  
  6115.                             Return (PIB0) /* \_SB_.PCI0.IDEC.PRID.P_D0._GTF.PIB0 */
  6116.                         }
  6117.                     }
  6118.  
  6119.                     Device (P_D1)
  6120.                     {
  6121.                         Name (_ADR, One)  // _ADR: Address
  6122.                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6123.                         {
  6124.                             Name (PIB1, Buffer (0x0E)
  6125.                             {
  6126.                                 /* 0000 */  0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,  /* ........ */
  6127.                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF               /* ...... */
  6128.                             })
  6129.                             CreateByteField (PIB1, One, PMD1)
  6130.                             CreateByteField (PIB1, 0x08, DMD1)
  6131.                             If (And (PRIT, 0x20))
  6132.                             {
  6133.                                 If (LEqual (And (PRIT, 0x90), 0x80))
  6134.                                 {
  6135.                                     Store (0x08, PMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.PMD1 */
  6136.                                 }
  6137.                                 Else
  6138.                                 {
  6139.                                     Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),
  6140.                                         0x02), Local0)
  6141.                                     If (LEqual (0x05, Local0))
  6142.                                     {
  6143.                                         Store (0x0C, PMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.PMD1 */
  6144.                                     }
  6145.                                     Else
  6146.                                     {
  6147.                                         If (LEqual (0x03, Local0))
  6148.                                         {
  6149.                                             Store (0x0B, PMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.PMD1 */
  6150.                                         }
  6151.                                         Else
  6152.                                         {
  6153.                                             Store (0x0A, PMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.PMD1 */
  6154.                                         }
  6155.                                     }
  6156.                                 }
  6157.                             }
  6158.                             Else
  6159.                             {
  6160.                                 Store (One, PMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.PMD1 */
  6161.                             }
  6162.  
  6163.                             If (And (SYNC, 0x02))
  6164.                             {
  6165.                                 Store (Or (SDT1, 0x40), DMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.DMD1 */
  6166.                                 If (And (ICR1, 0x02))
  6167.                                 {
  6168.                                     If (And (ICR0, 0x02))
  6169.                                     {
  6170.                                         Add (DMD1, 0x02, DMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.DMD1 */
  6171.                                     }
  6172.  
  6173.                                     If (And (ICR3, 0x02))
  6174.                                     {
  6175.                                         Store (0x45, DMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.DMD1 */
  6176.                                     }
  6177.                                 }
  6178.                             }
  6179.                             Else
  6180.                             {
  6181.                                 Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.DMD1 */
  6182.                             }
  6183.  
  6184.                             Return (PIB1) /* \_SB_.PCI0.IDEC.PRID.P_D1._GTF.PIB1 */
  6185.                         }
  6186.                     }
  6187.                 }
  6188.             }
  6189.  
  6190.             Device (SATA)
  6191.             {
  6192.                 Name (_ADR, 0x001F0002)  // _ADR: Address
  6193.                 OperationRegion (SACS, PCI_Config, 0x40, 0xC0)
  6194.                 Field (SACS, DWordAcc, NoLock, Preserve)
  6195.                 {
  6196.                     PRIT,   16,
  6197.                     SECT,   16,
  6198.                     PSIT,   4,
  6199.                     SSIT,   4,
  6200.                     Offset (0x08),
  6201.                     SYNC,   4,
  6202.                     Offset (0x0A),
  6203.                     SDT0,   2,
  6204.                         ,   2,
  6205.                     SDT1,   2,
  6206.                     Offset (0x0B),
  6207.                     SDT2,   2,
  6208.                         ,   2,
  6209.                     SDT3,   2,
  6210.                     Offset (0x14),
  6211.                     ICR0,   4,
  6212.                     ICR1,   4,
  6213.                     ICR2,   4,
  6214.                     ICR3,   4,
  6215.                     ICR4,   4,
  6216.                     ICR5,   4,
  6217.                     Offset (0x50),
  6218.                     MAPV,   2
  6219.                 }
  6220.  
  6221.                 Device (PRID)
  6222.                 {
  6223.                     Name (_ADR, Zero)  // _ADR: Address
  6224.                     Method (_GTM, 0, NotSerialized)  // _GTM: Get Timing Mode
  6225.                     {
  6226.                         If (LNotEqual (SCFG, 0x04))
  6227.                         {
  6228.                             Name (PBUF, Buffer (0x14)
  6229.                             {
  6230.                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  6231.                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  6232.                                 /* 0010 */  0x00, 0x00, 0x00, 0x00                           /* .... */
  6233.                             })
  6234.                             CreateDWordField (PBUF, Zero, PIO0)
  6235.                             CreateDWordField (PBUF, 0x04, DMA0)
  6236.                             CreateDWordField (PBUF, 0x08, PIO1)
  6237.                             CreateDWordField (PBUF, 0x0C, DMA1)
  6238.                             CreateDWordField (PBUF, 0x10, FLAG)
  6239.                             Store (GETP (PRIT), PIO0) /* \_SB_.PCI0.SATA.PRID._GTM.PIO0 */
  6240.                             Store (GDMA (And (SYNC, One), And (ICR3, One),
  6241.                                 And (ICR0, One), SDT0, And (ICR1, One)), DMA0) /* \_SB_.PCI0.SATA.PRID._GTM.DMA0 */
  6242.                             If (LEqual (DMA0, Ones))
  6243.                             {
  6244.                                 Store (PIO0, DMA0) /* \_SB_.PCI0.SATA.PRID._GTM.DMA0 */
  6245.                             }
  6246.  
  6247.                             If (And (PRIT, 0x4000))
  6248.                             {
  6249.                                 If (LEqual (And (PRIT, 0x90), 0x80))
  6250.                                 {
  6251.                                     Store (0x0384, PIO1) /* \_SB_.PCI0.SATA.PRID._GTM.PIO1 */
  6252.                                 }
  6253.                                 Else
  6254.                                 {
  6255.                                     Store (GETT (PSIT), PIO1) /* \_SB_.PCI0.SATA.PRID._GTM.PIO1 */
  6256.                                 }
  6257.                             }
  6258.                             Else
  6259.                             {
  6260.                                 Store (Ones, PIO1) /* \_SB_.PCI0.SATA.PRID._GTM.PIO1 */
  6261.                             }
  6262.  
  6263.                             Store (GDMA (And (SYNC, 0x02), And (ICR3, 0x02),
  6264.                                 And (ICR0, 0x02), SDT1, And (ICR1, 0x02)), DMA1) /* \_SB_.PCI0.SATA.PRID._GTM.DMA1 */
  6265.                             If (LEqual (DMA1, Ones))
  6266.                             {
  6267.                                 Store (PIO1, DMA1) /* \_SB_.PCI0.SATA.PRID._GTM.DMA1 */
  6268.                             }
  6269.  
  6270.                             Store (GETF (And (SYNC, One), And (SYNC, 0x02),
  6271.                                 PRIT), FLAG) /* \_SB_.PCI0.SATA.PRID._GTM.FLAG */
  6272.                             Return (PBUF) /* \_SB_.PCI0.SATA.PRID._GTM.PBUF */
  6273.                         }
  6274.  
  6275.                         Return (Buffer (Zero) {})
  6276.                     }
  6277.  
  6278.                     Method (_STM, 3, NotSerialized)  // _STM: Set Timing Mode
  6279.                     {
  6280.                         If (LNotEqual (SCFG, 0x04))
  6281.                         {
  6282.                             CreateDWordField (Arg0, Zero, PIO0)
  6283.                             CreateDWordField (Arg0, 0x04, DMA0)
  6284.                             CreateDWordField (Arg0, 0x08, PIO1)
  6285.                             CreateDWordField (Arg0, 0x0C, DMA1)
  6286.                             CreateDWordField (Arg0, 0x10, FLAG)
  6287.                             If (LEqual (SizeOf (Arg1), 0x0200))
  6288.                             {
  6289.                                 And (PRIT, 0x40F0, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6290.                                 And (SYNC, 0x0E, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6291.                                 Store (Zero, SDT0) /* \_SB_.PCI0.SATA.SDT0 */
  6292.                                 And (ICR0, 0x0E, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6293.                                 And (ICR1, 0x0E, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6294.                                 And (ICR3, 0x0E, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6295.                                 And (ICR5, 0x0E, ICR5) /* \_SB_.PCI0.SATA.ICR5 */
  6296.                                 CreateWordField (Arg1, 0x62, W490)
  6297.                                 CreateWordField (Arg1, 0x6A, W530)
  6298.                                 CreateWordField (Arg1, 0x7E, W630)
  6299.                                 CreateWordField (Arg1, 0x80, W640)
  6300.                                 CreateWordField (Arg1, 0xB0, W880)
  6301.                                 CreateWordField (Arg1, 0xBA, W930)
  6302.                                 Or (PRIT, 0x8004, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6303.                                 If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
  6304.                                 {
  6305.                                     Or (PRIT, 0x02, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6306.                                 }
  6307.  
  6308.                                 Or (PRIT, SETP (PIO0, W530, W640), PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6309.                                 If (And (FLAG, One))
  6310.                                 {
  6311.                                     Or (SYNC, One, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6312.                                     Store (SDMA (DMA0), SDT0) /* \_SB_.PCI0.SATA.SDT0 */
  6313.                                     If (LLess (DMA0, 0x1E))
  6314.                                     {
  6315.                                         Or (ICR3, One, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6316.                                     }
  6317.  
  6318.                                     If (LLess (DMA0, 0x3C))
  6319.                                     {
  6320.                                         Or (ICR0, One, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6321.                                     }
  6322.  
  6323.                                     Or (ICR1, One, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6324.                                 }
  6325.                             }
  6326.  
  6327.                             If (LEqual (SizeOf (Arg2), 0x0200))
  6328.                             {
  6329.                                 And (PRIT, 0x3F0F, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6330.                                 Store (Zero, PSIT) /* \_SB_.PCI0.SATA.PSIT */
  6331.                                 And (SYNC, 0x0D, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6332.                                 Store (Zero, SDT1) /* \_SB_.PCI0.SATA.SDT1 */
  6333.                                 And (ICR0, 0x0D, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6334.                                 And (ICR1, 0x0D, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6335.                                 And (ICR3, 0x0D, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6336.                                 And (ICR5, 0x0D, ICR5) /* \_SB_.PCI0.SATA.ICR5 */
  6337.                                 CreateWordField (Arg2, 0x62, W491)
  6338.                                 CreateWordField (Arg2, 0x6A, W531)
  6339.                                 CreateWordField (Arg2, 0x7E, W631)
  6340.                                 CreateWordField (Arg2, 0x80, W641)
  6341.                                 CreateWordField (Arg2, 0xB0, W881)
  6342.                                 CreateWordField (Arg2, 0xBA, W931)
  6343.                                 Or (PRIT, 0x8040, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6344.                                 If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
  6345.                                 {
  6346.                                     Or (PRIT, 0x20, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6347.                                 }
  6348.  
  6349.                                 If (And (FLAG, 0x10))
  6350.                                 {
  6351.                                     Or (PRIT, 0x4000, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6352.                                     If (LGreater (PIO1, 0xF0))
  6353.                                     {
  6354.                                         Or (PRIT, 0x80, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6355.                                     }
  6356.                                     Else
  6357.                                     {
  6358.                                         Or (PRIT, 0x10, PRIT) /* \_SB_.PCI0.SATA.PRIT */
  6359.                                         Store (SETT (PIO1, W531, W641), PSIT) /* \_SB_.PCI0.SATA.PSIT */
  6360.                                     }
  6361.                                 }
  6362.  
  6363.                                 If (And (FLAG, 0x04))
  6364.                                 {
  6365.                                     Or (SYNC, 0x02, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6366.                                     Store (SDMA (DMA1), SDT1) /* \_SB_.PCI0.SATA.SDT1 */
  6367.                                     If (LLess (DMA1, 0x1E))
  6368.                                     {
  6369.                                         Or (ICR3, 0x02, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6370.                                     }
  6371.  
  6372.                                     If (LLess (DMA1, 0x3C))
  6373.                                     {
  6374.                                         Or (ICR0, 0x02, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6375.                                     }
  6376.  
  6377.                                     Or (ICR1, 0x02, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6378.                                 }
  6379.                             }
  6380.                         }
  6381.                     }
  6382.  
  6383.                     Device (P_D0)
  6384.                     {
  6385.                         Name (_ADR, Zero)  // _ADR: Address
  6386.                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6387.                         {
  6388.                             If (LNotEqual (SCFG, 0x04))
  6389.                             {
  6390.                                 Name (PIB0, Buffer (0x0E)
  6391.                                 {
  6392.                                     /* 0000 */  0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,  /* ........ */
  6393.                                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF               /* ...... */
  6394.                                 })
  6395.                                 CreateByteField (PIB0, One, PMD0)
  6396.                                 CreateByteField (PIB0, 0x08, DMD0)
  6397.                                 If (And (PRIT, 0x02))
  6398.                                 {
  6399.                                     If (LEqual (And (PRIT, 0x09), 0x08))
  6400.                                     {
  6401.                                         Store (0x08, PMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.PMD0 */
  6402.                                     }
  6403.                                     Else
  6404.                                     {
  6405.                                         Store (0x0A, PMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.PMD0 */
  6406.                                         ShiftRight (And (PRIT, 0x0300), 0x08, Local0)
  6407.                                         ShiftRight (And (PRIT, 0x3000), 0x0C, Local1)
  6408.                                         Add (Local0, Local1, Local2)
  6409.                                         If (LEqual (0x03, Local2))
  6410.                                         {
  6411.                                             Store (0x0B, PMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.PMD0 */
  6412.                                         }
  6413.  
  6414.                                         If (LEqual (0x05, Local2))
  6415.                                         {
  6416.                                             Store (0x0C, PMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.PMD0 */
  6417.                                         }
  6418.                                     }
  6419.                                 }
  6420.                                 Else
  6421.                                 {
  6422.                                     Store (One, PMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.PMD0 */
  6423.                                 }
  6424.  
  6425.                                 If (And (SYNC, One))
  6426.                                 {
  6427.                                     Store (Or (SDT0, 0x40), DMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.DMD0 */
  6428.                                     If (And (ICR1, One))
  6429.                                     {
  6430.                                         If (And (ICR0, One))
  6431.                                         {
  6432.                                             Add (DMD0, 0x02, DMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.DMD0 */
  6433.                                         }
  6434.  
  6435.                                         If (And (ICR3, One))
  6436.                                         {
  6437.                                             Store (0x45, DMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.DMD0 */
  6438.                                         }
  6439.                                     }
  6440.                                 }
  6441.                                 Else
  6442.                                 {
  6443.                                     Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.DMD0 */
  6444.                                 }
  6445.  
  6446.                                 Return (PIB0) /* \_SB_.PCI0.SATA.PRID.P_D0._GTF.PIB0 */
  6447.                             }
  6448.  
  6449.                             Return (Buffer (Zero) {})
  6450.                         }
  6451.                     }
  6452.  
  6453.                     Device (P_D1)
  6454.                     {
  6455.                         Name (_ADR, One)  // _ADR: Address
  6456.                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6457.                         {
  6458.                             If (LNotEqual (SCFG, 0x04))
  6459.                             {
  6460.                                 Name (PIB1, Buffer (0x0E)
  6461.                                 {
  6462.                                     /* 0000 */  0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,  /* ........ */
  6463.                                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF               /* ...... */
  6464.                                 })
  6465.                                 CreateByteField (PIB1, One, PMD1)
  6466.                                 CreateByteField (PIB1, 0x08, DMD1)
  6467.                                 If (And (PRIT, 0x20))
  6468.                                 {
  6469.                                     If (LEqual (And (PRIT, 0x90), 0x80))
  6470.                                     {
  6471.                                         Store (0x08, PMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.PMD1 */
  6472.                                     }
  6473.                                     Else
  6474.                                     {
  6475.                                         Add (And (PSIT, 0x03), ShiftRight (And (PSIT, 0x0C),
  6476.                                             0x02), Local0)
  6477.                                         If (LEqual (0x05, Local0))
  6478.                                         {
  6479.                                             Store (0x0C, PMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.PMD1 */
  6480.                                         }
  6481.                                         Else
  6482.                                         {
  6483.                                             If (LEqual (0x03, Local0))
  6484.                                             {
  6485.                                                 Store (0x0B, PMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.PMD1 */
  6486.                                             }
  6487.                                             Else
  6488.                                             {
  6489.                                                 Store (0x0A, PMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.PMD1 */
  6490.                                             }
  6491.                                         }
  6492.                                     }
  6493.                                 }
  6494.                                 Else
  6495.                                 {
  6496.                                     Store (One, PMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.PMD1 */
  6497.                                 }
  6498.  
  6499.                                 If (And (SYNC, 0x02))
  6500.                                 {
  6501.                                     Store (Or (SDT1, 0x40), DMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.DMD1 */
  6502.                                     If (And (ICR1, 0x02))
  6503.                                     {
  6504.                                         If (And (ICR0, 0x02))
  6505.                                         {
  6506.                                             Add (DMD1, 0x02, DMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.DMD1 */
  6507.                                         }
  6508.  
  6509.                                         If (And (ICR3, 0x02))
  6510.                                         {
  6511.                                             Store (0x45, DMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.DMD1 */
  6512.                                         }
  6513.                                     }
  6514.                                 }
  6515.                                 Else
  6516.                                 {
  6517.                                     Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.DMD1 */
  6518.                                 }
  6519.  
  6520.                                 Return (PIB1) /* \_SB_.PCI0.SATA.PRID.P_D1._GTF.PIB1 */
  6521.                             }
  6522.  
  6523.                             Return (Buffer (Zero) {})
  6524.                         }
  6525.                     }
  6526.                 }
  6527.  
  6528.                 Device (SECD)
  6529.                 {
  6530.                     Name (_ADR, One)  // _ADR: Address
  6531.                     Method (_GTM, 0, NotSerialized)  // _GTM: Get Timing Mode
  6532.                     {
  6533.                         Sleep (0x01F4)
  6534.                         If (LNotEqual (SCFG, 0x04))
  6535.                         {
  6536.                             Name (SBUF, Buffer (0x14)
  6537.                             {
  6538.                                 /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  6539.                                 /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  6540.                                 /* 0010 */  0x00, 0x00, 0x00, 0x00                           /* .... */
  6541.                             })
  6542.                             CreateDWordField (SBUF, Zero, PIO0)
  6543.                             CreateDWordField (SBUF, 0x04, DMA0)
  6544.                             CreateDWordField (SBUF, 0x08, PIO1)
  6545.                             CreateDWordField (SBUF, 0x0C, DMA1)
  6546.                             CreateDWordField (SBUF, 0x10, FLAG)
  6547.                             Store (GETP (SECT), PIO0) /* \_SB_.PCI0.SATA.SECD._GTM.PIO0 */
  6548.                             Store (GDMA (And (SYNC, 0x04), And (ICR3, 0x04),
  6549.                                 And (ICR0, 0x04), SDT2, And (ICR1, 0x04)), DMA0) /* \_SB_.PCI0.SATA.SECD._GTM.DMA0 */
  6550.                             If (LEqual (DMA0, Ones))
  6551.                             {
  6552.                                 Store (PIO0, DMA0) /* \_SB_.PCI0.SATA.SECD._GTM.DMA0 */
  6553.                             }
  6554.  
  6555.                             If (And (SECT, 0x4000))
  6556.                             {
  6557.                                 If (LEqual (And (SECT, 0x90), 0x80))
  6558.                                 {
  6559.                                     Store (0x0384, PIO1) /* \_SB_.PCI0.SATA.SECD._GTM.PIO1 */
  6560.                                 }
  6561.                                 Else
  6562.                                 {
  6563.                                     Store (GETT (SSIT), PIO1) /* \_SB_.PCI0.SATA.SECD._GTM.PIO1 */
  6564.                                 }
  6565.                             }
  6566.                             Else
  6567.                             {
  6568.                                 Store (Ones, PIO1) /* \_SB_.PCI0.SATA.SECD._GTM.PIO1 */
  6569.                             }
  6570.  
  6571.                             Store (GDMA (And (SYNC, 0x08), And (ICR3, 0x08),
  6572.                                 And (ICR0, 0x08), SDT3, And (ICR1, 0x08)), DMA1) /* \_SB_.PCI0.SATA.SECD._GTM.DMA1 */
  6573.                             If (LEqual (DMA1, Ones))
  6574.                             {
  6575.                                 Store (PIO1, DMA1) /* \_SB_.PCI0.SATA.SECD._GTM.DMA1 */
  6576.                             }
  6577.  
  6578.                             Store (GETF (And (SYNC, 0x04), And (SYNC, 0x08),
  6579.                                 SECT), FLAG) /* \_SB_.PCI0.SATA.SECD._GTM.FLAG */
  6580.                             If (And (LEqual (PIO0, Ones), LEqual (DMA0, Ones)))
  6581.                             {
  6582.                                 Store (0x78, PIO0) /* \_SB_.PCI0.SATA.SECD._GTM.PIO0 */
  6583.                                 Store (0x14, DMA0) /* \_SB_.PCI0.SATA.SECD._GTM.DMA0 */
  6584.                                 Store (0x03, FLAG) /* \_SB_.PCI0.SATA.SECD._GTM.FLAG */
  6585.                             }
  6586.  
  6587.                             Return (SBUF) /* \_SB_.PCI0.SATA.SECD._GTM.SBUF */
  6588.                         }
  6589.  
  6590.                         Return (Buffer (Zero) {})
  6591.                     }
  6592.  
  6593.                     Method (_STM, 3, NotSerialized)  // _STM: Set Timing Mode
  6594.                     {
  6595.                         If (LNotEqual (SCFG, 0x04))
  6596.                         {
  6597.                             CreateDWordField (Arg0, Zero, PIO0)
  6598.                             CreateDWordField (Arg0, 0x04, DMA0)
  6599.                             CreateDWordField (Arg0, 0x08, PIO1)
  6600.                             CreateDWordField (Arg0, 0x0C, DMA1)
  6601.                             CreateDWordField (Arg0, 0x10, FLAG)
  6602.                             If (LEqual (SizeOf (Arg1), 0x0200))
  6603.                             {
  6604.                                 And (SECT, 0x40F0, SECT) /* \_SB_.PCI0.SATA.SECT */
  6605.                                 And (SYNC, 0x0B, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6606.                                 Store (Zero, SDT2) /* \_SB_.PCI0.SATA.SDT2 */
  6607.                                 And (ICR0, 0x0B, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6608.                                 And (ICR1, 0x0B, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6609.                                 And (ICR3, 0x0B, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6610.                                 And (ICR5, 0x0B, ICR5) /* \_SB_.PCI0.SATA.ICR5 */
  6611.                                 CreateWordField (Arg1, 0x62, W490)
  6612.                                 CreateWordField (Arg1, 0x6A, W530)
  6613.                                 CreateWordField (Arg1, 0x7E, W630)
  6614.                                 CreateWordField (Arg1, 0x80, W640)
  6615.                                 CreateWordField (Arg1, 0xB0, W880)
  6616.                                 CreateWordField (Arg1, 0xBA, W930)
  6617.                                 Or (SECT, 0x8004, SECT) /* \_SB_.PCI0.SATA.SECT */
  6618.                                 If (LAnd (And (FLAG, 0x02), And (W490, 0x0800)))
  6619.                                 {
  6620.                                     Or (SECT, 0x02, SECT) /* \_SB_.PCI0.SATA.SECT */
  6621.                                 }
  6622.  
  6623.                                 Or (SECT, SETP (PIO0, W530, W640), SECT) /* \_SB_.PCI0.SATA.SECT */
  6624.                                 If (And (FLAG, One))
  6625.                                 {
  6626.                                     Or (SYNC, 0x04, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6627.                                     Store (SDMA (DMA0), SDT2) /* \_SB_.PCI0.SATA.SDT2 */
  6628.                                     If (LLess (DMA0, 0x1E))
  6629.                                     {
  6630.                                         Or (ICR3, 0x04, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6631.                                     }
  6632.  
  6633.                                     If (LLess (DMA0, 0x3C))
  6634.                                     {
  6635.                                         Or (ICR0, 0x04, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6636.                                     }
  6637.  
  6638.                                     If (And (W930, 0x2000))
  6639.                                     {
  6640.                                         Or (ICR1, 0x04, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6641.                                     }
  6642.                                 }
  6643.                             }
  6644.  
  6645.                             If (LEqual (SizeOf (Arg2), 0x0200))
  6646.                             {
  6647.                                 And (SECT, 0x3F0F, SECT) /* \_SB_.PCI0.SATA.SECT */
  6648.                                 Store (Zero, SSIT) /* \_SB_.PCI0.SATA.SSIT */
  6649.                                 And (SYNC, 0x07, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6650.                                 Store (Zero, SDT3) /* \_SB_.PCI0.SATA.SDT3 */
  6651.                                 And (ICR0, 0x07, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6652.                                 And (ICR1, 0x07, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6653.                                 And (ICR3, 0x07, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6654.                                 And (ICR5, 0x07, ICR5) /* \_SB_.PCI0.SATA.ICR5 */
  6655.                                 CreateWordField (Arg2, 0x62, W491)
  6656.                                 CreateWordField (Arg2, 0x6A, W531)
  6657.                                 CreateWordField (Arg2, 0x7E, W631)
  6658.                                 CreateWordField (Arg2, 0x80, W641)
  6659.                                 CreateWordField (Arg2, 0xB0, W881)
  6660.                                 CreateWordField (Arg2, 0xBA, W931)
  6661.                                 Or (SECT, 0x8040, SECT) /* \_SB_.PCI0.SATA.SECT */
  6662.                                 If (LAnd (And (FLAG, 0x08), And (W491, 0x0800)))
  6663.                                 {
  6664.                                     Or (SECT, 0x20, SECT) /* \_SB_.PCI0.SATA.SECT */
  6665.                                 }
  6666.  
  6667.                                 If (And (FLAG, 0x10))
  6668.                                 {
  6669.                                     Or (SECT, 0x4000, SECT) /* \_SB_.PCI0.SATA.SECT */
  6670.                                     If (LGreater (PIO1, 0xF0))
  6671.                                     {
  6672.                                         Or (SECT, 0x80, SECT) /* \_SB_.PCI0.SATA.SECT */
  6673.                                     }
  6674.                                     Else
  6675.                                     {
  6676.                                         Or (SECT, 0x10, SECT) /* \_SB_.PCI0.SATA.SECT */
  6677.                                         Store (SETT (PIO1, W531, W641), SSIT) /* \_SB_.PCI0.SATA.SSIT */
  6678.                                     }
  6679.                                 }
  6680.  
  6681.                                 If (And (FLAG, 0x04))
  6682.                                 {
  6683.                                     Or (SYNC, 0x08, SYNC) /* \_SB_.PCI0.SATA.SYNC */
  6684.                                     Store (SDMA (DMA1), SDT3) /* \_SB_.PCI0.SATA.SDT3 */
  6685.                                     If (LLess (DMA1, 0x1E))
  6686.                                     {
  6687.                                         Or (ICR3, 0x08, ICR3) /* \_SB_.PCI0.SATA.ICR3 */
  6688.                                     }
  6689.  
  6690.                                     If (LLess (DMA1, 0x3C))
  6691.                                     {
  6692.                                         Or (ICR0, 0x08, ICR0) /* \_SB_.PCI0.SATA.ICR0 */
  6693.                                     }
  6694.  
  6695.                                     If (And (W931, 0x2000))
  6696.                                     {
  6697.                                         Or (ICR1, 0x08, ICR1) /* \_SB_.PCI0.SATA.ICR1 */
  6698.                                     }
  6699.                                 }
  6700.                             }
  6701.                         }
  6702.                     }
  6703.  
  6704.                     Device (S_D0)
  6705.                     {
  6706.                         Name (_ADR, Zero)  // _ADR: Address
  6707.                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6708.                         {
  6709.                             If (LNotEqual (SCFG, 0x04))
  6710.                             {
  6711.                                 Name (SIB0, Buffer (0x0E)
  6712.                                 {
  6713.                                     /* 0000 */  0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF, 0x03,  /* ........ */
  6714.                                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF               /* ...... */
  6715.                                 })
  6716.                                 CreateByteField (SIB0, One, PMD0)
  6717.                                 CreateByteField (SIB0, 0x08, DMD0)
  6718.                                 If (And (SECT, 0x02))
  6719.                                 {
  6720.                                     If (LEqual (And (SECT, 0x09), 0x08))
  6721.                                     {
  6722.                                         Store (0x08, PMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.PMD0 */
  6723.                                     }
  6724.                                     Else
  6725.                                     {
  6726.                                         Store (0x0A, PMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.PMD0 */
  6727.                                         ShiftRight (And (SECT, 0x0300), 0x08, Local0)
  6728.                                         ShiftRight (And (SECT, 0x3000), 0x0C, Local1)
  6729.                                         Add (Local0, Local1, Local2)
  6730.                                         If (LEqual (0x03, Local2))
  6731.                                         {
  6732.                                             Store (0x0B, PMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.PMD0 */
  6733.                                         }
  6734.  
  6735.                                         If (LEqual (0x05, Local2))
  6736.                                         {
  6737.                                             Store (0x0C, PMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.PMD0 */
  6738.                                         }
  6739.                                     }
  6740.                                 }
  6741.                                 Else
  6742.                                 {
  6743.                                     Store (One, PMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.PMD0 */
  6744.                                 }
  6745.  
  6746.                                 If (And (SYNC, 0x04))
  6747.                                 {
  6748.                                     Store (Or (SDT2, 0x40), DMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.DMD0 */
  6749.                                     If (And (ICR1, 0x04))
  6750.                                     {
  6751.                                         If (And (ICR0, 0x04))
  6752.                                         {
  6753.                                             Add (DMD0, 0x02, DMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.DMD0 */
  6754.                                         }
  6755.  
  6756.                                         If (And (ICR3, 0x04))
  6757.                                         {
  6758.                                             Store (0x45, DMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.DMD0 */
  6759.                                         }
  6760.                                     }
  6761.                                 }
  6762.                                 Else
  6763.                                 {
  6764.                                     Or (Subtract (And (PMD0, 0x07), 0x02), 0x20, DMD0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.DMD0 */
  6765.                                 }
  6766.  
  6767.                                 Return (SIB0) /* \_SB_.PCI0.SATA.SECD.S_D0._GTF.SIB0 */
  6768.                             }
  6769.  
  6770.                             Return (Buffer (Zero) {})
  6771.                         }
  6772.                     }
  6773.  
  6774.                     Device (S_D1)
  6775.                     {
  6776.                         Name (_ADR, One)  // _ADR: Address
  6777.                         Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6778.                         {
  6779.                             If (LNotEqual (SCFG, 0x04))
  6780.                             {
  6781.                                 Name (SIB1, Buffer (0x0E)
  6782.                                 {
  6783.                                     /* 0000 */  0x03, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF, 0x03,  /* ........ */
  6784.                                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0xB0, 0xEF               /* ...... */
  6785.                                 })
  6786.                                 CreateByteField (SIB1, One, PMD1)
  6787.                                 CreateByteField (SIB1, 0x08, DMD1)
  6788.                                 If (And (SECT, 0x20))
  6789.                                 {
  6790.                                     If (LEqual (And (SECT, 0x90), 0x80))
  6791.                                     {
  6792.                                         Store (0x08, PMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.PMD1 */
  6793.                                     }
  6794.                                     Else
  6795.                                     {
  6796.                                         Add (And (SSIT, 0x03), ShiftRight (And (SSIT, 0x0C),
  6797.                                             0x02), Local0)
  6798.                                         If (LEqual (0x05, Local0))
  6799.                                         {
  6800.                                             Store (0x0C, PMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.PMD1 */
  6801.                                         }
  6802.                                         Else
  6803.                                         {
  6804.                                             If (LEqual (0x03, Local0))
  6805.                                             {
  6806.                                                 Store (0x0B, PMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.PMD1 */
  6807.                                             }
  6808.                                             Else
  6809.                                             {
  6810.                                                 Store (0x0A, PMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.PMD1 */
  6811.                                             }
  6812.                                         }
  6813.                                     }
  6814.                                 }
  6815.                                 Else
  6816.                                 {
  6817.                                     Store (One, PMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.PMD1 */
  6818.                                 }
  6819.  
  6820.                                 If (And (SYNC, 0x08))
  6821.                                 {
  6822.                                     Store (Or (SDT3, 0x40), DMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.DMD1 */
  6823.                                     If (And (ICR1, 0x08))
  6824.                                     {
  6825.                                         If (And (ICR0, 0x08))
  6826.                                         {
  6827.                                             Add (DMD1, 0x02, DMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.DMD1 */
  6828.                                         }
  6829.  
  6830.                                         If (And (ICR3, 0x08))
  6831.                                         {
  6832.                                             Store (0x45, DMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.DMD1 */
  6833.                                         }
  6834.                                     }
  6835.                                 }
  6836.                                 Else
  6837.                                 {
  6838.                                     Or (Subtract (And (PMD1, 0x07), 0x02), 0x20, DMD1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.DMD1 */
  6839.                                 }
  6840.  
  6841.                                 Return (SIB1) /* \_SB_.PCI0.SATA.SECD.S_D1._GTF.SIB1 */
  6842.                             }
  6843.  
  6844.                             Return (Buffer (Zero) {})
  6845.                         }
  6846.                     }
  6847.                 }
  6848.  
  6849.                 Device (PRT0)
  6850.                 {
  6851.                     Name (_ADR, 0xFFFF)  // _ADR: Address
  6852.                     Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
  6853.                     {
  6854.                         If (LEqual (SCFG, 0x04))
  6855.                         {
  6856.                             Name (GBU0, Buffer (0x07)
  6857.                             {
  6858.                                  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         /* ....... */
  6859.                             })
  6860.                             CreateByteField (GBU0, Zero, GB00)
  6861.                             CreateByteField (GBU0, One, GB01)
  6862.                             CreateByteField (GBU0, 0x02, GB02)
  6863.                             CreateByteField (GBU0, 0x03, GB03)
  6864.                             CreateByteField (GBU0, 0x04, GB04)
  6865.                             CreateByteField (GBU0, 0x05, GB05)
  6866.                             CreateByteField (GBU0, 0x06, GB06)
  6867.                             If (LEqual (SizeOf (Arg0), 0x0200))
  6868.                             {
  6869.                                 CreateWordField (Arg0, 0x9C, W780)
  6870.                                 CreateWordField (Arg0, 0x9E, W790)
  6871.                                 If (LAnd (W780, 0x04))
  6872.                                 {
  6873.                                     If (LEqual (And (W790, 0x04), Zero))
  6874.                                     {
  6875.                                         Store (0x10, GB00) /* \_SB_.PCI0.SATA.PRT0._SDD.GB00 */
  6876.                                         Store (0x03, GB01) /* \_SB_.PCI0.SATA.PRT0._SDD.GB01 */
  6877.                                         Store (0xEF, GB06) /* \_SB_.PCI0.SATA.PRT0._SDD.GB06 */
  6878.                                     }
  6879.                                 }
  6880.                             }
  6881.  
  6882.                             Store (GBU0, GTF0) /* \GTF0 */
  6883.                         }
  6884.                     }
  6885.  
  6886.                     Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6887.                     {
  6888.                         If (LAnd (LEqual (SCFG, 0x04), LEqual (AIBT, Zero)))
  6889.                         {
  6890.                             Return (GTF0) /* \GTF0 */
  6891.                         }
  6892.  
  6893.                         Return (Buffer (Zero) {})
  6894.                     }
  6895.                 }
  6896.  
  6897.                 Device (PRT2)
  6898.                 {
  6899.                     Name (_ADR, 0x0002FFFF)  // _ADR: Address
  6900.                     Method (_SDD, 1, NotSerialized)  // _SDD: Set Device Data
  6901.                     {
  6902.                         If (LEqual (SCFG, 0x04))
  6903.                         {
  6904.                             Name (GBU2, Buffer (0x07)
  6905.                             {
  6906.                                  0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x00         /* ....... */
  6907.                             })
  6908.                             CreateByteField (GBU2, Zero, GB20)
  6909.                             CreateByteField (GBU2, One, GB21)
  6910.                             CreateByteField (GBU2, 0x02, GB22)
  6911.                             CreateByteField (GBU2, 0x03, GB23)
  6912.                             CreateByteField (GBU2, 0x04, GB24)
  6913.                             CreateByteField (GBU2, 0x05, GB25)
  6914.                             CreateByteField (GBU2, 0x06, GB26)
  6915.                             If (LEqual (SizeOf (Arg0), 0x0200))
  6916.                             {
  6917.                                 CreateWordField (Arg0, 0x9C, W782)
  6918.                                 CreateWordField (Arg0, 0x9E, W792)
  6919.                                 If (LAnd (W782, 0x04))
  6920.                                 {
  6921.                                     If (LEqual (And (W792, 0x04), Zero))
  6922.                                     {
  6923.                                         Store (0x10, GB20) /* \_SB_.PCI0.SATA.PRT2._SDD.GB20 */
  6924.                                         Store (0x03, GB21) /* \_SB_.PCI0.SATA.PRT2._SDD.GB21 */
  6925.                                         Store (0xEF, GB26) /* \_SB_.PCI0.SATA.PRT2._SDD.GB26 */
  6926.                                     }
  6927.                                 }
  6928.                             }
  6929.  
  6930.                             Store (GBU2, GTF2) /* \GTF2 */
  6931.                         }
  6932.                     }
  6933.  
  6934.                     Method (_GTF, 0, NotSerialized)  // _GTF: Get Task File
  6935.                     {
  6936.                         If (LAnd (LEqual (SCFG, 0x04), LEqual (AIBT, Zero)))
  6937.                         {
  6938.                             Return (GTF2) /* \GTF2 */
  6939.                         }
  6940.  
  6941.                         Return (Buffer (Zero) {})
  6942.                     }
  6943.                 }
  6944.             }
  6945.  
  6946.             Device (MIR)
  6947.             {
  6948.                 Name (_HID, EisaId ("ENE0100"))  // _HID: Hardware ID
  6949.                 Method (_STA, 0, NotSerialized)  // _STA: Status
  6950.                 {
  6951.                     If (LGreaterEqual (OSYS, 0x07D6))
  6952.                     {
  6953.                         If (LOr (And (OTHR, 0x02), And (OTHR, 0x40)))
  6954.                         {
  6955.                             Return (Zero)
  6956.                         }
  6957.                         Else
  6958.                         {
  6959.                             Return (0x0F)
  6960.                         }
  6961.                     }
  6962.                     Else
  6963.                     {
  6964.                         Return (Zero)
  6965.                     }
  6966.                 }
  6967.  
  6968.                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
  6969.                 {
  6970.                     Name (BUF0, ResourceTemplate ()
  6971.                     {
  6972.                         IO (Decode16,
  6973.                             0xFF2C,             // Range Minimum
  6974.                             0xFF2C,             // Range Maximum
  6975.                             0x01,               // Alignment
  6976.                             0x04,               // Length
  6977.                             )
  6978.                         IRQNoFlags ()
  6979.                             {4}
  6980.                     })
  6981.                     Return (BUF0) /* \_SB_.PCI0.MIR_._CRS.BUF0 */
  6982.                 }
  6983.  
  6984.                 Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  6985.                 {
  6986.                     IO (Decode16,
  6987.                         0xFF2C,             // Range Minimum
  6988.                         0xFF2C,             // Range Maximum
  6989.                         0x01,               // Alignment
  6990.                         0x04,               // Length
  6991.                         )
  6992.                     IRQNoFlags ()
  6993.                         {4}
  6994.                 })
  6995.             }
  6996.  
  6997.             Device (WMID)
  6998.             {
  6999.                 Name (_HID, "PNP0C14" /* Windows Management Instrumentation Device */)  // _HID: Hardware ID
  7000.                 Name (_UID, Zero)  // _UID: Unique ID
  7001.                 Name (ERRD, 0x00010000)
  7002.                 Name (BUFF, Buffer (0x04)
  7003.                 {
  7004.                      0x00, 0x00, 0x00, 0x00                           /* .... */
  7005.                 })
  7006.                 CreateByteField (BUFF, Zero, BF00)
  7007.                 CreateByteField (BUFF, One, BF01)
  7008.                 CreateByteField (BUFF, 0x02, BF02)
  7009.                 CreateByteField (BUFF, 0x03, BF03)
  7010.                 Name (BUF1, Buffer (0x04)
  7011.                 {
  7012.                      0x00, 0x00, 0x00, 0x00                           /* .... */
  7013.                 })
  7014.                 Name (AADS, Buffer (0x04)
  7015.                 {
  7016.                      0x00                                             /* . */
  7017.                 })
  7018.                 CreateField (AADS, Zero, 0x04, AS00)
  7019.                 CreateField (AADS, 0x04, One, AS01)
  7020.                 CreateField (AADS, 0x05, One, AS02)
  7021.                 CreateField (AADS, 0x10, 0x10, AS03)
  7022.                 Name (BAEF, Zero)
  7023.                 Name (BADF, Zero)
  7024.                 Name (BADG, Package (0x0D)
  7025.                 {
  7026.                     Zero,
  7027.                     Zero,
  7028.                     Zero,
  7029.                     Zero,
  7030.                     Zero,
  7031.                     Zero,
  7032.                     Zero,
  7033.                     0x00010000,
  7034.                     0x00010000,
  7035.                     0x00010000,
  7036.                     0x00010000,
  7037.                     Zero,
  7038.                     0x00010000
  7039.                 })
  7040.                 Name (WLDS, Zero)
  7041.                 Name (WLED, Zero)
  7042.                 Name (BTDS, Zero)
  7043.                 Name (BTED, Zero)
  7044.                 Name (BLDS, Zero)
  7045.                 Name (BLED, Zero)
  7046.                 Name (NTDC, Zero)
  7047.                 Name (NTDV, Zero)
  7048.                 Name (WLSD, 0x0100)
  7049.                 Name (WLSE, 0x0101)
  7050.                 Name (BLTD, 0x0200)
  7051.                 Name (BLTE, 0x0201)
  7052.                 Name (LBL0, 0x0300)
  7053.                 Name (LBL1, 0x0301)
  7054.                 Name (LBL2, 0x0302)
  7055.                 Name (LBL3, 0x0303)
  7056.                 Name (LBL4, 0x0304)
  7057.                 Name (LBL5, 0x0305)
  7058.                 Name (LBL6, 0x0306)
  7059.                 Name (LBL7, 0x0307)
  7060.                 Name (LBL8, 0x0308)
  7061.                 Name (LBL9, 0x0309)
  7062.                 Name (LBLA, 0x030A)
  7063.                 Name (LBLB, 0x030B)
  7064.                 Name (LBLC, 0x030C)
  7065.                 Name (LBLD, 0x030D)
  7066.                 Name (LBLE, 0x030E)
  7067.                 Name (LBLF, 0x030F)
  7068.                 Name (CADI, 0x0401)
  7069.                 Name (CADO, 0x0400)
  7070.                 Name (GSEE, 0x0501)
  7071.                 Name (GSED, 0x0502)
  7072.                 Name (VAPI, 0x0601)
  7073.                 Name (VAPO, 0x0600)
  7074.                 Name (WBBO, 0x0701)
  7075.                 Name (WBBI, 0x0700)
  7076.                 Name (G3MD, 0x0800)
  7077.                 Name (G3ME, 0x0801)
  7078.                 Name (LANI, 0x0900)
  7079.                 Name (LANO, 0x0901)
  7080.                 Name (LDOF, 0x0A00)
  7081.                 Name (LDON, 0x0A01)
  7082.                 Name (FNKE, 0x00010002)
  7083.                 Name (FNF5, 0x00015001)
  7084.                 Name (BBSB, Buffer (0x04)
  7085.                 {
  7086.                      0x00, 0x00, 0x00, 0x00                           /* .... */
  7087.                 })
  7088.                 CreateField (BBSB, Zero, 0x10, BBD0)
  7089.                 CreateField (BBSB, 0x10, 0x10, BBD1)
  7090.                 Name (TLS0, Zero)
  7091.                 Name (TLS1, One)
  7092.                 Name (TLS2, 0x02)
  7093.                 Name (TLS3, 0x03)
  7094.                 Name (TLS4, 0x04)
  7095.                 Name (TLS5, 0x05)
  7096.                 Name (TLS6, 0x06)
  7097.                 Name (TLS7, 0x07)
  7098.                 Name (BCDS, Package (0x0D)
  7099.                 {
  7100.                     0x00010000,
  7101.                     0x00010000,
  7102.                     0x00010000,
  7103.                     0x00010000,
  7104.                     0x00010000,
  7105.                     0x00010000,
  7106.                     0x00010000,
  7107.                     0x00010000,
  7108.                     0x00010000,
  7109.                     0x00010000,
  7110.                     0x00010000,
  7111.                     0x00010000,
  7112.                     0x00010000
  7113.                 })
  7114.                 Name (BDDS, Buffer (0x04)
  7115.                 {
  7116.                      0x00, 0x00, 0x00, 0x00                           /* .... */
  7117.                 })
  7118.                 CreateField (BDDS, Zero, 0x10, BDD0)
  7119.                 CreateField (BDDS, 0x10, 0x10, BDD1)
  7120.                 Name (DSY0, Buffer (0x28)
  7121.                 {
  7122.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7123.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7124.                     /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7125.                     /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7126.                     /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
  7127.                 })
  7128.                 Name (DSY1, Buffer (0x18)
  7129.                 {
  7130.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7131.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7132.                     /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
  7133.                 })
  7134.                 Name (DSY2, Buffer (0x10)
  7135.                 {
  7136.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7137.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
  7138.                 })
  7139.                 Name (DSY3, Buffer (0x18)
  7140.                 {
  7141.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7142.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7143.                     /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
  7144.                 })
  7145.                 Name (DSY4, Buffer (0x10)
  7146.                 {
  7147.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7148.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
  7149.                 })
  7150.                 Name (DSY5, Buffer (0x28)
  7151.                 {
  7152.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7153.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7154.                     /* 0010 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7155.                     /* 0018 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7156.                     /* 0020 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00   /* ........ */
  7157.                 })
  7158.                 CreateField (DSY0, Zero, 0x40, DY00)
  7159.                 CreateField (DSY0, 0x40, 0x40, DY01)
  7160.                 CreateField (DSY0, 0x80, 0x40, DY02)
  7161.                 CreateField (DSY0, 0xC0, 0x40, DY03)
  7162.                 CreateField (DSY0, 0x0100, 0x40, DY04)
  7163.                 CreateField (DSY1, Zero, 0x40, DY10)
  7164.                 CreateField (DSY1, 0x40, 0x40, DY11)
  7165.                 CreateField (DSY1, 0x80, 0x40, DY12)
  7166.                 CreateField (DSY2, Zero, 0x40, DY20)
  7167.                 CreateField (DSY2, 0x40, 0x10, DY21)
  7168.                 CreateField (DSY2, 0x50, 0x10, DY22)
  7169.                 CreateField (DSY0, Zero, 0xC0, DSX4)
  7170.                 Name (BEDS, Package (0x12)
  7171.                 {
  7172.                     0x00010000,
  7173.                     0x00010000,
  7174.                     0x00010000,
  7175.                     0x00010000,
  7176.                     0x00010000,
  7177.                     0x00010000,
  7178.                     0x00010000,
  7179.                     0x00010000,
  7180.                     0x00010000,
  7181.                     0x00010000,
  7182.                     0x00010000,
  7183.                     0x00010000,
  7184.                     0x00010000,
  7185.                     0x00010000,
  7186.                     0x00010000,
  7187.                     0x00010000,
  7188.                     0x00010000,
  7189.                     0x00010000
  7190.                 })
  7191.                 Name (WIT0, Zero)
  7192.                 Name (DSY6, Buffer (0x14)
  7193.                 {
  7194.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7195.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7196.                     /* 0010 */  0x00, 0x00, 0x00, 0x00                           /* .... */
  7197.                 })
  7198.                 CreateField (DSY6, Zero, 0x20, DY60)
  7199.                 CreateField (DSY6, 0x20, 0x20, DY61)
  7200.                 CreateField (DSY6, 0x40, 0x20, DY62)
  7201.                 CreateField (DSY6, 0x60, 0x20, DY63)
  7202.                 CreateField (DSY6, 0x80, 0x20, DY64)
  7203.                 Name (WPRW, Buffer (0x14)
  7204.                 {
  7205.                     /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7206.                     /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  /* ........ */
  7207.                     /* 0010 */  0x00, 0x00, 0x00, 0x00                           /* .... */
  7208.                 })
  7209.                 CreateField (WPRW, Zero, 0x08, WWD0)
  7210.                 CreateField (WPRW, 0x08, 0x08, WWD1)
  7211.                 CreateField (WPRW, 0x10, 0x08, WWD2)
  7212.                 CreateField (WPRW, 0x18, 0x08, WWD3)
  7213.                 CreateField (WPRW, 0x20, 0x08, WWD4)
  7214.                 CreateField (WPRW, 0x28, 0x20, WWD5)
  7215.                 Name (WPCI, Buffer (0x04)
  7216.                 {
  7217.                      0x00, 0x00, 0x00, 0x00                           /* .... */
  7218.                 })
  7219.                 CreateField (WPCI, Zero, 0x08, WPIR)
  7220.                 CreateField (WPCI, 0x08, 0x03, WPIF)
  7221.                 CreateField (WPCI, 0x0B, 0x05, WPID)
  7222.                 CreateField (WPCI, 0x10, 0x08, WPIB)
  7223.                 Name (BFDS, Package (0x04)
  7224.                 {
  7225.                     0x02,
  7226.                     0x02,
  7227.                     0x02,
  7228.                     0x02
  7229.                 })
  7230.                 Name (GSTS, Zero)
  7231.                 Name (BFEF, Zero)
  7232.                 Name (BGEF, Zero)
  7233.                 Name (BGDS, Package (0x01)
  7234.                 {
  7235.                     One
  7236.                 })
  7237.                 Method (AAF1, 0, NotSerialized)
  7238.                 {
  7239.                     Store (^^LPC.EC0.WLEX, AS00) /* \_SB_.PCI0.WMID.AS00 */
  7240.                     Store (^^LPC.EC0.BTEX, AS01) /* \_SB_.PCI0.WMID.AS01 */
  7241.                     Store (Zero, AS02) /* \_SB_.PCI0.WMID.AS02 */
  7242.                     Store (Zero, AS03) /* \_SB_.PCI0.WMID.AS03 */
  7243.                 }
  7244.  
  7245.                 Method (WGDS, 1, NotSerialized)
  7246.                 {
  7247.                     Name (T_0, Zero)
  7248.                     Store (Arg0, T_0) /* \_SB_.PCI0.WMID.WGDS.T_0_ */
  7249.                     If (LEqual (T_0, One))
  7250.                     {
  7251.                         Store (^^LPC.EC0.WLAT, Index (BADG, Zero))
  7252.                     }
  7253.                     Else
  7254.                     {
  7255.                         If (LEqual (T_0, 0x02))
  7256.                         {
  7257.                             Store (^^LPC.EC0.BTAT, Index (BADG, One))
  7258.                         }
  7259.                         Else
  7260.                         {
  7261.                             If (LEqual (T_0, 0x03))
  7262.                             {
  7263.                                 Store (^^LPC.EC0.BRTS, Index (BADG, 0x02))
  7264.                             }
  7265.                             Else
  7266.                             {
  7267.                                 If (LEqual (T_0, 0x08))
  7268.                                 {
  7269.                                     Store (One, Index (BADG, 0x07))
  7270.                                 }
  7271.                                 Else
  7272.                                 {
  7273.                                     If (LEqual (T_0, 0x09))
  7274.                                     {
  7275.                                         Store (Zero, Index (BADG, 0x08))
  7276.                                     }
  7277.                                     Else
  7278.                                     {
  7279.                                         If (LEqual (T_0, 0x0C))
  7280.                                         {
  7281.                                             If (And (OTHR, One))
  7282.                                             {
  7283.                                                 Store (0x00010000, Index (BADG, 0x0B))
  7284.                                             }
  7285.                                             Else
  7286.                                             {
  7287.                                                 Store (^^LPC.EC0.LANC, Index (BADG, 0x0B))
  7288.                                             }
  7289.                                         }
  7290.                                         Else
  7291.                                         {
  7292.                                             If (LEqual (T_0, 0x0D))
  7293.                                             {
  7294.                                                 Store (^^LPC.EC0.LCDS, Index (BADG, 0x0C))
  7295.                                             }
  7296.                                         }
  7297.                                     }
  7298.                                 }
  7299.                             }
  7300.                         }
  7301.                     }
  7302.                 }
  7303.  
  7304.                 Method (WSDS, 2, NotSerialized)
  7305.                 {
  7306.                     Store (Arg1, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7307.                     Store (Arg0, Local0)
  7308.                     Store (BF00, Local1)
  7309.                     Store (Zero, Index (BADG, Subtract (Local0, One)))
  7310.                     Name (T_0, Zero)
  7311.                     Store (Local1, T_0) /* \_SB_.PCI0.WMID.WSDS.T_0_ */
  7312.                     If (LEqual (T_0, Zero))
  7313.                     {
  7314.                         Name (T_1, Zero)
  7315.                         Store (Local0, T_1) /* \_SB_.PCI0.WMID.WSDS.T_1_ */
  7316.                         If (LEqual (T_1, 0x04))
  7317.                         {
  7318.                             Store (Zero, ^^LPC.EC0.WLAT) /* \_SB_.PCI0.LPC_.EC0_.WLAT */
  7319.                         }
  7320.                         Else
  7321.                         {
  7322.                             If (LEqual (T_1, 0x05))
  7323.                             {
  7324.                                 Store (Zero, ^^LPC.EC0.BTAT) /* \_SB_.PCI0.LPC_.EC0_.BTAT */
  7325.                             }
  7326.                             Else
  7327.                             {
  7328.                                 If (LEqual (T_1, 0x06))
  7329.                                 {
  7330.                                     Store (Zero, ^^LPC.EC0.BRTS) /* \_SB_.PCI0.LPC_.EC0_.BRTS */
  7331.                                 }
  7332.                                 Else
  7333.                                 {
  7334.                                     If (LEqual (T_1, 0x07))
  7335.                                     {
  7336.                                         Store (Zero, BAEF) /* \_SB_.PCI0.WMID.BAEF */
  7337.                                     }
  7338.                                     Else
  7339.                                     {
  7340.                                         Store (0x0100, Index (BADG, Subtract (Local0, One)))
  7341.                                     }
  7342.                                 }
  7343.                             }
  7344.                         }
  7345.                     }
  7346.                     Else
  7347.                     {
  7348.                         Name (T_2, Zero)
  7349.                         Store (Local0, T_2) /* \_SB_.PCI0.WMID.WSDS.T_2_ */
  7350.                         If (LEqual (T_2, 0x04))
  7351.                         {
  7352.                             Store (One, ^^LPC.EC0.WLAT) /* \_SB_.PCI0.LPC_.EC0_.WLAT */
  7353.                         }
  7354.                         Else
  7355.                         {
  7356.                             If (LEqual (T_2, 0x05))
  7357.                             {
  7358.                                 Store (One, ^^LPC.EC0.BTAT) /* \_SB_.PCI0.LPC_.EC0_.BTAT */
  7359.                             }
  7360.                             Else
  7361.                             {
  7362.                                 If (LEqual (T_2, 0x06))
  7363.                                 {
  7364.                                     Store (Local1, ^^LPC.EC0.BRTS) /* \_SB_.PCI0.LPC_.EC0_.BRTS */
  7365.                                 }
  7366.                                 Else
  7367.                                 {
  7368.                                     If (LEqual (T_2, 0x07))
  7369.                                     {
  7370.                                         Store (One, BAEF) /* \_SB_.PCI0.WMID.BAEF */
  7371.                                     }
  7372.                                     Else
  7373.                                     {
  7374.                                         Store (0x0100, Index (BADG, Subtract (Local0, One)))
  7375.                                     }
  7376.                                 }
  7377.                             }
  7378.                         }
  7379.                     }
  7380.                 }
  7381.  
  7382.                 Method (OEMN, 0, NotSerialized)
  7383.                 {
  7384.                     If (LEqual (BGEF, One))
  7385.                     {
  7386.                         Store (NTDV, Local0)
  7387.                         If (LNotEqual (Local0, Zero))
  7388.                         {
  7389.                             Store (Zero, NTDV) /* \_SB_.PCI0.WMID.NTDV */
  7390.                             Return (Local0)
  7391.                         }
  7392.                     }
  7393.  
  7394.                     If (LEqual (BAEF, One))
  7395.                     {
  7396.                         Store (NTDC, Local0)
  7397.                         If (LNotEqual (Local0, Zero))
  7398.                         {
  7399.                             Store (Zero, NTDC) /* \_SB_.PCI0.WMID.NTDC */
  7400.                             Return (Local0)
  7401.                         }
  7402.                     }
  7403.  
  7404.                     If (LEqual (BFEF, One)) {}
  7405.                     Return (Zero)
  7406.                 }
  7407.  
  7408.                 Method (STRL, 2, NotSerialized)
  7409.                 {
  7410.                     Store (Arg0, Local0)
  7411.                     Store (Arg1, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7412.                     Store (Zero, BBSB) /* \_SB_.PCI0.WMID.BBSB */
  7413.                     Name (T_0, Zero)
  7414.                     Store (Local0, T_0) /* \_SB_.PCI0.WMID.STRL.T_0_ */
  7415.                     If (LEqual (T_0, One))
  7416.                     {
  7417.                         Store (^^LPC.EC0.THRO (Zero), Local1)
  7418.                         If (And (Local1, One))
  7419.                         {
  7420.                             Store (^^LPC.EC0.THRO (One), Local1)
  7421.                             Store (Local1, BBSB) /* \_SB_.PCI0.WMID.BBSB */
  7422.                         }
  7423.                     }
  7424.                     Else
  7425.                     {
  7426.                         If (LEqual (T_0, 0x02))
  7427.                         {
  7428.                             Store (BF00, Local1)
  7429.                             ^^LPC.EC0.CLCK (Local1)
  7430.                         }
  7431.                         Else
  7432.                         {
  7433.                             Store (0x00010000, BBSB) /* \_SB_.PCI0.WMID.BBSB */
  7434.                         }
  7435.                     }
  7436.                 }
  7437.  
  7438.                 Method (WODP, 2, NotSerialized)
  7439.                 {
  7440.                     If (LEqual (Arg0, 0x03))
  7441.                     {
  7442.                         Store (^^LPC.EC0.LANP, Index (BCDS, Subtract (Arg0, One)))
  7443.                     }
  7444.                     Else
  7445.                     {
  7446.                         Store (One, Index (BCDS, Subtract (Arg0, One)))
  7447.                     }
  7448.  
  7449.                     If (LEqual (Arg0, 0x0C))
  7450.                     {
  7451.                         If (Arg1)
  7452.                         {
  7453.                             Store (One, ^^LPC.EC0.LANP) /* \_SB_.PCI0.LPC_.EC0_.LANP */
  7454.                         }
  7455.                         Else
  7456.                         {
  7457.                             Store (Zero, ^^LPC.EC0.LANP) /* \_SB_.PCI0.LPC_.EC0_.LANP */
  7458.                         }
  7459.  
  7460.                         Store (Zero, Index (BCDS, Subtract (Arg0, 0x0A)))
  7461.                     }
  7462.                     Else
  7463.                     {
  7464.                         Store (One, Index (BCDS, Subtract (Arg0, 0x0A)))
  7465.                     }
  7466.                 }
  7467.  
  7468.                 Method (GCPU, 1, NotSerialized)
  7469.                 {
  7470.                     Store (DSY5, DSY0) /* \_SB_.PCI0.WMID.DSY0 */
  7471.                     Store (Arg0, Local0)
  7472.                     Store (IHWM (Zero, Arg0), Local2)
  7473.                     Store (Local2, DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  7474.                     Store (DY60, DY00) /* \_SB_.PCI0.WMID.DY00 */
  7475.                     Store (DY61, DY01) /* \_SB_.PCI0.WMID.DY01 */
  7476.                     Store (DY62, DY02) /* \_SB_.PCI0.WMID.DY02 */
  7477.                     Store (DY63, DY03) /* \_SB_.PCI0.WMID.DY03 */
  7478.                 }
  7479.  
  7480.                 Method (MSRR, 1, NotSerialized)
  7481.                 {
  7482.                     Store (DSY3, DSY1) /* \_SB_.PCI0.WMID.DSY1 */
  7483.                     Store (Arg0, DY00) /* \_SB_.PCI0.WMID.DY00 */
  7484.                     Store (IHWM (One, Arg0), Local2)
  7485.                     Store (Local2, DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  7486.                     Store (DY60, DY10) /* \_SB_.PCI0.WMID.DY10 */
  7487.                     Store (DY61, DY11) /* \_SB_.PCI0.WMID.DY11 */
  7488.                     Store (Zero, WIT0) /* \_SB_.PCI0.WMID.WIT0 */
  7489.                     Store (WIT0, DY12) /* \_SB_.PCI0.WMID.DY12 */
  7490.                 }
  7491.  
  7492.                 Method (MSRW, 1, NotSerialized)
  7493.                 {
  7494.                     Store (DSY3, DSY1) /* \_SB_.PCI0.WMID.DSY1 */
  7495.                     Store (IHWM (0x02, Arg0), Local2)
  7496.                     Store (Local2, DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  7497.                     Store (DY60, DY10) /* \_SB_.PCI0.WMID.DY10 */
  7498.                     Store (DY61, DY11) /* \_SB_.PCI0.WMID.DY11 */
  7499.                     Store (Zero, WIT0) /* \_SB_.PCI0.WMID.WIT0 */
  7500.                     Store (WIT0, DY12) /* \_SB_.PCI0.WMID.DY12 */
  7501.                 }
  7502.  
  7503.                 Method (C4C3, 2, NotSerialized)
  7504.                 {
  7505.                     Store (Arg1, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7506.                     If (LNotEqual (And (PPMF, 0x80), 0x80))
  7507.                     {
  7508.                         Store (0x00010000, Index (BCDS, 0x09))
  7509.                     }
  7510.                     Else
  7511.                     {
  7512.                         If (LEqual (Arg0, 0x04))
  7513.                         {
  7514.                             Store (BF00, ^^LPC.C4O3) /* \_SB_.PCI0.LPC_.C4O3 */
  7515.                             Store (BF00, Index (BCDS, 0x09))
  7516.                         }
  7517.                         Else
  7518.                         {
  7519.                             Store (^^LPC.C4O3, Index (BCDS, 0x09))
  7520.                         }
  7521.                     }
  7522.                 }
  7523.  
  7524.                 Method (CPUF, 0, NotSerialized)
  7525.                 {
  7526.                     Store (^^LPC.EC0.THFN, Local0)
  7527.                     Multiply (Local0, 0x64, Local1)
  7528.                     Store (Local1, Index (BCDS, 0x0A))
  7529.                 }
  7530.  
  7531.                 Method (CPUT, 0, NotSerialized)
  7532.                 {
  7533.                     Store (^^LPC.EC0.CTMP, Index (BCDS, 0x0B))
  7534.                 }
  7535.  
  7536.                 Method (PCIR, 1, NotSerialized)
  7537.                 {
  7538.                     Store (Arg0, Local0)
  7539.                     Store (IHWM (0x03, Arg0), Local2)
  7540.                     Store (Local2, DY20) /* \_SB_.PCI0.WMID.DY20 */
  7541.                     Store (Local2, DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  7542.                     Store (DSY4, DSY2) /* \_SB_.PCI0.WMID.DSY2 */
  7543.                     Store (DY60, DY20) /* \_SB_.PCI0.WMID.DY20 */
  7544.                 }
  7545.  
  7546.                 Method (PCIW, 1, NotSerialized)
  7547.                 {
  7548.                     Store (Arg0, Local0)
  7549.                     Store (Arg0, DY20) /* \_SB_.PCI0.WMID.DY20 */
  7550.                     Store (IHWM (0x04, Arg0), Local2)
  7551.                     Store (Local2, DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  7552.                     Store (DY61, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7553.                 }
  7554.  
  7555.                 Method (CPUS, 0, NotSerialized)
  7556.                 {
  7557.                     Store (IHWM (0x05, Zero), Local2)
  7558.                     Store (Local2, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7559.                     Store (BUFF, Index (BCDS, 0x0C))
  7560.                 }
  7561.  
  7562.                 Method (PCID, 1, NotSerialized)
  7563.                 {
  7564.                     Store (IHWM (0x06, Arg0), Local2)
  7565.                     Store (Local2, DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  7566.                 }
  7567.  
  7568.                 Method (BTIF, 2, NotSerialized)
  7569.                 {
  7570.                     Store (Arg0, Local0)
  7571.                     Store (Arg1, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7572.                     If (LEqual (Local0, 0x0D))
  7573.                     {
  7574.                         Store (BF02, BF00) /* \_SB_.PCI0.WMID.BF00 */
  7575.                         Store (BF01, Local1)
  7576.                         Store (BF02, BF00) /* \_SB_.PCI0.WMID.BF00 */
  7577.                         Store (BF01, Local1)
  7578.                     }
  7579.  
  7580.                     If (LEqual (Local0, 0x0E))
  7581.                     {
  7582.                         If (LEqual (BF00, Zero))
  7583.                         {
  7584.                             Store (0xFF, BF00) /* \_SB_.PCI0.WMID.BF00 */
  7585.                         }
  7586.                         Else
  7587.                         {
  7588.                             Store (BF00, Local1)
  7589.                             Store (One, BF00) /* \_SB_.PCI0.WMID.BF00 */
  7590.                         }
  7591.                     }
  7592.  
  7593.                     Name (T_0, Zero)
  7594.                     Store (BF00, T_0) /* \_SB_.PCI0.WMID.BTIF.T_0_ */
  7595.                     If (LEqual (T_0, One))
  7596.                     {
  7597.                         If (LEqual (^^LPC.EC0.BDC0, Zero))
  7598.                         {
  7599.                             Store (0x00020000, Local1)
  7600.                             Decrement (Local0)
  7601.                             Store (Local1, Index (BEDS, Local0))
  7602.                         }
  7603.                         Else
  7604.                         {
  7605.                             Name (T_1, Zero)
  7606.                             Store (Local0, T_1) /* \_SB_.PCI0.WMID.BTIF.T_1_ */
  7607.                             If (LEqual (T_1, One))
  7608.                             {
  7609.                                 Store (Zero, Index (BEDS, Zero))
  7610.                             }
  7611.                             Else
  7612.                             {
  7613.                                 If (LEqual (T_1, 0x02))
  7614.                                 {
  7615.                                     Store (^^LPC.EC0.BPTC, Index (BEDS, One))
  7616.                                 }
  7617.                                 Else
  7618.                                 {
  7619.                                     If (LEqual (T_1, 0x03))
  7620.                                     {
  7621.                                         Store (^^LPC.EC0.BPV0, Index (BEDS, 0x02))
  7622.                                     }
  7623.                                     Else
  7624.                                     {
  7625.                                         If (LEqual (T_1, 0x04))
  7626.                                         {
  7627.                                             Store (^^LPC.EC0.BSCU, Index (BEDS, 0x03))
  7628.                                         }
  7629.                                         Else
  7630.                                         {
  7631.                                             If (LEqual (T_1, 0x05))
  7632.                                             {
  7633.                                                 Store (^^LPC.EC0.BRC0, Index (BEDS, 0x04))
  7634.                                             }
  7635.                                             Else
  7636.                                             {
  7637.                                                 If (LEqual (T_1, 0x06))
  7638.                                                 {
  7639.                                                     Store (^^LPC.EC0.BFC0, Index (BEDS, 0x05))
  7640.                                                 }
  7641.                                                 Else
  7642.                                                 {
  7643.                                                     If (LEqual (T_1, 0x07))
  7644.                                                     {
  7645.                                                         Store (^^LPC.EC0.BSCY, Index (BEDS, 0x06))
  7646.                                                     }
  7647.                                                     Else
  7648.                                                     {
  7649.                                                         If (LEqual (T_1, 0x08))
  7650.                                                         {
  7651.                                                             Store (^^LPC.EC0.BDC0, Index (BEDS, 0x07))
  7652.                                                         }
  7653.                                                         Else
  7654.                                                         {
  7655.                                                             If (LEqual (T_1, 0x09))
  7656.                                                             {
  7657.                                                                 Store (^^LPC.EC0.BDV0, Index (BEDS, 0x08))
  7658.                                                             }
  7659.                                                             Else
  7660.                                                             {
  7661.                                                                 If (LEqual (T_1, 0x0A))
  7662.                                                                 {
  7663.                                                                     Store (^^LPC.EC0.BDAD, Index (BEDS, 0x09))
  7664.                                                                 }
  7665.                                                                 Else
  7666.                                                                 {
  7667.                                                                     If (LEqual (T_1, 0x0B))
  7668.                                                                     {
  7669.                                                                         Store (^^LPC.EC0.BSN0, Index (BEDS, 0x0A))
  7670.                                                                     }
  7671.                                                                     Else
  7672.                                                                     {
  7673.                                                                         If (LEqual (T_1, 0x0C))
  7674.                                                                         {
  7675.                                                                             If (LEqual (^^LPC.EC0.ACIS, One))
  7676.                                                                             {
  7677.                                                                                 Store (Zero, ^^LPC.EC0.PSRC) /* \_SB_.PCI0.LPC_.EC0_.PSRC */
  7678.                                                                                 Store (One, Index (BEDS, 0x0B))
  7679.                                                                             }
  7680.                                                                             Else
  7681.                                                                             {
  7682.                                                                                 Store (0x00020000, Index (BEDS, 0x0B))
  7683.                                                                             }
  7684.                                                                         }
  7685.                                                                         Else
  7686.                                                                         {
  7687.                                                                             If (LEqual (T_1, 0x0D))
  7688.                                                                             {
  7689.                                                                                 Store (Local1, ^^LPC.EC0.BTMA) /* \_SB_.PCI0.LPC_.EC0_.BTMA */
  7690.                                                                                 Store (One, ^^LPC.EC0.SCCF) /* \_SB_.PCI0.LPC_.EC0_.SCCF */
  7691.                                                                                 Store (One, Index (BEDS, 0x0C))
  7692.                                                                             }
  7693.                                                                             Else
  7694.                                                                             {
  7695.                                                                                 If (LEqual (T_1, 0x0E))
  7696.                                                                                 {
  7697.                                                                                     Store (Local1, ^^LPC.EC0.BTPV) /* \_SB_.PCI0.LPC_.EC0_.BTPV */
  7698.                                                                                     Store (Zero, ^^LPC.EC0.SCHG) /* \_SB_.PCI0.LPC_.EC0_.SCHG */
  7699.                                                                                     Store (One, ^^LPC.EC0.SCPF) /* \_SB_.PCI0.LPC_.EC0_.SCPF */
  7700.                                                                                     Store (One, Index (BEDS, 0x0D))
  7701.                                                                                 }
  7702.                                                                                 Else
  7703.                                                                                 {
  7704.                                                                                     If (LEqual (T_1, 0x0F))
  7705.                                                                                     {
  7706.                                                                                         Store (^^LPC.EC0.BDFC, Index (BEDS, 0x0E))
  7707.                                                                                     }
  7708.                                                                                     Else
  7709.                                                                                     {
  7710.                                                                                         If (LEqual (T_1, 0x10))
  7711.                                                                                         {
  7712.                                                                                             Store (^^LPC.EC0.BDME, Index (BEDS, 0x0F))
  7713.                                                                                         }
  7714.                                                                                         Else
  7715.                                                                                         {
  7716.                                                                                             If (LEqual (T_1, 0x11))
  7717.                                                                                             {
  7718.                                                                                                 Store (0x03E8, Index (BEDS, 0x10))
  7719.                                                                                             }
  7720.                                                                                             Else
  7721.                                                                                             {
  7722.                                                                                                 If (LEqual (T_1, 0x12))
  7723.                                                                                                 {
  7724.                                                                                                     Store (Zero, Index (BEDS, 0x11))
  7725.                                                                                                 }
  7726.                                                                                                 Else
  7727.                                                                                                 {
  7728.                                                                                                 }
  7729.                                                                                             }
  7730.                                                                                         }
  7731.                                                                                     }
  7732.                                                                                 }
  7733.                                                                             }
  7734.                                                                         }
  7735.                                                                     }
  7736.                                                                 }
  7737.                                                             }
  7738.                                                         }
  7739.                                                     }
  7740.                                                 }
  7741.                                             }
  7742.                                         }
  7743.                                     }
  7744.                                 }
  7745.                             }
  7746.                         }
  7747.                     }
  7748.                     Else
  7749.                     {
  7750.                         Name (T_2, Zero)
  7751.                         Store (Local0, T_2) /* \_SB_.PCI0.WMID.BTIF.T_2_ */
  7752.                         If (LEqual (T_2, One))
  7753.                         {
  7754.                             Store (0x00020000, Index (BEDS, Zero))
  7755.                         }
  7756.                         Else
  7757.                         {
  7758.                             If (LEqual (T_2, 0x02))
  7759.                             {
  7760.                                 Store (0x00020000, Index (BEDS, One))
  7761.                             }
  7762.                             Else
  7763.                             {
  7764.                                 If (LEqual (T_2, 0x03))
  7765.                                 {
  7766.                                     Store (0x00020000, Index (BEDS, 0x02))
  7767.                                 }
  7768.                                 Else
  7769.                                 {
  7770.                                     If (LEqual (T_2, 0x04))
  7771.                                     {
  7772.                                         Store (0x00020000, Index (BEDS, 0x03))
  7773.                                     }
  7774.                                     Else
  7775.                                     {
  7776.                                         If (LEqual (T_2, 0x05))
  7777.                                         {
  7778.                                             Store (0x00020000, Index (BEDS, 0x04))
  7779.                                         }
  7780.                                         Else
  7781.                                         {
  7782.                                             If (LEqual (T_2, 0x06))
  7783.                                             {
  7784.                                                 Store (0x00020000, Index (BEDS, 0x05))
  7785.                                             }
  7786.                                             Else
  7787.                                             {
  7788.                                                 If (LEqual (T_2, 0x07))
  7789.                                                 {
  7790.                                                     Store (0x00020000, Index (BEDS, 0x06))
  7791.                                                 }
  7792.                                                 Else
  7793.                                                 {
  7794.                                                     If (LEqual (T_2, 0x08))
  7795.                                                     {
  7796.                                                         Store (0x00020000, Index (BEDS, 0x07))
  7797.                                                     }
  7798.                                                     Else
  7799.                                                     {
  7800.                                                         If (LEqual (T_2, 0x09))
  7801.                                                         {
  7802.                                                             Store (0x00020000, Index (BEDS, 0x08))
  7803.                                                         }
  7804.                                                         Else
  7805.                                                         {
  7806.                                                             If (LEqual (T_2, 0x0A))
  7807.                                                             {
  7808.                                                                 Store (0x00020000, Index (BEDS, 0x09))
  7809.                                                             }
  7810.                                                             Else
  7811.                                                             {
  7812.                                                                 If (LEqual (T_2, 0x0B))
  7813.                                                                 {
  7814.                                                                     Store (0x00020000, Index (BEDS, 0x0A))
  7815.                                                                 }
  7816.                                                                 Else
  7817.                                                                 {
  7818.                                                                     If (LEqual (T_2, 0x0C))
  7819.                                                                     {
  7820.                                                                         If (LEqual (^^LPC.EC0.BDC0, Zero))
  7821.                                                                         {
  7822.                                                                             Store (0x00030000, Index (BEDS, 0x0B))
  7823.                                                                         }
  7824.                                                                         Else
  7825.                                                                         {
  7826.                                                                             Store (One, ^^LPC.EC0.PSRC) /* \_SB_.PCI0.LPC_.EC0_.PSRC */
  7827.                                                                             Store (One, Index (BEDS, 0x0B))
  7828.                                                                         }
  7829.                                                                     }
  7830.                                                                     Else
  7831.                                                                     {
  7832.                                                                         If (LEqual (T_2, 0x0D))
  7833.                                                                         {
  7834.                                                                             Store (0x00020000, Index (BEDS, 0x0C))
  7835.                                                                         }
  7836.                                                                         Else
  7837.                                                                         {
  7838.                                                                             If (LEqual (T_2, 0x0E))
  7839.                                                                             {
  7840.                                                                                 Store (One, ^^LPC.EC0.SCHG) /* \_SB_.PCI0.LPC_.EC0_.SCHG */
  7841.                                                                                 Store (One, ^^LPC.EC0.SCPF) /* \_SB_.PCI0.LPC_.EC0_.SCPF */
  7842.                                                                                 Store (One, Index (BEDS, 0x0D))
  7843.                                                                             }
  7844.                                                                             Else
  7845.                                                                             {
  7846.                                                                                 If (LEqual (T_2, 0x0F))
  7847.                                                                                 {
  7848.                                                                                     Store (0x00020000, Index (BEDS, 0x0E))
  7849.                                                                                 }
  7850.                                                                                 Else
  7851.                                                                                 {
  7852.                                                                                     If (LEqual (T_2, 0x10))
  7853.                                                                                     {
  7854.                                                                                         Store (0x00020000, Index (BEDS, 0x0F))
  7855.                                                                                     }
  7856.                                                                                     Else
  7857.                                                                                     {
  7858.                                                                                         If (LEqual (T_2, 0x11))
  7859.                                                                                         {
  7860.                                                                                             Store (0x03E8, Index (BEDS, 0x10))
  7861.                                                                                         }
  7862.                                                                                         Else
  7863.                                                                                         {
  7864.                                                                                             If (LEqual (T_2, 0x12))
  7865.                                                                                             {
  7866.                                                                                                 Store (Zero, Index (BEDS, 0x11))
  7867.                                                                                             }
  7868.                                                                                         }
  7869.                                                                                     }
  7870.                                                                                 }
  7871.                                                                             }
  7872.                                                                         }
  7873.                                                                     }
  7874.                                                                 }
  7875.                                                             }
  7876.                                                         }
  7877.                                                     }
  7878.                                                 }
  7879.                                             }
  7880.                                         }
  7881.                                     }
  7882.                                 }
  7883.                             }
  7884.                         }
  7885.                     }
  7886.                 }
  7887.  
  7888.                 Method (CKGS, 0, NotSerialized)
  7889.                 {
  7890.                     Store (One, GSTS) /* \_SB_.PCI0.WMID.GSTS */
  7891.                     Return (GSTS) /* \_SB_.PCI0.WMID.GSTS */
  7892.                 }
  7893.  
  7894.                 Method (WSHP, 1, NotSerialized)
  7895.                 {
  7896.                 }
  7897.  
  7898.                 Method (WSSL, 1, NotSerialized)
  7899.                 {
  7900.                 }
  7901.  
  7902.                 Method (WSSP, 1, NotSerialized)
  7903.                 {
  7904.                 }
  7905.  
  7906.                 Method (WSSE, 1, NotSerialized)
  7907.                 {
  7908.                 }
  7909.  
  7910.                 Method (WSVE, 1, NotSerialized)
  7911.                 {
  7912.                     Store (Arg0, Local0)
  7913.                     If (LEqual (Local0, One))
  7914.                     {
  7915.                         Store (One, BGEF) /* \_SB_.PCI0.WMID.BGEF */
  7916.                     }
  7917.                     Else
  7918.                     {
  7919.                         Store (Zero, BGEF) /* \_SB_.PCI0.WMID.BGEF */
  7920.                     }
  7921.  
  7922.                     Store (Zero, Index (BGDS, Zero))
  7923.                 }
  7924.  
  7925.                 Name (_WDG, Buffer (0xDC)
  7926.                 {
  7927.                     /* 0000 */  0x09, 0x4E, 0x76, 0x95, 0x56, 0xFB, 0x83, 0x4E,  /* .Nv.V..N */
  7928.                     /* 0008 */  0xB3, 0x1A, 0x37, 0x76, 0x1F, 0x60, 0x99, 0x4A,  /* ..7v.`.J */
  7929.                     /* 0010 */  0x41, 0x41, 0x01, 0x01, 0x58, 0xF2, 0xF4, 0x6A,  /* AA..X..j */
  7930.                     /* 0018 */  0x01, 0xB4, 0xFD, 0x42, 0xBE, 0x91, 0x3D, 0x4A,  /* ...B..=J */
  7931.                     /* 0020 */  0xC2, 0xD7, 0xC0, 0xD3, 0x42, 0x41, 0x01, 0x02,  /* ....BA.. */
  7932.                     /* 0028 */  0xAC, 0x61, 0x1A, 0xCC, 0x56, 0x42, 0xA3, 0x41,  /* .a..VB.A */
  7933.                     /* 0030 */  0xB9, 0xE0, 0x05, 0xA4, 0x45, 0xAD, 0xE2, 0xF5,  /* ....E... */
  7934.                     /* 0038 */  0x80, 0x00, 0x01, 0x08, 0x53, 0x44, 0x8C, 0xE7,  /* ....SD.. */
  7935.                     /* 0040 */  0x27, 0x02, 0x61, 0x48, 0x9E, 0xDE, 0xF5, 0x60,  /* '.aH...` */
  7936.                     /* 0048 */  0x0B, 0x4A, 0x3D, 0x39, 0x42, 0x42, 0x01, 0x02,  /* .J=9BB.. */
  7937.                     /* 0050 */  0x7B, 0x4F, 0xE0, 0xAA, 0xC5, 0xB3, 0x65, 0x48,  /* {O....eH */
  7938.                     /* 0058 */  0x95, 0xD6, 0x9F, 0xAC, 0x7F, 0xF3, 0xE9, 0x2B,  /* .......+ */
  7939.                     /* 0060 */  0x42, 0x43, 0x01, 0x02, 0x79, 0x4C, 0xF9, 0xCF,  /* BC..yL.. */
  7940.                     /* 0068 */  0x77, 0x6C, 0xF7, 0x4A, 0xAC, 0x56, 0x7D, 0xD0,  /* wl.J.V}. */
  7941.                     /* 0070 */  0xCE, 0x01, 0xC9, 0x97, 0x42, 0x44, 0x01, 0x02,  /* ....BD.. */
  7942.                     /* 0078 */  0xC5, 0x2E, 0x77, 0x79, 0xB1, 0x04, 0xFD, 0x4B,  /* ..wy...K */
  7943.                     /* 0080 */  0x84, 0x3C, 0x61, 0xE7, 0xF7, 0x7B, 0x6C, 0xC9,  /* .<a..{l. */
  7944.                     /* 0088 */  0x42, 0x45, 0x01, 0x02, 0xB7, 0xA0, 0xC9, 0xA7,  /* BE...... */
  7945.                     /* 0090 */  0x9D, 0x4C, 0x72, 0x4C, 0x83, 0xBB, 0x53, 0xA3,  /* .LrL..S. */
  7946.                     /* 0098 */  0x45, 0x91, 0x71, 0xDF, 0x42, 0x46, 0x01, 0x02,  /* E.q.BF.. */
  7947.                     /* 00A0 */  0x4F, 0x06, 0x3A, 0x65, 0x3A, 0xA2, 0x5F, 0x48,  /* O.:e:._H */
  7948.                     /* 00A8 */  0xB3, 0xD9, 0x13, 0xF6, 0x53, 0x2A, 0x01, 0x82,  /* ....S*.. */
  7949.                     /* 00B0 */  0x42, 0x47, 0x01, 0x02, 0xA7, 0xB1, 0x85, 0xDB,  /* BG...... */
  7950.                     /* 00B8 */  0x9A, 0x06, 0xBB, 0x4A, 0xA2, 0xB5, 0xD1, 0x86,  /* ...J.... */
  7951.                     /* 00C0 */  0xA2, 0x1B, 0x80, 0xF1, 0x81, 0x00, 0x01, 0x08,  /* ........ */
  7952.                     /* 00C8 */  0x91, 0x6B, 0x91, 0x36, 0x64, 0x1A, 0x83, 0x45,  /* .k.6d..E */
  7953.                     /* 00D0 */  0x84, 0xD0, 0x53, 0x83, 0x0F, 0xB9, 0x10, 0x8D,  /* ..S..... */
  7954.                     /* 00D8 */  0x82, 0x00, 0x01, 0x08                           /* .... */
  7955.                 })
  7956.                 Method (WQAA, 1, NotSerialized)
  7957.                 {
  7958.                     AAF1 ()
  7959.                     Store (AADS, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7960.                     Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7961.                 }
  7962.  
  7963.                 Method (WMBA, 3, NotSerialized)
  7964.                 {
  7965.                     Name (T_0, Zero)
  7966.                     Store (Arg1, T_0) /* \_SB_.PCI0.WMID.WMBA.T_0_ */
  7967.                     If (LNotEqual (Match (Package (0x08)
  7968.                                     {
  7969.                                         One,
  7970.                                         0x02,
  7971.                                         0x03,
  7972.                                         0x08,
  7973.                                         0x09,
  7974.                                         0x0A,
  7975.                                         0x0C,
  7976.                                         0x0D
  7977.                                     }, MEQ, T_0, MTR, Zero, Zero), Ones))
  7978.                     {
  7979.                         Store (Zero, Local0)
  7980.                     }
  7981.                     Else
  7982.                     {
  7983.                         If (LNotEqual (Match (Package (0x05)
  7984.                                         {
  7985.                                             0x04,
  7986.                                             0x05,
  7987.                                             0x06,
  7988.                                             0x07,
  7989.                                             0x0B
  7990.                                         }, MEQ, T_0, MTR, Zero, Zero), Ones))
  7991.                         {
  7992.                             If (LEqual (Arg1, 0x07))
  7993.                             {
  7994.                                 Store (Arg2, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  7995.                                 If (BF00)
  7996.                                 {
  7997.                                     Store (One, BAEF) /* \_SB_.PCI0.WMID.BAEF */
  7998.                                 }
  7999.                             }
  8000.  
  8001.                             Store (One, Local0)
  8002.                         }
  8003.                     }
  8004.  
  8005.                     If (Local0)
  8006.                     {
  8007.                         WSDS (Arg1, Arg2)
  8008.                     }
  8009.                     Else
  8010.                     {
  8011.                         WGDS (Arg1)
  8012.                     }
  8013.  
  8014.                     Store (DerefOf (Index (BADG, Subtract (Arg1, One))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8015.                     Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8016.                 }
  8017.  
  8018.                 Method (_WED, 1, NotSerialized)  // _Wxx: Wake Event
  8019.                 {
  8020.                     If (LGreaterEqual (Arg0, 0x80))
  8021.                     {
  8022.                         If (LLess (Arg0, 0x83))
  8023.                         {
  8024.                             Return (OEMN ())
  8025.                         }
  8026.                     }
  8027.  
  8028.                     Return (Zero)
  8029.                 }
  8030.  
  8031.                 Method (WMBB, 3, NotSerialized)
  8032.                 {
  8033.                     STRL (Arg1, Arg2)
  8034.                     If (LEqual (Arg1, One))
  8035.                     {
  8036.                         Store (BBSB, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8037.                     }
  8038.  
  8039.                     If (LEqual (Arg1, 0x02))
  8040.                     {
  8041.                         Store (BBD1, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8042.                     }
  8043.  
  8044.                     Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8045.                 }
  8046.  
  8047.                 Method (WMBC, 3, NotSerialized)
  8048.                 {
  8049.                     WODP (Arg1, Arg2)
  8050.                     If (LLess (Arg1, 0x0A))
  8051.                     {
  8052.                         Subtract (Arg1, One, Local0)
  8053.                         Store (DerefOf (Index (BCDS, Subtract (Arg1, One))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8054.                     }
  8055.                     Else
  8056.                     {
  8057.                         ShiftRight (DerefOf (Index (BCDS, Subtract (Arg1, 0x0A))), 0x10,
  8058.                             BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8059.                     }
  8060.  
  8061.                     Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8062.                 }
  8063.  
  8064.                 Method (WMBD, 3, NotSerialized)
  8065.                 {
  8066.                     If (LEqual (Arg1, One))
  8067.                     {
  8068.                         Store (Arg2, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8069.                         Store (BUFF, Local0)
  8070.                         Store (Arg2, WIT0) /* \_SB_.PCI0.WMID.WIT0 */
  8071.                         GCPU (WIT0)
  8072.                         Return (DSY0) /* \_SB_.PCI0.WMID.DSY0 */
  8073.                     }
  8074.  
  8075.                     If (LEqual (Arg1, 0x02))
  8076.                     {
  8077.                         Store (Arg2, Local0)
  8078.                         MSRR (Arg2)
  8079.                         Return (DSY1) /* \_SB_.PCI0.WMID.DSY1 */
  8080.                     }
  8081.  
  8082.                     If (LEqual (Arg1, 0x03))
  8083.                     {
  8084.                         Store (Arg2, Local0)
  8085.                         MSRW (Arg2)
  8086.                         Return (DSY1) /* \_SB_.PCI0.WMID.DSY1 */
  8087.                     }
  8088.  
  8089.                     If (LEqual (Arg1, 0x04))
  8090.                     {
  8091.                         C4C3 (Arg1, Arg2)
  8092.                         ShiftRight (DerefOf (Index (BCDS, Add (Arg1, 0x05))), 0x10,
  8093.                             BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8094.                         Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8095.                     }
  8096.  
  8097.                     If (LEqual (Arg1, 0x05))
  8098.                     {
  8099.                         C4C3 (Arg1, Arg2)
  8100.                         Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8101.                         Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8102.                     }
  8103.  
  8104.                     If (LEqual (Arg1, 0x06))
  8105.                     {
  8106.                         CPUF ()
  8107.                         Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8108.                         Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8109.                     }
  8110.  
  8111.                     If (LEqual (Arg1, 0x07))
  8112.                     {
  8113.                         CPUT ()
  8114.                         Store (DerefOf (Index (BCDS, Add (Arg1, 0x04))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8115.                         Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8116.                     }
  8117.  
  8118.                     If (LEqual (Arg1, 0x08))
  8119.                     {
  8120.                         Store (Arg2, WPRW) /* \_SB_.PCI0.WMID.WPRW */
  8121.                         Store (WWD1, WPIR) /* \_SB_.PCI0.WMID.WPIR */
  8122.                         Store (WWD2, WPIF) /* \_SB_.PCI0.WMID.WPIF */
  8123.                         Store (WWD3, WPID) /* \_SB_.PCI0.WMID.WPID */
  8124.                         Store (WWD4, WPIB) /* \_SB_.PCI0.WMID.WPIB */
  8125.                         Concatenate (WPCI, WWD0, Local0)
  8126.                         PCIR (Local0)
  8127.                         Return (DSY2) /* \_SB_.PCI0.WMID.DSY2 */
  8128.                     }
  8129.  
  8130.                     If (LEqual (Arg1, 0x09))
  8131.                     {
  8132.                         Store (Arg2, DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  8133.                         Store (DY60, Local0)
  8134.                         Store (Arg2, DSY0) /* \_SB_.PCI0.WMID.DSY0 */
  8135.                         Store (DY01, WPRW) /* \_SB_.PCI0.WMID.WPRW */
  8136.                         Store (WWD1, WPIR) /* \_SB_.PCI0.WMID.WPIR */
  8137.                         Store (WWD2, WPIF) /* \_SB_.PCI0.WMID.WPIF */
  8138.                         Store (WWD3, WPID) /* \_SB_.PCI0.WMID.WPID */
  8139.                         Store (WWD4, WPIB) /* \_SB_.PCI0.WMID.WPIB */
  8140.                         Store (WPCI, Local1)
  8141.                         Concatenate (DY60, WPCI, Local0)
  8142.                         Concatenate (Local0, WWD0, Local1)
  8143.                         PCIW (Local1)
  8144.                         Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8145.                     }
  8146.  
  8147.                     If (LEqual (Arg1, 0x0A))
  8148.                     {
  8149.                         CPUS ()
  8150.                         Store (DerefOf (Index (BCDS, Add (Arg1, 0x02))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8151.                         Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8152.                     }
  8153.  
  8154.                     If (LEqual (Arg1, 0x0B))
  8155.                     {
  8156.                         PCID (Arg2)
  8157.                         Return (DSY6) /* \_SB_.PCI0.WMID.DSY6 */
  8158.                     }
  8159.  
  8160.                     Return (Buffer (Zero) {})
  8161.                 }
  8162.  
  8163.                 Method (WMBE, 3, NotSerialized)
  8164.                 {
  8165.                     BTIF (Arg1, Arg2)
  8166.                     Store (BUFF, Debug)
  8167.                     Store (BEDS, Debug)
  8168.                     Store (DerefOf (Index (BEDS, Subtract (Arg1, One))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8169.                     Store (BUFF, Debug)
  8170.                     Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8171.                 }
  8172.  
  8173.                 Method (WMBF, 3, NotSerialized)
  8174.                 {
  8175.                     If (LGreater (Arg1, 0x04))
  8176.                     {
  8177.                         Store (0x02, BF00) /* \_SB_.PCI0.WMID.BF00 */
  8178.                         Store (Zero, BF01) /* \_SB_.PCI0.WMID.BF01 */
  8179.                         Store (Zero, BF02) /* \_SB_.PCI0.WMID.BF02 */
  8180.                         Store (Zero, BF03) /* \_SB_.PCI0.WMID.BF03 */
  8181.                         Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8182.                     }
  8183.  
  8184.                     If (CKGS ())
  8185.                     {
  8186.                         Store (Arg2, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8187.                         If (LEqual (Arg1, One))
  8188.                         {
  8189.                             WSHP (BF00)
  8190.                         }
  8191.                         Else
  8192.                         {
  8193.                             If (LEqual (Arg1, 0x02))
  8194.                             {
  8195.                                 WSSL (BF00)
  8196.                             }
  8197.                             Else
  8198.                             {
  8199.                                 If (LEqual (Arg1, 0x03))
  8200.                                 {
  8201.                                     WSSP (BF00)
  8202.                                 }
  8203.                                 Else
  8204.                                 {
  8205.                                     WSSE (BF00)
  8206.                                 }
  8207.                             }
  8208.                         }
  8209.  
  8210.                         Store (DerefOf (Index (BFDS, Subtract (Arg1, One))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8211.                         Store (BUFF, Debug)
  8212.                     }
  8213.                     Else
  8214.                     {
  8215.                         Store (0x03, BF00) /* \_SB_.PCI0.WMID.BF00 */
  8216.                         Store (Zero, BF01) /* \_SB_.PCI0.WMID.BF01 */
  8217.                         Store (Zero, BF02) /* \_SB_.PCI0.WMID.BF02 */
  8218.                         Store (Zero, BF03) /* \_SB_.PCI0.WMID.BF03 */
  8219.                     }
  8220.  
  8221.                     Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8222.                 }
  8223.  
  8224.                 Method (WMBG, 3, NotSerialized)
  8225.                 {
  8226.                     Store (Arg2, BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8227.                     WSVE (BF00)
  8228.                     Store (DerefOf (Index (BGDS, Subtract (Arg1, One))), BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8229.                     Store (BUFF, Debug)
  8230.                     Return (BUFF) /* \_SB_.PCI0.WMID.BUFF */
  8231.                 }
  8232.             }
  8233.         }
  8234.     }
  8235. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement