From nobody Sun Jul 26 13:29:19 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=foxmail.com ARC-Seal: i=1; a=rsa-sha256; t=1781536287; cv=none; d=zohomail.com; s=zohoarc; b=iUVAW1Wn7tvy6MegXGGSJxD8UH4rxkPrlaMEJRa7+mmfdD3NzDJGOB01/7NqnUIJ4mdHYvFX94dEMiGlK+JeOYUpzPU7iLjl3SlOb+FuMzqxjJosroaJ84OsIcDBnVzDcBbYGOtp74dpoWDPs74D28hcTxxKs+dePezOleQBv6s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781536287; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UjrlcJ6xMBvotNpSR8HB+emJXxSAUYxksdCOkudHz7s=; b=IrnCCzhfyaN7OopY3A5mxSQjnCLKb57fPvzxSHvFLdPwIE+TBByuRA2dkWOWAXHTeAUsw/lbUo2O7AOL8R6zf/pG9JSZBPb/ExDE3LwUhz1B1s89rpq5UsqnLONBguTmoCCIAcP5xCiyvF2c8aFy1T5hoO4A5Nd4JukdrOLa7pE= 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 1781536287744331.8231863935922; Mon, 15 Jun 2026 08:11:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wZ8xs-0006s4-RH; Mon, 15 Jun 2026 11:11:04 -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 1wZ7UH-0001CD-SL; Mon, 15 Jun 2026 09:36:26 -0400 Received: from xmbghk7.mail.qq.com ([43.163.128.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wZ7UF-0007SS-4P; Mon, 15 Jun 2026 09:36:25 -0400 Received: from GavinQin-Ubuntu24.. ([117.147.33.130]) by newxmesmtplogicsvrsza63-0.qq.com (NewEsmtp) with SMTP id 62418AF6; Mon, 15 Jun 2026 21:24:36 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1781530569; bh=UjrlcJ6xMBvotNpSR8HB+emJXxSAUYxksdCOkudHz7s=; h=From:To:Cc:Subject:Date; b=SJwYXEyMx31LI/Ae42jpzzaoCZdwfRttro799BEHdOUPGMZvPZ0wrvUybKX2tlUPC 0VCK7Wx54yKhGTIb0xscxi79kCQAJvumhJGlIyRqYROKSry3rHqaUcHe1xkh2P58s1 HEVhK4d6ecSLtizUzFM1mLCsov9bGE0bChZ8rqNs= X-QQ-mid: xmsmtpt1781529876t9amj5m01 Message-ID: X-QQ-XMAILINFO: MtaEuttEGLYb+a5md2IZs35F6dn3uy9ngEOP+SrjV5AvfmU5MvuW5ynTldkoFa fMSvwS8OdrrmcFOn4VyKcOYjokTZYWsaKEIfl6qJM1wWvW8i58TLlckhvMlP7IGEaKlu1ydEKqHg 4DxM0WSdBx1Rx+41MEcshMC440yShalwDeEVtuT3DuoDGYryJGuaX6791UdQccCn2CQzFkiotkKm lHrPvLrcFFSaLUL2mbDkduFhjapjKun3mqxvNV3Mm1iuaHmoAcXB6af09dxpKPyW2C6S8oTWeou8 3iHc9qZ+GmCOa6lV+I84Ts44JzJsXn+HBdHnH5qAkp/V/p0u3R1iqChkBNVixPGEAX+rtITbJk6k ddaZfma2+Cf9tQ+ld31OflYPYCjrV+p8nveGE0vGPJM248avZ9ao3ZKbIeoXMUtPBkC88e0kqnTu PJ724crLNjvq4S/yUaKiTFV/6zu27qoyNsYute4S+GXj4d/RMzk5NX5KvhbYLqtbCVu0Ed52aKtp l4s6kGFyJrMEEB2D47wiEerm6N55jAM9moKdT54QRfZqfAaHCTK0rIpLFoGPfta6vtH8N3j5Rs9y 6U2R57BAgBedAEGEQrTy54uXbsdRhvUAeBQPMz/G8/LAPrkCa+PrUV0fom0SfLtIxhhBw0NIOj50 JoeJl/lXLqmmBLnhofFkA7pDLJ0sIp+ACcrfy/3L16KB5Aitcc051ZIPdCvIKRV9d6IKAylPRnjl /Mfyzfm5BfXfjuIzkWfdBjtpm3XNJNWIjNpgNl5IKcghWbbeazY5ZQVcAWytgFK2HFte70WYv6fW S+IKlxORNP+N/IxG1lzWxC22sXtuJWsazCjzbdDAW/j4nBAbB3uDuTU6Yie7PYy3WB9HYV4JqZp2 7X6GuW8MvZO+1nA8f0xAS3k4o8rjWsup7i10cdz41ISeEuta0mJ9MRfXJGLJpt7Y8GHL29A1k1+d B8+byz6WmJA/3P8Ay4hLb6scZS6pKq8uM1qbfxZKgoh0BgqBcxPeUE0yg43muhC7vUYExBg2aKn7 kmRb0CkEfvq2r6mVXdlINe7RUnlqIXkySXnSBf3UvKb6iVVPc5Jz1VEMULzNkuSykUT2B1qeKEN7 C10J7XMz4ltazurYP4okR/b862b0OKMWmIU5mz2A5oUGMohxct2Q+HK1m3TW1c3N4+5/Q4r3u/M7 9EQVGVF5LRWg8WH7umpCHuiecKXdT8SpxFsHxLbHg+ke4w1Q== X-QQ-XMRINFO: NI4Ajvh11aEjEMj13RCX7UuhPEoou2bs1g== From: ZhengXiang Qin To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, palmer@dabbelt.com, alistair.francis@wdc.com, liwei1518@gmail.com, daniel.barboza@oss.qualcomm.com, zhiwei_liu@linux.alibaba.com, chao.liu.zevorn@gmail.com, ZhengXiang Qin Subject: [PATCH] target/riscv: avoid abort when reading vtype before env->xl is set Date: Mon, 15 Jun 2026 21:24:33 +0800 X-OQ-MSGID: <20260615132434.10623-1-qinzhengxiang@foxmail.com> X-Mailer: git-send-email 2.43.0 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=43.163.128.43; envelope-from=qinzhengxiang@foxmail.com; helo=xmbghk7.mail.qq.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_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-Mailman-Approved-At: Mon, 15 Jun 2026 11:10:58 -0400 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 @foxmail.com) X-ZM-MESSAGEID: 1781536291021158500 Content-Type: text/plain; charset="utf-8" TCG plugins may read registers from the vcpu_init_cb() callback. For vtype, this reaches read_vtype() before env->xl has been initialized. In that case read_vtype() currently hits g_assert_not_reached() because env->xl is zero. Fall back to the CPU's maximum XLEN only for this early-init case. Fixes: 638181a180bd ("core/cpu-common: initialise plugin state before threa= d creation") Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3545 Signed-off-by: ZhengXiang Qin Reviewed-by: Daniel Henrique Barboza --- target/riscv/csr.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index 5514e0f455..6ade7ccb0b 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -936,7 +936,16 @@ static RISCVException read_vtype(CPURISCVState *env, i= nt csrno, target_ulong *val) { uint64_t vill; - switch (env->xl) { + int xl =3D env->xl; + /* + * TCG plugins can read registers before env->xl is initialized. + * Fall back to the CPU's maximum XLEN in that early-init case. + */ + if (xl =3D=3D 0) { + xl =3D riscv_cpu_mxl(env); + } + + switch (xl) { case MXL_RV32: vill =3D (uint32_t)env->vill << 31; break; --=20 2.43.0