From patchwork Sat Oct 18 08:40:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 601 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=1760776900; bh=l4CYCIAvVsDDpStgkjSMLmd9QHzn9r8J4Gs3CVIsn8k=; 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=MJzcoU30cEcFR/p2+rQGIXizNimG9xGW244L3sWqMpv1LlkYHYHbqBg8pUCNbL86n 1O+A6L1/Cnqzy1Q+mxINckZgd2JwbAN72wRhh3aRdpCci+wcHYaf/+9463Y7iezf8R KZu+C40tsYZo1kr7QyLOqKg8t4IEIpt7+lfWUxbe1G/V63j2vwIL2m9pxFRy/RVe4S pG5ZLG23FDPvpZgT9eh/RjaBG5SGySVvfB7+E0Jj0GqXdYBbnAARJ3fsY+fQ8rpiFj +cCUw5eazHAoeJPjsnOY9uzZcJ0CBG8ytshDtFdB7kejiA6gTeiKUSyhnHOIdvcukK ZUC6n0OGk8ncw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id B59FC6819D for ; Sat, 18 Oct 2025 02:41:40 -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 9aCF_cuq2okI for ; Sat, 18 Oct 2025 02:41:40 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776900; bh=l4CYCIAvVsDDpStgkjSMLmd9QHzn9r8J4Gs3CVIsn8k=; 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=MJzcoU30cEcFR/p2+rQGIXizNimG9xGW244L3sWqMpv1LlkYHYHbqBg8pUCNbL86n 1O+A6L1/Cnqzy1Q+mxINckZgd2JwbAN72wRhh3aRdpCci+wcHYaf/+9463Y7iezf8R KZu+C40tsYZo1kr7QyLOqKg8t4IEIpt7+lfWUxbe1G/V63j2vwIL2m9pxFRy/RVe4S pG5ZLG23FDPvpZgT9eh/RjaBG5SGySVvfB7+E0Jj0GqXdYBbnAARJ3fsY+fQ8rpiFj +cCUw5eazHAoeJPjsnOY9uzZcJ0CBG8ytshDtFdB7kejiA6gTeiKUSyhnHOIdvcukK ZUC6n0OGk8ncw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id A2D3C681CA for ; Sat, 18 Oct 2025 02:41:40 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776898; bh=8lEmACqv81/f0cpO7X0I1NKZ/x6GJQZpJqNYVW7hIdU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NpCtEGesDHygq419we4cFWsSV4wLzKnvYj5lPcnVlTbFgTFKncM9WhSVBH623cggN fsWfjF9qmMUcJ/rQChfGiOd4NqJYJXiFTnNlREXexmBjWVawyJ0TvyEwpmrnLJqkn/ lM0lUChZD6GMlqBnKj7iRg3SKBy6jo/AVAHYoUUWDFtEw2fxPcIoK0ZoZzcL7QMQC7 kM4UUimd2tnKqczkv6fLj7hc/tweGNWmj4cKA4ggjHYv3wtAK0G6uWXac/DjORHKTW S+YOu5lyAQnJFtdZxtV5vXhWVxPAgVVycjKPSHic+s7gBzHXvzJ7avkdTacqjsxfve oRfvT8RTlmIiQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 0B454681C9; Sat, 18 Oct 2025 02:41:38 -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 nHLudIV7EPUH; Sat, 18 Oct 2025 02:41:37 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776897; bh=7YPanbViB5v40bMNwqLliaXvEXBa0ciimQu6qco9wUo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YnDJU6yhyg208L/nH4rWrDR90pjXg8d5ZM4RqBRn0wCfCOQ1MQALOj8QLeSSd4LtO +PMyAv2nGPfMf/xPzzA0abiu+aN8ojELXOgoYkOh0VZew0/ux1PxVi9uFhG8WpWE8E 5nbcJNbT35KTIXOGJYtbIoTHZJkEm5eAwnMqcm2P0G1dicb32TP2BKS5dnnzNMAtOc ewECH0sujkvqB0CGYb5A0f0RjF8obCOYxD1KVEXZn9nKluG5KVmaWMi/pywJSMvO9l 0Cl0j06gMCtdANYiBF/zzUvpNrHnoYB/L9EhLnJKYAIFVkEI/DCa1Jzl6+9FvNQuRb gJP6OQkv04JZw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 74BA968109; Sat, 18 Oct 2025 02:41:37 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:46 -0600 Message-ID: <20251018084117.1798704-2-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: NWDH7W66WYTDUJZVCARXCA4W7G5QLPU2 X-Message-ID-Hash: NWDH7W66WYTDUJZVCARXCA4W7G5QLPU2 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 01/24] test/py: Make test_bind_unbind_with_uclass() independent 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 Unbind the test node at the start of this test, so that it can be run independently from test_bind_unbind_with_node() Signed-off-by: Simon Glass --- test/py/tests/test_bind.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/py/tests/test_bind.py b/test/py/tests/test_bind.py index 16c63ae9684..4982a00fab6 100644 --- a/test/py/tests/test_bind.py +++ b/test/py/tests/test_bind.py @@ -121,6 +121,10 @@ def get_next_line(tree, name): @pytest.mark.buildconfigspec('cmd_bind') @pytest.mark.singlethread def test_bind_unbind_with_uclass(ubman): + # Ensure /bind-test is unbound, since it may be bound from DT or the + # previous tests + ubman.run_command('unbind /bind-test') + #bind /bind-test response = ubman.run_command('bind /bind-test simple_bus') assert response == '' From patchwork Sat Oct 18 08:40:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 602 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=1760776904; bh=1pf0Tiwzte5jjrBw0PRceqsGvIuQUAbUwBKWLKsW+1Y=; 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=iMXtCwsxxEWJsFhOoQM5K0lcwqygEt3u+JkD4Lp+yHT3pS9a/qSWeyev7Fk1Y3py/ pvERpOp1OcEpe2KjaiQthtX/MSipzI3kJZU+m7grsdYHBhBg+KnbXt/Pg+X2I2K50c CUr8k8/PGBaxfg5KsGudRjH49gC19fC+KA4209P8C9SpQzraU/Tx64GAWDw+YaWz3T tQbswfmVUoWv56YCrc8bBLpSPeTzuWtm98RJgvAIv/w29CAIydyhGoCRTWKDqy/off sIBoZgNsFUMBxbDTO9YqdJ4uPOESEK5B5GONSTkDtkU4ivYRECgeBhT/y086fdE8L5 yxhVCnrnwjyXw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 4467168109 for ; Sat, 18 Oct 2025 02:41:44 -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 QtlamuEkZ0dO for ; Sat, 18 Oct 2025 02:41:44 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776904; bh=1pf0Tiwzte5jjrBw0PRceqsGvIuQUAbUwBKWLKsW+1Y=; 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=iMXtCwsxxEWJsFhOoQM5K0lcwqygEt3u+JkD4Lp+yHT3pS9a/qSWeyev7Fk1Y3py/ pvERpOp1OcEpe2KjaiQthtX/MSipzI3kJZU+m7grsdYHBhBg+KnbXt/Pg+X2I2K50c CUr8k8/PGBaxfg5KsGudRjH49gC19fC+KA4209P8C9SpQzraU/Tx64GAWDw+YaWz3T tQbswfmVUoWv56YCrc8bBLpSPeTzuWtm98RJgvAIv/w29CAIydyhGoCRTWKDqy/off sIBoZgNsFUMBxbDTO9YqdJ4uPOESEK5B5GONSTkDtkU4ivYRECgeBhT/y086fdE8L5 yxhVCnrnwjyXw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 319BB681BC for ; Sat, 18 Oct 2025 02:41:44 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776902; bh=2WEif4pgv7ODkse9ztFEoZ+Fo2ngiVa38uhVhlXnsWc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tRV06TZFIRvS1AGobULFiCCDrf9jq5Z8hddY80wTy0fqfyFDWbhQDEqvzVOTO7QwB 4OL/oUbloG8V1tn+L8KhMN9t+0T0iTWH0EvaU1JlE4tiWzVGhL79nkScLb8GgDg9QL bHc7WFhREO9OFeJ5tUpveQrVKR76O7gRIkoUwKh9rIUYFbaxDBq7WywaDoLgBkJwXt ZWaES+BOy3qkPV+8uRi6/mKROYkEK2ntkD8lg+zxMIc8SnI/XcS3R0nwUn+vEpLTQn t35dc9UVCvlK/pp3spxaOADPe8Cyk+Zq5aipIA8m8eQLfYbr6e1Ht6oWl05gRyC34Q gBPeYaqEHBeGw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8CAF868109; Sat, 18 Oct 2025 02:41:42 -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 HJhRDR5wKDkn; Sat, 18 Oct 2025 02:41:42 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776898; bh=NsjnGeLstm4lWv9FE539KBBSAkkeF4Ku+je0hlOgCDk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CX0SSo556xxE2SETCcS1v/xXrB/Mp3KAZsEhLCr2iguqS9/874iI2/8m3VJMqvYxu KeSrqyIOO7uubrLPbSwAAm8cghbfTHV5HVqCX6vzaZk/UYCa5fDYQXFMVeINdfwM/t UfjStvcRF3xCn5z03BaDl74gL2jME9s8XaiuVl/tntAPwD0VxYOYKthlK/gfYgnmkL zXvmyIuSGCfsZ/mONxuTDXNidYUDSlaX8Qnj/HNDZyTOrVNSKvvmN9afF39uIBVQmB 8SmFk4XmM2iQo4AawjCaIRTJaKCE2jT/O67o9K9iFfI7vvWJdV2P2bOGt7o1JD3xz9 D96YSCHh1Rdsg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 4E7796814E; Sat, 18 Oct 2025 02:41:38 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:47 -0600 Message-ID: <20251018084117.1798704-3-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: LKCY7I642R6DRLDBUXWIWDKGETRXSPJ2 X-Message-ID-Hash: LKCY7I642R6DRLDBUXWIWDKGETRXSPJ2 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 02/24] test/py: Mark a few more tests as slow 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 These are the top five slowest test as reported from 'make qcheck': 42.2s test_dep_esl 29.7s test_dep_hwids 17.3s test_dep_dtbo 6.4s test_bind_unbind_with_node 5.2s test_fit_auto_signed Mark them as slow so that they are skipped with 'make qcheck'. Signed-off-by: Simon Glass --- test/py/tests/test_bind.py | 1 + test/py/tests/test_fit_auto_signed.py | 1 + test/py/tests/test_make_dep.py | 3 +++ 3 files changed, 5 insertions(+) diff --git a/test/py/tests/test_bind.py b/test/py/tests/test_bind.py index 4982a00fab6..b0a5b7b3e84 100644 --- a/test/py/tests/test_bind.py +++ b/test/py/tests/test_bind.py @@ -27,6 +27,7 @@ def in_tree(response, name, uclass, drv, depth, last_child): @pytest.mark.boardspec('sandbox') @pytest.mark.buildconfigspec('cmd_bind') +@pytest.mark.slow def test_bind_unbind_with_node(ubman): tree = ubman.run_command('dm tree') diff --git a/test/py/tests/test_fit_auto_signed.py b/test/py/tests/test_fit_auto_signed.py index cdfd341c6f5..0e34e4b0704 100644 --- a/test/py/tests/test_fit_auto_signed.py +++ b/test/py/tests/test_fit_auto_signed.py @@ -120,6 +120,7 @@ class SignedFitHelper(object): @pytest.mark.buildconfigspec('fit_signature') @pytest.mark.requiredtool('fdtget') +@pytest.mark.slow def test_fit_auto_signed(ubman): """Test that mkimage generates auto-FIT with signatures/hashes as expected. diff --git a/test/py/tests/test_make_dep.py b/test/py/tests/test_make_dep.py index 734cbb547e4..d5cb5145bc4 100644 --- a/test/py/tests/test_make_dep.py +++ b/test/py/tests/test_make_dep.py @@ -411,6 +411,7 @@ def _check_template_change(env, prev_esl_mtime, prev_dtsi_mtime): @pytest.mark.boardspec('sandbox') +@pytest.mark.slow def test_dep_hwids(ubman): """Test that Makefile dependency tracking works without FORCE @@ -432,6 +433,7 @@ def test_dep_hwids(ubman): @pytest.mark.boardspec('sandbox') +@pytest.mark.slow def test_dep_dtbo(ubman): """Test that dtbo dependency tracking works without FORCE @@ -450,6 +452,7 @@ def test_dep_dtbo(ubman): @pytest.mark.boardspec('sandbox') +@pytest.mark.slow def test_dep_esl(ubman): """Test that ESL dependency tracking works without FORCE From patchwork Sat Oct 18 08:40:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 603 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=1760776908; bh=ASIZ9j3n4D07lh3oSxUKE5q0Q0weHMzGzhWXcxWW5mw=; 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=jKRtZnKfNqrcK9iqI4BU5zZFSFbarbFP4eJtNIaNfIbbBvaCkpaP2yoFrHtp2OgNj lhwUouFwFcQXSkRJOtgE0oOOy5ypaWQC2LKnprnkeIpwE9gKBUHaJZPQoJWWq6liu1 5qR7AP2LlE1Y2eGvuSAYwuZV5q4HxE9rzpS1AYjW7z8hlbgqpRtJR9aNyOWVi1sXzv w9h4Zm+Y88ls7cSDoNjWjoh13zN1GWmOyCqg5KzIaSSq8c1oCiP2yu4BiBERrkbcw0 tTItEt/taR/uVsmAeVrcjv3xDaPSoY4iqMga5gvbRqq8hP9QcaTWUANSJ5kIsbND7o 1S+O8UXu0iyHA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id A537F681CB for ; Sat, 18 Oct 2025 02:41:48 -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 12OX7jGFlA8i for ; Sat, 18 Oct 2025 02:41:48 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776908; bh=ASIZ9j3n4D07lh3oSxUKE5q0Q0weHMzGzhWXcxWW5mw=; 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=jKRtZnKfNqrcK9iqI4BU5zZFSFbarbFP4eJtNIaNfIbbBvaCkpaP2yoFrHtp2OgNj lhwUouFwFcQXSkRJOtgE0oOOy5ypaWQC2LKnprnkeIpwE9gKBUHaJZPQoJWWq6liu1 5qR7AP2LlE1Y2eGvuSAYwuZV5q4HxE9rzpS1AYjW7z8hlbgqpRtJR9aNyOWVi1sXzv w9h4Zm+Y88ls7cSDoNjWjoh13zN1GWmOyCqg5KzIaSSq8c1oCiP2yu4BiBERrkbcw0 tTItEt/taR/uVsmAeVrcjv3xDaPSoY4iqMga5gvbRqq8hP9QcaTWUANSJ5kIsbND7o 1S+O8UXu0iyHA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 94E40681BC for ; Sat, 18 Oct 2025 02:41:48 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776906; bh=VkR2NLErx+PGJXv059YOUo5QMiR0rIOq8pMnyk3X7Ew=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=odqNlG6OvxigHVL5LY8rFyb0+2yr7NHaaXk4DdE1I55WmOtaDg+OGloXo1/vUpRUU s9Kd4lmLw0RvdfD6nZUbyiNaMEIxdcVijH8mw78AXsycbukaKlvh6KF1Cb5tWyvTv6 yXu0Zbqq0/QZQ5u7aH6lZtvdcWdHgaINArEga7+saHEektJL67AtO8qyB5TojUSr3N iw+SS6YNHFiBjJW/lW9cgIRCfaizOdlddY9xsoWgojY2OhWoboK8dU114492zzYVUX K7fW8xDjjMnLVgezCM6XjSzjB3nEvYJBZbzC9aKRCmpcR/mXnQSIJY4NEC84fqr+vu IsZ6xcP7vz6pA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 8EE67681BE; Sat, 18 Oct 2025 02:41:46 -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 kzfPN-nvPzB1; Sat, 18 Oct 2025 02:41:46 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776903; bh=/wNOKMZbDEXT/2fqozzjA4hRvTB9kstwc1O+3/C4E70=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nCR9NekO3ab40gIuU2TPSpEl8QGCKi1vQNk8JSej5fkbAA4COhcxYu4/P8v9DxQeC u2L79HuMlknb/H/DzT21dD7nE9oZtE6k9R1iW8U/pwTBtujq/Wom2PlcawzwP1wFWs BryBqj6bkz5atMhqJuOLVz5I7F3QRS6wQYpPSE8qfLzqYUYAlgn44+dDbd2g1ylPW3 USqUPh/dY6tEFc428Dp8I/35wFcC7c+6bbQPDdKww883S1tBCO+cPLb0oV2hcEtTUQ TdUDlF90fwDAEC2blBm0popZ8odYL6vQFR/KbKDD4QRa7S+StOlWe187Lh0aJJRyW4 8mBBW70339yjA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id D1F6E6814E; Sat, 18 Oct 2025 02:41:42 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:48 -0600 Message-ID: <20251018084117.1798704-4-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: BUIBIFWCD4L3HFRSEKWK6ANO6F6DS7XM X-Message-ID-Hash: BUIBIFWCD4L3HFRSEKWK6ANO6F6DS7XM 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 03/24] bloblist: Add a name for the EFI log 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 an entry for BLOBLISTT_EFI_LOG to the tag_name[] array, so that 'bloblist list' will show the tag as a string. Signed-off-by: Simon Glass --- common/bloblist.c | 1 + 1 file changed, 1 insertion(+) diff --git a/common/bloblist.c b/common/bloblist.c index 790b0ea892d..d1d7ddb956a 100644 --- a/common/bloblist.c +++ b/common/bloblist.c @@ -63,6 +63,7 @@ static struct tag_name { { BLOBLISTT_U_BOOT_SPL_HANDOFF, "SPL hand-off" }, { BLOBLISTT_VBE, "VBE" }, { BLOBLISTT_U_BOOT_VIDEO, "SPL video handoff" }, + { BLOBLISTT_EFI_LOG, "EFI-call log" }, /* BLOBLISTT_VENDOR_AREA */ }; From patchwork Sat Oct 18 08:40:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 604 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=1760776911; bh=A5zjUKB5jPlKH27wCrDh1Ns/D254Slq9GIJHWvzUusU=; 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=U1TPzYF7xSvwtTCdZVbZOwPXiXb9APC1q5iCKX8UzkwjWnUTUB2nemPD2wV0WP15K AV6Wd2U9Zwt9ASGJVG1M5bCdnK6rkbfqMX8i+32Kj4/hQEbxAdl028XcuGou4frz7i 5xwku0fIJRhAu8i9qTphHhgxrstU85AMcp/GWmRc8UXES+xWrlO4D7V74dLRLfCy3G f63ePryLmaI0Z3s03kg4D4JZYZvzKPnMDK7X91R/vuCjgNydoCBrD0iazlKGNCneqg DYH/V0UvNBT/BV16ofeCE5Ty2NMWcJHZ5buogu5d2scM5b4cNQy7J2rQtFPopR6w4N gXpCI/vJ+oYeQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 01E4A681CF for ; Sat, 18 Oct 2025 02:41:51 -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 QfYQGCM8gsde for ; Sat, 18 Oct 2025 02:41:50 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776908; bh=A5zjUKB5jPlKH27wCrDh1Ns/D254Slq9GIJHWvzUusU=; 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=GNvNqH/iwXTFgmt/q2WsKz7KwKJCwFvDvtznHtQlWslMTxBi13rzApj95GmXv6lXh WZworwAqHnufRVTWTAZLw19TIPt8r/h7vfF3OOHMf72Aj05mt26ah0w+ZOlXt8UCmo xdZPWIEUomoc8xLeIeG1zce9Fn0lWf3WMaa9qJnMS/UkKoh3DiL4TXm2UlaHavjg0q 5vIVtXT41nrqUOaX/7z3VKSvg8Cp+3av6y64UO7K837g7NnH+XNH9SPwvcVkI5xMvu YSimFMoC2+3KATyD9UqfWw0f6rBsV9iOzNR6myjgddIykhIAquDwlr1zXC+eEtOhNz hl0PB4uB6TzPQ== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id EFEA56814E for ; Sat, 18 Oct 2025 02:41:48 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776906; bh=KPkModgKK15pSAwYlh3hQolLN6K8pT4JkdR1+DndeJk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GB4AADVlogJMJQhYZrUDnlwBrkQwgR97dPuRlE37E45j4sMQvRrQlQ/YCtx2Nm5KJ ay9CBcSuNmHPFA+JTms/H8TE+crEqr9PqJ6IA6E2pRXcbCnRhjut68abX+Flwy+kmc 0GlybsLdFA5FxD8Oj4c9Ezi1MVm/JWbMyoM7DLLiK9t94W5WCLc/vGDtIVat0Ljr3P Z7rMerABMnxKV+ZM8Lcn9f6PpXIFHt8Uk1zzvvDGCyKzIoUb6NlMhrFDkTfkF9ASnD SVM8+zCTbvW68VSi+iwdZupajE0GM4+UAnLThM78ChaM/itpNwsKopWjr1YSnoI2I8 e/ZScjCZsmPcA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 97EEB6814E; Sat, 18 Oct 2025 02:41:46 -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 kh58-OcidMjL; Sat, 18 Oct 2025 02:41:46 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776905; bh=ckcDuRaxaWvqolqWzBmZXbeBex6mpBVAhKEsdA/4waQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=J1SKTrcHU+qXKfoLoTjZFl2KmPupSVuxluFFJCPoV2bDIcEw5BVVUXpEu87P3x6M2 B2Xru5jEHdTkJiX1qQsQthuI2ITjyasXeyRABwW93c/cXHCNT5e/b8Jnk+/W3OohoR Jn5Amw01/d0wBb046+sI+EafDuhoKvJflJ9ydNxRUzyUXX0WlT51BtIwcaP+cjy538 mv94dbJce6i3mf9PfCOJ4A6tiVRhwScCOTybLhBYCp7rGV9eQ2vb8I1UFuUBJbSbWk 6QIRJPai4BB6iO+80Dhiqp0PxOcsGFC8TH7lturSNgi6GqyvJDG/X3LJjLOT/sdFst 2z5SoNnCfX9cQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id D0DB7681BC; Sat, 18 Oct 2025 02:41:44 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:49 -0600 Message-ID: <20251018084117.1798704-5-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: SLIUUG7IN3ATPTCQKMP5ZDQTUVOFHN6A X-Message-ID-Hash: SLIUUG7IN3ATPTCQKMP5ZDQTUVOFHN6A 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: Simon Glass , Claude X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 04/24] bloblist: Provide a way to remove a blob 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 a function to remove a blob of a particular type. Signed-off-by: Simon Glass Co-developed-by: Claude --- common/bloblist.c | 32 +++++++++++++++++++++ include/bloblist.h | 12 ++++++++ test/common/bloblist.c | 64 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 108 insertions(+) diff --git a/common/bloblist.c b/common/bloblist.c index d1d7ddb956a..e5fa67b0f71 100644 --- a/common/bloblist.c +++ b/common/bloblist.c @@ -356,6 +356,38 @@ int bloblist_resize(uint tag, int new_size) return 0; } +int bloblist_remove(uint tag) +{ + struct bloblist_hdr *hdr = gd->bloblist; + struct bloblist_rec *rec; + ulong rec_start; /* offset where record starts */ + ulong next_ofs; /* offset of the record after @rec */ + ulong removed_size; /* total size to remove, including alignment */ + + rec = bloblist_findrec(tag); + if (!rec) + return log_msg_ret("find", -ENOENT); + + /* Calculate where this record starts and where the next one begins */ + rec_start = (void *)rec - (void *)hdr; + next_ofs = bloblist_blob_end_ofs(hdr, rec); + + /* Calculate total size to remove (record + alignment) */ + removed_size = next_ofs - rec_start; + + /* Move all following blobs backward to fill the gap */ + if (next_ofs < hdr->used_size) { + memmove((void *)hdr + rec_start, + (void *)hdr + next_ofs, + hdr->used_size - next_ofs); + } + + /* Update the used size */ + hdr->used_size -= removed_size; + + return 0; +} + static u32 bloblist_calc_chksum(struct bloblist_hdr *hdr) { u8 chksum; diff --git a/include/bloblist.h b/include/bloblist.h index e55d71110c3..ff88f4c8d5e 100644 --- a/include/bloblist.h +++ b/include/bloblist.h @@ -350,6 +350,18 @@ int bloblist_ensure_size_ret(uint tag, int *sizep, void **blobp); */ int bloblist_resize(uint tag, int new_size); +/** + * bloblist_remove() - remove a blob from the bloblist + * + * This removes the blob with the given tag from the bloblist. Any blobs after + * this one are relocated backward to fill the gap. The space is reclaimed and + * used_size is reduced accordingly. + * + * @tag: Tag to remove (enum bloblist_tag_t) + * Return: 0 if OK, -ENOENT if the tag is not found + */ +int bloblist_remove(uint tag); + /** * bloblist_new() - Create a new, empty bloblist of a given size * diff --git a/test/common/bloblist.c b/test/common/bloblist.c index 797bde27025..ad87b104d9c 100644 --- a/test/common/bloblist.c +++ b/test/common/bloblist.c @@ -605,3 +605,67 @@ static int bloblist_test_blob_maxsize(struct unit_test_state *uts) return 0; } BLOBLIST_TEST(bloblist_test_blob_maxsize, UFT_BLOBLIST); + +/* Test removing a blob */ +static int bloblist_test_remove(struct unit_test_state *uts) +{ + const uint small_size = 0x20; + struct bloblist_hdr *hdr; + void *blob1, *blob2, *blob3; + ulong used_before, used_after; + + clear_bloblist(); + ut_assertok(bloblist_new(TEST_ADDR, TEST_BLOBLIST_SIZE, 0, 0)); + hdr = map_sysmem(TEST_ADDR, TEST_BLOBLIST_SIZE); + + /* Create three blobs */ + blob1 = bloblist_add(TEST_TAG, small_size, 0); + ut_assertnonnull(blob1); + strcpy(blob1, test1_str); + + blob2 = bloblist_add(TEST_TAG2, small_size, 0); + ut_assertnonnull(blob2); + strcpy(blob2, test2_str); + + blob3 = bloblist_add(TEST_TAG_MISSING, small_size, 0); + ut_assertnonnull(blob3); + + used_before = hdr->used_size; + + /* Remove the middle blob */ + ut_assertok(bloblist_remove(TEST_TAG2)); + + /* Check that the blob is gone */ + ut_assertnull(bloblist_find(TEST_TAG2, 0)); + + /* Check that the first blob is still there and intact */ + ut_asserteq_ptr(blob1, bloblist_find(TEST_TAG, small_size)); + ut_asserteq_str(test1_str, blob1); + + /* Check that the third blob is still there */ + ut_assertnonnull(bloblist_find(TEST_TAG_MISSING, small_size)); + + /* Check that used_size was reduced */ + used_after = hdr->used_size; + ut_assert(used_after < used_before); + + /* Try to remove a non-existent blob */ + ut_asserteq(-ENOENT, bloblist_remove(TEST_TAG2)); + + /* Remove the first blob */ + ut_assertok(bloblist_remove(TEST_TAG)); + ut_assertnull(bloblist_find(TEST_TAG, 0)); + + /* The third blob should still be accessible */ + ut_assertnonnull(bloblist_find(TEST_TAG_MISSING, small_size)); + + /* Remove the last blob */ + ut_assertok(bloblist_remove(TEST_TAG_MISSING)); + ut_assertnull(bloblist_find(TEST_TAG_MISSING, 0)); + + /* Check that we're back to just the header */ + ut_asserteq(sizeof(struct bloblist_hdr), hdr->used_size); + + return 0; +} +BLOBLIST_TEST(bloblist_test_remove, UFT_BLOBLIST); From patchwork Sat Oct 18 08:40:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 605 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=1760776915; bh=xgjO2Bs8Yy/DAc/2bTt10AdRkkumZnAa7bjxMtE0WfA=; 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=CyjisZZwK0dODx2O6wUTqbOxnR4s9PWAeYl5rJL6poCeeiSMOlZkC6S8kVnInguWi rr20BxoBCHcMcH9jhmYsrws8/OuLPjs0k+ogCZeXuQ0t7pp/32mr7OMQFdY6Vdr9Ru BH3eLdFdgjWf7QEnrF5MFcy7gmk2ejbGSbC4E2EFrVhAldAg+6NkDQcAzex+w2w18X yY9DLKtWnX4qfBp/KvDZFy/IRr8Faa/7JLnA/QUbStJai8eSWZ9Kkxh8mo2tgtsm22 JgYdun4O/VToHnukBJMOuj4i/zY0ZpyIrnTEtNhFV+FhQlTWzj7Pic1Ur1ycHVKlqu NaW2O9n9mKBAw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 711AE68109 for ; Sat, 18 Oct 2025 02:41:55 -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 UmN286uvgp3a for ; Sat, 18 Oct 2025 02:41:55 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776915; bh=xgjO2Bs8Yy/DAc/2bTt10AdRkkumZnAa7bjxMtE0WfA=; 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=CyjisZZwK0dODx2O6wUTqbOxnR4s9PWAeYl5rJL6poCeeiSMOlZkC6S8kVnInguWi rr20BxoBCHcMcH9jhmYsrws8/OuLPjs0k+ogCZeXuQ0t7pp/32mr7OMQFdY6Vdr9Ru BH3eLdFdgjWf7QEnrF5MFcy7gmk2ejbGSbC4E2EFrVhAldAg+6NkDQcAzex+w2w18X yY9DLKtWnX4qfBp/KvDZFy/IRr8Faa/7JLnA/QUbStJai8eSWZ9Kkxh8mo2tgtsm22 JgYdun4O/VToHnukBJMOuj4i/zY0ZpyIrnTEtNhFV+FhQlTWzj7Pic1Ur1ycHVKlqu NaW2O9n9mKBAw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5BA0B68188 for ; Sat, 18 Oct 2025 02:41:55 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776913; bh=xypRfof6E5gjHyKiVXjUb1HTqOMq98sJNmMFvsPPHkA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N+BnMckmdPXCwV1b6aoegOjMJn9wfY5NhA7pSCsEjxxOsqzZH9xzM3Q4ZrcE8hLKs A542jOR388/8nq69R40+jtGJIaLLR/oQJ5w04lvPdugMdgK8kNRGjTHE491C8Gd1FG MsC1KPEwcE7MyFyKv5AisqBdb0t/jlAKTztpF7tRAForJbDuPWUetFXs3DaUlu5TUl 9W87k2f8ajh++Ex/RxO+v//RVmMoL2X+Ntyh5DAe/CSgG0mTMIOECbL2/RToszBluC wu7CZ+m3AY00EyA21viNVBCGtHFlvi8tclESaxeLH2rogkhTlWuWjcUR/2fzxLSw0J 61JrOWradZdpQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 3DB9168188; Sat, 18 Oct 2025 02:41:53 -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 vb3gafJYweCd; Sat, 18 Oct 2025 02:41:53 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776906; bh=22RS5jMcwDshY1LDguOhRyRCIaEq/UZ+thdjTUBbj7A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UqbRQPmEwhNbkLYoH/I+8DPbTh6hdr1AL7hI0hUgzes17vWkETn6smfAKn5oYx9lw ywsBolXv/OdlAMDk8HUXBt9KlUGY0Wwh2WeuyQzstLlNdbcoz3gtSKX35h9rS9u8ky N6ALvbm35+dy47JCWuyeqdi6ADs5OB28aG20XGxi0UwCDuZy7tnPqR8j/MucGKIzn0 ZgiZWPxlFu+AA1roFOmDXSq4Lkta3D4Tsg0gEnGyBO+HB/8PaE/rDzVMMqfhMgyxxI A2IK/dLKifahpRhvmWBXtgDr4Bm/pYj6ZoBF360hSzpLHjpkpqYVEc9Z0+PtCTStip a0vHqRPKO178A== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id BE25068109; Sat, 18 Oct 2025 02:41:45 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:50 -0600 Message-ID: <20251018084117.1798704-6-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: BXBFDYQHR73NSN3OZPL2FIWKMUTZ72RS X-Message-ID-Hash: BXBFDYQHR73NSN3OZPL2FIWKMUTZ72RS 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 05/24] tpm: Correct address handling in tcg2_platform_get_log() 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 function assumes that an address is the same as a pointer. Use map_sysmem() to fix this, which crashes on sandbox. Rename the parameter from addr to ptr, to avoid further confusion. Signed-off-by: Simon Glass --- include/tpm_tcg2.h | 4 ++-- lib/tpm_tcg2.c | 21 +++++++++++---------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/include/tpm_tcg2.h b/include/tpm_tcg2.h index 189a93ee840..e305bc29a95 100644 --- a/include/tpm_tcg2.h +++ b/include/tpm_tcg2.h @@ -313,12 +313,12 @@ void tcg2_measurement_term(struct udevice *dev, struct tcg2_event_log *elog, * Get the platform event log address and size. * * @dev TPM device - * @addr Address of the log + * @addr Pointer to the log * @size Size of the log * * Return: zero on success, negative errno otherwise */ -int tcg2_platform_get_log(struct udevice *dev, void **addr, u32 *size); +int tcg2_platform_get_log(struct udevice *dev, void **ptrp, u32 *sizep); /** * Get the first TPM2 device found. diff --git a/lib/tpm_tcg2.c b/lib/tpm_tcg2.c index 364f7287438..bcd3423d923 100644 --- a/lib/tpm_tcg2.c +++ b/lib/tpm_tcg2.c @@ -671,7 +671,7 @@ void tcg2_measurement_term(struct udevice *dev, struct tcg2_event_log *elog, unmap_physmem(elog->log, MAP_NOCACHE); } -__weak int tcg2_platform_get_log(struct udevice *dev, void **addr, u32 *size) +__weak int tcg2_platform_get_log(struct udevice *dev, void **ptrp, u32 *sizep) { const __be32 *addr_prop = NULL; const __be32 *size_prop = NULL; @@ -680,13 +680,14 @@ __weak int tcg2_platform_get_log(struct udevice *dev, void **addr, u32 *size) struct ofnode_phandle_args args; phys_addr_t a; fdt_size_t s; + void *ptr; + int size; - *addr = NULL; - *size = 0; + ptr = bloblist_get_blob(BLOBLISTT_TPM_EVLOG, &size); + if (ptr && size) { + ulong addr = map_to_sysmem(ptr); - *addr = bloblist_get_blob(BLOBLISTT_TPM_EVLOG, size); - if (*addr && *size) { - *addr = map_physmem((uintptr_t)(*addr), *size, MAP_NOCACHE); + *ptrp = map_physmem(addr, size, MAP_NOCACHE); return 0; } @@ -714,8 +715,8 @@ __weak int tcg2_platform_get_log(struct udevice *dev, void **addr, u32 *size) u64 a = of_read_number(addr_prop, asize / sizeof(__be32)); u64 s = of_read_number(size_prop, ssize / sizeof(__be32)); - *addr = map_physmem(a, s, MAP_NOCACHE); - *size = (u32)s; + *ptrp = map_physmem(a, s, MAP_NOCACHE); + *sizep = (u32)s; return 0; } @@ -727,8 +728,8 @@ __weak int tcg2_platform_get_log(struct udevice *dev, void **addr, u32 *size) if (a == FDT_ADDR_T_NONE) return -ENOMEM; - *addr = map_physmem(a, s, MAP_NOCACHE); - *size = (u32)s; + *ptrp = map_physmem(a, s, MAP_NOCACHE); + *sizep = (u32)s; return 0; } From patchwork Sat Oct 18 08:40:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 606 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=1760776916; bh=tjZJ9qsbJS2tYi7Ab0lQLaMecHCa81TSIOc8ZjAYBrw=; 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=kMVmve39JebZ7GgqMr8dr/4ydkURKsDC/9iEx/AK59AdkUcgsqficky9FxBbseDIp iFgo0Wbyfgr/GquktOFYxiWWt+2jjecVvyXBL6jAftgjRvN5HRDGZx9wId8dvyhZOu QkczajeeB6ctbyRXI9e2y1PcprOjG1nuVSIkQcfmPqIksZrcAOESebbb6kf5Dq5QWI xsn2TmGe5dLC4qc8k2kodjTSmJ1N6vFxLEtmbT4BrP4wrkfFKrmvco+PPragm+4Qik O80hJEME0dGXigPsgyZ0ytvqGnXAZt8A9X9tx4GTDJbFfhAm0QV9h9P2MRVsjvzKYi 3uG+PEoSqOl5w== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id CCA28681D6 for ; Sat, 18 Oct 2025 02:41:56 -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 m8XFnvRr9jGJ for ; Sat, 18 Oct 2025 02:41:56 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776916; bh=tjZJ9qsbJS2tYi7Ab0lQLaMecHCa81TSIOc8ZjAYBrw=; 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=kMVmve39JebZ7GgqMr8dr/4ydkURKsDC/9iEx/AK59AdkUcgsqficky9FxBbseDIp iFgo0Wbyfgr/GquktOFYxiWWt+2jjecVvyXBL6jAftgjRvN5HRDGZx9wId8dvyhZOu QkczajeeB6ctbyRXI9e2y1PcprOjG1nuVSIkQcfmPqIksZrcAOESebbb6kf5Dq5QWI xsn2TmGe5dLC4qc8k2kodjTSmJ1N6vFxLEtmbT4BrP4wrkfFKrmvco+PPragm+4Qik O80hJEME0dGXigPsgyZ0ytvqGnXAZt8A9X9tx4GTDJbFfhAm0QV9h9P2MRVsjvzKYi 3uG+PEoSqOl5w== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 9F515681CD for ; Sat, 18 Oct 2025 02:41:56 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776913; bh=D8Kl+RJT5ifVo1zBIbRckddEwaM84AbIbwvZ6dis62E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QoGnS7bMk27Z0AuP/5N5hMEgJ2euqg5emij5i+ozLkd72sDyr8GkOv2uPsSszNVKx D4J2K4v4CcHDPcxpU0iAKK6wPJeZJMS5o4NEzR86i38yRGYRN0ISsZTYVCHFjNkI8k gHursMSzKv2itFABsAvKlc77ftbIb94eI6spqf9jYayuANPvM2+6w+tiLF9yG+cbMa H45V0c62+XcYvqQ7BjqeZpU7MlHroH+X+XpuORScSzCQkVnxmFV2iMoPKPgjs1axwY hHEhepiuL1GAgeKiL1P2P06c7E/FCoL9LpPU7OIEKtrPmSK+JkRdgWDNCsN97Ek7Gi sUh/m1v7Dw7Kw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 3EAF66819D; Sat, 18 Oct 2025 02:41:53 -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 39bBAv6xGQ-S; Sat, 18 Oct 2025 02:41:53 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776910; bh=cFhRp8jIZnr/BJRHbopn182nUe9RuFnzCUUy+xKWy6E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d5Km+JzvcnviX0FJZTwi51mdKiSMShjotBxEs2zBK0Hi2hVOEqM+k3r6CzQsiZC5a pv14iciP+VTfFP9yX5nx7oQDMMI6oFxNikNMwwqyQcZAUFKrL1vlnwOJZ3KZtQuSQi +lnPYP594WTlffGQ28Y+88GB2Jig3ymK1i6I1sD/PDEBRL8515MCII9vKoBhP0Hkqq Q2xdCONgiSKw911zAM3cepCLW184ucznoEVX9BVh/wff98ia1V9P5MWWWBtSEcqLe2 /JFGjO9aVx7W44Wd8/a7kgq+w0Kwq2eDA7Wee3vMNKBHnhT8edO5j+1RiFMPoQZrPf sfzRaR5K3Qihw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 4C194681CB; Sat, 18 Oct 2025 02:41:50 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:51 -0600 Message-ID: <20251018084117.1798704-7-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: LSQORB3JESN57XDUUJAQCMXDOMHTDRDT X-Message-ID-Hash: LSQORB3JESN57XDUUJAQCMXDOMHTDRDT 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 06/24] scripts: build-efi: Use a locally built OVMF image 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 standard OVMF image does not include mouse support. Use a locally built release build instead. Signed-off-by: Simon Glass --- scripts/build-efi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/build-efi b/scripts/build-efi index 032b9f7b1ab..fffe699e80a 100755 --- a/scripts/build-efi +++ b/scripts/build-efi @@ -89,7 +89,7 @@ class BuildEfi: else: # x86 if self.helper.bitness == 64: qemu_arch = 'x86_64' - bios = 'OVMF_CODE_4M.fd' + bios = 'OVMF-release-x64.fd' else: qemu_arch = 'i386' bios = 'OVMF-pure-efi.i386.fd' From patchwork Sat Oct 18 08:40:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 607 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=1760776919; bh=fF0D9ztwstJpkTYMdjT1qrvtYE9mqVTzEkG2esitPaQ=; 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=c0clyH/sx0hHLO+g3LW6wp7xQrBupTVOQ0SFK0N3SkqIqDHE2LP/i1K7avva57mJi hhONyE60tuLYC9NdQQOdQslpo7L7DULM69W1vjoeLXdXSxD2jM5lmJRNeKUkoiEj+l wfgpZwrzzGl9UEmMGr3mrhkhecM5ZtJ2ctkVwkvjLNGk3TKuEGuSqlms57x0e6P/F8 NXhqSv4FikSj8K+Z5Yh+jz2lVK3HNfPGG6f+LvRM9RO3zAKTedFG714o1i6uaha9rV cGOCdVYA3e9fm2Nj+jACLS91MPR8BQ4IhkapZz+lT++HeKAkdrZN6mKw1NM7C0UZwO exkV++uH76dZw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 7824868188 for ; Sat, 18 Oct 2025 02:41:59 -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 mQYqxT43Xemq for ; Sat, 18 Oct 2025 02:41:59 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776919; bh=fF0D9ztwstJpkTYMdjT1qrvtYE9mqVTzEkG2esitPaQ=; 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=c0clyH/sx0hHLO+g3LW6wp7xQrBupTVOQ0SFK0N3SkqIqDHE2LP/i1K7avva57mJi hhONyE60tuLYC9NdQQOdQslpo7L7DULM69W1vjoeLXdXSxD2jM5lmJRNeKUkoiEj+l wfgpZwrzzGl9UEmMGr3mrhkhecM5ZtJ2ctkVwkvjLNGk3TKuEGuSqlms57x0e6P/F8 NXhqSv4FikSj8K+Z5Yh+jz2lVK3HNfPGG6f+LvRM9RO3zAKTedFG714o1i6uaha9rV cGOCdVYA3e9fm2Nj+jACLS91MPR8BQ4IhkapZz+lT++HeKAkdrZN6mKw1NM7C0UZwO exkV++uH76dZw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 66C006819D for ; Sat, 18 Oct 2025 02:41:59 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776916; bh=i3F4MQ9pohksZNa+839ajO1YcVwlxMJWQrHk/OXvsro=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PHK9uxOukjUN3k2+ftsGry0p/x3+1mru7PpEEfxPVFqDdKqMUFjxXnRRdyWNJtEdk Ri1g17foahtqzt+u4Ppke8jWJNbcT8EnzC73BH3pcp+ed6IaZRe6fBqbL/Tnkmu+GS CFzfAAdP31q54qbJcdmPRaS714cfc8l2owhmDh72Q6PAFTD7vALhwtBWCVl3sDUiJG w4YksXz88CbXoQeKxh6Fb/pZpfeNOF+5khwu4B3XamSduKz4xPF3YEZBwp3tR9gpLT fP3p1Y5oV6Zm+GXQ80z5FEJkvU7f96XuURoKgUvbqGJunTOOuyngWNFbUzSmdd4PJq r0TPiTuD42mxQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 9D41768109; Sat, 18 Oct 2025 02:41:56 -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 sF0gbsTdaGuV; Sat, 18 Oct 2025 02:41:56 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776912; bh=Pji/WMT4S/vPb5NC7s3SRnWTgoSOENdevONBtMK+OaY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=qoomOwK6QbCzf/MA9Z5OyLD26nu+pfh+QRddjPuRqTQnToiXr7H6AtGoKKY1Xsg2p SeL7EYsQ1kONm8uDUDMDywBPYJnJzJ6AebBXeZxGsTHue2bmCQ6hNk7J7KxsdVNCFa qfIW4IH8auVpgFw/1AJMUUm2kRYNBVtoXqAoQbb4xIxJYhOfCrjeEm7dQjKTIFOzoq pr+9iTt7W4742gV/tqBUNCspU6K0mmZoM3tbDof2koBBjogRbJgIL4bxm9NjXvo1lJ c5OKbtPH49V40jIfUWpT7aU13qKrZxL466wDxEax+RreHHJ6AumR2IK342zmHcQzrS Yec8kQTAImPYA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 4E1406814E; Sat, 18 Oct 2025 02:41:52 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:52 -0600 Message-ID: <20251018084117.1798704-8-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: MH42RA4GIQ7HB3WFWC2WASQVYVJWAZ3K X-Message-ID-Hash: MH42RA4GIQ7HB3WFWC2WASQVYVJWAZ3K 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 07/24] boot: test: Add another Ubuntu image on mmc11 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 Bring in a test image which has a different version of Ubuntu. Signed-off-by: Simon Glass --- arch/sandbox/dts/test.dts | 9 +++++++++ test/py/tests/test_ut.py | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index da4a89baf30..86c01545462 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -47,6 +47,8 @@ mmc7 = "/mmc7"; mmc8 = "/mmc8"; mmc9 = "/mmc9"; + mmc10 = "/mmc10"; + mmc11 = "/mmc11"; pci0 = &pci0; pci1 = &pci1; pci2 = &pci2; @@ -1194,6 +1196,13 @@ filename = "mmc10.img"; }; + /* This is used for bootctl tests */ + mmc11 { + status = "disabled"; + compatible = "sandbox,mmc"; + filename = "mmc11.img"; + }; + pch { compatible = "sandbox,pch"; }; diff --git a/test/py/tests/test_ut.py b/test/py/tests/test_ut.py index 0acc40ae6aa..b532bdced13 100644 --- a/test/py/tests/test_ut.py +++ b/test/py/tests/test_ut.py @@ -80,9 +80,10 @@ def test_ut_dm_init_bootstd(u_boot_config, u_boot_log): setup_cros_image(u_boot_config, u_boot_log) setup_android_image(u_boot_config, u_boot_log) setup_efi_image(u_boot_config) - setup_ubuntu_image(u_boot_config, u_boot_log, 3, 'flash') + setup_ubuntu_image(u_boot_config, u_boot_log, 3, 'flash', '25.04') setup_localboot_image(u_boot_config, u_boot_log) setup_vbe_image(u_boot_config, u_boot_log) + setup_ubuntu_image(u_boot_config, u_boot_log, 11, 'mmc') def test_ut(ubman, ut_subtest): """Execute a "ut" subtest. From patchwork Sat Oct 18 08:40:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 608 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=1760776924; bh=AAR/vYxta/ZDKAesEQ8Z1hU8WtB31ZkgKWH+LY3Q2LM=; 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=YstZDB7v7c+iFEJ+cWXreR+F1jW1gnvxGP5T5Fk+L9C//M7+ilT393u8a2ij1wGra gvNpZsGyyfWyL9uvK5Gx99mkAYHuL7cBn8XXZWg2o1qpMYddsAeK1CUemef4lGN4Yh jM0QSxd+EjODS7LXgrVypLbqkqGYgIonp8vNZsIIHM0+UjVTrO0h0qVe9H7rFwH7vu yQ9eTEq3FR55NpRbdFLd2vZHe5MnqqxyCIJ/D6n20+yx+pJw1fspOg8z1T/5hY/0eq rQwXLyNqIfk0P07wIq6Aq20GcfsumXNwn3P3yBlpP/0i1pN7KSCMFbdRqGva1V3UsS DtJFWzQjCS0Kg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 2900B681BC for ; Sat, 18 Oct 2025 02:42:04 -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 DvxfszrRH53n for ; Sat, 18 Oct 2025 02:42:04 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776924; bh=AAR/vYxta/ZDKAesEQ8Z1hU8WtB31ZkgKWH+LY3Q2LM=; 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=YstZDB7v7c+iFEJ+cWXreR+F1jW1gnvxGP5T5Fk+L9C//M7+ilT393u8a2ij1wGra gvNpZsGyyfWyL9uvK5Gx99mkAYHuL7cBn8XXZWg2o1qpMYddsAeK1CUemef4lGN4Yh jM0QSxd+EjODS7LXgrVypLbqkqGYgIonp8vNZsIIHM0+UjVTrO0h0qVe9H7rFwH7vu yQ9eTEq3FR55NpRbdFLd2vZHe5MnqqxyCIJ/D6n20+yx+pJw1fspOg8z1T/5hY/0eq rQwXLyNqIfk0P07wIq6Aq20GcfsumXNwn3P3yBlpP/0i1pN7KSCMFbdRqGva1V3UsS DtJFWzQjCS0Kg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 13F6C6819D for ; Sat, 18 Oct 2025 02:42:04 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776921; bh=tnRKPUngsj9EZC0p1dyov1cjT1yy4cv34c7xoAVH8js=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GrcOBRTVs++gpj5of7866WH9d2xTOgF6kAzl90VH8dzAZkx/0qxxO3bI4bCTatTJb 3pAACIkkS/owUsDjWXd9wnmny/DphOHFpKXrxHF1UjLzaNojaTVKJIPwN7qkpj6iCh bX0hqFXBxtbPpuE8KdDIUwdzYgnBVu8YapRBHn2zIKi5LKxAgBeEXQr2cuDCEmm0Ye tH18TjGZw2RODSRIGN/8VxVp9GdLooIHAEVWT9d7uqugGoOvody9Aq/tgbDy5PuNQZ rFj7XilKXh9GDTKVntmz/GEWLCLkhdeVquzoLp4NZW2I/l0nH4ZteluvvG97+aoOip TDtqu/XMdy8Ow== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E56EB6819D; Sat, 18 Oct 2025 02:42:01 -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 23nSHu7ye81V; Sat, 18 Oct 2025 02:42:01 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776917; bh=bbo7evuz8grwYx+h03yWPR+QgjjExgGlJuqIf3//M9Y=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MGeYJ+It3QkeU0agNHmuIJ305msWteOSI1OrSDpSWsTkZOiuAUDWxHRj0gJyxyVtC cgU9H6gEiZg2CxO6osJYjvQ0ZiIjZA6twnemzpePPznlnUleA1XMhlBXS0my48QV3A tIhNG4vc+/NNtcIzrXgNe273ClCNnFDyjQi3FHovUUEAz5AEtTB8GndTdinHvNFZ1P 1ScomnKKXjlW0JnzOWM+tJLLO7hdJysrnYY7GypVcL9/jy9oQPfMeTapf0nma+ZryG k31b1K4lPF4+dEZiqJ+u1WvGvGSGHtZ2zxbbK99Ho3iYLRmV2IXx8NYyBZnnMLcZkI aArBDu/v/aS4g== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id D75276814E; Sat, 18 Oct 2025 02:41:56 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:53 -0600 Message-ID: <20251018084117.1798704-9-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: HYFB35TZZRYCTUM5FG4BXQHLEQNGHSPU X-Message-ID-Hash: HYFB35TZZRYCTUM5FG4BXQHLEQNGHSPU 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 08/24] boot: Allow switching back to another layout 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 Implement the settings button to permit the user to switch to another UI layout, if available. Signed-off-by: Simon Glass --- boot/bootflow_menu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/boot/bootflow_menu.c b/boot/bootflow_menu.c index 161c5a42401..26a2f559958 100644 --- a/boot/bootflow_menu.c +++ b/boot/bootflow_menu.c @@ -418,6 +418,8 @@ int bootflow_menu_poll(struct expo *exp, int *seqp) case EXPOACT_CLICK: if (act.select.id == OBJ_SETTINGS) return -ECOMM; /* layout change request */ + case EXPOACT_SETTINGS: + return -ECOMM; /* layout change request */ default: return -EAGAIN; } From patchwork Sat Oct 18 08:40:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 609 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=1760776926; bh=99pq2PHoHc0EGpAvQuuUT4SfnF5dmA+wpi/fpW+jX50=; 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=ZnuB7c1naFJr0cu53elfTtU5vPX/4Am5GTl9EQS49isDZurBFXz++tjm24MMBDzcU jcrCYTQStziqHnqoScIWF/VCtRIywxTNTLyA4Pt95fZeCD0dUsWS6QJFz6l6FGn4aQ pXvsANvo9/J9G33puB9hEgZE7k6Z6N7rgx68e967DrWF3lzAm4pQ42rnQWrmwH8gma w0eFh+DnhZXGdPjsmm57mHSKR1cG2Ck7TOJ96IUqMbXwumyeAoWAujRHtbDQCkNZy2 pQh0UqRPNjEtZuaOxEYFAbBr1VtpHFRjbYt6BX1T4JBe/wMZSwsEFt3WyvRwN4gXlX wVsr62p/euCGQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 95D426819D for ; Sat, 18 Oct 2025 02:42:06 -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 dmthI5WjJJhA for ; Sat, 18 Oct 2025 02:42:06 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776924; bh=99pq2PHoHc0EGpAvQuuUT4SfnF5dmA+wpi/fpW+jX50=; 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=v03QDM7ABEwvREO96OOl6aLafMzRJyGnerhkkSOO8TmgaOld/OBs7pBjUuOZ2z5HY 17xop/U6xA5Z9m3HubTKBWIP3gu3umLNHud4HvxoZt0Lst/H1gGrRnYde0gmf2h+YE V9SGJ2DgrlbdGZfCUllFwRr6sJkP5ReACTyzIXb9pO3C+VcEb5dbmK5ZWeVNV3l+Xt 8WUzTw1/0JgFbiYqZsed7OxCqMQwGh2i615Wk5ahCDmRdjxWNeyD7HyxmR9Rv5T6f3 zMofdSFPlMqJiXQxPyIx/5oTi5CJb1THqjbUeCANnbbqh64U2OA54gSedTHCSFJdAr xYimQffL/aa9w== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 94E15681D6 for ; Sat, 18 Oct 2025 02:42:04 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776921; bh=cjv7W9rgzHwkrBDY6lou8tyxzv/M92piqCUSoEHTCSE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lpMUhRPscyE5MZ0rPzfFl5wjWcgEqEPkDQshFhCZ/6XJAbMRib2Vny7A6lGDM6E0o qlHvj9mIQt2MlOnKJQFBh2qJFrpH9cG4JeWk71+yxoYPJw+/rRLVJsdIZIdqJrRT3L EAEOjQRnxe4g1G4S9UtGXkDE4Lj69fbUK6x1SVO2bOMwSSnuvT+41rjPf6VCKY58Gz aDk9g9c2NePsxnmuiHjHJFeM06XpqbVuGnuSRrCt1RaGl4HHPHhL6Y6UVCWed+iJ2w qHcH3/Xiw0hfNEv0THS5CvCGYCIep7jx4WP5/+bH8s5bZ30ogZ7Ssl130kCgKIUiEo YTVc8mK2+QbLQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E64FD681BB; Sat, 18 Oct 2025 02:42:01 -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 reQinijr0dDz; Sat, 18 Oct 2025 02:42:01 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776921; bh=AG0A88lSYBuUycxIAuXW1t6L+njTqNZt+v2ugFZYvyo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BzRTaTzgZfxPlJue33cRw1emJgXJvFkw7s3fYYngEkK4RiJT2yuzxpAE/S76qqK1O slFMUlCCMYD7DaELQfHPIC8cBsGfRi9STKQmq/J+PK//Qt/96qXnUrqSXzLdrpDC8r o1h97/b4ClSyqD20R2zJZ4yooudhfcmkb0+NAf/oj1fa/U2HhpW2DIBtwGwnnkvY5j wvPDc2bQXBJLyp026HaBIw+AMVarSqqgveDrSgn8vjSxdHIGW+ZYvKom98chsZLuMG DNbAR+oZ7Vrch4OablP0W6CyTRqP5j7g5Pf06rJG8r+96HgvLu8Hh3puUj4FQ7XKY2 Zu7iJZWnGavsw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 597EB68188; Sat, 18 Oct 2025 02:42:01 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:54 -0600 Message-ID: <20251018084117.1798704-10-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: 3AMMZJDVICR7RLGLZFMNIYV2EKPHTQQE X-Message-ID-Hash: 3AMMZJDVICR7RLGLZFMNIYV2EKPHTQQE 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 09/24] test: Correct an incomplete sentence in prep_mmc_bootdev() 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 comment for mmc_dev is missing the last part of the sentence. Add it. Signed-off-by: Simon Glass --- test/boot/bootflow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c index 65e2b5b5c9d..e2de3af4f29 100644 --- a/test/boot/bootflow.c +++ b/test/boot/bootflow.c @@ -635,7 +635,7 @@ BOOTSTD_TEST(bootflow_cmd_boot, UTF_DM | UTF_SCAN_FDT | UTF_CONSOLE); * * @uts: Unit test state * @mmc_dev: MMC device to use, e.g. "mmc4". Note that this must remain valid - * in the caller until + * in the caller until boot scanning is finished * @bind_cros: true to bind the ChromiumOS and Android bootmeths * @old_orderp: Returns the original bootdev order, which must be restored * Returns 0 on success, -ve on failure From patchwork Sat Oct 18 08:40:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 610 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=1760776931; bh=vXKj3zeusfOnIIrC+WQpGsteKyOlLfltITiX5dGlZXQ=; 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=LazAaDKy9zutupVjMXfvKkf77N5D/iiw4BpNFkigJgRe8bHWys7xJYljd2lzPqr9P iUdJZqVcP1Cf3f6jzHHYLGm5+hlrVLCN0+6rsVoxgBRpSEBZWL4QBDI0DMYiI+M0HJ ovlVE7gvyZmpcLLoLq5yyzTSvqrcnRqaVhwLAoqx80REgoS0taR7idCygrBiChjmRO BJ6oZ7jG0xFMjIO6App0iE43q/FQ2cqcsqzVkCxTW7UeOo7lXVBISfQI8pIhKb9a3B Rc+czYG/BPoyl+dz36qLyBUWFGmBElkN1m0OoP3hdJ6Y4zfuzDYVKl9b6/55LXBXI5 Y0XY4r3W/pHHQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 7E9EF681CD for ; Sat, 18 Oct 2025 02:42:11 -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 bRcjCGPHM8tP for ; Sat, 18 Oct 2025 02:42:11 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776931; bh=vXKj3zeusfOnIIrC+WQpGsteKyOlLfltITiX5dGlZXQ=; 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=LazAaDKy9zutupVjMXfvKkf77N5D/iiw4BpNFkigJgRe8bHWys7xJYljd2lzPqr9P iUdJZqVcP1Cf3f6jzHHYLGm5+hlrVLCN0+6rsVoxgBRpSEBZWL4QBDI0DMYiI+M0HJ ovlVE7gvyZmpcLLoLq5yyzTSvqrcnRqaVhwLAoqx80REgoS0taR7idCygrBiChjmRO BJ6oZ7jG0xFMjIO6App0iE43q/FQ2cqcsqzVkCxTW7UeOo7lXVBISfQI8pIhKb9a3B Rc+czYG/BPoyl+dz36qLyBUWFGmBElkN1m0OoP3hdJ6Y4zfuzDYVKl9b6/55LXBXI5 Y0XY4r3W/pHHQ== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6C43F6814E for ; Sat, 18 Oct 2025 02:42:11 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776928; bh=vZ+Zd6evyz7vwwhtlHQ/Jy3VSfTLCSJlkqekGommYQg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YucSV1fVvOBvEZah1gDkKN/e8X823y7bZdu4Dlc+qkmjNdC0bXteOutxwaL3W7vyX juZ6pUdV9/cNESzOsV/9kncqdz8c2L8E9kyTTGqHkP8t/5UxnScH5NUQ4t1odQMaMW qz+pbUBbvopvBdqAi7suWXQI/lwBuKH2tiiZcle2h2Bu6LksIf52AAZwNQ6l8KvYoK ma0g0ywbQbzBnQojVq1KgVMnYKbm7/NdOHuKTHb1IV2A1hfKy1Hfa2aVQ3H04gCjo9 qTW4g4GN6avGvc6z3I0rDh/mkndvYjmZPPffCCzz/woLsYawsMleVyjvR3Ws2qQEPR +UkEwMtTw6GAg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D0D38681BE; Sat, 18 Oct 2025 02:42:08 -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 wcL0DrrEHJys; Sat, 18 Oct 2025 02:42:08 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776922; bh=lVsXIrXuoT2x8lfIJPX5CuPH/JMQ0VRpSSOsEdSMrdM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=drBuctph/5RrOHKSXVgawuBskqsWYm8BxZFX37KpWvF+OZ8JT8q6avRkkiKKGTd/k nv8/0MVK3wKvjPN5NDBwrP0JcxTbDh6AehpNnvLOcYbWA+ZuCo9Ns/jySDd3DRiA0O zs4aNGbGAUaVIYT+2e5p05Wv3VWqqIVtsNu03V552ZHj3rQG7QfCb8palg+eV4wGJr sKlMyZnuJDQFB6WfN+dRPSdcxqHkT5vWpKVmjpwZLtU39CyHsI7m2kG3S8jBLM1TpB jXWaMkAeeEDirCbeuyf1CPfjun7yMfKjZVwRHIx1sp2pJ03G/XdOaRD6I9iHILU/xk pkK53S9jy25cA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 5DD6A6814E; Sat, 18 Oct 2025 02:42:02 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:55 -0600 Message-ID: <20251018084117.1798704-11-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: LYIZAAIHFOB24XKNPWJQSZNIXM2V6LHY X-Message-ID-Hash: LYIZAAIHFOB24XKNPWJQSZNIXM2V6LHY 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 10/24] sandbox: Enable Ubuntu fonts 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 Bring the Ubuntu fonts into the build. Signed-off-by: Simon Glass --- configs/sandbox_defconfig | 2 ++ test/cmd/font.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index ff2e9ac6e75..0d115368d1b 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -335,6 +335,8 @@ CONFIG_VIDEO_COPY=y CONFIG_CONSOLE_ROTATION=y CONFIG_CONSOLE_TRUETYPE=y CONFIG_CONSOLE_TRUETYPE_CANTORAONE=y +CONFIG_CONSOLE_TRUETYPE_UBUNTU_LIGHT=y +CONFIG_CONSOLE_TRUETYPE_UBUNTU_BOLD=y CONFIG_I2C_EDID=y CONFIG_VIDEO_SANDBOX_SDL=y CONFIG_VIDEO_DSI_HOST_SANDBOX=y diff --git a/test/cmd/font.c b/test/cmd/font.c index ce694fef7e4..adfeebe920d 100644 --- a/test/cmd/font.c +++ b/test/cmd/font.c @@ -36,6 +36,11 @@ static int font_test_base(struct unit_test_state *uts) ut_assert_nextline("ankacoder_c75_r"); if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE_CANTORAONE)) ut_assert_nextline("cantoraone_regular"); + if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE_UBUNTU_LIGHT)) + ut_assert_nextline("ubuntu_light"); + if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE_UBUNTU_BOLD)) + ut_assert_nextline("ubuntu_bold"); + ut_assert_console_end(); ut_assertok(vidconsole_get_font_size(dev, &name, &size)); From patchwork Sat Oct 18 08:40:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 611 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=1760776933; bh=4BZcWwJZNcJIwutCLegxCfxb+LdOLE/cYgmf9ZiN8QM=; 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=hhzouW5l3i3aU+RZEmV4QesVoZyOBVUmkB1drjEt4s26bF2PG8jvsyqvE6R3VgHFa x+q0A3URGF4sMuB09PBLkjRixZnjVUMS5aeyH6gK0KBMw2JYr0od+g4Nl0vpt9LAnd j9cSA4ftp1UjS65jFM7L65/EdQ6tqQmFVfwzc69n8Z/7PaqyhqIHXRPirnkYRZMnld /3231TmDPFG6TMienTothU1LO5zTTgpFjC1Aefq1UegCTtUVpMAZaCOuPLc5mx+A/V NAPyAg1tjH2jnYg6vSrKpEMRVxWLc+S1a896lv6h9d4jzAlMr7K+6afUfBuNlgpJJi U/dWzcBNeJUPw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E628E6814E for ; Sat, 18 Oct 2025 02:42:13 -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 ini7CmZoLqQx for ; Sat, 18 Oct 2025 02:42:13 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776931; bh=4BZcWwJZNcJIwutCLegxCfxb+LdOLE/cYgmf9ZiN8QM=; 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=ABWx3dwj3RIvVAN5Z3D9PtJfO6sjqfEoAEYU6CmMiQ5orBKXoWl4BPVhYqkefx6Uf b5wM/YMRqFrN2qzrL7U629ItHKx2sW7v9HOnmFdBDizA0v2fD9V6p/vpXCtE8pcnRB y9aeDgqSMZcGICWdPoS1ut92wxBSIwZHrHwjha2bqDLBJpGtvtoPXdPbI02Q4QQx0v kyAqmIEGWwAza+NtNQE6UvjvOkeXRtxq9hsNiOaz0lvutBfGD9uZS45D88eCmbWVKx omh2Rzoq9mztiwTGCAGyVl8iqB/eTJQbWfl574Nal07KbqHJnqupGDfwEESzPt9bRs eApCDT6foyO8g== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id DE45D681BE for ; Sat, 18 Oct 2025 02:42:11 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776928; bh=6MHBS9T0yQknCH6Q8PkQnugh7iVKzP3HGDml6mytB9Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VHc9aaH0bGAeBjBBbnNtVI4OilOqZq/IS8O6wQSTadHnvlIkaVZcbOJ50xlhS4oxk J4JYrS/ewfIFJgVyLySKq2Xhjewx9fP5DFYobhl21u6a3TV50oK0xMVx3HEFqoDJxk y/prg0JC+JO+F02ytyL+XL5Ga5aRf+b72/WT/fX3MpnaqDi+MRTT0r5TzVf7SHR9kx YBFcWrNkDtqRSh9XoBPtCpATh1UYcLq8kUiy/xFtsMET7pEHhLQLgoG9dUtSMGeHXf ghyLw9kwzA6+RLL+ONDqLo9ENLJye7/Fs1x45ivb19RHypsx5BskpaAlyLA1dqHyKK wHVUVm8RXbtDg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D0D0D68109; Sat, 18 Oct 2025 02:42:08 -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 mh4p1KNGKSip; Sat, 18 Oct 2025 02:42:08 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776927; bh=tutvHa5+kfc36PqNsy2mQvLHhLbHyPr3RUsvu2mxDjk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OEQ+gI6lW9TRFPZ5SThnOjXhTPkpTSCL4HRH2nCZpYWnQTddwnABfxiPLBWMxw9Bm pHax/L+dSy26YqG049vGaMuTsjbkczEAVBCj67ubizGJSVTjU4IVGEw/kYsJLXND2s JaRwxtPvCcxoAqSeOXuu1ek/vpzHZFnGKerdBNmSLsJKzfqt4pk3vm4btPp6zjuu0Q 8V4+uuXMp8EjlQgf2hJFECTie8/6fmZzZB8+r7dy5GWA52GrPnrg/WYakdOz2tpufd WpJrI/o0oQVA9yXqCIL+MvQql22SKEbpemy4T01kWtosyml1ayoA9gc0/MRUFltZnz lOD+Qkmk8ERbg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 2F0C068188; Sat, 18 Oct 2025 02:42:07 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:56 -0600 Message-ID: <20251018084117.1798704-12-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: 7ZJ6O36QKCASLJO54HE5UPZSK7DTRXHE X-Message-ID-Hash: 7ZJ6O36QKCASLJO54HE5UPZSK7DTRXHE 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 11/24] bootctl: Plumb in the feature 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 code is present but is not currently enabled. Add Makefile rules so that it is built. Also add a gitignore for bootctl.ini since this file is created when 'bootctl run' is used. Update the Kconfig rule to disable this by default, except for sandbox the EFI app. Add a dependency on CMDLINE since the textline object calls cread_line_process_ch() which is otherwise not available. Signed-off-by: Simon Glass --- .gitignore | 2 ++ boot/Kconfig | 4 ++-- boot/Makefile | 2 ++ cmd/Makefile | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 6b95c85b9b8..986ab7ffda3 100644 --- a/.gitignore +++ b/.gitignore @@ -134,3 +134,5 @@ __pycache__ # Clang's compilation database file /compile_commands.json + +bootctl.ini diff --git a/boot/Kconfig b/boot/Kconfig index b255245335b..cde4472ca57 100644 --- a/boot/Kconfig +++ b/boot/Kconfig @@ -507,8 +507,8 @@ config BOOT_DEFAULTS config BOOTCTL bool "Support for boot control" - depends on BOOTSTD - default y + depends on EXPO && CMDLINE + default y if SANDBOX || EFI_APP help This supports an experimental boot control, providing a way to discover and boot Operating Systems. diff --git a/boot/Makefile b/boot/Makefile index 3cb138ae022..cfa5a0a98e9 100644 --- a/boot/Makefile +++ b/boot/Makefile @@ -17,6 +17,8 @@ obj-y += image.o image-board.o bootm_final.o obj-$(CONFIG_ANDROID_AB) += android_ab.o obj-$(CONFIG_ANDROID_BOOT_IMAGE) += image-android.o image-android-dt.o +obj-$(CONFIG_$(PHASE_)BOOTCTL) += bootctl/ + obj-$(CONFIG_$(PHASE_)BOOTSTD) += bootdev-uclass.o obj-$(CONFIG_$(PHASE_)BOOTSTD) += bootflow.o obj-$(CONFIG_$(PHASE_)BOOTSTD) += bootmeth-uclass.o diff --git a/cmd/Makefile b/cmd/Makefile index 1d65703b625..b73725cfe41 100644 --- a/cmd/Makefile +++ b/cmd/Makefile @@ -21,6 +21,7 @@ obj-$(CONFIG_CMD_AES) += aes.o obj-$(CONFIG_CMD_ADC) += adc.o obj-$(CONFIG_CMD_ARMFLASH) += armflash.o obj-$(CONFIG_BLK) += blk_common.o +obj-$(CONFIG_CMD_BOOTCTL) += bootctl.o obj-$(CONFIG_CMD_BOOTDEV) += bootdev.o obj-$(CONFIG_CMD_BOOTFLOW) += bootflow.o obj-$(CONFIG_CMD_BOOTMETH) += bootmeth.o From patchwork Sat Oct 18 08:40:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 612 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=1760776934; bh=KghEjEI7dIVZc4b+OfpTWMNCG0s/jwUbTjRlcp386Bg=; 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=YrEADb27yklUYOlXyYsEoGf0ETTM3hg5NIJGY1/VXXgW2G5PBnNzbwwrJBpnkOKST dhkx85k+qAcLfQrwsHPD1qFU8Zwqp1IqXOtWXSsPKAC9KTA1vkmeT4SQphjC9+uCP4 Fu160NMJO286AbtblbnrL2xvMo6fiBinmvC7HBh1ye0GBpJcOSLxL+5NDYDQm1X1nk fhxOGBtPrKp5kfaZ9ABccVN+yKZXLcnihZ1Q/3xiaegi/StjXb34QhrDb6X3B2wwyq NNPrCCKsrItmEMh6CnEUE2g91w4+vobtwGg2mSbj7Tmf0bE7XoNsrdii4i1CDEiCCN H9nJX17RHrzZQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 283426819D for ; Sat, 18 Oct 2025 02:42:14 -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 jJ-k8ey4Il98 for ; Sat, 18 Oct 2025 02:42:14 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776932; bh=KghEjEI7dIVZc4b+OfpTWMNCG0s/jwUbTjRlcp386Bg=; 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=tiJ1Rxzyuo+WmNco3hGV84z9euzTg4pdHoRClMwDoNB6ZX3ylTKAXVObuKIbmj4aq yWj1s7zjidlioMSHeGKYC418JZTJ2LI2hPtSnStzzKgyA7yvhtn4pbnHoz2TuCFF6O aSTEE0C7wa/taqA8TgCexfkl29D5PCWu12MKGjf6jq8jMWyWmYlfBcfqQ4xYeOvCrI xMJ1q7EMV+gXdgIg0zVSMhoKNnlZUSOTxsJFoneGjx6eDAFfxY1SH07+bU2E1820jK dVtIjs0wSfv0KEPHKJMft/8WZOUIifNFvBo5tEooORfLDx5cY8fLEjwMU30xXqIYHb 0S55mAGwOZUww== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 4AFD0681BC for ; Sat, 18 Oct 2025 02:42:12 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776929; bh=cujy1sSKs2Ri8ONSr87cR3NflmXdVOzWlLPahgI44Wc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZVHbytQR+u/GfHeY/fyfxQno05nRkM0eg8lJAK1juwelQ8WCV0CpgjtjnqpD2awY3 z33/PbeFPV+Jj5iOmt3zHSbAx/Xl/EnHho/fOuIIw5V84avFAvGo6AXrfHSlHGJkwW vcwTzlQVSvHNEdQjo9tH+fCsy1+t9NaMQw/y9fG3VyJyi+c1rpFAINCuyco5oLrRfo yhH6fzy62Y4vZ2V9XbR7Y2i8DeENGDUENSF6QkA28T+8q2hDtouAhmHCMlpgvTF3G1 SUT0X/2653FZSwthaq5XkTAa/Hi8OxhdqtheyK4+Wmp+Ds/xwZx0sm9PK1zizzZxBG +EbuFxjd3SFmw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D0B9E68109; Sat, 18 Oct 2025 02:42:09 -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 lBUIDj84vCfS; Sat, 18 Oct 2025 02:42:09 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776929; bh=TNZBCeXwFdfaoVdzX6CwB3R5gYu6vP6TwUQZGNe97LU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=piFiZNL5v2PqgxpnlaoaB0/8sRncdn3zqQ8MQTNLStsTAhz/uwTMAGE15G6XqEhlu BponZNiQxk6o4NZ+bjkrn7C/CwomrB6Riu8ddeMT4Wh2AUb0auayR7+3zjy2zUXxFc ufpUKoO6nck4WYcLmPaac2+GobW3mZMCpj6sxhrbcGipnua27xRBeZp7z7IAjWpY+e 2AVFYiGsca7AwnWb4BTfmqDPSGvhe7G/dy36NsXcBEYyIWCgLoSX+BFWAjlwpM8vSN oS4miOF2r7QYXutdtt84QET1ovs+Owp/XJ7lDwqkTLkVk8IMVe/n3dOLoddfVebd2n EKJF+0Ki3zghg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 33D886814E; Sat, 18 Oct 2025 02:42:09 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:57 -0600 Message-ID: <20251018084117.1798704-13-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: TQ4FCQYQBNLGDRDC2CNUJD3AXYSETISX X-Message-ID-Hash: TQ4FCQYQBNLGDRDC2CNUJD3AXYSETISX 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 12/24] bootctl: Create a common struct for the BOOTCTL_UI uclass 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 All UI implementations will likely share a number of common elements, so move these into a per-device uclass struct. Signed-off-by: Simon Glass --- boot/bootctl/bootctl-uclass.c | 2 + boot/bootctl/simple_ui.c | 93 +++++++++++++---------------------- include/bootctl/ui.h | 27 ++++++++++ 3 files changed, 63 insertions(+), 59 deletions(-) diff --git a/boot/bootctl/bootctl-uclass.c b/boot/bootctl/bootctl-uclass.c index f7280b83da3..756702b3e9a 100644 --- a/boot/bootctl/bootctl-uclass.c +++ b/boot/bootctl/bootctl-uclass.c @@ -10,6 +10,7 @@ #include #include +#include UCLASS_DRIVER(bootctrl) = { .id = UCLASS_BOOTCTL, @@ -42,4 +43,5 @@ UCLASS_DRIVER(bootctrl_ui) = { .id = UCLASS_BOOTCTL_UI, .name = "bootctrl_ui", .per_device_plat_auto = sizeof(struct bootctl_uc_plat), + .per_device_auto = sizeof(struct bc_ui_priv), }; diff --git a/boot/bootctl/simple_ui.c b/boot/bootctl/simple_ui.c index b4b8541ac22..14c6de5bb1e 100644 --- a/boot/bootctl/simple_ui.c +++ b/boot/bootctl/simple_ui.c @@ -25,32 +25,9 @@ /* TODO: Define to 1 to use text mode (for terminals), 0 for graphics */ #define TEXT_MODE 0 -/** - * struct ui_priv - information about the display - * - * @expo: Expo containing the menu - * @scn: Current scene being shown - * @lpriv: Private data of logic device - * @console: vidconsole device in use - * @autoboot_template: template string to use for autoboot - * @autoboot_str: current string displayed for autoboot timeout - * @logo: logo in bitmap format, NULL to use default - * @logo_size: size of the logo in bytes - */ -struct ui_priv { - struct expo *expo; - struct scene *scn; /* consider dropping this */ - struct logic_priv *lpriv; - struct udevice *console; - struct abuf autoboot_template; - struct abuf *autoboot_str; - const void *logo; - int logo_size; -}; - static int simple_ui_probe(struct udevice *dev) { - struct ui_priv *priv = dev_get_priv(dev); + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); struct udevice *ldev; int ret; @@ -58,7 +35,7 @@ static int simple_ui_probe(struct udevice *dev) if (ret) return log_msg_ret("sup", ret); - priv->lpriv = dev_get_priv(ldev); + upriv->lpriv = dev_get_priv(ldev); return 0; } @@ -81,7 +58,7 @@ static int simple_ui_print(struct udevice *dev, const char *msg) static int simple_ui_show(struct udevice *dev) { - struct ui_priv *priv = dev_get_priv(dev); + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); struct bootstd_priv *std; struct scene *scn; struct abuf *buf; @@ -91,30 +68,30 @@ static int simple_ui_show(struct udevice *dev) ret = bootstd_get_priv(&std); if (ret) return log_msg_ret("sdb", ret); - ret = bootflow_menu_setup(std, TEXT_MODE, &priv->expo); + ret = bootflow_menu_setup(std, TEXT_MODE, &upriv->expo); if (ret) return log_msg_ret("sds", ret); - ret = expo_first_scene_id(priv->expo); + ret = expo_first_scene_id(upriv->expo); if (ret < 0) return log_msg_ret("ufs", ret); scene_id = ret; - scn = expo_lookup_scene_id(priv->expo, scene_id); + scn = expo_lookup_scene_id(upriv->expo, scene_id); scene_obj_set_hide(scn, OBJ_AUTOBOOT, false); - ret = expo_edit_str(priv->expo, STR_AUTOBOOT, - &priv->autoboot_template, - &priv->autoboot_str); + ret = expo_edit_str(upriv->expo, STR_AUTOBOOT, + &upriv->autoboot_template, + &upriv->autoboot_str); if (ret) return log_msg_ret("ses", ret); - ret = expo_edit_str(priv->expo, STR_MENU_TITLE, NULL, &buf); + ret = expo_edit_str(upriv->expo, STR_MENU_TITLE, NULL, &buf); if (ret) return log_msg_ret("set", ret); abuf_printf(buf, "Boot control"); - if (priv->logo) { + if (upriv->logo) { ret = scene_img_set_data(scn, OBJ_U_BOOT_LOGO, - priv->logo, priv->logo_size); + upriv->logo, upriv->logo_size); if (ret) return log_msg_ret("log", ret); ret = scene_obj_set_pos(scn, OBJ_U_BOOT_LOGO, 1135, 10); @@ -125,7 +102,7 @@ static int simple_ui_show(struct udevice *dev) log_debug("theme '%s'\n", ofnode_get_name(std->theme)); if (ofnode_valid(std->theme)) { - ret = expo_setup_theme(priv->expo, std->theme); + ret = expo_setup_theme(upriv->expo, std->theme); if (ret) return log_msg_ret("thm", ret); } @@ -135,22 +112,22 @@ static int simple_ui_show(struct udevice *dev) return log_msg_ret("usa", ret); scene_set_highlight_id(scn, OBJ_MENU); - priv->scn = scn; + upriv->scn = scn; - ret = device_find_first_child_by_uclass(priv->expo->display, - UCLASS_VIDEO_CONSOLE, - &priv->console); + ret = device_find_first_child_by_uclass(upriv->expo->display, + UCLASS_VIDEO_CONSOLE, + &upriv->console); if (ret) return log_msg_ret("suq", ret); - vidconsole_set_quiet(priv->console, true); + vidconsole_set_quiet(upriv->console, true); return 0; } static int simple_ui_add(struct udevice *dev, struct osinfo *info) { - struct ui_priv *priv = dev_get_priv(dev); - struct logic_priv *lpriv = priv->lpriv; + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct logic_priv *lpriv = upriv->lpriv; int seq = lpriv->osinfo.count; struct bootstd_priv *std; struct scene *scn; @@ -159,7 +136,7 @@ static int simple_ui_add(struct udevice *dev, struct osinfo *info) info = alist_add(&lpriv->osinfo, *info); if (!info) return -ENOMEM; - ret = bootflow_menu_add(priv->expo, &info->bflow, seq, &scn); + ret = bootflow_menu_add(upriv->expo, &info->bflow, seq, &scn); if (ret) return log_msg_ret("sda", ret); @@ -167,11 +144,11 @@ static int simple_ui_add(struct udevice *dev, struct osinfo *info) if (ret) return log_msg_ret("sup", ret); if (ofnode_valid(std->theme)) { - ret = expo_setup_theme(priv->expo, std->theme); + ret = expo_setup_theme(upriv->expo, std->theme); if (ret) return log_msg_ret("thm", ret); } - ret = expo_calc_dims(priv->expo); + ret = expo_calc_dims(upriv->expo); if (ret) return log_msg_ret("ecd", ret); @@ -187,19 +164,18 @@ static int simple_ui_add(struct udevice *dev, struct osinfo *info) static int simple_ui_render(struct udevice *dev) { - struct ui_priv *priv = dev_get_priv(dev); + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); int ret; - ret = abuf_printf(priv->autoboot_str, - priv->autoboot_template.data, - priv->lpriv->autoboot_remain_s); + ret = abuf_printf(upriv->autoboot_str, upriv->autoboot_template.data, + upriv->lpriv->autoboot_remain_s); if (ret < 0) return log_msg_ret("uip", ret); - ret = expo_arrange(priv->expo); + ret = expo_arrange(upriv->expo); if (ret) return log_msg_ret("sda", ret); - ret = expo_render(priv->expo); + ret = expo_render(upriv->expo); if (ret) return log_msg_ret("sdr", ret); @@ -208,18 +184,18 @@ static int simple_ui_render(struct udevice *dev) static int simple_ui_poll(struct udevice *dev, int *seqp, bool *selectedp) { - struct ui_priv *priv = dev_get_priv(dev); - struct logic_priv *lpriv = priv->lpriv; + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct logic_priv *lpriv = upriv->lpriv; int seq, ret; bool ok = true; *seqp = -1; *selectedp = false; - ret = bootflow_menu_poll(priv->expo, &seq); + ret = bootflow_menu_poll(upriv->expo, &seq); ok = !ret; if (ret == -ERESTART || ret == -EREMCHG) { lpriv->autoboot_active = false; - scene_obj_set_hide(priv->scn, OBJ_AUTOBOOT, true); + scene_obj_set_hide(upriv->scn, OBJ_AUTOBOOT, true); ok = true; } else if (ret == -EAGAIN) { ok = true; @@ -241,9 +217,9 @@ static int simple_ui_poll(struct udevice *dev, int *seqp, bool *selectedp) static int simple_ui_of_to_plat(struct udevice *dev) { - struct ui_priv *priv = dev_get_priv(dev); + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); - priv->logo = dev_read_prop(dev, "logo", &priv->logo_size); + upriv->logo = dev_read_prop(dev, "logo", &upriv->logo_size); return 0; } @@ -270,5 +246,4 @@ U_BOOT_DRIVER(simple_ui) = { .bind = simple_ui_bind, .probe = simple_ui_probe, .ops = &ops, - .priv_auto = sizeof(struct ui_priv), }; diff --git a/include/bootctl/ui.h b/include/bootctl/ui.h index 8333ff199dd..beb11178c52 100644 --- a/include/bootctl/ui.h +++ b/include/bootctl/ui.h @@ -10,11 +10,38 @@ #define __bootctl_display_h #include +#include +struct expo; +struct logic_priv; struct osinfo; struct oslist_iter; +struct scene; struct udevice; +/** + * struct bc_ui_priv - Common uclass private data for UI devices + * + * @expo: Expo containing the menu + * @scn: Current scene being shown + * @lpriv: Private data of logic device + * @console: vidconsole device in use + * @autoboot_template: template string to use for autoboot + * @autoboot_str: current string displayed for autoboot timeout + * @logo: logo in bitmap format, NULL to use default + * @logo_size: size of the logo in bytes + */ +struct bc_ui_priv { + struct expo *expo; + struct scene *scn; + struct logic_priv *lpriv; + struct udevice *console; + struct abuf autoboot_template; + struct abuf *autoboot_str; + const void *logo; + int logo_size; +}; + /** * struct bc_ui_ops - Operations for displays */ From patchwork Sat Oct 18 08:40:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 613 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=1760776938; bh=e7JrYNYoZQDSvLYaYlsKzrIB/esc8nZCcWDU90u7Zns=; 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=Lbk89GO+m2xA9cN63dNgF0wF7uaKXkQ0DNr+ruR+njkWe3WoVo2Zikv885086mfME 4z2FbEaXmEGlo65Pk5Iy3lD5v6XJ1Ny4sS9z9+NKrX76vrgXcuoOB/7TRf7DescXjS AhWRDg8cM1ZO+fW+db6hOAusj1HxR6fPIfwXCZjTclegkT0F6ab7tIJGYtxa/ocmlp PqJTZNfqfZE+JLwEZIIRK2KZUqwbXGGehspjgcrpDWxeZDZ/JZe7EkKTMaWiafFKcI C7Gj8ZUXJ0vT3suSsO1MKYX3Ppob9NPZylSuQFMEyuldIGwc1fifBGzBsRCCV3MLQG pF1vWqdgGgO3g== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 133F0681CD for ; Sat, 18 Oct 2025 02:42:18 -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 10_e2xEci19A for ; Sat, 18 Oct 2025 02:42:18 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776938; bh=e7JrYNYoZQDSvLYaYlsKzrIB/esc8nZCcWDU90u7Zns=; 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=Lbk89GO+m2xA9cN63dNgF0wF7uaKXkQ0DNr+ruR+njkWe3WoVo2Zikv885086mfME 4z2FbEaXmEGlo65Pk5Iy3lD5v6XJ1Ny4sS9z9+NKrX76vrgXcuoOB/7TRf7DescXjS AhWRDg8cM1ZO+fW+db6hOAusj1HxR6fPIfwXCZjTclegkT0F6ab7tIJGYtxa/ocmlp PqJTZNfqfZE+JLwEZIIRK2KZUqwbXGGehspjgcrpDWxeZDZ/JZe7EkKTMaWiafFKcI C7Gj8ZUXJ0vT3suSsO1MKYX3Ppob9NPZylSuQFMEyuldIGwc1fifBGzBsRCCV3MLQG pF1vWqdgGgO3g== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 01F04681BB for ; Sat, 18 Oct 2025 02:42:18 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776936; bh=3E8cWg13e/vNZXBuyvDZLGdX89suozKAdP2E4EDmCiY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QSeDtBR7oUUbjeRlzbDJiGVl09fDEx+fy4CxH74X6Ijbs7PcE8YRSHYMLCokOSDUs Ac3GRSs1sCLWSO1aNJMSqjrIUH8RtfJMRzbDaOUSUpTN3m5DrTdjbIl8uhtTAIaYH4 GZtEUDYY6KqUaN2F5fbY1WajtfBzS9vF9P3I2Twbcgdzpv+cwyB3h2goN+c15VAmGU 1hSIv9TGlOidc0CJv89qtOW/MXL55j5Nhrw+4SvksslX7hmwrvscMq0Kt9k12bJCRN vvnfIub2sBHUUHijOSOUAUl2N22KSJt+oNdypl+zWJ6wDsYZioR/TS1HQToNor6c1x XqCP7GHPiWQNg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5ECFB68188; Sat, 18 Oct 2025 02:42:16 -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 xWurVwskxM2v; Sat, 18 Oct 2025 02:42:16 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776930; bh=AOIQ7hc1Ate4Fv4JEZHvScYiQ55ka1r8kz6SkVD8eNk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ftOIeMIk/cXSx7BxXjfRHa0G+t2u6ZCgExiB+gPzM5EW4jfOaUKIbD7bYSuLpfv8w gYAnkzAFeUfIbULx1eOGJ0K2cRWkbrD6koOFz457Hs3rcWvqueWn1F/AE1HcQH4G3X XUdn9RSKCd0tVcNpgwfzHxNnZRuOxNFWv0MPCWJaLWVJcsovFvjdnIOrCHd9m9avoO JUHhmfREyMsJC8JubK9HEmMAinEbUV6yvtfL76OcSCASxmacW6+ljlEcNWC93iwPlG uoHWbvpHz4BTHnknGUmYV5/uIArxci09pJhZ3WZY3FLJE6vYuBGAHq9dzASn/WnFsc j18RVV1aj6gdg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 6CEAF68109; Sat, 18 Oct 2025 02:42:10 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:58 -0600 Message-ID: <20251018084117.1798704-14-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: 2U5A5K7EX6JZXHNWV77QWBMSVS6H3NSU X-Message-ID-Hash: 2U5A5K7EX6JZXHNWV77QWBMSVS6H3NSU 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 13/24] bootctl: Avoid hanging on failure 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 For now just drop to the cmdline so that the state can be examined. This will aid debugging. Signed-off-by: Simon Glass --- boot/bootctl/bootctl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boot/bootctl/bootctl.c b/boot/bootctl/bootctl.c index 9fa943222db..7155ff0a8f0 100644 --- a/boot/bootctl/bootctl.c +++ b/boot/bootctl/bootctl.c @@ -58,7 +58,8 @@ int bootctl_run(void) ret = bc_logic_poll(logic); if (ret) { printf("logic err %dE\n", ret); - hang(); + /* could hang here */ + return ret; } } while (ret != -ESHUTDOWN); From patchwork Sat Oct 18 08:40:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 614 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=1760776940; bh=sCQR6NaPI5y5tJlosQ8jSAHstxGYbjK8cqm0QmQMReM=; 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=foTIdkxmJtObrLDZi7dY+ud+AR7ofdez/oRse5A8ivuMk1zBYrfSGoQZM3VovB+MZ TDXbXAXI+MszZ4cWuKJyaMpE4T8fLcLszfrR9RJ+qNA1QpqHPbDJN3SVW5oAfiJTt0 YyX3FCIz3sZ5OjwFm6OJbB16ek65bGLxRsDcXfpv4RCPyhEbr2x+4J00yLUbX4lfUT g/9lajdQbo9qty2KQdG8IHX9ymunKxc2sONJxYKOp1YFNFSFI/9oOwxtVJtZ1Y5B2a ufVnxpIqk6tkH9sUNhQ15+dcXkKJq6w10uw581KSVBdxuGJio3pPzHFIzqcW6B9D7G SshCrqfocpUFQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5E6876814E for ; Sat, 18 Oct 2025 02:42:20 -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 vMzK63H1sjeL for ; Sat, 18 Oct 2025 02:42:20 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776939; bh=sCQR6NaPI5y5tJlosQ8jSAHstxGYbjK8cqm0QmQMReM=; 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=mNp41Kx08jkZCzZUdNxG79zCdWTY7rZRR95uS3AVM3Ek47J4A2x6Fmk5JtNK+igdj 0EaX0BvIhOS6Luu8WkicZpJaoclr3EIHxykv4AlrumVMOTkElUIHgjyOH5mO97+ABZ jM0+ltQuRp2FpWp1C/K8jbI5xtw8wEtgULtHXwwO4QYDkZyG9EBvWi3oEJAaQ14WOG NcuPMw1HvIbG16EY83AyugYnhENwGQW4xDfibAvNL9If7t7XdSjgG+YPTIiNYaeFxH AeANEjRd7PihJEomqe95OinZ+YTdDwoW9xifAF8WYflxYCElx33PvXc8yCexBBYApH u/gcQbf80HL/g== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 50229681BB for ; Sat, 18 Oct 2025 02:42:19 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776936; bh=EtOydRtZuwdqRTvuDy9gVZIVkrgtnwPBPPvZwbvrq58=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OHmiJZxBuCXTnteiHM/k+Zo45aMZqwXf1lQb0k9ynY1hwK3bgG6RStJ8ulQ1a9Diy 0jxEbe8kjptDWs5doHnP9kcoCMTa4deG1CkNLdynBkYpfOZXzrIf2N+Oj/aIKVEcqi vhhsfo5ktSNM4L3bMl04gYAj+J14srWMGha7zOktORQ1EwtVrYKMkQ9hvAjUNUcYIE DsU1pOjykub+GYCpuvwklxootHFaunHGJ8IDqQ3OdMWwZzjl9Mj4006UMD9eOwNbB/ oFMiXUGY/TGfuCz5CavGh3D2YpW6w7ZYsgOHix9IoTP5wi1eAY7R4nH9UdIwaC3nbM UH8/Bz/p63tqA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id B57C968109; Sat, 18 Oct 2025 02:42:16 -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 gwk9a0j-BoAj; Sat, 18 Oct 2025 02:42:16 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776935; bh=EWnMjjRwv+BMFUGsiRfGDxZZVGPVczTjcHDDjLP6cnQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JPmFFp2uQhrPhUVFcpoB+0XIWveqFQjnPKtvdx2y1sWQopllC6i61L/IaQUQbo3nn DpgSBYMy+hifQ1r5exZiI8kjP9uyxLGeU2YIwHu2UAKbfUZP18AYvPo+TrTXnKeZ2R 60lFJqcX4Hml2QHoDRiTNZoZaJaw03lPIX2PGVw3l7vfRwlTmfzI26zFIcEichHeA1 liAzf7nZVv8bnMKbVV8XoHlRhmlhtCmsBiSBE9Yed9VO6rL/2iBizpUAPK40sai7bU 4AvGz43Z6kKDmeZ5rDUY3FdDHRfpEzgGr4ldwl6uHgj11Uhup6JR/8KUl594fP6EjU cXoqZ/HrbVESQ== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id A62E96814E; Sat, 18 Oct 2025 02:42:15 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:40:59 -0600 Message-ID: <20251018084117.1798704-15-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: YRDMWO6KJEYXSUFWE6MC76LPNCPLYCBR X-Message-ID-Hash: YRDMWO6KJEYXSUFWE6MC76LPNCPLYCBR 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 14/24] bootctl: Provide an option to slow the display refresh 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 When a mouse pointer is not used, there is typically no need to refresh the display unless something changes. Add an option to allow slow refresh. Signed-off-by: Simon Glass --- boot/bootctl/logic.c | 3 ++- include/bootctl/logic.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/boot/bootctl/logic.c b/boot/bootctl/logic.c index c0b7b8ae3d5..e2ec2c679ec 100644 --- a/boot/bootctl/logic.c +++ b/boot/bootctl/logic.c @@ -219,7 +219,7 @@ static int logic_poll(struct udevice *dev) priv->refresh = true; } - if (priv->refresh) { + if (!priv->opt_slow_refresh || priv->refresh) { ret = bc_ui_render(priv->ui); if (ret) return log_msg_ret("bdr", ret); @@ -286,6 +286,7 @@ static int logic_of_to_plat(struct udevice *dev) priv->opt_labels = ofnode_read_string(node, "labels"); priv->opt_autoboot = ofnode_read_bool(node, "autoboot"); priv->opt_measure = ofnode_read_bool(node, "measure"); + priv->opt_slow_refresh = ofnode_read_bool(node, "slow-refresh"); return 0; } diff --git a/include/bootctl/logic.h b/include/bootctl/logic.h index a0c2ab9f496..1aefac29128 100644 --- a/include/bootctl/logic.h +++ b/include/bootctl/logic.h @@ -26,6 +26,7 @@ struct udevice; * be used to boot * @opt_autoboot: true to autoboot the default OS after a timeout * @opt_measure: true to measure loaded images, etc. + * @opt_slow_refresh: refresh the UI only when needed * * @state_loaded: true if the state information has been loaded * @scanning: true if scanning for new OSes @@ -55,6 +56,7 @@ struct logic_priv { const char *opt_labels; bool opt_autoboot; bool opt_measure; + bool opt_slow_refresh; bool state_loaded; bool state_saved; From patchwork Sat Oct 18 08:41:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 616 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=1760776946; bh=0lgOkAVm2eNcDQVYb2JPPOuyJP5ooxVPoQyzEP69dEc=; 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=FA8kz1oVQEaEECBb+6E9ZJIgUEOzurp1kznoxBZkREWEjPWl1Slaixa5Z0hVbsKoQ Q/S7l/TEVs152Cees52xu7bnYdSkE5Of5H1SRN6DYX1pw+6yEFadW/4acRNg6gOt8x mxl4AlYraeqVWJHsrC84qIdJQqvDf3licZ1wGKQtRUWVx/oeLWsge8KCWBYEYJUbKh LynJ+UbNa+D0PbfHboSFlQbPTXZQXUSfpXx0rCHHNdV+yHojfm2bbAZJtI52BA+4jJ IRhuKbYSlpn+LPPHfky8QNWsIqTYwxqrcO0JLoEx2uIv6iWfCK2Z2z3PknZOwZa+3+ QR8dEekMJMXrw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 40F6B681CD for ; Sat, 18 Oct 2025 02:42:26 -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 ymIUjLw_Ot0l for ; Sat, 18 Oct 2025 02:42:26 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776944; bh=0lgOkAVm2eNcDQVYb2JPPOuyJP5ooxVPoQyzEP69dEc=; 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=VvjsU4evhqR9h5wNS8FhXhawva3p4gogFPk2SGjMzYq0Jt9AbT61G3M4TlKOdd7Zq GF3WJ38SFCGITtSvHi65J6+sNPs4r4TxnMOpa3wtGyYW5V2X+R8c4baptvexFtFG+2 TyU3O0N3vvovg4y4Eflgu8mCKswj6JqeQKPUOJhaE/6O+l+puG9H2rL2g8rwivPfPR awxfHcbVpFkM26QRfFMf254DBOBWp1ueFWc+Gf3Ea0zvcAwvFXWh/GHmHHwQ1ofwq4 R/DiB3jqUV5qfI1P4Aww5+Zi5CFIv/akgQkRoBziCx/sPmyuBv8tqFztLdDad4OLo6 Mqi6lQ/Ur7wYw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 3BBD468188 for ; Sat, 18 Oct 2025 02:42:24 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776942; bh=v8XRZ+ue2AN4u1abi3gon5/5I04zzDBt8lnPySX2QDc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FjMTVdUK38ef16xRoGXcnhADwDBUMaR4aIngY/h2nPwrPWkticrrofA2QnkWou7KO DFbGWR4n+njaORRsKltCQRdDV8js99LyJI9rF+lxcrCDa+V+sSdymeEnmZR65wV4uu o2SviVoGwTHUQmi747PByYCRZe4dOvGyaXz5ilbQjASpwwSMqL886eGoFJ2AOgmXaM DZ42b3odxetKRd4lSRjX38PwY8NbAQQuQ6TuVD4A2lmisda4gdnTRZCQNDylgsebeL Cku3gcBKmbnF6Niq0ZQK/dtIy7HhVkOYrvoY97CIZ4+PIRPeYHztrV1aieG/tD8h9w ++BqcsvUS9NgA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 9A9EC681BE; Sat, 18 Oct 2025 02:42:22 -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 1HXLTJ5HesoO; Sat, 18 Oct 2025 02:42:22 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776937; bh=4s31pEMqFhpNwIIznGQoYQdttKWwNspUxJEu7Lci+gw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=e+4YS3190qD9es+88Jg95dIQo8bYqhX5fOilNL+kjw8Y0EoKQdExam6HnWrnyVNv2 JAehtuTsVEtJ8Di4pk4uLdY898/2xcx11AIPdFQEur/6zpT7rWmxOkZVO/DDNRNnZ5 pY8zteV80sNX/Jvup2HsVuYTSk5KGZe8hiF0Wd26iCA/j+pn4TnhmOq796nzyS8mvR vqRDJj2J8rVJI9BinnwOCF+4A7I1hg52i1Cn4LhF0jsKdSFccNdz5pBLqdvZ9XEmsY a5KFRfwjCYSM+atRr4SUceLjQn/qUaXy0/8MWz6IsgInUvGt2Hg5S69ZirBkeXFUYe AKQvzFUuMK+4A== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 4278C68109; Sat, 18 Oct 2025 02:42:17 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:00 -0600 Message-ID: <20251018084117.1798704-16-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: VF3ET6QEFI6FUWMMT5MK2N4R73BZKXSA X-Message-ID-Hash: VF3ET6QEFI6FUWMMT5MK2N4R73BZKXSA 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 15/24] bootctl: Respect the autoboot option 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 When autoboot is disabled, hide the prompt. Signed-off-by: Simon Glass --- boot/bootctl/simple_ui.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boot/bootctl/simple_ui.c b/boot/bootctl/simple_ui.c index 14c6de5bb1e..3ef00651c05 100644 --- a/boot/bootctl/simple_ui.c +++ b/boot/bootctl/simple_ui.c @@ -59,6 +59,7 @@ static int simple_ui_print(struct udevice *dev, const char *msg) static int simple_ui_show(struct udevice *dev) { struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct logic_priv *lpriv = upriv->lpriv; struct bootstd_priv *std; struct scene *scn; struct abuf *buf; @@ -78,7 +79,7 @@ static int simple_ui_show(struct udevice *dev) scene_id = ret; scn = expo_lookup_scene_id(upriv->expo, scene_id); - scene_obj_set_hide(scn, OBJ_AUTOBOOT, false); + scene_obj_set_hide(scn, OBJ_AUTOBOOT, !lpriv->opt_autoboot); ret = expo_edit_str(upriv->expo, STR_AUTOBOOT, &upriv->autoboot_template, &upriv->autoboot_str); From patchwork Sat Oct 18 08:41:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 615 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=1760776943; bh=uQStoiVuvuFXf078g4XIx9PlKb9H+FMIcJSjNiLKNxY=; 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=hyZofZVQz5OTA3bgVUiipiWIQ21Gd/zfKocQyzu4Tnq3ZU5fsxpaKewvSsIG2SFOd t5dFD+1I4m+PODzJ3ldChem7lsdZUqHWdsAlyscb43hcp9J/wxwypsEFveDVbnUMme rteorrMx4c7BpRQmL+LGHq5bPYA58JMHZGIyOF8QBlF/Jke32pluMOZW3Rn6hOwkfE M4h365X/IEO8zZvFSh6QcvSGQMNN1CqX6cdfSSShijbyOFWaZGPO3rHkbPaJuU1IYa Gy27kyHDN99J4f2+i9iV4ve8ks+Z1yu++73JSDmeowcfVBEZH3Z6wbk1a3GUcYLQTY 0e9xY7K1gp2bA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id E476E681CD for ; Sat, 18 Oct 2025 02:42:23 -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 IfHefQDYPPyq for ; Sat, 18 Oct 2025 02:42:23 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776943; bh=uQStoiVuvuFXf078g4XIx9PlKb9H+FMIcJSjNiLKNxY=; 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=hyZofZVQz5OTA3bgVUiipiWIQ21Gd/zfKocQyzu4Tnq3ZU5fsxpaKewvSsIG2SFOd t5dFD+1I4m+PODzJ3ldChem7lsdZUqHWdsAlyscb43hcp9J/wxwypsEFveDVbnUMme rteorrMx4c7BpRQmL+LGHq5bPYA58JMHZGIyOF8QBlF/Jke32pluMOZW3Rn6hOwkfE M4h365X/IEO8zZvFSh6QcvSGQMNN1CqX6cdfSSShijbyOFWaZGPO3rHkbPaJuU1IYa Gy27kyHDN99J4f2+i9iV4ve8ks+Z1yu++73JSDmeowcfVBEZH3Z6wbk1a3GUcYLQTY 0e9xY7K1gp2bA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D2EA96819D for ; Sat, 18 Oct 2025 02:42:23 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776942; bh=+ib3QLly4btp9n8fqGN/iZ27XptDbOdXn7l266QQk6Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WDH47LByCtHd/kgvBVlCoHBRirifw//rsdX6mmkvWkJmFoOzl4CRCJv5hB7MnFcaj vPuA8wWcfF1A1gO0j92yxXfW9AHXXoKd2WUTpLKGD60c4ZZ4msZiVdIMzM+SMffpLc GLwhJbBEzsgcp51PW0R9/gh36Dfy7DnLGge5XsXjbvAVAE7uOZe3b/Sqef92dCEs/W OMbTuFX0NE7Vy96hHWdcdxxR0cMA1KMJxErEtkf7zKJAp26kUqF+YcROT5OQOUVzXR LNBXhTlKcfJI7VjRbLp6IK9eRGTR/T0quzvuJCmRgOESbMPzknc5oumLDVGsnpb1bH APK1rpbQWFufg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 9A5A1681BB; Sat, 18 Oct 2025 02:42:22 -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 NWJdJBIooo4W; Sat, 18 Oct 2025 02:42:22 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776942; bh=0YfrQtXNfCnnwkBRdjGvt8LLkkXMppaJzoiWlSR4Ktc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IxlkIe9kQ+f4utBDA8rpoJALXs5XuleN4rOuFflIWUkcIL6sHrVCpZt4+kC8P+S2D 3YqWdsmkYHXSycgyJg6DgwSVwA4hYmabIPjhdKGd5vSsinOu8MS0ZPQur/LOdyu1uR Vx8WngtJKo1zw8jp46xlQLVQ3Ai0oedkhaG1Jvz+RMCJj2a/dPOHqwwF+BO5nfkPfX DZwS9KoTY78oYy8EIegjzPbYKGXviNAJ8/mEmhf2wdbLgumf3IaY47ZrbAkwmO5XJg jZ4Sa8OzgHqEFYSfiPNd0kxYNn+5UbmxXZKpzKhdVy+K4mpFRUqku8MdZrit0ecIx9 s+MKOvzlP82Jg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id D20236814E; Sat, 18 Oct 2025 02:42:21 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:01 -0600 Message-ID: <20251018084117.1798704-17-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: N6XF4VPZMP7MK6R3SXKLCWQORH7U2CYW X-Message-ID-Hash: N6XF4VPZMP7MK6R3SXKLCWQORH7U2CYW 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 16/24] bootctl: Re-apply the theme when showing the UI 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 If a different UI is used then the theme may have changed, so re-apply the theme when showing the UI. Signed-off-by: Simon Glass --- boot/bootctl/simple_ui.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/boot/bootctl/simple_ui.c b/boot/bootctl/simple_ui.c index 3ef00651c05..7fb59c8b8c3 100644 --- a/boot/bootctl/simple_ui.c +++ b/boot/bootctl/simple_ui.c @@ -60,6 +60,7 @@ static int simple_ui_show(struct udevice *dev) { struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); struct logic_priv *lpriv = upriv->lpriv; + struct expo_theme *theme; struct bootstd_priv *std; struct scene *scn; struct abuf *buf; @@ -107,6 +108,12 @@ static int simple_ui_show(struct udevice *dev) if (ret) return log_msg_ret("thm", ret); } + theme = &upriv->expo->theme; + theme->white_on_black = true; + + ret = expo_apply_theme(upriv->expo, true); + if (ret) + return log_msg_ret("asn", ret); ret = scene_arrange(scn); if (ret) @@ -144,11 +151,11 @@ static int simple_ui_add(struct udevice *dev, struct osinfo *info) ret = bootstd_get_priv(&std); if (ret) return log_msg_ret("sup", ret); - if (ofnode_valid(std->theme)) { - ret = expo_setup_theme(upriv->expo, std->theme); - if (ret) - return log_msg_ret("thm", ret); - } + + ret = expo_apply_theme(upriv->expo, true); + if (ret) + return log_msg_ret("asn", ret); + ret = expo_calc_dims(upriv->expo); if (ret) return log_msg_ret("ecd", ret); From patchwork Sat Oct 18 08:41:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 617 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=1760776949; bh=mZhML12vhRSqOcDijUTAoTVo2PNMxec64ZiNYYy6T3I=; 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=JNP8M5c4LQ7/pgaqnmEQkb54THvYsBJ3BGtjbhjImTn3cZUjAY032x1a6ODioDdhg fd2W5KOXY2jI852vH+QZ0B6bF0pB6L3F24OhRRlvCut5hdRJfT4+8fvUYndJ5oyDZM qBdT4sStCIjwtLPR1DAZIAJBFqtJdrPqGDF3go9H/pM2EM37vO295UDZt1rgSXpDOF O1d5yJi/R5AX9OUgIAGQdqaOzYTSfxZ4Lj8AyCxOfdYst2xUEb1Q/fvB4lnaDY/Tz1 j21tfz4FjOdnrc5bLDkwzban26mKv4VDBfzBaJ1t61dxMXItHop+PG4Uri7l6fVQrk C4TSJZr/G6kAg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id A495E681CD for ; Sat, 18 Oct 2025 02:42:29 -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 q2-D4oQAk13t for ; Sat, 18 Oct 2025 02:42:29 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776949; bh=mZhML12vhRSqOcDijUTAoTVo2PNMxec64ZiNYYy6T3I=; 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=JNP8M5c4LQ7/pgaqnmEQkb54THvYsBJ3BGtjbhjImTn3cZUjAY032x1a6ODioDdhg fd2W5KOXY2jI852vH+QZ0B6bF0pB6L3F24OhRRlvCut5hdRJfT4+8fvUYndJ5oyDZM qBdT4sStCIjwtLPR1DAZIAJBFqtJdrPqGDF3go9H/pM2EM37vO295UDZt1rgSXpDOF O1d5yJi/R5AX9OUgIAGQdqaOzYTSfxZ4Lj8AyCxOfdYst2xUEb1Q/fvB4lnaDY/Tz1 j21tfz4FjOdnrc5bLDkwzban26mKv4VDBfzBaJ1t61dxMXItHop+PG4Uri7l6fVQrk C4TSJZr/G6kAg== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 9183268188 for ; Sat, 18 Oct 2025 02:42:29 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776948; bh=zSnwO/fcWU9VsPTEmzaou9Hvfg70Y3YejQ70unBkR8c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kz/N3PVOMrGtw9F6VC5kEFDFypP7DoqEw/UoqEmLpEZGNJXAnHFZA2yZROf8Qlko7 qM7ZIpCHpBvi68+OmphubZuHAoLsUyprMC6nhPNh/M1jHirO4hgwpcLV7JLEYo37eT nqqnWsceLDM1ZVHN3aVkYW7lSht7yq7R0FBD+qYr2zzkAeDxRlfCTvKr1xZW9p8mKP pN8MrlAJQT9Z1jl229oJbug7mWMlh4dZ/wiBpNS6ChYzwpSYjppcakWzadQuGaxXET NW35/cS4dp/+ie16ynWVzNrfGsuBTAZ1H+3T58iSjibLALiuXBlo9DdGLkdQbHGGkS Ui6pIXPTVxOdg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 7AF3968188; Sat, 18 Oct 2025 02:42:28 -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 8wPZRckkrWf1; Sat, 18 Oct 2025 02:42:28 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776942; bh=cVamhSvrXM/VcvvxjBWAJZr/wY5hjp7ABq3yHPJ6Quk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GnzarejOVghKf3ywFDtolgFTz51AIhmkgGv16giDnbj8WjTcX3NnrFWDySFOBYZLB gYEQ3fIot/PZdkjP7y+LDT6OnX5zCZX9VwsDziSszE4zGx/vULK4SR6Duv2O79/WoD ZJDi31Dh+FxRp55+sfK+ryAWK1WDjakZ2pNoUKemKphLBeAJfiE76fkj6hn6oMWU8r jaB/l/z/Da6w2v/WxzTHgLoOE2k6NZhd3f0zzxuL5PiLei2ScaaaM89KPhBnAnm3eU luUjL+Q9LLCGbf4tlWH/IL8na5KX9AmNqAXsyn6mkNMs9fAwDVtyhnfKYzh7ohF5G5 jgkTRTUioU3DA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id A3C0B68109; Sat, 18 Oct 2025 02:42:22 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:02 -0600 Message-ID: <20251018084117.1798704-18-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: 7ZYV2WEALMS4RH54DPENYS6BYLC75GJQ X-Message-ID-Hash: 7ZYV2WEALMS4RH54DPENYS6BYLC75GJQ 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 17/24] bootctl: Bring in some additional images 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 Provide some sample images for use with the 'multi' theme. Signed-off-by: Simon Glass --- drivers/video/images/Makefile | 5 +++++ drivers/video/images/canonical.bmp | Bin 0 -> 14258 bytes drivers/video/images/help.bmp | Bin 0 -> 1782 bytes drivers/video/images/multipass.bmp | Bin 0 -> 4378 bytes drivers/video/images/settings.bmp | Bin 0 -> 1782 bytes drivers/video/images/tick.bmp | Bin 0 -> 822 bytes test/dm/video.c | 7 ++++++- 7 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 drivers/video/images/canonical.bmp create mode 100644 drivers/video/images/help.bmp create mode 100644 drivers/video/images/multipass.bmp create mode 100644 drivers/video/images/settings.bmp create mode 100644 drivers/video/images/tick.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3b010e3310ff65a0d48a2d4d24385b0ce75ee1b9 GIT binary patch literal 1782 zcmb7_drVtp7{+TN9TgUuf^5oVlyav9);dsNg&m+5$8|I5MwoWaWRi(78ACK~!3c!{ zV{{auv~=7CrBFn+#D9!&8Z~2M*{q}Y_7r-7OlKe&)(z0Nr={y~nfm2DCtuogetDkf zea|^a$r>JqtxPy4!Li$WJcsRYxNp7xV;B9)DIfsHW)P1dVf?~ysAEVtCzA+2{`Zwm zCe)NfD$Zu#ke2C{RkkZ9Y**hgsNTGJsY20^TT>pDK@NU4ZO0DW@q%#GIfiAl*fCM! zP;wpPY$&Ia>Vt&(|G_nCs5Bk8y0Hg;4gfLc5{} z%AsIkG`4esY^~c6hY;AsGNzR{Aq||;;=*YhRy91Y!*Bbnv!i9J6Ka10g_-O`cEaGa>OFbMf>-= z%SQuYm^PoyEtjA`l1u}E{hG&$2pTe&^(>-SCI^f3*D zT`sVD8amGTp)>b&29cMw^HxW;MUrcgWMe1~%_ofc0R8R{+x5qxZM9&_W|3N2RGAl6 zl@p?Fqw3q^_2=UZ=i?0>@rDZt#?AzzDA6cNGF?n^&Yb*fbHg#sH+QF6K2NpuP%XVw zR6;`~Y1Y0pt29H`m&r$7ta>d(-I}UvrRduz`t~?C4NzVhpb`Of|GId?wPI6Ln7dQV zfWl~KFQ8~>U%FnhkB@}%vVvznO9GCrHC6{Ge;NpLYje|9)C!m)mRo zwrFo9Gn7Lkd|e+49Bm6(Cxi_~Yj*8X__H8UBOq%8 zdoUW=O>2!c_2d}4=$_CP6}-)jN2_QR=y7F`!gYts!5qm3p=Z|M88bR!Q zW3;9TP?)f0vUT|I(pUBOt_dAiJ}`8`ctB`aLoXzlx>9FbsQf&V4+5LOK-_5-Y3|cF z3>BsEr$K1{Xo0aaMcq!VFW*Jj{szMBAqLd4Nk28DXoSi0jWL)oKW!~oXwcBMc;m&4 z8^XP3O2gq6e=)v&AP&dR37PqjZjhCkdJug_hE|B>-wd}W8$=AVjAb4?boE^3+j%6g z@a&Zlg@3;&eDb60ISJ38c-Qu2t!<{(I9`2ATB-VkS;N^yi~1km9T*8NmB4!?_()dJ Sk*r`|W-yCN@XX0mW&91`SI$EK literal 0 HcmV?d00001 new file mode 100644 index 0000000000000000000000000000000000000000..528488230f602264cf4a61472c0c1b81a0ad3224 GIT binary patch literal 1782 zcma)+$xB;N6vop<91yxLx^UZtqD1H)&_x^|5wTH85UNH<5NAwuW6%&x7OsS>BAA^- z5u;Y)kU@huD-LmvacZ*cuIv8#t_FFvwg=whoO{3X-80?$S@SbPA;~BHANf8!eeWbq zp@^^_eJ?%<_{LAERF;;O*4Nj6l?0`%tc=AsTx45CMMbTxtv;V`e}6w7kAIg0<>268 za&of0y}h`&Smq)#Gcz+A8XBgirto@ve0+F#xWB*Wk6^-=OePbFgx~K623Y1U%-q~u zi^a0LyNmDL-QCjClGEvIZf^b}35v_*3I>CM@bK`kudgpJFHc4Vc~4JIEEc=Hz1`m4 z?&|8&Jd4q2Y-(zHwlv+{-6TkCmzS4N$)ci`J3BkXyu7?zS68RiYWw^9sV(l`BtgMs zku3n>a2P5GNiZE!K|#U9!~`Tn0tT1r>S}bdpxR`LpkT7d764#$0V;~AQmF)$$z(b^ zJG;KVCLN9gNlBv7=-%Gm#>NI!otc^0+}y-mTU%ob05HJRpN_P&w7|nicsw4=`T2Pc zB61D|k5?cN7#<#G5#cPFE~o$iV{v6=g^;{nFC=QUIur_BU0pdG4z?%)@q>4}-Bndp zv$L}_k#Qmbc3ET#fG8auBqSoQsHmu|ttEYm-`Lm)5}_1ZTU$Dv4qr0D5n&Otrly81 zbb(|Tn2@8RBfVa4Fc?lwPA)Dk$eI?@9B4VBva*seB#x)w$jHdRzyK)&0LCzI7IQ)j zv|I3;pP#3BaQhz~4#g$SLtab{JhHs#%gekNj6d^&ifLiC$%|V|-QXD<93<;k>)h7X z1_`^eIu8vE!9(!n<>fg!IisVa@K92aHk*yMvPE_a3k!eiJ21ci$ZKqDEF8=o+d%b z%F62O?Bwb}6^TSBERI5G3i51e$bEf%o%ugLKJM-9&Cbq#$%CGspU)K_a%v9S^z^jd zZf6)s1Yznhxh52ZvXHFRYQ;rHB21#fkuEUpG=f9nq;80C7tieC;vz7>uacw}dBzEz o>yK|LmHHtG3iHnqJQsz9g=z3V6-I)mfRgfLAt;z)PG0r>1@dtlU;qFB literal 0 HcmV?d00001 index 616aee3f84d..a2c654831b9 100644 diff --git a/drivers/video/images/Makefile b/drivers/video/images/Makefile index 9019b36c918..8e719691880 100644 --- a/drivers/video/images/Makefile +++ b/drivers/video/images/Makefile @@ -10,3 +10,8 @@ endif ifdef CONFIG_$(PHASE_)GENERATE_ACPI_TABLE obj-y += bgrt.o endif + +obj-$(CONFIG_BOOTCTL) += canonical.o +obj-$(CONFIG_BOOTCTL) += tick.o +obj-$(CONFIG_BOOTCTL) += multipass.o settings.o +obj-$(CONFIG_BOOTCTL) += help.o diff --git a/drivers/video/images/canonical.bmp b/drivers/video/images/canonical.bmp new file mode 100644 index 0000000000000000000000000000000000000000..0b40d9f8e5bcab5d0465e71029e37d48ae368fba GIT binary patch literal 14258 zcmdU$`I8ex6vxLO{2%<$TfEN#JW=s13oT1T5fMRA5fxAryiiaS6e&Sayto8JH%>3Q#c`+P@pb*C@dIk~^K ze7E6q9iNVTj&Y9T+i{-b_ld{4pB#g)ga3iQ=Ip_x>lz17sJpg*)j2&PZSIP6cqIDJ z>$S6%H6&8mum+YB6PErJ$t>T{_`#QnVUyyR{O}vKU#x0SY+SP?ebbXw$9JyK{%hO2 za^{kx@{0ds88B7WHZS--HDGM)+#V6d%yzviWAz37K5;?fq&xIzH2A?6!4 zvUhZTu6oprdZ82I)@P~%&DS!z}Wb zsr_}{%Dg8MPi7TQ%hei$iPdoTuzZPHO(`=Nj@cpDgs&M%nSt&9nO%L~Zm5SO~f7%*uqB|0b3AfFK0W@TmK zz+Toz?*MQzxZz9~Ol39JUN~W)X{hF}K6JMH4>6JPGvz*>9Dm5IFksrVKf^S`)1168 z$$Hu!J!+eRcKq1;wL?WR5NECs6FcM}(M|7E;n*I*#DPT0zyx0AU)m>1q)=9qZG@Ymh2c}< zIZT|P?ZafX$gvcWnzymkz75f|+|z=_p~zt>B9s~RamoBWdmM60Q(l_r)N%0siU>JR z?-r?w9nH;n`**P4eb;W%Ug zwLbWOs6%ZgiLPnD29p0k8;U-36rb# z=k4jfqYtOOL|a0uf#YI3{?ud;OK7a6C{vA*Os*TRdN8?y84Plut2Z}t8Hik9$+NDO z=4+eHUD2SukW(9cfVwkqbw@m>A9JUneQcP;R*V;ezdxtRX$6C@K1pqL|GANu^W141>C{x%)8O zwvY$X7t_j(#$A&wk;_J;&x*z&UgTPtcX5aOhKA z`SFs6qAeUPcGR$UT9ow8?tj#N4Z=jR-c(0$!BI^R8;;yrmNZEXxsz;YO2Gc}BM1|w zu@wCsceaetGwbF1hL(V6X7Y0U!9Dw4K>=4$XMu?~W-r$Vm9l0+`4vY_2t|qM(Ud2V z#cFACDDtXOYLJCiWdM@$ixi>5zqP2)p~(;jJD>e0Ss!}OUA zAu(YHCpL*?8@1Xta?PGNTieElsl8_4j$C+5ytjRC)76g^xD_^5xNV4KT+Mu&a&&>x z@Xvh0xS}v&4mEgg>lINvkS`t+XNS5*C9o2^ijMIT#bRS<1DCrl!ui*l z<1&>y%w+TJHywfw?cGYzNu|RiM3NC8JR!krsv!f5pSX}HUV$JpGS>tW z8W95F;{fF|A;whCc=ponZo9jsEf!jQ=xiqM?yM$Flz5oU%;cSCpZC{y-%h6U($OPI z?eSwhj@g8H8q=pVVpWtM4T_TVu~`$a9J`kOM?R#8O11^+x92 z8#ChN7wVo|EA7{wsr8ab5|!x<+y80R?HAa(Sz+v4zCuYSgPG`i>)AW&L@+~j*q9%Q zR7WhZKQ7yKOsqKSSW5k5jKwcIlrgz#`#&TdelK=&clvhB7>bz)D5FrSGByIL!v-@_ zny)+jUhF`>`Xpgtob6XBgZ~dGlJiUmC9O zx%$ZVBa!;+VYi31(eXS60?POsYkdge?KP|@9XRw-;CyX(FlSg zIi}xo>ew30Y4dUFU{$#BR2H*0) z*skI>WIVchvGM-=u>S3PnP($NZIvNji0EIp96GkpDU!#(VYBz0ceLK;M(BlsfM*~$ sH>^R#E0<0^i2ulTdF$Ouw%9S*6WJ571EM0&iR_8k0a20XtPZgAInsrhM_w%-4l6O z%|(1x*q2y8?V5>2%nRJV+QkVW-u8YzfvAC5V`+XqUgEowO%AYKZ`Vp~S|a?G_J#TvXq6N|piSCyh)`O&+i7 z63KBLWJ>PtJAko+*fb4d^0q78;dAFy$hCAx7H=AjxtP+5Iw<|YMpR)6xz|;J!2RPl z9S1?}CCm9EPiT}pZd0fjP)zg?d(3}vug47vjd3~Bh5w;zav~s&+XUu-W;E3pgqL3) Rupl3fk#G2=gTnL&fPWQ&oDu*4 literal 0 HcmV?d00001 diff --git a/test/dm/video.c b/test/dm/video.c --- a/test/dm/video.c +++ b/test/dm/video.c @@ -1303,10 +1303,15 @@ static int dm_test_video_images(struct unit_test_state *uts) ut_assert_nextline("Name Size"); ut_assert_nextline("-------------------- ----------"); ut_assert_nextline("bgrt 43926"); + ut_assert_nextline("canonical 14258"); + ut_assert_nextline("help 1782"); + ut_assert_nextline("multipass 4378"); ut_assert_nextline("riscos_arrow 3798"); + ut_assert_nextline("settings 1782"); + ut_assert_nextline("tick 822"); ut_assert_nextline("u_boot 6932"); ut_assert_skip_to_line(""); - ut_assert_nextline("Total images: 3"); + ut_assert_nextline("Total images: 8"); ut_assert_console_end(); return 0; From patchwork Sat Oct 18 08:41:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 618 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=1760776954; bh=ftrW8qL5Te1j47yygD8AD67rGzrcbwcyGKalinVu4cA=; 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=crUTd1IwgGHtEycUpRtNNK5Z193HJW3aud0OdHvsZLnLkd90co5ZREvpvIRAa/l/2 b1PWH7GYaePOcTO+WOj9u75PlSdjP9p30kE2ScdV1CC6G5bh0N2HDBPJ92rpcFkhwN e59YYou6qGbNLORgozqU6FMS6HM3/wa+J4b6TZIlsHYd5cLbB5Kc6GHILUqIb40xUB qmk5S7dLKPvNXe2mpWcn9IOBG8lzCh7VVav2sDnIkxHrAsRB50JvPncclnYsMsrEqR AoiEqA8inwI48i19Y1YHMA6A7VE4XyPK7TpZCYeemhboDoQ7Z59cF00ZQ3eXOnBVvb j+vN3ZkZD47dw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 7AEAC681D3 for ; Sat, 18 Oct 2025 02:42:34 -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 Asb8rvtZXPiI for ; Sat, 18 Oct 2025 02:42:34 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776954; bh=ftrW8qL5Te1j47yygD8AD67rGzrcbwcyGKalinVu4cA=; 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=crUTd1IwgGHtEycUpRtNNK5Z193HJW3aud0OdHvsZLnLkd90co5ZREvpvIRAa/l/2 b1PWH7GYaePOcTO+WOj9u75PlSdjP9p30kE2ScdV1CC6G5bh0N2HDBPJ92rpcFkhwN e59YYou6qGbNLORgozqU6FMS6HM3/wa+J4b6TZIlsHYd5cLbB5Kc6GHILUqIb40xUB qmk5S7dLKPvNXe2mpWcn9IOBG8lzCh7VVav2sDnIkxHrAsRB50JvPncclnYsMsrEqR AoiEqA8inwI48i19Y1YHMA6A7VE4XyPK7TpZCYeemhboDoQ7Z59cF00ZQ3eXOnBVvb j+vN3ZkZD47dw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 6713A6814E for ; Sat, 18 Oct 2025 02:42:34 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776951; bh=0W8zMsTNwnZnFUFjCCdfzsBDeYxKzq0Rr4MCRg8sI2s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HS6RY3Gk8cMsfoQh3GKY33/u9VffWqncbR01n8VcK6+h2r9bs9892olMYdbycsBfc ZHVp13TnSD7xsrVySccJsq+vC6xflR/WHijoSuc3SM2gOYrdzGkWe6FUL3GRQXjQzT QeShk67YvySixK6gZnZgh0wFyctXrFD9bR4rZnr9bnSQ/Twzk8C/Fg5xGMK8c1p3ce 4IYXmy0oJ6fp04dsRaDq7gyqcXJuPJG7bs6iGcwGjYefjemPA5xwWGSw0Ej+5UGlcP xLnLzn+UtwtgLTaIqwlt4E2XpucZQoGjXNOPONCSOAZEY1TRfyyh3KCGyGykiFWM+M Br2AF9T5zoS7Q== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id ECAE7681CD; Sat, 18 Oct 2025 02:42:31 -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 Flg_KuWvWleY; Sat, 18 Oct 2025 02:42:31 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776947; bh=tH6qHQr7PXEXs9QFvU1I3Mzqx26IFb39iSjN8iN8TSw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XgaGSGl1eDGQGpWZR2qUj7akneG8mZm4+x8jwNG9nRHD8i03TvigAsDrVtcjaNFPE SPNeV4RGy0QkQF6jHxSWm5e7vri7tPi8G1OFH5WxLcG8vE19qFamRwSOmS8iS4PEcQ npawcUgG2GLx/CT3DMvF8t3HpVV9jRDNsGrA2tckY6Sp5b0pDvxkh1aUCUv32PYBtB zspaPxcbxwdgjlcLGTMmaG042bQHI1lBHbRdzD0ERHYefHSOYNb2W5u3KV8avk/aA8 FCrEeRgw/eZQSJHzeqeqam/BC5SQeVQG90IO/1j6bLK82WQzQdas7Pvrny83kFV317 rte7GfYWty8HA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 844286814E; Sat, 18 Oct 2025 02:42:27 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:03 -0600 Message-ID: <20251018084117.1798704-19-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: JM47J63QRW3TNJZA2QNZHI3UIOMZOUZP X-Message-ID-Hash: JM47J63QRW3TNJZA2QNZHI3UIOMZOUZP 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 18/24] bootctl: Add an option to switch the layout 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 Provide an operation to switch to a different layout, for use with the upcoming 'multi' UI. Signed-off-by: Simon Glass --- boot/bootctl/util.c | 15 +++++++++++++++ include/bootctl/ui.h | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/boot/bootctl/util.c b/boot/bootctl/util.c index ec8de21815d..48912c67f21 100644 --- a/boot/bootctl/util.c +++ b/boot/bootctl/util.c @@ -95,6 +95,21 @@ int bc_ui_poll(struct udevice *disp, int *seqp, bool *selectedp) return ret; } +int bc_ui_switch_layout(struct udevice *dev) +{ + struct bc_ui_ops *ops = bc_ui_get_ops(dev); + int ret; + + if (!ops->switch_layout) + return -ENOSYS; + + ret = ops->switch_layout(dev); + if (ret) + return log_msg_ret("bsl", ret); + + return 0; +} + void bc_oslist_setup_iter(struct oslist_iter *iter) { memset(iter, '\0', sizeof(struct oslist_iter)); diff --git a/include/bootctl/ui.h b/include/bootctl/ui.h index beb11178c52..4f8e08a00c2 100644 --- a/include/bootctl/ui.h +++ b/include/bootctl/ui.h @@ -91,6 +91,14 @@ struct bc_ui_ops { * -ve on error */ int (*poll)(struct udevice *dev, int *seqp, bool *selectedp); + + /** + * switch_layout() - Switch between different UI layout modes + * + * @dev: Display device + * Return 0 if OK, -ve on error + */ + int (*switch_layout)(struct udevice *dev); }; #define bc_ui_get_ops(dev) ((struct bc_ui_ops *)(dev)->driver->ops) @@ -132,4 +140,12 @@ int bc_ui_render(struct udevice *dev); */ int bc_ui_poll(struct udevice *dev, int *seqp, bool *selectedp); +/** + * bc_ui_switch_layout() - Switch between different UI layout modes + * + * @dev: Display device + * Return 0 if OK, -ve on error + */ +int bc_ui_switch_layout(struct udevice *dev); + #endif From patchwork Sat Oct 18 08:41:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 619 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=1760776954; bh=0WiyxQHUkazHonPxaUAoeZQelc0bt1If/lIITavNWPw=; 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=YsGKz49yB/PCxKdn/uchGxIwuw6xRVkNsMKhjLcmNHeW59dvOswtvJsOjILUtgFnD NHPXdQ6982aOTSGyEKMbXyrI5be1WZiQhrMTtZtKXEYZt+uKke3sidux5XucWJeeiM eIf6rKsDWjSbO3lfF1zuMUSxJnv193b2+suZKDHG3sO1gKfzrLKv8tlTl67eBEBedm b3R7CAYA21iz8LEWG86QUg1nQwYYCiN6KYlgL449zArEpQzu6PMpMC9hBFJVM8q0hF w2CH4aZNCus7obwjkKQ5ARX/4Dmm//18HKTFn9TFQ2WR6breAijZKG3LxT9zlOyB12 y8D8SKFFsAR+w== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id F0701681E4 for ; Sat, 18 Oct 2025 02:42:34 -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 XCkzlYOrFtQU for ; Sat, 18 Oct 2025 02:42:34 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776954; bh=0WiyxQHUkazHonPxaUAoeZQelc0bt1If/lIITavNWPw=; 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=YsGKz49yB/PCxKdn/uchGxIwuw6xRVkNsMKhjLcmNHeW59dvOswtvJsOjILUtgFnD NHPXdQ6982aOTSGyEKMbXyrI5be1WZiQhrMTtZtKXEYZt+uKke3sidux5XucWJeeiM eIf6rKsDWjSbO3lfF1zuMUSxJnv193b2+suZKDHG3sO1gKfzrLKv8tlTl67eBEBedm b3R7CAYA21iz8LEWG86QUg1nQwYYCiN6KYlgL449zArEpQzu6PMpMC9hBFJVM8q0hF w2CH4aZNCus7obwjkKQ5ARX/4Dmm//18HKTFn9TFQ2WR6breAijZKG3LxT9zlOyB12 y8D8SKFFsAR+w== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D7A396814E for ; Sat, 18 Oct 2025 02:42:34 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776953; bh=iTqlUBSDQQCZdPcEggr8hBUlmeBLei5JRdYpO9SQit0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VzOZq3Fyba+NnJYSnSub6vCTlJpYUhcTFtIL9jlbmOmHRk3+1dXesozuHJWocAZmN gtoeurCRu+1fzzZnkC1u3N6FEQjFsmNhM+W1h27g6GJvevooIW5eo4PG0sjKqLtSGx Tew5MJm8XNapnht/6KOsVUBjDAbCDwql+a+ITqEi+4IZ9ZG+wyngyI386nM8brqYyl 7z7YloSDRrDeDJlxDbxaQ5s+GjBR8wcTb+1f5dIJOxzTKKWLgsEtRcmRAZMST/eiH3 +tuORTkDfC67fhi0aqFpmyrX1YiFUfGwMDPUVdgBaBEWVjsHlzVsw89C2B048noMWh wPQhrJTf9sA+w== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id DF8BB6814E; Sat, 18 Oct 2025 02:42:33 -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 upi0BthAp-K3; Sat, 18 Oct 2025 02:42:33 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776952; bh=uMu+yDPGeCCYJD1GXjgwq4WliDt+9eSv0epX/ECiqYo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JDf9rZJDOF46h3Mee7QE/4mGt+QG7DNeBpgrmtD/LOwLIVVuS7ouG6r1U2uP0MINl XTmsfTlrXGXVG4I1j4iUWf7hKyON87F/sJ1UxrnnvP0TuCK8qhbMBIOCJRTuMS331C Xh9JOZi6gjmCnqahIivnOFlOYyeKNWn3UV1CS57MCzjTiY7i8AthjgsFbRu0dlF9+U 4EEBKfdTZP0MObQ9AHXEWU5TUlPoH6uJivx3v4R4+go/4hfw6EUqmmKCuK4Rk0TPNa ocrmKfqzcJZYhZRxocTaw5ZPp214Z3n0QNWv0IEMcWV+A3yAnqj9F83tvgPuj+Bv9N 9vm3VhONoGOfA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 0B33368109; Sat, 18 Oct 2025 02:42:31 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:04 -0600 Message-ID: <20251018084117.1798704-20-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: GGS7G7LYDGHZL2ZW6ZBTQOEC6Q3GBRR3 X-Message-ID-Hash: GGS7G7LYDGHZL2ZW6ZBTQOEC6Q3GBRR3 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 19/24] bootctl: Provide a multi-themed UI 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 a new 'multi' UI which can display in a simple format (like GRUB) as well as a more modern format with a mouse. Signed-off-by: Simon Glass --- boot/bootctl/Makefile | 1 + boot/bootctl/multi_ui.c | 588 ++++++++++++++++++++++++++++++++++++++++ include/bootctl.dtsi | 9 +- 3 files changed, 597 insertions(+), 1 deletion(-) create mode 100644 boot/bootctl/multi_ui.c diff --git a/boot/bootctl/Makefile b/boot/bootctl/Makefile index 4ed842fa752..0288fc038ad 100644 --- a/boot/bootctl/Makefile +++ b/boot/bootctl/Makefile @@ -11,4 +11,5 @@ obj-y += logic.o obj-y += simple_meas.o obj-y += simple_state.o obj-y += simple_ui.o +obj-y += multi_ui.o obj-y += util.o diff --git a/boot/bootctl/multi_ui.c b/boot/bootctl/multi_ui.c new file mode 100644 index 00000000000..adf48808c0f --- /dev/null +++ b/boot/bootctl/multi_ui.c @@ -0,0 +1,588 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Provides a 'multiboot' menu on a graphical display + * + * This is based on Heinrich's design shared in late August. + * + * Copyright 2025 Canonical Ltd + * Written by Simon Glass + */ + +#define LOG_CATEGORY UCLASS_BOOTCTL + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "../bootflow_internal.h" +#include "../scene_internal.h" + +enum { + /* Bar on the left */ + BAR_X = 0, + BAR_Y = 0, + BAR_W = 70, + BAR_H = 800, + + HELP_Y = 675, + SETTINGS_Y = 720, + + MAIN_X = 150, + MAIN_Y = 150, + + IMAGES_Y = 225, + BOX_W = 300, + BOX_H = 300, + BOX_MARGIN = 10, + + // gap between boxes + GAP_X = 20, + GAP_Y = 20, +}; + +/** + * struct multiboot_ui_priv - Driver-specific private data for multiboot UI + * + * @use_bootflow_props: true to use bootflow_menu_set_props(), false for multiboot_ui_set_props() + */ +struct multiboot_ui_priv { + bool use_bootflow_props; +}; + +static int multiboot_ui_probe(struct udevice *dev) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct udevice *ldev; + int ret; + + ret = uclass_first_device_err(UCLASS_BOOTCTL, &ldev); + if (ret) + return log_msg_ret("sup", ret); + + upriv->lpriv = dev_get_priv(ldev); + + return 0; +} + +static int multiboot_ui_bind(struct udevice *dev) +{ + struct bootctl_uc_plat *ucp = dev_get_uclass_plat(dev); + + ucp->desc = "Graphical or textual display for user"; + + return 0; +} + +int setup_version(struct expo *exp, int i, const struct bootflow *bflow, + const char **versp) +{ + const char *vers = NULL; + struct abuf *buf; + char *str; + int ret; + + ret = expo_edit_str(exp, STR_DESC + i, NULL, &buf); + if (ret) + return ret; + abuf_printf(buf, bflow->os_name ? bflow->os_name : bflow->name); + + str = buf->data; + if (!strncmp("Ubuntu", str, 6) && strlen(str) > 20) { + /* get the space string after the 24.04[.1] */ + char *p = strchr(str + 8, ' '); + + /* get the space after that */ + char *q = p ? strchr(p + 1, ' ') : NULL; + + vers = str + 7; + if (q) + *q = '\0'; + else + *p = '\0'; + } + + if (versp) + *versp = vers; + + return 0; +} + +static int multiboot_set_item_props(struct scene *scn, int i, + const struct bootflow *bflow) +{ + struct expo *exp = scn->expo; + struct abuf *buf; + int x, y, ret = 0; + + x = MAIN_X + i * (BOX_W + GAP_X); + y = IMAGES_Y; + + ret = setup_version(exp, i, bflow, NULL); + + scene_obj_set_bbox(scn, ITEM_BOX + i, x, IMAGES_Y, + x + BOX_W, IMAGES_Y + BOX_H); + scene_obj_set_hide(scn, ITEM_BOX + i, false); + + scene_obj_set_pos(scn, ITEM_DESC + i, x + BOX_MARGIN, + IMAGES_Y + 80); + scene_obj_set_pos(scn, ITEM_LABEL + i, x + BOX_MARGIN, + IMAGES_Y + 80 + 20); + scene_obj_set_pos(scn, ITEM_VERSION_NAME + i, x + BOX_MARGIN, + IMAGES_Y + 80 + 70); + scene_obj_set_pos(scn, ITEM_PREVIEW + i, x + BOX_MARGIN, + IMAGES_Y + 5); + scene_obj_set_pos(scn, ITEM_VERIFIED + i, + x + BOX_MARGIN + 40 + 32, IMAGES_Y + 80 + 21); + + ret |= scene_obj_set_hide(scn, ITEM_PREVIEW + i, false); + ret |= scene_obj_set_hide(scn, ITEM_BOX + i, false); + ret |= scene_obj_set_hide(scn, ITEM_VERSION_NAME + i, false); + ret |= scene_obj_set_hide(scn, ITEM_VERIFIED + i, false); + + /* Hide key in multiboot mode (not used with mouse) */ + ret |= scene_obj_set_hide(scn, ITEM_KEY + i, true); + if (ret) + return log_msg_ret("msp", ret); + + /* Set font sizes for multiboot UI */ + ret = scene_txt_set_font(scn, ITEM_LABEL + i, "ubuntu_light", 18); + ret |= scene_txt_set_font(scn, ITEM_DESC + i, "ubuntu_bold", 20); + ret |= scene_txt_set_font(scn, ITEM_VERSION_NAME + i, NULL, 18); + if (ret) + return log_msg_ret("msq", ret); + + ret = expo_edit_str(exp, STR_LABEL + i, NULL, &buf); + if (!ret) + abuf_printf(buf, "Canonical"); + + return 0; +} + +static int multiboot_ui_set_props(struct udevice *dev, struct scene *scn, + struct bootstd_priv *std) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct logic_priv *lpriv = upriv->lpriv; + struct expo *exp = scn->expo; + struct expo_theme *theme = &exp->theme; + struct abuf *buf; + int i, ret = 0; + + /* Set multiboot-specific strings */ + ret = expo_edit_str(exp, STR_PROMPT1B, NULL, &buf); + if (!ret) + abuf_printf(buf, "Select image to boot"); + + ret = expo_edit_str(exp, STR_PROMPT2, NULL, &buf); + if (!ret) + abuf_printf(buf, "Images"); + + /* Show multiboot-specific objects */ + scene_obj_set_hide(scn, OBJ_BOX, false); + scene_obj_set_hide(scn, OBJ_OTHER_LOGO, false); + scene_obj_set_hide(scn, OBJ_SETTINGS, false); + scene_obj_set_hide(scn, OBJ_HELP, false); + scene_obj_set_hide(scn, OBJ_POINTER, true); + scene_menu_set_pointer(scn, OBJ_MENU, 0); + + /* Enable mouse for multiboot UI */ + expo_set_mouse_enable(exp, true); + + /* Use manual positioning for menu */ + scene_obj_set_manual(scn, OBJ_MENU, true); + + ret = expo_edit_str(upriv->expo, STR_MENU_TITLE, NULL, &buf); + if (ret) + return log_msg_ret("set", ret); + abuf_printf(buf, "Welcome to Multiboot"); + + scene_obj_set_halign(scn, OBJ_MENU_TITLE, SCENEOA_LEFT); + scene_obj_set_pos(scn, OBJ_MENU_TITLE, MAIN_X, 50); + + scene_obj_set_pos(scn, OBJ_PROMPT1B, MAIN_X, 120); + scene_obj_set_halign(scn, OBJ_PROMPT1B, SCENEOA_LEFT); + + scene_obj_set_pos(scn, OBJ_PROMPT2, MAIN_X, 180); + scene_obj_set_halign(scn, OBJ_PROMPT2, SCENEOA_LEFT); + + scene_obj_set_hide(scn, OBJ_AUTOBOOT, !lpriv->opt_autoboot); + + if (upriv->logo) { + ret = scene_obj_set_pos(scn, OBJ_U_BOOT_LOGO, 1045, 10); + if (ret) + return log_msg_ret("lop", ret); + } + + scene_obj_set_bbox(scn, OBJ_BOX, BAR_X, BAR_Y, BAR_X + BAR_W, + BAR_Y + BAR_H); + scene_box_set_fill(scn, OBJ_BOX, true); + + scene_obj_set_bbox(scn, OBJ_OTHER_LOGO, BAR_X, BAR_Y, BAR_X + BAR_W, + BAR_Y + 50); + scene_obj_set_halign(scn, OBJ_OTHER_LOGO, SCENEOA_CENTRE); + + scene_obj_set_bbox(scn, OBJ_SETTINGS, BAR_X, SETTINGS_Y, BAR_X + BAR_W, + SETTINGS_Y + 24); + scene_obj_set_halign(scn, OBJ_SETTINGS, SCENEOA_CENTRE); + + scene_obj_set_bbox(scn, OBJ_HELP, BAR_X, HELP_Y, BAR_X + BAR_W, + HELP_Y + 24); + scene_obj_set_halign(scn, OBJ_HELP, SCENEOA_CENTRE); + + if (ofnode_valid(std->theme)) { + ret = expo_setup_theme(upriv->expo, std->theme); + if (ret) + return log_msg_ret("thm", ret); + } + + theme->white_on_black = false; + + ret = expo_apply_theme(exp, true); + if (ret) + return log_msg_ret("asn", ret); + + scene_obj_set_manual(scn, OBJ_MENU, true); + + for (i = 0; i < std->bootflows.count; i++) { + const struct bootflow *bflow; + + bflow = alist_get(&std->bootflows, i, struct bootflow); + if (!bflow) + return log_msg_ret("mbb", -ENOENT); + + multiboot_set_item_props(scn, i, bflow); + } + + expo_set_mouse_enable(exp, true); + + scene_txt_set_font(scn, OBJ_MENU_TITLE, NULL, 60); + scene_txt_set_font(scn, OBJ_PROMPT1B, NULL, 30); + scene_txt_set_font(scn, OBJ_PROMPT2, "ubuntu_bold", 30); + + scene_menu_select_item(scn, OBJ_MENU, 0); + scene_set_highlight_id(scn, 0); + exp->show_highlight = false; + + return 0; +} + +static int multiboot_ui_print(struct udevice *dev, const char *msg) +{ + printf("%s", msg); + + return 0; +} + +static int multiboot_ui_show(struct udevice *dev) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct multiboot_ui_priv *priv = dev_get_priv(dev); + struct bootstd_priv *std; + struct scene *scn; + struct abuf *buf; + uint scene_id; + int ret; + + ret = bootstd_get_priv(&std); + if (ret) + return log_msg_ret("sdb", ret); + ret = bootflow_menu_setup(std, 0, &upriv->expo); + if (ret) + return log_msg_ret("sds", ret); + + expo_set_mouse_enable(upriv->expo, true); + + ret = expo_first_scene_id(upriv->expo); + if (ret < 0) + return log_msg_ret("ufs", ret); + scene_id = ret; + scn = expo_lookup_scene_id(upriv->expo, scene_id); + + ret = expo_edit_str(upriv->expo, STR_PROMPT1B, NULL, &buf); + if (!ret) + abuf_printf(buf, "Select image to boot"); + + ret = expo_edit_str(upriv->expo, STR_PROMPT2, NULL, &buf); + if (!ret) + abuf_printf(buf, "Images"); + + ret = expo_edit_str(upriv->expo, STR_AUTOBOOT, + &upriv->autoboot_template, + &upriv->autoboot_str); + if (ret) + return log_msg_ret("ses", ret); + + if (upriv->logo) { + ret = scene_img_set_data(scn, OBJ_U_BOOT_LOGO, upriv->logo, + upriv->logo_size); + if (ret) + return log_msg_ret("log", ret); + } + + ret |= scene_img(scn, "multipass", OBJ_OTHER_LOGO, + video_image_getptr(multipass), NULL); + + ret |= scene_img(scn, "settings", OBJ_SETTINGS, + video_image_getptr(settings), NULL); + + ret |= scene_img(scn, "help", OBJ_HELP, + video_image_getptr(help), NULL); + + log_debug("theme '%s'\n", ofnode_get_name(std->theme)); + + if (priv->use_bootflow_props) { + void *logo = upriv->logo ? (void *)upriv->logo : + video_get_u_boot_logo(NULL); + + ret = bootflow_menu_set_props(upriv->expo, scn, logo, + "Boot Control"); + if (ret) + return log_msg_ret("bfprops", ret); + } else { + ret = multiboot_ui_set_props(dev, scn, std); + if (ret) + return log_msg_ret("props", ret); + } + + ret = scene_arrange(scn); + if (ret) + return log_msg_ret("usa", ret); + + upriv->scn = scn; + + ret = device_find_first_child_by_uclass(upriv->expo->display, + UCLASS_VIDEO_CONSOLE, + &upriv->console); + if (ret) + return log_msg_ret("suq", ret); + vidconsole_set_quiet(upriv->console, true); + expo_enter_mode(upriv->expo); + + return 0; +} + +static int multiboot_ui_add(struct udevice *dev, struct osinfo *info) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct logic_priv *lpriv = upriv->lpriv; + struct bootstd_priv *std; + const char *vers = NULL; + struct scene *scn; + struct abuf *buf; + int seq, ret; + + info = alist_add(&lpriv->osinfo, *info); + if (!info) + return log_msg_ret("mua", -ENOMEM); + seq = bootstd_add_bootflow(&info->bflow); + if (seq + 1 != lpriv->osinfo.count) + return log_msg_ret("mdb", seq); + ret = bootflow_menu_add(upriv->expo, &info->bflow, seq, &scn); + if (ret) + return log_msg_ret("mda", ret); + + ret = setup_version(upriv->expo, seq, &info->bflow, &vers); + + if (vers) { + void *logo; + + ret = expo_edit_str(upriv->expo, STR_LABEL + seq, NULL, &buf); + if (!ret) + abuf_printf(buf, "Canonical"); + + scene_obj_set_hide(scn, ITEM_VERSION_NAME + seq, false); + scene_txt_set_font(scn, ITEM_DESC + seq, "ubuntu_bold", + 20); + ret = expo_edit_str(upriv->expo, STR_VERSION_NAME + seq, NULL, + &buf); + if (!ret) { + if (!strncmp("24.04", vers, 5)) + abuf_printf(buf, "Noble Numbat"); + else if (!strncmp("25.04", vers, 5)) + abuf_printf(buf, "Plucky Puffin"); + else if (!strncmp("22.04", vers, 5)) + abuf_printf(buf, "Jammy Jellyfish"); + } + + logo = video_image_getptr(canonical); + ret |= scene_img(scn, "preview", ITEM_PREVIEW + seq, logo, + NULL); + + logo = video_image_getptr(tick); + ret |= scene_img(scn, "verified", ITEM_VERIFIED + seq, logo, + NULL); + } + + ret = bootstd_get_priv(&std); + if (ret) + return log_msg_ret("sup", ret); + + multiboot_set_item_props(scn, seq, &info->bflow); + + ret = expo_calc_dims(upriv->expo); + if (ret) + return log_msg_ret("ecd", ret); + + if (lpriv->default_os && + !strcmp(lpriv->default_os, info->bflow.os_name)) + scene_menu_select_item(scn, OBJ_MENU, ITEM + seq); + ret = scene_arrange(scn); + if (ret) + return log_msg_ret("sua", ret); + + return 0; +} + +static int multiboot_ui_render(struct udevice *dev) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + int ret; + + ret = abuf_printf(upriv->autoboot_str, + upriv->autoboot_template.data, + upriv->lpriv->autoboot_remain_s); + if (ret < 0) + return log_msg_ret("uip", ret); + + ret = expo_arrange(upriv->expo); + if (ret) + return log_msg_ret("sda", ret); + ret = expo_render(upriv->expo); + if (ret) + return log_msg_ret("sdr", ret); + + return 0; +} + +static int multiboot_ui_switch_layout(struct udevice *dev) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct multiboot_ui_priv *priv = dev_get_priv(dev); + struct bootstd_priv *std; + struct scene *scn; + int ret; + + /* Toggle the layout mode */ + priv->use_bootflow_props = !priv->use_bootflow_props; + + /* Get the current scene */ + scn = expo_lookup_scene_id(upriv->expo, upriv->expo->scene_id); + if (!scn) + return log_msg_ret("scn", -ENOENT); + + ret = bootstd_get_priv(&std); + if (ret) + return log_msg_ret("std", ret); + + /* Re-apply properties with the new layout */ + if (priv->use_bootflow_props) { + /* Apply simple_ui style using bootflow_menu_set_props() */ + void *logo = upriv->logo ? (void *)upriv->logo : + video_get_u_boot_logo(NULL); + + ret = bootflow_menu_set_props(upriv->expo, scn, logo, + "Boot control"); + if (ret) + return log_msg_ret("bfprops", ret); + } else { + /* Apply multiboot style using multiboot_ui_set_props() */ + ret = multiboot_ui_set_props(dev, scn, std); + if (ret) + return log_msg_ret("props", ret); + } + + /* Calculate dimensions then re-arrange */ + ret = expo_calc_dims(upriv->expo); + if (ret) + return log_msg_ret("ecd", ret); + + ret = scene_arrange(scn); + if (ret) + return log_msg_ret("arr", ret); + + return 0; +} + +static int multiboot_ui_poll(struct udevice *dev, int *seqp, bool *selectedp) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + struct logic_priv *lpriv = upriv->lpriv; + int seq, ret; + bool ok = true; + + *seqp = -1; + *selectedp = false; + ret = bootflow_menu_poll(upriv->expo, &seq); + + ok = !ret; + if (ret == -ERESTART || ret == -EREMCHG) { + lpriv->autoboot_active = false; + scene_obj_set_hide(upriv->scn, OBJ_AUTOBOOT, true); + ok = true; + } else if (ret == -ECOMM) { + /* Layout change requested */ + ret = multiboot_ui_switch_layout(dev); + if (ret) + return log_msg_ret("swl", ret); + ret = -ECOMM; /* Restore the original return code */ + ok = true; + } else if (ret == -EAGAIN || ret == -ENOTTY) { + ok = true; + } + + *seqp = seq; + if (ret) { + if (!ok) + return log_msg_ret("sdp", ret); + if (ret == -EAGAIN || ret == -ERESTART || ret == -ECOMM || + ret == -ENOTTY) + return 0; + return 1; + } + + *selectedp = true; + + return 0; +} + +static int multiboot_ui_of_to_plat(struct udevice *dev) +{ + struct bc_ui_priv *upriv = dev_get_uclass_priv(dev); + + upriv->logo = dev_read_prop(dev, "logo", &upriv->logo_size); + + return 0; +} + +static struct bc_ui_ops ops = { + .print = multiboot_ui_print, + .show = multiboot_ui_show, + .add = multiboot_ui_add, + .render = multiboot_ui_render, + .poll = multiboot_ui_poll, + .switch_layout = multiboot_ui_switch_layout, +}; + +static const struct udevice_id multiboot_ui_ids[] = { + { .compatible = "bootctl,multiboot-ui" }, + { .compatible = "bootctl,ui" }, + { } +}; + +U_BOOT_DRIVER(multiboot_ui) = { + .name = "multiboot_ui", + .id = UCLASS_BOOTCTL_UI, + .of_match = multiboot_ui_ids, + .of_to_plat = multiboot_ui_of_to_plat, + .bind = multiboot_ui_bind, + .probe = multiboot_ui_probe, + .ops = &ops, + .priv_auto = sizeof(struct multiboot_ui_priv), +}; diff --git a/include/bootctl.dtsi b/include/bootctl.dtsi index 2d3a83c4576..d7c191770a7 100644 --- a/include/bootctl.dtsi +++ b/include/bootctl.dtsi @@ -115,10 +115,17 @@ #endif }; - ui { + ui-multi { compatible = "bootctl,multiboot-ui", "bootctl,simple-ui", "bootctl,ui"; graphical = "if-available"; textual = "if-available"; }; + + ui-simple { + compatible = "bootctl,simple-ui", "bootctl,ui"; + graphical = "if-available"; + textual = "if-available"; + }; + }; From patchwork Sat Oct 18 08:41:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 620 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=1760776959; bh=YORHfvFgT4IyBEbfk4i4rEIF5yjBapnLCnzbG4U3D+Q=; 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=JewmAHqSgO2lmzaiA8OWodawkJwazmza0h0gweEFbYSBHvd7u4M9uojeetNe4TrjH GHiHTF3b7k6BBsGHJm7ZMKHLSvrsMorHQNGeWeFPMY/IW0bxclfLV3jkxbOnNwi8tq V4I3cHONIuH6vzddVmtLPktA9kzbuoAe083tcV2VqX7pcyYk7VegJbDP19Nh0BhXv7 Osley7XWERrSMCsZNPpnRN4PGbuHP7R2EKGm0JmyZ+9XGFxMmj6Tvcnvg9tY0ZNtey vOoX1XCGgFRtE3O40X7kpoVw3HnDkMTuwx4M6Y8caYLKj450TIXsMVD2pYB+Bu0CSL L8zj4CkJJTWYw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5DDEC681CD for ; Sat, 18 Oct 2025 02:42:39 -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 aUfVcJH_-lx1 for ; Sat, 18 Oct 2025 02:42:39 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776959; bh=YORHfvFgT4IyBEbfk4i4rEIF5yjBapnLCnzbG4U3D+Q=; 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=JewmAHqSgO2lmzaiA8OWodawkJwazmza0h0gweEFbYSBHvd7u4M9uojeetNe4TrjH GHiHTF3b7k6BBsGHJm7ZMKHLSvrsMorHQNGeWeFPMY/IW0bxclfLV3jkxbOnNwi8tq V4I3cHONIuH6vzddVmtLPktA9kzbuoAe083tcV2VqX7pcyYk7VegJbDP19Nh0BhXv7 Osley7XWERrSMCsZNPpnRN4PGbuHP7R2EKGm0JmyZ+9XGFxMmj6Tvcnvg9tY0ZNtey vOoX1XCGgFRtE3O40X7kpoVw3HnDkMTuwx4M6Y8caYLKj450TIXsMVD2pYB+Bu0CSL L8zj4CkJJTWYw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 4B6FF681BE for ; Sat, 18 Oct 2025 02:42:39 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776957; bh=BDDxFQk2UGj1w54TUZrkYSlk6lKqUnEod76rdXuj9jw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ndg27vEJeJT6cXrwK4gzobPwkjiclIX+7CEm76zvKSqHyB8fEIHek36l+hxGFDdnR 0nghcYglCWw4aYitalWNwx/kHPJDZ+f65cHM3SmIwiFBt40iD9SQfkql32ZBp4n1gg gBt0A06q/k6x1PM3O0EVGko1RalvFAsxOJbA+ZVW9n7nZOLOpEoN7xrYS23D9tBKtr ZqmUAB7os6ZX1nf9RX0TK81QcWU9YqHy2/EnmWrpW6O+Vgna3SSt+1m9FrEAAVN3NS 3XMwh/PWCc131hGxHmuSpTgunUs3VXgYVyiRdJcweWmpaeiVH+p7p/WZKGC5bjR9Mv UoqwsfJtztXxA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5651A6814E; Sat, 18 Oct 2025 02:42:37 -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 RPhoIapAvOfJ; Sat, 18 Oct 2025 02:42:37 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776954; bh=pPZAX+H9Zc+rK7NrBgmf33LFWGTbZhmMRDBjAV9k8A0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rMpZeo3ouZlNPpHZsClXKWcOobws27+/Cr5BfG0pDLs2S+9kBLyQ6+nOQ0Y8NOV3q iCNHbbOv9PGNyGxCGAWnBcOsbNn9eV6G3zN19fam7W61jPYgCiVQ8AXYdf77pmSVpB de1VUMLsVZIJHG8n7egZQQsvR9tVK/cfVYWjEWT/HWxt5FIBFG8q4N5KhqP86z3RnI 8VQQAFEupUOlH92k55rm4DZMuAeYAgdJbVjnN28fZ9i1Wp/V1jJ7eBL1VTfINghXXE fk11RJkfoImN8AIdj6BZIGU11APQvHM6dYPqTS5f3ntS/pmRzj4pqkhzA8CY5SJZeI wb8ZYB5vjGt2g== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 2988768109; Sat, 18 Oct 2025 02:42:34 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:05 -0600 Message-ID: <20251018084117.1798704-21-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: WSPIQAE6LI225ZMA2ARO25MW7OKRLN6N X-Message-ID-Hash: WSPIQAE6LI225ZMA2ARO25MW7OKRLN6N 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 20/24] bootctl: Disable autoboot 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 Disable the autoboot feature to make the two UIs more similar. Signed-off-by: Simon Glass --- include/bootctl.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/bootctl.dtsi b/include/bootctl.dtsi index d7c191770a7..05032a924e1 100644 --- a/include/bootctl.dtsi +++ b/include/bootctl.dtsi @@ -24,7 +24,7 @@ track-success; /* auto-boot the default OS after a timeout */ - autoboot; + // autoboot; /* measure loaded images, etc. */ #if !defined(CONFIG_QEMU) && !defined(CONFIG_EFI_APP) From patchwork Sat Oct 18 08:41:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 621 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=1760776961; bh=KuY8NRfYVt6BG9jy7VLv+AXJCijBu2UYSuTgR+/aan4=; 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=I3Iisz03cX4ckCrfQSHJa4lgjzpzv3vaE0zLxvX53bTTN8OYmfDcebahx25V4dYnf FpKc9Ihp2ALXet8nFWIFcen+LegHJXMhgyeNWEKyZINUzy8qhUrO3W0UJ2H2ZSnDG3 4URVqZt3pwghTuXWQnS0tbbPCBiZtJnZWM14VOCKu4ZxqXoUe9JyaHjucbWTus0Waf dHb04IZv7z4VaTPff8VQoiMysrmpTKmkNqQ3Mh9ZeZH5Ohh9zlTA+crbxE9S4VP19U CT8YoB4u9uVQ2dM/YdUJKOF2jXOtfx3qTPQs+xrvSUFNbz/v9cGWOB1Gig/756uvh4 v4T71eZEUjgLw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D370568162 for ; Sat, 18 Oct 2025 02:42:41 -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 KX6-TTrfbOAb for ; Sat, 18 Oct 2025 02:42:41 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776960; bh=KuY8NRfYVt6BG9jy7VLv+AXJCijBu2UYSuTgR+/aan4=; 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=oafKeXx6jQEZpdXzRchmWfER2aSzGtvWQZO0VcN3OHKtVLdpciR2AFB7JBRmI5ehQ BYX1M4uNiahK8s9RytuFRSH2KLWDiM20JX0rxHUHj+P+BuRrHEQzi3kvkEAGavQZ8F lvgtnNBERmnd2L95ew88bt+WWUOCL0znQYsYoCqP9gJMXhD3SFGRv8kB7wESWWu/fE G3G2wO9TrHrdfap86EDPk3VJJXICfQKufczHugm/Dx5/CHancBXne36/Mfmff0pdA1 y0P2h/W8LEqe8PYlQlQovkqnIvlgqsLA2BqKgNMsQjn0Icx+dWhFDw0w/YbP/i25rb MnsRWcGINUI+Q== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 5F69C681BE for ; Sat, 18 Oct 2025 02:42:40 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776957; bh=mqfeFkDDzuY+9GVbUeE35DMgp1oEDI5TmdQ8NQsHPBc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TCSAKfeHzg/WmBSC7f2aq+95/58BAfYHPyihmNDFxq2dEWD/x+IG83eWE/yVeZhrY fttO/zwPbfEXRrCB917bDHRL4tjWRfAzllQQeRATGiTuY2z5DwkOiDWRfXUjCOMYJk S1Dz+ycCNhbnd0Kl+gJ7800xAMU3XIeJUTs1wLDD8U/PMhkVZeGXFP/6MX71SELUU/ zsEQyj8U6X6Gntge1oGZJ/BuSqQeKbCl7NPT//8xnRMjdODmytMQsslI528mujnSAD lz8baQqAi6gho6GJKWL5E1RdqF+zjttMKyoDyC6KKAhxJIcE93WpyOw32cpl3PAIja VHV0EvYLNxz7Q== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 60BA768109; Sat, 18 Oct 2025 02:42:37 -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 N2ORXG1cb8B6; Sat, 18 Oct 2025 02:42:37 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776955; bh=jSVg7MzExDlukNrhprPijLknOK2HYyCZYzs8h13STNs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=C7dEB6qk/RCYGVIoSySA4ht2H//HKsMqGrWVtCF7XVUoTdOvYSVp7hZjV4uUmPyKB 5V+PwnASCYPYdaflUyv5/U3UETq5vHwUAv1cpdd+FsPZRrDAXB1hlyI6o/OibAxgBZ AJtB9Q0fqW/l6JDgOKYys7gehiaBHPqw4ZdyO/2RBZzqWWwbsgoJFHmLx5o8LBND6U RVx0m3Qwr1AON2rjcdbiNhxQHtDOM6UZhMORVe9iyeSL1BO5VYcusfmZoV7N4lP1eh w42KsCEkPRqXd4X8oSmc9XxACh4A/nZUbuT1GBAH4/DjDT85mHptDpVsEPm8kThjQj ji+YY6SJYungg== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id EE606681E2; Sat, 18 Oct 2025 02:42:34 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:06 -0600 Message-ID: <20251018084117.1798704-22-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: D4KOT4SWVOGU2WBGN3RJ3EZB2VLD4GRG X-Message-ID-Hash: D4KOT4SWVOGU2WBGN3RJ3EZB2VLD4GRG 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 21/24] bootctl: Add a test for the multi UI 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 a test which switches between the simple and the mouse-based UI. For now the tests are not enabled, due to an integration problem which causes bootflow_efi() to detect and invalid free() Signed-off-by: Simon Glass --- test/boot/bootctl/bootctl.c | 181 +++++++++++++++++++++++++++++++++++- 1 file changed, 177 insertions(+), 4 deletions(-) diff --git a/test/boot/bootctl/bootctl.c b/test/boot/bootctl/bootctl.c index e6bdf6820a0..ab9aa28a668 100644 --- a/test/boot/bootctl/bootctl.c +++ b/test/boot/bootctl/bootctl.c @@ -11,14 +11,21 @@ #include #include +#include #include +#include #include +#include #include #include +#include #include "bootctl_common.h" +#include #include #include #include +#include +#include #include "../bootstd_common.h" /* test that expected devices are available and can be probed */ @@ -27,10 +34,10 @@ static int bootctl_base(struct unit_test_state *uts) struct udevice *dev; ut_assertok(bootctl_get_dev(UCLASS_BOOTCTL_UI, &dev)); - ut_asserteq_str("ui", dev->name); + ut_asserteq_str("ui-multi", dev->name); ut_assertok(bootctl_get_dev(UCLASS_BOOTCTL_OSLIST, &dev)); - ut_asserteq_str("oslist", dev->name); + ut_asserteq_str("oslist-extlinux", dev->name); ut_assertok(bootctl_get_dev(UCLASS_BOOTCTL_STATE, &dev)); ut_asserteq_str("state", dev->name); @@ -48,7 +55,7 @@ static int bootctl_oslist(struct unit_test_state *uts) struct udevice *dev; ut_assertok(bootctl_get_dev(UCLASS_BOOTCTL_OSLIST, &dev)); - ut_asserteq_str("oslist", dev->name); + ut_asserteq_str("oslist-extlinux", dev->name); /* initially we should only see Fedora */ bc_oslist_setup_iter(&iter); @@ -74,7 +81,7 @@ static int bootctl_oslist_usb(struct unit_test_state *uts) bootstd_reset_usb(); ut_assertok(bootctl_get_dev(UCLASS_BOOTCTL_OSLIST, &dev)); - ut_asserteq_str("oslist", dev->name); + ut_asserteq_str("oslist-extlinux", dev->name); /* include usb in the bootdev order */ ut_assertok(bootdev_set_order("mmc usb")); @@ -325,3 +332,169 @@ static int bootctl_simple_measure(struct unit_test_state *uts) return 0; } BOOTCTL_TEST(bootctl_simple_measure, UTF_DM | UTF_SCAN_FDT | UTF_CONSOLE); + +static int check_multiboot_ui(struct unit_test_state *uts, + struct bootstd_priv *std) +{ + struct udevice *oslist_dev, *ui_dev, *vid_dev; + struct membuf buf1, buf2, buf3, buf4; + char *data1, *data2, *data3, *data4; + struct bc_ui_priv *uc_priv; + struct udevice *logic_dev; + struct logic_priv *lpriv; + struct oslist_iter iter; + struct osinfo info[2]; + int len; + + test_set_skip_delays(true); + bootstd_reset_usb(); + + /* get the oslist device and find two OSes */ + ut_assertok(bootctl_get_dev(UCLASS_BOOTCTL_OSLIST, &oslist_dev)); + ut_asserteq_str("oslist-extlinux", oslist_dev->name); + + bc_oslist_setup_iter(&iter); + ut_assertok(bc_oslist_next(oslist_dev, &iter, &info[0])); + ut_asserteq_str("mmc11.bootdev.part_1", info[0].bflow.name); + + ut_assertok(bc_oslist_next(oslist_dev, &iter, &info[1])); + ut_asserteq_str("hub1.p4.usb_mass_storage.lun0.bootdev.part_1", + info[1].bflow.name); + + test_set_skip_delays(false); + + /* first use simple_ui as baseline */ + ut_assertok(uclass_get_device_by_name(UCLASS_BOOTCTL_UI, "ui-simple", + &ui_dev)); + ut_assertok(bc_ui_show(ui_dev)); + ut_assertok(bc_ui_add(ui_dev, &info[0])); + ut_assertok(bc_ui_add(ui_dev, &info[1])); + ut_assertok(bc_ui_render(ui_dev)); + ut_assertok(uclass_first_device_err(UCLASS_VIDEO, &vid_dev)); + ut_asserteq(22656, video_compress_fb(uts, vid_dev, false)); + + /* dump the simple_ui expo - buf1 is golden for simple_ui */ + uc_priv = dev_get_uclass_priv(ui_dev); + ut_assertok(membuf_new(&buf1, 4096)); + expo_dump(uc_priv->expo, &buf1); + len = membuf_getraw(&buf1, -1, false, &data1); + ut_assert(len > 0); + if (_DEBUG) + ut_assertok(os_write_file("simple_ui.txt", data1, len)); + + /* clear out osinfo and bootflows before using ui2 */ + ut_assertok(bootctl_get_dev(UCLASS_BOOTCTL, &logic_dev)); + lpriv = dev_get_priv(logic_dev); + alist_empty(&lpriv->osinfo); + + alist_empty(&std->bootflows); + + /* now use multiboot_ui - this is the initial multiboot state */ + ut_assertok(uclass_get_device_by_name(UCLASS_BOOTCTL_UI, "ui-multi", + &ui_dev)); + ut_assertok(bc_ui_show(ui_dev)); + ut_assertok(bc_ui_add(ui_dev, &info[0])); + ut_assertok(bc_ui_add(ui_dev, &info[1])); + ut_assertok(bc_ui_render(ui_dev)); + ut_asserteq(16645, video_compress_fb(uts, vid_dev, false)); + + /* dump after render - buf2 is golden for multiboot_ui */ + uc_priv = dev_get_uclass_priv(ui_dev); + ut_assertok(membuf_new(&buf2, 4096)); + expo_dump(uc_priv->expo, &buf2); + len = membuf_getraw(&buf2, -1, false, &data2); + ut_assert(len > 0); + if (_DEBUG) + ut_assertok(os_write_file("multiboot_ui.txt", data2, len)); + + /* switch to simple_ui layout and check against buf1 */ + ut_assertok(bc_ui_switch_layout(ui_dev)); + ut_assertok(bc_ui_render(ui_dev)); + ut_asserteq(22656, video_compress_fb(uts, vid_dev, false)); + + /* dump after switch to simple_ui - buf3 should match buf1 */ + ut_assertok(membuf_new(&buf3, 4096)); + expo_dump(uc_priv->expo, &buf3); + len = membuf_getraw(&buf3, -1, false, &data3); + ut_assert(len > 0); + if (_DEBUG) + ut_assertok(os_write_file("multiboot_ui_switched.txt", data3, + len)); + + /* compare buf3 against buf1 (simple_ui golden) */ + if (strcmp(data1, data3)) { + printf("Expo dumps differ after switch to simple_ui!\n"); + if (_DEBUG) { + puts("simple_ui:\n"); + puts(data1); + puts("multiboot_ui_switched:\n"); + puts(data3); + } + } + + /* switch back to multiboot UI style and check against buf2 */ + ut_assertok(bc_ui_switch_layout(ui_dev)); + ut_assertok(bc_ui_render(ui_dev)); + ut_asserteq(16645, video_compress_fb(uts, vid_dev, false)); + + /* dump after switch back to multiboot - buf4 should match buf2 */ + ut_assertok(membuf_new(&buf4, 4096)); + expo_dump(uc_priv->expo, &buf4); + len = membuf_getraw(&buf4, -1, false, &data4); + ut_assert(len > 0); + if (_DEBUG) + ut_assertok(os_write_file("multiboot_ui_switched_back.txt", + data4, len)); + + /* compare buf4 against buf2 (multiboot_ui golden) */ + if (strcmp(data2, data4)) { + printf("Expo dumps differ after switch back to multiboot!\n"); + if (_DEBUG) { + puts("multiboot_ui:\n"); + puts(data2); + puts("multiboot_ui_switched_back:\n"); + puts(data4); + } + } + + membuf_dispose(&buf1); + membuf_dispose(&buf2); + membuf_dispose(&buf3); + membuf_dispose(&buf4); + + return 0; +} + +/* test creating multiboot_ui with two OSes */ +static int bootctl_multiboot_ui(struct unit_test_state *uts) +{ + static const char *order[3]; + struct bootstd_priv *std; + const char **old_order; + struct udevice *dev; + ofnode root, node; + int ret; + + order[0] = "mmc11"; + order[1] = "usb3"; + order[2] = NULL; + + /* Enable the requested mmc node since we need a second bootflow */ + root = oftree_root(oftree_default()); + node = ofnode_find_subnode(root, "mmc11"); + ut_assert(ofnode_valid(node)); + ut_assertok(lists_bind_fdt(gd->dm_root, node, &dev, NULL, false)); + + /* Change the order to include the device */ + ut_assertok(bootstd_get_priv(&std)); + old_order = std->bootdev_order; + std->bootdev_order = order; + + ret = check_multiboot_ui(uts, std); + + std->bootdev_order = old_order; + ut_assertok(ret); + + return 0; +} +BOOTCTL_TEST(bootctl_multiboot_ui, UTF_DM | UTF_SCAN_FDT); From patchwork Sat Oct 18 08:41:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 622 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=1760776963; bh=bX8DX7pRf7X6E1N5DYUdKKz64XhCXY53Mi0KuqRFKXY=; 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=c4qTUE5aaYi6s5kiS7nj9lxDiawFtWb4iEVm8dYO5FvKc++WTJ5IjLfFlM/EwsAQE ycEHrNZg3Wc8Dxc6sWSTKNAvQrLyBKz0awJ7wGLdSrrfrhfdd5f6yGQXImF45S4xY5 D15VW5ReGl+7kKz9RNLuUwyGRXiYVsmJH6RO34xMeF+DwOCZais+yD/OB1VtqEPVU0 STUEU4MmDiztCTBYGxPYEGqpqB5WJDFVgSrwOBceIsoRyGr/bp043h36ABDH4Be+CF fEhqnlu1MwV3bWA36EDFtTvlLmY7vMwLl5PzrTp2ItXDVSC12E2YZEOKEqcOCRFMHk ajpebRwFX6HdQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id F3040681BE for ; Sat, 18 Oct 2025 02:42:43 -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 Do4rRCNJ0q3X for ; Sat, 18 Oct 2025 02:42:43 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776963; bh=bX8DX7pRf7X6E1N5DYUdKKz64XhCXY53Mi0KuqRFKXY=; 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=c4qTUE5aaYi6s5kiS7nj9lxDiawFtWb4iEVm8dYO5FvKc++WTJ5IjLfFlM/EwsAQE ycEHrNZg3Wc8Dxc6sWSTKNAvQrLyBKz0awJ7wGLdSrrfrhfdd5f6yGQXImF45S4xY5 D15VW5ReGl+7kKz9RNLuUwyGRXiYVsmJH6RO34xMeF+DwOCZais+yD/OB1VtqEPVU0 STUEU4MmDiztCTBYGxPYEGqpqB5WJDFVgSrwOBceIsoRyGr/bp043h36ABDH4Be+CF fEhqnlu1MwV3bWA36EDFtTvlLmY7vMwLl5PzrTp2ItXDVSC12E2YZEOKEqcOCRFMHk ajpebRwFX6HdQ== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id D310B68188 for ; Sat, 18 Oct 2025 02:42:43 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776961; bh=mQM+uTNUvOGiJUPxobT1NpjqwyuDmmZHwtT31uJApJo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oHX/FkysA5Uq22giryltW33P2O/N1K+MsyI2/qFZinqW65WN9Kz/SkTaPr+a1dFTB d2dzOdaoL1oO/L4ZdIDJriZ6xK2GkRlJCPqCUhsYRkPi75TfTGc4vMmihJOL6ukZIX +ffTsPEiP6dlkPIsury6G0w5de8btPoiusvJDMvNYNsZ8Ulk5zODGSqSCdVANwAkCV Od4RRUjN5YSMqAWDkdK7JxGDUt0X7Jz5eOqyQxQ94WscAsiGFWKIKg8inNQaaRPAb+ /CAabhRnnjne36ZwztlwTOLaMtNkJsy/3icPtb531Z/FTBc25BOEnph/G+mL+QmKsa NSlggN6+8pJTw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id BFE2D681BB; Sat, 18 Oct 2025 02:42:41 -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 djqlvd5mx9me; Sat, 18 Oct 2025 02:42:41 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776956; bh=mZz+Z2ByHMct8c0/Nz9h/M4oU/l7s5nmPcucxw5tqLw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=M5BUy/fLZWtURbPAKLI/lBQbjN3Q7t4s5RwkTXk0MW0cvyKCr063NKiqgJ43NcsjU 149w3+Htlt3wkKLyMMXTyNCM0HWod8xv1Ksflu2T/jpigUgZM71lWbV7pbQ7g9Y8iY I6WhfX+Ip9ZI5hy2FEZ6qppTJt33SrIECKbt6UoCFTlLrMP3znzBenf2sL3CFjDDVg L5sM1u6hIj0ZI1MnEYavd/8ozLDkXM1PeSRPCBkyRaf6fpDf6IdFEP/e2QeVh1JKL7 IXGxg1lJLrQxLjPoz8E67xOX7IdAZZPJTREEWnKOgGC+mtWMVEoKh0716yNcaUBqrw 71UrW61VIP6zw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id DA33868188; Sat, 18 Oct 2025 02:42:35 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:07 -0600 Message-ID: <20251018084117.1798704-23-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: GXIBRJPWJJLGCFWSNRIY3AZ2TGXU6A2N X-Message-ID-Hash: GXIBRJPWJJLGCFWSNRIY3AZ2TGXU6A2N 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 22/24] efi: x86: Provide settings for bootctl 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 Provide some basic settings so that bootctl can be used with the EFI app on x86. Signed-off-by: Simon Glass --- arch/x86/dts/efi-x86_app.dts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/arch/x86/dts/efi-x86_app.dts b/arch/x86/dts/efi-x86_app.dts index 1daba34d5f0..6acb0dbae51 100644 --- a/arch/x86/dts/efi-x86_app.dts +++ b/arch/x86/dts/efi-x86_app.dts @@ -34,4 +34,18 @@ compatible = "efi,mouse"; }; + boot_ctl: bootctl { + }; + + bootstd { + compatible = "u-boot,boot-std"; + theme { + font-size = <30>; + menu-inset = <3>; + menuitem-gap-y = <1>; + }; + }; + }; + +#include "bootctl.dtsi" From patchwork Sat Oct 18 08:41:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 623 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=1760776966; bh=xfjFEfzKdpiCEHRngdYdS1+5pNkvzXvyDW92NVsDiNY=; 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=YT7Cj3PWBlWPq70IttGUwra82gOcAnkEFd8a1XMc2QdryXErZLdO8f2CrYlApAEP2 j2NV1cSjojvomOOleM60a3mcF3QcQH8dGWN5fiUa8qiPtrnvX0fWE4/+mmTNZZ2/77 /bIiund6I4nZRKnyPsbQEjADRs1Z1RjGOdQDEA9flZKJjK2SHXe7qd6jF+nAmzsMFC O+CdmxJYZohmj4rXmLbCf4uV5DiPwD3zNWpz8L20ai+AFvwM/1NiPn69tO8BQjbDVw Am8uBtGa5GESDCAwzTuoPA+zD6X5qoMQKTJz7I9da1KyaZsLLOMm4lQAUYKeyhvcu8 Riqb1WyCkefLw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 44D6568188 for ; Sat, 18 Oct 2025 02:42:46 -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 NG8cumN0xanH for ; Sat, 18 Oct 2025 02:42:46 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776964; bh=xfjFEfzKdpiCEHRngdYdS1+5pNkvzXvyDW92NVsDiNY=; 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=uvQAa926Mpsiu6G3z4SWWnKs3sBes/S0ukyP02dDYpueYPFLVnxC6DasWkk8UZLSu jgNdcPt+8/MQcis0AS3+eJ3x+cgzFJKVwJ20+04jvvRcYXCh544N92kvxrTRov5QAC NplJVueBu3CNR0a406+c4WPeqe92FtQZFjSx3Ukrn/qbuNhrmI+vgV7CucOAP64Qgz pfFQzQsbbaq/kFxn9ahQFsVuLq3lvuatyUa4QO7bEwcumTem/XJ+JL4uhsfWZhabSS YlRLffKIJLBFz+wI2/1ONyy/ZhrP3/qja3jObO9wEgIzKp8mNd4QEOgTzcLZUiZP9R GyhfrpIv9GvIQ== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 4051D6657F for ; Sat, 18 Oct 2025 02:42:44 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776963; bh=nhzrhuXdKrkq+kFXvw7hOCvdI57G1wfclJGDQRXR2f0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dmlz9ttpdmO31rEJmJieTuNiGYFeMaCF1hRq13Hw57xFLWnjZspnsGMiGrXVBNjiZ j9cFgDJELpvyEZpZVNdP/yVljWNMdKGsyfdMEaSiJbSuLu2mkprlXos/UV2u7XTgNE NAtz89gROScL/yK1UFDei9YpkSbMRQUVDSBTVWQI+g5CONUgb/m11YWLPfEX4Jts5r Tw1B+PiVkk/I7xvAi1DhpM0TKgolRehTz2oqGooMbtbokQCPK8zsXWAESxv0C9Lv68 PtlQuS6cd6oDfsTBWn8L+9wL+Z7a1ki7UcVK/vggvNQCJAJNz7pwvI8goCA63qIzAp ZnKOVzx6Qga3w== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 19E046657F; Sat, 18 Oct 2025 02:42:43 -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 PnCkic6LycZT; Sat, 18 Oct 2025 02:42:43 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776960; bh=xQLg0VKyugH/ameLMw+CsnpzzA6MbPWbdL+tEkL5Dvo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tlTqNHSkv0agReOpte3KbOLXJ+nBXEKZcJwTX0x3H+ILNG8lmbEmcZLGCByiJL9LL UjtGHf8jqcw4oS2b+kTvBJ4lJS3DQ0FyvF9bzw9Lr4O5F2bQvf1Awftw1C7DnBKnM6 M3/G1/rpJwM4SHjHk7Es0nwxfZuAo2yfLzpe/p4b7pldDSqJA/iUFrs2GymXMEpi56 zFbezrtJj5aMH4azBEIIfW/+/w3s1Pj0I4Zlw4d4pf+Msbqfy0X9RoBJi6EIMAXVXj 0J+tz+xgypgBCmoUqCZH+5MIvLNOrKa2kCBV3oUIkuDVr/j41QkHRc3rh6qPKsU/Pk 5rvOg9ewzbQjA== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 7F213681CD; Sat, 18 Oct 2025 02:42:40 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:08 -0600 Message-ID: <20251018084117.1798704-24-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: 4VC4QZWFQM2BFCE3N6D2CNSY3PUGF64R X-Message-ID-Hash: 4VC4QZWFQM2BFCE3N6D2CNSY3PUGF64R 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 23/24] efi: x86: Enable required Kconfig options for bootctl 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 Adjust the configuration to support truetype fonts, more bitmap formats, VIDEO_COPY (for smoother display) and bloblist for ACPI tables. Disable the pager since it can be confusing when using bootctl. Signed-off-by: Simon Glass --- configs/efi-x86_app64_defconfig | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/configs/efi-x86_app64_defconfig b/configs/efi-x86_app64_defconfig index ea9a2068565..63a53361688 100644 --- a/configs/efi-x86_app64_defconfig +++ b/configs/efi-x86_app64_defconfig @@ -1,4 +1,5 @@ CONFIG_X86=y +CONFIG_SYS_MALLOC_F_LEN=0x1000 CONFIG_NR_DRAM_BANKS=8 CONFIG_ENV_SIZE=0x1000 CONFIG_DEFAULT_DEVICE_TREE="efi-x86_app" @@ -16,11 +17,13 @@ CONFIG_BOOTSTD_FULL=y CONFIG_SHOW_BOOT_PROGRESS=y CONFIG_USE_BOOTARGS=y CONFIG_BOOTARGS="root=/dev/sdb3 init=/sbin/init rootwait ro" -CONFIG_BOOTCOMMAND="bootflow scan -lbp" +CONFIG_BOOTCOMMAND="bootctl run" CONFIG_SYS_PBSIZE=532 CONFIG_SYS_CONSOLE_INFO_QUIET=y +# CONFIG_CONSOLE_PAGER is not set CONFIG_LOG=y CONFIG_BOARD_EARLY_INIT_R=y +CONFIG_BLOBLIST=y CONFIG_CMD_LSBLK=y CONFIG_CMD_CAT=y CONFIG_CMD_TIME=y @@ -36,7 +39,13 @@ CONFIG_SYSCON=y # CONFIG_SCSI is not set # CONFIG_TPM_V1 is not set CONFIG_TPM2_EFI=y +CONFIG_VIDEO_COPY=y +CONFIG_CONSOLE_TRUETYPE=y +CONFIG_CONSOLE_TRUETYPE_UBUNTU_LIGHT=y +CONFIG_CONSOLE_TRUETYPE_UBUNTU_BOLD=y CONFIG_CONSOLE_SCROLL_LINES=5 +CONFIG_BMP_16BPP=y +CONFIG_BMP_24BPP=y CONFIG_CMD_DHRYSTONE=y CONFIG_TPM=y # CONFIG_GZIP is not set From patchwork Sat Oct 18 08:41:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 624 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=1760776970; bh=4m47CF60LMfI0Hthajfq5WLY0dTLYI66+jVWTsK//so=; 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=L+pkAbBKo5oYFS9g1Am0e9Px1f2SObB+kHresM+tjmafwdYziLuRdZV8xoGvHieqS aQz3aZEVfPLgEFWgi39xrIYeo2zdIlO8ufn8blCXXesOUEALkGyiNNwAjXH+kdL/hr 0KdjUDNqFiBuUiZNYMx0npivTok2sNdvWNivsRMrM4GU1f0K9+xHZ6fweWV/5uQoF1 ASx/C8a0csnBnGOD4Gn+v289AUqiUSAw5WBpUJy8XxyrLfxZPGZ3nFLDW5Zno/AHBs 0HX9MQLc/3FZP/j/jW6akRF67or1Ho20h9IqvJq8ZanSlk/LVVRIv772kKJb43viqc B9gunE5sTLOzA== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id B3B656657F for ; Sat, 18 Oct 2025 02:42:50 -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 cENDT_pIi1II for ; Sat, 18 Oct 2025 02:42:50 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776970; bh=4m47CF60LMfI0Hthajfq5WLY0dTLYI66+jVWTsK//so=; 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=L+pkAbBKo5oYFS9g1Am0e9Px1f2SObB+kHresM+tjmafwdYziLuRdZV8xoGvHieqS aQz3aZEVfPLgEFWgi39xrIYeo2zdIlO8ufn8blCXXesOUEALkGyiNNwAjXH+kdL/hr 0KdjUDNqFiBuUiZNYMx0npivTok2sNdvWNivsRMrM4GU1f0K9+xHZ6fweWV/5uQoF1 ASx/C8a0csnBnGOD4Gn+v289AUqiUSAw5WBpUJy8XxyrLfxZPGZ3nFLDW5Zno/AHBs 0HX9MQLc/3FZP/j/jW6akRF67or1Ho20h9IqvJq8ZanSlk/LVVRIv772kKJb43viqc B9gunE5sTLOzA== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id A394768109 for ; Sat, 18 Oct 2025 02:42:50 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776968; bh=9Km2MuZvEi0zZ334J0un+lnZ9iHEyey+F+T8sRVCVjY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ejs+CV8MOFWx9I3dBi75881dC1f8/VX4MsSd5ejrHiAtcpnP2cQX90DF/WZ6l9eUY mwacbrd8E8Wai4qUWrt9hjx84IQlzdolaJ871Hh/zwvRJLxMkYV20oQQV0bfi1P6XL Ca+2DuL3cBwhE94H/mxo7PqNqJuqSQl9ksW9vu9CV+fhzbYD9AwjPgDJ8uZqD3kUMr Yh2dGeR1SSnbD6Bqtc+9BTCv4f3aybjjxT9/dFaMuJ+dzzgrvN1olImnAii1BIz2rf EmFqPbLvrLZ9Nejjmmcu+Qz6dxoReNe5tt/vbLirNkoKPU6uHonLJowRbmOh11S45e HQaX/BRqFz6dg== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 817BA6657F; Sat, 18 Oct 2025 02:42:48 -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 K-rABdbta7wt; Sat, 18 Oct 2025 02:42:48 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1760776962; bh=cx5+YqYs3LckEywChh4jRabU6F+ERtU5ZJWMfKVSeEc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=u8G+9fgL1zKGyh/AUtYXOs+YsUNyywzib8fM/Dsv4fNONAfQBY8ZyZX6FUAD1DyZO /cNv64S73cGMRlUKWvlDG+SPKZ3zopIkEA9a5vxUnTYDZdVec9XzWg6aMbgACYLYQH D9gBwj59SXSK3eFNJfZJUDPVGnsFDtme9ljAe8wGKWz9fta/1RESDQ13MSov1wlN+t Aq+oS3otK7cbRZ4Wjmc+sR2AiEWsduSSE2E0ewHirkeKKIZ38vUR+pOpo0ZrcNPSTu Dz8btsqQiCfYxn9NZReD/q1Hh7pkxgL/LtrOGBgd+HtLObM6ue6gx4LgymJqYOmI9C 5pI2PeS2xUIew== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 694AB68109; Sat, 18 Oct 2025 02:42:42 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Sat, 18 Oct 2025 02:41:09 -0600 Message-ID: <20251018084117.1798704-25-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251018084117.1798704-1-sjg@u-boot.org> References: <20251018084117.1798704-1-sjg@u-boot.org> MIME-Version: 1.0 Message-ID-Hash: H3SVT3SCG4BB7SG5KZRQL4UGYI5DEQ2M X-Message-ID-Hash: H3SVT3SCG4BB7SG5KZRQL4UGYI5DEQ2M 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: Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 24/24] efi: x86: Use only serial for input 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 We don't need to enable USB or i8042 for the app. Enable only serial for now. Signed-off-by: Simon Glass --- board/efi/efi-x86_app/efi-x86_app.env | 1 + 1 file changed, 1 insertion(+) diff --git a/board/efi/efi-x86_app/efi-x86_app.env b/board/efi/efi-x86_app/efi-x86_app.env index 106836af1ff..d6eea472070 100644 --- a/board/efi/efi-x86_app/efi-x86_app.env +++ b/board/efi/efi-x86_app/efi-x86_app.env @@ -4,3 +4,4 @@ */ #include +stdin=serial