summaryrefslogtreecommitdiffstats
path: root/src/import/generic/memory/lib/data_engine/p9a
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2019-07-09 15:50:06 -0400
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-07-19 09:07:03 -0500
commit831f9e0d8b3297f38acd3f059b853f5711877530 (patch)
treea9b405fc568edca26ce2239fc15adc442c520794 /src/import/generic/memory/lib/data_engine/p9a
parentdd6aa0faadde7069f8bf628b5557b98206730c2c (diff)
downloadtalos-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.H18
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()) );
OpenPOWER on IntegriCloud