On 23/05/2019 10:46, Tomas Pilar (tpilar) wrote:
I was mostly puzzled by the double step. First find a parent device to
LoadedImage that support NII. Rather than using that device we will scan all
devices to see if any of them has the same NII protocol and if so we use that
one. I am not sure there is any advantage compared to just using the original
parent device?
The problem is that we may need to attach to a parent of that original
parent device. The relevant commit in iPXE is:
http://git.ipxe.org/ipxe.git/commitdiff/4c5b7945c
[efi] Use the SNP protocol instance to match the SNP chainloading device
Some systems will install a child of the SNP device and use this as
our loaded image's device handle, duplicating the installation of the
underlying SNP protocol onto the child device handle. On such
systems, we want to end up driving the parent device (and
disconnecting any other drivers, such as MNP, which may be attached to
the parent device).
Fix by recording the SNP protocol instance at initialisation time, and
using this to match against device handles (rather than simply
comparing the handles themselves).
That commit predates the iPXE NII/UNDI driver and so refers only to SNP,
but the same principle is applied for NII.
Michael
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#41275): https://edk2.groups.io/g/devel/message/41275
Mute This Topic: https://groups.io/mt/31686860/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-