[PATCH 06/16] score: Add rtems_fatal()
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Nov 14 15:47:00 UTC 2012
---
cpukit/sapi/Makefile.am | 3 +-
cpukit/sapi/include/rtems/fatal.h | 50 +++++++++++++++++++++++++++---------
cpukit/sapi/src/fatal2.c | 27 ++++++++++++++++++++
3 files changed, 66 insertions(+), 14 deletions(-)
create mode 100644 cpukit/sapi/src/fatal2.c
diff --git a/cpukit/sapi/Makefile.am b/cpukit/sapi/Makefile.am
index 4406708..232028e 100644
--- a/cpukit/sapi/Makefile.am
+++ b/cpukit/sapi/Makefile.am
@@ -37,7 +37,8 @@ libsapi_a_SOURCES = src/debug.c src/extension.c src/extensioncreate.c \
src/iounregisterdriver.c src/iowrite.c src/posixapi.c \
src/rtemsapi.c src/extensiondata.c src/getversionstring.c \
src/chainappendnotify.c src/chaingetnotify.c src/chaingetwait.c \
- src/chainprependnotify.c src/rbheap.c src/interrdesc.c
+ src/chainprependnotify.c src/rbheap.c src/interrdesc.c \
+ src/fatal2.c
libsapi_a_CPPFLAGS = $(AM_CPPFLAGS)
include $(srcdir)/preinstall.am
diff --git a/cpukit/sapi/include/rtems/fatal.h b/cpukit/sapi/include/rtems/fatal.h
index 8f646a9..6692605 100644
--- a/cpukit/sapi/include/rtems/fatal.h
+++ b/cpukit/sapi/include/rtems/fatal.h
@@ -1,13 +1,9 @@
/**
- * @file rtems/fatal.h
+ * @file
*
- * This include file contains constants and prototypes related
- * to the Fatal Error Manager. This manager processes all fatal or
- * irrecoverable errors.
- *
- * This manager provides directives to:
+ * @ingroup ClassicFatal
*
- * - announce a fatal error has occurred
+ * @brief Fatal API.
*/
/*
@@ -29,21 +25,47 @@
extern "C" {
#endif
-/*
- * rtems_fatal_error_occurred
+/**
+ * @defgroup ClassicFatal Fatal
+ *
+ * @ingroup ClassicRTEMS
*
- * DESCRIPTION:
+ * @brief The Fatal Manager provides functions for fatal system states and or
+ * irrecoverable errors.
*
- * This is the routine which implements the rtems_fatal_error_occurred
- * directive. It is invoked when the application or RTEMS
- * determines that a fatal error has occurred.
+ * @{
*/
+/**
+ * @brief Invokes the internal error handler with a source of
+ * INTERNAL_ERROR_RTEMS_API and is internal set to false.
+ *
+ * @param[in] the_error A 32-bit fatal error code.
+ *
+ * @return This function will not return.
+ *
+ * @see _Internal_error_Occurred().
+ */
void rtems_fatal_error_occurred(
uint32_t the_error
) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
/**
+ * @brief Invokes the internal error handler with is internal set to false.
+ *
+ * @param[in] source The fatal source.
+ * @param[in] error The fatal code.
+ *
+ * @return This function will not return.
+ *
+ * @see _Internal_error_Occurred().
+ */
+void rtems_fatal(
+ rtems_fatal_source source,
+ rtems_fatal_code error
+) RTEMS_COMPILER_NO_RETURN_ATTRIBUTE;
+
+/**
* @brief Returns a description for an internal error code.
*
* @param[in] error The error code.
@@ -53,6 +75,8 @@ void rtems_fatal_error_occurred(
*/
const char *rtems_internal_error_description( rtems_fatal_code error );
+/** @} */
+
#ifdef __cplusplus
}
#endif
diff --git a/cpukit/sapi/src/fatal2.c b/cpukit/sapi/src/fatal2.c
new file mode 100644
index 0000000..efaf426
--- /dev/null
+++ b/cpukit/sapi/src/fatal2.c
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2012 embedded brains GmbH. All rights reserved.
+ *
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * 82178 Puchheim
+ * Germany
+ * <rtems at embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ */
+
+#if HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
+#include <rtems/fatal.h>
+
+void rtems_fatal(
+ rtems_fatal_source source,
+ rtems_fatal_code error
+)
+{
+ _Internal_error_Occurred( source, false, error );
+}
--
1.7.7
More information about the devel
mailing list