背景
支持multihost功能的需求,支持把插在一个确定的pcie接口上的OCP卡,分成两路x8供2个CPU去访问。从而一张卡存在2个资源归属“CPU1,CPU2”和2个总线信息"0000:25:05.0,0000:a5:05.0"。
这就要求设置设备BDF的命令同一个槽位可以上报多个BDF,
目前已实现的BIOS设置PCIeCard、PCIeDisk和OCPCard设备BDF的命令不支持一个槽位上报多个BDF,因此需要新增扩展命令对该功能进行适配。
评审点
新增3个IPMI命令分别用于设置PCIeCard/PCIeDisk/OCPCard的设备BDF
详细描述
新增3个IPMI命令分别用于设置PCIeCard/PCIeDisk/OCPCard的设备BDF
命令1
命令功能
用于BIOS向BMC上报标准PCIe插卡的设备BDF,如果PCIe槽位支持热插拔,则BIOS上报为该槽位的卡预分配的BDF
权限说明
BasicSetting
命令格式
ipmicmd -k “0f 00 30 92 db 07 00 68 {card_num} {data_len} {data} ” smi 0
参数说明
| 参数(字节) | 域内容 |
|---|---|
| NetFn | 30h |
| CMD | 92h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=68h |
| 5 | 用于指示本次请求上报多少组标准PCIe插卡的设备BDF信息 |
| 6 | 每组数据的长度,当前固定为7 |
| 7 | 第1组信息包含的丝印槽位号 |
| 8:9 | 第1组信息包含的Segment Number,低字节在前 |
| 10 | 第1组信息包含的归属CPU逻辑Id,从0开始 |
| 11 | 第1组信息包含的Bus Number |
| 12 | 第1组信息包含的Device Number |
| 13 | 第1组信息包含的Function Number |
| … | |
| 7N: 7N + 6 | 第N组设备BDF信息,格式参考第1组 |
响应说明
| 字节顺序 | 域内容 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
命令2
命令功能
用于BIOS向BMC上报标准PCIe硬盘的设备预分配slot BDF,要求上报系统启动时BIOS识别到的所有root port连接PCIe盘插槽的预分配slot BDF
权限说明
BasicSetting
命令格式
ipmicmd -k “0f 00 30 92 db 07 00 69 {disk_num} {data_len} {data} ” smi 0
参数说明
| 参数(字节) | 域内容 |
|---|---|
| NetFn | 30h |
| CMD | 92h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=69h |
| 5 | 用于指示本次请求上报多少组PCIe硬盘的设备BDF信息 |
| 6 | 每组数据的长度,当前固定为7 |
| 7 | 第1组信息包含的丝印槽位号 |
| 8:9 | 第1组信息包含的Segment Number,低字节在前 |
| 10 | 第1组信息包含的归属CPU逻辑Id,从0开始 |
| 11 | 第1组信息包含的Bus Number |
| 12 | 第1组信息包含的Device Number |
| 13 | 第1组信息包含的Function Number |
| … | |
| 7N: 7N + 6 | 第N组设备BDF信息,格式参考第1组 |
响应说明
| 字节顺序 | 域内容 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
命令3
命令功能
用于BIOS向BMC上报标准OCP插卡的设备BDF,如果OCP槽位支持热插拔,则BIOS上报为该槽位的卡预分配的BDF
权限说明
BasicSetting
命令格式
ipmicmd -k “0f 00 30 92 db 07 00 70 {ocp_num} {data_len} {data} ” smi 0
参数说明
| 参数(字节) | 域内容 |
|---|---|
| NetFn | 30h |
| CMD | 92h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=70h |
| 5 | 用于指示本次请求上报多少组标准OCP插卡的设备BDF信息 |
| 6 | 每组数据的长度,当前固定为7 |
| 7 | 第1组信息包含的丝印槽位号 |
| 8:9 | 第1组信息包含的Segment Number,低字节在前 |
| 10 | 第1组信息包含的归属CPU逻辑Id,从0开始 |
| 11 | 第1组信息包含的Bus Number |
| 12 | 第1组信息包含的Device Number |
| 13 | 第1组信息包含的Function Number |
| … | |
| 7N: 7N + 6 | 第N组设备BDF信息,格式参考第1组 |
响应说明
| 字节顺序 | 域内容 |
|---|---|
| 1 | Completion Code |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
评审结论
同意新增IPMI命令设置PCIeCard/PCIeDisk/OCPCard的设备BDF
命令说明:
netfn : 30h
cmd : 92h
subcmd: 68h、69h、70h
请求和响应参数见详细描述
遗留问题
1、命令请求格式需要调整,去掉多帧,增加设备数量和单个设备的数据长度,BIOS根据设备个数计算需要分多少次上报
结论:命令请求格式已调整,删除多帧标识,增加设备数量和单个设备数据长度字段