From nobody Sun Apr 12 05:51:26 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1770951426; cv=none; d=zohomail.com; s=zohoarc; b=H+71JCW9xU8xyiS9KO0a5X6hu7avLLo91uO8X4es6xhGd0bGQ7REMhD2ApVt9R+X+hkKg0fqgqkTcD4yTaVA2ywZctBJs37zbA2Hf8YykhGTVhQ8yKLeaKX9RYF/ZhNAYetAsBKbxz0YP6QZAeHgu4ei0m3RWi3GmOxY+3PGqiY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770951426; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UmJN7sMOhHqxmdmNsVNkifaBwRL8+z3dpwVBg6xpEFE=; b=d+cNBMMiQNt11QU7e7pn/lQlRBhwGVKsYUFljIE1oL+EDnCoEMiS1Qpx79PJS3x0A8vkwJVNGy5dtEL/PIkjpOFXwa+BuuRLBWhBOyfPFRJps+rfbo5IifHU4FlFAyWLQiX6ZLlDk7kDMJoDngzFEHJ5cAIswU8Jtxr7EL1ZPO4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1770951426684643.1536601082468; Thu, 12 Feb 2026 18:57:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vqjLg-0006Ek-EE; Thu, 12 Feb 2026 21:56:04 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vqjLc-0006D5-91 for qemu-devel@nongnu.org; Thu, 12 Feb 2026 21:56:00 -0500 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vqjLa-0005EE-Ei for qemu-devel@nongnu.org; Thu, 12 Feb 2026 21:56:00 -0500 Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61CIlMtm455051 for ; Fri, 13 Feb 2026 02:55:57 GMT Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c9mev1g2u-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 13 Feb 2026 02:55:56 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-2ba9ef13a4bso1825100eec.1 for ; Thu, 12 Feb 2026 18:55:56 -0800 (PST) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2ba9dbd5d3esm4500943eec.10.2026.02.12.18.55.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Feb 2026 18:55:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:content-type:date:from :in-reply-to:message-id:mime-version:references:subject:to; s= qcppdkim1; bh=UmJN7sMOhHqxmdmNsVNkifaBwRL8+z3dpwVBg6xpEFE=; b=F9 eTbw7ZyyL4ll45dfmIsTSAUTAyLZfvZdjpnW51vXI2Lc/ZUWPmg7mOoHXg3FdsO2 uXkI6xqp0pm3s87CciwEBAcM4Ldhw+CgnCIq4w4ywNeiYUNykVrgq8aTcAoiF8Fg e3YJXR/NQ2JFrvNYRRTIk0X1+dJMeYxYvsFMyGbuZqj3utMjoTKjL6vClA9k34yq HBMM8+dDjIQk+/s53cmugyR/FSUDomBwL/GBBD60rOpxOnoj9QkYuBw7mWdcneIS WPKJ7FLrJks0kmYvT0BJvgzJ5oyjC8dhrLQgnl76njlnGoXqhRn2cMzEFhkGSKDg UTtateKp3be7qynJ2bcg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770951356; x=1771556156; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UmJN7sMOhHqxmdmNsVNkifaBwRL8+z3dpwVBg6xpEFE=; b=RdZFH0ElZBiNMO/2l2DS2Drp58O3n+nCY8xcdalunoQeHCr5gFm4jMlLxt8VL1UDz2 /J2FiMMNRmijSziuJs8XRKamookNTKhDKvUofNd+iMIDK3ewKQ3j3vedtn0l1A1Lumz9 DwYdwYQ2ZzDdpPDrbOdUAGFdaaYcGb0hyNXtNYxuS5PvBFnwpyeLzARKHRIVCYk8DSTZ D7Ndt0N5QJ+3mcSNxobfrGZubag6ErOM075WyI5C6ZlWmI4+GZHMueRmpzD/k1QFvWG/ PnASxhfUUqIy+coVnZMfJxeM0+OYT6AyQSwUKHJFpbXEPSe8dfQNIeALop0vvuRL2wJk veZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770951356; x=1771556156; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=UmJN7sMOhHqxmdmNsVNkifaBwRL8+z3dpwVBg6xpEFE=; b=JSqfrvoP9wisiwYyB2NBL199u4CFn0XQke7+Lf/yQFizRAbi73Y5RLw2qcs99RaF5C tXLKBUO1r9LwOaqS9bsmNzo7N8TZmUKPenJW2NAP0ffN0CT1x2+Zu/Dv4BvLs71kVTzt 2ugZOI4EUO4LB47x1x9ZTZH+ccJDzGNvsEqvO86Vwv+LZa1wG2zTmHw2iN9M5x9aZIfh PvLVpaBycBNe04KvO4KfuXMZezGVXMpbilbyy1ZvvEoRCfdi42pg2gI/D74oXD0j4U0B kj+Rg9TQetLh8vKHfzpNnP1bnSc57WoP5MvqKPHsLHCwyCzhQyC5dTS8gkr1wV6sXF8a +YAw== X-Gm-Message-State: AOJu0YyrIp7o3W7wWkTO1lRLLKFoQxNI0Gt/7I+HJ43qQMWSe6GUN2ba j8qnKqS6/xxej6f6sxW78O16JT7LTMKaPKCmRybeiZlnzUuea0li1LTKAfXs9dqyx3kgzSUcc7t tVlnvOXc4HBnTMz9WmfHjRuJlLR+T3DMBVFUckvMP2tc4xh/v/+TKI70pK5ILh02LYQ== X-Gm-Gg: AZuq6aKhKETVp/Tr24L34UCyv6BWZPbTpsHyDUbUPzCizO4LBdwOPanviyAb+Jmy1sG 1pZgfiAHKF32VS6JYKYa8yklWthVFfzLvrB0LgZC87gz19BfbzydktWDREe+dVPVQBK1FThPb+H uzn2RKFRTGJ8v2rE+6Ule+FbWodG//rZRrMy/9LPnJaGV2nCF00qPqD5LIk2IzHX/fgDKzGiubP 1tRbwbywunzdKgp0g5xjp2YNwa8iuz/NTSop3pHhzVWsml7gFeUac3/KBu2hPYosZFJZJ+lwfDB LjnACI/2zJzwL6MLXH+JSL9ATEwK9XLksYgQwIl+0nGI5TZXNGPjX0USqiVCyMdbGT291rxzz1a VwyAi6ISpIk2Mac/xR8gvbntRWeeWGedUIaNyWK/R1NIEJlDOl3nL2w5cF+/opwGq0WwcKQ== X-Received: by 2002:a05:7301:6788:b0:2b8:6896:d0e6 with SMTP id 5a478bee46e88-2babc05e6bemr146022eec.7.1770951355603; Thu, 12 Feb 2026 18:55:55 -0800 (PST) X-Received: by 2002:a05:7301:6788:b0:2b8:6896:d0e6 with SMTP id 5a478bee46e88-2babc05e6bemr146015eec.7.1770951355021; Thu, 12 Feb 2026 18:55:55 -0800 (PST) From: Brian Cain To: qemu-devel@nongnu.org, peter.maydell@linaro.org Cc: brian.cain@oss.qualcomm.com, ltaylorsimpson@gmail.com, Anton Johansson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PULL 5/7] target/hexagon: Widen MemLog::width to 32 bits Date: Thu, 12 Feb 2026 18:55:42 -0800 Message-Id: <20260213025544.2497992-6-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260213025544.2497992-1-brian.cain@oss.qualcomm.com> References: <20260213025544.2497992-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=Zq7g6t7G c=1 sm=1 tr=0 ts=698e92bc cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=EUspDBNiAAAA:8 a=KKAkSRfTAAAA:8 a=r64yU45xFHXUIA317_0A:9 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-ORIG-GUID: EPa7Jcr_KwcS9taqce7_xHSCFoPjK_PM X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEzMDAyMSBTYWx0ZWRfX8uHdh+Lko267 qLmMV4OSfyaqXQiYWWnYYH/o2evT37+qI08Qe/SFc1ooSFZ/NFjDgWSr4vr/qabWASA1oQutjoM 1OQBP4yGVNheRa4O6ZBJoN0dxSPAFFZQ9+hrvNxQYMWc0d0t6fv+dsuZdSIDwOoQqwWu9WWfwFR fnJxbDnrULsVmacGBnBU0yJ/TbmafnXT37ACyaTTPlONpNrzmpTDjUKafZlBxwctCohAdLh8um7 SZ+nj88legKkrtmmGpD30XZ/DuckuyUqLQwBBA3lownPoEnzjAXCttVo1qlCHj1EaNBkDO+EfGV B4PhYu3QFajdPbpeERX6vuJXebV5UYEGGtOc7tda2NTlqrAIH2uAOUc8lzRJNgcBM8g4rYSaQ1/ WS5ZwQpdF8VT2L4Cq/5iV53GpbkhFTTLfoC3LlzWhnsYvWNMcyifpq6laumD3QWOEsE9djqltzw n92ONd8n5+fpQazPxmw== X-Proofpoint-GUID: EPa7Jcr_KwcS9taqce7_xHSCFoPjK_PM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-12_05,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 lowpriorityscore=0 adultscore=0 priorityscore=1501 impostorscore=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602130021 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-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, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1770951429347154100 Content-Type: text/plain; charset="utf-8" From: Anton Johansson MemLog::width is a uint8_t value mapped to a TCGv (32 bit), the only reason this currently works is because MemLog::width is padded to 32 bits. Widen the field to uint32_t and fix the size of the TCGv operations as well. Use uint32_t when referencing and passing around the field, as valid values are asserted in commit_store(). Reviewed-by: Brian Cain Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Anton Johansson -- Changes in v3: - Added reviewed-by Changes in v2: - Removed truncation to uint8_t, valid values of 1,2,4,8 are checked in commit_store() already. Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Brian Cain --- target/hexagon/cpu.h | 2 +- target/hexagon/genptr.h | 2 +- target/hexagon/op_helper.h | 4 ++-- target/hexagon/translate.h | 2 +- target/hexagon/genptr.c | 6 +++--- target/hexagon/op_helper.c | 8 ++++---- target/hexagon/translate.c | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/target/hexagon/cpu.h b/target/hexagon/cpu.h index 656b7dc044..85afd59277 100644 --- a/target/hexagon/cpu.h +++ b/target/hexagon/cpu.h @@ -46,7 +46,7 @@ =20 typedef struct { target_ulong va; - uint8_t width; + uint32_t width; uint32_t data32; uint64_t data64; } MemLog; diff --git a/target/hexagon/genptr.h b/target/hexagon/genptr.h index 228d7f1d7d..45ee038ca9 100644 --- a/target/hexagon/genptr.h +++ b/target/hexagon/genptr.h @@ -24,7 +24,7 @@ =20 extern const SemanticInsn opcode_genptr[]; =20 -void gen_store32(TCGv vaddr, TCGv src, int width, uint32_t slot); +void gen_store32(TCGv vaddr, TCGv src, uint32_t width, uint32_t slot); void gen_store1(TCGv_env cpu_env, TCGv vaddr, TCGv src, uint32_t slot); void gen_store2(TCGv_env cpu_env, TCGv vaddr, TCGv src, uint32_t slot); void gen_store4(TCGv_env cpu_env, TCGv vaddr, TCGv src, uint32_t slot); diff --git a/target/hexagon/op_helper.h b/target/hexagon/op_helper.h index 66119cf3d4..e8fdabddb3 100644 --- a/target/hexagon/op_helper.h +++ b/target/hexagon/op_helper.h @@ -20,8 +20,8 @@ =20 /* Misc functions */ void log_store64(CPUHexagonState *env, target_ulong addr, - int64_t val, int width, int slot); + int64_t val, uint32_t width, int slot); void log_store32(CPUHexagonState *env, target_ulong addr, - target_ulong val, int width, int slot); + target_ulong val, uint32_t width, int slot); =20 #endif diff --git a/target/hexagon/translate.h b/target/hexagon/translate.h index a0102b6cbd..b37cb49238 100644 --- a/target/hexagon/translate.h +++ b/target/hexagon/translate.h @@ -272,7 +272,7 @@ extern TCGv hex_pred[NUM_PREGS]; extern TCGv hex_slot_cancelled; extern TCGv hex_new_value_usr; extern TCGv hex_store_addr[STORES_MAX]; -extern TCGv hex_store_width[STORES_MAX]; +extern TCGv_i32 hex_store_width[STORES_MAX]; extern TCGv hex_store_val32[STORES_MAX]; extern TCGv_i64 hex_store_val64[STORES_MAX]; extern TCGv hex_llsc_addr; diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c index 36968549d5..9eb21da6f3 100644 --- a/target/hexagon/genptr.c +++ b/target/hexagon/genptr.c @@ -387,10 +387,10 @@ static TCGv gen_slotval(DisasContext *ctx) } #endif =20 -void gen_store32(TCGv vaddr, TCGv src, int width, uint32_t slot) +void gen_store32(TCGv vaddr, TCGv src, uint32_t width, uint32_t slot) { tcg_gen_mov_tl(hex_store_addr[slot], vaddr); - tcg_gen_movi_tl(hex_store_width[slot], width); + tcg_gen_movi_i32(hex_store_width[slot], width); tcg_gen_mov_tl(hex_store_val32[slot], src); } =20 @@ -430,7 +430,7 @@ void gen_store4i(TCGv_env tcg_env, TCGv vaddr, int32_t = src, uint32_t slot) void gen_store8(TCGv_env tcg_env, TCGv vaddr, TCGv_i64 src, uint32_t slot) { tcg_gen_mov_tl(hex_store_addr[slot], vaddr); - tcg_gen_movi_tl(hex_store_width[slot], 8); + tcg_gen_movi_i32(hex_store_width[slot], 8); tcg_gen_mov_i64(hex_store_val64[slot], src); } =20 diff --git a/target/hexagon/op_helper.c b/target/hexagon/op_helper.c index bfeadd65fc..368391bb84 100644 --- a/target/hexagon/op_helper.c +++ b/target/hexagon/op_helper.c @@ -52,7 +52,7 @@ G_NORETURN void HELPER(raise_exception)(CPUHexagonState *= env, uint32_t excp) } =20 void log_store32(CPUHexagonState *env, target_ulong addr, - target_ulong val, int width, int slot) + target_ulong val, uint32_t width, int slot) { env->mem_log_stores[slot].va =3D addr; env->mem_log_stores[slot].width =3D width; @@ -60,7 +60,7 @@ void log_store32(CPUHexagonState *env, target_ulong addr, } =20 void log_store64(CPUHexagonState *env, target_ulong addr, - int64_t val, int width, int slot) + int64_t val, uint32_t width, int slot) { env->mem_log_stores[slot].va =3D addr; env->mem_log_stores[slot].width =3D width; @@ -69,7 +69,7 @@ void log_store64(CPUHexagonState *env, target_ulong addr, =20 static void commit_store(CPUHexagonState *env, int slot_num, uintptr_t ra) { - uint8_t width =3D env->mem_log_stores[slot_num].width; + uint32_t width =3D env->mem_log_stores[slot_num].width; target_ulong va =3D env->mem_log_stores[slot_num].va; =20 switch (width) { @@ -363,7 +363,7 @@ static void probe_store(CPUHexagonState *env, int slot,= int mmu_idx, bool is_predicated, uintptr_t retaddr) { if (!is_predicated || !(env->slot_cancelled & (1 << slot))) { - size1u_t width =3D env->mem_log_stores[slot].width; + uint32_t width =3D env->mem_log_stores[slot].width; target_ulong va =3D env->mem_log_stores[slot].va; probe_write(env, va, width, mmu_idx, retaddr); } diff --git a/target/hexagon/translate.c b/target/hexagon/translate.c index 0234bbf15d..2fdc956bf9 100644 --- a/target/hexagon/translate.c +++ b/target/hexagon/translate.c @@ -55,7 +55,7 @@ TCGv hex_pred[NUM_PREGS]; TCGv hex_slot_cancelled; TCGv hex_new_value_usr; TCGv hex_store_addr[STORES_MAX]; -TCGv hex_store_width[STORES_MAX]; +TCGv_i32 hex_store_width[STORES_MAX]; TCGv hex_store_val32[STORES_MAX]; TCGv_i64 hex_store_val64[STORES_MAX]; TCGv hex_llsc_addr; @@ -1123,7 +1123,7 @@ void hexagon_translate_init(void) store_addr_names[i]); =20 snprintf(store_width_names[i], NAME_LEN, "store_width_%d", i); - hex_store_width[i] =3D tcg_global_mem_new(tcg_env, + hex_store_width[i] =3D tcg_global_mem_new_i32(tcg_env, offsetof(CPUHexagonState, mem_log_stores[i].width), store_width_names[i]); =20 --=20 2.34.1