RERI 规范在 SoC 中增加了 RAS 功能,通过内存映射寄存器接口提供错误报告的标准机制,提供记录检测到的错误(包括其严重性、性质和位置)的功能,并配置了向 RAS 处理程序组件发送错误信号的方法。
RAS 处理程序可以使用此信息来确定合适的恢复操作,这些操作可能包括
- 终止(例如,终止一个进程等)
- 重新启动部分或全部系统等,以便从错误中恢复。
- 此外,该规范应支持软件发起的 RAS 处理程序的错误记录、报告和测试。
- 最后,该规范应提供实现错误处理的最大灵活性,并应与其他标准(如 PCIe、CXL 等)定义的 RAS 框架共存。
错误级别
- CE Corrected error.
- UDE Uncorrected deferred error.
- UUE Uncorrected urgent error.
寄存器
比较重要的 csr:
Address register (addr_i)
The addr_i WARL register reports the address associated with the detected error
Information register (info_i)
The info_i WARL register provides additional information about the error when status_i.iv is 1
Status register (status_i)
The status_i is a read-write WARL register that reports errors detected by the hardware unit
Error bank information (bank_info)
inst_id 字段标识组件的一个包或至少一个芯片内的唯一实例;在整个系统中最好是独一无二的。系统的供应商将 inst_id 定义为组件的唯一标识符。返回值为0表示该字段未实现。
n_err_recs 字段表示错误记录的数量。Control register (control_i)
control_i 是一个读/写 WARL 寄存器,用于控制错误库中相应错误记录的错误报告。
The ces, udes, and uues are WARL fields used to enable signaling of CE, UDE, and UUE respectively When they are logged