kernel: disable IGD (video DRM) support
[openwrt/staging/ldir.git] / package / kernel / linux / modules / virt.mk
1 #
2 # Copyright (C) 2016 Yousong Zhou <yszhou4tech@gmail.com>
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 define KernelPackage/irqbypass
8 SUBMENU:=Virtualization
9 TITLE:=IRQ offload/bypass manager
10 KCONFIG:=CONFIG_IRQ_BYPASS_MANAGER
11 HIDDEN:=1
12 FILES:= $(LINUX_DIR)/virt/lib/irqbypass.ko
13 AUTOLOAD:=$(call AutoProbe,irqbypass.ko)
14 endef
15 $(eval $(call KernelPackage,irqbypass))
16
17
18 define KernelPackage/kvm-x86
19 SUBMENU:=Virtualization
20 TITLE:=Kernel-based Virtual Machine (KVM) support
21 DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass
22 KCONFIG:=\
23 CONFIG_KVM \
24 CONFIG_KVM_MMU_AUDIT=n \
25 CONFIG_VIRTUALIZATION=y
26 FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko
27 AUTOLOAD:=$(call AutoProbe,kvm.ko)
28 endef
29
30 define KernelPackage/kvm-x86/description
31 Support hosting fully virtualized guest machines using hardware
32 virtualization extensions. You will need a fairly recent
33 processor equipped with virtualization extensions. You will also
34 need to select one or more of the processor modules.
35
36 This module provides access to the hardware capabilities through
37 a character device node named /dev/kvm.
38 endef
39
40 $(eval $(call KernelPackage,kvm-x86))
41
42
43 define KernelPackage/kvm-intel
44 SUBMENU:=Virtualization
45 TITLE:=KVM for Intel processors support
46 DEPENDS:=+kmod-kvm-x86
47 KCONFIG:=CONFIG_KVM_INTEL
48 FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-intel.ko
49 AUTOLOAD:=$(call AutoProbe,kvm-intel.ko)
50 endef
51
52 define KernelPackage/kvm-intel/description
53 Provides support for KVM on Intel processors equipped with the VT
54 extensions.
55 endef
56
57 $(eval $(call KernelPackage,kvm-intel))
58
59
60 define KernelPackage/kvm-amd
61 SUBMENU:=Virtualization
62 TITLE:=KVM for AMD processors support
63 DEPENDS:=+kmod-kvm-x86
64 KCONFIG:=CONFIG_KVM_AMD
65 FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-amd.ko
66 AUTOLOAD:=$(call AutoProbe,kvm-amd.ko)
67 endef
68
69 define KernelPackage/kvm-amd/description
70 Provides support for KVM on AMD processors equipped with the AMD-V
71 (SVM) extensions.
72 endef
73
74 $(eval $(call KernelPackage,kvm-amd))
75
76
77 define KernelPackage/vfio
78 SUBMENU:=Virtualization
79 TITLE:=VFIO Non-Privileged userspace driver framework
80 DEPENDS:=@TARGET_x86_64
81 KCONFIG:= \
82 CONFIG_VFIO \
83 CONFIG_VFIO_NOIOMMU=n \
84 CONFIG_VFIO_MDEV=n
85 MODPARAMS.vfio:=\
86 enable_unsafe_noiommu_mode=n
87 FILES:= \
88 $(LINUX_DIR)/drivers/vfio/vfio.ko \
89 $(LINUX_DIR)/drivers/vfio/vfio_virqfd.ko \
90 $(LINUX_DIR)/drivers/vfio/vfio_iommu_type1.ko
91 AUTOLOAD:=$(call AutoProbe,vfio vfio_iommu_type1 vfio_virqfd)
92 endef
93
94 define KernelPackage/vfio/description
95 VFIO provides a framework for secure userspace device drivers.
96 endef
97
98 $(eval $(call KernelPackage,vfio))
99
100
101 define KernelPackage/vfio-pci
102 SUBMENU:=Virtualization
103 TITLE:=Generic VFIO support for any PCI device
104 DEPENDS:=@TARGET_x86_64 @PCI_SUPPORT +kmod-vfio +kmod-irqbypass
105 KCONFIG:= \
106 CONFIG_VFIO_PCI \
107 CONFIG_VFIO_PCI_IGD=n
108 FILES:= \
109 $(LINUX_DIR)/drivers/vfio/pci/vfio-pci-core.ko \
110 $(LINUX_DIR)/drivers/vfio/pci/vfio-pci.ko
111 AUTOLOAD:=$(call AutoProbe,vfio-pci)
112 endef
113
114 define KernelPackage/vfio-pci/description
115 Support for the generic PCI VFIO bus driver which can connect any PCI
116 device to the VFIO framework.
117 endef
118
119 $(eval $(call KernelPackage,vfio-pci))