diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2015-02-25 01:40:01 -0600 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-02-27 23:25:44 -0600 |
commit | 1a7b850298437cdb82ab7938dddcd7d30d68e978 (patch) | |
tree | 9d30437dbc598e24989fd24d07265f070ec67b1e /src/usr/hwpf/hwp/core_activate/core_activate.C | |
parent | 1aa1011c26a8bbdc0b322a183ca168c556b3d25e (diff) | |
download | talos-hostboot-1a7b850298437cdb82ab7938dddcd7d30d68e978.tar.gz talos-hostboot-1a7b850298437cdb82ab7938dddcd7d30d68e978.zip |
Route centaur attentions to host for FSP-less systems
Change-Id: Ia0fd4ef05bbf48c983a3cd5ff7553b844aa4ba88
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15979
Tested-by: Jenkins Server
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/core_activate/core_activate.C')
-rw-r--r-- | src/usr/hwpf/hwp/core_activate/core_activate.C | 167 |
1 files changed, 86 insertions, 81 deletions
diff --git a/src/usr/hwpf/hwp/core_activate/core_activate.C b/src/usr/hwpf/hwp/core_activate/core_activate.C index 76223dde0..c5e25d2f0 100644 --- a/src/usr/hwpf/hwp/core_activate/core_activate.C +++ b/src/usr/hwpf/hwp/core_activate/core_activate.C @@ -38,7 +38,7 @@ #include <stdint.h> #include <errno.h> #include <config.h> - +#include <initservice/initserviceif.H> #include <trace/interface.H> #include <initservice/taskargs.H> #include <errl/errlentry.H> @@ -743,106 +743,111 @@ void* call_host_ipl_complete( void *io_pArgs ) } - // Loop through all the centaurs in the system - // and run cen_switch_rec_attn - TARGETING::TargetHandleList l_memTargetList; - getAllChips(l_memTargetList, TYPE_MEMBUF ); - - for ( TargetHandleList::iterator l_iter = l_memTargetList.begin(); - l_iter != l_memTargetList.end(); - ++l_iter ) + if ( INITSERVICE::spBaseServicesEnabled()) { - TARGETING::Target * l_memChip = (*l_iter) ; - - // dump physical path to target - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "Running cen_switch_rec_attn HWP on target HUID %.8X", - TARGETING::get_huid(l_memChip) ); - - // cast OUR type of target to a FAPI type of target. - fapi::Target l_fapi_centaur_target( TARGET_TYPE_MEMBUF_CHIP, - l_memChip ); - FAPI_INVOKE_HWP( l_err, - cen_switch_rec_attn, - l_fapi_centaur_target ); - if (l_err) + // For FSP based systems, do not route centaur + // attentions through host after this step. + // Loop through all the centaurs in the system + // and run cen_switch_rec_attn + TARGETING::TargetHandleList l_memTargetList; + getAllChips(l_memTargetList, TYPE_MEMBUF ); + + for ( TargetHandleList::iterator l_iter = l_memTargetList.begin(); + l_iter != l_memTargetList.end(); + ++l_iter ) { - // log error for this centaur and continue + TARGETING::Target * l_memChip = (*l_iter) ; - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X: cen_switch_rec_attn HWP( )", - l_err->reasonCode() ); + // dump physical path to target + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "Running cen_switch_rec_attn HWP on target HUID %.8X", + TARGETING::get_huid(l_memChip) ); - // Add all the details for this centaur - ErrlUserDetailsTarget myDetails(l_memChip); + // cast OUR type of target to a FAPI type of target. + fapi::Target l_fapi_centaur_target( TARGET_TYPE_MEMBUF_CHIP, + l_memChip ); + FAPI_INVOKE_HWP( l_err, + cen_switch_rec_attn, + l_fapi_centaur_target ); + if (l_err) + { + // log error for this centaur and continue - // capture the target data in the elog - myDetails.addToLog(l_err); + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR 0x%.8X: cen_switch_rec_attn HWP( )", + l_err->reasonCode() ); - // Create IStep error log and cross ref error that occurred - l_stepError.addErrorDetails( l_err ); + // Add all the details for this centaur + ErrlUserDetailsTarget myDetails(l_memChip); - // Commit Error - errlCommit( l_err, HWPF_COMP_ID ); - } - else - { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "SUCCESS: cen_switch_rec_attn HWP( )" ); - } - } // endfor + // capture the target data in the elog + myDetails.addToLog(l_err); + // Create IStep error log and cross ref error that occurred + l_stepError.addErrorDetails( l_err ); - // Loop through all the mcs in the system - // and run proc_switch_rec_attn - TARGETING::TargetHandleList l_mcsTargetList; - getAllChiplets(l_mcsTargetList, TYPE_MCS); + // Commit Error + errlCommit( l_err, HWPF_COMP_ID ); + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS: cen_switch_rec_attn HWP( )" ); + } + } // endfor - for ( TargetHandleList::iterator l_iter = l_mcsTargetList.begin(); - l_iter != l_mcsTargetList.end(); - ++l_iter ) - { - TARGETING::Target * l_mcsChiplet = (*l_iter) ; - // dump physical path to target - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "Running cen_switch_rec_attn HWP on target HUID %.8X", + // Loop through all the mcs in the system + // and run proc_switch_rec_attn + TARGETING::TargetHandleList l_mcsTargetList; + getAllChiplets(l_mcsTargetList, TYPE_MCS); + + for ( TargetHandleList::iterator l_iter = l_mcsTargetList.begin(); + l_iter != l_mcsTargetList.end(); + ++l_iter ) + { + TARGETING::Target * l_mcsChiplet = (*l_iter) ; + + // dump physical path to target + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "Running cen_switch_rec_attn HWP on target HUID %.8X", TARGETING::get_huid(l_mcsChiplet) ); - // cast OUR type of target to a FAPI type of target. - fapi::Target l_fapi_mcs_target( TARGET_TYPE_MCS_CHIPLET, - l_mcsChiplet ); + // cast OUR type of target to a FAPI type of target. + fapi::Target l_fapi_mcs_target( TARGET_TYPE_MCS_CHIPLET, + l_mcsChiplet ); - FAPI_INVOKE_HWP( l_err, - proc_switch_rec_attn, - l_fapi_mcs_target ); - if (l_err) - { - // log error for this mcs and continue + FAPI_INVOKE_HWP( l_err, + proc_switch_rec_attn, + l_fapi_mcs_target ); + if (l_err) + { + // log error for this mcs and continue - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X: proc_switch_rec_attn HWP( )", - l_err->reasonCode() ); + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR 0x%.8X: proc_switch_rec_attn HWP( )", + l_err->reasonCode() ); - // Add all the details for this proc - ErrlUserDetailsTarget myDetails(l_mcsChiplet); + // Add all the details for this proc + ErrlUserDetailsTarget myDetails(l_mcsChiplet); - // capture the target data in the elog - myDetails.addToLog(l_err); + // capture the target data in the elog + myDetails.addToLog(l_err); - // Create IStep error log and cross ref error that occurred - l_stepError.addErrorDetails( l_err ); + // Create IStep error log and cross ref error that occurred + l_stepError.addErrorDetails( l_err ); - // Commit Error - errlCommit( l_err, HWPF_COMP_ID ); - } - else - { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "SUCCESS: proc_switch_rec_attn HWP( )" ); - } + // Commit Error + errlCommit( l_err, HWPF_COMP_ID ); + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS: proc_switch_rec_attn HWP( )" ); + } - } // endfor + } // endfor + } // end if ( INITSERVICE::spBaseServicesEnabled()) #ifdef CONFIG_PCIE_HOTPLUG_CONTROLLER // Loop through all the procs in the system |