summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c')
-rw-r--r--c/src/lib/libbsp/lm32/milkymist/startup/bspclean.c13
1 files changed, 11 insertions, 2 deletions
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);
+}