diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2017-07-08 00:06:21 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2017-09-06 14:40:40 +0200 |
commit | a7cb0daf5772dfdfd76a4c4505d2c855e20c6451 (patch) | |
tree | f2486c9fabe88b3a90fff70f34ee07e7c54a383b /arch | |
parent | c854c4de8f3a112ae802998c3b1fd22f2c12ffb5 (diff) | |
download | barebox-a7cb0daf5772dfdfd76a4c4505d2c855e20c6451.tar.gz barebox-a7cb0daf5772dfdfd76a4c4505d2c855e20c6451.tar.xz |
at91: sync mach/barebox-arm-head.h
From 308f9f62554feaffaf3e2a0c7203e57b6fde8abc Mon Sep 17 00:00:00 2001
From: Sam Ravnborg <sam@ravnborg.org>
Date: Fri, 7 Jul 2017 17:53:59 +0200
Subject: [PATCH 1/2] at91: sync mach/barebox-arm-head.h
To prepare for multi image support synch the barebox-arm-head.h
header with the arm version.
This include the reservation of a small area for board specific use
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-at91/include/mach/barebox-arm-head.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/arch/arm/mach-at91/include/mach/barebox-arm-head.h b/arch/arm/mach-at91/include/mach/barebox-arm-head.h index d4bb96f634..e0e07500a2 100644 --- a/arch/arm/mach-at91/include/mach/barebox-arm-head.h +++ b/arch/arm/mach-at91/include/mach/barebox-arm-head.h @@ -7,13 +7,13 @@ #define AT91_EXV6 ".word _barebox_bare_init_size\n" #endif -static inline void barebox_arm_head(void) +static inline void __barebox_arm_head(void) { __asm__ __volatile__ ( #ifdef CONFIG_THUMB2_BAREBOX #error Thumb2 is not supported #else - "b barebox_arm_reset_vector\n" + "b 2f\n" "1: b 1b\n" "1: b 1b\n" "1: b 1b\n" @@ -27,7 +27,19 @@ static inline void barebox_arm_head(void) * barebox can skip relocation */ ".word _barebox_image_size\n" /* image size to copy */ + ".rept 8\n" + ".word 0x55555555\n" + ".endr\n" + "2:\n" + ); +} + +static inline void barebox_arm_head(void) +{ + __barebox_arm_head(); + __asm__ __volatile__ ( + "b barebox_arm_reset_vector\n" ); } -#endif /* __ASM_ARM_HEAD_H */ +#endif /* __MACH_ARM_HEAD_H */ |