From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heinrich Schuchardt Date: Sun, 27 Aug 2017 00:51:01 +0200 Subject: [U-Boot] [PATCH 00/23] efi_loader implement missing functions Message-ID: <20170826225110.7381-1-xypron.glpk@gmx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This patch sequence contains all patches needed to load iPXE and use it for downloading and executing images via https or http or to mount iSCSI volumes. Network speed on an Odroid C2 reached 30 MB/s which should be enough for most use cases. I have tested the following iPXE commands successfully * dhcp * route * ntp * sanhook iSCSI-target * chain http-target * kernel http-target * boot (after calling kernel) * exit * reboot The only adjustment in iPXE was adding file src/config/local/nap.h with #undef NAP_EFIX86 #undef NAP_EFIARM #define NAP_NULL and src/config/local/myscript.ipxe with #!ipxe shell before building iPXE with make bin-arm64-efi/snp.efi EMBED=config/local/myscript.ipxe The next task will be to put iXPE binaries on a server and to create Travis CI test cases. Heinrich Schuchardt (23): efi_loader: allow return value in EFI_CALL efi_loader: notify when ExitBootServices is invoked efi_loader: support 16 protocols per efi_object efi_loader: rework efi_locate_handle efi_loader: rework efi_search_obj efi_loader: new function efi_search_protocol efi_loader: simplify efi_install_protocol_interface efi_loader: allow creating new handles efi_loader: simplify efi_uninstall_protocol_interface efi_loader: open_info in OpenProtocol efi_loader: open_info in CloseProtocol efi_loader: implement OpenProtocolInformation efi_loader: non-static efi_open_protocol, efi_close_protocol efi_loader: pass GUIDs as const efi_guid_t * efi_loader: implement ConnectController efi_loader: implement DisconnectController efi_loader: efi_net: hwaddr_size = 6 efi_net: return EFI_UNSUPPORTED where appropriate efi_loader: correct bits of receive_filters bit mask efi_loader: use events for efi_net_receive efi_loader: fix efi_net_get_status efi_loader: set parent handle in efi_load_image efi_loader: implement SetWatchdogTimer cmd/bootefi.c | 1 + include/efi_api.h | 83 +++-- include/efi_loader.h | 38 ++- lib/efi_loader/Makefile | 2 +- lib/efi_loader/efi_boottime.c | 729 ++++++++++++++++++++++++++++++++---------- lib/efi_loader/efi_net.c | 57 +++- lib/efi_loader/efi_watchdog.c | 58 ++++ 7 files changed, 763 insertions(+), 205 deletions(-) create mode 100644 lib/efi_loader/efi_watchdog.c -- 2.14.1