On 10/21/2026 2:53 PM, Yonggang Luo wrote: > On Thu, Oct 22, 2026 at 2:14 AM Pierrick Bouvier > <[email protected]> wrote: >> >> For now, this function strictly returns false. We'll turn it to true >> once heterogeneous emulation in supported. Meanwhile, we can use this to >> add various checks and asserts over the codebase as reminders about what >> we'll need to modify. >> >> Reviewed-by: Marc-André Lureau <[email protected]> >> Reviewed-by: Anton Johansson <[email protected]> >> Suggested-by: Philippe Mathieu-Daudé <[email protected]> >> Reviewed-by: Philippe Mathieu-Daudé <[email protected]> >> Signed-off-by: Pierrick Bouvier <[email protected]> >> --- >> include/qemu/target-info.h | 8 ++++++++ >> target-info.c | 6 ++++++ >> 2 files changed, 14 insertions(+) >> >> diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h >> index 862097c6c63..923c00c917c 100644 >> --- a/include/qemu/target-info.h >> +++ b/include/qemu/target-info.h >> @@ -42,6 +42,14 @@ const char *target_cpu_type(void); >> */ >> bool target_big_endian(void); >> >> +/** >> + * target_heterogeneous: >> + * >> + * Returns true if current binary has support for running several target >> + * architectures at once (heterogeneous emulation). >> + */ >> +bool target_heterogeneous(void); >> + >> /** >> * target_base_arm: >> * >> diff --git a/target-info.c b/target-info.c >> index 254530d8ea5..b8a4a7ebf7a 100644 >> --- a/target-info.c >> +++ b/target-info.c >> @@ -42,6 +42,12 @@ bool target_big_endian(void) >> return target_endian_mode() == ENDIAN_MODE_BIG; >> } >> >> +bool target_heterogeneous(void) >> +{ >> + /* For now, we only run a single target at a time */ >> + return false; >> +} > > How about place this in stubs/target_heterogeneous.c > So when do multi-target tests, we can override it with > > bool target_heterogeneous(void) > { > /* For now, we only run a single target at a time */ > return true; > } >
At the moment, even though multiple targets might be supported for the same binary, we still run only a single one at a time (same in single-binary), so this function will return false until this changes. Why would we want to override it today? Regards, Pierrick
