virt.mk 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. #
  2. # Copyright (C) 2016 Yousong Zhou <[email protected]>
  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. HIDDEN:=1
  12. FILES:= $(LINUX_DIR)/virt/lib/irqbypass.ko
  13. AUTOLOAD:=$(call AutoProbe,irqbypass.ko)
  14. endef
  15. $(eval $(call KernelPackage,irqbypass))
  16. define KernelPackage/kvm-x86
  17. SUBMENU:=Virtualization
  18. TITLE:=Kernel-based Virtual Machine (KVM) support
  19. DEPENDS:=@TARGET_x86_generic||TARGET_x86_64 +kmod-irqbypass
  20. KCONFIG:=\
  21. CONFIG_KVM \
  22. CONFIG_KVM_MMU_AUDIT=n \
  23. CONFIG_KVM_SMM=y \
  24. CONFIG_VIRTUALIZATION=y
  25. FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm.ko
  26. AUTOLOAD:=$(call AutoProbe,kvm.ko)
  27. endef
  28. define KernelPackage/kvm-x86/description
  29. Support hosting fully virtualized guest machines using hardware
  30. virtualization extensions. You will need a fairly recent
  31. processor equipped with virtualization extensions. You will also
  32. need to select one or more of the processor modules.
  33. This module provides access to the hardware capabilities through
  34. a character device node named /dev/kvm.
  35. endef
  36. $(eval $(call KernelPackage,kvm-x86))
  37. define KernelPackage/kvm-intel
  38. SUBMENU:=Virtualization
  39. TITLE:=KVM for Intel processors support
  40. DEPENDS:=+kmod-kvm-x86
  41. KCONFIG:=CONFIG_KVM_INTEL
  42. FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-intel.ko
  43. AUTOLOAD:=$(call AutoProbe,kvm-intel.ko)
  44. endef
  45. define KernelPackage/kvm-intel/description
  46. Provides support for KVM on Intel processors equipped with the VT
  47. extensions.
  48. endef
  49. $(eval $(call KernelPackage,kvm-intel))
  50. define KernelPackage/kvm-amd
  51. SUBMENU:=Virtualization
  52. TITLE:=KVM for AMD processors support
  53. DEPENDS:=+kmod-kvm-x86
  54. KCONFIG:=CONFIG_KVM_AMD
  55. FILES:= $(LINUX_DIR)/arch/$(LINUX_KARCH)/kvm/kvm-amd.ko
  56. AUTOLOAD:=$(call AutoProbe,kvm-amd.ko)
  57. endef
  58. define KernelPackage/kvm-amd/description
  59. Provides support for KVM on AMD processors equipped with the AMD-V
  60. (SVM) extensions.
  61. endef
  62. $(eval $(call KernelPackage,kvm-amd))
  63. define KernelPackage/vfio
  64. SUBMENU:=Virtualization
  65. TITLE:=VFIO Non-Privileged userspace driver framework
  66. DEPENDS:=@TARGET_x86_64||TARGET_armsr_armv8
  67. KCONFIG:= \
  68. CONFIG_VFIO \
  69. CONFIG_VFIO_NOIOMMU=n \
  70. CONFIG_VFIO_MDEV=n
  71. FILES:= \
  72. $(LINUX_DIR)/drivers/vfio/vfio.ko \
  73. $(LINUX_DIR)/drivers/vfio/vfio_iommu_type1.ko
  74. AUTOLOAD:=$(call AutoProbe,vfio vfio_iommu_type1)
  75. endef
  76. define KernelPackage/vfio/description
  77. VFIO provides a framework for secure userspace device drivers.
  78. endef
  79. $(eval $(call KernelPackage,vfio))
  80. define KernelPackage/vfio-pci
  81. SUBMENU:=Virtualization
  82. TITLE:=Generic VFIO support for any PCI device
  83. DEPENDS:=@TARGET_x86_64||TARGET_armsr_armv8 @PCI_SUPPORT +kmod-vfio +kmod-irqbypass
  84. KCONFIG:= \
  85. CONFIG_VFIO_PCI \
  86. CONFIG_VFIO_PCI_IGD=n
  87. FILES:= \
  88. $(LINUX_DIR)/drivers/vfio/pci/vfio-pci-core.ko \
  89. $(LINUX_DIR)/drivers/vfio/pci/vfio-pci.ko
  90. AUTOLOAD:=$(call AutoProbe,vfio-pci)
  91. endef
  92. define KernelPackage/vfio-pci/description
  93. Support for the generic PCI VFIO bus driver which can connect any PCI
  94. device to the VFIO framework.
  95. endef
  96. $(eval $(call KernelPackage,vfio-pci))
  97. define KernelPackage/vhost
  98. SUBMENU:=Virtualization
  99. TITLE:=Host kernel accelerator for virtio (base)
  100. KCONFIG:=CONFIG_VHOST
  101. FILES:=$(LINUX_DIR)/drivers/vhost/vhost.ko \
  102. $(LINUX_DIR)/drivers/vhost/vhost_iotlb.ko
  103. AUTOLOAD:=$(call AutoProbe,vhost vhost_iotlb)
  104. endef
  105. $(eval $(call KernelPackage,vhost))
  106. define KernelPackage/vhost-net
  107. SUBMENU:=Virtualization
  108. TITLE:=Host kernel accelerator for virtio-net
  109. DEPENDS:=+kmod-tun +kmod-vhost
  110. KCONFIG:=CONFIG_VHOST_NET
  111. FILES:=$(LINUX_DIR)/drivers/vhost/vhost_net.ko
  112. AUTOLOAD:=$(call AutoProbe,vhost_net)
  113. endef
  114. $(eval $(call KernelPackage,vhost-net))