diff options
Diffstat (limited to 'board/emulation')
| -rw-r--r-- | board/emulation/common/qemu_dfu.c | 3 | ||||
| -rw-r--r-- | board/emulation/qemu-arm/qemu-arm.c | 28 | 
2 files changed, 30 insertions, 1 deletions
| diff --git a/board/emulation/common/qemu_dfu.c b/board/emulation/common/qemu_dfu.c index 62234a7647d..c1aeaf10d93 100644 --- a/board/emulation/common/qemu_dfu.c +++ b/board/emulation/common/qemu_dfu.c @@ -44,7 +44,8 @@ void set_dfu_alt_info(char *interface, char *devstr)  	ALLOC_CACHE_ALIGN_BUFFER(char, buf, DFU_ALT_BUF_LEN); -	if (env_get("dfu_alt_info")) +	if (!CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT) && +	    env_get("dfu_alt_info"))  		return;  	memset(buf, 0, sizeof(buf)); diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c index c9e886e44a5..16237e29e46 100644 --- a/board/emulation/qemu-arm/qemu-arm.c +++ b/board/emulation/qemu-arm/qemu-arm.c @@ -6,15 +6,43 @@  #include <common.h>  #include <cpu_func.h>  #include <dm.h> +#include <efi.h> +#include <efi_loader.h>  #include <fdtdec.h>  #include <init.h>  #include <log.h>  #include <virtio_types.h>  #include <virtio.h> +#include <linux/kernel.h> +  #ifdef CONFIG_ARM64  #include <asm/armv8/mmu.h> +#if CONFIG_IS_ENABLED(EFI_HAVE_CAPSULE_SUPPORT) +struct efi_fw_image fw_images[] = { +#if defined(CONFIG_TARGET_QEMU_ARM_32BIT) +	{ +		.image_type_id = QEMU_ARM_UBOOT_IMAGE_GUID, +		.fw_name = u"Qemu-Arm-UBOOT", +		.image_index = 1, +	}, +#elif defined(CONFIG_TARGET_QEMU_ARM_64BIT) +	{ +		.image_type_id = QEMU_ARM64_UBOOT_IMAGE_GUID, +		.fw_name = u"Qemu-Arm-UBOOT", +		.image_index = 1, +	}, +#endif +}; + +struct efi_capsule_update_info update_info = { +	.images = fw_images, +}; + +u8 num_image_type_guids = ARRAY_SIZE(fw_images); +#endif /* EFI_HAVE_CAPSULE_SUPPORT */ +  static struct mm_region qemu_arm64_mem_map[] = {  	{  		/* Flash */ | 
