From patchwork Sun Sep 23 20:03:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Graf X-Patchwork-Id: 147333 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp2065974ljw; Sun, 23 Sep 2018 13:03:25 -0700 (PDT) X-Google-Smtp-Source: ACcGV62SC2EYi3yeFpp7ZKUM5FQfbZ/L9B0xPLQdPU1bPv7f8I5y5QwSUn6hT6wSii7CUiHW8Wje X-Received: by 2002:a1c:dac9:: with SMTP id r192-v6mr5180324wmg.141.1537733005734; Sun, 23 Sep 2018 13:03:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537733005; cv=none; d=google.com; s=arc-20160816; b=K0NbqMW4wRPCopIBDa5gyLeQ3isL9Y/VSm4zdPrIE9ZAS87dypuAjpBuv8+LY+60ar m/MtfMle25ntaWM1cERmqTiKEUDXUd6c+iFw0ei6cNR40ba4fkYzsF+dx/EwBzkWp07B G0GGiIVAAwt6irwL/U4YkjOnx4HPi1D2Tjy0SzV2pF8/Z95U8UOtIqb3a8HzD648W6vd Hj+H/QfamYzpM+zNezt6EfKBXq3Qh7xjRifD3UtI4116yMyIJn8DlGm4P0ihyYsFTFWb k8SKxc+6lbv6dnxLY5G8LKPK8pGJHe/d7E6Pwcq+YJknXG+C63PO4G9ewV782DxDZylr ePww== 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=GOUPu+lJOZIEd6SB3v6N1a/OELtPMKP0dp5Iz5ixzp0=; b=ECCUyT0wK5REa+RqXA1VPTv52lsDICo8i7N41PXAuzHBjH9j3VpZnmVq0NufaONwgm qez/h0xet/jI+9YfYWGKSlNNDN5QCWKDGk5A3D+6pNptwR9TFMrzOBipDirDfoK44aU/ ZnmMvewT4rOo0P4QHdf81leC/+iCexoIIVKhioZQBeN62EqZgMaB2++VeUNvcej9nD9Y EBrb/Cdj/D0/c/F5w2rbw36UN/rZreP96bhxDsEbjrOiR1PFkkV4L3/0ixHV2fuCZPYd XM/HxWUfIU3u5cWSq55GAlZsFlGA0exuiePJnuHpEsayQCA/GLWDzGUvkP6CYES2EbSN cCdg== 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 a91-v6si537318wrc.109.2018.09.23.13.03.25; Sun, 23 Sep 2018 13:03:25 -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 F0B83C21EF1; Sun, 23 Sep 2018 20:03:24 +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 DF166C21CB1; Sun, 23 Sep 2018 20:03:20 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 79521C21CB1; Sun, 23 Sep 2018 20:03:19 +0000 (UTC) Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by lists.denx.de (Postfix) with ESMTPS id F4012C21C3F for ; Sun, 23 Sep 2018 20:03:18 +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 7CE95AF94; Sun, 23 Sep 2018 20:03:18 +0000 (UTC) From: Alexander Graf To: u-boot@lists.denx.de Date: Sun, 23 Sep 2018 22:03:18 +0200 Message-Id: <20180923200318.69028-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-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 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 c982874e930d5d673501cd94df07bcbd215d5883: efi_loader: refactor efi_setup_loaded_image() (2018-09-23 21:55:31 +0200) ---------------------------------------------------------------- Patch queue for efi - 2018-09-23 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 (7): 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 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 +- 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 ++++++ 79 files changed, 8022 insertions(+), 1224 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