u-boot/lib/efi_loader
Ilias Apalodimas b891ff18f8 efi_loader: Force a single FMP instance per hardware store
Chapter 23 of the EFI spec (rev 2.9) says:
"A specific updatable hardware firmware store must be represented by
exactly one FMP instance".
This is not the case for us, since both of our FMP protocols can be
installed at the same time because they are controlled by a single
'dfu_alt_info' env variable.
So make the config options depend on each other and allow the user to
install one of them at any given time.  If we fix the meta-data provided
by the 'dfu_alt_info' in the future,  to hint about the capsule type
(fit or raw) we can revise this and enable both FMPs to be installed, as
long as they target different firmware hardware stores

Note that we are not using a Kconfig 'choice' on purpose, since we
want to allow both of those to be installed and tested in sandbox

Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2021-07-02 09:37:01 +02:00
..
.gitignore efi_loader: git ignore helloworld_efi.S 2020-01-07 18:08:20 +01:00
efi_acpi.c efi_loader: ACPI tables must be in EfiACPIReclaimMemory 2021-02-26 16:17:43 +01:00
efi_bootmgr.c efi_loader: Cleanup get_var duplication 2021-04-10 12:00:24 +02:00
efi_boottime.c efi_loader: TPL_HIGH_LEVEL not allowed for CreateEvent 2021-06-28 19:57:13 +02:00
efi_capsule.c efi: Fix to use null handle to create new handle for efi_fmp_raw 2021-07-02 09:37:01 +02:00
efi_console.c efi_loader: NULL dereference in EFI console 2021-03-25 20:08:57 +01:00
efi_device_path.c efi_loader: path length in efi_dp_from_name() 2021-05-25 13:06:57 +02:00
efi_device_path_to_text.c efi_loader: Uart device path missing break 2021-03-31 06:22:22 +00:00
efi_device_path_utilities.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
efi_disk.c efi_loader: partition numbers are hexadecimal 2021-06-09 00:16:39 +02:00
efi_dt_fixup.c efi_loader: fix memory type for memory reservation block 2021-03-25 20:07:18 +01:00
efi_esrt.c efi_loader: esrt: Remove incorrect invocations of EFI_CALL macro 2021-04-17 20:01:31 +02:00
efi_file.c efi_loader: loosen buffer parameter check in efi_file_read_int 2021-05-18 12:36:12 +02:00
efi_firmware.c efi_loader: capsule: Remove the check for capsule_authentication_enabled environment variable 2021-05-18 12:36:12 +02:00
efi_freestanding.c efi_loader: fix freestanding memmove() 2020-03-22 11:06:23 +01:00
efi_gop.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_helper.c efi_loader: Add helper functions for EFI 2021-03-25 20:14:25 +01:00
efi_hii.c efi_loader: ListPackageLists() return EFI_NOT_FOUND 2019-06-20 22:26:19 +00:00
efi_hii_config.c efi_loader: remove EFI_HII_CONFIG_ROUTING_PROTOCOL 2020-12-10 09:15:32 +01:00
efi_image_loader.c efi_loader: fix Sphinx warning 2021-06-09 12:35:01 +02:00
efi_load_initrd.c efi_loader: Replace config option for initrd loading 2021-03-25 20:14:26 +01:00
efi_load_options.c efi_loader: move load options to new module 2021-01-19 18:56:08 +01:00
efi_memory.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_net.c efi_loader: fix use after free in receive path 2020-10-19 22:59:53 +02:00
efi_rng.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_root_node.c efi_loader: remove EFI_UNICODE_COLLATION_PROTOCOL 2021-01-20 08:17:17 +01:00
efi_runtime.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
efi_setup.c efi: Add ESRT to the EFI system table 2021-03-25 20:19:19 +01:00
efi_signature.c efi_loader: expose efi_image_parse() even if UEFI Secure Boot is disabled 2021-05-25 13:06:57 +02:00
efi_smbios.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
efi_string.c efi_loader: missing include in efi_string.c 2021-04-24 06:53:40 +02:00
efi_tcg2.c efi_loader: add PE/COFF image measurement 2021-05-28 16:17:01 +02:00
efi_unicode_collation.c efi_loader: carve out utf_to_cp() 2021-03-07 17:37:13 +01:00
efi_var_common.c efi_loader: expose efi_image_parse() even if UEFI Secure Boot is disabled 2021-05-25 13:06:57 +02:00
efi_var_file.c efi_loader: partition numbers are hexadecimal 2021-06-09 00:16:39 +02:00
efi_var_mem.c efi_loader: Avoid emitting efi_var_buf to .GOT 2021-01-20 08:17:17 +01:00
efi_var_seed.S efi_loader: pre-seed UEFI variables 2020-07-16 12:37:02 +02:00
efi_variable.c efi_loader: Make the pkcs7 header parsing function an extern 2020-12-31 14:41:31 +01:00
efi_variable_tee.c efi_loader: Avoid emitting efi_var_buf to .GOT 2021-01-20 08:17:17 +01:00
efi_watchdog.c efi_loader: function descriptions efi_watchdog.c 2020-04-16 08:10:02 +02:00
helloworld.c efi_loader: typo 'devide path' 2021-03-31 06:34:33 +00:00
Kconfig efi_loader: Force a single FMP instance per hardware store 2021-07-02 09:37:01 +02:00
Makefile efi_loader: expose efi_image_parse() even if UEFI Secure Boot is disabled 2021-05-25 13:06:57 +02:00