mirror of https://gitee.com/openkylin/linux.git
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
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
generated-y += unistd-common.h
|
|
||||||
generated-y += unistd-oabi.h
|
generated-y += unistd-oabi.h
|
||||||
generated-y += unistd-eabi.h
|
generated-y += unistd-eabi.h
|
||||||
generic-y += kvm_para.h
|
generic-y += kvm_para.h
|
||||||
|
|
|
@ -24,7 +24,6 @@
|
||||||
#include <asm/unistd-oabi.h>
|
#include <asm/unistd-oabi.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <asm/unistd-common.h>
|
|
||||||
#define __NR_sync_file_range2 __NR_arm_sync_file_range
|
#define __NR_sync_file_range2 __NR_arm_sync_file_range
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
gen := arch/$(ARCH)/include/generated
|
gen := arch/$(ARCH)/include/generated
|
||||||
kapi := $(gen)/asm
|
kapi := $(gen)/asm
|
||||||
uapi := $(gen)/uapi/asm
|
uapi := $(gen)/uapi/asm
|
||||||
syshdr := $(srctree)/$(src)/syscallhdr.sh
|
syshdr := $(srctree)/scripts/syscallhdr.sh
|
||||||
sysnr := $(srctree)/$(src)/syscallnr.sh
|
sysnr := $(srctree)/$(src)/syscallnr.sh
|
||||||
systbl := $(srctree)/scripts/syscalltbl.sh
|
systbl := $(srctree)/scripts/syscalltbl.sh
|
||||||
syscall := $(src)/syscall.tbl
|
syscall := $(src)/syscall.tbl
|
||||||
|
@ -17,7 +17,6 @@ gen-y := $(gen)/calls-oabi.S
|
||||||
gen-y += $(gen)/calls-eabi.S
|
gen-y += $(gen)/calls-eabi.S
|
||||||
kapi-hdrs-y := $(kapi)/unistd-nr.h
|
kapi-hdrs-y := $(kapi)/unistd-nr.h
|
||||||
kapi-hdrs-y += $(kapi)/mach-types.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-oabi.h
|
||||||
uapi-hdrs-y += $(uapi)/unistd-eabi.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)
|
$(call if_changed,gen_mach)
|
||||||
|
|
||||||
quiet_cmd_syshdr = SYSHDR $@
|
quiet_cmd_syshdr = SYSHDR $@
|
||||||
cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
|
cmd_syshdr = $(CONFIG_SHELL) $(syshdr) --abis $(abis) \
|
||||||
'$(syshdr_abi_$(basetarget))' \
|
--offset __NR_SYSCALL_BASE $< $@
|
||||||
'$(syshdr_pfx_$(basetarget))' \
|
|
||||||
'__NR_SYSCALL_BASE'
|
|
||||||
|
|
||||||
quiet_cmd_systbl = SYSTBL $@
|
quiet_cmd_systbl = SYSTBL $@
|
||||||
cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) $< $@
|
cmd_systbl = $(CONFIG_SHELL) $(systbl) --abis $(abis) $< $@
|
||||||
|
@ -53,15 +50,11 @@ quiet_cmd_sysnr = SYSNR $@
|
||||||
cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
|
cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
|
||||||
'$(syshdr_abi_$(basetarget))'
|
'$(syshdr_abi_$(basetarget))'
|
||||||
|
|
||||||
syshdr_abi_unistd-common := common
|
$(uapi)/unistd-oabi.h: abis := common,oabi
|
||||||
$(uapi)/unistd-common.h: $(syscall) $(syshdr) FORCE
|
|
||||||
$(call if_changed,syshdr)
|
|
||||||
|
|
||||||
syshdr_abi_unistd-oabi := oabi
|
|
||||||
$(uapi)/unistd-oabi.h: $(syscall) $(syshdr) FORCE
|
$(uapi)/unistd-oabi.h: $(syscall) $(syshdr) FORCE
|
||||||
$(call if_changed,syshdr)
|
$(call if_changed,syshdr)
|
||||||
|
|
||||||
syshdr_abi_unistd-eabi := eabi
|
$(uapi)/unistd-eabi.h: abis := common,eabi
|
||||||
$(uapi)/unistd-eabi.h: $(syscall) $(syshdr) FORCE
|
$(uapi)/unistd-eabi.h: $(syscall) $(syshdr) FORCE
|
||||||
$(call if_changed,syshdr)
|
$(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