diff options
author | Julien Thierry <jthierry@redhat.com> | 2021-03-03 18:05:29 +0100 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2021-05-27 17:37:25 +0100 |
commit | 5f154c4e20d7edd38bddec78f3e0a7628057ef76 (patch) | |
tree | 2e5fd4d618b2acd02946c265e07a6ee5fb3e4f4d /arch/arm64/include/asm/insn.h | |
parent | c4681547bcce777daf576925a966ffa824edd09d (diff) | |
download | linux-stable-5f154c4e20d7edd38bddec78f3e0a7628057ef76.tar.gz linux-stable-5f154c4e20d7edd38bddec78f3e0a7628057ef76.tar.bz2 linux-stable-5f154c4e20d7edd38bddec78f3e0a7628057ef76.zip |
arm64: Move patching utilities out of instruction encoding/decoding
Files insn.[c|h] containt some functions used for instruction patching.
In order to reuse the instruction encoder/decoder, move the patching
utilities to their own file.
Signed-off-by: Julien Thierry <jthierry@redhat.com>
Link: https://lore.kernel.org/r/20210303170536.1838032-2-jthierry@redhat.com
[will: Include patching.h in insn.h to fix header mess; add __ASSEMBLY__ guards]
Signed-off-by: Will Deacon <will@kernel.org>
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/arm64/include/asm/insn.h')
-rw-r--r-- | arch/arm64/include/asm/insn.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/arm64/include/asm/insn.h b/arch/arm64/include/asm/insn.h index 4ebb9c054ccc..f08579e5119e 100644 --- a/arch/arm64/include/asm/insn.h +++ b/arch/arm64/include/asm/insn.h @@ -11,6 +11,7 @@ #include <linux/types.h> #include <asm/alternative.h> +#include <asm/patching.h> #ifndef __ASSEMBLY__ /* @@ -379,8 +380,6 @@ static inline bool aarch64_insn_is_adr_adrp(u32 insn) return aarch64_insn_is_adr(insn) || aarch64_insn_is_adrp(insn); } -int aarch64_insn_read(void *addr, u32 *insnp); -int aarch64_insn_write(void *addr, u32 insn); enum aarch64_insn_encoding_class aarch64_get_insn_class(u32 insn); bool aarch64_insn_uses_literal(u32 insn); bool aarch64_insn_is_branch(u32 insn); @@ -487,9 +486,6 @@ u32 aarch64_insn_gen_prefetch(enum aarch64_insn_register base, s32 aarch64_get_branch_offset(u32 insn); u32 aarch64_set_branch_offset(u32 insn, s32 offset); -int aarch64_insn_patch_text_nosync(void *addr, u32 insn); -int aarch64_insn_patch_text(void *addrs[], u32 insns[], int cnt); - s32 aarch64_insn_adrp_get_offset(u32 insn); u32 aarch64_insn_adrp_set_offset(u32 insn, s32 offset); |