From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arnd Bergmann Subject: Re: [PATCH 0/3] System call table generation support Date: Thu, 20 Sep 2018 07:52:03 -0700 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: Firoz Khan , Hauke Mehrtens , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , "open list:RALINK MIPS ARCHITECTURE" , Ralf Baechle , James Hogan , gregkh , Philippe Ombredanne , Thomas Gleixner , Kate Stewart , y2038 Mailman List , Linux Kernel Mailing List , linux-arch , Deepa Dinamani , Marcin Juszkiewicz List-Id: linux-arch.vger.kernel.org On Mon, Sep 17, 2018 at 10:17 AM Paul Burton wrote: > 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 This looks like a very nice approach that we would probably prefer if we wanted to do it only for mips. The way Firoz did it makes sense in the context of doing it the same way on all architectures, where usually the information is more accessible to human readers by using the number as the primary key. Speaking of nanoMIPS, what is your plan for the syscall ABI there? I can see two ways of approaching it: a) keep all the MIPSisms in the data structures, and just use a subset of o32 that drops all the obsolete entry points b) start over and stay as close as possible to the generic ABI, using the asm-generic versions of both the syscall table and the uapi header files instead of the traditional version. Arnd Arnd From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-f193.google.com ([209.85.222.193]:44188 "EHLO mail-qk1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731025AbeITUgP (ORCPT ); Thu, 20 Sep 2018 16:36:15 -0400 MIME-Version: 1.0 References: <1536914314-5026-1-git-send-email-firoz.khan@linaro.org> <20180917171720.wda5qrl7hyyacmwl@pburton-laptop> In-Reply-To: <20180917171720.wda5qrl7hyyacmwl@pburton-laptop> From: Arnd Bergmann Date: Thu, 20 Sep 2018 07:52:03 -0700 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: Firoz Khan , Hauke Mehrtens , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , "open list:RALINK MIPS ARCHITECTURE" , Ralf Baechle , James Hogan , gregkh , Philippe Ombredanne , Thomas Gleixner , Kate Stewart , y2038 Mailman List , Linux Kernel Mailing List , linux-arch , Deepa Dinamani , Marcin Juszkiewicz Message-ID: <20180920145203.XuBRi9KZ284KAJfWov2FcDPiVG5u4juH30EHKge8pME@z> On Mon, Sep 17, 2018 at 10:17 AM Paul Burton wrote: > 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 This looks like a very nice approach that we would probably prefer if we wanted to do it only for mips. The way Firoz did it makes sense in the context of doing it the same way on all architectures, where usually the information is more accessible to human readers by using the number as the primary key. Speaking of nanoMIPS, what is your plan for the syscall ABI there? I can see two ways of approaching it: a) keep all the MIPSisms in the data structures, and just use a subset of o32 that drops all the obsolete entry points b) start over and stay as close as possible to the generic ABI, using the asm-generic versions of both the syscall table and the uapi header files instead of the traditional version. Arnd Arnd