PEL: Add procedure callout for hwp errors
Added infrastructure to enable procedure callout support
for the HWP failure related PEL.
Signed-off-by: Jayanth Othayoth <ojayanth@in.ibm.com>
Change-Id: Ia688650a1f1c8a184aebb3d258d99bbb1a15d244
diff --git a/extensions/openpower-pels/fapi_data_process.cpp b/extensions/openpower-pels/fapi_data_process.cpp
index ad2957c..6ac6ebd 100644
--- a/extensions/openpower-pels/fapi_data_process.cpp
+++ b/extensions/openpower-pels/fapi_data_process.cpp
@@ -347,6 +347,30 @@
pelJSONFmtCalloutDataList.emplace_back(jsonCalloutData);
});
+
+ // Adding procedure callout
+ calloutCount = 0;
+ for_each(ffdc.hwp_errorinfo.procedures_callout.begin(),
+ ffdc.hwp_errorinfo.procedures_callout.end(),
+ [&ffdcUserData, &calloutCount, &pelJSONFmtCalloutDataList](
+ const ProcedureCallout& procCallout) -> void {
+ calloutCount++;
+ std::stringstream keyPrefix;
+ keyPrefix << "HWP_PROC_CO_" << std::setfill('0')
+ << std::setw(2) << calloutCount << "_";
+ ffdcUserData.emplace_back(
+ std::string(keyPrefix.str()).append("PRIORITY"),
+ procCallout.callout_priority);
+ ffdcUserData.emplace_back(
+ std::string(keyPrefix.str()).append("MAINT_PROCEDURE"),
+ procCallout.proc_callout);
+ json jsonCalloutData;
+ jsonCalloutData["Procedure"] = procCallout.proc_callout;
+ std::string pelPriority =
+ getPelPriority(procCallout.callout_priority);
+ jsonCalloutData["Priority"] = pelPriority;
+ pelJSONFmtCalloutDataList.emplace_back(jsonCalloutData);
+ });
}
else if ((ffdc.ffdc_type != FFDC_TYPE_NONE) &&
(ffdc.ffdc_type != FFDC_TYPE_UNSUPPORTED))