1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #ifndef _ASM_X86_KDEBUG_H |
3 | #define _ASM_X86_KDEBUG_H |
4 | |
5 | #include <linux/notifier.h> |
6 | |
7 | struct pt_regs; |
8 | |
9 | /* Grossly misnamed. */ |
10 | enum die_val { |
11 | DIE_OOPS = 1, |
12 | DIE_INT3, |
13 | DIE_DEBUG, |
14 | DIE_PANIC, |
15 | DIE_NMI, |
16 | DIE_DIE, |
17 | DIE_KERNELDEBUG, |
18 | DIE_TRAP, |
19 | DIE_GPF, |
20 | DIE_CALL, |
21 | DIE_PAGE_FAULT, |
22 | DIE_NMIUNKNOWN, |
23 | }; |
24 | |
25 | enum show_regs_mode { |
26 | SHOW_REGS_SHORT, |
27 | /* |
28 | * For when userspace crashed, but we don't think it's our fault, and |
29 | * therefore don't print kernel registers. |
30 | */ |
31 | SHOW_REGS_USER, |
32 | SHOW_REGS_ALL |
33 | }; |
34 | |
35 | extern void die(const char *, struct pt_regs *,long); |
36 | void die_addr(const char *str, struct pt_regs *regs, long err, long gp_addr); |
37 | extern int __must_check __die(const char *, struct pt_regs *, long); |
38 | extern void show_stack_regs(struct pt_regs *regs); |
39 | extern void __show_regs(struct pt_regs *regs, enum show_regs_mode, |
40 | const char *log_lvl); |
41 | extern void show_iret_regs(struct pt_regs *regs, const char *log_lvl); |
42 | extern unsigned long oops_begin(void); |
43 | extern void oops_end(unsigned long, struct pt_regs *, int signr); |
44 | |
45 | #endif /* _ASM_X86_KDEBUG_H */ |
46 |