From 84a672bd28630d9998fc2808df3659ddcf5a7eda Mon Sep 17 00:00:00 2001 From: Bill Hoffa Date: Tue, 10 Feb 2015 15:18:00 -0600 Subject: IPMI FRU Updates Change-Id: Iab7684e1ab89cc29311d6882206952bb2966e4e4 RTC:119680 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/15860 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III --- src/include/usr/ipmi/ipmifruinv.H | 44 ++++++++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 5 deletions(-) (limited to 'src/include/usr/ipmi') diff --git a/src/include/usr/ipmi/ipmifruinv.H b/src/include/usr/ipmi/ipmifruinv.H index cc34b06e3..0df72462b 100644 --- a/src/include/usr/ipmi/ipmifruinv.H +++ b/src/include/usr/ipmi/ipmifruinv.H @@ -1,11 +1,11 @@ /* IBM_PROLOG_BEGIN_TAG */ /* This is an automatically generated prolog. */ /* */ -/* $Source: src/include/usr/ipmi/ipmifru.H $ */ +/* $Source: src/include/usr/ipmi/ipmifruinv.H $ */ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014 */ +/* Contributors Listed Below - COPYRIGHT 2014,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -32,10 +32,44 @@ namespace IPMIFRUINV * @brief Base function to be called to set the IPMI Fru * inventory data for all targets in system * - * @param[out] errlHndl_t, Any errors encountered sending - * IPMI Fru Inventory Data + * @param[in] updateData, Boolean indicating whether the data + * is being updated. If false, this function will send + * all the IPMI FRU Data. If True, it will only send + * updated data for procs/centaurs. */ - errlHndl_t setData(void); + void setData(bool i_updateData=false); + + /** + * @brief Clears fru data from BMC + * @param[in] fruId, The fruId to be cleared + */ + void clearData(uint8_t i_fruId); + + /** + * @brief Gathers potential list of frus who may need their fru + * data cleared from the BMC + * @param[in] pSys, Top level system target + * @param[in/out] frusToClear, Map of potential frus to clear + */ + void gatherClearData(const TARGETING::Target* i_pSys, + std::map& io_frusToClear); + + /** + * @brief Updates vector of potential frus to set inventory + * data for. Updates map of frus that need their + * fru inventory data cleared. + * @param[in] pSys, Top level system target + * @param[in/out] frusToClear, Map of potential frus to clear + * @param[in] updateData, Bool indicating the data is being updated + * True - Doing an update to previously set data + * False - Setting base data + */ + void gatherSetData(const TARGETING::Target* i_pSys, + std::map& io_frusToClear, + std::vector< std::pair >& + io_potentialFrus, + bool i_updateData); + }; #endif -- cgit v1.2.3