linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Firoz Khan <firoz.khan@linaro.org>
To: linux-mips@vger.kernel.org, Ralf Baechle <ralf@linux-mips.org>,
	Paul Burton <paul.burton@mips.com>,
	James Hogan <jhogan@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Philippe Ombredanne <pombredanne@nexb.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Kate Stewart <kstewart@linuxfoundation.org>
Cc: y2038 Mailman List <y2038@lists.linaro.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linux-Arch <linux-arch@vger.kernel.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Deepa Dinamani <deepa.kernel@gmail.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Subject: Re: [PATCH v4 0/7] mips: system call table generation support
Date: Mon, 10 Dec 2018 11:05:38 +0530	[thread overview]
Message-ID: <CALxhOninHsCiB7puVOkU3i6W9gfhGqAA6EDT0kAEC9ZqMZPh7w@mail.gmail.com> (raw)
In-Reply-To: <1544073508-13720-1-git-send-email-firoz.khan@linaro.org>

Hi Paul,

On Thu, 6 Dec 2018 at 10:49, Firoz Khan <firoz.khan@linaro.org> 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.
>         - Compat entry name, if required.
>
> ARM, s390 and x86 architecuture does exist the sim-
> ilar support. I leverage their implementation to
> come up with a generic solution.
>
> I have done the same support for work for alpha,
> ia64, m68k, microblaze, parisc, powerpc, sh, sparc,
> and xtensa. Below mentioned git repository contains
> more details about the workflow.
>
> https://github.com/frzkhn/system_call_table_generator/
>
> Finally, this is the ground work to solve the Y2038
> issue. We need to add two dozen of system calls to
> solve Y2038 issue. So this patch series will help to
> add new system calls easily by adding new entry in
> the syscall.tbl.
>
> Changes since v3:
>  - rearranged the patches for '64' to 'n64' conver-
>    sion.
>  - moved the unistd_nr_*.h files to asm/unistd.h
>  - modified the *.sh files.

Please review this patch series and queue it for linux-next.

Thanks
Firoz

>
> Changes since v2:
>  - fixed __NR_syscalls assign issue.
>
> Changes since v1:
>  - optimized/updated the syscall table generation
>    scripts.
>  - fixed all mixed indentation issues in syscall.tbl.
>  - added "comments" in syscall_*.tbl.
>  - changed from generic-y to generated-y in Kbuild.
>
> Firoz Khan (7):
>   mips: add __NR_syscalls along with __NR_Linux_syscalls
>   mips: remove unused macros
>   mips: rename macros and files from '64' to 'n64'
>   mips: add +1 to __NR_syscalls in uapi header
>   mips: remove syscall table entries
>   mips: add system call table generation support
>   mips: generate uapi header and system call table files
>
>  arch/mips/Makefile                        |    3 +
>  arch/mips/include/asm/Kbuild              |    4 +
>  arch/mips/include/asm/asm.h               |    6 +-
>  arch/mips/include/asm/fpregdef.h          |    4 +-
>  arch/mips/include/asm/fw/arc/hinv.h       |    2 +-
>  arch/mips/include/asm/regdef.h            |    4 +-
>  arch/mips/include/asm/sigcontext.h        |    4 +-
>  arch/mips/include/asm/unistd.h            |   11 +-
>  arch/mips/include/uapi/asm/Kbuild         |    6 +
>  arch/mips/include/uapi/asm/fcntl.h        |    2 +-
>  arch/mips/include/uapi/asm/reg.h          |    4 +-
>  arch/mips/include/uapi/asm/sgidefs.h      |    2 +-
>  arch/mips/include/uapi/asm/sigcontext.h   |    4 +-
>  arch/mips/include/uapi/asm/stat.h         |    4 +-
>  arch/mips/include/uapi/asm/statfs.h       |    4 +-
>  arch/mips/include/uapi/asm/unistd.h       | 1069 +----------------------------
>  arch/mips/kernel/Makefile                 |    2 +-
>  arch/mips/kernel/ftrace.c                 |    8 +-
>  arch/mips/kernel/scall32-o32.S            |  391 +----------
>  arch/mips/kernel/scall64-64.S             |  444 ------------
>  arch/mips/kernel/scall64-n32.S            |  341 +--------
>  arch/mips/kernel/scall64-n64.S            |  117 ++++
>  arch/mips/kernel/scall64-o32.S            |  379 +---------
>  arch/mips/kernel/syscalls/Makefile        |   96 +++
>  arch/mips/kernel/syscalls/syscall_n32.tbl |  343 +++++++++
>  arch/mips/kernel/syscalls/syscall_n64.tbl |  339 +++++++++
>  arch/mips/kernel/syscalls/syscall_o32.tbl |  382 +++++++++++
>  arch/mips/kernel/syscalls/syscallhdr.sh   |   37 +
>  arch/mips/kernel/syscalls/syscallnr.sh    |   28 +
>  arch/mips/kernel/syscalls/syscalltbl.sh   |   36 +
>  arch/mips/kvm/entry.c                     |    4 +-
>  arch/mips/vdso/vdso.h                     |    2 +-
>  arch/mips/vdso/vdso.lds.S                 |    2 +-
>  33 files changed, 1450 insertions(+), 2634 deletions(-)
>  delete mode 100644 arch/mips/kernel/scall64-64.S
>  create mode 100644 arch/mips/kernel/scall64-n64.S
>  create mode 100644 arch/mips/kernel/syscalls/Makefile
>  create mode 100644 arch/mips/kernel/syscalls/syscall_n32.tbl
>  create mode 100644 arch/mips/kernel/syscalls/syscall_n64.tbl
>  create mode 100644 arch/mips/kernel/syscalls/syscall_o32.tbl
>  create mode 100644 arch/mips/kernel/syscalls/syscallhdr.sh
>  create mode 100644 arch/mips/kernel/syscalls/syscallnr.sh
>  create mode 100644 arch/mips/kernel/syscalls/syscalltbl.sh
>
> --
> 1.9.1
>

  parent reply	other threads:[~2018-12-10  5:35 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-06  5:18 [PATCH v4 0/7] mips: system call table generation support Firoz Khan
2018-12-06  5:18 ` [PATCH v4 1/7] mips: add __NR_syscalls along with __NR_Linux_syscalls Firoz Khan
2018-12-06  5:18 ` [PATCH v4 2/7] mips: remove unused macros Firoz Khan
2018-12-06  5:18 ` [PATCH v4 3/7] mips: rename macros and files from '64' to 'n64' Firoz Khan
2018-12-10 19:51   ` Paul Burton
2018-12-10 23:32     ` Maciej W. Rozycki
2018-12-10 23:46       ` Paul Burton
2018-12-11 10:58         ` Maciej W. Rozycki
2018-12-11  8:45     ` Firoz Khan
2018-12-11 18:59       ` Paul Burton
2018-12-12  4:34         ` Firoz Khan
2018-12-12 22:28           ` Paul Burton
2018-12-13  8:53             ` Firoz Khan
2018-12-13 20:15               ` Paul Burton
2018-12-14  5:50                 ` Firoz Khan
2018-12-06  5:18 ` [PATCH v4 4/7] mips: add +1 to __NR_syscalls in uapi header Firoz Khan
2018-12-06  5:18 ` [PATCH v4 5/7] mips: remove syscall table entries Firoz Khan
2018-12-06  5:18 ` [PATCH v4 6/7] mips: add system call table generation support Firoz Khan
2018-12-06  5:18 ` [PATCH v4 7/7] mips: generate uapi header and system call table files Firoz Khan
2018-12-10  5:35 ` Firoz Khan [this message]
2018-12-10  5:41   ` [PATCH v4 0/7] mips: system call table generation support Paul Burton
2018-12-10  8:05     ` Firoz Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALxhOninHsCiB7puVOkU3i6W9gfhGqAA6EDT0kAEC9ZqMZPh7w@mail.gmail.com \
    --to=firoz.khan@linaro.org \
    --cc=arnd@arndb.de \
    --cc=deepa.kernel@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jhogan@kernel.org \
    --cc=kstewart@linuxfoundation.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=marcin.juszkiewicz@linaro.org \
    --cc=paul.burton@mips.com \
    --cc=pombredanne@nexb.com \
    --cc=ralf@linux-mips.org \
    --cc=tglx@linutronix.de \
    --cc=y2038@lists.linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).