【已评审】资源协作接口bmc.kepler.Chip.JtagTarget新增Verify方法

背景

触发原因:新的需求

需求背景:通过复用BMC当前已有的SVF脚本执行能力,提供cpld固件的安全自检的SVF基础校验接口,用于支持通用硬件APP处理固件管理下发的固件安全自检信号。

应用场景:BMC平稳运行后进行CPLD固件的安全自检

关联ISSUE

https://gitcode.com/openUBMC/mdb_interface/issues/322

整体方案

1、由CPU硬件侧打包CPLD固件的时候,同步打包一个verify的SVF文件,BMC侧接收该SVF文件,解析里面的(SIR、SDR、TDI等字段),文件格式与CPLD升级所使用的SVF格式一致,BMC侧通过jtagOverlocalbus或jtagOverhisport的链路发送TDI、TMS、TCK信号给CPLD,将CPLD侧返回的TDO数据与SVF文件中的TDO数据进行校验,校验失败则自检失败。
2、预期在bmc.kepler.Chip.JtagTarget接口下新增方法:
Verify: 通过执行CPLD svf文件提供固件安全自检功能

详细描述

评审点:1、资源协作接口bmc.kepler.Chip.JtagTarget新增Verify方法

方法评审点

方法名称 请求签名 请求参数描述 响应签名 响应参数 方法描述 访问权限 约束
Verify sy FilePath:安全自检文件的路径
FileType:安全自检文件的类型,枚举类型,仅支持0和1,0代表VME, 1代表SVF
NA NA 安全自检,通过指定格式文件完成安全自检 BasicSetting 文件路径必须包含文件名,路径需要在/dev/shm目录及子目录下

资源协作接口bmc.kepler.Chip.JtagTarget新增方法影响

路径 接口 方法新增影响 CSR配置影响 持久化影响 其他影响
/bmc/kepler/Chip/Cpld/:id bmc.kepler.Chip.JtagTarget 对外提供通过执行CPLD svf文件进行固件安全自检的能力 无影响 不涉及 无

评审结论

遗留问题

1、这里跟Upgrade方法有啥关系和区别呢?提Upgrade方法的目的是什么?如果无关,可以不提;如果有联系,那说明关系和区别,以及新增方法的目的,为议题服务。
2、参考评审模板编写议题。评审点下面区分评审项,分别写明评审点。
3、这里有没有必要从接口上限制只能使用SVF文件?能力上是否支持?
4、Verify结果如何返回?如何区分失败场景?

1、2点已修改
3、目前的需求诉求仅需要提供svf文件进行安全自检,修改为与bmc.kepler.Chip.JtagTarget接口下的Upgrade、Collect方法的声明一致,预留vme格式可选项。
4、当前Verify正常场景无返回,失败场景通过抛错返回错误信息,具体的失败指令信息业务不感知,通过日志记录,与bmc.kepler.Chip.JtagTarget接口下的Upgrade、Collect方法的行为保持一致