From patchwork Tue Jan 23 10:12:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 125492 Delivered-To: patch@linaro.org Received: by 10.46.66.141 with SMTP id h13csp1661895ljf; Tue, 23 Jan 2018 02:12:27 -0800 (PST) X-Google-Smtp-Source: AH8x224QUiC5Mv7tb54joR7Q//RxX+yYlAwnVpE/DLraKmOY1MtDpp7Kp5q29z2yOGi8X4lovbox X-Received: by 10.80.245.172 with SMTP id u41mr18377608edm.215.1516702347769; Tue, 23 Jan 2018 02:12:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516702347; cv=none; d=google.com; s=arc-20160816; b=I+JECadnCxs94fipHFgn1gk21/wu8xwH4wae/zNYIrUEen+1TKmJETb7vKwk+K69Jb AqqyhEBGEp/6nMR+kxCHo+dmAFvHNPRWG5EIKZqZw4yd7nqUwpc4G9dJe/D2RWDwkpvB VMa2uymhBvHjhydWMD9FLTFKnyGxPsiOJJ8LVsdqSvZfl7qwdcHE0LtYbwqhU8PFWQs3 Yenv0LdPhuFNO+V7haK/KoitvziAwC8JSLE83fHy5wU9Y1MCWGSVzgu8Aq+eOK7JYi3i FD99U2lpM2gqfwceCIlcjQPw9NSWasm4J7BIUpj0HpXfVSa2cPtK+fiW9R66LgNOKxwL +cOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:message-id:date:to:from :arc-authentication-results; bh=0oZ6wvf5rbcxDcWxY7nBQ5fFDYTKMsEfrH9WMKazUaU=; b=JYB8LWyiBhaALwMtWEag/mspRQtjXUhrZGO2qgodEAA0UhrQNM5rzvFT0aSk2nmhwc 5vY48OtWJjSvCGpDAJGci1BGgKhc50EewCu8Hpcrx7zwwK39VuVdzApVX0QjGY785j+w frNvoE7ctvmT4gWudqBsTkMWiJ16mWge107tMSQiR6X1A8Ixs/jqH19w/YCFzr2BmhZK Ms/gthZFu0cikpJ7ReU87e6KtefMISAJEh5nuCzlinx78R5cg6H0y+Glz6xUCg2dzjnN sWR2fGbgZOj5G9ezWeHury/uYTkpDmasrDq80YWVr4SGCtAy8JIB7HEn27dABlI8JGyl CB9A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Return-Path: Received: from lists.denx.de (dione.denx.de. [81.169.180.215]) by mx.google.com with ESMTP id j90si196132edb.474.2018.01.23.02.12.27; Tue, 23 Jan 2018 02:12:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) client-ip=81.169.180.215; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by lists.denx.de (Postfix, from userid 105) id 5080FC22132; Tue, 23 Jan 2018 10:12:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_IN_DNSWL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id A6818C21E3B; Tue, 23 Jan 2018 10:12:23 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6F074C21E3B; Tue, 23 Jan 2018 10:12:21 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by lists.denx.de (Postfix) with ESMTPS id 07462C21DE5 for ; Tue, 23 Jan 2018 10:12:21 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 81AB7AEF7; Tue, 23 Jan 2018 10:12:20 +0000 (UTC) From: Alexander Graf To: u-boot@lists.denx.de Date: Tue, 23 Jan 2018 11:12:19 +0100 Message-Id: <20180123101219.78061-1-agraf@suse.de> X-Mailer: git-send-email 2.12.3 Cc: Tom Rini , Heinrich Schuchardt Subject: [U-Boot] [PULL] efi patch queue 2018-01-23 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Hi Tom, This is my current patch queue for efi. Please pull. Alex The following changes since commit 485c13c7536731991c59f7b3432bc33c9dafb0f0: Merge git://git.denx.de/u-boot-dm (2018-01-21 20:13:29 -0500) are available in the git repository at: git://github.com/agraf/u-boot.git tags/signed-efi-next for you to fetch changes up to 003876d4694f1bfdfe6ff9ff0799fda9257cb652: efi_selftest: reduce noise in test output for device trees (2018-01-22 23:10:20 +0100) ---------------------------------------------------------------- Patch queue for efi - 2018-01-23 This time around we have a lot of EFI patches from Heinrich. Highlights are: - Allow EFI applications to register as drivers - Allow exposure of U-Boot block devices from an EFI payload - Compatibility improvements ---------------------------------------------------------------- Heinrich Schuchardt (51): efi_loader: create full device path for block devices efi_loader: support device path for IDE and SCSI disks efi_loader: use wide string do define firmware vendor efi_loader: add comments to memory functions efi_loader: use correct format string for unsigned long efi_selftest: avoid superfluous messages for event services efi_selftest: avoid superfluous messages for task priority levels efi_selftest: do not cut off u16 strings when printing MAINTAINERS: correct entry for lib/efi*/ efi_loader: text output for device path end node vsprintf.c: add EFI device path printing efi_loader: correctly call images tools: provide a tool to convert a binary file to an include efi_selftest: colored test output efi_loader: simplify efi_remove_all_protocols efi_selftest: do not try to close device path protocol efi_loader: list of open protocol infos efi_loader: open_info in OpenProtocol efi_loader: open_info in CloseProtocol efi_loader: implement OpenProtocolInformation efi_loader: debug output installed device path efi_loader: implement ConnectController efi_loader: fix signature of efi_disconnect_controller efi_loader: implement DisconnectController efi_loader: disconnect controllers in UninstallProtocol efi_selftest: remove todo in manage protocols efi_selftest: remove todo in device path test efi_selftest: test for (Dis)ConnectController efi_loader: consistently use efi_handle_t for handles efi_loader: return NULL from device path functions efi_loader: address of the simple file system protocol efi_loader: correct find simple file system protocol efi_loader: print device path when entering efi_load_image efi_loader: allocate correct memory type for EFI image efi_loader: check tables in helloworld.efi efi_loader: fix StartImage bootservice efi_loader: efi_disk_register: correctly determine if_type_name efi_loader: make efi_block_io_guid a global symbol efi_loader: provide a function to create a partition node efi_loader: make efi_disk_create_partitions a global symbol efi_loader: correct EFI_BLOCK_IO_PROTOCOL definitions efi_loader: provide function to get last node of a device path efi_loader: add check_tpl parameter to efi_signal_event efi_loader: fix ExitBootServices efi_selftest: test start image efi_loader: store DT in EFI_RUNTIME_SERVICES_DATA memory efi_selftest: add missing LF in test output efi_driver: EFI block driver efi_selftest: provide a test for block io efi_loader: allow creation of more device part nodes efi_selftest: reduce noise in test output for device trees MAINTAINERS | 3 +- arch/arm/lib/Makefile | 1 + cmd/bootefi.c | 17 +- drivers/block/blk-uclass.c | 4 +- examples/api/Makefile | 3 + include/blk.h | 1 + include/config_fallbacks.h | 1 + include/dm/uclass-id.h | 1 + include/efi_api.h | 81 +- include/efi_driver.h | 30 + include/efi_loader.h | 59 +- include/efi_selftest.h | 27 +- lib/Makefile | 1 + lib/efi_driver/Makefile | 13 + lib/efi_driver/efi_block_device.c | 210 ++++++ lib/efi_driver/efi_uclass.c | 330 +++++++++ lib/efi_loader/efi_boottime.c | 854 +++++++++++++++++++--- lib/efi_loader/efi_console.c | 20 +- lib/efi_loader/efi_device_path.c | 284 ++++++- lib/efi_loader/efi_device_path_to_text.c | 16 + lib/efi_loader/efi_disk.c | 137 ++-- lib/efi_loader/efi_image_loader.c | 72 +- lib/efi_loader/efi_memory.c | 44 +- lib/efi_loader/helloworld.c | 26 + lib/efi_selftest/.gitignore | 2 + lib/efi_selftest/Makefile | 40 + lib/efi_selftest/efi_selftest.c | 25 +- lib/efi_selftest/efi_selftest_block_device.c | 395 ++++++++++ lib/efi_selftest/efi_selftest_console.c | 25 +- lib/efi_selftest/efi_selftest_controllers.c | 385 ++++++++++ lib/efi_selftest/efi_selftest_devicepath.c | 71 +- lib/efi_selftest/efi_selftest_disk_image.h | 69 ++ lib/efi_selftest/efi_selftest_events.c | 8 +- lib/efi_selftest/efi_selftest_manageprotocols.c | 22 +- lib/efi_selftest/efi_selftest_miniapp_exit.c | 37 + lib/efi_selftest/efi_selftest_miniapp_return.c | 32 + lib/efi_selftest/efi_selftest_startimage_exit.c | 149 ++++ lib/efi_selftest/efi_selftest_startimage_return.c | 149 ++++ lib/efi_selftest/efi_selftest_tpl.c | 15 +- lib/vsprintf.c | 47 +- test/print_ut.c | 37 + tools/.gitignore | 1 + tools/Makefile | 3 + tools/file2include.c | 106 +++ 44 files changed, 3508 insertions(+), 345 deletions(-) create mode 100644 include/efi_driver.h create mode 100644 lib/efi_driver/Makefile create mode 100644 lib/efi_driver/efi_block_device.c create mode 100644 lib/efi_driver/efi_uclass.c create mode 100644 lib/efi_selftest/.gitignore create mode 100644 lib/efi_selftest/efi_selftest_block_device.c create mode 100644 lib/efi_selftest/efi_selftest_controllers.c create mode 100644 lib/efi_selftest/efi_selftest_disk_image.h create mode 100644 lib/efi_selftest/efi_selftest_miniapp_exit.c create mode 100644 lib/efi_selftest/efi_selftest_miniapp_return.c create mode 100644 lib/efi_selftest/efi_selftest_startimage_exit.c create mode 100644 lib/efi_selftest/efi_selftest_startimage_return.c create mode 100644 tools/file2include.c