faa8b6c3c2
This reverts commit f64da958df
.
Andi Kleen is unhappy with the changes, and they really do not seem
worth it. IPMI could use DIE_NMI_IPI instead of the new callback, even
though that ends up having its own set of problems too, mainly because
the IPMI code cannot really know the NMI was from IPMI or not.
Manually fix up conflicts in arch/x86_64/kernel/traps.c and
drivers/char/ipmi/ipmi_watchdog.c.
Cc: Andi Kleen <ak@suse.de>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Corey Minyard <minyard@acm.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
36 lines
782 B
C
36 lines
782 B
C
#ifndef _X86_64_KDEBUG_H
|
|
#define _X86_64_KDEBUG_H 1
|
|
|
|
#include <linux/notifier.h>
|
|
|
|
struct pt_regs;
|
|
|
|
extern int register_page_fault_notifier(struct notifier_block *);
|
|
extern int unregister_page_fault_notifier(struct notifier_block *);
|
|
|
|
/* Grossly misnamed. */
|
|
enum die_val {
|
|
DIE_OOPS = 1,
|
|
DIE_INT3,
|
|
DIE_DEBUG,
|
|
DIE_PANIC,
|
|
DIE_NMI,
|
|
DIE_DIE,
|
|
DIE_NMIWATCHDOG,
|
|
DIE_KERNELDEBUG,
|
|
DIE_TRAP,
|
|
DIE_GPF,
|
|
DIE_CALL,
|
|
DIE_NMI_IPI,
|
|
DIE_PAGE_FAULT,
|
|
};
|
|
|
|
extern void printk_address(unsigned long address);
|
|
extern void die(const char *,struct pt_regs *,long);
|
|
extern void __die(const char *,struct pt_regs *,long);
|
|
extern void show_registers(struct pt_regs *regs);
|
|
extern void dump_pagetable(unsigned long);
|
|
extern unsigned long oops_begin(void);
|
|
extern void oops_end(unsigned long);
|
|
|
|
#endif
|