From patchwork Sun Apr 26 15:40:33 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4564 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 47F5F3F36A for ; Sun, 26 Apr 2026 17:41:03 +0200 (CEST) Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-440d0c4401asf6741301f8f.0 for ; Sun, 26 Apr 2026 08:41:03 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218063; cv=pass; d=google.com; s=arc-20240605; b=JfkGxWuy5zjYzsaF4UXcUQWEhfDH2+YpUZi/8kQWBLQd/9VDAZZz4/enpKnmLLW4WV HcYCcj0bCwRG6Ok081YLEaGiNs3QGR7hrAWRbK0AidpYCD+rzqWHpNyEfvLuEQKIt46a maHjBC3dr0940TBMXJLzff5/0hbmG5RZUXTrhr4HFmZCAhJPTLaggLJmv16sFyFKrp/w JdIP4RLCCAIxFzrhkAXR+zDVDoffMC/TW4k/hjdoT/NU7PmxIHXgfFI7Lcj0pBVaQAOY QAf9WinNxvy6i7L+9Wxzk680Fe5W78CEBaje430cyy+6MkrZlz0ZYy13al17sCW+NXab X4Kg== 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=wsZesIWEc0cuppa23fiSTOUDbiVaj5PHEp/6isZL3R0=; b=jrRncuWkNMkDquaiOrieU7x5YM+JXSd1TQXl9HKAlAtjbSNgKtPhvtTtxACYFRgQJI byOawrH4l7xS4tvy1Xg4f57RKYsK++eWZWbNz6TxYN88JJpYbpmWDffgIfTF/8N4IlJ8 DQoRb0g4SzfliY8wk8XwQBWUhFat1peIVAdFSSXnR50zw70eQJx1CTNC6J5WydDLTWIz Y14HCCJJj/k3ffua7KCYAnRnuBIFCeEY/mIEeo0lxV//cWnZ9kZxfQtnJFnjMQ0Xm7VF McjssdISlm4hF1ZdAxN5FV7Xzf0D1qy4qSXLK8wZhgoVbhCU2W9+qDLcfTldP7iTLIx6 hTzA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=G8mCBKlX; 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=1777218063; x=1777822863; 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=IoMMNT1TV6Q2DBkDgUffttgTFL5zC0zWjp3OnxU2rQybqjRdU/wzFRPY2Jw4f2eDJd lL+DR3Ky4+IUFGWcaT+1Jvi3DD8o8xfIpKPV+dhyA5q0N6MKXbinjGo8eoImL4jixXGa ejPLrx0VU5gq4PnmNZsTK+teyfweAf4kQNqD4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218063; x=1777822863; 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=K73XkrQUdlpb8MbjtAukoVoerSFezIB388MmMVZ0jEQ7e1yC9BzC0Wn6DEHpAmuvdx 0NngkhTM272jfLvnG8G68MFXVAHrNttPOUwJNJvsjVmhUyzz+AGMwISvUEsVtjEdtEJ2 0lRW4F5NU0vIuAMtNgTOMGR/zKKU9U/5Jd14ee5P4bFsZbX+gw5xT+lXONpy5kZXmfwu 8yGGrXcy3D2MSAKqiQU5nVqpvXdhZTVSJsppNwHUNi8FHpcNbrINn/yFMAGZSb1nJ7p4 CeKPTXD8fdE5lC27RwLQ6doGDZ8Ruer2ckROCZjIkEy9mhDMjXQYBGKhGyx0bcPiDHO3 fVRA== X-Forwarded-Encrypted: i=2; AFNElJ/hFa9x497xXc7ebQ9LN6TfCJmudezupXgM6IebVaHoDtN2S2HQzXdtgRQ1VZHMIKd65w7gH+9qEwMPPJzX@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxInUSONWHeX8CcYOZw6mddL4120jAesmZgyjhwCPrkIDxnSLi9 6zFThGc7Oq4hILJbHZYeAaTKNkznnQDbIvCZfP2OENFzoIU/bB1Ql+XLHhPdoV/0ZUIeHg== X-Received: by 2002:a05:600c:a086:b0:48a:568f:ae82 with SMTP id 5b1f17b1804b1-48a568fb009mr334236845e9.10.1777218062858; Sun, 26 Apr 2026 08:41:02 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiLTfV33J9EYBKKOOqVm8lw6MPZRMgWg4Xpuefzlpv5EDQ==" Received: by 2002:a05:600c:3393:b0:488:9664:8b9e with SMTP id 5b1f17b1804b1-488f4d76891ls64868175e9.1.-pod-prod-02-eu; Sun, 26 Apr 2026 08:41:01 -0700 (PDT) X-Received: by 2002:a05:600c:190f:b0:48a:6315:da26 with SMTP id 5b1f17b1804b1-48a6315da72mr164192425e9.26.1777218061125; Sun, 26 Apr 2026 08:41:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218061; cv=none; d=google.com; s=arc-20240605; b=EI0uzSgyQn6o8GvtX0gwxH26in4d7Fqx1byIgFSdD3i2QEcbz6VEaH/RyE0mMNRrsf QK7VSQoftTHhS0lL1mS8fs9LfymbykqcvyjO8eqSDiArOaIJS8NgTV6Rkw30Ip4Clbkt tGsdE+KGulIJQ7qZ7uRbochWmgy5WGPhnjLcAMX2qFv9gyqeLVvRgEdk2U2aWtCmwe1B hUKJBg2HG5PFQ2l9Z8sMu/c92iXzZTlHCsWnPtOYIWKEyRN0ZavKpNOzj2gh7ijqf2MX Km4G/+qPmV7Yppag2PXaxpHuhaZgnf9cmwx3PXnfJAeJj+fKbgChgtWOfdDip8HsBls6 jSXQ== 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=Nlw3kVHWsGKlu7Z7z2w9LLK5WbAL62sPG7T0OH1WTgau1fD7n1EG3MZGphcBZ+NXxI vIROQmJfUBVWnkm19n1eB0qbdOCBD9xEpVUbltiEk1RsQzP/wvKiLZ4PP61LoFDC7Hgy oc8g82o5YtWa0CvkoVJZLfc8h3aXoU+h+n6gJWHyvoBavmv1sSs5SDMqDQzM7a5fYWsq l76UEYeCC0BK40AkWajYh6MhyLOWqKPbnKrNGuUzhwZUh+BkvyIShmS+Z0IbqPvFBxqb 8JrvY+LYcH0mxB/nki1PLw5640H1RNnfetXBAQ1Ij+KkhgJsynebrRcrTpkNUrzDaWjO Lt1A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=G8mCBKlX; 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-488fc142c48sor42067175e9.17.2026.04.26.08.41.01 for (Google Transport Security); Sun, 26 Apr 2026 08:41:01 -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: AeBDieulQ+WToRN9CuTMW4ydypFj9mKufaJsPB8KoVCaeMciipEhmhn4bPYpjcoyivf 5HgMfqKDouEBMav5M5oYhcK+iHgiya1McLELfPFFzAXjbHwytei5xH0njMOSV8BirCiED3euaVt WTvrrPFwiJ5jlEoMz0zShTHGjFrHHInbg9G8GdRC5ceQBvwApngH0e1WYeU1T9ouXM3OAiF5/dw 2bDHNevRYyGpAcMUulR39VkOZis81l84lQmMJq5XZ+t9vevJHE13U/Jv2F7OdVUcWSrQ4CIgw0n bU9eC6e93GDndKXBGXWxbMkK/+J9KJX4lvRE/a69kyDPd/7AELiAc7PvjmjEjQ6ZbSi4854o8gl f1DZjjXLX5J61CSAPj9gApxHDnbJ44uGdCnVPj0RbGHXQ0uw4afBQUI38YZF0lZY1DJ7+7Qj9my WUJssxgI7Qc/W/tB32KIcksODUYJpyVo1kgjFZYiaSxM+1WERBAUJVSVch+QVvmrBXHHGDreMhS wafbRyEePoTXMFijTKFL0BKAfVKqN+RdaP+85tUNyZG9CAhi9MKXpSmZQHvcQMZBAa1Dr8NnaXP cPcJfpt0JfUROsx7T70riorLBa666Q== X-Received: by 2002:a05:600c:8b28:b0:48a:5c23:cab with SMTP id 5b1f17b1804b1-48a5c230e78mr277841135e9.19.1777218060633; Sun, 26 Apr 2026 08:41:00 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.40.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:00 -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 v6 1/8] lib: uuid: add partition type GUID for extended bootloader Date: Sun, 26 Apr 2026 17:40:33 +0200 Message-ID: <20260426154054.2040932-2-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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=G8mCBKlX; 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:40:34 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4565 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 7BB703F36A for ; Sun, 26 Apr 2026 17:41:04 +0200 (CEST) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-48a5523fd53sf30505635e9.3 for ; Sun, 26 Apr 2026 08:41:04 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218064; cv=pass; d=google.com; s=arc-20240605; b=B1pEuDZQOawRe82GynYDWUMq6nFPPFSYsGjXONV/hahwedUgPvCFErO/FAIXLcOxtD F4nfWnoRhxebOlBk/Dj0BOdhLY0Tpr/mkHR27rP2qkarFU0d+uJqSQnvYjYA2NajqOuR kik9VaFAabU3wVdxtSwNH/1bjbjjfj0C27O1MD9uuW5sJhpbOmlHDTqWzU+HJPYDZRx/ SGecKoTBxKdfMcK/zjTWcKTKt5TKPIOO+ckU5BdiZTWGiQz6f5E8FRNvnP86shf7upeR /Pfr4PO7E5OOHatG6Q+r8EUXPDTYwXEo8rfAuH/zm5DvTu1Z+bffpOAhsfH8fMxMu1h0 ECGw== 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=bNz/Sp8uLPzHyPEPqG6n6r7/LDxpF179YLrbGocuil0=; b=ERnubt7jwAsGbg/7PScuuTcyrVJ6UoMUinf/RY5Zjb3SLuoYFX+0voHKeHDTAARxEE KNXMr9c7zRILg/iyDvn0vC862yGPZMYq6KZeBPycYE2cmzVGBNJxaUjDlbnj++hHodkk T485506L1yEpgSpiWPa7Orklxoe0YdtwgcBzvhSjha6VbsGwSLvSK/yDOmjNE4O8gxKC DEO3xz1rgfJIweY5lNYrO+ti1DneSUhWhCz91eK2wo3fRChpGK8NTOpXH1+p01BXE1HZ PdvzdhA5nDL711Fm0yLuEG/7JJkgPEyhjGDb1eFaFlNCHyxdQU3WaJqnBrRT1WN5GgaO YdxQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=H2jq8qgV; 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=1777218064; x=1777822864; 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=mdyCE2sr4ijoxukXvILg4oArtO9Ifh1HZA2TmEhjPWePU89+oSPfmm4fjvIVns+Fi5 lNJzlNaO0tI2ijYkRh8/gX72eI3w35+NVWBzk+x4TkRSauVsTe2As9t18MQLxInJ+IfW D3EAXFMHMtuxfAjbC3WEKUTDTLYmoEaMBjg/I= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218064; x=1777822864; 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=orBR58Q/fh2q46xK1aVtVBDk3HgXKVaHfzA5pF2fuAmgjrcSKcH/lYoTAvrujBcnTt EqFfI51bZJ4h8ZGASTy+1jfZoirc7TT195T2IDswheQ7qZKOiozt+wiWB5Bmbegd7iAn pxiyx/7VjZU7vQf4ixj4cPVUR4w5oly9J/19ZSaTws1Cj4H0dstADr7jwb/lOZT6hx20 I5k5c6nonVN8qNh/Viw3VS9d6f1x7zB4deA+ANR427BjA4t1dElEWi7W+AmhegOsjGqU FKem3342dzS22IynfIpXRfVAGUWioLqdTfcEY3vtcdJur/kH0NUB7+JhODitk99ZQGHQ ssbA== X-Forwarded-Encrypted: i=2; AFNElJ8tip9AkErFsMIXFCEM9AvQzhrWOAG62CrhNoIJgYmo3R8W1eH+pTfqDrUd6/jouhisj/VMmwkbMCwD6JJl@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yx7oiuA1rAazX+1tpSR8NVDRDqZ0ijsytNQK9H8MI9Iz2hgzxMR dO88aFGUoH7bSEFqKnYzS1uCuUMneNoXRRrRh8uWnxwrfR5SLsf7t3Cp719lxN20B1rP0Skkxrk tQw== X-Received: by 2002:a05:600c:1da1:b0:488:79a3:f04c with SMTP id 5b1f17b1804b1-488fb7863femr586879585e9.27.1777218064111; Sun, 26 Apr 2026 08:41:04 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMPrCJD1AuU5uqbzb0eHt1h9/bT90HHKETg3at0lwi9jlQ==" Received: by 2002:a05:6000:602:b0:43e:ad46:1485 with SMTP id ffacd0b85a97d-43eb1c569ecls7429389f8f.1.-pod-prod-06-eu; Sun, 26 Apr 2026 08:41:02 -0700 (PDT) X-Received: by 2002:a5d:5f89:0:b0:441:1cf9:4f06 with SMTP id ffacd0b85a97d-4411cf94f2cmr41754609f8f.31.1777218062384; Sun, 26 Apr 2026 08:41:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218062; cv=none; d=google.com; s=arc-20240605; b=ANra89Fd9eyq3pTLrZakppR9lpxh2VDUyZOW6uRPugEayzsfRo/O0dNs40vle5ii0/ diKIU3SeLZy+KHcqARogA4foLJ82NeHdtqM/Y2wdsthEPT8jvZYJGEv2a4T3loT/ev7I e6zsPwxVW4ymTFc3x8KcQnrfLhsowLT7fvQsVRWgqOfDw702ymceVDzKuJDy43w3FNpv +vQ1sJU29Jn4x3oJSFmlv8zBKngiG4aVXngLcvjM74sGYoKUCS8+BCfTAGmVpfZz55g0 XGFAdA0+f4w9ijck7xVdT2H7o5N92ts2L/x6HuBT2xq+WYC5S+aqmeQZSQlIUPJWkgdH HWKA== 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=EXouB2C2D/3sEvVv6bzp/KsQCTF3hUAnBAYlHvpHYeEymuuH6QETPtNRmqQafovUFs xVGGRxflYkNo+lSrVG6gQw0cHVfvE/A/9cF4mWhTY7POya8kH25q/di7KubFU0l/V6KW iXNi9ECU1dA/fgWmE98qEkhcvy6cPPz55SFaA2YBe8nFqrn6uTyU5MMf0x5pxn/yXfhO yyJ2kObMoLsFuTF/qzVNOnZG5LnPYKhUn7qscjLdpuGxxMYKwhB2iCsW4qiu4kPscwrF AWc7uoi1nKhIcEhC1valANwglKbyf8Iho7njoJ8DOhj1+hQMUknHn4Scx+LAmBgzTjse HRbw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=H2jq8qgV; 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-43fe4e1be60sor3422726f8f.17.2026.04.26.08.41.02 for (Google Transport Security); Sun, 26 Apr 2026 08:41:02 -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: AeBDietmdswPlFUs19KcP1DWHPwD/5SW0PZrKJRSB4rAHTc4qlcxMCMo5bFQBKSu6We UCHqXFBM/340BVbN/i2SO5yNhxrJws1gOuNgR/HpAMCP28uGcWU870JgRw57hAWGrZUM3MWip3F wxJi+0eEEqZKxuGWLxALeSUc52CtONdx/kMtK39y78Wyt+ad2g+RxF26pFTLRJ4WwuvR0/YNr+j VmVMUZjDpN+V3WuroG+lQeG2ILdogzCTlrKEdGYm2T55U7Rx/50/v9ywIwIunNBod1TX6YwrrmI gsQ1FsxZz4uespQ3X5KTRApLZQhxQHzGBmG6CvTsGQWVDtU2jNm+HnODF9U+u6a6zm1oL8WWk8F gk6La3MlJzrmrxY9iwqxjMqu3wNydUv9OLcuf6ciSNoiPK4brbNtDi1WpCRR5OEt7ILKpbzgQJA NDkBqgWqVJA31qo7vuGxU6N2w+GRpj4J2DrHK7HgKt5e8MiL8/yz24EE2WmY18W1lA9WHkFCmqc jSVSNqHKVYupIs4JrZqp/ZM1h8pANi6iHCuJdZTW4EIWAkXiKraMZlR3yHIXZc01CaUkS5b3WUB wVONgpPv6eWIbuFBglQBdm9erQLSCQ== X-Received: by 2002:a05:600c:6289:b0:488:f941:aab2 with SMTP id 5b1f17b1804b1-488fb78a561mr549098865e9.30.1777218061944; Sun, 26 Apr 2026 08:41:01 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.41.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:01 -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 v6 2/8] test: dm: part: add test for part_get_info_by_uuid Date: Sun, 26 Apr 2026 17:40:34 +0200 Message-ID: <20260426154054.2040932-3-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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=H2jq8qgV; 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:40:35 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4566 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 CDE793F36A for ; Sun, 26 Apr 2026 17:41:05 +0200 (CEST) Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-43ea7a5da57sf7784844f8f.1 for ; Sun, 26 Apr 2026 08:41:05 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218065; cv=pass; d=google.com; s=arc-20240605; b=i0M9EqkJrZYAPArG10aCYghdyBmPcOcZLoGBGnj/LYPP9KFjSTuPjZeo476ElImX7P OgSmE9Df533gk0dpb8PQOhToPZHhIaY0AFcAW7iWcUtnNsPxR9d/Jw1JBnHk5cyMBlyl Mr8+Grf7lowx/T1Yh+oqwI6wjzAnf2MSeS1IFesA34fJokxN8n3Ej3/HDQeNqI9KFWta M7mFNfdIDnZx+0sLZNKEbydmYuQMrYs7Jxy+mxKwnHK4oNLEAPifmsAHhJutCIGJYapd FmHWFA+bnt5+kq5E/Q80C0+f6aC4J17MMysUSgZHJk36S0RlJkK8J2a+ck5emw3RYYKZ +I0w== 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=b+ODk8c8Jcn/bZ3VI6HOVSMVesmCva/Jysz+rwc0SoY=; fh=/O0xAHWzO0s4Q4qkXHv3fA/5ObaJX9Bi2iVFtXcsIl8=; b=YvcfGkC37zudBbDYbfNSXRLUGnozUmkWIL5XVEHSPo84lWsMgcweqmBkNTRd8A9Jx1 g4AXgAZ//lPpV+L+n1D1QAk7wupaoXXDv9M9PuPtvX5sLXUCtBOZvWflRcUIACbtzUnp PBp6Z6Bu+AExfirQ9CM+siR7UNy39QpJvm4GU7nlWcmg4FUwuVSz5UMZOZTWefB3Go8l NKJFzGKw259mgE+vO4eCdJiLmU2TrcjlUdtVDNjH2piZ2xNtqvytKrXVSxKqM0KklJCf cZ3AFE77iBFF1v4+L7f+6/TSxzHVUzETJpXMnYdaPlom/9YCxjgKJ6M24W0hgf4xF4mQ piOQ==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=cm1kJhS8; 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=1777218065; x=1777822865; 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=b+ODk8c8Jcn/bZ3VI6HOVSMVesmCva/Jysz+rwc0SoY=; b=V9R03Hedq+zy8eQ8SZn2snAiZXLm/ow5u4JiCVucij8LVLVceh7dPIgqa7z308E0ql XAJEJDbM4Hr2F89eZHX3gjkV3OT2czIu+OZJlw0LS4uKId7cPDL9b9yi3GUlwwittM+I 07aPDSHhNJKERrz781WLJXNzpdeo92OtrNne0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218065; x=1777822865; 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=b+ODk8c8Jcn/bZ3VI6HOVSMVesmCva/Jysz+rwc0SoY=; b=Y0fBZEpLokddletxWgONDioyMiQe1uazXBch8AJnNtADVbcTE+yz0DFuIyehT9W1vo 4KVuwljY2HtL33yeaZe2lgbNDcBno12vgCWCWJM81uf4e1XGF/XvQs9fvbCpF7oOmMNW fi11FRecbVLjA0bA99Zzce82wR/fnfJF/86mYOM5rVdpOD7TsA42PDRt7DlAzp52cS/q zmuEQP+0qOI661BIwrsE1Ujbn5su3szpPUUjHZPIuvwR6OX1/MH9N+GiAQ+L8AzWNAzJ XxYU50hm6T+7tGHU4UvCMVMiPG9OI0qaxtd3oBM+/iE/rpYF8BX2fblP9H+OjV2DoKo2 UE6g== X-Forwarded-Encrypted: i=2; AFNElJ/tjVaEi8bGJJdYywNcDoMm/LXRT8xh/OvWCj1YRvQ8WhaTHuz/+1O147+eLLP3pYYhGE2jCfe+PdlyiHvm@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YzrhaMbQCbO+3o+IRK9rgz3Imb03M0xoC5QLa9PjHlcIHQ83xWK PFMf5hYv5mVYkSpXtHhtTMFLVeUKmp36c9JX7BfX7vbmShurRlLlNY8xZNGGjgw/JtPlM/9SDGl 6gA== X-Received: by 2002:a05:600c:4fd1:b0:488:78f2:6b0 with SMTP id 5b1f17b1804b1-488fb78ede0mr561946245e9.29.1777218065417; Sun, 26 Apr 2026 08:41:05 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiIBy8pi5rtPZugkmjfUPsDegolseEMIFEEkqrEoL1Q9Xg==" Received: by 2002:a05:600c:1549:b0:488:9946:181c with SMTP id 5b1f17b1804b1-48a5a517368ls37379565e9.2.-pod-prod-09-eu; Sun, 26 Apr 2026 08:41:04 -0700 (PDT) X-Received: by 2002:a05:600c:a30b:b0:487:4eb:d125 with SMTP id 5b1f17b1804b1-488fb74dff1mr399303955e9.9.1777218063787; Sun, 26 Apr 2026 08:41:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218063; cv=none; d=google.com; s=arc-20240605; b=X8eRjpb8lCCsziIUzbzOSBdHtDEpQmIiyA+qAVYDdAv7V5sNHgK+/qiHKQjbpqYt15 ks/mLkVwriEchtGzF9ISBRJvVzvBHRDoGG51gXPMKh9TO/Cv4eu/KJI/AoRaJO51l7XI p5uetWDMcPOTTTkxWQoIyKSFYAygJw8cBsxtYn4AVJPEv7FDG1XOwXI1ZZa6hQDKbxkC amKijLrFt4wsDkLTj6lqmATkXB3Ag+w9S2HzEZrbzh59Zz1vK26p667vFoufx2VlWApn 1LlB9eYDBo0idxbRMHbpg4+PuXKlFTaWWlrN8/LGh9aNFAKAfq/GAzyS17FaPHjh4Dgl LnDw== 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=IVsjyrw/fL525sUdL9iFA9duSvhB3yIwLOw0Mn9NBrE=; fh=lYbmBBhXSL3Ep8kOpkVpo+naQp+9GmHm2/nXD6G93jQ=; b=lV2TiTbzjfYfBUp6elG6iNgl834T/QLJ/lDaZNxXwzlt983xfFyv48WBDs7eU3i+8K itKIBtVwXCTWLQycBQ9Rgx+dRONJsi2LASma+QLCzTmNV717mWVCQM4hrCm3g3pPULWt BqZRyi2x2QsvT9eTTz9jGE55C1pJiMxEExGD+YtGp6TBIUw6ZTm2T9yD5f5UHcUGmPOY X3cxBiMK7ZUMa6e6NKh/SAnt/BOGjKXmk7fLNjgUEnXwMGpI096oH6DThx0EhgAquSzn /Q00AGQRgNr5cH4qHMHtxNpVK4pHIfzF0PUZdq+KmlofagKsGH6dvxTPJdMNYyu9mUNu GrcA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=cm1kJhS8; 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-488fc160a93sor39866065e9.13.2026.04.26.08.41.03 for (Google Transport Security); Sun, 26 Apr 2026 08:41:03 -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: AeBDiesDW8YoUHRYqZj5KOx+Ced4Mxs7Jm9EzX8YxnaAkai9Rr8zCX7h+b6qqGzQ//w pf+JbpXp5ehd1yUFCMj8dCNFf3vHkg21z71APWmeC70vwg1g+HS21XtnQxhpXmVs32eDitwxIcg qUWtkeLNcG+ZY5fZG90RYJGSNxemOpDu1xFyAfZYesqkvYOQWqigyxnwdV5s6MpMhL4uBNNXqjz HTexvErfPS1e5IPa2rRuYCyQ0ZWagLqq7k0B3D5yw6Iiz61GifXZXgncDCdqKIXf76RmC6e+QLI xMczzbnqrlZF581FdsOY2e8pdYFitn3ZwakZfb0kKQ8ja5sokqcafZ0qhUHhcELwKAfq7ddfIpE RwjdzttvSbL8WTdlPHTY6CXYuv/TdDsSOByYR5Q3QDmVQEI3KRyFmzakZydJROOASaU7L1RMK7s z5pUMS4PavAhfN0rB33eEYeYR4kglClMZwUunFZrqwsxmeIr3dcac5XgHhCGxJ53f1YVXlDqHZt ztQvsvojX3k1O9YNHSQzhug37KinKGZrYBL7TOjr/zBznS2PgM4rLRGocvGwMA3pXtYzfLC7lb/ WWpleZAgLoOoVWBPTLipP4Akj/g7ew== X-Received: by 2002:a05:600c:444a:b0:487:1520:d107 with SMTP id 5b1f17b1804b1-488fb793580mr532118375e9.31.1777218063324; Sun, 26 Apr 2026 08:41:03 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.41.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:02 -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 v6 3/8] test: cmd: add unit tests for part command Date: Sun, 26 Apr 2026 17:40:35 +0200 Message-ID: <20260426154054.2040932-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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=cm1kJhS8; 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 --- 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:40:36 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4567 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 79C693F36A for ; Sun, 26 Apr 2026 17:41:07 +0200 (CEST) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-48a5952c635sf49595635e9.2 for ; Sun, 26 Apr 2026 08:41:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218067; cv=pass; d=google.com; s=arc-20240605; b=ZgrnWT7VVNDQ3NKdmwfy05y/uiFSPR9/aDRHRCvOdW4OPHXtQwGYLdkbHBADoty8d+ 2v3lu4wuorJt7t5kw4qJqbUzcDrpBJ6H2yHKxyC5YaO1fICyIwf2WKJCfBToIB3cB7wX Z+qBvcNMYK/QtYQK97l3iLwRerGkIkf/FpA1TnmYVivZqnmMLaOWEWtN1X1a+Tg2UuXp AX7Xc8HhnJkduRACV3+CsBhDDoDvt6FwmyOZxMQtoe/R25mxO9ECrbGLwXah2NL6HBku Jwm7Njl4vS+LJ5gxze64P5xhNd0PNYv1pPKJv/4WxuxYfUpnOBbgcHSY66vrAX6sLbTv ED7w== 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=PmVYhjG/rBrqSoDDyicoYHb60bJ7yuGunijJD/EMxEQ=; b=bmuAPODJm6F8Vp1nFVxRm68sByf1kCllTxn02LRDnkYzRNhC89yd3txWtFed65sRpX d/bciEdxqMjAx2qccdw700kHaXl3JbXSO0alqAkx5x5GTSsOtV/luLEBDq0pwWs5gqjO 0UHhtisw4f7Q4AoyeJQicC4TzvhTd0ROKj0xutJWpKShZhssxo9/0B45tVy86So9P9rQ lCa24l/cX0cznBsB0SEcMuy1wMmy71nDAeqMNGfG5Bdp4jhEMAyoL3PUhxuaxHjxXp/X W/BqBbbHun4ceAFNUBI3EnC8R8RI4hlaCcQz/OteDjB5czOm+CEN+crdTsCt2s9Tr5VG gU9A==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=kh2mEEqg; 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=1777218067; x=1777822867; 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=CErrIke4zpmYx2yQFJiB3il4AsFCkgcFt3F8BfkDTBVkx70fYwTB5xj6N3VQVqAUSa 2Z7Wt5ZB7EJpAvX2CS62+665aOXg2POjiurqrLaVA/WO52ox3HQmKFwS3pWvWRS96oWv El/lasY6TldimVzpD8VPNi9G7fDaJkmPYH8uw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218067; x=1777822867; 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=nQty2oh3nhA3288CyAW0xrlwD+BuWCiyy7K8DRDhJ3k3OSESi701psHKGop48IADAG vDizmakB4Rx3ltnAs8gRzVhN9nTXI6aGzdGf6I14o7Hq0x5M0L1fRyXFFPssgvATSDM1 mFHuE4LaV2LT1RalwaxwWEC3tRK1EFolAzdog0AiLrbvcUolIYi3Pg3v8QqWKrq2U/mI yVOcLMDWclgQdWYMf0Vq1J6yTdg/EDpw7Zs4SNhtZS8Qq7cY1WQobmpDCMxM56J2X8uR 78EdoW4e3+Wqps28JvXIvajriFwTQqvylOSl8q6c7I6F/gh1NOoH+zTBzCT1u2d2e++2 5dkw== X-Forwarded-Encrypted: i=2; AFNElJ+y834qBxSbDluq8AH7g5Gc3bYQG8gQohS5dpDLa9nQKPqdQ5naVNy6WqU2GMwjaI3q+zqR+mQoPh10XClX@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yy4AHZeIlv1gimqV/D0Ss6Xz9lgN6VkXKu15S1EaCRBcBirxnZg gJ58TNlsnHsnvlUsxcLTfdOn+6HqYQTwEpP38fxhFztuoSomIz5DPNhWsvBtb2xuv2zL/JXr+6G HWg== X-Received: by 2002:a05:600c:4714:b0:48a:5574:3a5d with SMTP id 5b1f17b1804b1-48a55743e96mr351626285e9.7.1777218067022; Sun, 26 Apr 2026 08:41:07 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiIS8jlmZHxsE7AGquZEIcLSNd4bWH6YbB1ovMmgdYUsUA==" Received: by 2002:a05:600c:4686:b0:48a:44bc:d6f4 with SMTP id 5b1f17b1804b1-48a44bcd907ls53448435e9.0.-pod-prod-08-eu; Sun, 26 Apr 2026 08:41:05 -0700 (PDT) X-Received: by 2002:a05:600c:41d6:b0:487:2439:b7c8 with SMTP id 5b1f17b1804b1-488fb745294mr345313625e9.1.1777218065303; Sun, 26 Apr 2026 08:41:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218065; cv=none; d=google.com; s=arc-20240605; b=L7QwjnvDthUoNIaNKqsY2R83LTPG2rfsbOTCB/QIG+n8PcJEILg03pSqZTgzB78U6u PM8NBLJ1EKjdvMxu8cfBgWXLLy3PN14W6ijjPFvbl/Z+itcW40J3JTsuxZMhSJiZFHRt L40s72JaDK9IrHrZD1U8j1Tuk455Ao4ghDZBlQj6zinawGpQtGJhJs6/N96QTeS2mlM+ u7PBTzXDRvSsqcujaE9cchn4WXuU3fch/bqpiv9R+2Hy+a/YRCH4Q1/NQLtjw3Aybtb5 mxKYQBnOUVIsSyxVAbw57sRDSTkYHyHn7DwaE61gWFZvP6w1Zb2ilvlHOm2iXQcgNLvl M6Fg== 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=/Q9I6E+fkF6NOPQEns556/DWN091er+VFMWUljXVtro=; b=SM6pdLa4TAPhCEfU+sLjXgmHhyubbkxmM+4ogKc+6ewvbikTSIjr45UlfFJY1e8U35 XMG86OxwQZn987eQRHajKTVkv2R1v7apyg6bd9iMHNs6Rg0QdaKNUjTFb32jFt68ZZf8 SkMpC8mbSO6wKG6yqxJ52GssW5/GpuyO6wcyBRdyiCEkuRtRA90T1/fJj99ik+J3azSi fSaOTUWLbWKZhXcrXzqG/KjcpYlT9xB6xaRO216I7UIJZfeFw4X0qR5yQNfRg0hVRTZ6 zUZSlTkAOkq9x0hVMXiwHGUqQEJYF7YkxEYIBYf1CP6mknSFMntl4XDB5oPv7d4mRCCS lT9w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=kh2mEEqg; 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-488fc14cb77sor37864655e9.10.2026.04.26.08.41.05 for (Google Transport Security); Sun, 26 Apr 2026 08:41:05 -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: AeBDiev1qtPjt9SCLEYIWknnrSi9Rq4qwRX970sqSI+c+NbHAG0jsnpcCC2ABapEr3/ T3ZBcvdYJPAP+2ZR/+TqKxZeKoDAXeige6kcZ7BiAOTyWbf3v1axmkxVmx6oAsHdlvqPUFW74wm EQajZpaWUsZT20ryWILN8BjdsyjQsdV2sLkBLzunihC9rETLo20sEo07H/lsaR+5ABgfz5BYnao vIz8hbgtGuAcdQ6ChQ8hTLFqSFjb6O0hjiPe+C4hcC9aHslLkUHG7cVL8Ksavz90HmpGlNxMgnT n9iqpNhi/GjaP322CWttJQLd8NJF3JQljLEr0E8jC8wsOjJRsc3yFdbAFz9cF0QsDp1iVJNighL 8fYgrhcZ+swsMT4oaPDqQ8DcETiT2MGlMVfx8+4Yu6j6p6VOULHbl+riM50rPz2bx2AXeCPAU6i jNT33tpqwmU2C5vnZp6pQ7pc3otzNQwsiAHAn84Nz2F20c550Z+B1xaZ3ps2vRqPLqUjyoF5zjo RA6Oo/0MYbCEyvjmzlE0KBnETScckAA3CBwir3uQwMguhAdluzEh02VubEkfdmTaWZtCXToJ1w3 VQt14x6hkkoqsW6RUHxPLgv9/5isGw== X-Received: by 2002:a05:600c:45d3:b0:48a:5821:5ffc with SMTP id 5b1f17b1804b1-48a58216a4bmr327190065e9.2.1777218064846; Sun, 26 Apr 2026 08:41:04 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.41.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:04 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , John Toomey , Jonathan GUILLOT , Padmarao Begari , Quentin Schulz , Rasmus Villemoes , Tom Rini Subject: [PATCH v6 4/8] cmd: part: support lookup by UUID Date: Sun, 26 Apr 2026 17:40:36 +0200 Message-ID: <20260426154054.2040932-5-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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=kh2mEEqg; 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:40:37 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4568 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 86F363F36A for ; Sun, 26 Apr 2026 17:41:08 +0200 (CEST) Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-48906aa28cbsf55832445e9.0 for ; Sun, 26 Apr 2026 08:41:08 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218068; cv=pass; d=google.com; s=arc-20240605; b=WNWEwLGGe5771MBATn+JqgqLpeAhaPcLQ4MHAPyjMJ8sP+naelw3Pf4K9ungNX3mWA mK/SjYumZ1ftVfL2CNDP6W2sVhtdZbnww1sbT5rfhciFNSMuWUgFva7Ao5BEnyeClfz8 0YtGsZQZ7Dnc1NSLX0/sVfBYN6wPdyQ3EFMVimm/XT42XYJGteB4JSRUmNtdwU0vPV4x EU8iT8859Ua8fcan+1OXo+oRS6GC51tVg+k/mAmP00Ull2CTyTy+il+5M3dFoarfLb9w EiZTgo0bTOBmO/Z0gS695uApKm5+z5gwexerwaYJeWNXBbWW9hy4tqxLmY8kGbUEeO6h ZI6Q== 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=YjCAt+qN6Gqd+CVd7xqUvgGWDcZL6tMUoEQZdp0ib5k=; b=EJyyuybJI+LIHqSRIoOBHY3aXB+qY+p4xa5Ml0W3DjSAgjRz5giX3I6FwfpAymMvfy AYVL8Cj+pZc7u2SASLSnECp+X6yQCzflafF+ilu4tKL6MAB6iqaZQuhuiLssrQLvE0+N bOJVjIjo4dSs7SFaqZ2SJUNX5q7vXJPlgsaiM9beb7IKvBvs/fkWCuGlpIQMhEboGUj9 1ltz51E2OZ5EW1nYVvmfWCc9myPBQCWR7tfsFYKC26QOnWKnbBeNrSJ+aaIDihJ2MvUo q18yChQf05QP9uv3Ofa0q6TKsKs++UDBEqIKSFo6HBFfa9ZHa1o4wvcLTQdWjcDN5rTm 1JzA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Rtt1c66+; 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=1777218068; x=1777822868; 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=Kqni6mbldN5VcINLYF02rpyn0XdpQqr8MCJIRJWMbaLNhKamgNpz1DY4O7WhRPL/eM tdXSSUvhHwftA1klVfjkX+l0tk0QsQ/t1JH7sJCEe1UddZe8nS0pSu5inz7FdpfAkM3p 9t+ZcQt9XpVU7UXR2wPab+xN22FySDn4MJrQQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218068; x=1777822868; 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=j2bTmh1/SyhFWjJEX7gTt5slg3yokzMMy5931ypiIZZU4bOV45sDFZRaLkiQ3Efzbs hri6zuxzkSvj66whVt9RpZQ4AGQFgYCmRVIWBLiYdwrB27vYpf9RrbaxXpd1dSZIANiF t2dj/oTP8k0oKqcHC2YIPsHDmLJ/9sQmND1bNHfrH/wxxQ6AwCdTJYvLHzWBthn7aUCd zyS9ooawhysmDpg0f9HTYu9F1BszSb8eG605eMhZjwyX1OmUbgYEEV+gxtx8adWuRByE xx3Qe3vEYiuQqS+paiM1Km7aAoGDxetpqZEFTUMgE7Xy6jOmir/9cNocr4IFqI4oIaYm 3REw== X-Forwarded-Encrypted: i=2; AFNElJ9QxLxgyToyO3zLo7E5/aI45AIdd4bATHj8ynO+WeZnXVkOCW3Kn+JUqyZqW/5kMrYaCX3hvEK0NJrNFPGU@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YyEXSPAKwRhS1+PkPP6mh45exNi/hTNOEWJYENpkwKfuchdJLZD fUtNg1O0SGMj8QU3lhc5T2XLY1f8z1aHft8R5pdNphuzzDiM7ntdl8YL9TQagRhmk3d/dA== X-Received: by 2002:a05:600c:8b6b:b0:485:3c2e:60d5 with SMTP id 5b1f17b1804b1-488fb8859ddmr525947535e9.2.1777218068127; Sun, 26 Apr 2026 08:41:08 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiKqI7kDr4RTuaz09YKhqBCuapggO/TNZj7YavdKC7gk8g==" Received: by 2002:a05:600c:8889:10b0:488:d074:3a3 with SMTP id 5b1f17b1804b1-488f08befadls27489755e9.1.-pod-prod-00-eu-canary; Sun, 26 Apr 2026 08:41:06 -0700 (PDT) X-Received: by 2002:a05:600c:8b6b:b0:485:3c2e:60d5 with SMTP id 5b1f17b1804b1-488fb8859ddmr525946105e9.2.1777218066461; Sun, 26 Apr 2026 08:41:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218066; cv=none; d=google.com; s=arc-20240605; b=GgfZqPryuAXorUqWC8KMvLSkjoPO6FJ8BzEF5+qXYVVO2v81kltwNkKID4OhRP1Az6 /Jq4fkD45Rmfszj1yE2sw60UncuqQ2kdOX5jc5r3ARZdno5jF/E8S/cOxnLM6rmfiqow m7C8B34DLDJTHeyVUtFPrpA2U2U9c74k6eTnFqUo4K77j7cjFOisyOd1VspJb5Si49h6 OcRIjEmdCZ4CjWWSD+kYsL16JVmr8BZI9pP6dyuqpOtnSfWKwDAu85mJYxg9YC3UaCyI XDOOvkvrQICzraf3KYj/PpeB2Cl0+CMjwtyWTLLM+s2I/otMqIvsYPy/nzUmgA6fahHi Ykmg== 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=FN04MXF+VpxJ8q2UZigTiDx4YIemV5azfx3TRRIEH7/Yj79ltp0OfkqBKZwTz+uN8H DmcbsNGgaL0Pk8ZyyH40z+2/yMZ8IZ2wBzmfz6IQ8P9a7M9H2CYNrXnrTFV7lNS0fhQr Vp8Ngo63Jeaifdu/G4EWb8XEyb1pcm/HUoZyVmtAlgB2/zcrYHJaDUQzoEthjsItZisw LvspAixPxWDdqO/z8kG+rYRu3e9RnTuTzQ9VpChnzKKzFkgBPifTqe4b8EPnDgsczcIL wxSJenbJDcV97n5qKaGxxjmN5QKz+vw/H9dMwCQ1K7VC1rTC5vqlzdBGJSGfLR8WJ4oB LXQw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Rtt1c66+; 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-488fc1ef512sor46419735e9.10.2026.04.26.08.41.06 for (Google Transport Security); Sun, 26 Apr 2026 08:41:06 -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: AeBDietobqpc7+2oLkG2L96HInmOVoMLKIKV+DpEARhYamcgFdm6Emo2MZz4xzV8rYO /ZX4TB31L3CZ3f1peWzWD6R4bx8TS18NURBJWSBoKRs5FZTzCWRYd4lqkrjrOm+/IPF7BT34xa5 MBCruMgI4h6DKVPm8N1KMRwwHPPucWvBIkhf01fMJH6Q17Z8V2Q1jKcQ8cMJXxEMERyI0nyyyhX 4ZbxkzibhT7FPk9ukDDsKlf0S0zxfFRwzIemh6bCnrKuabAfhVoZItuRfjiObTD2qY669cHTuQi o/EtlWjEssEx20W4RECqoCbkWSu2cyH52zh7M+/t92gbGpkpztf9xLKVyeYUtifFjbSXZJ18bOw SbUiDh7JlVYLX8orILoTWgb3yiEZq9mUZ/thFmmdZcBqBQYTr4d4G5lRzAciIyeCdSYKJE0taLp ZaQgGyzY5Gn2bvek2RhWLhmuYcRV7wBFIvqWgykGtpFvc1OextwpUDC4DkcHWpdueVT5SrZ6C10 /NGSVomLYrpDhMoPnLpXO2buqaNKNEhN2GiNcilCeTC+Lb4xPQWpzXUk1ScSnP6QGG/55UaGdaA MGWX5jaOl+MP+KvYDop1fV3HZu20Ew== X-Received: by 2002:a05:600c:3150:b0:485:3cef:d6ea with SMTP id 5b1f17b1804b1-488fb8b9debmr105416965e9.13.1777218066047; Sun, 26 Apr 2026 08:41:06 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.41.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:05 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Tom Rini Subject: [PATCH v6 5/8] test: cmd: part: add UUID lookup tests Date: Sun, 26 Apr 2026 17:40:37 +0200 Message-ID: <20260426154054.2040932-6-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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=Rtt1c66+; 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:40:38 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4569 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 36FF93F36A for ; Sun, 26 Apr 2026 17:41:10 +0200 (CEST) Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-43d1fec59c9sf5965484f8f.0 for ; Sun, 26 Apr 2026 08:41:10 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218070; cv=pass; d=google.com; s=arc-20240605; b=LCz8m7d6+cftuk5pnpZYgaJTLz+qwu+5hHjV4ZNfOZ6VgVcl0F2Rssja4fpuD4U+Pe p8JPr2NEBNxHfkkBL3CPfdOr4sMTM3zFCcHK9Quxwd3r+RK9kMvIQLrEGg/v1S31CIAh QI/v4EVp0stQKpGzdtYCJhF8eMaz4SDKVBPreR2yfUoBx/mSAO5miNFdFr+6ceqpivTq PrSPICd+6kMUXo3B6ds0oZAdJTT8HKRLH7mmKxDsIfCqLFg2DdEmK6YmNa3pnpMvzvVI GURkL21K6dX7Z8Dee40nA64Xz5Sc9d4ReFog2BrmTZS2uwaQD7vKac5QXZbulJ4oD3xz +Ssw== 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=vRD/LL3Oz6mmKxiNRbO+S2s4dknkk9O4TDMFsQZRPDA=; b=bHVfgvKIQ36xPBo1n5epXIRCgAWIaBxD2kPDBl5e359TlQRUVS5xnAuKadFhKepkGd 8675gFHJ0w18cM40jnoKFSUE7x5La/kDi1tp/kesIunVch6CQnLpa/+/+AvXAZhVML/a 8WGrrrrdmUqyXfe7Shyi8Lu8pHEdekjykv1+PJylMA50Kup/dzpJSeZeDTFBuQ8WJI1Z Wcgc6X8459gd0+nA2SMFvgL/yxQ5UXBjCh/488eOYtRL05LNzDrOgMMorPGft7Hu1wbJ MS5w1oHdxVX7f7q/KGnqVHvkRHgN+UIA5bk+IDSQNFhx4aB76sRFosOBBU1PzhFMYuyA rcXg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="i8k6/Ca/"; 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=1777218070; x=1777822870; 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=WGtoWkUB2SaF5DArKM51wOC3KfcrbOX/9fo8qpyCPuObkqRZ2Jr0RUWey/LZb4XPlr 8NwmY0igVBDBow9vFrL0QSltL8NFVZT3CJt/azEuPiYYc3zdQqtmhRgIYjKqoD9CBYr9 jkEjBbwpRl4Ab41keNzX3GFUeIrU20nBXjs9g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218070; x=1777822870; 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=igMJHxJe0eSKtYx4DTj6B9xhPF64HMgZUx/MIT9MpZV0SvxmEh5OqHMc0JwRBz0yRe MlK1/nREb7c1mNEB/XcYrTgDdC2fQVY6T7rDgeMPMjcO++ykTrYSobqoIZ2pOGb92VWo btg5M8V0FUBP3hM9ZLyrUIk5XGDsZh/D8K/O7lx/sbokuhvLnhy0usP3lyygG/C7J8KK Pxstb6XxN007H1pWUn4urgWL7Gt75z9Lg0RrFm8pqLMPXoIazoQ+1d5pnrQ2D/yIn9qO Qj5pvRmYLBAaZZ27mHvmVd0l8cE1fMbOFVQEM9dH/WHObrHaGSfGCz2N1WJwApnFSrr0 KTPQ== X-Forwarded-Encrypted: i=2; AFNElJ9nHdLeW+e5pmIIAHHUjl21uO5FLVMSSQljvChzyABobnW4LKxOxxyzrBSLBueFASv0/TjIiSApgdBtGHi0@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YzjLP89PccdH8eQl+D6dZgByqVYha+YVHeIj7KgR37qXqaDHndH vh30nj95WICO/fzdbVm4Fr6WxxfIrQ4FgQPmsyHQg4NUz5DJAqQvBSeuAmTU4I0SCIUKZw== X-Received: by 2002:a05:6000:1ac5:b0:43d:73d4:b1a with SMTP id ffacd0b85a97d-43fe407c0d8mr61256562f8f.19.1777218069807; Sun, 26 Apr 2026 08:41:09 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMMHUnHSMU0koz2106gf2oChZ8r4Poy3KcDBY3Uw5v5CgA==" Received: by 2002:a05:6000:49:b0:43c:fbd0:8eb6 with SMTP id ffacd0b85a97d-43ea9c4bba2ls2880236f8f.0.-pod-prod-00-eu-canary; Sun, 26 Apr 2026 08:41:08 -0700 (PDT) X-Received: by 2002:a05:600c:1d05:b0:489:1baf:8c03 with SMTP id 5b1f17b1804b1-4891baf8d2cmr401874265e9.11.1777218068093; Sun, 26 Apr 2026 08:41:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218068; cv=none; d=google.com; s=arc-20240605; b=KTofnSvqaZ3zlVa1pKQBgv0cdnlS7enEQ4/7qPXsRW3BNo99chzA+1f1RdV64inyQl jINo1YU39DJjiCIP1MICypnUH60Op9JKpHV4kfIwUDXSdFnMjKjozfWgeKjBsTWJwfz5 CQdzzfHcfAgIfraQb8lHDO1Fz564ca63j8MndnrZfF3PUmGNI91RRFGuiqAfCrMVtvXC M7NhyUjb4JN1/mEgSvn9svhlH+APo9nmcj86Jf1wFWfde4Nq1LJSZabJHcZeJai7/pt5 vzniFMS3GdSPD5f5hjo9ipBdHhC7bUEJrjZq+BYDQx+rOQa1y2ArHzOo5K0dwD9mVhxV KEwg== 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=aaHmwiYbgdFbJke7oNYQC7vk4l114e4JmWrdMMr93ox6QCJ3+A7UkbSkwIaDxI4lXB yrc5zmu5GSfl8nq1hUp2tTG2P2DDjZsyiuPFdFhKp5qY+lT02QWH5YnsUUB8aL3tMSyw QMWxghxF7g9ENG9F98hXKMgWQiSbnAdUp1RmVyPKfPkZaI2DwmVPMLqhxYVuODA2sP7m udlF2IcyksLorY8Rrkd7MiVr92DRKl9l3htxilQcGh1WVILUcTNH1PcFchbGJY7b+WB3 44Ne4Z99G/ZPb6ROMsVvnmA6/YKcFBoG+/lSO+i2LcklJw7PT7K3uwyemy6fWsdWhzPB 7xFw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="i8k6/Ca/"; 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-48a53eb4a4dsor28589625e9.0.2026.04.26.08.41.08 for (Google Transport Security); Sun, 26 Apr 2026 08:41:08 -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: AeBDieuR9x2hfysm68HDVFSkoRP99uf10SV4d2ov9DLQYDXSRChDkFLRNZQHaVpIiHo f4lblbXhPHF46W4iNaBplM4rk3Z8GvAVwT2Kzb10peRRxsbilgS2SlWsxdgipLZ18NOx8u04lzi cKefBIaVmMiDISRW/45R6f8Z6dRydd/yOsk550y8Vlzlpno7nx9g4H6KtFSMwzub2idBjVGUJgq 0c0ZJjlE3hM/K+A87DrEbHrzhJld/0nEP8b8sTY/BnNN49JtKDEzHNQ6idMRZinaUjZszyMTmn6 GyCTKMvYVnJxeW2VBsVKh9VeGX1e4bd+Fu2Kt0V7gJFgWsaGErlf6s/eNBo3Y3XIXZPoCEdn+73 7rptEBp4qxqWVHaxJY35W4VWY9zQ1GIi7RXomMjL9txHlbzIUVxjL7lSxIz2bt/HbCe/dx09JRd 0fqJw0sDZzInODrbqP4aZsDBmAa4Wv4vQ3896yso2jQ7VCv3to4EBHbfbuONnNsCnUYFgfdcSgD 2VqWvdRZYONbER+1uusV+V76vpEACavGHTaDdreeOiVUKP3r4i1phlDbJKYnZfnLcEKJu1srbAR MrbbfRlX2QqseSgz8/BkwVWX4uxDgw== X-Received: by 2002:a05:600c:1d05:b0:489:1baf:8c03 with SMTP id 5b1f17b1804b1-4891baf8d2cmr401873875e9.11.1777218067634; Sun, 26 Apr 2026 08:41:07 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.41.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:07 -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 v6 6/8] fwu: add helper to get image GUID by type and bank index Date: Sun, 26 Apr 2026 17:40:38 +0200 Message-ID: <20260426154054.2040932-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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="i8k6/Ca/"; 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:40:39 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4570 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 9700A3F36A for ; Sun, 26 Apr 2026 17:41:11 +0200 (CEST) Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-48888f9167dsf3629355e9.1 for ; Sun, 26 Apr 2026 08:41:11 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218071; cv=pass; d=google.com; s=arc-20240605; b=HQnsLvXhFnzuZxV+xEBW2fpV0rrao/elpeU4ZQFa752Zx16CIdqImCg1HGh6ZBHxsy t1p2/TAXwo+vBy+ogpL4oJkTZMpw5WZgjUHxCCVQzdA2+J8yHviBJrFTxtLcEw62ZDsZ ERa0UCDZG5tXzEPBrwmsufhUAy0eGu53V9iybKgDQixXHsVuvNJa8Ob1DU+HE3A544xO RaQr8MoQMs+/SRrYdkDKdQaA6T7uHGghsSMqBlG7eXZMmKWiPifOiaqrXSzt7LRX3JmN zl5XaXVv0tifLd2VMg4X90FSCPvLPpnFcVCUnJICHDTTewOsHJPPj1p+eL3cbB5GxcsL bXKQ== 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=MwBbWdG83HEcvkIdtb2q3NwKGpUkfJnw09jK6SykUM4=; fh=EbdFJvNTEx7MBMf9upzxYtO7IETf+syJ+C0FmRiPrrY=; b=G3Dzgz4TkGHfgYyuL+zy8s84uh80zccDzck3yzAP7DX/rifJmuCfU+E0sZrCFxHw7L bfFvhynewOQk/JcUnSs+GM97BBG06NLLVcVL4uzvq9iBxOLN140onAHqCdHHgWFNwkoM RYptGcuGMdz9gGPeTzX0kPRBegrbgd/EU7fXL/4OBzyFV4FUsygtnY+cMDI98iI6UZOk RbDM8l71uajGRK9V/9CYE9Ox7VWJCJ/IF4lyRkR6HnyzWTNFChmdWjghT/e1HKjMZ+w6 txiR38qxBwCPw/EKENh2nh8nZSEaAdGJv3pXLDzxQDCGitdB+JQx3+7M3ilbcubAgw30 khdw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=P91xEdGc; 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=1777218071; x=1777822871; 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=MwBbWdG83HEcvkIdtb2q3NwKGpUkfJnw09jK6SykUM4=; b=DYOnf6cLGpzYPc6Sc/bbmew4g1uSFMTw81gE3l1Q+FjDGkZs+lhmsAXMrpR+lXnkIr L4WhzWpkSTnPxslmpIt4XLAgOVsw9xw5yD0KHxghKufWbZuCg7PMJUDB7VpP2lwmtu8I ki8rK/l8B9xQBnLJOO+VIJfQPKCLzJskPJOCQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218071; x=1777822871; 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=MwBbWdG83HEcvkIdtb2q3NwKGpUkfJnw09jK6SykUM4=; b=ZBH3Zcwt6wtnpJc54Ef0DZ3WGaZpqAyGevpb3Gc+7tpuq2tZRoPuFD1uwd9U/dGgOK +d2kZrr8ppkzdOtJpjTHmUod3rio7ENubLBT3oJDo7cx+ygOBpQe6vkuxQYbjun067y1 EM9JlEueWzCv/F6ZboyWM+I44F/xCJwVEekok+Psql6PL03F7kuLp8JGKDLCHVP1JLo6 JdnniU2MCQbxl27Jhp2MhBzcJ/e9/XyF9l4zJ9UeWfstEwGdLLLO3swyFWZ6AingPY6s X186n1N0Gehcj0AuYd+qJLrji9wdLbYHwyVKKT/UCHDsTh4/cwmZLdVqW46aDeDhAOUl JkcQ== X-Forwarded-Encrypted: i=2; AFNElJ+IXmemhCaZMQm1+IJqyTJQmgKMEDr6a9ATzfOOCDoTB2Gbj+k1HOua7c7ESstxQqc+CTHHqPMIH1/pA904@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxuMsxSAAPnSBTc4uFqK2MXMctq/xxZo0wJND7mPDVAMe22bcAZ BPvF7RJ+rZiBSTxEcFyzV3GqkSDJbSe/Z+1Ti4IUm6LCw+LU8UHj2rRNV78iCQUHvaPwpQ== X-Received: by 2002:a05:600c:c177:b0:487:1fbb:5a28 with SMTP id 5b1f17b1804b1-488fb72ed7dmr286091795e9.1.1777218071179; Sun, 26 Apr 2026 08:41:11 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiIPdShjWZ50773RI04fEWjk7ndzWiuGRXnpzpl0WBWnDQ==" Received: by 2002:a05:600c:a418:b0:489:1ce4:41e0 with SMTP id 5b1f17b1804b1-4891ce452ccls40520005e9.2.-pod-prod-01-eu; Sun, 26 Apr 2026 08:41:09 -0700 (PDT) X-Received: by 2002:a05:600c:3b11:b0:48a:525b:e148 with SMTP id 5b1f17b1804b1-48a525be2f8mr357335065e9.4.1777218069348; Sun, 26 Apr 2026 08:41:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218069; cv=none; d=google.com; s=arc-20240605; b=LMieIny9kVw6Wzzv7jWwerWOGjFpx8CUyXT9WSSO0hm6Sog3PFXCBgO1IpBGUUZH39 2/s7kxSRhkXB6VrPqSfwQyn+tMmYwn54dUA520AHsOMKOzYKWj+ws6wrarB1o3g2GSWr qCzxIZb3/cmLzeWbCuLuJ9enGIl9Aq0jDjApdAA7pA7Duojamy/YLmpVv4cjJSFllokJ elPUj+MC7xjxn0nonqvBgRmuHh6RxLLrX+W1ci0tZk5U4hCg/KnLPdNDPkMRL5cEIqTL 8aHD0fNA08lTtNfqEVdkVdUX5gDO6ziBnD9URXHbJD+wvpAtyyea/hGRTYVVGc+0Nu9n +hPw== 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=6deyBlFxw09CVeWWPj4uHvVX4vEcxqd8u/pC4T+uRdE=; fh=gPdoiPkT0cPhhKDXQ/ZXs6uJnZyDzwMviAatHJnYsXQ=; b=fTG7mxG4sdUu6V7ZLvohC1sbENtUF73MWI3HugZ8VfRk3W7XxL28X+g557IJFykwb9 9edICLgJNe9v4ntYICHtdlngVWG4DI0Du9VyRFxvHJiK4qGulz7l/F18x/rHy+IrZuBU SCVe/MGgIryJuUVzBez2s1TIsMEQmgo0efgvZuePPpvpW8Lie9DlGTO4qh58ZAMhvo85 q47scLCqAbR8wPrALR+rnB04r7wiJzevrEbG69RC/AH5Hv50Msf8Dqfar2g36rN4RerW Cu3R0S/524TfOq79PY34gn00agqIGOh2uD1pYg/LtFpzmtc7XWQUEZ+aS/LoskrQWTr4 62uw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=P91xEdGc; 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-488fc15418bsor37562595e9.13.2026.04.26.08.41.09 for (Google Transport Security); Sun, 26 Apr 2026 08:41:09 -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: AeBDieu2Gz0mcxc7J4iYsYAKfYtIj3S4in4KiQceefmi7v7Er/aVbbVd6Q87H6Tz0za +1+LNmJ8yfB3N3YYp1AV9NqWkiAZamt3nxYgMKbzpGmMCIRzXc8SPhUslfTfcqKz/F34snleokP mnr3RhiliRW9jukQCcwZXhg7SAPTU7D2YH0JqBnOfDi7N5luT9WmoyOlqGlawg9i3aWMtMSeQWh AUAAXzsEA0ZgYg0L4MWomzwoecYHHsmE3B0nEixJAUNTmrtY3UggDFVLqRaTfLT4FzgUJNA1MHm 3GqLUDsyinRAUjp7AhSjhP6G/Mecyyhhk8xdQTFEOvfFk4cUfMqbsimBnVCPWwQ4ZZwqkUDrRNh 4gKCMj131H+UL7OEp/VCe+NjkKf7wFh/woGPCPT5Qfvf5vVsUK+5n7ZgmsZJeLUhPzUszpqAgoe lz+eC59C3GweOrWD/Lx50rJl/DdTTMLFjXdi4XmTL0tXM7cZyUn5sptmNTUuMiSgc9mSNILpjKv eVz56H+tD4eVyfbIfeXM+r61pVZ1kE1q6DcmYqLohqdmXHD8HP4LtrEZE4D183Zz77dj2GVcga/ rc0ayifgB7DXpXxli+xl8EUTzVvtzg== X-Received: by 2002:a05:600d:b:b0:48a:56de:d63c with SMTP id 5b1f17b1804b1-48a56dedadfmr243922765e9.27.1777218068923; Sun, 26 Apr 2026 08:41:08 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.41.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:08 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Ilias Apalodimas , Michal Simek , Simon Glass , Tom Rini Subject: [PATCH v6 7/8] test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid Date: Sun, 26 Apr 2026 17:40:39 +0200 Message-ID: <20260426154054.2040932-8-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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=P91xEdGc; 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 --- (no changes since v1) 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:40:40 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4571 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 017B73F36A for ; Sun, 26 Apr 2026 17:41:13 +0200 (CEST) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-48a55ecc32csf49750985e9.1 for ; Sun, 26 Apr 2026 08:41:12 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777218072; cv=pass; d=google.com; s=arc-20240605; b=ipb5x6U+F0HOwvjnA515z+Qv0kOlBJI1WI1pCyYF3dCqTtdr30tegzqPPB1r/GYSxY SA7EycA/uh6w9yLJ/76O1dgU+XShKn8h+gL/majQCUAYJYMcMzutphnX5IxknM/evOUe IcY5sriPsYA6V14l1pM0ROM9QTN7dT+KXmqS7ptpD2erwbF+v5B664KzzT4Pqe4dD03s PNVSqyEAVNwHMQZafQNA9PClayOChynw/IxQhvgzCAzdsk3nfcLwGv4DOYe1lMyLtFyj 3KA98PeCNP9odJVQH9nlLI65l0uf2QqICw4JRdSDOUB/j5dxvB00lfhHkoSM2AfehOrS r2IA== 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=QJ4yJJy0r7ZoJGA0gavQjTVI6JxDCd+l6GYNoE1u24c=; b=NaptV8nbAH9Uv5bsDF9icPkVXLStuAdZo4lTM6z+riJ48ic8xQVaPFF5vC+T2RfHr3 rdLiWOC5PB2tu6HTwe79QP+kA2cVTR49hrecDu5sZF3hgaeEFSzuCEeo93i80qnsO/Xj 5XS9coh/uCBK8ERqWRm/IKQ225F5GCySBjsGbT31uUpoRqCDEfec98dOQ9p0fVz9saVp rf7nD8AaQJHvgmAa3hDo5v6xrwUYUf94BpDMaiHUDOZAqmdyoUuYhKt9wVvhgWoF+C7N l25fUlQ9NRviJgHOL77DLuy/qlNMCayfjYBnnwJgQTKLTV21uMYNGskClq+XJfuFPhK8 VNkg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=lGV6Iuao; 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=1777218072; x=1777822872; 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=rbgy405hm1LYneuAjomTVRtZKRost3ysdaNqWk7EKZttqlXCIyA4KvRNTz4/9SqNQj RCrnOWAynL+Z7H9Rf0MVehWqEIYtmiPW2BPbJoZ+rlsZSj4ChoKj4d3P1slkriK8Q1p6 JRRr4i7Uf9mUKSgG2/jWi/BPqKty1EOd2rhjM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777218072; x=1777822872; 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=Q3XXKc/379fdoJ4/mCTglrPGq9NmiWox36xLzADgUMhTyjGFUxmRe6r3+NOUrCppLb zeRMk2gDzPxJ2GrNrDu9eaaEpiKvOJRUlyR8+lcjM3hlMhS5Q75rqpwbzM0JGIFi5hKT 4uJ4dshsegLemeF50e3t4H8J7R9tVUm+NKCHMNctCgw8+q6j6v8NelD75E/vQ8xLlhsY Ojfrf1Ugbj3fUzzQwwo4TAd/MlK18QX8C3POu9v3Iqe4aWYIAxqiAUkbxh49cWZlpouU 4l2WNvSgN/3BKLOZoX0b000X6c1DYE9Z2gOD93w3Gtjz2eC4cmyq8lDxIeygODY04D4u WobA== X-Forwarded-Encrypted: i=2; AFNElJ8D06e1yO2zS46d/3fA92ogPkf3F9m145DWXGRxNmFr8SRJTHBma7Gekn47hxSPJfVyKJzABgsAbvTXAC+f@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxRAoddY/f92QCfZ/wC9/Qf2iHn2qPRtWlrJo3FzfFV4qauQiTu ZgzqjUdf8K8XMpbk6E8+aOqhd38GDvwJuc+wT35QW1ZNLgPVTpCUhdYfJfskPt9ILy4bYDsHHIo /ww== X-Received: by 2002:a05:600c:450a:b0:48a:72ab:f88c with SMTP id 5b1f17b1804b1-48a72abf8admr1555715e9.17.1777218072360; Sun, 26 Apr 2026 08:41:12 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AYAyTiIDdmHgpTDL98dG9cAlvRvroBc8T19xaVaXWw2uZs+/jg==" Received: by 2002:a05:600c:1549:b0:488:9946:181c with SMTP id 5b1f17b1804b1-48a5a517368ls37380105e9.2.-pod-prod-09-eu; Sun, 26 Apr 2026 08:41:11 -0700 (PDT) X-Received: by 2002:a05:600c:c177:b0:488:a82f:bba9 with SMTP id 5b1f17b1804b1-488fb7804f3mr519879465e9.22.1777218070903; Sun, 26 Apr 2026 08:41:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777218070; cv=none; d=google.com; s=arc-20240605; b=QDO94Jako6z2HL7J/JlpPSoaVZ/rAW+77DRC7XCz3xznU7i9CDdPE6g/IpONhHnMoY FD7t+457bT5D/CaF5i6yjHveQspJjn5dIst/1xVJw8+0LG/7umBleT8Lb31++3U+J91C 9+QpfQj+dYvVR5yMk/OTmJeoEdLauFZ3mfkiGe4NsmGP/H79iGF3r/uiqDoKiRAbEQzn SPDfaXcTI3Kb8nQ209TkbB/9jFseMectMxtlc+NumgrbYJOoIiburaXe+d+lyPUr5lzp n+xe1/+az9wzfHxPoE4ksrU0y2IIm1MkR3pi6BPFkntvFpmUXvxGAbhQLSvzS/CoRmll E96A== 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=YeW3JZ7AsDfcrOWKadqcFM+5JD/Eup5F4+gm4JxOEhDQB2/fSO1U4Qd49Ci7GsSEGz 4rTHQwkGHruH0/vpaydf7cr5XD9qSX84MxKpe60YfHLL8BFCC9oh7TgkWCy9RB0jSbzt eBeS+7oME3m4jsnIcYiOG9fmIfi6SLL2uWaXOfoiG0yW6iVaFYukRwt2ji894+mt+7c3 0weHknOXqmTgpks6V1rbGQxwnUMDlUAPxx+p9RyZ9A/Z4exLy8mlpkH+pIFu91ddcA4a JraXOxfDVk9HXXJ3ZgXO2UmyBQfrdo6UjOPCrPOlKbusg72c6f9XLKVNyEsVVL9xXCsb qirQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=lGV6Iuao; 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-43fe4ca3d33sor4467729f8f.3.2026.04.26.08.41.10 for (Google Transport Security); Sun, 26 Apr 2026 08:41:10 -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: AeBDieuIvSnvBVGLhx6pFOVWknOOBZkdKnU+0r6gaZ5Hr1IreIKv5G/fDOKtYCL1Khr ppzZHBjWomiP8B4+0Sh/xgQPMuPdC75Kd+5GttJ6etKlDWCtaNFCqomVc/SgghoDVD9J6KN0uU2 vvYTIN6q05iUYEF43a6GEf4pHpxuzBzWeqKQXaxL22mKOCe22epC1f5NfsNlaAup3hoZLoUb9y+ 96UQPVYxG5Nf8RvvVddJURDynItt5skJnLNGa15RZ8aEi7Rg/2966XsESEluGc3GLSXPKPOfag0 oIqKABIlb88wswvpv1X8ARmgOIS2+V9fqxfRXvLqj2/8er8Svs3kuzSBIy/Ixn3ARQJhnjjHzoU 0MguTIH2GzP04rjvqTwBsrgH/6aogheRWnBSyBnedqMkm4Xja9y1GdW+pv/cOaPTUv+GaQj0rYj il+758P9tWWcjND4M60DwAsSPYH9BaakTtIQimZ3++2Q05cULpWEJ2Wf6wDzYBCvE/CcHQpOwvG yuzP6EIYxDYs84K9u4H3axjv2o0ldhwvkxnKkqaGDvkZQhU/mGzhUjiiGClCVfWls4B4DmOo+vn bcs41iPpubEL4avcAyQ1ABEUxtp4m6zRBVwz3QmK X-Received: by 2002:a05:600c:1f83:b0:488:8840:e5ae with SMTP id 5b1f17b1804b1-488fb787afemr556310845e9.24.1777218070416; Sun, 26 Apr 2026 08:41:10 -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 5b1f17b1804b1-4891bb3d121sm802593765e9.14.2026.04.26.08.41.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 08:41:10 -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 v6 8/8] board: st: stm32mp25: support dynamic A/B bank bootup Date: Sun, 26 Apr 2026 17:40:40 +0200 Message-ID: <20260426154054.2040932-9-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260426154054.2040932-1-dario.binacchi@amarulasolutions.com> References: <20260426154054.2040932-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=lGV6Iuao; 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"