diff options
author | Christoph Hellwig <hch@lst.de> | 2007-10-16 04:24:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-16 12:42:50 -0400 |
commit | 74a0b5762713a26496db72eac34fbbed46f20fce (patch) | |
tree | 4a14df7c07ebc16283454f33713519a0e10b5c43 /include/asm-avr32 | |
parent | d5a7430ddcdb598261d70f7eb1bf450b5be52085 (diff) |
x86: optimize page faults like all other achitectures and kill notifier cruft
x86(-64) are the last architectures still using the page fault notifier
cruft for the kprobes page fault hook. This patch converts them to the
proper direct calls, and removes the now unused pagefault notifier bits
aswell as the cruft in kprobes.c that was related to this mess.
I know Andi didn't really like this, but all other architecture maintainers
agreed the direct calls are much better and besides the obvious cruft
removal a common way of dealing with kprobes across architectures is
important aswell.
[akpm@linux-foundation.org: build fix]
[akpm@linux-foundation.org: fix sparc64]
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Andi Kleen <ak@suse.de>
Cc: <linux-arch@vger.kernel.org>
Cc: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-avr32')
-rw-r--r-- | include/asm-avr32/kdebug.h | 16 | ||||
-rw-r--r-- | include/asm-avr32/kprobes.h | 2 |
2 files changed, 0 insertions, 18 deletions
diff --git a/include/asm-avr32/kdebug.h b/include/asm-avr32/kdebug.h index 7f54e2b15d13..fd7e99046b2f 100644 --- a/include/asm-avr32/kdebug.h +++ b/include/asm-avr32/kdebug.h | |||
@@ -1,26 +1,10 @@ | |||
1 | #ifndef __ASM_AVR32_KDEBUG_H | 1 | #ifndef __ASM_AVR32_KDEBUG_H |
2 | #define __ASM_AVR32_KDEBUG_H | 2 | #define __ASM_AVR32_KDEBUG_H |
3 | 3 | ||
4 | #include <linux/notifier.h> | ||
5 | |||
6 | /* Grossly misnamed. */ | 4 | /* Grossly misnamed. */ |
7 | enum die_val { | 5 | enum die_val { |
8 | DIE_BREAKPOINT, | 6 | DIE_BREAKPOINT, |
9 | DIE_SSTEP, | 7 | DIE_SSTEP, |
10 | }; | 8 | }; |
11 | 9 | ||
12 | /* | ||
13 | * These are only here because kprobes.c wants them to implement a | ||
14 | * blatant layering violation. Will hopefully go away soon once all | ||
15 | * architectures are updated. | ||
16 | */ | ||
17 | static inline int register_page_fault_notifier(struct notifier_block *nb) | ||
18 | { | ||
19 | return 0; | ||
20 | } | ||
21 | static inline int unregister_page_fault_notifier(struct notifier_block *nb) | ||
22 | { | ||
23 | return 0; | ||
24 | } | ||
25 | |||
26 | #endif /* __ASM_AVR32_KDEBUG_H */ | 10 | #endif /* __ASM_AVR32_KDEBUG_H */ |
diff --git a/include/asm-avr32/kprobes.h b/include/asm-avr32/kprobes.h index 190a6377c809..0f3e636e6e4d 100644 --- a/include/asm-avr32/kprobes.h +++ b/include/asm-avr32/kprobes.h | |||
@@ -17,8 +17,6 @@ typedef u16 kprobe_opcode_t; | |||
17 | #define BREAKPOINT_INSTRUCTION 0xd673 /* breakpoint */ | 17 | #define BREAKPOINT_INSTRUCTION 0xd673 /* breakpoint */ |
18 | #define MAX_INSN_SIZE 2 | 18 | #define MAX_INSN_SIZE 2 |
19 | 19 | ||
20 | #define ARCH_INACTIVE_KPROBE_COUNT 1 | ||
21 | |||
22 | #define arch_remove_kprobe(p) do { } while (0) | 20 | #define arch_remove_kprobe(p) do { } while (0) |
23 | 21 | ||
24 | /* Architecture specific copy of original instruction */ | 22 | /* Architecture specific copy of original instruction */ |