ATF官方文档翻译(十六):ATF固件设计(Firmware Design)-Armv8-A体系结构扩展ATF的代码结构

1、Armv8-A体系结构扩展

TF-A在适用的情况下使用Armv8-A架构扩展。本节列出了体系结构扩展的用法,以及控制它们的构建标志。

通常,除非单独提及,否则构建选项ARM_ARCH_MAJOR和ARM_ARCH_MINOR将在构建TF-A时选择要作为目标的体系结构扩展。后续的Arm架构扩展与以前的版本向后兼容。

生成系统只要求ARM_ARCH_MAJOR和ARM_ARCH_MINOR具有有效的数值。这些构建选项仅控制构建中是否包含特定于体系结构扩展的代码。否则,TF-A的目标是基础Armv8.0-A架构;

i、 e.假设ARM_ARCH_MAJOR8和ARM_ARCH_MINOR0,它们也是它们各自的默认值。


参见:
构建选项
有关体系结构扩展和可用功能的详细信息,请参阅相应的体系结构扩展补充。


1、ARM8.1-A

当ARM_ARCH_MAJOR>=8时,或当ARM_AARCH_MAJOR==8且ARM_ARCH_MINOR>=1时,此体系结构扩展将成为目标。

  • •默认情况下,加载/存储独占指令对用于实现自旋锁。USE_SPINLOCK_CAS构建选项设置为1时,使用ARMv8.1-LSE比较与交换指令选择自旋锁实现。请注意,此指令仅在AArch64执行状态下可用,因此该选项仅适用于AArch64版本。

2、ARM8.2-A

  • •运行时检测到ARMv8.2-TTCNP的存在。当存在时,公共非专用(TTBRn_ELx.CnP)位被启用


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部