On 24/01/2019 16:49, Laszlo Ersek wrote:
> On 01/24/19 14:25, Tomas Pilar (tpilar) wrote:
>> Hmm,
>>
>> Mnp->Configure() will eventually call MnpStartSnp().
>>
>> A grep for Mnp->Configure shows that:
>> * ArpDxe performs this on DriverBinding.Start()
>> * Ip6Dxe performs this on DriverBinding.Start()
>>
>> Ipv4 and DnsDhcp do this as a part of their Configure() they expose in the
>> API.
> Yes, that makes sense. All of the above drivers are UEFI drivers that
> follow the UEFI driver model, AIUI. As long as the controller is not
> connected from BDS, no BindingStart() function should be called in these.
Ah, but I would expect the BDS to call ConnectController() on the NIC, but I
would not expect the network stack to be started unless the device is actually
chosen for PXE booting. In other words, the above protocols should follow the
example of EFI_DNS4_PROTOCOL that binds against the device during BDS but
.Configure() is not automatically called by DriverBinding.Start().
.Configure() should be called by the BootManager if networking is actually to
be done. That in turn will configure Mnp and start Snp.
Cheers,
Tom
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel