1 /* SPDX-License-Identifier: GPL-2.0 */
5 #include <linux/list.h>
11 struct list_head node
;
16 int (*fn
)(struct pt_regs
*regs
, unsigned int instr
);
19 void register_undef_hook(struct undef_hook
*hook
);
20 void unregister_undef_hook(struct undef_hook
*hook
);
22 static inline int __in_irqentry_text(unsigned long ptr
)
24 extern char __irqentry_text_start
[];
25 extern char __irqentry_text_end
[];
27 return ptr
>= (unsigned long)&__irqentry_text_start
&&
28 ptr
< (unsigned long)&__irqentry_text_end
;
31 static inline int in_exception_text(unsigned long ptr
)
33 extern char __exception_text_start
[];
34 extern char __exception_text_end
[];
37 in
= ptr
>= (unsigned long)&__exception_text_start
&&
38 ptr
< (unsigned long)&__exception_text_end
;
40 return in
? : __in_irqentry_text(ptr
);
43 extern void __init
early_trap_init(void *);
44 extern void dump_backtrace_entry(unsigned long where
, unsigned long from
, unsigned long frame
);
45 extern void ptrace_break(struct task_struct
*tsk
, struct pt_regs
*regs
);
47 extern void *vectors_page
;