kvm: Don't abort on kvm_irqchip_add_msi_route()
authorAlex Williamson <alex.williamson@redhat.com>
Mon, 25 Jun 2012 15:40:39 +0000 (09:40 -0600)
committerMarcelo Tosatti <mtosatti@redhat.com>
Fri, 29 Jun 2012 23:02:27 +0000 (20:02 -0300)
Anyone using these functions has to be prepared that irqchip
support may not be present.  It shouldn't be up to the core
code to determine whether this is a fatal error.  Currently
code written as:

virq = kvm_irqchip_add_msi_route(...)
if (virq < 0) {
    <slow path>
} else {
    <fast path>
}

works on x86 with and without kvm irqchip enabled, works
without kvm support compiled in, but aborts() on !x86 with
kvm support.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
kvm-all.c

index f8e4328..a0c33b3 100644 (file)
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -1142,7 +1142,7 @@ int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg)
 
 int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg)
 {
-    abort();
+    return -ENOSYS;
 }
 
 static int kvm_irqchip_assign_irqfd(KVMState *s, int fd, int virq, bool assign)