qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: Laurent Vivier <laurent@vivier.eu>, qemu-devel@nongnu.org
Cc: Cornelia Huck <cohuck@redhat.com>,
	Riku Voipio <riku.voipio@iki.fi>,
	qemu-s390x@nongnu.org,
	Aleksandar Markovic <amarkovic@wavecomp.com>,
	Aleksandar Rikalo <aleksandar.rikalo@rt-rk.com>,
	Aurelien Jarno <aurelien@aurel32.net>
Subject: Re: [PATCH v3 02/21] linux-user, alpha: add syscall table generation support
Date: Fri, 28 Feb 2020 20:44:34 -0800	[thread overview]
Message-ID: <ce6a0317-91ae-8ed5-a599-32d9e77c9726@linaro.org> (raw)
In-Reply-To: <20200225121553.2191597-3-laurent@vivier.eu>

On 2/25/20 4:15 AM, Laurent Vivier wrote:
> Copy syscall.tbl and syscallhdr.sh from linux/arch/alpha/kernel/syscalls v5.5
> Update syscallhdr.sh to generate QEMU syscall_nr.h
> 
> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
> ---
>  configure                      |   3 +-
>  linux-user/Makefile.objs       |   2 +
>  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 +++
>  6 files changed, 520 insertions(+), 493 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


Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

> +++ b/linux-user/alpha/syscallhdr.sh
> @@ -0,0 +1,32 @@
> +#!/bin/sh
> +# SPDX-License-Identifier: GPL-2.0
> +
> +in="$1"
> +out="$2"
> +my_abis=`echo "($3)" | tr ',' '|'`
> +prefix="$4"
> +offset="$5"
> +
> +fileguard=LINUX_USER_ALPHA_`basename "$out" | sed \
> +    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
> +    -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
> +grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
> +    printf "#ifndef %s\n" "${fileguard}"
> +    printf "#define %s\n" "${fileguard}"
> +    printf "\n"
> +
> +    nxt=0
> +    while read nr abi name entry ; do
> +        if [ -z "$offset" ]; then
> +            printf "#define TARGET_NR_%s%s\t%s\n" \
> +                "${prefix}" "${name}" "${nr}"
> +        else
> +            printf "#define TARGET_NR_%s%s\t(%s + %s)\n" \
> +                "${prefix}" "${name}" "${offset}" "${nr}"
> +        fi
> +        nxt=$((nr+1))
> +    done
> +
> +    printf "\n"
> +    printf "#endif /* %s */" "${fileguard}"
> +) > "$out"
> 

Not an objection per-se, but why does every target need its own copy of this
script?  There appears to be only the fileguard that differs between these.

Could we have a common script for the common cases?


r~


  reply	other threads:[~2020-02-29  4:45 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-25 12:15 [PATCH v3 00/21] linux-user: generate syscall_nr.sh Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 01/21] linux-user: introduce parameters to generate syscall_nr.h Laurent Vivier
2020-02-29  4:35   ` Richard Henderson
2020-02-25 12:15 ` [PATCH v3 02/21] linux-user, alpha: add syscall table generation support Laurent Vivier
2020-02-29  4:44   ` Richard Henderson [this message]
2020-02-25 12:15 ` [PATCH v3 03/21] linux-user, hppa: " Laurent Vivier
2020-02-29  4:51   ` Richard Henderson
2020-02-25 12:15 ` [PATCH v3 04/21] linux-user, m68k: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 05/21] linux-user, xtensa: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 06/21] linux-user, sh4: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 07/21] linux-user, microblaze: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 08/21] linux-user, arm: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 09/21] linux-user, ppc: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 10/21] linux-user, s390x: remove syscall definitions for !TARGET_S390X Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 11/21] linux-user, s390x: add syscall table generation support Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 12/21] linux-user, sparc, sparc64: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 13/21] linux-user, x86_64, i386: cleanup TARGET_NR_arch_prctl Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 14/21] linux-user, i386: add syscall table generation support Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 15/21] linux-user, x86_64: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 16/21] linux-user, mips: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 17/21] linux-user, mips64: " Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 18/21] linux-user, scripts: add a script to update syscall.tbl Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 19/21] linux-user: update syscall.tbl from linux 0bf999f9c5e7 Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 20/21] linux-user,mips: move content of mips_syscall_args Laurent Vivier
2020-02-25 12:15 ` [PATCH v3 21/21] linux-user,mips: update syscall-args-o32.c.inc Laurent Vivier
2020-03-06  0:24 ` [PATCH v3 00/21] linux-user: generate syscall_nr.sh Taylor Simpson
2020-03-06  8:19   ` Laurent Vivier

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=ce6a0317-91ae-8ed5-a599-32d9e77c9726@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=aleksandar.rikalo@rt-rk.com \
    --cc=amarkovic@wavecomp.com \
    --cc=aurelien@aurel32.net \
    --cc=cohuck@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /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).