From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jes Sorensen Subject: KVM build breakage Date: Tue, 24 Feb 2009 17:24:54 +0100 Message-ID: <49A41F56.3030705@sgi.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000603060404090206030009" Cc: Avi Kivity , "kvm-ia64@vger.kernel.org" , "kvm@vger.kernel.org" , "Zhang, Xiantao" To: Sheng Yang Return-path: Received: from relay2.sgi.com ([192.48.179.30]:39060 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1755414AbZBXQZD (ORCPT ); Tue, 24 Feb 2009 11:25:03 -0500 Sender: kvm-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------000603060404090206030009 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Hi, A snapshot of Avi's tree as of today breaks on ia64. Looks like it is the recent MSI support that caused this. Sheng Yang, please make sure to test on non x86 when you implement things like these that clearly will only build on x86. This patch boots on ia64 for me. Thanks, Jes CC arch/ia64/kvm/../../../virt/kvm/irq_comm.o arch/ia64/kvm/../../../virt/kvm/irq_comm.c: In function 'kvm_set_msi': arch/ia64/kvm/../../../virt/kvm/irq_comm.c:54: error: 'MSI_ADDR_DEST_ID_MASK' undeclared (first use in this function) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:54: error: (Each undeclared identifier is reported only once arch/ia64/kvm/../../../virt/kvm/irq_comm.c:54: error: for each function it appears in.) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:55: error: 'MSI_ADDR_DEST_ID_SHIFT' undeclared (first use in this function) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:56: error: 'MSI_DATA_VECTOR_MASK' undeclared (first use in this function) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:57: error: 'MSI_DATA_VECTOR_SHIFT' undeclared (first use in this function) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:58: error: 'MSI_ADDR_DEST_MODE_SHIFT' undeclared (first use in this function) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:60: error: 'MSI_DATA_TRIGGER_SHIFT' undeclared (first use in this function) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:62: error: 'MSI_DATA_DELIVERY_MODE_SHIFT' undeclared (first use in this function) arch/ia64/kvm/../../../virt/kvm/irq_comm.c:76: error: implicit declaration of function 'kvm_apic_set_irq' make[1]: *** [arch/ia64/kvm/../../../virt/kvm/irq_comm.o] Error 1 make: *** [arch/ia64/kvm] Error 2 commit e4caaecb2fa206ee513756fe17593d7b3334be7b Author: Sheng Yang Date: Tue Feb 10 13:57:06 2009 +0800 KVM: Use irq routing API for MSI Merge MSI userspace interface with IRQ routing table. Notice the API have been changed, and using IRQ routing table would be the only interface kvm-userspace supported. Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity --------------000603060404090206030009 Content-Type: text/plain; name="0001-kvm-fix-bogus-msi.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="0001-kvm-fix-bogus-msi.patch" Do not try to build MSI support on architectures where MSI definitions are not available. Signed-off-by: Jes Sorensen --- virt/kvm/irq_comm.c | 4 ++++ 1 file changed, 4 insertions(+) Index: kvm/virt/kvm/irq_comm.c =================================================================== --- kvm.orig/virt/kvm/irq_comm.c +++ kvm/virt/kvm/irq_comm.c @@ -45,6 +45,7 @@ return kvm_ioapic_set_irq(kvm->arch.vioapic, e->irqchip.pin, level); } +#ifdef CONFIG_X86 static int kvm_set_msi(struct kvm_kernel_irq_routing_entry *e, struct kvm *kvm, int level) { @@ -95,6 +96,7 @@ } return r; } +#endif /* This should be called with the kvm->lock mutex held * Return value: @@ -262,12 +264,14 @@ e->irqchip.irqchip = ue->u.irqchip.irqchip; e->irqchip.pin = ue->u.irqchip.pin + delta; break; +#ifdef CONFIG_X86 case KVM_IRQ_ROUTING_MSI: e->set = kvm_set_msi; e->msi.address_lo = ue->u.msi.address_lo; e->msi.address_hi = ue->u.msi.address_hi; e->msi.data = ue->u.msi.data; break; +#endif default: goto out; } --------------000603060404090206030009--