kernel: disable IGD (video DRM) support
[openwrt/staging/ldir.git] / package / kernel / linux / modules / virt.mk
index 799adade58c42b6cba91fed41138e3fa4384722e..90226b480638c29a585bc21d207ca6a586398ef2 100644 (file)
@@ -8,34 +8,21 @@ define KernelPackage/irqbypass
   SUBMENU:=Virtualization
   TITLE:=IRQ offload/bypass manager
   KCONFIG:=CONFIG_IRQ_BYPASS_MANAGER
+  HIDDEN:=1
   FILES:= $(LINUX_DIR)/virt/lib/irqbypass.ko
   AUTOLOAD:=$(call AutoProbe,irqbypass.ko)
 endef
-
-define KernelPackage/irqbypass/description
-  Various virtualization hardware acceleration techniques allow bypassing or
-  offloading interrupts received from devices around the host kernel.  Posted
-  Interrupts on Intel VT-d systems can allow interrupts to be received
-  directly by a virtual machine.  ARM IRQ Forwarding allows forwarded physical
-  interrupts to be directly deactivated by the guest.  This manager allows
-  interrupt producers and consumers to find each other to enable this sort of
-  bypass.
-endef
-
 $(eval $(call KernelPackage,irqbypass))
 
 
 define KernelPackage/kvm-x86
   SUBMENU:=Virtualization
   TITLE:=Kernel-based Virtual Machine (KVM) support
-  DEPENDS:=@TARGET_x86 +kmod-irqbypass
+  DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass
   KCONFIG:=\
-         CONFIG_VIRTUALIZATION=y \
          CONFIG_KVM \
-         CONFIG_VHOST_NET=n \
-         CONFIG_VHOST_CROSS_ENDIAN_LEGACY=n \
-         CONFIG_TASK_XACCT=n \
-
+         CONFIG_KVM_MMU_AUDIT=n \
+         CONFIG_VIRTUALIZATION=y
   FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko
   AUTOLOAD:=$(call AutoProbe,kvm.ko)
 endef
@@ -56,8 +43,8 @@ $(eval $(call KernelPackage,kvm-x86))
 define KernelPackage/kvm-intel
   SUBMENU:=Virtualization
   TITLE:=KVM for Intel processors support
-  DEPENDS:=@TARGET_x86 +kmod-kvm-x86
-  KCONFIG:=CONFIG_KVM_INTEL CONFIG_KVM_AMD=n
+  DEPENDS:=+kmod-kvm-x86
+  KCONFIG:=CONFIG_KVM_INTEL
   FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-intel.ko
   AUTOLOAD:=$(call AutoProbe,kvm-intel.ko)
 endef
@@ -73,8 +60,8 @@ $(eval $(call KernelPackage,kvm-intel))
 define KernelPackage/kvm-amd
   SUBMENU:=Virtualization
   TITLE:=KVM for AMD processors support
-  DEPENDS:=@TARGET_x86 +kmod-kvm-x86
-  KCONFIG:=CONFIG_KVM_INTEL=n CONFIG_KVM_AMD
+  DEPENDS:=+kmod-kvm-x86
+  KCONFIG:=CONFIG_KVM_AMD
   FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-amd.ko
   AUTOLOAD:=$(call AutoProbe,kvm-amd.ko)
 endef
@@ -85,3 +72,48 @@ 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
+  MODPARAMS.vfio:=\
+       enable_unsafe_noiommu_mode=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=n
+  FILES:= \
+       $(LINUX_DIR)/drivers/vfio/pci/vfio-pci-core.ko \
+       $(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))