From nobody Sat May 30 20:11:37 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1776369961; cv=none; d=zohomail.com; s=zohoarc; b=dz9azv5/mjbTxLCGVUnjbWOUqVrtZlAElye4uP2Zc9c9f274eqlVH/DoOPoYBZedYgREXAMQy088Qy+e7cCqaVTRihYU9uzp1w+o5w34xOsmptL+W2ysvO1XwXdpY5KahpANjkwMEs/09ROOmbGSESLtEnkvr0D5Rsef6VKdP9s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776369961; 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=r2/j0lOvBO3DmQSFFQJaOFAPLEgLpTImUbZ3zpQz9DI=; b=KqgQzQUEd0h8uKDVBMeroHY1sTjVpSRoeu6NMNDQslgWRqsOKfMKeH0O4a/NUEya6l1cOuQpdyyB5A1Pmebbgr2Cr+bNjMcvstOCHEvkf13S0vtRspB63arDAlQ2NaZYQ8/LAqCmLwEjRrt0ZRN748hsoaZFeEY6KOekjLefUTw= 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 1776369961335603.5503599602422; Thu, 16 Apr 2026 13:06:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wDSyN-0000WI-6I; Thu, 16 Apr 2026 16:05:59 -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 1wDSxx-0008U6-BJ for qemu-devel@nongnu.org; Thu, 16 Apr 2026 16:05:35 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wDSxp-0008HL-Es for qemu-devel@nongnu.org; Thu, 16 Apr 2026 16:05:28 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-488b00ed86fso84383575e9.3 for ; Thu, 16 Apr 2026 13:05:24 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-488f582368dsm93064155e9.11.2026.04.16.13.05.22 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 16 Apr 2026 13:05:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1776369923; x=1776974723; 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=r2/j0lOvBO3DmQSFFQJaOFAPLEgLpTImUbZ3zpQz9DI=; b=SUSsVD69TzYeAJk3CMcqUB57yjNjo1BYKLQYm21oLiV9gPN0ExkAsnqj5kfOxYEiWP MK7BvwBO36eHHlzF/Tuf4Zr/Kxjw0lJ5zz1rM8Pk9oyIPLqD4+eHT+84FX0BEXMFjXkE REeQO4vmZQre/0dzQk3gxDuIkGKXkvpxDUFEeITPfueOorl35/zFskTD/JDzZ3Co8iXq k9QodA+8mF6aIGOR/6YQybsekZeC935EFuB18vvg8Il7L1K2cGmyWliDCyj8y0VpobvE HyHFh5cCHtViHK9vchUOvvTfNHCoBtFOFhSm/ET5DRColMOqtrTKGDq1K6+X4veypWTi TcSw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776369923; x=1776974723; 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=r2/j0lOvBO3DmQSFFQJaOFAPLEgLpTImUbZ3zpQz9DI=; b=W8NCyLjB4mVePG7KOFPTK8AURdwE2cdoyE4D2aP6nJFRcZYjBUZjxzhoXYcNLDng4+ Zx2c7uMg0lOCG7B6MAHiph9cmBJdOjTWfAWhcE/RDv8AezO1sF1Cdtr1i1l3db+Ad8kj Z9wF4bNKh+Wjh8CIuPBJTAV37J4YuwgmCd790Li4rC3E9DXx2iL7hcCpHlGkOyru6GjV IF8OoVgGEUyYAhVZuN7DGmnoOw9lqRJ7HA3lvl3T2mZzNy2pZX3ustqdotLbp+SXS4Gh 6DQW1wjjEpmUXYbqqNOeWBohH49mMpqW/HvnM7K9q2YxSnPPU6jmPfkcUDoUHRJkRFhN YbNA== X-Gm-Message-State: AOJu0YywtWkUgFkZNfE68HjrKwPW0pghz8NzkXFIFHi9hjNCCrfJDymP aBc/rvXiPpjJ8Cw8aPq3JX5xHsVGL2bzjw/KLFxONQLLYTx6b7lBWuWKnGH46G8Q7i2uQ318xU4 SoYRyHZA= X-Gm-Gg: AeBDies9Arpc84KfZmI/0DlMyoSjMHLZKkB/c+oT/1EQBrvQekOG0C+kHyr4kwSpEzA 1VNiuBnf1P8u9W4WMpoILRTrzd2j94Op6smec57RH2o1mJOz6efvh47u+r9WELse70LrDTDVpDM 5W24K3nSLmc9GWcTzCR9EtM8I9GzNDu+it/RMxRzwkhiofK2znfTE/vX7PnrlzjkMEygVEJkD3a ngg5f2tUi6SgOYrYOB2gcdLokAWoJ4/WlaqKnNeXVgicvM5Rm7lGT2zsxkWcwPPFXqE+y7VZs1o dtlUEF93CHXQ6m2nrxDGAnMFcz98KYh+VgUgoJxpkTZhsnbmoGTvumFwXKbmc6k6IaAzaTEESum tuCqRF8KSWCoP16qNCNC4hZUxkLYBCnWkPJqGwxno9zrYnBmEumtUKWVQpzERmDeMaRZX9A+qGK xmPBfw0dobd0eBkwl8g5A65M/i0MlgSOjA7FmoyRhg1hoqXvgVxtg96sJiobBII8gayiK7gFQjv PCCi7mjBng= X-Received: by 2002:a05:600d:8449:b0:488:869c:edaa with SMTP id 5b1f17b1804b1-488fb74e103mr506125e9.7.1776369923076; Thu, 16 Apr 2026 13:05:23 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Jiaxun Yang , Aurelien Jarno , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Rikalo Subject: [PATCH v5 1/2] target/mips: Pass MemOpIdx argument to Linked Load/Store helpers Date: Thu, 16 Apr 2026 22:05:12 +0200 Message-ID: <20260416200513.27100-2-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260416200513.27100-1-philmd@linaro.org> References: <20260416200513.27100-1-philmd@linaro.org> 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=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.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: 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 @linaro.org) X-ZM-MESSAGEID: 1776369962819158500 In preparation of using the MemOp content in the next commit (thus stopping ignoring it), pass it as MemOpIdx. The helper prototype declaration always took a TCGv_i32 as last argument, correct that. Rename the ignored 'mem_idx' argument on user emulation. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/helper.h | 4 ++-- target/mips/tcg/ldst_helper.c | 5 ++++- target/mips/tcg/translate.c | 7 ++++--- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/target/mips/helper.h b/target/mips/helper.h index e70a3942fac..10c6470514d 100644 --- a/target/mips/helper.h +++ b/target/mips/helper.h @@ -10,9 +10,9 @@ DEF_HELPER_4(swl, void, env, tl, tl, int) DEF_HELPER_4(swr, void, env, tl, tl, int) =20 #ifndef CONFIG_USER_ONLY -DEF_HELPER_3(ll, tl, env, tl, int) +DEF_HELPER_3(ll, tl, env, tl, i32) #ifdef TARGET_MIPS64 -DEF_HELPER_3(lld, tl, env, tl, int) +DEF_HELPER_3(lld, tl, env, tl, i32) #endif #endif =20 diff --git a/target/mips/tcg/ldst_helper.c b/target/mips/tcg/ldst_helper.c index 10319bf03a6..b725c6d0333 100644 --- a/target/mips/tcg/ldst_helper.c +++ b/target/mips/tcg/ldst_helper.c @@ -30,8 +30,11 @@ #ifndef CONFIG_USER_ONLY =20 #define HELPER_LD_ATOMIC(name, insn, almask, do_cast) = \ -target_ulong helper_##name(CPUMIPSState *env, target_ulong arg, int mem_id= x) \ +target_ulong helper_##name(CPUMIPSState *env, target_ulong arg, = \ + uint32_t memop_idx) = \ { = \ + MemOpIdx oi =3D memop_idx; \ + unsigned mem_idx =3D get_mmuidx(oi); \ if (arg & almask) { = \ if (!(env->hflags & MIPS_HFLAG_DM)) { = \ env->CP0_BadVAddr =3D arg; = \ diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 6d4b6412d70..839bfe18bab 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1922,7 +1922,7 @@ FOP_CONDNS(s, FMT_S, 32, gen_store_fpr32(ctx, fp0, fd= )) /* load/store instructions. */ #ifdef CONFIG_USER_ONLY #define OP_LD_ATOMIC(insn, memop) = \ -static inline void op_ld_##insn(TCGv ret, TCGv arg1, int mem_idx, = \ +static inline void op_ld_##insn(TCGv ret, TCGv arg1, int mem_idx_ignored, = \ DisasContext *ctx) = \ { = \ TCGv t0 =3D tcg_temp_new(); = \ @@ -1932,11 +1932,12 @@ static inline void op_ld_##insn(TCGv ret, TCGv arg1= , int mem_idx, \ tcg_gen_st_tl(ret, tcg_env, offsetof(CPUMIPSState, llval)); = \ } #else -#define OP_LD_ATOMIC(insn, ignored_memop) = \ +#define OP_LD_ATOMIC(insn, memop) = \ static inline void op_ld_##insn(TCGv ret, TCGv arg1, int mem_idx, = \ DisasContext *ctx) = \ { = \ - gen_helper_##insn(ret, tcg_env, arg1, tcg_constant_i32(mem_idx)); = \ + MemOpIdx oi =3D make_memop_idx(memop, mem_idx); = \ + gen_helper_##insn(ret, tcg_env, arg1, tcg_constant_i32(oi)); = \ } #endif OP_LD_ATOMIC(ll, mo_endian(ctx) | MO_SL); --=20 2.53.0 From nobody Sat May 30 20:11:37 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=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1776369958; cv=none; d=zohomail.com; s=zohoarc; b=MEJrqhR27mInds0lO60xeRB58ZYKTqP134cffhWP2oHLQeZTwa23Y/xD5cI28AKhuEDD/ER1mekBXaHXSp4E2E8/PX9eIV5ySulVlIyRfpYXfwLvE+cgwaqrM6Fj+U+NjhHlpRKjvsnuzx0m5Tx1aQ/JaG48MmnK+wYnRA23MeA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776369958; 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=9K4LtXD4htqKcuCzEDGNxbXS9ukINIj2XSlyTHvWnFM=; b=iMzKdrMUmoJPsAJ/QSnm9bFDiHTaa/GbqyF+7+0vJxwVGtwgE0IV7Z7+aphvYvJj2qvCl95yGZLOxe8KSCXX1HE5TYUJiJC+d99+4Kh6bAbbKUTknPUTeglI0E+ubvTRLvDvCTzxbLinj6QhpFxMSnBDsiLiJCNR3kmLKIxcu6c= 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 1776369958596571.6073974087591; Thu, 16 Apr 2026 13:05:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wDSyG-0000KY-Hj; Thu, 16 Apr 2026 16:05:52 -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 1wDSxz-0008V5-C4 for qemu-devel@nongnu.org; Thu, 16 Apr 2026 16:05:37 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450: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 1wDSxx-0008I9-3m for qemu-devel@nongnu.org; Thu, 16 Apr 2026 16:05:34 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-43d76dd4ee8so4325910f8f.2 for ; Thu, 16 Apr 2026 13:05:31 -0700 (PDT) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43ead3ebaaasm16889893f8f.32.2026.04.16.13.05.29 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 16 Apr 2026 13:05:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1776369930; x=1776974730; 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=9K4LtXD4htqKcuCzEDGNxbXS9ukINIj2XSlyTHvWnFM=; b=QEhotvu2VHZ77qHEUeRPgtDdDRi4C8IchU+XmXAwp943n2fK3jwl5B7wg2ydgUW4xQ UdnbecfyCeLOWR6AeehA8l97pffn0jljWs5z+WSUxIb5Ms2tslbRalwjTDEx+Fb2O/f8 0+M6easQBcD45OpSZn/pR9rnrcHltbKnyti4bcDXIZvuDzKIDsN4gtAOB/UjS4CclY3v R30UjMVRGvLUJgZFNBVNT4BC+/+s9HQ7c1A4706BWNTUybVcdCmEFul1JBn6jR70KlJL fEoZ0H565yw1m5YkEmX/D/VIsLzQs5lce+qPFwdWE1QmlsTM9A3IiqtADSNVzWOfFSDU /O7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776369930; x=1776974730; 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=9K4LtXD4htqKcuCzEDGNxbXS9ukINIj2XSlyTHvWnFM=; b=MogmlHciErmDhRdaclaqpyAdZEHlI977ljW0lmAooDCTsMxVUINM0zL3c2fp0hpRGX jW+IBitHSJ1+1++isEjGOIS6Y7Me09DLsaMMtKlxhRUwVUN+7FMIuDWGJnsZuceTexS8 IM61grvB+VgX08i0R5FnqqIFXd/rPmnmN448EDqoh0QR8WybBRwQi/a1Qhy/8AcMaqs9 qr2LLMw89C3ddvHYxRLliqpkABV9jOdBtlgGr9EYC8GcyfnOy3HWyIHiC17ZkMspyibm DYq0WFYDuhduRKeKwAtK1gzsc+fvneXRjUm1Qqeg6rSJGUUDpcxlZvUZ7BLkkRJ2Cdcw p8uw== X-Gm-Message-State: AOJu0Yzl9I74PrF4GPYKqaXKauDk7sZYunRvetjxXHoCO8XKWhbQxrhi rXzPHewJfBDVqrCdxT2LkWzceOLlBmfY4T0YI5xZ1FqlRhqymKqe9RwJzhUBGf5JD9egkWVVzPt AU+WEtE8= X-Gm-Gg: AeBDietL71Iw/0aMf0JfUuQByBVcooB5vvJER5aSLO1v23YR0Qt7DUfU59BLGYPFThq mNfXig9c+faVpu3WaLTxSw+ILKQlHcByJs0n4ze1m2/fV+O19X7mVkV6+itQUV9hB7869hoVJo2 0vINpoWgB3OwqIwMf/TbimYaiXrt8Z7YjlaUnl89gouHOdcrsKEUbHiroBJN+cwfSI8dD56Cl6s 9dmvOoo/i+8vyoA7XIQyQjlQ27Gtm/5mQHJPdAzAaz83Z7wQulUvHGGK0vRyOtvvtZkooELLViZ DWaANyx3++NR7jTdRF1wMp4GwiivcOnsNT5WRPcOK9TtqCkBsJFU3NqrfNmBSQXqA6hC4ACDHCR nrCsYS2Rr0/FnZ0fsptlbYVWi+vWla9b5U2881pNmTQgdRbiXW+xOl8P8wFVlnQ6iUkIuiBm13J zIA18whyAv1AjucvKCDqEzusG+rKK3Lst/0XGSxpOD4/763Gb8xhbQf0hKvGKFVDH2gFwrtsiXn v1b7Y6+LUE= X-Received: by 2002:a5d:64e3:0:b0:43d:7b23:bc99 with SMTP id ffacd0b85a97d-43fe0eaf176mr1181929f8f.15.1776369930018; Thu, 16 Apr 2026 13:05:30 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Jiaxun Yang , Aurelien Jarno , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Aleksandar Rikalo Subject: [PATCH v5 2/2] target/mips: Use probe_access_full() in Atomic Load/Store helpers Date: Thu, 16 Apr 2026 22:05:13 +0200 Message-ID: <20260416200513.27100-3-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260416200513.27100-1-philmd@linaro.org> References: <20260416200513.27100-1-philmd@linaro.org> 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=2a00:1450:4864:20::42b; envelope-from=philmd@linaro.org; helo=mail-wr1-x42b.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: 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 @linaro.org) X-ZM-MESSAGEID: 1776369960649158500 Let the probe_access() API check the address alignment (request MO_ALIGN in the MemOp bits). Move env->CP0_LLAddr and env->lladdr assignments so we don't update them when an alignment fault occurs. Since we have a handy MemOpIdx, replace the legacy cpu_ld*_mmuidx_ra() calls by cpu_ld*_mmu() equivalent. Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/mips/tcg/ldst_helper.c | 21 +++++++++++++++------ target/mips/tcg/translate.c | 2 +- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/target/mips/tcg/ldst_helper.c b/target/mips/tcg/ldst_helper.c index b725c6d0333..4ebf72d610e 100644 --- a/target/mips/tcg/ldst_helper.c +++ b/target/mips/tcg/ldst_helper.c @@ -28,23 +28,32 @@ #include "internal.h" =20 #ifndef CONFIG_USER_ONLY +#include "accel/tcg/probe.h" +#include "exec/tlb-flags.h" =20 #define HELPER_LD_ATOMIC(name, insn, almask, do_cast) = \ target_ulong helper_##name(CPUMIPSState *env, target_ulong arg, = \ uint32_t memop_idx) = \ { = \ - MemOpIdx oi =3D memop_idx; \ - unsigned mem_idx =3D get_mmuidx(oi); \ - if (arg & almask) { = \ + MemOpIdx oi =3D memop_idx; = \ + unsigned mem_idx =3D get_mmuidx(oi); = \ + unsigned size =3D memop_size(get_memop(oi)); = \ + uintptr_t ra =3D GETPC(); = \ + CPUTLBEntryFull *full; = \ + void *host_unused; = \ + int flags; = \ + = \ + env->llval =3D do_cast cpu_##insn##_mmu(env, arg, oi, ra); = \ + flags =3D probe_access_full(env, arg, size, MMU_DATA_LOAD, mem_idx, = \ + true, &host_unused, &full, ra); = \ + if (unlikely(flags & TLB_INVALID_MASK)) { = \ if (!(env->hflags & MIPS_HFLAG_DM)) { = \ env->CP0_BadVAddr =3D arg; = \ } = \ do_raise_exception(env, EXCP_AdEL, GETPC()); = \ } = \ - env->CP0_LLAddr =3D cpu_mips_translate_address(env, arg, MMU_DATA_LOAD= , \ - GETPC()); = \ + env->CP0_LLAddr =3D full->phys_addr; = \ env->lladdr =3D arg; = \ - env->llval =3D do_cast cpu_##insn##_mmuidx_ra(env, arg, mem_idx, GETPC= ()); \ return env->llval; = \ } HELPER_LD_ATOMIC(ll, ldl, 0x3, (target_long)(int32_t)) diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c index 839bfe18bab..4889bd1e518 100644 --- a/target/mips/tcg/translate.c +++ b/target/mips/tcg/translate.c @@ -1936,7 +1936,7 @@ static inline void op_ld_##insn(TCGv ret, TCGv arg1, = int mem_idx_ignored, \ static inline void op_ld_##insn(TCGv ret, TCGv arg1, int mem_idx, = \ DisasContext *ctx) = \ { = \ - MemOpIdx oi =3D make_memop_idx(memop, mem_idx); = \ + MemOpIdx oi =3D make_memop_idx(memop | MO_ALIGN, mem_idx); = \ gen_helper_##insn(ret, tcg_env, arg1, tcg_constant_i32(oi)); = \ } #endif --=20 2.53.0