简体   繁体   中英

How to find out if an ARMv8 processor supports the AArch32 execution state?

The ARMv8 Architecture Reference Manual lists miles of special registers, some of which allow the programmer to detect the availability of CPU features at runtime.

Is there such a register telling the programmer if the AArch32 execution state is supported? One thing I found is ID_PFR0_EL1 which tells what variants of the AArch32 instruction set are supported, but it does not seem to say if the instruction set is supported at all.

What register or other thing am I looking for?

You're looking for ID_AA64PFR0_EL1 .

From the manual , page D13-3253:

截屏

And yes, there are ARMv8 CPUs that do not support AArch32 at all. Apple's A11 and later is an example.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM