799adade58c42b6cba91fed41138e3fa4384722e
[openwrt/staging/lynxis/omap.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 FILES:= $(LINUX_DIR)/virt/lib/irqbypass.ko
12 AUTOLOAD:=$(call AutoProbe,irqbypass.ko)
13 endef
14
15 define KernelPackage/irqbypass/description
16 Various virtualization hardware acceleration techniques allow bypassing or
17 offloading interrupts received from devices around the host kernel. Posted
18 Interrupts on Intel VT-d systems can allow interrupts to be received
19 directly by a virtual machine. ARM IRQ Forwarding allows forwarded physical
20 interrupts to be directly deactivated by the guest. This manager allows
21 interrupt producers and consumers to find each other to enable this sort of
22 bypass.
23 endef
24
25 $(eval $(call KernelPackage,irqbypass))
26
27
28 define KernelPackage/kvm-x86
29 SUBMENU:=Virtualization
30 TITLE:=Kernel-based Virtual Machine (KVM) support
31 DEPENDS:=@TARGET_x86 +kmod-irqbypass
32 KCONFIG:=\
33 CONFIG_VIRTUALIZATION=y \
34 CONFIG_KVM \
35 CONFIG_VHOST_NET=n \
36 CONFIG_VHOST_CROSS_ENDIAN_LEGACY=n \
37 CONFIG_TASK_XACCT=n \
38
39 FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko
40 AUTOLOAD:=$(call AutoProbe,kvm.ko)
41 endef
42
43 define KernelPackage/kvm-x86/description
44 Support hosting fully virtualized guest machines using hardware
45 virtualization extensions. You will need a fairly recent
46 processor equipped with virtualization extensions. You will also
47 need to select one or more of the processor modules.
48
49 This module provides access to the hardware capabilities through
50 a character device node named /dev/kvm.
51 endef
52
53 $(eval $(call KernelPackage,kvm-x86))
54
55
56 define KernelPackage/kvm-intel
57 SUBMENU:=Virtualization
58 TITLE:=KVM for Intel processors support
59 DEPENDS:=@TARGET_x86 +kmod-kvm-x86
60 KCONFIG:=CONFIG_KVM_INTEL CONFIG_KVM_AMD=n
61 FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-intel.ko
62 AUTOLOAD:=$(call AutoProbe,kvm-intel.ko)
63 endef
64
65 define KernelPackage/kvm-intel/description
66 Provides support for KVM on Intel processors equipped with the VT
67 extensions.
68 endef
69
70 $(eval $(call KernelPackage,kvm-intel))
71
72
73 define KernelPackage/kvm-amd
74 SUBMENU:=Virtualization
75 TITLE:=KVM for AMD processors support
76 DEPENDS:=@TARGET_x86 +kmod-kvm-x86
77 KCONFIG:=CONFIG_KVM_INTEL=n CONFIG_KVM_AMD
78 FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-amd.ko
79 AUTOLOAD:=$(call AutoProbe,kvm-amd.ko)
80 endef
81
82 define KernelPackage/kvm-amd/description
83 Provides support for KVM on AMD processors equipped with the AMD-V
84 (SVM) extensions.
85 endef
86
87 $(eval $(call KernelPackage,kvm-amd))