summaryrefslogtreecommitdiff
path: root/arch/arm/kernel/relocate_kernel.S
diff options
context:
space:
mode:
authorStefan Agner <stefan@agner.ch>2020-02-21 23:35:08 +0100
committerRussell King <rmk+kernel@armlinux.org.uk>2020-03-12 11:29:02 +0000
commit91274f962e942c23c97ba7e4c7fa04277c533a45 (patch)
treec6dc51f392fab8a601c396c7680f0e2297e062fd /arch/arm/kernel/relocate_kernel.S
parent3c14fe70be3ed2224f8bbd70506dbf0c8a17de02 (diff)
ARM: 8962/1: kexec: drop invalid assembly argument
The tst menomic has only a single #<const> argument in Thumb mode. There is an ARM variant which allows to write #<const> as #<byte>, #<rot> which probably is where the current syntax comes from. It seems that binutils does not care about the additional parameter. Clang however complains in Thumb2 mode: arch/arm/kernel/relocate_kernel.S:28:12: error: too many operands for instruction tst r3,#1,0 ^ Drop the unnecessary parameter. This fixes building this file in Thumb2 mode with the Clang integrated assembler. Link: https://github.com/ClangBuiltLinux/linux/issues/770 Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/kernel/relocate_kernel.S')
-rw-r--r--arch/arm/kernel/relocate_kernel.S8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arm/kernel/relocate_kernel.S b/arch/arm/kernel/relocate_kernel.S
index 7eaa2ae7aff5..72a08786e16e 100644
--- a/arch/arm/kernel/relocate_kernel.S
+++ b/arch/arm/kernel/relocate_kernel.S
@@ -25,26 +25,26 @@ ENTRY(relocate_new_kernel)
ldr r3, [r0],#4
/* Is it a destination page. Put destination address to r4 */
- tst r3,#1,0
+ tst r3,#1
beq 1f
bic r4,r3,#1
b 0b
1:
/* Is it an indirection page */
- tst r3,#2,0
+ tst r3,#2
beq 1f
bic r0,r3,#2
b 0b
1:
/* are we done ? */
- tst r3,#4,0
+ tst r3,#4
beq 1f
b 2f
1:
/* is it source ? */
- tst r3,#8,0
+ tst r3,#8
beq 0b
bic r3,r3,#8
mov r6,#1024