uprobes.h 669 B

123456789101112131415161718192021222324252627282930313233
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. #ifndef __ASM_CSKY_UPROBES_H
  3. #define __ASM_CSKY_UPROBES_H
  4. #include <asm/probes.h>
  5. #define MAX_UINSN_BYTES 4
  6. #define UPROBE_SWBP_INSN USR_BKPT
  7. #define UPROBE_SWBP_INSN_SIZE 2
  8. #define UPROBE_XOL_SLOT_BYTES MAX_UINSN_BYTES
  9. typedef u32 uprobe_opcode_t;
  10. struct arch_uprobe_task {
  11. unsigned long saved_trap_no;
  12. };
  13. struct arch_uprobe {
  14. union {
  15. u8 insn[MAX_UINSN_BYTES];
  16. u8 ixol[MAX_UINSN_BYTES];
  17. };
  18. struct arch_probe_insn api;
  19. unsigned long insn_size;
  20. bool simulate;
  21. };
  22. int uprobe_breakpoint_handler(struct pt_regs *regs);
  23. int uprobe_single_step_handler(struct pt_regs *regs);
  24. #endif /* __ASM_CSKY_UPROBES_H */