Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

fixed_dsdt_AcerExtensa_3001

By: a guest on Mar 7th, 2010  |  syntax: None  |  size: 262.70 KB  |  views: 244  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. /*
  2.  * Intel ACPI Component Architecture
  3.  * AML Disassembler version 20061109
  4.  *
  5.  * Disassembly of dsdt.original.dat, Mon Mar 31 18:17:56 2008
  6.  *
  7.  *
  8.  * Original Table Header:
  9.  *     Signature        "DSDT"
  10.  *     Length           0x00005CF7 (23799)
  11.  *     Revision         0x01
  12.  *     OEM ID           "ACER  "
  13.  *     OEM Table ID     "Kestrel "
  14.  *     OEM Revision     0x20021012 (537006098)
  15.  *     Creator ID       "MSFT"
  16.  *     Creator Revision 0x0100000E (16777230)
  17.  */
  18. DefinitionBlock ("dsdt.fixed.aml", "DSDT", 1, "ACER  ", "Kestrel ", 0x20021012)
  19. {
  20.     OperationRegion (PORT, SystemIO, 0x80, 0x02)
  21.     Field (PORT, ByteAcc, NoLock, Preserve)
  22.     {
  23.         P80H,   8,
  24.         P81H,   8
  25.     }
  26.  
  27.     OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
  28.     Field (IO_T, ByteAcc, NoLock, Preserve)
  29.     {
  30.         TRP0,   8
  31.     }
  32.  
  33.     OperationRegion (MNVS, SystemMemory, 0x1FEECE59, 0x60)
  34.     Field (MNVS, AnyAcc, Lock, Preserve)
  35.     {
  36.         OSYS,   16,
  37.         SMIF,   8,
  38.         SCIF,   8,
  39.         PAR1,   8,
  40.         PAR2,   8,
  41.         ACPS,   8,
  42.         DBGS,   8,
  43.         DCKS,   4,
  44.         CDCK,   4,
  45.         IGDS,   8,
  46.         SLID,   8,
  47.         BRTC,   8,
  48.         BRTS,   8,
  49.         WRKF,   8,
  50.         SW2L,   1,
  51.         PNCS,   1,
  52.                 Offset (0x0F),
  53.         PRID,   8,
  54.         CMAP,   8,
  55.         CMBP,   8,
  56.         LPTP,   8,
  57.         FDCP,   8,
  58.                 Offset (0x15),
  59.         PS2F,   8,
  60.                 Offset (0x18),
  61.         ACTT,   8,
  62.         PSVT,   8,
  63.         TC1V,   8,
  64.         TC2V,   8,
  65.         TSPV,   8,
  66.         CRTT,   8,
  67.                 Offset (0x20),
  68.         BVAL,   32,
  69.         DOFF,   8,
  70.         CLNM,   8,
  71.         TMP2,   8,
  72.         SVCR,   8,
  73.         TMP4,   32,
  74.         TMP5,   32,
  75.         CSTE,   16,
  76.         NSTE,   16,
  77.         SSTE,   16,
  78.         CADL,   16,
  79.         PADL,   16,
  80.         BCAP,   8
  81.     }
  82.  
  83.     Scope (_PR)
  84.     {
  85.         Processor (CPU0, 0x00, 0x00001010, 0x06)
  86.         {
  87.             Name (_PCT, Package (0x02)
  88.             {
  89.                 ResourceTemplate ()
  90.                 {
  91.                     Register (SystemIO,
  92.                         0x08,               // Bit Width
  93.                         0x00,               // Bit Offset
  94.                         0x00000000000000B2, // Address
  95.                         ,)
  96.                 },
  97.  
  98.                 ResourceTemplate ()
  99.                 {
  100.                     Register (SystemIO,
  101.                         0x08,               // Bit Width
  102.                         0x00,               // Bit Offset
  103.                         0x00000000000000B3, // Address
  104.                         ,)
  105.                 }
  106.             })
  107.             Method (_PSS, 0, NotSerialized)
  108.             {
  109.                 If (CLNM)
  110.                 {
  111.                     Return (CPSS)
  112.                 }
  113.  
  114.                 Return (PPSS)
  115.             }
  116.  
  117.             Name (CPSS, Package (0x01)
  118.             {
  119.                 Package (0x06)
  120.                 {
  121.                     0x05DC,
  122.                     0x5DC0,
  123.                     0x0A,
  124.                     0x0A,
  125.                     0x89,
  126.                     0x00
  127.                 }
  128.             })
  129.             Name (PPSS, Package (0x05)
  130.             {
  131.                 Package (0x06)
  132.                 {
  133.                     0x05DC,
  134.                     0x5DC0,
  135.                     0x0A,
  136.                     0x0A,
  137.                     0x89,
  138.                     0x00
  139.                 },
  140.  
  141.                 Package (0x06)
  142.                 {
  143.                     0x04B0,
  144.                     0x4E20,
  145.                     0x0A,
  146.                     0x0A,
  147.                     0x8A,
  148.                     0x01
  149.                 },
  150.  
  151.                 Package (0x06)
  152.                 {
  153.                     0x03E8,
  154.                     0x4650,
  155.                     0x0A,
  156.                     0x0A,
  157.                     0x8B,
  158.                     0x02
  159.                 },
  160.  
  161.                 Package (0x06)
  162.                 {
  163.                     0x0320,
  164.                     0x3E80,
  165.                     0x0A,
  166.                     0x0A,
  167.                     0x8C,
  168.                     0x03
  169.                 },
  170.  
  171.                 Package (0x06)
  172.                 {
  173.                     0x0258,
  174.                     0x2EE0,
  175.                     0x0A,
  176.                     0x0A,
  177.                     0x8D,
  178.                     0x04
  179.                 }
  180.             })
  181.             Method (_PPC, 0, NotSerialized)
  182.             {
  183.                 Return (0x00)
  184.             }
  185.         }
  186.     }
  187.  
  188.     Name (\DSEN, 0x01)
  189.     Scope (_SI)
  190.     {
  191.         Method (_MSG, 1, NotSerialized)
  192.         {
  193.             If (Arg0)
  194.             {
  195.                 Store (One, \_SB.PCI0.LPC0.BL27)
  196.             }
  197.             Else
  198.             {
  199.                 Store (Zero, \_SB.PCI0.LPC0.BL27)
  200.             }
  201.         }
  202.     }
  203.  
  204.     Name (\_S0, Package (0x02)
  205.     {
  206.         0x00,
  207.         0x00
  208.     })
  209.     Name (\_S3, Package (0x02)
  210.     {
  211.         0x05,
  212.         0x05
  213.     })
  214.     Name (\_S4, Package (0x02)
  215.     {
  216.         0x06,
  217.         0x06
  218.     })
  219.     Name (\_S5, Package (0x02)
  220.     {
  221.         0x07,
  222.         0x07
  223.     })
  224.     Method (_PTS, 1, NotSerialized)
  225.     {
  226.         Store (Arg0, \_SB.STAT)
  227.         Store (">>>> _PTS ------------", Debug)
  228.         Store (Arg0, Debug)
  229.         Store (Arg0, \_SB.SLEE)
  230.         Store (0x84, \_SB.PCI0.LPC0.BCMD)
  231.         Store (0x00, \_SB.PCI0.LPC0.SMIC)
  232.         If (Or (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
  233.         {
  234.             Store (0x01, \_SB.PCI0.LPC0.EC0.APWR)
  235.         }
  236.  
  237.         If (LEqual (Arg0, 0x03))
  238.         {
  239.             Store (0xE6, P80H)
  240.             Store (0x80, \_SB.PCI0.LPC0.BCMD)
  241.             Store (0x00, \_SB.PCI0.LPC0.SMIC)
  242.             Store (0x01, \_SB.PCI0.LPC0.LV37)
  243.             Sleep (0xC8)
  244.             Store (0xE7, P80H)
  245.         }
  246.  
  247.         If (LEqual (Arg0, 0x04))
  248.         {
  249.             Store (0x01, \_SB.S4WP)
  250.             Store (0x82, \_SB.PCI0.LPC0.BCMD)
  251.             Store (0x00, \_SB.PCI0.LPC0.SMIC)
  252.             Store (One, \_SB.PCI0.LPC0.EC0.PFLG)
  253.             Store (One, \_SB.PCI0.LPC0.EC0.S4LD)
  254.         }
  255.  
  256.         If (LEqual (SizeOf (\_OS), 0x27)) {}
  257.         If (LEqual (Arg0, 0x05))
  258.         {
  259.             Store (One, \_SB.PCI0.LPC0.EC0.S5LW)
  260.             Store (0x00, \_SB.ECOK)
  261.         }
  262.     }
  263.  
  264.     Method (_WAK, 1, NotSerialized)
  265.     {
  266.         Store (Arg0, \_SB.STAT)
  267.         If (Or (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (\_SB.PCI0.MYOS, 0x01)))
  268.         {
  269.             Store (\_SB.WLES, \_SB.PCI0.LPC0.EC0.WEST)
  270.             Store (\_SB.BTES, \_SB.PCI0.LPC0.EC0.BEST)
  271.             Store (One, \_SB.PCI0.LPC0.EC0.WBIN)
  272.         }
  273.  
  274.         If (LEqual (Arg0, 0x04))
  275.         {
  276.             Store (0x01, \_SB.OKEC)
  277.             Notify (\_SB.SLPB, 0x02)
  278.         }
  279.  
  280.         If (LEqual (SizeOf (\_OS), 0x14))
  281.         {
  282.             Store (0xE4, P80H)
  283.             Store (\_SB.PCI0.LPC0.RBID, Local0)
  284.             Store (\_SB.PCI0.IDE0.BAYR, Local1)
  285.             Store (Local0, \_SB.PCI0.IDE0.BAYR)
  286.             If (LNotEqual (Local0, Local1))
  287.             {
  288.                 If (Or (LEqual (Local1, 0x01), LEqual (Local1, 0x02)))
  289.                 {
  290.                     If (And (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (Local0, 0x03)))
  291.                     {
  292.                         Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x03)
  293.                     }
  294.                     Else
  295.                     {
  296.                         Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x01)
  297.                     }
  298.                 }
  299.             }
  300.  
  301.             If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
  302.             {
  303.                 Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x00)
  304.             }
  305.  
  306.             Store (0xE5, P80H)
  307.         }
  308.  
  309.         If (LEqual (SizeOf (\_OS), 0x27)) {}
  310.         Store (\_SB.PCI0.LPC0.EC0.ACDF, \_SB.ACST)
  311.         If (LEqual (SizeOf (\_OS), 0x11))
  312.         {
  313.             Notify (\_SB.SLPB, 0x02)
  314.         }
  315.  
  316.         Store (0x00, \_SB.SLEE)
  317.         Return (Package (0x02) {0x00, 0x00})
  318.     }
  319.  
  320.     Scope (_GPE)
  321.     {
  322.         Method (_L05, 0, NotSerialized)
  323.         {
  324.             Notify (\_SB.PCI0.MDM0, 0x02)
  325.         }
  326.  
  327.         Method (_L0B, 0, NotSerialized)
  328.         {
  329.             Notify (\_SB.PCI0.PCIB, 0x00)
  330.             If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  331.             {
  332.                 Notify (\_SB.SLPB, 0x02)
  333.             }
  334.         }
  335.  
  336.         Method (_L03, 0, NotSerialized)
  337.         {
  338.             Notify (\_SB.PCI0.USB1, 0x02)
  339.         }
  340.  
  341.         Method (_L04, 0, NotSerialized)
  342.         {
  343.             Notify (\_SB.PCI0.USB2, 0x02)
  344.         }
  345.  
  346.         Method (_L0C, 0, NotSerialized)
  347.         {
  348.             Notify (\_SB.PCI0.USB3, 0x02)
  349.         }
  350.  
  351.         Method (_E18, 0, NotSerialized)
  352.         {
  353.             Sleep (0x01)
  354.         }
  355.     }
  356.  
  357.     Scope (_SB)
  358.     {
  359.         Name (STAT, 0x00)
  360.         Name (D1ST, 0x00)
  361.         Name (D1SJ, 0x01)
  362.         Name (OKEC, 0x00)
  363.         Device (PCI0)
  364.         {
  365.             Name (MYOS, 0x02)
  366.             Method (_INI, 0, NotSerialized)
  367.             {
  368.                 Store (0x01, \_SB.D1SJ)
  369.                 Store (0x02, MYOS)
  370.                 If (LEqual (SizeOf (\_OS), 0x14))
  371.                 {
  372.                     Store (0x01, MYOS)
  373.                     Store (0x07D0, OSYS)
  374.                     Store (0x01, \_SB.W2KF)
  375.                     If (CondRefOf (_OSI, Local0))
  376.                     {
  377.                         If (\_OSI ("Windows 2001"))
  378.                         {
  379.                             Store (0x03, MYOS)
  380.                             Store (0x07D1, OSYS)
  381.                             Store (0x03, \_SB.W2KF)
  382.                         }
  383.                     }
  384.                 }
  385.                 Else
  386.                 {
  387.                     If (LEqual (SizeOf (\_OS), 0x11))
  388.                     {
  389.                         Store (0x00, MYOS)
  390.                         Store (0x07CE, OSYS)
  391.                         Store (0x00, \_SB.W2KF)
  392.                     }
  393.                     Else
  394.                     {
  395.                         If (LEqual (SizeOf (\_OS), 0x27))
  396.                         {
  397.                             Store (0x02, MYOS)
  398.                             Store (0x07CF, OSYS)
  399.                             Store (0x02, \_SB.W2KF)
  400.                         }
  401.                     }
  402.                 }
  403.             }
  404.  
  405.             Name (_HID, EisaId ("PNP0A03"))
  406.             Name (_ADR, 0x00)
  407.             Name (_BBN, 0x00)
  408.             OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
  409.             Field (HBUS, DWordAcc, NoLock, Preserve)
  410.             {
  411.                         Offset (0x18),
  412.                     ,   7,
  413.                 HENA,   1,
  414.                     ,   4,
  415.                 PM0H,   2,
  416.                         Offset (0x1A),
  417.                 PM1L,   2,
  418.                     ,   2,
  419.                 PM1H,   2,
  420.                         Offset (0x1B),
  421.                 PM2L,   2,
  422.                     ,   2,
  423.                 PM2H,   2,
  424.                         Offset (0x1C),
  425.                 PM3L,   2,
  426.                     ,   2,
  427.                 PM3H,   2,
  428.                         Offset (0x1D),
  429.                 PM4L,   2,
  430.                     ,   2,
  431.                 PM4H,   2,
  432.                         Offset (0x1E),
  433.                 PM5L,   2,
  434.                     ,   2,
  435.                 PM5H,   2,
  436.                         Offset (0x1F),
  437.                 PM6L,   2,
  438.                     ,   2,
  439.                 PM6H,   2,
  440.                         Offset (0x20)
  441.             }
  442.  
  443.             Name (BUF0, ResourceTemplate ()
  444.             {
  445.                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  446.                     0x0000,             // Granularity
  447.                     0x0000,             // Range Minimum
  448.                     0x00FF,             // Range Maximum
  449.                     0x0000,             // Translation Offset
  450.                     0x0100,             // Length
  451.                     0x00,, )
  452.                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  453.                     0x00000000,         // Granularity
  454.                     0x00000000,         // Range Minimum
  455.                     0x00000CF7,         // Range Maximum
  456.                     0x00000000,         // Translation Offset
  457.                     0x00000CF8,         // Length
  458.                     0x00,, , TypeStatic)
  459.                 IO (Decode16,
  460.                     0x0CF8,             // Range Minimum
  461.                     0x0CF8,             // Range Maximum
  462.                     0x01,               // Alignment
  463.                     0x08,               // Length
  464.                     )
  465.                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  466.                     0x00000000,         // Granularity
  467.                     0x00000D00,         // Range Minimum
  468.                     0x0000FFFF,         // Range Maximum
  469.                     0x00000000,         // Translation Offset
  470.                     0x0000F300,         // Length
  471.                     0x00,, , TypeStatic)
  472.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  473.                     0x00000000,         // Granularity
  474.                     0x000A0000,         // Range Minimum
  475.                     0x000BFFFF,         // Range Maximum
  476.                     0x00000000,         // Translation Offset
  477.                     0x00020000,         // Length
  478.                     0x00,, , AddressRangeMemory, TypeStatic)
  479.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  480.                     0x00000000,         // Granularity
  481.                     0x000C0000,         // Range Minimum
  482.                     0x000C3FFF,         // Range Maximum
  483.                     0x00000000,         // Translation Offset
  484.                     0x00004000,         // Length
  485.                     0x00,, _Y00, AddressRangeMemory, TypeStatic)
  486.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  487.                     0x00000000,         // Granularity
  488.                     0x000C4000,         // Range Minimum
  489.                     0x000C7FFF,         // Range Maximum
  490.                     0x00000000,         // Translation Offset
  491.                     0x00004000,         // Length
  492.                     0x00,, _Y01, AddressRangeMemory, TypeStatic)
  493.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  494.                     0x00000000,         // Granularity
  495.                     0x000C8000,         // Range Minimum
  496.                     0x000CBFFF,         // Range Maximum
  497.                     0x00000000,         // Translation Offset
  498.                     0x00004000,         // Length
  499.                     0x00,, _Y02, AddressRangeMemory, TypeStatic)
  500.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  501.                     0x00000000,         // Granularity
  502.                     0x000CC000,         // Range Minimum
  503.                     0x000CFFFF,         // Range Maximum
  504.                     0x00000000,         // Translation Offset
  505.                     0x00004000,         // Length
  506.                     0x00,, _Y03, AddressRangeMemory, TypeStatic)
  507.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  508.                     0x00000000,         // Granularity
  509.                     0x000D0000,         // Range Minimum
  510.                     0x000D3FFF,         // Range Maximum
  511.                     0x00000000,         // Translation Offset
  512.                     0x00004000,         // Length
  513.                     0x00,, _Y04, AddressRangeMemory, TypeStatic)
  514.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  515.                     0x00000000,         // Granularity
  516.                     0x000D4000,         // Range Minimum
  517.                     0x000D7FFF,         // Range Maximum
  518.                     0x00000000,         // Translation Offset
  519.                     0x00004000,         // Length
  520.                     0x00,, _Y05, AddressRangeMemory, TypeStatic)
  521.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  522.                     0x00000000,         // Granularity
  523.                     0x000D8000,         // Range Minimum
  524.                     0x000DBFFF,         // Range Maximum
  525.                     0x00000000,         // Translation Offset
  526.                     0x00004000,         // Length
  527.                     0x00,, _Y06, AddressRangeMemory, TypeStatic)
  528.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  529.                     0x00000000,         // Granularity
  530.                     0x000DC000,         // Range Minimum
  531.                     0x000DFFFF,         // Range Maximum
  532.                     0x00000000,         // Translation Offset
  533.                     0x00004000,         // Length
  534.                     0x00,, _Y07, AddressRangeMemory, TypeStatic)
  535.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  536.                     0x00000000,         // Granularity
  537.                     0x000E0000,         // Range Minimum
  538.                     0x000E3FFF,         // Range Maximum
  539.                     0x00000000,         // Translation Offset
  540.                     0x00004000,         // Length
  541.                     0x00,, _Y08, AddressRangeMemory, TypeStatic)
  542.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  543.                     0x00000000,         // Granularity
  544.                     0x000E4000,         // Range Minimum
  545.                     0x000E7FFF,         // Range Maximum
  546.                     0x00000000,         // Translation Offset
  547.                     0x00004000,         // Length
  548.                     0x00,, _Y09, AddressRangeMemory, TypeStatic)
  549.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  550.                     0x00000000,         // Granularity
  551.                     0x000E8000,         // Range Minimum
  552.                     0x000EBFFF,         // Range Maximum
  553.                     0x00000000,         // Translation Offset
  554.                     0x00004000,         // Length
  555.                     0x00,, _Y0A, AddressRangeMemory, TypeStatic)
  556.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  557.                     0x00000000,         // Granularity
  558.                     0x000EC000,         // Range Minimum
  559.                     0x000EFFFF,         // Range Maximum
  560.                     0x00000000,         // Translation Offset
  561.                     0x00004000,         // Length
  562.                     0x00,, _Y0B, AddressRangeMemory, TypeStatic)
  563.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  564.                     0x00000000,         // Granularity
  565.                     0x000F0000,         // Range Minimum
  566.                     0x000FFFFF,         // Range Maximum
  567.                     0x00000000,         // Translation Offset
  568.                     0x00010000,         // Length
  569.                     0x00,, _Y0C, AddressRangeMemory, TypeStatic)
  570.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  571.                     0x00000000,         // Granularity
  572.                     0x00000000,         // Range Minimum
  573.                     0xFEBFFFFF,         // Range Maximum
  574.                     0x00000000,         // Translation Offset
  575.                     0x00000000,         // Length
  576.                     0x00,, _Y0D, AddressRangeMemory, TypeStatic)
  577.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  578.                     0x00000000,         // Granularity
  579.                     0x00000000,         // Range Minimum
  580.                     0x00000000,         // Range Maximum
  581.                     0x00000000,         // Translation Offset
  582.                     0x00000000,         // Length
  583.                     0x00,, _Y0E, AddressRangeMemory, TypeStatic)
  584.             })
  585.             Method (_CRS, 0, Serialized)
  586.             {
  587.                 If (PM1L)
  588.                 {
  589.                     CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)
  590.                     Store (Zero, C0LN)
  591.                 }
  592.  
  593.                 If (LEqual (PM1L, 0x01))
  594.                 {
  595.                     CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)
  596.                     Store (Zero, C0RW)
  597.                 }
  598.  
  599.                 If (PM1H)
  600.                 {
  601.                     CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)
  602.                     Store (Zero, C4LN)
  603.                 }
  604.  
  605.                 If (LEqual (PM1H, 0x01))
  606.                 {
  607.                     CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)
  608.                     Store (Zero, C4RW)
  609.                 }
  610.  
  611.                 If (PM2L)
  612.                 {
  613.                     CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)
  614.                     Store (Zero, C8LN)
  615.                 }
  616.  
  617.                 If (LEqual (PM2L, 0x01))
  618.                 {
  619.                     CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)
  620.                     Store (Zero, C8RW)
  621.                 }
  622.  
  623.                 If (PM2H)
  624.                 {
  625.                     CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)
  626.                     Store (Zero, CCLN)
  627.                 }
  628.  
  629.                 If (LEqual (PM2H, 0x01))
  630.                 {
  631.                     CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)
  632.                     Store (Zero, CCRW)
  633.                 }
  634.  
  635.                 If (PM3L)
  636.                 {
  637.                     CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)
  638.                     Store (Zero, D0LN)
  639.                 }
  640.  
  641.                 If (LEqual (PM3L, 0x01))
  642.                 {
  643.                     CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)
  644.                     Store (Zero, D0RW)
  645.                 }
  646.  
  647.                 If (PM3H)
  648.                 {
  649.                     CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)
  650.                     Store (Zero, D4LN)
  651.                 }
  652.  
  653.                 If (LEqual (PM3H, 0x01))
  654.                 {
  655.                     CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)
  656.                     Store (Zero, D4RW)
  657.                 }
  658.  
  659.                 If (PM4L)
  660.                 {
  661.                     CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)
  662.                     Store (Zero, D8LN)
  663.                 }
  664.  
  665.                 If (LEqual (PM4L, 0x01))
  666.                 {
  667.                     CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)
  668.                     Store (Zero, D8RW)
  669.                 }
  670.  
  671.                 If (PM4H)
  672.                 {
  673.                     CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)
  674.                     Store (Zero, DCLN)
  675.                 }
  676.  
  677.                 If (LEqual (PM4H, 0x01))
  678.                 {
  679.                     CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)
  680.                     Store (Zero, DCRW)
  681.                 }
  682.  
  683.                 If (PM5L)
  684.                 {
  685.                     CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)
  686.                     Store (Zero, E0LN)
  687.                 }
  688.  
  689.                 If (LEqual (PM5L, 0x01))
  690.                 {
  691.                     CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)
  692.                     Store (Zero, E0RW)
  693.                 }
  694.  
  695.                 If (PM5H)
  696.                 {
  697.                     CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)
  698.                     Store (Zero, E4LN)
  699.                 }
  700.  
  701.                 If (LEqual (PM5H, 0x01))
  702.                 {
  703.                     CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)
  704.                     Store (Zero, E4RW)
  705.                 }
  706.  
  707.                 If (PM6L)
  708.                 {
  709.                     CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)
  710.                     Store (Zero, E8LN)
  711.                 }
  712.  
  713.                 If (LEqual (PM6L, 0x01))
  714.                 {
  715.                     CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)
  716.                     Store (Zero, E8RW)
  717.                 }
  718.  
  719.                 If (PM6H)
  720.                 {
  721.                     CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)
  722.                     Store (Zero, ECLN)
  723.                 }
  724.  
  725.                 If (LEqual (PM6H, 0x01))
  726.                 {
  727.                     CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)
  728.                     Store (Zero, ECRW)
  729.                 }
  730.  
  731.                 If (PM0H)
  732.                 {
  733.                     CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)
  734.                     Store (Zero, F0LN)
  735.                 }
  736.  
  737.                 If (LEqual (PM0H, 0x01))
  738.                 {
  739.                     CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)
  740.                     Store (Zero, F0RW)
  741.                 }
  742.  
  743.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)
  744.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)
  745.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)
  746.                 Multiply (0x02000000, \_SB.PCI0.MBUS.DRB3, M1MN)
  747.                 Add (Subtract (M1MX, M1MN), 0x01, M1LN)
  748.                 ShiftRight (And (\_SB.PCI0.LPC0.MTSE, 0x0380), 0x07, Local0)
  749.                 If (And (Local0, 0x04))
  750.                 {
  751.                     CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M2MN)
  752.                     CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M2MX)
  753.                     CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M2LN)
  754.                     Store (0xFED00000, M2MN)
  755.                     Store (0xFED003FF, M2MX)
  756.                     Store (0x0400, M2LN)
  757.                     If (LEqual (Local0, 0x05))
  758.                     {
  759.                         Store (0xFED01000, M2MN)
  760.                         Store (0xFED013FF, M2MX)
  761.                     }
  762.  
  763.                     If (LEqual (Local0, 0x06))
  764.                     {
  765.                         Store (0xFED02000, M2MN)
  766.                         Store (0xFED023FF, M2MX)
  767.                     }
  768.  
  769.                     If (LEqual (Local0, 0x07))
  770.                     {
  771.                         Store (0xFED03000, M2MN)
  772.                         Store (0xFED033FF, M2MX)
  773.                     }
  774.                 }
  775.  
  776.                 Return (BUF0)
  777.             }
  778.  
  779.             Method (_PRT, 0, NotSerialized)
  780.             {
  781.                 Return (Package (0x07)
  782.                 {
  783.                     Package (0x04)
  784.                     {
  785.                         0x0001FFFF,
  786.                         0x00,
  787.                         \_SB.PCI0.LPC0.LNKA,
  788.                         0x00
  789.                     },
  790.  
  791.                     Package (0x04)
  792.                     {
  793.                         0x001DFFFF,
  794.                         0x00,
  795.                         \_SB.PCI0.LPC0.LNKA,
  796.                         0x00
  797.                     },
  798.  
  799.                     Package (0x04)
  800.                     {
  801.                         0x001DFFFF,
  802.                         0x01,
  803.                         \_SB.PCI0.LPC0.LNKD,
  804.                         0x00
  805.                     },
  806.  
  807.                     Package (0x04)
  808.                     {
  809.                         0x001DFFFF,
  810.                         0x02,
  811.                         \_SB.PCI0.LPC0.LNKC,
  812.                         0x00
  813.                     },
  814.  
  815.                     Package (0x04)
  816.                     {
  817.                         0x001DFFFF,
  818.                         0x03,
  819.                         \_SB.PCI0.LPC0.LNKH,
  820.                         0x00
  821.                     },
  822.  
  823.                     Package (0x04)
  824.                     {
  825.                         0x001FFFFF,
  826.                         0x00,
  827.                         \_SB.PCI0.LPC0.LNKC,
  828.                         0x00
  829.                     },
  830.  
  831.                     Package (0x04)
  832.                     {
  833.                         0x001FFFFF,
  834.                         0x01,
  835.                         \_SB.PCI0.LPC0.LNKB,
  836.                         0x00
  837.                     }
  838.                 })
  839.             }
  840.  
  841.             Device (MBUS)
  842.             {
  843.                 Name (_ADR, 0x01)
  844.                 OperationRegion (MBUS, PCI_Config, 0x40, 0xC0)
  845.                 Field (MBUS, DWordAcc, NoLock, Preserve)
  846.                 {
  847.                     DRB0,   8,
  848.                     DRB1,   8,
  849.                     DRB2,   8,
  850.                     DRB3,   8
  851.                 }
  852.             }
  853.  
  854.             Device (AGP)
  855.             {
  856.                 Name (_ADR, 0x00010000)
  857.                 Name (_PRT, Package (0x01)
  858.                 {
  859.                     Package (0x04)
  860.                     {
  861.                         0xFFFF,
  862.                         0x00,
  863.                         \_SB.PCI0.LPC0.LNKA,
  864.                         0x00
  865.                     }
  866.                 })
  867.                 Device (VGA)
  868.                 {
  869.                     Name (_ADR, 0x00)
  870.                     Name (SWIT, 0x01)
  871.                     Name (CRTA, 0x00)
  872.                     Name (LCDA, 0x01)
  873.                     Name (TV0A, 0x00)
  874.                     Name (DVIA, 0x00)
  875.                     Name (TOGF, 0x00)
  876.                     Name (LSTF, 0x00)
  877.                     Name (WDAS, 0x01)
  878.                     Method (_STA, 0, NotSerialized)
  879.                     {
  880.                         Return (0x0F)
  881.                     }
  882.  
  883.                     Name (_PSC, 0x00)
  884.                     Name (USBF, 0x00)
  885.                     Method (_PS0, 0, NotSerialized)
  886.                     {
  887.                         Store (0x00, _PSC)
  888.                     }
  889.  
  890.                     Method (_PS3, 0, NotSerialized)
  891.                     {
  892.                         Store (0x03, _PSC)
  893.                     }
  894.  
  895.                     Method (_DOS, 1, NotSerialized)
  896.                     {
  897.                         Store (And (Arg0, 0x03), SWIT)
  898.                     }
  899.  
  900.                     Method (_DOD, 0, NotSerialized)
  901.                     {
  902.                         Return (Package (0x04)
  903.                         {
  904.                             0x00010100,
  905.                             0x00010110,
  906.                             0x00010200,
  907.                             0x00010210
  908.                         })
  909.                     }
  910.  
  911.                     Device (CRT)
  912.                     {
  913.                         Name (_ADR, 0x0100)
  914.                         Method (_DCS, 0, NotSerialized)
  915.                         {
  916.                             If (CRTA)
  917.                             {
  918.                                 Return (0x1F)
  919.                             }
  920.                             Else
  921.                             {
  922.                                 Return (0x1D)
  923.                             }
  924.                         }
  925.  
  926.                         Method (_DGS, 0, NotSerialized)
  927.                         {
  928.                             If (CRTA)
  929.                             {
  930.                                 Return (0x01)
  931.                             }
  932.                             Else
  933.                             {
  934.                                 Return (0x00)
  935.                             }
  936.                         }
  937.  
  938.                         Method (_DSS, 1, NotSerialized)
  939.                         {
  940.                             Store ("CRT --_DSS", Debug)
  941.                         }
  942.                     }
  943.  
  944.                     Device (DVI)
  945.                     {
  946.                         Name (_ADR, 0x0210)
  947.                         Method (_DCS, 0, NotSerialized)
  948.                         {
  949.                             If (DVIA)
  950.                             {
  951.                                 Return (0x1F)
  952.                             }
  953.                             Else
  954.                             {
  955.                                 Return (0x1D)
  956.                             }
  957.                         }
  958.  
  959.                         Method (_DGS, 0, NotSerialized)
  960.                         {
  961.                             If (DVIA)
  962.                             {
  963.                                 Return (0x01)
  964.                             }
  965.                             Else
  966.                             {
  967.                                 Return (0x00)
  968.                             }
  969.                         }
  970.  
  971.                         Method (_DSS, 1, NotSerialized)
  972.                         {
  973.                             Store ("DVI --_DSS", Debug)
  974.                         }
  975.                     }
  976.  
  977.                     Device (TV0)
  978.                     {
  979.                         Name (_ADR, 0x0200)
  980.                         Method (_DCS, 0, NotSerialized)
  981.                         {
  982.                             If (TV0A)
  983.                             {
  984.                                 Return (0x1F)
  985.                             }
  986.                             Else
  987.                             {
  988.                                 Return (0x1D)
  989.                             }
  990.                         }
  991.  
  992.                         Method (_DGS, 0, NotSerialized)
  993.                         {
  994.                             If (TV0A)
  995.                             {
  996.                                 Return (0x01)
  997.                             }
  998.                             Else
  999.                             {
  1000.                                 Return (0x00)
  1001.                             }
  1002.                         }
  1003.  
  1004.                         Method (_DSS, 1, NotSerialized)
  1005.                         {
  1006.                             Store ("TV --_DSS", Debug)
  1007.                         }
  1008.                     }
  1009.  
  1010.                     Device (LCD)
  1011.                     {
  1012.                         Name (_ADR, 0x0110)
  1013.                         Method (_DCS, 0, NotSerialized)
  1014.                         {
  1015.                             If (LCDA)
  1016.                             {
  1017.                                 Return (0x1F)
  1018.                             }
  1019.                             Else
  1020.                             {
  1021.                                 Return (0x1D)
  1022.                             }
  1023.                         }
  1024.  
  1025.                         Method (_DGS, 0, NotSerialized)
  1026.                         {
  1027.                             Store (LCDA, Local0)
  1028.                             If (LCDA)
  1029.                             {
  1030.                                 Return (0x01)
  1031.                             }
  1032.                             Else
  1033.                             {
  1034.                                 Return (0x00)
  1035.                             }
  1036.                         }
  1037.  
  1038.                         Method (_DSS, 1, NotSerialized)
  1039.                         {
  1040.                             Store ("LCD --_DSS", Debug)
  1041.                         }
  1042.                     }
  1043.  
  1044.                     Method (SWIH, 0, NotSerialized)
  1045.                     {
  1046.                         Store (0x97, \_SB.PCI0.LPC0.BCMD)
  1047.                         Store (0x00, \_SB.PCI0.LPC0.SMIC)
  1048.                         Store (\_SB.DATS, WDAS)
  1049.                         Store (WDAS, P80H)
  1050.                         GETD ()
  1051.                         If (LEqual (WDAS, 0x0F))
  1052.                         {
  1053.                             Increment (TOGF)
  1054.                             If (LGreater (TOGF, 0x07))
  1055.                             {
  1056.                                 Store (0x01, TOGF)
  1057.                             }
  1058.  
  1059.                             Store (TOGF, Local1)
  1060.                             If (LEqual (Local1, 0x01))
  1061.                             {
  1062.                                 Store (0x01, LCDA)
  1063.                                 Store (0x00, CRTA)
  1064.                                 Store (0x00, TV0A)
  1065.                                 Store (0x00, DVIA)
  1066.                             }
  1067.                             Else
  1068.                             {
  1069.                                 If (LEqual (Local1, 0x02))
  1070.                                 {
  1071.                                     Store (0x01, LCDA)
  1072.                                     Store (0x01, CRTA)
  1073.                                     Store (0x00, TV0A)
  1074.                                     Store (0x00, DVIA)
  1075.                                 }
  1076.                                 Else
  1077.                                 {
  1078.                                     If (LEqual (Local1, 0x03))
  1079.                                     {
  1080.                                         Store (0x01, LCDA)
  1081.                                         Store (0x00, CRTA)
  1082.                                         Store (0x00, TV0A)
  1083.                                         Store (0x01, DVIA)
  1084.                                     }
  1085.                                     Else
  1086.                                     {
  1087.                                         If (LEqual (Local1, 0x04))
  1088.                                         {
  1089.                                             Store (0x01, LCDA)
  1090.                                             Store (0x00, CRTA)
  1091.                                             Store (0x01, TV0A)
  1092.                                             Store (0x00, DVIA)
  1093.                                         }
  1094.                                         Else
  1095.                                         {
  1096.                                             If (LEqual (Local1, 0x05))
  1097.                                             {
  1098.                                                 Store (0x00, LCDA)
  1099.                                                 Store (0x01, CRTA)
  1100.                                                 Store (0x00, TV0A)
  1101.                                                 Store (0x00, DVIA)
  1102.                                             }
  1103.                                             Else
  1104.                                             {
  1105.                                                 If (LEqual (Local1, 0x06))
  1106.                                                 {
  1107.                                                     Store (0x00, LCDA)
  1108.                                                     Store (0x00, CRTA)
  1109.                                                     Store (0x00, TV0A)
  1110.                                                     Store (0x01, DVIA)
  1111.                                                 }
  1112.                                                 Else
  1113.                                                 {
  1114.                                                     If (LEqual (Local1, 0x07))
  1115.                                                     {
  1116.                                                         Store (0x00, LCDA)
  1117.                                                         Store (0x00, CRTA)
  1118.                                                         Store (0x01, TV0A)
  1119.                                                         Store (0x00, DVIA)
  1120.                                                     }
  1121.                                                 }
  1122.                                             }
  1123.                                         }
  1124.                                     }
  1125.                                 }
  1126.                             }
  1127.                         }
  1128.  
  1129.                         If (LEqual (WDAS, 0x0D))
  1130.                         {
  1131.                             Increment (TOGF)
  1132.                             If (LGreater (TOGF, 0x05))
  1133.                             {
  1134.                                 Store (0x01, TOGF)
  1135.                             }
  1136.  
  1137.                             Store (TOGF, Local1)
  1138.                             If (LEqual (Local1, 0x01))
  1139.                             {
  1140.                                 Store (0x01, LCDA)
  1141.                                 Store (0x00, CRTA)
  1142.                                 Store (0x00, TV0A)
  1143.                                 Store (0x00, DVIA)
  1144.                             }
  1145.                             Else
  1146.                             {
  1147.                                 If (LEqual (Local1, 0x02))
  1148.                                 {
  1149.                                     Store (0x01, LCDA)
  1150.                                     Store (0x00, CRTA)
  1151.                                     Store (0x00, TV0A)
  1152.                                     Store (0x01, DVIA)
  1153.                                 }
  1154.                                 Else
  1155.                                 {
  1156.                                     If (LEqual (Local1, 0x03))
  1157.                                     {
  1158.                                         Store (0x01, LCDA)
  1159.                                         Store (0x00, CRTA)
  1160.                                         Store (0x01, TV0A)
  1161.                                         Store (0x00, DVIA)
  1162.                                     }
  1163.                                     Else
  1164.                                     {
  1165.                                         If (LEqual (Local1, 0x04))
  1166.                                         {
  1167.                                             Store (0x00, LCDA)
  1168.                                             Store (0x00, CRTA)
  1169.                                             Store (0x00, TV0A)
  1170.                                             Store (0x01, DVIA)
  1171.                                         }
  1172.                                         Else
  1173.                                         {
  1174.                                             If (LEqual (Local1, 0x05))
  1175.                                             {
  1176.                                                 Store (0x00, LCDA)
  1177.                                                 Store (0x00, CRTA)
  1178.                                                 Store (0x01, TV0A)
  1179.                                                 Store (0x00, DVIA)
  1180.                                             }
  1181.                                         }
  1182.                                     }
  1183.                                 }
  1184.                             }
  1185.                         }
  1186.  
  1187.                         If (LEqual (WDAS, 0x0B))
  1188.                         {
  1189.                             Increment (TOGF)
  1190.                             If (LGreater (TOGF, 0x05))
  1191.                             {
  1192.                                 Store (0x01, TOGF)
  1193.                             }
  1194.  
  1195.                             Store (TOGF, Local1)
  1196.                             If (LEqual (Local1, 0x01))
  1197.                             {
  1198.                                 Store (0x01, LCDA)
  1199.                                 Store (0x00, CRTA)
  1200.                                 Store (0x00, TV0A)
  1201.                                 Store (0x00, DVIA)
  1202.                             }
  1203.                             Else
  1204.                             {
  1205.                                 If (LEqual (Local1, 0x02))
  1206.                                 {
  1207.                                     Store (0x01, LCDA)
  1208.                                     Store (0x01, CRTA)
  1209.                                     Store (0x00, TV0A)
  1210.                                     Store (0x00, DVIA)
  1211.                                 }
  1212.                                 Else
  1213.                                 {
  1214.                                     If (LEqual (Local1, 0x03))
  1215.                                     {
  1216.                                         Store (0x01, LCDA)
  1217.                                         Store (0x00, CRTA)
  1218.                                         Store (0x00, TV0A)
  1219.                                         Store (0x01, DVIA)
  1220.                                     }
  1221.                                     Else
  1222.                                     {
  1223.                                         If (LEqual (Local1, 0x04))
  1224.                                         {
  1225.                                             Store (0x00, LCDA)
  1226.                                             Store (0x01, CRTA)
  1227.                                             Store (0x00, TV0A)
  1228.                                             Store (0x00, DVIA)
  1229.                                         }
  1230.                                         Else
  1231.                                         {
  1232.                                             If (LEqual (Local1, 0x05))
  1233.                                             {
  1234.                                                 Store (0x00, LCDA)
  1235.                                                 Store (0x00, CRTA)
  1236.                                                 Store (0x00, TV0A)
  1237.                                                 Store (0x01, DVIA)
  1238.                                             }
  1239.                                         }
  1240.                                     }
  1241.                                 }
  1242.                             }
  1243.                         }
  1244.  
  1245.                         If (LEqual (WDAS, 0x09))
  1246.                         {
  1247.                             Increment (TOGF)
  1248.                             If (LGreater (TOGF, 0x03))
  1249.                             {
  1250.                                 Store (0x01, TOGF)
  1251.                             }
  1252.  
  1253.                             Store (TOGF, Local1)
  1254.                             If (LEqual (Local1, 0x01))
  1255.                             {
  1256.                                 Store (0x01, LCDA)
  1257.                                 Store (0x00, CRTA)
  1258.                                 Store (0x00, TV0A)
  1259.                                 Store (0x00, DVIA)
  1260.                             }
  1261.                             Else
  1262.                             {
  1263.                                 If (LEqual (Local1, 0x02))
  1264.                                 {
  1265.                                     Store (0x01, LCDA)
  1266.                                     Store (0x00, CRTA)
  1267.                                     Store (0x00, TV0A)
  1268.                                     Store (0x01, DVIA)
  1269.                                 }
  1270.                                 Else
  1271.                                 {
  1272.                                     If (LEqual (Local1, 0x03))
  1273.                                     {
  1274.                                         Store (0x00, LCDA)
  1275.                                         Store (0x00, CRTA)
  1276.                                         Store (0x00, TV0A)
  1277.                                         Store (0x01, DVIA)
  1278.                                     }
  1279.                                 }
  1280.                             }
  1281.                         }
  1282.  
  1283.                         If (LOr (LEqual (WDAS, 0x05), LEqual (WDAS, 0x07)))
  1284.                         {
  1285.                             Increment (TOGF)
  1286.                             If (LGreater (TOGF, 0x05))
  1287.                             {
  1288.                                 Store (0x01, TOGF)
  1289.                             }
  1290.  
  1291.                             Store (TOGF, Local1)
  1292.                             If (LEqual (Local1, 0x01))
  1293.                             {
  1294.                                 Store (0x01, LCDA)
  1295.                                 Store (0x00, CRTA)
  1296.                                 Store (0x00, TV0A)
  1297.                                 Store (0x00, DVIA)
  1298.                             }
  1299.                             Else
  1300.                             {
  1301.                                 If (LEqual (Local1, 0x02))
  1302.                                 {
  1303.                                     Store (0x01, LCDA)
  1304.                                     Store (0x01, CRTA)
  1305.                                     Store (0x00, TV0A)
  1306.                                     Store (0x00, DVIA)
  1307.                                 }
  1308.                                 Else
  1309.                                 {
  1310.                                     If (LEqual (Local1, 0x03))
  1311.                                     {
  1312.                                         Store (0x01, LCDA)
  1313.                                         Store (0x00, CRTA)
  1314.                                         Store (0x01, TV0A)
  1315.                                         Store (0x00, DVIA)
  1316.                                     }
  1317.                                     Else
  1318.                                     {
  1319.                                         If (LEqual (Local1, 0x04))
  1320.                                         {
  1321.                                             Store (0x00, LCDA)
  1322.                                             Store (0x01, CRTA)
  1323.                                             Store (0x00, TV0A)
  1324.                                             Store (0x00, DVIA)
  1325.                                         }
  1326.                                         Else
  1327.                                         {
  1328.                                             If (LEqual (Local1, 0x05))
  1329.                                             {
  1330.                                                 Store (0x00, LCDA)
  1331.                                                 Store (0x00, CRTA)
  1332.                                                 Store (0x01, TV0A)
  1333.                                                 Store (0x00, DVIA)
  1334.                                             }
  1335.                                         }
  1336.                                     }
  1337.                                 }
  1338.                             }
  1339.                         }
  1340.  
  1341.                         If (LLessEqual (WDAS, 0x03))
  1342.                         {
  1343.                             Increment (TOGF)
  1344.                             If (LGreater (TOGF, 0x03))
  1345.                             {
  1346.                                 Store (0x01, TOGF)
  1347.                             }
  1348.  
  1349.                             Store (TOGF, Local1)
  1350.                             If (LEqual (Local1, 0x01))
  1351.                             {
  1352.                                 Store (0x01, LCDA)
  1353.                                 Store (0x00, CRTA)
  1354.                                 Store (0x00, TV0A)
  1355.                                 Store (0x00, DVIA)
  1356.                             }
  1357.                             Else
  1358.                             {
  1359.                                 If (LEqual (Local1, 0x02))
  1360.                                 {
  1361.                                     Store (0x01, LCDA)
  1362.                                     Store (0x01, CRTA)
  1363.                                     Store (0x00, TV0A)
  1364.                                     Store (0x00, DVIA)
  1365.                                 }
  1366.                                 Else
  1367.                                 {
  1368.                                     If (LEqual (Local1, 0x03))
  1369.                                     {
  1370.                                         Store (0x00, LCDA)
  1371.                                         Store (0x01, CRTA)
  1372.                                         Store (0x00, TV0A)
  1373.                                         Store (0x00, DVIA)
  1374.                                     }
  1375.                                 }
  1376.                             }
  1377.                         }
  1378.  
  1379.                         Notify (\_SB.PCI0.AGP.VGA, 0x80)
  1380.                     }
  1381.  
  1382.                     Method (GETD, 0, NotSerialized)
  1383.                     {
  1384.                         Store (0x98, \_SB.PCI0.LPC0.BCMD)
  1385.                         Store (0x00, \_SB.PCI0.LPC0.SMIC)
  1386.                         Store (\_SB.DISD, Local0)
  1387.                         If (LEqual (WDAS, 0x0F))
  1388.                         {
  1389.                             If (LEqual (Local0, 0x07))
  1390.                             {
  1391.                                 Store (0x07, TOGF)
  1392.                             }
  1393.  
  1394.                             If (LEqual (Local0, 0x06))
  1395.                             {
  1396.                                 Store (0x06, TOGF)
  1397.                             }
  1398.  
  1399.                             If (LEqual (Local0, 0x05))
  1400.                             {
  1401.                                 Store (0x05, TOGF)
  1402.                             }
  1403.  
  1404.                             If (LEqual (Local0, 0x04))
  1405.                             {
  1406.                                 Store (0x04, TOGF)
  1407.                             }
  1408.  
  1409.                             If (LEqual (Local0, 0x03))
  1410.                             {
  1411.                                 Store (0x03, TOGF)
  1412.                             }
  1413.  
  1414.                             If (LEqual (Local0, 0x02))
  1415.                             {
  1416.                                 Store (0x02, TOGF)
  1417.                             }
  1418.  
  1419.                             If (LEqual (Local0, 0x01))
  1420.                             {
  1421.                                 Store (0x01, TOGF)
  1422.                             }
  1423.  
  1424.                             If (LEqual (Local0, 0x00))
  1425.                             {
  1426.                                 Store (0x00, TOGF)
  1427.                             }
  1428.                         }
  1429.  
  1430.                         If (LEqual (WDAS, 0x0D))
  1431.                         {
  1432.                             If (LEqual (Local0, 0x07))
  1433.                             {
  1434.                                 Store (0x05, TOGF)
  1435.                             }
  1436.  
  1437.                             If (LEqual (Local0, 0x06))
  1438.                             {
  1439.                                 Store (0x04, TOGF)
  1440.                             }
  1441.  
  1442.                             If (LEqual (Local0, 0x04))
  1443.                             {
  1444.                                 Store (0x03, TOGF)
  1445.                             }
  1446.  
  1447.                             If (LEqual (Local0, 0x03))
  1448.                             {
  1449.                                 Store (0x02, TOGF)
  1450.                             }
  1451.  
  1452.                             If (LEqual (Local0, 0x01))
  1453.                             {
  1454.                                 Store (0x01, TOGF)
  1455.                             }
  1456.  
  1457.                             If (LEqual (Local0, 0x00))
  1458.                             {
  1459.                                 Store (0x00, TOGF)
  1460.                             }
  1461.                         }
  1462.  
  1463.                         If (LEqual (WDAS, 0x0B))
  1464.                         {
  1465.                             If (LEqual (Local0, 0x06))
  1466.                             {
  1467.                                 Store (0x05, TOGF)
  1468.                             }
  1469.  
  1470.                             If (LEqual (Local0, 0x05))
  1471.                             {
  1472.                                 Store (0x04, TOGF)
  1473.                             }
  1474.  
  1475.                             If (LEqual (Local0, 0x03))
  1476.                             {
  1477.                                 Store (0x03, TOGF)
  1478.                             }
  1479.  
  1480.                             If (LEqual (Local0, 0x02))
  1481.                             {
  1482.                                 Store (0x02, TOGF)
  1483.                             }
  1484.  
  1485.                             If (LEqual (Local0, 0x01))
  1486.                             {
  1487.                                 Store (0x01, TOGF)
  1488.                             }
  1489.  
  1490.                             If (LEqual (Local0, 0x00))
  1491.                             {
  1492.                                 Store (0x00, TOGF)
  1493.                             }
  1494.                         }
  1495.  
  1496.                         If (LEqual (WDAS, 0x09))
  1497.                         {
  1498.                             If (LEqual (Local0, 0x06))
  1499.                             {
  1500.                                 Store (0x03, TOGF)
  1501.                             }
  1502.  
  1503.                             If (LEqual (Local0, 0x03))
  1504.                             {
  1505.                                 Store (0x02, TOGF)
  1506.                             }
  1507.  
  1508.                             If (LEqual (Local0, 0x01))
  1509.                             {
  1510.                                 Store (0x01, TOGF)
  1511.                             }
  1512.  
  1513.                             If (LEqual (Local0, 0x00))
  1514.                             {
  1515.                                 Store (0x00, TOGF)
  1516.                             }
  1517.                         }
  1518.  
  1519.                         If (LOr (LEqual (WDAS, 0x05), LEqual (WDAS, 0x07)))
  1520.                         {
  1521.                             If (LEqual (Local0, 0x07))
  1522.                             {
  1523.                                 Store (0x05, TOGF)
  1524.                             }
  1525.  
  1526.                             If (LEqual (Local0, 0x05))
  1527.                             {
  1528.                                 Store (0x04, TOGF)
  1529.                             }
  1530.  
  1531.                             If (LEqual (Local0, 0x04))
  1532.                             {
  1533.                                 Store (0x03, TOGF)
  1534.                             }
  1535.  
  1536.                             If (LEqual (Local0, 0x02))
  1537.                             {
  1538.                                 Store (0x02, TOGF)
  1539.                             }
  1540.  
  1541.                             If (LEqual (Local0, 0x01))
  1542.                             {
  1543.                                 Store (0x01, TOGF)
  1544.                             }
  1545.  
  1546.                             If (LEqual (Local0, 0x00))
  1547.                             {
  1548.                                 Store (0x00, TOGF)
  1549.                             }
  1550.  
  1551.                             If (LEqual (TOGF, LSTF))
  1552.                             {
  1553.                                 Increment (TOGF)
  1554.                             }
  1555.  
  1556.                             Store (TOGF, LSTF)
  1557.                         }
  1558.  
  1559.                         If (LLessEqual (WDAS, 0x03))
  1560.                         {
  1561.                             If (LEqual (Local0, 0x05))
  1562.                             {
  1563.                                 Store (0x03, TOGF)
  1564.                             }
  1565.  
  1566.                             If (LEqual (Local0, 0x02))
  1567.                             {
  1568.                                 Store (0x02, TOGF)
  1569.                             }
  1570.  
  1571.                             If (LEqual (Local0, 0x01))
  1572.                             {
  1573.                                 Store (0x01, TOGF)
  1574.                             }
  1575.  
  1576.                             If (LEqual (Local0, 0x00))
  1577.                             {
  1578.                                 Store (0x00, TOGF)
  1579.                             }
  1580.                         }
  1581.                     }
  1582.                 }
  1583.             }
  1584.  
  1585.             Device (PCIB)
  1586.             {
  1587.                 Name (_ADR, 0x001E0000)
  1588.                 Device (GLAN)
  1589.                 {
  1590.                     Name (_ADR, 0x00020000)
  1591.                     Name (_PRW, Package (0x02)
  1592.                     {
  1593.                         0x0B,
  1594.                         0x05
  1595.                     })
  1596.                 }
  1597.  
  1598.                 Device (MPCI)
  1599.                 {
  1600.                     Name (_ADR, 0x00040000)
  1601.                     Name (_PRW, Package (0x02)
  1602.                     {
  1603.                         0x0B,
  1604.                         0x04
  1605.                     })
  1606.                 }
  1607.  
  1608.                 Device (T394)
  1609.                 {
  1610.                     Name (_ADR, 0x00060002)
  1611.                     Name (_PRW, Package (0x02)
  1612.                     {
  1613.                         0x0B,
  1614.                         0x04
  1615.                     })
  1616.                 }
  1617.  
  1618.                 Method (_PRT, 0, NotSerialized)
  1619.                 {
  1620.                     Return (Package (0x06)
  1621.                     {
  1622.                         Package (0x04)
  1623.                         {
  1624.                             0x0002FFFF,
  1625.                             0x00,
  1626.                             \_SB.PCI0.LPC0.LNKD,
  1627.                             0x00
  1628.                         },
  1629.  
  1630.                         Package (0x04)
  1631.                         {
  1632.                             0x0004FFFF,
  1633.                             0x00,
  1634.                             \_SB.PCI0.LPC0.LNKB,
  1635.                             0x00
  1636.                         },
  1637.  
  1638.                         Package (0x04)
  1639.                         {
  1640.                             0x0004FFFF,
  1641.                             0x01,
  1642.                             \_SB.PCI0.LPC0.LNKC,
  1643.                             0x00
  1644.                         },
  1645.  
  1646.                         Package (0x04)
  1647.                         {
  1648.                             0x0006FFFF,
  1649.                             0x00,
  1650.                             \_SB.PCI0.LPC0.LNKE,
  1651.                             0x00
  1652.                         },
  1653.  
  1654.                         Package (0x04)
  1655.                         {
  1656.                             0x0006FFFF,
  1657.                             0x01,
  1658.                             \_SB.PCI0.LPC0.LNKF,
  1659.                             0x00
  1660.                         },
  1661.  
  1662.                         Package (0x04)
  1663.                         {
  1664.                             0x0006FFFF,
  1665.                             0x02,
  1666.                             \_SB.PCI0.LPC0.LNKG,
  1667.                             0x00
  1668.                         }
  1669.                     })
  1670.                 }
  1671.             }
  1672.  
  1673.             Device (LPC0)
  1674.             {
  1675.                 Name (_ADR, 0x001F0000)
  1676.                 Method (DECD, 4, NotSerialized)
  1677.                 {
  1678.                     Store (Arg0, Debug)
  1679.                 }
  1680.  
  1681.                 OperationRegion (REGS, PCI_Config, 0x40, 0xC0)
  1682.                 Field (REGS, DWordAcc, NoLock, Preserve)
  1683.                 {
  1684.                     PMBA,   16,
  1685.                             Offset (0x18),
  1686.                     GPBA,   16,
  1687.                             Offset (0x90),
  1688.                     POSD,   1,
  1689.                             Offset (0x91),
  1690.                     MTSE,   16,
  1691.                             Offset (0x94),
  1692.                             Offset (0xA0),
  1693.                     CMAD,   3,
  1694.                         ,   1,
  1695.                     CMBD,   3,
  1696.                             Offset (0xA1),
  1697.                     LPTD,   2,
  1698.                         ,   2,
  1699.                     FDDD,   1,
  1700.                             Offset (0xA6),
  1701.                     ECO1,   1,
  1702.                     ECO2,   1,
  1703.                     ELPT,   1,
  1704.                     EFDD,   1
  1705.                 }
  1706.  
  1707.                 OperationRegion (PIRX, PCI_Config, 0x60, 0x0C)
  1708.                 Field (PIRX, DWordAcc, NoLock, Preserve)
  1709.                 {
  1710.                             AccessAs (ByteAcc, 0x00),
  1711.                     PIRA,   8,
  1712.                     PIRB,   8,
  1713.                     PIRC,   8,
  1714.                     PIRD,   8,
  1715.                             Offset (0x08),
  1716.                     PIRE,   8,
  1717.                     PIRF,   8,
  1718.                     PIRG,   8,
  1719.                     PIRH,   8
  1720.                 }
  1721.  
  1722.                 Device (TIMR)
  1723.                 {
  1724.                     Name (_HID, EisaId ("PNP0100"))
  1725.                     Name (BUF0, ResourceTemplate ()
  1726.                     {
  1727.                         IO (Decode16,
  1728.                             0x0040,             // Range Minimum
  1729.                             0x0040,             // Range Maximum
  1730.                             0x01,               // Alignment
  1731.                             0x04,               // Length
  1732.                             )
  1733.                         IO (Decode16,
  1734.                             0x0050,             // Range Minimum
  1735.                             0x0050,             // Range Maximum
  1736.                             0x10,               // Alignment
  1737.                             0x04,               // Length
  1738.                             )
  1739.                     })
  1740.                     Name (BUF1, ResourceTemplate ()
  1741.                     {
  1742.                         IO (Decode16,
  1743.                             0x0040,             // Range Minimum
  1744.                             0x0040,             // Range Maximum
  1745.                             0x01,               // Alignment
  1746.                             0x04,               // Length
  1747.                             )
  1748.                         IO (Decode16,
  1749.                             0x0050,             // Range Minimum
  1750.                             0x0050,             // Range Maximum
  1751.                             0x10,               // Alignment
  1752.                             0x04,               // Length
  1753.                             )
  1754.                         IRQNoFlags ()
  1755.                             {0}
  1756.                     })
  1757.                     Method (_CRS, 0, Serialized)
  1758.                     {
  1759.                         If (And (MTSE, 0x0200))
  1760.                         {
  1761.                             Return (BUF0)
  1762.                         }
  1763.  
  1764.                         Return (BUF1)
  1765.                     }
  1766.                 }
  1767.  
  1768.                 Device (IPIC)
  1769.                 {
  1770.                     Name (_HID, EisaId ("PNP0000"))
  1771.                     Name (_CRS, ResourceTemplate ()
  1772.                     {
  1773.                         IO (Decode16,
  1774.                             0x0020,             // Range Minimum
  1775.                             0x0020,             // Range Maximum
  1776.                             0x01,               // Alignment
  1777.                             0x02,               // Length
  1778.                             )
  1779.                         IO (Decode16,
  1780.                             0x0024,             // Range Minimum
  1781.                             0x0024,             // Range Maximum
  1782.                             0x01,               // Alignment
  1783.                             0x02,               // Length
  1784.                             )
  1785.                         IO (Decode16,
  1786.                             0x0028,             // Range Minimum
  1787.                             0x0028,             // Range Maximum
  1788.                             0x01,               // Alignment
  1789.                             0x02,               // Length
  1790.                             )
  1791.                         IO (Decode16,
  1792.                             0x002C,             // Range Minimum
  1793.                             0x002C,             // Range Maximum
  1794.                             0x01,               // Alignment
  1795.                             0x02,               // Length
  1796.                             )
  1797.                         IO (Decode16,
  1798.                             0x0030,             // Range Minimum
  1799.                             0x0030,             // Range Maximum
  1800.                             0x01,               // Alignment
  1801.                             0x02,               // Length
  1802.                             )
  1803.                         IO (Decode16,
  1804.                             0x0034,             // Range Minimum
  1805.                             0x0034,             // Range Maximum
  1806.                             0x01,               // Alignment
  1807.                             0x02,               // Length
  1808.                             )
  1809.                         IO (Decode16,
  1810.                             0x0038,             // Range Minimum
  1811.                             0x0038,             // Range Maximum
  1812.                             0x01,               // Alignment
  1813.                             0x02,               // Length
  1814.                             )
  1815.                         IO (Decode16,
  1816.                             0x003C,             // Range Minimum
  1817.                             0x003C,             // Range Maximum
  1818.                             0x01,               // Alignment
  1819.                             0x02,               // Length
  1820.                             )
  1821.                         IO (Decode16,
  1822.                             0x00A0,             // Range Minimum
  1823.                             0x00A0,             // Range Maximum
  1824.                             0x01,               // Alignment
  1825.                             0x02,               // Length
  1826.                             )
  1827.                         IO (Decode16,
  1828.                             0x00A4,             // Range Minimum
  1829.                             0x00A4,             // Range Maximum
  1830.                             0x01,               // Alignment
  1831.                             0x02,               // Length
  1832.                             )
  1833.                         IO (Decode16,
  1834.                             0x00A8,             // Range Minimum
  1835.                             0x00A8,             // Range Maximum
  1836.                             0x01,               // Alignment
  1837.                             0x02,               // Length
  1838.                             )
  1839.                         IO (Decode16,
  1840.                             0x00AC,             // Range Minimum
  1841.                             0x00AC,             // Range Maximum
  1842.                             0x01,               // Alignment
  1843.                             0x02,               // Length
  1844.                             )
  1845.                         IO (Decode16,
  1846.                             0x00B0,             // Range Minimum
  1847.                             0x00B0,             // Range Maximum
  1848.                             0x01,               // Alignment
  1849.                             0x02,               // Length
  1850.                             )
  1851.                         IO (Decode16,
  1852.                             0x00B4,             // Range Minimum
  1853.                             0x00B4,             // Range Maximum
  1854.                             0x01,               // Alignment
  1855.                             0x02,               // Length
  1856.                             )
  1857.                         IO (Decode16,
  1858.                             0x00B8,             // Range Minimum
  1859.                             0x00B8,             // Range Maximum
  1860.                             0x01,               // Alignment
  1861.                             0x02,               // Length
  1862.                             )
  1863.                         IO (Decode16,
  1864.                             0x00BC,             // Range Minimum
  1865.                             0x00BC,             // Range Maximum
  1866.                             0x01,               // Alignment
  1867.                             0x02,               // Length
  1868.                             )
  1869.                         IO (Decode16,
  1870.                             0x04D0,             // Range Minimum
  1871.                             0x04D0,             // Range Maximum
  1872.                             0x01,               // Alignment
  1873.                             0x02,               // Length
  1874.                             )
  1875.                         IRQNoFlags ()
  1876.                             {2}
  1877.                     })
  1878.                 }
  1879.  
  1880.                 Device (RTC)
  1881.                 {
  1882.                     Name (_HID, EisaId ("PNP0B00"))
  1883.                     Name (BUF0, ResourceTemplate ()
  1884.                     {
  1885.                         IO (Decode16,
  1886.                             0x0070,             // Range Minimum
  1887.                             0x0070,             // Range Maximum
  1888.                             0x01,               // Alignment
  1889.                             0x08,               // Length
  1890.                             )
  1891.                     })
  1892.                     Name (BUF1, ResourceTemplate ()
  1893.                     {
  1894.                         IO (Decode16,
  1895.                             0x0070,             // Range Minimum
  1896.                             0x0070,             // Range Maximum
  1897.                             0x01,               // Alignment
  1898.                             0x08,               // Length
  1899.                             )
  1900.                         IRQNoFlags ()
  1901.                             {8}
  1902.                     })
  1903.                     Method (_CRS, 0, Serialized)
  1904.                     {
  1905.                         If (And (MTSE, 0x0200))
  1906.                         {
  1907.                             Return (BUF0)
  1908.                         }
  1909.  
  1910.                         Return (BUF1)
  1911.                     }
  1912.                 }
  1913.  
  1914.                 Device (MATH)
  1915.                 {
  1916.                     Name (_HID, EisaId ("PNP0C04"))
  1917.                     Name (_CRS, ResourceTemplate ()
  1918.                     {
  1919.                         IO (Decode16,
  1920.                             0x00F0,             // Range Minimum
  1921.                             0x00F0,             // Range Maximum
  1922.                             0x01,               // Alignment
  1923.                             0x01,               // Length
  1924.                             )
  1925.                         IRQNoFlags ()
  1926.                             {13}
  1927.                     })
  1928.                 }
  1929.  
  1930.                 Device (DMAC)
  1931.                 {
  1932.                     Name (_HID, EisaId ("PNP0200"))
  1933.                     Name (_CRS, ResourceTemplate ()
  1934.                     {
  1935.                         IO (Decode16,
  1936.                             0x0000,             // Range Minimum
  1937.                             0x0000,             // Range Maximum
  1938.                             0x01,               // Alignment
  1939.                             0x20,               // Length
  1940.                             )
  1941.                         IO (Decode16,
  1942.                             0x0081,             // Range Minimum
  1943.                             0x0081,             // Range Maximum
  1944.                             0x01,               // Alignment
  1945.                             0x0F,               // Length
  1946.                             )
  1947.                         IO (Decode16,
  1948.                             0x0090,             // Range Minimum
  1949.                             0x0090,             // Range Maximum
  1950.                             0x01,               // Alignment
  1951.                             0x02,               // Length
  1952.                             )
  1953.                         IO (Decode16,
  1954.                             0x0093,             // Range Minimum
  1955.                             0x0093,             // Range Maximum
  1956.                             0x01,               // Alignment
  1957.                             0x0D,               // Length
  1958.                             )
  1959.                         IO (Decode16,
  1960.                             0x00C0,             // Range Minimum
  1961.                             0x00C0,             // Range Maximum
  1962.                             0x01,               // Alignment
  1963.                             0x20,               // Length
  1964.                             )
  1965.                         DMA (Compatibility, NotBusMaster, Transfer8_16, )
  1966.                             {4}
  1967.                     })
  1968.                 }
  1969.  
  1970.                 Device (MBRD)
  1971.                 {
  1972.                     Name (_HID, EisaId ("PNP0C02"))
  1973.                     Name (_UID, 0x1F)
  1974.                     Name (_CRS, ResourceTemplate ()
  1975.                     {
  1976.                         IO (Decode16,
  1977.                             0x0010,             // Range Minimum
  1978.                             0x0010,             // Range Maximum
  1979.                             0x01,               // Alignment
  1980.                             0x10,               // Length
  1981.                             )
  1982.                         IO (Decode16,
  1983.                             0x0024,             // Range Minimum
  1984.                             0x0024,             // Range Maximum
  1985.                             0x01,               // Alignment
  1986.                             0x02,               // Length
  1987.                             )
  1988.                         IO (Decode16,
  1989.                             0x0028,             // Range Minimum
  1990.                             0x0028,             // Range Maximum
  1991.                             0x01,               // Alignment
  1992.                             0x02,               // Length
  1993.                             )
  1994.                         IO (Decode16,
  1995.                             0x002C,             // Range Minimum
  1996.                             0x002C,             // Range Maximum
  1997.                             0x01,               // Alignment
  1998.                             0x02,               // Length
  1999.                             )
  2000.                         IO (Decode16,
  2001.                             0x164E,             // Range Minimum
  2002.                             0x164E,             // Range Maximum
  2003.                             0x01,               // Alignment
  2004.                             0x02,               // Length
  2005.                             )
  2006.                         IO (Decode16,
  2007.                             0x0030,             // Range Minimum
  2008.                             0x0030,             // Range Maximum
  2009.                             0x01,               // Alignment
  2010.                             0x02,               // Length
  2011.                             )
  2012.                         IO (Decode16,
  2013.                             0x0034,             // Range Minimum
  2014.                             0x0034,             // Range Maximum
  2015.                             0x01,               // Alignment
  2016.                             0x02,               // Length
  2017.                             )
  2018.                         IO (Decode16,
  2019.                             0x0038,             // Range Minimum
  2020.                             0x0038,             // Range Maximum
  2021.                             0x01,               // Alignment
  2022.                             0x02,               // Length
  2023.                             )
  2024.                         IO (Decode16,
  2025.                             0x003C,             // Range Minimum
  2026.                             0x003C,             // Range Maximum
  2027.                             0x01,               // Alignment
  2028.                             0x02,               // Length
  2029.                             )
  2030.                         IO (Decode16,
  2031.                             0x0050,             // Range Minimum
  2032.                             0x0050,             // Range Maximum
  2033.                             0x01,               // Alignment
  2034.                             0x04,               // Length
  2035.                             )
  2036.                         IO (Decode16,
  2037.                             0x0061,             // Range Minimum
  2038.                             0x0061,             // Range Maximum
  2039.                             0x01,               // Alignment
  2040.                             0x01,               // Length
  2041.                             )
  2042.                         IO (Decode16,
  2043.                             0x0063,             // Range Minimum
  2044.                             0x0063,             // Range Maximum
  2045.                             0x01,               // Alignment
  2046.                             0x01,               // Length
  2047.                             )
  2048.                         IO (Decode16,
  2049.                             0x0065,             // Range Minimum
  2050.                             0x0065,             // Range Maximum
  2051.                             0x01,               // Alignment
  2052.                             0x01,               // Length
  2053.                             )
  2054.                         IO (Decode16,
  2055.                             0x0067,             // Range Minimum
  2056.                             0x0067,             // Range Maximum
  2057.                             0x01,               // Alignment
  2058.                             0x01,               // Length
  2059.                             )
  2060.                         IO (Decode16,
  2061.                             0x0072,             // Range Minimum
  2062.                             0x0072,             // Range Maximum
  2063.                             0x01,               // Alignment
  2064.                             0x06,               // Length
  2065.                             )
  2066.                         IO (Decode16,
  2067.                             0x0080,             // Range Minimum
  2068.                             0x0080,             // Range Maximum
  2069.                             0x01,               // Alignment
  2070.                             0x01,               // Length
  2071.                             )
  2072.                         IO (Decode16,
  2073.                             0x0090,             // Range Minimum
  2074.                             0x0090,             // Range Maximum
  2075.                             0x01,               // Alignment
  2076.                             0x10,               // Length
  2077.                             )
  2078.                         IO (Decode16,
  2079.                             0x0092,             // Range Minimum
  2080.                             0x0092,             // Range Maximum
  2081.                             0x01,               // Alignment
  2082.                             0x01,               // Length
  2083.                             )
  2084.                         IO (Decode16,
  2085.                             0x00A4,             // Range Minimum
  2086.                             0x00A4,             // Range Maximum
  2087.                             0x01,               // Alignment
  2088.                             0x02,               // Length
  2089.                             )
  2090.                         IO (Decode16,
  2091.                             0x00A8,             // Range Minimum
  2092.                             0x00A8,             // Range Maximum
  2093.                             0x01,               // Alignment
  2094.                             0x02,               // Length
  2095.                             )
  2096.                         IO (Decode16,
  2097.                             0x00AC,             // Range Minimum
  2098.                             0x00AC,             // Range Maximum
  2099.                             0x01,               // Alignment
  2100.                             0x02,               // Length
  2101.                             )
  2102.                         IO (Decode16,
  2103.                             0x00B0,             // Range Minimum
  2104.                             0x00B0,             // Range Maximum
  2105.                             0x01,               // Alignment
  2106.                             0x06,               // Length
  2107.                             )
  2108.                         IO (Decode16,
  2109.                             0x00B2,             // Range Minimum
  2110.                             0x00B2,             // Range Maximum
  2111.                             0x01,               // Alignment
  2112.                             0x02,               // Length
  2113.                             )
  2114.                         IO (Decode16,
  2115.                             0x00B8,             // Range Minimum
  2116.                             0x00B8,             // Range Maximum
  2117.                             0x01,               // Alignment
  2118.                             0x02,               // Length
  2119.                             )
  2120.                         IO (Decode16,
  2121.                             0x00BC,             // Range Minimum
  2122.                             0x00BC,             // Range Maximum
  2123.                             0x01,               // Alignment
  2124.                             0x02,               // Length
  2125.                             )
  2126.                         IO (Decode16,
  2127.                             0x0600,             // Range Minimum
  2128.                             0x0600,             // Range Maximum
  2129.                             0x01,               // Alignment
  2130.                             0x10,               // Length
  2131.                             )
  2132.                         IO (Decode16,
  2133.                             0x0700,             // Range Minimum
  2134.                             0x0700,             // Range Maximum
  2135.                             0x01,               // Alignment
  2136.                             0x10,               // Length
  2137.                             )
  2138.                         IO (Decode16,
  2139.                             0x0800,             // Range Minimum
  2140.                             0x0800,             // Range Maximum
  2141.                             0x01,               // Alignment
  2142.                             0x10,               // Length
  2143.                             )
  2144.                         IO (Decode16,
  2145.                             0x1000,             // Range Minimum
  2146.                             0x1000,             // Range Maximum
  2147.                             0x01,               // Alignment
  2148.                             0x80,               // Length
  2149.                             )
  2150.                         IO (Decode16,
  2151.                             0x1180,             // Range Minimum
  2152.                             0x1180,             // Range Maximum
  2153.                             0x01,               // Alignment
  2154.                             0x40,               // Length
  2155.                             )
  2156.                         IO (Decode16,
  2157.                             0x01C0,             // Range Minimum
  2158.                             0x01C0,             // Range Maximum
  2159.                             0x01,               // Alignment
  2160.                             0x10,               // Length
  2161.                             )
  2162.                         IO (Decode16,
  2163.                             0x002E,             // Range Minimum
  2164.                             0x002E,             // Range Maximum
  2165.                             0x01,               // Alignment
  2166.                             0x02,               // Length
  2167.                             )
  2168.                         IO (Decode16,
  2169.                             0x0068,             // Range Minimum
  2170.                             0x0068,             // Range Maximum
  2171.                             0x01,               // Alignment
  2172.                             0x01,               // Length
  2173.                             )
  2174.                         IO (Decode16,
  2175.                             0x006C,             // Range Minimum
  2176.                             0x006C,             // Range Maximum
  2177.                             0x01,               // Alignment
  2178.                             0x01,               // Length
  2179.                             )
  2180.                         IO (Decode16,
  2181.                             0xFE00,             // Range Minimum
  2182.                             0xFE00,             // Range Maximum
  2183.                             0x00,               // Alignment
  2184.                             0x01,               // Length
  2185.                             )
  2186.                         IO (Decode16,
  2187.                             0x04D0,             // Range Minimum
  2188.                             0x04D0,             // Range Maximum
  2189.                             0x01,               // Alignment
  2190.                             0x02,               // Length
  2191.                             )
  2192.                         IO (Decode16,
  2193.                             0x0610,             // Range Minimum
  2194.                             0x0610,             // Range Maximum
  2195.                             0x01,               // Alignment
  2196.                             0x10,               // Length
  2197.                             )
  2198.                         IO (Decode16,
  2199.                             0x0068,             // Range Minimum
  2200.                             0x0068,             // Range Maximum
  2201.                             0x01,               // Alignment
  2202.                             0x01,               // Length
  2203.                             )
  2204.                         IO (Decode16,
  2205.                             0x006C,             // Range Minimum
  2206.                             0x006C,             // Range Maximum
  2207.                             0x01,               // Alignment
  2208.                             0x01,               // Length
  2209.                             )
  2210.                         Memory32Fixed (ReadWrite,
  2211.                             0xFEC10000,         // Address Base
  2212.                             0x00010000,         // Address Length
  2213.                             )
  2214.                         Memory32Fixed (ReadOnly,
  2215.                             0xFF800000,         // Address Base
  2216.                             0x00400000,         // Address Length
  2217.                             )
  2218.                         Memory32Fixed (ReadOnly,
  2219.                             0xFFF00000,         // Address Base
  2220.                             0x00100000,         // Address Length
  2221.                             )
  2222.                         Memory32Fixed (ReadWrite,
  2223.                             0x00000000,         // Address Base
  2224.                             0x000A0000,         // Address Length
  2225.                             )
  2226.                         Memory32Fixed (ReadOnly,
  2227.                             0x000E0000,         // Address Base
  2228.                             0x00020000,         // Address Length
  2229.                             )
  2230.                         Memory32Fixed (ReadOnly,
  2231.                             0x000DF800,         // Address Base
  2232.                             0x00000800,         // Address Length
  2233.                             )
  2234.                         Memory32Fixed (ReadWrite,
  2235.                             0x00100000,         // Address Base
  2236.                             0x00000000,         // Address Length
  2237.                             )
  2238.                     })
  2239.                 }
  2240.  
  2241.                 Device (FWHD)
  2242.                 {
  2243.                     Name (_HID, EisaId ("INT0800"))
  2244.                     Name (_CRS, ResourceTemplate ()
  2245.                     {
  2246.                         Memory32Fixed (ReadOnly,
  2247.                             0xFF800000,         // Address Base
  2248.                             0x00800000,         // Address Length
  2249.                             )
  2250.                     })
  2251.                 }
  2252.  
  2253.                 Device (HPET)
  2254.                 {
  2255.                     Name (_HID, EisaId ("PNP0103"))
  2256.                     Name (BUF0, ResourceTemplate ()
  2257.                     {
  2258.                         IRQNoFlags ()
  2259.                             {0}
  2260.                         IRQNoFlags ()
  2261.                             {8}
  2262.                         Memory32Fixed (ReadOnly,
  2263.                             0xFED00000,         // Address Base
  2264.                             0x00000400,         // Address Length
  2265.                             _Y0F)
  2266.                     })
  2267.                     Method (_STA, 0, NotSerialized)
  2268.                     {
  2269.                         ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
  2270.                         If (LEqual (OSYS, 0x07D1))
  2271.                         {
  2272.                             If (And (Local0, 0x04))
  2273.                             {
  2274.                                 Return (0x0F)
  2275.                             }
  2276.                         }
  2277.                         Else
  2278.                         {
  2279.                             If (And (Local0, 0x04))
  2280.                             {
  2281.                                 Return (0x0B)
  2282.                             }
  2283.                         }
  2284.  
  2285.                         Return (0x00)
  2286.                     }
  2287.  
  2288.                     Method (_CRS, 0, Serialized)
  2289.                     {
  2290.                         ShiftRight (And (MTSE, 0x0380), 0x07, Local0)
  2291.                         If (And (Local0, 0x04))
  2292.                         {
  2293.                             CreateDWordField (BUF0, \_SB.PCI0.LPC0.HPET._Y0F._BAS, HPT0)
  2294.                             If (LEqual (Local0, 0x05))
  2295.                             {
  2296.                                 Store (0xFED01000, HPT0)
  2297.                             }
  2298.  
  2299.                             If (LEqual (Local0, 0x06))
  2300.                             {
  2301.                                 Store (0xFED02000, HPT0)
  2302.                             }
  2303.  
  2304.                             If (LEqual (Local0, 0x07))
  2305.                             {
  2306.                                 Store (0xFED03000, HPT0)
  2307.                             }
  2308.                         }
  2309.  
  2310.                         Return (BUF0)
  2311.                     }
  2312.                 }
  2313.  
  2314.                 Device (LNKA)
  2315.                 {
  2316.                     Name (_HID, EisaId ("PNP0C0F"))
  2317.                     Name (_UID, 0x01)
  2318.                     Method (_DIS, 0, Serialized)
  2319.                     {
  2320.                         Store (0x80, PIRA)
  2321.                     }
  2322.  
  2323.                     Name (_PRS, ResourceTemplate ()
  2324.                     {
  2325.                         IRQ (Level, ActiveLow, Shared, )
  2326.                             {6}
  2327.                     })
  2328.                     Method (_CRS, 0, Serialized)
  2329.                     {
  2330.                         Name (RTLA, ResourceTemplate ()
  2331.                         {
  2332.                             IRQ (Level, ActiveLow, Shared, _Y10)
  2333.                                 {}
  2334.                         })
  2335.                         CreateWordField (RTLA, \_SB.PCI0.LPC0.LNKA._CRS._Y10._INT, IRQ0)
  2336.                         Store (Zero, IRQ0)
  2337.                         ShiftLeft (0x01, And (PIRA, 0x0F), IRQ0)
  2338.                         Return (RTLA)
  2339.                     }
  2340.  
  2341.                     Method (_SRS, 1, Serialized)
  2342.                     {
  2343.                         CreateWordField (Arg0, 0x01, IRQ0)
  2344.                         FindSetRightBit (IRQ0, Local0)
  2345.                         Decrement (Local0)
  2346.                         Store (Local0, PIRA)
  2347.                     }
  2348.  
  2349.                     Method (_STA, 0, Serialized)
  2350.                     {
  2351.                         If (And (PIRA, 0x80))
  2352.                         {
  2353.                             Return (0x09)
  2354.                         }
  2355.                         Else
  2356.                         {
  2357.                             Return (0x0B)
  2358.                         }
  2359.                     }
  2360.                 }
  2361.  
  2362.                 Device (LNKB)
  2363.                 {
  2364.                     Name (_HID, EisaId ("PNP0C0F"))
  2365.                     Name (_UID, 0x02)
  2366.                     Method (_DIS, 0, Serialized)
  2367.                     {
  2368.                         Store (0x80, PIRB)
  2369.                     }
  2370.  
  2371.                     Name (_PRS, ResourceTemplate ()
  2372.                     {
  2373.                         IRQ (Level, ActiveLow, Shared, )
  2374.                             {10}
  2375.                     })
  2376.                     Method (_CRS, 0, Serialized)
  2377.                     {
  2378.                         Name (RTLB, ResourceTemplate ()
  2379.                         {
  2380.                             IRQ (Level, ActiveLow, Shared, _Y11)
  2381.                                 {}
  2382.                         })
  2383.                         CreateWordField (RTLB, \_SB.PCI0.LPC0.LNKB._CRS._Y11._INT, IRQ0)
  2384.                         Store (Zero, IRQ0)
  2385.                         ShiftLeft (0x01, And (PIRB, 0x0F), IRQ0)
  2386.                         Return (RTLB)
  2387.                     }
  2388.  
  2389.                     Method (_SRS, 1, Serialized)
  2390.                     {
  2391.                         CreateWordField (Arg0, 0x01, IRQ0)
  2392.                         FindSetRightBit (IRQ0, Local0)
  2393.                         Decrement (Local0)
  2394.                         Store (Local0, PIRB)
  2395.                     }
  2396.  
  2397.                     Method (_STA, 0, Serialized)
  2398.                     {
  2399.                         If (And (PIRB, 0x80))
  2400.                         {
  2401.                             Return (0x09)
  2402.                         }
  2403.                         Else
  2404.                         {
  2405.                             Return (0x0B)
  2406.                         }
  2407.                     }
  2408.                 }
  2409.  
  2410.                 Device (LNKC)
  2411.                 {
  2412.                     Name (_HID, EisaId ("PNP0C0F"))
  2413.                     Name (_UID, 0x03)
  2414.                     Method (_DIS, 0, Serialized)
  2415.                     {
  2416.                         Store (0x80, PIRC)
  2417.                     }
  2418.  
  2419.                     Name (_PRS, ResourceTemplate ()
  2420.                     {
  2421.                         IRQ (Level, ActiveLow, Shared, )
  2422.                             {6}
  2423.                     })
  2424.                     Method (_CRS, 0, Serialized)
  2425.                     {
  2426.                         Name (RTLC, ResourceTemplate ()
  2427.                         {
  2428.                             IRQ (Level, ActiveLow, Shared, _Y12)
  2429.                                 {}
  2430.                         })
  2431.                         CreateWordField (RTLC, \_SB.PCI0.LPC0.LNKC._CRS._Y12._INT, IRQ0)
  2432.                         Store (Zero, IRQ0)
  2433.                         ShiftLeft (0x01, And (PIRC, 0x0F), IRQ0)
  2434.                         Return (RTLC)
  2435.                     }
  2436.  
  2437.                     Method (_SRS, 1, Serialized)
  2438.                     {
  2439.                         CreateWordField (Arg0, 0x01, IRQ0)
  2440.                         FindSetRightBit (IRQ0, Local0)
  2441.                         Decrement (Local0)
  2442.                         Store (Local0, PIRC)
  2443.                     }
  2444.  
  2445.                     Method (_STA, 0, Serialized)
  2446.                     {
  2447.                         If (And (PIRC, 0x80))
  2448.                         {
  2449.                             Return (0x09)
  2450.                         }
  2451.                         Else
  2452.                         {
  2453.                             Return (0x0B)
  2454.                         }
  2455.                     }
  2456.                 }
  2457.  
  2458.                 Device (LNKD)
  2459.                 {
  2460.                     Name (_HID, EisaId ("PNP0C0F"))
  2461.                     Name (_UID, 0x04)
  2462.                     Method (_DIS, 0, Serialized)
  2463.                     {
  2464.                         Store (0x80, PIRD)
  2465.                     }
  2466.  
  2467.                     Name (_PRS, ResourceTemplate ()
  2468.                     {
  2469.                         IRQ (Level, ActiveLow, Shared, )
  2470.                             {6}
  2471.                     })
  2472.                     Method (_CRS, 0, Serialized)
  2473.                     {
  2474.                         Name (RTLD, ResourceTemplate ()
  2475.                         {
  2476.                             IRQ (Level, ActiveLow, Shared, _Y13)
  2477.                                 {}
  2478.                         })
  2479.                         CreateWordField (RTLD, \_SB.PCI0.LPC0.LNKD._CRS._Y13._INT, IRQ0)
  2480.                         Store (Zero, IRQ0)
  2481.                         ShiftLeft (0x01, And (PIRD, 0x0F), IRQ0)
  2482.                         Return (RTLD)
  2483.                     }
  2484.  
  2485.                     Method (_SRS, 1, Serialized)
  2486.                     {
  2487.                         CreateWordField (Arg0, 0x01, IRQ0)
  2488.                         FindSetRightBit (IRQ0, Local0)
  2489.                         Decrement (Local0)
  2490.                         Store (Local0, PIRD)
  2491.                     }
  2492.  
  2493.                     Method (_STA, 0, Serialized)
  2494.                     {
  2495.                         If (And (PIRD, 0x80))
  2496.                         {
  2497.                             Return (0x09)
  2498.                         }
  2499.                         Else
  2500.                         {
  2501.                             Return (0x0B)
  2502.                         }
  2503.                     }
  2504.                 }
  2505.  
  2506.                 Device (LNKE)
  2507.                 {
  2508.                     Name (_HID, EisaId ("PNP0C0F"))
  2509.                     Name (_UID, 0x05)
  2510.                     Method (_DIS, 0, Serialized)
  2511.                     {
  2512.                         Store (0x80, PIRE)
  2513.                     }
  2514.  
  2515.                     Name (_PRS, ResourceTemplate ()
  2516.                     {
  2517.                         IRQ (Level, ActiveLow, Shared, )
  2518.                             {10}
  2519.                     })
  2520.                     Method (_CRS, 0, Serialized)
  2521.                     {
  2522.                         Name (RTLE, ResourceTemplate ()
  2523.                         {
  2524.                             IRQ (Level, ActiveLow, Shared, _Y14)
  2525.                                 {}
  2526.                         })
  2527.                         CreateWordField (RTLE, \_SB.PCI0.LPC0.LNKE._CRS._Y14._INT, IRQ0)
  2528.                         Store (Zero, IRQ0)
  2529.                         ShiftLeft (0x01, And (PIRE, 0x0F), IRQ0)
  2530.                         Return (RTLE)
  2531.                     }
  2532.  
  2533.                     Method (_SRS, 1, Serialized)
  2534.                     {
  2535.                         CreateWordField (Arg0, 0x01, IRQ0)
  2536.                         FindSetRightBit (IRQ0, Local0)
  2537.                         Decrement (Local0)
  2538.                         Store (Local0, PIRE)
  2539.                     }
  2540.  
  2541.                     Method (_STA, 0, Serialized)
  2542.                     {
  2543.                         If (And (PIRE, 0x80))
  2544.                         {
  2545.                             Return (0x09)
  2546.                         }
  2547.                         Else
  2548.                         {
  2549.                             Return (0x0B)
  2550.                         }
  2551.                     }
  2552.                 }
  2553.  
  2554.                 Device (LNKF)
  2555.                 {
  2556.                     Name (_HID, EisaId ("PNP0C0F"))
  2557.                     Name (_UID, 0x06)
  2558.                     Method (_DIS, 0, Serialized)
  2559.                     {
  2560.                         Store (0x80, PIRF)
  2561.                     }
  2562.  
  2563.                     Name (_PRS, ResourceTemplate ()
  2564.                     {
  2565.                         IRQ (Level, ActiveLow, Shared, )
  2566.                             {10}
  2567.                     })
  2568.                     Method (_CRS, 0, Serialized)
  2569.                     {
  2570.                         Name (RTLF, ResourceTemplate ()
  2571.                         {
  2572.                             IRQ (Level, ActiveLow, Shared, _Y15)
  2573.                                 {}
  2574.                         })
  2575.                         CreateWordField (RTLF, \_SB.PCI0.LPC0.LNKF._CRS._Y15._INT, IRQ0)
  2576.                         Store (Zero, IRQ0)
  2577.                         ShiftLeft (0x01, And (PIRF, 0x0F), IRQ0)
  2578.                         Return (RTLF)
  2579.                     }
  2580.  
  2581.                     Method (_SRS, 1, Serialized)
  2582.                     {
  2583.                         CreateWordField (Arg0, 0x01, IRQ0)
  2584.                         FindSetRightBit (IRQ0, Local0)
  2585.                         Decrement (Local0)
  2586.                         Store (Local0, PIRF)
  2587.                     }
  2588.  
  2589.                     Method (_STA, 0, Serialized)
  2590.                     {
  2591.                         If (And (PIRF, 0x80))
  2592.                         {
  2593.                             Return (0x09)
  2594.                         }
  2595.                         Else
  2596.                         {
  2597.                             Return (0x0B)
  2598.                         }
  2599.                     }
  2600.                 }
  2601.  
  2602.                 Device (LNKG)
  2603.                 {
  2604.                     Name (_HID, EisaId ("PNP0C0F"))
  2605.                     Name (_UID, 0x07)
  2606.                     Method (_DIS, 0, Serialized)
  2607.                     {
  2608.                         Store (0x80, PIRG)
  2609.                     }
  2610.  
  2611.                     Name (_PRS, ResourceTemplate ()
  2612.                     {
  2613.                         IRQ (Level, ActiveLow, Shared, )
  2614.                             {6}
  2615.                     })
  2616.                     Method (_CRS, 0, Serialized)
  2617.                     {
  2618.                         Name (RTLG, ResourceTemplate ()
  2619.                         {
  2620.                             IRQ (Level, ActiveLow, Shared, _Y16)
  2621.                                 {}
  2622.                         })
  2623.                         CreateWordField (RTLG, \_SB.PCI0.LPC0.LNKG._CRS._Y16._INT, IRQ0)
  2624.                         Store (Zero, IRQ0)
  2625.                         ShiftLeft (0x01, And (PIRG, 0x0F), IRQ0)
  2626.                         Return (RTLG)
  2627.                     }
  2628.  
  2629.                     Method (_SRS, 1, Serialized)
  2630.                     {
  2631.                         CreateWordField (Arg0, 0x01, IRQ0)
  2632.                         FindSetRightBit (IRQ0, Local0)
  2633.                         Decrement (Local0)
  2634.                         Store (Local0, PIRG)
  2635.                     }
  2636.  
  2637.                     Method (_STA, 0, Serialized)
  2638.                     {
  2639.                         If (And (PIRG, 0x80))
  2640.                         {
  2641.                             Return (0x09)
  2642.                         }
  2643.                         Else
  2644.                         {
  2645.                             Return (0x0B)
  2646.                         }
  2647.                     }
  2648.                 }
  2649.  
  2650.                 Device (LNKH)
  2651.                 {
  2652.                     Name (_HID, EisaId ("PNP0C0F"))
  2653.                     Name (_UID, 0x08)
  2654.                     Method (_DIS, 0, Serialized)
  2655.                     {
  2656.                         Store (0x80, PIRH)
  2657.                     }
  2658.  
  2659.                     Name (_PRS, ResourceTemplate ()
  2660.                     {
  2661.                         IRQ (Level, ActiveLow, Shared, )
  2662.                             {10}
  2663.                     })
  2664.                     Method (_CRS, 0, Serialized)
  2665.                     {
  2666.                         Name (RTLH, ResourceTemplate ()
  2667.                         {
  2668.                             IRQ (Level, ActiveLow, Shared, _Y17)
  2669.                                 {}
  2670.                         })
  2671.                         CreateWordField (RTLH, \_SB.PCI0.LPC0.LNKH._CRS._Y17._INT, IRQ0)
  2672.                         Store (Zero, IRQ0)
  2673.                         ShiftLeft (0x01, And (PIRH, 0x0F), IRQ0)
  2674.                         Return (RTLH)
  2675.                     }
  2676.  
  2677.                     Method (_SRS, 1, Serialized)
  2678.                     {
  2679.                         CreateWordField (Arg0, 0x01, IRQ0)
  2680.                         FindSetRightBit (IRQ0, Local0)
  2681.                         Decrement (Local0)
  2682.                         Store (Local0, PIRH)
  2683.                     }
  2684.  
  2685.                     Method (_STA, 0, Serialized)
  2686.                     {
  2687.                         If (And (PIRH, 0x80))
  2688.                         {
  2689.                             Return (0x09)
  2690.                         }
  2691.                         Else
  2692.                         {
  2693.                             Return (0x0B)
  2694.                         }
  2695.                     }
  2696.                 }
  2697.  
  2698.                 OperationRegion (GPOX, SystemIO, 0x1180, 0x40)
  2699.                 Field (GPOX, DWordAcc, Lock, Preserve)
  2700.                 {
  2701.                             Offset (0x07),
  2702.                         ,   1,
  2703.                     IO25,   1,
  2704.                         ,   1,
  2705.                     IO27,   1,
  2706.                             Offset (0x0E),
  2707.                     LV16,   1,
  2708.                     LV17,   1,
  2709.                             Offset (0x0F),
  2710.                         ,   1,
  2711.                     LV25,   1,
  2712.                         ,   1,
  2713.                     LV27,   1,
  2714.                             Offset (0x1B),
  2715.                         ,   1,
  2716.                     BL25,   1,
  2717.                         ,   1,
  2718.                     BL27,   1,
  2719.                             Offset (0x38),
  2720.                     RBID,   2,
  2721.                     MBTP,   3,
  2722.                     LV37,   1,
  2723.                     LV38,   1,
  2724.                     LV39,   1
  2725.                 }
  2726.  
  2727.                 OperationRegion (PMIO, SystemIO, 0x1000, 0x51)
  2728.                 Field (PMIO, WordAcc, Lock, Preserve)
  2729.                 {
  2730.                             AccessAs (DWordAcc, 0x00),
  2731.                             Offset (0x29),
  2732.                         ,   3,
  2733.                     PMES,   1,
  2734.                             Offset (0x2B),
  2735.                         ,   3,
  2736.                     PMEE,   1,
  2737.                             Offset (0x2C),
  2738.                     GPI0,   1,
  2739.                     GPI1,   1,
  2740.                     GPI2,   1,
  2741.                     GPI3,   1,
  2742.                     GPI4,   1,
  2743.                     GPI5,   1,
  2744.                     GPI6,   1,
  2745.                     GPI7,   1,
  2746.                     GPI8,   1,
  2747.                     GPI9,   1,
  2748.                     GPIA,   1,
  2749.                     GPIB,   1,
  2750.                     GPIC,   1,
  2751.                     GPID,   1,
  2752.                     GPIE,   1,
  2753.                     GPIF,   1,
  2754.                         ,   6,
  2755.                     GPEE,   1
  2756.                 }
  2757.  
  2758.                 Device (KBC)
  2759.                 {
  2760.                     Name (_HID, EisaId ("PNP0303"))
  2761.                     Name (_CRS, ResourceTemplate ()
  2762.                     {
  2763.                         IO (Decode16,
  2764.                             0x0060,             // Range Minimum
  2765.                             0x0060,             // Range Maximum
  2766.                             0x01,               // Alignment
  2767.                             0x01,               // Length
  2768.                             )
  2769.                         IO (Decode16,
  2770.                             0x0064,             // Range Minimum
  2771.                             0x0064,             // Range Maximum
  2772.                             0x01,               // Alignment
  2773.                             0x01,               // Length
  2774.                             )
  2775.                         IRQNoFlags ()
  2776.                             {1}
  2777.                     })
  2778.                     Method (_STA, 0, NotSerialized)
  2779.                     {
  2780.                         Return (0x0F)
  2781.                     }
  2782.                 }
  2783.  
  2784.                 Device (MOUE)
  2785.                 {
  2786.                     Name (_HID, EisaId ("IBM3780"))
  2787.                     Name (_CID, 0x03102E4F)
  2788.                     Name (_CRS, ResourceTemplate ()
  2789.                     {
  2790.                         IRQNoFlags ()
  2791.                             {12}
  2792.                     })
  2793.                     Method (_STA, 0, NotSerialized)
  2794.                     {
  2795.                         If (LEqual (SizeOf (\_OS), 0x14))
  2796.                         {
  2797.                             Return (0x00)
  2798.                         }
  2799.                         Else
  2800.                         {
  2801.                             If (PS2F)
  2802.                             {
  2803.                                 Return (0x0F)
  2804.                             }
  2805.                             Else
  2806.                             {
  2807.                                 Return (0x00)
  2808.                             }
  2809.                         }
  2810.                     }
  2811.                 }
  2812.  
  2813.                 Device (MOU2)
  2814.                 {
  2815.                     Name (_HID, EisaId ("SYN1003"))
  2816.                     Name (_CID, Package (0x03)
  2817.                     {
  2818.                         0x02102E4F,
  2819.                         0x00102E4F,
  2820.                         0x130FD041
  2821.                     })
  2822.                     Name (_CRS, ResourceTemplate ()
  2823.                     {
  2824.                         IRQNoFlags ()
  2825.                             {12}
  2826.                     })
  2827.                     Method (_STA, 0, NotSerialized)
  2828.                     {
  2829.                         If (LEqual (SizeOf (\_OS), 0x14))
  2830.                         {
  2831.                             If (PS2F)
  2832.                             {
  2833.                                 Store (PS2F, Local0)
  2834.                                 Return (0x0F)
  2835.                             }
  2836.                             Else
  2837.                             {
  2838.                                 Store (PS2F, Local0)
  2839.                                 Return (0x00)
  2840.                             }
  2841.                         }
  2842.                         Else
  2843.                         {
  2844.                             Store (PS2F, Local0)
  2845.                             Return (0x00)
  2846.                         }
  2847.                     }
  2848.                 }
  2849.  
  2850.                 Device (SIO)
  2851.                 {
  2852.                     Name (_HID, EisaId ("PNP0A05"))
  2853.                     OperationRegion (SIIO, SystemIO, 0x164E, 0x02)
  2854.                     Field (SIIO, ByteAcc, NoLock, Preserve)
  2855.                     {
  2856.                         INDX,   8,
  2857.                         DATA,   8
  2858.                     }
  2859.  
  2860.                     Mutex (N393, 0x00)
  2861.                     Method (SETD, 1, Serialized)
  2862.                     {
  2863.                         Store (0x07, INDX)
  2864.                         Store (Arg0, DATA)
  2865.                     }
  2866.  
  2867.                     Method (READ, 1, Serialized)
  2868.                     {
  2869.                         Store (Arg0, INDX)
  2870.                         Store (DATA, Local0)
  2871.                         Return (Local0)
  2872.                     }
  2873.  
  2874.                     Method (WRIT, 2, Serialized)
  2875.                     {
  2876.                         Store (Arg0, INDX)
  2877.                         Store (Arg1, DATA)
  2878.                     }
  2879.  
  2880.                     Method (LDRS, 3, NotSerialized)
  2881.                     {
  2882.                         Acquire (N393, 0xFFFF)
  2883.                         Store (0x07, INDX)
  2884.                         Store (Arg0, DATA)
  2885.                         Store (Arg1, INDX)
  2886.                         Store (Arg2, DATA)
  2887.                         Release (N393)
  2888.                     }
  2889.  
  2890.                     Method (LDRG, 2, NotSerialized)
  2891.                     {
  2892.                         Acquire (N393, 0xFFFF)
  2893.                         Store (0x07, INDX)
  2894.                         Store (Arg0, DATA)
  2895.                         Store (Arg1, INDX)
  2896.                         Store (DATA, Local0)
  2897.                         Release (N393)
  2898.                         Return (Local0)
  2899.                     }
  2900.  
  2901.                     Method (RCF6, 1, NotSerialized)
  2902.                     {
  2903.                         Acquire (N393, 0xFFFF)
  2904.                         Store (0x26, INDX)
  2905.                         Store (DATA, Local0)
  2906.                         And (Local0, Arg0, Local0)
  2907.                         Release (N393)
  2908.                         Return (XOr (Local0, Arg0))
  2909.                     }
  2910.  
  2911.                     Method (PDRS, 2, NotSerialized)
  2912.                     {
  2913.                         If (\_SB.PCI0.LPC0.POSD)
  2914.                         {
  2915.                             If (LEqual (Arg0, 0x00))
  2916.                             {
  2917.                                 If (LEqual (Arg1, 0x03F0))
  2918.                                 {
  2919.                                     Store (0x00, Local0)
  2920.                                 }
  2921.                                 Else
  2922.                                 {
  2923.                                     If (LEqual (Arg1, 0x0370))
  2924.                                     {
  2925.                                         Store (0x01, Local0)
  2926.                                     }
  2927.                                 }
  2928.  
  2929.                                 Store (Local0, \_SB.PCI0.LPC0.FDDD)
  2930.                             }
  2931.                             Else
  2932.                             {
  2933.                                 If (LEqual (Arg0, 0x01))
  2934.                                 {
  2935.                                     If (LEqual (Arg1, 0x0378))
  2936.                                     {
  2937.                                         Store (0x00, Local0)
  2938.                                     }
  2939.                                     Else
  2940.                                     {
  2941.                                         If (LEqual (Arg1, 0x0278))
  2942.                                         {
  2943.                                             Store (0x01, Local0)
  2944.                                         }
  2945.                                         Else
  2946.                                         {
  2947.                                             If (LEqual (Arg1, 0x03BC))
  2948.                                             {
  2949.                                                 Store (0x02, Local0)
  2950.                                             }
  2951.                                         }
  2952.                                     }
  2953.  
  2954.                                     Store (Local0, \_SB.PCI0.LPC0.LPTD)
  2955.                                 }
  2956.                                 Else
  2957.                                 {
  2958.                                     If (LEqual (Arg1, 0x03F8))
  2959.                                     {
  2960.                                         Store (0x00, Local0)
  2961.                                     }
  2962.                                     Else
  2963.                                     {
  2964.                                         If (LEqual (Arg1, 0x02F8))
  2965.                                         {
  2966.                                             Store (0x01, Local0)
  2967.                                         }
  2968.                                         Else
  2969.                                         {
  2970.                                             If (LEqual (Arg1, 0x0220))
  2971.                                             {
  2972.                                                 Store (0x02, Local0)
  2973.                                             }
  2974.                                             Else
  2975.                                             {
  2976.                                                 If (LEqual (Arg1, 0x0228))
  2977.                                                 {
  2978.                                                     Store (0x03, Local0)
  2979.                                                 }
  2980.                                                 Else
  2981.                                                 {
  2982.                                                     If (LEqual (Arg1, 0x0238))
  2983.                                                     {
  2984.                                                         Store (0x04, Local0)
  2985.                                                     }
  2986.                                                     Else
  2987.                                                     {
  2988.                                                         If (LEqual (Arg1, 0x02E8))
  2989.                                                         {
  2990.                                                             Store (0x05, Local0)
  2991.                                                         }
  2992.                                                         Else
  2993.                                                         {
  2994.                                                             If (LEqual (Arg1, 0x0338))
  2995.                                                             {
  2996.                                                                 Store (0x06, Local0)
  2997.                                                             }
  2998.                                                             Else
  2999.                                                             {
  3000.                                                                 If (LEqual (Arg1, 0x03E8))
  3001.                                                                 {
  3002.                                                                     Store (0x07, Local0)
  3003.                                                                 }
  3004.                                                             }
  3005.                                                         }
  3006.                                                     }
  3007.                                                 }
  3008.                                             }
  3009.                                         }
  3010.                                     }
  3011.  
  3012.                                     If (LEqual (Arg0, 0x02))
  3013.                                     {
  3014.                                         Store (Local0, \_SB.PCI0.LPC0.CMBD)
  3015.                                     }
  3016.                                     Else
  3017.                                     {
  3018.                                         If (LEqual (Arg0, 0x03))
  3019.                                         {
  3020.                                             Store (Local0, \_SB.PCI0.LPC0.CMAD)
  3021.                                         }
  3022.                                     }
  3023.                                 }
  3024.                             }
  3025.  
  3026.                             Return (0x01)
  3027.                         }
  3028.                         Else
  3029.                         {
  3030.                             Return (0x00)
  3031.                         }
  3032.                     }
  3033.  
  3034.                     Device (ECP)
  3035.                     {
  3036.                         Name (_HID, EisaId ("PNP0401"))
  3037.                         Name (_UID, 0x03)
  3038.                         Method (_STA, 0, NotSerialized)
  3039.                         {
  3040.                             Store (LDRG (0x01, 0xF0), Local0)
  3041.                             ShiftRight (Local0, 0x05, Local0)
  3042.                             If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3043.                             {
  3044.                                 Return (0x00)
  3045.                             }
  3046.  
  3047.                             If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x04), LEqual (Local0,
  3048.                                 0x07))))
  3049.                             {
  3050.                                 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3051.                                 Add (0x0D, Local1, Local1)
  3052.                                 Return (Local1)
  3053.                             }
  3054.                             Else
  3055.                             {
  3056.                                 Return (0x00)
  3057.                             }
  3058.                         }
  3059.  
  3060.                         Method (_PS0, 0, NotSerialized)
  3061.                         {
  3062.                             LDRS (0x01, 0x30, 0x01)
  3063.                         }
  3064.  
  3065.                         Method (_PS3, 0, NotSerialized)
  3066.                         {
  3067.                             LDRS (0x01, 0x30, 0x00)
  3068.                         }
  3069.  
  3070.                         Method (_PRS, 0, NotSerialized)
  3071.                         {
  3072.                             Return (ResourceTemplate ()
  3073.                             {
  3074.                                 StartDependentFnNoPri ()
  3075.                                 {
  3076.                                     IO (Decode16,
  3077.                                         0x0378,             // Range Minimum
  3078.                                         0x0378,             // Range Maximum
  3079.                                         0x08,               // Alignment
  3080.                                         0x08,               // Length
  3081.                                         )
  3082.                                     IO (Decode16,
  3083.                                         0x0778,             // Range Minimum
  3084.                                         0x0778,             // Range Maximum
  3085.                                         0x08,               // Alignment
  3086.                                         0x08,               // Length
  3087.                                         )
  3088.                                     IRQNoFlags ()
  3089.                                         {7}
  3090.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3091.                                         {3}
  3092.                                 }
  3093.                                 StartDependentFnNoPri ()
  3094.                                 {
  3095.                                     IO (Decode16,
  3096.                                         0x0278,             // Range Minimum
  3097.                                         0x0278,             // Range Maximum
  3098.                                         0x08,               // Alignment
  3099.                                         0x08,               // Length
  3100.                                         )
  3101.                                     IO (Decode16,
  3102.                                         0x0678,             // Range Minimum
  3103.                                         0x0678,             // Range Maximum
  3104.                                         0x08,               // Alignment
  3105.                                         0x08,               // Length
  3106.                                         )
  3107.                                     IRQNoFlags ()
  3108.                                         {5}
  3109.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3110.                                         {3}
  3111.                                 }
  3112.                                 StartDependentFnNoPri ()
  3113.                                 {
  3114.                                     IO (Decode16,
  3115.                                         0x0378,             // Range Minimum
  3116.                                         0x0378,             // Range Maximum
  3117.                                         0x08,               // Alignment
  3118.                                         0x08,               // Length
  3119.                                         )
  3120.                                     IO (Decode16,
  3121.                                         0x0778,             // Range Minimum
  3122.                                         0x0778,             // Range Maximum
  3123.                                         0x08,               // Alignment
  3124.                                         0x08,               // Length
  3125.                                         )
  3126.                                     IRQNoFlags ()
  3127.                                         {5}
  3128.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3129.                                         {3}
  3130.                                 }
  3131.                                 StartDependentFnNoPri ()
  3132.                                 {
  3133.                                     IO (Decode16,
  3134.                                         0x0278,             // Range Minimum
  3135.                                         0x0278,             // Range Maximum
  3136.                                         0x08,               // Alignment
  3137.                                         0x08,               // Length
  3138.                                         )
  3139.                                     IO (Decode16,
  3140.                                         0x0678,             // Range Minimum
  3141.                                         0x0678,             // Range Maximum
  3142.                                         0x08,               // Alignment
  3143.                                         0x08,               // Length
  3144.                                         )
  3145.                                     IRQNoFlags ()
  3146.                                         {7}
  3147.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3148.                                         {3}
  3149.                                 }
  3150.                                 StartDependentFnNoPri ()
  3151.                                 {
  3152.                                     IO (Decode16,
  3153.                                         0x0378,             // Range Minimum
  3154.                                         0x0378,             // Range Maximum
  3155.                                         0x08,               // Alignment
  3156.                                         0x08,               // Length
  3157.                                         )
  3158.                                     IO (Decode16,
  3159.                                         0x0778,             // Range Minimum
  3160.                                         0x0778,             // Range Maximum
  3161.                                         0x08,               // Alignment
  3162.                                         0x08,               // Length
  3163.                                         )
  3164.                                     IRQNoFlags ()
  3165.                                         {7}
  3166.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3167.                                         {1}
  3168.                                 }
  3169.                                 StartDependentFnNoPri ()
  3170.                                 {
  3171.                                     IO (Decode16,
  3172.                                         0x0278,             // Range Minimum
  3173.                                         0x0278,             // Range Maximum
  3174.                                         0x08,               // Alignment
  3175.                                         0x08,               // Length
  3176.                                         )
  3177.                                     IO (Decode16,
  3178.                                         0x0678,             // Range Minimum
  3179.                                         0x0678,             // Range Maximum
  3180.                                         0x08,               // Alignment
  3181.                                         0x08,               // Length
  3182.                                         )
  3183.                                     IRQNoFlags ()
  3184.                                         {5}
  3185.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3186.                                         {1}
  3187.                                 }
  3188.                                 StartDependentFnNoPri ()
  3189.                                 {
  3190.                                     IO (Decode16,
  3191.                                         0x0378,             // Range Minimum
  3192.                                         0x0378,             // Range Maximum
  3193.                                         0x08,               // Alignment
  3194.                                         0x08,               // Length
  3195.                                         )
  3196.                                     IO (Decode16,
  3197.                                         0x0778,             // Range Minimum
  3198.                                         0x0778,             // Range Maximum
  3199.                                         0x08,               // Alignment
  3200.                                         0x08,               // Length
  3201.                                         )
  3202.                                     IRQNoFlags ()
  3203.                                         {5}
  3204.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3205.                                         {1}
  3206.                                 }
  3207.                                 StartDependentFnNoPri ()
  3208.                                 {
  3209.                                     IO (Decode16,
  3210.                                         0x0278,             // Range Minimum
  3211.                                         0x0278,             // Range Maximum
  3212.                                         0x08,               // Alignment
  3213.                                         0x08,               // Length
  3214.                                         )
  3215.                                     IO (Decode16,
  3216.                                         0x0678,             // Range Minimum
  3217.                                         0x0678,             // Range Maximum
  3218.                                         0x08,               // Alignment
  3219.                                         0x08,               // Length
  3220.                                         )
  3221.                                     IRQNoFlags ()
  3222.                                         {7}
  3223.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  3224.                                         {1}
  3225.                                 }
  3226.                                 EndDependentFn ()
  3227.                             })
  3228.                         }
  3229.  
  3230.                         Method (_DIS, 0, NotSerialized)
  3231.                         {
  3232.                             LDRS (0x01, 0x30, 0x00)
  3233.                         }
  3234.  
  3235.                         Method (_CRS, 0, NotSerialized)
  3236.                         {
  3237.                             Name (DCRS, ResourceTemplate ()
  3238.                             {
  3239.                                 IO (Decode16,
  3240.                                     0x0378,             // Range Minimum
  3241.                                     0x0378,             // Range Maximum
  3242.                                     0x08,               // Alignment
  3243.                                     0x08,               // Length
  3244.                                     )
  3245.                                 IO (Decode16,
  3246.                                     0x0778,             // Range Minimum
  3247.                                     0x0778,             // Range Maximum
  3248.                                     0x08,               // Alignment
  3249.                                     0x08,               // Length
  3250.                                     )
  3251.                                 IRQNoFlags ()
  3252.                                     {7}
  3253.                                 DMA (Compatibility, NotBusMaster, Transfer8, )
  3254.                                     {3}
  3255.                             })
  3256.                             Store (LDRG (0x01, 0x60), Local1)
  3257.                             Store (LDRG (0x01, 0x61), Local0)
  3258.                             Store (Local0, Index (DCRS, 0x02))
  3259.                             Store (Local0, Index (DCRS, 0x0A))
  3260.                             Store (Local0, Index (DCRS, 0x04))
  3261.                             Store (Local0, Index (DCRS, 0x0C))
  3262.                             Store (Local1, Index (DCRS, 0x03))
  3263.                             Store (Local1, Index (DCRS, 0x05))
  3264.                             Add (Local1, 0x04, Local1)
  3265.                             Store (Local1, Index (DCRS, 0x0B))
  3266.                             Store (Local1, Index (DCRS, 0x0D))
  3267.                             ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3268.                             Store (Local0, Index (DCRS, 0x11))
  3269.                             ShiftRight (Local0, 0x08, Local1)
  3270.                             Store (Local1, Index (DCRS, 0x12))
  3271.                             ShiftLeft (0x01, LDRG (0x01, 0x74), Local0)
  3272.                             Store (Local0, Index (DCRS, 0x14))
  3273.                             ShiftRight (Local0, 0x08, Local1)
  3274.                             Store (Local1, Index (DCRS, 0x15))
  3275.                             Return (DCRS)
  3276.                         }
  3277.  
  3278.                         Method (_SRS, 1, NotSerialized)
  3279.                         {
  3280.                             CreateByteField (Arg0, 0x02, ADRL)
  3281.                             CreateByteField (Arg0, 0x03, ADRM)
  3282.                             CreateWordField (Arg0, 0x11, IRQM)
  3283.                             CreateWordField (Arg0, 0x14, DMAM)
  3284.                             FindSetRightBit (IRQM, Local0)
  3285.                             Decrement (Local0)
  3286.                             FindSetRightBit (DMAM, Local1)
  3287.                             Decrement (Local1)
  3288.                             LDRS (0x01, 0x70, Local0)
  3289.                             LDRS (0x01, 0x74, Local1)
  3290.                             LDRS (0x01, 0x60, ADRM)
  3291.                             LDRS (0x01, 0x61, ADRL)
  3292.                             LDRS (0x01, 0x30, 0x01)
  3293.                         }
  3294.                     }
  3295.  
  3296.                     Device (EPP)
  3297.                     {
  3298.                         Name (_HID, EisaId ("PNP0400"))
  3299.                         Name (_UID, 0x02)
  3300.                         Method (_STA, 0, NotSerialized)
  3301.                         {
  3302.                             Store (LDRG (0x01, 0xF0), Local0)
  3303.                             ShiftRight (Local0, 0x05, Local0)
  3304.                             If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3305.                             {
  3306.                                 Return (0x00)
  3307.                             }
  3308.  
  3309.                             If (LAnd (RCF6 (0x02), LOr (LEqual (Local0, 0x02), LEqual (Local0,
  3310.                                 0x03))))
  3311.                             {
  3312.                                 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3313.                                 Add (0x0D, Local1, Local1)
  3314.                                 Return (Local1)
  3315.                             }
  3316.                             Else
  3317.                             {
  3318.                                 Return (0x00)
  3319.                             }
  3320.                         }
  3321.  
  3322.                         Method (_PS0, 0, NotSerialized)
  3323.                         {
  3324.                             LDRS (0x01, 0x30, 0x01)
  3325.                         }
  3326.  
  3327.                         Method (_PS3, 0, NotSerialized)
  3328.                         {
  3329.                             LDRS (0x01, 0x30, 0x00)
  3330.                         }
  3331.  
  3332.                         Method (_PRS, 0, NotSerialized)
  3333.                         {
  3334.                             Return (ResourceTemplate ()
  3335.                             {
  3336.                                 StartDependentFnNoPri ()
  3337.                                 {
  3338.                                     IO (Decode16,
  3339.                                         0x0378,             // Range Minimum
  3340.                                         0x0378,             // Range Maximum
  3341.                                         0x08,               // Alignment
  3342.                                         0x08,               // Length
  3343.                                         )
  3344.                                     IO (Decode16,
  3345.                                         0x0778,             // Range Minimum
  3346.                                         0x0778,             // Range Maximum
  3347.                                         0x08,               // Alignment
  3348.                                         0x08,               // Length
  3349.                                         )
  3350.                                     IRQNoFlags ()
  3351.                                         {7}
  3352.                                 }
  3353.                                 StartDependentFnNoPri ()
  3354.                                 {
  3355.                                     IO (Decode16,
  3356.                                         0x0278,             // Range Minimum
  3357.                                         0x0278,             // Range Maximum
  3358.                                         0x08,               // Alignment
  3359.                                         0x08,               // Length
  3360.                                         )
  3361.                                     IO (Decode16,
  3362.                                         0x0678,             // Range Minimum
  3363.                                         0x0678,             // Range Maximum
  3364.                                         0x08,               // Alignment
  3365.                                         0x08,               // Length
  3366.                                         )
  3367.                                     IRQNoFlags ()
  3368.                                         {5}
  3369.                                 }
  3370.                                 StartDependentFnNoPri ()
  3371.                                 {
  3372.                                     IO (Decode16,
  3373.                                         0x0378,             // Range Minimum
  3374.                                         0x0378,             // Range Maximum
  3375.                                         0x08,               // Alignment
  3376.                                         0x08,               // Length
  3377.                                         )
  3378.                                     IO (Decode16,
  3379.                                         0x0778,             // Range Minimum
  3380.                                         0x0778,             // Range Maximum
  3381.                                         0x08,               // Alignment
  3382.                                         0x08,               // Length
  3383.                                         )
  3384.                                     IRQNoFlags ()
  3385.                                         {5}
  3386.                                 }
  3387.                                 StartDependentFnNoPri ()
  3388.                                 {
  3389.                                     IO (Decode16,
  3390.                                         0x0278,             // Range Minimum
  3391.                                         0x0278,             // Range Maximum
  3392.                                         0x08,               // Alignment
  3393.                                         0x08,               // Length
  3394.                                         )
  3395.                                     IO (Decode16,
  3396.                                         0x0678,             // Range Minimum
  3397.                                         0x0678,             // Range Maximum
  3398.                                         0x08,               // Alignment
  3399.                                         0x08,               // Length
  3400.                                         )
  3401.                                     IRQNoFlags ()
  3402.                                         {7}
  3403.                                 }
  3404.                                 StartDependentFnNoPri ()
  3405.                                 {
  3406.                                     IO (Decode16,
  3407.                                         0x0178,             // Range Minimum
  3408.                                         0x0178,             // Range Maximum
  3409.                                         0x08,               // Alignment
  3410.                                         0x08,               // Length
  3411.                                         )
  3412.                                     IO (Decode16,
  3413.                                         0x0578,             // Range Minimum
  3414.                                         0x0578,             // Range Maximum
  3415.                                         0x08,               // Alignment
  3416.                                         0x08,               // Length
  3417.                                         )
  3418.                                     IRQNoFlags ()
  3419.                                         {7}
  3420.                                 }
  3421.                                 StartDependentFnNoPri ()
  3422.                                 {
  3423.                                     IO (Decode16,
  3424.                                         0x0178,             // Range Minimum
  3425.                                         0x0178,             // Range Maximum
  3426.                                         0x08,               // Alignment
  3427.                                         0x08,               // Length
  3428.                                         )
  3429.                                     IO (Decode16,
  3430.                                         0x0578,             // Range Minimum
  3431.                                         0x0578,             // Range Maximum
  3432.                                         0x08,               // Alignment
  3433.                                         0x08,               // Length
  3434.                                         )
  3435.                                     IRQNoFlags ()
  3436.                                         {5}
  3437.                                 }
  3438.                                 EndDependentFn ()
  3439.                             })
  3440.                         }
  3441.  
  3442.                         Method (_DIS, 0, NotSerialized)
  3443.                         {
  3444.                             LDRS (0x01, 0x30, 0x00)
  3445.                         }
  3446.  
  3447.                         Method (_CRS, 0, NotSerialized)
  3448.                         {
  3449.                             Name (DCRS, ResourceTemplate ()
  3450.                             {
  3451.                                 IO (Decode16,
  3452.                                     0x0378,             // Range Minimum
  3453.                                     0x0378,             // Range Maximum
  3454.                                     0x08,               // Alignment
  3455.                                     0x08,               // Length
  3456.                                     )
  3457.                                 IO (Decode16,
  3458.                                     0x0778,             // Range Minimum
  3459.                                     0x0778,             // Range Maximum
  3460.                                     0x08,               // Alignment
  3461.                                     0x08,               // Length
  3462.                                     )
  3463.                                 IRQNoFlags ()
  3464.                                     {7}
  3465.                             })
  3466.                             Store (LDRG (0x01, 0x60), Local1)
  3467.                             Store (LDRG (0x01, 0x61), Local0)
  3468.                             Store (Local0, Index (DCRS, 0x02))
  3469.                             Store (Local0, Index (DCRS, 0x0A))
  3470.                             Store (Local0, Index (DCRS, 0x04))
  3471.                             Store (Local0, Index (DCRS, 0x0C))
  3472.                             Store (Local1, Index (DCRS, 0x03))
  3473.                             Store (Local1, Index (DCRS, 0x05))
  3474.                             Add (Local1, 0x04, Local1)
  3475.                             Store (Local1, Index (DCRS, 0x0B))
  3476.                             Store (Local1, Index (DCRS, 0x0D))
  3477.                             ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3478.                             Store (Local0, Index (DCRS, 0x11))
  3479.                             ShiftRight (Local0, 0x08, Local1)
  3480.                             Store (Local1, Index (DCRS, 0x12))
  3481.                             Return (DCRS)
  3482.                         }
  3483.  
  3484.                         Method (_SRS, 1, NotSerialized)
  3485.                         {
  3486.                             CreateByteField (Arg0, 0x02, ADRL)
  3487.                             CreateByteField (Arg0, 0x03, ADRM)
  3488.                             CreateWordField (Arg0, 0x11, IRQM)
  3489.                             FindSetRightBit (IRQM, Local0)
  3490.                             Decrement (Local0)
  3491.                             LDRS (0x01, 0x70, Local0)
  3492.                             LDRS (0x01, 0x60, ADRM)
  3493.                             LDRS (0x01, 0x61, ADRL)
  3494.                             LDRS (0x01, 0x30, 0x01)
  3495.                         }
  3496.                     }
  3497.  
  3498.                     Device (LPTB)
  3499.                     {
  3500.                         Name (_HID, EisaId ("PNP0400"))
  3501.                         Name (_UID, 0x01)
  3502.                         Method (_STA, 0, NotSerialized)
  3503.                         {
  3504.                             Store (LDRG (0x01, 0xF0), Local0)
  3505.                             ShiftRight (Local0, 0x05, Local0)
  3506.                             If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3507.                             {
  3508.                                 Return (0x00)
  3509.                             }
  3510.  
  3511.                             If (LAnd (RCF6 (0x02), LEqual (Local0, 0x01)))
  3512.                             {
  3513.                                 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3514.                                 Add (0x0D, Local1, Local1)
  3515.                                 Return (Local1)
  3516.                             }
  3517.                             Else
  3518.                             {
  3519.                                 Return (0x00)
  3520.                             }
  3521.                         }
  3522.  
  3523.                         Method (_PS0, 0, NotSerialized)
  3524.                         {
  3525.                             LDRS (0x01, 0x30, 0x01)
  3526.                         }
  3527.  
  3528.                         Method (_PS3, 0, NotSerialized)
  3529.                         {
  3530.                             LDRS (0x01, 0x30, 0x00)
  3531.                         }
  3532.  
  3533.                         Method (_PRS, 0, NotSerialized)
  3534.                         {
  3535.                             Return (ResourceTemplate ()
  3536.                             {
  3537.                                 StartDependentFnNoPri ()
  3538.                                 {
  3539.                                     IO (Decode16,
  3540.                                         0x0378,             // Range Minimum
  3541.                                         0x0378,             // Range Maximum
  3542.                                         0x08,               // Alignment
  3543.                                         0x08,               // Length
  3544.                                         )
  3545.                                     IO (Decode16,
  3546.                                         0x0778,             // Range Minimum
  3547.                                         0x0778,             // Range Maximum
  3548.                                         0x08,               // Alignment
  3549.                                         0x08,               // Length
  3550.                                         )
  3551.                                     IRQNoFlags ()
  3552.                                         {7}
  3553.                                 }
  3554.                                 StartDependentFnNoPri ()
  3555.                                 {
  3556.                                     IO (Decode16,
  3557.                                         0x0278,             // Range Minimum
  3558.                                         0x0278,             // Range Maximum
  3559.                                         0x08,               // Alignment
  3560.                                         0x08,               // Length
  3561.                                         )
  3562.                                     IO (Decode16,
  3563.                                         0x0678,             // Range Minimum
  3564.                                         0x0678,             // Range Maximum
  3565.                                         0x08,               // Alignment
  3566.                                         0x08,               // Length
  3567.                                         )
  3568.                                     IRQNoFlags ()
  3569.                                         {5}
  3570.                                 }
  3571.                                 StartDependentFnNoPri ()
  3572.                                 {
  3573.                                     IO (Decode16,
  3574.                                         0x0378,             // Range Minimum
  3575.                                         0x0378,             // Range Maximum
  3576.                                         0x08,               // Alignment
  3577.                                         0x08,               // Length
  3578.                                         )
  3579.                                     IO (Decode16,
  3580.                                         0x0778,             // Range Minimum
  3581.                                         0x0778,             // Range Maximum
  3582.                                         0x08,               // Alignment
  3583.                                         0x08,               // Length
  3584.                                         )
  3585.                                     IRQNoFlags ()
  3586.                                         {5}
  3587.                                 }
  3588.                                 StartDependentFnNoPri ()
  3589.                                 {
  3590.                                     IO (Decode16,
  3591.                                         0x0278,             // Range Minimum
  3592.                                         0x0278,             // Range Maximum
  3593.                                         0x08,               // Alignment
  3594.                                         0x08,               // Length
  3595.                                         )
  3596.                                     IO (Decode16,
  3597.                                         0x0678,             // Range Minimum
  3598.                                         0x0678,             // Range Maximum
  3599.                                         0x08,               // Alignment
  3600.                                         0x08,               // Length
  3601.                                         )
  3602.                                     IRQNoFlags ()
  3603.                                         {7}
  3604.                                 }
  3605.                                 StartDependentFnNoPri ()
  3606.                                 {
  3607.                                     IO (Decode16,
  3608.                                         0x03BC,             // Range Minimum
  3609.                                         0x03BC,             // Range Maximum
  3610.                                         0x04,               // Alignment
  3611.                                         0x04,               // Length
  3612.                                         )
  3613.                                     IO (Decode16,
  3614.                                         0x07BC,             // Range Minimum
  3615.                                         0x07BC,             // Range Maximum
  3616.                                         0x04,               // Alignment
  3617.                                         0x04,               // Length
  3618.                                         )
  3619.                                     IRQNoFlags ()
  3620.                                         {7}
  3621.                                 }
  3622.                                 StartDependentFnNoPri ()
  3623.                                 {
  3624.                                     IO (Decode16,
  3625.                                         0x03BC,             // Range Minimum
  3626.                                         0x03BC,             // Range Maximum
  3627.                                         0x04,               // Alignment
  3628.                                         0x04,               // Length
  3629.                                         )
  3630.                                     IO (Decode16,
  3631.                                         0x07BC,             // Range Minimum
  3632.                                         0x07BC,             // Range Maximum
  3633.                                         0x04,               // Alignment
  3634.                                         0x04,               // Length
  3635.                                         )
  3636.                                     IRQNoFlags ()
  3637.                                         {5}
  3638.                                 }
  3639.                                 EndDependentFn ()
  3640.                             })
  3641.                         }
  3642.  
  3643.                         Method (_DIS, 0, NotSerialized)
  3644.                         {
  3645.                             LDRS (0x01, 0x30, 0x00)
  3646.                         }
  3647.  
  3648.                         Method (_CRS, 0, NotSerialized)
  3649.                         {
  3650.                             Name (DCRS, ResourceTemplate ()
  3651.                             {
  3652.                                 IO (Decode16,
  3653.                                     0x0378,             // Range Minimum
  3654.                                     0x0378,             // Range Maximum
  3655.                                     0x08,               // Alignment
  3656.                                     0x08,               // Length
  3657.                                     )
  3658.                                 IO (Decode16,
  3659.                                     0x0778,             // Range Minimum
  3660.                                     0x0778,             // Range Maximum
  3661.                                     0x08,               // Alignment
  3662.                                     0x08,               // Length
  3663.                                     )
  3664.                                 IRQNoFlags ()
  3665.                                     {7}
  3666.                             })
  3667.                             Store (LDRG (0x01, 0x60), Local1)
  3668.                             Store (LDRG (0x01, 0x61), Local0)
  3669.                             Store (Local0, Index (DCRS, 0x02))
  3670.                             Store (Local0, Index (DCRS, 0x0A))
  3671.                             Store (Local0, Index (DCRS, 0x04))
  3672.                             Store (Local0, Index (DCRS, 0x0C))
  3673.                             Store (Local1, Index (DCRS, 0x03))
  3674.                             Store (Local1, Index (DCRS, 0x05))
  3675.                             Add (Local1, 0x04, Local1)
  3676.                             Store (Local1, Index (DCRS, 0x0B))
  3677.                             Store (Local1, Index (DCRS, 0x0D))
  3678.                             If (And (Local0, 0x04))
  3679.                             {
  3680.                                 Store (0x04, Local0)
  3681.                             }
  3682.                             Else
  3683.                             {
  3684.                                 Store (0x08, Local0)
  3685.                             }
  3686.  
  3687.                             Store (Local0, Index (DCRS, 0x06))
  3688.                             Store (Local0, Index (DCRS, 0x07))
  3689.                             Store (Local0, Index (DCRS, 0x0E))
  3690.                             Store (Local0, Index (DCRS, 0x0F))
  3691.                             ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3692.                             Store (Local0, Index (DCRS, 0x11))
  3693.                             ShiftRight (Local0, 0x08, Local1)
  3694.                             Store (Local1, Index (DCRS, 0x12))
  3695.                             Return (DCRS)
  3696.                         }
  3697.  
  3698.                         Method (_SRS, 1, NotSerialized)
  3699.                         {
  3700.                             CreateByteField (Arg0, 0x02, ADRL)
  3701.                             CreateByteField (Arg0, 0x03, ADRM)
  3702.                             CreateWordField (Arg0, 0x11, IRQM)
  3703.                             FindSetRightBit (IRQM, Local0)
  3704.                             Decrement (Local0)
  3705.                             LDRS (0x01, 0x70, Local0)
  3706.                             LDRS (0x01, 0x60, ADRM)
  3707.                             LDRS (0x01, 0x61, ADRL)
  3708.                             LDRS (0x01, 0x30, 0x01)
  3709.                         }
  3710.                     }
  3711.  
  3712.                     Device (LPT)
  3713.                     {
  3714.                         Name (_HID, EisaId ("PNP0400"))
  3715.                         Name (_UID, 0x00)
  3716.                         Method (_STA, 0, NotSerialized)
  3717.                         {
  3718.                             Store (LDRG (0x01, 0xF0), Local0)
  3719.                             ShiftRight (Local0, 0x05, Local0)
  3720.                             If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3721.                             {
  3722.                                 Return (0x00)
  3723.                             }
  3724.  
  3725.                             If (LAnd (RCF6 (0x02), LEqual (Local0, 0x00)))
  3726.                             {
  3727.                                 ShiftLeft (LDRG (0x01, 0x30), 0x01, Local1)
  3728.                                 Add (0x0D, Local1, Local1)
  3729.                                 Return (Local1)
  3730.                             }
  3731.                             Else
  3732.                             {
  3733.                                 Return (0x00)
  3734.                             }
  3735.                         }
  3736.  
  3737.                         Method (_PS0, 0, NotSerialized)
  3738.                         {
  3739.                             LDRS (0x01, 0x30, 0x01)
  3740.                         }
  3741.  
  3742.                         Method (_PS3, 0, NotSerialized)
  3743.                         {
  3744.                             LDRS (0x01, 0x30, 0x00)
  3745.                         }
  3746.  
  3747.                         Method (_PRS, 0, NotSerialized)
  3748.                         {
  3749.                             Return (ResourceTemplate ()
  3750.                             {
  3751.                                 StartDependentFnNoPri ()
  3752.                                 {
  3753.                                     IO (Decode16,
  3754.                                         0x0378,             // Range Minimum
  3755.                                         0x0378,             // Range Maximum
  3756.                                         0x08,               // Alignment
  3757.                                         0x08,               // Length
  3758.                                         )
  3759.                                     IO (Decode16,
  3760.                                         0x0778,             // Range Minimum
  3761.                                         0x0778,             // Range Maximum
  3762.                                         0x08,               // Alignment
  3763.                                         0x08,               // Length
  3764.                                         )
  3765.                                     IRQNoFlags ()
  3766.                                         {7}
  3767.                                 }
  3768.                                 StartDependentFnNoPri ()
  3769.                                 {
  3770.                                     IO (Decode16,
  3771.                                         0x0278,             // Range Minimum
  3772.                                         0x0278,             // Range Maximum
  3773.                                         0x08,               // Alignment
  3774.                                         0x08,               // Length
  3775.                                         )
  3776.                                     IO (Decode16,
  3777.                                         0x0678,             // Range Minimum
  3778.                                         0x0678,             // Range Maximum
  3779.                                         0x08,               // Alignment
  3780.                                         0x08,               // Length
  3781.                                         )
  3782.                                     IRQNoFlags ()
  3783.                                         {5}
  3784.                                 }
  3785.                                 StartDependentFnNoPri ()
  3786.                                 {
  3787.                                     IO (Decode16,
  3788.                                         0x0378,             // Range Minimum
  3789.                                         0x0378,             // Range Maximum
  3790.                                         0x08,               // Alignment
  3791.                                         0x08,               // Length
  3792.                                         )
  3793.                                     IO (Decode16,
  3794.                                         0x0778,             // Range Minimum
  3795.                                         0x0778,             // Range Maximum
  3796.                                         0x08,               // Alignment
  3797.                                         0x08,               // Length
  3798.                                         )
  3799.                                     IRQNoFlags ()
  3800.                                         {5}
  3801.                                 }
  3802.                                 StartDependentFnNoPri ()
  3803.                                 {
  3804.                                     IO (Decode16,
  3805.                                         0x0278,             // Range Minimum
  3806.                                         0x0278,             // Range Maximum
  3807.                                         0x08,               // Alignment
  3808.                                         0x08,               // Length
  3809.                                         )
  3810.                                     IO (Decode16,
  3811.                                         0x0678,             // Range Minimum
  3812.                                         0x0678,             // Range Maximum
  3813.                                         0x08,               // Alignment
  3814.                                         0x08,               // Length
  3815.                                         )
  3816.                                     IRQNoFlags ()
  3817.                                         {7}
  3818.                                 }
  3819.                                 StartDependentFnNoPri ()
  3820.                                 {
  3821.                                     IO (Decode16,
  3822.                                         0x03BC,             // Range Minimum
  3823.                                         0x03BC,             // Range Maximum
  3824.                                         0x04,               // Alignment
  3825.                                         0x04,               // Length
  3826.                                         )
  3827.                                     IO (Decode16,
  3828.                                         0x07BC,             // Range Minimum
  3829.                                         0x07BC,             // Range Maximum
  3830.                                         0x04,               // Alignment
  3831.                                         0x04,               // Length
  3832.                                         )
  3833.                                     IRQNoFlags ()
  3834.                                         {7}
  3835.                                 }
  3836.                                 StartDependentFnNoPri ()
  3837.                                 {
  3838.                                     IO (Decode16,
  3839.                                         0x03BC,             // Range Minimum
  3840.                                         0x03BC,             // Range Maximum
  3841.                                         0x04,               // Alignment
  3842.                                         0x04,               // Length
  3843.                                         )
  3844.                                     IO (Decode16,
  3845.                                         0x07BC,             // Range Minimum
  3846.                                         0x07BC,             // Range Maximum
  3847.                                         0x04,               // Alignment
  3848.                                         0x04,               // Length
  3849.                                         )
  3850.                                     IRQNoFlags ()
  3851.                                         {5}
  3852.                                 }
  3853.                                 EndDependentFn ()
  3854.                             })
  3855.                         }
  3856.  
  3857.                         Method (_DIS, 0, NotSerialized)
  3858.                         {
  3859.                             LDRS (0x01, 0x30, 0x00)
  3860.                         }
  3861.  
  3862.                         Method (_CRS, 0, NotSerialized)
  3863.                         {
  3864.                             Name (DCRS, ResourceTemplate ()
  3865.                             {
  3866.                                 IO (Decode16,
  3867.                                     0x0378,             // Range Minimum
  3868.                                     0x0378,             // Range Maximum
  3869.                                     0x08,               // Alignment
  3870.                                     0x08,               // Length
  3871.                                     )
  3872.                                 IO (Decode16,
  3873.                                     0x0778,             // Range Minimum
  3874.                                     0x0778,             // Range Maximum
  3875.                                     0x08,               // Alignment
  3876.                                     0x08,               // Length
  3877.                                     )
  3878.                                 IRQNoFlags ()
  3879.                                     {7}
  3880.                             })
  3881.                             Store (LDRG (0x01, 0x60), Local1)
  3882.                             Store (LDRG (0x01, 0x61), Local0)
  3883.                             Store (Local0, Index (DCRS, 0x02))
  3884.                             Store (Local0, Index (DCRS, 0x0A))
  3885.                             Store (Local0, Index (DCRS, 0x04))
  3886.                             Store (Local0, Index (DCRS, 0x0C))
  3887.                             Store (Local1, Index (DCRS, 0x03))
  3888.                             Store (Local1, Index (DCRS, 0x05))
  3889.                             Add (Local1, 0x04, Local1)
  3890.                             Store (Local1, Index (DCRS, 0x0B))
  3891.                             Store (Local1, Index (DCRS, 0x0D))
  3892.                             If (And (Local0, 0x04))
  3893.                             {
  3894.                                 Store (0x04, Local0)
  3895.                             }
  3896.                             Else
  3897.                             {
  3898.                                 Store (0x08, Local0)
  3899.                             }
  3900.  
  3901.                             Store (Local0, Index (DCRS, 0x06))
  3902.                             Store (Local0, Index (DCRS, 0x07))
  3903.                             Store (Local0, Index (DCRS, 0x0E))
  3904.                             Store (Local0, Index (DCRS, 0x0F))
  3905.                             ShiftLeft (0x01, LDRG (0x01, 0x70), Local0)
  3906.                             Store (Local0, Index (DCRS, 0x11))
  3907.                             ShiftRight (Local0, 0x08, Local1)
  3908.                             Store (Local1, Index (DCRS, 0x12))
  3909.                             Return (DCRS)
  3910.                         }
  3911.  
  3912.                         Method (_SRS, 1, NotSerialized)
  3913.                         {
  3914.                             CreateByteField (Arg0, 0x02, ADRL)
  3915.                             CreateByteField (Arg0, 0x03, ADRM)
  3916.                             CreateWordField (Arg0, 0x11, IRQM)
  3917.                             FindSetRightBit (IRQM, Local0)
  3918.                             Decrement (Local0)
  3919.                             LDRS (0x01, 0x70, Local0)
  3920.                             LDRS (0x01, 0x60, ADRM)
  3921.                             LDRS (0x01, 0x61, ADRL)
  3922.                             LDRS (0x01, 0x30, 0x01)
  3923.                         }
  3924.                     }
  3925.  
  3926.                     Device (COMA)
  3927.                     {
  3928.                         Name (_HID, EisaId ("PNP0501"))
  3929.                         Name (_UID, 0x00)
  3930.                         Method (_STA, 0, NotSerialized)
  3931.                         {
  3932.                             If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  3933.                             {
  3934.                                 Return (0x00)
  3935.                             }
  3936.  
  3937.                             If (RCF6 (0x08))
  3938.                             {
  3939.                                 ShiftLeft (LDRG (0x03, 0x30), 0x01, Local1)
  3940.                                 Add (0x0D, Local1, Local1)
  3941.                                 Return (Local1)
  3942.                             }
  3943.                             Else
  3944.                             {
  3945.                                 Return (0x00)
  3946.                             }
  3947.                         }
  3948.  
  3949.                         Method (_PS0, 0, NotSerialized)
  3950.                         {
  3951.                             LDRS (0x03, 0x30, 0x01)
  3952.                         }
  3953.  
  3954.                         Method (_PS3, 0, NotSerialized)
  3955.                         {
  3956.                             LDRS (0x03, 0x30, 0x00)
  3957.                         }
  3958.  
  3959.                         Method (_PRS, 0, NotSerialized)
  3960.                         {
  3961.                             Return (ResourceTemplate ()
  3962.                             {
  3963.                                 StartDependentFnNoPri ()
  3964.                                 {
  3965.                                     IO (Decode16,
  3966.                                         0x03F8,             // Range Minimum
  3967.                                         0x03F8,             // Range Maximum
  3968.                                         0x08,               // Alignment
  3969.                                         0x08,               // Length
  3970.                                         )
  3971.                                     IRQNoFlags ()
  3972.                                         {4}
  3973.                                 }
  3974.                                 StartDependentFnNoPri ()
  3975.                                 {
  3976.                                     IO (Decode16,
  3977.                                         0x02F8,             // Range Minimum
  3978.                                         0x02F8,             // Range Maximum
  3979.                                         0x08,               // Alignment
  3980.                                         0x08,               // Length
  3981.                                         )
  3982.                                     IRQNoFlags ()
  3983.                                         {3}
  3984.                                 }
  3985.                                 StartDependentFnNoPri ()
  3986.                                 {
  3987.                                     IO (Decode16,
  3988.                                         0x03E8,             // Range Minimum
  3989.                                         0x03E8,             // Range Maximum
  3990.                                         0x08,               // Alignment
  3991.                                         0x08,               // Length
  3992.                                         )
  3993.                                     IRQNoFlags ()
  3994.                                         {4}
  3995.                                 }
  3996.                                 StartDependentFnNoPri ()
  3997.                                 {
  3998.                                     IO (Decode16,
  3999.                                         0x02E8,             // Range Minimum
  4000.                                         0x02E8,             // Range Maximum
  4001.                                         0x08,               // Alignment
  4002.                                         0x08,               // Length
  4003.                                         )
  4004.                                     IRQNoFlags ()
  4005.                                         {3}
  4006.                                 }
  4007.                                 StartDependentFnNoPri ()
  4008.                                 {
  4009.                                     IO (Decode16,
  4010.                                         0x03F8,             // Range Minimum
  4011.                                         0x03F8,             // Range Maximum
  4012.                                         0x08,               // Alignment
  4013.                                         0x08,               // Length
  4014.                                         )
  4015.                                     IRQNoFlags ()
  4016.                                         {3}
  4017.                                 }
  4018.                                 StartDependentFnNoPri ()
  4019.                                 {
  4020.                                     IO (Decode16,
  4021.                                         0x02F8,             // Range Minimum
  4022.                                         0x02F8,             // Range Maximum
  4023.                                         0x08,               // Alignment
  4024.                                         0x08,               // Length
  4025.                                         )
  4026.                                     IRQNoFlags ()
  4027.                                         {4}
  4028.                                 }
  4029.                                 StartDependentFnNoPri ()
  4030.                                 {
  4031.                                     IO (Decode16,
  4032.                                         0x03E8,             // Range Minimum
  4033.                                         0x03E8,             // Range Maximum
  4034.                                         0x08,               // Alignment
  4035.                                         0x08,               // Length
  4036.                                         )
  4037.                                     IRQNoFlags ()
  4038.                                         {3}
  4039.                                 }
  4040.                                 StartDependentFnNoPri ()
  4041.                                 {
  4042.                                     IO (Decode16,
  4043.                                         0x02E8,             // Range Minimum
  4044.                                         0x02E8,             // Range Maximum
  4045.                                         0x08,               // Alignment
  4046.                                         0x08,               // Length
  4047.                                         )
  4048.                                     IRQNoFlags ()
  4049.                                         {4}
  4050.                                 }
  4051.                                 EndDependentFn ()
  4052.                             })
  4053.                         }
  4054.  
  4055.                         Method (_DIS, 0, NotSerialized)
  4056.                         {
  4057.                             LDRS (0x03, 0x30, 0x00)
  4058.                         }
  4059.  
  4060.                         Method (_CRS, 0, NotSerialized)
  4061.                         {
  4062.                             Name (DCRS, ResourceTemplate ()
  4063.                             {
  4064.                                 IO (Decode16,
  4065.                                     0x03F8,             // Range Minimum
  4066.                                     0x03F8,             // Range Maximum
  4067.                                     0x08,               // Alignment
  4068.                                     0x08,               // Length
  4069.                                     )
  4070.                                 IRQNoFlags ()
  4071.                                     {4}
  4072.                             })
  4073.                             Store (LDRG (0x03, 0x60), Local1)
  4074.                             Store (LDRG (0x03, 0x61), Local0)
  4075.                             Store (Local0, Index (DCRS, 0x02))
  4076.                             Store (Local0, Index (DCRS, 0x04))
  4077.                             Store (Local1, Index (DCRS, 0x03))
  4078.                             Store (Local1, Index (DCRS, 0x05))
  4079.                             ShiftLeft (0x01, LDRG (0x03, 0x70), Local0)
  4080.                             Store (Local0, Index (DCRS, 0x09))
  4081.                             ShiftRight (Local0, 0x08, Local1)
  4082.                             Store (Local1, Index (DCRS, 0x0A))
  4083.                             Return (DCRS)
  4084.                         }
  4085.  
  4086.                         Method (_SRS, 1, NotSerialized)
  4087.                         {
  4088.                             CreateByteField (Arg0, 0x02, ADRL)
  4089.                             CreateByteField (Arg0, 0x03, ADRM)
  4090.                             CreateWordField (Arg0, 0x09, IRQM)
  4091.                             FindSetRightBit (IRQM, Local0)
  4092.                             Decrement (Local0)
  4093.                             LDRS (0x03, 0x70, Local0)
  4094.                             LDRS (0x03, 0x60, ADRM)
  4095.                             LDRS (0x03, 0x61, ADRL)
  4096.                             LDRS (0x03, 0x30, 0x01)
  4097.                         }
  4098.                     }
  4099.  
  4100.                     Device (FIR)
  4101.                     {
  4102.                         Method (_HID, 0, NotSerialized)
  4103.                         {
  4104.                             If (LOr (LEqual (MYOS, 0x01), LEqual (MYOS, 0x03)))
  4105.                             {
  4106.                                 Return (0x0160633A)
  4107.                             }
  4108.                             Else
  4109.                             {
  4110.                                 Return (0x0160633A)
  4111.                             }
  4112.                         }
  4113.  
  4114.                         Name (_UID, 0x00)
  4115.                         Method (_STA, 0, NotSerialized)
  4116.                         {
  4117.                             Store (LDRG (0x02, 0x74), Local0)
  4118.                             If (LAnd (RCF6 (0x04), LNotEqual (Local0, 0x04)))
  4119.                             {
  4120.                                 ShiftLeft (LDRG (0x02, 0x30), 0x01, Local1)
  4121.                                 Add (0x0D, Local1, Local1)
  4122.                                 Return (Local1)
  4123.                             }
  4124.                             Else
  4125.                             {
  4126.                                 Return (0x00)
  4127.                             }
  4128.                         }
  4129.  
  4130.                         Method (_PS0, 0, NotSerialized)
  4131.                         {
  4132.                             LDRS (0x02, 0x30, 0x01)
  4133.                         }
  4134.  
  4135.                         Method (_PS3, 0, NotSerialized)
  4136.                         {
  4137.                             LDRS (0x02, 0x30, 0x00)
  4138.                         }
  4139.  
  4140.                         Method (_PRS, 0, NotSerialized)
  4141.                         {
  4142.                             Return (ResourceTemplate ()
  4143.                             {
  4144.                                 StartDependentFnNoPri ()
  4145.                                 {
  4146.                                     IO (Decode16,
  4147.                                         0x03F8,             // Range Minimum
  4148.                                         0x03F8,             // Range Maximum
  4149.                                         0x08,               // Alignment
  4150.                                         0x08,               // Length
  4151.                                         )
  4152.                                     IRQNoFlags ()
  4153.                                         {4}
  4154.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4155.                                         {0}
  4156.                                 }
  4157.                                 StartDependentFnNoPri ()
  4158.                                 {
  4159.                                     IO (Decode16,
  4160.                                         0x02F8,             // Range Minimum
  4161.                                         0x02F8,             // Range Maximum
  4162.                                         0x08,               // Alignment
  4163.                                         0x08,               // Length
  4164.                                         )
  4165.                                     IRQNoFlags ()
  4166.                                         {3}
  4167.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4168.                                         {0}
  4169.                                 }
  4170.                                 StartDependentFnNoPri ()
  4171.                                 {
  4172.                                     IO (Decode16,
  4173.                                         0x03E8,             // Range Minimum
  4174.                                         0x03E8,             // Range Maximum
  4175.                                         0x08,               // Alignment
  4176.                                         0x08,               // Length
  4177.                                         )
  4178.                                     IRQNoFlags ()
  4179.                                         {4}
  4180.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4181.                                         {0}
  4182.                                 }
  4183.                                 StartDependentFnNoPri ()
  4184.                                 {
  4185.                                     IO (Decode16,
  4186.                                         0x02E8,             // Range Minimum
  4187.                                         0x02E8,             // Range Maximum
  4188.                                         0x08,               // Alignment
  4189.                                         0x08,               // Length
  4190.                                         )
  4191.                                     IRQNoFlags ()
  4192.                                         {3}
  4193.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4194.                                         {0}
  4195.                                 }
  4196.                                 StartDependentFnNoPri ()
  4197.                                 {
  4198.                                     IO (Decode16,
  4199.                                         0x03F8,             // Range Minimum
  4200.                                         0x03F8,             // Range Maximum
  4201.                                         0x08,               // Alignment
  4202.                                         0x08,               // Length
  4203.                                         )
  4204.                                     IRQNoFlags ()
  4205.                                         {3}
  4206.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4207.                                         {0}
  4208.                                 }
  4209.                                 StartDependentFnNoPri ()
  4210.                                 {
  4211.                                     IO (Decode16,
  4212.                                         0x02F8,             // Range Minimum
  4213.                                         0x02F8,             // Range Maximum
  4214.                                         0x08,               // Alignment
  4215.                                         0x08,               // Length
  4216.                                         )
  4217.                                     IRQNoFlags ()
  4218.                                         {4}
  4219.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4220.                                         {0}
  4221.                                 }
  4222.                                 StartDependentFnNoPri ()
  4223.                                 {
  4224.                                     IO (Decode16,
  4225.                                         0x03E8,             // Range Minimum
  4226.                                         0x03E8,             // Range Maximum
  4227.                                         0x08,               // Alignment
  4228.                                         0x08,               // Length
  4229.                                         )
  4230.                                     IRQNoFlags ()
  4231.                                         {3}
  4232.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4233.                                         {0}
  4234.                                 }
  4235.                                 StartDependentFnNoPri ()
  4236.                                 {
  4237.                                     IO (Decode16,
  4238.                                         0x02E8,             // Range Minimum
  4239.                                         0x02E8,             // Range Maximum
  4240.                                         0x08,               // Alignment
  4241.                                         0x08,               // Length
  4242.                                         )
  4243.                                     IRQNoFlags ()
  4244.                                         {4}
  4245.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4246.                                         {0}
  4247.                                 }
  4248.                                 StartDependentFnNoPri ()
  4249.                                 {
  4250.                                     IO (Decode16,
  4251.                                         0x03F8,             // Range Minimum
  4252.                                         0x03F8,             // Range Maximum
  4253.                                         0x08,               // Alignment
  4254.                                         0x08,               // Length
  4255.                                         )
  4256.                                     IRQNoFlags ()
  4257.                                         {4}
  4258.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4259.                                         {1}
  4260.                                 }
  4261.                                 StartDependentFnNoPri ()
  4262.                                 {
  4263.                                     IO (Decode16,
  4264.                                         0x02F8,             // Range Minimum
  4265.                                         0x02F8,             // Range Maximum
  4266.                                         0x08,               // Alignment
  4267.                                         0x08,               // Length
  4268.                                         )
  4269.                                     IRQNoFlags ()
  4270.                                         {3}
  4271.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4272.                                         {1}
  4273.                                 }
  4274.                                 StartDependentFnNoPri ()
  4275.                                 {
  4276.                                     IO (Decode16,
  4277.                                         0x03E8,             // Range Minimum
  4278.                                         0x03E8,             // Range Maximum
  4279.                                         0x08,               // Alignment
  4280.                                         0x08,               // Length
  4281.                                         )
  4282.                                     IRQNoFlags ()
  4283.                                         {4}
  4284.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4285.                                         {1}
  4286.                                 }
  4287.                                 StartDependentFnNoPri ()
  4288.                                 {
  4289.                                     IO (Decode16,
  4290.                                         0x02E8,             // Range Minimum
  4291.                                         0x02E8,             // Range Maximum
  4292.                                         0x08,               // Alignment
  4293.                                         0x08,               // Length
  4294.                                         )
  4295.                                     IRQNoFlags ()
  4296.                                         {3}
  4297.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4298.                                         {1}
  4299.                                 }
  4300.                                 StartDependentFnNoPri ()
  4301.                                 {
  4302.                                     IO (Decode16,
  4303.                                         0x03F8,             // Range Minimum
  4304.                                         0x03F8,             // Range Maximum
  4305.                                         0x08,               // Alignment
  4306.                                         0x08,               // Length
  4307.                                         )
  4308.                                     IRQNoFlags ()
  4309.                                         {3}
  4310.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4311.                                         {1}
  4312.                                 }
  4313.                                 StartDependentFnNoPri ()
  4314.                                 {
  4315.                                     IO (Decode16,
  4316.                                         0x02F8,             // Range Minimum
  4317.                                         0x02F8,             // Range Maximum
  4318.                                         0x08,               // Alignment
  4319.                                         0x08,               // Length
  4320.                                         )
  4321.                                     IRQNoFlags ()
  4322.                                         {4}
  4323.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4324.                                         {1}
  4325.                                 }
  4326.                                 StartDependentFnNoPri ()
  4327.                                 {
  4328.                                     IO (Decode16,
  4329.                                         0x03E8,             // Range Minimum
  4330.                                         0x03E8,             // Range Maximum
  4331.                                         0x08,               // Alignment
  4332.                                         0x08,               // Length
  4333.                                         )
  4334.                                     IRQNoFlags ()
  4335.                                         {3}
  4336.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4337.                                         {1}
  4338.                                 }
  4339.                                 StartDependentFnNoPri ()
  4340.                                 {
  4341.                                     IO (Decode16,
  4342.                                         0x02E8,             // Range Minimum
  4343.                                         0x02E8,             // Range Maximum
  4344.                                         0x08,               // Alignment
  4345.                                         0x08,               // Length
  4346.                                         )
  4347.                                     IRQNoFlags ()
  4348.                                         {4}
  4349.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4350.                                         {1}
  4351.                                 }
  4352.                                 StartDependentFnNoPri ()
  4353.                                 {
  4354.                                     IO (Decode16,
  4355.                                         0x03F8,             // Range Minimum
  4356.                                         0x03F8,             // Range Maximum
  4357.                                         0x08,               // Alignment
  4358.                                         0x08,               // Length
  4359.                                         )
  4360.                                     IRQNoFlags ()
  4361.                                         {4}
  4362.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4363.                                         {3}
  4364.                                 }
  4365.                                 StartDependentFnNoPri ()
  4366.                                 {
  4367.                                     IO (Decode16,
  4368.                                         0x02F8,             // Range Minimum
  4369.                                         0x02F8,             // Range Maximum
  4370.                                         0x08,               // Alignment
  4371.                                         0x08,               // Length
  4372.                                         )
  4373.                                     IRQNoFlags ()
  4374.                                         {3}
  4375.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4376.                                         {3}
  4377.                                 }
  4378.                                 StartDependentFnNoPri ()
  4379.                                 {
  4380.                                     IO (Decode16,
  4381.                                         0x03E8,             // Range Minimum
  4382.                                         0x03E8,             // Range Maximum
  4383.                                         0x08,               // Alignment
  4384.                                         0x08,               // Length
  4385.                                         )
  4386.                                     IRQNoFlags ()
  4387.                                         {4}
  4388.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4389.                                         {3}
  4390.                                 }
  4391.                                 StartDependentFnNoPri ()
  4392.                                 {
  4393.                                     IO (Decode16,
  4394.                                         0x02E8,             // Range Minimum
  4395.                                         0x02E8,             // Range Maximum
  4396.                                         0x08,               // Alignment
  4397.                                         0x08,               // Length
  4398.                                         )
  4399.                                     IRQNoFlags ()
  4400.                                         {3}
  4401.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4402.                                         {3}
  4403.                                 }
  4404.                                 StartDependentFnNoPri ()
  4405.                                 {
  4406.                                     IO (Decode16,
  4407.                                         0x03F8,             // Range Minimum
  4408.                                         0x03F8,             // Range Maximum
  4409.                                         0x08,               // Alignment
  4410.                                         0x08,               // Length
  4411.                                         )
  4412.                                     IRQNoFlags ()
  4413.                                         {3}
  4414.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4415.                                         {3}
  4416.                                 }
  4417.                                 StartDependentFnNoPri ()
  4418.                                 {
  4419.                                     IO (Decode16,
  4420.                                         0x02F8,             // Range Minimum
  4421.                                         0x02F8,             // Range Maximum
  4422.                                         0x08,               // Alignment
  4423.                                         0x08,               // Length
  4424.                                         )
  4425.                                     IRQNoFlags ()
  4426.                                         {4}
  4427.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4428.                                         {3}
  4429.                                 }
  4430.                                 StartDependentFnNoPri ()
  4431.                                 {
  4432.                                     IO (Decode16,
  4433.                                         0x03E8,             // Range Minimum
  4434.                                         0x03E8,             // Range Maximum
  4435.                                         0x08,               // Alignment
  4436.                                         0x08,               // Length
  4437.                                         )
  4438.                                     IRQNoFlags ()
  4439.                                         {3}
  4440.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4441.                                         {3}
  4442.                                 }
  4443.                                 StartDependentFnNoPri ()
  4444.                                 {
  4445.                                     IO (Decode16,
  4446.                                         0x02E8,             // Range Minimum
  4447.                                         0x02E8,             // Range Maximum
  4448.                                         0x08,               // Alignment
  4449.                                         0x08,               // Length
  4450.                                         )
  4451.                                     IRQNoFlags ()
  4452.                                         {4}
  4453.                                     DMA (Compatibility, NotBusMaster, Transfer8, )
  4454.                                         {3}
  4455.                                 }
  4456.                                 EndDependentFn ()
  4457.                             })
  4458.                         }
  4459.  
  4460.                         Method (_DIS, 0, NotSerialized)
  4461.                         {
  4462.                             LDRS (0x02, 0x30, 0x00)
  4463.                         }
  4464.  
  4465.                         Method (_CRS, 0, NotSerialized)
  4466.                         {
  4467.                             Name (DCRS, ResourceTemplate ()
  4468.                             {
  4469.                                 IO (Decode16,
  4470.                                     0x02F8,             // Range Minimum
  4471.                                     0x02F8,             // Range Maximum
  4472.                                     0x08,               // Alignment
  4473.                                     0x08,               // Length
  4474.                                     )
  4475.                                 IRQNoFlags ()
  4476.                                     {3}
  4477.                                 DMA (Compatibility, NotBusMaster, Transfer8, )
  4478.                                     {0}
  4479.                             })
  4480.                             Store (LDRG (0x02, 0x60), Local1)
  4481.                             Store (LDRG (0x02, 0x61), Local0)
  4482.                             Store (Local0, Index (DCRS, 0x02))
  4483.                             Store (Local0, Index (DCRS, 0x04))
  4484.                             Store (Local1, Index (DCRS, 0x03))
  4485.                             Store (Local1, Index (DCRS, 0x05))
  4486.                             ShiftLeft (0x01, LDRG (0x02, 0x70), Local0)
  4487.                             Store (Local0, Index (DCRS, 0x09))
  4488.                             ShiftRight (Local0, 0x08, Local1)
  4489.                             Store (Local1, Index (DCRS, 0x0A))
  4490.                             ShiftLeft (0x01, LDRG (0x02, 0x74), Local0)
  4491.                             Store (Local0, Index (DCRS, 0x0C))
  4492.                             ShiftRight (Local0, 0x08, Local1)
  4493.                             Store (Local1, Index (DCRS, 0x0D))
  4494.                             Return (DCRS)
  4495.                         }
  4496.  
  4497.                         Method (_SRS, 1, NotSerialized)
  4498.                         {
  4499.                             CreateByteField (Arg0, 0x02, ADRL)
  4500.                             CreateByteField (Arg0, 0x03, ADRM)
  4501.                             CreateWordField (Arg0, 0x09, IRQM)
  4502.                             CreateWordField (Arg0, 0x0C, DMAM)
  4503.                             FindSetRightBit (IRQM, Local0)
  4504.                             Decrement (Local0)
  4505.                             FindSetRightBit (DMAM, Local1)
  4506.                             Decrement (Local1)
  4507.                             LDRS (0x02, 0x70, Local0)
  4508.                             LDRS (0x02, 0x74, Local1)
  4509.                             LDRS (0x02, 0x60, ADRM)
  4510.                             LDRS (0x02, 0x61, ADRL)
  4511.                             PDRS (0x02, Add (ShiftLeft (ADRM, 0x08), ADRL))
  4512.                             LDRS (0x02, 0x30, 0x01)
  4513.                         }
  4514.                     }
  4515.                 }
  4516.  
  4517.                 Device (EC0)
  4518.                 {
  4519.                     Name (_HID, EisaId ("PNP0C09"))
  4520.                     Name (_CRS, ResourceTemplate ()
  4521.                     {
  4522.                         IO (Decode16,
  4523.                             0x0062,             // Range Minimum
  4524.                             0x0062,             // Range Maximum
  4525.                             0x01,               // Alignment
  4526.                             0x01,               // Length
  4527.                             )
  4528.                         IO (Decode16,
  4529.                             0x0066,             // Range Minimum
  4530.                             0x0066,             // Range Maximum
  4531.                             0x01,               // Alignment
  4532.                             0x01,               // Length
  4533.                             )
  4534.                     })
  4535.                     Name (_GPE, 0x1D)
  4536.                     Name (OSEJ, 0x00)
  4537.                     Device (SMBC)
  4538.                     {
  4539.                         Name (_HID, "ACPI0001")
  4540.                         Name (_EC, 0x1820)
  4541.                         Device (SBS0)
  4542.                         {
  4543.                             Name (_HID, "ACPI0002")
  4544.                             Name (_SBS, 0x02)
  4545.                         }
  4546.                     }
  4547.  
  4548.                     Method (_REG, 2, NotSerialized)
  4549.                     {
  4550.                         If (LEqual (Arg0, 0x03))
  4551.                         {
  4552.                             Store (Arg1, \_SB.OKEC)
  4553.                             Store (Arg1, \_SB.ECOK)
  4554.                             If (Or (LEqual (\_SB.PCI0.MYOS, 0x03), LEqual (\_SB.PCI0.MYOS, 0x01)))
  4555.                             {
  4556.                                 If (Arg1)
  4557.                                 {
  4558.                                     Store (0x01, \_SB.PCI0.LPC0.EC0.RG57)
  4559.                                 }
  4560.  
  4561.                                 Store (\_SB.WLES, \_SB.PCI0.LPC0.EC0.WEST)
  4562.                                 Store (\_SB.BTES, \_SB.PCI0.LPC0.EC0.BEST)
  4563.                                 Store (One, \_SB.PCI0.LPC0.EC0.WBIN)
  4564.                                 Store (DOFF, \_SB.PCI0.LPC0.EC0.TMOF)
  4565.                             }
  4566.                         }
  4567.                     }
  4568.  
  4569.                     OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
  4570.                     Field (ERAM, ByteAcc, NoLock, Preserve)
  4571.                     {
  4572.                                 Offset (0x04),
  4573.                         CMCM,   8,
  4574.                         CMD1,   8,
  4575.                         CMD2,   8,
  4576.                         CMD3,   8,
  4577.                                 Offset (0x18),
  4578.                         SMPR,   8,
  4579.                         SMST,   8,
  4580.                         SMAD,   8,
  4581.                         SMCM,   8,
  4582.                         SMD0,   256,
  4583.                         BCNT,   8,
  4584.                         SMAA,   8,
  4585.                         BATD,   16,
  4586.                         ACDF,   1,
  4587.                                 Offset (0x41),
  4588.                             ,   4,
  4589.                         FPR1,   1,
  4590.                         S4LD,   1,
  4591.                         S5LW,   1,
  4592.                         PFLG,   1,
  4593.                                 Offset (0x43),
  4594.                         TMSS,   2,
  4595.                             ,   2,
  4596.                         BANK,   4,
  4597.                                 Offset (0x45),
  4598.                         VFAN,   1,
  4599.                                 Offset (0x46),
  4600.                         RL01,   1,
  4601.                         RD01,   1,
  4602.                         RF01,   1,
  4603.                         RP01,   1,
  4604.                         RB01,   1,
  4605.                         RC01,   1,
  4606.                             ,   1,
  4607.                         R701,   1,
  4608.                         R801,   1,
  4609.                         RM01,   1,
  4610.                         RI01,   1,
  4611.                             ,   1,
  4612.                             ,   1,
  4613.                             ,   1,
  4614.                         RA01,   1,
  4615.                         RR01,   1,
  4616.                         RL10,   1,
  4617.                         RD10,   1,
  4618.                         RF10,   1,
  4619.                         RP10,   1,
  4620.                         RB10,   1,
  4621.                         RC10,   1,
  4622.                             ,   1,
  4623.                         R710,   1,
  4624.                         R810,   1,
  4625.                         RM10,   1,
  4626.                         RI10,   1,
  4627.                             ,   1,
  4628.                             ,   1,
  4629.                             ,   1,
  4630.                         RA10,   1,
  4631.                         RR10,   1,
  4632.                         LIDE,   1,
  4633.                         DB2E,   1,
  4634.                         RPTE,   1,
  4635.                         WP01,   1,
  4636.                         WB01,   1,
  4637.                         WC01,   1,
  4638.                             ,   1,
  4639.                         W701,   1,
  4640.                         W801,   1,
  4641.                         WM01,   1,
  4642.                         WI01,   1,
  4643.                             ,   1,
  4644.                             ,   1,
  4645.                             ,   1,
  4646.                         WA01,   1,
  4647.                         WR01,   1,
  4648.                         LIDS,   1,
  4649.                         DB2S,   1,
  4650.                         RPTS,   1,
  4651.                         WP10,   1,
  4652.                         WB10,   1,
  4653.                         WC10,   1,
  4654.                             ,   1,
  4655.                         W710,   1,
  4656.                         W810,   1,
  4657.                         WM10,   1,
  4658.                         WI10,   1,
  4659.                             ,   1,
  4660.                             ,   1,
  4661.                             ,   1,
  4662.                         WA10,   1,
  4663.                         WR10,   1,
  4664.                             ,   1,
  4665.                         BAYE,   1,
  4666.                         EFDE,   1,
  4667.                         PRDE,   1,
  4668.                         BRBE,   1,
  4669.                         ADIM,   1,
  4670.                             ,   1,
  4671.                         W7BE,   1,
  4672.                         W8BE,   1,
  4673.                         PMEE,   1,
  4674.                         INTE,   1,
  4675.                             ,   1,
  4676.                             ,   1,
  4677.                             ,   1,
  4678.                             ,   1,
  4679.                         DB3E,   1,
  4680.                                 Offset (0x52),
  4681.                             ,   1,
  4682.                         BAYS,   1,
  4683.                         EFDS,   1,
  4684.                         PRDS,   1,
  4685.                         BRBS,   1,
  4686.                         CRTS,   1,
  4687.                             ,   1,
  4688.                         W7BS,   1,
  4689.                         TMOF,   8,
  4690.                                 Offset (0x57),
  4691.                         RG57,   8,
  4692.                         CTMP,   8,
  4693.                         RG59,   8,
  4694.                         RG5A,   8,
  4695.                         RG5B,   8,
  4696.                         FSPD,   16,
  4697.                                 Offset (0x5F),
  4698.                         WEST,   1,
  4699.                         BEST,   1,
  4700.                         WBIN,   1,
  4701.                                 Offset (0x60),
  4702.                             ,   1,
  4703.                         FANC,   1,
  4704.                                 Offset (0x70),
  4705.                         MBID,   8,
  4706.                         MBTS,   1,
  4707.                         MBTF,   1,
  4708.                                 Offset (0x72),
  4709.                         MBTC,   1,
  4710.                                 Offset (0x77),
  4711.                         BA1C,   8,
  4712.                         MBVG,   16,
  4713.                         MCUR,   16,
  4714.                                 Offset (0x80),
  4715.                         SBID,   8,
  4716.                         SBTS,   1,
  4717.                         SBTF,   1,
  4718.                                 Offset (0x82),
  4719.                         SBTC,   1,
  4720.                                 Offset (0x87),
  4721.                         BA2C,   8,
  4722.                         ABVG,   16,
  4723.                         ACUR,   16,
  4724.                                 Offset (0xC3),
  4725.                         MBRM,   16,
  4726.                                 Offset (0xCA),
  4727.                         ABRM,   16,
  4728.                                 Offset (0xD0),
  4729.                         EBPL,   1,
  4730.                                 Offset (0xD2),
  4731.                             ,   6,
  4732.                         APWR,   1,
  4733.                                 Offset (0xD6),
  4734.                         DBPL,   8,
  4735.                                 Offset (0xE7),
  4736.                         GQKS,   7
  4737.                     }
  4738.  
  4739.                     Field (ERAM, ByteAcc, NoLock, Preserve)
  4740.                     {
  4741.                                 Offset (0x1C),
  4742.                         SMW0,   16
  4743.                     }
  4744.  
  4745.                     Field (ERAM, ByteAcc, NoLock, Preserve)
  4746.                     {
  4747.                                 Offset (0x1C),
  4748.                         SMB0,   8
  4749.                     }
  4750.  
  4751.                     Field (ERAM, ByteAcc, NoLock, Preserve)
  4752.                     {
  4753.                                 Offset (0x1C),
  4754.                         FLD0,   64
  4755.                     }
  4756.  
  4757.                     Field (ERAM, ByteAcc, NoLock, Preserve)
  4758.                     {
  4759.                                 Offset (0x1C),
  4760.                         FLD1,   128
  4761.                     }
  4762.  
  4763.                     Field (ERAM, ByteAcc, NoLock, Preserve)
  4764.                     {
  4765.                                 Offset (0x1C),
  4766.                         FLD2,   192
  4767.                     }
  4768.  
  4769.                     Field (ERAM, ByteAcc, NoLock, Preserve)
  4770.                     {
  4771.                                 Offset (0x1C),
  4772.                         FLD3,   256
  4773.                     }
  4774.  
  4775.                     Method (BPOL, 1, NotSerialized)
  4776.                     {
  4777.                         Store (Arg0, DBPL)
  4778.                         Store (0x01, EBPL)
  4779.                     }
  4780.  
  4781.                     Name (ECUS, 0x00)
  4782.                     Name (BATO, 0x00)
  4783.                     Name (BATN, 0x00)
  4784.                     Name (BATF, 0xC0)
  4785.                     Method (_Q09, 0, NotSerialized)
  4786.                     {
  4787.                         If (LEqual (SizeOf (\_OS), 0x14)) {}
  4788.                         If (LEqual (SizeOf (\_OS), 0x14))
  4789.                         {
  4790.                             BPOL (0x3C)
  4791.                         }
  4792.                     }
  4793.  
  4794.                     Method (_Q20, 0, NotSerialized)
  4795.                     {
  4796.                         If (And (SMST, 0x40))
  4797.                         {
  4798.                             Store (SMAA, Local0)
  4799.                             If (LEqual (Local0, 0x14))
  4800.                             {
  4801.                                 And (SMST, 0xBF, SMST)
  4802.                             }
  4803.                         }
  4804.                     }
  4805.  
  4806.                     Method (SELE, 0, NotSerialized)
  4807.                     {
  4808.                         Store (BATD, BATN)
  4809.                         Store (0x00, BATF)
  4810.                         If (And (0xC0, BATN))
  4811.                         {
  4812.                             Or (BATF, 0x01, BATF)
  4813.                         }
  4814.  
  4815.                         If (And (0x0300, BATN))
  4816.                         {
  4817.                             Or (BATF, 0x04, BATF)
  4818.                         }
  4819.  
  4820.                         And (BATN, 0x01, Local0)
  4821.                         And (BATO, 0x01, Local1)
  4822.                         If (Local0)
  4823.                         {
  4824.                             Or (BATF, 0x0100, BATF)
  4825.                         }
  4826.                         Else
  4827.                         {
  4828.                             And (BATF, 0xFEFF, BATF)
  4829.                         }
  4830.  
  4831.                         If (Not (LEqual (Local0, Local1)))
  4832.                         {
  4833.                             Or (BATF, 0x40, BATF)
  4834.                         }
  4835.  
  4836.                         And (BATN, 0x02, Local0)
  4837.                         And (BATO, 0x02, Local1)
  4838.                         If (Local0)
  4839.                         {
  4840.                             Or (BATF, 0x0200, BATF)
  4841.                         }
  4842.                         Else
  4843.                         {
  4844.                             And (BATF, 0xFDFF, BATF)
  4845.                         }
  4846.  
  4847.                         If (Not (LEqual (Local0, Local1)))
  4848.                         {
  4849.                             Or (BATF, 0x80, BATF)
  4850.                         }
  4851.  
  4852.                         And (BATN, 0xC0, Local0)
  4853.                         And (BATO, 0xC0, Local1)
  4854.                         If (Not (LEqual (Local0, Local1)))
  4855.                         {
  4856.                             Or (BATF, 0x02, BATF)
  4857.                         }
  4858.  
  4859.                         If (And (0x01, BATF))
  4860.                         {
  4861.                             If (And (0x04, BATF))
  4862.                             {
  4863.                                 If (And (BATN, 0x20))
  4864.                                 {
  4865.                                     Or (BATF, 0x10, BATF)
  4866.                                 }
  4867.                                 Else
  4868.                                 {
  4869.                                     Or (BATF, 0x20, BATF)
  4870.                                 }
  4871.                             }
  4872.                         }
  4873.                     }
  4874.  
  4875.                     Method (_Q0D, 0, NotSerialized)
  4876.                     {
  4877.                         Store ("Sleep Button Query: Fn+F4", Debug)
  4878.                         Notify (\_SB.SLPB, 0x80)
  4879.                     }
  4880.  
  4881.                     Method (_Q0E, 0, NotSerialized)
  4882.                     {
  4883.                         \_SB.PCI0.AGP.VGA.SWIH ()
  4884.                     }
  4885.  
  4886.                     Method (_Q13, 0, NotSerialized)
  4887.                     {
  4888.                         Store ("Brightness Up: Fn+->", Debug)
  4889.                         Store (0x8C, \_SB.PCI0.LPC0.BCMD)
  4890.                         Store (0x00, \_SB.PCI0.LPC0.SMIC)
  4891.                     }
  4892.  
  4893.                     Method (_Q12, 0, NotSerialized)
  4894.                     {
  4895.                         Store ("Brightness Down: Fn+<-", Debug)
  4896.                         Store (0x8D, \_SB.PCI0.LPC0.BCMD)
  4897.                         Store (0x00, \_SB.PCI0.LPC0.SMIC)
  4898.                     }
  4899.  
  4900.                     Method (_Q80, 0, NotSerialized)
  4901.                     {
  4902.                         Store ("Temperature increasing: _Q80", Debug)
  4903.                         Notify (\_TZ.THRM, 0x80)
  4904.                     }
  4905.  
  4906.                     Method (_Q81, 0, NotSerialized)
  4907.                     {
  4908.                         Store ("Temperature decreasing: _Q81", Debug)
  4909.                         Notify (\_TZ.THRM, 0x80)
  4910.                     }
  4911.  
  4912.                     Event (EJT1)
  4913.                     Method (_Q8A, 0, NotSerialized)
  4914.                     {
  4915.                         Mutex (MUT0, 0x00)
  4916.                         Mutex (MUT1, 0x00)
  4917.                         Store ("------------------_Q0x8A --------------------------------------", Debug)
  4918.                         If (LIDE)
  4919.                         {
  4920.                             Store (0x01, LIDE)
  4921.                             Notify (\_SB.LID, 0x80)
  4922.                         }
  4923.  
  4924.                         If (DB2E)
  4925.                         {
  4926.                             Store ("-------- Device R-Bay Event ------", Debug)
  4927.                             Store (0x01, DB2E)
  4928.                             Store (0xB1, P80H)
  4929.                             If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  4930.                             {
  4931.                                 If (DB2S)
  4932.                                 {
  4933.                                     Store (0xB2, P80H)
  4934.                                     Store ("----------- Device Bay Change Status ---------- IN ", Debug)
  4935.                                     Store (\_SB.PCI0.LPC0.RBID, Local0)
  4936.                                     Store (Local0, \_SB.PCI0.IDE0.BAYR)
  4937.                                     If (LEqual (Local0, 0x00))
  4938.                                     {
  4939.                                         Store (0xB4, P80H)
  4940.                                         Store (0x00, \_SB.PCI0.LPC0.LV37)
  4941.                                         Sleep (0xC8)
  4942.                                     }
  4943.                                     Else
  4944.                                     {
  4945.                                         Store (0xB5, P80H)
  4946.                                         Store (0x00, \_SB.PCI0.LPC0.LV37)
  4947.                                         Sleep (0x64)
  4948.                                         Store (0x00, \_SB.PCI0.LPC0.LV39)
  4949.                                         Sleep (0xC8)
  4950.                                         Store (0x01, \_SB.PCI0.LPC0.LV39)
  4951.                                         Sleep (0x09C4)
  4952.                                         Sleep (0xC8)
  4953.                                         Sleep (0xC8)
  4954.                                         Sleep (0x64)
  4955.                                         Store (0x01, \_SB.PCI0.IDE0.SSIG)
  4956.                                         Store (0x01, \_SB.PCI0.IDE0.UDC1)
  4957.                                         Store (0x02, \_SB.PCI0.IDE0.UDT1)
  4958.                                         Or (\_SB.PCI0.IDE0.FSCB, 0x04, \_SB.PCI0.IDE0.FSCB)
  4959.                                         Store (0xE303, \_SB.PCI0.IDE0.ITM1)
  4960.                                         Store (0x00, \_SB.PCI0.IDE0.SSIG)
  4961.                                         Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x00)
  4962.                                         Store (0xB6, P80H)
  4963.                                     }
  4964.                                 }
  4965.                                 Else
  4966.                                 {
  4967.                                     Store (0xB7, P80H)
  4968.                                     Store ("-------- Device Bay Event ------ OUT ", Debug)
  4969.                                     Store (\_SB.PCI0.IDE0.BAYR, Local0)
  4970.                                     Store (0x01, \_SB.PCI0.LPC0.LV37)
  4971.                                     Sleep (0xC8)
  4972.                                     If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
  4973.                                     {
  4974.                                         Notify (\_SB.PCI0.IDE0.SECN.BAY1, 0x01)
  4975.                                         Store (0xB8, P80H)
  4976.                                     }
  4977.                                 }
  4978.                             }
  4979.                         }
  4980.                     }
  4981.                 }
  4982.  
  4983.                 OperationRegion (SMI0, SystemIO, 0x0000FE00, 0x00000002)
  4984.                 Field (SMI0, AnyAcc, NoLock, Preserve)
  4985.                 {
  4986.                     SMIC,   8
  4987.                 }
  4988.  
  4989.                 OperationRegion (SMI1, SystemMemory, 0x1FEFCEBD, 0x00000090)
  4990.                 Field (SMI1, AnyAcc, NoLock, Preserve)
  4991.                 {
  4992.                     BCMD,   8,
  4993.                     DID,    32,
  4994.                     INFO,   1024
  4995.                 }
  4996.  
  4997.                 Field (SMI1, AnyAcc, NoLock, Preserve)
  4998.                 {
  4999.                             AccessAs (ByteAcc, 0x00),
  5000.                             Offset (0x05),
  5001.                     INF,    8
  5002.                 }
  5003.             }
  5004.  
  5005.             Device (MDM0)
  5006.             {
  5007.                 Name (_ADR, 0x001F0006)
  5008.                 Name (_PRW, Package (0x02)
  5009.                 {
  5010.                     0x05,
  5011.                     0x03
  5012.                 })
  5013.             }
  5014.  
  5015.             Device (IDE0)
  5016.             {
  5017.                 Name (_ADR, 0x001F0001)
  5018.                 OperationRegion (PCI, PCI_Config, 0x00, 0x58)
  5019.                 Field (PCI, DWordAcc, NoLock, Preserve)
  5020.                 {
  5021.                             Offset (0x03),
  5022.                         ,   7,
  5023.                     SIDE,   1,
  5024.                             Offset (0x42),
  5025.                         ,   1,
  5026.                     EIOR,   1,
  5027.                         ,   13,
  5028.                     ESID,   1,
  5029.                             Offset (0x48),
  5030.                     UMA0,   1,
  5031.                     UMA1,   1,
  5032.                     UMA2,   1,
  5033.                     UMA3,   1,
  5034.                             Offset (0x56),
  5035.                     PSIG,   2,
  5036.                     SSIG,   2
  5037.                 }
  5038.  
  5039.                 Field (PCI, DWordAcc, NoLock, Preserve)
  5040.                 {
  5041.                             Offset (0x40),
  5042.                     ITM0,   16,
  5043.                     ITM1,   16,
  5044.                     SIT0,   4,
  5045.                     SIT1,   4,
  5046.                             Offset (0x48),
  5047.                     UDC0,   2,
  5048.                     UDC1,   2,
  5049.                             Offset (0x4A),
  5050.                     UDT0,   8,
  5051.                     UDT1,   8,
  5052.                             Offset (0x54),
  5053.                     ICF0,   2,
  5054.                     ICF1,   2,
  5055.                     CB80,   4,
  5056.                         ,   2,
  5057.                     WPPE,   1,
  5058.                         ,   1,
  5059.                     FSCB,   4,
  5060.                     TRIP,   2,
  5061.                     TRIS,   2,
  5062.                     FATS,   4
  5063.                 }
  5064.  
  5065.                 Name (TIM0, Package (0x01)
  5066.                 {
  5067.                     Package (0x05)
  5068.                     {
  5069.                         0x78,
  5070.                         0xB4,
  5071.                         0xF0,
  5072.                         0x0186,
  5073.                         0x0258
  5074.                     }
  5075.                 })
  5076.                 Name (TIM1, Package (0x01)
  5077.                 {
  5078.                     Package (0x03)
  5079.                     {
  5080.                         0x78,
  5081.                         0x96,
  5082.                         0x01FE
  5083.                     }
  5084.                 })
  5085.                 Name (TIM2, Package (0x01)
  5086.                 {
  5087.                     Package (0x06)
  5088.                     {
  5089.                         0x18,
  5090.                         0x1E,
  5091.                         0x2D,
  5092.                         0x3C,
  5093.                         0x5A,
  5094.                         0x78
  5095.                     }
  5096.                 })
  5097.                 Name (AT01, Buffer (0x07)
  5098.                 {
  5099.                     0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF
  5100.                 })
  5101.                 Name (AT02, Buffer (0x07)
  5102.                 {
  5103.                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90
  5104.                 })
  5105.                 Name (AT03, Buffer (0x07)
  5106.                 {
  5107.                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6
  5108.                 })
  5109.                 Name (AT04, Buffer (0x07)
  5110.                 {
  5111.                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x91
  5112.                 })
  5113.                 Name (ATA0, Buffer (0x1D) {})
  5114.                 Name (ATA1, Buffer (0x1D) {})
  5115.                 Name (ATA2, Buffer (0x1D) {})
  5116.                 Name (ATA3, Buffer (0x1D) {})
  5117.                 Name (ATAB, Buffer (0x0E) {})
  5118.                 Name (CMDC, 0x00)
  5119.                 Name (BAYR, 0x00)
  5120.                 Method (_INI, 0, NotSerialized)
  5121.                 {
  5122.                     Store (\_SB.PCI0.LPC0.RBID, BAYR)
  5123.                 }
  5124.  
  5125.                 Method (GTFB, 3, Serialized)
  5126.                 {
  5127.                     Multiply (CMDC, 0x38, Local0)
  5128.                     CreateField (ATAB, Local0, 0x38, CMDX)
  5129.                     Multiply (CMDC, 0x07, Local0)
  5130.                     CreateByteField (ATAB, Add (Local0, 0x01), A001)
  5131.                     CreateByteField (ATAB, Add (Local0, 0x05), A005)
  5132.                     Store (Arg0, CMDX)
  5133.                     Store (Arg1, A001)
  5134.                     Store (Arg2, A005)
  5135.                     Increment (CMDC)
  5136.                 }
  5137.  
  5138.                 Mutex (GTFM, 0x00)
  5139.                 Method (GTF, 3, Serialized)
  5140.                 {
  5141.                     Acquire (GTFM, 0xFFFF)
  5142.                     CreateDWordField (Arg2, 0x00, PIO0)
  5143.                     CreateDWordField (Arg2, 0x04, DMA0)
  5144.                     CreateDWordField (Arg2, 0x08, PIO1)
  5145.                     CreateDWordField (Arg2, 0x0C, DMA1)
  5146.                     CreateDWordField (Arg2, 0x10, CHNF)
  5147.                     Store (0x00, CMDC)
  5148.                     Name (ID00, 0x80)
  5149.                     Name (ID49, 0x0C00)
  5150.                     Name (ID59, 0x00)
  5151.                     Name (ID53, 0x04)
  5152.                     Name (ID63, 0x0F00)
  5153.                     Name (ID88, 0x0F00)
  5154.                     Name (IRDY, 0x01)
  5155.                     Name (PIOT, 0x00)
  5156.                     Name (DMAT, 0x00)
  5157.                     If (LEqual (SizeOf (Arg1), 0x0200))
  5158.                     {
  5159.                         CreateByteField (Arg1, 0x00, IB00)
  5160.                         Store (IB00, ID00)
  5161.                         CreateWordField (Arg1, 0x62, IW49)
  5162.                         Store (IW49, ID49)
  5163.                         CreateWordField (Arg1, 0x6A, IW53)
  5164.                         Store (IW53, ID53)
  5165.                         CreateWordField (Arg1, 0x7E, IW63)
  5166.                         Store (IW63, ID63)
  5167.                         CreateWordField (Arg1, 0x76, IW59)
  5168.                         Store (IW59, ID59)
  5169.                         CreateWordField (Arg1, 0xB0, IW88)
  5170.                         Store (IW88, ID88)
  5171.                     }
  5172.                     Else
  5173.                     {
  5174.                         Return (ATAB)
  5175.                     }
  5176.  
  5177.                     Store (0xA0, Local7)
  5178.                     If (Arg0)
  5179.                     {
  5180.                         Store (0xB0, Local7)
  5181.                         And (CHNF, 0x08, IRDY)
  5182.                         If (And (CHNF, 0x10))
  5183.                         {
  5184.                             Store (PIO1, PIOT)
  5185.                         }
  5186.                         Else
  5187.                         {
  5188.                             Store (PIO0, PIOT)
  5189.                         }
  5190.  
  5191.                         If (And (CHNF, 0x04))
  5192.                         {
  5193.                             If (And (CHNF, 0x10))
  5194.                             {
  5195.                                 Store (DMA1, DMAT)
  5196.                             }
  5197.                             Else
  5198.                             {
  5199.                                 Store (DMA0, DMAT)
  5200.                             }
  5201.                         }
  5202.                     }
  5203.                     Else
  5204.                     {
  5205.                         And (CHNF, 0x02, IRDY)
  5206.                         Store (PIO0, PIOT)
  5207.                         If (And (CHNF, 0x01))
  5208.                         {
  5209.                             Store (DMA0, DMAT)
  5210.                         }
  5211.                     }
  5212.  
  5213.                     If (LAnd (And (ID53, 0x04), And (ID88, 0xFF)))
  5214.                     {
  5215.                         Store (0x00, Local1)
  5216.                         And (ID88, 0xFF, Local2)
  5217.                         While (ShiftRight (Local2, Local1))
  5218.                         {
  5219.                             Increment (Local1)
  5220.                         }
  5221.  
  5222.                         Decrement (Local1)
  5223.                         GTFB (AT01, Or (0x40, Local1), Local7)
  5224.                     }
  5225.  
  5226.                     If (IRDY)
  5227.                     {
  5228.                         Store (Match (DerefOf (Index (TIM0, 0x00)), MGE, PIOT, MTR,
  5229.                             0x00, 0x00), Local1)
  5230.                         If (LEqual (Local1, Ones))
  5231.                         {
  5232.                             Store (0x04, Local1)
  5233.                         }
  5234.  
  5235.                         Subtract (0x04, Local1, Local1)
  5236.                         GTFB (AT01, Or (0x08, Local1), Local7)
  5237.                     }
  5238.                     Else
  5239.                     {
  5240.                         If (And (ID49, 0x0400))
  5241.                         {
  5242.                             GTFB (AT01, 0x01, Local7)
  5243.                         }
  5244.                     }
  5245.  
  5246.                     Release (GTFM)
  5247.                     Return (ATAB)
  5248.                 }
  5249.  
  5250.                 Method (RATA, 1, NotSerialized)
  5251.                 {
  5252.                     CreateByteField (Arg0, 0x00, CMDN)
  5253.                     Multiply (CMDN, 0x38, Local0)
  5254.                     CreateField (Arg0, 0x08, Local0, RETB)
  5255.                     Return (RETB)
  5256.                 }
  5257.  
  5258.                 Name (REGF, 0x01)
  5259.                 Method (_REG, 2, NotSerialized)
  5260.                 {
  5261.                     If (LEqual (Arg0, 0x02))
  5262.                     {
  5263.                         Store (Arg1, REGF)
  5264.                     }
  5265.                 }
  5266.  
  5267.                 Name (BAYD, 0x00)
  5268.                 Method (_STA, 0, NotSerialized)
  5269.                 {
  5270.                     Return (0x0F)
  5271.                 }
  5272.  
  5273.                 Method (GTM, 6, NotSerialized)
  5274.                 {
  5275.                     Store (Buffer (0x14) {}, Local0)
  5276.                     CreateDWordField (Local0, 0x00, PIO0)
  5277.                     CreateDWordField (Local0, 0x04, DMA0)
  5278.                     CreateDWordField (Local0, 0x08, PIO1)
  5279.                     CreateDWordField (Local0, 0x0C, DMA1)
  5280.                     CreateDWordField (Local0, 0x10, FLAG)
  5281.                     If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01
  5282.                         ))))
  5283.                     {
  5284.                         Store (0x0384, PIO0)
  5285.                     }
  5286.                     Else
  5287.                     {
  5288.                         Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  5289.                             Arg0, 0x3000), 0x0C), Local1)
  5290.                         Multiply (Subtract (0x09, Local1), 0x1E, PIO0)
  5291.                     }
  5292.  
  5293.                     If (And (Arg0, 0x4000))
  5294.                     {
  5295.                         If (LOr (And (Arg0, 0x80), LNot (And (Arg0, 0x10
  5296.                             ))))
  5297.                         {
  5298.                             Store (0x0384, PIO1)
  5299.                         }
  5300.                         Else
  5301.                         {
  5302.                             Add (And (Arg1, 0x03), ShiftRight (And (Arg1, 0x0C),
  5303.                                 0x02), Local1)
  5304.                             Multiply (Subtract (0x09, Local1), 0x1E, PIO1)
  5305.                         }
  5306.                     }
  5307.                     Else
  5308.                     {
  5309.                         Store (PIO0, PIO1)
  5310.                     }
  5311.  
  5312.                     If (And (Arg2, 0x01))
  5313.                     {
  5314.                         If (And (Arg5, 0x01))
  5315.                         {
  5316.                             Store (0x08, DMA0)
  5317.                         }
  5318.                         Else
  5319.                         {
  5320.                             Subtract (0x04, And (Arg3, 0x03), Local1)
  5321.                             If (And (Arg4, 0x01))
  5322.                             {
  5323.                                 Multiply (Local1, 0x0F, DMA0)
  5324.                             }
  5325.                             Else
  5326.                             {
  5327.                                 Multiply (Local1, 0x1E, DMA0)
  5328.                             }
  5329.                         }
  5330.                     }
  5331.                     Else
  5332.                     {
  5333.                         Store (PIO0, DMA0)
  5334.                     }
  5335.  
  5336.                     If (And (Arg0, 0x4000))
  5337.                     {
  5338.                         If (And (Arg2, 0x02))
  5339.                         {
  5340.                             If (And (Arg5, 0x02))
  5341.                             {
  5342.                                 Store (0x08, DMA1)
  5343.                             }
  5344.                             Else
  5345.                             {
  5346.                                 Subtract (0x04, ShiftRight (And (Arg3, 0x30), 0x04), Local1)
  5347.                                 If (And (Arg4, 0x02))
  5348.                                 {
  5349.                                     Multiply (Local1, 0x0F, DMA1)
  5350.                                 }
  5351.                                 Else
  5352.                                 {
  5353.                                     Multiply (Local1, 0x1E, DMA1)
  5354.                                 }
  5355.                             }
  5356.                         }
  5357.                         Else
  5358.                         {
  5359.                             Store (PIO1, DMA1)
  5360.                         }
  5361.                     }
  5362.                     Else
  5363.                     {
  5364.                         Store (DMA0, DMA1)
  5365.                     }
  5366.  
  5367.                     Store (Zero, FLAG)
  5368.                     If (And (Arg0, 0x01))
  5369.                     {
  5370.                         Or (FLAG, 0x10, FLAG)
  5371.                     }
  5372.  
  5373.                     If (And (Arg2, 0x01))
  5374.                     {
  5375.                         Or (FLAG, 0x01, FLAG)
  5376.                     }
  5377.  
  5378.                     If (And (Arg0, 0x02))
  5379.                     {
  5380.                         Or (FLAG, 0x02, FLAG)
  5381.                     }
  5382.  
  5383.                     If (And (Arg2, 0x02))
  5384.                     {
  5385.                         Or (FLAG, 0x04, FLAG)
  5386.                     }
  5387.  
  5388.                     If (And (Arg0, 0x20))
  5389.                     {
  5390.                         Or (FLAG, 0x08, FLAG)
  5391.                     }
  5392.  
  5393.                     Return (Local0)
  5394.                 }
  5395.  
  5396.                 Method (STMS, 3, NotSerialized)
  5397.                 {
  5398.                     Store (Buffer (0x18) {}, Local7)
  5399.                     CreateDWordField (Local7, 0x00, ITM)
  5400.                     CreateDWordField (Local7, 0x04, SIT)
  5401.                     CreateDWordField (Local7, 0x08, UDC)
  5402.                     CreateDWordField (Local7, 0x0C, UDT)
  5403.                     CreateDWordField (Local7, 0x10, ICF)
  5404.                     CreateDWordField (Local7, 0x14, A100)
  5405.                     Store (0x01, WPPE)
  5406.                     CreateDWordField (Arg0, 0x00, PIO0)
  5407.                     CreateDWordField (Arg0, 0x04, DMA0)
  5408.                     CreateDWordField (Arg0, 0x08, PIO1)
  5409.                     CreateDWordField (Arg0, 0x0C, DMA1)
  5410.                     CreateDWordField (Arg0, 0x10, FLAG)
  5411.                     Store (FLAG, Local4)
  5412.                     Store (0x4000, Local0)
  5413.                     Name (W49M, 0x00)
  5414.                     Name (W53M, 0x00)
  5415.                     Name (W62M, 0x00)
  5416.                     Name (W64M, 0x00)
  5417.                     Name (W88M, 0x00)
  5418.                     If (LEqual (SizeOf (Arg1), 0x0200))
  5419.                     {
  5420.                         CreateDWordField (Arg1, 0x00, W00A)
  5421.                         CreateDWordField (Arg1, 0x62, W49A)
  5422.                         CreateDWordField (Arg1, 0x6A, W53A)
  5423.                         CreateDWordField (Arg1, 0x7C, W62A)
  5424.                         CreateDWordField (Arg1, 0x80, W64A)
  5425.                         CreateDWordField (Arg1, 0xB0, W88A)
  5426.                         Store (W49A, W49M)
  5427.                         Store (W53A, W53M)
  5428.                         Store (W62A, W62M)
  5429.                         Store (W64A, W64M)
  5430.                         Store (W88A, W88M)
  5431.                         If (W00A)
  5432.                         {
  5433.                             Or (Local0, 0x8000, Local0)
  5434.                         }
  5435.  
  5436.                         If (LNot (And (W00A, 0x80)))
  5437.                         {
  5438.                             Or (Local0, 0x04, Local0)
  5439.                         }
  5440.                     }
  5441.                     Else
  5442.                     {
  5443.                         Store (0x00, W49M)
  5444.                         Store (0x00, W53M)
  5445.                         Store (0x00, W62M)
  5446.                         Store (0x00, W64M)
  5447.                         Store (0x00, W88M)
  5448.                     }
  5449.  
  5450.                     Name (W49S, 0x00)
  5451.                     Name (W53S, 0x00)
  5452.                     Name (W62S, 0x00)
  5453.                     Name (W64S, 0x00)
  5454.                     Name (W88S, 0x00)
  5455.                     If (LEqual (SizeOf (Arg2), 0x0200))
  5456.                     {
  5457.                         CreateDWordField (Arg2, 0x00, W00B)
  5458.                         CreateDWordField (Arg2, 0x62, W49B)
  5459.                         CreateDWordField (Arg2, 0x6A, W53B)
  5460.                         CreateDWordField (Arg2, 0x7C, W62B)
  5461.                         CreateDWordField (Arg2, 0x80, W64B)
  5462.                         CreateDWordField (Arg2, 0xB0, W88B)
  5463.                         Store (W49B, W49S)
  5464.                         Store (W53B, W53S)
  5465.                         Store (W62B, W62S)
  5466.                         Store (W64B, W64S)
  5467.                         Store (W88B, W88S)
  5468.                         If (W00B)
  5469.                         {
  5470.                             Or (Local0, 0x8000, Local0)
  5471.                         }
  5472.  
  5473.                         If (LNot (And (W00B, 0x80)))
  5474.                         {
  5475.                             Or (Local0, 0x40, Local0)
  5476.                         }
  5477.                     }
  5478.                     Else
  5479.                     {
  5480.                         Store (0x00, W49S)
  5481.                         Store (0x00, W53S)
  5482.                         Store (0x00, W62S)
  5483.                         Store (0x00, W64S)
  5484.                         Store (0x00, W88S)
  5485.                     }
  5486.  
  5487.                     Store (0x00, A100)
  5488.                     If (And (0x38, W88M))
  5489.                     {
  5490.                         If (And (0x20, W88M))
  5491.                         {
  5492.                             Store (0x08, DMA0)
  5493.                             Or (A100, 0x00100010, A100)
  5494.                         }
  5495.                         Else
  5496.                         {
  5497.                             If (And (0x10, W88M))
  5498.                             {
  5499.                                 Store (0x1E, DMA0)
  5500.                                 Or (A100, 0x10, A100)
  5501.                             }
  5502.                             Else
  5503.                             {
  5504.                                 Store (0x2D, DMA0)
  5505.                             }
  5506.                         }
  5507.                     }
  5508.                     Else
  5509.                     {
  5510.                         If (And (0x07, W88M))
  5511.                         {
  5512.                             Or (0x0100, A100, A100)
  5513.                             If (And (0x04, W88M))
  5514.                             {
  5515.                                 Store (0x3C, DMA0)
  5516.                             }
  5517.                             Else
  5518.                             {
  5519.                                 If (And (0x02, W88M))
  5520.                                 {
  5521.                                     Store (0x5A, DMA0)
  5522.                                 }
  5523.                                 Else
  5524.                                 {
  5525.                                     Store (0x78, DMA0)
  5526.                                 }
  5527.                             }
  5528.                         }
  5529.                     }
  5530.  
  5531.                     If (And (0x3F, W88S))
  5532.                     {
  5533.                         If (And (0x20, W88S))
  5534.                         {
  5535.                             Store (0x08, DMA1)
  5536.                             Or (A100, 0x00200020, A100)
  5537.                         }
  5538.                         Else
  5539.                         {
  5540.                             If (And (0x10, W88S))
  5541.                             {
  5542.                                 Store (0x1E, DMA1)
  5543.                                 Or (A100, 0x20, A100)
  5544.                             }
  5545.                             Else
  5546.                             {
  5547.                                 Store (0x2D, DMA1)
  5548.                             }
  5549.                         }
  5550.                     }
  5551.  
  5552.                     If (LAnd (And (W49M, 0x0800), And (Local4, 0x02)))
  5553.                     {
  5554.                         Or (Local0, 0x02, Local0)
  5555.                     }
  5556.  
  5557.                     If (LLess (PIO0, 0x0384))
  5558.                     {
  5559.                         Or (Local0, 0x01, Local0)
  5560.                     }
  5561.  
  5562.                     If (LAnd (And (W49S, 0x0800), And (Local4, 0x08)))
  5563.                     {
  5564.                         Or (Local0, 0x20, Local0)
  5565.                     }
  5566.  
  5567.                     If (LLess (PIO1, 0x0384))
  5568.                     {
  5569.                         Or (Local0, 0x10, Local0)
  5570.                     }
  5571.  
  5572.                     If (And (Local4, 0x01))
  5573.                     {
  5574.                         Store (PIO0, Local1)
  5575.                     }
  5576.                     Else
  5577.                     {
  5578.                         Store (DMA0, Local1)
  5579.                     }
  5580.  
  5581.                     If (LGreaterEqual (Local1, 0xF0))
  5582.                     {
  5583.                         Or (Local0, 0x08, Local0)
  5584.                     }
  5585.                     Else
  5586.                     {
  5587.                         If (And (W53M, 0x02))
  5588.                         {
  5589.                             If (LAnd (And (W64M, 0x02), LLessEqual (Local1, 0x78)))
  5590.                             {
  5591.                                 Or (Local0, 0x2301, Local0)
  5592.                             }
  5593.                             Else
  5594.                             {
  5595.                                 If (LAnd (And (W64M, 0x01), LLessEqual (Local1, 0xB4)))
  5596.                                 {
  5597.                                     Or (Local0, 0x2101, Local0)
  5598.                                 }
  5599.                             }
  5600.                         }
  5601.                         Else
  5602.                         {
  5603.                             Or (Local0, 0x1001, Local0)
  5604.                         }
  5605.                     }
  5606.  
  5607.                     Store (Local0, ITM)
  5608.                     Store (Zero, Local0)
  5609.                     If (And (Local4, 0x04))
  5610.                     {
  5611.                         Store (PIO1, Local1)
  5612.                     }
  5613.                     Else
  5614.                     {
  5615.                         Store (DMA1, Local1)
  5616.                     }
  5617.  
  5618.                     If (And (Local4, 0x10))
  5619.                     {
  5620.                         If (LGreaterEqual (Local1, 0xF0))
  5621.                         {
  5622.                             Or (0x80, ITM, ITM)
  5623.                         }
  5624.                         Else
  5625.                         {
  5626.                             Or (0x10, ITM, ITM)
  5627.                             If (And (W53S, 0x02))
  5628.                             {
  5629.                                 If (LAnd (And (W64S, 0x02), LLessEqual (Local1, 0x78)))
  5630.                                 {
  5631.                                     Store (0x0B, Local0)
  5632.                                 }
  5633.                                 Else
  5634.                                 {
  5635.                                     If (LAnd (And (W64S, 0x01), LLessEqual (Local1, 0xB4)))
  5636.                                     {
  5637.                                         Store (0x09, Local0)
  5638.                                     }
  5639.                                 }
  5640.                             }
  5641.                             Else
  5642.                             {
  5643.                                 Store (0x04, Local0)
  5644.                             }
  5645.                         }
  5646.                     }
  5647.  
  5648.                     Store (Local0, SIT)
  5649.                     Store (0x00, Local0)
  5650.                     If (LAnd (And (0x3F, W88M), And (Local4, 0x01)))
  5651.                     {
  5652.                         Or (Local0, 0x01, Local0)
  5653.                     }
  5654.  
  5655.                     If (And (Local4, 0x04))
  5656.                     {
  5657.                         Or (Local0, 0x02, Local0)
  5658.                     }
  5659.  
  5660.                     Store (Local0, UDC)
  5661.                     Store (0x00, Local0)
  5662.                     If (And (Local4, 0x01))
  5663.                     {
  5664.                         If (LLess (DMA0, 0x1E))
  5665.                         {
  5666.                             Or (A100, 0x1000, A100)
  5667.                             Or (Local0, 0x01, Local0)
  5668.                         }
  5669.                         Else
  5670.                         {
  5671.                             If (LLess (DMA0, 0x3C))
  5672.                             {
  5673.                                 Divide (DMA0, 0x0F, , Local1)
  5674.                             }
  5675.                             Else
  5676.                             {
  5677.                                 Divide (DMA0, 0x1E, , Local1)
  5678.                             }
  5679.  
  5680.                             Subtract (0x04, Local1, Local0)
  5681.                         }
  5682.                     }
  5683.  
  5684.                     If (And (Local4, 0x04))
  5685.                     {
  5686.                         If (LLess (DMA1, 0x1E))
  5687.                         {
  5688.                             Or (A100, 0x2000, A100)
  5689.                             Or (Local0, 0x10, Local0)
  5690.                         }
  5691.                         Else
  5692.                         {
  5693.                             If (LLess (DMA1, 0x3C))
  5694.                             {
  5695.                                 Divide (DMA1, 0x0F, , Local1)
  5696.                             }
  5697.                             Else
  5698.                             {
  5699.                                 Divide (DMA1, 0x1E, , Local1)
  5700.                             }
  5701.  
  5702.                             Subtract (0x04, Local1, Local1)
  5703.                             ShiftLeft (Local1, 0x04, Local1)
  5704.                             Or (Local0, Local1, Local0)
  5705.                         }
  5706.                     }
  5707.  
  5708.                     Store (Local0, UDT)
  5709.                     Store (0x00, Local0)
  5710.                     If (LLess (DMA0, 0x3C))
  5711.                     {
  5712.                         Or (Local0, 0x01, Local0)
  5713.                     }
  5714.  
  5715.                     If (LLess (DMA1, 0x3C))
  5716.                     {
  5717.                         Or (Local0, 0x02, Local0)
  5718.                     }
  5719.  
  5720.                     Store (Local0, ICF)
  5721.                     Return (Local7)
  5722.                 }
  5723.  
  5724.                 Method (GTF0, 7, NotSerialized)
  5725.                 {
  5726.                     Store (Buffer (0x07)
  5727.                         {
  5728.                             0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
  5729.                         }, Local7)
  5730.                     CreateByteField (Local7, 0x01, MODE)
  5731.                     If (And (Arg2, 0x01))
  5732.                     {
  5733.                         If (And (Arg6, 0x01))
  5734.                         {
  5735.                             Store (0x45, MODE)
  5736.                         }
  5737.                         Else
  5738.                         {
  5739.                             And (Arg3, 0x03, Local0)
  5740.                             If (And (Arg4, 0x01))
  5741.                             {
  5742.                                 Add (Local0, 0x02, Local0)
  5743.                             }
  5744.  
  5745.                             Or (Local0, 0x40, MODE)
  5746.                         }
  5747.                     }
  5748.                     Else
  5749.                     {
  5750.                         Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  5751.                             Arg0, 0x3000), 0x0C), Local0)
  5752.                         If (LGreaterEqual (Local0, 0x05))
  5753.                         {
  5754.                             Store (0x22, MODE)
  5755.                         }
  5756.                         Else
  5757.                         {
  5758.                             If (LGreaterEqual (Local0, 0x03))
  5759.                             {
  5760.                                 Store (0x21, MODE)
  5761.                             }
  5762.                             Else
  5763.                             {
  5764.                                 Store (0x20, MODE)
  5765.                             }
  5766.                         }
  5767.                     }
  5768.  
  5769.                     Concatenate (Local7, Local7, Local6)
  5770.                     If (LOr (And (Arg0, 0x08), LNot (And (Arg0, 0x01
  5771.                         ))))
  5772.                     {
  5773.                         If (And (Arg0, 0x02))
  5774.                         {
  5775.                             Store (0x00, MODE)
  5776.                         }
  5777.                         Else
  5778.                         {
  5779.                             Store (0x08, MODE)
  5780.                         }
  5781.                     }
  5782.                     Else
  5783.                     {
  5784.                         Add (ShiftRight (And (Arg0, 0x0300), 0x08), ShiftRight (And (
  5785.                             Arg0, 0x3000), 0x0C), Local0)
  5786.                         If (LGreaterEqual (Local0, 0x05))
  5787.                         {
  5788.                             Store (0x0C, MODE)
  5789.                         }
  5790.                         Else
  5791.                         {
  5792.                             If (LGreaterEqual (Local0, 0x03))
  5793.                             {
  5794.                                 Store (0x0B, MODE)
  5795.                             }
  5796.                             Else
  5797.                             {
  5798.                                 Store (0x0A, MODE)
  5799.                             }
  5800.                         }
  5801.                     }
  5802.  
  5803.                     Concatenate (Local6, Local7, Local5)
  5804.                     Return (Local5)
  5805.                 }
  5806.  
  5807.                 Name (B04, Buffer (0x04) {})
  5808.                 Name (B20, Buffer (0x04) {})
  5809.                 Name (B40, Buffer (0x04) {})
  5810.                 Device (PRIM)
  5811.                 {
  5812.                     Name (_ADR, 0x00)
  5813.                     Name (_PSC, 0x00)
  5814.                     Method (_PS0, 0, NotSerialized)
  5815.                     {
  5816.                         Store (0x00, _PSC)
  5817.                     }
  5818.  
  5819.                     Method (_PS3, 0, NotSerialized)
  5820.                     {
  5821.                         Store (0x03, _PSC)
  5822.                     }
  5823.  
  5824.                     Method (_GTM, 0, NotSerialized)
  5825.                     {
  5826.                         Store (Buffer (0x14)
  5827.                             {
  5828.                                 0x00
  5829.                             }, Local0)
  5830.                         Store (^^GTM (^^ITM0, ^^SIT0, ^^UDC0, ^^UDT0, ^^ICF0, ^^FSCB), Local0)
  5831.                         Return (Local0)
  5832.                     }
  5833.  
  5834.                     Method (_STM, 3, NotSerialized)
  5835.                     {
  5836.                         Store (GTF (0x00, Arg1, Arg0), ATA0)
  5837.                         Store (GTF (0x01, Arg2, Arg0), ATA1)
  5838.                         Store (^^STMS (Arg0, Arg1, Arg2), Local0)
  5839.                         CreateDWordField (Local0, 0x00, ITM)
  5840.                         CreateDWordField (Local0, 0x04, SIT)
  5841.                         CreateDWordField (Local0, 0x08, UDC)
  5842.                         CreateDWordField (Local0, 0x0C, UDT)
  5843.                         CreateDWordField (Local0, 0x10, ICF)
  5844.                         Store (ITM, ^^ITM0)
  5845.                         Store (SIT, ^^SIT0)
  5846.                         Store (UDC, ^^UDC0)
  5847.                         Store (UDT, ^^UDT0)
  5848.                         CreateDWordField (Local0, 0x14, A100)
  5849.                         Or (And (^^CB80, 0x0C), ShiftRight (And (0x30, A100),
  5850.                             0x04), ^^CB80)
  5851.                         Or (And (^^FSCB, 0x0C), ShiftRight (And (0x3000, A100),
  5852.                             0x0C), ^^FSCB)
  5853.                         Or (And (^^FATS, 0x0C), ShiftRight (And (0x00300000, A100),
  5854.                             0x14), ^^FATS)
  5855.                         Store (ICF, ^^ICF0)
  5856.                     }
  5857.  
  5858.                     Device (MAST)
  5859.                     {
  5860.                         Name (_ADR, 0x00)
  5861.                         Name (H15F, Zero)
  5862.                         Method (_GTF, 0, NotSerialized)
  5863.                         {
  5864.                             Return (RATA (ATA0))
  5865.                         }
  5866.                     }
  5867.                 }
  5868.  
  5869.                 Device (SECN)
  5870.                 {
  5871.                     Name (_ADR, 0x01)
  5872.                     Name (FAST, 0x63)
  5873.                     Method (_STA, 0, NotSerialized)
  5874.                     {
  5875.                         If (ESID)
  5876.                         {
  5877.                             Return (0x0F)
  5878.                         }
  5879.                         Else
  5880.                         {
  5881.                             Return (0x08)
  5882.                         }
  5883.                     }
  5884.  
  5885.                     Name (_PSC, 0x00)
  5886.                     Method (_PS0, 0, NotSerialized)
  5887.                     {
  5888.                         Store (0x00, _PSC)
  5889.                     }
  5890.  
  5891.                     Method (_PS3, 0, NotSerialized)
  5892.                     {
  5893.                         Store (0x03, _PSC)
  5894.                     }
  5895.  
  5896.                     Method (_GTM, 0, NotSerialized)
  5897.                     {
  5898.                         Store (Buffer (0x14)
  5899.                             {
  5900.                                 0x00
  5901.                             }, Local0)
  5902.                         Store (^^FSCB, Local1)
  5903.                         ShiftRight (Local1, 0x02, Local1)
  5904.                         Store (^^GTM (^^ITM1, ^^SIT1, ^^UDC1, ^^UDT1, ^^ICF1, Local1), Local0)
  5905.                         Return (Local0)
  5906.                     }
  5907.  
  5908.                     Method (_STM, 3, NotSerialized)
  5909.                     {
  5910.                         Store (GTF (0x00, Arg1, Arg0), ATA2)
  5911.                         Store (GTF (0x01, Arg2, Arg0), ATA3)
  5912.                         Store (^^STMS (Arg0, Arg1, Arg2), Local0)
  5913.                         CreateDWordField (Local0, 0x00, ITM)
  5914.                         CreateDWordField (Local0, 0x04, SIT)
  5915.                         CreateDWordField (Local0, 0x08, UDC)
  5916.                         CreateDWordField (Local0, 0x0C, UDT)
  5917.                         CreateDWordField (Local0, 0x10, ICF)
  5918.                         Store (ITM, ^^ITM1)
  5919.                         Store (SIT, ^^SIT1)
  5920.                         Store (UDC, ^^UDC1)
  5921.                         Store (UDT, ^^UDT1)
  5922.                         CreateDWordField (Local0, 0x14, A100)
  5923.                         Or (And (^^CB80, 0x03), ShiftRight (And (0x30, A100),
  5924.                             0x02), ^^CB80)
  5925.                         Or (And (^^FSCB, 0x03), ShiftRight (And (0x3000, A100),
  5926.                             0x0A), ^^FSCB)
  5927.                         Or (And (^^FATS, 0x03), ShiftRight (And (0x00300000, A100),
  5928.                             0x12), ^^FATS)
  5929.                         Store (ICF, ^^ICF1)
  5930.                     }
  5931.  
  5932.                     Device (BAY1)
  5933.                     {
  5934.                         Name (_ADR, 0x00)
  5935.                         Name (H15F, Zero)
  5936.                         Name (EJ0F, 0x00)
  5937.                         Method (_GTF, 0, NotSerialized)
  5938.                         {
  5939.                             Return (RATA (ATA2))
  5940.                         }
  5941.  
  5942.                         Method (_STA, 0, NotSerialized)
  5943.                         {
  5944.                             If (\_SB.PCI0.IDE0.ESID)
  5945.                             {
  5946.                                 \_SB.PCI0.IDE0.SECN.CBAY ()
  5947.                                 Store (^^BFLG, Local0)
  5948.                                 If (LEqual (^^BNUM, 0x01))
  5949.                                 {
  5950.                                     If (And (Local0, 0x01))
  5951.                                     {
  5952.                                         If (\_SB.PCI0.LPC0.LV37)
  5953.                                         {
  5954.                                             Return (0x08)
  5955.                                         }
  5956.                                         Else
  5957.                                         {
  5958.                                             Return (0x0F)
  5959.                                         }
  5960.                                     }
  5961.                                     Else
  5962.                                     {
  5963.                                         Return (0x08)
  5964.                                     }
  5965.                                 }
  5966.                                 Else
  5967.                                 {
  5968.                                     If (LEqual (^^BNUM, 0x02))
  5969.                                     {
  5970.                                         If (\_SB.PCI0.LPC0.LV37)
  5971.                                         {
  5972.                                             Return (0x08)
  5973.                                         }
  5974.                                         Else
  5975.                                         {
  5976.                                             Return (0x0F)
  5977.                                         }
  5978.                                     }
  5979.                                     Else
  5980.                                     {
  5981.                                         Return (0x08)
  5982.                                     }
  5983.                                 }
  5984.                             }
  5985.                             Else
  5986.                             {
  5987.                                 Return (0x08)
  5988.                             }
  5989.                         }
  5990.  
  5991.                         Method (_EJ0, 1, NotSerialized)
  5992.                         {
  5993.                             If (Arg0)
  5994.                             {
  5995.                                 If (LGreater (\_SB.PCI0.LPC0.MBTP, 0x01))
  5996.                                 {
  5997.                                     Sleep (0x32)
  5998.                                 }
  5999.                                 Else
  6000.                                 {
  6001.                                     Store (0x01, ^^^SSIG)
  6002.                                     Sleep (0x32)
  6003.                                     Store (0xC000, ^^^ITM1)
  6004.                                     Store (0x01, \_SB.PCI0.LPC0.LV37)
  6005.                                     Sleep (0xC8)
  6006.                                     Store (0x00, \_SB.PCI0.LPC0.LV39)
  6007.                                     Sleep (0xC8)
  6008.                                 }
  6009.                             }
  6010.                         }
  6011.                     }
  6012.  
  6013.                     Name (BNUM, 0x00)
  6014.                     Name (BFLG, 0x00)
  6015.                     Method (CBAY, 0, NotSerialized)
  6016.                     {
  6017.                         Store (0x00, BNUM)
  6018.                         Store (0x00, BFLG)
  6019.                         Store (\_SB.PCI0.LPC0.RBID, Local0)
  6020.                         If (Or (LEqual (Local0, 0x01), LEqual (Local0, 0x02)))
  6021.                         {
  6022.                             Increment (BNUM)
  6023.                             Or (BFLG, 0x01, BFLG)
  6024.                         }
  6025.                     }
  6026.                 }
  6027.  
  6028.                 Method (_PS0, 0, NotSerialized)
  6029.                 {
  6030.                     If (And (LEqual (_PSC, 0x03), LEqual (\_SB.STAT, 0x03)))
  6031.                     {
  6032.                         Store (0x89, \_SB.PCI0.LPC0.BCMD)
  6033.                         Store (0x00, \_SB.PCI0.LPC0.SMIC)
  6034.                         Store (0xB0, P80H)
  6035.                     }
  6036.  
  6037.                     Store (0x00, _PSC)
  6038.                 }
  6039.  
  6040.                 Method (_PS3, 0, NotSerialized)
  6041.                 {
  6042.                     Store (0x03, _PSC)
  6043.                     Store (0xB3, P80H)
  6044.                 }
  6045.  
  6046.                 Name (_PSC, 0x00)
  6047.             }
  6048.  
  6049.             Device (USB1)
  6050.             {
  6051.                 Name (_ADR, 0x001D0000)
  6052.                 OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
  6053.                 Field (USBO, ByteAcc, NoLock, Preserve)
  6054.                 {
  6055.                     RSEN,   2
  6056.                 }
  6057.  
  6058.                 Name (_PRW, Package (0x02)
  6059.                 {
  6060.                     0x03,
  6061.                     0x03
  6062.                 })
  6063.                 Method (_PSW, 1, NotSerialized)
  6064.                 {
  6065.                     If (Arg0)
  6066.                     {
  6067.                         Store (0x03, \_SB.PCI0.USB1.RSEN)
  6068.                     }
  6069.                     Else
  6070.                     {
  6071.                         Store (0x00, \_SB.PCI0.USB1.RSEN)
  6072.                     }
  6073.                 }
  6074.             }
  6075.  
  6076.             Device (USB2)
  6077.             {
  6078.                 Name (_ADR, 0x001D0001)
  6079.                 OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
  6080.                 Field (USBO, ByteAcc, NoLock, Preserve)
  6081.                 {
  6082.                     RSEN,   2
  6083.                 }
  6084.  
  6085.                 Name (_PRW, Package (0x02)
  6086.                 {
  6087.                     0x04,
  6088.                     0x03
  6089.                 })
  6090.                 Method (_PSW, 1, NotSerialized)
  6091.                 {
  6092.                     If (Arg0)
  6093.                     {
  6094.                         Store (0x03, \_SB.PCI0.USB2.RSEN)
  6095.                     }
  6096.                     Else
  6097.                     {
  6098.                         Store (0x00, \_SB.PCI0.USB2.RSEN)
  6099.                     }
  6100.                 }
  6101.             }
  6102.  
  6103.             Device (USB3)
  6104.             {
  6105.                 Name (_ADR, 0x001D0002)
  6106.                 OperationRegion (USBO, PCI_Config, 0xC4, 0x04)
  6107.                 Field (USBO, ByteAcc, NoLock, Preserve)
  6108.                 {
  6109.                     RSEN,   2
  6110.                 }
  6111.  
  6112.                 Name (_PRW, Package (0x02)
  6113.                 {
  6114.                     0x0C,
  6115.                     0x03
  6116.                 })
  6117.                 Method (_PSW, 1, NotSerialized)
  6118.                 {
  6119.                     If (Arg0)
  6120.                     {
  6121.                         Store (0x03, \_SB.PCI0.USB3.RSEN)
  6122.                     }
  6123.                     Else
  6124.                     {
  6125.                         Store (0x00, \_SB.PCI0.USB3.RSEN)
  6126.                     }
  6127.                 }
  6128.             }
  6129.         }
  6130.  
  6131.         Device (LID)
  6132.         {
  6133.             Name (_HID, EisaId ("PNP0C0D"))
  6134.             Name (LSTS, 0x00)
  6135.             Method (_LID, 0, NotSerialized)
  6136.             {
  6137.                 If (\_SB.OKEC)
  6138.                 {
  6139.                     If (\_SB.PCI0.LPC0.EC0.LIDS)
  6140.                     {
  6141.                         Store (Zero, LSTS)
  6142.                     }
  6143.                     Else
  6144.                     {
  6145.                         Store (One, LSTS)
  6146.                     }
  6147.                 }
  6148.                 Else
  6149.                 {
  6150.                     Store (Zero, LSTS)
  6151.                 }
  6152.  
  6153.                 Return (LSTS)
  6154.             }
  6155.         }
  6156.  
  6157.         Scope (\_TZ)
  6158.         {
  6159.             Name (TPL, 0x0CA0)
  6160.             Name (TAC1, 0x0D0E)
  6161.             Name (TAC0, 0x0D54)
  6162.             Name (TPAS, 0x0E44)
  6163.             Name (TPC, 0x0E94)
  6164.             Name (TPTM, 0x0C3C)
  6165.             Name (TBSE, 0x0AAC)
  6166.             Name (LTMP, 0x0CA0)
  6167.             Name (TVAR, Buffer (0x05)
  6168.             {
  6169.                 0x00, 0x20, 0x1F, 0x0C, 0x1F
  6170.             })
  6171.             CreateByteField (TVAR, 0x00, PLCY)
  6172.             CreateWordField (TVAR, 0x01, CTOS)
  6173.             CreateWordField (TVAR, 0x03, CTHY)
  6174.             Device (FAN0)
  6175.             {
  6176.                 Name (_HID, EisaId ("PNP0C0B"))
  6177.                 Name (_UID, 0x01)
  6178.                 Name (_PR0, Package (0x01)
  6179.                 {
  6180.                     PFN0
  6181.                 })
  6182.                 Method (_PS0, 0, NotSerialized)
  6183.                 {
  6184.                     Store ("Low Speed FAN - _PS0", Debug)
  6185.                 }
  6186.  
  6187.                 Method (_PS3, 0, NotSerialized)
  6188.                 {
  6189.                     Store ("Low Speed FAN - _PS3", Debug)
  6190.                 }
  6191.             }
  6192.  
  6193.             PowerResource (PFN0, 0x00, 0x0000)
  6194.             {
  6195.                 Name (FNS1, 0x00)
  6196.                 Name (FFST, 0x01)
  6197.                 Method (_STA, 0, NotSerialized)
  6198.                 {
  6199.                     Store (FNS1, Local1)
  6200.                     Return (Local1)
  6201.                 }
  6202.  
  6203.                 Method (_ON, 0, NotSerialized)
  6204.                 {
  6205.                     Store (0x01, FNS1)
  6206.                     If (\_TZ.PFN1.FNS2)
  6207.                     {
  6208.                         Store ("FAN 1 (High speed already turn on) ", Debug)
  6209.                     }
  6210.                     Else
  6211.                     {
  6212.                         If (\_SB.OKEC)
  6213.                         {
  6214.                             Store (0xB4, \_SB.PCI0.LPC0.EC0.FSPD)
  6215.                             Store (0x01, \_SB.PCI0.LPC0.EC0.FPR1)
  6216.                         }
  6217.                     }
  6218.  
  6219.                     If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6220.                     {
  6221.                         \_TZ.THRM._SCP (0x01)
  6222.                     }
  6223.                 }
  6224.  
  6225.                 Method (_OFF, 0, NotSerialized)
  6226.                 {
  6227.                     Store (0x00, FNS1)
  6228.                     If (LEqual (SizeOf (\_OS), 0x14))
  6229.                     {
  6230.                         If (\_SB.OKEC)
  6231.                         {
  6232.                             If (\_TZ.PFN1.FNS2)
  6233.                             {
  6234.                                 Store (One, \_SB.PCI0.LPC0.EC0.FPR1)
  6235.                             }
  6236.                             Else
  6237.                             {
  6238.                                 Store (Zero, \_SB.PCI0.LPC0.EC0.FPR1)
  6239.                             }
  6240.                         }
  6241.                     }
  6242.                     Else
  6243.                     {
  6244.                         If (LLess (FFST, 0x02))
  6245.                         {
  6246.                             Store (0x86, \_SB.PCI0.LPC0.BCMD)
  6247.                             Store (0x00, \_SB.PCI0.LPC0.SMIC)
  6248.                             Increment (FFST)
  6249.                         }
  6250.                         Else
  6251.                         {
  6252.                             If (\_SB.OKEC)
  6253.                             {
  6254.                                 Store (0x00, \_SB.PCI0.LPC0.EC0.FPR1)
  6255.                             }
  6256.                         }
  6257.                     }
  6258.  
  6259.                     If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6260.                     {
  6261.                         \_TZ.THRM._SCP (0x01)
  6262.                     }
  6263.                 }
  6264.             }
  6265.  
  6266.             Device (FAN1)
  6267.             {
  6268.                 Name (_HID, EisaId ("PNP0C0B"))
  6269.                 Name (_UID, 0x02)
  6270.                 Name (_PR0, Package (0x02)
  6271.                 {
  6272.                     PFN0,
  6273.                     PFN1
  6274.                 })
  6275.                 Method (_PS0, 0, NotSerialized)
  6276.                 {
  6277.                     Store ("High Speed FAN - _PS0", Debug)
  6278.                 }
  6279.  
  6280.                 Method (_PS3, 0, NotSerialized)
  6281.                 {
  6282.                     Store ("High Speed FAN - _PS3", Debug)
  6283.                 }
  6284.             }
  6285.  
  6286.             PowerResource (PFN1, 0x00, 0x0000)
  6287.             {
  6288.                 Name (FNS2, 0x00)
  6289.                 Method (_STA, 0, NotSerialized)
  6290.                 {
  6291.                     Return (FNS2)
  6292.                 }
  6293.  
  6294.                 Method (_ON, 0, NotSerialized)
  6295.                 {
  6296.                     Store (0x01, FNS2)
  6297.                     If (\_SB.OKEC)
  6298.                     {
  6299.                         Store (0xFF, \_SB.PCI0.LPC0.EC0.FSPD)
  6300.                         Store (0x01, \_SB.PCI0.LPC0.EC0.FPR1)
  6301.                     }
  6302.  
  6303.                     If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6304.                     {
  6305.                         \_TZ.THRM._SCP (0x01)
  6306.                     }
  6307.                 }
  6308.  
  6309.                 Method (_OFF, 0, NotSerialized)
  6310.                 {
  6311.                     Store (Zero, FNS2)
  6312.                     Store (0x00, FNS2)
  6313.                     If (\_TZ.PFN0.FNS1)
  6314.                     {
  6315.                         If (\_SB.OKEC)
  6316.                         {
  6317.                             Store (0xB4, \_SB.PCI0.LPC0.EC0.FSPD)
  6318.                             Store (0x01, \_SB.PCI0.LPC0.EC0.FPR1)
  6319.                         }
  6320.                     }
  6321.                     Else
  6322.                     {
  6323.                         If (\_SB.OKEC)
  6324.                         {
  6325.                             Store (0x00, \_SB.PCI0.LPC0.EC0.FPR1)
  6326.                         }
  6327.                     }
  6328.  
  6329.                     If (Or (LEqual (\_SB.PCI0.MYOS, 0x01), LEqual (\_SB.PCI0.MYOS, 0x03)))
  6330.                     {
  6331.                         \_TZ.THRM._SCP (0x01)
  6332.                     }
  6333.                 }
  6334.             }
  6335.  
  6336.             ThermalZone (THRM)
  6337.             {
  6338.                 Name (_AL0, Package (0x01)
  6339.                 {
  6340.                     FAN1
  6341.                 })
  6342.                 Method (_AC0, 0, NotSerialized)
  6343.                 {
  6344.                     Return (TAC0)
  6345.                 }
  6346.  
  6347.                 Name (_AL1, Package (0x01)
  6348.                 {
  6349.                     FAN0
  6350.                 })
  6351.                 Method (_AC1, 0, NotSerialized)
  6352.                 {
  6353.                     Return (TAC1)
  6354.                 }
  6355.  
  6356.                 Method (_CRT, 0, NotSerialized)
  6357.                 {
  6358.                     Return (TPC)
  6359.                 }
  6360.  
  6361.                 Method (_PSV, 0, NotSerialized)
  6362.                 {
  6363.                     Return (TPAS)
  6364.                 }
  6365.  
  6366.                 Name (_TSP, 0x64)
  6367.                 Method (_TMP, 0, NotSerialized)
  6368.                 {
  6369.                     If (\_SB.OKEC)
  6370.                     {
  6371.                         Store (\_SB.PCI0.LPC0.EC0.CTMP, Local1)
  6372.                         Store ("Dothan B1 CPU temperature offset value = ", Debug)
  6373.                         Store (DOFF, Debug)
  6374.                         Store (Local1, Debug)
  6375.                         Store ("Current Temperature is ----------- ", Debug)
  6376.                         Store (Local1, Debug)
  6377.                         Add (Multiply (Local1, 0x0A), TBSE, Local1)
  6378.                     }
  6379.                     Else
  6380.                     {
  6381.                         Store (LTMP, Local1)
  6382.                     }
  6383.  
  6384.                     Return (Local1)
  6385.                 }
  6386.  
  6387.                 Name (_PSL, Package (0x01)
  6388.                 {
  6389.                     \_PR.CPU0
  6390.                 })
  6391.                 Name (_TC1, 0x02)
  6392.                 Name (_TC2, 0x03)
  6393.                 Method (_SCP, 1, NotSerialized)
  6394.                 {
  6395.                     Store (Zero, PLCY)
  6396.                     If (\_TZ.PFN0.FNS1)
  6397.                     {
  6398.                         If (LEqual (\_TZ.PFN1.FNS2, 0x00))
  6399.                         {
  6400.                             Store (0x0D22, TAC1)
  6401.                             Store (0x0D86, TAC0)
  6402.                         }
  6403.                         Else
  6404.                         {
  6405.                             Store (0x0D22, TAC1)
  6406.                             Store (0x0D40, TAC0)
  6407.                         }
  6408.                     }
  6409.                     Else
  6410.                     {
  6411.                         If (\_TZ.PFN1.FNS2)
  6412.                         {
  6413.                             Store (0x0D22, TAC1)
  6414.                             Store (0x0D40, TAC0)
  6415.                         }
  6416.                         Else
  6417.                         {
  6418.                             Store (0x0D40, TAC1)
  6419.                             Store (0x0D86, TAC0)
  6420.                         }
  6421.                     }
  6422.  
  6423.                     Store (0x0E44, TPAS)
  6424.                     Notify (\_TZ.THRM, 0x81)
  6425.                 }
  6426.             }
  6427.         }
  6428.  
  6429.         Device (SLPB)
  6430.         {
  6431.             Name (_HID, EisaId ("PNP0C0E"))
  6432.         }
  6433.  
  6434.         OperationRegion (EXCO, SystemIO, 0x72, 0x02)
  6435.         Field (EXCO, ByteAcc, NoLock, Preserve)
  6436.         {
  6437.             INDX,   8,
  6438.             DATA,   8
  6439.         }
  6440.  
  6441.         IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
  6442.         {
  6443.                     Offset (0x20),
  6444.             ACST,   1,
  6445.             ECOK,   1,
  6446.             WLES,   1,
  6447.             BTES,   1,
  6448.             W2KF,   2,
  6449.             S4WP,   1,
  6450.             FLA7,   1,
  6451.             LSFG,   1,
  6452.             LD10,   1,
  6453.             PS2M,   1,
  6454.             DISD,   3,
  6455.             OVRL,   1,
  6456.                     Offset (0x22),
  6457.             SLEE,   8,
  6458.             BPFG,   8,
  6459.             PWST,   8,
  6460.             DATS,   8,
  6461.             CM26,   8,
  6462.             CM27,   8,
  6463.             CM28,   16,
  6464.             CM2A,   16,
  6465.             F4FG,   1,
  6466.                     Offset (0x30),
  6467.             CM30,   8,
  6468.             CM31,   8,
  6469.             CM32,   8
  6470.         }
  6471.     }
  6472. }