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