summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/prdfPlatServices.H
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-03-29 21:20:01 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-04-10 11:08:00 -0400
commit58b9dd72866a2eed96e74b92b732443b59376571 (patch)
tree1dc26b8ebc4a7f0fe345f98d482bea1d0f3a6850 /src/usr/diag/prdf/plat/prdfPlatServices.H
parent1e784c03824d66dd76ee5effe16b55782c703599 (diff)
downloadtalos-hostboot-58b9dd72866a2eed96e74b92b732443b59376571.tar.gz
talos-hostboot-58b9dd72866a2eed96e74b92b732443b59376571.zip
PRD: support getMemAddrRange() for MBA targets and DIMMs
Change-Id: I899e5912cf69a25b7d67eaddfd38c6239bc4be53 RTC: 190363 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56500 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56889 CI-Ready: Zane C. Shelley <zshelle@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: Zane C. Shelley <zshelle@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/prdfPlatServices.H')
-rw-r--r--src/usr/diag/prdf/plat/prdfPlatServices.H35
1 files changed, 10 insertions, 25 deletions
diff --git a/src/usr/diag/prdf/plat/prdfPlatServices.H b/src/usr/diag/prdf/plat/prdfPlatServices.H
index 370bcbad0..0cf7119e8 100644
--- a/src/usr/diag/prdf/plat/prdfPlatServices.H
+++ b/src/usr/diag/prdf/plat/prdfPlatServices.H
@@ -119,32 +119,16 @@ enum AddrRangeType
* address range. The MCBIST HW logic tolerates this unlike the MBA HW
* logic. Functions like Dynamic Memory Deallocation may need to adjust
* the actual address based on the actual HW config.
- * @param i_chip An MCA.
- * @param i_rank The target rank.
- * @param o_startAddr The returned start address.
- * @param o_endAddr The returned end address.
- * @param i_rangeType See enum AddrRangeType.
- * @return Non-SUCCESS if internal function fails, SUCCESS otherwise.
- */
-template<TARGETING::TYPE T>
-uint32_t getMemAddrRange( ExtensibleChip * i_chip, const MemRank & i_rank,
- mss::mcbist::address & o_startAddr,
- mss::mcbist::address & o_endAddr,
- AddrRangeType i_rangeType );
-
-/**
- * @brief Returns the start and end address of the given rank.
- * @param i_chip An MBA.
+ * @param i_chip An MCA or MBA.
* @param i_rank The target rank.
* @param o_startAddr The returned start address.
* @param o_endAddr The returned end address.
* @param i_rangeType See enum AddrRangeType.
* @return Non-SUCCESS if internal function fails, SUCCESS otherwise.
*/
-template<TARGETING::TYPE T>
+template<TARGETING::TYPE TT, typename VT>
uint32_t getMemAddrRange( ExtensibleChip * i_chip, const MemRank & i_rank,
- fapi2::buffer<uint64_t> & o_startAddr,
- fapi2::buffer<uint64_t> & o_endAddr,
+ VT & o_startAddr, VT & o_endAddr,
AddrRangeType i_rangeType );
/**
@@ -155,16 +139,17 @@ uint32_t getMemAddrRange( ExtensibleChip * i_chip, const MemRank & i_rank,
* logic. Functions like Dynamic Memory Deallocation may need to adjust
* the actual address based on the actual HW config.
* @param i_chip An MCA or MBA.
- * @param i_rank The target rank.
* @param o_startAddr The returned start address.
* @param o_endAddr The returned end address.
- * @param i_rangeType See enum AddrRangeType.
+ * @param i_dimmSlct When used, this function will only return the address
+ * range for the target DIMM select. Otherwise, the default
+ * is to return the address range for all DIMM selects.
* @return Non-SUCCESS if internal function fails, SUCCESS otherwise.
*/
-template<TARGETING::TYPE T>
-uint32_t getMemAddrRange( ExtensibleChip * i_chip, const MemRank & i_rank,
- MemAddr & o_startAddr, MemAddr & o_endAddr,
- AddrRangeType i_rangeType );
+template<TARGETING::TYPE TT, typename VT>
+uint32_t getMemAddrRange( ExtensibleChip * i_chip,
+ VT & o_startAddr, VT & o_endAddr,
+ uint8_t i_dimmSlct = MAX_DIMM_PER_PORT );
//##############################################################################
//## Nimbus/Centaur Maintenance Command wrappers
OpenPOWER on IntegriCloud