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-phi...@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