[PATCH 1/1] ARM: compressed/head.S: fix __nop macro rept number for ARMv7M
patrice.chotard at st.com
patrice.chotard at st.com
Tue Apr 25 05:01:33 EDT 2017
From: Patrice Chotard <patrice.chotard at st.com>
In zImage, _magic_sig is located at offset 0x24.
But for ARMv7M architecture which enable CPU_THUMBONLY
and !EFI_STUB kernel flag, _magic_sig is located at offset 0x14
00000000 00 46 00 46 00 46 00 46 00 46 00 46 00 46 0f f2 |.F.F.F.F.F.F.F.ò|
00000010 15 0c 60 47 18 28 6f 01 00 00 00 00 28 5c 0e 00 |..`G.(o.....(\..|
00000020 01 02 03 04 0f 46 90 46 00 00 00 00 00 00 00 00 |.....F.F........|
Reproduced with stm32_defconfig with XIP_KERNEL flag disabled.
To restore correct _magic_sig offset at 0x24, we add 8 additional
"mov r0, r0" instruction.
Signed-off-by: Patrice Chotard <patrice.chotard at st.com>
---
arch/arm/boot/compressed/head.S | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 9150f97..5d9cda3 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -127,7 +127,8 @@
AR_CLASS( .arm )
start:
.type start,#function
- .rept 7
+ ARM( .rept 7)
+ THUMB( .rept 15)
__nop
.endr
ARM( mov r0, r0 )
--
1.9.1
More information about the linux-arm-kernel
mailing list