[IMPROVE] Add arch-specific routines for setting SP 55/33655/2
authorVasiliy Ulyanov <v.ulyanov@samsung.com>
Thu, 5 Jun 2014 09:31:38 +0000 (13:31 +0400)
committerAlexander Aksenov <a.aksenov@samsung.com>
Tue, 24 Feb 2015 08:18:31 +0000 (11:18 +0300)
Change-Id: I8ba26e9ddffbc39f13aca3bada7149104cebcbf6
Signed-off-by: Vasiliy Ulyanov <v.ulyanov@samsung.com>
kprobe/arch/arm/swap-asm/swap_kprobes.h
kprobe/arch/x86/swap-asm/swap_kprobes.h

index fb23151..f7c53ca 100644 (file)
@@ -142,6 +142,18 @@ static inline unsigned long swap_get_stack_ptr(struct pt_regs *regs)
 }
 
 /**
+ * @brief Sets stack pointer.
+ *
+ * @param regs Pointer to CPU registers data.
+ * @param sp New stack pointer value.
+ * @return Void
+ */
+static inline void swap_set_stack_ptr(struct pt_regs *regs, unsigned long sp)
+{
+       regs->ARM_sp = sp;
+}
+
+/**
  * @brief Gets instruction pointer.
  *
  * @param regs Pointer to CPU registers data.
index ce6e7a1..58b6493 100644 (file)
@@ -101,6 +101,11 @@ static inline unsigned long swap_get_stack_ptr(struct pt_regs *regs)
        return regs->EREG(sp);
 }
 
+static inline void swap_set_stack_ptr(struct pt_regs *regs, unsigned long sp)
+{
+       regs->EREG(sp) = sp;
+}
+
 static inline unsigned long swap_get_instr_ptr(struct pt_regs *regs)
 {
        return regs->EREG(ip);