0%

riscv-ras-eri

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