[PATCH] ARM removed shared/abort from several ARM BSPs

Alan Cudmore alan.cudmore at gmail.com
Wed Nov 12 13:00:05 UTC 2014


---
 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:raguet at crf.canon.fr
+ *
+ *  Copyright (c) 2002 Advent Networks, Inc
+ *      Jay Monkman <jmonkman at 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



More information about the devel mailing list