diff options
author | Brian Bakke <bbakke@us.ibm.com> | 2017-12-04 10:23:11 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-12-11 17:57:33 -0500 |
commit | b98033264ca7353d7a5be17f061a5c3c5e476918 (patch) | |
tree | bf64a0be749e5c8353cc511c78fd5935be9b64f3 /src/usr/errl/errlmanager_common.C | |
parent | b0255985c87e86701d53d850d7c51e93eaaee783 (diff) | |
download | talos-hostboot-b98033264ca7353d7a5be17f061a5c3c5e476918.tar.gz talos-hostboot-b98033264ca7353d7a5be17f061a5c3c5e476918.zip |
Increase error log size to 4K for obmc systems
Change-Id: I63f4dfd21080693aaf7eabe682fa597b40f7d77b
RTC: 182608
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/50603
Reviewed-by: Matt Derksen <mderkse1@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@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: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/errl/errlmanager_common.C')
-rw-r--r-- | src/usr/errl/errlmanager_common.C | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/src/usr/errl/errlmanager_common.C b/src/usr/errl/errlmanager_common.C index abcde7883..832b7748e 100644 --- a/src/usr/errl/errlmanager_common.C +++ b/src/usr/errl/errlmanager_common.C @@ -665,13 +665,33 @@ void ErrlManager::sendErrLogToBmc(errlHndl_t &io_err, bool i_sendSels) } // flatten into buffer, truncate to max eSEL size + TARGETING::Target * sys = NULL; + TARGETING::targetService().getTopLevelTarget( sys ); + uint32_t l_maxBmcErrLogSize; + + if ( sys && + sys->tryGetAttr<TARGETING::ATTR_BMC_MAX_ERROR_LOG_SIZE>( l_maxBmcErrLogSize ) ) + { + // (value was extracted from attributes) + } + else + { + // use default value for max log size + l_maxBmcErrLogSize = IPMISEL::ESEL_MAX_SIZE_DEFAULT; + + TRACFCOMP( g_trac_errl, INFO_MRK + "sendErrLogToBmc: " + "Attribute ATTR_BMC_MAX_ERROR_LOG_SIZE not found, " + "ESEL_MAX_SIZE_DEFAULT used" ); + } + uint32_t l_pelSize = io_err->flattenedSize(); - if (l_pelSize > (IPMISEL::ESEL_MAX_SIZE - sizeof(IPMISEL::selRecord))) + if (l_pelSize > (l_maxBmcErrLogSize - sizeof(IPMISEL::selRecord))) { TRACFCOMP( g_trac_errl, INFO_MRK "sendErrLogToBmc: msg size %d > %d, truncating.", - l_pelSize, IPMISEL::ESEL_MAX_SIZE); - l_pelSize = IPMISEL::ESEL_MAX_SIZE - sizeof(IPMISEL::selRecord); + l_pelSize, l_maxBmcErrLogSize); + l_pelSize = l_maxBmcErrLogSize - sizeof(IPMISEL::selRecord); } uint8_t *l_pelData = new uint8_t[l_pelSize]; |