summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2012-07-18 08:58:43 +0200
committerWolfgang Denk <wd@denx.de>2012-07-18 08:58:43 +0200
commit3a9469b5cbd467b3a7b176b4feb2073a04f294b6 (patch)
treeea416abdc57c9ec52cff99503e99e93f2c968307
parent975324a7d9abd26423594b596d8cd7b83699171a (diff)
parent7dfb0602915447d10d89096634be7e9d15925eb3 (diff)
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.c12
-rw-r--r--include/configs/nios2-generic.h12
2 files changed, 9 insertions, 15 deletions
diff --git a/arch/nios2/lib/board.c b/arch/nios2/lib/board.c
index ca8a3e5246..1e495d442d 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 a383fa465c..69ff3efb50 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