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_VIRTUALIZATION
=y
26 FILES
:= $(LINUX_DIR
)/arch
/$(LINUX_KARCH
)/kvm
/kvm.ko
27 AUTOLOAD
:=$(call AutoProbe
,kvm.ko
)
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.
36 This module provides access to the hardware capabilities through
37 a character device node named
/dev
/kvm.
40 $(eval
$(call KernelPackage
,kvm-x86
))
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
)
52 define KernelPackage
/kvm-intel
/description
53 Provides support for KVM on Intel processors equipped with the VT
57 $(eval
$(call KernelPackage
,kvm-intel
))
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
)
69 define KernelPackage
/kvm-amd
/description
70 Provides support for KVM on AMD processors equipped with the AMD-V
74 $(eval
$(call KernelPackage
,kvm-amd
))
77 define KernelPackage
/vfio
78 SUBMENU
:=Virtualization
79 TITLE
:=VFIO Non-Privileged userspace driver framework
80 DEPENDS
:=@TARGET_x86_64||TARGET_armsr_armv8
83 CONFIG_VFIO_NOIOMMU
=n \
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
)
92 define KernelPackage
/vfio
/description
93 VFIO provides a framework for secure userspace device drivers.
96 $(eval
$(call KernelPackage
,vfio
))
99 define KernelPackage
/vfio-pci
100 SUBMENU
:=Virtualization
101 TITLE
:=Generic VFIO support for any PCI device
102 DEPENDS
:=@TARGET_x86_64||TARGET_armsr_armv8 @PCI_SUPPORT
+kmod-vfio
+kmod-irqbypass
105 CONFIG_VFIO_PCI_IGD
=n
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
)
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.
117 $(eval
$(call KernelPackage
,vfio-pci
))
120 define KernelPackage
/vhost
121 SUBMENU
:=Virtualization
122 TITLE
:=Host kernel accelerator for virtio
(base
)
123 KCONFIG
:=CONFIG_VHOST
124 FILES
:=$(LINUX_DIR
)/drivers
/vhost
/vhost.ko \
125 $(LINUX_DIR
)/drivers
/vhost
/vhost_iotlb.ko
126 AUTOLOAD
:=$(call AutoProbe
,vhost vhost_iotlb
)
129 $(eval
$(call KernelPackage
,vhost
))
132 define KernelPackage
/vhost-net
133 SUBMENU
:=Virtualization
134 TITLE
:=Host kernel accelerator for virtio-net
135 DEPENDS
:=+kmod-tun
+kmod-vhost
136 KCONFIG
:=CONFIG_VHOST_NET
137 FILES
:=$(LINUX_DIR
)/drivers
/vhost
/vhost_net.ko
138 AUTOLOAD
:=$(call AutoProbe
,vhost_net
)
141 $(eval
$(call KernelPackage
,vhost-net
))