summaryrefslogtreecommitdiffstats
path: root/bsps/powerpc/mvme5500/start/start.S
diff options
context:
space:
mode:
Diffstat (limited to 'bsps/powerpc/mvme5500/start/start.S')
-rw-r--r--bsps/powerpc/mvme5500/start/start.S25
1 files changed, 8 insertions, 17 deletions
diff --git a/bsps/powerpc/mvme5500/start/start.S b/bsps/powerpc/mvme5500/start/start.S
index 5990c7e2d4..c948c9c1ef 100644
--- a/bsps/powerpc/mvme5500/start/start.S
+++ b/bsps/powerpc/mvme5500/start/start.S
@@ -13,8 +13,7 @@
*/
#include <rtems/asm.h>
-#include <rtems/score/cpu.h>
-#include <rtems/powerpc/powerpc.h>
+#include <libcpu/powerpc-utility.h>
#include <libcpu/io.h>
#include <libcpu/bat.h>
@@ -134,23 +133,15 @@ enter_C_code:
mr r6,r28
mr r7,r27
bl save_boot_params
+
/*
- * stack = &__rtems_end + 4096
- */
- addis r9,r0, __stack-PPC_MINIMUM_STACK_FRAME_SIZE@ha
- addi r9,r9, __stack-PPC_MINIMUM_STACK_FRAME_SIZE@l
- /*
- * align initial stack
- * (we hope that the bootloader stack was 16-byte aligned
- * or we haven't used altivec yet...)
- */
- li r0, (CPU_STACK_ALIGNMENT-1)
- andc r1, r9, r0
- /*
- * NULL ptr to back chain
+ * Initialize start stack. The stacks are statically allocated and
+ * properly aligned.
*/
- li r0, 0
- stw r0, 0(r1)
+ LA r1, _ISR_Stack_area_end
+ subi r1, r1, PPC_DEFAULT_CACHE_LINE_SIZE
+ li r0, 0
+ stw r0, 0(r1)
/*
* We are now in a environment that is totally independent from