PHAL: execute enterMPIPL only on valid sbe state
Allow enter_mpipl chip-op request only on the SBE's,
which got valid state's. If the SBE is not on valid
state, skips the chip-op requests on the specific SBE.
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: I7789deb8dda4d6e2fe053be417b067566d12e717
diff --git a/procedures/phal/enter_mpreboot.cpp b/procedures/phal/enter_mpreboot.cpp
index d2c7f77..f71144f 100644
--- a/procedures/phal/enter_mpreboot.cpp
+++ b/procedures/phal/enter_mpreboot.cpp
@@ -60,6 +60,17 @@
}
catch (const sbeError_t& sbeError)
{
+ if (sbeError.errType() == SBE_CHIPOP_NOT_ALLOWED)
+ {
+ // SBE is not ready to accept chip-ops,
+ // Skip the request, no additional error handling required.
+ log<level::INFO>(
+ fmt::format("EnterMPIPL: Skipping ({}) on proc({})",
+ sbeError.what(), pdbg_target_index(tgt))
+ .c_str());
+ return;
+ }
+
log<level::ERR>(fmt::format("EnterMPIPL failed({}) on proc({})",
sbeError.what(), pdbg_target_index(tgt))
.c_str());