From 815994fd17c2f732aacaf273a1e476a62de5f4a6 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Sun, 25 Nov 2012 17:48:11 +0100 Subject: 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. --- cpukit/score/cpu/h8300/Makefile.am | 1 + .../score/cpu/h8300/h8300-exception-frame-print.c | 24 ++++++++++++++++++++++ cpukit/score/cpu/h8300/rtems/score/cpu.h | 5 +++++ 3 files changed, 30 insertions(+) create mode 100644 cpukit/score/cpu/h8300/h8300-exception-frame-print.c (limited to 'cpukit/score/cpu/h8300') diff --git a/cpukit/score/cpu/h8300/Makefile.am b/cpukit/score/cpu/h8300/Makefile.am index 8ac7e76b20..5a3a8cc680 100644 --- a/cpukit/score/cpu/h8300/Makefile.am +++ b/cpukit/score/cpu/h8300/Makefile.am @@ -10,6 +10,7 @@ include_rtems_score_HEADERS += rtems/score/types.h noinst_LIBRARIES = libscorecpu.a libscorecpu_a_SOURCES = cpu.c cpu_asm.S +libscorecpu_a_SOURCES += h8300-exception-frame-print.c libscorecpu_a_CPPFLAGS = $(AM_CPPFLAGS) include $(srcdir)/preinstall.am diff --git a/cpukit/score/cpu/h8300/h8300-exception-frame-print.c b/cpukit/score/cpu/h8300/h8300-exception-frame-print.c new file mode 100644 index 0000000000..5ae49795e2 --- /dev/null +++ b/cpukit/score/cpu/h8300/h8300-exception-frame-print.c @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2012 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Obere Lagerstr. 30 + * 82178 Puchheim + * Germany + * + * + * 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. + */ + +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + +#include + +void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ) +{ + /* TODO */ +} diff --git a/cpukit/score/cpu/h8300/rtems/score/cpu.h b/cpukit/score/cpu/h8300/rtems/score/cpu.h index 1811ce779a..f8f41a821e 100644 --- a/cpukit/score/cpu/h8300/rtems/score/cpu.h +++ b/cpukit/score/cpu/h8300/rtems/score/cpu.h @@ -1095,6 +1095,11 @@ void _CPU_Context_restore_fp( Context_Control_fp **fp_context_ptr ); +/* FIXME */ +typedef CPU_Interrupt_frame CPU_Exception_frame; + +void _CPU_Exception_frame_print( const CPU_Exception_frame *frame ); + /* The following routine swaps the endian format of an unsigned int. * It must be static because it is referenced indirectly. * -- cgit v1.2.3