From: "Philippe Mathieu-Daudé" <philmd@linaro.org>
To: Richard Henderson <richard.henderson@linaro.org>,
qemu-devel@nongnu.org,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Cc: pbonzini@redhat.com, mark.cave-ayland@ilande.co.uk,
berrange@redhat.com, thuth@redhat.com
Subject: Re: [PATCH v2 10/14] configure: Define TARGET_LONG_BITS in configs/targets/*.mak
Date: Mon, 3 Feb 2025 18:48:36 +0100 [thread overview]
Message-ID: <840c162c-b949-436b-8929-15cfdd0f94e7@linaro.org> (raw)
In-Reply-To: <20250203031821.741477-11-richard.henderson@linaro.org>
On 3/2/25 04:18, Richard Henderson wrote:
> Define TARGET_LONG_BITS in each target's configure fragment.
> Do this without removing the define in target/*/cpu-param.h
> so that errors are caught like so:
>
> In file included from .../src/include/exec/cpu-defs.h:26,
> from ../src/target/hppa/cpu.h:24,
> from ../src/linux-user/qemu.h:4,
> from ../src/linux-user/hppa/cpu_loop.c:21:
> ../src/target/hppa/cpu-param.h:11: error: "TARGET_LONG_BITS" redefined [-Werror]
> 11 | #define TARGET_LONG_BITS 64
> |
> In file included from .../src/include/qemu/osdep.h:36,
> from ../src/linux-user/hppa/cpu_loop.c:20:
> ./hppa-linux-user-config-target.h:32: note: this is the location of the previous definition
> 32 | #define TARGET_LONG_BITS 32
> |
> cc1: all warnings being treated as errors
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> configs/targets/aarch64-bsd-user.mak | 1 +
> configs/targets/aarch64-linux-user.mak | 1 +
> configs/targets/aarch64-softmmu.mak | 1 +
> configs/targets/aarch64_be-linux-user.mak | 1 +
> configs/targets/alpha-linux-user.mak | 1 +
> configs/targets/alpha-softmmu.mak | 1 +
> configs/targets/arm-bsd-user.mak | 1 +
> configs/targets/arm-linux-user.mak | 1 +
> configs/targets/arm-softmmu.mak | 1 +
> configs/targets/armeb-linux-user.mak | 1 +
> configs/targets/avr-softmmu.mak | 1 +
> configs/targets/hexagon-linux-user.mak | 1 +
> configs/targets/hppa-linux-user.mak | 2 ++
> configs/targets/hppa-softmmu.mak | 1 +
> configs/targets/i386-bsd-user.mak | 1 +
> configs/targets/i386-linux-user.mak | 1 +
> configs/targets/i386-softmmu.mak | 1 +
> configs/targets/loongarch64-linux-user.mak | 1 +
> configs/targets/loongarch64-softmmu.mak | 1 +
> configs/targets/m68k-linux-user.mak | 1 +
> configs/targets/m68k-softmmu.mak | 1 +
> configs/targets/microblaze-linux-user.mak | 1 +
> configs/targets/microblaze-softmmu.mak | 3 +++
> configs/targets/microblazeel-linux-user.mak | 1 +
> configs/targets/microblazeel-softmmu.mak | 3 +++
> configs/targets/mips-linux-user.mak | 1 +
> configs/targets/mips-softmmu.mak | 1 +
> configs/targets/mips64-linux-user.mak | 1 +
> configs/targets/mips64-softmmu.mak | 1 +
> configs/targets/mips64el-linux-user.mak | 1 +
> configs/targets/mips64el-softmmu.mak | 1 +
> configs/targets/mipsel-linux-user.mak | 1 +
> configs/targets/mipsel-softmmu.mak | 1 +
> configs/targets/mipsn32-linux-user.mak | 1 +
> configs/targets/mipsn32el-linux-user.mak | 1 +
> configs/targets/or1k-linux-user.mak | 1 +
> configs/targets/or1k-softmmu.mak | 1 +
> configs/targets/ppc-linux-user.mak | 1 +
> configs/targets/ppc-softmmu.mak | 1 +
> configs/targets/ppc64-linux-user.mak | 1 +
> configs/targets/ppc64-softmmu.mak | 1 +
> configs/targets/ppc64le-linux-user.mak | 1 +
> configs/targets/riscv32-linux-user.mak | 1 +
> configs/targets/riscv32-softmmu.mak | 1 +
> configs/targets/riscv64-bsd-user.mak | 1 +
> configs/targets/riscv64-linux-user.mak | 1 +
> configs/targets/riscv64-softmmu.mak | 1 +
> configs/targets/rx-softmmu.mak | 1 +
> configs/targets/s390x-linux-user.mak | 1 +
> configs/targets/s390x-softmmu.mak | 1 +
> configs/targets/sh4-linux-user.mak | 1 +
> configs/targets/sh4-softmmu.mak | 1 +
> configs/targets/sh4eb-linux-user.mak | 1 +
> configs/targets/sh4eb-softmmu.mak | 1 +
> configs/targets/sparc-linux-user.mak | 1 +
> configs/targets/sparc-softmmu.mak | 1 +
> configs/targets/sparc32plus-linux-user.mak | 1 +
> configs/targets/sparc64-linux-user.mak | 1 +
> configs/targets/sparc64-softmmu.mak | 1 +
> configs/targets/tricore-softmmu.mak | 1 +
> configs/targets/x86_64-bsd-user.mak | 1 +
> configs/targets/x86_64-linux-user.mak | 1 +
> configs/targets/x86_64-softmmu.mak | 1 +
> configs/targets/xtensa-linux-user.mak | 1 +
> configs/targets/xtensa-softmmu.mak | 1 +
> configs/targets/xtensaeb-linux-user.mak | 1 +
> configs/targets/xtensaeb-softmmu.mak | 1 +
> 67 files changed, 72 insertions(+)
Simpler to review split in 2 (32, 64).
$ git grep -l TARGET_LONG_BITS=32 configs/targets/
configs/targets/arm-bsd-user.mak
configs/targets/arm-linux-user.mak
configs/targets/arm-softmmu.mak
configs/targets/armeb-linux-user.mak
configs/targets/avr-softmmu.mak
configs/targets/hexagon-linux-user.mak
configs/targets/i386-bsd-user.mak
configs/targets/i386-linux-user.mak
configs/targets/i386-softmmu.mak
configs/targets/m68k-linux-user.mak
configs/targets/m68k-softmmu.mak
configs/targets/microblaze-linux-user.mak
configs/targets/microblazeel-linux-user.mak
configs/targets/mips-linux-user.mak
configs/targets/mips-softmmu.mak
configs/targets/mipsel-linux-user.mak
configs/targets/mipsel-softmmu.mak
configs/targets/or1k-linux-user.mak
configs/targets/or1k-softmmu.mak
configs/targets/ppc-linux-user.mak
configs/targets/ppc-softmmu.mak
configs/targets/riscv32-linux-user.mak
configs/targets/riscv32-softmmu.mak
configs/targets/rx-softmmu.mak
configs/targets/sh4-linux-user.mak
configs/targets/sh4-softmmu.mak
configs/targets/sh4eb-linux-user.mak
configs/targets/sh4eb-softmmu.mak
configs/targets/sparc-linux-user.mak
configs/targets/sparc-softmmu.mak
configs/targets/tricore-softmmu.mak
configs/targets/xtensa-linux-user.mak
configs/targets/xtensa-softmmu.mak
configs/targets/xtensaeb-linux-user.mak
configs/targets/xtensaeb-softmmu.mak
OK.
$ git grep -l TARGET_LONG_BITS=64 configs/targets/
configs/targets/aarch64-bsd-user.mak
configs/targets/aarch64-linux-user.mak
configs/targets/aarch64-softmmu.mak
configs/targets/aarch64_be-linux-user.mak
configs/targets/alpha-linux-user.mak
configs/targets/alpha-softmmu.mak
configs/targets/hppa-linux-user.mak
configs/targets/hppa-softmmu.mak
configs/targets/loongarch64-linux-user.mak
configs/targets/loongarch64-softmmu.mak
configs/targets/microblaze-softmmu.mak
configs/targets/microblazeel-softmmu.mak
Surprising, only 32-bit ISA is implemented.
Looking at the patch context I see:
+# System mode can address up to 64 bits via lea/sea instructions.
+# TODO: These bypass the mmu, so we could emulate these differently.
configs/targets/mips64-linux-user.mak
configs/targets/mips64-softmmu.mak
configs/targets/mips64el-linux-user.mak
configs/targets/mips64el-softmmu.mak
configs/targets/mipsn32-linux-user.mak
configs/targets/mipsn32el-linux-user.mak
configs/targets/ppc64-linux-user.mak
configs/targets/ppc64-softmmu.mak
configs/targets/ppc64le-linux-user.mak
configs/targets/riscv64-bsd-user.mak
configs/targets/riscv64-linux-user.mak
configs/targets/riscv64-softmmu.mak
configs/targets/s390x-linux-user.mak
configs/targets/s390x-softmmu.mak
configs/targets/sparc32plus-linux-user.mak
configs/targets/sparc64-linux-user.mak
configs/targets/sparc64-softmmu.mak
configs/targets/x86_64-bsd-user.mak
configs/targets/x86_64-linux-user.mak
configs/targets/x86_64-softmmu.mak
OK.
Preferably splitting 32/64:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
next prev parent reply other threads:[~2025-02-03 17:49 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-03 3:18 [PATCH v2 00/14] meson: Deprecate 32-bit host support Richard Henderson
2025-02-03 3:18 ` [PATCH v2 01/14] meson: Drop tcg as a module Richard Henderson
2025-02-03 9:58 ` Thomas Huth
2025-02-03 18:39 ` Philippe Mathieu-Daudé
2025-02-03 11:34 ` Alex Bennée
2025-02-03 18:36 ` Philippe Mathieu-Daudé
2025-02-03 3:18 ` [PATCH v2 02/14] tcg: Move stubs in tcg/perf.h to tcg/perf-stubs.c Richard Henderson
2025-02-03 10:00 ` Thomas Huth
2025-02-03 11:34 ` Alex Bennée
2025-02-03 3:18 ` [PATCH v2 03/14] plugins: Uninline qemu_plugin_add_opts Richard Henderson
2025-02-03 10:02 ` Thomas Huth
2025-02-03 11:44 ` Alex Bennée
2025-02-03 3:18 ` [PATCH v2 04/14] meson: Introduce CONFIG_TCG_TARGET Richard Henderson
2025-02-03 10:08 ` Thomas Huth
2025-02-03 16:38 ` Richard Henderson
2025-02-04 6:41 ` Thomas Huth
2025-02-03 3:18 ` [PATCH v2 05/14] tcg: Link only when required in system mode Richard Henderson
2025-02-03 10:15 ` Thomas Huth
2025-02-03 11:48 ` Alex Bennée
2025-02-03 3:18 ` [PATCH v2 06/14] plugins: " Richard Henderson
2025-02-03 10:16 ` Thomas Huth
2025-02-03 11:49 ` Alex Bennée
2025-02-03 3:18 ` [PATCH v2 07/14] accel/stubs: Expand stubs for TCG Richard Henderson
2025-02-03 10:22 ` Thomas Huth
2025-02-03 16:43 ` Richard Henderson
2025-02-03 17:38 ` Thomas Huth
2025-02-03 20:00 ` Richard Henderson
2025-02-03 3:18 ` [PATCH v2 08/14] target/mips: Protect objects with CONFIG_TCG Richard Henderson
2025-02-03 10:24 ` Thomas Huth
2025-02-03 17:25 ` Philippe Mathieu-Daudé
2025-02-03 18:01 ` Richard Henderson
2025-02-03 3:18 ` [PATCH v2 09/14] gitlab: Replace aarch64 with arm in cross-i686-tci build Richard Henderson
2025-02-03 10:30 ` Thomas Huth
2025-02-03 12:31 ` Alex Bennée
2025-02-03 3:18 ` [PATCH v2 10/14] configure: Define TARGET_LONG_BITS in configs/targets/*.mak Richard Henderson
2025-02-03 10:39 ` Thomas Huth
2025-02-03 12:33 ` Alex Bennée
2025-02-03 16:49 ` Richard Henderson
2025-02-03 17:39 ` Thomas Huth
2025-02-03 17:48 ` Philippe Mathieu-Daudé [this message]
2025-02-03 18:30 ` Philippe Mathieu-Daudé
2025-02-03 19:19 ` Richard Henderson
2025-02-03 3:18 ` [PATCH v2 11/14] target/*: Remove TARGET_LONG_BITS from cpu-param.h Richard Henderson
2025-02-03 10:43 ` Thomas Huth
2025-02-03 12:34 ` Alex Bennée
2025-02-03 18:31 ` Philippe Mathieu-Daudé
2025-02-03 3:18 ` [PATCH v2 12/14] meson: Disallow 64-bit on 32-bit TCG emulation Richard Henderson
2025-02-03 10:46 ` Thomas Huth
2025-02-03 13:54 ` Alex Bennée
2025-02-03 3:18 ` [PATCH v2 13/14] meson: Deprecate 32-bit host support Richard Henderson
2025-02-03 10:47 ` Thomas Huth
2025-02-03 13:56 ` Alex Bennée
2025-02-03 3:18 ` [PATCH v2 14/14] tcg: Remove TCG_OVERSIZED_GUEST Richard Henderson
2025-02-03 13:59 ` Alex Bennée
2025-02-04 17:42 ` Richard Henderson
2025-02-03 12:54 ` [PATCH v2 00/14] meson: Deprecate 32-bit host support Paolo Bonzini
2025-02-03 21:55 ` Richard Henderson
2025-02-03 22:43 ` Stefano Stabellini
2025-02-04 8:12 ` Daniel P. Berrangé
2025-02-04 8:19 ` Juergen Gross
2025-02-04 9:11 ` Jan Beulich
2025-02-04 10:44 ` Philippe Mathieu-Daudé
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=840c162c-b949-436b-8929-15cfdd0f94e7@linaro.org \
--to=philmd@linaro.org \
--cc=berrange@redhat.com \
--cc=edgar.iglesias@gmail.com \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
/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).