Re: [PULL 01/20] hw/intc/arm_gicv3: Fix ARM_GICV3 dependency for KVM / WHPX
Philippe Mathieu-Daudé <[email protected]>
| Newsgroups | gmane.comp.emulators.qemu |
|---|---|
| Message-ID | <[email protected]> |
On 28/7/26 14:31, Peter Maydell wrote: > From: Philippe Mathieu-Daudé <[email protected]> > > KVM and WHPX GICv3 implementations call gicv3_init_irqs_and_mmio() > which is defined in arm_gicv3_common.c, itself build when ARM_GIC > is selected. Both KVM and WHPX are conditional on ARM_GICV3, > itself selecting ARM_GIC. Only build the ARM_GICV3 accelerator > variants when ARM_GICV3 is selected. > > $ git grep -w gicv3_init_irqs_and_mmio > hw/intc/arm_gicv3_common.c:314:void gicv3_init_irqs_and_mmio(GICv3State *s, > hw/intc/arm_gicv3.c:450: gicv3_init_irqs_and_mmio(s, gicv3_set_irq, gic_ops); > hw/intc/arm_gicv3_hvf.c:710: gicv3_init_irqs_and_mmio(s, hvf_gicv3_set_irq, NULL); > hw/intc/arm_gicv3_kvm.c:822: gicv3_init_irqs_and_mmio(s, kvm_arm_gicv3_set_irq, NULL); > hw/intc/arm_gicv3_whpx.c:186: gicv3_init_irqs_and_mmio(s, whpx_gicv3_set_irq, NULL); > > Fixes: a7bf30342e6 ("hw/intc: Initial implementation of vGICv3") > Fixes: e4c95f78a47 ("hw, target, accel: whpx: change apic_in_platform to kernel_irqchip") > Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > Reviewed-by: Richard Henderson <[email protected]> > Message-id: [email protected] > Signed-off-by: Peter Maydell <[email protected]> > --- > hw/intc/meson.build | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/intc/meson.build b/hw/intc/meson.build > index fac2d228f9b..377de78bb41 100644 > --- a/hw/intc/meson.build > +++ b/hw/intc/meson.build > @@ -45,10 +45,10 @@ specific_ss.add(when: 'CONFIG_APIC', if_true: files('apic.c', 'apic_common.c')) > arm_common_ss.add(when: 'CONFIG_ARM_GIC', if_true: files('arm_gicv3_cpuif_common.c')) > arm_common_ss.add(when: 'CONFIG_ARM_GICV3', if_true: files('arm_gicv3_cpuif.c')) > specific_ss.add(when: 'CONFIG_ARM_GIC_KVM', if_true: files('arm_gic_kvm.c')) > -specific_ss.add(when: ['CONFIG_WHPX', 'TARGET_AARCH64'], if_true: files('arm_gicv3_whpx.c')) > +specific_ss.add(when: ['CONFIG_WHPX', 'CONFIG_ARM_GICV3'], if_true: files('arm_gicv3_whpx.c')) > specific_ss.add(when: ['CONFIG_HVF', 'CONFIG_ARM_GICV3'], if_true: files('arm_gicv3_hvf.c')) > stub_ss.add(files('arm_gicv3_hvf_stub.c')) > -specific_ss.add(when: ['CONFIG_ARM_GIC_KVM', 'TARGET_AARCH64'], if_true: files('arm_gicv3_kvm.c', 'arm_gicv3_its_kvm.c')) > +specific_ss.add(when: ['CONFIG_ARM_GIC_KVM', 'CONFIG_ARM_GICV3'], if_true: files('arm_gicv3_kvm.c', 'arm_gicv3_its_kvm.c')) > arm_common_ss.add(when: 'CONFIG_ARM_V7M', if_true: files('armv7m_nvic.c')) > specific_ss.add(when: 'CONFIG_GRLIB', if_true: files('grlib_irqmp.c')) > specific_ss.add(when: 'CONFIG_IOAPIC', if_true: files('ioapic.c')) I'm afraid I didn't post the final full version, so this patch lacks: -- >8 -- diff --git a/hw/intc/Kconfig b/hw/intc/Kconfig index 636d00b7e88..1fec78f3bf1 100644 --- a/hw/intc/Kconfig +++ b/hw/intc/Kconfig @@ -23,7 +23,7 @@ config APIC config ARM_GIC bool - select ARM_GICV3 if TCG + select ARM_GICV3 if TCG || HVF || WHPX select ARM_GIC_KVM if KVM select MSI_NONBROKEN --- Because now we are getting i.e. on macOS: qemu-system-aarch64: unknown type 'hvf-arm-gicv3' I apologize and will post a patch...