aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-sparc64
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-05-08 21:25:14 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2007-05-08 21:25:14 -0400
commit127cda1e8cc282de1ca7a9dcc3866841977b9fcc (patch)
tree800169fa92dc96160044d914ca1ca9fea60339ea /include/asm-sparc64
parent6c1142602c9c8faedbc1321892a169652a173fc7 (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.h16
-rw-r--r--include/asm-sparc64/kprobes.h1
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 @@
7 7
8struct pt_regs; 8struct pt_regs;
9 9
10extern int register_page_fault_notifier(struct notifier_block *); 10/*
11extern int unregister_page_fault_notifier(struct notifier_block *); 11 * These are only here because kprobes.c wants them to implement a
12 * blatant layering violation. Will hopefully go away soon once all
13 * architectures are updated.
14 */
15static inline int register_page_fault_notifier(struct notifier_block *nb)
16{
17 return 0;
18}
19static inline int unregister_page_fault_notifier(struct notifier_block *nb)
20{
21 return 0;
22}
12 23
13extern void bad_trap(struct pt_regs *, long); 24extern void bad_trap(struct pt_regs *, long);
14 25
@@ -20,7 +31,6 @@ enum die_val {
20 DIE_DIE, 31 DIE_DIE,
21 DIE_TRAP, 32 DIE_TRAP,
22 DIE_TRAP_TL1, 33 DIE_TRAP_TL1,
23 DIE_GPF,
24 DIE_CALL, 34 DIE_CALL,
25 DIE_PAGE_FAULT, 35 DIE_PAGE_FAULT,
26}; 36};
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 {
43 43
44extern int kprobe_exceptions_notify(struct notifier_block *self, 44extern int kprobe_exceptions_notify(struct notifier_block *self,
45 unsigned long val, void *data); 45 unsigned long val, void *data);
46extern int kprobe_fault_handler(struct pt_regs *regs, int trapnr);
46#endif /* _SPARC64_KPROBES_H */ 47#endif /* _SPARC64_KPROBES_H */