2 # Copyright (C) 2016 Yousong Zhou <yszhou4tech@gmail.com>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 define KernelPackage
/irqbypass
8 SUBMENU
:=Virtualization
9 TITLE
:=IRQ offload
/bypass manager
10 KCONFIG
:=CONFIG_IRQ_BYPASS_MANAGER
12 FILES
:= $(LINUX_DIR
)/virt
/lib
/irqbypass.ko
13 AUTOLOAD
:=$(call AutoProbe
,irqbypass.ko
)
15 $(eval
$(call KernelPackage
,irqbypass
))
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
24 CONFIG_KVM_MMU_AUDIT
=n \
25 CONFIG_KVM_SMM
=y@ge6.6 \
26 CONFIG_VIRTUALIZATION
=y
27 FILES
:= $(LINUX_DIR
)/arch
/$(LINUX_KARCH
)/kvm
/kvm.ko
28 AUTOLOAD
:=$(call AutoProbe
,kvm.ko
)
31 define KernelPackage
/kvm-x86
/description
32 Support hosting fully virtualized guest machines using hardware
33 virtualization extensions. You will need a fairly recent
34 processor equipped with virtualization extensions. You will also
35 need to select one or more of the processor modules.
37 This module provides access to the hardware capabilities through
38 a character device node named
/dev
/kvm.
41 $(eval
$(call KernelPackage
,kvm-x86
))
44 define KernelPackage
/kvm-intel
45 SUBMENU
:=Virtualization
46 TITLE
:=KVM for Intel processors support
47 DEPENDS
:=+kmod-kvm-x86
48 KCONFIG
:=CONFIG_KVM_INTEL
49 FILES
:= $(LINUX_DIR
)/arch
/$(LINUX_KARCH
)/kvm
/kvm-intel.ko
50 AUTOLOAD
:=$(call AutoProbe
,kvm-intel.ko
)
53 define KernelPackage
/kvm-intel
/description
54 Provides support for KVM on Intel processors equipped with the VT
58 $(eval
$(call KernelPackage
,kvm-intel
))
61 define KernelPackage
/kvm-amd
62 SUBMENU
:=Virtualization
63 TITLE
:=KVM for AMD processors support
64 DEPENDS
:=+kmod-kvm-x86
65 KCONFIG
:=CONFIG_KVM_AMD
66 FILES
:= $(LINUX_DIR
)/arch
/$(LINUX_KARCH
)/kvm
/kvm-amd.ko
67 AUTOLOAD
:=$(call AutoProbe
,kvm-amd.ko
)
70 define KernelPackage
/kvm-amd
/description
71 Provides support for KVM on AMD processors equipped with the AMD-V
75 $(eval
$(call KernelPackage
,kvm-amd
))
78 define KernelPackage
/vfio
79 SUBMENU
:=Virtualization
80 TITLE
:=VFIO Non-Privileged userspace driver framework
81 DEPENDS
:=@TARGET_x86_64||TARGET_armsr_armv8
84 CONFIG_VFIO_NOIOMMU
=n \
87 $(LINUX_DIR
)/drivers
/vfio
/vfio.ko \
88 $(LINUX_DIR
)/drivers
/vfio
/vfio_virqfd.ko@lt6.2 \
89 $(LINUX_DIR
)/drivers
/vfio
/vfio_iommu_type1.ko
90 AUTOLOAD
:=$(call AutoProbe
,vfio vfio_iommu_type1
+LINUX_6_1
:vfio_virqfd
)
93 define KernelPackage
/vfio
/description
94 VFIO provides a framework for secure userspace device drivers.
97 $(eval
$(call KernelPackage
,vfio
))
100 define KernelPackage
/vfio-pci
101 SUBMENU
:=Virtualization
102 TITLE
:=Generic VFIO support for any PCI device
103 DEPENDS
:=@TARGET_x86_64||TARGET_armsr_armv8 @PCI_SUPPORT
+kmod-vfio
+kmod-irqbypass
106 CONFIG_VFIO_PCI_IGD
=n
108 $(LINUX_DIR
)/drivers
/vfio
/pci
/vfio-pci-core.ko \
109 $(LINUX_DIR
)/drivers
/vfio
/pci
/vfio-pci.ko
110 AUTOLOAD
:=$(call AutoProbe
,vfio-pci
)
113 define KernelPackage
/vfio-pci
/description
114 Support for the generic PCI VFIO bus driver which can connect any PCI
115 device to the VFIO framework.
118 $(eval
$(call KernelPackage
,vfio-pci
))
121 define KernelPackage
/vhost
122 SUBMENU
:=Virtualization
123 TITLE
:=Host kernel accelerator for virtio
(base
)
124 KCONFIG
:=CONFIG_VHOST
125 FILES
:=$(LINUX_DIR
)/drivers
/vhost
/vhost.ko \
126 $(LINUX_DIR
)/drivers
/vhost
/vhost_iotlb.ko
127 AUTOLOAD
:=$(call AutoProbe
,vhost vhost_iotlb
)
130 $(eval
$(call KernelPackage
,vhost
))
133 define KernelPackage
/vhost-net
134 SUBMENU
:=Virtualization
135 TITLE
:=Host kernel accelerator for virtio-net
136 DEPENDS
:=+kmod-tun
+kmod-vhost
137 KCONFIG
:=CONFIG_VHOST_NET
138 FILES
:=$(LINUX_DIR
)/drivers
/vhost
/vhost_net.ko
139 AUTOLOAD
:=$(call AutoProbe
,vhost_net
)
142 $(eval
$(call KernelPackage
,vhost-net
))