diff options
author | H. Peter Anvin <hpa@linux.intel.com> | 2011-11-11 18:55:49 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-11-17 16:35:36 -0500 |
commit | d181764ccf6207e02abb95fb3052639b947f4833 (patch) | |
tree | cd37381b20d437d5d352a07b20fd4a01d332759b /arch/x86/syscalls/syscalltbl.sh | |
parent | d5e553d6e0a4bdea43adae7373e3fa144b9a1aaa (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.sh | 15 |
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 | |||
3 | in="$1" | ||
4 | out="$2" | ||
5 | |||
6 | grep '^[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" | ||