(已解决)Z97如何修改hotpatch中的SSDT-LPC.dsl以加载appleLPC变频?
本帖最后由 jndhui 于 2018-12-18 12:47 编辑最近把静态的dsdt修改成了hotpatch,但目前appleLPC不加载,论坛主要两种办法,一种是修改dsdt来加载LPC,一种是修改原生的appleLPC.kext来加载,目前都不好,不想在加dsdt或者破坏appleLPC了,那有什么办法,我觉得无非两种,一种在CLover修改(config.plist----acpi----Fixes----FakeLPC不管用),或者在SSDT-LPC修改,具体怎么做???麻烦大神指导下附SSDT-LPC.dsl代码// To fix unsupported 8-series LPC devices
#ifndef NO_DEFINITIONBLOCK
DefinitionBlock("", "SSDT", 2, "hack", "_LPC", 0)
{
#endif
External(_SB.PCI0.LPCB, DeviceObj)
Scope(_SB.PCI0.LPCB)
{
OperationRegion(RMP0, PCI_Config, 2, 2)
Field(RMP0, AnyAcc, NoLock, Preserve)
{
LDID,16
}
Name(LPDL, Package()
{
// list of 7-series LPC device-ids not natively supported (partial list)
0x1e49, 0,
Package()
{
"device-id", Buffer() { 0x42, 0x1e, 0, 0 },
"compatible", Buffer() { "pci8086,1e42" },
},
// list of 8-series LPC device-ids not natively supported
// inject 0x8c4b for unsupported LPC device-id
0x8c46, 0x8c49, 0x8c4a, 0x8c4c, 0x8c4e, 0x8c4f,
0x8c50, 0x8c52, 0x8c54, 0x8c56, 0x8c5c, 0x8cc3, 0,
Package()
{
"device-id", Buffer() { 0x4b, 0x8c, 0, 0 },
"compatible", Buffer() { "pci8086,8c4b" },
},
// list of 9-series LPC device-ids not natively supported (partial list)
0x8cc6,
// list of 100-series LPC device-ids not natively supported (partial list)
0x9d48, 0x9d58, 0xa14e, 0xa150,
// and 200-series...
0xa2c5, 0,
Package()
{
"device-id", Buffer() { 0xc1, 0x9c, 0, 0 },
"compatible", Buffer() { "pci8086,9cc1" },
},
})
Method(_DSM, 4)
{
If (!Arg2) { Return (Buffer() { 0x03 } ) }
// search for matching device-id in device-id list, LPDL
Local0 = Match(LPDL, MEQ, ^LDID, MTR, 0, 0)
If (Ones != Local0)
{
// start search for zero-terminator (prefix to injection package)
Local0 = Match(LPDL, MEQ, 0, MTR, 0, Local0+1)
Return (DerefOf(LPDL))
}
// if no match, assume it is supported natively... no inject
Return (Package() { })
}
}
#ifndef NO_DEFINITIONBLOCK
}
#endif
//EOF
解决办法:先搞清楚自己LPC的ID,最好用ADIA64查看(起初就被https://bbs.pcbeta.com/viewthread-1658462-1-1.html这篇帖子误导,搞错了ID),然后在自己对应主板型号的下面添加上自己的ID,编译完后重启应该能完美解决,这样不需要修改DSDT,更不需要动原版驱动。
在线等,请会的指导下 win下 看你的LPC是多少 多那个系列的主板芯片,然后在修改
ydhmq 发表于 2018-12-18 11:56 https://www.pcbeta.com/static/image/common/back.gif
win下 看你的LPC是多少 多那个系列的主板芯片,然后在修改
我查了,是8ac2,试着把
33 // list of 9-series LPC device-ids not natively supported (partial list)
34 0x8cc6,
改成
33 // list of 9-series LPC device-ids not natively supported (partial list)
34 0x8cc6,0x8ac2,
编译成aml还是不行,该怎么改 增加到8系列表后面,看看
搞清楚自己LPC的ID 请确认完全没问题 用硬件检测工具上图在我任意贴后上图 可以简单解决 不需要DSDT 正确做法是仿冒苹果系统原生支持的ID,而不是注入自己的ID
而且现在用properties方法更方便,做ssdt没必要了 ydhmq 发表于 2018-12-18 12:16 https://www.pcbeta.com/static/image/common/back.gif
增加到8系列表后面,看看
感谢啦,已经搞定,原来被一篇教程误导,搞错了lpc的id,实际上应该是8cc4,添加进去就ok了 maojinbing 发表于 2018-12-18 12:25 https://www.pcbeta.com/static/image/common/back.gif
搞清楚自己LPC的ID 请确认完全没问题 用硬件检测工具上图在我任意贴后上图 可以简单解决 不需要DSDT
按你说的,我又查了遍LPC的ID,发现真被误导,搞错了,现在添加进去完美解决,感谢大大,你的几篇帖子很不错,就是我现在看不到了,可惜,一篇好像删了,还一篇阅读权限不够,麻烦告知怎么才能看到 云朵有点甜 发表于 2018-12-18 12:29 https://www.pcbeta.com/static/image/common/back.gif
正确做法是仿冒苹果系统原生支持的ID,而不是注入自己的ID
而且现在用properties方法更方便,做ssdt没必要 ...
麻烦指导下,还没听过这种方法 云朵有点甜 发表于 2018-12-18 12:29 https://www.pcbeta.com/static/image/common/back.gif
正确做法是仿冒苹果系统原生支持的ID,而不是注入自己的ID
而且现在用properties方法更方便,做ssdt没必要 ...
能指导下吗,小白想学学 不需要修改,直接用R大的那个就是,一般是没有问题的,人家R大明明写了英文注释好不?看不懂,谷歌翻译一下 人家R大英文注释明明白白写着以下不支持原生lpc的id,然后后面统一修改成支持原lpc的id 39军小兵张 发表于 2018-12-18 23:24 https://www.pcbeta.com/static/image/common/back.gif
不需要修改,直接用R大的那个就是,一般是没有问题的,人家R大明明写了英文注释好不?看不懂,谷歌翻译一下
可我那个地方不修改,appleLPC就是不加载,加上了我的ID,appleLPC,就加载了,这是实实在在的例子啊 好像是很有用的问题,求个完整教程 我是DSDT直接改的 jndhui 发表于 2018-12-19 07:52 https://www.pcbeta.com/static/image/common/back.gif
可我那个地方不修改,appleLPC就是不加载,加上了我的ID,appleLPC,就加载了,这是实实在在的例子啊
一般是不用修改的,因为里面列举了不少常见的id。当然你的ID都不在里面那肯定要要添加的了。{:5_262:} 直接勾选fakelpc就好了啊 hongjian_z 发表于 2018-12-18 22:13 https://www.pcbeta.com/static/image/common/back.gif
能指导下吗,小白想学学
云朵有点甜 发表于 2018-12-23 11:22 https://www.pcbeta.com/static/image/common/back.gif
虽然看不懂,还是非常感谢
页:
[1]
2