Hi Jeremy, compilation[1] breaks with: grep -i msi .config CONFIG_ARCH_SUPPORTS_MSI=y # CONFIG_PCI_MSI is not set with msi configured it compiles... grep -i msi .config CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_PCI_MSI=y may be its related, this compiled kernel is waiting forever at boot time during "starting xen control daemon"...three finger salute stalls after "unmounting network filesystems"... if i add pci=nomsi system boots up and everything is fine :) - daniel [1] CHK include/linux/version.h CHK include/linux/utsrelease.h SYMLINK include/asm -> include/asm-x86 CALL scripts/checksyscalls.sh CHK include/linux/compile.h CC arch/x86/xen/pci.o arch/x86/xen/pci.c: In function ''xen_setup_msi_irqs'': arch/x86/xen/pci.c:96: error: ''struct pci_dev'' has no member named ''msi_list'' arch/x86/xen/pci.c:96: error: ''struct pci_dev'' has no member named ''msi_list'' make[2]: *** [arch/x86/xen/pci.o] Error 1 make[1]: *** [arch/x86/xen] Error 2 make: *** [arch/x86] Error 2 make: *** Waiting for unfinished jobs.... _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 08/21/09 02:41, Daniel Schroeder wrote:> Hi Jeremy, > > compilation[1] breaks with: > > grep -i msi .config > CONFIG_ARCH_SUPPORTS_MSI=y > # CONFIG_PCI_MSI is not set > > with msi configured it compiles... > > grep -i msi .config > CONFIG_ARCH_SUPPORTS_MSI=y > CONFIG_PCI_MSI=y > > may be its related, this compiled kernel is waiting forever at boot time > during "starting xen control daemon"...three finger salute stalls after > "unmounting network filesystems"... > > if i add pci=nomsi system boots up and everything is fine :) >Qing He, any thoughts? J> - > daniel > > > > [1] > CHK include/linux/version.h > CHK include/linux/utsrelease.h > SYMLINK include/asm -> include/asm-x86 > CALL scripts/checksyscalls.sh > CHK include/linux/compile.h > CC arch/x86/xen/pci.o > arch/x86/xen/pci.c: In function ''xen_setup_msi_irqs'': > arch/x86/xen/pci.c:96: error: ''struct pci_dev'' has no member named > ''msi_list'' > arch/x86/xen/pci.c:96: error: ''struct pci_dev'' has no member named > ''msi_list'' > make[2]: *** [arch/x86/xen/pci.o] Error 1 > make[1]: *** [arch/x86/xen] Error 2 > make: *** [arch/x86] Error 2 > make: *** Waiting for unfinished jobs.... > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, 2009-08-21 at 17:41 +0800, Daniel Schroeder wrote:> Hi Jeremy, > > compilation[1] breaks with: > > grep -i msi .config > CONFIG_ARCH_SUPPORTS_MSI=y > # CONFIG_PCI_MSI is not set >Hi Daniel, The attached patch should fix this,and also another compilation error of missing domid_t decalaration in drivers/xen/pci.c introduced by map_pirq physop calls.> with msi configured it compiles... > > grep -i msi .config > CONFIG_ARCH_SUPPORTS_MSI=y > CONFIG_PCI_MSI=y > > may be its related, this compiled kernel is waiting forever at boot time > during "starting xen control daemon"...three finger salute stalls after > "unmounting network filesystems"... > > if i add pci=nomsi system boots up and everything is fine :)What userspace program are you using? I can''t find these output message ("xen control daemon") on my system. Do you get the {xen,kernel} dmesg? That may help to identify the problem. And what''s your environment? Thanks, Qing> > - > daniel > > > > [1] > CHK include/linux/version.h > CHK include/linux/utsrelease.h > SYMLINK include/asm -> include/asm-x86 > CALL scripts/checksyscalls.sh > CHK include/linux/compile.h > CC arch/x86/xen/pci.o > arch/x86/xen/pci.c: In function ''xen_setup_msi_irqs'': > arch/x86/xen/pci.c:96: error: ''struct pci_dev'' has no member named > ''msi_list'' > arch/x86/xen/pci.c:96: error: ''struct pci_dev'' has no member named > ''msi_list'' > make[2]: *** [arch/x86/xen/pci.o] Error 1 > make[1]: *** [arch/x86/xen] Error 2 > make: *** [arch/x86] Error 2 > make: *** Waiting for unfinished jobs.... > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi Qing, Qing He wrote:>> >> if i add pci=nomsi system boots up and everything is fine :) > > What userspace program are you using? I can''t find these output > message ("xen control daemon") on my system. Do you get the {xen,kernel} > dmesg? That may help to identify the problem. And what''s your environment?the system is booting through to this message...this is the message that /etc/init.d/xend gets started...so, i get pretty much everything, but the system strangely stalls...to my surprise, system reacts to three finger salute but stalls after reboot message... Environment is a PE2900, dual quad Xeon, 24GB ram, 64bit gentoo linux, xen from 3.4 unstable tree...so 3.4.2-rc1-pre at the moment... - daniel _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On 08/24/09 02:43, Qing He wrote:> On Fri, 2009-08-21 at 17:41 +0800, Daniel Schroeder wrote: > >> Hi Jeremy, >> >> compilation[1] breaks with: >> >> grep -i msi .config >> CONFIG_ARCH_SUPPORTS_MSI=y >> # CONFIG_PCI_MSI is not set >> >> > Hi Daniel, > > The attached patch should fix this,and also another compilation error > of missing domid_t decalaration in drivers/xen/pci.c introduced by > map_pirq physop calls. >Could you repost with a commit comment and signed-off-by line? Thanks, J _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
This patch fixes the following build errors: - when CONFIG_PCI_MSI is not set - domid_t undefined in drivers/xen/pci.c and warnings of unused function definitions Signed-off-by: Qing He <qing.he@intel.com> --- diff --git a/arch/x86/include/asm/xen/pci.h b/arch/x86/include/asm/xen/pci.h index 714443b..cb84abe 100644 --- a/arch/x86/include/asm/xen/pci.h +++ b/arch/x86/include/asm/xen/pci.h @@ -7,24 +7,28 @@ int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type); int xen_destroy_irq(int irq); -int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); #else static inline int xen_register_gsi(u32 gsi, int triggering, int polarity) { return -1; } -static int xen_create_msi_irq(struct pci_dev *dev, +static inline int xen_create_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc, int type) { return -1; } -static int xen_destroy_irq(int irq) +static inline int xen_destroy_irq(int irq) { return -1; } -static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) +#endif + +#if defined(CONFIG_PCI_MSI) && defined(CONFIG_XEN_DOM0_PCI) +int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type); +#else +static inline int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) { return -1; } diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c index c0ef627..60bab67 100644 --- a/arch/x86/xen/pci.c +++ b/arch/x86/xen/pci.c @@ -87,6 +87,7 @@ void __init xen_setup_pirqs(void) } } +#ifdef CONFIG_PCI_MSI int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) { unsigned int irq; @@ -108,3 +109,4 @@ error: xen_destroy_irq(irq); return ret; } +#endif diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 409c300..007b1d7 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -574,6 +574,7 @@ out: return irq; } +#ifdef CONFIG_PCI_MSI int xen_destroy_irq(int irq) { struct irq_desc *desc; @@ -659,6 +660,7 @@ out: spin_unlock(&irq_mapping_update_lock); return irq; } +#endif int xen_vector_from_irq(unsigned irq) { diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c index 5156278..a7051f1 100644 --- a/drivers/xen/pci.c +++ b/drivers/xen/pci.c @@ -18,8 +18,11 @@ */ #include <linux/pci.h> + +#include <xen/interface/xen.h> #include <xen/interface/physdev.h> #include <asm/xen/hypercall.h> + #include "../pci/pci.h" _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel