mbox series

[v3,0/5] alpha: system call table generation support

Message ID 1542101513-22010-1-git-send-email-firoz.khan@linaro.org
Headers show
Series alpha: system call table generation support | expand

Message

Firoz Khan Nov. 13, 2018, 9:31 a.m. UTC
The purpose of this patch series is, we can easily
add/modify/delete system call table support by cha-
nging entry in syscall.tbl file instead of manually
changing many files. The other goal is to unify the
system call table generation support implementation
across all the architectures.

The system call tables are in different format in
all architecture. It will be difficult to manually
add, modify or delete the system calls in the resp-
ective files manually. To make it easy by keeping a
script and which'll generate uapi header file and
syscall table file.

syscall.tbl contains the list of available system
calls along with system call number and correspond-
ing entry point. Add a new system call in this arch-
itecture will be possible by adding new entry in the
syscall.tbl file.

Adding a new table entry consisting of:
        - System call number.
        - ABI.
        - System call name.
        - Entry point name.

ARM, s390 and x86 architecuture does exist the sim-
ilar support. I leverage their implementation to
come up with a generic solution.

I have done the same support for work for ia64, m68k, 
microblaze, mips, parisc, powerpc, sh, sparc and xtensa.
Below mentioned git repository contains more details
about the workflow.

https://github.com/frzkhn/system_call_table_generator/

Finally, this is the ground work to solve the Y2038
issue. We need to add two dozen of system calls to
solve Y2038 issue. So this patch series will help to
add new system calls easily by adding new entry in
the syscall.tbl.

changes since v2:
 - changed from generic-y to generated-y in Kbuild.
 - made changes in syscall.tbl for removing entry - 
   alpha_ni_syscall.

changes since v1:
 - optimized/updated the syscall table generation
   scripts.
 - fixed all mixed indentation issues in syscall.tbl.
 - added "comments" in syscall.tbl.
 - enclosed __NR_sycalls macro with __KERNEL__.
 - added missing new line.

Firoz Khan (5):
  alpha: move __IGNORE* entries to non uapi header
  alpha: remove CONFIG_OSF4_COMPAT flag from syscall table
  alpha: add __NR_syscalls along with NR_SYSCALLS
  alpha: add system call table generation support
  alpha: generate uapi header and syscall table header files

 arch/alpha/Makefile                      |   3 +
 arch/alpha/include/asm/Kbuild            |   2 +-
 arch/alpha/include/asm/unistd.h          |  23 +-
 arch/alpha/include/uapi/asm/Kbuild       |   1 +
 arch/alpha/include/uapi/asm/unistd.h     | 484 +--------------------------
 arch/alpha/kernel/osf_sys.c              |   9 +-
 arch/alpha/kernel/syscalls/Makefile      |  38 +++
 arch/alpha/kernel/syscalls/syscall.tbl   | 453 ++++++++++++++++++++++++++
 arch/alpha/kernel/syscalls/syscallhdr.sh |  36 ++
 arch/alpha/kernel/syscalls/syscalltbl.sh |  32 ++
 arch/alpha/kernel/systbls.S              | 542 +------------------------------
 11 files changed, 596 insertions(+), 1027 deletions(-)
 create mode 100644 arch/alpha/kernel/syscalls/Makefile
 create mode 100644 arch/alpha/kernel/syscalls/syscall.tbl
 create mode 100644 arch/alpha/kernel/syscalls/syscallhdr.sh
 create mode 100644 arch/alpha/kernel/syscalls/syscalltbl.sh

-- 
1.9.1

Comments

Firoz Khan Dec. 14, 2018, 3:17 p.m. UTC | #1
Hi Folks,

On Tue, 13 Nov 2018 at 15:02, Firoz Khan <firoz.khan@linaro.org> wrote:
>

> The purpose of this patch series is, we can easily

> add/modify/delete system call table support by cha-

> nging entry in syscall.tbl file instead of manually

> changing many files. The other goal is to unify the

> system call table generation support implementation

> across all the architectures.

>

> The system call tables are in different format in

> all architecture. It will be difficult to manually

> add, modify or delete the system calls in the resp-

> ective files manually. To make it easy by keeping a

> script and which'll generate uapi header file and

> syscall table file.

>

> syscall.tbl contains the list of available system

> calls along with system call number and correspond-

> ing entry point. Add a new system call in this arch-

> itecture will be possible by adding new entry in the

> syscall.tbl file.

>

> Adding a new table entry consisting of:

>         - System call number.

>         - ABI.

>         - System call name.

>         - Entry point name.

>

> ARM, s390 and x86 architecuture does exist the sim-

> ilar support. I leverage their implementation to

> come up with a generic solution.

>

> I have done the same support for work for ia64, m68k,

> microblaze, mips, parisc, powerpc, sh, sparc and xtensa.

> Below mentioned git repository contains more details

> about the workflow.

>

> https://github.com/frzkhn/system_call_table_generator/

>

> Finally, this is the ground work to solve the Y2038

> issue. We need to add two dozen of system calls to

> solve Y2038 issue. So this patch series will help to

> add new system calls easily by adding new entry in

> the syscall.tbl.

>

> changes since v2:

>  - changed from generic-y to generated-y in Kbuild.

>  - made changes in syscall.tbl for removing entry -

>    alpha_ni_syscall.

>

> changes since v1:

>  - optimized/updated the syscall table generation

>    scripts.

>  - fixed all mixed indentation issues in syscall.tbl.

>  - added "comments" in syscall.tbl.

>  - enclosed __NR_sycalls macro with __KERNEL__.

>  - added missing new line.

>

> Firoz Khan (5):

>   alpha: move __IGNORE* entries to non uapi header

>   alpha: remove CONFIG_OSF4_COMPAT flag from syscall table

>   alpha: add __NR_syscalls along with NR_SYSCALLS

>   alpha: add system call table generation support

>   alpha: generate uapi header and syscall table header files


Could someone review this patch series and queue it for 4.21
through alpha tree would be great.

Thanks
Firoz
Matt Turner Dec. 19, 2018, 3:59 p.m. UTC | #2
On Fri, Dec 14, 2018 at 10:18 AM Firoz Khan <firoz.khan@linaro.org> wrote:
>

> Hi Folks,

>

> On Tue, 13 Nov 2018 at 15:02, Firoz Khan <firoz.khan@linaro.org> wrote:

> >

> > The purpose of this patch series is, we can easily

> > add/modify/delete system call table support by cha-

> > nging entry in syscall.tbl file instead of manually

> > changing many files. The other goal is to unify the

> > system call table generation support implementation

> > across all the architectures.

> >

> > The system call tables are in different format in

> > all architecture. It will be difficult to manually

> > add, modify or delete the system calls in the resp-

> > ective files manually. To make it easy by keeping a

> > script and which'll generate uapi header file and

> > syscall table file.

> >

> > syscall.tbl contains the list of available system

> > calls along with system call number and correspond-

> > ing entry point. Add a new system call in this arch-

> > itecture will be possible by adding new entry in the

> > syscall.tbl file.

> >

> > Adding a new table entry consisting of:

> >         - System call number.

> >         - ABI.

> >         - System call name.

> >         - Entry point name.

> >

> > ARM, s390 and x86 architecuture does exist the sim-

> > ilar support. I leverage their implementation to

> > come up with a generic solution.

> >

> > I have done the same support for work for ia64, m68k,

> > microblaze, mips, parisc, powerpc, sh, sparc and xtensa.

> > Below mentioned git repository contains more details

> > about the workflow.

> >

> > https://github.com/frzkhn/system_call_table_generator/

> >

> > Finally, this is the ground work to solve the Y2038

> > issue. We need to add two dozen of system calls to

> > solve Y2038 issue. So this patch series will help to

> > add new system calls easily by adding new entry in

> > the syscall.tbl.

> >

> > changes since v2:

> >  - changed from generic-y to generated-y in Kbuild.

> >  - made changes in syscall.tbl for removing entry -

> >    alpha_ni_syscall.

> >

> > changes since v1:

> >  - optimized/updated the syscall table generation

> >    scripts.

> >  - fixed all mixed indentation issues in syscall.tbl.

> >  - added "comments" in syscall.tbl.

> >  - enclosed __NR_sycalls macro with __KERNEL__.

> >  - added missing new line.

> >

> > Firoz Khan (5):

> >   alpha: move __IGNORE* entries to non uapi header

> >   alpha: remove CONFIG_OSF4_COMPAT flag from syscall table

> >   alpha: add __NR_syscalls along with NR_SYSCALLS

> >   alpha: add system call table generation support

> >   alpha: generate uapi header and syscall table header files

>

> Could someone review this patch series and queue it for 4.21

> through alpha tree would be great.


Thank you! I'll take a look.
Arnd Bergmann Dec. 19, 2018, 5:08 p.m. UTC | #3
On Wed, Dec 19, 2018 at 4:59 PM Matt Turner <mattst88@gmail.com> wrote:
> On Fri, Dec 14, 2018 at 10:18 AM Firoz Khan <firoz.khan@linaro.org> wrote:

> > On Tue, 13 Nov 2018 at 15:02, Firoz Khan <firoz.khan@linaro.org> wrote:

> >

> > Could someone review this patch series and queue it for 4.21

> > through alpha tree would be great.

>

> Thank you! I'll take a look.


Hi Matt,

I see that you merged the changes a while ago into

git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha#for-linus

This all seems fine, but they never showed up in linux-next,
which his what had both Firoz and me confused.

Is that intentional, or should it be added there?

Added Stephen to Cc here in case you want it added.

       Arnd
Matt Turner Dec. 21, 2018, 4:46 p.m. UTC | #4
On Wed, Dec 19, 2018 at 12:08 PM Arnd Bergmann <arnd@arndb.de> wrote:
>

> On Wed, Dec 19, 2018 at 4:59 PM Matt Turner <mattst88@gmail.com> wrote:

> > On Fri, Dec 14, 2018 at 10:18 AM Firoz Khan <firoz.khan@linaro.org> wrote:

> > > On Tue, 13 Nov 2018 at 15:02, Firoz Khan <firoz.khan@linaro.org> wrote:

> > >

> > > Could someone review this patch series and queue it for 4.21

> > > through alpha tree would be great.

> >

> > Thank you! I'll take a look.

>

> Hi Matt,

>

> I see that you merged the changes a while ago into

>

> git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha#for-linus

>

> This all seems fine, but they never showed up in linux-next,

> which his what had both Firoz and me confused.

>

> Is that intentional, or should it be added there?


Probably so. This is just a super part-time thing for me, so I've
never figured out what I needed to do to be included in linux-next.

> Added Stephen to Cc here in case you want it added.


Thanks!
Stephen Rothwell Dec. 22, 2018, 10:27 a.m. UTC | #5
Hi Matt,

On Fri, 21 Dec 2018 11:46:59 -0500 Matt Turner <mattst88@gmail.com> wrote:
>

> Probably so. This is just a super part-time thing for me, so I've

> never figured out what I needed to do to be included in linux-next.


The requirements are:

"You will need to ensure that the patches/commits in your tree/series have
been:
     * submitted under GPL v2 (or later) and include the Contributor's
        Signed-off-by,
     * posted to the relevant mailing list,
     * reviewed by you (or another maintainer of your subsystem tree),
     * successfully unit tested, and 
     * destined for the current or next Linux merge window.

Basically, this should be just what you would send to Linus (or ask him
to fetch).  It is allowed to be rebased if you deem it necessary."

Just send me an email with the URL of a git tree that has a branch that
I can fetch every day.

However, I am not doing any releases until Jan 2, so it will be
included then.

-- 
Cheers,
Stephen Rothwell