From nobody Sat Nov 15 23:38:18 2025 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1745599943; cv=none; d=zohomail.com; s=zohoarc; b=Q/QwjfcU3INrB52bDBW8PVGE/eF5Hd8nGbkVfLIe7R0rUveku/6/KUSkZ7VuqlBWueqrZ9Ux2dSQHJ9wP/qVNplleCm1/cd9SEJqicIaWPn61/WKmuHItb9y+k3iAupaFv7CuSsZIcJU9sOTMI2rtI7cn7+m0TsN1e7Kphfgb/Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745599943; 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=y/lEkwr44G1EnW5u3PsDr2ks/Ob649k5jZV75azPxp0=; b=c5vapSmL/7zKw4Uzp0KezbbnFPsFv/9XncrhnPv41AJTpjv77lhX336B7wR8y6t6Ui1A17JY+jcr5296u12TZSTYCTcs5Z7K/QlUhKV+3aFp7WMNDkh7cYH2dsacg1pVH/ZF8ExDmma5eXyZHMwRhGvbF7Lyu5s8Ob/8ld9PXjU= 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 1745599943896359.91909319161425; Fri, 25 Apr 2025 09:52:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u8MGn-0006Ty-Qi; Fri, 25 Apr 2025 12:51:24 -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 1u8MGV-0006Md-D0 for qemu-devel@nongnu.org; Fri, 25 Apr 2025 12:51:04 -0400 Received: from mail-pl1-x635.google.com ([2607:f8b0:4864:20::635]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1u8MGR-0006xe-GQ for qemu-devel@nongnu.org; Fri, 25 Apr 2025 12:51:02 -0400 Received: by mail-pl1-x635.google.com with SMTP id d9443c01a7336-2243803b776so43324145ad.0 for ; Fri, 25 Apr 2025 09:50:58 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22db50fff4dsm34637305ad.159.2025.04.25.09.50.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 09:50:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745599858; x=1746204658; 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=y/lEkwr44G1EnW5u3PsDr2ks/Ob649k5jZV75azPxp0=; b=nNifGbvM0CbXiGz7M8BqjbtNMY7Hj3s7D2syeyVii3S9qy5+wsPUpyqG0NT8i71Ttk 1k3h3mQSTTJhrktcpDBn9AeDvW1DpstHjwID6LJ3fKVNIZ8zKTAe2NUYUSlMqQGNqNad +4K972r4iSYDGQBqZpe41gZBLvE0dLpFOifvE1pNycFPVgqy0Av6pWUtCCCbSe04CwPS +wh9iVVYEvYzL702V7Ql3HW76RGMbegAjyPzBoLaTf555Ma4GMp0/79DJs8rqsh1Zkyd twGnwpZPyohkf/3Hx7ZTV+3BaXYELf0zq9oC6cJJrpP2H8ELg//CfooRZLoJevhtU10N LcEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745599858; x=1746204658; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=y/lEkwr44G1EnW5u3PsDr2ks/Ob649k5jZV75azPxp0=; b=qppTyKBPfT0fEufPGGUVAyouwvR7s6LT2nC/eXfuV7lAY8owsftOiWXVlcPgHK5ISG VScykoeiCDzxPGiT77tSBsl5RMjGWVwP0liGSeEj8skOmYmX4DPhQuU5UebB7v8/tIxK oNdWKffdDUNlo9w6JchC37zoqxshRakipMS5JGjatFEcLobiEgT3QAQUqTKMzpGJGDb+ fuBNtvLs6qEiLAhMN5ipvtUmRUKKNhX3KoQWZ2F8JqsZfJQ2c7jNYrbSNbI6mFoTe9wN 3jMCg/iVAdpHg4pYYm126Itr0hML0EdkL2MDxpy/ScYV/Bv18febIBmNulnHCLNTe04U 6wJg== X-Gm-Message-State: AOJu0Yy4DN0WzQ/xVDGy0tLL6mD6joxwhmSGV3irx2W/zm/lOQDfpMWv 9dKJkMQpVsG/RaADtYRs8OOXoj++W43e6sYL09cwwABh8XunCA1rFIVAFZE1+rCfNPGoNCVq+ul 0 X-Gm-Gg: ASbGncs1q/l6v0jlyKHN0BQZ2wp2it35R6YDt/FV6JiYvNYj1LjxdnIc6LgEX+ypx0Q 3RnpwhKpftbjtM3e5vtKV8v63Mj6NQTv6zpMe3zFkR7XOQZGtyYZlWjbt8T+pH+4tonDbMZdjis 1tZ9DXOrmWn0ccpa5d1aA2L9JvSRQKWe+KOdIFTdATG8JdA96AzaW6RhiKoqcQDH6hsLTUbxZye v093ZLDunVVVKSFV1oxuulXexmwjtw6o4YNDAWnA2s+Lu2L4fz/28bxil/cF8m2imV2jmorrOp0 j16P34fEH5X4yssyJCqKAYsRjRr5IlEGyBBvKRHvfW5F1nQdF2kIanvi+GIDYvYgfGwjAg4gD74 = X-Google-Smtp-Source: AGHT+IH/MUqMOw6hjIzcPsTXrFFUJh6nH+QddbUxLmIQhwCnWsYbf/rJuPgAkx85rnsoVY1nxNCH+A== X-Received: by 2002:a17:902:ccc4:b0:224:c76:5e57 with SMTP id d9443c01a7336-22dbf62255bmr48418815ad.39.1745599857705; Fri, 25 Apr 2025 09:50:57 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, dbarboza@ventanamicro.com Subject: [PATCH alternate 1/2] target/riscv: Update pc before csrw, csrrw Date: Fri, 25 Apr 2025 09:50:54 -0700 Message-ID: <20250425165055.807801-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250425165055.807801-1-richard.henderson@linaro.org> References: <20250425165055.807801-1-richard.henderson@linaro.org> 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::635; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x635.google.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, 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: 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 @linaro.org) X-ZM-MESSAGEID: 1745599946337019100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Richard Henderson Reviewed-by: Daniel Henrique Barboza --- target/riscv/insn_trans/trans_rvi.c.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/riscv/insn_trans/trans_rvi.c.inc b/target/riscv/insn_tr= ans/trans_rvi.c.inc index b9c7160468..a367fecf7e 100644 --- a/target/riscv/insn_trans/trans_rvi.c.inc +++ b/target/riscv/insn_trans/trans_rvi.c.inc @@ -992,6 +992,7 @@ static bool do_csrw(DisasContext *ctx, int rc, TCGv src) TCGv_i32 csr =3D tcg_constant_i32(rc); =20 translator_io_start(&ctx->base); + gen_update_pc(ctx, 0); gen_helper_csrw(tcg_env, csr, src); return do_csr_post(ctx); } @@ -1002,6 +1003,7 @@ static bool do_csrrw(DisasContext *ctx, int rd, int r= c, TCGv src, TCGv mask) TCGv_i32 csr =3D tcg_constant_i32(rc); =20 translator_io_start(&ctx->base); + gen_update_pc(ctx, 0); gen_helper_csrrw(dest, tcg_env, csr, src, mask); gen_set_gpr(ctx, rd, dest); return do_csr_post(ctx); @@ -1025,6 +1027,7 @@ static bool do_csrw_i128(DisasContext *ctx, int rc, T= CGv srcl, TCGv srch) TCGv_i32 csr =3D tcg_constant_i32(rc); =20 translator_io_start(&ctx->base); + gen_update_pc(ctx, 0); gen_helper_csrw_i128(tcg_env, csr, srcl, srch); return do_csr_post(ctx); } @@ -1037,6 +1040,7 @@ static bool do_csrrw_i128(DisasContext *ctx, int rd, = int rc, TCGv_i32 csr =3D tcg_constant_i32(rc); =20 translator_io_start(&ctx->base); + gen_update_pc(ctx, 0); gen_helper_csrrw_i128(destl, tcg_env, csr, srcl, srch, maskl, maskh); tcg_gen_ld_tl(desth, tcg_env, offsetof(CPURISCVState, retxh)); gen_set_gpr128(ctx, rd, destl, desth); --=20 2.43.0 From nobody Sat Nov 15 23:38:18 2025 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1745599898; cv=none; d=zohomail.com; s=zohoarc; b=ZQsIeNR3JkJ7VhM2VJOBivPQN1eAJqB/k2zbz+aQ6nTlyd8P3AvZnfphtl0XUCKk6cneLRm4W5XUmgiELXxFped/UKm8QOzcXPzeUmDaxwOWbI66AEbGDp23D7lF4iaVosN+Pb8/YYwlbTMEqzYQfMxIe6p1rqa5+G0fgfTh2Fs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1745599898; 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=ayh9uUapKIYXic2i8rYkQgbn/Z8hKtLS75uVQvb84DQ=; b=BocI1l8wxVMUS5oh+mhh+BtMPRmo5OaUVkbc7yb/PJZtvIJJmrYcRY0Lq3yuj754RZrnPTvDmhyFcL7/tqfAu/2NlH0MGHWduPBqq9qqmhaYS/xN0D0x4A5gLYF9XSg3AnaerxjDoCk2TTZCP+RgHcFBougb3KOJnzU44/E2Hjk= 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 1745599898306356.4114063770817; Fri, 25 Apr 2025 09:51:38 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u8MGd-0006Ps-Ka; Fri, 25 Apr 2025 12:51:11 -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 1u8MGV-0006Mh-FO for qemu-devel@nongnu.org; Fri, 25 Apr 2025 12:51:04 -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 1u8MGR-0006xm-S8 for qemu-devel@nongnu.org; Fri, 25 Apr 2025 12:51:02 -0400 Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-224019ad9edso36832435ad.1 for ; Fri, 25 Apr 2025 09:50:59 -0700 (PDT) Received: from stoup.. (71-212-47-143.tukw.qwest.net. [71.212.47.143]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-22db50fff4dsm34637305ad.159.2025.04.25.09.50.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Apr 2025 09:50:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1745599858; x=1746204658; 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=ayh9uUapKIYXic2i8rYkQgbn/Z8hKtLS75uVQvb84DQ=; b=zn0Z1JRp/FYrOqqsK9TNqBe236GOn+02v7SqhlY9xOd2fkZylegGhUuKCV/IKa62zg YwcDrSdKx1SQbYbJFHajw8X12WIUZeVTxD44RUJcWMu/dvBmykcGF11tpwTYFosB4QI5 3GX9e4yBj86zCR0ugpgOgEn7ZW3ikw5/jWlIRQIGDoDbZvNrzGpQT2P4VwoEmC6MCW24 qgkti5AVYcR2+5szRCJS12OIFpaVEQuzpIo84kI3vXP4VX2VhsVOnKOPc1tMHceZNUIn wOlOIjxtgSRJUJrwpg5rB2yYXLpxRV7M6ypO4XpoOGNPCPdwSaVc26Dt+VQ9MMlCCiS7 FeMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745599858; x=1746204658; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ayh9uUapKIYXic2i8rYkQgbn/Z8hKtLS75uVQvb84DQ=; b=fbPmsdMGuYOyTWA6IX0hPUtQeq7iMwvJD01Ep9AOkJkJ/fAYAxbBvsSq8oAqUd/kXQ lI3GQXnTizqf6npTlhSlbu8rx+YYg8pTZcipYo3DCcXCUkm6wktOt1ctHV10MgNCGNOI L0II9JS9t1bTaifhro4duIsbABKkvqPPLzzwkEwy1+nbDyKQY3H6FCQa6Ptv8t7dEwVF Me/wIbMJ5n/SrCQ3My6K2J6Fuh8/YF8dXBz7G8qLW8NEqsi5yYIVf9voAGW6kBZ5G3mV BHVoh9DpfH5fogy5sr57ozOdMXtoVFMb1oohQ9afEiTwGoVLKzxDIY+Jxfk/SF5aWrK4 8/JQ== X-Gm-Message-State: AOJu0YzcsUdgZWpJlXTq08xy+SJr61VVp7owhezvasz4ngktKZ5IRNHu w6ROxEpMxklSw44wkvJ7un+dtd667vi0NR3hVYqf89pyyPi/eY1A1lR1YVl96XRxYGhi5GBeBgB t X-Gm-Gg: ASbGncvLZtUSfaf9Gv/RirwO76Vw8NNRqnTKKcT8wk04GUuPtTAwK/nrrbAkGnzSrjJ GHdqpSaHJXgZyxVzjCNyDfRTc0kzESQdD8VTqp3KibUYp3nhoXZAomuHCN8Y7gH/rxl3JzIMlJZ SGZ66sJPghA7YlCsVsq54ee5/V4bwOG+r9UA1Ap0+vKumo0R0r5Ucz1QB5TKZYkHh/raEuspoTW PQ/lf/wN/bWfssDbTzOO31ZXyUEfQlkgoZOexWkijUnIesDsTvhW80WA6LXinHqQNoSxkH0eHEk YqZqLCn8QyLTez8txBiEG/Aal1uyKsED/UKddPR1r13oMHsRbidzHR7eUvGArqP4iepKtKGwhW8 Y6jtBo4U3IQ== X-Google-Smtp-Source: AGHT+IHMZ236ZscVrOC8TVqcE77W7laennAZiK3jnVteUT1rVqqxGZ7dFbAJr09iURZAvQmfNLuDHw== X-Received: by 2002:a17:902:db05:b0:223:517a:d2a3 with SMTP id d9443c01a7336-22dbf5da7a2mr44862515ad.17.1745599858482; Fri, 25 Apr 2025 09:50:58 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, alistair.francis@wdc.com, dbarboza@ventanamicro.com Subject: [PATCH alternate 2/2] target/riscv: Fix write_misa vs aligned next_pc Date: Fri, 25 Apr 2025 09:50:55 -0700 Message-ID: <20250425165055.807801-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250425165055.807801-1-richard.henderson@linaro.org> References: <20250425165055.807801-1-richard.henderson@linaro.org> 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::632; envelope-from=richard.henderson@linaro.org; helo=mail-pl1-x632.google.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, 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: 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 @linaro.org) X-ZM-MESSAGEID: 1745599900354019100 Content-Type: text/plain; charset="utf-8" Do not examine a random host return address, but examine the guest pc via env->pc. Fixes: f18637cd611 ("RISC-V: Add misa runtime write support") Signed-off-by: Richard Henderson Reviewed-by: Daniel Henrique Barboza --- target/riscv/csr.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/target/riscv/csr.c b/target/riscv/csr.c index c52c87faae..992ec8ebff 100644 --- a/target/riscv/csr.c +++ b/target/riscv/csr.c @@ -2111,10 +2111,13 @@ static RISCVException write_misa(CPURISCVState *env= , int csrno, val &=3D env->misa_ext_mask; =20 /* - * Suppress 'C' if next instruction is not aligned - * TODO: this should check next_pc + * Suppress 'C' if next instruction is not aligned. + * Outside of the context of a running cpu, env->pc contains next_pc. + * Within the context of a running cpu, env->pc contains the pc of + * the csrw/csrrw instruction. But since all such instructions are + * exactly 4 bytes, next_pc has the same alignment mod 4. */ - if ((val & RVC) && (GETPC() & ~3) !=3D 0) { + if ((val & RVC) && (env->pc & ~3) !=3D 0) { val &=3D ~RVC; } =20 --=20 2.43.0