Re: [PATCH 0/3] System call table generation support

From: Paul Burton
Date: Mon Sep 17 2018 - 13:17:44 EST


Hi Firoz,

On Fri, Sep 14, 2018 at 02:08:31PM +0530, Firoz Khan wrote:
> The purpose of this patch series is:
> 1. We can easily add/modify/delete system call by changing entry
> in syscall.tbl file. No need to manually edit many files.
>
> 2. It is easy to unify the system call implementation across all
> the architectures.
>
> The system call tables are in different format in all architecture
> and it will be difficult to manually add or modify the system calls
> in the respective files manually. To make it easy by keeping a script
> and which'll generate the header file and syscall table file so this
> change will unify them across all architectures.

Interesting :)

I actually started on something similar recently with the goals of
reducing the need to adjust both asm/unistd.h & the syscall entry tables
when adding syscalls, clean up asm/unistd.h a bit & make it
easier/cleaner to add support for nanoMIPS & the P32 ABI.

My branch still needed some work but it's here if you're interested:

git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git wip-mips-syscalls

https://git.kernel.org/pub/scm/linux/kernel/git/mips/linux.git/log/?h=wip-mips-syscalls

There are some differences:

- I'd placed syscall numbers the 3 current MIPS ABIs in one table,
rather than splitting it up. I can see pros & cons to both though so
I'm not tied to having a single all-encompassing table.

- I'd mostly inferred the entry point names from the syscall names,
only specifying them where they differ. Again I'm not particularly
tied to this.

- I'd made asm/unistd.h behave like asm-generic/unistd.h with the
__SYSCALL() macro, where you generate separate syscall_table_*
headers. I'm fine with that too.

So I'm pretty happy to go with your series, though I agree with Arnd on
the ABI/file naming & the missing syscalls that were added in the 4.18
cycle. We probably need to provide mipsmt_sys_sched_[gs]etaffinity as
aliases to sys_sched_[gs]etaffinity when CONFIG_MIPS_MT_FPAFF isn't
enabled in order to fix the issue the kbuild test robot reported.

But I'm looking forward to v2 :)

Thanks,
Paul