From mboxrd@z Thu Jan 1 00:00:00 1970 From: Firoz Khan Subject: Re: [PATCH 0/3] System call table generation support Date: Tue, 18 Sep 2018 19:43:06 +0530 Message-ID: References: <1536914314-5026-1-git-send-email-firoz.khan@linaro.org> <20180917171720.wda5qrl7hyyacmwl@pburton-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Return-path: In-Reply-To: <20180917171720.wda5qrl7hyyacmwl@pburton-laptop> Sender: linux-kernel-owner@vger.kernel.org To: Paul Burton Cc: Hauke Mehrtens , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , "linux-mips@linux-mips.org" , Ralf Baechle , James Hogan , Greg Kroah-Hartman , Philippe Ombredanne , Thomas Gleixner , Kate Stewart , "y2038@lists.linaro.org" , "linux-kernel@vger.kernel.org" , "linux-arch@vger.kernel.org" , "arnd@arndb.de" , "deepa.kernel@gmail.com" , "marcin.juszkiewicz@linaro.org" List-Id: linux-arch.vger.kernel.org On 17 September 2018 at 22:47, Paul Burton wrote: > 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 Thanks for your comments :) We're planning to come up with a generic script for system call table generation across all the architecture. So certain things I have to keep same across all the architecture. Having a single script is always our plan for long run. But I have to keep a separate versions for the start so each architecture can be handled in one series. Which would make easier to merge in the initial version. we could probably add it to scripts/*.sh first, but that requires more coordination between the architectures. - Firoz From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yb1-f195.google.com ([209.85.219.195]:43439 "EHLO mail-yb1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729689AbeIRTpy (ORCPT ); Tue, 18 Sep 2018 15:45:54 -0400 Received: by mail-yb1-f195.google.com with SMTP id w80-v6so851942ybe.10 for ; Tue, 18 Sep 2018 07:13:06 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20180917171720.wda5qrl7hyyacmwl@pburton-laptop> References: <1536914314-5026-1-git-send-email-firoz.khan@linaro.org> <20180917171720.wda5qrl7hyyacmwl@pburton-laptop> From: Firoz Khan Date: Tue, 18 Sep 2018 19:43:06 +0530 Message-ID: Subject: Re: [PATCH 0/3] System call table generation support Content-Type: text/plain; charset="UTF-8" Sender: linux-arch-owner@vger.kernel.org List-ID: To: Paul Burton Cc: Hauke Mehrtens , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , "linux-mips@linux-mips.org" , Ralf Baechle , James Hogan , Greg Kroah-Hartman , Philippe Ombredanne , Thomas Gleixner , Kate Stewart , "y2038@lists.linaro.org" , "linux-kernel@vger.kernel.org" , "linux-arch@vger.kernel.org" , "arnd@arndb.de" , "deepa.kernel@gmail.com" , "marcin.juszkiewicz@linaro.org" Message-ID: <20180918141306.jx8d1PdPdcF7gPiJ5ZJ2RQb5BqXchfy2-wK98hD7QiA@z> On 17 September 2018 at 22:47, Paul Burton wrote: > 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 Thanks for your comments :) We're planning to come up with a generic script for system call table generation across all the architecture. So certain things I have to keep same across all the architecture. Having a single script is always our plan for long run. But I have to keep a separate versions for the start so each architecture can be handled in one series. Which would make easier to merge in the initial version. we could probably add it to scripts/*.sh first, but that requires more coordination between the architectures. - Firoz