mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-09 23:00:21 +00:00
ARM: 9068/1: syscalls: switch to generic syscalltbl.sh
Many architectures duplicate similar shell scripts. This commit converts ARM to use scripts/syscalltbl.sh. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
8252ca87c7
commit
0047eb9f09
@ -344,20 +344,19 @@ ENTRY(\sym)
|
||||
.size \sym, . - \sym
|
||||
.endm
|
||||
|
||||
#define NATIVE(nr, func) syscall nr, func
|
||||
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
|
||||
#define __SYSCALL(nr, func) syscall nr, func
|
||||
|
||||
/*
|
||||
* This is the syscall table declaration for native ABI syscalls.
|
||||
* With EABI a couple syscalls are obsolete and defined as sys_ni_syscall.
|
||||
*/
|
||||
syscall_table_start sys_call_table
|
||||
#define COMPAT(nr, native, compat) syscall nr, native
|
||||
#ifdef CONFIG_AEABI
|
||||
#include <calls-eabi.S>
|
||||
#else
|
||||
#include <calls-oabi.S>
|
||||
#endif
|
||||
#undef COMPAT
|
||||
syscall_table_end sys_call_table
|
||||
|
||||
/*============================================================================
|
||||
@ -455,7 +454,8 @@ ENDPROC(sys_oabi_readahead)
|
||||
* using the compatibility syscall entries.
|
||||
*/
|
||||
syscall_table_start sys_oabi_call_table
|
||||
#define COMPAT(nr, native, compat) syscall nr, compat
|
||||
#undef __SYSCALL_WITH_COMPAT
|
||||
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat)
|
||||
#include <calls-oabi.S>
|
||||
syscall_table_end sys_oabi_call_table
|
||||
|
||||
|
@ -10,7 +10,7 @@ kapi := $(gen)/asm
|
||||
uapi := $(gen)/uapi/asm
|
||||
syshdr := $(srctree)/$(src)/syscallhdr.sh
|
||||
sysnr := $(srctree)/$(src)/syscallnr.sh
|
||||
systbl := $(srctree)/$(src)/syscalltbl.sh
|
||||
systbl := $(srctree)/scripts/syscalltbl.sh
|
||||
syscall := $(src)/syscall.tbl
|
||||
|
||||
gen-y := $(gen)/calls-oabi.S
|
||||
@ -47,8 +47,7 @@ quiet_cmd_syshdr = SYSHDR $@
|
||||
'__NR_SYSCALL_BASE'
|
||||
|
||||
quiet_cmd_systbl = SYSTBL $@
|
||||
cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
|
||||
'$(systbl_abi_$(basetarget))'
|
||||
cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) $< $@
|
||||
|
||||
quiet_cmd_sysnr = SYSNR $@
|
||||
cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
|
||||
@ -70,10 +69,10 @@ sysnr_abi_unistd-nr := common,oabi,eabi,compat
|
||||
$(kapi)/unistd-nr.h: $(syscall) $(sysnr) FORCE
|
||||
$(call if_changed,sysnr)
|
||||
|
||||
systbl_abi_calls-oabi := common,oabi
|
||||
$(gen)/calls-oabi.S: abis := common,oabi
|
||||
$(gen)/calls-oabi.S: $(syscall) $(systbl) FORCE
|
||||
$(call if_changed,systbl)
|
||||
|
||||
systbl_abi_calls-eabi := common,eabi
|
||||
$(gen)/calls-eabi.S: abis := common,eabi
|
||||
$(gen)/calls-eabi.S: $(syscall) $(systbl) FORCE
|
||||
$(call if_changed,systbl)
|
||||
|
@ -1,22 +0,0 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
while read nr abi name entry compat; do
|
||||
if [ "$abi" = "eabi" -a -n "$compat" ]; then
|
||||
echo "$in: error: a compat entry for an EABI syscall ($name) makes no sense" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -n "$entry" ]; then
|
||||
if [ -z "$compat" ]; then
|
||||
echo "NATIVE($nr, $entry)"
|
||||
else
|
||||
echo "COMPAT($nr, $entry, $compat)"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
) > "$out"
|
Loading…
x
Reference in New Issue
Block a user