aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Leroy <[email protected]>2018-10-19 06:55:04 +0000
committerMichael Ellerman <[email protected]>2018-10-26 21:58:58 +1100
commit082e2869fc022de4db9977e06558da78384ea98c (patch)
tree077a560066417e1d08a05ad3b25d0da1ef12f454
parentcc4ebf5c0a3440ed0a32d25c55ebdb6ce5f3c0bc (diff)
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 <[email protected]> [mpe: Call it "patch site" addr] Signed-off-by: Michael Ellerman <[email protected]>
-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);