summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/qemuppc
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/powerpc/qemuppc
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/powerpc/qemuppc')
-rw-r--r--bsps/powerpc/qemuppc/start/start.S52
1 files changed, 52 insertions, 0 deletions
diff --git a/bsps/powerpc/qemuppc/start/start.S b/bsps/powerpc/qemuppc/start/start.S
new file mode 100644
index 0000000000..1ef7a3a02a
--- /dev/null
+++ b/bsps/powerpc/qemuppc/start/start.S
@@ -0,0 +1,52 @@
+#include <rtems/score/cpu.h>
+#include <rtems/powerpc/powerpc.h>
+
+#include <bspopts.h>
+
+ .global bsp_interrupt_stack_start
+ .global bsp_interrupt_stack_end
+ .global _start
+
+ .section .bsp_start_text,"awx",@progbits
+
+_start:
+ lis %r1,bsp_interrupt_stack_start@h
+ ori %r1,%r1,bsp_interrupt_stack_start@l
+ /* Make sure stack is properly aligned */
+ li %r3, CPU_STACK_ALIGNMENT - 1
+ andc %r1, %r1, %r3
+ /* NULL ptr to back chain */
+ li %r3, 0
+ stw %r3, 0(%r1)
+
+ li %r3,8192
+ mtmsr %r3
+
+ /* Read-only small data */
+ lis %r2, _SDA2_BASE_@h
+ ori %r2, %r2,_SDA2_BASE_@l
+
+ /* Read-write small data */
+ lis %r13, _SDA_BASE_@h
+ ori %r13, %r13,_SDA_BASE_@l
+
+ bl cmain
+ .size _start, . - _start
+
+ .global __eabi
+__eabi:
+ blr
+ .size __eabi, . - __eabi
+
+ .section ".reset","ax"
+_reset:
+ b _start
+ .size _reset, . - _reset
+
+ /* Start stack area */
+ .section ".bsp_rwextra", "aw", @nobits
+ .align 4
+ .space 4096
+bsp_interrupt_stack_start:
+ .space 32768
+bsp_interrupt_stack_end: