ARM: 8894/1: boot: Replace open-coded nop with macro
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 16 Jul 2019 11:33:14 +0000 (12:33 +0100)
committerRussell King <rmk+kernel@armlinux.org.uk>
Fri, 23 Aug 2019 10:39:30 +0000 (11:39 +0100)
This open-coded nop as mov r0, r0 is a development history
artifact.

First commit b11fe38883d1
("ARM: 6663/1: make Thumb2 kernel entry point more similar
to the ARM one") moved the code around so that the nops
would come before the conditional thumb instructions, as it
turned out that some boot loaders were patching the initial
nop instructions in the kernel. At this point it is clear
that all mov r0,r0 are open-coded nops.

Then commit 81a0bc39ea19 ("ARM: add UEFI stub support")
moved things around and defined __nop for EFI support and
missed this open-coded nop.

commit 06a4b6d009a1
("ARM: 8677/1: boot/compressed: fix decompressor header
layout for v7-M") makes all invocations of __nop be wide,
but that is fine, because this is what we want: the
mov r0,r0 is inside ifndef CONFIG_THUMB2_KERNEL.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Nicolas Pitre <nico@fluxnic.net>
Acked-by: Roy Franz <rfranz@marvell.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/boot/compressed/head.S

index 544450c..93dffed 100644 (file)
@@ -169,7 +169,7 @@ start:
                __nop
                .endr
 #ifndef CONFIG_THUMB2_KERNEL
-               mov     r0, r0
+               __nop
 #else
  AR_CLASS(     sub     pc, pc, #3      )       @ A/R: switch to Thumb2 mode
   M_CLASS(     nop.w                   )       @ M: already in Thumb2 mode