From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:39934) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SbyIU-0004UV-7u for qemu-devel@nongnu.org; Tue, 05 Jun 2012 14:16:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SbyIS-0005HJ-8z for qemu-devel@nongnu.org; Tue, 05 Jun 2012 14:16:01 -0400 Received: from goliath.siemens.de ([192.35.17.28]:17697) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SbyIR-0005Gq-UX for qemu-devel@nongnu.org; Tue, 05 Jun 2012 14:16:00 -0400 Message-ID: <4FCE4CDB.8010306@siemens.com> Date: Tue, 05 Jun 2012 20:15:55 +0200 From: Jan Kiszka MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] KVM: Fix compiles when KVM_CAP_IRQ_ROUTING is not defined List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Ben Collins Cc: Marcelo Tosatti , qemu-devel , Avi Kivity 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 > Cc: Avi Kivity > Cc: Marcelo Tosatti > --- > 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