package: add kernel packages for kvm virtualization
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
This commit is contained in:
		 Yousong Zhou
					Yousong Zhou
				
			
				
					committed by
					
						 Felix Fietkau
						Felix Fietkau
					
				
			
			
				
	
			
			
			 Felix Fietkau
						Felix Fietkau
					
				
			
						parent
						
							49703b589b
						
					
				
				
					commit
					d206dfdf35
				
			
							
								
								
									
										105
									
								
								package/kernel/linux/modules/virt.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								package/kernel/linux/modules/virt.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,105 @@ | |||||||
|  | # | ||||||
|  | # 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/vhost_net | ||||||
|  |   SUBMENU:=Virtualization | ||||||
|  |   TITLE:=Host kernel accelerator for virtio net | ||||||
|  |   DEPENDS:= | ||||||
|  |   KCONFIG:=CONFIG_VHOST_NET | ||||||
|  |   FILES:= $(LINUX_DIR)/drivers/vhost/vhost_net.ko | ||||||
|  |   AUTOLOAD:=$(call AutoProbe,vhost_net.ko) | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define KernelPackage/vhost_net/description | ||||||
|  |   This kernel module can be loaded in host kernel to accelerate | ||||||
|  |   guest networking with virtio_net. Not to be confused with virtio_net | ||||||
|  |   module itself which needs to be loaded in guest kernel. | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | $(eval $(call KernelPackage,vhost_net)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | define KernelPackage/irqbypass | ||||||
|  |   SUBMENU:=Virtualization | ||||||
|  |   TITLE:=IRQ offload/bypass manager | ||||||
|  |   KCONFIG:=CONFIG_IRQ_BYPASS_MANAGER | ||||||
|  |   FILES:= $(LINUX_DIR)/virt/lib/irqbypass.ko | ||||||
|  |   AUTOLOAD:=$(call AutoProbe,irqbypass.ko) | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define KernelPackage/irqbypass/description | ||||||
|  |   Various virtualization hardware acceleration techniques allow bypassing or | ||||||
|  |   offloading interrupts received from devices around the host kernel.  Posted | ||||||
|  |   Interrupts on Intel VT-d systems can allow interrupts to be received | ||||||
|  |   directly by a virtual machine.  ARM IRQ Forwarding allows forwarded physical | ||||||
|  |   interrupts to be directly deactivated by the guest.  This manager allows | ||||||
|  |   interrupt producers and consumers to find each other to enable this sort of | ||||||
|  |   bypass. | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | $(eval $(call KernelPackage,irqbypass)) | ||||||
|  |  | ||||||
|  |  | ||||||
|  | define KernelPackage/kvm-x86 | ||||||
|  |   SUBMENU:=Virtualization | ||||||
|  |   TITLE:=Kernel-based Virtual Machine (KVM) support | ||||||
|  |   DEPENDS:=@TARGET_x86 +kmod-irqbypass | ||||||
|  |   KCONFIG:=\ | ||||||
|  | 	  CONFIG_VIRTUALIZATION=y \ | ||||||
|  | 	  CONFIG_KVM \ | ||||||
|  | 	  CONFIG_VHOST_NET=n \ | ||||||
|  | 	  CONFIG_VHOST_CROSS_ENDIAN_LEGACY=n \ | ||||||
|  | 	  CONFIG_TASK_XACCT=n \ | ||||||
|  |  | ||||||
|  |   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:=@TARGET_x86 +kmod-kvm-x86 | ||||||
|  |   KCONFIG:=CONFIG_KVM_INTEL CONFIG_KVM_AMD=n | ||||||
|  |   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:=@TARGET_x86 +kmod-kvm-x86 | ||||||
|  |   KCONFIG:=CONFIG_KVM_INTEL=n 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)) | ||||||
		Reference in New Issue
	
	Block a user