【待评审】新增全局变量获取准确的BMC复位类型

背景

当前很多业务需要判断上次 BMC 复位类型是否为掉电恢复(AC),然后执行一系列工作。如 bmc_soc 事件上报,firmware_mgmt 生效任务,fructrl 执行通电开机策略,ipmi_core 首次设置 pcie bar 为 8M 等。
需要提供一个公共属性承载准确的 BMC 复位类型,为“仅 BMC 复位” 还是 “AC 恢复”。

关联ISSUE

在进行AC Cycle测试时获取到的 ResetType 错误导致通电开机出现问题

整体方案

新增全局变量 BmcResetType,由 bmc_soc 组件启动读取到本组件的 BmcHardResetFlag 属性值后同步至全局变量 BmcResetType。

评审点

新增全局变量 BmcResetType

详细描述

作用 使用范围 全局变量名称 英文 更新者 持久化类型 数据类型 取值范围 默认值 使用场景
通用 所有APP、所有CSR BMC复位类型 BmcResetType bmc_soc 不持久化 uint8_t 0xff - 默认值,表示暂未获取到准确的复位类型
0 - AC 恢复
1 - BMC 复位
0xff BMC 启动后需要根据 BMC 复位类型执行相应的处理流程。如 fructrl 需要判断 BMC 复位类型是否为 AC 恢复以执行通电开机策略

是否准备好AI预审

是

评审结论

遗留问题

1、需要补充全局变量对应的 interface
结论: