Cover Letter Detail
Show a cover letter.
GET /api/1.2/covers/2233064/?format=api
{ "id": 2233064, "url": "http://patchwork.ozlabs.org/api/1.2/covers/2233064/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/cover/20260505-b4-qcom-tooling-improvements-v6-0-a5fb673f4af6@linaro.org/", "project": { "id": 18, "url": "http://patchwork.ozlabs.org/api/1.2/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": "<20260505-b4-qcom-tooling-improvements-v6-0-a5fb673f4af6@linaro.org>", "list_archive_url": null, "date": "2026-05-05T15:48:40", "name": "[v6,0/6] Qualcomm: teach the build system to emit signed ELF images", "submitter": { "id": 90679, "url": "http://patchwork.ozlabs.org/api/1.2/people/90679/?format=api", "name": "Casey Connolly", "email": "casey.connolly@linaro.org" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/cover/20260505-b4-qcom-tooling-improvements-v6-0-a5fb673f4af6@linaro.org/mbox/", "series": [ { "id": 502858, "url": "http://patchwork.ozlabs.org/api/1.2/series/502858/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=502858", "date": "2026-05-05T15:48:40", "name": "Qualcomm: teach the build system to emit signed ELF images", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/502858/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/2233064/comments/", "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 (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=K5Ek8PNG;\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=pass (p=none dis=none) header.from=linaro.org", "phobos.denx.de;\n spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de", "phobos.denx.de;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.b=\"K5Ek8PNG\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=linaro.org", "phobos.denx.de;\n spf=pass smtp.mailfrom=casey.connolly@linaro.org" ], "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 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g92xS2Jfsz1yJx\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 06 May 2026 01:49:00 +1000 (AEST)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 9216C84968;\n\tTue, 5 May 2026 17:48:51 +0200 (CEST)", "by phobos.denx.de (Postfix, from userid 109)\n id 0886D84951; Tue, 5 May 2026 17:48:50 +0200 (CEST)", "from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com\n [IPv6:2a00:1450:4864:20::32b])\n (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 86678848B7\n for <u-boot@lists.denx.de>; Tue, 5 May 2026 17:48:47 +0200 (CEST)", "by mail-wm1-x32b.google.com with SMTP id\n 5b1f17b1804b1-48a563e4ef7so52483945e9.0\n for <u-boot@lists.denx.de>; Tue, 05 May 2026 08:48:47 -0700 (PDT)", "from lion.localdomain (p4fc3dd86.dip0.t-ipconnect.de.\n [79.195.221.134]) by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-48d182ee923sm20305955e9.27.2026.05.05.08.48.45\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 05 May 2026 08:48:46 -0700 (PDT)" ], "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 SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1777996127; x=1778600927; darn=lists.denx.de;\n h=cc:to:content-transfer-encoding:mime-version:message-id:date\n :subject:from:from:to:cc:subject:date:message-id:reply-to;\n bh=S/7gda3sNAl11QWNRJuwPtWRqAGrJGJ4ta8DK+rxbMM=;\n b=K5Ek8PNGxTfvHcFO3JQd/Xb/Kk53IhQH5y7gA7nCpTJX/6jCJJ2Hhf3ImBJQvgy0Ww\n OwcjLRY1yeg3qSMY9x00hTov+nAPn2wgqQEfhSHxKQ146svPmorVLMMMJHDrvsz1K7Ua\n 5XrkVkbwwv8DlJFZGunYUNnO/EMA5rh657SWvZoZVyAnBD05cJ9BZnU9ueNSpdRgKeze\n MCmwic+NG5JnGoJZzhDP9VNhhf21DZLuphuuSIpjZf34uUcHMWfmXqsp7hBiRSu0B8rI\n qEityOEPUoeaIfSax1UYAFOm8AGK/nFHg2Vyvcj3d9cndTRkysstPMhANlgSkSGK6289\n Jq4w==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777996127; x=1778600927;\n h=cc:to:content-transfer-encoding:mime-version:message-id:date\n :subject:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=S/7gda3sNAl11QWNRJuwPtWRqAGrJGJ4ta8DK+rxbMM=;\n b=gw+w0nsrsx+I0oevMb3WQK6PjQ+GjHZiGEM8AszvN82+To5jyL/hwzPCzGifMgE8Wg\n VXNYNNwAU4YGYtJXtUrdscp+zzNePBpbHOn1U343CJ64YLx2hcl4OSFhsMtodeBxD6al\n rmlBEyZ7NCz/AJXfwaJPfF08I9UASp5+DwWX2uU+GcETSQIILCwGgx5J4lzj/RyHldk5\n /aS3D4EdQs7tGaStuLQMYeEtiaacEx9zzfYrqF1lr+FtcGHA2EdQJ/YnXeCVOzo98sl0\n +swLPFzmpT4N2O0NpHwVmpxUFru5qCkwTAa6NSzMubHxzFe1gjw2GSAeGCxfPysntkqs\n sLFw==", "X-Gm-Message-State": "AOJu0YxQHNLGYFpFj3FoxRjHh6iJrVE/JCfialZaBbLSoqm2GlK6yVVV\n jkoEp4gt6lhPICVxc77nAipQPw9LW5ZLhz9qJtt6Vu8XBLcLFx1ZoYzPJ+4SikQAoyc=", "X-Gm-Gg": "AeBDietRSMR7ANvttjn72RZsF++sefTa2qRL+scqF8UuVRcJELQEh0hpX92Tq+vBCZR\n FqDGTTOBAjHQVeJzjZuuPqS8HncJ3ITR5S0UT3C5vUeyaBaJbaXqk3zvIpOkYOaA+wr4b5lLLAG\n 6nIHMMpcVPLODXpAGK+gQH5t+P2DdRcnLHnT4Qn/cKcoPucLq9/ggWwYkt2WTV/ZvjNUFm9917F\n sO6DJ/WGLD3iEGbhQWTmTfv1YOygq2BxDqYq1ENWo8n9eivzmwnyOr+icaHO8v1ttqkyZjXFgKi\n n3da/xa7NnotlpbgCo8wiemj50O6GQvGyWOqKbpdmJ2KOyAW8kW9h/EbV9KZJY7rNnPHQjLXWL1\n +ffOgCwOu0rW50/xvLsv3TfVNATa16qeCWdtQcsxfx5WSbyB6IPENwmnNXrZ1ek3Ne0nFOkLBFR\n tmiHwMqLUe3qLeGIeIIfRmRUwHL6ysjyYcSmS/r4MCIOKnM5XhBglzl4LPXFOIigXuyC96eE99M\n oHp3RQ=", "X-Received": "by 2002:a05:600c:c094:b0:48d:5c1:bc3b with SMTP id\n 5b1f17b1804b1-48d18cef847mr46012455e9.24.1777996126856;\n Tue, 05 May 2026 08:48:46 -0700 (PDT)", "From": "Casey Connolly <casey.connolly@linaro.org>", "Subject": "[PATCH v6 0/6] Qualcomm: teach the build system to emit signed ELF\n images", "Date": "Tue, 05 May 2026 17:48:40 +0200", "Message-Id": "\n <20260505-b4-qcom-tooling-improvements-v6-0-a5fb673f4af6@linaro.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "X-B4-Tracking": "v=1; b=H4sIAAAAAAAC/43QS27DIBCA4atErEPF8HZWuUfVBWBwkGKTgIVaR\n b57cTZJ5YW7/Eejb6R5oOJz9AWdDg+UfY0lpqmFPB6Qu5hp8Dj2rRElVBBBKbYc310a8ZzSNU4\n DjuMtp+pHP80FG8uJ0MICGECNuGUf4veT//xqfYllTvnnea3COv0nXAETrIGD1Z0QLthz2zE5f\n aQ8oFWu9KVJsqfRpjnVQ+dIz43eauxNgz2NNU3JwLgLFKSnG42/a2xH46vmDTipleqC2Wjipan\n dv4mm9QE4C0C5Cu6PtizLL3a5GPEBAgAA", "X-Change-ID": "20250522-b4-qcom-tooling-improvements-ab40585b11a1", "To": "u-boot@lists.denx.de, Sumit Garg <sumit.garg@kernel.org>,\n u-boot-qcom@groups.io", "Cc": "Tom Rini <trini@konsulko.com>,\n Casey Connolly <casey.connolly@linaro.org>,\n Neil Armstrong <neil.armstrong@linaro.org>,\n Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>,\n Varadarajan Narayanan <quic_varada@quicinc.com>,\n Quentin Schulz <quentin.schulz@cherry.de>,\n Heinrich Schuchardt <xypron.glpk@gmx.de>,\n Marek Vasut <marek.vasut+renesas@mailbox.org>, Peng Fan <peng.fan@nxp.com>,\n Jaehoon Chung <jh80.chung@samsung.com>,\n Aswin Murugan <aswin.murugan@oss.qualcomm.com>,\n Ilias Apalodimas <ilias.apalodimas@linaro.org>,\n Michal Simek <michal.simek@amd.com>, David Lechner <dlechner@baylibre.com>", "X-Mailer": "b4 0.16-dev", "X-Developer-Signature": "v=1; a=openpgp-sha256; l=5205;\n i=casey.connolly@linaro.org; h=from:subject:message-id;\n bh=gDk+O/cApejPabkG3t6f4AAH6A2YOnL/5Uuja7iI4d8=;\n b=owGbwMvMwCFYaeA6f6eBkTjjabUkhsxfgjEhD59qr/s7qWZKkk7RWt8Lom/lf8oaFrtzclaqs\n 67+bvapo5SFQZCDQVZMkUX8xDLLprWX7TW2L7gAM4eVCWQIAxenAEyk7wzDf+99jt6XTq23Ne1W\n fc0pdelZdfrf6zatDZpz2CO/aUg8d2L4p3HP6v2qOg/LVHlJSbmLbRaqS/tFr70wSftkf2Ju1Zl\n /uwA=", "X-Developer-Key": "i=casey.connolly@linaro.org; a=openpgp;\n fpr=83B24DA7FE145076BC38BB250CD904EB673A7C47", "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 the build process for flashing U-Boot as the first-stage\nbootloader on Qualcomm platforms requires a manual step of test-signing\nthe emitted ELF binary with the appropriate settings for it to be\nproperly accepted by the pre-loader.\n\nTo address this, let's introduce a new tool \"mkmbn.py\", this is based\non the existing qtestsign[1] tool but introduces lookup table that maps\nfrom a boards DT compatible property to the load address it needs.\n\nA new config option (QCOM_GENERATE_MBN) is added so that\nBUILD_TARGET can be set automatically and avoid the need to manually\nspecify the target on the cmdline. The make target is added in\nboard/qualcomm/config.mk with a minor adjustment to the toplevel\nconfig.mk to properly check this path.\n\nThe various platforms which currently rely on manual post-processing\nwith qtestsign are adapted to leverage mkmbn instead. New platforms can\nbe supported just by adding an entry to mkmbn.py with the same data that\nwould otherwise be encoded in the qtestsign cmdline args.\n\nThe Qualcomm documentation is also cleaned up, a new \"signing\" page\nis added to briefly cover the what and why of MBN signing, and board\nspecific pages are updated to explain the new build process.\n\n[1]: https://github.com/msm8916-mainline/qtestsign\n\n---\nChanges in v6:\n- Drop binman in favour of introducing a make target and associated\n kconfig infra, this drastically simplifies the tooling.\n- Various minor fixes/improvements to mkmbn.py\n- Link to v5: https://lore.kernel.org/r/20250722-b4-qcom-tooling-improvements-v5-0-df143f1247fc@linaro.org\n\nChanges in v5:\n- Rebase on master (dropped trogdor chromebook series)\n- Directly import the MBN signing code from qtestsign and then adjust\n it in a separate commit so it can be updated in the future.\n- Disable BINMAN_FDT when ARCH_SNAPDRAGON is enabled\n- Set default value for BINMAN_DTB in mach-snapdragon/Kconfig rather\n than having to set it in all defconfigs.\n- Add a comment to the top of mkmbn.py explaining it's purpose.\n- Link to v4: https://lore.kernel.org/r/20250613-b4-qcom-tooling-improvements-v4-0-7ea1c68779fa@linaro.org\n\nChanges in v4:\n- Rework how qtestsign code is imported to make it easier to sync with upstream in the future.\n- Actually raise an exception when mkmbn fails in an unexpected way.\n- Link to v3: https://lore.kernel.org/r/20250612-b4-qcom-tooling-improvements-v3-0-76f34cf216e2@linaro.org\n\nChanges in v3:\n- Fixup Makefiles and add missing qcom-binman.dts\n- Adjust wording to reflect changes to build process\n- Link to v2: https://lore.kernel.org/r/20250602-b4-qcom-tooling-improvements-v2-0-c7d19c0d4a8b@linaro.org\n\nChanges in v2:\n- Reworked to use binman with a plugin to build the u-boot.mbn file\n- Added some fixes for binman to work with OF_UPSTREAM and with tools\n in the srctree toolpath rather than objtree for out of tree builds.\n- Link to v1: https://lore.kernel.org/r/20250522-b4-qcom-tooling-improvements-v1-0-8141b8955cfb@linaro.org\n\nTo: u-boot@lists.denx.de\nTo: Sumit Garg <sumit.garg@kernel.org>\nTo: u-boot-qcom@groups.io\nCc: Tom Rini <trini@konsulko.com>\nCc: Casey Connolly <casey.connolly@linaro.org>\nCc: Neil Armstrong <neil.armstrong@linaro.org>\nCc: Balaji Selvanathan <balaji.selvanathan@oss.qualcomm.com>\nCc: Varadarajan Narayanan <quic_varada@quicinc.com>\nCc: Quentin Schulz <quentin.schulz@cherry.de>\nCc: Heinrich Schuchardt <xypron.glpk@gmx.de>\nCc: Marek Vasut <marek.vasut+renesas@mailbox.org>\nCc: Peng Fan <peng.fan@nxp.com>\nCc: Jaehoon Chung <jh80.chung@samsung.com>\nCc: Aswin Murugan <aswin.murugan@oss.qualcomm.com>\nCc: Ilias Apalodimas <ilias.apalodimas@linaro.org>\nCc: Michal Simek <michal.simek@amd.com>\nCc: David Lechner <dlechner@baylibre.com>\n\n---\nCasey Connolly (6):\n config.mk: support vendor generic includes\n tools: qcom: introduce mkmbn library\n tools: qcom: add mkmbn.py\n doc: board/qualcomm: update docs for new u-boot.mbn target\n mach-snapdragon: add kconfig infra for building MBN files\n configs: qcom: use mkmbn and stop building ELF files\n\n Kconfig | 1 +\n arch/arm/mach-snapdragon/Kconfig | 11 ++\n board/qualcomm/config.mk | 14 ++\n config.mk | 6 +-\n configs/qcm6490_defconfig | 2 +-\n configs/qcom_ipq9574_mmc_defconfig | 2 +-\n configs/qcom_qcs615_defconfig | 2 +-\n configs/qcom_qcs8300_defconfig | 2 +-\n configs/qcom_qcs9100_defconfig | 2 +-\n doc/board/qualcomm/dragonwing.rst | 14 +-\n doc/board/qualcomm/index.rst | 1 +\n doc/board/qualcomm/rb3gen2.rst | 30 ++--\n doc/board/qualcomm/rdp.rst | 5 +-\n doc/board/qualcomm/signing.rst | 29 +++\n tools/mkmbn | 1 +\n tools/qcom/mkmbn/cert.py | 127 +++++++++++++\n tools/qcom/mkmbn/elf.py | 241 +++++++++++++++++++++++++\n tools/qcom/mkmbn/hashseg.py | 356 +++++++++++++++++++++++++++++++++++++\n tools/qcom/mkmbn/mkmbn.py | 165 +++++++++++++++++\n 19 files changed, 977 insertions(+), 34 deletions(-)\n---\nbase-commit: bb0f3eebb3c196d9b6efbbd1e5aa9b16abbb9ad6\n\n// Casey (she/they)" }