diff --git a/arch/nios2/cpu/start.S b/arch/nios2/cpu/start.S index 42520d7..41f65ff 100644 --- a/arch/nios2/cpu/start.S +++ b/arch/nios2/cpu/start.S @@ -150,8 +150,8 @@ /* * Call board_init -- never returns */ - movhi r4, %hi(start_barebox@h) - ori r4, r4, %lo(start_barebox@h) + movhi r4, %hi(nios_start_barebox@h) + ori r4, r4, %lo(nios_start_barebox@h) callr r4 /* NEVER RETURNS -- but branch to the _start just diff --git a/arch/nios2/lib/board.c b/arch/nios2/lib/board.c index 624a4f8..7c4dc76 100644 --- a/arch/nios2/lib/board.c +++ b/arch/nios2/lib/board.c @@ -18,23 +18,19 @@ #include #include -#include #include #include #include -int altera_mem_malloc_init(void) +void __noreturn nios_start_barebox(void) { mem_malloc_init((void *)(NIOS_SOPC_TEXT_BASE - MALLOC_SIZE), (void *)(NIOS_SOPC_TEXT_BASE - 1)); - return 0; + start_barebox(); } -core_initcall(altera_mem_malloc_init); - void arch_shutdown(void) { } -