efi_loader: support booting semihosting file

Executing an EFI binary fails for files loaded via semihosting.

Construct a dummy device path for EFI binaries loaded via semihosting.

A future complete solution may include the creation of a handle with a
simple file system protocol.

Reported-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Heinrich Schuchardt 2023-05-12 20:18:10 +02:00
parent 31eda3f55c
commit 01c528118d

View file

@ -1203,7 +1203,8 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
} else if (!strcmp(dev, "Uart")) {
if (device)
*device = efi_dp_from_uart();
} else if (!strcmp(dev, "Mem")) {
} else if (!strcmp(dev, "Mem") || !strcmp(dev, "hostfs")) {
/* loadm command and semihosting */
efi_get_image_parameters(&image_addr, &image_size);
if (device)