summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-10-06 03:57:39 -0400
committerMike Frysinger <vapier@gentoo.org>2009-01-28 13:26:12 -0500
commit78a0ba7dc24c9682371f6ee8549b569fb573a329 (patch)
treedbada71cac6abdd03d5afc62ab6e48ae721decb6
parent01815c2d06c5b838f2cd536703e47bd2c9148194 (diff)
downloadu-boot-imx-78a0ba7dc24c9682371f6ee8549b569fb573a329.zip
u-boot-imx-78a0ba7dc24c9682371f6ee8549b569fb573a329.tar.gz
u-boot-imx-78a0ba7dc24c9682371f6ee8549b569fb573a329.tar.bz2
Blackfin: respect/check CONFIG_SYS_GBL_DATA_SIZE
When setting up the global data, rather than relying on sizeof(), use the common CONFIG_SYS_GBL_DATA_SIZE define. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--lib_blackfin/board.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib_blackfin/board.c b/lib_blackfin/board.c
index dcf246d..fef1934 100644
--- a/lib_blackfin/board.c
+++ b/lib_blackfin/board.c
@@ -279,9 +279,13 @@ void board_init_f(ulong bootflag)
dcache_enable();
#endif
+#ifdef DEBUG
+ if (CONFIG_SYS_GBL_DATA_SIZE < sizeof(*gd))
+ hang();
+#endif
serial_early_puts("Init global data\n");
gd = (gd_t *) (CONFIG_SYS_GBL_DATA_ADDR);
- memset((void *)gd, 0, sizeof(gd_t));
+ memset((void *)gd, 0, CONFIG_SYS_GBL_DATA_SIZE);
/* Board data initialization */
addr = (CONFIG_SYS_GBL_DATA_ADDR + sizeof(gd_t));