diff options
author | Wolfgang Denk <wd@denx.de> | 2010-10-26 14:34:52 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-10-26 21:05:30 +0200 |
commit | 25ddd1fb0a2281b182529afbc8fda5de2dc16d96 (patch) | |
tree | b1d57d9d1324fb6b8fddf7ebc976dbe822468649 /arch/blackfin | |
parent | 16a354f920f3959ed847bd917bdfbc7eba48cf1e (diff) | |
download | u-boot-imx-25ddd1fb0a2281b182529afbc8fda5de2dc16d96.zip u-boot-imx-25ddd1fb0a2281b182529afbc8fda5de2dc16d96.tar.gz u-boot-imx-25ddd1fb0a2281b182529afbc8fda5de2dc16d96.tar.bz2 |
Replace CONFIG_SYS_GBL_DATA_SIZE by auto-generated value
CONFIG_SYS_GBL_DATA_SIZE has always been just a bad workarond for not
being able to use "sizeof(struct global_data)" in assembler files.
Recent experience has shown that manual synchronization is not
reliable enough. This patch renames CONFIG_SYS_GBL_DATA_SIZE into
GENERATED_GBL_DATA_SIZE which gets automatically generated by the
asm-offsets tool. In the result, all definitions of this value can be
deleted from the board config files. We have to make sure that all
files that reference such data include the new <asm-offsets.h> file.
No other changes have been done yet, but it is obvious that similar
changes / simplifications can be done for other, related macro
definitions as well.
Signed-off-by: Wolfgang Denk <wd@denx.de>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/include/asm/config.h | 5 | ||||
-rw-r--r-- | arch/blackfin/include/asm/global_data.h | 2 | ||||
-rw-r--r-- | arch/blackfin/lib/board.c | 4 |
3 files changed, 4 insertions, 7 deletions
diff --git a/arch/blackfin/include/asm/config.h b/arch/blackfin/include/asm/config.h index 215e0f2..34ca68c 100644 --- a/arch/blackfin/include/asm/config.h +++ b/arch/blackfin/include/asm/config.h @@ -101,11 +101,8 @@ #ifndef CONFIG_SYS_MALLOC_BASE # define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN) #endif -#ifndef CONFIG_SYS_GBL_DATA_SIZE -# define CONFIG_SYS_GBL_DATA_SIZE (128) -#endif #ifndef CONFIG_SYS_GBL_DATA_ADDR -# define CONFIG_SYS_GBL_DATA_ADDR (CONFIG_SYS_MALLOC_BASE - CONFIG_SYS_GBL_DATA_SIZE) +# define CONFIG_SYS_GBL_DATA_ADDR (CONFIG_SYS_MALLOC_BASE - GENERATED_GBL_DATA_SIZE) #endif #ifndef CONFIG_STACKBASE # define CONFIG_STACKBASE (CONFIG_SYS_GBL_DATA_ADDR - 4) diff --git a/arch/blackfin/include/asm/global_data.h b/arch/blackfin/include/asm/global_data.h index d5514b0..eba5e93 100644 --- a/arch/blackfin/include/asm/global_data.h +++ b/arch/blackfin/include/asm/global_data.h @@ -37,7 +37,7 @@ * global variables during system initialization (until we have set * up the memory controller so that we can use RAM). * - * Keep it *SMALL* and remember to set CONFIG_SYS_GBL_DATA_SIZE > sizeof(gd_t) + * Keep it *SMALL* and remember to set GENERATED_GBL_DATA_SIZE > sizeof(gd_t) */ typedef struct global_data { bd_t *bd; diff --git a/arch/blackfin/lib/board.c b/arch/blackfin/lib/board.c index fcfd174..8eca7d6 100644 --- a/arch/blackfin/lib/board.c +++ b/arch/blackfin/lib/board.c @@ -237,12 +237,12 @@ void board_init_f(ulong bootflag) #endif #ifdef DEBUG - if (CONFIG_SYS_GBL_DATA_SIZE < sizeof(*gd)) + if (GENERATED_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, CONFIG_SYS_GBL_DATA_SIZE); + memset((void *)gd, 0, GENERATED_GBL_DATA_SIZE); /* Board data initialization */ addr = (CONFIG_SYS_GBL_DATA_ADDR + sizeof(gd_t)); |