From nobody Sat Sep 26 20:52:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788485251378552.855353361641; Thu, 3 Sep 2026 18:27:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2IhT-0001ic-F0; Thu, 03 Sep 2026 21:26:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x2IhP-0001hK-LC for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:37 -0400 Received: from smtp25.cstnet.cn ([159.226.251.25] helo=cstnet.cn) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1x2IhN-0005gq-Kw for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:35 -0400 Received: from DESKTOP-7FLBREN (unknown [124.16.137.194]) by APP-05 (Coremail) with SMTP id zQCowAC3Ij0xHppqrelPBw--.3609S4; Fri, 04 Sep 2026 09:26:10 +0800 (CST) From: wangyang To: qemu-devel@nongnu.org Date: Fri, 04 Sep 2026 09:26:08 +0800 Message-ID: <219f8e34b2c59848b214874f4f8a0df9481a557c.20260904092608.git.wangyang25.otcaix.iscas.ac.cn> Subject: [PATCH v2 1/5] target/riscv: gate RV64-only Xmips instructions on XLEN MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: git-send-email In-Reply-To: References: X-CM-TRANSID: zQCowAC3Ij0xHppqrelPBw--.3609S4 X-Coremail-Antispam: 1UD129KBjvJXoW7tr4UJF4ktFyfAF48tw13Jwb_yoW8Cw1rpF 4xKFWUuayDtryxAa4S9r4UuF17XFs3Kr42g3sI9wnxta9xGr47Xr10krW3Kr1UJF1DXrs0 kF4Uu345JF42qa7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBYb7Iv0xC_KF4lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI 8067AKxVWUGwA2048vs2IY020Ec7CjxVAFwI0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kE wVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUJVWUCwA2z4x0Y4vE2Ix0cI8IcVCY1x 0267AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x02 67AKxVW8JVW8Jr1lnxkEFVAIw20F6cxK64vIFxWle2I262IYc4CY6c8Ij28IcVAaY2xG8w Aqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE 14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x 0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E 7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jr0_JrylIxkGc2Ij64vIr41lIxAIcV C0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF 04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7 CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8pVbDUUUUU== X-Originating-IP: [124.16.137.194] X-CM-SenderInfo: 5zdqw5xdqjjk46rwut1l0ox2xfdvhtffof0/ 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=lists1p.gnu.org; Received-SPF: pass client-ip=159.226.251.25; envelope-from=wangyang25@otcaix.iscas.ac.cn; helo=cstnet.cn X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, INVALID_MSGID=0.568, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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-ZM-MESSAGEID: 1788485253034158500 Content-Type: text/plain; charset="utf-8" The ccmov, pref, lwp, and swp encodings are classified as RV64-only in xmip= s.decode, but their translators only check the corresponding extension prop= erty. With the property enabled, RV32 can therefore retire these encodings.= Apply the same XLEN check already used by the ldp and sdp translators. Tested with the 12-case RV32/RV64 linux-user witness and control matrix on = a clean patched QEMU build. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4404 Signed-off-by: wangyang --- target/riscv/tcg/insn_trans/trans_xmips.c.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/riscv/tcg/insn_trans/trans_xmips.c.inc b/target/riscv/t= cg/insn_trans/trans_xmips.c.inc index 1b9993a9b0..37c8933221 100644 --- a/target/riscv/tcg/insn_trans/trans_xmips.c.inc +++ b/target/riscv/tcg/insn_trans/trans_xmips.c.inc @@ -31,6 +31,7 @@ static bool trans_ccmov(DisasContext *ctx, arg_ccmov *a) { REQUIRE_XMIPSCMOV(ctx); + REQUIRE_64_OR_128BIT(ctx); =20 TCGv zero, source1, source2, source3; zero =3D tcg_constant_tl(0); @@ -74,6 +75,7 @@ static bool trans_lwp(DisasContext *ctx, arg_lwp *a) MemOp memop =3D MO_SL | ctx->mo_endianness; =20 REQUIRE_XMIPSLSP(ctx); + REQUIRE_64_OR_128BIT(ctx); =20 TCGv src =3D get_gpr(ctx, a->rs1, EXT_NONE); TCGv dest0 =3D dest_gpr(ctx, a->rd); @@ -119,6 +121,7 @@ static bool trans_swp(DisasContext *ctx, arg_swp *a) MemOp memop =3D MO_SL | ctx->mo_endianness; =20 REQUIRE_XMIPSLSP(ctx); + REQUIRE_64_OR_128BIT(ctx); =20 TCGv src =3D get_gpr(ctx, a->rs1, EXT_NONE); TCGv data0 =3D get_gpr(ctx, a->rs2, EXT_NONE); @@ -138,6 +138,7 @@ static bool trans_pref(DisasContext *ctx, arg_pref *a) static bool trans_pref(DisasContext *ctx, arg_pref *a) { REQUIRE_XMIPSCBOP(ctx); + REQUIRE_64_OR_128BIT(ctx); =20 /* Nop */ return true; --=20 2.55.0.windows.2 From nobody Sat Sep 26 20:52:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788485259622963.3224434860772; Thu, 3 Sep 2026 18:27:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2IhT-0001im-Qz; Thu, 03 Sep 2026 21:26:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x2IhQ-0001hM-Us for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:37 -0400 Received: from smtp25.cstnet.cn ([159.226.251.25] helo=cstnet.cn) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1x2IhO-0005gs-Lb for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:36 -0400 Received: from DESKTOP-7FLBREN (unknown [124.16.137.194]) by APP-05 (Coremail) with SMTP id zQCowAC3Ij0xHppqrelPBw--.3609S5; Fri, 04 Sep 2026 09:26:22 +0800 (CST) From: wangyang To: qemu-devel@nongnu.org Date: Fri, 04 Sep 2026 09:26:08 +0800 Message-ID: <325e8071a2d3f0c8310b6708b2e822c1a5a59ded.20260904092608.git.wangyang25.otcaix.iscas.ac.cn> Subject: [PATCH v2 2/5] target/riscv: gate RV64-only XVentanaCondOps instructions on XLEN MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: git-send-email In-Reply-To: References: X-CM-TRANSID: zQCowAC3Ij0xHppqrelPBw--.3609S5 X-Coremail-Antispam: 1UD129KBjvJXoW7AF4xGrWrurWUAr4UXr4kCrg_yoW8JF4DpF 48GFWjkr43KFyxZayftr47AF1UCFsIqw4jqwnavwn3XayrJrWxAr1Ykw13KF15JF1kWr1Y 9FWjk345uFW7WaUanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBYb7Iv0xC_Zr1lb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI 8067AKxVWUXwA2048vs2IY020Ec7CjxVAFwI0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kE wVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUJVWUCwA2z4x0Y4vE2Ix0cI8IcVCY1x 0267AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY1x02 67AKxVW8JVW8Jr1lnxkEFVAIw20F6cxK64vIFxWle2I262IYc4CY6c8Ij28IcVAaY2xG8w Aqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE 14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x 0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E 7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jr0_JrylIxkGc2Ij64vIr41lIxAIcV C0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF 04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7 CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8v4EtUUUUU== X-Originating-IP: [124.16.137.194] X-CM-SenderInfo: 5zdqw5xdqjjk46rwut1l0ox2xfdvhtffof0/ 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=lists1p.gnu.org; Received-SPF: pass client-ip=159.226.251.25; envelope-from=wangyang25@otcaix.iscas.ac.cn; helo=cstnet.cn X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, INVALID_MSGID=0.568, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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-ZM-MESSAGEID: 1788485261182158500 Content-Type: text/plain; charset="utf-8" The vt.maskc and vt.maskcn encodings are classified as RV64-only in XVentan= aCondOps.decode, but their translators have no XLEN check. With xventanacon= dops enabled, RV32 can therefore retire these encodings. Gate both translat= ors with the standard XLEN check. Tested with the 6-case RV32/RV64 linux-user witness and control matrix on a= clean patched QEMU build. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4405 Signed-off-by: wangyang --- target/riscv/tcg/insn_trans/trans_xventanacondops.c.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/tcg/insn_trans/trans_xventanacondops.c.inc b/targ= et/riscv/tcg/insn_trans/trans_xventanacondops.c.inc index 38c15f2825..50d761e451 100644 --- a/target/riscv/tcg/insn_trans/trans_xventanacondops.c.inc +++ b/target/riscv/tcg/insn_trans/trans_xventanacondops.c.inc @@ -18,10 +18,12 @@ =20 static bool trans_vt_maskc(DisasContext *ctx, arg_r *a) { + REQUIRE_64_OR_128BIT(ctx); return gen_logic(ctx, a, gen_czero_eqz); } =20 static bool trans_vt_maskcn(DisasContext *ctx, arg_r *a) { + REQUIRE_64_OR_128BIT(ctx); return gen_logic(ctx, a, gen_czero_nez); } --=20 2.55.0.windows.2 From nobody Sat Sep 26 20:52:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788485225236815.4060901456598; Thu, 3 Sep 2026 18:27:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2IhS-0001hB-1f; Thu, 03 Sep 2026 21:26:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x2IhI-0001fc-Am for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:30 -0400 Received: from smtp25.cstnet.cn ([159.226.251.25] helo=cstnet.cn) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1x2IhG-0005f8-Ai for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:28 -0400 Received: from DESKTOP-7FLBREN (unknown [124.16.137.194]) by APP-05 (Coremail) with SMTP id zQCowAC3Ij0xHppqrelPBw--.3609S6; Fri, 04 Sep 2026 09:26:22 +0800 (CST) From: wangyang To: qemu-devel@nongnu.org Date: Fri, 04 Sep 2026 09:26:08 +0800 Message-ID: Subject: [PATCH v2 3/5] target/riscv: allow ZALASR loads with rd=x0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: git-send-email In-Reply-To: References: X-CM-TRANSID: zQCowAC3Ij0xHppqrelPBw--.3609S6 X-Coremail-Antispam: 1UD129KBjvJXoWxJr4DGryxXrW5KFWrAFyDGFg_yoW8Gr17pr 48GF4jkr45JFyFyw4SqF4UCFy7XFWfWw4fWFs3Wwn0qFsxJFySqF4jkw4akFWxJF4DXr4F 93Wvy345ZrWUA3JanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBIb7Iv0xC_tr1lb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI 8067AKxVWUWwA2048vs2IY020Ec7CjxVAFwI0_Jrv_JF4l8cAvFVAK0II2c7xJM28CjxkF 64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUJVWUCwA2z4x0Y4vE2Ix0cI8IcV CY1x0267AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280aVCY 1x0267AKxVW8JVW8Jr1lnxkEFVAIw20F6cxK64vIFxWle2I262IYc4CY6c8Ij28IcVAaY2 xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2 jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20x vY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I 3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jr0_JrylIxkGc2Ij64vIr41lIx AIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAI cVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2js IEc7CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU83DG5UUUUU== X-Originating-IP: [124.16.137.194] X-CM-SenderInfo: 5zdqw5xdqjjk46rwut1l0ox2xfdvhtffof0/ 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=lists1p.gnu.org; Received-SPF: pass client-ip=159.226.251.25; envelope-from=wangyang25@otcaix.iscas.ac.cn; helo=cstnet.cn X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, INVALID_MSGID=0.568, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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-ZM-MESSAGEID: 1788485227019158500 Content-Type: text/plain; charset="utf-8" A legal ZALASR load-acquire with rd=3Dx0 must retire while discarding the l= oaded value. gen_load_acquire() currently obtains the destination with get_= gpr(), which returns the constant-zero TCG value for x0 and cannot be used = as a load target. Use dest_gpr() so the result is written to a discardable = temporary. Tested with the 4-case RV32/RV64 linux-user witness and control matrix on a= clean patched QEMU build. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4406 Signed-off-by: wangyang --- target/riscv/tcg/insn_trans/trans_rvzalasr.c.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/tcg/insn_trans/trans_rvzalasr.c.inc b/target/risc= v/tcg/insn_trans/trans_rvzalasr.c.inc index 79b0b2c63b..2de1777cab 100644 --- a/target/riscv/tcg/insn_trans/trans_rvzalasr.c.inc +++ b/target/riscv/tcg/insn_trans/trans_rvzalasr.c.inc @@ -21,7 +21,7 @@ static bool gen_load_acquire(DisasContext *ctx, arg_lb_aq= rl *a, MemOp memop) decode_save_opc(ctx, 0); =20 TCGv addr =3D get_address(ctx, a->rs1, 0); - TCGv dest =3D get_gpr(ctx, a->rd, EXT_NONE); + TCGv dest =3D dest_gpr(ctx, a->rd); TCGBar bar =3D (a->rl) ? TCG_BAR_STRL : 0; =20 /* Check that AQ is set, as this is mandatory */ --=20 2.55.0.windows.2 From nobody Sat Sep 26 20:52:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788485243277535.9280626908464; Thu, 3 Sep 2026 18:27:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2IhW-0001jY-6n; Thu, 03 Sep 2026 21:26:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x2IhT-0001id-HC for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:39 -0400 Received: from smtp25.cstnet.cn ([159.226.251.25] helo=cstnet.cn) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1x2IhR-0005gy-Df for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:39 -0400 Received: from DESKTOP-7FLBREN (unknown [124.16.137.194]) by APP-05 (Coremail) with SMTP id zQCowAC3Ij0xHppqrelPBw--.3609S7; Fri, 04 Sep 2026 09:26:23 +0800 (CST) From: wangyang To: qemu-devel@nongnu.org Date: Fri, 04 Sep 2026 09:26:08 +0800 Message-ID: Subject: [PATCH v2 4/5] target/riscv: write back fsgnjn.h and fsgnjx.h results MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: git-send-email In-Reply-To: References: X-CM-TRANSID: zQCowAC3Ij0xHppqrelPBw--.3609S7 X-Coremail-Antispam: 1UD129KBjvJXoW7Cr47uw43Xry8Zr4kZrWxXrb_yoW8GFWfpr W0kFW8CF15Ga40krWftF4UCF17Xa1Skr42gF4vywn5WFZ8JrZrXFW0kw1ayFn5JFy8XryY 9FWvkws5ZrW8G3JanT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUBvb7Iv0xC_tr1lb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI 8067AKxVWUAVCq3wA2048vs2IY020Ec7CjxVAFwI0_Jrv_JF4l8cAvFVAK0II2c7xJM28C jxkF64kEwVA0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUJVWUCwA2z4x0Y4vE2Ix0cI 8IcVCY1x0267AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIE14v26r4j6F4UM28EF7xvwVC2z280 aVCY1x0267AKxVW8JVW8Jr1lnxkEFVAIw20F6cxK64vIFxWle2I262IYc4CY6c8Ij28IcV AaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0E x4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04 k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18 MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jr0_JrylIxkGc2Ij64vIr4 1lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1l IxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4 A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x07jnManUUUUU= X-Originating-IP: [124.16.137.194] X-CM-SenderInfo: 5zdqw5xdqjjk46rwut1l0ox2xfdvhtffof0/ 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=lists1p.gnu.org; Received-SPF: pass client-ip=159.226.251.25; envelope-from=wangyang25@otcaix.iscas.ac.cn; helo=cstnet.cn X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, INVALID_MSGID=0.568, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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-ZM-MESSAGEID: 1788485244813158500 Content-Type: text/plain; charset="utf-8" Under Zfinx/Zhinx, trans_fsgnjn_h() and trans_fsgnjx_h() compute their resu= lts into a temporary but return without calling gen_set_fpr_hs(). The instr= uctions consequently retire without updating the corresponding integer regi= ster. Add the missing writeback calls, matching trans_fsgnj_h(). Tested with the 3-case RV32 linux-user witness and control matrix on a clea= n patched QEMU build. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4407 Signed-off-by: wangyang --- target/riscv/tcg/insn_trans/trans_rvzfh.c.inc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/riscv/tcg/insn_trans/trans_rvzfh.c.inc b/target/riscv/t= cg/insn_trans/trans_rvzfh.c.inc index f36b46c211..fcdc6065a8 100644 --- a/target/riscv/tcg/insn_trans/trans_rvzfh.c.inc +++ b/target/riscv/tcg/insn_trans/trans_rvzfh.c.inc @@ -313,6 +313,7 @@ static bool trans_fsgnjn_h(DisasContext *ctx, arg_fsgnj= n_h *a) if (ctx->cfg_ptr->ext_zfinx) { tcg_gen_ext16s_i64(dest, dest); } + gen_set_fpr_hs(ctx, a->rd, dest); mark_fs_dirty(ctx); return true; } @@ -357,6 +358,7 @@ static bool trans_fsgnjx_h(DisasContext *ctx, arg_fsgnj= x_h *a) if (ctx->cfg_ptr->ext_zfinx) { tcg_gen_ext16s_i64(dest, dest); } + gen_set_fpr_hs(ctx, a->rd, dest); mark_fs_dirty(ctx); return true; } --=20 2.55.0.windows.2 From nobody Sat Sep 26 20:52:11 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; 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 Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1788485209650827.0451159291345; Thu, 3 Sep 2026 18:26:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x2IhW-0001k1-Ks; Thu, 03 Sep 2026 21:26:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x2IhT-0001in-Qo for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:39 -0400 Received: from smtp25.cstnet.cn ([159.226.251.25] helo=cstnet.cn) by eggs.gnu.org with esmtps (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1x2IhR-0005h6-Sp for qemu-devel@nongnu.org; Thu, 03 Sep 2026 21:26:39 -0400 Received: from DESKTOP-7FLBREN (unknown [124.16.137.194]) by APP-05 (Coremail) with SMTP id zQCowAC3Ij0xHppqrelPBw--.3609S8; Fri, 04 Sep 2026 09:26:23 +0800 (CST) From: wangyang To: qemu-devel@nongnu.org Date: Fri, 04 Sep 2026 09:26:08 +0800 Message-ID: Subject: [PATCH v2 5/5] target/riscv: normalize Zcmt jvt.mode on writes MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Mailer: git-send-email In-Reply-To: References: X-CM-TRANSID: zQCowAC3Ij0xHppqrelPBw--.3609S8 X-Coremail-Antispam: 1UD129KBjvdXoWrZw1fAw13GF4kGF17ZF45trb_yoWDCFc_Wr 4fuFyv9FWqv3ZI9FWDAw1Fyr1rury0grn3Ka1rGrn8KFy2gFs8Aa4kW3ZrAr1rZw18GF1f C3ZrXay7ur15CjkaLaAFLSUrUUUUjb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbhxYjsxI4VWkCwAYFVCjjxCrM7AC8VAFwI0_Xr0_Wr1l1xkIjI8I 6I8E6xAIw20EY4v20xvaj40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l82xGYIkIc2x26280x7 IE14v26r126s0DM28IrcIa0xkI8VCY1x0267AKxVWUXVWUCwA2ocxC64kIII0Yj41l84x0 c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26r1I6r4UM28EF7xvwVC0I7IYx2 IY6xkF7I0E14v26r1j6r4UM28EF7xvwVC2z280aVAFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv 6xkF7I0E14v26r4j6r4UJwAac4AC62xK8xCEY4vEwIxC4wAS0I0E0xvYzxvE52x082IY62 kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2 z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7VAKI48JMxAIw2 8IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4l x2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUJVWUXwCIc40Y0x0EwIxGrw CI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI 42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z2 80aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7IU8g18PUUUUU== X-Originating-IP: [124.16.137.194] X-CM-SenderInfo: 5zdqw5xdqjjk46rwut1l0ox2xfdvhtffof0/ 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=lists1p.gnu.org; Received-SPF: pass client-ip=159.226.251.25; envelope-from=wangyang25@otcaix.iscas.ac.cn; helo=cstnet.cn X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, INVALID_MSGID=0.568, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=no 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-ZM-MESSAGEID: 1788485215418158500 Content-Type: text/plain; charset="utf-8" Only jvt.mode=3D0 is implemented by QEMU. write_jvt() currently retains res= erved mode bits, so a legal WARL write of base|1 is read back unchanged and= causes a subsequent cm.jt to trap. Mask the write with JVT_BASE to normali= ze the unsupported mode. Tested with the 4-case RV32 linux-user witness and control matrix on a clea= n patched QEMU build. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/4408 Signed-off-by: wangyang --- target/riscv/tcg/csr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/tcg/csr.c b/target/riscv/tcg/csr.c index 36f2004bc5..9affee0375 100644 --- a/target/riscv/tcg/csr.c +++ b/target/riscv/tcg/csr.c @@ -5883,7 +5883,7 @@ static RISCVException read_jvt(CPURISCVState *env, in= t csrno, static RISCVException write_jvt(CPURISCVState *env, int csrno, target_ulong val, uintptr_t ra) { - env->jvt =3D val; + env->jvt =3D val & JVT_BASE; return RISCV_EXCP_NONE; } =20 --=20 2.55.0.windows.2