From mboxrd@z Thu Jan 1 00:00:00 1970 From: Firoz Khan Subject: [PATCH 0/5] System call table generation support Date: Thu, 9 Aug 2018 10:35:10 +0530 Message-ID: <1533791115-3681-1-git-send-email-firoz.khan@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: y2038-bounces@lists.linaro.org Sender: "Y2038" To: linux-ia64@vger.kernel.org, Tony Luck , Fenghua Yu Cc: linux-arch@vger.kernel.org, arnd@arndb.de, y2038@lists.linaro.org, linux-kernel@vger.kernel.org, marcin.juszkiewicz@linaro.org, firoz.khan@linaro.org, deepa.kernel@gmail.com List-Id: linux-arch.vger.kernel.org VGhlIHB1cnBvc2Ugb2YgdGhpcyBwYXRjaCBzZXJpZXMgaXM6CjEuIFdlIGNhbiBlYXNpbHkgYWRk L21vZGlmeS9kZWxldGUgc3lzdGVtIGNhbGwgYnkgY2hhbmdpbmcgZW50cnkgCmluIHN5c2NhbGwu dGJsIGZpbGUuIE5vIG5lZWQgdG8gbWFudWFsbHkgZWRpdCBtYW55IGZpbGVzLgoKMi4gSXQgaXMg ZWFzeSB0byB1bmlmeSB0aGUgc3lzdGVtIGNhbGwgaW1wbGVtZW50YXRpb24gYWNyb3NzIGFsbCAK dGhlIGFyY2hpdGVjdHVyZXMuIAoKVGhlIHN5c3RlbSBjYWxsIHRhYmxlcyBhcmUgaW4gZGlmZmVy ZW50IGZvcm1hdCBpbiBhbGwgYXJjaGl0ZWN0dXJlIAphbmQgaXQgd2lsbCBiZSBkaWZmaWN1bHQg dG8gbWFudWFsbHkgYWRkIG9yIG1vZGlmeSB0aGUgc3lzdGVtIGNhbGxzCm1hbnVhbGx5IGluIHRo ZSByZXNwZWN0aXZlIGZpbGVzLiBUbyBtYWtlIGl0IGVhc3kgYnkga2VlcGluZyBhIHNjcmlwdCAK YW5kIHdoaWNoJ2xsIGdlbmVyYXRlIHRoZSBoZWFkZXIgZmlsZSBhbmQgc3lzY2FsbCB0YWJsZSBm aWxlIHNvIHRoaXMgCmNoYW5nZSB3aWxsIHVuaWZ5IHRoZSBpbXBsZW1lbnRhdGlvbiBhY3Jvc3Mg YWxsIGFyY2hpdGVjdHVyZXMuCgpzeXNjYWxsLnRibCBjb250YWlucyB0aGUgbGlzdCBvZiBhdmFp bGFibGUgc3lzdGVtIGNhbGxzIGFsb25nIHdpdGggCnN5c3RlbSBjYWxsIG51bWJlciBhbmQgY29y cmVzcG9uZGluZyBlbnRyeSBwb2ludC4gQWRkIGEgbmV3IHN5c3RlbSAKY2FsbCBpbiB0aGlzIGFy Y2hpdGVjdHVyZSB3aWxsIGJlIHBvc3NpYmxlIGJ5IGFkZGluZyBuZXcgZW50cnkgaW4gCnRoZSBz eXNjYWxsLnRibCBmaWxlLgoKQWRkaW5nIGEgbmV3IHRhYmxlIGVudHJ5IGNvbnNpc3Rpbmcgb2Y6 CiAgICAgICAgLSBTeXN0ZW0gY2FsbCBudW1iZXIuCiAgICAgICAgLSBBQkkuCiAgICAgICAgLSBT eXN0ZW0gY2FsbCBuYW1lLgogICAgICAgIC0gRW50cnkgcG9pbnQgbmFtZS4KCkFSTSwgczM5MCBh bmQgeDg2IGFyY2hpdGVjdXR1cmUgZG9lcyBleGlzdCB0aGUgc2ltaWxhciBzdXBwb3J0LiBJIAps ZXZlcmFnZSB0aGVpciBpbXBsZW1lbnRhdGlvbiB0byBjb21lIHVwIHdpdGggYSBnZW5lcmljIHNv bHV0aW9uLgoKSSBoYXZlIGRvbmUgdGhlIHNhbWUgc3VwcG9ydCBmb3Igd29yayBmb3IgYWxwaGEs IG02OGssIG1pY3JvYmxhemUsIAptaXBzLCBwYXJpc2MsIHBvd2VycGMsIHNoLCBzcGFyYywgYW5k IHh0ZW5zYS4gQnV0IEkgc3RhcnRlZCBzZW5kaW5nIAp0aGUgcGF0Y2ggZm9yIG9uZSBhcmNoaXRl Y3V0dXJlIGZvciByZXZpZXcuIEJlbG93IG1lbnRpb25lZCBnaXQKcmVwb3NpdG9yeSBjb250YWlu cyBtb3JlIGRldGFpbHMuCkdpdCByZXBvOi0gaHR0cHM6Ly9naXRodWIuY29tL2Zyemtobi9zeXN0 ZW1fY2FsbF90YWJsZV9nZW5lcmF0b3IvCgpGaW5hbGx5LCB0aGlzIGlzIHRoZSBncm91bmQgd29y ayBmb3Igc29sdmluZyB0aGUgWTIwMzggaXNzdWUuIFdlIApuZWVkIHRvIGFkZC9jaGFuZ2UgdHdv IGRvemVuIG9mIHN5c3RlbSBjYWxscyB0byBzb2x2ZSBZMjAzOCBpc3N1ZS4gClNvIHRoaXMgcGF0 Y2ggc2VyaWVzIHdpbGwgaGVscCB0byBlYXNpbHkgbW9kaWZ5IGZyb20gZXhpc3RpbmcgCnN5c3Rl bSBjYWxsIHRvIFkyMDM4IGNvbXBhdGlibGUgc3lzdGVtIGNhbGxzLgoKSSBzdGFydGVkIHdvcmtp bmcgc3lzdGVtIGNhbGwgdGFibGUgZ2VuZXJhdGlvbiBvbiA0LjE3LXJjMS4gSSB1c2VkIAptYXJj aW4ncyBzY3JpcHQgLSBodHRwczovL2dpdGh1Yi5jb20vaHJ3L3N5c2NhbGxzLXRhYmxlIHRvIGdl bmVyYXRlIAp0aGUgc3lzY2FsbC50YmwgZmlsZS4gQW5kIHRoaXMgd2lsbCBiZSB0aGUgaW5wdXQg dG8gdGhlIHN5c3RlbSBjYWxsIAp0YWJsZSBnZW5lcmF0aW9uIHNjcmlwdC4gQnV0IHRoZXJlIGFy ZSBjb3VwbGUgc3lzdGVtIGNhbGwgZ290IGFkZCAKaW4gdGhlIGxhdGVzdCByYyByZWxlYXNlLiBJ ZiBydW4gTWFyY2luJ3Mgc2NyaXB0IG9uIGxhdGVzdCByZWxlYXNlLAppdCB3aWxsIGdlbmVyYXRl IGEgZGlmZmVyZW50IHN5c2NhbGwudGJsLiBCdXQgSSBzdGlsbCB1c2UgdGhlIG9sZCAKZmlsZSAt IHN5c2NhbGwudGJsIGFuZCBvbmNlIGFsbCByZXZpZXcgZ290IG92ZXIgSSdsbCB1cGRhdGUgCnN5 c2NhbGwudGJsIGFsb25lIHcuci50byB0aGUgdGlwIG9mIHRoZSBrZXJuZWwuIFRoZSBpbXBhY3Qg b2YgdGhpcwppcywgZmV3IG9mIHRoZSBzeXN0ZW0gY2FsbCB3b24ndCB3b3JrLgoKRmlyb3ogS2hh biAoNSk6CiAgaWE2NDogUmVwbGFjZSBOUl9zeXNjYWxscyBtYWNybyBmcm9tIGFzbS91bmlzdGQu aAogIGlhNjQ6IEFkZGVkIGFuIG9mZnNldCBmb3Igc3lzdGVtIGNhbGwgbnVtYmVyCiAgaWE2NDog UmVwbGFjZWQgdGhlIHN5c3RlbSBjYWxsIHRhYmxlIGVudHJ5IGZyb20gZW50cnkuUwogIGlhNjQ6 IEFkZGVkIHN5c3RlbSBjYWxsIHRhYmxlIGdlbmVyYXRpb24gc3VwcG9ydAogIGlhNjQ6IHVhcGkg aGVhZGVyIGFuZCBzeXN0ZW0gY2FsbCB0YWJsZSBmaWxlIGdlbmVyYXRpb24KCiBhcmNoL2lhNjQv TWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgfCAgIDMgKwogYXJjaC9pYTY0L2luY2x1ZGUv YXNtL0tidWlsZCAgICAgICAgICAgIHwgICAyICsKIGFyY2gvaWE2NC9pbmNsdWRlL2FzbS91bmlz dGQuaCAgICAgICAgICB8ICAgNCAtCiBhcmNoL2lhNjQvaW5jbHVkZS91YXBpL2FzbS9LYnVpbGQg ICAgICAgfCAgIDIgKwogYXJjaC9pYTY0L2luY2x1ZGUvdWFwaS9hc20vdW5pc3RkLmggICAgIHwg MzMxICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGFyY2gvaWE2NC9rZXJuZWwvZW50 cnkuUyAgICAgICAgICAgICAgICB8IDMzNSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQogYXJjaC9pYTY0L2tlcm5lbC9mc3lzLlMgICAgICAgICAgICAgICAgIHwgICAyICstCiBhcmNo L2lhNjQva2VybmVsL2dhdGUuUyAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIGFyY2gvaWE2NC9r ZXJuZWwvaXZ0LlMgICAgICAgICAgICAgICAgICB8ICAgMiArLQogYXJjaC9pYTY0L2tlcm5lbC9w YXRjaC5jICAgICAgICAgICAgICAgIHwgICAyICstCiBhcmNoL2lhNjQva2VybmVsL3N5c2NhbGwu UyAgICAgICAgICAgICAgfCAgMTMgKysKIGFyY2gvaWE2NC9rZXJuZWwvc3lzY2FsbHMvTWFrZWZp bGUgICAgICB8ICA0MCArKysrCiBhcmNoL2lhNjQva2VybmVsL3N5c2NhbGxzL3N5c2NhbGwudGJs ICAgfCAzMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogYXJjaC9pYTY0L2tlcm5l bC9zeXNjYWxscy9zeXNjYWxsaGRyLnNoIHwgIDMzICsrKysKIGFyY2gvaWE2NC9rZXJuZWwvc3lz Y2FsbHMvc3lzY2FsbHRibC5zaCB8ICAzNCArKysrCiBhcmNoL2lhNjQvbW0vaW5pdC5jICAgICAg ICAgICAgICAgICAgICAgfCAgIDYgKy0KIDE2IGZpbGVzIGNoYW5nZWQsIDQ3NCBpbnNlcnRpb25z KCspLCA2NzMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9pYTY0L2tlcm5l bC9zeXNjYWxsLlMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2lhNjQva2VybmVsL3N5c2NhbGxz L01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9pYTY0L2tlcm5lbC9zeXNjYWxscy9z eXNjYWxsLnRibAogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvaWE2NC9rZXJuZWwvc3lzY2FsbHMv c3lzY2FsbGhkci5zaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvaWE2NC9rZXJuZWwvc3lzY2Fs bHMvc3lzY2FsbHRibC5zaAoKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpZMjAzOCBtYWlsaW5nIGxpc3QKWTIwMzhAbGlzdHMubGluYXJv Lm9yZwpodHRwczovL2xpc3RzLmxpbmFyby5vcmcvbWFpbG1hbi9saXN0aW5mby95MjAzOAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl0-f66.google.com ([209.85.160.66]:39729 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728131AbeHIH2l (ORCPT ); Thu, 9 Aug 2018 03:28:41 -0400 Received: by mail-pl0-f66.google.com with SMTP id w14-v6so2025599plp.6 for ; Wed, 08 Aug 2018 22:05:44 -0700 (PDT) From: Firoz Khan Subject: [PATCH 0/5] System call table generation support Date: Thu, 9 Aug 2018 10:35:10 +0530 Message-ID: <1533791115-3681-1-git-send-email-firoz.khan@linaro.org> Sender: linux-arch-owner@vger.kernel.org List-ID: To: linux-ia64@vger.kernel.org, Tony Luck , Fenghua Yu Cc: y2038@lists.linaro.org, linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, arnd@arndb.de, deepa.kernel@gmail.com, marcin.juszkiewicz@linaro.org, firoz.khan@linaro.org Message-ID: <20180809050510.7S7eA1ARw2Z3HOLosUlO0yYp4vNdHObJjOP_Jc283Xg@z> 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 manually in the respective files. To make it easy by keeping a script and which'll generate the header file and syscall table file so this change will unify the implementation 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. 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, mips, parisc, powerpc, 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 different 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 is, few of the system call won't work. Firoz Khan (5): ia64: Replace NR_syscalls macro from asm/unistd.h ia64: Added an offset for system call number ia64: Replaced the system call table entry from entry.S ia64: Added system call table generation support ia64: uapi header and system call table file generation arch/ia64/Makefile | 3 + arch/ia64/include/asm/Kbuild | 2 + arch/ia64/include/asm/unistd.h | 4 - arch/ia64/include/uapi/asm/Kbuild | 2 + arch/ia64/include/uapi/asm/unistd.h | 331 +------------------------------ arch/ia64/kernel/entry.S | 335 +------------------------------- arch/ia64/kernel/fsys.S | 2 +- arch/ia64/kernel/gate.S | 4 +- arch/ia64/kernel/ivt.S | 2 +- arch/ia64/kernel/patch.c | 2 +- arch/ia64/kernel/syscall.S | 13 ++ arch/ia64/kernel/syscalls/Makefile | 40 ++++ arch/ia64/kernel/syscalls/syscall.tbl | 334 +++++++++++++++++++++++++++++++ arch/ia64/kernel/syscalls/syscallhdr.sh | 33 ++++ arch/ia64/kernel/syscalls/syscalltbl.sh | 34 ++++ arch/ia64/mm/init.c | 6 +- 16 files changed, 474 insertions(+), 673 deletions(-) create mode 100644 arch/ia64/kernel/syscall.S create mode 100644 arch/ia64/kernel/syscalls/Makefile create mode 100644 arch/ia64/kernel/syscalls/syscall.tbl create mode 100644 arch/ia64/kernel/syscalls/syscallhdr.sh create mode 100644 arch/ia64/kernel/syscalls/syscalltbl.sh -- 1.9.1