diff options
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/isteps/istep08/call_p9_rng_init_phase1.C (renamed from src/usr/isteps/istep08/call_host_rng_bist.C) | 52 | ||||
-rw-r--r-- | src/usr/isteps/istep08/makefile | 3 | ||||
-rw-r--r-- | src/usr/isteps/istep16/call_host_secure_rng.C | 40 | ||||
-rw-r--r-- | src/usr/isteps/istep16/call_p9_rng_init_phase2.C | 114 | ||||
-rw-r--r-- | src/usr/isteps/istep16/makefile | 5 |
5 files changed, 157 insertions, 57 deletions
diff --git a/src/usr/isteps/istep08/call_host_rng_bist.C b/src/usr/isteps/istep08/call_p9_rng_init_phase1.C index eb0338d48..25dd969d0 100644 --- a/src/usr/isteps/istep08/call_host_rng_bist.C +++ b/src/usr/isteps/istep08/call_p9_rng_init_phase1.C @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/usr/isteps/istep08/call_host_rng_bist.C $ */ +/* $Source: src/usr/isteps/istep08/call_p9_rng_init_phase1.C $ */ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015 */ +/* Contributors Listed Below - COPYRIGHT 2015,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -23,7 +23,7 @@ /* */ /* IBM_PROLOG_END_TAG */ /** - @file host_rng_bist.C + @file call_p9_rng_init_phase1.C * * Support file for IStep: nest_chiplets * Nest Chiplets @@ -55,12 +55,9 @@ #include <vpd/mvpdenums.H> #include <config.h> +#include <fapi2/plat_hwp_invoker.H> +#include <p9_rng_init_phase1.H> -// -- prototype includes -- -// Add any customized routines that you don't want overwritten into -// "start_clocks_on_nest_chiplets_custom.C" and include -// the prototypes here. -// #include "nest_chiplets_custom.H" namespace ISTEP_08 { @@ -72,19 +69,44 @@ using namespace TARGETING; //****************************************************************************** // wrapper function to call proc_chiplet_enable_ridi //****************************************************************************** -void* call_host_rng_bist( void *io_pArgs ) +void* call_p9_rng_init_phase1( void *io_pArgs ) { errlHndl_t l_err = NULL; IStepError l_StepError; - // @TODO RTC:134078 Call HWP - //FAPI_INVOKE_HWP(l_err,p9_trigger_rng_bist); - if(l_err) + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_p9_rng_init_phase1 entry" ); + // + // get a list of all the procs in the system + // + TARGETING::TargetHandleList l_cpuTargetList; + getAllChips(l_cpuTargetList, TYPE_PROC); + + // Loop through all processors including master + for (const auto & l_cpu_target: l_cpuTargetList) { - l_StepError.addErrorDetails(l_err); - errlCommit(l_err, 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_rng_init_phase1 HWP on processor target %.8X", + TARGETING::get_huid(l_cpu_target) ); + + FAPI_INVOKE_HWP(l_err, p9_rng_init_phase1, l_fapi2_proc_target); + if(l_err) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR: call p9_rng_init_phase1, PLID=0x%x", + l_err->plid()); + l_StepError.addErrorDetails(l_err); + errlCommit(l_err, HWPF_COMP_ID); + } + + } // end of going through all processors + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_p9_rng_init_phase1 exit"); return l_StepError.getErrorHandle(); } diff --git a/src/usr/isteps/istep08/makefile b/src/usr/isteps/istep08/makefile index f95e2b97f..061b22dfd 100644 --- a/src/usr/isteps/istep08/makefile +++ b/src/usr/isteps/istep08/makefile @@ -58,7 +58,7 @@ OBJS += call_proc_npu_scominit.o OBJS += call_proc_pcie_scominit.o OBJS += call_proc_scomoverride_chiplets.o OBJS += call_proc_chiplet_enable_ridi.o -OBJS += call_host_rng_bist.o +OBJS += call_p9_rng_init_phase1.o OBJS += call_host_set_voltages.o OBJS += call_host_attnlisten_proc.o @@ -142,6 +142,7 @@ include ${PROCEDURES_PATH}/hwp/perv/p9_chiplet_enable_ridi.mk # host_rng_bist : Trigger Built In Self Test # HWP not ready - p9_trigger_rng_bist.mk +include ${PROCEDURES_PATH}/hwp/nest/p9_rng_init_phase1.mk # p9_setup_evid : apply voltage settings include ${PROCEDURES_PATH}/hwp/pm/p9_setup_evid.mk diff --git a/src/usr/isteps/istep16/call_host_secure_rng.C b/src/usr/isteps/istep16/call_host_secure_rng.C deleted file mode 100644 index 2a4df6da2..000000000 --- a/src/usr/isteps/istep16/call_host_secure_rng.C +++ /dev/null @@ -1,40 +0,0 @@ -/* IBM_PROLOG_BEGIN_TAG */ -/* This is an automatically generated prolog. */ -/* */ -/* $Source: src/usr/isteps/istep16/call_host_secure_rng.C $ */ -/* */ -/* OpenPOWER HostBoot Project */ -/* */ -/* Contributors Listed Below - COPYRIGHT 2015,2016 */ -/* [+] International Business Machines Corp. */ -/* */ -/* */ -/* Licensed under the Apache License, Version 2.0 (the "License"); */ -/* you may not use this file except in compliance with the License. */ -/* You may obtain a copy of the License at */ -/* */ -/* http://www.apache.org/licenses/LICENSE-2.0 */ -/* */ -/* Unless required by applicable law or agreed to in writing, software */ -/* distributed under the License is distributed on an "AS IS" BASIS, */ -/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ -/* implied. See the License for the specific language governing */ -/* permissions and limitations under the License. */ -/* */ -/* IBM_PROLOG_END_TAG */ - -#include <errl/errlentry.H> - -using namespace ERRORLOG; - -namespace ISTEP_16 -{ -void* call_host_secure_rng (void *io_pArgs) -{ - errlHndl_t l_err = NULL; - //@TODO RTC:147388 call p9_secure_rng.C HWP - //Joe McGill not finished. - return l_err; -} - -}; diff --git a/src/usr/isteps/istep16/call_p9_rng_init_phase2.C b/src/usr/isteps/istep16/call_p9_rng_init_phase2.C new file mode 100644 index 000000000..aeb3e60fd --- /dev/null +++ b/src/usr/isteps/istep16/call_p9_rng_init_phase2.C @@ -0,0 +1,114 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/isteps/istep16/call_p9_rng_init_phase2.C $ */ +/* */ +/* OpenPOWER HostBoot Project */ +/* */ +/* Contributors Listed Below - COPYRIGHT 2015,2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* Licensed under the Apache License, Version 2.0 (the "License"); */ +/* you may not use this file except in compliance with the License. */ +/* You may obtain a copy of the License at */ +/* */ +/* http://www.apache.org/licenses/LICENSE-2.0 */ +/* */ +/* Unless required by applicable law or agreed to in writing, software */ +/* distributed under the License is distributed on an "AS IS" BASIS, */ +/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */ +/* implied. See the License for the specific language governing */ +/* permissions and limitations under the License. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/** + @file call_p9_rng_init_phase2.C + * + * Support file for IStep: nest_chiplets + * Nest Chiplets + * + * HWP_IGNORE_VERSION_CHECK + * + */ +/******************************************************************************/ +// Includes +/******************************************************************************/ +#include <stdint.h> + +#include <trace/interface.H> +#include <initservice/taskargs.H> +#include <errl/errlentry.H> + +#include <isteps/hwpisteperror.H> +#include <errl/errludtarget.H> + +#include <initservice/isteps_trace.H> +#include <initservice/initserviceif.H> + +// targeting support +#include <targeting/common/commontargeting.H> +#include <targeting/common/utilFilter.H> + +// MVPD +#include <devicefw/userif.H> +#include <vpd/mvpdenums.H> + +#include <config.h> +#include <fapi2/plat_hwp_invoker.H> +#include <p9_rng_init_phase2.H> + +namespace ISTEP_08 +{ + +using namespace ISTEP; +using namespace ISTEP_ERROR; +using namespace ERRORLOG; +using namespace TARGETING; + +//****************************************************************************** +// wrapper function to call proc_chiplet_enable_ridi +//****************************************************************************** +void* call_p9_rng_init_phase2( void *io_pArgs ) +{ + + errlHndl_t l_err = NULL; + IStepError l_StepError; + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_p9_rng_init_phase2 entry" ); + // + // get a list of all the procs in the system + // + TARGETING::TargetHandleList l_cpuTargetList; + getAllChips(l_cpuTargetList, TYPE_PROC); + + // Loop through all processors including master + for (const auto & l_cpu_target: l_cpuTargetList) + { + const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>l_fapi2_proc_target( + l_cpu_target); + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "Running p9_rng_init_phase2 HWP on processor target %.8X", + TARGETING::get_huid(l_cpu_target) ); + + FAPI_INVOKE_HWP(l_err, p9_rng_init_phase2, l_fapi2_proc_target); + if(l_err) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR: call p9_rng_init_phase2, PLID=0x%x", + l_err->plid()); + l_StepError.addErrorDetails(l_err); + errlCommit(l_err, HWPF_COMP_ID); + } + + } // end of going through all processors + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_p9_rng_init_phase2 exit"); + + return l_StepError.getErrorHandle(); +} + +}; // end namespace diff --git a/src/usr/isteps/istep16/makefile b/src/usr/isteps/istep16/makefile index 690ed925a..fea36913a 100644 --- a/src/usr/isteps/istep16/makefile +++ b/src/usr/isteps/istep16/makefile @@ -29,6 +29,7 @@ PROCEDURES_PATH = ${ROOTPATH}/src/import/chips/p9/procedures EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/pm/ EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/perv/ +EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/nest/ EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/lib/ EXTRAINCDIR += ${ROOTPATH}/src/import/hwpf/fapi2/include/ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/fapi2/ @@ -38,7 +39,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/p9/utils/imageProcs/ OBJS += call_host_activate_master.o OBJS += call_host_activate_slave_cores.o -OBJS += call_host_secure_rng.o +OBJS += call_p9_rng_init_phase2.o OBJS += call_mss_scrub.o OBJS += call_host_ipl_complete.o @@ -47,8 +48,10 @@ include ${ROOTPATH}/procedure.rules.mk include ${PROCEDURES_PATH}/hwp/pm/p9_block_wakeup_intr.mk include ${PROCEDURES_PATH}/hwp/perv/p9_switch_cfsim.mk include ${PROCEDURES_PATH}/hwp/perv/p9_switch_rec_attn.mk +include ${PROCEDURES_PATH}/hwp/nest/p9_rng_init_phase2.mk include ${ROOTPATH}/config.mk VPATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/pm/ VPATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/perv/ +VPATH += ${ROOTPATH}/src/import/chips/p9/procedures/hwp/nest/ |