Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2227603/?format=api
{ "id": 2227603, "url": "http://patchwork.ozlabs.org/api/patches/2227603/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260424023606.2556830-6-brian.cain@oss.qualcomm.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": "<20260424023606.2556830-6-brian.cain@oss.qualcomm.com>", "list_archive_url": null, "date": "2026-04-24T02:36:02", "name": "[PULL,5/9] Hexagon (target/hexagon) Check each opcode against current CPU definition", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "96ae4a8d0b2d90a7ed0eead47ee187f4a79bdd8b", "submitter": { "id": 89839, "url": "http://patchwork.ozlabs.org/api/people/89839/?format=api", "name": "Brian Cain", "email": "brian.cain@oss.qualcomm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260424023606.2556830-6-brian.cain@oss.qualcomm.com/mbox/", "series": [ { "id": 501280, "url": "http://patchwork.ozlabs.org/api/series/501280/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501280", "date": "2026-04-24T02:36:05", "name": "[PULL,1/9] Hexagon (target/hexagon) Properly handle Hexagon CPU version", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/501280/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2227603/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2227603/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=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256\n header.s=qcppdkim1 header.b=QH+fRniX;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com\n header.a=rsa-sha256 header.s=google header.b=M8FVsxGL;\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=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists1p.gnu.org (lists1p.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 4g1xv64TNhz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 24 Apr 2026 12:37:22 +1000 (AEST)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wG6P4-0006ke-41; Thu, 23 Apr 2026 22:36:26 -0400", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <brian.cain@oss.qualcomm.com>)\n id 1wG6P2-0006k4-R7\n for qemu-devel@nongnu.org; Thu, 23 Apr 2026 22:36:24 -0400", "from mx0a-0031df01.pphosted.com ([205.220.168.131])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <brian.cain@oss.qualcomm.com>)\n id 1wG6P1-0008KH-4P\n for qemu-devel@nongnu.org; Thu, 23 Apr 2026 22:36:24 -0400", "from pps.filterd (m0279863.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63O0WoY2154579\n for <qemu-devel@nongnu.org>; Fri, 24 Apr 2026 02:36:22 GMT", "from mail-dy1-f199.google.com (mail-dy1-f199.google.com\n [74.125.82.199])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dqpf629gm-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <qemu-devel@nongnu.org>; Fri, 24 Apr 2026 02:36:21 +0000 (GMT)", "by mail-dy1-f199.google.com with SMTP id\n 5a478bee46e88-2da19227bc1so14690698eec.1\n for <qemu-devel@nongnu.org>; Thu, 23 Apr 2026 19:36:21 -0700 (PDT)", "from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com.\n [129.46.96.20]) by smtp.gmail.com with ESMTPSA id\n 5a478bee46e88-2e539fa6134sm31240868eec.3.2026.04.23.19.36.19\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 23 Apr 2026 19:36:20 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h=\n cc:content-transfer-encoding:content-type:date:from:in-reply-to\n :message-id:mime-version:references:subject:to; s=qcppdkim1; bh=\n z2MDxjjQJbooXhtfrG3OMxDS++cZUaWGHcLuK2xhE5Q=; b=QH+fRniXg46bixt+\n rhukIQVwSHSIGyJqNL/B4KHjRUJgChCIoTf/sS7euzI9z1H6cc+jJ+XfUgy+GiEF\n MlgZezFkkNdFbYqEKPuApMeSN8JUilzIIGN26dzHXvVgT6Zy4Na4IrbRoxn+m+9x\n 6srWjZThkIGTc/Up0CkmclY80E4j5+NTc+Fk7ATzLU1azNWs6MVxYGwfYdeMdNyp\n U0oslhh9egPO2P7aOPYsZ+mstcHIMkR1EhJqF0myTumiz/czacSkxheGu8ATbkDm\n L2QWLQTdz5apLODUWyps0SXfkcIZDPmH8F11gMFFEKseQyY7b1xx6oG35gTGb0gg\n 7wMzPQ==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1776998181; x=1777602981; 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=z2MDxjjQJbooXhtfrG3OMxDS++cZUaWGHcLuK2xhE5Q=;\n b=M8FVsxGLYj3mfpffkBzA/uAMSgNp+uOTqGHXcTUohmwb3ZN7cGiAvp1chXnUzi8VXa\n pslFtJY/yCWi0xcYEqi1W7cdOGUBbYHnLkgXFMhggHiQdxZ7b4fAvq6bjYFmNq66xODh\n PxPK6MWHw9hDQc1ShS8sJsRFr7a8ueX/mO+BRbGUB8qDdHBhkyhAxHoKEL0GK6FsxmcK\n vdkWOSd+DHk+tnCooP4buwyVCpyewpTm/+q8VLnPwMaywttbgqVDiUG3T0eXi2nlwdwo\n lmBUgBrmHQBQqvzEuScdQ+7sMljPkBzQ898twILiIc5dArBlCAlUNyiy/wX2zRY1HTjU\n TF9Q==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776998181; x=1777602981;\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=z2MDxjjQJbooXhtfrG3OMxDS++cZUaWGHcLuK2xhE5Q=;\n b=d6yFF9E0I22WkMGCu19xYSgV6LKkpHevxmtr2JZOlqobEpEwC1pwzsvjRaWR0JeaaX\n R+TPVP6C8tHq7GCDBvKCYd+VyLtNY9igOXybWUB2iwRumiga3TVD/n7wNAJ5J2UAnP+c\n fS28hI0I9YsuXC169dBBsEVbNzSmuAOptVmNPV3VvzfP9PmMvaiLMP+qgFeq9uValpxD\n 4lZiNlqfvibUIPVVpVYf+yVaZsgIhJCnEOnjjE6+Xo4oCECfOWzAXXR1JpUHFDuegJEZ\n rStGyydAOH7cbWKnGbXmmYS70csoSlnp5UDYt1MRpAkTeiKpBi+Phcf62ufIcGU6cDmo\n uTmw==", "X-Gm-Message-State": "AOJu0YzTVr7Bf1noTT6wjfz7wOMX975SaglSgfbeSJicev/ewVFBKDjY\n G+WxSoY1kk9u+SJUHM2It80ITT+jqXDanMLMQulz7gZKDKOHZP11aH2f6XewvdwAzvAtoi+b44k\n 442IFs1mVp7Z+9eiH1ZbnCALI6BqhR7uOtrYQfdYN7Ot1vzFnsZp5b5caCasepmX+QA==", "X-Gm-Gg": "AeBDievJNS8U9j8xlw9Y84bmEIrIsUE9VxYzghbfutK3azQxQP4BL9xPNLsuC3QKkeV\n s/TqkPvKK7bXLon3Kq2d18bqMlVftA2ESDTLBZmf91UXTREQ6CQ/vX2qPlnHm47eEADvs08dFLc\n q5TWVFoqT1mHChGaY0MYGGBYO75LX09Zj8194Qlu/ZTilMnKBtKts/0B+K8DnR1dzP2liDuJ4nR\n 3JEoKM1HAZS9MbT9GqvbAMCgKDFwQJbC49nS5LeTf7+LK0P2TokvntliJi83yKvF64yDmADIi2G\n 1N+s1FL7bqWu7KRbNzA47roXgNBg89r/5L0m6rfDV57DMJT+zFzXPdblxm3kPMPKEthH+vv2zfX\n I+RfYNTSKSlby1AKqCixKdyXYSi93YjgfSS+r3uykzgP62n5H2ZcTBBsPCxBrfUbTgBZhQjCtA2\n fAjtlj", "X-Received": [ "by 2002:a05:7301:1693:b0:2d2:129a:1682 with SMTP id\n 5a478bee46e88-2e4786460f9mr16344712eec.16.1776998180966;\n Thu, 23 Apr 2026 19:36:20 -0700 (PDT)", "by 2002:a05:7301:1693:b0:2d2:129a:1682 with SMTP id\n 5a478bee46e88-2e4786460f9mr16344693eec.16.1776998180499;\n Thu, 23 Apr 2026 19:36:20 -0700 (PDT)" ], "From": "Brian Cain <brian.cain@oss.qualcomm.com>", "To": "qemu-devel@nongnu.org, stefanha@redhat.com", "Cc": "brian.cain@oss.qualcomm.com, Taylor Simpson <ltaylorsimpson@gmail.com>,\n Matheus Tavares Bernardino <matheus.bernardino@oss.qualcomm.com>,\n Anton Johansson <anjo@rev.ng>,\n Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>", "Subject": "[PULL 5/9] Hexagon (target/hexagon) Check each opcode against current\n CPU definition", "Date": "Thu, 23 Apr 2026 19:36:02 -0700", "Message-Id": "<20260424023606.2556830-6-brian.cain@oss.qualcomm.com>", "X-Mailer": "git-send-email 2.34.1", "In-Reply-To": "<20260424023606.2556830-1-brian.cain@oss.qualcomm.com>", "References": "<20260424023606.2556830-1-brian.cain@oss.qualcomm.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "X-Authority-Analysis": "v=2.4 cv=Iocutr/g c=1 sm=1 tr=0 ts=69ead725 cx=c_pps\n a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17\n a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10\n a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22\n a=pGLkceISAAAA:8 a=EUspDBNiAAAA:8 a=UzSeF1EqHBairItpb9sA:9 a=QEXdDO2ut3YA:10\n a=scEy_gLbYbu1JhEsrz4S:22", "X-Proofpoint-ORIG-GUID": "QY1quVrNGqubEhfXQ-8A9U0dQbUoJhbB", "X-Proofpoint-GUID": "QY1quVrNGqubEhfXQ-8A9U0dQbUoJhbB", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDI0MDAyMCBTYWx0ZWRfX8u2qlo6L6o1M\n frvRBA2uHrcRT5CMg0y0xXFnszwgxRkZK/DhuON/J/7IfM6XOCd9kVXw0B1x//mrM9er9EIfl0e\n 9vPHlhBm4H1eSc3Ohe8voWB6vuhKshnO4GcON4oEkjAwGVgWTBpqi0rEb2k/cJzg53h4bytYIIc\n YvmSW2erV5zJuqIyuxqWhN4K46ZkDPSM3m1LUJlV+zR4yN84VG5k3eYibzZJM1ZxJql5gddUv+8\n pVp/h7DPeEZcxwcGeb23TriceWCtsbdG2V+qWKfT4T7dnBG/2RlL+Ab/UFCgd94VEjLkfQugfbq\n 8BuYBwSnH6uzPA9eNslX+xXVL/pgghbpWDB8yBuFZQrrLT3F4EH30U0T/3BE/RctI6mWJo/B4D9\n vhUOY/kfxTYXjqyjsEMaD25D0nap0AGP0hunmRaadIVM9dQn3TGWLp7msOvjYw7Y8x3zUNulZUo\n jB+jZ///gXxqIJA3SBQ==", "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-23_03,2026-04-21_02,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n adultscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0\n suspectscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015\n impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000\n definitions=main-2604240020", "Received-SPF": "pass client-ip=205.220.168.131;\n envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com", "X-Spam_score_int": "-27", "X-Spam_score": "-2.8", "X-Spam_bar": "--", "X-Spam_report": "(-2.8 / 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,\n RCVD_IN_DNSWL_LOW=-0.7, 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": "From: Taylor Simpson <ltaylorsimpson@gmail.com>\n\nDuring decoding, check that the opcode is supported in the current\nHexagon CPU definition\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>\nReviewed-by: Anton Johansson <anjo@rev.ng>\nSigned-off-by: Brian Cain <brian.cain@oss.qualcomm.com>\n---\n target/hexagon/decode.h | 2 ++\n target/hexagon/decode.c | 27 +++++++++++++++++++++++++++\n 2 files changed, 29 insertions(+)", "diff": "diff --git a/target/hexagon/decode.h b/target/hexagon/decode.h\nindex 3f3012b978d..d4b049961ed 100644\n--- a/target/hexagon/decode.h\n+++ b/target/hexagon/decode.h\n@@ -30,4 +30,6 @@ void decode_send_insn_to(Packet *packet, int start, int newloc);\n int decode_packet(DisasContext *ctx, int max_words, const uint32_t *words,\n Packet *pkt, bool disas_only);\n \n+bool opcode_supported(uint16_t opcode, const HexagonCPUDef *hex_def);\n+\n #endif\ndiff --git a/target/hexagon/decode.c b/target/hexagon/decode.c\nindex dbc9c630e82..b8a1cd5b12b 100644\n--- a/target/hexagon/decode.c\n+++ b/target/hexagon/decode.c\n@@ -647,6 +647,22 @@ decode_set_slot_number(Packet *pkt)\n return has_valid_slot_assignment(pkt);\n }\n \n+bool opcode_supported(uint16_t opcode, const HexagonCPUDef *hex_def)\n+{\n+ HexagonVersion hex_version = hex_def->hex_version;\n+#include \"tag_rev_info.c.inc\"\n+\n+ struct tag_rev_info info = tag_rev_info[opcode];\n+ if (hex_version == HEX_VER_ANY) {\n+ return true;\n+ }\n+ if ((info.introduced != HEX_VER_NONE && hex_version < info.introduced) ||\n+ (info.removed != HEX_VER_NONE && hex_version >= info.removed)) {\n+ return false;\n+ }\n+ return true;\n+}\n+\n /*\n * Check for GPR write conflicts in the packet.\n * A conflict exists when a register is written by more than one instruction\n@@ -746,6 +762,17 @@ int decode_packet(DisasContext *ctx, int max_words, const uint32_t *words,\n /* Ran out of words! */\n return 0;\n }\n+\n+ /*\n+ * Check that all the opcodes are supported in this Hexagon definition\n+ * If not, return decode error\n+ */\n+ for (i = 0; i < num_insns; i++) {\n+ if (!opcode_supported(pkt->insn[i].opcode, ctx->hex_def)) {\n+ return 0;\n+ }\n+ }\n+\n pkt->encod_pkt_size_in_bytes = words_read * 4;\n pkt->pkt_has_hvx = false;\n for (i = 0; i < num_insns; i++) {\n", "prefixes": [ "PULL", "5/9" ] }