The exception vector table will become part of the uncompressed image, so we can't reference them from the lowlevel init stuff anymore. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> --- arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c | 4 +--- arch/arm/boards/eukrea_cpuimx35/flash_header.c | 2 -- arch/arm/boards/freescale-mx25-3-stack/3stack.c | 4 +--- arch/arm/boards/freescale-mx35-3-stack/flash_header.c | 4 +--- arch/arm/boards/freescale-mx6-arm2/flash_header.c | 3 ++- arch/arm/boards/tqma53/flash_header.c | 3 ++- 6 files changed, 7 insertions(+), 13 deletions(-) diff --git a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c index 1b8f618..b3b0838 100644 --- a/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c +++ b/arch/arm/boards/eukrea_cpuimx25/eukrea_cpuimx25.c @@ -49,8 +49,6 @@ #include <mach/devices-imx25.h> #include <asm/barebox-arm-head.h> -extern void exception_vectors(void); - void __naked __flash_header_start go(void) { barebox_arm_head(); @@ -72,7 +70,7 @@ struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { }; struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = DEST_BASE + ((unsigned int)&exception_vectors - TEXT_BASE), + .app_code_jump_vector = DEST_BASE + 0x1000, .app_code_barker = APP_CODE_BARKER, .app_code_csf = 0, .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd), diff --git a/arch/arm/boards/eukrea_cpuimx35/flash_header.c b/arch/arm/boards/eukrea_cpuimx35/flash_header.c index a745442..26752d1 100644 --- a/arch/arm/boards/eukrea_cpuimx35/flash_header.c +++ b/arch/arm/boards/eukrea_cpuimx35/flash_header.c @@ -3,8 +3,6 @@ #include <mach/imx-regs.h> #include <asm/barebox-arm-head.h> -extern void exception_vectors(void); - void __naked __flash_header_start go(void) { barebox_arm_head(); diff --git a/arch/arm/boards/freescale-mx25-3-stack/3stack.c b/arch/arm/boards/freescale-mx25-3-stack/3stack.c index 323cd11..6b6146d 100644 --- a/arch/arm/boards/freescale-mx25-3-stack/3stack.c +++ b/arch/arm/boards/freescale-mx25-3-stack/3stack.c @@ -45,8 +45,6 @@ #include <mach/devices-imx25.h> #include <asm/barebox-arm-head.h> -extern void exception_vectors(void); - void __naked __flash_header_start go(void) { barebox_arm_head(); @@ -95,7 +93,7 @@ struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { }; struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = DEST_BASE + ((unsigned int)&exception_vectors - TEXT_BASE), + .app_code_jump_vector = DEST_BASE + 0x1000, .app_code_barker = APP_CODE_BARKER, .app_code_csf = 0, .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd), diff --git a/arch/arm/boards/freescale-mx35-3-stack/flash_header.c b/arch/arm/boards/freescale-mx35-3-stack/flash_header.c index 0786836..66763db 100644 --- a/arch/arm/boards/freescale-mx35-3-stack/flash_header.c +++ b/arch/arm/boards/freescale-mx35-3-stack/flash_header.c @@ -3,8 +3,6 @@ #include <mach/imx-regs.h> #include <asm/barebox-arm-head.h> -extern void exception_vectors(void); - void __naked __flash_header_start go(void) { barebox_arm_head(); @@ -59,7 +57,7 @@ struct imx_dcd_entry __dcd_entry_section dcd_entry[] = { struct imx_flash_header __flash_header_section flash_header = { - .app_code_jump_vector = DEST_BASE + ((unsigned int)&exception_vectors - TEXT_BASE), + .app_code_jump_vector = DEST_BASE + 0x1000, .app_code_barker = APP_CODE_BARKER, .app_code_csf = 0, .dcd_ptr_ptr = FLASH_HEADER_BASE + offsetof(struct imx_flash_header, dcd), diff --git a/arch/arm/boards/freescale-mx6-arm2/flash_header.c b/arch/arm/boards/freescale-mx6-arm2/flash_header.c index 79f3113..69d9cfa 100644 --- a/arch/arm/boards/freescale-mx6-arm2/flash_header.c +++ b/arch/arm/boards/freescale-mx6-arm2/flash_header.c @@ -15,12 +15,13 @@ #include <common.h> #include <asm/byteorder.h> +#include <asm/barebox-arm-head.h> #include <mach/imx-flash-header.h> #include <mach/imx6-regs.h> void __naked __flash_header_start go(void) { - __asm__ __volatile__("b exception_vectors\n"); + barebox_arm_head(); } #define DCD(a, v) { .addr = cpu_to_be32(a), .val = cpu_to_be32(v), } diff --git a/arch/arm/boards/tqma53/flash_header.c b/arch/arm/boards/tqma53/flash_header.c index f5e817c..d912b38 100644 --- a/arch/arm/boards/tqma53/flash_header.c +++ b/arch/arm/boards/tqma53/flash_header.c @@ -15,11 +15,12 @@ #include <common.h> #include <asm/byteorder.h> +#include <asm/barebox-arm-head.h> #include <mach/imx-flash-header.h> void __naked __flash_header_start go(void) { - __asm__ __volatile__("b exception_vectors\n"); + barebox_arm_head(); } struct imx_dcd_v2_entry __dcd_entry_section dcd_entry[] = { -- 1.7.10.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox