From nobody Sun Jan 25 10:15:21 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=1769120007; cv=none; d=zohomail.com; s=zohoarc; b=BGTVilPzT3xC5zgjMLAQb5jSE8SPXCntDPTVlOcYFfCadRmhhQt8Ovl87sGBoiwFtPrIdwKvluV74nJV01qVxSLNO/PbWiLCFyjQqKQOk03cUwcCaUr3WPAbhs9oA7LCXopF5xRCtbjgzDK/Jfd76Tp2Wz9u0VuK307BggyQsGE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120007; 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=f+A1Qhq14Gtk+x2zfD9l4IW7BZOqF5jDpsZKQLHwfu4=; b=ksKsL5L0Zh1tIFmO7OEUPTRG4BX72ptQ4uTTQq7MsULfMV8KysHv8yGicEKlpcH8MrZoMuDjhSnGAwcMRQ4pC/CKaS78hzwDOaCFWQ7Kr/C0j9Pas2Bpw/naxgC8tKTaFQAdFao+Vl8iD+KB2dUBQzngtUKqlSpUOAuLc9ytYdQ= 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 1769120007644742.6907938564118; Thu, 22 Jan 2026 14:13:27 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2tg-0006Dq-HO; Thu, 22 Jan 2026 17:11:24 -0500 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 1vj2tb-0006AS-6i for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:19 -0500 Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2tZ-0003JM-I8 for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:18 -0500 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-4359228b7c6so998883f8f.2 for ; Thu, 22 Jan 2026 14:11:17 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435b1e717cbsm1697387f8f.24.2026.01.22.14.11.14 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:11:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119875; x=1769724675; 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=f+A1Qhq14Gtk+x2zfD9l4IW7BZOqF5jDpsZKQLHwfu4=; b=YWk8668vV8ASm1hARYgO5AskvsMhEd9MXpCvuOspmAuaD4gwkIBObk2AZw0YEhKVg1 ffbqVb/DF2KyHETAUdHeIz4v8sJFMfA5Ih3/eZLIZBxCH1BmvJ4YPZmQhYs+xZgSYADJ iCSVj1dOKmWIR4QL2bG1HgLqRzFrST22WVonpoVdb7aYT1OyrjcxhUv39dDz+iMSLsuK pKhqW+ajdbPZCod0PdkTmjhDvuDLlRblBoAM4SYzTt3NN+6qvfyJRNQWwJex+fyoZQ1n FGXCHwyjr0lux0eVyIeBBX3o7On+oIPelDx7h7i2QqnqLLByTQGYZEWE8jUg0FPWqKlm SF3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119875; x=1769724675; 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=f+A1Qhq14Gtk+x2zfD9l4IW7BZOqF5jDpsZKQLHwfu4=; b=xKYeU2i8dxHcTZUW+FOq6rVuV40UiWxNesqfD7CLf939Dbz43+U2qILK6grWwAAY1p U4BGUZloRSasdvYGcHHp4IA2yAoPQQuxkbaTkhdPj+iBk5JRfMi8FW2XU4sXARhy3y7R PH4x+EiMKiuwUrv8Zx+Eq/pyyMbOzFG23qr6pKmXuiZErX/G1SAbaIyAc+T+82RZemy/ DZeSQjQFhBwsrAzekGaB4fygX0WXYATHQYBeDPENaVxVdIB8rZd+9If2vLffaeGi1pgx +RtpntafsM4zMvFp4h6jdY6Vkq2nmITPBTVDJrw8iG/Mf1m2qJjRznZairEa+bVBMyGj jQ1g== X-Gm-Message-State: AOJu0YwLaQrHTMBbnsfnQ4WIiMTkk3/mMYeD08wQPdR8nVrRzoF8wnkr y6r+ZN5CsE7k10kyBHE++sD3eLW6vpolIc1JWTOU3oN7fp4Y94GHctJ+x8TrxU6ap8pUeVHrTBQ gwQvtisA= X-Gm-Gg: AZuq6aK/44Yk1ILtnadaQNKmCmKYMPLm64PV4y3X4Bso7XkmA5894lzCC4v7e2HcBly PU5wXnHFrnnKxHf5otnedSMYZy9YCGiQ2sR2r3eHiJjIZfjo4KUUS6VS8piUsPmEZl5ItTz4TQ/ js65r16iFGF5a3hYpreEKXQXWXvDyUJi3EjkI08CQXExE2vi5b7/NadoKtJVZ08FmOh5r/KkvfF gMeO3c/NdG5sjZrM5GywIQ/PLfKWjb+V6tyojUs43K3BBdE5Pbhph4nojVQOI7TK3ZAJjgDQM+b wp/NrtMxFxINrnlTQJsXjdILST/GGG6+Bpn6aBbzc1pT8lIJMFQBxy6WLeUkwjXY7ZWtdpLQ98+ AjOHnGmPYAGN2Ysn+g4oMLc86GtuUAJH/16I95v9K4FGWamH4TMGAJ2ENb0s+8C1bU42JiLtVW2 J5WIU9uRMhc0wuOT+7o1KMBBmAlR4rZdHLtJV4tBzZ29khtqGr9iPhLfyMq6Up X-Received: by 2002:a05:6000:288c:b0:430:fd60:93fb with SMTP id ffacd0b85a97d-435b160378dmr1600145f8f.32.1769119875519; Thu, 22 Jan 2026 14:11:15 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 01/11] target/ppc: Inline cpu_ldl_data_ra() calls in ICBI helpers Date: Thu, 22 Jan 2026 23:10:55 +0100 Message-ID: <20260122221106.57184-2-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::42e; envelope-from=philmd@linaro.org; helo=mail-wr1-x42e.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=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 @linaro.org) X-ZM-MESSAGEID: 1769120009813158500 Inline the cpu_ldl_data_ra() call in preparation of removing it. Since the returned value is discarded, don't bother to set the access endianness. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/mem_helper.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c index 7318b02c46a..636ad769a93 100644 --- a/target/ppc/mem_helper.c +++ b/target/ppc/mem_helper.c @@ -320,22 +320,27 @@ void helper_dcbzl(CPUPPCState *env, target_ulong addr) =20 void helper_icbi(CPUPPCState *env, target_ulong addr) { + unsigned mmu_idx =3D cpu_mmu_index(env_cpu(env), false); + MemOpIdx oi =3D make_memop_idx(MO_UL | MO_UNALN, mmu_idx); + addr &=3D ~(env->dcache_line_size - 1); /* * Invalidate one cache line : * PowerPC specification says this is to be treated like a load * (not a fetch) by the MMU. To be sure it will be so, - * do the load "by hand". + * do the load "by hand". As the returned data is not consumed, + * endianness is irrelevant. */ - cpu_ldl_data_ra(env, addr, GETPC()); + cpu_ldl_mmu(env, addr, oi, GETPC()); } =20 void helper_icbiep(CPUPPCState *env, target_ulong addr) { #if !defined(CONFIG_USER_ONLY) + MemOpIdx oi =3D make_memop_idx(MO_UL | MO_UNALN, PPC_TLB_EPID_LOAD); /* See comments above */ addr &=3D ~(env->dcache_line_size - 1); - cpu_ldl_mmuidx_ra(env, addr, PPC_TLB_EPID_LOAD, GETPC()); + cpu_ldl_mmu(env, addr, oi, GETPC()); #endif } =20 --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769120009; cv=none; d=zohomail.com; s=zohoarc; b=Y1OBUcFw1rSBT9utQ7v/INV/B3TcHSlDHpxhaEBbCQj5m2QUCGNCwUamS8y2NjkqG6MX/zhNIHerOEUNlfEBHFmc6ARoXc9zLN87eO4LDcl0Ebr9uvgr3SVblw2/t9C0jwRhYMV0Ibit+JX+W0f8ntjRr/vlN1Vbgzf2psSCRrU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120009; 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=oemSyEpHaYDHaAfhztm3M5JIpYi10x+W8FZc95Yv/Ns=; b=FVJCG0s8HNjJOKe+H6iQq+Beg5S19RJqOvv8norgGIcDC2eZUZOvEbGzejpeMAAUq2cLoQd8/AU8T9K6PvdlypItxvDTX2nf7//2aj5jAXb7XMKYxHZteZw7IWPVYfTWgzjp9MtS/AN2Ike+aeErNxedBxibsH6qFiFlFrgAv3U= 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 1769120009696863.6010310151916; Thu, 22 Jan 2026 14:13:29 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2tj-0006Ip-Ux; Thu, 22 Jan 2026 17:11:27 -0500 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 1vj2th-0006Fo-Ut for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:26 -0500 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2tg-0003KA-CQ for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:25 -0500 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-47ee937ecf2so13548565e9.0 for ; Thu, 22 Jan 2026 14:11:23 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804dbaa3ecsm2864805e9.10.2026.01.22.14.11.21 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:11:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119882; x=1769724682; 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=oemSyEpHaYDHaAfhztm3M5JIpYi10x+W8FZc95Yv/Ns=; b=QxbwIhETk1RoOw+cx7ABUD48hFXXHnSR+dPjPMdrbzX3RbZkx65VB+2bOK7W96Hm1f leuLiNRPjK2gFQF+dc0Yc0RHeJmZLLN5LHRcLbqmFOZURvAszfJjT8wXMtavpU9m3sFz DV366IxTnOJKDLhFcdqqibCFwcqbjcorR6kSm87m7kAnqxGEHTieN2j7tFa1WrTTQQZg V5FFV3nnjoLflZxwxq+rMES4+HvZPG5kdUucojUUaP5zCAxLIrJBF06wfGSXzjUe9blQ 4y9BMP8p4TAB/nnWSbZeUvMQeuE1eKMJJo9XVc3YqVrT4TBX0sw7AYFDGbZj1XA7MAWC CgDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119882; x=1769724682; 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=oemSyEpHaYDHaAfhztm3M5JIpYi10x+W8FZc95Yv/Ns=; b=Hq3xX3C0N6Ofjwq9TU4x2c+UwZxLw91PaMdwTk4wflSUpaJOOsHYv7X2IWGIBqhCmX HPEt4TDDwlhH39BHQ4x4wt1ygB5J3sb8QYXe4Ab7jIYniAj2l0OewFXKmD4bpiebjfb2 SH7f3Noy+fhqrruGoldM0RQywA9oXt04ihg/z5xKdlgiNgGzlPY7xTGJjJ94r2+6EKbj 5dWCIrxx48suCtwxo7bSAo8UCvPvQkxkee3pFYTjAoxiukRvX4gOmT08qdg80U5TjxEJ zKHbU0bSOh97blFeuWHkZt7L0K8o4ApoELHwgS2CJS9cHeL4OQi/qVKtj/zva050G7Kf xaDw== X-Gm-Message-State: AOJu0YwvdpRcx2GvA8sM5KJ/jquzxjUCtMCi7ud72Iwk+Ig5wSDudvPb fQQ6WltEi8eHnjC4THW9Tq61IWKOIIgBL6j7kS181G1Q3f74pAhiSWu4y+d9rSf3adX/PTZpBP8 EuUGCiqo= X-Gm-Gg: AZuq6aIhZwdKT6FkTPifWZg38WwBahBrEbKtQE9lkL2GBTuGP7HpmFa0yAFI99U8XPo DtL/L2jLmBV3XkQoMUtkN+ckffIRd5SxdcfvbbRP6+PT5dsDmJQZm4mRKr1+mRj2VHyKAUkSKKV XdpgoS3N4bB/SZG29eRxuiXRiaePRjyo16mxSUecYacrpBmgnvC0quUtdDqVpOtNyY9SsI+/lFK +VTIbeCSjFjYOwt7f3Kc2+fLwZbHxCpA2820K0XhI6mkD8R+5DhWNv5or7L/2P15p3ImdzapezS aMy8E0800C/K76x0IG0FQDrONLoVLc+p8u6PMOcfq6yqbpkQQmMvviw3+ZVrsv9VfoX8kG+G7ff Ql6yBBnoPkeiLQYASDLZOi+6IHyJSDgRai6Ilfa3Bgqr/IEgSmXADypod4CQZ7yEAhhj6oad8vK ywg1oU5Fvnx5Ccu/KLF1Tsh86uE2lD2ATIDXtJZnpobYBE+u6O6KLoW+Ywm1OX X-Received: by 2002:a05:600c:8b58:b0:47e:e2b8:66e6 with SMTP id 5b1f17b1804b1-4804d2f69c6mr16353705e9.14.1769119882567; Thu, 22 Jan 2026 14:11:22 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 02/11] target/ppc: Inline cpu_ld/st_mmuidx_ra() calls in memory helpers Date: Thu, 22 Jan 2026 23:10:56 +0100 Message-ID: <20260122221106.57184-3-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::330; envelope-from=philmd@linaro.org; helo=mail-wm1-x330.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=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 @linaro.org) X-ZM-MESSAGEID: 1769120011752154100 In preparation of removing the cpu_ld*_mmuidx_ra() and cpu_st*_mmuidx_ra() calls, inline them. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/mem_helper.c | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c index 636ad769a93..90546967593 100644 --- a/target/ppc/mem_helper.c +++ b/target/ppc/mem_helper.c @@ -88,8 +88,11 @@ void helper_lmw(CPUPPCState *env, target_ulong addr, uin= t32_t reg) } } else { /* Slow path -- at least some of the operation requires i/o. */ + MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOpIdx oi =3D make_memop_idx(op, mmu_idx); + for (; reg < 32; reg++) { - env->gpr[reg] =3D cpu_ldl_mmuidx_ra(env, addr, mmu_idx, raddr); + env->gpr[reg] =3D cpu_ldl_mmu(env, addr, oi, raddr); addr =3D addr_add(env, addr, 4); } } @@ -111,7 +114,10 @@ void helper_stmw(CPUPPCState *env, target_ulong addr, = uint32_t reg) } else { /* Slow path -- at least some of the operation requires i/o. */ for (; reg < 32; reg++) { - cpu_stl_mmuidx_ra(env, addr, env->gpr[reg], mmu_idx, raddr); + MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOpIdx oi =3D make_memop_idx(op, mmu_idx); + + cpu_stl_mmu(env, addr, env->gpr[reg], oi, raddr); addr =3D addr_add(env, addr, 4); } } @@ -152,9 +158,12 @@ static void do_lsw(CPUPPCState *env, target_ulong addr= , uint32_t nb, break; } } else { + MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOpIdx oi =3D make_memop_idx(op, mmu_idx); + /* Slow path -- at least some of the operation requires i/o. */ for (; nb > 3; nb -=3D 4) { - env->gpr[reg] =3D cpu_ldl_mmuidx_ra(env, addr, mmu_idx, raddr); + env->gpr[reg] =3D cpu_ldl_mmu(env, addr, oi, raddr); reg =3D (reg + 1) % 32; addr =3D addr_add(env, addr, 4); } @@ -165,10 +174,14 @@ static void do_lsw(CPUPPCState *env, target_ulong add= r, uint32_t nb, val =3D cpu_ldub_mmuidx_ra(env, addr, mmu_idx, raddr) << 24; break; case 2: - val =3D cpu_lduw_mmuidx_ra(env, addr, mmu_idx, raddr) << 16; + op =3D MO_TE | MO_UW | MO_UNALN; + oi =3D make_memop_idx(op, mmu_idx); + val =3D cpu_ldw_mmu(env, addr, oi, raddr) << 16; break; case 3: - val =3D cpu_lduw_mmuidx_ra(env, addr, mmu_idx, raddr) << 16; + op =3D MO_TE | MO_UW | MO_UNALN; + oi =3D make_memop_idx(op, mmu_idx); + val =3D cpu_ldw_mmu(env, addr, oi, raddr) << 16; addr =3D addr_add(env, addr, 2); val |=3D cpu_ldub_mmuidx_ra(env, addr, mmu_idx, raddr) << 8; break; @@ -241,8 +254,11 @@ void helper_stsw(CPUPPCState *env, target_ulong addr, = uint32_t nb, break; } } else { + MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOpIdx oi =3D make_memop_idx(op, mmu_idx); + for (; nb > 3; nb -=3D 4) { - cpu_stl_mmuidx_ra(env, addr, env->gpr[reg], mmu_idx, raddr); + cpu_stl_mmu(env, addr, env->gpr[reg], oi, raddr); reg =3D (reg + 1) % 32; addr =3D addr_add(env, addr, 4); } @@ -252,10 +268,14 @@ void helper_stsw(CPUPPCState *env, target_ulong addr,= uint32_t nb, cpu_stb_mmuidx_ra(env, addr, val >> 24, mmu_idx, raddr); break; case 2: - cpu_stw_mmuidx_ra(env, addr, val >> 16, mmu_idx, raddr); + op =3D MO_TE | MO_UW | MO_UNALN; + oi =3D make_memop_idx(op, mmu_idx); + cpu_stw_mmu(env, addr, val >> 16, oi, raddr); break; case 3: - cpu_stw_mmuidx_ra(env, addr, val >> 16, mmu_idx, raddr); + op =3D MO_TE | MO_UW | MO_UNALN; + oi =3D make_memop_idx(op, mmu_idx); + cpu_stw_mmu(env, addr, val >> 16, oi, raddr); addr =3D addr_add(env, addr, 2); cpu_stb_mmuidx_ra(env, addr, val >> 8, mmu_idx, raddr); break; @@ -284,8 +304,11 @@ static void dcbz_common(CPUPPCState *env, target_ulong= addr, haddr =3D probe_write(env, addr, dcbz_size, mmu_idx, retaddr); if (unlikely(!haddr)) { /* Slow path */ + MemOp op =3D MO_TE | MO_UQ | MO_UNALN; + MemOpIdx oi =3D make_memop_idx(op, mmu_idx); + for (int i =3D 0; i < dcbz_size; i +=3D 8) { - cpu_stq_mmuidx_ra(env, addr + i, 0, mmu_idx, retaddr); + cpu_stq_mmu(env, addr + i, 0, oi, retaddr); } return; } --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769119948; cv=none; d=zohomail.com; s=zohoarc; b=Z3z1rsq1uxfoHPvbTVpynKEEVxXwKIhZdNHZuc69jc0UomDMDX3AT3PwbnwR05GAJQ70RtNCNp4aIiK2S13g9ORSKOB7Qxuqc0SvnBhAzU1UlAdB50NG9eiNpdDni3AjJvBwQegYaDHmhdkD6Wgr8JIgiOQjS6RS0fT6QPC8nYE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769119948; 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=tJ5PETmEZLmm3Y1gSNdqj1xhiHNr34HOHNL2IBd92JM=; b=BStHICIrh4vAC+XSYd4qWQfcLjmxQDZm+xniB7xOeoDs/CT/ml3XXkck4CTXqQn6OS8NGnEkAXu5oci1zEsuvhj/8pHgyybPC9JJNFreWLnx5RCQlecNHJrc+fNj3LuQ6EY24TGsHH/daqBeU7OChIET5130Qz8Pseoxi3QPrJ8= 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 1769119948637356.62507023473734; Thu, 22 Jan 2026 14:12:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2tx-0006Nn-JJ; Thu, 22 Jan 2026 17:11:42 -0500 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 1vj2tr-0006Lt-Q6 for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:36 -0500 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2tq-0003LA-EO for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:35 -0500 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-4801c731d0aso12297285e9.1 for ; Thu, 22 Jan 2026 14:11:30 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804d85206fsm11486705e9.6.2026.01.22.14.11.28 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:11:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119889; x=1769724689; 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=tJ5PETmEZLmm3Y1gSNdqj1xhiHNr34HOHNL2IBd92JM=; b=lO8Y6gDsQoAjGtIB17JBDnBOtt5AHC/fIke/X1ij4EgV2pjZL7opEzyl7ezYI+o1pB EzMzK3q4HfvlllT+ZvNtgb62WPOkEizTR8GL9iGt2V3Mz3dv0w2V6KNOibqmuD3jjx0q l5X7L2FWC3diFKBsOlUSNxsHo8AI4lpE9V+No6D346sjlfHMOiQNA6JnvQo8YafEKIra 8MF2Vs47OPBvTy7W2jzzYboMU7cRwQNcYKdvRszTLI4ECTnPaQqp2+7X5oLJ1eEVe1hy BB8NYjkUNzNGfdfTZewb3a9jp3kURHxFmoOQ323MRwkIqBrROPiWLx3qBMVCT7ve6B+3 CS3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119889; x=1769724689; 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=tJ5PETmEZLmm3Y1gSNdqj1xhiHNr34HOHNL2IBd92JM=; b=xN9Y/WujjrNswIWyJ7GWuNhNPV9GCfhO2HND09pYF43LQ0rN2Lmol0oZ8ZvmYi3pVU wrc4QJmEzeDtT87nlEx6OJvmCk/4uF9l6geyF+IzsoXQWjw5LATL8d5UE5+siHkqDNFp TQl9QhMa3ZkAIlOTNn/4BQUoBeGiwIaHjCs+Bg+8F5y7yARj5boQoboAAzesnHkIxHlZ 14mcdbHRWGOZbzInP7oWyAk/aNURXC9xMeh9i4dM955F9k+p3fe0whU0kC/s3i52UOR3 1e9RKiCu/fQ7paHDhkdYNi0KNeC0aycPjFbuWhzVdREXh0afDbTmnDyI5JZIMOt2JXfb zdHg== X-Gm-Message-State: AOJu0YweQxDk+7deiOEV6XCPV6NHy7wihzC0EIkcZLn21lO881+JztSP wgyTZsodzUNmSl8TCIE5N5S/wahco7OIfAbN+bKH+TcD3886Ipc6L320tjWrJluE3EnHLBo6GnV iNy/yyjs= X-Gm-Gg: AZuq6aKBZsyqpDUuBHowHFhBYlJX5o490Y3BjHAHQTRzrVoK7+/C5zgbeQozeLzn1YA opReAPM6R3jHTII8UYTlDrVfvhquL1SHDF2hSy8z4SvcnNy+4vnTaa3+Zl8UM4WCByUyDSN6pKV LBMXkaPiTHpfdDjJpMON3h3326W7OEFfQgz+Ka8KeqqVd3j8e/FlK+6HE5Qq5ILCujOgaiEVqIQ 1X0ITL/tlZaSSvhIXKXwMMRiCpmUBYZmmSl4vz5Bz4/RT9wN9G0nIOan+qrdnnVJH/WqoTp7/4/ QzUphirmlGk4CrmL8QMFKWUYAKcNuEx/X7Ivkq0QP2vo+XnlDm3aUYLcpif+9aiSL0qYp81f8xC oxJYSH3unoFTWK8OlZaP2ZOmrs5iLyfULOA4JfMEv/3ZLtMHoWSsaPbF2n9XTuKPRZS8bwBnXO5 9e5d7wQpj0W4cWta8gQeO9ikwNnQRdbQeToWrahTo0Yr/W4Mx7XuKFEtzHtpZbfwAsPv/p7Eg= X-Received: by 2002:a05:600c:1d28:b0:47e:e4ff:e2ac with SMTP id 5b1f17b1804b1-4804c9d4fd2mr17080105e9.33.1769119889561; Thu, 22 Jan 2026 14:11:29 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 03/11] target/ppc: Inline cpu_ld/st_data_ra() calls in do_hash() Date: Thu, 22 Jan 2026 23:10:57 +0100 Message-ID: <20260122221106.57184-4-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::332; envelope-from=philmd@linaro.org; helo=mail-wm1-x332.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: 1769119951465154100 In preparation of removing the cpu_ld*_data_ra() and cpu_st*_data_ra() calls, inline them. No logical change intended. We note the page translation hash address is expected to be aligned, so the MO_UNALN flag is misleading. Next commit will remove it. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/tcg-excp_helper.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c index edecfb85725..6f5d82af636 100644 --- a/target/ppc/tcg-excp_helper.c +++ b/target/ppc/tcg-excp_helper.c @@ -160,14 +160,18 @@ static void do_hash(CPUPPCState *env, target_ulong ea= , target_ulong ra, target_ulong rb, uint64_t key, bool store) { uint64_t calculated_hash =3D hash_digest(ra, rb, key), loaded_hash; + unsigned mmu_idx =3D cpu_mmu_index(env_cpu(env), false); + MemOp op =3D MO_TE | MO_UQ | MO_UNALN; + MemOpIdx oi =3D make_memop_idx(op, mmu_idx); + uintptr_t retaddr =3D GETPC(); =20 if (store) { - cpu_stq_data_ra(env, ea, calculated_hash, GETPC()); + cpu_stq_mmu(env, ea, calculated_hash, oi, retaddr); } else { - loaded_hash =3D cpu_ldq_data_ra(env, ea, GETPC()); + loaded_hash =3D cpu_ldq_mmu(env, ea, oi, retaddr); if (loaded_hash !=3D calculated_hash) { raise_exception_err_ra(env, POWERPC_EXCP_PROGRAM, - POWERPC_EXCP_TRAP, GETPC()); + POWERPC_EXCP_TRAP, retaddr); } } } --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769120022; cv=none; d=zohomail.com; s=zohoarc; b=buohr++7w8wLaFckWMVLAzKI97itn5kclWO9AUlI31W2K5Yy25gueR9GMPa/ubbeakpL0zhpi6/PHkl/3IRkOnOAQSyerrx43LDcW52no3rQtPuS6qHWzmFIiATBNbtmqd6hLXKZXHfYujo+GdiSsYVXhuE/727JViWX6N3OajQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120022; 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=xwyaty6/9Dku7w0or7x9Z1FwEL5g3XwXIWEi/fxrfjo=; b=XMjKq75GgJ7A0MZEBVa4N0zS+X5FoPhz5QBf8v602mCix0gMABPjUpK+Tt5pvkbxyrcuXymUm+d3U1V1sZguk/HS943DawEpGgf+jjBYBfEo2LaNGhTfprJMIEyg6TNcpF0w2TwvILkyA1uoHonKX2XZHTp4ytuGN1oR5KmX4xM= 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 1769120022031601.4739743500159; Thu, 22 Jan 2026 14:13:42 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2u1-0006SO-0R; Thu, 22 Jan 2026 17:11:45 -0500 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 1vj2tv-0006OU-Tj for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:40 -0500 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2tu-0003Lh-Gw for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:39 -0500 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-4801eb2c0a5so15601855e9.3 for ; Thu, 22 Jan 2026 14:11:38 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804d3fda30sm5982985e9.1.2026.01.22.14.11.35 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:11:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119897; x=1769724697; 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=xwyaty6/9Dku7w0or7x9Z1FwEL5g3XwXIWEi/fxrfjo=; b=xaAoh3znS34v3OW6+mofkrhxHt53kp0ovQuKxlBa71MUq6X2Y+usDy1NXXOFJp8bJe YPXS1+dhOfrO+s09q1fPsduwe94NQcA0nTXJscehseqX+TqM8d4JTuQzON4s5VfhOqI5 A5VTj5yiLta4/dJqHRz4lHKwU7FHRXfMy1QEXVFTXkHRaRyF7wVyvDbTPKzoy0188Itz 0jknnOjOOSDtbMNzczD/F1SsQLy0ywarwSzCOzz6ACkuUh+pVzfQL5lKvekR/2Zj2V/G KXJ5jQVrR9GbAxc3x/Dvc+pg8XPI4ZjkVfenKL+28ohiF2XxLWGhK+RvzE6Y0t9G4nvq q6wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119897; x=1769724697; 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=xwyaty6/9Dku7w0or7x9Z1FwEL5g3XwXIWEi/fxrfjo=; b=Lp2rfgR+6m4cmo68a6XvZX2XC9xKiVOknMryFHHxiacruHWd91gbMRyJaT000GNOjy EWYeATS7g+JZvyFfJEgiOjoBXCVBwByoJoKa7k3Vwp/DmeKGOpm62DKv9ircfH0GJJ3A FEF4QhYMlheaY+T7QYJWA4rzSXe7oOnk8XYZOoHqfRCr9Bks2kSVIHrStzAy8yWEz6Ws BBCAloPyCd422aHbQmv8yAw9zLZbVClQU7qQC/1pkmhuq3gptDZ4/NTjlc0aD+VNFbH/ /hpiHjYS21UcUU5dIf8KE7fbRghAVlPad9G6wQjO5V2wEAzzClHYoMiM0qMPiLEuhEWG VFHg== X-Gm-Message-State: AOJu0YzwGn+zdegbG/GDEQabvH4J3wlBHPaML3kFIDfneD26dHydkGsp Ng4M7YCe0cp3lFd+C/YYT5FL2cBBNJUcHkdMdYM8F6mfBOMpnzhNfrArgzTtb+eMb3SA19pEpBG kg4R/ITI= X-Gm-Gg: AZuq6aK5hpcNDJJJ2ZvJwgFYkBYFvC7TNLwMwiKEr6qQMhEjy2xq2aFzYRwQ8W/Paz/ h+ZRJ3MTKpTzIoe1TPI51KqpdkQWiupkDWrU6xwCnVPzLi8SBOaXkg78K+1OdcCYpS2U2nwNHEz z+XGDSPBQJHw+/zRqLTJYOmrnGRUfUf85g/fd8U9MzZQAhS3ssh+m1EhDbE/3BPsFW0ussE1Qlo WqU58TOm9ZdmcqojkN6Pamk7lxySeFc0IxWJXHmckGAl0NoJaFw3+DgtvZoqsu7F0rNFn95jUIg acjT15wITgNFtej+pYO8XwEzw649wc/Aujb6YEcWWIdrAMlNP10kX9V39q7TWxYoq/OxUnR9mtu WeXdT226CpuKrcQ64pHP36E1T6jaG9N+BlbgAk10R44BXFNZIvm3X3g206F7qdSr9IICrjJl36R MeYRyGJm9XOe17/mAHnSaq5wZUD23ZkCSfRv70UpBa3YZSQQHab39DKYTTwNip X-Received: by 2002:a05:600c:83cd:b0:477:93f7:bbc5 with SMTP id 5b1f17b1804b1-4804c95c9d3mr16891845e9.10.1769119896526; Thu, 22 Jan 2026 14:11:36 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 04/11] target/ppc: Expect page translation hash addresses to be aligned Date: Thu, 22 Jan 2026 23:10:58 +0100 Message-ID: <20260122221106.57184-5-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::32d; envelope-from=philmd@linaro.org; helo=mail-wm1-x32d.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=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 @linaro.org) X-ZM-MESSAGEID: 1769120023782158500 The page translation hash addresses are aligned: remove the misleading MO_UNALN flag. Reported-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/tcg-excp_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c index 6f5d82af636..a8c67364669 100644 --- a/target/ppc/tcg-excp_helper.c +++ b/target/ppc/tcg-excp_helper.c @@ -161,7 +161,7 @@ static void do_hash(CPUPPCState *env, target_ulong ea, = target_ulong ra, { uint64_t calculated_hash =3D hash_digest(ra, rb, key), loaded_hash; unsigned mmu_idx =3D cpu_mmu_index(env_cpu(env), false); - MemOp op =3D MO_TE | MO_UQ | MO_UNALN; + MemOp op =3D MO_TE | MO_UQ; MemOpIdx oi =3D make_memop_idx(op, mmu_idx); uintptr_t retaddr =3D GETPC(); =20 --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769120012; cv=none; d=zohomail.com; s=zohoarc; b=mLMan5HtR7Jq8OYZ/L49y/+LEbnz2x34VNzd9J5FJn929Tae2mJUJ51GelzSoktwk+O3xvyu+OghxBiHbGN6TB1JP5f/hCN4YIkZDK/HbtdHLk/npHPBBnxkH2oT/rGNI2nlnUK8P5/J0MsGD+S+0FltWLejv4RHesgI6nVYrFw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120012; 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=kyIWXld1FWQ8hHXOqbk/6iIga1BTq5Gc5Yz2aOFOv/8=; b=lRHU8LfyyqfjlYJmu1RIp5U7rNefxe3xx10BtRihDX1uKaluN23TErNGlztiUxJVQIIMvEk375Lzgc8s1gdwkuoUdJutAduLJgF9FVplS7w/lLA8hy/limI3p3MBNi+msRb0rWVvLn3jeqZvEIe4BE8m7sChPYeJpULC24QgNx4= 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 1769120012492735.3264033455021; Thu, 22 Jan 2026 14:13:32 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2u6-0006WM-Vx; Thu, 22 Jan 2026 17:11:51 -0500 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 1vj2u3-0006Ug-5u for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:47 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2u1-0003MC-FN for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:46 -0500 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-47d63594f7eso13511225e9.0 for ; Thu, 22 Jan 2026 14:11:45 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804d84ebb9sm9777315e9.4.2026.01.22.14.11.42 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:11:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119903; x=1769724703; 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=kyIWXld1FWQ8hHXOqbk/6iIga1BTq5Gc5Yz2aOFOv/8=; b=LapB3KYP56rCbNxMHUaaPeQKvVsYZZrUNZffNtcF8GOaAZotSUDmNBd5NAI6mqUCr1 oT8yCsduZQs3mXGwYrArf1Yi4YwuzyQ3cSt0nidn3iZ3/3aPNipVeZzkSqvL0yFCm3ex KHKgvBqUTQrur4D/mJM/xuTAe0nndJsd5HjX0jguLJ3WmRAAFKCQdHrnWDFzRQts7ryJ PaDn/m8yIYjcv1N/OnjiJnvmgMaHsFxKHl7HK2FShosj/1+2OmyzVWPAEErtJ+oM9pTx t0pjEdFwSigZPdMdLrpAsKRDIDfPutW9MFTjdKjQLq9dQnj+DHAqGUPMEUYxLs75B4O5 Xokw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119903; x=1769724703; 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=kyIWXld1FWQ8hHXOqbk/6iIga1BTq5Gc5Yz2aOFOv/8=; b=Wi2r6nmEseiF8CIkmQqyaBHnx8lM3kLwuq+s6HHyCZMClLdHOrG2i3yZtDtuP5FJO5 3K88LW/1ch/h9DLLBaW7V+ApJrFqRBY9+GLpsk1Ymc9VbyFgt2PP0zUjpl/3CSKGmM2+ 7zw+4wRFXvyraMU6mGDvCEeUGK9LmCyc82m5KNBE5UA0Cft+vh4ay57CNSMSmMpevk8m N3DbpIH7lsghyJN0pbPIzqISB/Szs29MtEqPjEY35+guyWMX33nu4ZsAnoHtHZqqM9vI lQKbBUms+O6wP5wdT/OjGTwbkCKJdDagnxGPZRNRJvtGc3yNwAnwJlQne/MuUeTwl4rW T4Qg== X-Gm-Message-State: AOJu0YzC/15mp/fFDiRmleCa4CGz7K8rucj4kYGfGqYd3uSoaLCOtXoS rx11anMA0dSJ+zY8BzCR6WlOFh2xYf/lIsf3zR6Xrb2fhF+vGwrF/qQMy7MtMFz4KIGC2a2Kjck dhtHm2bU= X-Gm-Gg: AZuq6aLweI1+abvgfE6bt4faqrPYPXBwnjP45G/1Hy65dSL2KrgJv41FQ+MgIIYLNVy mwEQWFQ3Cq81eLKJDsTEqpQ+H5Mxuw4sghzYV1Gb6R+QFcGlCPLKyrhSsR21U+d5U1AScbGn6RN tUKpFN1tAvTUz8ATZL3zQokoWjshzQA2/0W/416sBXKxvWJvKOv6+1aHRvnxto+8LBjke3IV+IC EMbodaHehJYcbNHicGXD6G/hP5YE6bU28/I72u174DjjgNlVLQlKNTxcJMKhn7PIem6W1Qda+Ca bN2ugJXY9/VCAbocTJwovqcPhIAQzqWaz1sSZaXp1W0tGtzARfxQeor8Zf6L51z1oA3JnHaI2qw 3YpN/NIvrgpdTqo+7jwqmFgv/eSquib17pCYyuIuN9ANH1Z62LJxAL1u9kKNwW7PQ81T6Rz/pvo F4sAfDz6uC+fbzGNLVVfDLVRFD6xlEowq2O2n/RP88Yr6riqchbYAqPSk2q28megx204RCw3A= X-Received: by 2002:a05:600c:3b0d:b0:477:76cb:4812 with SMTP id 5b1f17b1804b1-4804c8e9508mr16430795e9.0.1769119903562; Thu, 22 Jan 2026 14:11:43 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 05/11] target/ppc: Introduce the mo_endian_env() helper Date: Thu, 22 Jan 2026 23:10:59 +0100 Message-ID: <20260122221106.57184-6-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::336; envelope-from=philmd@linaro.org; helo=mail-wm1-x336.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: 1769120013766158500 Introduce mo_endian_env() which returns the endian MemOp from the vCPU env pointer. Keep it hardcoded as MO_TE. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/internal.h | 6 ++++++ target/ppc/mem_helper.c | 18 +++++++++--------- target/ppc/tcg-excp_helper.c | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/target/ppc/internal.h b/target/ppc/internal.h index 58f315ffcf5..09333bed342 100644 --- a/target/ppc/internal.h +++ b/target/ppc/internal.h @@ -19,10 +19,16 @@ #define PPC_INTERNAL_H =20 #include "exec/breakpoint.h" +#include "exec/memop.h" #include "hw/core/registerfields.h" #include "exec/page-protection.h" #include "accel/tcg/tb-cpu-state.h" =20 +static inline MemOp mo_endian_env(const CPUPPCState *env) +{ + return MO_TE; +} + /* PM instructions */ typedef enum { PPC_PM_DOZE, diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c index 90546967593..89718441310 100644 --- a/target/ppc/mem_helper.c +++ b/target/ppc/mem_helper.c @@ -88,7 +88,7 @@ void helper_lmw(CPUPPCState *env, target_ulong addr, uint= 32_t reg) } } else { /* Slow path -- at least some of the operation requires i/o. */ - MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOp op =3D mo_endian_env(env) | MO_UL | MO_UNALN; MemOpIdx oi =3D make_memop_idx(op, mmu_idx); =20 for (; reg < 32; reg++) { @@ -114,7 +114,7 @@ void helper_stmw(CPUPPCState *env, target_ulong addr, u= int32_t reg) } else { /* Slow path -- at least some of the operation requires i/o. */ for (; reg < 32; reg++) { - MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOp op =3D mo_endian_env(env) | MO_UL | MO_UNALN; MemOpIdx oi =3D make_memop_idx(op, mmu_idx); =20 cpu_stl_mmu(env, addr, env->gpr[reg], oi, raddr); @@ -158,7 +158,7 @@ static void do_lsw(CPUPPCState *env, target_ulong addr,= uint32_t nb, break; } } else { - MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOp op =3D mo_endian_env(env) | MO_UL | MO_UNALN; MemOpIdx oi =3D make_memop_idx(op, mmu_idx); =20 /* Slow path -- at least some of the operation requires i/o. */ @@ -174,12 +174,12 @@ static void do_lsw(CPUPPCState *env, target_ulong add= r, uint32_t nb, val =3D cpu_ldub_mmuidx_ra(env, addr, mmu_idx, raddr) << 24; break; case 2: - op =3D MO_TE | MO_UW | MO_UNALN; + op =3D mo_endian_env(env) | MO_UW | MO_UNALN; oi =3D make_memop_idx(op, mmu_idx); val =3D cpu_ldw_mmu(env, addr, oi, raddr) << 16; break; case 3: - op =3D MO_TE | MO_UW | MO_UNALN; + op =3D mo_endian_env(env) | MO_UW | MO_UNALN; oi =3D make_memop_idx(op, mmu_idx); val =3D cpu_ldw_mmu(env, addr, oi, raddr) << 16; addr =3D addr_add(env, addr, 2); @@ -254,7 +254,7 @@ void helper_stsw(CPUPPCState *env, target_ulong addr, u= int32_t nb, break; } } else { - MemOp op =3D MO_TE | MO_UL | MO_UNALN; + MemOp op =3D mo_endian_env(env) | MO_UL | MO_UNALN; MemOpIdx oi =3D make_memop_idx(op, mmu_idx); =20 for (; nb > 3; nb -=3D 4) { @@ -268,12 +268,12 @@ void helper_stsw(CPUPPCState *env, target_ulong addr,= uint32_t nb, cpu_stb_mmuidx_ra(env, addr, val >> 24, mmu_idx, raddr); break; case 2: - op =3D MO_TE | MO_UW | MO_UNALN; + op =3D mo_endian_env(env) | MO_UW | MO_UNALN; oi =3D make_memop_idx(op, mmu_idx); cpu_stw_mmu(env, addr, val >> 16, oi, raddr); break; case 3: - op =3D MO_TE | MO_UW | MO_UNALN; + op =3D mo_endian_env(env) | MO_UW | MO_UNALN; oi =3D make_memop_idx(op, mmu_idx); cpu_stw_mmu(env, addr, val >> 16, oi, raddr); addr =3D addr_add(env, addr, 2); @@ -304,7 +304,7 @@ static void dcbz_common(CPUPPCState *env, target_ulong = addr, haddr =3D probe_write(env, addr, dcbz_size, mmu_idx, retaddr); if (unlikely(!haddr)) { /* Slow path */ - MemOp op =3D MO_TE | MO_UQ | MO_UNALN; + MemOp op =3D mo_endian_env(env) | MO_UQ | MO_UNALN; MemOpIdx oi =3D make_memop_idx(op, mmu_idx); =20 for (int i =3D 0; i < dcbz_size; i +=3D 8) { diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c index a8c67364669..77d21523a5b 100644 --- a/target/ppc/tcg-excp_helper.c +++ b/target/ppc/tcg-excp_helper.c @@ -161,7 +161,7 @@ static void do_hash(CPUPPCState *env, target_ulong ea, = target_ulong ra, { uint64_t calculated_hash =3D hash_digest(ra, rb, key), loaded_hash; unsigned mmu_idx =3D cpu_mmu_index(env_cpu(env), false); - MemOp op =3D MO_TE | MO_UQ; + MemOp op =3D mo_endian_env(env) | MO_UQ; MemOpIdx oi =3D make_memop_idx(op, mmu_idx); uintptr_t retaddr =3D GETPC(); =20 --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769119980; cv=none; d=zohomail.com; s=zohoarc; b=ACqLphGKGP5ccV6HK3WXjxJ5MM57l15aZtpQNIDrGGHxTNdQdEUR13+4/TP8YyKZ45B66QxJWta4jH/yzhxaqKYak4jkwUlvuH3kzElRMXbS/nz9wEf6hgomXREXp1TrtYFw7Suvhi3nxalCXTVXVI3EoLWxkdE1kVrkvh4q/cA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769119980; 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=RP/MTK8KNSVzyu6zuIe3MwXkpcWMuvGz5r3wnr6DkDY=; b=SWhU7d6dh2yPNah0jX/AfdFnUPwWy2bk7+rsL0po/Am1ZsGmegNmWg2LSY5R1/fRY1QlWXyT5PvCpGGUmMr4vLuROnN8Vf8+tV6c4MNog35dx1hzVipYwhLhHlSKbYBTBpZUH6gQS6XIBGVOUlAU/q07FKI+LeVD6QtzlVj/3Bo= 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 1769119980794169.3136207743231; Thu, 22 Jan 2026 14:13:00 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2uB-0006b7-05; Thu, 22 Jan 2026 17:11:55 -0500 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 1vj2u9-0006a9-Ji for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:53 -0500 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2u8-0003N0-4y for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:11:53 -0500 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-4801d1daf53so17660525e9.2 for ; Thu, 22 Jan 2026 14:11:51 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-480470bfe42sm92326415e9.9.2026.01.22.14.11.49 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:11:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119910; x=1769724710; 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=RP/MTK8KNSVzyu6zuIe3MwXkpcWMuvGz5r3wnr6DkDY=; b=EsqReTOrxgGSAFmYhE9WuZ4ucve99hX+kpPfHnSkuUzc4tLU+eCWT5AYZOM2XRxDxw 90AE087KPqGYJj42zHkcbuFu8FlzBZkW3RiZT415UZAon55x9sbosL7Bl5K+M8f1p8Vw yHX06bsMysbDEOhC2LF0G2zY653nZlGVV/MaLl0rlFuibYzMdR5kYDkWST8zk+jP74vv O6+63wArD8WtlsBEZ9b24oiEp4p4i+48ezfJxcC5+gbbk+a/QmLh6gWzhUUI6gMcJbha OL52dE3vajX1wnl30+HeoCeHEU9SeO9n9fgEfLqWufRbR9hh+X7L9nM4p1Z9O6X0uxyH +9Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119910; x=1769724710; 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=RP/MTK8KNSVzyu6zuIe3MwXkpcWMuvGz5r3wnr6DkDY=; b=ZDe8q692a/mokh2PqIvnLCZJqDx5Iwq7hLz4RbJAKszYXE9A+TElWqEl732eZ9l7MG kFHtBHZnvzZgIB6UqzSdeahg3k5ttEB73p8tJSgUydMjW7qZSowX6AaQzIkaktoDFYzn M5OW7pZoBKJTwteJ8ynORleMKB0pmFHJwO1G2uCpDpvrpGYRTY4yIIxCZ/ZT0ZVn8j+n 9CARIc4FHuFXy1Kvc8xPtjdXwuv2Bynd7KA3Ff+Bo/v06x2gti9E0ORQwc7NAOD01a+V 3SuYh+pU3Dc3M+MOd1GiBhEbnihWt6gSwC8FXYamrG/cylkLQxPt7J6mnmkt9iz6mJCw mZ3w== X-Gm-Message-State: AOJu0Yza/l4x/J0GK+dewb2/e+z7ULDQmi9ueAv1euo2h1x9dzN1j0KJ jSvemeSRWuiVbkXQH+qp2d7/5Kk7MaCWwILk7UKQOENH6HQMUJpd5cUDB9BAe49Omo8NMJAfHKQ zCEvX7Ko= X-Gm-Gg: AZuq6aKTdOuCl3t2BjViWKmZLkTTCw21Xg+cm9qMH1ciisuXzMaKQQAxY0PZIDQXnoB eYJlETT+1pHPKAGW5UXYwsTh7cExrzrzLeAJ5zxnx9L86vqOlAD2Vv3CnHvS3LYoJMtJUdoEm2G FR41M7oZ74c43zEq+kq5F4y8/o+PXSs/Aq8DX5iG+s0MluFMvDBdpMMyVwZizYC1mTSL1JfqP/1 zBkQTqM4QWloErRdJW277PHkXqaf3/WzlDy1dRQYSjmr/0fDS7IEXwJHlhgrZVe7MV4hovuphQm +rlrt7nxDHvooUfM/f3y1ch5/c+/VIjbJ5KM7H7jGE34XIO+hI7M/MHZiZcDktO5n9iUGnO5gBR U1Uc4jQfJYwxtpoEQMxQh8YIJy37oZ8XHhm0/icL4ftP7Mh7l4miv86WHx9Va6HUmBP0EeyUtGK d00H2AH5czW/LF3ThCkW7gu/gn5MOiRNPF72jB6AgobaefkL5FYFULmgPKhE8U X-Received: by 2002:a05:600c:4e15:b0:46e:35a0:3587 with SMTP id 5b1f17b1804b1-4804c9ce9c8mr15223215e9.27.1769119910375; Thu, 22 Jan 2026 14:11:50 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 06/11] target/ppc: Introduce ppc_code_endian() helper Date: Thu, 22 Jan 2026 23:11:00 +0100 Message-ID: <20260122221106.57184-7-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::32e; envelope-from=philmd@linaro.org; helo=mail-wm1-x32e.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=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 @linaro.org) X-ZM-MESSAGEID: 1769119983218154100 Introduce the ppc_code_endian() helper which returns the MemOp endianness for the CODE path. Use it in need_byteswap(), removing one TARGET_BIG_ENDIAN. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/translate.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 17e6d07c8c2..4a9199a4473 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -214,14 +214,15 @@ static inline bool is_ppe(const DisasContext *ctx) return !!(ctx->flags & POWERPC_FLAG_PPE42); } =20 +static inline MemOp ppc_code_endian(const DisasContext *ctx) +{ + return MO_BE ^ (ctx->le_mode * MO_BSWAP); +} + /* Return true iff byteswap is needed in a scalar memop */ static inline bool need_byteswap(const DisasContext *ctx) { -#if TARGET_BIG_ENDIAN - return ctx->le_mode; -#else - return !ctx->le_mode; -#endif + return ppc_code_endian(ctx) !=3D MO_TE; } =20 /* True when active word size < size of target_long. */ --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769120032; cv=none; d=zohomail.com; s=zohoarc; b=J9kM5wlEGDszs0b54TtXNLqMm08mEjvnNhAH5FzCAFLL7RJQdPxjtqt9k3/hhPUDAHc2VNEYjFXtsAUJi8CLHZrrhudj/OWdSZNTM9GpYlDVuAN+nE9Y7hyZDW59kg6XqB8R9C7SB8REgVAsvzV5uAtVO3rAHmjCUnM0uB7wKAM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120032; 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=RkPs1FcFNxMJ8Y8uZWUMxNftxsmN7tKxj2I2BegJ4Gs=; b=mQ74WXjfAbPseoJGpbxy4mKQrJQTaHOtgfooKuNpkezB5OhGwMrm78UWXnCfve+Mi6AxD02r6SKBGaGm2D9AK3sBgZQJOSQuFLbP2fMuQkHzhoEadgJefbHGxjgLQhQHM7oPX9EAunz3HTroPznVWIKpcL3tY/irBDZzhQQwmN0= 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 176912003218071.72500130364267; Thu, 22 Jan 2026 14:13:52 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2uI-0006op-O6; Thu, 22 Jan 2026 17:12:02 -0500 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 1vj2uG-0006hZ-PZ for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:00 -0500 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2uF-0003NQ-6x for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:00 -0500 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-4801bbbdb4aso18500035e9.1 for ; Thu, 22 Jan 2026 14:11:58 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804d7d2d9csm12296625e9.0.2026.01.22.14.11.56 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:11:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119917; x=1769724717; 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=RkPs1FcFNxMJ8Y8uZWUMxNftxsmN7tKxj2I2BegJ4Gs=; b=Pd6QNhVB4SV0+1K+YWlK9SUoRtOfeC3jNxPbpqU58ODzHx2l/HmAvfmG4Lwqv37YIT ctcFBzJ8NZKIt+Tm1xPqvcXWFaI/GadwttkK/kOfrrRP1QINBuSttM8zikzXctKgXGs/ u9dfxi+oCIuOBL/tAvFHKG1BCBSiF59j9e4bm+UUqCuLqxO4FtwVlNOvOWcHRp46beY4 rLYdfb31zI1KKWUEIxY4/D38j9xY62nv+PEx+Bd9rAtKZ4kUMOrGg3mcyPTA2Ll/S8uz bj8TdmK8SzALlOnYqp1oi9pXMGulpGp2iBI46pZQpxidmVJx4UAHnbR9YWTdSn81gUj3 N1VA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119917; x=1769724717; 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=RkPs1FcFNxMJ8Y8uZWUMxNftxsmN7tKxj2I2BegJ4Gs=; b=iCZcWb0Nm5s2Pd8ogXUna/9dckGwVc3EHFEgKZ1XVsZgsiPPwQyO/rt3UlrqbdzSMA HONqvWWJjs9WDFufvloRf154Az83OH7+K/1Qdhj64Xo4hpUrw9O+zqDuCYPK+iXvnkZV USfW9Sg+bLSN4W+MplDYVtlK/j0gK2bdhjhf9rgsQQZiRQpY1PZFoAdaB3kgoB0se9PC HVQLhU6tFV5Z5aMj0H3EzErIHRTridgmeL57AFoFLciuLQweRIcau3g9lMAy1ZmPcX+o OCY9Krh1f1vnknm5Jlx/ND5LP5IPX05Ize1pG/BlDsf43blHg94BUdt65JFasMtGlh17 mhUg== X-Gm-Message-State: AOJu0YxYmBjtzZzpav9l71B6tt7XzI0wnWdZi7FT9swy6Tyn3CwYISpw sBimx6bAiZ6C3g0KeUFSiw3gHbDF9kwd+BS8DSST0uojSf4aBIZhfW9bettjp8FfB8yD7VgVfI4 ktRzryfo= X-Gm-Gg: AZuq6aL1uvo5bBVXtJGTePkj+roYzGYxyXL82pnyLN5yJrbgQmiedXZYOkuXXBR4EWx PvQf2Q0LjM8yYWpVJAV6WNs9/1p+3P1l3EsLNJX8O3SpzU0ZJzIJ1s4Y8K9WoES6wFcMyJ7qtCE zzyDoLjaDLz6857d6L/LpwHF4oO3f0O80n+gCtvDhQ6rp/CCVZQDyFPD1UwXxYs06z+bRLXY9zD bj5CgqUrGrcgYbXVTglzWDDh40tlRE96Zc5dRO5Z+D5NpONzDbw+CeG6h+UC0MsbpPTs12ZB4+P wT8utW0W2XwMnzD1dhTPo+bAf1mNX6v/fymRAnTWtTslxKsvA3WCG4kX2J8cBkxG4v5gB2BLIEg 5tqQhz3cA1t3HPNtPxAy3ewYQ6pEilxWAGwxFC/lwPs4PSPq0cJT+hZvdtXi8Ezcqdo8JFfzW0i EoGVaaxrakSLugZeO8ak/pRvdwh5bNvD6DV6X0p54KJMyhikHpc0VRcWnndmsM X-Received: by 2002:a05:600d:108:10b0:47d:52ef:c572 with SMTP id 5b1f17b1804b1-48047052112mr53492885e9.1.1769119917166; Thu, 22 Jan 2026 14:11:57 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 07/11] target/ppc: Inline need_byteswap() and replace translator_ldl_swap() Date: Thu, 22 Jan 2026 23:11:01 +0100 Message-ID: <20260122221106.57184-8-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::32b; envelope-from=philmd@linaro.org; helo=mail-wm1-x32b.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=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 @linaro.org) X-ZM-MESSAGEID: 1769120033787158500 Rather than using a boolean with translator_ldl_swap(), get the MemOp endianness with ppc_code_endian() and pass it to translator_ldl_end(). Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/translate.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/target/ppc/translate.c b/target/ppc/translate.c index 4a9199a4473..2ea18e7981c 100644 --- a/target/ppc/translate.c +++ b/target/ppc/translate.c @@ -219,12 +219,6 @@ static inline MemOp ppc_code_endian(const DisasContext= *ctx) return MO_BE ^ (ctx->le_mode * MO_BSWAP); } =20 -/* Return true iff byteswap is needed in a scalar memop */ -static inline bool need_byteswap(const DisasContext *ctx) -{ - return ppc_code_endian(ctx) !=3D MO_TE; -} - /* True when active word size < size of target_long. */ #ifdef TARGET_PPC64 # define NARROW_MODE(C) (!(C)->sf_mode) @@ -6589,6 +6583,7 @@ static void ppc_tr_translate_insn(DisasContextBase *d= cbase, CPUState *cs) DisasContext *ctx =3D container_of(dcbase, DisasContext, base); PowerPCCPU *cpu =3D POWERPC_CPU(cs); CPUPPCState *env =3D cpu_env(cs); + MemOp mo_endian =3D ppc_code_endian(ctx); target_ulong pc; uint32_t insn; bool ok; @@ -6598,7 +6593,7 @@ static void ppc_tr_translate_insn(DisasContextBase *d= cbase, CPUState *cs) ctx->base.pc_next, ctx->mem_idx, (int)msr_ir); =20 ctx->cia =3D pc =3D ctx->base.pc_next; - insn =3D translator_ldl_swap(env, dcbase, pc, need_byteswap(ctx)); + insn =3D translator_ldl_end(env, dcbase, pc, mo_endian); ctx->base.pc_next =3D pc +=3D 4; =20 if (!is_prefix_insn(ctx, insn)) { @@ -6614,8 +6609,7 @@ static void ppc_tr_translate_insn(DisasContextBase *d= cbase, CPUState *cs) gen_exception_err(ctx, POWERPC_EXCP_ALIGN, POWERPC_EXCP_ALIGN_INSN= ); ok =3D true; } else { - uint32_t insn2 =3D translator_ldl_swap(env, dcbase, pc, - need_byteswap(ctx)); + uint32_t insn2 =3D translator_ldl_end(env, dcbase, pc, mo_endian); ctx->base.pc_next =3D pc +=3D 4; ok =3D decode_insn64(ctx, deposit64(insn2, 32, 32, insn)); } --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769119965; cv=none; d=zohomail.com; s=zohoarc; b=Y1zAYbsEOO6bjDXBwcZexO588sa15Tqjsu6/XHKkihE4mo2PMuRviKHe2KVKOEsZcUh6Suxym9fJuUo4UQ22dqEQKrmEWtv78HEf2C5Vt5pOZygCrMxxS/oHSgSTPvMagIP9wFeWQRZlTHO+QECxXvYxjHM6q4DWSVXt0tbjX9o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769119965; 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=pZixBBXw9pW9Lb2/N+W+Mo89Bf4jJ5ucu9PIzWSFCxg=; b=KV5LvfVK731yZ8Togb0XI1m1ikn1rbEE5/YUwIv6sVQLAbUF90FqNF7XyKHirBcqm+rTzzfzPRDPBAny26jV3O7mWZSdI3tVwt8TXhKLo9y+kUmND6InxJKWfmjLrN/PS/QeAd+xakeZDtWxgKSFL8hexsG8Lt0a2qaOqpzSpX0= 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 1769119965368135.39492269106984; Thu, 22 Jan 2026 14:12:45 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2uQ-0007IT-IX; Thu, 22 Jan 2026 17:12:10 -0500 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 1vj2uO-0007DO-Ga for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:08 -0500 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2uM-0003T0-Sp for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:08 -0500 Received: by mail-wm1-x344.google.com with SMTP id 5b1f17b1804b1-47ee0291921so13424795e9.3 for ; Thu, 22 Jan 2026 14:12:06 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4804d8bebfasm11749535e9.14.2026.01.22.14.12.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:12:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119925; x=1769724725; 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=pZixBBXw9pW9Lb2/N+W+Mo89Bf4jJ5ucu9PIzWSFCxg=; b=KA2OLR2rabwpZv4XJgrz6PnxNMeMUlH/PBVD8kPeeI9TZJ19G35zzmf2UZzIAw0fVw mZR8r2lDzTvKce4DW0ZtNo1BpGPLKsBw75NA9CZz1HjKjR8geL5Te456q+jPCqC7Wzjo T+s5vI53+0B2vhOdeshof5QupPIexy/06GpwwMHGOXB5G++/sEG7ltoI9dwJ+0ysVMm7 E7nGvl/1yQdfZ9BgEGPUaOeBI9fSlp7/9pytsY1OZ1TgYo8ZBTcaqm/MDqhUZlj8z6/2 oLTUUhK3Ei54DB796AnP7xfuLNZqqzZucqaMnNlJAVggLe2+O2KL5aTWjf6Euf9KxQt/ 7+XA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119925; x=1769724725; 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=pZixBBXw9pW9Lb2/N+W+Mo89Bf4jJ5ucu9PIzWSFCxg=; b=CebCVxg3XLzSuKOXHE7X0tA9lBkiWz8Wg3zAppg+PlnjzL9vM5jU9xE7JYfMcb4kJj faFW8mE3kCH6bIefBiytQIIIlGs9T2TZIuZKwRROYzG1+GWhNLRqmituohX4T0DWs6FW lmEsY/DsoSVCyent7DL1kiV76V3ruCZbB0feSPS5KjVhdCttMAHqrTGN+AqRzFTr6iqm dPX4/dtYTUzwP1/L49ngwdeZazh4r1iFAmvawwbNiQgfG0IYgkI4AwBXsPcLFegaOKYu 2GcClsOUxtgC2FdgZWULUV6RfBH5ivjSPParvHS8cHnkyhUaSu/i5rbMm0ZU5+PIAish rJpQ== X-Gm-Message-State: AOJu0YzxyciVqzK3UBFm/8hchIUPZFCYWxPwNZh95077Mwp/poPLpGe0 7uPMQWcmilPKzjbmYJeSZDJYfcThQnAkTtO/UFZPBqRccljed5xZ3/19+Hngz3BMaDQ1VUnrrWd dy4N/WEKRoA== X-Gm-Gg: AZuq6aLulHzLyF8o7wXgLA/kNOR8jYNE/b7qvkMPUhBOXLJ4ISFE7ViAqD368QUdBhd yeNN7989yNwpZtjAy4+cNsR2wqrOP/GRWEEUzwVtosemsQJX9GxAGRqpITghJPdK6Ru+U8a8W6v jJi1EjY3Phl5ceMt7pu2eqyYBXHAHqS+ciA2T35EJvP4yA3m/xFwC2mlg36ixb/JqZJQ0afnqe+ LiMx6WqoPqOqeta17T/uwfgR2F2LxQ6zfZPvOOY8r+ZmQQBM1DYcNNJXrSoDJPO4gkeM0Tf7j2j z2K8JC7rMdllUqQbDRGTZXItpSNtGRx/PPOn4yjl/NrChD9PpIUl53gADp/LdoPqmYi1VgO/Mwd uM/uoTMFhBBHteeROwP8R6LjOy8VIr56X8KkK3JOEGY6/X4WtN0ShUr6iiVWJhoHqIuh6o2aPNK bnlx5Jjo59xwNFtUTDIFuIczJ2wVZ8jPgQzENSwOunN20mjOiziR/flJXc0Fxp4+AuISN9BoA= X-Received: by 2002:a05:600c:8717:b0:47e:de23:dd6f with SMTP id 5b1f17b1804b1-4804c954c70mr16942925e9.12.1769119924623; Thu, 22 Jan 2026 14:12:04 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 08/11] target/ppc: Check endianness via env in ppc_disas_set_info() Date: Thu, 22 Jan 2026 23:11:02 +0100 Message-ID: <20260122221106.57184-9-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::344; envelope-from=philmd@linaro.org; helo=mail-wm1-x344.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=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 @linaro.org) X-ZM-MESSAGEID: 1769119971427154100 disas_set_info() shouldn't bother with env->hflags, access env->msr directly. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/cpu_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index 58816c51a74..0808284b722 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -7456,7 +7456,7 @@ static void ppc_disas_set_info(CPUState *cs, disassem= ble_info *info) { CPUPPCState *env =3D cpu_env(cs); =20 - if ((env->hflags >> MSR_LE) & 1) { + if ((env->msr >> MSR_LE) & 1) { info->endian =3D BFD_ENDIAN_LITTLE; } else { info->endian =3D BFD_ENDIAN_BIG; --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769120014; cv=none; d=zohomail.com; s=zohoarc; b=jfdnluofWH52LhxHYD70uICL4pYHMnpSP8xc8c0tmdC2zCJPUc0G2/DYiusaoRFcis73faoyU5Gsp9ocAW6SdS0z7eGkZnGfRgEYrJlp4E2w58+EYYJGl4meVoXmEVpwdH4QZPdaelaK36bwRiN+coyF7bw7owtTaLwrkv5MCXA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120014; 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=VXuSVtUqeSVJiLqCyCxZODoojrbZ2viLxGKE5qbD3lQ=; b=NI636mWEt58gv9MeIEDSXByX6ASeOvGMqp6zsgRAjE6DYW/1rmxSdQ8lbMBt+p+l+7jubsenlbGQzMTMT0sx4pEFyfXQTdpvpb6I+WFO7XTfTwCIpXbH/i+tGAG0bqnwuASBLFBpiG5BxogdsFWqcWXZj+XSb57tF8Shg2ygPOw= 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 1769120014923617.8421509984005; Thu, 22 Jan 2026 14:13:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2ug-0007nL-O6; Thu, 22 Jan 2026 17:12:26 -0500 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 1vj2uV-0007bW-Cg for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:15 -0500 Received: from mail-wr1-x42f.google.com ([2a00:1450:4864:20::42f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2uT-0003Ts-JM for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:15 -0500 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-42fbc305552so1337067f8f.0 for ; Thu, 22 Jan 2026 14:12:13 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435b1c02dd4sm1609429f8f.5.2026.01.22.14.12.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:12:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119932; x=1769724732; 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=VXuSVtUqeSVJiLqCyCxZODoojrbZ2viLxGKE5qbD3lQ=; b=NKeK7COlE4BTyN1erGDwdFRNFrWL1kiqqIWtvdpkxJx9Qhvw76G2NfbJRK/YoceZem SkoU0wgvyig0hySz5fKjkAloiDco1Gylraceg4XobrN8OHt7oJUuDPwH6KFppu1uL3SM 12WGmxO/QkecOYlRnVaW+9zAFAjYTTPJg5E7wt0f+MYmvljli8K2yD+PBmt69BXWN2JX yU/RxcxjvQKHfRNlnwZRn/Yfzn9rChxCan/ehlnTbIVXVhcpZNhqaqitgk4yCFyHjWfl K1xui2xgQrqK2KmfLowELdIyv3QXXl/m3/gZaOqnIKkZK8Q3cmwefR2B9uvVFnUFmTwt sICQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119932; x=1769724732; 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=VXuSVtUqeSVJiLqCyCxZODoojrbZ2viLxGKE5qbD3lQ=; b=fP6lXFrNQ8ohpYVRAk+gHMtKsdhj+HC83beATiH2sAQiF5rWlW8KIL/BC7iQnQ1h2r P9HonG9o2+kuS7cgN1tkUn2FVgX6Rpeyj0Zqd8QweaEEQYtzIIk0uHvmCCtbF94fMrBP rZm8WKA4pTTIUDYgU/sDgyrzgdZWjQHnMbrlbXl1IeZKLZ1F73Ip7lwXoPmEx3rwEjik GUKDFbjHlU+kgll3Nw6py9fgI3chWGZdUya+EwzLoSKGIyYaKom1XK3YygDvqFyJC7Zt PMDQf5c2njPU9MhnBwIyoN1dVWG0Vnx7bYpoj7Dtoe8VmfswyyQPL7aJFeVa6/6GH5wI +oCA== X-Gm-Message-State: AOJu0YwQK1vTFHWBv6WgHl/O6VDd6HspybGRI2ASFc6P+9NdoNcvY33N r6oZqRPmYg8QsIk0L/XPcQBwZIfdIXcwZ/1KYa2zF3mjrNHdl3kS5F6hBnJ0ujdTu+nyqe1raLx 9ZbCrZII= X-Gm-Gg: AZuq6aKzn6uis9jLpjUQw1OOs2YBJvP3mttfFrxtY+KmIOT2Q7dCzaHlZwiQTlpbLIG 9uJNM173Fo8IS2PyDVaDGtQhb0YinoniEg96xshZaJZ0ubq1dwgQanQOlZsMunnKEqqOQZaSlbQ 07UVRQtlklpsG9wHOsmn/DXVOu6o6iMuKp7A+WtjX1rU1x2Jb1zBFrjxQwxXj8TwsEwL5Wknktb HOb6P+YnIlDt9DdtisbCOdEuq5+bXUd8mE+kb+ce+XNJcA2RBPvAcwefi300YcSBf7jfrOfUP2y UHU4PxQW8hoW35EsKhwJ7k16qeM4n/aFwk1U4Rvhekwn0z3JsqGFZUAg5lDTDaYLO0sug829G2R NIiGz09i2KpLgI7sql7+/XsiUw82ln7v8LkMGzIGN8CgF9r9Ux5YDE1WdV2FyRbZuTG/KXHJWxo 6DCQxnABz4Lz6gKa6YsePtfSLBwCIVCJJN7E70E8k5c+yZQEmzE6i5FIaLPB6A48jwE00J52g= X-Received: by 2002:a5d:5d0e:0:b0:431:369:e7b with SMTP id ffacd0b85a97d-435b159cbc2mr1650539f8f.18.1769119931542; Thu, 22 Jan 2026 14:12:11 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 09/11] target/ppc: Introduce ppc_env_is_little_endian() helper Date: Thu, 22 Jan 2026 23:11:03 +0100 Message-ID: <20260122221106.57184-10-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::42f; envelope-from=philmd@linaro.org; helo=mail-wr1-x42f.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: 1769120017764154100 Centralize endianness check on MSR via a common helper. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/internal.h | 5 +++++ target/ppc/cpu_init.c | 9 +++------ target/ppc/gdbstub.c | 2 +- target/ppc/mem_helper.c | 8 ++++---- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/target/ppc/internal.h b/target/ppc/internal.h index 09333bed342..714629079b5 100644 --- a/target/ppc/internal.h +++ b/target/ppc/internal.h @@ -24,6 +24,11 @@ #include "exec/page-protection.h" #include "accel/tcg/tb-cpu-state.h" =20 +static inline bool ppc_env_is_little_endian(const CPUPPCState *env) +{ + return FIELD_EX64(env->msr, MSR, LE); +} + static inline MemOp mo_endian_env(const CPUPPCState *env) { return MO_TE; diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index 0808284b722..c5cec7c2ed9 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -7364,7 +7364,7 @@ static bool ppc_cpu_is_big_endian(CPUState *cs) { cpu_synchronize_state(cs); =20 - return !FIELD_EX64(cpu_env(cs)->msr, MSR, LE); + return !ppc_env_is_little_endian(cpu_env(cs)); } =20 static bool ppc_get_irq_stats(InterruptStatsProvider *obj, @@ -7456,11 +7456,8 @@ static void ppc_disas_set_info(CPUState *cs, disasse= mble_info *info) { CPUPPCState *env =3D cpu_env(cs); =20 - if ((env->msr >> MSR_LE) & 1) { - info->endian =3D BFD_ENDIAN_LITTLE; - } else { - info->endian =3D BFD_ENDIAN_BIG; - } + info->endian =3D ppc_env_is_little_endian(env) ? BFD_ENDIAN_LITTLE + : BFD_ENDIAN_BIG; info->mach =3D env->bfd_mach; if (!env->bfd_mach) { #ifdef TARGET_PPC64 diff --git a/target/ppc/gdbstub.c b/target/ppc/gdbstub.c index 3b28d4e21c7..b19c0f1ea9c 100644 --- a/target/ppc/gdbstub.c +++ b/target/ppc/gdbstub.c @@ -84,7 +84,7 @@ static int ppc_gdb_register_len(int n) void ppc_maybe_bswap_register(CPUPPCState *env, uint8_t *mem_buf, int len) { #ifndef CONFIG_USER_ONLY - if (!FIELD_EX64(env->msr, MSR, LE)) { + if (!ppc_env_is_little_endian(env)) { /* do nothing */ } else if (len =3D=3D 4) { bswap32s((uint32_t *)mem_buf); diff --git a/target/ppc/mem_helper.c b/target/ppc/mem_helper.c index 89718441310..31057c6440a 100644 --- a/target/ppc/mem_helper.c +++ b/target/ppc/mem_helper.c @@ -420,7 +420,7 @@ target_ulong helper_lscbx(CPUPPCState *env, target_ulon= g addr, uint32_t reg, int adjust =3D HI_IDX * (n_elems - 1); \ int sh =3D sizeof(r->element[0]) >> 1; \ int index =3D (addr & 0xf) >> sh; \ - bool byteswap =3D FIELD_EX64(env->msr, MSR, LE); \ + bool byteswap =3D ppc_env_is_little_endian(env); \ \ if (byteswap) { \ index =3D n_elems - index - 1; \ @@ -446,7 +446,7 @@ LVE(LVEWX, cpu_ldl_be_data_ra, bswap32, u32) int adjust =3D HI_IDX * (n_elems - 1); \ int sh =3D sizeof(r->element[0]) >> 1; \ int index =3D (addr & 0xf) >> sh; \ - bool byteswap =3D FIELD_EX64(env->msr, MSR, LE); \ + bool byteswap =3D ppc_env_is_little_endian(env); \ \ if (byteswap) { \ index =3D n_elems - index - 1; \ @@ -479,7 +479,7 @@ void helper_##name(CPUPPCState *env, target_ulong addr,= \ t.s128 =3D int128_zero(); \ if (nb) { \ nb =3D (nb >=3D 16) ? 16 : nb; = \ - if (FIELD_EX64(env->msr, MSR, LE) && !lj) { \ + if (ppc_env_is_little_endian(env) && !lj) { \ for (i =3D 16; i > 16 - nb; i--) { \ t.VsrB(i - 1) =3D cpu_ldub_data_ra(env, addr, GETPC()); \ addr =3D addr_add(env, addr, 1); \ @@ -510,7 +510,7 @@ void helper_##name(CPUPPCState *env, target_ulong addr,= \ } \ \ nb =3D (nb >=3D 16) ? 16 : nb; \ - if (FIELD_EX64(env->msr, MSR, LE) && !lj) { \ + if (ppc_env_is_little_endian(env) && !lj) { \ for (i =3D 16; i > 16 - nb; i--) { \ cpu_stb_data_ra(env, addr, xt->VsrB(i - 1), GETPC()); \ addr =3D addr_add(env, addr, 1); \ --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769120006; cv=none; d=zohomail.com; s=zohoarc; b=klVu8CgIZp9E2xVUbtBRxKOt/ZaYq0EXDF5q0bZUs9YH5dM/iUey+lPIjTaEZHFywQS8DR7X3WEx0Z32S+yb6loaLfcwcGUn+D4pOWjKdIIyrNjXMcDw3HZKhOSAg+IPmJXF3MTWhi/POe3FwRQSfgtYURpjMG4jvIXzpTcPHZ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120006; 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=/ODkndRwX/R09xiWds3ROCMF/P61RrewKW7dQu09WfU=; b=dQ5Yg6O+JK4cv1+Yof52oDtzEPvUZT25S0v42AwG/MhIxZtcYxG8k9hj5xeeeemZgwK9ksE54x9v+U5wO6npCqomro+e4qcFmvFOUsDdhNDLO0WEt3tiKrpbwd+1lxGrgq491bn9Iewu2YQe/qZt6PiGrk9i15+D26f47bpUt9w= 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 1769120005932324.73739134161383; Thu, 22 Jan 2026 14:13:25 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2up-000880-4y; Thu, 22 Jan 2026 17:12:35 -0500 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 1vj2ud-0007nj-6m for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:24 -0500 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1vj2ua-0003UN-7f for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:21 -0500 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-4358fb60802so918414f8f.1 for ; Thu, 22 Jan 2026 14:12:19 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435b1c02c91sm1728579f8f.9.2026.01.22.14.12.17 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:12:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119938; x=1769724738; 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=/ODkndRwX/R09xiWds3ROCMF/P61RrewKW7dQu09WfU=; b=YDVboT70inQmhQLADYrA6gjYupaCB9rAcdTrvpiVVeUKvmR3F31H2NjH8MsbHGbusC hvWQKxBj3kDztRN3aUHeatpf2w8dOQnIqUwxgJmeCzuuFTOPGXuwKOMTqqMrDZKcw+u7 YSvBwJDtqCLwqCaLRa6BYIJwDARMWwK1KxFYmEinm5MgkGSxX27Pa6VS8O0NM3eVMnkE yFTPUzf8tqEeTGNFcWt2Ep1ZsrmdESD9Rjuw7CZ+/8az5lIbdvOeHwpEWe38goG42Cqj g+vGBTcojyztJpfjinE34O7bF+CvCs0bsmwlu3O/LjkgP2iL34FNyw/6XHUij5i+405b N17A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119938; x=1769724738; 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=/ODkndRwX/R09xiWds3ROCMF/P61RrewKW7dQu09WfU=; b=PLFHbr013bwoM+CO1iC0uMQ/7BPRCGVW7TcH4ixDrec3P11K2zgByzJdyQq/rvUwn0 u8JqdQmOJLMJye+qFSTdvB+GKUrvb38hJTep90/NLvIvFC31GaYToY/qLDWg3cmB5WDN fVpPJiiUtHQYcdl3N+mhyrdMViZvnJAMRXKdUckb8Id63jeRdn8bALgUrZD73F9Dl6Jg b//P7LMhXE/nKgA0wGQLXNGYYAK/+TbJnrn6/vtmZ7Vm2zuKuekP5Fd7A5670uZm5hyP wXkNtNEEcpsDfD/woPsZx8642BmfDa1DFbWJJuVGdJpM4XuOxswpcKsPePAqbQY2FN+M /jrg== X-Gm-Message-State: AOJu0YwItpLDxTtKLBX/nvZOIGn/LoMm0T6UTtZCRwB3vxIeNy8OgeZ8 HqvoFMwOH8/gFwv+sqKlQcNQSug6DAKY+lBvACOxRzv0ijzvMXiEiWvgMnoozZ/OfivGQGYOYeG kmLanxlc= X-Gm-Gg: AZuq6aKSCFb3s6lXv3CMrxjLPfF6OqlG2oXC+InD00sJFcU1NVUXwOXXXNE482apAAX 70iAn4T+JyS+rXxfmhSbPoUfPLOHp8YJ81UBsD9SI9wfrGIc5RWDBlFP2My+13VInGy860hvwWe lF4ZDnhhBbEvc0tk5NVIFJBiZ9k+r/AatRtHkTGZlKtVrmcVKqE9XE82s7UTx7EHB+kYyg4Oc7d oySQbNRjii1kcgTvlwmN5JNPNm8oDu9mVdZBFsm6g9ROXB4w9xia0LcMlh88hjbDDn+euIOOmb+ 9sfRRx3Q8u1Syr3UzPmjiOQkjM8IXiXKW/Z8l5EKzdzOtODr5nccQ75dq+SVzYt59cnY59zJ0W+ ZillmTZ1uPVtIZM1ct5hCPuj5RtrPcwEloFreO7kSyw/xuM6trYk6usIB6GFGTQXJ61mObyU7a1 Pfk0Yb0g1UAyl5JxNtIXQ+Mg2P1w5ldbRQG2YN2SGNfSKG8KNklEDsLO2SVYWA X-Received: by 2002:a05:6000:2584:b0:42f:b555:5274 with SMTP id ffacd0b85a97d-435a5fe4995mr7244506f8f.20.1769119938328; Thu, 22 Jan 2026 14:12:18 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 10/11] target/ppc: Check endianness at runtime in mo_endian_env() Date: Thu, 22 Jan 2026 23:11:04 +0100 Message-ID: <20260122221106.57184-11-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=2a00:1450:4864:20::434; envelope-from=philmd@linaro.org; helo=mail-wr1-x434.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=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 @linaro.org) X-ZM-MESSAGEID: 1769120007644154100 Rather a runtime endianness check via env MSR over a build-time one. Now CPU can change endianness at runtime. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/internal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/ppc/internal.h b/target/ppc/internal.h index 714629079b5..7dfca0b41a3 100644 --- a/target/ppc/internal.h +++ b/target/ppc/internal.h @@ -31,7 +31,7 @@ static inline bool ppc_env_is_little_endian(const CPUPPCS= tate *env) =20 static inline MemOp mo_endian_env(const CPUPPCState *env) { - return MO_TE; + return ppc_env_is_little_endian(env) ? MO_LE : MO_BE; } =20 /* PM instructions */ --=20 2.52.0 From nobody Sun Jan 25 10:15:21 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=1769120008; cv=none; d=zohomail.com; s=zohoarc; b=H9v5EWxLzc+BNFoVIDGKwkXKsBI8D3A3BG0JRJlbOCO0FKOf0AXRoTGX6MDOtQrNvtDzDgYVMdyEfxf3kW8IPZC6EFCU7vucjh1kETfO/sJHO5G+M7jpRLqzUeoZyQ0bhX557qJikJRdbN3/FoK1rk4s+dNWjwm0a6kXk2Y7Hms= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1769120008; 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=dsgN08xwFykkgI55V8CeZLzuXOe+HEtSRM2XAs4O99o=; b=TIwY1Nk/PMLVfYYO4T0gBIqZ3TgVx6rr8nyqYrNZLrSFjBpAFIjlk4Vin1C9qHkL4166CpelYbXL9AsQOsL3PiRhZY9FP3h7Vd7ott8t1o09/XU12/ze7KCT5+nVj6Yy8uXukj996asODXKwGcTcf5HxvKqf/bkMkWS3a0SwLCY= 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 1769120008897344.1787574007782; Thu, 22 Jan 2026 14:13:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vj2uq-0008HL-Lg; Thu, 22 Jan 2026 17:12:36 -0500 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 1vj2uk-0007v3-JO for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:30 -0500 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 1vj2ug-0003WK-Tl for qemu-devel@nongnu.org; Thu, 22 Jan 2026 17:12:29 -0500 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-4359249bbacso1706655f8f.0 for ; Thu, 22 Jan 2026 14:12:26 -0800 (PST) Received: from localhost.localdomain (88-187-86-199.subs.proxad.net. [88.187.86.199]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435b1f7b41asm1663647f8f.39.2026.01.22.14.12.24 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 22 Jan 2026 14:12:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1769119945; x=1769724745; 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=dsgN08xwFykkgI55V8CeZLzuXOe+HEtSRM2XAs4O99o=; b=fXqzzD/4xPf8dS+eAjLRrbSjd8wRgDEypCAAY3WyAHJuY3ifXzBUtc+zbZ0wLN0QQY dN/D5oLUsB7cw7QtWT8BkZPs87Yjiqa86/rkIwpXUCXT7e6xCYzu9WVjbpEJKEds0xtt 48mWQplD3zSpQxkzz9gXsCsgIp12TT6P/XB6oG8JSOIYieySUccF1xf7O5l59Gkc3mvo Mlc8+K4c7dyuPqSbRBatVpr896xnaO/cs+e+CFinD4+Q1/phWl+nDztc8Au7sQ6QVrHo 2po+EsGdF6GQUfv8Xw+Jed39x3Fx5J66sJlbDrNpe22a7Kf7W0xKBuZzpLhdgLosJxiN 0D+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769119945; x=1769724745; 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=dsgN08xwFykkgI55V8CeZLzuXOe+HEtSRM2XAs4O99o=; b=XcI41q7Xfgy6I6LCmhia+dJHUGag6W+WzoClG25A3g570/pHIwMxAsFAMg3eNCaH23 G8Iytr2abiXepipItL9+YiG6b/eNX9QgAZgecjuUPUn9ybfhZeRN32jGdoElLdheQrNk WEre9ks8ye4ZIO4wp/TIYMS0tV4b/SkFdKtY6uOrhIN5rdhSTzqGZAXa3ZckytnhBIFO m8mN6ztM8WmEDn5LFMTftpEELVyoSe3/MHSPT2kwdzBohtDtCsntAa/eI3buq36JqKZL FsqCebPYOAbU0m1pvylZdbbivlEmcUaGluv8xx9xKJ1TxlcDvrux4Qci1yMYLM9tGDog H1JA== X-Gm-Message-State: AOJu0YzPSz3OlvPnsKI16353UVhA09G/9kcHzUDPV2cH5u2sQknDIBIs mGdaDTHLmyE2rJjnbt3R6NZHSVVZft16rKOWLp44NV71du63ioiIp2alq2orfUu/RF9P9r6YZxh RL6EpZok= X-Gm-Gg: AZuq6aJ91t8+ZWVV42qMmYUyQ05ph+rzEtFlx1U1ro8lY0mOjyvmb6vxXvWIEIhcCsu RnhwuTP0SBKPfRzGByxTNI2hKOoJCg4F6dtHFkL2bv4w01ypJyZIF2nhXhtktGg8vni4+P93oGW 3m8ck9ge+Fw7IOazOF+VIKFBaV89hpZQIuNUR2HqAkkj+1rpJN8g3/X90ZJmIAlxZDJd2PedzJH zio+0l9MOO8Gqy66cnrUnxhXAHdC8M0GPPsN/6QfP6NIjtM8jV7ZOXwtOhqJXV03aG8wXtuU9c9 17/ptDXHQ5e4wZpmF8TU7WTV2LbnaqVDwPPzCf2aAc/p0Jgm5hBKwEvJ2YB9yVRyjXGldrJlYDv tjhv7mf5lOQrfXGBsNv/QYWwqOX6RMbV3xxZe62jAWuN0vZ1GgDaeWE4w4EWXRGDowVlJLM6chC wzUWB3ZnYC9ftucYQe1ArsjeUsvUue12DyKhu+ne5tINE9QxXpi7UqtzDq1/bV X-Received: by 2002:a05:6000:4382:b0:431:771:a50c with SMTP id ffacd0b85a97d-435a5f5cd09mr7190474f8f.1.1769119945167; Thu, 22 Jan 2026 14:12:25 -0800 (PST) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Pierrick Bouvier , Chinmay Rath , Nicholas Piggin , Anton Johansson , Richard Henderson , qemu-ppc@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v5 11/11] target/ppc: Inline cpu_ldl_code() call in ppc_ldl_code() Date: Thu, 22 Jan 2026 23:11:05 +0100 Message-ID: <20260122221106.57184-12-philmd@linaro.org> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260122221106.57184-1-philmd@linaro.org> References: <20260122221106.57184-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=lists.gnu.org; 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=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: 1769120011740158500 In preparation of removing the cpu_ldl_code wrapper, inline it. Get the runtime endianness with mo_endian_env(), passing it to cpu_ldl_code_mmu(). No need to swap versus qemu-system binary anymore. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- target/ppc/tcg-excp_helper.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c index 77d21523a5b..955afc40a83 100644 --- a/target/ppc/tcg-excp_helper.c +++ b/target/ppc/tcg-excp_helper.c @@ -428,22 +428,13 @@ G_NORETURN void powerpc_checkstop(CPUPPCState *env, c= onst char *reason) cpu_loop_exit_noexc(cs); } =20 -/* Return true iff byteswap is needed to load instruction */ -static inline bool insn_need_byteswap(CPUArchState *env) -{ - /* SYSTEM builds TARGET_BIG_ENDIAN. Need to swap when MSR[LE] is set */ - return !!(env->msr & ((target_ulong)1 << MSR_LE)); -} - uint32_t ppc_ldl_code(CPUArchState *env, target_ulong addr) { - uint32_t insn =3D cpu_ldl_code(env, addr); + CPUState *cs =3D env_cpu(env); + MemOp op_end =3D mo_endian_env(env); + MemOpIdx oi =3D make_memop_idx(MO_UL | op_end, cpu_mmu_index(cs, true)= ); =20 - if (insn_need_byteswap(env)) { - insn =3D bswap32(insn); - } - - return insn; + return cpu_ldl_code_mmu(env, addr, oi, 0); } =20 #if defined(TARGET_PPC64) --=20 2.52.0