u-boot-brain/lib/efi_loader
AKASHI Takahiro 23ad52fff4 efi_loader: device_path: support Sandbox's "host" devices
Sandbox's "host" devices are currently described as UCLASS_ROOT udevice
with DEV_IF_HOST block device. As the current implementation of
efi_device_path doesn't support such a type, any "host" device
on sandbox cannot be seen as a distinct object.

For example,
  => host bind 0 /foo/disk.img

  => efi devices
  Scanning disk host0...
  Found 1 disks
  Device           Device Path
  ================ ====================
  0000000015c19970 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)
  0000000015c19d70 /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)

  => efi dh
  Handle           Protocols
  ================ ====================
  0000000015c19970 Device Path, Device Path To Text, Device Path Utilities, Unicode Collation 2, HII String, HII Database, HII Config Routing
  0000000015c19ba0 Driver Binding
  0000000015c19c10 Simple Text Output
  0000000015c19c80 Simple Text Input, Simple Text Input Ex
  0000000015c19d70 Block IO, Device Path, Simple File System

As you can see here, efi_root (0x0000000015c19970) and host0 device
(0x0000000015c19d70) have the same representation of device path.

This is not only inconvenient, but also confusing since two different
efi objects are associated with the same device path and
efi_dp_find_obj() will possibly return a wrong result.

Solution:
Each "host" device should be given an additional device path node
of "vendor device path" to make it distinguishable.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2019-09-20 20:09:18 +02:00
..
.gitignore lib: gitignore *.elf and *.so generated by efi_loader 2017-01-09 10:30:24 -05:00
efi_acpi.c efi_loader: Install ACPI configuration tables 2018-07-02 09:23:28 +08:00
efi_bootmgr.c efi_loader: function comments efi_bootmgr.c 2019-07-16 22:17:20 +00:00
efi_boottime.c env: Drop environment.h header file where not needed 2019-08-11 16:43:41 -04:00
efi_console.c doc: UEFI API documentation 2019-09-05 23:18:52 +02:00
efi_device_path_to_text.c efi_loader: eliminate inline function ascii2unicode() 2019-09-09 15:21:08 +02:00
efi_device_path_utilities.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
efi_device_path.c efi_loader: device_path: support Sandbox's "host" devices 2019-09-20 20:09:18 +02:00
efi_disk.c efi_loader: EFI_BLOCK_IO_PROTOCOL.Reset() 2019-09-05 23:18:51 +02:00
efi_file.c efi_loader: parameter checks EFI_FILE_PROTOCOL.SetInfo() 2019-09-11 21:51:38 +02:00
efi_freestanding.c efi_loader: provide freestanding library 2019-02-13 09:40:06 +01:00
efi_gop.c doc: UEFI API documentation 2019-09-05 23:18:52 +02:00
efi_hii_config.c efi_loader: debug output for HII protocols 2019-02-13 09:40:06 +01:00
efi_hii.c efi_loader: ListPackageLists() return EFI_NOT_FOUND 2019-06-20 22:26:19 +00:00
efi_image_loader.c efi_loader: unload applications upon Exit() 2019-05-07 21:10:03 +02:00
efi_memory.c efi_loader: Extract adding a conventional memory in separate routine 2019-09-05 23:18:51 +02:00
efi_net.c doc: UEFI API documentation 2019-09-05 23:18:52 +02:00
efi_root_node.c efi_loader: implement deprecated Unicode collation protocol 2019-05-19 08:10:10 +02:00
efi_runtime.c efi_loader: do not call efi_runtime_detach twice 2019-08-15 20:33:10 +02:00
efi_setup.c efi_loader: initialization of variable services 2019-07-06 21:25:32 +02:00
efi_smbios.c sandbox: smbios: Update to support sandbox 2018-12-02 21:59:37 +01:00
efi_unicode_collation.c efi_loader: legal characters in StrToFat() 2019-06-14 19:18:40 +02:00
efi_variable.c env: Rename environment.h to env_internal.h 2019-08-11 19:27:31 -04:00
efi_watchdog.c SPDX: Convert a few files that were missed before 2018-05-10 20:38:35 -04:00
helloworld.c efi_loader: consistent naming of protocol GUIDs 2019-04-23 00:37:27 +02:00
Kconfig efi_loader: re-enable GRUB workaround on 32bit ARM 2019-07-30 21:36:22 +02:00
Makefile efi_loader: rename Unicode collation protocol 2 variables 2019-05-19 08:10:10 +02:00