0001
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