Get Memory Soft Isolation Address
更新时间: 2025/06/26
在Gitcode上查看源码38h-获取内存软隔离地址(Get-Memory-Soft-Isolation-Address)
修订记录
| openUBMC版本号 | 修订日期 | 修订内容 |
|---|---|---|
| 25.06 | 2025/06/26 | 初稿,新增命令详情 |
基本信息
功能说明
获取内存软隔离地址
权限
DiagnoseMgnt
命令信息
请求信息
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | 30h |
| CMD | 92h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=38h |
| 5 | Domain 0-获取内存软隔离地址 1-BIOS获取FDM内存UCE地址 |
| 6:9 | 预留指定内存获取故障地址的能力 |
| 10:11 | Reading offset(读取数据偏移,从0开始,LSB first) |
| 12 | Reading length(读取数据长度,长度未知时填充0xff) |
响应信息
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | Completion Code D6h-说明该命令在BMC侧未注册,版本不配套。- BIOS SMI中断处理函数根据该返回值自动选择bt通道上报故障信息。- boot阶段隔离获取到该值说明隔离功能不支持,不执行隔离操作。 |
| 2:4 | Manufacturer 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 |
| 6 | datalen,返回数据长度,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时,对应的响应消息解析格式为: | |
| 5 | datalen,返回数据长度 |
| 6 | Mem0cpu |
| 7 | Mem0channel |
| 8 | Mem0dimm |
| ….. | - |
| 1+3N+5 | MemNcpu |
| 2+3N+5 | MemNchannel |
| 3+3N+5 | MemNdimm |
命令样例
获取当前软隔离地址信息
请求:
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