Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2140913/?format=api
{ "id": 2140913, "url": "http://patchwork.ozlabs.org/api/patches/2140913/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20250923124639.667718-2-anshuld@ti.com/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/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, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20250923124639.667718-2-anshuld@ti.com>", "list_archive_url": null, "date": "2025-09-23T12:46:35", "name": "[v3,1/4] spl: fat: load kernel image before args in falcon", "commit_ref": "6b8e03a95869f99cabeea0728e6f5469f3960bf7", "pull_url": null, "state": "accepted", "archived": false, "hash": "e306ce1a62af6eacc8e2b9170012c758d41e1270", "submitter": { "id": 90324, "url": "http://patchwork.ozlabs.org/api/people/90324/?format=api", "name": "Anshul Dalal", "email": "anshuld@ti.com" }, "delegate": { "id": 3651, "url": "http://patchwork.ozlabs.org/api/users/3651/?format=api", "username": "trini", "first_name": "Tom", "last_name": "Rini", "email": "trini@ti.com" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20250923124639.667718-2-anshuld@ti.com/mbox/", "series": [ { "id": 474844, "url": "http://patchwork.ozlabs.org/api/series/474844/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=474844", "date": "2025-09-23T12:46:35", "name": "Add support for secure falcon mode: load kernel image before args", "version": 3, "mbox": "http://patchwork.ozlabs.org/series/474844/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2140913/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2140913/checks/", "tags": {}, "related": [], "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=pass (1024-bit key;\n unprotected) header.d=ti.com header.i=@ti.com header.a=rsa-sha256\n header.s=ti-com-17Q1 header.b=jd2kP7me;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de\n (client-ip=85.214.62.61; helo=phobos.denx.de;\n envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org)", "phobos.denx.de;\n dmarc=pass (p=quarantine dis=none) header.from=ti.com", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=ti.com header.i=@ti.com header.b=\"jd2kP7me\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=quarantine dis=none) header.from=ti.com", "phobos.denx.de; spf=pass smtp.mailfrom=anshuld@ti.com" ], "Received": [ "from phobos.denx.de (phobos.denx.de [85.214.62.61])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4cWKVl0MNJz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 23 Sep 2025 22:46:54 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 27CB283443;\n\tTue, 23 Sep 2025 14:46:51 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id 59509834D4; Tue, 23 Sep 2025 14:46:50 +0200 (CEST)", "from lelvem-ot01.ext.ti.com (lelvem-ot01.ext.ti.com [198.47.23.234])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n bits)) (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 050B4833E9\n for <u-boot@lists.denx.de>; Tue, 23 Sep 2025 14:46:47 +0200 (CEST)", "from lelvem-sh02.itg.ti.com ([10.180.78.226])\n by lelvem-ot01.ext.ti.com (8.15.2/8.15.2) with ESMTP id 58NCkitb1004639;\n Tue, 23 Sep 2025 07:46:44 -0500", "from DLEE111.ent.ti.com (dlee111.ent.ti.com [157.170.170.22])\n by lelvem-sh02.itg.ti.com (8.18.1/8.18.1) with ESMTPS id 58NCkiej1663052\n (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=FAIL);\n Tue, 23 Sep 2025 07:46:44 -0500", "from DLEE208.ent.ti.com (157.170.170.97) by DLEE111.ent.ti.com\n (157.170.170.22) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.55; Tue, 23\n Sep 2025 07:46:43 -0500", "from lelvem-mr05.itg.ti.com (10.180.75.9) by DLEE208.ent.ti.com\n (157.170.170.97) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.20 via Frontend\n Transport; Tue, 23 Sep 2025 07:46:43 -0500", "from localhost (dhcp-172-24-233-105.dhcp.ti.com [172.24.233.105])\n by lelvem-mr05.itg.ti.com (8.18.1/8.18.1) with ESMTP id 58NCkgYe313782;\n Tue, 23 Sep 2025 07:46:43 -0500" ], "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de", "X-Spam-Level": "", "X-Spam-Status": "No, score=-2.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n RCVD_IN_DNSWL_BLOCKED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,\n RCVD_IN_VALIDITY_RPBL_BLOCKED,SPF_HELO_PASS,SPF_PASS autolearn=ham\n autolearn_force=no version=3.4.2", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;\n s=ti-com-17Q1; t=1758631604;\n bh=+IhmTVOlWXkvr1dbNeH9wTNU2amjm4WuQIEn6AFzXzs=;\n h=From:To:CC:Subject:Date:In-Reply-To:References;\n b=jd2kP7me5GcT4L2yJWFw6Bol+ENxz85OosQx++0DT0rsIJ6a40GQEJcZ21OgsfxFe\n UjUqxI8nSlz/lnAy6BveAzmGpwy/Vg8ktODg7birBM4wsJ7ukbcUW4Jwq8mQGNihVS\n nZS5mqSw+MkriY1nrCz4HR/up0y4OdeHKOz9tyFs=", "From": "Anshul Dalal <anshuld@ti.com>", "To": "<u-boot@lists.denx.de>", "CC": "Anshul Dalal <anshuld@ti.com>, <vigneshr@ti.com>, <trini@konsulko.com>,\n <afd@ti.com>, <m-chawdhry@ti.com>, <n-francis@ti.com>, <b-liu@ti.com>,\n <nm@ti.com>, <bb@ti.com>, <kever.yang@rock-chips.com>,\n <hl@rock-chips.com>, <tim@feathertop.org>,\n <marek.vasut+renesas@mailbox.org>", "Subject": "[PATCH v3 1/4] spl: fat: load kernel image before args in falcon", "Date": "Tue, 23 Sep 2025 18:16:35 +0530", "Message-ID": "<20250923124639.667718-2-anshuld@ti.com>", "X-Mailer": "git-send-email 2.51.0", "In-Reply-To": "<20250923124639.667718-1-anshuld@ti.com>", "References": "<20250923124639.667718-1-anshuld@ti.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-C2ProcessedOrg": "333ef613-75bf-4e12-a4b1-8e3623f5dcea", "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": "Currently in falcon mode, the FS and raw mmc boot loads the args file\nfirst followed by the kernel image whereas others load in the opposite\norder. This inconsistency means falcon boot doesn't behave the same\nacross various boot media.\n\nFor example, in the case where the kernel file is a FIT with the kernel\nimage present alongside the dtb and the args file is another DT, which\nDT should be picked? The one form the FIT or the one set by the args\nfile? Currently this depends entirely on how the boot media handles\nfalcon mode.\n\nTherefore, this patch enforces the load order of the kernel image first\nfollowed by the args file in FAT FS boot. So in the above example, the\nargs file would take precedence.\n\nReviewed-by: Tom Rini <trini@konsulko.com>\nSigned-off-by: Anshul Dalal <anshuld@ti.com>\n---\n common/spl/spl_fat.c | 41 ++++++++++++++++++++++++-----------------\n 1 file changed, 24 insertions(+), 17 deletions(-)", "diff": "diff --git a/common/spl/spl_fat.c b/common/spl/spl_fat.c\nindex 8b7cafa7291..2c8eee01272 100644\n--- a/common/spl/spl_fat.c\n+++ b/common/spl/spl_fat.c\n@@ -119,32 +119,40 @@ int spl_load_image_fat_os(struct spl_image_info *spl_image,\n \tif (err)\n \t\treturn err;\n \n-#if defined(CONFIG_SPL_ENV_SUPPORT) && defined(CONFIG_SPL_OS_BOOT)\n-\tfile = env_get(\"falcon_args_file\");\n+\tif (!CONFIG_IS_ENABLED(ENV_SUPPORT))\n+\t\tgoto defaults;\n+\n+\tfile = env_get(\"falcon_image_file\");\n \tif (file) {\n-\t\terr = file_fat_read(file, (void *)CONFIG_SPL_PAYLOAD_ARGS_ADDR, 0);\n-\t\tif (err <= 0) {\n-\t\t\tprintf(\"spl: error reading image %s, err - %d, falling back to default\\n\",\n-\t\t\t file, err);\n+\t\terr = spl_load_image_fat(spl_image, bootdev, block_dev,\n+\t\t\t\t\t partition, file);\n+\t\tif (err != 0) {\n+\t\t\tputs(\"spl: falling back to default\\n\");\n \t\t\tgoto defaults;\n \t\t}\n-\t\tfile = env_get(\"falcon_image_file\");\n+\n+\t\tfile = env_get(\"falcon_args_file\");\n \t\tif (file) {\n-\t\t\terr = spl_load_image_fat(spl_image, bootdev, block_dev,\n-\t\t\t\t\t\t partition, file);\n-\t\t\tif (err != 0) {\n-\t\t\t\tputs(\"spl: falling back to default\\n\");\n+\t\t\terr = file_fat_read(\n+\t\t\t\tfile, (void *)CONFIG_SPL_PAYLOAD_ARGS_ADDR, 0);\n+\t\t\tif (err <= 0) {\n+\t\t\t\tprintf(\"spl: error reading args %s, err - %d, falling back to default\\n\",\n+\t\t\t\t file, err);\n \t\t\t\tgoto defaults;\n \t\t\t}\n-\n \t\t\treturn 0;\n \t\t} else\n-\t\t\tputs(\"spl: falcon_image_file not set in environment, falling back to default\\n\");\n+\t\t\tputs(\"spl: falcon_args_file not set in environment, falling back to default\\n\");\n \t} else\n-\t\tputs(\"spl: falcon_args_file not set in environment, falling back to default\\n\");\n+\t\tputs(\"spl: falcon_image_file not set in environment, falling back to default\\n\");\n \n defaults:\n-#endif\n+\n+\terr = spl_load_image_fat(spl_image, bootdev, block_dev, partition,\n+\t\t\t\t CONFIG_SPL_FS_LOAD_KERNEL_NAME);\n+\n+\tif (err)\n+\t\treturn err;\n \n \terr = file_fat_read(CONFIG_SPL_FS_LOAD_ARGS_NAME,\n \t\t\t (void *)CONFIG_SPL_PAYLOAD_ARGS_ADDR, 0);\n@@ -156,8 +164,7 @@ defaults:\n \t\treturn -1;\n \t}\n \n-\treturn spl_load_image_fat(spl_image, bootdev, block_dev, partition,\n-\t\t\tCONFIG_SPL_FS_LOAD_KERNEL_NAME);\n+\treturn 0;\n }\n #else\n int spl_load_image_fat_os(struct spl_image_info *spl_image,\n", "prefixes": [ "v3", "1/4" ] }