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/chips/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/chips/p9a')
-rw-r--r-- | src/import/chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C | 10 | ||||
-rw-r--r-- | src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq.C | 9 |
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) ); } } |