diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2015-02-23 21:30:04 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-02-27 23:46:15 -0600 |
commit | b6ec5b042850fd80517dfdbb1226624b98cf617d (patch) | |
tree | d9edd14d8f2a2601e7cea519bb337f90f2f165bd /src/usr/diag/attn | |
parent | b640d9b9361402f45b5c88a6bb2384ab2995accc (diff) | |
download | talos-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.C | 45 | ||||
-rw-r--r-- | src/usr/diag/attn/ipl/makefile | 4 |
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. # # |