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 715ef37..1acac5f 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 663837f..60ceb2c 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