Introduce an API to get target-specific information
from our current binary names (considered legacy as
of today).
At this point, get endianness and target_long_bits,
just enough to build qemu-system-microblaze (default
to big endian) and its little-endian symlink:
$ make qemu-system-microblaze{,el}
$ ./qemu-system-microblaze -M help
Supported machines are:
none empty machine
petalogix-ml605 PetaLogix linux refdesign for xilinx ml605 (big endian) (deprecated)
petalogix-s3adsp1800 PetaLogix linux refdesign for xilinx Spartan 3ADSP1800 (big endian) (default)
xlnx-zynqmp-pmu Xilinx ZynqMP PMU machine (big endian) (deprecated)
$ ./qemu-system-microblazeel -M help
Supported machines are:
none empty machine
petalogix-ml605 PetaLogix linux refdesign for xilinx ml605 (big endian) (deprecated)
petalogix-s3adsp1800 PetaLogix linux refdesign for xilinx Spartan 3ADSP1800 (little endian) (default)
xlnx-zynqmp-pmu Xilinx ZynqMP PMU machine (big endian) (deprecated)
Based-on: <20250305005225.95051-1-philmd@linaro.org>
Philippe Mathieu-Daudé (18):
hw/xen/hvm: Fix Aarch64 typo
hw/vfio/common: Get target page size using runtime helpers
include: Poison TARGET_PHYS_ADDR_SPACE_BITS definition
qemu: Introduce 'qemu/legacy_binary_info.h'
qemu: Introduce legacy_binary_is_64bit() helper
hw/mips/mipssim: Replace TARGET_MIPS64 by legacy_binary_is_64bit()
hw/mips/malta: Replace TARGET_MIPS64 by legacy_binary_is_64bit()
hw/i386: Inline TARGET_DEFAULT_CPU_TYPE definition
hw/ppc/mac: Replace TARGET_PPC64 by legacy_binary_is_64bit()
qemu: Introduce legacy_binary_is_big_endian() helper
hw/mips/jazz: Replace TARGET_BIG_ENDIAN by legacy_binary_is_big_endian
hw/mips/mipssim: Use legacy_binary_is_big_endian()
hw/xtensa/sim: Replace TARGET_BIG_ENDIAN by
legacy_binary_is_big_endian
hw/xtensa/xtfpga: Check endianness via legacy_binary_is_big_endian()
hw/microblaze/petalogix_ml605_mmu: Use legacy_binary_is_big_endian()
hw/microblaze/petalogix_s3adsp1800_mmu: Use
legacy_binary_is_big_endian
meson: Allow symlinking system emulation binaries
configs/targets: Merge qemu-system-microblaze{el} binaries
configs/targets/microblazeel-softmmu.mak | 8 -
meson.build | 18 +-
include/exec/poison.h | 1 +
include/hw/xen/arch_hvm.h | 2 +-
include/qemu/legacy_binary_info.h | 25 +++
target/i386/cpu.h | 6 -
hw/i386/microvm.c | 5 +-
hw/i386/pc.c | 5 +-
hw/i386/xen/xen-pvh.c | 5 +-
hw/microblaze/petalogix_ml605_mmu.c | 4 +-
hw/microblaze/petalogix_s3adsp1800_mmu.c | 13 +-
hw/mips/jazz.c | 23 ++-
hw/mips/malta.c | 8 +-
hw/mips/mipssim.c | 36 ++--
hw/ppc/mac_newworld.c | 9 +-
hw/ppc/mac_oldworld.c | 5 +-
hw/vfio/common.c | 9 +-
hw/xtensa/sim.c | 4 +-
hw/xtensa/xtfpga.c | 12 +-
legacy_binary_info.c | 240 +++++++++++++++++++++++
system/vl.c | 2 +
21 files changed, 358 insertions(+), 82 deletions(-)
delete mode 100644 configs/targets/microblazeel-softmmu.mak
create mode 100644 include/qemu/legacy_binary_info.h
create mode 100644 legacy_binary_info.c
--
2.47.1