[PATCH 0/3] efi_selftest: Update SIMPLE_NETWORK_PROTOCOL selftest

Masami Hiramatsu masami.hiramatsu at linaro.org
Fri Sep 17 06:47:12 CEST 2021


Hi Heinrich,

2021年9月17日(金) 12:54 Heinrich Schuchardt <xypron.glpk at gmx.de>:
>
> On 9/16/21 10:53 AM, Masami Hiramatsu wrote:
> > Hello Heinrich,
> >
> > Here is a series of patches to update the SIMPLE_NETWORK_PROTOCOL
> > according to the explanation in the previous thread [1].
> >
> > [1] https://lists.denx.de/pipermail/u-boot/2021-September/460711.html
> >
> > So basically this seires modifies the SNP testcase as I said
> > in the previous mail [1].
> >
> > ----
> > net->get_status();
> > if (!net->mode.MediaPresent) {
> >     error(no link up!)
> >     return;
> > }
> >
> > submit_dhcp_discover()
> > for (;;) {
> >     wait_for_event(net)
> >     while (net->receive() != EFI_NOT_READY) {
> >        // check dhcp reply
> >     }
> > }
> > ----
> >
> > I removed EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT check because
> > that is just expectation what the received packet avaiability
> > is meaning that the EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT flag
> > bit is set. Of course U-Boot EFI SNP implementation does it,
> > but that is not ensured in the UEFI spec. The spec said that
>
> SN_GetStatus() in edk2-platforms
> Drivers/ASIX/Bus/Usb/UsbNetworking/Ax88179/SimpleNetwork.c always
> returns *InterruptStatus = 0.

Yes, it seems to depend on driver implementation.

>
> > the get_status() should update the MediaPresent flag (which
> > means the network link up or down). So I added the get_status()
> > test case before starting the network test so that it can
> > test the link status.
> >
> > BTW, actually the mode->media_present is not supported yet.
> > Is there any way to get the network link status?
>
> The driver interface struct eth_ops has no method for determining media
> presence. We have to assume that it is always present.

Hmm, OK. So we can not implement it...

Thank you,

>
> Best regards
>
> Heinrich
>
> >
> > Thank you,
> >
> > ---
> >
> > Masami Hiramatsu (3):
> >        efi_selftest: Use EFI_SIMPLE_NETWORK_PROTOCOL::GetStatus() for media check
> >        efi_selftest: Do not check EFI_SIMPLE_NETWORK_RECEIVE_INTERRUPT
> >        efi_selftest: Recieve the packets until the receive buffer is empty
> >
> >
> >   lib/efi_selftest/efi_selftest_snp.c |   90 +++++++++++++++++++----------------
> >   1 file changed, 49 insertions(+), 41 deletions(-)
> >
> > --
> > Masami Hiramatsu <masami.hiramatsu at linaro.org>
> >
>


-- 
Masami Hiramatsu


More information about the U-Boot mailing list