From patchwork Wed Aug 20 11:23:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 8 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1755689045; bh=CFYs8lDNKvYgrlJw2j75Rvnc3Rt4D9hzhf1mWZxgzEU=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=myGbnp4XY8i1POR8j5lNZenxEsS0Phtvc/IC+7Goc3TCUUPcKCh+9VHXicxQGfH2w Xkleb25i4omuLpN+ID1OhLYUhZloWCc+8wCBBHw7p1kqOlDl2OaGAYvdUdYy5gjyIG L4eEMZfl3BcCLUmaApN/Q8RwJPXtqshWkhfmn3EekFY7vLNfcQWCGjZxBWyFq4yV6p OQeFcMCl51eD0gU73SuJIQdSeRaU1Ru8CAE7M70I8Jqq7VHL3NrXQfssKb7pSLQ3AV D11NxyT1ye3IpnbdMSPVdbw892dMzYKFUfsys0Z26ofP5sEXJAy9+tDqTiV8znzHmC eL2OBWFT1+R4g== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 0347267669 for ; Wed, 20 Aug 2025 05:24:05 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id NjFPlzxZ3WO7 for ; Wed, 20 Aug 2025 05:24:04 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1755689044; bh=CFYs8lDNKvYgrlJw2j75Rvnc3Rt4D9hzhf1mWZxgzEU=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=jlWPOobtqW0Abn7c4QNxKj70KErmJmag+nRmjvzjvOngAoQMPSZ3q371K0k+M+zpH PLa9xZQI06zoQrwiKr9AQe4cI4hVpTUjW9Diz+BFU56P9KgruoODvsXL2ffFJEWEGE cmWD3yKRz2+5K15RTfn0UncGjOQjDbLQTlQk8s7/xSgDADZ21V5sh6N7GqUSPzvlkF ZPI/OcoBJiFWWpkGZ+S+jdqFHgnXMfkqviF67PCHUpw2AptQSdefddEqxyxkde+X92 8OVYohSY4q1OP7NcMLJOd2cFcSQYmp+oVOqeExJLJWG+/LJMZfuAlxAFHkDXUIJenK LULWMq9atI+eA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E28FE67560 for ; Wed, 20 Aug 2025 05:24:04 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1755689043; bh=z0Y1OEYQn4J7XXGISmHS3yiO6+aTDD2MvJW3D32JR2E=; h=From:To:Cc:Subject:Date:From; b=qWoa/tiFwjnhHZYEsgmdUv2OPT1dL/MdlArYVixq1TxPU1eM8UTVxpKFQdQvdh017 Udiniv2Ax6oGiDMPca04LbG6+Ob2J9CWERhH72ck5C3OSf7sJkBAxJ7jN2lsx/2qr0 6eEkpeG9SHUqXFvCsGn/UzWvMFA7EBcugm4oi8zMa5CdreVXADGe2z6Yq0K+UYZFbX dBmgBpART2OkVCQU4378cp9uv59kdKi7I0v9/SYqTPXCoEXAKFjgtJzOdtAphoIlcw kSW6HAPNTkplO75Opj4/ZClUTtq1+SZDPF0eVvpUgbAfINNrKq9LoivNuVn2JPKFQh 9PuUVysTATtcQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6AEE867560; Wed, 20 Aug 2025 05:24:03 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id yWSyuNSD8AOv; Wed, 20 Aug 2025 05:24:03 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1755689043; bh=wmTEprQAOFdADk4FhVBZ/cMJmqG1Z6vplS7cm/Wpq6g=; h=From:To:Cc:Subject:Date:From; b=c5TcczQa8r3weK7NdMtk/vKl7d2ltYHHzbyh0Qn9gXfHABB4Q7l8bXEctrSr+j/5X XKSd8LMK8cSzbMGXxnxWQ+/8Ww/EDFV1UQIV4UX6frW0zgybaP2OUqSDgQK1bzPleo 8v5RAyn21S80vFM+5hvVCRqjAoKZu/HlU684/Rz9xxtrhViWJTkH9/5Bcf9CTg9w0U H/jo8mOR9AEuUd7b2hCU2NnBWeUhi3vg4a6nQd74nXFx0Bp1WuunBF58zxHyPiVidk cve9eXHwiTVRPMsw0eF5CHPBlwX8bv+nA9U8802tAi8LdybfbPCbkuEy5hfkncgyk5 R3+oNyxZerBPw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id D19026744B; Wed, 20 Aug 2025 05:24:02 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Wed, 20 Aug 2025 05:23:12 -0600 Message-ID: <20250820112340.147082-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: LAHTJCPLMMR5ZEYKZVARJLMXOMCXJO5L X-Message-ID-Hash: LAHTJCPLMMR5ZEYKZVARJLMXOMCXJO5L X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Heinrich Schuchardt , Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH v2 00/18] efi: Move towards the EFI app booting EFI applications List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass This series adds various new features to the EFI app, mostly by moving code over from the EFI loader implementation. In particular it adds support for the efidebug command (with only a subset of subcommands so far). The main approach is to make use of the system table (for both the app and the loader) instead of directly calling EFI-loader code. It also includes a few fixes, which likely have no effect but will help to avoid confusion in future. Changes in v2: - Mention the 'dh' subcommand - Mention that 'order' allows the boot order to be changed - Mention the eficonfig command and the underlying UEFI firmware Simon Glass (18): efi: Add missing break statements in dp_size() efi: Add missing break to dp_fill() efi: Update path_uefi() to avoid allowed_unaligned() efi: app: Support the efidebug command efi: app: Support efidebug memmap efi: app: Support efidebug show tables efi: app: Provide easy access to runtime services efi: Move a few helper functions into the common efi/ dir efi: Move some load-options handling into the common dir efi: Move FDT and global-variable GUIDs to common files efi: app: Implement efidebug boot dump efi: app: Find the device-path-to-text protocol on startup efi: app: Implement %pD in the app efi: Move efi_string utilities to the common directory efi: app: Use the same efi_free_pool() signature as loader efi: Move efi_load_option_dp_join() to a common file efi: app: Support efidebug boot add, rm and order efi: doc: Add documentation for efidebug command in the app cmd/Kconfig | 5 +- cmd/efidebug.c | 43 +++++++-- doc/develop/uefi/u-boot_on_efi.rst | 24 +++++ include/efi.h | 20 +++++ include/efi_loader.h | 11 --- lib/efi/Kconfig | 12 ++- lib/efi/Makefile | 3 + lib/efi/device_path.c | 20 +++-- lib/efi/helper.c | 88 +++++++++++++++++++ .../efi_load_options.c => efi/load_options.c} | 0 lib/{efi_loader/efi_string.c => efi/string.c} | 0 lib/efi_client/efi.c | 24 ++++- lib/efi_client/efi_app.c | 9 ++ lib/efi_client/efi_vars.c | 23 +++-- lib/efi_loader/Kconfig | 7 -- lib/efi_loader/Makefile | 2 - lib/efi_loader/efi_boottime.c | 7 +- lib/efi_loader/efi_helper.c | 77 ---------------- 18 files changed, 252 insertions(+), 123 deletions(-) create mode 100644 lib/efi/helper.c rename lib/{efi_loader/efi_load_options.c => efi/load_options.c} (100%) rename lib/{efi_loader/efi_string.c => efi/string.c} (100%)