Get Memory HPPR Address
更新时间: 2026/08/06
在Gitcode上查看源码Get Memory HPPR Address
Change History
| openUBMC Version | Revision Date | Description |
|---|---|---|
| 25.06 | 2025/06/26 | Initial draft: add command details |
Basic Information
Function Description
Obtains the memory hard isolation address information recorded by the BMC.
Privilege
Command Information
Request Information
| Byte | Data Field |
|---|---|
| NetFn | 30h |
| CMD | 92h |
| 1:3 | Manufacturer ID, LS Byte first. The length is fixed to three bytes. For example, if the vendor ID is 2011 and the corresponding hexadecimal value is 0x0007DB, the first byte is DBh, the second byte is 07h, and the third byte is 00h. |
| 4 | Sub command: 66h |
| 5 | GlobalSystemId(SystemId) Logical number of the system where the fault occurs. The system is globally numbered based on the product form, starting from 1. |
| 6 | LocalSystemId Physical number of the system where the fault occurs. The primary system number is 0. Subsystems in the same primary system are numbered in sequence, starting from 1. |
| 7 | TargetType, 0:DDR, 1:HBM |
| 8:9 | IsolationAddressIndex: indicates the index of the isolation address to be queried. The value starts from 0. |
| 10:11 | IsolationAddressMaxCount: maximum number of isolation addresses to be queried. The value starts from 1. |
| 12:15 | Reserved |
Response Information
| Byte | Data Field | |
|---|---|---|
| 1 | Completion Code | |
| 2:4 | Manufacturer ID, LS Byte first. The length is fixed to three bytes. For example, if the vendor ID is 2011 and the corresponding hexadecimal value is 0x0007DB, the first byte is DBh, the second byte is 07h, and the third byte is 00h. | |
| DDR | 5:6 | IsolationAddressIndex: index of the first isolation address |
| 7 | Cpu ID | |
| 8 | LogicalChannel ID | |
| 9 | Dimm ID | |
| 10 | SubChannel ID | |
| 11 | Rank ID | |
| 12 | LogicalRank ID, used by the 3DS memory. The default value is 0 for the non-3DS memory. | |
| 13 | SubRank ID | |
| 14 | Device ID in a subchannel. Memory chip bit width: X4: 0-9; X8: 0-4 | |
| 15 | BankGroup ID | |
| 16 | Bank ID | |
| 17:20 | RowAddress | |
| 21:24 | ColAddress | |
| 25:32 | resv | |
| 33:28*CurrentCount | [1:28] indicates the length of one group. A maximum of eight groups of addresses are returned. | |
| HBM | 5:6 | IsolationAddressIndex: index of the first isolation address |
| 7 | Cpu ID | |
| 8 | StackID | |
| 9 | Channel ID | |
| 10 | PC | |
| 11 | Rank ID | |
| 12 | LogicalRank ID | |
| 13 | BankGroup ID | |
| 14 | Bank ID | |
| 15:18 | RowAddress | |
| 19:22 | ColAddress | |
| 23:26 | resv | |
| 27:222*CurrentCount | The [1:22] byte indicates the length of one group. A maximum of eight groups of addresses are returned. |
Command Example
The BIOS queries all HPPR results starting from 0 from the BMC.
Request:
bash
ipmicmd -k "0f 00 30 92 db 07 00 66 01 06 01 00 00 00 00 ff ff 00 00 00 00" smi 0Response:
text
0f 31 00 92 00 db 07 00 0a 00 00 00