gpt4 book ai didi

linux - 如何在 LinuxPPC 上对 power7 或更高版本进行运行时检查?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:43 24 4
gpt4 key购买 nike

我可以在 AIX 上用类似的东西检查 power7+:

inline bool ossPower7orLater( )
{
#if defined _AIX
if ( !__power_set( POWER_6 | POWER_5 | POWER_4 ) )
{
return true ;
}
else
#endif
return false ;
}

使用 systemcfg.h 中的宏。这里使用 __power_set() 宏而不是 __power_7() 来避免编写 power7 检查代码,当 power8 出现时会中断。

这将如何扩展以包括对 LinuxPPC 的支持?我可以想象可能有一些可以使用的指令,所以指出如果没有更好的指令是可以接受的(即:如果我知道要使用什么,我可以编写一个 asm block )。

最佳答案

mfpvr asm 指令可用于获取处理器版本。当然,除非 IBM 遵循其处理器版本控制的既定模式,否则这可能会在以后的处理器上中断,但这是一个简单的解决方案。

注意:mfpvr 仅供主管使用,但 LinuxPPC 会模拟它。

另一个解决方案是检查 /proc/cpuinfo(虽然非常乏味)。这将为您提供 CPU 和 PVR 的字符串表示。

网上找的一个例子:

processor : 0
cpu : POWER7 (architected), altivec supported
clock : 3550.000000MHz
revision : 2.0 (pvr 003f 0200)

希望对你有帮助

关于linux - 如何在 LinuxPPC 上对 power7 或更高版本进行运行时检查?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11250464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com