• [转发]黑苹果修改DSDT彻底解决关机不断电和睡眠问题


    1. 在 Method (_PTS, 1, NotSerialized)之前添加一个OperationRegion (PMRS, SystemIO, 0x0430, 0×13),如下:

    OperationRegion (PMRS, SystemIO, 0×0430, 0×13)
    Field (PMRS, ByteAcc, NoLock, Preserve)
    {
    ,   4,
    SLPE,   1
    }

    注意红色的0×0430是依据你的主板而定的,你在dsdt里搜索Processor,找到像下面这样的:
    Processor (CPU0, 0×00, 0×00000410, 0×06)
    如果是0×00000410, 就直接复制上面的就行了,如果是: Processor (P001, 0×01, 0×00000810, 0×06) {},就将0×0430改成0×0830。可以大家已经发现规律了. Processor处是0×00000410,就用0×0430; Processor处是0×00000810, 就用0×0830. 同样如果你的dsdt的Processor处是0×00000610,就用0×0630.

    2. 在Method (_PTS, 1, NotSerialized) 里将If (LEqual (Arg0, 0×05))修改成如下(没有的话就直接添加在最前面,像下面这个一样):

    Method (_PTS, 1, NotSerialized)
    {
    //Store (Zero, \_SB.PCI0.LPC.EXPE)    // 如果你的dsdt里Device (LPC)的OperationRegion里EXPE一项,可以去掉此行前面的“//”

    If (LEqual (Arg0, 0×05))
    {
    //Store (0×01, \_SB.PCI0.LPC.EXPE) // 如果你的dsdt里device (lpc)的OperationRegion里expe一项,可以去掉此行前面的“//”

    Store (Zero, SLPE) // 此行是关键不能删
    Sleep (0×10) // 此行是关键不能删
    }

    其他原来的代码不动 … …

    }

    更改完成后在S/L/E和Extra中去掉NullCPUPowerManagement,使用原生的电源管理。

    原链接:

    http://www.perlface.eu/?p=685

  • 相关阅读:
    find-the-distance-from-a-3d-point-to-a-line-segment
    Distance Point to Line Segment
    Shortest distance between a point and a line segment
    Splitting and Merging--区域分裂与合并算法
    手写区域分裂合并算法
    free online editor
    SQL server ide
    online c++ compiler
    online sql editor
    Web-based SQL editor
  • 原文地址:https://www.cnblogs.com/eaglexmw/p/3855500.html
Copyright © 2020-2023  润新知