diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-05-08 18:25:14 -0700 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-05-08 18:25:14 -0700 |
commit | 127cda1e8cc282de1ca7a9dcc3866841977b9fcc (patch) | |
tree | 800169fa92dc96160044d914ca1ca9fea60339ea /include/asm-sparc64 | |
parent | 6c1142602c9c8faedbc1321892a169652a173fc7 (diff) |
[SPARC64]: Optimize fault kprobe handling just like powerpc.
And eliminate DIE_GPF while we're at it.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/asm-sparc64')
-rw-r--r-- | include/asm-sparc64/kdebug.h | 16 | ||||
-rw-r--r-- | include/asm-sparc64/kprobes.h | 1 |
2 files changed, 14 insertions, 3 deletions
diff --git a/include/asm-sparc64/kdebug.h b/include/asm-sparc64/kdebug.h index f8032e73f384..627e3396a5f0 100644 --- a/include/asm-sparc64/kdebug.h +++ b/include/asm-sparc64/kdebug.h @@ -7,8 +7,19 @@ struct pt_regs; -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 void bad_trap(struct pt_regs *, long); @@ -20,7 +31,6 @@ enum die_val { DIE_DIE, DIE_TRAP, DIE_TRAP_TL1, - DIE_GPF, DIE_CALL, DIE_PAGE_FAULT, }; diff --git a/include/asm-sparc64/kprobes.h b/include/asm-sparc64/kprobes.h index becc38fa06c5..a331b7b0dff2 100644 --- a/include/asm-sparc64/kprobes.h +++ b/include/asm-sparc64/kprobes.h @@ -43,4 +43,5 @@ struct kprobe_ctlblk { extern int kprobe_exceptions_notify(struct notifier_block *self, unsigned long val, void *data); +extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr); #endif /* _SPARC64_KPROBES_H */ |