summaryrefslogtreecommitdiffstats
path: root/arch/arm/include
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2018-03-13 14:04:21 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2018-04-04 07:44:21 +0200
commit8bdd7a116b3dc3b04fa0ebb6799baf455182be8a (patch)
treea9a5ee177411ec68df7046b4a9192c511156af8d /arch/arm/include
parent95c1647246d5123b938cf47f9a9c7de8ac291b3c (diff)
downloadbarebox-8bdd7a116b3dc3b04fa0ebb6799baf455182be8a.tar.gz
barebox-8bdd7a116b3dc3b04fa0ebb6799baf455182be8a.tar.xz
ARM: aarch64: Add barebox head support
Allow aarch64 images to use the same image header as arm32 images. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/include')
-rw-r--r--arch/arm/include/asm/barebox-arm-head.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/include/asm/barebox-arm-head.h b/arch/arm/include/asm/barebox-arm-head.h
index bd9c9b1c4f..4d0da6c491 100644
--- a/arch/arm/include/asm/barebox-arm-head.h
+++ b/arch/arm/include/asm/barebox-arm-head.h
@@ -21,6 +21,7 @@ void cortex_a7_lowlevel_init(void);
static inline void __barebox_arm_head(void)
{
__asm__ __volatile__ (
+#ifdef CONFIG_CPU_32
#ifdef CONFIG_THUMB2_BAREBOX
".arm\n"
"adr r9, 1f + 1\n"
@@ -41,10 +42,22 @@ static inline void __barebox_arm_head(void)
"1: b 1b\n"
"1: b 1b\n"
#endif
+#else
+ "b 2f\n"
+ "nop\n"
+ "nop\n"
+ "nop\n"
+ "nop\n"
+ "nop\n"
+#endif
".asciz \"barebox\"\n"
+#ifdef CONFIG_CPU_32
".word _text\n" /* text base. If copied there,
* barebox can skip relocation
*/
+#else
+ ".word 0xffffffff\n"
+#endif
".word _barebox_image_size\n" /* image size to copy */
".rept 8\n"
".word 0x55555555\n"