From patchwork Sun Apr 26 15:46:54 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4573 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id B790F3F206 for ; Sun, 26 Apr 2026 17:47:32 +0200 (CEST) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-488d3eec9bcsf61505345e9.3 for ; Sun, 26 Apr 2026 08:47:32 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218452; cv=pass; d=google.com; s=arc-20240605; b=OVvGF6sVKx4N42C9pzzM1lKnf/pd6EYQcLPJboAqQX//++e7XofeHtuDH7YJdxL7li 7jFYnO3zc5G2Uc1ybKyrr3l+5tdQFTRUfR8gCmLNw1X1Ruqpp1lQES0iMx0Jr0A6xpH9 pxvVjMz9O1+UBDx6eFRDDIKWJcXU/afUdIu2c93reXH3fj6XaPF23kyaR+61yWK8JBav wSXl4BNqehHIDMW9u0we7kPteIRH7FA0anXVYjBLJgG747f++HhhVFOtHIsYjZBXrwjy Pn/URD2N+4UgbyJ0IhDDQmNKzsmVbLciobwSYa1hdzcGe70HfVhxAIq5OzjHMzfYBLTX nmRw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=ZIzOJJFletaonBorIumd6+mkNx+CdGdQPYA03MKdaNU=; fh=JUMgquo8/rOpC5L3NtLgYL3HZOdyqY+oKFIVocDPaZ4=; b=IfU05guQ5QqGu8ZUJdPOGnf4TS7kQEBUMk2xYcIkVO/87ktrECwm8onGJEeetqu72f H5uiWzK4s3FYWGhDQ2+wYXEER7y6p+Jloit48bMCEq/j0MjQGh8kQm+qMNbdUNzarY+f k+Ch3S0rmk/UiieBLMtJJbFheqvchcJk5hR/7YM3nT5H/h1z4spgNuy8eHFUrqSC6mMH qFg0/xSSami9mmp5mvAT4xEOIAeZgICP+4+ThdU7OADPeXQzoZ2g12onO7XUNb0f9iQo DRCCKx1np9R6UBAGFtNApvRwYOOmqbM96wa52loIsYjxvWa1h18eWooS48pHD7m+LuiJ 8OJQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=U6lBn4XB; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218452; x=1777823252; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=ZIzOJJFletaonBorIumd6+mkNx+CdGdQPYA03MKdaNU=; b=FW7Zj+ssqQQc6KZu1mmgRfixVqGOYM3eINQsDiKlmWMjI9gL98FYD0uUWjwhhY7tgI 3u+6lR18sfRj2OsrBFdL5DbbNTjQ7wRICmEuqXzzm4v6Oss1W4wgCkV/569ENo4kOyH4 WeedmRlKP6hLZLEsTVZGKozClJMn79fWOA2iE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218452; x=1777823252; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ZIzOJJFletaonBorIumd6+mkNx+CdGdQPYA03MKdaNU=; b=UbcBsu/iAtMWdgUO9wa3UCIaPD4UtomBjEBEMVxNCeOLMvMBVWYw1dHebQ7pKAKRnF SvyGAlkEOTcl5xoHqqY2I7F4QI4ZZc4Bw0T8+x9Wts7wsSg4S9lmn+s+PB8BlSJkoq4k WuWqgNCCJjCd9als6P+OwRT/G+IYYWq5JH+rY5uc17YCT4GaX6uv32gdKpjMtd8AVLX6 PX9N1RNAlF6WvHDiffSPeXhihJFqH1TwxLM+PL2Xjw3G0HYkcAWVK+ajA+CfNBYfMkqC ZrR6MYfFbSS5G2QcM4kOplWgnqBHqQqsKMt8wmWHeC33tMfXgDFQmF1RFZ+R9g43jrrP C06A== X-Forwarded-Encrypted: i=2; AFNElJ9ijNJGJzPBQoYT4kIxF0vZkG13wUiKe91bVoJsZ3cdoHoRjFfawcpswWiQGcfSYdsg4F2/Ksjgc3WOr9OO@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwVPcCTYXHh7UB1TznmrEPgqvyRsfERJInJQS04a6x0zzPwPYC5 zNsxi1cjrxZFxRxMxUnKKY9LHTGnBXExRNtg/6Q+g3ZSXKQ93ZMSU3TqJN27Cf/uIHQs14WmVvh cLw== X-Received: by 2002:a05:600c:6297:b0:486:d76c:fa57 with SMTP id 5b1f17b1804b1-488fb77155dmr526200505e9.17.1777218452366; Sun, 26 Apr 2026 08:47:32 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiIn4/4gf3muUzoHgZw87W0HP5P2ONhoyl1lrH8GvBKFZA==" Received: by 2002:a05:600c:3393:b0:488:9664:8b9e with SMTP id 5b1f17b1804b1-488f4d76891ls64881325e9.1.-pod-prod-02-eu; Sun, 26 Apr 2026 08:47:31 -0700 (PDT) X-Received: by 2002:a05:600c:1390:b0:483:709e:f238 with SMTP id 5b1f17b1804b1-488fb78ea6fmr576798675e9.29.1777218450811; Sun, 26 Apr 2026 08:47:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218450; cv=none; d=google.com; s=arc-20240605; b=Xg91Ipstf9M5oVwVuJsYvIiVXzHInQdQ9iVWYuqejOxtADjti1vR85qFgB+3dnDKWo ZZ9g1V09m2zbSiEyYdtFjI0iI52IK6WH7S9ql5Iqx6jopvZ6qKvow86nodYwkHnHs+iU NuHdmRCAM4aXqS0khLjfqC900W+NS0wzXsoNbqXaxLvthj0IsXBpjtzbuxXO8G4f3F9A SefSIpWUY8w8+KaLU3iU2SwyCN9mhKbEHW2Ml6YWnOaC73l+EL/Kok+5/cCsZod85tiu dFiA52rLq0A9JW+QjgtL1H0tkC+xnRVIHtEpvc5WqwnZqAdaNRYZogDTuGzy92RVlCIN hbNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=7DKsi4pzYyQDOTb8zo06i67V2qb9y1zARBTwXnfbWaQ=; fh=xyTgZQpLW3y2EJRGql/rCxNePAR/wNSFc1lsJLdfvms=; b=TLQrW8NsM+qqg3phGx8Q8WXdjb/X8BvWE12jOVNruaX1fqrYcULksjVW9X/fuJxNYP 7V8IYThSKQmdPoB/BkYyrbKbD8PADQ39VnrvXyr0WGfTtp42z7+RveoFyqWydeMMXn97 NZq3pwySNPMETXTGEyr6nfm5XIwjtGzyiGe2nKGloYl87bw+BomVog4EAsFvQ8W7wlSJ PTJ8rDSQEzp/4ShfnO5LcoOwIOdNIZJenOvy2juH+vpfInU3JR3BP0t56JaIKXM9KVnC CDZASHs8QWOL+vfu1B33pwKBIKidkbwoPpRz9TLtVu26AGHo3nH03iHKu5ehfwL1BUIt lxCg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=U6lBn4XB; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-488fc13ac6dsor46643165e9.12.2026.04.26.08.47.30 for (Google Transport Security); Sun, 26 Apr 2026 08:47:30 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDievT6BS7TTReeQ/I4v4MJ2sYtpPIHp2OmPCnV8JT+1l6seeUe2xJBoZ95VYv858 Uw3oYug1wTzX7rcfMzW+8upkjXPBbaW8HYaHuu2/nB9+xq3tSKArTsEiRNw+H7g7kKXyuOEsuXr 7pZVnwxBkR1juw0ZbbODbJB8LN+jkDiHlzduh9ZxmWnBpABtnS+mr7oRow1+KTTrSMK1Um7cfg4 dnAID4yM/sAx1GNzU/0RXziFTnom8Mc7LqLi0hhk1VgwOSsi4CcbH323eIQrW5gh88+8WRkw3sh Aurrl1vkmxKccFlwUmfnqULyRcgxATULIKhTd3x64sktphjdTh7Tjkm9V1BP22kIn5338oebI0u +kdAExzG80k3qcYREcIDmtYxq2xV4uQOQI6phIhbcg03g20WQhBcou4vyKQlkhtf8yw4oIPigBT nVz6/xle4t7H0wJ8K14gCr+D4m4V9eq9QbCLC/dE4lb3ilWr1Jz65FaS0hKwPmoQ2ufwBuzOCc4 5s8ljc9uPxSYhN2ExIPDPQmvCID1/BG5ksRl6uJOVYKdkiR+2xqCYPZ4znx6AoyVF+L8uqHvnw4 LwYW/GDyliTxHMMAVyvD9mUjR9E+lw== X-Received: by 2002:a05:600c:6297:b0:486:d76c:fa57 with SMTP id 5b1f17b1804b1-488fb77155dmr526199295e9.17.1777218450344; Sun, 26 Apr 2026 08:47:30 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:29 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Heinrich Schuchardt , Ilias Apalodimas , Javier Martinez Canillas , Patrick Delaunay , Tom Rini , =?utf-8?q?Vincent_Stehl=C3=A9?= Subject: [PATCH v7 1/8] lib: uuid: add partition type GUID for extended bootloader Date: Sun, 26 Apr 2026 17:46:54 +0200 Message-ID: <20260426154724.2042569-2-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=U6lBn4XB; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , The Extended Boot Loader Partition (XBOOTLDR) is a standard defined by the Discoverable Partitions Specification (DPS) to host boot loader resources outside of the EFI System Partition ([1], [2]). Defining this GUID (bc13c2ff-59e6-4262-a352-b275fd6f7172) allows U-Boot to correctly identify and label these partitions using the "xbootldr" shorthand. [1] https://uapi-group.org/specifications/specs/discoverable_partitions_specification/#extended-boot-loader-partition:~:text=UEFI%20Specification.-,Extended%20Boot%20Loader%20Partition,-bc13c2ff%2D59e6%2D4262 [2] https://uapi-group.org/specifications/specs/boot_loader_specification/ Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- (no changes since v2) Changes in v2: - Add links to the XBOOTLDR specification in the commit message - Add Reviewed-by tag of Simon Glass doc/README.gpt | 2 ++ include/part_efi.h | 3 +++ lib/uuid.c | 1 + 3 files changed, 6 insertions(+) diff --git a/doc/README.gpt b/doc/README.gpt index 386ac2e0fc8f..a6e1fd7ce8d4 100644 --- a/doc/README.gpt +++ b/doc/README.gpt @@ -286,6 +286,8 @@ Some strings can be also used at the place of known GUID : (E6D6D379-F507-44C2-A23C-238F2A3DF928) "u-boot-env" = PARTITION_U_BOOT_ENVIRONMENT (3DE21764-95BD-54BD-A5C3-4ABE786F38A8) + "xbootldr" = PARTITION_XBOOTLDR + (BC13C2FF-59E6-4262-A352-B275FD6F7172) "uuid_disk=...;name=u-boot,size=60MiB,uuid=...; name=kernel,size=60MiB,uuid=...,type=linux;" diff --git a/include/part_efi.h b/include/part_efi.h index 2cea50880465..5713b3018f42 100644 --- a/include/part_efi.h +++ b/include/part_efi.h @@ -60,6 +60,9 @@ #define PARTITION_U_BOOT_ENVIRONMENT \ EFI_GUID( 0x3de21764, 0x95bd, 0x54bd, \ 0xa5, 0xc3, 0x4a, 0xbe, 0x78, 0x6f, 0x38, 0xa8) +#define PARTITION_XBOOTLDR \ + EFI_GUID( 0xbc13c2ff, 0x59e6, 0x4262, \ + 0xa3, 0x52, 0xb2, 0x75, 0xfd, 0x6f, 0x71, 0x72) /* Special ChromiumOS things */ #define PARTITION_CROS_KERNEL \ diff --git a/lib/uuid.c b/lib/uuid.c index 3a666d0430db..d7c164ea06bf 100644 --- a/lib/uuid.c +++ b/lib/uuid.c @@ -86,6 +86,7 @@ static const struct { {"swap", NULL, PARTITION_LINUX_SWAP_GUID}, {"lvm", NULL, PARTITION_LINUX_LVM_GUID}, {"u-boot-env", NULL, PARTITION_U_BOOT_ENVIRONMENT}, + {"xbootldr", NULL, PARTITION_XBOOTLDR}, {"cros-kern", NULL, PARTITION_CROS_KERNEL}, {"cros-root", NULL, PARTITION_CROS_ROOT}, {"cros-fw", NULL, PARTITION_CROS_FIRMWARE}, From patchwork Sun Apr 26 15:46:55 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4574 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 4482A3F206 for ; Sun, 26 Apr 2026 17:47:34 +0200 (CEST) Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-4440c5944fbsf292812f8f.2 for ; Sun, 26 Apr 2026 08:47:34 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218454; cv=pass; d=google.com; s=arc-20240605; b=HBGbyIi3+LuI0DtWLyz3Kvrba90OO4ZUvyNF3ZUXVVvJ2m+7aEfgtcpMmjJVI7qQRY XNtLItT4GXzCZXfetBkRKNLXmEyYr+uq5BKILyQvSL6X0Gz5AOB9bMsvblJC4Zay3VyJ qBq/V0UGUzfslMDb567WyauMYckKG5hzLMgyJH2J7hj67VfPEzpWrj0KdARdAYc870xl Hgkbx2GRn21hNUlp+DuP0Mcf4EY0hLa8JVaZbIMwkVEN5d35Gi65etr/+EcwAYE8XQxL lFHJs2LZ9spDH61SpVZuEVebVaO76w0CfJ5SjD17SDJJG4JzJU43qdOo1LLey6cgc4Te Ht0Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=LqZiU4CCfu/BPkTAIvBDsRpZvwufxhM3alKg16baxhI=; fh=7wVwrMIacPe5/fwKmM+OEX4MlotKEk20JsygJUdvync=; b=jfpwJgDFETrMpowv1T2P5AJ6cgfX2jaV9GYYCuvSKB90P0v72crh9P+Y/npvxk4P2u UbZQkmb0fuBPNT8xY8tjxxn/dg7Rp9Mqx6VOmcYrseBr3QY0XP7yx4yzQ0TjVdQbYy4t NzPGouyJFRtcq3O+2+w9xO+HGji17+I9ZzHFNermbP+LyHxFX9OsmS8wjS4FCwit7JPD FQnuLYmkUyn02Yo9U5/uLXs8C6qg6ho4+/wRRZv9m/XeVdBlw/n5de2P9tpqJi9rjtcq H1Pm2lJbIwbw3Sd2Z9gOkhbeCS3sGnvEAcqIN7fOHu83RlWUzo+VcyANtOtNiVt7swHM caEA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="A6/WH9nC"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218454; x=1777823254; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=LqZiU4CCfu/BPkTAIvBDsRpZvwufxhM3alKg16baxhI=; b=ZYvWe8SjzlSgobdg/uVQTDrwvtsqCGkSBTK5SfwnJwbWrbXR8tOgra68Zi8N0+ut69 rRpJkscOWJ8HyZEpUSU9xKCequZaDxVii45vrZcMpuYCWbM0nLxj9KVLJ1Azd/LEm/L4 4U3xzu0oRx6kj8ZdhmuMpV1lZZhoFMvdfSix0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218454; x=1777823254; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=LqZiU4CCfu/BPkTAIvBDsRpZvwufxhM3alKg16baxhI=; b=Z9f96HZ4+SAJPcMliTvue84qIXCN/1f3FDZI8GXHGuUlFKQSXNPa3NU+fGjHgfI7z/ k7xJFTWcEAsUdHx6Ut5dmsy+Haw2B2x9RN5ny2Mjhjj9ir2E6hs2zHc0Zsku03IN4zxD O/2e5LNoggCnqMdFtcaWAqUhvLC2PYCYGSJMejGgKVCbwm+qmdMJG2sLa3nBmlq3baDI AQ/9EF2I7jakqxdN7NEfCxXdn1fLkSOR9iD1qkEpyX4x4d9gVcSJZHPdmRdsYq+Tqj7g Uuz4ci/UltR9wWa+cf+m7kESD4S7Dk1wuz4rZyA8GorlybYCkMu2JozmOQbRUSbsfHNL h/xA== X-Forwarded-Encrypted: i=2; AFNElJ9cJzR7xdmtCFWcW9rgiKtXhuzYHvXAXqE1urKOIQ3zq4dcxyJVcWyGvfLQgmNqN7MlsbM0gi59MlOj08pZ@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YyziBP8MJQJvXnJE50/GnYeMJ5CSH/CUGQuYNpoBxjFdDJsKgDB TvwgofBj6B80wvwGujVx2r1M4iFtbB1nncTcLcTU58DmLxEv13KZunWmOEugv+qgQHHR1w== X-Received: by 2002:a05:600c:8183:b0:488:b187:d898 with SMTP id 5b1f17b1804b1-488fb771445mr475064995e9.14.1777218453848; Sun, 26 Apr 2026 08:47:33 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiK9+dofB+a3hrMwkJJpbVfvhtwNIEzpGiI/Sg7flaW1gw==" Received: by 2002:a05:600c:548f:b0:488:ab54:fc08 with SMTP id 5b1f17b1804b1-488f4a77b0fls112249495e9.0.-pod-prod-02-eu; Sun, 26 Apr 2026 08:47:32 -0700 (PDT) X-Received: by 2002:a05:6000:18a3:b0:439:b8b2:fabc with SMTP id ffacd0b85a97d-43fe3dd4b7dmr61664222f8f.21.1777218452194; Sun, 26 Apr 2026 08:47:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218452; cv=none; d=google.com; s=arc-20240605; b=glhZlz1Sq4HorYiLZgPBgaP6ixkc3OB7kL0NceBdv2pydy+vY1O4o0/Cj7tsGNwTTq cqahnaQzE3YAhCPHppvSkJTt6t3NvnsVFejs45JKJ36U6Kq6CBMCfAOihzIIHcn1d4y/ b5dD773mWCRO6jcbXUD+/9K0M6aKOjclKW1CY86AoeiUygBF1dBY2aQ+0LacwBkvpfpd N/jjbKKx9j6k5nVyJbX3apBV7+EiX99cxCwxtT0APYz4vd7WfT/GlCePS4MCPOtaf5/z 15m8gemS41tKseubVzah2czWi1AKVqBRL6llIMElItN+/9REztRJjQZpjiFHdpv37IcB OasQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=j7kw4CvLJkX2EjGaympe8ZZB0RtPYp/BO11dE+j3/IY=; fh=SMPGxW/KHFhQHxzd6fQZDt2aC0c5400YFwKZgkeAPhk=; b=hjpJPwpvOeA9ueXp9JAl0ltnSCoOdBlR51a10Sfx5oet1g2IhyCUc6zbwmptNY+rNm /fFS/ptzd+E/wXMCskksjBnEaPTcMQrrJStWyC1XqefYnTlWaaTnrfJDFM77WH9e3jvy MmqK0yyb02+V3fB45xCkRGpTgDbcKaF3wS7z0BHZPeJBhgEO6u04W8kUSl01NRvvHRVM 3nlcx0OGojOhG1g/ynd+Sc+iGhM6FhqIxIStLFEp7SqHnIxQv3u4jPXoQMtMpi2+m2dY rsSgsAiOlGRD6eNcIFkTJk4qqWFN4IdfhLPfthVXTbIpoogTpx8ByaJYQf+BisPf9Bvr rioA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="A6/WH9nC"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-43fe4e10c32sor3810971f8f.10.2026.04.26.08.47.32 for (Google Transport Security); Sun, 26 Apr 2026 08:47:32 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDievNaZaPeXoixTsLY/2WF27YByMHZ8cdTRc0EJGjbYoF+MXdUux8ToQEXnyWlPf 5m6DhBQaXawl8B+3LcPIqjeDlK/r4pvtt6/hxQt6tH2inhSR9r3gZ/KT5W0JCdyqvTTbNuzWsj9 M8WC0NivEy3QL/wq/YP8YbuWz96PX8nXYtwQYsUI+wSjdNCvlboEMS+ZOGhNP0GI5lEBPxz5rJ/ hxe0/EbWxm2QqtlZWNSRkdvgraRqE24udcyvURSUieiCtM2OnHm/Yk684tb1rKvjUdVpCL2h+4K phpWsfBrGt92GLuV3twkitypWkY9WstFsBHwUnzHwANM/zdawmRFAlVBVTxFSiu1cWpR+G8jiWw WUa8/MeBdPMDz+rZkdTJvdxx0zkPx/UZjserq4L7fp+fRB2/vLkxtFhtvrWPJpjNg1zztXs4L6i 7v0aGA5aQtEZtkAgVDdrY4vLnm/QhMzHsdU6av8ZlPoD5vQgg4aGQ3bOuaTEVeGHXzCHzxaA9lJ QSoPlESffwrvGoXAlC7kQRiLXvS4DrmdqRulSfZwQe9jYkpvJxWjUzussainJC/OaIImZVvT+w1 8NgXk069OP2vA4NCRzjrxbONbksKGw== X-Received: by 2002:a05:6000:2508:b0:43d:7e6f:3816 with SMTP id ffacd0b85a97d-43fe3e14ecbmr59468933f8f.40.1777218451696; Sun, 26 Apr 2026 08:47:31 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:31 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Jerome Forissier , Mattijs Korpershoek , Tom Rini Subject: [PATCH v7 2/8] test: dm: part: add test for part_get_info_by_uuid Date: Sun, 26 Apr 2026 17:46:55 +0200 Message-ID: <20260426154724.2042569-3-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="A6/WH9nC"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add a new unit test for the part_get_info_by_uuid() function. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- (no changes since v3) Changes in v3: - Add Reviewed-by tag of Simon Glass test/dm/part.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/test/dm/part.c b/test/dm/part.c index caae23bd4aad..ad37d7f406f4 100644 --- a/test/dm/part.c +++ b/test/dm/part.c @@ -195,3 +195,56 @@ static int dm_test_part_get_info_by_type(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_part_get_info_by_type, UTF_SCAN_PDATA | UTF_SCAN_FDT); + +static int dm_test_part_get_info_by_uuid(struct unit_test_state *uts) +{ + struct disk_partition parts[] = { + { + .start = 48, + .size = 1, + .name = "test1", + .uuid = "c5bce7a2-03f0-4d03-9048-01ff23b9d527", + }, + { + .start = 49, + .size = 1, + .name = "test2", + .uuid = "9df346e8-2c53-4cd8-b9ac-3af83f9a9b74", + }, + }; + char disk_guid[UUID_STR_LEN + 1] = + "8d60b397-1bb6-4d33-80ee-b1587d24c2f8"; + struct blk_desc *mmc_dev_desc; + struct disk_partition info; + int part, i; + + ut_asserteq(2, blk_get_device_by_str("mmc", "2", &mmc_dev_desc)); + + if (CONFIG_IS_ENABLED(RANDOM_UUID)) { + for (i = 0; i < ARRAY_SIZE(parts); i++) + gen_rand_uuid_str(parts[i].uuid, UUID_STR_FORMAT_STD); + + gen_rand_uuid_str(disk_guid, UUID_STR_FORMAT_STD); + } + + ut_assertok(gpt_restore(mmc_dev_desc, disk_guid, parts, + ARRAY_SIZE(parts))); + + for (i = 0; i < ARRAY_SIZE(parts); i++) { + part = part_get_info_by_uuid(mmc_dev_desc, parts[i].uuid, + &info); + + ut_asserteq(i + 1, part); + ut_asserteq_str(parts[i].name, info.name); + ut_asserteq(parts[i].start, info.start); + ut_asserteq(parts[i].size, info.size); + } + + part = part_get_info_by_uuid(mmc_dev_desc, + "00000000-0000-0000-0000-000000000000", + &info); + ut_assert(part < 0); + + return 0; +} +DM_TEST(dm_test_part_get_info_by_uuid, UTF_SCAN_PDATA | UTF_SCAN_FDT); From patchwork Sun Apr 26 15:46:56 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4575 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id C25AF3F206 for ; Sun, 26 Apr 2026 17:47:35 +0200 (CEST) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-488d9e1e61asf80225145e9.0 for ; Sun, 26 Apr 2026 08:47:35 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218455; cv=pass; d=google.com; s=arc-20240605; b=GU8+Wi/cfW1sR90yyTehePP+dgech+6ZZN8SWoVcaxOVi8nNKNk6Pn8EZbTfhdvS2h 5mZXypyYStmQ+vOB64iDzdJZoe+tlfi/CSIVg090mYh9YT0P5nxlffnTN5EoAPAJQ4E2 Lzujpwm0+dS47Q5j9Oex8STdt7u8DG4vJ+dD+HwUaSgmpc5/4WG4qd00bYVRYinMgOL+ IupIlBJAzNCGiNMQkHSfaaDtbNWQRoortvgWXOWbvraCMZhm9ygSmcseonDVephHsq+N U9UUPzVtUwmZDII4L5YKspVec+NIZTcWBXcvSScvFgVj/fwsKwBhpFW1ScDRuEQDmr/+ Z2Ug== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=w0yuqkQ9UEGV7c9h5MTnZlGTgVyeKpT9d7bYjnGp0zk=; fh=NHO2Y7X+YOHEqeUwrF5TmWi03EvIbQkvjP8a+h4rGlY=; b=TXtz1UkNyHSL9QsN19C9+aCwWFWX7saJw57oYp/ZKevGl2uFsbK9nPcdwGC9CfOfDH N1vnS/KTiqG1Wox88RvuU5vtuBWXVR5SSSkv0AtO84fdvi2HSKYfE1WjcbnU993JRYiE Z7+HNL6PARqg8HZpkaTRVmw9m7pqp1WqqY7ORp/UHrqM+D4GXtouHqlOH0GvIHnut2j+ Xqhts+udz9MyfDJ7yCw3x87gBxS1CAWe7hGJKX77i61JZcxOKOM3WDsc3ccs4/gWXXhl tal/oNQvrg/pGmRXNfvTpLET2/ULehVpdHf2YnMwEVEkmdHEzbZUzhR9aYpMxIOLj2/u F9AA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Tf3wjbIj; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218455; x=1777823255; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=w0yuqkQ9UEGV7c9h5MTnZlGTgVyeKpT9d7bYjnGp0zk=; b=cP0x8jDoQZGycn56DTsga7/sTFM1VZ4kJliKC5CAiPUaQKwh5TVymgQQUiMDe5alze XkMZnxsuFlJG6Jd/AUzfk/eV78WRCAmRjTDVz9t024yJYGR83/wDSb5MshViagJxIAoP Jp3lH82HxsryJjp1qOe6hCZxO+c5CdEUGrx1c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218455; x=1777823255; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=w0yuqkQ9UEGV7c9h5MTnZlGTgVyeKpT9d7bYjnGp0zk=; b=gncWepSOO8LXrPiDQ3wFgcwjdA8V/qToBiPA6Va48v79n4jli1lMlxfbryVomww3Hg IROIaEDU6ZEBymmBQZ7iK4QiSS5jFiyDgfWsoriVwdJroAXh6D+5/Jc5r+NxTQR2uyZ+ iHPwA+x7aKsXnvTZ4gUtdorC9Wl0y3C/eFArLInIj15d1CTjItint00RGev6+0c51NAq DULdVuKetM34Wy+OreNI10EMHrDg3seAG9O7un2c1RbSg5XrrqgPj2WOqYir1UQ1h9Ge kGty5dQC7TrDAXWqcbXed56vgdAO9mK9shE61rRPnNybFt3XLPRwMmuY2AJ+1aqb1Lqd 7QtQ== X-Forwarded-Encrypted: i=2; AFNElJ9n4V41o7wreeviKvuhwzLzxWdKRy1tPYTU9WH4Z2k4RjS9YR8032pLm/7znbzqQ+vE45ten5R9mU2LPVf2@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YypRuxrI8JK7EwCV90lpCiURRi4ww7X8ROxT7aT9QxxElUGPvTk 3+2JTZyyaJPRgNz0D8icXs/fYZoICxIikW0T10OCVin6dqyHMIwQS+y0fym8cX6Xz8xFiP+HIjK 04g== X-Received: by 2002:a05:600c:1993:b0:489:e696:836f with SMTP id 5b1f17b1804b1-489e69686a7mr386656225e9.10.1777218455384; Sun, 26 Apr 2026 08:47:35 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiIAe8ftMvT2xn9uwuGBzdNH4IumsKy3x05AfSQIreTq4w==" Received: by 2002:a05:600c:1549:b0:488:9946:181c with SMTP id 5b1f17b1804b1-48a5a517368ls37398065e9.2.-pod-prod-09-eu; Sun, 26 Apr 2026 08:47:34 -0700 (PDT) X-Received: by 2002:a05:600c:a30b:b0:488:a639:b772 with SMTP id 5b1f17b1804b1-488fb7467e9mr411440995e9.7.1777218453697; Sun, 26 Apr 2026 08:47:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218453; cv=none; d=google.com; s=arc-20240605; b=Lnr6Lro4vMmcfWCB82NTEXunKWABxObS8LpLSol83GUeMCWfLzmmMDha3idBRP1F7C TeOklzzWT2w3nbS2h8MG44BITC3sa9EvSLatPWwd4OIiaTZO28WCFG9Z4oyVzllxWcT1 7hkYAap7/eoudTixJxgqWpFP78ZvuC63HkOJYvxSJj7vg/aJn77TtEgw8GdIk3U7WbYC /029JsUGwcf2FOXAZorEoikMXv4qrttWIieXZE0yD/Bhi4SE/EkUUM10+sIVk+yr6OEI 4l87ar2PHLd59z0yXSkh7d6pTxpPCXb91vM4oGvQmxiXj6bLZurrkGos1Q3lBJL/GKrE g9Tg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=f4MKtAW7WUF1UijbrIXVqwjoMi3T7GY9a2EZQvpWa84=; fh=lYbmBBhXSL3Ep8kOpkVpo+naQp+9GmHm2/nXD6G93jQ=; b=RKwaDTIyRg2T3t/Rcx5RDtCQusK6jY2XBlLjPxlbPdLVs++SS7sYSx/UxwPsfm2jrk V+76yVUKEZgIGaHzp7TXZLuKTdV2pTzGLE+PIuvt0U6lChl7aplICtiZkI4aSMD1Dfgy vpkn68p8rpl6qXS0tXt8SNHD8O73nldb4FQuNQ0Ut4g++J3+RdfJsxJQ8c4+2pY8SCiU omAtdTZz3kVesSFJKkI8KHDAwhtNfHvLCdGhuTVXC0k+CUyUrpFf2nSFkvx0oe6/GRn0 OehRel6Q54I+S9N/cLWEO7fZisczZwtPKvw18h3BpsKaupUAREY16mLEPerso5QIP0ks qaXA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Tf3wjbIj; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id 5b1f17b1804b1-48a552c0668sor23380485e9.7.2026.04.26.08.47.33 for (Google Transport Security); Sun, 26 Apr 2026 08:47:33 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDiespaTkdRh0WziZI2N8RZ2y1tv7q56hbsvWf2b3fCbzlzCwdTkjgriNS1Xg6BeY uftBnpcthSEA2ru+8B6aQ+rAhf4Op3diy0U6tkDolDG85rw4Ra5gihFKkYTrl3YWzi1CbmdOZcp xpgFJsTubFr8kC76dDQOpawUGWjNO7HbvbNTy4mQwC2Ldu2Q1d0U+co7DM3EU1FfSQjWRN7d3VV 6z2/RHxMJr9F/GnADLMne7oSOYE0YutEJQa5i5YWU8FknuYdhFD+MEXA9+BmyidSD+Zugk4jEIe ej5wI0tY0fa+oOCkBcX4QrtuEnpXdLSTFB7O6oS+eEyDWzqxX2lW+I+fx6QTkSBu9VI0D9z2KY3 Up3sicQQBBFRh03c7Iwk8zQVKXO/lydFkNHfwV2puKq0P3E0gmgp1jJ4dx8OvU61EOnR31zYZ++ HgFnECRdJmne3jdw9d6n1IVanPTAmZK4FPC7HXWK+evMA5WOsbyTsK9k/VhNKGJCatpoyII8Y95 Y6KY7J0aHdCYIfMG8R2UpKuPyqhJphH/u3PnqqBIUchBMfv6xejPS1NB5uzyEtHpMhnhfVa5ot7 erBbi1q8X0EkquGBtw2HyfiPVvKmEw== X-Received: by 2002:a05:600c:450a:b0:48a:72ab:f88c with SMTP id 5b1f17b1804b1-48a72abf8admr1792735e9.17.1777218453239; Sun, 26 Apr 2026 08:47:33 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:32 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Bin Meng , Dinesh Maniyam , Heinrich Schuchardt , Marek Vasut , Mattijs Korpershoek , Tom Rini Subject: [PATCH v7 3/8] test: cmd: add unit tests for part command Date: Sun, 26 Apr 2026 17:46:56 +0200 Message-ID: <20260426154724.2042569-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Tf3wjbIj; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add unit tests for the 'part' command, specifically for the 'number', 'start', and 'size' subcommands. These tests establish a baseline for the current partition lookup functionality by name. This foundation will be used by subsequent patches to extend the command, ensuring consistent behavior as new features are introduced. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- (no changes since v6) Changes in v6: - Add Reviewed-by of Simon Glass to patch 3/8 "test: cmd: add unit tests for part command" Changes in v4: - Place the part command tests in the cmd suite rather than the dm suite. - Order the include files according the U-Boot coding style. Changes in v3: - Wrap the lines exceeding 80 columns - Combine run_command() and ut_asserteq() -> ut_asserteq(1, run_command( test/cmd/Makefile | 1 + test/cmd/part.c | 165 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 test/cmd/part.c diff --git a/test/cmd/Makefile b/test/cmd/Makefile index 8c9f112782d0..41fe21a4541e 100644 --- a/test/cmd/Makefile +++ b/test/cmd/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_CMD_LOADM) += loadm.o obj-$(CONFIG_CMD_MEMINFO) += meminfo.o obj-$(CONFIG_CMD_MEMORY) += mem_copy.o obj-$(CONFIG_CMD_MEM_SEARCH) += mem_search.o +obj-$(CONFIG_CMD_PART) += part.o ifdef CONFIG_CMD_PCI obj-$(CONFIG_CMD_PCI_MPS) += pci_mps.o endif diff --git a/test/cmd/part.c b/test/cmd/part.c new file mode 100644 index 000000000000..5751dd315dd8 --- /dev/null +++ b/test/cmd/part.c @@ -0,0 +1,165 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Test for part command + * + * Copyright (C) 2026 Amarula Solutions + * Written by Dario Binacchi + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static struct disk_partition gpt_parts[] = { + { + .start = 48, + .size = 1, + .name = "test1", + .uuid = "c5bce7a2-03f0-4d03-9048-01ff23b9d527", + }, + { + .start = 49, + .size = 2, + .name = "test2", + .uuid = "9df346e8-2c53-4cd8-b9ac-3af83f9a9b74", + }, +}; + +static char disk_guid[UUID_STR_LEN + 1] = + "8d60b397-1bb6-4d33-80ee-b1587d24c2f8"; + +static int setup_gpt_partitions(struct unit_test_state *uts, + unsigned int mmc_dev_num) +{ + struct blk_desc *mmc_dev_desc; + char dev_str[10]; + int i; + + snprintf(dev_str, sizeof(dev_str), "%u", mmc_dev_num); + + ut_asserteq(mmc_dev_num, blk_get_device_by_str("mmc", dev_str, + &mmc_dev_desc)); + + if (CONFIG_IS_ENABLED(RANDOM_UUID)) { + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) + gen_rand_uuid_str(gpt_parts[i].uuid, + UUID_STR_FORMAT_STD); + + gen_rand_uuid_str(disk_guid, UUID_STR_FORMAT_STD); + } + + ut_assertok(gpt_restore(mmc_dev_desc, disk_guid, gpt_parts, + ARRAY_SIZE(gpt_parts))); + return 0; +} + +static int cmd_test_part_number(struct unit_test_state *uts) +{ + unsigned int mmc_dev_num = 2; + char expected[10]; + int i; + + ut_assertok(setup_gpt_partitions(uts, mmc_dev_num)); + + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partnum", NULL); + ut_assertok(run_commandf("part number mmc %u %s partnum", + mmc_dev_num, gpt_parts[i].name)); + snprintf(expected, sizeof(expected), "0x%x", i + 1); + ut_asserteq_str(expected, env_get("partnum")); + } + + env_set("partnum", NULL); + ut_asserteq(1, run_commandf("part number mmc %u bogus partnum", + mmc_dev_num)); + ut_assertnull(env_get("partnum")); + + return 0; +} +CMD_TEST(cmd_test_part_number, UTF_CONSOLE); + +static int cmd_test_part_start(struct unit_test_state *uts) +{ + unsigned int mmc_dev_num = 2; + char expected[32]; + int i; + + ut_assertok(setup_gpt_partitions(uts, mmc_dev_num)); + + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partstart", NULL); + ut_assertok(run_commandf("part start mmc %u %d partstart", + mmc_dev_num, i + 1)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].start); + ut_asserteq_str(expected, env_get("partstart")); + } + + env_set("partstart", NULL); + ut_asserteq(1, run_commandf("part start mmc %u 3 partstart", + mmc_dev_num)); + ut_assertnull(env_get("partstart")); + + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partstart", NULL); + ut_assertok(run_commandf("part start mmc %u %s partstart", + mmc_dev_num, gpt_parts[i].name)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].start); + ut_asserteq_str(expected, env_get("partstart")); + } + + env_set("partstart", NULL); + ut_asserteq(1, run_commandf("part start mmc %u bogus partstart", + mmc_dev_num)); + ut_assertnull(env_get("partstart")); + + return 0; +} +CMD_TEST(cmd_test_part_start, UTF_CONSOLE); + +static int cmd_test_part_size(struct unit_test_state *uts) +{ + unsigned int mmc_dev_num = 2; + char expected[32]; + int i; + + ut_assertok(setup_gpt_partitions(uts, mmc_dev_num)); + + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partsize", NULL); + ut_assertok(run_commandf("part size mmc %u %d partsize", + mmc_dev_num, i + 1)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].size); + ut_asserteq_str(expected, env_get("partsize")); + } + + env_set("partsize", NULL); + ut_asserteq(1, run_commandf("part size mmc %u 3 partsize", + mmc_dev_num)); + ut_assertnull(env_get("partsize")); + + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partsize", NULL); + ut_assertok(run_commandf("part size mmc %u %s partsize", + mmc_dev_num, gpt_parts[i].name)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].size); + ut_asserteq_str(expected, env_get("partsize")); + } + + env_set("partsize", NULL); + ut_asserteq(1, run_commandf("part size mmc %u bogus partsize", + mmc_dev_num)); + ut_assertnull(env_get("partsize")); + + return 0; +} +CMD_TEST(cmd_test_part_size, UTF_CONSOLE); From patchwork Sun Apr 26 15:46:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4576 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 43C243F206 for ; Sun, 26 Apr 2026 17:47:37 +0200 (CEST) Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-43d77286244sf6207936f8f.1 for ; Sun, 26 Apr 2026 08:47:37 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218457; cv=pass; d=google.com; s=arc-20240605; b=ZFea88EVBMVix4Df/QbRa03u+7Xkd777+PVl3a0JN6DW01RbSsy+51iVNDWjC19xdE GCqTtqqayMKzru5Za202gJOYNUNOrIDt7FXGShVrkLMHRq1PJd9+kp6e7cVLffIYaq+z 6jJfSk7iaWCRMxzJP4zLUHgvnggW5SizVUIMqJC5t0ikOWASRc0zhS/NKZlTvp+WtwD1 pZIkpQPJ4HNyl9zQ/I8udWX2EmeJHLFLzNdLIfnoeKPj0V/fuxqfYgJYQ/r1/6GBI9QF IvwjsX/QsLdIc60P9F8QIZtmz3VZ3LbkKhjEn69MBT2XVHm1n8d+sm5ZPTP826AWqQcc fdkQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=RR2/x+4kp2QQjxGgJc6pNBBILvKbszz/eSz2cBDXsAE=; fh=auHXMD7BZs65vlwN27DGVU1nj2Bg5N9/TQ5iKQcefp8=; b=OBa6Qx5Wb0515448Rd0CjwRRbMtIKtdOp/Grc+SyFCwUDzrZ7fHuR4J0vml1NXkA/J 6vGS4F7lGWeu89BinO/LpV292snoKgJpO8kJyjS6IjEi+AdqsAk1D1TyZ49jg08kEN48 Zp7tJ26zT0oTCURRhDyBgTFtk53Ce2Uy00vrS8Ck/zZyZmh43gPjP8WbjBxVas4uP0Au X16eN00fgohi9WORLHKKVTkmp4b4slyLswWtIJNnFi5THT+X6J6qYDAn8KZrrGrdxnxB MrD0tnHeDtMNcqJCnilIJ5hgozX2JrZOe322uR++lwIufHk09cFl4yXxn4nALUo1MOvH mbAQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="Uxy4uB/+"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218457; x=1777823257; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=RR2/x+4kp2QQjxGgJc6pNBBILvKbszz/eSz2cBDXsAE=; b=f7QhZAlhs26o2E4qTJmjnsb3aKqKGwUtP4kwP+oNWI/hThQWRnTdemgmz5tU6V+DlL EMWyUv+OyxYlrhcofFarrJDQuZ6uJvpAZBvN4NnZ4QLEW2Iah193WcQluD7Q9AxWmyJM o9e/PJ0BVTQY5o1WjXHGO76TNq1EJmRQgoif4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218457; x=1777823257; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=RR2/x+4kp2QQjxGgJc6pNBBILvKbszz/eSz2cBDXsAE=; b=EYiqdVg2E3fNlT3h8afHc967W7OCmuEAWKISAOGHA476Tggqu5sf+D1aRyTjQww25z 8NiiU3x31aFuUw3K9wCADD3wW/NOxP9pRR2U2cozoK1QBnc+JJHyTjHoYiZ/afapO1qU rQqNj0RB7BIA3Hkp4o9W2GL3LbeKZdaEpzQPJ/WJsCtkJ3AzrOOkTaNOLJGfpiab2KMR VTdj3DJN6XU98RoG7qGmrWCPP0F1ralsulS8uywS/6SmLbU9jcIBLu+gF92d+5sXwajB otIR1TguPEcQHrD6cFHuoY0DLLXmrDvIjfpw5ILju1/1ai+GQcN/vvPz2nnhIKaFxZCp YjyQ== X-Forwarded-Encrypted: i=2; AFNElJ+Ys7VY4cCmBEaV0Zt6JXJryJt1t427JFhCVtSzB63t9bpJybSX4p3PgjTNXwzg+EN4FrgWkutM5B73I/69@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Ywo9kw7M6v2mYnodbrikHb5mozPudA4wrj1OxsLBvwkV/Pn2oPf xbJs59velvHUDwPlYJ3Zp1HMeHONiRihucxh+39P7/vDJsZsHyWhNzmYBuk+VHlhUwY+DA== X-Received: by 2002:a05:600c:3006:b0:487:1108:48b8 with SMTP id 5b1f17b1804b1-488fb739f86mr314154805e9.2.1777218456831; Sun, 26 Apr 2026 08:47:36 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiISv0xUHlgynTaFewSsZaBk5zO1IbR6RGsPil3xRjiRfw==" Received: by 2002:a05:600c:358c:b0:48a:5e23:daaf with SMTP id 5b1f17b1804b1-48a5e23de22ls16017575e9.0.-pod-prod-06-eu; Sun, 26 Apr 2026 08:47:35 -0700 (PDT) X-Received: by 2002:a05:600c:3110:b0:485:3abe:ab86 with SMTP id 5b1f17b1804b1-488fb739ce4mr545355975e9.4.1777218455271; Sun, 26 Apr 2026 08:47:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218455; cv=none; d=google.com; s=arc-20240605; b=IuOLs5zXr+p3uO/Mt+3T/ZRjuIeFEauM2xcRPHIBO7LT4zA7VJ2gaCSzQDSeJB2fRh Sd3lsqFcDWDuJhXEZWS09W0j4Z0AJMifUwYTRJCcAj4knQZmjDPAakDX5n3TQ0z/l8w+ 2ViVX2vJ7sZ2UXETWkFg820k5axkENCgpJ3lRr/9hZwv1g9zUJRneL1AxqAzH5DKa0CB kyeer+dgaDWD6Yv6KCkrZYjkWSASDmNdDjfGa139+XDPmf638MGzYwjcWXGmVftn9qVz Kipy7UrRx9+lglvbrQV9GC0zkQdNepkqGicGNRn0hwJODTt1L/UkTaSPVvBWZVf44jNV LO/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=xRUth/tej3+7h0oPp5SVnZPyDPN+il6XelJ/U9ZGoW4=; fh=Yglg1I6l70Hhqpjy+qvvk1bg0I29PGNWtGMy8jFzWA8=; b=bh/T56Vz4jT+6NJpVNzdIfmRSLMjusOxxcQzTMqhiL2MgfvZ0SBh8edY4Nr6AzW8bj q+n0qAO3GurXiD8Xg0CeB4EufrXZrc8I564KJWaEYnk9y8bc0F28aSbLPgdWE8HmGn4n w3Uz3v1MS0WtnD1DpcW/BavsDs352DHRFui6EgXe/1jlBietz5KaBdOr2Hd415uJVZQM AUWHbzTujVWE5onHL4vdNNJz5rzOc3y1vK77wUojXhU05y86c8TmDvKhb5vaWZ3v7LK7 UcTLH0y6BjsqFLzKXIu5tyiyP07FPuHP5JPKrz97x8ig7Eq+rOVVTayHwmDRB8GmR0ov +vhQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="Uxy4uB/+"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-43fe4e0ff27sor3316990f8f.10.2026.04.26.08.47.35 for (Google Transport Security); Sun, 26 Apr 2026 08:47:35 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDievCIRY3IDHKVElhRXwHqtofE4p/qcm3nQA+nU3sShEhWl98mkULTBt3F32NiPq aJmh+VBhmzECeLjehuaCcfl7sWat+qs4uFgbnLGnGQC6QlSRLcm0TQadcRmXyHz2RUCt4+cmw+I Ofq8HZf/B4xIS7nIPDxOSvR343X6p0cq1LqsGe78EOC9yfPJdab1c0ICL8vu1H8CxLJh6sOiU+E dji1HxlUifuydIaGqlNc1pr4v2ihWr00OpDbhOi7qm6YPbZyegbptoUSonO5zVJZ/sdONERRii5 OyP9pp/kp+wRS4cEP+ge7FXQc3qiNtejBWg9yFz3OeVn0RiJxjMmjwetZET6j7gcruwnLw9/88o RqZqZa8wml138pQh0d9NbWa1wgsSmuAiyvC1uJcCQJjGKx5Mv8BP8sizNwDd78d1bPQ0Fn0NhWR TrtXMl6gSShin8DQuKTgkXtdWlYXycA2g3WiVKFznBaFxKh5Q4Hd4PAw37XqdlHzhzGVJRUo2oQ 5DUFQVokGaapF8Ubzy8fR4LG7GLmqJiahvyRqMhUDq5vdxYP+TR7ab545u4YcQOfDpM9+m4LWtb b8wK5dqjqZIl+7N1nNSw3aFCc/qmwA== X-Received: by 2002:a05:6000:230b:b0:43d:7cb5:43b2 with SMTP id ffacd0b85a97d-43fe3db3150mr60692893f8f.15.1777218454766; Sun, 26 Apr 2026 08:47:34 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:34 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Jonathan GUILLOT , Padmarao Begari , Quentin Schulz , Rasmus Villemoes , Tom Rini Subject: [PATCH v7 4/8] cmd: part: support lookup by UUID Date: Sun, 26 Apr 2026 17:46:57 +0200 Message-ID: <20260426154724.2042569-5-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="Uxy4uB/+"; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , The 'part' command currently allows looking up a partition only by its number or name. Extend the 'number', 'start', and 'size' subcommands to support looking up the partition via its UUID. Unlike names, UUIDs guarantee unique partition identification, avoiding ambiguity. The logic is updated to check if the provided string is a valid UUID before falling back to a name-based search. The help strings for these subcommands are updated accordingly. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Update doc/usage/cmd/part.rst to reflect the changes related to the part command. Changes in v3: - Add Reviewed-by tag of Simon Glass Changes in v2: - Update commit message. - Update help for 'part start', 'part size' to mention UUID. cmd/part.c | 12 ++++++++---- doc/usage/cmd/part.rst | 6 +++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/cmd/part.c b/cmd/part.c index 5e520d707f39..3191d5861fdb 100644 --- a/cmd/part.c +++ b/cmd/part.c @@ -144,6 +144,10 @@ static int do_part_info(int argc, char *const argv[], enum cmd_part_info param) err = part_get_info(desc, part, &info); if (err) return 1; + } else if (uuid_str_valid(argv[2])) { + part = part_get_info_by_uuid(desc, argv[2], &info); + if (part < 0) + return 1; } else { part = part_get_info_by_name(desc, argv[2], &info); if (part < 0) @@ -517,13 +521,13 @@ U_BOOT_CMD( " flags can be -bootable (list only bootable partitions)\n" "part start \n" " - set environment variable to the start of the partition (in blocks)\n" - " part can be either partition number or partition name\n" + " part can be either partition number, UUID or name\n" "part size \n" " - set environment variable to the size of the partition (in blocks)\n" - " part can be either partition number or partition name\n" + " part can be either partition number, UUID or name\n" "part number \n" - " - set environment variable to the partition number using the partition name\n" - " part must be specified as partition name\n" + " - set environment variable to the partition number using the partition UUID or name\n" + " part must be specified as partition UUID or name\n" "part name \n" " - set environment variable to the partition name using the partition number\n" " part must be specified as partition number\n" diff --git a/doc/usage/cmd/part.rst b/doc/usage/cmd/part.rst index b91f6541f7f8..a0e7be08a9ab 100644 --- a/doc/usage/cmd/part.rst +++ b/doc/usage/cmd/part.rst @@ -52,7 +52,7 @@ The 'part list' command prints or sets an environment variable to the list of pa an optional environment variable to store the list of partitions value into. The 'part start' command sets an environment variable to the start of the partition (in blocks), -part can be either partition number or partition name. +part can be either partition number, partition UUID or partition name. interface interface for accessing the block device (mmc, sata, scsi, usb, ....) @@ -64,7 +64,7 @@ part can be either partition number or partition name. a variable to store the current start of the partition value into. The 'part size' command sets an environment variable to the size of the partition (in blocks), -part can be either partition number or partition name. +part can be either partition number, partition UUID or partition name. interface interface for accessing the block device (mmc, sata, scsi, usb, ....) @@ -76,7 +76,7 @@ part can be either partition number or partition name. a variable to store the current size of the partition value into. The 'part number' command sets an environment variable to the partition number using the partition name, -part must be specified as partition name. +part must be specified as partition UUID or partition name. interface interface for accessing the block device (mmc, sata, scsi, usb, ....) From patchwork Sun Apr 26 15:46:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4577 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 9DE0C3F206 for ; Sun, 26 Apr 2026 17:47:38 +0200 (CEST) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-48a5adc12ffsf32574695e9.0 for ; Sun, 26 Apr 2026 08:47:38 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218458; cv=pass; d=google.com; s=arc-20240605; b=dd3Wx9DNFzMSDbDxxypVi1+NLDEJiWfpDF3PrurX25RAnK7LNvrWypFSI4Qtnh1YmN aWoZqaXOlVlPEmGFiEiPmCORtNnRkVMXvZ8hLNPdpigr7ar4XMuRGhZpZghR8HJDHm4a FdGJa6nTsnaFMxKiRhzaUrWvXM5JDM7nnhFxG355Ll/lynFD43Nhq6+Nlt831VNNrgg1 yFBbO0fNUwD1tvNxW7ngH0tUqkWYFvtmY5B0XSsHsDOQcw68mXEh1GUHccrBe4xj0aOO 4qaZ2ichlqqn+Eb6+wP9cQt8T9UpvgcsfleOrsjc6uud7xw7pKkh/MYpbXiEW3PG67Nj iuRg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=/sNg5n/0pwc0RJhb+nkskkD+FzZM0grwYMOkgoANktw=; fh=VUM8xhA6AejJm2eVLRe/7dRI2rSh4CmplBGl0SawKOo=; b=kMQ+YaljXHL5ZV2aImrG0koX1QKFdLLDxFV731OvCjHIYj3pA6nzYQo/syrFmU67jj 4D6gQkAYU5GBSY5KJy9rJ0LGT6TtqXYZOVY4zU7KedP+3PekYEwCSAhHWUxQoJLUlw4Y STfXBRAk87zbsZbBs95Jbv+HnAhxncM3mu8ugEOHyNKU9/eNMMsgVQvQAET1BLUfuZXw ewtpX3G8Atf2AUVfCnRYQGkMkxz2YUQS5TPSGwuVJKh7LxpcK0OLmVaX5CbOIC6VwVEC 2iWONloYNUDCry5aJZIr21Kjc10zR5mRKeoVX2Bdpom9pcfbnA6yrwzdi1dkb+JpU6Pj Wl/Q==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=rDQrp5Bn; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218458; x=1777823258; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=/sNg5n/0pwc0RJhb+nkskkD+FzZM0grwYMOkgoANktw=; b=om+aO/xHI/Vy/pCRm95cQ/a9TXtmJYW6EAXC2FBo9nyUZeqLjXA9zKxqfbdulPThnS 2u8Lnh9NjbBriFTeJmiSV0r1fbVROohgu5Duh0LoSpxsHMdj65zu+KBVbHMhrcWnLyXI r8DgTDvcveXAiYlyaOiHO+0KAk0QGiQJO54/8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218458; x=1777823258; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=/sNg5n/0pwc0RJhb+nkskkD+FzZM0grwYMOkgoANktw=; b=kM7sSjrKzni5vPzivlF/U72/XrI1sNXpMwrhMfHHV7Oy8ECSiMKQ8bk853AkmAOvVW kyEXomzutZf+GHg4hrG62meKqTIytm2+uZN3SXkbDpvESOLsDXwxJuV+IPxTujuftvUY xjDUR+BRpOxz/0tK1d7xKBOccnBLGYmMiaoYLnL5TXG1JD4eEHcePEcw2EydVowTivcc YBESni+9Hpe1BW5+pAZp0TqIBv4f89o40nISL+nj2kvVyWL63QKBQktIq337dfpoNLS1 QrqaeJMJi4N6vZ3WKL/5ni4cNqeNTV8vSvSbQ6dMbpVnY/b47cD1q4c98ZUC9quDjaM7 6VyQ== X-Forwarded-Encrypted: i=2; AFNElJ/s6hYsAFUL1r73RTcOzxQ5xk4dS6oNJRkHG6Xn8yAOzr1do6TwsqfyULaNvuJ62O/FxJDRiw3oiISCu/ut@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yzvw+Y8neEnvPftgCBxk1Njqz0cOcUuKkIkSzVXx4DZApRjlRwN Ny7ZzNRcmT2MhI/PDq0VbgMuPpTth2ZIbi/+z57FKesqPRidrM30clrcRyIsIJasQ0fOZg== X-Received: by 2002:a05:600c:a404:b0:47e:e2eb:bc22 with SMTP id 5b1f17b1804b1-488fb73b2a3mr471657085e9.5.1777218458270; Sun, 26 Apr 2026 08:47:38 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiJmTstl1Y75ngOEBGexrpyN/Ovw92msk+TpgTL5abrvvA==" Received: by 2002:a05:600c:1d23:b0:488:ab54:fbf8 with SMTP id 5b1f17b1804b1-488f4a6fc42ls51043615e9.0.-pod-prod-01-eu; Sun, 26 Apr 2026 08:47:36 -0700 (PDT) X-Received: by 2002:a05:6000:2211:b0:43f:e94f:3da0 with SMTP id ffacd0b85a97d-43fe94f3deemr55162363f8f.4.1777218456420; Sun, 26 Apr 2026 08:47:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218456; cv=none; d=google.com; s=arc-20240605; b=WZEKtPuY0F7UjYENPEsgJ3Hmkwn02tNlnFmezvVRdrxY48NCzcB45+3SenixH8694l Bpqlv2ja02g1vFvETUfHI/vHygPJNzBbiDaKSXwnILn4YLcVJEIgwfaoIiSLZjWdSZYX +RZnqiEtQhUDCy3C7cGjOBYXWIQP3+NB1Um8YHcpScxKgE4ApcRvRNbR7QLkGv5SwbNh t3bTICRPfR8hkC3mNaTT2Xu7HwWoUEjLvA1Rg0/zBBWOLFnbOw2WMC+9n4NmDVS4+9+n 3+vjc8ghVsMT+FRavAWSneFvxarEIZfqU7b7gN0Asr4W/jZr999cXcxt68PzDAd7acIl Sg2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=V3edTpCbQLoF2GLZoQuCSJDpFP7hzTahHYvj6ql2yGM=; fh=cqGgBtLgo9Y7k4Yog1LltCfcfqjVrN8Vq2ZxieGu7Jk=; b=DaJvL38Cv7dlDGKigTwaXg8w2DM/9Srgf4WO/kSBJuFqykgkV/gKNb8InNzDZXZbRS WwQnw4YYGLayT+c7LJNZj1HgP5u9XOPNUVu4F6GxhQMr05QH1zyqf4IcJtyDrLetpPR7 xb5FvP1QwrVCXB/pOwRRoKCNiZSeJyz4vBZgTMaPbl55WfJAz2q8XXtr2q8PDiYhODGF WfpNH1Qmf/wjAijD5pk99zs62QZJBCNqvrd/gmOh0Rgl+Bh8FkS6teXIbVZVbiGSZts8 ejrlR55oVUsLSS2P4OG4GefhdFhNqH0DSTbyaaiDy8vVNn3D9nRX6329ljg/5FDBiBhX RBdg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=rDQrp5Bn; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-4431faac401sor294518f8f.14.2026.04.26.08.47.36 for (Google Transport Security); Sun, 26 Apr 2026 08:47:36 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDiesvrNx5wbTPUL3QEQw6ltipd9SeX1VXSGGqY65ycU6vpSvQpqKRuzrGTo3j1nd Ma4FuDe0wlDDbxTVIGamhd9/t1KAv9B+gkKg6rPaXzqlr10kkgl3wgNHtzq5wxlLUjmPdBVqcoa sW08Hai+GogPtqOdVEhPe2jQi3y9axgTkMUZZA83S4fRbIMAijohuPRz0mg7qAqq0bCxGBufcnj Aj8m27NdWh7rzwGbVGEGKHxPMDL9CG4diollp5fh6ifMKDx+Jt34meg3vOeLzAAkTvQJVF/Nykv gdW4LMWnH49laUScXQiL/JLRbD1pMOdQoDB2awg4Bfbi9EJIp23REMTEVzVFyRHojjMz13ECbZu u/xULjIMzuaof9zQa6sbgS4rHNphGyYjzo2s+v6sfNLSZt7sGXlOZO1cbMX/rLON+e1BFyJPNEu Q7sLcpKlwdSm+mntryBpyPt9S3i0DCDBOB0TGJ1MrfGPyoPSijELrrYZv5edWwShdzkrFoamKeD BnXRZpvi5+tdyNOMm/6FivWT6V+oSOyEawlt0Yb5/ZF3eNfsLUHHwR6GUBLQn7HgPlGPR2Yq1N6 FZD/Z+73mQEPwViREYkv1SAoVLYyyA== X-Received: by 2002:a05:6000:2087:b0:43d:7403:4b5d with SMTP id ffacd0b85a97d-43fe3dc49ecmr60846653f8f.15.1777218455981; Sun, 26 Apr 2026 08:47:35 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:35 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Tom Rini Subject: [PATCH v7 5/8] test: cmd: part: add UUID lookup tests Date: Sun, 26 Apr 2026 17:46:58 +0200 Message-ID: <20260426154724.2042569-6-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=rDQrp5Bn; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Extend the 'part' command unit tests to include partition lookup via UUID. This ensures that the 'number', 'start', and 'size' subcommands consistently handle UUIDs as partition identifiers, maintaining parity with the name-based lookup functionality. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- (no changes since v3) Changes in v3: - Combine run_command() and ut_asserteq() -> ut_asserteq(1, run_command( - Add Reviewed-by tag of Simon Glass test/cmd/part.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/test/cmd/part.c b/test/cmd/part.c index 5751dd315dd8..0069fe5bfea7 100644 --- a/test/cmd/part.c +++ b/test/cmd/part.c @@ -80,6 +80,20 @@ static int cmd_test_part_number(struct unit_test_state *uts) mmc_dev_num)); ut_assertnull(env_get("partnum")); + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partnum", NULL); + ut_assertok(run_commandf("part number mmc %u %s partnum", + mmc_dev_num, gpt_parts[i].uuid)); + snprintf(expected, sizeof(expected), "0x%x", i + 1); + ut_asserteq_str(expected, env_get("partnum")); + } + + env_set("partnum", NULL); + ut_asserteq(1, run_commandf("part number mmc %u %s partnum", + mmc_dev_num, + "00000000-0000-0000-0000-000000000000")); + ut_assertnull(env_get("partnum")); + return 0; } CMD_TEST(cmd_test_part_number, UTF_CONSOLE); @@ -120,6 +134,21 @@ static int cmd_test_part_start(struct unit_test_state *uts) mmc_dev_num)); ut_assertnull(env_get("partstart")); + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partstart", NULL); + ut_assertok(run_commandf("part start mmc %u %s partstart", + mmc_dev_num, gpt_parts[i].uuid)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].start); + ut_asserteq_str(expected, env_get("partstart")); + } + + env_set("partstart", NULL); + ut_asserteq(1, run_commandf("part start mmc %u %s partstart", + mmc_dev_num, + "00000000-0000-0000-0000-000000000000")); + ut_assertnull(env_get("partstart")); + return 0; } CMD_TEST(cmd_test_part_start, UTF_CONSOLE); @@ -160,6 +189,21 @@ static int cmd_test_part_size(struct unit_test_state *uts) mmc_dev_num)); ut_assertnull(env_get("partsize")); + for (i = 0; i < ARRAY_SIZE(gpt_parts); i++) { + env_set("partsize", NULL); + ut_assertok(run_commandf("part size mmc %u %s partsize", + mmc_dev_num, gpt_parts[i].uuid)); + snprintf(expected, sizeof(expected), "%lx", + (unsigned long)gpt_parts[i].size); + ut_asserteq_str(expected, env_get("partsize")); + } + + env_set("partsize", NULL); + ut_asserteq(1, run_commandf("part size mmc %u %s partsize", + mmc_dev_num, + "00000000-0000-0000-0000-000000000000")); + ut_assertnull(env_get("partsize")); + return 0; } CMD_TEST(cmd_test_part_size, UTF_CONSOLE); From patchwork Sun Apr 26 15:46:59 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4578 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id AAE943F206 for ; Sun, 26 Apr 2026 17:47:39 +0200 (CEST) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-488d56f87e8sf73994955e9.0 for ; Sun, 26 Apr 2026 08:47:39 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218459; cv=pass; d=google.com; s=arc-20240605; b=dh216Lo8wg8hm0YfxYtRdtcmeuXTWE7XFy8qVUNw/o09Lze7JY5oUjfmfyaA8/e17C Pa8Y+uAQ7L+KS+T76q7/3tKF5YfcDZd8aP70BRXsjAlUgiC8CXxC8xq0bIaR5yufuIyL afqB0MW0bI+PSp3VGV1BWnyWBLnljDo5zg4Z+woDV/lThgOWiMwhkAAeYxl+AAKSD1b0 rDjrzZDoOoEfDxc1TCddVS0disSCXMZff+DI5AOdSig9qb5ODcEOQSeINbH8ELubUS8D Gc53pi5eHjiWV55WzKYuIEEULeuk8BqoD2Jit/YJZPwnSnBipL7PjR2/lALyQ5+gZFg6 6GYw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=SnkFgZ9OhSQFJivPMLXrgKZV+pHin2Zv20JrmHGfQ3o=; fh=mNK17XKZ6fRj0jjGk/S8AYnXlZDV/A9phUM7fqlzUuM=; b=lpjR3Ib1dTATouFmFv0O6WLo1qyatrDp41thNUJlIIjYE6jPuYpVWI0zhb4mae2mve Eq0EICULom/JHu17fqr4Bu/KHR3kV0/LF2qLIidJhihIXGt9kGB+X240US+5iycSzUDd PX936JC/dcG3qS3/GfC+9nNF3rlif8Fr6Bd+1kBXhdMP+2isCiTYhMBqMflcLnBlPztw K04gBYiEUqTEk/RUt4uXjf5zrHXRKnBX/CzTscmNaWPiMZp3iUpuigL+fnb81H+GUa6d 48+UoR4Vkh69aHOecKj8TO8Y9gjZxGvCJFwnuvipJ1q1E0FZcXAtXmJRwAqctjHFYAal lMzw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Yue1wz2s; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218459; x=1777823259; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=SnkFgZ9OhSQFJivPMLXrgKZV+pHin2Zv20JrmHGfQ3o=; b=LS+Q85WBB9kK3ILru6Ru3xb5wj2RXYLvlsDqw6F1zu0uMUSnwoZg0qu5+WDM3DYIGK PwmtAC5mNTR5W8wO8PIWfeyUfLbWAiRGAG7dh05TRwqEsa/PG/mAKWEeFr8KscVIyKE/ 0maJbq3wfY54YWTZapYGKF+FXoO5Sl5v6kYY0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218459; x=1777823259; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=SnkFgZ9OhSQFJivPMLXrgKZV+pHin2Zv20JrmHGfQ3o=; b=HQ+YzABM5RYKzKmHiGKlHf8ZKfWZ+NIbwxttsI6uke7VVueXyD6Htftnq7UIBFu7jG c2XhFuRI8lU/jJDXcMRrUk6c2jh96A0ynRIzL6sUEKxVS+6bQZB7Hy+WzAtmxLCLv3Ya QPtb5Kpu6U/iCzWOVfH1M/MbNinkoJXgmDaMp1zf8Ipb4EFbEbFLlL6DnkR83qsqJABK nOO0KVKBARVc+rIqeqM07Vj+dSnsByYR1ia5Xd/XmN9Wzi11KMqYlgcAjvnzc3ysALY0 dS557nyIvF62iFOYHGjOmdeH7kG5Isk2akiXJIBXFro97Td1xlHd2NTqItvjgmc9EcVT 43SQ== X-Forwarded-Encrypted: i=2; AFNElJ+ByWdPijUSDbLQ7a8t+faJXt3LKaVTIXToxYFi8CUKe4CADSaCB05yUgjmO4gRPKdBQ5WmDmOcvCk2WNoD@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxFo9dnSgo3Pu5PvHe5UyqgSVSQ/rJU0nSFEWI9gLmDPDB/jzK3 Sl3enwmxUUZC4R6ndfgFBa+6V3DzLII+wP+UZvgM9fg0761QiUsmvL8rMvGmZHqYaP2++Q== X-Received: by 2002:a05:600d:10:b0:489:1b0c:8b43 with SMTP id 5b1f17b1804b1-4891b0c8c48mr354346835e9.1.1777218459306; Sun, 26 Apr 2026 08:47:39 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiJNqOT5o0lSbWjfXBS8veAzpxFjuVu0y2VfqD6NPYOSfA==" Received: by 2002:a05:600c:548f:b0:488:ab54:fc08 with SMTP id 5b1f17b1804b1-488f4a77b0fls112249895e9.0.-pod-prod-02-eu; Sun, 26 Apr 2026 08:47:38 -0700 (PDT) X-Received: by 2002:a05:600c:530f:b0:48a:56de:d640 with SMTP id 5b1f17b1804b1-48a56dedc17mr358576435e9.16.1777218457872; Sun, 26 Apr 2026 08:47:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218457; cv=none; d=google.com; s=arc-20240605; b=N5zuHKjTot2VKJc2tr0zh9Al/1EOV0Uhn1+KnZ47mQb/DH0UNvQP8ldBdX1LH9n6YO R7uiDJKJREpHlUTKPeL2nsrARWigTA+aAV22ApwZyZEA6hXwcka72rwcoaZPqxQVrtvb 6zxK3oDZ5WuYgRbX4NiMnSnwEStBv7e3tGxNBWCbg8inrLXCKCn+fmlbPb5lyvqe1GWQ FxOx98zvYg3VgGUb54xMZhqZjfniAZYoNPDNhZu1Gx/7O/3NLUhJ/RERubGmVDedPaSB MtH8/8hOBjIbXRrqtx74WCAU431Z4/u5Tjaf+r1fmeFdBdIqrcJE2dIYHvsJCoQqENNB xzIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=5GSYQhGo2SyIVxnn6Fpy6y7erjo+T2Ff+eqsbRqEQV0=; fh=63tQyC28C9/eYaWpq6aXRoXJf0iCc3tAFavW3mffgU0=; b=O8nnoTTuQwKLjQb0HRXqom2BCjQXcikepyGGjraKkcwZJj4Tucr2LQj6Fq2BNt4fBT PEhGC6WUYv5Alhau1wgID7UXwRr6HQrHkYJVUYVVwUgkUdQCG8RD943isYMWLMT1iJJg KAAFLtfMGbR9f6ntTmzVW7ryWpWtxpg7cy+9HvuxcQYEiWC5f+xdpnwjpgflHGeKAhkf tr4g1RofiPc8/yS0izjglm24a/3vJirdq6VdkxeIDEjW2RI2liKWj8Re1qNAvy5ypOyr S8MiZ/2t1dg2Q6Nb9oLcrs4SuXy5yWzOYVkgzj7/e5bT7OL+6VX0PBxb/rHHQcpqAgQI E3+Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Yue1wz2s; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-4445991836bsor104702f8f.1.2026.04.26.08.47.37 for (Google Transport Security); Sun, 26 Apr 2026 08:47:37 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDietAosyLT6trRDegXl5Adqyew80cO2e66nOpzkP3jlQPnu/WnqeHE7DDjK8Og/J gE+1wme56bf3arUuJO55gb37T+A5PxzBHx/CSxnTiQ2mnlVPL3few2wQcXyitE8aJAWgO/HpixO f5VyF9XalaKDjENl9CKHdDbuJctc53ooDSq0SmNCT/8hyFD9bZJ1iUQbEgvzEoJ5G6dNgU3FwTM 28Na2Dq7wvcCD6s3XaQ48sQcr8aaj97fbatje4LxGZDc5gUaiWSYd1iSJmW3dlFP0ui8T13mDBV fdZ9VPsQ3ESFp8U9bm1pf50qdkw8ycWZN0mkvvcmD5Tuf5mZkQkmvzlCZ89sxBdfyyCE982gaZC apD5wjiphge1t901uR7UoV2NxrNWw1YtMpi72SS9MxAoffKPJVf6BgYb1h35+RCg65vyfiU7Iip RQA73nDhEeUjUWFLQdtQ3gZSZAQdsfHRyPzyfeWm7lgVCzivLxQwnh6vRP0/i9xKKejNpOjxaRv WYMmBSiSnE7Db1p8kwTE6ak4Hg6v6liE0Z9noejUaHpptLfhAlAg50RnW4X+bwvIrpDf7VwbpXG /0a8nQgH5a+Kao/cRi+O6KGOXKl2eg== X-Received: by 2002:a05:6000:4283:b0:43d:73ff:fd59 with SMTP id ffacd0b85a97d-43fe3db9bc9mr60196646f8f.10.1777218457451; Sun, 26 Apr 2026 08:47:37 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:37 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Ilias Apalodimas , Kory Maincent , Michal Simek , Padmarao Begari , Sughosh Ganu , Tom Rini Subject: [PATCH v7 6/8] fwu: add helper to get image GUID by type and bank index Date: Sun, 26 Apr 2026 17:46:59 +0200 Message-ID: <20260426154724.2042569-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Yue1wz2s; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Introduce fwu_mdata_get_image_guid() to retrieve a specific image GUID from the FWU metadata based on the bank index and image type GUID. This allows identifying the correct partition in multi-bank (A/B) scenarios, ensuring the correct image is targeted depending on the current bank. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass Acked-by: Ilias Apalodimas --- (no changes since v5) Changes in v5: - Add Acked-by of Ilias Apalodimas (added to v3) Changes in v4: - Add Reviewed-by of Simon Glass Changes in v3: - Add kerneldoc comment for fwu_mdata_get_image_guid() above its declaration in fwu.h. Changes in v2: - Add kerneldoc comment for fwu_mdata_get_image_guid(). - Pass efi_guid_t by pointer for consistency. include/fwu.h | 11 +++++++++++ lib/fwu_updates/fwu.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/include/fwu.h b/include/fwu.h index 9cee8fb085cb..68a51fb4296b 100644 --- a/include/fwu.h +++ b/include/fwu.h @@ -396,6 +396,17 @@ void fwu_populate_mdata_image_info(struct fwu_data *data); */ int fwu_get_mdata_size(uint32_t *mdata_size); +/** + * fwu_mdata_get_image_guid() - Get image GUID for a type and bank + * @image_guid: Pointer to be filled with the found image GUID + * @image_type_guid: Pointer to the image type GUID to search for + * @bank_index: Index of the bank + * + * Return: 0 if OK, -ve on error + */ +int fwu_mdata_get_image_guid(efi_guid_t *image_guid, + const efi_guid_t *image_type_guid, u32 bank_index); + /** * fwu_state_machine_updates() - Update FWU state of the platform * @state: FWU bank state diff --git a/lib/fwu_updates/fwu.c b/lib/fwu_updates/fwu.c index e82600a29a40..2b11e5da061d 100644 --- a/lib/fwu_updates/fwu.c +++ b/lib/fwu_updates/fwu.c @@ -243,6 +243,39 @@ int fwu_sync_mdata(struct fwu_mdata *mdata, int part) return 0; } +/** + * fwu_mdata_get_image_guid() - Get image GUID for a type and bank + * @image_guid: Pointer to be filled with the found image GUID + * @image_type_guid: Pointer to the image type GUID to search for + * @bank_index: Index of the bank + * + * Return: 0 if OK, -ve on error + */ +int fwu_mdata_get_image_guid(efi_guid_t *image_guid, + const efi_guid_t *image_type_guid, u32 bank_index) +{ + struct fwu_data *data = &g_fwu_data; + struct fwu_image_entry *image; + int i; + + if (bank_index >= data->num_banks) + return -EINVAL; + + for (i = 0; i < data->num_images; i++) { + image = &data->fwu_images[i]; + + if (!guidcmp(image_type_guid, &image->image_type_guid)) { + struct fwu_image_bank_info *bank; + + bank = &image->img_bank_info[bank_index]; + guidcpy(image_guid, &bank->image_guid); + return 0; + } + } + + return -ENOENT; +} + /** * fwu_mdata_copies_allocate() - Allocate memory for metadata * @mdata_size: Size of the metadata structure From patchwork Sun Apr 26 15:47:00 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4579 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 2B1783F206 for ; Sun, 26 Apr 2026 17:47:41 +0200 (CEST) Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-43d103e46c3sf6473673f8f.3 for ; Sun, 26 Apr 2026 08:47:41 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218461; cv=pass; d=google.com; s=arc-20240605; b=jlFX4Be5/IuQw7GiXaLaqb3avloYtZF9EfkZYnDqMnb+o3CpdRwvYrMugW39QORCrg xTVpBEVfrH1e/17pTb1LuY6mjg/vvJmc0g1srzzZ2FJnK2hExnc+Efpu7hsj0jvXkkTz RNkhojPscFD5tz8uTLAW/7Ks31f1yIP+37l0ddb64oo8Fq+L8BiWZRdNhMHWibS1E9kA Qco00EiI59NQtYNAqwEkmgO3yZY7Ui5mD+03/ao/P7xOHfRj+phTYF5Fu5C6OgbfXZO6 WH8/BWHRM0WzA4gP0Q3XBBcVGdos3pGZ64oy7eWfc7TqnXxAyLVhIy65Eci0Pp16uGGe 5XzA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=PpFgbNG3FhoaiVxDnzTtVfWRLuu8QY8h/BB3WYXf0zM=; fh=5lhlzEsnXYYXZ2WNbMZM/qAVSMZkZXE6sJyiGTzSs98=; b=L5DRZ77HxQdBXqS8Mn/Uwcn6DyruimQlRcACI2LN/HTZpKZ4yspbaSMlH9HhZ3W23B pRnZT6RNkjjNmklicXvCVxl7FLPS93bZiaZtPwtZq8cb3zKebwvifFySHOwi+LX2f+ZY pkBWgRiCuWw/cMPuP8LnHb1DcBLFpznigMK8Fkif+oFQctpPB+h+Wsa5FP+lHAWjHnyw n7C44/xAFhdCyTom5HLTzLEb9TapVIDEaOuGwy3eO4AL6LWA1VFUlacHNEjOmKyulAB/ 72w2P1ixHIr85bgDpj8sPWgtJT1Zx0oNL2XERBxs50HGUurC3VqijEek0LuB0gYIn+Ea Xx4A==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=oITbfvn7; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218461; x=1777823261; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=PpFgbNG3FhoaiVxDnzTtVfWRLuu8QY8h/BB3WYXf0zM=; b=oqVBN82sgmsdHqrGzz8M8wX0ZFtl1zJMzKGd6NL06j4TnXPF1H+YEeCIm8sSpP8HnS SevxV3AS8/JYHWalaBnj/S51c0GAj26Lc8E5v3RLfEL3Ury2YKrzZ8jPeIQg39jRCYpV Y1eYxbbdmr1fvUzrDo4aKjs96fdLh9yUn6Jus= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218461; x=1777823261; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=PpFgbNG3FhoaiVxDnzTtVfWRLuu8QY8h/BB3WYXf0zM=; b=fv9oE/QxHhJsecOQ8kwRBoEatAN5wHwAb9F7mJc8boEvdE5UkYPSFAZYCj+dsswl+V Rp8JUbPPBMvIXvpHQqI3Bkcy3KXdMgr8uVLTUL88RyFDFDiWgIWj631MAG9o5NA1Fb1y 8UIASIvcC/wraQBLOIrLURuApw+MNNCMEvNx+xW+BWz02VqYm/JQDiZaosHerBH+xkMf qpH2eXDtiSi8JzmL9lrw+oMFpigRsRE+cVYmnWvJO1Lf8hJG69+MpaxodQoB5EhA7X3X WmXEFkF17E4hPTv6e/2iQ6ClAtwYKBc9PeeS0P+TqJXi5QEk3243C9U/68vNY59cRfEM XVhg== X-Forwarded-Encrypted: i=2; AFNElJ9bBXTZW+H+17VtP7XlRz7JmrwrCZitbEXxqtT6j+dTZ2Ad0qsHKAURDHzihj21iUexc1SekF2woqfpc3Zq@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YzAfxRdtXe8c50a0dL03qu+fnSOc4krMXBfPge3pkjimvAx4vOl bm+TsWK9ZAcXuQB4AhxZJPkR8RN+svDcdK/q4RnY1IGS3A1OMH9OijASojvIhXaEEIzF7A== X-Received: by 2002:a05:6000:40ca:b0:43d:70de:1c62 with SMTP id ffacd0b85a97d-43fe3e120c6mr62521064f8f.45.1777218460776; Sun, 26 Apr 2026 08:47:40 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMPaUH4/sFTSl5ukGk1LeNy/oCfGXwBsFfflGTWQ+uqtSA==" Received: by 2002:a05:6000:4407:b0:43d:20f0:e84d with SMTP id ffacd0b85a97d-43eb1c768a1ls4758357f8f.2.-pod-prod-01-eu; Sun, 26 Apr 2026 08:47:39 -0700 (PDT) X-Received: by 2002:a05:6000:2005:b0:43d:77a8:3ba7 with SMTP id ffacd0b85a97d-43fe3e12484mr62553660f8f.44.1777218459162; Sun, 26 Apr 2026 08:47:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218459; cv=none; d=google.com; s=arc-20240605; b=CzS7IvjsCc67+ZwSIBDise0DVPM2BTk7ZY7lMR+7wTg/gGGEMwIZwBbUJfSj0jgKEC ckpzmNf49Gp3GhfQC64ZC7VVOGautb/ketv6/+KMN++ZvxU9cCmEP7UK7RherokuoNqU dGKcGaYoGDWgfAL+llxj+LqDoh9PML8xBjlNliMkdkc0r83nE6c9FhgJrIEXaZNUL6Ry Oll2QG2N3XoRjdBzVWTZwtnq83jSMtauTWCwv4Mys+qNyW3f4gMCR3S3pzTFuu0lte+m u8Kn7k6ITcWinXpy3wnUPibDrJZwAB0ZkGa8riUk3+T61+xzrCxlS1Ei+rB2o+H4tJG1 6KYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=KdenFksAhxmVcxyTgy6MvO1TEY6LsbInC1KB7MV5fFk=; fh=gAC3ZHJjWAXaCs3rUNhaBn+YplJx3GS8wwk1ETRXT6o=; b=hYt2Lwc7sGD0i9hS99uodGhV9Og58tdYZKWEFohJkVNCYI6SBDXzn4y4wddeQivwJc M3QRR1UBkix0HqCjnkKylvLcxeFMsxG0h4Bv/yA7UG/iu59LyP/9hBZ9cKyRDju5PJp9 KWtCEt0EAOlCPUBpUHr1Gm1ghh8eGsH8hW0j7XgT7GE1mHdqPRqi1MAp3+ue83H/ntYI IYlfmNkpZXyqBOI1b+4qJYWiGmkTrutn0RCRyJFNlMZtxvRX0q9OxzsTvmjt1UpCM7EV Xo/nbqo2l/KD+U07mjJAKCSEKsTIKH8Zcigkq7NHCiArvm91LXNyOX+NfbrLPfSgvjwx eu0A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=oITbfvn7; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-43fe4e4b63esor3472416f8f.17.2026.04.26.08.47.39 for (Google Transport Security); Sun, 26 Apr 2026 08:47:39 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDiesEi6YrXKmBqv5MWG5PuIPkTFXY1aRNEnubKCMYEAXmzH2ZY7eXe6UgYPOWKCh 4j4YqbQ3g0NQc3iTqBW2CLBoNn0Qxz0UbimEDGVgPjKrOKJNvjngQC9e8k0SuEe1l9dBig7CX6A VlHaYCYWQWpQE4DJTeFcJXnGwPrHzxvdd6yU+wLabIovDVGgWk6wS0q7RmTWUUoGhELlz1Ondcx kIatVO7sBAtATJSCyMo827IT3SQOfCwx/STwlF/2qr+bxMyk4a1rrxM/RX1nrBuTw+59as+IwBp gibVs/2oVkDHdYPFhrmgT+w0I81sDb8yZpXTfsMALo/E4Ymmcu4q5FyGbelCzxRUDPSTa8hcvra DKVUhWksii5dvF3N4GQOp8RIH0ykUMat3dRVyde6yLJqPZWZqeGdFL7uzLzM8IEXXz9iJi1IkCN xrVe4SNpo2/CvGck+oHaEd9/pHgK2hSOz5OZbXshs4dBJqP7lxwB7/+doZX6+s+XdhjAYcuKbPE ZSB7LN1oMDhWX4GGabEU/oIvmD5nr48pEPkHczArfpmICaJVexayIpD3vqp/+e0j9a2rwvimxqf eIuP5JmNRZtGhyl7tB/sgHNm9ZkNqw== X-Received: by 2002:a05:6000:1ac9:b0:43d:6787:9934 with SMTP id ffacd0b85a97d-43fe3db39b2mr58717997f8f.9.1777218458731; Sun, 26 Apr 2026 08:47:38 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:38 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Ilias Apalodimas , Michal Simek , Tom Rini Subject: [PATCH v7 7/8] test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid Date: Sun, 26 Apr 2026 17:47:00 +0200 Message-ID: <20260426154724.2042569-8-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=oITbfvn7; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add a new unit test for the fwu_mdata_get_image_guid() function. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- Changes in v7: - Add Reviewed-by of Simon Glass for patc 7/8 of "test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid" test/dm/fwu_mdata.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/test/dm/fwu_mdata.c b/test/dm/fwu_mdata.c index cfe543d8a236..8624ccf61f79 100644 --- a/test/dm/fwu_mdata.c +++ b/test/dm/fwu_mdata.c @@ -143,3 +143,51 @@ static int dm_test_fwu_mdata_write(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_fwu_mdata_write, UTF_SCAN_FDT); + +static int dm_test_fwu_mdata_get_image_guid(struct unit_test_state *uts) +{ + efi_guid_t image_type_guid = + EFI_GUID(0x09d7cf52, 0x0720, 0x4710, \ + 0x91, 0xd1, 0x08, 0x46, 0x9b, 0x7f, 0xe9, 0xc8); + efi_guid_t bank_0_image_guid = + EFI_GUID(0x10057a86, 0xdaf1, 0x4f93, \ + 0xba, 0x7f, 0xb1, 0x95, 0xf7, 0xfa, 0x41, 0x70); + efi_guid_t bank_1_image_guid = + EFI_GUID(0xdb62ed3e, 0x6237, 0x4fb4, \ + 0x80, 0xc4, 0x1b, 0x74, 0xd8, 0x46, 0xa8, 0xe7); + efi_guid_t wrong_image_type_guid = + EFI_GUID(0x12345678, 0x1302, 0x133f, \ + 0x18, 0x0a, 0x14, 0x05, 0x18, 0x05, 0x14, 0x0b); + struct udevice *dev; + efi_guid_t image_guid; + + ut_assertok(setup_blk_device(uts)); + ut_assertok(populate_mmc_disk_image(uts)); + ut_assertok(write_mmc_blk_device(uts)); + + /* + * Trigger lib/fwu_updates/fwu.c fwu_boottime_checks() + * to populate g_dev global pointer in that library. + */ + ut_assertok(event_notify_null(EVT_POST_PREBOOT)); + + ut_assertok(uclass_first_device_err(UCLASS_FWU_MDATA, &dev)); + + ut_assertok(fwu_init()); + + ut_assertok(fwu_mdata_get_image_guid(&image_guid, &image_type_guid, 0)); + ut_assertok(guidcmp(&image_guid, &bank_0_image_guid)); + + ut_assertok(fwu_mdata_get_image_guid(&image_guid, &image_type_guid, 1)); + ut_assertok(guidcmp(&image_guid, &bank_1_image_guid)); + + ut_asserteq(-EINVAL, fwu_mdata_get_image_guid(&image_guid, + &image_type_guid, 2)); + + ut_asserteq(-ENOENT, fwu_mdata_get_image_guid(&image_guid, + &wrong_image_type_guid, + 0)); + + return 0; +} +DM_TEST(dm_test_fwu_mdata_get_image_guid, UTF_SCAN_FDT); From patchwork Sun Apr 26 15:47:01 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4580 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id AB6CE3F206 for ; Sun, 26 Apr 2026 17:47:42 +0200 (CEST) Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-4411a215f17sf5816931f8f.1 for ; Sun, 26 Apr 2026 08:47:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218462; cv=pass; d=google.com; s=arc-20240605; b=ZgvqxYqugHkGFuvAiHtByYTisQfl6+DX4BEGkzTymd3leWYdN7lX6/UnZwpazPhDM1 +0dAw/wEgHcQakjtanz3vtFEj8DJHTsN5WCRKZZUr46arz1ZN2jDEWTUjEeZb9Pzb86x QL1ylhYbHhhxzWcj2pD8rmO4Dahwob1nanFqUIvsDa9L1CoiSazW/2QIgc3finOVAP3/ To57LCupNalj/h9t2dnz0cPZlmywWk+/HhBHQRSj4Xn4ZPqRwQOJmkTriItNGnXtSrGJ KDsxW/ew1ZMnOnmIk4Q0P6mVf62PAxgrQO/mmiOElPKdD87AxEvmmY9dF+3GiSn6DsAq qiuw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=2MO9Jzl1sa5G1L8Vm63XcN+iBf4yY948VK7FKqF9Xd8=; fh=0yJ34aLpqCd6NtFfB53EnQf3JRYjTNzg+KsyNLYryQg=; b=ZdjTu5qvHacuMsEqfaG9bVaQvhko1pE95mnB4+bOMScN7nBxyXlnqCmH7Zi1vNbNkH lqRMsEaTV28Plsm/RPHtAHHC9qs1k5w+tcPOFWdXWwbSTbde/iIS1WAQ+fWPXKq3dr6q XienldZkicOP/hLmQk5J+VEYO2FCRnRrim1v7POzwLq1tm3HJl8ZomvYj72Oz4NbqIlT keUBbPmrghQhPuEVI10GTPu/RON4ciwaBpXJ4PdLPWF9yDdZHgkv4pr0cmEnTAGtDszK KGthQ7a6mfAKwD2rSS2Job1pFWs6C+HVOnSHaCddCl02rRaFLHlqSwUotEEjUdN1znHL E2hQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=ouuJagKe; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; t=1777218462; x=1777823262; darn=patchwork.amarulasolutions.com; h=list-unsubscribe:list-archive:list-help:list-post:list-id :mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=2MO9Jzl1sa5G1L8Vm63XcN+iBf4yY948VK7FKqF9Xd8=; b=Jz2FHT7rgXGmZh4Ap5TomjOWxtBLP8yNlmJUmQFQC68/byKvGWVhdlvZIbNuvzqq5i UV+I4/8V9+qitoxMsSbwlFoJhT7OaU+alLOvHAqEsFhdfdKTOEK/8Zg1bBsW+nmSR14g 5/ozHFGaILkx/saVGLldMlN3Mn5Zdfat0KctU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218462; x=1777823262; h=list-unsubscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-beenthere:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2MO9Jzl1sa5G1L8Vm63XcN+iBf4yY948VK7FKqF9Xd8=; b=YmEgp5RbDozhTJzPI9qmyYyeQXt7uTF0OJIDi6n/Z96o8TWYYZQXLkyXGEvDee9DfY EjZ80aH8Wp3KIUIPzt/Z7H4Tx6Nsh4uj1Dbf07lp+o9u0BDi0MykTc31U3f8YWOePzeS 1Djfj9cAhYL5Q8Wyv05ciEG+FiDlFAFjgMONDpT/Qc2BAER+P3WlXsNqrwSYZsLBex1e Ijib3ckzDSf7VfyULaQhZPaMN4bZCAC1Aa69rpcaXSBs57h2qMmXH6jFAxDc2p5M6EFa aPFH86aNCtb6fpXRpHotSz8zi8vg/dgQPSFFIMzBufyu2Yudv0wAlF3or2/yZzrtCPOl iSww== X-Forwarded-Encrypted: i=2; AFNElJ89vcD9V7AQmFURs3vFWoU8fn8qpJwQ57reWiGFtPEu2T1DNgRGEf6y6WzRpEZU8kO1SvgGCAbCzMpWKufu@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwnpJLPvK1JjXliwJwcAAe4gsh/rGyqizGxYk4JQFGpJbgHic7F aZAhiqmkLhRbuFR9XN5iEZOQ3WSkDgJYY7M9U1Q4sEoeSqJtq4lS3uIsCVvEToui0iH9wA== X-Received: by 2002:a05:6000:420a:b0:43c:4810:dc4a with SMTP id ffacd0b85a97d-43fe3e14f81mr61547676f8f.38.1777218462171; Sun, 26 Apr 2026 08:47:42 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMMkJqJi0IE1qNvEBCcjGQuDz0ROpOvWDBr2Mrcvaq5sLQ==" Received: by 2002:a05:6000:602:b0:43d:6a90:5217 with SMTP id ffacd0b85a97d-43eb1c671e7ls8595725f8f.1.-pod-prod-05-eu; Sun, 26 Apr 2026 08:47:40 -0700 (PDT) X-Received: by 2002:a05:6000:184d:b0:43d:7633:2649 with SMTP id ffacd0b85a97d-43fe3e23dd9mr63480243f8f.45.1777218460559; Sun, 26 Apr 2026 08:47:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218460; cv=none; d=google.com; s=arc-20240605; b=QQnNNHBwd/oecsEWquuo01vRRvqjTrGkGxq4soOA+oeO1xzmpqIG5+Gt/W74uR/IgA QvlA2EtVCF9O5oJo1QVOfhnFL5g5Dd9bKF9AXcKSai6K2w7eQfN9hjGQ9DmSNZJtk4uN vKEjKio0BgTWBqHt5rp0l7FULL/RlE4L33LnVxQf40gJVAOuuRq+r+5DKda8yxj5vpPS DYm1Ngepr/B4XDx9N009vz+1WyoDeqFgxBrF5f/t4/gwJgCgxd9X8o1WexWIP5G6H4LQ YYyk5bwJI+FkrVPhi3H5AJ+REZik3/SOG3FabGjQTgTMMj9rZ/w/kjtWbUj05JbqsbAR /UAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=pyCTNQQ5HSE9YWFE9QctEWIoRgXv/rGHYVY5OZpmknE=; fh=A7b4Lcg6d42EDiThJT5tK+BuJbQ+NoCE2BQ6B+bO/SE=; b=hr9gHJ8qpOc6beB1sz6xRC+XbEnXYbJ0cX+N8ajDZfOihCUZfx+pU2Y4qBzCnu/su9 Gl4qajkFX5+8w8vkCxpRDiTTv/wZu7AX+ewnDuvzlxapza+CxW0+WgRuq7AW3fLtbmIr Z540NiQZIIiUr5J/taDNJMtMoKAaGK07QgsRP/2lFOx5h5OTnTmiSsm/Q6BruS8jeDCH Kc/A608CRjGSLR3naZoWiRZpX5CpH2bjTKOrjF9Evk+emSNuX3se+tTY+uWs/TbX4i2g UctS0wiETLbIcuj9giJ5zCYhqvpmuqaYoyXdzVfWgdYNzPxxThjWTQ7v1ejCXEdqNq79 2JVQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=ouuJagKe; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-43fe4cb8acfsor4232839f8f.6.2026.04.26.08.47.40 for (Google Transport Security); Sun, 26 Apr 2026 08:47:40 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDieuP6xddqgeL0pTDOmhL9V8A6PVCmNPpsr8ENwAb07K6Pz7Kd6dBHG2nlpx7NZa p6kC1ssLIhmGJFUEWvznt3NDOu5JBazA4ZXoqazy49kUlxTs/3aOJj92jmJ/x/bdp6ggKVeW37M gqwD664z/rxf5v9JOemN5y6Efye5Qt1Fktk877pZBa0rs/F/yZmtBYeHZjj7ctOwa3RnznaF+7W L3tIeE95OjwTHlyFK6rtix+dk8r6MZaO+ekV5F0fkJABX4+Nq1aRxZW64JwBJrillDhVp+fl4/T M0TsIDgicO+PlQFA0uK2Nzoq04Epwt4jml9PxQS4Lw0NqrRiueHuORR1LymUl4SMPjIUdxbvjBr L5Vwvoybxi1iwrvZ2m4KyquyLsB7//Gf2I1AfwJYP3R79H3nh/GfCeAIRRqqbe4xHL3RZt1YO3I NBzuT7lUOHqfOdcvy73LBNLcnS0XAtMw5lQI21toSumHUpUoinmK2tZW9IaUX/EvKPnh1thPTDX lgRh78EC2ARTfEtKbxcKrut/WIEgnD7ZoMgsoomuXxavbfBFZyrixdmqcJ+N4HbLYzZbWjv78XK QHusJa7rcLJGp0GRXTq8BIuWG2TwdzkWr4SR5ePV X-Received: by 2002:a05:6000:230c:b0:43d:303f:f358 with SMTP id ffacd0b85a97d-43fe3dc5981mr64165640f8f.2.1777218460103; Sun, 26 Apr 2026 08:47:40 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.amarulasolutions.com (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-44123d23e0bsm34489985f8f.15.2026.04.26.08.47.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:47:39 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Marek Vasut , Patrice Chotard , Patrick Delaunay , Quentin Schulz , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH v7 8/8] board: st: stm32mp25: support dynamic A/B bank bootup Date: Sun, 26 Apr 2026 17:47:01 +0200 Message-ID: <20260426154724.2042569-9-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> References: <20260426154724.2042569-1-dario.binacchi@amarulasolutions.com> MIME-Version: 1.0 X-Original-Sender: dario.binacchi@amarulasolutions.com X-Original-Authentication-Results: mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=ouuJagKe; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Enable automatic detection of the active A/B bank by retrieving partition GUIDs from FWU metadata. This ensures the system correctly identifies the bootable partitions even in multi-bank scenarios, falling back to a standard bootable flag scan if the UUIDs are missing. To enable A/B bank bootup on stm32mp25 boards, add the following Kconfig options to the stm32mp25_defconfig: CONFIG_FWU_MULTI_BANK_UPDATE=y CONFIG_FWU_MDATA=y CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_IMAGES_PER_BANK=3 CONFIG_CMD_FWU_METADATA=y CONFIG_FWU_MDATA_V2=y Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- (no changes since v5) Changes in v5: - Add Acked-by of Ilias Apalodimas to patch 6/8 "fwu: add helper to get image GUID by type and bank index" Changes in v4: - Add patch 7/8 test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid Changes in v3: - Wrap lines exceeding 80 columns in test/cmd/part.c file. - Combine run_command() and ut_asserteq() -> ut_asserteq(1, run_command( - Add kerneldoc comment for fwu_mdata_get_image_guid() above its declaration in fwu.h. - Add log_warning() messages to fwu_platform_hook() to catch inconsistent FWU metadata (boot GUID found but root GUID missing or viceversa), as suggested by Simon Glass. - Add Reviewed-by tag of Simon Glass. Changes in v2: - Add links to the XBOOTLDR specification in the commit message of patch 1/7 lib: uuid: add partition type GUID for extended bootloader. - Update help for 'part start', 'part size' to mention UUID. - Add kerneldoc comment for fwu_mdata_get_image_guid(). - Pass efi_guid_t by pointer in fwu_mdata_get_image_guid(). - Add patches: 5/7 test: cmd: part: add UUID lookup tests 3/7 test: cmd: add unit tests for part command 2/7 test: dm: part: add test for part_get_info_by_uuid - Pass efi_guid_t by pointer in fwu_mdata_get_image_guid() calls. board/st/stm32mp2/stm32mp2.c | 32 +++++++++++++++++++++++++++ include/configs/stm32mp25_st_common.h | 15 +++++++++++++ 2 files changed, 47 insertions(+) diff --git a/board/st/stm32mp2/stm32mp2.c b/board/st/stm32mp2/stm32mp2.c index 43bc583378e6..5cbbbc322a3a 100644 --- a/board/st/stm32mp2/stm32mp2.c +++ b/board/st/stm32mp2/stm32mp2.c @@ -208,4 +208,36 @@ void fwu_plat_get_bootidx(uint *boot_idx) *boot_idx = (readl(TAMP_FWU_BOOT_INFO_REG) >> TAMP_FWU_BOOT_IDX_OFFSET) & TAMP_FWU_BOOT_IDX_MASK; } + +int fwu_platform_hook(struct udevice *dev, struct fwu_data *data) +{ + uint boot_idx; + efi_guid_t boot_uuid, root_uuid; + const efi_guid_t boot_type_guid = PARTITION_XBOOTLDR; + const efi_guid_t root_type_guid = + PARTITION_LINUX_FILE_SYSTEM_DATA_GUID; + char uuidbuf[UUID_STR_LEN + 1]; + int retb, retr; + + fwu_plat_get_bootidx(&boot_idx); + + retb = fwu_mdata_get_image_guid(&boot_uuid, &boot_type_guid, boot_idx); + retr = fwu_mdata_get_image_guid(&root_uuid, &root_type_guid, boot_idx); + + if (!retb && !retr) { + uuid_bin_to_str(boot_uuid.b, uuidbuf, UUID_STR_FORMAT_GUID); + env_set("boot_partuuid", uuidbuf); + + uuid_bin_to_str(root_uuid.b, uuidbuf, UUID_STR_FORMAT_GUID); + env_set("root_partuuid", uuidbuf); + } else if (!retb && retr) { + log_warning("%s: found boot GUID but missing root GUID (%d)\n", + __func__, retr); + } else if (!retr && retb) { + log_warning("%s: found root GUID but missing boot GUID (%d)\n", + __func__, retb); + } + + return 0; +} #endif /* CONFIG_FWU_MULTI_BANK_UPDATE */ diff --git a/include/configs/stm32mp25_st_common.h b/include/configs/stm32mp25_st_common.h index cb679eb1be22..0b0267ae99b0 100644 --- a/include/configs/stm32mp25_st_common.h +++ b/include/configs/stm32mp25_st_common.h @@ -8,7 +8,22 @@ #ifndef __CONFIG_STM32MP25_ST_COMMON_H__ #define __CONFIG_STM32MP25_ST_COMMON_H__ +#ifdef CONFIG_FWU_MULTI_BANK_UPDATE +#define SCAN_DEV_FOR_BOOT_PARTS \ + "setenv devplist; " \ + "env exists boot_partuuid && " \ + "part number ${devtype} ${devnum} ${boot_partuuid} devplist; " \ + "env exists devplist || " \ + "part list ${devtype} ${devnum} -bootable devplist; " + +#define ST_STM32MP25_FWU_ENV \ + "altbootcmd=${bootcmd}\0" +#else +#define ST_STM32MP25_FWU_ENV +#endif + #define STM32MP_BOARD_EXTRA_ENV \ + ST_STM32MP25_FWU_ENV \ "usb_pgood_delay=2000\0" \ "console=ttySTM0\0"