test_kprobes_asm.S 972 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. #include <linux/linkage.h>
  3. #include <asm/ftrace.h>
  4. #define KPROBES_TARGET_START(name) \
  5. SYM_FUNC_START(name); \
  6. FTRACE_GEN_NOP_ASM(name)
  7. #define KPROBES_TARGET_END(name) \
  8. SYM_FUNC_END(name); \
  9. SYM_DATA(name##_offs, .quad 1b - name)
  10. KPROBES_TARGET_START(kprobes_target_in_insn4)
  11. .word 0x4700 // bc 0,0
  12. 1: .word 0x0000
  13. br %r14
  14. KPROBES_TARGET_END(kprobes_target_in_insn4)
  15. KPROBES_TARGET_START(kprobes_target_in_insn6_lo)
  16. .word 0xe310 // ly 1,0
  17. 1: .word 0x0000
  18. .word 0x0058
  19. br %r14
  20. KPROBES_TARGET_END(kprobes_target_in_insn6_lo)
  21. KPROBES_TARGET_START(kprobes_target_in_insn6_hi)
  22. .word 0xe310 // ly 1,0
  23. .word 0x0000
  24. 1: .word 0x0058
  25. br %r14
  26. KPROBES_TARGET_END(kprobes_target_in_insn6_hi)
  27. KPROBES_TARGET_START(kprobes_target_bp)
  28. nop
  29. .word 0x0000
  30. nop
  31. 1: br %r14
  32. KPROBES_TARGET_END(kprobes_target_bp)
  33. KPROBES_TARGET_START(kprobes_target_odd)
  34. .byte 0x07
  35. 1: .byte 0x07
  36. br %r14
  37. KPROBES_TARGET_END(kprobes_target_odd)