diff options
author | Michael Ellerman <michael@ellerman.id.au> | 2008-06-23 21:32:29 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-06-30 21:28:21 -0400 |
commit | 411781a290b0d0a31fd73826b3ee110f1e3cc3b6 (patch) | |
tree | 4a5eb482d99916c17f19a013b52cf808161f32ea /include/asm-powerpc/code-patching.h | |
parent | 07630a37beefe8e4401c602f04e3e5bcbba50b31 (diff) |
powerpc: Add new code patching routines
This commit adds some new routines for patching code, which will be used
in a following commit.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/code-patching.h')
-rw-r--r-- | include/asm-powerpc/code-patching.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-powerpc/code-patching.h b/include/asm-powerpc/code-patching.h index a45a7ff78725..40ad46b1dd9d 100644 --- a/include/asm-powerpc/code-patching.h +++ b/include/asm-powerpc/code-patching.h | |||
@@ -23,9 +23,17 @@ | |||
23 | 23 | ||
24 | unsigned int create_branch(const unsigned int *addr, | 24 | unsigned int create_branch(const unsigned int *addr, |
25 | unsigned long target, int flags); | 25 | unsigned long target, int flags); |
26 | unsigned int create_cond_branch(const unsigned int *addr, | ||
27 | unsigned long target, int flags); | ||
26 | void patch_branch(unsigned int *addr, unsigned long target, int flags); | 28 | void patch_branch(unsigned int *addr, unsigned long target, int flags); |
27 | void patch_instruction(unsigned int *addr, unsigned int instr); | 29 | void patch_instruction(unsigned int *addr, unsigned int instr); |
28 | 30 | ||
31 | int instr_is_relative_branch(unsigned int instr); | ||
32 | int instr_is_branch_to_addr(const unsigned int *instr, unsigned long addr); | ||
33 | unsigned long branch_target(const unsigned int *instr); | ||
34 | unsigned int translate_branch(const unsigned int *dest, | ||
35 | const unsigned int *src); | ||
36 | |||
29 | static inline unsigned long ppc_function_entry(void *func) | 37 | static inline unsigned long ppc_function_entry(void *func) |
30 | { | 38 | { |
31 | #ifdef CONFIG_PPC64 | 39 | #ifdef CONFIG_PPC64 |