From mboxrd@z Thu Jan 1 00:00:00 1970 From: Satheesh Rajendran Subject: Re: [PATCH 0/3] System call table generation support Date: Fri, 30 Nov 2018 12:31:58 +0530 Message-ID: <20181130070158.GA7014@sathnaga86.in.ibm.com> References: <1536913980-4811-1-git-send-email-firoz.khan@linaro.org> <20181129063453.GA29271@sathnaga86.in.ibm.com> Reply-To: Satheesh Rajendran Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org To: Firoz Khan Cc: sathnaga@linux.vnet.ibm.com, Kate Stewart , Linux-Arch , Arnd Bergmann , Greg Kroah-Hartman , y2038 Mailman List , Boqun Feng , Philippe Ombredanne , Ram Pai , Linux Kernel Mailing List , Marcin Juszkiewicz , Paul Mackerras , Deepa Dinamani , Breno Leitao , Thomas Gleixner , linuxppc-dev List-Id: linux-arch.vger.kernel.org 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_header_and_system_call_table_files_mbox_merge Thanks, -Satheesh. > > Thanks > Firoz > > > > > Complete boot log attached. > > > > > > [ 1.577383] SGI XFS with ACLs, security attributes, no debug enabled > > [ 1.581550] Bad kernel stack pointer 6e690000 at c000000000e2ceec > > [ 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 Comm: modprobe Not tainted 4.20.0-rc4-gd35c78239 #1 > > [ 1.581577] NIP: c000000000e2ceec LR: c00000000000b9e4 CTR: c000000000e2cee0 > > [ 1.581582] REGS: c0000007ffe77d30 TRAP: 0e40 Not tainted (4.20.0-rc4-gd35c78239) > > [ 1.581586] MSR: 9000000000009033 CR: 48024488 XER: 00000000 > > [ 1.5815 > > 94] CFAR: c00000000000b9e0 IRQMASK: c0000000014d1bd8 > > [ 1.581594] GPR00: 00000000000011e0 000000006e690000 c000000001498900 ffffffffffffff9c > > [ 1.581594] GPR04: c00000006ecb0ff8 0000000000080000 0000000000000000 7f7f7f7f7f7f7f7f > > [ 1.581594] GPR08: 0000000000000000 c000001e5104fe90 0000000000000000 c000000000c30ff8 > > [ 1.581594] GPR12: c000000000e2cee0 c0000007ffffd800 4f4c5f4543415254 00007fffb55927d0 > > [ 1.581594] GPR16: 00007fffb55bfbf0 00007fffc087b160 c000000065b70ff8 00007fffc087b5c8 > > [ 1.581594] GPR20: 000000000000000d 0000000000000000 0000000000000000 000000000000 > > 0000 > > [ 1.581594] GPR24: 000000012b660d79 0000000000000000 00007fffb55c0000 0000000000000000 > > [ 1.581594] GPR28: 00007fffb55c1110 0000000000000001 00007fffb55c1050 00007fffc087a880 > > [ 1.58 > > 1637] NIP [c000000000e2ceec] str_spec.65753+0x147da0/0x1f1c5c > > [ 1.581643] LR [c00000000000b9e4] system_call+0x5c/0x70 > > [ 1.581646] Call Trace: > > [ 1.581648] Instruction dump: > > [ 1.581652] > > XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > > [ 1.581657] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > > [ 1.581664] ---[ end trace 37e56b4 > > 4979b6992 ]--- > > [ 1.582355] > > > > Regards, > > -Satheesh. > > > > > > -- > > > 1.9.1 > > > > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:45148 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726386AbeK3SKd (ORCPT ); Fri, 30 Nov 2018 13:10:33 -0500 Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id wAU6xaqc056546 for ; Fri, 30 Nov 2018 02:02:13 -0500 Received: from e06smtp02.uk.ibm.com (e06smtp02.uk.ibm.com [195.75.94.98]) by mx0b-001b2d01.pphosted.com with ESMTP id 2p307arnn9-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 30 Nov 2018 02:02:13 -0500 Received: from localhost by e06smtp02.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Fri, 30 Nov 2018 07:02:11 -0000 Date: Fri, 30 Nov 2018 12:31:58 +0530 From: Satheesh Rajendran Subject: Re: [PATCH 0/3] System call table generation support Reply-To: Satheesh Rajendran References: <1536913980-4811-1-git-send-email-firoz.khan@linaro.org> <20181129063453.GA29271@sathnaga86.in.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Message-ID: <20181130070158.GA7014@sathnaga86.in.ibm.com> Sender: linux-arch-owner@vger.kernel.org List-ID: To: Firoz Khan Cc: sathnaga@linux.vnet.ibm.com, Kate Stewart , Linux-Arch , Arnd Bergmann , Greg Kroah-Hartman , y2038 Mailman List , Boqun Feng , Philippe Ombredanne , Ram Pai , Linux Kernel Mailing List , Marcin Juszkiewicz , Paul Mackerras , Deepa Dinamani , Breno Leitao , Thomas Gleixner , linuxppc-dev Message-ID: <20181130070158.UozIk8_mEJRaaeyMCgyDnDB7U4z4ihFi6Fb--i2zuyY@z> 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_header_and_system_call_table_files_mbox_merge Thanks, -Satheesh. > > Thanks > Firoz > > > > > Complete boot log attached. > > > > > > [ 1.577383] SGI XFS with ACLs, security attributes, no debug enabled > > [ 1.581550] Bad kernel stack pointer 6e690000 at c000000000e2ceec > > [ 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 Comm: modprobe Not tainted 4.20.0-rc4-gd35c78239 #1 > > [ 1.581577] NIP: c000000000e2ceec LR: c00000000000b9e4 CTR: c000000000e2cee0 > > [ 1.581582] REGS: c0000007ffe77d30 TRAP: 0e40 Not tainted (4.20.0-rc4-gd35c78239) > > [ 1.581586] MSR: 9000000000009033 CR: 48024488 XER: 00000000 > > [ 1.5815 > > 94] CFAR: c00000000000b9e0 IRQMASK: c0000000014d1bd8 > > [ 1.581594] GPR00: 00000000000011e0 000000006e690000 c000000001498900 ffffffffffffff9c > > [ 1.581594] GPR04: c00000006ecb0ff8 0000000000080000 0000000000000000 7f7f7f7f7f7f7f7f > > [ 1.581594] GPR08: 0000000000000000 c000001e5104fe90 0000000000000000 c000000000c30ff8 > > [ 1.581594] GPR12: c000000000e2cee0 c0000007ffffd800 4f4c5f4543415254 00007fffb55927d0 > > [ 1.581594] GPR16: 00007fffb55bfbf0 00007fffc087b160 c000000065b70ff8 00007fffc087b5c8 > > [ 1.581594] GPR20: 000000000000000d 0000000000000000 0000000000000000 000000000000 > > 0000 > > [ 1.581594] GPR24: 000000012b660d79 0000000000000000 00007fffb55c0000 0000000000000000 > > [ 1.581594] GPR28: 00007fffb55c1110 0000000000000001 00007fffb55c1050 00007fffc087a880 > > [ 1.58 > > 1637] NIP [c000000000e2ceec] str_spec.65753+0x147da0/0x1f1c5c > > [ 1.581643] LR [c00000000000b9e4] system_call+0x5c/0x70 > > [ 1.581646] Call Trace: > > [ 1.581648] Instruction dump: > > [ 1.581652] > > XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > > [ 1.581657] XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX > > [ 1.581664] ---[ end trace 37e56b4 > > 4979b6992 ]--- > > [ 1.582355] > > > > Regards, > > -Satheesh. > > > > > > -- > > > 1.9.1 > > > >