0001
0002
0003 #include <linux/linkage.h>
0004 #include <asm/ftrace.h>
0005
0006 #define KPROBES_TARGET_START(name) \
0007 SYM_FUNC_START(name); \
0008 FTRACE_GEN_NOP_ASM(name)
0009
0010 #define KPROBES_TARGET_END(name) \
0011 SYM_FUNC_END(name); \
0012 SYM_DATA(name##_offs, .quad 1b - name)
0013
0014 KPROBES_TARGET_START(kprobes_target_in_insn4)
0015 .word 0x4700 // bc 0,0
0016 1: .word 0x0000
0017 br %r14
0018 KPROBES_TARGET_END(kprobes_target_in_insn4)
0019
0020 KPROBES_TARGET_START(kprobes_target_in_insn6_lo)
0021 .word 0xe310 // ly 1,0
0022 1: .word 0x0000
0023 .word 0x0058
0024 br %r14
0025 KPROBES_TARGET_END(kprobes_target_in_insn6_lo)
0026
0027 KPROBES_TARGET_START(kprobes_target_in_insn6_hi)
0028 .word 0xe310 // ly 1,0
0029 .word 0x0000
0030 1: .word 0x0058
0031 br %r14
0032 KPROBES_TARGET_END(kprobes_target_in_insn6_hi)
0033
0034 KPROBES_TARGET_START(kprobes_target_bp)
0035 nop
0036 .word 0x0000
0037 nop
0038 1: br %r14
0039 KPROBES_TARGET_END(kprobes_target_bp)
0040
0041 KPROBES_TARGET_START(kprobes_target_odd)
0042 .byte 0x07
0043 1: .byte 0x07
0044 br %r14
0045 KPROBES_TARGET_END(kprobes_target_odd)