From 831f9e0d8b3297f38acd3f059b853f5711877530 Mon Sep 17 00:00:00 2001 From: Andre Marin Date: Tue, 9 Jul 2019 15:50:06 -0400 Subject: 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 Tested-by: HWSV CI Tested-by: Jenkins Server Reviewed-by: STEPHEN GLANCY Reviewed-by: Louis Stermole Tested-by: Hostboot CI Dev-Ready: STEPHEN GLANCY Reviewed-by: Jennifer A Stofer Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80229 Tested-by: Jenkins OP Build CI Reviewed-by: Daniel M Crowell --- .../chips/p9a/procedures/hwp/memory/p9a_mss_eff_config.C | 10 +++++----- src/import/chips/p9a/procedures/hwp/memory/p9a_mss_freq.C | 9 +++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src/import/chips/p9a/procedures/hwp/memory') 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::set(l_efd_data) ); + FAPI_TRY( (mss::gen::attr_engine::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::set(l_spd_decoder) ); + FAPI_TRY( (mss::gen::attr_engine::set(l_spd_decoder)) ); // Set up explorer SPD ATTRS - FAPI_TRY( mss::attr_eff_engine::set(l_spd_decoder) ); + FAPI_TRY( (mss::gen::attr_engine::set(l_spd_decoder)) ); // Set up pmic SPD ATTRS - FAPI_TRY( mss::attr_eff_engine::set(l_spd_decoder) ); + FAPI_TRY( (mss::gen::attr_engine::set(l_spd_decoder)) ); } } // Set up derived ATTRS - FAPI_TRY( mss::attr_derived_engine::set(dimm) ); + FAPI_TRY( (mss::gen::attr_engine::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 // 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::set(l_spd_decoder) ); - FAPI_TRY( mss::attr_derived_engine::set(d) ); + // Set pre-eff_config SPD driven attributes + FAPI_TRY( (mss::gen::attr_engine::set(l_spd_decoder)), + "Failed gen::attr_engine::set on %s", mss::spd::c_str(d) ); + + // Set pre_eff_config attributes derived from other attributes + FAPI_TRY( (mss::gen::attr_engine::set(d)), + "Failed gen::attr_engine::set on %s", mss::spd::c_str(d) ); } } -- cgit v1.2.1