diff mbox

vfio: fix link failures when CONFIG_PCI_MSI is disabled

Message ID 20160203205108.GA9181@charon.olymp (mailing list archive)
State New, archived
Headers show

Commit Message

Luis Henriques Feb. 3, 2016, 8:51 p.m. UTC
The following link failure occurs when CONFIG_PCI_MSI is not set:

drivers/built-in.o: In function `vfio_msi_set_vector_signal':
:(.text+0x626640): undefined reference to `pci_write_msi_msg'

Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 drivers/vfio/pci/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


Cheers,
--
Luís
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Alex Williamson Feb. 12, 2016, 6:17 p.m. UTC | #1
On Wed, 3 Feb 2016 20:51:08 +0000
Luis Henriques <luis.henriques@canonical.com> wrote:

> The following link failure occurs when CONFIG_PCI_MSI is not set:
> 
> drivers/built-in.o: In function `vfio_msi_set_vector_signal':
> :(.text+0x626640): undefined reference to `pci_write_msi_msg'
> 
> Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
> ---
>  drivers/vfio/pci/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
> index 02912f180c6d..b9dbfc9aeee1 100644
> --- a/drivers/vfio/pci/Kconfig
> +++ b/drivers/vfio/pci/Kconfig
> @@ -1,6 +1,6 @@
>  config VFIO_PCI
>  	tristate "VFIO support for PCI devices"
> -	depends on VFIO && PCI && EVENTFD
> +	depends on VFIO && PCI_MSI && EVENTFD
>  	select VFIO_VIRQFD
>  	select IRQ_BYPASS_MANAGER
>  	help
> 


It seems like a better solution would be to have pci stub these out
with static inlines when !CONFIG_PCI_MSI, we already do that for quite
a lot of MSI and MSI-X callbacks.  MSI/X on the device clearly won't
work if the host doesn't support MSI, and maybe there are improvements
to be made there, but MSI is a subcomponent of vfio-pci, the module
itself shouldn't depend on MSI.  Thanks,

Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Luis Henriques Feb. 17, 2016, 3:37 p.m. UTC | #2
On Fri, Feb 12, 2016 at 11:17:58AM -0700, Alex Williamson wrote:
> On Wed, 3 Feb 2016 20:51:08 +0000
> Luis Henriques <luis.henriques@canonical.com> wrote:
> 
> > The following link failure occurs when CONFIG_PCI_MSI is not set:
> > 
> > drivers/built-in.o: In function `vfio_msi_set_vector_signal':
> > :(.text+0x626640): undefined reference to `pci_write_msi_msg'
> > 
> > Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
> > ---
> >  drivers/vfio/pci/Kconfig | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
> > index 02912f180c6d..b9dbfc9aeee1 100644
> > --- a/drivers/vfio/pci/Kconfig
> > +++ b/drivers/vfio/pci/Kconfig
> > @@ -1,6 +1,6 @@
> >  config VFIO_PCI
> >  	tristate "VFIO support for PCI devices"
> > -	depends on VFIO && PCI && EVENTFD
> > +	depends on VFIO && PCI_MSI && EVENTFD
> >  	select VFIO_VIRQFD
> >  	select IRQ_BYPASS_MANAGER
> >  	help
> > 
> 
> 
> It seems like a better solution would be to have pci stub these out
> with static inlines when !CONFIG_PCI_MSI, we already do that for quite
> a lot of MSI and MSI-X callbacks.  MSI/X on the device clearly won't
> work if the host doesn't support MSI, and maybe there are improvements
> to be made there, but MSI is a subcomponent of vfio-pci, the module
> itself shouldn't depend on MSI.  Thanks,
> 
> Alex
> 

Thanks for reviewing.  I'll submit a new patch later today, stubbing
pci_write_msi_msg() to fix this failure.

Cheers,
--
Luís
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
index 02912f180c6d..b9dbfc9aeee1 100644
--- a/drivers/vfio/pci/Kconfig
+++ b/drivers/vfio/pci/Kconfig
@@ -1,6 +1,6 @@ 
 config VFIO_PCI
 	tristate "VFIO support for PCI devices"
-	depends on VFIO && PCI && EVENTFD
+	depends on VFIO && PCI_MSI && EVENTFD
 	select VFIO_VIRQFD
 	select IRQ_BYPASS_MANAGER
 	help