From 5a9a2c55d14260bc5b9fb6c36e2b32ee325a8aec Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Fri, 24 Dec 2010 12:48:16 -0500 Subject: Blackfin: fix bd_t handling The recent global data changes (making the size autogenerated) broke the board info handling on Blackfin ports as we were lying and lumping the bd_t size in with the gd_t size. So use the new dedicated bd_t size to setup its own address in memory. Signed-off-by: Mike Frysinger --- arch/blackfin/lib/board.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'arch/blackfin/lib/board.c') diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c index 2b1f78c63..47d487fae 100644 --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c @@ -207,7 +207,6 @@ extern int timer_init(void); void board_init_f(ulong bootflag) { - ulong addr; bd_t *bd; char buf[32]; @@ -244,14 +243,9 @@ void board_init_f(ulong bootflag) gd = (gd_t *) (CONFIG_SYS_GBL_DATA_ADDR); memset((void *)gd, 0, GENERATED_GBL_DATA_SIZE); - /* Board data initialization */ - addr = (CONFIG_SYS_GBL_DATA_ADDR + sizeof(gd_t)); - - /* Align to 4 byte boundary */ - addr &= ~(4 - 1); - bd = (bd_t *) addr; + bd = (bd_t *) (CONFIG_SYS_BD_INFO_ADDR); gd->bd = bd; - memset((void *)bd, 0, sizeof(bd_t)); + memset((void *)bd, 0, GENERATED_BD_INFO_SIZE); bd->bi_r_version = version_string; bd->bi_cpu = MK_STR(CONFIG_BFIN_CPU); -- cgit v1.2.3-70-g09d2