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

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jul 12 18:20:09 UTC 2017


On 07/12/2017 08:06 PM, Michael Brown wrote:
> On 12/07/17 19:03, Heinrich Schuchardt wrote:
>>> 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.
> 
> Not quite.  It's supposed to find the closest SNP-supporting parent of
> the specified device.  The idea is not just to find any SNP, but to find
> the SNP from which iPXE itself was loaded.  This makes a difference if
> the system has more than one SNP device.

But iPXE is not loaded via SNP but from a block device.

Why do you expect to find any parent supporting SNP?

The UEFI spec does not require that on the path from a block device to
the root of the device tree there is any SNP supporting device.

How will iPXE find any SNP supporting device if the only SNP device is a
leaf node and not parent to anything?

Best regards

Heinrich



More information about the ipxe-devel mailing list