Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1745959/?format=api
{ "id": 1745959, "url": "http://patchwork.ozlabs.org/api/patches/1745959/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/20230221201925.9644-6-pali@kernel.org/", "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": "<20230221201925.9644-6-pali@kernel.org>", "list_archive_url": null, "date": "2023-02-21T20:18:31", "name": "[RFC,u-boot-mvebu,05/59] tools: kwbimage: Fix generating, verifying and extracting SATA kwbimage", "commit_ref": "954c94aaccf825d0142b3a36ff65f46721f4c733", "pull_url": null, "state": "accepted", "archived": false, "hash": "8f6e193e233e6a3ce1634079a4345a8e0554c950", "submitter": { "id": 78810, "url": "http://patchwork.ozlabs.org/api/people/78810/?format=api", "name": "Pali Rohár", "email": "pali@kernel.org" }, "delegate": { "id": 1696, "url": "http://patchwork.ozlabs.org/api/users/1696/?format=api", "username": "stroese", "first_name": "Stefan", "last_name": "Roese", "email": "sr@denx.de" }, "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/20230221201925.9644-6-pali@kernel.org/mbox/", "series": [ { "id": 343058, "url": "http://patchwork.ozlabs.org/api/series/343058/?format=api", "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=343058", "date": "2023-02-21T20:18:27", "name": "arm: mvebu: Various fixes", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/343058/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1745959/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1745959/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 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=<UNKNOWN>)", "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=b+ZqrfL5;\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kernel.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=kernel.org header.i=@kernel.org header.b=\"b+ZqrfL5\";\n\tdkim-atps=neutral", "phobos.denx.de;\n dmarc=pass (p=none dis=none) header.from=kernel.org", "phobos.denx.de; spf=pass smtp.mailfrom=pali@kernel.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 (P-384) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4PLvXJ4cKzz240n\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Feb 2023 09:46:08 +1100 (AEDT)", "from h2850616.stratoserver.net (localhost [IPv6:::1])\n\tby phobos.denx.de (Postfix) with ESMTP id 24247859CD;\n\tTue, 21 Feb 2023 23:45:58 +0100 (CET)", "by phobos.denx.de (Postfix, from userid 109)\n id A655D85A56; Tue, 21 Feb 2023 23:45:56 +0100 (CET)", "from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by phobos.denx.de (Postfix) with ESMTPS id 3EBBB85917\n for <u-boot@lists.denx.de>; Tue, 21 Feb 2023 23:45:54 +0100 (CET)", "from smtp.kernel.org (relay.kernel.org [52.25.139.140])\n (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n (No client certificate requested)\n by ams.source.kernel.org (Postfix) with ESMTPS id CD722B80F01\n for <u-boot@lists.denx.de>; Tue, 21 Feb 2023 22:45:53 +0000 (UTC)", "by smtp.kernel.org (Postfix) with ESMTPSA id 32534C433D2\n for <u-boot@lists.denx.de>; Tue, 21 Feb 2023 22:45:52 +0000 (UTC)", "by pali.im (Postfix)\n id 73A5570C; Tue, 21 Feb 2023 23:45:49 +0100 (CET)", "by pali.im (Postfix)\n id 4A5C8AC9; Tue, 21 Feb 2023 21:22:28 +0100 (CET)" ], "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,DKIMWL_WL_HIGH,\n DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,\n SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n s=k20201202; t=1677019552;\n bh=uIhorCl3gal47NAFkeJL69zKqptdc2xviUTK87TPm+g=;\n h=Resent-From:Resent-Date:Resent-To:From:To:Cc:Subject:Date:\n In-Reply-To:References:From;\n b=b+ZqrfL5P10RqRnSSiFO+D42QSfyM4NvohzyPOfjk9KduaCwhbWSCUKg4hr3hQGgg\n flVxOsCZUuBfV7TcF0AMZLucXlnHCmJu3jwmvbYc8Q3x/h5t4A5ZydobQlfTkVV1a3\n 1bznWHJTcHxa5DP0PrO166D238xlVQ2wl+NYOC8a3QRYr+g+5/v8hMhUQfIt/yMgZa\n 1bEAD8WnirYS1YFOxEWEaP86eHGyNBB7nXXzDhnqvJb8eFgRm9EYt7oLvZb91WC+Zn\n u0pt7D4r36p8xtq6CL9DwFKvON2R+f5Hf2/f4p599BaEQHjryEdGywNDbYdDvHiFk+\n uN1VEy1QtAPVw==", "Resent-From": "Pali =?utf-8?b?Um9ow6Fy?= <pali@kernel.org>", "Resent-Date": "Tue, 21 Feb 2023 23:45:49 +0100", "Resent-Message-ID": "<20230221224549.zkli4m4khyelctxc@pali>", "Resent-To": "u-boot@lists.denx.de", "From": "=?utf-8?q?Pali_Roh=C3=A1r?= <pali@kernel.org>", "To": "u-boot@lists.denx.de", "Cc": "Stefan Roese <sr@denx.de>, Tony Dinh <mibodhi@gmail.com>,\n Josua Mayer <josua@solid-run.com>", "Subject": "[PATCH RFC u-boot-mvebu 05/59] tools: kwbimage: Fix generating,\n verifying and extracting SATA kwbimage", "Date": "Tue, 21 Feb 2023 21:18:31 +0100", "Message-Id": "<20230221201925.9644-6-pali@kernel.org>", "X-Mailer": "git-send-email 2.20.1", "In-Reply-To": "<20230221201925.9644-1-pali@kernel.org>", "References": "<20230221201925.9644-1-pali@kernel.org>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "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.6 at phobos.denx.de", "X-Virus-Status": "Clean" }, "content": "Despite the official specification, Marvell BootROM does not interpret\nsrcaddr from SATA image as number of sectors the beginning of the hard\ndrive, but as number of sectors relative to the main header.\n\nThe main header is stored at absolute sector number 1. So do not add or\nsubtract it when calculating with relative offsets to the main header.\n\nFixes: 501a54a29cc2 (\"tools: kwbimage: Fix generation of SATA, SDIO and PCIe images\")\nFixes: 5c61710c9880 (\"tools: kwbimage: Properly set srcaddr in kwbimage v0\")\nFixes: e0c243c398a7 (\"tools: kwbimage: Validate data checksum of v1 images\")\nFixes: aa6943ca3122 (\"kwbimage: Add support for extracting images via dumpimage tool\")\nSigned-off-by: Pali Rohár <pali@kernel.org>\n---\n tools/kwbimage.c | 24 +++++++-----------------\n 1 file changed, 7 insertions(+), 17 deletions(-)", "diff": "diff --git a/tools/kwbimage.c b/tools/kwbimage.c\nindex 09d52d47652f..67b45503e466 100644\n--- a/tools/kwbimage.c\n+++ b/tools/kwbimage.c\n@@ -1013,13 +1013,12 @@ static void *image_create_v0(size_t *imagesz, struct image_tool_params *params,\n \t\t\t\t\t sizeof(struct main_hdr_v0));\n \n \t/*\n-\t * For SATA srcaddr is specified in number of sectors starting from\n-\t * sector 0. The main header is stored at sector number 1.\n+\t * For SATA srcaddr is specified in number of sectors.\n \t * This expects the sector size to be 512 bytes.\n \t * Header size is already aligned.\n \t */\n \tif (main_hdr->blockid == IBR_HDR_SATA_ID)\n-\t\tmain_hdr->srcaddr = cpu_to_le32(headersz / 512 + 1);\n+\t\tmain_hdr->srcaddr = cpu_to_le32(headersz / 512);\n \n \t/* For PCIe srcaddr is not used and must be set to 0xFFFFFFFF. */\n \tif (main_hdr->blockid == IBR_HDR_PEX_ID)\n@@ -1461,13 +1460,12 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,\n \t\tmain_hdr->flags = e->debug ? 0x1 : 0;\n \n \t/*\n-\t * For SATA srcaddr is specified in number of sectors starting from\n-\t * sector 0. The main header is stored at sector number 1.\n+\t * For SATA srcaddr is specified in number of sectors.\n \t * This expects the sector size to be 512 bytes.\n \t * Header size is already aligned.\n \t */\n \tif (main_hdr->blockid == IBR_HDR_SATA_ID)\n-\t\tmain_hdr->srcaddr = cpu_to_le32(headersz / 512 + 1);\n+\t\tmain_hdr->srcaddr = cpu_to_le32(headersz / 512);\n \n \t/* For PCIe srcaddr is not used and must be set to 0xFFFFFFFF. */\n \tif (main_hdr->blockid == IBR_HDR_PEX_ID)\n@@ -2010,16 +2008,10 @@ static int kwbimage_verify_header(unsigned char *ptr, int image_size,\n \n \t/*\n \t * For SATA srcaddr is specified in number of sectors.\n-\t * The main header is must be stored at sector number 1.\n-\t * This expects that sector size is 512 bytes and recalculates\n-\t * data offset to bytes relative to the main header.\n+\t * This expects that sector size is 512 bytes.\n \t */\n-\tif (blockid == IBR_HDR_SATA_ID) {\n-\t\tif (offset < 1)\n-\t\t\treturn -FDT_ERR_BADSTRUCTURE;\n-\t\toffset -= 1;\n+\tif (blockid == IBR_HDR_SATA_ID)\n \t\toffset *= 512;\n-\t}\n \n \t/*\n \t * For PCIe srcaddr is always set to 0xFFFFFFFF.\n@@ -2377,10 +2369,8 @@ static int kwbimage_extract_subimage(void *ptr, struct image_tool_params *params\n \t\t/* Extract data image when -p is not specified or when '-p 0' is specified */\n \t\toffset = le32_to_cpu(mhdr->srcaddr);\n \n-\t\tif (mhdr->blockid == IBR_HDR_SATA_ID) {\n-\t\t\toffset -= 1;\n+\t\tif (mhdr->blockid == IBR_HDR_SATA_ID)\n \t\t\toffset *= 512;\n-\t\t}\n \n \t\tif (mhdr->blockid == IBR_HDR_PEX_ID && offset == 0xFFFFFFFF)\n \t\t\toffset = header_size;\n", "prefixes": [ "RFC", "u-boot-mvebu", "05/59" ] }