summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/lm32
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 10:19:28 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 13:08:36 +0200
commitfbcd7c8fa65eb695e96a62ea1c1ac7a024fa9dfc (patch)
treea17e285cf22cd49cd42e8b3ad562febc3987d566 /c/src/lib/libbsp/lm32
parentbsps: Move console drivers to bsps (diff)
downloadrtems-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/lm32')
-rw-r--r--c/src/lib/libbsp/lm32/lm32_evr/Makefile.am2
-rw-r--r--c/src/lib/libbsp/lm32/milkymist/Makefile.am2
-rw-r--r--c/src/lib/libbsp/lm32/shared/start/start.S160
3 files changed, 2 insertions, 162 deletions
diff --git a/c/src/lib/libbsp/lm32/lm32_evr/Makefile.am b/c/src/lib/libbsp/lm32/lm32_evr/Makefile.am
index d294f3503e..cc89f66618 100644
--- a/c/src/lib/libbsp/lm32/lm32_evr/Makefile.am
+++ b/c/src/lib/libbsp/lm32/lm32_evr/Makefile.am
@@ -9,7 +9,7 @@ dist_project_lib_DATA = startup/bsp_specs
noinst_PROGRAMS =
-start.$(OBJEXT): ../shared/start/start.S
+start.$(OBJEXT): ../../../../../../bsps/lm32/shared/start/start.S
$(CPPASCOMPILE) -o $@ -c $<
project_lib_DATA = start.$(OBJEXT)
diff --git a/c/src/lib/libbsp/lm32/milkymist/Makefile.am b/c/src/lib/libbsp/lm32/milkymist/Makefile.am
index 1af72ccba3..72b269594e 100644
--- a/c/src/lib/libbsp/lm32/milkymist/Makefile.am
+++ b/c/src/lib/libbsp/lm32/milkymist/Makefile.am
@@ -9,7 +9,7 @@ dist_project_lib_DATA = startup/bsp_specs
noinst_PROGRAMS =
-start.$(OBJEXT): ../shared/start/start.S
+start.$(OBJEXT): ../../../../../../bsps/lm32/shared/start/start.S
$(CPPASCOMPILE) -o $@ -c $<
project_lib_DATA = start.$(OBJEXT)
diff --git a/c/src/lib/libbsp/lm32/shared/start/start.S b/c/src/lib/libbsp/lm32/shared/start/start.S
deleted file mode 100644
index 71cbb54119..0000000000
--- a/c/src/lib/libbsp/lm32/shared/start/start.S
+++ /dev/null
@@ -1,160 +0,0 @@
-/* LM32 startup code
- *
- * This is the entry point on reset and when loading the
- * executive from a bootloader.
- *
- * 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.
- *
- * Jukka Pietarinen <jukka.pietarinen@mrf.fi>, 2008,
- * Micro-Research Finland Oy
- */
-
-#include "bspopts.h"
-
- .section .boot,"a",@progbits
- .align 4
-
- .globl start
- .type start,@function
- .globl _start
- .type _start,@function
- .globl __start
- .type __start,@function
- .globl LatticeDDInit
- .type LatticeDDInit,@function
- .globl crt0
- .type crt0,@function
-
-LatticeDDInit:
-__start:
-_start:
-start:
- /* Clear r0 */
- xor r0,r0,r0
- /* Disable interrupts */
- wcsr IE, r0
- /* Mask all interrupts */
- wcsr IM,r0
- /* Set exception base address */
- mvhi r1, hi(start)
- ori r1, r1, lo(start)
- wcsr EBA, r1
- bi crt0
- nop
-/*
- * Unused handlers call debug handlers
- */
-breakpoint_handler:
- rcsr r7, DEBA
- addi r7, r7, 32
- b r7
- nop
- nop
- nop
- nop
- nop
-instruction_bus_error_handler:
- rcsr r7, DEBA
- addi r7, r7, 64
- b r7
- nop
- nop
- nop
- nop
- nop
-watchpoint_handler:
- rcsr r7, DEBA
- addi r7, r7, 96
- b r7
- nop
- nop
- nop
- nop
- nop
-data_bus_error_handler:
- rcsr r7, DEBA
- addi r7, r7, 128
- b r7
- nop
- nop
- nop
- nop
- nop
-divide_by_zero_handler:
- rcsr r7, DEBA
- addi r7, r7, 160
- b r7
- nop
- nop
- nop
- nop
- nop
-interrupt_handler:
- .extern _ISR_Handler
- mvhi r0, hi(_ISR_Handler)
- ori r0, r0, lo(_ISR_Handler)
- b r0
- nop
- nop
- nop
- nop
- nop
-system_call_handler:
- rcsr r7, DEBA
- addi r7, r7, 224
- b r7
- nop
- nop
- nop
- nop
- nop
-
-crt0:
- /* Flush data cache */
- addi r1, r0, 1
- wcsr DCC, r1
- nop
- nop
- nop
- nop
- /* Flush Instruction Cache */
- wcsr ICC, r1
- nop
- nop
- nop
- nop
- /* Initialize stack pointer */
- mvhi sp, hi(_fstack-4)
- ori sp, sp, lo(_fstack-4)
- /* Initialize global pointer */
- mvhi gp, hi(_edata)
- ori gp, gp, lo(_edata)
- /* Clear bss */
- mvhi r1, hi(_clear_start)
- ori r1, r1, lo(_clear_start)
- mvhi r3, hi(_clear_end)
- ori r3, r3, lo(_clear_end)
-.clear_bss:
- be r1, r3, .end_clear_bss
- sw (r1+0), r0
- addi r1, r1, 4
- bi .clear_bss
-.end_clear_bss:
- mvi r1, 0
- be r4, r0, .no_rescue
- mvhi r1, hi(.rescue_str)
- ori r1, r1, lo(.rescue_str)
-.no_rescue:
- mvhi r7, hi(boot_card)
- ori r7, r7, lo(boot_card)
- call r7
- # boot_card returns when RTEMS is shutdown
-.dead_end:
- bi .dead_end
-
-.section .rodata
-.rescue_str:
- .ascii "rescue"
-