diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/powerpc/virtex4/include/bsp.h | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/powerpc/virtex4/startup/bspclean.c | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/powerpc/virtex4/include/bsp.h b/c/src/lib/libbsp/powerpc/virtex4/include/bsp.h index cb45b66e1b..7078ba8313 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/include/bsp.h +++ b/c/src/lib/libbsp/powerpc/virtex4/include/bsp.h @@ -63,6 +63,8 @@ extern "C" { #include <rtems/clockdrv.h> #include <rtems/iosupp.h> +#include <bsp/default-initial-extension.h> + /* miscellaneous stuff assumed to exist */ extern bool bsp_timer_internal_clock; /* TRUE, when timer runs with CPU clk */ diff --git a/c/src/lib/libbsp/powerpc/virtex4/startup/bspclean.c b/c/src/lib/libbsp/powerpc/virtex4/startup/bspclean.c index 75f95e645b..3a2af5525b 100644 --- a/c/src/lib/libbsp/powerpc/virtex4/startup/bspclean.c +++ b/c/src/lib/libbsp/powerpc/virtex4/startup/bspclean.c @@ -40,10 +40,21 @@ static void _noopfun(void) {} void app_bsp_cleanup(void) __attribute__(( weak, alias("_noopfun") )); -void bsp_cleanup( uint32_t status ) +void bsp_fatal_extension( + rtems_fatal_source source, + bool is_internal, + rtems_fatal_code error +) { - app_bsp_cleanup(); + if ( source == RTEMS_FATAL_SOURCE_EXIT ) { + app_bsp_cleanup(); + } /* All done. Hang out. */ BSP_ask_for_reset(); } + +void bsp_cleanup( uint32_t status ) +{ + rtems_fatal( RTEMS_FATAL_SOURCE_EXIT, status ); +} |