Get Memory Soft Isolation Address
更新时间: 2025/06/26
在Gitcode上查看源码

38h-获取内存软隔离地址(Get-Memory-Soft-Isolation-Address)

修订记录

openUBMC版本号修订日期修订内容
25.062025/06/26初稿,新增命令详情

基本信息

功能说明

获取内存软隔离地址

权限

DiagnoseMgnt

命令信息

请求信息

字节顺序域取值说明
NetFn30h
CMD92h
1:3Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
4Sub command,子命令=38h
5Domain
0-获取内存软隔离地址
1-BIOS获取FDM内存UCE地址
6:9预留指定内存获取故障地址的能力
10:11Reading offset(读取数据偏移,从0开始,LSB first)
12Reading length(读取数据长度,长度未知时填充0xff)

响应信息

字节顺序域取值说明
1Completion Code
D6h-说明该命令在BMC侧未注册,版本不配套。- BIOS SMI中断处理函数根据该返回值自动选择bt通道上报故障信息。- boot阶段隔离获取到该值说明隔离功能不支持,不执行隔离操作。
2:4Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
当请求消息Domain为0时,对应的响应消息解析格式为:
5[7]:resvered
[6:1]:segment,1based,对于高性能服务器9032等,每个segment表示一个4P分区,BDF是以4P系统编号;为了兼容之前产品便于BMC统一管理,对于8100和其他4P及以下系统不需要通过segment区分BDF,则segment始终为0。
[0]:是否是最后一帧
0-last frame
1-casecade frame
6datalen,返回数据长度,bios下次的读取偏移地址。
7:14软隔离内存地址0,8字节1M对齐后的物理地址
15软隔离内存地址0的CPU ID
16软隔离内存地址0的CHANNEL ID
17软隔离内存地址0的DIMM ID
18预留,默认值为0
19:26软隔离内存地址1,8字节1M对齐后的物理地址
27软隔离内存地址1的CPU ID
28软隔离内存地址1的CHANNEL ID
29软隔离内存地址1的DIMM ID
30预留,默认值为0
…..-
7+12N:14+12N软隔离内存地址0,8字节1M对齐后的物理地址
15+12N软隔离内存地址0的CPU ID
16+12N软隔离内存地址0的CHANNEL ID
17+12N软隔离内存地址0的DIMM ID
18+12N预留,默认值为0
当请求消息Domain为1时,对应的响应消息解析格式为:
5datalen,返回数据长度
6Mem0cpu
7Mem0channel
8Mem0dimm
…..-
1+3N+5MemNcpu
2+3N+5MemNchannel
3+3N+5MemNdimm

命令样例

获取当前软隔离地址信息

请求:

ipmicmd -k "0f 00 30 92 db 07 00 38 00 00 00 00 00 00 00 01" smi 0

响应:

0f 31 00 92 00 db 07 00 00 00

返回到索引