On 2012-06-05 20:08, Ben Collins wrote: > Things like kroute and direct_msi were not protected by ifdef's for when > this feature is not enabled. Also, virtio-pci was referencing > kvm_irqchip_release_virq() which was not defined without KVM_CAP_IRQ_ROUTING > but when KVM was enabled.
There is [1] already which I prefer for the first two issues. Would you like to adjust your patch, or should I adopt the kvm_irqchip_release_virq fix? Thanks, Jan [1] http://thread.gmane.org/gmane.comp.emulators.qemu/153940 > > Signed-off-by: Ben Collins <[email protected]> > Cc: Avi Kivity <[email protected]> > Cc: Marcelo Tosatti <[email protected]> > --- > kvm-all.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/kvm-all.c b/kvm-all.c > index 489ee53..b0f6e06 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -63,7 +63,9 @@ typedef struct KVMSlot > typedef struct kvm_dirty_log KVMDirtyLog; > > typedef struct KVMMSIRoute { > +#ifdef KVM_CAP_IRQ_ROUTING > struct kvm_irq_routing_entry kroute; > +#endif > QTAILQ_ENTRY(KVMMSIRoute) entry; > } KVMMSIRoute; > > @@ -1143,6 +1145,10 @@ static int kvm_irqchip_assign_irqfd(KVMState *s, int > fd, int virq, bool assign) > { > abort(); > } > + > +void kvm_irqchip_release_virq(KVMState *s, int virq) > +{ > +} > #endif /* !KVM_CAP_IRQ_ROUTING */ > > int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq) > @@ -1286,7 +1292,9 @@ int kvm_init(void) > s->pit_state2 = kvm_check_extension(s, KVM_CAP_PIT_STATE2); > #endif > > +#ifdef KVM_CAP_IRQ_ROUTING > s->direct_msi = (kvm_check_extension(s, KVM_CAP_SIGNAL_MSI) > 0); > +#endif > > ret = kvm_arch_init(s); > if (ret < 0) { -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux
