From patchwork Wed Sep 26 16:11:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 147602 Delivered-To: patch@linaro.org Received: by 2002:a2e:8595:0:0:0:0:0 with SMTP id b21-v6csp912956lji; Wed, 26 Sep 2018 09:11:56 -0700 (PDT) X-Google-Smtp-Source: ACcGV63hN8cP5tBG661EpwAxcuz06tvQbyjdqU46D4LkBwlNfXTZJxnD+Y1yfznveRP1KptskHfI X-Received: by 2002:a50:9034:: with SMTP id b49-v6mr10906231eda.174.1537978316044; Wed, 26 Sep 2018 09:11:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537978316; cv=none; d=google.com; s=arc-20160816; b=OhvptqQHvpTOwz0BRuC28lZ6kFQITpHyo7pUsHVPNntZTZaQRDpW4UQsn1oNWmZeWr oV3KH49+8AAwpiqXzIaFv8SS1rX74PbBEJPQwUrOZI5xRzG8/HE8Z0wJcteI3OQPvMSp LhLMn0HeixyOSedUFLWierW2QsOUqEWUp/rEYyyjv8ZEGVZe5w27wHZ0b+mr7Ar2kAwD z904iTp7U6njBVZOSt7T57+uVbfDsjWXCZy5p5GxLAMkSg+Drw1eG0s++aLDB1OXnf9K SU5vwpwpz6U0cAC+IVE17doY8ssXEyZH4U/2x4cgH/k65igTFW6fN20WicPBpxz7qYsF sCtA== 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; bh=BFKxO+OOE9HAFK4/UB7fRcjNt/35nZaQeWnjdsF/ec8=; b=NiyKtNkZ1YO1HbLL38HnKBfqHAMq/9RYfiYtCPG0ZdA91XGn/7/YfaY+fZNqWkA9zX I6yo01Vpw7GEK/EGw42ydUHDxH8Mn4jho/erwADcdgiSExq0kXy6PpwS/xkqaPjUK2Y9 kEgpD8R2QPXXKiQk09KFNMVPFdNkpOuB7ftIBZRmDwpEMFELfdeFvevlVWDUugJSTE4j NCfLTscc9de85006xu7qqVj1gLySShUrPYjDzFA2gYVBvg3ITjfYH8UTbc31q3w4ixpP iJX0Ll+tPb0awAf6/jLEYmLSAkjKBZf6n+T//R6leMsUgrLm1fVvpa0R3SvdviOvIYdv vtbQ== 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 j1-v6si463387edq.304.2018.09.26.09.11.55; Wed, 26 Sep 2018 09:11:56 -0700 (PDT) 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 391C4C21E88; Wed, 26 Sep 2018 16:11:54 +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=none 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 50606C21C29; Wed, 26 Sep 2018 16:11:51 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 2489CC21C29; Wed, 26 Sep 2018 16:11:50 +0000 (UTC) Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by lists.denx.de (Postfix) with ESMTPS id 99ADAC21C27 for ; Wed, 26 Sep 2018 16:11:49 +0000 (UTC) X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 1C944B089; Wed, 26 Sep 2018 16:11:49 +0000 (UTC) From: Alexander Graf To: u-boot@lists.denx.de Date: Wed, 26 Sep 2018 18:11:47 +0200 Message-Id: <20180926161147.15582-1-agraf@suse.de> X-Mailer: git-send-email 2.12.3 Cc: trini@konsulko.com Subject: [U-Boot] [PULL] efi patch queue 2018-09-26 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 9dc8d155d4e88563f572ee79aab758eb4272f3fd: Merge git://git.denx.de/u-boot-imx (2018-09-19 20:35:27 -0400) 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 eaac4fb296b1899369e49d941f2c0d346c7f5c7a: sandbox: Fix set_working_fdt_addr users (2018-09-26 15:03:12 +0200) ---------------------------------------------------------------- Patch queue for efi - 2018-09-26 A lot of goodness in this release. We're *very* close to running the UEFI Shell and SCT natively. The only missing piece are HII protocols. - FAT write support (needed for SCT) - improved FAT directory support (needed for SCT) - RTC support with QEMU -M virt - Sandbox support (run UEFI binaries in Linux - yay) - Proper UTF-16 support - EFI_UNICODE_COLLATION_PROTOCOL support (for UEFI Shell) - EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL support (for UEFI Shell) - Fix window size determination - Fix Tegra by explicitly unmapping RAM - Clean up handle entanglement - Lots of generic code cleanup ---------------------------------------------------------------- AKASHI Takahiro (26): fs: fat: extend get_fs_info() for write use fs: fat: handle "." and ".." of root dir correctly with fat_itr_resolve() fs: fat: assure iterator's ->dent belongs to ->clust Revert "fs: fat: cannot write to subdirectories" fs: fat: check and normalize file name fs: fat: write returns error code instead of -1 fs: fat: support write with sub-directory path fs: fat: refactor write interface for a file offset fs: fat: support write with non-zero offset cmd: fat: add offset parameter to fatwrite fs: add mkdir interface fs: fat: remember the starting cluster number of directory fs: fat: support mkdir cmd: fat: add fatmkdir command efi_loader: file: support creating a directory fs: add unlink interface fs: fat: support unlink cmd: fat: add fatrm command efi_loader: implement a file delete fs-test: fix false positive error at Test Case 12 fs-test: update the test result as of v2018.09 test/py: convert fs-test.sh to pytest test/py: fs: add extended write operation test test/py: fs: add fstest/mkdir test rtc: pl031: convert the driver to driver model arm: qemu-arm: enable RTC (PL031) by default Akashi, Takahiro (1): test/py: fs: add fstest/unlink test Alexander Graf (8): efi_loader: Pass address to fs_read() efi_loader: Add console handle references to in/out/err sandbox: Fix setjmp/longjmp sandbox: Allow to execute from RAM efi_loader: Merge memory map entries efi_loader: Disable efi selftest on sandbox for now efi_loader: Fix loaded_image handle passing from EL3 sandbox: Fix set_working_fdt_addr users Heinrich Schuchardt (62): efi_selftest: memory leak testing manage protocols efi_loader: pass system table in loaded image protocol efi_selftest: test for loaded image protocol vsprintf.c: use #if CONFIG_IS_ENABLED(EFI_LOADER) test: print_ut.c use #if CONFIG_IS_ENABLED(EFI_LOADER) lib: build charset.o only if needed efi_loader: rename utf16_strlen, utf16_strnlen lib: charset: utility functions for Unicode test: unit tests for Unicode functions lib: vsprintf: correct printing of Unicode strings test: test printing Unicode efi_loader: remove limit on variable length efi_loader: don't use unlimited stack as buffer efi_loader: buffer size for load options lib: charset: remove obsolete functions efi_loader: fix typos in efi_boottime.c efi_loader: fix typos in efi_runtime.c efi_loader: description efi_update_capsule() efi_loader: use correct documentation style efi_loader: capitalization table lib: charset: upper/lower case conversion test: tests for utf_to_lower() utf_to_upper(). efi_loader: EFI_UNICODE_COLLATION_PROTOCOL efi_selftest: EFI_UNICODE_COLLATION_PROTOCOL test/py: test EFI_SIMPLE_TEXT_INPUT_PROTOCOL test/py: typo occured efi_loader: struct efi_simple_text_input_protocol efi_loader: SPDX-License-Identifier for efi_api.h efi_loader: SPDX-License-Identifier for efi.h efi_loader: typos in efi_console.c efi_loader: support Unicode text input test/py: Unicode w/ EFI_SIMPLE_TEXT_INPUT_PROTOCOL efi_selftest: refactor text input test efi_loader: rework event handling for console efi_selftest: use WaitForKey to test text input test/py: rework test_efi_selftest_text_input() efi_loader: EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL efi_loader: support modifiers for F1 - F4 efi_selftest: test EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL test/py: test EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL efi_loader: implement key notify functions efi_selftest: test key notification functions efi_loader: unset CONFIG_EFI_UNICODE_CAPITALIZATION efi_loader: check parameters of efi_file_open() efi_loader: provide description of file_open() fs: fat: unaligned buffers are not an error efi_loader: loosen check of parameters of efi_file_open() efi_loader: more debug info for efi_file_getinfo() efi_loader: terminal left upper corner is [1, 1] efi_loader: check parameter new_handle of efi_file_open() efi_selftest: missing braces in efi_selftest_textinputex.c efi_loader: do not use local variable for handle efi_loader: memory leak in efi_set_bootdev() efi_loader: query serial console size reliably efi_driver: convert function descriptions to Sphinx style efi_selftest: test qemu-arm(64)_defconfig efi_loader: avoid out of bound access in efi_get_variable() efi_loader: create root node efi_loader: remove redundant statement dm: video: check bounds for column and row efi_loader: remove efi_exit_caches() efi_loader: refactor efi_setup_loaded_image() Simon Glass (9): efi: Relocate FDT to 127MB instead of 128MB efi: sandbox: Tidy up copy_fdt() to work with sandbox efi: sandbox: Add distroboot support efi: sandbox: Enable EFI loader build for sandbox sandbox: Align RAM buffer to the machine page size sandbox: Add support for calling abort() sandbox: Enhance map_to_sysmem() to handle foreign pointers efi: Correct the operation of efi_file_write() efi: sandbox: Enable selftest command Stephen Warren (3): efi_loader: simplify ifdefs ARM: tegra: reserve unmapped RAM so EFI doesn't use it Revert "Revert "efi_loader: efi_allocate_pages is too restrictive"" MAINTAINERS | 4 + arch/arm/Kconfig | 2 + arch/arm/cpu/armv8/fsl-layerscape/cpu.c | 2 +- arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 2 +- arch/arm/mach-tegra/board2.c | 14 + arch/sandbox/cpu/cpu.c | 153 +- arch/sandbox/cpu/os.c | 27 +- arch/sandbox/cpu/state.c | 8 + arch/sandbox/include/asm/setjmp.h | 5 + arch/sandbox/include/asm/state.h | 21 + arch/x86/lib/e820.c | 4 +- cmd/bootefi.c | 187 +- cmd/fat.c | 34 +- common/bootm.c | 2 +- common/image-fdt.c | 2 +- configs/qemu_arm64_defconfig | 1 + configs/qemu_arm_defconfig | 1 + configs/sandbox_defconfig | 1 + configs/vf610twr_defconfig | 1 + configs/vf610twr_nand_defconfig | 1 + drivers/rtc/pl031.c | 126 +- drivers/serial/serial_efi.c | 2 +- drivers/video/vidconsole-uclass.c | 8 + fs/fat/fat.c | 67 +- fs/fat/fat_write.c | 1185 +++++++----- fs/fs.c | 87 + include/capitalization.h | 2028 +++++++++++++++++++++ include/charset.h | 195 +- include/config_distro_bootcmd.h | 16 +- include/configs/qemu-arm.h | 3 - include/cp1250.h | 40 + include/cp437.h | 40 + include/efi.h | 1 + include/efi_api.h | 123 +- include/efi_loader.h | 59 +- include/efi_selftest.h | 18 +- include/fat.h | 4 + include/fs.h | 22 + include/os.h | 21 +- include/test/suites.h | 3 +- lib/Makefile | 5 + lib/charset.c | 397 +++- lib/efi_driver/efi_uclass.c | 86 +- lib/efi_loader/Kconfig | 12 +- lib/efi_loader/Makefile | 16 +- lib/efi_loader/efi_bootmgr.c | 2 +- lib/efi_loader/efi_boottime.c | 177 +- lib/efi_loader/efi_console.c | 650 ++++++- lib/efi_loader/efi_device_path.c | 4 - lib/efi_loader/efi_device_path_to_text.c | 10 +- lib/efi_loader/efi_file.c | 88 +- lib/efi_loader/efi_image_loader.c | 23 +- lib/efi_loader/efi_memory.c | 47 +- lib/efi_loader/efi_root_node.c | 79 + lib/efi_loader/efi_runtime.c | 17 +- lib/efi_loader/efi_unicode_collation.c | 329 ++++ lib/efi_loader/efi_variable.c | 52 +- lib/efi_selftest/Kconfig | 2 +- lib/efi_selftest/Makefile | 3 + lib/efi_selftest/efi_selftest_console.c | 2 +- lib/efi_selftest/efi_selftest_loaded_image.c | 108 ++ lib/efi_selftest/efi_selftest_manageprotocols.c | 21 +- lib/efi_selftest/efi_selftest_textinput.c | 136 +- lib/efi_selftest/efi_selftest_textinputex.c | 198 ++ lib/efi_selftest/efi_selftest_unicode_collation.c | 260 +++ lib/efi_selftest/efi_selftest_util.c | 93 + lib/vsprintf.c | 29 +- scripts/config_whitelist.txt | 1 - test/Kconfig | 8 + test/Makefile | 1 + test/cmd_ut.c | 13 +- test/fs/fs-test.sh | 24 +- test/print_ut.c | 6 +- test/py/tests/test_efi_selftest.py | 151 +- test/py/tests/test_fs/conftest.py | 392 ++++ test/py/tests/test_fs/fstest_defs.py | 13 + test/py/tests/test_fs/test_basic.py | 287 +++ test/py/tests/test_fs/test_ext.py | 224 +++ test/py/tests/test_fs/test_mkdir.py | 112 ++ test/py/tests/test_fs/test_unlink.py | 109 ++ test/unicode_ut.c | 543 ++++++ 81 files changed, 8024 insertions(+), 1226 deletions(-) create mode 100644 include/capitalization.h create mode 100644 include/cp1250.h create mode 100644 include/cp437.h create mode 100644 lib/efi_loader/efi_root_node.c create mode 100644 lib/efi_loader/efi_unicode_collation.c create mode 100644 lib/efi_selftest/efi_selftest_loaded_image.c create mode 100644 lib/efi_selftest/efi_selftest_textinputex.c create mode 100644 lib/efi_selftest/efi_selftest_unicode_collation.c create mode 100644 test/py/tests/test_fs/conftest.py create mode 100644 test/py/tests/test_fs/fstest_defs.py create mode 100644 test/py/tests/test_fs/test_basic.py create mode 100644 test/py/tests/test_fs/test_ext.py create mode 100644 test/py/tests/test_fs/test_mkdir.py create mode 100644 test/py/tests/test_fs/test_unlink.py create mode 100644 test/unicode_ut.c