diff options
| author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-07-01 15:08:30 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2025-07-01 15:08:30 +0100 |
| commit | 029cd5d6d1b6fea5d3280c7093e2adbd7d9e32f4 (patch) | |
| tree | 5284406d5bfc5efb518b683a8ac8756ea11ff514 /hw/arm/virt.c | |
| parent | 43eb1805437e1c904fcb5d8ce93096301128a4d0 (diff) | |
| download | focaccia-qemu-029cd5d6d1b6fea5d3280c7093e2adbd7d9e32f4.tar.gz focaccia-qemu-029cd5d6d1b6fea5d3280c7093e2adbd7d9e32f4.zip | |
hw/arm/virt: Simplify create_its()
No need to strstr() check the class name when we can use kvm_irqchip_in_kernel() to check if the ITS from the host can be used. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Gustavo Romero <gustavo.romero@linaro.org> Message-id: 20250628195722.977078-4-gustavo.romero@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm/virt.c')
| -rw-r--r-- | hw/arm/virt.c | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 6d9256a525..ae419e8671 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -705,21 +705,18 @@ static inline DeviceState *create_acpi_ged(VirtMachineState *vms) static void create_its(VirtMachineState *vms) { - const char *itsclass = its_class_name(); DeviceState *dev; - if (!strcmp(itsclass, "arm-gicv3-its")) { - if (!vms->tcg_its) { - itsclass = NULL; - } - } - - if (!itsclass) { - /* Do nothing if not supported */ + assert(vms->its); + if (!kvm_irqchip_in_kernel() && !vms->tcg_its) { + /* + * Do nothing if ITS is neither supported by the host nor emulated by + * the machine. + */ return; } - dev = qdev_new(itsclass); + dev = qdev_new(its_class_name()); object_property_set_link(OBJECT(dev), "parent-gicv3", OBJECT(vms->gic), &error_abort); |