aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/syscalls/syscalltbl.sh
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@linux.intel.com>2011-11-11 18:55:49 -0500
committerH. Peter Anvin <hpa@linux.intel.com>2011-11-17 16:35:36 -0500
commitd181764ccf6207e02abb95fb3052639b947f4833 (patch)
treecd37381b20d437d5d352a07b20fd4a01d332759b /arch/x86/syscalls/syscalltbl.sh
parentd5e553d6e0a4bdea43adae7373e3fa144b9a1aaa (diff)
x86: Machine-readable syscall tables and scripts to process them
Create a simple set of syscall tables and scripts to turn them into both header files (unistd_*.h) and macros for generating the system call tables. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/syscalls/syscalltbl.sh')
-rw-r--r--arch/x86/syscalls/syscalltbl.sh15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/syscalls/syscalltbl.sh b/arch/x86/syscalls/syscalltbl.sh
new file mode 100644
index 000000000000..0e7f8ec071e7
--- /dev/null
+++ b/arch/x86/syscalls/syscalltbl.sh
@@ -0,0 +1,15 @@
1#!/bin/sh
2
3in="$1"
4out="$2"
5
6grep '^[0-9]' "$in" | sort -n | (
7 while read nr abi name entry compat; do
8 abi=`echo "$abi" | tr '[a-z]' '[A-Z]'`
9 if [ -n "$compat" ]; then
10 echo "__SYSCALL_${abi}($nr, $entry, $compat)"
11 elif [ -n "$entry" ]; then
12 echo "__SYSCALL_${abi}($nr, $entry, $entry)"
13 fi
14 done
15) > "$out"