Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / arch / arm / include / asm / stacktrace.h
diff --git a/kernel/arch/arm/include/asm/stacktrace.h b/kernel/arch/arm/include/asm/stacktrace.h
new file mode 100644 (file)
index 0000000..7722201
--- /dev/null
@@ -0,0 +1,30 @@
+#ifndef __ASM_STACKTRACE_H
+#define __ASM_STACKTRACE_H
+
+#include <asm/ptrace.h>
+
+struct stackframe {
+       /*
+        * FP member should hold R7 when CONFIG_THUMB2_KERNEL is enabled
+        * and R11 otherwise.
+        */
+       unsigned long fp;
+       unsigned long sp;
+       unsigned long lr;
+       unsigned long pc;
+};
+
+static __always_inline
+void arm_get_current_stackframe(struct pt_regs *regs, struct stackframe *frame)
+{
+               frame->fp = frame_pointer(regs);
+               frame->sp = regs->ARM_sp;
+               frame->lr = regs->ARM_lr;
+               frame->pc = regs->ARM_pc;
+}
+
+extern int unwind_frame(struct stackframe *frame);
+extern void walk_stackframe(struct stackframe *frame,
+                           int (*fn)(struct stackframe *, void *), void *data);
+
+#endif /* __ASM_STACKTRACE_H */