diff options
author | Ananth N Mavinakayanahalli <ananth@in.ibm.com> | 2005-11-07 04:00:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-07 10:53:45 -0500 |
commit | 8a5c4dc5e5d72b7802f5647082ccf3861a94f013 (patch) | |
tree | 6a152d01d9b9653201a113af9c1ce3f94771bf49 /include | |
parent | 9a0e3a86837ac7542e601c18346102c9d9e65fa5 (diff) |
[PATCH] Kprobes: Track kprobe on a per_cpu basis - ia64 changes
IA64 changes to track kprobe execution on a per-cpu basis. We now track the
kprobe state machine independently on each cpu using an arch specific kprobe
control block.
Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-ia64/kprobes.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/asm-ia64/kprobes.h b/include/asm-ia64/kprobes.h index 573a3574a24f..592abb000e29 100644 --- a/include/asm-ia64/kprobes.h +++ b/include/asm-ia64/kprobes.h | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | #include <linux/types.h> | 27 | #include <linux/types.h> |
28 | #include <linux/ptrace.h> | 28 | #include <linux/ptrace.h> |
29 | #include <linux/percpu.h> | ||
29 | #include <asm/break.h> | 30 | #include <asm/break.h> |
30 | 31 | ||
31 | #define MAX_INSN_SIZE 16 | 32 | #define MAX_INSN_SIZE 16 |
@@ -62,6 +63,18 @@ typedef struct _bundle { | |||
62 | } quad1; | 63 | } quad1; |
63 | } __attribute__((__aligned__(16))) bundle_t; | 64 | } __attribute__((__aligned__(16))) bundle_t; |
64 | 65 | ||
66 | struct prev_kprobe { | ||
67 | struct kprobe *kp; | ||
68 | unsigned long status; | ||
69 | }; | ||
70 | |||
71 | /* per-cpu kprobe control block */ | ||
72 | struct kprobe_ctlblk { | ||
73 | unsigned long kprobe_status; | ||
74 | struct pt_regs jprobe_saved_regs; | ||
75 | struct prev_kprobe prev_kprobe; | ||
76 | }; | ||
77 | |||
65 | #define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry | 78 | #define JPROBE_ENTRY(pentry) (kprobe_opcode_t *)pentry |
66 | 79 | ||
67 | #define ARCH_SUPPORTS_KRETPROBES | 80 | #define ARCH_SUPPORTS_KRETPROBES |