summaryrefslogtreecommitdiffstats
path: root/include/efi_loader.h
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2016-05-06 21:01:01 +0200
committerTom Rini <trini@konsulko.com>2016-05-27 10:01:10 -0400
commit0efe1bcf5c2ce89d7c2467550e2823d7f95733e0 (patch)
treef040d19ef28c73746c329475e1ee4ac0524c1be7 /include/efi_loader.h
parent7e6621a1cae2d2442d3d7641ff1df17b3f03ad4b (diff)
downloadtalos-obmc-uboot-0efe1bcf5c2ce89d7c2467550e2823d7f95733e0.tar.gz
talos-obmc-uboot-0efe1bcf5c2ce89d7c2467550e2823d7f95733e0.zip
efi_loader: Add network access support
We can now successfully boot EFI applications from disk, but users may want to also run them from a PXE setup. This patch implements rudimentary network support, allowing a payload to send and receive network packets. With this patch, I was able to successfully run grub2 with network access inside of QEMU's -M xlnx-ep108. Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'include/efi_loader.h')
-rw-r--r--include/efi_loader.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 88b8149b14..8005454af3 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -91,6 +91,12 @@ extern struct list_head efi_obj_list;
int efi_disk_register(void);
/* Called by bootefi to make GOP (graphical) interface available */
int efi_gop_register(void);
+/* Called by bootefi to make the network interface available */
+int efi_net_register(void **handle);
+
+/* Called by networking code to memorize the dhcp ack package */
+void efi_net_set_dhcp_ack(void *pkt, int len);
+
/*
* Stub implementation for a protocol opener that just returns the handle as
* interface
@@ -157,5 +163,6 @@ static inline void ascii2unicode(u16 *unicode, char *ascii)
static inline void efi_restore_gd(void) { }
static inline void efi_set_bootdev(const char *dev, const char *devnr,
const char *path) { }
+static inline void efi_net_set_dhcp_ack(void *pkt, int len) { }
#endif
OpenPOWER on IntegriCloud