diff options
| author | Heinrich Schuchardt <[email protected]> | 2023-05-12 20:18:10 +0200 |
|---|---|---|
| committer | Heinrich Schuchardt <[email protected]> | 2023-05-13 11:09:51 +0200 |
| commit | 01c528118d1fd9bdfaad57ca803094d1b697401d (patch) | |
| tree | 5bdb3073d48863f668d8817c621c54334632df13 /lib | |
| parent | 31eda3f55ce788e1c885f38c3afad6f4db60f13e (diff) | |
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 <[email protected]>
Signed-off-by: Heinrich Schuchardt <[email protected]>
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/efi_loader/efi_device_path.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c index e2e98a39be1..20ad9484985 100644 --- a/lib/efi_loader/efi_device_path.c +++ b/lib/efi_loader/efi_device_path.c @@ -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) |
