| /* SPDX-License-Identifier: GPL-2.0+ */ |
| |
| #include <linux/linkage.h> |
| #include <asm/ftrace.h> |
| |
| #define KPROBES_TARGET_START(name) \ |
| SYM_FUNC_START(name); \ |
| FTRACE_GEN_NOP_ASM(name) |
| |
| #define KPROBES_TARGET_END(name) \ |
| SYM_FUNC_END(name); \ |
| SYM_DATA(name##_offs, .quad 1b - name) |
| |
| KPROBES_TARGET_START(kprobes_target_in_insn4) |
| .word 0x4700 // bc 0,0 |
| 1: .word 0x0000 |
| br %r14 |
| KPROBES_TARGET_END(kprobes_target_in_insn4) |
| |
| KPROBES_TARGET_START(kprobes_target_in_insn6_lo) |
| .word 0xe310 // ly 1,0 |
| 1: .word 0x0000 |
| .word 0x0058 |
| br %r14 |
| KPROBES_TARGET_END(kprobes_target_in_insn6_lo) |
| |
| KPROBES_TARGET_START(kprobes_target_in_insn6_hi) |
| .word 0xe310 // ly 1,0 |
| .word 0x0000 |
| 1: .word 0x0058 |
| br %r14 |
| KPROBES_TARGET_END(kprobes_target_in_insn6_hi) |
| |
| KPROBES_TARGET_START(kprobes_target_bp) |
| nop |
| .word 0x0000 |
| nop |
| 1: br %r14 |
| KPROBES_TARGET_END(kprobes_target_bp) |
| |
| KPROBES_TARGET_START(kprobes_target_odd) |
| .byte 0x07 |
| 1: .byte 0x07 |
| br %r14 |
| KPROBES_TARGET_END(kprobes_target_odd) |