efi_loader: net: set EFI bootdevice device path to HTTP when loaded from wget
Set the device path of the efi boot device to an HTTP device path (as formed by efi_dp_from_http) when the next boot stage is loaded using wget (i.e., when wget is used with wget_info.set_bootdev=1). When loaded from HTTP, the device path should account for it so that the next boot stage is aware (e.g. grub only loads its http stack if it itself was loaded from http, and it checks this from its device path). Signed-off-by: Adriano Cordova <adrianox@gmail.com> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
This commit is contained in:

committed by
Heinrich Schuchardt

parent
4b0723004b
commit
e55a4acb54
@@ -126,6 +126,10 @@ static inline void efi_set_bootdev(const char *dev, const char *devnr,
|
||||
#endif
|
||||
|
||||
#if CONFIG_IS_ENABLED(NETDEVICES) && CONFIG_IS_ENABLED(EFI_LOADER)
|
||||
/* Call this to update the current device path of the efi net device */
|
||||
efi_status_t efi_net_set_dp(const char *dev, const char *server);
|
||||
/* Call this to get the current device path of the efi net device */
|
||||
void efi_net_get_dp(struct efi_device_path **dp);
|
||||
void efi_net_get_addr(struct efi_ipv4_address *ip,
|
||||
struct efi_ipv4_address *mask,
|
||||
struct efi_ipv4_address *gw);
|
||||
@@ -133,6 +137,7 @@ void efi_net_set_addr(struct efi_ipv4_address *ip,
|
||||
struct efi_ipv4_address *mask,
|
||||
struct efi_ipv4_address *gw);
|
||||
#else
|
||||
static inline void efi_net_get_dp(struct efi_device_path **dp) { }
|
||||
static inline void efi_net_get_addr(struct efi_ipv4_address *ip,
|
||||
struct efi_ipv4_address *mask,
|
||||
struct efi_ipv4_address *gw) { }
|
||||
|
Reference in New Issue
Block a user