From nobody Sat May 30 20:15:07 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1776296362; cv=none; d=zohomail.com; s=zohoarc; b=cQshPOmzVNUvUs+4J/QA4zUlnw9BnmfIDUiLWLq9Fl+7Zk7mIgonQEfLRoLCcF+mGfh6BgifdaDMxP2H56JNhgXndbfls4T/yyS9Sa5L4TUSe554IrkF7V6RLqHFeRjuUWp6a8ZYwlOtWWTT2pF4Jiha8d+s6BueEvjee1A7S3s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776296362; h=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=Dnq+0tXS4eFr2sdhjjScGLl4PxiJMF49NMAjxhNB8Xw=; b=LJtG8cdFUzBtS2Bw7gc1ZiUSO5FGDQK+S1Z3maVKpWvcjOe4jdhIvq8BeaR6AKp8G4ZgKYOeWChWWSXrZkmHXS0lt5XGurXG0KXa72WivCnv/sUqg6ODbRcUfYyk8wDFZ8WtjYttk4uz9IzD2zV1ZE9XhGMGwHlFxVZlot5fXkE= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776296362772777.0370196900789; Wed, 15 Apr 2026 16:39:22 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD9oD-00037W-Ub; Wed, 15 Apr 2026 19:38:14 -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 1wD9oC-000378-Du for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:12 -0400 Received: from mail-pl1-x62a.google.com ([2607:f8b0:4864:20::62a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wD9o9-0003a6-2S for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:12 -0400 Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-2b2503753efso64593305ad.0 for ; Wed, 15 Apr 2026 16:38:08 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b47826ea53sm32341675ad.52.2026.04.15.16.38.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:38:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776296287; x=1776901087; 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=Dnq+0tXS4eFr2sdhjjScGLl4PxiJMF49NMAjxhNB8Xw=; b=Yv40ksUM0I72HZL87Oyxtu3UPaA0+NUNfxgYBPpFHjQhgKrMvHd8Kr0dUlqj3w4t+g 2sophxWUwMVHZhjupOjfhL7APW1RfV9lkHWn2sJ/e7tKFjlUplG+HMbC5PPCKeEXH3Yh GE2bCrvTv8kQpObRsWN65I4GFPb98FPDZu1O7Vb8qsCk0ycbMCvlc6egIz+ZHJx7rTaW fvmW611wW8B2N5jO3kcgk1t5j0O8PO98euJxRKSwUdxNIqAo9i6UHVxJwydFGXP7UjFx biGTS08F4eRVJo2m9g5eYe/XtHG4IDix+1tYqYrgkbpooNWFN7nrd0FRfgL8t1nrIraQ 1Nvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776296287; x=1776901087; 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=Dnq+0tXS4eFr2sdhjjScGLl4PxiJMF49NMAjxhNB8Xw=; b=W9wPPRU6cUIxMBVvKm3PZMZl1tOJjzf1Oe1X1bdp1BGKxoN5/dA/j0vIkqhYeKzDEu QiLVF2w4DVmU5VLPKCPKH5sg58wvJ53MabOwfJErYDVPuRe2hfTUDjV8/4ESy8srtb+x ikmj4MF2j1zqOQrgqhJqYgPQgds9A4y2gBhbE3deIsZjgD2xfwrRP8uUYPTRKfLjdFj5 G72IEpnGYNrsBnduajO69o1GKzaPiWI8wA6yxBiP8VraXoVjDftwgAlapyHD6o/3g/X4 +VFKG8/8tpu5Gm1JSLwA1BWo9JDCRri8bLdb0Q+41n1/uKudxLXHXpoHmbyqW3MDiA9b ia5g== X-Forwarded-Encrypted: i=1; AFNElJ9CQgeyT4DIJQOiQ/5YI3rLwz3zFakp5fzCTEaiIwwqfCyectod/CUjnW7E/21PYJB08PyuHRpnmlVD@nongnu.org X-Gm-Message-State: AOJu0YzzrhhPMQwKpOnHnRknbyBKuJjper3dyJ/B2mnZhq7YNlmlwdCR EtvYuQfRIyd1yM71/R6o8CEvvCaEYDkF1gjlgKK7nFZ9j6V9KuM+8h67 X-Gm-Gg: AeBDieuqt+Nq0RnJYrTJyX60uxAGUg/AP5vTQz/LnDECmbzeZvaEL/s4WthlE9PZOZO Fglbp4eeVCDz7WFWQ8lidgH439WKvA/M/nPDloOF8/SaoO36zXgdXUX4skHF9QCLN7Ro2VV7GmT E29m+twqvRjAEWieWEOaKj49Il6yF9P/NaxvnYP40tX2fv8QJumV1YfHRPz2rnY2ARB987LHpxm sum9mIIRq+E/uPb+Ni0UXMvAIOTl2JdHRddYetJN5Bwa+rkEkrn7fL+GaOuMB5vMnGKqR508Y1l WYgHyrDqkBpUxB7xgxEe1KFwHfBaPJDn8Chy/VSbxTPfplWZCdBtVpu8/YyIe5tpuWHr9llNAmf flA5yRqVv+cWjXhkCKCdenaiy7L6ZfDX7eoZj1W6JF1qLg/FDWjudXv16ABY4GbuI+JSjqwUIaH Z0YIUFUG0dYbOrbs6AVg02fDELflUpWedvfwuJZiXT X-Received: by 2002:a17:902:76c3:b0:2b0:52b7:e82 with SMTP id d9443c01a7336-2b2d59a49fbmr183354235ad.16.1776296287400; Wed, 15 Apr 2026 16:38:07 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: palmer@dabbelt.com, liwei1518@gmail.com, daniel.barboza@oss.qualcomm.com, zhiwei_liu@linux.alibaba.com, chao.liu.zevorn@gmail.com, qemu-riscv@nongnu.org, qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , qemu-stable@nongnu.org Subject: [PATCH v2 1/4] target/riscv: Generate access fault if sc comparison fails Date: Thu, 16 Apr 2026 09:37:37 +1000 Message-ID: <20260415233740.3027321-2-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260415233740.3027321-1-alistair.francis@wdc.com> References: <20260415233740.3027321-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::62a; envelope-from=alistair23@gmail.com; helo=mail-pl1-x62a.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1776296364479154100 Content-Type: text/plain; charset="utf-8" From: Alistair Francis The RISC-V spec states: "For the purposes of memory protection, a failed SC.W may be treated like a store." So if the comparison in sc.w fails we should still check for alignment and do a probe access to check permissions. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3323 Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3136 Signed-off-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Reviewed-by: Chao Liu --- target/riscv/helper.h | 3 +++ target/riscv/op_helper.c | 14 ++++++++++++++ target/riscv/insn_trans/trans_rva.c.inc | 6 ++++++ 3 files changed, 23 insertions(+) diff --git a/target/riscv/helper.h b/target/riscv/helper.h index b785456ee0..fa16ab2b82 100644 --- a/target/riscv/helper.h +++ b/target/riscv/helper.h @@ -1289,3 +1289,6 @@ DEF_HELPER_4(vsm4r_vs, void, ptr, ptr, env, i32) #ifndef CONFIG_USER_ONLY DEF_HELPER_1(ssamoswap_disabled, void, env) #endif + +/* Zalrsc SC write probe */ +DEF_HELPER_FLAGS_3(sc_probe_write, TCG_CALL_NO_WG, void, env, tl, tl) diff --git a/target/riscv/op_helper.c b/target/riscv/op_helper.c index 6ccc127c30..b569366369 100644 --- a/target/riscv/op_helper.c +++ b/target/riscv/op_helper.c @@ -281,6 +281,20 @@ void helper_cbo_inval(CPURISCVState *env, target_ulong= address) /* We don't emulate the cache-hierarchy, so we're done. */ } =20 +void helper_sc_probe_write(CPURISCVState *env, target_ulong addr, + target_ulong size) +{ + uintptr_t ra =3D GETPC(); + int mmu_idx =3D riscv_env_mmu_index(env, false); + + if (addr & (size - 1)) { + env->badaddr =3D addr; + riscv_raise_exception(env, RISCV_EXCP_STORE_AMO_ADDR_MIS, ra); + } + + probe_write(env, addr, size, mmu_idx, ra); +} + #ifndef CONFIG_USER_ONLY =20 target_ulong helper_sret(CPURISCVState *env) diff --git a/target/riscv/insn_trans/trans_rva.c.inc b/target/riscv/insn_tr= ans/trans_rva.c.inc index a7a3278d24..62c0fe673d 100644 --- a/target/riscv/insn_trans/trans_rva.c.inc +++ b/target/riscv/insn_trans/trans_rva.c.inc @@ -90,6 +90,12 @@ static bool gen_sc(DisasContext *ctx, arg_atomic *a, Mem= Op mop) */ TCGBar bar_strl =3D (ctx->ztso || a->rl) ? TCG_BAR_STRL : 0; tcg_gen_mb(TCG_MO_ALL + a->aq * TCG_BAR_LDAQ + bar_strl); + /* + * "For the purposes of memory protection, a failed SC.W may be treated + * like a store." so let's check the write access permissions + */ + gen_helper_sc_probe_write(tcg_env, src1, + tcg_constant_tl(memop_size(mop))); gen_set_gpr(ctx, a->rd, tcg_constant_tl(1)); =20 gen_set_label(l2); --=20 2.53.0 From nobody Sat May 30 20:15:07 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1776296352; cv=none; d=zohomail.com; s=zohoarc; b=Dh+uKPP3oAzApWkQTbCdPgH46z8besC4BOn2RBxUGpn+Y7lMMe9GjgrvZaLQfcodMSpEULcS2C4W5l97SjWDxagzhlat9jGPeG4YTTkizNl3NVpGmRmaOTrawtC6CuYL0YFVL+/FQnVi8XZCS9RtYi4zNdWMcETo30er3ZhIV68= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776296352; h=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=QcnKwBt9815Xn9LSiKD/C5NHxwDsPf8fWRupq+/ZkXM=; b=guqcJoBYO3+SiB8p9s/x0TeJzPuUArip1qHGA99n2h2GLyweBr3Mz2yjaCF9+AzzCtOo8ZZFUNiqlUn44QgwOVeMhaWyfu8u3AB6Jsqi2Yt+sqfB5MGHflwWYDsYrfxJWTsl99A8hSSSjUCbRXeflcah5PIDRs6dpDbstJYVy5Y= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177629635204366.27873694343009; Wed, 15 Apr 2026 16:39:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD9oJ-000397-LU; Wed, 15 Apr 2026 19:38:19 -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 1wD9oG-00038O-Qm for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:17 -0400 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wD9oE-0003bD-5G for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:16 -0400 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-35da2d35eccso5413520a91.0 for ; Wed, 15 Apr 2026 16:38:13 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b47826ea53sm32341675ad.52.2026.04.15.16.38.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:38:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776296292; x=1776901092; 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=QcnKwBt9815Xn9LSiKD/C5NHxwDsPf8fWRupq+/ZkXM=; b=GEFKKlVL4Vdw5esUXcfvTbCHiZ6BbB8Gv8udoAzxJQdx/JKX0DNH0ao7bs16O/brUr OzXn4lgKgH/tV3/XfbcvB+5YTfNyFqMlXCZm387Z5UdLFWHsAqgGHxpE1vHOEgyfIh7M U7Wz5Z7EWIkAvqDTLI7fK6D47zjpJfhYYK1p0tyH0NgdoLDpRk9Z5x4xHoGhOPQybFXE MnODnqtXZZGKRcgxtLmzdhpcl/VSlLVVZyVlOheMfCPMqF11z8KZgUvD48iiHdaJ7MBk 8Ad2QpGfPqTapAm3f4PUK3u2V7K4Vji2NBY0NHSpHfDgkymR5W+XXvCZVk3iskJ+c/wA jonA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776296292; x=1776901092; 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=QcnKwBt9815Xn9LSiKD/C5NHxwDsPf8fWRupq+/ZkXM=; b=FYvpwlfWYyLEFeX7GyDUQkHUvS1itwmB8XszLZrDbuF7j9SsdOuCwyunqVB8Yzl31c Dz4IvEExQDaeUt4K3eq2egEKQGTwUyNapp6GHE/mhp1LR94PAj0lcMmcEmWHFE4/VRS8 0GVMUZAdt/IS9K0kj0FNJSDozAcJC51jGGdNd9WLyy4/17dN63R0raqYLz/ZgTOZcnyP 6cm4fHoKVL4V1K9bSMkdBYXo3Ua2alDYNk6khAiOn1uclS/KFMDWVMABmas0ez7jgoUq QNx/GYfQNRcYwxXUtlVw66y2B97vaiKcwGhmzc5HBH0AvB9/Y+kFeSPUme1Y6gCxtBNm umEA== X-Forwarded-Encrypted: i=1; AFNElJ8LtI4SnajAKsrRR/cye/qIo3aXYWcYJwSY31cYzBz6rPPws1hmik/t8RCYv4uZNdRQNnKQ+w2NQPj3@nongnu.org X-Gm-Message-State: AOJu0YzunMXPSc9TddZ1EpuQma0Csm2KhfXbGc8joVMlMFEM7A4i1lyy jfRIhaTUZaDy4K+ZSSZQGwbE0DwEg1T6Cn2BP/wdvrUnN4G1SoUqlhFa X-Gm-Gg: AeBDietrukuBXx57kFoe1630aWwZ73vQKYEUIlLZSMoFYG4UG5jf2ytHvQZiVAWYowM XReKktXVDxduFLIz9pTF6coD9GNQG81RgdJKttpl/gRwcyIRAe8ragTChunZCn1EdTLlWhmsVYE k8FksJ//pHdQ5ASJvqf/tQespp7UnHhDpBCzl774EgOFNn21SN/rCjnT/ltGVndKbsgeevKSuOC 1gE2hLnNmADsD9XmSUP/A9SwczUCPDdnFAkBwtbWFHmohTZ/NetpZsK0fc0qbOozgUaQeGFL8rZ d2NuNvPWE4wYE46pnAWAiL93wAxLY6ooutoc11btUtC5Lza1qaFqmSLAvrKsiozlxe0thrl2zoU wLPcbO6cioZAkERnco2j21Y0EP29eQW9RDc6Lc1t0mJybDPZ1i2kbLNypcVKwY9QbQ09xE7Zj6o inmf15H82gn8B/JZM+M1iPklUlqiCYq49vgR19z/Fo X-Received: by 2002:a17:903:7cc:b0:2b2:539b:d2ad with SMTP id d9443c01a7336-2b2d5a90e96mr170139815ad.42.1776296292485; Wed, 15 Apr 2026 16:38:12 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: palmer@dabbelt.com, liwei1518@gmail.com, daniel.barboza@oss.qualcomm.com, zhiwei_liu@linux.alibaba.com, chao.liu.zevorn@gmail.com, qemu-riscv@nongnu.org, qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , qemu-stable@nongnu.org Subject: [PATCH v2 2/4] linux-user/strace: Use pointer type for read and write values Date: Thu, 16 Apr 2026 09:37:38 +1000 Message-ID: <20260415233740.3027321-3-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260415233740.3027321-1-alistair.francis@wdc.com> References: <20260415233740.3027321-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::1029; envelope-from=alistair23@gmail.com; helo=mail-pj1-x1029.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1776296354538154100 Content-Type: text/plain; charset="utf-8" From: Alistair Francis The stack pointer is being truncated as 32-bits for qemu-riscv64, so let's use %p to print the syscall pointer argument. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3238 Signed-off-by: Alistair Francis Reviewed-by: Nutty Liu --- v2: - Remove the custom read/write print functions and use %p instead linux-user/strace.list | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/strace.list b/linux-user/strace.list index 35f001fecd..6162a407f9 100644 --- a/linux-user/strace.list +++ b/linux-user/strace.list @@ -1114,7 +1114,7 @@ { TARGET_NR_quotactl, "quotactl" , NULL, NULL, NULL }, #endif #ifdef TARGET_NR_read -{ TARGET_NR_read, "read" , "%s(%d,%#x,%d)", NULL, NULL }, +{ TARGET_NR_read, "read" , "%s(%d,%p,%d)", NULL, NULL }, #endif #ifdef TARGET_NR_readahead { TARGET_NR_readahead, "readahead" , NULL, NULL, NULL }, @@ -1674,7 +1674,7 @@ print_syscall_ret_waitpid }, #endif #ifdef TARGET_NR_write -{ TARGET_NR_write, "write" , "%s(%d,%#x,%d)", NULL, NULL }, +{ TARGET_NR_write, "write" , "%s(%d,%p,%d)", NULL, NULL }, #endif #ifdef TARGET_NR_writev { TARGET_NR_writev, "writev" , "%s(%d,%p,%#x)", NULL, NULL }, --=20 2.53.0 From nobody Sat May 30 20:15:07 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1776296365; cv=none; d=zohomail.com; s=zohoarc; b=dA/niUTHq4JrBs/N164jCfLdhY5nY7mulEAojBMIeLHZhNjAEiWP+3G0Oz8q1NGDiusfIhmiSTMRqpkY6R3FQMIWBt7ddtviiFOIar4GXVK3YxNV7r/8aXgXXU9rFey9ij7+KJmlNVHLwibwDLnTTs7sx591bgX9YVGa30HA8UM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776296365; 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=09bnGsDbKTHVT0HRhPjc1Z5jPce1HDUtrYwYOy1p71Y=; b=PAjpzAG+2Cy66uI7uk9I1veMe0iwpO2CGbyDv/Z9hN9uBfz79sD6GyhEZqJiOr9fqGRnO/3E5L1Fq5BsrTHeKchbVpBntTO7oqREuxaIVM7xGpzxzO61LKqQuRrwC8rQmYxwNsweYPCPeEKt6LpiJZqMDycsEm4m27RM8ydXhuk= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177629636535510.571642217490421; Wed, 15 Apr 2026 16:39:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD9oS-0003AI-E7; Wed, 15 Apr 2026 19:38:28 -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 1wD9oL-00039O-Ot for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:22 -0400 Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wD9oJ-0003cB-SH for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:21 -0400 Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-c796163fac5so513501a12.1 for ; Wed, 15 Apr 2026 16:38:19 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b47826ea53sm32341675ad.52.2026.04.15.16.38.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:38:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776296298; x=1776901098; 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=09bnGsDbKTHVT0HRhPjc1Z5jPce1HDUtrYwYOy1p71Y=; b=ECCLwCxJDWstUgX1v6/EsqsKZkd0aJ2L4VygSFcDigzIXdBF9By8uPy/3RLAS5tUH0 xnbXVkUJnXf2x2ykw4PHweKbmRgSE2WWO9A4RtprcXDhPsr6+ozho0ZNJqSGdjGH7Jf1 KBZ66c3IFckGq2Jj9vQhuqd2whkcXj9Zn0+nCJWLokqNbqwKAtaxYxJYt5TkKrXq3g1z yQu4gCGaVumwMlMsEwbcLDRhzKCmvBouNa7yGYcJ5FjJTWwCzMn/V7mgFFeouqql5G6n jSxW9+eDTS8EtYJ2fc6sw8GnDRZkqwmUvOMEBjqHVhSwE2l0H9hCtLYtIJHh49jEuHA3 kiyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776296298; x=1776901098; 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=09bnGsDbKTHVT0HRhPjc1Z5jPce1HDUtrYwYOy1p71Y=; b=ii3K2/zE018uF5I4raI3X8xoDWJIseHKMpWQ7+t8ads3nYceZdqmRRdTeN0nkGOuZY HZClD+jIdGGzoBXZHg/YJYjsXHJn2A6ONWjgq0iKOnaYUpdEui+yUP6CAccd8Nxtp2Uy 4OdDlXiOAM2Z+54EylrOi908MxTWF3FMkG4HC3HvRhwlUBeHBy656YHghAZjTttfxEgC /GbHkSdLEjzlttL57ipMfeJiM9LYMtRJmMw4u9ykzvtZbBJRFVi1bkmR7ijugU/g9JEG Zz3NVV6/W+zE765i4w34jOEdg0eWN3CRjYjUAKIn9K+tNWl2GH4Rfmg7I74UmD0uX1Qj nKKA== X-Forwarded-Encrypted: i=1; AFNElJ9CZQypyR70FuNiTpBWl9o4G66BpuThDpChDkuKvXNUJlszM/Jd0hCAwpJXv038yuJb9moMkvcptit2@nongnu.org X-Gm-Message-State: AOJu0Yzf5JkEFQywDZgLImgcoQXP1k/qJRxX9VRQshTtI3YMa4FBZ3Tw PbW17NyZfY6GNzSG3d/AcgasVJTbWAqq8sz2bYfyRdkQvdp0Q01ictM3 X-Gm-Gg: AeBDiesXOnIFIC/qfTBZKBDSVNjCSc6G07of5haXaAn6IYONBXRHPyK4mu/2scVYDb0 o4f7JapcpytIJA9+twMlqxi9GjN5HcM7e9CBh2EbssZlUsAbHWDz2PxrZHCzQVpT8h8+jkMsPv3 Yq5YCie/yEzAPKMRKHkBKGjD1nV3UsJcZjuDqBSd03osElf329snU1y4ZmCnn3bfSqOHPe1uM4Y WoU7mbhR6gw6Geh3CizDJcsgep+3MZZ4nn4odGWuWn3autHgQ8JFZGwfiZ9JmgKVArPaU0s8YkE LxPCW5Sm0GqR3dOXYUl2nkzh8YLrgsYGrx/RdtJ0jD/l2W+yJwL4wdIiF9j66aSoNlQ4EmRdy2M z4pZaTwGoxJ55777Bw4JaJWcFnNJm/zQ2EU9Whhlf6Yai1reqELznMPKur0BqDPOU+AGpCJ7794 CxdUchw4Pa1RqBdY36MC8zaE99o7LZdIAWp20ZLwtma5x4Xnoh+O8= X-Received: by 2002:a17:902:b193:b0:2ae:c529:a13f with SMTP id d9443c01a7336-2b2d5978f2bmr191714575ad.14.1776296297694; Wed, 15 Apr 2026 16:38:17 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: palmer@dabbelt.com, liwei1518@gmail.com, daniel.barboza@oss.qualcomm.com, zhiwei_liu@linux.alibaba.com, chao.liu.zevorn@gmail.com, qemu-riscv@nongnu.org, qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , qemu-stable@nongnu.org Subject: [PATCH v2 3/4] target/riscv: Don't OR mip.SEIP when mvien is one Date: Thu, 16 Apr 2026 09:37:39 +1000 Message-ID: <20260415233740.3027321-4-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260415233740.3027321-1-alistair.francis@wdc.com> References: <20260415233740.3027321-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::535; envelope-from=alistair23@gmail.com; helo=mail-pg1-x535.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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 @gmail.com) X-ZM-MESSAGEID: 1776296366856158500 From: Alistair Francis The RISC-V spec states that """ But when bit 9 of mvien is one, bit SEIP in mip is read-only and does not include the value of bit 9 of mvip. Rather, the value of mip.SEIP is simply the supervisor external interrupt signal from the hart=E2=80=99s external interrupt controller (APLIC or IMSIC). """ As such let's mark the mip.SEIP in rmw_mip64(). Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/2828 Signed-off-by: Alistair Francis Reviewed-by: Chao Liu Reviewed-by: Nutty Liu --- v2: - Move the changes to rmw_mip64() instead target/riscv/csr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index a75281539b..29dd596ae4 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -3671,6 +3671,14 @@ static RISCVException rmw_mip64(CPURISCVState *env, = int csrno, uint64_t old_mip, mask =3D wr_mask & delegable_ints; uint32_t gin; =20 + /* + * When mvien[9]=3D1, mip.SEIP is read-only and reflects only + * the external interrupt signal from the interrupt controller. + */ + if (env->mvien & MIP_SEIP) { + mask &=3D ~MIP_SEIP; + } + if (mask & MIP_SEIP) { env->software_seip =3D new_val & MIP_SEIP; new_val |=3D env->external_seip * MIP_SEIP; --=20 2.53.0 From nobody Sat May 30 20:15:07 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=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1776296368; cv=none; d=zohomail.com; s=zohoarc; b=Mb1HHGAZX5b4+r2kqxfgnE6rNRzilk4BDZepFUHLbdQZZp+xXiy0pzbtvVWfdTmLfULahSAsfnUAtN6NqfcaIlNEniPZrO+/MtlyrBIUJ4KSFkm7WTUlso3alI5KOBjEB/JK6J8IJvoVkQdsuMqFfaJRXPzCwOIqXuVyuBkanTA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776296368; h=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=9ItEzHmJ4mreaQM8VeIGNe20D6LHJYRqcrLhEucHCuU=; b=ILwQQK3kQPIiNr8hfMmVw3At0TzPHM3AcYeJuQbJgoO7V8goNS8D5bCjTnPWcIn88ZoXrNdciHztafKF6lyt9U/t0E4MFdfo/elQuM5lY3xX6uYO02lbg+kQiQNhxcJZyAyIaQCFNgTiSYGlvJchyBE+JgVpSnhd/yo9yacJtkQ= 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=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1776296368142399.6426778141108; Wed, 15 Apr 2026 16:39:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wD9oe-0003E2-Ch; Wed, 15 Apr 2026 19:38:40 -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 1wD9oR-0003B4-Qm for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:28 -0400 Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wD9oQ-0003cw-7X for qemu-devel@nongnu.org; Wed, 15 Apr 2026 19:38:27 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2b2429f98d0so46058355ad.2 for ; Wed, 15 Apr 2026 16:38:25 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b47826ea53sm32341675ad.52.2026.04.15.16.38.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 16:38:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776296304; x=1776901104; 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=9ItEzHmJ4mreaQM8VeIGNe20D6LHJYRqcrLhEucHCuU=; b=Ak/3EG3EIF2q1xvW6kh/xWiXqD2RuRPx6bvXFS2BJ16ZtyN2gLGYy3X9h3CmsH+Y59 Lqd20dfKGBii311xb6UntAhBKhwNdGsxzsok2u6ltOupvWLdgk2HDrMvKjB7yPqr5EWJ 8/yvp29Sl8fYkxKXKXrrw75OO2PWKZs7I1mGhrX4L4j79LuFQOAJ/rqEG5EJG6n77o/T gxGBL/L0VbY636A3kzl6EASKnnfELsTRvxyxku14g0CqboevgZoglTXM8HNRZhlYF5Lc MOjGjt8wABGqF/Urp6in7zcXduOgfm3R9zu4QFp209lewUTkELqQyHeTQH+knBBmsGlO OyjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776296304; x=1776901104; 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=9ItEzHmJ4mreaQM8VeIGNe20D6LHJYRqcrLhEucHCuU=; b=BFI9h3q8I+afQtI5FrRqzqTatCT5kKGa4MYrJ8Y8BjN7udDcEZ5UKfho1Pr9A8MW5T T+SDqM6ZVjIg6xUqqoSRFXtcKqzyDDnGFptR2Ah1l6SIHACxPCnJPBLPMX5pwggbfuQ2 ZKgotKt3fuXidf9Ddi5PTlqsa2xWGquPhn8iOCg0I055uinuFYUaTeTwttgmTdcGpfwT m/uJKRSREw36E08ePSF1jervHbY70QwHIZlpXJOw3VxnRSgxQPKUmCLE2Y0MFm1sdh1X NHWcvpPVrww8tnoIllLrs3nM96XN7ITNqjyr8RRyNfcRNGE3rdomXUhTYILgubTq4WSt 5bKA== X-Forwarded-Encrypted: i=1; AFNElJ+umOEyW+RrfdM/wQUNQMtnNIlqT6vcIbbVC36JOCIXZuAYO8s7ztH+sKKBrsMA4ypizJHFlBHnkD8m@nongnu.org X-Gm-Message-State: AOJu0YwdZGjzlUh4m9Kv7+plf2sbZfXw7rCrFgRRHCHve2s448yI0tGO uQdq8lgov7WX8AFzufzjXkIyknAA05cMMBDM3pHCTcAU8BhYES7/Rz+b X-Gm-Gg: AeBDieugz44LvDJSIdxR6Bf/tQ0+fkrP1tQ9CD5GhelcuIgbhXH0wEV/AWFyi5ClfeB 3UnyJ61CX0WKDvcB2uZpVApNEt+LLaReMviqqxUuMnhZpJuYmJHnoulzwPj5jO4FRM/7Gzh8xDY e7zsKIW8onFtPuszhox5EnZoTVT3d5iBwrI4kqUkHdmZ2+gFNaab8dY3w++q/4TVEKeZwArNZa2 +ix64pl4Puxqkc/rziZ30mvm5KTKutK+R9VUMftvBznjWF+e1HAozT/3ox7Rzldgdb2XY2AJDtO qROtBqrAFYkBCL7lsCEPvIPGN/Y7LIFM7BKlSwFlwH5oY3SWgnMVZDkiju+4iIHJet4OlJq6oXc KSaTyU11bl9vB0cy6/lfJFvqOQHQB+864ZJyt+RgA/lSHhi8ALk3pJLz4ImfLx/EXOLjukpRvao AHOBG+hY0HweeAIPx00Rvb8s8VyGzhR7GU0NQOEAcy X-Received: by 2002:a17:903:2acb:b0:2b2:527d:103 with SMTP id d9443c01a7336-2b2d5a5dcc0mr223806155ad.43.1776296304013; Wed, 15 Apr 2026 16:38:24 -0700 (PDT) From: alistair23@gmail.com X-Google-Original-From: alistair.francis@wdc.com To: palmer@dabbelt.com, liwei1518@gmail.com, daniel.barboza@oss.qualcomm.com, zhiwei_liu@linux.alibaba.com, chao.liu.zevorn@gmail.com, qemu-riscv@nongnu.org, qemu-devel@nongnu.org Cc: alistair23@gmail.com, Alistair Francis , qemu-stable@nongnu.org Subject: [PATCH v2 4/4] target/riscv: Use ELEN for Fractional LMUL check Date: Thu, 16 Apr 2026 09:37:40 +1000 Message-ID: <20260415233740.3027321-5-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260415233740.3027321-1-alistair.francis@wdc.com> References: <20260415233740.3027321-1-alistair.francis@wdc.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=2607:f8b0:4864:20::632; envelope-from=alistair23@gmail.com; helo=mail-pl1-x632.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.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, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 @gmail.com) X-ZM-MESSAGEID: 1776296370488154100 Content-Type: text/plain; charset="utf-8" From: Alistair Francis The RISC-V spec states that """ For a given supported fractional LMUL setting, implementations must support SEW settings between SEWMIN and LMUL * ELEN, inclusive. """ We were previously checking VLEN, instead of ELEN, so let's update to check ELEN instead of VLEN for fractional scaling. Cc: qemu-stable@nongnu.org Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3196 Signed-off-by: Alistair Francis Reviewed-by: Daniel Henrique Barboza Reviewed-by: LIU Zhiwei Reviewed-by: Chao Liu Reviewed-by: Max Chou --- target/riscv/vector_helper.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index 83dd26314d..b4fc791eb7 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -47,18 +47,17 @@ target_ulong HELPER(vsetvl)(CPURISCVState *env, target_= ulong s1, target_ulong reserved =3D s2 & MAKE_64BIT_MASK(R_VTYPE_RESERVED_SHIFT, xlen - 1 - R_VTYPE_RESERVED_SH= IFT); - uint16_t vlen =3D cpu->cfg.vlenb << 3; int8_t lmul; =20 if (vlmul & 4) { /* * Fractional LMUL, check: * - * VLEN * LMUL >=3D SEW - * VLEN >> (8 - lmul) >=3D sew - * (vlenb << 3) >> (8 - lmul) >=3D sew + * ELEN * LMUL >=3D SEW + * ELEN >> (8 - vlmul) >=3D sew */ - if (vlmul =3D=3D 4 || (vlen >> (8 - vlmul)) < sew) { + if (vlmul =3D=3D 4 || + (cpu->cfg.elen >> (8 - vlmul)) < sew) { vill =3D true; } } --=20 2.53.0