背景
当前一键日志会收集SmcDfxInfo信息,但收集内容不全,维护述求收集全量Smc寄存器信息,原有的SmcDfxInfo可拓展性不足,理由为:
1、dfx为汇聚性扫描,有长度限制
2、新增dfx需要消耗逻辑额外的资源
且当前无合适对象承载收集范围,故新增SmcCmdList对象,用于承载各个板卡寄存器收集范围
关联ISSUE
暂无
整体方案
在CSR中新增对象SmcCmdList,并在该对象中新增属性Chip、Type、Slot、Config(字典,包含SMC命令的细节Function、Command、MS、RW、Parameter)、Length、Collected ,用于保存全量SMC命令字
评审点
是否能在CSR中新增对象SmcCmdList
详细描述
变化类型:CSR中新增对象
应用场景:用于支持BMC能获取全量SMC寄存器,并根据软硬件接口文档补齐基础板、扩展板、背板、风扇板全量SMC命令字日志
持久化类型: 不持久化
操作权限:ReadOnly
示例:
"SmcCmdList_BCU": {
"Chip": "#/Smc_CpuBrdSMC",
"Type": "BCU",
"Slot": 1,
"Config": {
"1": {
"Function": 0, "Command": 1, "MS": 0, "RW": 1, "Parameter": 0, "Length": 1, "Collected": 1
},
"2": {
"Function": 1, "Command": 1, "MS": 0, "RW": 1, "Parameter": 0, "Length": 1, "Collected": 0
}
}
}
详细描述:
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 接口约束 |
|---|---|---|---|---|---|---|---|
| SmcCmdList | 新增对象 | - | - | - | - | 用于支持BMC获取全量SMC寄存器信息 | 无 |
| Chip | 新增属性 | ay | 只读 R:ReadOnly | 不持久化 | false | 板关联的SMC对象 | 无 |
| Type | 新增属性 | s | 只读 R:ReadOnly | 不持久化 | false | 板类型 | 无 |
| Slot | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | 板的槽位号 | 无 |
| Config | 新增属性 | a{sa{sy}} | 只读 R:ReadOnly | 不持久化 | false | SMC命令列表 | 无 |
| Function | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | SMC命令的功能 | 无 |
| Command | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | SMC命令的命令字 | 无 |
| MS | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | SMC命令的读取类型,0为多个读取,1为单个读取 | 无 |
| RW | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | SMC命令的读或写,0为读取,1为写入 | 无 |
| Parameter | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | SMC命令的设备号,0~N,代表N+1个设备信息 | 无 |
| Length | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | SMC命令的每个设备的读取长度 | 无 |
| Collected | 新增属性 | y | 只读 R:ReadOnly | 不持久化 | false | SMC命令是否收集,0为不收集,1为要收集 | 无 |
遗留问题
1、对象命名建议改为SmcCmdList
已修改闭环
2、CSR SEG建议Enabled属性修改为Collected,含义修改为‘SMC命令是否收集’,含义更明确不产生歧义
已修改闭环
3、Config为字典,Collected属性签名为y而非布尔值,需修复
取值已修复为0或1,0为不收集,1为要收集