diff options
Diffstat (limited to 'src/usr/diag/prdf/common/plat/mem/prdfMemDbUtils.H')
-rw-r--r-- | src/usr/diag/prdf/common/plat/mem/prdfMemDbUtils.H | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/common/plat/mem/prdfMemDbUtils.H b/src/usr/diag/prdf/common/plat/mem/prdfMemDbUtils.H index fc4ff7800..9028dec8e 100644 --- a/src/usr/diag/prdf/common/plat/mem/prdfMemDbUtils.H +++ b/src/usr/diag/prdf/common/plat/mem/prdfMemDbUtils.H @@ -40,6 +40,38 @@ namespace MemDbUtils //############################################################################## /** + * @brief Generic wrapper to add an entry to the CE table. + * @param i_chip MCA or MBA. + * @param i_addr CE address. + * @param i_symbol CE symbol. + * @param i_isHard True if this was a hard CE. False otherwise. + * @return Non-SUCCESS if an internal function fails, SUCCESS otherwise. + */ +template<TARGETING::TYPE T> +uint32_t addCeTableEntry( ExtensibleChip * i_chip, const MemAddr & i_addr, + const MemSymbol & i_symbol, bool i_isHard ); + +template<> inline +uint32_t addCeTableEntry<TARGETING::TYPE_MCA>( ExtensibleChip * i_chip, + const MemAddr & i_addr, + const MemSymbol & i_symbol, + bool i_isHard ) +{ + return getMcaDataBundle(i_chip)->iv_ceTable.addEntry( i_addr, i_symbol, + i_isHard ); +} + +template<> inline +uint32_t addCeTableEntry<TARGETING::TYPE_MBA>( ExtensibleChip * i_chip, + const MemAddr & i_addr, + const MemSymbol & i_symbol, + bool i_isHard ) +{ + return getMbaDataBundle(i_chip)->iv_ceTable.addEntry( i_addr, i_symbol, + i_isHard ); +} + +/** * @brief Generic wrapper to add an entry to the UE table. * @param i_chip MCA or MBA. * @param i_type UE table entry type. |