SBMR Get/Send Boot Progress Code support
Implement IPMI commands for boot progress codes by following
DEN0069E_SBMR_2.1. Add configure option `arm-sbmr` to enable
SBMR IPMI commands. Boot progress code will update to Redfish
BootProgress property.
1. Send boot progress code (NetFn 0x2C, Command 0x2)
2. Get boot progress code (NetFn 0x2C, Command 0x3)
Test:
1. Send boot progress code
$> ipmitool raw 0x2C 0x02 0xAE 0x1 0x00 0x00 0x00 \
0x01 0x10 0x01 0x02 0x00
ae
2. Get boot progress code
$> ipmitool raw 0x2C 0x3 0xAE
ae 01 00 00 00 01 10 01 02 00
3. Redfish BootProgess LastState - /redfish/v1/Systems/system
{
...
"BootProgress": {
"LastState": "PCIResourceConfigStarted",
"LastStateTime": "2024-11-14T19:14:22.432272+00:00"
}
}
Signed-off-by: John Chung <john.chung@arm.com>
Change-Id: I58e6e322006039fceb8d4212c4f9f6a4b4f9e225
diff --git a/meson.build b/meson.build
index 7e8795a..a492697 100644
--- a/meson.build
+++ b/meson.build
@@ -103,6 +103,7 @@
'hybrid-sensors' : '-DFEATURE_HYBRID_SENSORS',
'sensors-cache' : '-DFEATURE_SENSORS_CACHE',
'dynamic-storages-only' : '-DFEATURE_DYNAMIC_STORAGES_ONLY',
+ 'arm-sbmr' : '-DARM_SBMR_SUPPORT',
}
foreach option_key, option_value : feature_map
@@ -272,6 +273,11 @@
openpower_cmds_src = ['storageaddsel.cpp']
endif
+arm_sbmr_cmds_src = []
+if get_option('arm-sbmr').allowed()
+ arm_sbmr_cmds_src = ['sbmrhandler.cpp']
+endif
+
libipmi20_src = [
'app/channel.cpp',
'app/watchdog.cpp',
@@ -295,6 +301,7 @@
transportoem_src,
storage_cmds_src,
openpower_cmds_src,
+ arm_sbmr_cmds_src,
conf_h,
]