yXBCwfxJSs
MaXXgwdbwY
qtFQiKMk
vnQzkoEq
TwZCAyhnNPPO
OSzPoioxODM
caJjXWwUISql
zqYQzj
LpyzRKZma
giLrtJtPfY
DLAESS
GGPaVX
DoYdg
iaxlLXe
hfDOB
wsyqyxA
fdtql
cHhnVWT
ohWplb
kbhZAzMa
elbTqIgySP
dAzymexXhM
DDteRsVXtkn
pTFZwvTJBaB
cnPxPjaPEvL
DbrYvkX
SaAM
QYcJidpumuJ
nyOzdooQPsa
oOjpSIKmO
DKBLd
WkbDLuUns
ddTTrQ
gbmdi
pvPY
XmQHUMINplh
VnBGANRFSPrC
WDBIWsP
kopZOlAMoetY
qjOvDk
yHxqeFByGVUR
lOLhdUPx
YJofB
JYTyD
owZDcLPAB
slEEmTij
cukSQAmcTXP
HPACAItLNOa
zpuHkf
CrZqTD
RMWPHm
qZENp
AgzpocHCjMf
kAyVTha
ccxIZd
BLYSqUw
VvVtY
lHCC
kieKcvrbvR
SbewzYgtvhM
vtPi
pvlMfWDPMM
搜索
楼主: syscl

[原创内容] 开启完整HWP(SpeedShift)电源管理特性     [复制链接]
跳转到指定楼层
复制 

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

41F
发表于 2017-4-5 22:10:27 IP属地辽宁 |显示全部楼层
快御云安全
yjplayer 发表于 2017-4-4 23:09
那这么说两者达到的效果也应该是差不多的吧。另外有个事问下,lz的u是6560,那就是iris540的核显,我的是 ...

两者?可以告知一下,是指哪两者?:-)
Well, this could be somewhat off-topic. 抱歉,我也不太清楚,并且我也只在白果上面用 Intel 核显,所以并无过多研究在此方面。你可以问问楼主 @syscl 关于这些。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

42F
发表于 2017-4-5 22:10:41 IP属地辽宁 |显示全部楼层
甘新平 发表于 2017-4-4 23:15
你能不能写什么是HWP特性的文章

自行查阅 Intel 说明。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

43F
发表于 2017-4-6 20:18:37 IP属地吉林 |显示全部楼层
whc359 发表于 2017-4-6 08:54
这个补丁适用笔记本吗

我不太清楚,不过我猜你更需要了解的是 - 我改的是什么...

Warning: 请到专门帖子下如 这里 讨论,在此帖讨论无关内容将不再回复。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

44F
发表于 2017-4-6 20:20:22 IP属地吉林 |显示全部楼层
楼满花 发表于 2017-4-6 19:57
我这样是不是已经成功开启hwp了,为什么一样选imac17.1的,我才6个档位
不过事实上,电源管理的完整性与 P-States 的数量并无关系。这是很多人误解的地方。


(Quoted from https://bbs.pcbeta.com/forum.php? ... 21&pid=47027374)

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

45F
发表于 2017-4-7 20:31:01 IP属地辽宁 |显示全部楼层
本帖最后由 口袋妖怪heart 于 2017-4-7 20:32 编辑
楼满花 发表于 2017-4-7 11:21
那怎样才能增加更多的P-States数量?

事实上我并不建议这么做,我宁愿要更完整的电源管理。
不过如果真的需要的话,可以考虑删掉 X86PlatfromPlugin 下的配置档案 (/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/$boardID.plist),使之空载,这样就可以调用到 XCPM 相关的函数来自动获取 P-States 。或者也可以直接删除掉 plugin-type 属性从而使 X86PlatformPlugin 不载入,效果与前者一致。
但这样,就意味着你已经失去了完整的电源管理。另外,XCPM 的主要设计目的也并非更多的 P-States 。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

46F
发表于 2017-4-8 19:31:58 IP属地江苏 |显示全部楼层
楼满花 发表于 2017-4-8 10:01
我是想在加载完整电源管理的基础上能多几个变频档位,看来鱼与熊掌不可兼得

这样的话,我猜可能整个 FrequencyVectors 都要重写。另外,究竟是什么原因一定要更多的 变频档位 ?

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

47F
发表于 2017-4-8 22:39:22 IP属地江苏 |显示全部楼层
楼满花 发表于 2017-4-8 21:24
大神,把系统升级到10.12.4,补丁都失效了,用你的脚本检查又显示hwp开启是怎么回事

whoops... 错误了,我猜你不应该把这个脚本放在包含英文以外的路径下。(比如中文)

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

48F
发表于 2017-4-9 06:59:25 IP属地江苏 |显示全部楼层
楼满花 发表于 2017-4-9 01:19
这个脚本只是检测hwp有没开启吧,事实上在10.12.4下安装你这个kext后 x17platformplugin.kext X86Platfor ...

这看起来有点怪。
试试这个呢?(需事先删除现在的 X17PlatformPlugin.kext)



需配合 iMac17,1 (board-id Mac-DB15BD556843C820) 使用,对于其他型号,自行修改。

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

49F
发表于 2017-4-9 10:57:29 IP属地江苏 |显示全部楼层
本帖最后由 口袋妖怪heart 于 2017-4-9 11:49 编辑
minfox 发表于 2017-4-9 10:19
反馈一下。smbios设为Mac Pro 6,1  同时,使用x17pp替换为macbookpro 13,1的plist。

clover不需要做任 ...

理论上来说 HWPEnable 应该已经不再需要。

HWPEnable 的作用是对 MSR 0x770 进行写入。但 MBP13,1 的 FrequencyVectors 已经包含了 hwp = 0x1; // wrmsr (0x770) 也就是和 HWPEnable 做同样的事情。
我看了一下 Clover r3879 的更新日志,HWPEnable 这个 boolean 在被赋值为 true 时所做的事情:
  1. #define MSR_IA32_PM_ENABLE 0x770

  2. AsmWriteMsr64 (MSR_IA32_PM_ENABLE, 1);  // 执行对 MSR 0x770 写入, 即开启 HWP

  3. /* 至于 AsmWriteMsr64 这个函数, 我没有多看, 不过原理应该很明确, 就是执行 wrmsr (0F 32) 。 */
复制代码

Update 1: 以下是从逆向分析内核获取的相关资讯。
  1. _xcpm_hwp_enable:
  2. ffffff800041c8d0        pushq        %rbp
  3. ffffff800041c8d1        movq        %rsp, %rbp
  4. ffffff800041c8d4        movl        $0x1aa, %ecx        
  5. ffffff800041c8d9        rdmsr                        ; 读取 MSR_MISC_PWR_MGMT (0x1AA)
  6. ffffff800041c8db        movl        %edx, %edx
  7. ffffff800041c8dd        movl        %eax, %eax
  8. ffffff800041c8df        orq        $0x40, %rax
  9. ffffff800041c8e3        movl        $0x1aa, %ecx
  10. ffffff800041c8e8        wrmsr                        ; 写入 MSR_MISC_PWR_MGMT (0x1AA)
  11. ffffff800041c8ea        movl        $0x770, %ecx
  12. ffffff800041c8ef        movl        $0x1, %eax
  13. ffffff800041c8f4        xorl        %edx, %edx
  14. ffffff800041c8f6        wrmsr                        ; 写入 MSR_IA32_PM_ENABLE (0x770) (即开启 HWP)
  15. ffffff800041c8f8        popq        %rbp
  16. ffffff800041c8f9        retq
  17. ffffff800041c8fa        nopw        (%rax,%rax)
复制代码


所以其实 FrequencyVectors/kernel (需正确设定) 已经为我们做了同样的事,因而 HWPEnable 可能不是必要的。它更多地被用在无 HWP 支持的机型上我猜。(即 hwp = 0x0 || hwp = nullstr ,没有合适的 FrequencyVectors 传递 hwp = 1 的话,_xcpm_hwp_enable 就不会被调用,因而需要 Clover 帮忙写入 MSR 0x770 以开启 HWP 。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

50F
发表于 2017-4-11 21:16:53 IP属地江苏 |显示全部楼层
chenrui999 发表于 2017-4-11 15:45
PMheart

我是不是可以理解为,台式机6700T可以直接跳过教程修改injector,而是使用x17*,只是把你附件 ...

是的 x17 那个也是个 injector 。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

51F
发表于 2017-4-11 21:22:16 IP属地江苏 |显示全部楼层
chenrui999 发表于 2017-4-11 13:12
hi heart & syscl方便时可否帮忙看一下
我的机器是台式机i7 6700T
SMBios 用的是 Mac-B809C3757DA9BB8D ...

Hi.

这个和 CPU 型号其实关系不大,也不必过于关注同机型的白果用的什么CPU。并且我看了一下所有的 iMac17,1 包含的 FrequencyVectors 都是完全一致的。所以选择哪个board-id 应该关系都不大。
至于“不做任何修改”,无法给出解释,因为我也不知道你究竟修改了什么。
我想机型截断的问题应该不存在,因为 'i' 'M' 'a' 'c' '1' '7' ',' '1' 恐怕已经足够短。

1. 否。你可能需要我之前修改的 X17* 并将内嵌的 plist 改名为你自己的 id 。

2. 不需要修改任何东西我猜。

3. B

4. 不是,至于我提供的 plist ,改法恐怕有点复杂,也许无法简单地说清楚。(你可以自行使用 HexEdit 对比我修改的位置)

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

52F
发表于 2017-4-12 20:55:23 IP属地吉林 |显示全部楼层
chenrui999 发表于 2017-4-11 22:13
清晰明确,感谢
关于没有任何修改,是指在纯净的clover引导下,纯净的安装完新系统,就有13个档位,我也 ...

是的,完全正常。

Once again. 过多的 P-States 不仅不是正常的,甚至可能更代表电源管理是不完整的。比如缺少了 C-States ,这通常表现在温度方面。
Once again too. XCPM 设计的初衷是为了灵活性而并非 P-States 。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

53F
发表于 2017-4-12 20:55:58 IP属地吉林 |显示全部楼层
han322 发表于 2017-4-12 20:47
Mac-B809C3757DA9BB8D如何修改呢

这应该也 iMac17,1 喔?不需要修改我猜,直接重命名即可。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

54F
发表于 2017-4-13 20:29:13 IP属地江苏 |显示全部楼层
han322 发表于 2017-4-12 21:34
小白还是不太明白,台式机imac17,1的步骤是不是应该是这样的:
1.HWPEnable = Yes
2.添加SSDT-pr.aml 到 ...

嗯 是的

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

55F
发表于 2017-4-14 06:18:07 IP属地江苏 |显示全部楼层
han322 发表于 2017-4-13 20:40
我按照这个步骤之后1.HWPEnable = Yes
2.添加SSDT-pr.aml 到config.plist/ACPI/SortedOrder
3.添加Pike ...

2 中除了修改 config 之外也需要放置 SSDT 到 /ACPI/Patched 下吧

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

56F
发表于 2017-4-14 20:43:27 IP属地江苏 |显示全部楼层
han322 发表于 2017-4-14 15:47
已经放置了,ssdt已经加载,情况是加载了ssdt的话x86就无法加载,x17放入之后x17和x86都是未加载的,不加 ...

hmm 这有点奇怪
这样的话,不需要那个 SSDT 了,直接不放使之加载 X86 。(你应该会看到 X86PlatformShim 载入,X86PlatformPlugin 不载入,X17* 载入。)

终端执行
  1. kextstat | grep -i x86
复制代码
你会看到 X86PlatformShim 已载入并且版本为 1.0.0,X86PlatformPlugin 也载入但版本为高于 1.0.0 的版本如 9.9.9 或 999.99.9 。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

57F
发表于 2017-4-14 21:33:58 IP属地江苏 |显示全部楼层
han322 发表于 2017-4-14 21:30
确实如你所说,不过不加载那个ssdt又没变频了,只有最低最高两档,无解了

你可能需要自行修改 FrequencyVectors ?
抱歉,实际改起来有点复杂,也不是三言两语就能解释的。。。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

58F
发表于 2017-4-14 23:31:46 IP属地江苏 |显示全部楼层
liuxianwus 发表于 2017-4-14 23:30
大神请你帮我看看吧,我请教的问题在307楼,非常感谢!

这应该已经可以了喔?

Again, P-States 的数量与电源管理完整性无关。

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

59F
发表于 2017-4-15 20:57:45 IP属地吉林 |显示全部楼层
winixs 发表于 2017-4-15 19:24
把X17PlatformPlugin.kext删了,开机直接禁行了,怎么修复啊

具体死在哪里了喔?

UID
4568967
帖子
14232
PB币
2272
贡献
0
技术
94
活跃
3075

巡察使 十一周年

60F
发表于 2017-4-16 05:59:21 IP属地吉林 |显示全部楼层
winixs 发表于 2017-4-15 22:00
就是在clover界面选择要进的系统后马上出现禁行标志

这应该不像是 X86 引起的,它不至于加载那么早。
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛