| Stephen Rothwell | bbeb3f4 | 2005-09-27 13:51:59 +1000 | [diff] [blame] | 1 | #ifndef _ASM_POWERPC_KDEBUG_H | 
|  | 2 | #define _ASM_POWERPC_KDEBUG_H | 
| Arnd Bergmann | 88ced03 | 2005-12-16 22:43:46 +0100 | [diff] [blame] | 3 | #ifdef __KERNEL__ | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 4 |  | 
|  | 5 | /* nearly identical to x86_64/i386 code */ | 
|  | 6 |  | 
|  | 7 | #include <linux/notifier.h> | 
|  | 8 |  | 
|  | 9 | struct pt_regs; | 
|  | 10 |  | 
|  | 11 | struct die_args { | 
|  | 12 | struct pt_regs *regs; | 
|  | 13 | const char *str; | 
|  | 14 | long err; | 
|  | 15 | int trapnr; | 
|  | 16 | int signr; | 
|  | 17 | }; | 
|  | 18 |  | 
| Alan Stern | e041c68 | 2006-03-27 01:16:30 -0800 | [diff] [blame] | 19 | extern int register_die_notifier(struct notifier_block *); | 
|  | 20 | extern int unregister_die_notifier(struct notifier_block *); | 
| Anil S Keshavamurthy | 4f9e87c | 2006-06-26 00:25:27 -0700 | [diff] [blame] | 21 | extern int register_page_fault_notifier(struct notifier_block *); | 
|  | 22 | extern int unregister_page_fault_notifier(struct notifier_block *); | 
| Alan Stern | e041c68 | 2006-03-27 01:16:30 -0800 | [diff] [blame] | 23 | extern struct atomic_notifier_head powerpc_die_chain; | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 24 |  | 
|  | 25 | /* Grossly misnamed. */ | 
|  | 26 | enum die_val { | 
|  | 27 | DIE_OOPS = 1, | 
|  | 28 | DIE_IABR_MATCH, | 
|  | 29 | DIE_DABR_MATCH, | 
|  | 30 | DIE_BPT, | 
|  | 31 | DIE_SSTEP, | 
|  | 32 | DIE_PAGE_FAULT, | 
|  | 33 | }; | 
|  | 34 |  | 
|  | 35 | static inline int notify_die(enum die_val val,char *str,struct pt_regs *regs,long err,int trap, int sig) | 
|  | 36 | { | 
|  | 37 | struct die_args args = { .regs=regs, .str=str, .err=err, .trapnr=trap,.signr=sig }; | 
| Alan Stern | e041c68 | 2006-03-27 01:16:30 -0800 | [diff] [blame] | 38 | return atomic_notifier_call_chain(&powerpc_die_chain, val, &args); | 
| Paul Mackerras | 14cf11a | 2005-09-26 16:04:21 +1000 | [diff] [blame] | 39 | } | 
|  | 40 |  | 
| Arnd Bergmann | 88ced03 | 2005-12-16 22:43:46 +0100 | [diff] [blame] | 41 | #endif /* __KERNEL__ */ | 
| Stephen Rothwell | bbeb3f4 | 2005-09-27 13:51:59 +1000 | [diff] [blame] | 42 | #endif /* _ASM_POWERPC_KDEBUG_H */ |