From 16eddb5c87697e40d41ef842e6b6ad87cc17623e Mon Sep 17 00:00:00 2001 From: Greg Still Date: Thu, 17 Aug 2017 15:51:15 -0500 Subject: [PATCH] PM (Cronus): Add processor id for errors from p9_activate_stop15_cores - reformatted error output for readability - removed FAPI_ASSERT FFDC as these are not useful in Cronus; moved the FFDC to printfs before the ASSERT - Added isHalted() to ppe_utils - added SSH and better SGPE oriented register FFDC - removed extra setBit to core_sb buffer Change-Id: Ie23f294b843b15a78b8d3ee036310631c0595904 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44758 Tested-by: FSP CI Jenkins Dev-Ready: Gregory S. Still Tested-by: Jenkins Server Tested-by: Hostboot CI Reviewed-by: RANGANATHPRASAD G. BRAHMASAMUDRA Reviewed-by: Juan R. Medina Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45304 Reviewed-by: Hostboot Team Tested-by: Jenkins OP Build CI Reviewed-by: Daniel M. Crowell --- .../p9/procedures/hwp/lib/p9_ppe_utils.C | 20 +++++++++++++++++++ .../p9/procedures/hwp/lib/p9_ppe_utils.H | 13 ++++++++++++ 2 files changed, 33 insertions(+) diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.C b/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.C index 810a6fa726c..8cbd018fa83 100644 --- a/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.C +++ b/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.C @@ -641,6 +641,26 @@ fapi_try_exit: //----------------------------------------------------------------------------- +fapi2::ReturnCode ppe_isHalted( + const fapi2::Target& i_target, + const uint64_t i_base_address, + bool* o_halted) +{ + fapi2::buffer l_data64; + + FAPI_TRY(getScom ( i_target, + i_base_address + PPE_XIRAMDBG, + l_data64 ), + "Failed reading XIRAMDBG register!" ); + + *o_halted = l_data64.getBit<0>(); + +fapi_try_exit: + return fapi2::current_err; +} + +//----------------------------------------------------------------------------- + #ifndef __HOSTBOOT_MODULE fapi2::ReturnCode scom_regs_populate_name( diff --git a/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.H b/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.H index cad4f3dd2fa..8d80ca0d815 100644 --- a/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.H +++ b/src/import/chips/p9/procedures/hwp/lib/p9_ppe_utils.H @@ -491,6 +491,19 @@ fapi2::ReturnCode ppe_write_iar( const uint64_t i_base_address, const uint64_t i_address ); + +///-------------------------------------------------------------------------------------- +/// @brief Determine if the PPE is halted +/// @param[in] i_target target +/// @param[in] i_base_address base SCOM address of the PPE +/// @param[out] o_halted boolean true if halted; false otherwise +/// @return fapi2::ReturnCode +///-------------------------------------------------------------------------------------- +fapi2::ReturnCode ppe_isHalted( + const fapi2::Target& i_target, + const uint64_t i_base_address, + bool* o_halted); + #ifndef __HOSTBOOT_MODULE ///--------------------------------------------------------------------------------------