mbox series

[v3,00/21] linux-user: generate syscall_nr.sh

Message ID 20200225121553.2191597-1-laurent@vivier.eu
Headers show
Series linux-user: generate syscall_nr.sh | expand

Message

Laurent Vivier Feb. 25, 2020, 12:15 p.m. UTC
This series copies the files syscall.tbl from linux v5.5 and generates
the file syscall_nr.h from them.

This is done for all the QEMU targets that have a syscall.tbl
in the linux source tree: mips, mips64, i386, x86_64, sparc, s390x,
ppc, arm, microblaze, sh4, xtensa, m68k, hppa and alpha.

tilegx and cris are depecrated in linux (tilegx has no maintainer in QEMU)

aarch64, nios2, openrisc and riscv have no syscall.tbl in linux and files
are generated manually with the help of a script from the asm-generic/unistd.h

Define do_arch_prctl() with -TARGET_ENOSYS for i386 as the syscall number
is defined now.

I have also removed all syscalls in s390x/syscall_nr.h defined for
!defined(TARGET_S390X).

I have added a script to copy all these files from linux and updated
them at the end of the series with their latest version for today.

Two patches manage the special case for mips O32 that needs
to know the number of arguments. We find them in strace sources.

v3:
   Add a patch to define do_arch_prctl() for i386

v2:
    fix a typo (double comma) in $(call quiet-command)
    add a script to remove dependencies to syscall_nr.h in source directory

ppc, mips64:

        we don't need to split syscall_nr.h as it is generated
        according TARGET_SYSTBL_ABI to TARGET_ABI_DIR
        and generated values are incorrect according to the file name.

arm:

        manage TARGET_NR_arm_sync_file_range

Once the syscall_nr.h are built in the build directory, the following script
allows to compare them with the original one (first argument is the path
to build directory), it must be run from the source directory:

cat > check_syscall_nr.sh <<EOF
BUILD="$1"

ARCHS="i386 alpha arm hppa i386 m68k microblaze s390x sh4 sparc sparc64 xtensa ppc"

syscall_nr_diff()
{
        arch=$1
        target=$2
        syscall_nr=linux-user/$arch/syscall_nr.h
        offset=$3
        REFERENCE=$(git log -1 --format=format:%h -- $syscall_nr)^
        if [ "$offset" = "" ] ; then
                git show $REFERENCE:$syscall_nr | \
                        sed 's/[[:blank:]]\/\*[^*]*\*\///' | \
                        sed 's/(\([^)]*\))/\1/'  > /tmp/old
        else
                git show $REFERENCE:$syscall_nr | \
                        sed 's/[[:blank:]]\/\*[^*]*\*\///' | \
                        sed "s/TARGET_NR_Linux/$offset/" > /tmp/old
        fi
        diff -wu --color=always /tmp/old \
                                $BUILD/$target/$syscall_nr | less -R
}

for arch in $ARCHS ; do
        syscall_nr_diff $arch $arch-linux-user
done

syscall_nr_diff ppc    ppc64-linux-user

syscall_nr_diff mips   mips-linux-user    4000
syscall_nr_diff mips64 mips64-linux-user  5000
syscall_nr_diff mips64 mipsn32-linux-user 6000
EOF

Laurent Vivier (21):
  linux-user: introduce parameters to generate syscall_nr.h
  linux-user,alpha: add syscall table generation support
  linux-user,hppa: add syscall table generation support
  linux-user,m68k: add syscall table generation support
  linux-user,xtensa: add syscall table generation support
  linux-user,sh4: add syscall table generation support
  linux-user,microblaze: add syscall table generation support
  linux-user,arm: add syscall table generation support
  linux-user,ppc: add syscall table generation support
  linux-user,s390x: remove syscall definitions for !TARGET_S390X
  linux-user,s390x: add syscall table generation support
  linux-user,sparc,sparc64: add syscall table generation support
  linux-user,x86_64,i386: cleanup TARGET_NR_arch_prctl
  linux-user,i386: add syscall table generation support
  linux-user,x86_64: add syscall table generation support
  linux-user,mips: add syscall table generation support
  linux-user,mips64: add syscall table generation support
  linux-user,scripts: add a script to update syscall.tbl
  linux-user: update syscall.tbl from linux 0bf999f9c5e7
  linux-user,mips: move content of mips_syscall_args
  linux-user,mips: update syscall-args-o32.c.inc

 MAINTAINERS                            |   1 +
 Makefile.target                        |   3 +-
 configure                              |  35 ++
 linux-user/Makefile.objs               |  19 +-
 linux-user/alpha/Makefile.objs         |   5 +
 linux-user/alpha/syscall.tbl           | 479 ++++++++++++++++
 linux-user/alpha/syscall_nr.h          | 492 -----------------
 linux-user/alpha/syscallhdr.sh         |  32 ++
 linux-user/arm/Makefile.objs           |   8 +
 linux-user/arm/syscall.tbl             | 453 +++++++++++++++
 linux-user/arm/syscall_nr.h            | 447 ---------------
 linux-user/arm/syscallhdr.sh           |  31 ++
 linux-user/hppa/Makefile.objs          |   5 +
 linux-user/hppa/syscall.tbl            | 437 +++++++++++++++
 linux-user/hppa/syscall_nr.h           | 358 ------------
 linux-user/hppa/syscallhdr.sh          |  32 ++
 linux-user/i386/Makefile.objs          |   5 +
 linux-user/i386/syscall_32.tbl         | 444 +++++++++++++++
 linux-user/i386/syscall_nr.h           | 387 -------------
 linux-user/i386/syscallhdr.sh          |  28 +
 linux-user/i386/target_cpu.h           |   4 +-
 linux-user/m68k/Makefile.objs          |   5 +
 linux-user/m68k/syscall.tbl            | 439 +++++++++++++++
 linux-user/m68k/syscall_nr.h           | 434 ---------------
 linux-user/m68k/syscallhdr.sh          |  32 ++
 linux-user/microblaze/Makefile.objs    |   5 +
 linux-user/microblaze/syscall.tbl      | 445 +++++++++++++++
 linux-user/microblaze/syscall_nr.h     | 442 ---------------
 linux-user/microblaze/syscallhdr.sh    |  32 ++
 linux-user/mips/Makefile.objs          |   5 +
 linux-user/mips/cpu_loop.c             | 440 +--------------
 linux-user/mips/syscall-args-o32.c.inc | 436 +++++++++++++++
 linux-user/mips/syscall_nr.h           | 425 ---------------
 linux-user/mips/syscall_o32.tbl        | 427 +++++++++++++++
 linux-user/mips/syscallhdr.sh          |  36 ++
 linux-user/mips64/Makefile.objs        |  12 +
 linux-user/mips64/syscall_n32.tbl      | 378 +++++++++++++
 linux-user/mips64/syscall_n64.tbl      | 354 ++++++++++++
 linux-user/mips64/syscall_nr.h         | 725 -------------------------
 linux-user/mips64/syscallhdr.sh        |  33 ++
 linux-user/ppc/Makefile.objs           |   6 +
 linux-user/ppc/signal.c                |   2 +-
 linux-user/ppc/syscall.tbl             | 521 ++++++++++++++++++
 linux-user/ppc/syscall_nr.h            | 402 --------------
 linux-user/ppc/syscallhdr.sh           |  34 ++
 linux-user/s390x/Makefile.objs         |   5 +
 linux-user/s390x/syscall.tbl           | 442 +++++++++++++++
 linux-user/s390x/syscall_nr.h          | 398 --------------
 linux-user/s390x/syscallhdr.sh         |  32 ++
 linux-user/sh4/Makefile.objs           |   5 +
 linux-user/sh4/syscall.tbl             | 442 +++++++++++++++
 linux-user/sh4/syscall_nr.h            | 441 ---------------
 linux-user/sh4/syscallhdr.sh           |  32 ++
 linux-user/sparc/Makefile.objs         |   5 +
 linux-user/sparc/syscall.tbl           | 485 +++++++++++++++++
 linux-user/sparc/syscall_nr.h          | 363 -------------
 linux-user/sparc/syscallhdr.sh         |  32 ++
 linux-user/sparc64/Makefile.objs       |   5 +
 linux-user/sparc64/syscall.tbl         | 485 +++++++++++++++++
 linux-user/sparc64/syscall_nr.h        | 366 -------------
 linux-user/sparc64/syscallhdr.sh       |  32 ++
 linux-user/syscall.c                   |  25 +-
 linux-user/x86_64/Makefile.objs        |   5 +
 linux-user/x86_64/syscall_64.tbl       | 404 ++++++++++++++
 linux-user/x86_64/syscall_nr.h         | 356 ------------
 linux-user/x86_64/syscallhdr.sh        |  28 +
 linux-user/xtensa/Makefile.objs        |   5 +
 linux-user/xtensa/syscall.tbl          | 410 ++++++++++++++
 linux-user/xtensa/syscall_nr.h         | 469 ----------------
 linux-user/xtensa/syscallhdr.sh        |  32 ++
 scripts/update-mips-syscall-args.sh    |  57 ++
 scripts/update-syscalltbl.sh           |  49 ++
 72 files changed, 8227 insertions(+), 6958 deletions(-)
 create mode 100644 linux-user/alpha/Makefile.objs
 create mode 100644 linux-user/alpha/syscall.tbl
 delete mode 100644 linux-user/alpha/syscall_nr.h
 create mode 100644 linux-user/alpha/syscallhdr.sh
 create mode 100644 linux-user/arm/Makefile.objs
 create mode 100644 linux-user/arm/syscall.tbl
 delete mode 100644 linux-user/arm/syscall_nr.h
 create mode 100644 linux-user/arm/syscallhdr.sh
 create mode 100644 linux-user/hppa/Makefile.objs
 create mode 100644 linux-user/hppa/syscall.tbl
 delete mode 100644 linux-user/hppa/syscall_nr.h
 create mode 100644 linux-user/hppa/syscallhdr.sh
 create mode 100644 linux-user/i386/Makefile.objs
 create mode 100644 linux-user/i386/syscall_32.tbl
 delete mode 100644 linux-user/i386/syscall_nr.h
 create mode 100644 linux-user/i386/syscallhdr.sh
 create mode 100644 linux-user/m68k/Makefile.objs
 create mode 100644 linux-user/m68k/syscall.tbl
 delete mode 100644 linux-user/m68k/syscall_nr.h
 create mode 100644 linux-user/m68k/syscallhdr.sh
 create mode 100644 linux-user/microblaze/Makefile.objs
 create mode 100644 linux-user/microblaze/syscall.tbl
 delete mode 100644 linux-user/microblaze/syscall_nr.h
 create mode 100644 linux-user/microblaze/syscallhdr.sh
 create mode 100644 linux-user/mips/Makefile.objs
 create mode 100644 linux-user/mips/syscall-args-o32.c.inc
 delete mode 100644 linux-user/mips/syscall_nr.h
 create mode 100644 linux-user/mips/syscall_o32.tbl
 create mode 100644 linux-user/mips/syscallhdr.sh
 create mode 100644 linux-user/mips64/Makefile.objs
 create mode 100644 linux-user/mips64/syscall_n32.tbl
 create mode 100644 linux-user/mips64/syscall_n64.tbl
 delete mode 100644 linux-user/mips64/syscall_nr.h
 create mode 100644 linux-user/mips64/syscallhdr.sh
 create mode 100644 linux-user/ppc/Makefile.objs
 create mode 100644 linux-user/ppc/syscall.tbl
 delete mode 100644 linux-user/ppc/syscall_nr.h
 create mode 100644 linux-user/ppc/syscallhdr.sh
 create mode 100644 linux-user/s390x/Makefile.objs
 create mode 100644 linux-user/s390x/syscall.tbl
 delete mode 100644 linux-user/s390x/syscall_nr.h
 create mode 100755 linux-user/s390x/syscallhdr.sh
 create mode 100644 linux-user/sh4/Makefile.objs
 create mode 100644 linux-user/sh4/syscall.tbl
 delete mode 100644 linux-user/sh4/syscall_nr.h
 create mode 100644 linux-user/sh4/syscallhdr.sh
 create mode 100644 linux-user/sparc/Makefile.objs
 create mode 100644 linux-user/sparc/syscall.tbl
 delete mode 100644 linux-user/sparc/syscall_nr.h
 create mode 100644 linux-user/sparc/syscallhdr.sh
 create mode 100644 linux-user/sparc64/Makefile.objs
 create mode 100644 linux-user/sparc64/syscall.tbl
 delete mode 100644 linux-user/sparc64/syscall_nr.h
 create mode 100644 linux-user/sparc64/syscallhdr.sh
 create mode 100644 linux-user/x86_64/Makefile.objs
 create mode 100644 linux-user/x86_64/syscall_64.tbl
 delete mode 100644 linux-user/x86_64/syscall_nr.h
 create mode 100644 linux-user/x86_64/syscallhdr.sh
 create mode 100644 linux-user/xtensa/Makefile.objs
 create mode 100644 linux-user/xtensa/syscall.tbl
 delete mode 100644 linux-user/xtensa/syscall_nr.h
 create mode 100644 linux-user/xtensa/syscallhdr.sh
 create mode 100755 scripts/update-mips-syscall-args.sh
 create mode 100755 scripts/update-syscalltbl.sh

Comments

Taylor Simpson March 6, 2020, 12:24 a.m. UTC | #1
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>

FWIW, the Hexagon Linux port does not use this mechanism.  I can work with our kernel maintainer and in the meantime create something suitable for qemu.



> -----Original Message-----
> From: Qemu-devel <qemu-devel-
> bounces+tsimpson=quicinc.com@nongnu.org> On Behalf Of Laurent Vivier
> Sent: Tuesday, February 25, 2020 6:16 AM
> To: qemu-devel@nongnu.org
> Cc: Riku Voipio <riku.voipio@iki.fi>; Cornelia Huck <cohuck@redhat.com>;
> Laurent Vivier <laurent@vivier.eu>; qemu-s390x@nongnu.org; Aleksandar
> Markovic <amarkovic@wavecomp.com>; Aleksandar Rikalo
> <aleksandar.rikalo@rt-rk.com>; Aurelien Jarno <aurelien@aurel32.net>
> Subject: [PATCH v3 00/21] linux-user: generate syscall_nr.sh
>
> -------------------------------------------------------------------------
> CAUTION: This email originated from outside of the organization.
> -------------------------------------------------------------------------
>
> This series copies the files syscall.tbl from linux v5.5 and generates
> the file syscall_nr.h from them.
>
> This is done for all the QEMU targets that have a syscall.tbl
> in the linux source tree: mips, mips64, i386, x86_64, sparc, s390x,
> ppc, arm, microblaze, sh4, xtensa, m68k, hppa and alpha.
>
> tilegx and cris are depecrated in linux (tilegx has no maintainer in QEMU)
>
> aarch64, nios2, openrisc and riscv have no syscall.tbl in linux and files
> are generated manually with the help of a script from the asm-
> generic/unistd.h
>
> Define do_arch_prctl() with -TARGET_ENOSYS for i386 as the syscall number
> is defined now.
>
> I have also removed all syscalls in s390x/syscall_nr.h defined for
> !defined(TARGET_S390X).
>
> I have added a script to copy all these files from linux and updated
> them at the end of the series with their latest version for today.
>
> Two patches manage the special case for mips O32 that needs
> to know the number of arguments. We find them in strace sources.
>
> v3:
>    Add a patch to define do_arch_prctl() for i386
>
> v2:
>     fix a typo (double comma) in $(call quiet-command)
>     add a script to remove dependencies to syscall_nr.h in source directory
>
> ppc, mips64:
>
>         we don't need to split syscall_nr.h as it is generated
>         according TARGET_SYSTBL_ABI to TARGET_ABI_DIR
>         and generated values are incorrect according to the file name.
>
> arm:
>
>         manage TARGET_NR_arm_sync_file_range
>
> Once the syscall_nr.h are built in the build directory, the following script
> allows to compare them with the original one (first argument is the path
> to build directory), it must be run from the source directory:
>
> cat > check_syscall_nr.sh <<EOF
> BUILD="$1"
>
> ARCHS="i386 alpha arm hppa i386 m68k microblaze s390x sh4 sparc sparc64
> xtensa ppc"
>
> syscall_nr_diff()
> {
>         arch=$1
>         target=$2
>         syscall_nr=linux-user/$arch/syscall_nr.h
>         offset=$3
>         REFERENCE=$(git log -1 --format=format:%h -- $syscall_nr)^
>         if [ "$offset" = "" ] ; then
>                 git show $REFERENCE:$syscall_nr | \
>                         sed 's/[[:blank:]]\/\*[^*]*\*\///' | \
>                         sed 's/(\([^)]*\))/\1/'  > /tmp/old
>         else
>                 git show $REFERENCE:$syscall_nr | \
>                         sed 's/[[:blank:]]\/\*[^*]*\*\///' | \
>                         sed "s/TARGET_NR_Linux/$offset/" > /tmp/old
>         fi
>         diff -wu --color=always /tmp/old \
>                                 $BUILD/$target/$syscall_nr | less -R
> }
>
> for arch in $ARCHS ; do
>         syscall_nr_diff $arch $arch-linux-user
> done
>
> syscall_nr_diff ppc    ppc64-linux-user
>
> syscall_nr_diff mips   mips-linux-user    4000
> syscall_nr_diff mips64 mips64-linux-user  5000
> syscall_nr_diff mips64 mipsn32-linux-user 6000
> EOF
>
> Laurent Vivier (21):
>   linux-user: introduce parameters to generate syscall_nr.h
>   linux-user,alpha: add syscall table generation support
>   linux-user,hppa: add syscall table generation support
>   linux-user,m68k: add syscall table generation support
>   linux-user,xtensa: add syscall table generation support
>   linux-user,sh4: add syscall table generation support
>   linux-user,microblaze: add syscall table generation support
>   linux-user,arm: add syscall table generation support
>   linux-user,ppc: add syscall table generation support
>   linux-user,s390x: remove syscall definitions for !TARGET_S390X
>   linux-user,s390x: add syscall table generation support
>   linux-user,sparc,sparc64: add syscall table generation support
>   linux-user,x86_64,i386: cleanup TARGET_NR_arch_prctl
>   linux-user,i386: add syscall table generation support
>   linux-user,x86_64: add syscall table generation support
>   linux-user,mips: add syscall table generation support
>   linux-user,mips64: add syscall table generation support
>   linux-user,scripts: add a script to update syscall.tbl
>   linux-user: update syscall.tbl from linux 0bf999f9c5e7
>   linux-user,mips: move content of mips_syscall_args
>   linux-user,mips: update syscall-args-o32.c.inc
>
>  MAINTAINERS                            |   1 +
>  Makefile.target                        |   3 +-
>  configure                              |  35 ++
>  linux-user/Makefile.objs               |  19 +-
>  linux-user/alpha/Makefile.objs         |   5 +
>  linux-user/alpha/syscall.tbl           | 479 ++++++++++++++++
>  linux-user/alpha/syscall_nr.h          | 492 -----------------
>  linux-user/alpha/syscallhdr.sh         |  32 ++
>  linux-user/arm/Makefile.objs           |   8 +
>  linux-user/arm/syscall.tbl             | 453 +++++++++++++++
>  linux-user/arm/syscall_nr.h            | 447 ---------------
>  linux-user/arm/syscallhdr.sh           |  31 ++
>  linux-user/hppa/Makefile.objs          |   5 +
>  linux-user/hppa/syscall.tbl            | 437 +++++++++++++++
>  linux-user/hppa/syscall_nr.h           | 358 ------------
>  linux-user/hppa/syscallhdr.sh          |  32 ++
>  linux-user/i386/Makefile.objs          |   5 +
>  linux-user/i386/syscall_32.tbl         | 444 +++++++++++++++
>  linux-user/i386/syscall_nr.h           | 387 -------------
>  linux-user/i386/syscallhdr.sh          |  28 +
>  linux-user/i386/target_cpu.h           |   4 +-
>  linux-user/m68k/Makefile.objs          |   5 +
>  linux-user/m68k/syscall.tbl            | 439 +++++++++++++++
>  linux-user/m68k/syscall_nr.h           | 434 ---------------
>  linux-user/m68k/syscallhdr.sh          |  32 ++
>  linux-user/microblaze/Makefile.objs    |   5 +
>  linux-user/microblaze/syscall.tbl      | 445 +++++++++++++++
>  linux-user/microblaze/syscall_nr.h     | 442 ---------------
>  linux-user/microblaze/syscallhdr.sh    |  32 ++
>  linux-user/mips/Makefile.objs          |   5 +
>  linux-user/mips/cpu_loop.c             | 440 +--------------
>  linux-user/mips/syscall-args-o32.c.inc | 436 +++++++++++++++
>  linux-user/mips/syscall_nr.h           | 425 ---------------
>  linux-user/mips/syscall_o32.tbl        | 427 +++++++++++++++
>  linux-user/mips/syscallhdr.sh          |  36 ++
>  linux-user/mips64/Makefile.objs        |  12 +
>  linux-user/mips64/syscall_n32.tbl      | 378 +++++++++++++
>  linux-user/mips64/syscall_n64.tbl      | 354 ++++++++++++
>  linux-user/mips64/syscall_nr.h         | 725 -------------------------
>  linux-user/mips64/syscallhdr.sh        |  33 ++
>  linux-user/ppc/Makefile.objs           |   6 +
>  linux-user/ppc/signal.c                |   2 +-
>  linux-user/ppc/syscall.tbl             | 521 ++++++++++++++++++
>  linux-user/ppc/syscall_nr.h            | 402 --------------
>  linux-user/ppc/syscallhdr.sh           |  34 ++
>  linux-user/s390x/Makefile.objs         |   5 +
>  linux-user/s390x/syscall.tbl           | 442 +++++++++++++++
>  linux-user/s390x/syscall_nr.h          | 398 --------------
>  linux-user/s390x/syscallhdr.sh         |  32 ++
>  linux-user/sh4/Makefile.objs           |   5 +
>  linux-user/sh4/syscall.tbl             | 442 +++++++++++++++
>  linux-user/sh4/syscall_nr.h            | 441 ---------------
>  linux-user/sh4/syscallhdr.sh           |  32 ++
>  linux-user/sparc/Makefile.objs         |   5 +
>  linux-user/sparc/syscall.tbl           | 485 +++++++++++++++++
>  linux-user/sparc/syscall_nr.h          | 363 -------------
>  linux-user/sparc/syscallhdr.sh         |  32 ++
>  linux-user/sparc64/Makefile.objs       |   5 +
>  linux-user/sparc64/syscall.tbl         | 485 +++++++++++++++++
>  linux-user/sparc64/syscall_nr.h        | 366 -------------
>  linux-user/sparc64/syscallhdr.sh       |  32 ++
>  linux-user/syscall.c                   |  25 +-
>  linux-user/x86_64/Makefile.objs        |   5 +
>  linux-user/x86_64/syscall_64.tbl       | 404 ++++++++++++++
>  linux-user/x86_64/syscall_nr.h         | 356 ------------
>  linux-user/x86_64/syscallhdr.sh        |  28 +
>  linux-user/xtensa/Makefile.objs        |   5 +
>  linux-user/xtensa/syscall.tbl          | 410 ++++++++++++++
>  linux-user/xtensa/syscall_nr.h         | 469 ----------------
>  linux-user/xtensa/syscallhdr.sh        |  32 ++
>  scripts/update-mips-syscall-args.sh    |  57 ++
>  scripts/update-syscalltbl.sh           |  49 ++
>  72 files changed, 8227 insertions(+), 6958 deletions(-)
>  create mode 100644 linux-user/alpha/Makefile.objs
>  create mode 100644 linux-user/alpha/syscall.tbl
>  delete mode 100644 linux-user/alpha/syscall_nr.h
>  create mode 100644 linux-user/alpha/syscallhdr.sh
>  create mode 100644 linux-user/arm/Makefile.objs
>  create mode 100644 linux-user/arm/syscall.tbl
>  delete mode 100644 linux-user/arm/syscall_nr.h
>  create mode 100644 linux-user/arm/syscallhdr.sh
>  create mode 100644 linux-user/hppa/Makefile.objs
>  create mode 100644 linux-user/hppa/syscall.tbl
>  delete mode 100644 linux-user/hppa/syscall_nr.h
>  create mode 100644 linux-user/hppa/syscallhdr.sh
>  create mode 100644 linux-user/i386/Makefile.objs
>  create mode 100644 linux-user/i386/syscall_32.tbl
>  delete mode 100644 linux-user/i386/syscall_nr.h
>  create mode 100644 linux-user/i386/syscallhdr.sh
>  create mode 100644 linux-user/m68k/Makefile.objs
>  create mode 100644 linux-user/m68k/syscall.tbl
>  delete mode 100644 linux-user/m68k/syscall_nr.h
>  create mode 100644 linux-user/m68k/syscallhdr.sh
>  create mode 100644 linux-user/microblaze/Makefile.objs
>  create mode 100644 linux-user/microblaze/syscall.tbl
>  delete mode 100644 linux-user/microblaze/syscall_nr.h
>  create mode 100644 linux-user/microblaze/syscallhdr.sh
>  create mode 100644 linux-user/mips/Makefile.objs
>  create mode 100644 linux-user/mips/syscall-args-o32.c.inc
>  delete mode 100644 linux-user/mips/syscall_nr.h
>  create mode 100644 linux-user/mips/syscall_o32.tbl
>  create mode 100644 linux-user/mips/syscallhdr.sh
>  create mode 100644 linux-user/mips64/Makefile.objs
>  create mode 100644 linux-user/mips64/syscall_n32.tbl
>  create mode 100644 linux-user/mips64/syscall_n64.tbl
>  delete mode 100644 linux-user/mips64/syscall_nr.h
>  create mode 100644 linux-user/mips64/syscallhdr.sh
>  create mode 100644 linux-user/ppc/Makefile.objs
>  create mode 100644 linux-user/ppc/syscall.tbl
>  delete mode 100644 linux-user/ppc/syscall_nr.h
>  create mode 100644 linux-user/ppc/syscallhdr.sh
>  create mode 100644 linux-user/s390x/Makefile.objs
>  create mode 100644 linux-user/s390x/syscall.tbl
>  delete mode 100644 linux-user/s390x/syscall_nr.h
>  create mode 100755 linux-user/s390x/syscallhdr.sh
>  create mode 100644 linux-user/sh4/Makefile.objs
>  create mode 100644 linux-user/sh4/syscall.tbl
>  delete mode 100644 linux-user/sh4/syscall_nr.h
>  create mode 100644 linux-user/sh4/syscallhdr.sh
>  create mode 100644 linux-user/sparc/Makefile.objs
>  create mode 100644 linux-user/sparc/syscall.tbl
>  delete mode 100644 linux-user/sparc/syscall_nr.h
>  create mode 100644 linux-user/sparc/syscallhdr.sh
>  create mode 100644 linux-user/sparc64/Makefile.objs
>  create mode 100644 linux-user/sparc64/syscall.tbl
>  delete mode 100644 linux-user/sparc64/syscall_nr.h
>  create mode 100644 linux-user/sparc64/syscallhdr.sh
>  create mode 100644 linux-user/x86_64/Makefile.objs
>  create mode 100644 linux-user/x86_64/syscall_64.tbl
>  delete mode 100644 linux-user/x86_64/syscall_nr.h
>  create mode 100644 linux-user/x86_64/syscallhdr.sh
>  create mode 100644 linux-user/xtensa/Makefile.objs
>  create mode 100644 linux-user/xtensa/syscall.tbl
>  delete mode 100644 linux-user/xtensa/syscall_nr.h
>  create mode 100644 linux-user/xtensa/syscallhdr.sh
>  create mode 100755 scripts/update-mips-syscall-args.sh
>  create mode 100755 scripts/update-syscalltbl.sh
>
> --
> 2.24.1
>
>
Laurent Vivier March 6, 2020, 8:19 a.m. UTC | #2
Le 06/03/2020 à 01:24, Taylor Simpson a écrit :
> Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
> 
> FWIW, the Hexagon Linux port does not use this mechanism.  I can work with our kernel maintainer and in the meantime create something suitable for qemu.

Not needed, syscall.tbl are for the old archs that don't use the
asm-generic.

I have a little script (see attachement) that converts
asm-generic/unistd.h from linux to syscall_nr.h for QEMU. I will send a
series to update the remaining archs in QEMU.

Thanks,
Laurent