Cover Letter Detail
Show a cover letter.
GET /api/1.0/covers/2221146/?format=api
{ "id": 2221146, "url": "http://patchwork.ozlabs.org/api/1.0/covers/2221146/?format=api", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.0/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": "" }, "msgid": "<20260408041953.1899532-1-brian.cain@oss.qualcomm.com>", "date": "2026-04-08T04:19:25", "name": "[v4,00/28] Hexagon system emulation - Part 2/3", "submitter": { "id": 89839, "url": "http://patchwork.ozlabs.org/api/1.0/people/89839/?format=api", "name": "Brian Cain", "email": "brian.cain@oss.qualcomm.com" }, "series": [ { "id": 499179, "url": "http://patchwork.ozlabs.org/api/1.0/series/499179/?format=api", "date": "2026-04-08T04:19:31", "name": "Hexagon system emulation - Part 2/3", "version": 4, "mbox": "http://patchwork.ozlabs.org/series/499179/mbox/" } ], "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=RVxWCm0Y;\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=V45bwrEs;\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 (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 4frY1q6k8Vz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 05:25:35 +1000 (AEST)", "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 1wAYTA-00078k-5T; Wed, 08 Apr 2026 15:21:44 -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 1wAY4c-0006SR-Nm\n for qemu-devel@nongnu.org; Wed, 08 Apr 2026 14:56:22 -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 1wAKOl-0005Yf-46\n for qemu-devel@nongnu.org; Wed, 08 Apr 2026 00:20:17 -0400", "from pps.filterd (m0279862.ppops.net [127.0.0.1])\n by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 6381FKkX1796828\n for <qemu-devel@nongnu.org>; Wed, 8 Apr 2026 04:20:11 GMT", "from mail-dl1-f70.google.com (mail-dl1-f70.google.com\n [74.125.82.70])\n by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dd51da8ur-1\n (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT)\n for <qemu-devel@nongnu.org>; Wed, 08 Apr 2026 04:20:10 +0000 (GMT)", "by mail-dl1-f70.google.com with SMTP id\n a92af1059eb24-1279caef718so9082655c88.1\n for <qemu-devel@nongnu.org>; Tue, 07 Apr 2026 21:20:10 -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 a92af1059eb24-12c14a371b1sm6480362c88.13.2026.04.07.21.20.07\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 07 Apr 2026 21:20:08 -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:message-id\n :mime-version:subject:to; s=qcppdkim1; bh=U9YtuCo6FuZI/CcKOOjvfv\n 0l3ElZbJzzhbgDdvj+HqQ=; b=RVxWCm0Y34HZg6dDxXo+138VeFHPZeHLagvQ7x\n Gz7WDjvNHk7+718xTLXo8H26jPup5g1y7znUqLhGLTDI1V7HdnYgLfXGClnKb79O\n 5baWX9qtNwtv6qBm7a8o+E2XY9JdrEUUZxkhT5eX4JwayN27jAgo7//RJJuQllLV\n RZAre4z3TiN3FcuKHBYfTA88vkovJ3hqpkSSe28GzONHPMSPw3blWP5QikVE9omb\n rFmSV5vF8QKpvgn2gTQVzN2Ze5P0CSmxGf/tfcGMJcXltLRVirlGaN0/CnBJSoIS\n EJomVSgAGd+lvAkQwEIdHUvw6Ab9bYfo/svSzpbPkKtLYCpA==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oss.qualcomm.com; s=google; t=1775622009; x=1776226809; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=U9YtuCo6FuZI/CcKOOjvfv0l3ElZbJzzhbgDdvj+HqQ=;\n b=V45bwrEsUxnZ7zr4bW1HGXbPoAfRJJQ/lMDp8yv5kfsOhrdnnccGVdUlOBqf9Jybbx\n U493/HdBkkXbc94mfcgSDwh/61+1drdHPeYbCwy8zJjlzYsOUve4Ek6/IknIgNQQV6ed\n zY5GMuGX5y9MDcaYgAvT+ZVl7LKmVNo9DS1157QJE60M7C5jHwsi//cKLaL4mXvFV/39\n tpWljrT4IioVClOKzcj5Yrd2c6NcOryr0fyQc3ydcUtuU1ig7CgW93tR7xosHPgkGF/Q\n yFQCW7aloogta2aVcvyzFW2o3pvo4is7lxiZzdIkPeNmQ9qcExdhqE+VNat/MKhbGL0D\n oF7Q==" ], "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775622009; x=1776226809;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=U9YtuCo6FuZI/CcKOOjvfv0l3ElZbJzzhbgDdvj+HqQ=;\n b=gkad6pGM1guxm0vyYeyVzRJC6eErRC4B1V9JRhn2izMI/NF1QWR/AHSboe4AUO8dJG\n 3be3n68TDBooGThTsWTpTBhRmRCxWJt08Fl4v9CCg0xhXaY/toq6tAdrg2+DN2w4cuHr\n Ou4YKal0JNo53DO+3WvjcpUtFb/lV+9GfhtmcIrPYwBTqea3fQlF8X6deYtD8UGU3njH\n wms1LG0C4K1B1uFsBT+A/koAyMZnurORPzoeo++q28Hu0mgymwuG4scNVqhkkUzHHFUy\n N+HkxDlnaN9SGrm0hSD77wrbUP0UjUJ5Ls0SOJywELZuCVITnN96NH1BHC8xTm0WnHB9\n xoIA==", "X-Gm-Message-State": "AOJu0YwD6zhYnyO+wrs57yYnyiYhiYUfr+u/N4Vj3Vk8Vl4zD2ztf8ba\n iYLAlC+Bk8RKmO7CvbCFfvMLn9hzqmTeAciAr/lXn36BCgbPHnds28hJn+It2n6rIu48Qtm4oat\n 0+bO4O8oirc26RS8NijWTBV4LiTzDHu5Cz7XTKCip2Q/hZL1lkqZnd2hY7K01M4FeTg==", "X-Gm-Gg": "AeBDieulVBa1unMmCwQKamJfdp/d4HjjYaGrFAkciBvdMDSqyGn747hFcdvKtQgpLtT\n 00VEr7+A8nK+UV2v1+cNGYj03L0b8vf9fkTVUvaLykSZZ8DL5DehWPXSZdlmXK9qhNcl8hF89AL\n JlMiAqS3BWVrsn9d1CGGLMR6/IT24MreSNTKnOOI9Sfvrsr+Ix2n20fZDFpvBk7ndYLWaZ0NsgB\n qLo2V2uzLbZS+H6vZxCeVw2XxtoW/7i0BmyskIpu09N8H/Tt5GL9+Smfugzz3Sxajv+pj525ukF\n rHKd085Wkx4JRC1LXIPEQ3MVeacLEpWR5ruylQZDLrvrHsJjDLQPAk7HWJfGYYBF3zeQkK4/hug\n Ndf7S+QTVTT38ZKfyondDqBVZV1iBVVjZ8ObmmVktWgKKlLC1REGiKRpQ6RqIsrGs0IJo3A==", "X-Received": [ "by 2002:a05:7022:929:b0:127:380e:ff5a with SMTP id\n a92af1059eb24-12bfb73e31emr9753765c88.17.1775622009199;\n Tue, 07 Apr 2026 21:20:09 -0700 (PDT)", "by 2002:a05:7022:929:b0:127:380e:ff5a with SMTP id\n a92af1059eb24-12bfb73e31emr9753744c88.17.1775622008539;\n Tue, 07 Apr 2026 21:20:08 -0700 (PDT)" ], "From": "Brian Cain <brian.cain@oss.qualcomm.com>", "To": "qemu-devel@nongnu.org", "Cc": "brian.cain@oss.qualcomm.com, philmd@linaro.org, ltaylorsimpson@gmail.com,\n matheus.bernardino@oss.qualcomm.com, marco.liebel@oss.qualcomm.com,\n quic_mburton@quicinc.com, sid.manning@oss.qualcomm.com, ale@rev.ng,\n anjo@rev.ng", "Subject": "[PATCH v4 00/28] Hexagon system emulation - Part 2/3", "Date": "Tue, 7 Apr 2026 21:19:25 -0700", "Message-Id": "<20260408041953.1899532-1-brian.cain@oss.qualcomm.com>", "X-Mailer": "git-send-email 2.34.1", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "X-Proofpoint-ORIG-GUID": "lhzzNcwYFnR4Z7nKoyGgvmT-ZERtuVWk", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDA4MDAzNSBTYWx0ZWRfX73QV1z985EXH\n 4nG81tTxUGuElC0tCLzCKRJETITt6TIqnez3cAOEAsXu1ejOYDei+voCTe7GgocRfRZ4zVLIkGn\n xg+h23dpr/ss3pEagIVJouwtlTfIg9rs8S/XPGCXMLfUA/RpiKTXNX/92WOiOYHNcIqp2kAP1Jy\n YMOro2W4X0Rc7GHNLqPtzr5f1e8Xrezp01G4IJwFfsJ8kDc8IQXS8Cli50D5meHJB3Yv6W7sOPO\n 8r/VB9tQNsjl4nfbjjJoPj63irn1wb1PvITAhjrrXYaa6jTZa4hlymg9dNsPNsywkzdsu9OQYzg\n ETUnacnzCSyibf9106R4cXP9Xq4EZ+eAEsZuWCmwoiKVialTn1h7fYwBCP2d6//oDWWNVj0/ymi\n Fmt/TAUXcPIhKoPEtN64hfzy/+nHPq267D7auWz1I+re1sFoFvwM27z/CjklUgxThmlj+CWRgB/\n oV7tY1HuMeCcv0GtY+A==", "X-Authority-Analysis": "v=2.4 cv=AcaB2XXG c=1 sm=1 tr=0 ts=69d5d77a cx=c_pps\n a=SvEPeNj+VMjHSW//kvnxuw==: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=_K5XuSEh1TEqbUxoQ0s3:22\n a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Ft1SjsLI0j10gtFiCOkA:9 a=QEXdDO2ut3YA:10\n a=Kq8ClHjjuc5pcCNDwlU0:22", "X-Proofpoint-GUID": "lhzzNcwYFnR4Z7nKoyGgvmT-ZERtuVWk", "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-08_02,2026-04-07_05,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n lowpriorityscore=0 adultscore=0 priorityscore=1501 bulkscore=0 malwarescore=0\n phishscore=0 impostorscore=0 spamscore=0 clxscore=1015 suspectscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604010000 definitions=main-2604080035", "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, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, 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": "This is Part 2 of the Hexagon system emulation series. It adds the\nruntime helpers, CPU operations, and translation support needed for\nfull-system emulation of the Hexagon DSP.\n\nThis includes:\n - Software interrupt (SWI) and interrupt handling\n - TLB fill and permission checking\n - System register read/write support in TCG\n - Implicit sysreg writes and translation-block termination\n - Stack overflow exception support\n - Thread scheduling helpers (setprio, resched, resume)\n - k0 lock/unlock for kernel mode\n - idef-parser support for fFRAMECHECK\n - TCG overrides for system transfer instructions\n\nBased on Part 1 v6.\n\nChanges since v3:\n - Rebased onto Part 1 v6\n - Fixed idef-parser fFRAMECHECK implementation (Taylor)\n - Removed pkt_ends_tb from DisasContext, call pkt_ends_tb() directly (Taylor)\n - Changed t_sreg_new_value sizing from NUM_SREGS to\n HEX_SREG_GLB_START (Taylor)\n - Removed unnecessary tcg_gen_mov_tl sreg pre-copy in\n gen_start_packet(); no sreg writes are predicated (Taylor)\n - Added continue after STID/IMASK/IPENDAD writeback in\n gen_sreg_writes() to avoid redundant writeback (Taylor)\n - Moved hexagon_greg_read() declaration to correct commit (Taylor)\n - Fixed set_enable_mask/clear_enable_mask return type consistency (Taylor)\n - Added early return for globalregs==false in set_enable_mask and\n set_wait_mode (Taylor)\n - Fixed bare %x/%d format specifiers across multiple files, using\n PRIx32/PRIu32/TARGET_FMT_lx as appropriate (Taylor)\n - Fixed mid-block variable declarations (C89 style)\n - Removed invalid PRM section references from setprio/resched\n commit message (Taylor)\n - Renamed \"Add TLB, k0 {un,}lock\" to \"Add k0 {un,}lock\" (Taylor)\n - Moved cycle counter/pcycle/modify_ssr commits to Part 1\n - All cycle counter code properly guarded by\n ifndef CONFIG_USER_ONLY (Taylor)\n\nPrevious versions:\n - v3: https://lore.kernel.org/qemu-devel/20260311040758.1068731-1-brian.cain@oss.qualcomm.com/\n - v2: https://lore.kernel.org/qemu-devel/20250902034847.1948010-1-brian.cain@oss.qualcomm.com/\n - v1: https://lore.kernel.org/qemu-devel/20250301052845.1012069-1-brian.cain@oss.qualcomm.com/\n\nBrian Cain (26):\n target/hexagon: Implement {c,}swi helpers\n target/hexagon: Implement iassign{r,w} helpers\n target/hexagon: Implement start/stop helpers, soft reset\n target/hexagon: Implement {g,s}etimask helpers\n target/hexagon: Implement wait helper\n target/hexagon: Implement get_exe_mode()\n target/hexagon: Implement hex_tlb_entry_get_perm()\n target/hexagon: Implement software interrupt\n target/hexagon: Implement stack overflow exception\n target/hexagon: Implement exec_interrupt, set_irq\n target/hexagon: Implement hexagon_tlb_fill()\n target/hexagon: Implement siad inst\n target/hexagon: Implement hexagon_resume_threads()\n target/hexagon: Implement setprio, resched\n target/hexagon: Add sysemu_ops, cpu_get_phys_page_debug()\n target/hexagon: extend hexagon_cpu_mmu_index() for sysemu\n target/hexagon: Decode trap1, rte as COF\n target/hexagon: Implement modify_ssr, resched, pending_interrupt\n target/hexagon: Add pkt_ends_tb to translation\n target/hexagon: Add next_PC, {s,g}reg writes\n target/hexagon: Add implicit sysreg writes\n target/hexagon: Define system, guest reg names\n target/hexagon: Add k0 {un,}lock\n target/hexagon: Add PC to raise_exception, use fTRAP() helper\n target/hexagon: Add TCG overrides for transfer insts\n target/hexagon: Add support for loadw_phys\n\nMatheus Tavares Bernardino (2):\n target/hexagon: add simple cpu_exec_reset and pointer_wrap\n target/hexagon: Add guest reg reading functionality\n\n target/hexagon/cpu.h | 11 +\n target/hexagon/cpu_helper.h | 8 +\n target/hexagon/gen_tcg.h | 7 -\n target/hexagon/gen_tcg_sys.h | 25 ++\n target/hexagon/helper.h | 6 +-\n target/hexagon/hexswi.h | 17 +\n target/hexagon/idef-parser/parser-helpers.h | 2 +\n target/hexagon/internal.h | 4 +\n target/hexagon/macros.h | 3 -\n target/hexagon/sys_macros.h | 7 +\n target/hexagon/translate.h | 5 +-\n target/hexagon/reg_fields_def.h.inc | 11 +\n linux-user/hexagon/cpu_loop.c | 7 +\n target/hexagon/cpu.c | 360 ++++++++++++++-\n target/hexagon/decode.c | 14 +\n target/hexagon/genptr.c | 18 +-\n target/hexagon/hexswi.c | 267 +++++++++++\n target/hexagon/idef-parser/parser-helpers.c | 9 +\n target/hexagon/op_helper.c | 462 +++++++++++++++++++-\n target/hexagon/translate.c | 225 +++++++++-\n target/hexagon/hex_common.py | 3 +\n target/hexagon/idef-parser/idef-parser.y | 3 +\n target/hexagon/imported/encode_pp.def | 1 +\n target/hexagon/imported/ldst.idef | 3 +\n 24 files changed, 1425 insertions(+), 53 deletions(-)\n create mode 100644 target/hexagon/hexswi.h\n create mode 100644 target/hexagon/hexswi.c" }