diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 10:19:28 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 13:08:36 +0200 |
commit | fbcd7c8fa65eb695e96a62ea1c1ac7a024fa9dfc (patch) | |
tree | a17e285cf22cd49cd42e8b3ad562febc3987d566 /c/src/lib/libbsp/m68k/csb360/start | |
parent | bsps: Move console drivers to bsps (diff) | |
download | rtems-fbcd7c8fa65eb695e96a62ea1c1ac7a024fa9dfc.tar.bz2 |
bsps: Move start files to bsps
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/m68k/csb360/start')
-rw-r--r-- | c/src/lib/libbsp/m68k/csb360/start/start.S | 413 |
1 files changed, 0 insertions, 413 deletions
diff --git a/c/src/lib/libbsp/m68k/csb360/start/start.S b/c/src/lib/libbsp/m68k/csb360/start/start.S deleted file mode 100644 index 299c8dad32..0000000000 --- a/c/src/lib/libbsp/m68k/csb360/start/start.S +++ /dev/null @@ -1,413 +0,0 @@ -/* - * CSB360 startup code - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - */ - -/* - * Copyright (C) 2004 Cogent Computer Systems - * Author: Jay Monkman <jtm@lopingdog.com> - * - * Based on start.S from mcf520elite BSP: - * Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia - * Author: Victor V. Vengerov <vvv@oktet.ru> - * - * Based on work: - * David Fiddes, D.J@fiddes.surfaid.org - * http://www.calm.hw.ac.uk/davidf/coldfire/ - * - * COPYRIGHT (c) 1989-1998. - * 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. - */ - -#include <rtems/asm.h> -#include <bsp.h> - -BEGIN_CODE - -/* Initial stack situated in on-chip static memory */ -#define INITIAL_STACK BSP_MEM_ADDR_SRAM+BSP_MEM_SIZE_SRAM-4 - - PUBLIC (INTERRUPT_VECTOR) -SYM(INTERRUPT_VECTOR): - .long INITIAL_STACK | 00: initial SSP - .long start | 01: Initial PC - .long _unexp_exception | 02: Access Error - .long _unexp_exception | 03: Address Error - .long _unexp_exception | 04: Illegal Instruction - .long _reserved_int | 05: Reserved - .long _reserved_int | 06: Reserved - .long _reserved_int | 07: Reserved - .long _unexp_exception | 08: Priveledge Violation - .long _unexp_exception | 09: Trace - .long _unexp_exception | 0A: Unimplemented A-Line - .long _unexp_exception | 0B: Unimplemented F-Line - .long _unexp_exception | 0C: Debug interrupt - .long _reserved_int | 0D: Reserved - .long _unexp_exception | 0E: Format error - .long _unexp_exception | 0F: Uninitialized interrupt - .long _reserved_int | 10: Reserved - .long _reserved_int | 11: Reserved - .long _reserved_int | 12: Reserved - .long _reserved_int | 13: Reserved - .long _reserved_int | 14: Reserved - .long _reserved_int | 15: Reserved - .long _reserved_int | 16: Reserved - .long _reserved_int | 17: Reserved - .long _spurious_int | 18: Spurious interrupt - .long _avec1_int | 19: Autovector Level 1 - .long _avec2_int | 1A: Autovector Level 2 - .long _avec3_int | 1B: Autovector Level 3 - .long _avec4_int | 1C: Autovector Level 4 - .long _avec5_int | 1D: Autovector Level 5 - .long _avec6_int | 1E: Autovector Level 6 - .long _avec7_int | 1F: Autovector Level 7 - .long _unexp_exception | 20: TRAP #0 - .long _unexp_exception | 21: TRAP #1 - .long _unexp_exception | 22: TRAP #2 - .long _unexp_exception | 23: TRAP #3 - .long _unexp_exception | 24: TRAP #4 - .long _unexp_exception | 25: TRAP #5 - .long _unexp_exception | 26: TRAP #6 - .long _unexp_exception | 27: TRAP #7 - .long _unexp_exception | 28: TRAP #8 - .long _unexp_exception | 29: TRAP #9 - .long _unexp_exception | 2A: TRAP #10 - .long _unexp_exception | 2B: TRAP #11 - .long _unexp_exception | 2C: TRAP #12 - .long _unexp_exception | 2D: TRAP #13 - .long _unexp_exception | 2E: TRAP #14 - .long _unexp_exception | 2F: TRAP #15 - .long _reserved_int | 30: Reserved - .long _reserved_int | 31: Reserved - .long _reserved_int | 32: Reserved - .long _reserved_int | 33: Reserved - .long _reserved_int | 34: Reserved - .long _reserved_int | 35: Reserved - .long _reserved_int | 36: Reserved - .long _reserved_int | 37: Reserved - .long _reserved_int | 38: Reserved - .long _reserved_int | 39: Reserved - .long _reserved_int | 3A: Reserved - .long _reserved_int | 3B: Reserved - .long _reserved_int | 3C: Reserved - .long _reserved_int | 3D: Reserved - .long _reserved_int | 3E: Reserved - .long _reserved_int | 3F: Reserved - - .long _unexp_int | 40-FF: User defined interrupts - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | 50: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | 60: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | 70: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | 80: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | 90: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | A0: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | B0: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | C0: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | D0: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | E0: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - .long _unexp_int | F0: - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - .long _unexp_int - - PUBLIC(start) -SYM(start): - move.w #0x2700,sr | First turn off all interrupts! - - move.l #(BSP_RAMBAR + MCF5272_RAMBAR_V), d0 - movec d0,rambar0 | ...so we have a stack - - move.l #(INITIAL_STACK),sp | Set up stack again (may be we are - | going here from monitor or with - | BDM interface assistance) - - /* - * Remainder of the startup code is handled by C code - */ - jmp SYM(init5272) | Start C code (which never returns) - -/*************************************************************************** - Function : clear_bss - - Description : clear BSS segment - ***************************************************************************/ - PUBLIC (clear_bss) -SYM(clear_bss): - lea clear_start,a0 | Get start of BSS - lea clear_end,a1 | Get end of BSS - clrl d0 | Value to set - bra.s ZEROLOOPTEST | Branch into clear loop -ZEROLOOP: - movel d0,a0@+ | Clear a word -ZEROLOOPTEST: - cmpl a1,a0 | Done? - bcs.s ZEROLOOP | No, skip - - rts - - - - - PUBLIC (start_csb360) -SYM(start_csb360): - /* - * Right : Now we're ready to boot RTEMS - */ - clrl d0 | Pass in null to all boot_card() params - movel d0,a7@- | command line - jsr SYM(boot_card) | Call C boot_card function to startup RTEMS - - - -# Wait forever -_stop: - nop - stop #0x2700 - jmp _stop - -# The following labelled nops is a placeholders for breakpoints -_unexp_exception: - nop - jmp _stop - -_unexp_int: - nop - jmp _stop - -_reserved_int: - nop - jmp _stop - -_spurious_int: - nop - jmp _stop - -_avec1_int: - nop - jmp _unexp_int - -_avec2_int: - nop - jmp _unexp_int - -_avec3_int: - nop - jmp _unexp_int - -_avec4_int: - nop - jmp _unexp_int - -_avec5_int: - nop - jmp _unexp_int - -_avec6_int: - nop - jmp _unexp_int - -_avec7_int: - nop - jmp _unexp_int - - -END_CODE - -END - |