treewide: remove all @{lt,gt,ge,le} appearances affecting 5.10 kernel
[openwrt/staging/wigyori.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 FILES:= \
86 $(LINUX_DIR)/drivers/vfio/vfio.ko \
87 $(LINUX_DIR)/drivers/vfio/vfio_virqfd.ko \
88 $(LINUX_DIR)/drivers/vfio/vfio_iommu_type1.ko
89 AUTOLOAD:=$(call AutoProbe,vfio vfio_iommu_type1 vfio_virqfd)
90 endef
91
92 define KernelPackage/vfio/description
93 VFIO provides a framework for secure userspace device drivers.
94 endef
95
96 $(eval $(call KernelPackage,vfio))
97
98
99 define KernelPackage/vfio-pci
100 SUBMENU:=Virtualization
101 TITLE:=Generic VFIO support for any PCI device
102 DEPENDS:=@TARGET_x86_64 @PCI_SUPPORT +kmod-vfio +kmod-irqbypass
103 KCONFIG:= \
104 CONFIG_VFIO_PCI \
105 CONFIG_VFIO_PCI_IGD=y
106 FILES:= \
107 $(LINUX_DIR)/drivers/vfio/pci/vfio-pci-core.ko \
108 $(LINUX_DIR)/drivers/vfio/pci/vfio-pci.ko
109 AUTOLOAD:=$(call AutoProbe,vfio-pci)
110 endef
111
112 define KernelPackage/vfio-pci/description
113 Support for the generic PCI VFIO bus driver which can connect any PCI
114 device to the VFIO framework.
115 endef
116
117 $(eval $(call KernelPackage,vfio-pci))