PEL: Support new DeconfigFlag msg reg field

Add a new field to the PEL message registry to indicate that some
hardware associated with a callout was deconfigured.

"DeconfigFlag": true

This results in bit 6 in the SRC's hex word 5 being set.  It is looked
at by the code that creates the periodic PELs when there is a system
running with deconfigured hardware.

Note: For something to be considered deconfigured, it doesn't
necessarily mean that firmware chose to not configure it.  It could also
mean that it is broken or missing, at least in the case of power
supplies or fans.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I3e657cb52416fc50000e299bf2d583db7b67caf8
diff --git a/extensions/openpower-pels/registry.hpp b/extensions/openpower-pels/registry.hpp
index 7ee5979..e72fafb 100644
--- a/extensions/openpower-pels/registry.hpp
+++ b/extensions/openpower-pels/registry.hpp
@@ -105,7 +105,12 @@
     using AdditionalDataField = std::tuple<std::string, std::string>;
     std::optional<std::map<WordNum, AdditionalDataField>> hexwordADFields;
 
-    SRC() : type(0), reasonCode(0) {}
+    /**
+     * @brief If the Deconfigured flag should be set in hex word 5
+     */
+    bool deconfigFlag;
+
+    SRC() : type(0), reasonCode(0), deconfigFlag(false) {}
 };
 
 struct AppCapture
@@ -448,6 +453,15 @@
     getSRCSymptomIDFields(const nlohmann::json& src, const std::string& name);
 
 /**
+ * @brief Returns the value of the 'DeconfigFlag' field.
+ *
+ * @param[in] src - The message registry SRC dictionary to read from
+ *
+ * @return bool - The field value
+ */
+bool getSRCDeconfigFlag(const nlohmann::json& src);
+
+/**
  * @brief Reads the "ComponentID" field out of JSON and converts it to a
  *        uint16_t like 0xFF00.
  *