Merge tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / arch / x86 / include / asm / kdebug.h
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 */