[PATCH 4/9] ARM: remove exception vectors from boards
Sascha Hauer
s.hauer at pengutronix.de
Thu Jul 19 04:12:57 EDT 2012
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 at pengutronix.de>
---
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
More information about the barebox
mailing list