qemu-devel
[Top][All Lists]
Advanced

[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>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]