summaryrefslogtreecommitdiffstats
path: root/bsps/v850
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 /bsps/v850
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 'bsps/v850')
-rw-r--r--bsps/v850/gdbv850sim/start/start.S78
1 files changed, 78 insertions, 0 deletions
diff --git a/bsps/v850/gdbv850sim/start/start.S b/bsps/v850/gdbv850sim/start/start.S
new file mode 100644
index 0000000000..419e635393
--- /dev/null
+++ b/bsps/v850/gdbv850sim/start/start.S
@@ -0,0 +1,78 @@
+# NEC V850 startup code
+
+ .section .text
+ .global _start
+
+_start:
+
+#if defined(__v850e__) || defined(__v850e2__) || defined(__v850e2v3__)
+
+ movea 255, r0, r20
+ mov 65535, r21
+ mov hilo(_stack), sp
+ mov hilo(__ep), ep
+ mov hilo(__gp), gp
+ mov hilo(__ctbp), r6
+ ldsr r6, ctbp
+ mov hilo(_edata), r6
+ mov hilo(_end), r7
+.L0:
+ st.w r0, 0[r6]
+ addi 4, r6, r6
+ cmp r7, r6
+ bl .L0
+.L1:
+ jarl ___main, r31
+ addi -16, sp, sp
+ mov 0, r6
+ mov 0, r7
+ mov 0, r8
+ /* jarl _main, r31 */
+ jarl _boot_card, r31
+ mov r10, r6
+ jarl _exit, r31
+
+# else
+ movea 255, r0, r20
+ mov r0, r21
+ ori 65535, r0, r21
+ movhi hi(_stack), r0, sp
+ movea lo(_stack), sp, sp
+ movhi hi(__ep), r0, ep
+ movea lo(__ep), ep, ep
+ movhi hi(__gp), r0, gp
+ movea lo(__gp), gp, gp
+
+ movhi hi(_edata), r0, r6
+ movea lo(_edata), r6, r6
+ movhi hi(_end), r0, r7
+ movea lo(_end), r7, r7
+.L0:
+ st.b r0, 0[r6]
+ addi 1, r6, r6
+ cmp r7, r6
+ bl .L0
+.L1:
+ /* jarl ___main, r31 */
+ addi -16, sp, sp
+ mov 0, r6
+ mov 0, r7
+ mov 0, r8
+ /* jarl _main, r31 */
+ jarl _boot_card, r31
+ mov r10, r6
+.L2:
+ br .L2
+ /* jarl _exit, r31 */
+# endif
+
+#if 0
+ .section .stack
+_stack: .long 1
+#endif
+
+ .section .data
+ .global ___dso_handle
+ .weak ___dso_handle
+___dso_handle:
+ .long 0