Message ID | 20250422145502.70770-14-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | single-binary: Make hw/arm/ common | expand |
On 4/22/25 07:54, Philippe Mathieu-Daudé wrote: > Replace compile-time check on CONFIG_{ACCEL} by > runtime check on {accel}_enabled() helpers. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/arm/virt.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~ > > 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"))); >
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é <philmd@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"))); >
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")));
Replace compile-time check on CONFIG_{ACCEL} by runtime check on {accel}_enabled() helpers. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/arm/virt.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)