ソースを参照

microblaze: Fix gd_t address which is placed at the end of BRAM

Setup gd from ASM to be availalbe for board_init_r.
Setting it up in spl_board_init is too late when
MALLOC is used.
Space for gd is located behind MALLOC area at the end of BRAM.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Michal Simek 10 年 前
コミット
9cef20b109
2 ファイル変更1 行追加2 行削除
  1. 0 2
      arch/microblaze/cpu/spl.c
  2. 1 0
      arch/microblaze/cpu/start.S

+ 0 - 2
arch/microblaze/cpu/spl.c

@@ -25,8 +25,6 @@ u32 spl_boot_device(void)
 /* Board initialization after bss clearance */
 void spl_board_init(void)
 {
-	gd = (gd_t *)CONFIG_SPL_STACK_ADDR;
-
 	/* enable console uart printing */
 	preloader_console_init();
 }

+ 1 - 0
arch/microblaze/cpu/start.S

@@ -152,6 +152,7 @@ clear_bss:
 #ifndef CONFIG_SPL_BUILD
 	brai	board_init_f
 #else
+	addi	r31, r0, CONFIG_SYS_SPL_MALLOC_END
 	brai	board_init_r
 #endif
 1:	bri	1b