summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/attn
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2015-02-23 21:30:04 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-02-27 23:46:15 -0600
commitb6ec5b042850fd80517dfdbb1226624b98cf617d (patch)
treed9edd14d8f2a2601e7cea519bb337f90f2f165bd /src/usr/diag/attn
parentb640d9b9361402f45b5c88a6bb2384ab2995accc (diff)
downloadtalos-hostboot-b6ec5b042850fd80517dfdbb1226624b98cf617d.tar.gz
talos-hostboot-b6ec5b042850fd80517dfdbb1226624b98cf617d.zip
PRD: Support scom operations from PNOR FIRDATA section
Change-Id: I77bf6f4b361dd18ae6d68f07a95e631509974f3b RTC: 119623 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15040 Reviewed-by: Christopher T. Phan <cphan@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com> Reviewed-by: Bilicon Patil <bilpatil@in.ibm.com> Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/attn')
-rw-r--r--src/usr/diag/attn/ipl/attn.C45
-rw-r--r--src/usr/diag/attn/ipl/makefile4
2 files changed, 44 insertions, 5 deletions
diff --git a/src/usr/diag/attn/ipl/attn.C b/src/usr/diag/attn/ipl/attn.C
index 48f8147b2..705964954 100644
--- a/src/usr/diag/attn/ipl/attn.C
+++ b/src/usr/diag/attn/ipl/attn.C
@@ -43,6 +43,10 @@
// Custom compile configs
#include <config.h>
+#ifdef CONFIG_ENABLE_CHECKSTOP_ANALYSIS
+ #include <diag/prdf/prdfPnorFirDataReader.H>
+#endif
+
using namespace std;
using namespace PRDF;
using namespace TARGETING;
@@ -92,11 +96,46 @@ errlHndl_t checkForIplAttentions()
errlHndl_t checkForCSAttentions()
{
- errlHndl_t err = NULL;
+ ATTN_SLOW("Checking for checkstop attentions");
+
+ errlHndl_t errl = NULL;
+
+ assert(!Singleton<Service>::instance().running());
+
+ do
+ {
+ // Read register data from PNOR into memory.
+ PnorFirDataReader & firData = PnorFirDataReader::getPnorFirDataReader();
+ bool validData;
+ errl = firData.readPnor( validData );
+ if ( NULL != errl )
+ {
+ ATTN_ERR("PnorFirDataReader::readPnor() failed");
+ break;
+ }
+
+ // Check if there was valid data in PNOR.
+ if ( !validData )
+ {
+ // Nothing to do, exit quietly.
+ break;
+ }
+
+ // TODO: RTC 119543 Process the checkstop attention
+
+ // Analysis is complete. Clear the PNOR data.
+ errl = firData.clearPnor();
+ if ( NULL != errl )
+ {
+ ATTN_ERR("PnorFirDataReader::clearPnor() failed");
+ break;
+ }
+
+ } while (0);
- // TODO: RTC 119543
+ ATTN_SLOW("checkForCSAttentions complete");
- return err;
+ return errl;
}
#endif // CONFIG_ENABLE_CHECKSTOP_ANALYSIS
diff --git a/src/usr/diag/attn/ipl/makefile b/src/usr/diag/attn/ipl/makefile
index 528a8d1b0..71dedf1d7 100644
--- a/src/usr/diag/attn/ipl/makefile
+++ b/src/usr/diag/attn/ipl/makefile
@@ -1,11 +1,11 @@
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
-# $Source: src/usr/diag/attn/hostboot/makefile $
+# $Source: src/usr/diag/attn/ipl/makefile $
#
# OpenPOWER HostBoot Project
#
-# Contributors Listed Below - COPYRIGHT 2014
+# Contributors Listed Below - COPYRIGHT 2014,2015
# [+] International Business Machines Corp.
#
#
OpenPOWER on IntegriCloud