diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/board_f.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/common/board_f.c b/common/board_f.c index f5054985d0..8bf9acca48 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -644,13 +644,16 @@ static int setup_reloc(void) } #ifdef CONFIG_SYS_TEXT_BASE - gd->reloc_off = gd->relocaddr - CONFIG_SYS_TEXT_BASE; -#ifdef CONFIG_M68K +#ifdef ARM + gd->reloc_off = gd->relocaddr - (unsigned long)__image_copy_start; +#elif defined(CONFIG_M68K) /* * On all ColdFire arch cpu, monitor code starts always * just after the default vector table location, so at 0x400 */ gd->reloc_off = gd->relocaddr - (CONFIG_SYS_TEXT_BASE + 0x400); +#else + gd->reloc_off = gd->relocaddr - CONFIG_SYS_TEXT_BASE; #endif #endif memcpy(gd->new_gd, (char *)gd, sizeof(gd_t)); |