X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=include%2Fasm-ia64%2Fkprobes.h;h=8c0fc227f0fb6934c4f3f7573456d5d21150c6e0;hb=2514395ef88b46e895726a8d40966cb83de7940c;hp=5b26462674a7096c33ccf3f9133d2acd4e03062e;hpb=41dead49ccb4d7f0a34d56478f487342a3c3ab2b;p=powerpc.git diff --git a/include/asm-ia64/kprobes.h b/include/asm-ia64/kprobes.h index 5b26462674..8c0fc227f0 100644 --- a/include/asm-ia64/kprobes.h +++ b/include/asm-ia64/kprobes.h @@ -68,10 +68,14 @@ struct prev_kprobe { unsigned long status; }; +#define MAX_PARAM_RSE_SIZE (0x60+0x60/0x3f) /* per-cpu kprobe control block */ struct kprobe_ctlblk { unsigned long kprobe_status; struct pt_regs jprobe_saved_regs; + unsigned long jprobes_saved_stacked_regs[MAX_PARAM_RSE_SIZE]; + unsigned long *bsp; + unsigned long cfm; struct prev_kprobe prev_kprobe; }; @@ -89,6 +93,7 @@ struct kprobe_ctlblk { #define IP_RELATIVE_PREDICT_OPCODE (7) #define LONG_BRANCH_OPCODE (0xC) #define LONG_CALL_OPCODE (0xD) +#define arch_remove_kprobe(p) do {} while (0) typedef struct kprobe_opcode { bundle_t bundle; @@ -110,11 +115,6 @@ struct arch_specific_insn { unsigned short target_br_reg; }; -/* ia64 does not need this */ -static inline void arch_copy_kprobe(struct kprobe *p) -{ -} - extern int kprobe_exceptions_notify(struct notifier_block *self, unsigned long val, void *data); @@ -122,5 +122,7 @@ extern int kprobe_exceptions_notify(struct notifier_block *self, static inline void jprobe_return(void) { } +extern void invalidate_stacked_regs(void); +extern void flush_register_stack(void); #endif /* _ASM_KPROBES_H */