[ipxe-devel] [PATCH 1/1] efi: reimplement efi_locate_device

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jul 12 18:03:21 UTC 2017

On 07/12/2017 07:49 PM, Michael Brown wrote:
> On 12/07/17 18:46, Heinrich Schuchardt wrote:
>> Currently efi_locate_device looks for a device supporting a
>> protocol only in the list of parents. This leads to errors like
>> EFIDEV mmc at 72000.blk has no parent supporting SimpleNetwork
>> Obviously looking for a network protocol in a block device or
>> its parents does not make sense.
>> With the patch efi_locate_device returns the device if it supports
>> the protocol. Otherwise it returns the fist device it can find
>> supporting the protocol.
> That patch seems to completely negate the purpose of the existing
> efi_locate_device() function.  What is it that you are trying to achieve?

My understanding is that efi_locate_device is called with the system
handle from drivers/net/efi/snponly.c:82 to find the device that
supports the Simple Network Protocol.

The current implementation will not find the Simple Network Protocol
when iPXE is called from U-Boot because it is not implemented by the
system handle nor by any parent but by a separate device.



More information about the ipxe-devel mailing list