2
0

virt.mk 3.8 KB

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