microblaze: Fix early stack allocation
authorMichal Simek <michal.simek@amd.com>
Fri, 24 Jun 2022 12:14:59 +0000 (14:14 +0200)
committerMichal Simek <michal.simek@amd.com>
Fri, 24 Jun 2022 12:14:59 +0000 (14:14 +0200)
CONFIG_SYS_INIT_SP_OFFSET macro place stack to TEXT_BASE - SYS_MALLOC_F_LEN
but there is no reason to do it now because board_init_f_alloc_reserve()
returns exact location where stack should be. That's why stack location is
calculated at run time and there is no need to hardcode it via macro. This
change will help with placing U-Boot to any address.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/e9aee69646e022fd8a96cbee2d2a07ab81fb6e05.1655299267.git.michal.simek@amd.com
arch/microblaze/cpu/start.S
include/configs/microblaze-generic.h

index 715ef37b39d92332c7e05a3d2c4e0a0df68f8e1d..1acac5faf4287b856c8054bd49d3e5eb9e563489 100644 (file)
@@ -22,7 +22,7 @@ _start:
 #if defined(CONFIG_SPL_BUILD)
        addi    r1, r0, CONFIG_SPL_STACK_ADDR
 #else
-       addi    r1, r0, CONFIG_SYS_INIT_SP_OFFSET
+       add     r1, r0, r8
 #endif
 
        addi    r1, r1, -4      /* Decrement SP to top of memory */
index 663837f33dc4fb58eeb11e8f3cb3fe00227cda2f..60ceb2c817e984722db6be718b2581e3c380aee5 100644 (file)
 # define CONFIG_SYS_BAUDRATE_TABLE \
        {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400}
 
-/* Stack location before relocation */
-#define CONFIG_SYS_INIT_SP_OFFSET      (CONFIG_SYS_TEXT_BASE - \
-                                        CONFIG_SYS_MALLOC_F_LEN)
-
 #ifdef CONFIG_CFI_FLASH
 /* ?empty sector */
 # define CONFIG_SYS_FLASH_EMPTY_INFO   1