X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=lib_nios%2Fboard.c;h=024beb51503833a487df0d52e62d8471a829b912;hb=e4430779623af500de1cee7892c379f07ef59813;hp=0a0d2e38fdacb72e7c070ac896c703712f7f6871;hpb=f6e5739a68131998a5ae8aa0cf56a0316f810200;p=u-boot diff --git a/lib_nios/board.c b/lib_nios/board.c index 0a0d2e38fd..024beb5150 100644 --- a/lib_nios/board.c +++ b/lib_nios/board.c @@ -63,8 +63,8 @@ static ulong mem_malloc_brk = 0; */ static void mem_malloc_init (void) { - mem_malloc_start = CFG_MALLOC_BASE; - mem_malloc_end = mem_malloc_start + CFG_MALLOC_LEN; + mem_malloc_start = CONFIG_SYS_MALLOC_BASE; + mem_malloc_end = mem_malloc_start + CONFIG_SYS_MALLOC_LEN; mem_malloc_brk = mem_malloc_start; memset ((void *) mem_malloc_start, 0, @@ -113,25 +113,25 @@ void board_init (void) int i; /* Pointer is writable since we allocated a register for it. - * Nios treats CFG_GBL_DATA_OFFSET as an address. + * Nios treats CONFIG_SYS_GBL_DATA_OFFSET as an address. */ - gd = (gd_t *)CFG_GBL_DATA_OFFSET; + gd = (gd_t *)CONFIG_SYS_GBL_DATA_OFFSET; /* compiler optimization barrier needed for GCC >= 3.4 */ __asm__ __volatile__("": : :"memory"); - memset( gd, 0, CFG_GBL_DATA_SIZE ); + memset( gd, 0, CONFIG_SYS_GBL_DATA_SIZE ); gd->bd = (bd_t *)(gd+1); /* At end of global data */ gd->baudrate = CONFIG_BAUDRATE; gd->cpu_clk = CONFIG_SYS_CLK_FREQ; bd = gd->bd; - bd->bi_memstart = CFG_SDRAM_BASE; - bd->bi_memsize = CFG_SDRAM_SIZE; - bd->bi_flashstart = CFG_FLASH_BASE; -#if defined(CFG_SRAM_BASE) && defined(CFG_SRAM_SIZE) - bd->bi_sramstart= CFG_SRAM_BASE; - bd->bi_sramsize = CFG_SRAM_SIZE; + bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; + bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; + bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; +#if defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE) + bd->bi_sramstart= CONFIG_SYS_SRAM_BASE; + bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE; #endif bd->bi_baudrate = CONFIG_BAUDRATE; @@ -190,3 +190,13 @@ void hang (void) puts("### ERROR ### Please reset board ###\n"); for (;;); } + +unsigned long do_go_exec (ulong (*entry)(int, char *[]), int argc, char *argv[]) +{ + /* + * x86 does not use a dedicated register to pass the pointer + * to the global_data + */ + argv[-1] = (char *)gd; + return entry (argc, argv); +}