diff options
Diffstat (limited to 'c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c')
-rw-r--r-- | c/src/lib/libbsp/m68k/mcf5225x/startup/init5225x.c | 84 |
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 (;;) ; -} |