KVM_CAP_IRQ_ROUTING is available since 2009 (Linux v2.6.30), so it's safe to just make it a requirement on x86.
Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> Acked-by: Paolo Bonzini <pbonz...@redhat.com> Message-Id: <20200922201922.2153598-2-ehabk...@redhat.com> Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> --- target/i386/kvm.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/target/i386/kvm.c b/target/i386/kvm.c index 0098be7015..69c691ad77 100644 --- a/target/i386/kvm.c +++ b/target/i386/kvm.c @@ -2114,6 +2114,11 @@ int kvm_arch_init(MachineState *ms, KVMState *s) int ret; struct utsname utsname; + if (!kvm_check_extension(s, KVM_CAP_IRQ_ROUTING)) { + error_report("kvm: KVM_CAP_IRQ_ROUTING not supported by KVM"); + return -ENOTSUP; + } + has_xsave = kvm_check_extension(s, KVM_CAP_XSAVE); has_xcrs = kvm_check_extension(s, KVM_CAP_XCRS); has_pit_state2 = kvm_check_extension(s, KVM_CAP_PIT_STATE2); -- 2.28.0