Skip to content

Commit

Permalink
sparc: syscalls: switch to generic syscalltbl.sh
Browse files Browse the repository at this point in the history
Many architectures duplicate similar shell scripts.

This commit converts sparc to use scripts/syscalltbl.sh. This also
unifies syscall_table_64.h and syscall_table_c32.h.

Signed-off-by: Masahiro Yamada <[email protected]>
  • Loading branch information
masahir0y committed May 1, 2021
1 parent eb61114 commit 5ad4e94
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 56 deletions.
1 change: 0 additions & 1 deletion arch/sparc/include/asm/Kbuild
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# SPDX-License-Identifier: GPL-2.0
generated-y += syscall_table_32.h
generated-y += syscall_table_64.h
generated-y += syscall_table_c32.h
generic-y += export.h
generic-y += kvm_para.h
generic-y += mcs_spinlock.h
19 changes: 5 additions & 14 deletions arch/sparc/kernel/syscalls/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ _dummy := $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)') \

syscall := $(src)/syscall.tbl
syshdr := $(srctree)/$(src)/syscallhdr.sh
systbl := $(srctree)/$(src)/syscalltbl.sh
systbl := $(srctree)/scripts/syscalltbl.sh

quiet_cmd_syshdr = SYSHDR $@
cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
Expand All @@ -16,10 +16,7 @@ quiet_cmd_syshdr = SYSHDR $@
'$(syshdr_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) --abis $(abis) $< $@

syshdr_abis_unistd_32 := common,32
$(uapi)/unistd_32.h: $(syscall) $(syshdr) FORCE
Expand All @@ -29,23 +26,17 @@ syshdr_abis_unistd_64 := common,64
$(uapi)/unistd_64.h: $(syscall) $(syshdr) FORCE
$(call if_changed,syshdr)

systbl_abis_syscall_table_32 := common,32
$(kapi)/syscall_table_32.h: abis := common,32
$(kapi)/syscall_table_32.h: $(syscall) $(systbl) FORCE
$(call if_changed,systbl)

systbl_abis_syscall_table_64 := common,64
$(kapi)/syscall_table_64.h: abis := common,64
$(kapi)/syscall_table_64.h: $(syscall) $(systbl) FORCE
$(call if_changed,systbl)

systbl_abis_syscall_table_c32 := common,32
systbl_abi_syscall_table_c32 := c32
$(kapi)/syscall_table_c32.h: $(syscall) $(systbl) FORCE
$(call if_changed,systbl)

uapisyshdr-y += unistd_32.h unistd_64.h
kapisyshdr-y += syscall_table_32.h \
syscall_table_64.h \
syscall_table_c32.h
syscall_table_64.h

uapisyshdr-y := $(addprefix $(uapi)/, $(uapisyshdr-y))
kapisyshdr-y := $(addprefix $(kapi)/, $(kapisyshdr-y))
Expand Down
36 changes: 0 additions & 36 deletions arch/sparc/kernel/syscalls/syscalltbl.sh

This file was deleted.

4 changes: 2 additions & 2 deletions arch/sparc/kernel/systbls_32.S
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@
* Copyright (C) 1995 Adrian M. Rodriguez ([email protected])
*/

#define __SYSCALL(nr, entry, nargs) .long entry
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
#define __SYSCALL(nr, entry) .long entry
.data
.align 4
.globl sys_call_table
sys_call_table:
#include <asm/syscall_table_32.h> /* 32-bit native syscalls */
#undef __SYSCALL
8 changes: 5 additions & 3 deletions arch/sparc/kernel/systbls_64.S
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,20 @@
* Copyright (C) 1995 Adrian M. Rodriguez ([email protected])
*/

#define __SYSCALL(nr, entry, nargs) .word entry
#define __SYSCALL(nr, entry) .word entry
.text
.align 4
#ifdef CONFIG_COMPAT
.globl sys_call_table32
sys_call_table32:
#include <asm/syscall_table_c32.h> /* Compat syscalls */
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, compat)
#include <asm/syscall_table_32.h> /* Compat syscalls */
#undef __SYSCALL_WITH_COMPAT
#endif /* CONFIG_COMPAT */

.align 4
.globl sys_call_table64, sys_call_table
sys_call_table64:
sys_call_table:
#define __SYSCALL_WITH_COMPAT(nr, native, compat) __SYSCALL(nr, native)
#include <asm/syscall_table_64.h> /* 64-bit native syscalls */
#undef __SYSCALL

0 comments on commit 5ad4e94

Please sign in to comment.