kernel: add VFIO kernel packages
authorNicola Corna <nicola@corna.info>
Sat, 20 Aug 2022 21:41:59 +0000 (21:41 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 21 Sep 2022 11:06:10 +0000 (13:06 +0200)
Add kmod-vfio and kmod-vfio-pci packages.

Signed-off-by: Nicola Corna <nicola@corna.info>
package/kernel/linux/modules/virt.mk

index 5ed0d5dbbf2221ad8d8ff0b0b78efec10dd8a968..59a2d79563dcbf0eb8ea6bb8707553de667db1be 100644 (file)
@@ -72,3 +72,46 @@ define KernelPackage/kvm-amd/description
 endef
 
 $(eval $(call KernelPackage,kvm-amd))
+
+
+define KernelPackage/vfio
+  SUBMENU:=Virtualization
+  TITLE:=VFIO Non-Privileged userspace driver framework
+  DEPENDS:=@TARGET_x86_64
+  KCONFIG:= \
+       CONFIG_VFIO \
+       CONFIG_VFIO_NOIOMMU=n \
+       CONFIG_VFIO_MDEV=n
+  FILES:= \
+       $(LINUX_DIR)/drivers/vfio/vfio.ko \
+       $(LINUX_DIR)/drivers/vfio/vfio_virqfd.ko \
+       $(LINUX_DIR)/drivers/vfio/vfio_iommu_type1.ko
+  AUTOLOAD:=$(call AutoProbe,vfio vfio_iommu_type1 vfio_virqfd)
+endef
+
+define KernelPackage/vfio/description
+  VFIO provides a framework for secure userspace device drivers.
+endef
+
+$(eval $(call KernelPackage,vfio))
+
+
+define KernelPackage/vfio-pci
+  SUBMENU:=Virtualization
+  TITLE:=Generic VFIO support for any PCI device
+  DEPENDS:=@TARGET_x86_64 @PCI_SUPPORT +kmod-vfio +kmod-irqbypass
+  KCONFIG:= \
+       CONFIG_VFIO_PCI \
+       CONFIG_VFIO_PCI_IGD=y
+  FILES:= \
+       $(LINUX_DIR)/drivers/vfio/pci/vfio-pci-core.ko@ge5.15 \
+       $(LINUX_DIR)/drivers/vfio/pci/vfio-pci.ko
+  AUTOLOAD:=$(call AutoProbe,vfio-pci)
+endef
+
+define KernelPackage/vfio-pci/description
+  Support for the generic PCI VFIO bus driver which can connect any PCI
+  device to the VFIO framework.
+endef
+
+$(eval $(call KernelPackage,vfio-pci))