From patchwork Wed May 28 08:13:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892927 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079345wrz; Wed, 28 May 2025 01:15:28 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXBxdQ1xtoo/h7Y1yf0YeKuSc7y/H5U5I5mE4dfP/EKcbnT3xRBX+a/RDuYLpdoGUsXnfcxhQ==@linaro.org X-Google-Smtp-Source: AGHT+IF5PKbvYIGy8cO14NRdW/rsDW/W+j6ZRzrPs7krVmDFVQDJP1OzLIgJkp0kVoN8C+JPS22x X-Received: by 2002:a05:620a:3198:b0:7c5:95b6:b40a with SMTP id af79cd13be357-7cf06db4eaamr514535685a.27.1748420092437; Wed, 28 May 2025 01:14:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420092; cv=none; d=google.com; s=arc-20240605; b=URb2YHwmJvV4/I3k/NmBtMcEbDHkJxJFkYmUJ31x1l+VOwXbgBbFZURg/rc6jdwXMv Mq9MkxRcZuBY/jT92lU+TV8pDOCZXEGk7KI3ctuloQL2f14yvFbzXGkVeOtNVMaY3i/f pzzfujW7VS9Jag3h7pOzVTZd0o5C/QcGBywpIlD1JNlwpaRq70RdnPm0htzq2QazzPIA 8Zq2aNE39tDvAbE4p9Fb2DTUvwGtZEACv8/d2tMGeC8sRL/EiZustl5r6pybmO0Bkf+t OuzNtx6UAQ3lFB64HNjAyATF6euW6QNXIeR9Z1uRhjfioBGF0vu/BgcY2jnHpHXFKLTc xXTw== 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=2R0giq/C1Km848MTITSAVr0NKLywWDm7jQSIufkU8ao=; fh=bRIuNxSxk22GTGdVLAvpgA6TmsDmwn46OYQ17XWrahA=; b=Enu/lR2eIWIrYjg/5pgrw+0lS77fSuFwAIQilVcUHR64fZpV5HWPY0MvdTrJtVyyOQ 225dCXG4CDxbSeeeEvGkTDcixMZZThg/bR4fa8kCBNFs8cVltAgBiMD79gBJNBt8L3e2 iSr+691paTEgWieiHqMwoOr9r9hSG8AWA4ZIrNKK6WbJa0Wu3/gyI7dHH/uRq/rwgs2L 3F291Er7+HB8emsN2GWw59flzsi2UDZMqVeEAd6o2iT0IODeuPHic6SO66o46GnzFtxZ Q2i0LLPe2iFYdPEhqXVlhPvZssXFiW06rrWWm+2Dsp9p3svsBuWNd9Kmp3UCAjQb4/Z4 t7sw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=JETGH+qr; 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 af79cd13be357-7cfc5f7593dsi79875185a.588.2025.05.28.01.14.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:14:52 -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=JETGH+qr; 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 1uKBvh-0007uZ-Fd; Wed, 28 May 2025 04:14:29 -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 1uKBva-0007tk-DX for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:22 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvY-0005Cq-E5 for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:22 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-450cb2ddd46so853575e9.2 for ; Wed, 28 May 2025 01:14:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420054; x=1749024854; 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=2R0giq/C1Km848MTITSAVr0NKLywWDm7jQSIufkU8ao=; b=JETGH+qr311FGoEq/iablvxe1OoVIPEYhrEqFBmoRQbLgCylhJ9U9iLc//x8EDD/kN +wDpKCzQCJmRg1dYg1iHNa4zSgkAhJbhvbFJH9nlIbGiT9ZokBIkgrrdQJ3Y79BTXqXY DrSubNImnNnK7Cgbp7PeGCTelIW8RkFVEhsfqjffhgbF2dD5Hw17bySx5KPxIt0xWj5I KXa8Un0hxrgXNzdjfxtUIP1OZKfJpQZoRZq75h0fYncmj58HGTb1fNBvelw+4p+fRQ2j Staq9zMkpjMgxl7oFEC35yg61A5CikXVTkFaqr9eDis+aD9A16pFQ2OUAeoree/fP5gy 9JRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420054; x=1749024854; 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=2R0giq/C1Km848MTITSAVr0NKLywWDm7jQSIufkU8ao=; b=NO/V0jY5SRuhnFeXAoVWz4ZOzl35YTrNN9dqSn8PvLqbNjrqPVOBsfHIvk/IdV5cxf 4RYydkGk5Q2/r+picRNE6PCc7T2SKbKc5A+5J4HcMx4HaKHiaHk7mnPrG4kXMgQ1u3E9 mnJ2kotS6GRxOvWhxaVAb9YkOQKWHZ1odKpG+CDHMxD3VHX3gRHA+/NRApf4ZZTtY7K8 PwFJYx9plNIAl4glS4KhLRIzohUzZyWUIpQu+yFknTLPpDVE8VmtJyldRroOBnxJYghr n8foXXMEQyd0mB8dSOHXMtASjeU9blY6C/9H0xc7UYWZ/cAYgGQGozY7VS9oc7lZaf5p 9mFA== X-Gm-Message-State: AOJu0YywFD2q9iyCltKHIXVioytST+8UK62vldXoS7vFhLGogb70fQ3z FfnI7bOmBnEVz3nzMKKt6L4IegYqpDEG1Jy4tsU9tBOdlZ8m2ffWcXuw0QoKlAzQW4loUJD5VyC nSmJ8mt6oug== X-Gm-Gg: ASbGnctqJONYd5qUuWAST4fwrMi0qt2K3GElK21FGzcAoXy4BYhvIaMRznghULkMjHZ zlBuQotvrBHpTLzevSTJBXfqXYQn2TiwZVJ5nYSDeewey+mSr1VrYZaV4HGQRy5/KNbWg5OXYHX +pInTUrcg5JPC6T4lnMNnOSi5DkFcoFW1MMkwt1IUiiG0XXJJbDlzIiH6tr+fGlQSJKl9vlFhKH GLI8oxlQ4OG312iY08bZYU4Gs8KTQFyr97+vNcMSel1vtAtPiZYWUnEOJ4vih6D8B0YXGboEOjv XcTdlWg7+g7F+HtVJmp/c4N8GhtDDI1fI/KWEZ1ZEHYrdBhTnK9s+HJQ X-Received: by 2002:a05:600c:46cb:b0:43d:94:2d1e with SMTP id 5b1f17b1804b1-44c919e16a8mr134045325e9.13.1748420054317; Wed, 28 May 2025 01:14:14 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:13 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Jonathan Cameron , =?utf-8?q?Philippe_Mathi?= =?utf-8?q?eu-Daud=C3=A9?= , Pierrick Bouvier Subject: [PULL 01/28] accel/tcg: Fix atomic_mmu_lookup vs TLB_FORCE_SLOW Date: Wed, 28 May 2025 09:13:43 +0100 Message-ID: <20250528081410.157251-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 When we moved TLB_MMIO and TLB_DISCARD_WRITE to TLB_SLOW_FLAGS_MASK, we failed to update atomic_mmu_lookup to properly reconstruct flags. Fixes: 24b5e0fdb543 ("include/exec: Move TLB_MMIO, TLB_DISCARD_WRITE to slow flags") Reported-by: Jonathan Cameron Tested-by: Jonathan Cameron Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Signed-off-by: Richard Henderson --- accel/tcg/cputlb.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 5f6d7c601c..86d0deb08c 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1871,8 +1871,12 @@ static void *atomic_mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi, goto stop_the_world; } - /* Collect tlb flags for read. */ + /* Finish collecting tlb flags for both read and write. */ + full = &cpu->neg.tlb.d[mmu_idx].fulltlb[index]; tlb_addr |= tlbe->addr_read; + tlb_addr &= TLB_FLAGS_MASK & ~TLB_FORCE_SLOW; + tlb_addr |= full->slow_flags[MMU_DATA_STORE]; + tlb_addr |= full->slow_flags[MMU_DATA_LOAD]; /* Notice an IO access or a needs-MMU-lookup access */ if (unlikely(tlb_addr & (TLB_MMIO | TLB_DISCARD_WRITE))) { @@ -1882,13 +1886,12 @@ static void *atomic_mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi, } hostaddr = (void *)((uintptr_t)addr + tlbe->addend); - full = &cpu->neg.tlb.d[mmu_idx].fulltlb[index]; if (unlikely(tlb_addr & TLB_NOTDIRTY)) { notdirty_write(cpu, addr, size, full, retaddr); } - if (unlikely(tlb_addr & TLB_FORCE_SLOW)) { + if (unlikely(tlb_addr & TLB_WATCHPOINT)) { int wp_flags = 0; if (full->slow_flags[MMU_DATA_STORE] & TLB_WATCHPOINT) { @@ -1897,10 +1900,8 @@ static void *atomic_mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi, if (full->slow_flags[MMU_DATA_LOAD] & TLB_WATCHPOINT) { wp_flags |= BP_MEM_READ; } - if (wp_flags) { - cpu_check_watchpoint(cpu, addr, size, - full->attrs, wp_flags, retaddr); - } + cpu_check_watchpoint(cpu, addr, size, + full->attrs, wp_flags, retaddr); } return hostaddr; From patchwork Wed May 28 08:13:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892926 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079164wrz; Wed, 28 May 2025 01:14:53 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW2d0iq+jT7gXgu1cZDojWVPAoLMvt7zI0BMoVDIRrjexO4M0pwatYaW2tMevmZB580af20JA==@linaro.org X-Google-Smtp-Source: AGHT+IF4I4SRp7xdWwvvTXGzCGdOWkDtEM/4HkU3c1+q+McwEPy4ZpG/ViGv8h7N1ALGflmD/CmQ X-Received: by 2002:a05:622a:429a:b0:48c:54ad:c409 with SMTP id d75a77b69052e-49f46651535mr182169221cf.10.1748420093251; Wed, 28 May 2025 01:14:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420093; cv=none; d=google.com; s=arc-20240605; b=Df0nWbAR5FvZiqxKfgsTVLwSZQG2x4NCWG0cvr+/HR1TKhT6H9ca4p4ObfONpVbo1f qO42cvA8VnRTRq6znjOnt1Kh1tY1RAEL3kWX2U2OZ//8nLYeg5AfYIPNB3+Me8V+X1ZI uGxdgG7uw5WLCN5PnHlxjxpuL053N/HHnyf539qsvC3t4vRQqMtqii5ELWQiN0j4Pnvp B5KCZ3YT6d3cdKfLviBy2Os8E3z67EnkwQSj+0kCxpLd1T3qtZdb9C0TS74TTggs3Wet d+PB1FRxYxCXCtZVxIHHL/oZU+CsbJP6IL2fCYe9/ruEMyvltzlICi1GSzsBoSjFewjK AaXw== 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=azdm+UxBkdRxIzgKmwhwW+GH3cYuHoEtpkJtFbR5x4c=; fh=vm85eyWrvOAHduw3sqEA+cYBqvHB7M0MHFcRJg7VWOo=; b=d+oPfy9Vg/66mpBY+rohEBsPpg/+U2nIZ8Jglbeq7mkDof8zVfzVr2SyxPgcIoFTLY eMIUJIz/qwX7JMh48oUq7dYmB+ZsnOUGV7xWjhalzF+eYeEr7cKwk00i9+RaX0zRN31f XnfE0iolgRehca+4nnrL1QEr0TyPRYIVyZCdtpYfG15Qh0Ae+mPCfzaxrkf68lHnhQLa hlVMSNmb0KDxoLntKyUbbFbeg1cSTuaKSFCXZFfioWV2aWuuEbRPt6YEkqRgPtKop3sm CJsWITLca84dqNkUd7vwwTKcqUsPO8esvjCQQgQj4mDjnAWu16RagFeJ4m3uhJX3K9ZH 7F7A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=eCDfRk0j; 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 d75a77b69052e-4a3c7922309si7648731cf.159.2025.05.28.01.14.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:14:53 -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=eCDfRk0j; 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 1uKBvk-0007w7-EK; Wed, 28 May 2025 04:14:33 -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 1uKBvb-0007u2-Po for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:24 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvY-0005Cw-OS for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:23 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-44b1f5b917fso25867515e9.3 for ; Wed, 28 May 2025 01:14:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420055; x=1749024855; 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=azdm+UxBkdRxIzgKmwhwW+GH3cYuHoEtpkJtFbR5x4c=; b=eCDfRk0jEnnEzUB7olLHyzPhQw7xnrF6qgBuqWmx397UMcnMYVHLelgYnyqVBfpKAh bHiHCoA8kgUotg3MJY8LLQm2pY1iZ93BZfRCupjLTqh/BIp5n7B2N1yJKqVMaAqgzFe6 5igG37QxY6e5QxgcrIGYeTWXIIEG4Zym97xIavlPh3VFBp55+OMQCbnXE+wy8Z3n9tNw lROmHISvKVHQpBlajbCSSWBLqRflfJmw2/0J6DZUAJdO1N4GCPL3uYgEnzA+SJLqzNmR 8D9j0gwNxCgsbn8zOpijqGJsw+SShCBKY7I6mEPs8gYx64wU+yc/lFzV6pAf9Ob8TAyb DyaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420055; x=1749024855; 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=azdm+UxBkdRxIzgKmwhwW+GH3cYuHoEtpkJtFbR5x4c=; b=cs586kZNrNCi9O9NCUZUP62tZzxr4hCTBmk1spf4pv1r3GBnRU3nGvHOjehlw7luew BzgNxz1g2IgQUc+6njnAyk8RNuI/AxXqgHJrISJWRh+jXMakZga4VrjNiXevbdh+Ru9L L7BJIIrSMQBqNaiRLiR6dI6T19aiCa1jb50q2TnbdFLL8QHgIN99stL+1CFhDCU6rIid Rav7+8yQG/jWfzn7F2F8YP8YPW8JbNMvU+M0GAstK/Qh5ICNZe6o8Gyz7uX4+3xmTNKW V9cJPb+isBx8ocdwuNMiqKy0kqe8l6mrrchtvzxl4PswAaoJ7fwP5sIheoUedzqcUgj8 vYwg== X-Gm-Message-State: AOJu0Yx1JCv4hWRw1u2+K6b1eg+MHA7z3YUgs1zGJsqKJMYp1nkg6seg TK/OyNg/vIpJ5zlflMLteO4BH5Y/Rp2dnzfXhV+7fDwMXtRwdCjFSYHY1010go+TXhX12l0n04P +9awBgWdOAQ== X-Gm-Gg: ASbGnctvS5KU8FV7T3/kTPRgQOLUk8+XQddn0O1IkF23GJNbYRi4Fsmv6W7Jyw1LLef HviPMjKySd6pDYE+NvGUn+6M4xPd+ZaR05GHrQa3uC1KWJqn0wqE2vgN2KlD46R7Z22J7F3VNu9 nm9vD7U6Zl/bqNOjfaRghvbXRrMjgqHN1z0Oa0VxH+RDdqeUzfnRZOrlfnErLj1G3Cw/6xG2hpK WHWoNbI078lTBkeO6sS9r/FVjXq8naCeHengfhDUOSn+Rmzic/dID6aq7TKUAXhdRkqmhg9LKBg RykxTTs/vdoHny3RX9ZWcZDITyk1x5NE1/RRho4ggbSI884sEDXIjp34 X-Received: by 2002:a05:600c:6308:b0:43d:2313:7b4a with SMTP id 5b1f17b1804b1-44c9141ac4emr179687875e9.3.1748420055508; Wed, 28 May 2025 01:14:15 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:14 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Pierrick Bouvier Subject: [PULL 02/28] system/main: comment lock rationale Date: Wed, 28 May 2025 09:13:44 +0100 Message-ID: <20250528081410.157251-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 From: Pierrick Bouvier Signed-off-by: Pierrick Bouvier Reviewed-by: Richard Henderson Signed-off-by: Richard Henderson Message-ID: <20250515174641.4000309-1-pierrick.bouvier@linaro.org> --- system/main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/system/main.c b/system/main.c index 1c02206734..b8f7157cc3 100644 --- a/system/main.c +++ b/system/main.c @@ -69,8 +69,21 @@ int (*qemu_main)(void) = os_darwin_cfrunloop_main; int main(int argc, char **argv) { qemu_init(argc, argv); + + /* + * qemu_init acquires the BQL and replay mutex lock. BQL is acquired when + * initializing cpus, to block associated threads until initialization is + * complete. Replay_mutex lock is acquired on initialization, because it + * must be held when configuring icount_mode. + * + * On MacOS, qemu main event loop runs in a background thread, as main + * thread must be reserved for UI. Thus, we need to transfer lock ownership, + * and the simplest way to do that is to release them, and reacquire them + * from qemu_default_main. + */ bql_unlock(); replay_mutex_unlock(); + if (qemu_main) { QemuThread main_loop_thread; qemu_thread_create(&main_loop_thread, "qemu_main", From patchwork Wed May 28 08:13:45 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892928 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079385wrz; Wed, 28 May 2025 01:15:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWc/qi4lZJcGtH8lOR6RpImUOIEmuFMlQBCqRN06tE5WzRFxZPYu6D9u3uYdzEGUXQXUG7HEg==@linaro.org X-Google-Smtp-Source: AGHT+IGSQK6LnVS8t1DMCq3uS+mMXAV+6ss+4+9ntQKEGrlIwdFRL/w4eV+zTULb8iFdskMCRhdX X-Received: by 2002:a05:620a:29cc:b0:7ce:bddd:7119 with SMTP id af79cd13be357-7ceecc8f92cmr2362163285a.51.1748420136029; Wed, 28 May 2025 01:15:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420136; cv=none; d=google.com; s=arc-20240605; b=QMxyF6hB8PyWWxeNtqScGF6GjYpsvv+BB2QHTCDASaf1gg6mNzlkREyTRNkSlwXETg 0XJn3bg3n3gs0e9qZKpv25Jk0rXLgj5w5FJSlgnltLobaQwDbNKTc/yCcLNlihsebGF4 lWEzU39QnzoU2SfZlnjJNf3+p8Wa0+wbacZs31+BOYUhvsOuAOUb3Ky6Tvl+I3qZpS16 +3xPDMlxe8PkOFs9B9+o6UsI9+yehTOA2BLwf5z/QU7o4/duCAcqYJIt6eBqmS+JczcK mRRR4PVxnQ63oHPAVbSl4Sr2t/KW8829Q4R7s8PNVci2WI/rVRED0ZCdYiTMkocPFnjH shMw== 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=zh/urG861ozt+kR4uVLI4zuKmsrdPyReVEilzcFUTzo=; fh=8c0w1Y/Hj4Gl/Vt6wBvf654EGKW0UtRIa5T9ySUitCI=; b=eqvYZnJVn3Oi937xTtoqB8cJV9QZNZ2kZSsz0w+ufupPxYAUpCZBbR9z6qaXoMYPCH cquSR0lhyt/br+JOaCKqToepxjWvnkPNn+wjZ83WhcWwHGbjaTEoRKTtAtFx5wzbcLN8 YNC4WGppR/nrO4PTS36mIrafqqMlkqSof6KOcmejdp3CWEVkaJpBrDeOyKf7aPGAx+Qw OI98pPANDpKALPg7dBFc6cnbsrnKjQqk0Py74BS2XMZuiCVl+ZZGT3eUYpUAmDFDpWYr C+UdXqcjVGufsyCrDt8DAzI90yRQUy6Jsl1tDTUs/eknIykFlgm5kSfGi+6Dt85MHB7o eA1Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bQrqDkAS; 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 af79cd13be357-7cfc60840e8si82015785a.617.2025.05.28.01.15.35 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:15:36 -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=bQrqDkAS; 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 1uKBvi-0007vF-TA; Wed, 28 May 2025 04:14:30 -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 1uKBvb-0007u1-PT for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:24 -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 1uKBvY-0005D7-NL for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:23 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso33407345e9.3 for ; Wed, 28 May 2025 01:14:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420057; x=1749024857; 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=zh/urG861ozt+kR4uVLI4zuKmsrdPyReVEilzcFUTzo=; b=bQrqDkASf3NL4gF+KnPRkG3kK7ZmfZrctqoREtH1aL9wvzEKEHAPf+KcUXL+Kd8PGQ ABG0c9cQLthYwx+i6i2PGZoxKDTfee3sIvNO7kiFDXVfQUobsaCtHoxF5/uq7smbgzN2 9nwGXLgGQFUhvnncELVd2rjlavcaEV1WfAvhuNGVSZm7kwLCRyx/eUHtjfBlUMBRM0Bz 3PAnmO3pRfUHxbjOEaQk3sHhTMyMK5RSUx22hwnYhiSRcnLolGNjsb7Tw4BiikTYPUSs yeTwMINM6v3qOBrL+l9w5SBgio0RWl9tthrJw9lV0MUQ1lou6FOnBNcPodN4W2FDMEQf nn6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420057; x=1749024857; 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=zh/urG861ozt+kR4uVLI4zuKmsrdPyReVEilzcFUTzo=; b=tUcA44msHVA1Vn3EK1sIfC2O0G+hL1zqGGbtcJwHPbq5oQ5vrJwvZReMbSPFr5dlVP LFWwoTrpnTXvunLjOKBD+EKyweozQeG7ZR/DbfjXfUH8kiA2S52mCwLhWTLSsp/fr5de K1gQaA0UGNrtt2h3vBXXez7RNQhg6k38SlVJ7+9PHDEXQafSr78MT5SZMnIdXpz8Ohs1 d9OUx+eNGTgD2qPIb0yqfd65/c7uOaxC861NAIoCuSbzFXRRBGV8gx+jUsoSN9pYhrGN y8jyLtP2zv2MjN0NdqJSy2/Fw50HXKnwfd7hqBgaEgc6Ve9cSj79I2dnkkU3HEdtq27E fujw== X-Gm-Message-State: AOJu0YzCGikcRCIn+2LSs/voCm8d+4Mkr9vk6iA25xT0BxwsK2HPWrWt V+lAJH/eHcKeDERl5KbYj9A7O4yVcynSEnUTFTo4RAlyEiLymWux5vLeETa4pkiBNjLmkOiZw3V dDIHarRpN7A== X-Gm-Gg: ASbGncumwjerGsBGCNEUGD98S5dxyGFCVAmgT7Ya1vG8nZ6w8WFC7AQqzBarbescoyV zNt6JuFz6D1rE9x/ar4odKjLdHoVBWBo8YPiepLH+rDC5jk/rJv5MeBwcyOO/LG2ANsKg0oczmk T+6qPyb0a0+/mas/V/zi0ptovvHpTnEl3VIr5s+k0Pp8sBxqWlIUifZgHKk34ev4LHo6kIDEIEe Dh+QpAz54VgFf53SfArer6QmlxD0zI91+jY43SCJXt1zl5+DHVMv0U+xu5lPgWN4/7/yo29AbvN X638YuKPueRMVSoLELVxtoY8SWbfgSRPz5n1YtmBlcSfgSJQbN6nNhGSkvSDSin5tGo= X-Received: by 2002:a05:600c:8189:b0:442:c98e:79ab with SMTP id 5b1f17b1804b1-44c919e143cmr141928085e9.9.1748420056632; Wed, 28 May 2025 01:14:16 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:16 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Andreas Schwab Subject: [PULL 03/28] linux-user: implement pgid field of /proc/self/stat Date: Wed, 28 May 2025 09:13:45 +0100 Message-ID: <20250528081410.157251-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 From: Andreas Schwab Signed-off-by: Andreas Schwab Reviewed-by: Richard Henderson Signed-off-by: Richard Henderson Message-ID: --- linux-user/syscall.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 23b901b713..fc37028597 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -8235,6 +8235,9 @@ static int open_self_stat(CPUArchState *cpu_env, int fd) } else if (i == 3) { /* ppid */ g_string_printf(buf, FMT_pid " ", getppid()); + } else if (i == 4) { + /* pgid */ + g_string_printf(buf, FMT_pid " ", getpgrp()); } else if (i == 19) { /* num_threads */ int cpus = 0; From patchwork Wed May 28 08:13:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892933 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079832wrz; Wed, 28 May 2025 01:17:03 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU1EjNI8oRHlcfJACGLN/4MbFqclHXOYRWenxhVZaJXl2wCeKTruGsW1ldFYGYiI2k1mj/eZg==@linaro.org X-Google-Smtp-Source: AGHT+IGDTomc13Y41nJ9EFfJoVLH88+XPDgA0xRqPLsXGk0Bbca4gSfok+eD2SsTgecbkX3SSAJq X-Received: by 2002:a05:622a:424b:b0:494:acbc:ef44 with SMTP id d75a77b69052e-49f46e3dd16mr282160191cf.28.1748420223451; Wed, 28 May 2025 01:17:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420223; cv=none; d=google.com; s=arc-20240605; b=V1YCprqQ3h+PeNVQFPtn2KVAPc4Bz1+xHnVVMUofaMjw/WGZ2rd+8yxK8Htq7yDKbo RimDFsgwBkzLSb/7muqHofOT2NbxBHRgG/aufW2BsOkoTw+r+c3iEcmKbPkfjJfq4Kk4 MAH1qWzC4Xs3YeZVOV9xUoPF/GMPnKyoQj1wwhoPAxcRPkS8XRxr2za/Od0GMhDcIe9Q pqL9EkTob1sud7+aXKk0fAGqbVFep0jVrGq7+om9OL9b4Y9rgUaqu9NTfN89viwMILaL u38b0pVAKnwfv/wvHs1fZ74npPqrxwTTGQPbcMCOSSxCC2PxzOq7Ukx7NVFAqqROrlXm Ww6w== 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=ZJaBhv0ijUe3F26URh+WI237MjGIudTdQQErvUey5XI=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=D+7476STZtlMM86zXa73xQE0f9Gxhnp4FCWOm+PxCR18FZsk4S2OliITzNzYbbOsLx 7Lt/LtyFHkTZmQh+7ShzMMk8r9Rj0DzOlrYMkqSFzCu3KQUL7s6Q36WvqjH6sstpfhaB /UHN5W+6MyEIkWuPoNwIB5cjvOiGkvJcxk/XaxkZDzXu6qtvOoBUEgSJhnLTYpkTMHwh dKgOrBOpPsRTenF8nf0vCFjGHgexflulcOY7xCk7UZDkJ+y68RNmKnkbWSOeIyBTmFth 9BqSRxDHd16XAi9LrMdaG+Os7awfTsBue68on7G8mjmb9xH+TPE0eXlwLUbaLBM3mxBk 7D7g==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gfY4I7cW; 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 d75a77b69052e-4a3c80cd878si7321491cf.203.2025.05.28.01.17.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:17:03 -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=gfY4I7cW; 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 1uKBw8-00084J-SV; Wed, 28 May 2025 04:14:57 -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 1uKBvd-0007uY-5y for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:27 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvZ-0005DD-3V for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:24 -0400 Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3a4bdee0bf7so2821710f8f.1 for ; Wed, 28 May 2025 01:14:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420058; x=1749024858; 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=ZJaBhv0ijUe3F26URh+WI237MjGIudTdQQErvUey5XI=; b=gfY4I7cW5F1vqL9G1QAD5kAeGGMySQe5e95C7MPNEMgtRoYviq83M/5o3PsK3bUB02 3M0N52yTLAvvoaPsFc3iC+4fya+NRnkfg6c0x8zLt4+yAR31oWP/pQx9dIh9N6naQUPs 6WJNLCFXxb6WPs0E7eFiF9XmsMzBCL/aRwdz5oPkgeCVm7rWf+oM6R9VkePfm+CfeOOL jA8NeOtvTKaThCUqq3tmLHOdUtyu1RarZj9YKjPMZwp6e7pIqUkJquN2BTd8dw4glKDE ISRAlDx0dMF30daUI7l95vhEdaWTjLovYHbXIvxapD5H5SRGnG1f6hObV13TIgg06Rtz 7T9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420058; x=1749024858; 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=ZJaBhv0ijUe3F26URh+WI237MjGIudTdQQErvUey5XI=; b=aq+RbJsZBuWIkoUKg5KztfTzM41M4ecHyIRTToY9ZIPJVc+Spj39KN+pV1hmgQ996J 5pFiIoTRZRdaa+XxFviAtd+4etIPEvRlzaNlqEp52W+erdgEoHY/PvdpU1iAQ/RN74mh BQnNL6AU1h5wNawLkvoRfsfGJQIcGU+ml623D+PocCh6U/9g5LGMQKfSbniyXiwkcNHi 6KtTxeXdewQIllXTxNS4If8zHSXsRS/G1zxwpZ5VxzmusaK7xEJZA3LTTy7YGsoYubiZ 82Q56IoLp+GKc+wTBJv3w98Vl4QwHzz1DcqGJDyAW5nmD4T/pU39XfO1o5N5bQHwly03 PXRg== X-Gm-Message-State: AOJu0Ywrjw7dFNgheu99MH9SWA1Gsdu12C1kd/JnGLExlPe9KxO2/HSc b6p2YCswYE+0U3qwRFIadMZR8i6QNBkdnEB4REkh+095FnjV0KP+8ke8cJahk671wRnBRb5fLXQ dU1WDfNo/4A== X-Gm-Gg: ASbGncvvOfsQ37wY2ttw2Cfkwk3Q+Es/WSJyEIMEuklthJDcAacCdhwygl3CITosagB uDA+YoGAuVT7Q4zBV0VtkxVCMT1hFXm5qJOtxusNRJb2CSWCEFlGHJft3ZqnC3qW4GUz5VWuzL1 qmj1LOEmFdvtQG6SV2VNI1d+r2OLPuzM96+i8Ga5ISrpsJPjW9iaadzYDCGYKn1yHBWBFvh0Ds4 4fY+LN5LciBZo7lu0YSPu5vZpxt9+N8GRcOC3wfEFnLfnZPWLMFep9aAltcyhmudv/0EPJK6HGX ZZhTylKFmwcgtXsbS56HdcLaweG50Go5vBpsK31iffS0btMx2Omq7a4cvMRugkRLeNc= X-Received: by 2002:a05:6000:288f:b0:3a4:e082:c8f4 with SMTP id ffacd0b85a97d-3a4e082ca5emr5432989f8f.47.1748420058114; Wed, 28 May 2025 01:14:18 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:17 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 04/28] target/microblaze: Split out mb_unaligned_access_internal Date: Wed, 28 May 2025 09:13:46 +0100 Message-ID: <20250528081410.157251-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x42b.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892938 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080157wrz; Wed, 28 May 2025 01:17:59 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXgHajR2R1dALHTjmLBlvxYUsYYCjU3PWui4itCgpasjT7kTVyQDBRVrInGPwPJIHqb1U58yA==@linaro.org X-Google-Smtp-Source: AGHT+IGC1EyMy2MjnyjaDBREXTrN3I2MZCkR2VEY+OtQxhNQLLUV12sDBxbUXkeHO5DLjyfYKBkJ X-Received: by 2002:a05:622a:4248:b0:490:8fdf:3df with SMTP id d75a77b69052e-49f485aa63emr270138351cf.32.1748420279376; Wed, 28 May 2025 01:17:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420279; cv=none; d=google.com; s=arc-20240605; b=fglgjKfwwWso/Elno4MR5bEn81hYc4CGazoulQZJ2PGMOX/34SFIB/LC/HUSD7OdlV qfId/dcYyNDEMYNkgDevxz4FmmzWIUyjhNnzEyPFM+eGUlufp1g1ogssLpEuAX9Omh0R +7THpWPNgdfGcqM7Wq0lCs5MMf2lsoVYBPpboYPxMaUi5wXpoSnusg1a73qGI5EI3eN2 oHYjEkwRDSp4s97kNVtgKtrkAiHFUgiSvr+I7203ZDaMHzvOXF2prSyV0u5OStcxUZDk a8zT/suCow5sDHV4GgXEXZlp9ZUpWNKQv68uBhAOAPWfq/+r6IQugQKpO6PZ2BT8HVKt Ha0g== 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=ut4ejvSFbwk24WYmUsrI+zOUaG8BYhlKDaBtnXw+HS8=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=Dp8mECwfLE2Zv+Rr746p8bqi8wZ4TAHxvkJZEw0ej4uj4yXfXMfvXfhdHkQ2pOzNJd BBkNZjr9tHXzR/yLnBZeGuAkcN+I+AoPMq/IaajTc2MIQis/1h6lXl0YZap1jisbbwfk T1QL+fZDCE9JShoSTuWE9djEztWzEcIps+OihNcOtFVvq2j1vyxmoJw7l4RI1e9APgaM AtEXBP20+Ayu0WL09Eg0cqQBE7pODKZTZ4g3bVhNooUQoH/5QI/GkRjnozihrEjSLRwF E3wM/Pb2VS4AKTIlWNQK17dbcX63qlFFk1zAMMzcaUhd5//w+9r+sCXTEkYECZsBSmZm x/Xg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=SPedQGEI; 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 d75a77b69052e-4a3c904ce08si7375971cf.499.2025.05.28.01.17.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:17:59 -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=SPedQGEI; 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 1uKBvy-0007wq-4u; Wed, 28 May 2025 04:14:48 -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 1uKBvd-0007uX-5d for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:25 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvZ-0005DM-3n for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:24 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43cfa7e7f54so4680345e9.1 for ; Wed, 28 May 2025 01:14:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420059; x=1749024859; 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=ut4ejvSFbwk24WYmUsrI+zOUaG8BYhlKDaBtnXw+HS8=; b=SPedQGEIDnEepD71FVNZ0QUYNnztKmaM1rXJIbm3FTIxvP9r5JNnVAZX99WUll/IA3 fLZa2GnuV5hgwPJKRgi/BnD2IsqU60nHQBECg4wlZolGGGZJBSK3AWDN7j/glpfcJT07 9ouPbqJvrg3Kl92jLNAJ2+KWmvdsMRw6WtndhXKPozjdyYUGE/Ama8s82UvTb+NhyuAY mPFZqiK0Q3HDhJ76J53AGsIJu7XATuDlJIt+HGtP4cLfj7H5xhjy3xyIrkukYiqrjkRN nDXotmmy2+VnI0sNY6m7zYYP+gLjDIluAh11fy8GOrzlEzprfJI3tdMLEGWixaiIYEpJ AS5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420059; x=1749024859; 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=ut4ejvSFbwk24WYmUsrI+zOUaG8BYhlKDaBtnXw+HS8=; b=ur9+zmTQInjsN0PD5+P5opUh1aV3fBzu/RkUWLRpRpZXU+IQimv/tnXGY98klxg1WM eQ041JY5eMO9EuHifZE8AeFORfmdG9/wKyHAVGp2zoINHz37pQQRut0xtbU08LFgPpi7 4wZZAHiIqlwxiMxEGeq0kr1M+b0gPa6kosCyhpeGEPhzxwGmHX2Xk8BkpbyifaMYxyDZ I+wjYEAKVowVRzcUJw7kAT6//LB8hxxriAEYXauUIRjbCCQzMl4wdXfp2OiadhNEgMgo rAwb++Cb7e107S/L8MINt1dd0PlMhPnKXHZc6TaRCB+iHhTt3RsK97d85R0+UFFbVdQM 9duA== X-Gm-Message-State: AOJu0YzZa6jqGmtJS9EnWVpKYX3Uqc4X7ZhqljIOuQ5F18rvBbpziyNJ yZKYy7LWgW43Y+R6VTAjdrgOHtOeBYBJCB2R9nzrTcj8ZOaOPKy6Kbky9RbOGhIcLvB75T45hnF Yavm8BpZf2Q== X-Gm-Gg: ASbGnct+tgrfU45nLgMwp2+onKd9ln05Xm/fMsqi8qxvJ2K9CUZQSuevJVpUAWxf6wb UM2kUKpWjwb3TFmIU0t6kDFcKq/dnY908XA74uWic/f8c8TF0FddgxbzFmcOFMAFdBl6bP6v134 l6blr/qWo1ZOLwRCAHkjdNbUfQhQKqhM3N6EczJgP6Cj8y15YN0cnpzrlSYK4lBcnjuC52mGOth I/9bUF6rJMsxxEtBx/VY5Hvzph3eoydXyzRdCFdrPKRDrSVs0Rd/msuL9eR/FgrsUHldCEwE2ho 8u/5UTtxR9JdBjnGseoZNNIbsByZKAPv90oikMaMgsB92FhHNEoJl6/i X-Received: by 2002:a05:600c:46c7:b0:442:7c40:fda4 with SMTP id 5b1f17b1804b1-44fd1a02059mr32882895e9.1.1748420059518; Wed, 28 May 2025 01:14:19 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:18 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 05/28] target/microblaze: Introduce helper_unaligned_access Date: Wed, 28 May 2025 09:13:47 +0100 Message-ID: <20250528081410.157251-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892929 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079494wrz; Wed, 28 May 2025 01:15:53 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWMShR1kRfc3M2czCkA/rEUV2Rriivxb+KhgcAhZlLj2ltZ5HXhqoht4k5tf6lTzQnvE59zyg==@linaro.org X-Google-Smtp-Source: AGHT+IFMUPfRWzc8yQURQMUjoRG/xexgpHc2/lPUnsMkRoswZqnRuRKIA2CqAMhE+AwtINTAZm5T X-Received: by 2002:a05:622a:4c13:b0:476:9252:ce8 with SMTP id d75a77b69052e-49f4625c836mr186218901cf.10.1748420152820; Wed, 28 May 2025 01:15:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420152; cv=none; d=google.com; s=arc-20240605; b=Vz1875RqPzfPJrtG6LJVvLX80+h3n6N0H6nyvTBll1h+gMIOcJIwjCT3zXdWf1AOC5 VgtLqELvqgDczdDfFiCytiS/Wy/OhW1IuE3TRQVR5DfUUZ+Q5vbVzwd3Il67v0kDN0j5 n83ZJdnn0TOwTnUqt65T+xbYQzP5mecbJgB6oa88sPPXi5D/wGghI1ztLtZORYV1ksCv IFeDkQLTg/Tt3LOxer+Z1//WOuTUVR95JpZlt16Xp+MaX5uFFhVH/LNouinAr7LySD/Z z0gECP+8SP1mlMdO5r7n40sAJ0XQMFCYZwGtWR/2jX1366MA8HxOsSP2cMe0OQtnMjrf PI/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=Bhe7gTBV4OnhfdghdltDpo0UDe7FOL4IHQZxPqBae80=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=XIQK0do6ohFVNJA6QE0230QHtIoqdvDkEteEa3CQ1/YcyiIIJkWiv1WdHGV797EVkS XSupOqxiV6PDAW6cVo1UWjE9Gbr7PlA6f5/IJJzkCORJf29u8/Ubj3GN7rmLzzvxM2Gq xMy4VFRR4C6SzAkbdhqQp+xphTF5vM1dltpbDRXAvfAJU89xidyiPqxAQUOLlZ8XVJ18 E1mCMfH4PtRb0/BTv9xSo4KTym4BpEd3KomM/1vAGzWdS4bpiVTxqEkC69rSZHILDFXD IRrFZbmMRb0PxTUrnjdqaSZK3GZgVx8LF8Y/i7c0wqFdm3wUK5R2vcSj6kIBGwHXWz+J k8Pw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=UD5OIJKU; 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 d75a77b69052e-4a3d0107663si6917901cf.670.2025.05.28.01.15.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:15:52 -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=UD5OIJKU; 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 1uKBwE-00086d-Ve; Wed, 28 May 2025 04:15:03 -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 1uKBvd-0007uW-5s for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:25 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBva-0005DY-BG for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:24 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3a3771c0f8cso3017361f8f.3 for ; Wed, 28 May 2025 01:14:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420061; x=1749024861; 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=Bhe7gTBV4OnhfdghdltDpo0UDe7FOL4IHQZxPqBae80=; b=UD5OIJKUzV0vCCaRA5/OaM/dv5BltA8HtpXpr8g6keNa/bsDSZRXIGJ2rDO3sQbcKi zZLAujcF1Hx6asihX8ANYOe2xmorSSq8uMaw5RWljfSWDNFBEeWWErC3MHtVfduh8yD1 d93MJv7E/bxCmtQcA7QavtT0qTJzYBZvmfiTb/W0CymjiKk8i6JxgG0pPyigwCL/MYGN sWxETEnGrkFGrCwN1Sz8gqEMQyNSKC2Hzfu7akzGrIpHwC8HzpPKcyKsHhEmSXHMPDLs aXixzqPwP7WQJ6BgLnlOXTmWO26un9vNmRF1Aa8FfdYscI8wx08JqH3VRZoPkgzq8Klu La5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420061; x=1749024861; 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=Bhe7gTBV4OnhfdghdltDpo0UDe7FOL4IHQZxPqBae80=; b=R226QT7imaPrFy3jcCpytWGATwmadZPfp/IV6rI2MF4WmRbA3c2C364WveJUYPQBSB /XLQy+EOPp9CeEVt/H+fXOaXWZuZ48UTqBVB7vyOD1XtfvzLoid8qE7AxkirlY7Yk0Cs EShLRg7OcJA5kDr5ap80UyWHfj5PSUPrFt/TnA1f8uKTwcseCWKbIibrrzMCT/WFF4jJ IliXIBA3/lvdHPfjOL6eC9WfP/uR8XX5AZbVWHrrBoUamZhUXXaiPU8oR375IdJa76w2 XHVkmIwAM0luZ5lr3KXDpfd1kXmoG1Up5MRQ6QDnEKFu+6gg4zXBYtGrSXpxk5R+kgqi HaiA== X-Gm-Message-State: AOJu0YwVXaZDxsmjy4atc/h5sElf+mjC2QCcHGCRJccfoe3s/3P/6skf HrXSsRvMp//TC/cEbKDXrqxQTWnZUSMknCkSWt4OrOO63GFFmTWJYvgNWF96g5ElNtRbeKbDIWa +VckOtIhJLQ== X-Gm-Gg: ASbGncu+NycMWNJHDD1IOyoXSzFjVkZdDhAxnNppUkRWMtRUKAPmi5LYaTmC7GOPk/0 tzeKOMv3HMxf+AN5o/VVaQsJ6eGu3menprGh2JXvkKOTqpwGPEyWaZe0gBIn+D0pRx67Lu2piBz IyXNwPv8DP8m3TKFRLoeC8lhiX6o3mpk2C+MPOUF+8jy3JG06jZgmouyARsRQe8gJy9IbKLDpC9 sDZD+aYhlpLATTo/s8l8q1NTuZXbIP9kI5MJ/0SPV1k54ONnm6Q8Bz+D4v9g/wOCr8hxDr2mhKU eyvGRV5FoLbJwMX8RKynV8y38IriZu7v8VHoFF6nBOmNQhx/kiGfp1Co X-Received: by 2002:a05:6000:2082:b0:3a1:f68b:57c9 with SMTP id ffacd0b85a97d-3a4cb407b33mr11670938f8f.6.1748420060730; Wed, 28 May 2025 01:14:20 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:20 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 06/28] target/microblaze: Split out mb_transaction_failed_internal Date: Wed, 28 May 2025 09:13:48 +0100 Message-ID: <20250528081410.157251-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x434.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892942 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080736wrz; Wed, 28 May 2025 01:19:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWaeHZeRTuotmFzi148IhDeoK7KvKpRlcDZ42vofHyqyxFIYN+EUi2M2Dsh55ZFngSXM8Emxg==@linaro.org X-Google-Smtp-Source: AGHT+IErJ8PLLtCw1f/pES7UmUKSl4eSDcQrAHa7fjnV5FoTCd1DO4wltxc9wbZ/iCuJkSqHDZ2W X-Received: by 2002:ad4:5be3:0:b0:6e8:ebc6:fd5f with SMTP id 6a1803df08f44-6fa9d01da67mr241042456d6.20.1748420397034; Wed, 28 May 2025 01:19:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420397; cv=none; d=google.com; s=arc-20240605; b=Sf5TfH4sh4IwbSaPqVPyzX5xIU80eu6reCU9+7oqYqFnxxZu3KpzWCDkUSx9xQwb2R zuIHm5BaXjbxXkClp6fKyD/Cr0HG0h08HY/u0ce/Zwi4Gb3HwrtO8ztmlyiyJjBFwBWM FZEs3tczBczFVl48tRSu/ecS+mfmjMl6NEjJr8SY3SIAXXVJFE4ilRhVHbTb4Q0wEZDG WEoIwyeed/v31yVZJvxPdPpgt3eYWyJ+gIKEehDxyCFtVsU7qv3lNuXQRx9XEchUmgkF xiYbgjcJjRFdDhT5mZXz32dRCVHzMIsva8pQBOREKKsKKOYPf4oK0+w0SfEnFVwMR5an 5oGQ== 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=wMNNlloO/+QlHEs++wI6omAZXNBlNB0k76QUNt8qkaQ=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=LLW7eQFbkAUmozwJW9RWJJyVBI9tyFmNWu99TfbN1m0/clvbPHeQuWe04WsMEUQ9Cp nVsVBEra/hdbS+8lvhAXvu/wIYVlxxFu+OSV5B/+Xc6SyKfX2R/J5V7egs827H6rsOpZ FGXJOQX+olLZir1yfID9O54BvEwFunkrRiGAJBJkKYsF7YvoEirbAMAwgiOA2SUS4SHz gPWNN+W8STbsc+DpUS3nXAPydwVpiRgAoBsgyA4KArP21Li/Xn2dzitL/FKP2xdGGpA4 n5bWi9KmFt2853TpPE9jcvKtg31aT6PW7SDco89PYKnWEkVDMk6hW5y05qaw0pd//vP1 Wjtg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="kwXvjEl/"; 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 6a1803df08f44-6fac0b227dfsi7762656d6.4.2025.05.28.01.19.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:19:57 -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="kwXvjEl/"; 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 1uKBwd-0008WO-3l; Wed, 28 May 2025 04:15:32 -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 1uKBve-0007uu-R4 for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:28 -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 1uKBvb-0005Dq-Py for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:25 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-450caff6336so960705e9.3 for ; Wed, 28 May 2025 01:14:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420062; x=1749024862; 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=wMNNlloO/+QlHEs++wI6omAZXNBlNB0k76QUNt8qkaQ=; b=kwXvjEl/S8XoigbLOZMFnx8AaOIqwtLTb2NPjQwxzYAgPNUDMag6cjJCycm4M37BoF wGM0z1fMDrBraiKMyvr2niwW9srb1FTvTEQvAAcfhlBwzar224pYnwwc5msiEYrQV/FU C1cOOAXE8UFRxUXOcaQ6RZP1uflqm0vqPxwt+l1+Z0O2wtydxgBZms1jHkAY20lbLib0 mNer8t35XBQj/jMmTCjB82QOVTVthjgvMIm9zVw1CNOaVEYfAUfj6XYCfCKTOtOCqAiz W2DID0AyrxPQIevIu9LIZNCj5BR5WxkKVhFrFsgNg2iDp77eUFrEN/cvV6wvMUsukgI8 3l+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420062; x=1749024862; 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=wMNNlloO/+QlHEs++wI6omAZXNBlNB0k76QUNt8qkaQ=; b=fXW904Km2csa09aQx+ZhS7/hjqQoOOR0uu6wdf0AyM95982KERjEXtIMtSyEvmXYpj DmrvPD7xcZMQxZ3oLLwtM4l5ao/DiCiHnOJNHPB2E/VYU+R/R1nj6RUs+JKhCVZg62sB KndHsYXqFmDAUWuFkMc38igj14s9q+mZmlulHmdY87TvVVSRsG1t8GTgCSDXMFCEe/0P mQJ8uzCpXaX7lHNJ0JGm74PCEsl9Uh5nQp1Ir24suQC+WCYzFbjpmb6P/782RnrMT9Hp 9u1/LFvSvtr7sQs3/uH9fwq61ygIfdmGK1xMM7ty654iy8l7bwMP1aNQO1Y6m6QwMkNE eQ0w== X-Gm-Message-State: AOJu0YwKqOxe24zmAyyJyw2RkxrN7/8Nbdo3MdvTPszArAZ0pw+db2wW bYkOQoyhY+PG+ThAbBgr42FL28LASgjetcoLKF8THkYVk5ZJxzR7ZaN7vpqaZg2bS45gagEavJY dJqNWxGFItg== X-Gm-Gg: ASbGncv5ajKEWPFH/+eYuJBKGdknayvS2pUGjlRlb55Fk5FnRDATJQLo2nf/DaYOPf0 CbkTjYVBx2KQzduwM9CLgxH3PdvuMKq5lkTTtJCMIw32ruGwpUj5C8d9XPF1hjaX8de/rffPCLn H83577irlHehQ2zWDZKr+dZPFF3N8BpokB1C2v6kc9dI7ZpyR+Yz3DQh4AdrgLataCg2kx9fLij ki4KLFbfuWtHvN9y9J2iBIpEdOHgEoF3t5jrZEV2tuwY1xT3GemH0O/5vqMe8tNk6zzftxkn420 D/IxA/136loYMS4jAmfzxMr3vX3pkhoMA0cwu1IRtLTl3f+Vjdtz/hgS X-Received: by 2002:a05:600c:1e1c:b0:441:d438:4ea5 with SMTP id 5b1f17b1804b1-44c9493e6b1mr122788855e9.20.1748420062216; Wed, 28 May 2025 01:14:22 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:21 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 07/28] target/microblaze: Implement extended address load/store out of line Date: Wed, 28 May 2025 09:13:49 +0100 Message-ID: <20250528081410.157251-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892935 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079833wrz; Wed, 28 May 2025 01:17:03 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX+/+TT6EewFAPW2bJ8Cd/DYZ4i74LJfOhMbJ5GhZa98o/oMAJy1MdFqlXQIofdwu/Lnn9y1Q==@linaro.org X-Google-Smtp-Source: AGHT+IEJO4WapKPqBQwLfEd2y/uTknr90YlIf5SdzKNd84tpYTAcAIlgqZqKP8liM5/zf1cEzqmn X-Received: by 2002:a05:6214:2264:b0:6e8:8798:275d with SMTP id 6a1803df08f44-6fabedbda93mr18976356d6.0.1748420223428; Wed, 28 May 2025 01:17:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420223; cv=none; d=google.com; s=arc-20240605; b=P1S2O/RHRIN77iCoWb1QYZqipKCR3hSAqgMtSl0OivjcmOLPkl5TcREBcuX2UOsmfD IWv9odmkcUqnU5GdlE+VN5BzPSX8Fh4yKrAmQzx0sfG8KBXmd3nGcFH/nOSpegSHqG+x HOcFLnOtR9J0Mv+A/RBRVR4hINbO2aT1EgfbVe61sStHX9Rso7z2WqWqtLIM4usWkkSN Q9981++Ko+348xpjtu/rXUf0NTPyNqRmkeRFNmUxJGhN1DiVi1L5qHXd1ge2zOLOJpr5 6o6kZEGvbu+MirM2X5PHfdEvR7Pf4vNcMAemDq/a5k0q0b+EMObSu2+x26x8szDX1o4E heVw== 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=WWNX8xy0mGbcSTM3tGtx8Ng/18Xa59vYBmUiZhUdSFI=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=V/BpkJdMlnHgHRf0lYsZgzLGGEFtD894qDDwwm/hqAjLiWvu+cXsFpsd7SK3CroqOm qpiP6xHlh9T6zi0uwVdtNahHidMPUg/Tdn1xqg7QNNdKWGWTLDNbuxrlo6bGdCXgi5zj 3/xNIf/ISFu0b6rap+o5vo6RX+g7Co7rOMQR2L36SGOy7XahrAJoTvBONTKI6lhu2lk3 Wf/qXJQkwq3Ym7Y3jsleOYEnfrWKDlMw0C+RFGmvFIfLfuiLoBA7WkOH/fl1jHxam88F Gu1RAONuPgqglEV+6S3vmRCZjRYCDT18Gli1ZP01r7Znb17E+dSrKo94UG3tCV7t/6Zp qzIQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZJFqeeBt; 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 6a1803df08f44-6fac0bab4d7si7361366d6.191.2025.05.28.01.17.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:17:03 -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=ZJFqeeBt; 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 1uKBvn-0007wi-36; Wed, 28 May 2025 04:14:35 -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 1uKBve-0007uv-RG for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:29 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvd-0005EQ-6w for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:26 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-43cfebc343dso32660765e9.2 for ; Wed, 28 May 2025 01:14:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420064; x=1749024864; 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=WWNX8xy0mGbcSTM3tGtx8Ng/18Xa59vYBmUiZhUdSFI=; b=ZJFqeeBtj7X8G9jasAn7ZmZnU+u7OrpPgIR1Y5d8cgbKyOa7CfSNkdMVEohHepVaqf Y2Dl0wh1f6gwiWZ6ax1nOrqdCbbxMQDEAzm/CBXc3Rl4RVg8c2gC6FSOUKE79NE+u7jy HqYGILnGLYe6D/bs4tH6EcI4pL6Oz2kPOJwHsfqRgcPEbO3LkKk4K6L9TKBI8N2YyWg4 a+0xOTB8SJrtY4h+nWLv+V4muDCpuqsMOCUK5+DbtXs2CvgqvgOYZabFwN4MJ3UG3s1s NhLjz41aimmzxPQuJ98zbHP8apVQti3BKF1lWVkrCloGkvTpKVa+7zKCgLxcUyqxu89E eQIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420064; x=1749024864; 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=WWNX8xy0mGbcSTM3tGtx8Ng/18Xa59vYBmUiZhUdSFI=; b=MUzTXM19lZPThcL7hVQeMvodm3oYU4gEti5PxSaD6+PdIuJKbvKC+BFKo3SB9XzdCB UBLQjoiX8dIRyBENjV0W9AZRJuVLlfkvEe1x/BUvxZNvIBJgs4wQKUsNCU5ntdSnUcOv b9rl+xFcu1X+/2TVr67Lz9QP3zqcn/WK476l1XIdKUsxQ6pEAZ1HKm3TY6IYXSMLkMEZ L6gDWPdEcnrafK33tKDf63LxLV5GOLxFEv10aVBX+xK55Od0mXWvpTVD2yRnPFLBNo3a /OKTXny2g8rOYpZnKZfkPtq6vN3SRbauq80HqgvGjc8Zql7MmpszsdjB8aX/TuVjQZ3/ hdbw== X-Gm-Message-State: AOJu0Yxy3aGO6ConKl1EDh1QtLaCXu5E9PuTvcMfo7PrDCzCHkUJrEfm PvdtttGJqVTP/o+z1RNr4Z80/egEFZU2WV61pV/RSViz1avGJWpgdQV4sbuoh2fxCRvwv+6dCgK VSzrZKeTWTw== X-Gm-Gg: ASbGncs/f5LNBIZnhapkD1WmIzbc3pW14IIX6LvNm2g4L8tDrT+h+w61xvkCj/FWbLc 453CVtqKnYVwEOlohu5dMX7/XIWTEavOx/A48gAwKuvVe0Iaysx7oXYNL8VSwRyP+ifO59IO9q3 8Q6w09it4eysYFkBcCSEgesM/BR17dZZbwex+rzIeBlXJMj35wSdFzKz9hWcMYPcjQJzTxkHM2S wUr6OCodjaulUzu8oyWOPLPm8o8Pc7s/jO/gz75uyWkBDZSQwry5GcTyBDYC1+o71H4YR1v5Ax8 KPyqyHNrEvNGGXEsQvS88KwmoDbZySOGoYjOMbCyBOjGvr6FXSL/ziuS X-Received: by 2002:a05:600c:34cb:b0:43c:ec4c:25b4 with SMTP id 5b1f17b1804b1-450725539f8mr13285255e9.10.1748420063637; Wed, 28 May 2025 01:14:23 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:23 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 08/28] target/microblaze: Use uint64_t for CPUMBState.ear Date: Wed, 28 May 2025 09:13:50 +0100 Message-ID: <20250528081410.157251-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:51 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892936 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079846wrz; Wed, 28 May 2025 01:17:06 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVQwKcyVm78ce3dhbxPuKu2f31rIdSG8rvKquxF/uJZvVYF3K2VaVkApTukrvlcJox63qhEYw==@linaro.org X-Google-Smtp-Source: AGHT+IHuK2REfvJ+OhCkcgi2ECO+CGs1w4uXUXG7AWUK9RjrTNuJy9NfDV6Ou51ud4CDXW99Jl6z X-Received: by 2002:a05:6214:124e:b0:6e6:6c7f:1116 with SMTP id 6a1803df08f44-6fabf2c2778mr17366316d6.24.1748420226261; Wed, 28 May 2025 01:17:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420226; cv=none; d=google.com; s=arc-20240605; b=H9Qavie9sQktWMbiO6K3xqO3xl8vlAZPqt+Yre65XZktQLONvhpObfEnt5Ozgmp13N /wSSKu5rKFWdXGDdlNvxPcJEDRdLYvk/TB+R2QMGCNgY+mF9RwUbkA6bknWZ/cYhlXGQ 79kE1mvQyBftxTwg0wk7ZsEIHnSCU6dXBBvYGtA+SupdxZF3JRowcJS9NT638eav7+Zr A29odblY1X+3V3ZPpmvDxg+PFp+c/RC4HKFUU2ZxmenlBjebEF+z5XfWpTgdJl+zLAJW fh7JEaHqjA/O9UJAM6xPsFpK36HCsNel067R7zy+2/MoiUegSs6XkAek+LBp9ZCvERCm wb6Q== 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=AMIpWcZTPgWgvLSAk3E+1RCgQesYjH9TPdAax6aWXxk=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=LtNUvQS8pQqFaWtuJSnyx+RM6DnnsjQttU+8BN+PTVeGWo7p2T+SW3gljGSpJPxRCl NLT8MxkVRmduMcqywl0xbzfox6c1A2RoYnBhGz47Ogpb7NKdeT38M5y+BW2kQHVRkb2o TUmF9w4ySk1bn0Je16NWeEui5oT5A/yGIWs69sQ6WEiaLTJZsGSaoeUg2U4XThPgBN5g QtTt4YqTLgl/oHY+g/1EeRx60Zc7dxzOPU/0TLuXCvIpT1IdsFGMYvjDMasUJHAKfqVs O+4aXWutpxrMqDSnHCd99vA9d2ZHBEqqMXsW/Aq7CY4T/GRPg0Gghop6HpD34fDc7Txq q+YQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=rnJ9WADO; 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 6a1803df08f44-6fac0bab186si7322436d6.167.2025.05.28.01.17.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:17:06 -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=rnJ9WADO; 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 1uKBwK-0008Bd-B3; Wed, 28 May 2025 04:15:10 -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 1uKBvh-0007vj-P1 for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:30 -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 1uKBvf-0005Ev-TM for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:29 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-441ab63a415so49804165e9.3 for ; Wed, 28 May 2025 01:14:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420065; x=1749024865; 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=AMIpWcZTPgWgvLSAk3E+1RCgQesYjH9TPdAax6aWXxk=; b=rnJ9WADOM5QaQW2OaJBWnz23AQBcwcBrnDtly5gV48vz0zAbsikaV7zRdy6UKaHTBT 87X2hn49GNcNJHBdke/MdIasZgELm2S97C+CRh3Ix8DI56PgBfhXsCBpFbciuQUGq/ze rXmQ4VxMqGVuA7sKhGSlzvIx9kKlsqHYyn3/bI6gpmeoXvQ2AQno7p43lWEtIRmw/xIm MiSZg5rH4Y/XTWaIRWY5hQWA0kOQ4o0HlhhdpFz5wcF5LfSUbweticYK6o7E/ylKi0hU yFaAfqTuAuPBTzLXZtMsX6pGvldA7uC+AV5galEOAeCoPH56ltVJzienOyNKbgfYky39 1ebQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420065; x=1749024865; 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=AMIpWcZTPgWgvLSAk3E+1RCgQesYjH9TPdAax6aWXxk=; b=gYLhYh0kE0aQyKKVpToiHxVa74gA2oCU3VueOxUgf77f8Q/aX+/Brtaaj87pOwPANs AXAFUOcmFfg1dqRmeOAjXjzENt7T3rEZuVfCtAkpBj0JhQMuiJzCef4Sgf7JBzvF6EWG 6MNR1gKeUrpwr03aWVNs/Evx4yzy11eIiCOvRm040VsMdJyS2Dw7rTRUYTIromhb6pBY BXhz5qobW4mI87RFFNco+skaCHCax21yPoBVGPv9wc2PvJLVdQq/UhHoCuO2A+jb0TCL V3cptuIgabxvPBif1wqUfQaBKtKKpIF+JLAIUxUDUGPRjDstY9TlhYLOWhp/qAaNtaQr 2RRw== X-Gm-Message-State: AOJu0Yz3Qoul51VOSxr4ayHqOoJfm2wFWPb62diq3iV7+JmmD5fy5/58 5mek1Lt0HGYzsGgrqS5dk5wOQKRevN0WbQwDLDPCv94f8RjZ+gDF+RHStzuEFXSPDWfN+m+Q8M7 V25xfIZ39KA== X-Gm-Gg: ASbGncsj+l0wjpTKgJyeL/zS2Ma47nG59d+AhCd5ZULMQ62Vce33tzQh1F1fNwl/rCc zo3OeClF/gH79Gd77mgDlM0TG14kqYUmj9W9C2mmBI0eja67vy2v3gzmBt3G/GDnhYRmNYXN8A3 9Y3xN/z1WYoI4j1zWMREGAdzeSZZXlqIZzJl3gVMzN7NsHhdumZ2DaWYu4JM4Lropxg8G2tCDa7 oXOmxW9YogSzVooktHyHqnXGcOQdzo8h4qT0M95SrG30n8a4I7nTig1cYmRpbBH4lzGB7OzOgGp Ookg5Eje1tTsbH/DYGfTmV8DQUCDh9bi5iTTIWMXQM1tvW7Pc/vuk978 X-Received: by 2002:a05:600c:6297:b0:43c:fc04:6d35 with SMTP id 5b1f17b1804b1-44c91ad6b51mr164802105e9.4.1748420065213; Wed, 28 May 2025 01:14:25 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:24 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 09/28] target/microblaze: Use TCGv_i64 for compute_ldst_addr_ea Date: Wed, 28 May 2025 09:13:51 +0100 Message-ID: <20250528081410.157251-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:52 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892930 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079504wrz; Wed, 28 May 2025 01:15:54 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU0edbi80nNC/rHJ/6aamxpjhY5HIY+PoziwgcSw5rgXvObJ7w8IgtIhNsXhEyEhl9kjz/65w==@linaro.org X-Google-Smtp-Source: AGHT+IH/+l7GEJArH+AHpQAQ5zCHW+dO30qSJKy/NXirAFiGLM/TOQ6lvKqaFMOfcgSjQxERLYpU X-Received: by 2002:a05:620a:444b:b0:7ca:dac1:a2b9 with SMTP id af79cd13be357-7ceecc42600mr2448347685a.50.1748420153921; Wed, 28 May 2025 01:15:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420153; cv=none; d=google.com; s=arc-20240605; b=Wl4slKOSHWeFDIFpha9YJuzC5dAE39dx9Ivm69CnuGMguBTfiDAbNhNKZddZC9GNKF b+1DleNxz6hAWSrBS5It2UcSA40g2bjr0y3yHarr1Ni80M2+OaHD3vhAZw5iXYhZuqSU y6MNb1U+54MtPZ8yUhNlI7oKDfAZCTKwbcCOIXNcG4sjPx92XGSPN8rdij2quOiO3k0l WZqOoHuztL18ShiRhgwGp3VdLvBjw45B4W657EZysYXpQNgeHIzVuWKLjpk2CLqGN/Ez M/xDslVxbB+H8xNTV9A1Tmpn2IWH/N/rDQ2oHBNToeipTv24GHwmOJUxhQ6pECnGoS5E Xl6w== 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=BFcQXvhrY8QQZwNg9G2ZE2INjIMXFDjOrUvxWYd5pvw=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=Ow5T8anb2sXsWRoiiesmi4zsEexyUIgREDi5SpjF/gCwGybKGicHVik8rqL9d/5GK9 5rbwEWpIDeQvlsK1DGKsDKChK5YJFXsj4Pf6M7Rnd+muRaozbTnDie7ZpZAn70i7jqef jgwg8OG5vyrYNoKrvbVr+8HCjy9IYC+BKcpy4aldG5mx4QhXbf5W6SyV3tMkC0yrT93u m5jwfqb/R2fMgwiWCZBrGpra6vhOtyornewm6nkkOP1TvKeEM8Dms871Xjmx/KcmAdce uexiDZNoScUwTVny6PVHqKvCqPs984tAO5Jkhffy5gJoQoDsVZWlsiaalr3sYktuHJB+ eJHw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="ObgE5/SH"; 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 d75a77b69052e-4a3c7922ba9si7784311cf.173.2025.05.28.01.15.53 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:15:53 -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="ObgE5/SH"; 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 1uKBvq-0007wm-Bs; Wed, 28 May 2025 04:14:42 -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 1uKBvh-0007vk-Vj for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:30 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvg-0005FD-EW for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:29 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-43cfa7e7f54so4681065e9.1 for ; Wed, 28 May 2025 01:14:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420067; x=1749024867; 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=BFcQXvhrY8QQZwNg9G2ZE2INjIMXFDjOrUvxWYd5pvw=; b=ObgE5/SHQWwL+O+IkZsUUAQYtlBT6Az5y+DyfzpVUj2aQU/6xoIeygPbGwT+NvQ3iV eqtSOgDuYC94A++AkZuW+xmr9OvZuRvbvXeXw93+rT3yGFughKNfuD1kQiMNNJha0vbL 7ziIcJVRXv0u+Qu0edYsJVVvkV4lOjYoz0yc5H5vDaV94nr+glHMNK02QHVBdW/ZdocG kZ3cYvzar2IHmoTSEe7jVDt1ie5FDrRsc5/PHY4V88nd/xezAsLidgArHBnepcIVbFzb UOfSQcLXmgD6Jpj6U5PkRgUo8cCCuE79pH09scTFKiAnRsz+OuBr1w5ZMZ8DcBH/xRJ0 CYGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420067; x=1749024867; 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=BFcQXvhrY8QQZwNg9G2ZE2INjIMXFDjOrUvxWYd5pvw=; b=ntit8tOoFIYh6lXuMk1PkFZVTv71WsmS7YMbrTjHT1z0qdxAbf8rBxigSvhzYG5T0X KEiKpAS/bKjXSuDVQQaKrR5iRd2J8PH51Q65UPxARyk4rRcjMI/PYX71Mh1T/llDJfLB WXZ9Pv0ScZW6ALUhPMVPTLDnnYcu6lLnrB0iuFCHSY4QydIta3qevO3+m/ZVxeQDjzUZ D3pZpyplj4SFr79FGtTHY+JF40LyOJpgIC3C/hihklWeuGp4xWaVEZ9h2gMBtCA2QzLa s1nkCUc7/3XCo10xesU1TeMo/7iEpad5GJ3TlaIg1SLGeM39Gkokhsu7KwH0IE+LEEgf HRJA== X-Gm-Message-State: AOJu0YxHp2CbN54MWI5jyy1CDCx/de4H7b4hH6L4byMyrxmDeVSqzkw6 XLfuen9LtaSKv+zqwTKE+WZrf7WoTpqi2FVcKt1f6X/3aJ1r/Z2m/nLWO5ajGlMcpgLSfypNlCH C+TRAq3bkog== X-Gm-Gg: ASbGncsao3cQxcuI4X3plLG/fGYIUUW5foGh0BO5itZH+fn9xv72kBN6yr2JCSIxLCJ 0Tm0iQECmJpPF7lqyQCDys/Jd7E3+yGgfKTu1jWypGYVujbYIH2H7AgA0YPu0NltsxfBcH2Be1d L93ih6WwF67dd9WPizIgGkjC+nW/84WTSrkc/2BbnhPjjhtPolOTqFzL3374/pu68EZpaRgffVp wTBzMqi8RRGsYScW5tMfAgSByYQ7i63LWFYAb6xl4Fyb7M3jNZsxHxB8GbwgfxzD3Zo98/Y4RoC twebvID+QMCCPgOr1YbLtyt2qWvSWN+wAU+0yGtpePLo/6H4UpXQlsmj X-Received: by 2002:a05:600c:4455:b0:448:d54a:ca23 with SMTP id 5b1f17b1804b1-44fd1a2db25mr33182935e9.8.1748420066988; Wed, 28 May 2025 01:14:26 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:26 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 10/28] target/microblaze: Fix printf format in mmu_translate Date: Wed, 28 May 2025 09:13:52 +0100 Message-ID: <20250528081410.157251-11-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:53 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892945 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080859wrz; Wed, 28 May 2025 01:20:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXxMFjNQ+tlkFiUPOjS952KeSRVrJY3v1IBs+BSrLIy0ltNE+rOfub4ZO6DEaOLPrCkn1F27g==@linaro.org X-Google-Smtp-Source: AGHT+IF2obgD7biqo8n4N08P7BuBBOj7Revnha5uC+pDkqN/d7ZJU/52jdfgD5TwzX3IGmSK6H5q X-Received: by 2002:a05:622a:40c4:b0:494:6e3b:a80b with SMTP id d75a77b69052e-4a2f5191ff0mr65012371cf.2.1748420419087; Wed, 28 May 2025 01:20:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420419; cv=none; d=google.com; s=arc-20240605; b=a8knMCEJoo/+bV0MP850y1Ef4TX7y6loaXnjOn7ryOzQCWNI10xMg+25SR6U/Ul4Vk Qm2/4lmizJ0khaFGiiW9EFVCIks38gDekknFBaLbny2cThboHPZ34qMuJalhJOG4uAPR zg3txFuR+aRAT/fZiq/G4fmkYont5u2Drd4BQUEGGhl/sP8ofDOBEOY2U4bqlCJQnGOw +Z742wPuAuLNCyrxrLuyv4KU1Lb2EhSiB/yVVl3WF3SRZofpXCdsmhFxco0D035d3X4H hL/4yZe8Lxd18Wo9dW1FxpW1NjazGps+jf880V5MeAb4i9cHYiSjCgm631pVMHFfnPcT qp6Q== 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=mpLbuX6w3ui4OqkcJtXbZ2uIaATf5Ym/Qv+poSMA20U=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=B3luykh3w5CQaOnYQ9QGh4+N0XdPRHFcmWXoCCednCTWB/9p2Y5IRfVZqI8y6VQnmy raYuCVr3lO+hegFfTyO54WRnb8W6dL+nkz/RMnCmNXt0sCh1bxhEtKpfTFisYJGpP6gF Kz5P/ULtBT+TmBOl9o0X7Tnyu2bAca+fIeYnWsoaSbeO9zttENBFtS7NHvVD6FtW58lz UtUS0TiCAFyiDkmAfHxBMFamn9XXBdxzU5mQOPpwdb1eCc/O2061bxmr7i10+OEVQWY8 8HRRIk9Ie6oET3gxn3hZGBxB+QROqJzuIjhHAn8UrkuFVPoUrLt0eHtHlPf1wfEXD5w4 5bUQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FDl5QbRJ; 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 d75a77b69052e-4a3c7922c80si7900831cf.197.2025.05.28.01.20.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:20:19 -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=FDl5QbRJ; 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 1uKBwv-0000II-28; Wed, 28 May 2025 04:15:47 -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 1uKBvj-0007w6-IC for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:31 -0400 Received: from mail-wm1-x335.google.com ([2a00:1450:4864:20::335]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvh-0005FR-VS for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:31 -0400 Received: by mail-wm1-x335.google.com with SMTP id 5b1f17b1804b1-442fda876a6so39615345e9.0 for ; Wed, 28 May 2025 01:14:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420068; x=1749024868; 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=mpLbuX6w3ui4OqkcJtXbZ2uIaATf5Ym/Qv+poSMA20U=; b=FDl5QbRJANd50sGwPMyzSQYkQDA4d3oiWA+jNSzXyt3ZXl9vfG4/BpbPi0oqdfOeMv SnV7rWG8cf2GeobDwqb/NbCk4/LmxcIltXkmvvBB7gIUabwZLR/3vvkt1Ve6Xo3VZ34n xTn2CAQoO40BRmp6e+6WftO5CtUn433+Vcnc4QF7rsED0xzk9y0HAYCRss2iBjB+12/X e6BEksHrAyXQjSNttg2A8YnF+8WYOhR+qCjDf/Bxpij5exVMgiSRz5X6pV8Lz62equi5 GmXFKMvqAUjh6qK4HSK5d78apnHGyPgDKMludiu8haa43BjnJkVgqYyIrfj0Gn+nIKDO dErw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420068; x=1749024868; 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=mpLbuX6w3ui4OqkcJtXbZ2uIaATf5Ym/Qv+poSMA20U=; b=pKb7CZ/3oNS7NM7t0Lkhrftxbn3YCRviSH2K+Tz7A0dEfIS+/8yjOIFS4EL7K0g7Ze LTnGI3XxrWr1v54UHllMeovgTauXgqJNCRlzWMNtE/0i84/0z2VqLBfXRlKnqXODKo/7 1FboAKVcX27xm8GNVsw/mJ3oxfEnjjH2TIxWMGZNvKnb3glLXJ2tnLQEB+Up64l5lcnY SOsA5Sfpt4ypbPtdvO7j5q0jbiz7jM6Pv08AO/uwIngbnq57ilObeYh/7aPxCGcrrK+v /fQ1shg9Uwb3SOf5KkL9mweZVEgZm0VO7TrTsW25SnOacMxbtWRYHF0Mmf4y/7CdPN9e tppw== X-Gm-Message-State: AOJu0YwQIMcvzRO76ZCDBHekFCFflWGWtlEmSV5+4wE8cYrFcU29By4f rW6qyXSDtSiSig15RyMywMvQXc0RMrSgE74cIYcB69ExzzRMbvNHas1L/roYwHYu8pL347nhmpE s0hgCjq5U0Q== X-Gm-Gg: ASbGncu2YPZ3Fd7v/xnCuEYGl1GQOnU7hy3e4nr9SrQQq16HPFxDhFDrb8HNMRYodI9 3YE5qflmqbuI+LZPB2AUPRTXY+gddNTcSE9FUvNepXK8ldkpyyVWbA2WPvcCKQGsEIxxgW6cJ1I 2dyH6lYWxM621dZ3lsjYk4Rldb1dL9p4MMn4Nj7yF9bxhuVGSP7drKEVCzdrsWRY4qexeoFdmjN sItFaOWgVALgaWOhmpOdi9fDI3LHJcJihXFYYHXJqRtHQ6HUAlaytE9S7RgLabauAoaFXRpyK1i YhAdMj56WrwTVTo8kRYeul0AgKMAkzre2A3vTZcDCAO6U+GwYsDrAsH/vbEgwNxgptU= X-Received: by 2002:a05:600c:c0c1:b0:450:c9e3:995c with SMTP id 5b1f17b1804b1-450c9e39ce5mr5302325e9.12.1748420068503; Wed, 28 May 2025 01:14:28 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:27 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 11/28] target/microblaze: Use TARGET_LONG_BITS == 32 for system mode Date: Wed, 28 May 2025 09:13:53 +0100 Message-ID: <20250528081410.157251-12-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::335; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x335.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892948 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2081033wrz; Wed, 28 May 2025 01:20:52 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU6G6KV+4Pv4YHRQHoar7Q+PGF9SdMN+vWbrsP8r+xS5n8OkkPBDAPLA0J/mMiepwRFfiZSYw==@linaro.org X-Google-Smtp-Source: AGHT+IGeNt3VEo+sfbMZ1/ZCYybaPtCjTt6QL7Uf7081qrN8t6NAxFrvlfy8rX8k8pnD9g2+FfWx X-Received: by 2002:ad4:5bad:0:b0:6f5:41ae:715f with SMTP id 6a1803df08f44-6fa9d2a28eamr271197516d6.31.1748420452069; Wed, 28 May 2025 01:20:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420452; cv=none; d=google.com; s=arc-20240605; b=B6q+fc0NNpcGJUVoPvi6n9NwXkGKeCRgGmxOX1XDKHWLJAGA0W57t7eDQ7/N+wHcSg lB51feyCNH9HDObMbMwx4FGx8dO6c5lSE3nAZKBz3Q6hbVA+/OEAu2h1X86ah7Agquv2 3wzN1lBjvg7lDoyNg1FeiIWHf9jJi0omx9ERSnYAYkN889jdNtDN13fJEtmOF6Y7Ks59 prNAvTdwxJy/7qa8u/KXaafS1qtuacm2yE/8XT2WgH0QJ1oT+jVHQKZQfHpAuSgBuY2f 0AFnSd2rc7+HCeUzCRKZiMSi7RIDI3zvE7BAfInSY5ViZo2N0O2bZE6UL4HaOLXlht9s EwLQ== 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=NpxUd17c3m77ey9D/1drD1plUrvJ4iXwsNR9pLccurE=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=h9UBjoIMoSo6U5LLZV20XoT4eKthju0iL0TgsSi7UBae70jsXj9ESBjJlCXaXGo/+5 8EvOUOnoTdoTGXGVEPEhPF83t/VuVoRjNkrQNWpMOBmp6mZ2Efwia/54KEkG2vk+bvNu u8Qim/LCBrSak8ueWCav099C+Cs6bWKVIOzF8/xDq9t1XECKtp+iK54cI1nHZLUHS8Cd KPpQZHutHM6ZJKK7dIuomDYpl/K3JJ5rd8m4gV3YjMaPE4l/SSHCRPfcM4E8+9Yhlnnf 0sO3+k4iPGVOaryKRFKNswQrLWJjfyKIM56x5/OhLkV6jGd3/US4hbkhmc0bdl/+Z61t 355A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dBBZbx8A; 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 6a1803df08f44-6fac0b2268dsi7759616d6.43.2025.05.28.01.20.51 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:20:52 -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=dBBZbx8A; 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 1uKBwz-0000YP-Hb; Wed, 28 May 2025 04:15:49 -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 1uKBvn-0007wk-EC for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:36 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvk-0005Fp-O8 for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:34 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43cec5cd73bso33409265e9.3 for ; Wed, 28 May 2025 01:14:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420069; x=1749024869; 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=NpxUd17c3m77ey9D/1drD1plUrvJ4iXwsNR9pLccurE=; b=dBBZbx8Awrpf0rIIvubizVtTY7VVptc97iVUO9ct2lY55IHJcaBW8XNN1e706vwLwy VkeHy67MJHGmqqMcJfZc3sNuMK+1Bl+CY7WhzVxylW++g9HgqYWyriCHWpMKh6XHdCyh guTqxlzOaQmCHybCvROXxQG7AT8sE3zO97tY/swfu9xBSDWZFP3G7hGVzqUOFFPd2abE Mh8Z8+WdugevH7p92S61PyfJDCtwVvjQFgTakEHiIa8m02L2Y5rbTNUC1G+xougokSsn 6sC7opVvy+nkj5F7TvPFXptQ1uPx24jcufx9Zr2zBqGqgSROeGJAERVO/mcwePbeRk2d LykA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420069; x=1749024869; 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=NpxUd17c3m77ey9D/1drD1plUrvJ4iXwsNR9pLccurE=; b=Weqa1DCl9qZ18M2znhQiEz8M45+c7fsylKp2Jk0jYhmpwp623D2EKFu3okuEZAz6aB Sf3D4ZgqBNnXAY/sBWCg/mQSO7aX+BKBgzlgG5rXpZOzUn9NybgTE8BfJodEwKZrqzg8 IRGv6Zvc7luNaMlki7397ZUlezzFKxQ4pZYYqOc0KdSzTc9Sl4m0CoE5h0DUR/oSykQR mbiS5hqLZ6SpYcCA3+nULFu8W8Tz+cGg/I5UMQOSKwj1wChop1gUzQuDpTgW5A0YcAcO vlxPvh+VhwEVx+TxjbOmaZf1uVZFyKj0Usxkb64Y9mwsODQ6glOmS25j6VWi5+IZO7hq tBlw== X-Gm-Message-State: AOJu0Yz+jSyBNQPRJ0LSksv1w6a5ZYIj6YSkI5mCtaqSUg1+Jkk2V0fX /bC8f+XQEGmC13ZuLLcnYWu3iBAfuEkX+uXsxFN18MYkss8D9ogwQkT7APdLPqnpoH3wZ1SAccP BLPobbMCNsQ== X-Gm-Gg: ASbGnctP11qIxIEPY0pfxGyuyuV+p9nBsOtu0orZMWoLlA2Vw6K6ZSUeSCZM8eNJqED Y+3/gLsRUqHLoS0va4eAgPhHRlNZTDLpH66VPO+Uh4sWUrfAoGtWy50VVrKDTBIxwM/Ng0H2qan nAxnNJ4K34lq3hC382+SBsQQD+bcOakTwZDXRLJMs4RugPeubOUOl0V/OKaTI5f8SXx9ULFA5W4 pl2usZFjTOjAattVPlxKHPYZIEqCpy86eVrw1FOpC86mjTaXwz1FM5L36PNVCbSoV4xkCf/bfhY DnGyhOhs/OGBq5x2XubqESWk8tVxEZFyhFlniOmwyyP38DGSTUqAEOxjy9RRs/GyDO0= X-Received: by 2002:a05:600c:46cb:b0:43d:94:2d1e with SMTP id 5b1f17b1804b1-44c919e16a8mr134054495e9.13.1748420069536; Wed, 28 May 2025 01:14:29 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 12/28] target/microblaze: Drop DisasContext.r0 Date: Wed, 28 May 2025 09:13:54 +0100 Message-ID: <20250528081410.157251-13-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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 Wed May 28 08:13:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892954 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2081796wrz; Wed, 28 May 2025 01:23:27 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXNvfjq7d1j0RbpXDf6ys3IqOTVLLVk4mOfLo7IbBHxx6vkgmNz/l34dpzjIOTTj+lh/7MdfA==@linaro.org X-Google-Smtp-Source: AGHT+IESquA4UtfDyLsGLyZyfrsBbMhKs2xG01Gy+0r9KDesDGLWvMCXNG2rorvOmFO1CmqvSza9 X-Received: by 2002:a05:622a:4186:b0:48a:1f89:f933 with SMTP id d75a77b69052e-49f4655a670mr259653751cf.8.1748420552709; Wed, 28 May 2025 01:22:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420552; cv=none; d=google.com; s=arc-20240605; b=RZdrbaM6oSIJeyydZ7okZLtxPpuCbM1NlnqFUXx8SesWpGktgFcD8/K3IasfXIsyVz Z9mclsAVJaQF9QjKV+jnAiS4CF4LmQq/qcVMT7TaZvh6kErNB2Wr8bmAbWltumScTnQa hMnnXdVpe9yOzv0fa1qXJBkQdEUpn4HEoC/jFnJzk4rycDql0q0c6++it9S0RUtU5lxQ O1Nc1ItGUMyP3lAI7Y3O8Mb5W+xJoLSs0ajBdUZWQoH+ncOyh/R9q6O/sdTqXaqNUafV yCBWwohTAKoo3Fdln2+0oKM96dHfPSJvAtXSCTJrIUKIhMG6JTQjjqAlQ0aEioLfc1OI lyuw== 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=24Z9qZttVNWxMs/+PWywvUHFCg2sjBAovcSVb5esy8U=; fh=KhOg7HwptXKZ/G1kuebhEeqbpzNh38X/9OzLcK4Z+pc=; b=dho3ipN8uojLAV3YmmW6ALa7ENiTRntVLXt1ZVlMrqln8HxuAa9g8xbxOK02/uJvS0 HgCkIIZl3Uik0ISi0ndhVuXltTzql/f69e7H2aNnScXJXxzFrZz8fuCDumnp1F/ffR4f zno5BHfUc5WBKp/eLtoXBgc+CC9M2Q40JTI/pe5UeUxy/++zbI2seg0Z46qJyxsq1X+a Y5tNtQnFSH4h3VSaFR3bUCH8cP15+U3rmtzzDl0wNvBwADrRHJggjf5lygYN6KNIvaCO CpMqKLpOEveRoG49YL8RoNK8fWsO0h40jlTrUC4reRvv0g/qsztvX0az5g51wh0Zi8JS 7crw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=R36klxvD; 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 d75a77b69052e-4a3d01024c1si7665501cf.632.2025.05.28.01.22.32 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:22: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=R36klxvD; 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 1uKBy7-00023U-Q6; Wed, 28 May 2025 04:17: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 1uKBvn-0007wj-E3 for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:36 -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 1uKBvk-0005Fx-Df for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:33 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-43cfebc343dso32661645e9.2 for ; Wed, 28 May 2025 01:14:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420071; x=1749024871; 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=24Z9qZttVNWxMs/+PWywvUHFCg2sjBAovcSVb5esy8U=; b=R36klxvD2FkOwrAc0N6f0F53E8zPZqSwkw4CeVIoQF37Cz0zbMFMpm3GwsQt0kJ6AW NCR7auWyKsXo3ulbYSZm61ySBdnYvAJLRNj1HlBKm1P9yJ0wQJlRMZLxOrH5qr48S1Q5 DYW+6wtgq94OxlfBsq9HSssbin4Vr8HX/EkvE6WFaANF8gcqVeZe2nUrA+wzoRiCgF/e Ypai9vwl+6Bdm0cWcOG6adVvsle8swkSeVl4i9Y5H1okSd45/qu3AhRs4OwxQXsqJAEj u4bOUNgUiELlrKYr23LxGxOUurFuzpKilhfZhzQxN4aprPuYDbhAYxw81/3ZT6KiFEBt cRjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420071; x=1749024871; 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=24Z9qZttVNWxMs/+PWywvUHFCg2sjBAovcSVb5esy8U=; b=bXrGq/BgHONhRgw8t/nA2CFpHShCkCjhN6F88Mrd1y0qi/h4wQoLiyx4V7lPF8pdXi UV+rlG/MMWFkicor2iq8Fl+nqK+sx1LbIjbJIgOJQnVQBvRproY8n+g/3JDjS5tDExVB UVgLZNVd/Ull2JYeq31Gz12gl4QqkDPTCsknX7AVEukLOUQQ38aEOGNwnpwrwB1ltDv7 OvHAdrMPkoRKYKZceROc1kCG0HXhLfkscFZCnc7AoQ1wSzZCc0ZEjuVoSExeaIA5Fu80 8foA3UYzE9V2ogouWULrhQCE9Qa5Vfl2wax12PafN4eQrIeJHOhbqSqGwT0faZqSY98e LDgg== X-Gm-Message-State: AOJu0Yz3fgxRsKiOMcVmbBE/2Ed26BVGlTBGztw362O3GvZVHCGmxgY9 Qi6oRYkc1+hA+K9qMFQL7anyYXpnUoGmfVFwUlwd/+yxsSFDWApwrGHWCXrIdxnwg529L9LE+MC aF3tMOb/1uw== X-Gm-Gg: ASbGncsezQDy5on3ZhTpamwJB3fkJRSHGK9bTypfdAJhTAmxPUP12QgugTaC9yz5sPs IgZAtNfAUIllc0wIMzYRna8PDwPo3NfVYnllZfs7NpvlEYvYErwQ/nLPkeC4DaBML5MTjxCaTP1 HN/4UjWPiacVNxmLO3nEqwIa88Sjt6l0K0VUyNzviW9oOWV8g0ELw2jADG6V//kK8X2WgvkFV1F EFVwrhFBbBK24dHLzIwk/vZ4oUFK2CWjmO/+7XqpRIlM6pKOLC8pFPPL/y4OL7i+UBakMEalw/7 LpdyaIvkm4T5z3szUwfGUXK9hecg8S+CZOcy2HpJUBQVSxU9u1NLIAkd/syVTs+gq5M= X-Received: by 2002:a05:600c:1d15:b0:43c:fe90:1282 with SMTP id 5b1f17b1804b1-450725458d3mr8625225e9.7.1748420070554; Wed, 28 May 2025 01:14:30 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: "Edgar E . Iglesias" Subject: [PULL 13/28] target/microblaze: Simplify compute_ldst_addr_type{a,b} Date: Wed, 28 May 2025 09:13:55 +0100 Message-ID: <20250528081410.157251-14-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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. Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- 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) { From patchwork Wed May 28 08:13:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892946 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080862wrz; Wed, 28 May 2025 01:20:20 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXzroS1OlmVpzuPk2cDI8aJ10kd1LakC8nQ0FgsyuEntRAloMghM+ATfBO0f328pjkmLpUW3g==@linaro.org X-Google-Smtp-Source: AGHT+IEGimVOafQAz2YchXmnytFnawM/5S31pg0zK2eIWaDQ38Se1v/XNvFuirFKof8MVXqMbF5b X-Received: by 2002:ad4:5d4c:0:b0:6fa:bbcd:2786 with SMTP id 6a1803df08f44-6fabbcd28f9mr35683646d6.38.1748420409147; Wed, 28 May 2025 01:20:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420409; cv=none; d=google.com; s=arc-20240605; b=BlJdon5a1SEM8m1LLPZ04RM2jz55Bny+PQGceXf8pUTY0qmY/hd1mK6MsJHXJrT0Cw tnbDw9xjPv+/S9JuQ583FWN4eVnHnscpBJXhTxELFLsD2dvpRKwzcYdhw9YKqmOt9GPC xgUP7dHoAux/+6bF3nadSieY0W97B5ElYuOUtYV8dJXfTxwbYYN5nU8ezi7wIf3rY1vR uCYI2lT1DXqoj6unblAGGa4wbweDLYqJWN2FkhS79hJvIB1ND+0wgjUCuVQUdgAyOiiq wGuFFIseY+zml+TUh+MBaOHHIDZ4eoaGjf+W1qLTTX5q07oC/pLFAkOxzIF/DvVFgK3r ICMw== 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:to:from :dkim-signature; bh=sZ6vIxBu6FW/KD0BR1BtFe96Giz9M9xn+TA9iSEi6Lo=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=RAM7FHO2GRsMueh8a0BtXn2bILI35rYXI1uD0WZBHJxSLFGtl4UEsNO8V/wF6RaZFB V4onu7sWbuNuz6FyeFkxlWAHyd8KRRercxuDz4jqFzj7zm5l8D070CfNXZZgGJRZ/Usj t35q4SBH9X9nQoWB2+EqeQAicmWUs+doGDqtzd8AucSJveYYGY9ZQl0+8yaWoKnP+ZVg E8wubggKlUmKQnyMOZtJ/MzRjFSy47k7GWsInLLwG8hJPxg5b6w5jXZ3wUlVfgW2orN8 1lHdvXgCvlP04n4K2qIzz64QJ6DYbCr7oLLxtsesf+QC/8N6Bc4TEsCgMDYpSkflijtA ZPxQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kiiJxqYP; 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 6a1803df08f44-6fac0b22c99si7946126d6.98.2025.05.28.01.20.08 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:20:09 -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=kiiJxqYP; 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 1uKBxc-0001Oo-H7; Wed, 28 May 2025 04:16:29 -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 1uKBvn-0007wl-Ek for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:36 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvl-0005G9-FA for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:35 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-441c99459e9so27414225e9.3 for ; Wed, 28 May 2025 01:14:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420072; x=1749024872; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=sZ6vIxBu6FW/KD0BR1BtFe96Giz9M9xn+TA9iSEi6Lo=; b=kiiJxqYP9YTY+tEduQniU+a6gffEfYwQwW4WFL2/9nbLQFV54SKZ6z1AaKG+8gxkSj 5WM+K9x+5DB/9y+9j5ixeyBCX3EL+Uqls5oUJ7+cg0cMUICndAhWw6Y+Q+J6tiKnewf+ MtJ1DnPoR+yKvwk60RRcdAYYghhEmDoAItULBX21LC3MAuVwzaCkXPjg5V5vjE6cSP2P IKUY8QSFhV/5ehL0nlTau2teH6mgSTiYp+n61dB3vc11oeSviCKCmkrjTTP1w0ZS/2zV gSC6N5FZ29fnhBB2VKt7lVWToNtJEQJbtwbP+HIXoX7s3YFFZxGRS8diMYLE+gMrszD9 rTsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420072; x=1749024872; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sZ6vIxBu6FW/KD0BR1BtFe96Giz9M9xn+TA9iSEi6Lo=; b=lMKIRG3RucRH9BXZy2i7D05GZ50scpWDYDGcz9HQ/xcMlX2aC8Ch0ibW8A803IzOKY vRjS2CjXE3Utt+bUbbwX2uKBST43mG3HAFocGrvQjAiYTvXJi/Yz33F0LWB8/3WLD2zl 0aFiOvfbokq58VIp02hG4Y/lU/rwZXCCc7hMiuZwHUx/7Cns1kAyIdURWvU28CAXgJC9 EFQSku7i56RH3x5fyPqQz1r2y5AHrqMjvBw1LnmEUj1abiAjEdu7YzjoTJ0x0Erwkibv Nn1IofqlFpkTfUYmjuraBZuMjDHs6E+KVf6vvIIsYkb+idHDHGZLCZ47TdEa/TzHRjy8 UAWQ== X-Gm-Message-State: AOJu0YzD66kLGXHJCL5e+R82gQivX9Lr+CxQfZiUBLMOZzWPm3K1jbxt TBLCZ2/zo6hjEoJ1EPfCLI5csZWpDEfO8Zifip8R8tLvAluy6cqGsBU2c6Z/xkyZpTZEFRePc4q LWGRFUuZIsw== X-Gm-Gg: ASbGnctoxfE6M6Qjgu6EbvLBNn78rxNoPNbKQphoJ+itXxLGvCVF6LbqrzyRKNRv7MO TvMw/MMjTFff5rA4y1toXVJ/nWhDwk9wTXYLRTAVT3VgdkM+qNKCQBCffTZX+2CyhquPB4QzuRM c/LkuL2/ZbAosrzANGgbKdYpl6F6xzdtKjYM/QKS3H9oo105MYTXb9IZtAF2qHoXeMxp/dnkwCM ETPOa/hxVtd/Vutsb9DYL9CWpMrXx/gzgSIXUNBBQYLYJJ2IDwH74CVvXEMbamoXYI3uAMd3GnX lYtXfEsinGyrn+6mY7BD+1kmQC5Hz8ZCs7D82n7Ml81Drh6x19SB0mPm X-Received: by 2002:a05:600c:1d15:b0:43c:fe90:1282 with SMTP id 5b1f17b1804b1-450725458d3mr8625985e9.7.1748420071807; Wed, 28 May 2025 01:14:31 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:31 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 14/28] tcg: Drop TCGContext.tlb_dyn_max_bits Date: Wed, 28 May 2025 09:13:56 +0100 Message-ID: <20250528081410.157251-15-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 This was an extremely minor optimization for aarch64 and x86_64, to use a 32-bit AND instruction when the guest softmmu tlb maximum was sufficiently small. Both hosts can simply use a 64-bit AND insn instead. Signed-off-by: Richard Henderson --- include/tcg/tcg.h | 1 - accel/tcg/translate-all.c | 2 -- tcg/aarch64/tcg-target.c.inc | 6 +----- tcg/i386/tcg-target.c.inc | 6 ++---- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h index 3fa5a7aed2..e440c889c8 100644 --- a/include/tcg/tcg.h +++ b/include/tcg/tcg.h @@ -368,7 +368,6 @@ struct TCGContext { int page_mask; uint8_t page_bits; - uint8_t tlb_dyn_max_bits; TCGBar guest_mo; TCGRegSet reserved_regs; diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 451b383aa8..6735a40ade 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -24,7 +24,6 @@ #include "tcg/tcg.h" #include "exec/mmap-lock.h" #include "tb-internal.h" -#include "tlb-bounds.h" #include "exec/tb-flush.h" #include "qemu/cacheinfo.h" #include "qemu/target-info.h" @@ -316,7 +315,6 @@ TranslationBlock *tb_gen_code(CPUState *cpu, TCGTBCPUState s) #ifdef CONFIG_SOFTMMU tcg_ctx->page_bits = TARGET_PAGE_BITS; tcg_ctx->page_mask = TARGET_PAGE_MASK; - tcg_ctx->tlb_dyn_max_bits = CPU_TLB_DYN_MAX_BITS; #endif tcg_ctx->guest_mo = cpu->cc->tcg_ops->guest_default_memory_order; diff --git a/tcg/aarch64/tcg-target.c.inc b/tcg/aarch64/tcg-target.c.inc index 4cb647cb34..6356a81c2a 100644 --- a/tcg/aarch64/tcg-target.c.inc +++ b/tcg/aarch64/tcg-target.c.inc @@ -1661,7 +1661,6 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, unsigned s_mask = (1u << s_bits) - 1; unsigned mem_index = get_mmuidx(oi); TCGReg addr_adj; - TCGType mask_type; uint64_t compare_mask; ldst = new_ldst_label(s); @@ -1669,9 +1668,6 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, ldst->oi = oi; ldst->addr_reg = addr_reg; - mask_type = (s->page_bits + s->tlb_dyn_max_bits > 32 - ? TCG_TYPE_I64 : TCG_TYPE_I32); - /* Load cpu->neg.tlb.f[mmu_idx].{mask,table} into {tmp0,tmp1}. */ QEMU_BUILD_BUG_ON(offsetof(CPUTLBDescFast, mask) != 0); QEMU_BUILD_BUG_ON(offsetof(CPUTLBDescFast, table) != 8); @@ -1679,7 +1675,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tlb_mask_table_ofs(s, mem_index), 1, 0); /* Extract the TLB index from the address into X0. */ - tcg_out_insn(s, 3502S, AND_LSR, mask_type == TCG_TYPE_I64, + tcg_out_insn(s, 3502S, AND_LSR, TCG_TYPE_I64, TCG_REG_TMP0, TCG_REG_TMP0, addr_reg, s->page_bits - CPU_TLB_ENTRY_BITS); diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc index 09fce27b06..2990912080 100644 --- a/tcg/i386/tcg-target.c.inc +++ b/tcg/i386/tcg-target.c.inc @@ -2199,10 +2199,8 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, trexw = (ttype == TCG_TYPE_I32 ? 0 : P_REXW); if (TCG_TYPE_PTR == TCG_TYPE_I64) { hrexw = P_REXW; - if (s->page_bits + s->tlb_dyn_max_bits > 32) { - tlbtype = TCG_TYPE_I64; - tlbrexw = P_REXW; - } + tlbtype = TCG_TYPE_I64; + tlbrexw = P_REXW; } } From patchwork Wed May 28 08:13:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892950 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2081198wrz; Wed, 28 May 2025 01:21:27 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV5koadaXPyxJp20DtYT2NtJO5rCNSKeWFsERmVh26YVRaLq0TQjMqTH1vjOHt/binyehJMrw==@linaro.org X-Google-Smtp-Source: AGHT+IFT0gGxgHty/+0nh1gdetshb0QWn0EjvkSJ6Hw3h/C68C/J0SvRAcxVBiyNmZ2R0uWnMWXh X-Received: by 2002:a05:620a:1992:b0:7c5:6678:ab18 with SMTP id af79cd13be357-7ceecbe0e28mr1878652585a.42.1748420487520; Wed, 28 May 2025 01:21:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420487; cv=none; d=google.com; s=arc-20240605; b=STb59aiLSiylVtUERzYE3Srw9QjA79Uun6Vko2E6z+zP9y97RMSYH0B7+mFZBx3vhK f+iEXdjRo7bvLRnvhmO+IiC3cU9hUaI1ReYLGWhwfrQ65sN1ZJrsMU+JGtuuFleS3hnI aOQslWpmmui+ILWmE5GDHeBvkyWXLlxchzbSbDDN//YBiyzt3tvMOHRqSCNlLPp1lFtR 9DfBnhCmGultIi7fFyshx9I7l6Jt/tEef7J7Iar4naoFhKiyswxyN8YKe+xQNZU4L0Nq EOwueQt0StTBKb8V/UT3jjW07rcXllJSwg/nV9Wb9QyiwjjGwKf6TrQ+3L06ENRSqfzK /ejg== 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:to:from :dkim-signature; bh=feI5pdxTCTZSnDAvHS8LiwX6Kp1+v892kak6sYgi20Q=; fh=PnYt+qEB9tAfMKoqBm2xjKOFpYyFFGPudh5cVIoieJM=; b=JKIUFgLgDUWLToJ/ScA6YT7q3UDowNb2ITNGy6jgIxQq/VXQVq/PNbB9Xoy6D3XaFx C7pNTs/UVvKj493h1yqsTW/cj5dCNzU/qx8e+CoGlp6MykokyTzw8EEUwiGjbibX+HM8 lfKD4yKfhsFAdR8Ti+9dLU5vOQfMVEZM9xutOm986Ha/Q9CRsCtour8sfN/DgVy8H5rD PDuTSVposKCEEmsoR/ZIwRMtrSWk+HJdO3Ao5mlHxMhgflnl/QazoGbrLW1gh+8KYH4K /3DsXhTJINY4mB+WO2wu1YFMeAQWOK8fIV2s1udAcrdeW0GG6Tw9ztZjlQLazOLzaTvK KA/Q==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=kKwELBzS; 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 af79cd13be357-7d094f0f378si29546785a.197.2025.05.28.01.21.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:21:27 -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=kKwELBzS; 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 1uKByM-0002h9-Cb; Wed, 28 May 2025 04:17:15 -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 1uKBvw-00080I-4P for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:46 -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 1uKBvn-0005GP-7W for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:37 -0400 Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-3a374f727dbso1821064f8f.0 for ; Wed, 28 May 2025 01:14:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420073; x=1749024873; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=feI5pdxTCTZSnDAvHS8LiwX6Kp1+v892kak6sYgi20Q=; b=kKwELBzSwDQCM9A/daomcAGdNWKJFgTTbWIKSlKcFc//1VJS2p+iqYVdc2dpjXkHJO 1ANqkFA9ToX61Djph7gxlD/O3kadM8EVi+eRLqWySFchygjjMh9pEcfbpyG7lWth0XwR 8hp7wtfAs1zLKE+us96menIXuhzAZfDewUf6SyECcaErreF2Vb5Rs2+9DH76eaBFSnzw q9kqZTvbzT37fw81eT7dkOXPOITTBJQt+RbRwrH5JQkEqNxmgEVbGO3+4UySuRLokf0S 9Mt3/fwyhYZOQWU38wxbMOsGLSNSSwYSj1ppjPdq/nEdf0Dnor6CFJCebRbV6LlxvAXV pu5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420073; x=1749024873; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=feI5pdxTCTZSnDAvHS8LiwX6Kp1+v892kak6sYgi20Q=; b=dAmympz9ZdyzIqbozOIHP8y7p9+uA0Ff+5mMmz05I3+YDn0StmBhlnriujgsvRYTgs kOtbagUbczkvQI9xLLrENeq8b3UNYVsZOtM3YvqUQEcSNpEb03M69ymvu2egG7CoR5ZJ G/7tQEWYTp/Y6ckjKPX4vdeChYushUjr70wvDomcli6jp0XApD0Sg021kRL0dBJgbAFe SxxF8knaeGByHl3oggW3nWCILHeZlBWhv+iaH+Pqa968eJFxTW1HU6le4w0xYeJXlfsg as2VtY6b0xRaM4765L1SIVPn+CLqf/XEOAu1azoE5vXPmxeo8oqFfQI4k6knMd1UutkR Evbw== X-Gm-Message-State: AOJu0YyOwr+K1DAxCIAbN3hIFhLoi8UFFZS3CcrEJc6Q3V8MJXcJzfkc CIlDYSe+G6dK9ocEjtbVM0fMZCvIiKsXHigIi+LSWYbIBdhn5sfQD9wB7c8UyulZnWEbSc9Ccl0 rZHC3Ou59yg== X-Gm-Gg: ASbGncsR1QOmlA1j2RbZFve2DlavZnE+2bgIS5tVe3Re8WotdYdm/FKzkRbG6MVqWwH 0bA4HslIg26kfbAd/NXvwWnGJUUh0GVD6LXcWOzpy4tJV4mCP0cjzXc0L5htcKGD4XtDJwEPA5B DXKr5ymMs6D6rdTV1vkdNb8b7ij1gUzR9+CEsXAzd02W1Acv0J6aCP55retK+VtFss3XkXk3pXv 8D1X1iLmwxAC1rv/cT4JOFS7FUyacQubj6lCn9QYiekQO0SvbypmytmRkGsgYKG8y+yBSeESVSw k6jzdnHB+qUj52an21bRGOM42tXwDNWwSNyNznMW3cH8N0OGMrAzH8Q2 X-Received: by 2002:a05:6000:250f:b0:3a4:eb0c:409d with SMTP id ffacd0b85a97d-3a4eb0c41a4mr689283f8f.13.1748420072791; Wed, 28 May 2025 01:14:32 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:32 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PULL 15/28] tcg: Drop TCGContext.page_{mask,bits} Date: Wed, 28 May 2025 09:13:57 +0100 Message-ID: <20250528081410.157251-16-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 exec/target_page.h instead of independent variables. Signed-off-by: Richard Henderson --- include/tcg/tcg.h | 3 --- accel/tcg/translate-all.c | 4 ---- tcg/perf.c | 2 +- tcg/tcg-op-ldst.c | 3 ++- tcg/tcg.c | 1 + tcg/aarch64/tcg-target.c.inc | 4 ++-- tcg/arm/tcg-target.c.inc | 10 +++++----- tcg/i386/tcg-target.c.inc | 4 ++-- tcg/loongarch64/tcg-target.c.inc | 4 ++-- tcg/mips/tcg-target.c.inc | 6 +++--- tcg/ppc/tcg-target.c.inc | 14 +++++++------- tcg/riscv/tcg-target.c.inc | 4 ++-- tcg/s390x/tcg-target.c.inc | 4 ++-- tcg/sparc64/tcg-target.c.inc | 4 ++-- 14 files changed, 31 insertions(+), 36 deletions(-) diff --git a/include/tcg/tcg.h b/include/tcg/tcg.h index e440c889c8..125323f153 100644 --- a/include/tcg/tcg.h +++ b/include/tcg/tcg.h @@ -365,9 +365,6 @@ struct TCGContext { int nb_indirects; int nb_ops; TCGType addr_type; /* TCG_TYPE_I32 or TCG_TYPE_I64 */ - - int page_mask; - uint8_t page_bits; TCGBar guest_mo; TCGRegSet reserved_regs; diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 6735a40ade..d468667b0d 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -312,10 +312,6 @@ TranslationBlock *tb_gen_code(CPUState *cpu, TCGTBCPUState s) tcg_ctx->gen_tb = tb; tcg_ctx->addr_type = target_long_bits() == 32 ? TCG_TYPE_I32 : TCG_TYPE_I64; -#ifdef CONFIG_SOFTMMU - tcg_ctx->page_bits = TARGET_PAGE_BITS; - tcg_ctx->page_mask = TARGET_PAGE_MASK; -#endif tcg_ctx->guest_mo = cpu->cc->tcg_ops->guest_default_memory_order; restart_translate: diff --git a/tcg/perf.c b/tcg/perf.c index 4e8d2c1bee..8fa5fa9991 100644 --- a/tcg/perf.c +++ b/tcg/perf.c @@ -334,7 +334,7 @@ void perf_report_code(uint64_t guest_pc, TranslationBlock *tb, /* FIXME: This replicates the restore_state_to_opc() logic. */ q[insn].address = gen_insn_data[insn * INSN_START_WORDS + 0]; if (tb_cflags(tb) & CF_PCREL) { - q[insn].address |= (guest_pc & qemu_target_page_mask()); + q[insn].address |= guest_pc & TARGET_PAGE_MASK; } q[insn].flags = DEBUGINFO_SYMBOL | (jitdump ? DEBUGINFO_LINE : 0); } diff --git a/tcg/tcg-op-ldst.c b/tcg/tcg-op-ldst.c index fa9e52277b..548496002d 100644 --- a/tcg/tcg-op-ldst.c +++ b/tcg/tcg-op-ldst.c @@ -27,6 +27,7 @@ #include "tcg/tcg-temp-internal.h" #include "tcg/tcg-op-common.h" #include "tcg/tcg-mo.h" +#include "exec/target_page.h" #include "exec/translation-block.h" #include "exec/plugin-gen.h" #include "tcg-internal.h" @@ -40,7 +41,7 @@ static void check_max_alignment(unsigned a_bits) * FIXME: Must keep the count up-to-date with "exec/tlb-flags.h". */ if (tcg_use_softmmu) { - tcg_debug_assert(a_bits + 5 <= tcg_ctx->page_bits); + tcg_debug_assert(a_bits + 5 <= TARGET_PAGE_BITS); } } diff --git a/tcg/tcg.c b/tcg/tcg.c index ae27a2607d..d714ae2889 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -34,6 +34,7 @@ #include "qemu/cacheflush.h" #include "qemu/cacheinfo.h" #include "qemu/timer.h" +#include "exec/target_page.h" #include "exec/translation-block.h" #include "exec/tlb-common.h" #include "tcg/startup.h" diff --git a/tcg/aarch64/tcg-target.c.inc b/tcg/aarch64/tcg-target.c.inc index 6356a81c2a..3b088b7bd9 100644 --- a/tcg/aarch64/tcg-target.c.inc +++ b/tcg/aarch64/tcg-target.c.inc @@ -1677,7 +1677,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, /* Extract the TLB index from the address into X0. */ tcg_out_insn(s, 3502S, AND_LSR, TCG_TYPE_I64, TCG_REG_TMP0, TCG_REG_TMP0, addr_reg, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); /* Add the tlb_table pointer, forming the CPUTLBEntry address. */ tcg_out_insn(s, 3502, ADD, 1, TCG_REG_TMP1, TCG_REG_TMP1, TCG_REG_TMP0); @@ -1703,7 +1703,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tcg_out_insn(s, 3401, ADDI, addr_type, addr_adj, addr_reg, s_mask - a_mask); } - compare_mask = (uint64_t)s->page_mask | a_mask; + compare_mask = (uint64_t)TARGET_PAGE_MASK | a_mask; /* Store the page mask part of the address into TMP2. */ tcg_out_logicali(s, I3404_ANDI, addr_type, TCG_REG_TMP2, diff --git a/tcg/arm/tcg-target.c.inc b/tcg/arm/tcg-target.c.inc index 447e43583e..836894b16a 100644 --- a/tcg/arm/tcg-target.c.inc +++ b/tcg/arm/tcg-target.c.inc @@ -1427,7 +1427,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, /* Extract the tlb index from the address into R0. */ tcg_out_dat_reg(s, COND_AL, ARITH_AND, TCG_REG_R0, TCG_REG_R0, addr, - SHIFT_IMM_LSR(s->page_bits - CPU_TLB_ENTRY_BITS)); + SHIFT_IMM_LSR(TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS)); /* * Add the tlb_table pointer, creating the CPUTLBEntry address in R1. @@ -1463,8 +1463,8 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tcg_out_dat_imm(s, COND_AL, ARITH_ADD, t_addr, addr, s_mask - a_mask); } - if (use_armv7_instructions && s->page_bits <= 16) { - tcg_out_movi32(s, COND_AL, TCG_REG_TMP, ~(s->page_mask | a_mask)); + if (use_armv7_instructions && TARGET_PAGE_BITS <= 16) { + tcg_out_movi32(s, COND_AL, TCG_REG_TMP, ~(TARGET_PAGE_MASK | a_mask)); tcg_out_dat_reg(s, COND_AL, ARITH_BIC, TCG_REG_TMP, t_addr, TCG_REG_TMP, 0); tcg_out_dat_reg(s, COND_AL, ARITH_CMP, 0, @@ -1475,10 +1475,10 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tcg_out_dat_imm(s, COND_AL, ARITH_TST, 0, addr, a_mask); } tcg_out_dat_reg(s, COND_AL, ARITH_MOV, TCG_REG_TMP, 0, t_addr, - SHIFT_IMM_LSR(s->page_bits)); + SHIFT_IMM_LSR(TARGET_PAGE_BITS)); tcg_out_dat_reg(s, (a_mask ? COND_EQ : COND_AL), ARITH_CMP, 0, TCG_REG_R2, TCG_REG_TMP, - SHIFT_IMM_LSL(s->page_bits)); + SHIFT_IMM_LSL(TARGET_PAGE_BITS)); } } else if (a_mask) { ldst = new_ldst_label(s); diff --git a/tcg/i386/tcg-target.c.inc b/tcg/i386/tcg-target.c.inc index 2990912080..088c6c9264 100644 --- a/tcg/i386/tcg-target.c.inc +++ b/tcg/i386/tcg-target.c.inc @@ -2206,7 +2206,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tcg_out_mov(s, tlbtype, TCG_REG_L0, addr); tcg_out_shifti(s, SHIFT_SHR + tlbrexw, TCG_REG_L0, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); tcg_out_modrm_offset(s, OPC_AND_GvEv + trexw, TCG_REG_L0, TCG_AREG0, fast_ofs + offsetof(CPUTLBDescFast, mask)); @@ -2225,7 +2225,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tcg_out_modrm_offset(s, OPC_LEA + trexw, TCG_REG_L1, addr, s_mask - a_mask); } - tlb_mask = s->page_mask | a_mask; + tlb_mask = TARGET_PAGE_MASK | a_mask; tgen_arithi(s, ARITH_AND + trexw, TCG_REG_L1, tlb_mask, 0); /* cmp 0(TCG_REG_L0), TCG_REG_L1 */ diff --git a/tcg/loongarch64/tcg-target.c.inc b/tcg/loongarch64/tcg-target.c.inc index e5580d69a8..10c69211ac 100644 --- a/tcg/loongarch64/tcg-target.c.inc +++ b/tcg/loongarch64/tcg-target.c.inc @@ -1065,7 +1065,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tcg_out_ld(s, TCG_TYPE_PTR, TCG_REG_TMP1, TCG_AREG0, table_ofs); tcg_out_opc_srli_d(s, TCG_REG_TMP2, addr_reg, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); tcg_out_opc_and(s, TCG_REG_TMP2, TCG_REG_TMP2, TCG_REG_TMP0); tcg_out_opc_add_d(s, TCG_REG_TMP2, TCG_REG_TMP2, TCG_REG_TMP1); @@ -1091,7 +1091,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, tcg_out_mov(s, addr_type, TCG_REG_TMP1, addr_reg); } tcg_out_opc_bstrins_d(s, TCG_REG_TMP1, TCG_REG_ZERO, - a_bits, s->page_bits - 1); + a_bits, TARGET_PAGE_BITS - 1); /* Compare masked address with the TLB entry. */ ldst->label_ptr[0] = s->code_ptr; diff --git a/tcg/mips/tcg-target.c.inc b/tcg/mips/tcg-target.c.inc index 2c0457e588..400eafbab4 100644 --- a/tcg/mips/tcg-target.c.inc +++ b/tcg/mips/tcg-target.c.inc @@ -1199,9 +1199,9 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, /* Extract the TLB index from the address into TMP3. */ if (TCG_TARGET_REG_BITS == 32 || addr_type == TCG_TYPE_I32) { tcg_out_opc_sa(s, OPC_SRL, TCG_TMP3, addr, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); } else { - tcg_out_dsrl(s, TCG_TMP3, addr, s->page_bits - CPU_TLB_ENTRY_BITS); + tcg_out_dsrl(s, TCG_TMP3, addr, TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); } tcg_out_opc_reg(s, OPC_AND, TCG_TMP3, TCG_TMP3, TCG_TMP0); @@ -1224,7 +1224,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, * For unaligned accesses, compare against the end of the access to * verify that it does not cross a page boundary. */ - tcg_out_movi(s, addr_type, TCG_TMP1, s->page_mask | a_mask); + tcg_out_movi(s, addr_type, TCG_TMP1, TARGET_PAGE_MASK | a_mask); if (a_mask < s_mask) { tcg_out_opc_imm(s, (TCG_TARGET_REG_BITS == 32 || addr_type == TCG_TYPE_I32 diff --git a/tcg/ppc/tcg-target.c.inc b/tcg/ppc/tcg-target.c.inc index 2e94778104..b8b23d44d5 100644 --- a/tcg/ppc/tcg-target.c.inc +++ b/tcg/ppc/tcg-target.c.inc @@ -2440,10 +2440,10 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, /* Extract the page index, shifted into place for tlb index. */ if (TCG_TARGET_REG_BITS == 32) { tcg_out_shri32(s, TCG_REG_R0, addr, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); } else { tcg_out_shri64(s, TCG_REG_R0, addr, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); } tcg_out32(s, AND | SAB(TCG_REG_TMP1, TCG_REG_TMP1, TCG_REG_R0)); @@ -2480,7 +2480,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, a_bits = s_bits; } tcg_out_rlw(s, RLWINM, TCG_REG_R0, addr, 0, - (32 - a_bits) & 31, 31 - s->page_bits); + (32 - a_bits) & 31, 31 - TARGET_PAGE_BITS); } else { TCGReg t = addr; @@ -2501,13 +2501,13 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, /* Mask the address for the requested alignment. */ if (addr_type == TCG_TYPE_I32) { tcg_out_rlw(s, RLWINM, TCG_REG_R0, t, 0, - (32 - a_bits) & 31, 31 - s->page_bits); + (32 - a_bits) & 31, 31 - TARGET_PAGE_BITS); } else if (a_bits == 0) { - tcg_out_rld(s, RLDICR, TCG_REG_R0, t, 0, 63 - s->page_bits); + tcg_out_rld(s, RLDICR, TCG_REG_R0, t, 0, 63 - TARGET_PAGE_BITS); } else { tcg_out_rld(s, RLDICL, TCG_REG_R0, t, - 64 - s->page_bits, s->page_bits - a_bits); - tcg_out_rld(s, RLDICL, TCG_REG_R0, TCG_REG_R0, s->page_bits, 0); + 64 - TARGET_PAGE_BITS, TARGET_PAGE_BITS - a_bits); + tcg_out_rld(s, RLDICL, TCG_REG_R0, TCG_REG_R0, TARGET_PAGE_BITS, 0); } } diff --git a/tcg/riscv/tcg-target.c.inc b/tcg/riscv/tcg-target.c.inc index f9417d15f7..1800fd5077 100644 --- a/tcg/riscv/tcg-target.c.inc +++ b/tcg/riscv/tcg-target.c.inc @@ -1706,7 +1706,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, TCGReg *pbase, tcg_out_ld(s, TCG_TYPE_PTR, TCG_REG_TMP1, TCG_AREG0, table_ofs); tcg_out_opc_imm(s, OPC_SRLI, TCG_REG_TMP2, addr_reg, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); tcg_out_opc_reg(s, OPC_AND, TCG_REG_TMP2, TCG_REG_TMP2, TCG_REG_TMP0); tcg_out_opc_reg(s, OPC_ADD, TCG_REG_TMP2, TCG_REG_TMP2, TCG_REG_TMP1); @@ -1722,7 +1722,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, TCGReg *pbase, tcg_out_opc_imm(s, addr_type == TCG_TYPE_I32 ? OPC_ADDIW : OPC_ADDI, addr_adj, addr_reg, s_mask - a_mask); } - compare_mask = s->page_mask | a_mask; + compare_mask = TARGET_PAGE_MASK | a_mask; if (compare_mask == sextreg(compare_mask, 0, 12)) { tcg_out_opc_imm(s, OPC_ANDI, TCG_REG_TMP1, addr_adj, compare_mask); } else { diff --git a/tcg/s390x/tcg-target.c.inc b/tcg/s390x/tcg-target.c.inc index 7ca0071f24..84a9e73a46 100644 --- a/tcg/s390x/tcg-target.c.inc +++ b/tcg/s390x/tcg-target.c.inc @@ -2004,7 +2004,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, ldst->addr_reg = addr_reg; tcg_out_sh64(s, RSY_SRLG, TCG_TMP0, addr_reg, TCG_REG_NONE, - s->page_bits - CPU_TLB_ENTRY_BITS); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); tcg_out_insn(s, RXY, NG, TCG_TMP0, TCG_AREG0, TCG_REG_NONE, mask_off); tcg_out_insn(s, RXY, AG, TCG_TMP0, TCG_AREG0, TCG_REG_NONE, table_off); @@ -2016,7 +2016,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, * byte of the access. */ a_off = (a_mask >= s_mask ? 0 : s_mask - a_mask); - tlb_mask = (uint64_t)s->page_mask | a_mask; + tlb_mask = (uint64_t)TARGET_PAGE_MASK | a_mask; if (a_off == 0) { tgen_andi_risbg(s, TCG_REG_R0, addr_reg, tlb_mask); } else { diff --git a/tcg/sparc64/tcg-target.c.inc b/tcg/sparc64/tcg-target.c.inc index 9e004fb511..5e5c3f1cda 100644 --- a/tcg/sparc64/tcg-target.c.inc +++ b/tcg/sparc64/tcg-target.c.inc @@ -1120,7 +1120,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, /* Extract the page index, shifted into place for tlb index. */ tcg_out_arithi(s, TCG_REG_T1, addr_reg, - s->page_bits - CPU_TLB_ENTRY_BITS, SHIFT_SRL); + TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS, SHIFT_SRL); tcg_out_arith(s, TCG_REG_T1, TCG_REG_T1, TCG_REG_T2, ARITH_AND); /* Add the tlb_table pointer, creating the CPUTLBEntry address into R2. */ @@ -1136,7 +1136,7 @@ static TCGLabelQemuLdst *prepare_host_addr(TCGContext *s, HostAddress *h, h->base = TCG_REG_T1; /* Mask out the page offset, except for the required alignment. */ - compare_mask = s->page_mask | a_mask; + compare_mask = TARGET_PAGE_MASK | a_mask; if (check_fit_tl(compare_mask, 13)) { tcg_out_arithi(s, TCG_REG_T3, addr_reg, compare_mask, ARITH_AND); } else { From patchwork Wed May 28 08:13:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892934 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079831wrz; Wed, 28 May 2025 01:17:03 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX/TnZ3X3wVxr31AZOypk0bP+Rf9NGyYT9YTRJU1GEj6ewVt+hwxkXIRhSeK96Gu1kJ1s+TaA==@linaro.org X-Google-Smtp-Source: AGHT+IE1e662xVcM5HHdzKXL2q9m8pL0FCFU20XkIgYRCW600G4XhsCG6AnW8IDuJ0wGNMzHPCuL X-Received: by 2002:ac8:57c8:0:b0:4a2:719b:1231 with SMTP id d75a77b69052e-4a2719b1476mr133408471cf.35.1748420223407; Wed, 28 May 2025 01:17:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420223; cv=none; d=google.com; s=arc-20240605; b=OqxQdanZ7YxyBgZLdtdsE0JQ+/K8GyZYRv5wVCDsQUZcs6E9lRj9lQhiLIf5T4Lk4T bb6JKclzlWDC85Zf9TBASjnj04M7WnitV7KaORsLNbE0JfgSeCCN0hgDieGMFf9mfVHN w3v5qrAEoRdAY0YjrYVa1xsLmgsSrpH8tcR2ryMA8hGtzCdgrxihhf/yowRzs7xcAYiB QnGRfSOxhLq3V5yPpz4gMRfSCoV1tq9L1VVwos6ZwPPJTDJTaiPEOJHtMemW+dvUZOa4 4o1pZAdFUp0zmDJQAeoLpwW8NKjy9rLkm5vtoNZCuSw/P69my3i61Nmwfor3ygW0h6Rr SpLg== 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=ODczWVFhugZyrfXTTAs5E9r1pVIS+LEQMKc+n0efkhM=; fh=BCLN+t2ZqfLIJQawKoImfSYKBLl07s8FDPr8BfggRIo=; b=hHkPTdiTTU6RsH968e2HkLqvAAlSJsnsqwXoDChlX0lwo3jo4mz3+7TV/A/wDxYgGm XiOMV8/Q0MzVeunSvf0+D8dK/pIajQlbsPikFLUXf11z0jJ1uH8h7lUufbbAogZUs5nR tT2Or/unMOP68nMnTfXDDhKUdFNRQwKmKngSe5IOTadIxHZjHKYNV6vk371ABJUKt+wG MgDu2MBXvMhEnooq52llnby6ugTBUoSblxbKAyF/RfHeoUxIz/Njcr16XlSZC7KW+ZGC 9cz0hPPgQqcsadPNwoNZnloTceBbWGRm1baixE8LITAriW3XmdLLlKu4lfbhSvudEVql b3UA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="kQcqn/Xn"; 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 d75a77b69052e-4a3bffe564fsi7904531cf.77.2025.05.28.01.17.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:17:03 -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="kQcqn/Xn"; 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 1uKBx5-0000pz-FW; Wed, 28 May 2025 04:15:55 -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 1uKBvw-00080P-IC for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:46 -0400 Received: from mail-wm1-x332.google.com ([2a00:1450:4864:20::332]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvn-0005GW-Kc for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:39 -0400 Received: by mail-wm1-x332.google.com with SMTP id 5b1f17b1804b1-442ed8a275fso55593365e9.2 for ; Wed, 28 May 2025 01:14:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420074; x=1749024874; 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=ODczWVFhugZyrfXTTAs5E9r1pVIS+LEQMKc+n0efkhM=; b=kQcqn/XnCKXuEeguocT4CnxMsF8/7A4IhSCjMzdzqi+yUvbTSwVTwXqkw64HqzwCgY Os9x+MoRfTniHKvDILWa/QwREjmwCcc1Pv8U/ey5of1Ex7EQ1EPXNrNVKBsyCEU4yxPQ 2+ShDWwgyjVTP4tGQ/Q/2iq37no4hzf3KluVmaZzl7IvhUMnArs4sdPootg3Jk8qAIW5 EiGtojo6wGfCrtmN666ygXYTUKXZ+9UIpIidOO+bCZllStcGmKrYgubqiKMh0q0O1b1R JySKgKJ7hXCGMgUYbX92BA/I79rMu5kRKNJDtKHWJ9V6rJvJMEcqE8HWsYTwlBwRf3Ts HYAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420074; x=1749024874; 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=ODczWVFhugZyrfXTTAs5E9r1pVIS+LEQMKc+n0efkhM=; b=Ce9cbK5WC4MFe5vkauockQFdKIlbof/ENZV9zPVmgZpfucWfMwQX01pp2YTtwvjyXk R6DUmmrVhmmX/B/TDimU0s2Q2qpCpWtgQJk7Kjk/D+74BNOz/JXK1AoiGWt560bt9uHn InO+9UXqIWKFKRn14D8RuEQfQ4Xwy61b3TMU4V2Ygm0MfzmWU6jmrxdsyE6Yn6vgEFb5 bNe+6snoiLo2t3axEuRFPRtzra3QO4G/9TWV+3il1YhwlVuU34a6ixzIQnTR17Cq3uNb ozk9ZtmWkQTpUBM6Hx2VExVOoG84WGenxs8mWV334LJPa+EOLifMzhZAeyiD5RZNMU64 50jA== X-Gm-Message-State: AOJu0Yz403ZCvSH67ly/OnUrYRa6rN8rCDkjEJt1AdYCjmWxLrtdfiBC MoTP7PrGyQKbaFYlsS8jLc/i2eUjjmksuP2xaBmmA1SzeNs15Dos1L4lUk9F+mKDqnTdjoVVZfT UjAmY8NauEQ== X-Gm-Gg: ASbGncvpZeeVGDx4rtz6vxNiooCT+NLOqwv3ze1GmpI0obzBA8K+rSpnYZdvEldA+8t eO4CGRZlj62X3qbOTuZECG1WqkUuX6X9HWVYKb+r1678m42HOnuix/WE2lK8PAY+cj9EZRGjnv7 izcirePM6s4/pgLjd/4RH2BZB8C1I9/noli9PAxwxWgXUazplpPqJXHPaI3Z/esJ6GedhBoYemh Tzf0qkOxmzUhE2Jl7EZpi868bnoDLDCwNBUXFhhvDyYM03Lu4DvmaXF0hkFBjYPzRH71j6MGv1Z ls/tRTCreI/ZOsN0f3IFPXNZQsJVfWQjFTguaNXd5XF/Ftq42uoFrlTZ X-Received: by 2002:a5d:64e7:0:b0:3a4:ea40:4d64 with SMTP id ffacd0b85a97d-3a4ea404fcamr849888f8f.8.1748420073947; Wed, 28 May 2025 01:14:33 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:33 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Yoshinori Sato , =?utf-8?q?Philippe_Mathieu-?= =?utf-8?q?Daud=C3=A9?= Subject: [PULL 16/28] target/sh4: Use MO_ALIGN for system UNALIGN() Date: Wed, 28 May 2025 09:13:58 +0100 Message-ID: <20250528081410.157251-17-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::332; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x332.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 This should have been done before removing TARGET_ALIGNED_ONLY, as we did for hppa and alpha. Cc: Yoshinori Sato Reviewed-by: Philippe Mathieu-Daudé Fixes: 8244189419f9 ("target/sh4: Remove TARGET_ALIGNED_ONLY") Signed-off-by: Richard Henderson --- target/sh4/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/sh4/translate.c b/target/sh4/translate.c index bf8828fce8..70fd13aa3f 100644 --- a/target/sh4/translate.c +++ b/target/sh4/translate.c @@ -54,7 +54,7 @@ typedef struct DisasContext { #define UNALIGN(C) (ctx->tbflags & TB_FLAG_UNALIGN ? MO_UNALN : MO_ALIGN) #else #define IS_USER(ctx) (!(ctx->tbflags & (1u << SR_MD))) -#define UNALIGN(C) 0 +#define UNALIGN(C) MO_ALIGN #endif /* Target-specific values for ctx->base.is_jmp. */ From patchwork Wed May 28 08:13:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892947 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080919wrz; Wed, 28 May 2025 01:20:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWWTNqtHMlSHnc6E4sVPXL/eCjUtiH1qkHbtozc5ckgDa1ZByaaqr6I8OTiGCE4z0PtREEByA==@linaro.org X-Google-Smtp-Source: AGHT+IFecF0a0EZxSrNkMkEtMVWeDLF7DJBTBS6BkkSgrq3snCgH+cSz8v/lz8YpwLVQ73dJggiQ X-Received: by 2002:a05:6214:2248:b0:6f8:c773:26e with SMTP id 6a1803df08f44-6fab9ed8e28mr65410926d6.18.1748420430456; Wed, 28 May 2025 01:20:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420430; cv=none; d=google.com; s=arc-20240605; b=hX/u5iJeHyiPqD6+9pShTqM6xtzSKmgZOnripMFZkNLc+HAR9wwrp6ZQUN/L/WZ5Sr aEZlKKew6Hw+O5oAcdnnpo9qnUWQcMkiGVfyiblTPZPlQNsD7l63zsEGR91ssuFvo/rD AOt8sMSjV+m/aBAYPs6eUTMiTqLfNZftpeThtrPgvTPcG9rDrNGY2bcB3WM6KxSFf9qn P210zJSx6RYJkO1fV7BTSUMoYjasOCj/+5fY4sP+QQHSbKhOJwOK9eSdlQfIZ2dXkKyt peGUg0T6UnrId5NQNnkRriEA+Cj9AMjMHDMz7KCOoOUMEQSRN40vMQoxB8S1CDq2LmBI DPnA== 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=4yxK7itilT3E8IopdplzU4z6K9yD5rCY6HX2ZBd1VtI=; fh=kQadAhxV42GJ3cd2VUw1RyURv/zJQGvmUdF7iLEVTtc=; b=kd2HB7dFs/L0oGuFDUyZZvuhYBxYNZgY5/vG26bW+o/jaKNIMa197Xkmm3F7NfLX1k VxxzdV1LHyVMrO44waEPoXgAoM5MIre59///3sL+0Q+/fkyHwdZt1D0BpGt2zKVOA1Bw 5KwapjYJNPKT2DkLfEsP5jZkHEq7v8/qcCbm6iMjVUE83EvKZqnicAJdBjukNsbVkgtn fj3WvZKu3/9L/Y/R2Wzi7zly/v/NNyfMQzy+oNdBL7TMB10Rc/R3boULJXi4rqojrUSG sz1JGIjZV4AGJwJmxv3nPOQPxPI9j3Xkpoj9SRUDLZbdMWSGk4M40lyRaBTlW7TxXuIt 6DVg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ryQECT1m; 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 6a1803df08f44-6fac0b22896si7784936d6.83.2025.05.28.01.20.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:20: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=ryQECT1m; 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 1uKByg-00032g-8m; Wed, 28 May 2025 04:17:40 -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 1uKBwC-000877-BI for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:02 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvq-0005Gp-LF for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:45 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-441d1ed82dbso48162275e9.0 for ; Wed, 28 May 2025 01:14:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420075; x=1749024875; 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=4yxK7itilT3E8IopdplzU4z6K9yD5rCY6HX2ZBd1VtI=; b=ryQECT1m0cGU7opE+bp8DRO2m0GzEAlVTle/rK9ujRKcie7/WJZi3QfOz/ykI3DuBF 3zrnsqAya753SOsG20Csx3+MN775VgLKfNqkXLVmR3c8S9WkI1LtXsswHjStDbpthONg k43g0Yzmqt+BMquJzp7yIvbyxZ6bgSgDkZYven2tMoYJHbn1uJ7RuEJkmC9ndUmqM1Vf Jv5JiuO1cMNlYCIrCU9npOagDJzsUAPTM3fsinD7sk6DVHwjiEJlpKgGz2TA/mejan5l aHmDirOEkjJK1cD/UbjaxfZmgiMSBKcRtNcw0Vgc4vI1iEfEjqi9ZDfCcgwDB8ScrHKC 3kdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420075; x=1749024875; 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=4yxK7itilT3E8IopdplzU4z6K9yD5rCY6HX2ZBd1VtI=; b=KwDR5N9eFMp8TlqSaU1TWau5YTVZHJWaqscZ4PnVeN3gc46insnJsgnT16h3S0XwUr Uw5ZiO0iR4ivAjfp35e5RMykuQflSy42GtWNM+CIzwUz+wL3jDTDsCSDSDX3m42J588u 3MjbzejPDF9GhwUEjxIv2Q+PPA+yIKKU+BAo3AgNWa+TW1KS1qO7Awe2rPcy97KU7i+u MjPryU/lFYoAn0YG9RzeNVGVj15MSt3KqD+Tfv0SClrUrUQsAblIMPQ/mCbu7dBTYOz/ xsLa0tRrAXDeCmVbJppTLsrkte5tf0pMyT3pxn28STtzlDbE9sGFiTywPqxiar4eYDLr SolA== X-Gm-Message-State: AOJu0YwPGHYmGOubtQBop+Zm4QshtSh8iaJPat9Y4UBgNTjkaY5hJOyC dp7wFPXDbPqeKlDAAuCMXZhrA3H0gPgGljFLAtdxuDTlSSrWE1aij//zwy3y4jLAlWwQMxPz7t4 muH+KmzqHAQ== X-Gm-Gg: ASbGncur84ph9mPZP2iB0K9D0NxlEsILMh1ddAXOh8XI3tDRPlOAACJ/Ss+UJF16JEQ Ggxn7ZSoNbCQ22obdpWn5b5Td52+0BKtoxdNb1iY7+RI30YJBB4FCBkJyW+LjLUwjS2eOquGxJx SkCucLeZ2G81Xd2Xswv5TrVFNCGIQ5gXj5OgSlENi7CeRGCCyZHvB29CJv5ZpbnO7jkgtamHeYk Kad/olhUeWgtWDjVM/7tsFY3474GRpYsnbL++yx+6oRr2XtAaz2lTbudwXQZavzWn8pfkrvKN9B 6C+l13maeYsV2+KmRAZx+Apmfz84yfEbfUMXx193Ssp3R4iAgCI826Cj X-Received: by 2002:a05:600c:c1c8:10b0:43d:4686:5cfb with SMTP id 5b1f17b1804b1-44cc0725a12mr80596445e9.27.1748420075199; Wed, 28 May 2025 01:14:35 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:34 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 17/28] accel/tcg: Add TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:13:59 +0100 Message-ID: <20250528081410.157251-18-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/accel/tcg/cpu-ops.h | 7 +++++++ accel/tcg/cputlb.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/include/accel/tcg/cpu-ops.h b/include/accel/tcg/cpu-ops.h index cd22e5d5b9..83b2c2c864 100644 --- a/include/accel/tcg/cpu-ops.h +++ b/include/accel/tcg/cpu-ops.h @@ -222,6 +222,13 @@ struct TCGCPUOps { bool (*tlb_fill)(CPUState *cpu, vaddr address, int size, MMUAccessType access_type, int mmu_idx, bool probe, uintptr_t retaddr); + /** + * @pointer_wrap: + * + * We have incremented @base to @result, resulting in a page change. + * For the current cpu state, adjust @result for possible overflow. + */ + vaddr (*pointer_wrap)(CPUState *cpu, int mmu_idx, vaddr result, vaddr base); /** * @do_transaction_failed: Callback for handling failed memory transactions * (ie bus faults or external aborts; not MMU faults) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 86d0deb08c..81ff725cbc 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1773,6 +1773,12 @@ static bool mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi, l->page[1].size = l->page[0].size - size0; l->page[0].size = size0; + if (cpu->cc->tcg_ops->pointer_wrap) { + l->page[1].addr = cpu->cc->tcg_ops->pointer_wrap(cpu, l->mmu_idx, + l->page[1].addr, + addr); + } + /* * Lookup both pages, recognizing exceptions from either. If the * second lookup potentially resized, refresh first CPUTLBEntryFull. From patchwork Wed May 28 08:14:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892944 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080794wrz; Wed, 28 May 2025 01:20:08 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU0M7CmhWVcc4zG6VVG3eV8A1k9AL6hCgP1/GgrxdOg14L8ix+TPslIJidjtU6XS82kDlIBVA==@linaro.org X-Google-Smtp-Source: AGHT+IG5A+YTm4qT0PWS4lyTovJ1RYX2rKw/kX8+zwaBLgL9qET3LsKi/yGjl4a1KmfOp9Xy1+/6 X-Received: by 2002:a05:6214:c27:b0:6f0:e2e1:50b4 with SMTP id 6a1803df08f44-6fa9d2951c9mr262738736d6.35.1748420397453; Wed, 28 May 2025 01:19:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420397; cv=none; d=google.com; s=arc-20240605; b=V2Qrjbdagy3KJxGzXmTjqGSpwTvGVopqt3CllwFzy2eo1w99Ad7JD/u11NzqOwypfN MCpfapdFf3GmAj70tgWrXTGhsvJ+IAe5oVjRHv8NGSMnE7mtLP5toVSlOwI4wQdfK2qF dmPnzKUG6vdKTkoo40Qya9gz8Ai2ILGSeYVLndAfNekkM5+6xMPTDxUeWT4c7YxT/OPD rWUt4pMtPJ6kErymynafIuhB4xmoxq28Y4AvQgq9J1LqBry15TQs3gklF6XxJvwylk+F FecDDQgXCYn2F2Em1Jz1HGBhXuSbggG+nobC3XSRkQjd19p3A14nSS9texra66iDr24y pl4w== 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=ZxuMsIzIEBcwEqybHWtHbk2A32P89CJB8Yk1LV8pWNM=; fh=D9XbKn7MualUM3TbFPwBYMhKUbtbmgrQ95EgRWFgcbU=; b=ajmSg4n5RaAy0QoE6Rr8oUTtK9BGiL3yDDKxY39TZnYHjWYEBD8WvgSa6Kwmfu+Srp 4+xUmgMPEOJdCANaCzkexD49xfzbLQJUrxVr6tnmnl7F5xG8q/O1I5H00lGBCs+tNap4 gdYI5AbXtcOkn1vVua1nkzKsKPGpjdhUPExKfCndA4HRkJLSIo/a9hEC6cgibMPT3/Ki Q+H18uBVF0EWwR0MXW6dGK6NcpkEY/gMMttx6Y+bJoV8OtyvMbZyMs1FDGL9jZyYkKfr yWCHbu+fLLoHXuiu7WgceMpEbY/xSs2iMcYQqC+afpCpA+j6XDaGqtJNqaas9ztxbZBA 6BWQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=L46IYmd6; 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 6a1803df08f44-6fac0b228d2si7572086d6.94.2025.05.28.01.19.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:19:57 -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=L46IYmd6; 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 1uKByU-0002rF-14; Wed, 28 May 2025 04:17:22 -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 1uKBvy-00080Q-2Q for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:47 -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 1uKBvq-0005H3-LM for qemu-devel@nongnu.org; Wed, 28 May 2025 04:14:43 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-442eb5d143eso44903745e9.0 for ; Wed, 28 May 2025 01:14:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420077; x=1749024877; 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=ZxuMsIzIEBcwEqybHWtHbk2A32P89CJB8Yk1LV8pWNM=; b=L46IYmd6ood/PHyZPBgeccjZSqytJgJbguXLYE3vvAdDhEad7wLGoEOdHAKsG5K6KM cv1mML63/xWqTE0Y7rbQ1TjRCFdGqRat/0MSK3EevjKKCjz+XUESXAxqVwHdmUib7yV4 FFp+rrY4lx4XXdCfF3mlcC9Q6Ks5swfzybuvMef3hKnTsMVrzRatESCZ2YHoNBD0tw7x RkFEScUO4kXteS0GtOw1t+6yuDNBANAP7y5qDPjGHNhFOfOdRdnVT0AZn/g79k/EXob8 ATHxDtMw1kAAWGXMGci/oGAVNtPcXA7OPa3mPYOua5Ex6/Z7AKskyoj4l0YT7fyr66G+ 3wNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420077; x=1749024877; 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=ZxuMsIzIEBcwEqybHWtHbk2A32P89CJB8Yk1LV8pWNM=; b=eoLERiigxgk6gBnSWockOncxo3sLG2eBr7HQFQs2l3A1tvNXI2JOBqz2L/DRFeDxGx Szw2h6zUCso6nqPmNAvIJiEquw7m5LHhylYI0bRM1EH//XwVQF5R/CHMcdCvWjHArQAm IvsLlCTxmIMchecHrzl+6YucOCI2QuvzrJ2ZcNUU1lfNLXt25K6AIg2fHZ77gSdJcl8Q hpbTc3dcvwY9nDmjejhYMG1UZ1hdQud5X50b8/EdUbgV88tKHtMwoORTCzzczFXYKt6j XgnTiGoXb49PdpcO0SnnZB5uADFTl16J2OPiShJJW44w44ZahvF75QArbJ7m5FiA/sm3 IiIw== X-Gm-Message-State: AOJu0YzJw/BRASWE+RSP+ty2sLtkIdmoU1PGPSdOn8U3QKkahiNQPPOs PbGAcpfHQoqquu6Nt4SPPkfiAEOTVS/ylymKOm1HSt6cHEYwRd/E/QW9I9EB5wk7BssHKYfhdL2 E46wH5tI87g== X-Gm-Gg: ASbGncsFJo+ufXS19pBNobI7NszKXRQA4TJ9DbhJs5+BeliSMXKvnJ4yvI4AbgmCDBr 4ltp7SYwoLqRenldliF5E3N56Y79lzc57rdFE6xRemGK1Mi+nEqzgFFAJl1FwDVdYo15/Yf3wnF BwvfFUaKWyACtH6/uvHd0L2SaWQpvt0r8jTh3ME8ZRWgScXemOTBJ/itGrpkSP29AdHjLDlyuvb 4Wz0d1sO0Tk28J/lPq5dmAVlgbmk9mEDOImZ2BW28HNuF5JizTS78MmyCskm14NOKit+eYhEVOJ lv1y2Wee8xLOMT4WeqQa8asRrkCz1uqvK5hJ+/+4HmNEquzy+FUsEFvI X-Received: by 2002:a05:600c:8012:b0:43d:45a:8fbb with SMTP id 5b1f17b1804b1-44c92d3516cmr140974815e9.22.1748420076629; Wed, 28 May 2025 01:14:36 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:36 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Helge Deller , Yoshinori Sato , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 18/28] target: Use cpu_pointer_wrap_notreached for strict align targets Date: Wed, 28 May 2025 09:14:00 +0100 Message-ID: <20250528081410.157251-19-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Alpha, HPPA, and SH4 always use aligned addresses, and therefore never produce accesses that cross pages. Cc: Helge Deller Cc: Yoshinori Sato Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- include/accel/tcg/cpu-ops.h | 5 +++++ accel/tcg/cputlb.c | 13 +++++++++++++ target/alpha/cpu.c | 1 + target/hppa/cpu.c | 1 + target/sh4/cpu.c | 1 + 5 files changed, 21 insertions(+) diff --git a/include/accel/tcg/cpu-ops.h b/include/accel/tcg/cpu-ops.h index 83b2c2c864..4f3b4fd3bc 100644 --- a/include/accel/tcg/cpu-ops.h +++ b/include/accel/tcg/cpu-ops.h @@ -322,6 +322,11 @@ void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len, */ int cpu_watchpoint_address_matches(CPUState *cpu, vaddr addr, vaddr len); +/* + * Common pointer_wrap implementations. + */ +vaddr cpu_pointer_wrap_notreached(CPUState *, int, vaddr, vaddr); + #endif #endif /* TCG_CPU_OPS_H */ diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 81ff725cbc..49ec3ee5dc 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -2933,3 +2933,16 @@ uint64_t cpu_ldq_code_mmu(CPUArchState *env, vaddr addr, { return do_ld8_mmu(env_cpu(env), addr, oi, retaddr, MMU_INST_FETCH); } + +/* + * Common pointer_wrap implementations. + */ + +/* + * To be used for strict alignment targets. + * Because no accesses are unaligned, no accesses wrap either. + */ +vaddr cpu_pointer_wrap_notreached(CPUState *cs, int idx, vaddr res, vaddr base) +{ + g_assert_not_reached(); +} diff --git a/target/alpha/cpu.c b/target/alpha/cpu.c index 890b84c032..2082db45ea 100644 --- a/target/alpha/cpu.c +++ b/target/alpha/cpu.c @@ -261,6 +261,7 @@ static const TCGCPUOps alpha_tcg_ops = { .record_sigbus = alpha_cpu_record_sigbus, #else .tlb_fill = alpha_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_notreached, .cpu_exec_interrupt = alpha_cpu_exec_interrupt, .cpu_exec_halt = alpha_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/hppa/cpu.c b/target/hppa/cpu.c index 6465181543..24777727e6 100644 --- a/target/hppa/cpu.c +++ b/target/hppa/cpu.c @@ -269,6 +269,7 @@ static const TCGCPUOps hppa_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill_align = hppa_cpu_tlb_fill_align, + .pointer_wrap = cpu_pointer_wrap_notreached, .cpu_exec_interrupt = hppa_cpu_exec_interrupt, .cpu_exec_halt = hppa_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/sh4/cpu.c b/target/sh4/cpu.c index b35f18e250..4f561e8c91 100644 --- a/target/sh4/cpu.c +++ b/target/sh4/cpu.c @@ -296,6 +296,7 @@ static const TCGCPUOps superh_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = superh_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_notreached, .cpu_exec_interrupt = superh_cpu_exec_interrupt, .cpu_exec_halt = superh_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892939 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080602wrz; Wed, 28 May 2025 01:19:28 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV+jufgWxm0YU1zpk0rlKSac8mHsK2sJfhsyuVGJEYBIvj++vQZvDph6WSYPIb/mGVC+ixTlA==@linaro.org X-Google-Smtp-Source: AGHT+IEqBacv9l2br5PH3ttgYbbb0E0XxFeb0yVC54l8qfzWSUobQLaIThNfQz6Ps+ERPZ+f08LF X-Received: by 2002:a05:622a:5c94:b0:4a4:2d7a:994b with SMTP id d75a77b69052e-4a42d7a9a10mr5641091cf.19.1748420367832; Wed, 28 May 2025 01:19:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420367; cv=none; d=google.com; s=arc-20240605; b=QRij2pdztNNe+iPnXbCJ5wiZE9qtbXIqWaYFSK0ab5UVfrNSZTlNTaxMNhcdeG+TQf rno/sSh1yqJi744EuwsPmasjM8cGXWPDa6I4/P2vLPiVql/xXuUo6/HRvLl+8OGQSnJ3 rbN0vRoMW5OLE5bGVEHijn+5Pp0r/TvGGctUTZwlPb0RkQU8W4Qd+OclOirEIhdV3p6r lQWmdraivhmrK8KFfkrKqXUQnOs7ntVAm3VXujCUYFKKeZdNCmLgcNTDyzUAUONUK9gp MznLKSfkGiAJm9VfuU6Yyj8p/vlsi3ObQMOHwFAzhODHQYOT7SmbNhcI6eUhRKRnSyPx l+qA== 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=8qFWFQgm7tp2FoeXZowsVaEILXqBgZTLSVkJ211wbIE=; fh=ciydkc8gF0nz8hdz6bKYDa0ElJulmoOT6bYtiSCXcHs=; b=QEW1mF7a2vegFYO0slQBdkJvHqe1RAUSakvXH9SinJTmRuwC/42nicr3owwSlCZys5 d6DNVBIBbjMKsCdN9068XfYRlu3jPsPTP0tLWOBQZ4qpM3bFAutryMTEV0e6oOfcgae9 dDcRaN4E67dYTtn7UiTKBdcxmYuf8hqugkq1IFpkJKSWWQ0Ij9KgGnpvV7LgE1pmkBRL eEW1y74J2ozWisYjTSs4UyI4+KZfvSaY71eAvUVLPm/BWQjorv+FkOmrSXk829ThEuG6 51yCbzaCM2yJrVrb7yN5awk3lJ1s3+/CkVQK1hrZ/n89PBrC2J+Zen6n5cl3UxUVbBx5 mOug==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KwDUiyUv; 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 d75a77b69052e-4a3d01066b4si7183631cf.667.2025.05.28.01.19.27 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:19:27 -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=KwDUiyUv; 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 1uKBxc-0001MM-7g; Wed, 28 May 2025 04:16:28 -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 1uKBwE-0008Aj-Uk for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:03 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvw-0005HU-8q for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:01 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43cfa7e7f54so4682375e9.1 for ; Wed, 28 May 2025 01:14:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420078; x=1749024878; 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=8qFWFQgm7tp2FoeXZowsVaEILXqBgZTLSVkJ211wbIE=; b=KwDUiyUvPBaD/B2te2z9PjC0NOXP94vdPhR2TnsNBMwJFRHSNcOAF8pVBF8pAy2Jw7 VJNtMJzaEWi4adVzyWYu3N/tKSHRlmrs5eqZOEhdbvodQ1zom8ZkoRq1W3VG4ZLODegf soDYgajwewmPMIh2uaEt0adix6pMtplkMcyOKV/dlJ+WXiTMCtbqsRHctyrrwQCemQsZ jvGJSr+ZCtzVBLMpOSma2OLptXhaA1Iypc+BIjqwcjIsKy6BIOrLS4cOa8a81okndYNI yUgeHsCBGy+34UMY/s4eeTu4VL1EviNYs+a8NddQkenKpJmdipMac48Hf32uQb6HjymA zVtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420078; x=1749024878; 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=8qFWFQgm7tp2FoeXZowsVaEILXqBgZTLSVkJ211wbIE=; b=ZtMtYQCnc9ASUHwH/33zDFyY+xHMh05XOVbiQEdfWQa9Gy+/szpL78SmjaT1j0tCkV jWQxECRiZNTQ3Za8aNApqMW0elHfl6wVGpY6L27lu4jtGQ14UXEhJvljS3MW+CpEWhyN asef1aYmpLfJWARlWH4/HtflQQB2QWerC1PO+57VQtIhqI3sj3ZsMO11pP6F8QTvJZjk /a/5dWrUeBJDFTuskmEnn0GRHffJ7aFiWUwKNNDXYxLBwSkN2WKBN6is4uxUzTQimkfz MSUtKyxMqSnmgYfBAwyXy1vIyY/iC5m5SsQnEkgioabP92HONaW5UbJmKKntxQ5blRAW TU3g== X-Gm-Message-State: AOJu0Yye7iFpHxQYScmJdZYoDQM/Ieso0z+9hpF28paAzW9QWPjVqpP7 SRj1NjBSnw9zy9tTSW5uB6n6m9fwaLJO/8/vuLeruMxNDGoGYOCL5/8zgRdduzlardBBqz82ZwM XmS43cXuC1w== X-Gm-Gg: ASbGncsp3ST+0DfbSpeztVM/ggJdQb85zhD9tWm6xIcQCbck2s/m/15UemPq5M9Ir6F CqUK1NiiSADpooTM1XJwkG2RbsZiNBjopPrjnIoZX9EjRfk8DC7eKnGKDdbXpoGE9ZkNCAREALE pClYZ46JOaQ5bmpCOyHI6+RcNB+nvzU64tvRYo8Osd83HpsjWyiMCfdpNjhlgJZMdiBeBDqtoOU VZuEa9X58clPNhbwHypiFm+RGfnPUiWHCk7hZr4rnAPPiCbdjUTGV/16crs7T/PdGcyevGEuG0l PQQHVp+By5HOqeJndEvixbYdFNMhHi4Coo3Y8m251UnUACt21+VjpS6nIvrNvGcrQgU= X-Received: by 2002:a05:600c:c059:20b0:43c:ed33:a500 with SMTP id 5b1f17b1804b1-44fd1a5bb56mr22270445e9.10.1748420078241; Wed, 28 May 2025 01:14:38 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:37 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Michael Rolnik , Laurent Vivier , Stafford Horne , Yoshinori Sato , Max Filippov , Bastian Koppelmann , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= , "Edgar E . Iglesias" Subject: [PULL 19/28] target: Use cpu_pointer_wrap_uint32 for 32-bit targets Date: Wed, 28 May 2025 09:14:01 +0100 Message-ID: <20250528081410.157251-20-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 M68K, MicroBlaze, OpenRISC, RX, TriCore and Xtensa are all 32-bit targets. AVR is more complicated, but using a 32-bit wrap preserves current behaviour. Cc: Michael Rolnik Cc: Laurent Vivier Cc: Stafford Horne Cc: Yoshinori Sato Cc: Max Filippov Tested-by Bastian Koppelmann (tricore) Reviewed-by: Bastian Koppelmann Reviewed-by: Philippe Mathieu-Daudé Reviewed-by: Edgar E. Iglesias Signed-off-by: Richard Henderson --- include/accel/tcg/cpu-ops.h | 1 + accel/tcg/cputlb.c | 6 ++++++ target/avr/cpu.c | 6 ++++++ target/m68k/cpu.c | 1 + target/microblaze/cpu.c | 1 + target/openrisc/cpu.c | 1 + target/rx/cpu.c | 1 + target/tricore/cpu.c | 1 + target/xtensa/cpu.c | 1 + 9 files changed, 19 insertions(+) diff --git a/include/accel/tcg/cpu-ops.h b/include/accel/tcg/cpu-ops.h index 4f3b4fd3bc..dd8ea30016 100644 --- a/include/accel/tcg/cpu-ops.h +++ b/include/accel/tcg/cpu-ops.h @@ -326,6 +326,7 @@ int cpu_watchpoint_address_matches(CPUState *cpu, vaddr addr, vaddr len); * Common pointer_wrap implementations. */ vaddr cpu_pointer_wrap_notreached(CPUState *, int, vaddr, vaddr); +vaddr cpu_pointer_wrap_uint32(CPUState *, int, vaddr, vaddr); #endif diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 49ec3ee5dc..a734859396 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -2946,3 +2946,9 @@ vaddr cpu_pointer_wrap_notreached(CPUState *cs, int idx, vaddr res, vaddr base) { g_assert_not_reached(); } + +/* To be used for strict 32-bit targets. */ +vaddr cpu_pointer_wrap_uint32(CPUState *cs, int idx, vaddr res, vaddr base) +{ + return (uint32_t)res; +} diff --git a/target/avr/cpu.c b/target/avr/cpu.c index 250241541b..6995de6a12 100644 --- a/target/avr/cpu.c +++ b/target/avr/cpu.c @@ -250,6 +250,12 @@ static const TCGCPUOps avr_tcg_ops = { .cpu_exec_reset = cpu_reset, .tlb_fill = avr_cpu_tlb_fill, .do_interrupt = avr_cpu_do_interrupt, + /* + * TODO: code and data wrapping are different, but for the most part + * AVR only references bytes or aligned code fetches. But we use + * non-aligned MO_16 accesses for stack push/pop. + */ + .pointer_wrap = cpu_pointer_wrap_uint32, }; static void avr_cpu_class_init(ObjectClass *oc, const void *data) diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c index c5196a612e..6a09db3a6f 100644 --- a/target/m68k/cpu.c +++ b/target/m68k/cpu.c @@ -619,6 +619,7 @@ static const TCGCPUOps m68k_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = m68k_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = m68k_cpu_exec_interrupt, .cpu_exec_halt = m68k_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/microblaze/cpu.c b/target/microblaze/cpu.c index 615a959200..ee0a869a94 100644 --- a/target/microblaze/cpu.c +++ b/target/microblaze/cpu.c @@ -447,6 +447,7 @@ static const TCGCPUOps mb_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = mb_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = mb_cpu_exec_interrupt, .cpu_exec_halt = mb_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/openrisc/cpu.c b/target/openrisc/cpu.c index 054ad33360..dfbb2df643 100644 --- a/target/openrisc/cpu.c +++ b/target/openrisc/cpu.c @@ -265,6 +265,7 @@ static const TCGCPUOps openrisc_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = openrisc_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = openrisc_cpu_exec_interrupt, .cpu_exec_halt = openrisc_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/rx/cpu.c b/target/rx/cpu.c index 36eba75545..c6dd5d6f83 100644 --- a/target/rx/cpu.c +++ b/target/rx/cpu.c @@ -225,6 +225,7 @@ static const TCGCPUOps rx_tcg_ops = { .restore_state_to_opc = rx_restore_state_to_opc, .mmu_index = rx_cpu_mmu_index, .tlb_fill = rx_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = rx_cpu_exec_interrupt, .cpu_exec_halt = rx_cpu_has_work, diff --git a/target/tricore/cpu.c b/target/tricore/cpu.c index e56f90fde9..4f035b6f76 100644 --- a/target/tricore/cpu.c +++ b/target/tricore/cpu.c @@ -190,6 +190,7 @@ static const TCGCPUOps tricore_tcg_ops = { .restore_state_to_opc = tricore_restore_state_to_opc, .mmu_index = tricore_cpu_mmu_index, .tlb_fill = tricore_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = tricore_cpu_exec_interrupt, .cpu_exec_halt = tricore_cpu_has_work, .cpu_exec_reset = cpu_reset, diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c index 91b71b6caa..ea9b6df3aa 100644 --- a/target/xtensa/cpu.c +++ b/target/xtensa/cpu.c @@ -318,6 +318,7 @@ static const TCGCPUOps xtensa_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = xtensa_cpu_tlb_fill, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = xtensa_cpu_exec_interrupt, .cpu_exec_halt = xtensa_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892932 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2079686wrz; Wed, 28 May 2025 01:16:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVepNTnWks4Cq8wzzePU2GI30M5ojgKGfD3hJqAs9MdKDctvV5j0eG/fB00xEz2flDiJFyBBA==@linaro.org X-Google-Smtp-Source: AGHT+IG5UEW24uy+990xWYvAFYA4vtRDiHpQT9TR6CzqW2PkHbrzLcehQhzM/gKsbDetI9O4Y437 X-Received: by 2002:a05:620a:a708:b0:7d0:9505:1797 with SMTP id af79cd13be357-7d0950517ddmr42341085a.4.1748420190347; Wed, 28 May 2025 01:16:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420190; cv=none; d=google.com; s=arc-20240605; b=Jg+1uFKsjv2qTp6vlHNeZJthHcIBR+EaNkLP4QCY50WCXVvmT5w3ERKMGNu+6J1Nyr 54f8X4n1IffaMRl1Mx0CQOE+y94ZHVdrpWj+l3ExdqZ7Cl5pB6G86h+r0gEEwqqiyEfm i8Xj/NpfuSSfPx7dF6elaw/G4kaNLlv0lGmiCUQ5VE5zTBpS4c4zjbLqjtgUnEa8t+6n wK9p2f1E0zW4dL2oBwaTomS8jPYKk6y3MRNUJ8nGulIsSegX1YH+2o5WpSzS3J8oWd7C UnNqEzC4LrBNfSX7tglhjyff7kcqDeDPQlAdq9hLfxuhqQPwB1UUAv+jBAIyPjE3uAwi kFUg== 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=Ax++RLEDlRrY1JJjLtw31k8EuTvopwPDgXmRKqROuTI=; fh=9Ev+QBUhk6P6vR3LT1wYeDLexozsz44nqjfoyPajZCc=; b=hBVJ7b8JVKUWQljhV6NEFLEeHwxqJPNeGYvz4449HPUm3/EYLD1dtgc4OuptRFN95u EO6Hp3EOpyG5VNaLQNbucGu3IU7WiXs1GJfyqaMcspQmb4bnzwk6xeH4MzkihIMBByZx s0dMQ2dGD6WUbObaZHqiCslw10oUdW3D5zhgyIZoLGvRM1RMazxlpj9/Kvu02WWhnLR1 rysCvyt+ubbeUMxGoJ2TiZHbpoR6/ntRz/w8EUSf1rORO6Zf5q1CSGrUKXtv4G9cF7J9 hvnVMIdWJT5VJZnyhK+WZtomLUnHYJYBYc9pHQTxGrtCGjR+/8KRqVF9MpSDsy1GIfYc Xy+w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CqMzu0b+; 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 af79cd13be357-7cfb81f7a0asi84547285a.36.2025.05.28.01.16.30 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:16: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=CqMzu0b+; 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 1uKBwz-0000WT-92; Wed, 28 May 2025 04:15:49 -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 1uKBwF-0008Aq-0M for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:03 -0400 Received: from mail-wm1-x32d.google.com ([2a00:1450:4864:20::32d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvw-0005Hi-9K for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:00 -0400 Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-442ccf0e1b3so54554035e9.3 for ; Wed, 28 May 2025 01:14:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420080; x=1749024880; 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=Ax++RLEDlRrY1JJjLtw31k8EuTvopwPDgXmRKqROuTI=; b=CqMzu0b+DaVmgylJZgizMflka3+gdP+BWu5PajuTwgK6BUyXxqw9noG9RJjB3Ra4aq 5QC4YFxaBxL98RDD4UIAiyiVhz46q/OnwyvVgauwObra7tZkC/HkURESGKPd+/+5HoNY 2h1lKbxopkxA4tD6qZKVp+8+bqyfSVKx6mpINFA4suoaW3jxTNtdK+3LA3xSKAW+3Wjh 3er7VJDB191V5xNBHPsjPTV3rwtoT2pltdhBQj4wcfqkg+ZxKZaZ9TqOlFx9RRvOrN1P mu56OB1ZKXxARn7FJ9NtoJJCOQelX2OAG9CU7HeTqDT+WJtc6zml2dlHTscJCM1JJN9X j6gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420080; x=1749024880; 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=Ax++RLEDlRrY1JJjLtw31k8EuTvopwPDgXmRKqROuTI=; b=BrAvVdKanQFVnuXMUwO+fw2HYDS22MEz12iNJa4KmgM+weEWOpSWDbdWTM8ld1xkCR R+OnsHFhWrJb/rJScR42i+/hi6rTNCW4ZRzKJMsbch4uKZXm8UY6KUyf8z/xFux7nm8i Uo0TLBOBZTUTHOA1yN74AfLmnybIdCW1jFQfQ/AGCMg0JcBu3miqr1PuM8igz7XBLxMJ r2bqK8igeqv/gsaj0cWNF56lB6VZHz+2IMMVnnX/tqXKpKT4SeOkQ6ij0CC6FIoJMd+M l/1vDyZForz0z7SR2A1mIxbltW1shmZXepixg1y95XsJspM80NydsQTMzhTQ1EAmD1l2 QbbA== X-Gm-Message-State: AOJu0Yw/+w5s8Qt819Mmx/uHg6ymNlHg0AnWPHvSu4CzphpLfIHbbx6B Saa9zDNmWDJC4fgHUyUnCkGo59SO/JDyhfAYsQ8yYxvFrxOURErDPRahm6xQyHSdNL7CfKR7kbi A83SxYa0UNg== X-Gm-Gg: ASbGncvG0XAcFvm4B5qlau4v71tPJHlIOBRiZrk/TJ15K2ruRARGiSD89C0PmLYuoyH HePgEt944T9hWBHHX511ESSx+km2dYhF9AjYeboR+jy1HxtjHVPCgrjB9DfGzzWnBaW8KjDRdzu TWSleUt94xkGEjIjrCCN6UL7NKH9qhH6Sn7gQJMEMtuf7U6EjwEdqX+dLM6P6DZDZt/TYNHkRtj AzrXnRYp4hpu8+/24Yb7dnRBYE+acX1msnMgovA9MKn3AmiUgjlVJGOMmUXyR0mCF5B4t66dxxg b3fbAtCyMl4AAHi2dCR27AfRFKnQQqRsUccqylJ6tNY6V0pHt0/pObDz X-Received: by 2002:a05:600c:6285:b0:43c:ea1a:720c with SMTP id 5b1f17b1804b1-44c91dd127bmr146750765e9.18.1748420079588; Wed, 28 May 2025 01:14:39 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:39 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-arm@nongnu.org Subject: [PULL 20/28] target/arm: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:02 +0100 Message-ID: <20250528081410.157251-21-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32d; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x32d.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 For a-profile, check A32 vs A64 state. For m-profile, use cpu_pointer_wrap_uint32. Cc: qemu-arm@nongnu.org Signed-off-by: Richard Henderson --- target/arm/cpu.c | 24 ++++++++++++++++++++++++ target/arm/tcg/cpu-v7m.c | 1 + 2 files changed, 25 insertions(+) diff --git a/target/arm/cpu.c b/target/arm/cpu.c index ca5ed7892e..e025e241ed 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -2703,6 +2703,29 @@ static const struct SysemuCPUOps arm_sysemu_ops = { #endif #ifdef CONFIG_TCG +#ifndef CONFIG_USER_ONLY +static vaddr aprofile_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + /* + * The Stage2 and Phys indexes are only used for ptw on arm32, + * and all pte's are aligned, so we never produce a wrap for these. + * Double check that we're not truncating a 40-bit physical address. + */ + assert((unsigned)mmu_idx < (ARMMMUIdx_Stage2_S & ARM_MMU_IDX_COREIDX_MASK)); + + if (!is_a64(cpu_env(cs))) { + return (uint32_t)result; + } + + /* + * TODO: For FEAT_CPA2, decide how to we want to resolve + * Unpredictable_CPACHECK in AddressIncrement. + */ + return result; +} +#endif /* !CONFIG_USER_ONLY */ + static const TCGCPUOps arm_tcg_ops = { .mttcg_supported = true, /* ARM processors have a weak memory model */ @@ -2722,6 +2745,7 @@ static const TCGCPUOps arm_tcg_ops = { .untagged_addr = aarch64_untagged_addr, #else .tlb_fill_align = arm_cpu_tlb_fill_align, + .pointer_wrap = aprofile_pointer_wrap, .cpu_exec_interrupt = arm_cpu_exec_interrupt, .cpu_exec_halt = arm_cpu_exec_halt, .cpu_exec_reset = cpu_reset, diff --git a/target/arm/tcg/cpu-v7m.c b/target/arm/tcg/cpu-v7m.c index 95b23d9b55..8e1a083b91 100644 --- a/target/arm/tcg/cpu-v7m.c +++ b/target/arm/tcg/cpu-v7m.c @@ -249,6 +249,7 @@ static const TCGCPUOps arm_v7m_tcg_ops = { .record_sigbus = arm_cpu_record_sigbus, #else .tlb_fill_align = arm_cpu_tlb_fill_align, + .pointer_wrap = cpu_pointer_wrap_uint32, .cpu_exec_interrupt = arm_v7m_cpu_exec_interrupt, .cpu_exec_halt = arm_cpu_exec_halt, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892949 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2081157wrz; Wed, 28 May 2025 01:21:20 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWg06T0tM6EqeObHOnt8rvxo05NDAINvjncLafV6OtK/bSoXDxgioZCHRm015u6lcK3tkglUA==@linaro.org X-Google-Smtp-Source: AGHT+IEGS34n8Gx4a+6E2MP0lHFWBbZVS8yF12369TN194Da163+8QNfG9bVAk1HFJ66BmzPhyFn X-Received: by 2002:ac8:6f17:0:b0:47c:fefb:a5a with SMTP id d75a77b69052e-4a2f51fa585mr57937591cf.11.1748420480750; Wed, 28 May 2025 01:21:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420480; cv=none; d=google.com; s=arc-20240605; b=ihvCIpBPBTkOqexp0wJMQbvQlV6jzRwMnSP3TRvrVn1MQ7GX0GrNoUA+HANf1d+QDB cZQOeckQ6cDrn8zQFCbHGutrtU0w0SK4OQizxZFVwkAd093D4kDPKb6wvLlnN8/S5061 kuL24XP0XdjMMnpbfs6M1V/ZV/4XcRWjubHNyVZUL/LzWqiTN+Q9gDHVVvqeoTicpDN4 Eh2xdnQHiMnZ6SQCy+EWEfm80Kj+MrvKEgxdS4c3EVlUGh993qGPwVTs8NGvUAdaC/OV Xqy90+XphHEhIhqGbixwXWJ9+EAYXt+Uozv5VseuFQAO0wQs4S/a6VsxuXMsF5IFQFTk DXfQ== 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=jbzs8SSpnFWUH8ateP0v1HSUtugL3UmRKi3x5SHm6hE=; fh=Qh1fDyeKF6RN1RJuySFfPJyY198jyWlhb0GvHOCyqAQ=; b=QMmzd53UzDdH95p48HWXIZ9ymf89Qna3EFYPD+wD7sdI8OVJN4qzGMONpQV4S6xeh5 7bdfh9J84KYOhB1oCVViXgcUAuQ2Y7QYiVt266jy0UffPnIHdnsqRg0T5QVpW6W6GlOj VbsIOsh2hoPOnIP9HDPBooWsVp1T9ZLovtPTEBb0F8sXjnB/f8QEEGZ8lwmlM0/aVDSS yF1oolhbLOV1RiwL3URuXiaLkFvkfcjA4JDEwJg96DJU4wW0ImszPRYXBDjdOYUvSGLG uGNAeufmfsPpTDOpc7Onz5fkub4FWBqyuvx+b0c8AAM0v/AYUxEphr6ZTweCnkEARNLq i0ig==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=k1qmjGVI; 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 d75a77b69052e-4a3c80f00ebsi7756851cf.395.2025.05.28.01.21.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:21:20 -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=k1qmjGVI; 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 1uKBz2-0003S3-Bs; Wed, 28 May 2025 04:17:56 -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 1uKBwE-0008Ap-Vy for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:03 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBvw-0005Ht-Cj for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:00 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-442ccf0e1b3so54554315e9.3 for ; Wed, 28 May 2025 01:14:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420081; x=1749024881; 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=jbzs8SSpnFWUH8ateP0v1HSUtugL3UmRKi3x5SHm6hE=; b=k1qmjGVI5Sg/eYW765x51qW6d1Gp2DyD9S13cGT1kqzBY47iqYn9ObeeFofBCmGmd9 91Vt8lGMlh2KXYzeelPL/wmixZpAmiqpUSaR6qeLzY+HeTxhovJj0rpXqdrW0O8nvRcX ZCjOdES7OZzOgdK7GrRnRIz7XyTgLHFJ+MkhwOb++NgHljpF71uNJAtzfMYyU8V9iz9q ApvxwY3SVzHD+55N6TBb0bcOK3rPi97KZhs2JrewqLMDAYTCRq6p2Cxf9n/w1NW0SNuR MCQXpWTN5Rj4xS+4CdbGPSFIVAcyebViJpBC9f7HRGOs5GsJ+zUrCyHSWbGJJJ6ESDU9 Qm/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420081; x=1749024881; 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=jbzs8SSpnFWUH8ateP0v1HSUtugL3UmRKi3x5SHm6hE=; b=TwWxoDzkEBUE8kwLBcyhHkAh8D3VdN593QxxwDY0rnXcK5upPq7Cpqe/Z7dyyImW4W iZTHHRCzKn4In0hUbXA72kmnUJbQJ48vdyOAiOMp71KZV/mdJRhmgv4C0ifFKlYyCZ3v V/6ccSd94x9tcHBdf7dxYbK5z/QKtyKz9ARL9KGr2ir3uyLGpXJFFc0nsR+oZF/+oJyj rZU5dHIxMMVggSIzLvgu72UyoEkPUNEvEtSOzRN1aGxLj+QiPih7iV4cypZ4h3Jm4dhs 8aIEB5uMcZ9PBOLAAg4UehP85eRcdjpydrqtoBDxOmcQCNwnDNQ/O/Ef73+aQjnJIXiS B51w== X-Gm-Message-State: AOJu0Yx3b7t9g3PdEfHoiR3C8h3xA5VJukZMixrXgClhMTyIpYTMRvr4 DKJ+rKYgFeLtW83UwMTbUg0ik9W1k2liSJFj+waLIYoNIl4Xlc+ZE7OJcZsUA9OnrxtUUCC8ZSH pNJYlZ/1b+g== X-Gm-Gg: ASbGncub8x86eMdnCmcA8ocOYZRzJji6ppSqXnyN55AnpdHOnCiJjKCIzaRtdIN8eB7 HA1PzDBdFO1ST//pg9fHeSBJm4Eo6+NmARmh3NqHvTtRK8zcJKvtgtI4ht+KzszmX5Vv5box/AK 6zQZbavO5ZGPOb49Q1a+J0uZVrN7AzTjCbrusnLKVfXYuYvA/BHakyWx3Mv7OmrjiSuM4v1S4s0 xVheyaJlA9cAhoNOQeYcR8vk/Kf7I8bX98vsiICHTuSBagKfO234cfNGrQAAE0LGFl+Azcs+xDq XF/VhC68FIpb/9s/imVq94pNuMi3jdQYInDe+oAJET/a+tu4bc7n9pMGO4J81u71PIg= X-Received: by 2002:a05:6000:178b:b0:3a4:dcb0:a4c with SMTP id ffacd0b85a97d-3a4dcb00b65mr7501920f8f.12.1748420081556; Wed, 28 May 2025 01:14:41 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:40 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?q?=C3=A9?= Subject: [PULL 21/28] target/i386: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:03 +0100 Message-ID: <20250528081410.157251-22-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Check 32 vs 64-bit state. Cc: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/i386/tcg/tcg-cpu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/i386/tcg/tcg-cpu.c b/target/i386/tcg/tcg-cpu.c index 179dfdf064..6f5dc06b3b 100644 --- a/target/i386/tcg/tcg-cpu.c +++ b/target/i386/tcg/tcg-cpu.c @@ -149,6 +149,12 @@ static void x86_cpu_exec_reset(CPUState *cs) do_cpu_init(env_archcpu(env)); cs->exception_index = EXCP_HALTED; } + +static vaddr x86_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return cpu_env(cs)->hflags & HF_CS64_MASK ? result : (uint32_t)result; +} #endif const TCGCPUOps x86_tcg_ops = { @@ -172,6 +178,7 @@ const TCGCPUOps x86_tcg_ops = { .record_sigbus = x86_cpu_record_sigbus, #else .tlb_fill = x86_cpu_tlb_fill, + .pointer_wrap = x86_pointer_wrap, .do_interrupt = x86_cpu_do_interrupt, .cpu_exec_halt = x86_cpu_exec_halt, .cpu_exec_interrupt = x86_cpu_exec_interrupt, From patchwork Wed May 28 08:14:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892953 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2081507wrz; Wed, 28 May 2025 01:22:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUOPrgAI2C6Pd1BJa0tBh0SMqwVXq/kEoDKBu4G/xGTk9x/y8CVH1OdH9PstV+yOKEpMq6EtQ==@linaro.org X-Google-Smtp-Source: AGHT+IF/9kFS5sONVvC164BjeUzYX2zNrNL+ofiWD95b9BO8fWDxlA95U/S+MXcFnVbtl9wG/8wx X-Received: by 2002:a05:620a:438e:b0:7cd:3b13:c5b4 with SMTP id af79cd13be357-7ceecbd3cfcmr2089179785a.24.1748420539667; Wed, 28 May 2025 01:22:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420539; cv=none; d=google.com; s=arc-20240605; b=bUHcO7wM7S4ly+vwskoNTEvo313/HOkC9OsFBAajR/oOPxekEbvF4gYfXVCYb/Ya9Y er14LsIGG8cTis2mqdHAJYUhGBc5o0mTZo5M8tgrTjdCTGGWoF3s89h88q4Er1PLrU7U 2b71N3Z9+mww9SRuMNkssjzlm6DHWqttip+piP4SyjC6Ozb//NuTOaruTmtwaX1ONFLe 4OE19RFjOi+blhlBEit4S1bT9F+h5ZsNSA0rF8Wly2cOe5n2KDWHcsVpkplUv1GKJxJi CrPbzgxej0VhhfAyS1Tu78Ms+xSpDLsz3Qct+rHwFMeoQyjKtstVP1itSdizychriHWy radA== 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=Nm/j60D6ziFgBnhIXDXZVa7Si2QjgX9S2ztuPc0u2vE=; fh=dCO6Mh6OZrsI86e/K8oR/GCTnhEw/QCoEt0uxQaPaXY=; b=SfHia2w0+vhvDrUsbXM6ck0OBz6o4xN68JimJHgmGSHRvtt15HinE5mjBozqJ5yzL5 KuivTCAlLJnEjz4ZWMsxWWjaOmXTpvOkfM7VQKA5i/pkNA/Gh3JXPoVxZ6SddxoBiJd7 HvqonDkteHSo1fwVVkprC3cnEag+AxitvDh0z/tLIv0nQjRf0mSq0zwXkTnNeW870Eu1 LWVWkTCcQQEZ1tw/e0UF9BJg3A9Pwudmoo/GaK2GtH+M6jtVRJmQP3+h7/9PyYVMHv5E XvSpAe4wOls5bs80e8wG6ES0+NsJLlUVPy4KO0ry8rbSBmhudhf0OpeaSCxzu8vgEQJF PegA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=FtHXS52Y; 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 af79cd13be357-7cfc5f707e8si82503485a.582.2025.05.28.01.22.19 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:22:19 -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=FtHXS52Y; 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 1uKBz8-00043a-GU; Wed, 28 May 2025 04:18: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 1uKBwS-0008Qa-0N for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:19 -0400 Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBwE-0005IM-Ke for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:14 -0400 Received: by mail-wm1-x334.google.com with SMTP id 5b1f17b1804b1-442d146a1aaso48842305e9.1 for ; Wed, 28 May 2025 01:14:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420083; x=1749024883; 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=Nm/j60D6ziFgBnhIXDXZVa7Si2QjgX9S2ztuPc0u2vE=; b=FtHXS52YnzCstCfQxMgdM1fmBqAIhJSn2bOWSpKi8GE/Ur33ZOknpWxtlwj60HdvwV +poL2YoqgRs+0t3+M+aiOBnJqUwcxVMfMCnk1D98Fr+p5M0AxH7BxTOa3UnhYXniNMgj KqpfL4PLzpoQ06aNZTTwIWOxz4B1w/pb0n1x2DUJYdDk5Ax/yKQgG8oHyHbxDh+uYON0 wTVYqrPsmiAlnRfl18K5xstsw61l9t4DRkuvQ/FwEZs4YAcCfOQ+O1mStzsOdZLVPYpz 2SEzw/fAPn+iV9xpz3RPyR3RrojEdH3AzLlAzTzRctFIAjol4nQ9q+miKI6CWrvIvmBc cBRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420083; x=1749024883; 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=Nm/j60D6ziFgBnhIXDXZVa7Si2QjgX9S2ztuPc0u2vE=; b=viTSVSbvukrZqniSqOiTA45gYzQq++uG7Ex9xP5wfnVHpunKAjhHllj8sLX1NmAzgf nPuzb3J9XZLqj1KnB1mZyLtcK4UoBQDAyyCS6793fkGi96xELFKFkVBATzsXrR41Oq3A DyI8yWtwepssIrkFjpl71E9pXDu41DBZh9j4gWQzfUuPgcJdOq2PUd8IlsjvfLlwhIrb EKtu8TdXcOHGnoG1Yec4mB0Atc4C6KOGSLoIkFCCdKjDWPMmKwIfH2mo3MbvHhe01RT3 /fn04xAiMaLXJZQ6ccT1eOmqBkzzK5Kigtn1nWGooVDPn1UHOVxSMRzEkLU96/zq79eK AAgw== X-Gm-Message-State: AOJu0YxP2sa7D+dl86hEGRGOwTO+osfSOhXHlLDiAOM7tVPdX3vseTBP VzmAMbpi+O9HRrWf2OiV1WYmcf1f77r5IVHElHi+ndEpEdCDiHq/g9+MjLSzUwi5CzNXvUqwnrg 1/7PB0rUlyw== X-Gm-Gg: ASbGncujP294fRxHYbuniTGEVosx5Wa9GlR8BwZI1j+YvfuGP1flGtrDp5/ic2quXzl s1YVP6Q2yiV5uuK6RARMywHRlBOwOyNvQGJiAHDlvU2QlnVC4C3stRdLsYE4BBOVAG5PB/ba6uF ICA4V5hRHYBLlEK0be7Lg/BKjzbX+Ga274uRkQeTgNmmx6ty2TJjDAlepIYjY/G4yUP7S8OLcrN qU8OTf1027+uFNGl0w1oDCQPrPlMyYNSvRYAtqSazkow4KbT96dG+a3633mL2dFIRnsAih4bKJT ci5zE89mVv1GeSfk+CiYRK88GGvLzwKqkDMdDVClKOLWJ1rofzexGKPQ X-Received: by 2002:a05:600c:820a:b0:43d:762:e0c4 with SMTP id 5b1f17b1804b1-44c959b79fdmr146138375e9.27.1748420082678; Wed, 28 May 2025 01:14:42 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:42 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Song Gao , Bibo Mao , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 22/28] target/loongarch: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:04 +0100 Message-ID: <20250528081410.157251-23-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x334.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Check va32 state. Reviewed-by: Song Gao Reviewed-by: Bibo Mao Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/loongarch/cpu.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index f7535d1be7..abad84c054 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -334,6 +334,12 @@ static bool loongarch_cpu_exec_interrupt(CPUState *cs, int interrupt_request) } return false; } + +static vaddr loongarch_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return is_va32(cpu_env(cs)) ? (uint32_t)result : result; +} #endif static TCGTBCPUState loongarch_get_tb_cpu_state(CPUState *cs) @@ -889,6 +895,7 @@ static const TCGCPUOps loongarch_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = loongarch_cpu_tlb_fill, + .pointer_wrap = loongarch_pointer_wrap, .cpu_exec_interrupt = loongarch_cpu_exec_interrupt, .cpu_exec_halt = loongarch_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892943 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080777wrz; Wed, 28 May 2025 01:20:03 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUGptz6iY7NFDBhRe90ldfsR2QDUMOaOG1NdmQEsHO6QON4XEqY+7RxVxINsWFq1hjx/CUBGw==@linaro.org X-Google-Smtp-Source: AGHT+IFJkOjCk3qADK0jW4BC2QHRKVCkVlVTvq8l/2KRDJ0nQ4dQv842ngkYvVYP0aJzv05rFsFt X-Received: by 2002:a05:6214:f04:b0:6e8:f4d3:e8a5 with SMTP id 6a1803df08f44-6fa9d0269b2mr230520856d6.15.1748420403725; Wed, 28 May 2025 01:20:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420403; cv=none; d=google.com; s=arc-20240605; b=jseWepmQMjNLttvW38tCRRtC8mB4mitikT5eHGO1M/nhKOtpwwwjsH7kzQAQDs6sZe yOffA8k+90pzdYRuPNeyMetNyjiPO8n+ihwbeZSldoi5atFgMP2eeclY4BRDCwZENmaf 1sImwuVh/Cv480NXoc8Zx9Pu2GdZGCyHGTSJqoloRckaKqjKLTPZYywh3DhOk9yf40mr 4DGesWxw16oydyPr3hLJxNSoA4alXri/u7KeLQHON/hVyircoZLMYypfUvkkApsq6rLc uMmxdqF0c8oVmyeE7SjTa1Xdokhv8L0l2CzAIjXGEYmDl9tcC7ArV98ynoP7ae1XUJmC Ov2g== 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=Vs5hfkivQJt5wX/5toRxL3hVB3+jUHVP3+IxQEXrVGs=; fh=kQadAhxV42GJ3cd2VUw1RyURv/zJQGvmUdF7iLEVTtc=; b=PLI84lnoIuzpyo1qbScGl5HpKOP47PnBHh6x7/8V28+zHJnHtht4Xmlwl4mtk8jWSp YsHo6KqCmyDhhb3751Waigl7DE2JxF3CFmUTgn9LlwvB+VTrlucBe7YWdfUF0vOZFtD0 28EeemKAgetGnc1ZX2nS+j1iTSqQrzwEi0lXXQCiLFt8/Ty1zu7cMLZSIhy9HrkmsH0N QAUaV/l+VfPsRz0keCV9lbFfo8cAVd/Z87M7UOp0+wY08I5Fpg8Mv3UI12CWlaCOqwQt 7ZTBnUtRWTJi60eRVstnYLBNeHU8av9GOffeIb/k52xY2LN1f3vuUP0QtKDDqunPaQHX C1XQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=CNGzHWI6; 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 6a1803df08f44-6fac0bab728si7624286d6.244.2025.05.28.01.20.03 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:20:03 -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=CNGzHWI6; 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 1uKBym-00036h-BV; Wed, 28 May 2025 04:17:42 -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 1uKBwG-0008G2-9U for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:05 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBwB-0005JC-Ar for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:04 -0400 Received: by mail-wr1-x436.google.com with SMTP id ffacd0b85a97d-3a36748920cso4199592f8f.2 for ; Wed, 28 May 2025 01:14:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420084; x=1749024884; 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=Vs5hfkivQJt5wX/5toRxL3hVB3+jUHVP3+IxQEXrVGs=; b=CNGzHWI6w4P8pcBxPxXydslHPrZOL7lgzfogVXckuvWiCGz86Y/6Kg9/McWhr1tJfp faeDJIFXRmXrOJ4nw/excpzOb4R2eQY2iaBzFSdJkQEonG9uxx1wqDyv7VUy0RHGifnF LYma64GLsFUbAPUcJiib25BCflnwXMVHeQHva8W4C9dD35Y4di4B6wsVq1/5/YjvCkme oV3IwhB/aoVdSE8a5CRdpU7DWzw/75V8ZvomOcG3WhRIgxhdOSUCvYJp5/72Vcx3RzxG f0/+dVCBiX3i3n5g54vPvekcq7nZRlgNPlFtWi96xBiOergMutE3daJ3B3fEOEThVLXo OGZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420084; x=1749024884; 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=Vs5hfkivQJt5wX/5toRxL3hVB3+jUHVP3+IxQEXrVGs=; b=PXSRvBLWg7oGhq7dhgePz7ZM/7guRq6yzWUE0EZbrGHk+4YPaPi9zZTiT3woE7fXCA Qv/xPR1Qj8ApRaE1sKK1oQuh8UB0nnYRjUIub5A++x1zO3bv0n0oSfzT/uS6bM6DFzFO 9pJpEB7AhEka/kzGbK/lPNqCbRNgO6PGYQIFjPw3FxjNthyXTc6A6MpNrQ2sXjjZmJnH VUP/srhLBgCIb95SlxLZVpynw8ILQt3c4pk61T3SxYHPeXdRORNLGOnQvTk1Zbb4S6Np ah+IbOgsGJdKirRWq9dudmwI2elhFwIWyY9e4llxWkSMn4gTXMCDFbNqlyp5ulPV6W9z OeLg== X-Gm-Message-State: AOJu0YxegM0IDvV4CdU9uymzHcY8h77nhHjHF9Tpye3ypGHlDxTpN/Kp HQQLJSm7II+0Gd6Cu5i8DclBdDziT9lKKVkfhHaEP8KfxL1PnRdHeF/bWRjUOVLC4dMV/yxyyvA x7wpfJQ5rgA== X-Gm-Gg: ASbGnctg9FAX3fptIKNJTy7/zoz33GWOOWnNNPCahU58JtiO8+EUNyq4XO750A+Niym a/yTc/HiokFQmPeCe434zVd7JxwhcyPFWqH+PDvEXgx1j+n/zaRND35MTym3Tqxq46A6voGwxHU SghRKusVxAlo1zGjiy/iOrJwxYVFvpNew/CxJ1DfpqM+o61h+imxMOWC2Zb2SRjURJfgdMvzN7B cmR1MYnzbDZBqVaI+QWH2FBfLhUCMasmiGZndU446UZuNGVSMomCXsjWSR2AzxnYNBm+kSzyvXt L+KZpDk47KRasn1nsoFrsKzfYmetulRff8W6ltwXdJfRtBesnJt6vcJ7 X-Received: by 2002:a05:6000:2011:b0:3a4:eb7a:2cda with SMTP id ffacd0b85a97d-3a4eb7a2df9mr697983f8f.30.1748420084555; Wed, 28 May 2025 01:14:44 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:43 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 23/28] target/mips: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:05 +0100 Message-ID: <20250528081410.157251-24-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x436.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Check 32 vs 64-bit addressing state. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/mips/cpu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/mips/cpu.c b/target/mips/cpu.c index 4cbfb9435a..1f6c41fd34 100644 --- a/target/mips/cpu.c +++ b/target/mips/cpu.c @@ -560,6 +560,14 @@ static TCGTBCPUState mips_get_tb_cpu_state(CPUState *cs) }; } +#ifndef CONFIG_USER_ONLY +static vaddr mips_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return cpu_env(cs)->hflags & MIPS_HFLAG_AWRAP ? (int32_t)result : result; +} +#endif + static const TCGCPUOps mips_tcg_ops = { .mttcg_supported = TARGET_LONG_BITS == 32, .guest_default_memory_order = 0, @@ -573,6 +581,7 @@ static const TCGCPUOps mips_tcg_ops = { #if !defined(CONFIG_USER_ONLY) .tlb_fill = mips_cpu_tlb_fill, + .pointer_wrap = mips_pointer_wrap, .cpu_exec_interrupt = mips_cpu_exec_interrupt, .cpu_exec_halt = mips_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892951 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2081224wrz; Wed, 28 May 2025 01:21:34 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVBC9E1ENL7ELd5kFWWpmWlIXomdHcNeZfZkr/0yORa/4Fz/8Ifbm4jfTWVEYydjA9sTqVGKw==@linaro.org X-Google-Smtp-Source: AGHT+IFVfzFT0T/z5D5NtA8A5/6erQQtfZ89O99UFbw3t3PqpPcfmUfSJl/6F1ngQk2k1x6DJX56 X-Received: by 2002:a05:620a:258e:b0:7c5:431f:f5e6 with SMTP id af79cd13be357-7ceecbe42a7mr2113815385a.33.1748420483509; Wed, 28 May 2025 01:21:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420483; cv=none; d=google.com; s=arc-20240605; b=NKQK0fronUx/piFUBGh3/L6prAbmLSZDEfzqIUi5/Mzah/Fx/OAoAqlht5/qOu8BhE q7RCIayWhm2ZVKvORpQkcEAtH1lRIRv5p25vg7geOHE6ZT/8TuG5g3HcNgjRNO0jcRaI D2uQWx/Fg9qCCQ1k4kou6rTXzzt/yRCG93Sbs6MzvLXPaP7P5taDGW0fCVHbQKjH3KHz RNGdmFEFsfsrreoKvfrkyNPbuazZa7qu9ZBqm/93YL4aw/ruvD6YS7emUzirOp3zuzo+ ibcYzJoG1kx5o5tUdyydupn2W5BMUpzfM/KgvbtE2eE871z0T54aSCkHVeO97rXQItDI TUeg== 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=pm3xkFnc20tBc5Z04QdFQevYRIKWsOD/PoRYyufonDM=; fh=SvWv8wnzQw0+jrYVI2hRPZR7IIsvbyJBCZRkXrSPia0=; b=NpMb6YkpMfLJm+b6KLFJaI9qrUryw7HFACIrwPxKgFT4yYhmVAD/iBVQmJSM+asHhP cWA1IeWjsnFZaXYYWQ6Bf5MufLMHDZABosAswoB5DXdg1yzU6wIOA5QYslu27q/TCGSB sCBJ55bID9vyU0mO5q7tAZLGZQpmSUGTgcUn/XkhhbLt2xWb9C6HseUTrx8x7VoGDLJt 38HoXj/xZoYncKu95U3J+w1n7QuVeLQU2+Q4crZsvzlXtIZVPRO31qTvBfGY0BWhPbSu MVHeiMjXIQS8yGI8C90DZPeQnia67YCxNkhpzmvdSHj/6O71iICP9Q1JGYXIEPV8s7s4 sQdg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GXz4O7yW; 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 d75a77b69052e-4a3c80cd699si7486861cf.334.2025.05.28.01.21.23 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:21:23 -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=GXz4O7yW; 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 1uKBz4-0003fI-1y; Wed, 28 May 2025 04:17:58 -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 1uKBwO-0008NE-Da for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:12 -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 1uKBwE-0005JZ-SH for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:07 -0400 Received: by mail-wm1-x32f.google.com with SMTP id 5b1f17b1804b1-43edb40f357so36111075e9.0 for ; Wed, 28 May 2025 01:14:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420086; x=1749024886; 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=pm3xkFnc20tBc5Z04QdFQevYRIKWsOD/PoRYyufonDM=; b=GXz4O7yW/Ef5XL0Nl2Tgp9rzyZdEkAYlr1fRWvAEhuu2jd4fXBkqDLG+nTFc10zFrP XHC2K993rDWovf44cZzoydZYSI9T3BTN2107aUI7p9rbg4mvLTis31mFLi4oSrzs5qWx PHm8HPpsJiLzUkDb4vcb5KRsKuXpIItcu62ge/10GVtLMsIu8fuDTPPQQ8KtyZP7p0QH 3LYmKtRQITziqsK/nsE+toeaJA+cBNN3KrsOeSS4naBJvTIc2UK5GmJn+k1wqjdE+yuv 30b5ygKi9VTsGD3CT7U4Cw10HcYwQ2ne8Z5yBu2oE9UJVWNTEVbS/GrbsF+AodmXL+BO mmJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420086; x=1749024886; 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=pm3xkFnc20tBc5Z04QdFQevYRIKWsOD/PoRYyufonDM=; b=w5+zpN4+Pv+FIKkEVCHnCtcyD72E7tnB/FqWeTHOOwhV6hlGSgpqnpI9ImBJDV6APZ FOZfJfau3jMtY6CUvySiL10r6pypdW7Mioz8vKNJ3xiVlUZCXwXpRc0uEl5/jKxYQ/b/ o5mPJqg6NvZPJUjw4tc2/QW6jBkEnqbm6zW7g0ygN7VzStC1ZfwAWLfPvwaY1kTFZAj6 MMRIZOTy9SlsE0SsX6C4zPRK+qcP/xTi+FvNB1zjvKJnpFEIAueh5Ahcjj7o9Ea+dNVF 9b9gG7i9IC4AhOsykGwq6/gBNqEjU4M52E8xLBe8n1uykHtuXKoiXGSkOmGand7r+giN /0LA== X-Gm-Message-State: AOJu0YzfoSpjW3wKGGtaYXy2n4owma2R5uynnjIHSDmBa+/j2C9oma1P skesrsQpUm7x5Ceq8wEpzjwQUkIOfpRQvMvCA1jSHL0JV4FU+v9veCpfFicp3YFLwGT+E6ZcExz 8MFIziIxKHQ== X-Gm-Gg: ASbGncsGoPHWDQNcEjyBkjq7stFRW6tJYQFNGdr8tiBmHvEHyk+2KnvAP8uUbw47Gcd 2d3xUuU4/gI9wib8kuVOmUmRPtg8ksg6RZIGWFBIlR/ZrYyTDTyoGFf3GPSqHnqFsaV2z6nud6Z aUAFcZ9XeXG8FQN43HHTlFzMqU37Jr7jbmQh5xiLoLAs88HqFUl+eKcnHc+QPoJh1k3mngq3gfr HmV2fZuI3Goj5DhiHYMk8/4djfi1v+b8XBBZC2vakUjd6gxbLtF6dss2kVKJmiU3NEUrDzsPI7M 7m4EdeOSxF4yTbGESvEeziBVzFCq7T+vFaTWjaDKEuJvvnW+nmmQXLyC X-Received: by 2002:a7b:cc83:0:b0:450:cabd:160 with SMTP id 5b1f17b1804b1-450cabd03b5mr5563345e9.3.1748420085710; Wed, 28 May 2025 01:14:45 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:45 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-ppc@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 24/28] target/ppc: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:06 +0100 Message-ID: <20250528081410.157251-25-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Check 32 vs 64-bit state. Cc: qemu-ppc@nongnu.org Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/ppc/cpu_init.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/ppc/cpu_init.c b/target/ppc/cpu_init.c index 9642812a71..a0e77f2673 100644 --- a/target/ppc/cpu_init.c +++ b/target/ppc/cpu_init.c @@ -7386,6 +7386,12 @@ static void ppc_cpu_exec_exit(CPUState *cs) cpu->vhyp_class->cpu_exec_exit(cpu->vhyp, cpu); } } + +static vaddr ppc_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return (cpu_env(cs)->hflags >> HFLAGS_64) & 1 ? result : (uint32_t)result; +} #endif /* CONFIG_TCG */ #endif /* !CONFIG_USER_ONLY */ @@ -7490,6 +7496,7 @@ static const TCGCPUOps ppc_tcg_ops = { .record_sigsegv = ppc_cpu_record_sigsegv, #else .tlb_fill = ppc_cpu_tlb_fill, + .pointer_wrap = ppc_pointer_wrap, .cpu_exec_interrupt = ppc_cpu_exec_interrupt, .cpu_exec_halt = ppc_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892941 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080735wrz; Wed, 28 May 2025 01:19:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVpygzHDFsLsomczyS/UhKwECXnrHYujaU6jWy2A61sjeT1umq+igh4Z2DY9fFDUtdmEdmN8w==@linaro.org X-Google-Smtp-Source: AGHT+IGMu3fCMixYmzlmSkVueKCJXlhfNII5nmQ0iD1Un/YLjTi8YDzYXGZkjIUMqa2T2yLreGU9 X-Received: by 2002:a05:6214:1d0d:b0:6f4:b876:5fb8 with SMTP id 6a1803df08f44-6fa9cff13c0mr216820596d6.1.1748420397002; Wed, 28 May 2025 01:19:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420396; cv=none; d=google.com; s=arc-20240605; b=P1Xq4EqT6jOkRJ7ImP3PwADuKdtcGDsjxqfCYka4iubAMI2tdhFF/vLbHVAr4tT7hg hVVVnqoRrioIwBKjd3W3qPzU8aEqaOwEfq/d3iFm7c36LvjD+FDdFSmAOGROZ2VOOG3X QZwa3wOKYBd3SXgmEHTlCdEL02T7oiEpE5zBP/uVYMhISzoSUXrgT3WNnHDoTgXaoCjs qD4JCbzd6dSBuNF/OfBr2M/S46+xY0976PURp65BdrGX95rJipKRqSHYDzxD9IxzE13A juMjZmynZCdK3W9JAArWWaugbE2NTMTe/v5Fct2jt1ni+v/qzLLJfRpnl4wyLgmZqp8p 8Hkg== 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=GYj9gZK7rwvghXe4/pGvPJxZVsy5pAC3NZqaoEu66Ig=; fh=YtJq6LZWWtETFYEAcEsr+1eDKKnF6EJTYa3jwQ30uts=; b=Hz76J9eAQcfjJoPvhCPXt6ge6zWvE7T9KCSidfNjBrBRWREUguf5WKtivvdT2Ke6ms 9sPAB13hsNlo7aR8OI7Z9xEMefJUIJ4aMt2oqoG9H6oXbQau1zbQhosb4DIK4aOc/eba cWOPkUHez+DJHvq+uBqAJcG7xUrZhfeUJTeCSnlRhvuPYeRC/QENa9iR2k4FAAEez517 m+G8jNMvmZ3Lw2K1ylyc4bvv1wdZsL9Wx4bHN6gAQcxmugBfCqU0eLxbBixUpTDfbiMh yDhf/RnpcKm4172kibGt75/USgoq0kKYwZCAb3pyK6oNUqrC2wy10wkJhuNAZgwzmrdS OyQg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=sI+22Ttq; 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 6a1803df08f44-6fac0b29b2asi7528886d6.154.2025.05.28.01.19.56 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:19:56 -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=sI+22Ttq; 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 1uKBxt-0001hr-BX; Wed, 28 May 2025 04:16:49 -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 1uKBwO-0008NF-Dy for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:12 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBwE-0005Jm-TJ for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:07 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43edb40f357so36111235e9.0 for ; Wed, 28 May 2025 01:14:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420087; x=1749024887; 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=GYj9gZK7rwvghXe4/pGvPJxZVsy5pAC3NZqaoEu66Ig=; b=sI+22Ttqm0xTBGeAYuXWszdGpoCfrn7Xbf7cfxm2btEjNtRBztx4lfHzSQYlXKhMwt spiI7n232K1iMz8mujZeFKrN4w+OEj1f9qW6lBzjcRO5/HKEc1jJLQYdIaaPsyH7czMX 9kjljYdHiZTp6lgAg45ht+Kj+fn9Fg/HZcwNqDx5CwGVMIYoSzmRYyenWzo/i2gla7KQ Oqum9sg1N9yVsz0xOadG6JPs5eFHwjuDejV59LeGtTLR/Cmts+8dZsrWKgv1OTWafybT 4G+ID7dqhW75k6zjS/21EOBaWFdEjX4AU+qqIjJzvlhgMj+co4Ko6NGFgoEissnB/2L4 wMwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420087; x=1749024887; 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=GYj9gZK7rwvghXe4/pGvPJxZVsy5pAC3NZqaoEu66Ig=; b=FmQODPbL4plD1zNC7OTipK3Ci+i3b5+8PNJxwIPI3QPeLaCyYdDRAZZRod/LDfDIKo WgJab3mluIqCXIv6vBeQ2sshldVcrlhgAaW9AM1GeF5DNnavOxZF5EINNWDX8/nhb4Qf jSrZN17bE254k7FS2TT1jGVgicbXTU77Y9lQ++gxmac8/drlFnBuf6GCFBtQVB6hycNo Y1pRF/pUopT9VDh+JgJMhfOQklITPLO4BEoQXKYQgIK7RCAj9xEZz1L9MYb5v+CcUYGk D4/Wih/eUMtT+Vju0VUMQndwuX6yVlrgOJWDypbHI3KZJRdagzf3pQmt+D+/A1aZYeKg AbxQ== X-Gm-Message-State: AOJu0YzadWaC8cSf3KaFEnSiy44voG0oKY6pVftYYRo77WoaOUniTY1q XrW2jGgKB4a7pkaQGVFAu3fPqgOK3ndWpum3hmDwkanpleHZq2W0tdfrAiuHlVQJv29X4NrPlit YEIY3H7bu1w== X-Gm-Gg: ASbGncvdEO75qf7uvsP7Ti9x9iOAW32MEaeKqM8fDoWkYZaCCUc2LfsnLSW8CBtk3da jO6sWlka5OJKBYptURGSlWkWz78u7Ifi7UObT6WdG2IXb6j4Mga0iAvXFr02dbQYe8CBUUwyp+P GXrMA18QMO5D679vLCaUh0cmYGa70fnWIWHtsYZIuO8ifqOWRconDIswIia8TYlBc793/VIQDzQ Yx79XlOGBCUa1SPAGIKidHMFdervFovXiqxGsZg3TopbGpd7RGVBIOfay8L3ISKgz17riLLK/ta Che35SMXDmjWk2OJP+HWoomwecpcRPDidCVc5H8xf0Sfq8iF7kYSZ/c+ X-Received: by 2002:a05:600c:8711:b0:43c:fceb:91a with SMTP id 5b1f17b1804b1-44c919e141bmr138579005e9.11.1748420086846; Wed, 28 May 2025 01:14:46 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:46 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-riscv@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Alistair Francis Subject: [PULL 25/28] target/riscv: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:07 +0100 Message-ID: <20250528081410.157251-26-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Check 32 vs 64-bit and pointer masking state. Cc: qemu-riscv@nongnu.org Reviewed-by: Philippe Mathieu-Daudé Acked-by: Alistair Francis Signed-off-by: Richard Henderson --- target/riscv/tcg/tcg-cpu.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 305912b8dd..55fd9e5584 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -237,6 +237,31 @@ static void riscv_restore_state_to_opc(CPUState *cs, env->excp_uw2 = data[2]; } +#ifndef CONFIG_USER_ONLY +static vaddr riscv_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + CPURISCVState *env = cpu_env(cs); + uint32_t pm_len; + bool pm_signext; + + if (cpu_address_xl(env) == MXL_RV32) { + return (uint32_t)result; + } + + pm_len = riscv_pm_get_pmlen(riscv_pm_get_pmm(env)); + if (pm_len == 0) { + return result; + } + + pm_signext = riscv_cpu_virt_mem_enabled(env); + if (pm_signext) { + return sextract64(result, 0, 64 - pm_len); + } + return extract64(result, 0, 64 - pm_len); +} +#endif + const TCGCPUOps riscv_tcg_ops = { .mttcg_supported = true, .guest_default_memory_order = 0, @@ -250,6 +275,7 @@ const TCGCPUOps riscv_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = riscv_cpu_tlb_fill, + .pointer_wrap = riscv_pointer_wrap, .cpu_exec_interrupt = riscv_cpu_exec_interrupt, .cpu_exec_halt = riscv_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892952 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2081457wrz; Wed, 28 May 2025 01:22:22 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUTwKpoM0Lz+j/WERq0QW83bAYD1q8fVJt62eavWcn76YVp+aKxJTka6QWo0JAk0fQ4YZOyGg==@linaro.org X-Google-Smtp-Source: AGHT+IF6VERkwbGjDN7x5djM3ShX10zc2tW+YjdloJAnUpYQJWWNg0bMvluSryWu5/qqY36c8k18 X-Received: by 2002:a05:622a:6107:b0:494:7e11:fe59 with SMTP id d75a77b69052e-49f46d32fdbmr254260281cf.25.1748420542006; Wed, 28 May 2025 01:22:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420541; cv=none; d=google.com; s=arc-20240605; b=HOcGg/Zjlyb2YvfXZSWnmqH8VgHxCTzN8eX0yGLTa49rwTHuSjjpx9SX7HO4KN1OG/ ClMtBA8NqNZzw2lLv6HwChe0c1fRJF0R1/18zsXLWIutuny99B9XR4OlLdRPFl3b+bxx rnp4uzjj2FDs2260REdCE4RV3HhHOoTVZIpSYWeltt7gFkKxUe496OTvis+1QZ0uGjed rxdbgATdjNzisstii8WrOAOBEl2ZLc10Df/+VdK3ziAoxaeMZFI5eyLlEaAgC16hUx15 F+2CNueFX47Fl23EbKQ53n2+RVbRC+BBxgq8XbmW+T4hF2NYy3w/VdM7pKy2+BbgAbmg ErVQ== 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=fr966vAOTgkrG/VVtr6nBXhAc4LBlzm/ej5sJCBkj0Y=; fh=vdGO/p8SkQuwFZPoOVP93ToQaFO7RAhVOcxqpNZ3giQ=; b=TjBQ0jynpaSYJzzJtqb2rb7z6/Dhg8orUhDC4hhBiCr3CIMo+tlYPJybFNQRjVrPWv 1+5AXFUY8VYkly+40QV9DdFm/yKoO6EJLfahc9JYGKAYceFA7JQshRmfhbqO3EVrcwah VtyktumRf6SWEGBA/zGBoBN3YXZpsGlY7y17l6xRxyb9hZblL1r0Zldxsuc2ljrfsQEg FXnIcLc8K0wmhB16/nOkm29o+wVQZV3W2ilxsESGQgoLnDUXurA8bOKCN++6QZcNgfFa gAtOdoR5Jg+duT9g/ZpFW3srjTh5U+QvkmDRfpeqXk2Er84Pka0pbYZ0nXuP/FwawHuq Oyvw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=KkW0aW6e; 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 d75a77b69052e-4a3bfef12f3si7988661cf.117.2025.05.28.01.22.21 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:22:21 -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=KkW0aW6e; 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 1uKBz4-0003j3-Cc; Wed, 28 May 2025 04:17:58 -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 1uKBwP-0008Nw-Fe for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:16 -0400 Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBwE-0005KD-T5 for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:07 -0400 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-3a361b8a66cso2795758f8f.2 for ; Wed, 28 May 2025 01:14:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420089; x=1749024889; 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=fr966vAOTgkrG/VVtr6nBXhAc4LBlzm/ej5sJCBkj0Y=; b=KkW0aW6eyuFpxwGUiIeZSupkW1BDHnIcRwf6evrS3ajXzyeBDz243wdsgvhN07pHQC tBZ29sBnhpmSwGVtKs+S3B6V6lebDDNGtbgWt6sfQ9R+so+83Wm+wMhrve5LYFc5YJeu FclfLEltmtOXMKFFOeGQJSJeJAG+rpfHu23urjT2R2unVMCdu0ExVNfqdJ2CrFwlAA55 nX4B4HKGxx4d9mr4lxpkou/m5eKm7YIoTTBpgHEW+dcUYKZZ4BbmvZJ7AnWtIraPr5ze aucefHMFUnb+WycER5AqWU4atDA+3SUDABV9/Ev1DNnkTMO1IUm8E2Nka6a8Ue1dkNhe 4gmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420089; x=1749024889; 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=fr966vAOTgkrG/VVtr6nBXhAc4LBlzm/ej5sJCBkj0Y=; b=Y1+d7DmbhkM7bFglC+m4pNY8TmhjeHoHv3R2czePkOJ/OfSuopEdscgoCfolCYPZVO LgZtjn99IXhiu4VgKbjyp/gXDNbCxiE+2i2bqMFEBf0PCoBX57G0h5MGe2A+vxumbRkW 9wyI0f1MvkZOhwChWGhLfV+Ndq7S7+pWbVS1siMuLSmrKDFMXb35E09I+//QSEuYXKPl LZRyI5ZpExF6gXQh5ZEZz1r0jU7Xf3xiUjUO+HNk3+e2QoGA7ZwFl+dwFvisJoT5Je0S K0BWaY/ApVUrJn2mmhoiGsOU0T/mA19FIv36/k9uu/JtP/GqxYtvWNe3bwmocVuRXTdx 9PFA== X-Gm-Message-State: AOJu0YxYs3xaLSJROer6hih+UCz1nFqkMdAhHOfu4pu2tsPZyXIpQswS /D5L4YMVRD2mAQbapKU7djLwXssK8rq2DMuCUJtnqHpHUAzJp9qceyu4I3Nyjd9+aFi1P9KnmrG uLXadJwWLAA== X-Gm-Gg: ASbGncv9aKKVwcD52oj3dZjb503NL+fNAPUE1VOX10FxgCNKEIlqe1oZ3lz6RPoVHoW MJ2Sd//GyxAl1YciRcY2T8RBcuIYRwoUxTwl2OOr9JDJkF3pysNTv1ZAjN3bjHilbl+znanBvGa FwONsjmNsq8gL+qdWS5UxUZlnGyMZVUJnwm+KhycU5Tve6wDm4HfHQPGy857/pBJaQbmT0MPvM+ SZEx0AKsZRRS72aCL2MGBqrsJuWDgqc3uyjhs1aOTUWLnXfwU44KwPe5R0/0CTH83mEMniHLnmS 7/JQrOU513MEQ7b/FAhs2n8QI0aJb0j7Yvy/Mntp6TKZxvykfyHNvT4+6vpzOVMnBx8= X-Received: by 2002:a5d:5f42:0:b0:3a4:da29:d14e with SMTP id ffacd0b85a97d-3a4da29d2e1mr8581626f8f.28.1748420088802; Wed, 28 May 2025 01:14:48 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:47 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: qemu-s390x@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 26/28] target/s390x: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:08 +0100 Message-ID: <20250528081410.157251-27-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::435; envelope-from=richard.henderson@linaro.org; helo=mail-wr1-x435.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 the existing wrap_address function. Cc: qemu-s390x@nongnu.org Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/s390x/cpu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/s390x/cpu.c b/target/s390x/cpu.c index 9c1158ebcc..f05ce317da 100644 --- a/target/s390x/cpu.c +++ b/target/s390x/cpu.c @@ -347,6 +347,14 @@ static TCGTBCPUState s390x_get_tb_cpu_state(CPUState *cs) }; } +#ifndef CONFIG_USER_ONLY +static vaddr s390_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ + return wrap_address(cpu_env(cs), result); +} +#endif + static const TCGCPUOps s390_tcg_ops = { .mttcg_supported = true, .precise_smc = true, @@ -367,6 +375,7 @@ static const TCGCPUOps s390_tcg_ops = { .record_sigbus = s390_cpu_record_sigbus, #else .tlb_fill = s390_cpu_tlb_fill, + .pointer_wrap = s390_pointer_wrap, .cpu_exec_interrupt = s390_cpu_exec_interrupt, .cpu_exec_halt = s390_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892937 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080149wrz; Wed, 28 May 2025 01:17:57 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWmSxQ974wRhIPYzanJoG/XDYx+mGZ/WsFyRSz1MEo4dYVMDEFULYRyxzhTtw7x6SJoOT0GYA==@linaro.org X-Google-Smtp-Source: AGHT+IHjqGU9gBPYandzA6qhR0Cc/YSo1NJGDdrRMjpw4p/qe9nL4K8LFmsmeBidkVMmP7PJHXQq X-Received: by 2002:a05:620a:26a7:b0:7c7:a5e1:f204 with SMTP id af79cd13be357-7cfd19dc079mr195710885a.56.1748420277740; Wed, 28 May 2025 01:17:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420277; cv=none; d=google.com; s=arc-20240605; b=FMaPjHggajG9D+e7rTZ4zQICXNt7HFdQGieQSW+9HgtkzE99IBqlNl0KNfMZmIAiL2 M64PluRN3h26TuDJqqCE/UsUr4BpcgMw/cSTS/eFCorP+DPxh7li1AXsvTbDLJMIgC61 cAXQ8/++vcLyxvf8JgSIqsUr+wATHxpb6VIQuNLvYiEFQco6u2wnehlZjSfg9Tl+uMbc UrVR/Af2STImQgWXef7lslw6gmKrQGZsEo9TVOgfv7QRRsZSZN+HmY3zcFuwlmo/PLuP zVjiGPGFCG1V5e8GsKjE1s3Y2PHSnxeP1cVlJZlMS05i4TWW1p75ed1bBGzEl3uNx2kt uQwQ== 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=1vReLdCvt8zTuHDLo/oBCevvrI7mZDgVXnPW/80F7G4=; fh=J4M4Z4TZxvAT8lkmK1LtxqMjpO7Qiod4IMBL2bk0hxA=; b=lc0WMKWtt449X+/nxt2pKaD/OcMES1iBPFU9HMc7n9Ea9cF5Ds0HWV+EBWF+otS50r VudhQqaZF0uH6NZkcpB+IXV5L5OcFrkarIstiaKUB6pmhdEso7aibx01wVF0YK99yEMx tJF4YH22DbwbvaIEnkMvmSJ0SA/dIq6KTfn9CYgA6vD7mzPk7cPtf0SijoQnRPr4uI1O rT8ZyHgrLtlat0/dNM1N3I3VZg9+8lt0rECk+LqnDSk6ZqhDjumGWCHreBzNlQc/+ZZK z6BgThDkn9czdCFeWnL2UQ17FZgbA832Bc9ibSeWoo/tCheaetByT6Edy/rrrHlwA7T/ gflw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=p5khNGIP; 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 af79cd13be357-7cfb81f65a9si87828985a.68.2025.05.28.01.17.57 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:17:57 -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=p5khNGIP; 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 1uKByC-0002Jh-KZ; Wed, 28 May 2025 04:17: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 1uKBwR-0008QZ-VV for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:22 -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 1uKBwF-0005KL-Ry for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:14 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-442ed8a275fso55596075e9.2 for ; Wed, 28 May 2025 01:14:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420090; x=1749024890; 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=1vReLdCvt8zTuHDLo/oBCevvrI7mZDgVXnPW/80F7G4=; b=p5khNGIPmDgeGOS43zkzwccBEJEaDZMDSs9HDG7/yYq1Q4+AL0g0o5zh1aKQXsqhRR QlRazSPVsb9Y3E8tN32oJ3kOluG5jumqsqm3NCCIXCxK/dL4T7HQ/B62S1Phz/hdpGsT OHMo5DPfyYFCEcbMFnegYRsFleED+TVgTGc4UKlcgS7M0C2D6PyLcduSar9FRLJdQlsu fyCyHKeUSkcpDeSt9AL18yNsgpFLkQrm/SACvu3GX/+21h4Wc6rdhL+jU1lHhC/0tIDw R0PgPj0TEiwEZP1sPXvNbQMT+H/JfP3bypbqpZ5zsYjy6KCYh4CZyBgRpu1mEgCVYt+4 gTTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420090; x=1749024890; 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=1vReLdCvt8zTuHDLo/oBCevvrI7mZDgVXnPW/80F7G4=; b=Z4NhtenftdvUkIA/LWGuIKLFiBdviehz+u3Rxb9b94YhJcoxCpD5PlK9qnDwm8Ml7l tu8F/Sjqy2xVW3VPRGVa+g0QwwiE4DL71eFlPYA76jBGBS5vE70nxjehFBqEe9tE9z3k rmw9FKxhh22SZuetqMgn170vF9Xkb7Gwh9cSUA7GDq5nnfxtVj4ZrRPLZeXPjZcIvQmL ZZNGWime78+WThMg81ax31PgYbd6n8MYWN+iXMBwIza7Tkr3EUNY5DKC1c3AOyXijEIQ zQ3DJ06Pb+3od5zpFMNflbRpCl8ptdSKn8JbUPZmdXZTFvv/0xQESvLMjXZIDkdwysco dNoQ== X-Gm-Message-State: AOJu0YyngfFVvRxcTz4E1x4gMWhJqWiw2aIQEifPqG018Z29yeX1Uvca 1nItSkE/NeZZMk+hC3QU45Dnce/cymFQJknoRNhaWeeEZep2fj/+8qPUDo6k2DPILoO6v95gTrR k5nn0/nWJhQ== X-Gm-Gg: ASbGncuhhIakOasZjFGwBDcxsUOgLRMu5jvev44F2jYpEtFVbEWoehEKJU7+M+h+H73 woH6zR1yogSxgYxm8B78rz/D0foTMALKII5e0rLy1yQINCblWtM/m8So4SbQ5Vlm3v9WNDapWXj +pnSR3+YdmXpX3ZDU9kIWqWZS0V2SuRhNtnVKOB0ZTJaqUHVJHztC+lRfZ9vuUEwNU6b2z4j2mc bff9Y11l8nHDGvXOLZLqGe/bijc1Vc2IT+KOZRq/EBrK7kbHZCbzxwEr7YDOrT5bA8N8bZw5V09 /1IW32r13CCyKoxTtioOWpkrbEIDXTPWno3kiUc4QenZIE8i4PKcqTQi X-Received: by 2002:a05:600d:108:10b0:442:d9f2:c753 with SMTP id 5b1f17b1804b1-44d5bb93604mr72718145e9.26.1748420089906; Wed, 28 May 2025 01:14:49 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:49 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: Mark Cave-Ayland , =?utf-8?q?Philippe_Mat?= =?utf-8?q?hieu-Daud=C3=A9?= Subject: [PULL 27/28] target/sparc: Fill in TCGCPUOps.pointer_wrap Date: Wed, 28 May 2025 09:14:09 +0100 Message-ID: <20250528081410.157251-28-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-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: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 Check address masking state for sparc64. Cc: Mark Cave-Ayland Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- target/sparc/cpu.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c index 2a3e408923..ed7701b02f 100644 --- a/target/sparc/cpu.c +++ b/target/sparc/cpu.c @@ -1002,6 +1002,18 @@ static const struct SysemuCPUOps sparc_sysemu_ops = { #ifdef CONFIG_TCG #include "accel/tcg/cpu-ops.h" +#ifndef CONFIG_USER_ONLY +static vaddr sparc_pointer_wrap(CPUState *cs, int mmu_idx, + vaddr result, vaddr base) +{ +#ifdef TARGET_SPARC64 + return cpu_env(cs)->pstate & PS_AM ? (uint32_t)result : result; +#else + return (uint32_t)result; +#endif +} +#endif + static const TCGCPUOps sparc_tcg_ops = { /* * From Oracle SPARC Architecture 2015: @@ -1036,6 +1048,7 @@ static const TCGCPUOps sparc_tcg_ops = { #ifndef CONFIG_USER_ONLY .tlb_fill = sparc_cpu_tlb_fill, + .pointer_wrap = sparc_pointer_wrap, .cpu_exec_interrupt = sparc_cpu_exec_interrupt, .cpu_exec_halt = sparc_cpu_has_work, .cpu_exec_reset = cpu_reset, From patchwork Wed May 28 08:14:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 892940 Delivered-To: patch@linaro.org Received: by 2002:a5d:6e53:0:b0:3a3:61c9:c5d4 with SMTP id j19csp2080709wrz; Wed, 28 May 2025 01:19:49 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUJ2LODOVxJhRoaf5k42uzflc9QhqKP+CGZx6e994YtTqxBgw5eBRXTXaFmOir0nAnINP5JpA==@linaro.org X-Google-Smtp-Source: AGHT+IG1q3DxjOrOYkxwAzHzy3t8Q+6gF+PyXOk19LZbeAQ6jcIJKcghoJHlPlg6JtUw6UFATuBE X-Received: by 2002:ad4:5bc2:0:b0:6f2:a537:f47e with SMTP id 6a1803df08f44-6fa9d2ae296mr273769796d6.42.1748420389271; Wed, 28 May 2025 01:19:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1748420389; cv=none; d=google.com; s=arc-20240605; b=j8T0+qFeshWEllVYHEWQzWLWXwYyB7VAD6DO7Ugd4J+/WPpBAZqgCV4OdSy6b4QWdG CEMCOyKRZBZ/ad3hLnSUbcKWTj6pigk+lgOevdS72q+8By8ZzsYhNbK7YyqfvUNnmL1z xPIYCKFuIYRkFK5MWTHxZbvbtGEls71ZtMaTveHPa+uDg66LlYP7sXzc0n1wmUAop+9M kf7dkyrILyC+QsJJCuCpu/uAi+iEAQPSP8mzXU/ZTYMwFniPSrT2KGEk9EHEwcMYINqr wO70JirI7AVnFJcVzgyr9qlfUgCGg3l3e4bRXEBd65hDjKnloyyI5tOnmqbiicFmWNuY ngvw== 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=FicFVtTidumCbshSOZECWTGWhp6SCdWIg1qF5oag2Hw=; fh=kQadAhxV42GJ3cd2VUw1RyURv/zJQGvmUdF7iLEVTtc=; b=h8LuUOGovnmhVWMKVsbMO5awio2ytiBuVw35SIHS/8cR5Lt+GjjptF3UDwJ32rkDIh WvFUEkdfwB3RFJ9nLMUNKpXfdxZZhBxuq8+J0UpQCUwKpFBqMJaNI5zFFwBauAVoxE8W 0kOpHPNr656xOiNPqj01m2AHxtegFdxYqWG+Meh3k9gRw5is018cnsl4hQNqI61qfWoU JIwh6ZT6xd+9GmAZJi8iBYfDGE6WqZwOdkBIxjZG1el8jUMxVEc7h4fKmcVujU0JAFGn 5RHUcLReFHGKdevv90ZyOjP7mCOUnwF19DMwL8i+twRKWC6RI6KHr/QB4A3owmUzk5mQ FStw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="ve/uq9FY"; 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 d75a77b69052e-4a3d0105401si7367661cf.622.2025.05.28.01.19.49 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 May 2025 01:19:49 -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="ve/uq9FY"; 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 1uKByB-0002Cg-PS; Wed, 28 May 2025 04:17: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 1uKBwO-0008NC-BZ for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:12 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uKBwE-0005KR-M8 for qemu-devel@nongnu.org; Wed, 28 May 2025 04:15:05 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43cfe63c592so54819115e9.2 for ; Wed, 28 May 2025 01:14:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1748420091; x=1749024891; 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=FicFVtTidumCbshSOZECWTGWhp6SCdWIg1qF5oag2Hw=; b=ve/uq9FYet/ZZT8+FO5I+5nVtWMonENdakJsbP0cOqchfnRnJz1cBeFUoRPZ7FhDaA 3lJaid4VJ/1X8SAm5QZN+2QWEvKfIbBffCb5kv70Nj8fsrw93Qav1yIZZYyItSO8vwpX oCiLGg4gplOOXJUUt5AEWslQMCW2eyo5ABbMspfP1Mi514HePNAB4ivUWWpXPlLWXCFA XomfUZ6AMHu/xFLAjLmGcujVJ3y9234N6wyREyo2g17i1GjY2sFi2ImjWwIHarXTMsFs 3mp1j2FPiq6LsxvpQWo4frpR7I/WQ5fUXgXZAUkCjW8Sd6qP56Or+D9xTPTS/qlD2zJU 4orw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1748420091; x=1749024891; 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=FicFVtTidumCbshSOZECWTGWhp6SCdWIg1qF5oag2Hw=; b=sal5yfjOJ0lm3bcbYAledj1m+r8ks7Lj/hdH2H3oV8Um2R+nEcHRqH+xs27MNjZMEM 8/u3jtunuWjFRFLXms5lUNdT3Vk3S/3fZybEV5y8xiiewZtM2SPKpXCtWKW9XZpAY41Q D+eJYZebYb8PAugfbzHtc+f/M9rrpXm69wHZ1+Dnhb0RTA/79J5/tUONwgnqozZY/9DA tIcftRwi/WXEzqPWkgE+6bC3oUqkBKkm3rgzVfcE/IghEv+R0GogInDLLMN1+ruufp4k Ld4iBAigwEnD1Gi+HWXy79CTpkRkGh62fprJLq4WmzA12oEh88/VZXd6JZhlvJEfTO1k IuUQ== X-Gm-Message-State: AOJu0YzAaZ5nff6Bky4Nkatjuy2zgATRjjeLjCuyEsBGXaqTnto26wgF qZtPBZ6b+J6kLHWhmRF3IZV3Kjp7qehKtDacTGkYPENiRhiYLG+DuGenlu+BigVRFP2XPsM/odI UFT9qXChe+g== X-Gm-Gg: ASbGnctjMwEeDtTM13H0mh33bF7p6Yv5C1JE3lbXZecKbrgOx/p5cmGaqx1+Tid/NFm YJMgl1n72Px+QBARMTP5VsWdqERndt75Dla5Ms6g7av+2BDeVk4TRDx20yB95WjGSRTbSAZJ9E2 lxDXXFacnNlOrDKGGjaWGSvysJvmMPSUqLEOHV22EOC1RWoJlyhrovYhSA+eJQRGzFGR4OgwO4q AnyCtHW90aOXZ7/396Rcyqh00D3t1qYVW1O2BpEzNatQIhu6JWiNt7pP0/Iiz2evpLQrh7PuVdG tzNAtCjYrW08AT3VP21UNHnMCX9kh49f1GnRJxVp1RNl4xmrvwivDARn X-Received: by 2002:a05:600c:a46:b0:442:f4a3:9338 with SMTP id 5b1f17b1804b1-44c92d351ebmr120968745e9.21.1748420090917; Wed, 28 May 2025 01:14:50 -0700 (PDT) Received: from stoup.. ([195.53.115.74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4500e1d85b5sm13178645e9.32.2025.05.28.01.14.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 May 2025 01:14:50 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 28/28] accel/tcg: Assert TCGCPUOps.pointer_wrap is set Date: Wed, 28 May 2025 09:14:10 +0100 Message-ID: <20250528081410.157251-29-richard.henderson@linaro.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250528081410.157251-1-richard.henderson@linaro.org> References: <20250528081410.157251-1-richard.henderson@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=richard.henderson@linaro.org; helo=mail-wm1-x331.google.com X-Spam_score_int: -1 X-Spam_score: -0.2 X-Spam_bar: / X-Spam_report: (-0.2 / 5.0 requ) DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 All targets now provide the function, so we can make the call unconditional. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson --- accel/tcg/cpu-exec.c | 1 + accel/tcg/cputlb.c | 7 ++----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c index cc5f362305..713bdb2056 100644 --- a/accel/tcg/cpu-exec.c +++ b/accel/tcg/cpu-exec.c @@ -1039,6 +1039,7 @@ bool tcg_exec_realizefn(CPUState *cpu, Error **errp) assert(tcg_ops->cpu_exec_halt); assert(tcg_ops->cpu_exec_interrupt); assert(tcg_ops->cpu_exec_reset); + assert(tcg_ops->pointer_wrap); #endif /* !CONFIG_USER_ONLY */ assert(tcg_ops->translate_code); assert(tcg_ops->get_tb_cpu_state); diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index a734859396..87e14bde4f 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1773,11 +1773,8 @@ static bool mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi, l->page[1].size = l->page[0].size - size0; l->page[0].size = size0; - if (cpu->cc->tcg_ops->pointer_wrap) { - l->page[1].addr = cpu->cc->tcg_ops->pointer_wrap(cpu, l->mmu_idx, - l->page[1].addr, - addr); - } + l->page[1].addr = cpu->cc->tcg_ops->pointer_wrap(cpu, l->mmu_idx, + l->page[1].addr, addr); /* * Lookup both pages, recognizing exceptions from either. If the