diff options
Diffstat (limited to 'include/asm-powerpc/kdebug.h')
| -rw-r--r-- | include/asm-powerpc/kdebug.h | 42 | 
1 files changed, 42 insertions, 0 deletions
diff --git a/include/asm-powerpc/kdebug.h b/include/asm-powerpc/kdebug.h new file mode 100644 index 00000000000..9dcbac67481 --- /dev/null +++ b/include/asm-powerpc/kdebug.h @@ -0,0 +1,42 @@ +#ifndef _ASM_POWERPC_KDEBUG_H +#define _ASM_POWERPC_KDEBUG_H + +/* nearly identical to x86_64/i386 code */ + +#include <linux/notifier.h> + +struct pt_regs; + +struct die_args { +	struct pt_regs *regs; +	const char *str; +	long err; +	int trapnr; +	int signr; +}; + +/* +   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 *powerpc_die_chain; + +/* Grossly misnamed. */ +enum die_val { +	DIE_OOPS = 1, +	DIE_IABR_MATCH, +	DIE_DABR_MATCH, +	DIE_BPT, +	DIE_SSTEP, +	DIE_PAGE_FAULT, +}; + +static inline int notify_die(enum die_val val,char *str,struct pt_regs *regs,long err,int trap, int sig) +{ +	struct die_args args = { .regs=regs, .str=str, .err=err, .trapnr=trap,.signr=sig }; +	return notifier_call_chain(&powerpc_die_chain, val, &args); +} + +#endif /* _ASM_POWERPC_KDEBUG_H */  | 
