背景
-
对于uart over hisport无法发送break信号,导致魔术键功能丢失,rmcpd需要获得sol当前连接到的端口的类型去做规避
-
对于支持动态串口参数配置的机型,sol串口参数改配统一由bmc_soc操作,rmcpd内部直接使用open_port会将bmc_soc的参数设置覆盖。rmcpd需要调用新增方法维护参数原有配置。
关联ISSUE
暂无
整体方案
- 位于bmc_soc组件下的Uart对象的Id、BusType属性变更为资源协作接口属性。Rmcpd通过sol连接到的端口Id判断连接到的系统串口BusType是否为uart over hisport
- rmcpd调用新增的Reset方法,该rpc方法替换掉rmcpd中的_open_sol的调用。bmc_soc的这个函数内部的channel_init包含了打开设备以及对设备根据当前Uart配置的初始化
评审点
UartPort 对象新增资源协作接口属性和方法
详细描述
评审点一:UartPort 资源协作接口新增属性和方法
path(新增): /bmc/kepler/Managers/${ManagerId}/UartPorts/${Id}
interface(新增): bmc.kepler.Managers.UartPort
新增属性详情如下:
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 接口说明 | 属性值来源 | 设计约束 |
|---|---|---|---|---|---|---|---|---|
| Id | 新增属性 | U8 | R:ReadOnly | 无 | 否 | 端口Id | CSR | 无 |
| BusType | 新增属性 | String | R:ReadOnly | 无 | 否 | 串口协议类型类型,取值如下: Uart :Uart 通用端口 UartOverHisport:基于Hisport通道的Uart端口 UartOverEspi:基于ESPI通道的Uart端口 |
CSR | 无 |
新增方法详情如下:
| 方法名称 | 变化类型 | 请求签名 | 请求参数说明 | 响应签名 | 响应参数说明 | 访问权限 | 说明 | 备注 |
|---|---|---|---|---|---|---|---|---|
| Reset | 新增方法 | 无 | 无 | 不涉及 | 不涉及 | Basicsetting | 打开启动Uart设备,并对设备进行参数设置等初始化 |
评审结论
通过,同意新增资源路径 /bmc/kepler/Managers/${ManagerId}/UartPorts/${Id} 和新增资源协作接口 bmc.kepler.Managers.UartPort;同意资源协作接口下新增属性 Id,BusType 和新增方法 Reset;新增属性和方法的描述见议题材料。
遗留问题
无