xvisor.mk 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. ################################################################################
  2. #
  3. # xvisor
  4. #
  5. ################################################################################
  6. XVISOR_VERSION = 0.3.2
  7. XVISOR_SOURCE = xvisor-$(XVISOR_VERSION).tar.xz
  8. XVISOR_SITE = http://www.xhypervisor.org/tarball
  9. XVISOR_LICENSE = GPL-2.0+
  10. XVISOR_LICENSE_FILES = COPYING
  11. XVISOR_INSTALL_IMAGES = YES
  12. XVISOR_INSTALL_TARGET = NO
  13. XVISOR_DEPENDENCIES = host-bison host-dtc host-flex $(BR2_PYTHON3_HOST_DEPENDENCY)
  14. XVISOR_MAKE_TARGETS = all
  15. ifeq ($(BR2_PACKAGE_XVISOR_BUILD_TEST_DTB),y)
  16. XVISOR_MAKE_TARGETS += dtbs
  17. endif
  18. XVISOR_KCONFIG_DOTCONFIG = build/openconf/.config
  19. ifeq ($(BR2_PACKAGE_XVISOR_USE_DEFCONFIG),y)
  20. XVISOR_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_PACKAGE_XVISOR_DEFCONFIG))-defconfig
  21. else ifeq ($(BR2_PACKAGE_XVISOR_USE_CUSTOM_CONFIG),y)
  22. XVISOR_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_XVISOR_CUSTOM_CONFIG_FILE))
  23. endif
  24. XVISOR_KCONFIG_EDITORS = menuconfig
  25. ifeq ($(BR2_x86_64),y)
  26. XVISOR_ARCH = x86
  27. else ifeq ($(BR2_arm)$(BR2_aarch64),y)
  28. XVISOR_ARCH = arm
  29. else ifeq ($(BR2_riscv),y)
  30. XVISOR_ARCH = riscv
  31. endif
  32. ifeq ($(BR2_PACKAGE_XVISOR)$(BR_BUILDING),yy)
  33. ifeq ($(XVISOR_ARCH),)
  34. $(error "Architecture not supported by XVisor")
  35. endif
  36. endif
  37. XVISOR_MAKE_ENV = \
  38. ARCH=$(XVISOR_ARCH) \
  39. CROSS_COMPILE=$(TARGET_CROSS)
  40. XVISOR_MAKE_OPTS = $(if $(VERBOSE),VERBOSE=1)
  41. define XVISOR_BUILD_CMDS
  42. $(TARGET_MAKE_ENV) $(XVISOR_MAKE_ENV) $(MAKE) $(XVISOR_MAKE_OPTS) \
  43. -C $(@D) $(XVISOR_MAKE_TARGETS)
  44. endef
  45. define XVISOR_INSTALL_IMAGES_CMDS
  46. $(INSTALL) -m 0644 -D $(@D)/build/vmm.bin $(BINARIES_DIR)/vmm.bin
  47. endef
  48. ifeq ($(BR2_PACKAGE_XVISOR_CREATE_UBOOT_IMAGE),y)
  49. XVISOR_DEPENDENCIES += host-uboot-tools
  50. define XVISOR_CREATE_UBOOT_IMAGE
  51. $(MKIMAGE) -A $(MKIMAGE_ARCH) -O linux -T kernel -C none \
  52. -a 0x00008000 -e 0x00008000 \
  53. -n Xvisor -d $(BINARIES_DIR)/vmm.bin $(BINARIES_DIR)/uvmm.bin
  54. endef
  55. endif
  56. XVISOR_POST_INSTALL_IMAGES_HOOKS += XVISOR_CREATE_UBOOT_IMAGE
  57. # Checks to give errors that the user can understand
  58. ifeq ($(BR_BUILDING),y)
  59. ifeq ($(BR2_PACKAGE_XVISOR_USE_DEFCONFIG),y)
  60. ifeq ($(call qstrip,$(BR2_PACKAGE_XVISOR_DEFCONFIG)),)
  61. $(error No Xvisor defconfig name specified, check your BR2_PACKAGE_XVISOR_DEFCONFIG setting)
  62. endif
  63. endif
  64. ifeq ($(BR2_PACKAGE_XVISOR_USE_CUSTOM_CONFIG),y)
  65. ifeq ($(BR2_PACKAGE_XVISOR_CUSTOM_CONFIG_FILE),)
  66. $(error No Xvisor configuration file specified, check your BR2_PACKAGE_XVISOR_CUSTOM_CONFIG_FILE setting)
  67. endif
  68. endif
  69. endif
  70. $(eval $(kconfig-package))