Merge ../to-linus-stable/
[pandora-kernel.git] / include / asm-i386 / kdebug.h
1 #ifndef _I386_KDEBUG_H
2 #define _I386_KDEBUG_H 1
3
4 /*
5  * Aug-05 2004 Ported by Prasanna S Panchamukhi <prasanna@in.ibm.com>
6  * from x86_64 architecture.
7  */
8 #include <linux/notifier.h>
9
10 struct pt_regs;
11
12 struct die_args {
13         struct pt_regs *regs;
14         const char *str;
15         long err;
16         int trapnr;
17         int signr;
18 };
19
20 /* Note - you should never unregister because that can race with NMIs.
21    If you really want to do it first unregister - then synchronize_sched - then free.
22   */
23 int register_die_notifier(struct notifier_block *nb);
24 extern struct notifier_block *i386die_chain;
25
26
27 /* Grossly misnamed. */
28 enum die_val {
29         DIE_OOPS = 1,
30         DIE_INT3,
31         DIE_DEBUG,
32         DIE_PANIC,
33         DIE_NMI,
34         DIE_DIE,
35         DIE_NMIWATCHDOG,
36         DIE_KERNELDEBUG,
37         DIE_TRAP,
38         DIE_GPF,
39         DIE_CALL,
40         DIE_NMI_IPI,
41         DIE_PAGE_FAULT,
42 };
43
44 static inline int notify_die(enum die_val val,char *str,struct pt_regs *regs,long err,int trap, int sig)
45 {
46         struct die_args args = { .regs=regs, .str=str, .err=err, .trapnr=trap,.signr=sig };
47         return notifier_call_chain(&i386die_chain, val, &args);
48 }
49
50 #endif