diff options
Diffstat (limited to 'arch/arm64/include/asm/debug-monitors.h')
-rw-r--r-- | arch/arm64/include/asm/debug-monitors.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/debug-monitors.h b/arch/arm64/include/asm/debug-monitors.h index a2232d07be9d..62314791570c 100644 --- a/arch/arm64/include/asm/debug-monitors.h +++ b/arch/arm64/include/asm/debug-monitors.h | |||
@@ -62,6 +62,27 @@ struct task_struct; | |||
62 | 62 | ||
63 | #define DBG_ARCH_ID_RESERVED 0 /* In case of ptrace ABI updates. */ | 63 | #define DBG_ARCH_ID_RESERVED 0 /* In case of ptrace ABI updates. */ |
64 | 64 | ||
65 | #define DBG_HOOK_HANDLED 0 | ||
66 | #define DBG_HOOK_ERROR 1 | ||
67 | |||
68 | struct step_hook { | ||
69 | struct list_head node; | ||
70 | int (*fn)(struct pt_regs *regs, unsigned int esr); | ||
71 | }; | ||
72 | |||
73 | void register_step_hook(struct step_hook *hook); | ||
74 | void unregister_step_hook(struct step_hook *hook); | ||
75 | |||
76 | struct break_hook { | ||
77 | struct list_head node; | ||
78 | u32 esr_val; | ||
79 | u32 esr_mask; | ||
80 | int (*fn)(struct pt_regs *regs, unsigned int esr); | ||
81 | }; | ||
82 | |||
83 | void register_break_hook(struct break_hook *hook); | ||
84 | void unregister_break_hook(struct break_hook *hook); | ||
85 | |||
65 | u8 debug_monitors_arch(void); | 86 | u8 debug_monitors_arch(void); |
66 | 87 | ||
67 | void enable_debug_monitors(enum debug_el el); | 88 | void enable_debug_monitors(enum debug_el el); |