diff options
author | Dzuy Nguyen <dzuy@us.ibm.com> | 2016-09-23 13:39:12 -0500 |
---|---|---|
committer | Matthew A. Ploetz <maploetz@us.ibm.com> | 2016-10-10 15:19:35 -0400 |
commit | ea0b739975be946d8221391aada95c941898da8e (patch) | |
tree | c3ebdfe07df57ea16fec3b908b8565d8183ff814 /src/usr/isteps/istep16/call_p9_rng_init_phase2.C | |
parent | 4156be267549d78aedd968a07f58c6918d20682a (diff) | |
download | talos-hostboot-ea0b739975be946d8221391aada95c941898da8e.tar.gz talos-hostboot-ea0b739975be946d8221391aada95c941898da8e.zip |
Call rng init phases 1,2 in istep
istep 8.20 call p9_rng_init_phase1 (remove host_rgn_bist)
istep 16.3 call p9_rng_init_phase2 (remove host_secure_rng)
Change-Id: I4455d1ecab6eaad841de4e1e83200c62f7eec1b2
RTC:147388
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30191
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Prachi Gupta <pragupta@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Reviewed-by: Matthew A. Ploetz <maploetz@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep16/call_p9_rng_init_phase2.C')
-rw-r--r-- | src/usr/isteps/istep16/call_p9_rng_init_phase2.C | 114 |
1 files changed, 114 insertions, 0 deletions
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 |