【已评审】新增ipmi命令支持上报PCIeCard/PCIeDisk/OCPCard的设备BDF

背景

支持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根据设备个数计算需要分多少次上报
结论:命令请求格式已调整,删除多帧标识,增加设备数量和单个设备数据长度字段