--- c/src/lib/libbsp/arm/beagle/Makefile.am | 1 - c/src/lib/libbsp/arm/gdbarmsim/Makefile.am | 2 - c/src/lib/libbsp/arm/raspberrypi/Makefile.am | 1 - c/src/lib/libbsp/arm/shared/abort/abort.c | 29 +------------ c/src/lib/libbsp/arm/shared/abort/abort.h | 52 ++++++++++++++++++++++++ c/src/lib/libbsp/arm/shared/abort/simple_abort.c | 24 +---------- 6 files changed, 55 insertions(+), 54 deletions(-) create mode 100644 c/src/lib/libbsp/arm/shared/abort/abort.h
diff --git a/c/src/lib/libbsp/arm/beagle/Makefile.am b/c/src/lib/libbsp/arm/beagle/Makefile.am index c6cf9e79..abef8ba 100644 --- a/c/src/lib/libbsp/arm/beagle/Makefile.am +++ b/c/src/lib/libbsp/arm/beagle/Makefile.am @@ -85,7 +85,6 @@ libbsp_a_SOURCES += ../../shared/src/stackalloc.c libbsp_a_SOURCES += ../../shared/cpucounterdiff.c libbsp_a_SOURCES += ../../shared/timerstub.c libbsp_a_SOURCES += ../../shared/cpucounterread.c -libbsp_a_SOURCES += ../shared/abort/simple_abort.c libbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S libbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c diff --git a/c/src/lib/libbsp/arm/gdbarmsim/Makefile.am b/c/src/lib/libbsp/arm/gdbarmsim/Makefile.am index f13ad7d..3265494 100644 --- a/c/src/lib/libbsp/arm/gdbarmsim/Makefile.am +++ b/c/src/lib/libbsp/arm/gdbarmsim/Makefile.am @@ -45,8 +45,6 @@ libbsp_a_SOURCES += ../../shared/console-polled.c console/console-io.c libbsp_a_SOURCES += ../../shared/clock_driver_simidle.c # timer libbsp_a_SOURCES += ../../shared/timerstub.c -# above -libbsp_a_SOURCES += ../shared/abort/abort.c # start hooks libbsp_a_SOURCES += startup/bspstarthooks.c libbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S diff --git a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am index 839c8de..ed134fa 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am +++ b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am @@ -86,7 +86,6 @@ libbsp_a_SOURCES += ../../shared/cpucounterdiff.c libbsp_a_SOURCES += ../../shared/gnatinstallhandler.c libbsp_a_SOURCES += ../../shared/sbrk.c libbsp_a_SOURCES += ../../shared/src/stackalloc.c -libbsp_a_SOURCES += ../shared/abort/simple_abort.c libbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S libbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c diff --git a/c/src/lib/libbsp/arm/shared/abort/abort.c b/c/src/lib/libbsp/arm/shared/abort/abort.c index d509a2a..657b2f4 100644 --- a/c/src/lib/libbsp/arm/shared/abort/abort.c +++ b/c/src/lib/libbsp/arm/shared/abort/abort.c @@ -23,34 +23,7 @@ #include <rtems/system.h> #include <rtems.h> #include <rtems/bspIo.h> - -#define INSN_MASK 0xc5 - -#define INSN_STM1 0x80 -#define INSN_STM2 0x84 -#define INSN_STR 0x40 -#define INSN_STRB 0x44 - -#define INSN_LDM1 0x81 -#define INSN_LDM23 0x85 -#define INSN_LDR 0x41 -#define INSN_LDRB 0x45 - -#define GET_RD(x) ((x & 0x0000f000) >> 12) -#define GET_RN(x) ((x & 0x000f0000) >> 16) - -#define GET_U(x) ((x & 0x00800000) >> 23) -#define GET_I(x) ((x & 0x02000000) >> 25) - -#define GET_REG(r, ctx) (((uint32_t *)ctx)[r]) -#define SET_REG(r, ctx, v) (((uint32_t *)ctx)[r] = v) -#define GET_OFFSET(insn) (insn & 0xfff) - -/* - * Prototypes - */ -void _print_full_context(uint32_t); -void do_data_abort(uint32_t, uint32_t, Context_Control *); +#include "abort.h" uint32_t g_data_abort_cnt = 0; /*this is a big overhead for MCU only got 16K RAM*/ diff --git a/c/src/lib/libbsp/arm/shared/abort/abort.h b/c/src/lib/libbsp/arm/shared/abort/abort.h new file mode 100644 index 0000000..6d8704f --- /dev/null +++ b/c/src/lib/libbsp/arm/shared/abort/abort.h @@ -0,0 +1,52 @@ +/* + * COPYRIGHT (c) 2007 Ray Xu. + * mailto: Rayx at gmail dot com + * + * COPYRIGHT (c) 2000 Canon Research Centre France SA. + * Emmanuel Raguet, mailto:rag...@crf.canon.fr + * + * Copyright (c) 2002 Advent Networks, Inc + * Jay Monkman <jmonk...@adventnetworks.com> + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + * + */ + +#ifndef _BSPABORT_H +#define _BSPABORT_H + +#include <rtems/system.h> +#include <rtems.h> +#include <rtems/bspIo.h> + +#define INSN_MASK 0xc5 + +#define INSN_STM1 0x80 +#define INSN_STM2 0x84 +#define INSN_STR 0x40 +#define INSN_STRB 0x44 + +#define INSN_LDM1 0x81 +#define INSN_LDM23 0x85 +#define INSN_LDR 0x41 +#define INSN_LDRB 0x45 + +#define GET_RD(x) ((x & 0x0000f000) >> 12) +#define GET_RN(x) ((x & 0x000f0000) >> 16) + +#define GET_U(x) ((x & 0x00800000) >> 23) +#define GET_I(x) ((x & 0x02000000) >> 25) + +#define GET_REG(r, ctx) (((uint32_t *)ctx)[r]) +#define SET_REG(r, ctx, v) (((uint32_t *)ctx)[r] = v) +#define GET_OFFSET(insn) (insn & 0xfff) + +/* + * Prototypes + */ +void _print_full_context(uint32_t); +void do_data_abort(uint32_t, uint32_t, Context_Control *); + +#endif /* _BSPABORT_H */ diff --git a/c/src/lib/libbsp/arm/shared/abort/simple_abort.c b/c/src/lib/libbsp/arm/shared/abort/simple_abort.c index 51854bd..e721323 100644 --- a/c/src/lib/libbsp/arm/shared/abort/simple_abort.c +++ b/c/src/lib/libbsp/arm/shared/abort/simple_abort.c @@ -18,30 +18,10 @@ * */ +#include <rtems/system.h> #include <rtems.h> #include <rtems/bspIo.h> - -#define INSN_MASK 0xc5 - -#define INSN_STM1 0x80 -#define INSN_STM2 0x84 -#define INSN_STR 0x40 -#define INSN_STRB 0x44 - -#define INSN_LDM1 0x81 -#define INSN_LDM23 0x85 -#define INSN_LDR 0x41 -#define INSN_LDRB 0x45 - -#define GET_RD(x) ((x & 0x0000f000) >> 12) -#define GET_RN(x) ((x & 0x000f0000) >> 16) - -#define GET_U(x) ((x & 0x00800000) >> 23) -#define GET_I(x) ((x & 0x02000000) >> 25) - -#define GET_REG(r, ctx) (((uint32_t *)ctx)[r]) -#define SET_REG(r, ctx, v) (((uint32_t *)ctx)[r] = v) -#define GET_OFFSET(insn) (insn & 0xfff) +#include "abort.h" char *_print_full_context_mode2txt[0x10]={ [0x0]="user", /* User */ -- 2.1.0 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel