@@ -569,6 +569,16 @@ static int initr_status_led(void)
}
#endif
+#if defined(CONFIG_NEEDS_MANUAL_RELOC)
+static int initr_cmdtable_reloc(void)
+{
+ /* We have to relocate the command table manually */
+ fixup_cmdtable( ll_entry_start(cmd_tbl_t, cmd),
+ ll_entry_count(cmd_tbl_t, cmd) );
+ return 0;
+}
+#endif
+
#if defined(CONFIG_CMD_AMBAPP) && defined(CONFIG_SYS_AMBAPP_PRINT_ON_STARTUP)
extern int do_ambapp_print(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]);
@@ -872,6 +882,9 @@ init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_BOARD_LATE_INIT
board_late_init,
#endif
+#if defined(CONFIG_NEEDS_MANUAL_RELOC)
+ initr_cmdtable_reloc,
+#endif
#if defined(CONFIG_CMD_AMBAPP)
ambapp_init_reloc,
#if defined(CONFIG_SYS_AMBAPP_PRINT_ON_STARTUP)
Add a function to fixup the command tables to board_init_r.c file when the CONFIG_NEEDS_MANUAL_RELOC variable has been defined. This is used by the SPARC, AVR32, NDS32 and M68K architectures. Signed-off-by: Francois Retief <fgretief@spaceteq.co.za> --- Changes in v2: - Add patch to relocate the command tables common/board_r.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) -- 1.9.3