summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@c-s.fr>2018-10-19 06:55:04 +0000
committerMichael Ellerman <mpe@ellerman.id.au>2018-10-26 21:58:58 +1100
commit082e2869fc022de4db9977e06558da78384ea98c (patch)
tree077a560066417e1d08a05ad3b25d0da1ef12f454 /arch
parentcc4ebf5c0a3440ed0a32d25c55ebdb6ce5f3c0bc (diff)
downloadlinux-082e2869fc022de4db9977e06558da78384ea98c.tar.gz
linux-082e2869fc022de4db9977e06558da78384ea98c.tar.bz2
linux-082e2869fc022de4db9977e06558da78384ea98c.zip
powerpc/code-patching: Add a helper to get the address of a patch_site
This patch adds a helper to get the address of a patch_site. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> [mpe: Call it "patch site" addr] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/include/asm/code-patching.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/code-patching.h b/arch/powerpc/include/asm/code-patching.h
index 31733a95bbd0..3d5acd2b113a 100644
--- a/arch/powerpc/include/asm/code-patching.h
+++ b/arch/powerpc/include/asm/code-patching.h
@@ -36,6 +36,11 @@ int raw_patch_instruction(unsigned int *addr, unsigned int instr);
int patch_instruction_site(s32 *addr, unsigned int instr);
int patch_branch_site(s32 *site, unsigned long target, int flags);
+static inline unsigned long patch_site_addr(s32 *site)
+{
+ return (unsigned long)site + *site;
+}
+
int instr_is_relative_branch(unsigned int instr);
int instr_is_relative_link_branch(unsigned int instr);
int instr_is_branch_to_addr(const unsigned int *instr, unsigned long addr);