diff options
author | Andre Marin <aamarin@us.ibm.com> | 2019-07-18 07:18:31 -0400 |
---|---|---|
committer | Christian R Geddes <crgeddes@us.ibm.com> | 2019-08-15 12:18:21 -0500 |
commit | 491ac02e84c7fcc32d28fbf80a0f4c2015589dc3 (patch) | |
tree | ac91a566acad5c757d3313ee958ddac4c89a2947 /src/import/chips/centaur | |
parent | 7dce747041c57cddf8ee88727745c18a3b4ae53c (diff) | |
download | talos-hostboot-491ac02e84c7fcc32d28fbf80a0f4c2015589dc3.tar.gz talos-hostboot-491ac02e84c7fcc32d28fbf80a0f4c2015589dc3.zip |
Split nimbus and cumulus find API away from generic
Helps ease porting for p10 by removing chip specific
code and targets that doesn't exit in p10 master
Change-Id: Iaae2dc44f48d208bcf6b80e9555f7cfec060b390
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80607
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com>
Reviewed-by: Mark Pizzutillo <mark.pizzutillo@ibm.com>
Dev-Ready: ANDRE A MARIN <aamarin@us.ibm.com>
Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/81133
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/centaur')
12 files changed, 123 insertions, 21 deletions
diff --git a/src/import/chips/centaur/procedures/hwp/memory/lib/utils/cumulus_find.H b/src/import/chips/centaur/procedures/hwp/memory/lib/utils/cumulus_find.H index 20a890dfd..8adf99b3f 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/lib/utils/cumulus_find.H +++ b/src/import/chips/centaur/procedures/hwp/memory/lib/utils/cumulus_find.H @@ -22,3 +22,105 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ + +/// +/// @file cumulus_find.H +/// @brief Templates for finding things +/// +// *HWP HWP Owner: Andre Marin <aamarin@us.ibm.com> +// *HWP HWP Backup: Stephen Glancy <sglancy@us.ibm.com> +// *HWP Team: Memory +// *HWP Level: 3 +// *HWP Consumed by: HB:FSP + +#ifndef _MSS_CUMULUS_FIND_H +#define _MSS_CUMULUS_FIND_H + +#include <fapi2.H> +#include <vector> +#include <generic/memory/lib/utils/find.H> + +namespace mss +{ + +/// +/// @brief find the DMI given an MBA +/// @param[in] i_target the fapi2 target MBA +/// @return a DMI target. +/// +template<> +inline fapi2::Target<fapi2::TARGET_TYPE_DMI> find_target(const fapi2::Target<fapi2::TARGET_TYPE_MBA>& i_target) +{ + return i_target.getParent<fapi2::TARGET_TYPE_MEMBUF_CHIP>().getParent<fapi2::TARGET_TYPE_DMI>(); +} + +/// +/// @brief find the PROC given a MEMBUF +/// @param[in] i_target the fapi2 target MEMBUF +/// @return a PROC target. +/// +template<> +inline fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> find_target(const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& + i_target) +{ + return i_target.getParent<fapi2::TARGET_TYPE_DMI>().getParent<fapi2::TARGET_TYPE_PROC_CHIP>(); +} + +/// +/// @brief find the PROC_CHIP given a MBA +/// @param[in] i_target the fapi2 target MBA +/// @return a DMI target. +/// +template<> +inline fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> find_target(const fapi2::Target<fapi2::TARGET_TYPE_MBA>& i_target) +{ + return i_target.getParent<fapi2::TARGET_TYPE_MEMBUF_CHIP>() + .getParent<fapi2::TARGET_TYPE_DMI>() + .getParent<fapi2::TARGET_TYPE_PROC_CHIP>(); +} + +/// +/// @brief find all the MBA connected to an DMI +/// @param[in] i_target a fapi2::Target DMI +/// @return a vector of fapi2::TARGET_TYPE_MBA +/// +template<> +inline std::vector< fapi2::Target<fapi2::TARGET_TYPE_MBA> > +find_targets( const fapi2::Target<fapi2::TARGET_TYPE_DMI>& i_target, + fapi2::TargetState i_state ) +{ + std::vector< fapi2::Target<fapi2::TARGET_TYPE_MBA> > l_mbas; + + for (const auto& membuf_chip : i_target.getChildren<fapi2::TARGET_TYPE_MEMBUF_CHIP>(i_state)) + { + auto l_these_mbas( membuf_chip.getChildren<fapi2::TARGET_TYPE_MBA>(i_state) ); + l_mbas.insert(l_mbas.end(), l_these_mbas.begin(), l_these_mbas.end()); + } + + return l_mbas; +} + +/// +/// @brief find all the DIMM connected to a centaur +/// @param[in] i_target a fapi2::Target TARGET_TYPE_MEMBUF_CHIP +/// @return a vector of fapi2::TARGET_TYPE_DIMM +/// +template<> +inline std::vector< fapi2::Target<fapi2::TARGET_TYPE_DIMM> > +find_targets( const fapi2::Target<fapi2::TARGET_TYPE_MEMBUF_CHIP>& i_target, + fapi2::TargetState i_state ) +{ + std::vector< fapi2::Target<fapi2::TARGET_TYPE_DIMM> > l_dimms; + + for (const auto& l_mba : i_target.getChildren<fapi2::TARGET_TYPE_MBA>(i_state)) + { + auto l_these_dimms( l_mba.getChildren<fapi2::TARGET_TYPE_DIMM>(i_state) ); + l_dimms.insert(l_dimms.end(), l_these_dimms.begin(), l_these_dimms.end()); + } + + return l_dimms; +} + +}// mss + +#endif diff --git a/src/import/chips/centaur/procedures/hwp/memory/lib/utils/mem_size.C b/src/import/chips/centaur/procedures/hwp/memory/lib/utils/mem_size.C index 465e31779..507618ea1 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/lib/utils/mem_size.C +++ b/src/import/chips/centaur/procedures/hwp/memory/lib/utils/mem_size.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2017 */ +/* Contributors Listed Below - COPYRIGHT 2017,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -28,7 +28,7 @@ #include <lib/shared/dimmConsts.H> #include <p9c_mss_funcs.H> #include <generic/memory/lib/utils/memory_size.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <generic/memory/lib/utils/c_str.H> /// diff --git a/src/import/chips/centaur/procedures/hwp/memory/mss_dynamic_vid_utils.C b/src/import/chips/centaur/procedures/hwp/memory/mss_dynamic_vid_utils.C index f8324bb84..7c05e9608 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/mss_dynamic_vid_utils.C +++ b/src/import/chips/centaur/procedures/hwp/memory/mss_dynamic_vid_utils.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -32,7 +32,7 @@ /// *HWP Consumed by: HB #include <mss_dynamic_vid_utils.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <generic/memory/lib/utils/c_str.H> /// diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_bulk_pwr_throttles.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_bulk_pwr_throttles.C index 06c84da79..02f8a2a1d 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_bulk_pwr_throttles.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_bulk_pwr_throttles.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -67,7 +67,7 @@ #include <p9c_mss_bulk_pwr_throttles.H> #include <generic/memory/lib/utils/c_str.H> #include <dimmConsts.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <generic/memory/lib/utils/count_dimm.H> //------------------------------------------------------------------------------ // Includes diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_mc.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_mc.C index d01c3ccb6..5f0233b2c 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_mc.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_mc.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -53,7 +53,7 @@ #include <p9c_mss_draminit_mc.H> #include <p9c_mss_row_repair.H> #include <generic/memory/lib/utils/c_str.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <dimmConsts.H> //---------------------------------------------------------------------- // Address Includes diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_training.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_training.C index f45a498fd..461d7c576 100755 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_training.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_draminit_training.C @@ -53,7 +53,7 @@ #include <p9c_mss_row_repair.H> #include <p9c_mss_draminit_training.H> #include <generic/memory/lib/utils/c_str.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <dimmConsts.H> #include <delayRegs.H> diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_thermal.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_thermal.C index c613abb9f..c068389c5 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_thermal.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_eff_config_thermal.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -45,7 +45,7 @@ #include <generic/memory/lib/utils/c_str.H> #include <dimmConsts.H> #include <generic/memory/lib/utils/count_dimm.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> //------------------------------------------------------------------------------ // Includes //------------------------------------------------------------------------------ diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_rowRepairFuncs.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_rowRepairFuncs.C index 8362380a7..8323cf8b6 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_rowRepairFuncs.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_rowRepairFuncs.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -23,7 +23,7 @@ /* */ /* IBM_PROLOG_END_TAG */ #include <p9c_mss_rowRepairFuncs.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <generic/memory/lib/utils/c_str.H> using namespace fapi2; diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_row_repair.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_row_repair.C index 19485c13b..c613eb50c 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_row_repair.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_row_repair.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -26,7 +26,7 @@ #include <cen_gen_scom_addresses.H> #include <cen_gen_scom_addresses_fld.H> #include <generic/memory/lib/utils/c_str.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <p9c_mss_funcs.H> #include <p9c_mss_ddr4_funcs.H> #include <p9c_mss_rowRepairFuncs.H> diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_unmask_errors.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_unmask_errors.C index d51b829be..868ae2234 100755 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_unmask_errors.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_unmask_errors.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016,2018 */ +/* Contributors Listed Below - COPYRIGHT 2016,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -42,7 +42,7 @@ #include <p9c_mss_unmask_errors.H> #include <cen_gen_scom_addresses.H> #include <fapi2.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> /// /// @brief Sets action regs and mask settings for pervasive errors to their runtime settings. diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_dimm_count.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_dimm_count.C index c24fcf6fb..7617253a6 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_dimm_count.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_dimm_count.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -39,7 +39,7 @@ #include <fapi2.H> #include <p9c_mss_volt_dimm_count.H> #include <generic/memory/lib/utils/c_str.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> using fapi2::TARGET_TYPE_MBA; using fapi2::TARGET_TYPE_DIMM; diff --git a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_vddr_offset.C b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_vddr_offset.C index 2cd518ef0..f4d959eb4 100644 --- a/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_vddr_offset.C +++ b/src/import/chips/centaur/procedures/hwp/memory/p9c_mss_volt_vddr_offset.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2018 */ +/* Contributors Listed Below - COPYRIGHT 2018,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -43,7 +43,7 @@ #include <fapi2.H> #include <p9c_mss_volt_vddr_offset.H> #include <mss_dynamic_vid_utils.H> -#include <generic/memory/lib/utils/find.H> +#include <lib/utils/cumulus_find.H> #include <generic/memory/lib/utils/count_dimm.H> extern "C" |