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

2018-11-30 Thread Firoz Khan
Hi Satheesh,

On Fri, 30 Nov 2018 at 12:32, Satheesh Rajendran
 wrote:
>
> On Thu, Nov 29, 2018 at 01:48:16PM +0530, Firoz Khan wrote:
> > Hi Sathish,
> >
> > Thanks for your email.
> >
> > On Thu, 29 Nov 2018 at 12:05, Satheesh Rajendran
> >  wrote:
> > >
> > > On Fri, Sep 14, 2018 at 02:02:57PM +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.
> > > >
> > > > syscall.tbl contains the list of available system calls along with
> > > > system call number and corresponding entry point. Add a new system
> > > > call in this architecture 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.
> > > > - Compat entry name, if required.
> > > >
> > > > ARM, s390 and x86 architecuture does exist the similar support. I
> > > > leverage their implementation to come up with a generic solution.
> > > >
> > > > I have done the same support for work for alpha, m68k, microblaze,
> > > > ia64, mips, parisc, sh, sparc, and xtensa. But I started sending
> > > > the patch for one architecuture for review. Below mentioned git
> > > > repository contains more details.
> > > > Git repo:- https://github.com/frzkhn/system_call_table_generator/
> > > >
> > > > Finally, this is the ground work for solving the Y2038 issue. We
> > > > need to add/change two dozen of system calls to solve Y2038 issue.
> > > > So this patch series will help to easily modify from existing
> > > > system call to Y2038 compatible system calls.
> > > >
> > > > I started working system call table generation on 4.17-rc1. I used
> > > > marcin's script - https://github.com/hrw/syscalls-table to generate
> > > > the syscall.tbl file. And this will be the input to the system call
> > > > table generation script. But there are couple system call got add
> > > > in the latest rc release. If run Marcin's script on latest release,
> > > > It will generate a new syscall.tbl. But I still use the old file -
> > > > syscall.tbl and once all review got over I'll update syscall.tbl
> > > > alone w.r.to the tip of the kernel. The impact of this thing, few
> > > > of the system call won't work.
> > > >
> > > > Firoz Khan (3):
> > > >   powerpc: Replace NR_syscalls macro from asm/unistd.h
> > > >   powerpc: Add system call table generation support
> > > >   powerpc: uapi header and system call table file generation
> > > >
> > > >  arch/powerpc/Makefile   |   3 +
> > > >  arch/powerpc/include/asm/Kbuild |   3 +
> > > >  arch/powerpc/include/asm/unistd.h   |   3 +-
> > > >  arch/powerpc/include/uapi/asm/Kbuild|   2 +
> > > >  arch/powerpc/include/uapi/asm/unistd.h  | 391 
> > > > +---
> > > >  arch/powerpc/kernel/Makefile|   3 +-
> > > >  arch/powerpc/kernel/syscall_table_32.S  |   9 +
> > > >  arch/powerpc/kernel/syscall_table_64.S  |  17 ++
> > > >  arch/powerpc/kernel/syscalls/Makefile   |  51 
> > > >  arch/powerpc/kernel/syscalls/syscall_32.tbl | 378 
> > > > +++
> > > >  arch/powerpc/kernel/syscalls/syscall_64.tbl | 372 
> > > > ++
> > > >  arch/powerpc/kernel/syscalls/syscallhdr.sh  |  37 +++
> > > >  arch/powerpc/kernel/syscalls/syscalltbl.sh  |  38 +++
> > > >  arch/powerpc/kernel/systbl.S|  50 
> > > >  14 files changed, 916 insertions(+), 441 deletions(-)
> > > >  create mode 100644 arch/powerpc/kernel/syscall_table_32.S
> > > >  create mode 100644 arch/powerpc/kernel/syscall_table_64.S
> > > >  create mode 100644 arch/powerpc/kernel/syscalls/Makefile
> > > >  create mode 100644 arch/powerpc/kernel/syscalls/syscall_32.tbl
> > > >  create mode 100644 arch/powerpc/kernel/syscalls/syscall_64.tbl
> > > >  create mode 100644 arch/powerpc/kernel/syscalls/syscallhdr.sh
> > > >  create mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
> > > >  delete mode 100644 arch/powerpc/kernel/systbl.S
> > >
> > > Hi,
> > >
> > > This patch series failed to boot in IBM Power8 box with below base commit 
> > > and built with ppc64le_defconfig,
> > > https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=merge&id=183cbf93be88d1a4fb572e27b1e08aa0ad85
> >
>

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

2018-11-29 Thread Satheesh Rajendran
On Thu, Nov 29, 2018 at 01:48:16PM +0530, Firoz Khan wrote:
> Hi Sathish,
> 
> Thanks for your email.
> 
> On Thu, 29 Nov 2018 at 12:05, Satheesh Rajendran
>  wrote:
> >
> > On Fri, Sep 14, 2018 at 02:02:57PM +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.
> > >
> > > syscall.tbl contains the list of available system calls along with
> > > system call number and corresponding entry point. Add a new system
> > > call in this architecture 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.
> > > - Compat entry name, if required.
> > >
> > > ARM, s390 and x86 architecuture does exist the similar support. I
> > > leverage their implementation to come up with a generic solution.
> > >
> > > I have done the same support for work for alpha, m68k, microblaze,
> > > ia64, mips, parisc, sh, sparc, and xtensa. But I started sending
> > > the patch for one architecuture for review. Below mentioned git
> > > repository contains more details.
> > > Git repo:- https://github.com/frzkhn/system_call_table_generator/
> > >
> > > Finally, this is the ground work for solving the Y2038 issue. We
> > > need to add/change two dozen of system calls to solve Y2038 issue.
> > > So this patch series will help to easily modify from existing
> > > system call to Y2038 compatible system calls.
> > >
> > > I started working system call table generation on 4.17-rc1. I used
> > > marcin's script - https://github.com/hrw/syscalls-table to generate
> > > the syscall.tbl file. And this will be the input to the system call
> > > table generation script. But there are couple system call got add
> > > in the latest rc release. If run Marcin's script on latest release,
> > > It will generate a new syscall.tbl. But I still use the old file -
> > > syscall.tbl and once all review got over I'll update syscall.tbl
> > > alone w.r.to the tip of the kernel. The impact of this thing, few
> > > of the system call won't work.
> > >
> > > Firoz Khan (3):
> > >   powerpc: Replace NR_syscalls macro from asm/unistd.h
> > >   powerpc: Add system call table generation support
> > >   powerpc: uapi header and system call table file generation
> > >
> > >  arch/powerpc/Makefile   |   3 +
> > >  arch/powerpc/include/asm/Kbuild |   3 +
> > >  arch/powerpc/include/asm/unistd.h   |   3 +-
> > >  arch/powerpc/include/uapi/asm/Kbuild|   2 +
> > >  arch/powerpc/include/uapi/asm/unistd.h  | 391 
> > > +---
> > >  arch/powerpc/kernel/Makefile|   3 +-
> > >  arch/powerpc/kernel/syscall_table_32.S  |   9 +
> > >  arch/powerpc/kernel/syscall_table_64.S  |  17 ++
> > >  arch/powerpc/kernel/syscalls/Makefile   |  51 
> > >  arch/powerpc/kernel/syscalls/syscall_32.tbl | 378 
> > > +++
> > >  arch/powerpc/kernel/syscalls/syscall_64.tbl | 372 
> > > ++
> > >  arch/powerpc/kernel/syscalls/syscallhdr.sh  |  37 +++
> > >  arch/powerpc/kernel/syscalls/syscalltbl.sh  |  38 +++
> > >  arch/powerpc/kernel/systbl.S|  50 
> > >  14 files changed, 916 insertions(+), 441 deletions(-)
> > >  create mode 100644 arch/powerpc/kernel/syscall_table_32.S
> > >  create mode 100644 arch/powerpc/kernel/syscall_table_64.S
> > >  create mode 100644 arch/powerpc/kernel/syscalls/Makefile
> > >  create mode 100644 arch/powerpc/kernel/syscalls/syscall_32.tbl
> > >  create mode 100644 arch/powerpc/kernel/syscalls/syscall_64.tbl
> > >  create mode 100644 arch/powerpc/kernel/syscalls/syscallhdr.sh
> > >  create mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
> > >  delete mode 100644 arch/powerpc/kernel/systbl.S
> >
> > Hi,
> >
> > This patch series failed to boot in IBM Power8 box with below base commit 
> > and built with ppc64le_defconfig,
> > https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=merge&id=183cbf93be88d1a4fb572e27b1e08aa0ad85
> 
> I think you are applied some old patch series. Could you please
> perform the boot test on powerpc v3 which I have sent few hour before.

Hi Firoz,

Looks like I chose a wrong mail to reply, but did test with v3 series itself.

_v3,4_4__powerpc_generate_uapi_he

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

2018-11-29 Thread Firoz Khan
Hi Sathish,

Thanks for your email.

On Thu, 29 Nov 2018 at 12:05, Satheesh Rajendran
 wrote:
>
> On Fri, Sep 14, 2018 at 02:02:57PM +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.
> >
> > syscall.tbl contains the list of available system calls along with
> > system call number and corresponding entry point. Add a new system
> > call in this architecture 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.
> > - Compat entry name, if required.
> >
> > ARM, s390 and x86 architecuture does exist the similar support. I
> > leverage their implementation to come up with a generic solution.
> >
> > I have done the same support for work for alpha, m68k, microblaze,
> > ia64, mips, parisc, sh, sparc, and xtensa. But I started sending
> > the patch for one architecuture for review. Below mentioned git
> > repository contains more details.
> > Git repo:- https://github.com/frzkhn/system_call_table_generator/
> >
> > Finally, this is the ground work for solving the Y2038 issue. We
> > need to add/change two dozen of system calls to solve Y2038 issue.
> > So this patch series will help to easily modify from existing
> > system call to Y2038 compatible system calls.
> >
> > I started working system call table generation on 4.17-rc1. I used
> > marcin's script - https://github.com/hrw/syscalls-table to generate
> > the syscall.tbl file. And this will be the input to the system call
> > table generation script. But there are couple system call got add
> > in the latest rc release. If run Marcin's script on latest release,
> > It will generate a new syscall.tbl. But I still use the old file -
> > syscall.tbl and once all review got over I'll update syscall.tbl
> > alone w.r.to the tip of the kernel. The impact of this thing, few
> > of the system call won't work.
> >
> > Firoz Khan (3):
> >   powerpc: Replace NR_syscalls macro from asm/unistd.h
> >   powerpc: Add system call table generation support
> >   powerpc: uapi header and system call table file generation
> >
> >  arch/powerpc/Makefile   |   3 +
> >  arch/powerpc/include/asm/Kbuild |   3 +
> >  arch/powerpc/include/asm/unistd.h   |   3 +-
> >  arch/powerpc/include/uapi/asm/Kbuild|   2 +
> >  arch/powerpc/include/uapi/asm/unistd.h  | 391 
> > +---
> >  arch/powerpc/kernel/Makefile|   3 +-
> >  arch/powerpc/kernel/syscall_table_32.S  |   9 +
> >  arch/powerpc/kernel/syscall_table_64.S  |  17 ++
> >  arch/powerpc/kernel/syscalls/Makefile   |  51 
> >  arch/powerpc/kernel/syscalls/syscall_32.tbl | 378 
> > +++
> >  arch/powerpc/kernel/syscalls/syscall_64.tbl | 372 
> > ++
> >  arch/powerpc/kernel/syscalls/syscallhdr.sh  |  37 +++
> >  arch/powerpc/kernel/syscalls/syscalltbl.sh  |  38 +++
> >  arch/powerpc/kernel/systbl.S|  50 
> >  14 files changed, 916 insertions(+), 441 deletions(-)
> >  create mode 100644 arch/powerpc/kernel/syscall_table_32.S
> >  create mode 100644 arch/powerpc/kernel/syscall_table_64.S
> >  create mode 100644 arch/powerpc/kernel/syscalls/Makefile
> >  create mode 100644 arch/powerpc/kernel/syscalls/syscall_32.tbl
> >  create mode 100644 arch/powerpc/kernel/syscalls/syscall_64.tbl
> >  create mode 100644 arch/powerpc/kernel/syscalls/syscallhdr.sh
> >  create mode 100644 arch/powerpc/kernel/syscalls/syscalltbl.sh
> >  delete mode 100644 arch/powerpc/kernel/systbl.S
>
> Hi,
>
> This patch series failed to boot in IBM Power8 box with below base commit and 
> built with ppc64le_defconfig,
> https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/commit/?h=merge&id=183cbf93be88d1a4fb572e27b1e08aa0ad85

I think you are applied some old patch series. Could you please
perform the boot test on powerpc v3 which I have sent few hour before.

Thanks
Firoz

>
> Complete boot log attached.
>
>
> [1.577383] SGI XFS with ACLs, security attributes, no debug enabled
> [1.581550] Bad kernel stack pointer 6e69 at c0e2ceec
> [1.581558] Oops: Bad kernel stack pointer, sig: 6 [#1]
> [1.581562] LE SMP NR_CPUS=2048 NUMA PowerNV
> [1.581567] Modules linked in:
> [1.581572] CPU: 3 PID: 1937 C