summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Bakke <bbakke@us.ibm.com>2017-12-04 10:23:11 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-12-11 17:57:33 -0500
commitb98033264ca7353d7a5be17f061a5c3c5e476918 (patch)
treebf64a0be749e5c8353cc511c78fd5935be9b64f3
parentb0255985c87e86701d53d850d7c51e93eaaee783 (diff)
downloadtalos-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>
-rw-r--r--src/include/usr/ipmi/ipmisel.H6
-rw-r--r--src/usr/errl/errlmanager_common.C26
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types_openpower.xml12
-rw-r--r--src/usr/targeting/common/xmltohb/target_types_openpower.xml1
4 files changed, 38 insertions, 7 deletions
diff --git a/src/include/usr/ipmi/ipmisel.H b/src/include/usr/ipmi/ipmisel.H
index 961f56f5f..7bade7150 100644
--- a/src/include/usr/ipmi/ipmisel.H
+++ b/src/include/usr/ipmi/ipmisel.H
@@ -64,10 +64,8 @@ namespace IPMISEL
// size of the partial_add_esel request (command) data
PARTIAL_ADD_ESEL_REQ = 7,
- // per MegaRAC SP-X spec
- // The size of the eSEL is configurable via PRJ
- // it can be set to 2KB per eSEL packet.
- ESEL_MAX_SIZE = 2 * KILOBYTE,
+ // legacy default value per eSEL packet.
+ ESEL_MAX_SIZE_DEFAULT = 2 * KILOBYTE,
};
/**
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];
diff --git a/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml b/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml
index f9ddff7a4..ddbc52cd0 100644
--- a/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml
+++ b/src/usr/targeting/common/xmltohb/attribute_types_openpower.xml
@@ -932,6 +932,18 @@ ID for the sensor number returned with the elog. -->
</attribute>
<attribute>
+ <id>BMC_MAX_ERROR_LOG_SIZE</id>
+ <description>max size of error log that can be sent to BMC</description>
+ <simpleType>
+ <uint32_t>
+ <default>2048</default>
+ </uint32_t>
+ </simpleType>
+ <persistency>non-volatile</persistency>
+ <readable/>
+</attribute>
+
+<attribute>
<id>BMC_MANUFACTURER</id>
<description>The manufacturer of the BMC</description>
<simpleType>
diff --git a/src/usr/targeting/common/xmltohb/target_types_openpower.xml b/src/usr/targeting/common/xmltohb/target_types_openpower.xml
index bcbb11674..8ad5f2f3c 100644
--- a/src/usr/targeting/common/xmltohb/target_types_openpower.xml
+++ b/src/usr/targeting/common/xmltohb/target_types_openpower.xml
@@ -63,6 +63,7 @@
<attribute><id>APSS_GPIO_PORT_PINS</id></attribute>
<attribute><id>IPMI_SENSORS</id></attribute>
<attribute><id>IPMI_MAX_BUFFER_SIZE</id></attribute>
+ <attribute><id>BMC_MAX_ERROR_LOG_SIZE</id></attribute>
<attribute><id>OP_TRACE_LITE</id></attribute>
<attribute><id>OPEN_POWER_DIMM_THROTTLE_TEMP_DEG_C</id></attribute>
<attribute><id>OPEN_POWER_DIMM_ERROR_TEMP_DEG_C</id></attribute>
OpenPOWER on IntegriCloud