【发布时间】:2021-03-05 01:37:40
【问题描述】:
ARMv8 架构参考手册列出了数英里的特殊寄存器,其中一些允许程序员在运行时检测 CPU 功能的可用性。
是否有这样的寄存器告诉程序员是否支持 AArch32 执行状态?我发现的一件事是ID_PFR0_EL1,它告诉我们支持 AArch32 指令集的哪些变体,但它似乎并没有说明是否完全支持该指令集。
我在寻找什么寄存器或其他东西?
【问题讨论】:
ARMv8 架构参考手册列出了数英里的特殊寄存器,其中一些允许程序员在运行时检测 CPU 功能的可用性。
是否有这样的寄存器告诉程序员是否支持 AArch32 执行状态?我发现的一件事是ID_PFR0_EL1,它告诉我们支持 AArch32 指令集的哪些变体,但它似乎并没有说明是否完全支持该指令集。
我在寻找什么寄存器或其他东西?
【问题讨论】:
您正在寻找ID_AA64PFR0_EL1。
来自the manual,第 D13-3253 页:
是的,有些 ARMv8 CPU 根本不支持 AArch32。 Apple 的 A11 及更高版本就是一个例子。
【讨论】: