]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-i386/kprobes.h
Pull fix-cpu-possible-map into release branch
[linux-2.6-omap-h63xx.git] / include / asm-i386 / kprobes.h
index 8b6d3a90cd78942f1a48bf1e0625f6df22e77e53..27cac050a60e56cb71c750a196a80c8894e8abb1 100644 (file)
@@ -40,6 +40,7 @@ typedef u8 kprobe_opcode_t;
 
 #define JPROBE_ENTRY(pentry)   (kprobe_opcode_t *)pentry
 #define ARCH_SUPPORTS_KRETPROBES
+#define arch_remove_kprobe(p)  do {} while (0)
 
 void kretprobe_trampoline(void);
 
@@ -49,6 +50,23 @@ struct arch_specific_insn {
        kprobe_opcode_t insn[MAX_INSN_SIZE];
 };
 
+struct prev_kprobe {
+       struct kprobe *kp;
+       unsigned long status;
+       unsigned long old_eflags;
+       unsigned long saved_eflags;
+};
+
+/* per-cpu kprobe control block */
+struct kprobe_ctlblk {
+       unsigned long kprobe_status;
+       unsigned long kprobe_old_eflags;
+       unsigned long kprobe_saved_eflags;
+       long *jprobe_saved_esp;
+       struct pt_regs jprobe_saved_regs;
+       kprobe_opcode_t jprobes_stack[MAX_STACK_SIZE];
+       struct prev_kprobe prev_kprobe;
+};
 
 /* trap3/1 are intr gates for kprobes.  So, restore the status of IF,
  * if necessary, before executing the original int3/1 (trap) handler.
@@ -59,14 +77,6 @@ static inline void restore_interrupts(struct pt_regs *regs)
                local_irq_enable();
 }
 
-#ifdef CONFIG_KPROBES
 extern int kprobe_exceptions_notify(struct notifier_block *self,
                                    unsigned long val, void *data);
-#else                          /* !CONFIG_KPROBES */
-static inline int kprobe_exceptions_notify(struct notifier_block *self,
-                                          unsigned long val, void *data)
-{
-       return 0;
-}
-#endif
 #endif                         /* _ASM_KPROBES_H */