summaryrefslogtreecommitdiffstats
path: root/arch/arc/lib/start.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arc/lib/start.S')
-rw-r--r--arch/arc/lib/start.S12
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/arc/lib/start.S b/arch/arc/lib/start.S
index 26a5934189..90ee7e0fe4 100644
--- a/arch/arc/lib/start.S
+++ b/arch/arc/lib/start.S
@@ -50,18 +50,20 @@ ENTRY(_start)
1:
#endif
- /* Setup stack- and frame-pointers */
+ /* Establish C runtime stack and frame */
mov %sp, CONFIG_SYS_INIT_SP_ADDR
mov %fp, %sp
- /* Allocate and zero GD, update SP */
+ /* Allocate reserved area from current top of stack */
mov %r0, %sp
- bl board_init_f_mem
-
- /* Update stack- and frame-pointers */
+ bl board_init_f_alloc_reserve
+ /* Set stack below reserved area, adjust frame pointer accordingly */
mov %sp, %r0
mov %fp, %sp
+ /* Initialize reserved area - note: r0 already contains address */
+ bl board_init_f_init_reserve
+
/* Zero the one and only argument of "board_init_f" */
mov_s %r0, 0
j board_init_f
OpenPOWER on IntegriCloud