可靠性、可用性和可服务性(RAS)(Reliability, Availability, and Serviceability (RAS))扩展
本文档描述了TF-A对Arm可靠性、可用性和可服务性(RAS)扩展的支持。RAS是Armv8.2和更高版本CPU的强制扩展,也是基础Armv8.0体系结构的可选扩展。
结合EHF(Exception Handling Framework ),对RAS扩展的支持实现了处理平台错误的固件第一范式:非安全世界中的错误导致的异常被路由到EL3并在EL3中处理。所述错误包括同步外部中止(SEA)、异步外部中止(信号为SErrors)、故障处理和错误恢复中断。EHF文档提到了各种错误处理用例。
有关Arm RAS扩展、标准错误记录的描述以及RAS术语的准确定义,请参阅Arm架构参考手册。本文档的其余部分假设您熟悉体系结构和术语。
1.概述
如上所述,TF-A中的RAS支持支持路由到EL3中的平台错误并处理由此产生的异常。它允许平台定义外部中止处理程序,并注册RAS节点和中断。 RAS框架还为访问RAS扩展引入的标准错误记录提供了帮助。
当设置为1时,构建选项RAS_EXTENSION包括运行时固件中的RAS;EL3_EXCEPTION_HANDLING和HANDLE_EA_EL3_FIRST_NS也必须设置为1。RAS_TRAP_NS_ERR_REC_ACCESS控制对非安全RAS错误记录寄存器的访问。