summaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/kdebug.h
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2006-03-31 03:35:56 +0000
committerSteve French <sfrench@us.ibm.com>2006-03-31 03:35:56 +0000
commitd62e54abca1146981fc9f98f85ff398a113a22c2 (patch)
tree870420dbc4c65e716dcef8a802aafdc0ef97a8b4 /include/asm-x86_64/kdebug.h
parentfd4a0b92db6a57cba8d03efbe1cebf91f9124ce0 (diff)
parentce362c009250340358a7221f3cdb7954cbf19c01 (diff)
Merge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'include/asm-x86_64/kdebug.h')
-rw-r--r--include/asm-x86_64/kdebug.h23
1 files changed, 11 insertions, 12 deletions
diff --git a/include/asm-x86_64/kdebug.h b/include/asm-x86_64/kdebug.h
index b9ed4c0c878..cf795631d9b 100644
--- a/include/asm-x86_64/kdebug.h
+++ b/include/asm-x86_64/kdebug.h
@@ -5,21 +5,20 @@
struct pt_regs;
-struct die_args {
+struct die_args {
struct pt_regs *regs;
const char *str;
- long err;
+ long err;
int trapnr;
int signr;
-};
+};
+
+extern int register_die_notifier(struct notifier_block *);
+extern int unregister_die_notifier(struct notifier_block *);
+extern struct atomic_notifier_head die_chain;
-/* Note - you should never unregister because that can race with NMIs.
- If you really want to do it first unregister - then synchronize_sched - then free.
- */
-int register_die_notifier(struct notifier_block *nb);
-extern struct notifier_block *die_chain;
/* Grossly misnamed. */
-enum die_val {
+enum die_val {
DIE_OOPS = 1,
DIE_INT3,
DIE_DEBUG,
@@ -33,8 +32,8 @@ enum die_val {
DIE_CALL,
DIE_NMI_IPI,
DIE_PAGE_FAULT,
-};
-
+};
+
static inline int notify_die(enum die_val val, const char *str,
struct pt_regs *regs, long err, int trap, int sig)
{
@@ -45,7 +44,7 @@ static inline int notify_die(enum die_val val, const char *str,
.trapnr = trap,
.signr = sig
};
- return notifier_call_chain(&die_chain, val, &args);
+ return atomic_notifier_call_chain(&die_chain, val, &args);
}
extern int printk_address(unsigned long address);