On 4/22/25 07:54, Philippe Mathieu-Daudé wrote:
Replace compile-time check on CONFIG_{ACCEL} by
runtime check on {accel}_enabled() helpers.
Maybe we can add it the description why it works: since
get_valid_cpu_types is called after accelerator initialization.
qmp_x_exit_preconfig
+ qemu_init_board
+ machine_run_board_init
+ is_cpu_type_supported
which is called after:
configure_accelerators
It was an issue with the first approach building the list before main(),
so worth mentioning.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
hw/arm/virt.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index c6ae7cc1705..d7197958f7c 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -3134,7 +3134,7 @@ static GSList *virt_get_valid_cpu_types(const
MachineState *ms)
{
GSList *vct = NULL;
-#ifdef CONFIG_TCG
+ if (tcg_enabled()) {
vct = g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a7")));
vct = g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a15")));
#ifdef TARGET_AARCH64
@@ -3148,13 +3148,13 @@ static GSList *virt_get_valid_cpu_types(const
MachineState *ms)
vct = g_slist_prepend(vct,
g_strdup(ARM_CPU_TYPE_NAME("neoverse-v1")));
vct = g_slist_prepend(vct,
g_strdup(ARM_CPU_TYPE_NAME("neoverse-n2")));
#endif /* TARGET_AARCH64 */
-#endif /* CONFIG_TCG */
+ }
#ifdef TARGET_AARCH64
vct = g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a53")));
vct = g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a57")));
-#if defined(CONFIG_KVM) || defined(CONFIG_HVF)
+ if (kvm_enabled() || hvf_enabled()) {
vct = g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("host")));
-#endif /* CONFIG_KVM || CONFIG_HVF */
+ }
#endif /* TARGET_AARCH64 */
vct = g_slist_prepend(vct, g_strdup(ARM_CPU_TYPE_NAME("max")));