mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 15:53:59 -04:00
The new vfio-virtio driver already has a dependency on VIRTIO_PCI_ADMIN_LEGACY,
but that is a bool symbol and allows vfio-virtio to be built-in even if
virtio-pci itself is a loadable module. This leads to a link failure:
aarch64-linux-ld: drivers/vfio/pci/virtio/main.o: in function `virtiovf_pci_probe':
main.c:(.text+0xec): undefined reference to `virtio_pci_admin_has_legacy_io'
aarch64-linux-ld: drivers/vfio/pci/virtio/main.o: in function `virtiovf_pci_init_device':
main.c:(.text+0x260): undefined reference to `virtio_pci_admin_legacy_io_notify_info'
aarch64-linux-ld: drivers/vfio/pci/virtio/main.o: in function `virtiovf_pci_bar0_rw':
main.c:(.text+0x6ec): undefined reference to `virtio_pci_admin_legacy_common_io_read'
aarch64-linux-ld: main.c:(.text+0x6f4): undefined reference to `virtio_pci_admin_legacy_device_io_read'
aarch64-linux-ld: main.c:(.text+0x7f0): undefined reference to `virtio_pci_admin_legacy_common_io_write'
aarch64-linux-ld: main.c:(.text+0x7f8): undefined reference to `virtio_pci_admin_legacy_device_io_write'
Add another explicit dependency on the tristate symbol.
Fixes: eb61eca0e8 ("vfio/virtio: Introduce a vfio driver over virtio devices")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Link: https://lore.kernel.org/r/20240109075731.2726731-1-arnd@kernel.org
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
16 lines
712 B
Plaintext
16 lines
712 B
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config VIRTIO_VFIO_PCI
|
|
tristate "VFIO support for VIRTIO NET PCI devices"
|
|
depends on VIRTIO_PCI && VIRTIO_PCI_ADMIN_LEGACY
|
|
select VFIO_PCI_CORE
|
|
help
|
|
This provides support for exposing VIRTIO NET VF devices which support
|
|
legacy IO access, using the VFIO framework that can work with a legacy
|
|
virtio driver in the guest.
|
|
Based on PCIe spec, VFs do not support I/O Space.
|
|
As of that this driver emulates I/O BAR in software to let a VF be
|
|
seen as a transitional device by its users and let it work with
|
|
a legacy driver.
|
|
|
|
If you don't know what to do here, say N.
|