From mboxrd@z Thu Jan 1 00:00:00 1970 From: Firoz Khan Subject: [PATCH v3 0/6] System call table generation support Date: Mon, 8 Oct 2018 10:46:35 +0530 Message-ID: <1538975801-13735-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-parisc@vger.kernel.org, "James E . J . Bottomley" , Helge Deller , Thomas Gleixner , Greg Kroah-Hartman , Philippe Ombredanne , Kate Stewart 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 dG8gbWFudWFsbHkgYWRkIG9yIG1vZGlmeSB0aGUgc3lzdGVtIGNhbGxzCmluIHRoZSByZXNwZWN0 aXZlIGZpbGVzIG1hbnVhbGx5LiBUbyBtYWtlIGl0IGVhc3kgYnkga2VlcGluZyBhIHNjcmlwdCAK YW5kIHdoaWNoJ2xsIGdlbmVyYXRlIHRoZSBoZWFkZXIgZmlsZSBhbmQgc3lzY2FsbCB0YWJsZSBm aWxlIHNvIHRoaXMgCmNoYW5nZSB3aWxsIHVuaWZ5IHRoZW0gYWNyb3NzIGFsbCBhcmNoaXRlY3R1 cmVzLgoKc3lzY2FsbC50YmwgY29udGFpbnMgdGhlIGxpc3Qgb2YgYXZhaWxhYmxlIHN5c3RlbSBj YWxscyBhbG9uZyB3aXRoIApzeXN0ZW0gY2FsbCBudW1iZXIgYW5kIGNvcnJlc3BvbmRpbmcgZW50 cnkgcG9pbnQuIEFkZCBhIG5ldyBzeXN0ZW0gCmNhbGwgaW4gdGhpcyBhcmNoaXRlY3R1cmUgd2ls bCBiZSBwb3NzaWJsZSBieSBhZGRpbmcgbmV3IGVudHJ5IGluIAp0aGUgc3lzY2FsbC50YmwgZmls ZS4KCkFkZGluZyBhIG5ldyB0YWJsZSBlbnRyeSBjb25zaXN0aW5nIG9mOgogICAgICAgIC0gU3lz dGVtIGNhbGwgbnVtYmVyLgogICAgICAgIC0gQUJJLgogICAgICAgIC0gU3lzdGVtIGNhbGwgbmFt ZS4KICAgICAgICAtIEVudHJ5IHBvaW50IG5hbWUuCiAgICAgICAgLSBDb21wYXQgZW50cnkgbmFt ZSwgaWYgcmVxdWlyZWQuCgpBUk0sIHMzOTAgYW5kIHg4NiBhcmNoaXRlY3V0dXJlIGRvZXMgZXhp c3QgdGhlIHNpbWlsYXIgc3VwcG9ydC4gSSAKbGV2ZXJhZ2UgdGhlaXIgaW1wbGVtZW50YXRpb24g dG8gY29tZSB1cCB3aXRoIGEgZ2VuZXJpYyBzb2x1dGlvbi4KCkkgaGF2ZSBkb25lIHRoZSBzYW1l IHN1cHBvcnQgZm9yIHdvcmsgZm9yIGFscGhhLCBtaWNyb2JsYXplLCBzcGFyYywKbTY4aywgbWlw cywgcG93ZXJwYywgc2gsIHNwYXJjLCBhbmQgeHRlbnNhLiBCdXQgSSBzdGFydGVkIHNlbmRpbmcg CnRoZSBwYXRjaCBmb3Igb25lIGFyY2hpdGVjdXR1cmUgZm9yIHJldmlldy4gQmVsb3cgbWVudGlv bmVkIGdpdApyZXBvc2l0b3J5IGNvbnRhaW5zIG1vcmUgZGV0YWlscy4KR2l0IHJlcG86LSBodHRw czovL2dpdGh1Yi5jb20vZnJ6a2huL3N5c3RlbV9jYWxsX3RhYmxlX2dlbmVyYXRvci8KCkFkZGVk IGFuIGlnbm9yZSBlbnRyeSBmb3IgbmZzc2VydmN0bCBpbiBzY3JpcHQvY2hlY2tzeXNjYWxscy5z aC4KV2lyZWQgdXAgcnNlcSBzeXN0ZW0gY2FsbC4KCkZpbmFsbHksIHRoaXMgaXMgdGhlIGdyb3Vu ZCB3b3JrIGZvciBzb2x2aW5nIHRoZSBZMjAzOCBpc3N1ZS4gV2UgCm5lZWQgdG8gYWRkL2NoYW5n ZSB0d28gZG96ZW4gb2Ygc3lzdGVtIGNhbGxzIHRvIHNvbHZlIFkyMDM4IGlzc3VlLiAKU28gdGhp cyBwYXRjaCBzZXJpZXMgd2lsbCBoZWxwIHRvIGVhc2lseSBtb2RpZnkgZnJvbSBleGlzdGluZyAK c3lzdGVtIGNhbGwgdG8gWTIwMzggY29tcGF0aWJsZSBzeXN0ZW0gY2FsbHMuCgpGaXJveiBLaGFu ICg2KToKICBwYXJpc2M6IG1vdmUgX19JR05PUkUqIGVudHJpZXMgdG8gbm9uIHVhcGkgaGVhZGVy CiAgcGFyaXNjOiBhZGQgX19OUl9MaW51eF9zeXNjYWxscyBhbG9uZyB3aXRoIF9fTlJfc3lzY2Fs bHMKICBwYXJpc2M6IGFkZCBzeXN0ZW0gY2FsbCB0YWJsZSBnZW5lcmF0aW9uIHN1cHBvcnQKICBw YXJpc2M6IHVhcGkgaGVhZGVyIGFuZCBzeXN0ZW0gY2FsbCB0YWJsZSBmaWxlIGdlbmVyYXRpb24K ICBwYXJpc2M6IHdpcmUgdXAgcnNlcSBzeXN0ZW0gY2FsbAogIHBhcmlzYzogc3lzY2FsbHM6IEln bm9yZSBuZnNzZXJ2Y3RsIGZvciBvdGhlciBhcmNoaXRlY3R1cmVzCgogYXJjaC9wYXJpc2MvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwogYXJjaC9wYXJpc2MvaW5jbHVkZS9h c20vS2J1aWxkICAgICAgICAgICAgfCAgIDMgKwogYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vdW5p c3RkLmggICAgICAgICAgfCAgIDggKwogYXJjaC9wYXJpc2MvaW5jbHVkZS91YXBpL2FzbS9LYnVp bGQgICAgICAgfCAgIDIgKwogYXJjaC9wYXJpc2MvaW5jbHVkZS91YXBpL2FzbS91bmlzdGQuaCAg ICAgfCAzODIgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogYXJjaC9wYXJpc2Mva2VybmVsL3N5 c2NhbGwuUyAgICAgICAgICAgICAgfCAgMTIgKy0KIGFyY2gvcGFyaXNjL2tlcm5lbC9zeXNjYWxs X3RhYmxlLlMgICAgICAgIHwgNDU5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogYXJj aC9wYXJpc2Mva2VybmVsL3N5c2NhbGxfdGFibGVfMzIuUyAgICAgfCAgMTMgKwogYXJjaC9wYXJp c2Mva2VybmVsL3N5c2NhbGxfdGFibGVfNjQuUyAgICAgfCAgMjAgKysKIGFyY2gvcGFyaXNjL2tl cm5lbC9zeXNjYWxscy9NYWtlZmlsZSAgICAgIHwgIDU1ICsrKysKIGFyY2gvcGFyaXNjL2tlcm5l bC9zeXNjYWxscy9zeXNjYWxsLnRibCAgIHwgMzUzICsrKysrKysrKysrKysrKysrKysrKysrCiBh cmNoL3BhcmlzYy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbGhkci5zaCB8ICAzNSArKysKIGFyY2gv cGFyaXNjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsdGJsLnNoIHwgIDQxICsrKwogc2NyaXB0cy9j aGVja3N5c2NhbGxzLnNoICAgICAgICAgICAgICAgICAgfCAgIDEgKwogMTQgZmlsZXMgY2hhbmdl ZCwgNTQ1IGluc2VydGlvbnMoKyksIDg0MyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBhcmNoL3BhcmlzYy9rZXJuZWwvc3lzY2FsbF90YWJsZS5TCiBjcmVhdGUgbW9kZSAxMDA2NDQg YXJjaC9wYXJpc2Mva2VybmVsL3N5c2NhbGxfdGFibGVfMzIuUwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGFyY2gvcGFyaXNjL2tlcm5lbC9zeXNjYWxsX3RhYmxlXzY0LlMKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBhcmNoL3BhcmlzYy9rZXJuZWwvc3lzY2FsbHMvTWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBhcmNoL3BhcmlzYy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbC50YmwKIGNyZWF0ZSBtb2RlIDEw MDY0NCBhcmNoL3BhcmlzYy9rZXJuZWwvc3lzY2FsbHMvc3lzY2FsbGhkci5zaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IGFyY2gvcGFyaXNjL2tlcm5lbC9zeXNjYWxscy9zeXNjYWxsdGJsLnNoCgotLSAK MS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClky MDM4IG1haWxpbmcgbGlzdApZMjAzOEBsaXN0cy5saW5hcm8ub3JnCmh0dHBzOi8vbGlzdHMubGlu YXJvLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3kyMDM4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl1-f174.google.com ([209.85.214.174]:41324 "EHLO mail-pl1-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725842AbeJHM1J (ORCPT ); Mon, 8 Oct 2018 08:27:09 -0400 Received: by mail-pl1-f174.google.com with SMTP id q17-v6so9497897plr.8 for ; Sun, 07 Oct 2018 22:17:18 -0700 (PDT) From: Firoz Khan Subject: [PATCH v3 0/6] System call table generation support Date: Mon, 8 Oct 2018 10:46:35 +0530 Message-ID: <1538975801-13735-1-git-send-email-firoz.khan@linaro.org> Sender: linux-arch-owner@vger.kernel.org List-ID: To: linux-parisc@vger.kernel.org, "James E . J . Bottomley" , Helge Deller , Thomas Gleixner , Greg Kroah-Hartman , Philippe Ombredanne , Kate Stewart 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: <20181008051635.hbMCu-ziX2AGjMbj9_Lwq8RBY5kotxqgd0QkAQWiRu8@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 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, microblaze, sparc, m68k, mips, 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/ Added an ignore entry for nfsservctl in script/checksyscalls.sh. Wired up rseq system call. 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. Firoz Khan (6): parisc: move __IGNORE* entries to non uapi header parisc: add __NR_Linux_syscalls along with __NR_syscalls parisc: add system call table generation support parisc: uapi header and system call table file generation parisc: wire up rseq system call parisc: syscalls: Ignore nfsservctl for other architectures arch/parisc/Makefile | 4 + arch/parisc/include/asm/Kbuild | 3 + arch/parisc/include/asm/unistd.h | 8 + arch/parisc/include/uapi/asm/Kbuild | 2 + arch/parisc/include/uapi/asm/unistd.h | 382 +------------------------ arch/parisc/kernel/syscall.S | 12 +- arch/parisc/kernel/syscall_table.S | 459 ------------------------------ arch/parisc/kernel/syscall_table_32.S | 13 + arch/parisc/kernel/syscall_table_64.S | 20 ++ arch/parisc/kernel/syscalls/Makefile | 55 ++++ arch/parisc/kernel/syscalls/syscall.tbl | 353 +++++++++++++++++++++++ arch/parisc/kernel/syscalls/syscallhdr.sh | 35 +++ arch/parisc/kernel/syscalls/syscalltbl.sh | 41 +++ scripts/checksyscalls.sh | 1 + 14 files changed, 545 insertions(+), 843 deletions(-) delete mode 100644 arch/parisc/kernel/syscall_table.S create mode 100644 arch/parisc/kernel/syscall_table_32.S create mode 100644 arch/parisc/kernel/syscall_table_64.S create mode 100644 arch/parisc/kernel/syscalls/Makefile create mode 100644 arch/parisc/kernel/syscalls/syscall.tbl create mode 100644 arch/parisc/kernel/syscalls/syscallhdr.sh create mode 100644 arch/parisc/kernel/syscalls/syscalltbl.sh -- 1.9.1