18.1. 硬件错误和错误源
硬件错误是与计算机平台中某个硬件组件故障相关的已记录事件。硬件组件包含错误检测机制,用于在存在硬件错误条件时进行检测。硬件错误可分类为已纠正错误或未纠正错误,如下所示:
已纠正错误是指在 OSPM 被通知该错误条件存在时,该硬件错误条件已经由硬件或固件纠正。
未纠正错误是指硬件或固件无法纠正的硬件错误条件。未纠正错误分为致命和非致命两类。
致命硬件错误是指被硬件判定为不可恢复的未纠正或未受控错误条件。当发生致命未纠正错误时,系统会重新启动,以防止错误传播。
非致命硬件错误是指 OSPM 可以通过尝试纠正错误来进行恢复的未纠正错误条件。这些也称为可更正错误或可恢复错误。
APEI 的核心是硬件错误源这一概念。硬件错误源是任何向 OSPM 警示存在错误条件的硬件单元。硬件错误源的示例如下:
处理器机器检查异常(例如,MC#)
芯片组错误消息信号(例如,SCI、SMI、SERR#、MCERR#)
I/O 总线错误报告(例如,PCI Express 根端口错误中断)
I/O 设备错误
单个硬件错误源可能会处理一种以上类型硬件错误条件的聚合错误报告。例如,处理器的机器检查异常通常会报告处理器错误、缓存和内存错误以及系统总线错误。
硬件错误源通常由以下部分表示:
一个或多个硬件错误状态寄存器。
一个或多个硬件错误配置或控制寄存器。
一种用于向 OSPM 警示存在错误条件的信号机制。
在某些情况下,并不存在显式的信号机制,OSPM 必须轮询错误状态寄存器以检测错误条件。然而,轮询只能用于已纠正错误条件,因为未纠正错误需要 OSPM 立即处理。