Lenovo Purley 平台 OEM 扩展 SEL 日志说明
1. 带有联想扩展 SEL 事件格式的 POST 错误日志
本节描述不同联想扩展 SEL 事件的 SEL 格式。SEL 查看器实用程序开发团队可以使用本文档。
1.1 QPI RC 错误
SEL:
| 传感器类型 | 0x7 Processor |
| 传感器编号 | 根据 BMC 规范设计 |
| 事件方向/类型 | 0x6F |
| 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值)Bit[3:0] = 错误类型(处理器配置错误) |
| 事件数据 2 | Bit[7:2] = 保留 Bit[1:0] = 0 – QPI 警告 1 – QPI 非致命错误 2 – QPI 致命错误 |
| 事件数据 3 | 位[7:4] = CPU 插槽编号 位[3:0] = QPI 端口编号 |
ExtSEL:
| 传感器类型 | 0x7 Processor |
| 传感器编号 | 按 BMC 规范设计 |
| 事件方向/类型 | 0x70 – OEM 事件 |
| 事件数据 1-3 | 由 BMC 填充 |
| 扩展 SEL 数据 1 | 0x5 - 错误类型(PROCESSOR CONFIGURATION ERROR) |
| 扩展 SEL 数据 2 | Bit[7:2] = 保留 Bit[1:0] = 0 – QPI 警告 1 – QPI 非致命错误 2 – QPI 致命错误 |
| 扩展 SEL 数据 3 | Bit[7:4] = CPU 插槽编号 Bit[3:0] = QPI 端口编号 |
| 扩展 SEL | Bit[7:0] = 基于 Purley RC User Guide 的 Major Code。 |
| 数据 4 | |
| 扩展 SEL 数据 5 | Bit[7:0] = 基于 Purley RC 用户指南的 Minor Code。 |
1.2 MRC 错误
SEL:
| 传感器类型 | 0xC Memory |
| 传感器编号 | 依据 BMC 规范设计 |
| 事件方向/类型 | 0x6F |
| 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] = 0x7 - 错误类型(MEMORY CONFIGURATION ERROR) |
| 事件数据 2 | Bit[7:4] = CPU 插槽编号 Bit[3:0] = 内存通道编号 |
| 事件数据 3 | Bit[7:4] = DIMM 插槽编号 Bit[3:0] = DIMM Rank 编号 |
ExtSEL:
| 传感器类型 | 0xC Memory |
| 传感器编号 | 依据 BMC 规范设计 |
| 事件方向/类型 | 0x70 – OEM 事件 |
| 事件数据 1-3 | 由 BMC 填写 |
| 扩展 SEL 数据 1 | 0x7 - 错误类型(MEMORY CONFIGURATION ERROR) |
| 扩展 SEL 数据 2 | Bit[7:2] = 保留 Bit[1:0] = 0 – MRC 警告 1 – MRC 非致命错误 2 – MRC 致命错误 |
| 扩展 SEL 数据 3 | Bit[7:4] = CPU 插槽编号 Bit[3:0] = 内存通道编号 |
| 扩展 SEL 数据 4 | Bit[7:4] = DIMM 插槽编号 Bit[3:0] = DIMM Rank 编号 |
| 扩展 SEL 数据 5 | Bit[7:0] = 基于 Purley RC User Guide 的 Major Code。 |
| 扩展 SEL 数据 6 | Bit[7:0] = 基于 Purley RC User Guide 的 Minor Code。 |
1.3 PCIE 性能下降
扩展 SEL 格式:
| 传感器类型 | 0x21 Slot / Connector |
| 传感器编号 | 按 BMC 规范设计 |
| 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit [3:0] = 0(错误类型 - PCIE 性能下降) |
| 事件数据 2 | Bit[7-3] = 保留 Bit[2:0] = 降级类型 BIT 0 – 链路速率降级 BIT 1 – 链路宽度降级 BIT 2 – 链路训练失败 |
| 事件数据 3 | Bit[7:0] = 插槽编号 |
2. 采用标准 SEL 事件格式的 POST 错误日志
这些消息在 IPMI 规范中已有涵盖,但可能包含额外的 OEM 数据。
2.1 微码错误
| 传感器类型 | 0x7 处理器微码 |
| 传感器编号 | 按 BMC 规范设计 |
| 事件数据 1 | Bit[7:4] = 0xF Bit[3:0] = 0x5 |
| 事件数据 2 | Bit[7:6] = 保留 Bit[5:0] = CPU 编号 |
| 事件数据 3 | 0x2 |
2.2 BMC 请求的 NMI
| 传感器类型 | 0x13 Critical Interrupt |
| 传感器编号 | 按照 BMC 规范设计 |
| 事件类型 | 0x6f 传感器特定偏移 |
| 事件数据 1 | Bit[7:4] = 0x0(表示 OEMEvData2 和 OEMEvData3 未指定) Bit[3:0] = 0x03 软件 SMI |
| 事件数据 2 | Bit [7:0] = 0 |
| 事件数据 3 | Bit [7:0] = 0 |
2.3 CPU 异常
| 传感器类型 | 0x0F System Firmware Progress |
| 传感器编号 | 按 BMC 规范设计 |
| 事件类型 | 0x6F |
| 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit [3:0] = 0x1 系统固件挂起 |
| 事件数据 2 | Bit[7:0] = 0 未指定 |
| 事件数据 3 | Bit[7:0] = 异常编号 |
2.4 未找到可启动设备
| 传感器类型 | 0x1E Boot Error |
| 传感器编号 | 根据 BMC 规范设计 |
| 事件类型 | 0x6f 传感器特定偏移 |
| 事件数据 1 | Bit[7:4] = 0x0(表示 OEMEvData2 和 OEMEvData3 未指定) Bit[3:0] = 0x00 无可引导介质 |
| 事件数据 2 | Bit [7:0] = 0xFF(未指定) |
| 事件数据 3 | Bit [7:0] = 0xFF(未指定) |
2.5 CMOS 已清除或 RTC 复位
| 记录 ID | 记录 ID |
| 记录类型 | 02 – 系统事件记录 |
| 时间戳 | 时间戳 |
| 生成器 ID | 0x01 |
| EvmRev | 4 |
| 传感器类型 | 0x29 电池 |
| 传感器编号 | 根据 BMC 规范设计 |
| 事件方向 | EventType(事件类型) | 0x6F |
| 事件数据 1 | Bit[7:4] - 0x0 - 表示字节 2 和字节 3 为保留。 Bit[3:0] – 0x1 - 电池故障。 |
| 事件数据 2 | 保留 |
| 事件数据 3 | 保留 |
注意:对于运行时错误,当前 BIOS 支持记录 SEL 和扩展 SEL 事件,因为 Lenovo 当前的 Web 实用工具不支持读取扩展 SEL 事件。
2.6 检测到 ME 版本不匹配
| 记录 ID | 记录 ID |
| 记录类型 | 02 – 系统事件记录 |
| 时间戳 | 时间戳 |
| 生成器 ID | 0x01 |
| EvmRev | 4 |
| 传感器类型 | 0x2B 版本变更 |
| 传感器编号 | 根据 BMC 规范设计 |
| 事件方向 | EventType(事件类型) | 0x6F |
| 事件数据 1 | Bit[7:4] - 0x0 - 表示字节 2 和字节 3 为保留。 Bit[3:0] – 0x3 - 检测到与关联实体存在固件或软件不兼容。 |
| 事件数据 2 | 保留 |
| 事件数据 3 | 保留 |
3. 运行时错误记录与 FRU 隔离
3.1 内存错误
Lenovo 可纠正错误记录策略:
1. 如果系统在 10 秒内在某个 DIMM rank 中遇到 160 个可纠正错误,或在 24 小时内遇到 2560 个错误,BIOS 将向 BMC 记录一条 SEL 日志。
2. 如果系统在 10 秒内在某个 DIMM rank 中遇到 1000 个可纠正错误,则禁用内存控制器的 SMI。连接到该控制器的内存在下一次复位之前不会报告错误。
3. 内存已纠正/未纠正错误采用相同格式。
SEL:
| 字节 | 字段 | 描述 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 02 – 系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | 事件修订版本 | 4 |
| 11 | 传感器类型 | 0xC Memory |
| 12 | 传感器编号 | 根据 BMC 规范设计 |
| 13 | 事件方向 | 事件类型 | 0x6F |
| 14 | 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] = 错误类型 错误类型: 可纠正内存错误:0x00 不可纠正内存错误:0x01 奇偶校验错误:0x02 可纠正内存错误记录上限已达到:0x05 |
| 15 | 事件数据 2 | Bit[0] = 当前/上次启动错误 当前启动 : 0 上次启动 : 1 Bit[2:1] = 内存控制器编号 |
| 16 | 事件数据 3 | Bit[7:6]:CPU 插槽编号。 Bit[5:4]:通道编号。 Bit[3:0]:DIMM 编号。 |
*注意:此 SEL 将点亮故障 LED。
ExtSEL
| 字节 | 字段 | 描述 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 0xDF – OEM 系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | EvmRev | 0 |
| 11 | 传感器类型 | 0xC Memory |
| 12 | 传感器编号 | 按 BMC 规范设计 |
| 13 | 事件方向 | 事件类型 | 0x70 |
| 14 | 保留 | 1字节(由 BMC 修改为 0xAA) |
| 15 | 保留 | 1字节(由 BMC 修改) |
| 16 | 保留 | 1字节(由 BMC 修改) |
| 17 | 扩展事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] = 错误类型 错误类型: 可纠正内存错误:0x00 不可纠正内存错误:0x01 奇偶校验错误:0x02 可纠正内存错误记录上限达到:0x05 |
| 18 | 扩展事件数据 2 | Bit[0] = 当前/上次启动错误 当前启动:0 上次启动:1 Bit[2:1] = 内存控制器编号 |
| 19 | 扩展事件数据 3 | Bit[7:6]:CPU 插槽编号。 Bit[5:4]:通道编号。 Bit[3:0]:DIMM 编号。 |
| 20-27 | 扩展事件数据 4-11 | MC Bank 状态寄存器 |
| 28-35 | 扩展事件数据 12-19 | MC Bank 地址寄存器 |
| 36-43 | 扩展事件数据 20-27 | MC Bank 杂项寄存器 |
| 44 | 扩展事件数据 28 | MC Bank 编号 |
3.2 AER(PCIE 设备)
SEL:
| 字节 | 字段 | 描述 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 02 – 系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | EvmRev | 4 |
| 11 | 传感器类型 | SEL_SENS_TYPE_CRIT_ERR <0x13> |
| 12 | 传感器编号 | 根据 BMC 规范设计 |
| 13 | 事件方向 | 事件类型 | 0x6F |
| 14 | 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM |
| 值) Bit[3:0] = 错误类型 错误类型 PCI PERR - 0x04 PCI SERR - 0x05 总线可纠正错误 - 0x07 总线不可纠正错误 - 0x08 Bus Fatal Error - 0x0A | ||
| 15 | 事件数据 2 | Bit[7:0] = 故障设备的 PCI 总线号。 |
| 16 | 事件数据 3 | Bit[7:3] = 故障设备的 PCI 设备号。 Bit[2:0] = 故障设备的 PCI 功能号。 |
ExtSEL
| 字节 | 字段 | 描述 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 0xDF – OEM 系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | EvmRev | 0 |
| 11 | 传感器类型 | SEL_SENS_TYPE_CRIT_ERR <0x13> |
| 12 | 传感器编号 | 按 BMC 规范设计 |
| 13 | 事件方向 | 事件类型 | 0x70 |
| 14 | 保留 | 1 字节(由 BMC 修改为 0xAA) |
| 15 | 保留 | 1 字节(由 BMC 修改) |
| 16 | 保留 | 1Byte (由 BMC 修改) |
| 17 | 扩展事件数据 1 | Bit[7:4] = 0xA (表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] = 错误类型 错误类型 PCI PERR - 0x04 PCI SERR - 0x05 总线可纠正错误 - 0x07 总线不可纠正错误 - 0x08 总线致命错误 - 0x0A |
| 18 | 扩展事件数据 2 | Bit[7:0] = 故障设备的 PCI 总线号。 |
| 19 | 扩展事件数据 3 | Bit[7:3] = 故障设备的 PCI 设备号。 Bit[2:0] = 故障设备的 PCI 功能号。 |
| 20-21 | 扩展事件数据 4-5 | 插槽信息(编号) |
| 22 | 扩展事件数据 6 | IsBridge(是否桥接) |
| 23-24 | 扩展事件数据 7-8 | SecondaryStatus |
| 25-26 | 扩展事件数据字节[9-10] | DeviceStatus |
| 27-30 | 扩展事件数据字节[11-14] | UncorrErrStatus 寄存器 |
| 31-34 | 扩展事件数据字节[15-18] | CorrErrStatus 寄存器 |
| 35-38 | 扩展事件数据字节[19-22] | RootErrStatus 寄存器 |
3.3 运行时处理器错误
对于 MCA Banks IFU、DCU、DTLB 和 MLC 错误 SEL:
| 字节 | 字段 | 描述 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 02 – 系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | EvmRev | 4 |
| 11 | 传感器类型 | 0x7 PROCESSOR_SENSOR_TYPE |
| 12 | 传感器编号 | 按 BMC 传感器编号规范设计 |
| 13 | 事件方向 | 事件类型 | 0x6F |
| 14 | 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 是 OEM 值) Bit[3:0] = 错误类型(5-PROCESSOR CONFIGURATION_ERROR) |
| 15 | 事件数据 2 | Bit[7:4] = 插槽编号 Bit[3:0] = Bank 类型(请参见下文) Bank 类型: 0 (0000) - 无 1 (0001) - IFU 2 (0010) - DCU 3 (0011) - DTLB 4 (0100) - MLC 5 (0101) - PCU 6 (0110) - IIO 7 (0111) - CHA 8 (1000) - KTI |
| 16 | 事件数据 3 | Bit[7:4] = 处理器错误类型 (未知/缓存/TLB/总线/微架构) Bit[3:0] = 错误严重程度(可纠正/不可纠正)错误严重程度: 00 - 可纠正错误 01 - 致命错误 02 - 已纠正错误 |
扩展 SEL
| 字节 | 字段 | 描述 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 0xDF – OEM 系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | EvmRev | 0 |
| 11 | 传感器类型 | 0x7 PROCESSOR_SENSOR_TYPE |
| 12 | 传感器编号 | 按 BMC 传感器编号规范设计 |
| 13 | 事件方向 | 事件类型 | 0x70 |
| 14 | 保留 | 1Byte(由 BMC 修改为 0xAA) |
| 15 | 保留 | 1Byte(由 BMC 修改) |
| 16 | 保留 | 1Byte(由 BMC 修改) |
| 17 | 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] 错误类型(5-PROCESSOR = CONFIGURATION_ERROR) |
| 18 | 事件数据 2 | Bit[7:4] = Socket 编号 Bit[3:0] = Bank 类型(请参见下文) Bank 类型: 0 (0000) - 无 1 (0001) - IFU 2 (0010) - DCU 3 (0011) - DTLB 4 (0100) - MLC 5 (0101) - PCU 6 (0110) - IIO 7 (0111) - CHA 8 (1000) - KTI |
| 19 | 事件数据 3 | Bit[7:4] = 处理器错误类型 (UNKNOWN/缓存/TLB/BUS/微架构) Bit[3:0] = 错误严重程度(Correctable/Uncorrectable) 错误严重程度: 00 - 可纠正错误 01 - 致命错误 02 - 已纠正错误 |
| 20-27 | 扩展事件数据 4-11 | MC Bank 状态寄存器 |
| 28-35 | 扩展事件数据 12-19 | MC Bank 地址寄存器 |
| 36-43 | 扩展事件数据 20-27 | MC Bank 杂项寄存器 |
| 44 | 扩展事件数据 28-29 | MC BANK 编号 |
3.4 IIO CORE
SEL:
| 字节 | 字段 | 描述 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 0x2 –系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | 事件修订版本 (EvmRev) | 4 |
| 11 | 传感器类型 | 0x07 PROCESSOR_SENSOR_TYPE |
| 12 | 传感器编号 | 根据 BMC 规范设计 |
| 13 | 事件方向 | 事件类型 | 0x6F |
| 14 | 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] = 错误类型(5-PROCESSOR CONFIGURATION_ERROR) |
| 15 | 事件数据 2 | Bit[7:4] = CPU Socket 编号。 Bit[3:0] = 保留 |
| 16 | 事件数据 3 | 错误子类型 c4h - 主设备中止地址错误 c5h - 完成者中止地址错误 c6h - FIFO 溢出/下溢错误 |
3.5 IIO 一致性接口(IIO QPI)
SEL:
| 字节 | 字段 | 说明 |
| 1-2 | 记录 ID | 记录 ID |
| 3 | 记录类型 | 0x2 –系统事件记录 |
| 4-7 | 时间戳 | 时间戳 |
| 8-9 | 生成器 ID | 0x21 |
| 10 | 事件消息修订版本 | 4 |
| 11 | 传感器类型 | 0x07 PROCESSOR_SENSOR_TYPE |
| 12 | 传感器编号 | 按 BMC 规范设计 |
| 13 | 方向 | 事件 EventType(事件类型) | 0x6F |
| 14 | 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] = 错误类型(5-PROCESSOR CONFIGURATION_ERROR) |
| 15 | 事件数据 2 | Bit[3:0] = QPI 端口号。 Bit[7:4] = CPU 插槽编号。 |
| 16 | 事件数据 3 | 一致性接口(IRP)本地组错误码,依据 IvyBridge-EX 4S 处理器外部设计规范(EDS)规范。 B4h - 写缓存检测到 ECC 可纠正错误。 C1h - 一致性接口协议层接收到 Poisoned 数据包 C2h - I/O 模块写缓存不可纠正的数据 ECC 错误 C3h - I/O 模块 CSR 访问跨越 32 位边界。 D7h - 一致性接口协议层收到意外或非法响应/完成 DAh - 一致性接口协议层队列/表溢出或下溢 DBh - 一致性接口协议奇偶校验错误。 |
3.6 IIO-VTD
SEL
| 字节 | 字段 | 描述 |
| 1-2 | Record ID | Record ID |
| 3 | Record Type | 0x2 –System Event Record |
| 4-7 | Timestamp | Timestamp |
| 8-9 | Generator ID | 0x21 |
| 10 | EvmRev | 4 |
| 11 | Sensor Type | 0x07 PROCESSOR_SENSOR_TYPE |
| 12 | Sensor Number | Per BMC spec design |
| 13 | Dir | Event EventType(事件类型) | 0x6F |
| 14 | 事件数据 1 | Bit[7:4] = 0xA(表示 OEMEvData2 和 OEMEvData3 为 OEM 值) Bit[3:0] = 错误类型(5-PROCESSOR CONFIGURATION_ERROR) |
| 15 | 事件数据 2 | CPU 插槽编号。 |
| 16 | 事件数据 3 | 依据 IvyBridge-EX 4S 处理器外部设计规范 (EDS) 的 Intel VT-d 本地组错误码 90h - 上下文缓存查找期间的数据奇偶校验错误 91h - L1 查找期间的数据奇偶校验错误 92h - L2 查找期间的数据奇偶校验错误 93h - L3 查找期间的数据奇偶校验错误 94h - TLB0 数据奇偶校验错误 95h - TLB1 数据奇偶校验错误 96h - 在一致性接口中收到未成功完成状态 97h - 对 0xFEE 的非法请求 98h - 受保护内存区域空间违规状态 A0h - Intel VT-d 规范定义的错误 |
4. 系统故障 LED
当 BIOS 检测到所列系统错误时,BIOS 或 BMC 将点亮系统故障 LED。
- QPI RC 错误。
- MRC 错误。
- 微码错误
- CPU 异常
- 运行时处理器错误
- 不可纠正内存错误
- IIO Core/ IIO-Coherence 接口(IIO QPI)/IIO-Vtd 错误