Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2229913/?format=api
{ "id": 2229913, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2229913/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20260428-spl_fit_full-v1-5-dde63beeaab1@valla.it/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/1.1/projects/18/?format=api", "name": "U-Boot", "link_name": "uboot", "list_id": "u-boot.lists.denx.de", "list_email": "u-boot@lists.denx.de", "web_url": null, "scm_url": null, "webscm_url": null }, "msgid": "<20260428-spl_fit_full-v1-5-dde63beeaab1@valla.it>", "date": "2026-04-28T20:24:46", "name": "[5/5] spl: fit: add ramdisk load", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "924bcfd25021486a2c2193c2e88b43dd608c9f85", "submitter": { "id": 90982, "url": "http://patchwork.ozlabs.org/api/1.1/people/90982/?format=api", "name": "Francesco Valla", "email": "francesco@valla.it" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20260428-spl_fit_full-v1-5-dde63beeaab1@valla.it/mbox/", "series": [ { "id": 501930, "url": "http://patchwork.ozlabs.org/api/1.1/series/501930/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=501930", "date": "2026-04-28T20:24:41", "name": "Enhance the SPL FIT \"full\" loading logic", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501930/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2229913/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2229913/checks/", "tags": {}, "headers": { "Return-Path": "<u-boot-bounces@lists.denx.de>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=antispam.mailspamprotection.com\n header.i=@antispam.mailspamprotection.com header.a=rsa-sha256\n header.s=default header.b=OEK2MzXq;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=valla.it header.i=@valla.it header.a=rsa-sha256\n header.s=default header.b=lCL4F+s1;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=fail (p=none dis=none) header.from=valla.it", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=antispam.mailspamprotection.com\n header.i=@antispam.mailspamprotection.com header.b=\"OEK2MzXq\";\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n unprotected) header.d=valla.it header.i=@valla.it header.b=\"lCL4F+s1\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=valla.it", "phobos.denx.de;\n spf=pass smtp.mailfrom=francesco@valla.it", "\n outgoing.instance-europe-west4-w4q9.prod.antispam.mailspamprotection.com;\n iprev=pass (214.173.214.35.bc.googleusercontent.com)\n smtp.remote-ip=35.214.173.214;\n auth=pass (LOGIN) smtp.auth=esm19.siteground.biz;\n dkim=pass header.d=valla.it header.s=default header.a=rsa-sha256;\n arc=none" ], "Received": [ "from phobos.denx.de (phobos.denx.de\n [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4sQk23lZz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 06:26:22 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id E9DBD84682;\n\tTue, 28 Apr 2026 22:25:32 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id 9CD0F846BC; Tue, 28 Apr 2026 22:25:30 +0200 (CEST)", "from delivery.antispam.mailspamprotection.com\n (delivery.antispam.mailspamprotection.com [185.56.87.3])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id A81268465C\n for <u-boot@lists.denx.de>; Tue, 28 Apr 2026 22:25:28 +0200 (CEST)", "from 214.173.214.35.bc.googleusercontent.com ([35.214.173.214]\n helo=esm19.siteground.biz)\n by instance-europe-west4-w4q9.prod.antispam.mailspamprotection.com with\n esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.99.1)\n (envelope-from <francesco@valla.it>) id 1wHozm-00000002IlQ-02wf\n for u-boot@lists.denx.de; Tue, 28 Apr 2026 20:25:28 +0000", "from [95.248.129.24] (port=64167 helo=[192.168.178.175])\n by esm19.siteground.biz with essmtpa (TLS1.3) tls TLS_AES_256_GCM_SHA384\n (Exim 4.99.1) (envelope-from <francesco@valla.it>)\n id 1wHozO-000000002Bh-2Ypt; Tue, 28 Apr 2026 20:25:02 +0000" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS\n autolearn=ham autolearn_force=no version=3.4.2", "ARC-Seal": "i=1; cv=none; a=rsa-sha256;\n d=outgoing.instance-europe-west4-w4q9.prod.antispam.mailspamprotection.com;\n s=arckey; t=1777407928;\n b=luB6F7T9gWjqiq9nRyXlKCYdDsDCpZxI6n+F7XKGdqwlk/g7/v16dOG6QsrUVXs9kVuekyPrHq\n HOz7VKGXaSR/n86PphkIBaCPEL3qt1sn1k7NXi5Jzdl+JUjUTRpBVZHec1q4L+duFObh75Qxk2\n obTkkhHvGBI98NynOG+ci4e0+4V8p3QaOJBNtevDvzwijsVvergfiuhEbkWJyY/m5L8EaHEnro\n JYDkEWCQLfM2rzN4GARPJAcE6/KyS8PbZLT7dtYAGZmMtKsWGb7CpjD+9Z0hJKU591381G8d7M\n /r+xcZ4XgdUpA2XnQV1ZTpJizRPcGPFa+qUdKiU85Nq57w==;", "ARC-Authentication-Results": "i=1;\n outgoing.instance-europe-west4-w4q9.prod.antispam.mailspamprotection.com;\n smtp.remote-ip=35.214.173.214;\n iprev=pass (214.173.214.35.bc.googleusercontent.com)\n smtp.remote-ip=35.214.173.214;\n auth=pass (LOGIN) smtp.auth=esm19.siteground.biz;\n dkim=pass header.d=valla.it header.s=default header.a=rsa-sha256;\n arc=none", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed;\n d=outgoing.instance-europe-west4-w4q9.prod.antispam.mailspamprotection.com;\n s=arckey; t=1777407928;\n bh=7jl6wuuvBNtHRl1osbqgAZB6XUghFOi5rsEqPct86PE=;\n h=Cc:To:In-Reply-To:References:Message-ID:Content-Transfer-Encoding:\n Content-Type:MIME-Version:Subject:Date:From:DKIM-Signature:DKIM-Signature;\n b=JlcEAS7flm0SznNGd+xLbY8oH20AoIxr5n0I19hDFnfn5vRY4SFRILCJGAY+HQVe0/MyJeABZ3\n AJKCXgFSgZ9it0ItaNgDLwgPkFLpQUR2CU5GU8Cu6mprS4X/p4xSc6j3JsKN+SRSqqCNSH5wLC\n 9+PcCSb7cJ3QPIlqIPuOFDFEOvuQkBen+FVNEFlGX0o+ClVMBMlgkEH+nsxcPTrpYbQItFwh1e\n lksYNagPTrBrcIMDEbvYetFL5rjWjWsgGjp/VBEq4k307QDWysl9bYGrixkRKZiIV006BMiLi0\n da4BJXcnY11MHabQ8PSK+8DiCMOfkk0zxZ8NYROGOcnzzQ==;", "DKIM-Signature": [ "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n d=antispam.mailspamprotection.com; s=default; h=CFBL-Feedback-ID:CFBL-Address\n :Cc:To:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject\n :Date:From:Reply-To:List-Unsubscribe;\n bh=qine4bsizd6qgVWpc9yu2DWG1eJFo1TYw9XAwalci6A=; b=OEK2MzXq6C0Q7FQYGPREAnD/b7\n nHgqDjHZ/x9XFVi+iBlbzNXCUU6d55QxN5snuTBqWc9RLEpAr631T1ozCIChNuhmqa6FysUYg1Wpf\n 6C2RGcMfoGmm/ol+aI5aBEpBNzLFUZSq8sQxg2VAwSpKTonova47oqj9ILaC7yvVG7Wo=;", "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=valla.it;\n s=default; h=Cc:To:Subject:Date:From:list-help:list-unsubscribe:\n list-subscribe:list-post:list-owner:list-archive;\n bh=qine4bsizd6qgVWpc9yu2DWG1eJFo1TYw9XAwalci6A=; b=lCL4F+s1QBlW30eB1ciqS49WQV\n HEHtqjkZ6OMJV2lgw6AkW8DrJXqZtak49XJm4aoKee307UGQR1Mj4lgQHtsk+jm03EAbsr3RyYaEW\n C0A4jjv/Vz/+QM3SBx0JjzagApdQ9c42rYyqDl6rAQcZ6913qFK65Ajo/hNe+n1BN74Y=;" ], "From": "Francesco Valla <francesco@valla.it>", "Date": "Tue, 28 Apr 2026 22:24:46 +0200", "Subject": "[PATCH 5/5] spl: fit: add ramdisk load", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20260428-spl_fit_full-v1-5-dde63beeaab1@valla.it>", "References": "<20260428-spl_fit_full-v1-0-dde63beeaab1@valla.it>", "In-Reply-To": "<20260428-spl_fit_full-v1-0-dde63beeaab1@valla.it>", "To": "u-boot@lists.denx.de", "Cc": "Tom Rini <trini@konsulko.com>, Quentin Schulz <quentin.schulz@cherry.de>,\n Marek Vasut <marek.vasut+renesas@mailbox.org>,\n James Hilliard <james.hilliard1@gmail.com>,\n Julien Stephan <jstephan@baylibre.com>,\n Frank Wunderlich <frank-w@public-files.de>,\n Heinrich Schuchardt <xypron.glpk@gmx.de>,\n Kunihiko Hayashi <hayashi.kunihiko@socionext.com>,\n Anshul Dalal <anshuld@ti.com>, Leo Yu-Chi Liang <ycliang@andestech.com>,\n Andrew Goodbody <andrew.goodbody@linaro.org>,\n Ronald Wahl <ronald.wahl@legrand.com>, Simon Glass <sjg@chromium.org>,\n Dhruva Gole <d-gole@ti.com>,\n Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>,\n Rasmus Villemoes <ravi@prevas.dk>, Michael Walle <mwalle@kernel.org>,\n Marek Vasut <marek.vasut@mailbox.org>,\n Miquel Raynal <miquel.raynal@bootlin.com>,\n Richard Genoud <richard.genoud@bootlin.com>,\n Wolfgang Wallner <wolfgang.wallner@at.abb.com>,\n David Lechner <dlechner@baylibre.com>, Francesco Valla <francesco@valla.it>", "X-Mailer": "b4 0.16-dev", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=4418; i=francesco@valla.it;\n h=from:subject:message-id; bh=7jl6wuuvBNtHRl1osbqgAZB6XUghFOi5rsEqPct86PE=;\n b=owGbwMvMwCX2aH1OUIzHTgbG02pJDJkfxafvdn+Wv5Zd4YuHy3rxfUWyAYcvbivya7n84nDzv\n Od5GndmdZSyMIhxMciKKbKErLtxb89c829pGxgfwcxhZQIZwsDFKQATmW/F8D+zaO4l9dnd5x+9\n eyPDcpBt1UrtHdqO6S2vW8wkDVNYePYw/C/W0y5avzerP6XfQv9B5ez902Uq/Wyu8eoHtk05uFa\n lkBUA", "X-Developer-Key": "i=francesco@valla.it; a=openpgp;\n fpr=CC70CBC9AA13257C6CCED8669601767CA07CA0EA", "X-AntiAbuse": [ "This header was added to track abuse,\n please include it with any abuse report", "Primary Hostname - esm19.siteground.biz", "Original Domain - lists.denx.de", "Originator/Caller UID/GID - [47 12] / [47 12]", "Sender Address Domain - valla.it", "ID - 78b31f77ed268317455fe91c9c9b3285" ], "X-Source": "", "X-Source-Args": "", "X-Source-Dir": "", "X-SGantispam-id": "78b31f77ed268317455fe91c9c9b3285", "AntiSpam-DLS": "false", "AntiSpam-DLSP": "", "AntiSpam-DLSRS": "", "AntiSpam-TS": "1.0", "CFBL-Address": "feedback@antispam.mailspamprotection.com; report=arf", "CFBL-Feedback-ID": "\n 1wHozm-00000002IlQ-02wf-feedback@antispam.mailspamprotection.com", "X-BeenThere": "u-boot@lists.denx.de", "X-Mailman-Version": "2.1.39", "Precedence": "list", "List-Id": "U-Boot discussion <u-boot.lists.denx.de>", "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=unsubscribe>", "List-Archive": "<https://lists.denx.de/pipermail/u-boot/>", "List-Post": "<mailto:u-boot@lists.denx.de>", "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>", "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n <mailto:u-boot-request@lists.denx.de?subject=subscribe>", "Errors-To": "u-boot-bounces@lists.denx.de", "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>", "X-Virus-Scanned": "clamav-milter 0.103.8 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "Add ramdisk loading logic to the \"full\" SPL FIT loader, as well as the\ncorresponding FDT fixup. This is required for proper support of falcon\nboot using FIT images, but is useless for a U-Boot launch, so make it\ndepend on SPL_OS_BOOT.\n\nSigned-off-by: Francesco Valla <francesco@valla.it>\n---\n common/spl/spl.c | 17 ++++++++++++++---\n common/spl/spl_fit.c | 18 ++++++++++++++++--\n include/spl.h | 20 ++++++++++++++++++++\n 3 files changed, 50 insertions(+), 5 deletions(-)", "diff": "diff --git a/common/spl/spl.c b/common/spl/spl.c\nindex a09ebac62c2a..b4890ba9ae83 100644\n--- a/common/spl/spl.c\n+++ b/common/spl/spl.c\n@@ -130,7 +130,7 @@ void __weak spl_perform_board_fixups(struct spl_image_info *spl_image)\n {\n }\n \n-void spl_fixup_fdt(void *fdt_blob)\n+void spl_fixup_fdt(void *fdt_blob, ulong initrd_start, ulong initrd_end)\n {\n #if defined(CONFIG_SPL_OF_LIBFDT)\n \tint err;\n@@ -172,6 +172,14 @@ void spl_fixup_fdt(void *fdt_blob)\n \t\t\treturn;\n \t\t}\n \t}\n+\n+#if IS_ENABLED(CONFIG_SPL_OS_BOOT)\n+\terr = fdt_initrd(fdt_blob, initrd_start, initrd_end);\n+\tif (err) {\n+\t\tprintf(PHASE_PROMPT \"fdt_initrd err - %d\\n\", err);\n+\t\treturn;\n+\t}\n+#endif\n #endif\n }\n \n@@ -789,7 +797,9 @@ void board_init_r(gd_t *dummy1, ulong dummy2)\n \t\tdebug(\"Jumping to %s...\\n\", xpl_name(xpl_next_phase()));\n \t} else if (CONFIG_IS_ENABLED(ATF) && os == IH_OS_ARM_TRUSTED_FIRMWARE) {\n \t\tdebug(\"Jumping to U-Boot via ARM Trusted Firmware\\n\");\n-\t\tspl_fixup_fdt(spl_image_fdt_addr(&spl_image));\n+\t\tspl_fixup_fdt(spl_image_fdt_addr(&spl_image),\n+\t\t\t spl_image_ramdisk_start(&spl_image),\n+\t\t\t spl_image_ramdisk_end(&spl_image));\n \t\tjumper = &spl_invoke_atf;\n \t} else if (CONFIG_IS_ENABLED(OPTEE_IMAGE) && os == IH_OS_TEE) {\n \t\tdebug(\"Jumping to U-Boot via OP-TEE\\n\");\n@@ -804,7 +814,8 @@ void board_init_r(gd_t *dummy1, ulong dummy2)\n \t\t\tfdt = (void *)SPL_PAYLOAD_ARGS_ADDR;\n \t\telse\n \t\t\tfdt = spl_image_fdt_addr(&spl_image);\n-\t\tspl_fixup_fdt(fdt);\n+\t\tspl_fixup_fdt(fdt, spl_image_ramdisk_start(&spl_image),\n+\t\t\t spl_image_ramdisk_end(&spl_image));\n \t\tspl_board_prepare_for_linux();\n \t\tspl_image.arg = fdt;\n \t\tjumper = &jump_to_image_linux;\ndiff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c\nindex 46ebcabe56a1..51933ba7bebf 100644\n--- a/common/spl/spl_fit.c\n+++ b/common/spl/spl_fit.c\n@@ -950,8 +950,8 @@ int spl_load_fit_image(struct spl_image_info *spl_image,\n \tconst char *fit_uname_config = NULL;\n \tulong fdt_hack;\n \tconst char *uname;\n-\tulong fw_data = 0, dt_data = 0, img_data = 0;\n-\tulong fw_len = 0, dt_len = 0, img_len = 0;\n+\tulong fw_data = 0, dt_data = 0, img_data = 0, rd_data = 0;\n+\tulong fw_len = 0, dt_len = 0, img_len = 0, rd_len = 0;\n \tint idx, conf_noffset;\n \tint ret;\n \n@@ -1011,6 +1011,20 @@ int spl_load_fit_image(struct spl_image_info *spl_image,\n \t\t}\n \t}\n \n+\tif (spl_image->os != IH_OS_U_BOOT) {\n+#ifdef CONFIG_SPL_FIT_SIGNATURE\n+\t\timages.verify = 1;\n+#endif\n+\t\tret = fit_image_load(&images, virt_to_phys((void *)header), NULL,\n+\t\t\t\t &fit_uname_config, IH_ARCH_DEFAULT,\n+\t\t\t\t IH_TYPE_RAMDISK, -1, FIT_LOAD_OPTIONAL,\n+\t\t\t\t &rd_data, &rd_len);\n+\t\tif (ret >= 0) {\n+\t\t\tspl_image->ramdisk_addr = rd_data;\n+\t\t\tspl_image->ramdisk_size = rd_len;\n+\t\t}\n+\t}\n+\n \tconf_noffset = fit_conf_get_node((const void *)header,\n \t\t\t\t\t fit_uname_config);\n \tif (conf_noffset < 0)\ndiff --git a/include/spl.h b/include/spl.h\nindex 5078d7525abb..a390cdd841b9 100644\n--- a/include/spl.h\n+++ b/include/spl.h\n@@ -288,6 +288,8 @@ struct spl_image_info {\n \tulong entry_point;\n #if CONFIG_IS_ENABLED(LOAD_FIT) || CONFIG_IS_ENABLED(LOAD_FIT_FULL)\n \tvoid *fdt_addr;\n+\tulong ramdisk_addr;\n+\tulong ramdisk_size;\n #endif\n #if defined(CONFIG_BOOTM_OPTEE) && defined(CONFIG_ARM) && !defined(CONFIG_ARM64)\n \tulong optee_addr;\n@@ -325,6 +327,24 @@ static inline void *spl_image_fdt_addr(struct spl_image_info *info)\n #endif\n }\n \n+static inline ulong spl_image_ramdisk_start(struct spl_image_info *info)\n+{\n+#if CONFIG_IS_ENABLED(LOAD_FIT) || CONFIG_IS_ENABLED(LOAD_FIT_FULL)\n+\treturn info->ramdisk_addr;\n+#else\n+\treturn 0;\n+#endif\n+}\n+\n+static inline ulong spl_image_ramdisk_end(struct spl_image_info *info)\n+{\n+#if CONFIG_IS_ENABLED(LOAD_FIT) || CONFIG_IS_ENABLED(LOAD_FIT_FULL)\n+\treturn info->ramdisk_addr + info->ramdisk_size;\n+#else\n+\treturn 0;\n+#endif\n+}\n+\n struct spl_load_info;\n \n /**\n", "prefixes": [ "5/5" ] }