diff options
| author | Bill Hoffa <wghoffa@us.ibm.com> | 2017-04-10 14:43:51 -0500 |
|---|---|---|
| committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-05-10 15:33:40 -0400 |
| commit | 240f26001382001974fff7d62367e58df3f7b1db (patch) | |
| tree | 482556bd955971c05b942b6a89639f8f187360a0 /src/usr | |
| parent | b947a1a4119b06ee50287854e5ea974c0926226e (diff) | |
| download | blackbird-hostboot-240f26001382001974fff7d62367e58df3f7b1db.tar.gz blackbird-hostboot-240f26001382001974fff7d62367e58df3f7b1db.zip | |
Include HUID of failed Proc in TI data for certain SBE errors
- Include a generic error pipleline for other future error
scenarios to leverage this functionality
Change-Id: Icc1399ee93157c7106d394944a3355285a8cd830
RTC: 171865
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39072
Reviewed-by: Martin Gloff <mgloff@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
| -rw-r--r-- | src/usr/initservice/baseinitsvc/initservice.C | 28 | ||||
| -rw-r--r-- | src/usr/initservice/baseinitsvc/initservice.H | 6 | ||||
| -rw-r--r-- | src/usr/sbeio/sbe_fifodd.C | 3 | ||||
| -rw-r--r-- | src/usr/sbeio/sbe_psudd.C | 3 |
4 files changed, 29 insertions, 11 deletions
diff --git a/src/usr/initservice/baseinitsvc/initservice.C b/src/usr/initservice/baseinitsvc/initservice.C index c3512b080..49a5dccc0 100644 --- a/src/usr/initservice/baseinitsvc/initservice.C +++ b/src/usr/initservice/baseinitsvc/initservice.C @@ -657,7 +657,8 @@ void doShutdown(uint64_t i_status, uint64_t i_payload_base, uint64_t i_payload_entry, uint64_t i_payload_data, - uint64_t i_masterHBInstance) + uint64_t i_masterHBInstance, + uint32_t i_error_info) { class ShutdownExecute { @@ -666,12 +667,14 @@ void doShutdown(uint64_t i_status, uint64_t i_payload_base, uint64_t i_payload_entry, uint64_t i_payload_data, - uint64_t i_masterHBInstance) + uint64_t i_masterHBInstance, + uint32_t i_error_info) : status(i_status), payload_base(i_payload_base), payload_entry(i_payload_entry), payload_data(i_payload_data), - masterHBInstance(i_masterHBInstance) + masterHBInstance(i_masterHBInstance), + error_info(i_error_info) { } void execute() @@ -680,7 +683,8 @@ void doShutdown(uint64_t i_status, payload_base, payload_entry, payload_data, - masterHBInstance); + masterHBInstance, + error_info); } void startThread() { @@ -693,6 +697,7 @@ void doShutdown(uint64_t i_status, uint64_t payload_entry; uint64_t payload_data; uint64_t masterHBInstance; + uint32_t error_info; static void* run(void* _self) { @@ -709,7 +714,7 @@ void doShutdown(uint64_t i_status, ShutdownExecute* s = new ShutdownExecute(i_status, i_payload_base, i_payload_entry, i_payload_data, - i_masterHBInstance); + i_masterHBInstance, i_error_info); if (i_inBackground) { @@ -744,7 +749,8 @@ void InitService::doShutdown(uint64_t i_status, uint64_t i_payload_base, uint64_t i_payload_entry, uint64_t i_payload_data, - uint64_t i_masterHBInstance) + uint64_t i_masterHBInstance, + uint32_t i_error_info) { int l_rc = 0; errlHndl_t l_err = NULL; @@ -871,9 +877,17 @@ void InitService::doShutdown(uint64_t i_status, i_payload_base, i_payload_entry, i_payload_data, - i_masterHBInstance); + i_masterHBInstance, + i_error_info); } +void doShutdownWithError ( uint64_t i_status, uint32_t i_error_info) +{ + INITSERVICE::doShutdown( i_status, + false, + 0, 0, 0, THIS_NODE_NO_PAYLOAD, + i_error_info); +} bool InitService::registerShutdownEvent(msg_q_t i_msgQ, diff --git a/src/usr/initservice/baseinitsvc/initservice.H b/src/usr/initservice/baseinitsvc/initservice.H index e4be26603..70b1f8427 100644 --- a/src/usr/initservice/baseinitsvc/initservice.H +++ b/src/usr/initservice/baseinitsvc/initservice.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2015 */ +/* Contributors Listed Below - COPYRIGHT 2011,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -227,6 +227,7 @@ public: * @param[in] i_masterHBInstance - master hostboot instance number (node) * Needed when starting payload on a * multi-node system. + * @param[in] i_error_info - Additional error data to be included in TI data * * @return Nothing * @note This calls registered services to notify them of shutdown and it @@ -236,7 +237,8 @@ public: uint64_t i_payload_base = 0, uint64_t i_payload_entry = 0, uint64_t i_payload_data = 0, - uint64_t i_masterHBInstance = 0xffffffffffffffffull); + uint64_t i_masterHBInstance = 0xffffffffffffffffull, + uint32_t i_error_info = 0); protected: diff --git a/src/usr/sbeio/sbe_fifodd.C b/src/usr/sbeio/sbe_fifodd.C index 722457653..32f2326b8 100644 --- a/src/usr/sbeio/sbe_fifodd.C +++ b/src/usr/sbeio/sbe_fifodd.C @@ -149,7 +149,8 @@ errlHndl_t SbeFifo::performFifoChipOp(TARGETING::Target * i_target, SBEIO_HWSV_COLLECT_SBE_RC, orig_plid, TWO_UINT32_TO_UINT64(orig_rc,orig_mod)); - INITSERVICE::doShutdown( SBEIO_HWSV_COLLECT_SBE_RC ); + INITSERVICE::doShutdownWithError( SBEIO_HWSV_COLLECT_SBE_RC, + TARGETING::get_huid(i_target) ); } SBE_TRACD(EXIT_MRK "performFifoChipOp"); diff --git a/src/usr/sbeio/sbe_psudd.C b/src/usr/sbeio/sbe_psudd.C index 16695cc0a..90534deed 100644 --- a/src/usr/sbeio/sbe_psudd.C +++ b/src/usr/sbeio/sbe_psudd.C @@ -195,7 +195,8 @@ errlHndl_t SbePsu::performPsuChipOp(TARGETING::Target * i_target, MAGIC_INST_GET_SBE_TRACES( i_target->getAttr<TARGETING::ATTR_POSITION>(), SBEIO_HWSV_COLLECT_SBE_RC); - INITSERVICE::doShutdown( SBEIO_HWSV_COLLECT_SBE_RC ); + INITSERVICE::doShutdownWithError( SBEIO_HWSV_COLLECT_SBE_RC, + TARGETING::get_huid(i_target) ); } SBE_TRACD(EXIT_MRK "performPsuChipOp"); |

