aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-powerpc/kdebug.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2007-04-30 11:56:46 +0100
committerPaul Mackerras <paulus@samba.org>2007-05-02 20:57:39 +1000
commit9f90b997de4efd5404a8c52f89c400f0f4e2d216 (patch)
tree7dd6adc27b196e672fedd464a42700e336cd210a /include/asm-powerpc/kdebug.h
parenteb609e52d188775da738a1ffd1e982e6212c77d7 (diff)
downloadlinux-9f90b997de4efd5404a8c52f89c400f0f4e2d216.tar.gz
[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.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/asm-powerpc/kdebug.h b/include/asm-powerpc/kdebug.h
index 532bfee934f433..df996b933def3c 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)