PEL: Look for JSON Guard & Deconfig fields
There are optional 'Guarded' and 'Deconfigured' fields in the callout
JSON. If these are set, there are some bits in the SRC that should be
set.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I1bde74094fc596f383d683722d769615cba56975
diff --git a/extensions/openpower-pels/src.hpp b/extensions/openpower-pels/src.hpp
index 9757a92..264fab2 100644
--- a/extensions/openpower-pels/src.hpp
+++ b/extensions/openpower-pels/src.hpp
@@ -57,6 +57,16 @@
virtualProgressSRC = 0x80
};
+ /**
+ * @brief Enums for the error status bits in hex word 5
+ * of BMC SRCs.
+ */
+ enum class ErrorStatusFlags
+ {
+ deconfigured = 0x02000000,
+ guarded = 0x01000000
+ };
+
SRC() = delete;
~SRC() = default;
SRC(const SRC&) = delete;
@@ -340,6 +350,16 @@
void setMotherboardCCIN(const DataInterfaceBase& dataIface);
/**
+ * @brief Sets an error status bit in the SRC.
+ *
+ * @param[in] flag - The flag to set
+ */
+ void setErrorStatusFlag(ErrorStatusFlags flag)
+ {
+ _hexData[3] |= static_cast<uint32_t>(flag);
+ }
+
+ /**
* @brief Validates the section contents
*
* Updates _valid (in Section) with the results.