Merge branch 'tizen_2.4' into tizen_2.4_dev
[kernel/swap-modules.git] / uprobe / arch / arm / swap-asm / swap_uprobes.h
index 5ffb72b..fa74ddf 100644 (file)
 #include <swap-asm/swap_kprobes.h>     /* FIXME: for UPROBES_TRAMP_LEN */
 
 
-struct kprobe;
 struct task_struct;
 struct uprobe;
 struct uretprobe;
 struct uretprobe_instance;
 
+typedef unsigned long uprobe_opcode_t;
+
+/**
+ * @struct arch_insn
+ * @brief Architecture depend copy of original instruction.
+ * @var arch_insn::insn
+ * Copy of the original instruction.
+ */
+struct arch_insn {
+       uprobe_opcode_t *insn;
+};
+
 /**
- * @struct arch_specific_tramp
+ * @struct arch_tramp
  * @brief Stores arch-dependent trampolines.
  */
-struct arch_specific_tramp {
+struct arch_tramp {
+       unsigned long tramp_arm[UPROBES_TRAMP_LEN];     /**< ARM trampoline */
+       unsigned long tramp_thumb[UPROBES_TRAMP_LEN];   /**< Thumb trampoline */
+       void *utramp;                                   /**< Pointer to trampoline */
 };
 
 
@@ -70,8 +84,8 @@ static inline void arch_ujprobe_return(void)
 
 int arch_prepare_uprobe(struct uprobe *up);
 
-int setjmp_upre_handler(struct kprobe *p, struct pt_regs *regs);
-static inline int longjmp_break_uhandler(struct kprobe *p, struct pt_regs *regs)
+int setjmp_upre_handler(struct uprobe *p, struct pt_regs *regs);
+static inline int longjmp_break_uhandler(struct uprobe *p, struct pt_regs *regs)
 {
        return 0;
 }
@@ -82,11 +96,11 @@ int arch_disarm_urp_inst(struct uretprobe_instance *ri,
                         struct task_struct *task, unsigned long tr);
 unsigned long arch_tramp_by_ri(struct uretprobe_instance *ri);
 
-unsigned long arch_get_trampoline_addr(struct kprobe *p, struct pt_regs *regs);
+unsigned long arch_get_trampoline_addr(struct uprobe *p, struct pt_regs *regs);
 void arch_set_orig_ret_addr(unsigned long orig_ret_addr, struct pt_regs *regs);
 void arch_remove_uprobe(struct uprobe *up);
 int arch_arm_uprobe(struct uprobe *p);
-void arch_disarm_uprobe(struct kprobe *p, struct task_struct *task);
+void arch_disarm_uprobe(struct uprobe *p, struct task_struct *task);
 
 static inline unsigned long swap_get_uarg(struct pt_regs *regs, unsigned long n)
 {