From: Philippe Mathieu-Daudé Date: Fri, 18 Apr 2025 00:36:09 +0000 (+0200) Subject: config/target: Implement per-binary TargetInfo structure (ARM, AARCH64) X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1e18e343cef2f7fa50ecd59ee6c751567dcef9f4;p=thirdparty%2Fqemu.git config/target: Implement per-binary TargetInfo structure (ARM, AARCH64) Implement the TargetInfo structure for qemu-system-arm and qemu-system-aarch64 binaries. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Acked-by: Peter Maydell Message-Id: <20251021205741.57109-7-philmd@linaro.org> --- diff --git a/configs/targets/aarch64-softmmu.c b/configs/targets/aarch64-softmmu.c new file mode 100644 index 0000000000..4e1e2f64da --- /dev/null +++ b/configs/targets/aarch64-softmmu.c @@ -0,0 +1,26 @@ +/* + * QEMU binary/target API (qemu-system-aarch64) + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/target-info-impl.h" +#include "hw/arm/machines-qom.h" +#include "target/arm/cpu-qom.h" + +static const TargetInfo target_info_aarch64_system = { + .target_name = "aarch64", + .target_arch = SYS_EMU_TARGET_AARCH64, + .long_bits = 64, + .cpu_type = TYPE_ARM_CPU, + .machine_typename = TYPE_TARGET_AARCH64_MACHINE, + .endianness = ENDIAN_MODE_LITTLE, +}; + +const TargetInfo *target_info(void) +{ + return &target_info_aarch64_system; +} diff --git a/configs/targets/arm-softmmu.c b/configs/targets/arm-softmmu.c new file mode 100644 index 0000000000..9b3fdd2854 --- /dev/null +++ b/configs/targets/arm-softmmu.c @@ -0,0 +1,26 @@ +/* + * QEMU binary/target API (qemu-system-arm) + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qemu/target-info-impl.h" +#include "hw/arm/machines-qom.h" +#include "target/arm/cpu-qom.h" + +static const TargetInfo target_info_arm_system = { + .target_name = "arm", + .target_arch = SYS_EMU_TARGET_ARM, + .long_bits = 32, + .cpu_type = TYPE_ARM_CPU, + .machine_typename = TYPE_TARGET_ARM_MACHINE, + .endianness = ENDIAN_MODE_LITTLE, +}; + +const TargetInfo *target_info(void) +{ + return &target_info_arm_system; +} diff --git a/configs/targets/meson.build b/configs/targets/meson.build index a9f6b24ec0..cca2514eb5 100644 --- a/configs/targets/meson.build +++ b/configs/targets/meson.build @@ -1,4 +1,5 @@ foreach target : [ + 'arm-softmmu', 'aarch64-softmmu', ] config_target_info += {target : files(target + '.c')} endforeach