diff options
author | Andre Marin <aamarin@us.ibm.com> | 2019-07-09 15:50:06 -0400 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-07-19 09:07:03 -0500 |
commit | 831f9e0d8b3297f38acd3f059b853f5711877530 (patch) | |
tree | a9b405fc568edca26ce2239fc15adc442c520794 /src/import/generic/memory/lib/data_engine/p9a | |
parent | dd6aa0faadde7069f8bf628b5557b98206730c2c (diff) | |
download | talos-hostboot-831f9e0d8b3297f38acd3f059b853f5711877530.tar.gz talos-hostboot-831f9e0d8b3297f38acd3f059b853f5711877530.zip |
Fix HB error with -Os compile flag due to eff_config
Top level template is NOT unique between the two files
when using the -Os compile flag. The linker just picks
the wrong file template definition between p9a and p9n.
In -O3 everything is left in place, inline so it just works
which is why we didn't hit this error before in HB
Change-Id: I529f93fc91684ae14a132d96f518a5f66f036d4b
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80167
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: Louis Stermole <stermole@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Dev-Ready: STEPHEN GLANCY <sglancy@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80229
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/generic/memory/lib/data_engine/p9a')
-rw-r--r-- | src/import/generic/memory/lib/data_engine/p9a/p9a_data_init_traits.H | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/import/generic/memory/lib/data_engine/p9a/p9a_data_init_traits.H b/src/import/generic/memory/lib/data_engine/p9a/p9a_data_init_traits.H index 9122c12da..f8b5abdc9 100644 --- a/src/import/generic/memory/lib/data_engine/p9a/p9a_data_init_traits.H +++ b/src/import/generic/memory/lib/data_engine/p9a/p9a_data_init_traits.H @@ -51,7 +51,7 @@ namespace mss /// @note pre_data_init_fields, DIMM_TYPE specialization /// template<> -struct attrEngineTraits<pre_data_init_fields, DIMM_TYPE> +struct attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::DIMM_TYPE> { using attr_type = fapi2::ATTR_MEM_EFF_DIMM_TYPE_Type; using attr_integral_type = std::remove_all_extents<attr_type>::type; @@ -124,7 +124,7 @@ struct attrEngineTraits<pre_data_init_fields, DIMM_TYPE> /// @note pre_data_init_fields, DRAM_GEN specialization /// template<> -struct attrEngineTraits<pre_data_init_fields, DRAM_GEN> +struct attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::DRAM_GEN> { using attr_type = fapi2::ATTR_MEM_EFF_DRAM_GEN_Type; using attr_integral_type = std::remove_all_extents<attr_type>::type; @@ -195,7 +195,7 @@ struct attrEngineTraits<pre_data_init_fields, DRAM_GEN> /// @note pre_data_init_fields, HOST_TO_DDR_SPEED_RATIO specialization /// template<> -struct attrEngineTraits<pre_data_init_fields, HOST_TO_DDR_SPEED_RATIO> +struct attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::HOST_TO_DDR_SPEED_RATIO> { using attr_type = fapi2::ATTR_MEM_EFF_HOST_TO_DDR_SPEED_RATIO_Type; using attr_integral_type = std::remove_all_extents<attr_type>::type; @@ -273,7 +273,7 @@ struct attrEngineTraits<pre_data_init_fields, HOST_TO_DDR_SPEED_RATIO> /// @note pre_data_init_fields, HYBRID specialization /// template<> -struct attrEngineTraits<pre_data_init_fields, HYBRID> +struct attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::HYBRID> { using attr_type = fapi2::ATTR_MEM_EFF_HYBRID_Type; using attr_integral_type = std::remove_all_extents<attr_type>::type; @@ -345,7 +345,7 @@ struct attrEngineTraits<pre_data_init_fields, HYBRID> /// @note pre_data_init_fields, HYBRID_MEDIA specialization /// template<> -struct attrEngineTraits<pre_data_init_fields, HYBRID_MEDIA> +struct attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::HYBRID_MEDIA> { using attr_type = fapi2::ATTR_MEM_EFF_HYBRID_MEMORY_TYPE_Type; using attr_integral_type = std::remove_all_extents<attr_type>::type; @@ -417,7 +417,7 @@ struct attrEngineTraits<pre_data_init_fields, HYBRID_MEDIA> /// @note pre_data_init_fields, MRANKS specialization /// template<> -struct attrEngineTraits<pre_data_init_fields, MRANKS> +struct attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::MRANKS> { using attr_type = fapi2::ATTR_MEM_EFF_NUM_MASTER_RANKS_PER_DIMM_Type; using attr_integral_type = std::remove_all_extents<attr_type>::type; @@ -489,7 +489,7 @@ struct attrEngineTraits<pre_data_init_fields, MRANKS> /// @note DIMM_RANKS_CNFG specialization /// template<> -struct attrEngineTraits<pre_data_init_fields, DIMM_RANKS_CNFG> +struct attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::DIMM_RANKS_CNFG> { using attr_type = fapi2::ATTR_MEM_EFF_DIMM_RANKS_CONFIGED_Type; @@ -536,7 +536,9 @@ struct attrEngineTraits<pre_data_init_fields, DIMM_RANKS_CNFG> // Make sure the number of master ranks is setup uint8_t l_master_ranks = 0; - FAPI_TRY( (attrEngineTraits<pre_data_init_fields, MRANKS>::get_value_to_set(i_spd_data, l_master_ranks)) ); + FAPI_TRY( (attrEngineTraits<proc_type::AXONE, pre_data_init_fields, pre_data_init_fields::MRANKS>::get_value_to_set( + i_spd_data, + l_master_ranks)) ); FAPI_TRY( l_ranks_configed.setBit(0, l_master_ranks), "%s. Failed to setBit", spd::c_str(i_spd_data.get_dimm_target()) ); |