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
83 CONFIG_VFIO_NOIOMMU
=n \
86 enable_unsafe_noiommu_mode
=n
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
)
94 define KernelPackage
/vfio
/description
95 VFIO provides a framework for secure userspace device drivers.
98 $(eval
$(call KernelPackage
,vfio
))
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
107 CONFIG_VFIO_PCI_IGD
=n
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
)
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.
119 $(eval
$(call KernelPackage
,vfio-pci
))