diff options
author | Andres Lugo-Reyes <aalugore@us.ibm.com> | 2015-05-05 13:14:27 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-06-19 16:00:51 -0500 |
commit | ef69ea46b6208625307bd42b2cf29beef10c8418 (patch) | |
tree | 1256d14ea7950e28714553f5503be2530bd04e9d /src/usr/fsi | |
parent | 4d1c59f09b6b0ab9236aa42694cb2e42cbe8d3eb (diff) | |
download | talos-hostboot-ef69ea46b6208625307bd42b2cf29beef10c8418.tar.gz talos-hostboot-ef69ea46b6208625307bd42b2cf29beef10c8418.zip |
Add serial numbers/part numbers to err logs w/ hwcallouts
Change-Id: Ifef77c71f40e70136cdb5172ce653f7a5ebfdd10
RTC:122890
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/16870
Tested-by: Jenkins Server
Tested-by: Jenkins OP Build CI
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/fsi')
-rw-r--r-- | src/usr/fsi/fsipres.C | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/usr/fsi/fsipres.C b/src/usr/fsi/fsipres.C index 00aa81357..b092c0973 100644 --- a/src/usr/fsi/fsipres.C +++ b/src/usr/fsi/fsipres.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2014 */ +/* Contributors Listed Below - COPYRIGHT 2011,2015 */ /* [+] Google Inc. */ /* [+] International Business Machines Corp. */ /* */ @@ -34,6 +34,7 @@ #include <hwas/common/hwasCallout.H> #include <targeting/common/predicates/predicatectm.H> #include <config.h> +#include <initservice/initserviceif.H> extern trace_desc_t* g_trac_fsi; @@ -197,14 +198,23 @@ errlHndl_t procPresenceDetect(DeviceFW::OperationType i_opType, FSI_COMP_ID ); } - bool present = fsi_present && mvpd_present; + if( present ) + { + //Fsp sets PN/SN so if there is none, do it here + if(!INITSERVICE::spBaseServicesEnabled()) + { + // set part and serial number attributes for current target + VPD::setPartAndSerialNumberAttributes( i_target ); + + } + } + memcpy(io_buffer, &present, sizeof(present)); io_buflen = sizeof(present); return NULL; } - /** * @brief Performs a presence detect operation on a Membuf Chip. * @@ -271,6 +281,7 @@ errlHndl_t membPresenceDetect(DeviceFW::OperationType i_opType, cvpd_present = VPD::cvpdPresent( i_target ); } + #if defined(CONFIG_CVPD_READ_FROM_HW) && defined(CONFIG_CVPD_READ_FROM_PNOR) if( cvpd_present ) { @@ -347,7 +358,18 @@ errlHndl_t membPresenceDetect(DeviceFW::OperationType i_opType, errlCommit( l_errl, FSI_COMP_ID ); } + bool present = fsi_present && cvpd_present; + if( present ) + { + //Fsp sets PN/SN so if there is none, do it here + if(!INITSERVICE::spBaseServicesEnabled()) + { + // set part and serial number attributes for current target + VPD::setPartAndSerialNumberAttributes( i_target ); + } + + } memcpy(io_buffer, &present, sizeof(present)); io_buflen = sizeof(present); |