From nobody Sat May 30 20:11:35 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=1776352037; cv=none; d=zohomail.com; s=zohoarc; b=nMLYztSjKP/gsRGIRdWVmFe3ObtbU3V27BVagPCMBnKujmNjHN7NElzJxjY9fPoNdwn9GjvQOqOUSYwLj91zrYrK33GYUspwpNWvA0Auxjfb7I2Tqi0FtGeGbK5L4fTldyoWbkhwW9fN2SoVyThbe7yVkra7v8WYKrsPZAh9Rt4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776352037; 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=iHZbH8NF/lYrzFgfuFqRfZFX4V6yynxs314wd9vwmAA=; b=DfiOlRdSBXVrpBFwRAnZWtvK0ot1hwke6tcB4f098CfVfilcScwzv+pziiMewa3NJ3/BxWZzUWvheZ3uC5oZGmQz4Ki3LsqnhSn5J9oTlK05jf2m+NwjOcxgHBa9snoM/7kU3TIEAooUoVEI7B9mwDLSpI3XryuJWAjP7VVUw2A= 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 1776352036984969.3815976232501; Thu, 16 Apr 2026 08:07:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wDOJA-0007mc-7e; Thu, 16 Apr 2026 11:07:08 -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 1wDOJ8-0007mK-AU for qemu-devel@nongnu.org; Thu, 16 Apr 2026 11:07:06 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wDOJ6-0000jx-Ov for qemu-devel@nongnu.org; Thu, 16 Apr 2026 11:07:06 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-43d74086e5bso3544999f8f.0 for ; Thu, 16 Apr 2026 08:07:04 -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-43ead3d5c8fsm15254949f8f.19.2026.04.16.08.06.58 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 16 Apr 2026 08:06:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1776352022; x=1776956822; 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=iHZbH8NF/lYrzFgfuFqRfZFX4V6yynxs314wd9vwmAA=; b=ZUbzEHsUSRdkI0ONEyZUySOV5WdX/IC3ceezWvTaoDjWVz/y4/xVJKRXxM5Kn2HBYK G1c97OxkBHdewQ7R4jh+SWHgxLFhWouiJYRKyNUf9tiM/lQ79K7w5so1t5jrmVVQT8XL 68ZIgLByUHFaAc4YnOCOflzyf7gTxnnBpPNVoK5G0ubpQqDpopULBHgSslspnwrC8EO4 dObAAR0gyfuDNi+AgMiifZDsUUDHuPdrLASikSaQluccMdld9CYs+i4HmKtwUfSAKopH CJ2hrZuwCKGVqOflo6O9s7AwaIRz8F7Af94L6SvpdgWcJSlB3NY3PeRdFfY5vO1FfEmu tG3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776352022; x=1776956822; 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=iHZbH8NF/lYrzFgfuFqRfZFX4V6yynxs314wd9vwmAA=; b=jH260RdSJ+EuaJWt+265jVoxqXqkU4CTDbffIQnmRcFGildxs9+SQoGuxLga1bSKps p5R/jsdaWEam/+bjSdWGk7DGCco/ujVPHQLBNTT/5jfTFPgmlNk64uFo4aO4rhYwzZ4V u4ctm0rBnTTPj8eqgzBi77QH0RisrROtFU61CSDxfQqBfTUjcLJnjbg0DbQfW4+xw1/9 kKFIh1otCZ3WY6G3tEZGmm0YhJnmj4lUaA/hLFQPCIt87BdTzdXy4SOZXpPjgr0jubeU WRuQO925TZOITnATydAHrY2YiHeBVKgYVm0DpI+1kk4fYutWqUFSalIyRkMkyMlaPR/T /kCw== X-Gm-Message-State: AOJu0YxjAfcN1QrWU+EELW/p21qjMA/+FOXYGychCNW7r56fL8z/BZQH 8zdrd73MJcpE+aHr4s2BUwWMTjbVuTOgAnwA3y7oybwBxdwgovJWTp1LoP9ru97ogcIP8bEnI1N jclpq0R4= X-Gm-Gg: AeBDievR+EOAAtf5Ksuj07UBZF3lzIlbtgrgjYMIVRMGyKKpWLcWN51GjFX2utUpIi/ 3vWikbVpkIjC5DNa270MPt+4S8vDPExordeUy9t5xmbFqVGeEwWR1gAiaNL9CNob9RBVVgwoxhP QIzuvrKe05FWUNMLZNcgYhjk/3EMDqQ+ggg3G1DnJxSNhgqssZziCGvCq+zuB1PsmnQnvP/YAvT lllKGsExq1E6cbTqkcRihnn8EuqxumtVWTa5splHlhT9WSSy5AiScOc9UU9UiNBsCU5TVojFuTA ZOFUyGGpcOCTF0u1il/gnBL3MypvlU0BOiRjvKRyC9p4zvC+DUzQSnNYbfuxkqYmeoFxNTcvRpI vloQ9Uj9fnpcX5FgHF3s3vM5tU1MZ8wt9WCmKgKzCRmjLtkpHBhD0iDO6LWfFEdlRMQGSQhsmgZ VugHdQ0OZ/rWzFpzsoXLZ9ImB4ortDdK8v807SbHDbm6LRD4lCphMP8W7JiH1kiSb6QeOAMBRM X-Received: by 2002:a05:6000:2dc1:b0:43d:7af0:3a7c with SMTP id ffacd0b85a97d-43d7af03e24mr22688225f8f.29.1776352019989; Thu, 16 Apr 2026 08:06:59 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Aurelien Jarno Subject: [PATCH v4 1/2] target/mips: Pass MemOpIdx argument to Linked Load/Store helpers Date: Thu, 16 Apr 2026 17:06:48 +0200 Message-ID: <20260416150649.23671-2-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260416150649.23671-1-philmd@linaro.org> References: <20260416150649.23671-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::435; envelope-from=philmd@linaro.org; helo=mail-wr1-x435.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: 1776352038193158500 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..4889bd1e518 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 | MO_ALIGN, 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:35 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=1776352054; cv=none; d=zohomail.com; s=zohoarc; b=YIYEXvIAF5i19W9KvCOwzjuhCARw1LqbyZEZGVUUTecpqZc2fZ4HKE3Aey/l87p19Gzfb8y6Hx6TuNSRk/T1uCDvoCEW9zCbqOjYjbCHAcg8YpKQce+Hs0b7XUPI+FjB5sNURPFIQobnjm0ztwJF//ksB4tq0SJItU4RnBHaTqw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776352054; 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=/8eTKiduCZMg9yJhYc+PUDvB0qmyxyEaSBVvhdpHjpQ=; b=fc2f2Rc9/mk00y4El/2VfpqHU4mhx+2K55g1PacGMjorG7L+gTG14s2/IApzGYDdfn37ouDfYAUh7evRxtVZdpUa3rrf9VYu4c8YoTTxa83p95w4Q9T+JlczIju+C+4KyRc1mrCOXLepRfQKpqhcsMB/VTNprm9CMzJ2mt+u2e8= 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 177635205444111.960488483084532; Thu, 16 Apr 2026 08:07:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wDOJG-0007rp-Rg; Thu, 16 Apr 2026 11:07: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 1wDOJC-0007n3-SU for qemu-devel@nongnu.org; Thu, 16 Apr 2026 11:07:10 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1wDOJB-0000lH-Cv for qemu-devel@nongnu.org; Thu, 16 Apr 2026 11:07:10 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-48334ee0aeaso79210795e9.1 for ; Thu, 16 Apr 2026 08:07:09 -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-488f0e71f5dsm68350215e9.6.2026.04.16.08.07.05 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 16 Apr 2026 08:07:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1776352027; x=1776956827; 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=/8eTKiduCZMg9yJhYc+PUDvB0qmyxyEaSBVvhdpHjpQ=; b=VnNAT0OumMm8S25cvdMesFlgWfRI8bVlbbM2dnYLLBh9H17S+43KqVeesMpm/5HwPZ dzM8U1HSimV8TEmXMfGgEiRM8da596JL+ZLHalydnQ2hH6XkR1osOAeyT8xrAE73yfSq VdLLqTf29KPYY9xwQDqfD5yGVtls54oYe7CiWMP13omQCYlmCDgyDzObb8V0n3FexB8N E4pc0D9gegGozYF+3RmaFcSId9nmRP8QqWuPKKDsvgbQAqHJi1/GyUzbUESDWlvZem4M l5yjtF1dvLB3sva/l3nj5QhFRlr6S+APoDsqFRwMuyvIKNrnqrfpdgSip0a2Q6eSo2+x czZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776352027; x=1776956827; 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=/8eTKiduCZMg9yJhYc+PUDvB0qmyxyEaSBVvhdpHjpQ=; b=FgimNhkN1mqpZqio5VynOTBDbye7uTVH4SjnHoBMJixKVQGpxuDcdiLOXgL4aE1Teg tqEROvvTk8S7Tq79zjs93mMyFTX8Cr7jK1D+oYi081Yo2uY1cOqb+xyZyWcr2SOggqPy wCJF5nO2ZCD7Nqgd3szGMfclsDI674daPK9s7sMIWcqALwS1qILD7e/5QWLYSSiCCVFB pJuLOXaJC6+1+6Vdn5G6DRVwX2nF8+GJktVvkCo3lEYWOWaqo40FkoDLGFRudWNjYo8m Bp4ik7k6wJB24vVM/T8P2arKdszl3PI7yARFNjJkd13olXRn4+T+PN+WWcJozlRcRjph t+6A== X-Gm-Message-State: AOJu0Yw4ImHAnn3fUpiLVynw/9rMmZ6AmHK+zAqMQWk77yIAmC9R6/oe +80YcKbAZN+AX34Xowht4C3QyvECyXDBHUoLQzxCTzG6PfF8kDXqEKv3+8QxyMRzb1vk9VQdQmV Bg++x2uo= X-Gm-Gg: AeBDieuhU6gxW63nUh5kZ/pT77gjg5vIeWx3m+0rlRow9iLkty1+p4SAvspcqW+eR4K IITVEd+4w2RuN9V2ivH35aoWTh6X61ptyjwu8Gh9pAmrolCsYXUfcZCkyfNXWNMNC/B1O1H6j51 dOYzMv6XlDRoGPVwntqcFM91VWkvHoAUDEOLKafonFDTJLpcjXU6RiZOIL1rH776X07jYeW7QPB slJdKsbX+L50ajS4Hcg1IbN66Uh2fpQf21JrIdpDQlUFTssYw0MYVIuvjuSulIWcuqgnZtIHSZB 6OQ2EIgCerEh+7wpaUwLCa0wSwHwxIkiOL7e1T+u/0e04ts6W1aHrKrQeUkaItFtkx775utGe9/ V/pa/rQq36Y+ES1ztdsR3VbIZ9n1vEx6fGqfV6rn04e+DgiuBKlsVv9XgRcBuP9OM4guyacrNm7 q0f5MvONW+jNL7F3P/7xD//CPl6a6ldKg2OMEtW+2ck96TonjqYo8vAS5JBpOyiNvz11jp3YcC X-Received: by 2002:a05:600c:5292:b0:486:fe39:28b7 with SMTP id 5b1f17b1804b1-488d67fa48emr383437815e9.9.1776352027386; Thu, 16 Apr 2026 08:07:07 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Jiaxun Yang , Aleksandar Rikalo , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Aurelien Jarno Subject: [PATCH v4 2/2] target/mips: Use probe_access_full() in Atomic Load/Store helpers Date: Thu, 16 Apr 2026 17:06:49 +0200 Message-ID: <20260416150649.23671-3-philmd@linaro.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260416150649.23671-1-philmd@linaro.org> References: <20260416150649.23671-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::334; envelope-from=philmd@linaro.org; helo=mail-wm1-x334.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: 1776352056579154100 Let the probe_access() API check the address alignment. 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 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 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)) --=20 2.53.0