From 96a9f4cb6db182a462e0a9aef8446fd2ee2b227d Mon Sep 17 00:00:00 2001 From: Alan Cudmore Date: Wed, 12 Nov 2014 08:00:05 -0500 Subject: ARM removed shared/abort from several ARM BSPs --- 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 (limited to 'c/src/lib') diff --git a/c/src/lib/libbsp/arm/beagle/Makefile.am b/c/src/lib/libbsp/arm/beagle/Makefile.am index c6cf9e790f..abef8ba808 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 f13ad7de41..3265494f47 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 839c8dedd3..ed134fad64 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 d509a2a7a6..657b2f489a 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 #include #include - -#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 0000000000..6d8704f1d7 --- /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:raguet@crf.canon.fr + * + * Copyright (c) 2002 Advent Networks, Inc + * Jay Monkman + * + * 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 +#include +#include + +#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 51854bdb80..e721323b0d 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 #include #include - -#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 */ -- cgit v1.2.3