From b823c9843dabbf81eec26b1042a3b8ec65690441 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 8 Jun 2021 08:08:43 +0200 Subject: bsps/sparc: Unify stack initialization Initialize the stacks in start.S in one place and identical to _CPU_Context_Initialize(). --- bsps/sparc/shared/start/start.S | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'bsps/sparc/shared/start/start.S') diff --git a/bsps/sparc/shared/start/start.S b/bsps/sparc/shared/start/start.S index 369ef72a94..a9669bbc94 100644 --- a/bsps/sparc/shared/start/start.S +++ b/bsps/sparc/shared/start/start.S @@ -306,13 +306,12 @@ SYM(hard_reset): nop ld [%g6 + PER_CPU_INTERRUPT_STACK_HIGH], %sp ! set stack pointer - sub %sp, 4, %sp ! stack starts at end of area - 4 - andn %sp, 0x0f, %sp ! align stack on 16-byte boundary + andn %sp, CPU_STACK_ALIGNMENT - 1, %sp + sub %sp, SPARC_MINIMUM_STACK_FRAME_SIZE, %sp mov %sp, %fp ! set frame pointer - mov %g6, %o0 call SYM(bsp_start_on_secondary_processor) ! does not return - sub %sp, SPARC_MINIMUM_STACK_FRAME_SIZE, %sp + mov %g6, %o0 .Lbootcpu: st %o0, [%o1] #endif @@ -326,8 +325,8 @@ SYM(hard_reset): #endif set SYM(_ISR_Stack_area_begin), %sp add %sp, %g5, %sp - sub %sp, 4, %sp ! stack starts at end of area - 4 - andn %sp, 0x0f, %sp ! align stack on 16-byte boundary + andn %sp, CPU_STACK_ALIGNMENT - 1, %sp + sub %sp, SPARC_MINIMUM_STACK_FRAME_SIZE, %sp mov %sp, %fp ! Set frame pointer nop @@ -346,8 +345,7 @@ SYM(hard_reset): bleu,a .Lzerobss nop - mov %g0, %o0 ! command line call SYM(boot_card) ! does not return - sub %sp, 0x60, %sp ! room for boot_card to save args + mov %g0, %o0 ! command line /* end of file */ -- cgit v1.2.3