Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 
0003 #ifndef __ASM_CSKY_UPROBES_H
0004 #define __ASM_CSKY_UPROBES_H
0005 
0006 #include <asm/probes.h>
0007 
0008 #define MAX_UINSN_BYTES     4
0009 
0010 #define UPROBE_SWBP_INSN    USR_BKPT
0011 #define UPROBE_SWBP_INSN_SIZE   2
0012 #define UPROBE_XOL_SLOT_BYTES   MAX_UINSN_BYTES
0013 
0014 typedef u32 uprobe_opcode_t;
0015 
0016 struct arch_uprobe_task {
0017     unsigned long   saved_trap_no;
0018 };
0019 
0020 struct arch_uprobe {
0021     union {
0022         u8 insn[MAX_UINSN_BYTES];
0023         u8 ixol[MAX_UINSN_BYTES];
0024     };
0025     struct arch_probe_insn api;
0026     unsigned long insn_size;
0027     bool simulate;
0028 };
0029 
0030 int uprobe_breakpoint_handler(struct pt_regs *regs);
0031 int uprobe_single_step_handler(struct pt_regs *regs);
0032 
0033 #endif /* __ASM_CSKY_UPROBES_H */