Farx 发表于 2009-10-11 08:33

通过加载AppleLPC.kext来使用MAC原生的CPU电源管理

我不知以前有没有人讨论这个话题。如果本话题重复的话,请删除。

      不少主板都需要用NullCPUPowerManagement.kext(Disabler.kext)来禁用原生的AppleIntelCPUPowerManagement.kext,否则,CPU的温度会比正常高出十度左右。当然,有些品牌的主板(比如华硕的P5K)原生就可以加载AppleLPC,所以,这些主板的CPU温度是正常的,也就没必要禁用AppleIntelCPUPowerManagement了。
      加载AppleLPC的前提是使用DSDT。当然,也可以通过修改AppleLPC.kext里面的info.plist文件来达到加载AppleLPC的目的。不过,这样可能会导致声卡发出的声音变形。
      打开原生的AppleLPC.kext里面的info.plist文件,我们可以看得到与苹果LPC设备匹配的ID。见下图:


      下面我们要做的,就是根据这些ID来修改DSDT。打开DSDT.dsl,查找“0x001F0000”,找到下图1的位置。我们看到设备叫“PX40”。这个“PX40”只是一个马甲,不同的主板,这个马甲的名称可能不同,但地址“0x001F0000”肯定是不会变的。接着,在图2的位置加入红框内的代码。 “0x18,0x3A,0x00,0x00”就是“3a18”,你也可以改成“2815”,即“0x15,0x28,0x00,0x00”。


      这样修改之后,你的黑苹果应该就可以加载AppleLPC了。不过还要修改DSDT的两处地方来避免出现声音变形的问题。
1、查找“PNP0000”,按下图所示用/*…*/屏蔽IRQ。


2、 查找“PNP0100”,按下图所示用/*…*/屏蔽IRQ。


      至此为止,DSDT就修改完毕了。你可以删掉 NullCPUPowerManagement.kext(Disabler.kext)和SleepEnabler.kext了。加载了AppleLPC后,系统的CPU温度应该与Windows系统的CPU温度基本一样了。
      如何知道系统有没有加载AppleLPC?打开IORegisryExplorer程序,如下图所示能看到加载的AppleLPC。


      补充一点:加载AppleLPC后,你会发现,“节能器”那里多出了一个选项。要下图那样把这个多出来的选项钩选,睡眠功能才正常。否则,唤醒会变成重启。


      以上所述均在技嘉965P-S3和EX58-UD3R主板、Leopard和Snow Leopard系统上测试通过。

名词解释
    什么是LPC?百度给出的回答是这样的:LPC = Low Pin Count,是连接南桥和super I/O(该IC连接一些低速外设,如mouse,KB,Printer)的一根BUS。LPC由Intel所提出. 是为了在PC上把ISA取消而制定的一个新规格. 其目的是把非常慢速的ISA总线取消. 而为了让一些原本在ISA上跑的硬件在没有ISA的机器上能够运作所以制定了此一规格, 例如一般 K/B , MOUSE , FDD, COM PORT, PRINTER PORT 等慢速外围即可用支持LPC的SUPER IO芯片控制,而且在软件上是完全兼容的。

idream 发表于 2009-10-11 09:12

技嘉的780G板呢

jtjtjtf 发表于 2009-10-11 09:15

大早上就看到好东西。
我的就是华硕p5k的班子,可以正常使用AppleIntelCPUPowerManagement.kext,就是鼠标变得漂移了。用NullCPUPowerManagement.kext没感觉到cpu温度异常

youminbuluo 发表于 2009-10-11 10:03

不错不错~~~~

yahoo! 发表于 2009-10-11 10:15

xuexi lehehee

ksong 发表于 2009-10-11 10:45

这个还是因个人硬件不同而不同,有些无需改动也可以正常加载lpc

chenshichen 发表于 2009-10-11 10:50

venicehuang 发表于 2009-10-11 11:02

使用原生的cpu电源管理能自动降频吗台机 64位

轩楝 发表于 2009-10-11 11:19

这个不错,很需要这样的教程

duanmuxiyu 发表于 2009-10-11 11:23

额,人品爆发,自己加载了AppleLPC~

tiger 发表于 2009-10-11 11:29

我的默认就可以的!估计ich8的笔记本应该都可以吧!

venicehuang 发表于 2009-10-11 11:54

本帖最后由 venicehuang 于 2009-10-11 12:38 编辑

已照图改完了,等把2k10下完了 就到mac下试试

kitawa 发表于 2009-10-11 12:03

michael_Li 发表于 2009-10-11 12:23

有点深奥啊!

wscqc 发表于 2009-10-11 12:31

lz,我查找0x001F0000如下
Device (ISAB)
            {
                Name (_ADR, 0x001F0000)
                Device (PS2M)
                {
                  Name (_HID, EisaId ("PNP0F13"))
                  Name (CRS, ResourceTemplate ()
                  {
                        IRQNoFlags ()
                            {12}
                  })
                  Method (_CRS, 0, NotSerialized)
                  {
                        Return (CRS)
                  }
                }
该怎么改呀。谢谢

chenshichen 发表于 2009-10-11 12:46

zhangwj1978 发表于 2009-10-11 15:09

本帖最后由 zhangwj1978 于 2009-10-11 15:18 编辑

按照楼主的提示 查找“0x001F0000” 得到以下信息,要修改或者处理吗?
主板信息在个人签名中。   Device (PX40)
            {
                Name (_ADR, 0x001F0000)
                OperationRegion (PREV, PCI_Config, 0x08, One)
                Scope (\)
                {
                  Field (\_SB.PCI0.PX40.PREV, ByteAcc, NoLock, Preserve)
                  {
                        REV0,   8
                  }
                }

tiger 发表于 2009-10-11 16:20

ls的本来就是3a18,AppleLPC都自动加载了

CrystalPrince 发表于 2009-10-11 17:01

有沒有GA EP43主板自動加在AppleLPC,而且可以不用NullCPUPowerManagement.kext的。。。

Farx 发表于 2009-10-11 17:21

13# kitawa


在Leopard原版安装盘里就有。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 通过加载AppleLPC.kext来使用MAC原生的CPU电源管理