forked from Minki/linux
ARM: 9067/1: syscalls: switch to generic syscallhdr.sh
Many architectures duplicate similar shell scripts. This commit converts ARM to use scripts/syscallhdr.sh, and also collects OABI/OEBI syscalls into unistd-eabi.h/unistd-oabi.h, removing unistd-common.h. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
This commit is contained in:
parent
0047eb9f09
commit
32e9a0d5ff
@ -1,6 +1,5 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
generated-y += unistd-common.h
|
||||
generated-y += unistd-oabi.h
|
||||
generated-y += unistd-eabi.h
|
||||
generic-y += kvm_para.h
|
||||
|
@ -24,7 +24,6 @@
|
||||
#include <asm/unistd-oabi.h>
|
||||
#endif
|
||||
|
||||
#include <asm/unistd-common.h>
|
||||
#define __NR_sync_file_range2 __NR_arm_sync_file_range
|
||||
|
||||
/*
|
||||
|
@ -8,7 +8,7 @@
|
||||
gen := arch/$(ARCH)/include/generated
|
||||
kapi := $(gen)/asm
|
||||
uapi := $(gen)/uapi/asm
|
||||
syshdr := $(srctree)/$(src)/syscallhdr.sh
|
||||
syshdr := $(srctree)/scripts/syscallhdr.sh
|
||||
sysnr := $(srctree)/$(src)/syscallnr.sh
|
||||
systbl := $(srctree)/scripts/syscalltbl.sh
|
||||
syscall := $(src)/syscall.tbl
|
||||
@ -17,7 +17,6 @@ gen-y := $(gen)/calls-oabi.S
|
||||
gen-y += $(gen)/calls-eabi.S
|
||||
kapi-hdrs-y := $(kapi)/unistd-nr.h
|
||||
kapi-hdrs-y += $(kapi)/mach-types.h
|
||||
uapi-hdrs-y := $(uapi)/unistd-common.h
|
||||
uapi-hdrs-y += $(uapi)/unistd-oabi.h
|
||||
uapi-hdrs-y += $(uapi)/unistd-eabi.h
|
||||
|
||||
@ -41,10 +40,8 @@ $(kapi)/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE
|
||||
$(call if_changed,gen_mach)
|
||||
|
||||
quiet_cmd_syshdr = SYSHDR $@
|
||||
cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
|
||||
'$(syshdr_abi_$(basetarget))' \
|
||||
'$(syshdr_pfx_$(basetarget))' \
|
||||
'__NR_SYSCALL_BASE'
|
||||
cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis $(abis) \
|
||||
--offset __NR_SYSCALL_BASE $< $@
|
||||
|
||||
quiet_cmd_systbl = SYSTBL $@
|
||||
cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) $< $@
|
||||
@ -53,15 +50,11 @@ quiet_cmd_sysnr = SYSNR $@
|
||||
cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
|
||||
'$(syshdr_abi_$(basetarget))'
|
||||
|
||||
syshdr_abi_unistd-common := common
|
||||
$(uapi)/unistd-common.h: $(syscall) $(syshdr) FORCE
|
||||
$(call if_changed,syshdr)
|
||||
|
||||
syshdr_abi_unistd-oabi := oabi
|
||||
$(uapi)/unistd-oabi.h: abis := common,oabi
|
||||
$(uapi)/unistd-oabi.h: $(syscall) $(syshdr) FORCE
|
||||
$(call if_changed,syshdr)
|
||||
|
||||
syshdr_abi_unistd-eabi := eabi
|
||||
$(uapi)/unistd-eabi.h: abis := common,eabi
|
||||
$(uapi)/unistd-eabi.h: $(syscall) $(syshdr) FORCE
|
||||
$(call if_changed,syshdr)
|
||||
|
||||
|
@ -1,31 +0,0 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
prefix="$4"
|
||||
offset="$5"
|
||||
|
||||
fileguard=_ASM_ARM_`basename "$out" | sed \
|
||||
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
|
||||
-e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
|
||||
if echo $out | grep -q uapi; then
|
||||
fileguard="_UAPI$fileguard"
|
||||
fi
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
echo "#ifndef ${fileguard}"
|
||||
echo "#define ${fileguard} 1"
|
||||
echo ""
|
||||
|
||||
while read nr abi name entry ; do
|
||||
if [ -z "$offset" ]; then
|
||||
echo "#define __NR_${prefix}${name} $nr"
|
||||
else
|
||||
echo "#define __NR_${prefix}${name} ($offset + $nr)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "#endif /* ${fileguard} */"
|
||||
) > "$out"
|
Loading…
Reference in New Issue
Block a user