mips: syscalls: define syscall offsets directly in <asm/unistd.h>
PATCH 1/2 mips: syscalls: define syscall offsets directly in <asm/unistd.h>
There is no good reason to generate the syscall offset macros by scripting since they are not derived from the syscall tables.
Define __NR_*_Linux macros directly in arch/mips/include/asm/unistd.h, and clean up the Makefile and the shell script.
---
arch/mips/include/asm/unistd.h | 4 ++++ arch/mips/kernel/syscalls/Makefile | 6 +----- arch/mips/kernel/syscalls/syscallnr.sh | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-)
arch/mips/include/asm/unistd.h +4 -0
@@ -17,6 +17,10 @@#include <asm/unistd_nr_n64.h> #include <asm/unistd_nr_o32.h> +#define __NR_N32_Linux 6000 +#define __NR_64_Linux 5000 +#define __NR_O32_Linux 4000 +#ifdef CONFIG_MIPS32_N32 #define NR_syscalls (__NR_N32_Linux + __NR_N32_Linux_syscalls)#elif defined(CONFIG_64BIT )
arch/mips/kernel/syscalls/Makefile +1 -5
@@ -18,8 +18,7 @@ quiet_cmd_syshdr = SYSHDR $@ quiet_cmd_sysnr = SYSNR $@ cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \ '$(sysnr_abis_$(basetarget))' \ - '$(sysnr_pfx_$(basetarget))' \ - '$(sysnr_offset_$(basetarget))' + '$(sysnr_pfx_$(basetarget))' quiet_cmd_systbl = SYSTBL $@ cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@
@@ -34,17 +33,14 @@ $(uapi)/unistd_o32.h: $(syscallo32) $(syshdr) FORCE $(call if_changed,syshdr) sysnr_pfx_unistd_nr_n32 := N32 -sysnr_offset_unistd_nr_n32 := 6000 $(kapi)/unistd_nr_n32.h: $(syscalln32) $(sysnr) FORCE $(call if_changed,sysnr) sysnr_pfx_unistd_nr_n64 := 64 -sysnr_offset_unistd_nr_n64 := 5000 $(kapi)/unistd_nr_n64.h: $(syscalln64) $(sysnr) FORCE $(call if_changed,sysnr) sysnr_pfx_unistd_nr_o32 := O32 -sysnr_offset_unistd_nr_o32 := 4000 $(kapi)/unistd_nr_o32.h: $(syscallo32) $(sysnr) FORCE $(call if_changed,sysnr)
arch/mips/kernel/syscalls/syscallnr.sh +0 -2
@@ -5,7 +5,6 @@ in="$1" out="$2" my_abis=`echo "($3)" | tr ',' '|'` prefix="$4" -offset="$5" fileguard=_UAPI_ASM_MIPS_`basename "$out" | sed \ -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
@@ -20,7 +19,6 @@ grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | ( nxt=$((nr+1)) done - printf "#define __NR_%s_Linux\t%s\n" "${prefix}" "${offset}" printf "#define __NR_%s_Linux_syscalls\t%s\n" "${prefix}" "${nxt}" printf "\n" printf "#endif /* %s */" "${fileguard}"
Signature · 1 line
2.27.0
PATCH 2/2 mips: syscalls: use pattern rules to generate syscall headers
Use pattern rules to unify similar build rules among n32, n64, and o32.
---
arch/mips/kernel/syscalls/Makefile | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-)
arch/mips/kernel/syscalls/Makefile +4 -24
@@ -5,9 +5,6 @@ uapi := arch/$(SRCARCH)/include/generated/uapi/asm _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \ $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') -syscalln32 := $(src)/syscall_n32.tbl -syscalln64 := $(src)/syscall_n64.tbl -syscallo32 := $(src)/syscall_o32.tbl syshdr := $(srctree)/scripts/syscallhdr.sh sysnr := $(srctree)/$(src)/syscallnr.sh systbl := $(srctree)/scripts/syscalltbl.sh
@@ -23,34 +20,17 @@ quiet_cmd_sysnr = SYSNR $@ quiet_cmd_systbl = SYSTBL $@ cmd_systbl = $(CONFIG_SHELL) $(systbl) $< $@ -$(uapi)/unistd_n32.h: $(syscalln32) $(syshdr) FORCE - $(call if_changed,syshdr) - -$(uapi)/unistd_n64.h: $(syscalln64) $(syshdr) FORCE - $(call if_changed,syshdr) - -$(uapi)/unistd_o32.h: $(syscallo32) $(syshdr) FORCE +$(uapi)/unistd_%.h: $(src)/syscall_%.tbl $(syshdr) FORCE $(call if_changed,syshdr) sysnr_pfx_unistd_nr_n32 := N32 -$(kapi)/unistd_nr_n32.h: $(syscalln32) $(sysnr) FORCE - $(call if_changed,sysnr) - sysnr_pfx_unistd_nr_n64 := 64 -$(kapi)/unistd_nr_n64.h: $(syscalln64) $(sysnr) FORCE - $(call if_changed,sysnr) - sysnr_pfx_unistd_nr_o32 := O32 -$(kapi)/unistd_nr_o32.h: $(syscallo32) $(sysnr) FORCE - $(call if_changed,sysnr) - -$(kapi)/syscall_table_n32.h: $(syscalln32) $(systbl) FORCE - $(call if_changed,systbl) -$(kapi)/syscall_table_n64.h: $(syscalln64) $(systbl) FORCE - $(call if_changed,systbl) +$(kapi)/unistd_nr_%.h: $(src)/syscall_%.tbl $(sysnr) FORCE + $(call if_changed,sysnr) -$(kapi)/syscall_table_o32.h: $(syscallo32) $(systbl) FORCE +$(kapi)/syscall_table_%.h: $(src)/syscall_%.tbl $(systbl) FORCE $(call if_changed,systbl) uapisyshdr-y += unistd_n32.h \
Signature · 1 line
2.27.0
Re: [PATCH 2/2] mips: syscalls: use pattern rules to generate syscall headers
Quoted 7 lines · Masahiro Yamada
Use pattern rules to unify similar build rules among n32, n64, and o32.
Signed-off-by Masahiro Yamada <[email protected]>---
arch/mips/kernel/syscalls/Makefile | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-)
applied to mips-next.
Thomas.
Signature · 2 lines
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea. [ RFC1925, 2.3 ]
Quoted 7 lines · Masahiro Yamada
There is no good reason to generate the syscall offset macros by scripting since they are not derived from the syscall tables.
Define __NR_*_Linux macros directly in
arch/mips/include/asm/unistd.h, and clean up theMakefileand the shell script.
Quoted 7 lines
Signed-off-by Masahiro Yamada <[email protected]>---
arch/mips/include/asm/unistd.h | 4 ++++ arch/mips/kernel/syscalls/Makefile | 6 +----- arch/mips/kernel/syscalls/syscallnr.sh | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-)
Quoted 6 lines · Masahiro Yamada
There is no good reason to generate the syscall offset macros by scripting since they are not derived from the syscall tables.
Define __NR_*_Linux macros directly in
arch/mips/include/asm/unistd.h, and clean up theMakefileand the shell script.
Quoted 7 lines
Signed-off-by Masahiro Yamada <[email protected]>---
arch/mips/include/asm/unistd.h | 4 ++++ arch/mips/kernel/syscalls/Makefile | 6 +----- arch/mips/kernel/syscalls/syscallnr.sh | 2 -- 3 files changed, 5 insertions(+), 7 deletions(-)
applied to mips-next.
Thomas.
Signature · 2 lines
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a good idea. [ RFC1925, 2.3 ]