CPU特定操作框架
Armv8-A体系结构的某些方面是由实现定义的,也就是说,某些行为不是由体系结构定义的,而是必须由单个处理器实现定义和记录的。TF-A实现了一个框架,该框架对通用实现定义的行为进行分类,并允许处理器输出该行为的实现。类别包括:
-
1.处理器特定的重置顺序。
-
2.处理器特定的断电序列。
-
3.作为崩溃报告的一部分的处理器特定寄存器转储。
-
4.勘误表状态报告。
上述每一类都满足不同的要求。
-
1.允许在打开缓存和MMU之前进行任何特定于处理器的初始化,如执行错误解决方案、进入集群内一致性域等。
-
2.允许每个处理器执行其技术参考手册(TRM)中规定的断电顺序。
-
3.允许处理器在发生崩溃时向开发人员提供附加信息,例如Cortex A53具有可以暴露数据缓存内容的寄存器。
-
4.允许处理器定义一个函数,该函数检查并报告该处理器上所有错误解决方案的状态。
请注意,只有2由TRM授权。(其他的实现自己承担技术风险)
特定于CPU的操作框架可扩展,以在断电和重置处理期间容纳大量不同的CPU。平台可以指定它想要为每个CPU启用的任何CPU优化。它还可以通过定义CPU错误编译时宏来指定在重置处理期间应用于每种CPU类型的CPU错误解决方案。有关这些宏的详细信息,请参阅Arm CPU特定构建宏文档。
CPU特定的操作框架取决于需要为平台中的每种类型的CPU导出的CPU_ops结构。它在include/lib/cpus/ar