diff options
Diffstat (limited to 'arch/arm/include/asm/barebox-arm-head.h')
-rw-r--r-- | arch/arm/include/asm/barebox-arm-head.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/include/asm/barebox-arm-head.h b/arch/arm/include/asm/barebox-arm-head.h index fdbee8cdda..0dc3074a27 100644 --- a/arch/arm/include/asm/barebox-arm-head.h +++ b/arch/arm/include/asm/barebox-arm-head.h @@ -4,6 +4,17 @@ static inline void barebox_arm_head(void) { __asm__ __volatile__ ( +#ifdef CONFIG_THUMB2_BAREBOX + ".arm\n" + "adr r9, 1f + 1\n" + "bx r9\n" + ".thumb\n" + "1:\n" + "bl reset\n" + ".rept 10\n" + "1: b 1b\n" + ".endr\n" +#else "b reset\n" "1: b 1b\n" "1: b 1b\n" @@ -12,6 +23,7 @@ static inline void barebox_arm_head(void) "1: b 1b\n" "1: b 1b\n" "1: b 1b\n" +#endif ".word 0x65726162\n" /* 'bare' */ ".word 0x00786f62\n" /* 'box' */ ".word _text\n" /* text base. If copied there, |