From nobody Sat Apr 11 18:39:10 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=1775589781; cv=none; d=zohomail.com; s=zohoarc; b=GEGoiynsD4R/KARa2kck457lousGY4+vtoLVS9w3DGX3rHs+N5Jmhdw59AJ29FylLYISC5eeDStilWRjMEuM4tRw5UFOCAb2jf85CWmJzHmyt9K9bMfiylD/SbPPpORZdxbe5xrdr60xeTTqfVUyysGdOIhudnSE7mTTVujtIOM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775589781; 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=EKKZg8uq7Ld0d9eFV3gGIWh2uTItY5aVTYw1sMKCdpI=; b=Uy9Gfg3incuZ79Q7YamPbXd0ptRR9J/DLT3S14C4xXfa/XycIn66HR+Ql55ACm3STrbydc+bpapKiTrbfUSrRIta4XCwUsAaWqrLuASatbQY7EVBn3A4lrwvBCnie+tZBoLBr48ceIdyLybChuFWBwZnE2PgqQjkf2TR5iPac3s= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17755897813076.367927406704894; Tue, 7 Apr 2026 12:23:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wABXc-0000Hb-G4; Tue, 07 Apr 2026 14:52:48 -0400 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 1wABUK-0003wR-MV for qemu-devel@nongnu.org; Tue, 07 Apr 2026 14:49:24 -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 1w9yDE-0007H5-CE for qemu-devel@nongnu.org; Tue, 07 Apr 2026 00:38:53 -0400 Received: by mail-pg1-x535.google.com with SMTP id 41be03b00d2f7-c742723c863so3008717a12.0 for ; Mon, 06 Apr 2026 21:38:52 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c76c6491fedsm15809963a12.8.2026.04.06.21.38.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 21:38:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775536731; x=1776141531; 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=EKKZg8uq7Ld0d9eFV3gGIWh2uTItY5aVTYw1sMKCdpI=; b=NTxBsMjctgVPZ8M3E3uFD16vGm+v+b3dYW2GI77K6Lm+7+wquu3B/JJ/dCYS4WjpGo wl/kNSB0/aF40FNkLgYsXopSd6syQFTR/uVFtp8cEjG4UEAzKZaf6dIbEZ6vMosg+c47 NuJ9hsZKXuGRtz6pVgKMSELS+oFvq8Xw3VoSzzyoYB4b9gjC22AcfLq0sQ4neSCXjW0a E/1U89TCBVmIYLydn8wCgwrEuHuxuO/6apVFwetksb4iggFA9vu5h+PUkiluSsaANUZy uxAjzdJc870g2UwNECoBkX21O1VcH6IBmk6v5yqXPVnftncH8NtncsmelP8qZUxDpRCu NT7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775536731; x=1776141531; 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=EKKZg8uq7Ld0d9eFV3gGIWh2uTItY5aVTYw1sMKCdpI=; b=X1btX+CuodAvvRQvGa1+ZhggFSBZD+dQnMKsMBigKvJwPbDOUWaKdIh1F/SWPFzLPg aKeL5o3CM5H9fIwjH3GVy8wbIwP86WErGdGvAe3DSkBGNcMAxT/k6WbYgKxPRosJo+qL 6MXbhb3oGyyMPRxcdU/TNuE6iHqmOUx8vbUV/NZPTlnn8T3a0nHr8wQOHViC6mqlhbnE Bw4ysgDm9VnOZr+mfSC/dX9PRBB5ZI+iH/y+v8fjB42/84JsktdN3maac63ZNKnwLjl1 LGRgrJ5tqJ827hWE+SzfJZ1HJ7q3GlKSac2wlVxuiyVEDd4BFXdrevPgQXEVd8CHYfR5 ASDQ== X-Forwarded-Encrypted: i=1; AJvYcCVqFe6fzTl3g6GDoQdRY9MEHrpN7Tm1Mxgy0oj+czIWbkwPKO6IulSSSpxL8ocIMAUX17f4BBR+SboN@nongnu.org X-Gm-Message-State: AOJu0Yzn+seH5eKpOHOQWLj5840qyBkipJWOYQRF6UX2bVnCglVqr/qK EEZ99HO3v2vXdox/Vc6WRKIqa/kL2hj0I4TV2yV1N0H2hJIPuoYJepfk X-Gm-Gg: AeBDiet8bECBRRNPoyNvPnPXmcKI4c95xkRcEg2EJ1WXwS0IIjrLZNHch8nT0AvwMDa kte485V6URFO95kdjTtY5RpBTPK2P0Ip6NRPR1yoiCeopPahZmOt6LvKdmeBSWd/5vBPSYoFeV9 pJDaIqWRlYwmRHDJdECxKDoF5qofndeIy4RyBkT69oNuBN3Eo/+6dAcdXw9rouAN4/t2T9cnnQc 3gFdQ0YKD4u5qhXTakEA9axdMUPl0XoGqL0JDaSFO0SnYDwa/jkwl4GG60310QqQwcyx5p+qwL8 OKzx0wqjpAbjKqIVrdz7X0znN2QsIMpSBXtqvzUYE0aN+s00LlhVZmnmgL50o17ulE+3SB5/xHX siKXAXOHjUYzhfAUtbLgsLpeXAUixw4CF+DQdbJGOPLQbX9+Z9jVroIHlwCvE279Rkw/wNeTQXC 11iUE3wVQPMyMQTrJMu1uoSRDDWDxovNqbJoD6vkWw X-Received: by 2002:a05:6a20:3d0d:b0:398:787d:4042 with SMTP id adf61e73a8af0-39f2f11da88mr14820664637.50.1775536730902; Mon, 06 Apr 2026 21:38:50 -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 Subject: [PATCH 1/5] target/riscv: Generate access fault if sc comparison fails Date: Tue, 7 Apr 2026 14:36:10 +1000 Message-ID: <20260407043614.372871-2-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260407043614.372871-1-alistair.francis@wdc.com> References: <20260407043614.372871-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=lists.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: 1775589782772158500 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. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3323 Resoves: https://gitlab.com/qemu-project/qemu/-/work_items/3136 Signed-off-by: Alistair Francis Reviewed-by: Chao Liu Reviewed-by: Daniel Henrique Barboza --- 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..af6cfcfc27 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 Apr 11 18:39:10 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=1775589892; cv=none; d=zohomail.com; s=zohoarc; b=XgoV0wT+mOro4/IguZfODWHqq5pRovPwEuY+tx86KedDKPj2JRTR+8QQUfFZMC2Rt81QxmKZvsoe/iNIgNAJYFa1SHM08ARzPnO2fGLfPNsKVuFn0hlnQxrGtszNTWON3XIYyxgXxNR4ZBLExAu0Ws85wBZfuL/sxB01kkjZbYU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775589892; 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=wsSyzB+nHn6U7XjN+sfZadyH0yW29u1E/XNnjLJPkzk=; b=NyRRsdONfRK5pJH2EEdFkLdEt5EWBMejzSlmLPp/QAvNdD6Mu8VocK4G0HZxa/sqp18ZTKO/l2rD+PwG5y2P2ldjMHJGj9f1gcxvAJUx887AANZdmKHxLuoMlHzd8BKEe5QkSf6xu87zdWtOmLibsF/3DaTnt1KQUSBzdt2afqM= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1775589892755108.5452877891812; Tue, 7 Apr 2026 12:24:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wABXf-0000Kb-9P; Tue, 07 Apr 2026 14:52:51 -0400 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 1wABUK-000521-Eo for qemu-devel@nongnu.org; Tue, 07 Apr 2026 14:49:24 -0400 Received: from mail-pf1-x42b.google.com ([2607:f8b0:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w9yDJ-0007HW-Al for qemu-devel@nongnu.org; Tue, 07 Apr 2026 00:38:58 -0400 Received: by mail-pf1-x42b.google.com with SMTP id d2e1a72fcca58-82735a41920so1564481b3a.2 for ; Mon, 06 Apr 2026 21:38:56 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c76c6491fedsm15809963a12.8.2026.04.06.21.38.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 21:38:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775536736; x=1776141536; 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=wsSyzB+nHn6U7XjN+sfZadyH0yW29u1E/XNnjLJPkzk=; b=j1r1947wqgKNT2m3e+LEOVpbWU1J7kCAPPQHmTPEMX7pks9AZuZayudot7y0c+GE0j W1wohoiq/ahdAZqRCo7TrdfEtb7PLCa6pkxXtmykDoKZCCGJeCLpbtsv5X4rwkt0gd7U G1iv4eY+GnJw6u5QpWmUrWEsYfA2sPOCTIol+pGQzW197aZL6CpByM2B5nInd1XomOUl xPW/fo4czr3NZ3IAqus58lmlWRecRgwo9/U0BDq3kSbed4maMiN9aOybD6e0cCuvoYZG BBsm9xFeNblIBgFqXCxIagmUfPt44ZVEIlCs3Eh690KmxYtFfFhJPvcbKWU0Hy8jlfLj ekww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775536736; x=1776141536; 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=wsSyzB+nHn6U7XjN+sfZadyH0yW29u1E/XNnjLJPkzk=; b=eB/YwoC/GYv9kVIcYX2JotyWewJVjrwCVFoAgYL9c1H8iDST8dlKvoxSOiyU0cKui/ 4gcll9cayQ/mVnk9Sr6mPWAXxxI/1rSO9v58XrahOwpN6bxb50vQt/PDTWlkxbrllEpt JEtgNoAGgbFQp25h09/0Lhqi9qI7Kx65mZc5tE/rk7uws96W61ows9knkHMOoN5onnpH EitqcGabQctuFdy2vdMgEihV1v6zTPhdJ0Zy8VV6RvK/fADRGQbW0DS6NGHQpTINEfjZ LOhJnQ3fKcnzmX2Sj7KGqKQiTlwYavERPoFRT5eoujw4Leou1hKOsnaj7fCy8nWJiNqS ay3w== X-Forwarded-Encrypted: i=1; AJvYcCXpwSzutzGbXPoFkO3cdYSfzB0Ov3dfmWQOSAWdy6Gh4n5avODyV5MEqwmWhWxCdbExnVZBQ9yQ8Vfr@nongnu.org X-Gm-Message-State: AOJu0YxK6ujAhrxA32dpTBMsvTEantS+GglAf9m42cD8EWGc14YNrdDJ ywq1ftjnUJ0ZygL1gY3wkdGcXrNOO5nVlLN2rg2TlcSg/O9p339QIl9k X-Gm-Gg: AeBDievXqgv4ghyM2tvAvkko2LRC0/vNu+HMnQCfjJDm8jFAIucfRTT0LgzkAdan2Rl MBcW6CII4UKh81ujqia06H6K5vgIvxKaCTR4dJsllkRRB4yHYCWzSDussH+eAVtoXelTEmS4aXC Kc0oMxQ9HTGRUtee0HvsB4Jvy5UH5avhzXAcSWIPkmEuktrNXCw/x2y3M13wm/Dm10pvLsf6gvf 4Iaxc1Pl/Bw4+vzv4FIkM1TnnJ3jIOeEq8r3mEDaJ/WZP4HZit/F9tBS4C/0jlehoL2LD+RDSre mRzPGkfoHq3AkHd94zt+RrOfZqafU++5eUtDPSHENQJ0reaELVeKlPMG6hbayOFeNTH+MlltF5n O0DnIb7+lZ1sZxoHTCJ4YKPoULAuu6MVemDf9LY+ythJpUioNET1PoQ9f0jVOdYgBPciio0UEt/ 8YDQWckDDDlQ0Z+ry5xkWOfwsGRFpF5SRyTggczVke X-Received: by 2002:a05:6a20:3d90:b0:39e:f994:f685 with SMTP id adf61e73a8af0-39f2ee00861mr15120747637.6.1775536735852; Mon, 06 Apr 2026 21:38:55 -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 Subject: [PATCH 2/5] linux-user/strace: Add a wrapper for read and write Date: Tue, 7 Apr 2026 14:36:11 +1000 Message-ID: <20260407043614.372871-3-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260407043614.372871-1-alistair.francis@wdc.com> References: <20260407043614.372871-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::42b; envelope-from=alistair23@gmail.com; helo=mail-pf1-x42b.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: 1775589895375154100 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 add a print_read_write helper that ensures all of the bits are printed. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3238 Signed-off-by: Alistair Francis Reviewed-by: Chao Liu Reviewed-by: Daniel Henrique Barboza Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- linux-user/strace.c | 14 ++++++++++++++ linux-user/strace.list | 4 ++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/linux-user/strace.c b/linux-user/strace.c index 2cbaf94c89..023173857b 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -4309,6 +4309,20 @@ print_tgkill(CPUArchState *cpu_env, const struct sys= callname *name, } #endif =20 +#if defined(TARGET_NR_read) || defined(TARGET_NR_write) +static void +print_read_write(CPUArchState *cpu_env, const struct syscallname *name, + abi_long arg0, abi_long arg1, abi_long arg2, + abi_long arg3, abi_long arg4, abi_long arg5) +{ + print_syscall_prologue(name); + print_raw_param("%d", arg0, 0); + print_pointer(arg1, 0); + print_raw_param("%d", arg2, 1); + print_syscall_epilogue(name); +} +#endif + #if defined(TARGET_NR_pread64) || defined(TARGET_NR_pwrite64) static void print_pread64(CPUArchState *cpu_env, const struct syscallname *name, diff --git a/linux-user/strace.list b/linux-user/strace.list index 35f001fecd..239b9e18b4 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" , NULL, print_read_write, 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" , NULL, print_read_write, NULL }, #endif #ifdef TARGET_NR_writev { TARGET_NR_writev, "writev" , "%s(%d,%p,%#x)", NULL, NULL }, --=20 2.53.0 From nobody Sat Apr 11 18:39:10 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=1775589614; cv=none; d=zohomail.com; s=zohoarc; b=LRdph6RfnsNc5eWpSV8kX3ykWKEQWNE1L4eqc+Nfd6iiqu7O+mS42D4bYEdIB1F0ya0ssJeUAhkaF33QokrvzBtncjrJzo+njhExVA/DKqpt2LWZWyP5LBCWec93v2dH9MHHwC0hROy7mQfJfOBVTotkfEUDGDS7VK681H0hi84= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775589614; 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=oiFezQHOAaqMmcJKMFlY6nIZQsohwq1z122fNT7RHvQ=; b=Oxn7+Wcw1JDvEcfDFd++mZimPM23yHzye5SnRqa4gB2wc0dDgz+kihThPIkvtDfHTFcoGg4rKUnvH57Ki+pnzymSJnFhDZUp8MWH1KBFMq1BA7Yepc6F2WUpCyPzBlBq/3yGIAu99womls0mK4BOe87RoMdIKkZ/IopV+Az2HDs= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1775589614623572.7383861727906; Tue, 7 Apr 2026 12:20:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wABXe-0000J4-Q9; Tue, 07 Apr 2026 14:52:50 -0400 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 1wABUK-0003zm-ET for qemu-devel@nongnu.org; Tue, 07 Apr 2026 14:49:24 -0400 Received: from mail-pj1-x1031.google.com ([2607:f8b0:4864:20::1031]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w9yDO-0007Hy-5x for qemu-devel@nongnu.org; Tue, 07 Apr 2026 00:39:03 -0400 Received: by mail-pj1-x1031.google.com with SMTP id 98e67ed59e1d1-35d971fb6f1so4018045a91.0 for ; Mon, 06 Apr 2026 21:39:01 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c76c6491fedsm15809963a12.8.2026.04.06.21.38.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 21:38:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775536741; x=1776141541; 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=oiFezQHOAaqMmcJKMFlY6nIZQsohwq1z122fNT7RHvQ=; b=DDGlJsY7JlvlmWSMLWt+t9Ukpho7fx4xDhJyaDaI9X/s/pyT8qpYt/42U7akQYGX/+ TBb0+iXn38TRxOOIHZXwN37WrdlMH5DE3qvB6pEwaUNJxSq4pqbWwLwotGjai9AZG0rv 3tcHXK16R1zaL7xfvjHzDRhVU2ArVqJoi9/5tAu7xqcBKZyKDnFoLqq/BZxyv+bOYLcd 5RRI83zKFccGeo3vNZoBnoIy/YsjsfsrQXvJKUaHXpG1E2uMvvowBgEBc1hUFgHrcPMI nXJWFAbDFHsQc5/6lUNBWJnCyNOR1PKzkbsgsO0+NLOkGM7xzqEKCsvt67xM1uPxO3sN zrMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775536741; x=1776141541; 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=oiFezQHOAaqMmcJKMFlY6nIZQsohwq1z122fNT7RHvQ=; b=bfPhdbSKS+4Ps26vdSdV4vNuIvrG5OqdHVgrELjsM1oW0GLl1terra4O3wqgSpxYvh 62EZkfCHKj0IqFSeLIY6OeYyg70hLAPI/P7UlTV43t9/ylNpyAAxtZhyJM6Xmp+2lqFI O0kw1Kus5jGqqn10DlCUhUAuHFW7FnU2/PpZwTP6fJAxTcYOrNv7rJ6bo5XhvzC7qVbr Mj7EAGn4I/9DwixWQKOuzFQOsdpkO6rjj6D2xaFOsKYuyaXoidlgXQ2hWgXhRMA4dtSj xMssCXTLBG8K1wwqlWTROKFTN77WIWaiRmTDjCkBtXjdoyDp4LXZ307yOMAdg8SQd2yX u5iw== X-Forwarded-Encrypted: i=1; AJvYcCUNUhsCsi6ako7+jzTgxwO62v3NNlrcmto+BxSrAGALtmnrw0H8d7/m+GWoPAmkcYu6QHDwHqlS7vlL@nongnu.org X-Gm-Message-State: AOJu0YzuDsO3otlfrFxB/jc8tLOIY8R3/9Fm3Ww9pOLutxOe0CXO7VqG BfrdtHfgDFQgMqPbw1rbUisI323APSsNL4/1DjrO7JIDfVPF2n9Hq/5x X-Gm-Gg: AeBDieuE+wKfLwJdrAjFW8eu3q+bEZuf2HnJDChKQjixNHN44cPdPJZZCVEYJiaQNOf Txz0/nQf2NaW02CvRmyPkd+DeCSs0HW4s6nptRZznX5EU6pzEKPb9c4WXwycxwCpShybxQgD/eN qKH+cm6HLU48oUwGimIj9xXSa/nP/FYOHHWzS0m+UDnr6QlXyRM0M6N5A1YNO1DB9MPxHpgYKxm ZV+89ldk6cDf0heK1ZK85zFNLcBxdiFl8sDwi0B+iE7FmXehJ1KS2vC8ocVz33easaFZIJXL6G9 rvjcnbOUzhFpsOAKGRXQpd68WW4H682mwb9X8IRH9xFIp1gY3+KQDVqf0HVFF5cRkOp3uDR2W+S mi2cCphifXbm0vPfmyz+tQNbtRUrAR2bQDve+joZgd8y095vZJ3LacxzWCUwAAa5TJvNVktbm+f Iq3sj8txS2WGvlcH+xpi64mddF9ybbcaYrYshA5v6B X-Received: by 2002:a17:90b:350e:b0:35b:9682:51e6 with SMTP id 98e67ed59e1d1-35de691ac13mr15140403a91.16.1775536740743; Mon, 06 Apr 2026 21:39:00 -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 Subject: [PATCH 3/5] target/riscv: Don't OR mip.SEIP when mvien is one Date: Tue, 7 Apr 2026 14:36:12 +1000 Message-ID: <20260407043614.372871-4-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260407043614.372871-1-alistair.francis@wdc.com> References: <20260407043614.372871-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::1031; envelope-from=alistair23@gmail.com; helo=mail-pj1-x1031.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: 1775589616968154100 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). """ From my understanding this means we should remove MIP_SEIP from the alias mask. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/2828 Signed-off-by: Alistair Francis Reviewed-by: Chao Liu Reviewed-by: Daniel Henrique Barboza --- target/riscv/csr.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index a75281539b..2a2f9497db 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -3796,6 +3796,14 @@ static RISCVException rmw_mvip64(CPURISCVState *env,= int csrno, /* Remove bits that are zero in both mideleg and mvien. */ alias_mask &=3D (env->mideleg | env->mvien); nalias_mask &=3D (env->mideleg | env->mvien); + } else { + if (env->mvien & MIP_SEIP) { + /* + * Bit SEIP in mip is read-only and does not + * include the value of bit 9 of mvip + */ + alias_mask &=3D ~MIP_SEIP; + } } =20 /* --=20 2.53.0 From nobody Sat Apr 11 18:39:10 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=1775589710; cv=none; d=zohomail.com; s=zohoarc; b=jsfwAjdbVBxB8agKGOnPPl+gza8Zo0gAT/KcryQzWYJ6sf6h46qcWujz5s3qQiz/uolc4cTgk4wton+bCUZtjD5ArDaSMtcKMGISg38n2hcdg9m4pwqoaALBV6yv+4KM61GWGfWhDZLDgYaxatHsW4Uh29LFFbIFLQHOWzeVYLU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775589710; 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=gWzjUTCd9em7jjYKpUK6oDcQv+hHOaT5Rzf5ShfZusE=; b=bMlkTW1E/VsG1tnBttl5HRyfPku5vcmy6Vl2hlHez2Gp0ztX5sYLnY2F0pZyxOf1bPbK1im3CEKyus1dgRKVJVYi7fIet0LwXho0k1vO9Cp9uT7JqXog19fEsZrFVV4KfhlMfPEYuOfbSw+wGBuYQySt0yJVVu+SLchh5d6vI98= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1775589710695635.0376777946722; Tue, 7 Apr 2026 12:21:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wABXe-0000Ij-9v; Tue, 07 Apr 2026 14:52:50 -0400 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 1wABUK-0002am-CG for qemu-devel@nongnu.org; Tue, 07 Apr 2026 14:49:24 -0400 Received: from mail-pj1-x102d.google.com ([2607:f8b0:4864:20::102d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w9yDT-0007IQ-38 for qemu-devel@nongnu.org; Tue, 07 Apr 2026 00:39:09 -0400 Received: by mail-pj1-x102d.google.com with SMTP id 98e67ed59e1d1-35c238f1063so2774690a91.1 for ; Mon, 06 Apr 2026 21:39:06 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c76c6491fedsm15809963a12.8.2026.04.06.21.39.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 21:39:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775536745; x=1776141545; 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=gWzjUTCd9em7jjYKpUK6oDcQv+hHOaT5Rzf5ShfZusE=; b=KpyP6wZdTVs3dB9ozJoZF/kxnCpjTLa7BtQ2MXaDcxxViv28Za9D920Zn4XY6q0hRS IKBYRhHlWKjgOg8MoyfRGX2ujpIc7kDnSCGAdlekI/NeV6FlwtgySNX41MGVTcza6o7x 5NyjU+43SoMcWax/8uqyGLG41lsnPiIfvRvDZZJU1Y3c8HqpwmWGY1cwrdDBl5VTfvos 6V7raHKTfTb5IEAIRcbmRmzZP5kHB38pQoOwmpLHa22YCtAlrak2L6Xi57Ugv84khTIL NZJ3/d1Fnf0JAvXFYGp9INqKNLPwr8dmg9K2+Ckinvld+1HTrHJ1hX3NjAZaYVI9O3Z9 GjzA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775536745; x=1776141545; 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=gWzjUTCd9em7jjYKpUK6oDcQv+hHOaT5Rzf5ShfZusE=; b=IiIugtzby5KzAMTFzpIFFsz8MP/+2IkDjlrF040z/wpTwUJkG37YYXQ/rbvlIMs/GF nwSYOYNrjRNDxfmRfeF1kYWMVeqiHurd4BYbsT05mRSZiCkQzcwOmqZHjvKsqpf2Qgv6 /53YDq45pzyKleqqQ986trrknY5sQ2WEOvfcaZj6Qwn3H08MIiGDfwQoWJHRUGIbU/Ec lJvAFfB472maQw0wlHz8dgKjXhnR5eecnYQMy8fEhEYiXn0K1eGNVI9NVX4hdrMpZYY7 xwNktLgwxVyTT0EwMJPZWKz/+KhYEabLmOV9BmI2HVeawAsN/nBJN2G81EiGcEWFJAS7 DlcA== X-Forwarded-Encrypted: i=1; AJvYcCWIw4Rz+LM+KoM27TxrIFU4MUFBK+qiLiMypGFtjxJLxzKaXtU21IaxwhwgZz5fiCgCU97rHq36z1S/@nongnu.org X-Gm-Message-State: AOJu0Yy2aiySqLzERnOZ5cyw11xmPa5sppaJwQ6jCGRvyoaoi5++kXuy hPd1wXOI7iCO6a6UlfwwVZcaq7mAyIEWQTuUJ3VAxnWCxs0Qt/hCkAFd X-Gm-Gg: AeBDieu0mEOWkwhT3YVUnVBtbRXhe89/dk5m80OenR7u5nHzm4js4drHoTCZ0AmMyP8 AP6v8soxT/EVL662ju3Y3TX4MSPLDvoCYoOvYiYqs1ZCzr5tAkL/XxskpxJS7wOM+5PtmYF9KUA MbOhmHcuGgJBRkf8ADvQhlfkMbiyBLT7VD2rW7EcJnE4I5dCew0DQhl7p9orz+VIAlu8eSO+5gn mzRy9xlDe05Nb/tNts1zsGHiwrqXZFENyBVdSxKQZrBJ5gtSI5jPiQdAyBMOSuBD6AjdSFxS0Q8 AIiR6ke+EZp1sLRs9lfFAQh1FyQVEf2bfouqYLc7ZWKnMTDt2NY3OjMVsvKNVf2RxN9EN8DYSxl 6LrpamJsqgoTXQM0I4zxMd34DwhfGElUsg/EQwDzlqyxSYO9bTYbsITer799SD/X9zOYTp8i+NR Ts8KVb75+00pfIUDX0UPIFeBrWnI29uTs8oLvAhiCJ X-Received: by 2002:a17:90a:d40e:b0:35b:e51a:ec77 with SMTP id 98e67ed59e1d1-35de697176cmr13261499a91.16.1775536745580; Mon, 06 Apr 2026 21:39:05 -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 Subject: [PATCH 4/5] hw/timer: ibex_timer: Update IRQs after writing CTRL Date: Tue, 7 Apr 2026 14:36:13 +1000 Message-ID: <20260407043614.372871-5-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260407043614.372871-1-alistair.francis@wdc.com> References: <20260407043614.372871-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::102d; envelope-from=alistair23@gmail.com; helo=mail-pj1-x102d.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: 1775589712554154100 Content-Type: text/plain; charset="utf-8" From: Alistair Francis When writing to rv_timer.CTRL after setting the compare values the timer doesn't fire as we don't update the interrupts. Ensure we update the interrupts after a write to the rv_timer.CTRL register. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/2796 Signed-off-by: Alistair Francis Reviewed-by: Chao Liu Reviewed-by: Daniel Henrique Barboza Reviewed-by: Nutty Liu Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/timer/ibex_timer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/timer/ibex_timer.c b/hw/timer/ibex_timer.c index 0f12531934..571633803d 100644 --- a/hw/timer/ibex_timer.c +++ b/hw/timer/ibex_timer.c @@ -193,6 +193,7 @@ static void ibex_timer_write(void *opaque, hwaddr addr, break; case R_CTRL: s->timer_ctrl =3D val; + ibex_timer_update_irqs(s); break; case R_CFG0: qemu_log_mask(LOG_UNIMP, "Changing prescale or step not supported"= ); --=20 2.53.0 From nobody Sat Apr 11 18:39:10 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=1775590605; cv=none; d=zohomail.com; s=zohoarc; b=fPskjUTBrmyiJwztKjlUBx3mNAwyrY/rrH3QgfSx11XK/txbkMdrWyJ6IBBv8QBnXN9zGmzXqKUvdQHg7fnxAs72sYY20eF6q81/DpgYXrXKW8XnAPelnuNB9mSeouhRVjQM9X8UQnzqaOqrNd6dXwNMPHFMEJhrf58zUgbWXEk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1775590605; 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=2fXiHcneXVMhhF9C2Wl25YfbV2lULaA+TaRNA3rGmZ8=; b=R0HKb+sdieK+i89Wh+HO0eUGqG+woIorDP+gWJZHQ8y5UH/MJCiWjBAZlkO7vpp1AAuuzxDUhEIYcFRY+9lZX5QGbmo7FLxzh/cMuXtzUefF1lnybKHiwMcG8Ud/2H77qaJKXGjHup+daqZA6VIP7GZ4q3hyi89JQyV0Kagib10= 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 lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1775590605349314.4940439428058; Tue, 7 Apr 2026 12:36:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wABXd-0000Hm-3Y; Tue, 07 Apr 2026 14:52:49 -0400 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 1wABUK-0003xC-5U for qemu-devel@nongnu.org; Tue, 07 Apr 2026 14:49:24 -0400 Received: from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1w9yDY-0007J1-Mc for qemu-devel@nongnu.org; Tue, 07 Apr 2026 00:39:14 -0400 Received: by mail-pg1-x52f.google.com with SMTP id 41be03b00d2f7-c70e27e2b74so1347949a12.0 for ; Mon, 06 Apr 2026 21:39:12 -0700 (PDT) Received: from toolbx.alistair23.me ([2403:581e:fdf9:0:6209:4521:6813:45b7]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c76c6491fedsm15809963a12.8.2026.04.06.21.39.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 06 Apr 2026 21:39:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775536750; x=1776141550; 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=2fXiHcneXVMhhF9C2Wl25YfbV2lULaA+TaRNA3rGmZ8=; b=i/acd2kn55cKfTVMDLAyi70MMI7eaoVjvL/lUUX7h9rN0fM7Ky9RvzfRJH9RhCz2ii wbTqOy0CzePRoZqMFeEzfku3jd2o41o3d2AOyDHIY5Xcg1maOb/tlPso3exWWNnSa9HT 9GurUKGzq/G25O/Pu+S7RkztyYyKTwE7lCgfD8UOC/SaepZTFKPjGig48+aGqjHDX2G3 E1cEOyKQEa8t1juCAaDu9bBF3w9+F6TqC8V39lkqiI0beZU/KEOcALHA3FBkTZjarK+g 4FxpSwAgcL3JvaugUX82iAjXb0qjWBfhex6iS/UEZE4j8y6pzYwxKcQPraVCqk7zI6HY Ksjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775536750; x=1776141550; 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=2fXiHcneXVMhhF9C2Wl25YfbV2lULaA+TaRNA3rGmZ8=; b=Tk6bsz+2jVq6Y6woClhNefEgWhWIvTxRJN13+r2g0TC5UgNqoCbqujd4JmnJTnLha5 /2/aqhBd4jxpmGT7D8tuK1DyfIlS+LNv9nguG9B1mO7rWmQfyDhd/WJQ9hd9ghI3RFVy xh7vqJFWkajvpg8fendIeJ2rZ5rmP0Er/k9FLbmbVm09AIg3Io1+8Z7Z8rTCjc2RgOTQ q2ASiA5i0TdEaSypLJcGMjjhtpw03Ybbm0wMa0afFxpducqGmpPzgy0Uuo3Y70bmUcxU jdMda0ZroE8qQMKhVSOp05YSKZQTsM+py/0J0Fyw5PJd3wxuTasuZ1uOVFQhzYCBNY76 IRow== X-Forwarded-Encrypted: i=1; AJvYcCXZbTQoYftn4vj3wU406WQhosWZvyEgVYubEzDsLv5Eo4Q5QDo2xClwNEYIUCdBZ4RUVS8q1ij0Jan1@nongnu.org X-Gm-Message-State: AOJu0Yxh3YfUYgQqLvivi4CnEhqPdXmIR1XIddUSKCZQIJU3kCuI8Ib7 r4GYkSaSE1R1g00xD+DN/T8RkbfKFwe1ct3RiuRbZZpGi4ca0M6WrZNH X-Gm-Gg: AeBDievGfzJMYjcrblJMYJU4KCDlB3Ujk1pE2zQ2DqC6s7WYErrAIL0Qhz4+QFc46MB Di0cjFSJy2kUGh8hYUp2pWC+LU4YCNHs6KVQ57UU3rwwtaIIVdN4KNmE+Oh1sge58RYT3FbVNeA yYyrjI8JfZEfs6pfVXHvYnaxAbRnDi1ESy/vgSrItJfujbREK5n0Kod2QPVIfDhta0odimRDRcL fkLLjRAhZodwFCR1mdgUtqfulFoQq495xxhKZMMGg8xmX9CxAiZUTqA2sr5CuXFIr6CkzNrItex IFxgBF2+SxOcHYVWsF6YozM+bloC2n58/NQz5kquGgl+bwufgzAWGn3nByCGQ2POFtkphMMCbES DR8xfhGKRA2tKW81/PaerDDw5bVv9HL1x0+QPQqH5a866nX8HHMIUggg2NdtAm4hTf/H4xrhhZ3 qso8t6UBAUVWGVdZh1g3cnwu91vWtpkc5sRGADERto X-Received: by 2002:a05:6a20:3d8b:b0:39b:949d:6078 with SMTP id adf61e73a8af0-39f2ed105f1mr16825857637.6.1775536750544; Mon, 06 Apr 2026 21:39:10 -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 Subject: [PATCH 5/5] target/riscv: Use ELEN for Fractional LMUL check Date: Tue, 7 Apr 2026 14:36:14 +1000 Message-ID: <20260407043614.372871-6-alistair.francis@wdc.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260407043614.372871-1-alistair.francis@wdc.com> References: <20260407043614.372871-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=lists.gnu.org; Received-SPF: pass client-ip=2607:f8b0:4864:20::52f; envelope-from=alistair23@gmail.com; helo=mail-pg1-x52f.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: 1775590606450154100 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. Resolves: https://gitlab.com/qemu-project/qemu/-/work_items/3196 Signed-off-by: Alistair Francis Reviewed-by: Chao Liu Reviewed-by: Daniel Henrique Barboza Reviewed-by: LIU Zhiwei --- 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