Message ID | 20120625154024.3598.7168.stgit@bling.home |
---|---|
State | New |
Headers | show |
On 2012-06-25 17:40, Alex Williamson wrote: > 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> > --- > > kvm-all.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/kvm-all.c b/kvm-all.c > index 45d00cd..b2ed702 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -1146,7 +1146,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) > Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
On Mon, Jun 25, 2012 at 09:40:39AM -0600, Alex Williamson wrote: > 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> Applied to uq/master.
diff --git a/kvm-all.c b/kvm-all.c index 45d00cd..b2ed702 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -1146,7 +1146,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)
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> --- kvm-all.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)