summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2015-02-19 17:22:35 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-02-27 23:28:24 -0600
commit67d0c761b1cb25b4df27b7ea794352aa2bb40e36 (patch)
tree83d495d47586e34f6bc49b940a01266ab3da70c4
parent523eee133dbccc9ff056c9199c94c126f36b2336 (diff)
downloadtalos-hostboot-67d0c761b1cb25b4df27b7ea794352aa2bb40e36.tar.gz
talos-hostboot-67d0c761b1cb25b4df27b7ea794352aa2bb40e36.zip
Add ATTN call to analyze previous IPL checkstop in istep 6.6
Change-Id: I389677db781a903949f41a675dec1c1e590487ee RTC: 119837 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15581 Tested-by: Jenkins Server Reviewed-by: Bilicon Patil <bilpatil@in.ibm.com> Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com> Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r--src/include/usr/diag/attn/attn.H20
-rw-r--r--src/usr/diag/attn/ipl/attn.C20
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C3
-rw-r--r--src/usr/hwas/hostbootIstep.C24
4 files changed, 63 insertions, 4 deletions
diff --git a/src/include/usr/diag/attn/attn.H b/src/include/usr/diag/attn/attn.H
index 9fdea28f2..186974224 100644
--- a/src/include/usr/diag/attn/attn.H
+++ b/src/include/usr/diag/attn/attn.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -33,6 +33,9 @@
#include <errl/errlentry.H>
+// Custom compile configs
+#include <config.h>
+
namespace ATTN
{
@@ -72,5 +75,20 @@ errlHndl_t stopService();
* @retval[!0] Unexpected error occurred.
*/
errlHndl_t checkForIplAttentions();
+
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+
+/**
+ * @brief Called at beginning of the IPL to analyze any data saved by the OCC in
+ * the event of a previous system checkstop attention.
+ *
+ * @retval[0] No errors.
+ * @retval[!0] Unexpected error occurred.
+ */
+errlHndl_t checkForCSAttentions();
+
+#endif // CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+
}
+
#endif
diff --git a/src/usr/diag/attn/ipl/attn.C b/src/usr/diag/attn/ipl/attn.C
index d6f839162..48f8147b2 100644
--- a/src/usr/diag/attn/ipl/attn.C
+++ b/src/usr/diag/attn/ipl/attn.C
@@ -1,11 +1,11 @@
/* IBM_PROLOG_BEGIN_TAG */
/* This is an automatically generated prolog. */
/* */
-/* $Source: src/usr/diag/attn/hostboot/attn.C $ */
+/* $Source: src/usr/diag/attn/ipl/attn.C $ */
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014 */
+/* Contributors Listed Below - COPYRIGHT 2014,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -40,6 +40,9 @@
#include <util/singleton.H>
#include <errl/errlmanager.H>
+// Custom compile configs
+#include <config.h>
+
using namespace std;
using namespace PRDF;
using namespace TARGETING;
@@ -85,4 +88,17 @@ errlHndl_t checkForIplAttentions()
return 0;
}
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+
+errlHndl_t checkForCSAttentions()
+{
+ errlHndl_t err = NULL;
+
+ // TODO: RTC 119543
+
+ return err;
+}
+
+#endif // CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+
}
diff --git a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C
index 78ba858e8..229661cf3 100644
--- a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C
+++ b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C
@@ -46,6 +46,9 @@
#include <prdfCenMbaDataBundle.H>
#include <prdfCenSymbol.H>
+// Custom compile configs
+#include <config.h>
+
using namespace TARGETING;
namespace PRDF
diff --git a/src/usr/hwas/hostbootIstep.C b/src/usr/hwas/hostbootIstep.C
index aac405105..9df0c4390 100644
--- a/src/usr/hwas/hostbootIstep.C
+++ b/src/usr/hwas/hostbootIstep.C
@@ -39,6 +39,7 @@
#include <fsi/fsiif.H>
#include <initservice/taskargs.H>
#include <initservice/isteps_trace.H>
+#include <initservice/initserviceif.H>
#include <hwpisteperror.H>
#include <targeting/attrsync.H>
@@ -69,8 +70,14 @@
#include <ipmi/ipmisensor.H>
#include <ipmi/ipmifruinv.H>
+
+// Custom compile configs
#include <config.h>
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ #include <diag/attn/attn.H>
+#endif
+
namespace HWAS
{
@@ -208,11 +215,26 @@ void* host_gard( void *io_pArgs )
errlHndl_t errl;
do {
- // Check whether we're in MPIPL mode
TARGETING::Target* l_pTopLevel = NULL;
targetService().getTopLevelTarget( l_pTopLevel );
HWAS_ASSERT(l_pTopLevel, "HWAS host_gard: no TopLevelTarget");
+ #ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ INFO_MRK"host_gard: invoke PRD to check for previous CS" );
+
+ errl = ATTN::checkForCSAttentions();
+ if ( NULL != errl )
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ ERR_MRK"host_gard: error from checkForCSAttentions" );
+ errlCommit(errl, HWPF_COMP_ID);
+ }
+
+ #endif
+
+ // Check whether we're in MPIPL mode
if (l_pTopLevel->getAttr<ATTR_IS_MPIPL_HB>())
{
TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "MPIPL mode");
OpenPOWER on IntegriCloud