summary refs log tree commit diff
path: root/arch/arm/kernel/entry-common.S
diff options
context:
space:
mode:
authorWade Farnsworth <wade_farnsworth@mentor.com>2012-09-07 18:18:25 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2012-09-19 21:50:48 +0100
commit1f66e06fb6414732bef7bf4a071ef76a837badec (patch)
tree329bd62fd3ce0c1f55242549f8486f5b168f4bce /arch/arm/kernel/entry-common.S
parent5698bd757d55b1bb87edd1a9744ab09c142abfc2 (diff)
downloadlinux-1f66e06fb6414732bef7bf4a071ef76a837badec.tar.gz
ARM: 7524/1: support syscall tracing
As specified by ftrace-design.txt, TIF_SYSCALL_TRACEPOINT was
added, as well as NR_syscalls in asm/unistd.h.  Additionally,
__sys_trace was modified to call trace_sys_enter and
trace_sys_exit when appropriate.

Tests #2 - #4 of "perf test" now complete successfully.

Signed-off-by: Steven Walter <stevenrwalter@gmail.com>
Signed-off-by: Wade Farnsworth <wade_farnsworth@mentor.com>
Signed-off-by: Will Deacon <will.deacon@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.S9
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 978eac57e04a..f45987037bf1 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -94,6 +94,15 @@ ENDPROC(ret_from_fork)
 	.equ NR_syscalls,0
 #define CALL(x) .equ NR_syscalls,NR_syscalls+1
 #include "calls.S"
+
+/*
+ * Ensure that the system call table is equal to __NR_syscalls,
+ * which is the value the rest of the system sees
+ */
+.ifne NR_syscalls - __NR_syscalls
+.error "__NR_syscalls is not equal to the size of the syscall table"
+.endif
+
 #undef CALL
 #define CALL(x) .long x