| 1 |
|
| 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 |
|
| 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
|