diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2015-02-19 17:22:35 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-02-27 23:28:24 -0600 |
commit | 67d0c761b1cb25b4df27b7ea794352aa2bb40e36 (patch) | |
tree | 83d495d47586e34f6bc49b940a01266ab3da70c4 | |
parent | 523eee133dbccc9ff056c9199c94c126f36b2336 (diff) | |
download | talos-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.H | 20 | ||||
-rw-r--r-- | src/usr/diag/attn/ipl/attn.C | 20 | ||||
-rw-r--r-- | src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr_ipl.C | 3 | ||||
-rw-r--r-- | src/usr/hwas/hostbootIstep.C | 24 |
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"); |