479ab6c17e
Provide a unit test loading an initial ramdisk using the EFI_LOAD_FILE2_PROTOCOL. The test is only executed on request. An example usage - given a file image with a file system in partition 1 holding file initrd - is: * Configure the sandbox with CONFIG_EFI_SELFTEST=y CONFIG_EFI_LOAD_FILE2_INITRD=y CONFIG_EFI_INITRD_FILESPEC="host 0:1 initrd" * Run ./u-boot and execute host bind 0 image setenv efi_selftest load initrd bootefi selftest This would provide a test output like: Testing EFI API implementation Selected test: 'load initrd' Setting up 'load initrd' Setting up 'load initrd' succeeded Executing 'load initrd' Loaded 12378613 bytes CRC32 2997478465 Executing 'load initrd' succeeded Now the size and CRC32 can be compared to the provided file. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
101 lines
3.2 KiB
Makefile
101 lines
3.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0+
|
|
#
|
|
# (C) Copyright 2017, Heinrich Schuchardt <xypron.glpk@gmx.de>
|
|
|
|
# This file only gets included with CONFIG_EFI_LOADER set, so all
|
|
# object inclusion implicitly depends on it
|
|
|
|
asflags-y += -DHOST_ARCH="$(HOST_ARCH)"
|
|
ccflags-y += -DHOST_ARCH="$(HOST_ARCH)"
|
|
|
|
CFLAGS_efi_selftest_miniapp_exit.o := $(CFLAGS_EFI) -Os -ffreestanding
|
|
CFLAGS_REMOVE_efi_selftest_miniapp_exit.o := $(CFLAGS_NON_EFI)
|
|
CFLAGS_efi_selftest_miniapp_return.o := $(CFLAGS_EFI) -Os -ffreestanding
|
|
CFLAGS_REMOVE_efi_selftest_miniapp_return.o := $(CFLAGS_NON_EFI)
|
|
|
|
obj-y += \
|
|
efi_selftest.o \
|
|
efi_selftest_bitblt.o \
|
|
efi_selftest_config_table.o \
|
|
efi_selftest_controllers.o \
|
|
efi_selftest_console.o \
|
|
efi_selftest_crc32.o \
|
|
efi_selftest_devicepath_util.o \
|
|
efi_selftest_events.o \
|
|
efi_selftest_event_groups.o \
|
|
efi_selftest_exitbootservices.o \
|
|
efi_selftest_gop.o \
|
|
efi_selftest_loaded_image.o \
|
|
efi_selftest_manageprotocols.o \
|
|
efi_selftest_memory.o \
|
|
efi_selftest_open_protocol.o \
|
|
efi_selftest_register_notify.o \
|
|
efi_selftest_set_virtual_address_map.o \
|
|
efi_selftest_snp.o \
|
|
efi_selftest_textinput.o \
|
|
efi_selftest_textinputex.o \
|
|
efi_selftest_textoutput.o \
|
|
efi_selftest_tpl.o \
|
|
efi_selftest_util.o \
|
|
efi_selftest_variables.o \
|
|
efi_selftest_variables_runtime.o \
|
|
efi_selftest_watchdog.o
|
|
|
|
obj-$(CONFIG_EFI_DEVICE_PATH_TO_TEXT) += efi_selftest_devicepath.o
|
|
obj-$(CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2) += \
|
|
efi_selftest_unicode_collation.o
|
|
|
|
obj-$(CONFIG_CPU_V7) += efi_selftest_unaligned.o
|
|
obj-$(CONFIG_EFI_LOADER_HII) += efi_selftest_hii.o
|
|
obj-$(CONFIG_EFI_RNG_PROTOCOL) += efi_selftest_rng.o
|
|
obj-$(CONFIG_EFI_GET_TIME) += efi_selftest_rtc.o
|
|
obj-$(CONFIG_EFI_LOAD_FILE2_INITRD) += efi_selftest_load_initrd.o
|
|
|
|
ifeq ($(CONFIG_GENERATE_ACPI_TABLE),)
|
|
obj-y += efi_selftest_fdt.o
|
|
endif
|
|
|
|
ifeq ($(CONFIG_BLK)$(CONFIG_PARTITIONS),yy)
|
|
obj-y += efi_selftest_block_device.o
|
|
endif
|
|
|
|
# TODO: As of v2019.10 the relocation code for the EFI application cannot
|
|
# be built on ARMv7-M.
|
|
ifeq ($(CONFIG_CPU_V7M),)
|
|
|
|
obj-y += \
|
|
efi_selftest_exception.o \
|
|
efi_selftest_loadimage.o \
|
|
efi_selftest_startimage_exit.o \
|
|
efi_selftest_startimage_return.o
|
|
|
|
targets += \
|
|
efi_miniapp_file_image_exception.h \
|
|
efi_miniapp_file_image_exit.h \
|
|
efi_miniapp_file_image_return.h \
|
|
efi_selftest_miniapp_exception.efi \
|
|
efi_selftest_miniapp_exit.efi \
|
|
efi_selftest_miniapp_return.efi
|
|
|
|
$(obj)/efi_miniapp_file_image_exception.h: $(obj)/efi_selftest_miniapp_exception.efi
|
|
$(obj)/../../tools/file2include $(obj)/efi_selftest_miniapp_exception.efi > \
|
|
$(obj)/efi_miniapp_file_image_exception.h
|
|
|
|
$(obj)/efi_miniapp_file_image_exit.h: $(obj)/efi_selftest_miniapp_exit.efi
|
|
$(obj)/../../tools/file2include $(obj)/efi_selftest_miniapp_exit.efi > \
|
|
$(obj)/efi_miniapp_file_image_exit.h
|
|
|
|
$(obj)/efi_miniapp_file_image_return.h: $(obj)/efi_selftest_miniapp_return.efi
|
|
$(obj)/../../tools/file2include $(obj)/efi_selftest_miniapp_return.efi > \
|
|
$(obj)/efi_miniapp_file_image_return.h
|
|
|
|
$(obj)/efi_selftest_loadimage.o: $(obj)/efi_miniapp_file_image_exit.h
|
|
|
|
$(obj)/efi_selftest_exception.o: $(obj)/efi_miniapp_file_image_exception.h
|
|
|
|
$(obj)/efi_selftest_startimage_exit.o: $(obj)/efi_miniapp_file_image_exit.h
|
|
|
|
$(obj)/efi_selftest_startimage_return.o: $(obj)/efi_miniapp_file_image_return.h
|
|
|
|
endif
|