Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- include/qemu/target-info-impl.h | 4 +++- target-info-stub.c | 1 + target-info.c | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-impl.h index 1b51cbcfe1b..83d584d7dba 100644 --- a/include/qemu/target-info-impl.h +++ b/include/qemu/target-info-impl.h @@ -9,11 +9,13 @@ #ifndef QEMU_TARGET_INFO_IMPL_H #define QEMU_TARGET_INFO_IMPL_H -#include "qemu/target-info.h" +#include "qapi/qapi-types-common.h" typedef struct TargetInfo { /* runtime equivalent of TARGET_NAME definition */ const char *target_name; + /* related to TARGET_ARCH definition */ + SysEmuTarget target_arch; /* runtime equivalent of TARGET_LONG_BITS definition */ unsigned long_bits; /* runtime equivalent of CPU_RESOLVING_TYPE definition */ diff --git a/target-info-stub.c b/target-info-stub.c index fecc0e71286..2e4407ff04b 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -14,6 +14,7 @@ static const TargetInfo target_info_stub = { .target_name = TARGET_NAME, + .target_arch = SYS_EMU_TARGET__MAX, .long_bits = TARGET_LONG_BITS, .cpu_type = CPU_RESOLVING_TYPE, .machine_typename = TYPE_MACHINE, diff --git a/target-info.c b/target-info.c index 8232d488870..5f6096606e4 100644 --- a/target-info.c +++ b/target-info.c @@ -25,6 +25,9 @@ SysEmuTarget target_system_arch(void) { static SysEmuTarget system_arch = SYS_EMU_TARGET__MAX; + if (system_arch == SYS_EMU_TARGET__MAX) { + system_arch = target_info()->target_arch; + } if (system_arch == SYS_EMU_TARGET__MAX) { system_arch = qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1, &error_abort); -- 2.47.1