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
7struct pt_regs;
8
9/* Grossly misnamed. */
10enum 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
25enum 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
35extern void die(const char *, struct pt_regs *,long);
36extern int __must_check __die(const char *, struct pt_regs *, long);
37extern void show_stack_regs(struct pt_regs *regs);
38extern void __show_regs(struct pt_regs *regs, enum show_regs_mode);
39extern void show_iret_regs(struct pt_regs *regs);
40extern unsigned long oops_begin(void);
41extern void oops_end(unsigned long, struct pt_regs *, int signr);
42
43#endif /* _ASM_X86_KDEBUG_H */
44