lkml.org 
[lkml]   [2018]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v7 0/5] parisc: system call table generation support
Hi Helge,

On Sat, 17 Nov 2018 at 22:01, Helge Deller <deller@gmx.de> wrote:
>
> * Arnd Bergmann <arnd@arndb.de>:
> > On Fri, Nov 16, 2018 at 1:55 PM Helge Deller <deller@gmx.de> wrote:
> > > > On Fri, 16 Nov 2018 at 01:01, Helge Deller <deller@gmx.de> wrote:
> > > > >
> > > > > On 14.11.2018 07:34, Firoz Khan 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.
> > > > > >
> > > > > > ....
> > > > > > Firoz Khan (5):
> > > > > > parisc: move __IGNORE* entries to non uapi header
> > > > > > parisc: add __NR_syscalls along with __NR_Linux_syscalls
> > > > > > parisc: add system call table generation support
> > > > > > parisc: generate uapi header and system call table files
> > > > > > parisc: syscalls: ignore nfsservctl for other architectures
> > > > >
> > > > > Firoz, you may add
> > > > > Acked-by: Helge Deller <deller@gmx.de>
> > > > > to the whole parisc series.
> > > >
> > > > Sure, will do.
> > > > I'm on a vacation right now. will send mid next week.
> > >
> > > That's ok, there is no urgency.
> > >
> > > Actually, I noticed that the generated files unistd_32.h
> > > and unistd_64.h do have the same contents, since on parisc
> > > we keep the syscall numbers the same for 32- and 64-bit.
> > > With that in mind, we can simply generate on unistd.h
> > > file for both variants.
> >
> > It depends on what we want to do in the future. When we add
> > around 20 new system calls fro y2038, my plan was to
> > only add them for 32-bit architectures, leaving holes on
> > 64-bit ones.
>
> Ok, I didn't thought of that.
>
> > We can also assign the new numbers on parisc64 but they would have the
> > same entry point as existing calls.
>
> > If you prefer doing it like that, your patch seems fine for that,
> > it's just slightly inconsistent with the other 64-bit architectures
> > then.
>
> I really prefer to stay in sync with other major architectures.
> So, please drop my last patch.
>
> Instead please apply only the next one, which drops the NR_Linux
> offset value (which is 0 anyway).

This can be easily done. FYI, our intention is the generated file must be
same as the old one. That's why I kept the offset as it is. I can add
one extra patch to remove NR_Linux.

>
> Thanks,
> Helge
>
>
> diff --git a/arch/parisc/include/uapi/asm/unistd.h b/arch/parisc/include/uapi/asm/unistd.h
> index 6e31f58ad6b5..98dc953656af 100644
> --- a/arch/parisc/include/uapi/asm/unistd.h
> +++ b/arch/parisc/include/uapi/asm/unistd.h
> @@ -2,7 +2,6 @@
> #ifndef _UAPI_ASM_PARISC_UNISTD_H_
> #define _UAPI_ASM_PARISC_UNISTD_H_
>
> -#define __NR_Linux 0
> #ifdef __LP64__
> #include <asm/unistd_64.h>
> #else
> diff --git a/arch/parisc/kernel/syscalls/Makefile b/arch/parisc/kernel/syscalls/Makefile
> index defa8878f6d2..4dcc5c9ae7f2 100644
> --- a/arch/parisc/kernel/syscalls/Makefile
> +++ b/arch/parisc/kernel/syscalls/Makefile
> @@ -12,22 +12,18 @@ systbl := $(srctree)/$(src)/syscalltbl.sh
> quiet_cmd_syshdr = SYSHDR $@
> cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
> '$(syshdr_abis_$(basetarget))' \
> - '$(syshdr_pfx_$(basetarget))' \
> - '$(syshdr_offset_$(basetarget))'
> + '$(syshdr_pfx_$(basetarget))'
>
> quiet_cmd_systbl = SYSTBL $@
> cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
> '$(systbl_abis_$(basetarget))' \
> - '$(systbl_abi_$(basetarget))' \
> - '$(systbl_offset_$(basetarget))'
> + '$(systbl_abi_$(basetarget))'
>
> syshdr_abis_unistd_32 := common,32
> -syshdr_offset_unistd_32 := __NR_Linux

I'll remove this line

> $(uapi)/unistd_32.h: $(syscall) $(syshdr)
> $(call if_changed,syshdr)
>
> syshdr_abis_unistd_64 := common,64
> -syshdr_offset_unistd_64 := __NR_Linux

And this one too. rest of the files will be the same w.r.t v7.

Thanks
Firoz

> $(uapi)/unistd_64.h: $(syscall) $(syshdr)
> $(call if_changed,syshdr)
>

\
 
 \ /
  Last update: 2018-11-19 06:23    [W:0.053 / U:4.332 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site