diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2018-05-16 11:28:38 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-05-29 10:12:09 -0400 |
commit | a09327508399ce6d7c9f569f4011b097e92cfdaa (patch) | |
tree | 18d03d3299aa8e5b7fb68fcbb075e9842b421ea2 /src/usr/diag/attn/runtime | |
parent | 264b8c707d653cefd84c5ad939e458e8a064261e (diff) | |
download | talos-hostboot-a09327508399ce6d7c9f569f4011b097e92cfdaa.tar.gz talos-hostboot-a09327508399ce6d7c9f569f4011b097e92cfdaa.zip |
Save and restore OBUS related firmasks
During Hostboot IPL time it is impossible to see OBUS peers because
they exists on different nodes and Hostboot is unaware of other nodes.
Because of this we must mask off additional OBUS related firs during
Hostboot IPL time. After we have reached runtime and have re-adjusted
PEER targets we can restore the FIR values to what they were prior
to the additional masking Hostboot does during IPL time.
Change-Id: Ib9c158191c7f68f4bd7126799ba0a0aba40cee18
CQ: SW425530
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58916
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/diag/attn/runtime')
-rw-r--r-- | src/usr/diag/attn/runtime/attn_rt.C | 29 | ||||
-rw-r--r-- | src/usr/diag/attn/runtime/attn_rt.mk | 13 |
2 files changed, 39 insertions, 3 deletions
diff --git a/src/usr/diag/attn/runtime/attn_rt.C b/src/usr/diag/attn/runtime/attn_rt.C index 9102acbaf..a82cdb7d2 100644 --- a/src/usr/diag/attn/runtime/attn_rt.C +++ b/src/usr/diag/attn/runtime/attn_rt.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2017 */ +/* Contributors Listed Below - COPYRIGHT 2014,2018 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -37,6 +37,10 @@ #include <errno.h> #include <prdf/common/prdfMain_common.H> +#include <p9_io_obus_firmask_save_restore.H> +#include <fapi2_target.H> // fapi2::Target +#include <fapi2/plat_hwp_invoker.H> // FAPI_INVOKE_HWP + using namespace std; using namespace TARGETING; using namespace ATTN; @@ -57,8 +61,29 @@ namespace ATTN_RT do { + // Get a list of all the processors in the system + TARGETING::TargetHandleList l_targetList; + getAllChips(l_targetList, TARGETING::TYPE_PROC); + // Loop through all processors chip targets + for (const auto & l_target: l_targetList) + { + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>l_fapi2Target(l_target); + // Restore firmask values that were stored in attributes after chiplet_scominit. + // Now that we are in HBRT , OBUS peer targets are known so it is okay to + // re-enable the firs that we masked off during Hostboot IPL + FAPI_INVOKE_HWP(err, + p9_io_obus_firmask_save_restore, + l_fapi2Target, p9iofirmasksaverestore::RESTORE); + if(err) + { + // Commit error but don't fail, we lose debug capabilties but this + // should not fail the boot + errlCommit(err, FAPI2_COMP_ID); + } + } + err = initialize(); - if ( nullptr != err ) + if (err) { ATTN_ERR( "ATTN_RT::enableAttns: Failed to initialize PRD" ); diff --git a/src/usr/diag/attn/runtime/attn_rt.mk b/src/usr/diag/attn/runtime/attn_rt.mk index ced2fd88e..4919b1e9a 100644 --- a/src/usr/diag/attn/runtime/attn_rt.mk +++ b/src/usr/diag/attn/runtime/attn_rt.mk @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2012,2014 +# Contributors Listed Below - COPYRIGHT 2012,2018 # [+] International Business Machines Corp. # # @@ -23,5 +23,16 @@ # # IBM_PROLOG_END_TAG + +EXTRAINCDIR += ${ROOTPATH}/src/import/hwpf/fapi2/include/ +EXTRAINCDIR += ${ROOTPATH}/src/include/usr/fapi2/ +EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/io/ +EXTRAINCDIR += ${ROOTPATH}/src/import/chips/common/utils/imageProcs/ +EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/ffdc/ +EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/common/include/ + +VPATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/io/ + ATTN_RT_OBJS += attn_rt.o ATTN_RT_OBJS += attnsvc.o +ATTN_RT_OBJS += p9_io_obus_firmask_save_restore.o
\ No newline at end of file |