Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2195817/?format=api
{ "id": 2195817, "url": "http://patchwork.ozlabs.org/api/patches/2195817/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260212033435.3598-2-ltaylorsimpson@gmail.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260212033435.3598-2-ltaylorsimpson@gmail.com>", "list_archive_url": null, "date": "2026-02-12T03:34:28", "name": "[1/8] Hexagon (target/hexagon) Properly handle Hexagon CPU version", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "ef6870aee280903546ce647391b4222b879c9c13", "submitter": { "id": 86757, "url": "http://patchwork.ozlabs.org/api/people/86757/?format=api", "name": "Taylor Simpson", "email": "ltaylorsimpson@gmail.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260212033435.3598-2-ltaylorsimpson@gmail.com/mbox/", "series": [ { "id": 491930, "url": "http://patchwork.ozlabs.org/api/series/491930/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=491930", "date": "2026-02-12T03:34:34", "name": "Hexagon (target/hexagon) Check opcodes versions", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/491930/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2195817/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2195817/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "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=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20230601 header.b=ckoSkvOh;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fBLYN360Tz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 12 Feb 2026 14:35:52 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vqNTZ-0007i1-9P; Wed, 11 Feb 2026 22:34:45 -0500", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <ltaylorsimpson@gmail.com>)\n id 1vqNTX-0007hK-JG\n for qemu-devel@nongnu.org; Wed, 11 Feb 2026 22:34:43 -0500", "from mail-ot1-x331.google.com ([2607:f8b0:4864:20::331])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <ltaylorsimpson@gmail.com>)\n id 1vqNTW-0008H5-34\n for qemu-devel@nongnu.org; Wed, 11 Feb 2026 22:34:43 -0500", "by mail-ot1-x331.google.com with SMTP id\n 46e09a7af769-7d189e5b05eso3103076a34.0\n for <qemu-devel@nongnu.org>; Wed, 11 Feb 2026 19:34:41 -0800 (PST)", "from taylor-ubuntu.. (c-67-172-136-152.hsd1.co.comcast.net.\n [67.172.136.152]) by smtp.gmail.com with ESMTPSA id\n 46e09a7af769-7d4a76e1b0csm2682858a34.14.2026.02.11.19.34.39\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 11 Feb 2026 19:34:40 -0800 (PST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20230601; t=1770867280; x=1771472080; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=xRXKnuEh2uHJat43zyXFYeTE1jG7/LV3dKmllN9ZhII=;\n b=ckoSkvOhTpn8nHaMST198ARZ7VDlXPn6ooPdCh36SnRAAakHHAGAF1p9wtVk6/0ad7\n enXvscUM0nUsChsyZhMVe8aswHqh+TmGBsERZq6sqGsUvm+lTVooYQp/Oo3vv8RyHHhk\n tWOkDCMpqQDr3gULZGOuWNsBmSttM+rbr/H9qdmrGKCScyNrDNWCQZUVEpKrCJFogmb3\n w24ZfjjuoMxdsuc6cWVRr30AbGY8z25KxWZpdJf9Ov7BvlP4L+n8AG0A8yWW5PcR8QRz\n TTnjaPIM3LYx0x5/Wm7yesZbQPOJ2w3qqRdEz4Brk0nPxYDRYdcyM4l+LgJ5qkiBTfOD\n ytwQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770867280; x=1771472080;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=xRXKnuEh2uHJat43zyXFYeTE1jG7/LV3dKmllN9ZhII=;\n b=HovnY2NCcMKc7S2gxM9bVM5zKahJMDdsvQzqFj/qeSgcKhseahZkBuLYGyu3h0wjXy\n brQh+JQfpUwUL3s9tRZ3r/o6T3m/vXnxyaLxKgSKNanfE94MGHwwDGtYnjgNngUSmL7H\n 4cb739eXaa7W1w388xIhPJrDl32kxCdY29oVfx92IrQkVAvgrJaSjC2V/Oe5vrYmbrXP\n U1bwMLdp392T/VpufR1MVcuzM2En6YXqN+en2ifjoD8nucbqRQkNAj6EBe6lWnatIMGH\n gaiezBqXJDTG/7lRawhwMHroDYSTIQBvTOHWq/lRQ8QvlwwDRQ4iHc1BRaEmZcoFZUXB\n cjxA==", "X-Gm-Message-State": "AOJu0YxONTQLxK9WNwJ3iFQsIpQDQkF+HJ55j/CWcapStsfhtlaZ7tyU\n bi19tcd3QzSY5CCI7XeHw13OZGL7+ikoWstjl4GR51coR2uw5RIXOwdwtLG8eQ==", "X-Gm-Gg": "AZuq6aKoEzmWodtdkjBjvSnm05hi7Rji9fA6qtpMqZWd4dhEuAqAAZ5IlL56+56ynM1\n YNVRLS3xEKLy8nfzRc0TYSS0hLdkcZ2RV5WHWABJGFEezITROAPDTSPVmHg7sefY3m3TVlEo95D\n ej6qOOhbIoWbFVkERFcsKvsqCDDvJ3hQcK4Nn/UIJlCoM2oVkY6LKrfHwiJ17unmE3B7tnIK/CX\n XYcesw1XUOJOn37bqwlYGWVsxj9lauOqtq/TUn4v15MpLHWuaw+A2NzoXLz65JAo3NiziwOifmF\n y8Dsa7QuMMD7QgXq7WWGxtwz4Wf0fTF9eT3RtythlUEt6S0loqxk+y0bSySbSBDfmP/YWfl3Lcz\n d6LQl7NsLumzWVKVJppKlwrjYiKuWApiPEBWltdsgaTCH8+am9oq10a9Wby0L2vcxX23S+3cpFe\n v2UI5047W499qHPO3kciyW+vVirb1u5iOaUsHf9n8lvrGBhTImBuz3azdrE0ZHAkAIjMNvsk2DI\n 7NCuAp2eRsAdRoH", "X-Received": "by 2002:a05:6830:2650:b0:7cf:cb09:b7e8 with SMTP id\n 46e09a7af769-7d4b2b1d5eamr741931a34.36.1770867280515;\n Wed, 11 Feb 2026 19:34:40 -0800 (PST)", "From": "Taylor Simpson <ltaylorsimpson@gmail.com>", "To": "qemu-devel@nongnu.org", "Cc": "brian.cain@oss.qualcomm.com, matheus.bernardino@oss.qualcomm.com,\n sid.manning@oss.qualcomm.com, marco.liebel@oss.qualcomm.com,\n richard.henderson@linaro.org, philmd@linaro.org, ale@rev.ng, anjo@rev.ng,\n ltaylorsimpson@gmail.com", "Subject": "[PATCH 1/8] Hexagon (target/hexagon) Properly handle Hexagon CPU\n version", "Date": "Wed, 11 Feb 2026 20:34:28 -0700", "Message-ID": "<20260212033435.3598-2-ltaylorsimpson@gmail.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260212033435.3598-1-ltaylorsimpson@gmail.com>", "References": "<20260212033435.3598-1-ltaylorsimpson@gmail.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "8bit", "Received-SPF": "pass client-ip=2607:f8b0:4864:20::331;\n envelope-from=ltaylorsimpson@gmail.com; helo=mail-ot1-x331.google.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no", "X-Spam_action": "no action", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "Add the following CPU versions that were previously missing\n v5\n v55\n v60\n v61\n v62\n v65\n\nCreate an enum with the known Hexagon CPU versions\nAdd a field to HexagonCPUClass to note the Hexagon CPU version\n\nCo-authored-by: Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>\nCo-authored-by: Brian Cain <brian.cain@oss.qualcomm.com>\nSigned-off-by: Taylor Simpson <ltaylorsimpson@gmail.com>\n---\n target/hexagon/cpu-qom.h | 21 +++++++++++++++++++++\n target/hexagon/cpu.h | 2 ++\n target/hexagon/cpu.c | 28 ++++++++++++++++++++++------\n 3 files changed, 45 insertions(+), 6 deletions(-)", "diff": "diff --git a/target/hexagon/cpu-qom.h b/target/hexagon/cpu-qom.h\nindex 0b149bd5fe..830a2f8cf8 100644\n--- a/target/hexagon/cpu-qom.h\n+++ b/target/hexagon/cpu-qom.h\n@@ -11,11 +11,32 @@\n \n #include \"hw/core/cpu.h\"\n \n+typedef enum {\n+ HEX_VER_V5 = 0x04,\n+ HEX_VER_V55 = 0x05,\n+ HEX_VER_V60 = 0x60,\n+ HEX_VER_V61 = 0x61,\n+ HEX_VER_V62 = 0x62,\n+ HEX_VER_V65 = 0x65,\n+ HEX_VER_V66 = 0x66,\n+ HEX_VER_V67 = 0x67,\n+ HEX_VER_V68 = 0x68,\n+ HEX_VER_V69 = 0x69,\n+ HEX_VER_V71 = 0x71,\n+ HEX_VER_V73 = 0x73,\n+} HexagonVersion;\n+\n #define TYPE_HEXAGON_CPU \"hexagon-cpu\"\n \n #define HEXAGON_CPU_TYPE_SUFFIX \"-\" TYPE_HEXAGON_CPU\n #define HEXAGON_CPU_TYPE_NAME(name) (name HEXAGON_CPU_TYPE_SUFFIX)\n \n+#define TYPE_HEXAGON_CPU_V5 HEXAGON_CPU_TYPE_NAME(\"v5\")\n+#define TYPE_HEXAGON_CPU_V55 HEXAGON_CPU_TYPE_NAME(\"v55\")\n+#define TYPE_HEXAGON_CPU_V60 HEXAGON_CPU_TYPE_NAME(\"v60\")\n+#define TYPE_HEXAGON_CPU_V61 HEXAGON_CPU_TYPE_NAME(\"v61\")\n+#define TYPE_HEXAGON_CPU_V62 HEXAGON_CPU_TYPE_NAME(\"v62\")\n+#define TYPE_HEXAGON_CPU_V65 HEXAGON_CPU_TYPE_NAME(\"v65\")\n #define TYPE_HEXAGON_CPU_V66 HEXAGON_CPU_TYPE_NAME(\"v66\")\n #define TYPE_HEXAGON_CPU_V67 HEXAGON_CPU_TYPE_NAME(\"v67\")\n #define TYPE_HEXAGON_CPU_V68 HEXAGON_CPU_TYPE_NAME(\"v68\")\ndiff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h\nindex 656b7dc044..071fc2b6b7 100644\n--- a/target/hexagon/cpu.h\n+++ b/target/hexagon/cpu.h\n@@ -117,6 +117,8 @@ typedef struct HexagonCPUClass {\n \n DeviceRealize parent_realize;\n ResettablePhases parent_phases;\n+\n+ HexagonVersion hex_version;\n } HexagonCPUClass;\n \n struct ArchCPU {\ndiff --git a/target/hexagon/cpu.c b/target/hexagon/cpu.c\nindex 58a22ee41f..09a0de3c2f 100644\n--- a/target/hexagon/cpu.c\n+++ b/target/hexagon/cpu.c\n@@ -27,12 +27,22 @@\n #include \"exec/gdbstub.h\"\n #include \"accel/tcg/cpu-ops.h\"\n \n-static void hexagon_v66_cpu_init(Object *obj) { }\n-static void hexagon_v67_cpu_init(Object *obj) { }\n-static void hexagon_v68_cpu_init(Object *obj) { }\n-static void hexagon_v69_cpu_init(Object *obj) { }\n-static void hexagon_v71_cpu_init(Object *obj) { }\n-static void hexagon_v73_cpu_init(Object *obj) { }\n+#define HEX_CPU_INIT(NAME, VER) \\\n+static void hexagon_##NAME##_cpu_init(Object *obj) \\\n+{ HEXAGON_CPU_GET_CLASS(obj)->hex_version = VER; }\n+\n+HEX_CPU_INIT(v5, HEX_VER_V5)\n+HEX_CPU_INIT(v55, HEX_VER_V55)\n+HEX_CPU_INIT(v60, HEX_VER_V60)\n+HEX_CPU_INIT(v61, HEX_VER_V61)\n+HEX_CPU_INIT(v62, HEX_VER_V62)\n+HEX_CPU_INIT(v65, HEX_VER_V65)\n+HEX_CPU_INIT(v66, HEX_VER_V66)\n+HEX_CPU_INIT(v67, HEX_VER_V67)\n+HEX_CPU_INIT(v68, HEX_VER_V68)\n+HEX_CPU_INIT(v69, HEX_VER_V69)\n+HEX_CPU_INIT(v71, HEX_VER_V71)\n+HEX_CPU_INIT(v73, HEX_VER_V73)\n \n static ObjectClass *hexagon_cpu_class_by_name(const char *cpu_model)\n {\n@@ -395,6 +405,12 @@ static const TypeInfo hexagon_cpu_type_infos[] = {\n .class_size = sizeof(HexagonCPUClass),\n .class_init = hexagon_cpu_class_init,\n },\n+ DEFINE_CPU(TYPE_HEXAGON_CPU_V5, hexagon_v5_cpu_init),\n+ DEFINE_CPU(TYPE_HEXAGON_CPU_V55, hexagon_v55_cpu_init),\n+ DEFINE_CPU(TYPE_HEXAGON_CPU_V60, hexagon_v60_cpu_init),\n+ DEFINE_CPU(TYPE_HEXAGON_CPU_V61, hexagon_v61_cpu_init),\n+ DEFINE_CPU(TYPE_HEXAGON_CPU_V62, hexagon_v62_cpu_init),\n+ DEFINE_CPU(TYPE_HEXAGON_CPU_V65, hexagon_v65_cpu_init),\n DEFINE_CPU(TYPE_HEXAGON_CPU_V66, hexagon_v66_cpu_init),\n DEFINE_CPU(TYPE_HEXAGON_CPU_V67, hexagon_v67_cpu_init),\n DEFINE_CPU(TYPE_HEXAGON_CPU_V68, hexagon_v68_cpu_init),\n", "prefixes": [ "1/8" ] }