aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2015-08-09 07:18:48 -0400
committerBjoern Brandenburg <bbb@mpi-sws.org>2015-08-09 06:21:18 -0400
commitcb4afb916728703eb8bf3585bf535b6f353a6a45 (patch)
treec0eaefc711e6b526dc48f0df11f3588fe958f12f
parent8e048c798adaabef530a1526f7ce8c6c3cd3475e (diff)
Add LITMUS^RT syscalls for ARM
-rw-r--r--arch/arm/include/asm/unistd.h2
-rw-r--r--arch/arm/include/uapi/asm/unistd.h3
-rw-r--r--arch/arm/kernel/calls.S13
3 files changed, 17 insertions, 1 deletions
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index 32640c431a08..0c462a9e5205 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -19,7 +19,7 @@
19 * This may need to be greater than __NR_last_syscall+1 in order to 19 * This may need to be greater than __NR_last_syscall+1 in order to
20 * account for the padding in the syscall table 20 * account for the padding in the syscall table
21 */ 21 */
22#define __NR_syscalls (388) 22#define __NR_syscalls (388 + NR_litmus_syscalls)
23 23
24/* 24/*
25 * *NOTE*: This is a ghost syscall private to the kernel. Only the 25 * *NOTE*: This is a ghost syscall private to the kernel. Only the
diff --git a/arch/arm/include/uapi/asm/unistd.h b/arch/arm/include/uapi/asm/unistd.h
index 0c3f5a0dafd3..060ea67386d3 100644
--- a/arch/arm/include/uapi/asm/unistd.h
+++ b/arch/arm/include/uapi/asm/unistd.h
@@ -415,6 +415,9 @@
415#define __NR_bpf (__NR_SYSCALL_BASE+386) 415#define __NR_bpf (__NR_SYSCALL_BASE+386)
416#define __NR_execveat (__NR_SYSCALL_BASE+387) 416#define __NR_execveat (__NR_SYSCALL_BASE+387)
417 417
418#define __NR_LITMUS (__NR_SYSCALL_BASE+388)
419#include <litmus/unistd_32.h>
420
418/* 421/*
419 * The following SWIs are ARM private. 422 * The following SWIs are ARM private.
420 */ 423 */
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
index 05745eb838c5..f4738a88a278 100644
--- a/arch/arm/kernel/calls.S
+++ b/arch/arm/kernel/calls.S
@@ -397,6 +397,19 @@
397/* 385 */ CALL(sys_memfd_create) 397/* 385 */ CALL(sys_memfd_create)
398 CALL(sys_bpf) 398 CALL(sys_bpf)
399 CALL(sys_execveat) 399 CALL(sys_execveat)
400 CALL(sys_set_rt_task_param)
401 CALL(sys_get_rt_task_param)
402/* 390 */ CALL(sys_complete_job)
403 CALL(sys_od_open)
404 CALL(sys_od_close)
405 CALL(sys_litmus_lock)
406 CALL(sys_litmus_unlock)
407/* 395 */ CALL(sys_query_job_no)
408 CALL(sys_wait_for_job_release)
409 CALL(sys_wait_for_ts_release)
410 CALL(sys_release_ts)
411 CALL(sys_null_call)
412
400#ifndef syscalls_counted 413#ifndef syscalls_counted
401.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls 414.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
402#define syscalls_counted 415#define syscalls_counted