WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [stable-2.6.31/master] Compile error "error: redefinitio

To: Sander Eikelenboom <linux@xxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [stable-2.6.31/master] Compile error "error: redefinition of xen_destroy_irq"
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Tue, 16 Mar 2010 15:58:31 -0400
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 16 Mar 2010 13:27:19 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20100316015032.GA24571@xxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <28923064.20100310194235@xxxxxxxxxxxxxx> <20100310195411.GA5256@xxxxxxxxxxxxxxxxxxx> <797005095.20100311095154@xxxxxxxxxxxxxx> <20100316015032.GA24571@xxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.19 (2009-01-05)
On Mon, Mar 15, 2010 at 09:50:32PM -0400, Konrad Rzeszutek Wilk wrote:
> On Thu, Mar 11, 2010 at 09:51:54AM +0100, Sander Eikelenboom wrote:
> > Hello Konrad,
> > 
> > You patch results in another compile error, it seems these are all caused 
> > by NOT enabling dom0 support in the kernel (i was building a kernel for a 
> > domU, so I thought I don't need it, just leave it out)
> > 
> > Hello Konrad,
> > 
> > Hmm that seems to give another one:
> > 
> >   AS      arch/x86/lib/thunk_64.o
> >   CC      arch/x86/lib/usercopy_64.o
> >   AR      arch/x86/lib/lib.a
> >   LD      vmlinux.o
> >   MODPOST vmlinux.o
> > WARNING: modpost: Found 1 section mismatch(es).
> > To see full details build your kernel with:
> > 'make CONFIG_DEBUG_SECTION_MISMATCH=y'
> >   GEN     .version
> >   CHK     include/linux/compile.h
> >   UPD     include/linux/compile.h
> >   CC      init/version.o
> >   LD      init/built-in.o
> >   LD      .tmp_vmlinux1
> > drivers/built-in.o: In function `pcifront_init':
> > xen-pcifront.c:(.init.text+0x257b): undefined reference to 
> > `xen_pci_frontend'
> > drivers/built-in.o: In function `pcifront_cleanup':
> > xen-pcifront.c:(.exit.text+0xa8): undefined reference to `xen_pci_frontend'
> > make: *** [.tmp_vmlinux1] Error 1
> 
> Ugh. Let me spin out another patch to address this fallout.

Can you try this patch, please:

commit a184e032784a330bf6dc5cc7546be6f31da1eabd
Author: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date:   Tue Mar 16 12:37:26 2010 -0400

    xen: Fix the co-dependency of PCI frontend driver and various CONFIG
    options.
    
    We have a big turn knob called CONFIG_PCI_XEN_PASSTHROUGH that selects
    two pieces of logic: XEN_SWIOTLB and XEN_PCI. The PCI frontend depends
    on that but did not have the right depend in its Kconfig.
    
    Also fixed the header file since there are a mulitple of declerations
    that are from different files: arch/x86/xen/pci.c, arch/x86/pci/xen.c
    and drivers/xen/events.c.

diff --git a/arch/x86/include/asm/xen/pci.h b/arch/x86/include/asm/xen/pci.h
index d68637f..abea466 100644
--- a/arch/x86/include/asm/xen/pci.h
+++ b/arch/x86/include/asm/xen/pci.h
@@ -1,11 +1,9 @@
 #ifndef _ASM_X86_XEN_PCI_H
 #define _ASM_X86_XEN_PCI_H
 
+/* in arch/x86/pci/xen.c */
 #if defined(CONFIG_PCI_MSI)
 #if defined(CONFIG_PCI_XEN)
-int xen_create_msi_irq(struct pci_dev *dev,
-                       struct msi_desc *msidesc,
-                       int type);
 void xen_pci_teardown_msi_dev(struct pci_dev *dev);
 void xen_pci_teardown_msi_irq(int irq);
 int xen_pci_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
@@ -47,12 +45,6 @@ static inline void xen_pci_frontend_disable_msix(struct 
pci_dev *dev)
                        xen_pci_frontend->disable_msix(dev);
 }
 #else
-static inline int xen_create_msi_irq(struct pci_dev *dev,
-                               struct msi_desc *msidesc,
-                               int type)
-{
-       return -1;
-}
 static inline void xen_pci_teardown_msi_dev(struct pci_dev *dev) { }
 static inline void xen_pci_teardown_msi_irq(int irq) { }
 static inline int xen_pci_setup_msi_irqs(struct pci_dev *dev, int nvec, int 
type)
@@ -60,9 +52,23 @@ static inline int xen_pci_setup_msi_irqs(struct pci_dev 
*dev, int nvec, int type
        return -ENODEV;
 }
 #endif /* CONFIG_PCI_XEN */
-
 #endif /* CONFIG_PCI_MSI */
 
+/* in drivers/xen/events.c */
+#ifdef CONFIG_PCI_MSI
+int xen_create_msi_irq(struct pci_dev *dev,
+                       struct msi_desc *msidesc,
+                       int type);
+#else
+static inline int xen_create_msi_irq(struct pci_dev *dev,
+                               struct msi_desc *msidesc,
+                               int type)
+{
+       return -1;
+}
+#endif
+
+/* in arch/x86/xen/pci.c */
 #ifdef CONFIG_XEN_DOM0_PCI
 int xen_register_gsi(u32 gsi, int triggering, int polarity);
 int xen_find_device_domain_owner(struct pci_dev *dev);
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
index 7802fcd..0dd2187 100644
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -53,7 +53,7 @@ config PCI_STUB
 
 config XEN_PCIDEV_FRONTEND
         tristate "Xen PCI Frontend"
-        depends on XEN && PCI && X86
+        depends on XEN && PCI && X86 && XEN_PCI_PASSTHROUGH
         select HOTPLUG
        select XEN_XENBUS_FRONTEND
        default y

> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel

Attachment: p.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel