diff options
author | Brian Silver <bsilver@us.ibm.com> | 2016-03-07 07:45:21 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2016-04-01 21:25:32 -0400 |
commit | 2dcaa8b084cfabbcbcee700dd24562ef7717b340 (patch) | |
tree | 7aa7d5e9ac2975e71758aff8b6834754aae841ea /src/import/chips/p9/procedures/hwp/memory/lib/eff_config/memory_size.C | |
parent | 25158dff8c5c774e6e93d09730e649dc69de0332 (diff) | |
download | talos-hostboot-2dcaa8b084cfabbcbcee700dd24562ef7717b340.tar.gz talos-hostboot-2dcaa8b084cfabbcbcee700dd24562ef7717b340.zip |
Add eff_memory_size API
Change-Id: Ide913d7f59d16ba3dde286194b85dd0af8d9b529
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/21751
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Joseph J. McGill <jmcgill@us.ibm.com>
Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com>
Reviewed-by: CRAIG C. HAMILTON <cchamilt@us.ibm.com>
Tested-by: Jenkins Server
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22774
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp/memory/lib/eff_config/memory_size.C')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/memory/lib/eff_config/memory_size.C | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/eff_config/memory_size.C b/src/import/chips/p9/procedures/hwp/memory/lib/eff_config/memory_size.C new file mode 100644 index 000000000..8222f7397 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/memory/lib/eff_config/memory_size.C @@ -0,0 +1,62 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/memory/lib/eff_config/memory_size.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ + +/// +/// @file memory_size.C +/// @brief Return the effective memory size behind a target +/// +// *HWP HWP Owner: Brian Silver <bsilver@us.ibm.com> +// *HWP HWP Backup: Andre Marin <aamarin@us.ibm.com> +// *HWP Team: Memory +// *HWP Level: 2 +// *HWP Consumed by: HB:FSP + +#include <fapi2.H> +#include <mss_attribute_accessors.H> + +#include "../shared/mss_const.H" +#include "memory_size.H" + +namespace mss +{ +/// +/// @brief Return the total memory size behind an MCA +/// @param[in] i_target the MCA target +/// @param[out] o_size the size of memory in GB behind the target +/// @return FAPI2_RC_SUCCESS if ok +/// +template<> +fapi2::ReturnCode eff_memory_size( const fapi2::Target<fapi2::TARGET_TYPE_MCA>& i_target, uint64_t& o_size ) +{ + uint8_t l_sizes[PORTS_PER_MCS]; + o_size = 0; + + FAPI_TRY( mss::eff_dimm_size(i_target, &(l_sizes[0])) ); + + for (size_t i = 0; i < PORTS_PER_MCS; ++i) + { + o_size += l_sizes[i]; + } + +fapi_try_exit: + return fapi2::current_err; +} + +} + |