Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / asm-ia64 / kdebug.h
blobc195a9ad12551e88e28aedf02a15743f643dc35e
1 #ifndef _IA64_KDEBUG_H
2 #define _IA64_KDEBUG_H 1
3 /*
4 * include/asm-ia64/kdebug.h
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 * Copyright (C) Intel Corporation, 2005
22 * 2005-Apr Rusty Lynch <rusty.lynch@intel.com> and Anil S Keshavamurthy
23 * <anil.s.keshavamurthy@intel.com> adopted from
24 * include/asm-x86_64/kdebug.h
26 * 2005-Oct Keith Owens <kaos@sgi.com>. Expand notify_die to cover more
27 * events.
29 #include <linux/notifier.h>
31 struct pt_regs;
33 struct die_args {
34 struct pt_regs *regs;
35 const char *str;
36 long err;
37 int trapnr;
38 int signr;
41 extern int register_die_notifier(struct notifier_block *);
42 extern int unregister_die_notifier(struct notifier_block *);
43 extern struct atomic_notifier_head ia64die_chain;
45 enum die_val {
46 DIE_BREAK = 1,
47 DIE_FAULT,
48 DIE_OOPS,
49 DIE_PAGE_FAULT,
50 DIE_MACHINE_HALT,
51 DIE_MACHINE_RESTART,
52 DIE_MCA_MONARCH_ENTER,
53 DIE_MCA_MONARCH_PROCESS,
54 DIE_MCA_MONARCH_LEAVE,
55 DIE_MCA_SLAVE_ENTER,
56 DIE_MCA_SLAVE_PROCESS,
57 DIE_MCA_SLAVE_LEAVE,
58 DIE_MCA_RENDZVOUS_ENTER,
59 DIE_MCA_RENDZVOUS_PROCESS,
60 DIE_MCA_RENDZVOUS_LEAVE,
61 DIE_MCA_NEW_TIMEOUT,
62 DIE_INIT_ENTER,
63 DIE_INIT_MONARCH_ENTER,
64 DIE_INIT_MONARCH_PROCESS,
65 DIE_INIT_MONARCH_LEAVE,
66 DIE_INIT_SLAVE_ENTER,
67 DIE_INIT_SLAVE_PROCESS,
68 DIE_INIT_SLAVE_LEAVE,
69 DIE_KDEBUG_ENTER,
70 DIE_KDEBUG_LEAVE,
71 DIE_KDUMP_ENTER,
72 DIE_KDUMP_LEAVE,
75 static inline int notify_die(enum die_val val, char *str, struct pt_regs *regs,
76 long err, int trap, int sig)
78 struct die_args args = {
79 .regs = regs,
80 .str = str,
81 .err = err,
82 .trapnr = trap,
83 .signr = sig
86 return atomic_notifier_call_chain(&ia64die_chain, val, &args);
89 #endif