From patchwork Thu Apr 30 08:06:02 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4591 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 1B1C63F0D7 for ; Thu, 30 Apr 2026 10:06:41 +0200 (CEST) Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-48a589c7879sf13273405e9.1 for ; Thu, 30 Apr 2026 01:06:41 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536401; cv=pass; d=google.com; s=arc-20240605; b=gXA5gJWyAwrHehnTq1qv9H6GGMsvvh16iDIU36dWC3tPXGKqmcuh5gUAGRqQ5LEqb/ nXuEc2o5Sy9gc5ZbEl5EqoNYFtoNpRLvBGNLMnw469a01iYjRe4TyMSTbKV+QNgo/lkX YzX9gpcDQB+V8N4e9uyY4H9deTogYPfiuWWjIp5fPJYL0f1JaNDgLGa/7vB6OoJIPR1A Mw9D1tN/2WbBRkG2fzl9LGwHCHY4xHJhJ2+gBcpVRkmnN/aiq1Mi6Am5RMue6C34sL5f 7ronwgptxEZu6IuB0haWlMSlIP6hUzgDDfI59n0opI87r6eCVqC5VuhI+8YcwmLGhKT/ SAbw== 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=trphcYU6MIN0wgRVTJ7KRIFPn/TyD4GDTpo0RstDdV8=; b=BaMdJa8vDo9NO1FntIYBPGOH3MjSBGPSFw+QkGzcxupyubv+W5SoWZFgG1btMc1Qjk cCJvbmf+Icc9C6VpiBzD3AnEyopKlz4kNJJMv6mFLCCLEexY35fOKJ1wkgdj1PO8YIFF 0+gvOHISTxIcjQI5MNTJ3YeK2WfYpVbnSoGtxYJCun3tXAlwsZYf+YTE9EeKEfzgJkrT IP+fEAuLoQGiosUu0isQZSj/xY3ectsp42bPBOvfHo8s6ZlJ4feKiu1IRtcoChPp6eja zKIWdHGh5g/7X9qKCUFx4Deptmulu1wUiw9CHtL//yEkL4pRvN+Z5D0HyEH5kWmGv+bO g0vw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="ih6cWfd/"; 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=1777536401; x=1778141201; 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=UgaoARRWVs4MDnYpzYbFc5ORJM2Yl5472pVa72uGmOjC9FM+GjvLH1pOtYGLxWq+Em slhV2VMNeVWaZ7qZ/nNNO6bM8+hup6ZuExtYTKwqgeOrH3tSkknSxZMSxM4y6OVnVG1v KPgOVJ72IBBufO6NvVV+wq5U+em9+w+/DdmlU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536401; x=1778141201; 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=o+gWh5ZrA2m0Zg96vnqPg+xkBDrLw2P9goiyASYby+KqU9Cj3dpFmb0RC6/TRzYKv8 uy24nD84rdIhYqIviWbBGigrdM5gfEUsBDk45jmFnWGAuuxDEhz54iCuyDr6BFjuU+qU 5GGwRzYkbXRuPJjXPANctTYDQ1nj/sy4Ra6cV6LqgaftnrKaP3cgP6UWH4NAId2ZPozP EDfO/QX04IK7WrEju9zi1n6wW6Gr20ox6z8tQ53XpQd2MWQHWdQ4KDdpgPk+eg8hENyn VK4RdeuFFL48JEEXhFyyxwFro/XzOTddgyA4XFP32IRRnA2tv9Qq8J5hdfcAkQXVJlaB 469w== X-Forwarded-Encrypted: i=2; AFNElJ9eccMOk+oIYQwEuOoeHwKZLnSmgx/mi8l8oHfuUP49B71GfqAnu8OIIXU/sRCSlplFO5TjhXjK5AV4d3pP@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxWqW3d0BtCKKxw7BiPRyx9Luo7l1Sx6RoJ8jZDDZuXiX52M/uc 6Zf0SH2WqjFMzPLplklIpRzkY8rM7VnboYc8MMDqlT2Qwkjir6SGuqMBGvfGc4PuTYqD1g== X-Received: by 2002:a05:600c:548d:b0:48a:534a:eed8 with SMTP id 5b1f17b1804b1-48a85e17294mr21179015e9.1.1777536400571; Thu, 30 Apr 2026 01:06:40 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMNjXpV1FuvLg6yzb4Ds1LW2oiyFBW2sDjwR7ds1ziQ9kw==" Received: by 2002:a05:600c:35cc:b0:48a:5c2a:4a55 with SMTP id 5b1f17b1804b1-48a7b8cd295ls11678075e9.2.-pod-prod-00-eu-canary; Thu, 30 Apr 2026 01:06:38 -0700 (PDT) X-Received: by 2002:a05:6000:4549:b0:43d:7086:b03 with SMTP id ffacd0b85a97d-4494dc52cebmr1546556f8f.1.1777536398384; Thu, 30 Apr 2026 01:06:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536398; cv=none; d=google.com; s=arc-20240605; b=Zg3iAzt3Svep7obtuZ7BZM07lvUjxIajKo2fKOP8QJjNOMpUXMdM06xgcT11YYoY7F JKSgOISwXLvOCdgzrq8Sir8qgx9TphYx8H+TLZTZAPwntKCAzzeO/ng32pVtf0ukrbkb jgtcFMQF1ebfiZAsLG2qHo8Iy9m4xHUDk0R4mqgS30tcjXcpXq6ujDRwggbCcW1ImeEU IkSYIvAzrfVpkmkZ0riMxGTw2ObwSPmSajxEMB+91qpjJ9c3C2F585cgLYzklKENhDUt nHXqNCv+38him8+7Mgn4ZWNeh+vEGu2OgvsMq63Yh0qAGMI2+TIJ4XTPvDW/QAyH++bt 5MRQ== 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=ATg3jz17Dp+i06Uww1JiZY/p0jTgn6OPO1x1B2Wblg2xDQQASVvFgsLppn6UaTNcs2 8XM5ELpl4PXOxPE8Ghk2OArYaPgwnj/HCI6ZYRdsz2PP1Y4hksEG5xiXue4dtZhCgJiF UCsyP4Pw2/qY5fcQvkhN8YSgOPuavR+vkihHqs0EXtPVkEQbEWymcFD+Il7U4KKvEG2v VATnHcMSZWkJSMH9yHFMkDTB4F5enoigRTgATS/M+QeP43+731/JrzyT/MuEkj/vPdxy rRTiMTQQy98y/4EijrcsuF3f3aLk+oFZRxtzLdnOIscMMpv2LoAJDLpbykOZhI+N50hZ NaRw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b="ih6cWfd/"; 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-448e5dd0986sor307280f8f.4.2026.04.30.01.06.38 for (Google Transport Security); Thu, 30 Apr 2026 01:06:38 -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: AeBDiev/YAqMcu3JfuCyYJxWzkdgbcGkjY7Z6k2TBjFOXji1LgL5YmocQRalob7Fxiy j1CqROhI8dnhMbZRDxV+043CCQVpu/ZmUtXTzZQjhu3+O6bbRjgMxaH54V5E1WpocjV6J0IkMwr 170dH0zCOmTsYko0NYASzSwXXARPKsK987vjkljvlol1HJvEO7pICAopFswj8MtlXPnhQ13Ezo6 5JizMps3PO6z1wgkmT4TH/lOcjYtIuTxQwX6qa7NQogsGuuQu7UdF7Fy3S6mxzodSS30pCsE2eR IeI41BjhWAQryna3/hA/XMFSz9z176U145l2nZyCsJ8NnsKDJ8WIfcp8Mi6Bjco15TUxxowTGEC k5DwEW7VNBD11ogxnYYUOI+dx8oVmYbrMgMCoBC1l3TKX6yi+XhxlCwfMq0lUMnsEREB8wTreve HrmrR6sHcZ05iAS/vx/ly43ponwtmFwsEUb1z5bckkpavVtm/s+x0V268Eq1B1VaQOLlweZBLlS BWyq1r09yFo4i9zarZcx6IvNsgLt9+5qEASZD0iyGW9xrgG/Iz34H2bijnUG3UnVeZYByetazXt jpkTD3QyE4R6rBXuImRMPsHwUQRdcAxges4= X-Received: by 2002:a05:6000:18e:b0:449:8650:954d with SMTP id ffacd0b85a97d-44986509648mr1007311f8f.12.1777536397660; Thu, 30 Apr 2026 01:06:37 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:36 -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 v8 1/8] lib: uuid: add partition type GUID for extended bootloader Date: Thu, 30 Apr 2026 10:06:02 +0200 Message-ID: <20260430080627.849636-2-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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="ih6cWfd/"; 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 Thu Apr 30 08:06:03 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4592 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 70F0D3F0D7 for ; Thu, 30 Apr 2026 10:06:42 +0200 (CEST) Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-4470d6d2a4fsf801121f8f.1 for ; Thu, 30 Apr 2026 01:06:42 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536402; cv=pass; d=google.com; s=arc-20240605; b=RXJrPRM7DEnbga6vdarIbmXL3xlA/02unJHzuPg78pk2iwDKYDClQv875RlHoU/JJp YrKZZBi/hktczw8TZy7f8PnvGaHnbOm1R6pAfDS2vC1ecJK4334tHDvjTuXrdc+asjmC v1uD+3MjEttQ3SyWaLmD2bVzT5f8C0l3MNYwB3XgHaxNvJS4qCH4C0Oy7gOe4DXS6o5R 26DC0TTGSQCf4gAd3pRQVhOi4SXiz+mu5/AF1nU0C7GFsZNeNh70L6WIR+n80iPOn9Je tyo05iswuah2vapfKv6uT+zXiJfpkWMnjm276Zw6vTvQOFBUBktxdnCrPvAnmRHqtE44 Zmbg== 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=BkS4FvZGQpkWIBn6/hlJvRAXnAcJ1H0YHaK6h4UWU3Q=; b=dwfBXh485LLmahMFQ4fRUY1dLbaBOsf1SLvbIoakvQf6hqrLwUpprivAn6GtlzT6Rt 2Asr+4pzRqGGv/yiqQH7ppflmHUciljMlN4Wq2Np8CfDkn/uPglLfAkdHUKtwQdRfNZ9 Le5l+Kh2wFoh3C+87Vf+MXe4eanURG0tcMv39Kq1RqYe0zgPTi5i864Qu1P+ccTF2vAS 7Jx3LMgSCuaMqMgrpqlOg6UEmHFoj5b6u7PGi8ooXGNDWQ5LclM7BBBhfejv4gS5zILH UstDLbeKIfQ6e4YPi3xpD5DqREFEUynoK06I+jzWT9hhYhrkm15fnB6C1QV4tJL71rYo BtRg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=N1AxTb+0; 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=1777536402; x=1778141202; 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=kVWA5Kg7zIyHkzJwCCBPaknNVJ14I338PtPxtotmSMVFq8QgAhavSKtY01TWmqrRgm zKQrFJHuwOUoXKgKmqrZluqlbXJ9/S7GMTkg9ZQ/td/0+XEeZ/HD3gnqvhBnCKIof0Hd E28a7O2iTqvO1ib0bEnXNDcw8mBaSFhyc7ybw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536402; x=1778141202; 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=klazML5cdSxwX/mh5EBAKQCh308x0HtIDp3qIUh5rEByl8hZIYyj51RmLfq3hEC7bo W51pxjF4vdp+JbtKX3OaV8qCSy5UlBTAG8FiEo4yD+tMTsSlgjBnK4Y+A4x/PaXYwdin acIFgdf15hCjT/0zleZ/80Stg/2pAjW0V6maXvomJExkTdULB1lTFlSMeY5ur1X/dAHX iai4MXz36c6QuIaSFeXr3ulx+WurW8pEm4LltLT0I2q6B1aTUm1dbluzbVq9v/luwHT/ hL6HguH2g7shrsokvUSuV7SKj9+1dqhICZY5w5RxwJr46kiNIWxQN1ZQ77C+4CpDvlfK 170w== X-Forwarded-Encrypted: i=2; AFNElJ+9Fa92Aa7BeLRUWFDNaBAm8rdPQPf+YiV68CpaOC40Y+0oLZRfYDMX30RvJv23ZhMNF7l9VNpHJjn/UYm6@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxSiOY4qeXKY9Z/TNYGa6p7XoqtvVb3aOxP0H+zakqx6cuLao5u jCRhvpVO5kvSsHEEb5e0bMkQoPR4jn1HfkckJ3G8tdAVYFbai58IDbG2STYTubR/WihTjA== X-Received: by 2002:a5d:584b:0:b0:43b:8f4e:27f8 with SMTP id ffacd0b85a97d-4493d02ad30mr3043457f8f.12.1777536401834; Thu, 30 Apr 2026 01:06:41 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMNHVIWQ6uuoqorefsXcgWaPaU/ye+vkjLL7CFxIAGvcpw==" Received: by 2002:a05:6000:15cc:b0:448:6b5f:cc09 with SMTP id ffacd0b85a97d-4490bf6759als375715f8f.1.-pod-prod-07-eu; Thu, 30 Apr 2026 01:06:40 -0700 (PDT) X-Received: by 2002:a05:6000:2681:b0:43d:77e1:6a66 with SMTP id ffacd0b85a97d-4493cb42c8fmr2725326f8f.8.1777536399972; Thu, 30 Apr 2026 01:06:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536399; cv=none; d=google.com; s=arc-20240605; b=YfQqXzcXHDS16Oza3Yi45s2962tPkVftObD/NSp1/gD4zFHAE7iQwut8UCSkIAkpBb JWapxie8cATv3ElSzi64Srm8oezFpIQIXzIs3V6NaQu8uEL/Mk/AUG9uF0MfOn8IDg37 QL3oeouW+k4aF1SwkSQy/o3XudJTyHdPQyNZ8o2VtG0Kkn1A7rAs04OFuMhi0Icn/Os9 LdkcmlHEBrt8w1tZyvCrb9Z09oEwaRzFV1E69fal07GLHg4etymSB7r7H7SBP2wECC5Y PmTZ4x0qdRN5zPX4X8TgC/rM8dOPSN4+5/xfxfhE7yBGHgE2bzM1eXXxw0pJvYgJNoKV L/0Q== 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=I2/GOR/3ogfbzFML9/kPWg2x4iW49cOiChlfYNd2/eHk8BSAGW8sfVut6zl6JLbnjD tEDKrqppqqpVUl93EzPSoJlE+y2gAmIjdSDELbfRjo3FQmv1iHvURH1rxrba0HpLfhU1 BWr6bDCJTWBiFDzY1yQSpN0JSLcyTfjrqpmwnMK86YoYJf8JhdvW4Sb0vE5e0Hz54XHu u1l0GZyiGTpps+1kro3ArHcAzUJmymzlUAfAjnfMJqRyvXXZOAYejn+Oh7ldzaDtpNDe 7XKwGxdZUH8VNicWEJxlllSDRBd6frYphEVNkfxL3A/FPBiRQ51utKQzRyVOqPck1ucv J9/Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=N1AxTb+0; 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-447b47d923dsor956617f8f.2.2026.04.30.01.06.39 for (Google Transport Security); Thu, 30 Apr 2026 01:06:39 -0700 (PDT) Received-SPF: pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) client-ip=209.85.220.41; X-Gm-Gg: AeBDievZeIBNN3/bOLId9oJSKt6fyUlQkmTI9TPo/Zt4N9iYNC5/bTivcThbUqmSDhS dsNYe899q4UgK9wRST5lB2ZolWnNwHkPjvSkceir6yrjm/iVMqBDazdRo5dkmDPXbdBxGbeEUDw gApu0/ByODXCq3Z83MpED0IM6V+TjK6ImfGm+EgB0F56LiwVaRMeENcbow1GTmWIoZ//9Ulbvcd daIAOmVDe2cOkvwlictRume3c4xLC/w4nqsUdVrId2i0Wxx3PPf0A2TwgUEj8v5WSW0B0xgW/WP 6WShoPL2N1u73kMBYZJsMBeN5duzSD19Wa4/KasIlb6bmndKIcNlw7TkDOb6sR5vHuNt5Xm+XxJ IIhdt6DRHQQx0K54MSd0SHN7NNtMMfQ4DdAnCtQTyDPQOMiCr505kJR/XWkeKoyEqwrGvs/+iEG tpjTufv6geLIeF3ed+Q8FdLVVdAwjlLcD7FRvNplXJi0G0TULsvvhy8pCDDlnPzEKTCdNKHa/oq P35h8hEl7lEdUneGRu8LvUWZqdY3HLowaVIDQJ7YQ0PiJrR8qpEKLROoXoTplNB0wnK0x5zMJZ0 IjzcPJlzYxYYFB+2anPDaJfGJ9SQuNiDtCyPI+20I+oixw== X-Received: by 2002:a05:6000:2381:b0:43d:1dfe:350a with SMTP id ffacd0b85a97d-4493e982942mr2857364f8f.22.1777536399424; Thu, 30 Apr 2026 01:06:39 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:38 -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 v8 2/8] test: dm: part: add test for part_get_info_by_uuid Date: Thu, 30 Apr 2026 10:06:03 +0200 Message-ID: <20260430080627.849636-3-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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=N1AxTb+0; 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 Thu Apr 30 08:06:04 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4593 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 68BD23F0D7 for ; Thu, 30 Apr 2026 10:06:44 +0200 (CEST) Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-b8704795d25sf40455866b.2 for ; Thu, 30 Apr 2026 01:06:44 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536404; cv=pass; d=google.com; s=arc-20240605; b=gtGJ68VCH1b2bmDjmpXcWTyRGHmxOF9KMmtzoPHL6CANeeyFoxeILHIQlBfFfQticY EhVIM6sFuKcNvID1LDEiKYOa74YIDDcmqrTXjdt2i1tn9Hf2p6q8kqZuoUqLylyq5ekf /e3tNUpFkYQAIK/ga00l21w+BwOdM00DPZE3GtR39Zq/MvuFoVJv93rAXylQR0WcIOdu EzBXhn0Cfch8kuLbl46iRsMMlsCYNlaigx8/pYfXHniNpdOy29J2KnDgIdCn73Syb1y2 ngwdG24OhhsV2ygslNRD7HUbep2QA1aCD8HliBJbIwKEarirvyCvTvFNARGgeMM649gu N6+w== 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=woqYgBetikOjxpVNAxRh6OWx5E6xroq7FMRK1Pd/5xA=; fh=tfR3KjpG9FgRskNtid2wbqJH9IbXkQMwQET4MwpHr5A=; b=TcypoBgE5zbo3Zej1a8esw8R+9wvhaMo8leqFgZwBbWXBqLfTL/TO+BlqLRIlDOsOF wDRk42ylP5/SSIZmUYM9K6PHBkllmPy/Q6CSIJ+1miyXXK/lbVI1uQQ1Fd0P/bPqloTs 1ek0rmggph6SYdEfwEzwsTlliS5z0GSHBUYKQKetxRAUcqvs0KZELC4ZGnikrpGL4i5M UiNXl10ry8Mo2fIFbxoMZFf3LiyHfMH3JvIUIhKd5w7pB/zPDzwtHa4uiG+XXzRl32sF 7G1aGmoX8AJhopH75VJxfpjPYBASIxu+l8/qW1ecNny2KKmdmHl81rAYmD5J1CNt2q+s p9Kg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Dswar4J3; 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=1777536404; x=1778141204; 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=woqYgBetikOjxpVNAxRh6OWx5E6xroq7FMRK1Pd/5xA=; b=n/nfK2eVG0+WqjspP1fBDT+wCVebuUcyjtdpqaRKi8N/xzfD7n/aNX+J20xU38V7D/ wSKNyFw9594OGEi20CMV5OY9aK8bIqNUl1lhmyp854ykVLSTl6f3sTACfqmTUsbx7c7r 3VoZgKkvRoEUV90SR1ZUawC9MSM+3Qe2Znt38= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536404; x=1778141204; 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=woqYgBetikOjxpVNAxRh6OWx5E6xroq7FMRK1Pd/5xA=; b=oJeX8yxPIe+BvhP4KyFKFxVKLupl0OHvSG1EHWOHXrJYan6aXsorkJEi755P+fr3M8 iFvMOmn2zp+o/N5PKizvIqvgrv8guBuNqMG0PapaXUhOyQA35UJlBkCRdcMkV7hhsvHw Ei2vnXfZXkWdmH8CNDVl4jaC5ubJGflGVENTsXVBZUjkTL0dLyUGAGnBPO0VfcFmp5wA Up4GPKqc3k8RSO5YPf7oY3cyDO0Sk0Z5sqO1J+g+KzH5VWFVh0adfBhp6kBlpcS1wEuc CK+kspqY8q4mYaFrXfI5Gpt9MXyHIOrgp0C4pDWte06QYi1TOeDpo2oGzNPjct38LbHT +XPA== X-Forwarded-Encrypted: i=2; AFNElJ9Hh7GOef6dMaFC1aLpF1NVm9EWbPoQVNDIEqidVx58baAjaQ3UKfsXSd9rfX0CQ7PCpLQa1d30HuyPRs13@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yyj/l8cki6UZsBwYHGTVZonqjbARjKuv+Dbv3XWncBhdNUT2dAs E0J9XRZedKzQaMTh7RKJH3wlDLfhSLs4SfmtAWwZbETw1JOkk//eslSkcWK24OyAyRiUsg== X-Received: by 2002:a05:6402:360d:b0:671:dffb:f450 with SMTP id 4fb4d7f45d1cf-67b5d7e1dbemr809083a12.11.1777536403825; Thu, 30 Apr 2026 01:06:43 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMMY67piB49hvH40FjHebL6gX901+0n+JpNzsbwXCRyjpw==" Received: by 2002:aa7:d757:0:b0:679:cb2a:de38 with SMTP id 4fb4d7f45d1cf-67b4ee01b9els584567a12.2.-pod-prod-05-eu; Thu, 30 Apr 2026 01:06:42 -0700 (PDT) X-Received: by 2002:a17:906:4fce:b0:b9c:c3ca:a724 with SMTP id a640c23a62f3a-bbac4cce26cmr106198566b.8.1777536402105; Thu, 30 Apr 2026 01:06:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536402; cv=none; d=google.com; s=arc-20240605; b=H92hUkskMnefvTTmReZmF60JdIusHj8go5Uce6cMVlJJC93/s8wKddCj3SxuzW/yH2 hsXPvffNfE1UOwAcrTPzMKfyI7GC/kRX2YRTnEtNkvJ3/VCnhb/mSL5uh/Fh1/YXcslB NwfgaH3xR0r4RyNAcz/w288eliQR7nNAy6JbosuRFHznjR9CS282c8CGDh6nbB2YHV5M end92rwPBaFVMQjCazyA7VDudc0EmpTFSJ54MM9I08dt/Qeq4RfLlic+BDSnnf5jh1C/ nzERGvYTEbXhhHmCkiYtPoKLnxtIrdIW2bkDFaUrI4U7drTCq2uSPGSzrqrWYaP67ccb ILlA== 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=ww/f9aAS1MjQvIGRcDgGP8JqUvShvBL+WVU2d+FjAR4=; fh=afDizQ+XeKFIYMapWzHAkHLhN/H8qHZIH8gBsoTNkIw=; b=OXvsYGt6FAvTTgHMy/RzCgZUFi/wbGulV+EtYUcRPrS6VfOun9Ut6M/J94X7BUil0U yRcO79vFw0Z+sYK2TDrP29px+vMP6SYdYRGkSJ5JfrNEkfz4MxBL2bRbsgNvSs7wbU2N 4uOMO9yzfgogoGQsk+y4sSwrTdXCttvfzWOePlG0sfmry19VmGZK7LbDy5ChsyboFGlc Lh3Cs7duaFkT+4wBvmQH1eBDNuimvayR3UJMPRMqClsqFAznXYXQy2rTdNar/ehp9UQF gJrMxlW2O80zgN3GYoWPCgqxSfCfwtHtZBKPx+5cx4NGIOzEUT6QkRt881XaloWUVuSU AfhA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=Dswar4J3; 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 a640c23a62f3a-bb980a6fcdesor99847166b.4.2026.04.30.01.06.42 for (Google Transport Security); Thu, 30 Apr 2026 01:06:42 -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: AeBDiesflRw9OeAyaFL2QQT2/UlVVKZLnjyetv8DT0hHCppfFei42OvwdS5azBvQ6jK H+CznOnYdatVnQXpDazyueCnuemWjSuwKMqIkQ+utylSVkwjlyuyl5sy5sy2kaTriSULGlO5UQa RyFetmJ3ovCsYXdnailem2o85X/t8qpt27yGJo0wMsFvaW2nDsbcjEoUB08837jvNbu8sFilprd E9oxx+3izGuA3jUykL8ycpjfQjKbCTKHquQqo3xdyXZJ00RrgegdVClCxlsGkE98n+Xe0DtAMw4 HtDvaLAWqhNimHe6eOR0Bw2k1lSQFeWJzR1Lr949hwxLWOvhr/RR5GeH9xqwcDjxfk+wDN0PNXe KpqK0mmDH/fMlqEUrXKrC9abySlx+4auinjM5A4rvDFj7l5aq1FeUALFi60CYqYgtOvJrAb5Ljo UjR0TdcUi202xEjxWR69z3jTgxm/KtyvItBgfZpAAPXI/R3ZGOaneIKEnxlqtu9UGjposeqZcwN 9iWV+JdpKU+vYNC3Ql6rW0DZ8bok+YtZXQ2v1nYWsL9XOLWo+tEvGgXZGU+1biJgO3tc86uAgKv u/UBLEOcadjzLOIgGVqrpPKGpUrdwPnC9BQ= X-Received: by 2002:a17:907:1c19:b0:bb8:c3d9:3a33 with SMTP id a640c23a62f3a-bbac52dcf9cmr107066766b.12.1777536401339; Thu, 30 Apr 2026 01:06:41 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:40 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Dinesh Maniyam , Heinrich Schuchardt , Marek Vasut , Mattijs Korpershoek , Quentin Schulz , Tom Rini Subject: [PATCH v8 3/8] test: cmd: add unit tests for part command Date: Thu, 30 Apr 2026 10:06:04 +0200 Message-ID: <20260430080627.849636-4-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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=Dswar4J3; 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 v8: - Skip the test in case the CONFIG_MCC is not enabled or the mmc device is not found. 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 | 183 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 184 insertions(+) create mode 100644 test/cmd/part.c diff --git a/test/cmd/Makefile b/test/cmd/Makefile index 5f2815b1bb65..8d6932f1176c 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..cac57a1a0e35 --- /dev/null +++ b/test/cmd/part.c @@ -0,0 +1,183 @@ +// 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, ret; + + if (!CONFIG_IS_ENABLED(MMC)) + return -EAGAIN; + + snprintf(dev_str, sizeof(dev_str), "%u", mmc_dev_num); + + ret = blk_get_device_by_str("mmc", dev_str, &mmc_dev_desc); + if (ret == -ENODEV) + return -EAGAIN; + + ut_asserteq(mmc_dev_num, ret); + + 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, ret; + + ret = setup_gpt_partitions(uts, mmc_dev_num); + if (ret == -EAGAIN) + return ret; + + ut_assertok(ret); + + 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, ret; + + ret = setup_gpt_partitions(uts, mmc_dev_num); + if (ret == -EAGAIN) + return ret; + + ut_assertok(ret); + + 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, ret; + + ret = setup_gpt_partitions(uts, mmc_dev_num); + if (ret == -EAGAIN) + return ret; + + ut_assertok(ret); + + 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 Thu Apr 30 08:06:05 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4594 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 94A843F0D7 for ; Thu, 30 Apr 2026 10:06:46 +0200 (CEST) Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-6749e8562a7sf473930a12.3 for ; Thu, 30 Apr 2026 01:06:46 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536406; cv=pass; d=google.com; s=arc-20240605; b=e9Fo0CkAhXU3l6TIufQlyNoXGj26B9eqsKssIH711GmuXwo930GRaHoU7gdPeaQxX/ hvYAoT0W7Ftf48j4iiBAcPl/sEFnb48NXCXzbjw5Jk98cH0qkvlpkHAg2EG/mwNz1wv9 8npir+GxhAKS5JAl0doNBx6J+9MyXWTRWdorx/ek7BlsxmIJrqMqdHSpIGYe7EKgc344 Wovz6vspeCCs+kjmzwF7Rw2dHMRsbX1F7TXr+3Gt8pU0WU6EV4ATi+nup9cDG6bewMq6 1mmyFCcTrPhoDcSNZueamTxZipsUOAdHJGWm6x0RVEopvDl76WdPFFoTuLOuvTbcZBH6 ZqqQ== 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=q+Pm8GGqC7y9HOC07k+IB8yPBLWSfb4vPC/7zQW2Ngg=; b=XH9nAj8mW1S7OiuU94Jw50MbgI1SuYgXCszgjWUiNhNKrkjt+jxa0t7El+8jNTLrI0 PZlggIjyXjR+ecM+BoJQGte/Q6QUkThfchhPWUh0AA2oh7ZhDXnq80HbEDs0abA1Jidc Gyvp2xnWQ6UhhM2N52CY93ZTgzgvRfsI5aYS7uAg6DielqnH/+pfzJpGOQuTc1LJRZDk Qz94ylJXfw86pf9Xtd8g5Shqbi6CCY+1wpO5mNiUI/GRGCF/aCjuOtNZ5UE0gLQAZ+TZ LWC4DdSMaiFYBJrCheBj4TobumVKAtCU1LklTMN6mHYdSmIw+WUmcpsznfNL47gSgDqQ YlNw==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=gz8ijcxX; 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=1777536406; x=1778141206; 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=Gpe0GkEb2hAsT2W6FmzJkxukFmwriWlFRTImuioquchu1UD4/YsBkifsabAHDWohOV pVnCAx4x1VjSDJl6Vmkd/3WemRxZKEAWRfCkbu84mIeW/vy+QpdS0B6FBzsWF663npQA V6u3bffkoFdow8evC+24ahgHSUOwSZs/fxRE0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536406; x=1778141206; 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=rbbAmrO4/u/3Qp9mRXFIbq+aOAVFiC93z8kxFtuKAOBTd+swY9jThaynAkZ+eMtSAn fLq5vILXPSwyq88BUh+ZHNVXUksz3c+EGSjbA5nKVGDxeztvpWho1Nq+lUSijZTZzRb6 JP39M9cTc9SyzH3G49aket9TI9TbZLnv7GbQL3EvOPqBLK2kU1oJinZf1ksHBnBI5VNR 4jxMR1BLDTLIzKAvLNpnlZX62Brjk2uLSzbuk25M481h5yWOmWXl1Be5uDrSgFsFQ4eR 8Cc+OZ0Am0NGuI4q3u4ft1MLe5dP/Mjh3e3umMIHnd2QIGGzbMXzgK1RPKiPfr22hqDZ bsZQ== X-Forwarded-Encrypted: i=2; AFNElJ+8/1iOYGUJb2Q/ULA0+23L9ogCI9uperCu+Sl6IAT6jH5WuFN8fHvi4HJZOFOKmUGiQYrcRs53LEhXIVqs@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YxjrYb/5k9QktwWfJvItwcBSlMLsUHQb/gaVfM65Iv7DJQKViNU 7ZQh1bx3PCrFxXQ45HyTj5U6COsv6Cb0j/yzGPDaaL2uVtTBo/PQnpsSfm7gAAC3XDTcRg== X-Received: by 2002:a05:6402:4314:b0:670:24ea:893f with SMTP id 4fb4d7f45d1cf-67b5d81f7ebmr785413a12.16.1777536405980; Thu, 30 Apr 2026 01:06:45 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMMJ7qSPs7JHnyPFZgafRWkFsjRtjF8POi373WXaZn2IBw==" Received: by 2002:a05:6402:a292:20b0:670:70d8:3fc4 with SMTP id 4fb4d7f45d1cf-67b4ee59608ls449284a12.2.-pod-prod-04-eu; Thu, 30 Apr 2026 01:06:44 -0700 (PDT) X-Received: by 2002:a17:907:e113:b0:b98:2462:959d with SMTP id a640c23a62f3a-bbac6fae318mr79016066b.31.1777536404104; Thu, 30 Apr 2026 01:06:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536404; cv=none; d=google.com; s=arc-20240605; b=HEMxUsvhNSwk2UHJTBUQFYrHaqL94hVLbhxNmY4oj/BZK1gwC9QX6druqdG6Ve01uP A8D7e6xvYqElKdpU8VFQIfvG5Uq012PeDTNVtVOZXnw9RDlFrwe+GNf181qtBOosoJQ+ t33njVVzes0GmSV7//nD7jMrZg7JhZelGu+8aTqv9x1afWCSe3QqBHJtgbZpWnGIDyoz 053gdJJkMwkFEccvzDHgXCCC9OinHFpP0/ZoQZ4SR4VBPOI+uybx1HBBxmvPxBaSPVk2 DJvfMA0s7SdoCd+CJ8aEoHkuGiKjkvzpZSO0IEKBBBeNZlOTjkmhaF9YM2/fn/fopDxS mNhA== 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=LDHFXjDXvbFl26G5DS7LYzEDDTHYFOyKjHb4XG9CD+o=; b=O8J86t5h+/RX6egE65U17Fuh4LdQJLd8mmXjG7XfzBws4j2ectccmTdsbHU+abCgBb C6oKL/rhx85iDQ48C7OqZ1O14J4pSFpeBToFZP02aEDFW6qT5HtyyUH6/8QWlmSsLuMv XX/NfR2ECc3x/W9r+tTfna0VVpXWuLEpEM846/wj4f39+6Q9Vo4CbaJ8bHy7EQ7zSL9x lr/tyQYAUP+UR0bdVxBc1Pw0VlFHj8SfhSurdfZakbqcEKvS57BjRX6UJXYUuODD4t92 COdXUbkm8TCiRSBUK1FnKbwcdMNpV6ctp4VQsnIQGMj0mjDcpXEuulqKQU1w5SePPRPe Fp5w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=gz8ijcxX; 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-447b3d4979dsor563482f8f.3.2026.04.30.01.06.44 for (Google Transport Security); Thu, 30 Apr 2026 01:06:44 -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: AeBDiesgA/3wo/lTRXXs/jdM/BJZGTMq8DmqE6F8I8qLhBRxMaw5CiD01SNlVLJMbT/ 5BWw1EQLd8ILLT/C4pGSGc3vn7Nyzuce4GwVzpdWsohvceAVfPwbpzkN177peItJSUgwhO84Dl5 kHZNNkphx1n7D8VCPyHgKwqRbgERo9l0Pi4pnxNgfB5X+eXFDtkiOousmnillHZOWtkXxErWKkB xSzy2Dbwlzig7rcPhiCd+lEbMRCiKXbReV0NFy9Sdk5GyqsH/MT+D9aLcFkA6fv3y/09ihV89gT VVB9vsv5iEtbACb+uQWlwFarsLWThXOwEF7LqgVmLG8BtFmqlCoPxTnmZk8qugzY6+rcd/yxelY 9WGqmOjton99JvXP42GroqXYsECvic8kOxmPDkyemdZDmTus9kTZEQ+JJYLLsjh8Qg4ajJhBgsx QJ+SJ6neJoTMpcw/AwhYqxLqtUFXgOFqwh/oLPAy9MHhdbzmbji5IlIeD8DuzraoSvnXWvN3hH5 uRYfILlKmRgMj5CVsE+TTSC6mGLW6ReXGFtrsD95I8aYvrGnbUwZSkt8JQsM7YcnEO1Y7aQ31z5 /YTsiDfh2OPlt3MfzfqFxdE5vr/Nw9IJKzk= X-Received: by 2002:adf:ec48:0:b0:449:9aee:4573 with SMTP id ffacd0b85a97d-4499aee466fmr794176f8f.18.1777536403431; Thu, 30 Apr 2026 01:06:43 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:42 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Heinrich Schuchardt , John Toomey , Jonathan GUILLOT , Padmarao Begari , Quentin Schulz , Rasmus Villemoes , Tom Rini Subject: [PATCH v8 4/8] cmd: part: support lookup by UUID Date: Thu, 30 Apr 2026 10:06:05 +0200 Message-ID: <20260430080627.849636-5-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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=gz8ijcxX; 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 Thu Apr 30 08:06:06 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4595 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 ECC993F0D7 for ; Thu, 30 Apr 2026 10:06:47 +0200 (CEST) Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-488f973ddfesf4597125e9.3 for ; Thu, 30 Apr 2026 01:06:47 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536407; cv=pass; d=google.com; s=arc-20240605; b=dVTKygW1MxoyD7BrI56aQjv7J89LX2ja+dbBvqSE2uwpoSqVkK4b8lUx2HaTQRRMMy SWeWnOIhE8Fkneh8SAvuyNrTkg6nZo8snpaYzBBWwguzdhE5ucm6XJfqWcyqVTvVuiQQ Vnde5khYgZbY0ezcs2k/kO0dMppYiGllwwEWc1fAj34f1gLvLDfNb1QXW21sU8m0ZAbh afTDbfjzCo+6+oXHY+U0MO2bI/Y3EKay15u2djjwCj3I7GSfolc5E4bDvKTCkuol+rkZ DjAKmfqkofHziudvOSrxgSlZSbS8Pryr1/BrIeWJyxUZfXSj1Zh9k7yVaG2Xr0j0MbUG TfAQ== 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=X5gMaNut0AyHlLZTuxLT0EYgaQOPuH8EESVgyQPap1o=; fh=kIUNuTM7kLTcjTvryWeecOVH0O4qeNDV2WXB9anTrCg=; b=VMEgqD1/zsOHh28LMJhGRE47T90nG6QYYREHXpH+LDXYYAtrZp+vei+8l+HswhGDqQ ptehNVl7UvVsX/KaN81JJhIqgvUqaL9Nk62zXh2diqsfDNhWZ8JwfpacyJDX+wd0yP7p vCikgwC36mL1197dedVO6oiMAFignC+Ft7gFb5tyldE+gkx8sKBKQBl11qk6O0zrdrF0 tGMj5eoCI8G50sUt21HBKwhzh7Fep+7qVNvNwNLQQ9AIH2p6pM09vZmuropMx4oCvtKe yzUMjNH0eVfy7IMURbaItTx9J5mepBjnP87GVKHgTgD7Xi30m/UVdIOGwr4NgcvfJIB9 xXFA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=oIuEM8Kl; 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=1777536407; x=1778141207; 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=X5gMaNut0AyHlLZTuxLT0EYgaQOPuH8EESVgyQPap1o=; b=pjDKakMnMajuM1RL66vquQYv60nX7FpAbMI2D1j5tfMLMAY6fTZ4fah0e1NxzGEcSW DIVuKmfCIjO4/cPLRRzI41BDt79SYbchFIZEJFuZDDkh8KL6oNxAQbGL3QMo8b25tL1n faYUDw0OqqeKaZnR6NNPMB+vEUV/2WPtgTj5g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536407; x=1778141207; 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=X5gMaNut0AyHlLZTuxLT0EYgaQOPuH8EESVgyQPap1o=; b=j92DhgF/UiN5fD2YKO3AsYHXkNbsR2lImoQ2KIB2C7dnFM+Q3q3E66kswd5IKIJt5k xhnH9Of5bGRdestFmmfGwT00wF+6yPQqWZTV9Jm7AKXw1usapLrSybpQAmRiZpT+ryRq +OloCo2LDQM++khcnO4Ff1be0qQhEIgAVU+rJ4rjJ/kK+9YOukUc6AUCNQt4WgxAvxpm 3uBGDKKGD6SyN+xqBjECBwRcbv2Wdj+u+zORvp3+PlEUeHIuyCFUhyakXB30HgNAHqxR v74GcFfjHKmwtwA3GuP3CQudPi3z48vj85QZzsdXudgNbpkXNfklJlovdv2QttMxRUoV yolg== X-Forwarded-Encrypted: i=2; AFNElJ/O/qLX+6uF3kkRtu6WvZThD8blcVMVb5Ixea2Q9JzrhP8gf/LG/OwwmD68gty6OQ7vcs9dlW/O4wBrqTij@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YzOlW6cnB4dhtEP4bR/CguGZJJSyhHbf4e0FK59qvrTdXbR0CKQ 7duht4893qiWidSi7Oj1eSuzyPg2kc4TYobOp2kgy6W3kmWMWA9I18xnlmZvCDqR1PGtrQ== X-Received: by 2002:a05:600c:c117:b0:489:6c22:e081 with SMTP id 5b1f17b1804b1-48a83d05535mr22272045e9.0.1777536407440; Thu, 30 Apr 2026 01:06:47 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMO3WAJ5aPpjBm+npTmkVcOq8ezEfHK9ptR6jL9sng1ZWQ==" Received: by 2002:a05:600c:8b30:b0:489:1ff7:1185 with SMTP id 5b1f17b1804b1-48a83b4dc1dls6478235e9.0.-pod-prod-09-eu; Thu, 30 Apr 2026 01:06:46 -0700 (PDT) X-Received: by 2002:a05:600c:354d:b0:488:8b99:54a1 with SMTP id 5b1f17b1804b1-48a8445e8bcmr30101165e9.28.1777536405780; Thu, 30 Apr 2026 01:06:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536405; cv=none; d=google.com; s=arc-20240605; b=dEh5VPmYWL+A0TaL7PNDndRpL8KYy0hvAauuaaPEG+ztgT5t69ABej9XHkkv/LWLRv didW1iaDm7+XcG8Jd9VEAInfqyUwRBL0mR06aAdqv9cblmozOUHI8ngi60uZEDAdQDuq W0NqRwx7QoOQQZBbywf3gDX1B5hQAPKSl06ddxB1MrV19z6Fm96VChZjwK6HRC8co20c AYHQvJONC9ne6bBVDealaRzC7hqhCJ2ygRkX3c7oiimsP+CVSIUjzbY2WinK+gGvs3pq 7rIsR+nWyASqfD0ihqrDTcBpd8TRcL0QSs2NPVPEu8hIGXME+RKV+JFXISFIJ2PwSQu8 Ra7Q== 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=eLSc6xjnBHE8wv4ilMU5QxwihI4JWdlstUWj8PScQNs=; fh=cqGgBtLgo9Y7k4Yog1LltCfcfqjVrN8Vq2ZxieGu7Jk=; b=krAHekc9teaKi5DEV5qtE723eLPopYMSFBjjG6BjTJjAV35WxN6IO++zpUmcOUDek+ 1GyIPJhSlKhNaAz4gWQUEiO1BnfZEmZrsJMPQjIg7kShsVDyRkut8bHUtlAMybawdif3 AbRQ7R/4VgpU2J8i20fdgVaZyhrg/NSPZGlfo8a+TJhGrPY8pRLRtY73NmFfgHxM9PsH 7G5Ov6Szi/eu8OdRSQule2rfxXF6PiXs0TB9XjK3IwLvQYd0yWXfHTCYZeA+N7UZPzxO oa4KPA0dwN1jm1YcjI1s4+EymWGWzxzETyqdujynuV1JrUlT+RM8/i9fQU8rUCT/AEe+ +hfg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=oIuEM8Kl; 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-48a7c5e267esor10812095e9.19.2026.04.30.01.06.45 for (Google Transport Security); Thu, 30 Apr 2026 01:06:45 -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: AeBDievT3EfGiSV1jJGSTszQUER8sNjy2T1Gd89PHkZiBjAf1FNQjd4zuqTOkILlc+F NmFn6AXGeVFxRkNBlIT4Tq5yC5XkD4O6AF4BUb+zhViq0e5Amj9x1uHJHPK8MqUEnPq8AAp+CUj wcSepKIi/uHIwh7qzWk5oSja4SLmcR0RklnspXLzuls813dXcqoZQ/aZRvrgnC4F0BgdqSbSbp7 ZNPZ8BwxEFptXFn/JxL5M1NNkUr8i68DZY7G04+w+EABAViiWI5u5zMfctTWV0gQCGYrsDmznNB eRkz5s2FN89gSIkftlLTlmS/Y/eTOtgNpt5dvV7fBOo8TgsbsbMAHK4M1W3XP34JeoZF0t9JctI 5vD6y9sPxJsK0KCMZzYvPDWZxMGN9CAJLdKCnUoAP8AJOx3MkQV4Abh42+C/MMXeJh3UjsOpWDo UDUt2KXGOE2fTEKTi6y2Fwszn1o0h0QuXDX/gukVJqGZWPJxIvtflIvwzlh+67yek7Bd4CjDaZl PQht5mvopGDETZ6FGJfIk/WqMmV+TVlnwjie7kfSwkNghBh0H6kr6I9rmQZRY8f951cuWUDZWJM YU7v38c/cgdWOCXTyCJc9g6ai8eSuh2bQ9E= X-Received: by 2002:a05:600c:198a:b0:48a:5970:2005 with SMTP id 5b1f17b1804b1-48a83d66cc4mr27304945e9.2.1777536405223; Thu, 30 Apr 2026 01:06:45 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:44 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Tom Rini Subject: [PATCH v8 5/8] test: cmd: part: add UUID lookup tests Date: Thu, 30 Apr 2026 10:06:06 +0200 Message-ID: <20260430080627.849636-6-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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=oIuEM8Kl; 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 cac57a1a0e35..e0149011476c 100644 --- a/test/cmd/part.c +++ b/test/cmd/part.c @@ -90,6 +90,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); @@ -134,6 +148,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); @@ -178,6 +207,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 Thu Apr 30 08:06:07 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4596 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 C86043F0D7 for ; Thu, 30 Apr 2026 10:06:49 +0200 (CEST) Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-48a55ecc249sf4040265e9.1 for ; Thu, 30 Apr 2026 01:06:49 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536409; cv=pass; d=google.com; s=arc-20240605; b=P6NKwvDN9amRllaOxfZSr2HSWdynftAoITCKYKS2iNC4SzEoL7DRIzgc3TSsS03WeY IZeD/4X7yQC7hcNZJtW/AK6+4boM5ymZuItJ5441NRd9u8R4HzzpcmdAU7pAHa1FHlmY G7JQw8sT1V9gm2xH3HHlbDMETYEE8LQ4i+boIBQ1Fl59jzjHrnqS8l/mOIzIJZsPp3Iy jnMJnNk6FdwZKNUrctN796hivdMmM+HNt5siG0DzRQX7VyA1GoC28M8Muc4voDv7RNU/ B57LAiirmBnn2F9ZSPX2gio6bhSpmS+SrH9WaFpDixX0dUufwtpYmn71qJW4CAtPh8/v 4pbQ== 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=22VD9Q2d7LHMmFatvB+Gbi8E9TJAhJr33KZ4+p5lD5U=; b=AVQhyngNwvJ72oeEWP9boe4pb+Pl0X8GnCJjb3Ufg21arMPHkvaq8m5pcoIKuT1cgj He50uJlRf8lJWO43fD9VKyjRD3OKSrGeKXMIYYDWtzzLIeVmqj321qnhwN9OX4tf0w3K t/14xtZSrrmmNRfPRwIpj2TTXazJZ0fOIY2gc04Gik0mUvRr5iVgKKdN4/GIgEweG4FO cNLguQmB08uCnHPBRQeo8rwYZ8UVzwt8cfqRakz3rNfE+gL1nGUW996m/jRPoqUI/NAX 1gZhQBLktgH0rXJ2ESPX33JUn060vcwebKMggGHy3eKDx+mfvkMIOQ/y19ZG36G05ntS 5zOg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=akA250m1; 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=1777536409; x=1778141209; 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=ji95e5NEljuDqo0pu5GUVr0UX+M5ORe+dFowOmUQoJb2USOgmYTAawtldAyDKZX890 Hexjw5MnnCdAz+vghyWYdyk/Wp08S7C/bGBUQf7L9NJIfY7kJb1psenwxuKulW+U0IHv vsWDNtG01lfUlA1H2dCNzR2eJLdOhCMVPIKIA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536409; x=1778141209; 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=BHSpd28Q6DSPX/+/xE8aNosUqDCSW9eqUBCCwTZ20a3cWV5TrsW9CiGkGYf28Oyw1x oIDY55biSc5o7+9nQzR2pUex9W19xDfIbGU9AVJpINNSAFtpvY9xEMeRsngk6GPflmd8 4V3/SuXZpmQ0jL4wtgfJN33RRePBCZpLyp3eggnJ9TiNA7poDye8mEG6y19nYG3ZSoOz pgYyIWnSl030ukzixlaVeni5Sh6x1ZkVTIt3DqEPkULWEIx3BPl+JpdUNY/9xsmtwf2m CWQSUdNxlp7wapmZ/lP2lPGiqasSILqjJOmbtUfd0jf99R0UTOKztaPwGbxcbI8G7b1w Ot8Q== X-Forwarded-Encrypted: i=2; AFNElJ9pKgymhog5GVBDxxAmU9VxXKf+bTGhBPzU38TXbW6RhFq80ycX5MC/IwbUq6KhXqNVZpJE7B7+Y6/BdRn9@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YyG/88Xq21XCtL+yZkmSFSl+TcY5601/djG67KeHH/Nu821CdF5 CO0eflrcOhsAvjKPlkW+di55uk509FmaIv8ctoZigcRQNhsHqveiyKuBTDmm9p75Lg5RLdMR802 1xQ== X-Received: by 2002:a05:600c:a30b:b0:48a:58ae:993b with SMTP id 5b1f17b1804b1-48a8451cfe2mr21018855e9.16.1777536409287; Thu, 30 Apr 2026 01:06:49 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMM7HSCUBVlT8WZKH6MMDkaocsW18q54QT8N3MhyOOjkBA==" Received: by 2002:a05:600c:5607:b0:489:1ce4:41e0 with SMTP id 5b1f17b1804b1-48a83c0083els4229165e9.2.-pod-prod-01-eu; Thu, 30 Apr 2026 01:06:47 -0700 (PDT) X-Received: by 2002:a05:600c:4f88:b0:48a:563c:c8d6 with SMTP id 5b1f17b1804b1-48a844eb8bcmr29527425e9.7.1777536407628; Thu, 30 Apr 2026 01:06:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536407; cv=none; d=google.com; s=arc-20240605; b=T9asP71zYdcyg9SXv6PxR/7SMPRmyYXYsbYgEws5SZtzp7gMVwzyfoH53AT8PjCcvl RJe0bnlLVLsdwmo94ZGxs690wzZXuhYwqAEvkmpKA5SgWX8phncYA122eJW8skCElDaW xLJWza/IQfGsc647Duf9smjJHzx5h0lu8JxoIc4roW+0K9q9W30fLRcaYrC3yNA5yz/+ 4xpC5NQ5bCHj1DYUqj95/PCn1w2dSz68uu6ALUDhxhUjx2Pm/NYarnxuz2ardm/2U7q1 KvbGuxOwE+SZCkaxGagIKvcni/9RLQJDjs8+I2n3Qw/HqTA80iaks15qqORV3wj7kzen pZvA== 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=Gv1SneOEbYArlpIsNiC0ma4eaKs8tNnmJqY/X3BU+YvAJxXV1BtPpIQWz7HoBFdQeb OzQv+krBBQPiGqkSKCW6ZuaEz+Ws4FhxCkO/EZeYYiPBOZ/4/RBl0EnNsV9G3kCk6CxA znAFeFPEzX6o7JxK0HWdhc2HmQnNorD8ue1sUiR2/aqqwklMBWoVuCrnZns66v/lpX78 G45j6fAPxDP/pYdAH6PcSDX3j96PkCfcId9kn7Sv6OXufEOakBYOWh6YhBw0BSvDLoPV 9nIrJofoJB/a+zSfQG5odezg43s/AKsnkSPYMoBkRxH4R454bNRQeYm6Rm/XT1o4ObMb byWQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=akA250m1; 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-447b7e91c73sor616855f8f.19.2026.04.30.01.06.47 for (Google Transport Security); Thu, 30 Apr 2026 01:06:47 -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: AeBDievDrBwCPIvftbLjeEo/DndKHDvZu/14HQZwTTb3jHsi6VSAtKgbdJVIDrry+pk HiU8StHYgRGWF+YGlCdEg2vrWRz22ylN9BslXkUFQOksBKx5D+3aB6nd8HOhwNDMDwFLXOYVkQr 4CpuW08qXyHcgLY2ecEJsb4Ao7VRXJ6y3HI0y12XZCAnLa0iqaMskWiwSYi65ZfqvzvKiNL690C laYDz9B8ZFLdK/EmnQRfkfbfh0qgMP94SnolFfbRCZfFQ7jwR/OiFBzbP/e44hWYi8d7o8KDdJx A8uh3INzSdOb31PzehuPh8vQXttvCaYqtTsfs01g8dEKQdnLzg9pSL+ORLdCSwVq0bYUjATBN8N GIPHZZC74sVHTlkoMhODG5myyBu3BQYPVPUH6yMy1DsFvsIZolbZJgNYQpCe6B5aEANlS368B4F 1MZz8lF6IZ0OsIIQyIztO81ze4KJqjSrDk7T/aPn8R36ugzdndqkDxAR7siSFvgYChpczKGQDA2 BsPimc3sfRYx8oe9NNlLAsRQI7WebV3GXJqxH8vlNuRTPTuzFFmuDkjoJ2zYY8h6o3am3c+YeKO XzKckqpa6t25tJJxUGNymwV0wBuTC8BkP8OmNOUHPg4wog== X-Received: by 2002:a05:6000:40e0:b0:43d:50c:6f18 with SMTP id ffacd0b85a97d-4493cc3fdadmr2932222f8f.11.1777536407032; Thu, 30 Apr 2026 01:06:47 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:46 -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 v8 6/8] fwu: add helper to get image GUID by type and bank index Date: Thu, 30 Apr 2026 10:06:07 +0200 Message-ID: <20260430080627.849636-7-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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=akA250m1; 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 Thu Apr 30 08:06:08 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4597 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 6D4903F0D7 for ; Thu, 30 Apr 2026 10:06:51 +0200 (CEST) Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-488f973ddfesf4597355e9.3 for ; Thu, 30 Apr 2026 01:06:51 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536411; cv=pass; d=google.com; s=arc-20240605; b=SGijTBGMJJFUm5RL3mEOnKxq2OGFGu3BJnF2YYrrAQzxb79qwGAtsO58zciRWRS9sX GyuOTwwDpLJprV8ybgh43lEIwvRIHZfG30VDnZCIUSUIHzv9I/0csCM9SxTTS5ph0HUV zD1/z7YjkeOmff3nEYZxH+M8ayVSvzQ8uZu2q5Xpuy43Fp9yJrQrcliY2Y6p+24Ao7KH REnioj/dDyxWM+EkiL0RwWaIbNjtODVhlAFYYEQs7bkFlU2DchuD4p30BYG9A1wpLGSu 9M2m6BmuQwaVneXKnakU9Q0/1++WlPLyRYxLETYsDDVJSpLVbzIeUxx7daJcv4LUk+7z QbzQ== 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=hkVtBteDPGzyHY8t/cy20ESr+IxdHBW0bU4EpfX6avs=; fh=GtHMXOjLuDa16h3uBfU1CvEGQUvjc1vnt8zRmi+P6iU=; b=kFYWrglMoRtN9zhAsfa+8rd7fr0YjhA6fv+Mc9QsNHlBCps1PS3lSf/Q+2Sx9adQ3+ xToyllaPBqEsj8EsA5wLZtm7cWIghDfRjt6b3HKbUaxsGwrd13G5xQrtPemoiSGsU+pR 8YSsPwTyyt/misWftNcXeecdIoXVTWgFLgkvDKCuTb6sQZd4QagjdeE680RSFl9XS2ma JxTT13e5hLI/XmY5EpZPDUmxbIQP4NVoXjlTr5sa2/KQa14lfaRSkJ4yq0UU/AIi9UzC t17EUFgsvuDgurDGlpDtTgWmv+FJWbVDoHMDKUnOggNNw2JdgNjILhUayZmRlzbCcuf6 m4HA==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=dtFYP0rN; 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=1777536411; x=1778141211; 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=hkVtBteDPGzyHY8t/cy20ESr+IxdHBW0bU4EpfX6avs=; b=Q7Ab+b3APXJh7UQJ2jW+bgAjVM/awhcT+zoV2vCELzL/ZWotNlq/zxiJAaV1Z47I/M a/FIkOJ2v6iPye3sBQykWpWFIL1qShBpPMwmPgtvGplTUwVOCEDR1eVYfGWGJ9zKs8r0 TH9NiU5IIRG+zyg8G5sTD/4cSQtoRznSBPu2o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536411; x=1778141211; 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=hkVtBteDPGzyHY8t/cy20ESr+IxdHBW0bU4EpfX6avs=; b=DIvNE5qNzfOw8Rkq7e2fQTy65aPocjuwlfkBPMxh287F0y+ZTXXyPLnOr60YKo3aqt jUDDZm0VW/B5iOPlfEWiQoCd/CzoRrnMkYMoDuRVz/qDHTh9iTkFVRHtf9LO4ina46aA rp7p93/N8XQg2BrFlu5Wi11gu6r3Bo+NTNEJIGJSWvWbADRuts+pL9c7Y1koBMifWtQa T7U3aS0w7/GeCDkthQysm2ogv8tl+zvbjyH/vwyV98h5SnBzi9EmB2cYoJqBuu5QRvxP fcW3kfTipKzWCy0VM7yA2N1wrANYQTsdMc1axI6GA+I3MLPepzWZoYUyeBGvz2NI+Pkq T2SA== X-Forwarded-Encrypted: i=2; AFNElJ9z0cpQ47dcMyePDNiEzkcvpmhKnMktBciVhogCa/WR9uy7bIlkw5AGOyfOP+ImzkR+1RU8DZcK4dFTaYwD@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0YwqWhjYgCOXtd0J6qT0FAkciBJA036TPMPWk1EUFOjDGaALv/vQ XKZzmh9CcrOIjy8Fdal8jwa+G9cttOOWqwmDvj905kvGS11N6EqYbjJKwvb0iLbA0QMlMw== X-Received: by 2002:a05:600c:8b22:b0:485:3a03:ceca with SMTP id 5b1f17b1804b1-48a844582c3mr31378485e9.23.1777536411056; Thu, 30 Apr 2026 01:06:51 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMPqpvEUEy064w5zBUP1UNAjlYubV4z5HtcD+X0hMbYStQ==" Received: by 2002:a05:600c:378c:b0:488:9946:181c with SMTP id 5b1f17b1804b1-48a83bf5460ls4265975e9.2.-pod-prod-09-eu; Thu, 30 Apr 2026 01:06:49 -0700 (PDT) X-Received: by 2002:a05:6000:2f8a:b0:43c:cf25:f29a with SMTP id ffacd0b85a97d-4493cb4316dmr2599013f8f.8.1777536409239; Thu, 30 Apr 2026 01:06:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536409; cv=none; d=google.com; s=arc-20240605; b=cUtwRrmdmmAgb7hDrcjoUj+Q3e60MS9iaOndd9voy9s5GIxE55r87+hpHiTDkEFYi8 w/9KECntcjBQB3w8a9TDEf0PF4VddcKGkbbsiCQeLesEDEW48MOU8wOdx46+hzgJ1DeR rnQYqQy8z9EerKXaL6+QMINb/2tC/sfr63etHfdf0BTwACjYYaWQ2C+29RnlfdRlE0iY dVYosCe9l/YeLlKHXIK1m5A+CBSLfmrpXwc5ASVMg+LBEfFqFBEpypFCJrQRpZWRa8Wq cyg73eYvq0e8va4K3+dVrK1O9jPM9Ym6khmmAgdMdmRLUuMRs3nai0IcQXedkIn6cw/Z b85w== 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=zShprpE24HYD85O7mGR679R50uLgc36fQhJmBMY4H8g=; fh=gAC3ZHJjWAXaCs3rUNhaBn+YplJx3GS8wwk1ETRXT6o=; b=ebGne95Bs30Q2Bizyjt+XuYOr9z2990GRkQtiPeHm8y2y5HUPEjJV++xtMLqtoJyCM 4y9E09NNaTGkwtha7b4Heb2HJH01iI+GoNR5Q9fAH0gNEq+iJ2RFnJKBE/oxUAcjakBg fH/J0O/4eImQuDggP9SKNJQ/A9cFRAVINlQTEz90B3c4tFkO1O5K22+6nrmtbwkA69Ab EwML6EFdLdBfb2saZcEIMVqG/bbldmkU13vW00ztKF5yq+7NfSKZs4dGlGDN70xwzLbt nIjpApzQ90VpwYkFtk4Vjk++rmKBFf+NordIWOCtMFACBYgsUbUdA4YSIAAggD+baUgC AL6w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=dtFYP0rN; 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-447b3f348cfsor597662f8f.8.2026.04.30.01.06.49 for (Google Transport Security); Thu, 30 Apr 2026 01:06:49 -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: AeBDieuJ2piaXtohF5Ei4TYph5Y1qBmVafGbR+2PyaOo8U3csgAEkhxtDSMqTyAqQmT BzQS7aAXGyjUokzd+xUMFKbUPb4c1akoyaL6ScCdaBujR33+CpCbFVqLS48K4yjYnJu9PE4pxVp nrvXNw/siAWsSwoslg/gD82mVDMa5Ioij6x1gb78QUCl5Dihkvbru3Bgp6b831lrg22qPK20EJ4 ruBJc1MlYNuXe713C0irgDBjzUQoKItlcIcMOefbBt1o1jlxVpDy7iDldQSlKtDk3DNTBGuzFdb KxJ+WyVSIjL1+Jcc7PLcUuMfA/rRLT4xjD5VQoUKsthy3PYp53duqtFXec8g8RXHHQjCgZrBcpQ lh8gEbPqvKEnkaoQgx1AqdTtTfnmkgGGrJNwRAGSstqwi0OdwkWFny4Q2Zxkg5/9VLsrDZ7ZkzN XspShgAZMrXxdOn5Rk31/ZTGSEJx/a45/LjLeMfR0fSthrKMC5ii5Al804ViSakL5Tibips8dcE PFUKbHVkHqQHRu+ykb2qXbs0X5XAHUIZdc9O9mD8WuOQwPTSFxM5vRg2PYgDWzEAkOVuxXiAjfB oGMfDlkttL/eN22Ff2klHZhiIGS11Hj3aB0= X-Received: by 2002:a05:6000:24c8:b0:446:96b1:f53 with SMTP id ffacd0b85a97d-4493e5a7a4emr2826890f8f.26.1777536408600; Thu, 30 Apr 2026 01:06:48 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:48 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Ilias Apalodimas , Michal Simek , Tom Rini Subject: [PATCH v8 7/8] test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid Date: Thu, 30 Apr 2026 10:06:08 +0200 Message-ID: <20260430080627.849636-8-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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=dtFYP0rN; spf=pass (google.com: domain of dario.binacchi@amarulasolutions.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=dario.binacchi@amarulasolutions.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=amarulasolutions.com; dara=neutral header.i=@amarulasolutions.com Content-Type: text/plain; charset="UTF-8" Precedence: list Mailing-list: list linux-amarula@amarulasolutions.com; contact linux-amarula+owners@amarulasolutions.com List-ID: X-Spam-Checked-In-Group: linux-amarula@amarulasolutions.com X-Google-Group-Id: 476853432473 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , Add a new unit test for the fwu_mdata_get_image_guid() function. Signed-off-by: Dario Binacchi Reviewed-by: Simon Glass --- (no changes since v7) Changes in v7: - Add Reviewed-by of Simon Glass for patc 7/8 of "test: dm: fwu_mdata: add test for fwu_mdata_get_image_guid" test/dm/fwu_mdata.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/test/dm/fwu_mdata.c b/test/dm/fwu_mdata.c index cfe543d8a236..8624ccf61f79 100644 --- a/test/dm/fwu_mdata.c +++ b/test/dm/fwu_mdata.c @@ -143,3 +143,51 @@ static int dm_test_fwu_mdata_write(struct unit_test_state *uts) return 0; } DM_TEST(dm_test_fwu_mdata_write, UTF_SCAN_FDT); + +static int dm_test_fwu_mdata_get_image_guid(struct unit_test_state *uts) +{ + efi_guid_t image_type_guid = + EFI_GUID(0x09d7cf52, 0x0720, 0x4710, \ + 0x91, 0xd1, 0x08, 0x46, 0x9b, 0x7f, 0xe9, 0xc8); + efi_guid_t bank_0_image_guid = + EFI_GUID(0x10057a86, 0xdaf1, 0x4f93, \ + 0xba, 0x7f, 0xb1, 0x95, 0xf7, 0xfa, 0x41, 0x70); + efi_guid_t bank_1_image_guid = + EFI_GUID(0xdb62ed3e, 0x6237, 0x4fb4, \ + 0x80, 0xc4, 0x1b, 0x74, 0xd8, 0x46, 0xa8, 0xe7); + efi_guid_t wrong_image_type_guid = + EFI_GUID(0x12345678, 0x1302, 0x133f, \ + 0x18, 0x0a, 0x14, 0x05, 0x18, 0x05, 0x14, 0x0b); + struct udevice *dev; + efi_guid_t image_guid; + + ut_assertok(setup_blk_device(uts)); + ut_assertok(populate_mmc_disk_image(uts)); + ut_assertok(write_mmc_blk_device(uts)); + + /* + * Trigger lib/fwu_updates/fwu.c fwu_boottime_checks() + * to populate g_dev global pointer in that library. + */ + ut_assertok(event_notify_null(EVT_POST_PREBOOT)); + + ut_assertok(uclass_first_device_err(UCLASS_FWU_MDATA, &dev)); + + ut_assertok(fwu_init()); + + ut_assertok(fwu_mdata_get_image_guid(&image_guid, &image_type_guid, 0)); + ut_assertok(guidcmp(&image_guid, &bank_0_image_guid)); + + ut_assertok(fwu_mdata_get_image_guid(&image_guid, &image_type_guid, 1)); + ut_assertok(guidcmp(&image_guid, &bank_1_image_guid)); + + ut_asserteq(-EINVAL, fwu_mdata_get_image_guid(&image_guid, + &image_type_guid, 2)); + + ut_asserteq(-ENOENT, fwu_mdata_get_image_guid(&image_guid, + &wrong_image_type_guid, + 0)); + + return 0; +} +DM_TEST(dm_test_fwu_mdata_get_image_guid, UTF_SCAN_FDT); From patchwork Thu Apr 30 08:06:09 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dario Binacchi X-Patchwork-Id: 4598 Return-Path: X-Original-To: linux-amarula@patchwork.amarulasolutions.com Delivered-To: linux-amarula@patchwork.amarulasolutions.com Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by ganimede.amarulasolutions.com (Postfix) with ESMTPS id 2900E3F0D7 for ; Thu, 30 Apr 2026 10:06:53 +0200 (CEST) Received: by mail-ej1-f71.google.com with SMTP id a640c23a62f3a-ba78dfab8aasf52796666b.3 for ; Thu, 30 Apr 2026 01:06:53 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1777536413; cv=pass; d=google.com; s=arc-20240605; b=D1axemGJVLmJKKxztNkMJ9IWn3lhwqgFWplXntMnYM4GFjooWUp4dHLsCIpgAwQ9l6 3b7T6Szso5qoG3xqJ53KlUM9k6iwQurzWZ3Dwp1ObdmBIww9qc3Ztxnwd94WX73brqta bbz0j9ii1WV8TFpGu6TP/b2da9ejcGVMeLA8shlQ4WJ7rppaofoZ3TwS/cFckCa84Bnq u9qWtn088d/GxT3SK3sGGrraxg8X70KS/iqavjkvgoSDohhnNBr1FS2dQfCRHnIqFcV3 ozTFuEVTY7pcVb88J4p5z6W8Qhn0Xru19595Z+bBXn3V9yx3FK5PwIezU8Z72j3M3CSU h82g== 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=SU1a88xjNbF5FH9JZcJET1fPupOvrRPSawG9YcgbUbc=; fh=VjNivxi7fO63YC/zoEFYLbm8AitHjRnAvtTi6Tvkyxo=; b=GHcTAbBSqLvPyiSfWsKaQtaMy1i1kl3Wddt4vCgy5602wInppmfT5dUB70kj7YfDaB f6iRPLFfdrUmC2yezIgtuvjI+ImbOVx/uFnXP6fhTo1QjbJ9ciQe03i3IliCIlmnuVWR OtmEQ0yB9uOZ/c6Mz4STseOe6q/FwsJvjTo7UFVORzXnpFrlTJqZ+awoNqrkh/WwzQU2 PFkb6QJUMUeNIIkUF903fKb+cJzbZiFGNDFNvPYcVuPO+oYPxifB52OYNvEn3lAEEknT vb7qyxxEoNuF4WtgYbTGzKjDF1Rn4oJjoLZJWjePbFOHnULJB7ME5L9gBXlUfzHz+Nzj X8fg==; darn=patchwork.amarulasolutions.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=kSP2+2k6; 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=1777536413; x=1778141213; 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=SU1a88xjNbF5FH9JZcJET1fPupOvrRPSawG9YcgbUbc=; b=agwYbzMmPVxrzsZnnGzQ1DNxgXYTbg5lRcgOzchOlYyLQsJ/CvJch9LytB6+afKk+S XqXcA05RHvd3iLyUN3OWDSiC43cX8ws1U8mfSaaytwdp7qznYhuy6ug3IKdPJtLeODv0 beu244gc5aI7R+wxC1JaWS4pH9V/N41UCB89o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777536413; x=1778141213; 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=SU1a88xjNbF5FH9JZcJET1fPupOvrRPSawG9YcgbUbc=; b=IToS8EhaPS+q2I3VxdbhuFYpyG2sqSJMGTjh3tcW6oG7rvGLC37MgBg0lra5X3DIN2 516N+4m8tU/190E5q9Em95c1xBuNfU4RF3cZDvpSxFvTahYBjYS8uDeM+qRJto2juCJG VusCa/1WHOxcdHgMSHVzpO8jnD2UG/mluCDpL0s5Z92i/ImUFoi+fIRDayi1l8Q3qIE8 rbcwOvSNcck6itXpDPu8PSIdg7bQ8S7YvSV68Qktnea1F2ajPpozywy6aPzGdKqn4hjw VGMo6QeEPzaDpyvLW83UIcyUlhekOlXrlZjM24nywr+evp8gstiW9s75lX2uG/LnDXoK UVIw== X-Forwarded-Encrypted: i=2; AFNElJ8lVNPPPwMQhdcLXBuB9RWrbP0L3Ye9j+fo1GNxNc06cOibHUXaL9vf7h8DE7/KcqxVMKETJWuh/G8js410@patchwork.amarulasolutions.com X-Gm-Message-State: AOJu0Yz0IMRYgG3hykrOv7xEzJHcLLJQj+gxcSYFywu0w9SMILO5tAmm PYZBcMKxzzf0QzWxdDzrhStX+3kR5WNmhF+jG2Rj3GUNqddnvCvmPCR4Bpo05MPnfNgyoQ== X-Received: by 2002:a17:907:849:b0:ba6:1412:9326 with SMTP id a640c23a62f3a-bbac67a986bmr119848766b.19.1777536412814; Thu, 30 Apr 2026 01:06:52 -0700 (PDT) X-BeenThere: linux-amarula@amarulasolutions.com; h="AUV6zMPTTsQWH9Fwobtqoef85dUGug2psMFyrSAYfoFDUTXfjw==" Received: by 2002:a05:6000:2a82:b0:43d:1ce7:4927 with SMTP id ffacd0b85a97d-4490c62cb25ls325911f8f.2.-pod-prod-07-eu; Thu, 30 Apr 2026 01:06:51 -0700 (PDT) X-Received: by 2002:a05:6000:1789:b0:43f:e7c4:a36e with SMTP id ffacd0b85a97d-4493d031f0fmr2730615f8f.16.1777536410969; Thu, 30 Apr 2026 01:06:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777536410; cv=none; d=google.com; s=arc-20240605; b=hLU4O0zDpG3+rz4J7jVjxDjJRSgE/uWTwiS2lFGvzq2KeKvvHofIwOTSTeU+wVcv79 5LPpVjZ/H7rNMutpTIu42zMBTm6iUK1o3hsWRCaYmmAcQXcontU8CdeRrLDva/zFVJrF I2xYv2hNnyXOK6/ZjNzMyN8uuF/8MLphMczPlJDIYFxF1E+LOCbwCCy4J9EbXAkit4mm oD2S8tA4zE+aoIS/gvdX9xoyLplqUShlD53f4ru4D3FEuER8oi/HGF0Ink9zhfyQPrtp GavedzYzWpHaxKQgAWzOjZ+fUQq4+QstEtp/UIWmzGhvj7KSm9WVRUQ/ic8h2olvHGk7 n6dg== 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=5S2gUI+yh0xPdb/QwVrb1gySfcxDflQCsZShYuF0V2Q=; fh=z6SRwFgF6SmOB6R6Ln41cEabZggRg20eJjyy89L/HRk=; b=XQg8/MuC+7haK25HQe88iNzAaJVOr7QpJ3Jco3d159HfBEwB8VCD6+OGKFMK9lBBZZ TrPqHWS/V7vDfS0Wgw37y5cMxQTH/ZQv78rtpw6gEh7tdyCwaGuqr14y0HcJwWdlifDC a0EuND2Z1yq5rLquSnWedoKzRpRi+qJIZXanVin++oUkS4Mc+KscfMeuDEsDQHrX9DuT D8C7JMejHPUVnUMWfe8klmrAZlj5qN6hA1HV/QUobFncAOFPnzLLqmgn2nPYpNtm4vQ5 tgGD5A2bCS7PWFIiwcUl+Vgf25QzL2+btn4wZsuxab8k6dLtrhO6gDDHbxDKKkt581Oy jD+Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=kSP2+2k6; 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-447b47d925dsor745206f8f.3.2026.04.30.01.06.50 for (Google Transport Security); Thu, 30 Apr 2026 01:06:50 -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: AeBDiethxpxJIJz1momU88700xCJOWZPeBHstzKzSgYt+d68Q18mp8DTLf343fRRMgf D5lShZr9i/Xw0mckH48hPVFQG79r1U7rre0MwR4eCEKT0PMhSlIaQo3ND7vUh9evGJ904BlnYmL xe/5e7HSxcc8HWda1T7vgFkRrp/cgEUnLDBZQxm6gRVuLI9BbsC21OI41iDp9qNeet98Z908Fc8 qAOoeXODtVcmFA+ba0tTm6i3rfwjgrk+2Sn9EovxIMtvUXxIBEvGCyGJAgkK+REgxLFRCnxzbOe F2Ly57ILVTA7/vNTEtifvi4U+hgVvJwi3WNXVjErIfB+kiJrdjA86gCCnnc5e8XqwIrNYy4t3mO vjWVlWbldQ8OEZmd3yRXoc7yaOatBgpTzZ4Gw+0RpkojrKt0ER0IsNlMRrSZ+YUbXGa5KZ1HVyR twJuQ6ZkgDhAOzFq7M/ch7Kd2O/D6ZoyXtgXbx2vVIX4yHhlBQpxRm8bs8v7ZHE0EqX8AgKKtv1 T934g6e2Qolcyu1EvqcnpWahmc3DgLnApG0eGkymPL3VzSN9g+KnswPqR5T2BSw//zz+LwdUjM9 5NC+xBOoMpWpSnIu019DGIucXfc9gyc2IjLZcB3JmqUSSw== X-Received: by 2002:a05:6000:26c4:b0:441:1fa5:457f with SMTP id ffacd0b85a97d-4493e982952mr2858427f8f.28.1777536410433; Thu, 30 Apr 2026 01:06:50 -0700 (PDT) Received: from dario-ThinkPad-P14s-Gen-5.homenet.telecomitalia.it (host-82-56-22-134.retail.telecomitalia.it. [82.56.22.134]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-449c576d0a2sm668071f8f.31.2026.04.30.01.06.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 30 Apr 2026 01:06:49 -0700 (PDT) From: Dario Binacchi To: u-boot@lists.denx.de Cc: linux-amarula@amarulasolutions.com, Dario Binacchi , Simon Glass , Patrice Chotard , Marek Vasut , Patrick Delaunay , Quentin Schulz , Tom Rini , uboot-stm32@st-md-mailman.stormreply.com Subject: [PATCH v8 8/8] board: st: stm32mp25: support dynamic A/B bank bootup Date: Thu, 30 Apr 2026 10:06:09 +0200 Message-ID: <20260430080627.849636-9-dario.binacchi@amarulasolutions.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260430080627.849636-1-dario.binacchi@amarulasolutions.com> References: <20260430080627.849636-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=kSP2+2k6; 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 Reviewed-by: Patrice Chotard --- Changes in v8: - Add Reviewed-by of Patrice Chotard - Skip cmd_test_part tests for configurations where MMC is not enabled or the device is missing 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"