On 8/12/26 13:03, Richard Henderson wrote:
While 39a8c3941e may have fixed WHPX, it certainly didn't help KVM:
$ QTEST_QEMU_BINARY=./qemu-system-aarch64 ./tests/qtest/arm-cpu-features
...
qemu-system-aarch64: unknown type 'kvm-arm-gicv3'
That patch did remove a test for TARGET_AARCH64, which is fine because
it has been a long time since we supported KVM for AArch32.
Fixes: 39a8c3941e ("hw/intc/arm_gicv3: Fix ARM_GICV3 dependency for KVM / WHPX")
Signed-off-by: Richard Henderson <[email protected]>
---
hw/intc/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hw/intc/meson.build b/hw/intc/meson.build
index a1401cb521..faf63a0145 100644
--- a/hw/intc/meson.build
+++ b/hw/intc/meson.build
@@ -48,7 +48,7 @@ specific_ss.add(when: 'CONFIG_ARM_GIC_KVM', if_true:
files('arm_gic_kvm.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', 'CONFIG_ARM_GICV3'], if_true:
files('arm_gicv3_kvm.c', 'arm_gicv3_its_kvm.c'))
+specific_ss.add(when: 'CONFIG_ARM_GIC_KVM', 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'))
Alternately, we need to adjust
config ARM_GIC
bool
select ARM_GICV3 if TCG
select ARM_GIC_KVM if KVM
select MSI_NONBROKEN
Though I'm not sure how ARM_GICV3 + WHPX would ever get selected?
Alternately, given the very tight connection between all GIC revisions and the cpu, how
does it make sense for any version of GIC to be non-selected? Just remove all the GIC
configury and include it with just TARGET_AARCH64 (not vs TARGET_ARM, but vs any other
valid virtualization host).
r~