diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-25 17:48:11 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-27 17:03:40 +0100 |
commit | 815994fd17c2f732aacaf273a1e476a62de5f4a6 (patch) | |
tree | 17fffb992fcf3e025462215ee3c7515919d2ced4 /c/src/lib/libbsp/shared | |
parent | powerpc: Add CPU_Exception_frame (diff) | |
download | rtems-815994fd17c2f732aacaf273a1e476a62de5f4a6.tar.bz2 |
score: Add CPU_Exception_frame
Add CPU port type CPU_Exception_frame and function
_CPU_Exception_frame_print().
The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh,
sparc64, and v850 use an empty default implementation of
_CPU_Exception_frame_print().
Add rtems_exception_frame and rtems_exception_frame_print().
Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal()
with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc,
and sparc for unexpected exceptions.
Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the
BSP_PRINT_EXCEPTION_CONTEXT define used in the default
bsp_fatal_extension().
Add test sptests/spfatal26.
Diffstat (limited to 'c/src/lib/libbsp/shared')
-rw-r--r-- | c/src/lib/libbsp/shared/bspclean.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/shared/bspclean.c b/c/src/lib/libbsp/shared/bspclean.c index 1d6f08a274..3e48c2993d 100644 --- a/c/src/lib/libbsp/shared/bspclean.c +++ b/c/src/lib/libbsp/shared/bspclean.c @@ -16,7 +16,7 @@ void bsp_fatal_extension( rtems_fatal_source source, bool is_internal, - rtems_fatal_code error + rtems_fatal_code code ) { #if (BSP_PRESS_KEY_FOR_RESET) @@ -31,6 +31,12 @@ void bsp_fatal_extension( printk("\n"); #endif + #if (BSP_PRINT_EXCEPTION_CONTEXT) + if ( source == RTEMS_FATAL_SOURCE_EXCEPTION ) { + rtems_exception_frame_print( (const rtems_exception_frame *) code ); + } + #endif + /* * Check both conditions -- if you want to ask for reboot, then * you must have meant to reset the board. |