From patchwork Fri Feb 20 21:32:26 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1916 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=1771623175; bh=WJgNvsmqaKeVZKXFF66ozAGVh8h5SBNgwiNXO0Cdv7g=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=WRWJPcnoAn4GCJ/Tm3aK22Bd1oKJclovUsLH+zGbq+aJHqDuy8trC66cZ4bwbvnSZ eW+m1LO0JZ7AuvKopsjy/n/YaB528QZ/vz0J/W21XHNnIgueANqm6bEzAJXOsXG+v3 rHMJWp7Yoa8LpaKCJmdejw1kWMpsT1uWeUnNrvFItYFdL4fQbr3hvDCa12gPYUKthy pePmFbXrhiVafVf2omrP+mLWxbcQnaePYZUkuvi3HhymybihkLxa2rziHReBIJ0FEp I1is3t88UDd9l0pp+FJZ+hL9nRPSGujc+fn9O6g6hvS/flEaccJKg5pS56H4/zblNa kpnZnhup4USsQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 0A24469CCB for ; Fri, 20 Feb 2026 14:32:55 -0700 (MST) 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 7VUmgq9gabZW for ; Fri, 20 Feb 2026 14:32:54 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623174; bh=WJgNvsmqaKeVZKXFF66ozAGVh8h5SBNgwiNXO0Cdv7g=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=PEbALBX9W0xbTyQ3MKUgrSZEo59FqsCgq9AF22fGrMjZDL+xJRHBlZ4S52MPpymMr 7bGQk8RkTcFGUxFfQkhI0Yoy6WdOJxTTBBDFolIk54zdxegYicW3T8zGx7UgZ6Jv4t YNbnDQyHI51Xteoh6NJaVLEusPEEH6lPZf1SnjqJ9eNwQckyK0G48KLSd08uX0JfYw LtB7zJnKU0wlQhNoMSvGCcP/mhlv6XIWGaRuYWWcdUFTp/X968kfAuGIQfTtz6jYaw T3auvvOipByflIVKYHR5NXvpuDM3LeVZOegPtO+csEiT1quoFv+/R61025vysZN1Ea FodR0gXJ7Ed/Q== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id EDD7369CC9 for ; Fri, 20 Feb 2026 14:32:54 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623173; bh=sTkhVivJ+vBQUbTUn704kY2Cl3Skinr59qOmfinzhZk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=A8jFfbXMHe8L02zvBVo1Vr73sOYQd7c40NPn1+u3CbvX89wz6lAUdrzP2opwFqzDX Sra0+eJFX9YH952J740ciO/ElhIpre/T3eJExcJ9XMqcj99Pel4Tk4dAi60FOCCMna YZ1glXsPQVU/2nnW/ZltEirWIGu7FR32JCmgn8PNnZ+sP2AJizrvUKJGQLErzEYiby 0KuMXAG2IOqoyJa1oVC1C6DWe2GywD01LlJWfi8sSQKCE1tJ/0x+96EWXghNzs32ua LdN7uWbyNrR5qoQABhNuMmnPFuO4VTYxXLAIcf9b2vjEq8+BAePjBLlj6Rp7pVMcVd PHGFM/7OytqZg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 7115869CB2; Fri, 20 Feb 2026 14:32:53 -0700 (MST) 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 wL10-sHtOp7o; Fri, 20 Feb 2026 14:32:53 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623169; bh=QaWMCuSjWfG7A6bm2LGw8HvUrtvWiWS0S9RvwxETrUw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C8SMEUcJw3FzrD9ej1/oIf+mf+Uo3EShYbGHYBc8vrmdXmE65c+d77JDwcQRr40vo KhpqzTFrIJRMBU+tOn5z9xK2qYTiVHqE4gV7qtwStaINfvbmUIz1vfiIct0BOGhIgs jp6U4zjiEYxh7ZqnbZVdXaUMyFlNRS6/nhZYQ/CNoou5BJiSuM2PUcvKAsxGLpCiRb 9s1UkdcQhH06BWpS4dqdlkwdj84vRHNsF/cZWeVihOdYt6pvCUaOHVYSn7NSlsgm+3 7S4qyue1H5gndatEf28/YjqHwm5hwbCafrOQ3X3/DaSpiDaiZY8qf0bqTGf+jMC5cl QpyGQWBlbvZxQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 685A469CC6; Fri, 20 Feb 2026 14:32:49 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 20 Feb 2026 14:32:26 -0700 Message-ID: <20260220213235.2112347-2-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260220213235.2112347-1-sjg@u-boot.org> References: <20260220213235.2112347-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: BRHP6TBDYNDBY7YFW44O73TQBJMLHS7N X-Message-ID-Hash: BRHP6TBDYNDBY7YFW44O73TQBJMLHS7N 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 , "Claude Opus 4 . 6" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 1/6] docker: Install UEFI firmware packages 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 Install UEFI firmware packages needed to run EFI application boards under QEMU in CI: - ovmf: OVMF 64-bit firmware for efi-x86_app64 - ovmf-ia32: OVMF 32-bit firmware for efi-x86_app32 - qemu-efi-aarch64: AAVMF firmware for efi-arm_app64 - qemu-efi-riscv64: EDK2 RISC-V firmware for efi-riscv_app64 The ovmf-ia32 and qemu-efi-riscv64 packages are installed from Noble since the Jammy versions are missing or incomplete (Jammy's ovmf-ia32 only provides the secure-boot variant of the firmware, which causes a boot timeout). Co-developed-by: Claude Opus 4.6 Signed-off-by: Simon Glass --- tools/docker/Dockerfile | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 90ad3708101..7aa9e0a22bd 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -118,10 +118,12 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ net-tools \ ninja-build \ openssl \ + ovmf \ picocom \ parted \ pkg-config \ python-is-python3 \ + qemu-efi-aarch64 \ python2.7 \ python3 \ python3-dev \ @@ -146,6 +148,14 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ xxd \ zip +# Install edk2 packages from Noble (not available or incomplete in Jammy) +RUN for pkg in ovmf-ia32 qemu-efi-riscv64; do \ + wget -O /tmp/${pkg}.deb \ + http://security.ubuntu.com/ubuntu/pool/universe/e/edk2/${pkg}_2024.02-2ubuntu0.7_all.deb && \ + dpkg-deb -x /tmp/${pkg}.deb / && \ + rm /tmp/${pkg}.deb; \ + done + # Make kernels readable for libguestfs tools to work correctly RUN chmod +r /boot/vmlinu* From patchwork Fri Feb 20 21:32:27 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1917 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=1771623177; bh=FMdqFZ+YSXPxBCgdCmb0sTwVzuyZ+ktXe62KDZ6CJ30=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=t/3M1Bws1vLjdzjx3uzVI5EbxihXTSyHSdlA2TYizwUK2BGtapk9JxPwv8WGXi5ly ErS2sL6dR/IAYk56yHPZVowmDnLTY5pxBlAN2Jinde8A8SRM2OWX4OkaaPEzBTSI1t bqVX/UX5OeI5EzIx27oG6w/rxxAC8Xef1gRMv/mU2E3Lz5/MLO5scchkKV3TBSzO/w EyJA07XZdF3/dJ1dP1VeKnqfg8Nhoe7C7QHUDVuoqNNGLTLX/2Z0YCkvJ67vDVa+Q4 /rbgm6kg8YHLdWvQROr2A7psyohTEhKyHSxvfqV940oAwrqETtPRz0MsGrXRyYKHZP g61llpCmIRoFw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 71F5369CD0 for ; Fri, 20 Feb 2026 14:32:57 -0700 (MST) 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 MjUklkGPKF_4 for ; Fri, 20 Feb 2026 14:32:57 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623176; bh=FMdqFZ+YSXPxBCgdCmb0sTwVzuyZ+ktXe62KDZ6CJ30=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=ZO8OiUYu2A2FqYhHoLbMYJ0deAA0s+v4h1PoTTEQ6tJ3YajkBNPATShOTgsYOBByw Se3QfDsO9FPrOPUmSd8yjPcJzGKNfLk6v7nNYvRN8efBy4//ZnBHGwI/W2fD4Dn4nV uvKqT2p9/VhN7pzAEmL8f60i1cAeGlcWnuxuS0zYvLS0cd1fWkYq/+cF5b4ib4ZWOp d+LSV27HNu6B2LPoIAgWFN5aoXSh38h476HUUHjaKSun+WGdNtUjLvR00/l2h3SBZB uW73Gs667Lt2apsaJfao2jiXjvpyRZVyMY30Ry37V+AghlCPfUebNqljCz/TNSiFp+ jhRpGRfqt7d7g== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6BE7469CC8 for ; Fri, 20 Feb 2026 14:32:56 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623174; bh=NpnxFx8bQSDvcrPrpKswB2+VUFHjvBP5CA6yqIOvn/k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HZCucWQtmtXJqrNDOc8f50p+wrUe/qDESKiABXlS4gYgptANo2IIXhjEfNne8m1Kj yLkOQVZ7N9X44iZMA7hcZ4+fv1xS2m5o1XcqdGveQswC2kmZYuPRtJx13J3Q82Gw5X YBZVMkiOLOHUtzG9suRWPutYfUtA9aqTUUOOQwruZR9SSG+jfFmFUm22wW6gRkzZn5 dfgN9WDoJzVZyV7tR5rxZ1LsapOmzWmINm+6A0YkCzfvcX+4oJEtAWH7Y0Fadk0+3I o44iWMPYSMLXKodv3vzFmXGZuKGFGdHf01CJPg6W/vtKciW07jxbio4MMdMxRO9D6a iJwHb+d5Ds2ag== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6845069CC8; Fri, 20 Feb 2026 14:32:54 -0700 (MST) 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 W2fPPdWHyokw; Fri, 20 Feb 2026 14:32:54 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623174; bh=5ujXxBjYHX3lC2a2zrgfJActzWzZKMDQimDLfpGWrp0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fhTVkNERxIUNE+6ZLqHpVApq/00rDrH3h6Y2Yyd06hGBe7lGuSXlLBrBYb11cllgG 4Cjt2sznm9h0VcEdf+BfI6gArhpeYQf1capms5CHxKlUjQ/fBdrrp7NqKS63fPvCCz y8qXBMrAWr2e5dRJodzz+PL7pJoQxW2v4TIckaAvP7CQfYLmlov0dH4K9UdV782O4i kY9Kp/koAVadaefMx5I3QxcRjTYMlseliSyd/8OO/huluEUlBYA2vjAvI1KLE6HM1V +/t3+FkPbBI0Dp2V+bKLqWQ8yhVof0BMFg20GhoM3Vtqy+XDijrtojVidO3Xdg3S1P DPhAwlavfuznQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id B624669CC6; Fri, 20 Feb 2026 14:32:53 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 20 Feb 2026 14:32:27 -0700 Message-ID: <20260220213235.2112347-3-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260220213235.2112347-1-sjg@u-boot.org> References: <20260220213235.2112347-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: Q5YM3KOO6IVXCXB6XRDRSTYR333DAIGX X-Message-ID-Hash: Q5YM3KOO6IVXCXB6XRDRSTYR333DAIGX 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 , "Claude Opus 4 . 6" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 2/6] test: Add QEMU helper for EFI application boards 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 EFI application boards (efi-x86_app32, efi-x86_app64, efi-arm_app64, efi-riscv_app64) build U-Boot as an EFI application that runs under UEFI firmware. They cannot boot directly like normal QEMU boards, so the test framework needs two changes: Add qemu.efi_app, a helper script sourced by console.qemu that stages the EFI binary, a startup.nsh script and a writable copy of the UEFI firmware variables, then adds the appropriate pflash and FAT drive arguments. It supports both standard pflash drives and the blockdev-style pflash needed by the RISC-V virt machine. In conftest.py, skip ensure_spawned() for tests marked with @pytest.mark.localqemu. These tests launch their own QEMU instance, so the framework must not attempt to boot the board itself, which would fail for EFI boards and abort the entire test session. Co-developed-by: Claude Opus 4.6 Signed-off-by: Simon Glass --- test/hooks/bin/qemu.efi_app | 45 +++++++++++++++++++++++++++++++++++++ test/py/conftest.py | 4 ++++ 2 files changed, 49 insertions(+) create mode 100644 test/hooks/bin/qemu.efi_app diff --git a/test/hooks/bin/qemu.efi_app b/test/hooks/bin/qemu.efi_app new file mode 100644 index 00000000000..c0c40108f79 --- /dev/null +++ b/test/hooks/bin/qemu.efi_app @@ -0,0 +1,45 @@ +# SPDX-License-Identifier: MIT +# Copyright 2026 Canonical Ltd. +# Written by Simon Glass +# +# Helper script sourced by console.qemu for EFI-application boards. +# +# Sets up a staging directory with: +# - u-boot-app.efi copied from the build directory +# - startup.nsh that launches the EFI app +# - a writable copy of the UEFI firmware variables file +# +# Required variables (set by the board conf.*): +# efi_app_binary - name of the EFI app (default: u-boot-app.efi) +# efi_fw_code - path to UEFI firmware code (pflash, read-only) +# efi_fw_vars - path to UEFI firmware vars (pflash template) +# +# Optional: +# efi_use_blockdev - set to "y" for machines that need blockdev-style +# pflash (e.g. RISC-V virt) +# efi_virtio_blk - set to "y" to use virtio-blk for the FAT drive + +efi_app_binary="${efi_app_binary:-u-boot-app.efi}" + +efi_stage="${U_BOOT_BUILD_DIR}/efi_stage" +rm -rf "${efi_stage}" +mkdir -p "${efi_stage}" + +cp "${U_BOOT_BUILD_DIR}/${efi_app_binary}" "${efi_stage}/" +printf 'fs0:%s\n' "${efi_app_binary}" > "${efi_stage}/startup.nsh" +cp "${efi_fw_vars}" "${efi_stage}/vars.fd" + +if [ "${efi_use_blockdev}" = "y" ]; then + ARGS+=" -blockdev node-name=pflash0,driver=file,read-only=on,filename=${efi_fw_code}" + ARGS+=" -blockdev node-name=pflash1,driver=file,filename=${efi_stage}/vars.fd" +else + ARGS+=" -drive if=pflash,format=raw,file=${efi_fw_code},readonly=on" + ARGS+=" -drive if=pflash,format=raw,file=${efi_stage}/vars.fd" +fi + +if [ "${efi_virtio_blk}" = "y" ]; then + ARGS+=" -device virtio-blk-device,drive=efi_fat" + ARGS+=" -drive id=efi_fat,file=fat:rw:${efi_stage},format=raw" +else + ARGS+=" -drive file=fat:rw:${efi_stage},format=raw" +fi diff --git a/test/py/conftest.py b/test/py/conftest.py index b7a03669751..f4c5e390a93 100644 --- a/test/py/conftest.py +++ b/test/py/conftest.py @@ -530,6 +530,10 @@ def ubman(request): Returns: The fixture value. """ + # Tests marked @pytest.mark.localqemu run QEMU locally, so they + # don't need a target-board connection; return the fixture directly. + if request.node.get_closest_marker('localqemu'): + return ubman_fix if not ubconfig.connection_ok: pytest.skip('Cannot get target connection') return None From patchwork Fri Feb 20 21:32:28 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1918 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=1771623181; bh=DjYoMkxy9LwvuwDx6nt5Zx6GXf0gXHu8KS1w49hlKWc=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=v0rqF3R+jwnhj/FhqaDLAfFRL/S2Oq7HnezG8YV1T/kz4kipQgyfb+IOulfpxjBQa 57qW8BnPwW9UEHBEBlSaUl4r0frfhppiq9cgAXQg9HH/ABX+Kv5c/2xUjbRjf5Z+Ym FLD/uUCIZDRIK54C9/Xw9+T18KDPQLdgBn31zVaJAoYj0V4IyTfQVetPHCJGmoGlgn kgzmBxJkdPCCrnkY/MRfiZXOu5KcVkvdSs2wrvT3C3Az5fgwluV+gVr5KJgZSeN7ex LLLm1nl2FY/rY93p4jdgeR4CdznLxEWDYTNyfvZLuLbafWF5VpjE0nqp3RlPChQaGL y3d1QBHHZYvxw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E4EFF69CC6 for ; Fri, 20 Feb 2026 14:33:01 -0700 (MST) 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 PRzYNasMBeF5 for ; Fri, 20 Feb 2026 14:33:01 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623181; bh=DjYoMkxy9LwvuwDx6nt5Zx6GXf0gXHu8KS1w49hlKWc=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=v0rqF3R+jwnhj/FhqaDLAfFRL/S2Oq7HnezG8YV1T/kz4kipQgyfb+IOulfpxjBQa 57qW8BnPwW9UEHBEBlSaUl4r0frfhppiq9cgAXQg9HH/ABX+Kv5c/2xUjbRjf5Z+Ym FLD/uUCIZDRIK54C9/Xw9+T18KDPQLdgBn31zVaJAoYj0V4IyTfQVetPHCJGmoGlgn kgzmBxJkdPCCrnkY/MRfiZXOu5KcVkvdSs2wrvT3C3Az5fgwluV+gVr5KJgZSeN7ex LLLm1nl2FY/rY93p4jdgeR4CdznLxEWDYTNyfvZLuLbafWF5VpjE0nqp3RlPChQaGL y3d1QBHHZYvxw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D1D0A69CC8 for ; Fri, 20 Feb 2026 14:33:01 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623179; bh=kiEf6US3D/L62+f2UlTwQ3PT1pMTwb7gjfzdU0Ekj3Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vXs2UhpwGTCNAcJ2da6/1jdxTx0l4rg0+kqZm33j2QG3qbkEqwCLWO9/s3lba3LHs nEZjxRfOkGxDxzirhvHrWqqCPB6f2Gtds1I455VnA+JIyBgaFY5HKJ3g6jDbVUEEz+ e3yyy07vKlzx/QbUtm7Vxs4uDoYDYpFZAlvCNI+ff3atRPQ1//aYFz0gEK2I5t8+Od +Xt+Pr8JWuO/gogdDjF8TwevzbwYRGXBuHfso82BNHVVPUGubHE1oS7KJCg5sEvJSA cBHwPo4WP3crSvzL/H/6j6HlNQcXkARfY9OBCkofpD/alzJ51H6cbqNeLzCeJ8fCPF PkXGy2MCSYMoQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id C20E769CC8; Fri, 20 Feb 2026 14:32:59 -0700 (MST) 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 9Eldz6YFmEhF; Fri, 20 Feb 2026 14:32:59 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623175; bh=wyjXdNkxIev46wBhyqDAS8n3ouvc7DMMJEeYHErEtS4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NtBgZij0AbRwG75ejznDN6kiNt97PbgzlyMTAisObIt0YScc5QxCcrsTyS9iYquXk 4UHX0Wef635ZNgMuGgx3tDRi5scoc6WaIluAZuhl6uwRAxB+TTw2RSQimvJt98TepF mHik+TE6rUI5g+rfxKK/4/QYCmPDCUCJ1X3hNa4LvdkIJErxxz1iT1GdVf5Z50vXsy +vYLIUPNH0UdCte7Us0NFR9AcGi9dJyiZVd4C9Gli20XB1kMhY8r9w/Qixc/WCFJRq JJ0sSZ6aUxL4NfVdA/XIjWyL90SxS89slxbaemK20ZNh+O02tvbQFrmR1ImQzIe2WJ ADXf8cY34+n7w== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id AC25969CC6; Fri, 20 Feb 2026 14:32:54 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 20 Feb 2026 14:32:28 -0700 Message-ID: <20260220213235.2112347-4-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260220213235.2112347-1-sjg@u-boot.org> References: <20260220213235.2112347-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: FOPGOH6HK2VI6TDQTFJAJPO2XF7LXPSJ X-Message-ID-Hash: FOPGOH6HK2VI6TDQTFJAJPO2XF7LXPSJ 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 , "Claude Opus 4 . 6" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 3/6] test: hooks: Add QEMU configs for EFI app boards 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 Add test hook configurations for the four EFI application boards so they can run under QEMU with UEFI firmware: - efi-x86_app32: OVMF 32-bit (OVMF32_CODE_4M.fd), qemu-system-i386 - efi-x86_app64: OVMF 64-bit (OVMF_CODE_4M.fd), qemu-system-x86_64 - efi-arm_app64: AAVMF (AAVMF_CODE.fd), qemu-system-aarch64 - efi-riscv_app64: EDK2 RISC-V (RISCV_VIRT_CODE.fd), qemu-system-riscv64 with blockdev-style pflash and virtio-blk All boards use the qemu.efi_app helper script to stage the EFI binary and UEFI firmware. Add ellesmere symlinks as well. Co-developed-by: Claude Opus 4.6 Signed-off-by: Simon Glass --- test/hooks/bin/ellesmere/conf.efi-arm_app64_na | 1 + test/hooks/bin/ellesmere/conf.efi-riscv_app64_na | 1 + test/hooks/bin/ellesmere/conf.efi-x86_app32_na | 1 + test/hooks/bin/ellesmere/conf.efi-x86_app64_na | 1 + test/hooks/bin/travis-ci/conf.efi-arm_app64_na | 14 ++++++++++++++ test/hooks/bin/travis-ci/conf.efi-riscv_app64_na | 16 ++++++++++++++++ test/hooks/bin/travis-ci/conf.efi-x86_app32_na | 14 ++++++++++++++ test/hooks/bin/travis-ci/conf.efi-x86_app64_na | 14 ++++++++++++++ 8 files changed, 62 insertions(+) create mode 120000 test/hooks/bin/ellesmere/conf.efi-arm_app64_na create mode 120000 test/hooks/bin/ellesmere/conf.efi-riscv_app64_na create mode 120000 test/hooks/bin/ellesmere/conf.efi-x86_app32_na create mode 120000 test/hooks/bin/ellesmere/conf.efi-x86_app64_na create mode 100644 test/hooks/bin/travis-ci/conf.efi-arm_app64_na create mode 100644 test/hooks/bin/travis-ci/conf.efi-riscv_app64_na create mode 100644 test/hooks/bin/travis-ci/conf.efi-x86_app32_na create mode 100644 test/hooks/bin/travis-ci/conf.efi-x86_app64_na diff --git a/test/hooks/bin/ellesmere/conf.efi-arm_app64_na b/test/hooks/bin/ellesmere/conf.efi-arm_app64_na new file mode 120000 index 00000000000..8f4d76ce695 --- /dev/null +++ b/test/hooks/bin/ellesmere/conf.efi-arm_app64_na @@ -0,0 +1 @@ +../travis-ci/conf.efi-arm_app64_na \ No newline at end of file diff --git a/test/hooks/bin/ellesmere/conf.efi-riscv_app64_na b/test/hooks/bin/ellesmere/conf.efi-riscv_app64_na new file mode 120000 index 00000000000..5bf928b9bd9 --- /dev/null +++ b/test/hooks/bin/ellesmere/conf.efi-riscv_app64_na @@ -0,0 +1 @@ +../travis-ci/conf.efi-riscv_app64_na \ No newline at end of file diff --git a/test/hooks/bin/ellesmere/conf.efi-x86_app32_na b/test/hooks/bin/ellesmere/conf.efi-x86_app32_na new file mode 120000 index 00000000000..e5c78309c45 --- /dev/null +++ b/test/hooks/bin/ellesmere/conf.efi-x86_app32_na @@ -0,0 +1 @@ +../travis-ci/conf.efi-x86_app32_na \ No newline at end of file diff --git a/test/hooks/bin/ellesmere/conf.efi-x86_app64_na b/test/hooks/bin/ellesmere/conf.efi-x86_app64_na new file mode 120000 index 00000000000..a0edb3778c9 --- /dev/null +++ b/test/hooks/bin/ellesmere/conf.efi-x86_app64_na @@ -0,0 +1 @@ +../travis-ci/conf.efi-x86_app64_na \ No newline at end of file diff --git a/test/hooks/bin/travis-ci/conf.efi-arm_app64_na b/test/hooks/bin/travis-ci/conf.efi-arm_app64_na new file mode 100644 index 00000000000..aad3bae7290 --- /dev/null +++ b/test/hooks/bin/travis-ci/conf.efi-arm_app64_na @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: MIT +# Copyright 2026 Canonical Ltd. +# Written by Simon Glass + +console_impl=qemu +qemu_machine="virt" +qemu_binary="qemu-system-aarch64" +qemu_extra_args="-m 1G -nographic -no-reboot -nic none -cpu max" +qemu_kernel_args="" +qemu_helper_script="efi_app" +efi_fw_code="/usr/share/AAVMF/AAVMF_CODE.fd" +efi_fw_vars="/usr/share/AAVMF/AAVMF_VARS.fd" +reset_impl=none +flash_impl=none diff --git a/test/hooks/bin/travis-ci/conf.efi-riscv_app64_na b/test/hooks/bin/travis-ci/conf.efi-riscv_app64_na new file mode 100644 index 00000000000..8811c1f6ac9 --- /dev/null +++ b/test/hooks/bin/travis-ci/conf.efi-riscv_app64_na @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: MIT +# Copyright 2026 Canonical Ltd. +# Written by Simon Glass + +console_impl=qemu +qemu_machine="virt,pflash0=pflash0,pflash1=pflash1" +qemu_binary="qemu-system-riscv64" +qemu_extra_args="-m 1G -nographic -no-reboot -nic none" +qemu_kernel_args="" +qemu_helper_script="efi_app" +efi_fw_code="/usr/share/qemu-efi-riscv64/RISCV_VIRT_CODE.fd" +efi_fw_vars="/usr/share/qemu-efi-riscv64/RISCV_VIRT_VARS.fd" +efi_use_blockdev=y +efi_virtio_blk=y +reset_impl=none +flash_impl=none diff --git a/test/hooks/bin/travis-ci/conf.efi-x86_app32_na b/test/hooks/bin/travis-ci/conf.efi-x86_app32_na new file mode 100644 index 00000000000..49269cb3993 --- /dev/null +++ b/test/hooks/bin/travis-ci/conf.efi-x86_app32_na @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: MIT +# Copyright 2026 Canonical Ltd. +# Written by Simon Glass + +console_impl=qemu +qemu_machine="pc" +qemu_binary="qemu-system-i386" +qemu_extra_args="-m 1G -nographic -no-reboot -nic none" +qemu_kernel_args="" +qemu_helper_script="efi_app" +efi_fw_code="/usr/share/OVMF/OVMF32_CODE_4M.fd" +efi_fw_vars="/usr/share/OVMF/OVMF32_VARS_4M.fd" +reset_impl=none +flash_impl=none diff --git a/test/hooks/bin/travis-ci/conf.efi-x86_app64_na b/test/hooks/bin/travis-ci/conf.efi-x86_app64_na new file mode 100644 index 00000000000..69a9dc20b41 --- /dev/null +++ b/test/hooks/bin/travis-ci/conf.efi-x86_app64_na @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: MIT +# Copyright 2026 Canonical Ltd. +# Written by Simon Glass + +console_impl=qemu +qemu_machine="q35" +qemu_binary="qemu-system-x86_64" +qemu_extra_args="-m 1G -nographic -no-reboot -nic none" +qemu_kernel_args="" +qemu_helper_script="efi_app" +efi_fw_code="/usr/share/OVMF/OVMF_CODE_4M.fd" +efi_fw_vars="/usr/share/OVMF/OVMF_VARS_4M.fd" +reset_impl=none +flash_impl=none From patchwork Fri Feb 20 21:32:29 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1919 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=1771623186; bh=rRkpWBPdSzrRquToUDGF5UIhhiu1AyW4+w3qNiLf4Fs=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=GfV0cPZVSh5ZF3jKKfqs5x+Ej8O9O8U+3s8/5G0WcCJmDIS36EC3+WQvof/c3wbBH u3Bnmelc648x01SXLZFuKsUVwA+6sSUQrLhUy1y+d25o9xKR12u58+UqZuO8BShd4Q y3WVafUf+5N96QJ9jsIHUELCJvJrA3aRN04wf0u1VZ4Lb1se9CMyFV+0EAfU17ij0H UA1Yljox85Rto7OznNQZkg7kG9Y+5zOZICNSJJQGjhajVghSGUg7M9M/snxiGh4YaB KVI2A7M4MxNkP+LSj+cU40TDeOIKej+2KDebN3I4PveVXKD5bSl52tQ/z1QENE0m42 r2yz9bFmeQpGw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id ACA5B69CCA for ; Fri, 20 Feb 2026 14:33:06 -0700 (MST) 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 e6R2gn34FCd9 for ; Fri, 20 Feb 2026 14:33:06 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623186; bh=rRkpWBPdSzrRquToUDGF5UIhhiu1AyW4+w3qNiLf4Fs=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=GfV0cPZVSh5ZF3jKKfqs5x+Ej8O9O8U+3s8/5G0WcCJmDIS36EC3+WQvof/c3wbBH u3Bnmelc648x01SXLZFuKsUVwA+6sSUQrLhUy1y+d25o9xKR12u58+UqZuO8BShd4Q y3WVafUf+5N96QJ9jsIHUELCJvJrA3aRN04wf0u1VZ4Lb1se9CMyFV+0EAfU17ij0H UA1Yljox85Rto7OznNQZkg7kG9Y+5zOZICNSJJQGjhajVghSGUg7M9M/snxiGh4YaB KVI2A7M4MxNkP+LSj+cU40TDeOIKej+2KDebN3I4PveVXKD5bSl52tQ/z1QENE0m42 r2yz9bFmeQpGw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 978AD69CB2 for ; Fri, 20 Feb 2026 14:33:06 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623184; bh=W+xyPV4inbesQhfAif/y1nubM+Y8DflkLWChL8KlYSg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dst++CZWXBZ4WaysHs1/hddr1amY4nqiHlIQWjefnVnVPHRO/8HV89X5BBRYfJ7Jt t3d0k4xQhoHopcSS4MvfnhVnMpXdjuPW4yKdwgpXdI2Ry0NSbQf1HBQFuS7kL1wNxI GBZ2UugyXhYK+VAqdguSEUB+ec+OFG6SkSTRQ5iGkbfT7IuVFIyetlZDCswnyFOwYR 3eoHG+VMUEZ9a4sRFwLoCZY6Ws/stlIpa524+Sy6ZlwRUKym9fn8OoHvWq2i2RnVLq QrRSHeXLcCQ8uv/iTnENx3H5UVP24yH9WcvN7fksG6/Oauo+84HJN4bPgGHYNkq/5s qOpKmEZj/Jchg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5D38269CCA; Fri, 20 Feb 2026 14:33:04 -0700 (MST) 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 1PU_ftT3flWf; Fri, 20 Feb 2026 14:33:04 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623179; bh=kAt0Eg6F6Y5i2GGCl8/7JshoE2bjNE8qD3klHf8v+uA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qORnLut3J0eauaNWOtT24vMunFylhtKu395/PBQfm67LyPiM06gN0hrsD2v7W7hq2 PGHYIdOzzsRCc0gyQrejyoh2+QacZrau3jOrDFyH63DN7ZQ6R5EIRyO6syqy0MlYJ0 EvnhUOGe9qHxfZak1K+B2x+MmQPl2LaDzzTqDkRWWtZSjhq9woRdwwbcvawvw6684N 2XP09BKM8WcDL3WVhbhRC23bx8+ktfid12mvaoOPzyVG7Zah+TE4BwhZDKD3cY0YQw 9cTHWzGeo/x678S6yqiqv0YJVPNQt1S9fwT0pMz3oYEyPTIxs/gk8HfBl88Au8I6G/ a6ABSRhdS/cMw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 5847969CB2; Fri, 20 Feb 2026 14:32:59 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 20 Feb 2026 14:32:29 -0700 Message-ID: <20260220213235.2112347-5-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260220213235.2112347-1-sjg@u-boot.org> References: <20260220213235.2112347-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: ECY3235CDEF4JWC4GBCVPV7JEQ7ABZB2 X-Message-ID-Hash: ECY3235CDEF4JWC4GBCVPV7JEQ7ABZB2 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 , "Claude Opus 4 . 6" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 4/6] test: Skip localqemu tests on EFI app boards 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 The localqemu tests launch their own standalone QEMU instance, which is not compatible with EFI app boards that must boot through UEFI firmware. Add notbuildconfigspec('efi_app') to all localqemu tests so they are automatically skipped when CONFIG_EFI_APP is enabled. The skip is done per-test rather than in conftest.py since these particular tests are not relevant to the EFI app, regardless of whether they use local QEMU. Co-developed-by: Claude Opus 4.6 Signed-off-by: Simon Glass --- test/py/tests/test_ulib.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/py/tests/test_ulib.py b/test/py/tests/test_ulib.py index f4234253b7d..f06075d9e20 100644 --- a/test/py/tests/test_ulib.py +++ b/test/py/tests/test_ulib.py @@ -279,6 +279,7 @@ def run_x86_rom_demo(ubman, qemu_binary): assert_demo_output(out) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu-x86') @pytest.mark.buildconfigspec("examples") def test_ulib_demo_rom(ubman): @@ -286,6 +287,7 @@ def test_ulib_demo_rom(ubman): run_x86_rom_demo(ubman, 'qemu-system-i386') @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu-x86_64_nospl') @pytest.mark.buildconfigspec("examples") def test_ulib_demo_rom_64(ubman): @@ -316,6 +318,7 @@ def run_x86_rom_rust_demo(ubman, qemu_binary): assert_demo_output(out) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu-x86') @pytest.mark.buildconfigspec("rust_examples") def test_ulib_rust_demo_rom(ubman): @@ -323,6 +326,7 @@ def test_ulib_rust_demo_rom(ubman): run_x86_rom_rust_demo(ubman, 'qemu-system-i386') @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu-x86_64_nospl') @pytest.mark.buildconfigspec("rust_examples") def test_ulib_rust_demo_rom_64(ubman): @@ -386,6 +390,7 @@ def run_bios_rust_demo(ubman, qemu_binary, extra_qemu_args=None): assert_demo_output(out) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu_arm64') @pytest.mark.buildconfigspec("examples") def test_ulib_demo_arm64(ubman): @@ -393,6 +398,7 @@ def test_ulib_demo_arm64(ubman): run_bios_demo(ubman, 'qemu-system-aarch64', ['-cpu', 'cortex-a57']) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu_arm64') @pytest.mark.buildconfigspec("rust_examples") def test_ulib_rust_demo_arm64(ubman): @@ -400,6 +406,7 @@ def test_ulib_rust_demo_arm64(ubman): run_bios_rust_demo(ubman, 'qemu-system-aarch64', ['-cpu', 'cortex-a57']) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu-riscv64') @pytest.mark.buildconfigspec("examples") def test_ulib_demo_riscv64(ubman): @@ -407,6 +414,7 @@ def test_ulib_demo_riscv64(ubman): run_bios_demo(ubman, 'qemu-system-riscv64') @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('qemu-riscv64') @pytest.mark.buildconfigspec("rust_examples") def test_ulib_rust_demo_riscv64(ubman): @@ -508,6 +516,7 @@ def run_efi_rust_demo(ubman, qemu_binary, fw_code, fw_vars, assert_demo_output(out) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('efi-x86_app64') @pytest.mark.buildconfigspec("examples") def test_ulib_demo_efi_x86(ubman): @@ -517,6 +526,7 @@ def test_ulib_demo_efi_x86(ubman): '/usr/share/OVMF/OVMF_VARS_4M.fd') @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('efi-x86_app64') @pytest.mark.buildconfigspec("rust_examples") def test_ulib_rust_demo_efi_x86(ubman): @@ -526,6 +536,7 @@ def test_ulib_rust_demo_efi_x86(ubman): '/usr/share/OVMF/OVMF_VARS_4M.fd') @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('efi-arm_app64') @pytest.mark.buildconfigspec("examples") def test_ulib_demo_efi_arm64(ubman): @@ -535,6 +546,7 @@ def test_ulib_demo_efi_arm64(ubman): ['--machine', 'virt', '-cpu', 'max']) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('efi-arm_app64') @pytest.mark.buildconfigspec("rust_examples") def test_ulib_rust_demo_efi_arm64(ubman): @@ -544,6 +556,7 @@ def test_ulib_rust_demo_efi_arm64(ubman): ['--machine', 'virt', '-cpu', 'max']) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('efi-riscv_app64') @pytest.mark.buildconfigspec("examples") def test_ulib_demo_efi_riscv64(ubman): @@ -554,6 +567,7 @@ def test_ulib_demo_efi_riscv64(ubman): ['--machine', 'virt']) @pytest.mark.localqemu +@pytest.mark.notbuildconfigspec('efi_app') @pytest.mark.boardspec('efi-riscv_app64') @pytest.mark.buildconfigspec("rust_examples") def test_ulib_rust_demo_efi_riscv64(ubman): From patchwork Fri Feb 20 21:32:30 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1920 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=1771623191; bh=DEw8UHG4GGv3yefCup8Yiyu0Fvc9shpadsXOcL2NLBk=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=adE4OPcETo3is6q7hNMWJ6bnX7uvqzDZ9LtSUnLvptKw7FKs/nVXZBDN9ZfMZWWu5 9R6uedUWeBA3l4evj9mMPGs86xuaiLjrhm/q5CFeqP+lNFuzBL5KEbhHVqXwBR27fu B7zce3TlOdpDHLBOHlH0LRMEHS2g1QH6x5PA6T+1WcCqjxpXSerhYFWusZ+YU62Uny pf3sKfSFtNL4J92YTGxozrIj98IUCbjLUcWDdNCTp4x+oqa/ZRmE3m74Ph6sNTE1Hk eAFYWFfqT/daO0wrRXUCqTbXXvHF9vB0Dt3KxDfpDUZ2SjkhJ362nPmJ4+ktiSqFAJ AGhAFyv9fdsag== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 2644B69CCA for ; Fri, 20 Feb 2026 14:33:11 -0700 (MST) 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 ryweBamvytLV for ; Fri, 20 Feb 2026 14:33:11 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623191; bh=DEw8UHG4GGv3yefCup8Yiyu0Fvc9shpadsXOcL2NLBk=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=adE4OPcETo3is6q7hNMWJ6bnX7uvqzDZ9LtSUnLvptKw7FKs/nVXZBDN9ZfMZWWu5 9R6uedUWeBA3l4evj9mMPGs86xuaiLjrhm/q5CFeqP+lNFuzBL5KEbhHVqXwBR27fu B7zce3TlOdpDHLBOHlH0LRMEHS2g1QH6x5PA6T+1WcCqjxpXSerhYFWusZ+YU62Uny pf3sKfSFtNL4J92YTGxozrIj98IUCbjLUcWDdNCTp4x+oqa/ZRmE3m74Ph6sNTE1Hk eAFYWFfqT/daO0wrRXUCqTbXXvHF9vB0Dt3KxDfpDUZ2SjkhJ362nPmJ4+ktiSqFAJ AGhAFyv9fdsag== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 13BBA69CC8 for ; Fri, 20 Feb 2026 14:33:11 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623188; bh=yNsPv10yYx8sLyjAXSpt2910vXOWthpEPBOsvXcN98w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wqpLC2mEJSR2uvclKvuE3xO+hZp+I+Bu5Tkwy79aTuQUmjIBkr5hjt/UrxKJpF/oh 5xxcPw1/+lQogZNIwAYUiLEa/K4arS9jKs4d0nu6vNnnAaKkjUfYjXpzAwlx6NcpHt vkRIBTvuw6I3vF5ls5dGphMDrQ1kjVz+IqG5sTJB8EO29id5ygvUb/9d3162t2Pb6L 9V+ybl4rsG2MU22LQY+nwESXUIRhMfAYbRjJosll1L8dJkk3ArjRZK+GShXn2IOjer PQiozoJGAMXAYlOZMVxFBsDNnoSkgCsrtmUjeCJO3Nzhga7E3ScgkDil/K9o/E5Q4n JGEztc2uTLUBw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5553C69CB2; Fri, 20 Feb 2026 14:33:08 -0700 (MST) 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 jwnVBu5Zqsm0; Fri, 20 Feb 2026 14:33:08 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623184; bh=fqo3iVTvJ5bgRqAZgYfT2Vg2R/mFfrRDncWrl8O6lmU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rQQ6iUSQchdhtsz7POI1wF3D2BY8rTvx+6PsyMDH2xDPCcOwCaU0ZqKql+L1evr4e x9Xr3Xn95dQcuTg1vme3ahljnl+PqZ4UXLsBDTthJAiZ8XJjgPYr3Bi1ke2bhZtq5K v5ovy0nKA6jV1KLSYt2f0n1AQ1r32oh1ZJqxgnjE2VEFS9neQlZOlWNg4KSqP8+4fb R9XnBzd+ON/HuF0RAIDvPrhZtrnw4+GFTFgVntk1ZfXwjBxnRSn5XTVahYGyZ3+ywN CNSmxbwJOv1pgo/kOqkvX2XI5sooaoFn1uk3CUWrkxdiiGfEHyuFRjmXxc9lCfoGEb a7si5yqlgYEhg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id D2DE869CC6; Fri, 20 Feb 2026 14:33:03 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 20 Feb 2026 14:32:30 -0700 Message-ID: <20260220213235.2112347-6-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260220213235.2112347-1-sjg@u-boot.org> References: <20260220213235.2112347-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: H6WVFXJPH5CWSAIF53QCROIB7Z3V45WD X-Message-ID-Hash: H6WVFXJPH5CWSAIF53QCROIB7Z3V45WD 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 , "Claude Opus 4 . 6" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 5/6] CI: Add test coverage for EFI application boards 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 Add test.py CI jobs for the four EFI application boards: - efi-x86_app32 - efi-x86_app64 - efi-arm_app64 - efi-riscv_app64 (with cmd_smbios excluded as it is not supported) All jobs use OVERRIDE="-a ~CONSOLE_PAGER" to disable the console pager which causes test timeouts by waiting for interactive input. Co-developed-by: Claude Opus 4.6 Signed-off-by: Simon Glass --- .gitlab-ci.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 648c3f52c44..1291bfd3af0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -550,6 +550,13 @@ qemu_arm64 test.py: TEST_PY_TEST_SPEC: "not sleep" <<: *buildman_and_testpy_dfn +efi-arm_app64 test.py: + variables: + TEST_PY_BD: "efi-arm_app64" + TEST_PY_TEST_SPEC: "not sleep" + OVERRIDE: "-a ~CONSOLE_PAGER" + <<: *buildman_and_testpy_dfn + qemu_arm64_lwip test.py: variables: TEST_PY_BD: "qemu_arm64_lwip" @@ -628,6 +635,13 @@ qemu-riscv64 test.py: TEST_PY_TEST_SPEC: "not sleep" <<: *buildman_and_testpy_dfn +efi-riscv_app64 test.py: + variables: + TEST_PY_BD: "efi-riscv_app64" + TEST_PY_TEST_SPEC: "not sleep and not cmd_smbios" + OVERRIDE: "-a ~CONSOLE_PAGER" + <<: *buildman_and_testpy_dfn + qemu-riscv32_spl test.py: variables: TEST_PY_BD: "qemu-riscv32_spl" @@ -658,6 +672,20 @@ qemu-x86 test.py: TEST_PY_TEST_SPEC: "not sleep" <<: *buildman_and_testpy_dfn +efi-x86_app32 test.py: + variables: + TEST_PY_BD: "efi-x86_app32" + TEST_PY_TEST_SPEC: "not sleep" + OVERRIDE: "-a ~CONSOLE_PAGER" + <<: *buildman_and_testpy_dfn + +efi-x86_app64 test.py: + variables: + TEST_PY_BD: "efi-x86_app64" + TEST_PY_TEST_SPEC: "not sleep" + OVERRIDE: "-a ~CONSOLE_PAGER" + <<: *buildman_and_testpy_dfn + qemu-x86_64 test.py: variables: TEST_PY_BD: "qemu-x86_64" From patchwork Fri Feb 20 21:32:31 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 1921 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=1771623195; bh=KWZiSBquxhGj7f14Y1Lkvdi9k4FCSGfIm6eva+KXiNw=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=ecIR3VLOuNBMcyNPKt8QD4sdwzsBnvclMkoBL5/9DIqK0orh1/NSKYuieZECDGOLu PPWQrPhzxnD8eA+83kdOOwR81f1BX/mtk5tAZcaq1JAcugXcfJgCKrrKQErq9ukg0D WihC9hvUitrm10SVGplBbXvTWBlwuv6OZgJCR3bf+v02Z2rCGqO+EHqHc+2xYhWRbt XpI/PT2Av+GJM74D47RCWzasuKHSy9mFG/LNL9YD+fBWKsvp87f0RgZ869H+fAztHd 0YAD7UB9YjMO/HpOYNGd5F5yCcJ1gSYeADxVoVz6QjSty8b8y7/ZT45clNOcoMVyFN Dk+MF0uwwHBpg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8D03569CC9 for ; Fri, 20 Feb 2026 14:33:15 -0700 (MST) 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 Im-sGvenui-Q for ; Fri, 20 Feb 2026 14:33:15 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623195; bh=KWZiSBquxhGj7f14Y1Lkvdi9k4FCSGfIm6eva+KXiNw=; h=From:To:Date:In-Reply-To:References:CC:Subject:List-Id: List-Archive:List-Help:List-Owner:List-Post:List-Subscribe: List-Unsubscribe:From; b=ecIR3VLOuNBMcyNPKt8QD4sdwzsBnvclMkoBL5/9DIqK0orh1/NSKYuieZECDGOLu PPWQrPhzxnD8eA+83kdOOwR81f1BX/mtk5tAZcaq1JAcugXcfJgCKrrKQErq9ukg0D WihC9hvUitrm10SVGplBbXvTWBlwuv6OZgJCR3bf+v02Z2rCGqO+EHqHc+2xYhWRbt XpI/PT2Av+GJM74D47RCWzasuKHSy9mFG/LNL9YD+fBWKsvp87f0RgZ869H+fAztHd 0YAD7UB9YjMO/HpOYNGd5F5yCcJ1gSYeADxVoVz6QjSty8b8y7/ZT45clNOcoMVyFN Dk+MF0uwwHBpg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 7CF4669CC6 for ; Fri, 20 Feb 2026 14:33:15 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623193; bh=o3m1GoMLA4ihZUWs/WOavDtrYkjBqtEIfLvYky8KHF4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c9SegQqbXzqCDGY0GAYREFWl5fvpQg+1RdjzJy722xjwIP/S7VGAY1glIiTEy8MjO DPgn7AyDUI5O/YNJZ7tDbZIHUUcBe+xMhKxMiue1eIDF53NDEEg2OrZKc44IYYDSsb 7/WOmQylT9D7xAs33b+gutGDAOD4qTFV+l6gR6IazLQIezwP8nI+wVaRcmx12vclvX 5cLGb43zXGXtK/Wc54nv7I1bvXRYrCBm0Mj5lXR4q1+sCSxeFSzEFSKZNFDjMw8TRB zaxgbdO2g7vQdWA19sNuDSJVKySddStQRvce/6ddOPf5Mxoz3zMl1Xnt1UL+4TgBhn gFvy46VC7DchQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8229569CB2; Fri, 20 Feb 2026 14:33:13 -0700 (MST) 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 eZNvpUt3l6jP; Fri, 20 Feb 2026 14:33:13 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1771623188; bh=eAAn+V5E/FPIdYk4UkEU9QThCcQLSV5yjqBerHMq0T8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=wOwt2HFoqIEUpnwtGlU4oF5QfpENxBKxc2NRmHxx8D2h1RPaFw79HoiM0MPa41Xb8 0prBbq1JsYpguE+fj/tfhrErk5Zap+wa+LRB/pKMC1+cSxy9iEJLh0CwMSJUTmTMFb CdgWBw1sxlmNqmctqlSsuOkZPTYPbwmtGNFBXy0hRIAXfGLSIYKGGaVpkNfM+wouQ2 Hw4irIgHEijHR7jXu/VT8SosiNgh2juXiun1olb1YunpT/TStM1MDo7zBKFwnG16gt d2WVgUSYDZEavIxd+7avt84ZBNCIwuErLFFFSnnLgaik5My6s6KxIgOIF4H2N5LD8G 8zzEvpDMr6hCQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 963EC69CC6; Fri, 20 Feb 2026 14:33:08 -0700 (MST) From: Simon Glass To: U-Boot Concept Date: Fri, 20 Feb 2026 14:32:31 -0700 Message-ID: <20260220213235.2112347-7-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260220213235.2112347-1-sjg@u-boot.org> References: <20260220213235.2112347-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: 25PTA6H7XVMFU2PIQCMX53ALJUBNN26L X-Message-ID-Hash: 25PTA6H7XVMFU2PIQCMX53ALJUBNN26L 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 , "Claude Opus 4 . 6" X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 6/6] CI: Update Docker image to 20feb26b 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 Update the CI runner image to jammy-20250404-20feb26 which includes the UEFI firmware packages needed for EFI app board testing. Co-developed-by: Claude Opus 4.6 Signed-off-by: Simon Glass --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1291bfd3af0..2eba0e58cd7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,7 +27,7 @@ default: - ${DEFAULT_TAG} # Grab our configured image. The source for this is found # in the u-boot tree at tools/docker/Dockerfile - image: ${MIRROR_DOCKER}/sjg20/u-boot-gitlab-ci-runner:jammy-20250404-19feb26 + image: ${MIRROR_DOCKER}/sjg20/u-boot-gitlab-ci-runner:jammy-20250404-20feb26b services: - name: container-$(CI_JOB_ID) command: ["--rm"]