summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/core_activate/core_activate.C
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2015-02-25 01:40:01 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-02-27 23:25:44 -0600
commit1a7b850298437cdb82ab7938dddcd7d30d68e978 (patch)
tree9d30437dbc598e24989fd24d07265f070ec67b1e /src/usr/hwpf/hwp/core_activate/core_activate.C
parent1aa1011c26a8bbdc0b322a183ca168c556b3d25e (diff)
downloadtalos-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.C167
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
OpenPOWER on IntegriCloud