]> git.sur5r.net Git - u-boot/blobdiff - arch/nios2/cpu/start.S
Fix board init code to respect the C runtime environment
[u-boot] / arch / nios2 / cpu / start.S
index 54787c53ca7e7d661a1bb9910ed6d08918373354..204d0cd9d4a714a56198a7ed80c5ea3c99227ced 100644 (file)
@@ -106,14 +106,18 @@ _reloc:
        stw     r0, 4(sp)
        mov     fp, sp
 
-       /* Allocate and zero GD, update SP */
+       /* Allocate and initialize reserved area, update SP */
        mov     r4, sp
-       movhi   r2, %hi(board_init_f_mem@h)
-       ori     r2, r2, %lo(board_init_f_mem@h)
+       movhi   r2, %hi(board_init_f_alloc_reserve@h)
+       ori     r2, r2, %lo(board_init_f_alloc_reserve@h)
        callr   r2
-
-       /* Update stack- and frame-pointers */
        mov     sp, r2
+       mov     r4, sp
+       movhi   r2, %hi(board_init_f_init_reserve@h)
+       ori     r2, r2, %lo(board_init_f_init_reserve@h)
+       callr   r2
+
+       /* Update frame-pointer */
        mov     fp, sp
 
        /* Call board_init_f -- never returns */