On checkstop request dump and transition host
After checkstop analyses completes attention handler will request a dump
and the transition the host. The type of dump requested is dependent on
the results of the isolator.
Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I1116be8f8d045a4916d3321f461c22345fecf274
diff --git a/analyzer/analyzer_main.cpp b/analyzer/analyzer_main.cpp
index 68babfe..c8de857 100644
--- a/analyzer/analyzer_main.cpp
+++ b/analyzer/analyzer_main.cpp
@@ -4,6 +4,7 @@
#include <analyzer/ras-data/ras-data-parser.hpp>
#include <analyzer/service_data.hpp>
+#include <attn/attn_dump.hpp>
#include <hei_main.hpp>
#include <phosphor-logging/log.hpp>
#include <util/pdbg.hpp>
@@ -32,9 +33,10 @@
* @brief Will create and submit a PEL using the given data.
* @param i_isoData The data gathered during isolation (for FFDC).
* @param i_servData Data regarding service actions gathered during analysis.
+ * @return Tuple of BMC log id, platform log id
*/
-void createPel(const libhei::IsolationData& i_isoData,
- const ServiceData& i_servData);
+std::tuple<uint32_t, uint32_t> createPel(const libhei::IsolationData& i_isoData,
+ const ServiceData& i_servData);
//------------------------------------------------------------------------------
@@ -120,7 +122,7 @@
//------------------------------------------------------------------------------
-bool analyzeHardware()
+bool analyzeHardware(attn::DumpParameters& o_dumpParameters)
{
bool attnFound = false;
@@ -166,7 +168,12 @@
rasData.getResolution(rootCause)->resolve(servData);
// Create and commit a PEL.
- createPel(isoData, servData);
+ uint32_t logId = std::get<1>(createPel(isoData, servData));
+
+ // Populate dump parameters
+ o_dumpParameters.logId = logId;
+ o_dumpParameters.unitId = 0;
+ o_dumpParameters.dumpType = attn::DumpType::Hardware;
}
// All done, clean up the isolator.