bootmeth_efi: Support PXE booting
Finish off the implementation so it is possible to boot an EFI app over
a network.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/lib/efi_loader/efi_bootbin.c b/lib/efi_loader/efi_bootbin.c
index fdde536..10ec5e9 100644
--- a/lib/efi_loader/efi_bootbin.c
+++ b/lib/efi_loader/efi_bootbin.c
@@ -302,6 +302,9 @@
media_dev = dev_get_parent(bflow->dev);
if (!bflow->blk) {
+ if (device_get_uclass_id(media_dev) == UCLASS_ETH)
+ return "Net";
+
log_err("Cannot boot EFI app on media '%s'\n",
dev_get_uclass_name(media_dev));
@@ -342,7 +345,7 @@
ret = calculate_paths(dev_name, devnum_str, bflow->fname, &device,
&image);
if (ret)
- return ret;
+ return EFI_UNSUPPORTED;
if (bflow->flags & BOOTFLOWF_USE_BUILTIN_FDT) {
log_debug("Booting with built-in fdt\n");