Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0+ */
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)