mbox series

[U-Boot,v2,00/17] efi_loader: Simple Network Protocol

Message ID 20171005143607.25955-1-xypron.glpk@gmx.de
Headers show
Series efi_loader: Simple Network Protocol | expand

Message

Heinrich Schuchardt Oct. 5, 2017, 2:35 p.m. UTC
This patch series focuses on
* correction of parameter types for boot services
* fixes for the SetMem and CopyMem boot services
* fixes for the simple network protocol implementation (SNP)
* a unit test for SetMem, CopyMem and the simple network protocol

The unit test broadcasts a DHCPDISCOVER messager over the network and
receives the reply.

This patch series is based on
* efi-next tree
  https://github.com/agraf/u-boot/tree/efi-next
* [PATCH 1/1] efi_selftest: enable CONFIG_CMD_BOOTEFI_SELFTEST
  https://patchwork.ozlabs.org/patch/816412/
  This patch enables the unit test on qemu-x86_defconfig
* [PATCH 1/1] efi_loader: provide function comments for boot services
  https://patchwork.ozlabs.org/patch/817010/

---
v2
	Move efi_st_memcmp to a new module. We can reuse it in future
	tests.
	Use constants as return values.
	Reflect renaming of signaled to is_signaled for events.
---
Heinrich Schuchardt (17):
  efi_loader: call EFI_EXIT in efi_copy_mem, efi_set_mem
  efi_loader: parameters of CopyMem and SetMem
  efi_loader: pass GUIDs as const efi_guid_t *
  efi_loader: wrong type in wait_for_event
  efi_loader: incorrect definition of EFI_SIMPLE_NETWORK_PROTOCOL
  efi_loader: correct bits of receive_filters bit mask
  efi_loader: fill simple network protocol revision
  efi_loader: efi_net: hwaddr_size = 6
  efi_net: return EFI_UNSUPPORTED where appropriate
  efi_loader: use events for efi_net_receive
  efi_loader: implement WaitForPacket event
  efi_loader: fix efi_net_get_status
  efi_loader: size fields in SimpleNetworkProtocol
  efi_loader: fill return values in SimpleNetworkProtocol
  efi_selftest: correct definition of efi_st_error
  efi_selftest: allow printing MAC addresses
  efi_loader: supply EFI network test

 include/efi_api.h                       |  62 +++--
 include/efi_selftest.h                  |  15 +-
 lib/efi_loader/efi_boottime.c           |  54 ++--
 lib/efi_loader/efi_net.c                | 144 +++++++++--
 lib/efi_selftest/Makefile               |   8 +-
 lib/efi_selftest/efi_selftest_console.c |  41 ++-
 lib/efi_selftest/efi_selftest_events.c  |   2 +-
 lib/efi_selftest/efi_selftest_snp.c     | 424 ++++++++++++++++++++++++++++++++
 lib/efi_selftest/efi_selftest_tpl.c     |   2 +-
 lib/efi_selftest/efi_selftest_util.c    |  25 ++
 10 files changed, 702 insertions(+), 75 deletions(-)
 create mode 100644 lib/efi_selftest/efi_selftest_snp.c
 create mode 100644 lib/efi_selftest/efi_selftest_util.c

Comments

Alexander Graf Oct. 6, 2017, 12:08 p.m. UTC | #1
On 05.10.17 16:35, Heinrich Schuchardt wrote:
> This patch series focuses on
> * correction of parameter types for boot services
> * fixes for the SetMem and CopyMem boot services
> * fixes for the simple network protocol implementation (SNP)
> * a unit test for SetMem, CopyMem and the simple network protocol
> 
> The unit test broadcasts a DHCPDISCOVER messager over the network and
> receives the reply.
> 
> This patch series is based on
> * efi-next tree
>   https://github.com/agraf/u-boot/tree/efi-next
> * [PATCH 1/1] efi_selftest: enable CONFIG_CMD_BOOTEFI_SELFTEST
>   https://patchwork.ozlabs.org/patch/816412/
>   This patch enables the unit test on qemu-x86_defconfig
> * [PATCH 1/1] efi_loader: provide function comments for boot services
>   https://patchwork.ozlabs.org/patch/817010/

Looks quite good to me. I've applied them (with the modification I
suggested), running through tests and will push them to master if nobody
(human or machine) objects within the next 1-2 days.


Alex
Heinrich Schuchardt Oct. 6, 2017, 6:41 p.m. UTC | #2
On 10/06/2017 02:08 PM, Alexander Graf wrote:
> 
> 
> On 05.10.17 16:35, Heinrich Schuchardt wrote:
>> This patch series focuses on
>> * correction of parameter types for boot services
>> * fixes for the SetMem and CopyMem boot services
>> * fixes for the simple network protocol implementation (SNP)
>> * a unit test for SetMem, CopyMem and the simple network protocol
>>
>> The unit test broadcasts a DHCPDISCOVER messager over the network and
>> receives the reply.
>>
>> This patch series is based on
>> * efi-next tree
>>   https://github.com/agraf/u-boot/tree/efi-next
>> * [PATCH 1/1] efi_selftest: enable CONFIG_CMD_BOOTEFI_SELFTEST
>>   https://patchwork.ozlabs.org/patch/816412/
>>   This patch enables the unit test on qemu-x86_defconfig
>> * [PATCH 1/1] efi_loader: provide function comments for boot services
>>   https://patchwork.ozlabs.org/patch/817010/
> 
> Looks quite good to me. I've applied them (with the modification I
> suggested), running through tests and will push them to master if nobody
> (human or machine) objects within the next 1-2 days.
> 
> 
> Alex
> 

You moved setting is_signaled to efi_net_push.

181 static void efi_net_push(void *pkt, int len)
182 {
183         new_rx_packet = true;
184         wait_for_packet->is_signaled = true;
185 }

The code looks fine to me.

The selftest for the Simple Network Protocol correctly receives a DHCP
packet.

Thank you.

I just sent you a fix for efi_st_memcmp:
[PATCH 1/1] efi_selftest: efi_st_memcmp return difference of bytes

Best regards

Heinrich