summaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/entry-common.S
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2009-02-16 11:42:09 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-02-19 12:27:35 +0100
commitc4c5716e16c4ee971dec446a7e4801fbb8a1066b (patch)
treea1fb65c5b694bdc0b61bcd06371c2204968eb3b3 /arch/arm/kernel/entry-common.S
parent[ARM] 5384/1: unwind: Add stack unwinding support for loadable modules (diff)
downloadlinux-c4c5716e16c4ee971dec446a7e4801fbb8a1066b.tar.xz
linux-c4c5716e16c4ee971dec446a7e4801fbb8a1066b.zip
[ARM] 5385/2: unwind: Add unwinding information to exception entry points
This is needed to allow or stop the unwinding at certain points in the kernel like exception entries. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/entry-common.S')
-rw-r--r--arch/arm/kernel/entry-common.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 49a6ba926c2b..b8c1f1411440 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -11,6 +11,7 @@
#include <asm/unistd.h>
#include <asm/ftrace.h>
#include <mach/entry-macro.S>
+#include <asm/unwind.h>
#include "entry-header.S"
@@ -22,6 +23,8 @@
* stack.
*/
ret_fast_syscall:
+ UNWIND(.fnstart )
+ UNWIND(.cantunwind )
disable_irq @ disable interrupts
ldr r1, [tsk, #TI_FLAGS]
tst r1, #_TIF_WORK_MASK
@@ -38,6 +41,7 @@ ret_fast_syscall:
mov r0, r0
add sp, sp, #S_FRAME_SIZE - S_PC
movs pc, lr @ return & move spsr_svc into cpsr
+ UNWIND(.fnend )
/*
* Ok, we need to do extra processing, enter the slow path.