diff options
Diffstat (limited to 'src/usr/isteps/istep07/call_mss_eff_config.C')
-rw-r--r-- | src/usr/isteps/istep07/call_mss_eff_config.C | 69 |
1 files changed, 39 insertions, 30 deletions
diff --git a/src/usr/isteps/istep07/call_mss_eff_config.C b/src/usr/isteps/istep07/call_mss_eff_config.C index 3f9b52371..e5ac21875 100644 --- a/src/usr/isteps/istep07/call_mss_eff_config.C +++ b/src/usr/isteps/istep07/call_mss_eff_config.C @@ -30,46 +30,59 @@ /******************************************************************************/ // Includes /******************************************************************************/ + +// STD #include <stdint.h> +#include <stdlib.h> #include <map> +// Generated +#include <attributeenums.H> +#include <config.h> + +// Errors and Tracing Support #include <trace/interface.H> #include <initservice/taskargs.H> +#include <initservice/isteps_trace.H> #include <errl/errlentry.H> - -#include <isteps/hwpisteperror.H> #include <errl/errludtarget.H> +#include <isteps/hwpisteperror.H> +#include <hbotcompid.H> -#include <initservice/isteps_trace.H> - +// Pnor Support #include <pnor/pnorif.H> -// targeting support +// Targeting Support #include <targeting/common/commontargeting.H> #include <targeting/common/utilFilter.H> -#include <config.h> +// Fapi Support #include <fapi2.H> #include <fapi2/plat_hwp_invoker.H> -// HWP +// Nimbus Specific HWPs #include <p9_mss_eff_config.H> #include <p9_mss_eff_config_thermal.H> #include <p9_mss_eff_grouping.H> + +// Cumulus Specific HWPs #include <p9c_mss_eff_config.H> #include <p9c_mss_eff_mb_interleave.H> #include <p9c_mss_eff_config_thermal.H> +// Axone Specific HWPs #ifdef CONFIG_AXONE #include <p9a_mss_eff_config.H> -#include <p9a_mss_eff_config_thermal.H> +#include <exp_mss_eff_config_thermal.H> #endif -#include <hbotcompid.H> +// SMF Support +#include <secureboot/smf.H> +// NVDIMM Support #include <nvram/nvram_interface.H> -#include <secureboot/smf.H> -#include <stdlib.h> + + namespace ISTEP_07 { @@ -167,13 +180,13 @@ void* call_mss_eff_config( void *io_pArgs ) { IStepError l_StepError; errlHndl_t l_err = nullptr; -#ifdef CONFIG_SECUREBOOT +#if (defined CONFIG_SECUREBOOT && ! defined CONFIG_AXONE) auto memdLoaded = false; #endif do { - #ifdef CONFIG_SECUREBOOT + #if (defined CONFIG_SECUREBOOT && ! defined CONFIG_AXONE) // MEMD used by p9_mss_eff_config HWP l_err = loadSecureSection(PNOR::MEMD); if (l_err) @@ -194,14 +207,11 @@ void* call_mss_eff_config( void *io_pArgs ) TARGETING::ATTR_MODEL_type l_procModel = TARGETING::targetService().getProcessorModel(); - TARGETING::Target* l_sys = nullptr; - targetService().getTopLevelTarget(l_sys); - assert( l_sys != nullptr ); - TARGETING::TargetHandleList l_membufTargetList; TARGETING::TargetHandleList l_mcsTargetList; TARGETING::TargetHandleList l_memportTargetList; - std::vector<fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>> l_fapi_memport_targets; + std::vector<fapi2::Target<fapi2::TARGET_TYPE_OCMB_CHIP>> l_fapi_ocmb_targets; + if(l_procModel == TARGETING::MODEL_CUMULUS) { @@ -310,11 +320,10 @@ void* call_mss_eff_config( void *io_pArgs ) const fapi2::Target <fapi2::TARGET_TYPE_MEM_PORT> l_fapi_memport_target (l_memport_target); - // TODO RTC: 207850 Remove workaround setting EFF_DIMM_SIZE when MSS has code that sets this - uint32_t l_defaultMemSize[] = {0x8, 0x0}; - FAPI_ATTR_SET(fapi2::ATTR_MEM_EFF_DIMM_SIZE, l_fapi_memport_target, l_defaultMemSize); + const auto l_fapi2_ocmb_target = + l_fapi_memport_target.getParent<fapi2::TARGET_TYPE_OCMB_CHIP>(); - l_fapi_memport_targets.push_back(l_fapi_memport_target); + l_fapi_ocmb_targets.push_back(l_fapi2_ocmb_target); TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call p9a_mss_eff_config HWP on MEM_PORT HUID %.8X", @@ -475,18 +484,18 @@ void* call_mss_eff_config( void *io_pArgs ) #ifdef CONFIG_AXONE else if(l_procModel == TARGETING::MODEL_AXONE) { - if(l_fapi_memport_targets.size() > 0) + if(l_fapi_ocmb_targets.size() > 0) { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "call p9a_mss_eff_config_thermal HWP on %d MEM_PORT targets", - l_fapi_memport_targets.size()); + "call exp_mss_eff_config_thermal HWP on %d OCMB_CHIP targets", + l_fapi_ocmb_targets.size()); - FAPI_INVOKE_HWP(l_err, p9a_mss_eff_config_thermal, l_fapi_memport_targets); + FAPI_INVOKE_HWP(l_err, exp_mss_eff_config_thermal, l_fapi_ocmb_targets); if (l_err) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR 0x%.8X: p9a_mss_eff_config_thermal HWP", + "ERROR 0x%.8X: exp_mss_eff_config_thermal HWP", l_err->reasonCode()); // Ensure istep error created and has same plid as this error @@ -498,13 +507,13 @@ void* call_mss_eff_config( void *io_pArgs ) else { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "SUCCESS : p9a_mss_eff_config_thermal HWP"); + "SUCCESS : exp_mss_eff_config_thermal HWP"); } } else { TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "No MEM_PORT targets found, skipping p9a_mss_eff_config_thermal HWP"); + "No OCMB_CHIP targets found, skipping exp_mss_eff_config_thermal HWP"); } } #endif @@ -564,7 +573,7 @@ void* call_mss_eff_config( void *io_pArgs ) } while (0); - #ifdef CONFIG_SECUREBOOT + #if (defined CONFIG_SECUREBOOT && ! defined CONFIG_AXONE) if(memdLoaded) { l_err = unloadSecureSection(PNOR::MEMD); |