summaryrefslogtreecommitdiffstats
path: root/bsps/m68k/mvme147
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 10:35:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 13:52:14 +0200
commit99648958668d3a33ee57974479b36201fe303f34 (patch)
tree6f27ea790e2823c6156e71219a4f54680263fac6 /bsps/m68k/mvme147
parentbsps: Move start files to bsps (diff)
downloadrtems-99648958668d3a33ee57974479b36201fe303f34.tar.bz2
bsps: Move startup files to bsps
Adjust build support files to new directory layout. This patch is a part of the BSP source reorganization. Update #3285.
Diffstat (limited to 'bsps/m68k/mvme147')
-rw-r--r--bsps/m68k/mvme147/start/bsp_specs10
-rw-r--r--bsps/m68k/mvme147/start/bspclean.c49
-rw-r--r--bsps/m68k/mvme147/start/bspstart.c45
-rw-r--r--bsps/m68k/mvme147/start/linkcmds30
4 files changed, 134 insertions, 0 deletions
diff --git a/bsps/m68k/mvme147/start/bsp_specs b/bsps/m68k/mvme147/start/bsp_specs
new file mode 100644
index 0000000000..3a20757667
--- /dev/null
+++ b/bsps/m68k/mvme147/start/bsp_specs
@@ -0,0 +1,10 @@
+%rename endfile old_endfile
+%rename startfile old_startfile
+
+*startfile:
+%{!qrtems: %(old_startfile)} \
+%{!nostdlib: %{qrtems: crti.o%s crtbegin.o%s}}
+
+*endfile:
+%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}
+
diff --git a/bsps/m68k/mvme147/start/bspclean.c b/bsps/m68k/mvme147/start/bspclean.c
new file mode 100644
index 0000000000..6606b9a249
--- /dev/null
+++ b/bsps/m68k/mvme147/start/bspclean.c
@@ -0,0 +1,49 @@
+/*
+ * This routine returns control to 147Bug.
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2014.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * 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.
+ *
+ * MVME147 port for TNI - Telecom Bretagne
+ * by Dominique LE CAMPION (Dominique.LECAMPION@enst-bretagne.fr)
+ * May 1996
+ */
+
+#include <bsp.h>
+#include <bsp/bootcard.h>
+
+extern void start(void);
+
+static rtems_isr bsp_return_to_monitor_trap(
+ rtems_vector_number vector
+)
+{
+ register volatile void *start_addr;
+
+ m68k_set_vbr( 0 ); /* restore 147Bug vectors */
+ __asm__ volatile( "trap #15" ); /* trap to 147Bug */
+ __asm__ volatile( ".short 0x63" ); /* return to 147Bug (.RETURN) */
+ /* restart program */
+ start_addr = start;
+
+ __asm__ volatile ( "jmp %0@" : "=a" (start_addr) : "0" (start_addr) );
+}
+
+void bsp_fatal_extension(
+ rtems_fatal_source source,
+ bool always_set_to_false,
+ rtems_fatal_code error
+)
+{
+ pcc->timer1_int_control = 0; /* Disable Timer 1 */
+ pcc->timer2_int_control = 0; /* Disable Timer 2 */
+
+ M68Kvec[ 45 ] = bsp_return_to_monitor_trap; /* install handler */
+ __asm__ volatile( "trap #13" ); /* ensures SUPV mode */
+}
diff --git a/bsps/m68k/mvme147/start/bspstart.c b/bsps/m68k/mvme147/start/bspstart.c
new file mode 100644
index 0000000000..cb5f84a075
--- /dev/null
+++ b/bsps/m68k/mvme147/start/bspstart.c
@@ -0,0 +1,45 @@
+/*
+ * This routine does the bulk of the system initialization.
+ */
+
+/*
+ * COPYRIGHT (c) 1989-1999.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * 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.
+ *
+ * MVME147 port for TNI - Telecom Bretagne
+ * by Dominique LE CAMPION (Dominique.LECAMPION@enst-bretagne.fr)
+ * May 1996
+ */
+
+#include <bsp.h>
+#include <bsp/bootcard.h>
+
+void bsp_start( void )
+{
+ rtems_isr_entry *monitors_vector_table;
+ int index;
+
+ monitors_vector_table = (rtems_isr_entry *)0; /* 135Bug Vectors are at 0 */
+ m68k_set_vbr( monitors_vector_table );
+
+ for ( index=2 ; index<=255 ; index++ )
+ M68Kvec[ index ] = monitors_vector_table[ 32 ];
+
+ M68Kvec[ 2 ] = monitors_vector_table[ 2 ]; /* bus error vector */
+ M68Kvec[ 4 ] = monitors_vector_table[ 4 ]; /* breakpoints vector */
+ M68Kvec[ 9 ] = monitors_vector_table[ 9 ]; /* trace vector */
+ M68Kvec[ 47 ] = monitors_vector_table[ 47 ]; /* system call vector */
+
+ m68k_set_vbr( &M68Kvec );
+
+ pcc->int_base_vector = PCC_BASE_VECTOR; /* Set the PCC int vectors base */
+
+ (*(uint8_t*)0xfffe2001) = 0x08; /* make VME access round-robin */
+
+ rtems_cache_enable_instruction();
+ rtems_cache_enable_data();
+}
diff --git a/bsps/m68k/mvme147/start/linkcmds b/bsps/m68k/mvme147/start/linkcmds
new file mode 100644
index 0000000000..6603a438f1
--- /dev/null
+++ b/bsps/m68k/mvme147/start/linkcmds
@@ -0,0 +1,30 @@
+/*
+ * This file contains directives for the GNU linker which are specific
+ * to the Motorola MVME147 boards.
+ */
+
+/*
+ * COPYRIGHT (c) 1989-2007,2016.
+ * On-Line Applications Research Corporation (OAR).
+ *
+ * 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.
+ *
+ * MVME147 port for TNI - Telecom Bretagne
+ * by Dominique LE CAMPION (Dominique.LECAMPION@enst-bretagne.fr)
+ * May 1996
+ */
+
+MEMORY
+{
+ bootrom_reserved : ORIGIN = 0x00000000, LENGTH = 0x5000
+ ram : ORIGIN = 0x00005000, LENGTH = 4M - 0x5000
+}
+
+REGION_ALIAS ("REGION_TEXT", ram);
+REGION_ALIAS ("REGION_TEXT_LOAD", ram);
+REGION_ALIAS ("REGION_DATA", ram);
+REGION_ALIAS ("REGION_DATA_LOAD", ram);
+
+INCLUDE linkcmds.base