From ae7863d014454c860e9e80dfc81249b4e4dd5f77 Mon Sep 17 00:00:00 2001 From: Christian Geddes Date: Fri, 1 Mar 2019 16:03:20 -0600 Subject: Compile and call p9a_omi_setup_bars in istep 12.3 As per P9A IPL documentation, we must call p9a_omi_setup_bars on all processors during istep 12.3. Change-Id: I2c64a6d079368d91af218187344b7d8ed3b53ee6 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/72735 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Matt Derksen Reviewed-by: Glenn Miles Reviewed-by: Daniel M. Crowell Reviewed-by: Christian R. Geddes --- src/usr/isteps/istep12/call_cen_dmi_scominit.C | 51 +++++++++++++++++++++++++- src/usr/isteps/istep12/makefile | 5 +-- 2 files changed, 51 insertions(+), 5 deletions(-) (limited to 'src/usr/isteps/istep12') diff --git a/src/usr/isteps/istep12/call_cen_dmi_scominit.C b/src/usr/isteps/istep12/call_cen_dmi_scominit.C index 576d4ed23..8e7a9feef 100644 --- a/src/usr/isteps/istep12/call_cen_dmi_scominit.C +++ b/src/usr/isteps/istep12/call_cen_dmi_scominit.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2017 */ +/* Contributors Listed Below - COPYRIGHT 2015,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -46,6 +46,10 @@ // HWP #include +#ifdef CONFIG_AXONE +#include +#endif + using namespace ISTEP; using namespace ISTEP_ERROR; using namespace ERRORLOG; @@ -103,9 +107,52 @@ void* call_cen_dmi_scominit (void *io_pArgs) } + #ifdef CONFIG_AXONE + TARGETING::TargetHandleList l_procTargetList; + getAllChips(l_procTargetList, TYPE_PROC); + + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "call_cen_dmi_scominit: %d procs found", + l_procTargetList.size()); + + for (const auto & l_proc_target : l_procTargetList) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "p9a_omi_setup_bars HWP target HUID %.8x", + TARGETING::get_huid(l_proc_target)); + + // call the HWP with each target + fapi2::Target l_fapi_proc_target + (l_proc_target); + + FAPI_INVOKE_HWP(l_err, p9a_omi_setup_bars, l_fapi_proc_target); + + // process return code. + if ( l_err ) + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR 0x%.8X: p9a_omi_setup_bars HWP on target HUID %.8x", + l_err->reasonCode(), TARGETING::get_huid(l_proc_target) ); + + // capture the target data in the elog + ErrlUserDetailsTarget(l_proc_target).addToLog( l_err ); + + // Create IStep error log and cross reference to error that occurred + l_StepError.addErrorDetails( l_err ); + + // Commit Error + errlCommit( l_err, ISTEP_COMP_ID ); + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS : p9a_omi_setup_bars HWP"); + } + + } + #endif // CONFIG_AXONE TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_cen_dmi_scominit exit" ); - + // end task, returning any errorlogs to IStepDisp return l_StepError.getErrorHandle(); } diff --git a/src/usr/isteps/istep12/makefile b/src/usr/isteps/istep12/makefile index 3047e041c..eba5516a4 100644 --- a/src/usr/isteps/istep12/makefile +++ b/src/usr/isteps/istep12/makefile @@ -92,9 +92,6 @@ OBJS+=p9c_set_inband_addr.o # HWP objects need to unmask inband errors during framelock OBJS+=p9c_mss_unmask_errors.o -# HWP files we do not have .mks for - - #Required before all the .mk are included include ${ROOTPATH}/procedure.rules.mk @@ -128,6 +125,8 @@ OBJS += $(if $(CONFIG_AXONE),exp_omi_setup.o,) OBJS += $(if $(CONFIG_AXONE),exp_omi_train.o,) OBJS += $(if $(CONFIG_AXONE),p9a_omi_train.o,) OBJS += $(if $(CONFIG_AXONE),p9a_omi_train_check.o,) +OBJS += $(if $(CONFIG_AXONE),p9a_omi_setup_bars.o,) +OBJS += $(if $(CONFIG_AXONE),p9a_addr_ext.o,) include ${ROOTPATH}/config.mk -- cgit v1.2.1