summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep09/call_proc_smp_link_layer.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/isteps/istep09/call_proc_smp_link_layer.C')
-rw-r--r--src/usr/isteps/istep09/call_proc_smp_link_layer.C44
1 files changed, 37 insertions, 7 deletions
diff --git a/src/usr/isteps/istep09/call_proc_smp_link_layer.C b/src/usr/isteps/istep09/call_proc_smp_link_layer.C
index 106d59be9..e0d36556f 100644
--- a/src/usr/isteps/istep09/call_proc_smp_link_layer.C
+++ b/src/usr/isteps/istep09/call_proc_smp_link_layer.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2015 */
+/* Contributors Listed Below - COPYRIGHT 2015,2016 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -57,6 +57,12 @@
#include <targeting/common/utilFilter.H>
#include <targeting/common/trace.H>
+#include <fapi2/target.H>
+#include <fapi2/plat_hwp_invoker.H>
+#include <errl/errlmanager.H>
+
+#include <p9_smp_link_layer.H>
+
namespace ISTEP_09
{
@@ -77,14 +83,38 @@ void* call_proc_smp_link_layer( void *io_pArgs )
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
"call_proc_smp_link_layer entry" );
- //@TODO RTC:133830 call HWP
- //FAPI_INVOKE_HWP(l_errl,p9_smp_link_layer);
- if(l_errl)
+
+ //
+ // get a list of all the procs in the system
+ //
+ TARGETING::TargetHandleList l_cpuTargetList;
+ getAllChips(l_cpuTargetList, TYPE_PROC);
+
+ for (const auto & l_cpu_target: l_cpuTargetList)
{
- l_StepError.addErrorDetails(l_errl);
- errlCommit(l_errl, HWPF_COMP_ID);
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>
+ l_fapi2_proc_target (l_cpu_target);
+
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "Running p9_smp_link_layer HWP on processor target %.8X",
+ TARGETING::get_huid(l_cpu_target) );
+
+ FAPI_INVOKE_HWP(l_errl,p9_smp_link_layer, l_fapi2_proc_target);
+ if(l_errl)
+ {
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ ERR_MRK "call_proc_smp_link_layer> Failed HWP call, "
+ " HUID = 0x%08X",
+ TARGETING::get_huid(l_cpu_target) );
+ l_StepError.addErrorDetails(l_errl);
+ errlCommit(l_errl, HWPF_COMP_ID);
+ }
}
- return l_StepError.getErrorHandle();
+ TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace,
+ "call_proc_smp_link_layer exit" );
+
+ return l_StepError.getErrorHandle();
}
+
};
OpenPOWER on IntegriCloud