diff options
Diffstat (limited to 'bsps/powerpc/mvme5500/start/start.S')
-rw-r--r-- | bsps/powerpc/mvme5500/start/start.S | 25 |
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 |