mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-28 07:04:00 +08:00
mips: syscalls: switch to generic syscalltbl.sh
Many architectures duplicate similar shell scripts. This commit converts mips to use scripts/syscalltbl.sh. This also unifies syscall_table_32_o32.h and syscall_table_64_o32.h into syscall_table_o32.h. The offset parameters are unneeded here; __SYSCALL(nr, entry) is defined as 'PTR entry', so the parameter 'nr' is not used in the first place. With this commit, syscall tables and generated files are straight mapped, which makes things easier to understand. syscall_n32.tbl --> syscall_table_n32.h syscall_n64.tbl --> syscall_table_n64.h syscall_o32.tbl --> syscall_table_o32.h Then, the abi parameters are also unneeded. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
This commit is contained in:
parent
45c7e8af4a
commit
ecbba30fbf
@ -1,9 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# MIPS headers
|
||||
generated-y += syscall_table_32_o32.h
|
||||
generated-y += syscall_table_64_n32.h
|
||||
generated-y += syscall_table_64_n64.h
|
||||
generated-y += syscall_table_64_o32.h
|
||||
generated-y += syscall_table_n32.h
|
||||
generated-y += syscall_table_n64.h
|
||||
generated-y += syscall_table_o32.h
|
||||
generated-y += unistd_nr_n32.h
|
||||
generated-y += unistd_nr_n64.h
|
||||
generated-y += unistd_nr_o32.h
|
||||
|
@ -217,9 +217,9 @@ einval: li v0, -ENOSYS
|
||||
#define sys_sched_getaffinity mipsmt_sys_sched_getaffinity
|
||||
#endif /* CONFIG_MIPS_MT_FPAFF */
|
||||
|
||||
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
|
||||
#define __SYSCALL(nr, entry) PTR entry
|
||||
.align 2
|
||||
.type sys_call_table, @object
|
||||
EXPORT(sys_call_table)
|
||||
#include <asm/syscall_table_32_o32.h>
|
||||
#undef __SYSCALL
|
||||
#include <asm/syscall_table_o32.h>
|
||||
|
@ -104,5 +104,4 @@ not_n32_scall:
|
||||
#define __SYSCALL(nr, entry) PTR entry
|
||||
.type sysn32_call_table, @object
|
||||
EXPORT(sysn32_call_table)
|
||||
#include <asm/syscall_table_64_n32.h>
|
||||
#undef __SYSCALL
|
||||
#include <asm/syscall_table_n32.h>
|
||||
|
@ -113,5 +113,4 @@ illegal_syscall:
|
||||
.align 3
|
||||
.type sys_call_table, @object
|
||||
EXPORT(sys_call_table)
|
||||
#include <asm/syscall_table_64_n64.h>
|
||||
#undef __SYSCALL
|
||||
#include <asm/syscall_table_n64.h>
|
||||
|
@ -213,9 +213,9 @@ einval: li v0, -ENOSYS
|
||||
jr ra
|
||||
END(sys32_syscall)
|
||||
|
||||
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat)
|
||||
#define __SYSCALL(nr, entry) PTR entry
|
||||
.align 3
|
||||
.type sys32_call_table,@object
|
||||
EXPORT(sys32_call_table)
|
||||
#include <asm/syscall_table_64_o32.h>
|
||||
#undef __SYSCALL
|
||||
#include <asm/syscall_table_o32.h>
|
||||
|
@ -10,7 +10,7 @@ syscalln64 := $(src)/syscall_n64.tbl
|
||||
syscallo32 := $(src)/syscall_o32.tbl
|
||||
syshdr := $(srctree)/$(src)/syscallhdr.sh
|
||||
sysnr := $(srctree)/$(src)/syscallnr.sh
|
||||
systbl := $(srctree)/$(src)/syscalltbl.sh
|
||||
systbl := $(srctree)/scripts/syscalltbl.sh
|
||||
|
||||
quiet_cmd_syshdr = SYSHDR $@
|
||||
cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
|
||||
@ -25,10 +25,7 @@ quiet_cmd_sysnr = SYSNR $@
|
||||
'$(sysnr_offset_$(basetarget))'
|
||||
|
||||
quiet_cmd_systbl = SYSTBL $@
|
||||
cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
|
||||
'$(systbl_abis_$(basetarget))' \
|
||||
'$(systbl_abi_$(basetarget))' \
|
||||
'$(systbl_offset_$(basetarget))'
|
||||
cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
|
||||
|
||||
syshdr_offset_unistd_n32 := __NR_Linux
|
||||
$(uapi)/unistd_n32.h: $(syscalln32) $(syshdr) FORCE
|
||||
@ -57,33 +54,21 @@ sysnr_offset_unistd_nr_o32 := 4000
|
||||
$(kapi)/unistd_nr_o32.h: $(syscallo32) $(sysnr) FORCE
|
||||
$(call if_changed,sysnr)
|
||||
|
||||
systbl_abi_syscall_table_32_o32 := 32_o32
|
||||
systbl_offset_syscall_table_32_o32 := 4000
|
||||
$(kapi)/syscall_table_32_o32.h: $(syscallo32) $(systbl) FORCE
|
||||
$(kapi)/syscall_table_n32.h: $(syscalln32) $(systbl) FORCE
|
||||
$(call if_changed,systbl)
|
||||
|
||||
systbl_abi_syscall_table_64_n32 := 64_n32
|
||||
systbl_offset_syscall_table_64_n32 := 6000
|
||||
$(kapi)/syscall_table_64_n32.h: $(syscalln32) $(systbl) FORCE
|
||||
$(kapi)/syscall_table_n64.h: $(syscalln64) $(systbl) FORCE
|
||||
$(call if_changed,systbl)
|
||||
|
||||
systbl_abi_syscall_table_64_n64 := 64_n64
|
||||
systbl_offset_syscall_table_64_n64 := 5000
|
||||
$(kapi)/syscall_table_64_n64.h: $(syscalln64) $(systbl) FORCE
|
||||
$(call if_changed,systbl)
|
||||
|
||||
systbl_abi_syscall_table_64_o32 := 64_o32
|
||||
systbl_offset_syscall_table_64_o32 := 4000
|
||||
$(kapi)/syscall_table_64_o32.h: $(syscallo32) $(systbl) FORCE
|
||||
$(kapi)/syscall_table_o32.h: $(syscallo32) $(systbl) FORCE
|
||||
$(call if_changed,systbl)
|
||||
|
||||
uapisyshdr-y += unistd_n32.h \
|
||||
unistd_n64.h \
|
||||
unistd_o32.h
|
||||
kapisyshdr-y += syscall_table_32_o32.h \
|
||||
syscall_table_64_n32.h \
|
||||
syscall_table_64_n64.h \
|
||||
syscall_table_64_o32.h \
|
||||
kapisyshdr-y += syscall_table_n32.h \
|
||||
syscall_table_n64.h \
|
||||
syscall_table_o32.h \
|
||||
unistd_nr_n32.h \
|
||||
unistd_nr_n64.h \
|
||||
unistd_nr_o32.h
|
||||
|
@ -1,36 +0,0 @@
|
||||
#!/bin/sh
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
in="$1"
|
||||
out="$2"
|
||||
my_abis=`echo "($3)" | tr ',' '|'`
|
||||
my_abi="$4"
|
||||
offset="$5"
|
||||
|
||||
emit() {
|
||||
t_nxt="$1"
|
||||
t_nr="$2"
|
||||
t_entry="$3"
|
||||
|
||||
while [ $t_nxt -lt $t_nr ]; do
|
||||
printf "__SYSCALL(%s,sys_ni_syscall)\n" "${t_nxt}"
|
||||
t_nxt=$((t_nxt+1))
|
||||
done
|
||||
printf "__SYSCALL(%s,%s)\n" "${t_nxt}" "${t_entry}"
|
||||
}
|
||||
|
||||
grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
|
||||
nxt=0
|
||||
if [ -z "$offset" ]; then
|
||||
offset=0
|
||||
fi
|
||||
|
||||
while read nr abi name entry compat ; do
|
||||
if [ "$my_abi" = "64_o32" ] && [ ! -z "$compat" ]; then
|
||||
emit $((nxt+offset)) $((nr+offset)) $compat
|
||||
else
|
||||
emit $((nxt+offset)) $((nr+offset)) $entry
|
||||
fi
|
||||
nxt=$((nr+1))
|
||||
done
|
||||
) > "$out"
|
Loading…
Reference in New Issue
Block a user