summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/gen5200
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-15 20:47:22 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-11-19 07:15:47 +0100
commit84e59b7c04e47c3ec7aa95f53509fd812eee725e (patch)
tree8dd2b9325e2a8d897085593ea52dc123d18f2ead /bsps/powerpc/gen5200
parentbsps/m68k: Use interrupt stack for init stack (diff)
downloadrtems-84e59b7c04e47c3ec7aa95f53509fd812eee725e.tar.bz2
bsps/powerpc: Use interrupt stack for init stack
Move start.o to separate file. Update #3459.
Diffstat (limited to 'bsps/powerpc/gen5200')
-rw-r--r--bsps/powerpc/gen5200/start/start.S16
1 files changed, 10 insertions, 6 deletions
diff --git a/bsps/powerpc/gen5200/start/start.S b/bsps/powerpc/gen5200/start/start.S
index 0c2dfd5989..9e9e504861 100644
--- a/bsps/powerpc/gen5200/start/start.S
+++ b/bsps/powerpc/gen5200/start/start.S
@@ -90,7 +90,9 @@
/* */
/***********************************************************************/
+#include <rtems/asm.h>
#include <rtems/powerpc/cache.h>
+#include <libcpu/powerpc-utility.h>
#include <bsp.h>
#include <bsp/mpc5200.h>
@@ -470,12 +472,14 @@ skip_ROM_start:
bl bsp_uboot_copy_board_info
#endif /* HAS_UBOOT */
-/* set stack pointer (common for RAM/ROM startup) */
- LA r1, bsp_section_text_start
- addi r1, r1, -0x10 /* Set up stack pointer = beginning of text section - 0x10 */
- /* tag TOS with a NULL pointer (termination mark for stack dump) */
- li r0, 0
- stw r0, 0(r1)
+ /*
+ * Initialize start stack (common for RAM/ROM startup). The stacks are
+ * statically allocated and properly aligned.
+ */
+ LA r1, _ISR_Stack_area_end
+ subi r1, r1, PPC_DEFAULT_CACHE_LINE_SIZE
+ li r0, 0
+ stw r0, 0(r1)
bl __eabi /* Set up EABI and SYSV environment */