[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 10/14] configure: Define TARGET_LONG_BITS in configs/targe
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH v2 10/14] configure: Define TARGET_LONG_BITS in configs/targets/*.mak |
Date: |
Mon, 3 Feb 2025 18:48:36 +0100 |
User-agent: |
Mozilla Thunderbird |
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>
- Re: [PATCH v2 07/14] accel/stubs: Expand stubs for TCG, (continued)
[PATCH v2 09/14] gitlab: Replace aarch64 with arm in cross-i686-tci build, Richard Henderson, 2025/02/02
[PATCH v2 10/14] configure: Define TARGET_LONG_BITS in configs/targets/*.mak, Richard Henderson, 2025/02/02
Re: [PATCH v2 10/14] configure: Define TARGET_LONG_BITS in configs/targets/*.mak,
Philippe Mathieu-Daudé <=
Re: [PATCH v2 10/14] configure: Define TARGET_LONG_BITS in configs/targets/*.mak, Philippe Mathieu-Daudé, 2025/02/03
[PATCH v2 11/14] target/*: Remove TARGET_LONG_BITS from cpu-param.h, Richard Henderson, 2025/02/02
[PATCH v2 12/14] meson: Disallow 64-bit on 32-bit TCG emulation, Richard Henderson, 2025/02/02
[PATCH v2 13/14] meson: Deprecate 32-bit host support, Richard Henderson, 2025/02/02