arm64: insn: add encoder for MOV (register)
authorMark Rutland <mark.rutland@arm.com>
Fri, 18 Oct 2019 10:25:26 +0000 (11:25 +0100)
committerMark Rutland <mark.rutland@arm.com>
Wed, 6 Nov 2019 14:17:33 +0000 (14:17 +0000)
commite3bf8a67f759b498e09999804c3837688e03b304
treee583d141d8a368e06641e2550fd5aac1d9d21769
parentf1a54ae9af0da4d76239256ed640a93ab3aadac0
arm64: insn: add encoder for MOV (register)

For FTRACE_WITH_REGS, we're going to want to generate a MOV (register)
instruction as part of the callsite intialization. As MOV (register) is
an alias for ORR (shifted register), we can generate this with
aarch64_insn_gen_logical_shifted_reg(), but it's somewhat verbose and
difficult to read in-context.

Add a aarch64_insn_gen_move_reg() wrapper for this case so that we can
write callers in a more straightforward way.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Torsten Duwe <duwe@suse.de>
Tested-by: Amit Daniel Kachhap <amit.kachhap@arm.com>
Tested-by: Torsten Duwe <duwe@suse.de>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
arch/arm64/include/asm/insn.h
arch/arm64/kernel/insn.c