Guest User

MacbookPro 10,1 DSDT

a guest
Jan 15th, 2025
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 174.19 KB | None | 0 0
  1. /*
  2.  * Intel ACPI Component Architecture
  3.  * AML/ASL+ Disassembler version 20230628 (64-bit version)
  4.  * Copyright (c) 2000 - 2023 Intel Corporation
  5.  *
  6.  * Disassembling to symbolic ASL+ operators
  7.  *
  8.  * Disassembly of DSDT.aml, Tue Jan 14 01:05:19 2025
  9.  *
  10.  * Original Table Header:
  11.  *     Signature        "DSDT"
  12.  *     Length           0x00004D5C (19804)
  13.  *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
  14.  *     Checksum         0x93
  15.  *     OEM ID           "APPLE "
  16.  *     OEM Table ID     "MacBookP"
  17.  *     OEM Revision     0x00100001 (1048577)
  18.  *     Compiler ID      "INTL"
  19.  *     Compiler Version 0x20100915 (537921813)
  20.  */
  21. DefinitionBlock ("", "DSDT", 1, "APPLE ", "MacBookP", 0x00100001)
  22. {
  23.     External (_SB_.PCI0.DTBP, MethodObj)    // 0 Arguments
  24.     External (_SB_.PCI0.DTLK, MethodObj)    // 0 Arguments
  25.     External (_SB_.PCI0.EHC1, UnknownObj)
  26.     External (_SB_.PCI0.EHC2, UnknownObj)
  27.     External (_SB_.PCI0.IGPU.CLID, FieldUnitObj)
  28.     External (_SB_.PCI0.P0P2.GFX0, UnknownObj)
  29.     External (_SB_.PCI0.RMCR, MethodObj)    // 0 Arguments
  30.     External (_SB_.PCI0.TGPE, MethodObj)    // 0 Arguments
  31.     External (_SB_.PCI0.XHC1._INI, MethodObj)    // 0 Arguments"PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID
  32.             Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: Compatible ID
  33.             Name (_ADR, 0x00)  // _ADR: Address
  34.             Method (^BN00, 0, NotSerialized)
  35.             {
  36.                 Return (0x00)
  37.             }
  38.  
  39.             Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
  40.             {
  41.                 Return (BN00 ())
  42.             }
  43.  
  44.             Name (_UID, 0x00)  // _UID: Unique ID
  45.             Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  46.             {
  47.                 If (PICM)
  48.                 {
  49.                     Return (AR00 ())
  50.                 }
  51.  
  52.                 Return (PR00 ())
  53.             }
  54.  
  55.             OperationRegion (HBUS, PCI_Config, 0x00, 0x0100)
  56.             Field (HBUS, DWordAcc, NoLock, Preserve)
  57.             {
  58.                 Offset (0x40),
  59.                 EPEN,   1,
  60.                     ,   11,
  61.                 EPBR,   20,
  62.                 Offset (0x48),
  63.                 MHEN,   1,
  64.                     ,   14,
  65.                 MHBR,   17,
  66.                 Offset (0x50),
  67.                 GCLK,   1,
  68.                 Offset (0x54),
  69.                 D0EN,   1,
  70.                 Offset (0x60),
  71.                 PXEN,   1,
  72.                 PXSZ,   2,
  73.                     ,   23,
  74.                 PXBR,   6,
  75.                 Offset (0x68),
  76.                 DIEN,   1,
  77.                     ,   11,
  78.                 DIBR,   20,
  79.                 Offset (0x70),
  80.                     ,   20,
  81.                 MEBR,   12,
  82.                 Offset (0x80),
  83.                     ,   4,
  84.                 PM0H,   2,
  85.                 Offset (0x81),
  86.                 PM1L,   2,
  87.                     ,   2,
  88.                 PM1H,   2,
  89.                 Offset (0x82),
  90.                 PM2L,   2,
  91.                     ,   2,
  92.                 PM2H,   2,
  93.                 Offset (0x83),
  94.                 PM3L,   2,
  95.                     ,   2,
  96.                 PM3H,   2,
  97.                 Offset (0x84),
  98.                 PM4L,   2,
  99.                     ,   2,
  100.                 PM4H,   2,
  101.                 Offset (0x85),
  102.                 PM5L,   2,
  103.                     ,   2,
  104.                 PM5H,   2,
  105.                 Offset (0x86),
  106.                 PM6L,   2,
  107.                     ,   2,
  108.                 PM6H,   2,
  109.                 Offset (0x87),
  110.                 Offset (0xA8),
  111.                     ,   20,
  112.                 TUUD,   19,
  113.                 Offset (0xBC),
  114.                     ,   20,
  115.                 TLUD,   12,
  116.                 Offset (0xC8),
  117.                     ,   7,
  118.                 HTSE,   1
  119.             }
  120.  
  121.             OperationRegion (MCHT, SystemMemory, 0xFED10000, 0x6000)
  122.             Field (MCHT, ByteAcc, NoLock, Preserve)
  123.             {
  124.                 Offset (0x5994),
  125.                 RPSL,   8,
  126.                 Offset (0x5998),
  127.                 RP0C,   8,
  128.                 RP1C,   8,
  129.                 RPNC,   8
  130.             }
  131.  
  132.             Name (BUF0, ResourceTemplate ()
  133.             {
  134.                 WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
  135.                     0x0000,             // Granularity
  136.                     0x0000,             // Range Minimum
  137.                     0x00FF,             // Range Maximum
  138.                     0x0000,             // Translation Offset
  139.                     0x0100,             // Length
  140.                     ,, )
  141.                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  142.                     0x00000000,         // Granularity
  143.                     0x00000000,         // Range Minimum
  144.                     0x00000CF7,         // Range Maximum
  145.                     0x00000000,         // Translation Offset
  146.                     0x00000CF8,         // Length
  147.                     ,, , TypeStatic, DenseTranslation)
  148.                 IO (Decode16,
  149.                     0x0CF8,             // Range Minimum
  150.                     0x0CF8,             // Range Maximum
  151.                     0x01,               // Alignment
  152.                     0x08,               // Length
  153.                     )
  154.                 DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
  155.                     0x00000000,         // Granularity
  156.                     0x00000D00,         // Range Minimum
  157.                     0x0000FFFF,         // Range Maximum
  158.                     0x00000000,         // Translation Offset
  159.                     0x0000F300,         // Length
  160.                     ,, , TypeStatic, DenseTranslation)
  161.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  162.                     0x00000000,         // Granularity
  163.                     0x000A0000,         // Range Minimum
  164.                     0x000BFFFF,         // Range Maximum
  165.                     0x00000000,         // Translation Offset
  166.                     0x00020000,         // Length
  167.                     ,, , AddressRangeMemory, TypeStatic)
  168.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  169.                     0x00000000,         // Granularity
  170.                     0x000C0000,         // Range Minimum
  171.                     0x000C3FFF,         // Range Maximum
  172.                     0x00000000,         // Translation Offset
  173.                     0x00004000,         // Length
  174.                     ,, _Y00, AddressRangeMemory, TypeStatic)
  175.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  176.                     0x00000000,         // Granularity
  177.                     0x000C4000,         // Range Minimum
  178.                     0x000C7FFF,         // Range Maximum
  179.                     0x00000000,         // Translation Offset
  180.                     0x00004000,         // Length
  181.                     ,, _Y01, AddressRangeMemory, TypeStatic)
  182.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  183.                     0x00000000,         // Granularity
  184.                     0x000C8000,         // Range Minimum
  185.                     0x000CBFFF,         // Range Maximum
  186.                     0x00000000,         // Translation Offset
  187.                     0x00004000,         // Length
  188.                     ,, _Y02, AddressRangeMemory, TypeStatic)
  189.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  190.                     0x00000000,         // Granularity
  191.                     0x000CC000,         // Range Minimum
  192.                     0x000CFFFF,         // Range Maximum
  193.                     0x00000000,         // Translation Offset
  194.                     0x00004000,         // Length
  195.                     ,, _Y03, AddressRangeMemory, TypeStatic)
  196.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  197.                     0x00000000,         // Granularity
  198.                     0x000D0000,         // Range Minimum
  199.                     0x000D3FFF,         // Range Maximum
  200.                     0x00000000,         // Translation Offset
  201.                     0x00004000,         // Length
  202.                     ,, _Y04, AddressRangeMemory, TypeStatic)
  203.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  204.                     0x00000000,         // Granularity
  205.                     0x000D4000,         // Range Minimum
  206.                     0x000D7FFF,         // Range Maximum
  207.                     0x00000000,         // Translation Offset
  208.                     0x00004000,         // Length
  209.                     ,, _Y05, AddressRangeMemory, TypeStatic)
  210.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  211.                     0x00000000,         // Granularity
  212.                     0x000D8000,         // Range Minimum
  213.                     0x000DBFFF,         // Range Maximum
  214.                     0x00000000,         // Translation Offset
  215.                     0x00004000,         // Length
  216.                     ,, _Y06, AddressRangeMemory, TypeStatic)
  217.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  218.                     0x00000000,         // Granularity
  219.                     0x000DC000,         // Range Minimum
  220.                     0x000DFFFF,         // Range Maximum
  221.                     0x00000000,         // Translation Offset
  222.                     0x00004000,         // Length
  223.                     ,, _Y07, AddressRangeMemory, TypeStatic)
  224.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  225.                     0x00000000,         // Granularity
  226.                     0x000E0000,         // Range Minimum
  227.                     0x000E3FFF,         // Range Maximum
  228.                     0x00000000,         // Translation Offset
  229.                     0x00004000,         // Length
  230.                     ,, _Y08, AddressRangeMemory, TypeStatic)
  231.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  232.                     0x00000000,         // Granularity
  233.                     0x000E4000,         // Range Minimum
  234.                     0x000E7FFF,         // Range Maximum
  235.                     0x00000000,         // Translation Offset
  236.                     0x00004000,         // Length
  237.                     ,, _Y09, AddressRangeMemory, TypeStatic)
  238.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  239.                     0x00000000,         // Granularity
  240.                     0x000E8000,         // Range Minimum
  241.                     0x000EBFFF,         // Range Maximum
  242.                     0x00000000,         // Translation Offset
  243.                     0x00004000,         // Length
  244.                     ,, _Y0A, AddressRangeMemory, TypeStatic)
  245.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  246.                     0x00000000,         // Granularity
  247.                     0x000EC000,         // Range Minimum
  248.                     0x000EFFFF,         // Range Maximum
  249.                     0x00000000,         // Translation Offset
  250.                     0x00004000,         // Length
  251.                     ,, _Y0B, AddressRangeMemory, TypeStatic)
  252.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  253.                     0x00000000,         // Granularity
  254.                     0x000F0000,         // Range Minimum
  255.                     0x000FFFFF,         // Range Maximum
  256.                     0x00000000,         // Translation Offset
  257.                     0x00010000,         // Length
  258.                     ,, _Y0C, AddressRangeMemory, TypeStatic)
  259.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  260.                     0x00000000,         // Granularity
  261.                     0x00000000,         // Range Minimum
  262.                     0xFEAFFFFF,         // Range Maximum
  263.                     0x00000000,         // Translation Offset
  264.                     0xFEB00000,         // Length
  265.                     ,, _Y0D, AddressRangeMemory, TypeStatic)
  266.                 DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
  267.                     0x00000000,         // Granularity
  268.                     0xFED40000,         // Range Minimum
  269.                     0xFED44FFF,         // Range Maximum
  270.                     0x00000000,         // Translation Offset
  271.                     0x00005000,         // Length
  272.                     ,, , AddressRangeMemory, TypeStatic)
  273.             })
  274.             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  275.             {
  276.                 If (PM1L)
  277.                 {
  278.                     CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)  // _LEN: Length
  279.                     C0LN = Zero
  280.                 }
  281.  
  282.                 If ((PM1L == 0x01))
  283.                 {
  284.                     CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)  // _RW_: Read-Write Status
  285.                     C0RW = Zero
  286.                 }
  287.  
  288.                 If (PM1H)
  289.                 {
  290.                     CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)  // _LEN: Length
  291.                     C4LN = Zero
  292.                 }
  293.  
  294.                 If ((PM1H == 0x01))
  295.                 {
  296.                     CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)  // _RW_: Read-Write Status
  297.                     C4RW = Zero
  298.                 }
  299.  
  300.                 If (PM2L)
  301.                 {
  302.                     CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)  // _LEN: Length
  303.                     C8LN = Zero
  304.                 }
  305.  
  306.                 If ((PM2L == 0x01))
  307.                 {
  308.                     CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)  // _RW_: Read-Write Status
  309.                     C8RW = Zero
  310.                 }
  311.  
  312.                 If (PM2H)
  313.                 {
  314.                     CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)  // _LEN: Length
  315.                     CCLN = Zero
  316.                 }
  317.  
  318.                 If ((PM2H == 0x01))
  319.                 {
  320.                     CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)  // _RW_: Read-Write Status
  321.                     CCRW = Zero
  322.                 }
  323.  
  324.                 If (PM3L)
  325.                 {
  326.                     CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)  // _LEN: Length
  327.                     D0LN = Zero
  328.                 }
  329.  
  330.                 If ((PM3L == 0x01))
  331.                 {
  332.                     CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)  // _RW_: Read-Write Status
  333.                     D0RW = Zero
  334.                 }
  335.  
  336.                 If (PM3H)
  337.                 {
  338.                     CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)  // _LEN: Length
  339.                     D4LN = Zero
  340.                 }
  341.  
  342.                 If ((PM3H == 0x01))
  343.                 {
  344.                     CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)  // _RW_: Read-Write Status
  345.                     D4RW = Zero
  346.                 }
  347.  
  348.                 If (PM4L)
  349.                 {
  350.                     CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)  // _LEN: Length
  351.                     D8LN = Zero
  352.                 }
  353.  
  354.                 If ((PM4L == 0x01))
  355.                 {
  356.                     CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)  // _RW_: Read-Write Status
  357.                     D8RW = Zero
  358.                 }
  359.  
  360.                 If (PM4H)
  361.                 {
  362.                     CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)  // _LEN: Length
  363.                     DCLN = Zero
  364.                 }
  365.  
  366.                 If ((PM4H == 0x01))
  367.                 {
  368.                     CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)  // _RW_: Read-Write Status
  369.                     DCRW = Zero
  370.                 }
  371.  
  372.                 If (PM5L)
  373.                 {
  374.                     CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)  // _LEN: Length
  375.                     E0LN = Zero
  376.                 }
  377.  
  378.                 If ((PM5L == 0x01))
  379.                 {
  380.                     CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)  // _RW_: Read-Write Status
  381.                     E0RW = Zero
  382.                 }
  383.  
  384.                 If (PM5H)
  385.                 {
  386.                     CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)  // _LEN: Length
  387.                     E4LN = Zero
  388.                 }
  389.  
  390.                 If ((PM5H == 0x01))
  391.                 {
  392.                     CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)  // _RW_: Read-Write Status
  393.                     E4RW = Zero
  394.                 }
  395.  
  396.                 If (PM6L)
  397.                 {
  398.                     CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)  // _LEN: Length
  399.                     E8LN = Zero
  400.                 }
  401.  
  402.                 If ((PM6L == 0x01))
  403.                 {
  404.                     CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)  // _RW_: Read-Write Status
  405.                     E8RW = Zero
  406.                 }
  407.  
  408.                 If (PM6H)
  409.                 {
  410.                     CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)  // _LEN: Length
  411.                     ECLN = Zero
  412.                 }
  413.  
  414.                 If ((PM6H == 0x01))
  415.                 {
  416.                     CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)  // _RW_: Read-Write Status
  417.                     ECRW = Zero
  418.                 }
  419.  
  420.                 If (PM0H)
  421.                 {
  422.                     CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)  // _LEN: Length
  423.                     F0LN = Zero
  424.                 }
  425.  
  426.                 If ((PM0H == 0x01))
  427.                 {
  428.                     CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)  // _RW_: Read-Write Status
  429.                     F0RW = Zero
  430.                 }
  431.  
  432.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)  // _MIN: Minimum Base Address
  433.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)  // _MAX: Maximum Base Address
  434.                 CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)  // _LEN: Length
  435.                 M1MN = (TLUD << 0x14)
  436.                 M1LN = ((M1MX - M1MN) + 0x01)
  437.                 Return (BUF0) /* \_SB_.PCI0.BUF0 */
  438.             }
  439.  
  440.             Name (GUID, ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd766") /* PCI Host Bridge Device */)
  441.             Name (SUPP, 0x00)
  442.             Name (CTRL, 0x00)
  443.             Method (_OSC, 4, Serialized)  // _OSC: Operating System Capabilities
  444.             {
  445.                 Local0 = Arg3
  446.                 CreateDWordField (Local0, 0x00, CDW1)
  447.                 CreateDWordField (Local0, 0x04, CDW2)
  448.                 CreateDWordField (Local0, 0x08, CDW3)
  449.                 SUPP = CDW2 /* \_SB_.PCI0._OSC.CDW2 */
  450.                 CTRL = CDW3 /* \_SB_.PCI0._OSC.CDW3 */
  451.                 If ((0x01 == OSDW ()))
  452.                 {
  453.                     If (((Arg0 == GUID) && NEXP))
  454.                     {
  455.                         If (~(CDW1 & 0x01))
  456.                         {
  457.                             If ((CTRL & 0x02))
  458.                             {
  459.                                 NHPG ()
  460.                             }
  461.  
  462.                             If ((CTRL & 0x04))
  463.                             {
  464.                                 NPME ()
  465.                             }
  466.                         }
  467.  
  468.                         If ((Arg1 != One))
  469.                         {
  470.                             CDW1 |= 0x08
  471.                         }
  472.  
  473.                         If ((CDW3 != CTRL))
  474.                         {
  475.                             CDW1 |= 0x10
  476.                         }
  477.  
  478.                         CDW3 = CTRL /* \_SB_.PCI0.CTRL */
  479.                         OSCC = CTRL /* \_SB_.PCI0.CTRL */
  480.                         Return (Local0)
  481.                     }
  482.                     Else
  483.                     {
  484.                         CDW1 |= 0x04
  485.                         Return (Local0)
  486.                     }
  487.                 }
  488.                 Else
  489.                 {
  490.                     If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */))
  491.                     {
  492.                         \_SB.PCI0.XHC1.PASS = 0x01
  493.                         \_SB.PCI0.XHC1.PAHC = 0x01
  494.                         \_SB.PCI0.XHC1.PBSS = 0x01
  495.                         \_SB.PCI0.XHC1.PBHC = 0x01
  496.                         GI60 = 0x01
  497.                         \_SB.PCI0.XHC1.PCSS = 0x01
  498.                         \_SB.PCI0.XHC1.PCHC = 0x01
  499.                         \_SB.PCI0.XHC1.PDSS = 0x01
  500.                         \_SB.PCI0.XHC1.PDHC = 0x01
  501.                         GI74 = 0x01
  502.                     }
  503.  
  504.                     If ((Arg0 == GUID))
  505.                     {
  506.                         If ((\_SB.PCI0.DTBP () == 0x01))
  507.                         {
  508.                             CDW3 &= 0xFFFFFFFB
  509.                         }
  510.                     }
  511.  
  512.                     Return (Local0)
  513.                 }
  514.             }
  515.  
  516.             Scope (\_SB.PCI0)
  517.             {
  518.                 Method (AR00, 0, NotSerialized)
  519.                 {
  520.                     Return (\_SB.AR00)
  521.                 }
  522.  
  523.                 Method (PR00, 0, NotSerialized)
  524.                 {
  525.                     Return (\_SB.PR00)
  526.                 }
  527.  
  528.                 Method (AR01, 0, NotSerialized)
  529.                 {
  530.                     Return (\_SB.AR01)
  531.                 }
  532.  
  533.                 Method (PR01, 0, NotSerialized)
  534.                 {
  535.                     Return (\_SB.PR01)
  536.                 }
  537.  
  538.                 Method (AR02, 0, NotSerialized)
  539.                 {
  540.                     Return (\_SB.AR02)
  541.                 }
  542.  
  543.                 Method (PR02, 0, NotSerialized)
  544.                 {
  545.                     Return (\_SB.PR02)
  546.                 }
  547.  
  548.                 Method (AR04, 0, NotSerialized)
  549.                 {
  550.                     Return (\_SB.AR04)
  551.                 }
  552.  
  553.                 Method (PR04, 0, NotSerialized)
  554.                 {
  555.                     Return (\_SB.PR04)
  556.                 }
  557.  
  558.                 Method (AR05, 0, NotSerialized)
  559.                 {
  560.                     Return (\_SB.AR05)
  561.                 }
  562.  
  563.                 Method (PR05, 0, NotSerialized)
  564.                 {
  565.                     Return (\_SB.PR05)
  566.                 }
  567.  
  568.                 Method (AR06, 0, NotSerialized)
  569.                 {
  570.                     Return (\_SB.AR06)
  571.                 }
  572.  
  573.                 Method (PR06, 0, NotSerialized)
  574.                 {
  575.                     Return (\_SB.PR06)
  576.                 }
  577.  
  578.                 Method (AR07, 0, NotSerialized)
  579.                 {
  580.                     Return (\_SB.AR07)
  581.                 }
  582.  
  583.                 Method (PR07, 0, NotSerialized)
  584.                 {
  585.                     Return (\_SB.PR07)
  586.                 }
  587.  
  588.                 Method (AR08, 0, NotSerialized)
  589.                 {
  590.                     Return (\_SB.AR08)
  591.                 }
  592.  
  593.                 Method (PR08, 0, NotSerialized)
  594.                 {
  595.                     Return (\_SB.PR08)
  596.                 }
  597.  
  598.                 Method (AR09, 0, NotSerialized)
  599.                 {
  600.                     Return (\_SB.AR09)
  601.                 }
  602.  
  603.                 Method (PR09, 0, NotSerialized)
  604.                 {
  605.                     Return (\_SB.PR09)
  606.                 }
  607.  
  608.                 Method (AR0A, 0, NotSerialized)
  609.                 {
  610.                     Return (\_SB.AR0A)
  611.                 }
  612.  
  613.                 Method (PR0A, 0, NotSerialized)
  614.                 {
  615.                     Return (\_SB.PR0A)
  616.                 }
  617.  
  618.                 Method (AR0B, 0, NotSerialized)
  619.                 {
  620.                     Return (\_SB.AR0B)
  621.                 }
  622.  
  623.                 Method (PR0B, 0, NotSerialized)
  624.                 {
  625.                     Return (\_SB.PR0B)
  626.                 }
  627.             }
  628.  
  629.             Device (MCHC)
  630.             {
  631.                 Name (_ADR, 0x00)  // _ADR: Address
  632.             }
  633.  
  634.             Device (P0P2)
  635.             {
  636.                 Name (_ADR, 0x00010000)  // _ADR: Address
  637.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  638.                 {
  639.                     0x09,
  640.                     0x03
  641.                 })
  642.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  643.                 {
  644.                     If (PICM)
  645.                     {
  646.                         Return (AR02 ())
  647.                     }
  648.  
  649.                     Return (PR02 ())
  650.                 }
  651.             }
  652.  
  653.             Device (PEG1)
  654.             {
  655.                 Name (_ADR, 0x00010001)  // _ADR: Address
  656.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  657.                 {
  658.                     0x09,
  659.                     0x03
  660.                 })
  661.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  662.                 {
  663.                     If (PICM)
  664.                     {
  665.                         Return (AR0A ())
  666.                     }
  667.  
  668.                     Return (PR0A ())
  669.                 }
  670.             }
  671.  
  672.             Device (PEG2)
  673.             {
  674.                 Name (_ADR, 0x00010002)  // _ADR: Address
  675.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  676.                 {
  677.                     0x09,
  678.                     0x04
  679.                 })
  680.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  681.                 {
  682.                     If (PICM)
  683.                     {
  684.                         Return (AR0B ())
  685.                     }
  686.  
  687.                     Return (PR0B ())
  688.                 }
  689.  
  690.                 Device (SATA)
  691.                 {
  692.                     Name (_ADR, 0x00)  // _ADR: Address
  693.                 }
  694.             }
  695.  
  696.             Device (IGPU)
  697.             {
  698.                 Name (_ADR, 0x00020000)  // _ADR: Address
  699.             }
  700.  
  701.             Device (SATA)
  702.             {
  703.                 Name (_ADR, 0x001F0002)  // _ADR: Address
  704.             }
  705.  
  706.             Device (SBUS)
  707.             {
  708.                 Name (_ADR, 0x001F0003)  // _ADR: Address
  709.                 OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
  710.                 Field (SMBP, DWordAcc, NoLock, Preserve)
  711.                 {
  712.                         ,   2,
  713.                     I2CE,   1
  714.                 }
  715.  
  716.                 OperationRegion (SMPB, PCI_Config, 0x20, 0x04)
  717.                 Field (SMPB, DWordAcc, NoLock, Preserve)
  718.                 {
  719.                         ,   5,
  720.                     SBAR,   11
  721.                 }
  722.  
  723.                 OperationRegion (SMBI, SystemIO, (SBAR << 0x05), 0x10)
  724.                 Field (SMBI, ByteAcc, NoLock, Preserve)
  725.                 {
  726.                     HSTS,   8,
  727.                     Offset (0x02),
  728.                     HCON,   8,
  729.                     HCOM,   8,
  730.                     TXSA,   8,
  731.                     DAT0,   8,
  732.                     DAT1,   8,
  733.                     HBDR,   8,
  734.                     PECR,   8,
  735.                     RXSA,   8,
  736.                     SDAT,   16
  737.                 }
  738.  
  739.                 Method (SSXB, 2, Serialized)
  740.                 {
  741.                     If (STRT ())
  742.                     {
  743.                         Return (0x00)
  744.                     }
  745.  
  746.                     I2CE = 0x00
  747.                     HSTS = 0xBF
  748.                     TXSA = Arg0
  749.                     HCOM = Arg1
  750.                     HCON = 0x48
  751.                     If (COMP ())
  752.                     {
  753.                         HSTS |= 0xFF
  754.                         Return (0x01)
  755.                     }
  756.  
  757.                     Return (0x00)
  758.                 }
  759.  
  760.                 Method (SRXB, 1, Serialized)
  761.                 {
  762.                     If (STRT ())
  763.                     {
  764.                         Return (0xFFFF)
  765.                     }
  766.  
  767.                     I2CE = 0x00
  768.                     HSTS = 0xBF
  769.                     TXSA = (Arg0 | 0x01)
  770.                     HCON = 0x44
  771.                     If (COMP ())
  772.                     {
  773.                         HSTS |= 0xFF
  774.                         Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
  775.                     }
  776.  
  777.                     Return (0xFFFF)
  778.                 }
  779.  
  780.                 Method (SWRB, 3, Serialized)
  781.                 {
  782.                     If (STRT ())
  783.                     {
  784.                         Return (0x00)
  785.                     }
  786.  
  787.                     I2CE = 0x00
  788.                     HSTS = 0xBF
  789.                     TXSA = Arg0
  790.                     HCOM = Arg1
  791.                     DAT0 = Arg2
  792.                     HCON = 0x48
  793.                     If (COMP ())
  794.                     {
  795.                         HSTS |= 0xFF
  796.                         Return (0x01)
  797.                     }
  798.  
  799.                     Return (0x00)
  800.                 }
  801.  
  802.                 Method (SRDB, 2, Serialized)
  803.                 {
  804.                     If (STRT ())
  805.                     {
  806.                         Return (0xFFFF)
  807.                     }
  808.  
  809.                     I2CE = 0x00
  810.                     HSTS = 0xBF
  811.                     TXSA = (Arg0 | 0x01)
  812.                     HCOM = Arg1
  813.                     HCON = 0x48
  814.                     If (COMP ())
  815.                     {
  816.                         HSTS |= 0xFF
  817.                         Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
  818.                     }
  819.  
  820.                     Return (0xFFFF)
  821.                 }
  822.  
  823.                 Method (SWRW, 3, Serialized)
  824.                 {
  825.                     If (STRT ())
  826.                     {
  827.                         Return (0x00)
  828.                     }
  829.  
  830.                     I2CE = 0x00
  831.                     HSTS = 0xBF
  832.                     TXSA = Arg0
  833.                     HCOM = Arg1
  834.                     DAT1 = (Arg2 & 0xFF)
  835.                     DAT0 = ((Arg2 >> 0x08) & 0xFF)
  836.                     HCON = 0x4C
  837.                     If (COMP ())
  838.                     {
  839.                         HSTS |= 0xFF
  840.                         Return (0x01)
  841.                     }
  842.  
  843.                     Return (0x00)
  844.                 }
  845.  
  846.                 Method (SRDW, 2, Serialized)
  847.                 {
  848.                     If (STRT ())
  849.                     {
  850.                         Return (0xFFFF)
  851.                     }
  852.  
  853.                     I2CE = 0x00
  854.                     HSTS = 0xBF
  855.                     TXSA = (Arg0 | 0x01)
  856.                     HCOM = Arg1
  857.                     HCON = 0x4C
  858.                     If (COMP ())
  859.                     {
  860.                         HSTS |= 0xFF
  861.                         Return (((DAT0 << 0x08) | DAT1))
  862.                     }
  863.  
  864.                     Return (0xFFFFFFFF)
  865.                 }
  866.  
  867.                 Method (SBLW, 4, Serialized)
  868.                 {
  869.                     If (STRT ())
  870.                     {
  871.                         Return (0x00)
  872.                     }
  873.  
  874.                     I2CE = Arg3
  875.                     HSTS = 0xBF
  876.                     TXSA = Arg0
  877.                     HCOM = Arg1
  878.                     DAT0 = SizeOf (Arg2)
  879.                     Local1 = 0x00
  880.                     HBDR = DerefOf (Arg2 [0x00])
  881.                     HCON = 0x54
  882.                     While ((SizeOf (Arg2) > Local1))
  883.                     {
  884.                         Local0 = 0x4E20
  885.                         While ((!(HSTS & 0x80) && Local0))
  886.                         {
  887.                             Local0--
  888.                         }
  889.  
  890.                         If (!Local0)
  891.                         {
  892.                             KILL ()
  893.                             Return (0x00)
  894.                         }
  895.  
  896.                         Local1++
  897.                         If ((SizeOf (Arg2) > Local1))
  898.                         {
  899.                             HBDR = DerefOf (Arg2 [Local1])
  900.                             HSTS = 0x80
  901.                         }
  902.                     }
  903.  
  904.                     HSTS = 0x80
  905.                     If (COMP ())
  906.                     {
  907.                         HSTS |= 0xFF
  908.                         Return (0x01)
  909.                     }
  910.  
  911.                     Return (0x00)
  912.                 }
  913.  
  914.                 Method (SBLR, 3, Serialized)
  915.                 {
  916.                     Name (TBUF, Buffer (0x0100){})
  917.                     If (STRT ())
  918.                     {
  919.                         Return (0x00)
  920.                     }
  921.  
  922.                     I2CE = Arg2
  923.                     HSTS = 0xBF
  924.                     TXSA = (Arg0 | 0x01)
  925.                     HCOM = Arg1
  926.                     HCON = 0x54
  927.                     Local0 = 0x0FA0
  928.                     While ((!(HSTS & 0x80) && Local0))
  929.                     {
  930.                         Local0--
  931.                         Stall (0x32)
  932.                     }
  933.  
  934.                     If (!Local0)
  935.                     {
  936.                         KILL ()
  937.                         Return (0x00)
  938.                     }
  939.  
  940.                     TBUF [0x00] = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
  941.                     HSTS = 0x80
  942.                     Local1 = 0x01
  943.                     While ((Local1 < DerefOf (TBUF [0x00])))
  944.                     {
  945.                         Local0 = 0x0FA0
  946.                         While ((!(HSTS & 0x80) && Local0))
  947.                         {
  948.                             Local0--
  949.                             Stall (0x32)
  950.                         }
  951.  
  952.                         If (!Local0)
  953.                         {
  954.                             KILL ()
  955.                             Return (0x00)
  956.                         }
  957.  
  958.                         TBUF [Local1] = HBDR /* \_SB_.PCI0.SBUS.HBDR */
  959.                         HSTS = 0x80
  960.                         Local1++
  961.                     }
  962.  
  963.                     If (COMP ())
  964.                     {
  965.                         HSTS |= 0xFF
  966.                         Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
  967.                     }
  968.  
  969.                     Return (0x00)
  970.                 }
  971.  
  972.                 Method (STRT, 0, Serialized)
  973.                 {
  974.                     Local0 = 0xC8
  975.                     While (Local0)
  976.                     {
  977.                         If ((HSTS & 0x40))
  978.                         {
  979.                             Local0--
  980.                             Sleep (0x01)
  981.                             If ((Local0 == 0x00))
  982.                             {
  983.                                 Return (0x01)
  984.                             }
  985.                         }
  986.                         Else
  987.                         {
  988.                             Local0 = 0x00
  989.                         }
  990.                     }
  991.  
  992.                     Local0 = 0x0FA0
  993.                     While (Local0)
  994.                     {
  995.                         If ((HSTS & 0x01))
  996.                         {
  997.                             Local0--
  998.                             Stall (0x32)
  999.                             If ((Local0 == 0x00))
  1000.                             {
  1001.                                 KILL ()
  1002.                             }
  1003.                         }
  1004.                         Else
  1005.                         {
  1006.                             Return (0x00)
  1007.                         }
  1008.                     }
  1009.  
  1010.                     Return (0x01)
  1011.                 }
  1012.  
  1013.                 Method (COMP, 0, Serialized)
  1014.                 {
  1015.                     Local0 = 0x0FA0
  1016.                     While (Local0)
  1017.                     {
  1018.                         If ((HSTS & 0x02))
  1019.                         {
  1020.                             Return (0x01)
  1021.                         }
  1022.                         Else
  1023.                         {
  1024.                             Local0--
  1025.                             Stall (0x32)
  1026.                             If ((Local0 == 0x00))
  1027.                             {
  1028.                                 KILL ()
  1029.                             }
  1030.                         }
  1031.                     }
  1032.  
  1033.                     Return (0x00)
  1034.                 }
  1035.  
  1036.                 Method (KILL, 0, Serialized)
  1037.                 {
  1038.                     HCON |= 0x02
  1039.                     HSTS |= 0xFF
  1040.                 }
  1041.  
  1042.                 Device (BUS0)
  1043.                 {
  1044.                     Name (_CID, "smbus")  // _CID: Compatible ID
  1045.                     Name (_ADR, 0x00)  // _ADR: Address
  1046.                     Device (MKY0)
  1047.                     {
  1048.                         Name (_ADR, 0x00)  // _ADR: Address
  1049.                         Name (_CID, "mikey")  // _CID: Compatible ID
  1050.                         Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
  1051.                         {
  1052.                             Local0 = Package (0x0A)
  1053.                                 {
  1054.                                     "refnum",
  1055.                                     0x00,
  1056.                                     "address",
  1057.                                     0x39,
  1058.                                     "device-id",
  1059.                                     0x0CD2,
  1060.                                     "ramp-control-address",
  1061.                                     0x3B,
  1062.                                     "hdet",
  1063.                                     0x01
  1064.                                 }
  1065.                             DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  1066.                             Return (Local0)
  1067.                         }
  1068.  
  1069.                         Method (H1EN, 1, Serialized)
  1070.                         {
  1071.                             If ((Arg0 <= 0x01))
  1072.                             {
  1073.                                 If ((Arg0 == 0x01))
  1074.                                 {
  1075.                                     GP16 |= 0x01
  1076.                                 }
  1077.                                 Else
  1078.                                 {
  1079.                                     GP16 &= 0x00
  1080.                                 }
  1081.                             }
  1082.                         }
  1083.  
  1084.                         Method (H1IL, 0, Serialized)
  1085.                         {
  1086.                             Local0 = GP05 /* \GP05 */
  1087.                             Return (Local0)
  1088.                         }
  1089.  
  1090.                         Method (H1IP, 1, Serialized)
  1091.                         {
  1092.                             Local0 = Arg0
  1093.                             If ((Arg0 <= 0x01))
  1094.                             {
  1095.                                 Arg0 = ~Arg0
  1096.                                 GI05 = Arg0
  1097.                             }
  1098.                         }
  1099.  
  1100.                         Name (H1IN, 0x15)
  1101.                         Scope (\_GPE)
  1102.                         {
  1103.                             Method (_L15, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
  1104.                             {
  1105.                                 If (OSDW ())
  1106.                                 {
  1107.                                     Notify (\_SB.PCI0.SBUS.BUS0.MKY0, 0x80) // Status Change
  1108.                                 }
  1109.                                 Else
  1110.                                 {
  1111.                                     GI05 = 0x00
  1112.                                     GU05 = 0x00
  1113.                                     Notify (\_SB.PWRB, 0x02) // Device Wake
  1114.                                 }
  1115.                             }
  1116.                         }
  1117.  
  1118.                         Method (P1IL, 0, Serialized)
  1119.                         {
  1120.                             Local0 = GP03 /* \GP03 */
  1121.                             Return (Local0)
  1122.                         }
  1123.  
  1124.                         Method (P1IP, 1, Serialized)
  1125.                         {
  1126.                             If ((Arg0 <= 0x01))
  1127.                             {
  1128.                                 Arg0 = ~Arg0
  1129.                                 GI03 = Arg0
  1130.                             }
  1131.                         }
  1132.  
  1133.                         Name (P1IN, 0x13)
  1134.                         Scope (\_GPE)
  1135.                         {
  1136.                             Method (_L13, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
  1137.                             {
  1138.                                 GI03 ^= 0x01
  1139.                                 If (OSDW ())
  1140.                                 {
  1141.                                     Notify (\_SB.PCI0.SBUS.BUS0.MKY0, 0x81) // Information Change
  1142.                                 }
  1143.                                 Else
  1144.                                 {
  1145.                                     Notify (\_SB.PWRB, 0x02) // Device Wake
  1146.                                 }
  1147.                             }
  1148.                         }
  1149.                     }
  1150.                 }
  1151.  
  1152.                 Device (BUS1)
  1153.                 {
  1154.                     Name (_CID, "smbus")  // _CID: Compatible ID
  1155.                     Name (_ADR, 0x01)  // _ADR: Address
  1156.                 }
  1157.             }
  1158.  
  1159.             Device (LPCB)
  1160.             {
  1161.                 Name (_ADR, 0x001F0000)  // _ADR: Address
  1162.                 Scope (\_SB)
  1163.                 {
  1164.                     OperationRegion (\_SB.PCI0.LPCB.LPC1, PCI_Config, 0x40, 0xC0)
  1165.                     Field (\_SB.PCI0.LPCB.LPC1, AnyAcc, NoLock, Preserve)
  1166.                     {
  1167.                         Offset (0x20),
  1168.                         PARC,   8,
  1169.                         PBRC,   8,
  1170.                         PCRC,   8,
  1171.                         PDRC,   8,
  1172.                         Offset (0x28),
  1173.                         PERC,   8,
  1174.                         PFRC,   8,
  1175.                         PGRC,   8,
  1176.                         PHRC,   8
  1177.                     }
  1178.  
  1179.                     Device (LNKA)
  1180.                     {
  1181.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1182.                         Name (_UID, 0x01)  // _UID: Unique ID
  1183.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1184.                         {
  1185.                             PARC |= 0x80
  1186.                         }
  1187.  
  1188.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1189.                         {
  1190.                             IRQ (Level, ActiveLow, Shared, )
  1191.                                 {1,3,4,5,6,7,10,12,14,15}
  1192.                         })
  1193.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1194.                         {
  1195.                             Name (RTLA, ResourceTemplate ()
  1196.                             {
  1197.                                 IRQ (Level, ActiveLow, Shared, _Y0E)
  1198.                                     {}
  1199.                             })
  1200.                             CreateWordField (RTLA, \_SB.LNKA._CRS._Y0E._INT, IRQ0)  // _INT: Interrupts
  1201.                             IRQ0 = Zero
  1202.                             IRQ0 = (0x01 << (PARC & 0x0F))
  1203.                             Return (RTLA) /* \_SB_.LNKA._CRS.RTLA */
  1204.                         }
  1205.  
  1206.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1207.                         {
  1208.                             CreateWordField (Arg0, 0x01, IRQ0)
  1209.                             FindSetRightBit (IRQ0, Local0)
  1210.                             Local0--
  1211.                             PARC = Local0
  1212.                         }
  1213.  
  1214.                         Method (_STA, 0, Serialized)  // _STA: Status
  1215.                         {
  1216.                             If ((PARC & 0x80))
  1217.                             {
  1218.                                 Return (0x09)
  1219.                             }
  1220.                             Else
  1221.                             {
  1222.                                 Return (0x0B)
  1223.                             }
  1224.                         }
  1225.                     }
  1226.  
  1227.                     Device (LNKB)
  1228.                     {
  1229.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1230.                         Name (_UID, 0x02)  // _UID: Unique ID
  1231.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1232.                         {
  1233.                             PBRC |= 0x80
  1234.                         }
  1235.  
  1236.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1237.                         {
  1238.                             IRQ (Level, ActiveLow, Shared, )
  1239.                                 {1,3,4,5,6,7,11,12,14,15}
  1240.                         })
  1241.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1242.                         {
  1243.                             Name (RTLB, ResourceTemplate ()
  1244.                             {
  1245.                                 IRQ (Level, ActiveLow, Shared, _Y0F)
  1246.                                     {}
  1247.                             })
  1248.                             CreateWordField (RTLB, \_SB.LNKB._CRS._Y0F._INT, IRQ0)  // _INT: Interrupts
  1249.                             IRQ0 = Zero
  1250.                             IRQ0 = (0x01 << (PBRC & 0x0F))
  1251.                             Return (RTLB) /* \_SB_.LNKB._CRS.RTLB */
  1252.                         }
  1253.  
  1254.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1255.                         {
  1256.                             CreateWordField (Arg0, 0x01, IRQ0)
  1257.                             FindSetRightBit (IRQ0, Local0)
  1258.                             Local0--
  1259.                             PBRC = Local0
  1260.                         }
  1261.  
  1262.                         Method (_STA, 0, Serialized)  // _STA: Status
  1263.                         {
  1264.                             If ((PBRC & 0x80))
  1265.                             {
  1266.                                 Return (0x09)
  1267.                             }
  1268.                             Else
  1269.                             {
  1270.                                 Return (0x0B)
  1271.                             }
  1272.                         }
  1273.                     }
  1274.  
  1275.                     Device (LNKC)
  1276.                     {
  1277.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1278.                         Name (_UID, 0x03)  // _UID: Unique ID
  1279.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1280.                         {
  1281.                             PCRC |= 0x80
  1282.                         }
  1283.  
  1284.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1285.                         {
  1286.                             IRQ (Level, ActiveLow, Shared, )
  1287.                                 {1,3,4,5,6,7,10,12,14,15}
  1288.                         })
  1289.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1290.                         {
  1291.                             Name (RTLC, ResourceTemplate ()
  1292.                             {
  1293.                                 IRQ (Level, ActiveLow, Shared, _Y10)
  1294.                                     {}
  1295.                             })
  1296.                             CreateWordField (RTLC, \_SB.LNKC._CRS._Y10._INT, IRQ0)  // _INT: Interrupts
  1297.                             IRQ0 = Zero
  1298.                             IRQ0 = (0x01 << (PCRC & 0x0F))
  1299.                             Return (RTLC) /* \_SB_.LNKC._CRS.RTLC */
  1300.                         }
  1301.  
  1302.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1303.                         {
  1304.                             CreateWordField (Arg0, 0x01, IRQ0)
  1305.                             FindSetRightBit (IRQ0, Local0)
  1306.                             Local0--
  1307.                             PCRC = Local0
  1308.                         }
  1309.  
  1310.                         Method (_STA, 0, Serialized)  // _STA: Status
  1311.                         {
  1312.                             If ((PCRC & 0x80))
  1313.                             {
  1314.                                 Return (0x09)
  1315.                             }
  1316.                             Else
  1317.                             {
  1318.                                 Return (0x0B)
  1319.                             }
  1320.                         }
  1321.                     }
  1322.  
  1323.                     Device (LNKD)
  1324.                     {
  1325.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1326.                         Name (_UID, 0x04)  // _UID: Unique ID
  1327.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1328.                         {
  1329.                             PDRC |= 0x80
  1330.                         }
  1331.  
  1332.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1333.                         {
  1334.                             IRQ (Level, ActiveLow, Shared, )
  1335.                                 {1,3,4,5,6,7,11,12,14,15}
  1336.                         })
  1337.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1338.                         {
  1339.                             Name (RTLD, ResourceTemplate ()
  1340.                             {
  1341.                                 IRQ (Level, ActiveLow, Shared, _Y11)
  1342.                                     {}
  1343.                             })
  1344.                             CreateWordField (RTLD, \_SB.LNKD._CRS._Y11._INT, IRQ0)  // _INT: Interrupts
  1345.                             IRQ0 = Zero
  1346.                             IRQ0 = (0x01 << (PDRC & 0x0F))
  1347.                             Return (RTLD) /* \_SB_.LNKD._CRS.RTLD */
  1348.                         }
  1349.  
  1350.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1351.                         {
  1352.                             CreateWordField (Arg0, 0x01, IRQ0)
  1353.                             FindSetRightBit (IRQ0, Local0)
  1354.                             Local0--
  1355.                             PDRC = Local0
  1356.                         }
  1357.  
  1358.                         Method (_STA, 0, Serialized)  // _STA: Status
  1359.                         {
  1360.                             If ((PDRC & 0x80))
  1361.                             {
  1362.                                 Return (0x09)
  1363.                             }
  1364.                             Else
  1365.                             {
  1366.                                 Return (0x0B)
  1367.                             }
  1368.                         }
  1369.                     }
  1370.  
  1371.                     Device (LNKE)
  1372.                     {
  1373.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1374.                         Name (_UID, 0x05)  // _UID: Unique ID
  1375.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1376.                         {
  1377.                             PERC |= 0x80
  1378.                         }
  1379.  
  1380.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1381.                         {
  1382.                             IRQ (Level, ActiveLow, Shared, )
  1383.                                 {1,3,4,5,6,7,10,12,14,15}
  1384.                         })
  1385.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1386.                         {
  1387.                             Name (RTLE, ResourceTemplate ()
  1388.                             {
  1389.                                 IRQ (Level, ActiveLow, Shared, _Y12)
  1390.                                     {}
  1391.                             })
  1392.                             CreateWordField (RTLE, \_SB.LNKE._CRS._Y12._INT, IRQ0)  // _INT: Interrupts
  1393.                             IRQ0 = Zero
  1394.                             IRQ0 = (0x01 << (PERC & 0x0F))
  1395.                             Return (RTLE) /* \_SB_.LNKE._CRS.RTLE */
  1396.                         }
  1397.  
  1398.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1399.                         {
  1400.                             CreateWordField (Arg0, 0x01, IRQ0)
  1401.                             FindSetRightBit (IRQ0, Local0)
  1402.                             Local0--
  1403.                             PERC = Local0
  1404.                         }
  1405.  
  1406.                         Method (_STA, 0, Serialized)  // _STA: Status
  1407.                         {
  1408.                             If ((PERC & 0x80))
  1409.                             {
  1410.                                 Return (0x09)
  1411.                             }
  1412.                             Else
  1413.                             {
  1414.                                 Return (0x0B)
  1415.                             }
  1416.                         }
  1417.                     }
  1418.  
  1419.                     Device (LNKF)
  1420.                     {
  1421.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1422.                         Name (_UID, 0x06)  // _UID: Unique ID
  1423.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1424.                         {
  1425.                             PFRC |= 0x80
  1426.                         }
  1427.  
  1428.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1429.                         {
  1430.                             IRQ (Level, ActiveLow, Shared, )
  1431.                                 {1,3,4,5,6,7,11,12,14,15}
  1432.                         })
  1433.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1434.                         {
  1435.                             Name (RTLF, ResourceTemplate ()
  1436.                             {
  1437.                                 IRQ (Level, ActiveLow, Shared, _Y13)
  1438.                                     {}
  1439.                             })
  1440.                             CreateWordField (RTLF, \_SB.LNKF._CRS._Y13._INT, IRQ0)  // _INT: Interrupts
  1441.                             IRQ0 = Zero
  1442.                             IRQ0 = (0x01 << (PFRC & 0x0F))
  1443.                             Return (RTLF) /* \_SB_.LNKF._CRS.RTLF */
  1444.                         }
  1445.  
  1446.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1447.                         {
  1448.                             CreateWordField (Arg0, 0x01, IRQ0)
  1449.                             FindSetRightBit (IRQ0, Local0)
  1450.                             Local0--
  1451.                             PFRC = Local0
  1452.                         }
  1453.  
  1454.                         Method (_STA, 0, Serialized)  // _STA: Status
  1455.                         {
  1456.                             If ((PFRC & 0x80))
  1457.                             {
  1458.                                 Return (0x09)
  1459.                             }
  1460.                             Else
  1461.                             {
  1462.                                 Return (0x0B)
  1463.                             }
  1464.                         }
  1465.                     }
  1466.  
  1467.                     Device (LNKG)
  1468.                     {
  1469.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1470.                         Name (_UID, 0x07)  // _UID: Unique ID
  1471.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1472.                         {
  1473.                             PGRC |= 0x80
  1474.                         }
  1475.  
  1476.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1477.                         {
  1478.                             IRQ (Level, ActiveLow, Shared, )
  1479.                                 {1,3,4,5,6,7,10,12,14,15}
  1480.                         })
  1481.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1482.                         {
  1483.                             Name (RTLG, ResourceTemplate ()
  1484.                             {
  1485.                                 IRQ (Level, ActiveLow, Shared, _Y14)
  1486.                                     {}
  1487.                             })
  1488.                             CreateWordField (RTLG, \_SB.LNKG._CRS._Y14._INT, IRQ0)  // _INT: Interrupts
  1489.                             IRQ0 = Zero
  1490.                             IRQ0 = (0x01 << (PGRC & 0x0F))
  1491.                             Return (RTLG) /* \_SB_.LNKG._CRS.RTLG */
  1492.                         }
  1493.  
  1494.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1495.                         {
  1496.                             CreateWordField (Arg0, 0x01, IRQ0)
  1497.                             FindSetRightBit (IRQ0, Local0)
  1498.                             Local0--
  1499.                             PGRC = Local0
  1500.                         }
  1501.  
  1502.                         Method (_STA, 0, Serialized)  // _STA: Status
  1503.                         {
  1504.                             If ((PGRC & 0x80))
  1505.                             {
  1506.                                 Return (0x09)
  1507.                             }
  1508.                             Else
  1509.                             {
  1510.                                 Return (0x0B)
  1511.                             }
  1512.                         }
  1513.                     }
  1514.  
  1515.                     Device (LNKH)
  1516.                     {
  1517.                         Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt Link Device */)  // _HID: Hardware ID
  1518.                         Name (_UID, 0x08)  // _UID: Unique ID
  1519.                         Method (_DIS, 0, Serialized)  // _DIS: Disable Device
  1520.                         {
  1521.                             PHRC |= 0x80
  1522.                         }
  1523.  
  1524.                         Name (_PRS, ResourceTemplate ()  // _PRS: Possible Resource Settings
  1525.                         {
  1526.                             IRQ (Level, ActiveLow, Shared, )
  1527.                                 {1,3,4,5,6,7,11,12,14,15}
  1528.                         })
  1529.                         Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1530.                         {
  1531.                             Name (RTLH, ResourceTemplate ()
  1532.                             {
  1533.                                 IRQ (Level, ActiveLow, Shared, _Y15)
  1534.                                     {}
  1535.                             })
  1536.                             CreateWordField (RTLH, \_SB.LNKH._CRS._Y15._INT, IRQ0)  // _INT: Interrupts
  1537.                             IRQ0 = Zero
  1538.                             IRQ0 = (0x01 << (PHRC & 0x0F))
  1539.                             Return (RTLH) /* \_SB_.LNKH._CRS.RTLH */
  1540.                         }
  1541.  
  1542.                         Method (_SRS, 1, Serialized)  // _SRS: Set Resource Settings
  1543.                         {
  1544.                             CreateWordField (Arg0, 0x01, IRQ0)
  1545.                             FindSetRightBit (IRQ0, Local0)
  1546.                             Local0--
  1547.                             PHRC = Local0
  1548.                         }
  1549.  
  1550.                         Method (_STA, 0, Serialized)  // _STA: Status
  1551.                         {
  1552.                             If ((PHRC & 0x80))
  1553.                             {
  1554.                                 Return (0x09)
  1555.                             }
  1556.                             Else
  1557.                             {
  1558.                                 Return (0x0B)
  1559.                             }
  1560.                         }
  1561.                     }
  1562.                 }
  1563.  
  1564.                 OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
  1565.                 Field (LPC0, AnyAcc, NoLock, Preserve)
  1566.                 {
  1567.                     Offset (0x40),
  1568.                     IOD0,   8,
  1569.                     IOD1,   8,
  1570.                     Offset (0xB0),
  1571.                     RAEN,   1,
  1572.                         ,   13,
  1573.                     RCBA,   18
  1574.                 }
  1575.  
  1576.                 Device (DMAC)
  1577.                 {
  1578.                     Name (_HID, EisaId ("PNP0200") /* PC-class DMA Controller */)  // _HID: Hardware ID
  1579.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1580.                     {
  1581.                         IO (Decode16,
  1582.                             0x0000,             // Range Minimum
  1583.                             0x0000,             // Range Maximum
  1584.                             0x01,               // Alignment
  1585.                             0x20,               // Length
  1586.                             )
  1587.                         IO (Decode16,
  1588.                             0x0081,             // Range Minimum
  1589.                             0x0081,             // Range Maximum
  1590.                             0x01,               // Alignment
  1591.                             0x11,               // Length
  1592.                             )
  1593.                         IO (Decode16,
  1594.                             0x0093,             // Range Minimum
  1595.                             0x0093,             // Range Maximum
  1596.                             0x01,               // Alignment
  1597.                             0x0D,               // Length
  1598.                             )
  1599.                         IO (Decode16,
  1600.                             0x00C0,             // Range Minimum
  1601.                             0x00C0,             // Range Maximum
  1602.                             0x01,               // Alignment
  1603.                             0x20,               // Length
  1604.                             )
  1605.                         DMA (Compatibility, NotBusMaster, Transfer8_16, )
  1606.                             {4}
  1607.                     })
  1608.                 }
  1609.  
  1610.                 Device (FWHD)
  1611.                 {
  1612.                     Name (_HID, EisaId ("INT0800") /* Intel 82802 Firmware Hub Device */)  // _HID: Hardware ID
  1613.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1614.                     {
  1615.                         Memory32Fixed (ReadOnly,
  1616.                             0xFF000000,         // Address Base
  1617.                             0x01000000,         // Address Length
  1618.                             )
  1619.                     })
  1620.                 }
  1621.  
  1622.                 Device (HPET)
  1623.                 {
  1624.                     Name (_HID, EisaId ("PNP0103") /* HPET System Timer */)  // _HID: Hardware ID
  1625.                     Name (_CID, EisaId ("PNP0C01") /* System Board */)  // _CID: Compatible ID
  1626.                     Name (BUF0, ResourceTemplate ()
  1627.                     {
  1628.                         IRQNoFlags ()
  1629.                             {0}
  1630.                         IRQNoFlags ()
  1631.                             {8}
  1632.                         Memory32Fixed (ReadWrite,
  1633.                             0xFED00000,         // Address Base
  1634.                             0x00000400,         // Address Length
  1635.                             _Y16)
  1636.                     })
  1637.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1638.                     {
  1639.                         If ((OSYS >= 0x07D1))
  1640.                         {
  1641.                             If (HPAE)
  1642.                             {
  1643.                                 Return (0x0F)
  1644.                             }
  1645.                         }
  1646.                         ElseIf (HPAE)
  1647.                         {
  1648.                             Return (0x0B)
  1649.                         }
  1650.  
  1651.                         Return (0x00)
  1652.                     }
  1653.  
  1654.                     Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  1655.                     {
  1656.                         If (HPAE)
  1657.                         {
  1658.                             CreateDWordField (BUF0, \_SB.PCI0.LPCB.HPET._Y16._BAS, HPT0)  // _BAS: Base Address
  1659.                             If ((HPAS == 0x01))
  1660.                             {
  1661.                                 HPT0 = 0xFED01000
  1662.                             }
  1663.  
  1664.                             If ((HPAS == 0x02))
  1665.                             {
  1666.                                 HPT0 = 0xFED02000
  1667.                             }
  1668.  
  1669.                             If ((HPAS == 0x03))
  1670.                             {
  1671.                                 HPT0 = 0xFED03000
  1672.                             }
  1673.                         }
  1674.  
  1675.                         Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
  1676.                     }
  1677.                 }
  1678.  
  1679.                 Device (IPIC)
  1680.                 {
  1681.                     Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
  1682.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1683.                     {
  1684.                         IO (Decode16,
  1685.                             0x0020,             // Range Minimum
  1686.                             0x0020,             // Range Maximum
  1687.                             0x01,               // Alignment
  1688.                             0x02,               // Length
  1689.                             )
  1690.                         IO (Decode16,
  1691.                             0x0024,             // Range Minimum
  1692.                             0x0024,             // Range Maximum
  1693.                             0x01,               // Alignment
  1694.                             0x02,               // Length
  1695.                             )
  1696.                         IO (Decode16,
  1697.                             0x0028,             // Range Minimum
  1698.                             0x0028,             // Range Maximum
  1699.                             0x01,               // Alignment
  1700.                             0x02,               // Length
  1701.                             )
  1702.                         IO (Decode16,
  1703.                             0x002C,             // Range Minimum
  1704.                             0x002C,             // Range Maximum
  1705.                             0x01,               // Alignment
  1706.                             0x02,               // Length
  1707.                             )
  1708.                         IO (Decode16,
  1709.                             0x0030,             // Range Minimum
  1710.                             0x0030,             // Range Maximum
  1711.                             0x01,               // Alignment
  1712.                             0x02,               // Length
  1713.                             )
  1714.                         IO (Decode16,
  1715.                             0x0034,             // Range Minimum
  1716.                             0x0034,             // Range Maximum
  1717.                             0x01,               // Alignment
  1718.                             0x02,               // Length
  1719.                             )
  1720.                         IO (Decode16,
  1721.                             0x0038,             // Range Minimum
  1722.                             0x0038,             // Range Maximum
  1723.                             0x01,               // Alignment
  1724.                             0x02,               // Length
  1725.                             )
  1726.                         IO (Decode16,
  1727.                             0x003C,             // Range Minimum
  1728.                             0x003C,             // Range Maximum
  1729.                             0x01,               // Alignment
  1730.                             0x02,               // Length
  1731.                             )
  1732.                         IO (Decode16,
  1733.                             0x00A0,             // Range Minimum
  1734.                             0x00A0,             // Range Maximum
  1735.                             0x01,               // Alignment
  1736.                             0x02,               // Length
  1737.                             )
  1738.                         IO (Decode16,
  1739.                             0x00A4,             // Range Minimum
  1740.                             0x00A4,             // Range Maximum
  1741.                             0x01,               // Alignment
  1742.                             0x02,               // Length
  1743.                             )
  1744.                         IO (Decode16,
  1745.                             0x00A8,             // Range Minimum
  1746.                             0x00A8,             // Range Maximum
  1747.                             0x01,               // Alignment
  1748.                             0x02,               // Length
  1749.                             )
  1750.                         IO (Decode16,
  1751.                             0x00AC,             // Range Minimum
  1752.                             0x00AC,             // Range Maximum
  1753.                             0x01,               // Alignment
  1754.                             0x02,               // Length
  1755.                             )
  1756.                         IO (Decode16,
  1757.                             0x00B0,             // Range Minimum
  1758.                             0x00B0,             // Range Maximum
  1759.                             0x01,               // Alignment
  1760.                             0x02,               // Length
  1761.                             )
  1762.                         IO (Decode16,
  1763.                             0x00B4,             // Range Minimum
  1764.                             0x00B4,             // Range Maximum
  1765.                             0x01,               // Alignment
  1766.                             0x02,               // Length
  1767.                             )
  1768.                         IO (Decode16,
  1769.                             0x00B8,             // Range Minimum
  1770.                             0x00B8,             // Range Maximum
  1771.                             0x01,               // Alignment
  1772.                             0x02,               // Length
  1773.                             )
  1774.                         IO (Decode16,
  1775.                             0x00BC,             // Range Minimum
  1776.                             0x00BC,             // Range Maximum
  1777.                             0x01,               // Alignment
  1778.                             0x02,               // Length
  1779.                             )
  1780.                         IO (Decode16,
  1781.                             0x04D0,             // Range Minimum
  1782.                             0x04D0,             // Range Maximum
  1783.                             0x01,               // Alignment
  1784.                             0x02,               // Length
  1785.                             )
  1786.                         IRQNoFlags ()
  1787.                             {2}
  1788.                     })
  1789.                 }
  1790.  
  1791.                 Device (MATH)
  1792.                 {
  1793.                     Name (_HID, EisaId ("PNP0C04") /* x87-compatible Floating Point Processing Unit */)  // _HID: Hardware ID
  1794.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1795.                     {
  1796.                         IO (Decode16,
  1797.                             0x00F0,             // Range Minimum
  1798.                             0x00F0,             // Range Maximum
  1799.                             0x01,               // Alignment
  1800.                             0x01,               // Length
  1801.                             )
  1802.                         IRQNoFlags ()
  1803.                             {13}
  1804.                     })
  1805.                 }
  1806.  
  1807.                 Device (LDRC)
  1808.                 {
  1809.                     Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
  1810.                     Name (_UID, 0x02)  // _UID: Unique ID
  1811.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1812.                     {
  1813.                         IO (Decode16,
  1814.                             0x002E,             // Range Minimum
  1815.                             0x002E,             // Range Maximum
  1816.                             0x01,               // Alignment
  1817.                             0x02,               // Length
  1818.                             )
  1819.                         IO (Decode16,
  1820.                             0x004E,             // Range Minimum
  1821.                             0x004E,             // Range Maximum
  1822.                             0x01,               // Alignment
  1823.                             0x02,               // Length
  1824.                             )
  1825.                         IO (Decode16,
  1826.                             0x0061,             // Range Minimum
  1827.                             0x0061,             // Range Maximum
  1828.                             0x01,               // Alignment
  1829.                             0x01,               // Length
  1830.                             )
  1831.                         IO (Decode16,
  1832.                             0x0063,             // Range Minimum
  1833.                             0x0063,             // Range Maximum
  1834.                             0x01,               // Alignment
  1835.                             0x01,               // Length
  1836.                             )
  1837.                         IO (Decode16,
  1838.                             0x0065,             // Range Minimum
  1839.                             0x0065,             // Range Maximum
  1840.                             0x01,               // Alignment
  1841.                             0x01,               // Length
  1842.                             )
  1843.                         IO (Decode16,
  1844.                             0x0067,             // Range Minimum
  1845.                             0x0067,             // Range Maximum
  1846.                             0x01,               // Alignment
  1847.                             0x01,               // Length
  1848.                             )
  1849.                         IO (Decode16,
  1850.                             0x0080,             // Range Minimum
  1851.                             0x0080,             // Range Maximum
  1852.                             0x01,               // Alignment
  1853.                             0x01,               // Length
  1854.                             )
  1855.                         IO (Decode16,
  1856.                             0x0092,             // Range Minimum
  1857.                             0x0092,             // Range Maximum
  1858.                             0x01,               // Alignment
  1859.                             0x01,               // Length
  1860.                             )
  1861.                         IO (Decode16,
  1862.                             0x00B2,             // Range Minimum
  1863.                             0x00B2,             // Range Maximum
  1864.                             0x01,               // Alignment
  1865.                             0x02,               // Length
  1866.                             )
  1867.                         IO (Decode16,
  1868.                             0x1000,             // Range Minimum
  1869.                             0x1000,             // Range Maximum
  1870.                             0x01,               // Alignment
  1871.                             0x10,               // Length
  1872.                             )
  1873.                         IO (Decode16,
  1874.                             0x0400,             // Range Minimum
  1875.                             0x0400,             // Range Maximum
  1876.                             0x01,               // Alignment
  1877.                             0x80,               // Length
  1878.                             )
  1879.                         IO (Decode16,
  1880.                             0x0500,             // Range Minimum
  1881.                             0x0500,             // Range Maximum
  1882.                             0x01,               // Alignment
  1883.                             0x80,               // Length
  1884.                             )
  1885.                     })
  1886.                 }
  1887.  
  1888.                 Device (RTC)
  1889.                 {
  1890.                     Name (_HID, EisaId ("PNP0B00") /* AT Real-Time Clock */)  // _HID: Hardware ID
  1891.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1892.                     {
  1893.                         IO (Decode16,
  1894.                             0x0070,             // Range Minimum
  1895.                             0x0070,             // Range Maximum
  1896.                             0x01,               // Alignment
  1897.                             0x08,               // Length
  1898.                             )
  1899.                     })
  1900.                 }
  1901.  
  1902.                 Device (TIMR)
  1903.                 {
  1904.                     Name (_HID, EisaId ("PNP0100") /* PC-class System Timer */)  // _HID: Hardware ID
  1905.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1906.                     {
  1907.                         IO (Decode16,
  1908.                             0x0040,             // Range Minimum
  1909.                             0x0040,             // Range Maximum
  1910.                             0x01,               // Alignment
  1911.                             0x04,               // Length
  1912.                             )
  1913.                         IO (Decode16,
  1914.                             0x0050,             // Range Minimum
  1915.                             0x0050,             // Range Maximum
  1916.                             0x10,               // Alignment
  1917.                             0x04,               // Length
  1918.                             )
  1919.                     })
  1920.                 }
  1921.  
  1922.                 Device (SMC)
  1923.                 {
  1924.                     Name (_HID, EisaId ("APP0001"))  // _HID: Hardware ID
  1925.                     Name (_CID, "smc-huronriver")  // _CID: Compatible ID
  1926.                     Name (_STA, 0x0B)  // _STA: Status
  1927.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  1928.                     {
  1929.                         IO (Decode16,
  1930.                             0x0300,             // Range Minimum
  1931.                             0x0300,             // Range Maximum
  1932.                             0x01,               // Alignment
  1933.                             0x20,               // Length
  1934.                             )
  1935.                         Memory32Fixed (ReadWrite,
  1936.                             0xFEF00000,         // Address Base
  1937.                             0x00010000,         // Address Length
  1938.                             )
  1939.                         IRQNoFlags ()
  1940.                             {6}
  1941.                     })
  1942.                 }
  1943.  
  1944.                 Device (ALS0)
  1945.                 {
  1946.                     Name (_HID, "ACPI0008" /* Ambient Light Sensor Device */)  // _HID: Hardware ID
  1947.                     Name (_CID, "smc-als")  // _CID: Compatible ID
  1948.                     Name (BUFF, Buffer (0x02){})
  1949.                     CreateByteField (BUFF, 0x00, OB0)
  1950.                     CreateByteField (BUFF, 0x01, OB1)
  1951.                     CreateWordField (BUFF, 0x00, ALSI)
  1952.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  1953.                     {
  1954.                         If ((OSYS >= 0x07D9))
  1955.                         {
  1956.                             Return (0x0F)
  1957.                         }
  1958.                         Else
  1959.                         {
  1960.                             Return (0x00)
  1961.                         }
  1962.                     }
  1963.  
  1964.                     Method (_ALI, 0, NotSerialized)  // _ALI: Ambient Light Illuminance
  1965.                     {
  1966.                         OB0 = \_SB.PCI0.LPCB.EC.ALB0
  1967.                         OB1 = \_SB.PCI0.LPCB.EC.ALB1
  1968.                         Local0 = ALSI /* \_SB_.PCI0.LPCB.ALS0.ALSI */
  1969.                         Return (Local0)
  1970.                     }
  1971.  
  1972.                     Name (_ALR, Package (0x05)  // _ALR: Ambient Light Response
  1973.                     {
  1974.                         Package (0x02)
  1975.                         {
  1976.                             0x0A,
  1977.                             0x00
  1978.                         },
  1979.  
  1980.                         Package (0x02)
  1981.                         {
  1982.                             0x14,
  1983.                             0x0A
  1984.                         },
  1985.  
  1986.                         Package (0x02)
  1987.                         {
  1988.                             0x32,
  1989.                             0x50
  1990.                         },
  1991.  
  1992.                         Package (0x02)
  1993.                         {
  1994.                             0x5A,
  1995.                             0x012C
  1996.                         },
  1997.  
  1998.                         Package (0x02)
  1999.                         {
  2000.                             0x64,
  2001.                             0x03E8
  2002.                         }
  2003.                     })
  2004.                 }
  2005.  
  2006.                 Device (EC)
  2007.                 {
  2008.                     Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
  2009.                     Name (_UID, 0x00)  // _UID: Unique ID
  2010.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2011.                     {
  2012.                         IO (Decode16,
  2013.                             0x0062,             // Range Minimum
  2014.                             0x0062,             // Range Maximum
  2015.                             0x00,               // Alignment
  2016.                             0x01,               // Length
  2017.                             )
  2018.                         IO (Decode16,
  2019.                             0x0066,             // Range Minimum
  2020.                             0x0066,             // Range Maximum
  2021.                             0x00,               // Alignment
  2022.                             0x01,               // Length
  2023.                             )
  2024.                     })
  2025.                     Name (_GPE, 0x17)  // _GPE: General Purpose Events
  2026.                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2027.                     {
  2028.                         0x23,
  2029.                         0x04
  2030.                     })
  2031.                     Name (ECOK, 0x00)
  2032.                     OperationRegion (ECOR, EmbeddedControl, 0x00, 0xFF)
  2033.                     Field (ECOR, ByteAcc, Lock, Preserve)
  2034.                     {
  2035.                         ECVS,   8,
  2036.                         Offset (0x02),
  2037.                         Offset (0x03),
  2038.                         G3HT,   1,
  2039.                         Offset (0x04),
  2040.                         WBCB,   1,
  2041.                         DSLP,   1,
  2042.                         Offset (0x05),
  2043.                         Offset (0x06),
  2044.                         WKRS,   8,
  2045.                         Offset (0x10),
  2046.                         ECSS,   8,
  2047.                         PLIM,   8,
  2048.                         ALB0,   8,
  2049.                         ALB1,   8,
  2050.                         WTLB,   8,
  2051.                         WTMB,   8,
  2052.                         Offset (0x20),
  2053.                         SPTR,   8,
  2054.                         SSTS,   8,
  2055.                         SADR,   8,
  2056.                         SCMD,   8,
  2057.                         SBFR,   256,
  2058.                         SCNT,   8,
  2059.                         SAAD,   8,
  2060.                         SAD0,   8,
  2061.                         SAD1,   8,
  2062.                         SMUX,   8,
  2063.                         Offset (0x60),
  2064.                         ELSW,   1,
  2065.                         EACP,   1,
  2066.                         ECDI,   1,
  2067.                         ENMI,   1,
  2068.                         Offset (0x61),
  2069.                         EMHP,   1,
  2070.                         Offset (0x62),
  2071.                         Offset (0x63),
  2072.                         Offset (0x64),
  2073.                         SWLO,   1,
  2074.                         SWLC,   1,
  2075.                         SWAI,   1,
  2076.                         SWAR,   1,
  2077.                         SWCI,   1,
  2078.                         SWCE,   1,
  2079.                         SWMI,   1,
  2080.                         SWMR,   1,
  2081.                         SWPB,   1,
  2082.                         SWGP,   1,
  2083.                         SWPM,   1,
  2084.                         SWWT,   1,
  2085.                         SWLB,   1,
  2086.                         Offset (0x66),
  2087.                         Offset (0x67),
  2088.                         Offset (0x68),
  2089.                         EWLO,   1,
  2090.                         EWLC,   1,
  2091.                         EWAI,   1,
  2092.                         EWAR,   1,
  2093.                         EWCI,   1,
  2094.                         EWCE,   1,
  2095.                         EWMI,   1,
  2096.                         EWMR,   1,
  2097.                         EWPB,   1,
  2098.                         EWGP,   1,
  2099.                         EWPM,   1,
  2100.                         ENWT,   1,
  2101.                         EWLB,   1,
  2102.                         Offset (0x6A),
  2103.                         Offset (0x6B),
  2104.                         Offset (0x6C),
  2105.                         LWLO,   1,
  2106.                         LWLC,   1,
  2107.                         LWAI,   1,
  2108.                         LWAR,   1,
  2109.                         LWCI,   1,
  2110.                         LWCE,   1,
  2111.                         LWMI,   1,
  2112.                         LWMR,   1,
  2113.                         LWPB,   1,
  2114.                         LWGP,   1,
  2115.                         LWPM,   1,
  2116.                         LWWT,   1,
  2117.                         LWLB,   1,
  2118.                         Offset (0x6E),
  2119.                         Offset (0x6F),
  2120.                         Offset (0x70)
  2121.                     }
  2122.  
  2123.                     Field (ECOR, ByteAcc, Lock, Preserve)
  2124.                     {
  2125.                         Offset (0x03),
  2126.                         G3AD,   1,
  2127.                         BLOD,   1,
  2128.                         S4WE,   1,
  2129.                         Offset (0x04),
  2130.                         Offset (0x6C),
  2131.                         LWE0,   8,
  2132.                         LWE1,   8,
  2133.                         LWE2,   8,
  2134.                         LWE3,   8
  2135.                     }
  2136.  
  2137.                     Field (ECOR, ByteAcc, Lock, Preserve)
  2138.                     {
  2139.                         Offset (0x24),
  2140.                         SBDW,   16,
  2141.                         Offset (0x46),
  2142.                         SADW,   16
  2143.                     }
  2144.  
  2145.                     Method (WAKE, 0, NotSerialized)
  2146.                     {
  2147.                         If (ECOK)
  2148.                         {
  2149.                             Debug = "EC Wake reason ="
  2150.                             Debug = WKRS /* \_SB_.PCI0.LPCB.EC__.WKRS */
  2151.                             Debug = EWAI /* \_SB_.PCI0.LPCB.EC__.EWAI */
  2152.                             Debug = EWAR /* \_SB_.PCI0.LPCB.EC__.EWAR */
  2153.                             Return (WKRS) /* \_SB_.PCI0.LPCB.EC__.WKRS */
  2154.                         }
  2155.                         Else
  2156.                         {
  2157.                             Return (0x00)
  2158.                         }
  2159.                     }
  2160.  
  2161.                     Device (SMB0)
  2162.                     {
  2163.                         Name (_HID, "ACPI0001" /* SMBus 1.0 Host Controller */)  // _HID: Hardware ID
  2164.                         Name (_EC, 0x2010)  // _EC_: Embedded Controller
  2165.                         Mutex (SMTX, 0x00)
  2166.                         Method (_STA, 0, NotSerialized)  // _STA: Status
  2167.                         {
  2168.                             If (OSDW ())
  2169.                             {
  2170.                                 Return (0x0F)
  2171.                             }
  2172.                             Else
  2173.                             {
  2174.                                 Return (0x00)
  2175.                             }
  2176.                         }
  2177.  
  2178.                         Device (SBS0)
  2179.                         {
  2180.                             Name (_HID, "ACPI0002" /* Smart Battery Subsystem */)  // _HID: Hardware ID
  2181.                             Name (_SBS, 0x01)  // _SBS: Smart Battery Subsystem
  2182.                         }
  2183.  
  2184.                         Method (SBPC, 1, NotSerialized)
  2185.                         {
  2186.                             Local0 = Arg0
  2187.                             While (Local0)
  2188.                             {
  2189.                                 If ((SPTR == 0x00))
  2190.                                 {
  2191.                                     Return ((SSTS & 0x1F))
  2192.                                 }
  2193.  
  2194.                                 Sleep (0x01)
  2195.                                 Local0--
  2196.                             }
  2197.  
  2198.                             Return (0x18)
  2199.                         }
  2200.  
  2201.                         Method (SBRW, 3, NotSerialized)
  2202.                         {
  2203.                             Local0 = One
  2204.                             If (!Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF))
  2205.                             {
  2206.                                 If ((SPTR == 0x00))
  2207.                                 {
  2208.                                     SADR = (Arg0 << 0x01)
  2209.                                     SCMD = Arg1
  2210.                                     SPTR = 0x09
  2211.                                     Local0 = SBPC (0x03E8)
  2212.                                     If (!Local0)
  2213.                                     {
  2214.                                         Arg2 = SBDW /* \_SB_.PCI0.LPCB.EC__.SBDW */
  2215.                                     }
  2216.                                 }
  2217.  
  2218.                                 Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
  2219.                             }
  2220.  
  2221.                             Return (Local0)
  2222.                         }
  2223.  
  2224.                         Method (SBRB, 3, NotSerialized)
  2225.                         {
  2226.                             Local0 = One
  2227.                             Local1 = Buffer (0x01)
  2228.                                 {
  2229.                                      0x00                                             // .
  2230.                                 }
  2231.                             If (!Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF))
  2232.                             {
  2233.                                 If ((SPTR == 0x00))
  2234.                                 {
  2235.                                     SADR = (Arg0 << 0x01)
  2236.                                     SCMD = Arg1
  2237.                                     SPTR = 0x0B
  2238.                                     Local0 = SBPC (0x03E8)
  2239.                                     If (!Local0)
  2240.                                     {
  2241.                                         Arg2 = SBFR /* \_SB_.PCI0.LPCB.EC__.SBFR */
  2242.                                     }
  2243.                                 }
  2244.  
  2245.                                 Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
  2246.                             }
  2247.  
  2248.                             Return (Local0)
  2249.                         }
  2250.                     }
  2251.  
  2252.                     Method (_Q10, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
  2253.                     {
  2254.                         If (OSDW ())
  2255.                         {
  2256.                             Notify (\_SB.PCI0.LPCB.EC.SMB0, 0x80) // Status Change
  2257.                         }
  2258.                         ElseIf ((SSTS & 0x40))
  2259.                         {
  2260.                             If (!Acquire (\_SB.PCI0.LPCB.EC.SMB0.SMTX, 0xFFFF))
  2261.                             {
  2262.                                 Local0 = (SAAD >> 0x01)
  2263.                                 If ((Local0 == 0x0A))
  2264.                                 {
  2265.                                     \_SB.BAT0.BNOT (SADW)
  2266.                                 }
  2267.  
  2268.                                 SSTS = 0x00
  2269.                                 Release (\_SB.PCI0.LPCB.EC.SMB0.SMTX)
  2270.                             }
  2271.                         }
  2272.                     }
  2273.  
  2274.                     Method (_Q20, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
  2275.                     {
  2276.                         LIDS = ELSW /* \_SB_.PCI0.LPCB.EC__.ELSW */
  2277.                         \_SB.PCI0.IGPU.CLID = ELSW /* \_SB_.PCI0.LPCB.EC__.ELSW */
  2278.                         Notify (\_SB.LID0, 0x80) // Status Change
  2279.                     }
  2280.  
  2281.                     Method (_Q21, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
  2282.                     {
  2283.                         If (EACP)
  2284.                         {
  2285.                             PWRS = 0x01
  2286.                         }
  2287.                         Else
  2288.                         {
  2289.                             PWRS = 0x00
  2290.                         }
  2291.  
  2292.                         Notify (\_SB.ADP1, 0x80) // Status Change
  2293.                         PNOT ()
  2294.                     }
  2295.  
  2296.                     Method (_Q40, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
  2297.                     {
  2298.                         Notify (\_SB.PCI0.LPCB.ALS0, 0x80) // Status Change
  2299.                     }
  2300.  
  2301.                     Method (_Q5A, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
  2302.                     {
  2303.                         Notify (\_SB.SLPB, 0x80) // Status Change
  2304.                     }
  2305.  
  2306.                     Method (_Q80, 0, NotSerialized)  // _Qxx: EC Query, xx=0x00-0xFF
  2307.                     {
  2308.                         Notify (\_PR.CPU0, 0x80) // Performance Capability Change
  2309.                         Notify (\_PR.CPU1, 0x80) // Performance Capability Change
  2310.                         Notify (\_PR.CPU2, 0x80) // Performance Capability Change
  2311.                         Notify (\_PR.CPU3, 0x80) // Performance Capability Change
  2312.                         Notify (\_PR.CPU4, 0x80) // Performance Capability Change
  2313.                         Notify (\_PR.CPU5, 0x80) // Performance Capability Change
  2314.                         Notify (\_PR.CPU6, 0x80) // Performance Capability Change
  2315.                         Notify (\_PR.CPU7, 0x80) // Performance Capability Change
  2316.                         Local0 = EGPS /* \EGPS */
  2317.                         If ((Local0 == 0x00))
  2318.                         {
  2319.                             Notify (\_SB.PCI0.P0P2.GFX0, 0xD1) // Hardware-Specific
  2320.                         }
  2321.                         Else
  2322.                         {
  2323.                             If (((Local0 > 0x00) && (Local0 <= 0x01)))
  2324.                             {
  2325.                                 Notify (\_SB.PCI0.P0P2.GFX0, 0xD2) // Hardware-Specific
  2326.                             }
  2327.  
  2328.                             If (((Local0 > 0x01) && (Local0 <= 0x07)))
  2329.                             {
  2330.                                 Notify (\_SB.PCI0.P0P2.GFX0, 0xD3) // Hardware-Specific
  2331.                             }
  2332.  
  2333.                             If (((Local0 > 0x08) && (Local0 <= 0x0C)))
  2334.                             {
  2335.                                 Notify (\_SB.PCI0.P0P2.GFX0, 0xD4) // Hardware-Specific
  2336.                             }
  2337.  
  2338.                             If (((Local0 > 0x0C) && (Local0 <= 0x0F)))
  2339.                             {
  2340.                                 Notify (\_SB.PCI0.P0P2.GFX0, 0xD5) // Hardware-Specific
  2341.                             }
  2342.                         }
  2343.                     }
  2344.  
  2345.                     Method (_REG, 2, NotSerialized)  // _REG: Region Availability
  2346.                     {
  2347.                         If (((Arg0 == 0x03) || (OSYS >= 0x07D6)))
  2348.                         {
  2349.                             ECOK = Arg1
  2350.                             If ((Arg1 == 0x01))
  2351.                             {
  2352.                                 ECSS = 0x00
  2353.                                 LIDS = ELSW /* \_SB_.PCI0.LPCB.EC__.ELSW */
  2354.                                 \_SB.PCI0.IGPU.CLID = ELSW /* \_SB_.PCI0.LPCB.EC__.ELSW */
  2355.                                 Notify (\_SB.LID0, 0x80) // Status Change
  2356.                                 PWRS = EACP /* \_SB_.PCI0.LPCB.EC__.EACP */
  2357.                                 Notify (\_SB.ADP1, 0x80) // Status Change
  2358.                             }
  2359.                         }
  2360.                     }
  2361.                 }
  2362.  
  2363.                 Scope (\_SB)
  2364.                 {
  2365.                     Device (BAT0)
  2366.                     {
  2367.                         Name (_HID, EisaId ("PNP0C0A") /* Control Method Battery */)  // _HID: Hardware ID
  2368.                         Name (_UID, 0x00)  // _UID: Unique ID
  2369.                         Name (_PCL, Package (0x01)  // _PCL: Power Consumer List
  2370.                         {
  2371.                             \_SB
  2372.                         })
  2373.                         Name (BSSW, 0xFFFF)
  2374.                         Name (PBIF, Package (0x0D)
  2375.                         {
  2376.                             0x00,
  2377.                             0xFFFFFFFF,
  2378.                             0xFFFFFFFF,
  2379.                             0x01,
  2380.                             0xFFFFFFFF,
  2381.                             0xFA,
  2382.                             0x64,
  2383.                             0x0A,
  2384.                             0x0A,
  2385.                             " ",
  2386.                             " ",
  2387.                             " ",
  2388.                             " "
  2389.                         })
  2390.                         Name (PBST, Package (0x04)
  2391.                         {
  2392.                             0x00,
  2393.                             0xFFFFFFFF,
  2394.                             0xFFFFFFFF,
  2395.                             0xFFFFFFFF
  2396.                         })
  2397.                         Method (_STA, 0, NotSerialized)  // _STA: Status
  2398.                         {
  2399.                             If (OSDW ())
  2400.                             {
  2401.                                 Return (0x00)
  2402.                             }
  2403.  
  2404.                             If (\_SB.PCI0.LPCB.EC.ECOK)
  2405.                             {
  2406.                                 UBSS ()
  2407.                                 If ((BSSW & 0x01))
  2408.                                 {
  2409.                                     Return (0x1F)
  2410.                                 }
  2411.                                 Else
  2412.                                 {
  2413.                                     Return (0x0F)
  2414.                                 }
  2415.                             }
  2416.                             Else
  2417.                             {
  2418.                                 Return (0x0F)
  2419.                             }
  2420.                         }
  2421.  
  2422.                         Method (_BST, 0, NotSerialized)  // _BST: Battery Status
  2423.                         {
  2424.                             If ((BSSW & 0x01))
  2425.                             {
  2426.                                 UBST ()
  2427.                             }
  2428.                             Else
  2429.                             {
  2430.                                 PBST [0x00] = 0x00
  2431.                                 PBST [0x01] = 0xFFFFFFFF
  2432.                                 PBST [0x02] = 0xFFFFFFFF
  2433.                             }
  2434.  
  2435.                             Return (PBST) /* \_SB_.BAT0.PBST */
  2436.                         }
  2437.  
  2438.                         Method (_BIF, 0, NotSerialized)  // _BIF: Battery Information
  2439.                         {
  2440.                             If ((BSSW & 0x01))
  2441.                             {
  2442.                                 UBIF ()
  2443.                             }
  2444.  
  2445.                             Return (PBIF) /* \_SB_.BAT0.PBIF */
  2446.                         }
  2447.  
  2448.                         Method (BNOT, 1, NotSerialized)
  2449.                         {
  2450.                             Local0 = BSSW /* \_SB_.BAT0.BSSW */
  2451.                             BSSW = Arg0
  2452.                             Notify (\_SB.BAT0, 0x80) // Status Change
  2453.                             If (((Local0 ^ Arg0) & 0x01))
  2454.                             {
  2455.                                 Notify (\_SB.BAT0, 0x81) // Information Change
  2456.                             }
  2457.                         }
  2458.  
  2459.                         Method (UBSS, 0, NotSerialized)
  2460.                         {
  2461.                             \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0A, 0x01, RefOf (BSSW))
  2462.                         }
  2463.  
  2464.                         Method (UBIF, 0, NotSerialized)
  2465.                         {
  2466.                             \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x18, RefOf (Local0))
  2467.                             PBIF [0x01] = (Local0 * 0x0A)
  2468.                             \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x10, RefOf (Local0))
  2469.                             PBIF [0x02] = (Local0 * 0x0A)
  2470.                             \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x19, RefOf (Local0))
  2471.                             PBIF [0x04] = Local0
  2472.                             \_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x21, RefOf (Local0))
  2473.                             PBIF [0x09] = Local0
  2474.                             PBIF [0x0A] = Buffer (0x01)
  2475.                                 {
  2476.                                      0x00                                             // .
  2477.                                 }
  2478.                             \_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x22, RefOf (Local0))
  2479.                             PBIF [0x0B] = Local0
  2480.                             \_SB.PCI0.LPCB.EC.SMB0.SBRB (0x0B, 0x20, RefOf (Local0))
  2481.                             PBIF [0x0C] = Local0
  2482.                         }
  2483.  
  2484.                         Method (UBST, 0, NotSerialized)
  2485.                         {
  2486.                             \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x09, RefOf (Local2))
  2487.                             PBST [0x03] = Local2
  2488.                             \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x0A, RefOf (Local0))
  2489.                             If ((Local0 & 0x8000))
  2490.                             {
  2491.                                 Local0 = ~Local0
  2492.                                 Local0 = (Local0++ & 0xFFFF)
  2493.                             }
  2494.  
  2495.                             Local0 *= Local2
  2496.                             PBST [0x01] = (Local0 / 0x03E8)
  2497.                             \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x0F, RefOf (Local0))
  2498.                             PBST [0x02] = (Local0 * 0x0A)
  2499.                             Local1 = 0x00
  2500.                             If (PWRS)
  2501.                             {
  2502.                                 \_SB.PCI0.LPCB.EC.SMB0.SBRW (0x0B, 0x16, RefOf (Local0))
  2503.                                 If (!(Local0 & 0x40))
  2504.                                 {
  2505.                                     Local1 = 0x02
  2506.                                 }
  2507.                             }
  2508.                             Else
  2509.                             {
  2510.                                 Local1 = 0x01
  2511.                             }
  2512.  
  2513.                             PBST [0x00] = Local1
  2514.                         }
  2515.                     }
  2516.                 }
  2517.  
  2518.                 Device (GMUX)
  2519.                 {
  2520.                     Name (_HID, EisaId ("APP000B"))  // _HID: Hardware ID
  2521.                     Name (_CID, "gmux")  // _CID: Compatible ID
  2522.                     Name (_STA, 0x0B)  // _STA: Status
  2523.                     Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
  2524.                     {
  2525.                         IO (Decode16,
  2526.                             0x0700,             // Range Minimum
  2527.                             0x07FF,             // Range Maximum
  2528.                             0x01,               // Alignment
  2529.                             0xFF,               // Length
  2530.                             )
  2531.                     })
  2532.                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2533.                     {
  2534.                         0x16,
  2535.                         0x03
  2536.                     })
  2537.                     Scope (\_GPE)
  2538.                     {
  2539.                         Method (_L16, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
  2540.                         {
  2541.                             Notify (\_SB.PCI0.LPCB.GMUX, 0x80) // Status Change
  2542.                         }
  2543.                     }
  2544.  
  2545.                     Name (GMGP, 0x16)
  2546.                     Method (GMSP, 1, NotSerialized)
  2547.                     {
  2548.                         If ((Arg0 <= 0x01))
  2549.                         {
  2550.                             GP06 |= Arg0
  2551.                         }
  2552.                     }
  2553.  
  2554.                     Method (GMLV, 0, NotSerialized)
  2555.                     {
  2556.                         Return (GP06) /* \GP06 */
  2557.                     }
  2558.                 }
  2559.             }
  2560.  
  2561.             Device (HDEF)
  2562.             {
  2563.                 Name (_ADR, 0x001B0000)  // _ADR: Address
  2564.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2565.                 {
  2566.                     0x09,
  2567.                     0x03
  2568.                 })
  2569.             }
  2570.  
  2571.             Device (RP01)
  2572.             {
  2573.                 Name (_ADR, 0x001C0000)  // _ADR: Address
  2574.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2575.                 {
  2576.                     0x09,
  2577.                     0x03
  2578.                 })
  2579.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  2580.                 {
  2581.                     If (PICM)
  2582.                     {
  2583.                         Return (AR04 ())
  2584.                     }
  2585.  
  2586.                     Return (PR04 ())
  2587.                 }
  2588.             }
  2589.  
  2590.             Device (RP02)
  2591.             {
  2592.                 Name (_ADR, 0x001C0001)  // _ADR: Address
  2593.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2594.                 {
  2595.                     0x09,
  2596.                     0x03
  2597.                 })
  2598.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  2599.                 {
  2600.                     If (PICM)
  2601.                     {
  2602.                         Return (AR05 ())
  2603.                     }
  2604.  
  2605.                     Return (PR05 ())
  2606.                 }
  2607.             }
  2608.  
  2609.             Device (RP03)
  2610.             {
  2611.                 Name (_ADR, 0x001C0002)  // _ADR: Address
  2612.                 Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2613.                 {
  2614.                     0x09,
  2615.                     0x03
  2616.                 })
  2617.                 Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
  2618.                 {
  2619.                     If (PICM)
  2620.                     {
  2621.                         Return (AR06 ())
  2622.                     }
  2623.  
  2624.                     Return (PR06 ())
  2625.                 }
  2626.             }
  2627.  
  2628.             Scope (\_SB.PCI0.RP01)
  2629.             {
  2630.                 OperationRegion (A1E0, PCI_Config, 0x00, 0x60)
  2631.                 Field (A1E0, ByteAcc, NoLock, Preserve)
  2632.                 {
  2633.                     Offset (0x04),
  2634.                     BMIE,   3,
  2635.                     Offset (0x19),
  2636.                     SECB,   8,
  2637.                     SBBN,   8,
  2638.                     Offset (0x1E),
  2639.                         ,   13,
  2640.                     MABT,   1,
  2641.                     Offset (0x4A),
  2642.                         ,   5,
  2643.                     TPEN,   1,
  2644.                     Offset (0x50),
  2645.                         ,   4,
  2646.                     LDIS,   1,
  2647.                         ,   24,
  2648.                     LACT,   1
  2649.                 }
  2650.  
  2651.                 Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
  2652.                 {
  2653.                     If (((BMIE == 0x00) && (SECB == 0xFF)))
  2654.                     {
  2655.                         Return (SNBS) /* \_SB_.PCI0.RP01.SNBS */
  2656.                     }
  2657.                     Else
  2658.                     {
  2659.                         Return (SECB) /* \_SB_.PCI0.RP01.SECB */
  2660.                     }
  2661.                 }
  2662.  
  2663.                 Method (_STA, 0, NotSerialized)  // _STA: Status
  2664.                 {
  2665.                     Return (0x0F)
  2666.                 }
  2667.  
  2668.                 Name (BMIS, 0x00)
  2669.                 Name (SNBS, 0x00)
  2670.                 Name (SOBS, 0x00)
  2671.                 Name (LPFL, 0x00)
  2672.                 Method (C4PU, 0, Serialized)
  2673.                 {
  2674.                     SBBN = SOBS /* \_SB_.PCI0.RP01.SOBS */
  2675.                     SECB = SNBS /* \_SB_.PCI0.RP01.SNBS */
  2676.                     BMIE = BMIS /* \_SB_.PCI0.RP01.BMIS */
  2677.                     LDIS = 0x00
  2678.                     Local0 = 0x00
  2679.                     LPFL = (LPFL | 0x20)
  2680.                     GP49 = 0x01
  2681.                     While (0x01)
  2682.                     {
  2683.                         Sleep (0x05)
  2684.                         Sleep (0x64)
  2685.                         Local1 = 0x00
  2686.                         Local2 = (Timer + 0x00989680)
  2687.                         While ((Timer <= Local2))
  2688.                         {
  2689.                             If (((LACT == 0x01) && (\_SB.PCI0.RP01.SDXC.AVND != 0xFFFF)))
  2690.                             {
  2691.                                 Local1 = 0x01
  2692.                                 Break
  2693.                             }
  2694.  
  2695.                             Sleep (0x0A)
  2696.                         }
  2697.  
  2698.                         If ((Local1 == 0x01))
  2699.                         {
  2700.                             LPFL = (LPFL & ~0x20)
  2701.                             MABT = 0x01
  2702.                             Break
  2703.                         }
  2704.  
  2705.                         If ((Local0 == 0x04))
  2706.                         {
  2707.                             LPFL = (LPFL | (0x20 | 0x80))
  2708.                             Break
  2709.                         }
  2710.  
  2711.                         Local0++
  2712.                         GP49 = 0x00
  2713.                         Sleep (0x64)
  2714.                         GP49 = 0x01
  2715.                     }
  2716.  
  2717.                     Return (Zero)
  2718.                 }
  2719.  
  2720.                 Method (C4PD, 0, Serialized)
  2721.                 {
  2722.                     LPFL = (LPFL | 0x10)
  2723.                     BMIS = BMIE /* \_SB_.PCI0.RP01.BMIE */
  2724.                     SNBS = SECB /* \_SB_.PCI0.RP01.SECB */
  2725.                     SOBS = SBBN /* \_SB_.PCI0.RP01.SBBN */
  2726.                     BMIE = 0x00
  2727.                     SECB = 0xFF
  2728.                     SBBN = 0xFE
  2729.                     Local0 = TPEN /* \_SB_.PCI0.RP01.TPEN */
  2730.                     LDIS = 0x01
  2731.                     Local0 = (Timer + 0x00989680)
  2732.                     While ((Timer <= Local0))
  2733.                     {
  2734.                         If ((LACT == 0x00))
  2735.                         {
  2736.                             LPFL = (LPFL & ~0x10)
  2737.                             Break
  2738.                         }
  2739.  
  2740.                         Sleep (0x0A)
  2741.                     }
  2742.  
  2743.                     If ((LPFL & 0x10))
  2744.                     {
  2745.                         LPFL = (LPFL | (0x10 | 0x40))
  2746.                     }
  2747.  
  2748.                     GP49 = 0x00
  2749.                     Sleep (0x32)
  2750.                 }
  2751.  
  2752.                 Method (C4LP, 0, Serialized)
  2753.                 {
  2754.                     If (!OSDW ())
  2755.                     {
  2756.                         Return (Zero)
  2757.                     }
  2758.  
  2759.                     If ((((LPFL & 0x04) == 0x00) && ((LPFL & 0x02
  2760.                         ) == 0x02)))
  2761.                     {
  2762.                         LPFL = (LPFL & ~0x10)
  2763.                         C4PD ()
  2764.                         LPFL = (LPFL | 0x04)
  2765.                         Return (Zero)
  2766.                     }
  2767.  
  2768.                     If ((((LPFL & 0x04) == 0x04) && ((LPFL &
  2769.                         0x02) != 0x02)))
  2770.                     {
  2771.                         LPFL = (LPFL & ~0x20)
  2772.                         C4PU ()
  2773.                         LPFL = (LPFL & ~0x04)
  2774.                         Return (Zero)
  2775.                     }
  2776.  
  2777.                     Return (Zero)
  2778.                 }
  2779.  
  2780.                 Device (SDXC)
  2781.                 {
  2782.                     Name (_ADR, 0x01)  // _ADR: Address
  2783.                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2784.                     {
  2785.                         0x1E,
  2786.                         0x03
  2787.                     })
  2788.                     Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  2789.                     {
  2790.                         Return (0x00)
  2791.                     }
  2792.  
  2793.                     OperationRegion (ARE1, PCI_Config, 0x00, 0x04)
  2794.                     Field (ARE1, ByteAcc, NoLock, Preserve)
  2795.                     {
  2796.                         AVND,   16
  2797.                     }
  2798.  
  2799.                     Name (SDAF, 0x04)
  2800.                     Name (_GPE, 0x1E)  // _GPE: General Purpose Events
  2801.                     Method (SLPR, 1, Serialized)
  2802.                     {
  2803.                         If (Arg0)
  2804.                         {
  2805.                             LPFL = (LPFL | 0x02)
  2806.                         }
  2807.                         Else
  2808.                         {
  2809.                             LPFL = (LPFL & ~0x02)
  2810.                         }
  2811.  
  2812.                         C4LP ()
  2813.                         Return (LPFL) /* \_SB_.PCI0.RP01.LPFL */
  2814.                     }
  2815.                 }
  2816.             }
  2817.  
  2818.             Scope (\_SB.PCI0.RP02)
  2819.             {
  2820.                 OperationRegion (A1E0, PCI_Config, 0x00, 0xFF)
  2821.                 Field (A1E0, ByteAcc, NoLock, Preserve)
  2822.                 {
  2823.                     Offset (0x04),
  2824.                     BMIE,   3,
  2825.                     Offset (0x19),
  2826.                     SECB,   8,
  2827.                     SBBN,   8,
  2828.                     Offset (0x1E),
  2829.                         ,   13,
  2830.                     MABT,   1,
  2831.                     Offset (0x4A),
  2832.                         ,   5,
  2833.                     TPEN,   1,
  2834.                     Offset (0x50),
  2835.                         ,   4,
  2836.                     LDIS,   1,
  2837.                         ,   24,
  2838.                     LACT,   1,
  2839.                     Offset (0xA4),
  2840.                     PSTA,   2
  2841.                 }
  2842.  
  2843.                 Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
  2844.                 {
  2845.                     If (((BMIE == 0x00) && (SECB == 0xFF)))
  2846.                     {
  2847.                         Return (SNBS) /* \_SB_.PCI0.RP02.SNBS */
  2848.                     }
  2849.                     Else
  2850.                     {
  2851.                         Return (SECB) /* \_SB_.PCI0.RP02.SECB */
  2852.                     }
  2853.                 }
  2854.  
  2855.                 Method (_STA, 0, NotSerialized)  // _STA: Status
  2856.                 {
  2857.                     Return (0x0F)
  2858.                 }
  2859.  
  2860.                 Name (BMIS, 0x00)
  2861.                 Name (SNBS, 0x00)
  2862.                 Name (SOBS, 0x00)
  2863.                 Method (APPD, 0, Serialized)
  2864.                 {
  2865.                     If ((!OSDW () || ((WOWE == 0x01) || (TAPD != 0x01))))
  2866.                     {
  2867.                         Return (Zero)
  2868.                     }
  2869.  
  2870.                     \_SB.PCI0.RP02.ARPT.PSTA = 0x03
  2871.                     If ((((BMIE != 0x00) && (BMIE != BMIS)) && (
  2872.                         ((SECB != 0x00) && (SECB != SNBS)) && ((SBBN !=
  2873.                         0x00) && (SBBN != SOBS)))))
  2874.                     {
  2875.                         BMIS = BMIE /* \_SB_.PCI0.RP02.BMIE */
  2876.                         SNBS = SECB /* \_SB_.PCI0.RP02.SECB */
  2877.                         SOBS = SBBN /* \_SB_.PCI0.RP02.SBBN */
  2878.                     }
  2879.  
  2880.                     BMIE = 0x00
  2881.                     SECB = 0xFF
  2882.                     SBBN = 0xFE
  2883.                     Local0 = TPEN /* \_SB_.PCI0.RP02.TPEN */
  2884.                     PSTA = 0x03
  2885.                     Local0 = TPEN /* \_SB_.PCI0.RP02.TPEN */
  2886.                     LDIS = 0x01
  2887.                     Local0 = (Timer + 0x00989680)
  2888.                     While ((Timer <= Local0))
  2889.                     {
  2890.                         If ((LACT == 0x00))
  2891.                         {
  2892.                             Break
  2893.                         }
  2894.  
  2895.                         Sleep (0x0A)
  2896.                     }
  2897.  
  2898.                     GP10 = 0x00
  2899.                     GD10 = 0x00
  2900.                     Sleep (0x0107)
  2901.                     Return (Zero)
  2902.                 }
  2903.  
  2904.                 Method (APPU, 0, Serialized)
  2905.                 {
  2906.                     If ((!OSDW () || ((WOWE == 0x01) || (TAPD != 0x01))))
  2907.                     {
  2908.                         Return (Zero)
  2909.                     }
  2910.  
  2911.                     Local0 = 0x00
  2912.                     PSTA = 0x00
  2913.                     SBBN = SOBS /* \_SB_.PCI0.RP02.SOBS */
  2914.                     SECB = SNBS /* \_SB_.PCI0.RP02.SNBS */
  2915.                     LDIS = 0x00
  2916.                     If (((GD10 == 0x01) && (GP10 == 0x01)))
  2917.                     {
  2918.                         Return (Zero)
  2919.                     }
  2920.  
  2921.                     While (0x01)
  2922.                     {
  2923.                         GD10 = 0x01
  2924.                         Sleep (0xFA)
  2925.                         Local1 = 0x00
  2926.                         Local2 = (Timer + 0x00989680)
  2927.                         While ((Timer <= Local2))
  2928.                         {
  2929.                             If (((LACT == 0x01) && (\_SB.PCI0.RP02.ARPT.AVND != 0xFFFF)))
  2930.                             {
  2931.                                 Local1 = 0x01
  2932.                                 Break
  2933.                             }
  2934.  
  2935.                             Sleep (0x0A)
  2936.                         }
  2937.  
  2938.                         If ((Local1 == 0x01))
  2939.                         {
  2940.                             MABT = 0x01
  2941.                             Break
  2942.                         }
  2943.  
  2944.                         If ((Local0 == 0x04))
  2945.                         {
  2946.                             Break
  2947.                         }
  2948.  
  2949.                         Local0++
  2950.                         GD10 = 0x00
  2951.                         GP10 = 0x00
  2952.                         Sleep (0x0107)
  2953.                     }
  2954.  
  2955.                     Return (Zero)
  2956.                 }
  2957.  
  2958.                 Method (ALPR, 1, NotSerialized)
  2959.                 {
  2960.                     If ((Arg0 == 0x01))
  2961.                     {
  2962.                         APPD ()
  2963.                     }
  2964.                     Else
  2965.                     {
  2966.                         APPU ()
  2967.                     }
  2968.                 }
  2969.  
  2970.                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
  2971.                 {
  2972.                     ALPR (0x00)
  2973.                 }
  2974.  
  2975.                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
  2976.                 {
  2977.                     ALPR (0x01)
  2978.                 }
  2979.  
  2980.                 Device (ARPT)
  2981.                 {
  2982.                     Name (_ADR, 0x00)  // _ADR: Address
  2983.                     OperationRegion (ARE2, PCI_Config, 0x00, 0xFF)
  2984.                     Field (ARE2, ByteAcc, NoLock, Preserve)
  2985.                     {
  2986.                         AVND,   16,
  2987.                         ADID,   16,
  2988.                         Offset (0x44),
  2989.                         PSTA,   2
  2990.                     }
  2991.  
  2992.                     Method (_STA, 0, NotSerialized)  // _STA: Status
  2993.                     {
  2994.                         Return (0x0F)
  2995.                     }
  2996.  
  2997.                     Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  2998.                     {
  2999.                         0x09,
  3000.                         0x03
  3001.                     })
  3002.                     Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
  3003.                     {
  3004.                         Return (0x00)
  3005.                     }
  3006.  
  3007.                     Method (WWEN, 1, NotSerialized)
  3008.                     {
  3009.                         WOWE = Arg0
  3010.                     }
  3011.  
  3012.                     Method (PDEN, 1, NotSerialized)
  3013.                     {
  3014.                         TAPD = Arg0
  3015.                     }
  3016.                 }
  3017.             }
  3018.         }
  3019.  
  3020.         Device (ADP1)
  3021.         {
  3022.             Name (_HID, "ACPI0003" /* Power Source Device */)  // _HID: Hardware ID
  3023.             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3024.             {
  3025.                 0x23,
  3026.                 0x04
  3027.             })
  3028.             Name (WK00, 0x01)
  3029.             Method (SWAK, 1, NotSerialized)
  3030.             {
  3031.                 WK00 = (Arg0 & 0x03)
  3032.                 If (!WK00)
  3033.                 {
  3034.                     WK00 = 0x01
  3035.                 }
  3036.             }
  3037.  
  3038.             Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
  3039.             {
  3040.                 Return (PWRS) /* \PWRS */
  3041.             }
  3042.  
  3043.             Method (_PCL, 0, NotSerialized)  // _PCL: Power Consumer List
  3044.             {
  3045.                 Return (\_SB)
  3046.             }
  3047.  
  3048.             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
  3049.             {
  3050.                 If (OSDW ())
  3051.                 {
  3052.                     If (\_SB.PCI0.LPCB.EC.ECOK)
  3053.                     {
  3054.                         If (Arg0)
  3055.                         {
  3056.                             If ((WK00 & 0x01))
  3057.                             {
  3058.                                 \_SB.PCI0.LPCB.EC.EWAI = 0x01
  3059.                             }
  3060.  
  3061.                             If ((WK00 & 0x02))
  3062.                             {
  3063.                                 \_SB.PCI0.LPCB.EC.EWAR = 0x01
  3064.                             }
  3065.                         }
  3066.                         Else
  3067.                         {
  3068.                             \_SB.PCI0.LPCB.EC.EWAI = 0x00
  3069.                             \_SB.PCI0.LPCB.EC.EWAR = 0x00
  3070.                         }
  3071.                     }
  3072.                 }
  3073.             }
  3074.         }
  3075.  
  3076.         Device (LID0)
  3077.         {
  3078.             Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: Hardware ID
  3079.             Name (_PRW, Package (0x02)  // _PRW: Power Resources for Wake
  3080.             {
  3081.                 0x23,
  3082.                 0x04
  3083.             })
  3084.             Method (_LID, 0, NotSerialized)  // _LID: Lid Status
  3085.             {
  3086.                 Return (LIDS) /* \LIDS */
  3087.             }
  3088.  
  3089.             Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
  3090.             {
  3091.                 If (\_SB.PCI0.LPCB.EC.ECOK)
  3092.                 {
  3093.                     If (Arg0)
  3094.                     {
  3095.                         \_SB.PCI0.LPCB.EC.EWLO = 0x01
  3096.                     }
  3097.                     Else
  3098.                     {
  3099.                         \_SB.PCI0.LPCB.EC.EWLO = 0x00
  3100.                     }
  3101.                 }
  3102.             }
  3103.         }
  3104.  
  3105.         Device (PWRB)
  3106.         {
  3107.             Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  // _HID: Hardware ID
  3108.         }
  3109.     }
  3110.  
  3111.     Scope (\_PR)
  3112.     {
  3113.         Processor (CPU0, 0x01, 0x00000410, 0x06){}
  3114.         Processor (CPU1, 0x02, 0x00000410, 0x06){}
  3115.         Processor (CPU2, 0x03, 0x00000410, 0x06){}
  3116.         Processor (CPU3, 0x04, 0x00000410, 0x06){}
  3117.         Processor (CPU4, 0x05, 0x00000410, 0x06){}
  3118.         Processor (CPU5, 0x06, 0x00000410, 0x06){}
  3119.         Processor (CPU6, 0x07, 0x00000410, 0x06){}
  3120.         Processor (CPU7, 0x08, 0x00000410, 0x06){}
  3121.     }
  3122.  
  3123.     Mutex (MUTX, 0x00)
  3124.     OperationRegion (PRT0, SystemIO, 0x80, 0x04)
  3125.     Field (PRT0, DWordAcc, Lock, Preserve)
  3126.     {
  3127.         P80H,   32
  3128.     }
  3129.  
  3130.     OperationRegion (PLMT, SystemIO, 0x0310, 0x0A)
  3131.     Field (PLMT, WordAcc, Lock, Preserve)
  3132.     {
  3133.         CPLT,   8,
  3134.         IGPS,   8,
  3135.         MPLT,   8,
  3136.         CFIL,   8,
  3137.         EGPS,   8
  3138.     }
  3139.  
  3140.     Method (P8XH, 2, Serialized)
  3141.     {
  3142.         If ((Arg0 == 0x00))
  3143.         {
  3144.             P80D = ((P80D & 0xFFFFFF00) | Arg1)
  3145.         }
  3146.  
  3147.         If ((Arg0 == 0x01))
  3148.         {
  3149.             P80D = ((P80D & 0xFFFF00FF) | (Arg1 << 0x08))
  3150.         }
  3151.  
  3152.         If ((Arg0 == 0x02))
  3153.         {
  3154.             P80D = ((P80D & 0xFF00FFFF) | (Arg1 << 0x10))
  3155.         }
  3156.  
  3157.         If ((Arg0 == 0x03))
  3158.         {
  3159.             P80D = ((P80D & 0x00FFFFFF) | (Arg1 << 0x18))
  3160.         }
  3161.  
  3162.         P80H = P80D /* \P80D */
  3163.     }
  3164.  
  3165.     OperationRegion (SPRT, SystemIO, 0xB2, 0x02)
  3166.     Field (SPRT, ByteAcc, Lock, Preserve)
  3167.     {
  3168.         SSMP,   8,
  3169.         SSMY,   8
  3170.     }
  3171.  
  3172.     Method (\_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
  3173.     {
  3174.         GPIC = Arg0
  3175.         PICM = Arg0
  3176.     }
  3177.  
  3178.     Method (GETB, 3, Serialized)
  3179.     {
  3180.         Local0 = (Arg0 * 0x08)
  3181.         Local1 = (Arg1 * 0x08)
  3182.         CreateField (Arg2, Local0, Local1, TBF3)
  3183.         Return (TBF3) /* \GETB.TBF3 */
  3184.     }
  3185.  
  3186.     Method (PNOT, 0, Serialized)
  3187.     {
  3188.         If ((TCNT > 0x01))
  3189.         {
  3190.             If ((PDC0 & 0x08))
  3191.             {
  3192.                 Notify (\_PR.CPU0, 0x80) // Performance Capability Change
  3193.                 If ((PDC0 & 0x10))
  3194.                 {
  3195.                     Notify (\_PR.CPU0, 0x81) // C-State Change
  3196.                 }
  3197.             }
  3198.  
  3199.             If ((PDC1 & 0x08))
  3200.             {
  3201.                 Notify (\_PR.CPU1, 0x80) // Performance Capability Change
  3202.                 If ((PDC1 & 0x10))
  3203.                 {
  3204.                     Notify (\_PR.CPU1, 0x81) // C-State Change
  3205.                 }
  3206.             }
  3207.  
  3208.             If ((PDC2 & 0x08))
  3209.             {
  3210.                 Notify (\_PR.CPU2, 0x80) // Performance Capability Change
  3211.                 If ((PDC2 & 0x10))
  3212.                 {
  3213.                     Notify (\_PR.CPU2, 0x81) // C-State Change
  3214.                 }
  3215.             }
  3216.  
  3217.             If ((PDC3 & 0x08))
  3218.             {
  3219.                 Notify (\_PR.CPU3, 0x80) // Performance Capability Change
  3220.                 If ((PDC3 & 0x10))
  3221.                 {
  3222.                     Notify (\_PR.CPU3, 0x81) // C-State Change
  3223.                 }
  3224.             }
  3225.  
  3226.             If ((PDC4 & 0x08))
  3227.             {
  3228.                 Notify (\_PR.CPU4, 0x80) // Performance Capability Change
  3229.                 If ((PDC4 & 0x10))
  3230.                 {
  3231.                     Notify (\_PR.CPU4, 0x81) // C-State Change
  3232.                 }
  3233.             }
  3234.  
  3235.             If ((PDC5 & 0x08))
  3236.             {
  3237.                 Notify (\_PR.CPU5, 0x80) // Performance Capability Change
  3238.                 If ((PDC5 & 0x10))
  3239.                 {
  3240.                     Notify (\_PR.CPU5, 0x81) // C-State Change
  3241.                 }
  3242.             }
  3243.  
  3244.             If ((PDC6 & 0x08))
  3245.             {
  3246.                 Notify (\_PR.CPU6, 0x80) // Performance Capability Change
  3247.                 If ((PDC6 & 0x10))
  3248.                 {
  3249.                     Notify (\_PR.CPU6, 0x81) // C-State Change
  3250.                 }
  3251.             }
  3252.  
  3253.             If ((PDC7 & 0x08))
  3254.             {
  3255.                 Notify (\_PR.CPU7, 0x80) // Performance Capability Change
  3256.                 If ((PDC7 & 0x10))
  3257.                 {
  3258.                     Notify (\_PR.CPU7, 0x81) // C-State Change
  3259.                 }
  3260.             }
  3261.         }
  3262.         Else
  3263.         {
  3264.             Notify (\_PR.CPU0, 0x80) // Performance Capability Change
  3265.             Notify (\_PR.CPU0, 0x81) // C-State Change
  3266.         }
  3267.     }
  3268.  
  3269.     Method (TRAP, 2, Serialized)
  3270.     {
  3271.         SMIF = Arg1
  3272.         If ((Arg0 == \TRTP))
  3273.         {
  3274.             TRP0 = 0x00
  3275.         }
  3276.  
  3277.         If ((Arg0 == \TRTD))
  3278.         {
  3279.             DTSF = Arg1
  3280.             TRPD = 0x00
  3281.             Return (DTSF) /* \DTSF */
  3282.         }
  3283.  
  3284.         If ((Arg0 == \TRTI))
  3285.         {
  3286.             TRPH = 0x00
  3287.         }
  3288.  
  3289.         Return (SMIF) /* \SMIF */
  3290.     }
  3291.  
  3292.     Scope (\_SB)
  3293.     {
  3294.         Method (_INI, 0, NotSerialized)  // _INI: Initialize
  3295.         {
  3296.             PINI ()
  3297.         }
  3298.  
  3299.         Device (PNLF)
  3300.         {
  3301.             Name (_ADR, 0x00)  // _ADR: Address
  3302.             Name (_HID, EisaId ("APP0002"))  // _HID: Hardware ID
  3303.             Name (_CID, "backlight")  // _CID: Compatible ID
  3304.             Name (_UID, 0x0E)  // _UID: Unique ID
  3305.             Name (_STA, 0x0B)  // _STA: Status
  3306.         }
  3307.  
  3308.         Device (SLPB)
  3309.         {
  3310.             Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  // _HID: Hardware ID
  3311.             Name (_STA, 0x0B)  // _STA: Status
  3312.         }
  3313.     }
  3314.  
  3315.     Scope (\_SB.PCI0)
  3316.     {
  3317.         Method (_INI, 0, NotSerialized)  // _INI: Initialize
  3318.         {
  3319.             \_SB.PCI0.RMCR ()
  3320.             OSYS = 0x07DC
  3321.             If (CondRefOf (\_OSI, Local0))
  3322.             {
  3323.                 If (_OSI ("Darwin"))
  3324.                 {
  3325.                     OSYS = 0x2710
  3326.                 }
  3327.  
  3328.                 If (\_OSI ("Linux"))
  3329.                 {
  3330.                     OSYS = 0x03E8
  3331.                 }
  3332.  
  3333.                 If (\_OSI ("Windows 2009"))
  3334.                 {
  3335.                     OSYS = 0x07D9
  3336.                 }
  3337.  
  3338.                 If (\_OSI ("Windows 2012"))
  3339.                 {
  3340.                     OSYS = 0x07DC
  3341.                 }
  3342.             }
  3343.         }
  3344.  
  3345.         Method (NHPG, 0, Serialized)
  3346.         {
  3347.         }
  3348.  
  3349.         Method (NPME, 0, Serialized)
  3350.         {
  3351.         }
  3352.     }
  3353.  
  3354.     Scope (\)
  3355.     {
  3356.         Name (PICM, 0x00)
  3357.         Method (OSDW, 0, NotSerialized)
  3358.         {
  3359.             If ((OSYS == 0x2710))
  3360.             {
  3361.                 Return (0x01)
  3362.             }
  3363.             Else
  3364.             {
  3365.                 Return (0x00)
  3366.             }
  3367.         }
  3368.  
  3369.         Method (PINI, 0, NotSerialized)
  3370.         {
  3371.             OSYS = 0x07DC
  3372.             If (CondRefOf (_OSI, Local0))
  3373.             {
  3374.                 If (_OSI ("Darwin"))
  3375.                 {
  3376.                     OSYS = 0x2710
  3377.                 }
  3378.                 ElseIf (_OSI ("Linux"))
  3379.                 {
  3380.                     OSYS = 0x03E8
  3381.                 }
  3382.                 ElseIf (_OSI ("Windows 2009"))
  3383.                 {
  3384.                     OSYS = 0x07D9
  3385.                 }
  3386.                 ElseIf (_OSI ("Windows 2012"))
  3387.                 {
  3388.                     OSYS = 0x07DC
  3389.                 }
  3390.             }
  3391.             Else
  3392.             {
  3393.                 OSYS = 0x07DC
  3394.             }
  3395.         }
  3396.     }
  3397.  
  3398.     Scope (\_SB.PCI0)
  3399.     {
  3400.         Device (PDRC)
  3401.         {
  3402.             Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)  // _HID: Hardware ID
  3403.             Name (_UID, 0x01)  // _UID: Unique ID
  3404.             Name (BUF0, ResourceTemplate ()
  3405.             {
  3406.                 Memory32Fixed (ReadWrite,
  3407.                     0x00000000,         // Address Base
  3408.                     0x00004000,         // Address Length
  3409.                     _Y17)
  3410.                 Memory32Fixed (ReadWrite,
  3411.                     0x00000000,         // Address Base
  3412.                     0x00008000,         // Address Length
  3413.                     _Y19)
  3414.                 Memory32Fixed (ReadWrite,
  3415.                     0x00000000,         // Address Base
  3416.                     0x00001000,         // Address Length
  3417.                     _Y1A)
  3418.                 Memory32Fixed (ReadWrite,
  3419.                     0x00000000,         // Address Base
  3420.                     0x00001000,         // Address Length
  3421.                     _Y1B)
  3422.                 Memory32Fixed (ReadWrite,
  3423.                     0x00000000,         // Address Base
  3424.                     0x00000000,         // Address Length
  3425.                     _Y1C)
  3426.                 Memory32Fixed (ReadWrite,
  3427.                     0xFED20000,         // Address Base
  3428.                     0x00020000,         // Address Length
  3429.                     )
  3430.                 Memory32Fixed (ReadOnly,
  3431.                     0xFED90000,         // Address Base
  3432.                     0x00004000,         // Address Length
  3433.                     )
  3434.                 Memory32Fixed (ReadWrite,
  3435.                     0xFED45000,         // Address Base
  3436.                     0x0004B000,         // Address Length
  3437.                     )
  3438.                 Memory32Fixed (ReadOnly,
  3439.                     0xFF000000,         // Address Base
  3440.                     0x01000000,         // Address Length
  3441.                     )
  3442.                 Memory32Fixed (ReadOnly,
  3443.                     0xFEE00000,         // Address Base
  3444.                     0x00100000,         // Address Length
  3445.                     )
  3446.                 Memory32Fixed (ReadWrite,
  3447.                     0x00000000,         // Address Base
  3448.                     0x00001000,         // Address Length
  3449.                     _Y18)
  3450.             })
  3451.             Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
  3452.             {
  3453.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y17._BAS, RBR0)  // _BAS: Base Address
  3454.                 RBR0 = (\_SB.PCI0.LPCB.RCBA << 0x0E)
  3455.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y18._BAS, TBR0)  // _BAS: Base Address
  3456.                 TBR0 = TBAB /* \TBAB */
  3457.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y18._LEN, TBLN)  // _LEN: Length
  3458.                 If ((TBAB == 0x00))
  3459.                 {
  3460.                     TBLN = 0x00
  3461.                 }
  3462.  
  3463.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y19._BAS, MBR0)  // _BAS: Base Address
  3464.                 MBR0 = (\_SB.PCI0.MHBR << 0x0F)
  3465.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1A._BAS, DBR0)  // _BAS: Base Address
  3466.                 DBR0 = (\_SB.PCI0.DIBR << 0x0C)
  3467.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1B._BAS, EBR0)  // _BAS: Base Address
  3468.                 EBR0 = (\_SB.PCI0.EPBR << 0x0C)
  3469.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1C._BAS, XBR0)  // _BAS: Base Address
  3470.                 XBR0 = (\_SB.PCI0.PXBR << 0x1A)
  3471.                 CreateDWordField (BUF0, \_SB.PCI0.PDRC._Y1C._LEN, XSZ0)  // _LEN: Length
  3472.                 XSZ0 = (0x10000000 >> \_SB.PCI0.PXSZ)
  3473.                 Return (BUF0) /* \_SB_.PCI0.PDRC.BUF0 */
  3474.             }
  3475.         }
  3476.     }
  3477.  
  3478.     Scope (\)
  3479.     {
  3480.         OperationRegion (IO_T, SystemIO, 0x1000, 0x10)
  3481.         Field (IO_T, ByteAcc, NoLock, Preserve)
  3482.         {
  3483.             TRPI,   16,
  3484.             Offset (0x04),
  3485.             Offset (0x06),
  3486.             Offset (0x08),
  3487.             TRP0,   8,
  3488.             Offset (0x0A),
  3489.             Offset (0x0B),
  3490.             Offset (0x0C),
  3491.             Offset (0x0D),
  3492.             Offset (0x0E),
  3493.             Offset (0x0F),
  3494.             Offset (0x10)
  3495.         }
  3496.  
  3497.         OperationRegion (IO_D, SystemIO, 0x0810, 0x04)
  3498.         Field (IO_D, ByteAcc, NoLock, Preserve)
  3499.         {
  3500.             TRPD,   8
  3501.         }
  3502.  
  3503.         OperationRegion (IO_H, SystemIO, 0x1000, 0x04)
  3504.         Field (IO_H, ByteAcc, NoLock, Preserve)
  3505.         {
  3506.             TRPH,   8
  3507.         }
  3508.  
  3509.         OperationRegion (PMIO, SystemIO, \PMBS, 0x80)
  3510.         Field (PMIO, ByteAcc, NoLock, Preserve)
  3511.         {
  3512.             Offset (0x20),
  3513.                 ,   1,
  3514.                 ,   1,
  3515.             SPST,   1,
  3516.                 ,   3,
  3517.                 ,   6,
  3518.                 ,   1,
  3519.                 ,   1,
  3520.             Offset (0x22),
  3521.                 ,   9,
  3522.             GS09,   1,
  3523.                 ,   3,
  3524.             GS13,   1,
  3525.             Offset (0x24),
  3526.                 ,   3,
  3527.                 ,   1,
  3528.             Offset (0x28),
  3529.                 ,   1,
  3530.                 ,   2,
  3531.                 ,   3,
  3532.                 ,   6,
  3533.                 ,   1,
  3534.                 ,   1,
  3535.             Offset (0x2A),
  3536.                 ,   9,
  3537.             GE09,   1,
  3538.                 ,   3,
  3539.             GE13,   1,
  3540.             Offset (0x2C),
  3541.                 ,   3,
  3542.                 ,   1,
  3543.             Offset (0x30),
  3544.             Offset (0x42),
  3545.                 ,   1,
  3546.             GPEC,   1,
  3547.                 ,   1,
  3548.             Offset (0x43),
  3549.             Offset (0x64),
  3550.                 ,   4,
  3551.                 ,   3,
  3552.                 ,   2,
  3553.             SCIS,   1,
  3554.                 ,   4,
  3555.             Offset (0x66)
  3556.         }
  3557.  
  3558.         OperationRegion (GPIO, SystemIO, \GPBS, 0x64)
  3559.         Field (GPIO, ByteAcc, NoLock, Preserve)
  3560.         {
  3561.                 ,   5,
  3562.             GU05,   1,
  3563.             Offset (0x01),
  3564.             GUV1,   8,
  3565.             GUV2,   8,
  3566.             GUV3,   8,
  3567.             GD00,   4,
  3568.             GD04,   1,
  3569.                 ,   5,
  3570.             GD10,   1,
  3571.                 ,   1,
  3572.             GD12,   1,
  3573.                 ,   1,
  3574.             GD14,   1,
  3575.             Offset (0x07),
  3576.             GD24,   1,
  3577.             Offset (0x08),
  3578.             Offset (0x0C),
  3579.                 ,   3,
  3580.             GP03,   1,
  3581.             GP04,   1,
  3582.             GP05,   1,
  3583.             GP06,   1,
  3584.             GP07,   1,
  3585.             GP08,   1,
  3586.             GP09,   1,
  3587.             GP10,   1,
  3588.             GP11,   1,
  3589.             GP12,   1,
  3590.             GP13,   1,
  3591.             GP14,   1,
  3592.             GP15,   1,
  3593.             GP16,   1,
  3594.             GP17,   1,
  3595.             GP18,   1,
  3596.             GP19,   1,
  3597.             GP20,   1,
  3598.             GP21,   1,
  3599.             GP22,   1,
  3600.             GP23,   1,
  3601.             GP24,   1,
  3602.                 ,   2,
  3603.             GP27,   1,
  3604.             GP28,   1,
  3605.             Offset (0x10),
  3606.             Offset (0x18),
  3607.             GB00,   8,
  3608.             GB01,   8,
  3609.             GB02,   8,
  3610.             GB03,   8,
  3611.             Offset (0x2C),
  3612.                 ,   3,
  3613.             GI03,   1,
  3614.             GI04,   1,
  3615.             GI05,   1,
  3616.             GI06,   1,
  3617.             Offset (0x2D),
  3618.             GI08,   1,
  3619.             GI09,   1,
  3620.             GI10,   1,
  3621.             GI11,   1,
  3622.             Offset (0x2E),
  3623.             GIV2,   8,
  3624.             GIV3,   8,
  3625.             GUV4,   8,
  3626.             GUV5,   8,
  3627.             GUV6,   8,
  3628.             GUV7,   8,
  3629.             GIO4,   8,
  3630.             GI40,   1,
  3631.             GI41,   1,
  3632.             GI42,   1,
  3633.                 ,   3,
  3634.             GI46,   1,
  3635.             Offset (0x36),
  3636.             GIO6,   8,
  3637.                 ,   3,
  3638.             GI59,   1,
  3639.             GI60,   1,
  3640.             Offset (0x38),
  3641.                 ,   4,
  3642.             GP36,   1,
  3643.             Offset (0x39),
  3644.             GP40,   1,
  3645.             GP41,   1,
  3646.             GP42,   1,
  3647.                 ,   2,
  3648.             GP45,   1,
  3649.             GP46,   1,
  3650.             Offset (0x3A),
  3651.             GP48,   1,
  3652.             GP49,   1,
  3653.             GL06,   6,
  3654.                 ,   3,
  3655.             GP59,   1,
  3656.             GP60,   1,
  3657.             Offset (0x3C),
  3658.             Offset (0x40),
  3659.             GUV8,   8,
  3660.             GUV9,   8,
  3661.             GUVA,   8,
  3662.             GUVB,   8,
  3663.             GIO8,   4,
  3664.             GI68,   1,
  3665.             GI69,   1,
  3666.             GI70,   1,
  3667.             GI71,   1,
  3668.             GI72,   1,
  3669.             GI73,   1,
  3670.             GI74,   1,
  3671.             GIO9,   4,
  3672.             GIOA,   8,
  3673.             GIOB,   8,
  3674.             Offset (0x48),
  3675.             GP64,   1,
  3676.                 ,   3,
  3677.             GP68,   1,
  3678.             GP69,   1,
  3679.             GL08,   2,
  3680.             GP72,   1,
  3681.             GP73,   1,
  3682.             GP74,   1,
  3683.             GL09,   5,
  3684.             GL0A,   8,
  3685.             GL0B,   8
  3686.         }
  3687.  
  3688.         OperationRegion (RCRB, SystemMemory, \SRCB, 0x4000)
  3689.         Field (RCRB, DWordAcc, Lock, Preserve)
  3690.         {
  3691.             Offset (0x1000),
  3692.             Offset (0x3000),
  3693.             Offset (0x3404),
  3694.             HPAS,   2,
  3695.                 ,   5,
  3696.             HPAE,   1,
  3697.             Offset (0x3418),
  3698.                 ,   1,
  3699.                 ,   1,
  3700.             SATD,   1,
  3701.             SMBD,   1,
  3702.             HDAD,   1,
  3703.                 ,   2,
  3704.             UH6D,   1,
  3705.             UH1D,   1,
  3706.             UH2D,   1,
  3707.             UH3D,   1,
  3708.             UH4D,   1,
  3709.             UH5D,   1,
  3710.             Offset (0x341A),
  3711.             RP1D,   1,
  3712.             RP2D,   1,
  3713.             RP3D,   1,
  3714.             RP4D,   1,
  3715.             RP5D,   1,
  3716.             RP6D,   1,
  3717.             RP7D,   1,
  3718.             RP8D,   1,
  3719.                 ,   4,
  3720.             UH7D,   1
  3721.         }
  3722.     }
  3723.  
  3724.     Scope (\_GPE)
  3725.     {
  3726.         Method (_L07, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
  3727.         {
  3728.             \_SB.PCI0.SBUS.HSTS = 0x20
  3729.         }
  3730.  
  3731.         Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
  3732.         {
  3733.             Notify (\_SB.PCI0.P0P2, 0x02) // Device Wake
  3734.             Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
  3735.             Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
  3736.             Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
  3737.             \_SB.PCI0.TGPE ()
  3738.             Notify (\_SB.PCI0.RP02.ARPT, 0x02) // Device Wake
  3739.         }
  3740.  
  3741.         Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, xx=0x00-0xFF
  3742.         {
  3743.             Notify (\_SB.PWRB, 0x02) // Device Wake
  3744.             Notify (\_SB.PCI0.EHC1, 0x02) // Device Wake
  3745.             Notify (\_SB.PCI0.EHC2, 0x02) // Device Wake
  3746.             If (OSDW ())
  3747.             {
  3748.                 Notify (\_SB.PCI0.HDEF, 0x02) // Device Wake
  3749.             }
  3750.         }
  3751.     }
  3752.  
  3753.     Method (DTGP, 5, NotSerialized)
  3754.     {
  3755.         If ((Arg0 == ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b") /* Unknown UUID */))
  3756.         {
  3757.             If ((Arg1 == One))
  3758.             {
  3759.                 If ((Arg2 == Zero))
  3760.                 {
  3761.                     Arg4 = Buffer (0x01)
  3762.                         {
  3763.                              0x03                                             // .
  3764.                         }
  3765.                     Return (One)
  3766.                 }
  3767.  
  3768.                 If ((Arg2 == One))
  3769.                 {
  3770.                     Return (One)
  3771.                 }
  3772.             }
  3773.         }
  3774.  
  3775.         Arg4 = Buffer (0x01)
  3776.             {
  3777.                  0x00                                             // .
  3778.             }
  3779.         Return (Zero)
  3780.     }
  3781.  
  3782.     Name (_S0, Package (0x03)  // _S0_: S0 System State
  3783.     {
  3784.         0x00,
  3785.         0x00,
  3786.         0x00
  3787.     })
  3788.     Name (_S4, Package (0x03)  // _S4_: S4 System State
  3789.     {
  3790.         0x06,
  3791.         0x06,
  3792.         0x00
  3793.     })
  3794.     Name (_S5, Package (0x03)  // _S5_: S5 System State
  3795.     {
  3796.         0x07,
  3797.         0x07,
  3798.         0x00
  3799.     })
  3800.     Method (_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
  3801.     {
  3802.         P80D = 0x00
  3803.         P8XH (0x00, Arg0)
  3804.         \_SB.PCI0.LPCB.EC.ECSS = Arg0
  3805.         If (!OSDW ())
  3806.         {
  3807.             If (((Arg0 == 0x03) || (Arg0 == 0x04)))
  3808.             {
  3809.                 GD24 = 0x01
  3810.                 Sleep (0x64)
  3811.                 Sleep (0x64)
  3812.                 Local0 = 0x0A
  3813.                 While ((Local0 > 0x00))
  3814.                 {
  3815.                     Local0--
  3816.                     Sleep (0x64)
  3817.                     If ((GP24 == 0x00))
  3818.                     {
  3819.                         Break
  3820.                     }
  3821.                 }
  3822.             }
  3823.         }
  3824.  
  3825.         If ((!OSDW () && (Arg0 >= 0x04)))
  3826.         {
  3827.             \_SB.PCI0.LPCB.EC.EWLO = 0x00
  3828.         }
  3829.     }
  3830.  
  3831.     Method (_WAK, 1, NotSerialized)  // _WAK: Wake
  3832.     {
  3833.         P8XH (0x00, 0x00)
  3834.         \_SB.PCI0.LPCB.EC.ECSS = 0x00
  3835.         If (OSDW ()){}
  3836.         LIDS = \_SB.PCI0.LPCB.EC.ELSW
  3837.         \_SB.PCI0.IGPU.CLID = \_SB.PCI0.LPCB.EC.ELSW
  3838.         PWRS = \_SB.PCI0.LPCB.EC.EACP
  3839.         If (!OSDW ())
  3840.         {
  3841.             \_SB.PCI0.LPCB.EC.LWE0 = 0x00
  3842.             \_SB.PCI0.LPCB.EC.LWE1 = 0x00
  3843.             \_SB.PCI0.LPCB.EC.LWE2 = 0x00
  3844.             \_SB.PCI0.LPCB.EC.LWE3 = 0x00
  3845.             If ((Arg0 == 0x03))
  3846.             {
  3847.                 \_SB.PCI0.DTLK ()
  3848.             }
  3849.  
  3850.             If ((Arg0 == 0x04))
  3851.             {
  3852.                 \_SB.PCI0.RMCR ()
  3853.             }
  3854.         }
  3855.  
  3856.         \_SB.PCI0.XHC1._INI ()
  3857.         PNOT ()
  3858.         Return (Package (0x02)
  3859.         {
  3860.             0x00,
  3861.             0x00
  3862.         })
  3863.     }
  3864. }
  3865.  
  3866.  
Advertisement
Add Comment
Please, Sign In to add comment