xvisor.mk 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. ################################################################################
  2. #
  3. # xvisor
  4. #
  5. ################################################################################
  6. XVISOR_VERSION = 0.3.0
  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
  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. endif
  30. ifeq ($(BR2_PACKAGE_XVISOR)$(BR_BUILDING),yy)
  31. ifeq ($(XVISOR_ARCH),)
  32. $(error "Architecture not supported by XVisor")
  33. endif
  34. endif
  35. XVISOR_MAKE_ENV = \
  36. ARCH=$(XVISOR_ARCH) \
  37. CROSS_COMPILE=$(TARGET_CROSS)
  38. XVISOR_MAKE_OPTS = $(if $(VERBOSE),VERBOSE=1)
  39. define XVISOR_BUILD_CMDS
  40. $(TARGET_MAKE_ENV) $(XVISOR_MAKE_ENV) $(MAKE) $(XVISOR_MAKE_OPTS) \
  41. -C $(@D) $(XVISOR_MAKE_TARGETS)
  42. endef
  43. define XVISOR_INSTALL_IMAGES_CMDS
  44. $(INSTALL) -m 0644 -D $(@D)/build/vmm.bin $(BINARIES_DIR)/vmm.bin
  45. endef
  46. ifeq ($(BR2_PACKAGE_XVISOR_CREATE_UBOOT_IMAGE),y)
  47. XVISOR_DEPENDENCIES += host-uboot-tools
  48. define XVISOR_CREATE_UBOOT_IMAGE
  49. $(MKIMAGE) -A $(MKIMAGE_ARCH) -O linux -T kernel -C none \
  50. -a 0x00008000 -e 0x00008000 \
  51. -n Xvisor -d $(BINARIES_DIR)/vmm.bin $(BINARIES_DIR)/uvmm.bin
  52. endef
  53. endif
  54. XVISOR_POST_INSTALL_IMAGES_HOOKS += XVISOR_CREATE_UBOOT_IMAGE
  55. # Checks to give errors that the user can understand
  56. ifeq ($(BR_BUILDING),y)
  57. ifeq ($(BR2_PACKAGE_XVISOR_USE_DEFCONFIG),y)
  58. ifeq ($(call qstrip,$(BR2_PACKAGE_XVISOR_DEFCONFIG)),)
  59. $(error No Xvisor defconfig name specified, check your BR2_PACKAGE_XVISOR_DEFCONFIG setting)
  60. endif
  61. endif
  62. ifeq ($(BR2_PACKAGE_XVISOR_USE_CUSTOM_CONFIG),y)
  63. ifeq ($(BR2_PACKAGE_XVISOR_CUSTOM_CONFIG_FILE),)
  64. $(error No Xvisor configuration file specified, check your BR2_PACKAGE_XVISOR_CUSTOM_CONFIG_FILE setting)
  65. endif
  66. endif
  67. endif
  68. $(eval $(kconfig-package))