summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/lm32
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-14 09:59:10 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-15 15:33:12 +0100
commita052181ca2e243540342315cde990b9471331a8e (patch)
tree2e8dfd9152bfc1d37fcb05f58de9d6b0e80eb8b3 /c/src/lib/libbsp/lm32
parentscore: Add RTEMS_FATAL_SOURCE_APPLICATION (diff)
downloadrtems-a052181ca2e243540342315cde990b9471331a8e.tar.bz2
score: Add RTEMS_FATAL_SOURCE_EXIT
Include <bsp/default-initial-extension.h> in all BSPs. Call rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit() status code as fatal code in every bsp_cleanup(). Move previous bsp_cleanup() code into bsp_fatal_extension().
Diffstat (limited to 'c/src/lib/libbsp/lm32')
-rw-r--r--c/src/lib/libbsp/lm32/lm32_evr/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/lm32/milkymist/include/bsp.h1
-rw-r--r--c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c13
3 files changed, 13 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/lm32/lm32_evr/include/bsp.h b/c/src/lib/libbsp/lm32/lm32_evr/include/bsp.h
index d13d42fb92..db66c4f267 100644
--- a/c/src/lib/libbsp/lm32/lm32_evr/include/bsp.h
+++ b/c/src/lib/libbsp/lm32/lm32_evr/include/bsp.h
@@ -20,6 +20,7 @@
#include <stdint.h>
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/lm32/milkymist/include/bsp.h b/c/src/lib/libbsp/lm32/milkymist/include/bsp.h
index 5dd2cb0e08..99fba5d846 100644
--- a/c/src/lib/libbsp/lm32/milkymist/include/bsp.h
+++ b/c/src/lib/libbsp/lm32/milkymist/include/bsp.h
@@ -14,6 +14,7 @@
#include <stdint.h>
#include <bspopts.h>
+#include <bsp/default-initial-extension.h>
#include <rtems.h>
#include <rtems/console.h>
diff --git a/c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c b/c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c
index 75e29ae5c7..6dcda18aad 100644
--- a/c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c
+++ b/c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c
@@ -45,10 +45,19 @@ static void reconf(void)
icap_write(0, 0xffff); /* dummy word */
}
-void bsp_cleanup(uint32_t status)
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool is_internal,
+ rtems_fatal_code error
+)
{
- if (status)
+ if (source == RTEMS_FATAL_SOURCE_EXIT && error)
reconf();
else
reboot();
}
+
+void bsp_cleanup(uint32_t status)
+{
+ rtems_fatal(RTEMS_FATAL_SOURCE_EXIT, status);
+}