Re: [PATCH RFC v3 8/8] mips: Use the common syscall table
André Almeida <[email protected]>
| Newsgroups | org.kernel.vger.linux-kbuild,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Em 07/08/2026 18:02, Arnd Bergmann escreveu: > On Fri, Aug 7, 2026, at 21:34, André Almeida wrote: >> Syscall numbers from 403 are shared with all architectures, so move the >> toolchain to use the common syscall table and remove duplicated code. >> >> The generated files are not exactly the same as before, but they have no >> functional changes: >> >> - for O32 ABI, the syscall table would have entries like >> __SYSCALL_WITH_COMPAT(403, sys_clock_gettime, sys_clock_gettime) >> which is equivalent to the new entry __SYSCALL(403, sys_clock_gettime) >> >> - for N32 ABI, the syscall table would have entries like >> __SYSCALL(413, compat_sys_pselect6_time64), which is equivalent to >> __SYSCALL_WITH_COMPAT(413, sys_pselect6, compat_sys_pselect6_time64) >> given the new __SYSCALL_WITH_COMPAT() definition for N32. >> >> The generated syscall table for N64 is exactly the same. >> >> Signed-off-by: André Almeida <[email protected]> >> --- >> arch/mips/kernel/scall64-n32.S | 1 + >> arch/mips/kernel/syscalls/Makefile | 22 +++++++--- >> arch/mips/kernel/syscalls/syscall_n32.tbl | 68 ------------------------------- >> arch/mips/kernel/syscalls/syscall_n64.tbl | 48 ---------------------- >> arch/mips/kernel/syscalls/syscall_o32.tbl | 68 ------------------------------- >> 5 files changed, 18 insertions(+), 189 deletions(-) > > I still wonder whether we should combine the n32 and n64 tables > here. Since the script can now deal with multiple input files, > the first 211 syscall numbers can be in a shared file, while > numbers 212 through 332 are always going to be different. > > Alternatively, two the files could just be merged into one file > like > > 0 common read sys_read > 1 common write sys_write > ... > 13 common rt_sigaction sys_rt_sigaction compat_sys_rt_sigaction > ... > 210 common remap_file_pages sys_remap_file_pages > 211 common rt_sigreturn sys_rt_sigreturn > ... > 212 32 fcntl64 compat_sys_fcntl64 > 213 32 set_tid_address sys_set_tid_address > ... > 212 64 set_tid_address sys_set_tid_address > 213 64 restart_syscall sys_restart_syscall > > >> -$(kapi)/unistd_nr_%.h: $(src)/syscall_%.tbl $(sysnr) FORCE >> +abis := common,__cln3 >> + >> +abis_n32 := $(abis),32,n32 >> +abis_o32 := $(abis),32,o32 >> +abis_n64 := $(abis),64,n64 > > We should probably drop the custom ABI names here and just use > common/32/64 in the .tbl file. There was never a real need for > the special case here, and now it causes extra complexity. > Ok! I like this ideas, I will prepare it for v4