summaryrefslogtreecommitdiffstats
path: root/src/include/usr/hwas
diff options
context:
space:
mode:
authorBrian Horton <brianh@linux.ibm.com>2012-05-01 11:29:51 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-05-10 13:20:08 -0500
commit3d4b593321870fb646be9d86880a19bcc2d3453e (patch)
tree6afcc538195f2831d9e63c9b08722c8706a39393 /src/include/usr/hwas
parent59a58400b22274c58e3512e09468e45daebc1436 (diff)
downloadtalos-hostboot-3d4b593321870fb646be9d86880a19bcc2d3453e.tar.gz
talos-hostboot-3d4b593321870fb646be9d86880a19bcc2d3453e.zip
platReadIDEC killing IPL for single failure
Correct HWAS code - if target is detected as present, but the read of the ID/EC fails, then mark the target as present but NOT functional, commit the errl, and continue the target processing. All physical children under that parent target will be marked as present and NOT functional as well. Same for the deviceRead for the Presence detect - if it fails, mark the target as not present, commit the errl, and continue. Change-Id: I6d911c6e6aa3968395721dc2826bf860589dc737 RTC: 41123 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/974 Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/hwas')
-rw-r--r--src/include/usr/hwas/hwasCommon.H10
-rw-r--r--src/include/usr/hwas/hwasError.H39
-rw-r--r--src/include/usr/hwas/plat/error.H59
3 files changed, 103 insertions, 5 deletions
diff --git a/src/include/usr/hwas/hwasCommon.H b/src/include/usr/hwas/hwasCommon.H
index f6d5ce566..412fe81ef 100644
--- a/src/include/usr/hwas/hwasCommon.H
+++ b/src/include/usr/hwas/hwasCommon.H
@@ -59,16 +59,16 @@ namespace HWAS
errlHndl_t platPresenceDetect(TARGETING::TargetHandleList &io_targets);
/**
- * @brief platform specific code to determine the ID/EC of the targets
- * in the input list. The platform specific code is responsible for setting
- * the ATTR_EC and ATTR_CHIP_ID in each target.
+ * @brief platform specific code to determine the ID/EC of the input
+ * target. The platform specific code is responsible for setting the
+ * ATTR_EC and ATTR_CHIP_ID in each target.
*
- * @param[in] i_targets TargetHandleList of targets to check for chip ID/EC
+ * @param[in] i_target target to check for chip ID/EC
*
* @return errlHndl_t valid errlHndl_t handle if there was an error
* NULL if no errors;
*/
-errlHndl_t platReadIDEC(const TARGETING::TargetHandleList &i_targets);
+errlHndl_t platReadIDEC(const TARGETING::TargetHandle_t &i_target);
} // namespace HWAS
diff --git a/src/include/usr/hwas/hwasError.H b/src/include/usr/hwas/hwasError.H
new file mode 100644
index 000000000..884575093
--- /dev/null
+++ b/src/include/usr/hwas/hwasError.H
@@ -0,0 +1,39 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/include/usr/hwas/hwasError.H $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2012
+//
+// p1
+//
+// Object Code Only (OCO) source materials
+// Licensed Internal Code Source Materials
+// IBM HostBoot Licensed Internal Code
+//
+// The source code for this program is not published or other-
+// wise divested of its trade secrets, irrespective of what has
+// been deposited with the U.S. Copyright Office.
+//
+// Origin: 30
+//
+// IBM_PROLOG_END
+#ifndef __HWAS_ERROR_H
+#define __HWAS_ERROR_H
+
+/**
+* @file hwas/hwasError.H
+*
+* @brief Common header to abstract away error handling differences between
+* platforms
+*/
+
+//******************************************************************************
+// Includes
+//******************************************************************************
+
+#include <hwas/plat/error.H>
+
+#endif // __HWAS_ERROR_H
diff --git a/src/include/usr/hwas/plat/error.H b/src/include/usr/hwas/plat/error.H
new file mode 100644
index 000000000..c578f5efa
--- /dev/null
+++ b/src/include/usr/hwas/plat/error.H
@@ -0,0 +1,59 @@
+// IBM_PROLOG_BEGIN_TAG
+// This is an automatically generated prolog.
+//
+// $Source: src/include/usr/hwas/plat/error.H $
+//
+// IBM CONFIDENTIAL
+//
+// COPYRIGHT International Business Machines Corp. 2012
+//
+// p1
+//
+// Object Code Only (OCO) source materials
+// Licensed Internal Code Source Materials
+// IBM HostBoot Licensed Internal Code
+//
+// The source code for this program is not published or other-
+// wise divested of its trade secrets, irrespective of what has
+// been deposited with the U.S. Copyright Office.
+//
+// Origin: 30
+//
+// IBM_PROLOG_END
+#ifndef __HWAS_PLAT_ERROR_H
+#define __HWAS_PLAT_ERROR_H
+
+/**
+* @file hwas/plat/error.H
+*
+* @brief Adapts platform neutral error log requests to the platform
+*/
+
+//******************************************************************************
+// Includes
+//******************************************************************************
+
+// Include the platform specific errlentry.H file and pick up the platform
+// specific errlHndlt_t typedef. This is enough for common code to use pass
+// errlHndl_t pointers around and check for NULL
+#include <errl/errlentry.H>
+
+namespace HWAS
+{
+
+namespace COMMON
+{
+/**
+* @brief Import the ::ERRORLOG namespace into the ::HWAS:COMMON
+* namespace. This allows all the common hwas code to use the
+* same namespacing yet directly invoke platform specific error log
+* support. Since nothing else is declared in the namespace, there is
+* no danger of a namespace collision.
+*/
+using namespace ::ERRORLOG;
+
+} // End namespace COMMON
+
+} // End namespace HWAS
+
+#endif // __HWAS_PLAT_ERROR_H
OpenPOWER on IntegriCloud