u-boot/lib/efi_loader
Heinrich Schuchardt c227ef7c4a efi_loader: device paths for special block devices
The UEFI specification does not provide node types matching UCLASS_BLKMAP,
UCLASS_HOST, UCLASS_VIRTIO block devices.

The current implementation uses VenHw() nodes with uclass specific GUIDs
and a single byte for the device number appended. This leads to unaligned
integers in succeeding device path nodes.

The current implementation fails to create unique device paths for block
devices based on other uclasses like UCLASS_PVBLOCK.

Let's use a VenHw() node with the U-Boot GUID with a length dividable by
four and encoding blkdesc->uclass_id as well as  blkdesc->devnum.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2023-07-28 11:36:37 +02:00
..
.gitignore efi_loader: git ignore helloworld_efi.S 2020-01-07 18:08:20 +01:00
boothart.c efi_loader: add an EFI binary to print boot hart ID 2022-12-02 19:17:24 +01:00
dtbdump.c efi_loader: move dtbdump.c, initrddump.c to lib/efi_loader 2022-03-20 17:01:00 +01:00
efi_acpi.c efi: Use the installed ACPI tables 2023-07-17 17:23:15 +08:00
efi_bootmgr.c Load option with short device path for boot vars 2023-07-15 11:20:41 +02:00
efi_boottime.c efi_loader: make efi_remove_protocol() static 2023-07-20 09:12:50 +02:00
efi_capsule.c efi_loader: remove unused efi_capsule_authenticate 2023-04-21 08:50:35 +02:00
efi_conformance.c efi_loader: fix efi_ecpt_register() 2023-02-10 13:05:40 +01:00
efi_console.c efi_loader: describe term_get_char() 2023-03-13 13:56:14 +01:00
efi_device_path.c efi_loader: device paths for special block devices 2023-07-28 11:36:37 +02:00
efi_device_path_to_text.c efi_loader: simplify efi_str_to_u16() 2023-03-25 11:06:35 +01:00
efi_device_path_utilities.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
efi_disk.c efi_loader: simplify efi_disk_remove 2023-06-16 06:45:20 +02:00
efi_dt_fixup.c treewide: Drop bootm_headers_t typedef 2022-09-29 16:07:57 -04:00
efi_esrt.c efi_loader: fix comment in ESRT code 2023-01-27 18:32:00 +01:00
efi_file.c efi_loader: replace a u16_strdup with alloc + memcpy 2022-11-16 08:34:06 +01:00
efi_firmware.c efi_loader: check lowest supported version 2023-06-08 09:20:36 +02:00
efi_freestanding.c trace: Use notrace for short 2023-01-18 11:49:12 -07:00
efi_gop.c efi_loader: make gop_blt() static 2023-02-10 13:05:40 +01:00
efi_helper.c Move bootorder and bootoption apis to lib 2023-07-15 11:20:41 +02:00
efi_hii.c efi_loader: refine set_keyboard_layout() status 2023-01-13 09:09:07 +01:00
efi_hii_config.c efi_loader: use %pUs for printing GUIDs 2022-01-19 16:16:33 +01:00
efi_image_loader.c Correct SPL use of EFI_TCG2_PROTOCOL 2023-02-09 16:32:26 -05:00
efi_load_initrd.c efi_loader: remove efi_delete_handle on loadfile2 2022-10-16 12:23:22 +02:00
efi_load_options.c efi_loader: simplify efi_set_load_options() 2022-10-10 16:34:26 +02:00
efi_memory.c efi: loader: Make efi_mem static 2023-04-08 07:46:44 +02:00
efi_net.c efi_loader: fix handling of DHCP acknowledge 2022-12-02 19:17:24 +01:00
efi_riscv.c efi_loader: use EFI_EXIT in efi_riscv_get_boot_hartid 2023-01-13 09:09:07 +01:00
efi_rng.c efi_loader: use %pUs for printing GUIDs 2022-01-19 16:16:33 +01:00
efi_root_node.c Correct SPL use of EFI_UNICODE_COLLATION_PROTOCOL2 2023-02-09 16:32:26 -05:00
efi_runtime.c efi: loader: Make efi_runtime_mmio static 2023-04-08 07:46:44 +02:00
efi_setup.c efi_loader: set CapsuleMax from CONFIG_EFI_CAPSULE_MAX 2023-02-19 21:15:15 +01:00
efi_signature.c efi_loader: signature: export efi_hash_regions() 2022-07-05 14:37:16 +02:00
efi_smbios.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
efi_string.c efi: Add string conversion helper 2022-10-06 22:54:57 +02:00
efi_tcg2.c efi_loader: use efi_install_multiple_protocol_interfaces() 2023-07-20 09:12:50 +02:00
efi_unicode_collation.c efi_loader: Fix buffer underflow 2022-11-22 11:54:30 +01:00
efi_var_common.c efi_loader: update attribute check for QueryVariableInfo() 2023-02-10 13:05:39 +01:00
efi_var_file.c efi_loader: avoid adding variables twice 2022-12-29 10:51:50 +01:00
efi_var_mem.c efi_loader: Avoid underflow when calculating remaining var store size 2023-07-09 03:53:08 +02:00
efi_var_seed.S efi_loader: pre-seed UEFI variables 2020-07-16 12:37:02 +02:00
efi_variable.c efi_loader: update SetVariable attribute check 2023-03-13 13:56:14 +01:00
efi_variable_tee.c Revert "Merge branch '2023-07-24-introduce-FF-A-suppport'" 2023-07-24 19:51:05 -04:00
efi_watchdog.c efi_loader: update the timing of enabling and disabling EFI watchdog 2022-02-26 07:37:01 +01:00
helloworld.c efi_loader: print file path w/o boot device 2023-05-13 11:09:51 +02:00
initrddump.c efi_loader: avoid using HandleProtocol in initrddump.efi 2023-04-08 07:45:34 +02:00
Kconfig Revert "Merge branch '2023-07-24-introduce-FF-A-suppport'" 2023-07-24 19:51:05 -04:00
Makefile efi: Correct .efi rules 2023-05-31 17:23:01 -04:00