summaryrefslogtreecommitdiffstats
path: root/src/import/chips/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/chips/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/chips/p9a')
-rw-r--r--src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C10
-rw-r--r--src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq.C9
2 files changed, 12 insertions, 7 deletions
diff --git a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C
index 059121ac3..2e20bac7a 100644
--- a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C
+++ b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C
@@ -94,7 +94,7 @@ fapi2::ReturnCode p9a_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MEM
FAPI_TRY( mss::efd::factory(l_ocmb, l_vpd_raw, l_vpd_info.iv_rank, l_efd_data) );
// Set up SI ATTRS
- FAPI_TRY( mss::attr_si_engine<mss::attr_si_engine_fields>::set(l_efd_data) );
+ FAPI_TRY( (mss::gen::attr_engine<mss::proc_type::AXONE, mss::attr_si_engine_fields>::set(l_efd_data)) );
// Explorer EFD
FAPI_TRY( mss::exp::efd::process(dimm, l_efd_data));
@@ -115,18 +115,18 @@ fapi2::ReturnCode p9a_mss_eff_config( const fapi2::Target<fapi2::TARGET_TYPE_MEM
FAPI_TRY( l_rc, "Failed to initialize SPD facade for %s", mss::spd::c_str(dimm) );
// Set up generic SPD ATTRS
- FAPI_TRY( mss::attr_eff_engine<mss::attr_eff_engine_fields>::set(l_spd_decoder) );
+ FAPI_TRY( (mss::gen::attr_engine<mss::proc_type::AXONE, mss::attr_eff_engine_fields>::set(l_spd_decoder)) );
// Set up explorer SPD ATTRS
- FAPI_TRY( mss::attr_eff_engine<mss::exp::attr_eff_engine_fields>::set(l_spd_decoder) );
+ FAPI_TRY( (mss::gen::attr_engine<mss::proc_type::AXONE, mss::exp::attr_eff_engine_fields>::set(l_spd_decoder)) );
// Set up pmic SPD ATTRS
- FAPI_TRY( mss::attr_eff_engine<mss::pmic::attr_eff_engine_fields>::set(l_spd_decoder) );
+ FAPI_TRY( (mss::gen::attr_engine<mss::proc_type::AXONE, mss::pmic::attr_eff_engine_fields>::set(l_spd_decoder)) );
}
}
// Set up derived ATTRS
- FAPI_TRY( mss::attr_derived_engine<mss::attr_engine_derived_fields>::set(dimm) );
+ FAPI_TRY( (mss::gen::attr_engine<mss::proc_type::AXONE, mss::attr_engine_derived_fields>::set(dimm)) );
}// dimm
diff --git a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq.C b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq.C
index 6646ba5c4..73b7ed5a8 100644
--- a/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq.C
+++ b/src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq.C
@@ -78,8 +78,13 @@ fapi2::ReturnCode p9a_mss_freq( const fapi2::Target<fapi2::TARGET_TYPE_MEM_PORT>
// Checks that the facade was setup correctly
FAPI_TRY( l_rc, "Failed to initialize SPD facade for %s", mss::spd::c_str(d) );
- FAPI_TRY( mss::attr_eff_engine<mss::pre_data_init_fields>::set(l_spd_decoder) );
- FAPI_TRY( mss::attr_derived_engine<mss::generic_metadata_fields>::set(d) );
+ // Set pre-eff_config SPD driven attributes
+ FAPI_TRY( (mss::gen::attr_engine<mss::proc_type::AXONE, mss::pre_data_init_fields>::set(l_spd_decoder)),
+ "Failed gen::attr_engine<mss::proc_type::AXONE, mss::pre_data_init_fields>::set on %s", mss::spd::c_str(d) );
+
+ // Set pre_eff_config attributes derived from other attributes
+ FAPI_TRY( (mss::gen::attr_engine<mss::proc_type::AXONE, mss::generic_metadata_fields>::set(d)),
+ "Failed gen::attr_engine<mss::proc_type::AXONE, mss::generic_metadata_fields>::set on %s", mss::spd::c_str(d) );
}
}
OpenPOWER on IntegriCloud