summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c')
-rw-r--r--c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c84
1 files changed, 0 insertions, 84 deletions
diff --git a/c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c b/c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c
deleted file mode 100644
index caf7db1953..0000000000
--- a/c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * 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.
- *
- * This is where the real hardware setup is done. A minimal stack
- * has been provided by the start.S code. No normal C or RTEMS
- * functions can be called from here.
- */
-
-#include <bsp.h>
-#include <bsp/bootcard.h>
-
-extern void _wr_vbr(uint32_t);
-
-extern long _d0_reset,_d1_reset,_M68kSpuriousInterruptCount;
-
-/*
- * From linkcmds
- */
-
-extern uint8_t _INTERRUPT_VECTOR[];
-
-extern uint8_t _clear_start[];
-extern uint8_t _clear_end[];
-
-extern uint8_t _data_src_start[];
-extern uint8_t _data_dest_start[];
-extern uint8_t _data_dest_end[];
-
-void Init5225x(void)
-{
- register uint32_t i;
- register uint32_t *dp, *sp;
- register uint8_t *dbp, *sbp;
-
- /*
- * Copy the vector table to RAM
- */
-
- if (&_VBR != (void *)_INTERRUPT_VECTOR) {
- sp = (uint32_t *) _INTERRUPT_VECTOR;
- dp = (uint32_t *) &_VBR;
- for (i = 0; i < 256; i++) {
- *dp++ = *sp++;
- }
- }
-
- /*
- * Move initialized data from ROM to RAM.
- */
- if (_data_src_start != _data_dest_start) {
- dbp = (uint8_t *) _data_dest_start;
- sbp = (uint8_t *) _data_src_start;
- i = _data_dest_end - _data_dest_start;
- while (i--)
- *dbp++ = *sbp++;
- }
-
- asm __volatile__ ("move.l %%d5,%0\n\t":"=r" (_d0_reset));
- asm __volatile__ ("move.l %%d6,%0\n\t":"=r" (_d1_reset));
-
- /*
- * Zero uninitialized data
- */
-
- if (_clear_start != _clear_end) {
- sbp = _clear_start;
- dbp = _clear_end;
- i = dbp - sbp;
- while (i--)
- *sbp++ = 0;
- }
-
-//_wr_vbr((uint32_t) &_VBR);
- asm volatile("move.l %0,%%d7;movec %%d7,%%vbr\n\t"::"i"(&_VBR): "cc");
-
- /*
- * We have to call some kind of RTEMS function here!
- */
-
- boot_card(0);
- for (;;) ;
-}