diff options
author | Christoph Hellwig <hch@infradead.org> | 2007-04-30 11:56:46 +0100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-05-02 20:57:39 +1000 |
commit | 9f90b997de4efd5404a8c52f89c400f0f4e2d216 (patch) | |
tree | 7dd6adc27b196e672fedd464a42700e336cd210a /include/asm-powerpc/kdebug.h | |
parent | eb609e52d188775da738a1ffd1e982e6212c77d7 (diff) |
[POWERPC] Minor fault path optimization
Call the kprobes pagefault handler directly instead of going through
the complex notifier chain.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include/asm-powerpc/kdebug.h')
-rw-r--r-- | include/asm-powerpc/kdebug.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/include/asm-powerpc/kdebug.h b/include/asm-powerpc/kdebug.h index 532bfee934f..df996b933de 100644 --- a/include/asm-powerpc/kdebug.h +++ b/include/asm-powerpc/kdebug.h @@ -18,8 +18,20 @@ struct die_args { extern int register_die_notifier(struct notifier_block *); extern int unregister_die_notifier(struct notifier_block *); -extern int register_page_fault_notifier(struct notifier_block *); -extern int unregister_page_fault_notifier(struct notifier_block *); + +/* + * These are only here because kprobes.c wants them to implement a + * blatant layering violation. Will hopefully go away soon once all + * architectures are updated. + */ +static inline int register_page_fault_notifier(struct notifier_block *nb) +{ + return 0; +} +static inline int unregister_page_fault_notifier(struct notifier_block *nb) +{ + return 0; +} extern struct atomic_notifier_head powerpc_die_chain; /* Grossly misnamed. */ @@ -29,7 +41,6 @@ enum die_val { 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) |