virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] eni_vdpa: alibaba: select VIRTIO_PCI_LIB
       [not found] <20211203185522.692489-1-arnd@kernel.org>
@ 2021-12-06  3:12 ` Jason Wang
       [not found]   ` <CAK8P3a1mRu=CRSShyx1UKwR+nPOOM2kN0ZjZBzKTu6Hw5wLF4Q@mail.gmail.com>
  2021-12-08 19:56 ` Michael S. Tsirkin
  1 sibling, 1 reply; 4+ messages in thread
From: Jason Wang @ 2021-12-06  3:12 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Max Gurtovoy, Arnd Bergmann, Michael S. Tsirkin, linux-kernel,
	virtualization, Xie Yongji, Wu Zongyong, Eli Cohen

On Sat, Dec 4, 2021 at 2:55 AM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> When VIRTIO_PCI_LIB is not built-in but the alibaba driver is, the
> kernel runs into a link error:
>
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_features':
> eni_vdpa.c:(.text+0x23f): undefined reference to `vp_legacy_set_features'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_state':
> eni_vdpa.c:(.text+0x2fe): undefined reference to `vp_legacy_get_queue_enable'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_address':
> eni_vdpa.c:(.text+0x376): undefined reference to `vp_legacy_set_queue_address'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_ready':
> eni_vdpa.c:(.text+0x3b4): undefined reference to `vp_legacy_set_queue_address'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_free_irq':
> eni_vdpa.c:(.text+0x460): undefined reference to `vp_legacy_queue_vector'
> x86_64-linux-ld: eni_vdpa.c:(.text+0x4b7): undefined reference to `vp_legacy_config_vector'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_reset':

Intersting, all those belongs to the legacy library.

And I just have a try and I can complie alibaba eni without
VIRTIO_PCI_LIB is set.

Can you share your config file?

Thanks

>
> Selecting VIRTIO_PCI_LIB_LEGACY is not sufficient here since that is
> only part of the VIRTIO_PCI_LIB support.
>
> Fixes: e85087beedca ("eni_vdpa: add vDPA driver for Alibaba ENI")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
>  drivers/vdpa/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/vdpa/Kconfig b/drivers/vdpa/Kconfig
> index 50f45d037611..04466603021f 100644
> --- a/drivers/vdpa/Kconfig
> +++ b/drivers/vdpa/Kconfig
> @@ -80,6 +80,7 @@ config VP_VDPA
>
>  config ALIBABA_ENI_VDPA
>         tristate "vDPA driver for Alibaba ENI"
> +       select VIRTIO_PCI_LIB
>         select VIRTIO_PCI_LIB_LEGACY
>         depends on PCI_MSI && X86
>         help
> --
> 2.29.2
>

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] eni_vdpa: alibaba: select VIRTIO_PCI_LIB
       [not found]   ` <CAK8P3a1mRu=CRSShyx1UKwR+nPOOM2kN0ZjZBzKTu6Hw5wLF4Q@mail.gmail.com>
@ 2021-12-06  8:41     ` Jason Wang
  0 siblings, 0 replies; 4+ messages in thread
From: Jason Wang @ 2021-12-06  8:41 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Max Gurtovoy, Arnd Bergmann, Michael S. Tsirkin, linux-kernel,
	virtualization, Xie Yongji, Wu Zongyong, Eli Cohen

On Mon, Dec 6, 2021 at 4:14 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> On Mon, Dec 6, 2021 at 4:12 AM Jason Wang <jasowang@redhat.com> wrote:
> >
> > On Sat, Dec 4, 2021 at 2:55 AM Arnd Bergmann <arnd@kernel.org> wrote:
> > >
> > > From: Arnd Bergmann <arnd@arndb.de>
> > >
> > > When VIRTIO_PCI_LIB is not built-in but the alibaba driver is, the
> > > kernel runs into a link error:
> > >
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_features':
> > > eni_vdpa.c:(.text+0x23f): undefined reference to `vp_legacy_set_features'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_state':
> > > eni_vdpa.c:(.text+0x2fe): undefined reference to `vp_legacy_get_queue_enable'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_address':
> > > eni_vdpa.c:(.text+0x376): undefined reference to `vp_legacy_set_queue_address'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_ready':
> > > eni_vdpa.c:(.text+0x3b4): undefined reference to `vp_legacy_set_queue_address'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_free_irq':
> > > eni_vdpa.c:(.text+0x460): undefined reference to `vp_legacy_queue_vector'
> > > x86_64-linux-ld: eni_vdpa.c:(.text+0x4b7): undefined reference to `vp_legacy_config_vector'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_reset':
> >
> > Intersting, all those belongs to the legacy library.
> >
> > And I just have a try and I can complie alibaba eni without
> > VIRTIO_PCI_LIB is set.
>
> Ah, so the problem is in drivers/Makefile:
>
> obj-$(CONFIG_VIRTIO)            += virtio/
> obj-$(CONFIG_VIRTIO_PCI_LIB)    += virtio/
>
> We only enter this directory when one of these two symbols is set, but
> in my randconfig
> build, neither one is. I'll send a new patch.

Yes, we need to include when VIRTIO_PCI_LIB_LEGACY is set.

Thanks

>
>          Arnd
>

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] eni_vdpa: alibaba: select VIRTIO_PCI_LIB
       [not found] <20211203185522.692489-1-arnd@kernel.org>
  2021-12-06  3:12 ` [PATCH] eni_vdpa: alibaba: select VIRTIO_PCI_LIB Jason Wang
@ 2021-12-08 19:56 ` Michael S. Tsirkin
       [not found]   ` <CAK8P3a0w9ij80Ww7rkaxutXFynOnC6=gEBQZ-X0Va+dx5jxfPg@mail.gmail.com>
  1 sibling, 1 reply; 4+ messages in thread
From: Michael S. Tsirkin @ 2021-12-08 19:56 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Max Gurtovoy, Arnd Bergmann, linux-kernel, virtualization,
	Xie Yongji, Wu Zongyong, Eli Cohen

On Fri, Dec 03, 2021 at 07:55:14PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
> 
> When VIRTIO_PCI_LIB is not built-in but the alibaba driver is, the
> kernel runs into a link error:
> 
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_features':
> eni_vdpa.c:(.text+0x23f): undefined reference to `vp_legacy_set_features'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_state':
> eni_vdpa.c:(.text+0x2fe): undefined reference to `vp_legacy_get_queue_enable'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_address':
> eni_vdpa.c:(.text+0x376): undefined reference to `vp_legacy_set_queue_address'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_ready':
> eni_vdpa.c:(.text+0x3b4): undefined reference to `vp_legacy_set_queue_address'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_free_irq':
> eni_vdpa.c:(.text+0x460): undefined reference to `vp_legacy_queue_vector'
> x86_64-linux-ld: eni_vdpa.c:(.text+0x4b7): undefined reference to `vp_legacy_config_vector'
> x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_reset':
> 
> Selecting VIRTIO_PCI_LIB_LEGACY is not sufficient here since that is
> only part of the VIRTIO_PCI_LIB support.
> 
> Fixes: e85087beedca ("eni_vdpa: add vDPA driver for Alibaba ENI")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>


Confused. These are all part of
drivers/virtio/virtio_pci_legacy_dev.c

and
obj-$(CONFIG_VIRTIO_PCI_LIB_LEGACY) += virtio_pci_legacy_dev.o

what gives?


> ---
>  drivers/vdpa/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/vdpa/Kconfig b/drivers/vdpa/Kconfig
> index 50f45d037611..04466603021f 100644
> --- a/drivers/vdpa/Kconfig
> +++ b/drivers/vdpa/Kconfig
> @@ -80,6 +80,7 @@ config VP_VDPA
>  
>  config ALIBABA_ENI_VDPA
>  	tristate "vDPA driver for Alibaba ENI"
> +	select VIRTIO_PCI_LIB
>  	select VIRTIO_PCI_LIB_LEGACY
>  	depends on PCI_MSI && X86
>  	help
> -- 
> 2.29.2

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] eni_vdpa: alibaba: select VIRTIO_PCI_LIB
       [not found]   ` <CAK8P3a0w9ij80Ww7rkaxutXFynOnC6=gEBQZ-X0Va+dx5jxfPg@mail.gmail.com>
@ 2021-12-08 22:19     ` Michael S. Tsirkin
  0 siblings, 0 replies; 4+ messages in thread
From: Michael S. Tsirkin @ 2021-12-08 22:19 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Max Gurtovoy, Arnd Bergmann, Linux Kernel Mailing List,
	open list:DRM DRIVER FOR QEMU'S CIRRUS DEVICE, Xie Yongji,
	Wu Zongyong, Eli Cohen

On Wed, Dec 08, 2021 at 10:31:03PM +0100, Arnd Bergmann wrote:
> On Wed, Dec 8, 2021 at 8:56 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Fri, Dec 03, 2021 at 07:55:14PM +0100, Arnd Bergmann wrote:
> > > From: Arnd Bergmann <arnd@arndb.de>
> > >
> > > When VIRTIO_PCI_LIB is not built-in but the alibaba driver is, the
> > > kernel runs into a link error:
> > >
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_features':
> > > eni_vdpa.c:(.text+0x23f): undefined reference to `vp_legacy_set_features'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_state':
> > > eni_vdpa.c:(.text+0x2fe): undefined reference to `vp_legacy_get_queue_enable'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_address':
> > > eni_vdpa.c:(.text+0x376): undefined reference to `vp_legacy_set_queue_address'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_set_vq_ready':
> > > eni_vdpa.c:(.text+0x3b4): undefined reference to `vp_legacy_set_queue_address'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_free_irq':
> > > eni_vdpa.c:(.text+0x460): undefined reference to `vp_legacy_queue_vector'
> > > x86_64-linux-ld: eni_vdpa.c:(.text+0x4b7): undefined reference to `vp_legacy_config_vector'
> > > x86_64-linux-ld: drivers/vdpa/alibaba/eni_vdpa.o: in function `eni_vdpa_reset':
> > >
> > > Selecting VIRTIO_PCI_LIB_LEGACY is not sufficient here since that is
> > > only part of the VIRTIO_PCI_LIB support.
> > >
> > > Fixes: e85087beedca ("eni_vdpa: add vDPA driver for Alibaba ENI")
> > > Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> >
> >
> > Confused. These are all part of
> > drivers/virtio/virtio_pci_legacy_dev.c
> >
> > and
> > obj-$(CONFIG_VIRTIO_PCI_LIB_LEGACY) += virtio_pci_legacy_dev.o
> >
> > what gives?
> 
> The patch was wrong, see
> 
> https://lore.kernel.org/lkml/20211206085034.2836099-1-arnd@kernel.org/
> 
> for the correct fix.
> 
>         Arnd

Oh, ok then, I picked that one up, that explains why the issue does not
reproduce for me.

-- 
MST

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-12-08 22:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20211203185522.692489-1-arnd@kernel.org>
2021-12-06  3:12 ` [PATCH] eni_vdpa: alibaba: select VIRTIO_PCI_LIB Jason Wang
     [not found]   ` <CAK8P3a1mRu=CRSShyx1UKwR+nPOOM2kN0ZjZBzKTu6Hw5wLF4Q@mail.gmail.com>
2021-12-06  8:41     ` Jason Wang
2021-12-08 19:56 ` Michael S. Tsirkin
     [not found]   ` <CAK8P3a0w9ij80Ww7rkaxutXFynOnC6=gEBQZ-X0Va+dx5jxfPg@mail.gmail.com>
2021-12-08 22:19     ` Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).