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);
36void die_addr(const char *str, struct pt_regs *regs, long err, long gp_addr);
37extern int __must_check __die(const char *, struct pt_regs *, long);
38extern void show_stack_regs(struct pt_regs *regs);
39extern void __show_regs(struct pt_regs *regs, enum show_regs_mode,
40 const char *log_lvl);
41extern void show_iret_regs(struct pt_regs *regs, const char *log_lvl);
42extern unsigned long oops_begin(void);
43extern void oops_end(unsigned long, struct pt_regs *, int signr);
44
45#endif /* _ASM_X86_KDEBUG_H */
46

source code of linux/arch/x86/include/asm/kdebug.h