diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2013-11-26 10:17:00 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2013-12-10 14:35:33 +0100 |
commit | 0644d1da7f547ba1b49ca95553ba65695ce9a3c3 (patch) | |
tree | 17088ff15ef3eb381bc989f6e863316699f828d5 /arch/arm/boards/tqma6x | |
parent | 509f62209907d6cc4c8d4b4e95aff91c7684f5db (diff) | |
download | barebox-0644d1da7f547ba1b49ca95553ba65695ce9a3c3.tar.gz barebox-0644d1da7f547ba1b49ca95553ba65695ce9a3c3.tar.xz |
ARM: Make ENTRY_FUNCTION more robust
An entry function should begin with a exception header. For this to work
properly the entry function should not contain any code which gcc might
put before the header. To make this sure change the ENTRY_FUNCTION macro
so that it generates one function which only contains the exception header
and a second function which contains the original body of the entry function.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/boards/tqma6x')
-rw-r--r-- | arch/arm/boards/tqma6x/lowlevel.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/arch/arm/boards/tqma6x/lowlevel.c b/arch/arm/boards/tqma6x/lowlevel.c index 8a16abba3a..a09a2f5671 100644 --- a/arch/arm/boards/tqma6x/lowlevel.c +++ b/arch/arm/boards/tqma6x/lowlevel.c @@ -41,12 +41,10 @@ static inline void setup_uart(void) extern char __dtb_imx6q_mba6x_start[]; extern char __dtb_imx6dl_mba6x_start[]; -ENTRY_FUNCTION(start_imx6q_mba6x)(void) +ENTRY_FUNCTION(start_imx6q_mba6x, r0, r1, r2) { uint32_t fdt; - __barebox_arm_head(); - arm_cpu_lowlevel_init(); arm_setup_stack(0x00920000 - 8); @@ -64,12 +62,10 @@ ENTRY_FUNCTION(start_imx6q_mba6x)(void) barebox_arm_entry(0x10000000, SZ_1G, fdt); } -ENTRY_FUNCTION(start_imx6dl_mba6x)(void) +ENTRY_FUNCTION(start_imx6dl_mba6x, r0, r1, r2) { uint32_t fdt; - __barebox_arm_head(); - arm_cpu_lowlevel_init(); arm_setup_stack(0x00920000 - 8); |