summaryrefslogtreecommitdiffstats
path: root/src/include/usr/errl
diff options
context:
space:
mode:
authorMatt Derksen <mderkse1@us.ibm.com>2017-07-18 16:14:51 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-07-28 16:27:18 -0400
commite7955db9ace86b83313545014a805c9678034839 (patch)
tree2f453735fa33ab699e2afa28e10765ba0f40ea05 /src/include/usr/errl
parentf85d893d45c80ceec577cdd22e74bf89302af4e1 (diff)
downloadblackbird-hostboot-e7955db9ace86b83313545014a805c9678034839.tar.gz
blackbird-hostboot-e7955db9ace86b83313545014a805c9678034839.zip
Add fault sensor information into IPMI error logs
Fault sensor number, FRU ID, and priority added to hardware callouts. Change-Id: I8e4d815a4a3b26db29f852d6160dcf4b12452660 RTC:134069 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/43604 Reviewed-by: Martin Gloff <mgloff@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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/include/usr/errl')
-rw-r--r--src/include/usr/errl/errlentry.H12
-rw-r--r--src/include/usr/errl/errlreasoncodes.H5
-rw-r--r--src/include/usr/errl/errludsensor.H79
3 files changed, 95 insertions, 1 deletions
diff --git a/src/include/usr/errl/errlentry.H b/src/include/usr/errl/errlentry.H
index 13e9620f2..fd30b00be 100644
--- a/src/include/usr/errl/errlentry.H
+++ b/src/include/usr/errl/errlentry.H
@@ -736,6 +736,18 @@ private:
* @param[in] i_target The target to get the numbers for
*/
void addPartAndSerialNumbersToErrLog(const TARGETING::Target * i_target);
+
+ /**
+ * @brief called by addHwCallout to retrieve the FRU ID and sensor ID
+ * from the current target. If the current target does not contain
+ * ATTR_FRU_ID, find the first parent that does and add the attribute
+ * to the error log.
+ *
+ * @param[in] i_target The target to get the IDs for
+ * @param[in] i_priority This target's callout priority
+ */
+ void addSensorDataToErrLog(TARGETING::Target * i_target,
+ HWAS::callOutPriority i_priority );
#endif
/**
diff --git a/src/include/usr/errl/errlreasoncodes.H b/src/include/usr/errl/errlreasoncodes.H
index 7473a4768..1e7f2ea77 100644
--- a/src/include/usr/errl/errlreasoncodes.H
+++ b/src/include/usr/errl/errlreasoncodes.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2011,2014 */
+/* Contributors Listed Below - COPYRIGHT 2011,2017 */
+/* [+] International Business Machines Corp. */
+/* */
/* */
/* Licensed under the Apache License, Version 2.0 (the "License"); */
/* you may not use this file except in compliance with the License. */
@@ -71,6 +73,7 @@ namespace ERRORLOG
ERRL_UDT_LOGREGISTER = 0x05,
ERRL_UDT_CALLOUT = 0x06,
ERRL_UDT_PRINTK = 0x07,
+ ERRL_UDT_SENSOR = 0x08,
};
};
diff --git a/src/include/usr/errl/errludsensor.H b/src/include/usr/errl/errludsensor.H
new file mode 100644
index 000000000..435e2ab00
--- /dev/null
+++ b/src/include/usr/errl/errludsensor.H
@@ -0,0 +1,79 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/usr/errl/errludsensor.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2017 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+#ifndef ERRL_UDSENSOR_H
+#define ERRL_UDSENSOR_H
+
+/**
+ * @file errludsensor.H
+ *
+ * Defines the ErrlUserDetailsSensor class that adds fault sensor
+ * information to an error log as user detail data
+ */
+
+#include <errl/errluserdetails.H>
+#include <stdint.h>
+
+
+//Forward reference
+namespace ERRORLOG
+{
+
+/**
+ * @class ErrlUserDetailsSensor
+ *
+ * Adds fault sensor number and fru id to an error log as user detail data
+ */
+class ErrlUserDetailsSensor : public ErrlUserDetails
+{
+public:
+ /**
+ * @brief Constructor
+ *
+ * @param i_fru_id: FRU ID of part called out
+ * @param i_sensor_number: faulty sensor number
+ * @param i_priority: Priority callout of the part
+ *
+ * Creates a Fault Sensor UserDetail, storing the faulty sensor
+ * number for the hw callout. User must call addToLog() in order
+ * to push the data to the error log.
+ */
+ ErrlUserDetailsSensor(TARGETING::ATTR_FRU_ID_type i_fru_id,
+ uint8_t i_sensor_number,
+ HWAS::callOutPriority i_priority);
+
+ /**
+ * @brief Destructor
+ */
+ virtual ~ErrlUserDetailsSensor();
+
+private:
+ // Disabled
+ ErrlUserDetailsSensor(const ErrlUserDetailsSensor &);
+ ErrlUserDetailsSensor & operator=(const ErrlUserDetailsSensor &);
+};
+
+}
+
+#endif
OpenPOWER on IntegriCloud