diff options
author | Wolfgang Denk <wd@denx.de> | 2012-07-18 06:58:43 (GMT) |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2012-07-18 06:58:43 (GMT) |
commit | 3a9469b5cbd467b3a7b176b4feb2073a04f294b6 (patch) | |
tree | ea416abdc57c9ec52cff99503e99e93f2c968307 | |
parent | 975324a7d9abd26423594b596d8cd7b83699171a (diff) | |
parent | 7dfb0602915447d10d89096634be7e9d15925eb3 (diff) | |
download | u-boot-fsl-qoriq-3a9469b5cbd467b3a7b176b4feb2073a04f294b6.tar.xz |
Merge branch 'master' of git://git.denx.de/u-boot-nios
* 'master' of git://git.denx.de/u-boot-nios:
nios2: move gd and bd into BSS
Signed-off-by: Wolfgang Denk <wd@denx.de>
-rw-r--r-- | arch/nios2/lib/board.c | 12 | ||||
-rw-r--r-- | include/configs/nios2-generic.h | 12 |
2 files changed, 9 insertions, 15 deletions
diff --git a/arch/nios2/lib/board.c b/arch/nios2/lib/board.c index ca8a3e5..1e495d4 100644 --- a/arch/nios2/lib/board.c +++ b/arch/nios2/lib/board.c @@ -87,17 +87,15 @@ void board_init (void) { bd_t *bd; init_fnc_t **init_fnc_ptr; + static gd_t gd_data; + static bd_t bd_data; - /* Pointer is writable since we allocated a register for it. - * Nios treats CONFIG_SYS_GBL_DATA_OFFSET as an address. - */ - gd = (gd_t *)CONFIG_SYS_GBL_DATA_OFFSET; + /* Pointer is writable since we allocated a register for it. */ + gd = &gd_data; /* compiler optimization barrier needed for GCC >= 3.4 */ __asm__ __volatile__("": : :"memory"); - memset( gd, 0, GENERATED_GBL_DATA_SIZE ); - - gd->bd = (bd_t *)(gd+1); /* At end of global data */ + gd->bd = &bd_data; gd->baudrate = CONFIG_BAUDRATE; gd->cpu_clk = CONFIG_SYS_CLK_FREQ; diff --git a/include/configs/nios2-generic.h b/include/configs/nios2-generic.h index a383fa4..69ff3ef 100644 --- a/include/configs/nios2-generic.h +++ b/include/configs/nios2-generic.h @@ -117,10 +117,9 @@ /* * MEMORY ORGANIZATION - * -Monitor at top of sdram. - * -The heap is placed below the monitor - * -Global data is placed below the heap. - * -The stack is placed below global data (&grows down). + * -Monitor at top of sdram. + * -The heap is placed below the monitor + * -The stack is placed below the heap (&grows down). */ #define CONFIG_MONITOR_IS_IN_RAM #define CONFIG_SYS_MONITOR_LEN 0x40000 /* Reserve 256k */ @@ -130,10 +129,7 @@ #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 0x20000) #define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - \ CONFIG_SYS_MALLOC_LEN) -#define CONFIG_SYS_GBL_DATA_OFFSET (CONFIG_SYS_MALLOC_BASE - \ - GENERATED_GBL_DATA_SIZE - \ - GENERATED_BD_INFO_SIZE) -#define CONFIG_SYS_INIT_SP CONFIG_SYS_GBL_DATA_OFFSET +#define CONFIG_SYS_INIT_SP CONFIG_SYS_MALLOC_BASE /* * MISC |