diff options
author | Wolfgang Denk <wd@denx.de> | 2010-09-28 23:30:47 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2010-09-28 23:30:47 +0200 |
commit | 2e6e1772c0e34871769be4aef79748fe3e47d953 (patch) | |
tree | 00e4e19d7bccd2a1cd5753854ff4c2b8a26bebb0 /arch/avr32/lib/board.c | |
parent | 1e4e5ef0469050f014aee1204dae8a9ab6053e49 (diff) | |
parent | 3df61957938586c512c17e72d83551d190400981 (diff) |
Merge branch 'next' of /home/wd/git/u-boot/next
Conflicts:
include/ppc4xx.h
Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'arch/avr32/lib/board.c')
-rw-r--r-- | arch/avr32/lib/board.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/arch/avr32/lib/board.c b/arch/avr32/lib/board.c index aa589bb4b00..e6b81cca736 100644 --- a/arch/avr32/lib/board.c +++ b/arch/avr32/lib/board.c @@ -273,30 +273,13 @@ void board_init_r(gd_t *new_gd, ulong dest_addr) monitor_flash_len = _edata - _text; +#if !defined(CONFIG_RELOC_FIXUP_WORKS) /* * We have to relocate the command table manually */ - for (cmdtp = &__u_boot_cmd_start; - cmdtp != &__u_boot_cmd_end; cmdtp++) { - unsigned long addr; - - addr = (unsigned long)cmdtp->cmd + gd->reloc_off; - cmdtp->cmd = (typeof(cmdtp->cmd))addr; - - addr = (unsigned long)cmdtp->name + gd->reloc_off; - cmdtp->name = (typeof(cmdtp->name))addr; - - if (cmdtp->usage) { - addr = (unsigned long)cmdtp->usage + gd->reloc_off; - cmdtp->usage = (typeof(cmdtp->usage))addr; - } -#ifdef CONFIG_SYS_LONGHELP - if (cmdtp->help) { - addr = (unsigned long)cmdtp->help + gd->reloc_off; - cmdtp->help = (typeof(cmdtp->help))addr; - } -#endif - } + fixup_cmdtable(&__u_boot_cmd_start, + (ulong)(&__u_boot_cmd_end - &__u_boot_cmd_start)); +#endif /* !defined(CONFIG_RELOC_FIXUP_WORKS) */ /* there are some other pointer constants we must deal with */ #ifndef CONFIG_ENV_IS_NOWHERE |