From patchwork Sun May 25 16:02:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892462 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp840033wrz; Sun, 25 May 2025 09:03:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWzu8YpZWZNRrr2DS+XImq0Uxk1xKKMtBjG94iOWPgGzSRlpYq7RTxosPm4VQw7J94tOZgNew==@linaro.org X-Google-Smtp-Source: AGHT+IGZLTR9LNLI1AapePSjZsaCRUdkkG/pyAGnGEXJhHJLOMWNnHOJzOA4r6xgieQ7dbjrPL05 X-Received: by 2002:a05:6602:721b:b0:864:740a:e81f with SMTP id ca18e2360f4ac-86cbb89ca1amr689317939f.11.1748189027072; Sun, 25 May 2025 09:03:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189027; cv=none; d=google.com; s=arc-20240605; b=DrFiC8fzrNC3I5Uk/HH/ywbaS9v3u3jC7DfxXw6Pa0qAaDZZ/Y/dB6Yp/TpL6M7Y0b BAqqftGfbBkv8A3Gl0xrrstIRHjhL+bkhVRX/ZBWLTSUqzt9uO4X+Dc4VPRWqUsyt4VY 5oRFFofKJSWgvkvm+F21zVVKOG/8xfPnXzLJcfnWnvHp5yGNhlDNLcLT74t/jNUVFM39 TcXlObEp0AN+/agw0URUgHEKxtMqGwUUoCcAY9I1TIBoSUE6xXdg087i7tn6jnR3gjl9 oTmjxo3fNc/eg1FVRVzzWghQ4TsaHq3ta2fg1o//BwK/a6TvH2KOuZiWLimIXya/mZFr Tkaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=MAhHFjlenR/Sqt29jyVYJUHEixh44cdrPOm049Pm2o4=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=NipKrFFS6VaHLQUaVvPCfvKpzN1p15RVy+Y+9iNg6pRj9ZMAAqRybMFngYesWWlUzg FLS02ZhMq9M+tJddyWhnyP4M15rNfQNIjWxOkZWDe0Ssz2OuLVSiwUXLN7hgoMs1qZHS nAr70hyW0N5qWgDOOIpM7v5GJdqqXluHdprQS0o+TgsfqPffcaim5rjQtW6itCIo7//b ffgqXpBLw2tdTCAlMDvrHi6IM8B4740CBzJYp6S1zhEY0zVryqDdtXhho4Vn5v+z4/kO 6b3oEtCWCZIUZOgP+0bdNRlvUAcaDLCHMvxM4I6xePHvvSOFKHAnnknPT0pbgK1LNapE a+ow==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TDmZ2zLx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 8926c6da1cb9f-4fbcc38dcd4si3410763173.33.2025.05.25.09.03.46 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:47 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TDmZ2zLx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoZ-0002GF-1B; Sun, 25 May 2025 12:03:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo1-0001ke-1k for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:34 -0400 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 1uJDnx-00035n-4i for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:32 -0400 Received: by mail-wr1-x42f.google.com with SMTP id ffacd0b85a97d-3a4c9df6f92so1358635f8f.0 for ; Sun, 25 May 2025 09:02:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188946; x=1748793746; 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=MAhHFjlenR/Sqt29jyVYJUHEixh44cdrPOm049Pm2o4=; b=TDmZ2zLxNNwdzemSCR4cebTAn9HY/Ys1Fn+I1poH2sMxQVyk3qd0FKvU8xJXLUDI6a 9dCiLJKFiP1NAw96rUVcEr/WvxSbry1FIOUL2XisdYsyC9SXbfVEynl+QvH2aBlwCXeF /u3jAbhdw8PFpYohxNq0Mq+fowpiAxA/3hT33fATHtcelpZ0UGP/AqR1fnDTv3rwbKVl 2OVsNcNWvuSch8BwRZm42EUoIKvx6FQjOwJrAyjz11bhpGUTlhL5F7MhghaEB+Eu+fPs T1ncokgXvbvDxKyIBMWZ4MkMal0uQs5pNIP1ymGCmOnmVtpXShttHIKygPCQfOWVQgkp hcDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188946; x=1748793746; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MAhHFjlenR/Sqt29jyVYJUHEixh44cdrPOm049Pm2o4=; b=Idp5b172Sjivv41+tSs1FydwVrZ/HMv0twVMTXkWA+0HqpYXsWrugXyQUCzt3JGuNi 3qC4NSa+FcHcjhDO3TJoF/1igZFdpmHbw0IlOK5QFoN257wjn7mr6WfZpC3fEj0NvbNA ph9DaF1J+wpsz6c2pjUA2ngNloIStDUNi2+oCwuzq31qh7fZKNW/8BMdNhUyzKjonOtU bnvYE8J7Uk0fbhyifgmnLtzLtIGPSKyw9/76SHKEoabLYePwI1DNpYDzDsc7uk6ANHvn 8SsXdX07GA0q1QZD+CXfYy2kNRUQbOiLpXuYAaVTSa/k/FBQQNhxjnkXipgNLT8606PA u9cA== X-Gm-Message-State: AOJu0YyggY2M5AzS8tOjFgIrmkBbWpKjyary1UrU1yMEEv/0IGVZrcpM inmMhRobsls4uuwQrTHJo5MC6yoTOI4SZf68mv4y/rMyCQJxwsn6Ch+n/Ii7UiqnuuOFvDZALkx KGPJLyRc= X-Gm-Gg: ASbGncswMLqg+HpuiOdmFnyr37IutB8Z0M5cU90tgCtanL8w8qXcTxH2/ePj6L0qkRl GeQjLg6bXNxyMVWRbet8H1tRLDBdtXQXQFEkdwOkVr6Mb+gx4Aob0BXW12aS3IOk06M8J0svwUs 15fYyrkUGho8uk+bqi839VhyoVHOzAaLOkzdrQ9ypPT1cI8gYU2PxUfXyMkI99Y6hMYtgqS7rxJ nfw0JBrsA+x8KHjEn67ZmYzdvAOs4HHDPRbehZZnsqQd0w7SPo2He1x6OoNyqLQxynYjIb7erMN lSbsDrAx0xlnUC63lSACuyq/Odz2fUw4VhEgI2iUucGDp+aOVlI9239p X-Received: by 2002:a05:6000:4203:b0:3a3:6595:9209 with SMTP id ffacd0b85a97d-3a4cb4899e8mr4490805f8f.36.1748188946310; Sun, 25 May 2025 09:02:26 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:25 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 01/10] target/microblaze: Split out mb_unaligned_access_internal Date: Sun, 25 May 2025 17:02:11 +0100 Message-ID: <20250525160220.222154-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42f; envelope-from=richard.henderson@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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Use an explicit 64-bit type for the address to store in EAR. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/helper.c | 64 +++++++++++++++++++++----------------- 1 file changed, 36 insertions(+), 28 deletions(-) diff --git a/target/microblaze/helper.c b/target/microblaze/helper.c index 9203192483..5fe81e4b16 100644 --- a/target/microblaze/helper.c +++ b/target/microblaze/helper.c @@ -27,6 +27,42 @@ #include "qemu/host-utils.h" #include "exec/log.h" + +G_NORETURN +static void mb_unaligned_access_internal(CPUState *cs, uint64_t addr, + uintptr_t retaddr) +{ + CPUMBState *env = cpu_env(cs); + uint32_t esr, iflags; + + /* Recover the pc and iflags from the corresponding insn_start. */ + cpu_restore_state(cs, retaddr); + iflags = env->iflags; + + qemu_log_mask(CPU_LOG_INT, + "Unaligned access addr=0x%" PRIx64 " pc=%x iflags=%x\n", + addr, env->pc, iflags); + + esr = ESR_EC_UNALIGNED_DATA; + if (likely(iflags & ESR_ESS_FLAG)) { + esr |= iflags & ESR_ESS_MASK; + } else { + qemu_log_mask(LOG_UNIMP, "Unaligned access without ESR_ESS_FLAG\n"); + } + + env->ear = addr; + env->esr = esr; + cs->exception_index = EXCP_HW_EXCP; + cpu_loop_exit(cs); +} + +void mb_cpu_do_unaligned_access(CPUState *cs, vaddr addr, + MMUAccessType access_type, + int mmu_idx, uintptr_t retaddr) +{ + mb_unaligned_access_internal(cs, addr, retaddr); +} + #ifndef CONFIG_USER_ONLY static bool mb_cpu_access_is_secure(MicroBlazeCPU *cpu, MMUAccessType access_type) @@ -269,31 +305,3 @@ bool mb_cpu_exec_interrupt(CPUState *cs, int interrupt_request) } #endif /* !CONFIG_USER_ONLY */ - -void mb_cpu_do_unaligned_access(CPUState *cs, vaddr addr, - MMUAccessType access_type, - int mmu_idx, uintptr_t retaddr) -{ - MicroBlazeCPU *cpu = MICROBLAZE_CPU(cs); - uint32_t esr, iflags; - - /* Recover the pc and iflags from the corresponding insn_start. */ - cpu_restore_state(cs, retaddr); - iflags = cpu->env.iflags; - - qemu_log_mask(CPU_LOG_INT, - "Unaligned access addr=" TARGET_FMT_lx " pc=%x iflags=%x\n", - (target_ulong)addr, cpu->env.pc, iflags); - - esr = ESR_EC_UNALIGNED_DATA; - if (likely(iflags & ESR_ESS_FLAG)) { - esr |= iflags & ESR_ESS_MASK; - } else { - qemu_log_mask(LOG_UNIMP, "Unaligned access without ESR_ESS_FLAG\n"); - } - - cpu->env.ear = addr; - cpu->env.esr = esr; - cs->exception_index = EXCP_HW_EXCP; - cpu_loop_exit(cs); -} From patchwork Sun May 25 16:02:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892461 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp839902wrz; Sun, 25 May 2025 09:03:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXM5hXUaQUyuwWOIdMPVXD/QBO/8TjDGH7Hul9fKpY0Dk6AhNm6mZN+wq4ntXTn1FFMD3wpjQ==@linaro.org X-Google-Smtp-Source: AGHT+IGZKPlItxeuwqrfbOnmQSeBhH7rrrdXSUV95mNVKQkv7weXcylkC3tEwnIY6nXSSmVfZfja X-Received: by 2002:a05:6e02:2701:b0:3d9:6485:39f0 with SMTP id e9e14a558f8ab-3dc9b6a9e4emr50671625ab.9.1748189010687; Sun, 25 May 2025 09:03:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189010; cv=none; d=google.com; s=arc-20240605; b=Plw+7rLNM0Eq4pAUDX0prPFNNCZEY4Wogdr9G7ixRD4eJkJ2y/2k+AZfS5qxQPPLxa M4PMdiyEbWKO/Gmo6y4n41h1l25gJGxJtPGru31zFSbYO0phAojyuBIRW6f7paTdXBgn udheMANFRVMS0tdfUKKalLYuI/f8r1bDaDy8qi7D9w5dSie126vmlioD/nvBloijnMmx ZzMxPcs/PJSpRBH1WLINkexva9d9YQ0ZtC7wKeO/OJG73h00musJ+EET92dOB2sATooH E/2fs7/2L+1QsDXz3pz+Atgvtcup+ln6UOkXpPHKO7kuvLSUREKULWZgZ29eCwCDRYs0 TPtA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=F/r6BR4u92dVav+xdpPWvNWTLbsmjFwEOJ+5r16ZoMU=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=eG70milxkGUA9rj4wjrI/E5M8nnbU1oGgyl7SXlQG8Nw+4ebGWajdG3VlWkm6cAQ+K O5dhsM4bfn9out/7GI8HX1DOeQV4P2+5oeVslsm4Pc/8kd2Xk7fqTBEQC6RD1gzW6Zah DKIGPVzI39VvWW+deAHaUC4l42MOwTxZyJBLlCwvhebBdPAJjqNbdmnUYhJCJC1SDLSH MOLZo0L1ugQLSXMXRgizvYNtoxLmCLYkElpjluPCWyb9LYgT/s8JaM6AgWS5eN0LEq/J MM1noFO4WTxXD9heKAYqvGSWwHDpk26dDPijQdgjZ4pCEiFH6X5Pk4FZE4YHgyLBJjsn roFA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=K17YbPMk; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 8926c6da1cb9f-4fbcc3bd7b3si17531856173.55.2025.05.25.09.03.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:30 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=K17YbPMk; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoK-000206-Iy; Sun, 25 May 2025 12:02:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo1-0001kk-Sg for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:39 -0400 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 1uJDny-00035s-TK for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:33 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a361b8a664so1630344f8f.3 for ; Sun, 25 May 2025 09:02:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188948; x=1748793748; 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/r6BR4u92dVav+xdpPWvNWTLbsmjFwEOJ+5r16ZoMU=; b=K17YbPMk2MaZXiNQoNNGkixnnSZBKjja0JCMN882gxH4M2mALW6jFeI+JyUIUw22So qfvbOTItU+QQHn/vKRGXr5KqdME8u8mVyk8xIDiKf6BvcNV5M03X35U2ox1K7UciGB7p YxV3GByeveXKqIQmealgnTGma4gGyHehENnfVfMDq8bSRbP8/ey57faVZzF3p41ADea3 pvLoJUn1QfCq4JYxdQPbDr4iq+TQmx+smZZSa1gFU4jteANghN6xxxUPdXKjyRE/Nl4v g8jSYJo6/h2m7tJR0nNBhwUnVZ+fj1mpesvf5ipRYrWk0gYtwDvfgURM9WKVNKDOlakc Cauw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188948; x=1748793748; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=F/r6BR4u92dVav+xdpPWvNWTLbsmjFwEOJ+5r16ZoMU=; b=itKhvSly1eJsnid/wtblNsUFa9aCW0fKVHZ6/8XzeMof0BsByQUZIyK4+BoNboZQpd mVFdQ/alBJEBiPv0snkyNRcMKkYkDIaXjx2a7PqJOPqIyWl3gDlnyCDgRTrmqdC+YG80 wlxiFYfU3Vc3jLBTcezmq4txqkIdJR0+7KixqwUNyLfL7LMLB3sPjNnwxNXKYY9EE5wG V+5nd5Ay3pf2Vg2PtbXrut4/TOSA9QveQ52RRZJ0gaVmBkTlMd0SaYpXGiuUru7dr4E3 JnBNLJSa8HUfxAO3/J4NR6hv8yclwf+73rbOb94OJcYyZXg2tcQ+OQJW8SOYtJFrR3Il pEWA== X-Gm-Message-State: AOJu0YyI/uCsZRCw5if8tyHY0GWq42//h2Gu09tELJcnKPD1EygVUIFs M60ZoXQ+FLXilyxySjFxCkXvThkb8kXQ3FTYPhNVZDc+eDxsjkts4ngeaTYPn+s04DiaHGDZaks zTF7HMIk= X-Gm-Gg: ASbGncuus3Fb+lzVAhLH0d7ooSDODmIM5SXsZlAIlX2PhQ0m1XrCmc/9gnSuP22gYqR wvAq+GaS1LjZSi00cWF4nz0STX5PqW2oF6NIKUtjbZ3WH2K+Tag2BLSVeb7IhtYfmJCcx4A+iKt qLp2t9VUY7/dH5IhZS/dYAt34jsiRoVAHYiyBYM4J+yscaQp2nT1EcjF+GSMMDzdBAx+4ivTHHj Ga5uM5OmuosPjuO4x9iQKgBXe0hcuQ72vTGrfX9S+AAxdZtw8jf4iRlnDW7oC8u0+/1N/W6/iI0 hRXDc/OzHlTk5gYNX5htcl/VW9D+2epo8tTAonECA40x5JsaEU6zDj9g X-Received: by 2002:a05:6000:1a8c:b0:3a3:7bbc:d958 with SMTP id ffacd0b85a97d-3a4cb4299camr5166684f8f.1.1748188947709; Sun, 25 May 2025 09:02:27 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 02/10] target/microblaze: Introduce helper_unaligned_access Date: Sun, 25 May 2025 17:02:12 +0100 Message-ID: <20250525160220.222154-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42e; envelope-from=richard.henderson@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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/helper.h | 12 ++++++------ target/microblaze/helper.c | 7 +++++++ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/target/microblaze/helper.h b/target/microblaze/helper.h index f740835fcb..41f56a5601 100644 --- a/target/microblaze/helper.h +++ b/target/microblaze/helper.h @@ -20,12 +20,12 @@ DEF_HELPER_FLAGS_3(fcmp_ne, TCG_CALL_NO_WG, i32, env, i32, i32) DEF_HELPER_FLAGS_3(fcmp_ge, TCG_CALL_NO_WG, i32, env, i32, i32) DEF_HELPER_FLAGS_2(pcmpbf, TCG_CALL_NO_RWG_SE, i32, i32, i32) -#if !defined(CONFIG_USER_ONLY) -DEF_HELPER_FLAGS_3(mmu_read, TCG_CALL_NO_RWG, i32, env, i32, i32) -DEF_HELPER_FLAGS_4(mmu_write, TCG_CALL_NO_RWG, void, env, i32, i32, i32) -#endif - DEF_HELPER_FLAGS_2(stackprot, TCG_CALL_NO_WG, void, env, tl) - DEF_HELPER_FLAGS_2(get, TCG_CALL_NO_RWG, i32, i32, i32) DEF_HELPER_FLAGS_3(put, TCG_CALL_NO_RWG, void, i32, i32, i32) + +#ifndef CONFIG_USER_ONLY +DEF_HELPER_FLAGS_3(mmu_read, TCG_CALL_NO_RWG, i32, env, i32, i32) +DEF_HELPER_FLAGS_4(mmu_write, TCG_CALL_NO_RWG, void, env, i32, i32, i32) +DEF_HELPER_FLAGS_2(unaligned_access, TCG_CALL_NO_WG, noreturn, env, i64) +#endif diff --git a/target/microblaze/helper.c b/target/microblaze/helper.c index 5fe81e4b16..ef0e2f973f 100644 --- a/target/microblaze/helper.c +++ b/target/microblaze/helper.c @@ -26,6 +26,7 @@ #include "exec/target_page.h" #include "qemu/host-utils.h" #include "exec/log.h" +#include "exec/helper-proto.h" G_NORETURN @@ -64,6 +65,12 @@ void mb_cpu_do_unaligned_access(CPUState *cs, vaddr addr, } #ifndef CONFIG_USER_ONLY + +void HELPER(unaligned_access)(CPUMBState *env, uint64_t addr) +{ + mb_unaligned_access_internal(env_cpu(env), addr, GETPC()); +} + static bool mb_cpu_access_is_secure(MicroBlazeCPU *cpu, MMUAccessType access_type) { From patchwork Sun May 25 16:02:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892460 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp839895wrz; Sun, 25 May 2025 09:03:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVmcOTtAgLepPmAZykpHD1BetIoBTMi4L77K+fTPDq4xGKn05Nbx854/BlR8leyTC3NS44iqQ==@linaro.org X-Google-Smtp-Source: AGHT+IGO+dYd/ARbtyuDuMmUuVj3dzfnnA52kFkXBmMuGHAQgwyalPbE3iei0+zXnwtznARGabrn X-Received: by 2002:a05:6e02:3c04:b0:3dc:76c6:4391 with SMTP id e9e14a558f8ab-3dc9b71b666mr48002335ab.20.1748189009803; Sun, 25 May 2025 09:03:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189009; cv=none; d=google.com; s=arc-20240605; b=iRQ+6bdwJd3P/e68gD9LoFFWof80e0J60xxQiEcmNN/PkfpMtvE7KlAHh2k7f4xnqW gtlZxPPRVYAXRSJcsDXUX+zB0ZMdp1yxtWb3aqgCSQPNkxVcDQtoCVmS5on4eR0/HY/4 aFq9YlTr5L7VoAVIFd1qnyRcN7fFqL5qC86PFB0Lx5aTKP1Z4Bc2mtZcr6AKkYFYZ/TN zgg4zxS/OT9m/giqZRkGcmPbT3tJQwVIjkBMvnyuHoFFndEryhytqtDEF+CWWbDnBIe0 Tb/AZQPI2lcaSQU+HT/KFkneO1d7aLF2KqGSJnIJIO/h9HCqe/PIbZ3rxdAhlZTZ0U8B 9gjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=v030sQXn38icJSu8ncIHv/E3f08VdnZ+xSGEfzy3HLE=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=B1M/yEcLdpsgYltbG7+VIhit6vd1x/7yQB0xFy33wvhw7it0uUVFJ1Q6T70oUCMPde Y4+ahk+V/qFWTP1d9tTA4DYSRxpE5IHGnCy1KcgNWn5jUF3bd7YSQ9fks7xIEZx5s/ej dysTpbFGPGU60teBPV+5VhtlZRk9FYMq4jsPQRvnRl1M0L/UiNnJERt0C3kjcX2VzuS+ m3DObUUY+16S2NNjj+LZLO1L89PmlsOqP5qHVqINQ/oVvI+YN81Q9+G16iimX5/qCbFo bU8wilz458Ze/oPbkLmy25F2C14dfX0YEtJfW4rCMm5vWS1g50X5NKiY8tv2oXOT3SEM q9Ig==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dEDEB7XR; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 8926c6da1cb9f-4fbcc48efe9si2703137173.84.2025.05.25.09.03.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:29 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dEDEB7XR; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoB-0001sm-97; Sun, 25 May 2025 12:02:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo1-0001kl-SN for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:36 -0400 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 1uJDny-000360-To for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:33 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so12783395e9.1 for ; Sun, 25 May 2025 09:02:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188949; x=1748793749; 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=v030sQXn38icJSu8ncIHv/E3f08VdnZ+xSGEfzy3HLE=; b=dEDEB7XRshpxYX22MZngR2WOz0n6DQbR8MrWJDqUWGJ90lIwaE5W1Ql8tAFRrTO1hI dbz2XpUXNMQXHXxbG0gERIHZTeQRBItpu1tnLf2YgA/3LmKQAn76XIFE/SWIPSTAZAae 4A7Sz3J5i7Mzd9/f4oJCzyg0QnM8WcyXzb2+Jv75mTkD9emge+xBhOEZxPgt69k69x79 YYBWqjLEa5WplI+R9UuLvhDPkRbkyyiTOosBuBgJXnhbSo0Jk68yQW77n0jBqHwMMMHS PlCobZpk5AaO7+vwZTJ9z1Ls12Q4hcfigYhoX5A/Y5+xk4a3oUhUzbFmFgDgy3rA0iAH wf8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188949; x=1748793749; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=v030sQXn38icJSu8ncIHv/E3f08VdnZ+xSGEfzy3HLE=; b=EA8Vsrsdnijm0G7mKmvSzIYxKLBsUsk+J01QLc5acM3HHvCFcVWZtZEdBU8eqV7kK1 RAyLq41KtI7QoVJMxIBf3sfMHXPSqL+a8TS6ke1YXeZXXrMd5ihAf+mIzrKJPgqaH68h gKXYePThYDiYgGTcO0wr4OCIHfIrKNYzTCMj1bXgN76cDW/CeW0CK3QlGxMkJi2jKpwr pvzgyFghgL91z8enPX/iHYnG/8P5nCL3bWkKRwaOu+oaYlNRDwKjEm64qxlyERoyhmT4 kD3HE05RRRoSPbGF/Fj+isMW/u5QhEDhRLySxOc69kexOQ1RZw43Zv2yNgDGYTv8le2e 61sQ== X-Gm-Message-State: AOJu0YzkasayV8vfELU/oZbjziPi1JIP1dwwymYE71Uu2g8PX705ljQM mdesAGQxZ5aRGLPh62MadVahPT1j/YBB5NRlMhJtEo/dt9WFv7b2BT6NNWql4imGZuOOZEntdrX WZtdNWiI= X-Gm-Gg: ASbGncsqdChEjLtcrDLpoOSBAA1W/FuqGLtGoCnpHclP6rOJ6IhOxAy0SJoRBNGBRWS UkYnzZb5ALDy4UkZvx2kwWwZNMgGB2F1Y8XGEzew/M7bMJXom37+ZQRwk+pNZNms1isaJ+d57yl B1LXoNgEheKwGG4JPovy59OMRZdmP9vO8mj2a4xGezIzsT7/8EsSwoi4+gRHoHvO4c19Fj1Hiii yQt2KnMLYn7rX+iGSG4IlGO42oqJts6HBf1cm5Tg64buFr37AuEuqY/o5lP52dBCZ68ZAFYh+AL ZUfx0zDgf0YZYR6MDL7pkxocdIPoCZr9MlGHgfaiiMZOGDV2R7JGMHB2cxBA+KQ2twU= X-Received: by 2002:a05:600c:1da6:b0:44a:4874:bdde with SMTP id 5b1f17b1804b1-44c8ed8f474mr57832085e9.0.1748188948925; Sun, 25 May 2025 09:02:28 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:28 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 03/10] target/microblaze: Split out mb_transaction_failed_internal Date: Sun, 25 May 2025 17:02:13 +0100 Message-ID: <20250525160220.222154-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=richard.henderson@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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Use an explicit 64-bit type for the address to store in EAR. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/op_helper.c | 70 +++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 28 deletions(-) diff --git a/target/microblaze/op_helper.c b/target/microblaze/op_helper.c index 9e838dfa15..4c39207a55 100644 --- a/target/microblaze/op_helper.c +++ b/target/microblaze/op_helper.c @@ -393,38 +393,52 @@ void helper_mmu_write(CPUMBState *env, uint32_t ext, uint32_t rn, uint32_t v) mmu_write(env, ext, rn, v); } +static void mb_transaction_failed_internal(CPUState *cs, hwaddr physaddr, + uint64_t addr, unsigned size, + MMUAccessType access_type, + uintptr_t retaddr) +{ + CPUMBState *env = cpu_env(cs); + MicroBlazeCPU *cpu = env_archcpu(env); + const char *access_name = "INVALID"; + bool take = env->msr & MSR_EE; + uint32_t esr = ESR_EC_DATA_BUS; + + switch (access_type) { + case MMU_INST_FETCH: + access_name = "INST_FETCH"; + esr = ESR_EC_INSN_BUS; + take &= cpu->cfg.iopb_bus_exception; + break; + case MMU_DATA_LOAD: + access_name = "DATA_LOAD"; + take &= cpu->cfg.dopb_bus_exception; + break; + case MMU_DATA_STORE: + access_name = "DATA_STORE"; + take &= cpu->cfg.dopb_bus_exception; + break; + } + + qemu_log_mask(CPU_LOG_INT, "Transaction failed: addr 0x%" PRIx64 + "physaddr 0x" HWADDR_FMT_plx " size %d access-type %s (%s)\n", + addr, physaddr, size, access_name, + take ? "TAKEN" : "DROPPED"); + + if (take) { + env->esr = esr; + env->ear = addr; + cs->exception_index = EXCP_HW_EXCP; + cpu_loop_exit_restore(cs, retaddr); + } +} + void mb_cpu_transaction_failed(CPUState *cs, hwaddr physaddr, vaddr addr, unsigned size, MMUAccessType access_type, int mmu_idx, MemTxAttrs attrs, MemTxResult response, uintptr_t retaddr) { - MicroBlazeCPU *cpu = MICROBLAZE_CPU(cs); - CPUMBState *env = &cpu->env; - - qemu_log_mask(CPU_LOG_INT, "Transaction failed: vaddr 0x%" VADDR_PRIx - " physaddr 0x" HWADDR_FMT_plx " size %d access type %s\n", - addr, physaddr, size, - access_type == MMU_INST_FETCH ? "INST_FETCH" : - (access_type == MMU_DATA_LOAD ? "DATA_LOAD" : "DATA_STORE")); - - if (!(env->msr & MSR_EE)) { - return; - } - - if (access_type == MMU_INST_FETCH) { - if (!cpu->cfg.iopb_bus_exception) { - return; - } - env->esr = ESR_EC_INSN_BUS; - } else { - if (!cpu->cfg.dopb_bus_exception) { - return; - } - env->esr = ESR_EC_DATA_BUS; - } - - env->ear = addr; - cs->exception_index = EXCP_HW_EXCP; - cpu_loop_exit_restore(cs, retaddr); + mb_transaction_failed_internal(cs, physaddr, addr, size, + access_type, retaddr); } #endif From patchwork Sun May 25 16:02:14 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892466 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp840418wrz; Sun, 25 May 2025 09:04:31 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX56cfbCpqQ9mgkxfp+LDOcXgZWlc/X5lVv7SntPL3llJCxyfpxGAWmeLQhFjvlOeV0BhnIjQ==@linaro.org X-Google-Smtp-Source: AGHT+IHL7VFAwSns/cCnSwdMNvGIgqLwfSqQ15CkZAxuVmHaeSJhfjc2kO5hHcbw6547EEBo9QkV X-Received: by 2002:a05:6e02:3086:b0:3dc:8bb8:28a1 with SMTP id e9e14a558f8ab-3dc9b75b68fmr42593325ab.14.1748189071189; Sun, 25 May 2025 09:04:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189071; cv=none; d=google.com; s=arc-20240605; b=XOtQXFrMVJbZr0sObSbTJVSDUDgbf7kYn7b9mPg03k/ckP16gXoj7jn7+RwbxntMcd AudbrKj/cQH/sJQhcc4uZLHQ1TDfpB8kPvF7awicpzlwHbuh72ybtl26E4ylhmgjT7z8 1uUGMkCaCaWstBVhraGYdkCj/v5tH7JKVgyWbYAAGJCXFdLoPw+kWAc8cl06Y8zx1anw +B8WQe3WkqAPE36unRRAOfub+0++QOFvirKlZodVUTTkAC6UhiVDxxO4v2kV5RSbvJWI yPBExhyWuupJi83c6BbBk1ZDDCo6Z1XtNIBErbxSsFlpTTqoXmqzWzJZt9mLQFgIDOpG 3byA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=1cFE9Rav7pF61D6b2m7yUgSrF69gORHmAhwRklTnako=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=fRUR4kikJko2m+Bmg4Aiwgn9VB88iaf0cEk+Tveeubc2/O9R4sqi2Ns/XV9zxGTy/c CNkSOMH6u2LG0swpFq1Ig9ElefLiHMljEMFQWosTZEw+r4HwBfLXE2rvpdOBu3keHGdE j+anqa4OfV1q1HmtAk/ohbV2TW4YNmra0sLNpfx0KicIl7Oj1smjI3xuogq5aO5B8jFc ARu8KIVehjEUpxVZXOGT4jC1g3ORqcooDK3c/jDSiNb9IZDs1vsxUBtLzkD93lvl+lcE 4bxbd183vUspWULc76XKFKKXJczu2nuluatkZS1fuzJqivylvt5BC4kI0myXMcyzmg1h MWxw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DUIG2kFx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e9e14a558f8ab-3dc6522fba9si172062995ab.166.2025.05.25.09.04.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:04:31 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DUIG2kFx; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoT-00026P-SY; Sun, 25 May 2025 12:03:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo4-0001lX-Rm for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:40 -0400 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 1uJDo1-000364-L0 for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:35 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43ede096d73so11242485e9.2 for ; Sun, 25 May 2025 09:02:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188951; x=1748793751; 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=1cFE9Rav7pF61D6b2m7yUgSrF69gORHmAhwRklTnako=; b=DUIG2kFx62LkDMkMWAt6EMDexEz/W0PMsu9XrvZaoorpa0YRsornZcCmkG2LFSLU6s eQuRk5IWvx+AncJBN4wVqqiKJ580YeStI8FzSosFXoMGa+Mr1/5BB5oW8XngfXAr/w1J i5GFFTbSHF3NpDAA+ShhSQWyxEoFo/M7mLNkmGegOc2PbRsEIGFJtG2Zk93bh6APFDnV HvMrz+4LTja2Gflu2YnZoMvogfoP2YKodHm9DyWeH3qTtbOzx1do+5Fqdj1zDZN8XLlR 3mA+gg+6Enqf1HzlBICiRIxT5ge36DYQ8OzSwC/EwE/49A0+fLvAv9hcz5oyCaWDkEDU PzHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188951; x=1748793751; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1cFE9Rav7pF61D6b2m7yUgSrF69gORHmAhwRklTnako=; b=KDsOfbY7WkLe073hRyENdlejDBEkI05VEacF/y0L6E0+GLyWPu3j5QfaemIFDIArTn F3If+C+eIc5nhEPWH56rzrQtSn/hoLAJe8jrgJbhNw0+PUB6pBhu5e/UefIkHh4k/Cvt V7gxIOv/qnd80X/bW/+AEFFo4R12G2YS469SzNB9vD6f2dtp7sN5L1d4uepjV3DWrnhb nBfLhyOcICZN75iWv9JRI+t8+wrtwRqJJJvXuc9/+5dW0bW8aJ5IZP8vWSMHImy5K9E0 J6DhQXtpiTWYcyCpCYZ8pQQ+QfIF1OKWKs6F/u/mRn4mBhtIQZgNu/1tpyVy0oqCFKqq B8Eg== X-Gm-Message-State: AOJu0YwxTbgi2jZA5CyabtCe7oebxXyjgz9rVWUFDggHEQzJXMWQWlPf LTouAdKMkp4XUk6/ZqxNWoyEWHh+ngxYpIHGU6Tnvye9b/1eTgJgXDur/3SZPc4KdCW743ij+5E iBOHgQPo= X-Gm-Gg: ASbGncvxCAIUI+gfZ618ZseGJlmCTBSmqpnqYPYk1Yl8BjA8SHFo+igNC7vL7Syd0i1 hmtC4rC5nG+qbvyVJP2SlmgkqiXuZEZVHOgc3laHyKjT5grIAeeCmZsRJytV/5qM6mefLkOZVrb 9Ahwykr5MXsYyZ6v2zJcKbQ7mQhG/0BOErfb9Dvr8aG1/St9HbvC64emF2XAvS2BCDXGLFbV3Og Z6WClxVLZk/KZbXO22Cjdo9IrFYu4ZVpz+pnGvyDfC3oPnxigSLOlljZCsH/Cos4u67ry7FKKH8 Q5/EQqcsZ9FDX+kzcQ5F7OmjR9aHO84rY1pl4AnSiPbC6tE6eCw2RuZW X-Received: by 2002:a05:600c:a07:b0:448:e8c0:c778 with SMTP id 5b1f17b1804b1-44c92a5495cmr48683135e9.22.1748188951125; Sun, 25 May 2025 09:02:31 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 04/10] target/microblaze: Implement extended address load/store out of line Date: Sun, 25 May 2025 17:02:14 +0100 Message-ID: <20250525160220.222154-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=richard.henderson@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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Use helpers and address_space_ld/st instead of inline loads and stores. This allows us to perform operations on physical addresses wider than virtual addresses. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/helper.h | 10 +++++++ target/microblaze/op_helper.c | 40 +++++++++++++++++++++++++++ target/microblaze/translate.c | 52 +++++++++++++++++++++++++++-------- 3 files changed, 90 insertions(+), 12 deletions(-) diff --git a/target/microblaze/helper.h b/target/microblaze/helper.h index 41f56a5601..ef4fad9b91 100644 --- a/target/microblaze/helper.h +++ b/target/microblaze/helper.h @@ -28,4 +28,14 @@ DEF_HELPER_FLAGS_3(put, TCG_CALL_NO_RWG, void, i32, i32, i32) DEF_HELPER_FLAGS_3(mmu_read, TCG_CALL_NO_RWG, i32, env, i32, i32) DEF_HELPER_FLAGS_4(mmu_write, TCG_CALL_NO_RWG, void, env, i32, i32, i32) DEF_HELPER_FLAGS_2(unaligned_access, TCG_CALL_NO_WG, noreturn, env, i64) +DEF_HELPER_FLAGS_2(lbuea, TCG_CALL_NO_WG, i32, env, i64) +DEF_HELPER_FLAGS_2(lhuea_be, TCG_CALL_NO_WG, i32, env, i64) +DEF_HELPER_FLAGS_2(lhuea_le, TCG_CALL_NO_WG, i32, env, i64) +DEF_HELPER_FLAGS_2(lwea_be, TCG_CALL_NO_WG, i32, env, i64) +DEF_HELPER_FLAGS_2(lwea_le, TCG_CALL_NO_WG, i32, env, i64) +DEF_HELPER_FLAGS_3(sbea, TCG_CALL_NO_WG, void, env, i32, i64) +DEF_HELPER_FLAGS_3(shea_be, TCG_CALL_NO_WG, void, env, i32, i64) +DEF_HELPER_FLAGS_3(shea_le, TCG_CALL_NO_WG, void, env, i32, i64) +DEF_HELPER_FLAGS_3(swea_be, TCG_CALL_NO_WG, void, env, i32, i64) +DEF_HELPER_FLAGS_3(swea_le, TCG_CALL_NO_WG, void, env, i32, i64) #endif diff --git a/target/microblaze/op_helper.c b/target/microblaze/op_helper.c index 4c39207a55..b8365b3b1d 100644 --- a/target/microblaze/op_helper.c +++ b/target/microblaze/op_helper.c @@ -382,6 +382,8 @@ void helper_stackprot(CPUMBState *env, target_ulong addr) } #if !defined(CONFIG_USER_ONLY) +#include "system/memory.h" + /* Writes/reads to the MMU's special regs end up here. */ uint32_t helper_mmu_read(CPUMBState *env, uint32_t ext, uint32_t rn) { @@ -441,4 +443,42 @@ void mb_cpu_transaction_failed(CPUState *cs, hwaddr physaddr, vaddr addr, mb_transaction_failed_internal(cs, physaddr, addr, size, access_type, retaddr); } + +#define LD_EA(NAME, TYPE, FUNC) \ +uint32_t HELPER(NAME)(CPUMBState *env, uint64_t ea) \ +{ \ + CPUState *cs = env_cpu(env); \ + MemTxResult txres; \ + TYPE ret = FUNC(cs->as, ea, MEMTXATTRS_UNSPECIFIED, &txres); \ + if (unlikely(txres != MEMTX_OK)) { \ + mb_transaction_failed_internal(cs, ea, ea, sizeof(TYPE), \ + MMU_DATA_LOAD, GETPC()); \ + } \ + return ret; \ +} + +LD_EA(lbuea, uint8_t, address_space_ldub) +LD_EA(lhuea_be, uint16_t, address_space_lduw_be) +LD_EA(lhuea_le, uint16_t, address_space_lduw_le) +LD_EA(lwea_be, uint32_t, address_space_ldl_be) +LD_EA(lwea_le, uint32_t, address_space_ldl_le) + +#define ST_EA(NAME, TYPE, FUNC) \ +void HELPER(NAME)(CPUMBState *env, uint32_t data, uint64_t ea) \ +{ \ + CPUState *cs = env_cpu(env); \ + MemTxResult txres; \ + FUNC(cs->as, ea, data, MEMTXATTRS_UNSPECIFIED, &txres); \ + if (unlikely(txres != MEMTX_OK)) { \ + mb_transaction_failed_internal(cs, ea, ea, sizeof(TYPE), \ + MMU_DATA_STORE, GETPC()); \ + } \ +} + +ST_EA(sbea, uint8_t, address_space_stb) +ST_EA(shea_be, uint16_t, address_space_stw_be) +ST_EA(shea_le, uint16_t, address_space_stw_le) +ST_EA(swea_be, uint32_t, address_space_stl_be) +ST_EA(swea_le, uint32_t, address_space_stl_le) + #endif diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 671b1ae4db..3d9756391e 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -700,6 +700,20 @@ static void record_unaligned_ess(DisasContext *dc, int rd, tcg_set_insn_start_param(dc->base.insn_start, 1, iflags); } + +static void gen_alignment_check_ea(DisasContext *dc, TCGv_i64 ea, int rb, + int rd, MemOp size, bool store) +{ + if (rb && (dc->tb_flags & MSR_EE) && dc->cfg->unaligned_exceptions) { + TCGLabel *over = gen_new_label(); + + record_unaligned_ess(dc, rd, size, store); + + tcg_gen_brcondi_i64(TCG_COND_TSTEQ, ea, (1 << size) - 1, over); + gen_helper_unaligned_access(tcg_env, ea); + gen_set_label(over); + } +} #endif static inline MemOp mo_endian(DisasContext *dc) @@ -765,10 +779,11 @@ static bool trans_lbuea(DisasContext *dc, arg_typea *arg) return true; } #ifdef CONFIG_USER_ONLY - return true; + g_assert_not_reached(); #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UB, MMU_NOMMU_IDX, false); + gen_helper_lbuea(reg_for_write(dc, arg->rd), tcg_env, addr); + return true; #endif } @@ -796,10 +811,13 @@ static bool trans_lhuea(DisasContext *dc, arg_typea *arg) return true; } #ifdef CONFIG_USER_ONLY - return true; + g_assert_not_reached(); #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UW, MMU_NOMMU_IDX, false); + gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_16, false); + (mo_endian(dc) == MO_BE ? gen_helper_lhuea_be : gen_helper_lhuea_le) + (reg_for_write(dc, arg->rd), tcg_env, addr); + return true; #endif } @@ -827,10 +845,13 @@ static bool trans_lwea(DisasContext *dc, arg_typea *arg) return true; } #ifdef CONFIG_USER_ONLY - return true; + g_assert_not_reached(); #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_load(dc, arg->rd, addr, MO_UL, MMU_NOMMU_IDX, false); + gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_32, false); + (mo_endian(dc) == MO_BE ? gen_helper_lwea_be : gen_helper_lwea_le) + (reg_for_write(dc, arg->rd), tcg_env, addr); + return true; #endif } @@ -918,10 +939,11 @@ static bool trans_sbea(DisasContext *dc, arg_typea *arg) return true; } #ifdef CONFIG_USER_ONLY - return true; + g_assert_not_reached(); #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UB, MMU_NOMMU_IDX, false); + gen_helper_sbea(tcg_env, reg_for_read(dc, arg->rd), addr); + return true; #endif } @@ -949,10 +971,13 @@ static bool trans_shea(DisasContext *dc, arg_typea *arg) return true; } #ifdef CONFIG_USER_ONLY - return true; + g_assert_not_reached(); #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UW, MMU_NOMMU_IDX, false); + gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_16, true); + (mo_endian(dc) == MO_BE ? gen_helper_shea_be : gen_helper_shea_le) + (tcg_env, reg_for_read(dc, arg->rd), addr); + return true; #endif } @@ -980,10 +1005,13 @@ static bool trans_swea(DisasContext *dc, arg_typea *arg) return true; } #ifdef CONFIG_USER_ONLY - return true; + g_assert_not_reached(); #else TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); - return do_store(dc, arg->rd, addr, MO_UL, MMU_NOMMU_IDX, false); + gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_32, true); + (mo_endian(dc) == MO_BE ? gen_helper_swea_be : gen_helper_swea_le) + (tcg_env, reg_for_read(dc, arg->rd), addr); + return true; #endif } From patchwork Sun May 25 16:02:15 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892463 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp840046wrz; Sun, 25 May 2025 09:03:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUgEJnI7OY0s0l2VkiSPxKoopNictQ/CHVKV4J8AUXuaoIPTXEniNZqPyuCflN0ge2tmWQDRQ==@linaro.org X-Google-Smtp-Source: AGHT+IGLBG7YmYTH+fmSIRaJlWEGdWagAQczAWFlR60Gkjc1GE7tWGVl1fWCBn47GHRHjoxhKkIk X-Received: by 2002:a05:6e02:214c:b0:3d6:cbad:235c with SMTP id e9e14a558f8ab-3dc9b6a4052mr53274995ab.6.1748189027599; Sun, 25 May 2025 09:03:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189027; cv=none; d=google.com; s=arc-20240605; b=G5dtn+0OHqmPLHVimSKOlTpwlQLN+cnO1nHv5T01mNKU3AkG6bie8NO4e7zqVZ4f7b DPOIpKLqNddEZ1DwoQbSpW+p/8zIFyevxdQ9a6Wv23e7/lce4zE7xQnUh65E/AJE0y2l WMQCV5WC15QK79RZ11+UanQSGEv7qupwOJC1offHSOVB64Ut8jUvsHDeamqo1uJgWWOr nk+ysKznySjAE7pVFL8bzFDmMI8eZXJLHZthIjZZDsXoLLlpb+EAPAZjjX9mB79FO1Nt yUK7YKpx45ihu7AtlBBzf0xw1ynipvebKu+/QIqg/sTmY0LPy2xVkkYD3QkOWIB7lFad OxJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=CCPAc4kQVEvGGRVvJbn/l1McxSb2MHV9t9YV3lujsKc=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=in0QI/Asj5jjkhq1HO5cTKT3T5juPrFf3/RBQvUdqGIGmZjoTsa3p59mLj8XG4OVQS wAA6Ond5w629djDU6uKgBGd7lAEUj0SNjOjfRHgW+C0zlMmQhAJdYkWCGL2b7gY9u5Ep 6yUHxsSvNVCdY00bTgDLG2c7DqxRq3s8mdGJZ3cpLgLKktvH8ieeleDdetYcTnzdTtze Leq4x4wYBqfR8DIeltVngtUpm9JgwuvtRX4YCFljlV8EIGNhdYqfW3KEhWo7A05vN3Wt 41CO8phTjveFsk9uI+JFB4Z/qYfVcsEiaD0zuZhl5p891eiNj8bxWIDMMMwwbtIWlJu0 swKg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Kk4mihk2; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e9e14a558f8ab-3dc826595bcsi116065895ab.13.2025.05.25.09.03.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:47 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Kk4mihk2; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoU-00027k-Ag; Sun, 25 May 2025 12:03:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo4-0001lW-QG for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:40 -0400 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 1uJDo2-00036F-2T for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:35 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-442fda876a6so14907075e9.0 for ; Sun, 25 May 2025 09:02:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188952; x=1748793752; 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=CCPAc4kQVEvGGRVvJbn/l1McxSb2MHV9t9YV3lujsKc=; b=Kk4mihk2YJmxVI6Bl9YBJonFDWCMAMU++XE0EJPDK40BOfT0Jh8upIXSHlRn+7f1As fL4OoJDHJ/sedqFT0MNZ923CN1SIRpXtmuYC9PYMu+eM/5+up5SYL3F2tM3EerQtjfwk zXn0AoVhbYSyuKy6/OgcC/UMtFfoXvmSBmPJUCKCvkFqvam/Ja8fidHDVUMsw49v3QMe 6M0kXcSLujguN4ssaiZKhncko9+lvu5sYiAQ+hl+gACud9L2gAflvf2THFA6A36G9sfd Zlq6icTGXOPBJ1q7/QdzAxiSGBkiX5jdm2mQZFCu8vE1qI5XHlLObH7f6rCNBaXcRgel 2NfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188952; x=1748793752; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CCPAc4kQVEvGGRVvJbn/l1McxSb2MHV9t9YV3lujsKc=; b=qm0dN3V6RqVZCoRuHjdNCKXM3CUTmZBw1s5l/RA8h3UljeJuCRoDyJpADZvO29mxfS dSZ2a7AEmqhx5qxvmhfdbanvreaS41qLy6HrTygfQQpYybIUnBnDm7vpsHAvh0a6iAhl f7ejqH6jfp5XtM3A0AQWXuzDxNHi31EVIA2MAAbcPBPuaCl9Yiq9nuNTXRQ7vaABhsJw QHdZ1nDdOXPHvFeZb9E8smNY+wrkgr1C4xHJWQy4UtjeNl6Jso1tRqT8af019T82C9N2 wsgHYoI5ZMnPKckJLvmGL4ddq7ibdERy1kLtgG2I+jFrZTWHdlGQF7jHHhRK+OojChyS wYxA== X-Gm-Message-State: AOJu0Yy4rTDepgkY1M+9YZCSHEOhraEPp0x+jVuBmLCu9mFXR71061g8 3FMSox8tPpfKWdP1g1W8ikPXwKatCLm0RT6VdFmg79xl7+AVPu+FtYfretisqs715XAindp+seS vy3wSqGQ= X-Gm-Gg: ASbGncttWu7SqIBiLZD+enhMHDbXgXE/lxNQVxJVvrLtvyRMZ2N7AXMBk8rqw098kqL HML+i4CDlZ80SmK+gp8Ezl5JHBhNco71JzOlRXNBVnagTyE55w5OkZN+Wn8uGlkxQd0MlfMhJk4 dneRyOhYCvrC8AYO7MTACasLVANgcPGmX8nzlsY9vau0b6WJowx9PZ1DCqn8r7uS65vZ8l6K7YP Rpf07ux3plQUL8Tgoa8Em0H8ZgpLQuzn0wPPOoDzbI9g2kEOIHbSjC2bC5ZGzuzZ0PUHusa/7jQ nyjW+goVRMOjAMq+gPnsnQ+IKaUSuptpsT/DDWMpbg//wSdvdo84AjAc X-Received: by 2002:a05:600c:8518:b0:43d:9f2:6274 with SMTP id 5b1f17b1804b1-44c91cd5123mr59877515e9.14.1748188952331; Sun, 25 May 2025 09:02:32 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 05/10] target/microblaze: Use uint64_t for CPUMBState.ear Date: Sun, 25 May 2025 17:02:15 +0100 Message-ID: <20250525160220.222154-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=richard.henderson@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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Use an explicit 64-bit type for EAR. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/cpu.h | 2 +- target/microblaze/translate.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/target/microblaze/cpu.h b/target/microblaze/cpu.h index 6ad8643f2e..3ce28b302f 100644 --- a/target/microblaze/cpu.h +++ b/target/microblaze/cpu.h @@ -248,7 +248,7 @@ struct CPUArchState { uint32_t pc; uint32_t msr; /* All bits of MSR except MSR[C] and MSR[CC] */ uint32_t msr_c; /* MSR[C], in low bit; other bits must be 0 */ - target_ulong ear; + uint64_t ear; uint32_t esr; uint32_t fsr; uint32_t btr; diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 3d9756391e..b1fc9e5624 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -1857,7 +1857,7 @@ void mb_cpu_dump_state(CPUState *cs, FILE *f, int flags) } qemu_fprintf(f, "\nesr=0x%04x fsr=0x%02x btr=0x%08x edr=0x%x\n" - "ear=0x" TARGET_FMT_lx " slr=0x%x shr=0x%x\n", + "ear=0x%" PRIx64 " slr=0x%x shr=0x%x\n", env->esr, env->fsr, env->btr, env->edr, env->ear, env->slr, env->shr); From patchwork Sun May 25 16:02:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892467 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp840440wrz; Sun, 25 May 2025 09:04:32 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWca4aD56rl5Y2DpK2pJ2pyLXEggT91+oKGnngsf254Sz1DQKOmyf1p7o5gA3EnVnI6PLJKNQ==@linaro.org X-Google-Smtp-Source: AGHT+IHsPJgVk9MsDSEyB03pX6hRPTX/CXGKiahcxSjUqcsZlAtppiis4tF2ENO8K0vp/YEvNFmO X-Received: by 2002:a05:6e02:12e8:b0:3db:72f7:d7b3 with SMTP id e9e14a558f8ab-3dc9b695249mr51638415ab.4.1748189072167; Sun, 25 May 2025 09:04:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189072; cv=none; d=google.com; s=arc-20240605; b=T+fqZz61XVB71FZrmwV05z1QClr9xyzGvMegN8lHPUZCOq/8MDaunmeMoDtI1ND5dl HbAh9xB1k7mz9IxNiEUjiWXQISjs7VY1FEtix0a4eK8qY3D91PgJ/+51jKv7jxA8ULGx hxcK16xVecvZA28XqMRvgBWnbiBqvy9Rw/iY53dkt5FceW2k3NEngXc0ggKFpJLmBENM K7s56zk8DLQkWWedVlgbCrQkjXbh3qd0ZT6BD2ETY/yV9KmeHi/TWzMpNEkkY0UeFkQr PMCJwIctB8R3UpICbm0Xjz+eo1x6P5LI/MyO+Uf0i36m5X24DgW4aDuwURkta+BBNGrS +IIQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=qePmWWXgxnxC8EgpTPJrdJSihex1YCPIe/WXpW/iZ68=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=lhltxdk6FVNf4rLJc/Z76UTS7mNMrywANlrvI9vW/Ile1QNSjVgvZggCLQEDYOLuXu NBevHmTtZi21Hn8aIBWBNZhO3QNt5qVJSP02M7sy3aqzYg6ilESI3NpB0GixFD/vNYa2 xK3mRhGXriV8k/YiXgrYzLimaC7BefsPYrtKDwb7ZIGroP4bbg1KMvR/vNDlNHTyB7BU yr7s7TiTDCLjUn+acgN8pt2kTw/UdSQqWRmoF2DbgsLflppTY9Tsos125yDnmhOflSTI 72Hgt91JvgqVygEi5Wy4g2vOmZuSzYuq7qm37YkJiqBS0+yta6QaYEgDCWdGcHWm9FVm kIWA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="H/Uwtqjn"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 8926c6da1cb9f-4fc33d1cce7si2015374173.80.2025.05.25.09.04.31 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:04:32 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="H/Uwtqjn"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoT-00025k-Ab; Sun, 25 May 2025 12:03:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo6-0001mf-J5 for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:40 -0400 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 1uJDo4-00036Z-JN for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:38 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-441d1ed82dbso17636675e9.0 for ; Sun, 25 May 2025 09:02:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188954; x=1748793754; 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=qePmWWXgxnxC8EgpTPJrdJSihex1YCPIe/WXpW/iZ68=; b=H/UwtqjncIN3h5/SVIpwEP/BLuSGikag6aHgg5go4AwuUdST9zTY6Z2J2bU7lhhP5j hLDpMWMdYiUfrqA1wveLwrlZsPZeNouspWEg8YryXudT5pSL/cLVS3cwLvP/ylsnjpXe 7QFNe/a1Yi24749s0HXrMPzzG5O5YP4YWONNuj9vfAIxVZOLTn01tA66wYbWWe/+1KNk 7s/v49y8pu1KJr2c0JacEoiTuXhwTNBZkuW5dAartVPzZytZqdj/jRI2+r5iiK9Z0FQL I+W59dShX/sXLk4VkTYya/+X8xvmlZroLcKhjs/bIX8504Mvo8EmpYLExToDkFuEpCsC SD1g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188954; x=1748793754; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qePmWWXgxnxC8EgpTPJrdJSihex1YCPIe/WXpW/iZ68=; b=Beem3aJELzoRDGQAYYdGfUoSxsjSuiec1WPlNStQTwKpbrT4CM+K4gKCzXGPBwahnS +HFKnXVzr4WxsoQD6tkdO1sLlmMdgsTFJc0PLcAp14RhcW+KpENnfF1nn97URNWinpeN HVQry7WxqADfTlI6tpp/apLxze4SYNxGW+65PyfQX56Lo5AvsoSWMNd23qXejpp0xmLR I7IqJCvCofFJzDeEY4mVQVXQw/OtkKDipSHgkUOCLv/c/p2OksKWZsmqDyc/TUfte/Gi ksKQZN+VkceEaEZF1MExsWA8DlUjOX3eCHo9YgLf7YPi5y/2SEFIibsTa9ASmQqimTvY GnyQ== X-Gm-Message-State: AOJu0YyhMdcxoH8moaNtSITsV9+VRSPYnTcc7MKrzL0mf4u3gEo0jQx5 jX4XVqWJCtS/li0ghT9aNOFK5yxtdlqujrPQN62uG8s47sJRC5M5/Zo7xVLEuJIj0MxE5sNQlZF lfx0i5D8= X-Gm-Gg: ASbGncsvbMyai+k1MnKcp0+GA+7SVEgJ+ONdoWokrKnEuYTeP50k4KBabe1Rxu2HFmj /h2hZDGk9c2s2kD5P9Ol/OjoIQZqCrmVK42KfStjigaxkN+Cig70D0fV15RFS/O4StNq68AgyhY AGeHWusoqqSIeYBhK9LzdtBKI4HOh5BJ9xwS6qHPzsw8oddjyr6yksFQtCThmsW81P/ZMELlr3h +kD16qDuqG3tozjhPOEes5bxaEjFBrqLvYdSh52p2tD+T7xZRj7ApE8pq6dAilmMOgSlXT9gJ8f cDaLfgAH6yoxYebziACfDMBZBxYr8CzUwpzK4YdQVhcb/JY/MIg5NROO X-Received: by 2002:a05:600c:4fcd:b0:43c:ec0a:ddfd with SMTP id 5b1f17b1804b1-44c91ad6abbmr49054965e9.6.1748188954343; Sun, 25 May 2025 09:02:34 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 06/10] target/microblaze: Use TCGv_i64 for compute_ldst_addr_ea Date: Sun, 25 May 2025 17:02:16 +0100 Message-ID: <20250525160220.222154-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=richard.henderson@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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Use an explicit 64-bit type for extended addresses. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/translate.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index b1fc9e5624..dc597b36e6 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -660,23 +660,23 @@ static TCGv compute_ldst_addr_typeb(DisasContext *dc, int ra, int imm) } #ifndef CONFIG_USER_ONLY -static TCGv compute_ldst_addr_ea(DisasContext *dc, int ra, int rb) +static TCGv_i64 compute_ldst_addr_ea(DisasContext *dc, int ra, int rb) { int addr_size = dc->cfg->addr_size; - TCGv ret = tcg_temp_new(); + TCGv_i64 ret = tcg_temp_new_i64(); if (addr_size == 32 || ra == 0) { if (rb) { - tcg_gen_extu_i32_tl(ret, cpu_R[rb]); + tcg_gen_extu_i32_i64(ret, cpu_R[rb]); } else { - tcg_gen_movi_tl(ret, 0); + return tcg_constant_i64(0); } } else { if (rb) { tcg_gen_concat_i32_i64(ret, cpu_R[rb], cpu_R[ra]); } else { - tcg_gen_extu_i32_tl(ret, cpu_R[ra]); - tcg_gen_shli_tl(ret, ret, 32); + tcg_gen_extu_i32_i64(ret, cpu_R[ra]); + tcg_gen_shli_i64(ret, ret, 32); } if (addr_size < 64) { /* Mask off out of range bits. */ @@ -781,7 +781,7 @@ static bool trans_lbuea(DisasContext *dc, arg_typea *arg) #ifdef CONFIG_USER_ONLY g_assert_not_reached(); #else - TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); + TCGv_i64 addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); gen_helper_lbuea(reg_for_write(dc, arg->rd), tcg_env, addr); return true; #endif @@ -813,7 +813,7 @@ static bool trans_lhuea(DisasContext *dc, arg_typea *arg) #ifdef CONFIG_USER_ONLY g_assert_not_reached(); #else - TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); + TCGv_i64 addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_16, false); (mo_endian(dc) == MO_BE ? gen_helper_lhuea_be : gen_helper_lhuea_le) (reg_for_write(dc, arg->rd), tcg_env, addr); @@ -847,7 +847,7 @@ static bool trans_lwea(DisasContext *dc, arg_typea *arg) #ifdef CONFIG_USER_ONLY g_assert_not_reached(); #else - TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); + TCGv_i64 addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_32, false); (mo_endian(dc) == MO_BE ? gen_helper_lwea_be : gen_helper_lwea_le) (reg_for_write(dc, arg->rd), tcg_env, addr); @@ -941,7 +941,7 @@ static bool trans_sbea(DisasContext *dc, arg_typea *arg) #ifdef CONFIG_USER_ONLY g_assert_not_reached(); #else - TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); + TCGv_i64 addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); gen_helper_sbea(tcg_env, reg_for_read(dc, arg->rd), addr); return true; #endif @@ -973,7 +973,7 @@ static bool trans_shea(DisasContext *dc, arg_typea *arg) #ifdef CONFIG_USER_ONLY g_assert_not_reached(); #else - TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); + TCGv_i64 addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_16, true); (mo_endian(dc) == MO_BE ? gen_helper_shea_be : gen_helper_shea_le) (tcg_env, reg_for_read(dc, arg->rd), addr); @@ -1007,7 +1007,7 @@ static bool trans_swea(DisasContext *dc, arg_typea *arg) #ifdef CONFIG_USER_ONLY g_assert_not_reached(); #else - TCGv addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); + TCGv_i64 addr = compute_ldst_addr_ea(dc, arg->ra, arg->rb); gen_alignment_check_ea(dc, addr, arg->rb, arg->rd, MO_32, true); (mo_endian(dc) == MO_BE ? gen_helper_swea_be : gen_helper_swea_le) (tcg_env, reg_for_read(dc, arg->rd), addr); From patchwork Sun May 25 16:02:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892459 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp839893wrz; Sun, 25 May 2025 09:03:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWknPRygpgTbgqGHU5eacSfWWXlNSEVh+I2Hr3YP+vU4bUMdFtA6ICyvZqDhTL//AOPvzCpZA==@linaro.org X-Google-Smtp-Source: AGHT+IE0fJrVPrIo3k4gsUmZUywb65db9QGwMfkWfEjeeSI8qPPGIoxY6kiZOVtwpdqOBA22gdry X-Received: by 2002:a05:6e02:2281:b0:3dc:757b:3fb2 with SMTP id e9e14a558f8ab-3dc9b6a7995mr55196355ab.7.1748189009764; Sun, 25 May 2025 09:03:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189009; cv=none; d=google.com; s=arc-20240605; b=f5HaIusQRNiFl3XsDlLcVuHBOGdpTrXOgxIUv02EoNpM0Nhi9yQmDxS7X549NldD96 dt8XFg9YWJccH9U0JDcfBp6RWnMXJgCRr8849uAHT4aeMJKkg01XFd7Q2DuVfS+nLGyE YB5PQx7xraHaa9xXpJp//4OBEvhWgzIn6sTBTuZVaNfQQj+fvTFuMnc7sGM0I3sOEakf Q+L9CDmmBeQL0PeXoQljJ8RaZMszNNJ+BPYfnzSAcN82ZvlqehU1n+LRgZrxIEU0mHzn a9T1wg5Q7PdIfDg5GVf36urg2qCa9zkKuIlcxmCEAwMZ7gpgMf4Z+LcROlsng31O2gds Kr+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=QrsiPPIKs9uqNggfC2fgEnSDXqetMhiV3VJ4jE1p+tM=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=d+AHcElvdtDshqT4MGWETqmL8AxKOy+Rpxe5E//oVpo3E1xt7z9epfSHIzxnM6xuF0 upyDIBZI7MvuiTQv3hz/L4LUf9/OjXS2Rp8Mw8T2xbEKNAcXUkEO2tGHDhNIGGpVb7GD WPO5YwQOevKOYUecvfHtTeLjKWDtYuaZVfMiEklAZltK0/cD5PDtYgiADfQtvoyoKQsq wcXf4IT/WmJKKylBzblqpnJqlCOMGZTJMMPV+ZFlJYX5jPUsoVqY4ZPwJuNSAVXUINak aQcL8ANVxeOTy2xKjfLM7TCILwC2Wb/WMP+YV9HfAqwPIUpuq4GGeFVW+qpyZb8GSrnQ 9y9g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ryuA5q0f; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e9e14a558f8ab-3dc9ff8661dsi17401185ab.107.2025.05.25.09.03.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:29 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ryuA5q0f; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoB-0001t0-DQ; Sun, 25 May 2025 12:02:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo7-0001mg-5V for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:40 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uJDo5-00036h-LJ for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:38 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-44b1f5b917fso8607945e9.3 for ; Sun, 25 May 2025 09:02:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188956; x=1748793756; 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=QrsiPPIKs9uqNggfC2fgEnSDXqetMhiV3VJ4jE1p+tM=; b=ryuA5q0fwezoJBOiwpAJaQmFW/bwFzh9E4oszvF4qe4+uOQC147/XstAE81Xu1/W4v xujnGOLEON2A+sS5ePIEZrmnowQRSUannXW4wUEnZYRN7vjBbjNRmCikUVKmKlfE4rQR 77XNMsYL4THGqOdt3Qs0Ty0BJJusOGe0GX/6v55hX7NsTnxlBrXMShtwppuCRQeicqUk /w7KZvxziQH/FQZ0zzovNgu10AmnBDPUI0btodw3jAbGOSfbsvrFbPQNByyou5cL5OsR c3tLIpuLsPhCLpjtfwOyPWVwr5aiIuDKuZrIaYR8fBdZ9YTblDGZ+lQnWuFOchWo6OK3 Hxwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188956; x=1748793756; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QrsiPPIKs9uqNggfC2fgEnSDXqetMhiV3VJ4jE1p+tM=; b=w8TSilZj62e8Fmk0IPW5qbpIjuwEZLtAjNjm+IIjZKTvFYXs1IhqTwjqy1VEy4GPmW 7HrpZ5Z5o0XAazg4kFUVRqX5nlMokjNhkHZxFTT/L0npmwESTdk5eTPJ5QE0+0vvC74r VaWbU0OHpSWeJnIk5fD4Qj6n9FFzyEvL3bIh5aupYfB0TKZ9ytM8/XM7VfyJUY9qgZXy lrhe8N7vwhxQ1fwNFp+aVFWd3nAI+uxHQhQxMiAsVi3NPyVhZhBxu0T50Gzdi8N1dCt7 vbBah/uA2cTe1wWVU+B68NFgu2khK3mfGSFbwx0QiPY3UZPJuoq8X7rpUATOUeIRHuc4 Gx/Q== X-Gm-Message-State: AOJu0YwnQN/lyf2pEJnR2cedddUYV8cVtxPNKCWwGVc7jK+PX8/VegcF P4Eg0kHYkP9wGoI7CTisOrArsp8bzEMhoncPgTarJzV+gokua6NjA436QyPPKbZu/u0uqSB/zwM fGmmO8a0= X-Gm-Gg: ASbGncvBNfbftvF7IDy9gSiFxnlHtikOiftLiW4/RsjvjNi86aaRbLdZaLfmvPnXZ1H vm5Qpss64VGpkVK8LtvbPW7AEzKkqRsC+u0Ul8QVkhmgYHFDVl19NxQ5opiKx0CVqaw/MQXta5i uCu6DW7RPwQnKNHH1b477xm4XLRaVScCc7Iyrkk15yN9VjEZ1yrm5IivvWejcSmPUTqbEJKJ3h8 o1VRIpZaQ2CyVK6uieqgrONfEgLik7KIjJO3XEtWzzp2ZJES7BybbrVQjEbay8LuTEQaqbOEc6x bsllF6KkBGIGo7oKFcgDbpbfAm6nbwCmYCyYkrZMWai/A63Qrzvw4mBu X-Received: by 2002:adf:e381:0:b0:3a4:cbbd:6345 with SMTP id ffacd0b85a97d-3a4cbbd64bcmr3397468f8f.13.1748188956001; Sun, 25 May 2025 09:02:36 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:35 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 07/10] target/microblaze: Fix printf format in mmu_translate Date: Sun, 25 May 2025 17:02:17 +0100 Message-ID: <20250525160220.222154-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32a.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Use TARGET_FMT_lx to match the target_ulong type of vaddr. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/mmu.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/microblaze/mmu.c b/target/microblaze/mmu.c index 95a12e16f8..8703ff5c65 100644 --- a/target/microblaze/mmu.c +++ b/target/microblaze/mmu.c @@ -172,7 +172,8 @@ unsigned int mmu_translate(MicroBlazeCPU *cpu, MicroBlazeMMULookup *lu, } done: qemu_log_mask(CPU_LOG_MMU, - "MMU vaddr=%" PRIx64 " rw=%d tlb_wr=%d tlb_ex=%d hit=%d\n", + "MMU vaddr=0x" TARGET_FMT_lx + " rw=%d tlb_wr=%d tlb_ex=%d hit=%d\n", vaddr, rw, tlb_wr, tlb_ex, hit); return hit; } From patchwork Sun May 25 16:02:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892458 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp839891wrz; Sun, 25 May 2025 09:03:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXXlNobQMFUnL9IvMgnjYmoEL7dvybMBas6Eq8DZd7m2PgPZxo6+vPcGVu2Jm1j+99taG5NWA==@linaro.org X-Google-Smtp-Source: AGHT+IFlknE7yrAvDq3s9yVHyiMqjtFf4i891jLQ521gH2R4Wx3JXz1ByqBFdCVRpjOGGr0NRzpx X-Received: by 2002:a05:6602:4896:b0:864:657e:caec with SMTP id ca18e2360f4ac-86cbb88d3f7mr483196439f.10.1748189009767; Sun, 25 May 2025 09:03:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189009; cv=none; d=google.com; s=arc-20240605; b=RWJ6I+F5M5KvDaIplchG0wI1T+4BOd3npj72VVRXrR4yXQ47TH6MdwN/CqV6euCVZf eO7U4fyzEtm8ney+rQilcGekdsz6lB2kUOxtAl9o6HROj+orABwSGIXYYZD1eXb7awk5 KS5AjrIqHr5NtCKwxlBRPav7fV9KUehgJ4O4/REsyMZuIhMcC6aewt9GVkPJ/MDkPbt7 UcxzSkAamAzzIDqa5r2XDBKzDtG3/86PWwsU48SfGPr2cHtI3qpg57SkjpntSFwxI2PW l1uBovy1JTHyOsnyJA1ONxTge9gWPZLPwKM+G1/lal0nJ77OylG5wMBtKBSqRTU5LXKQ zySg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=gQn6nujfDXJziLVy4jFPVSDzZo2UJbaBzGcbgRQnjJU=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=S5emkojYI6Ods7o50NPeOxuTz8iZKY9fmmdU1e+vzuP+iDnoDW0pc5twudmFw22QBQ JqrTp4DuOJ3RFuwnh1YvKovXsRsXv4M0NxfQZ7dprnFZzlY9mCgEHs2ex+EhH4oC9nrX qxNth2Dxdp1JVf/K8nJTDLBK2yvSPAnTi7S1PUHzhelOOEfVVRFFsSvIFkg9JloWmXqA fwaKii+BrT4L33snAVxdbyUP4AmH9Hje4IcsQi1d93Fg3/GScUpE5IUoHdN0ZRqpQ53f DNFBdW43R4D1Vrjptt7uH9RuqTzypmEtTch6n+T10VDn/O4xF8y8vzc5+wKrxlGWxuhA 9sZw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=PZPEefaJ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ca18e2360f4ac-86a235b96b7si1583369839f.21.2025.05.25.09.03.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:29 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=PZPEefaJ; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoK-000201-J9; Sun, 25 May 2025 12:02:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDo9-0001pd-55 for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:41 -0400 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 1uJDo7-00037P-GW for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:40 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-442f5b3c710so14753125e9.1 for ; Sun, 25 May 2025 09:02:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188958; x=1748793758; 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=gQn6nujfDXJziLVy4jFPVSDzZo2UJbaBzGcbgRQnjJU=; b=PZPEefaJnr5EdNnxJ8jod2N6nPwHC9eU2NTvMIZu11JNFEC++UC7gdI+Sk6LFXHtBT 10LJ2ApOgApPXhz9lBt4p1YfWewHBXkfXci1tDsX+cxljPXb027oagIV7h4WOfqP/XEi F/8PaewSJpAlEeM5i+74ZJ7tFO2suWG6IY/BiJhbun9G5F7I8Z3NyaWcgitBn43mkHiF 3RT5l5i3X1j4RlCUGnrobk0Ob0sYwssGmHBpwQ6oScpiO1yfiX7bh3Bzu4AV3+6kHogh LwzW9fo/iAkx0FGo9LzgxedtNRLPWOKR88kOIefd3qFXOpP8h0JZVvcqzV9zRY9L1H8P jM7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188958; x=1748793758; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=gQn6nujfDXJziLVy4jFPVSDzZo2UJbaBzGcbgRQnjJU=; b=wVzQoY9Wpu33Q5wFQolRSXZ8t3s0lbwWFgJvuw4F8sMGxBivlHaXBKFjWmI2bbgc4W Hq56uuT1pEJe/ClUb5im/bcPmdqO99rw9bGLktQHt48tWtNBVtlp7vBZWb/cHYpeFntR 9lhKAX9NEajhctHMIKRsqTzAyzR5gT803VPMEzs6z8awz+gC44XwUTxK8LjK0JcAHdI7 yXi+1lUWH5LTpSGf9ZbCN1ysS0EAr9kTapQz9iT+9mz85nGvQakWK1EDctR+vgZ6pM/u nYLhmPIrOg7PzjAJhO11YHQfPXvWASvJTXrPFudIKLa9B7gEmSP1Dwerp9dhb6zGe8Pl FISg== X-Gm-Message-State: AOJu0YwtPVSirxlfT4NevBUJyTtU4eFFoIIZpQHm6VQjKAZQ9XDEQVOS 0feI0lnfU7TDBo4Wog7wV5hbysunhDvIpwel3wQnYyyRSkoW5zbpLmB7IQywzOTbrfoYocO4Mob xYJDUHR0= X-Gm-Gg: ASbGncsuTMeW8BYolk+4Ni2QVsGgaJVe/bKWNcex8JACxKKTdxx5cVByJxCK2a8f6M3 la/3ByBHwHp+g71vxbIs/OG8q8WgxLbTJtjtIY0C9xvPYO722D76Ek/bQ0gQzwN67ayAqWkduyf wYSStOJXA4dj4LrxiVsf9AeK0fxWdI9tQ07nrFIaeiDuWHgySKxK28q76JW1KO1IceB1sYBG5vi Wv93b5rrBZat+8XnY9c9d2sPyDaWkJe/807kdO6mRrk+5eCsU+NyweaMlBFZP5ykuQm0MHbtfJL cFR1iGVCNuksnoWSehv83C1SbGAvq5/RXgn2yplF8G4eZxmFXihNiRZL X-Received: by 2002:a05:600c:1d0d:b0:43c:f44c:72a6 with SMTP id 5b1f17b1804b1-44c9160702fmr60834985e9.2.1748188958114; Sun, 25 May 2025 09:02:38 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:36 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 08/10] target/microblaze: Use TARGET_LONG_BITS == 32 for system mode Date: Sun, 25 May 2025 17:02:18 +0100 Message-ID: <20250525160220.222154-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=richard.henderson@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=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Now that the extended address instructions are handled separately from virtual addresses, we can narrow the emulation to 32-bit. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- configs/targets/microblaze-softmmu.mak | 4 +--- configs/targets/microblazeel-softmmu.mak | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/configs/targets/microblaze-softmmu.mak b/configs/targets/microblaze-softmmu.mak index 23457d0ae6..bab7b498c2 100644 --- a/configs/targets/microblaze-softmmu.mak +++ b/configs/targets/microblaze-softmmu.mak @@ -3,6 +3,4 @@ TARGET_BIG_ENDIAN=y # needed by boot.c TARGET_NEED_FDT=y TARGET_XML_FILES=gdb-xml/microblaze-core.xml gdb-xml/microblaze-stack-protect.xml -# System mode can address up to 64 bits via lea/sea instructions. -# TODO: These bypass the mmu, so we could emulate these differently. -TARGET_LONG_BITS=64 +TARGET_LONG_BITS=32 diff --git a/configs/targets/microblazeel-softmmu.mak b/configs/targets/microblazeel-softmmu.mak index c82c509623..8aee7ebc5c 100644 --- a/configs/targets/microblazeel-softmmu.mak +++ b/configs/targets/microblazeel-softmmu.mak @@ -2,6 +2,4 @@ TARGET_ARCH=microblaze # needed by boot.c TARGET_NEED_FDT=y TARGET_XML_FILES=gdb-xml/microblaze-core.xml gdb-xml/microblaze-stack-protect.xml -# System mode can address up to 64 bits via lea/sea instructions. -# TODO: These bypass the mmu, so we could emulate these differently. -TARGET_LONG_BITS=64 +TARGET_LONG_BITS=32 From patchwork Sun May 25 16:02:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892464 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp840048wrz; Sun, 25 May 2025 09:03:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUS7zlseNwjf11McKXJdQV6iPH5gFyiHcz2dhfg/6uHFs/J+aWPeF0AoINnlACJQTsDYH3kug==@linaro.org X-Google-Smtp-Source: AGHT+IH8EVWbz/kPvh6ahQLXtvTqBaeobbhhn5xUqhMXDOSvSwBcZFSB2Mxf4yqEOfFfdWTyaUH6 X-Received: by 2002:a05:6e02:b43:b0:3dc:76c6:436f with SMTP id e9e14a558f8ab-3dc9b7656abmr54897075ab.21.1748189027750; Sun, 25 May 2025 09:03:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189027; cv=none; d=google.com; s=arc-20240605; b=W/aouCDulDA3kI7vh5N61HrY/6S/A1FpsvqrAUqZwxodrJhVMmG1QN94Iu008S0Xde 2Qr/9yrczCkAjJ0D2/OuIbZrycAOEGrksV3ISwjrQWOJb7nd5S4uWTUbxwFhnkRC8/GD Nu1Qxv/yl6QyvU7wJ8UFnrRvWJa4HLLq4qWoNISQXMZPz0H8h22wPXD0m/OPHoCgmGMk boAI2Sf8EV+mTVexn243jvWhuPCoZJauUFN7D8rGRnZbFZmAI/vEwvJF9WW/CpQvunOU 6E8WYbor57DP2J/eDPtd3ijNg3BLLib2Cf/Wxi97lEXP9WIAYOHWx1mqVtm/eFH2OZ2b Ea+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=3z8i6F7kymnU0LwN0DeHuQEwxf48sA9XDGghzhBVGcM=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=W1sLvgv8mWvydIbl1ftWkcqzTrmDB5sxkvlTMlrnhQZlNQcNds1ZHQT3pf5Wr+uK+X MHyyq4uBuiYbLtme+oK/ebOwf0VSfWWwTKjG59mso630yZhxqde6XBBRAFeSlEuqHOHU 3SzGBgAMMs2YXSMdHzfcVEzzWpCMf9ARhICmjw9fqkkduEAa317ruuH2XdKoI6s53VWP 05rRrG+Bw5yoTMXQd3QpICyDVcNsdx5udMgI6CcYnMVF2tRHsgAp8S+v7hltlcCC6yrX YGEDLa0jloQUBYpfx9TgGyPMmEO4jNiTg1NZdmQ+5dQuAzijvky1SJzO6hf5Ef2biley 0ktg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H5oJLQSW; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e9e14a558f8ab-3dc84f25868si117588405ab.155.2025.05.25.09.03.47 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:47 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=H5oJLQSW; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoU-00028g-Oe; Sun, 25 May 2025 12:03:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDoA-0001sn-UP for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:43 -0400 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 1uJDo9-00038c-99 for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:42 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-441d1ed82faso11186115e9.0 for ; Sun, 25 May 2025 09:02:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188959; x=1748793759; 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=3z8i6F7kymnU0LwN0DeHuQEwxf48sA9XDGghzhBVGcM=; b=H5oJLQSW84F/cOfyoi32qJShah4CT1j/orWF5NtpZHRBSOgV4z5Ag3SNOhWvGjYaaL uAL6xEVtPdL7OYuyTEkqyVLmbYJQQMcnaQlYmCYcm8r7MJ616zNeBf5TSxN8qHzHveLi VZ3y0ycY6mOdJpkeb2yojo2wFRtTMjHx1R1Maa24GAW/B2k7Fo9Ls/ag/nhZAwRDn1Z/ P8F4qvVcuBk7i0AM82cGTqzbdoJST2YaIGt7wX2i/4C6YHio3oGaFoUtxd9MrOiVtynV UEDZafLIOBmwI9HRqJ3OFp6DKNjW5t+gCVb/Iyr1BRRKOKntvkcXCiZ0LUXvXdvGwM2q t7nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188959; x=1748793759; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3z8i6F7kymnU0LwN0DeHuQEwxf48sA9XDGghzhBVGcM=; b=NEdb+2lqGybi05LBoH+iy9qUUeqORs9APhQNaxiX6H/rxPGJkp5FWnJQKemkPIYVVT o9pzbkYMQPmuyKvfd8UVj3/37tmDvDQ+k/rA/1Kr5vJyQITRcG/CLmqASSO2/EF5migb xJQZev/YCWBV6WLpbaEy/taQJK+cb7KoDxUIhiMZHILjEoU2b3S98XpSr5Zpb5NSTxGT C1Wus9LFzdL1csEaLyND1zZ1MfxP42ZCHqwsWlgbvuersZAVLEWreA0XlW4BJGY8fVsg vR9OTTDgbC56o1MYmpGt9btCmcDc5OSLXWK3wsEF4CX1MDoOEorJG/NQpHUVZRf+E0wT NUuw== X-Gm-Message-State: AOJu0YzDvBf09Go/sGWvnhIXlKYZkJbzM3XHzo98D5qGHybcEL/HlIVQ mquW/i/5XeRQSiASNvqLJHKlnXFu2VwX28Lx7UgPT2dfOrUDNTROUyWW0/8ULzm7CMAjhYWLsB2 uVJ52VFs= X-Gm-Gg: ASbGncsMW9V4EYNZgE5VTq7AsiH98VQ3qLj/Sg/LzOc+IugSCobJigxvZ1cwQlAg0T1 mG0oxrDT0PD5Qx3kdgCFnYdmecb4gtIY8FurLH33/lSmbL0Fi0DC+cxDJshrYfXNxKMWaLQsmmI bO/uxT+k258jtIIzwg/1g8+4xxtTdJYEh2+kU28orIPNgtR7HiKojwcwrh3GzlWJXCZ3Jz6QH/i 1oLIe2H1IPqmoQStPVGxp7i4Ml9mIf6HVAfWfiWY2JxbfbGrseINTJgSwVbudqLk2+T1TVXzkJV a5ap47mcC1dDb356/1T16eFduWsWI7ZSAg0RjVOtpsseiTUOuro2WORi X-Received: by 2002:a05:600c:1f18:b0:43d:4e9:27f3 with SMTP id 5b1f17b1804b1-44c935dd80dmr51511815e9.9.1748188959528; Sun, 25 May 2025 09:02:39 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:38 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 09/10] target/microblaze: Drop DisasContext.r0 Date: Sun, 25 May 2025 17:02:19 +0100 Message-ID: <20250525160220.222154-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=richard.henderson@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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Return a constant 0 from reg_for_read, and a new temporary from reg_for_write. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/translate.c | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index dc597b36e6..047d97e2c5 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -63,9 +63,6 @@ typedef struct DisasContext { DisasContextBase base; const MicroBlazeCPUConfig *cfg; - TCGv_i32 r0; - bool r0_set; - /* Decoder. */ uint32_t ext_imm; unsigned int tb_flags; @@ -179,14 +176,7 @@ static TCGv_i32 reg_for_read(DisasContext *dc, int reg) if (likely(reg != 0)) { return cpu_R[reg]; } - if (!dc->r0_set) { - if (dc->r0 == NULL) { - dc->r0 = tcg_temp_new_i32(); - } - tcg_gen_movi_i32(dc->r0, 0); - dc->r0_set = true; - } - return dc->r0; + return tcg_constant_i32(0); } static TCGv_i32 reg_for_write(DisasContext *dc, int reg) @@ -194,10 +184,7 @@ static TCGv_i32 reg_for_write(DisasContext *dc, int reg) if (likely(reg != 0)) { return cpu_R[reg]; } - if (dc->r0 == NULL) { - dc->r0 = tcg_temp_new_i32(); - } - return dc->r0; + return tcg_temp_new_i32(); } static bool do_typea(DisasContext *dc, arg_typea *arg, bool side_effects, @@ -1635,8 +1622,6 @@ static void mb_tr_init_disas_context(DisasContextBase *dcb, CPUState *cs) dc->cfg = &cpu->cfg; dc->tb_flags = dc->base.tb->flags; dc->ext_imm = dc->base.tb->cs_base; - dc->r0 = NULL; - dc->r0_set = false; dc->mem_index = cpu_mmu_index(cs, false); dc->jmp_cond = dc->tb_flags & D_FLAG ? TCG_COND_ALWAYS : TCG_COND_NEVER; dc->jmp_dest = -1; @@ -1675,11 +1660,6 @@ static void mb_tr_translate_insn(DisasContextBase *dcb, CPUState *cs) trap_illegal(dc, true); } - if (dc->r0) { - dc->r0 = NULL; - dc->r0_set = false; - } - /* Discard the imm global when its contents cannot be used. */ if ((dc->tb_flags & ~dc->tb_flags_to_set) & IMM_FLAG) { tcg_gen_discard_i32(cpu_imm); From patchwork Sun May 25 16:02:20 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892457 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp839890wrz; Sun, 25 May 2025 09:03:29 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWtJumwmMHSPN/v57YPgmFZYVKeDWQmCRqZ40K+Mky4DK/tSjTcSWe5FWvpty/AOaCmsUflJg==@linaro.org X-Google-Smtp-Source: AGHT+IGoE8uBGu8OgkoniUH273oXY6MDXsTCeCRhok9BZe7mMpKGDNPlFmXBcJb/6thvnj7Z2F/7 X-Received: by 2002:a05:6602:7509:b0:867:2374:49cd with SMTP id ca18e2360f4ac-86cbb7b73demr589482639f.2.1748189009766; Sun, 25 May 2025 09:03:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748189009; cv=none; d=google.com; s=arc-20240605; b=ZEmDuxMmxySPwcLO1OXvsAaYU5Dyx50fOGRMOERGIUJkncThWeYyBwpwlOnfki/XmN XNEHZ1tz8bqIFFXcJO/kEvodmQas98fKMvMka8/1IpxsMK7Y8H+YuQtvtlkIuTMRf+ad weq/Rvf41sFEyIp7GcbjliRR0ICdTwWlubVffikcHxczz5XKB2QHCLK97uhFv5/pOq09 YNijLRMmXsTPVnouaispyFaYHB5bmOOYmLLbk3EKt7DVFknutSacErDANv73VsYwH25E 5aBaC4xX56qAJSHtPD9mVBez6MRczPqiRh0loKCSfOI2TyQE5dKBl456IVZBy/FnO9FJ /P6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=dgSJN1ppHGjsT9JgPnrurYdg7bW60fCBF3+cvS+Ghsc=; fh=8mBO+FwhNjUD9ALhUxcYEwIlwc/hLQI6+6+QuDX34lg=; b=Y/txjmdiacQnEFbGstejM3DpcK08ptqzn6e1/w06MCepLjRIzH1Z1f4E/HKyoJ1HLA c5umowxYBlhEmDlZn5GYNZtgyHGiP36+bAZqPkOq61Mmz9KjI97f7wWWZTHAlnMD9w1D v9fyqwRKTcK1LgbbsPoMWXwCJZ5DpBbLD/1Zr0Q/PAE5uGQOAkPgNLcHYd+HOlYpjegr nWooJC+gMdNZJCtOBykSnKMJ/+PSS5hv9DwL85Mqq8gDFT2B5VypPH9nuuD2RB8iPRZw mtHX5WwlPCIgtts5HKeUyt6phAXuvarYJlSOTW4StyvRubycV1X+SHDlXHVJDQuloriY EtXA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=WMChrVLS; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=fail header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id ca18e2360f4ac-86a235b91dfsi2105703739f.3.2025.05.25.09.03.29 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 25 May 2025 09:03:29 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=WMChrVLS; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=fail header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uJDoW-0002B9-Pf; Sun, 25 May 2025 12:03:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1uJDoC-0001wY-RJ for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:44 -0400 Received: from mail-wm1-x32f.google.com ([2a00:1450:4864:20::32f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uJDoA-00038u-Pm for qemu-devel@nongnu.org; Sun, 25 May 2025 12:02:44 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-44b1ff82597so13672935e9.3 for ; Sun, 25 May 2025 09:02:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748188961; x=1748793761; 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=dgSJN1ppHGjsT9JgPnrurYdg7bW60fCBF3+cvS+Ghsc=; b=WMChrVLSW4nt2P3nbe4XCzea7fGcrYP6Ohgfi3jrYaPO7e9df5haGS/l9qvhCJnUKg MALy4KXK4eTtPv26sMzAFnth7N1aOt0EyNBl8LPEZNdmdsAi5nudoQm2FdyUlfXwWv0L TXiasUj75E0AuRnZKEjRoF8qxFNb0dpgFVMFLifKPJnpfHkL4sBGUh6cZEnZ0mAsj57w 7JFnVRLDcjOH6fCmc24uQZUh13/ENzWqjRHPQiHHue0PCtRamrHhIddSMKP11RJpoJxm RV1GEMNCK2FLx5KAZNTJXBmMp8eOuzs1Tm5G3zL9cX6jKWJu153fLWd5633E9WzrSwEw V3Dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748188961; x=1748793761; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=dgSJN1ppHGjsT9JgPnrurYdg7bW60fCBF3+cvS+Ghsc=; b=JMf8x37jnsdsSGPy/OSKG2Zl0Aps1dkkJRdy0jNs+Zo/6AZgVxOo34VzMq/4EzOW5A 3O/+//Qmv2xodfrc/LtR3tqxPn8NKbSh79d1JvFANFXYqIAlaYBBfgFsm3R7j/ucziT0 4BhPYb5OZCoS77h0SIV2RlM6BgGQ7zuSTBXZDZWS6RLTpaS1gyJvaCV7ExbGjSfJjjgv Ml/HNlVbwazMryi0G3dDRa4g0V9NVPtnitXcQ5VizJ3Hs2ju6k8xNJINKLAM6Ea/txEf yX4GgiNo8sJtadFMLjtRfS2PfQfLrJQaXPlnlV07qzUNnzr7uKBuLBGDYAg+mDzU5E2r zl2Q== X-Gm-Message-State: AOJu0Yy9pI8jig8ntPjmFczPfZ468xzmsE91OiIPSoOE+Mze434Vj3oj UDclbftgA6rUqrL79bRHsJCpU26PGq7qbLH+9B2C2liBXPAMMCsJjykzJqfGP6yPosKdfz9ADLK 40DWO/OY= X-Gm-Gg: ASbGncu/MjuvLmjdfEq9vYsvD84ltmFfRxs24L8POMCeMsK/eqswJ3EDiLNk6MIh+jt CDUV23IiSbi3MbXY6GMEA9lsEdDfjsXT9HlxA4NbgsTUslsKwZMDeuO/4RTijDHpkP91j27DI/F OLFVuEu5xXt7MKtH8LfO8/bHk4mlbFiUnYjq9TXTnr1fThMKRBKjHk6aC0P9l9/7YQ8N5m4umAd GAyAvNDbh/BVhiQRqZJXfIjgSwWcc+xGoFyi+5Hqefc/SvyBqO8U6f++4ARmxRz2828D1anUCiP 3V+l5hodTUH8WwVAu+lj6tk8wGVigvrwzAgvkAOeo/rlQHIcgrqFl4oydY+ZH7KSwNY= X-Received: by 2002:a05:600c:8518:b0:43d:9f2:6274 with SMTP id 5b1f17b1804b1-44c91cd5123mr59883715e9.14.1748188961024; Sun, 25 May 2025 09:02:41 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-447f73d4a3csm215772545e9.22.2025.05.25.09.02.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 May 2025 09:02:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: edgar.iglesias@gmail.com, philmd@linaro.org Subject: [PATCH v2 10/10] target/microblaze: Simplify compute_ldst_addr_type{a, b} Date: Sun, 25 May 2025 17:02:20 +0100 Message-ID: <20250525160220.222154-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250525160220.222154-1-richard.henderson@linaro.org> References: <20250525160220.222154-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32f; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Require TCGv_i32 and TCGv be identical, so drop the extensions. Return constants when possible instead of a mov into a temporary. Return register inputs unchanged when possible. Signed-off-by: Richard Henderson Reviewed-by: Edgar E. Iglesias --- target/microblaze/translate.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/target/microblaze/translate.c b/target/microblaze/translate.c index 047d97e2c5..5098a1db4d 100644 --- a/target/microblaze/translate.c +++ b/target/microblaze/translate.c @@ -606,19 +606,18 @@ DO_TYPEBI(xori, false, tcg_gen_xori_i32) static TCGv compute_ldst_addr_typea(DisasContext *dc, int ra, int rb) { - TCGv ret = tcg_temp_new(); + TCGv ret; /* If any of the regs is r0, set t to the value of the other reg. */ if (ra && rb) { - TCGv_i32 tmp = tcg_temp_new_i32(); - tcg_gen_add_i32(tmp, cpu_R[ra], cpu_R[rb]); - tcg_gen_extu_i32_tl(ret, tmp); + ret = tcg_temp_new_i32(); + tcg_gen_add_i32(ret, cpu_R[ra], cpu_R[rb]); } else if (ra) { - tcg_gen_extu_i32_tl(ret, cpu_R[ra]); + ret = cpu_R[ra]; } else if (rb) { - tcg_gen_extu_i32_tl(ret, cpu_R[rb]); + ret = cpu_R[rb]; } else { - tcg_gen_movi_tl(ret, 0); + ret = tcg_constant_i32(0); } if ((ra == 1 || rb == 1) && dc->cfg->stackprot) { @@ -629,15 +628,16 @@ static TCGv compute_ldst_addr_typea(DisasContext *dc, int ra, int rb) static TCGv compute_ldst_addr_typeb(DisasContext *dc, int ra, int imm) { - TCGv ret = tcg_temp_new(); + TCGv ret; /* If any of the regs is r0, set t to the value of the other reg. */ - if (ra) { - TCGv_i32 tmp = tcg_temp_new_i32(); - tcg_gen_addi_i32(tmp, cpu_R[ra], imm); - tcg_gen_extu_i32_tl(ret, tmp); + if (ra && imm) { + ret = tcg_temp_new_i32(); + tcg_gen_addi_i32(ret, cpu_R[ra], imm); + } else if (ra) { + ret = cpu_R[ra]; } else { - tcg_gen_movi_tl(ret, (uint32_t)imm); + ret = tcg_constant_i32(imm); } if (ra == 1 && dc->cfg->stackprot) {