1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
#
# Copyright (C) 2016 Yousong Zhou <yszhou4tech@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
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
$(eval $(call KernelPackage,irqbypass))
define KernelPackage/kvm-x86
SUBMENU:=Virtualization
TITLE:=Kernel-based Virtual Machine (KVM) support
DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass
KCONFIG:=\
CONFIG_KVM \
CONFIG_KVM_MMU_AUDIT=n \
CONFIG_VIRTUALIZATION=y
FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko
AUTOLOAD:=$(call AutoProbe,kvm.ko)
endef
define KernelPackage/kvm-x86/description
Support hosting fully virtualized guest machines using hardware
virtualization extensions. You will need a fairly recent
processor equipped with virtualization extensions. You will also
need to select one or more of the processor modules.
This module provides access to the hardware capabilities through
a character device node named /dev/kvm.
endef
$(eval $(call KernelPackage,kvm-x86))
define KernelPackage/kvm-intel
SUBMENU:=Virtualization
TITLE:=KVM for Intel processors support
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
define KernelPackage/kvm-intel/description
Provides support for KVM on Intel processors equipped with the VT
extensions.
endef
$(eval $(call KernelPackage,kvm-intel))
define KernelPackage/kvm-amd
SUBMENU:=Virtualization
TITLE:=KVM for AMD processors support
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
define KernelPackage/kvm-amd/description
Provides support for KVM on AMD processors equipped with the AMD-V
(SVM) extensions.
endef
$(eval $(call KernelPackage,kvm-amd))
define KernelPackage/vfio
SUBMENU:=Virtualization
TITLE:=VFIO Non-Privileged userspace driver framework
DEPENDS:=@TARGET_x86_64||TARGET_armsr_armv8
KCONFIG:= \
CONFIG_VFIO \
CONFIG_VFIO_NOIOMMU=n \
CONFIG_VFIO_MDEV=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||TARGET_armsr_armv8 @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))
define KernelPackage/vhost
SUBMENU:=Virtualization
TITLE:=Host kernel accelerator for virtio (base)
KCONFIG:=CONFIG_VHOST
FILES:=$(LINUX_DIR)/drivers/vhost/vhost.ko \
$(LINUX_DIR)/drivers/vhost/vhost_iotlb.ko
AUTOLOAD:=$(call AutoProbe,vhost vhost_iotlb)
endef
$(eval $(call KernelPackage,vhost))
define KernelPackage/vhost-net
SUBMENU:=Virtualization
TITLE:=Host kernel accelerator for virtio-net
DEPENDS:=+kmod-tun +kmod-vhost
KCONFIG:=CONFIG_VHOST_NET
FILES:=$(LINUX_DIR)/drivers/vhost/vhost_net.ko
AUTOLOAD:=$(call AutoProbe,vhost_net)
endef
$(eval $(call KernelPackage,vhost-net))
|