diff options
Diffstat (limited to 'lib_microblaze/board.c')
| -rw-r--r-- | lib_microblaze/board.c | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/lib_microblaze/board.c b/lib_microblaze/board.c index b720e8203..bc987a338 100644 --- a/lib_microblaze/board.c +++ b/lib_microblaze/board.c @@ -72,8 +72,21 @@ init_fnc_t *init_sequence[] = {  void board_init(void)  { +	DECLARE_GLOBAL_DATA_PTR; + +	bd_t *bd;  	init_fnc_t **init_fnc_ptr; +	/* Pointer is writable since we allocated a register for it. */ +	gd = (gd_t *)CFG_GBL_DATA_OFFSET; +	memset((void *)gd, 0, CFG_GBL_DATA_SIZE); + +	gd->bd = (bd_t *)(gd+1);	/* At end of global data */ +	gd->baudrate = CONFIG_BAUDRATE; + +	bd = gd->bd; +	bd->bi_baudrate = CONFIG_BAUDRATE; +  	for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) {  		WATCHDOG_RESET ();  		if ((*init_fnc_ptr) () != 0) { |